fix(i18n): backfill missing market/addExtension keys in 6 locales

check-i18n surfaced that market.componentName.*, market.filterByComponentHint
and the addExtension.install* keys existed only in en-US/zh-Hans. Backfill
them for es-ES, ja-JP, ru-RU, th-TH, vi-VN and zh-Hant (reusing each locale's
existing component-name translations) and align the filterByComponent label
with the new "Plugin Component" wording. check-i18n now passes for all locales.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Junyan Qin
2026-06-01 23:39:38 +08:00
parent b22b1f00cc
commit cc96906b5b
6 changed files with 132 additions and 6 deletions

View File

@@ -683,8 +683,18 @@ const esES = {
markAsRead: 'Marcar como leído', markAsRead: 'Marcar como leído',
markAsReadSuccess: 'Marcado como leído', markAsReadSuccess: 'Marcado como leído',
markAsReadFailed: 'Error al marcar como leído', markAsReadFailed: 'Error al marcar como leído',
filterByComponent: 'Componente', filterByComponent: 'Componente del plugin',
filterByComponentHint:
'Los tipos de capacidad que ofrece un plugin: herramienta (Tool), comando (Command), escucha de eventos (EventListener), etc., usados para ampliar las capacidades de LangBot. Filtra por componente para ver solo los plugins que ofrecen esa capacidad.',
allComponents: 'Todos los componentes', allComponents: 'Todos los componentes',
componentName: {
Tool: 'Herramienta',
EventListener: 'Listener de eventos',
Command: 'Comando',
KnowledgeEngine: 'Motor de conocimiento',
Parser: 'Analizador',
Page: 'Página',
},
filterByType: 'Tipo', filterByType: 'Tipo',
allTypes: 'Todos los tipos', allTypes: 'Todos los tipos',
typePlugin: 'Plugin', typePlugin: 'Plugin',
@@ -1638,6 +1648,17 @@ const esES = {
saveFileError: 'Error al guardar el archivo: ', saveFileError: 'Error al guardar el archivo: ',
}, },
addExtension: { addExtension: {
installTitle: 'Instalar {{type}}',
installConfirm: '¿Instalar {{type}} "{{name}}"?',
installInfoType: 'Tipo',
installInfoId: 'ID',
installInfoVersion: 'Versión',
installSuccess: 'Instalado correctamente',
installStage: {
mcpInstalling: 'Añadiendo y conectando el servidor MCP…',
skillInstalling: 'Instalando la skill…',
installed: 'Listo',
},
manualAdd: 'Añadir manualmente', manualAdd: 'Añadir manualmente',
uploadExtension: 'Arrastra y suelta o haz clic para subir', uploadExtension: 'Arrastra y suelta o haz clic para subir',
uploadHint: 'Admite archivos .zip (skills) y .lbpkg (plugins)', uploadHint: 'Admite archivos .zip (skills) y .lbpkg (plugins)',

View File

@@ -675,8 +675,18 @@ const jaJP = {
markAsRead: '既読', markAsRead: '既読',
markAsReadSuccess: '既読に設定しました', markAsReadSuccess: '既読に設定しました',
markAsReadFailed: '既読に設定に失敗しました', markAsReadFailed: '既読に設定に失敗しました',
filterByComponent: 'コンポーネント', filterByComponent: 'プラグインコンポーネント',
filterByComponentHint:
'プラグインが提供する機能の種類ですツール、コマンド、イベントリスナーなど。LangBot のさまざまな機能を拡張するために使われます。コンポーネントで絞り込むと、その機能を提供するプラグインのみを表示できます。',
allComponents: '全部コンポーネント', allComponents: '全部コンポーネント',
componentName: {
Tool: 'ツール',
EventListener: 'イベント監視器',
Command: 'コマンド',
KnowledgeEngine: '知識エンジン',
Parser: 'パーサー',
Page: 'ページ',
},
filterByType: 'タイプ', filterByType: 'タイプ',
allTypes: '全部', allTypes: '全部',
typePlugin: 'プラグイン', typePlugin: 'プラグイン',
@@ -1445,6 +1455,17 @@ const jaJP = {
}, },
}, },
addExtension: { addExtension: {
installTitle: '{{type}}をインストール',
installConfirm: '{{type}}「{{name}}」をインストールしますか?',
installInfoType: 'タイプ',
installInfoId: 'ID',
installInfoVersion: 'バージョン',
installSuccess: 'インストールに成功しました',
installStage: {
mcpInstalling: 'MCPサーバーを追加して接続しています…',
skillInstalling: 'スキルをインストールしています…',
installed: '完了',
},
manualAdd: '手動追加', manualAdd: '手動追加',
uploadExtension: 'ドラッグ&ドロップまたはクリックしてアップロード', uploadExtension: 'ドラッグ&ドロップまたはクリックしてアップロード',
uploadHint: '.zipスキルと.lbpkgプラグインファイルに対応', uploadHint: '.zipスキルと.lbpkgプラグインファイルに対応',

View File

@@ -680,8 +680,18 @@ const ruRU = {
markAsRead: 'Отметить как прочитанное', markAsRead: 'Отметить как прочитанное',
markAsReadSuccess: 'Отмечено как прочитанное', markAsReadSuccess: 'Отмечено как прочитанное',
markAsReadFailed: 'Не удалось отметить как прочитанное', markAsReadFailed: 'Не удалось отметить как прочитанное',
filterByComponent: 'Компонент', filterByComponent: 'Компонент плагина',
filterByComponentHint:
'Типы возможностей, которые предоставляет плагин — инструмент (Tool), команда (Command), обработчик событий (EventListener) и т. д., — расширяющие функции LangBot. Фильтруйте по компоненту, чтобы видеть только плагины с нужной возможностью.',
allComponents: 'Все компоненты', allComponents: 'Все компоненты',
componentName: {
Tool: 'Инструмент',
EventListener: 'Обработчик событий',
Command: 'Команда',
KnowledgeEngine: 'Движок знаний',
Parser: 'Парсер',
Page: 'Страница',
},
filterByType: 'Тип', filterByType: 'Тип',
allTypes: 'Все типы', allTypes: 'Все типы',
typePlugin: 'Плагин', typePlugin: 'Плагин',
@@ -1606,6 +1616,17 @@ const ruRU = {
saveFileError: 'Не удалось сохранить файл: ', saveFileError: 'Не удалось сохранить файл: ',
}, },
addExtension: { addExtension: {
installTitle: 'Установить {{type}}',
installConfirm: 'Установить {{type}} «{{name}}»?',
installInfoType: 'Тип',
installInfoId: 'ID',
installInfoVersion: 'Версия',
installSuccess: 'Успешно установлено',
installStage: {
mcpInstalling: 'Добавление и подключение сервера MCP…',
skillInstalling: 'Установка навыка…',
installed: 'Готово',
},
manualAdd: 'Добавить вручную', manualAdd: 'Добавить вручную',
uploadExtension: 'Перетащите файл сюда или нажмите для загрузки', uploadExtension: 'Перетащите файл сюда или нажмите для загрузки',
uploadHint: 'Поддерживаются файлы .zip (навыки) и .lbpkg (плагины)', uploadHint: 'Поддерживаются файлы .zip (навыки) и .lbpkg (плагины)',

View File

@@ -661,8 +661,18 @@ const thTH = {
markAsRead: 'ทำเครื่องหมายว่าอ่านแล้ว', markAsRead: 'ทำเครื่องหมายว่าอ่านแล้ว',
markAsReadSuccess: 'ทำเครื่องหมายว่าอ่านแล้ว', markAsReadSuccess: 'ทำเครื่องหมายว่าอ่านแล้ว',
markAsReadFailed: 'ทำเครื่องหมายว่าอ่านแล้วล้มเหลว', markAsReadFailed: 'ทำเครื่องหมายว่าอ่านแล้วล้มเหลว',
filterByComponent: 'ส่วนประกอบ', filterByComponent: 'ส่วนประกอบปลั๊กอิน',
filterByComponentHint:
'ประเภทความสามารถที่ปลั๊กอินมีให้ เช่น เครื่องมือ (Tool) คำสั่ง (Command) ตัวรับฟังเหตุการณ์ (EventListener) เป็นต้น ใช้เพื่อขยายความสามารถต่าง ๆ ของ LangBot กรองตามส่วนประกอบเพื่อแสดงเฉพาะปลั๊กอินที่มีความสามารถนั้น',
allComponents: 'ส่วนประกอบทั้งหมด', allComponents: 'ส่วนประกอบทั้งหมด',
componentName: {
Tool: 'เครื่องมือ',
EventListener: 'ตัวรับฟังเหตุการณ์',
Command: 'คำสั่ง',
KnowledgeEngine: 'เครื่องมือความรู้',
Parser: 'ตัวแยกวิเคราะห์',
Page: 'หน้า',
},
filterByType: 'ประเภท', filterByType: 'ประเภท',
allTypes: 'ทุกประเภท', allTypes: 'ทุกประเภท',
typePlugin: 'ปลั๊กอิน', typePlugin: 'ปลั๊กอิน',
@@ -1569,6 +1579,17 @@ const thTH = {
saveFileError: 'บันทึกไฟล์ไม่สำเร็จ: ', saveFileError: 'บันทึกไฟล์ไม่สำเร็จ: ',
}, },
addExtension: { addExtension: {
installTitle: 'ติดตั้ง {{type}}',
installConfirm: 'ติดตั้ง {{type}} "{{name}}" หรือไม่?',
installInfoType: 'ประเภท',
installInfoId: 'ID',
installInfoVersion: 'เวอร์ชัน',
installSuccess: 'ติดตั้งสำเร็จ',
installStage: {
mcpInstalling: 'กำลังเพิ่มและเชื่อมต่อเซิร์ฟเวอร์ MCP…',
skillInstalling: 'กำลังติดตั้งสกิล…',
installed: 'เสร็จสิ้น',
},
manualAdd: 'เพิ่มด้วยตนเอง', manualAdd: 'เพิ่มด้วยตนเอง',
uploadExtension: 'ลากแล้ววางหรือคลิกเพื่ออัปโหลด', uploadExtension: 'ลากแล้ววางหรือคลิกเพื่ออัปโหลด',
uploadHint: 'รองรับไฟล์ .zip (สกิล) และ .lbpkg (ปลั๊กอิน)', uploadHint: 'รองรับไฟล์ .zip (สกิล) และ .lbpkg (ปลั๊กอิน)',

View File

@@ -675,8 +675,18 @@ const viVN = {
markAsRead: 'Đánh dấu đã đọc', markAsRead: 'Đánh dấu đã đọc',
markAsReadSuccess: 'Đã đánh dấu đã đọc', markAsReadSuccess: 'Đã đánh dấu đã đọc',
markAsReadFailed: 'Đánh dấu đã đọc thất bại', markAsReadFailed: 'Đánh dấu đã đọc thất bại',
filterByComponent: 'Thành phần', filterByComponent: 'Thành phần plugin',
filterByComponentHint:
'Các loại năng lực mà plugin cung cấp — Công cụ (Tool), Lệnh (Command), Trình lắng nghe sự kiện (EventListener), v.v. — dùng để mở rộng các khả năng của LangBot. Lọc theo thành phần để chỉ xem những plugin cung cấp năng lực đó.',
allComponents: 'Tất cả thành phần', allComponents: 'Tất cả thành phần',
componentName: {
Tool: 'Công cụ',
EventListener: 'Trình lắng nghe sự kiện',
Command: 'Lệnh',
KnowledgeEngine: 'Công cụ tri thức',
Parser: 'Trình phân tích',
Page: 'Trang',
},
filterByType: 'Loại', filterByType: 'Loại',
allTypes: 'Tất cả loại', allTypes: 'Tất cả loại',
typePlugin: 'Plugin', typePlugin: 'Plugin',
@@ -1598,6 +1608,17 @@ const viVN = {
saveFileError: 'Lưu tệp thất bại: ', saveFileError: 'Lưu tệp thất bại: ',
}, },
addExtension: { addExtension: {
installTitle: 'Cài đặt {{type}}',
installConfirm: 'Cài đặt {{type}} "{{name}}"?',
installInfoType: 'Loại',
installInfoId: 'ID',
installInfoVersion: 'Phiên bản',
installSuccess: 'Cài đặt thành công',
installStage: {
mcpInstalling: 'Đang thêm và kết nối máy chủ MCP…',
skillInstalling: 'Đang cài đặt kỹ năng…',
installed: 'Hoàn tất',
},
manualAdd: 'Thêm thủ công', manualAdd: 'Thêm thủ công',
uploadExtension: 'Kéo thả hoặc nhấp để tải lên', uploadExtension: 'Kéo thả hoặc nhấp để tải lên',
uploadHint: 'Hỗ trợ tệp .zip (kỹ năng) và .lbpkg (plugin)', uploadHint: 'Hỗ trợ tệp .zip (kỹ năng) và .lbpkg (plugin)',

View File

@@ -643,8 +643,18 @@ const zhHant = {
markAsRead: '已讀', markAsRead: '已讀',
markAsReadSuccess: '已標記為已讀', markAsReadSuccess: '已標記為已讀',
markAsReadFailed: '標記為已讀失敗', markAsReadFailed: '標記為已讀失敗',
filterByComponent: '組件', filterByComponent: '插件組件',
filterByComponentHint:
'插件提供的能力類型如工具Tool、命令Command、事件監聽器EventListener用於擴展 LangBot 的各項能力。按組件篩選可只看提供對應能力的插件。',
allComponents: '全部組件', allComponents: '全部組件',
componentName: {
Tool: '工具',
EventListener: '事件監聽器',
Command: '命令',
KnowledgeEngine: '知識引擎',
Parser: '解析器',
Page: '擴展頁',
},
filterByType: '類型', filterByType: '類型',
allTypes: '全部類型', allTypes: '全部類型',
typePlugin: '插件', typePlugin: '插件',
@@ -1377,6 +1387,17 @@ const zhHant = {
}, },
}, },
addExtension: { addExtension: {
installTitle: '安裝{{type}}',
installConfirm: '確定要安裝{{type}}「{{name}}」嗎?',
installInfoType: '類型',
installInfoId: 'ID',
installInfoVersion: '版本',
installSuccess: '安裝成功',
installStage: {
mcpInstalling: '正在新增並連接 MCP 伺服器…',
skillInstalling: '正在安裝技能…',
installed: '完成',
},
manualAdd: '手動新增', manualAdd: '手動新增',
uploadExtension: '拖拽或點擊上傳擴充套件', uploadExtension: '拖拽或點擊上傳擴充套件',
uploadHint: '支援 .zip技能和 .lbpkg插件檔案', uploadHint: '支援 .zip技能和 .lbpkg插件檔案',