feat(opencode): Phase 10 - Internationalization for OpenCode

Update i18n translation files (zh.json, en.json, ja.json):

- Add "opencode" to apps section: "OpenCode"
- Add provider section keys:
  - addOpenCodeProvider: Add OpenCode Provider
  - addToConfig: Add (for additive mode button)
  - removeFromConfig: Remove
  - inConfig: Added
- Add new "opencode" section with UI labels:
  - npmPackage: AI SDK Package
  - npmPackageHint: Package selection hint
  - baseUrl, baseUrlHint: Base URL configuration
  - models, modelsHint: Model configuration
  - addModel, modelId, modelName: Model editor labels
  - noModels: Empty state message
- Add "opencode" to mcp.unifiedPanel.apps section
- Add "opencode" to skills.apps section
This commit is contained in:
Jason
2026-01-15 16:42:15 +08:00
parent 864884926a
commit 36d6d48002
3 changed files with 66 additions and 9 deletions
+22 -3
View File
@@ -84,6 +84,10 @@
"addClaudeProvider": "Add Claude Code Provider",
"addCodexProvider": "Add Codex Provider",
"addGeminiProvider": "Add Gemini Provider",
"addOpenCodeProvider": "Add OpenCode Provider",
"addToConfig": "Add",
"removeFromConfig": "Remove",
"inConfig": "Added",
"addProviderHint": "Fill in the information to quickly switch providers in the list.",
"editClaudeProvider": "Edit Claude Code Provider",
"editCodexProvider": "Edit Codex Provider",
@@ -304,7 +308,8 @@
"apps": {
"claude": "Claude Code",
"codex": "Codex",
"gemini": "Gemini"
"gemini": "Gemini",
"opencode": "OpenCode"
},
"console": {
"providerSwitchReceived": "Received provider switch event:",
@@ -455,6 +460,18 @@
"configMergeFailed": "Config merge failed: {{error}}",
"configReplaceFailed": "Config replace failed: {{error}}"
},
"opencode": {
"npmPackage": "AI SDK Package",
"npmPackageHint": "Select the npm package for communicating with the AI service",
"baseUrl": "Base URL",
"baseUrlHint": "Custom API endpoint URL",
"models": "Models",
"modelsHint": "Configure available models and their display names",
"addModel": "Add Model",
"modelId": "Model ID",
"modelName": "Display Name",
"noModels": "No models configured"
},
"providerPreset": {
"label": "Provider Preset",
"custom": "Custom Configuration",
@@ -634,7 +651,8 @@
"apps": {
"claude": "Claude",
"codex": "Codex",
"gemini": "Gemini"
"gemini": "Gemini",
"opencode": "OpenCode"
}
},
"userLevelPath": "User-level MCP path",
@@ -942,7 +960,8 @@
"apps": {
"claude": "Claude",
"codex": "Codex",
"gemini": "Gemini"
"gemini": "Gemini",
"opencode": "OpenCode"
}
},
"deeplink": {
+22 -3
View File
@@ -84,6 +84,10 @@
"addClaudeProvider": "Claude Code プロバイダーを追加",
"addCodexProvider": "Codex プロバイダーを追加",
"addGeminiProvider": "Gemini プロバイダーを追加",
"addOpenCodeProvider": "OpenCode プロバイダーを追加",
"addToConfig": "追加",
"removeFromConfig": "削除",
"inConfig": "追加済み",
"addProviderHint": "一覧にすばやく切り替えられるよう、ここに情報を入力してください。",
"editClaudeProvider": "Claude Code プロバイダーを編集",
"editCodexProvider": "Codex プロバイダーを編集",
@@ -304,7 +308,8 @@
"apps": {
"claude": "Claude Code",
"codex": "Codex",
"gemini": "Gemini"
"gemini": "Gemini",
"opencode": "OpenCode"
},
"console": {
"providerSwitchReceived": "プロバイダー切り替えイベントを受信:",
@@ -455,6 +460,18 @@
"configMergeFailed": "設定のマージに失敗しました: {{error}}",
"configReplaceFailed": "設定の置換に失敗しました: {{error}}"
},
"opencode": {
"npmPackage": "AI SDK パッケージ",
"npmPackageHint": "AI サービスとの通信に使用する npm パッケージを選択",
"baseUrl": "Base URL",
"baseUrlHint": "カスタム API エンドポイント URL",
"models": "モデル設定",
"modelsHint": "利用可能なモデルとその表示名を設定",
"addModel": "モデルを追加",
"modelId": "モデル ID",
"modelName": "表示名",
"noModels": "モデルが設定されていません"
},
"providerPreset": {
"label": "プロバイダータイプ",
"custom": "カスタム設定",
@@ -634,7 +651,8 @@
"apps": {
"claude": "Claude",
"codex": "Codex",
"gemini": "Gemini"
"gemini": "Gemini",
"opencode": "OpenCode"
}
},
"userLevelPath": "ユーザーレベルの MCP パス",
@@ -942,7 +960,8 @@
"apps": {
"claude": "Claude",
"codex": "Codex",
"gemini": "Gemini"
"gemini": "Gemini",
"opencode": "OpenCode"
}
},
"deeplink": {
+22 -3
View File
@@ -84,6 +84,10 @@
"addClaudeProvider": "添加 Claude Code 供应商",
"addCodexProvider": "添加 Codex 供应商",
"addGeminiProvider": "添加 Gemini 供应商",
"addOpenCodeProvider": "添加 OpenCode 供应商",
"addToConfig": "添加",
"removeFromConfig": "移除",
"inConfig": "已添加",
"addProviderHint": "填写信息后即可在列表中快速切换供应商。",
"editClaudeProvider": "编辑 Claude Code 供应商",
"editCodexProvider": "编辑 Codex 供应商",
@@ -304,7 +308,8 @@
"apps": {
"claude": "Claude Code",
"codex": "Codex",
"gemini": "Gemini"
"gemini": "Gemini",
"opencode": "OpenCode"
},
"console": {
"providerSwitchReceived": "收到供应商切换事件:",
@@ -455,6 +460,18 @@
"configMergeFailed": "配置合并失败: {{error}}",
"configReplaceFailed": "配置替换失败: {{error}}"
},
"opencode": {
"npmPackage": "AI SDK 包",
"npmPackageHint": "选择用于与 AI 服务通信的 npm 包",
"baseUrl": "Base URL",
"baseUrlHint": "自定义 API 端点地址",
"models": "模型配置",
"modelsHint": "配置可用的模型及其显示名称",
"addModel": "添加模型",
"modelId": "模型 ID",
"modelName": "显示名称",
"noModels": "暂无模型配置"
},
"providerPreset": {
"label": "预设供应商",
"custom": "自定义配置",
@@ -634,7 +651,8 @@
"apps": {
"claude": "Claude",
"codex": "Codex",
"gemini": "Gemini"
"gemini": "Gemini",
"opencode": "OpenCode"
}
},
"userLevelPath": "用户级 MCP 配置路径",
@@ -942,7 +960,8 @@
"apps": {
"claude": "Claude",
"codex": "Codex",
"gemini": "Gemini"
"gemini": "Gemini",
"opencode": "OpenCode"
}
},
"deeplink": {