feat(avatar): dress up any Oo in the Atelier on web and mobile (#143)
The Atelier replaces Avatar Studio: pick a species, colour, eyes, glasses, hats, neckwear, arms and temperament, with every option drawn as your own Oo wearing it. Onboarding's "Design your Oo" now offers species looks per vibe and opens the Atelier for the rest; mobile bot settings carry the same editor instead of a bare colour row, so picking a colour there no longer throws away the rest of the look. Claude-Session: https://claude.ai/code/session_01EKuME5CgL1ddGGN7LGvtBj Co-authored-by: Claude <noreply@anthropic.com> Co-authored-by: Cursor Agent <cursoragent@cursor.com> Co-authored-by: cynarAI <cynarAI@users.noreply.github.com>
This commit is contained in:
parent
6fd136e944
commit
63578bb645
@ -12,6 +12,7 @@ import { useEffect, useMemo, useState } from "react";
|
|||||||
import { Pressable, ScrollView, Text, TextInput, View } from "react-native";
|
import { Pressable, ScrollView, Text, TextInput, View } from "react-native";
|
||||||
import { BotAvatar } from "../components/bot-avatar";
|
import { BotAvatar } from "../components/bot-avatar";
|
||||||
import { ComputerModePicker } from "../components/computer-mode-picker";
|
import { ComputerModePicker } from "../components/computer-mode-picker";
|
||||||
|
import { OoAtelier } from "../components/oo-atelier";
|
||||||
import {
|
import {
|
||||||
type MobileBot,
|
type MobileBot,
|
||||||
type MobileMe,
|
type MobileMe,
|
||||||
@ -348,33 +349,9 @@ export default function BotSettingsScreen() {
|
|||||||
textAlignVertical: "top",
|
textAlignVertical: "top",
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
<Text style={{ color: tokens.mutedForeground, marginTop: 16, fontSize: 14 }}>
|
<View style={{ marginTop: 4 }}>
|
||||||
{t("Color")}
|
<OoAtelier value={color} identity={bot?.id ?? ""} onChange={setColor} />
|
||||||
</Text>
|
</View>
|
||||||
<ScrollView
|
|
||||||
horizontal
|
|
||||||
showsHorizontalScrollIndicator={false}
|
|
||||||
contentContainerStyle={{ gap: 10, marginTop: 8 }}
|
|
||||||
accessibilityRole="radiogroup"
|
|
||||||
>
|
|
||||||
{BOT_COLORS.map((option, index) => (
|
|
||||||
<Pressable
|
|
||||||
key={option}
|
|
||||||
accessibilityRole="radio"
|
|
||||||
accessibilityLabel={t("Color {number}", { number: index + 1 })}
|
|
||||||
accessibilityState={{ checked: color === option }}
|
|
||||||
onPress={() => setColor(option)}
|
|
||||||
style={{
|
|
||||||
width: 36,
|
|
||||||
height: 36,
|
|
||||||
borderRadius: 18,
|
|
||||||
backgroundColor: option,
|
|
||||||
borderWidth: 3,
|
|
||||||
borderColor: color === option ? tokens.foreground : "transparent",
|
|
||||||
}}
|
|
||||||
/>
|
|
||||||
))}
|
|
||||||
</ScrollView>
|
|
||||||
<ComputerModePicker value={computerMode} onChange={setComputerMode} />
|
<ComputerModePicker value={computerMode} onChange={setComputerMode} />
|
||||||
<Pressable
|
<Pressable
|
||||||
accessibilityRole="button"
|
accessibilityRole="button"
|
||||||
|
|||||||
410
apps/mobile/components/oo-atelier.tsx
Normal file
410
apps/mobile/components/oo-atelier.tsx
Normal file
@ -0,0 +1,410 @@
|
|||||||
|
import type { OoAvatar } from "@rakazo/core";
|
||||||
|
import {
|
||||||
|
encodeOoAvatar,
|
||||||
|
OO_ARMS,
|
||||||
|
OO_BROWS,
|
||||||
|
OO_CHEEKS,
|
||||||
|
OO_CLASSIC_SHAPE_COUNT,
|
||||||
|
OO_EYESHADOWS,
|
||||||
|
OO_EYEWEAR,
|
||||||
|
OO_HEADWEAR,
|
||||||
|
OO_IRISES,
|
||||||
|
OO_LASHES,
|
||||||
|
OO_LINERS,
|
||||||
|
OO_NECKWEAR,
|
||||||
|
OO_PALETTE_HEXES,
|
||||||
|
OO_SPARKLES,
|
||||||
|
OO_SPECIES,
|
||||||
|
ooLookForEditing,
|
||||||
|
ooRandomAvatar,
|
||||||
|
} from "@rakazo/core";
|
||||||
|
import { useState } from "react";
|
||||||
|
import { Pressable, ScrollView, Text, View } from "react-native";
|
||||||
|
import { useI18n } from "../lib/i18n";
|
||||||
|
import { useMobileTokens } from "../lib/native";
|
||||||
|
import { OoFigure } from "./oo-figure";
|
||||||
|
|
||||||
|
const THUMB = 52;
|
||||||
|
|
||||||
|
/** Temperament in three taps; web offers the same range as sliders. */
|
||||||
|
const ENERGY_STEPS = [0.75, 1, 1.35] as const;
|
||||||
|
const PLAYFUL_STEPS = [0.2, 0.5, 0.85] as const;
|
||||||
|
|
||||||
|
function nearest(steps: readonly number[], value: number): number {
|
||||||
|
return steps.reduce((best, step) =>
|
||||||
|
Math.abs(step - value) < Math.abs(best - value) ? step : best,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
function useLabels() {
|
||||||
|
const { t } = useI18n();
|
||||||
|
const none = t("None");
|
||||||
|
return {
|
||||||
|
species: {
|
||||||
|
classic: t("Classic"),
|
||||||
|
cat: t("Cat"),
|
||||||
|
dog: t("Dog"),
|
||||||
|
bunny: t("Bunny"),
|
||||||
|
bear: t("Bear"),
|
||||||
|
robot: t("Robot"),
|
||||||
|
ghost: t("Ghost"),
|
||||||
|
frog: t("Frog"),
|
||||||
|
penguin: t("Penguin"),
|
||||||
|
},
|
||||||
|
lashes: { none, soft: t("Soft"), full: t("Full"), flick: t("Flick") },
|
||||||
|
liner: { none, wing: t("Winged") },
|
||||||
|
eyeshadow: { none, rose: t("Rose"), lilac: t("Lilac"), gold: t("Gold"), mint: t("Mint") },
|
||||||
|
iris: {
|
||||||
|
classic: t("Classic"),
|
||||||
|
brown: t("Brown"),
|
||||||
|
blue: t("Blue"),
|
||||||
|
green: t("Green"),
|
||||||
|
violet: t("Violet"),
|
||||||
|
},
|
||||||
|
sparkle: { dot: t("Dot"), star: t("Star"), heart: t("Heart") },
|
||||||
|
brows: { auto: t("When needed"), fine: t("Fine"), bushy: t("Bushy") },
|
||||||
|
cheeks: { none, pink: t("Pink"), peach: t("Peach"), freckles: t("Freckles") },
|
||||||
|
eyewear: {
|
||||||
|
none,
|
||||||
|
round: t("Round"),
|
||||||
|
nerd: t("Nerd"),
|
||||||
|
sun: t("Sunglasses"),
|
||||||
|
heart: t("Heart"),
|
||||||
|
monocle: t("Monocle"),
|
||||||
|
reading: t("Reading glasses"),
|
||||||
|
},
|
||||||
|
head: {
|
||||||
|
none,
|
||||||
|
chef: t("Chef's hat"),
|
||||||
|
crown: t("Crown"),
|
||||||
|
headphones: t("Headphones"),
|
||||||
|
bow: t("Bow"),
|
||||||
|
beanie: t("Beanie"),
|
||||||
|
flower: t("Flower"),
|
||||||
|
party: t("Party hat"),
|
||||||
|
},
|
||||||
|
neck: { none, bowtie: t("Bow tie"), scarf: t("Scarf"), bell: t("Bell") },
|
||||||
|
arms: { glass: t("Glass"), stub: t("Stub"), paw: t("Paw"), robot: t("Robot"), none },
|
||||||
|
energy: [t("Calm"), t("Steady"), t("Lively")],
|
||||||
|
} as const;
|
||||||
|
}
|
||||||
|
|
||||||
|
function Row<T extends string | number>({
|
||||||
|
title,
|
||||||
|
values,
|
||||||
|
selected,
|
||||||
|
label,
|
||||||
|
look,
|
||||||
|
patch,
|
||||||
|
focus = "body",
|
||||||
|
onSelect,
|
||||||
|
}: {
|
||||||
|
title: string;
|
||||||
|
values: readonly T[];
|
||||||
|
selected: T;
|
||||||
|
label: (value: T) => string;
|
||||||
|
look: OoAvatar;
|
||||||
|
patch: (value: T) => Partial<OoAvatar>;
|
||||||
|
focus?: "body" | "face";
|
||||||
|
onSelect: (value: T) => void;
|
||||||
|
}) {
|
||||||
|
const tokens = useMobileTokens();
|
||||||
|
return (
|
||||||
|
<View style={{ marginTop: 14 }}>
|
||||||
|
<Text style={{ color: tokens.mutedForeground, fontSize: 13 }}>{title}</Text>
|
||||||
|
<ScrollView
|
||||||
|
horizontal
|
||||||
|
showsHorizontalScrollIndicator={false}
|
||||||
|
contentContainerStyle={{ gap: 8, marginTop: 6 }}
|
||||||
|
accessibilityRole="radiogroup"
|
||||||
|
accessibilityLabel={title}
|
||||||
|
>
|
||||||
|
{values.map((value) => {
|
||||||
|
const next = { ...look, ...patch(value) };
|
||||||
|
const active = value === selected;
|
||||||
|
return (
|
||||||
|
<Pressable
|
||||||
|
key={value}
|
||||||
|
accessibilityRole="radio"
|
||||||
|
accessibilityLabel={label(value)}
|
||||||
|
accessibilityState={{ checked: active }}
|
||||||
|
onPress={() => onSelect(value)}
|
||||||
|
style={{
|
||||||
|
width: THUMB + 8,
|
||||||
|
height: THUMB + 8,
|
||||||
|
borderRadius: 14,
|
||||||
|
alignItems: "center",
|
||||||
|
justifyContent: "center",
|
||||||
|
overflow: "hidden",
|
||||||
|
backgroundColor: tokens.muted,
|
||||||
|
borderWidth: 2,
|
||||||
|
borderColor: active ? tokens.foreground : "transparent",
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
<OoFigure
|
||||||
|
avatar={next}
|
||||||
|
color={next.color}
|
||||||
|
fallbackShape={next.shape ?? 0}
|
||||||
|
moment="idle"
|
||||||
|
size={THUMB}
|
||||||
|
focus={focus}
|
||||||
|
still
|
||||||
|
/>
|
||||||
|
</Pressable>
|
||||||
|
);
|
||||||
|
})}
|
||||||
|
</ScrollView>
|
||||||
|
</View>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
/** The Oo look editor: species and colour first, everything else one tap further. */
|
||||||
|
export function OoAtelier({
|
||||||
|
value,
|
||||||
|
identity,
|
||||||
|
onChange,
|
||||||
|
}: {
|
||||||
|
value: string;
|
||||||
|
identity: string;
|
||||||
|
onChange: (value: string) => void;
|
||||||
|
}) {
|
||||||
|
const { t } = useI18n();
|
||||||
|
const tokens = useMobileTokens();
|
||||||
|
const labels = useLabels();
|
||||||
|
const [moreOpen, setMoreOpen] = useState(false);
|
||||||
|
const look = ooLookForEditing(value, identity);
|
||||||
|
const set = <K extends keyof OoAvatar>(field: K, next: OoAvatar[K]) =>
|
||||||
|
onChange(encodeOoAvatar({ ...look, [field]: next }));
|
||||||
|
const chip = (active: boolean) => ({
|
||||||
|
minHeight: 36,
|
||||||
|
paddingHorizontal: 14,
|
||||||
|
borderRadius: 18,
|
||||||
|
justifyContent: "center" as const,
|
||||||
|
backgroundColor: active ? tokens.foreground : tokens.muted,
|
||||||
|
});
|
||||||
|
const chipText = (active: boolean) => ({
|
||||||
|
color: active ? tokens.background : tokens.foreground,
|
||||||
|
fontSize: 14,
|
||||||
|
});
|
||||||
|
|
||||||
|
return (
|
||||||
|
<View>
|
||||||
|
<Row
|
||||||
|
title={t("Species")}
|
||||||
|
values={OO_SPECIES}
|
||||||
|
selected={look.species}
|
||||||
|
label={(species) => labels.species[species]}
|
||||||
|
look={look}
|
||||||
|
patch={(species) => ({ species, arms: species === "robot" ? "robot" : look.arms })}
|
||||||
|
onSelect={(species) =>
|
||||||
|
onChange(
|
||||||
|
encodeOoAvatar({
|
||||||
|
...look,
|
||||||
|
species,
|
||||||
|
arms: species === "robot" ? "robot" : look.arms === "robot" ? "glass" : look.arms,
|
||||||
|
}),
|
||||||
|
)
|
||||||
|
}
|
||||||
|
/>
|
||||||
|
{look.species === "classic" ? (
|
||||||
|
<Row
|
||||||
|
title={t("Shape")}
|
||||||
|
values={Array.from({ length: OO_CLASSIC_SHAPE_COUNT }, (_, index) => index)}
|
||||||
|
selected={look.shape ?? -1}
|
||||||
|
label={(shape) => t("Shape {number}", { number: shape + 1 })}
|
||||||
|
look={look}
|
||||||
|
patch={(shape) => ({ shape })}
|
||||||
|
onSelect={(shape) => set("shape", shape)}
|
||||||
|
/>
|
||||||
|
) : null}
|
||||||
|
<Text style={{ color: tokens.mutedForeground, marginTop: 14, fontSize: 13 }}>
|
||||||
|
{t("Color")}
|
||||||
|
</Text>
|
||||||
|
<ScrollView
|
||||||
|
horizontal
|
||||||
|
showsHorizontalScrollIndicator={false}
|
||||||
|
contentContainerStyle={{ gap: 10, marginTop: 6 }}
|
||||||
|
accessibilityRole="radiogroup"
|
||||||
|
>
|
||||||
|
{OO_PALETTE_HEXES.map((option, index) => {
|
||||||
|
const checked = look.color.toLowerCase() === option.toLowerCase();
|
||||||
|
return (
|
||||||
|
<Pressable
|
||||||
|
key={option}
|
||||||
|
accessibilityRole="radio"
|
||||||
|
accessibilityLabel={t("Color {number}", { number: index + 1 })}
|
||||||
|
accessibilityState={{ checked }}
|
||||||
|
onPress={() => set("color", option)}
|
||||||
|
style={{
|
||||||
|
width: 36,
|
||||||
|
height: 36,
|
||||||
|
borderRadius: 18,
|
||||||
|
backgroundColor: option,
|
||||||
|
borderWidth: 3,
|
||||||
|
borderColor: checked ? tokens.foreground : tokens.border,
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
);
|
||||||
|
})}
|
||||||
|
</ScrollView>
|
||||||
|
<View style={{ flexDirection: "row", gap: 8, marginTop: 14 }}>
|
||||||
|
<Pressable
|
||||||
|
accessibilityRole="button"
|
||||||
|
accessibilityState={{ expanded: moreOpen }}
|
||||||
|
onPress={() => setMoreOpen((open) => !open)}
|
||||||
|
style={chip(moreOpen)}
|
||||||
|
>
|
||||||
|
<Text style={chipText(moreOpen)}>{t("Customize")}</Text>
|
||||||
|
</Pressable>
|
||||||
|
<Pressable
|
||||||
|
accessibilityRole="button"
|
||||||
|
onPress={() => onChange(encodeOoAvatar(ooRandomAvatar()))}
|
||||||
|
style={chip(false)}
|
||||||
|
>
|
||||||
|
<Text style={chipText(false)}>{t("Surprise me")}</Text>
|
||||||
|
</Pressable>
|
||||||
|
</View>
|
||||||
|
{moreOpen ? (
|
||||||
|
<View>
|
||||||
|
<Row
|
||||||
|
title={t("Lashes")}
|
||||||
|
values={OO_LASHES}
|
||||||
|
selected={look.lashes}
|
||||||
|
label={(lashes) => labels.lashes[lashes]}
|
||||||
|
look={look}
|
||||||
|
patch={(lashes) => ({ lashes })}
|
||||||
|
focus="face"
|
||||||
|
onSelect={(lashes) => set("lashes", lashes)}
|
||||||
|
/>
|
||||||
|
<Row
|
||||||
|
title={t("Eyeliner")}
|
||||||
|
values={OO_LINERS}
|
||||||
|
selected={look.liner}
|
||||||
|
label={(liner) => labels.liner[liner]}
|
||||||
|
look={look}
|
||||||
|
patch={(liner) => ({ liner })}
|
||||||
|
focus="face"
|
||||||
|
onSelect={(liner) => set("liner", liner)}
|
||||||
|
/>
|
||||||
|
<Row
|
||||||
|
title={t("Eyeshadow")}
|
||||||
|
values={OO_EYESHADOWS}
|
||||||
|
selected={look.eyeshadow}
|
||||||
|
label={(eyeshadow) => labels.eyeshadow[eyeshadow]}
|
||||||
|
look={look}
|
||||||
|
patch={(eyeshadow) => ({ eyeshadow })}
|
||||||
|
focus="face"
|
||||||
|
onSelect={(eyeshadow) => set("eyeshadow", eyeshadow)}
|
||||||
|
/>
|
||||||
|
<Row
|
||||||
|
title={t("Iris")}
|
||||||
|
values={OO_IRISES}
|
||||||
|
selected={look.iris}
|
||||||
|
label={(iris) => labels.iris[iris]}
|
||||||
|
look={look}
|
||||||
|
patch={(iris) => ({ iris })}
|
||||||
|
focus="face"
|
||||||
|
onSelect={(iris) => set("iris", iris)}
|
||||||
|
/>
|
||||||
|
<Row
|
||||||
|
title={t("Sparkle")}
|
||||||
|
values={OO_SPARKLES}
|
||||||
|
selected={look.sparkle}
|
||||||
|
label={(sparkle) => labels.sparkle[sparkle]}
|
||||||
|
look={look}
|
||||||
|
patch={(sparkle) => ({ sparkle })}
|
||||||
|
focus="face"
|
||||||
|
onSelect={(sparkle) => set("sparkle", sparkle)}
|
||||||
|
/>
|
||||||
|
<Row
|
||||||
|
title={t("Brows")}
|
||||||
|
values={OO_BROWS}
|
||||||
|
selected={look.brows}
|
||||||
|
label={(brows) => labels.brows[brows]}
|
||||||
|
look={look}
|
||||||
|
patch={(brows) => ({ brows })}
|
||||||
|
focus="face"
|
||||||
|
onSelect={(brows) => set("brows", brows)}
|
||||||
|
/>
|
||||||
|
<Row
|
||||||
|
title={t("Cheeks")}
|
||||||
|
values={OO_CHEEKS}
|
||||||
|
selected={look.cheeks}
|
||||||
|
label={(cheeks) => labels.cheeks[cheeks]}
|
||||||
|
look={look}
|
||||||
|
patch={(cheeks) => ({ cheeks })}
|
||||||
|
focus="face"
|
||||||
|
onSelect={(cheeks) => set("cheeks", cheeks)}
|
||||||
|
/>
|
||||||
|
<Row
|
||||||
|
title={t("Glasses")}
|
||||||
|
values={OO_EYEWEAR}
|
||||||
|
selected={look.eyewear}
|
||||||
|
label={(eyewear) => labels.eyewear[eyewear]}
|
||||||
|
look={look}
|
||||||
|
patch={(eyewear) => ({ eyewear })}
|
||||||
|
focus="face"
|
||||||
|
onSelect={(eyewear) => set("eyewear", eyewear)}
|
||||||
|
/>
|
||||||
|
<Row
|
||||||
|
title={t("Hat")}
|
||||||
|
values={OO_HEADWEAR}
|
||||||
|
selected={look.head}
|
||||||
|
label={(head) => labels.head[head]}
|
||||||
|
look={look}
|
||||||
|
patch={(head) => ({ head })}
|
||||||
|
onSelect={(head) => set("head", head)}
|
||||||
|
/>
|
||||||
|
<Row
|
||||||
|
title={t("Neck")}
|
||||||
|
values={OO_NECKWEAR}
|
||||||
|
selected={look.neck}
|
||||||
|
label={(neck) => labels.neck[neck]}
|
||||||
|
look={look}
|
||||||
|
patch={(neck) => ({ neck })}
|
||||||
|
onSelect={(neck) => set("neck", neck)}
|
||||||
|
/>
|
||||||
|
<Row
|
||||||
|
title={t("Arms")}
|
||||||
|
values={OO_ARMS}
|
||||||
|
selected={look.arms}
|
||||||
|
label={(arms) => labels.arms[arms]}
|
||||||
|
look={look}
|
||||||
|
patch={(arms) => ({ arms })}
|
||||||
|
onSelect={(arms) => set("arms", arms)}
|
||||||
|
/>
|
||||||
|
{(
|
||||||
|
[
|
||||||
|
["energy", t("Energy"), ENERGY_STEPS],
|
||||||
|
["playful", t("Playful"), PLAYFUL_STEPS],
|
||||||
|
] as const
|
||||||
|
).map(([field, title, steps]) => {
|
||||||
|
const current = nearest(steps, look[field]);
|
||||||
|
return (
|
||||||
|
<View key={field} style={{ marginTop: 14 }}>
|
||||||
|
<Text style={{ color: tokens.mutedForeground, fontSize: 13 }}>{title}</Text>
|
||||||
|
<View
|
||||||
|
accessibilityRole="radiogroup"
|
||||||
|
accessibilityLabel={title}
|
||||||
|
style={{ flexDirection: "row", gap: 8, marginTop: 6 }}
|
||||||
|
>
|
||||||
|
{steps.map((step, index) => (
|
||||||
|
<Pressable
|
||||||
|
key={step}
|
||||||
|
accessibilityRole="radio"
|
||||||
|
accessibilityState={{ checked: step === current }}
|
||||||
|
onPress={() => set(field, step)}
|
||||||
|
style={chip(step === current)}
|
||||||
|
>
|
||||||
|
<Text style={chipText(step === current)}>{labels.energy[index]}</Text>
|
||||||
|
</Pressable>
|
||||||
|
))}
|
||||||
|
</View>
|
||||||
|
</View>
|
||||||
|
);
|
||||||
|
})}
|
||||||
|
</View>
|
||||||
|
) : null}
|
||||||
|
</View>
|
||||||
|
);
|
||||||
|
}
|
||||||
@ -26,6 +26,7 @@ import Svg, {
|
|||||||
} from "react-native-svg";
|
} from "react-native-svg";
|
||||||
|
|
||||||
const VIEWBOX = `${OO_RIG_INSET} ${OO_RIG_INSET + 4} ${OO_RIG_SIZE - 2 * OO_RIG_INSET} ${OO_RIG_SIZE - 2 * OO_RIG_INSET}`;
|
const VIEWBOX = `${OO_RIG_INSET} ${OO_RIG_INSET + 4} ${OO_RIG_SIZE - 2 * OO_RIG_INSET} ${OO_RIG_SIZE - 2 * OO_RIG_INSET}`;
|
||||||
|
const FACE_VIEWBOX = "47 62 112 112";
|
||||||
/** Native frames redraw the SVG tree, so they run at half the display rate. */
|
/** Native frames redraw the SVG tree, so they run at half the display rate. */
|
||||||
const FRAME_SECONDS = 1 / 30;
|
const FRAME_SECONDS = 1 / 30;
|
||||||
/** Above this size an Oo always moves; smaller ones only for list moments. */
|
/** Above this size an Oo always moves; smaller ones only for list moments. */
|
||||||
@ -151,6 +152,7 @@ export function OoFigure({
|
|||||||
moment,
|
moment,
|
||||||
size,
|
size,
|
||||||
still = false,
|
still = false,
|
||||||
|
focus = "body",
|
||||||
}: {
|
}: {
|
||||||
avatar: OoAvatar;
|
avatar: OoAvatar;
|
||||||
color: string;
|
color: string;
|
||||||
@ -158,6 +160,8 @@ export function OoFigure({
|
|||||||
moment: OoMoment;
|
moment: OoMoment;
|
||||||
size: number;
|
size: number;
|
||||||
still?: boolean;
|
still?: boolean;
|
||||||
|
/** `face` crops to the eyes, for pickers of eye styles and eyewear. */
|
||||||
|
focus?: "body" | "face";
|
||||||
}) {
|
}) {
|
||||||
const gradient = `oo${useId().replace(/[^a-zA-Z0-9-_]/g, "")}`;
|
const gradient = `oo${useId().replace(/[^a-zA-Z0-9-_]/g, "")}`;
|
||||||
const lod = ooLodForSize(size);
|
const lod = ooLodForSize(size);
|
||||||
@ -200,7 +204,7 @@ export function OoFigure({
|
|||||||
const shown = frame ?? stillFrame;
|
const shown = frame ?? stillFrame;
|
||||||
const { colors } = rig;
|
const { colors } = rig;
|
||||||
return (
|
return (
|
||||||
<Svg width={size} height={size} viewBox={VIEWBOX}>
|
<Svg width={size} height={size} viewBox={focus === "face" ? FACE_VIEWBOX : VIEWBOX}>
|
||||||
<Defs>
|
<Defs>
|
||||||
<LinearGradient id={`${gradient}-body`} x1="0" y1="0" x2="1" y2="1">
|
<LinearGradient id={`${gradient}-body`} x1="0" y1="0" x2="1" y2="1">
|
||||||
<Stop offset="0" stopColor={colors.light} />
|
<Stop offset="0" stopColor={colors.light} />
|
||||||
|
|||||||
@ -616,6 +616,76 @@ export const RU_MESSAGES: Record<string, string> = {
|
|||||||
"Start timer": "Запустить таймер",
|
"Start timer": "Запустить таймер",
|
||||||
"Step {position} of {total}": "Шаг {position} из {total}",
|
"Step {position} of {total}": "Шаг {position} из {total}",
|
||||||
"Stop timer": "Остановить таймер",
|
"Stop timer": "Остановить таймер",
|
||||||
|
Arms: "Руки",
|
||||||
|
Beanie: "Шапка",
|
||||||
|
Bear: "Медведь",
|
||||||
|
Bell: "Колокольчик",
|
||||||
|
Blue: "Синий",
|
||||||
|
Bow: "Бантик",
|
||||||
|
"Bow tie": "Бабочка",
|
||||||
|
Brown: "Карий",
|
||||||
|
Brows: "Брови",
|
||||||
|
Bunny: "Зайчик",
|
||||||
|
Bushy: "Густые",
|
||||||
|
Calm: "Спокойный",
|
||||||
|
Cat: "Кошка",
|
||||||
|
Cheeks: "Щёки",
|
||||||
|
"Chef's hat": "Колпак повара",
|
||||||
|
Classic: "Классика",
|
||||||
|
Crown: "Корона",
|
||||||
|
Customize: "Настроить",
|
||||||
|
Dog: "Собака",
|
||||||
|
Dot: "Точка",
|
||||||
|
Energy: "Энергия",
|
||||||
|
Eyeliner: "Подводка",
|
||||||
|
Eyeshadow: "Тени",
|
||||||
|
Fine: "Тонкие",
|
||||||
|
Flick: "Взмах",
|
||||||
|
Flower: "Цветок",
|
||||||
|
Freckles: "Веснушки",
|
||||||
|
Frog: "Лягушка",
|
||||||
|
Full: "Пышные",
|
||||||
|
Ghost: "Призрак",
|
||||||
|
Glass: "Стекло",
|
||||||
|
Glasses: "Очки",
|
||||||
|
Gold: "Золото",
|
||||||
|
Green: "Зелёный",
|
||||||
|
Hat: "Голова",
|
||||||
|
Headphones: "Наушники",
|
||||||
|
Heart: "Сердце",
|
||||||
|
Iris: "Радужка",
|
||||||
|
Lashes: "Ресницы",
|
||||||
|
Lilac: "Сирень",
|
||||||
|
Lively: "Живой",
|
||||||
|
Mint: "Мята",
|
||||||
|
Monocle: "Монокль",
|
||||||
|
Neck: "Шея",
|
||||||
|
Nerd: "Ботаник",
|
||||||
|
None: "Нет",
|
||||||
|
"Party hat": "Колпак",
|
||||||
|
Paw: "Лапка",
|
||||||
|
Peach: "Персик",
|
||||||
|
Penguin: "Пингвин",
|
||||||
|
Pink: "Розовый",
|
||||||
|
Playful: "Игривость",
|
||||||
|
"Reading glasses": "Очки для чтения",
|
||||||
|
Robot: "Робот",
|
||||||
|
Rose: "Роза",
|
||||||
|
Round: "Круглые",
|
||||||
|
Scarf: "Шарф",
|
||||||
|
Shape: "Форма",
|
||||||
|
"Shape {number}": "Форма {number}",
|
||||||
|
Soft: "Мягкие",
|
||||||
|
Sparkle: "Блик",
|
||||||
|
Species: "Существо",
|
||||||
|
Star: "Звезда",
|
||||||
|
Steady: "Ровный",
|
||||||
|
Stub: "Коротышки",
|
||||||
|
Sunglasses: "Солнечные очки",
|
||||||
|
"Surprise me": "Удиви меня",
|
||||||
|
Violet: "Фиолетовый",
|
||||||
|
"When needed": "По ситуации",
|
||||||
|
Winged: "Стрелка",
|
||||||
Accept: "Принять",
|
Accept: "Принять",
|
||||||
Dismissed: "Отклонено",
|
Dismissed: "Отклонено",
|
||||||
Expired: "Истекло",
|
Expired: "Истекло",
|
||||||
|
|||||||
@ -600,6 +600,76 @@ export const ZH_MESSAGES: Record<string, string> = {
|
|||||||
"Start timer": "开始计时",
|
"Start timer": "开始计时",
|
||||||
"Step {position} of {total}": "第 {position} 步,共 {total} 步",
|
"Step {position} of {total}": "第 {position} 步,共 {total} 步",
|
||||||
"Stop timer": "停止计时",
|
"Stop timer": "停止计时",
|
||||||
|
Arms: "手臂",
|
||||||
|
Beanie: "毛线帽",
|
||||||
|
Bear: "熊",
|
||||||
|
Bell: "铃铛",
|
||||||
|
Blue: "蓝色",
|
||||||
|
Bow: "蝴蝶结",
|
||||||
|
"Bow tie": "领结",
|
||||||
|
Brown: "棕色",
|
||||||
|
Brows: "眉毛",
|
||||||
|
Bunny: "兔子",
|
||||||
|
Bushy: "浓密",
|
||||||
|
Calm: "安静",
|
||||||
|
Cat: "猫",
|
||||||
|
Cheeks: "脸颊",
|
||||||
|
"Chef's hat": "厨师帽",
|
||||||
|
Classic: "经典",
|
||||||
|
Crown: "皇冠",
|
||||||
|
Customize: "自定义",
|
||||||
|
Dog: "狗",
|
||||||
|
Dot: "圆点",
|
||||||
|
Energy: "活力",
|
||||||
|
Eyeliner: "眼线",
|
||||||
|
Eyeshadow: "眼影",
|
||||||
|
Fine: "细",
|
||||||
|
Flick: "上挑",
|
||||||
|
Flower: "花朵",
|
||||||
|
Freckles: "雀斑",
|
||||||
|
Frog: "青蛙",
|
||||||
|
Full: "浓密",
|
||||||
|
Ghost: "幽灵",
|
||||||
|
Glass: "玻璃",
|
||||||
|
Glasses: "眼镜",
|
||||||
|
Gold: "金色",
|
||||||
|
Green: "绿色",
|
||||||
|
Hat: "头饰",
|
||||||
|
Headphones: "耳机",
|
||||||
|
Heart: "爱心",
|
||||||
|
Iris: "虹膜",
|
||||||
|
Lashes: "睫毛",
|
||||||
|
Lilac: "丁香",
|
||||||
|
Lively: "活泼",
|
||||||
|
Mint: "薄荷",
|
||||||
|
Monocle: "单片眼镜",
|
||||||
|
Neck: "颈部",
|
||||||
|
Nerd: "书呆子",
|
||||||
|
None: "无",
|
||||||
|
"Party hat": "派对帽",
|
||||||
|
Paw: "爪子",
|
||||||
|
Peach: "桃色",
|
||||||
|
Penguin: "企鹅",
|
||||||
|
Pink: "粉色",
|
||||||
|
Playful: "俏皮",
|
||||||
|
"Reading glasses": "老花镜",
|
||||||
|
Robot: "机器人",
|
||||||
|
Rose: "玫瑰",
|
||||||
|
Round: "圆形",
|
||||||
|
Scarf: "围巾",
|
||||||
|
Shape: "形状",
|
||||||
|
"Shape {number}": "形状 {number}",
|
||||||
|
Soft: "柔和",
|
||||||
|
Sparkle: "高光",
|
||||||
|
Species: "物种",
|
||||||
|
Star: "星星",
|
||||||
|
Steady: "平稳",
|
||||||
|
Stub: "短短",
|
||||||
|
Sunglasses: "墨镜",
|
||||||
|
"Surprise me": "给我惊喜",
|
||||||
|
Violet: "紫色",
|
||||||
|
"When needed": "需要时",
|
||||||
|
Winged: "上扬",
|
||||||
Accept: "接受",
|
Accept: "接受",
|
||||||
Dismissed: "已忽略",
|
Dismissed: "已忽略",
|
||||||
Expired: "已过期",
|
Expired: "已过期",
|
||||||
|
|||||||
@ -1,27 +0,0 @@
|
|||||||
import { expect, test } from "@playwright/test";
|
|
||||||
import { captureScreenshot, completeOnboarding, signup } from "./helpers";
|
|
||||||
|
|
||||||
test("bot settings open Avatar Studio on the Bot tab", async ({ page }, testInfo) => {
|
|
||||||
const stamp = Date.now();
|
|
||||||
await signup(page, `avatar-studio-${stamp}@rakazo.test`, "password12", "Avatar Studio");
|
|
||||||
await completeOnboarding(page);
|
|
||||||
await page.goto("/app");
|
|
||||||
await page.waitForURL(/\/app\/[^/]+$/);
|
|
||||||
|
|
||||||
await page.getByTestId("bot-settings-trigger").click();
|
|
||||||
const settings = page.getByTestId("bot-settings");
|
|
||||||
await expect(settings).toBeVisible();
|
|
||||||
|
|
||||||
await settings.getByTestId("avatar-studio-trigger").click();
|
|
||||||
const studio = page.getByTestId("avatar-studio");
|
|
||||||
await expect(studio).toBeVisible();
|
|
||||||
await expect(studio.getByText("Avatar Studio", { exact: true })).toBeVisible();
|
|
||||||
await expect(studio.getByRole("button", { name: "Bot", exact: true })).toBeVisible();
|
|
||||||
await expect(studio.getByRole("button", { name: "Upload", exact: true })).toBeVisible();
|
|
||||||
await expect(studio.getByRole("button", { name: "Generate" })).toHaveCount(0);
|
|
||||||
await expect(studio.getByTestId("avatar-studio-bot-tab")).toBeVisible();
|
|
||||||
await expect(studio.getByText("Shape", { exact: true })).toBeVisible();
|
|
||||||
await expect(studio.getByText("Color", { exact: true })).toBeVisible();
|
|
||||||
|
|
||||||
await captureScreenshot(page, testInfo, "avatar-studio-bot-tab");
|
|
||||||
});
|
|
||||||
@ -73,10 +73,10 @@ test("bot creation, editing, and deletion persist", async ({ page }, testInfo) =
|
|||||||
await nameInput.fill("Researcher");
|
await nameInput.fill("Researcher");
|
||||||
await titleInput.fill(longTitle);
|
await titleInput.fill(longTitle);
|
||||||
await descriptionInput.fill("Finds reliable sources and turns them into concise briefs.");
|
await descriptionInput.fill("Finds reliable sources and turns them into concise briefs.");
|
||||||
await page.getByTestId("avatar-studio-trigger").click();
|
await page.getByTestId("oo-atelier-trigger").click();
|
||||||
const studio = page.getByTestId("avatar-studio");
|
const studio = page.getByTestId("oo-atelier");
|
||||||
await expect(studio).toBeVisible();
|
await expect(studio).toBeVisible();
|
||||||
await expect(studio.getByTestId("avatar-studio-bot-tab")).toBeVisible();
|
await expect(studio.getByTestId("oo-atelier-body")).toBeVisible();
|
||||||
await studio.getByRole("button", { name: "Color #EAB308" }).click();
|
await studio.getByRole("button", { name: "Color #EAB308" }).click();
|
||||||
await studio.getByRole("button", { name: "Done", exact: true }).click();
|
await studio.getByRole("button", { name: "Done", exact: true }).click();
|
||||||
await expect(studio).toBeHidden();
|
await expect(studio).toBeHidden();
|
||||||
@ -91,7 +91,7 @@ test("bot creation, editing, and deletion persist", async ({ page }, testInfo) =
|
|||||||
"Finds reliable sources and turns them into concise briefs.",
|
"Finds reliable sources and turns them into concise briefs.",
|
||||||
);
|
);
|
||||||
const settings = page.getByTestId("bot-settings");
|
const settings = page.getByTestId("bot-settings");
|
||||||
await settings.getByTestId("avatar-studio-trigger").click();
|
await settings.getByTestId("oo-atelier-trigger").click();
|
||||||
await expect(studio).toBeVisible();
|
await expect(studio).toBeVisible();
|
||||||
await expect(studio.getByRole("button", { name: "Color #EAB308" })).toHaveClass(/ring-2/);
|
await expect(studio.getByRole("button", { name: "Color #EAB308" })).toHaveClass(/ring-2/);
|
||||||
await studio.getByRole("button", { name: "Done", exact: true }).click();
|
await studio.getByRole("button", { name: "Done", exact: true }).click();
|
||||||
|
|||||||
12
apps/web/e2e/fixtures/oo-atelier.html
Normal file
12
apps/web/e2e/fixtures/oo-atelier.html
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
<!doctype html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8" />
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||||
|
<title>Oo atelier</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div id="root"></div>
|
||||||
|
<script type="module" src="/e2e/fixtures/oo-atelier.tsx"></script>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
32
apps/web/e2e/fixtures/oo-atelier.tsx
Normal file
32
apps/web/e2e/fixtures/oo-atelier.tsx
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
import { setupI18n } from "@lingui/core";
|
||||||
|
import { I18nProvider } from "@lingui/react";
|
||||||
|
import { useState } from "react";
|
||||||
|
import { createRoot } from "react-dom/client";
|
||||||
|
import { OoAtelierDialog } from "../../src/components/OoAtelier";
|
||||||
|
import "../../src/styles.css";
|
||||||
|
|
||||||
|
const params = new URLSearchParams(location.search);
|
||||||
|
document.documentElement.dataset.theme = params.get("theme") === "dark" ? "dark" : "light";
|
||||||
|
const i18n = setupI18n({ locale: "en", messages: { en: {} } });
|
||||||
|
|
||||||
|
function Atelier() {
|
||||||
|
const [value, setValue] = useState("oo1:c=FF781C;sp=cat;la=soft;ir=green;ew=round;hd=chef");
|
||||||
|
return (
|
||||||
|
<OoAtelierDialog
|
||||||
|
open
|
||||||
|
onOpenChange={() => undefined}
|
||||||
|
value={value}
|
||||||
|
identity="fixture"
|
||||||
|
onChange={setValue}
|
||||||
|
allowUpload
|
||||||
|
/>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
createRoot(document.getElementById("root")!).render(
|
||||||
|
<I18nProvider i18n={i18n}>
|
||||||
|
<main className="min-h-screen bg-background text-foreground">
|
||||||
|
<Atelier />
|
||||||
|
</main>
|
||||||
|
</I18nProvider>,
|
||||||
|
);
|
||||||
59
apps/web/e2e/oo-atelier.spec.ts
Normal file
59
apps/web/e2e/oo-atelier.spec.ts
Normal file
@ -0,0 +1,59 @@
|
|||||||
|
import { expect, test } from "@playwright/test";
|
||||||
|
import { captureScreenshot, completeOnboarding, signup } from "./helpers";
|
||||||
|
|
||||||
|
test("bot settings open the Atelier and dress the Oo", async ({ page }, testInfo) => {
|
||||||
|
const stamp = Date.now();
|
||||||
|
await signup(page, `oo-atelier-${stamp}@rakazo.test`, "password12", "Atelier");
|
||||||
|
await completeOnboarding(page);
|
||||||
|
await page.goto("/app");
|
||||||
|
await page.waitForURL(/\/app\/[^/]+$/);
|
||||||
|
|
||||||
|
await page.getByTestId("bot-settings-trigger").click();
|
||||||
|
const settings = page.getByTestId("bot-settings");
|
||||||
|
await expect(settings).toBeVisible();
|
||||||
|
|
||||||
|
await settings.getByTestId("oo-atelier-trigger").click();
|
||||||
|
const atelier = page.getByTestId("oo-atelier");
|
||||||
|
await expect(atelier).toBeVisible();
|
||||||
|
await expect(atelier.getByTestId("oo-atelier-body")).toBeVisible();
|
||||||
|
|
||||||
|
await atelier.getByRole("button", { name: "Cat", exact: true }).click();
|
||||||
|
await expect(
|
||||||
|
atelier.locator('[data-testid="oo-atelier-preview"] svg[data-oo-species="cat"]'),
|
||||||
|
).toBeVisible();
|
||||||
|
await captureScreenshot(page, testInfo, "oo-atelier-body");
|
||||||
|
|
||||||
|
await atelier.getByRole("tab", { name: "Eyes" }).click();
|
||||||
|
await atelier.getByRole("button", { name: "Full", exact: true }).click();
|
||||||
|
await atelier.getByRole("button", { name: "Green", exact: true }).click();
|
||||||
|
await captureScreenshot(page, testInfo, "oo-atelier-eyes");
|
||||||
|
|
||||||
|
await atelier.getByRole("tab", { name: "Extras" }).click();
|
||||||
|
await atelier.getByRole("button", { name: "Round", exact: true }).click();
|
||||||
|
await atelier.getByRole("button", { name: "Chef's hat", exact: true }).click();
|
||||||
|
await captureScreenshot(page, testInfo, "oo-atelier-extras");
|
||||||
|
|
||||||
|
await atelier.getByRole("button", { name: "Done", exact: true }).click();
|
||||||
|
await expect(atelier).toBeHidden();
|
||||||
|
const avatar = settings.locator('[data-testid="oo-atelier-trigger"] svg[data-oo-species="cat"]');
|
||||||
|
await expect(avatar).toBeVisible();
|
||||||
|
|
||||||
|
await page.reload();
|
||||||
|
await page.getByTestId("bot-settings-trigger").click();
|
||||||
|
await expect(
|
||||||
|
page.locator(
|
||||||
|
'[data-testid="bot-settings"] [data-testid="oo-atelier-trigger"] svg[data-oo-species="cat"]',
|
||||||
|
),
|
||||||
|
).toBeVisible();
|
||||||
|
});
|
||||||
|
|
||||||
|
for (const theme of ["light", "dark"] as const) {
|
||||||
|
test(`Atelier reads well in ${theme} mode`, async ({ page }, testInfo) => {
|
||||||
|
await page.emulateMedia({ colorScheme: theme });
|
||||||
|
await page.goto(`/e2e/fixtures/oo-atelier.html?theme=${theme}`);
|
||||||
|
const atelier = page.getByTestId("oo-atelier");
|
||||||
|
await expect(atelier).toBeVisible();
|
||||||
|
await expect(atelier.locator("svg[data-oo-species]").first()).toBeVisible();
|
||||||
|
await captureScreenshot(page, testInfo, `oo-atelier-${theme}`);
|
||||||
|
});
|
||||||
|
}
|
||||||
616
apps/web/src/components/OoAtelier.tsx
Normal file
616
apps/web/src/components/OoAtelier.tsx
Normal file
@ -0,0 +1,616 @@
|
|||||||
|
import { Trans, useLingui } from "@lingui/react/macro";
|
||||||
|
import type { OoAvatar, OoMoment } from "@rakazo/core";
|
||||||
|
import {
|
||||||
|
DEFAULT_OO_AVATAR,
|
||||||
|
encodeOoAvatar,
|
||||||
|
OO_ARMS,
|
||||||
|
OO_BROWS,
|
||||||
|
OO_CHEEKS,
|
||||||
|
OO_CLASSIC_SHAPE_COUNT,
|
||||||
|
OO_ENERGY_RANGE,
|
||||||
|
OO_EYESHADOWS,
|
||||||
|
OO_EYEWEAR,
|
||||||
|
OO_HEADWEAR,
|
||||||
|
OO_IRISES,
|
||||||
|
OO_LASHES,
|
||||||
|
OO_LINERS,
|
||||||
|
OO_NECKWEAR,
|
||||||
|
OO_PALETTE_HEXES,
|
||||||
|
OO_SPARKLES,
|
||||||
|
OO_SPECIES,
|
||||||
|
ooLookForEditing,
|
||||||
|
ooRandomAvatar,
|
||||||
|
} from "@rakazo/core";
|
||||||
|
import {
|
||||||
|
BotAvatar,
|
||||||
|
Dialog,
|
||||||
|
DialogContent,
|
||||||
|
DialogDescription,
|
||||||
|
DialogFooter,
|
||||||
|
DialogHeader,
|
||||||
|
DialogTitle,
|
||||||
|
OoFigure,
|
||||||
|
Tabs,
|
||||||
|
TabsContent,
|
||||||
|
TabsList,
|
||||||
|
TabsTrigger,
|
||||||
|
} from "@rakazo/ui-web";
|
||||||
|
import { Check, Dices, Pencil, Upload, X } from "lucide-react";
|
||||||
|
import type { ClipboardEvent, DragEvent, ReactNode } from "react";
|
||||||
|
import { useRef, useState } from "react";
|
||||||
|
|
||||||
|
type Field = keyof OoAvatar;
|
||||||
|
|
||||||
|
/** Option rows of the Atelier; every value is drawn as the Oo wearing it. */
|
||||||
|
function useOptionLabels() {
|
||||||
|
const { t } = useLingui();
|
||||||
|
const none = t`None`;
|
||||||
|
return {
|
||||||
|
species: {
|
||||||
|
classic: t`Classic`,
|
||||||
|
cat: t`Cat`,
|
||||||
|
dog: t`Dog`,
|
||||||
|
bunny: t`Bunny`,
|
||||||
|
bear: t`Bear`,
|
||||||
|
robot: t`Robot`,
|
||||||
|
ghost: t`Ghost`,
|
||||||
|
frog: t`Frog`,
|
||||||
|
penguin: t`Penguin`,
|
||||||
|
},
|
||||||
|
lashes: { none, soft: t`Soft`, full: t`Full`, flick: t`Flick` },
|
||||||
|
liner: { none, wing: t`Winged` },
|
||||||
|
eyeshadow: { none, rose: t`Rose`, lilac: t`Lilac`, gold: t`Gold`, mint: t`Mint` },
|
||||||
|
iris: {
|
||||||
|
classic: t`Classic`,
|
||||||
|
brown: t`Brown`,
|
||||||
|
blue: t`Blue`,
|
||||||
|
green: t`Green`,
|
||||||
|
violet: t`Violet`,
|
||||||
|
},
|
||||||
|
sparkle: { dot: t`Dot`, star: t`Star`, heart: t`Heart` },
|
||||||
|
brows: { auto: t`When needed`, fine: t`Fine`, bushy: t`Bushy` },
|
||||||
|
cheeks: { none, pink: t`Pink`, peach: t`Peach`, freckles: t`Freckles` },
|
||||||
|
eyewear: {
|
||||||
|
none,
|
||||||
|
round: t`Round`,
|
||||||
|
nerd: t`Nerd`,
|
||||||
|
sun: t`Sunglasses`,
|
||||||
|
heart: t`Heart`,
|
||||||
|
monocle: t`Monocle`,
|
||||||
|
reading: t`Reading glasses`,
|
||||||
|
},
|
||||||
|
head: {
|
||||||
|
none,
|
||||||
|
chef: t`Chef's hat`,
|
||||||
|
crown: t`Crown`,
|
||||||
|
headphones: t`Headphones`,
|
||||||
|
bow: t`Bow`,
|
||||||
|
beanie: t`Beanie`,
|
||||||
|
flower: t`Flower`,
|
||||||
|
party: t`Party hat`,
|
||||||
|
},
|
||||||
|
neck: { none, bowtie: t`Bow tie`, scarf: t`Scarf`, bell: t`Bell` },
|
||||||
|
arms: { glass: t`Glass`, stub: t`Stub`, paw: t`Paw`, robot: t`Robot`, none },
|
||||||
|
} as const;
|
||||||
|
}
|
||||||
|
|
||||||
|
function OptionGroup<T extends string | number>({
|
||||||
|
title,
|
||||||
|
values,
|
||||||
|
selected,
|
||||||
|
label,
|
||||||
|
render,
|
||||||
|
onSelect,
|
||||||
|
}: {
|
||||||
|
title: string;
|
||||||
|
values: readonly T[];
|
||||||
|
selected: T;
|
||||||
|
label: (value: T) => string;
|
||||||
|
render: (value: T) => ReactNode;
|
||||||
|
onSelect: (value: T) => void;
|
||||||
|
}) {
|
||||||
|
return (
|
||||||
|
<fieldset>
|
||||||
|
<legend className="mb-1.5 text-ui-label font-medium text-muted-foreground">{title}</legend>
|
||||||
|
<div className="flex flex-wrap gap-1.5">
|
||||||
|
{values.map((value) => {
|
||||||
|
const active = value === selected;
|
||||||
|
return (
|
||||||
|
<button
|
||||||
|
key={value}
|
||||||
|
type="button"
|
||||||
|
aria-label={label(value)}
|
||||||
|
title={label(value)}
|
||||||
|
aria-pressed={active}
|
||||||
|
onClick={() => onSelect(value)}
|
||||||
|
className={`grid size-12 place-items-center overflow-hidden rounded-xl transition-transform hover:scale-105 active:scale-95 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring ${
|
||||||
|
active ? "bg-foreground/10 ring-2 ring-primary" : "bg-muted/60 hover:bg-muted"
|
||||||
|
}`}
|
||||||
|
>
|
||||||
|
{render(value)}
|
||||||
|
</button>
|
||||||
|
);
|
||||||
|
})}
|
||||||
|
</div>
|
||||||
|
</fieldset>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface OoAtelierDialogProps {
|
||||||
|
open: boolean;
|
||||||
|
onOpenChange: (open: boolean) => void;
|
||||||
|
value: string;
|
||||||
|
identity: string;
|
||||||
|
status?: string;
|
||||||
|
onChange: (value: string) => void;
|
||||||
|
/** Bots may wear an uploaded picture instead of an Oo. */
|
||||||
|
allowUpload?: boolean;
|
||||||
|
}
|
||||||
|
|
||||||
|
export function OoAtelierDialog({
|
||||||
|
open,
|
||||||
|
onOpenChange,
|
||||||
|
value,
|
||||||
|
identity,
|
||||||
|
status,
|
||||||
|
onChange,
|
||||||
|
allowUpload = false,
|
||||||
|
}: OoAtelierDialogProps) {
|
||||||
|
const { t } = useLingui();
|
||||||
|
const labels = useOptionLabels();
|
||||||
|
const [draft, setDraft] = useState<OoAvatar | null>(null);
|
||||||
|
const [preview, setPreview] = useState<OoMoment | undefined>(undefined);
|
||||||
|
const [dragOver, setDragOver] = useState(false);
|
||||||
|
const fileInputRef = useRef<HTMLInputElement>(null);
|
||||||
|
const isPicture = value.startsWith("data:image/");
|
||||||
|
const look = draft ?? ooLookForEditing(value, identity);
|
||||||
|
const encoded = encodeOoAvatar(look);
|
||||||
|
|
||||||
|
function commit(next: OoAvatar) {
|
||||||
|
setDraft(null);
|
||||||
|
onChange(encodeOoAvatar(next));
|
||||||
|
}
|
||||||
|
|
||||||
|
function set<K extends Field>(field: K, next: OoAvatar[K]) {
|
||||||
|
commit({ ...look, [field]: next });
|
||||||
|
}
|
||||||
|
|
||||||
|
function slide(field: "energy" | "playful", next: number) {
|
||||||
|
setDraft({ ...look, [field]: next });
|
||||||
|
setPreview(field === "energy" ? "working" : "greeting");
|
||||||
|
}
|
||||||
|
|
||||||
|
function settle() {
|
||||||
|
if (draft) commit(draft);
|
||||||
|
setPreview(undefined);
|
||||||
|
}
|
||||||
|
|
||||||
|
function thumb(next: Partial<OoAvatar>, focus: "body" | "face" = "body") {
|
||||||
|
return (
|
||||||
|
<OoFigure
|
||||||
|
avatar={{ ...look, ...next }}
|
||||||
|
color={next.color ?? look.color}
|
||||||
|
fallbackShape={next.shape ?? look.shape ?? 0}
|
||||||
|
moment="idle"
|
||||||
|
size={44}
|
||||||
|
focus={focus}
|
||||||
|
still
|
||||||
|
/>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
function processImageFile(file: File) {
|
||||||
|
if (!file.type.startsWith("image/")) return;
|
||||||
|
const reader = new FileReader();
|
||||||
|
reader.onload = (event) => {
|
||||||
|
const src = event.target?.result as string;
|
||||||
|
if (!src) return;
|
||||||
|
const img = new Image();
|
||||||
|
img.onload = () => {
|
||||||
|
const canvas = document.createElement("canvas");
|
||||||
|
const ctx = canvas.getContext("2d");
|
||||||
|
const targetSize = 256;
|
||||||
|
canvas.width = targetSize;
|
||||||
|
canvas.height = targetSize;
|
||||||
|
if (!ctx) return;
|
||||||
|
ctx.beginPath();
|
||||||
|
ctx.arc(targetSize / 2, targetSize / 2, targetSize / 2, 0, Math.PI * 2);
|
||||||
|
ctx.clip();
|
||||||
|
const minDim = Math.min(img.width, img.height);
|
||||||
|
const sx = (img.width - minDim) / 2;
|
||||||
|
const sy = (img.height - minDim) / 2;
|
||||||
|
ctx.drawImage(img, sx, sy, minDim, minDim, 0, 0, targetSize, targetSize);
|
||||||
|
onChange(canvas.toDataURL("image/webp", 0.9));
|
||||||
|
onOpenChange(false);
|
||||||
|
};
|
||||||
|
img.src = src;
|
||||||
|
};
|
||||||
|
reader.readAsDataURL(file);
|
||||||
|
}
|
||||||
|
|
||||||
|
function handleDrop(event: DragEvent<HTMLButtonElement>) {
|
||||||
|
event.preventDefault();
|
||||||
|
setDragOver(false);
|
||||||
|
const file = event.dataTransfer.files?.[0];
|
||||||
|
if (file) processImageFile(file);
|
||||||
|
}
|
||||||
|
|
||||||
|
function handlePaste(event: ClipboardEvent<HTMLButtonElement>) {
|
||||||
|
const items = event.clipboardData?.items;
|
||||||
|
if (!items) return;
|
||||||
|
for (let index = 0; index < items.length; index += 1) {
|
||||||
|
const item = items[index];
|
||||||
|
if (!item?.type.startsWith("image/")) continue;
|
||||||
|
const file = item.getAsFile();
|
||||||
|
if (file) {
|
||||||
|
processImageFile(file);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
const sliderClass = "w-full accent-primary";
|
||||||
|
return (
|
||||||
|
<Dialog open={open} onOpenChange={onOpenChange}>
|
||||||
|
<DialogContent
|
||||||
|
showCloseButton={false}
|
||||||
|
className="max-h-[92vh] w-[420px] max-w-full gap-3 overflow-y-auto rounded-3xl p-5 sm:max-w-[420px]"
|
||||||
|
data-testid="oo-atelier"
|
||||||
|
>
|
||||||
|
<DialogHeader className="flex-row items-center justify-between space-y-0">
|
||||||
|
<DialogTitle className="text-ui-body font-semibold tracking-tight">
|
||||||
|
<Trans>Atelier</Trans>
|
||||||
|
</DialogTitle>
|
||||||
|
<DialogDescription className="sr-only">
|
||||||
|
<Trans>Choose how your Oo looks and moves</Trans>
|
||||||
|
</DialogDescription>
|
||||||
|
<button
|
||||||
|
type="button"
|
||||||
|
onClick={() => onOpenChange(false)}
|
||||||
|
className="flex size-7 items-center justify-center rounded-full text-muted-foreground transition-colors hover:bg-muted hover:text-foreground"
|
||||||
|
aria-label={t`Close`}
|
||||||
|
>
|
||||||
|
<X className="size-icon-md" />
|
||||||
|
</button>
|
||||||
|
</DialogHeader>
|
||||||
|
|
||||||
|
<div className="flex justify-center py-1" data-testid="oo-atelier-preview">
|
||||||
|
<BotAvatar
|
||||||
|
color={isPicture && !draft ? value : encoded}
|
||||||
|
identity={identity}
|
||||||
|
status={status}
|
||||||
|
size={128}
|
||||||
|
moment={preview}
|
||||||
|
interactive
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<Tabs defaultValue="body">
|
||||||
|
<TabsList className="w-full">
|
||||||
|
<TabsTrigger value="body">
|
||||||
|
<Trans>Body</Trans>
|
||||||
|
</TabsTrigger>
|
||||||
|
<TabsTrigger value="eyes">
|
||||||
|
<Trans>Eyes</Trans>
|
||||||
|
</TabsTrigger>
|
||||||
|
<TabsTrigger value="extras">
|
||||||
|
<Trans>Extras</Trans>
|
||||||
|
</TabsTrigger>
|
||||||
|
{allowUpload ? (
|
||||||
|
<TabsTrigger value="upload">
|
||||||
|
<Trans>Upload</Trans>
|
||||||
|
</TabsTrigger>
|
||||||
|
) : null}
|
||||||
|
</TabsList>
|
||||||
|
|
||||||
|
<TabsContent value="body" className="space-y-4 pt-2" data-testid="oo-atelier-body">
|
||||||
|
<OptionGroup
|
||||||
|
title={t`Species`}
|
||||||
|
values={OO_SPECIES}
|
||||||
|
selected={look.species}
|
||||||
|
label={(species) => labels.species[species]}
|
||||||
|
render={(species) =>
|
||||||
|
thumb({ species, arms: species === "robot" ? "robot" : look.arms })
|
||||||
|
}
|
||||||
|
onSelect={(species) =>
|
||||||
|
commit({
|
||||||
|
...look,
|
||||||
|
species,
|
||||||
|
arms: species === "robot" ? "robot" : look.arms === "robot" ? "glass" : look.arms,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
/>
|
||||||
|
{look.species === "classic" ? (
|
||||||
|
<OptionGroup
|
||||||
|
title={t`Shape`}
|
||||||
|
values={Array.from({ length: OO_CLASSIC_SHAPE_COUNT }, (_, index) => index)}
|
||||||
|
selected={look.shape ?? -1}
|
||||||
|
label={(shape) => t`Shape ${shape + 1}`}
|
||||||
|
render={(shape) => thumb({ shape })}
|
||||||
|
onSelect={(shape) => set("shape", shape)}
|
||||||
|
/>
|
||||||
|
) : null}
|
||||||
|
<fieldset>
|
||||||
|
<legend className="mb-1.5 text-ui-label font-medium text-muted-foreground">
|
||||||
|
<Trans>Color</Trans>
|
||||||
|
</legend>
|
||||||
|
<div className="flex flex-wrap items-center gap-2">
|
||||||
|
{OO_PALETTE_HEXES.map((color) => {
|
||||||
|
const selected = !isPicture && look.color.toLowerCase() === color.toLowerCase();
|
||||||
|
return (
|
||||||
|
<button
|
||||||
|
key={color}
|
||||||
|
type="button"
|
||||||
|
onClick={() => set("color", color)}
|
||||||
|
aria-label={t`Color ${color}`}
|
||||||
|
aria-pressed={selected}
|
||||||
|
className={`size-7 rounded-full border transition-transform hover:scale-110 active:scale-95 focus-visible:ring-2 focus-visible:ring-ring ${
|
||||||
|
selected
|
||||||
|
? "scale-105 border-transparent ring-2 ring-foreground ring-offset-2 ring-offset-popover"
|
||||||
|
: "border-border"
|
||||||
|
}`}
|
||||||
|
style={{ backgroundColor: color }}
|
||||||
|
/>
|
||||||
|
);
|
||||||
|
})}
|
||||||
|
<input
|
||||||
|
type="color"
|
||||||
|
aria-label={t`Custom color`}
|
||||||
|
value={look.color.length === 7 ? look.color : DEFAULT_OO_AVATAR.color}
|
||||||
|
onChange={(event) => setDraft({ ...look, color: event.target.value })}
|
||||||
|
onBlur={settle}
|
||||||
|
className="size-7 cursor-pointer rounded-full border border-border bg-transparent p-0"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</fieldset>
|
||||||
|
<div className="grid grid-cols-2 gap-4">
|
||||||
|
<label className="text-ui-label font-medium text-muted-foreground">
|
||||||
|
<Trans>Energy</Trans>
|
||||||
|
<input
|
||||||
|
type="range"
|
||||||
|
min={OO_ENERGY_RANGE.min}
|
||||||
|
max={OO_ENERGY_RANGE.max}
|
||||||
|
step={0.05}
|
||||||
|
value={look.energy}
|
||||||
|
onChange={(event) => slide("energy", Number(event.target.value))}
|
||||||
|
onPointerUp={settle}
|
||||||
|
onKeyUp={settle}
|
||||||
|
onBlur={settle}
|
||||||
|
className={sliderClass}
|
||||||
|
/>
|
||||||
|
</label>
|
||||||
|
<label className="text-ui-label font-medium text-muted-foreground">
|
||||||
|
<Trans>Playful</Trans>
|
||||||
|
<input
|
||||||
|
type="range"
|
||||||
|
min={0}
|
||||||
|
max={1}
|
||||||
|
step={0.05}
|
||||||
|
value={look.playful}
|
||||||
|
onChange={(event) => slide("playful", Number(event.target.value))}
|
||||||
|
onPointerUp={settle}
|
||||||
|
onKeyUp={settle}
|
||||||
|
onBlur={settle}
|
||||||
|
className={sliderClass}
|
||||||
|
/>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
</TabsContent>
|
||||||
|
|
||||||
|
<TabsContent value="eyes" className="space-y-4 pt-2" data-testid="oo-atelier-eyes">
|
||||||
|
<OptionGroup
|
||||||
|
title={t`Lashes`}
|
||||||
|
values={OO_LASHES}
|
||||||
|
selected={look.lashes}
|
||||||
|
label={(lashes) => labels.lashes[lashes]}
|
||||||
|
render={(lashes) => thumb({ lashes }, "face")}
|
||||||
|
onSelect={(lashes) => set("lashes", lashes)}
|
||||||
|
/>
|
||||||
|
<OptionGroup
|
||||||
|
title={t`Eyeliner`}
|
||||||
|
values={OO_LINERS}
|
||||||
|
selected={look.liner}
|
||||||
|
label={(liner) => labels.liner[liner]}
|
||||||
|
render={(liner) => thumb({ liner }, "face")}
|
||||||
|
onSelect={(liner) => set("liner", liner)}
|
||||||
|
/>
|
||||||
|
<OptionGroup
|
||||||
|
title={t`Eyeshadow`}
|
||||||
|
values={OO_EYESHADOWS}
|
||||||
|
selected={look.eyeshadow}
|
||||||
|
label={(eyeshadow) => labels.eyeshadow[eyeshadow]}
|
||||||
|
render={(eyeshadow) => thumb({ eyeshadow }, "face")}
|
||||||
|
onSelect={(eyeshadow) => set("eyeshadow", eyeshadow)}
|
||||||
|
/>
|
||||||
|
<OptionGroup
|
||||||
|
title={t`Iris`}
|
||||||
|
values={OO_IRISES}
|
||||||
|
selected={look.iris}
|
||||||
|
label={(iris) => labels.iris[iris]}
|
||||||
|
render={(iris) => thumb({ iris }, "face")}
|
||||||
|
onSelect={(iris) => set("iris", iris)}
|
||||||
|
/>
|
||||||
|
<OptionGroup
|
||||||
|
title={t`Sparkle`}
|
||||||
|
values={OO_SPARKLES}
|
||||||
|
selected={look.sparkle}
|
||||||
|
label={(sparkle) => labels.sparkle[sparkle]}
|
||||||
|
render={(sparkle) => thumb({ sparkle }, "face")}
|
||||||
|
onSelect={(sparkle) => set("sparkle", sparkle)}
|
||||||
|
/>
|
||||||
|
<OptionGroup
|
||||||
|
title={t`Brows`}
|
||||||
|
values={OO_BROWS}
|
||||||
|
selected={look.brows}
|
||||||
|
label={(brows) => labels.brows[brows]}
|
||||||
|
render={(brows) => thumb({ brows }, "face")}
|
||||||
|
onSelect={(brows) => set("brows", brows)}
|
||||||
|
/>
|
||||||
|
<OptionGroup
|
||||||
|
title={t`Cheeks`}
|
||||||
|
values={OO_CHEEKS}
|
||||||
|
selected={look.cheeks}
|
||||||
|
label={(cheeks) => labels.cheeks[cheeks]}
|
||||||
|
render={(cheeks) => thumb({ cheeks }, "face")}
|
||||||
|
onSelect={(cheeks) => set("cheeks", cheeks)}
|
||||||
|
/>
|
||||||
|
</TabsContent>
|
||||||
|
|
||||||
|
<TabsContent value="extras" className="space-y-4 pt-2" data-testid="oo-atelier-extras">
|
||||||
|
<OptionGroup
|
||||||
|
title={t`Glasses`}
|
||||||
|
values={OO_EYEWEAR}
|
||||||
|
selected={look.eyewear}
|
||||||
|
label={(eyewear) => labels.eyewear[eyewear]}
|
||||||
|
render={(eyewear) => thumb({ eyewear }, "face")}
|
||||||
|
onSelect={(eyewear) => set("eyewear", eyewear)}
|
||||||
|
/>
|
||||||
|
<OptionGroup
|
||||||
|
title={t`Hat`}
|
||||||
|
values={OO_HEADWEAR}
|
||||||
|
selected={look.head}
|
||||||
|
label={(head) => labels.head[head]}
|
||||||
|
render={(head) => thumb({ head })}
|
||||||
|
onSelect={(head) => set("head", head)}
|
||||||
|
/>
|
||||||
|
<OptionGroup
|
||||||
|
title={t`Neck`}
|
||||||
|
values={OO_NECKWEAR}
|
||||||
|
selected={look.neck}
|
||||||
|
label={(neck) => labels.neck[neck]}
|
||||||
|
render={(neck) => thumb({ neck })}
|
||||||
|
onSelect={(neck) => set("neck", neck)}
|
||||||
|
/>
|
||||||
|
<OptionGroup
|
||||||
|
title={t`Arms`}
|
||||||
|
values={OO_ARMS}
|
||||||
|
selected={look.arms}
|
||||||
|
label={(arms) => labels.arms[arms]}
|
||||||
|
render={(arms) => thumb({ arms })}
|
||||||
|
onSelect={(arms) => set("arms", arms)}
|
||||||
|
/>
|
||||||
|
</TabsContent>
|
||||||
|
|
||||||
|
{allowUpload ? (
|
||||||
|
<TabsContent value="upload" className="pt-2">
|
||||||
|
<button
|
||||||
|
type="button"
|
||||||
|
aria-label={t`Image upload area`}
|
||||||
|
onDragOver={(event) => {
|
||||||
|
event.preventDefault();
|
||||||
|
setDragOver(true);
|
||||||
|
}}
|
||||||
|
onDragLeave={() => setDragOver(false)}
|
||||||
|
onDrop={handleDrop}
|
||||||
|
onPaste={handlePaste}
|
||||||
|
onClick={() => fileInputRef.current?.click()}
|
||||||
|
className={`flex w-full flex-col items-center justify-center rounded-xl border border-dashed p-6 text-center transition-colors ${
|
||||||
|
dragOver
|
||||||
|
? "border-primary bg-primary/10"
|
||||||
|
: "border-border bg-muted hover:border-foreground/30"
|
||||||
|
}`}
|
||||||
|
>
|
||||||
|
<input
|
||||||
|
ref={fileInputRef}
|
||||||
|
type="file"
|
||||||
|
accept="image/*"
|
||||||
|
className="hidden"
|
||||||
|
onChange={(event) => {
|
||||||
|
const file = event.target.files?.[0];
|
||||||
|
if (file) processImageFile(file);
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
<div className="mb-2 grid size-10 place-items-center rounded-full bg-secondary text-muted-foreground">
|
||||||
|
<Upload strokeWidth={1.8} className="size-icon-lg" />
|
||||||
|
</div>
|
||||||
|
<p className="text-ui-body-sm font-medium text-muted-foreground">
|
||||||
|
<Trans>Drag, drop, or paste an image</Trans>
|
||||||
|
</p>
|
||||||
|
<span className="mt-3 rounded-lg bg-secondary px-3 py-1.5 text-ui-label font-medium text-foreground">
|
||||||
|
<Trans>Choose file</Trans>
|
||||||
|
</span>
|
||||||
|
</button>
|
||||||
|
</TabsContent>
|
||||||
|
) : null}
|
||||||
|
</Tabs>
|
||||||
|
|
||||||
|
<DialogFooter className="flex-row items-center justify-between border-border sm:justify-between">
|
||||||
|
<div className="flex items-center gap-1">
|
||||||
|
<button
|
||||||
|
type="button"
|
||||||
|
onClick={() => commit(ooRandomAvatar())}
|
||||||
|
aria-label={t`Surprise me`}
|
||||||
|
title={t`Surprise me`}
|
||||||
|
className="flex size-8 items-center justify-center rounded-full text-muted-foreground transition-colors hover:bg-muted hover:text-foreground"
|
||||||
|
>
|
||||||
|
<Dices className="size-icon-md" />
|
||||||
|
</button>
|
||||||
|
<button
|
||||||
|
type="button"
|
||||||
|
onClick={() => commit({ ...DEFAULT_OO_AVATAR, color: look.color })}
|
||||||
|
className="px-2 py-1 text-ui-label font-medium text-muted-foreground transition-colors hover:text-foreground"
|
||||||
|
>
|
||||||
|
<Trans>Reset</Trans>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
<button
|
||||||
|
type="button"
|
||||||
|
onClick={() => onOpenChange(false)}
|
||||||
|
className="flex items-center gap-1.5 rounded-xl bg-secondary px-4 py-1.5 text-ui-body-sm font-medium text-foreground transition-colors hover:bg-accent"
|
||||||
|
>
|
||||||
|
<Check className="size-icon-md" />
|
||||||
|
<Trans>Done</Trans>
|
||||||
|
</button>
|
||||||
|
</DialogFooter>
|
||||||
|
</DialogContent>
|
||||||
|
</Dialog>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface OoAtelierProps {
|
||||||
|
value: string;
|
||||||
|
identity?: string;
|
||||||
|
status?: string;
|
||||||
|
size?: number;
|
||||||
|
onChange: (value: string) => void;
|
||||||
|
disabled?: boolean;
|
||||||
|
}
|
||||||
|
|
||||||
|
/** The bot's avatar; tapping it opens the Atelier. */
|
||||||
|
export function OoAtelier({
|
||||||
|
value,
|
||||||
|
identity = "",
|
||||||
|
status,
|
||||||
|
size = 72,
|
||||||
|
onChange,
|
||||||
|
disabled = false,
|
||||||
|
}: OoAtelierProps) {
|
||||||
|
const { t } = useLingui();
|
||||||
|
const [open, setOpen] = useState(false);
|
||||||
|
return (
|
||||||
|
<>
|
||||||
|
<button
|
||||||
|
type="button"
|
||||||
|
disabled={disabled}
|
||||||
|
onClick={() => setOpen(true)}
|
||||||
|
className="group relative cursor-pointer rounded-2xl outline-none transition-transform hover:scale-[1.03] focus-visible:ring-2 focus-visible:ring-ring"
|
||||||
|
aria-label={t`Customize bot avatar`}
|
||||||
|
data-testid="oo-atelier-trigger"
|
||||||
|
>
|
||||||
|
<BotAvatar color={value} identity={identity} size={size} status={status} />
|
||||||
|
<div className="absolute -right-1 -bottom-1 flex size-6 items-center justify-center rounded-full border-2 border-background bg-secondary text-foreground shadow-md transition-transform group-hover:scale-110">
|
||||||
|
<Pencil strokeWidth={2.2} className="size-icon-sm" />
|
||||||
|
</div>
|
||||||
|
</button>
|
||||||
|
<OoAtelierDialog
|
||||||
|
open={open}
|
||||||
|
onOpenChange={setOpen}
|
||||||
|
value={value}
|
||||||
|
identity={identity}
|
||||||
|
status={status}
|
||||||
|
onChange={onChange}
|
||||||
|
allowUpload
|
||||||
|
/>
|
||||||
|
</>
|
||||||
|
);
|
||||||
|
}
|
||||||
@ -1,4 +1,5 @@
|
|||||||
import { Trans, useLingui } from "@lingui/react/macro";
|
import { Trans, useLingui } from "@lingui/react/macro";
|
||||||
|
import type { EvooPose } from "@rakazo/ui-web";
|
||||||
import { BotAvatar, Button } from "@rakazo/ui-web";
|
import { BotAvatar, Button } from "@rakazo/ui-web";
|
||||||
import { type ReactNode, useCallback, useEffect, useMemo, useState } from "react";
|
import { type ReactNode, useCallback, useEffect, useMemo, useState } from "react";
|
||||||
import {
|
import {
|
||||||
@ -8,12 +9,10 @@ import {
|
|||||||
type LookPreset,
|
type LookPreset,
|
||||||
lookPresetToAvatarValue,
|
lookPresetToAvatarValue,
|
||||||
} from "../../lib/onboarding-look-categories";
|
} from "../../lib/onboarding-look-categories";
|
||||||
|
import { OoAtelierDialog } from "../OoAtelier";
|
||||||
import { LookPreviewCarousel } from "./LookPreviewCarousel";
|
import { LookPreviewCarousel } from "./LookPreviewCarousel";
|
||||||
|
|
||||||
export interface OnboardingEmojiConfig {
|
export interface OnboardingEmojiConfig {
|
||||||
color: string;
|
|
||||||
shapeIndex: number;
|
|
||||||
accessory: string;
|
|
||||||
pose: string;
|
pose: string;
|
||||||
avatarValue: string;
|
avatarValue: string;
|
||||||
}
|
}
|
||||||
@ -43,23 +42,8 @@ function categoryLabel(id: LookCategoryId): ReactNode {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function presetFromConfig(config: OnboardingEmojiConfig): LookPreset {
|
|
||||||
return {
|
|
||||||
id: "custom",
|
|
||||||
color: config.color,
|
|
||||||
shapeIndex: config.shapeIndex,
|
|
||||||
pose: config.pose as LookPreset["pose"],
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
function configFromPreset(preset: LookPreset): OnboardingEmojiConfig {
|
function configFromPreset(preset: LookPreset): OnboardingEmojiConfig {
|
||||||
return {
|
return { pose: preset.pose, avatarValue: lookPresetToAvatarValue(preset) };
|
||||||
color: preset.color,
|
|
||||||
shapeIndex: preset.shapeIndex,
|
|
||||||
accessory: "none",
|
|
||||||
pose: preset.pose,
|
|
||||||
avatarValue: lookPresetToAvatarValue(preset),
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export function OnboardingOoDesigner({ config, onChange, onContinue }: OnboardingOoDesignerProps) {
|
export function OnboardingOoDesigner({ config, onChange, onContinue }: OnboardingOoDesignerProps) {
|
||||||
@ -80,29 +64,19 @@ export function OnboardingOoDesigner({ config, onChange, onContinue }: Onboardin
|
|||||||
[onChange],
|
[onChange],
|
||||||
);
|
);
|
||||||
|
|
||||||
|
const [atelierOpen, setAtelierOpen] = useState(false);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
const match = LOOK_CATEGORIES.find((entry) =>
|
const match = LOOK_CATEGORIES.find((entry) =>
|
||||||
entry.looks.some(
|
entry.looks.some((look) => look.avatar === config.avatarValue),
|
||||||
(look) =>
|
|
||||||
look.color.toLowerCase() === config.color.toLowerCase() &&
|
|
||||||
look.shapeIndex === config.shapeIndex &&
|
|
||||||
look.pose === config.pose,
|
|
||||||
),
|
|
||||||
);
|
);
|
||||||
if (match) {
|
if (match) {
|
||||||
const index = match.looks.findIndex(
|
const index = match.looks.findIndex((look) => look.avatar === config.avatarValue);
|
||||||
(look) =>
|
|
||||||
look.color.toLowerCase() === config.color.toLowerCase() &&
|
|
||||||
look.shapeIndex === config.shapeIndex &&
|
|
||||||
look.pose === config.pose,
|
|
||||||
);
|
|
||||||
setCategoryId(match.id);
|
setCategoryId(match.id);
|
||||||
setLookIndex(index >= 0 ? index : 0);
|
setLookIndex(index >= 0 ? index : 0);
|
||||||
}
|
}
|
||||||
}, []);
|
}, []);
|
||||||
|
|
||||||
const activeLook = category.looks[lookIndex] ?? presetFromConfig(config);
|
|
||||||
|
|
||||||
const handleLookIndexChange = useCallback(
|
const handleLookIndexChange = useCallback(
|
||||||
(index: number) => {
|
(index: number) => {
|
||||||
const preset = category.looks[index];
|
const preset = category.looks[index];
|
||||||
@ -132,10 +106,11 @@ export function OnboardingOoDesigner({ config, onChange, onContinue }: Onboardin
|
|||||||
onIndexChange={handleLookIndexChange}
|
onIndexChange={handleLookIndexChange}
|
||||||
preview={
|
preview={
|
||||||
<BotAvatar
|
<BotAvatar
|
||||||
color={lookPresetToAvatarValue(activeLook)}
|
color={config.avatarValue}
|
||||||
size={168}
|
size={168}
|
||||||
identity="onboarding-preview"
|
identity="onboarding-preview"
|
||||||
pose={activeLook.pose}
|
pose={config.pose as EvooPose}
|
||||||
|
interactive
|
||||||
/>
|
/>
|
||||||
}
|
}
|
||||||
/>
|
/>
|
||||||
@ -174,13 +149,30 @@ export function OnboardingOoDesigner({ config, onChange, onContinue }: Onboardin
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className="mt-8 flex items-center justify-between">
|
<div className="mt-8 flex items-center justify-between">
|
||||||
|
<div className="flex items-center gap-1">
|
||||||
<Button variant="ghost" size="sm" onClick={resetLook}>
|
<Button variant="ghost" size="sm" onClick={resetLook}>
|
||||||
<Trans>Reset</Trans>
|
<Trans>Reset</Trans>
|
||||||
</Button>
|
</Button>
|
||||||
|
<Button
|
||||||
|
variant="outline"
|
||||||
|
size="sm"
|
||||||
|
onClick={() => setAtelierOpen(true)}
|
||||||
|
data-testid="onboarding-oo-customize"
|
||||||
|
>
|
||||||
|
<Trans>Customize</Trans>
|
||||||
|
</Button>
|
||||||
|
</div>
|
||||||
<Button onClick={onContinue}>
|
<Button onClick={onContinue}>
|
||||||
<Trans>Continue</Trans>
|
<Trans>Continue</Trans>
|
||||||
</Button>
|
</Button>
|
||||||
</div>
|
</div>
|
||||||
|
<OoAtelierDialog
|
||||||
|
open={atelierOpen}
|
||||||
|
onOpenChange={setAtelierOpen}
|
||||||
|
value={config.avatarValue}
|
||||||
|
identity="onboarding-preview"
|
||||||
|
onChange={(avatarValue) => onChange({ ...config, avatarValue })}
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
|
import { isValidAvatarValue } from "@rakazo/core";
|
||||||
import { describe, expect, it } from "vitest";
|
import { describe, expect, it } from "vitest";
|
||||||
import {
|
import {
|
||||||
buildAvatarValue,
|
|
||||||
findLookCategory,
|
findLookCategory,
|
||||||
LOOK_CATEGORIES,
|
LOOK_CATEGORIES,
|
||||||
lookPresetToAvatarValue,
|
lookPresetToAvatarValue,
|
||||||
@ -14,10 +14,13 @@ describe("onboarding-look-categories", () => {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
it("builds avatar values in color::shape format", () => {
|
it("stores every look as a valid avatar value", () => {
|
||||||
const look = findLookCategory("coder").looks[0]!;
|
for (const category of LOOK_CATEGORIES) {
|
||||||
expect(lookPresetToAvatarValue(look)).toBe(buildAvatarValue(look.color, look.shapeIndex));
|
for (const look of category.looks) {
|
||||||
expect(buildAvatarValue("#8B5CF6", 2)).toBe("#8B5CF6::shape_2");
|
expect(isValidAvatarValue(lookPresetToAvatarValue(look)), look.id).toBe(true);
|
||||||
|
expect(look.avatar.startsWith("oo1:"), look.id).toBe(true);
|
||||||
|
}
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
it("falls back to the first category for unknown ids", () => {
|
it("falls back to the first category for unknown ids", () => {
|
||||||
|
|||||||
@ -4,8 +4,8 @@ export type LookCategoryId = "work" | "hobby" | "scene" | "coder" | "calm";
|
|||||||
|
|
||||||
export interface LookPreset {
|
export interface LookPreset {
|
||||||
id: string;
|
id: string;
|
||||||
color: string;
|
/** Encoded `oo1:` look. */
|
||||||
shapeIndex: number;
|
avatar: string;
|
||||||
pose: EvooPose;
|
pose: EvooPose;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -14,51 +14,59 @@ export interface LookCategory {
|
|||||||
looks: LookPreset[];
|
looks: LookPreset[];
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Curated look families built from existing shape, color, and pose taxonomies. */
|
/** Curated looks per vibe; each starts a different species so the first swipe shows the range. */
|
||||||
export const LOOK_CATEGORIES: LookCategory[] = [
|
export const LOOK_CATEGORIES: LookCategory[] = [
|
||||||
{
|
{
|
||||||
id: "work",
|
id: "work",
|
||||||
looks: [
|
looks: [
|
||||||
{ id: "work-violet-hex", color: "#8B5CF6", shapeIndex: 0, pose: "working" },
|
{ id: "work-violet", avatar: "oo1:c=8B5CF6;ew=round;nk=bowtie", pose: "working" },
|
||||||
{ id: "work-blue-tablet", color: "#3B82F6", shapeIndex: 3, pose: "analyzing" },
|
{ id: "work-penguin", avatar: "oo1:c=3B82F6;sp=penguin;ew=reading", pose: "analyzing" },
|
||||||
{ id: "work-white-squircle", color: "#FFFFFF", shapeIndex: 2, pose: "listening" },
|
{
|
||||||
{ id: "work-green-wedge", color: "#10B981", shapeIndex: 1, pose: "reading" },
|
id: "work-robot",
|
||||||
|
avatar: "oo1:c=FFFFFF;sp=robot;ar=robot;hd=headphones",
|
||||||
|
pose: "listening",
|
||||||
|
},
|
||||||
|
{ id: "work-bear", avatar: "oo1:c=8D6E63;sp=bear;ar=paw;ew=nerd", pose: "reading" },
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: "hobby",
|
id: "hobby",
|
||||||
looks: [
|
looks: [
|
||||||
{ id: "hobby-orange-blob", color: "#F97316", shapeIndex: 5, pose: "delighted" },
|
{ id: "hobby-dog", avatar: "oo1:c=F97316;sp=dog;ar=paw;nk=scarf", pose: "delighted" },
|
||||||
{ id: "hobby-yellow-pebble", color: "#EAB308", shapeIndex: 4, pose: "curious" },
|
{ id: "hobby-frog", avatar: "oo1:c=10B981;sp=frog;hd=flower", pose: "curious" },
|
||||||
{ id: "hobby-red-teardrop", color: "#EF4444", shapeIndex: 6, pose: "greeting" },
|
{ id: "hobby-cat", avatar: "oo1:c=EAB308;sp=cat;ar=paw;hd=beanie", pose: "greeting" },
|
||||||
{ id: "hobby-cyan-cloud", color: "#06B6D4", shapeIndex: 7, pose: "speaking" },
|
{ id: "hobby-chef", avatar: "oo1:c=EF4444;sh=6;hd=chef", pose: "speaking" },
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: "scene",
|
id: "scene",
|
||||||
looks: [
|
looks: [
|
||||||
{ id: "scene-red-wedge", color: "#EF4444", shapeIndex: 1, pose: "speaking" },
|
{ id: "scene-cat", avatar: "oo1:c=EC4899;sp=cat;la=full;li=wing;ew=sun", pose: "speaking" },
|
||||||
{ id: "scene-violet-teardrop", color: "#8B5CF6", shapeIndex: 6, pose: "delighted" },
|
{
|
||||||
{ id: "scene-cyan-hex", color: "#06B6D4", shapeIndex: 0, pose: "collaborating" },
|
id: "scene-bunny",
|
||||||
{ id: "scene-orange-squircle", color: "#F97316", shapeIndex: 2, pose: "success" },
|
avatar: "oo1:c=FFFFFF;sp=bunny;la=full;es=rose;sk=heart;ew=heart",
|
||||||
|
pose: "delighted",
|
||||||
|
},
|
||||||
|
{ id: "scene-ghost", avatar: "oo1:c=8B5CF6;sp=ghost;hd=party", pose: "collaborating" },
|
||||||
|
{ id: "scene-crown", avatar: "oo1:c=06B6D4;sh=2;hd=crown;sk=star", pose: "success" },
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: "coder",
|
id: "coder",
|
||||||
looks: [
|
looks: [
|
||||||
{ id: "coder-cyan-hex", color: "#06B6D4", shapeIndex: 0, pose: "working" },
|
{ id: "coder-robot", avatar: "oo1:c=06B6D4;sp=robot;ar=robot;sk=star", pose: "working" },
|
||||||
{ id: "coder-green-squircle", color: "#10B981", shapeIndex: 2, pose: "analyzing" },
|
{ id: "coder-cat", avatar: "oo1:c=10B981;sp=cat;ew=nerd;hd=headphones", pose: "analyzing" },
|
||||||
{ id: "coder-blue-tablet", color: "#3B82F6", shapeIndex: 3, pose: "thinking" },
|
{ id: "coder-hex", avatar: "oo1:c=3B82F6;sh=0;ew=round;hd=beanie", pose: "thinking" },
|
||||||
{ id: "coder-violet-pebble", color: "#8B5CF6", shapeIndex: 4, pose: "collaborating" },
|
{ id: "coder-ghost", avatar: "oo1:c=8B5CF6;sp=ghost;ew=reading", pose: "collaborating" },
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: "calm",
|
id: "calm",
|
||||||
looks: [
|
looks: [
|
||||||
{ id: "calm-green-cloud", color: "#10B981", shapeIndex: 7, pose: "greeting" },
|
{ id: "calm-cloud", avatar: "oo1:c=10B981;sh=7;ck=pink", pose: "greeting" },
|
||||||
{ id: "calm-violet-blob", color: "#8B5CF6", shapeIndex: 5, pose: "listening" },
|
{ id: "calm-bear", avatar: "oo1:c=8B5CF6;sp=bear;ar=paw;nk=scarf", pose: "listening" },
|
||||||
{ id: "calm-white-pebble", color: "#FFFFFF", shapeIndex: 4, pose: "idle" },
|
{ id: "calm-bunny", avatar: "oo1:c=FFFFFF;sp=bunny;la=soft;ck=peach", pose: "idle" },
|
||||||
{ id: "calm-cyan-squircle", color: "#06B6D4", shapeIndex: 2, pose: "curious" },
|
{ id: "calm-penguin", avatar: "oo1:c=06B6D4;sp=penguin;nk=bell", pose: "curious" },
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
@ -73,10 +81,6 @@ export function findLookCategory(id: LookCategoryId): LookCategory {
|
|||||||
return category;
|
return category;
|
||||||
}
|
}
|
||||||
|
|
||||||
export function buildAvatarValue(color: string, shapeIndex: number): string {
|
|
||||||
return `${color}::shape_${shapeIndex}`;
|
|
||||||
}
|
|
||||||
|
|
||||||
export function lookPresetToAvatarValue(look: LookPreset): string {
|
export function lookPresetToAvatarValue(look: LookPreset): string {
|
||||||
return buildAvatarValue(look.color, look.shapeIndex);
|
return look.avatar;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -668,6 +668,10 @@ msgstr "Möchtest du dein Konto wirklich löschen? Das kann nicht rückgängig g
|
|||||||
msgid "Arguments"
|
msgid "Arguments"
|
||||||
msgstr "Argumente"
|
msgstr "Argumente"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Arms"
|
||||||
|
msgstr "Arme"
|
||||||
|
|
||||||
#. placeholder {0}: rule.matchValue
|
#. placeholder {0}: rule.matchValue
|
||||||
#: src/components/ApprovalRulesSettings.tsx
|
#: src/components/ApprovalRulesSettings.tsx
|
||||||
msgid "Ask before {0}"
|
msgid "Ask before {0}"
|
||||||
@ -716,6 +720,10 @@ msgstr "um {0}"
|
|||||||
msgid "at {timeSelect}"
|
msgid "at {timeSelect}"
|
||||||
msgstr "um {timeSelect}"
|
msgstr "um {timeSelect}"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Atelier"
|
||||||
|
msgstr "Atelier"
|
||||||
|
|
||||||
#: src/pages/shell/composer.tsx
|
#: src/pages/shell/composer.tsx
|
||||||
msgid "Attach file"
|
msgid "Attach file"
|
||||||
msgstr "Datei anhängen"
|
msgstr "Datei anhängen"
|
||||||
@ -756,10 +764,6 @@ msgstr "Automatische Absender erscheinen, sobald sie hier etwas posten."
|
|||||||
msgid "Available after the routine is saved"
|
msgid "Available after the routine is saved"
|
||||||
msgstr "Verfügbar, sobald die Routine gespeichert ist"
|
msgstr "Verfügbar, sobald die Routine gespeichert ist"
|
||||||
|
|
||||||
#: src/pages/shell/avatar-studio-popover.tsx
|
|
||||||
msgid "Avatar Studio"
|
|
||||||
msgstr "Avatar-Studio"
|
|
||||||
|
|
||||||
#: src/components/browser/InAppBrowser.tsx
|
#: src/components/browser/InAppBrowser.tsx
|
||||||
#: src/components/CookingMode.tsx
|
#: src/components/CookingMode.tsx
|
||||||
#: src/components/onboarding/OnboardingVoiceStep.tsx
|
#: src/components/onboarding/OnboardingVoiceStep.tsx
|
||||||
@ -781,15 +785,35 @@ msgstr "Zurück zur Zeitleiste"
|
|||||||
msgid "Base URL"
|
msgid "Base URL"
|
||||||
msgstr "Basis-URL"
|
msgstr "Basis-URL"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Beanie"
|
||||||
|
msgstr "Mütze"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Bear"
|
||||||
|
msgstr "Bär"
|
||||||
|
|
||||||
#: src/pages/memory-providers/SerenitySettingsForm.tsx
|
#: src/pages/memory-providers/SerenitySettingsForm.tsx
|
||||||
#: src/pages/PluginsOverlay.tsx
|
#: src/pages/PluginsOverlay.tsx
|
||||||
msgid "Bearer token"
|
msgid "Bearer token"
|
||||||
msgstr "Bearer-Token"
|
msgstr "Bearer-Token"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Bell"
|
||||||
|
msgstr "Glöckchen"
|
||||||
|
|
||||||
#: src/components/NotificationSettingsPanel.tsx
|
#: src/components/NotificationSettingsPanel.tsx
|
||||||
msgid "Blocked in your browser settings"
|
msgid "Blocked in your browser settings"
|
||||||
msgstr "In deinen Browser-Einstellungen blockiert"
|
msgstr "In deinen Browser-Einstellungen blockiert"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Blue"
|
||||||
|
msgstr "Blau"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Body"
|
||||||
|
msgstr "Körper"
|
||||||
|
|
||||||
#: src/pages/shell/computer-screen.tsx
|
#: src/pages/shell/computer-screen.tsx
|
||||||
msgid "Booting live desktop…"
|
msgid "Booting live desktop…"
|
||||||
msgstr "Live-Desktop wird gestartet…"
|
msgstr "Live-Desktop wird gestartet…"
|
||||||
@ -810,7 +834,6 @@ msgstr "Bot"
|
|||||||
|
|
||||||
#: src/pages/IntegrationSetup.tsx
|
#: src/pages/IntegrationSetup.tsx
|
||||||
#: src/pages/Shell.tsx
|
#: src/pages/Shell.tsx
|
||||||
#: src/pages/shell/avatar-studio-popover.tsx
|
|
||||||
msgid "Bot"
|
msgid "Bot"
|
||||||
msgstr "Bot"
|
msgstr "Bot"
|
||||||
|
|
||||||
@ -834,10 +857,26 @@ msgstr "Bots handeln standardmäßig ohne Nachfrage. Füge nur dann eine Ausnahm
|
|||||||
msgid "Bots are working"
|
msgid "Bots are working"
|
||||||
msgstr "Bots arbeiten"
|
msgstr "Bots arbeiten"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Bow"
|
||||||
|
msgstr "Schleife"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Bow tie"
|
||||||
|
msgstr "Fliege"
|
||||||
|
|
||||||
#: src/pages/memory-providers/SerenitySettingsForm.tsx
|
#: src/pages/memory-providers/SerenitySettingsForm.tsx
|
||||||
msgid "Brain label"
|
msgid "Brain label"
|
||||||
msgstr "Brain-Bezeichnung"
|
msgstr "Brain-Bezeichnung"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Brown"
|
||||||
|
msgstr "Braun"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Brows"
|
||||||
|
msgstr "Brauen"
|
||||||
|
|
||||||
#: src/pages/PluginsOverlay.tsx
|
#: src/pages/PluginsOverlay.tsx
|
||||||
msgid "Browse MCP servers"
|
msgid "Browse MCP servers"
|
||||||
msgstr "MCP-Server durchsuchen"
|
msgstr "MCP-Server durchsuchen"
|
||||||
@ -846,6 +885,14 @@ msgstr "MCP-Server durchsuchen"
|
|||||||
msgid "Browser"
|
msgid "Browser"
|
||||||
msgstr "Browser"
|
msgstr "Browser"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Bunny"
|
||||||
|
msgstr "Hase"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Bushy"
|
||||||
|
msgstr "Buschig"
|
||||||
|
|
||||||
#: src/pages/Shell.tsx
|
#: src/pages/Shell.tsx
|
||||||
msgid "Busy"
|
msgid "Busy"
|
||||||
msgstr "Beschäftigt"
|
msgstr "Beschäftigt"
|
||||||
@ -911,6 +958,10 @@ msgstr "Abgebrochen"
|
|||||||
msgid "Cancelled"
|
msgid "Cancelled"
|
||||||
msgstr "Abgebrochen"
|
msgstr "Abgebrochen"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Cat"
|
||||||
|
msgstr "Katze"
|
||||||
|
|
||||||
#: src/components/UserFactEditor.tsx
|
#: src/components/UserFactEditor.tsx
|
||||||
msgid "Category"
|
msgid "Category"
|
||||||
msgstr "Kategorie"
|
msgstr "Kategorie"
|
||||||
@ -1006,9 +1057,13 @@ msgstr "Wird geprüft…"
|
|||||||
msgid "Checkout has local changes. Clean it before updating."
|
msgid "Checkout has local changes. Clean it before updating."
|
||||||
msgstr "Der Checkout hat lokale Änderungen. Bereinige ihn vor dem Update."
|
msgstr "Der Checkout hat lokale Änderungen. Bereinige ihn vor dem Update."
|
||||||
|
|
||||||
#: src/pages/shell/avatar-studio-popover.tsx
|
#: src/components/OoAtelier.tsx
|
||||||
msgid "Choose a bot shape, color, or upload an image"
|
msgid "Cheeks"
|
||||||
msgstr "Wähle eine Bot-Form und Farbe oder lade ein Bild hoch"
|
msgstr "Wangen"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Chef's hat"
|
||||||
|
msgstr "Kochmütze"
|
||||||
|
|
||||||
#: src/pages/MessagingSettingsOverlay.tsx
|
#: src/pages/MessagingSettingsOverlay.tsx
|
||||||
msgid "Choose a bot…"
|
msgid "Choose a bot…"
|
||||||
@ -1026,7 +1081,7 @@ msgstr "Wähle ein neues Passwort"
|
|||||||
msgid "Choose an existing folder on this computer. Git remotes are linked automatically when a repository is present."
|
msgid "Choose an existing folder on this computer. Git remotes are linked automatically when a repository is present."
|
||||||
msgstr "Wähle einen vorhandenen Ordner auf diesem Computer. Git-Remotes werden automatisch verknüpft, wenn ein Repository vorhanden ist."
|
msgstr "Wähle einen vorhandenen Ordner auf diesem Computer. Git-Remotes werden automatisch verknüpft, wenn ein Repository vorhanden ist."
|
||||||
|
|
||||||
#: src/pages/shell/avatar-studio-popover.tsx
|
#: src/components/OoAtelier.tsx
|
||||||
msgid "Choose file"
|
msgid "Choose file"
|
||||||
msgstr "Datei wählen"
|
msgstr "Datei wählen"
|
||||||
|
|
||||||
@ -1034,6 +1089,10 @@ msgstr "Datei wählen"
|
|||||||
msgid "Choose folder"
|
msgid "Choose folder"
|
||||||
msgstr "Ordner wählen"
|
msgstr "Ordner wählen"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Choose how your Oo looks and moves"
|
||||||
|
msgstr "Wähle, wie dein Oo aussieht und sich bewegt"
|
||||||
|
|
||||||
#: src/pages/ModelSettingsOverlay.tsx
|
#: src/pages/ModelSettingsOverlay.tsx
|
||||||
msgid "Choose which connected model Rakazo uses."
|
msgid "Choose which connected model Rakazo uses."
|
||||||
msgstr "Wähle das verbundene Modell aus, das Rakazo verwendet."
|
msgstr "Wähle das verbundene Modell aus, das Rakazo verwendet."
|
||||||
@ -1046,6 +1105,10 @@ msgstr "Wähle deine Sprache"
|
|||||||
msgid "Choosing the right shape…"
|
msgid "Choosing the right shape…"
|
||||||
msgstr "Wähle die richtige Form…"
|
msgstr "Wähle die richtige Form…"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Classic"
|
||||||
|
msgstr "Klassisch"
|
||||||
|
|
||||||
#: src/pages/shell/dialogs.tsx
|
#: src/pages/shell/dialogs.tsx
|
||||||
msgid "Clear"
|
msgid "Clear"
|
||||||
msgstr "Leeren"
|
msgstr "Leeren"
|
||||||
@ -1076,12 +1139,12 @@ msgstr "Client-ID"
|
|||||||
msgid "Client secret"
|
msgid "Client secret"
|
||||||
msgstr "Client-Secret"
|
msgstr "Client-Secret"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
#: src/pages/KnowledgeSection.tsx
|
#: src/pages/KnowledgeSection.tsx
|
||||||
#: src/pages/MessagingSettingsOverlay.tsx
|
#: src/pages/MessagingSettingsOverlay.tsx
|
||||||
#: src/pages/PeerMessagesOverlay.tsx
|
#: src/pages/PeerMessagesOverlay.tsx
|
||||||
#: src/pages/RoutineEditor.tsx
|
#: src/pages/RoutineEditor.tsx
|
||||||
#: src/pages/Shell.tsx
|
#: src/pages/Shell.tsx
|
||||||
#: src/pages/shell/avatar-studio-popover.tsx
|
|
||||||
#: src/pages/WindowChrome.tsx
|
#: src/pages/WindowChrome.tsx
|
||||||
msgid "Close"
|
msgid "Close"
|
||||||
msgstr "Schließen"
|
msgstr "Schließen"
|
||||||
@ -1165,11 +1228,11 @@ msgstr "Coder"
|
|||||||
msgid "Collapse {0}"
|
msgid "Collapse {0}"
|
||||||
msgstr "{0} einklappen"
|
msgstr "{0} einklappen"
|
||||||
|
|
||||||
#: src/pages/shell/avatar-studio-popover.tsx
|
#: src/components/OoAtelier.tsx
|
||||||
msgid "Color"
|
msgid "Color"
|
||||||
msgstr "Farbe"
|
msgstr "Farbe"
|
||||||
|
|
||||||
#: src/pages/shell/avatar-studio-popover.tsx
|
#: src/components/OoAtelier.tsx
|
||||||
msgid "Color {color}"
|
msgid "Color {color}"
|
||||||
msgstr "Farbe {color}"
|
msgstr "Farbe {color}"
|
||||||
|
|
||||||
@ -1846,15 +1909,27 @@ msgstr "Cron"
|
|||||||
msgid "Cron expression"
|
msgid "Cron expression"
|
||||||
msgstr "Cron-Ausdruck"
|
msgstr "Cron-Ausdruck"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Crown"
|
||||||
|
msgstr "Krone"
|
||||||
|
|
||||||
#: src/pages/AccountSettingsOverlay.tsx
|
#: src/pages/AccountSettingsOverlay.tsx
|
||||||
msgid "Current password"
|
msgid "Current password"
|
||||||
msgstr "Aktuelles Passwort"
|
msgstr "Aktuelles Passwort"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Custom color"
|
||||||
|
msgstr "Eigene Farbe"
|
||||||
|
|
||||||
#: src/pages/shell/dialogs.tsx
|
#: src/pages/shell/dialogs.tsx
|
||||||
msgid "Customer support"
|
msgid "Customer support"
|
||||||
msgstr "Kundensupport"
|
msgstr "Kundensupport"
|
||||||
|
|
||||||
#: src/pages/shell/avatar-studio-popover.tsx
|
#: src/components/onboarding/OnboardingOoDesigner.tsx
|
||||||
|
msgid "Customize"
|
||||||
|
msgstr "Anpassen"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
msgid "Customize bot avatar"
|
msgid "Customize bot avatar"
|
||||||
msgstr "Bot-Avatar anpassen"
|
msgstr "Bot-Avatar anpassen"
|
||||||
|
|
||||||
@ -2056,6 +2131,10 @@ msgstr "Docker begrenzt für mehr Sicherheit den Zugriff auf deinen Computer. We
|
|||||||
msgid "Does not speak"
|
msgid "Does not speak"
|
||||||
msgstr "Spricht nicht"
|
msgstr "Spricht nicht"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Dog"
|
||||||
|
msgstr "Hund"
|
||||||
|
|
||||||
#: src/pages/HeuteBrief.tsx
|
#: src/pages/HeuteBrief.tsx
|
||||||
msgid "Doing"
|
msgid "Doing"
|
||||||
msgstr "In Arbeit"
|
msgstr "In Arbeit"
|
||||||
@ -2071,10 +2150,10 @@ msgstr "Kein Stress — wir sind jetzt da."
|
|||||||
#: src/components/ai/DelegatedTaskCard.tsx
|
#: src/components/ai/DelegatedTaskCard.tsx
|
||||||
#: src/components/CookingMode.tsx
|
#: src/components/CookingMode.tsx
|
||||||
#: src/components/media/MediaCard.tsx
|
#: src/components/media/MediaCard.tsx
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
#: src/components/ThreadCard.tsx
|
#: src/components/ThreadCard.tsx
|
||||||
#: src/pages/HeuteBrief.tsx
|
#: src/pages/HeuteBrief.tsx
|
||||||
#: src/pages/ProjectSessionTimeline.tsx
|
#: src/pages/ProjectSessionTimeline.tsx
|
||||||
#: src/pages/shell/avatar-studio-popover.tsx
|
|
||||||
msgid "Done"
|
msgid "Done"
|
||||||
msgstr "Fertig"
|
msgstr "Fertig"
|
||||||
|
|
||||||
@ -2083,6 +2162,10 @@ msgstr "Fertig"
|
|||||||
msgid "Done"
|
msgid "Done"
|
||||||
msgstr "Erledigt"
|
msgstr "Erledigt"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Dot"
|
||||||
|
msgstr "Punkt"
|
||||||
|
|
||||||
#. placeholder {0}: props.name
|
#. placeholder {0}: props.name
|
||||||
#: src/components/ArtifactFileCard.tsx
|
#: src/components/ArtifactFileCard.tsx
|
||||||
msgid "Download {0}"
|
msgid "Download {0}"
|
||||||
@ -2120,7 +2203,7 @@ msgstr "Entwerfe die Spezifikation…"
|
|||||||
msgid "Drag to reorder"
|
msgid "Drag to reorder"
|
||||||
msgstr "Ziehen zum Umsortieren"
|
msgstr "Ziehen zum Umsortieren"
|
||||||
|
|
||||||
#: src/pages/shell/avatar-studio-popover.tsx
|
#: src/components/OoAtelier.tsx
|
||||||
msgid "Drag, drop, or paste an image"
|
msgid "Drag, drop, or paste an image"
|
||||||
msgstr "Bild ziehen, ablegen oder einfügen"
|
msgstr "Bild ziehen, ablegen oder einfügen"
|
||||||
|
|
||||||
@ -2161,6 +2244,10 @@ msgstr "E-Mail"
|
|||||||
msgid "Embeddings URL"
|
msgid "Embeddings URL"
|
||||||
msgstr "Embeddings-URL"
|
msgstr "Embeddings-URL"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Energy"
|
||||||
|
msgstr "Energie"
|
||||||
|
|
||||||
#: src/pages/ExternalConversationSettings.tsx
|
#: src/pages/ExternalConversationSettings.tsx
|
||||||
msgid "Engage when... Ignore..."
|
msgid "Engage when... Ignore..."
|
||||||
msgstr "Reagieren, wenn ... Ignorieren ..."
|
msgstr "Reagieren, wenn ... Ignorieren ..."
|
||||||
@ -2288,6 +2375,22 @@ msgstr "Externe Unterhaltung"
|
|||||||
msgid "Extra high"
|
msgid "Extra high"
|
||||||
msgstr "Sehr hoch"
|
msgstr "Sehr hoch"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Extras"
|
||||||
|
msgstr "Extras"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Eyeliner"
|
||||||
|
msgstr "Lidstrich"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Eyes"
|
||||||
|
msgstr "Augen"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Eyeshadow"
|
||||||
|
msgstr "Lidschatten"
|
||||||
|
|
||||||
#: src/components/UserFactEditor.tsx
|
#: src/components/UserFactEditor.tsx
|
||||||
msgid "Fact"
|
msgid "Fact"
|
||||||
msgstr "Fakt"
|
msgstr "Fakt"
|
||||||
@ -2345,6 +2448,10 @@ msgstr "Suche den richtigen Ton…"
|
|||||||
msgid "Finding…"
|
msgid "Finding…"
|
||||||
msgstr "Suche läuft…"
|
msgstr "Suche läuft…"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Fine"
|
||||||
|
msgstr "Fein"
|
||||||
|
|
||||||
#. placeholder {0}: new URL(oauth.verificationUri).hostname
|
#. placeholder {0}: new URL(oauth.verificationUri).hostname
|
||||||
#: src/pages/ModelSettingsOverlay.tsx
|
#: src/pages/ModelSettingsOverlay.tsx
|
||||||
msgid "Finish signing in at <0>{0}</0>. The final page may not load; paste its URL or code here."
|
msgid "Finish signing in at <0>{0}</0>. The final page may not load; paste its URL or code here."
|
||||||
@ -2371,6 +2478,14 @@ msgstr "Erste {shownRows} Zeilen"
|
|||||||
msgid "Flag unexpected actions"
|
msgid "Flag unexpected actions"
|
||||||
msgstr "Unerwartete Aktionen markieren"
|
msgstr "Unerwartete Aktionen markieren"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Flick"
|
||||||
|
msgstr "Schwung"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Flower"
|
||||||
|
msgstr "Blume"
|
||||||
|
|
||||||
#: src/pages/PrivacySettingsOverlay.tsx
|
#: src/pages/PrivacySettingsOverlay.tsx
|
||||||
msgid "Fonts loaded locally"
|
msgid "Fonts loaded locally"
|
||||||
msgstr "Schriften lokal geladen"
|
msgstr "Schriften lokal geladen"
|
||||||
@ -2395,10 +2510,22 @@ msgstr "Passwort vergessen?"
|
|||||||
msgid "Forward"
|
msgid "Forward"
|
||||||
msgstr "Vorwärts"
|
msgstr "Vorwärts"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Freckles"
|
||||||
|
msgstr "Sommersprossen"
|
||||||
|
|
||||||
#: src/pages/ModelSettingsOverlay.tsx
|
#: src/pages/ModelSettingsOverlay.tsx
|
||||||
msgid "Free"
|
msgid "Free"
|
||||||
msgstr "Kostenlos"
|
msgstr "Kostenlos"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Frog"
|
||||||
|
msgstr "Frosch"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Full"
|
||||||
|
msgstr "Voll"
|
||||||
|
|
||||||
#: src/pages/WindowChrome.tsx
|
#: src/pages/WindowChrome.tsx
|
||||||
msgid "Fullscreen"
|
msgid "Fullscreen"
|
||||||
msgstr "Vollbild"
|
msgstr "Vollbild"
|
||||||
@ -2427,10 +2554,22 @@ msgstr "Wird vorbereitet"
|
|||||||
msgid "Getting ready…"
|
msgid "Getting ready…"
|
||||||
msgstr "Wird vorbereitet…"
|
msgstr "Wird vorbereitet…"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Ghost"
|
||||||
|
msgstr "Geist"
|
||||||
|
|
||||||
#: src/pages/RoutineEditor.tsx
|
#: src/pages/RoutineEditor.tsx
|
||||||
msgid "Git event"
|
msgid "Git event"
|
||||||
msgstr "Git-Ereignis"
|
msgstr "Git-Ereignis"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Glass"
|
||||||
|
msgstr "Glas"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Glasses"
|
||||||
|
msgstr "Brille"
|
||||||
|
|
||||||
#: src/pages/ProjectSessionTimeline.tsx
|
#: src/pages/ProjectSessionTimeline.tsx
|
||||||
msgid "Goal"
|
msgid "Goal"
|
||||||
msgstr "Ziel"
|
msgstr "Ziel"
|
||||||
@ -2445,6 +2584,14 @@ msgstr "Ziele"
|
|||||||
msgid "Goals for this project, separate from chat messages. Conversations are below."
|
msgid "Goals for this project, separate from chat messages. Conversations are below."
|
||||||
msgstr "Ziele für dieses Projekt, unabhängig von Chat-Nachrichten. Unterhaltungen findest du weiter unten."
|
msgstr "Ziele für dieses Projekt, unabhängig von Chat-Nachrichten. Unterhaltungen findest du weiter unten."
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Gold"
|
||||||
|
msgstr "Gold"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Green"
|
||||||
|
msgstr "Grün"
|
||||||
|
|
||||||
#: src/components/stage/OoStage.tsx
|
#: src/components/stage/OoStage.tsx
|
||||||
#: src/pages/MessagingSettingsOverlay.tsx
|
#: src/pages/MessagingSettingsOverlay.tsx
|
||||||
#: src/pages/Shell.tsx
|
#: src/pages/Shell.tsx
|
||||||
@ -2490,6 +2637,10 @@ msgstr "Lege zuerst auf und gib dann den Code auf dem Bildschirm ein."
|
|||||||
msgid "Hang up, then enter the code on screen."
|
msgid "Hang up, then enter the code on screen."
|
||||||
msgstr "Lege auf und gib dann den Code auf dem Bildschirm ein."
|
msgstr "Lege auf und gib dann den Code auf dem Bildschirm ein."
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Hat"
|
||||||
|
msgstr "Kopf"
|
||||||
|
|
||||||
#: src/pages/RoutineEditor.tsx
|
#: src/pages/RoutineEditor.tsx
|
||||||
msgid "header"
|
msgid "header"
|
||||||
msgstr "Header"
|
msgstr "Header"
|
||||||
@ -2503,6 +2654,10 @@ msgstr "Header-Name"
|
|||||||
msgid "Header value"
|
msgid "Header value"
|
||||||
msgstr "Header-Wert"
|
msgstr "Header-Wert"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Headphones"
|
||||||
|
msgstr "Kopfhörer"
|
||||||
|
|
||||||
#: src/components/UserProfileSettings.tsx
|
#: src/components/UserProfileSettings.tsx
|
||||||
msgid "Health"
|
msgid "Health"
|
||||||
msgstr "Gesundheit"
|
msgstr "Gesundheit"
|
||||||
@ -2511,6 +2666,10 @@ msgstr "Gesundheit"
|
|||||||
msgid "Hear a sample"
|
msgid "Hear a sample"
|
||||||
msgstr "Beispiel anhören"
|
msgstr "Beispiel anhören"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Heart"
|
||||||
|
msgstr "Herz"
|
||||||
|
|
||||||
#: src/lib/voice-persona-copy.ts
|
#: src/lib/voice-persona-copy.ts
|
||||||
msgid "Here's the read…"
|
msgid "Here's the read…"
|
||||||
msgstr "Meine Einschätzung…"
|
msgstr "Meine Einschätzung…"
|
||||||
@ -2597,7 +2756,7 @@ msgstr "Ignorieren"
|
|||||||
msgid "Image model"
|
msgid "Image model"
|
||||||
msgstr "Bildmodell"
|
msgstr "Bildmodell"
|
||||||
|
|
||||||
#: src/pages/shell/avatar-studio-popover.tsx
|
#: src/components/OoAtelier.tsx
|
||||||
msgid "Image upload area"
|
msgid "Image upload area"
|
||||||
msgstr "Bild-Upload-Bereich"
|
msgstr "Bild-Upload-Bereich"
|
||||||
|
|
||||||
@ -2671,6 +2830,10 @@ msgstr "Intervallwert"
|
|||||||
msgid "Interval unit"
|
msgid "Interval unit"
|
||||||
msgstr "Intervalleinheit"
|
msgstr "Intervalleinheit"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Iris"
|
||||||
|
msgstr "Iris"
|
||||||
|
|
||||||
#: src/pages/MemorySettingsOverlay.tsx
|
#: src/pages/MemorySettingsOverlay.tsx
|
||||||
#: src/pages/shell/bot-panel.tsx
|
#: src/pages/shell/bot-panel.tsx
|
||||||
msgid "Isolated"
|
msgid "Isolated"
|
||||||
@ -2710,6 +2873,10 @@ msgstr "Wissen"
|
|||||||
msgid "Language"
|
msgid "Language"
|
||||||
msgstr "Sprache"
|
msgstr "Sprache"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Lashes"
|
||||||
|
msgstr "Wimpern"
|
||||||
|
|
||||||
#: src/components/DesktopUpdates.tsx
|
#: src/components/DesktopUpdates.tsx
|
||||||
msgid "Later"
|
msgid "Later"
|
||||||
msgstr "Später"
|
msgstr "Später"
|
||||||
@ -2726,6 +2893,10 @@ msgstr "Privatkanal — ich bin da."
|
|||||||
msgid "Light"
|
msgid "Light"
|
||||||
msgstr "Hell"
|
msgstr "Hell"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Lilac"
|
||||||
|
msgstr "Flieder"
|
||||||
|
|
||||||
#: src/pages/shell/bot-capabilities.tsx
|
#: src/pages/shell/bot-capabilities.tsx
|
||||||
msgid "Limit built-in tools"
|
msgid "Limit built-in tools"
|
||||||
msgstr "Integrierte Tools einschränken"
|
msgstr "Integrierte Tools einschränken"
|
||||||
@ -3031,6 +3202,10 @@ msgstr "Minimieren"
|
|||||||
msgid "Minimize bots"
|
msgid "Minimize bots"
|
||||||
msgstr "Bots minimieren"
|
msgstr "Bots minimieren"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Mint"
|
||||||
|
msgstr "Mint"
|
||||||
|
|
||||||
#: src/pages/RoutineSchedule.tsx
|
#: src/pages/RoutineSchedule.tsx
|
||||||
msgid "minute"
|
msgid "minute"
|
||||||
msgstr "Minute"
|
msgstr "Minute"
|
||||||
@ -3080,6 +3255,10 @@ msgstr "Modelle für den Standard-Space des Serverbesitzers."
|
|||||||
msgid "Models from server"
|
msgid "Models from server"
|
||||||
msgstr "Modelle vom Server"
|
msgstr "Modelle vom Server"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Monocle"
|
||||||
|
msgstr "Monokel"
|
||||||
|
|
||||||
#: src/pages/RoutineSchedule.tsx
|
#: src/pages/RoutineSchedule.tsx
|
||||||
msgid "Monthly"
|
msgid "Monthly"
|
||||||
msgstr "Monatlich"
|
msgstr "Monatlich"
|
||||||
@ -3145,6 +3324,10 @@ msgstr "Gruppe benennen"
|
|||||||
msgid "Name this routine"
|
msgid "Name this routine"
|
||||||
msgstr "Routine benennen"
|
msgstr "Routine benennen"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Neck"
|
||||||
|
msgstr "Hals"
|
||||||
|
|
||||||
#: src/components/stage/OoStage.tsx
|
#: src/components/stage/OoStage.tsx
|
||||||
msgid "Needs attention"
|
msgid "Needs attention"
|
||||||
msgstr "Braucht Aufmerksamkeit"
|
msgstr "Braucht Aufmerksamkeit"
|
||||||
@ -3168,6 +3351,10 @@ msgstr "Braucht dich"
|
|||||||
msgid "Needs your reply"
|
msgid "Needs your reply"
|
||||||
msgstr "Braucht deine Antwort"
|
msgstr "Braucht deine Antwort"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Nerd"
|
||||||
|
msgstr "Nerd"
|
||||||
|
|
||||||
#: src/pages/shell/bot-panel.tsx
|
#: src/pages/shell/bot-panel.tsx
|
||||||
msgid "New bot"
|
msgid "New bot"
|
||||||
msgstr "Neuer Bot"
|
msgstr "Neuer Bot"
|
||||||
@ -3359,6 +3546,10 @@ msgstr "Kein Trigger"
|
|||||||
msgid "No usage data is sent to third parties"
|
msgid "No usage data is sent to third parties"
|
||||||
msgstr "Es werden keine Nutzungsdaten an Dritte gesendet"
|
msgstr "Es werden keine Nutzungsdaten an Dritte gesendet"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "None"
|
||||||
|
msgstr "Keine"
|
||||||
|
|
||||||
#: src/pages/ScratchpadSection.tsx
|
#: src/pages/ScratchpadSection.tsx
|
||||||
msgid "None yet"
|
msgid "None yet"
|
||||||
msgstr "Noch keine"
|
msgstr "Noch keine"
|
||||||
@ -3555,6 +3746,10 @@ msgstr "PagerDuty-Vorfall"
|
|||||||
msgid "Park"
|
msgid "Park"
|
||||||
msgstr "Zurückstellen"
|
msgstr "Zurückstellen"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Party hat"
|
||||||
|
msgstr "Partyhut"
|
||||||
|
|
||||||
#: src/components/AskCard.tsx
|
#: src/components/AskCard.tsx
|
||||||
#: src/pages/AccountSettingsOverlay.tsx
|
#: src/pages/AccountSettingsOverlay.tsx
|
||||||
#: src/pages/Auth.tsx
|
#: src/pages/Auth.tsx
|
||||||
@ -3591,6 +3786,18 @@ msgstr "Füge deinen API-Schlüssel ein"
|
|||||||
msgid "Paused"
|
msgid "Paused"
|
||||||
msgstr "Pausiert"
|
msgstr "Pausiert"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Paw"
|
||||||
|
msgstr "Pfote"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Peach"
|
||||||
|
msgstr "Pfirsich"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Penguin"
|
||||||
|
msgstr "Pinguin"
|
||||||
|
|
||||||
#: src/components/UserProfileSettings.tsx
|
#: src/components/UserProfileSettings.tsx
|
||||||
msgid "People"
|
msgid "People"
|
||||||
msgstr "Menschen"
|
msgstr "Menschen"
|
||||||
@ -3615,6 +3822,14 @@ msgstr "Wähle eine Stimme"
|
|||||||
msgid "Pin"
|
msgid "Pin"
|
||||||
msgstr "Anheften"
|
msgstr "Anheften"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Pink"
|
||||||
|
msgstr "Rosa"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Playful"
|
||||||
|
msgstr "Verspielt"
|
||||||
|
|
||||||
#: src/pages/VoiceSettingsOverlay.tsx
|
#: src/pages/VoiceSettingsOverlay.tsx
|
||||||
msgid "Playing…"
|
msgid "Playing…"
|
||||||
msgstr "Wiedergabe…"
|
msgstr "Wiedergabe…"
|
||||||
@ -3762,6 +3977,10 @@ msgstr "Antworten vorlesen"
|
|||||||
msgid "read-only"
|
msgid "read-only"
|
||||||
msgstr "schreibgeschützt"
|
msgstr "schreibgeschützt"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Reading glasses"
|
||||||
|
msgstr "Lesebrille"
|
||||||
|
|
||||||
#: src/lib/voice-persona-copy.ts
|
#: src/lib/voice-persona-copy.ts
|
||||||
msgid "Reading the stack trace…"
|
msgid "Reading the stack trace…"
|
||||||
msgstr "Lese den Stacktrace…"
|
msgstr "Lese den Stacktrace…"
|
||||||
@ -3976,7 +4195,7 @@ msgstr "Recherche, Schreiben"
|
|||||||
|
|
||||||
#: src/components/ComputerMaintenanceActions.tsx
|
#: src/components/ComputerMaintenanceActions.tsx
|
||||||
#: src/components/onboarding/OnboardingOoDesigner.tsx
|
#: src/components/onboarding/OnboardingOoDesigner.tsx
|
||||||
#: src/pages/shell/avatar-studio-popover.tsx
|
#: src/components/OoAtelier.tsx
|
||||||
msgid "Reset"
|
msgid "Reset"
|
||||||
msgstr "Zurücksetzen"
|
msgstr "Zurücksetzen"
|
||||||
|
|
||||||
@ -4042,14 +4261,26 @@ msgstr "Widerrufen"
|
|||||||
msgid "Riffing"
|
msgid "Riffing"
|
||||||
msgstr "Am Riffen"
|
msgstr "Am Riffen"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Robot"
|
||||||
|
msgstr "Roboter"
|
||||||
|
|
||||||
#: src/pages/ExternalConversationSettings.tsx
|
#: src/pages/ExternalConversationSettings.tsx
|
||||||
msgid "Room guidance"
|
msgid "Room guidance"
|
||||||
msgstr "Hinweise für diesen Raum"
|
msgstr "Hinweise für diesen Raum"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Rose"
|
||||||
|
msgstr "Rosé"
|
||||||
|
|
||||||
#: src/pages/RoutineEditor.tsx
|
#: src/pages/RoutineEditor.tsx
|
||||||
msgid "Rotate key"
|
msgid "Rotate key"
|
||||||
msgstr "Schlüssel erneuern"
|
msgstr "Schlüssel erneuern"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Round"
|
||||||
|
msgstr "Rund"
|
||||||
|
|
||||||
#: src/pages/RoutineEditor.tsx
|
#: src/pages/RoutineEditor.tsx
|
||||||
#: src/pages/Shell.tsx
|
#: src/pages/Shell.tsx
|
||||||
#: src/pages/shell/routine-event-line.tsx
|
#: src/pages/shell/routine-event-line.tsx
|
||||||
@ -4164,6 +4395,10 @@ msgstr "Antworte mit Ja oder Nein oder in einem Satz."
|
|||||||
msgid "Scanning exposure…"
|
msgid "Scanning exposure…"
|
||||||
msgstr "Prüfe das Risiko…"
|
msgstr "Prüfe das Risiko…"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Scarf"
|
||||||
|
msgstr "Schal"
|
||||||
|
|
||||||
#: src/components/onboarding/OnboardingOoDesigner.tsx
|
#: src/components/onboarding/OnboardingOoDesigner.tsx
|
||||||
msgid "Scene"
|
msgid "Scene"
|
||||||
msgstr "Szene"
|
msgstr "Szene"
|
||||||
@ -4294,10 +4529,15 @@ msgstr "Einrichtungshilfe"
|
|||||||
msgid "Setup progress"
|
msgid "Setup progress"
|
||||||
msgstr "Einrichtungsfortschritt"
|
msgstr "Einrichtungsfortschritt"
|
||||||
|
|
||||||
#: src/pages/shell/avatar-studio-popover.tsx
|
#: src/components/OoAtelier.tsx
|
||||||
msgid "Shape"
|
msgid "Shape"
|
||||||
msgstr "Form"
|
msgstr "Form"
|
||||||
|
|
||||||
|
#. placeholder {0}: shape + 1
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Shape {0}"
|
||||||
|
msgstr "Form {0}"
|
||||||
|
|
||||||
#: src/lib/voice-persona-copy.ts
|
#: src/lib/voice-persona-copy.ts
|
||||||
msgid "Share what you're imagining — or tell me one thing to refine."
|
msgid "Share what you're imagining — or tell me one thing to refine."
|
||||||
msgstr "Erzähl, was dir vorschwebt — oder nenn mir eine Sache, die ich verfeinern soll."
|
msgstr "Erzähl, was dir vorschwebt — oder nenn mir eine Sache, die ich verfeinern soll."
|
||||||
@ -4415,6 +4655,10 @@ msgstr "Slack-Nachricht"
|
|||||||
msgid "Slack not enabled"
|
msgid "Slack not enabled"
|
||||||
msgstr "Slack nicht aktiviert"
|
msgstr "Slack nicht aktiviert"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Soft"
|
||||||
|
msgstr "Zart"
|
||||||
|
|
||||||
#: src/components/SoftwareUpdateSection.tsx
|
#: src/components/SoftwareUpdateSection.tsx
|
||||||
msgid "Software update"
|
msgid "Software update"
|
||||||
msgstr "Software-Update"
|
msgstr "Software-Update"
|
||||||
@ -4444,6 +4688,10 @@ msgstr "Space-Standard"
|
|||||||
msgid "Spaces"
|
msgid "Spaces"
|
||||||
msgstr "Spaces"
|
msgstr "Spaces"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Sparkle"
|
||||||
|
msgstr "Glanz"
|
||||||
|
|
||||||
#: src/pages/shell/transcript.tsx
|
#: src/pages/shell/transcript.tsx
|
||||||
msgid "Speak"
|
msgid "Speak"
|
||||||
msgstr "Vorlesen"
|
msgstr "Vorlesen"
|
||||||
@ -4478,10 +4726,18 @@ msgstr "Spreche mit Bedacht…"
|
|||||||
msgid "Specialist crew"
|
msgid "Specialist crew"
|
||||||
msgstr "Spezialisten-Team"
|
msgstr "Spezialisten-Team"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Species"
|
||||||
|
msgstr "Wesen"
|
||||||
|
|
||||||
#: src/lib/model-tier-label.ts
|
#: src/lib/model-tier-label.ts
|
||||||
msgid "Standard"
|
msgid "Standard"
|
||||||
msgstr "Standard"
|
msgstr "Standard"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Star"
|
||||||
|
msgstr "Stern"
|
||||||
|
|
||||||
#: src/pages/Shell.tsx
|
#: src/pages/Shell.tsx
|
||||||
msgid "Start"
|
msgid "Start"
|
||||||
msgstr "Starten"
|
msgstr "Starten"
|
||||||
@ -4585,6 +4841,10 @@ msgstr "Stresstest fürs Portfolio…"
|
|||||||
msgid "Stronger together — {0} specialists"
|
msgid "Stronger together — {0} specialists"
|
||||||
msgstr "Stärker zusammen — {0} Spezialisten"
|
msgstr "Stärker zusammen — {0} Spezialisten"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Stub"
|
||||||
|
msgstr "Stummel"
|
||||||
|
|
||||||
#: src/pages/shell/transcript.tsx
|
#: src/pages/shell/transcript.tsx
|
||||||
msgid "subagent"
|
msgid "subagent"
|
||||||
msgstr "Subagent"
|
msgstr "Subagent"
|
||||||
@ -4597,6 +4857,10 @@ msgstr "Absenden"
|
|||||||
msgid "Summary"
|
msgid "Summary"
|
||||||
msgstr "Zusammenfassung"
|
msgstr "Zusammenfassung"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Sunglasses"
|
||||||
|
msgstr "Sonnenbrille"
|
||||||
|
|
||||||
#: src/pages/ModelSettingsOverlay.tsx
|
#: src/pages/ModelSettingsOverlay.tsx
|
||||||
msgid "Supports images"
|
msgid "Supports images"
|
||||||
msgstr "Unterstützt Bilder"
|
msgstr "Unterstützt Bilder"
|
||||||
@ -4605,6 +4869,10 @@ msgstr "Unterstützt Bilder"
|
|||||||
msgid "Supports thinking"
|
msgid "Supports thinking"
|
||||||
msgstr "Unterstützt Denkmodus"
|
msgstr "Unterstützt Denkmodus"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Surprise me"
|
||||||
|
msgstr "Überrasch mich"
|
||||||
|
|
||||||
#: src/components/onboarding/LookPreviewCarousel.tsx
|
#: src/components/onboarding/LookPreviewCarousel.tsx
|
||||||
msgid "Swipe for more looks"
|
msgid "Swipe for more looks"
|
||||||
msgstr "Wische für weitere Looks"
|
msgstr "Wische für weitere Looks"
|
||||||
@ -4921,7 +5189,7 @@ msgstr "Team-Computer wird aktualisiert"
|
|||||||
msgid "Updating…"
|
msgid "Updating…"
|
||||||
msgstr "Wird aktualisiert…"
|
msgstr "Wird aktualisiert…"
|
||||||
|
|
||||||
#: src/pages/shell/avatar-studio-popover.tsx
|
#: src/components/OoAtelier.tsx
|
||||||
msgid "Upload"
|
msgid "Upload"
|
||||||
msgstr "Hochladen"
|
msgstr "Hochladen"
|
||||||
|
|
||||||
@ -4967,6 +5235,10 @@ msgstr "Wird geprüft…"
|
|||||||
msgid "Video workflow"
|
msgid "Video workflow"
|
||||||
msgstr "Video-Workflow"
|
msgstr "Video-Workflow"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Violet"
|
||||||
|
msgstr "Violett"
|
||||||
|
|
||||||
#: src/pages/SettingsOverlay.tsx
|
#: src/pages/SettingsOverlay.tsx
|
||||||
#: src/pages/shell/bot-panel.tsx
|
#: src/pages/shell/bot-panel.tsx
|
||||||
#: src/pages/shell/composer.tsx
|
#: src/pages/shell/composer.tsx
|
||||||
@ -5113,6 +5385,10 @@ msgstr "Um welche Aufgabe geht es?"
|
|||||||
msgid "When a webhook fires"
|
msgid "When a webhook fires"
|
||||||
msgstr "Wenn ein Webhook auslöst"
|
msgstr "Wenn ein Webhook auslöst"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "When needed"
|
||||||
|
msgstr "Bei Bedarf"
|
||||||
|
|
||||||
#: src/lib/onboarding-copy.ts
|
#: src/lib/onboarding-copy.ts
|
||||||
msgid "When should I check in with you?"
|
msgid "When should I check in with you?"
|
||||||
msgstr "Wann soll ich mich bei dir melden?"
|
msgstr "Wann soll ich mich bei dir melden?"
|
||||||
@ -5133,6 +5409,10 @@ msgstr "Einsatzzeitpunkt"
|
|||||||
msgid "Where should bots run?"
|
msgid "Where should bots run?"
|
||||||
msgstr "Wo sollen Bots ausgeführt werden?"
|
msgstr "Wo sollen Bots ausgeführt werden?"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Winged"
|
||||||
|
msgstr "Geschwungen"
|
||||||
|
|
||||||
#: src/pages/shell/bot-picker.tsx
|
#: src/pages/shell/bot-picker.tsx
|
||||||
msgid "With:"
|
msgid "With:"
|
||||||
msgstr "Mit:"
|
msgstr "Mit:"
|
||||||
|
|||||||
@ -668,6 +668,10 @@ msgstr "Are you sure you want to delete your account? This cannot be undone."
|
|||||||
msgid "Arguments"
|
msgid "Arguments"
|
||||||
msgstr "Arguments"
|
msgstr "Arguments"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Arms"
|
||||||
|
msgstr "Arms"
|
||||||
|
|
||||||
#. placeholder {0}: rule.matchValue
|
#. placeholder {0}: rule.matchValue
|
||||||
#: src/components/ApprovalRulesSettings.tsx
|
#: src/components/ApprovalRulesSettings.tsx
|
||||||
msgid "Ask before {0}"
|
msgid "Ask before {0}"
|
||||||
@ -716,6 +720,10 @@ msgstr "at {0}"
|
|||||||
msgid "at {timeSelect}"
|
msgid "at {timeSelect}"
|
||||||
msgstr "at {timeSelect}"
|
msgstr "at {timeSelect}"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Atelier"
|
||||||
|
msgstr "Atelier"
|
||||||
|
|
||||||
#: src/pages/shell/composer.tsx
|
#: src/pages/shell/composer.tsx
|
||||||
msgid "Attach file"
|
msgid "Attach file"
|
||||||
msgstr "Attach file"
|
msgstr "Attach file"
|
||||||
@ -756,10 +764,6 @@ msgstr "Automated senders will appear after they post here."
|
|||||||
msgid "Available after the routine is saved"
|
msgid "Available after the routine is saved"
|
||||||
msgstr "Available after the routine is saved"
|
msgstr "Available after the routine is saved"
|
||||||
|
|
||||||
#: src/pages/shell/avatar-studio-popover.tsx
|
|
||||||
msgid "Avatar Studio"
|
|
||||||
msgstr "Avatar Studio"
|
|
||||||
|
|
||||||
#: src/components/browser/InAppBrowser.tsx
|
#: src/components/browser/InAppBrowser.tsx
|
||||||
#: src/components/CookingMode.tsx
|
#: src/components/CookingMode.tsx
|
||||||
#: src/components/onboarding/OnboardingVoiceStep.tsx
|
#: src/components/onboarding/OnboardingVoiceStep.tsx
|
||||||
@ -781,15 +785,35 @@ msgstr "Back to timeline"
|
|||||||
msgid "Base URL"
|
msgid "Base URL"
|
||||||
msgstr "Base URL"
|
msgstr "Base URL"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Beanie"
|
||||||
|
msgstr "Beanie"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Bear"
|
||||||
|
msgstr "Bear"
|
||||||
|
|
||||||
#: src/pages/memory-providers/SerenitySettingsForm.tsx
|
#: src/pages/memory-providers/SerenitySettingsForm.tsx
|
||||||
#: src/pages/PluginsOverlay.tsx
|
#: src/pages/PluginsOverlay.tsx
|
||||||
msgid "Bearer token"
|
msgid "Bearer token"
|
||||||
msgstr "Bearer token"
|
msgstr "Bearer token"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Bell"
|
||||||
|
msgstr "Bell"
|
||||||
|
|
||||||
#: src/components/NotificationSettingsPanel.tsx
|
#: src/components/NotificationSettingsPanel.tsx
|
||||||
msgid "Blocked in your browser settings"
|
msgid "Blocked in your browser settings"
|
||||||
msgstr "Blocked in your browser settings"
|
msgstr "Blocked in your browser settings"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Blue"
|
||||||
|
msgstr "Blue"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Body"
|
||||||
|
msgstr "Body"
|
||||||
|
|
||||||
#: src/pages/shell/computer-screen.tsx
|
#: src/pages/shell/computer-screen.tsx
|
||||||
msgid "Booting live desktop…"
|
msgid "Booting live desktop…"
|
||||||
msgstr "Booting live desktop…"
|
msgstr "Booting live desktop…"
|
||||||
@ -810,7 +834,6 @@ msgstr "Bot"
|
|||||||
|
|
||||||
#: src/pages/IntegrationSetup.tsx
|
#: src/pages/IntegrationSetup.tsx
|
||||||
#: src/pages/Shell.tsx
|
#: src/pages/Shell.tsx
|
||||||
#: src/pages/shell/avatar-studio-popover.tsx
|
|
||||||
msgid "Bot"
|
msgid "Bot"
|
||||||
msgstr "Bot"
|
msgstr "Bot"
|
||||||
|
|
||||||
@ -834,10 +857,26 @@ msgstr "Bots act without asking by default. Add an exception only when you want
|
|||||||
msgid "Bots are working"
|
msgid "Bots are working"
|
||||||
msgstr "Bots are working"
|
msgstr "Bots are working"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Bow"
|
||||||
|
msgstr "Bow"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Bow tie"
|
||||||
|
msgstr "Bow tie"
|
||||||
|
|
||||||
#: src/pages/memory-providers/SerenitySettingsForm.tsx
|
#: src/pages/memory-providers/SerenitySettingsForm.tsx
|
||||||
msgid "Brain label"
|
msgid "Brain label"
|
||||||
msgstr "Brain label"
|
msgstr "Brain label"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Brown"
|
||||||
|
msgstr "Brown"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Brows"
|
||||||
|
msgstr "Brows"
|
||||||
|
|
||||||
#: src/pages/PluginsOverlay.tsx
|
#: src/pages/PluginsOverlay.tsx
|
||||||
msgid "Browse MCP servers"
|
msgid "Browse MCP servers"
|
||||||
msgstr "Browse MCP servers"
|
msgstr "Browse MCP servers"
|
||||||
@ -846,6 +885,14 @@ msgstr "Browse MCP servers"
|
|||||||
msgid "Browser"
|
msgid "Browser"
|
||||||
msgstr "Browser"
|
msgstr "Browser"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Bunny"
|
||||||
|
msgstr "Bunny"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Bushy"
|
||||||
|
msgstr "Bushy"
|
||||||
|
|
||||||
#: src/pages/Shell.tsx
|
#: src/pages/Shell.tsx
|
||||||
msgid "Busy"
|
msgid "Busy"
|
||||||
msgstr "Busy"
|
msgstr "Busy"
|
||||||
@ -911,6 +958,10 @@ msgstr "Cancelled"
|
|||||||
msgid "Cancelled"
|
msgid "Cancelled"
|
||||||
msgstr "Cancelled"
|
msgstr "Cancelled"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Cat"
|
||||||
|
msgstr "Cat"
|
||||||
|
|
||||||
#: src/components/UserFactEditor.tsx
|
#: src/components/UserFactEditor.tsx
|
||||||
msgid "Category"
|
msgid "Category"
|
||||||
msgstr "Category"
|
msgstr "Category"
|
||||||
@ -1006,9 +1057,13 @@ msgstr "Checking…"
|
|||||||
msgid "Checkout has local changes. Clean it before updating."
|
msgid "Checkout has local changes. Clean it before updating."
|
||||||
msgstr "Checkout has local changes. Clean it before updating."
|
msgstr "Checkout has local changes. Clean it before updating."
|
||||||
|
|
||||||
#: src/pages/shell/avatar-studio-popover.tsx
|
#: src/components/OoAtelier.tsx
|
||||||
msgid "Choose a bot shape, color, or upload an image"
|
msgid "Cheeks"
|
||||||
msgstr "Choose a bot shape, color, or upload an image"
|
msgstr "Cheeks"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Chef's hat"
|
||||||
|
msgstr "Chef's hat"
|
||||||
|
|
||||||
#: src/pages/MessagingSettingsOverlay.tsx
|
#: src/pages/MessagingSettingsOverlay.tsx
|
||||||
msgid "Choose a bot…"
|
msgid "Choose a bot…"
|
||||||
@ -1026,7 +1081,7 @@ msgstr "Choose a new password"
|
|||||||
msgid "Choose an existing folder on this computer. Git remotes are linked automatically when a repository is present."
|
msgid "Choose an existing folder on this computer. Git remotes are linked automatically when a repository is present."
|
||||||
msgstr "Choose an existing folder on this computer. Git remotes are linked automatically when a repository is present."
|
msgstr "Choose an existing folder on this computer. Git remotes are linked automatically when a repository is present."
|
||||||
|
|
||||||
#: src/pages/shell/avatar-studio-popover.tsx
|
#: src/components/OoAtelier.tsx
|
||||||
msgid "Choose file"
|
msgid "Choose file"
|
||||||
msgstr "Choose file"
|
msgstr "Choose file"
|
||||||
|
|
||||||
@ -1034,6 +1089,10 @@ msgstr "Choose file"
|
|||||||
msgid "Choose folder"
|
msgid "Choose folder"
|
||||||
msgstr "Choose folder"
|
msgstr "Choose folder"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Choose how your Oo looks and moves"
|
||||||
|
msgstr "Choose how your Oo looks and moves"
|
||||||
|
|
||||||
#: src/pages/ModelSettingsOverlay.tsx
|
#: src/pages/ModelSettingsOverlay.tsx
|
||||||
msgid "Choose which connected model Rakazo uses."
|
msgid "Choose which connected model Rakazo uses."
|
||||||
msgstr "Choose which connected model Rakazo uses."
|
msgstr "Choose which connected model Rakazo uses."
|
||||||
@ -1046,6 +1105,10 @@ msgstr "Choose your language"
|
|||||||
msgid "Choosing the right shape…"
|
msgid "Choosing the right shape…"
|
||||||
msgstr "Choosing the right shape…"
|
msgstr "Choosing the right shape…"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Classic"
|
||||||
|
msgstr "Classic"
|
||||||
|
|
||||||
#: src/pages/shell/dialogs.tsx
|
#: src/pages/shell/dialogs.tsx
|
||||||
msgid "Clear"
|
msgid "Clear"
|
||||||
msgstr "Clear"
|
msgstr "Clear"
|
||||||
@ -1076,12 +1139,12 @@ msgstr "Client ID"
|
|||||||
msgid "Client secret"
|
msgid "Client secret"
|
||||||
msgstr "Client secret"
|
msgstr "Client secret"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
#: src/pages/KnowledgeSection.tsx
|
#: src/pages/KnowledgeSection.tsx
|
||||||
#: src/pages/MessagingSettingsOverlay.tsx
|
#: src/pages/MessagingSettingsOverlay.tsx
|
||||||
#: src/pages/PeerMessagesOverlay.tsx
|
#: src/pages/PeerMessagesOverlay.tsx
|
||||||
#: src/pages/RoutineEditor.tsx
|
#: src/pages/RoutineEditor.tsx
|
||||||
#: src/pages/Shell.tsx
|
#: src/pages/Shell.tsx
|
||||||
#: src/pages/shell/avatar-studio-popover.tsx
|
|
||||||
#: src/pages/WindowChrome.tsx
|
#: src/pages/WindowChrome.tsx
|
||||||
msgid "Close"
|
msgid "Close"
|
||||||
msgstr "Close"
|
msgstr "Close"
|
||||||
@ -1165,11 +1228,11 @@ msgstr "Coder"
|
|||||||
msgid "Collapse {0}"
|
msgid "Collapse {0}"
|
||||||
msgstr "Collapse {0}"
|
msgstr "Collapse {0}"
|
||||||
|
|
||||||
#: src/pages/shell/avatar-studio-popover.tsx
|
#: src/components/OoAtelier.tsx
|
||||||
msgid "Color"
|
msgid "Color"
|
||||||
msgstr "Color"
|
msgstr "Color"
|
||||||
|
|
||||||
#: src/pages/shell/avatar-studio-popover.tsx
|
#: src/components/OoAtelier.tsx
|
||||||
msgid "Color {color}"
|
msgid "Color {color}"
|
||||||
msgstr "Color {color}"
|
msgstr "Color {color}"
|
||||||
|
|
||||||
@ -1846,15 +1909,27 @@ msgstr "Cron"
|
|||||||
msgid "Cron expression"
|
msgid "Cron expression"
|
||||||
msgstr "Cron expression"
|
msgstr "Cron expression"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Crown"
|
||||||
|
msgstr "Crown"
|
||||||
|
|
||||||
#: src/pages/AccountSettingsOverlay.tsx
|
#: src/pages/AccountSettingsOverlay.tsx
|
||||||
msgid "Current password"
|
msgid "Current password"
|
||||||
msgstr "Current password"
|
msgstr "Current password"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Custom color"
|
||||||
|
msgstr "Custom color"
|
||||||
|
|
||||||
#: src/pages/shell/dialogs.tsx
|
#: src/pages/shell/dialogs.tsx
|
||||||
msgid "Customer support"
|
msgid "Customer support"
|
||||||
msgstr "Customer support"
|
msgstr "Customer support"
|
||||||
|
|
||||||
#: src/pages/shell/avatar-studio-popover.tsx
|
#: src/components/onboarding/OnboardingOoDesigner.tsx
|
||||||
|
msgid "Customize"
|
||||||
|
msgstr "Customize"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
msgid "Customize bot avatar"
|
msgid "Customize bot avatar"
|
||||||
msgstr "Customize bot avatar"
|
msgstr "Customize bot avatar"
|
||||||
|
|
||||||
@ -2056,6 +2131,10 @@ msgstr "Docker limits access to your computer for added security. Using {hostLab
|
|||||||
msgid "Does not speak"
|
msgid "Does not speak"
|
||||||
msgstr "Does not speak"
|
msgstr "Does not speak"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Dog"
|
||||||
|
msgstr "Dog"
|
||||||
|
|
||||||
#: src/pages/HeuteBrief.tsx
|
#: src/pages/HeuteBrief.tsx
|
||||||
msgid "Doing"
|
msgid "Doing"
|
||||||
msgstr "Doing"
|
msgstr "Doing"
|
||||||
@ -2071,10 +2150,10 @@ msgstr "Don't stress — we're here now."
|
|||||||
#: src/components/ai/DelegatedTaskCard.tsx
|
#: src/components/ai/DelegatedTaskCard.tsx
|
||||||
#: src/components/CookingMode.tsx
|
#: src/components/CookingMode.tsx
|
||||||
#: src/components/media/MediaCard.tsx
|
#: src/components/media/MediaCard.tsx
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
#: src/components/ThreadCard.tsx
|
#: src/components/ThreadCard.tsx
|
||||||
#: src/pages/HeuteBrief.tsx
|
#: src/pages/HeuteBrief.tsx
|
||||||
#: src/pages/ProjectSessionTimeline.tsx
|
#: src/pages/ProjectSessionTimeline.tsx
|
||||||
#: src/pages/shell/avatar-studio-popover.tsx
|
|
||||||
msgid "Done"
|
msgid "Done"
|
||||||
msgstr "Done"
|
msgstr "Done"
|
||||||
|
|
||||||
@ -2083,6 +2162,10 @@ msgstr "Done"
|
|||||||
msgid "Done"
|
msgid "Done"
|
||||||
msgstr "Done"
|
msgstr "Done"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Dot"
|
||||||
|
msgstr "Dot"
|
||||||
|
|
||||||
#. placeholder {0}: props.name
|
#. placeholder {0}: props.name
|
||||||
#: src/components/ArtifactFileCard.tsx
|
#: src/components/ArtifactFileCard.tsx
|
||||||
msgid "Download {0}"
|
msgid "Download {0}"
|
||||||
@ -2120,7 +2203,7 @@ msgstr "Drafting the spec…"
|
|||||||
msgid "Drag to reorder"
|
msgid "Drag to reorder"
|
||||||
msgstr "Drag to reorder"
|
msgstr "Drag to reorder"
|
||||||
|
|
||||||
#: src/pages/shell/avatar-studio-popover.tsx
|
#: src/components/OoAtelier.tsx
|
||||||
msgid "Drag, drop, or paste an image"
|
msgid "Drag, drop, or paste an image"
|
||||||
msgstr "Drag, drop, or paste an image"
|
msgstr "Drag, drop, or paste an image"
|
||||||
|
|
||||||
@ -2161,6 +2244,10 @@ msgstr "Email"
|
|||||||
msgid "Embeddings URL"
|
msgid "Embeddings URL"
|
||||||
msgstr "Embeddings URL"
|
msgstr "Embeddings URL"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Energy"
|
||||||
|
msgstr "Energy"
|
||||||
|
|
||||||
#: src/pages/ExternalConversationSettings.tsx
|
#: src/pages/ExternalConversationSettings.tsx
|
||||||
msgid "Engage when... Ignore..."
|
msgid "Engage when... Ignore..."
|
||||||
msgstr "Engage when... Ignore..."
|
msgstr "Engage when... Ignore..."
|
||||||
@ -2288,6 +2375,22 @@ msgstr "External conversation"
|
|||||||
msgid "Extra high"
|
msgid "Extra high"
|
||||||
msgstr "Extra high"
|
msgstr "Extra high"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Extras"
|
||||||
|
msgstr "Extras"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Eyeliner"
|
||||||
|
msgstr "Eyeliner"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Eyes"
|
||||||
|
msgstr "Eyes"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Eyeshadow"
|
||||||
|
msgstr "Eyeshadow"
|
||||||
|
|
||||||
#: src/components/UserFactEditor.tsx
|
#: src/components/UserFactEditor.tsx
|
||||||
msgid "Fact"
|
msgid "Fact"
|
||||||
msgstr "Fact"
|
msgstr "Fact"
|
||||||
@ -2345,6 +2448,10 @@ msgstr "Finding the right tone…"
|
|||||||
msgid "Finding…"
|
msgid "Finding…"
|
||||||
msgstr "Finding…"
|
msgstr "Finding…"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Fine"
|
||||||
|
msgstr "Fine"
|
||||||
|
|
||||||
#. placeholder {0}: new URL(oauth.verificationUri).hostname
|
#. placeholder {0}: new URL(oauth.verificationUri).hostname
|
||||||
#: src/pages/ModelSettingsOverlay.tsx
|
#: src/pages/ModelSettingsOverlay.tsx
|
||||||
msgid "Finish signing in at <0>{0}</0>. The final page may not load; paste its URL or code here."
|
msgid "Finish signing in at <0>{0}</0>. The final page may not load; paste its URL or code here."
|
||||||
@ -2371,6 +2478,14 @@ msgstr "First {shownRows} rows"
|
|||||||
msgid "Flag unexpected actions"
|
msgid "Flag unexpected actions"
|
||||||
msgstr "Flag unexpected actions"
|
msgstr "Flag unexpected actions"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Flick"
|
||||||
|
msgstr "Flick"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Flower"
|
||||||
|
msgstr "Flower"
|
||||||
|
|
||||||
#: src/pages/PrivacySettingsOverlay.tsx
|
#: src/pages/PrivacySettingsOverlay.tsx
|
||||||
msgid "Fonts loaded locally"
|
msgid "Fonts loaded locally"
|
||||||
msgstr "Fonts loaded locally"
|
msgstr "Fonts loaded locally"
|
||||||
@ -2395,10 +2510,22 @@ msgstr "Forgot password?"
|
|||||||
msgid "Forward"
|
msgid "Forward"
|
||||||
msgstr "Forward"
|
msgstr "Forward"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Freckles"
|
||||||
|
msgstr "Freckles"
|
||||||
|
|
||||||
#: src/pages/ModelSettingsOverlay.tsx
|
#: src/pages/ModelSettingsOverlay.tsx
|
||||||
msgid "Free"
|
msgid "Free"
|
||||||
msgstr "Free"
|
msgstr "Free"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Frog"
|
||||||
|
msgstr "Frog"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Full"
|
||||||
|
msgstr "Full"
|
||||||
|
|
||||||
#: src/pages/WindowChrome.tsx
|
#: src/pages/WindowChrome.tsx
|
||||||
msgid "Fullscreen"
|
msgid "Fullscreen"
|
||||||
msgstr "Fullscreen"
|
msgstr "Fullscreen"
|
||||||
@ -2427,10 +2554,22 @@ msgstr "Getting ready"
|
|||||||
msgid "Getting ready…"
|
msgid "Getting ready…"
|
||||||
msgstr "Getting ready…"
|
msgstr "Getting ready…"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Ghost"
|
||||||
|
msgstr "Ghost"
|
||||||
|
|
||||||
#: src/pages/RoutineEditor.tsx
|
#: src/pages/RoutineEditor.tsx
|
||||||
msgid "Git event"
|
msgid "Git event"
|
||||||
msgstr "Git event"
|
msgstr "Git event"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Glass"
|
||||||
|
msgstr "Glass"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Glasses"
|
||||||
|
msgstr "Glasses"
|
||||||
|
|
||||||
#: src/pages/ProjectSessionTimeline.tsx
|
#: src/pages/ProjectSessionTimeline.tsx
|
||||||
msgid "Goal"
|
msgid "Goal"
|
||||||
msgstr "Goal"
|
msgstr "Goal"
|
||||||
@ -2445,6 +2584,14 @@ msgstr "Goals"
|
|||||||
msgid "Goals for this project, separate from chat messages. Conversations are below."
|
msgid "Goals for this project, separate from chat messages. Conversations are below."
|
||||||
msgstr "Goals for this project, separate from chat messages. Conversations are below."
|
msgstr "Goals for this project, separate from chat messages. Conversations are below."
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Gold"
|
||||||
|
msgstr "Gold"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Green"
|
||||||
|
msgstr "Green"
|
||||||
|
|
||||||
#: src/components/stage/OoStage.tsx
|
#: src/components/stage/OoStage.tsx
|
||||||
#: src/pages/MessagingSettingsOverlay.tsx
|
#: src/pages/MessagingSettingsOverlay.tsx
|
||||||
#: src/pages/Shell.tsx
|
#: src/pages/Shell.tsx
|
||||||
@ -2490,6 +2637,10 @@ msgstr "Hang up first, then enter the code on screen."
|
|||||||
msgid "Hang up, then enter the code on screen."
|
msgid "Hang up, then enter the code on screen."
|
||||||
msgstr "Hang up, then enter the code on screen."
|
msgstr "Hang up, then enter the code on screen."
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Hat"
|
||||||
|
msgstr "Hat"
|
||||||
|
|
||||||
#: src/pages/RoutineEditor.tsx
|
#: src/pages/RoutineEditor.tsx
|
||||||
msgid "header"
|
msgid "header"
|
||||||
msgstr "header"
|
msgstr "header"
|
||||||
@ -2503,6 +2654,10 @@ msgstr "Header name"
|
|||||||
msgid "Header value"
|
msgid "Header value"
|
||||||
msgstr "Header value"
|
msgstr "Header value"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Headphones"
|
||||||
|
msgstr "Headphones"
|
||||||
|
|
||||||
#: src/components/UserProfileSettings.tsx
|
#: src/components/UserProfileSettings.tsx
|
||||||
msgid "Health"
|
msgid "Health"
|
||||||
msgstr "Health"
|
msgstr "Health"
|
||||||
@ -2511,6 +2666,10 @@ msgstr "Health"
|
|||||||
msgid "Hear a sample"
|
msgid "Hear a sample"
|
||||||
msgstr "Hear a sample"
|
msgstr "Hear a sample"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Heart"
|
||||||
|
msgstr "Heart"
|
||||||
|
|
||||||
#: src/lib/voice-persona-copy.ts
|
#: src/lib/voice-persona-copy.ts
|
||||||
msgid "Here's the read…"
|
msgid "Here's the read…"
|
||||||
msgstr "Here's the read…"
|
msgstr "Here's the read…"
|
||||||
@ -2597,7 +2756,7 @@ msgstr "Ignore"
|
|||||||
msgid "Image model"
|
msgid "Image model"
|
||||||
msgstr "Image model"
|
msgstr "Image model"
|
||||||
|
|
||||||
#: src/pages/shell/avatar-studio-popover.tsx
|
#: src/components/OoAtelier.tsx
|
||||||
msgid "Image upload area"
|
msgid "Image upload area"
|
||||||
msgstr "Image upload area"
|
msgstr "Image upload area"
|
||||||
|
|
||||||
@ -2671,6 +2830,10 @@ msgstr "Interval amount"
|
|||||||
msgid "Interval unit"
|
msgid "Interval unit"
|
||||||
msgstr "Interval unit"
|
msgstr "Interval unit"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Iris"
|
||||||
|
msgstr "Iris"
|
||||||
|
|
||||||
#: src/pages/MemorySettingsOverlay.tsx
|
#: src/pages/MemorySettingsOverlay.tsx
|
||||||
#: src/pages/shell/bot-panel.tsx
|
#: src/pages/shell/bot-panel.tsx
|
||||||
msgid "Isolated"
|
msgid "Isolated"
|
||||||
@ -2710,6 +2873,10 @@ msgstr "Knowledge"
|
|||||||
msgid "Language"
|
msgid "Language"
|
||||||
msgstr "Language"
|
msgstr "Language"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Lashes"
|
||||||
|
msgstr "Lashes"
|
||||||
|
|
||||||
#: src/components/DesktopUpdates.tsx
|
#: src/components/DesktopUpdates.tsx
|
||||||
msgid "Later"
|
msgid "Later"
|
||||||
msgstr "Later"
|
msgstr "Later"
|
||||||
@ -2726,6 +2893,10 @@ msgstr "Life channel — I'm here."
|
|||||||
msgid "Light"
|
msgid "Light"
|
||||||
msgstr "Light"
|
msgstr "Light"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Lilac"
|
||||||
|
msgstr "Lilac"
|
||||||
|
|
||||||
#: src/pages/shell/bot-capabilities.tsx
|
#: src/pages/shell/bot-capabilities.tsx
|
||||||
msgid "Limit built-in tools"
|
msgid "Limit built-in tools"
|
||||||
msgstr "Limit built-in tools"
|
msgstr "Limit built-in tools"
|
||||||
@ -3031,6 +3202,10 @@ msgstr "Minimize"
|
|||||||
msgid "Minimize bots"
|
msgid "Minimize bots"
|
||||||
msgstr "Minimize bots"
|
msgstr "Minimize bots"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Mint"
|
||||||
|
msgstr "Mint"
|
||||||
|
|
||||||
#: src/pages/RoutineSchedule.tsx
|
#: src/pages/RoutineSchedule.tsx
|
||||||
msgid "minute"
|
msgid "minute"
|
||||||
msgstr "minute"
|
msgstr "minute"
|
||||||
@ -3080,6 +3255,10 @@ msgstr "Models for the server owner’s default space."
|
|||||||
msgid "Models from server"
|
msgid "Models from server"
|
||||||
msgstr "Models from server"
|
msgstr "Models from server"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Monocle"
|
||||||
|
msgstr "Monocle"
|
||||||
|
|
||||||
#: src/pages/RoutineSchedule.tsx
|
#: src/pages/RoutineSchedule.tsx
|
||||||
msgid "Monthly"
|
msgid "Monthly"
|
||||||
msgstr "Monthly"
|
msgstr "Monthly"
|
||||||
@ -3145,6 +3324,10 @@ msgstr "Name this group"
|
|||||||
msgid "Name this routine"
|
msgid "Name this routine"
|
||||||
msgstr "Name this routine"
|
msgstr "Name this routine"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Neck"
|
||||||
|
msgstr "Neck"
|
||||||
|
|
||||||
#: src/components/stage/OoStage.tsx
|
#: src/components/stage/OoStage.tsx
|
||||||
msgid "Needs attention"
|
msgid "Needs attention"
|
||||||
msgstr "Needs attention"
|
msgstr "Needs attention"
|
||||||
@ -3168,6 +3351,10 @@ msgstr "Needs you"
|
|||||||
msgid "Needs your reply"
|
msgid "Needs your reply"
|
||||||
msgstr "Needs your reply"
|
msgstr "Needs your reply"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Nerd"
|
||||||
|
msgstr "Nerd"
|
||||||
|
|
||||||
#: src/pages/shell/bot-panel.tsx
|
#: src/pages/shell/bot-panel.tsx
|
||||||
msgid "New bot"
|
msgid "New bot"
|
||||||
msgstr "New bot"
|
msgstr "New bot"
|
||||||
@ -3359,6 +3546,10 @@ msgstr "No trigger"
|
|||||||
msgid "No usage data is sent to third parties"
|
msgid "No usage data is sent to third parties"
|
||||||
msgstr "No usage data is sent to third parties"
|
msgstr "No usage data is sent to third parties"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "None"
|
||||||
|
msgstr "None"
|
||||||
|
|
||||||
#: src/pages/ScratchpadSection.tsx
|
#: src/pages/ScratchpadSection.tsx
|
||||||
msgid "None yet"
|
msgid "None yet"
|
||||||
msgstr "None yet"
|
msgstr "None yet"
|
||||||
@ -3555,6 +3746,10 @@ msgstr "PagerDuty incident"
|
|||||||
msgid "Park"
|
msgid "Park"
|
||||||
msgstr "Park"
|
msgstr "Park"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Party hat"
|
||||||
|
msgstr "Party hat"
|
||||||
|
|
||||||
#: src/components/AskCard.tsx
|
#: src/components/AskCard.tsx
|
||||||
#: src/pages/AccountSettingsOverlay.tsx
|
#: src/pages/AccountSettingsOverlay.tsx
|
||||||
#: src/pages/Auth.tsx
|
#: src/pages/Auth.tsx
|
||||||
@ -3591,6 +3786,18 @@ msgstr "Paste your API key"
|
|||||||
msgid "Paused"
|
msgid "Paused"
|
||||||
msgstr "Paused"
|
msgstr "Paused"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Paw"
|
||||||
|
msgstr "Paw"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Peach"
|
||||||
|
msgstr "Peach"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Penguin"
|
||||||
|
msgstr "Penguin"
|
||||||
|
|
||||||
#: src/components/UserProfileSettings.tsx
|
#: src/components/UserProfileSettings.tsx
|
||||||
msgid "People"
|
msgid "People"
|
||||||
msgstr "People"
|
msgstr "People"
|
||||||
@ -3615,6 +3822,14 @@ msgstr "Pick a voice"
|
|||||||
msgid "Pin"
|
msgid "Pin"
|
||||||
msgstr "Pin"
|
msgstr "Pin"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Pink"
|
||||||
|
msgstr "Pink"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Playful"
|
||||||
|
msgstr "Playful"
|
||||||
|
|
||||||
#: src/pages/VoiceSettingsOverlay.tsx
|
#: src/pages/VoiceSettingsOverlay.tsx
|
||||||
msgid "Playing…"
|
msgid "Playing…"
|
||||||
msgstr "Playing…"
|
msgstr "Playing…"
|
||||||
@ -3762,6 +3977,10 @@ msgstr "Read replies aloud"
|
|||||||
msgid "read-only"
|
msgid "read-only"
|
||||||
msgstr "read-only"
|
msgstr "read-only"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Reading glasses"
|
||||||
|
msgstr "Reading glasses"
|
||||||
|
|
||||||
#: src/lib/voice-persona-copy.ts
|
#: src/lib/voice-persona-copy.ts
|
||||||
msgid "Reading the stack trace…"
|
msgid "Reading the stack trace…"
|
||||||
msgstr "Reading the stack trace…"
|
msgstr "Reading the stack trace…"
|
||||||
@ -3976,7 +4195,7 @@ msgstr "research, writing"
|
|||||||
|
|
||||||
#: src/components/ComputerMaintenanceActions.tsx
|
#: src/components/ComputerMaintenanceActions.tsx
|
||||||
#: src/components/onboarding/OnboardingOoDesigner.tsx
|
#: src/components/onboarding/OnboardingOoDesigner.tsx
|
||||||
#: src/pages/shell/avatar-studio-popover.tsx
|
#: src/components/OoAtelier.tsx
|
||||||
msgid "Reset"
|
msgid "Reset"
|
||||||
msgstr "Reset"
|
msgstr "Reset"
|
||||||
|
|
||||||
@ -4042,14 +4261,26 @@ msgstr "Revoke"
|
|||||||
msgid "Riffing"
|
msgid "Riffing"
|
||||||
msgstr "Riffing"
|
msgstr "Riffing"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Robot"
|
||||||
|
msgstr "Robot"
|
||||||
|
|
||||||
#: src/pages/ExternalConversationSettings.tsx
|
#: src/pages/ExternalConversationSettings.tsx
|
||||||
msgid "Room guidance"
|
msgid "Room guidance"
|
||||||
msgstr "Room guidance"
|
msgstr "Room guidance"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Rose"
|
||||||
|
msgstr "Rose"
|
||||||
|
|
||||||
#: src/pages/RoutineEditor.tsx
|
#: src/pages/RoutineEditor.tsx
|
||||||
msgid "Rotate key"
|
msgid "Rotate key"
|
||||||
msgstr "Rotate key"
|
msgstr "Rotate key"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Round"
|
||||||
|
msgstr "Round"
|
||||||
|
|
||||||
#: src/pages/RoutineEditor.tsx
|
#: src/pages/RoutineEditor.tsx
|
||||||
#: src/pages/Shell.tsx
|
#: src/pages/Shell.tsx
|
||||||
#: src/pages/shell/routine-event-line.tsx
|
#: src/pages/shell/routine-event-line.tsx
|
||||||
@ -4164,6 +4395,10 @@ msgstr "Say yes or no, or answer in a sentence."
|
|||||||
msgid "Scanning exposure…"
|
msgid "Scanning exposure…"
|
||||||
msgstr "Scanning exposure…"
|
msgstr "Scanning exposure…"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Scarf"
|
||||||
|
msgstr "Scarf"
|
||||||
|
|
||||||
#: src/components/onboarding/OnboardingOoDesigner.tsx
|
#: src/components/onboarding/OnboardingOoDesigner.tsx
|
||||||
msgid "Scene"
|
msgid "Scene"
|
||||||
msgstr "Scene"
|
msgstr "Scene"
|
||||||
@ -4294,10 +4529,15 @@ msgstr "Setup help"
|
|||||||
msgid "Setup progress"
|
msgid "Setup progress"
|
||||||
msgstr "Setup progress"
|
msgstr "Setup progress"
|
||||||
|
|
||||||
#: src/pages/shell/avatar-studio-popover.tsx
|
#: src/components/OoAtelier.tsx
|
||||||
msgid "Shape"
|
msgid "Shape"
|
||||||
msgstr "Shape"
|
msgstr "Shape"
|
||||||
|
|
||||||
|
#. placeholder {0}: shape + 1
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Shape {0}"
|
||||||
|
msgstr "Shape {0}"
|
||||||
|
|
||||||
#: src/lib/voice-persona-copy.ts
|
#: src/lib/voice-persona-copy.ts
|
||||||
msgid "Share what you're imagining — or tell me one thing to refine."
|
msgid "Share what you're imagining — or tell me one thing to refine."
|
||||||
msgstr "Share what you're imagining — or tell me one thing to refine."
|
msgstr "Share what you're imagining — or tell me one thing to refine."
|
||||||
@ -4415,6 +4655,10 @@ msgstr "Slack message"
|
|||||||
msgid "Slack not enabled"
|
msgid "Slack not enabled"
|
||||||
msgstr "Slack not enabled"
|
msgstr "Slack not enabled"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Soft"
|
||||||
|
msgstr "Soft"
|
||||||
|
|
||||||
#: src/components/SoftwareUpdateSection.tsx
|
#: src/components/SoftwareUpdateSection.tsx
|
||||||
msgid "Software update"
|
msgid "Software update"
|
||||||
msgstr "Software update"
|
msgstr "Software update"
|
||||||
@ -4444,6 +4688,10 @@ msgstr "Space default"
|
|||||||
msgid "Spaces"
|
msgid "Spaces"
|
||||||
msgstr "Spaces"
|
msgstr "Spaces"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Sparkle"
|
||||||
|
msgstr "Sparkle"
|
||||||
|
|
||||||
#: src/pages/shell/transcript.tsx
|
#: src/pages/shell/transcript.tsx
|
||||||
msgid "Speak"
|
msgid "Speak"
|
||||||
msgstr "Speak"
|
msgstr "Speak"
|
||||||
@ -4478,10 +4726,18 @@ msgstr "Speaking with intent…"
|
|||||||
msgid "Specialist crew"
|
msgid "Specialist crew"
|
||||||
msgstr "Specialist crew"
|
msgstr "Specialist crew"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Species"
|
||||||
|
msgstr "Species"
|
||||||
|
|
||||||
#: src/lib/model-tier-label.ts
|
#: src/lib/model-tier-label.ts
|
||||||
msgid "Standard"
|
msgid "Standard"
|
||||||
msgstr "Standard"
|
msgstr "Standard"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Star"
|
||||||
|
msgstr "Star"
|
||||||
|
|
||||||
#: src/pages/Shell.tsx
|
#: src/pages/Shell.tsx
|
||||||
msgid "Start"
|
msgid "Start"
|
||||||
msgstr "Start"
|
msgstr "Start"
|
||||||
@ -4585,6 +4841,10 @@ msgstr "Stress-testing the book…"
|
|||||||
msgid "Stronger together — {0} specialists"
|
msgid "Stronger together — {0} specialists"
|
||||||
msgstr "Stronger together — {0} specialists"
|
msgstr "Stronger together — {0} specialists"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Stub"
|
||||||
|
msgstr "Stub"
|
||||||
|
|
||||||
#: src/pages/shell/transcript.tsx
|
#: src/pages/shell/transcript.tsx
|
||||||
msgid "subagent"
|
msgid "subagent"
|
||||||
msgstr "subagent"
|
msgstr "subagent"
|
||||||
@ -4597,6 +4857,10 @@ msgstr "Submit"
|
|||||||
msgid "Summary"
|
msgid "Summary"
|
||||||
msgstr "Summary"
|
msgstr "Summary"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Sunglasses"
|
||||||
|
msgstr "Sunglasses"
|
||||||
|
|
||||||
#: src/pages/ModelSettingsOverlay.tsx
|
#: src/pages/ModelSettingsOverlay.tsx
|
||||||
msgid "Supports images"
|
msgid "Supports images"
|
||||||
msgstr "Supports images"
|
msgstr "Supports images"
|
||||||
@ -4605,6 +4869,10 @@ msgstr "Supports images"
|
|||||||
msgid "Supports thinking"
|
msgid "Supports thinking"
|
||||||
msgstr "Supports thinking"
|
msgstr "Supports thinking"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Surprise me"
|
||||||
|
msgstr "Surprise me"
|
||||||
|
|
||||||
#: src/components/onboarding/LookPreviewCarousel.tsx
|
#: src/components/onboarding/LookPreviewCarousel.tsx
|
||||||
msgid "Swipe for more looks"
|
msgid "Swipe for more looks"
|
||||||
msgstr "Swipe for more looks"
|
msgstr "Swipe for more looks"
|
||||||
@ -4921,7 +5189,7 @@ msgstr "Updating Team Computer"
|
|||||||
msgid "Updating…"
|
msgid "Updating…"
|
||||||
msgstr "Updating…"
|
msgstr "Updating…"
|
||||||
|
|
||||||
#: src/pages/shell/avatar-studio-popover.tsx
|
#: src/components/OoAtelier.tsx
|
||||||
msgid "Upload"
|
msgid "Upload"
|
||||||
msgstr "Upload"
|
msgstr "Upload"
|
||||||
|
|
||||||
@ -4967,6 +5235,10 @@ msgstr "Verifying…"
|
|||||||
msgid "Video workflow"
|
msgid "Video workflow"
|
||||||
msgstr "Video workflow"
|
msgstr "Video workflow"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Violet"
|
||||||
|
msgstr "Violet"
|
||||||
|
|
||||||
#: src/pages/SettingsOverlay.tsx
|
#: src/pages/SettingsOverlay.tsx
|
||||||
#: src/pages/shell/bot-panel.tsx
|
#: src/pages/shell/bot-panel.tsx
|
||||||
#: src/pages/shell/composer.tsx
|
#: src/pages/shell/composer.tsx
|
||||||
@ -5113,6 +5385,10 @@ msgstr "What's the work item?"
|
|||||||
msgid "When a webhook fires"
|
msgid "When a webhook fires"
|
||||||
msgstr "When a webhook fires"
|
msgstr "When a webhook fires"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "When needed"
|
||||||
|
msgstr "When needed"
|
||||||
|
|
||||||
#: src/lib/onboarding-copy.ts
|
#: src/lib/onboarding-copy.ts
|
||||||
msgid "When should I check in with you?"
|
msgid "When should I check in with you?"
|
||||||
msgstr "When should I check in with you?"
|
msgstr "When should I check in with you?"
|
||||||
@ -5133,6 +5409,10 @@ msgstr "When to use"
|
|||||||
msgid "Where should bots run?"
|
msgid "Where should bots run?"
|
||||||
msgstr "Where should bots run?"
|
msgstr "Where should bots run?"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Winged"
|
||||||
|
msgstr "Winged"
|
||||||
|
|
||||||
#: src/pages/shell/bot-picker.tsx
|
#: src/pages/shell/bot-picker.tsx
|
||||||
msgid "With:"
|
msgid "With:"
|
||||||
msgstr "With:"
|
msgstr "With:"
|
||||||
|
|||||||
@ -668,6 +668,10 @@ msgstr ""
|
|||||||
msgid "Arguments"
|
msgid "Arguments"
|
||||||
msgstr "Argumentos"
|
msgstr "Argumentos"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Arms"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#. placeholder {0}: rule.matchValue
|
#. placeholder {0}: rule.matchValue
|
||||||
#: src/components/ApprovalRulesSettings.tsx
|
#: src/components/ApprovalRulesSettings.tsx
|
||||||
msgid "Ask before {0}"
|
msgid "Ask before {0}"
|
||||||
@ -716,6 +720,10 @@ msgstr "a las {0}"
|
|||||||
msgid "at {timeSelect}"
|
msgid "at {timeSelect}"
|
||||||
msgstr "a las {timeSelect}"
|
msgstr "a las {timeSelect}"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Atelier"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/shell/composer.tsx
|
#: src/pages/shell/composer.tsx
|
||||||
msgid "Attach file"
|
msgid "Attach file"
|
||||||
msgstr "Adjuntar archivo"
|
msgstr "Adjuntar archivo"
|
||||||
@ -756,10 +764,6 @@ msgstr ""
|
|||||||
msgid "Available after the routine is saved"
|
msgid "Available after the routine is saved"
|
||||||
msgstr "Disponible después de guardar la rutina"
|
msgstr "Disponible después de guardar la rutina"
|
||||||
|
|
||||||
#: src/pages/shell/avatar-studio-popover.tsx
|
|
||||||
msgid "Avatar Studio"
|
|
||||||
msgstr "Estudio de avatares"
|
|
||||||
|
|
||||||
#: src/components/browser/InAppBrowser.tsx
|
#: src/components/browser/InAppBrowser.tsx
|
||||||
#: src/components/CookingMode.tsx
|
#: src/components/CookingMode.tsx
|
||||||
#: src/components/onboarding/OnboardingVoiceStep.tsx
|
#: src/components/onboarding/OnboardingVoiceStep.tsx
|
||||||
@ -781,15 +785,35 @@ msgstr ""
|
|||||||
msgid "Base URL"
|
msgid "Base URL"
|
||||||
msgstr "URL base"
|
msgstr "URL base"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Beanie"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Bear"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/memory-providers/SerenitySettingsForm.tsx
|
#: src/pages/memory-providers/SerenitySettingsForm.tsx
|
||||||
#: src/pages/PluginsOverlay.tsx
|
#: src/pages/PluginsOverlay.tsx
|
||||||
msgid "Bearer token"
|
msgid "Bearer token"
|
||||||
msgstr "Token Bearer"
|
msgstr "Token Bearer"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Bell"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/NotificationSettingsPanel.tsx
|
#: src/components/NotificationSettingsPanel.tsx
|
||||||
msgid "Blocked in your browser settings"
|
msgid "Blocked in your browser settings"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Blue"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Body"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/shell/computer-screen.tsx
|
#: src/pages/shell/computer-screen.tsx
|
||||||
msgid "Booting live desktop…"
|
msgid "Booting live desktop…"
|
||||||
msgstr "Iniciando escritorio en vivo…"
|
msgstr "Iniciando escritorio en vivo…"
|
||||||
@ -810,7 +834,6 @@ msgstr "Bot"
|
|||||||
|
|
||||||
#: src/pages/IntegrationSetup.tsx
|
#: src/pages/IntegrationSetup.tsx
|
||||||
#: src/pages/Shell.tsx
|
#: src/pages/Shell.tsx
|
||||||
#: src/pages/shell/avatar-studio-popover.tsx
|
|
||||||
msgid "Bot"
|
msgid "Bot"
|
||||||
msgstr "Bot"
|
msgstr "Bot"
|
||||||
|
|
||||||
@ -834,10 +857,26 @@ msgstr "Los bots actúan sin preguntar de forma predeterminada. Agrega una excep
|
|||||||
msgid "Bots are working"
|
msgid "Bots are working"
|
||||||
msgstr "Los bots están trabajando"
|
msgstr "Los bots están trabajando"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Bow"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Bow tie"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/memory-providers/SerenitySettingsForm.tsx
|
#: src/pages/memory-providers/SerenitySettingsForm.tsx
|
||||||
msgid "Brain label"
|
msgid "Brain label"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Brown"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Brows"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/PluginsOverlay.tsx
|
#: src/pages/PluginsOverlay.tsx
|
||||||
msgid "Browse MCP servers"
|
msgid "Browse MCP servers"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -846,6 +885,14 @@ msgstr ""
|
|||||||
msgid "Browser"
|
msgid "Browser"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Bunny"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Bushy"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/Shell.tsx
|
#: src/pages/Shell.tsx
|
||||||
msgid "Busy"
|
msgid "Busy"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -911,6 +958,10 @@ msgstr "Cancelado"
|
|||||||
msgid "Cancelled"
|
msgid "Cancelled"
|
||||||
msgstr "Cancelado"
|
msgstr "Cancelado"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Cat"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/UserFactEditor.tsx
|
#: src/components/UserFactEditor.tsx
|
||||||
msgid "Category"
|
msgid "Category"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -1006,9 +1057,13 @@ msgstr "Comprobando…"
|
|||||||
msgid "Checkout has local changes. Clean it before updating."
|
msgid "Checkout has local changes. Clean it before updating."
|
||||||
msgstr "El checkout tiene cambios locales. Límpialo antes de actualizar."
|
msgstr "El checkout tiene cambios locales. Límpialo antes de actualizar."
|
||||||
|
|
||||||
#: src/pages/shell/avatar-studio-popover.tsx
|
#: src/components/OoAtelier.tsx
|
||||||
msgid "Choose a bot shape, color, or upload an image"
|
msgid "Cheeks"
|
||||||
msgstr "Elige una forma y color del bot, o sube una imagen"
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Chef's hat"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/MessagingSettingsOverlay.tsx
|
#: src/pages/MessagingSettingsOverlay.tsx
|
||||||
msgid "Choose a bot…"
|
msgid "Choose a bot…"
|
||||||
@ -1026,7 +1081,7 @@ msgstr "Elige una contraseña nueva"
|
|||||||
msgid "Choose an existing folder on this computer. Git remotes are linked automatically when a repository is present."
|
msgid "Choose an existing folder on this computer. Git remotes are linked automatically when a repository is present."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/shell/avatar-studio-popover.tsx
|
#: src/components/OoAtelier.tsx
|
||||||
msgid "Choose file"
|
msgid "Choose file"
|
||||||
msgstr "Elegir archivo"
|
msgstr "Elegir archivo"
|
||||||
|
|
||||||
@ -1034,6 +1089,10 @@ msgstr "Elegir archivo"
|
|||||||
msgid "Choose folder"
|
msgid "Choose folder"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Choose how your Oo looks and moves"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/ModelSettingsOverlay.tsx
|
#: src/pages/ModelSettingsOverlay.tsx
|
||||||
msgid "Choose which connected model Rakazo uses."
|
msgid "Choose which connected model Rakazo uses."
|
||||||
msgstr "Elige qué modelo conectado usa Rakazo."
|
msgstr "Elige qué modelo conectado usa Rakazo."
|
||||||
@ -1046,6 +1105,10 @@ msgstr ""
|
|||||||
msgid "Choosing the right shape…"
|
msgid "Choosing the right shape…"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Classic"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/shell/dialogs.tsx
|
#: src/pages/shell/dialogs.tsx
|
||||||
msgid "Clear"
|
msgid "Clear"
|
||||||
msgstr "Borrar"
|
msgstr "Borrar"
|
||||||
@ -1076,12 +1139,12 @@ msgstr ""
|
|||||||
msgid "Client secret"
|
msgid "Client secret"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
#: src/pages/KnowledgeSection.tsx
|
#: src/pages/KnowledgeSection.tsx
|
||||||
#: src/pages/MessagingSettingsOverlay.tsx
|
#: src/pages/MessagingSettingsOverlay.tsx
|
||||||
#: src/pages/PeerMessagesOverlay.tsx
|
#: src/pages/PeerMessagesOverlay.tsx
|
||||||
#: src/pages/RoutineEditor.tsx
|
#: src/pages/RoutineEditor.tsx
|
||||||
#: src/pages/Shell.tsx
|
#: src/pages/Shell.tsx
|
||||||
#: src/pages/shell/avatar-studio-popover.tsx
|
|
||||||
#: src/pages/WindowChrome.tsx
|
#: src/pages/WindowChrome.tsx
|
||||||
msgid "Close"
|
msgid "Close"
|
||||||
msgstr "Cerrar"
|
msgstr "Cerrar"
|
||||||
@ -1165,11 +1228,11 @@ msgstr ""
|
|||||||
msgid "Collapse {0}"
|
msgid "Collapse {0}"
|
||||||
msgstr "Contraer {0}"
|
msgstr "Contraer {0}"
|
||||||
|
|
||||||
#: src/pages/shell/avatar-studio-popover.tsx
|
#: src/components/OoAtelier.tsx
|
||||||
msgid "Color"
|
msgid "Color"
|
||||||
msgstr "Color"
|
msgstr "Color"
|
||||||
|
|
||||||
#: src/pages/shell/avatar-studio-popover.tsx
|
#: src/components/OoAtelier.tsx
|
||||||
msgid "Color {color}"
|
msgid "Color {color}"
|
||||||
msgstr "Color {color}"
|
msgstr "Color {color}"
|
||||||
|
|
||||||
@ -1846,15 +1909,27 @@ msgstr "Cron"
|
|||||||
msgid "Cron expression"
|
msgid "Cron expression"
|
||||||
msgstr "Expresión cron"
|
msgstr "Expresión cron"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Crown"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/AccountSettingsOverlay.tsx
|
#: src/pages/AccountSettingsOverlay.tsx
|
||||||
msgid "Current password"
|
msgid "Current password"
|
||||||
msgstr "Contraseña actual"
|
msgstr "Contraseña actual"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Custom color"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/shell/dialogs.tsx
|
#: src/pages/shell/dialogs.tsx
|
||||||
msgid "Customer support"
|
msgid "Customer support"
|
||||||
msgstr "Atención al cliente"
|
msgstr "Atención al cliente"
|
||||||
|
|
||||||
#: src/pages/shell/avatar-studio-popover.tsx
|
#: src/components/onboarding/OnboardingOoDesigner.tsx
|
||||||
|
msgid "Customize"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
msgid "Customize bot avatar"
|
msgid "Customize bot avatar"
|
||||||
msgstr "Personalizar avatar del bot"
|
msgstr "Personalizar avatar del bot"
|
||||||
|
|
||||||
@ -2056,6 +2131,10 @@ msgstr "Docker limita el acceso a tu computadora para mayor seguridad. Usar {hos
|
|||||||
msgid "Does not speak"
|
msgid "Does not speak"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Dog"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/HeuteBrief.tsx
|
#: src/pages/HeuteBrief.tsx
|
||||||
msgid "Doing"
|
msgid "Doing"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -2071,10 +2150,10 @@ msgstr ""
|
|||||||
#: src/components/ai/DelegatedTaskCard.tsx
|
#: src/components/ai/DelegatedTaskCard.tsx
|
||||||
#: src/components/CookingMode.tsx
|
#: src/components/CookingMode.tsx
|
||||||
#: src/components/media/MediaCard.tsx
|
#: src/components/media/MediaCard.tsx
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
#: src/components/ThreadCard.tsx
|
#: src/components/ThreadCard.tsx
|
||||||
#: src/pages/HeuteBrief.tsx
|
#: src/pages/HeuteBrief.tsx
|
||||||
#: src/pages/ProjectSessionTimeline.tsx
|
#: src/pages/ProjectSessionTimeline.tsx
|
||||||
#: src/pages/shell/avatar-studio-popover.tsx
|
|
||||||
msgid "Done"
|
msgid "Done"
|
||||||
msgstr "Listo"
|
msgstr "Listo"
|
||||||
|
|
||||||
@ -2083,6 +2162,10 @@ msgstr "Listo"
|
|||||||
msgid "Done"
|
msgid "Done"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Dot"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#. placeholder {0}: props.name
|
#. placeholder {0}: props.name
|
||||||
#: src/components/ArtifactFileCard.tsx
|
#: src/components/ArtifactFileCard.tsx
|
||||||
msgid "Download {0}"
|
msgid "Download {0}"
|
||||||
@ -2120,7 +2203,7 @@ msgstr ""
|
|||||||
msgid "Drag to reorder"
|
msgid "Drag to reorder"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/shell/avatar-studio-popover.tsx
|
#: src/components/OoAtelier.tsx
|
||||||
msgid "Drag, drop, or paste an image"
|
msgid "Drag, drop, or paste an image"
|
||||||
msgstr "Arrastra, suelta o pega una imagen"
|
msgstr "Arrastra, suelta o pega una imagen"
|
||||||
|
|
||||||
@ -2161,6 +2244,10 @@ msgstr "Correo"
|
|||||||
msgid "Embeddings URL"
|
msgid "Embeddings URL"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Energy"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/ExternalConversationSettings.tsx
|
#: src/pages/ExternalConversationSettings.tsx
|
||||||
msgid "Engage when... Ignore..."
|
msgid "Engage when... Ignore..."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -2288,6 +2375,22 @@ msgstr ""
|
|||||||
msgid "Extra high"
|
msgid "Extra high"
|
||||||
msgstr "Extra alto"
|
msgstr "Extra alto"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Extras"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Eyeliner"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Eyes"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Eyeshadow"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/UserFactEditor.tsx
|
#: src/components/UserFactEditor.tsx
|
||||||
msgid "Fact"
|
msgid "Fact"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -2345,6 +2448,10 @@ msgstr ""
|
|||||||
msgid "Finding…"
|
msgid "Finding…"
|
||||||
msgstr "Buscando…"
|
msgstr "Buscando…"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Fine"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#. placeholder {0}: new URL(oauth.verificationUri).hostname
|
#. placeholder {0}: new URL(oauth.verificationUri).hostname
|
||||||
#: src/pages/ModelSettingsOverlay.tsx
|
#: src/pages/ModelSettingsOverlay.tsx
|
||||||
msgid "Finish signing in at <0>{0}</0>. The final page may not load; paste its URL or code here."
|
msgid "Finish signing in at <0>{0}</0>. The final page may not load; paste its URL or code here."
|
||||||
@ -2371,6 +2478,14 @@ msgstr ""
|
|||||||
msgid "Flag unexpected actions"
|
msgid "Flag unexpected actions"
|
||||||
msgstr "Marcar acciones inesperadas"
|
msgstr "Marcar acciones inesperadas"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Flick"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Flower"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/PrivacySettingsOverlay.tsx
|
#: src/pages/PrivacySettingsOverlay.tsx
|
||||||
msgid "Fonts loaded locally"
|
msgid "Fonts loaded locally"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -2395,10 +2510,22 @@ msgstr "¿Olvidaste la contraseña?"
|
|||||||
msgid "Forward"
|
msgid "Forward"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Freckles"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/ModelSettingsOverlay.tsx
|
#: src/pages/ModelSettingsOverlay.tsx
|
||||||
msgid "Free"
|
msgid "Free"
|
||||||
msgstr "Gratis"
|
msgstr "Gratis"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Frog"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Full"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/WindowChrome.tsx
|
#: src/pages/WindowChrome.tsx
|
||||||
msgid "Fullscreen"
|
msgid "Fullscreen"
|
||||||
msgstr "Pantalla completa"
|
msgstr "Pantalla completa"
|
||||||
@ -2427,10 +2554,22 @@ msgstr ""
|
|||||||
msgid "Getting ready…"
|
msgid "Getting ready…"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Ghost"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/RoutineEditor.tsx
|
#: src/pages/RoutineEditor.tsx
|
||||||
msgid "Git event"
|
msgid "Git event"
|
||||||
msgstr "Evento de Git"
|
msgstr "Evento de Git"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Glass"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Glasses"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/ProjectSessionTimeline.tsx
|
#: src/pages/ProjectSessionTimeline.tsx
|
||||||
msgid "Goal"
|
msgid "Goal"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -2445,6 +2584,14 @@ msgstr ""
|
|||||||
msgid "Goals for this project, separate from chat messages. Conversations are below."
|
msgid "Goals for this project, separate from chat messages. Conversations are below."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Gold"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Green"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/stage/OoStage.tsx
|
#: src/components/stage/OoStage.tsx
|
||||||
#: src/pages/MessagingSettingsOverlay.tsx
|
#: src/pages/MessagingSettingsOverlay.tsx
|
||||||
#: src/pages/Shell.tsx
|
#: src/pages/Shell.tsx
|
||||||
@ -2490,6 +2637,10 @@ msgstr "Cuelga primero y luego ingresa el código en pantalla."
|
|||||||
msgid "Hang up, then enter the code on screen."
|
msgid "Hang up, then enter the code on screen."
|
||||||
msgstr "Cuelga y luego ingresa el código en pantalla."
|
msgstr "Cuelga y luego ingresa el código en pantalla."
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Hat"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/RoutineEditor.tsx
|
#: src/pages/RoutineEditor.tsx
|
||||||
msgid "header"
|
msgid "header"
|
||||||
msgstr "Encabezado"
|
msgstr "Encabezado"
|
||||||
@ -2503,6 +2654,10 @@ msgstr "Nombre del encabezado"
|
|||||||
msgid "Header value"
|
msgid "Header value"
|
||||||
msgstr "Valor del encabezado"
|
msgstr "Valor del encabezado"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Headphones"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/UserProfileSettings.tsx
|
#: src/components/UserProfileSettings.tsx
|
||||||
msgid "Health"
|
msgid "Health"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -2511,6 +2666,10 @@ msgstr ""
|
|||||||
msgid "Hear a sample"
|
msgid "Hear a sample"
|
||||||
msgstr "Escuchar una muestra"
|
msgstr "Escuchar una muestra"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Heart"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/lib/voice-persona-copy.ts
|
#: src/lib/voice-persona-copy.ts
|
||||||
msgid "Here's the read…"
|
msgid "Here's the read…"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -2597,7 +2756,7 @@ msgstr ""
|
|||||||
msgid "Image model"
|
msgid "Image model"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/shell/avatar-studio-popover.tsx
|
#: src/components/OoAtelier.tsx
|
||||||
msgid "Image upload area"
|
msgid "Image upload area"
|
||||||
msgstr "Área de carga de imagen"
|
msgstr "Área de carga de imagen"
|
||||||
|
|
||||||
@ -2671,6 +2830,10 @@ msgstr "Cantidad del intervalo"
|
|||||||
msgid "Interval unit"
|
msgid "Interval unit"
|
||||||
msgstr "Unidad del intervalo"
|
msgstr "Unidad del intervalo"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Iris"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/MemorySettingsOverlay.tsx
|
#: src/pages/MemorySettingsOverlay.tsx
|
||||||
#: src/pages/shell/bot-panel.tsx
|
#: src/pages/shell/bot-panel.tsx
|
||||||
msgid "Isolated"
|
msgid "Isolated"
|
||||||
@ -2710,6 +2873,10 @@ msgstr "Conocimientos"
|
|||||||
msgid "Language"
|
msgid "Language"
|
||||||
msgstr "Idioma"
|
msgstr "Idioma"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Lashes"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/DesktopUpdates.tsx
|
#: src/components/DesktopUpdates.tsx
|
||||||
msgid "Later"
|
msgid "Later"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -2726,6 +2893,10 @@ msgstr ""
|
|||||||
msgid "Light"
|
msgid "Light"
|
||||||
msgstr "Claro"
|
msgstr "Claro"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Lilac"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/shell/bot-capabilities.tsx
|
#: src/pages/shell/bot-capabilities.tsx
|
||||||
msgid "Limit built-in tools"
|
msgid "Limit built-in tools"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -3031,6 +3202,10 @@ msgstr "Minimizar"
|
|||||||
msgid "Minimize bots"
|
msgid "Minimize bots"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Mint"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/RoutineSchedule.tsx
|
#: src/pages/RoutineSchedule.tsx
|
||||||
msgid "minute"
|
msgid "minute"
|
||||||
msgstr "minuto"
|
msgstr "minuto"
|
||||||
@ -3080,6 +3255,10 @@ msgstr ""
|
|||||||
msgid "Models from server"
|
msgid "Models from server"
|
||||||
msgstr "Modelos del servidor"
|
msgstr "Modelos del servidor"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Monocle"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/RoutineSchedule.tsx
|
#: src/pages/RoutineSchedule.tsx
|
||||||
msgid "Monthly"
|
msgid "Monthly"
|
||||||
msgstr "Mensual"
|
msgstr "Mensual"
|
||||||
@ -3145,6 +3324,10 @@ msgstr "Nombra este grupo"
|
|||||||
msgid "Name this routine"
|
msgid "Name this routine"
|
||||||
msgstr "Nombra esta rutina"
|
msgstr "Nombra esta rutina"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Neck"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/stage/OoStage.tsx
|
#: src/components/stage/OoStage.tsx
|
||||||
msgid "Needs attention"
|
msgid "Needs attention"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -3168,6 +3351,10 @@ msgstr ""
|
|||||||
msgid "Needs your reply"
|
msgid "Needs your reply"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Nerd"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/shell/bot-panel.tsx
|
#: src/pages/shell/bot-panel.tsx
|
||||||
msgid "New bot"
|
msgid "New bot"
|
||||||
msgstr "Nuevo bot"
|
msgstr "Nuevo bot"
|
||||||
@ -3359,6 +3546,10 @@ msgstr "Sin disparador"
|
|||||||
msgid "No usage data is sent to third parties"
|
msgid "No usage data is sent to third parties"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "None"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/ScratchpadSection.tsx
|
#: src/pages/ScratchpadSection.tsx
|
||||||
msgid "None yet"
|
msgid "None yet"
|
||||||
msgstr "Ninguno aún"
|
msgstr "Ninguno aún"
|
||||||
@ -3555,6 +3746,10 @@ msgstr "Incidente de PagerDuty"
|
|||||||
msgid "Park"
|
msgid "Park"
|
||||||
msgstr "Aparcar"
|
msgstr "Aparcar"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Party hat"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/AskCard.tsx
|
#: src/components/AskCard.tsx
|
||||||
#: src/pages/AccountSettingsOverlay.tsx
|
#: src/pages/AccountSettingsOverlay.tsx
|
||||||
#: src/pages/Auth.tsx
|
#: src/pages/Auth.tsx
|
||||||
@ -3591,6 +3786,18 @@ msgstr "Pega tu clave de API"
|
|||||||
msgid "Paused"
|
msgid "Paused"
|
||||||
msgstr "En pausa"
|
msgstr "En pausa"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Paw"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Peach"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Penguin"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/UserProfileSettings.tsx
|
#: src/components/UserProfileSettings.tsx
|
||||||
msgid "People"
|
msgid "People"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -3615,6 +3822,14 @@ msgstr ""
|
|||||||
msgid "Pin"
|
msgid "Pin"
|
||||||
msgstr "Fijar"
|
msgstr "Fijar"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Pink"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Playful"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/VoiceSettingsOverlay.tsx
|
#: src/pages/VoiceSettingsOverlay.tsx
|
||||||
msgid "Playing…"
|
msgid "Playing…"
|
||||||
msgstr "Reproduciendo…"
|
msgstr "Reproduciendo…"
|
||||||
@ -3762,6 +3977,10 @@ msgstr "Leer respuestas en voz alta"
|
|||||||
msgid "read-only"
|
msgid "read-only"
|
||||||
msgstr "Solo lectura"
|
msgstr "Solo lectura"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Reading glasses"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/lib/voice-persona-copy.ts
|
#: src/lib/voice-persona-copy.ts
|
||||||
msgid "Reading the stack trace…"
|
msgid "Reading the stack trace…"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -3976,7 +4195,7 @@ msgstr ""
|
|||||||
|
|
||||||
#: src/components/ComputerMaintenanceActions.tsx
|
#: src/components/ComputerMaintenanceActions.tsx
|
||||||
#: src/components/onboarding/OnboardingOoDesigner.tsx
|
#: src/components/onboarding/OnboardingOoDesigner.tsx
|
||||||
#: src/pages/shell/avatar-studio-popover.tsx
|
#: src/components/OoAtelier.tsx
|
||||||
msgid "Reset"
|
msgid "Reset"
|
||||||
msgstr "Restablecer"
|
msgstr "Restablecer"
|
||||||
|
|
||||||
@ -4042,14 +4261,26 @@ msgstr "Revocar"
|
|||||||
msgid "Riffing"
|
msgid "Riffing"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Robot"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/ExternalConversationSettings.tsx
|
#: src/pages/ExternalConversationSettings.tsx
|
||||||
msgid "Room guidance"
|
msgid "Room guidance"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Rose"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/RoutineEditor.tsx
|
#: src/pages/RoutineEditor.tsx
|
||||||
msgid "Rotate key"
|
msgid "Rotate key"
|
||||||
msgstr "Rotar clave"
|
msgstr "Rotar clave"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Round"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/RoutineEditor.tsx
|
#: src/pages/RoutineEditor.tsx
|
||||||
#: src/pages/Shell.tsx
|
#: src/pages/Shell.tsx
|
||||||
#: src/pages/shell/routine-event-line.tsx
|
#: src/pages/shell/routine-event-line.tsx
|
||||||
@ -4164,6 +4395,10 @@ msgstr "Di sí o no, o responde en una frase."
|
|||||||
msgid "Scanning exposure…"
|
msgid "Scanning exposure…"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Scarf"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/onboarding/OnboardingOoDesigner.tsx
|
#: src/components/onboarding/OnboardingOoDesigner.tsx
|
||||||
msgid "Scene"
|
msgid "Scene"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -4294,10 +4529,15 @@ msgstr "Ayuda de configuración"
|
|||||||
msgid "Setup progress"
|
msgid "Setup progress"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/shell/avatar-studio-popover.tsx
|
#: src/components/OoAtelier.tsx
|
||||||
msgid "Shape"
|
msgid "Shape"
|
||||||
msgstr "Forma"
|
msgstr "Forma"
|
||||||
|
|
||||||
|
#. placeholder {0}: shape + 1
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Shape {0}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/lib/voice-persona-copy.ts
|
#: src/lib/voice-persona-copy.ts
|
||||||
msgid "Share what you're imagining — or tell me one thing to refine."
|
msgid "Share what you're imagining — or tell me one thing to refine."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -4415,6 +4655,10 @@ msgstr "Mensaje de Slack"
|
|||||||
msgid "Slack not enabled"
|
msgid "Slack not enabled"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Soft"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/SoftwareUpdateSection.tsx
|
#: src/components/SoftwareUpdateSection.tsx
|
||||||
msgid "Software update"
|
msgid "Software update"
|
||||||
msgstr "Actualización de software"
|
msgstr "Actualización de software"
|
||||||
@ -4444,6 +4688,10 @@ msgstr "Predeterminado del Space"
|
|||||||
msgid "Spaces"
|
msgid "Spaces"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Sparkle"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/shell/transcript.tsx
|
#: src/pages/shell/transcript.tsx
|
||||||
msgid "Speak"
|
msgid "Speak"
|
||||||
msgstr "Hablar"
|
msgstr "Hablar"
|
||||||
@ -4478,10 +4726,18 @@ msgstr ""
|
|||||||
msgid "Specialist crew"
|
msgid "Specialist crew"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Species"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/lib/model-tier-label.ts
|
#: src/lib/model-tier-label.ts
|
||||||
msgid "Standard"
|
msgid "Standard"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Star"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/Shell.tsx
|
#: src/pages/Shell.tsx
|
||||||
msgid "Start"
|
msgid "Start"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -4585,6 +4841,10 @@ msgstr ""
|
|||||||
msgid "Stronger together — {0} specialists"
|
msgid "Stronger together — {0} specialists"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Stub"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/shell/transcript.tsx
|
#: src/pages/shell/transcript.tsx
|
||||||
msgid "subagent"
|
msgid "subagent"
|
||||||
msgstr "subagente"
|
msgstr "subagente"
|
||||||
@ -4597,6 +4857,10 @@ msgstr "Enviar"
|
|||||||
msgid "Summary"
|
msgid "Summary"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Sunglasses"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/ModelSettingsOverlay.tsx
|
#: src/pages/ModelSettingsOverlay.tsx
|
||||||
msgid "Supports images"
|
msgid "Supports images"
|
||||||
msgstr "Admite imágenes"
|
msgstr "Admite imágenes"
|
||||||
@ -4605,6 +4869,10 @@ msgstr "Admite imágenes"
|
|||||||
msgid "Supports thinking"
|
msgid "Supports thinking"
|
||||||
msgstr "Admite razonamiento"
|
msgstr "Admite razonamiento"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Surprise me"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/onboarding/LookPreviewCarousel.tsx
|
#: src/components/onboarding/LookPreviewCarousel.tsx
|
||||||
msgid "Swipe for more looks"
|
msgid "Swipe for more looks"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -4921,7 +5189,7 @@ msgstr ""
|
|||||||
msgid "Updating…"
|
msgid "Updating…"
|
||||||
msgstr "Actualizando…"
|
msgstr "Actualizando…"
|
||||||
|
|
||||||
#: src/pages/shell/avatar-studio-popover.tsx
|
#: src/components/OoAtelier.tsx
|
||||||
msgid "Upload"
|
msgid "Upload"
|
||||||
msgstr "Subir"
|
msgstr "Subir"
|
||||||
|
|
||||||
@ -4967,6 +5235,10 @@ msgstr "Verificando…"
|
|||||||
msgid "Video workflow"
|
msgid "Video workflow"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Violet"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/SettingsOverlay.tsx
|
#: src/pages/SettingsOverlay.tsx
|
||||||
#: src/pages/shell/bot-panel.tsx
|
#: src/pages/shell/bot-panel.tsx
|
||||||
#: src/pages/shell/composer.tsx
|
#: src/pages/shell/composer.tsx
|
||||||
@ -5113,6 +5385,10 @@ msgstr ""
|
|||||||
msgid "When a webhook fires"
|
msgid "When a webhook fires"
|
||||||
msgstr "Cuando se dispara un webhook"
|
msgstr "Cuando se dispara un webhook"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "When needed"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/lib/onboarding-copy.ts
|
#: src/lib/onboarding-copy.ts
|
||||||
msgid "When should I check in with you?"
|
msgid "When should I check in with you?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -5133,6 +5409,10 @@ msgstr "Cuándo usar"
|
|||||||
msgid "Where should bots run?"
|
msgid "Where should bots run?"
|
||||||
msgstr "¿Dónde deben ejecutarse los bots?"
|
msgstr "¿Dónde deben ejecutarse los bots?"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Winged"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/shell/bot-picker.tsx
|
#: src/pages/shell/bot-picker.tsx
|
||||||
msgid "With:"
|
msgid "With:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|||||||
@ -668,6 +668,10 @@ msgstr ""
|
|||||||
msgid "Arguments"
|
msgid "Arguments"
|
||||||
msgstr "आर्ग्युमेंट"
|
msgstr "आर्ग्युमेंट"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Arms"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#. placeholder {0}: rule.matchValue
|
#. placeholder {0}: rule.matchValue
|
||||||
#: src/components/ApprovalRulesSettings.tsx
|
#: src/components/ApprovalRulesSettings.tsx
|
||||||
msgid "Ask before {0}"
|
msgid "Ask before {0}"
|
||||||
@ -716,6 +720,10 @@ msgstr "{0} बजे"
|
|||||||
msgid "at {timeSelect}"
|
msgid "at {timeSelect}"
|
||||||
msgstr "{timeSelect} बजे"
|
msgstr "{timeSelect} बजे"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Atelier"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/shell/composer.tsx
|
#: src/pages/shell/composer.tsx
|
||||||
msgid "Attach file"
|
msgid "Attach file"
|
||||||
msgstr "फ़ाइल संलग्न करें"
|
msgstr "फ़ाइल संलग्न करें"
|
||||||
@ -756,10 +764,6 @@ msgstr ""
|
|||||||
msgid "Available after the routine is saved"
|
msgid "Available after the routine is saved"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/shell/avatar-studio-popover.tsx
|
|
||||||
msgid "Avatar Studio"
|
|
||||||
msgstr "अवतार स्टूडियो"
|
|
||||||
|
|
||||||
#: src/components/browser/InAppBrowser.tsx
|
#: src/components/browser/InAppBrowser.tsx
|
||||||
#: src/components/CookingMode.tsx
|
#: src/components/CookingMode.tsx
|
||||||
#: src/components/onboarding/OnboardingVoiceStep.tsx
|
#: src/components/onboarding/OnboardingVoiceStep.tsx
|
||||||
@ -781,15 +785,35 @@ msgstr ""
|
|||||||
msgid "Base URL"
|
msgid "Base URL"
|
||||||
msgstr "बेस URL"
|
msgstr "बेस URL"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Beanie"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Bear"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/memory-providers/SerenitySettingsForm.tsx
|
#: src/pages/memory-providers/SerenitySettingsForm.tsx
|
||||||
#: src/pages/PluginsOverlay.tsx
|
#: src/pages/PluginsOverlay.tsx
|
||||||
msgid "Bearer token"
|
msgid "Bearer token"
|
||||||
msgstr "बियरर टोकन"
|
msgstr "बियरर टोकन"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Bell"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/NotificationSettingsPanel.tsx
|
#: src/components/NotificationSettingsPanel.tsx
|
||||||
msgid "Blocked in your browser settings"
|
msgid "Blocked in your browser settings"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Blue"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Body"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/shell/computer-screen.tsx
|
#: src/pages/shell/computer-screen.tsx
|
||||||
msgid "Booting live desktop…"
|
msgid "Booting live desktop…"
|
||||||
msgstr "लाइव डेस्कटॉप शुरू हो रहा है…"
|
msgstr "लाइव डेस्कटॉप शुरू हो रहा है…"
|
||||||
@ -810,7 +834,6 @@ msgstr "बॉट"
|
|||||||
|
|
||||||
#: src/pages/IntegrationSetup.tsx
|
#: src/pages/IntegrationSetup.tsx
|
||||||
#: src/pages/Shell.tsx
|
#: src/pages/Shell.tsx
|
||||||
#: src/pages/shell/avatar-studio-popover.tsx
|
|
||||||
msgid "Bot"
|
msgid "Bot"
|
||||||
msgstr "बॉट"
|
msgstr "बॉट"
|
||||||
|
|
||||||
@ -834,10 +857,26 @@ msgstr "बॉट डिफ़ॉल्ट रूप से बिना पू
|
|||||||
msgid "Bots are working"
|
msgid "Bots are working"
|
||||||
msgstr "बॉट काम कर रहे हैं"
|
msgstr "बॉट काम कर रहे हैं"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Bow"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Bow tie"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/memory-providers/SerenitySettingsForm.tsx
|
#: src/pages/memory-providers/SerenitySettingsForm.tsx
|
||||||
msgid "Brain label"
|
msgid "Brain label"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Brown"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Brows"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/PluginsOverlay.tsx
|
#: src/pages/PluginsOverlay.tsx
|
||||||
msgid "Browse MCP servers"
|
msgid "Browse MCP servers"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -846,6 +885,14 @@ msgstr ""
|
|||||||
msgid "Browser"
|
msgid "Browser"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Bunny"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Bushy"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/Shell.tsx
|
#: src/pages/Shell.tsx
|
||||||
msgid "Busy"
|
msgid "Busy"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -911,6 +958,10 @@ msgstr "रद्द किया गया"
|
|||||||
msgid "Cancelled"
|
msgid "Cancelled"
|
||||||
msgstr "रद्द किया गया"
|
msgstr "रद्द किया गया"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Cat"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/UserFactEditor.tsx
|
#: src/components/UserFactEditor.tsx
|
||||||
msgid "Category"
|
msgid "Category"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -1006,9 +1057,13 @@ msgstr ""
|
|||||||
msgid "Checkout has local changes. Clean it before updating."
|
msgid "Checkout has local changes. Clean it before updating."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/shell/avatar-studio-popover.tsx
|
#: src/components/OoAtelier.tsx
|
||||||
msgid "Choose a bot shape, color, or upload an image"
|
msgid "Cheeks"
|
||||||
msgstr "बॉट का आकार और रंग चुनें, या छवि अपलोड करें"
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Chef's hat"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/MessagingSettingsOverlay.tsx
|
#: src/pages/MessagingSettingsOverlay.tsx
|
||||||
msgid "Choose a bot…"
|
msgid "Choose a bot…"
|
||||||
@ -1026,7 +1081,7 @@ msgstr "नया पासवर्ड चुनें"
|
|||||||
msgid "Choose an existing folder on this computer. Git remotes are linked automatically when a repository is present."
|
msgid "Choose an existing folder on this computer. Git remotes are linked automatically when a repository is present."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/shell/avatar-studio-popover.tsx
|
#: src/components/OoAtelier.tsx
|
||||||
msgid "Choose file"
|
msgid "Choose file"
|
||||||
msgstr "फ़ाइल चुनें"
|
msgstr "फ़ाइल चुनें"
|
||||||
|
|
||||||
@ -1034,6 +1089,10 @@ msgstr "फ़ाइल चुनें"
|
|||||||
msgid "Choose folder"
|
msgid "Choose folder"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Choose how your Oo looks and moves"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/ModelSettingsOverlay.tsx
|
#: src/pages/ModelSettingsOverlay.tsx
|
||||||
msgid "Choose which connected model Rakazo uses."
|
msgid "Choose which connected model Rakazo uses."
|
||||||
msgstr "चुनें कि Rakazo किस कनेक्टेड मॉडल का उपयोग करे।"
|
msgstr "चुनें कि Rakazo किस कनेक्टेड मॉडल का उपयोग करे।"
|
||||||
@ -1046,6 +1105,10 @@ msgstr ""
|
|||||||
msgid "Choosing the right shape…"
|
msgid "Choosing the right shape…"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Classic"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/shell/dialogs.tsx
|
#: src/pages/shell/dialogs.tsx
|
||||||
msgid "Clear"
|
msgid "Clear"
|
||||||
msgstr "साफ़ करें"
|
msgstr "साफ़ करें"
|
||||||
@ -1076,12 +1139,12 @@ msgstr ""
|
|||||||
msgid "Client secret"
|
msgid "Client secret"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
#: src/pages/KnowledgeSection.tsx
|
#: src/pages/KnowledgeSection.tsx
|
||||||
#: src/pages/MessagingSettingsOverlay.tsx
|
#: src/pages/MessagingSettingsOverlay.tsx
|
||||||
#: src/pages/PeerMessagesOverlay.tsx
|
#: src/pages/PeerMessagesOverlay.tsx
|
||||||
#: src/pages/RoutineEditor.tsx
|
#: src/pages/RoutineEditor.tsx
|
||||||
#: src/pages/Shell.tsx
|
#: src/pages/Shell.tsx
|
||||||
#: src/pages/shell/avatar-studio-popover.tsx
|
|
||||||
#: src/pages/WindowChrome.tsx
|
#: src/pages/WindowChrome.tsx
|
||||||
msgid "Close"
|
msgid "Close"
|
||||||
msgstr "बंद करें"
|
msgstr "बंद करें"
|
||||||
@ -1165,11 +1228,11 @@ msgstr ""
|
|||||||
msgid "Collapse {0}"
|
msgid "Collapse {0}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/shell/avatar-studio-popover.tsx
|
#: src/components/OoAtelier.tsx
|
||||||
msgid "Color"
|
msgid "Color"
|
||||||
msgstr "रंग"
|
msgstr "रंग"
|
||||||
|
|
||||||
#: src/pages/shell/avatar-studio-popover.tsx
|
#: src/components/OoAtelier.tsx
|
||||||
msgid "Color {color}"
|
msgid "Color {color}"
|
||||||
msgstr "रंग {color}"
|
msgstr "रंग {color}"
|
||||||
|
|
||||||
@ -1846,15 +1909,27 @@ msgstr "Cron"
|
|||||||
msgid "Cron expression"
|
msgid "Cron expression"
|
||||||
msgstr "Cron एक्सप्रेशन"
|
msgstr "Cron एक्सप्रेशन"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Crown"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/AccountSettingsOverlay.tsx
|
#: src/pages/AccountSettingsOverlay.tsx
|
||||||
msgid "Current password"
|
msgid "Current password"
|
||||||
msgstr "वर्तमान पासवर्ड"
|
msgstr "वर्तमान पासवर्ड"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Custom color"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/shell/dialogs.tsx
|
#: src/pages/shell/dialogs.tsx
|
||||||
msgid "Customer support"
|
msgid "Customer support"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/shell/avatar-studio-popover.tsx
|
#: src/components/onboarding/OnboardingOoDesigner.tsx
|
||||||
|
msgid "Customize"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
msgid "Customize bot avatar"
|
msgid "Customize bot avatar"
|
||||||
msgstr "बॉट अवतार अनुकूलित करें"
|
msgstr "बॉट अवतार अनुकूलित करें"
|
||||||
|
|
||||||
@ -2056,6 +2131,10 @@ msgstr "Docker अतिरिक्त सुरक्षा के लिए
|
|||||||
msgid "Does not speak"
|
msgid "Does not speak"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Dog"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/HeuteBrief.tsx
|
#: src/pages/HeuteBrief.tsx
|
||||||
msgid "Doing"
|
msgid "Doing"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -2071,10 +2150,10 @@ msgstr ""
|
|||||||
#: src/components/ai/DelegatedTaskCard.tsx
|
#: src/components/ai/DelegatedTaskCard.tsx
|
||||||
#: src/components/CookingMode.tsx
|
#: src/components/CookingMode.tsx
|
||||||
#: src/components/media/MediaCard.tsx
|
#: src/components/media/MediaCard.tsx
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
#: src/components/ThreadCard.tsx
|
#: src/components/ThreadCard.tsx
|
||||||
#: src/pages/HeuteBrief.tsx
|
#: src/pages/HeuteBrief.tsx
|
||||||
#: src/pages/ProjectSessionTimeline.tsx
|
#: src/pages/ProjectSessionTimeline.tsx
|
||||||
#: src/pages/shell/avatar-studio-popover.tsx
|
|
||||||
msgid "Done"
|
msgid "Done"
|
||||||
msgstr "पूर्ण"
|
msgstr "पूर्ण"
|
||||||
|
|
||||||
@ -2083,6 +2162,10 @@ msgstr "पूर्ण"
|
|||||||
msgid "Done"
|
msgid "Done"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Dot"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#. placeholder {0}: props.name
|
#. placeholder {0}: props.name
|
||||||
#: src/components/ArtifactFileCard.tsx
|
#: src/components/ArtifactFileCard.tsx
|
||||||
msgid "Download {0}"
|
msgid "Download {0}"
|
||||||
@ -2120,7 +2203,7 @@ msgstr ""
|
|||||||
msgid "Drag to reorder"
|
msgid "Drag to reorder"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/shell/avatar-studio-popover.tsx
|
#: src/components/OoAtelier.tsx
|
||||||
msgid "Drag, drop, or paste an image"
|
msgid "Drag, drop, or paste an image"
|
||||||
msgstr "छवि खींचें, छोड़ें या पेस्ट करें"
|
msgstr "छवि खींचें, छोड़ें या पेस्ट करें"
|
||||||
|
|
||||||
@ -2161,6 +2244,10 @@ msgstr "ईमेल"
|
|||||||
msgid "Embeddings URL"
|
msgid "Embeddings URL"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Energy"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/ExternalConversationSettings.tsx
|
#: src/pages/ExternalConversationSettings.tsx
|
||||||
msgid "Engage when... Ignore..."
|
msgid "Engage when... Ignore..."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -2288,6 +2375,22 @@ msgstr ""
|
|||||||
msgid "Extra high"
|
msgid "Extra high"
|
||||||
msgstr "अतिरिक्त उच्च"
|
msgstr "अतिरिक्त उच्च"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Extras"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Eyeliner"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Eyes"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Eyeshadow"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/UserFactEditor.tsx
|
#: src/components/UserFactEditor.tsx
|
||||||
msgid "Fact"
|
msgid "Fact"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -2345,6 +2448,10 @@ msgstr ""
|
|||||||
msgid "Finding…"
|
msgid "Finding…"
|
||||||
msgstr "खोजा जा रहा है…"
|
msgstr "खोजा जा रहा है…"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Fine"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#. placeholder {0}: new URL(oauth.verificationUri).hostname
|
#. placeholder {0}: new URL(oauth.verificationUri).hostname
|
||||||
#: src/pages/ModelSettingsOverlay.tsx
|
#: src/pages/ModelSettingsOverlay.tsx
|
||||||
msgid "Finish signing in at <0>{0}</0>. The final page may not load; paste its URL or code here."
|
msgid "Finish signing in at <0>{0}</0>. The final page may not load; paste its URL or code here."
|
||||||
@ -2371,6 +2478,14 @@ msgstr ""
|
|||||||
msgid "Flag unexpected actions"
|
msgid "Flag unexpected actions"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Flick"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Flower"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/PrivacySettingsOverlay.tsx
|
#: src/pages/PrivacySettingsOverlay.tsx
|
||||||
msgid "Fonts loaded locally"
|
msgid "Fonts loaded locally"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -2395,10 +2510,22 @@ msgstr "पासवर्ड भूल गए?"
|
|||||||
msgid "Forward"
|
msgid "Forward"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Freckles"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/ModelSettingsOverlay.tsx
|
#: src/pages/ModelSettingsOverlay.tsx
|
||||||
msgid "Free"
|
msgid "Free"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Frog"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Full"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/WindowChrome.tsx
|
#: src/pages/WindowChrome.tsx
|
||||||
msgid "Fullscreen"
|
msgid "Fullscreen"
|
||||||
msgstr "फ़ुलस्क्रीन"
|
msgstr "फ़ुलस्क्रीन"
|
||||||
@ -2427,10 +2554,22 @@ msgstr ""
|
|||||||
msgid "Getting ready…"
|
msgid "Getting ready…"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Ghost"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/RoutineEditor.tsx
|
#: src/pages/RoutineEditor.tsx
|
||||||
msgid "Git event"
|
msgid "Git event"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Glass"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Glasses"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/ProjectSessionTimeline.tsx
|
#: src/pages/ProjectSessionTimeline.tsx
|
||||||
msgid "Goal"
|
msgid "Goal"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -2445,6 +2584,14 @@ msgstr ""
|
|||||||
msgid "Goals for this project, separate from chat messages. Conversations are below."
|
msgid "Goals for this project, separate from chat messages. Conversations are below."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Gold"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Green"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/stage/OoStage.tsx
|
#: src/components/stage/OoStage.tsx
|
||||||
#: src/pages/MessagingSettingsOverlay.tsx
|
#: src/pages/MessagingSettingsOverlay.tsx
|
||||||
#: src/pages/Shell.tsx
|
#: src/pages/Shell.tsx
|
||||||
@ -2490,6 +2637,10 @@ msgstr ""
|
|||||||
msgid "Hang up, then enter the code on screen."
|
msgid "Hang up, then enter the code on screen."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Hat"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/RoutineEditor.tsx
|
#: src/pages/RoutineEditor.tsx
|
||||||
msgid "header"
|
msgid "header"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -2503,6 +2654,10 @@ msgstr "हेडर नाम"
|
|||||||
msgid "Header value"
|
msgid "Header value"
|
||||||
msgstr "हेडर मान"
|
msgstr "हेडर मान"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Headphones"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/UserProfileSettings.tsx
|
#: src/components/UserProfileSettings.tsx
|
||||||
msgid "Health"
|
msgid "Health"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -2511,6 +2666,10 @@ msgstr ""
|
|||||||
msgid "Hear a sample"
|
msgid "Hear a sample"
|
||||||
msgstr "एक नमूना सुनें"
|
msgstr "एक नमूना सुनें"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Heart"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/lib/voice-persona-copy.ts
|
#: src/lib/voice-persona-copy.ts
|
||||||
msgid "Here's the read…"
|
msgid "Here's the read…"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -2597,7 +2756,7 @@ msgstr ""
|
|||||||
msgid "Image model"
|
msgid "Image model"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/shell/avatar-studio-popover.tsx
|
#: src/components/OoAtelier.tsx
|
||||||
msgid "Image upload area"
|
msgid "Image upload area"
|
||||||
msgstr "छवि अपलोड क्षेत्र"
|
msgstr "छवि अपलोड क्षेत्र"
|
||||||
|
|
||||||
@ -2671,6 +2830,10 @@ msgstr "अंतराल मात्रा"
|
|||||||
msgid "Interval unit"
|
msgid "Interval unit"
|
||||||
msgstr "अंतराल इकाई"
|
msgstr "अंतराल इकाई"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Iris"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/MemorySettingsOverlay.tsx
|
#: src/pages/MemorySettingsOverlay.tsx
|
||||||
#: src/pages/shell/bot-panel.tsx
|
#: src/pages/shell/bot-panel.tsx
|
||||||
msgid "Isolated"
|
msgid "Isolated"
|
||||||
@ -2710,6 +2873,10 @@ msgstr "ज्ञान"
|
|||||||
msgid "Language"
|
msgid "Language"
|
||||||
msgstr "भाषा"
|
msgstr "भाषा"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Lashes"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/DesktopUpdates.tsx
|
#: src/components/DesktopUpdates.tsx
|
||||||
msgid "Later"
|
msgid "Later"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -2726,6 +2893,10 @@ msgstr ""
|
|||||||
msgid "Light"
|
msgid "Light"
|
||||||
msgstr "लाइट"
|
msgstr "लाइट"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Lilac"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/shell/bot-capabilities.tsx
|
#: src/pages/shell/bot-capabilities.tsx
|
||||||
msgid "Limit built-in tools"
|
msgid "Limit built-in tools"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -3031,6 +3202,10 @@ msgstr "छोटा करें"
|
|||||||
msgid "Minimize bots"
|
msgid "Minimize bots"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Mint"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/RoutineSchedule.tsx
|
#: src/pages/RoutineSchedule.tsx
|
||||||
msgid "minute"
|
msgid "minute"
|
||||||
msgstr "मिनट"
|
msgstr "मिनट"
|
||||||
@ -3080,6 +3255,10 @@ msgstr ""
|
|||||||
msgid "Models from server"
|
msgid "Models from server"
|
||||||
msgstr "सर्वर से मॉडल"
|
msgstr "सर्वर से मॉडल"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Monocle"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/RoutineSchedule.tsx
|
#: src/pages/RoutineSchedule.tsx
|
||||||
msgid "Monthly"
|
msgid "Monthly"
|
||||||
msgstr "मासिक"
|
msgstr "मासिक"
|
||||||
@ -3145,6 +3324,10 @@ msgstr "इस समूह को नाम दें"
|
|||||||
msgid "Name this routine"
|
msgid "Name this routine"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Neck"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/stage/OoStage.tsx
|
#: src/components/stage/OoStage.tsx
|
||||||
msgid "Needs attention"
|
msgid "Needs attention"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -3168,6 +3351,10 @@ msgstr ""
|
|||||||
msgid "Needs your reply"
|
msgid "Needs your reply"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Nerd"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/shell/bot-panel.tsx
|
#: src/pages/shell/bot-panel.tsx
|
||||||
msgid "New bot"
|
msgid "New bot"
|
||||||
msgstr "नया बॉट"
|
msgstr "नया बॉट"
|
||||||
@ -3359,6 +3546,10 @@ msgstr ""
|
|||||||
msgid "No usage data is sent to third parties"
|
msgid "No usage data is sent to third parties"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "None"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/ScratchpadSection.tsx
|
#: src/pages/ScratchpadSection.tsx
|
||||||
msgid "None yet"
|
msgid "None yet"
|
||||||
msgstr "अभी तक कोई नहीं"
|
msgstr "अभी तक कोई नहीं"
|
||||||
@ -3555,6 +3746,10 @@ msgstr ""
|
|||||||
msgid "Park"
|
msgid "Park"
|
||||||
msgstr "पार्क करें"
|
msgstr "पार्क करें"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Party hat"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/AskCard.tsx
|
#: src/components/AskCard.tsx
|
||||||
#: src/pages/AccountSettingsOverlay.tsx
|
#: src/pages/AccountSettingsOverlay.tsx
|
||||||
#: src/pages/Auth.tsx
|
#: src/pages/Auth.tsx
|
||||||
@ -3591,6 +3786,18 @@ msgstr "अपनी API कुंजी पेस्ट करें"
|
|||||||
msgid "Paused"
|
msgid "Paused"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Paw"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Peach"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Penguin"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/UserProfileSettings.tsx
|
#: src/components/UserProfileSettings.tsx
|
||||||
msgid "People"
|
msgid "People"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -3615,6 +3822,14 @@ msgstr ""
|
|||||||
msgid "Pin"
|
msgid "Pin"
|
||||||
msgstr "पिन करें"
|
msgstr "पिन करें"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Pink"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Playful"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/VoiceSettingsOverlay.tsx
|
#: src/pages/VoiceSettingsOverlay.tsx
|
||||||
msgid "Playing…"
|
msgid "Playing…"
|
||||||
msgstr "प्ले हो रहा है…"
|
msgstr "प्ले हो रहा है…"
|
||||||
@ -3762,6 +3977,10 @@ msgstr "उत्तर पढ़कर सुनाएं"
|
|||||||
msgid "read-only"
|
msgid "read-only"
|
||||||
msgstr "केवल पढ़ने योग्य"
|
msgstr "केवल पढ़ने योग्य"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Reading glasses"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/lib/voice-persona-copy.ts
|
#: src/lib/voice-persona-copy.ts
|
||||||
msgid "Reading the stack trace…"
|
msgid "Reading the stack trace…"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -3976,7 +4195,7 @@ msgstr ""
|
|||||||
|
|
||||||
#: src/components/ComputerMaintenanceActions.tsx
|
#: src/components/ComputerMaintenanceActions.tsx
|
||||||
#: src/components/onboarding/OnboardingOoDesigner.tsx
|
#: src/components/onboarding/OnboardingOoDesigner.tsx
|
||||||
#: src/pages/shell/avatar-studio-popover.tsx
|
#: src/components/OoAtelier.tsx
|
||||||
msgid "Reset"
|
msgid "Reset"
|
||||||
msgstr "रीसेट करें"
|
msgstr "रीसेट करें"
|
||||||
|
|
||||||
@ -4042,14 +4261,26 @@ msgstr ""
|
|||||||
msgid "Riffing"
|
msgid "Riffing"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Robot"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/ExternalConversationSettings.tsx
|
#: src/pages/ExternalConversationSettings.tsx
|
||||||
msgid "Room guidance"
|
msgid "Room guidance"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Rose"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/RoutineEditor.tsx
|
#: src/pages/RoutineEditor.tsx
|
||||||
msgid "Rotate key"
|
msgid "Rotate key"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Round"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/RoutineEditor.tsx
|
#: src/pages/RoutineEditor.tsx
|
||||||
#: src/pages/Shell.tsx
|
#: src/pages/Shell.tsx
|
||||||
#: src/pages/shell/routine-event-line.tsx
|
#: src/pages/shell/routine-event-line.tsx
|
||||||
@ -4164,6 +4395,10 @@ msgstr "हां या ना कहें, या एक वाक्य म
|
|||||||
msgid "Scanning exposure…"
|
msgid "Scanning exposure…"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Scarf"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/onboarding/OnboardingOoDesigner.tsx
|
#: src/components/onboarding/OnboardingOoDesigner.tsx
|
||||||
msgid "Scene"
|
msgid "Scene"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -4294,10 +4529,15 @@ msgstr "सेटअप सहायता"
|
|||||||
msgid "Setup progress"
|
msgid "Setup progress"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/shell/avatar-studio-popover.tsx
|
#: src/components/OoAtelier.tsx
|
||||||
msgid "Shape"
|
msgid "Shape"
|
||||||
msgstr "आकार"
|
msgstr "आकार"
|
||||||
|
|
||||||
|
#. placeholder {0}: shape + 1
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Shape {0}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/lib/voice-persona-copy.ts
|
#: src/lib/voice-persona-copy.ts
|
||||||
msgid "Share what you're imagining — or tell me one thing to refine."
|
msgid "Share what you're imagining — or tell me one thing to refine."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -4415,6 +4655,10 @@ msgstr ""
|
|||||||
msgid "Slack not enabled"
|
msgid "Slack not enabled"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Soft"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/SoftwareUpdateSection.tsx
|
#: src/components/SoftwareUpdateSection.tsx
|
||||||
msgid "Software update"
|
msgid "Software update"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -4444,6 +4688,10 @@ msgstr "स्पेस डिफ़ॉल्ट"
|
|||||||
msgid "Spaces"
|
msgid "Spaces"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Sparkle"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/shell/transcript.tsx
|
#: src/pages/shell/transcript.tsx
|
||||||
msgid "Speak"
|
msgid "Speak"
|
||||||
msgstr "बोलें"
|
msgstr "बोलें"
|
||||||
@ -4478,10 +4726,18 @@ msgstr ""
|
|||||||
msgid "Specialist crew"
|
msgid "Specialist crew"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Species"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/lib/model-tier-label.ts
|
#: src/lib/model-tier-label.ts
|
||||||
msgid "Standard"
|
msgid "Standard"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Star"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/Shell.tsx
|
#: src/pages/Shell.tsx
|
||||||
msgid "Start"
|
msgid "Start"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -4585,6 +4841,10 @@ msgstr ""
|
|||||||
msgid "Stronger together — {0} specialists"
|
msgid "Stronger together — {0} specialists"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Stub"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/shell/transcript.tsx
|
#: src/pages/shell/transcript.tsx
|
||||||
msgid "subagent"
|
msgid "subagent"
|
||||||
msgstr "सबएजेंट"
|
msgstr "सबएजेंट"
|
||||||
@ -4597,6 +4857,10 @@ msgstr "सबमिट करें"
|
|||||||
msgid "Summary"
|
msgid "Summary"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Sunglasses"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/ModelSettingsOverlay.tsx
|
#: src/pages/ModelSettingsOverlay.tsx
|
||||||
msgid "Supports images"
|
msgid "Supports images"
|
||||||
msgstr "छवियों का समर्थन"
|
msgstr "छवियों का समर्थन"
|
||||||
@ -4605,6 +4869,10 @@ msgstr "छवियों का समर्थन"
|
|||||||
msgid "Supports thinking"
|
msgid "Supports thinking"
|
||||||
msgstr "सोचने की क्षमता का समर्थन करता है"
|
msgstr "सोचने की क्षमता का समर्थन करता है"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Surprise me"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/onboarding/LookPreviewCarousel.tsx
|
#: src/components/onboarding/LookPreviewCarousel.tsx
|
||||||
msgid "Swipe for more looks"
|
msgid "Swipe for more looks"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -4921,7 +5189,7 @@ msgstr ""
|
|||||||
msgid "Updating…"
|
msgid "Updating…"
|
||||||
msgstr "अपडेट हो रहा है…"
|
msgstr "अपडेट हो रहा है…"
|
||||||
|
|
||||||
#: src/pages/shell/avatar-studio-popover.tsx
|
#: src/components/OoAtelier.tsx
|
||||||
msgid "Upload"
|
msgid "Upload"
|
||||||
msgstr "अपलोड"
|
msgstr "अपलोड"
|
||||||
|
|
||||||
@ -4967,6 +5235,10 @@ msgstr "पुष्टि की जा रही है…"
|
|||||||
msgid "Video workflow"
|
msgid "Video workflow"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Violet"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/SettingsOverlay.tsx
|
#: src/pages/SettingsOverlay.tsx
|
||||||
#: src/pages/shell/bot-panel.tsx
|
#: src/pages/shell/bot-panel.tsx
|
||||||
#: src/pages/shell/composer.tsx
|
#: src/pages/shell/composer.tsx
|
||||||
@ -5113,6 +5385,10 @@ msgstr ""
|
|||||||
msgid "When a webhook fires"
|
msgid "When a webhook fires"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "When needed"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/lib/onboarding-copy.ts
|
#: src/lib/onboarding-copy.ts
|
||||||
msgid "When should I check in with you?"
|
msgid "When should I check in with you?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -5133,6 +5409,10 @@ msgstr "कब उपयोग करें"
|
|||||||
msgid "Where should bots run?"
|
msgid "Where should bots run?"
|
||||||
msgstr "बॉट कहां चलने चाहिए?"
|
msgstr "बॉट कहां चलने चाहिए?"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Winged"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/shell/bot-picker.tsx
|
#: src/pages/shell/bot-picker.tsx
|
||||||
msgid "With:"
|
msgid "With:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|||||||
@ -668,6 +668,10 @@ msgstr ""
|
|||||||
msgid "Arguments"
|
msgid "Arguments"
|
||||||
msgstr "인자"
|
msgstr "인자"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Arms"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#. placeholder {0}: rule.matchValue
|
#. placeholder {0}: rule.matchValue
|
||||||
#: src/components/ApprovalRulesSettings.tsx
|
#: src/components/ApprovalRulesSettings.tsx
|
||||||
msgid "Ask before {0}"
|
msgid "Ask before {0}"
|
||||||
@ -716,6 +720,10 @@ msgstr "{0}에"
|
|||||||
msgid "at {timeSelect}"
|
msgid "at {timeSelect}"
|
||||||
msgstr "{timeSelect}에"
|
msgstr "{timeSelect}에"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Atelier"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/shell/composer.tsx
|
#: src/pages/shell/composer.tsx
|
||||||
msgid "Attach file"
|
msgid "Attach file"
|
||||||
msgstr "파일 첨부"
|
msgstr "파일 첨부"
|
||||||
@ -756,10 +764,6 @@ msgstr ""
|
|||||||
msgid "Available after the routine is saved"
|
msgid "Available after the routine is saved"
|
||||||
msgstr "루틴을 저장한 후 사용할 수 있습니다"
|
msgstr "루틴을 저장한 후 사용할 수 있습니다"
|
||||||
|
|
||||||
#: src/pages/shell/avatar-studio-popover.tsx
|
|
||||||
msgid "Avatar Studio"
|
|
||||||
msgstr "아바타 스튜디오"
|
|
||||||
|
|
||||||
#: src/components/browser/InAppBrowser.tsx
|
#: src/components/browser/InAppBrowser.tsx
|
||||||
#: src/components/CookingMode.tsx
|
#: src/components/CookingMode.tsx
|
||||||
#: src/components/onboarding/OnboardingVoiceStep.tsx
|
#: src/components/onboarding/OnboardingVoiceStep.tsx
|
||||||
@ -781,15 +785,35 @@ msgstr ""
|
|||||||
msgid "Base URL"
|
msgid "Base URL"
|
||||||
msgstr "서버 주소"
|
msgstr "서버 주소"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Beanie"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Bear"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/memory-providers/SerenitySettingsForm.tsx
|
#: src/pages/memory-providers/SerenitySettingsForm.tsx
|
||||||
#: src/pages/PluginsOverlay.tsx
|
#: src/pages/PluginsOverlay.tsx
|
||||||
msgid "Bearer token"
|
msgid "Bearer token"
|
||||||
msgstr "Bearer 토큰"
|
msgstr "Bearer 토큰"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Bell"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/NotificationSettingsPanel.tsx
|
#: src/components/NotificationSettingsPanel.tsx
|
||||||
msgid "Blocked in your browser settings"
|
msgid "Blocked in your browser settings"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Blue"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Body"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/shell/computer-screen.tsx
|
#: src/pages/shell/computer-screen.tsx
|
||||||
msgid "Booting live desktop…"
|
msgid "Booting live desktop…"
|
||||||
msgstr "라이브 데스크톱 시작 중…"
|
msgstr "라이브 데스크톱 시작 중…"
|
||||||
@ -810,7 +834,6 @@ msgstr "Bot"
|
|||||||
|
|
||||||
#: src/pages/IntegrationSetup.tsx
|
#: src/pages/IntegrationSetup.tsx
|
||||||
#: src/pages/Shell.tsx
|
#: src/pages/Shell.tsx
|
||||||
#: src/pages/shell/avatar-studio-popover.tsx
|
|
||||||
msgid "Bot"
|
msgid "Bot"
|
||||||
msgstr "봇"
|
msgstr "봇"
|
||||||
|
|
||||||
@ -834,10 +857,26 @@ msgstr "Bot은 기본적으로 묻지 않고 작업합니다. 먼저 확인하
|
|||||||
msgid "Bots are working"
|
msgid "Bots are working"
|
||||||
msgstr "봇 작업 중"
|
msgstr "봇 작업 중"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Bow"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Bow tie"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/memory-providers/SerenitySettingsForm.tsx
|
#: src/pages/memory-providers/SerenitySettingsForm.tsx
|
||||||
msgid "Brain label"
|
msgid "Brain label"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Brown"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Brows"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/PluginsOverlay.tsx
|
#: src/pages/PluginsOverlay.tsx
|
||||||
msgid "Browse MCP servers"
|
msgid "Browse MCP servers"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -846,6 +885,14 @@ msgstr ""
|
|||||||
msgid "Browser"
|
msgid "Browser"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Bunny"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Bushy"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/Shell.tsx
|
#: src/pages/Shell.tsx
|
||||||
msgid "Busy"
|
msgid "Busy"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -911,6 +958,10 @@ msgstr "취소됨"
|
|||||||
msgid "Cancelled"
|
msgid "Cancelled"
|
||||||
msgstr "취소됨"
|
msgstr "취소됨"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Cat"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/UserFactEditor.tsx
|
#: src/components/UserFactEditor.tsx
|
||||||
msgid "Category"
|
msgid "Category"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -1006,9 +1057,13 @@ msgstr "확인 중…"
|
|||||||
msgid "Checkout has local changes. Clean it before updating."
|
msgid "Checkout has local changes. Clean it before updating."
|
||||||
msgstr "체크아웃에 로컬 변경 사항이 있습니다. 업데이트하기 전에 정리하세요."
|
msgstr "체크아웃에 로컬 변경 사항이 있습니다. 업데이트하기 전에 정리하세요."
|
||||||
|
|
||||||
#: src/pages/shell/avatar-studio-popover.tsx
|
#: src/components/OoAtelier.tsx
|
||||||
msgid "Choose a bot shape, color, or upload an image"
|
msgid "Cheeks"
|
||||||
msgstr "봇 모양과 색을 고르거나 이미지를 업로드하세요"
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Chef's hat"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/MessagingSettingsOverlay.tsx
|
#: src/pages/MessagingSettingsOverlay.tsx
|
||||||
msgid "Choose a bot…"
|
msgid "Choose a bot…"
|
||||||
@ -1026,7 +1081,7 @@ msgstr "새 비밀번호 선택"
|
|||||||
msgid "Choose an existing folder on this computer. Git remotes are linked automatically when a repository is present."
|
msgid "Choose an existing folder on this computer. Git remotes are linked automatically when a repository is present."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/shell/avatar-studio-popover.tsx
|
#: src/components/OoAtelier.tsx
|
||||||
msgid "Choose file"
|
msgid "Choose file"
|
||||||
msgstr "파일 선택"
|
msgstr "파일 선택"
|
||||||
|
|
||||||
@ -1034,6 +1089,10 @@ msgstr "파일 선택"
|
|||||||
msgid "Choose folder"
|
msgid "Choose folder"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Choose how your Oo looks and moves"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/ModelSettingsOverlay.tsx
|
#: src/pages/ModelSettingsOverlay.tsx
|
||||||
msgid "Choose which connected model Rakazo uses."
|
msgid "Choose which connected model Rakazo uses."
|
||||||
msgstr "Rakazo에서 기본으로 사용할 연결된 모델을 선택하세요."
|
msgstr "Rakazo에서 기본으로 사용할 연결된 모델을 선택하세요."
|
||||||
@ -1046,6 +1105,10 @@ msgstr ""
|
|||||||
msgid "Choosing the right shape…"
|
msgid "Choosing the right shape…"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Classic"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/shell/dialogs.tsx
|
#: src/pages/shell/dialogs.tsx
|
||||||
msgid "Clear"
|
msgid "Clear"
|
||||||
msgstr "비우기"
|
msgstr "비우기"
|
||||||
@ -1076,12 +1139,12 @@ msgstr ""
|
|||||||
msgid "Client secret"
|
msgid "Client secret"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
#: src/pages/KnowledgeSection.tsx
|
#: src/pages/KnowledgeSection.tsx
|
||||||
#: src/pages/MessagingSettingsOverlay.tsx
|
#: src/pages/MessagingSettingsOverlay.tsx
|
||||||
#: src/pages/PeerMessagesOverlay.tsx
|
#: src/pages/PeerMessagesOverlay.tsx
|
||||||
#: src/pages/RoutineEditor.tsx
|
#: src/pages/RoutineEditor.tsx
|
||||||
#: src/pages/Shell.tsx
|
#: src/pages/Shell.tsx
|
||||||
#: src/pages/shell/avatar-studio-popover.tsx
|
|
||||||
#: src/pages/WindowChrome.tsx
|
#: src/pages/WindowChrome.tsx
|
||||||
msgid "Close"
|
msgid "Close"
|
||||||
msgstr "닫기"
|
msgstr "닫기"
|
||||||
@ -1165,11 +1228,11 @@ msgstr ""
|
|||||||
msgid "Collapse {0}"
|
msgid "Collapse {0}"
|
||||||
msgstr "{0} 접기"
|
msgstr "{0} 접기"
|
||||||
|
|
||||||
#: src/pages/shell/avatar-studio-popover.tsx
|
#: src/components/OoAtelier.tsx
|
||||||
msgid "Color"
|
msgid "Color"
|
||||||
msgstr "색상"
|
msgstr "색상"
|
||||||
|
|
||||||
#: src/pages/shell/avatar-studio-popover.tsx
|
#: src/components/OoAtelier.tsx
|
||||||
msgid "Color {color}"
|
msgid "Color {color}"
|
||||||
msgstr "색상 {color}"
|
msgstr "색상 {color}"
|
||||||
|
|
||||||
@ -1846,15 +1909,27 @@ msgstr "Cron"
|
|||||||
msgid "Cron expression"
|
msgid "Cron expression"
|
||||||
msgstr "Cron 표현식"
|
msgstr "Cron 표현식"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Crown"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/AccountSettingsOverlay.tsx
|
#: src/pages/AccountSettingsOverlay.tsx
|
||||||
msgid "Current password"
|
msgid "Current password"
|
||||||
msgstr "현재 비밀번호"
|
msgstr "현재 비밀번호"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Custom color"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/shell/dialogs.tsx
|
#: src/pages/shell/dialogs.tsx
|
||||||
msgid "Customer support"
|
msgid "Customer support"
|
||||||
msgstr "고객 지원"
|
msgstr "고객 지원"
|
||||||
|
|
||||||
#: src/pages/shell/avatar-studio-popover.tsx
|
#: src/components/onboarding/OnboardingOoDesigner.tsx
|
||||||
|
msgid "Customize"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
msgid "Customize bot avatar"
|
msgid "Customize bot avatar"
|
||||||
msgstr "봇 아바타 맞춤설정"
|
msgstr "봇 아바타 맞춤설정"
|
||||||
|
|
||||||
@ -2056,6 +2131,10 @@ msgstr "Docker는 보안을 위해 컴퓨터 접근을 제한합니다. {hostLab
|
|||||||
msgid "Does not speak"
|
msgid "Does not speak"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Dog"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/HeuteBrief.tsx
|
#: src/pages/HeuteBrief.tsx
|
||||||
msgid "Doing"
|
msgid "Doing"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -2071,10 +2150,10 @@ msgstr ""
|
|||||||
#: src/components/ai/DelegatedTaskCard.tsx
|
#: src/components/ai/DelegatedTaskCard.tsx
|
||||||
#: src/components/CookingMode.tsx
|
#: src/components/CookingMode.tsx
|
||||||
#: src/components/media/MediaCard.tsx
|
#: src/components/media/MediaCard.tsx
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
#: src/components/ThreadCard.tsx
|
#: src/components/ThreadCard.tsx
|
||||||
#: src/pages/HeuteBrief.tsx
|
#: src/pages/HeuteBrief.tsx
|
||||||
#: src/pages/ProjectSessionTimeline.tsx
|
#: src/pages/ProjectSessionTimeline.tsx
|
||||||
#: src/pages/shell/avatar-studio-popover.tsx
|
|
||||||
msgid "Done"
|
msgid "Done"
|
||||||
msgstr "완료"
|
msgstr "완료"
|
||||||
|
|
||||||
@ -2083,6 +2162,10 @@ msgstr "완료"
|
|||||||
msgid "Done"
|
msgid "Done"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Dot"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#. placeholder {0}: props.name
|
#. placeholder {0}: props.name
|
||||||
#: src/components/ArtifactFileCard.tsx
|
#: src/components/ArtifactFileCard.tsx
|
||||||
msgid "Download {0}"
|
msgid "Download {0}"
|
||||||
@ -2120,7 +2203,7 @@ msgstr ""
|
|||||||
msgid "Drag to reorder"
|
msgid "Drag to reorder"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/shell/avatar-studio-popover.tsx
|
#: src/components/OoAtelier.tsx
|
||||||
msgid "Drag, drop, or paste an image"
|
msgid "Drag, drop, or paste an image"
|
||||||
msgstr "이미지를 끌어다 놓거나 붙여넣으세요"
|
msgstr "이미지를 끌어다 놓거나 붙여넣으세요"
|
||||||
|
|
||||||
@ -2161,6 +2244,10 @@ msgstr "이메일"
|
|||||||
msgid "Embeddings URL"
|
msgid "Embeddings URL"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Energy"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/ExternalConversationSettings.tsx
|
#: src/pages/ExternalConversationSettings.tsx
|
||||||
msgid "Engage when... Ignore..."
|
msgid "Engage when... Ignore..."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -2288,6 +2375,22 @@ msgstr ""
|
|||||||
msgid "Extra high"
|
msgid "Extra high"
|
||||||
msgstr "매우 높음"
|
msgstr "매우 높음"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Extras"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Eyeliner"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Eyes"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Eyeshadow"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/UserFactEditor.tsx
|
#: src/components/UserFactEditor.tsx
|
||||||
msgid "Fact"
|
msgid "Fact"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -2345,6 +2448,10 @@ msgstr ""
|
|||||||
msgid "Finding…"
|
msgid "Finding…"
|
||||||
msgstr "찾는 중…"
|
msgstr "찾는 중…"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Fine"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#. placeholder {0}: new URL(oauth.verificationUri).hostname
|
#. placeholder {0}: new URL(oauth.verificationUri).hostname
|
||||||
#: src/pages/ModelSettingsOverlay.tsx
|
#: src/pages/ModelSettingsOverlay.tsx
|
||||||
msgid "Finish signing in at <0>{0}</0>. The final page may not load; paste its URL or code here."
|
msgid "Finish signing in at <0>{0}</0>. The final page may not load; paste its URL or code here."
|
||||||
@ -2371,6 +2478,14 @@ msgstr ""
|
|||||||
msgid "Flag unexpected actions"
|
msgid "Flag unexpected actions"
|
||||||
msgstr "예상하지 못한 작업 표시"
|
msgstr "예상하지 못한 작업 표시"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Flick"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Flower"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/PrivacySettingsOverlay.tsx
|
#: src/pages/PrivacySettingsOverlay.tsx
|
||||||
msgid "Fonts loaded locally"
|
msgid "Fonts loaded locally"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -2395,10 +2510,22 @@ msgstr "비밀번호를 잊으셨나요?"
|
|||||||
msgid "Forward"
|
msgid "Forward"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Freckles"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/ModelSettingsOverlay.tsx
|
#: src/pages/ModelSettingsOverlay.tsx
|
||||||
msgid "Free"
|
msgid "Free"
|
||||||
msgstr "무료"
|
msgstr "무료"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Frog"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Full"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/WindowChrome.tsx
|
#: src/pages/WindowChrome.tsx
|
||||||
msgid "Fullscreen"
|
msgid "Fullscreen"
|
||||||
msgstr "전체 화면"
|
msgstr "전체 화면"
|
||||||
@ -2427,10 +2554,22 @@ msgstr ""
|
|||||||
msgid "Getting ready…"
|
msgid "Getting ready…"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Ghost"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/RoutineEditor.tsx
|
#: src/pages/RoutineEditor.tsx
|
||||||
msgid "Git event"
|
msgid "Git event"
|
||||||
msgstr "Git 이벤트"
|
msgstr "Git 이벤트"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Glass"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Glasses"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/ProjectSessionTimeline.tsx
|
#: src/pages/ProjectSessionTimeline.tsx
|
||||||
msgid "Goal"
|
msgid "Goal"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -2445,6 +2584,14 @@ msgstr ""
|
|||||||
msgid "Goals for this project, separate from chat messages. Conversations are below."
|
msgid "Goals for this project, separate from chat messages. Conversations are below."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Gold"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Green"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/stage/OoStage.tsx
|
#: src/components/stage/OoStage.tsx
|
||||||
#: src/pages/MessagingSettingsOverlay.tsx
|
#: src/pages/MessagingSettingsOverlay.tsx
|
||||||
#: src/pages/Shell.tsx
|
#: src/pages/Shell.tsx
|
||||||
@ -2490,6 +2637,10 @@ msgstr "먼저 전화를 끊은 다음 화면에 표시된 코드를 입력하
|
|||||||
msgid "Hang up, then enter the code on screen."
|
msgid "Hang up, then enter the code on screen."
|
||||||
msgstr "전화를 끊은 다음 화면에 표시된 코드를 입력하세요."
|
msgstr "전화를 끊은 다음 화면에 표시된 코드를 입력하세요."
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Hat"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/RoutineEditor.tsx
|
#: src/pages/RoutineEditor.tsx
|
||||||
msgid "header"
|
msgid "header"
|
||||||
msgstr "header"
|
msgstr "header"
|
||||||
@ -2503,6 +2654,10 @@ msgstr "헤더 이름"
|
|||||||
msgid "Header value"
|
msgid "Header value"
|
||||||
msgstr "헤더 값"
|
msgstr "헤더 값"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Headphones"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/UserProfileSettings.tsx
|
#: src/components/UserProfileSettings.tsx
|
||||||
msgid "Health"
|
msgid "Health"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -2511,6 +2666,10 @@ msgstr ""
|
|||||||
msgid "Hear a sample"
|
msgid "Hear a sample"
|
||||||
msgstr "샘플 듣기"
|
msgstr "샘플 듣기"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Heart"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/lib/voice-persona-copy.ts
|
#: src/lib/voice-persona-copy.ts
|
||||||
msgid "Here's the read…"
|
msgid "Here's the read…"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -2597,7 +2756,7 @@ msgstr ""
|
|||||||
msgid "Image model"
|
msgid "Image model"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/shell/avatar-studio-popover.tsx
|
#: src/components/OoAtelier.tsx
|
||||||
msgid "Image upload area"
|
msgid "Image upload area"
|
||||||
msgstr "이미지 업로드 영역"
|
msgstr "이미지 업로드 영역"
|
||||||
|
|
||||||
@ -2671,6 +2830,10 @@ msgstr "간격 숫자"
|
|||||||
msgid "Interval unit"
|
msgid "Interval unit"
|
||||||
msgstr "간격 단위"
|
msgstr "간격 단위"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Iris"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/MemorySettingsOverlay.tsx
|
#: src/pages/MemorySettingsOverlay.tsx
|
||||||
#: src/pages/shell/bot-panel.tsx
|
#: src/pages/shell/bot-panel.tsx
|
||||||
msgid "Isolated"
|
msgid "Isolated"
|
||||||
@ -2710,6 +2873,10 @@ msgstr "지식"
|
|||||||
msgid "Language"
|
msgid "Language"
|
||||||
msgstr "언어"
|
msgstr "언어"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Lashes"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/DesktopUpdates.tsx
|
#: src/components/DesktopUpdates.tsx
|
||||||
msgid "Later"
|
msgid "Later"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -2726,6 +2893,10 @@ msgstr ""
|
|||||||
msgid "Light"
|
msgid "Light"
|
||||||
msgstr "라이트"
|
msgstr "라이트"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Lilac"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/shell/bot-capabilities.tsx
|
#: src/pages/shell/bot-capabilities.tsx
|
||||||
msgid "Limit built-in tools"
|
msgid "Limit built-in tools"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -3031,6 +3202,10 @@ msgstr "최소화"
|
|||||||
msgid "Minimize bots"
|
msgid "Minimize bots"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Mint"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/RoutineSchedule.tsx
|
#: src/pages/RoutineSchedule.tsx
|
||||||
msgid "minute"
|
msgid "minute"
|
||||||
msgstr "분"
|
msgstr "분"
|
||||||
@ -3080,6 +3255,10 @@ msgstr ""
|
|||||||
msgid "Models from server"
|
msgid "Models from server"
|
||||||
msgstr "서버에서 찾은 모델"
|
msgstr "서버에서 찾은 모델"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Monocle"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/RoutineSchedule.tsx
|
#: src/pages/RoutineSchedule.tsx
|
||||||
msgid "Monthly"
|
msgid "Monthly"
|
||||||
msgstr "매월"
|
msgstr "매월"
|
||||||
@ -3145,6 +3324,10 @@ msgstr "그룹 이름"
|
|||||||
msgid "Name this routine"
|
msgid "Name this routine"
|
||||||
msgstr "이 루틴의 이름을 정하세요"
|
msgstr "이 루틴의 이름을 정하세요"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Neck"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/stage/OoStage.tsx
|
#: src/components/stage/OoStage.tsx
|
||||||
msgid "Needs attention"
|
msgid "Needs attention"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -3168,6 +3351,10 @@ msgstr ""
|
|||||||
msgid "Needs your reply"
|
msgid "Needs your reply"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Nerd"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/shell/bot-panel.tsx
|
#: src/pages/shell/bot-panel.tsx
|
||||||
msgid "New bot"
|
msgid "New bot"
|
||||||
msgstr "새 Bot 만들기"
|
msgstr "새 Bot 만들기"
|
||||||
@ -3359,6 +3546,10 @@ msgstr "트리거 없음"
|
|||||||
msgid "No usage data is sent to third parties"
|
msgid "No usage data is sent to third parties"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "None"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/ScratchpadSection.tsx
|
#: src/pages/ScratchpadSection.tsx
|
||||||
msgid "None yet"
|
msgid "None yet"
|
||||||
msgstr "아직 없음"
|
msgstr "아직 없음"
|
||||||
@ -3555,6 +3746,10 @@ msgstr "PagerDuty 인시던트"
|
|||||||
msgid "Park"
|
msgid "Park"
|
||||||
msgstr "보류"
|
msgstr "보류"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Party hat"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/AskCard.tsx
|
#: src/components/AskCard.tsx
|
||||||
#: src/pages/AccountSettingsOverlay.tsx
|
#: src/pages/AccountSettingsOverlay.tsx
|
||||||
#: src/pages/Auth.tsx
|
#: src/pages/Auth.tsx
|
||||||
@ -3591,6 +3786,18 @@ msgstr "API 키를 붙여넣으세요"
|
|||||||
msgid "Paused"
|
msgid "Paused"
|
||||||
msgstr "일시 중지됨"
|
msgstr "일시 중지됨"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Paw"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Peach"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Penguin"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/UserProfileSettings.tsx
|
#: src/components/UserProfileSettings.tsx
|
||||||
msgid "People"
|
msgid "People"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -3615,6 +3822,14 @@ msgstr ""
|
|||||||
msgid "Pin"
|
msgid "Pin"
|
||||||
msgstr "고정"
|
msgstr "고정"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Pink"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Playful"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/VoiceSettingsOverlay.tsx
|
#: src/pages/VoiceSettingsOverlay.tsx
|
||||||
msgid "Playing…"
|
msgid "Playing…"
|
||||||
msgstr "재생 중…"
|
msgstr "재생 중…"
|
||||||
@ -3762,6 +3977,10 @@ msgstr "답변을 자동으로 읽기"
|
|||||||
msgid "read-only"
|
msgid "read-only"
|
||||||
msgstr "읽기 전용"
|
msgstr "읽기 전용"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Reading glasses"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/lib/voice-persona-copy.ts
|
#: src/lib/voice-persona-copy.ts
|
||||||
msgid "Reading the stack trace…"
|
msgid "Reading the stack trace…"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -3976,7 +4195,7 @@ msgstr ""
|
|||||||
|
|
||||||
#: src/components/ComputerMaintenanceActions.tsx
|
#: src/components/ComputerMaintenanceActions.tsx
|
||||||
#: src/components/onboarding/OnboardingOoDesigner.tsx
|
#: src/components/onboarding/OnboardingOoDesigner.tsx
|
||||||
#: src/pages/shell/avatar-studio-popover.tsx
|
#: src/components/OoAtelier.tsx
|
||||||
msgid "Reset"
|
msgid "Reset"
|
||||||
msgstr "재설정"
|
msgstr "재설정"
|
||||||
|
|
||||||
@ -4042,14 +4261,26 @@ msgstr "연결 해제"
|
|||||||
msgid "Riffing"
|
msgid "Riffing"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Robot"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/ExternalConversationSettings.tsx
|
#: src/pages/ExternalConversationSettings.tsx
|
||||||
msgid "Room guidance"
|
msgid "Room guidance"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Rose"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/RoutineEditor.tsx
|
#: src/pages/RoutineEditor.tsx
|
||||||
msgid "Rotate key"
|
msgid "Rotate key"
|
||||||
msgstr "key 교체"
|
msgstr "key 교체"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Round"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/RoutineEditor.tsx
|
#: src/pages/RoutineEditor.tsx
|
||||||
#: src/pages/Shell.tsx
|
#: src/pages/Shell.tsx
|
||||||
#: src/pages/shell/routine-event-line.tsx
|
#: src/pages/shell/routine-event-line.tsx
|
||||||
@ -4164,6 +4395,10 @@ msgstr "예 또는 아니요로 답하거나 문장으로 답해 주세요."
|
|||||||
msgid "Scanning exposure…"
|
msgid "Scanning exposure…"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Scarf"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/onboarding/OnboardingOoDesigner.tsx
|
#: src/components/onboarding/OnboardingOoDesigner.tsx
|
||||||
msgid "Scene"
|
msgid "Scene"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -4294,10 +4529,15 @@ msgstr "설정 도움말"
|
|||||||
msgid "Setup progress"
|
msgid "Setup progress"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/shell/avatar-studio-popover.tsx
|
#: src/components/OoAtelier.tsx
|
||||||
msgid "Shape"
|
msgid "Shape"
|
||||||
msgstr "모양"
|
msgstr "모양"
|
||||||
|
|
||||||
|
#. placeholder {0}: shape + 1
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Shape {0}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/lib/voice-persona-copy.ts
|
#: src/lib/voice-persona-copy.ts
|
||||||
msgid "Share what you're imagining — or tell me one thing to refine."
|
msgid "Share what you're imagining — or tell me one thing to refine."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -4415,6 +4655,10 @@ msgstr "Slack 메시지"
|
|||||||
msgid "Slack not enabled"
|
msgid "Slack not enabled"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Soft"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/SoftwareUpdateSection.tsx
|
#: src/components/SoftwareUpdateSection.tsx
|
||||||
msgid "Software update"
|
msgid "Software update"
|
||||||
msgstr "소프트웨어 업데이트"
|
msgstr "소프트웨어 업데이트"
|
||||||
@ -4444,6 +4688,10 @@ msgstr "스페이스 기본값"
|
|||||||
msgid "Spaces"
|
msgid "Spaces"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Sparkle"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/shell/transcript.tsx
|
#: src/pages/shell/transcript.tsx
|
||||||
msgid "Speak"
|
msgid "Speak"
|
||||||
msgstr "읽기"
|
msgstr "읽기"
|
||||||
@ -4478,10 +4726,18 @@ msgstr ""
|
|||||||
msgid "Specialist crew"
|
msgid "Specialist crew"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Species"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/lib/model-tier-label.ts
|
#: src/lib/model-tier-label.ts
|
||||||
msgid "Standard"
|
msgid "Standard"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Star"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/Shell.tsx
|
#: src/pages/Shell.tsx
|
||||||
msgid "Start"
|
msgid "Start"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -4585,6 +4841,10 @@ msgstr ""
|
|||||||
msgid "Stronger together — {0} specialists"
|
msgid "Stronger together — {0} specialists"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Stub"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/shell/transcript.tsx
|
#: src/pages/shell/transcript.tsx
|
||||||
msgid "subagent"
|
msgid "subagent"
|
||||||
msgstr "보조 에이전트"
|
msgstr "보조 에이전트"
|
||||||
@ -4597,6 +4857,10 @@ msgstr "확인"
|
|||||||
msgid "Summary"
|
msgid "Summary"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Sunglasses"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/ModelSettingsOverlay.tsx
|
#: src/pages/ModelSettingsOverlay.tsx
|
||||||
msgid "Supports images"
|
msgid "Supports images"
|
||||||
msgstr "이미지 지원"
|
msgstr "이미지 지원"
|
||||||
@ -4605,6 +4869,10 @@ msgstr "이미지 지원"
|
|||||||
msgid "Supports thinking"
|
msgid "Supports thinking"
|
||||||
msgstr "사고 모드 지원"
|
msgstr "사고 모드 지원"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Surprise me"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/onboarding/LookPreviewCarousel.tsx
|
#: src/components/onboarding/LookPreviewCarousel.tsx
|
||||||
msgid "Swipe for more looks"
|
msgid "Swipe for more looks"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -4921,7 +5189,7 @@ msgstr ""
|
|||||||
msgid "Updating…"
|
msgid "Updating…"
|
||||||
msgstr "업데이트 중…"
|
msgstr "업데이트 중…"
|
||||||
|
|
||||||
#: src/pages/shell/avatar-studio-popover.tsx
|
#: src/components/OoAtelier.tsx
|
||||||
msgid "Upload"
|
msgid "Upload"
|
||||||
msgstr "업로드"
|
msgstr "업로드"
|
||||||
|
|
||||||
@ -4967,6 +5235,10 @@ msgstr "확인 중…"
|
|||||||
msgid "Video workflow"
|
msgid "Video workflow"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Violet"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/SettingsOverlay.tsx
|
#: src/pages/SettingsOverlay.tsx
|
||||||
#: src/pages/shell/bot-panel.tsx
|
#: src/pages/shell/bot-panel.tsx
|
||||||
#: src/pages/shell/composer.tsx
|
#: src/pages/shell/composer.tsx
|
||||||
@ -5113,6 +5385,10 @@ msgstr ""
|
|||||||
msgid "When a webhook fires"
|
msgid "When a webhook fires"
|
||||||
msgstr "웹훅이 실행될 때"
|
msgstr "웹훅이 실행될 때"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "When needed"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/lib/onboarding-copy.ts
|
#: src/lib/onboarding-copy.ts
|
||||||
msgid "When should I check in with you?"
|
msgid "When should I check in with you?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -5133,6 +5409,10 @@ msgstr "언제 사용할지"
|
|||||||
msgid "Where should bots run?"
|
msgid "Where should bots run?"
|
||||||
msgstr "Bot을 어디에서 실행할까요?"
|
msgstr "Bot을 어디에서 실행할까요?"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Winged"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/shell/bot-picker.tsx
|
#: src/pages/shell/bot-picker.tsx
|
||||||
msgid "With:"
|
msgid "With:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|||||||
@ -668,6 +668,10 @@ msgstr ""
|
|||||||
msgid "Arguments"
|
msgid "Arguments"
|
||||||
msgstr "Argumentos:"
|
msgstr "Argumentos:"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Arms"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#. placeholder {0}: rule.matchValue
|
#. placeholder {0}: rule.matchValue
|
||||||
#: src/components/ApprovalRulesSettings.tsx
|
#: src/components/ApprovalRulesSettings.tsx
|
||||||
msgid "Ask before {0}"
|
msgid "Ask before {0}"
|
||||||
@ -716,6 +720,10 @@ msgstr "em {0}"
|
|||||||
msgid "at {timeSelect}"
|
msgid "at {timeSelect}"
|
||||||
msgstr "em {timeSelect}"
|
msgstr "em {timeSelect}"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Atelier"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/shell/composer.tsx
|
#: src/pages/shell/composer.tsx
|
||||||
msgid "Attach file"
|
msgid "Attach file"
|
||||||
msgstr "Escolher arquivo"
|
msgstr "Escolher arquivo"
|
||||||
@ -756,10 +764,6 @@ msgstr ""
|
|||||||
msgid "Available after the routine is saved"
|
msgid "Available after the routine is saved"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/shell/avatar-studio-popover.tsx
|
|
||||||
msgid "Avatar Studio"
|
|
||||||
msgstr "Estúdio de avatar"
|
|
||||||
|
|
||||||
#: src/components/browser/InAppBrowser.tsx
|
#: src/components/browser/InAppBrowser.tsx
|
||||||
#: src/components/CookingMode.tsx
|
#: src/components/CookingMode.tsx
|
||||||
#: src/components/onboarding/OnboardingVoiceStep.tsx
|
#: src/components/onboarding/OnboardingVoiceStep.tsx
|
||||||
@ -781,15 +785,35 @@ msgstr ""
|
|||||||
msgid "Base URL"
|
msgid "Base URL"
|
||||||
msgstr "URL Base"
|
msgstr "URL Base"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Beanie"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Bear"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/memory-providers/SerenitySettingsForm.tsx
|
#: src/pages/memory-providers/SerenitySettingsForm.tsx
|
||||||
#: src/pages/PluginsOverlay.tsx
|
#: src/pages/PluginsOverlay.tsx
|
||||||
msgid "Bearer token"
|
msgid "Bearer token"
|
||||||
msgstr "Token portador"
|
msgstr "Token portador"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Bell"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/NotificationSettingsPanel.tsx
|
#: src/components/NotificationSettingsPanel.tsx
|
||||||
msgid "Blocked in your browser settings"
|
msgid "Blocked in your browser settings"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Blue"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Body"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/shell/computer-screen.tsx
|
#: src/pages/shell/computer-screen.tsx
|
||||||
msgid "Booting live desktop…"
|
msgid "Booting live desktop…"
|
||||||
msgstr "Iniciando a área de trabalho ao vivo..."
|
msgstr "Iniciando a área de trabalho ao vivo..."
|
||||||
@ -810,7 +834,6 @@ msgstr "Bot"
|
|||||||
|
|
||||||
#: src/pages/IntegrationSetup.tsx
|
#: src/pages/IntegrationSetup.tsx
|
||||||
#: src/pages/Shell.tsx
|
#: src/pages/Shell.tsx
|
||||||
#: src/pages/shell/avatar-studio-popover.tsx
|
|
||||||
msgid "Bot"
|
msgid "Bot"
|
||||||
msgstr "Bot"
|
msgstr "Bot"
|
||||||
|
|
||||||
@ -834,10 +857,26 @@ msgstr "Os bots agem sem perguntar por padrão. Adicione uma exceção apenas qu
|
|||||||
msgid "Bots are working"
|
msgid "Bots are working"
|
||||||
msgstr "Bots estão trabalhando"
|
msgstr "Bots estão trabalhando"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Bow"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Bow tie"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/memory-providers/SerenitySettingsForm.tsx
|
#: src/pages/memory-providers/SerenitySettingsForm.tsx
|
||||||
msgid "Brain label"
|
msgid "Brain label"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Brown"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Brows"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/PluginsOverlay.tsx
|
#: src/pages/PluginsOverlay.tsx
|
||||||
msgid "Browse MCP servers"
|
msgid "Browse MCP servers"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -846,6 +885,14 @@ msgstr ""
|
|||||||
msgid "Browser"
|
msgid "Browser"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Bunny"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Bushy"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/Shell.tsx
|
#: src/pages/Shell.tsx
|
||||||
msgid "Busy"
|
msgid "Busy"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -911,6 +958,10 @@ msgstr "Cancelado"
|
|||||||
msgid "Cancelled"
|
msgid "Cancelled"
|
||||||
msgstr "Cancelado"
|
msgstr "Cancelado"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Cat"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/UserFactEditor.tsx
|
#: src/components/UserFactEditor.tsx
|
||||||
msgid "Category"
|
msgid "Category"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -1006,9 +1057,13 @@ msgstr ""
|
|||||||
msgid "Checkout has local changes. Clean it before updating."
|
msgid "Checkout has local changes. Clean it before updating."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/shell/avatar-studio-popover.tsx
|
#: src/components/OoAtelier.tsx
|
||||||
msgid "Choose a bot shape, color, or upload an image"
|
msgid "Cheeks"
|
||||||
msgstr "Escolha uma forma e cor do bot, ou envie uma imagem"
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Chef's hat"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/MessagingSettingsOverlay.tsx
|
#: src/pages/MessagingSettingsOverlay.tsx
|
||||||
msgid "Choose a bot…"
|
msgid "Choose a bot…"
|
||||||
@ -1026,7 +1081,7 @@ msgstr "Escolha uma nova senha"
|
|||||||
msgid "Choose an existing folder on this computer. Git remotes are linked automatically when a repository is present."
|
msgid "Choose an existing folder on this computer. Git remotes are linked automatically when a repository is present."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/shell/avatar-studio-popover.tsx
|
#: src/components/OoAtelier.tsx
|
||||||
msgid "Choose file"
|
msgid "Choose file"
|
||||||
msgstr "Escolher arquivo"
|
msgstr "Escolher arquivo"
|
||||||
|
|
||||||
@ -1034,6 +1089,10 @@ msgstr "Escolher arquivo"
|
|||||||
msgid "Choose folder"
|
msgid "Choose folder"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Choose how your Oo looks and moves"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/ModelSettingsOverlay.tsx
|
#: src/pages/ModelSettingsOverlay.tsx
|
||||||
msgid "Choose which connected model Rakazo uses."
|
msgid "Choose which connected model Rakazo uses."
|
||||||
msgstr "Escolha qual modelo conectado a Rakazo usa."
|
msgstr "Escolha qual modelo conectado a Rakazo usa."
|
||||||
@ -1046,6 +1105,10 @@ msgstr ""
|
|||||||
msgid "Choosing the right shape…"
|
msgid "Choosing the right shape…"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Classic"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/shell/dialogs.tsx
|
#: src/pages/shell/dialogs.tsx
|
||||||
msgid "Clear"
|
msgid "Clear"
|
||||||
msgstr "Limpar"
|
msgstr "Limpar"
|
||||||
@ -1076,12 +1139,12 @@ msgstr ""
|
|||||||
msgid "Client secret"
|
msgid "Client secret"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
#: src/pages/KnowledgeSection.tsx
|
#: src/pages/KnowledgeSection.tsx
|
||||||
#: src/pages/MessagingSettingsOverlay.tsx
|
#: src/pages/MessagingSettingsOverlay.tsx
|
||||||
#: src/pages/PeerMessagesOverlay.tsx
|
#: src/pages/PeerMessagesOverlay.tsx
|
||||||
#: src/pages/RoutineEditor.tsx
|
#: src/pages/RoutineEditor.tsx
|
||||||
#: src/pages/Shell.tsx
|
#: src/pages/Shell.tsx
|
||||||
#: src/pages/shell/avatar-studio-popover.tsx
|
|
||||||
#: src/pages/WindowChrome.tsx
|
#: src/pages/WindowChrome.tsx
|
||||||
msgid "Close"
|
msgid "Close"
|
||||||
msgstr "Fechar"
|
msgstr "Fechar"
|
||||||
@ -1165,11 +1228,11 @@ msgstr ""
|
|||||||
msgid "Collapse {0}"
|
msgid "Collapse {0}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/shell/avatar-studio-popover.tsx
|
#: src/components/OoAtelier.tsx
|
||||||
msgid "Color"
|
msgid "Color"
|
||||||
msgstr "Cor"
|
msgstr "Cor"
|
||||||
|
|
||||||
#: src/pages/shell/avatar-studio-popover.tsx
|
#: src/components/OoAtelier.tsx
|
||||||
msgid "Color {color}"
|
msgid "Color {color}"
|
||||||
msgstr "Cor {color}"
|
msgstr "Cor {color}"
|
||||||
|
|
||||||
@ -1846,15 +1909,27 @@ msgstr "Cron"
|
|||||||
msgid "Cron expression"
|
msgid "Cron expression"
|
||||||
msgstr "Expressão cron"
|
msgstr "Expressão cron"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Crown"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/AccountSettingsOverlay.tsx
|
#: src/pages/AccountSettingsOverlay.tsx
|
||||||
msgid "Current password"
|
msgid "Current password"
|
||||||
msgstr "Senha atual"
|
msgstr "Senha atual"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Custom color"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/shell/dialogs.tsx
|
#: src/pages/shell/dialogs.tsx
|
||||||
msgid "Customer support"
|
msgid "Customer support"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/shell/avatar-studio-popover.tsx
|
#: src/components/onboarding/OnboardingOoDesigner.tsx
|
||||||
|
msgid "Customize"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
msgid "Customize bot avatar"
|
msgid "Customize bot avatar"
|
||||||
msgstr "Personalizar avatar do bot"
|
msgstr "Personalizar avatar do bot"
|
||||||
|
|
||||||
@ -2056,6 +2131,10 @@ msgstr "O Docker limita o acesso ao seu computador para maior segurança. Usar {
|
|||||||
msgid "Does not speak"
|
msgid "Does not speak"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Dog"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/HeuteBrief.tsx
|
#: src/pages/HeuteBrief.tsx
|
||||||
msgid "Doing"
|
msgid "Doing"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -2071,10 +2150,10 @@ msgstr ""
|
|||||||
#: src/components/ai/DelegatedTaskCard.tsx
|
#: src/components/ai/DelegatedTaskCard.tsx
|
||||||
#: src/components/CookingMode.tsx
|
#: src/components/CookingMode.tsx
|
||||||
#: src/components/media/MediaCard.tsx
|
#: src/components/media/MediaCard.tsx
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
#: src/components/ThreadCard.tsx
|
#: src/components/ThreadCard.tsx
|
||||||
#: src/pages/HeuteBrief.tsx
|
#: src/pages/HeuteBrief.tsx
|
||||||
#: src/pages/ProjectSessionTimeline.tsx
|
#: src/pages/ProjectSessionTimeline.tsx
|
||||||
#: src/pages/shell/avatar-studio-popover.tsx
|
|
||||||
msgid "Done"
|
msgid "Done"
|
||||||
msgstr "Concluído"
|
msgstr "Concluído"
|
||||||
|
|
||||||
@ -2083,6 +2162,10 @@ msgstr "Concluído"
|
|||||||
msgid "Done"
|
msgid "Done"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Dot"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#. placeholder {0}: props.name
|
#. placeholder {0}: props.name
|
||||||
#: src/components/ArtifactFileCard.tsx
|
#: src/components/ArtifactFileCard.tsx
|
||||||
msgid "Download {0}"
|
msgid "Download {0}"
|
||||||
@ -2120,7 +2203,7 @@ msgstr ""
|
|||||||
msgid "Drag to reorder"
|
msgid "Drag to reorder"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/shell/avatar-studio-popover.tsx
|
#: src/components/OoAtelier.tsx
|
||||||
msgid "Drag, drop, or paste an image"
|
msgid "Drag, drop, or paste an image"
|
||||||
msgstr "Arraste, solte ou cole uma imagem"
|
msgstr "Arraste, solte ou cole uma imagem"
|
||||||
|
|
||||||
@ -2161,6 +2244,10 @@ msgstr "E-mail"
|
|||||||
msgid "Embeddings URL"
|
msgid "Embeddings URL"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Energy"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/ExternalConversationSettings.tsx
|
#: src/pages/ExternalConversationSettings.tsx
|
||||||
msgid "Engage when... Ignore..."
|
msgid "Engage when... Ignore..."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -2288,6 +2375,22 @@ msgstr ""
|
|||||||
msgid "Extra high"
|
msgid "Extra high"
|
||||||
msgstr "Extra alta"
|
msgstr "Extra alta"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Extras"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Eyeliner"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Eyes"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Eyeshadow"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/UserFactEditor.tsx
|
#: src/components/UserFactEditor.tsx
|
||||||
msgid "Fact"
|
msgid "Fact"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -2345,6 +2448,10 @@ msgstr ""
|
|||||||
msgid "Finding…"
|
msgid "Finding…"
|
||||||
msgstr "Localizando…"
|
msgstr "Localizando…"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Fine"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#. placeholder {0}: new URL(oauth.verificationUri).hostname
|
#. placeholder {0}: new URL(oauth.verificationUri).hostname
|
||||||
#: src/pages/ModelSettingsOverlay.tsx
|
#: src/pages/ModelSettingsOverlay.tsx
|
||||||
msgid "Finish signing in at <0>{0}</0>. The final page may not load; paste its URL or code here."
|
msgid "Finish signing in at <0>{0}</0>. The final page may not load; paste its URL or code here."
|
||||||
@ -2371,6 +2478,14 @@ msgstr ""
|
|||||||
msgid "Flag unexpected actions"
|
msgid "Flag unexpected actions"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Flick"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Flower"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/PrivacySettingsOverlay.tsx
|
#: src/pages/PrivacySettingsOverlay.tsx
|
||||||
msgid "Fonts loaded locally"
|
msgid "Fonts loaded locally"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -2395,10 +2510,22 @@ msgstr "Esqueceu a senha?"
|
|||||||
msgid "Forward"
|
msgid "Forward"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Freckles"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/ModelSettingsOverlay.tsx
|
#: src/pages/ModelSettingsOverlay.tsx
|
||||||
msgid "Free"
|
msgid "Free"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Frog"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Full"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/WindowChrome.tsx
|
#: src/pages/WindowChrome.tsx
|
||||||
msgid "Fullscreen"
|
msgid "Fullscreen"
|
||||||
msgstr "Tela Cheia"
|
msgstr "Tela Cheia"
|
||||||
@ -2427,10 +2554,22 @@ msgstr ""
|
|||||||
msgid "Getting ready…"
|
msgid "Getting ready…"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Ghost"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/RoutineEditor.tsx
|
#: src/pages/RoutineEditor.tsx
|
||||||
msgid "Git event"
|
msgid "Git event"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Glass"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Glasses"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/ProjectSessionTimeline.tsx
|
#: src/pages/ProjectSessionTimeline.tsx
|
||||||
msgid "Goal"
|
msgid "Goal"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -2445,6 +2584,14 @@ msgstr ""
|
|||||||
msgid "Goals for this project, separate from chat messages. Conversations are below."
|
msgid "Goals for this project, separate from chat messages. Conversations are below."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Gold"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Green"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/stage/OoStage.tsx
|
#: src/components/stage/OoStage.tsx
|
||||||
#: src/pages/MessagingSettingsOverlay.tsx
|
#: src/pages/MessagingSettingsOverlay.tsx
|
||||||
#: src/pages/Shell.tsx
|
#: src/pages/Shell.tsx
|
||||||
@ -2490,6 +2637,10 @@ msgstr ""
|
|||||||
msgid "Hang up, then enter the code on screen."
|
msgid "Hang up, then enter the code on screen."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Hat"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/RoutineEditor.tsx
|
#: src/pages/RoutineEditor.tsx
|
||||||
msgid "header"
|
msgid "header"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -2503,6 +2654,10 @@ msgstr "Nome do Cabeçalho"
|
|||||||
msgid "Header value"
|
msgid "Header value"
|
||||||
msgstr "Valor do cabeçalho"
|
msgstr "Valor do cabeçalho"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Headphones"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/UserProfileSettings.tsx
|
#: src/components/UserProfileSettings.tsx
|
||||||
msgid "Health"
|
msgid "Health"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -2511,6 +2666,10 @@ msgstr ""
|
|||||||
msgid "Hear a sample"
|
msgid "Hear a sample"
|
||||||
msgstr "Ouvir uma amostra"
|
msgstr "Ouvir uma amostra"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Heart"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/lib/voice-persona-copy.ts
|
#: src/lib/voice-persona-copy.ts
|
||||||
msgid "Here's the read…"
|
msgid "Here's the read…"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -2597,7 +2756,7 @@ msgstr ""
|
|||||||
msgid "Image model"
|
msgid "Image model"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/shell/avatar-studio-popover.tsx
|
#: src/components/OoAtelier.tsx
|
||||||
msgid "Image upload area"
|
msgid "Image upload area"
|
||||||
msgstr "Área de envio de imagem"
|
msgstr "Área de envio de imagem"
|
||||||
|
|
||||||
@ -2671,6 +2830,10 @@ msgstr "Quantidade Intervalo"
|
|||||||
msgid "Interval unit"
|
msgid "Interval unit"
|
||||||
msgstr "Unidade do intervalo:"
|
msgstr "Unidade do intervalo:"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Iris"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/MemorySettingsOverlay.tsx
|
#: src/pages/MemorySettingsOverlay.tsx
|
||||||
#: src/pages/shell/bot-panel.tsx
|
#: src/pages/shell/bot-panel.tsx
|
||||||
msgid "Isolated"
|
msgid "Isolated"
|
||||||
@ -2710,6 +2873,10 @@ msgstr "Conhecimento"
|
|||||||
msgid "Language"
|
msgid "Language"
|
||||||
msgstr "Idioma"
|
msgstr "Idioma"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Lashes"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/DesktopUpdates.tsx
|
#: src/components/DesktopUpdates.tsx
|
||||||
msgid "Later"
|
msgid "Later"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -2726,6 +2893,10 @@ msgstr ""
|
|||||||
msgid "Light"
|
msgid "Light"
|
||||||
msgstr "Claro"
|
msgstr "Claro"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Lilac"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/shell/bot-capabilities.tsx
|
#: src/pages/shell/bot-capabilities.tsx
|
||||||
msgid "Limit built-in tools"
|
msgid "Limit built-in tools"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -3031,6 +3202,10 @@ msgstr "Minimizar"
|
|||||||
msgid "Minimize bots"
|
msgid "Minimize bots"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Mint"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/RoutineSchedule.tsx
|
#: src/pages/RoutineSchedule.tsx
|
||||||
msgid "minute"
|
msgid "minute"
|
||||||
msgstr "minuto"
|
msgstr "minuto"
|
||||||
@ -3080,6 +3255,10 @@ msgstr ""
|
|||||||
msgid "Models from server"
|
msgid "Models from server"
|
||||||
msgstr "Modelos do servidor"
|
msgstr "Modelos do servidor"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Monocle"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/RoutineSchedule.tsx
|
#: src/pages/RoutineSchedule.tsx
|
||||||
msgid "Monthly"
|
msgid "Monthly"
|
||||||
msgstr "Mensalmente"
|
msgstr "Mensalmente"
|
||||||
@ -3145,6 +3324,10 @@ msgstr "Dar nome ao grupo"
|
|||||||
msgid "Name this routine"
|
msgid "Name this routine"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Neck"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/stage/OoStage.tsx
|
#: src/components/stage/OoStage.tsx
|
||||||
msgid "Needs attention"
|
msgid "Needs attention"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -3168,6 +3351,10 @@ msgstr ""
|
|||||||
msgid "Needs your reply"
|
msgid "Needs your reply"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Nerd"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/shell/bot-panel.tsx
|
#: src/pages/shell/bot-panel.tsx
|
||||||
msgid "New bot"
|
msgid "New bot"
|
||||||
msgstr "Novo bot"
|
msgstr "Novo bot"
|
||||||
@ -3359,6 +3546,10 @@ msgstr ""
|
|||||||
msgid "No usage data is sent to third parties"
|
msgid "No usage data is sent to third parties"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "None"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/ScratchpadSection.tsx
|
#: src/pages/ScratchpadSection.tsx
|
||||||
msgid "None yet"
|
msgid "None yet"
|
||||||
msgstr "Nenhuma ainda"
|
msgstr "Nenhuma ainda"
|
||||||
@ -3555,6 +3746,10 @@ msgstr ""
|
|||||||
msgid "Park"
|
msgid "Park"
|
||||||
msgstr "Suspender"
|
msgstr "Suspender"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Party hat"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/AskCard.tsx
|
#: src/components/AskCard.tsx
|
||||||
#: src/pages/AccountSettingsOverlay.tsx
|
#: src/pages/AccountSettingsOverlay.tsx
|
||||||
#: src/pages/Auth.tsx
|
#: src/pages/Auth.tsx
|
||||||
@ -3591,6 +3786,18 @@ msgstr "Cole sua chave API"
|
|||||||
msgid "Paused"
|
msgid "Paused"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Paw"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Peach"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Penguin"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/UserProfileSettings.tsx
|
#: src/components/UserProfileSettings.tsx
|
||||||
msgid "People"
|
msgid "People"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -3615,6 +3822,14 @@ msgstr ""
|
|||||||
msgid "Pin"
|
msgid "Pin"
|
||||||
msgstr "Fixar"
|
msgstr "Fixar"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Pink"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Playful"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/VoiceSettingsOverlay.tsx
|
#: src/pages/VoiceSettingsOverlay.tsx
|
||||||
msgid "Playing…"
|
msgid "Playing…"
|
||||||
msgstr "Reproduzindo"
|
msgstr "Reproduzindo"
|
||||||
@ -3762,6 +3977,10 @@ msgstr "Leia as respostas em voz alta"
|
|||||||
msgid "read-only"
|
msgid "read-only"
|
||||||
msgstr "somente leitura"
|
msgstr "somente leitura"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Reading glasses"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/lib/voice-persona-copy.ts
|
#: src/lib/voice-persona-copy.ts
|
||||||
msgid "Reading the stack trace…"
|
msgid "Reading the stack trace…"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -3976,7 +4195,7 @@ msgstr ""
|
|||||||
|
|
||||||
#: src/components/ComputerMaintenanceActions.tsx
|
#: src/components/ComputerMaintenanceActions.tsx
|
||||||
#: src/components/onboarding/OnboardingOoDesigner.tsx
|
#: src/components/onboarding/OnboardingOoDesigner.tsx
|
||||||
#: src/pages/shell/avatar-studio-popover.tsx
|
#: src/components/OoAtelier.tsx
|
||||||
msgid "Reset"
|
msgid "Reset"
|
||||||
msgstr "Redefinir"
|
msgstr "Redefinir"
|
||||||
|
|
||||||
@ -4042,14 +4261,26 @@ msgstr ""
|
|||||||
msgid "Riffing"
|
msgid "Riffing"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Robot"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/ExternalConversationSettings.tsx
|
#: src/pages/ExternalConversationSettings.tsx
|
||||||
msgid "Room guidance"
|
msgid "Room guidance"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Rose"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/RoutineEditor.tsx
|
#: src/pages/RoutineEditor.tsx
|
||||||
msgid "Rotate key"
|
msgid "Rotate key"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Round"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/RoutineEditor.tsx
|
#: src/pages/RoutineEditor.tsx
|
||||||
#: src/pages/Shell.tsx
|
#: src/pages/Shell.tsx
|
||||||
#: src/pages/shell/routine-event-line.tsx
|
#: src/pages/shell/routine-event-line.tsx
|
||||||
@ -4164,6 +4395,10 @@ msgstr "Diga sim ou não, ou responda em uma frase."
|
|||||||
msgid "Scanning exposure…"
|
msgid "Scanning exposure…"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Scarf"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/onboarding/OnboardingOoDesigner.tsx
|
#: src/components/onboarding/OnboardingOoDesigner.tsx
|
||||||
msgid "Scene"
|
msgid "Scene"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -4294,10 +4529,15 @@ msgstr "Ajuda"
|
|||||||
msgid "Setup progress"
|
msgid "Setup progress"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/shell/avatar-studio-popover.tsx
|
#: src/components/OoAtelier.tsx
|
||||||
msgid "Shape"
|
msgid "Shape"
|
||||||
msgstr "Forma"
|
msgstr "Forma"
|
||||||
|
|
||||||
|
#. placeholder {0}: shape + 1
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Shape {0}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/lib/voice-persona-copy.ts
|
#: src/lib/voice-persona-copy.ts
|
||||||
msgid "Share what you're imagining — or tell me one thing to refine."
|
msgid "Share what you're imagining — or tell me one thing to refine."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -4415,6 +4655,10 @@ msgstr ""
|
|||||||
msgid "Slack not enabled"
|
msgid "Slack not enabled"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Soft"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/SoftwareUpdateSection.tsx
|
#: src/components/SoftwareUpdateSection.tsx
|
||||||
msgid "Software update"
|
msgid "Software update"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -4444,6 +4688,10 @@ msgstr "Padrão do espaço"
|
|||||||
msgid "Spaces"
|
msgid "Spaces"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Sparkle"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/shell/transcript.tsx
|
#: src/pages/shell/transcript.tsx
|
||||||
msgid "Speak"
|
msgid "Speak"
|
||||||
msgstr "Falar"
|
msgstr "Falar"
|
||||||
@ -4478,10 +4726,18 @@ msgstr ""
|
|||||||
msgid "Specialist crew"
|
msgid "Specialist crew"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Species"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/lib/model-tier-label.ts
|
#: src/lib/model-tier-label.ts
|
||||||
msgid "Standard"
|
msgid "Standard"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Star"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/Shell.tsx
|
#: src/pages/Shell.tsx
|
||||||
msgid "Start"
|
msgid "Start"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -4585,6 +4841,10 @@ msgstr ""
|
|||||||
msgid "Stronger together — {0} specialists"
|
msgid "Stronger together — {0} specialists"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Stub"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/shell/transcript.tsx
|
#: src/pages/shell/transcript.tsx
|
||||||
msgid "subagent"
|
msgid "subagent"
|
||||||
msgstr "subagente"
|
msgstr "subagente"
|
||||||
@ -4597,6 +4857,10 @@ msgstr "Enviar"
|
|||||||
msgid "Summary"
|
msgid "Summary"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Sunglasses"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/ModelSettingsOverlay.tsx
|
#: src/pages/ModelSettingsOverlay.tsx
|
||||||
msgid "Supports images"
|
msgid "Supports images"
|
||||||
msgstr "Suporta imagens"
|
msgstr "Suporta imagens"
|
||||||
@ -4605,6 +4869,10 @@ msgstr "Suporta imagens"
|
|||||||
msgid "Supports thinking"
|
msgid "Supports thinking"
|
||||||
msgstr "Suporta raciocínio"
|
msgstr "Suporta raciocínio"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Surprise me"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/onboarding/LookPreviewCarousel.tsx
|
#: src/components/onboarding/LookPreviewCarousel.tsx
|
||||||
msgid "Swipe for more looks"
|
msgid "Swipe for more looks"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -4921,7 +5189,7 @@ msgstr ""
|
|||||||
msgid "Updating…"
|
msgid "Updating…"
|
||||||
msgstr "Atualizando…"
|
msgstr "Atualizando…"
|
||||||
|
|
||||||
#: src/pages/shell/avatar-studio-popover.tsx
|
#: src/components/OoAtelier.tsx
|
||||||
msgid "Upload"
|
msgid "Upload"
|
||||||
msgstr "Enviar"
|
msgstr "Enviar"
|
||||||
|
|
||||||
@ -4967,6 +5235,10 @@ msgstr "Verificando…"
|
|||||||
msgid "Video workflow"
|
msgid "Video workflow"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Violet"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/SettingsOverlay.tsx
|
#: src/pages/SettingsOverlay.tsx
|
||||||
#: src/pages/shell/bot-panel.tsx
|
#: src/pages/shell/bot-panel.tsx
|
||||||
#: src/pages/shell/composer.tsx
|
#: src/pages/shell/composer.tsx
|
||||||
@ -5113,6 +5385,10 @@ msgstr ""
|
|||||||
msgid "When a webhook fires"
|
msgid "When a webhook fires"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "When needed"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/lib/onboarding-copy.ts
|
#: src/lib/onboarding-copy.ts
|
||||||
msgid "When should I check in with you?"
|
msgid "When should I check in with you?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -5133,6 +5409,10 @@ msgstr "Quando usar"
|
|||||||
msgid "Where should bots run?"
|
msgid "Where should bots run?"
|
||||||
msgstr "Onde os bots devem ser executados?"
|
msgstr "Onde os bots devem ser executados?"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Winged"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/shell/bot-picker.tsx
|
#: src/pages/shell/bot-picker.tsx
|
||||||
msgid "With:"
|
msgid "With:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|||||||
@ -668,6 +668,10 @@ msgstr ""
|
|||||||
msgid "Arguments"
|
msgid "Arguments"
|
||||||
msgstr "Аргументы"
|
msgstr "Аргументы"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Arms"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#. placeholder {0}: rule.matchValue
|
#. placeholder {0}: rule.matchValue
|
||||||
#: src/components/ApprovalRulesSettings.tsx
|
#: src/components/ApprovalRulesSettings.tsx
|
||||||
msgid "Ask before {0}"
|
msgid "Ask before {0}"
|
||||||
@ -716,6 +720,10 @@ msgstr "в {0}"
|
|||||||
msgid "at {timeSelect}"
|
msgid "at {timeSelect}"
|
||||||
msgstr "в {timeSelect}"
|
msgstr "в {timeSelect}"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Atelier"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/shell/composer.tsx
|
#: src/pages/shell/composer.tsx
|
||||||
msgid "Attach file"
|
msgid "Attach file"
|
||||||
msgstr "Прикрепить файл"
|
msgstr "Прикрепить файл"
|
||||||
@ -756,10 +764,6 @@ msgstr "Автоматические отправители появятся п
|
|||||||
msgid "Available after the routine is saved"
|
msgid "Available after the routine is saved"
|
||||||
msgstr "Доступно после сохранения задачи"
|
msgstr "Доступно после сохранения задачи"
|
||||||
|
|
||||||
#: src/pages/shell/avatar-studio-popover.tsx
|
|
||||||
msgid "Avatar Studio"
|
|
||||||
msgstr "Студия аватаров"
|
|
||||||
|
|
||||||
#: src/components/browser/InAppBrowser.tsx
|
#: src/components/browser/InAppBrowser.tsx
|
||||||
#: src/components/CookingMode.tsx
|
#: src/components/CookingMode.tsx
|
||||||
#: src/components/onboarding/OnboardingVoiceStep.tsx
|
#: src/components/onboarding/OnboardingVoiceStep.tsx
|
||||||
@ -781,15 +785,35 @@ msgstr ""
|
|||||||
msgid "Base URL"
|
msgid "Base URL"
|
||||||
msgstr "Базовый URL"
|
msgstr "Базовый URL"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Beanie"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Bear"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/memory-providers/SerenitySettingsForm.tsx
|
#: src/pages/memory-providers/SerenitySettingsForm.tsx
|
||||||
#: src/pages/PluginsOverlay.tsx
|
#: src/pages/PluginsOverlay.tsx
|
||||||
msgid "Bearer token"
|
msgid "Bearer token"
|
||||||
msgstr "Bearer-токен"
|
msgstr "Bearer-токен"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Bell"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/NotificationSettingsPanel.tsx
|
#: src/components/NotificationSettingsPanel.tsx
|
||||||
msgid "Blocked in your browser settings"
|
msgid "Blocked in your browser settings"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Blue"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Body"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/shell/computer-screen.tsx
|
#: src/pages/shell/computer-screen.tsx
|
||||||
msgid "Booting live desktop…"
|
msgid "Booting live desktop…"
|
||||||
msgstr "Загрузка рабочего стола…"
|
msgstr "Загрузка рабочего стола…"
|
||||||
@ -810,7 +834,6 @@ msgstr "Бот"
|
|||||||
|
|
||||||
#: src/pages/IntegrationSetup.tsx
|
#: src/pages/IntegrationSetup.tsx
|
||||||
#: src/pages/Shell.tsx
|
#: src/pages/Shell.tsx
|
||||||
#: src/pages/shell/avatar-studio-popover.tsx
|
|
||||||
msgid "Bot"
|
msgid "Bot"
|
||||||
msgstr "Бот"
|
msgstr "Бот"
|
||||||
|
|
||||||
@ -834,10 +857,26 @@ msgstr "По умолчанию боты действуют, не спрашив
|
|||||||
msgid "Bots are working"
|
msgid "Bots are working"
|
||||||
msgstr "Боты работают"
|
msgstr "Боты работают"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Bow"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Bow tie"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/memory-providers/SerenitySettingsForm.tsx
|
#: src/pages/memory-providers/SerenitySettingsForm.tsx
|
||||||
msgid "Brain label"
|
msgid "Brain label"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Brown"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Brows"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/PluginsOverlay.tsx
|
#: src/pages/PluginsOverlay.tsx
|
||||||
msgid "Browse MCP servers"
|
msgid "Browse MCP servers"
|
||||||
msgstr "Просмотреть MCP-серверы"
|
msgstr "Просмотреть MCP-серверы"
|
||||||
@ -846,6 +885,14 @@ msgstr "Просмотреть MCP-серверы"
|
|||||||
msgid "Browser"
|
msgid "Browser"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Bunny"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Bushy"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/Shell.tsx
|
#: src/pages/Shell.tsx
|
||||||
msgid "Busy"
|
msgid "Busy"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -911,6 +958,10 @@ msgstr "Отменено"
|
|||||||
msgid "Cancelled"
|
msgid "Cancelled"
|
||||||
msgstr "Отменено"
|
msgstr "Отменено"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Cat"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/UserFactEditor.tsx
|
#: src/components/UserFactEditor.tsx
|
||||||
msgid "Category"
|
msgid "Category"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -1006,9 +1057,13 @@ msgstr "Проверка…"
|
|||||||
msgid "Checkout has local changes. Clean it before updating."
|
msgid "Checkout has local changes. Clean it before updating."
|
||||||
msgstr "В checkout есть локальные изменения. Очистите его перед обновлением."
|
msgstr "В checkout есть локальные изменения. Очистите его перед обновлением."
|
||||||
|
|
||||||
#: src/pages/shell/avatar-studio-popover.tsx
|
#: src/components/OoAtelier.tsx
|
||||||
msgid "Choose a bot shape, color, or upload an image"
|
msgid "Cheeks"
|
||||||
msgstr "Выберите форму и цвет бота или загрузите изображение"
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Chef's hat"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/MessagingSettingsOverlay.tsx
|
#: src/pages/MessagingSettingsOverlay.tsx
|
||||||
msgid "Choose a bot…"
|
msgid "Choose a bot…"
|
||||||
@ -1026,7 +1081,7 @@ msgstr "Выберите новый пароль"
|
|||||||
msgid "Choose an existing folder on this computer. Git remotes are linked automatically when a repository is present."
|
msgid "Choose an existing folder on this computer. Git remotes are linked automatically when a repository is present."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/shell/avatar-studio-popover.tsx
|
#: src/components/OoAtelier.tsx
|
||||||
msgid "Choose file"
|
msgid "Choose file"
|
||||||
msgstr "Выбрать файл"
|
msgstr "Выбрать файл"
|
||||||
|
|
||||||
@ -1034,6 +1089,10 @@ msgstr "Выбрать файл"
|
|||||||
msgid "Choose folder"
|
msgid "Choose folder"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Choose how your Oo looks and moves"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/ModelSettingsOverlay.tsx
|
#: src/pages/ModelSettingsOverlay.tsx
|
||||||
msgid "Choose which connected model Rakazo uses."
|
msgid "Choose which connected model Rakazo uses."
|
||||||
msgstr "Выберите, какую подключенную модель использует Rakazo."
|
msgstr "Выберите, какую подключенную модель использует Rakazo."
|
||||||
@ -1046,6 +1105,10 @@ msgstr ""
|
|||||||
msgid "Choosing the right shape…"
|
msgid "Choosing the right shape…"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Classic"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/shell/dialogs.tsx
|
#: src/pages/shell/dialogs.tsx
|
||||||
msgid "Clear"
|
msgid "Clear"
|
||||||
msgstr "Очистить"
|
msgstr "Очистить"
|
||||||
@ -1076,12 +1139,12 @@ msgstr "ID клиента"
|
|||||||
msgid "Client secret"
|
msgid "Client secret"
|
||||||
msgstr "Секрет клиента"
|
msgstr "Секрет клиента"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
#: src/pages/KnowledgeSection.tsx
|
#: src/pages/KnowledgeSection.tsx
|
||||||
#: src/pages/MessagingSettingsOverlay.tsx
|
#: src/pages/MessagingSettingsOverlay.tsx
|
||||||
#: src/pages/PeerMessagesOverlay.tsx
|
#: src/pages/PeerMessagesOverlay.tsx
|
||||||
#: src/pages/RoutineEditor.tsx
|
#: src/pages/RoutineEditor.tsx
|
||||||
#: src/pages/Shell.tsx
|
#: src/pages/Shell.tsx
|
||||||
#: src/pages/shell/avatar-studio-popover.tsx
|
|
||||||
#: src/pages/WindowChrome.tsx
|
#: src/pages/WindowChrome.tsx
|
||||||
msgid "Close"
|
msgid "Close"
|
||||||
msgstr "Закрыть"
|
msgstr "Закрыть"
|
||||||
@ -1165,11 +1228,11 @@ msgstr ""
|
|||||||
msgid "Collapse {0}"
|
msgid "Collapse {0}"
|
||||||
msgstr "Свернуть {0}"
|
msgstr "Свернуть {0}"
|
||||||
|
|
||||||
#: src/pages/shell/avatar-studio-popover.tsx
|
#: src/components/OoAtelier.tsx
|
||||||
msgid "Color"
|
msgid "Color"
|
||||||
msgstr "Цвет"
|
msgstr "Цвет"
|
||||||
|
|
||||||
#: src/pages/shell/avatar-studio-popover.tsx
|
#: src/components/OoAtelier.tsx
|
||||||
msgid "Color {color}"
|
msgid "Color {color}"
|
||||||
msgstr "Цвет {color}"
|
msgstr "Цвет {color}"
|
||||||
|
|
||||||
@ -1846,15 +1909,27 @@ msgstr "Крон"
|
|||||||
msgid "Cron expression"
|
msgid "Cron expression"
|
||||||
msgstr "Выражение Cron"
|
msgstr "Выражение Cron"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Crown"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/AccountSettingsOverlay.tsx
|
#: src/pages/AccountSettingsOverlay.tsx
|
||||||
msgid "Current password"
|
msgid "Current password"
|
||||||
msgstr "Текущий пароль"
|
msgstr "Текущий пароль"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Custom color"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/shell/dialogs.tsx
|
#: src/pages/shell/dialogs.tsx
|
||||||
msgid "Customer support"
|
msgid "Customer support"
|
||||||
msgstr "Поддержка клиентов"
|
msgstr "Поддержка клиентов"
|
||||||
|
|
||||||
#: src/pages/shell/avatar-studio-popover.tsx
|
#: src/components/onboarding/OnboardingOoDesigner.tsx
|
||||||
|
msgid "Customize"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
msgid "Customize bot avatar"
|
msgid "Customize bot avatar"
|
||||||
msgstr "Настроить аватар бота"
|
msgstr "Настроить аватар бота"
|
||||||
|
|
||||||
@ -2056,6 +2131,10 @@ msgstr "Docker ограничивает доступ к вашему компь
|
|||||||
msgid "Does not speak"
|
msgid "Does not speak"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Dog"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/HeuteBrief.tsx
|
#: src/pages/HeuteBrief.tsx
|
||||||
msgid "Doing"
|
msgid "Doing"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -2071,10 +2150,10 @@ msgstr ""
|
|||||||
#: src/components/ai/DelegatedTaskCard.tsx
|
#: src/components/ai/DelegatedTaskCard.tsx
|
||||||
#: src/components/CookingMode.tsx
|
#: src/components/CookingMode.tsx
|
||||||
#: src/components/media/MediaCard.tsx
|
#: src/components/media/MediaCard.tsx
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
#: src/components/ThreadCard.tsx
|
#: src/components/ThreadCard.tsx
|
||||||
#: src/pages/HeuteBrief.tsx
|
#: src/pages/HeuteBrief.tsx
|
||||||
#: src/pages/ProjectSessionTimeline.tsx
|
#: src/pages/ProjectSessionTimeline.tsx
|
||||||
#: src/pages/shell/avatar-studio-popover.tsx
|
|
||||||
msgid "Done"
|
msgid "Done"
|
||||||
msgstr "Готово"
|
msgstr "Готово"
|
||||||
|
|
||||||
@ -2083,6 +2162,10 @@ msgstr "Готово"
|
|||||||
msgid "Done"
|
msgid "Done"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Dot"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#. placeholder {0}: props.name
|
#. placeholder {0}: props.name
|
||||||
#: src/components/ArtifactFileCard.tsx
|
#: src/components/ArtifactFileCard.tsx
|
||||||
msgid "Download {0}"
|
msgid "Download {0}"
|
||||||
@ -2120,7 +2203,7 @@ msgstr ""
|
|||||||
msgid "Drag to reorder"
|
msgid "Drag to reorder"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/shell/avatar-studio-popover.tsx
|
#: src/components/OoAtelier.tsx
|
||||||
msgid "Drag, drop, or paste an image"
|
msgid "Drag, drop, or paste an image"
|
||||||
msgstr "Перетащите или вставьте изображение"
|
msgstr "Перетащите или вставьте изображение"
|
||||||
|
|
||||||
@ -2161,6 +2244,10 @@ msgstr "Электронная почта"
|
|||||||
msgid "Embeddings URL"
|
msgid "Embeddings URL"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Energy"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/ExternalConversationSettings.tsx
|
#: src/pages/ExternalConversationSettings.tsx
|
||||||
msgid "Engage when... Ignore..."
|
msgid "Engage when... Ignore..."
|
||||||
msgstr "Включайтесь, когда... Игнорируйте..."
|
msgstr "Включайтесь, когда... Игнорируйте..."
|
||||||
@ -2288,6 +2375,22 @@ msgstr "Внешний диалог"
|
|||||||
msgid "Extra high"
|
msgid "Extra high"
|
||||||
msgstr "Очень высокий"
|
msgstr "Очень высокий"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Extras"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Eyeliner"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Eyes"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Eyeshadow"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/UserFactEditor.tsx
|
#: src/components/UserFactEditor.tsx
|
||||||
msgid "Fact"
|
msgid "Fact"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -2345,6 +2448,10 @@ msgstr ""
|
|||||||
msgid "Finding…"
|
msgid "Finding…"
|
||||||
msgstr "Поиск…"
|
msgstr "Поиск…"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Fine"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#. placeholder {0}: new URL(oauth.verificationUri).hostname
|
#. placeholder {0}: new URL(oauth.verificationUri).hostname
|
||||||
#: src/pages/ModelSettingsOverlay.tsx
|
#: src/pages/ModelSettingsOverlay.tsx
|
||||||
msgid "Finish signing in at <0>{0}</0>. The final page may not load; paste its URL or code here."
|
msgid "Finish signing in at <0>{0}</0>. The final page may not load; paste its URL or code here."
|
||||||
@ -2371,6 +2478,14 @@ msgstr ""
|
|||||||
msgid "Flag unexpected actions"
|
msgid "Flag unexpected actions"
|
||||||
msgstr "Пометить неожиданные действия"
|
msgstr "Пометить неожиданные действия"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Flick"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Flower"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/PrivacySettingsOverlay.tsx
|
#: src/pages/PrivacySettingsOverlay.tsx
|
||||||
msgid "Fonts loaded locally"
|
msgid "Fonts loaded locally"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -2395,10 +2510,22 @@ msgstr "Забыли пароль?"
|
|||||||
msgid "Forward"
|
msgid "Forward"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Freckles"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/ModelSettingsOverlay.tsx
|
#: src/pages/ModelSettingsOverlay.tsx
|
||||||
msgid "Free"
|
msgid "Free"
|
||||||
msgstr "Бесплатно"
|
msgstr "Бесплатно"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Frog"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Full"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/WindowChrome.tsx
|
#: src/pages/WindowChrome.tsx
|
||||||
msgid "Fullscreen"
|
msgid "Fullscreen"
|
||||||
msgstr "Полноэкранный"
|
msgstr "Полноэкранный"
|
||||||
@ -2427,10 +2554,22 @@ msgstr "Подготовка"
|
|||||||
msgid "Getting ready…"
|
msgid "Getting ready…"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Ghost"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/RoutineEditor.tsx
|
#: src/pages/RoutineEditor.tsx
|
||||||
msgid "Git event"
|
msgid "Git event"
|
||||||
msgstr "Git-событие"
|
msgstr "Git-событие"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Glass"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Glasses"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/ProjectSessionTimeline.tsx
|
#: src/pages/ProjectSessionTimeline.tsx
|
||||||
msgid "Goal"
|
msgid "Goal"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -2445,6 +2584,14 @@ msgstr ""
|
|||||||
msgid "Goals for this project, separate from chat messages. Conversations are below."
|
msgid "Goals for this project, separate from chat messages. Conversations are below."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Gold"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Green"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/stage/OoStage.tsx
|
#: src/components/stage/OoStage.tsx
|
||||||
#: src/pages/MessagingSettingsOverlay.tsx
|
#: src/pages/MessagingSettingsOverlay.tsx
|
||||||
#: src/pages/Shell.tsx
|
#: src/pages/Shell.tsx
|
||||||
@ -2490,6 +2637,10 @@ msgstr "Сначала повесьте трубку, затем введите
|
|||||||
msgid "Hang up, then enter the code on screen."
|
msgid "Hang up, then enter the code on screen."
|
||||||
msgstr "Повесьте трубку, затем введите код на экране."
|
msgstr "Повесьте трубку, затем введите код на экране."
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Hat"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/RoutineEditor.tsx
|
#: src/pages/RoutineEditor.tsx
|
||||||
msgid "header"
|
msgid "header"
|
||||||
msgstr "заголовок"
|
msgstr "заголовок"
|
||||||
@ -2503,6 +2654,10 @@ msgstr "Название заголовка"
|
|||||||
msgid "Header value"
|
msgid "Header value"
|
||||||
msgstr "Значение заголовка"
|
msgstr "Значение заголовка"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Headphones"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/UserProfileSettings.tsx
|
#: src/components/UserProfileSettings.tsx
|
||||||
msgid "Health"
|
msgid "Health"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -2511,6 +2666,10 @@ msgstr ""
|
|||||||
msgid "Hear a sample"
|
msgid "Hear a sample"
|
||||||
msgstr "Прослушать образец"
|
msgstr "Прослушать образец"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Heart"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/lib/voice-persona-copy.ts
|
#: src/lib/voice-persona-copy.ts
|
||||||
msgid "Here's the read…"
|
msgid "Here's the read…"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -2597,7 +2756,7 @@ msgstr "игнорировать"
|
|||||||
msgid "Image model"
|
msgid "Image model"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/shell/avatar-studio-popover.tsx
|
#: src/components/OoAtelier.tsx
|
||||||
msgid "Image upload area"
|
msgid "Image upload area"
|
||||||
msgstr "Область загрузки изображения"
|
msgstr "Область загрузки изображения"
|
||||||
|
|
||||||
@ -2671,6 +2830,10 @@ msgstr "Значение интервала"
|
|||||||
msgid "Interval unit"
|
msgid "Interval unit"
|
||||||
msgstr "Единица интервала"
|
msgstr "Единица интервала"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Iris"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/MemorySettingsOverlay.tsx
|
#: src/pages/MemorySettingsOverlay.tsx
|
||||||
#: src/pages/shell/bot-panel.tsx
|
#: src/pages/shell/bot-panel.tsx
|
||||||
msgid "Isolated"
|
msgid "Isolated"
|
||||||
@ -2710,6 +2873,10 @@ msgstr "Знание"
|
|||||||
msgid "Language"
|
msgid "Language"
|
||||||
msgstr "Язык"
|
msgstr "Язык"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Lashes"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/DesktopUpdates.tsx
|
#: src/components/DesktopUpdates.tsx
|
||||||
msgid "Later"
|
msgid "Later"
|
||||||
msgstr "Позже"
|
msgstr "Позже"
|
||||||
@ -2726,6 +2893,10 @@ msgstr ""
|
|||||||
msgid "Light"
|
msgid "Light"
|
||||||
msgstr "Светлая"
|
msgstr "Светлая"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Lilac"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/shell/bot-capabilities.tsx
|
#: src/pages/shell/bot-capabilities.tsx
|
||||||
msgid "Limit built-in tools"
|
msgid "Limit built-in tools"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -3031,6 +3202,10 @@ msgstr "Свернуть"
|
|||||||
msgid "Minimize bots"
|
msgid "Minimize bots"
|
||||||
msgstr "Свернуть ботов"
|
msgstr "Свернуть ботов"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Mint"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/RoutineSchedule.tsx
|
#: src/pages/RoutineSchedule.tsx
|
||||||
msgid "minute"
|
msgid "minute"
|
||||||
msgstr "минута"
|
msgstr "минута"
|
||||||
@ -3080,6 +3255,10 @@ msgstr "Модели для пространства владельца серв
|
|||||||
msgid "Models from server"
|
msgid "Models from server"
|
||||||
msgstr "Модели с сервера"
|
msgstr "Модели с сервера"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Monocle"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/RoutineSchedule.tsx
|
#: src/pages/RoutineSchedule.tsx
|
||||||
msgid "Monthly"
|
msgid "Monthly"
|
||||||
msgstr "Ежемесячно"
|
msgstr "Ежемесячно"
|
||||||
@ -3145,6 +3324,10 @@ msgstr "Назовите эту группу"
|
|||||||
msgid "Name this routine"
|
msgid "Name this routine"
|
||||||
msgstr "Назовите эту задачу"
|
msgstr "Назовите эту задачу"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Neck"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/stage/OoStage.tsx
|
#: src/components/stage/OoStage.tsx
|
||||||
msgid "Needs attention"
|
msgid "Needs attention"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -3168,6 +3351,10 @@ msgstr "Требуется ваше участие"
|
|||||||
msgid "Needs your reply"
|
msgid "Needs your reply"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Nerd"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/shell/bot-panel.tsx
|
#: src/pages/shell/bot-panel.tsx
|
||||||
msgid "New bot"
|
msgid "New bot"
|
||||||
msgstr "Новый бот"
|
msgstr "Новый бот"
|
||||||
@ -3359,6 +3546,10 @@ msgstr "Нет триггера"
|
|||||||
msgid "No usage data is sent to third parties"
|
msgid "No usage data is sent to third parties"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "None"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/ScratchpadSection.tsx
|
#: src/pages/ScratchpadSection.tsx
|
||||||
msgid "None yet"
|
msgid "None yet"
|
||||||
msgstr "Пока нет"
|
msgstr "Пока нет"
|
||||||
@ -3555,6 +3746,10 @@ msgstr "Инцидент PagerDuty"
|
|||||||
msgid "Park"
|
msgid "Park"
|
||||||
msgstr "Приостановить"
|
msgstr "Приостановить"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Party hat"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/AskCard.tsx
|
#: src/components/AskCard.tsx
|
||||||
#: src/pages/AccountSettingsOverlay.tsx
|
#: src/pages/AccountSettingsOverlay.tsx
|
||||||
#: src/pages/Auth.tsx
|
#: src/pages/Auth.tsx
|
||||||
@ -3591,6 +3786,18 @@ msgstr "Вставьте свой ключ API"
|
|||||||
msgid "Paused"
|
msgid "Paused"
|
||||||
msgstr "Приостановлено"
|
msgstr "Приостановлено"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Paw"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Peach"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Penguin"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/UserProfileSettings.tsx
|
#: src/components/UserProfileSettings.tsx
|
||||||
msgid "People"
|
msgid "People"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -3615,6 +3822,14 @@ msgstr ""
|
|||||||
msgid "Pin"
|
msgid "Pin"
|
||||||
msgstr "Закрепить"
|
msgstr "Закрепить"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Pink"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Playful"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/VoiceSettingsOverlay.tsx
|
#: src/pages/VoiceSettingsOverlay.tsx
|
||||||
msgid "Playing…"
|
msgid "Playing…"
|
||||||
msgstr "Воспроизведение…"
|
msgstr "Воспроизведение…"
|
||||||
@ -3762,6 +3977,10 @@ msgstr "Читать ответы вслух"
|
|||||||
msgid "read-only"
|
msgid "read-only"
|
||||||
msgstr "только для чтения"
|
msgstr "только для чтения"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Reading glasses"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/lib/voice-persona-copy.ts
|
#: src/lib/voice-persona-copy.ts
|
||||||
msgid "Reading the stack trace…"
|
msgid "Reading the stack trace…"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -3976,7 +4195,7 @@ msgstr ""
|
|||||||
|
|
||||||
#: src/components/ComputerMaintenanceActions.tsx
|
#: src/components/ComputerMaintenanceActions.tsx
|
||||||
#: src/components/onboarding/OnboardingOoDesigner.tsx
|
#: src/components/onboarding/OnboardingOoDesigner.tsx
|
||||||
#: src/pages/shell/avatar-studio-popover.tsx
|
#: src/components/OoAtelier.tsx
|
||||||
msgid "Reset"
|
msgid "Reset"
|
||||||
msgstr "Сбросить"
|
msgstr "Сбросить"
|
||||||
|
|
||||||
@ -4042,14 +4261,26 @@ msgstr "Отозвать"
|
|||||||
msgid "Riffing"
|
msgid "Riffing"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Robot"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/ExternalConversationSettings.tsx
|
#: src/pages/ExternalConversationSettings.tsx
|
||||||
msgid "Room guidance"
|
msgid "Room guidance"
|
||||||
msgstr "Инструкции для комнаты"
|
msgstr "Инструкции для комнаты"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Rose"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/RoutineEditor.tsx
|
#: src/pages/RoutineEditor.tsx
|
||||||
msgid "Rotate key"
|
msgid "Rotate key"
|
||||||
msgstr "Сменить ключ"
|
msgstr "Сменить ключ"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Round"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/RoutineEditor.tsx
|
#: src/pages/RoutineEditor.tsx
|
||||||
#: src/pages/Shell.tsx
|
#: src/pages/Shell.tsx
|
||||||
#: src/pages/shell/routine-event-line.tsx
|
#: src/pages/shell/routine-event-line.tsx
|
||||||
@ -4164,6 +4395,10 @@ msgstr "Скажите «да» или «нет» или ответьте пре
|
|||||||
msgid "Scanning exposure…"
|
msgid "Scanning exposure…"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Scarf"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/onboarding/OnboardingOoDesigner.tsx
|
#: src/components/onboarding/OnboardingOoDesigner.tsx
|
||||||
msgid "Scene"
|
msgid "Scene"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -4294,10 +4529,15 @@ msgstr "Помощь по настройке"
|
|||||||
msgid "Setup progress"
|
msgid "Setup progress"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/shell/avatar-studio-popover.tsx
|
#: src/components/OoAtelier.tsx
|
||||||
msgid "Shape"
|
msgid "Shape"
|
||||||
msgstr "Форма"
|
msgstr "Форма"
|
||||||
|
|
||||||
|
#. placeholder {0}: shape + 1
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Shape {0}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/lib/voice-persona-copy.ts
|
#: src/lib/voice-persona-copy.ts
|
||||||
msgid "Share what you're imagining — or tell me one thing to refine."
|
msgid "Share what you're imagining — or tell me one thing to refine."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -4415,6 +4655,10 @@ msgstr "Сообщение Slack"
|
|||||||
msgid "Slack not enabled"
|
msgid "Slack not enabled"
|
||||||
msgstr "Slack не включен"
|
msgstr "Slack не включен"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Soft"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/SoftwareUpdateSection.tsx
|
#: src/components/SoftwareUpdateSection.tsx
|
||||||
msgid "Software update"
|
msgid "Software update"
|
||||||
msgstr "Обновление программного обеспечения"
|
msgstr "Обновление программного обеспечения"
|
||||||
@ -4444,6 +4688,10 @@ msgstr "Пространство по умолчанию"
|
|||||||
msgid "Spaces"
|
msgid "Spaces"
|
||||||
msgstr "Пространства"
|
msgstr "Пространства"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Sparkle"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/shell/transcript.tsx
|
#: src/pages/shell/transcript.tsx
|
||||||
msgid "Speak"
|
msgid "Speak"
|
||||||
msgstr "Озвучить"
|
msgstr "Озвучить"
|
||||||
@ -4478,10 +4726,18 @@ msgstr ""
|
|||||||
msgid "Specialist crew"
|
msgid "Specialist crew"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Species"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/lib/model-tier-label.ts
|
#: src/lib/model-tier-label.ts
|
||||||
msgid "Standard"
|
msgid "Standard"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Star"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/Shell.tsx
|
#: src/pages/Shell.tsx
|
||||||
msgid "Start"
|
msgid "Start"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -4585,6 +4841,10 @@ msgstr ""
|
|||||||
msgid "Stronger together — {0} specialists"
|
msgid "Stronger together — {0} specialists"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Stub"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/shell/transcript.tsx
|
#: src/pages/shell/transcript.tsx
|
||||||
msgid "subagent"
|
msgid "subagent"
|
||||||
msgstr "субагент"
|
msgstr "субагент"
|
||||||
@ -4597,6 +4857,10 @@ msgstr "Отправить"
|
|||||||
msgid "Summary"
|
msgid "Summary"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Sunglasses"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/ModelSettingsOverlay.tsx
|
#: src/pages/ModelSettingsOverlay.tsx
|
||||||
msgid "Supports images"
|
msgid "Supports images"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -4605,6 +4869,10 @@ msgstr ""
|
|||||||
msgid "Supports thinking"
|
msgid "Supports thinking"
|
||||||
msgstr "Поддерживает рассуждения"
|
msgstr "Поддерживает рассуждения"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Surprise me"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/onboarding/LookPreviewCarousel.tsx
|
#: src/components/onboarding/LookPreviewCarousel.tsx
|
||||||
msgid "Swipe for more looks"
|
msgid "Swipe for more looks"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -4921,7 +5189,7 @@ msgstr "Обновление компьютера команды"
|
|||||||
msgid "Updating…"
|
msgid "Updating…"
|
||||||
msgstr "Обновление…"
|
msgstr "Обновление…"
|
||||||
|
|
||||||
#: src/pages/shell/avatar-studio-popover.tsx
|
#: src/components/OoAtelier.tsx
|
||||||
msgid "Upload"
|
msgid "Upload"
|
||||||
msgstr "Загрузить"
|
msgstr "Загрузить"
|
||||||
|
|
||||||
@ -4967,6 +5235,10 @@ msgstr "Проверка…"
|
|||||||
msgid "Video workflow"
|
msgid "Video workflow"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Violet"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/SettingsOverlay.tsx
|
#: src/pages/SettingsOverlay.tsx
|
||||||
#: src/pages/shell/bot-panel.tsx
|
#: src/pages/shell/bot-panel.tsx
|
||||||
#: src/pages/shell/composer.tsx
|
#: src/pages/shell/composer.tsx
|
||||||
@ -5113,6 +5385,10 @@ msgstr ""
|
|||||||
msgid "When a webhook fires"
|
msgid "When a webhook fires"
|
||||||
msgstr "Когда срабатывает вебхук"
|
msgstr "Когда срабатывает вебхук"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "When needed"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/lib/onboarding-copy.ts
|
#: src/lib/onboarding-copy.ts
|
||||||
msgid "When should I check in with you?"
|
msgid "When should I check in with you?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -5133,6 +5409,10 @@ msgstr "Когда использовать"
|
|||||||
msgid "Where should bots run?"
|
msgid "Where should bots run?"
|
||||||
msgstr "Где должны работать боты?"
|
msgstr "Где должны работать боты?"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Winged"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/shell/bot-picker.tsx
|
#: src/pages/shell/bot-picker.tsx
|
||||||
msgid "With:"
|
msgid "With:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|||||||
@ -668,6 +668,10 @@ msgstr ""
|
|||||||
msgid "Arguments"
|
msgid "Arguments"
|
||||||
msgstr "Argümanlar"
|
msgstr "Argümanlar"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Arms"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#. placeholder {0}: rule.matchValue
|
#. placeholder {0}: rule.matchValue
|
||||||
#: src/components/ApprovalRulesSettings.tsx
|
#: src/components/ApprovalRulesSettings.tsx
|
||||||
msgid "Ask before {0}"
|
msgid "Ask before {0}"
|
||||||
@ -716,6 +720,10 @@ msgstr "saat {0}"
|
|||||||
msgid "at {timeSelect}"
|
msgid "at {timeSelect}"
|
||||||
msgstr "saat {timeSelect}"
|
msgstr "saat {timeSelect}"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Atelier"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/shell/composer.tsx
|
#: src/pages/shell/composer.tsx
|
||||||
msgid "Attach file"
|
msgid "Attach file"
|
||||||
msgstr "Dosya ekle"
|
msgstr "Dosya ekle"
|
||||||
@ -756,10 +764,6 @@ msgstr ""
|
|||||||
msgid "Available after the routine is saved"
|
msgid "Available after the routine is saved"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/shell/avatar-studio-popover.tsx
|
|
||||||
msgid "Avatar Studio"
|
|
||||||
msgstr "Avatar Stüdyosu"
|
|
||||||
|
|
||||||
#: src/components/browser/InAppBrowser.tsx
|
#: src/components/browser/InAppBrowser.tsx
|
||||||
#: src/components/CookingMode.tsx
|
#: src/components/CookingMode.tsx
|
||||||
#: src/components/onboarding/OnboardingVoiceStep.tsx
|
#: src/components/onboarding/OnboardingVoiceStep.tsx
|
||||||
@ -781,15 +785,35 @@ msgstr ""
|
|||||||
msgid "Base URL"
|
msgid "Base URL"
|
||||||
msgstr "Temel URL"
|
msgstr "Temel URL"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Beanie"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Bear"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/memory-providers/SerenitySettingsForm.tsx
|
#: src/pages/memory-providers/SerenitySettingsForm.tsx
|
||||||
#: src/pages/PluginsOverlay.tsx
|
#: src/pages/PluginsOverlay.tsx
|
||||||
msgid "Bearer token"
|
msgid "Bearer token"
|
||||||
msgstr "Bearer token"
|
msgstr "Bearer token"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Bell"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/NotificationSettingsPanel.tsx
|
#: src/components/NotificationSettingsPanel.tsx
|
||||||
msgid "Blocked in your browser settings"
|
msgid "Blocked in your browser settings"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Blue"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Body"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/shell/computer-screen.tsx
|
#: src/pages/shell/computer-screen.tsx
|
||||||
msgid "Booting live desktop…"
|
msgid "Booting live desktop…"
|
||||||
msgstr "Canlı masaüstü başlatılıyor…"
|
msgstr "Canlı masaüstü başlatılıyor…"
|
||||||
@ -810,7 +834,6 @@ msgstr "Bot"
|
|||||||
|
|
||||||
#: src/pages/IntegrationSetup.tsx
|
#: src/pages/IntegrationSetup.tsx
|
||||||
#: src/pages/Shell.tsx
|
#: src/pages/Shell.tsx
|
||||||
#: src/pages/shell/avatar-studio-popover.tsx
|
|
||||||
msgid "Bot"
|
msgid "Bot"
|
||||||
msgstr "Bot"
|
msgstr "Bot"
|
||||||
|
|
||||||
@ -834,10 +857,26 @@ msgstr "Botlar varsayılan olarak sormadan hareket eder. Yalnızca belirli bir i
|
|||||||
msgid "Bots are working"
|
msgid "Bots are working"
|
||||||
msgstr "Botlar çalışıyor"
|
msgstr "Botlar çalışıyor"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Bow"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Bow tie"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/memory-providers/SerenitySettingsForm.tsx
|
#: src/pages/memory-providers/SerenitySettingsForm.tsx
|
||||||
msgid "Brain label"
|
msgid "Brain label"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Brown"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Brows"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/PluginsOverlay.tsx
|
#: src/pages/PluginsOverlay.tsx
|
||||||
msgid "Browse MCP servers"
|
msgid "Browse MCP servers"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -846,6 +885,14 @@ msgstr ""
|
|||||||
msgid "Browser"
|
msgid "Browser"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Bunny"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Bushy"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/Shell.tsx
|
#: src/pages/Shell.tsx
|
||||||
msgid "Busy"
|
msgid "Busy"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -911,6 +958,10 @@ msgstr "İptal edildi"
|
|||||||
msgid "Cancelled"
|
msgid "Cancelled"
|
||||||
msgstr "İptal edildi"
|
msgstr "İptal edildi"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Cat"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/UserFactEditor.tsx
|
#: src/components/UserFactEditor.tsx
|
||||||
msgid "Category"
|
msgid "Category"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -1006,9 +1057,13 @@ msgstr ""
|
|||||||
msgid "Checkout has local changes. Clean it before updating."
|
msgid "Checkout has local changes. Clean it before updating."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/shell/avatar-studio-popover.tsx
|
#: src/components/OoAtelier.tsx
|
||||||
msgid "Choose a bot shape, color, or upload an image"
|
msgid "Cheeks"
|
||||||
msgstr "Bir bot şekli ve rengi seçin veya görüntü yükleyin"
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Chef's hat"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/MessagingSettingsOverlay.tsx
|
#: src/pages/MessagingSettingsOverlay.tsx
|
||||||
msgid "Choose a bot…"
|
msgid "Choose a bot…"
|
||||||
@ -1026,7 +1081,7 @@ msgstr "Yeni bir parola seçin"
|
|||||||
msgid "Choose an existing folder on this computer. Git remotes are linked automatically when a repository is present."
|
msgid "Choose an existing folder on this computer. Git remotes are linked automatically when a repository is present."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/shell/avatar-studio-popover.tsx
|
#: src/components/OoAtelier.tsx
|
||||||
msgid "Choose file"
|
msgid "Choose file"
|
||||||
msgstr "Dosya seç"
|
msgstr "Dosya seç"
|
||||||
|
|
||||||
@ -1034,6 +1089,10 @@ msgstr "Dosya seç"
|
|||||||
msgid "Choose folder"
|
msgid "Choose folder"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Choose how your Oo looks and moves"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/ModelSettingsOverlay.tsx
|
#: src/pages/ModelSettingsOverlay.tsx
|
||||||
msgid "Choose which connected model Rakazo uses."
|
msgid "Choose which connected model Rakazo uses."
|
||||||
msgstr "Rakazo'nun hangi bağlı modeli kullanacağını seç."
|
msgstr "Rakazo'nun hangi bağlı modeli kullanacağını seç."
|
||||||
@ -1046,6 +1105,10 @@ msgstr ""
|
|||||||
msgid "Choosing the right shape…"
|
msgid "Choosing the right shape…"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Classic"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/shell/dialogs.tsx
|
#: src/pages/shell/dialogs.tsx
|
||||||
msgid "Clear"
|
msgid "Clear"
|
||||||
msgstr "Temizle"
|
msgstr "Temizle"
|
||||||
@ -1076,12 +1139,12 @@ msgstr ""
|
|||||||
msgid "Client secret"
|
msgid "Client secret"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
#: src/pages/KnowledgeSection.tsx
|
#: src/pages/KnowledgeSection.tsx
|
||||||
#: src/pages/MessagingSettingsOverlay.tsx
|
#: src/pages/MessagingSettingsOverlay.tsx
|
||||||
#: src/pages/PeerMessagesOverlay.tsx
|
#: src/pages/PeerMessagesOverlay.tsx
|
||||||
#: src/pages/RoutineEditor.tsx
|
#: src/pages/RoutineEditor.tsx
|
||||||
#: src/pages/Shell.tsx
|
#: src/pages/Shell.tsx
|
||||||
#: src/pages/shell/avatar-studio-popover.tsx
|
|
||||||
#: src/pages/WindowChrome.tsx
|
#: src/pages/WindowChrome.tsx
|
||||||
msgid "Close"
|
msgid "Close"
|
||||||
msgstr "Kapat"
|
msgstr "Kapat"
|
||||||
@ -1165,11 +1228,11 @@ msgstr ""
|
|||||||
msgid "Collapse {0}"
|
msgid "Collapse {0}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/shell/avatar-studio-popover.tsx
|
#: src/components/OoAtelier.tsx
|
||||||
msgid "Color"
|
msgid "Color"
|
||||||
msgstr "Renk"
|
msgstr "Renk"
|
||||||
|
|
||||||
#: src/pages/shell/avatar-studio-popover.tsx
|
#: src/components/OoAtelier.tsx
|
||||||
msgid "Color {color}"
|
msgid "Color {color}"
|
||||||
msgstr "Renk {color}"
|
msgstr "Renk {color}"
|
||||||
|
|
||||||
@ -1846,15 +1909,27 @@ msgstr "Cron"
|
|||||||
msgid "Cron expression"
|
msgid "Cron expression"
|
||||||
msgstr "Cron ifadesi"
|
msgstr "Cron ifadesi"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Crown"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/AccountSettingsOverlay.tsx
|
#: src/pages/AccountSettingsOverlay.tsx
|
||||||
msgid "Current password"
|
msgid "Current password"
|
||||||
msgstr "Mevcut parola"
|
msgstr "Mevcut parola"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Custom color"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/shell/dialogs.tsx
|
#: src/pages/shell/dialogs.tsx
|
||||||
msgid "Customer support"
|
msgid "Customer support"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/shell/avatar-studio-popover.tsx
|
#: src/components/onboarding/OnboardingOoDesigner.tsx
|
||||||
|
msgid "Customize"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
msgid "Customize bot avatar"
|
msgid "Customize bot avatar"
|
||||||
msgstr "Bot avatarını özelleştir"
|
msgstr "Bot avatarını özelleştir"
|
||||||
|
|
||||||
@ -2056,6 +2131,10 @@ msgstr "Docker, ek güvenlik için bilgisayarına erişimi sınırlar. {hostLabe
|
|||||||
msgid "Does not speak"
|
msgid "Does not speak"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Dog"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/HeuteBrief.tsx
|
#: src/pages/HeuteBrief.tsx
|
||||||
msgid "Doing"
|
msgid "Doing"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -2071,10 +2150,10 @@ msgstr ""
|
|||||||
#: src/components/ai/DelegatedTaskCard.tsx
|
#: src/components/ai/DelegatedTaskCard.tsx
|
||||||
#: src/components/CookingMode.tsx
|
#: src/components/CookingMode.tsx
|
||||||
#: src/components/media/MediaCard.tsx
|
#: src/components/media/MediaCard.tsx
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
#: src/components/ThreadCard.tsx
|
#: src/components/ThreadCard.tsx
|
||||||
#: src/pages/HeuteBrief.tsx
|
#: src/pages/HeuteBrief.tsx
|
||||||
#: src/pages/ProjectSessionTimeline.tsx
|
#: src/pages/ProjectSessionTimeline.tsx
|
||||||
#: src/pages/shell/avatar-studio-popover.tsx
|
|
||||||
msgid "Done"
|
msgid "Done"
|
||||||
msgstr "Bitti"
|
msgstr "Bitti"
|
||||||
|
|
||||||
@ -2083,6 +2162,10 @@ msgstr "Bitti"
|
|||||||
msgid "Done"
|
msgid "Done"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Dot"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#. placeholder {0}: props.name
|
#. placeholder {0}: props.name
|
||||||
#: src/components/ArtifactFileCard.tsx
|
#: src/components/ArtifactFileCard.tsx
|
||||||
msgid "Download {0}"
|
msgid "Download {0}"
|
||||||
@ -2120,7 +2203,7 @@ msgstr ""
|
|||||||
msgid "Drag to reorder"
|
msgid "Drag to reorder"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/shell/avatar-studio-popover.tsx
|
#: src/components/OoAtelier.tsx
|
||||||
msgid "Drag, drop, or paste an image"
|
msgid "Drag, drop, or paste an image"
|
||||||
msgstr "Görüntüyü sürükleyip bırakın veya yapıştırın"
|
msgstr "Görüntüyü sürükleyip bırakın veya yapıştırın"
|
||||||
|
|
||||||
@ -2161,6 +2244,10 @@ msgstr "E-posta"
|
|||||||
msgid "Embeddings URL"
|
msgid "Embeddings URL"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Energy"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/ExternalConversationSettings.tsx
|
#: src/pages/ExternalConversationSettings.tsx
|
||||||
msgid "Engage when... Ignore..."
|
msgid "Engage when... Ignore..."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -2288,6 +2375,22 @@ msgstr ""
|
|||||||
msgid "Extra high"
|
msgid "Extra high"
|
||||||
msgstr "Çok yüksek"
|
msgstr "Çok yüksek"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Extras"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Eyeliner"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Eyes"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Eyeshadow"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/UserFactEditor.tsx
|
#: src/components/UserFactEditor.tsx
|
||||||
msgid "Fact"
|
msgid "Fact"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -2345,6 +2448,10 @@ msgstr ""
|
|||||||
msgid "Finding…"
|
msgid "Finding…"
|
||||||
msgstr "Aranıyor…"
|
msgstr "Aranıyor…"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Fine"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#. placeholder {0}: new URL(oauth.verificationUri).hostname
|
#. placeholder {0}: new URL(oauth.verificationUri).hostname
|
||||||
#: src/pages/ModelSettingsOverlay.tsx
|
#: src/pages/ModelSettingsOverlay.tsx
|
||||||
msgid "Finish signing in at <0>{0}</0>. The final page may not load; paste its URL or code here."
|
msgid "Finish signing in at <0>{0}</0>. The final page may not load; paste its URL or code here."
|
||||||
@ -2371,6 +2478,14 @@ msgstr ""
|
|||||||
msgid "Flag unexpected actions"
|
msgid "Flag unexpected actions"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Flick"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Flower"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/PrivacySettingsOverlay.tsx
|
#: src/pages/PrivacySettingsOverlay.tsx
|
||||||
msgid "Fonts loaded locally"
|
msgid "Fonts loaded locally"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -2395,10 +2510,22 @@ msgstr "Parolanızı mı unuttunuz?"
|
|||||||
msgid "Forward"
|
msgid "Forward"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Freckles"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/ModelSettingsOverlay.tsx
|
#: src/pages/ModelSettingsOverlay.tsx
|
||||||
msgid "Free"
|
msgid "Free"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Frog"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Full"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/WindowChrome.tsx
|
#: src/pages/WindowChrome.tsx
|
||||||
msgid "Fullscreen"
|
msgid "Fullscreen"
|
||||||
msgstr "Tam ekran"
|
msgstr "Tam ekran"
|
||||||
@ -2427,10 +2554,22 @@ msgstr ""
|
|||||||
msgid "Getting ready…"
|
msgid "Getting ready…"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Ghost"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/RoutineEditor.tsx
|
#: src/pages/RoutineEditor.tsx
|
||||||
msgid "Git event"
|
msgid "Git event"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Glass"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Glasses"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/ProjectSessionTimeline.tsx
|
#: src/pages/ProjectSessionTimeline.tsx
|
||||||
msgid "Goal"
|
msgid "Goal"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -2445,6 +2584,14 @@ msgstr ""
|
|||||||
msgid "Goals for this project, separate from chat messages. Conversations are below."
|
msgid "Goals for this project, separate from chat messages. Conversations are below."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Gold"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Green"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/stage/OoStage.tsx
|
#: src/components/stage/OoStage.tsx
|
||||||
#: src/pages/MessagingSettingsOverlay.tsx
|
#: src/pages/MessagingSettingsOverlay.tsx
|
||||||
#: src/pages/Shell.tsx
|
#: src/pages/Shell.tsx
|
||||||
@ -2490,6 +2637,10 @@ msgstr ""
|
|||||||
msgid "Hang up, then enter the code on screen."
|
msgid "Hang up, then enter the code on screen."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Hat"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/RoutineEditor.tsx
|
#: src/pages/RoutineEditor.tsx
|
||||||
msgid "header"
|
msgid "header"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -2503,6 +2654,10 @@ msgstr "Üstbilgi adı"
|
|||||||
msgid "Header value"
|
msgid "Header value"
|
||||||
msgstr "Üstbilgi değeri"
|
msgstr "Üstbilgi değeri"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Headphones"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/UserProfileSettings.tsx
|
#: src/components/UserProfileSettings.tsx
|
||||||
msgid "Health"
|
msgid "Health"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -2511,6 +2666,10 @@ msgstr ""
|
|||||||
msgid "Hear a sample"
|
msgid "Hear a sample"
|
||||||
msgstr "Örnek dinle"
|
msgstr "Örnek dinle"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Heart"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/lib/voice-persona-copy.ts
|
#: src/lib/voice-persona-copy.ts
|
||||||
msgid "Here's the read…"
|
msgid "Here's the read…"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -2597,7 +2756,7 @@ msgstr ""
|
|||||||
msgid "Image model"
|
msgid "Image model"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/shell/avatar-studio-popover.tsx
|
#: src/components/OoAtelier.tsx
|
||||||
msgid "Image upload area"
|
msgid "Image upload area"
|
||||||
msgstr "Görüntü yükleme alanı"
|
msgstr "Görüntü yükleme alanı"
|
||||||
|
|
||||||
@ -2671,6 +2830,10 @@ msgstr "Aralık miktarı"
|
|||||||
msgid "Interval unit"
|
msgid "Interval unit"
|
||||||
msgstr "Aralık birimi"
|
msgstr "Aralık birimi"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Iris"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/MemorySettingsOverlay.tsx
|
#: src/pages/MemorySettingsOverlay.tsx
|
||||||
#: src/pages/shell/bot-panel.tsx
|
#: src/pages/shell/bot-panel.tsx
|
||||||
msgid "Isolated"
|
msgid "Isolated"
|
||||||
@ -2710,6 +2873,10 @@ msgstr "Bilgi"
|
|||||||
msgid "Language"
|
msgid "Language"
|
||||||
msgstr "Dil"
|
msgstr "Dil"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Lashes"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/DesktopUpdates.tsx
|
#: src/components/DesktopUpdates.tsx
|
||||||
msgid "Later"
|
msgid "Later"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -2726,6 +2893,10 @@ msgstr ""
|
|||||||
msgid "Light"
|
msgid "Light"
|
||||||
msgstr "Açık"
|
msgstr "Açık"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Lilac"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/shell/bot-capabilities.tsx
|
#: src/pages/shell/bot-capabilities.tsx
|
||||||
msgid "Limit built-in tools"
|
msgid "Limit built-in tools"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -3031,6 +3202,10 @@ msgstr "Küçült"
|
|||||||
msgid "Minimize bots"
|
msgid "Minimize bots"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Mint"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/RoutineSchedule.tsx
|
#: src/pages/RoutineSchedule.tsx
|
||||||
msgid "minute"
|
msgid "minute"
|
||||||
msgstr "dakika"
|
msgstr "dakika"
|
||||||
@ -3080,6 +3255,10 @@ msgstr ""
|
|||||||
msgid "Models from server"
|
msgid "Models from server"
|
||||||
msgstr "Sunucudan gelen modeller"
|
msgstr "Sunucudan gelen modeller"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Monocle"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/RoutineSchedule.tsx
|
#: src/pages/RoutineSchedule.tsx
|
||||||
msgid "Monthly"
|
msgid "Monthly"
|
||||||
msgstr "Aylık"
|
msgstr "Aylık"
|
||||||
@ -3145,6 +3324,10 @@ msgstr "Gruba bir ad ver"
|
|||||||
msgid "Name this routine"
|
msgid "Name this routine"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Neck"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/stage/OoStage.tsx
|
#: src/components/stage/OoStage.tsx
|
||||||
msgid "Needs attention"
|
msgid "Needs attention"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -3168,6 +3351,10 @@ msgstr ""
|
|||||||
msgid "Needs your reply"
|
msgid "Needs your reply"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Nerd"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/shell/bot-panel.tsx
|
#: src/pages/shell/bot-panel.tsx
|
||||||
msgid "New bot"
|
msgid "New bot"
|
||||||
msgstr "Yeni bot"
|
msgstr "Yeni bot"
|
||||||
@ -3359,6 +3546,10 @@ msgstr ""
|
|||||||
msgid "No usage data is sent to third parties"
|
msgid "No usage data is sent to third parties"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "None"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/ScratchpadSection.tsx
|
#: src/pages/ScratchpadSection.tsx
|
||||||
msgid "None yet"
|
msgid "None yet"
|
||||||
msgstr "Henüz yok"
|
msgstr "Henüz yok"
|
||||||
@ -3555,6 +3746,10 @@ msgstr ""
|
|||||||
msgid "Park"
|
msgid "Park"
|
||||||
msgstr "Beklet"
|
msgstr "Beklet"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Party hat"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/AskCard.tsx
|
#: src/components/AskCard.tsx
|
||||||
#: src/pages/AccountSettingsOverlay.tsx
|
#: src/pages/AccountSettingsOverlay.tsx
|
||||||
#: src/pages/Auth.tsx
|
#: src/pages/Auth.tsx
|
||||||
@ -3591,6 +3786,18 @@ msgstr "API anahtarını yapıştır"
|
|||||||
msgid "Paused"
|
msgid "Paused"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Paw"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Peach"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Penguin"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/UserProfileSettings.tsx
|
#: src/components/UserProfileSettings.tsx
|
||||||
msgid "People"
|
msgid "People"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -3615,6 +3822,14 @@ msgstr ""
|
|||||||
msgid "Pin"
|
msgid "Pin"
|
||||||
msgstr "Sabitle"
|
msgstr "Sabitle"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Pink"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Playful"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/VoiceSettingsOverlay.tsx
|
#: src/pages/VoiceSettingsOverlay.tsx
|
||||||
msgid "Playing…"
|
msgid "Playing…"
|
||||||
msgstr "Çalınıyor…"
|
msgstr "Çalınıyor…"
|
||||||
@ -3762,6 +3977,10 @@ msgstr "Yanıtları sesli oku"
|
|||||||
msgid "read-only"
|
msgid "read-only"
|
||||||
msgstr "salt okunur"
|
msgstr "salt okunur"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Reading glasses"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/lib/voice-persona-copy.ts
|
#: src/lib/voice-persona-copy.ts
|
||||||
msgid "Reading the stack trace…"
|
msgid "Reading the stack trace…"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -3976,7 +4195,7 @@ msgstr ""
|
|||||||
|
|
||||||
#: src/components/ComputerMaintenanceActions.tsx
|
#: src/components/ComputerMaintenanceActions.tsx
|
||||||
#: src/components/onboarding/OnboardingOoDesigner.tsx
|
#: src/components/onboarding/OnboardingOoDesigner.tsx
|
||||||
#: src/pages/shell/avatar-studio-popover.tsx
|
#: src/components/OoAtelier.tsx
|
||||||
msgid "Reset"
|
msgid "Reset"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -4042,14 +4261,26 @@ msgstr "İptal et"
|
|||||||
msgid "Riffing"
|
msgid "Riffing"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Robot"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/ExternalConversationSettings.tsx
|
#: src/pages/ExternalConversationSettings.tsx
|
||||||
msgid "Room guidance"
|
msgid "Room guidance"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Rose"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/RoutineEditor.tsx
|
#: src/pages/RoutineEditor.tsx
|
||||||
msgid "Rotate key"
|
msgid "Rotate key"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Round"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/RoutineEditor.tsx
|
#: src/pages/RoutineEditor.tsx
|
||||||
#: src/pages/Shell.tsx
|
#: src/pages/Shell.tsx
|
||||||
#: src/pages/shell/routine-event-line.tsx
|
#: src/pages/shell/routine-event-line.tsx
|
||||||
@ -4164,6 +4395,10 @@ msgstr "Evet ya da hayır de veya bir cümleyle yanıtla."
|
|||||||
msgid "Scanning exposure…"
|
msgid "Scanning exposure…"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Scarf"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/onboarding/OnboardingOoDesigner.tsx
|
#: src/components/onboarding/OnboardingOoDesigner.tsx
|
||||||
msgid "Scene"
|
msgid "Scene"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -4294,10 +4529,15 @@ msgstr "Kurulum yardımı"
|
|||||||
msgid "Setup progress"
|
msgid "Setup progress"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/shell/avatar-studio-popover.tsx
|
#: src/components/OoAtelier.tsx
|
||||||
msgid "Shape"
|
msgid "Shape"
|
||||||
msgstr "Şekil"
|
msgstr "Şekil"
|
||||||
|
|
||||||
|
#. placeholder {0}: shape + 1
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Shape {0}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/lib/voice-persona-copy.ts
|
#: src/lib/voice-persona-copy.ts
|
||||||
msgid "Share what you're imagining — or tell me one thing to refine."
|
msgid "Share what you're imagining — or tell me one thing to refine."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -4415,6 +4655,10 @@ msgstr ""
|
|||||||
msgid "Slack not enabled"
|
msgid "Slack not enabled"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Soft"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/SoftwareUpdateSection.tsx
|
#: src/components/SoftwareUpdateSection.tsx
|
||||||
msgid "Software update"
|
msgid "Software update"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -4444,6 +4688,10 @@ msgstr "Alan varsayılanı"
|
|||||||
msgid "Spaces"
|
msgid "Spaces"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Sparkle"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/shell/transcript.tsx
|
#: src/pages/shell/transcript.tsx
|
||||||
msgid "Speak"
|
msgid "Speak"
|
||||||
msgstr "Seslendir"
|
msgstr "Seslendir"
|
||||||
@ -4478,10 +4726,18 @@ msgstr ""
|
|||||||
msgid "Specialist crew"
|
msgid "Specialist crew"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Species"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/lib/model-tier-label.ts
|
#: src/lib/model-tier-label.ts
|
||||||
msgid "Standard"
|
msgid "Standard"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Star"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/Shell.tsx
|
#: src/pages/Shell.tsx
|
||||||
msgid "Start"
|
msgid "Start"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -4585,6 +4841,10 @@ msgstr ""
|
|||||||
msgid "Stronger together — {0} specialists"
|
msgid "Stronger together — {0} specialists"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Stub"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/shell/transcript.tsx
|
#: src/pages/shell/transcript.tsx
|
||||||
msgid "subagent"
|
msgid "subagent"
|
||||||
msgstr "alt ajan"
|
msgstr "alt ajan"
|
||||||
@ -4597,6 +4857,10 @@ msgstr "Gönder"
|
|||||||
msgid "Summary"
|
msgid "Summary"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Sunglasses"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/ModelSettingsOverlay.tsx
|
#: src/pages/ModelSettingsOverlay.tsx
|
||||||
msgid "Supports images"
|
msgid "Supports images"
|
||||||
msgstr "Görüntüleri destekler"
|
msgstr "Görüntüleri destekler"
|
||||||
@ -4605,6 +4869,10 @@ msgstr "Görüntüleri destekler"
|
|||||||
msgid "Supports thinking"
|
msgid "Supports thinking"
|
||||||
msgstr "Düşünmeyi destekler"
|
msgstr "Düşünmeyi destekler"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Surprise me"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/onboarding/LookPreviewCarousel.tsx
|
#: src/components/onboarding/LookPreviewCarousel.tsx
|
||||||
msgid "Swipe for more looks"
|
msgid "Swipe for more looks"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -4921,7 +5189,7 @@ msgstr ""
|
|||||||
msgid "Updating…"
|
msgid "Updating…"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/shell/avatar-studio-popover.tsx
|
#: src/components/OoAtelier.tsx
|
||||||
msgid "Upload"
|
msgid "Upload"
|
||||||
msgstr "Yükle"
|
msgstr "Yükle"
|
||||||
|
|
||||||
@ -4967,6 +5235,10 @@ msgstr "Doğrulanıyor…"
|
|||||||
msgid "Video workflow"
|
msgid "Video workflow"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Violet"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/SettingsOverlay.tsx
|
#: src/pages/SettingsOverlay.tsx
|
||||||
#: src/pages/shell/bot-panel.tsx
|
#: src/pages/shell/bot-panel.tsx
|
||||||
#: src/pages/shell/composer.tsx
|
#: src/pages/shell/composer.tsx
|
||||||
@ -5113,6 +5385,10 @@ msgstr ""
|
|||||||
msgid "When a webhook fires"
|
msgid "When a webhook fires"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "When needed"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/lib/onboarding-copy.ts
|
#: src/lib/onboarding-copy.ts
|
||||||
msgid "When should I check in with you?"
|
msgid "When should I check in with you?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -5133,6 +5409,10 @@ msgstr "Ne zaman kullanılır"
|
|||||||
msgid "Where should bots run?"
|
msgid "Where should bots run?"
|
||||||
msgstr "Botlar nerede çalışsın?"
|
msgstr "Botlar nerede çalışsın?"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Winged"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/shell/bot-picker.tsx
|
#: src/pages/shell/bot-picker.tsx
|
||||||
msgid "With:"
|
msgid "With:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|||||||
@ -668,6 +668,10 @@ msgstr ""
|
|||||||
msgid "Arguments"
|
msgid "Arguments"
|
||||||
msgstr "参数"
|
msgstr "参数"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Arms"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#. placeholder {0}: rule.matchValue
|
#. placeholder {0}: rule.matchValue
|
||||||
#: src/components/ApprovalRulesSettings.tsx
|
#: src/components/ApprovalRulesSettings.tsx
|
||||||
msgid "Ask before {0}"
|
msgid "Ask before {0}"
|
||||||
@ -716,6 +720,10 @@ msgstr "{0}"
|
|||||||
msgid "at {timeSelect}"
|
msgid "at {timeSelect}"
|
||||||
msgstr "{timeSelect}"
|
msgstr "{timeSelect}"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Atelier"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/shell/composer.tsx
|
#: src/pages/shell/composer.tsx
|
||||||
msgid "Attach file"
|
msgid "Attach file"
|
||||||
msgstr "附加文件"
|
msgstr "附加文件"
|
||||||
@ -756,10 +764,6 @@ msgstr ""
|
|||||||
msgid "Available after the routine is saved"
|
msgid "Available after the routine is saved"
|
||||||
msgstr "保存例行任务后可用"
|
msgstr "保存例行任务后可用"
|
||||||
|
|
||||||
#: src/pages/shell/avatar-studio-popover.tsx
|
|
||||||
msgid "Avatar Studio"
|
|
||||||
msgstr "头像工作室"
|
|
||||||
|
|
||||||
#: src/components/browser/InAppBrowser.tsx
|
#: src/components/browser/InAppBrowser.tsx
|
||||||
#: src/components/CookingMode.tsx
|
#: src/components/CookingMode.tsx
|
||||||
#: src/components/onboarding/OnboardingVoiceStep.tsx
|
#: src/components/onboarding/OnboardingVoiceStep.tsx
|
||||||
@ -781,15 +785,35 @@ msgstr ""
|
|||||||
msgid "Base URL"
|
msgid "Base URL"
|
||||||
msgstr "Base URL"
|
msgstr "Base URL"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Beanie"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Bear"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/memory-providers/SerenitySettingsForm.tsx
|
#: src/pages/memory-providers/SerenitySettingsForm.tsx
|
||||||
#: src/pages/PluginsOverlay.tsx
|
#: src/pages/PluginsOverlay.tsx
|
||||||
msgid "Bearer token"
|
msgid "Bearer token"
|
||||||
msgstr "Bearer token"
|
msgstr "Bearer token"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Bell"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/NotificationSettingsPanel.tsx
|
#: src/components/NotificationSettingsPanel.tsx
|
||||||
msgid "Blocked in your browser settings"
|
msgid "Blocked in your browser settings"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Blue"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Body"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/shell/computer-screen.tsx
|
#: src/pages/shell/computer-screen.tsx
|
||||||
msgid "Booting live desktop…"
|
msgid "Booting live desktop…"
|
||||||
msgstr "正在启动实时桌面…"
|
msgstr "正在启动实时桌面…"
|
||||||
@ -810,7 +834,6 @@ msgstr "Bot"
|
|||||||
|
|
||||||
#: src/pages/IntegrationSetup.tsx
|
#: src/pages/IntegrationSetup.tsx
|
||||||
#: src/pages/Shell.tsx
|
#: src/pages/Shell.tsx
|
||||||
#: src/pages/shell/avatar-studio-popover.tsx
|
|
||||||
msgid "Bot"
|
msgid "Bot"
|
||||||
msgstr "Bot"
|
msgstr "Bot"
|
||||||
|
|
||||||
@ -834,10 +857,26 @@ msgstr "默认情况下 Bot 会直接执行。只有当你想先审核某类操
|
|||||||
msgid "Bots are working"
|
msgid "Bots are working"
|
||||||
msgstr "Bot 正在工作"
|
msgstr "Bot 正在工作"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Bow"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Bow tie"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/memory-providers/SerenitySettingsForm.tsx
|
#: src/pages/memory-providers/SerenitySettingsForm.tsx
|
||||||
msgid "Brain label"
|
msgid "Brain label"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Brown"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Brows"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/PluginsOverlay.tsx
|
#: src/pages/PluginsOverlay.tsx
|
||||||
msgid "Browse MCP servers"
|
msgid "Browse MCP servers"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -846,6 +885,14 @@ msgstr ""
|
|||||||
msgid "Browser"
|
msgid "Browser"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Bunny"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Bushy"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/Shell.tsx
|
#: src/pages/Shell.tsx
|
||||||
msgid "Busy"
|
msgid "Busy"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -911,6 +958,10 @@ msgstr "已取消"
|
|||||||
msgid "Cancelled"
|
msgid "Cancelled"
|
||||||
msgstr "已取消"
|
msgstr "已取消"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Cat"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/UserFactEditor.tsx
|
#: src/components/UserFactEditor.tsx
|
||||||
msgid "Category"
|
msgid "Category"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -1006,9 +1057,13 @@ msgstr "正在检查…"
|
|||||||
msgid "Checkout has local changes. Clean it before updating."
|
msgid "Checkout has local changes. Clean it before updating."
|
||||||
msgstr "工作副本有本地更改。请先清理再更新。"
|
msgstr "工作副本有本地更改。请先清理再更新。"
|
||||||
|
|
||||||
#: src/pages/shell/avatar-studio-popover.tsx
|
#: src/components/OoAtelier.tsx
|
||||||
msgid "Choose a bot shape, color, or upload an image"
|
msgid "Cheeks"
|
||||||
msgstr "选择机器人形状和颜色,或上传图片"
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Chef's hat"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/MessagingSettingsOverlay.tsx
|
#: src/pages/MessagingSettingsOverlay.tsx
|
||||||
msgid "Choose a bot…"
|
msgid "Choose a bot…"
|
||||||
@ -1026,7 +1081,7 @@ msgstr "设置新密码"
|
|||||||
msgid "Choose an existing folder on this computer. Git remotes are linked automatically when a repository is present."
|
msgid "Choose an existing folder on this computer. Git remotes are linked automatically when a repository is present."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/shell/avatar-studio-popover.tsx
|
#: src/components/OoAtelier.tsx
|
||||||
msgid "Choose file"
|
msgid "Choose file"
|
||||||
msgstr "选择文件"
|
msgstr "选择文件"
|
||||||
|
|
||||||
@ -1034,6 +1089,10 @@ msgstr "选择文件"
|
|||||||
msgid "Choose folder"
|
msgid "Choose folder"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Choose how your Oo looks and moves"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/ModelSettingsOverlay.tsx
|
#: src/pages/ModelSettingsOverlay.tsx
|
||||||
msgid "Choose which connected model Rakazo uses."
|
msgid "Choose which connected model Rakazo uses."
|
||||||
msgstr "选择 Rakazo 使用的已连接模型。"
|
msgstr "选择 Rakazo 使用的已连接模型。"
|
||||||
@ -1046,6 +1105,10 @@ msgstr ""
|
|||||||
msgid "Choosing the right shape…"
|
msgid "Choosing the right shape…"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Classic"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/shell/dialogs.tsx
|
#: src/pages/shell/dialogs.tsx
|
||||||
msgid "Clear"
|
msgid "Clear"
|
||||||
msgstr "清空"
|
msgstr "清空"
|
||||||
@ -1076,12 +1139,12 @@ msgstr ""
|
|||||||
msgid "Client secret"
|
msgid "Client secret"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
#: src/pages/KnowledgeSection.tsx
|
#: src/pages/KnowledgeSection.tsx
|
||||||
#: src/pages/MessagingSettingsOverlay.tsx
|
#: src/pages/MessagingSettingsOverlay.tsx
|
||||||
#: src/pages/PeerMessagesOverlay.tsx
|
#: src/pages/PeerMessagesOverlay.tsx
|
||||||
#: src/pages/RoutineEditor.tsx
|
#: src/pages/RoutineEditor.tsx
|
||||||
#: src/pages/Shell.tsx
|
#: src/pages/Shell.tsx
|
||||||
#: src/pages/shell/avatar-studio-popover.tsx
|
|
||||||
#: src/pages/WindowChrome.tsx
|
#: src/pages/WindowChrome.tsx
|
||||||
msgid "Close"
|
msgid "Close"
|
||||||
msgstr "关闭"
|
msgstr "关闭"
|
||||||
@ -1165,11 +1228,11 @@ msgstr ""
|
|||||||
msgid "Collapse {0}"
|
msgid "Collapse {0}"
|
||||||
msgstr "折叠 {0}"
|
msgstr "折叠 {0}"
|
||||||
|
|
||||||
#: src/pages/shell/avatar-studio-popover.tsx
|
#: src/components/OoAtelier.tsx
|
||||||
msgid "Color"
|
msgid "Color"
|
||||||
msgstr "颜色"
|
msgstr "颜色"
|
||||||
|
|
||||||
#: src/pages/shell/avatar-studio-popover.tsx
|
#: src/components/OoAtelier.tsx
|
||||||
msgid "Color {color}"
|
msgid "Color {color}"
|
||||||
msgstr "颜色 {color}"
|
msgstr "颜色 {color}"
|
||||||
|
|
||||||
@ -1846,15 +1909,27 @@ msgstr "Cron"
|
|||||||
msgid "Cron expression"
|
msgid "Cron expression"
|
||||||
msgstr "Cron 表达式"
|
msgstr "Cron 表达式"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Crown"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/AccountSettingsOverlay.tsx
|
#: src/pages/AccountSettingsOverlay.tsx
|
||||||
msgid "Current password"
|
msgid "Current password"
|
||||||
msgstr "当前密码"
|
msgstr "当前密码"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Custom color"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/shell/dialogs.tsx
|
#: src/pages/shell/dialogs.tsx
|
||||||
msgid "Customer support"
|
msgid "Customer support"
|
||||||
msgstr "客户支持"
|
msgstr "客户支持"
|
||||||
|
|
||||||
#: src/pages/shell/avatar-studio-popover.tsx
|
#: src/components/onboarding/OnboardingOoDesigner.tsx
|
||||||
|
msgid "Customize"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
msgid "Customize bot avatar"
|
msgid "Customize bot avatar"
|
||||||
msgstr "自定义机器人头像"
|
msgstr "自定义机器人头像"
|
||||||
|
|
||||||
@ -2056,6 +2131,10 @@ msgstr "Docker 限制对你电脑的访问,以提高安全性。使用{hostLab
|
|||||||
msgid "Does not speak"
|
msgid "Does not speak"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Dog"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/HeuteBrief.tsx
|
#: src/pages/HeuteBrief.tsx
|
||||||
msgid "Doing"
|
msgid "Doing"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -2071,10 +2150,10 @@ msgstr ""
|
|||||||
#: src/components/ai/DelegatedTaskCard.tsx
|
#: src/components/ai/DelegatedTaskCard.tsx
|
||||||
#: src/components/CookingMode.tsx
|
#: src/components/CookingMode.tsx
|
||||||
#: src/components/media/MediaCard.tsx
|
#: src/components/media/MediaCard.tsx
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
#: src/components/ThreadCard.tsx
|
#: src/components/ThreadCard.tsx
|
||||||
#: src/pages/HeuteBrief.tsx
|
#: src/pages/HeuteBrief.tsx
|
||||||
#: src/pages/ProjectSessionTimeline.tsx
|
#: src/pages/ProjectSessionTimeline.tsx
|
||||||
#: src/pages/shell/avatar-studio-popover.tsx
|
|
||||||
msgid "Done"
|
msgid "Done"
|
||||||
msgstr "完成"
|
msgstr "完成"
|
||||||
|
|
||||||
@ -2083,6 +2162,10 @@ msgstr "完成"
|
|||||||
msgid "Done"
|
msgid "Done"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Dot"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#. placeholder {0}: props.name
|
#. placeholder {0}: props.name
|
||||||
#: src/components/ArtifactFileCard.tsx
|
#: src/components/ArtifactFileCard.tsx
|
||||||
msgid "Download {0}"
|
msgid "Download {0}"
|
||||||
@ -2120,7 +2203,7 @@ msgstr ""
|
|||||||
msgid "Drag to reorder"
|
msgid "Drag to reorder"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/shell/avatar-studio-popover.tsx
|
#: src/components/OoAtelier.tsx
|
||||||
msgid "Drag, drop, or paste an image"
|
msgid "Drag, drop, or paste an image"
|
||||||
msgstr "拖放或粘贴图片"
|
msgstr "拖放或粘贴图片"
|
||||||
|
|
||||||
@ -2161,6 +2244,10 @@ msgstr "邮箱"
|
|||||||
msgid "Embeddings URL"
|
msgid "Embeddings URL"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Energy"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/ExternalConversationSettings.tsx
|
#: src/pages/ExternalConversationSettings.tsx
|
||||||
msgid "Engage when... Ignore..."
|
msgid "Engage when... Ignore..."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -2288,6 +2375,22 @@ msgstr ""
|
|||||||
msgid "Extra high"
|
msgid "Extra high"
|
||||||
msgstr "极高"
|
msgstr "极高"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Extras"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Eyeliner"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Eyes"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Eyeshadow"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/UserFactEditor.tsx
|
#: src/components/UserFactEditor.tsx
|
||||||
msgid "Fact"
|
msgid "Fact"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -2345,6 +2448,10 @@ msgstr ""
|
|||||||
msgid "Finding…"
|
msgid "Finding…"
|
||||||
msgstr "正在查找…"
|
msgstr "正在查找…"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Fine"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#. placeholder {0}: new URL(oauth.verificationUri).hostname
|
#. placeholder {0}: new URL(oauth.verificationUri).hostname
|
||||||
#: src/pages/ModelSettingsOverlay.tsx
|
#: src/pages/ModelSettingsOverlay.tsx
|
||||||
msgid "Finish signing in at <0>{0}</0>. The final page may not load; paste its URL or code here."
|
msgid "Finish signing in at <0>{0}</0>. The final page may not load; paste its URL or code here."
|
||||||
@ -2371,6 +2478,14 @@ msgstr ""
|
|||||||
msgid "Flag unexpected actions"
|
msgid "Flag unexpected actions"
|
||||||
msgstr "标记异常操作"
|
msgstr "标记异常操作"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Flick"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Flower"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/PrivacySettingsOverlay.tsx
|
#: src/pages/PrivacySettingsOverlay.tsx
|
||||||
msgid "Fonts loaded locally"
|
msgid "Fonts loaded locally"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -2395,10 +2510,22 @@ msgstr "忘记密码?"
|
|||||||
msgid "Forward"
|
msgid "Forward"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Freckles"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/ModelSettingsOverlay.tsx
|
#: src/pages/ModelSettingsOverlay.tsx
|
||||||
msgid "Free"
|
msgid "Free"
|
||||||
msgstr "免费"
|
msgstr "免费"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Frog"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Full"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/WindowChrome.tsx
|
#: src/pages/WindowChrome.tsx
|
||||||
msgid "Fullscreen"
|
msgid "Fullscreen"
|
||||||
msgstr "全屏"
|
msgstr "全屏"
|
||||||
@ -2427,10 +2554,22 @@ msgstr ""
|
|||||||
msgid "Getting ready…"
|
msgid "Getting ready…"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Ghost"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/RoutineEditor.tsx
|
#: src/pages/RoutineEditor.tsx
|
||||||
msgid "Git event"
|
msgid "Git event"
|
||||||
msgstr "Git 事件"
|
msgstr "Git 事件"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Glass"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Glasses"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/ProjectSessionTimeline.tsx
|
#: src/pages/ProjectSessionTimeline.tsx
|
||||||
msgid "Goal"
|
msgid "Goal"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -2445,6 +2584,14 @@ msgstr ""
|
|||||||
msgid "Goals for this project, separate from chat messages. Conversations are below."
|
msgid "Goals for this project, separate from chat messages. Conversations are below."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Gold"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Green"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/stage/OoStage.tsx
|
#: src/components/stage/OoStage.tsx
|
||||||
#: src/pages/MessagingSettingsOverlay.tsx
|
#: src/pages/MessagingSettingsOverlay.tsx
|
||||||
#: src/pages/Shell.tsx
|
#: src/pages/Shell.tsx
|
||||||
@ -2490,6 +2637,10 @@ msgstr "请先挂断,然后输入屏幕上的代码。"
|
|||||||
msgid "Hang up, then enter the code on screen."
|
msgid "Hang up, then enter the code on screen."
|
||||||
msgstr "请挂断,然后输入屏幕上的代码。"
|
msgstr "请挂断,然后输入屏幕上的代码。"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Hat"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/RoutineEditor.tsx
|
#: src/pages/RoutineEditor.tsx
|
||||||
msgid "header"
|
msgid "header"
|
||||||
msgstr "请求头"
|
msgstr "请求头"
|
||||||
@ -2503,6 +2654,10 @@ msgstr "请求头名称"
|
|||||||
msgid "Header value"
|
msgid "Header value"
|
||||||
msgstr "请求头值"
|
msgstr "请求头值"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Headphones"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/UserProfileSettings.tsx
|
#: src/components/UserProfileSettings.tsx
|
||||||
msgid "Health"
|
msgid "Health"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -2511,6 +2666,10 @@ msgstr ""
|
|||||||
msgid "Hear a sample"
|
msgid "Hear a sample"
|
||||||
msgstr "试听"
|
msgstr "试听"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Heart"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/lib/voice-persona-copy.ts
|
#: src/lib/voice-persona-copy.ts
|
||||||
msgid "Here's the read…"
|
msgid "Here's the read…"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -2597,7 +2756,7 @@ msgstr ""
|
|||||||
msgid "Image model"
|
msgid "Image model"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/shell/avatar-studio-popover.tsx
|
#: src/components/OoAtelier.tsx
|
||||||
msgid "Image upload area"
|
msgid "Image upload area"
|
||||||
msgstr "图片上传区域"
|
msgstr "图片上传区域"
|
||||||
|
|
||||||
@ -2671,6 +2830,10 @@ msgstr "间隔数量"
|
|||||||
msgid "Interval unit"
|
msgid "Interval unit"
|
||||||
msgstr "间隔单位"
|
msgstr "间隔单位"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Iris"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/MemorySettingsOverlay.tsx
|
#: src/pages/MemorySettingsOverlay.tsx
|
||||||
#: src/pages/shell/bot-panel.tsx
|
#: src/pages/shell/bot-panel.tsx
|
||||||
msgid "Isolated"
|
msgid "Isolated"
|
||||||
@ -2710,6 +2873,10 @@ msgstr "知识"
|
|||||||
msgid "Language"
|
msgid "Language"
|
||||||
msgstr "语言"
|
msgstr "语言"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Lashes"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/DesktopUpdates.tsx
|
#: src/components/DesktopUpdates.tsx
|
||||||
msgid "Later"
|
msgid "Later"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -2726,6 +2893,10 @@ msgstr ""
|
|||||||
msgid "Light"
|
msgid "Light"
|
||||||
msgstr "浅色"
|
msgstr "浅色"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Lilac"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/shell/bot-capabilities.tsx
|
#: src/pages/shell/bot-capabilities.tsx
|
||||||
msgid "Limit built-in tools"
|
msgid "Limit built-in tools"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -3031,6 +3202,10 @@ msgstr "最小化"
|
|||||||
msgid "Minimize bots"
|
msgid "Minimize bots"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Mint"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/RoutineSchedule.tsx
|
#: src/pages/RoutineSchedule.tsx
|
||||||
msgid "minute"
|
msgid "minute"
|
||||||
msgstr "分钟"
|
msgstr "分钟"
|
||||||
@ -3080,6 +3255,10 @@ msgstr ""
|
|||||||
msgid "Models from server"
|
msgid "Models from server"
|
||||||
msgstr "来自服务器的模型"
|
msgstr "来自服务器的模型"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Monocle"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/RoutineSchedule.tsx
|
#: src/pages/RoutineSchedule.tsx
|
||||||
msgid "Monthly"
|
msgid "Monthly"
|
||||||
msgstr "每月"
|
msgstr "每月"
|
||||||
@ -3145,6 +3324,10 @@ msgstr "给这个群组命名"
|
|||||||
msgid "Name this routine"
|
msgid "Name this routine"
|
||||||
msgstr "给这个例行任务命名"
|
msgstr "给这个例行任务命名"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Neck"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/stage/OoStage.tsx
|
#: src/components/stage/OoStage.tsx
|
||||||
msgid "Needs attention"
|
msgid "Needs attention"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -3168,6 +3351,10 @@ msgstr ""
|
|||||||
msgid "Needs your reply"
|
msgid "Needs your reply"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Nerd"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/shell/bot-panel.tsx
|
#: src/pages/shell/bot-panel.tsx
|
||||||
msgid "New bot"
|
msgid "New bot"
|
||||||
msgstr "新建 Bot"
|
msgstr "新建 Bot"
|
||||||
@ -3359,6 +3546,10 @@ msgstr "无触发器"
|
|||||||
msgid "No usage data is sent to third parties"
|
msgid "No usage data is sent to third parties"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "None"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/ScratchpadSection.tsx
|
#: src/pages/ScratchpadSection.tsx
|
||||||
msgid "None yet"
|
msgid "None yet"
|
||||||
msgstr "暂无"
|
msgstr "暂无"
|
||||||
@ -3555,6 +3746,10 @@ msgstr "PagerDuty 事件"
|
|||||||
msgid "Park"
|
msgid "Park"
|
||||||
msgstr "搁置"
|
msgstr "搁置"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Party hat"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/AskCard.tsx
|
#: src/components/AskCard.tsx
|
||||||
#: src/pages/AccountSettingsOverlay.tsx
|
#: src/pages/AccountSettingsOverlay.tsx
|
||||||
#: src/pages/Auth.tsx
|
#: src/pages/Auth.tsx
|
||||||
@ -3591,6 +3786,18 @@ msgstr "粘贴你的 API 密钥"
|
|||||||
msgid "Paused"
|
msgid "Paused"
|
||||||
msgstr "已暂停"
|
msgstr "已暂停"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Paw"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Peach"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Penguin"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/UserProfileSettings.tsx
|
#: src/components/UserProfileSettings.tsx
|
||||||
msgid "People"
|
msgid "People"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -3615,6 +3822,14 @@ msgstr ""
|
|||||||
msgid "Pin"
|
msgid "Pin"
|
||||||
msgstr "置顶"
|
msgstr "置顶"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Pink"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Playful"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/VoiceSettingsOverlay.tsx
|
#: src/pages/VoiceSettingsOverlay.tsx
|
||||||
msgid "Playing…"
|
msgid "Playing…"
|
||||||
msgstr "播放中…"
|
msgstr "播放中…"
|
||||||
@ -3762,6 +3977,10 @@ msgstr "朗读回复"
|
|||||||
msgid "read-only"
|
msgid "read-only"
|
||||||
msgstr "只读"
|
msgstr "只读"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Reading glasses"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/lib/voice-persona-copy.ts
|
#: src/lib/voice-persona-copy.ts
|
||||||
msgid "Reading the stack trace…"
|
msgid "Reading the stack trace…"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -3976,7 +4195,7 @@ msgstr ""
|
|||||||
|
|
||||||
#: src/components/ComputerMaintenanceActions.tsx
|
#: src/components/ComputerMaintenanceActions.tsx
|
||||||
#: src/components/onboarding/OnboardingOoDesigner.tsx
|
#: src/components/onboarding/OnboardingOoDesigner.tsx
|
||||||
#: src/pages/shell/avatar-studio-popover.tsx
|
#: src/components/OoAtelier.tsx
|
||||||
msgid "Reset"
|
msgid "Reset"
|
||||||
msgstr "重置"
|
msgstr "重置"
|
||||||
|
|
||||||
@ -4042,14 +4261,26 @@ msgstr "撤销"
|
|||||||
msgid "Riffing"
|
msgid "Riffing"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Robot"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/ExternalConversationSettings.tsx
|
#: src/pages/ExternalConversationSettings.tsx
|
||||||
msgid "Room guidance"
|
msgid "Room guidance"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Rose"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/RoutineEditor.tsx
|
#: src/pages/RoutineEditor.tsx
|
||||||
msgid "Rotate key"
|
msgid "Rotate key"
|
||||||
msgstr "轮换密钥"
|
msgstr "轮换密钥"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Round"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/RoutineEditor.tsx
|
#: src/pages/RoutineEditor.tsx
|
||||||
#: src/pages/Shell.tsx
|
#: src/pages/Shell.tsx
|
||||||
#: src/pages/shell/routine-event-line.tsx
|
#: src/pages/shell/routine-event-line.tsx
|
||||||
@ -4164,6 +4395,10 @@ msgstr "回答是或否,或一句话说明。"
|
|||||||
msgid "Scanning exposure…"
|
msgid "Scanning exposure…"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Scarf"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/onboarding/OnboardingOoDesigner.tsx
|
#: src/components/onboarding/OnboardingOoDesigner.tsx
|
||||||
msgid "Scene"
|
msgid "Scene"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -4294,10 +4529,15 @@ msgstr "设置帮助"
|
|||||||
msgid "Setup progress"
|
msgid "Setup progress"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/shell/avatar-studio-popover.tsx
|
#: src/components/OoAtelier.tsx
|
||||||
msgid "Shape"
|
msgid "Shape"
|
||||||
msgstr "形状"
|
msgstr "形状"
|
||||||
|
|
||||||
|
#. placeholder {0}: shape + 1
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Shape {0}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/lib/voice-persona-copy.ts
|
#: src/lib/voice-persona-copy.ts
|
||||||
msgid "Share what you're imagining — or tell me one thing to refine."
|
msgid "Share what you're imagining — or tell me one thing to refine."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -4415,6 +4655,10 @@ msgstr "Slack 消息"
|
|||||||
msgid "Slack not enabled"
|
msgid "Slack not enabled"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Soft"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/SoftwareUpdateSection.tsx
|
#: src/components/SoftwareUpdateSection.tsx
|
||||||
msgid "Software update"
|
msgid "Software update"
|
||||||
msgstr "软件更新"
|
msgstr "软件更新"
|
||||||
@ -4444,6 +4688,10 @@ msgstr "工作区默认"
|
|||||||
msgid "Spaces"
|
msgid "Spaces"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Sparkle"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/shell/transcript.tsx
|
#: src/pages/shell/transcript.tsx
|
||||||
msgid "Speak"
|
msgid "Speak"
|
||||||
msgstr "朗读"
|
msgstr "朗读"
|
||||||
@ -4478,10 +4726,18 @@ msgstr ""
|
|||||||
msgid "Specialist crew"
|
msgid "Specialist crew"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Species"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/lib/model-tier-label.ts
|
#: src/lib/model-tier-label.ts
|
||||||
msgid "Standard"
|
msgid "Standard"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Star"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/Shell.tsx
|
#: src/pages/Shell.tsx
|
||||||
msgid "Start"
|
msgid "Start"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -4585,6 +4841,10 @@ msgstr ""
|
|||||||
msgid "Stronger together — {0} specialists"
|
msgid "Stronger together — {0} specialists"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Stub"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/shell/transcript.tsx
|
#: src/pages/shell/transcript.tsx
|
||||||
msgid "subagent"
|
msgid "subagent"
|
||||||
msgstr "子 Agent"
|
msgstr "子 Agent"
|
||||||
@ -4597,6 +4857,10 @@ msgstr "提交"
|
|||||||
msgid "Summary"
|
msgid "Summary"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Sunglasses"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/ModelSettingsOverlay.tsx
|
#: src/pages/ModelSettingsOverlay.tsx
|
||||||
msgid "Supports images"
|
msgid "Supports images"
|
||||||
msgstr "支持图片"
|
msgstr "支持图片"
|
||||||
@ -4605,6 +4869,10 @@ msgstr "支持图片"
|
|||||||
msgid "Supports thinking"
|
msgid "Supports thinking"
|
||||||
msgstr "支持思考"
|
msgstr "支持思考"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Surprise me"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/onboarding/LookPreviewCarousel.tsx
|
#: src/components/onboarding/LookPreviewCarousel.tsx
|
||||||
msgid "Swipe for more looks"
|
msgid "Swipe for more looks"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -4921,7 +5189,7 @@ msgstr ""
|
|||||||
msgid "Updating…"
|
msgid "Updating…"
|
||||||
msgstr "正在更新…"
|
msgstr "正在更新…"
|
||||||
|
|
||||||
#: src/pages/shell/avatar-studio-popover.tsx
|
#: src/components/OoAtelier.tsx
|
||||||
msgid "Upload"
|
msgid "Upload"
|
||||||
msgstr "上传"
|
msgstr "上传"
|
||||||
|
|
||||||
@ -4967,6 +5235,10 @@ msgstr "正在校验…"
|
|||||||
msgid "Video workflow"
|
msgid "Video workflow"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Violet"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/SettingsOverlay.tsx
|
#: src/pages/SettingsOverlay.tsx
|
||||||
#: src/pages/shell/bot-panel.tsx
|
#: src/pages/shell/bot-panel.tsx
|
||||||
#: src/pages/shell/composer.tsx
|
#: src/pages/shell/composer.tsx
|
||||||
@ -5113,6 +5385,10 @@ msgstr ""
|
|||||||
msgid "When a webhook fires"
|
msgid "When a webhook fires"
|
||||||
msgstr "当 Webhook 触发时"
|
msgstr "当 Webhook 触发时"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "When needed"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/lib/onboarding-copy.ts
|
#: src/lib/onboarding-copy.ts
|
||||||
msgid "When should I check in with you?"
|
msgid "When should I check in with you?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -5133,6 +5409,10 @@ msgstr "何时使用"
|
|||||||
msgid "Where should bots run?"
|
msgid "Where should bots run?"
|
||||||
msgstr "Bot 应在哪里运行?"
|
msgstr "Bot 应在哪里运行?"
|
||||||
|
|
||||||
|
#: src/components/OoAtelier.tsx
|
||||||
|
msgid "Winged"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/shell/bot-picker.tsx
|
#: src/pages/shell/bot-picker.tsx
|
||||||
msgid "With:"
|
msgid "With:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|||||||
@ -34,21 +34,9 @@ function enterMainConversation(main: MainConversationRef): string {
|
|||||||
|
|
||||||
function defaultEmojiConfig(): OnboardingEmojiConfig {
|
function defaultEmojiConfig(): OnboardingEmojiConfig {
|
||||||
const preset = findLookCategory("calm").looks[0];
|
const preset = findLookCategory("calm").looks[0];
|
||||||
if (!preset) {
|
|
||||||
return {
|
return {
|
||||||
color: "#8B5CF6",
|
pose: preset?.pose ?? "idle",
|
||||||
shapeIndex: 0,
|
avatarValue: preset ? lookPresetToAvatarValue(preset) : "oo1:c=8B5CF6",
|
||||||
accessory: "none",
|
|
||||||
pose: "idle",
|
|
||||||
avatarValue: "#8B5CF6::shape_0",
|
|
||||||
};
|
|
||||||
}
|
|
||||||
return {
|
|
||||||
color: preset.color,
|
|
||||||
shapeIndex: preset.shapeIndex,
|
|
||||||
accessory: "none",
|
|
||||||
pose: preset.pose,
|
|
||||||
avatarValue: lookPresetToAvatarValue(preset),
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -1,289 +0,0 @@
|
|||||||
import { t } from "@lingui/core/macro";
|
|
||||||
import { Trans } from "@lingui/react/macro";
|
|
||||||
import { OO_DEFAULT_COLOR, OO_PALETTE_HEXES } from "@rakazo/core";
|
|
||||||
import {
|
|
||||||
BotAvatar,
|
|
||||||
Dialog,
|
|
||||||
DialogContent,
|
|
||||||
DialogDescription,
|
|
||||||
DialogFooter,
|
|
||||||
DialogHeader,
|
|
||||||
DialogTitle,
|
|
||||||
OoShapePreview,
|
|
||||||
parseBotAvatar,
|
|
||||||
} from "@rakazo/ui-web";
|
|
||||||
import { Check, Pencil, Upload, X } from "lucide-react";
|
|
||||||
import { type ClipboardEvent, type DragEvent, useRef, useState } from "react";
|
|
||||||
|
|
||||||
export interface AvatarStudioPopoverProps {
|
|
||||||
value: string;
|
|
||||||
identity?: string;
|
|
||||||
status?: string;
|
|
||||||
size?: number;
|
|
||||||
onChange: (value: string) => void;
|
|
||||||
disabled?: boolean;
|
|
||||||
}
|
|
||||||
|
|
||||||
export function AvatarStudioPopover({
|
|
||||||
value,
|
|
||||||
identity,
|
|
||||||
status,
|
|
||||||
size = 72,
|
|
||||||
onChange,
|
|
||||||
disabled = false,
|
|
||||||
}: AvatarStudioPopoverProps) {
|
|
||||||
const [open, setOpen] = useState(false);
|
|
||||||
const [activeTab, setActiveTab] = useState<"bot" | "upload">("bot");
|
|
||||||
const [dragOver, setDragOver] = useState(false);
|
|
||||||
const fileInputRef = useRef<HTMLInputElement>(null);
|
|
||||||
|
|
||||||
const parsed = parseBotAvatar(value, identity);
|
|
||||||
const currentColor = parsed.color || OO_DEFAULT_COLOR;
|
|
||||||
const currentShape = parsed.shapeIndex ?? 0;
|
|
||||||
|
|
||||||
function selectShape(shapeIndex: number) {
|
|
||||||
onChange(`${currentColor}::shape_${shapeIndex}`);
|
|
||||||
}
|
|
||||||
|
|
||||||
function selectColor(color: string) {
|
|
||||||
onChange(`${color}::shape_${currentShape}`);
|
|
||||||
}
|
|
||||||
|
|
||||||
function resetAvatar() {
|
|
||||||
onChange(`${OO_DEFAULT_COLOR}::shape_0`);
|
|
||||||
}
|
|
||||||
|
|
||||||
function processImageFile(file: File) {
|
|
||||||
if (!file.type.startsWith("image/")) return;
|
|
||||||
const reader = new FileReader();
|
|
||||||
reader.onload = (event) => {
|
|
||||||
const src = event.target?.result as string;
|
|
||||||
if (!src) return;
|
|
||||||
const img = new Image();
|
|
||||||
img.onload = () => {
|
|
||||||
const canvas = document.createElement("canvas");
|
|
||||||
const ctx = canvas.getContext("2d");
|
|
||||||
const targetSize = 256;
|
|
||||||
canvas.width = targetSize;
|
|
||||||
canvas.height = targetSize;
|
|
||||||
if (!ctx) return;
|
|
||||||
|
|
||||||
ctx.beginPath();
|
|
||||||
ctx.arc(targetSize / 2, targetSize / 2, targetSize / 2, 0, Math.PI * 2);
|
|
||||||
ctx.clip();
|
|
||||||
|
|
||||||
const minDim = Math.min(img.width, img.height);
|
|
||||||
const sx = (img.width - minDim) / 2;
|
|
||||||
const sy = (img.height - minDim) / 2;
|
|
||||||
ctx.drawImage(img, sx, sy, minDim, minDim, 0, 0, targetSize, targetSize);
|
|
||||||
|
|
||||||
onChange(canvas.toDataURL("image/webp", 0.9));
|
|
||||||
setOpen(false);
|
|
||||||
};
|
|
||||||
img.src = src;
|
|
||||||
};
|
|
||||||
reader.readAsDataURL(file);
|
|
||||||
}
|
|
||||||
|
|
||||||
function handleDrop(event: DragEvent<HTMLButtonElement>) {
|
|
||||||
event.preventDefault();
|
|
||||||
setDragOver(false);
|
|
||||||
const file = event.dataTransfer.files?.[0];
|
|
||||||
if (file) processImageFile(file);
|
|
||||||
}
|
|
||||||
|
|
||||||
function handlePaste(event: ClipboardEvent<HTMLButtonElement>) {
|
|
||||||
const items = event.clipboardData?.items;
|
|
||||||
if (!items) return;
|
|
||||||
for (let index = 0; index < items.length; index += 1) {
|
|
||||||
const item = items[index];
|
|
||||||
if (!item?.type.startsWith("image/")) continue;
|
|
||||||
const file = item.getAsFile();
|
|
||||||
if (file) {
|
|
||||||
processImageFile(file);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return (
|
|
||||||
<>
|
|
||||||
<button
|
|
||||||
type="button"
|
|
||||||
disabled={disabled}
|
|
||||||
onClick={() => setOpen(true)}
|
|
||||||
className="group relative cursor-pointer rounded-2xl outline-none transition-transform hover:scale-[1.03] focus-visible:ring-2 focus-visible:ring-ring"
|
|
||||||
aria-label={t`Customize bot avatar`}
|
|
||||||
data-testid="avatar-studio-trigger"
|
|
||||||
>
|
|
||||||
<BotAvatar color={value} identity={identity} size={size} status={status} />
|
|
||||||
<div className="absolute -right-1 -bottom-1 flex size-6 items-center justify-center rounded-full border-2 border-background bg-secondary text-foreground shadow-md transition-transform group-hover:scale-110">
|
|
||||||
<Pencil strokeWidth={2.2} className="size-icon-sm" />
|
|
||||||
</div>
|
|
||||||
</button>
|
|
||||||
|
|
||||||
<Dialog open={open} onOpenChange={setOpen}>
|
|
||||||
<DialogContent
|
|
||||||
showCloseButton={false}
|
|
||||||
className="w-[360px] max-w-full gap-4 rounded-3xl p-5 sm:max-w-[360px]"
|
|
||||||
data-testid="avatar-studio"
|
|
||||||
>
|
|
||||||
<DialogHeader className="flex-row items-center justify-between space-y-0">
|
|
||||||
<DialogTitle className="text-ui-body font-semibold tracking-tight">
|
|
||||||
<Trans>Avatar Studio</Trans>
|
|
||||||
</DialogTitle>
|
|
||||||
<DialogDescription className="sr-only">
|
|
||||||
<Trans>Choose a bot shape, color, or upload an image</Trans>
|
|
||||||
</DialogDescription>
|
|
||||||
<button
|
|
||||||
type="button"
|
|
||||||
onClick={() => setOpen(false)}
|
|
||||||
className="flex size-7 items-center justify-center rounded-full text-muted-foreground transition-colors hover:bg-muted hover:text-foreground"
|
|
||||||
aria-label={t`Close`}
|
|
||||||
>
|
|
||||||
<X className="size-icon-md" />
|
|
||||||
</button>
|
|
||||||
</DialogHeader>
|
|
||||||
|
|
||||||
<div className="flex flex-col items-center justify-center py-2">
|
|
||||||
<BotAvatar color={value} identity={identity} size={78} status={status} />
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div className="flex items-center justify-between border-b border-border pb-1">
|
|
||||||
<div className="flex items-center rounded-full bg-muted p-1 text-ui-label">
|
|
||||||
<button
|
|
||||||
type="button"
|
|
||||||
onClick={() => setActiveTab("bot")}
|
|
||||||
aria-pressed={activeTab === "bot"}
|
|
||||||
className={`rounded-full px-3 py-1 font-medium transition-colors ${
|
|
||||||
activeTab === "bot"
|
|
||||||
? "bg-card text-foreground shadow-sm"
|
|
||||||
: "text-muted-foreground hover:text-foreground"
|
|
||||||
}`}
|
|
||||||
>
|
|
||||||
<Trans>Bot</Trans>
|
|
||||||
</button>
|
|
||||||
<button
|
|
||||||
type="button"
|
|
||||||
onClick={() => setActiveTab("upload")}
|
|
||||||
aria-pressed={activeTab === "upload"}
|
|
||||||
className={`rounded-full px-3 py-1 font-medium transition-colors ${
|
|
||||||
activeTab === "upload"
|
|
||||||
? "bg-card text-foreground shadow-sm"
|
|
||||||
: "text-muted-foreground hover:text-foreground"
|
|
||||||
}`}
|
|
||||||
>
|
|
||||||
<Trans>Upload</Trans>
|
|
||||||
</button>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<button
|
|
||||||
type="button"
|
|
||||||
onClick={resetAvatar}
|
|
||||||
className="px-2 py-1 text-ui-label font-medium text-muted-foreground transition-colors hover:text-foreground"
|
|
||||||
>
|
|
||||||
<Trans>Reset</Trans>
|
|
||||||
</button>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
{activeTab === "bot" ? (
|
|
||||||
<div className="space-y-4 pt-1" data-testid="avatar-studio-bot-tab">
|
|
||||||
<div>
|
|
||||||
<div className="mb-2 text-ui-label font-medium tracking-wider text-muted-foreground uppercase">
|
|
||||||
<Trans>Shape</Trans>
|
|
||||||
</div>
|
|
||||||
<div className="grid grid-cols-4 place-items-center gap-2">
|
|
||||||
{[0, 1, 2, 3, 4, 5, 6, 7].map((shapeIndex) => (
|
|
||||||
<OoShapePreview
|
|
||||||
key={shapeIndex}
|
|
||||||
shapeIndex={shapeIndex}
|
|
||||||
color={currentColor}
|
|
||||||
selected={!parsed.isImage && currentShape === shapeIndex}
|
|
||||||
onClick={() => selectShape(shapeIndex)}
|
|
||||||
/>
|
|
||||||
))}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div className="border-t border-border pt-2">
|
|
||||||
<div className="mb-2 text-ui-label font-medium tracking-wider text-muted-foreground uppercase">
|
|
||||||
<Trans>Color</Trans>
|
|
||||||
</div>
|
|
||||||
<div className="grid grid-cols-6 place-items-center gap-2">
|
|
||||||
{OO_PALETTE_HEXES.map((color) => {
|
|
||||||
const selected =
|
|
||||||
currentColor.toLowerCase() === color.toLowerCase() && !parsed.isImage;
|
|
||||||
return (
|
|
||||||
<button
|
|
||||||
key={color}
|
|
||||||
type="button"
|
|
||||||
onClick={() => selectColor(color)}
|
|
||||||
aria-label={t`Color ${color}`}
|
|
||||||
aria-pressed={selected}
|
|
||||||
className={`size-6 rounded-full border transition-transform hover:scale-110 active:scale-95 focus-visible:ring-2 focus-visible:ring-ring ${
|
|
||||||
selected
|
|
||||||
? "scale-105 border-transparent ring-2 ring-foreground ring-offset-2 ring-offset-popover"
|
|
||||||
: "border-border"
|
|
||||||
}`}
|
|
||||||
style={{ backgroundColor: color }}
|
|
||||||
/>
|
|
||||||
);
|
|
||||||
})}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
) : (
|
|
||||||
<button
|
|
||||||
type="button"
|
|
||||||
aria-label={t`Image upload area`}
|
|
||||||
onDragOver={(event) => {
|
|
||||||
event.preventDefault();
|
|
||||||
setDragOver(true);
|
|
||||||
}}
|
|
||||||
onDragLeave={() => setDragOver(false)}
|
|
||||||
onDrop={handleDrop}
|
|
||||||
onPaste={handlePaste}
|
|
||||||
onClick={() => fileInputRef.current?.click()}
|
|
||||||
className={`flex w-full flex-col items-center justify-center rounded-xl border border-dashed p-6 text-center transition-colors ${
|
|
||||||
dragOver
|
|
||||||
? "border-primary bg-primary/10"
|
|
||||||
: "border-border bg-muted hover:border-foreground/30"
|
|
||||||
}`}
|
|
||||||
>
|
|
||||||
<input
|
|
||||||
ref={fileInputRef}
|
|
||||||
type="file"
|
|
||||||
accept="image/*"
|
|
||||||
className="hidden"
|
|
||||||
onChange={(event) => {
|
|
||||||
const file = event.target.files?.[0];
|
|
||||||
if (file) processImageFile(file);
|
|
||||||
}}
|
|
||||||
/>
|
|
||||||
<div className="mb-2 grid size-10 place-items-center rounded-full bg-secondary text-muted-foreground">
|
|
||||||
<Upload strokeWidth={1.8} className="size-icon-lg" />
|
|
||||||
</div>
|
|
||||||
<p className="text-ui-body-sm font-medium text-muted-foreground">
|
|
||||||
<Trans>Drag, drop, or paste an image</Trans>
|
|
||||||
</p>
|
|
||||||
<span className="mt-3 rounded-lg bg-secondary px-3 py-1.5 text-ui-label font-medium text-foreground">
|
|
||||||
<Trans>Choose file</Trans>
|
|
||||||
</span>
|
|
||||||
</button>
|
|
||||||
)}
|
|
||||||
|
|
||||||
<DialogFooter className="border-border sm:justify-end">
|
|
||||||
<button
|
|
||||||
type="button"
|
|
||||||
onClick={() => setOpen(false)}
|
|
||||||
className="flex items-center gap-1.5 rounded-xl bg-secondary px-4 py-1.5 text-ui-body-sm font-medium text-foreground transition-colors hover:bg-accent"
|
|
||||||
>
|
|
||||||
<Check className="size-icon-md" />
|
|
||||||
<Trans>Done</Trans>
|
|
||||||
</button>
|
|
||||||
</DialogFooter>
|
|
||||||
</DialogContent>
|
|
||||||
</Dialog>
|
|
||||||
</>
|
|
||||||
);
|
|
||||||
}
|
|
||||||
@ -32,11 +32,11 @@ import {
|
|||||||
} from "@rakazo/ui-web";
|
} from "@rakazo/ui-web";
|
||||||
import { Upload, X } from "lucide-react";
|
import { Upload, X } from "lucide-react";
|
||||||
import { Suspense, useEffect, useId, useRef, useState } from "react";
|
import { Suspense, useEffect, useId, useRef, useState } from "react";
|
||||||
|
import { OoAtelier } from "../../components/OoAtelier";
|
||||||
import { connectedModelOptions } from "../../lib/connected-models";
|
import { connectedModelOptions } from "../../lib/connected-models";
|
||||||
import { lazyWithRecovery } from "../../lib/lazy-recovery";
|
import { lazyWithRecovery } from "../../lib/lazy-recovery";
|
||||||
import { modelTierLabel } from "../../lib/model-tier-label";
|
import { modelTierLabel } from "../../lib/model-tier-label";
|
||||||
import { rpc } from "../../lib/rpc";
|
import { rpc } from "../../lib/rpc";
|
||||||
import { AvatarStudioPopover } from "./avatar-studio-popover";
|
|
||||||
import { BotCapabilitiesFields } from "./bot-capabilities";
|
import { BotCapabilitiesFields } from "./bot-capabilities";
|
||||||
|
|
||||||
const ScratchpadSection = lazyWithRecovery("ScratchpadSection", () =>
|
const ScratchpadSection = lazyWithRecovery("ScratchpadSection", () =>
|
||||||
@ -470,7 +470,7 @@ export function BotSettings({
|
|||||||
return (
|
return (
|
||||||
<div data-testid="bot-settings">
|
<div data-testid="bot-settings">
|
||||||
<div className="flex justify-center py-4">
|
<div className="flex justify-center py-4">
|
||||||
<AvatarStudioPopover
|
<OoAtelier
|
||||||
value={color}
|
value={color}
|
||||||
identity={bot.id}
|
identity={bot.id}
|
||||||
status={bot.status}
|
status={bot.status}
|
||||||
|
|||||||
@ -3,6 +3,21 @@
|
|||||||
* every avatar renderer. Bots without an explicit colour or shape get one from a hash
|
* every avatar renderer. Bots without an explicit colour or shape get one from a hash
|
||||||
* of their identity, so they look the same on web and mobile.
|
* of their identity, so they look the same on web and mobile.
|
||||||
*/
|
*/
|
||||||
|
import type { OoAvatar } from "./oo-avatar.js";
|
||||||
|
import {
|
||||||
|
DEFAULT_OO_AVATAR,
|
||||||
|
decodeOoAvatar,
|
||||||
|
OO_CHEEKS,
|
||||||
|
OO_CLASSIC_SHAPE_COUNT,
|
||||||
|
OO_EYESHADOWS,
|
||||||
|
OO_EYEWEAR,
|
||||||
|
OO_HEADWEAR,
|
||||||
|
OO_IRISES,
|
||||||
|
OO_LASHES,
|
||||||
|
OO_NECKWEAR,
|
||||||
|
OO_SPARKLES,
|
||||||
|
OO_SPECIES,
|
||||||
|
} from "./oo-avatar.js";
|
||||||
|
|
||||||
export const OO_CLASSIC_SHAPES: Record<string, string> = {
|
export const OO_CLASSIC_SHAPES: Record<string, string> = {
|
||||||
blob: "M228.541 114.228C228.541 130.133 225.184 145.994 218.738 160.534C212.674 174.217 203.904 186.669 193.065 196.988C155.933 232.34 99.497 238.596 55.5255 212.24C45.097 205.99 35.6851 198.072 27.7451 188.866C19.1926 178.953 12.3686 167.569 7.65781 155.351C2.60712 142.264 0 128.257 0 114.228C0 98.3219 3.35751 82.4611 9.80315 67.9215C15.8672 54.2382 24.6377 41.7862 35.4767 31.4668C72.6081 -3.88483 129.044 -10.1413 173.016 16.2153C183.444 22.4653 192.856 30.3829 200.796 39.5896C209.349 49.5018 216.173 60.8859 220.883 73.1037C225.934 86.1906 228.541 100.198 228.541 114.228Z",
|
blob: "M228.541 114.228C228.541 130.133 225.184 145.994 218.738 160.534C212.674 174.217 203.904 186.669 193.065 196.988C155.933 232.34 99.497 238.596 55.5255 212.24C45.097 205.99 35.6851 198.072 27.7451 188.866C19.1926 178.953 12.3686 167.569 7.65781 155.351C2.60712 142.264 0 128.257 0 114.228C0 98.3219 3.35751 82.4611 9.80315 67.9215C15.8672 54.2382 24.6377 41.7862 35.4767 31.4668C72.6081 -3.88483 129.044 -10.1413 173.016 16.2153C183.444 22.4653 192.856 30.3829 200.796 39.5896C209.349 49.5018 216.173 60.8859 220.883 73.1037C225.934 86.1906 228.541 100.198 228.541 114.228Z",
|
||||||
@ -231,3 +246,41 @@ function darkenHex(hex: string, percent: number): string {
|
|||||||
const b = Math.max(0, Math.floor((num & 255) * factor));
|
const b = Math.max(0, Math.floor((num & 255) * factor));
|
||||||
return `#${((1 << 24) + (r << 16) + (g << 8) + b).toString(16).slice(1)}`;
|
return `#${((1 << 24) + (r << 16) + (g << 8) + b).toString(16).slice(1)}`;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** The look an avatar value shows, with a plain hex colour, ready to edit and re-encode. */
|
||||||
|
export function ooLookForEditing(value: string, identity: string): OoAvatar {
|
||||||
|
const look = decodeOoAvatar(value) ?? DEFAULT_OO_AVATAR;
|
||||||
|
return { ...look, color: resolveOoColor(identity, look.color || null).hex };
|
||||||
|
}
|
||||||
|
|
||||||
|
function pick<T>(values: readonly T[], random: () => number): T {
|
||||||
|
return values[Math.floor(random() * values.length) % values.length] as T;
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Half the time an optional extra stays off, so random looks are not overloaded. */
|
||||||
|
function maybe<T>(values: readonly T[], random: () => number): T {
|
||||||
|
return random() < 0.5 ? (values[0] as T) : pick(values.slice(1), random);
|
||||||
|
}
|
||||||
|
|
||||||
|
/** A random but tidy look for “surprise me”. */
|
||||||
|
export function ooRandomAvatar(random: () => number = Math.random): OoAvatar {
|
||||||
|
const species = pick(OO_SPECIES, random);
|
||||||
|
return {
|
||||||
|
species,
|
||||||
|
color: pick(OO_PALETTE_HEXES, random),
|
||||||
|
shape: species === "classic" ? Math.floor(random() * OO_CLASSIC_SHAPE_COUNT) : null,
|
||||||
|
arms: species === "robot" ? "robot" : pick(["glass", "stub", "paw"] as const, random),
|
||||||
|
lashes: maybe(OO_LASHES, random),
|
||||||
|
liner: random() < 0.2 ? "wing" : "none",
|
||||||
|
eyeshadow: random() < 0.25 ? pick(OO_EYESHADOWS.slice(1), random) : "none",
|
||||||
|
iris: maybe(OO_IRISES, random),
|
||||||
|
sparkle: pick(OO_SPARKLES, random),
|
||||||
|
brows: "auto",
|
||||||
|
cheeks: maybe(OO_CHEEKS, random),
|
||||||
|
eyewear: random() < 0.35 ? pick(OO_EYEWEAR.slice(1), random) : "none",
|
||||||
|
head: random() < 0.35 ? pick(OO_HEADWEAR.slice(1), random) : "none",
|
||||||
|
neck: random() < 0.25 ? pick(OO_NECKWEAR.slice(1), random) : "none",
|
||||||
|
energy: Number((0.7 + random() * 0.7).toFixed(2)),
|
||||||
|
playful: Number(random().toFixed(2)),
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|||||||
@ -2,6 +2,8 @@ import { describe, expect, it } from "vitest";
|
|||||||
import type { OoAvatar } from "./oo-avatar.js";
|
import type { OoAvatar } from "./oo-avatar.js";
|
||||||
import {
|
import {
|
||||||
DEFAULT_OO_AVATAR,
|
DEFAULT_OO_AVATAR,
|
||||||
|
decodeOoAvatar,
|
||||||
|
encodeOoAvatar,
|
||||||
OO_EYE_ASYMMETRY_MIN_RATIO,
|
OO_EYE_ASYMMETRY_MIN_RATIO,
|
||||||
OO_EYEWEAR,
|
OO_EYEWEAR,
|
||||||
OO_RIG_EYES,
|
OO_RIG_EYES,
|
||||||
@ -18,6 +20,8 @@ import {
|
|||||||
OO_DEFAULT_COLOR,
|
OO_DEFAULT_COLOR,
|
||||||
OO_PALETTE_HEXES,
|
OO_PALETTE_HEXES,
|
||||||
ooIdentityShapeIndex,
|
ooIdentityShapeIndex,
|
||||||
|
ooLookForEditing,
|
||||||
|
ooRandomAvatar,
|
||||||
resolveOoClassicShape,
|
resolveOoClassicShape,
|
||||||
resolveOoColor,
|
resolveOoColor,
|
||||||
} from "./oo-palette.js";
|
} from "./oo-palette.js";
|
||||||
@ -218,3 +222,22 @@ describe("oo moments after a status change", () => {
|
|||||||
expect(ooMomentAfterStatus(undefined, "idle")).toBeNull();
|
expect(ooMomentAfterStatus(undefined, "idle")).toBeNull();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
describe("oo atelier helpers", () => {
|
||||||
|
it("edits legacy values with a hex colour", () => {
|
||||||
|
expect(ooLookForEditing("violet", "bot").color).toBe(resolveOoColor("bot", "violet").hex);
|
||||||
|
expect(ooLookForEditing("#8B5CF6::shape_2", "bot")).toMatchObject({
|
||||||
|
color: "#8B5CF6",
|
||||||
|
shape: 2,
|
||||||
|
});
|
||||||
|
expect(ooLookForEditing("data:image/png;base64,AAAA", "bot").species).toBe("classic");
|
||||||
|
});
|
||||||
|
|
||||||
|
it("surprises with looks that always encode", () => {
|
||||||
|
const random = ooSeededRandom(5);
|
||||||
|
for (let i = 0; i < 50; i++) {
|
||||||
|
const look = ooRandomAvatar(random);
|
||||||
|
expect(decodeOoAvatar(encodeOoAvatar(look))).not.toBeNull();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|||||||
@ -26,12 +26,16 @@ export interface OoFigureProps {
|
|||||||
still?: boolean;
|
still?: boolean;
|
||||||
/** Eyes follow the pointer and a tap boops the Oo. */
|
/** Eyes follow the pointer and a tap boops the Oo. */
|
||||||
interactive?: boolean;
|
interactive?: boolean;
|
||||||
|
/** `face` crops to the eyes, for pickers of eye styles and eyewear. */
|
||||||
|
focus?: "body" | "face";
|
||||||
className?: string;
|
className?: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** The body fills the avatar box; ears, hats and effects may reach past it. */
|
/** The body fills the avatar box; ears, hats and effects may reach past it. */
|
||||||
const OO_VIEWBOX = `${OO_RIG_INSET} ${OO_RIG_INSET + 4} ${OO_RIG_SIZE - 2 * OO_RIG_INSET} ${OO_RIG_SIZE - 2 * OO_RIG_INSET}`;
|
const OO_VIEWBOX = `${OO_RIG_INSET} ${OO_RIG_INSET + 4} ${OO_RIG_SIZE - 2 * OO_RIG_INSET} ${OO_RIG_SIZE - 2 * OO_RIG_INSET}`;
|
||||||
|
|
||||||
|
const OO_FACE_VIEWBOX = "47 62 112 112";
|
||||||
|
|
||||||
/** Above this size an Oo always moves; smaller ones only for list moments. */
|
/** Above this size an Oo always moves; smaller ones only for list moments. */
|
||||||
const LIVELY_SIZE = 56;
|
const LIVELY_SIZE = 56;
|
||||||
|
|
||||||
@ -208,6 +212,7 @@ export function OoFigure({
|
|||||||
size,
|
size,
|
||||||
still = false,
|
still = false,
|
||||||
interactive = false,
|
interactive = false,
|
||||||
|
focus = "body",
|
||||||
className,
|
className,
|
||||||
}: OoFigureProps) {
|
}: OoFigureProps) {
|
||||||
const gradient = `oo${useId().replace(/[^a-zA-Z0-9-_]/g, "")}`;
|
const gradient = `oo${useId().replace(/[^a-zA-Z0-9-_]/g, "")}`;
|
||||||
@ -289,14 +294,14 @@ export function OoFigure({
|
|||||||
return (
|
return (
|
||||||
<svg
|
<svg
|
||||||
ref={svgRef}
|
ref={svgRef}
|
||||||
viewBox={OO_VIEWBOX}
|
viewBox={focus === "face" ? OO_FACE_VIEWBOX : OO_VIEWBOX}
|
||||||
width={size}
|
width={size}
|
||||||
height={size}
|
height={size}
|
||||||
aria-hidden="true"
|
aria-hidden="true"
|
||||||
className={className}
|
className={className}
|
||||||
data-oo-species={avatar.species}
|
data-oo-species={avatar.species}
|
||||||
data-oo-moment={moment}
|
data-oo-moment={moment}
|
||||||
overflow="visible"
|
overflow={focus === "face" ? "hidden" : "visible"}
|
||||||
{...pointerHandlers}
|
{...pointerHandlers}
|
||||||
>
|
>
|
||||||
<defs>
|
<defs>
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user