From 2d09ea18a77f5d1473170c514ba54b8cbd995135 Mon Sep 17 00:00:00 2001 From: damnkrat <32395839+damnkrat@users.noreply.github.com> Date: Fri, 12 Jul 2024 23:09:55 +0300 Subject: [PATCH 01/50] Support building for arch linux --- electron-builder.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/electron-builder.yml b/electron-builder.yml index be300d36..6175ae63 100644 --- a/electron-builder.yml +++ b/electron-builder.yml @@ -46,6 +46,7 @@ linux: - snap - deb - rpm + - pacman maintainer: electronjs.org category: Game mimeTypes: From d8e4eef1070b392d1be707bc52cc670f476a2ac6 Mon Sep 17 00:00:00 2001 From: dannkunt Date: Sun, 14 Jul 2024 04:03:35 +0300 Subject: [PATCH 02/50] Fix build workflows --- .github/workflows/build.yml | 6 ++++++ .github/workflows/release.yml | 1 + electron-builder.yml | 4 ++-- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 20a00ccf..89bb555b 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -33,6 +33,11 @@ jobs: - name: Build with cx_Freeze run: python torrent-client/setup.py build + - name: Install bsdtar + run: | + sudo apt-get update + sudo apt-get install -y libarchive-tools + - name: Build Linux if: matrix.os == 'ubuntu-latest' run: yarn build:linux @@ -69,3 +74,4 @@ jobs: dist/*.tar.gz dist/*.yml dist/*.blockmap + dist/*.pacman diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index a0684c6c..9da34c72 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -72,5 +72,6 @@ jobs: dist/*.tar.gz dist/*.yml dist/*.blockmap + dist/*.pacman env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/electron-builder.yml b/electron-builder.yml index 6175ae63..3ed416fa 100644 --- a/electron-builder.yml +++ b/electron-builder.yml @@ -1,4 +1,4 @@ -appId: site.hydralauncher.hydra +appId: site. hydralauncher.hydra productName: Hydra directories: buildResources: build @@ -45,8 +45,8 @@ linux: - AppImage - snap - deb - - rpm - pacman + - rpm maintainer: electronjs.org category: Game mimeTypes: From b5af73cec42c45210d06b108cd53ae8c988c8bb4 Mon Sep 17 00:00:00 2001 From: dannkunt Date: Sun, 14 Jul 2024 14:11:35 +0300 Subject: [PATCH 03/50] Do not install bsdtar on windows --- .github/workflows/build.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 89bb555b..eeeb2e9e 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -34,6 +34,7 @@ jobs: run: python torrent-client/setup.py build - name: Install bsdtar + if: matrix.os == 'ubuntu-latest' run: | sudo apt-get update sudo apt-get install -y libarchive-tools From 1366ca0087eb481a56e15d20d4866d771398d3fa Mon Sep 17 00:00:00 2001 From: dannkunt Date: Tue, 16 Jul 2024 16:38:06 +0300 Subject: [PATCH 04/50] Also build arch at release --- .github/workflows/build.yml | 7 ++----- .github/workflows/release.yml | 5 ++++- electron-builder.yml | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index eeeb2e9e..83636af6 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -33,15 +33,12 @@ jobs: - name: Build with cx_Freeze run: python torrent-client/setup.py build - - name: Install bsdtar + - name: Build Linux if: matrix.os == 'ubuntu-latest' run: | sudo apt-get update sudo apt-get install -y libarchive-tools - - - name: Build Linux - if: matrix.os == 'ubuntu-latest' - run: yarn build:linux + yarn build:linux env: MAIN_VITE_ONLINEFIX_USERNAME: ${{ secrets.ONLINEFIX_USERNAME }} MAIN_VITE_ONLINEFIX_PASSWORD: ${{ secrets.ONLINEFIX_PASSWORD }} diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 9da34c72..0a5296f0 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -37,7 +37,10 @@ jobs: - name: Build Linux if: matrix.os == 'ubuntu-latest' - run: yarn build:linux + run: | + sudo apt-get update + sudo apt-get install -y libarchive-tools + yarn build:linux env: MAIN_VITE_ONLINEFIX_USERNAME: ${{ secrets.ONLINEFIX_USERNAME }} MAIN_VITE_ONLINEFIX_PASSWORD: ${{ secrets.ONLINEFIX_PASSWORD }} diff --git a/electron-builder.yml b/electron-builder.yml index 3ed416fa..65c847a2 100644 --- a/electron-builder.yml +++ b/electron-builder.yml @@ -1,4 +1,4 @@ -appId: site. hydralauncher.hydra +appId: site.hydralauncher.hydra productName: Hydra directories: buildResources: build From 84c6951d30ba5c7a898d723e9b84288eb5c6466e Mon Sep 17 00:00:00 2001 From: Thales Euflauzino <120137721+thaleseuflauzino@users.noreply.github.com> Date: Tue, 27 Aug 2024 01:59:41 -0300 Subject: [PATCH 05/50] chore: rename pt to ptbr to add portugal language to hydra --- src/locales/ptbr/translation.json | 1 + 1 file changed, 1 insertion(+) create mode 100644 src/locales/ptbr/translation.json diff --git a/src/locales/ptbr/translation.json b/src/locales/ptbr/translation.json new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/src/locales/ptbr/translation.json @@ -0,0 +1 @@ + From 7867b7c838cb0163ff1b8ee0979dc1fce4f44629 Mon Sep 17 00:00:00 2001 From: Thales Euflauzino <120137721+thaleseuflauzino@users.noreply.github.com> Date: Tue, 27 Aug 2024 02:00:15 -0300 Subject: [PATCH 06/50] chore: add ptbr translate --- src/locales/ptbr/translation.json | 278 ++++++++++++++++++++++++++++++ 1 file changed, 278 insertions(+) diff --git a/src/locales/ptbr/translation.json b/src/locales/ptbr/translation.json index 8b137891..3fc31951 100644 --- a/src/locales/ptbr/translation.json +++ b/src/locales/ptbr/translation.json @@ -1 +1,279 @@ +{ + "app": { + "successfully_signed_in": "Autenticado com sucesso" + }, + "home": { + "featured": "Destaques", + "trending": "Populares", + "surprise_me": "Surpreenda-me", + "no_results": "Nenhum resultado encontrado" + }, + "sidebar": { + "catalogue": "Catálogo", + "downloads": "Downloads", + "settings": "Ajustes", + "my_library": "Biblioteca", + "downloading_metadata": "{{title}} (Baixando metadados…)", + "paused": "{{title}} (Pausado)", + "downloading": "{{title}} ({{percentage}} - Baixando…)", + "filter": "Buscar", + "home": "Início", + "queued": "{{title}} (Na fila)", + "game_has_no_executable": "Jogo não possui executável selecionado", + "sign_in": "Login" + }, + "header": { + "search": "Buscar jogos", + "catalogue": "Catálogo", + "downloads": "Downloads", + "search_results": "Resultados da busca", + "settings": "Ajustes", + "home": "Início", + "version_available_install": "Versão {{version}} disponível. Clique aqui para reiniciar e instalar.", + "version_available_download": "Versão {{version}} disponível. Clique aqui para fazer o download." + }, + "bottom_panel": { + "no_downloads_in_progress": "Sem downloads em andamento", + "downloading_metadata": "Baixando metadados de {{title}}…", + "downloading": "Baixando {{title}}… ({{percentage}} concluído) - Conclusão {{eta}} - {{speed}}", + "calculating_eta": "Baixando {{title}}… ({{percentage}} concluído) - Calculando tempo restante…", + "checking_files": "Verificando arquivos de {{title}}…" + }, + "game_details": { + "open_download_options": "Ver opções de download", + "download_options_zero": "Sem opções de download", + "download_options_one": "{{count}} opção de download", + "download_options_other": "{{count}} opções de download", + "updated_at": "Atualizado {{updated_at}}", + "resume": "Retomar", + "pause": "Pausar", + "cancel": "Cancelar", + "remove": "Remover", + "space_left_on_disk": "{{space}} livres em disco", + "eta": "Conclusão {{eta}}", + "calculating_eta": "Calculando tempo restante…", + "downloading_metadata": "Baixando metadados…", + "filter": "Filtrar repacks", + "requirements": "Requisitos de sistema", + "minimum": "Mínimos", + "recommended": "Recomendados", + "paused": "Pausado", + "release_date": "Lançado em {{date}}", + "publisher": "Publicado por {{publisher}}", + "hours": "horas", + "minutes": "minutos", + "amount_hours": "{{amount}} horas", + "amount_minutes": "{{amount}} minutos", + "accuracy": "{{accuracy}}% de precisão", + "add_to_library": "Adicionar à biblioteca", + "remove_from_library": "Remover da biblioteca", + "no_downloads": "Nenhum download disponível", + "play_time": "Jogou por {{amount}}", + "next_suggestion": "Próxima sugestão", + "install": "Instalar", + "last_time_played": "Última sessão {{period}}", + "play": "Jogar", + "not_played_yet": "Você ainda não jogou {{title}}", + "close": "Fechar", + "deleting": "Excluindo instalador…", + "playing_now": "Jogando agora", + "change": "Explorar", + "repacks_modal_description": "Escolha o repack do jogo que deseja baixar", + "select_folder_hint": "Para trocar o diretório padrão, acesse a <0>Tela de Ajustes", + "download_now": "Iniciar download", + "no_shop_details": "Não foi possível obter os detalhes da loja.", + "download_options": "Opções de download", + "download_path": "Diretório de download", + "previous_screenshot": "Captura de tela anterior", + "next_screenshot": "Próxima captura de tela", + "screenshot": "Captura de tela {{number}}", + "open_screenshot": "Ver captura de tela {{number}}", + "download_settings": "Ajustes do download", + "downloader": "Downloader", + "select_executable": "Explorar", + "no_executable_selected": "Nenhum executável selecionado", + "open_folder": "Abrir pasta", + "open_download_location": "Ver arquivos baixados", + "create_shortcut": "Criar atalho na área de trabalho", + "remove_files": "Remover arquivos", + "options": "Gerenciar", + "remove_from_library_description": "Isso irá remover {{game}} da sua biblioteca", + "remove_from_library_title": "Tem certeza?", + "executable_section_title": "Executável", + "executable_section_description": "O caminho do arquivo que será executado ao clicar em \"Jogar\"", + "downloads_secion_title": "Downloads", + "downloads_section_description": "Confira atualizações ou versões diferentes para este mesmo título", + "danger_zone_section_title": "Zona de perigo", + "danger_zone_section_description": "Remova o jogo da sua biblioteca ou os arquivos que foram baixados pelo Hydra", + "download_in_progress": "Download em andamento", + "download_paused": "Download pausado", + "last_downloaded_option": "Última opção baixada", + "create_shortcut_success": "Atalho criado com sucesso", + "create_shortcut_error": "Erro ao criar atalho" + }, + "activation": { + "title": "Ativação", + "installation_id": "ID da instalação:", + "enter_activation_code": "Insira seu código de ativação", + "message": "Se você não sabe onde conseguir o código, talvez você não devesse estar aqui.", + "activate": "Ativar", + "loading": "Carregando…" + }, + "downloads": { + "resume": "Retomar", + "pause": "Pausar", + "eta": "Conclusão {{eta}}", + "paused": "Pausado", + "verifying": "Verificando…", + "completed": "Concluído", + "removed": "Cancelado", + "cancel": "Cancelar", + "filter": "Filtrar jogos baixados", + "remove": "Remover", + "downloading_metadata": "Baixando metadados…", + "delete": "Remover instalador", + "delete_modal_description": "Isso removerá todos os arquivos de instalação do seu computador", + "delete_modal_title": "Tem certeza?", + "deleting": "Excluindo instalador…", + "install": "Instalar", + "download_in_progress": "Baixando agora", + "queued_downloads": "Na fila", + "downloads_completed": "Completo", + "queued": "Na fila", + "no_downloads_title": "Nada por aqui…", + "no_downloads_description": "Você ainda não baixou nada pelo Hydra, mas nunca é tarde para começar.", + "checking_files": "Verificando arquivos…" + }, + "settings": { + "downloads_path": "Diretório dos downloads", + "change": "Explorar...", + "notifications": "Notificações", + "enable_download_notifications": "Quando um download for concluído", + "enable_repack_list_notifications": "Quando a lista de repacks for atualizada", + "real_debrid_api_token_label": "Token de API do Real-Debrid", + "quit_app_instead_hiding": "Encerrar o Hydra em vez de apenas minimizá-lo ao fechar.", + "launch_with_system": "Iniciar o Hydra junto com o sistema", + "general": "Geral", + "behavior": "Comportamento", + "download_sources": "Fontes de download", + "language": "Idioma", + "real_debrid_api_token": "Token de API", + "enable_real_debrid": "Habilitar Real-Debrid", + "real_debrid_api_token_hint": "Você pode obter seu token de API <0>aqui", + "real_debrid_description": "O Real-Debrid é um downloader sem restrições que permite baixar arquivos instantaneamente e com a melhor velocidade da sua Internet.", + "real_debrid_invalid_token": "Token de API inválido", + "real_debrid_free_account_error": "A conta \"{{username}}\" é uma conta gratuita. Por favor, assine a Real-Debrid", + "real_debrid_linked_message": "Conta \"{{username}}\" vinculada", + "save_changes": "Salvar mudanças", + "changes_saved": "Ajustes salvos com sucesso", + "download_sources_description": "Hydra vai buscar links de download em todas as fonte habilitadas. A URL da fonte deve ser um link direto para um arquivo .json contendo uma lista de links.", + "validate_download_source": "Validar", + "remove_download_source": "Remover", + "add_download_source": "Adicionar fonte", + "download_count_zero": "Sem downloads na lista", + "download_count_one": "{{countFormatted}} download na lista", + "download_count_other": "{{countFormatted}} downloads na lista", + "download_options_zero": "Sem downloads disponíveis", + "download_options_one": "{{countFormatted}} download disponível", + "download_options_other": "{{countFormatted}} downloads disponíveis", + "download_source_url": "URL da fonte", + "add_download_source_description": "Insira a URL contendo o arquivo .json", + "download_source_up_to_date": "Sincronizada", + "download_source_errored": "Falhou", + "sync_download_sources": "Sincronizar", + "removed_download_source": "Fonte removida", + "added_download_source": "Fonte adicionada", + "download_sources_synced": "As fontes foram sincronizadas", + "insert_valid_json_url": "Insira a url de um JSON válido", + "found_download_option_zero": "Nenhuma opção de download encontrada", + "found_download_option_one": "{{countFormatted}} opção de download encontrada", + "found_download_option_other": "{{countFormatted}} opções de download encontradas", + "import": "Importar" + }, + "notifications": { + "download_complete": "Download concluído", + "game_ready_to_install": "{{title}} está pronto para ser instalado", + "repack_list_updated": "Lista de repacks atualizada", + "repack_count_one": "{{count}} novo repack", + "repack_count_other": "{{count}} novos repacks", + "new_update_available": "Versão {{version}} disponível", + "restart_to_install_update": "Reinicie o Hydra para instalar a nova versão" + }, + "system_tray": { + "open": "Abrir Hydra", + "quit": "Fechar" + }, + "game_card": { + "no_downloads": "Sem downloads disponíveis" + }, + "binary_not_found_modal": { + "title": "Programas não instalados", + "description": "Os executáveis do Wine ou Lutris não foram encontrados em seu sistema.", + "instructions": "Verifique a forma correta de instalar algum deles no seu distro Linux, garantindo assim a execução normal do jogo" + }, + "catalogue": { + "next_page": "Próxima página", + "previous_page": "Página anterior" + }, + "modal": { + "close": "Botão de fechar" + }, + "forms": { + "toggle_password_visibility": "Alternar visibilidade da senha" + }, + "user_profile": { + "amount_hours": "{{amount}} horas", + "amount_minutes": "{{amount}} minutos", + "last_time_played": "Última sessão {{period}}", + "activity": "Atividades recentes", + "library": "Biblioteca", + "total_play_time": "Tempo total de jogo: {{amount}}", + "no_recent_activity_title": "Hmmm… nada por aqui", + "no_recent_activity_description": "Parece que você não jogou nada recentemente. Que tal começar agora?", + "display_name": "Nome de exibição", + "saving": "Salvando…", + "save": "Salvar", + "edit_profile": "Editar perfil", + "saved_successfully": "Salvo com sucesso", + "try_again": "Por favor, tente novamente", + "cancel": "Cancelar", + "successfully_signed_out": "Deslogado com sucesso", + "sign_out": "Sair da conta", + "sign_out_modal_title": "Tem certeza?", + "playing_for": "Jogando por {{amount}}", + "sign_out_modal_text": "Sua biblioteca de jogos está associada com a sua conta atual. Ao sair, sua biblioteca não aparecerá mais no Hydra e qualquer progresso não será salvo. Deseja continuar?", + "add_friends": "Adicionar Amigos", + "friend_code": "Código de amigo", + "see_profile": "Ver perfil", + "friend_request_sent": "Pedido de amizade enviado", + "friends": "Amigos", + "add": "Adicionar", + "sending": "Enviando", + "friends_list": "Lista de amigos", + "user_not_found": "Usuário não encontrado", + "block_user": "Bloquear", + "add_friend": "Adicionar amigo", + "request_sent": "Pedido enviado", + "request_received": "Pedido recebido", + "accept_request": "Aceitar pedido", + "ignore_request": "Ignorar pedido", + "cancel_request": "Cancelar pedido", + "undo_friendship": "Desfazer amizade", + "request_accepted": "Pedido de amizade aceito", + "user_blocked_successfully": "Usuário bloqueado com sucesso", + "user_block_modal_text": "Bloquear {{displayName}}", + "settings": "Configurações", + "privacy": "Privacidade", + "private": "Privado", + "friends_only": "Apenas amigos", + "public": "Público", + "blocked_users": "Usuários bloqueados", + "unblock": "Desbloquear", + "no_friends_added": "Você ainda não possui amigos adicionados", + "pending": "Pendentes", + "no_pending_invites": "Você não possui convites de amizade pendentes", + "no_blocked_users": "Você não tem nenhum usuário bloqueado", + "friend_code_copied": "Código de amigo copiado" + } +} From 75bc386048d354a9e52bf21af7a9d622dc4a5317 Mon Sep 17 00:00:00 2001 From: Thales Euflauzino <120137721+thaleseuflauzino@users.noreply.github.com> Date: Tue, 27 Aug 2024 02:29:51 -0300 Subject: [PATCH 07/50] feat: add pt(portugal) translate --- src/locales/pt/translation.json | 226 ++++++++++++++++---------------- 1 file changed, 115 insertions(+), 111 deletions(-) diff --git a/src/locales/pt/translation.json b/src/locales/pt/translation.json index 36d38c96..ceeec7b2 100644 --- a/src/locales/pt/translation.json +++ b/src/locales/pt/translation.json @@ -1,60 +1,60 @@ { "app": { - "successfully_signed_in": "Autenticado com sucesso" + "successfully_signed_in": "Sessão iniciada com sucesso" }, "home": { "featured": "Destaques", "trending": "Populares", - "surprise_me": "Surpreenda-me", + "surprise_me": "Surpreende-me", "no_results": "Nenhum resultado encontrado" }, "sidebar": { "catalogue": "Catálogo", - "downloads": "Downloads", - "settings": "Ajustes", + "downloads": "Transferências", + "settings": "Definições", "my_library": "Biblioteca", - "downloading_metadata": "{{title}} (Baixando metadados…)", + "downloading_metadata": "{{title}} (A transferir metadados…)", "paused": "{{title}} (Pausado)", - "downloading": "{{title}} ({{percentage}} - Baixando…)", - "filter": "Buscar", + "downloading": "{{title}} ({{percentage}} - A transferir…)", + "filter": "Procurar", "home": "Início", "queued": "{{title}} (Na fila)", - "game_has_no_executable": "Jogo não possui executável selecionado", - "sign_in": "Login" + "game_has_no_executable": "Jogo não tem executável selecionado", + "sign_in": "Iniciar sessão" }, "header": { - "search": "Buscar jogos", + "search": "Procurar jogos", "catalogue": "Catálogo", - "downloads": "Downloads", - "search_results": "Resultados da busca", - "settings": "Ajustes", + "downloads": "Transferências", + "search_results": "Resultados da pesquisa", + "settings": "Definições", "home": "Início", "version_available_install": "Versão {{version}} disponível. Clique aqui para reiniciar e instalar.", "version_available_download": "Versão {{version}} disponível. Clique aqui para fazer o download." }, "bottom_panel": { - "no_downloads_in_progress": "Sem downloads em andamento", - "downloading_metadata": "Baixando metadados de {{title}}…", - "downloading": "Baixando {{title}}… ({{percentage}} concluído) - Conclusão {{eta}} - {{speed}}", - "calculating_eta": "Baixando {{title}}… ({{percentage}} concluído) - Calculando tempo restante…", - "checking_files": "Verificando arquivos de {{title}}…" + "no_downloads_in_progress": "Sem transferências em andamento", + "downloading_metadata": "A transferir metadados de {{title}}…", + "downloading": "A transferir {{title}}… ({{percentage}} concluído) - Conclusão {{eta}} - {{speed}}", + "calculating_eta": "A transferir {{title}}… ({{percentage}} concluído) - A calcular tempo restante…", + "checking_files": "A verificar ficheiros de {{title}}…" }, "game_details": { - "open_download_options": "Ver opções de download", - "download_options_zero": "Sem opções de download", - "download_options_one": "{{count}} opção de download", - "download_options_other": "{{count}} opções de download", - "updated_at": "Atualizado {{updated_at}}", + "open_download_options": "Ver opções de transferência", + "download_options_zero": "Sem opções de transferência", + "download_options_one": "{{count}} opção de transferência", + "download_options_other": "{{count}} opções de transferência", + "updated_at": "Atualizado a {{updated_at}}", "resume": "Retomar", "pause": "Pausar", "cancel": "Cancelar", "remove": "Remover", - "space_left_on_disk": "{{space}} livres em disco", + "space_left_on_disk": "{{space}} livres no disco", "eta": "Conclusão {{eta}}", - "calculating_eta": "Calculando tempo restante…", - "downloading_metadata": "Baixando metadados…", + "calculating_eta": "A calcular tempo restante…", + "downloading_metadata": "A transferir metadados…", "filter": "Filtrar repacks", - "requirements": "Requisitos de sistema", + "requirements": "Requisitos do sistema", "minimum": "Mínimos", "recommended": "Recomendados", "paused": "Pausado", @@ -67,132 +67,136 @@ "accuracy": "{{accuracy}}% de precisão", "add_to_library": "Adicionar à biblioteca", "remove_from_library": "Remover da biblioteca", - "no_downloads": "Nenhum download disponível", + "no_downloads": "Nenhuma transferência disponível", "play_time": "Jogou por {{amount}}", "next_suggestion": "Próxima sugestão", "install": "Instalar", "last_time_played": "Última sessão {{period}}", "play": "Jogar", - "not_played_yet": "Você ainda não jogou {{title}}", + "not_played_yet": "Ainda não jogou {{title}}", "close": "Fechar", - "deleting": "Excluindo instalador…", - "playing_now": "Jogando agora", + "deleting": "A eliminar instalador…", + "playing_now": "A jogar agora", "change": "Explorar", - "repacks_modal_description": "Escolha o repack do jogo que deseja baixar", - "select_folder_hint": "Para trocar o diretório padrão, acesse a <0>Tela de Ajustes", - "download_now": "Iniciar download", + "repacks_modal_description": "Escolha o repack do jogo que deseja transferir", + "select_folder_hint": "Para trocar o diretório padrão, aceda à <0>Tela de Definições", + "download_now": "Iniciar transferência", "no_shop_details": "Não foi possível obter os detalhes da loja.", - "download_options": "Opções de download", - "download_path": "Diretório de download", - "previous_screenshot": "Captura de tela anterior", - "next_screenshot": "Próxima captura de tela", - "screenshot": "Captura de tela {{number}}", - "open_screenshot": "Ver captura de tela {{number}}", - "download_settings": "Ajustes do download", + "download_options": "Opções de transferência", + "download_path": "Diretório de transferência", + "previous_screenshot": "Captura de ecrã anterior", + "next_screenshot": "Próxima captura de ecrã", + "screenshot": "Captura de ecrã {{number}}", + "open_screenshot": "Ver captura de ecrã {{number}}", + "download_settings": "Definições de transferência", "downloader": "Downloader", "select_executable": "Explorar", "no_executable_selected": "Nenhum executável selecionado", "open_folder": "Abrir pasta", - "open_download_location": "Ver arquivos baixados", - "create_shortcut": "Criar atalho na área de trabalho", - "remove_files": "Remover arquivos", - "options": "Gerenciar", - "remove_from_library_description": "Isso irá remover {{game}} da sua biblioteca", - "remove_from_library_title": "Tem certeza?", + "open_download_location": "Ver ficheiros transferidos", + "create_shortcut": "Criar atalho no ambiente de trabalho", + "remove_files": "Remover ficheiros", + "options": "Gerir", + "remove_from_library_description": "Isto irá remover {{game}} da sua biblioteca", + "remove_from_library_title": "Tem a certeza?", "executable_section_title": "Executável", - "executable_section_description": "O caminho do arquivo que será executado ao clicar em \"Jogar\"", - "downloads_secion_title": "Downloads", + "executable_section_description": "O caminho do ficheiro que será executado ao clicar em \"Jogar\"", + "downloads_secion_title": "Transferências", "downloads_section_description": "Confira atualizações ou versões diferentes para este mesmo título", "danger_zone_section_title": "Zona de perigo", - "danger_zone_section_description": "Remova o jogo da sua biblioteca ou os arquivos que foram baixados pelo Hydra", - "download_in_progress": "Download em andamento", - "download_paused": "Download pausado", - "last_downloaded_option": "Última opção baixada", + "danger_zone_section_description": "Remova o jogo da sua biblioteca ou os ficheiros que foram transferidos pelo Hydra", + "download_in_progress": "Transferência em andamento", + "download_paused": "Transferência pausada", + "last_downloaded_option": "Última opção transferida", "create_shortcut_success": "Atalho criado com sucesso", "create_shortcut_error": "Erro ao criar atalho" }, "activation": { "title": "Ativação", "installation_id": "ID da instalação:", - "enter_activation_code": "Insira seu código de ativação", - "message": "Se você não sabe onde conseguir o código, talvez você não devesse estar aqui.", + "enter_activation_code": "Insira o seu código de ativação", + "message": "Se não sabe onde conseguir o código, talvez não devesse estar aqui.", "activate": "Ativar", - "loading": "Carregando…" + "loading": "A carregar…" }, "downloads": { "resume": "Retomar", "pause": "Pausar", "eta": "Conclusão {{eta}}", "paused": "Pausado", - "verifying": "Verificando…", + "verifying": "A verificar…", "completed": "Concluído", "removed": "Cancelado", "cancel": "Cancelar", - "filter": "Filtrar jogos baixados", + "filter": "Filtrar jogos transferidos", "remove": "Remover", - "downloading_metadata": "Baixando metadados…", + "downloading_metadata": "A transferir metadados…", "delete": "Remover instalador", - "delete_modal_description": "Isso removerá todos os arquivos de instalação do seu computador", - "delete_modal_title": "Tem certeza?", - "deleting": "Excluindo instalador…", + "delete_modal_description": "Isto removerá todos os ficheiros de instalação do seu computador", + "delete_modal_title": "Tem a certeza?", + "deleting": "A eliminar instalador…", "install": "Instalar", - "download_in_progress": "Baixando agora", + "download_in_progress": "A transferir agora", "queued_downloads": "Na fila", - "downloads_completed": "Completo", + "downloads_completed": "Concluído", "queued": "Na fila", "no_downloads_title": "Nada por aqui…", - "no_downloads_description": "Você ainda não baixou nada pelo Hydra, mas nunca é tarde para começar.", - "checking_files": "Verificando arquivos…" + "no_downloads_description": "Ainda não transferiu nada pelo Hydra, mas nunca é tarde para começar.", + "checking_files": "A verificar ficheiros…" }, "settings": { - "downloads_path": "Diretório dos downloads", + "downloads_path": "Diretório das transferências", "change": "Explorar...", "notifications": "Notificações", - "enable_download_notifications": "Quando um download for concluído", + "enable_download_notifications": "Quando uma transferência for concluída", "enable_repack_list_notifications": "Quando a lista de repacks for atualizada", "real_debrid_api_token_label": "Token de API do Real-Debrid", "quit_app_instead_hiding": "Encerrar o Hydra em vez de apenas minimizá-lo ao fechar.", - "launch_with_system": "Iniciar o Hydra junto com o sistema", + "launch_with_system": "Iniciar o Hydra com o sistema", "general": "Geral", "behavior": "Comportamento", - "download_sources": "Fontes de download", + "download_sources": "Fontes de transferência", "language": "Idioma", "real_debrid_api_token": "Token de API", - "enable_real_debrid": "Habilitar Real-Debrid", - "real_debrid_api_token_hint": "Você pode obter seu token de API <0>aqui", - "real_debrid_description": "O Real-Debrid é um downloader sem restrições que permite baixar arquivos instantaneamente e com a melhor velocidade da sua Internet.", + "enable_real_debrid": "Ativar Real-Debrid", + "real_debrid_api_token_hint": "Pode obter o seu token de API <0>aqui", + "real_debrid_description": "O Real-Debrid é um downloader sem restrições que permite transferir ficheiros instantaneamente e com a melhor velocidade da sua Internet.", "real_debrid_invalid_token": "Token de API inválido", - "real_debrid_free_account_error": "A conta \"{{username}}\" é uma conta gratuita. Por favor, assine a Real-Debrid", + "real_debrid_free_account_error": "A conta \"{{username}}\" é uma conta gratuita. Por favor, subscreva o Real-Debrid", "real_debrid_linked_message": "Conta \"{{username}}\" vinculada", - "save_changes": "Salvar mudanças", - "changes_saved": "Ajustes salvos com sucesso", - "download_sources_description": "Hydra vai buscar links de download em todas as fonte habilitadas. A URL da fonte deve ser um link direto para um arquivo .json contendo uma lista de links.", + "save_changes": "Guardar alterações", + "changes_saved": "Definições guardadas com sucesso", + "download_sources_description": "O Hydra vai procurar links de transferência em todas as fontes ativadas. A URL da página de detalhes da loja não é guardada no seu dispositivo. Utilizamos um sistema de metadados criado pela comunidade para fornecer suporte a mais fontes de transferência de jogos.", + "enable_source": "Ativar", + "disable_source": "Desativar" + + "validate_download_source": "Validar", "remove_download_source": "Remover", "add_download_source": "Adicionar fonte", - "download_count_zero": "Sem downloads na lista", - "download_count_one": "{{countFormatted}} download na lista", - "download_count_other": "{{countFormatted}} downloads na lista", - "download_options_zero": "Sem downloads disponíveis", - "download_options_one": "{{countFormatted}} download disponível", - "download_options_other": "{{countFormatted}} downloads disponíveis", + "download_count_zero": "Sem transferências na lista", + "download_count_one": "{{countFormatted}} transferência na lista", + "download_count_other": "{{countFormatted}} transferências na lista", + "download_options_zero": "Sem transferências disponíveis", + "download_options_one": "{{countFormatted}} transferência disponível", + "download_options_other": "{{countFormatted}} transferências disponíveis", "download_source_url": "URL da fonte", - "add_download_source_description": "Insira a URL contendo o arquivo .json", + "add_download_source_description": "Insira o URL contendo o arquivo .json", "download_source_up_to_date": "Sincronizada", "download_source_errored": "Falhou", "sync_download_sources": "Sincronizar", "removed_download_source": "Fonte removida", "added_download_source": "Fonte adicionada", "download_sources_synced": "As fontes foram sincronizadas", - "insert_valid_json_url": "Insira a url de um JSON válido", - "found_download_option_zero": "Nenhuma opção de download encontrada", - "found_download_option_one": "{{countFormatted}} opção de download encontrada", - "found_download_option_other": "{{countFormatted}} opções de download encontradas", + "insert_valid_json_url": "Insira o URL de um JSON válido", + "found_download_option_zero": "Nenhuma opção de transferência encontrada", + "found_download_option_one": "{{countFormatted}} opção de transferência encontrada", + "found_download_option_other": "{{countFormatted}} opções de transferências encontradas", "import": "Importar" }, "notifications": { - "download_complete": "Download concluído", - "game_ready_to_install": "{{title}} está pronto para ser instalado", + "download_complete": "Transferência concluída", + "game_ready_to_install": "{{title}} está pronto para ser descarregado", "repack_list_updated": "Lista de repacks atualizada", "repack_count_one": "{{count}} novo repack", "repack_count_other": "{{count}} novos repacks", @@ -204,12 +208,12 @@ "quit": "Fechar" }, "game_card": { - "no_downloads": "Sem downloads disponíveis" + "no_downloads": "Sem transferências disponíveis" }, "binary_not_found_modal": { "title": "Programas não instalados", "description": "Os executáveis do Wine ou Lutris não foram encontrados em seu sistema.", - "instructions": "Verifique a forma correta de instalar algum deles no seu distro Linux, garantindo assim a execução normal do jogo" + "instructions": "Verifique a forma correta de instalar algum deles na sua distro Linux, garantindo assim a execução normal do jogo." }, "catalogue": { "next_page": "Próxima página", @@ -219,7 +223,7 @@ "close": "Botão de fechar" }, "forms": { - "toggle_password_visibility": "Alternar visibilidade da senha" + "toggle_password_visibility": "Alternar visibilidade da palavra-passe" }, "user_profile": { "amount_hours": "{{amount}} horas", @@ -229,28 +233,28 @@ "library": "Biblioteca", "total_play_time": "Tempo total de jogo: {{amount}}", "no_recent_activity_title": "Hmmm… nada por aqui", - "no_recent_activity_description": "Parece que você não jogou nada recentemente. Que tal começar agora?", + "no_recent_activity_description": "Parece que não jogaste nada recentemente. Que tal começar agora?", "display_name": "Nome de exibição", - "saving": "Salvando…", - "save": "Salvar", + "saving": "a guardar…", + "save": "Guardar", "edit_profile": "Editar perfil", - "saved_successfully": "Salvo com sucesso", - "try_again": "Por favor, tente novamente", + "saved_successfully": "Guardado com sucesso", + "try_again": "Por favor, tenta novamente", "cancel": "Cancelar", - "successfully_signed_out": "Deslogado com sucesso", - "sign_out": "Sair da conta", - "sign_out_modal_title": "Tem certeza?", - "playing_for": "Jogando por {{amount}}", - "sign_out_modal_text": "Sua biblioteca de jogos está associada com a sua conta atual. Ao sair, sua biblioteca não aparecerá mais no Hydra e qualquer progresso não será salvo. Deseja continuar?", + "successfully_signed_out": "Terminado com sucesso", + "sign_out": "Terminar sessão", + "sign_out_modal_title": "Tens a certeza?", + "playing_for": "A jogar há {{amount}}", + "sign_out_modal_text": "A tua biblioteca de jogos está associada com a tua conta atual. Ao sair, a tua biblioteca não aparecerá mais no Hydra e qualquer progresso não será guardado. Desejas continuar?", "add_friends": "Adicionar Amigos", "friend_code": "Código de amigo", "see_profile": "Ver perfil", "friend_request_sent": "Pedido de amizade enviado", "friends": "Amigos", "add": "Adicionar", - "sending": "Enviando", + "sending": "A enviar", "friends_list": "Lista de amigos", - "user_not_found": "Usuário não encontrado", + "user_not_found": "Utilizador não encontrado", "block_user": "Bloquear", "add_friend": "Adicionar amigo", "request_sent": "Pedido enviado", @@ -260,19 +264,19 @@ "cancel_request": "Cancelar pedido", "undo_friendship": "Desfazer amizade", "request_accepted": "Pedido de amizade aceito", - "user_blocked_successfully": "Usuário bloqueado com sucesso", + "user_blocked_successfully": "Utilizador bloqueado com sucesso", "user_block_modal_text": "Bloquear {{displayName}}", - "settings": "Configurações", + "settings": "Definições", "privacy": "Privacidade", "private": "Privado", "friends_only": "Apenas amigos", "public": "Público", - "blocked_users": "Usuários bloqueados", + "blocked_users": "Utilizadores bloqueados", "unblock": "Desbloquear", - "no_friends_added": "Você ainda não possui amigos adicionados", + "no_friends_added": "Ainda não adicionaste amigos", "pending": "Pendentes", - "no_pending_invites": "Você não possui convites de amizade pendentes", - "no_blocked_users": "Você não tem nenhum usuário bloqueado", + "no_pending_invites": "Não tens convites de amizade pendentes", + "no_blocked_users": "Não tens nenhum utilizador bloqueado", "friend_code_copied": "Código de amigo copiado" } } From 0b54a33084d50a3d9c9f1dd615181101f47c8ba3 Mon Sep 17 00:00:00 2001 From: Thales Euflauzino <120137721+thaleseuflauzino@users.noreply.github.com> Date: Tue, 27 Aug 2024 02:31:39 -0300 Subject: [PATCH 08/50] chore: Update index.ts --- src/locales/index.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/src/locales/index.ts b/src/locales/index.ts index 10f128ae..9a0e2f63 100644 --- a/src/locales/index.ts +++ b/src/locales/index.ts @@ -1,5 +1,6 @@ export { default as en } from "./en/translation.json"; export { default as pt } from "./pt/translation.json"; +export { default as ptbr } from "./ptbr/translation.json"; export { default as es } from "./es/translation.json"; export { default as nl } from "./nl/translation.json"; export { default as fr } from "./fr/translation.json"; From e6f296aba3a898c34e16cd6b9fe062576c66d775 Mon Sep 17 00:00:00 2001 From: Thales Euflauzino <120137721+thaleseuflauzino@users.noreply.github.com> Date: Tue, 27 Aug 2024 02:36:27 -0300 Subject: [PATCH 09/50] fix: gap between lines and missing "," --- src/locales/pt/translation.json | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/locales/pt/translation.json b/src/locales/pt/translation.json index ceeec7b2..6fb8b453 100644 --- a/src/locales/pt/translation.json +++ b/src/locales/pt/translation.json @@ -168,9 +168,7 @@ "changes_saved": "Definições guardadas com sucesso", "download_sources_description": "O Hydra vai procurar links de transferência em todas as fontes ativadas. A URL da página de detalhes da loja não é guardada no seu dispositivo. Utilizamos um sistema de metadados criado pela comunidade para fornecer suporte a mais fontes de transferência de jogos.", "enable_source": "Ativar", - "disable_source": "Desativar" - - + "disable_source": "Desativar", "validate_download_source": "Validar", "remove_download_source": "Remover", "add_download_source": "Adicionar fonte", From 5b493d8050a39d6c9d799cc2c64c4d381bd85baf Mon Sep 17 00:00:00 2001 From: Thales Euflauzino Date: Tue, 27 Aug 2024 02:43:12 -0300 Subject: [PATCH 10/50] fix: change name "ptbr" to "br" for prettier --- src/locales/{ptbr => br}/translation.json | 0 src/locales/index.ts | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) rename src/locales/{ptbr => br}/translation.json (100%) diff --git a/src/locales/ptbr/translation.json b/src/locales/br/translation.json similarity index 100% rename from src/locales/ptbr/translation.json rename to src/locales/br/translation.json diff --git a/src/locales/index.ts b/src/locales/index.ts index 9a0e2f63..a7853d14 100644 --- a/src/locales/index.ts +++ b/src/locales/index.ts @@ -1,6 +1,6 @@ export { default as en } from "./en/translation.json"; export { default as pt } from "./pt/translation.json"; -export { default as ptbr } from "./ptbr/translation.json"; +export { default as br } from "./ptbr/translation.json"; export { default as es } from "./es/translation.json"; export { default as nl } from "./nl/translation.json"; export { default as fr } from "./fr/translation.json"; From f4e4f7a61cc84a7b782d6a0246c90e5d09354d21 Mon Sep 17 00:00:00 2001 From: Thales Euflauzino Date: Tue, 27 Aug 2024 02:45:38 -0300 Subject: [PATCH 11/50] fix: error in index.ts, was ptbr --- src/locales/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/locales/index.ts b/src/locales/index.ts index a7853d14..7cef7a5e 100644 --- a/src/locales/index.ts +++ b/src/locales/index.ts @@ -1,6 +1,6 @@ export { default as en } from "./en/translation.json"; export { default as pt } from "./pt/translation.json"; -export { default as br } from "./ptbr/translation.json"; +export { default as br } from "./br/translation.json"; export { default as es } from "./es/translation.json"; export { default as nl } from "./nl/translation.json"; export { default as fr } from "./fr/translation.json"; From a809c841512d76b0f7842a5832ad771380443d5c Mon Sep 17 00:00:00 2001 From: Thales Euflauzino Date: Tue, 27 Aug 2024 02:58:00 -0300 Subject: [PATCH 12/50] fix: run prettier --- src/locales/br/translation.json | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/locales/br/translation.json b/src/locales/br/translation.json index 3fc31951..8c7b826a 100644 --- a/src/locales/br/translation.json +++ b/src/locales/br/translation.json @@ -1,4 +1,3 @@ - { "app": { "successfully_signed_in": "Autenticado com sucesso" @@ -167,7 +166,7 @@ "real_debrid_linked_message": "Conta \"{{username}}\" vinculada", "save_changes": "Salvar mudanças", "changes_saved": "Ajustes salvos com sucesso", - "download_sources_description": "Hydra vai buscar links de download em todas as fonte habilitadas. A URL da fonte deve ser um link direto para um arquivo .json contendo uma lista de links.", + "download_sources_description": "Hydra vai buscar links de download em todas as fontes habilitadas. A URL da fonte deve ser um link direto para um arquivo .json contendo uma lista de links.", "validate_download_source": "Validar", "remove_download_source": "Remover", "add_download_source": "Adicionar fonte", From 563e56e54dba06a82c61988bfe9270e87b818c52 Mon Sep 17 00:00:00 2001 From: Thales Euflauzino <120137721+thaleseuflauzino@users.noreply.github.com> Date: Tue, 27 Aug 2024 14:34:04 -0300 Subject: [PATCH 13/50] chore: update suggestion translation Co-authored-by: Agnaldo Junior --- src/locales/br/translation.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/locales/br/translation.json b/src/locales/br/translation.json index 8c7b826a..98489706 100644 --- a/src/locales/br/translation.json +++ b/src/locales/br/translation.json @@ -146,7 +146,7 @@ }, "settings": { "downloads_path": "Diretório dos downloads", - "change": "Explorar...", + "change": "Alterar", "notifications": "Notificações", "enable_download_notifications": "Quando um download for concluído", "enable_repack_list_notifications": "Quando a lista de repacks for atualizada", From 7c08668a03b5f22feffbd28f7f61c06daf366350 Mon Sep 17 00:00:00 2001 From: Thales Euflauzino <120137721+thaleseuflauzino@users.noreply.github.com> Date: Tue, 27 Aug 2024 14:34:14 -0300 Subject: [PATCH 14/50] chore: update suggestion translation Co-authored-by: Agnaldo Junior --- src/locales/br/translation.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/locales/br/translation.json b/src/locales/br/translation.json index 98489706..4f366985 100644 --- a/src/locales/br/translation.json +++ b/src/locales/br/translation.json @@ -112,7 +112,7 @@ "create_shortcut_error": "Erro ao criar atalho" }, "activation": { - "title": "Ativação", + "title": "Ativar Hydra", "installation_id": "ID da instalação:", "enter_activation_code": "Insira seu código de ativação", "message": "Se você não sabe onde conseguir o código, talvez você não devesse estar aqui.", From 629f20471478c903e2d03478b93b5dbc225068d9 Mon Sep 17 00:00:00 2001 From: Thales Euflauzino <120137721+thaleseuflauzino@users.noreply.github.com> Date: Tue, 27 Aug 2024 14:34:21 -0300 Subject: [PATCH 15/50] chore: update suggestion translation Co-authored-by: Agnaldo Junior --- src/locales/br/translation.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/locales/br/translation.json b/src/locales/br/translation.json index 4f366985..2b45fc71 100644 --- a/src/locales/br/translation.json +++ b/src/locales/br/translation.json @@ -27,7 +27,7 @@ "catalogue": "Catálogo", "downloads": "Downloads", "search_results": "Resultados da busca", - "settings": "Ajustes", + "settings": "Configurações", "home": "Início", "version_available_install": "Versão {{version}} disponível. Clique aqui para reiniciar e instalar.", "version_available_download": "Versão {{version}} disponível. Clique aqui para fazer o download." From 9e6484ad11573a6241f9458543e21e5362d0da72 Mon Sep 17 00:00:00 2001 From: Thales Euflauzino <120137721+thaleseuflauzino@users.noreply.github.com> Date: Tue, 27 Aug 2024 14:34:27 -0300 Subject: [PATCH 16/50] chore: update suggestion translation Co-authored-by: Agnaldo Junior --- src/locales/br/translation.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/locales/br/translation.json b/src/locales/br/translation.json index 2b45fc71..c97dd120 100644 --- a/src/locales/br/translation.json +++ b/src/locales/br/translation.json @@ -11,7 +11,7 @@ "sidebar": { "catalogue": "Catálogo", "downloads": "Downloads", - "settings": "Ajustes", + "settings": "Configurações", "my_library": "Biblioteca", "downloading_metadata": "{{title}} (Baixando metadados…)", "paused": "{{title}} (Pausado)", From f2c45983517fe12cb0fc5fc8fa3cce0b7fc287f7 Mon Sep 17 00:00:00 2001 From: Thales Euflauzino <120137721+thaleseuflauzino@users.noreply.github.com> Date: Tue, 27 Aug 2024 14:34:31 -0300 Subject: [PATCH 17/50] chore: update suggestion translation Co-authored-by: Agnaldo Junior --- src/locales/br/translation.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/locales/br/translation.json b/src/locales/br/translation.json index c97dd120..bd355473 100644 --- a/src/locales/br/translation.json +++ b/src/locales/br/translation.json @@ -16,7 +16,7 @@ "downloading_metadata": "{{title}} (Baixando metadados…)", "paused": "{{title}} (Pausado)", "downloading": "{{title}} ({{percentage}} - Baixando…)", - "filter": "Buscar", + "filter": "Filtrar bibilioteca", "home": "Início", "queued": "{{title}} (Na fila)", "game_has_no_executable": "Jogo não possui executável selecionado", From d2d00516a8d782ceb22d9a7213b593378a185f32 Mon Sep 17 00:00:00 2001 From: Thales Euflauzino Date: Tue, 27 Aug 2024 14:38:07 -0300 Subject: [PATCH 18/50] chore: updating translation location --- src/locales/pt-BR/translation.json | 278 ++++++++++++++++++++++++++++ src/locales/pt-PT/translation.json | 280 +++++++++++++++++++++++++++++ 2 files changed, 558 insertions(+) create mode 100644 src/locales/pt-BR/translation.json create mode 100644 src/locales/pt-PT/translation.json diff --git a/src/locales/pt-BR/translation.json b/src/locales/pt-BR/translation.json new file mode 100644 index 00000000..8c7b826a --- /dev/null +++ b/src/locales/pt-BR/translation.json @@ -0,0 +1,278 @@ +{ + "app": { + "successfully_signed_in": "Autenticado com sucesso" + }, + "home": { + "featured": "Destaques", + "trending": "Populares", + "surprise_me": "Surpreenda-me", + "no_results": "Nenhum resultado encontrado" + }, + "sidebar": { + "catalogue": "Catálogo", + "downloads": "Downloads", + "settings": "Ajustes", + "my_library": "Biblioteca", + "downloading_metadata": "{{title}} (Baixando metadados…)", + "paused": "{{title}} (Pausado)", + "downloading": "{{title}} ({{percentage}} - Baixando…)", + "filter": "Buscar", + "home": "Início", + "queued": "{{title}} (Na fila)", + "game_has_no_executable": "Jogo não possui executável selecionado", + "sign_in": "Login" + }, + "header": { + "search": "Buscar jogos", + "catalogue": "Catálogo", + "downloads": "Downloads", + "search_results": "Resultados da busca", + "settings": "Ajustes", + "home": "Início", + "version_available_install": "Versão {{version}} disponível. Clique aqui para reiniciar e instalar.", + "version_available_download": "Versão {{version}} disponível. Clique aqui para fazer o download." + }, + "bottom_panel": { + "no_downloads_in_progress": "Sem downloads em andamento", + "downloading_metadata": "Baixando metadados de {{title}}…", + "downloading": "Baixando {{title}}… ({{percentage}} concluído) - Conclusão {{eta}} - {{speed}}", + "calculating_eta": "Baixando {{title}}… ({{percentage}} concluído) - Calculando tempo restante…", + "checking_files": "Verificando arquivos de {{title}}…" + }, + "game_details": { + "open_download_options": "Ver opções de download", + "download_options_zero": "Sem opções de download", + "download_options_one": "{{count}} opção de download", + "download_options_other": "{{count}} opções de download", + "updated_at": "Atualizado {{updated_at}}", + "resume": "Retomar", + "pause": "Pausar", + "cancel": "Cancelar", + "remove": "Remover", + "space_left_on_disk": "{{space}} livres em disco", + "eta": "Conclusão {{eta}}", + "calculating_eta": "Calculando tempo restante…", + "downloading_metadata": "Baixando metadados…", + "filter": "Filtrar repacks", + "requirements": "Requisitos de sistema", + "minimum": "Mínimos", + "recommended": "Recomendados", + "paused": "Pausado", + "release_date": "Lançado em {{date}}", + "publisher": "Publicado por {{publisher}}", + "hours": "horas", + "minutes": "minutos", + "amount_hours": "{{amount}} horas", + "amount_minutes": "{{amount}} minutos", + "accuracy": "{{accuracy}}% de precisão", + "add_to_library": "Adicionar à biblioteca", + "remove_from_library": "Remover da biblioteca", + "no_downloads": "Nenhum download disponível", + "play_time": "Jogou por {{amount}}", + "next_suggestion": "Próxima sugestão", + "install": "Instalar", + "last_time_played": "Última sessão {{period}}", + "play": "Jogar", + "not_played_yet": "Você ainda não jogou {{title}}", + "close": "Fechar", + "deleting": "Excluindo instalador…", + "playing_now": "Jogando agora", + "change": "Explorar", + "repacks_modal_description": "Escolha o repack do jogo que deseja baixar", + "select_folder_hint": "Para trocar o diretório padrão, acesse a <0>Tela de Ajustes", + "download_now": "Iniciar download", + "no_shop_details": "Não foi possível obter os detalhes da loja.", + "download_options": "Opções de download", + "download_path": "Diretório de download", + "previous_screenshot": "Captura de tela anterior", + "next_screenshot": "Próxima captura de tela", + "screenshot": "Captura de tela {{number}}", + "open_screenshot": "Ver captura de tela {{number}}", + "download_settings": "Ajustes do download", + "downloader": "Downloader", + "select_executable": "Explorar", + "no_executable_selected": "Nenhum executável selecionado", + "open_folder": "Abrir pasta", + "open_download_location": "Ver arquivos baixados", + "create_shortcut": "Criar atalho na área de trabalho", + "remove_files": "Remover arquivos", + "options": "Gerenciar", + "remove_from_library_description": "Isso irá remover {{game}} da sua biblioteca", + "remove_from_library_title": "Tem certeza?", + "executable_section_title": "Executável", + "executable_section_description": "O caminho do arquivo que será executado ao clicar em \"Jogar\"", + "downloads_secion_title": "Downloads", + "downloads_section_description": "Confira atualizações ou versões diferentes para este mesmo título", + "danger_zone_section_title": "Zona de perigo", + "danger_zone_section_description": "Remova o jogo da sua biblioteca ou os arquivos que foram baixados pelo Hydra", + "download_in_progress": "Download em andamento", + "download_paused": "Download pausado", + "last_downloaded_option": "Última opção baixada", + "create_shortcut_success": "Atalho criado com sucesso", + "create_shortcut_error": "Erro ao criar atalho" + }, + "activation": { + "title": "Ativação", + "installation_id": "ID da instalação:", + "enter_activation_code": "Insira seu código de ativação", + "message": "Se você não sabe onde conseguir o código, talvez você não devesse estar aqui.", + "activate": "Ativar", + "loading": "Carregando…" + }, + "downloads": { + "resume": "Retomar", + "pause": "Pausar", + "eta": "Conclusão {{eta}}", + "paused": "Pausado", + "verifying": "Verificando…", + "completed": "Concluído", + "removed": "Cancelado", + "cancel": "Cancelar", + "filter": "Filtrar jogos baixados", + "remove": "Remover", + "downloading_metadata": "Baixando metadados…", + "delete": "Remover instalador", + "delete_modal_description": "Isso removerá todos os arquivos de instalação do seu computador", + "delete_modal_title": "Tem certeza?", + "deleting": "Excluindo instalador…", + "install": "Instalar", + "download_in_progress": "Baixando agora", + "queued_downloads": "Na fila", + "downloads_completed": "Completo", + "queued": "Na fila", + "no_downloads_title": "Nada por aqui…", + "no_downloads_description": "Você ainda não baixou nada pelo Hydra, mas nunca é tarde para começar.", + "checking_files": "Verificando arquivos…" + }, + "settings": { + "downloads_path": "Diretório dos downloads", + "change": "Explorar...", + "notifications": "Notificações", + "enable_download_notifications": "Quando um download for concluído", + "enable_repack_list_notifications": "Quando a lista de repacks for atualizada", + "real_debrid_api_token_label": "Token de API do Real-Debrid", + "quit_app_instead_hiding": "Encerrar o Hydra em vez de apenas minimizá-lo ao fechar.", + "launch_with_system": "Iniciar o Hydra junto com o sistema", + "general": "Geral", + "behavior": "Comportamento", + "download_sources": "Fontes de download", + "language": "Idioma", + "real_debrid_api_token": "Token de API", + "enable_real_debrid": "Habilitar Real-Debrid", + "real_debrid_api_token_hint": "Você pode obter seu token de API <0>aqui", + "real_debrid_description": "O Real-Debrid é um downloader sem restrições que permite baixar arquivos instantaneamente e com a melhor velocidade da sua Internet.", + "real_debrid_invalid_token": "Token de API inválido", + "real_debrid_free_account_error": "A conta \"{{username}}\" é uma conta gratuita. Por favor, assine a Real-Debrid", + "real_debrid_linked_message": "Conta \"{{username}}\" vinculada", + "save_changes": "Salvar mudanças", + "changes_saved": "Ajustes salvos com sucesso", + "download_sources_description": "Hydra vai buscar links de download em todas as fontes habilitadas. A URL da fonte deve ser um link direto para um arquivo .json contendo uma lista de links.", + "validate_download_source": "Validar", + "remove_download_source": "Remover", + "add_download_source": "Adicionar fonte", + "download_count_zero": "Sem downloads na lista", + "download_count_one": "{{countFormatted}} download na lista", + "download_count_other": "{{countFormatted}} downloads na lista", + "download_options_zero": "Sem downloads disponíveis", + "download_options_one": "{{countFormatted}} download disponível", + "download_options_other": "{{countFormatted}} downloads disponíveis", + "download_source_url": "URL da fonte", + "add_download_source_description": "Insira a URL contendo o arquivo .json", + "download_source_up_to_date": "Sincronizada", + "download_source_errored": "Falhou", + "sync_download_sources": "Sincronizar", + "removed_download_source": "Fonte removida", + "added_download_source": "Fonte adicionada", + "download_sources_synced": "As fontes foram sincronizadas", + "insert_valid_json_url": "Insira a url de um JSON válido", + "found_download_option_zero": "Nenhuma opção de download encontrada", + "found_download_option_one": "{{countFormatted}} opção de download encontrada", + "found_download_option_other": "{{countFormatted}} opções de download encontradas", + "import": "Importar" + }, + "notifications": { + "download_complete": "Download concluído", + "game_ready_to_install": "{{title}} está pronto para ser instalado", + "repack_list_updated": "Lista de repacks atualizada", + "repack_count_one": "{{count}} novo repack", + "repack_count_other": "{{count}} novos repacks", + "new_update_available": "Versão {{version}} disponível", + "restart_to_install_update": "Reinicie o Hydra para instalar a nova versão" + }, + "system_tray": { + "open": "Abrir Hydra", + "quit": "Fechar" + }, + "game_card": { + "no_downloads": "Sem downloads disponíveis" + }, + "binary_not_found_modal": { + "title": "Programas não instalados", + "description": "Os executáveis do Wine ou Lutris não foram encontrados em seu sistema.", + "instructions": "Verifique a forma correta de instalar algum deles no seu distro Linux, garantindo assim a execução normal do jogo" + }, + "catalogue": { + "next_page": "Próxima página", + "previous_page": "Página anterior" + }, + "modal": { + "close": "Botão de fechar" + }, + "forms": { + "toggle_password_visibility": "Alternar visibilidade da senha" + }, + "user_profile": { + "amount_hours": "{{amount}} horas", + "amount_minutes": "{{amount}} minutos", + "last_time_played": "Última sessão {{period}}", + "activity": "Atividades recentes", + "library": "Biblioteca", + "total_play_time": "Tempo total de jogo: {{amount}}", + "no_recent_activity_title": "Hmmm… nada por aqui", + "no_recent_activity_description": "Parece que você não jogou nada recentemente. Que tal começar agora?", + "display_name": "Nome de exibição", + "saving": "Salvando…", + "save": "Salvar", + "edit_profile": "Editar perfil", + "saved_successfully": "Salvo com sucesso", + "try_again": "Por favor, tente novamente", + "cancel": "Cancelar", + "successfully_signed_out": "Deslogado com sucesso", + "sign_out": "Sair da conta", + "sign_out_modal_title": "Tem certeza?", + "playing_for": "Jogando por {{amount}}", + "sign_out_modal_text": "Sua biblioteca de jogos está associada com a sua conta atual. Ao sair, sua biblioteca não aparecerá mais no Hydra e qualquer progresso não será salvo. Deseja continuar?", + "add_friends": "Adicionar Amigos", + "friend_code": "Código de amigo", + "see_profile": "Ver perfil", + "friend_request_sent": "Pedido de amizade enviado", + "friends": "Amigos", + "add": "Adicionar", + "sending": "Enviando", + "friends_list": "Lista de amigos", + "user_not_found": "Usuário não encontrado", + "block_user": "Bloquear", + "add_friend": "Adicionar amigo", + "request_sent": "Pedido enviado", + "request_received": "Pedido recebido", + "accept_request": "Aceitar pedido", + "ignore_request": "Ignorar pedido", + "cancel_request": "Cancelar pedido", + "undo_friendship": "Desfazer amizade", + "request_accepted": "Pedido de amizade aceito", + "user_blocked_successfully": "Usuário bloqueado com sucesso", + "user_block_modal_text": "Bloquear {{displayName}}", + "settings": "Configurações", + "privacy": "Privacidade", + "private": "Privado", + "friends_only": "Apenas amigos", + "public": "Público", + "blocked_users": "Usuários bloqueados", + "unblock": "Desbloquear", + "no_friends_added": "Você ainda não possui amigos adicionados", + "pending": "Pendentes", + "no_pending_invites": "Você não possui convites de amizade pendentes", + "no_blocked_users": "Você não tem nenhum usuário bloqueado", + "friend_code_copied": "Código de amigo copiado" + } +} diff --git a/src/locales/pt-PT/translation.json b/src/locales/pt-PT/translation.json new file mode 100644 index 00000000..6fb8b453 --- /dev/null +++ b/src/locales/pt-PT/translation.json @@ -0,0 +1,280 @@ +{ + "app": { + "successfully_signed_in": "Sessão iniciada com sucesso" + }, + "home": { + "featured": "Destaques", + "trending": "Populares", + "surprise_me": "Surpreende-me", + "no_results": "Nenhum resultado encontrado" + }, + "sidebar": { + "catalogue": "Catálogo", + "downloads": "Transferências", + "settings": "Definições", + "my_library": "Biblioteca", + "downloading_metadata": "{{title}} (A transferir metadados…)", + "paused": "{{title}} (Pausado)", + "downloading": "{{title}} ({{percentage}} - A transferir…)", + "filter": "Procurar", + "home": "Início", + "queued": "{{title}} (Na fila)", + "game_has_no_executable": "Jogo não tem executável selecionado", + "sign_in": "Iniciar sessão" + }, + "header": { + "search": "Procurar jogos", + "catalogue": "Catálogo", + "downloads": "Transferências", + "search_results": "Resultados da pesquisa", + "settings": "Definições", + "home": "Início", + "version_available_install": "Versão {{version}} disponível. Clique aqui para reiniciar e instalar.", + "version_available_download": "Versão {{version}} disponível. Clique aqui para fazer o download." + }, + "bottom_panel": { + "no_downloads_in_progress": "Sem transferências em andamento", + "downloading_metadata": "A transferir metadados de {{title}}…", + "downloading": "A transferir {{title}}… ({{percentage}} concluído) - Conclusão {{eta}} - {{speed}}", + "calculating_eta": "A transferir {{title}}… ({{percentage}} concluído) - A calcular tempo restante…", + "checking_files": "A verificar ficheiros de {{title}}…" + }, + "game_details": { + "open_download_options": "Ver opções de transferência", + "download_options_zero": "Sem opções de transferência", + "download_options_one": "{{count}} opção de transferência", + "download_options_other": "{{count}} opções de transferência", + "updated_at": "Atualizado a {{updated_at}}", + "resume": "Retomar", + "pause": "Pausar", + "cancel": "Cancelar", + "remove": "Remover", + "space_left_on_disk": "{{space}} livres no disco", + "eta": "Conclusão {{eta}}", + "calculating_eta": "A calcular tempo restante…", + "downloading_metadata": "A transferir metadados…", + "filter": "Filtrar repacks", + "requirements": "Requisitos do sistema", + "minimum": "Mínimos", + "recommended": "Recomendados", + "paused": "Pausado", + "release_date": "Lançado em {{date}}", + "publisher": "Publicado por {{publisher}}", + "hours": "horas", + "minutes": "minutos", + "amount_hours": "{{amount}} horas", + "amount_minutes": "{{amount}} minutos", + "accuracy": "{{accuracy}}% de precisão", + "add_to_library": "Adicionar à biblioteca", + "remove_from_library": "Remover da biblioteca", + "no_downloads": "Nenhuma transferência disponível", + "play_time": "Jogou por {{amount}}", + "next_suggestion": "Próxima sugestão", + "install": "Instalar", + "last_time_played": "Última sessão {{period}}", + "play": "Jogar", + "not_played_yet": "Ainda não jogou {{title}}", + "close": "Fechar", + "deleting": "A eliminar instalador…", + "playing_now": "A jogar agora", + "change": "Explorar", + "repacks_modal_description": "Escolha o repack do jogo que deseja transferir", + "select_folder_hint": "Para trocar o diretório padrão, aceda à <0>Tela de Definições", + "download_now": "Iniciar transferência", + "no_shop_details": "Não foi possível obter os detalhes da loja.", + "download_options": "Opções de transferência", + "download_path": "Diretório de transferência", + "previous_screenshot": "Captura de ecrã anterior", + "next_screenshot": "Próxima captura de ecrã", + "screenshot": "Captura de ecrã {{number}}", + "open_screenshot": "Ver captura de ecrã {{number}}", + "download_settings": "Definições de transferência", + "downloader": "Downloader", + "select_executable": "Explorar", + "no_executable_selected": "Nenhum executável selecionado", + "open_folder": "Abrir pasta", + "open_download_location": "Ver ficheiros transferidos", + "create_shortcut": "Criar atalho no ambiente de trabalho", + "remove_files": "Remover ficheiros", + "options": "Gerir", + "remove_from_library_description": "Isto irá remover {{game}} da sua biblioteca", + "remove_from_library_title": "Tem a certeza?", + "executable_section_title": "Executável", + "executable_section_description": "O caminho do ficheiro que será executado ao clicar em \"Jogar\"", + "downloads_secion_title": "Transferências", + "downloads_section_description": "Confira atualizações ou versões diferentes para este mesmo título", + "danger_zone_section_title": "Zona de perigo", + "danger_zone_section_description": "Remova o jogo da sua biblioteca ou os ficheiros que foram transferidos pelo Hydra", + "download_in_progress": "Transferência em andamento", + "download_paused": "Transferência pausada", + "last_downloaded_option": "Última opção transferida", + "create_shortcut_success": "Atalho criado com sucesso", + "create_shortcut_error": "Erro ao criar atalho" + }, + "activation": { + "title": "Ativação", + "installation_id": "ID da instalação:", + "enter_activation_code": "Insira o seu código de ativação", + "message": "Se não sabe onde conseguir o código, talvez não devesse estar aqui.", + "activate": "Ativar", + "loading": "A carregar…" + }, + "downloads": { + "resume": "Retomar", + "pause": "Pausar", + "eta": "Conclusão {{eta}}", + "paused": "Pausado", + "verifying": "A verificar…", + "completed": "Concluído", + "removed": "Cancelado", + "cancel": "Cancelar", + "filter": "Filtrar jogos transferidos", + "remove": "Remover", + "downloading_metadata": "A transferir metadados…", + "delete": "Remover instalador", + "delete_modal_description": "Isto removerá todos os ficheiros de instalação do seu computador", + "delete_modal_title": "Tem a certeza?", + "deleting": "A eliminar instalador…", + "install": "Instalar", + "download_in_progress": "A transferir agora", + "queued_downloads": "Na fila", + "downloads_completed": "Concluído", + "queued": "Na fila", + "no_downloads_title": "Nada por aqui…", + "no_downloads_description": "Ainda não transferiu nada pelo Hydra, mas nunca é tarde para começar.", + "checking_files": "A verificar ficheiros…" + }, + "settings": { + "downloads_path": "Diretório das transferências", + "change": "Explorar...", + "notifications": "Notificações", + "enable_download_notifications": "Quando uma transferência for concluída", + "enable_repack_list_notifications": "Quando a lista de repacks for atualizada", + "real_debrid_api_token_label": "Token de API do Real-Debrid", + "quit_app_instead_hiding": "Encerrar o Hydra em vez de apenas minimizá-lo ao fechar.", + "launch_with_system": "Iniciar o Hydra com o sistema", + "general": "Geral", + "behavior": "Comportamento", + "download_sources": "Fontes de transferência", + "language": "Idioma", + "real_debrid_api_token": "Token de API", + "enable_real_debrid": "Ativar Real-Debrid", + "real_debrid_api_token_hint": "Pode obter o seu token de API <0>aqui", + "real_debrid_description": "O Real-Debrid é um downloader sem restrições que permite transferir ficheiros instantaneamente e com a melhor velocidade da sua Internet.", + "real_debrid_invalid_token": "Token de API inválido", + "real_debrid_free_account_error": "A conta \"{{username}}\" é uma conta gratuita. Por favor, subscreva o Real-Debrid", + "real_debrid_linked_message": "Conta \"{{username}}\" vinculada", + "save_changes": "Guardar alterações", + "changes_saved": "Definições guardadas com sucesso", + "download_sources_description": "O Hydra vai procurar links de transferência em todas as fontes ativadas. A URL da página de detalhes da loja não é guardada no seu dispositivo. Utilizamos um sistema de metadados criado pela comunidade para fornecer suporte a mais fontes de transferência de jogos.", + "enable_source": "Ativar", + "disable_source": "Desativar", + "validate_download_source": "Validar", + "remove_download_source": "Remover", + "add_download_source": "Adicionar fonte", + "download_count_zero": "Sem transferências na lista", + "download_count_one": "{{countFormatted}} transferência na lista", + "download_count_other": "{{countFormatted}} transferências na lista", + "download_options_zero": "Sem transferências disponíveis", + "download_options_one": "{{countFormatted}} transferência disponível", + "download_options_other": "{{countFormatted}} transferências disponíveis", + "download_source_url": "URL da fonte", + "add_download_source_description": "Insira o URL contendo o arquivo .json", + "download_source_up_to_date": "Sincronizada", + "download_source_errored": "Falhou", + "sync_download_sources": "Sincronizar", + "removed_download_source": "Fonte removida", + "added_download_source": "Fonte adicionada", + "download_sources_synced": "As fontes foram sincronizadas", + "insert_valid_json_url": "Insira o URL de um JSON válido", + "found_download_option_zero": "Nenhuma opção de transferência encontrada", + "found_download_option_one": "{{countFormatted}} opção de transferência encontrada", + "found_download_option_other": "{{countFormatted}} opções de transferências encontradas", + "import": "Importar" + }, + "notifications": { + "download_complete": "Transferência concluída", + "game_ready_to_install": "{{title}} está pronto para ser descarregado", + "repack_list_updated": "Lista de repacks atualizada", + "repack_count_one": "{{count}} novo repack", + "repack_count_other": "{{count}} novos repacks", + "new_update_available": "Versão {{version}} disponível", + "restart_to_install_update": "Reinicie o Hydra para instalar a nova versão" + }, + "system_tray": { + "open": "Abrir Hydra", + "quit": "Fechar" + }, + "game_card": { + "no_downloads": "Sem transferências disponíveis" + }, + "binary_not_found_modal": { + "title": "Programas não instalados", + "description": "Os executáveis do Wine ou Lutris não foram encontrados em seu sistema.", + "instructions": "Verifique a forma correta de instalar algum deles na sua distro Linux, garantindo assim a execução normal do jogo." + }, + "catalogue": { + "next_page": "Próxima página", + "previous_page": "Página anterior" + }, + "modal": { + "close": "Botão de fechar" + }, + "forms": { + "toggle_password_visibility": "Alternar visibilidade da palavra-passe" + }, + "user_profile": { + "amount_hours": "{{amount}} horas", + "amount_minutes": "{{amount}} minutos", + "last_time_played": "Última sessão {{period}}", + "activity": "Atividades recentes", + "library": "Biblioteca", + "total_play_time": "Tempo total de jogo: {{amount}}", + "no_recent_activity_title": "Hmmm… nada por aqui", + "no_recent_activity_description": "Parece que não jogaste nada recentemente. Que tal começar agora?", + "display_name": "Nome de exibição", + "saving": "a guardar…", + "save": "Guardar", + "edit_profile": "Editar perfil", + "saved_successfully": "Guardado com sucesso", + "try_again": "Por favor, tenta novamente", + "cancel": "Cancelar", + "successfully_signed_out": "Terminado com sucesso", + "sign_out": "Terminar sessão", + "sign_out_modal_title": "Tens a certeza?", + "playing_for": "A jogar há {{amount}}", + "sign_out_modal_text": "A tua biblioteca de jogos está associada com a tua conta atual. Ao sair, a tua biblioteca não aparecerá mais no Hydra e qualquer progresso não será guardado. Desejas continuar?", + "add_friends": "Adicionar Amigos", + "friend_code": "Código de amigo", + "see_profile": "Ver perfil", + "friend_request_sent": "Pedido de amizade enviado", + "friends": "Amigos", + "add": "Adicionar", + "sending": "A enviar", + "friends_list": "Lista de amigos", + "user_not_found": "Utilizador não encontrado", + "block_user": "Bloquear", + "add_friend": "Adicionar amigo", + "request_sent": "Pedido enviado", + "request_received": "Pedido recebido", + "accept_request": "Aceitar pedido", + "ignore_request": "Ignorar pedido", + "cancel_request": "Cancelar pedido", + "undo_friendship": "Desfazer amizade", + "request_accepted": "Pedido de amizade aceito", + "user_blocked_successfully": "Utilizador bloqueado com sucesso", + "user_block_modal_text": "Bloquear {{displayName}}", + "settings": "Definições", + "privacy": "Privacidade", + "private": "Privado", + "friends_only": "Apenas amigos", + "public": "Público", + "blocked_users": "Utilizadores bloqueados", + "unblock": "Desbloquear", + "no_friends_added": "Ainda não adicionaste amigos", + "pending": "Pendentes", + "no_pending_invites": "Não tens convites de amizade pendentes", + "no_blocked_users": "Não tens nenhum utilizador bloqueado", + "friend_code_copied": "Código de amigo copiado" + } +} From dab12cb316d161409d23701caf52740dd45dc479 Mon Sep 17 00:00:00 2001 From: Thales Euflauzino Date: Tue, 27 Aug 2024 14:40:01 -0300 Subject: [PATCH 19/50] feat: add a new library for support differents type of "PT" translation --- package.json | 1 + yarn.lock | 5 +++++ 2 files changed, 6 insertions(+) diff --git a/package.json b/package.json index aa77084e..9514f471 100644 --- a/package.json +++ b/package.json @@ -32,6 +32,7 @@ "typeorm:migration-create": "yarn typeorm migration:create" }, "dependencies": { + "@cospired/i18n-iso-languages": "^4.2.0", "@electron-toolkit/preload": "^3.0.0", "@electron-toolkit/utils": "^3.0.0", "@fontsource/noto-sans": "^5.0.22", diff --git a/yarn.lock b/yarn.lock index 74b9a8a1..acb17953 100644 --- a/yarn.lock +++ b/yarn.lock @@ -579,6 +579,11 @@ "@types/conventional-commits-parser" "^5.0.0" chalk "^5.3.0" +"@cospired/i18n-iso-languages@^4.2.0": + version "4.2.0" + resolved "https://registry.yarnpkg.com/@cospired/i18n-iso-languages/-/i18n-iso-languages-4.2.0.tgz#094418a72f250fd612b3fc856b12f674a10864eb" + integrity sha512-vy8cq1176MTxVwB1X9niQjcIYOH29F8Huxtx8hLmT5Uz3l1ztGDGri8KN/4zE7LV2mCT7JrcAoNV/I9yb+lNUw== + "@develar/schema-utils@~2.6.5": version "2.6.5" resolved "https://registry.npmjs.org/@develar/schema-utils/-/schema-utils-2.6.5.tgz" From 15c21164e40bbc3fc9599cd558ec86a5970b9766 Mon Sep 17 00:00:00 2001 From: Thales Euflauzino Date: Tue, 27 Aug 2024 14:40:16 -0300 Subject: [PATCH 20/50] chore: updating translation location --- src/locales/index.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/locales/index.ts b/src/locales/index.ts index 7cef7a5e..f698976f 100644 --- a/src/locales/index.ts +++ b/src/locales/index.ts @@ -1,6 +1,6 @@ export { default as en } from "./en/translation.json"; -export { default as pt } from "./pt/translation.json"; -export { default as br } from "./br/translation.json"; +export { default as ptPT } from "./pt-PT/translation.json"; +export { default as ptBR } from "./pt-BR/translation.json"; export { default as es } from "./es/translation.json"; export { default as nl } from "./nl/translation.json"; export { default as fr } from "./fr/translation.json"; From f4cf33d369cb16a867d6cc5a2d47998459b756df Mon Sep 17 00:00:00 2001 From: Thales Euflauzino Date: Tue, 27 Aug 2024 14:41:24 -0300 Subject: [PATCH 21/50] feat: add a new library in setting general --- .../src/pages/settings/settings-general.tsx | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/src/renderer/src/pages/settings/settings-general.tsx b/src/renderer/src/pages/settings/settings-general.tsx index e09ebb11..5fee22aa 100644 --- a/src/renderer/src/pages/settings/settings-general.tsx +++ b/src/renderer/src/pages/settings/settings-general.tsx @@ -1,5 +1,6 @@ import { useContext, useEffect, useState } from "react"; -import ISO6391 from "iso-639-1"; +import languages from "@cospired/i18n-iso-languages"; +import languagesEn from "@cospired/i18n-iso-languages/langs/en.json"; import { TextField, @@ -21,6 +22,14 @@ interface LanguageOption { nativeName: string; } +languages.registerLocale(languagesEn); + +const customLanguageNames = { + ptBR: "Português (Brasil)", + ptPT: "Português (Portugal)", + // Adicione outros idiomas personalizados aqui, se necessário +}; + export function SettingsGeneral() { const { t } = useTranslation("settings"); @@ -52,7 +61,9 @@ export function SettingsGeneral() { orderBy( Object.keys(languageResources).map((language) => { return { - nativeName: ISO6391.getNativeName(language), + nativeName: + customLanguageNames[language] || + languages.getName(language, "en"), option: language, }; }), @@ -93,7 +104,7 @@ export function SettingsGeneral() { function updateFormWithUserPreferences() { if (userPreferences) { - const parsedLanguage = userPreferences.language.split("-")[0]; + const parsedLanguage = userPreferences.language; setForm((prev) => ({ ...prev, From 70f120a62c6f66d6fe08c956627b2a9cf1960634 Mon Sep 17 00:00:00 2001 From: Thales Euflauzino Date: Wed, 28 Aug 2024 04:42:10 -0300 Subject: [PATCH 22/50] delete: removing unused translation json --- src/locales/pt/translation.json | 280 ------------------ .../src/pages/settings/settings-general.tsx | 1 - 2 files changed, 281 deletions(-) delete mode 100644 src/locales/pt/translation.json diff --git a/src/locales/pt/translation.json b/src/locales/pt/translation.json deleted file mode 100644 index 6fb8b453..00000000 --- a/src/locales/pt/translation.json +++ /dev/null @@ -1,280 +0,0 @@ -{ - "app": { - "successfully_signed_in": "Sessão iniciada com sucesso" - }, - "home": { - "featured": "Destaques", - "trending": "Populares", - "surprise_me": "Surpreende-me", - "no_results": "Nenhum resultado encontrado" - }, - "sidebar": { - "catalogue": "Catálogo", - "downloads": "Transferências", - "settings": "Definições", - "my_library": "Biblioteca", - "downloading_metadata": "{{title}} (A transferir metadados…)", - "paused": "{{title}} (Pausado)", - "downloading": "{{title}} ({{percentage}} - A transferir…)", - "filter": "Procurar", - "home": "Início", - "queued": "{{title}} (Na fila)", - "game_has_no_executable": "Jogo não tem executável selecionado", - "sign_in": "Iniciar sessão" - }, - "header": { - "search": "Procurar jogos", - "catalogue": "Catálogo", - "downloads": "Transferências", - "search_results": "Resultados da pesquisa", - "settings": "Definições", - "home": "Início", - "version_available_install": "Versão {{version}} disponível. Clique aqui para reiniciar e instalar.", - "version_available_download": "Versão {{version}} disponível. Clique aqui para fazer o download." - }, - "bottom_panel": { - "no_downloads_in_progress": "Sem transferências em andamento", - "downloading_metadata": "A transferir metadados de {{title}}…", - "downloading": "A transferir {{title}}… ({{percentage}} concluído) - Conclusão {{eta}} - {{speed}}", - "calculating_eta": "A transferir {{title}}… ({{percentage}} concluído) - A calcular tempo restante…", - "checking_files": "A verificar ficheiros de {{title}}…" - }, - "game_details": { - "open_download_options": "Ver opções de transferência", - "download_options_zero": "Sem opções de transferência", - "download_options_one": "{{count}} opção de transferência", - "download_options_other": "{{count}} opções de transferência", - "updated_at": "Atualizado a {{updated_at}}", - "resume": "Retomar", - "pause": "Pausar", - "cancel": "Cancelar", - "remove": "Remover", - "space_left_on_disk": "{{space}} livres no disco", - "eta": "Conclusão {{eta}}", - "calculating_eta": "A calcular tempo restante…", - "downloading_metadata": "A transferir metadados…", - "filter": "Filtrar repacks", - "requirements": "Requisitos do sistema", - "minimum": "Mínimos", - "recommended": "Recomendados", - "paused": "Pausado", - "release_date": "Lançado em {{date}}", - "publisher": "Publicado por {{publisher}}", - "hours": "horas", - "minutes": "minutos", - "amount_hours": "{{amount}} horas", - "amount_minutes": "{{amount}} minutos", - "accuracy": "{{accuracy}}% de precisão", - "add_to_library": "Adicionar à biblioteca", - "remove_from_library": "Remover da biblioteca", - "no_downloads": "Nenhuma transferência disponível", - "play_time": "Jogou por {{amount}}", - "next_suggestion": "Próxima sugestão", - "install": "Instalar", - "last_time_played": "Última sessão {{period}}", - "play": "Jogar", - "not_played_yet": "Ainda não jogou {{title}}", - "close": "Fechar", - "deleting": "A eliminar instalador…", - "playing_now": "A jogar agora", - "change": "Explorar", - "repacks_modal_description": "Escolha o repack do jogo que deseja transferir", - "select_folder_hint": "Para trocar o diretório padrão, aceda à <0>Tela de Definições", - "download_now": "Iniciar transferência", - "no_shop_details": "Não foi possível obter os detalhes da loja.", - "download_options": "Opções de transferência", - "download_path": "Diretório de transferência", - "previous_screenshot": "Captura de ecrã anterior", - "next_screenshot": "Próxima captura de ecrã", - "screenshot": "Captura de ecrã {{number}}", - "open_screenshot": "Ver captura de ecrã {{number}}", - "download_settings": "Definições de transferência", - "downloader": "Downloader", - "select_executable": "Explorar", - "no_executable_selected": "Nenhum executável selecionado", - "open_folder": "Abrir pasta", - "open_download_location": "Ver ficheiros transferidos", - "create_shortcut": "Criar atalho no ambiente de trabalho", - "remove_files": "Remover ficheiros", - "options": "Gerir", - "remove_from_library_description": "Isto irá remover {{game}} da sua biblioteca", - "remove_from_library_title": "Tem a certeza?", - "executable_section_title": "Executável", - "executable_section_description": "O caminho do ficheiro que será executado ao clicar em \"Jogar\"", - "downloads_secion_title": "Transferências", - "downloads_section_description": "Confira atualizações ou versões diferentes para este mesmo título", - "danger_zone_section_title": "Zona de perigo", - "danger_zone_section_description": "Remova o jogo da sua biblioteca ou os ficheiros que foram transferidos pelo Hydra", - "download_in_progress": "Transferência em andamento", - "download_paused": "Transferência pausada", - "last_downloaded_option": "Última opção transferida", - "create_shortcut_success": "Atalho criado com sucesso", - "create_shortcut_error": "Erro ao criar atalho" - }, - "activation": { - "title": "Ativação", - "installation_id": "ID da instalação:", - "enter_activation_code": "Insira o seu código de ativação", - "message": "Se não sabe onde conseguir o código, talvez não devesse estar aqui.", - "activate": "Ativar", - "loading": "A carregar…" - }, - "downloads": { - "resume": "Retomar", - "pause": "Pausar", - "eta": "Conclusão {{eta}}", - "paused": "Pausado", - "verifying": "A verificar…", - "completed": "Concluído", - "removed": "Cancelado", - "cancel": "Cancelar", - "filter": "Filtrar jogos transferidos", - "remove": "Remover", - "downloading_metadata": "A transferir metadados…", - "delete": "Remover instalador", - "delete_modal_description": "Isto removerá todos os ficheiros de instalação do seu computador", - "delete_modal_title": "Tem a certeza?", - "deleting": "A eliminar instalador…", - "install": "Instalar", - "download_in_progress": "A transferir agora", - "queued_downloads": "Na fila", - "downloads_completed": "Concluído", - "queued": "Na fila", - "no_downloads_title": "Nada por aqui…", - "no_downloads_description": "Ainda não transferiu nada pelo Hydra, mas nunca é tarde para começar.", - "checking_files": "A verificar ficheiros…" - }, - "settings": { - "downloads_path": "Diretório das transferências", - "change": "Explorar...", - "notifications": "Notificações", - "enable_download_notifications": "Quando uma transferência for concluída", - "enable_repack_list_notifications": "Quando a lista de repacks for atualizada", - "real_debrid_api_token_label": "Token de API do Real-Debrid", - "quit_app_instead_hiding": "Encerrar o Hydra em vez de apenas minimizá-lo ao fechar.", - "launch_with_system": "Iniciar o Hydra com o sistema", - "general": "Geral", - "behavior": "Comportamento", - "download_sources": "Fontes de transferência", - "language": "Idioma", - "real_debrid_api_token": "Token de API", - "enable_real_debrid": "Ativar Real-Debrid", - "real_debrid_api_token_hint": "Pode obter o seu token de API <0>aqui", - "real_debrid_description": "O Real-Debrid é um downloader sem restrições que permite transferir ficheiros instantaneamente e com a melhor velocidade da sua Internet.", - "real_debrid_invalid_token": "Token de API inválido", - "real_debrid_free_account_error": "A conta \"{{username}}\" é uma conta gratuita. Por favor, subscreva o Real-Debrid", - "real_debrid_linked_message": "Conta \"{{username}}\" vinculada", - "save_changes": "Guardar alterações", - "changes_saved": "Definições guardadas com sucesso", - "download_sources_description": "O Hydra vai procurar links de transferência em todas as fontes ativadas. A URL da página de detalhes da loja não é guardada no seu dispositivo. Utilizamos um sistema de metadados criado pela comunidade para fornecer suporte a mais fontes de transferência de jogos.", - "enable_source": "Ativar", - "disable_source": "Desativar", - "validate_download_source": "Validar", - "remove_download_source": "Remover", - "add_download_source": "Adicionar fonte", - "download_count_zero": "Sem transferências na lista", - "download_count_one": "{{countFormatted}} transferência na lista", - "download_count_other": "{{countFormatted}} transferências na lista", - "download_options_zero": "Sem transferências disponíveis", - "download_options_one": "{{countFormatted}} transferência disponível", - "download_options_other": "{{countFormatted}} transferências disponíveis", - "download_source_url": "URL da fonte", - "add_download_source_description": "Insira o URL contendo o arquivo .json", - "download_source_up_to_date": "Sincronizada", - "download_source_errored": "Falhou", - "sync_download_sources": "Sincronizar", - "removed_download_source": "Fonte removida", - "added_download_source": "Fonte adicionada", - "download_sources_synced": "As fontes foram sincronizadas", - "insert_valid_json_url": "Insira o URL de um JSON válido", - "found_download_option_zero": "Nenhuma opção de transferência encontrada", - "found_download_option_one": "{{countFormatted}} opção de transferência encontrada", - "found_download_option_other": "{{countFormatted}} opções de transferências encontradas", - "import": "Importar" - }, - "notifications": { - "download_complete": "Transferência concluída", - "game_ready_to_install": "{{title}} está pronto para ser descarregado", - "repack_list_updated": "Lista de repacks atualizada", - "repack_count_one": "{{count}} novo repack", - "repack_count_other": "{{count}} novos repacks", - "new_update_available": "Versão {{version}} disponível", - "restart_to_install_update": "Reinicie o Hydra para instalar a nova versão" - }, - "system_tray": { - "open": "Abrir Hydra", - "quit": "Fechar" - }, - "game_card": { - "no_downloads": "Sem transferências disponíveis" - }, - "binary_not_found_modal": { - "title": "Programas não instalados", - "description": "Os executáveis do Wine ou Lutris não foram encontrados em seu sistema.", - "instructions": "Verifique a forma correta de instalar algum deles na sua distro Linux, garantindo assim a execução normal do jogo." - }, - "catalogue": { - "next_page": "Próxima página", - "previous_page": "Página anterior" - }, - "modal": { - "close": "Botão de fechar" - }, - "forms": { - "toggle_password_visibility": "Alternar visibilidade da palavra-passe" - }, - "user_profile": { - "amount_hours": "{{amount}} horas", - "amount_minutes": "{{amount}} minutos", - "last_time_played": "Última sessão {{period}}", - "activity": "Atividades recentes", - "library": "Biblioteca", - "total_play_time": "Tempo total de jogo: {{amount}}", - "no_recent_activity_title": "Hmmm… nada por aqui", - "no_recent_activity_description": "Parece que não jogaste nada recentemente. Que tal começar agora?", - "display_name": "Nome de exibição", - "saving": "a guardar…", - "save": "Guardar", - "edit_profile": "Editar perfil", - "saved_successfully": "Guardado com sucesso", - "try_again": "Por favor, tenta novamente", - "cancel": "Cancelar", - "successfully_signed_out": "Terminado com sucesso", - "sign_out": "Terminar sessão", - "sign_out_modal_title": "Tens a certeza?", - "playing_for": "A jogar há {{amount}}", - "sign_out_modal_text": "A tua biblioteca de jogos está associada com a tua conta atual. Ao sair, a tua biblioteca não aparecerá mais no Hydra e qualquer progresso não será guardado. Desejas continuar?", - "add_friends": "Adicionar Amigos", - "friend_code": "Código de amigo", - "see_profile": "Ver perfil", - "friend_request_sent": "Pedido de amizade enviado", - "friends": "Amigos", - "add": "Adicionar", - "sending": "A enviar", - "friends_list": "Lista de amigos", - "user_not_found": "Utilizador não encontrado", - "block_user": "Bloquear", - "add_friend": "Adicionar amigo", - "request_sent": "Pedido enviado", - "request_received": "Pedido recebido", - "accept_request": "Aceitar pedido", - "ignore_request": "Ignorar pedido", - "cancel_request": "Cancelar pedido", - "undo_friendship": "Desfazer amizade", - "request_accepted": "Pedido de amizade aceito", - "user_blocked_successfully": "Utilizador bloqueado com sucesso", - "user_block_modal_text": "Bloquear {{displayName}}", - "settings": "Definições", - "privacy": "Privacidade", - "private": "Privado", - "friends_only": "Apenas amigos", - "public": "Público", - "blocked_users": "Utilizadores bloqueados", - "unblock": "Desbloquear", - "no_friends_added": "Ainda não adicionaste amigos", - "pending": "Pendentes", - "no_pending_invites": "Não tens convites de amizade pendentes", - "no_blocked_users": "Não tens nenhum utilizador bloqueado", - "friend_code_copied": "Código de amigo copiado" - } -} diff --git a/src/renderer/src/pages/settings/settings-general.tsx b/src/renderer/src/pages/settings/settings-general.tsx index 5fee22aa..3e69e5bf 100644 --- a/src/renderer/src/pages/settings/settings-general.tsx +++ b/src/renderer/src/pages/settings/settings-general.tsx @@ -27,7 +27,6 @@ languages.registerLocale(languagesEn); const customLanguageNames = { ptBR: "Português (Brasil)", ptPT: "Português (Portugal)", - // Adicione outros idiomas personalizados aqui, se necessário }; export function SettingsGeneral() { From 6464cea57634f17fc9a8868188beccae7a3c4d25 Mon Sep 17 00:00:00 2001 From: Zamitto <167933696+zamitto@users.noreply.github.com> Date: Wed, 4 Sep 2024 16:40:31 -0300 Subject: [PATCH 23/50] Delete src/locales/br/translation.json --- src/locales/br/translation.json | 278 -------------------------------- 1 file changed, 278 deletions(-) delete mode 100644 src/locales/br/translation.json diff --git a/src/locales/br/translation.json b/src/locales/br/translation.json deleted file mode 100644 index bd355473..00000000 --- a/src/locales/br/translation.json +++ /dev/null @@ -1,278 +0,0 @@ -{ - "app": { - "successfully_signed_in": "Autenticado com sucesso" - }, - "home": { - "featured": "Destaques", - "trending": "Populares", - "surprise_me": "Surpreenda-me", - "no_results": "Nenhum resultado encontrado" - }, - "sidebar": { - "catalogue": "Catálogo", - "downloads": "Downloads", - "settings": "Configurações", - "my_library": "Biblioteca", - "downloading_metadata": "{{title}} (Baixando metadados…)", - "paused": "{{title}} (Pausado)", - "downloading": "{{title}} ({{percentage}} - Baixando…)", - "filter": "Filtrar bibilioteca", - "home": "Início", - "queued": "{{title}} (Na fila)", - "game_has_no_executable": "Jogo não possui executável selecionado", - "sign_in": "Login" - }, - "header": { - "search": "Buscar jogos", - "catalogue": "Catálogo", - "downloads": "Downloads", - "search_results": "Resultados da busca", - "settings": "Configurações", - "home": "Início", - "version_available_install": "Versão {{version}} disponível. Clique aqui para reiniciar e instalar.", - "version_available_download": "Versão {{version}} disponível. Clique aqui para fazer o download." - }, - "bottom_panel": { - "no_downloads_in_progress": "Sem downloads em andamento", - "downloading_metadata": "Baixando metadados de {{title}}…", - "downloading": "Baixando {{title}}… ({{percentage}} concluído) - Conclusão {{eta}} - {{speed}}", - "calculating_eta": "Baixando {{title}}… ({{percentage}} concluído) - Calculando tempo restante…", - "checking_files": "Verificando arquivos de {{title}}…" - }, - "game_details": { - "open_download_options": "Ver opções de download", - "download_options_zero": "Sem opções de download", - "download_options_one": "{{count}} opção de download", - "download_options_other": "{{count}} opções de download", - "updated_at": "Atualizado {{updated_at}}", - "resume": "Retomar", - "pause": "Pausar", - "cancel": "Cancelar", - "remove": "Remover", - "space_left_on_disk": "{{space}} livres em disco", - "eta": "Conclusão {{eta}}", - "calculating_eta": "Calculando tempo restante…", - "downloading_metadata": "Baixando metadados…", - "filter": "Filtrar repacks", - "requirements": "Requisitos de sistema", - "minimum": "Mínimos", - "recommended": "Recomendados", - "paused": "Pausado", - "release_date": "Lançado em {{date}}", - "publisher": "Publicado por {{publisher}}", - "hours": "horas", - "minutes": "minutos", - "amount_hours": "{{amount}} horas", - "amount_minutes": "{{amount}} minutos", - "accuracy": "{{accuracy}}% de precisão", - "add_to_library": "Adicionar à biblioteca", - "remove_from_library": "Remover da biblioteca", - "no_downloads": "Nenhum download disponível", - "play_time": "Jogou por {{amount}}", - "next_suggestion": "Próxima sugestão", - "install": "Instalar", - "last_time_played": "Última sessão {{period}}", - "play": "Jogar", - "not_played_yet": "Você ainda não jogou {{title}}", - "close": "Fechar", - "deleting": "Excluindo instalador…", - "playing_now": "Jogando agora", - "change": "Explorar", - "repacks_modal_description": "Escolha o repack do jogo que deseja baixar", - "select_folder_hint": "Para trocar o diretório padrão, acesse a <0>Tela de Ajustes", - "download_now": "Iniciar download", - "no_shop_details": "Não foi possível obter os detalhes da loja.", - "download_options": "Opções de download", - "download_path": "Diretório de download", - "previous_screenshot": "Captura de tela anterior", - "next_screenshot": "Próxima captura de tela", - "screenshot": "Captura de tela {{number}}", - "open_screenshot": "Ver captura de tela {{number}}", - "download_settings": "Ajustes do download", - "downloader": "Downloader", - "select_executable": "Explorar", - "no_executable_selected": "Nenhum executável selecionado", - "open_folder": "Abrir pasta", - "open_download_location": "Ver arquivos baixados", - "create_shortcut": "Criar atalho na área de trabalho", - "remove_files": "Remover arquivos", - "options": "Gerenciar", - "remove_from_library_description": "Isso irá remover {{game}} da sua biblioteca", - "remove_from_library_title": "Tem certeza?", - "executable_section_title": "Executável", - "executable_section_description": "O caminho do arquivo que será executado ao clicar em \"Jogar\"", - "downloads_secion_title": "Downloads", - "downloads_section_description": "Confira atualizações ou versões diferentes para este mesmo título", - "danger_zone_section_title": "Zona de perigo", - "danger_zone_section_description": "Remova o jogo da sua biblioteca ou os arquivos que foram baixados pelo Hydra", - "download_in_progress": "Download em andamento", - "download_paused": "Download pausado", - "last_downloaded_option": "Última opção baixada", - "create_shortcut_success": "Atalho criado com sucesso", - "create_shortcut_error": "Erro ao criar atalho" - }, - "activation": { - "title": "Ativar Hydra", - "installation_id": "ID da instalação:", - "enter_activation_code": "Insira seu código de ativação", - "message": "Se você não sabe onde conseguir o código, talvez você não devesse estar aqui.", - "activate": "Ativar", - "loading": "Carregando…" - }, - "downloads": { - "resume": "Retomar", - "pause": "Pausar", - "eta": "Conclusão {{eta}}", - "paused": "Pausado", - "verifying": "Verificando…", - "completed": "Concluído", - "removed": "Cancelado", - "cancel": "Cancelar", - "filter": "Filtrar jogos baixados", - "remove": "Remover", - "downloading_metadata": "Baixando metadados…", - "delete": "Remover instalador", - "delete_modal_description": "Isso removerá todos os arquivos de instalação do seu computador", - "delete_modal_title": "Tem certeza?", - "deleting": "Excluindo instalador…", - "install": "Instalar", - "download_in_progress": "Baixando agora", - "queued_downloads": "Na fila", - "downloads_completed": "Completo", - "queued": "Na fila", - "no_downloads_title": "Nada por aqui…", - "no_downloads_description": "Você ainda não baixou nada pelo Hydra, mas nunca é tarde para começar.", - "checking_files": "Verificando arquivos…" - }, - "settings": { - "downloads_path": "Diretório dos downloads", - "change": "Alterar", - "notifications": "Notificações", - "enable_download_notifications": "Quando um download for concluído", - "enable_repack_list_notifications": "Quando a lista de repacks for atualizada", - "real_debrid_api_token_label": "Token de API do Real-Debrid", - "quit_app_instead_hiding": "Encerrar o Hydra em vez de apenas minimizá-lo ao fechar.", - "launch_with_system": "Iniciar o Hydra junto com o sistema", - "general": "Geral", - "behavior": "Comportamento", - "download_sources": "Fontes de download", - "language": "Idioma", - "real_debrid_api_token": "Token de API", - "enable_real_debrid": "Habilitar Real-Debrid", - "real_debrid_api_token_hint": "Você pode obter seu token de API <0>aqui", - "real_debrid_description": "O Real-Debrid é um downloader sem restrições que permite baixar arquivos instantaneamente e com a melhor velocidade da sua Internet.", - "real_debrid_invalid_token": "Token de API inválido", - "real_debrid_free_account_error": "A conta \"{{username}}\" é uma conta gratuita. Por favor, assine a Real-Debrid", - "real_debrid_linked_message": "Conta \"{{username}}\" vinculada", - "save_changes": "Salvar mudanças", - "changes_saved": "Ajustes salvos com sucesso", - "download_sources_description": "Hydra vai buscar links de download em todas as fontes habilitadas. A URL da fonte deve ser um link direto para um arquivo .json contendo uma lista de links.", - "validate_download_source": "Validar", - "remove_download_source": "Remover", - "add_download_source": "Adicionar fonte", - "download_count_zero": "Sem downloads na lista", - "download_count_one": "{{countFormatted}} download na lista", - "download_count_other": "{{countFormatted}} downloads na lista", - "download_options_zero": "Sem downloads disponíveis", - "download_options_one": "{{countFormatted}} download disponível", - "download_options_other": "{{countFormatted}} downloads disponíveis", - "download_source_url": "URL da fonte", - "add_download_source_description": "Insira a URL contendo o arquivo .json", - "download_source_up_to_date": "Sincronizada", - "download_source_errored": "Falhou", - "sync_download_sources": "Sincronizar", - "removed_download_source": "Fonte removida", - "added_download_source": "Fonte adicionada", - "download_sources_synced": "As fontes foram sincronizadas", - "insert_valid_json_url": "Insira a url de um JSON válido", - "found_download_option_zero": "Nenhuma opção de download encontrada", - "found_download_option_one": "{{countFormatted}} opção de download encontrada", - "found_download_option_other": "{{countFormatted}} opções de download encontradas", - "import": "Importar" - }, - "notifications": { - "download_complete": "Download concluído", - "game_ready_to_install": "{{title}} está pronto para ser instalado", - "repack_list_updated": "Lista de repacks atualizada", - "repack_count_one": "{{count}} novo repack", - "repack_count_other": "{{count}} novos repacks", - "new_update_available": "Versão {{version}} disponível", - "restart_to_install_update": "Reinicie o Hydra para instalar a nova versão" - }, - "system_tray": { - "open": "Abrir Hydra", - "quit": "Fechar" - }, - "game_card": { - "no_downloads": "Sem downloads disponíveis" - }, - "binary_not_found_modal": { - "title": "Programas não instalados", - "description": "Os executáveis do Wine ou Lutris não foram encontrados em seu sistema.", - "instructions": "Verifique a forma correta de instalar algum deles no seu distro Linux, garantindo assim a execução normal do jogo" - }, - "catalogue": { - "next_page": "Próxima página", - "previous_page": "Página anterior" - }, - "modal": { - "close": "Botão de fechar" - }, - "forms": { - "toggle_password_visibility": "Alternar visibilidade da senha" - }, - "user_profile": { - "amount_hours": "{{amount}} horas", - "amount_minutes": "{{amount}} minutos", - "last_time_played": "Última sessão {{period}}", - "activity": "Atividades recentes", - "library": "Biblioteca", - "total_play_time": "Tempo total de jogo: {{amount}}", - "no_recent_activity_title": "Hmmm… nada por aqui", - "no_recent_activity_description": "Parece que você não jogou nada recentemente. Que tal começar agora?", - "display_name": "Nome de exibição", - "saving": "Salvando…", - "save": "Salvar", - "edit_profile": "Editar perfil", - "saved_successfully": "Salvo com sucesso", - "try_again": "Por favor, tente novamente", - "cancel": "Cancelar", - "successfully_signed_out": "Deslogado com sucesso", - "sign_out": "Sair da conta", - "sign_out_modal_title": "Tem certeza?", - "playing_for": "Jogando por {{amount}}", - "sign_out_modal_text": "Sua biblioteca de jogos está associada com a sua conta atual. Ao sair, sua biblioteca não aparecerá mais no Hydra e qualquer progresso não será salvo. Deseja continuar?", - "add_friends": "Adicionar Amigos", - "friend_code": "Código de amigo", - "see_profile": "Ver perfil", - "friend_request_sent": "Pedido de amizade enviado", - "friends": "Amigos", - "add": "Adicionar", - "sending": "Enviando", - "friends_list": "Lista de amigos", - "user_not_found": "Usuário não encontrado", - "block_user": "Bloquear", - "add_friend": "Adicionar amigo", - "request_sent": "Pedido enviado", - "request_received": "Pedido recebido", - "accept_request": "Aceitar pedido", - "ignore_request": "Ignorar pedido", - "cancel_request": "Cancelar pedido", - "undo_friendship": "Desfazer amizade", - "request_accepted": "Pedido de amizade aceito", - "user_blocked_successfully": "Usuário bloqueado com sucesso", - "user_block_modal_text": "Bloquear {{displayName}}", - "settings": "Configurações", - "privacy": "Privacidade", - "private": "Privado", - "friends_only": "Apenas amigos", - "public": "Público", - "blocked_users": "Usuários bloqueados", - "unblock": "Desbloquear", - "no_friends_added": "Você ainda não possui amigos adicionados", - "pending": "Pendentes", - "no_pending_invites": "Você não possui convites de amizade pendentes", - "no_blocked_users": "Você não tem nenhum usuário bloqueado", - "friend_code_copied": "Código de amigo copiado" - } -} From 44dab630f1eee0dd78696bed58475723997be2ae Mon Sep 17 00:00:00 2001 From: Thales Euflauzino Date: Wed, 4 Sep 2024 17:08:46 -0300 Subject: [PATCH 24/50] :books: docs: create italian README --- README.it.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 README.it.md diff --git a/README.it.md b/README.it.md new file mode 100644 index 00000000..e69de29b From 8f9eec124d48ecf5438c0a05fb6fdbbd0a0c7d47 Mon Sep 17 00:00:00 2001 From: Thales Euflauzino Date: Wed, 4 Sep 2024 17:12:58 -0300 Subject: [PATCH 25/50] :books: docs: add text of italian readme --- README.it.md | 184 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 184 insertions(+) diff --git a/README.it.md b/README.it.md index e69de29b..cc6a9e8d 100644 --- a/README.it.md +++ b/README.it.md @@ -0,0 +1,184 @@ +
+ +
+ +[](https://hydralauncher.site) + +

Hydra Launcher

+ +

+ Hydra è un game launcher con il proprio client bittorrent e autogestore di repacks. +

+ +[![build](https://img.shields.io/github/actions/workflow/status/hydralauncher/hydra/build.yml)](https://github.com/hydralauncher/hydra/actions) +[![release](https://img.shields.io/github/package-json/v/hydralauncher/hydra)](https://github.com/hydralauncher/hydra/releases) +[![be](https://img.shields.io/badge/lang-be-orange)](README.be.md) +[![pl](https://img.shields.io/badge/lang-pl-white)](README.pl.md) +[![pt-BR](https://img.shields.io/badge/lang-pt--BR-green.svg)](README.pt-BR.md) +[![ru](https://img.shields.io/badge/lang-ru-yellow.svg)](README.ru.md) +[![uk-UA](https://img.shields.io/badge/lang-uk--UA-blue)](README.uk-UA.md) +[![es](https://img.shields.io/badge/lang-es-red)](README.es.md) +[![ita](https://img.shields.io/badge/lang-it-red)](README.it.md) + +![Hydra Catalogue](./docs/screenshot.png) + +
+ +## Table of Contents + +- [Table of Contents](#table-of-contents) +- [A proposito](#a-proposito) +- [Caratteristiche](#caratteristiche) +- [Installazione](#installazione) +- [ Contribuire](#-contribuire) + - [ Unisciti su Telegram](#-unisciti-su-telegram) + - [Forka e Clona la repository](#forka-e-clona-la-repository) + - [Modi in cui contribuire](#modi-in-cui-contribuire) + - [Struttura del Progetto](#struttura-del-progetto) +- [Compilazione](#compilazione) + - [Installa Node.js](#installa-nodejs) + - [Installa Yarn](#installa-yarn) + - [Installa le dipendenze Node](#installa-le-dipendenze-node) + - [Installa Python 3.9](#installa-python-39) + - [Installa le Dipendenze Python](#installa-le-dipendenze-python) +- [Variabili d'ambiente](#variabili-dambiente) +- [Esecuzione](#esecuzione) +- [Compilazione](#compilazione-1) + - [Compila il bittorrent](#compila-il-bittorrent) + - [Compila l'applicazione Electron](#compila-lapplicazione-electron) +- [Collaboratori](#collaboratori) +- [Licenza](#licenza) + +## A proposito + +**Hydra** è un **Game Launcher** con il proprio **Client BitTorrent** e **autogestore di repack**. +
+Il launcher è scritto in TypeScript (Electron) and Python, che gestisce il sistema di torrenting appoggiandosi a libtorrent. + +## Caratteristiche + +- Motore di ricerca automatizzato sulle fonti di repack dal [Megathread]("https://www.reddit.com/r/Piracy/wiki/megathread/") +- Client Bittorrent integrato +- Integrazione How Long To Beat (HLTB) nella pagina del gioco +- Percorso del download Personalizzato +- Notifiche di aggiornamenti sulla list dei repacks +- Supporto Windows e Linux +- Costantemente Aggiornato +- E molto altro ... + +## Installazione + +Segui i seguenti passi: + +1. Scarica l'ultima versione di Hydra dalla pagina [Releases](https://github.com/hydralauncher/hydra/releases/latest). + - Scarica solo il file .exe per installare Hydra su Windows. + - Scarica il file .deb o .rpm o .zip per Linux. (Dipende dalla tua distro Linux) +2. Esegui il file scaricato. +3. Goditi Hydra! + +## Contribuire + +### Unisciti su Telegram + +Puoi unirti alle nostre conversazioni sul canale [Telegram](https://t.me/hydralauncher). + +### Forka e Clona la repository + +1. Forka la repository [(clicca qui per forkare)](https://github.com/hydralauncher/hydra/fork) +2. Clona il tuo codice forkato `git clone https://github.com/your_username/hydra` +3. Crea un nuovo branch +4. Aggiungi le modifiche (push) +5. Invia la richiesta di pull + +### Modi in cui contribuire + +- Traduzione: Vogliamo rendere Hydra disponibile a più persone possibile. Sentiti libero di tradurre in altre lingue o aggiornare e migliorare quelle già disponibili su Hydra. +- Programmazione: Hydra è programmato in TypeScript, Electron e un po' di Python. Se intendi contribuire unisciti al nostro [Telegram](https://t.me/hydralauncher)! + +### Struttura del Progetto + +- client-torrent: Usiamo libtorrent, una libreria Python, per gestire i download dei torrent +- src/renderer: l'UI dell'applicazione +- src/main: tutta la logica qui. + +## Compilazione + +### Installa Node.js + +Assicurati di avere Node.js installato sulla tua macchina. Scaricalo e installalo da [nodejs.org](https://nodejs.org/). + +### Installa Yarn + +Yarn è un gestore di pacchetti per Node.js. Se non hai ancora installato Yarn segui le istruzioni su [yarnpkg.com](https://classic.yarnpkg.com/lang/en/docs/install/). + +### Installa le dipendenze Node + +Naviga alla cartella del progetto e installa le dipendenze Node con Yarn: + +```bash +cd hydra +yarn +``` + +### Installa Python 3.9 + +Assicurati di avere Python 3.9 installato. Puoi scaricarlo da [python.org](https://www.python.org/downloads/release/python-3913/). + +### Installa le Dipendenze Python + +Installa le dipendenze con pip: + +```bash +pip install -r requirements.txt +``` + +## Variabili d'ambiente + +Avrai bisogno di una chiave API SteamGridDB per poter caricare le icone di gioco. +Se intendi avere onlinefix come repacker dovrai aggiungere le tue credenziali al file .env + +Una volta ottenuta, puoi copiare e rinominare il file `.env.example` a `.env` e metterlo in `STEAMGRIDDB_API_KEY`, `ONLINEFIX_USERNAME`, `ONLINEFIX_PASSWORD`. + +## Esecuzione + +Una volta impostato tutto, puoi eseguire il seguente comando per avviare il processo Electron e il client bittorrent: + +```bash +yarn dev +``` + +## Compilazione + +### Compila il bittorrent + +Usa il comando: + +```bash +python torrent-client/setup.py build +``` + +### Compila l'applicazione Electron + +Usa il comando: + +Per Windows: + +```bash +yarn build:win +``` + +Per Linux: + +```bash +yarn build:linux +``` + +## Collaboratori + + + + + +## Licenza + +Hydra è concesso in licenza secondo la [MIT License](LICENSE). From da0894e2b85045e623ab2241d3e3ffb35300f0f9 Mon Sep 17 00:00:00 2001 From: Thales Euflauzino Date: Wed, 4 Sep 2024 17:15:23 -0300 Subject: [PATCH 26/50] :books: docs: add patterns of translations --- README.it.md | 6 ++++-- README.pt-BR.md | 47 +++++++++++++++++++++++++---------------------- 2 files changed, 29 insertions(+), 24 deletions(-) diff --git a/README.it.md b/README.it.md index cc6a9e8d..d9cf6b69 100644 --- a/README.it.md +++ b/README.it.md @@ -12,12 +12,14 @@ [![build](https://img.shields.io/github/actions/workflow/status/hydralauncher/hydra/build.yml)](https://github.com/hydralauncher/hydra/actions) [![release](https://img.shields.io/github/package-json/v/hydralauncher/hydra)](https://github.com/hydralauncher/hydra/releases) -[![be](https://img.shields.io/badge/lang-be-orange)](README.be.md) -[![pl](https://img.shields.io/badge/lang-pl-white)](README.pl.md) + [![pt-BR](https://img.shields.io/badge/lang-pt--BR-green.svg)](README.pt-BR.md) +[![en](https://img.shields.io/badge/lang-en-red.svg)](README.md) [![ru](https://img.shields.io/badge/lang-ru-yellow.svg)](README.ru.md) [![uk-UA](https://img.shields.io/badge/lang-uk--UA-blue)](README.uk-UA.md) +[![be](https://img.shields.io/badge/lang-be-orange)](README.be.md) [![es](https://img.shields.io/badge/lang-es-red)](README.es.md) +[![fr](https://img.shields.io/badge/lang-fr-blue)](README.fr.md) [![ita](https://img.shields.io/badge/lang-it-red)](README.it.md) ![Hydra Catalogue](./docs/screenshot.png) diff --git a/README.pt-BR.md b/README.pt-BR.md index 0d76a9fa..2617df62 100644 --- a/README.pt-BR.md +++ b/README.pt-BR.md @@ -13,13 +13,14 @@ [![build](https://img.shields.io/github/actions/workflow/status/hydralauncher/hydra/build.yml)](https://github.com/hydralauncher/hydra/actions) [![release](https://img.shields.io/github/package-json/v/hydralauncher/hydra)](https://github.com/hydralauncher/hydra/releases) -[![be](https://img.shields.io/badge/lang-be-orange)](README.be.md) +[![pt-BR](https://img.shields.io/badge/lang-pt--BR-green.svg)](README.pt-BR.md) [![en](https://img.shields.io/badge/lang-en-red.svg)](README.md) -[![pl](https://img.shields.io/badge/lang-pl-white)](README.pl.md) [![ru](https://img.shields.io/badge/lang-ru-yellow.svg)](README.ru.md) [![uk-UA](https://img.shields.io/badge/lang-uk--UA-blue)](README.uk-UA.md) +[![be](https://img.shields.io/badge/lang-be-orange)](README.be.md) [![es](https://img.shields.io/badge/lang-es-red)](README.es.md) [![fr](https://img.shields.io/badge/lang-fr-blue)](README.fr.md) +[![ita](https://img.shields.io/badge/lang-it-red)](README.it.md) ![Hydra Catalogue](./docs/screenshot.png) @@ -27,26 +28,28 @@ ## Índice -- [Sobre](#about) -- [Recursos](#features) -- [Instalação](#installation) -- [Contribuindo](#contributing) - - [Junte-se ao nosso Telegram](#join-our-telegram) - - [Fork e clone seu repositorio](#fork-and-clone-your-repository) - - [Como contribuir](#ways-you-can-contribute) - - [Estrutura do projeto](#project-structure) -- [Compile a partir do código-fonte](#build-from-source) - - [Instale Node.js](#install-nodejs) - - [Instale Yarn](#install-yarn) - - [Instale Node Dependencies](#install-node-dependencies) - - [Instale Python 3.9](#install-python-39) - - [Instale Python Dependencies](#install-python-dependencies) -- [variaveis de ambiente](#environment-variables) -- [Rodando o programa](#running) -- [Compilando](#build) - - [Compile o client bittorrent](#build-the-bittorrent-client) - - [Compile a aplicação Electron](#build-the-electron-application) -- [Contribuidores](#contributors) +- [Índice](#índice) +- [ Sobre](#-sobre) +- [ Recursos](#-recursos) +- [ Instalação](#-instalação) +- [ Contribuindo](#-contribuindo) + - [ Junte-se ao nosso Telegram](#-junte-se-ao-nosso-telegram) + - [ Fork e clone o seu repositório](#-fork-e-clone-o-seu-repositório) + - [ Formas de contribuir](#-formas-de-contribuir) + - [ Estrutura do Projeto](#-estrutura-do-projeto) +- [ Compile a partir do código-fonte](#-compile-a-partir-do-código-fonte) + - [ Instale Node.js](#-instale-nodejs) + - [ Instale Yarn](#-instale-yarn) + - [ Instale Dependencias do Node](#-instale-dependencias-do-node) + - [ Instale Python 3.9](#-instale-python-39) + - [ Instale Python Dependencies](#-instale-python-dependencies) +- [ Environment variables](#-environment-variables) +- [ Running](#-running) +- [ Build](#-build) + - [ Build the bittorrent client](#-build-the-bittorrent-client) + - [ Build the Electron application](#-build-the-electron-application) +- [ Contributors](#-contributors) +- [ Licença](#-licença) ## Sobre From 8c874fc5a17b24a2de098ab3bfeceb5ca24cfd22 Mon Sep 17 00:00:00 2001 From: Thales Euflauzino Date: Wed, 4 Sep 2024 17:15:31 -0300 Subject: [PATCH 27/50] :books: docs: add patterns of translations --- README.be.md | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/README.be.md b/README.be.md index 806e45cc..576d838c 100644 --- a/README.be.md +++ b/README.be.md @@ -20,6 +20,7 @@ [![be](https://img.shields.io/badge/lang-be-orange)](README.be.md) [![es](https://img.shields.io/badge/lang-es-red)](README.es.md) [![fr](https://img.shields.io/badge/lang-fr-blue)](README.fr.md) +[![ita](https://img.shields.io/badge/lang-it-red)](README.it.md) ![Hydra Catalogue](./docs/screenshot.png) @@ -27,11 +28,12 @@ ## Змест +- [Змест](#змест) - [Апісанне](#апісанне) - [Асаблівасці](#асаблівасці) - [Усталёўка](#усталёўка) -- [Уклад](#contributing) - - [Далучайцеся да нашага Telegram](#join-our-telegram) +- [ Уклад](#-уклад) + - [ Далучайцеся да нашага Telegram](#-далучайцеся-да-нашага-telegram) - [Форк і кланаванне рэпазітара](#форк-і-кланаванне-рэпазітара) - [Спосабы ўнесці свой уклад](#спосабы-ўнесці-свой-уклад) - [Структура праекту](#структура-праекту) @@ -47,6 +49,7 @@ - [Зборка кліента BitTorrent](#зборка-кліента-bittorrent) - [Зборка прыкладання Electron](#зборка-прыкладання-electron) - [Удзельнікі](#удзельнікі) +- [Ліцэнзія](#ліцэнзія) ## Апісанне From 0abdeca93a96372f3a318df2b34510a3b9dc2747 Mon Sep 17 00:00:00 2001 From: Thales Euflauzino Date: Wed, 4 Sep 2024 17:15:38 -0300 Subject: [PATCH 28/50] :books: docs: add patterns of translations --- README.es.md | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/README.es.md b/README.es.md index 3c080da9..bf6dab63 100644 --- a/README.es.md +++ b/README.es.md @@ -13,13 +13,14 @@ [![build](https://img.shields.io/github/actions/workflow/status/hydralauncher/hydra/build.yml)](https://github.com/hydralauncher/hydra/actions) [![release](https://img.shields.io/github/package-json/v/hydralauncher/hydra)](https://github.com/hydralauncher/hydra/releases) -[![be](https://img.shields.io/badge/lang-be-orange)](README.be.md) -[![pl](https://img.shields.io/badge/lang-pl-white)](README.pl.md) [![pt-BR](https://img.shields.io/badge/lang-pt--BR-green.svg)](README.pt-BR.md) +[![en](https://img.shields.io/badge/lang-en-red.svg)](README.md) [![ru](https://img.shields.io/badge/lang-ru-yellow.svg)](README.ru.md) [![uk-UA](https://img.shields.io/badge/lang-uk--UA-blue)](README.uk-UA.md) -[![en](https://img.shields.io/badge/lang-en-red.svg)](README.md) +[![be](https://img.shields.io/badge/lang-be-orange)](README.be.md) +[![es](https://img.shields.io/badge/lang-es-red)](README.es.md) [![fr](https://img.shields.io/badge/lang-fr-blue)](README.fr.md) +[![ita](https://img.shields.io/badge/lang-it-red)](README.it.md) ![Hydra Catalogue](./docs/screenshot.png) @@ -27,11 +28,12 @@ ## Tabla de Contenidos +- [Tabla de Contenidos](#tabla-de-contenidos) - [Acerca de](#acerca-de) -- [Características](#caracteristicas) -- [Instalación](#Instalacion) -- [Contribuir](#contribuir) - - [Únete a nuestro Telegram](#unete-a-nuestro-telegram) +- [Caracteristicas](#caracteristicas) +- [Instalacion](#instalacion) +- [ Contribuir](#-contribuir) + - [ Unete a nuestro Telegram](#-unete-a-nuestro-telegram) - [Haz un fork y clona tu repositorio](#haz-un-fork-y-clona-tu-repositorio) - [Maneras en las que puedes contribuir](#maneras-en-las-que-puedes-contribuir) - [Estructura del proyecto](#estructura-del-proyecto) @@ -40,13 +42,14 @@ - [Instalar Yarn](#instalar-yarn) - [Instalar Dependencias de Node](#instalar-dependencias-de-node) - [Instalar Python 3.9](#instalar-python-39) - - [Instalar Dependencias de Python](#Instalar-dependencias-de-python) + - [Instalar Dependencias de Python](#instalar-dependencias-de-python) - [Variables del Entorno](#variables-del-entorno) -- [Ejecución](#ejecucion) -- [Compilación](#compilacion) +- [Ejecucion](#ejecucion) +- [Compilacion](#compilacion) - [Compilar el cliente de bittorrent](#compilar-el-cliente-de-bittorrent) - - [Compilar la aplicación Electron](#compilar-la-aplicacion-electron) + - [Compilar la aplicacion Electron](#compilar-la-aplicacion-electron) - [Colaboradores](#colaboradores) +- [Licencia](#licencia) ## Acerca de From 26f1839752169f445e9553895ffd5e0ee617a03b Mon Sep 17 00:00:00 2001 From: Thales Euflauzino Date: Wed, 4 Sep 2024 17:15:44 -0300 Subject: [PATCH 29/50] :books: docs: add patterns of translations --- README.fr.md | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/README.fr.md b/README.fr.md index 0e99fb05..a0d61763 100644 --- a/README.fr.md +++ b/README.fr.md @@ -13,13 +13,14 @@ [![build](https://img.shields.io/github/actions/workflow/status/hydralauncher/hydra/build.yml)](https://github.com/hydralauncher/hydra/actions) [![release](https://img.shields.io/github/package-json/v/hydralauncher/hydra)](https://github.com/hydralauncher/hydra/releases) -[![en](https://img.shields.io/badge/lang-en-red.svg)](README.md) -[![be](https://img.shields.io/badge/lang-be-orange)](README.be.md) -[![pl](https://img.shields.io/badge/lang-pl-white)](README.pl.md) [![pt-BR](https://img.shields.io/badge/lang-pt--BR-green.svg)](README.pt-BR.md) +[![en](https://img.shields.io/badge/lang-en-red.svg)](README.md) [![ru](https://img.shields.io/badge/lang-ru-yellow.svg)](README.ru.md) [![uk-UA](https://img.shields.io/badge/lang-uk--UA-blue)](README.uk-UA.md) +[![be](https://img.shields.io/badge/lang-be-orange)](README.be.md) [![es](https://img.shields.io/badge/lang-es-red)](README.es.md) +[![fr](https://img.shields.io/badge/lang-fr-blue)](README.fr.md) +[![ita](https://img.shields.io/badge/lang-it-red)](README.it.md) ![Catalogue Hydra](./docs/screenshot.png) @@ -27,6 +28,7 @@ ## Table des Matières +- [Table des Matières](#table-des-matières) - [À propos](#à-propos) - [Fonctionnalités](#fonctionnalités) - [Installation](#installation) @@ -47,6 +49,7 @@ - [Compiler le client bittorrent](#compiler-le-client-bittorrent) - [Compiler l'application Electron](#compiler-lapplication-electron) - [Contributeurs](#contributeurs) +- [License](#license) ## À propos From 0617dfbb6237aea65022be31c94353193e33670c Mon Sep 17 00:00:00 2001 From: Thales Euflauzino Date: Wed, 4 Sep 2024 17:15:56 -0300 Subject: [PATCH 30/50] :books: docs: add patterns of translations --- README.md | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 6dc97aea..fc248729 100644 --- a/README.md +++ b/README.md @@ -13,13 +13,14 @@ [![build](https://img.shields.io/github/actions/workflow/status/hydralauncher/hydra/build.yml)](https://github.com/hydralauncher/hydra/actions) [![release](https://img.shields.io/github/package-json/v/hydralauncher/hydra)](https://github.com/hydralauncher/hydra/releases) -[![be](https://img.shields.io/badge/lang-be-orange)](README.be.md) -[![pl](https://img.shields.io/badge/lang-pl-white)](README.pl.md) [![pt-BR](https://img.shields.io/badge/lang-pt--BR-green.svg)](README.pt-BR.md) +[![en](https://img.shields.io/badge/lang-en-red.svg)](README.md) [![ru](https://img.shields.io/badge/lang-ru-yellow.svg)](README.ru.md) [![uk-UA](https://img.shields.io/badge/lang-uk--UA-blue)](README.uk-UA.md) +[![be](https://img.shields.io/badge/lang-be-orange)](README.be.md) [![es](https://img.shields.io/badge/lang-es-red)](README.es.md) [![fr](https://img.shields.io/badge/lang-fr-blue)](README.fr.md) +[![ita](https://img.shields.io/badge/lang-it-red)](README.it.md) ![Hydra Catalogue](./docs/screenshot.png) @@ -27,11 +28,12 @@ ## Table of Contents +- [Table of Contents](#table-of-contents) - [About](#about) - [Features](#features) - [Installation](#installation) -- [Contributing](#contributing) - - [Join our Telegram](#join-our-telegram) +- [ Contributing](#-contributing) + - [ Join our Telegram](#-join-our-telegram) - [Fork and clone your repository](#fork-and-clone-your-repository) - [Ways you can contribute](#ways-you-can-contribute) - [Project Structure](#project-structure) @@ -47,6 +49,7 @@ - [Build the bittorrent client](#build-the-bittorrent-client) - [Build the Electron application](#build-the-electron-application) - [Contributors](#contributors) +- [License](#license) ## About From 6e60ab3c903d61524c28bbec4304772ea891edaa Mon Sep 17 00:00:00 2001 From: Thales Euflauzino Date: Wed, 4 Sep 2024 17:16:04 -0300 Subject: [PATCH 31/50] :books: docs: add patterns of translations --- README.pl.md | 31 +++++++++++++++++-------------- 1 file changed, 17 insertions(+), 14 deletions(-) diff --git a/README.pl.md b/README.pl.md index 298f82a9..290dcb0e 100644 --- a/README.pl.md +++ b/README.pl.md @@ -13,13 +13,14 @@ [![build](https://img.shields.io/github/actions/workflow/status/hydralauncher/hydra/build.yml)](https://github.com/hydralauncher/hydra/actions) [![release](https://img.shields.io/github/package-json/v/hydralauncher/hydra)](https://github.com/hydralauncher/hydra/releases) -[![be](https://img.shields.io/badge/lang-be-orange)](README.be.md) -[![en](https://img.shields.io/badge/lang-en-red.svg)](README.md) [![pt-BR](https://img.shields.io/badge/lang-pt--BR-green.svg)](README.pt-BR.md) +[![en](https://img.shields.io/badge/lang-en-red.svg)](README.md) [![ru](https://img.shields.io/badge/lang-ru-yellow.svg)](README.ru.md) [![uk-UA](https://img.shields.io/badge/lang-uk--UA-blue)](README.uk-UA.md) +[![be](https://img.shields.io/badge/lang-be-orange)](README.be.md) [![es](https://img.shields.io/badge/lang-es-red)](README.es.md) [![fr](https://img.shields.io/badge/lang-fr-blue)](README.fr.md) +[![ita](https://img.shields.io/badge/lang-it-red)](README.it.md) ![Hydra Catalogue](./docs/screenshot.png) @@ -27,26 +28,28 @@ ## Zawartość. +- [Zawartość.](#zawartość) - [O nas](#o-nas) -- [Cechy.](#cechy) +- [Cechy](#cechy) - [Instalacja](#instalacja) -- [Dokonaj wpłaty](#dokonaj-wpłaty) - - [Dołącz do naszego kanału Telegram](#dołącz-do-naszego-kanału-telegram) +- [ Dokonaj wpłaty](#-dokonaj-wpłaty) + - [ Dołącz do naszego kanału Telegram](#-dołącz-do-naszego-kanału-telegram) - [Rozwidlenie i sklonowanie repozytorium](#rozwidlenie-i-sklonowanie-repozytorium) - - [Jak możesz wnieść swój wkład](#jak-możesz-pomóc) + - [Jak możesz pomóc](#jak-możesz-pomóc) - [Struktura projektu](#struktura-projektu) - [Utwórz kompilację z kodu źródłowego](#utwórz-kompilację-z-kodu-źródłowego) - - [Instalacja Node.js](#zainstaluj-nodejs) - - [Instalacja Yarn](#zainstaluj-yarn) - - [Instalacja Node zależności](#zainstaluj-zależności-node) - - [Instalacja Python 3.9](#zainstaluj-python-39) - - [Instalacja Python zależności](#zainstaluj-zależności-pythona) + - [Zainstaluj Node.js](#zainstaluj-nodejs) + - [Zainstaluj Yarn](#zainstaluj-yarn) + - [Zainstaluj zależności Node](#zainstaluj-zależności-node) + - [Zainstaluj Python 3.9](#zainstaluj-python-39) + - [Zainstaluj zależności Pythona](#zainstaluj-zależności-pythona) - [Zmienne środowiskowe](#zmienne-środowiskowe) -- [Uruchomienie](#utwórz-kompilację-z-kodu-źródłowego) +- [Run](#run) - [Tworzenie kompilacji](#tworzenie-kompilacji) - - [Tworzenie klienta bittorrent](#zbuduj-klienta-bittorrent) - - [Tworzenie kompilacji aplikacji Electron](#tworzenie-aplikacji-electron) + - [Zbuduj klienta bittorrent](#zbuduj-klienta-bittorrent) + - [Tworzenie aplikacji Electron](#tworzenie-aplikacji-electron) - [Współtwórcy](#współtwórcy) +- [License](#license) ## O nas From a05cd87542eb062bb75996b570f861723696753f Mon Sep 17 00:00:00 2001 From: Thales Euflauzino Date: Wed, 4 Sep 2024 17:16:11 -0300 Subject: [PATCH 32/50] :books: docs: add patterns of translations --- README.uk-UA.md | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/README.uk-UA.md b/README.uk-UA.md index 2f921499..a6589a40 100644 --- a/README.uk-UA.md +++ b/README.uk-UA.md @@ -13,13 +13,14 @@ [![build](https://img.shields.io/github/actions/workflow/status/hydralauncher/hydra/build.yml)](https://github.com/hydralauncher/hydra/actions) [![release](https://img.shields.io/github/package-json/v/hydralauncher/hydra)](https://github.com/hydralauncher/hydra/releases) -[![be](https://img.shields.io/badge/lang-be-orange)](README.be.md) -[![en](https://img.shields.io/badge/lang-en-red.svg)](README.md) -[![pl](https://img.shields.io/badge/lang-pl-white)](README.pl.md) [![pt-BR](https://img.shields.io/badge/lang-pt--BR-green.svg)](README.pt-BR.md) +[![en](https://img.shields.io/badge/lang-en-red.svg)](README.md) [![ru](https://img.shields.io/badge/lang-ru-yellow.svg)](README.ru.md) +[![uk-UA](https://img.shields.io/badge/lang-uk--UA-blue)](README.uk-UA.md) +[![be](https://img.shields.io/badge/lang-be-orange)](README.be.md) [![es](https://img.shields.io/badge/lang-es-red)](README.es.md) [![fr](https://img.shields.io/badge/lang-fr-blue)](README.fr.md) +[![ita](https://img.shields.io/badge/lang-it-red)](README.it.md) ![Hydra Catalogue](./docs/screenshot.png) @@ -27,11 +28,12 @@ ## Зміст +- [Зміст](#зміст) - [Про нас](#про-нас) - [Функції](#функції) - [Встановлення](#встановлення) -- [Зробити свій внесок](#contributing) - - [Приєднуйтесь до нашого Telegram](#join-our-telegram) +- [ Зробити свій внесок](#-зробити-свій-внесок) + - [ Приєднуйтесь до нашого Telegram](#-приєднуйтесь-до-нашого-telegram) - [Форк і клонування вашого репозиторію](#форк-і-клонування-вашого-репозиторію) - [Як ви можете зробити свій внесок](#як-ви-можете-зробити-свій-внесок) - [Структура проекту](#структура-проекту) @@ -47,6 +49,7 @@ - [Зробіть білд bittorrent client](#зробіть-білд-bittorrent-client) - [Зробіть білд Electron застосунку](#зробіть-білд-electron-застосунку) - [Контриб'ютори](#контрибютори) +- [License](#license) ## Про нас From 5c5c9faf004756c5aae1633af3b3e51e5d0d1f86 Mon Sep 17 00:00:00 2001 From: Thales Euflauzino Date: Wed, 4 Sep 2024 17:16:17 -0300 Subject: [PATCH 33/50] :books: docs: add patterns of translations --- README.ru.md | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/README.ru.md b/README.ru.md index a1aaf806..3e9bca17 100644 --- a/README.ru.md +++ b/README.ru.md @@ -13,13 +13,14 @@ [![build](https://img.shields.io/github/actions/workflow/status/hydralauncher/hydra/build.yml)](https://github.com/hydralauncher/hydra/actions) [![release](https://img.shields.io/github/package-json/v/hydralauncher/hydra)](https://github.com/hydralauncher/hydra/releases) -[![be](https://img.shields.io/badge/lang-be-orange)](README.be.md) -[![en](https://img.shields.io/badge/lang-en-red.svg)](README.md) -[![pl](https://img.shields.io/badge/lang-pl-white)](README.pl.md) [![pt-BR](https://img.shields.io/badge/lang-pt--BR-green.svg)](README.pt-BR.md) +[![en](https://img.shields.io/badge/lang-en-red.svg)](README.md) +[![ru](https://img.shields.io/badge/lang-ru-yellow.svg)](README.ru.md) [![uk-UA](https://img.shields.io/badge/lang-uk--UA-blue)](README.uk-UA.md) +[![be](https://img.shields.io/badge/lang-be-orange)](README.be.md) [![es](https://img.shields.io/badge/lang-es-red)](README.es.md) [![fr](https://img.shields.io/badge/lang-fr-blue)](README.fr.md) +[![ita](https://img.shields.io/badge/lang-it-red)](README.it.md) ![Hydra Catalogue](./docs/screenshot.png) @@ -27,11 +28,12 @@ ## Содержание +- [Содержание](#содержание) - [Описание](#описание) - [Особенности](#особенности) - [Установка](#установка) -- [Вклад](#contributing) - - [Присоединяйтесь к нашему Telegram](#join-our-telegram) +- [ Вклад](#-вклад) + - [ Присоединяйтесь к нашему Telegram](#-присоединяйтесь-к-нашему-telegram) - [Форк и клонирование репозитория](#форк-и-клонирование-репозитория) - [Способы внести свой вклад](#способы-внести-свой-вклад) - [Структура проекта](#структура-проекта) @@ -47,6 +49,7 @@ - [Сборка клиента BitTorrent](#сборка-клиента-bittorrent) - [Сборка приложения Electron](#сборка-приложения-electron) - [Участники](#участники) +- [License](#license) ## Описание From 40f4bbc1246e855f42c0123796d743c605e6481a Mon Sep 17 00:00:00 2001 From: Zamitto <167933696+zamitto@users.noreply.github.com> Date: Wed, 4 Sep 2024 23:40:05 -0300 Subject: [PATCH 34/50] feat: refactor languages --- package.json | 4 +- src/locales/ar/translation.json | 1 + src/locales/be/translation.json | 1 + src/locales/ca/translation.json | 1 + src/locales/da/translation.json | 1 + src/locales/en/translation.json | 1 + src/locales/es/translation.json | 1 + src/locales/fa/translation.json | 1 + src/locales/fr/translation.json | 1 + src/locales/hu/translation.json | 1 + src/locales/id/translation.json | 1 + src/locales/index.ts | 69 ++++++++---- src/locales/it/translation.json | 1 + src/locales/kk/translation.json | 1 + src/locales/ko/translation.json | 1 + src/locales/nl/translation.json | 1 + src/locales/pl/translation.json | 1 + src/locales/pt-BR/translation.json | 1 + src/locales/pt-PT/translation.json | 1 + src/locales/ro/translation.json | 1 + src/locales/ru/translation.json | 1 + src/locales/tr/translation.json | 1 + src/locales/uk/translation.json | 1 + src/locales/zh/translation.json | 1 + src/main/index.ts | 2 +- src/renderer/src/main.tsx | 2 +- .../src/pages/settings/settings-general.tsx | 24 +--- yarn.lock | 106 ++++++++++++++++-- 28 files changed, 172 insertions(+), 57 deletions(-) diff --git a/package.json b/package.json index e3666029..1727e383 100644 --- a/package.json +++ b/package.json @@ -32,7 +32,6 @@ "knex:migrate:make": "knex --knexfile src/main/knexfile.ts migrate:make --esm" }, "dependencies": { - "@cospired/i18n-iso-languages": "^4.2.0", "@electron-toolkit/preload": "^3.0.0", "@electron-toolkit/utils": "^3.0.0", "@fontsource/noto-sans": "^5.0.22", @@ -43,7 +42,7 @@ "@vanilla-extract/dynamic": "^2.1.1", "@vanilla-extract/recipes": "^0.5.2", "auto-launch": "^5.0.6", - "axios": "^1.6.8", + "axios": "^1.7.7", "better-sqlite3": "^11.2.1", "check-disk-space": "^3.4.0", "classnames": "^2.5.1", @@ -59,7 +58,6 @@ "i18next": "^23.11.2", "i18next-browser-languagedetector": "^7.2.1", "icojs": "^0.19.3", - "iso-639-1": "3.1.2", "jsdom": "^24.0.0", "jsonwebtoken": "^9.0.2", "knex": "^3.1.0", diff --git a/src/locales/ar/translation.json b/src/locales/ar/translation.json index e95db2f1..26f0654d 100644 --- a/src/locales/ar/translation.json +++ b/src/locales/ar/translation.json @@ -1,4 +1,5 @@ { + "language_name": "اَلْعَرَبِيَّةُ", "home": { "featured": "مميّز", "trending": "شائع", diff --git a/src/locales/be/translation.json b/src/locales/be/translation.json index 9e945f8d..b89946e8 100644 --- a/src/locales/be/translation.json +++ b/src/locales/be/translation.json @@ -1,4 +1,5 @@ { + "language_name": "беларуская мова", "home": { "featured": "Рэкамэндаванае", "trending": "Актуальнае", diff --git a/src/locales/ca/translation.json b/src/locales/ca/translation.json index 9124af79..393ea587 100644 --- a/src/locales/ca/translation.json +++ b/src/locales/ca/translation.json @@ -1,4 +1,5 @@ { + "language_name": "Català", "app": { "successfully_signed_in": "Has entrat correctament" }, diff --git a/src/locales/da/translation.json b/src/locales/da/translation.json index d5cac8db..20b2df34 100644 --- a/src/locales/da/translation.json +++ b/src/locales/da/translation.json @@ -1,4 +1,5 @@ { + "language_name": "Dansk", "home": { "featured": "Anbefalet", "trending": "Trender", diff --git a/src/locales/en/translation.json b/src/locales/en/translation.json index 08c9fda2..ae9c2712 100644 --- a/src/locales/en/translation.json +++ b/src/locales/en/translation.json @@ -1,4 +1,5 @@ { + "language_name": "English", "app": { "successfully_signed_in": "Successfully signed in" }, diff --git a/src/locales/es/translation.json b/src/locales/es/translation.json index 9cc7af9d..f8fa12e4 100644 --- a/src/locales/es/translation.json +++ b/src/locales/es/translation.json @@ -1,4 +1,5 @@ { + "language_name": "Español", "app": { "successfully_signed_in": "Sesión iniciada correctamente" }, diff --git a/src/locales/fa/translation.json b/src/locales/fa/translation.json index 8629332f..2b8cd3fb 100644 --- a/src/locales/fa/translation.json +++ b/src/locales/fa/translation.json @@ -1,4 +1,5 @@ { + "language_name": "فارسی", "home": { "featured": "پیشنهادی", "trending": "پرطرفدار", diff --git a/src/locales/fr/translation.json b/src/locales/fr/translation.json index c732b22c..f635f1de 100644 --- a/src/locales/fr/translation.json +++ b/src/locales/fr/translation.json @@ -1,4 +1,5 @@ { + "language_name": "Français", "home": { "featured": "En vedette", "trending": "Tendance", diff --git a/src/locales/hu/translation.json b/src/locales/hu/translation.json index 748ffe28..f68d71bd 100644 --- a/src/locales/hu/translation.json +++ b/src/locales/hu/translation.json @@ -1,4 +1,5 @@ { + "language_name": "Magyar", "home": { "featured": "Featured", "trending": "Népszerű", diff --git a/src/locales/id/translation.json b/src/locales/id/translation.json index 198aa568..3d0f1edf 100644 --- a/src/locales/id/translation.json +++ b/src/locales/id/translation.json @@ -1,4 +1,5 @@ { + "language_name": "Bahasa Indonesia", "app": { "successfully_signed_in": "Berhasil masuk" }, diff --git a/src/locales/index.ts b/src/locales/index.ts index f698976f..ea0783c2 100644 --- a/src/locales/index.ts +++ b/src/locales/index.ts @@ -1,22 +1,47 @@ -export { default as en } from "./en/translation.json"; -export { default as ptPT } from "./pt-PT/translation.json"; -export { default as ptBR } from "./pt-BR/translation.json"; -export { default as es } from "./es/translation.json"; -export { default as nl } from "./nl/translation.json"; -export { default as fr } from "./fr/translation.json"; -export { default as hu } from "./hu/translation.json"; -export { default as it } from "./it/translation.json"; -export { default as pl } from "./pl/translation.json"; -export { default as ru } from "./ru/translation.json"; -export { default as tr } from "./tr/translation.json"; -export { default as be } from "./be/translation.json"; -export { default as uk } from "./uk/translation.json"; -export { default as zh } from "./zh/translation.json"; -export { default as id } from "./id/translation.json"; -export { default as ko } from "./ko/translation.json"; -export { default as da } from "./da/translation.json"; -export { default as ar } from "./ar/translation.json"; -export { default as fa } from "./fa/translation.json"; -export { default as ro } from "./ro/translation.json"; -export { default as ca } from "./ca/translation.json"; -export { default as kk } from "./kk/translation.json"; +import en from "./en/translation.json"; +import ptPT from "./pt-PT/translation.json"; +import ptBR from "./pt-BR/translation.json"; +import es from "./es/translation.json"; +import nl from "./nl/translation.json"; +import fr from "./fr/translation.json"; +import hu from "./hu/translation.json"; +import it from "./it/translation.json"; +import pl from "./pl/translation.json"; +import ru from "./ru/translation.json"; +import tr from "./tr/translation.json"; +import be from "./be/translation.json"; +import uk from "./uk/translation.json"; +import zh from "./zh/translation.json"; +import id from "./id/translation.json"; +import ko from "./ko/translation.json"; +import da from "./da/translation.json"; +import ar from "./ar/translation.json"; +import fa from "./fa/translation.json"; +import ro from "./ro/translation.json"; +import ca from "./ca/translation.json"; +import kk from "./kk/translation.json"; + +export default { + "pt-BR": ptBR, + "pt-PT": ptPT, + en, + es, + nl, + fr, + hu, + it, + pl, + ru, + tr, + be, + uk, + zh, + id, + ko, + da, + ar, + fa, + ro, + ca, + kk, +}; diff --git a/src/locales/it/translation.json b/src/locales/it/translation.json index 55f21310..1d5145f9 100644 --- a/src/locales/it/translation.json +++ b/src/locales/it/translation.json @@ -1,4 +1,5 @@ { + "language_name": "Italiano", "home": { "featured": "In primo piano", "trending": "Di tendenza", diff --git a/src/locales/kk/translation.json b/src/locales/kk/translation.json index d565e3b7..15683eb2 100644 --- a/src/locales/kk/translation.json +++ b/src/locales/kk/translation.json @@ -1,4 +1,5 @@ { + "language_name": "қазақ тілі", "app": { "successfully_signed_in": "Сәтті кіру" }, diff --git a/src/locales/ko/translation.json b/src/locales/ko/translation.json index 3d45bb88..933c7dde 100644 --- a/src/locales/ko/translation.json +++ b/src/locales/ko/translation.json @@ -1,4 +1,5 @@ { + "language_name": "한국어", "home": { "featured": "추천", "trending": "인기", diff --git a/src/locales/nl/translation.json b/src/locales/nl/translation.json index 59cf13e6..6f02c9a3 100644 --- a/src/locales/nl/translation.json +++ b/src/locales/nl/translation.json @@ -1,4 +1,5 @@ { + "language_name": "Nederlands", "home": { "featured": "Uitgelicht", "trending": "Trending", diff --git a/src/locales/pl/translation.json b/src/locales/pl/translation.json index a8e9bdc7..5eb2c242 100644 --- a/src/locales/pl/translation.json +++ b/src/locales/pl/translation.json @@ -1,4 +1,5 @@ { + "language_name": "Polski", "home": { "featured": "Wyróżnione", "trending": "Trendujące", diff --git a/src/locales/pt-BR/translation.json b/src/locales/pt-BR/translation.json index 02823aa1..1adac376 100644 --- a/src/locales/pt-BR/translation.json +++ b/src/locales/pt-BR/translation.json @@ -1,4 +1,5 @@ { + "language_name": "Português (Brasil)", "app": { "successfully_signed_in": "Autenticado com sucesso" }, diff --git a/src/locales/pt-PT/translation.json b/src/locales/pt-PT/translation.json index 6fb8b453..67f99921 100644 --- a/src/locales/pt-PT/translation.json +++ b/src/locales/pt-PT/translation.json @@ -1,4 +1,5 @@ { + "language_name": "Português (Portugal)", "app": { "successfully_signed_in": "Sessão iniciada com sucesso" }, diff --git a/src/locales/ro/translation.json b/src/locales/ro/translation.json index 2aed7a7f..9fab3119 100644 --- a/src/locales/ro/translation.json +++ b/src/locales/ro/translation.json @@ -1,4 +1,5 @@ { + "language_name": "Română", "home": { "featured": "Recomandate", "trending": "Populare", diff --git a/src/locales/ru/translation.json b/src/locales/ru/translation.json index 89d16b28..be3a000e 100644 --- a/src/locales/ru/translation.json +++ b/src/locales/ru/translation.json @@ -1,4 +1,5 @@ { + "language_name": "Русский", "app": { "successfully_signed_in": "Успешный вход" }, diff --git a/src/locales/tr/translation.json b/src/locales/tr/translation.json index 150eda84..2da9c977 100644 --- a/src/locales/tr/translation.json +++ b/src/locales/tr/translation.json @@ -1,4 +1,5 @@ { + "language_name": "Türkçe", "home": { "featured": "Öne çıkan", "trending": "Popüler", diff --git a/src/locales/uk/translation.json b/src/locales/uk/translation.json index 48dec3e4..bb840bc2 100644 --- a/src/locales/uk/translation.json +++ b/src/locales/uk/translation.json @@ -1,4 +1,5 @@ { + "language_name": "Українська", "app": { "successfully_signed_in": "Успішний вхід в систему" }, diff --git a/src/locales/zh/translation.json b/src/locales/zh/translation.json index e0284b8d..0c793172 100644 --- a/src/locales/zh/translation.json +++ b/src/locales/zh/translation.json @@ -1,4 +1,5 @@ { + "language_name": "中文", "app": { "successfully_signed_in": "已成功登录" }, diff --git a/src/main/index.ts b/src/main/index.ts index 24c367fd..3c5cc254 100644 --- a/src/main/index.ts +++ b/src/main/index.ts @@ -7,7 +7,7 @@ import url from "node:url"; import { electronApp, optimizer } from "@electron-toolkit/utils"; import { logger, PythonInstance, WindowManager } from "@main/services"; import { dataSource } from "@main/data-source"; -import * as resources from "@locales"; +import resources from "@locales"; import { userPreferencesRepository } from "@main/repository"; import { knexClient, migrationConfig } from "./knex-client"; diff --git a/src/renderer/src/main.tsx b/src/renderer/src/main.tsx index b88348f0..2377bf7c 100644 --- a/src/renderer/src/main.tsx +++ b/src/renderer/src/main.tsx @@ -26,7 +26,7 @@ import { import { store } from "./store"; -import * as resources from "@locales"; +import resources from "@locales"; import { User } from "./pages/user/user"; Sentry.init({}); diff --git a/src/renderer/src/pages/settings/settings-general.tsx b/src/renderer/src/pages/settings/settings-general.tsx index 3e69e5bf..10c17eca 100644 --- a/src/renderer/src/pages/settings/settings-general.tsx +++ b/src/renderer/src/pages/settings/settings-general.tsx @@ -1,7 +1,4 @@ import { useContext, useEffect, useState } from "react"; -import languages from "@cospired/i18n-iso-languages"; -import languagesEn from "@cospired/i18n-iso-languages/langs/en.json"; - import { TextField, Button, @@ -9,11 +6,9 @@ import { SelectField, } from "@renderer/components"; import { useTranslation } from "react-i18next"; - import { useAppSelector } from "@renderer/hooks"; - import { changeLanguage } from "i18next"; -import * as languageResources from "@locales"; +import languageResources from "@locales"; import { orderBy } from "lodash-es"; import { settingsContext } from "@renderer/context"; @@ -22,13 +17,6 @@ interface LanguageOption { nativeName: string; } -languages.registerLocale(languagesEn); - -const customLanguageNames = { - ptBR: "Português (Brasil)", - ptPT: "Português (Portugal)", -}; - export function SettingsGeneral() { const { t } = useTranslation("settings"); @@ -58,11 +46,9 @@ export function SettingsGeneral() { setLanguageOptions( orderBy( - Object.keys(languageResources).map((language) => { + Object.entries(languageResources).map(([language, value]) => { return { - nativeName: - customLanguageNames[language] || - languages.getName(language, "en"), + nativeName: value.language_name, option: language, }; }), @@ -103,8 +89,6 @@ export function SettingsGeneral() { function updateFormWithUserPreferences() { if (userPreferences) { - const parsedLanguage = userPreferences.language; - setForm((prev) => ({ ...prev, downloadsPath: userPreferences.downloadsPath ?? defaultDownloadsPath, @@ -112,7 +96,7 @@ export function SettingsGeneral() { userPreferences.downloadNotificationsEnabled, repackUpdatesNotificationsEnabled: userPreferences.repackUpdatesNotificationsEnabled, - language: parsedLanguage, + language: userPreferences.language, })); } } diff --git a/yarn.lock b/yarn.lock index 6ee3491a..91d9977f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -579,10 +579,12 @@ "@types/conventional-commits-parser" "^5.0.0" chalk "^5.3.0" -"@cospired/i18n-iso-languages@^4.2.0": - version "4.2.0" - resolved "https://registry.yarnpkg.com/@cospired/i18n-iso-languages/-/i18n-iso-languages-4.2.0.tgz#094418a72f250fd612b3fc856b12f674a10864eb" - integrity sha512-vy8cq1176MTxVwB1X9niQjcIYOH29F8Huxtx8hLmT5Uz3l1ztGDGri8KN/4zE7LV2mCT7JrcAoNV/I9yb+lNUw== +"@cspotcode/source-map-support@^0.8.0": + version "0.8.1" + resolved "https://registry.yarnpkg.com/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz#00629c35a688e05a88b1cda684fb9d5e73f000a1" + integrity sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw== + dependencies: + "@jridgewell/trace-mapping" "0.3.9" "@develar/schema-utils@~2.6.5": version "2.6.5" @@ -1008,7 +1010,7 @@ "@jridgewell/sourcemap-codec" "^1.4.10" "@jridgewell/trace-mapping" "^0.3.24" -"@jridgewell/resolve-uri@^3.1.0": +"@jridgewell/resolve-uri@^3.0.3", "@jridgewell/resolve-uri@^3.1.0": version "3.1.2" resolved "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz" integrity sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw== @@ -1023,6 +1025,14 @@ resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz" integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== +"@jridgewell/trace-mapping@0.3.9": + version "0.3.9" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz#6534fd5933a53ba7cbf3a17615e273a0d1273ff9" + integrity sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ== + dependencies: + "@jridgewell/resolve-uri" "^3.0.3" + "@jridgewell/sourcemap-codec" "^1.4.10" + "@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.25": version "0.3.25" resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz" @@ -1881,6 +1891,26 @@ resolved "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz" integrity sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A== +"@tsconfig/node10@^1.0.7": + version "1.0.11" + resolved "https://registry.yarnpkg.com/@tsconfig/node10/-/node10-1.0.11.tgz#6ee46400685f130e278128c7b38b7e031ff5b2f2" + integrity sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw== + +"@tsconfig/node12@^1.0.7": + version "1.0.11" + resolved "https://registry.yarnpkg.com/@tsconfig/node12/-/node12-1.0.11.tgz#ee3def1f27d9ed66dac6e46a295cffb0152e058d" + integrity sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag== + +"@tsconfig/node14@^1.0.0": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@tsconfig/node14/-/node14-1.0.3.tgz#e4386316284f00b98435bf40f72f75a09dabf6c1" + integrity sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow== + +"@tsconfig/node16@^1.0.2": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@tsconfig/node16/-/node16-1.0.4.tgz#0b92dcc0cc1c81f6f306a381f28e31b1a56536e9" + integrity sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA== + "@types/accepts@*": version "1.3.7" resolved "https://registry.yarnpkg.com/@types/accepts/-/accepts-1.3.7.tgz#3b98b1889d2b2386604c2bbbe62e4fb51e95b265" @@ -2526,6 +2556,18 @@ acorn-jsx@^5.3.2: resolved "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz" integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== +acorn-walk@^8.1.1: + version "8.3.3" + resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.3.3.tgz#9caeac29eefaa0c41e3d4c65137de4d6f34df43e" + integrity sha512-MxXdReSRhGO7VlFe1bRG/oI7/mdLV9B9JJT0N8vZOhF7gFRR5l3M8W9G8JxmKV+JC5mGqJ0QvqfSOLsCPa4nUw== + dependencies: + acorn "^8.11.0" + +acorn@^8.11.0, acorn@^8.4.1: + version "8.12.1" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.12.1.tgz#71616bdccbe25e27a54439e0046e89ca76df2248" + integrity sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg== + acorn@^8.11.3, acorn@^8.9.0: version "8.11.3" resolved "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz" @@ -2665,6 +2707,11 @@ applescript@^1.0.0: resolved "https://registry.npmjs.org/applescript/-/applescript-1.0.0.tgz" integrity sha512-yvtNHdWvtbYEiIazXAdp/NY+BBb65/DAseqlNiJQjOx9DynuzOYDbVLBJvuc0ve0VL9x6B3OHF6eH52y9hCBtQ== +arg@^4.1.0: + version "4.1.3" + resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089" + integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== + argparse@^2.0.1: version "2.0.1" resolved "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz" @@ -3378,6 +3425,11 @@ create-desktop-shortcuts@^1.11.0: dependencies: which "2.0.2" +create-require@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" + integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== + cross-fetch-ponyfill@^1.0.3: version "1.0.3" resolved "https://registry.npmjs.org/cross-fetch-ponyfill/-/cross-fetch-ponyfill-1.0.3.tgz" @@ -3581,6 +3633,11 @@ detect-node@^2.0.4: resolved "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz" integrity sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g== +diff@^4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" + integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== + dir-compare@^3.0.0: version "3.3.0" resolved "https://registry.npmjs.org/dir-compare/-/dir-compare-3.3.0.tgz" @@ -5185,11 +5242,6 @@ isexe@^2.0.0: resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== -iso-639-1@3.1.2: - version "3.1.2" - resolved "https://registry.npmjs.org/iso-639-1/-/iso-639-1-3.1.2.tgz" - integrity sha512-Le7BRl3Jt9URvaiEHJCDEdvPZCfhiQoXnFgLAWNRhzFMwRFdWO7/5tLRQbiPzE394I9xd7KdRCM7S6qdOhwG5A== - iterator.prototype@^1.1.2: version "1.1.2" resolved "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.2.tgz" @@ -5622,6 +5674,11 @@ magnet-uri@^7.0.5: bep53-range "^2.0.0" uint8-util "^2.1.9" +make-error@^1.1.1: + version "1.3.6" + resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" + integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== + matcher@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/matcher/-/matcher-3.0.0.tgz" @@ -7278,6 +7335,25 @@ ts-api-utils@^1.0.1: resolved "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.3.0.tgz" integrity sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ== +ts-node@^10.9.2: + version "10.9.2" + resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.9.2.tgz#70f021c9e185bccdca820e26dc413805c101c71f" + integrity sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ== + dependencies: + "@cspotcode/source-map-support" "^0.8.0" + "@tsconfig/node10" "^1.0.7" + "@tsconfig/node12" "^1.0.7" + "@tsconfig/node14" "^1.0.0" + "@tsconfig/node16" "^1.0.2" + acorn "^8.4.1" + acorn-walk "^8.1.1" + arg "^4.1.0" + create-require "^1.1.0" + diff "^4.0.1" + make-error "^1.1.1" + v8-compile-cache-lib "^3.0.1" + yn "3.1.1" + tslib@^2.0.3, tslib@^2.5.0, tslib@^2.6.2: version "2.6.2" resolved "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz" @@ -7489,6 +7565,11 @@ uuid@^9.0.0: resolved "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz" integrity sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA== +v8-compile-cache-lib@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz#6336e8d71965cb3d35a1bbb7868445a7c05264bf" + integrity sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg== + verror@^1.10.0: version "1.10.1" resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.1.tgz#4bf09eeccf4563b109ed4b3d458380c972b0cdeb" @@ -7782,6 +7863,11 @@ yauzl@^2.10.0: buffer-crc32 "~0.2.3" fd-slicer "~1.1.0" +yn@3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50" + integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== + yocto-queue@^0.1.0: version "0.1.0" resolved "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz" From dc4aa0f60847662e6853e6c15c7eaab57db9dc59 Mon Sep 17 00:00:00 2001 From: Zamitto <167933696+zamitto@users.noreply.github.com> Date: Thu, 5 Sep 2024 21:06:49 -0300 Subject: [PATCH 35/50] feat: remove dev db --- src/main/hydra.dev.db | Bin 16384 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 src/main/hydra.dev.db diff --git a/src/main/hydra.dev.db b/src/main/hydra.dev.db deleted file mode 100644 index d8c65f28e86ecd378cedef374125790f7237c717..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16384 zcmWFz^vNtqRY=P(%1ta$FlG>7U}R))P*7lCU|?ooU|?ZD046j(BSH!%iMs(=?{ z7@rpdza!s!J};bVMU^E0qLtr!nMnhmU1V%$(Gz3ONU^E0qLtr!nhC~Q7DlxN* zo0>8o7GdHoQQXxCFQX#RlBtJ7RxhOR^HLpZR zAt4iDYibHypJo6Po4B?%VSmHbha!7(gSz=LgMq-hMk*TSsjzU6GVo7oa z+}An^3Gj%BFUibJO;AWlEJ+2iG(mlH27w`wz(yT88UmvsFd71*Aut*OqaiRF0;3@? z8UmvsFd71*Aut*Oqai?M2!Q(kjQr0T_@9$$z^Jy-5Eu=C(GVC7fzc2c4S~@R7!85Z z5Eu=C(GVC7fzc2c4S~TD0^*F!rkrSt5x`3_ApQT}4E( Date: Sat, 7 Sep 2024 00:32:12 -0600 Subject: [PATCH 36/50] undo friendship string added --- src/locales/es/translation.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/locales/es/translation.json b/src/locales/es/translation.json index 9cc7af9d..295f30f1 100644 --- a/src/locales/es/translation.json +++ b/src/locales/es/translation.json @@ -270,6 +270,7 @@ "pending": "Pendiente", "no_pending_invites": "No tienes invitaciones pendientes", "no_blocked_users": "No has bloqueado a ningún usuario", - "friend_code_copied": "Código de amigo copiado" + "friend_code_copied": "Código de amigo copiado", + "undo_friendship_modal_text": "This will undo your friendship with {{displayName}}" } } From b87f1c124806e528bd32e9b97d38fc7e2c6225d6 Mon Sep 17 00:00:00 2001 From: Lianela <140931995+Lianela@users.noreply.github.com> Date: Sun, 8 Sep 2024 20:47:02 -0600 Subject: [PATCH 37/50] fixed mistake --- src/locales/es/translation.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/locales/es/translation.json b/src/locales/es/translation.json index 1f507008..1ee9b3ac 100644 --- a/src/locales/es/translation.json +++ b/src/locales/es/translation.json @@ -272,6 +272,6 @@ "no_pending_invites": "No tienes invitaciones pendientes", "no_blocked_users": "No has bloqueado a ningún usuario", "friend_code_copied": "Código de amigo copiado", - "undo_friendship_modal_text": "This will undo your friendship with {{displayName}}" + "undo_friendship_modal_text": "Esto deshara tu amistad con {{displayName}}" } } From 1aa741f66132cc468c372d14fa7abe6074c116c4 Mon Sep 17 00:00:00 2001 From: Lianela <140931995+Lianela@users.noreply.github.com> Date: Sun, 8 Sep 2024 20:47:55 -0600 Subject: [PATCH 38/50] fixed mistake --- src/locales/es/translation.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/locales/es/translation.json b/src/locales/es/translation.json index 1ee9b3ac..d215ff71 100644 --- a/src/locales/es/translation.json +++ b/src/locales/es/translation.json @@ -272,6 +272,6 @@ "no_pending_invites": "No tienes invitaciones pendientes", "no_blocked_users": "No has bloqueado a ningún usuario", "friend_code_copied": "Código de amigo copiado", - "undo_friendship_modal_text": "Esto deshara tu amistad con {{displayName}}" + "undo_friendship_modal_text": "Esto deshará tu amistad con {{displayName}}" } } From cc7738cf1bc7e077db4302ec38ec200b6d78eef6 Mon Sep 17 00:00:00 2001 From: Squomsh <156253451+Squomsh@users.noreply.github.com> Date: Mon, 9 Sep 2024 18:02:08 +0200 Subject: [PATCH 39/50] feat: translation - added German README --- README.de.md | 182 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 182 insertions(+) create mode 100644 README.de.md diff --git a/README.de.md b/README.de.md new file mode 100644 index 00000000..bd8c1b71 --- /dev/null +++ b/README.de.md @@ -0,0 +1,182 @@ +
+ +
+ +[](https://hydralauncher.site) + +

Hydra Launcher

+ +

+ Hydra ist ein Launcher für Spiele mit einem eigenen eingebetteten BitTorrent-Client. +

+ +[![build](https://img.shields.io/github/actions/workflow/status/hydralauncher/hydra/build.yml)](https://github.com/hydralauncher/hydra/actions) +[![release](https://img.shields.io/github/package-json/v/hydralauncher/hydra)](https://github.com/hydralauncher/hydra/releases) + +[![en](https://img.shields.io/badge/lang-en-red.svg)](README.md) +[![be](https://img.shields.io/badge/lang-be-orange)](README.be.md) +[![pl](https://img.shields.io/badge/lang-pl-white)](README.pl.md) +[![pt-BR](https://img.shields.io/badge/lang-pt--BR-green.svg)](README.pt-BR.md) +[![ru](https://img.shields.io/badge/lang-ru-yellow.svg)](README.ru.md) +[![uk-UA](https://img.shields.io/badge/lang-uk--UA-blue)](README.uk-UA.md) +[![es](https://img.shields.io/badge/lang-es-red)](README.es.md) +[![fr](https://img.shields.io/badge/lang-fr-blue)](README.fr.md) +[![de](https://img.shields.io/badge/lang-de-black)](README.de.md) + +![Hydra Katalog](./docs/screenshot.png) + +
+ +## Inhaltsverzeichnis + +- [Über Hydra](#über-hydra) +- [Eigenschaften](#eigenschaften) +- [Installation](#installation) +- [Mitwirken](#mitwirken) + - [Tritt uns auf Telegram bei](#tritt-uns-auf-telegram-bei) + - [Forke und klone dein Repo](#forke-und-klone-dein-repo) + - [Wie du mitwirken kannst](#wie-du-mitwirken-kannst) + - [Projektstruktur](#projektstruktur) +- [Den Quellcode kompilieren](#den-quellcode-kompilieren) + - [Installiere Node.js](#installiere-nodejs) + - [Installiere Yarn](#installiere-yarn) + - [Installiere Node-Abhängigkeiten](#installiere-node-abhängigkeiten) + - [Installiere Python 3.9](#installiere-python-39) + - [Installiere Python-Abhängigkeiten](#installiere-python-abhängigkeiten) +- [Umgebungsvariablen](#umgebungsvariablen) +- [Ausführung](#ausführung) +- [Kompilation](#kompilation) + - [Kompiliere den BitTorrent-Client](#kompiliere-den-bittorrent-client) + - [Kompiliere die Electron-Applikation](#kompiliere-die-electron-applikation) +- [Mitwirkende](#mitwirkende) + +## Über Hydra + +**Hydra** ist ein **Launcher für Spiele** mit einem eigenen eingebetteten **BitTorrent-Client**. +
+Der Launcher ist in TypeScript (Electron) und Python, womit das Torrentingsystem durch Einsatz von libtorrent geregelt ist, geschrieben. + +## Eigenschaften + +- Eigener eingebetteter BitTorrent-Client +- How Long to Beat (HLTB) Integration auf der Spielseite +- Anpassbarkeit des Downloadverzeichnisses +- Unterstützung von Windows und Linux +- Regelmäßig aktualisiert +- Und mehr ... + +## Installation + +Die folgenden Schritte beschreiben den Installationsprozess: + +1. Lade die neueste Version von Hydra von der [Releases](https://github.com/hydralauncher/hydra/releases/latest) Seite herunter. + - Für die Installation von Hydra auf Windows, wähle die .exe Datei. + - Für die Installation von Hydra auf Linux, wähle die .deb, .rpm oder .zip Datei. (Abhängig von deiner Linux-Distribution) +2. Führe die heruntergeladene Datei aus. +3. Genieße Hydra! + +## Mitwirken + +### Tritt uns auf Telegram bei + +Wir konzentrieren unsere Diskussionen in unserem [Telegram](https://t.me/hydralauncher) Kanal. + +### Forke und klone dein Repo + +1. Forke das Repo [(Klicke hier, um direkt zu forken)](https://github.com/hydralauncher/hydra/fork) +2. Klone deinen geforketen Code `git clone https://github.com/dein_nutzername/hydra` +3. Erstelle einen neuen Branch +4. Pushe deine Commits +5. Stelle eine neue Pull-Anfrage + +### Wie du mitwirken kannst + +- Übersetzung: Wir wollen Hydra so vielen Menschen wie möglich zugänglich machen. Gerne kannst du uns helfen neue Sprachen zu übersetzen oder für Hydra bereits verfügbare Sprachen zu aktualisieren und verbessern. +- Code: Hydra ist mit TypeScript, Electron und etwas Python gebaut. Wenn du mitwirken möchtest, tritt unserem [Telegram](https://t.me/hydralauncher) bei! + +### Projektstruktur + +- torrent-client: Wir verwenden die Python-Bibliothek libtorrent zur Verwaltung von Torrent-Downloads. +- src/renderer: die UI der Applikation. +- src/main: sämtliche Logik liegt hier. + +## Den Quellcode kompilieren + +### Installiere Node.js + +Stelle sicher, dass du Node.js auf deinem System installiert hast. Falls nicht, installiere es von [nodejs.org](https://nodejs.org/). + +### Installiere Yarn + +Yarn ist ein Packetmanager für Node.js. Sollte er dir fehlen, installiere ihn mithilfe der Anleitung auf [yarnpkg.com](https://classic.yarnpkg.com/lang/en/docs/install/). + +### Installiere Node-Abhängigkeiten + +Navigiere zum Projektverzeichnis und installiere die Node-Abhängigkeiten mit Yarn: + +```bash +cd hydra +yarn +``` + +### Installiere Python 3.9 + +Stelle sicher, dass du Python 3.9 auf deinem System installiert hast. Ansonsten kannst du es von [python.org](https://www.python.org/downloads/release/python-3913/) herunterladen und installieren. + +### Installiere Python-Abhängigkeiten + +Installiere die benötigten Python-Abhängigkeiten mit pip: + +```bash +pip install -r requirements.txt +``` + +## Umgebungsvariablen + +Du wirst einen SteamGridDB API Schlüssel benötigen, um die Spielicons bei Installation abzurufen. + +Sobald du einen hast, kannst du die .env.example Datei zu .env kopieren oder umbenennen und den Schlüssel bei STEAMGRIDDB_API_KEY einfügen. + +## Ausführung + +Sobald du alles eingerichtet hast, kannst du den folgenden Befehl nutzen, um sowohl den Electron-Prozess als auch den BitTorrent-Client zu starten: + +```bash +yarn dev +``` + +## Kompilation + +### Kompiliere den BitTorrent-Client + +Kompiliere den BitTorrent-Client mit folgendem Befehl: + +```bash +python torrent-client/setup.py build +``` + +### Kompiliere die Electron-Applikation + +Kompiliere die Electron-Applikation mit folgendem Befehl: + +Auf Windows: + +```bash +yarn build:win +``` + +Auf Linux: + +```bash +yarn build:linux +``` + +## Mitwirkende + +
+ + + +## Lizenz + +Hydra ist unter der [MIT Lizenz](LICENSE) lizensiert. From 5b7c9bf9c1463ad314764013da0f132181dea09a Mon Sep 17 00:00:00 2001 From: Squomsh <156253451+Squomsh@users.noreply.github.com> Date: Mon, 9 Sep 2024 18:03:33 +0200 Subject: [PATCH 40/50] feat: added links to German README --- README.be.md | 3 ++- README.es.md | 3 ++- README.fr.md | 3 ++- README.md | 3 ++- README.pl.md | 3 ++- README.pt-BR.md | 3 ++- README.ru.md | 3 ++- README.uk-UA.md | 3 ++- 8 files changed, 16 insertions(+), 8 deletions(-) diff --git a/README.be.md b/README.be.md index 806e45cc..42e119a5 100644 --- a/README.be.md +++ b/README.be.md @@ -5,7 +5,7 @@ [](https://hydralauncher.site)

Hydra Launcher

- +

Hydra - гэта гульнявы лаўнчар з уласным убудаваным кліентам BitTorrent і самастойным scraper`ам для рэпакаў.

@@ -20,6 +20,7 @@ [![be](https://img.shields.io/badge/lang-be-orange)](README.be.md) [![es](https://img.shields.io/badge/lang-es-red)](README.es.md) [![fr](https://img.shields.io/badge/lang-fr-blue)](README.fr.md) +[![de](https://img.shields.io/badge/lang-de-black)](README.de.md) ![Hydra Catalogue](./docs/screenshot.png) diff --git a/README.es.md b/README.es.md index 3c080da9..5467dbf3 100644 --- a/README.es.md +++ b/README.es.md @@ -5,7 +5,7 @@ [](https://hydralauncher.site)

Hydra Launcher

- +

Hydra es un launcher de juegos con su propio cliente de bittorrent y gestor propio de repacks.

@@ -20,6 +20,7 @@ [![uk-UA](https://img.shields.io/badge/lang-uk--UA-blue)](README.uk-UA.md) [![en](https://img.shields.io/badge/lang-en-red.svg)](README.md) [![fr](https://img.shields.io/badge/lang-fr-blue)](README.fr.md) +[![de](https://img.shields.io/badge/lang-de-black)](README.de.md) ![Hydra Catalogue](./docs/screenshot.png) diff --git a/README.fr.md b/README.fr.md index 0e99fb05..085e92b6 100644 --- a/README.fr.md +++ b/README.fr.md @@ -5,7 +5,7 @@ [](https://hydralauncher.site)

Hydra Launcher

- +

Hydra est un lanceur de jeux avec son propre client bittorrent intégré et un scraper de repack auto-géré.

@@ -20,6 +20,7 @@ [![ru](https://img.shields.io/badge/lang-ru-yellow.svg)](README.ru.md) [![uk-UA](https://img.shields.io/badge/lang-uk--UA-blue)](README.uk-UA.md) [![es](https://img.shields.io/badge/lang-es-red)](README.es.md) +[![de](https://img.shields.io/badge/lang-de-black)](README.de.md) ![Catalogue Hydra](./docs/screenshot.png) diff --git a/README.md b/README.md index 6dc97aea..44e65e51 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@ [](https://hydralauncher.site)

Hydra Launcher

- +

Hydra is a game launcher with its own embedded bittorrent client.

@@ -20,6 +20,7 @@ [![uk-UA](https://img.shields.io/badge/lang-uk--UA-blue)](README.uk-UA.md) [![es](https://img.shields.io/badge/lang-es-red)](README.es.md) [![fr](https://img.shields.io/badge/lang-fr-blue)](README.fr.md) +[![de](https://img.shields.io/badge/lang-de-black)](README.de.md) ![Hydra Catalogue](./docs/screenshot.png) diff --git a/README.pl.md b/README.pl.md index 298f82a9..1d5fb11e 100644 --- a/README.pl.md +++ b/README.pl.md @@ -5,7 +5,7 @@ [](https://hydralauncher.site)

Hydra Launcher

- +

Hydra - to program uruchamiający gry z własnym wbudowanym klientem bittorrent i samodzielnie zarządzanym repackagerem..

@@ -20,6 +20,7 @@ [![uk-UA](https://img.shields.io/badge/lang-uk--UA-blue)](README.uk-UA.md) [![es](https://img.shields.io/badge/lang-es-red)](README.es.md) [![fr](https://img.shields.io/badge/lang-fr-blue)](README.fr.md) +[![de](https://img.shields.io/badge/lang-de-black)](README.de.md) ![Hydra Catalogue](./docs/screenshot.png) diff --git a/README.pt-BR.md b/README.pt-BR.md index 0d76a9fa..d5cd93c9 100644 --- a/README.pt-BR.md +++ b/README.pt-BR.md @@ -5,7 +5,7 @@ [](https://hydralauncher.site)

Hydra Launcher

- +

Hydra é um Launcher de Jogos com seu próprio cliente de bittorrent integrado e um wrapper autogerenciado para busca de repacks.

@@ -20,6 +20,7 @@ [![uk-UA](https://img.shields.io/badge/lang-uk--UA-blue)](README.uk-UA.md) [![es](https://img.shields.io/badge/lang-es-red)](README.es.md) [![fr](https://img.shields.io/badge/lang-fr-blue)](README.fr.md) +[![de](https://img.shields.io/badge/lang-de-black)](README.de.md) ![Hydra Catalogue](./docs/screenshot.png) diff --git a/README.ru.md b/README.ru.md index a1aaf806..3cfa65b9 100644 --- a/README.ru.md +++ b/README.ru.md @@ -5,7 +5,7 @@ [](https://hydralauncher.site)

Hydra Launcher

- +

Hydra - это игровой лаунчер с собственным встроенным клиентом BitTorrent и самостоятельным scraper`ом для репаков.

@@ -20,6 +20,7 @@ [![uk-UA](https://img.shields.io/badge/lang-uk--UA-blue)](README.uk-UA.md) [![es](https://img.shields.io/badge/lang-es-red)](README.es.md) [![fr](https://img.shields.io/badge/lang-fr-blue)](README.fr.md) +[![de](https://img.shields.io/badge/lang-de-black)](README.de.md) ![Hydra Catalogue](./docs/screenshot.png) diff --git a/README.uk-UA.md b/README.uk-UA.md index 2f921499..9525bf4a 100644 --- a/README.uk-UA.md +++ b/README.uk-UA.md @@ -5,7 +5,7 @@ [](https://hydralauncher.site)

Hydra Launcher

- +

Hydra - це ігровий лаунчер з власним вбудованим bittorrent-клієнтом і самокерованим збирачем репаків.

@@ -20,6 +20,7 @@ [![ru](https://img.shields.io/badge/lang-ru-yellow.svg)](README.ru.md) [![es](https://img.shields.io/badge/lang-es-red)](README.es.md) [![fr](https://img.shields.io/badge/lang-fr-blue)](README.fr.md) +[![de](https://img.shields.io/badge/lang-de-black)](README.de.md) ![Hydra Catalogue](./docs/screenshot.png) From 7e848a1869001740547672ae1a451877557f407c Mon Sep 17 00:00:00 2001 From: Squomsh <156253451+Squomsh@users.noreply.github.com> Date: Mon, 9 Sep 2024 21:39:28 +0200 Subject: [PATCH 41/50] feat: added German localisation added translation entry src/locales/index.ts; added translation src/locales/de/translation.json --- src/locales/de/translation.json | 277 ++++++++++++++++++++++++++++++++ src/locales/index.ts | 2 + 2 files changed, 279 insertions(+) create mode 100644 src/locales/de/translation.json diff --git a/src/locales/de/translation.json b/src/locales/de/translation.json new file mode 100644 index 00000000..e8361961 --- /dev/null +++ b/src/locales/de/translation.json @@ -0,0 +1,277 @@ +{ + "language_name": "Deutsch", + "app": { + "successfully_signed_in": "Erfolgreich angemeldet" + }, + "home": { + "featured": "Empfohlen", + "trending": "Beliebt", + "surprise_me": "Überrasche mich", + "no_results": "Keine Ergebnisse gefunden" + }, + "sidebar": { + "catalogue": "Katalog", + "downloads": "Downloads", + "settings": "Einstellungen", + "my_library": "Meine Bibliothek", + "downloading_metadata": "{{title}} (Metadaten werden heruntergeladen…)", + "paused": "{{title}} (Pausiert)", + "downloading": "{{title}} ({{percentage}} - Wird heruntergeladen…)", + "filter": "Bibliothek filtern", + "home": "Home", + "queued": "{{title}} (In Warteschlange)", + "game_has_no_executable": "Spiel hat keine ausführbare Datei gewählt", + "sign_in": "Anmelden" + }, + "header": { + "search": "Spiele suchen", + "home": "Home", + "catalogue": "Katalog", + "downloads": "Downloads", + "search_results": "Suchergebnisse", + "settings": "Einstellungen", + "version_available_install": "Version {{version}} verfügbar. Klicke hier, um neuzustarten und sie zu installieren.", + "version_available_download": "Version {{version}} verfügbar. Klicke hier, um sie herunterzuladen." + }, + "bottom_panel": { + "no_downloads_in_progress": "Keine aktive Downloads", + "downloading_metadata": "Metadaten von {{title}} werden heruntergeladen…", + "downloading": "{{title}} wird heruntergeladen… ({{percentage}} abgeschlossen) - Abschluss {{eta}} - {{speed}}", + "calculating_eta": "{{title}} wird heruntergeladen… ({{percentage}} abgeschlossen) - Verbleibende Zeit wird berechnet…", + "checking_files": "Prüfe Dateien von {{title}}… ({{percentage}} abgeschlossen)" + }, + "catalogue": { + "next_page": "Nächste Seite", + "previous_page": "Vorherige Seite" + }, + "game_details": { + "open_download_options": "Download-Optionen öffnen", + "download_options_zero": "Keine Download-Optionen", + "download_options_one": "{{count}} Download-Option", + "download_options_other": "{{count}} Download-Optionen", + "updated_at": "Aktualisiert {{updated_at}}", + "install": "Installieren", + "resume": "Fortfahren", + "pause": "Pausieren", + "cancel": "Abbrechen", + "remove": "Entfernen", + "space_left_on_disk": "{{space}} auf Festplatte verfügbar", + "eta": "Abschluss {{eta}}", + "calculating_eta": "Verbleibende Zeit wird berechnet…", + "downloading_metadata": "Metadaten werden heruntergeladen…", + "filter": "Repacks filtern", + "requirements": "Systemanforderungen", + "minimum": "Minimum", + "recommended": "Empfohlen", + "paused": "Pausiert", + "release_date": "Veröffentlicht am {{date}}", + "publisher": "Veröffentlicht von {{publisher}}", + "hours": "Stunden", + "minutes": "Minuten", + "amount_hours": "{{amount}} Stunden", + "amount_minutes": "{{amount}} Minuten", + "accuracy": "{{accuracy}}% Genauigkeit", + "add_to_library": "Zu Bibliothek hinzufügen", + "remove_from_library": "Von Bibliothek entfernen", + "no_downloads": "Keine Downloads verfügbar", + "play_time": "{{amount}} lang gespielt", + "last_time_played": "Zuletzt gespielt {{period}}", + "not_played_yet": "{{title}} wurde noch nicht gespielt", + "next_suggestion": "Nächste Empfehlung", + "play": "Spielen", + "deleting": "Installer wird gelöscht…", + "close": "Schließen", + "playing_now": "Spielt jetzt", + "change": "Ändern", + "repacks_modal_description": "Wähle das Repack, das du herunterladen möchtest", + "select_folder_hint": "Um das Standardverzeichnis zu ändern, gehe zu den <0>Einstellungen", + "download_now": "Jetzt herunterladen", + "no_shop_details": "Shop-Details konnten nicht abgerufen werden.", + "download_options": "Download-Optionen", + "download_path": "Download-Verzeichnis", + "previous_screenshot": "Vorheriger Screenshot", + "next_screenshot": "Nächster Screenshot", + "screenshot": "Screenshot {{number}}", + "open_screenshot": "Screenshot {{number}} öffnen", + "download_settings": "Download-Einstellungen", + "downloader": "Downloader", + "select_executable": "Auswählen", + "no_executable_selected": "Keine ausführbare Datei gewählt", + "open_folder": "Verzeichnis öffnen", + "open_download_location": "Heruntergeladene Dateien anzeigen", + "create_shortcut": "Desktop-Verknüpfung erstellen", + "remove_files": "Dateien entfernen", + "remove_from_library_title": "Bist du dir sicher?", + "remove_from_library_description": "Dies wird {{game}} aus deiner Bibliothek entfernen", + "options": "Optionen", + "executable_section_title": "Ausführbare Datei", + "executable_section_description": "Pfad der Datei, die bei Klick auf \"Play\" ausgeführt wird", + "downloads_secion_title": "Downloads", + "downloads_section_description": "Sieh dir Updates oder andere Versionen dieses Spiels an", + "danger_zone_section_title": "Gefahrenzone", + "danger_zone_section_description": "Entferne dieses Spiel aus deiner Bibliothek oder die von Hydra heruntergeladenen Dateien", + "download_in_progress": "Download erfolgt", + "download_paused": "Download ist pausiert", + "last_downloaded_option": "Letzte Download-Option", + "create_shortcut_success": "Verknüpfung erfolgreich erstellt", + "create_shortcut_error": "Fehler bei Erstellung von Verknüpfung" + }, + "activation": { + "title": "Hydra aktivieren", + "installation_id": "Installations ID:", + "enter_activation_code": "Aktivierungscode eingeben", + "message": "Wenn du nicht weißt wo du fragen musst, solltest du dies nicht haben.", + "activate": "Aktivieren", + "loading": "Lädt…" + }, + "downloads": { + "resume": "Fortfahren", + "pause": "Pause", + "eta": "Abschluss {{eta}}", + "paused": "Pausiert", + "verifying": "Verifiziere…", + "completed": "Abgeschlossen", + "removed": "Nicht heruntergeladen", + "cancel": "Abbrechen", + "filter": "Heruntergeladene Spiele filtern", + "remove": "Entfernen", + "downloading_metadata": "Metadaten werden heruntergeladen…", + "deleting": "Installer wird entfernt…", + "delete": "Installer entfernen", + "delete_modal_title": "Bist du dir sicher?", + "delete_modal_description": "Dies wird alle Installationsdateien von deinem Computer entfernen", + "install": "Installieren", + "download_in_progress": "Läuft", + "queued_downloads": "Downloads in Warteschlange", + "downloads_completed": "Abgeschlossen", + "queued": "In Warteschlange", + "no_downloads_title": "Welch Leere", + "no_downloads_description": "Du hast mit Hydra noch nichts heruntergeladen, aber es ist nie zu spät anzufangen.", + "checking_files": "Dateien werden überprüft…" + }, + "settings": { + "downloads_path": "Download-Pfad", + "change": "Aktualisieren", + "notifications": "Benachrichtigungen", + "enable_download_notifications": "Wenn ein Download abgeschlossen wird", + "enable_repack_list_notifications": "Wenn ein neues Repack hinzugefügt wird", + "real_debrid_api_token_label": "Real-Debrid API Token", + "quit_app_instead_hiding": "Hydra verlassen statt minimieren beim Schließen", + "launch_with_system": "Hydra bei Systemstart starten", + "general": "Allgemein", + "behavior": "Verhalten", + "download_sources": "Download-Quellen", + "language": "Sprache", + "real_debrid_api_token": "API Token", + "enable_real_debrid": "Real-Debrid aktivieren", + "real_debrid_description": "Real-Debrid ist ein unrestriktiver Downloader, der es dir ermöglicht Dateien sofort und mit deiner maximalen Internetgeschwindigkeit herunterzuladen.", + "real_debrid_invalid_token": "API token nicht gültig", + "real_debrid_api_token_hint": "<0>Hier kannst du dir deinen API Token holen", + "real_debrid_free_account_error": "Das Konto \"{{username}}\" ist ein gratis account. Bitte abonniere Real-Debrid", + "real_debrid_linked_message": "Konto \"{{username}}\" verknüpft", + "save_changes": "Änderungen speichern", + "changes_saved": "Änderungen erfolgreich gespeichert", + "download_sources_description": "Hydra wird die Download-Links von diesen Quellen abrufen. Die Quell-URL muss ein direkter Link zu einer .json Datei, welche die Download-Links enthält, sein.", + "validate_download_source": "Validieren", + "remove_download_source": "Entfernen", + "add_download_source": "Quelle hinzufügen", + "download_count_zero": "Keine Download-Option", + "download_count_one": "{{countFormatted}} Download-Option", + "download_count_other": "{{countFormatted}} Download-Optionen", + "download_source_url": "Download Quell-URL", + "add_download_source_description": "Füge die URL, welche die .json Datei enthält, ein", + "download_source_up_to_date": "Auf aktuellem Stand", + "download_source_errored": "Fehlgeschlagen", + "sync_download_sources": "Quellen synchronisieren", + "removed_download_source": "Download-Quelle entfernt", + "added_download_source": "Download-Quelle hinzugefügt", + "download_sources_synced": "Alle Download-Quellen sind synchronisiert", + "insert_valid_json_url": "Füge eine gültige JSON URL ein", + "found_download_option_zero": "Keine Download-Option gefunden", + "found_download_option_one": "{{countFormatted}} Download-Option gefunden", + "found_download_option_other": "{{countFormatted}} Download-Optionen gefunden", + "import": "Importieren" + }, + "notifications": { + "download_complete": "Download abgeschlossen", + "game_ready_to_install": "{{title}} ist bereit zur Installation", + "repack_list_updated": "Repack-Liste aktualisiert", + "repack_count_one": "{{count}} Repack hinzugefügt", + "repack_count_other": "{{count}} Repacks hinzugefügt", + "new_update_available": "Version {{version}} verfügbar", + "restart_to_install_update": "Um das Update zu installieren, starte Hydra neu" + }, + "system_tray": { + "open": "Hydra öffnen", + "quit": "Schließen" + }, + "game_card": { + "no_downloads": "Keine Downloads verfügbar" + }, + "binary_not_found_modal": { + "title": "Programme nicht installiert", + "description": "Ausführbare Dateien für Wine oder Lutris wurden auf deinem System nicht gefunden", + "instructions": "Überprüfe die korrekte Installation dieser für deine Linux-Distro, damit das Spiel normal laufen kann" + }, + "modal": { + "close": "Knopf schließen" + }, + "forms": { + "toggle_password_visibility": "Sichtbarkeit des Passworts umschalten" + }, + "user_profile": { + "amount_hours": "{{amount}} Stunden", + "amount_minutes": "{{amount}} Minuten", + "last_time_played": "Zuletzt gespielt {{period}}", + "activity": "Letzte Aktivität", + "library": "Bibliothek", + "total_play_time": "Gesamtspielzeit: {{amount}}", + "no_recent_activity_title": "Hmmm… hier ist nichts", + "no_recent_activity_description": "Du hast in letzter Zeit keine Spiele gespielt. Es wird Zeit das zu ändern!", + "display_name": "Anzeigename", + "saving": "Speichert", + "save": "Speichern", + "edit_profile": "Profil Bearbeiten", + "saved_successfully": "Erfolgreich gespeichert", + "try_again": "Bitte versuche es erneut", + "sign_out_modal_title": "Bist du dir sicher?", + "cancel": "Abbrechen", + "successfully_signed_out": "Erfolgreich abgemeldet", + "sign_out": "Abmelden", + "playing_for": "Spielt {{amount}} lang", + "sign_out_modal_text": "Deine Bibliothek ist mit deinem aktuellen Konto verknüpft. Wenn du dich abmeldest, wird deine Bibliothek nicht mehr sichtbar sein und jeglicher Fortschritt wird nicht gespeichert. Abmelden fortführen?", + "add_friends": "Freunde hinzufügen", + "add": "Hinzufügen", + "friend_code": "Freundescode", + "see_profile": "Profil anzeigen", + "sending": "Sendet", + "friend_request_sent": "Freundschaftsanfrage versendet", + "friends": "Freunde", + "friends_list": "Freundesliste", + "user_not_found": "Nutzer nicht gefunden", + "block_user": "Nutzer blockieren", + "add_friend": "Freund hinzufügen", + "request_sent": "Anfrage versendet", + "request_received": "Anfrage erhalten", + "accept_request": "Anfrage annehmen", + "ignore_request": "Anfrage ignorieren", + "cancel_request": "Anfrage zurückziehen", + "undo_friendship": "Freundschaft kündigen", + "request_accepted": "Anfrage akzeptiert", + "user_blocked_successfully": "Nutzer erfolgreich blockiert", + "user_block_modal_text": "{{displayName}} wird dadurch blockiert", + "settings": "Einstellungen", + "public": "Öffentlich", + "private": "Privat", + "friends_only": "Nur Freunde", + "privacy": "Privatsphäre", + "blocked_users": "Blockierte Nutzer", + "unblock": "Freigeben", + "no_friends_added": "Du hast noch keine Freunde hinzugefügt", + "pending": "Ausstehend", + "no_pending_invites": "Du hast keine ausstehenden Einladungen", + "no_blocked_users": "Du hast keine blockierten Nutzer", + "friend_code_copied": "Freundescode kopiert", + "undo_friendship_modal_text": "Freundschaft mit {{displayName}} wird dadurch gekündigt" + } +} diff --git a/src/locales/index.ts b/src/locales/index.ts index ea0783c2..e8426f01 100644 --- a/src/locales/index.ts +++ b/src/locales/index.ts @@ -6,6 +6,7 @@ import nl from "./nl/translation.json"; import fr from "./fr/translation.json"; import hu from "./hu/translation.json"; import it from "./it/translation.json"; +import de from "./de/translation.json"; import pl from "./pl/translation.json"; import ru from "./ru/translation.json"; import tr from "./tr/translation.json"; @@ -25,6 +26,7 @@ export default { "pt-BR": ptBR, "pt-PT": ptPT, en, + de, es, nl, fr, From 4dd80bfc6b7df0794bc463bd5accf40109f4e2ba Mon Sep 17 00:00:00 2001 From: Thales Euflauzino Date: Mon, 9 Sep 2024 20:40:16 -0300 Subject: [PATCH 42/50] :books: docs: update readme's --- README.be.md | 1 + README.es.md | 1 + README.fr.md | 1 + README.it.md | 1 + README.md | 1 + README.pl.md | 1 + README.pt-BR.md | 1 + README.ru.md | 1 + README.uk-UA.md | 1 + 9 files changed, 9 insertions(+) diff --git a/README.be.md b/README.be.md index 576d838c..2224fe99 100644 --- a/README.be.md +++ b/README.be.md @@ -20,6 +20,7 @@ [![be](https://img.shields.io/badge/lang-be-orange)](README.be.md) [![es](https://img.shields.io/badge/lang-es-red)](README.es.md) [![fr](https://img.shields.io/badge/lang-fr-blue)](README.fr.md) +[![de](https://img.shields.io/badge/lang-de-black)](README.de.md) [![ita](https://img.shields.io/badge/lang-it-red)](README.it.md) ![Hydra Catalogue](./docs/screenshot.png) diff --git a/README.es.md b/README.es.md index bf6dab63..499609b3 100644 --- a/README.es.md +++ b/README.es.md @@ -20,6 +20,7 @@ [![be](https://img.shields.io/badge/lang-be-orange)](README.be.md) [![es](https://img.shields.io/badge/lang-es-red)](README.es.md) [![fr](https://img.shields.io/badge/lang-fr-blue)](README.fr.md) +[![de](https://img.shields.io/badge/lang-de-black)](README.de.md) [![ita](https://img.shields.io/badge/lang-it-red)](README.it.md) ![Hydra Catalogue](./docs/screenshot.png) diff --git a/README.fr.md b/README.fr.md index a0d61763..ba3060e0 100644 --- a/README.fr.md +++ b/README.fr.md @@ -20,6 +20,7 @@ [![be](https://img.shields.io/badge/lang-be-orange)](README.be.md) [![es](https://img.shields.io/badge/lang-es-red)](README.es.md) [![fr](https://img.shields.io/badge/lang-fr-blue)](README.fr.md) +[![de](https://img.shields.io/badge/lang-de-black)](README.de.md) [![ita](https://img.shields.io/badge/lang-it-red)](README.it.md) ![Catalogue Hydra](./docs/screenshot.png) diff --git a/README.it.md b/README.it.md index d9cf6b69..21b3fdcf 100644 --- a/README.it.md +++ b/README.it.md @@ -20,6 +20,7 @@ [![be](https://img.shields.io/badge/lang-be-orange)](README.be.md) [![es](https://img.shields.io/badge/lang-es-red)](README.es.md) [![fr](https://img.shields.io/badge/lang-fr-blue)](README.fr.md) +[![de](https://img.shields.io/badge/lang-de-black)](README.de.md) [![ita](https://img.shields.io/badge/lang-it-red)](README.it.md) ![Hydra Catalogue](./docs/screenshot.png) diff --git a/README.md b/README.md index fc248729..5a91d23d 100644 --- a/README.md +++ b/README.md @@ -20,6 +20,7 @@ [![be](https://img.shields.io/badge/lang-be-orange)](README.be.md) [![es](https://img.shields.io/badge/lang-es-red)](README.es.md) [![fr](https://img.shields.io/badge/lang-fr-blue)](README.fr.md) +[![de](https://img.shields.io/badge/lang-de-black)](README.de.md) [![ita](https://img.shields.io/badge/lang-it-red)](README.it.md) ![Hydra Catalogue](./docs/screenshot.png) diff --git a/README.pl.md b/README.pl.md index 290dcb0e..7640b16e 100644 --- a/README.pl.md +++ b/README.pl.md @@ -20,6 +20,7 @@ [![be](https://img.shields.io/badge/lang-be-orange)](README.be.md) [![es](https://img.shields.io/badge/lang-es-red)](README.es.md) [![fr](https://img.shields.io/badge/lang-fr-blue)](README.fr.md) +[![de](https://img.shields.io/badge/lang-de-black)](README.de.md) [![ita](https://img.shields.io/badge/lang-it-red)](README.it.md) ![Hydra Catalogue](./docs/screenshot.png) diff --git a/README.pt-BR.md b/README.pt-BR.md index 2617df62..cdba83d1 100644 --- a/README.pt-BR.md +++ b/README.pt-BR.md @@ -20,6 +20,7 @@ [![be](https://img.shields.io/badge/lang-be-orange)](README.be.md) [![es](https://img.shields.io/badge/lang-es-red)](README.es.md) [![fr](https://img.shields.io/badge/lang-fr-blue)](README.fr.md) +[![de](https://img.shields.io/badge/lang-de-black)](README.de.md) [![ita](https://img.shields.io/badge/lang-it-red)](README.it.md) ![Hydra Catalogue](./docs/screenshot.png) diff --git a/README.ru.md b/README.ru.md index 3e9bca17..ee56c56b 100644 --- a/README.ru.md +++ b/README.ru.md @@ -20,6 +20,7 @@ [![be](https://img.shields.io/badge/lang-be-orange)](README.be.md) [![es](https://img.shields.io/badge/lang-es-red)](README.es.md) [![fr](https://img.shields.io/badge/lang-fr-blue)](README.fr.md) +[![de](https://img.shields.io/badge/lang-de-black)](README.de.md) [![ita](https://img.shields.io/badge/lang-it-red)](README.it.md) ![Hydra Catalogue](./docs/screenshot.png) diff --git a/README.uk-UA.md b/README.uk-UA.md index a6589a40..7802cbff 100644 --- a/README.uk-UA.md +++ b/README.uk-UA.md @@ -20,6 +20,7 @@ [![be](https://img.shields.io/badge/lang-be-orange)](README.be.md) [![es](https://img.shields.io/badge/lang-es-red)](README.es.md) [![fr](https://img.shields.io/badge/lang-fr-blue)](README.fr.md) +[![de](https://img.shields.io/badge/lang-de-black)](README.de.md) [![ita](https://img.shields.io/badge/lang-it-red)](README.it.md) ![Hydra Catalogue](./docs/screenshot.png) From 692e38cd7ed64ee188fbcde566a922e9ca627afb Mon Sep 17 00:00:00 2001 From: Thales Euflauzino <120137721+thaleseuflauzino@users.noreply.github.com> Date: Mon, 9 Sep 2024 20:53:16 -0300 Subject: [PATCH 43/50] fix: spaces after "[" --- README.pt-BR.md | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/README.pt-BR.md b/README.pt-BR.md index 5a22ab99..3d828dc0 100644 --- a/README.pt-BR.md +++ b/README.pt-BR.md @@ -30,27 +30,27 @@ ## Índice - [Índice](#índice) -- [ Sobre](#-sobre) -- [ Recursos](#-recursos) -- [ Instalação](#-instalação) -- [ Contribuindo](#-contribuindo) - - [ Junte-se ao nosso Telegram](#-junte-se-ao-nosso-telegram) - - [ Fork e clone o seu repositório](#-fork-e-clone-o-seu-repositório) - - [ Formas de contribuir](#-formas-de-contribuir) - - [ Estrutura do Projeto](#-estrutura-do-projeto) -- [ Compile a partir do código-fonte](#-compile-a-partir-do-código-fonte) - - [ Instale Node.js](#-instale-nodejs) - - [ Instale Yarn](#-instale-yarn) - - [ Instale Dependencias do Node](#-instale-dependencias-do-node) - - [ Instale Python 3.9](#-instale-python-39) - - [ Instale Python Dependencies](#-instale-python-dependencies) -- [ Environment variables](#-environment-variables) -- [ Running](#-running) -- [ Build](#-build) - - [ Build the bittorrent client](#-build-the-bittorrent-client) - - [ Build the Electron application](#-build-the-electron-application) -- [ Contributors](#-contributors) -- [ Licença](#-licença) +- [Sobre](#-sobre) +- [Recursos](#-recursos) +- [Instalação](#-instalação) +- [Contribuindo](#-contribuindo) + - [Junte-se ao nosso Telegram](#-junte-se-ao-nosso-telegram) + - [Fork e clone o seu repositório](#-fork-e-clone-o-seu-repositório) + - [Formas de contribuir](#-formas-de-contribuir) + - [Estrutura do Projeto](#-estrutura-do-projeto) +- [Compile a partir do código-fonte](#-compile-a-partir-do-código-fonte) + - [Instale Node.js](#-instale-nodejs) + - [Instale Yarn](#-instale-yarn) + - [Instale Dependencias do Node](#-instale-dependencias-do-node) + - [Instale Python 3.9](#-instale-python-39) + - [Instale Python Dependencies](#-instale-python-dependencies) +- [Environment variables](#-environment-variables) +- [Running](#-running) +- [Build](#-build) + - [Build the bittorrent client](#-build-the-bittorrent-client) + - [Build the Electron application](#-build-the-electron-application) +- [Contributors](#-contributors) +- [Licença](#-licença) ## Sobre From ae9111975b6bfef597cc4e4985ad21f50ffb3188 Mon Sep 17 00:00:00 2001 From: Thales Euflauzino <120137721+thaleseuflauzino@users.noreply.github.com> Date: Mon, 9 Sep 2024 20:54:00 -0300 Subject: [PATCH 44/50] fix: spaces after "[" --- README.be.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.be.md b/README.be.md index ce8646a2..5dfadf5d 100644 --- a/README.be.md +++ b/README.be.md @@ -33,8 +33,8 @@ - [Апісанне](#апісанне) - [Асаблівасці](#асаблівасці) - [Усталёўка](#усталёўка) -- [ Уклад](#-уклад) - - [ Далучайцеся да нашага Telegram](#-далучайцеся-да-нашага-telegram) +- [Уклад](#-уклад) + - [Далучайцеся да нашага Telegram](#-далучайцеся-да-нашага-telegram) - [Форк і кланаванне рэпазітара](#форк-і-кланаванне-рэпазітара) - [Спосабы ўнесці свой уклад](#спосабы-ўнесці-свой-уклад) - [Структура праекту](#структура-праекту) From ffdbf755f9fbab4052e13cbdcad8af61d90a30b4 Mon Sep 17 00:00:00 2001 From: Thales Euflauzino <120137721+thaleseuflauzino@users.noreply.github.com> Date: Mon, 9 Sep 2024 20:55:22 -0300 Subject: [PATCH 45/50] fix: spaces after "[" --- README.it.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.it.md b/README.it.md index 21b3fdcf..678febac 100644 --- a/README.it.md +++ b/README.it.md @@ -33,8 +33,8 @@ - [A proposito](#a-proposito) - [Caratteristiche](#caratteristiche) - [Installazione](#installazione) -- [ Contribuire](#-contribuire) - - [ Unisciti su Telegram](#-unisciti-su-telegram) +- [Contribuire](#-contribuire) + - [Unisciti su Telegram](#-unisciti-su-telegram) - [Forka e Clona la repository](#forka-e-clona-la-repository) - [Modi in cui contribuire](#modi-in-cui-contribuire) - [Struttura del Progetto](#struttura-del-progetto) From f6f304ef6f9690f2f08edac9a72929af69a9b506 Mon Sep 17 00:00:00 2001 From: Thales Euflauzino <120137721+thaleseuflauzino@users.noreply.github.com> Date: Mon, 9 Sep 2024 20:55:48 -0300 Subject: [PATCH 46/50] fix: spaces after "[" --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 03f34321..f76da369 100644 --- a/README.md +++ b/README.md @@ -33,8 +33,8 @@ - [About](#about) - [Features](#features) - [Installation](#installation) -- [ Contributing](#-contributing) - - [ Join our Telegram](#-join-our-telegram) +- [Contributing](#-contributing) + - [Join our Telegram](#-join-our-telegram) - [Fork and clone your repository](#fork-and-clone-your-repository) - [Ways you can contribute](#ways-you-can-contribute) - [Project Structure](#project-structure) From c311cc3fb696d2a89a4a322c0b69c85202d57422 Mon Sep 17 00:00:00 2001 From: Thales Euflauzino <120137721+thaleseuflauzino@users.noreply.github.com> Date: Mon, 9 Sep 2024 20:56:12 -0300 Subject: [PATCH 47/50] fix: spaces after "[" --- README.pl.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.pl.md b/README.pl.md index 0033e223..a4a65630 100644 --- a/README.pl.md +++ b/README.pl.md @@ -33,8 +33,8 @@ - [O nas](#o-nas) - [Cechy](#cechy) - [Instalacja](#instalacja) -- [ Dokonaj wpłaty](#-dokonaj-wpłaty) - - [ Dołącz do naszego kanału Telegram](#-dołącz-do-naszego-kanału-telegram) +- [Dokonaj wpłaty](#-dokonaj-wpłaty) + - [Dołącz do naszego kanału Telegram](#-dołącz-do-naszego-kanału-telegram) - [Rozwidlenie i sklonowanie repozytorium](#rozwidlenie-i-sklonowanie-repozytorium) - [Jak możesz pomóc](#jak-możesz-pomóc) - [Struktura projektu](#struktura-projektu) From 57a43c6358b1fa4ecedba5b6670b5c86df0b3395 Mon Sep 17 00:00:00 2001 From: Thales Euflauzino <120137721+thaleseuflauzino@users.noreply.github.com> Date: Mon, 9 Sep 2024 20:57:01 -0300 Subject: [PATCH 48/50] fix: spaces after "[" --- README.ru.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.ru.md b/README.ru.md index 649bcc68..409681a0 100644 --- a/README.ru.md +++ b/README.ru.md @@ -33,8 +33,8 @@ - [Описание](#описание) - [Особенности](#особенности) - [Установка](#установка) -- [ Вклад](#-вклад) - - [ Присоединяйтесь к нашему Telegram](#-присоединяйтесь-к-нашему-telegram) +- [Вклад](#-вклад) + - [Присоединяйтесь к нашему Telegram](#-присоединяйтесь-к-нашему-telegram) - [Форк и клонирование репозитория](#форк-и-клонирование-репозитория) - [Способы внести свой вклад](#способы-внести-свой-вклад) - [Структура проекта](#структура-проекта) From 46ee202b7cbbe6d2b58a4848fa786362732bb249 Mon Sep 17 00:00:00 2001 From: Thales Euflauzino <120137721+thaleseuflauzino@users.noreply.github.com> Date: Mon, 9 Sep 2024 20:57:21 -0300 Subject: [PATCH 49/50] fix: spaces after "[" --- README.uk-UA.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.uk-UA.md b/README.uk-UA.md index bc60c235..251f9e11 100644 --- a/README.uk-UA.md +++ b/README.uk-UA.md @@ -33,8 +33,8 @@ - [Про нас](#про-нас) - [Функції](#функції) - [Встановлення](#встановлення) -- [ Зробити свій внесок](#-зробити-свій-внесок) - - [ Приєднуйтесь до нашого Telegram](#-приєднуйтесь-до-нашого-telegram) +- [Зробити свій внесок](#-зробити-свій-внесок) + - [Приєднуйтесь до нашого Telegram](#-приєднуйтесь-до-нашого-telegram) - [Форк і клонування вашого репозиторію](#форк-і-клонування-вашого-репозиторію) - [Як ви можете зробити свій внесок](#як-ви-можете-зробити-свій-внесок) - [Структура проекту](#структура-проекту) From 69c39fe6c40d618de0edde9bff7f5bef04ff98ad Mon Sep 17 00:00:00 2001 From: Thales Euflauzino <120137721+thaleseuflauzino@users.noreply.github.com> Date: Mon, 9 Sep 2024 20:57:44 -0300 Subject: [PATCH 50/50] fix: spaces after "[" --- README.es.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.es.md b/README.es.md index e7b84815..50fecb2b 100644 --- a/README.es.md +++ b/README.es.md @@ -33,8 +33,8 @@ - [Acerca de](#acerca-de) - [Caracteristicas](#caracteristicas) - [Instalacion](#instalacion) -- [ Contribuir](#-contribuir) - - [ Unete a nuestro Telegram](#-unete-a-nuestro-telegram) +- [Contribuir](#-contribuir) + - [Unete a nuestro Telegram](#-unete-a-nuestro-telegram) - [Haz un fork y clona tu repositorio](#haz-un-fork-y-clona-tu-repositorio) - [Maneras en las que puedes contribuir](#maneras-en-las-que-puedes-contribuir) - [Estructura del proyecto](#estructura-del-proyecto)