diff --git a/README.md b/README.md index 5a2969af..a39bc970 100644 --- a/README.md +++ b/README.md @@ -444,6 +444,7 @@ Dashy supports multiple languages and locales. When available, you're language s - 🇪🇸 **Spanish**: `es` - Contributed by **[@lu4t](https://github.com/lu4t)** - 🇸🇮 **Slovenian**: `sl` - Contributed by **[@UrekD](https://github.com/UrekD)** - 🇮🇹 **Italian**: `it` - Machine Translated *(awaiting human review)* +- 🇵🇹 **Portuguese**: `pt` - Machine Translated *(awaiting human review)* - 🇦🇪 **Arabic**: `ar` - 🇮🇳 **Hindi**: `hi` - 🇯🇵 **Japanese**: `ja` diff --git a/src/assets/locales/pt.json b/src/assets/locales/pt.json new file mode 100644 index 00000000..b0acafba --- /dev/null +++ b/src/assets/locales/pt.json @@ -0,0 +1,172 @@ +{ + "home": { + "no-results": "Sem resultados de pesquisa", + "no-data": "Nenhum dado configurado" + }, + "search": { + "search-label": "Procurar", + "search-placeholder": "Comece a digitar para filtrar", + "clear-search-tooltip": "Limpar pesquisa", + "enter-to-search-web": "Pressione Enter para pesquisar na web" + }, + "login": { + "title": "Dashy", + "username-label": "Nome do usuário", + "password-label": "Senha", + "login-button": "Conecte-se", + "remember-me-label": "Lembre-se de mim para", + "remember-me-never": "Nunca", + "remember-me-hour": "4 horas", + "remember-me-day": "1 dia", + "remember-me-week": "1 semana", + "error-missing-username": "Nome de usuário ausente", + "error-missing-password": "Senha ausente", + "error-incorrect-username": "Usuário não encontrado", + "error-incorrect-password": "Senha incorreta", + "success-message": "Fazendo login ...", + "logout-message": "Desconectado", + "already-logged-in-title": "Já logado", + "already-logged-in-text": "Você está logado como", + "proceed-to-dashboard": "Prossiga para o painel", + "log-out-button": "Sair", + "proceed-guest-button": "Prossiga como Convidado" + }, + "config": { + "main-tab": "Menu principal", + "view-config-tab": "Ver config", + "edit-config-tab": "Editar configuração", + "custom-css-tab": "Estilos Personalizados", + "heading": "Opções de configuração", + "download-config-button": "Baixar configuração", + "edit-config-button": "Editar configuração", + "edit-css-button": "Editar CSS personalizado", + "cloud-sync-button": "Habilitar sincronização em nuvem", + "edit-cloud-sync-button": "Editar sincronização na nuvem", + "rebuild-app-button": "Recriar aplicativo", + "change-language-button": "Alterar o idioma do aplicativo", + "reset-settings-button": "Redefinir as configurações locais", + "app-info-button": "Informações do aplicativo", + "backup-note": "É recomendável fazer um backup de sua configuração antes de fazer alterações.", + "reset-config-msg-l1": "Isso removerá todas as configurações do usuário do armazenamento local, mas não afetará o arquivo 'conf.yml'.", + "reset-config-msg-l2": "Você deve primeiro fazer backup de todas as alterações feitas localmente, se quiser usá-las no futuro.", + "reset-config-msg-l3": "Tem certeza de que deseja continuar?", + "data-cleared-msg": "Dados apagados com sucesso", + "actions-label": "Ações", + "copy-config-label": "Copiar configuração", + "data-copied-msg": "A configuração foi copiada para a área de transferência", + "reset-config-label": "Redefinir configuração", + "css-save-btn": "Salvar alterações", + "css-note-label": "Observação", + "css-note-l1": "Você precisará atualizar a página para que as alterações tenham efeito.", + "css-note-l2": "As substituições de estilos são armazenadas apenas localmente, portanto, é recomendável fazer uma cópia do seu CSS.", + "css-note-l3": "Para remover todos os estilos personalizados, exclua o conteúdo e clique em Salvar alterações" + }, + "alternate-views": { + "alternate-view-heading": "Mudar de vista", + "default": "Predefinição", + "workspace": "Área de trabalho", + "minimal": "Mínimo" + }, + "settings": { + "theme-label": "Tema", + "layout-label": "Layout", + "layout-auto": "Auto", + "layout-horizontal": "Horizontal", + "layout-vertical": "Vertical", + "item-size-label": "Tamanho do item", + "item-size-small": "Pequena", + "item-size-medium": "Médio", + "item-size-large": "Grande", + "config-launcher-label": "Config", + "config-launcher-tooltip": "Atualizar configuração", + "sign-out-tooltip": "Sair", + "sign-in-tooltip": "Conecte-se", + "sign-in-welcome": "Olá {nome de usuário}!" + }, + "updates": { + "app-version-note": "Versão Dashy", + "up-to-date": "Atualizado", + "out-of-date": "Atualização disponível", + "unsupported-version-l1": "Você está usando uma versão não suportada do Dashy", + "unsupported-version-l2": "Para obter a melhor experiência e patches de segurança recentes, atualize para" + }, + "language-switcher": { + "title": "Alterar o idioma do aplicativo", + "dropdown-label": "Selecione um idioma", + "save-button": "Salve ", + "success-msg": "Idioma atualizado para" + }, + "theme-maker": { + "title": "Configurador de Tema", + "export-button": "Exportar Variáveis Personalizadas", + "reset-button": "Redefinir estilos para", + "show-all-button": "Mostrar todas as variáveis", + "save-button": "Salve ", + "cancel-button": "Cancelar", + "saved-toast": "{theme} atualizado com sucesso", + "copied-toast": "Dados do tema para {theme} copiados para a área de transferência", + "reset-toast": "Cores personalizadas para {theme} removidas" + }, + "config-editor": { + "save-location-label": "Salvar localização", + "location-local-label": "Aplicar localmente", + "location-disk-label": "Gravar alterações no arquivo de configuração", + "save-button": "Salvar alterações", + "valid-label": "A configuração é válida", + "status-success-msg": "Tarefa Concluída", + "status-fail-msg": "Falha na Tarefa", + "success-msg-disk": "Arquivo de configuração gravado no disco com sucesso", + "success-msg-local": "Alterações locais salvas com sucesso", + "success-note-l1": "O aplicativo deve ser reconstruído automaticamente.", + "success-note-l2": "Isso pode levar até um minuto.", + "success-note-l3": "Você precisará atualizar a página para que as alterações tenham efeito.", + "error-msg-save-mode": "Selecione um Modo de Salvar: Local ou Arquivo", + "error-msg-cannot-save": "Ocorreu um erro ao salvar a configuração", + "error-msg-bad-json": "Erro em JSON, possivelmente malformado", + "warning-msg-validation": "Aviso de Validação", + "not-admin-note": "Você não pode gravar alterações no disco, porque você não está conectado como administrador" + }, + "app-rebuild": { + "title": "Recriar aplicativo", + "rebuild-note-l1": "Uma reconstrução é necessária para que as alterações gravadas no arquivo conf.yml tenham efeito.", + "rebuild-note-l2": "Isso deve acontecer automaticamente, mas se não aconteceu, você pode acioná-lo manualmente aqui.", + "rebuild-note-l3": "Isso não é necessário para modificações armazenadas localmente.", + "rebuild-button": "Começar a construir", + "rebuilding-status-1": "Construção...", + "rebuilding-status-2": "Isso pode levar alguns minutos", + "error-permission": "Você não tem permissão para acionar esta ação", + "success-msg": "Construção concluída com sucesso", + "fail-msg": "A operação de construção falhou", + "reload-note": "Agora é necessário recarregar a página para que as alterações tenham efeito", + "reload-button": "Recarregar página" + }, + "cloud-sync": { + "title": "Backup e restauração em nuvem", + "intro-l1": "O backup e restauração em nuvem é um recurso opcional que permite fazer upload de sua configuração para a Internet e, em seguida, restaurá-la em qualquer outro dispositivo ou instância do Dashy.", + "intro-l2": "Todos os dados são totalmente criptografados de ponta a ponta com AES, usando sua senha como chave.", + "intro-l3": "Para obter mais informações, consulte o", + "backup-title-setup": "Faça um backup", + "backup-title-update": "Atualizar backup", + "password-label-setup": "Escolha uma senha", + "password-label-update": "Coloque sua senha", + "backup-button-setup": "Cópia de segurança", + "backup-button-update": "Atualizar backup", + "backup-id-label": "Seu ID de backup", + "backup-id-note": "Isso é usado para restaurar a partir de backups posteriormente. Portanto, guarde-o junto com sua senha em um local seguro.", + "restore-title": "Restaurar um backup", + "restore-id-label": "ID de restauração", + "restore-password-label": "Senha", + "restore-button": "Restaurar", + "backup-missing-password": "Senha ausente", + "backup-error-unknown": "Incapaz de processar o pedido", + "backup-error-password": "Senha incorreta. Por favor, digite sua senha atual.", + "backup-success-msg": "Completado com sucesso", + "restore-success-msg": "Configuração restaurada com sucesso" + }, + "menu": { + "sametab": "Abrir na guia atual", + "newtab": "Abrir em nova aba", + "modal": "Abrir em pop-up modal", + "workspace": "Abrir na visualização do espaço de trabalho" + } +} diff --git a/src/utils/languages.js b/src/utils/languages.js index 1b59ee13..37402489 100644 --- a/src/utils/languages.js +++ b/src/utils/languages.js @@ -10,6 +10,7 @@ import zhCN from '@/assets/locales/zh-CN.json'; import ar from '@/assets/locales/ar.json'; import hi from '@/assets/locales/hi.json'; import ja from '@/assets/locales/ja.json'; +import pt from '@/assets/locales/pt.json'; // Language data - Next register your language by adding it to this list export const languages = [ @@ -79,6 +80,12 @@ export const languages = [ locale: ja, flag: '🇯🇵', }, + { // Portuguese + name: 'Português', + code: 'pt', + locale: pt, + flag: '🇵🇹', + }, ]; /**