const shared = { logs: { action: "Logs", title: "Logs: {{name}}", loading: "Loading logs…", refresh: "Refresh", refreshing: "Refreshing…", errorTitle: "Unable to load plugin logs", empty: "No plugin output yet", }, } as const; export const pluginSettings = { ar: { ...shared, screens: { open: "فتح", offline: "اتصل بهذا المضيف لفتح إعدادات الإضافة.", update: "حدّث هذا المضيف لاستخدام إعدادات الإضافة.", unavailable: "شاشة إعدادات الإضافة هذه غير متاحة.", backToPlugins: "العودة إلى الإضافات", }, title: "الإضافات", trustedTitle: "الإضافات تعليمات برمجية موثوقة", trustedDescription: "تعمل على هذا المضيف وداخل التطبيق دون عزل. ثبّت فقط التعليمات البرمجية التي تثق بها.", globalTitle: "تفعيل الإضافات", globalHint: "مفتاح عام لكل الإضافات المضبوطة", sourceLabel: "مصدر الإضافة", sourcePlaceholder: "owner/slug, مجلد أو رابط Git أو حزمة npm", docs: "الوثائق", install: "تثبيت الإضافة", installing: "جارٍ التثبيت…", status: { running: "قيد التشغيل", disabled: "معطّلة", failed: "فشلت" }, actions: { menu: "إجراءات {{name}}", settings: "الإعدادات", reload: "إعادة تحميل", reloading: "جارٍ إعادة التحميل…", enable: "تفعيل", enabling: "جارٍ التفعيل…", disable: "تعطيل", disabling: "جارٍ التعطيل…", remove: "إزالة", removing: "جارٍ الإزالة…", }, feedback: { installed: "تم تثبيت {{name}}", reload: "تمت إعادة تحميل {{name}}", enable: "تم تفعيل {{name}}", disable: "تم تعطيل {{name}}", remove: "تمت إزالة {{name}}", kept: "تم الإبقاء على {{name}}", globalEnabled: "تم تفعيل الإضافات", globalDisabled: "تم تعطيل الإضافات", }, removeConfirmTitle: "إزالة {{name}}؟", removeConfirmMessage: "يؤدي هذا إلى إزالة الإعداد فقط. لن يُحذف مجلد المصدر.", states: { offlineTitle: "مضيف الإضافات غير متصل", offlineDescription: "أعد الاتصال بهذا المضيف لإدارة إضافاته.", updateTitle: "حدّث هذا المضيف لإدارة الإضافات", sourceUpdateTitle: "حدّث هذا المضيف لتثبيت الإضافات", loading: "جارٍ تحميل الإضافات…", errorTitle: "تعذّر تحميل الإضافات", retry: "إعادة المحاولة", empty: "لا توجد إضافات مضبوطة", }, }, es: { ...shared, screens: { open: "Abrir", offline: "Conéctate a este host para abrir los ajustes del plugin.", update: "Actualiza este host para usar los ajustes del plugin.", unavailable: "Esta pantalla de ajustes del plugin no está disponible.", backToPlugins: "Volver a plugins", }, title: "Plugins", trustedTitle: "Los plugins son código de confianza", trustedDescription: "Se ejecutan en este host y dentro de la app sin aislamiento. Instala solo código de confianza.", globalTitle: "Activar plugins", globalHint: "Interruptor global para todos los plugins configurados", sourceLabel: "Fuente del plugin", sourcePlaceholder: "owner/slug, Directorio, URL de Git o paquete npm", docs: "Documentación", install: "Instalar plugin", installing: "Instalando…", status: { running: "en ejecución", disabled: "desactivado", failed: "fallido" }, actions: { menu: "Acciones para {{name}}", settings: "Configuración", reload: "Recargar", reloading: "Recargando…", enable: "Activar", enabling: "Activando…", disable: "Desactivar", disabling: "Desactivando…", remove: "Eliminar", removing: "Eliminando…", }, feedback: { installed: "{{name}} instalado", reload: "{{name}} recargado", enable: "{{name}} activado", disable: "{{name}} desactivado", remove: "{{name}} eliminado", kept: "Se conservó {{name}}", globalEnabled: "Plugins activados", globalDisabled: "Plugins desactivados", }, removeConfirmTitle: "¿Eliminar {{name}}?", removeConfirmMessage: "Esto elimina la configuración. El directorio de origen no se borra.", states: { offlineTitle: "El host de plugins está sin conexión", offlineDescription: "Vuelve a conectar este host para gestionar sus plugins.", updateTitle: "Actualiza este host para gestionar plugins", sourceUpdateTitle: "Actualiza este host para instalar plugins", loading: "Cargando plugins…", errorTitle: "No se pudieron cargar los plugins", retry: "Reintentar", empty: "No hay plugins configurados", }, }, fr: { ...shared, screens: { open: "Ouvrir", offline: "Connectez-vous à cet hôte pour ouvrir les paramètres du plugin.", update: "Mettez à jour cet hôte pour utiliser les paramètres du plugin.", unavailable: "Cet écran de paramètres du plugin est indisponible.", backToPlugins: "Retour aux plugins", }, title: "Plugins", trustedTitle: "Les plugins sont du code de confiance", trustedDescription: "Ils s’exécutent sur cet hôte et dans l’app sans isolation. N’installez que du code fiable.", globalTitle: "Activer les plugins", globalHint: "Interrupteur global pour tous les plugins configurés", sourceLabel: "Source du plugin", sourcePlaceholder: "owner/slug, Dossier, URL Git ou paquet npm", docs: "Documentation", install: "Installer le plugin", installing: "Installation…", status: { running: "actif", disabled: "désactivé", failed: "échec" }, actions: { menu: "Actions pour {{name}}", settings: "Paramètres", reload: "Recharger", reloading: "Rechargement…", enable: "Activer", enabling: "Activation…", disable: "Désactiver", disabling: "Désactivation…", remove: "Supprimer", removing: "Suppression…", }, feedback: { installed: "{{name}} installé", reload: "{{name}} rechargé", enable: "{{name}} activé", disable: "{{name}} désactivé", remove: "{{name}} supprimé", kept: "{{name}} conservé", globalEnabled: "Plugins activés", globalDisabled: "Plugins désactivés", }, removeConfirmTitle: "Supprimer {{name}} ?", removeConfirmMessage: "La configuration sera supprimée. Le dossier source ne sera pas effacé.", states: { offlineTitle: "L’hôte des plugins est hors ligne", offlineDescription: "Reconnectez cet hôte pour gérer ses plugins.", updateTitle: "Mettez cet hôte à jour pour gérer les plugins", sourceUpdateTitle: "Mettez cet hôte à jour pour installer des plugins", loading: "Chargement des plugins…", errorTitle: "Impossible de charger les plugins", retry: "Réessayer", empty: "Aucun plugin configuré", }, }, ja: { ...shared, screens: { open: "開く", offline: "このホストに接続してプラグイン設定を開いてください。", update: "プラグイン設定を使用するには、このホストを更新してください。", unavailable: "このプラグイン設定画面は利用できません。", backToPlugins: "プラグインに戻る", }, title: "プラグイン", trustedTitle: "プラグインは信頼済みコードです", trustedDescription: "ホストとアプリ内で分離されずに実行されます。信頼できるコードのみインストールしてください。", globalTitle: "プラグインを有効化", globalHint: "設定済みプラグインすべての共通スイッチ", sourceLabel: "プラグインソース", sourcePlaceholder: "owner/slug, ディレクトリ、Git URL、npm パッケージ", docs: "ドキュメント", install: "プラグインをインストール", installing: "インストール中…", status: { running: "実行中", disabled: "無効", failed: "失敗" }, actions: { menu: "{{name}} のアクション", settings: "設定", reload: "再読み込み", reloading: "再読み込み中…", enable: "有効化", enabling: "有効化中…", disable: "無効化", disabling: "無効化中…", remove: "削除", removing: "削除中…", }, feedback: { installed: "{{name}} をインストールしました", reload: "{{name}} を再読み込みしました", enable: "{{name}} を有効にしました", disable: "{{name}} を無効にしました", remove: "{{name}} を削除しました", kept: "{{name}} を保持しました", globalEnabled: "プラグインを有効にしました", globalDisabled: "プラグインを無効にしました", }, removeConfirmTitle: "{{name}} を削除しますか?", removeConfirmMessage: "設定のみを削除します。ソースディレクトリは削除されません。", states: { offlineTitle: "プラグインホストはオフラインです", offlineDescription: "プラグインを管理するにはホストに再接続してください。", updateTitle: "プラグインを管理するにはホストを更新してください", sourceUpdateTitle: "プラグインをインストールするにはこのホストを更新してください", loading: "プラグインを読み込み中…", errorTitle: "プラグインを読み込めません", retry: "再試行", empty: "設定済みプラグインはありません", }, }, ko: { ...shared, screens: { open: "열기", offline: "플러그인 설정을 열려면 이 호스트에 연결하세요.", update: "플러그인 설정을 사용하려면 이 호스트를 업데이트하세요.", unavailable: "이 플러그인 설정 화면을 사용할 수 없습니다.", backToPlugins: "플러그인으로 돌아가기", }, title: "플러그인", trustedTitle: "플러그인은 신뢰하는 코드입니다", trustedDescription: "호스트와 앱 안에서 격리 없이 실행됩니다. 신뢰하는 코드만 설치하세요.", globalTitle: "플러그인 활성화", globalHint: "설정된 모든 플러그인의 전역 스위치", sourceLabel: "플러그인 소스", sourcePlaceholder: "owner/slug, 디렉터리, Git URL 또는 npm 패키지", docs: "문서", install: "플러그인 설치", installing: "설치 중…", status: { running: "실행 중", disabled: "비활성화", failed: "실패" }, actions: { menu: "{{name}} 작업", settings: "설정", reload: "다시 로드", reloading: "다시 로드 중…", enable: "활성화", enabling: "활성화 중…", disable: "비활성화", disabling: "비활성화 중…", remove: "제거", removing: "제거 중…", }, feedback: { installed: "{{name}} 설치됨", reload: "{{name}} 다시 로드됨", enable: "{{name}} 활성화됨", disable: "{{name}} 비활성화됨", remove: "{{name}} 제거됨", kept: "{{name}} 유지됨", globalEnabled: "플러그인 활성화됨", globalDisabled: "플러그인 비활성화됨", }, removeConfirmTitle: "{{name}}을(를) 제거할까요?", removeConfirmMessage: "설정만 제거합니다. 소스 디렉터리는 삭제되지 않습니다.", states: { offlineTitle: "플러그인 호스트가 오프라인입니다", offlineDescription: "플러그인을 관리하려면 호스트에 다시 연결하세요.", updateTitle: "플러그인을 관리하려면 호스트를 업데이트하세요", sourceUpdateTitle: "플러그인을 설치하려면 이 호스트를 업데이트하세요", loading: "플러그인 로드 중…", errorTitle: "플러그인을 로드할 수 없습니다", retry: "다시 시도", empty: "설정된 플러그인이 없습니다", }, }, "pt-BR": { ...shared, screens: { open: "Abrir", offline: "Conecte-se a este host para abrir as configurações do plugin.", update: "Atualize este host para usar as configurações do plugin.", unavailable: "Esta tela de configurações do plugin está indisponível.", backToPlugins: "Voltar para plugins", }, title: "Plugins", trustedTitle: "Plugins são código confiável", trustedDescription: "Eles rodam neste host e dentro do app sem isolamento. Instale apenas código confiável.", globalTitle: "Ativar plugins", globalHint: "Controle global para todos os plugins configurados", sourceLabel: "Fonte do plugin", sourcePlaceholder: "owner/slug, Diretório, URL Git ou pacote npm", docs: "Documentação", install: "Instalar plugin", installing: "Instalando…", status: { running: "em execução", disabled: "desativado", failed: "falhou" }, actions: { menu: "Ações para {{name}}", settings: "Configurações", reload: "Recarregar", reloading: "Recarregando…", enable: "Ativar", enabling: "Ativando…", disable: "Desativar", disabling: "Desativando…", remove: "Remover", removing: "Removendo…", }, feedback: { installed: "{{name}} instalado", reload: "{{name}} recarregado", enable: "{{name}} ativado", disable: "{{name}} desativado", remove: "{{name}} removido", kept: "{{name}} mantido", globalEnabled: "Plugins ativados", globalDisabled: "Plugins desativados", }, removeConfirmTitle: "Remover {{name}}?", removeConfirmMessage: "Isso remove a configuração. O diretório de origem não será excluído.", states: { offlineTitle: "O host de plugins está offline", offlineDescription: "Reconecte este host para gerenciar seus plugins.", updateTitle: "Atualize este host para gerenciar plugins", sourceUpdateTitle: "Atualize este host para instalar plugins", loading: "Carregando plugins…", errorTitle: "Não foi possível carregar os plugins", retry: "Tentar novamente", empty: "Nenhum plugin configurado", }, }, ru: { ...shared, screens: { open: "Открыть", offline: "Подключитесь к этому хосту, чтобы открыть настройки плагина.", update: "Обновите этот хост, чтобы использовать настройки плагина.", unavailable: "Этот экран настроек плагина недоступен.", backToPlugins: "Вернуться к плагинам", }, title: "Плагины", trustedTitle: "Плагины — доверенный код", trustedDescription: "Они выполняются на хосте и в приложении без изоляции. Устанавливайте только доверенный код.", globalTitle: "Включить плагины", globalHint: "Общий переключатель для всех настроенных плагинов", sourceLabel: "Источник плагина", sourcePlaceholder: "owner/slug, Каталог, URL Git или пакет npm", docs: "Документация", install: "Установить плагин", installing: "Установка…", status: { running: "работает", disabled: "отключён", failed: "ошибка" }, actions: { menu: "Действия для {{name}}", settings: "Настройки", reload: "Перезагрузить", reloading: "Перезагрузка…", enable: "Включить", enabling: "Включение…", disable: "Отключить", disabling: "Отключение…", remove: "Удалить", removing: "Удаление…", }, feedback: { installed: "{{name}} установлен", reload: "{{name}} перезагружен", enable: "{{name}} включён", disable: "{{name}} отключён", remove: "{{name}} удалён", kept: "{{name}} сохранён", globalEnabled: "Плагины включены", globalDisabled: "Плагины отключены", }, removeConfirmTitle: "Удалить {{name}}?", removeConfirmMessage: "Конфигурация будет удалена. Исходный каталог останется на месте.", states: { offlineTitle: "Хост плагинов не в сети", offlineDescription: "Подключите хост снова, чтобы управлять плагинами.", updateTitle: "Обновите хост для управления плагинами", sourceUpdateTitle: "Обновите этот хост для установки плагинов", loading: "Загрузка плагинов…", errorTitle: "Не удалось загрузить плагины", retry: "Повторить", empty: "Нет настроенных плагинов", }, }, "zh-CN": { ...shared, screens: { open: "打开", offline: "连接到此主机以打开插件设置。", update: "更新此主机以使用插件设置。", unavailable: "此插件设置页面不可用。", backToPlugins: "返回插件", }, title: "插件", trustedTitle: "插件是受信任的代码", trustedDescription: "它们会在此主机和应用内运行,且没有隔离。请仅安装你信任的代码。", globalTitle: "启用插件", globalHint: "所有已配置插件的全局开关", sourceLabel: "插件来源", sourcePlaceholder: "owner/slug, 目录、Git URL 或 npm 包", docs: "文档", install: "安装插件", installing: "正在安装…", status: { running: "运行中", disabled: "已禁用", failed: "失败" }, actions: { menu: "{{name}} 的操作", settings: "设置", reload: "重新加载", reloading: "正在重新加载…", enable: "启用", enabling: "正在启用…", disable: "禁用", disabling: "正在禁用…", remove: "移除", removing: "正在移除…", }, feedback: { installed: "已安装 {{name}}", reload: "已重新加载 {{name}}", enable: "已启用 {{name}}", disable: "已禁用 {{name}}", remove: "已移除 {{name}}", kept: "已保留 {{name}}", globalEnabled: "插件已启用", globalDisabled: "插件已禁用", }, removeConfirmTitle: "移除 {{name}}?", removeConfirmMessage: "这会移除配置,但不会删除源目录。", states: { offlineTitle: "插件主机离线", offlineDescription: "重新连接此主机以管理其插件。", updateTitle: "更新此主机以管理插件", sourceUpdateTitle: "更新此主机以安装插件", loading: "正在加载插件…", errorTitle: "无法加载插件", retry: "重试", empty: "没有已配置的插件", }, }, } as const;