diff options
| author | Adam <[email protected]> | 2026-01-20 11:15:45 -0600 |
|---|---|---|
| committer | Adam <[email protected]> | 2026-01-20 17:58:06 -0600 |
| commit | f86c37f5799811d4e3a865c60e07c6fbd8293afd (patch) | |
| tree | f21459958b71c838293b6bbb8252216bc8cc3335 /packages/app/src | |
| parent | 9b7d9c8173c222c880cf731b859fc78fed5265fc (diff) | |
| download | opencode-f86c37f5799811d4e3a865c60e07c6fbd8293afd.tar.gz opencode-f86c37f5799811d4e3a865c60e07c6fbd8293afd.zip | |
wip(app): i18n
Diffstat (limited to 'packages/app/src')
| -rw-r--r-- | packages/app/src/components/dialog-select-server.tsx | 2 | ||||
| -rw-r--r-- | packages/app/src/entry.tsx | 18 | ||||
| -rw-r--r-- | packages/app/src/i18n/en.ts | 4 | ||||
| -rw-r--r-- | packages/app/src/i18n/zh.ts | 3 |
4 files changed, 23 insertions, 4 deletions
diff --git a/packages/app/src/components/dialog-select-server.tsx b/packages/app/src/components/dialog-select-server.tsx index 0b3967b76..9b401afbd 100644 --- a/packages/app/src/components/dialog-select-server.tsx +++ b/packages/app/src/components/dialog-select-server.tsx @@ -179,7 +179,7 @@ export function DialogSelectServer() { type="text" label={language.t("dialog.server.add.url")} hideLabel - placeholder="http://localhost:4096" + placeholder={language.t("dialog.server.add.placeholder")} value={store.url} onChange={(v) => { setStore("url", v) diff --git a/packages/app/src/entry.tsx b/packages/app/src/entry.tsx index 8c4662926..c366ad27f 100644 --- a/packages/app/src/entry.tsx +++ b/packages/app/src/entry.tsx @@ -2,13 +2,25 @@ import { render } from "solid-js/web" import { AppBaseProviders, AppInterface } from "@/app" import { Platform, PlatformProvider } from "@/context/platform" +import { dict as en } from "@/i18n/en" +import { dict as zh } from "@/i18n/zh" import pkg from "../package.json" const root = document.getElementById("root") if (import.meta.env.DEV && !(root instanceof HTMLElement)) { - throw new Error( - "Root element not found. Did you forget to add it to your index.html? Or maybe the id attribute got misspelled?", - ) + const locale = (() => { + if (typeof navigator !== "object") return "en" as const + const languages = navigator.languages?.length ? navigator.languages : [navigator.language] + for (const language of languages) { + if (!language) continue + if (language.toLowerCase().startsWith("zh")) return "zh" as const + } + return "en" as const + })() + + const key = "error.dev.rootNotFound" as const + const message = locale === "zh" ? zh[key] ?? en[key] : en[key] + throw new Error(message) } const platform: Platform = { diff --git a/packages/app/src/i18n/en.ts b/packages/app/src/i18n/en.ts index 3d35e8f86..9487dc0ef 100644 --- a/packages/app/src/i18n/en.ts +++ b/packages/app/src/i18n/en.ts @@ -212,6 +212,7 @@ export const dict = { "dialog.server.empty": "No servers yet", "dialog.server.add.title": "Add a server", "dialog.server.add.url": "Server URL", + "dialog.server.add.placeholder": "http://localhost:4096", "dialog.server.add.error": "Could not connect to server", "dialog.server.add.checking": "Checking...", "dialog.server.add.button": "Add", @@ -310,6 +311,9 @@ export const dict = { "error.page.report.discord": "on Discord", "error.page.version": "Version: {{version}}", + "error.dev.rootNotFound": + "Root element not found. Did you forget to add it to your index.html? Or maybe the id attribute got misspelled?", + "error.globalSync.connectFailed": "Could not connect to server. Is there a server running at `{{url}}`?", "error.chain.unknown": "Unknown error", diff --git a/packages/app/src/i18n/zh.ts b/packages/app/src/i18n/zh.ts index 242d8a170..e066dbcd9 100644 --- a/packages/app/src/i18n/zh.ts +++ b/packages/app/src/i18n/zh.ts @@ -211,6 +211,7 @@ export const dict = { "dialog.server.empty": "暂无服务器", "dialog.server.add.title": "添加服务器", "dialog.server.add.url": "服务器 URL", + "dialog.server.add.placeholder": "http://localhost:4096", "dialog.server.add.error": "无法连接到服务器", "dialog.server.add.checking": "检查中...", "dialog.server.add.button": "添加", @@ -309,6 +310,8 @@ export const dict = { "error.page.report.discord": "在 Discord 上", "error.page.version": "版本: {{version}}", + "error.dev.rootNotFound": "未找到根元素。你是不是忘了把它添加到 index.html? 或者 id 属性拼写错了?", + "error.globalSync.connectFailed": "无法连接到服务器。是否有服务器正在 `{{url}}` 运行?", "error.chain.unknown": "未知错误", |
