diff --git a/app/locales/es.json b/app/locales/es.json new file mode 100644 index 0000000..17bbe3e --- /dev/null +++ b/app/locales/es.json @@ -0,0 +1,27 @@ +{ + "heading": "Introduce el enlace del sitio web", + "label": "Enlace del sitio web del que quieres eliminar el paywall:", + "submit": "Enviar", + "toggle_dark_mode": "Alternar modo oscuro", + "status_heading": "Obteniendo artículo", + "error_title": "Algo salió mal", + "retry_button": "Probar otra URL", + "elapsed_template": "{seconds}s transcurridos", + "connection_lost_error": "Conexión con el servidor perdida. La página puede tardar demasiado en cargarse.", + "step_connect": "Conectando al sitio web...", + "step_fetch": "Descargando el contenido de la página...", + "step_detect": "Comprobando desafíos anti-bot...", + "step_fallback_freedium": "Probando Freedium (bypass de Medium)...", + "step_fallback_org": "Probando instantánea de archive.org...", + "step_fallback_ph": "Probando instantánea de archive.today / archive.ph...", + "step_process": "Procesando el artículo...", + "step_cleanup": "Limpiando y preparando la vista...", + "step_done": "¡Hecho!", + "invalid_url": "URL inválida", + "medium_challenge_error": "Medium mostró un desafío anti-bot y Freedium / archive.org / archive.today no devolvieron nada. Es posible que el artículo sea demasiado nuevo para haber sido archivado todavía.", + "challenge_error": "El sitio mostró un desafío anti-bot (Cloudflare u otro) y no se encontró una instantánea utilizable en archive.org o archive.today. Este sitio está bloqueando activamente las solicitudes automatizadas.", + "timeout_error": "El sitio web tardó demasiado en responder (tiempo de espera de 30 s). Intenta de nuevo más tarde.", + "connection_error": "No se pudo conectar con el sitio web. Comprueba la URL e inténtalo de nuevo.", + "request_error": "Error al obtener la página.", + "unexpected_error": "Error inesperado al obtener la página." +} diff --git a/app/locales/it.json b/app/locales/it.json new file mode 100644 index 0000000..c35e8bc --- /dev/null +++ b/app/locales/it.json @@ -0,0 +1,27 @@ +{ + "heading": "Inserisci il link del sito web", + "label": "Link del sito web per il quale vuoi rimuovere il paywall:", + "submit": "Invia", + "toggle_dark_mode": "Attiva/disattiva modalità scura", + "status_heading": "Recupero dell'articolo", + "error_title": "Qualcosa è andato storto", + "retry_button": "Prova un altro URL", + "elapsed_template": "{seconds}s trascorsi", + "connection_lost_error": "Connessione al server persa. La pagina potrebbe impiegare troppo tempo a caricarsi.", + "step_connect": "Connessione al sito...", + "step_fetch": "Download del contenuto della pagina...", + "step_detect": "Verifica delle protezioni anti-bot...", + "step_fallback_freedium": "Tentativo di Freedium (bypass di Medium)...", + "step_fallback_org": "Tentativo di snapshot da archive.org...", + "step_fallback_ph": "Tentativo di snapshot da archive.today / archive.ph...", + "step_process": "Elaborazione dell'articolo...", + "step_cleanup": "Pulizia e preparazione della vista...", + "step_done": "Fatto!", + "invalid_url": "URL non valido", + "medium_challenge_error": "Medium ha mostrato una sfida anti-bot e Freedium / archive.org / archive.today non hanno restituito nulla. L'articolo potrebbe essere troppo recente per essere stato archiviato.", + "challenge_error": "Il sito ha mostrato una sfida anti-bot (Cloudflare o simile) e non è stato trovato uno snapshot utilizzabile su archive.org o archive.today. Questo sito blocca attivamente le richieste automatiche.", + "timeout_error": "Il sito ha impiegato troppo tempo a rispondere (timeout 30s). Riprova più tardi.", + "connection_error": "Impossibile connettersi al sito. Controlla l'URL e riprova.", + "request_error": "Impossibile recuperare la pagina.", + "unexpected_error": "Errore imprevisto durante il recupero della pagina." +} diff --git a/app/locales/ja.json b/app/locales/ja.json new file mode 100644 index 0000000..7a22ebe --- /dev/null +++ b/app/locales/ja.json @@ -0,0 +1,27 @@ +{ + "heading": "ウェブサイトのリンクを入力してください", + "label": "ペイウォールを解除したいウェブサイトのリンク:", + "submit": "送信", + "toggle_dark_mode": "ダークモードを切替", + "status_heading": "記事を取得中", + "error_title": "エラーが発生しました", + "retry_button": "別のURLを試す", + "elapsed_template": "{seconds}秒経過", + "connection_lost_error": "サーバーとの接続が切れました。ページの読み込みに時間がかかっている可能性があります。", + "step_connect": "サイトに接続しています...", + "step_fetch": "ページのコンテンツをダウンロードしています...", + "step_detect": "アンチボット対策を確認しています...", + "step_fallback_freedium": "Freedium を試しています(Medium 回避)...", + "step_fallback_org": "archive.org のスナップショットを試しています...", + "step_fallback_ph": "archive.today / archive.ph のスナップショットを試しています...", + "step_process": "記事を処理しています...", + "step_cleanup": "表示を整えて準備しています...", + "step_done": "完了!", + "invalid_url": "無効な URL", + "medium_challenge_error": "Medium がアンチボットチャレンジを表示し、Freedium / archive.org / archive.today は何も返しませんでした。記事がまだアーカイブされていない可能性があります。", + "challenge_error": "サイトがアンチボットチャレンジ(Cloudflare 等)を返し、archive.org や archive.today に有用なスナップショットが見つかりませんでした。このサイトは自動化されたリクエストを積極的にブロックしています。", + "timeout_error": "サイトの応答が遅すぎます(30秒タイムアウト)。後でもう一度お試しください。", + "connection_error": "サイトに接続できません。URL を確認して再試行してください。", + "request_error": "ページの取得に失敗しました。", + "unexpected_error": "ページの取得中に予期しないエラーが発生しました。" +} diff --git a/app/locales/pt.json b/app/locales/pt.json new file mode 100644 index 0000000..2473879 --- /dev/null +++ b/app/locales/pt.json @@ -0,0 +1,27 @@ +{ + "heading": "Digite o link do site", + "label": "Link do site do qual você deseja remover o paywall:", + "submit": "Enviar", + "toggle_dark_mode": "Alternar modo escuro", + "status_heading": "Buscando artigo", + "error_title": "Algo deu errado", + "retry_button": "Tentar outra URL", + "elapsed_template": "{seconds}s decorrido", + "connection_lost_error": "Conexão com o servidor perdida. A página pode estar demorando muito para carregar.", + "step_connect": "Conectando ao site...", + "step_fetch": "Baixando o conteúdo da página...", + "step_detect": "Verificando desafios anti-bot...", + "step_fallback_freedium": "Tentando Freedium (bypass do Medium)...", + "step_fallback_org": "Tentando snapshot do archive.org...", + "step_fallback_ph": "Tentando snapshot do archive.today / archive.ph...", + "step_process": "Processando o artigo...", + "step_cleanup": "Limpando e preparando a visualização...", + "step_done": "Concluído!", + "invalid_url": "URL inválida", + "medium_challenge_error": "O Medium exibiu um desafio anti-bot e Freedium / archive.org / archive.today não retornaram nada. O artigo pode ser novo demais para ter sido arquivado.", + "challenge_error": "O site apresentou um desafio anti-bot (Cloudflare ou similar) e não foi encontrada uma snapshot utilizável no archive.org ou archive.today. Este site está bloqueando ativamente solicitações automatizadas.", + "timeout_error": "O site demorou muito para responder (timeout de 30s). Tente novamente mais tarde.", + "connection_error": "Não foi possível conectar ao site. Verifique a URL e tente novamente.", + "request_error": "Falha ao buscar a página.", + "unexpected_error": "Erro inesperado ao buscar a página." +} diff --git a/app/locales/ru.json b/app/locales/ru.json new file mode 100644 index 0000000..193f76e --- /dev/null +++ b/app/locales/ru.json @@ -0,0 +1,27 @@ +{ + "heading": "Введите ссылку на сайт", + "label": "Ссылка на сайт, с которого вы хотите убрать платный доступ:", + "submit": "Отправить", + "toggle_dark_mode": "Переключить тёмную тему", + "status_heading": "Загрузка статьи", + "error_title": "Что-то пошло не так", + "retry_button": "Попробовать другой URL", + "elapsed_template": "{seconds}s прошло", + "connection_lost_error": "Соединение с сервером потеряно. Возможно, страница слишком долго загружается.", + "step_connect": "Подключение к сайту...", + "step_fetch": "Загрузка содержимого страницы...", + "step_detect": "Проверка на анти-бот защиты...", + "step_fallback_freedium": "Пробуем Freedium (обход Medium)...", + "step_fallback_org": "Пробуем снимок с archive.org...", + "step_fallback_ph": "Пробуем снимок с archive.today / archive.ph...", + "step_process": "Обработка статьи...", + "step_cleanup": "Очистка и подготовка просмотра...", + "step_done": "Готово!", + "invalid_url": "Неверный URL", + "medium_challenge_error": "Medium показал проверку anti-bot, и Freedium / archive.org / archive.today не вернули ничего. Возможно, статья слишком новая и ещё не была заархивирована.", + "challenge_error": "Сайт вернул проверку anti-bot (Cloudflare или подобное), и не было найдено пригодного снимка на archive.org или archive.today. Этот сайт активно блокирует автоматические запросы.", + "timeout_error": "Сайт слишком долго отвечает (таймаут 30 с). Попробуйте позже.", + "connection_error": "Не удалось подключиться к сайту. Проверьте URL и попробуйте снова.", + "request_error": "Не удалось получить страницу.", + "unexpected_error": "Неожиданная ошибка при получении страницы." +} diff --git a/app/locales/zh.json b/app/locales/zh.json new file mode 100644 index 0000000..dd89948 --- /dev/null +++ b/app/locales/zh.json @@ -0,0 +1,27 @@ +{ + "heading": "输入网站链接", + "label": "要为其移除付费墙的网站链接:", + "submit": "提交", + "toggle_dark_mode": "切换深色模式", + "status_heading": "获取文章中", + "error_title": "出现错误", + "retry_button": "尝试另一个 URL", + "elapsed_template": "{seconds}秒已过", + "connection_lost_error": "与服务器的连接已断开。页面可能加载时间过长。", + "step_connect": "正在连接到网站...", + "step_fetch": "正在下载页面内容...", + "step_detect": "正在检查反机器人挑战...", + "step_fallback_freedium": "尝试 Freedium(绕过 Medium)...", + "step_fallback_org": "尝试 archive.org 快照...", + "step_fallback_ph": "尝试 archive.today / archive.ph 快照...", + "step_process": "正在处理文章...", + "step_cleanup": "正在清理并准备视图...", + "step_done": "完成!", + "invalid_url": "无效的 URL", + "medium_challenge_error": "Medium 出现了反机器人挑战,Freedium / archive.org / archive.today 均未返回可用结果。该文章可能太新,尚未被存档。", + "challenge_error": "该网站返回了反机器人挑战(如 Cloudflare),且在 archive.org 或 archive.today 未找到可用快照。该网站正在主动阻止自动请求。", + "timeout_error": "该网站响应超时(30 秒超时)。请稍后重试。", + "connection_error": "无法连接到该网站。请检查 URL 并重试。", + "request_error": "获取页面失败。", + "unexpected_error": "获取页面时发生意外错误。" +}