mirror of
https://github.com/zhom/donutbrowser.git
synced 2026-07-28 15:18:48 +02:00
feat: synchronizer
This commit is contained in:
@@ -184,6 +184,22 @@
|
||||
"changeFingerprint": "Change Fingerprint",
|
||||
"copyCookiesToProfile": "Copy Cookies to Profile"
|
||||
},
|
||||
"synchronizer": {
|
||||
"launchWithSync": "Launch with Synchronizer",
|
||||
"stopLeader": "Stop this profile and all its followers",
|
||||
"stopFollower": "Following actions of {{leaderName}}",
|
||||
"desyncedTooltip": "Synchronization failed at {{url}}",
|
||||
"paidFeature": "Synchronizer is a paid feature",
|
||||
"wayfernOnly": "Only Wayfern profiles can be synchronized",
|
||||
"selectFollowers": "Select Follower Profiles",
|
||||
"selectFollowersDesc": "Choose profiles that will mirror the actions of the leader profile. Only stopped Wayfern profiles can be selected.",
|
||||
"leader": "Leader",
|
||||
"follower": "Follower",
|
||||
"startSession": "Start Sync Session",
|
||||
"noFollowers": "Select at least one follower profile",
|
||||
"flakyBadge": "FLAKY",
|
||||
"flakyTooltip": "This profile has a different screen resolution than the leader. Page layouts may differ, causing clicks and interactions to hit the wrong elements."
|
||||
},
|
||||
"ephemeral": "Ephemeral",
|
||||
"ephemeralDescription": "The browser is forced to write profile data into memory instead of disk. Data is deleted when the browser is closed.",
|
||||
"ephemeralBadge": "Ephemeral",
|
||||
@@ -264,6 +280,26 @@
|
||||
"socks4": "SOCKS4",
|
||||
"socks5": "SOCKS5"
|
||||
},
|
||||
"tabs": {
|
||||
"regular": "Regular",
|
||||
"dynamic": "Dynamic"
|
||||
},
|
||||
"dynamic": {
|
||||
"description": "Dynamic proxy fetches connection details from a URL each time a profile is launched.",
|
||||
"url": "Proxy URL",
|
||||
"urlPlaceholder": "https://api.example.com/proxy",
|
||||
"urlRequired": "Dynamic proxy URL is required",
|
||||
"format": "Response Format",
|
||||
"formatJson": "JSON",
|
||||
"formatText": "Text",
|
||||
"formatJsonHint": "Expects JSON: {\"ip\": \"...\", \"port\": ..., \"username\": \"...\", \"password\": \"...\"}",
|
||||
"formatTextHint": "Expects text like: host:port:username:password or protocol://user:pass@host:port",
|
||||
"testUrl": "Test URL",
|
||||
"testing": "Testing...",
|
||||
"testSuccess": "Dynamic proxy resolved to {{host}}:{{port}}",
|
||||
"testFailed": "Failed to fetch proxy: {{error}}",
|
||||
"fetchFailed": "Failed to fetch dynamic proxy: {{error}}"
|
||||
},
|
||||
"check": {
|
||||
"checking": "Checking proxy...",
|
||||
"valid": "Proxy is valid",
|
||||
|
||||
@@ -184,6 +184,22 @@
|
||||
"changeFingerprint": "Cambiar Huella Digital",
|
||||
"copyCookiesToProfile": "Copiar Cookies al Perfil"
|
||||
},
|
||||
"synchronizer": {
|
||||
"launchWithSync": "Lanzar con Sincronizador",
|
||||
"stopLeader": "Detener este perfil y todos sus seguidores",
|
||||
"stopFollower": "Siguiendo las acciones de {{leaderName}}",
|
||||
"desyncedTooltip": "La sincronización falló en {{url}}",
|
||||
"paidFeature": "El sincronizador es una función de pago",
|
||||
"wayfernOnly": "Solo los perfiles Wayfern pueden sincronizarse",
|
||||
"selectFollowers": "Seleccionar perfiles seguidores",
|
||||
"selectFollowersDesc": "Elige los perfiles que replicarán las acciones del perfil líder. Solo se pueden seleccionar perfiles Wayfern detenidos.",
|
||||
"leader": "Líder",
|
||||
"follower": "Seguidor",
|
||||
"startSession": "Iniciar sesión de sincronización",
|
||||
"noFollowers": "Selecciona al menos un perfil seguidor",
|
||||
"flakyBadge": "FLAKY",
|
||||
"flakyTooltip": "Este perfil tiene una resolución de pantalla diferente a la del líder. El diseño de las páginas puede variar, lo que puede causar que los clics e interacciones fallen."
|
||||
},
|
||||
"ephemeral": "Efímero",
|
||||
"ephemeralDescription": "El navegador es forzado a escribir los datos del perfil en memoria en lugar del disco. Los datos se eliminan al cerrar el navegador.",
|
||||
"ephemeralBadge": "Efímero",
|
||||
@@ -264,6 +280,26 @@
|
||||
"socks4": "SOCKS4",
|
||||
"socks5": "SOCKS5"
|
||||
},
|
||||
"tabs": {
|
||||
"regular": "Regular",
|
||||
"dynamic": "Dinámico"
|
||||
},
|
||||
"dynamic": {
|
||||
"description": "El proxy dinámico obtiene los detalles de conexión desde una URL cada vez que se inicia un perfil.",
|
||||
"url": "URL del Proxy",
|
||||
"urlPlaceholder": "https://api.example.com/proxy",
|
||||
"urlRequired": "La URL del proxy dinámico es obligatoria",
|
||||
"format": "Formato de Respuesta",
|
||||
"formatJson": "JSON",
|
||||
"formatText": "Texto",
|
||||
"formatJsonHint": "Espera JSON: {\"ip\": \"...\", \"port\": ..., \"username\": \"...\", \"password\": \"...\"}",
|
||||
"formatTextHint": "Espera texto como: host:port:username:password o protocol://user:pass@host:port",
|
||||
"testUrl": "Probar URL",
|
||||
"testing": "Probando...",
|
||||
"testSuccess": "El proxy dinámico se resolvió a {{host}}:{{port}}",
|
||||
"testFailed": "Error al obtener el proxy: {{error}}",
|
||||
"fetchFailed": "Error al obtener el proxy dinámico: {{error}}"
|
||||
},
|
||||
"check": {
|
||||
"checking": "Verificando proxy...",
|
||||
"valid": "El proxy es válido",
|
||||
|
||||
@@ -184,6 +184,22 @@
|
||||
"changeFingerprint": "Changer l'Empreinte",
|
||||
"copyCookiesToProfile": "Copier les Cookies vers le Profil"
|
||||
},
|
||||
"synchronizer": {
|
||||
"launchWithSync": "Lancer avec le synchroniseur",
|
||||
"stopLeader": "Arrêter ce profil et tous ses suiveurs",
|
||||
"stopFollower": "Suit les actions de {{leaderName}}",
|
||||
"desyncedTooltip": "La synchronisation a échoué à {{url}}",
|
||||
"paidFeature": "Le synchroniseur est une fonctionnalité payante",
|
||||
"wayfernOnly": "Seuls les profils Wayfern peuvent être synchronisés",
|
||||
"selectFollowers": "Sélectionner les profils suiveurs",
|
||||
"selectFollowersDesc": "Choisissez les profils qui reproduiront les actions du profil leader. Seuls les profils Wayfern arrêtés peuvent être sélectionnés.",
|
||||
"leader": "Leader",
|
||||
"follower": "Suiveur",
|
||||
"startSession": "Démarrer la session de synchronisation",
|
||||
"noFollowers": "Sélectionnez au moins un profil suiveur",
|
||||
"flakyBadge": "FLAKY",
|
||||
"flakyTooltip": "Ce profil a une résolution d'écran différente de celle du leader. La mise en page des pages peut différer, ce qui peut causer des clics et interactions erronés."
|
||||
},
|
||||
"ephemeral": "Éphémère",
|
||||
"ephemeralDescription": "Le navigateur est forcé d'écrire les données du profil en mémoire au lieu du disque. Les données sont supprimées à la fermeture du navigateur.",
|
||||
"ephemeralBadge": "Éphémère",
|
||||
@@ -264,6 +280,26 @@
|
||||
"socks4": "SOCKS4",
|
||||
"socks5": "SOCKS5"
|
||||
},
|
||||
"tabs": {
|
||||
"regular": "Standard",
|
||||
"dynamic": "Dynamique"
|
||||
},
|
||||
"dynamic": {
|
||||
"description": "Le proxy dynamique récupère les détails de connexion depuis une URL à chaque lancement d'un profil.",
|
||||
"url": "URL du Proxy",
|
||||
"urlPlaceholder": "https://api.example.com/proxy",
|
||||
"urlRequired": "L'URL du proxy dynamique est requise",
|
||||
"format": "Format de Réponse",
|
||||
"formatJson": "JSON",
|
||||
"formatText": "Texte",
|
||||
"formatJsonHint": "Attend du JSON : {\"ip\": \"...\", \"port\": ..., \"username\": \"...\", \"password\": \"...\"}",
|
||||
"formatTextHint": "Attend du texte comme : host:port:username:password ou protocol://user:pass@host:port",
|
||||
"testUrl": "Tester l'URL",
|
||||
"testing": "Test en cours...",
|
||||
"testSuccess": "Le proxy dynamique a été résolu en {{host}}:{{port}}",
|
||||
"testFailed": "Échec de la récupération du proxy : {{error}}",
|
||||
"fetchFailed": "Échec de la récupération du proxy dynamique : {{error}}"
|
||||
},
|
||||
"check": {
|
||||
"checking": "Vérification du proxy...",
|
||||
"valid": "Le proxy est valide",
|
||||
|
||||
@@ -184,6 +184,22 @@
|
||||
"changeFingerprint": "フィンガープリントを変更",
|
||||
"copyCookiesToProfile": "Cookieをプロファイルにコピー"
|
||||
},
|
||||
"synchronizer": {
|
||||
"launchWithSync": "シンクロナイザーで起動",
|
||||
"stopLeader": "このプロフィールとすべてのフォロワーを停止",
|
||||
"stopFollower": "{{leaderName}}のアクションを追従中",
|
||||
"desyncedTooltip": "{{url}}で同期に失敗しました",
|
||||
"paidFeature": "シンクロナイザーは有料機能です",
|
||||
"wayfernOnly": "Wayfernプロフィールのみ同期可能です",
|
||||
"selectFollowers": "フォロワープロフィールを選択",
|
||||
"selectFollowersDesc": "リーダープロフィールのアクションを複製するプロフィールを選択してください。停止中のWayfernプロフィールのみ選択できます。",
|
||||
"leader": "リーダー",
|
||||
"follower": "フォロワー",
|
||||
"startSession": "同期セッションを開始",
|
||||
"noFollowers": "少なくとも1つのフォロワープロフィールを選択してください",
|
||||
"flakyBadge": "FLAKY",
|
||||
"flakyTooltip": "このプロフィールはリーダーと画面解像度が異なります。ページレイアウトが異なる可能性があり、クリックや操作が正しく動作しない場合があります。"
|
||||
},
|
||||
"ephemeral": "一時的",
|
||||
"ephemeralDescription": "ブラウザはプロファイルデータをディスクではなくメモリに書き込むよう強制されます。ブラウザを閉じるとデータは削除されます。",
|
||||
"ephemeralBadge": "一時的",
|
||||
@@ -264,6 +280,26 @@
|
||||
"socks4": "SOCKS4",
|
||||
"socks5": "SOCKS5"
|
||||
},
|
||||
"tabs": {
|
||||
"regular": "通常",
|
||||
"dynamic": "ダイナミック"
|
||||
},
|
||||
"dynamic": {
|
||||
"description": "ダイナミックプロキシは、プロファイルが起動されるたびにURLから接続情報を取得します。",
|
||||
"url": "プロキシURL",
|
||||
"urlPlaceholder": "https://api.example.com/proxy",
|
||||
"urlRequired": "ダイナミックプロキシのURLは必須です",
|
||||
"format": "レスポンス形式",
|
||||
"formatJson": "JSON",
|
||||
"formatText": "テキスト",
|
||||
"formatJsonHint": "JSON形式: {\"ip\": \"...\", \"port\": ..., \"username\": \"...\", \"password\": \"...\"}",
|
||||
"formatTextHint": "テキスト形式: host:port:username:password または protocol://user:pass@host:port",
|
||||
"testUrl": "URLをテスト",
|
||||
"testing": "テスト中...",
|
||||
"testSuccess": "ダイナミックプロキシは {{host}}:{{port}} に解決されました",
|
||||
"testFailed": "プロキシの取得に失敗しました: {{error}}",
|
||||
"fetchFailed": "ダイナミックプロキシの取得に失敗しました: {{error}}"
|
||||
},
|
||||
"check": {
|
||||
"checking": "プロキシを確認中...",
|
||||
"valid": "プロキシは有効です",
|
||||
|
||||
@@ -184,6 +184,22 @@
|
||||
"changeFingerprint": "Alterar Impressão Digital",
|
||||
"copyCookiesToProfile": "Copiar Cookies para o Perfil"
|
||||
},
|
||||
"synchronizer": {
|
||||
"launchWithSync": "Iniciar com Sincronizador",
|
||||
"stopLeader": "Parar este perfil e todos os seus seguidores",
|
||||
"stopFollower": "Seguindo as ações de {{leaderName}}",
|
||||
"desyncedTooltip": "A sincronização falhou em {{url}}",
|
||||
"paidFeature": "O sincronizador é um recurso pago",
|
||||
"wayfernOnly": "Apenas perfis Wayfern podem ser sincronizados",
|
||||
"selectFollowers": "Selecionar perfis seguidores",
|
||||
"selectFollowersDesc": "Escolha os perfis que replicarão as ações do perfil líder. Apenas perfis Wayfern parados podem ser selecionados.",
|
||||
"leader": "Líder",
|
||||
"follower": "Seguidor",
|
||||
"startSession": "Iniciar sessão de sincronização",
|
||||
"noFollowers": "Selecione pelo menos um perfil seguidor",
|
||||
"flakyBadge": "FLAKY",
|
||||
"flakyTooltip": "Este perfil tem uma resolução de tela diferente do líder. O layout das páginas pode variar, fazendo com que cliques e interações atinjam elementos errados."
|
||||
},
|
||||
"ephemeral": "Efêmero",
|
||||
"ephemeralDescription": "O navegador é forçado a gravar os dados do perfil na memória em vez do disco. Os dados são excluídos ao fechar o navegador.",
|
||||
"ephemeralBadge": "Efêmero",
|
||||
@@ -264,6 +280,26 @@
|
||||
"socks4": "SOCKS4",
|
||||
"socks5": "SOCKS5"
|
||||
},
|
||||
"tabs": {
|
||||
"regular": "Regular",
|
||||
"dynamic": "Dinâmico"
|
||||
},
|
||||
"dynamic": {
|
||||
"description": "O proxy dinâmico obtém os detalhes de conexão de uma URL cada vez que um perfil é iniciado.",
|
||||
"url": "URL do Proxy",
|
||||
"urlPlaceholder": "https://api.example.com/proxy",
|
||||
"urlRequired": "A URL do proxy dinâmico é obrigatória",
|
||||
"format": "Formato de Resposta",
|
||||
"formatJson": "JSON",
|
||||
"formatText": "Texto",
|
||||
"formatJsonHint": "Espera JSON: {\"ip\": \"...\", \"port\": ..., \"username\": \"...\", \"password\": \"...\"}",
|
||||
"formatTextHint": "Espera texto como: host:port:username:password ou protocol://user:pass@host:port",
|
||||
"testUrl": "Testar URL",
|
||||
"testing": "Testando...",
|
||||
"testSuccess": "O proxy dinâmico foi resolvido para {{host}}:{{port}}",
|
||||
"testFailed": "Falha ao obter o proxy: {{error}}",
|
||||
"fetchFailed": "Falha ao obter o proxy dinâmico: {{error}}"
|
||||
},
|
||||
"check": {
|
||||
"checking": "Verificando proxy...",
|
||||
"valid": "O proxy é válido",
|
||||
|
||||
@@ -184,6 +184,22 @@
|
||||
"changeFingerprint": "Изменить отпечаток",
|
||||
"copyCookiesToProfile": "Копировать Cookie в профиль"
|
||||
},
|
||||
"synchronizer": {
|
||||
"launchWithSync": "Запустить с синхронизатором",
|
||||
"stopLeader": "Остановить этот профиль и всех его последователей",
|
||||
"stopFollower": "Повторяет действия {{leaderName}}",
|
||||
"desyncedTooltip": "Синхронизация не удалась на {{url}}",
|
||||
"paidFeature": "Синхронизатор — платная функция",
|
||||
"wayfernOnly": "Синхронизировать можно только профили Wayfern",
|
||||
"selectFollowers": "Выберите профили-последователи",
|
||||
"selectFollowersDesc": "Выберите профили, которые будут повторять действия профиля-лидера. Можно выбрать только остановленные профили Wayfern.",
|
||||
"leader": "Лидер",
|
||||
"follower": "Последователь",
|
||||
"startSession": "Начать сессию синхронизации",
|
||||
"noFollowers": "Выберите хотя бы один профиль-последователь",
|
||||
"flakyBadge": "FLAKY",
|
||||
"flakyTooltip": "У этого профиля разрешение экрана отличается от лидера. Макет страниц может отличаться, что может привести к неправильным кликам и взаимодействиям."
|
||||
},
|
||||
"ephemeral": "Временный",
|
||||
"ephemeralDescription": "Браузер принудительно записывает данные профиля в память вместо диска. Данные удаляются при закрытии браузера.",
|
||||
"ephemeralBadge": "Временный",
|
||||
@@ -264,6 +280,26 @@
|
||||
"socks4": "SOCKS4",
|
||||
"socks5": "SOCKS5"
|
||||
},
|
||||
"tabs": {
|
||||
"regular": "Обычный",
|
||||
"dynamic": "Динамический"
|
||||
},
|
||||
"dynamic": {
|
||||
"description": "Динамический прокси получает данные подключения по URL при каждом запуске профиля.",
|
||||
"url": "URL прокси",
|
||||
"urlPlaceholder": "https://api.example.com/proxy",
|
||||
"urlRequired": "URL динамического прокси обязателен",
|
||||
"format": "Формат ответа",
|
||||
"formatJson": "JSON",
|
||||
"formatText": "Текст",
|
||||
"formatJsonHint": "Ожидается JSON: {\"ip\": \"...\", \"port\": ..., \"username\": \"...\", \"password\": \"...\"}",
|
||||
"formatTextHint": "Ожидается текст вида: host:port:username:password или protocol://user:pass@host:port",
|
||||
"testUrl": "Проверить URL",
|
||||
"testing": "Проверка...",
|
||||
"testSuccess": "Динамический прокси разрешён в {{host}}:{{port}}",
|
||||
"testFailed": "Не удалось получить прокси: {{error}}",
|
||||
"fetchFailed": "Не удалось получить динамический прокси: {{error}}"
|
||||
},
|
||||
"check": {
|
||||
"checking": "Проверка прокси...",
|
||||
"valid": "Прокси действителен",
|
||||
|
||||
@@ -184,6 +184,22 @@
|
||||
"changeFingerprint": "更改指纹",
|
||||
"copyCookiesToProfile": "复制 Cookies 到配置文件"
|
||||
},
|
||||
"synchronizer": {
|
||||
"launchWithSync": "使用同步器启动",
|
||||
"stopLeader": "停止此配置文件及其所有跟随者",
|
||||
"stopFollower": "正在跟随 {{leaderName}} 的操作",
|
||||
"desyncedTooltip": "在 {{url}} 同步失败",
|
||||
"paidFeature": "同步器是付费功能",
|
||||
"wayfernOnly": "只有 Wayfern 配置文件可以同步",
|
||||
"selectFollowers": "选择跟随者配置文件",
|
||||
"selectFollowersDesc": "选择将复制领导者配置文件操作的配置文件。只能选择已停止的 Wayfern 配置文件。",
|
||||
"leader": "领导者",
|
||||
"follower": "跟随者",
|
||||
"startSession": "开始同步会话",
|
||||
"noFollowers": "请至少选择一个跟随者配置文件",
|
||||
"flakyBadge": "FLAKY",
|
||||
"flakyTooltip": "此配置文件的屏幕分辨率与领导者不同。页面布局可能不同,导致点击和交互可能命中错误的元素。"
|
||||
},
|
||||
"ephemeral": "临时",
|
||||
"ephemeralDescription": "浏览器被强制将配置数据写入内存而非磁盘。关闭浏览器时数据将被删除。",
|
||||
"ephemeralBadge": "临时",
|
||||
@@ -264,6 +280,26 @@
|
||||
"socks4": "SOCKS4",
|
||||
"socks5": "SOCKS5"
|
||||
},
|
||||
"tabs": {
|
||||
"regular": "常规",
|
||||
"dynamic": "动态"
|
||||
},
|
||||
"dynamic": {
|
||||
"description": "动态代理在每次启动配置文件时从URL获取连接详情。",
|
||||
"url": "代理URL",
|
||||
"urlPlaceholder": "https://api.example.com/proxy",
|
||||
"urlRequired": "动态代理URL为必填项",
|
||||
"format": "响应格式",
|
||||
"formatJson": "JSON",
|
||||
"formatText": "文本",
|
||||
"formatJsonHint": "期望 JSON: {\"ip\": \"...\", \"port\": ..., \"username\": \"...\", \"password\": \"...\"}",
|
||||
"formatTextHint": "期望文本格式: host:port:username:password 或 protocol://user:pass@host:port",
|
||||
"testUrl": "测试URL",
|
||||
"testing": "测试中...",
|
||||
"testSuccess": "动态代理已解析为 {{host}}:{{port}}",
|
||||
"testFailed": "获取代理失败: {{error}}",
|
||||
"fetchFailed": "获取动态代理失败: {{error}}"
|
||||
},
|
||||
"check": {
|
||||
"checking": "检查代理中...",
|
||||
"valid": "代理有效",
|
||||
|
||||
Reference in New Issue
Block a user