fix(app): add missing i18n keys for host settings (#1478)
* fix(app): add missing i18n keys for host settings The client UI i18n migration (#1282) referenced translation keys that were never added to any locale file, so i18next rendered the raw key string in Settings → Host (e.g. a button labeled "settings.host.daemon.restart.confirm"). Add the six missing keys to all six locales with real translations: - settings.host.daemon.rename.submit - settings.host.daemon.restart.confirm - settings.host.orchestration.systemPrompt.{edit,reset,save,saving} The seventh broken reference, in pair-device-modal.tsx, used the wrong namespace (settings.integrations.pairDevices.rowTitle); the key is defined at settings.host.pairDevices.rowTitle. Point the reference there. Reported in https://github.com/getpaseo/paseo/pull/1282#issuecomment-4686672699 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * fix(app): correct machine-translated Save/Saving labels (es/fr/ar) #1282 left several Save/Saving labels machine-translated into the "economize money" sense rather than the persist-data sense, so users saw "Ahorro..." (es), "Économie..." (fr), and "توفير..." (ar) where "Saving..." was meant. Fix renameModal.saving and settings.project.actions.{save,saving} in the three affected locales. ar's actions.save also moves from the conjugated "يحفظ" to the standard button form "حفظ". Wording matches each locale's already-correct siblings (e.g. es "Proyecto guardado") and the keys added in the previous commit. ru and zh-CN were already correct and are untouched. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -14,7 +14,7 @@ const SNAP_POINTS: string[] = ["82%", "94%"];
|
||||
export function PairDeviceModal({ visible, onClose, testID }: PairDeviceModalProps) {
|
||||
const { t } = useTranslation();
|
||||
const header = useMemo<SheetHeader>(
|
||||
() => ({ title: t("settings.integrations.pairDevices.rowTitle") }),
|
||||
() => ({ title: t("settings.host.pairDevices.rowTitle") }),
|
||||
[t],
|
||||
);
|
||||
|
||||
|
||||
@@ -1294,7 +1294,7 @@ export const ar: TranslationResources = {
|
||||
},
|
||||
renameModal: {
|
||||
rename: "إعادة تسمية",
|
||||
saving: "توفير...",
|
||||
saving: "جارٍ الحفظ...",
|
||||
},
|
||||
sidebarCallout: {
|
||||
dismiss: "رفض",
|
||||
@@ -1611,6 +1611,10 @@ export const ar: TranslationResources = {
|
||||
sheetTitle: "إلحاق موجه النظام",
|
||||
accessibilityLabel: "إلحاق موجه النظام",
|
||||
placeholder: "اجعل الردود موجزة دائمًا.",
|
||||
edit: "تحرير",
|
||||
reset: "إعادة ضبط",
|
||||
save: "حفظ",
|
||||
saving: "جارٍ الحفظ...",
|
||||
},
|
||||
},
|
||||
agents: {
|
||||
@@ -1624,10 +1628,12 @@ export const ar: TranslationResources = {
|
||||
editLabel: "تحرير التسمية",
|
||||
title: "إعادة تسمية المضيف",
|
||||
placeholder: "بلدي Host",
|
||||
submit: "إعادة تسمية",
|
||||
},
|
||||
restart: {
|
||||
title: "إعادة تشغيل البرنامج الخفي",
|
||||
hint: "إعادة تشغيل عملية البرنامج الخفي. سيتم إعادة الاتصال بالتطبيق تلقائيًا",
|
||||
confirm: "إعادة التشغيل",
|
||||
confirmTitle: "أعد تشغيل{{name}}",
|
||||
confirmMessage:
|
||||
"سيؤدي هذا إلى إعادة تشغيل البرنامج الخفي. سيستمر العملاء الذين يعملون عليه؛ سيتم إعادة الاتصال بالتطبيق تلقائيًا.",
|
||||
@@ -1793,9 +1799,9 @@ export const ar: TranslationResources = {
|
||||
actions: {
|
||||
reload: "إعادة تحميل",
|
||||
tryAgain: "حاول ثانية",
|
||||
save: "يحفظ",
|
||||
save: "حفظ",
|
||||
saved: "تم حفظ المشروع",
|
||||
saving: "توفير...",
|
||||
saving: "جارٍ الحفظ...",
|
||||
cancel: "يلغي",
|
||||
},
|
||||
},
|
||||
|
||||
@@ -1618,6 +1618,10 @@ export const en = {
|
||||
sheetTitle: "Append system prompt",
|
||||
accessibilityLabel: "Append system prompt",
|
||||
placeholder: "Always keep replies concise.",
|
||||
edit: "Edit",
|
||||
reset: "Reset",
|
||||
save: "Save",
|
||||
saving: "Saving...",
|
||||
},
|
||||
},
|
||||
agents: {
|
||||
@@ -1631,10 +1635,12 @@ export const en = {
|
||||
editLabel: "Edit label",
|
||||
title: "Rename host",
|
||||
placeholder: "My Host",
|
||||
submit: "Rename",
|
||||
},
|
||||
restart: {
|
||||
title: "Restart daemon",
|
||||
hint: "Restarts the daemon process. The app will reconnect automatically",
|
||||
confirm: "Restart",
|
||||
confirmTitle: "Restart {{name}}",
|
||||
confirmMessage:
|
||||
"This will restart the daemon. Agents running on it will keep going; the app will reconnect automatically.",
|
||||
|
||||
@@ -1329,7 +1329,7 @@ export const es: TranslationResources = {
|
||||
},
|
||||
renameModal: {
|
||||
rename: "Rebautizar",
|
||||
saving: "Ahorro...",
|
||||
saving: "Guardando...",
|
||||
},
|
||||
sidebarCallout: {
|
||||
dismiss: "Despedir",
|
||||
@@ -1648,6 +1648,10 @@ export const es: TranslationResources = {
|
||||
sheetTitle: "Agregar mensaje del sistema",
|
||||
accessibilityLabel: "Agregar mensaje del sistema",
|
||||
placeholder: "Mantenga siempre respuestas concisas.",
|
||||
edit: "Editar",
|
||||
reset: "Restablecer",
|
||||
save: "Guardar",
|
||||
saving: "Guardando...",
|
||||
},
|
||||
},
|
||||
agents: {
|
||||
@@ -1661,10 +1665,12 @@ export const es: TranslationResources = {
|
||||
editLabel: "Editar etiqueta",
|
||||
title: "Cambiar nombre de host",
|
||||
placeholder: "MiHost",
|
||||
submit: "Cambiar nombre",
|
||||
},
|
||||
restart: {
|
||||
title: "Reiniciar demonio",
|
||||
hint: "Reinicia el proceso del demonio. La aplicación se volverá a conectar automáticamente",
|
||||
confirm: "Reiniciar",
|
||||
confirmTitle: "Reiniciar{{name}}",
|
||||
confirmMessage:
|
||||
"Esto reiniciará el demonio. Los agentes que se ejecutan en él seguirán funcionando; la aplicación se volverá a conectar automáticamente.",
|
||||
@@ -1834,9 +1840,9 @@ export const es: TranslationResources = {
|
||||
actions: {
|
||||
reload: "Recargar",
|
||||
tryAgain: "Intentar otra vez",
|
||||
save: "Ahorrar",
|
||||
save: "Guardar",
|
||||
saved: "Proyecto guardado",
|
||||
saving: "Ahorro...",
|
||||
saving: "Guardando...",
|
||||
cancel: "Cancelar",
|
||||
},
|
||||
},
|
||||
|
||||
@@ -1332,7 +1332,7 @@ export const fr: TranslationResources = {
|
||||
},
|
||||
renameModal: {
|
||||
rename: "Rebaptiser",
|
||||
saving: "Économie...",
|
||||
saving: "Sauvegarde...",
|
||||
},
|
||||
sidebarCallout: {
|
||||
dismiss: "Rejeter",
|
||||
@@ -1654,6 +1654,10 @@ export const fr: TranslationResources = {
|
||||
sheetTitle: "Ajouter une invite système",
|
||||
accessibilityLabel: "Ajouter une invite système",
|
||||
placeholder: "Gardez toujours des réponses concises.",
|
||||
edit: "Modifier",
|
||||
reset: "Réinitialiser",
|
||||
save: "Sauvegarder",
|
||||
saving: "Sauvegarde...",
|
||||
},
|
||||
},
|
||||
agents: {
|
||||
@@ -1667,10 +1671,12 @@ export const fr: TranslationResources = {
|
||||
editLabel: "Modifier l'étiquette",
|
||||
title: "Renommer l'hôte",
|
||||
placeholder: "MonHost",
|
||||
submit: "Renommer",
|
||||
},
|
||||
restart: {
|
||||
title: "Redémarrer le démon",
|
||||
hint: "Redémarre le processus démon. L'application se reconnectera automatiquement",
|
||||
confirm: "Redémarrer",
|
||||
confirmTitle: "Redémarrer{{name}}",
|
||||
confirmMessage:
|
||||
"Cela redémarrera le démon. Les agents qui s'y exécutent continueront à fonctionner; l'application se reconnectera automatiquement.",
|
||||
@@ -1844,7 +1850,7 @@ export const fr: TranslationResources = {
|
||||
tryAgain: "Essayer à nouveau",
|
||||
save: "Sauvegarder",
|
||||
saved: "Projet enregistré",
|
||||
saving: "Économie...",
|
||||
saving: "Sauvegarde...",
|
||||
cancel: "Annuler",
|
||||
},
|
||||
},
|
||||
|
||||
@@ -1642,6 +1642,10 @@ export const ru: TranslationResources = {
|
||||
sheetTitle: "Добавить системное приглашение",
|
||||
accessibilityLabel: "Добавить системное приглашение",
|
||||
placeholder: "Всегда отвечайте кратко.",
|
||||
edit: "Редактировать",
|
||||
reset: "Сбросить",
|
||||
save: "Сохранить",
|
||||
saving: "Сохранение...",
|
||||
},
|
||||
},
|
||||
agents: {
|
||||
@@ -1655,10 +1659,12 @@ export const ru: TranslationResources = {
|
||||
editLabel: "Изменить ярлык",
|
||||
title: "Переименовать хост",
|
||||
placeholder: "Мой Host",
|
||||
submit: "Переименовать",
|
||||
},
|
||||
restart: {
|
||||
title: "Перезапустить демон",
|
||||
hint: "Перезапускает процесс демона. Приложение автоматически переподключится",
|
||||
confirm: "Перезапустить",
|
||||
confirmTitle: "Перезапустите{{name}}",
|
||||
confirmMessage:
|
||||
"Это перезапустит демон. Агенты, работающие на нем, будут продолжать работать; приложение автоматически повторно подключится.",
|
||||
|
||||
@@ -1593,6 +1593,10 @@ export const zhCN: TranslationResources = {
|
||||
sheetTitle: "追加 system prompt",
|
||||
accessibilityLabel: "追加 system prompt",
|
||||
placeholder: "始终保持回复简洁。",
|
||||
edit: "编辑",
|
||||
reset: "重置",
|
||||
save: "保存",
|
||||
saving: "保存中...",
|
||||
},
|
||||
},
|
||||
agents: {
|
||||
@@ -1606,10 +1610,12 @@ export const zhCN: TranslationResources = {
|
||||
editLabel: "编辑标签",
|
||||
title: "重命名 Host",
|
||||
placeholder: "我的 Host",
|
||||
submit: "重命名",
|
||||
},
|
||||
restart: {
|
||||
title: "重启 Daemon",
|
||||
hint: "重启 Daemon 进程。应用会自动重新连接",
|
||||
confirm: "重启",
|
||||
confirmTitle: "重启 {{name}}",
|
||||
confirmMessage: "这会重启 Daemon。其上运行的 Agent 会继续运行;应用会自动重新连接。",
|
||||
restarting: "正在重启...",
|
||||
|
||||
Reference in New Issue
Block a user