diff options
| author | Adam <[email protected]> | 2026-01-20 05:40:44 -0600 |
|---|---|---|
| committer | Adam <[email protected]> | 2026-01-20 17:58:06 -0600 |
| commit | 92beae14100af23c20afe7b6bc2bb393643d698f (patch) | |
| tree | 1047cf04130c98edac5dd322613608e3ec4b5f46 /packages/app/src/components/dialog-edit-project.tsx | |
| parent | 0470717c7fbb9ff175b70c6d76ffb2330ef40a1a (diff) | |
| download | opencode-92beae14100af23c20afe7b6bc2bb393643d698f.tar.gz opencode-92beae14100af23c20afe7b6bc2bb393643d698f.zip | |
wip(app): i18n
Diffstat (limited to 'packages/app/src/components/dialog-edit-project.tsx')
| -rw-r--r-- | packages/app/src/components/dialog-edit-project.tsx | 23 |
1 files changed, 15 insertions, 8 deletions
diff --git a/packages/app/src/components/dialog-edit-project.tsx b/packages/app/src/components/dialog-edit-project.tsx index 2e414a437..b6e2f822e 100644 --- a/packages/app/src/components/dialog-edit-project.tsx +++ b/packages/app/src/components/dialog-edit-project.tsx @@ -9,12 +9,14 @@ import { useGlobalSDK } from "@/context/global-sdk" import { type LocalProject, getAvatarColors } from "@/context/layout" import { getFilename } from "@opencode-ai/util/path" import { Avatar } from "@opencode-ai/ui/avatar" +import { useLanguage } from "@/context/language" const AVATAR_COLOR_KEYS = ["pink", "mint", "orange", "purple", "cyan", "lime"] as const export function DialogEditProject(props: { project: LocalProject }) { const dialog = useDialog() const globalSDK = useGlobalSDK() + const language = useLanguage() const folderName = createMemo(() => getFilename(props.project.worktree)) const defaultName = createMemo(() => props.project.name || folderName()) @@ -81,20 +83,20 @@ export function DialogEditProject(props: { project: LocalProject }) { } return ( - <Dialog title="Edit project" class="w-full max-w-[480px] mx-auto"> + <Dialog title={language.t("dialog.project.edit.title")} class="w-full max-w-[480px] mx-auto"> <form onSubmit={handleSubmit} class="flex flex-col gap-6 p-6 pt-0"> <div class="flex flex-col gap-4"> <TextField autofocus type="text" - label="Name" + label={language.t("dialog.project.edit.name")} placeholder={folderName()} value={store.name} onChange={(v) => setStore("name", v)} /> <div class="flex flex-col gap-2"> - <label class="text-12-medium text-text-weak">Icon</label> + <label class="text-12-medium text-text-weak">{language.t("dialog.project.edit.icon")}</label> <div class="flex gap-3 items-start"> <div class="relative" onMouseEnter={() => setIconHover(true)} onMouseLeave={() => setIconHover(false)}> <div @@ -128,7 +130,11 @@ export function DialogEditProject(props: { project: LocalProject }) { </div> } > - <img src={store.iconUrl} alt="Project icon" class="size-full object-cover" /> + <img + src={store.iconUrl} + alt={language.t("dialog.project.edit.icon.alt")} + class="size-full object-cover" + /> </Show> </div> <div @@ -172,14 +178,15 @@ export function DialogEditProject(props: { project: LocalProject }) { </div> <input id="icon-upload" type="file" accept="image/*" class="hidden" onChange={handleInputChange} /> <div class="flex flex-col gap-1.5 text-12-regular text-text-weak self-center"> - <span>Recommended size 128x128px</span> + <span>{language.t("dialog.project.edit.icon.hint")}</span> + <span>{language.t("dialog.project.edit.icon.recommended")}</span> </div> </div> </div> <Show when={!store.iconUrl}> <div class="flex flex-col gap-2"> - <label class="text-12-medium text-text-weak">Color</label> + <label class="text-12-medium text-text-weak">{language.t("dialog.project.edit.color")}</label> <div class="flex gap-1.5"> <For each={AVATAR_COLOR_KEYS}> {(color) => ( @@ -209,10 +216,10 @@ export function DialogEditProject(props: { project: LocalProject }) { <div class="flex justify-end gap-2"> <Button type="button" variant="ghost" size="large" onClick={() => dialog.close()}> - Cancel + {language.t("common.cancel")} </Button> <Button type="submit" variant="primary" size="large" disabled={store.saving}> - {store.saving ? "Saving..." : "Save"} + {store.saving ? language.t("common.saving") : language.t("common.save")} </Button> </div> </form> |
