From 6685106daace4c78785a3c3caacc8ed952d669b3 Mon Sep 17 00:00:00 2001 From: Hugo Gameiro Date: Mon, 17 Apr 2017 09:38:27 +0100 Subject: [PATCH] Add Brazilian Portuguese and fix European Portuguese (#1966) * update portuguese translation added the missing fields and improved the translation * pt translations fix * improve last translation commit * fix damn quotes * add pt_br to index.jsx * add pt-BR to import index.jsx * add pt-BR to mastodon.jsx * add pt-BR to settings_helper.rb * add pt-BR to application.rb * order alphabetically pt.jsx * create pt-BR.jsx * Create devise.pt-BR.yml * language improvements to devise.pt.yml * created doorkeeper.pt-BR.yml * fixes to doorkeeper.pt.yml * create pt-BR.yml * improvements to pt.yml * Create simple_form.pt-BR.yml * Improvements to simple_form.pt.yml * improvements to pt.yml --- .../components/containers/mastodon.jsx | 2 + .../javascripts/components/locales/index.jsx | 2 + .../javascripts/components/locales/pt-br.jsx | 125 +++++++++++ .../javascripts/components/locales/pt.jsx | 205 +++++++++--------- app/helpers/settings_helper.rb | 1 + config/application.rb | 1 + config/locales/devise.pt-BR.yml | 61 ++++++ config/locales/devise.pt.yml | 76 +++---- config/locales/doorkeeper.pt-BR.yml | 112 ++++++++++ config/locales/doorkeeper.pt.yml | 22 +- config/locales/pt-BR.yml | 198 +++++++++++++++++ config/locales/pt.yml | 168 +++++++------- config/locales/simple_form.pt-BR.yml | 30 +++ config/locales/simple_form.pt.yml | 47 ++-- 14 files changed, 801 insertions(+), 249 deletions(-) create mode 100644 app/assets/javascripts/components/locales/pt-br.jsx create mode 100644 config/locales/devise.pt-BR.yml create mode 100644 config/locales/doorkeeper.pt-BR.yml create mode 100644 config/locales/pt-BR.yml create mode 100644 config/locales/simple_form.pt-BR.yml diff --git a/app/assets/javascripts/components/containers/mastodon.jsx b/app/assets/javascripts/components/containers/mastodon.jsx index 08576913e3..735e827a31 100644 --- a/app/assets/javascripts/components/containers/mastodon.jsx +++ b/app/assets/javascripts/components/containers/mastodon.jsx @@ -57,6 +57,7 @@ import uk from 'react-intl/locale-data/uk'; import zh from 'react-intl/locale-data/zh'; import bg from 'react-intl/locale-data/bg'; import { localeData as zh_hk } from '../locales/zh-hk'; +import { localeData as pt_br } from '../locales/pt-br'; import getMessagesForLocale from '../locales'; import { hydrateStore } from '../actions/store'; import createStream from '../stream'; @@ -79,6 +80,7 @@ addLocaleData([ ...hu, ...ja, ...pt, + ...pt_br, ...nl, ...no, ...ru, diff --git a/app/assets/javascripts/components/locales/index.jsx b/app/assets/javascripts/components/locales/index.jsx index 1163d91099..7abb315daf 100644 --- a/app/assets/javascripts/components/locales/index.jsx +++ b/app/assets/javascripts/components/locales/index.jsx @@ -7,6 +7,7 @@ import fr from './fr'; import nl from './nl'; import no from './no'; import pt from './pt'; +import pt_br from './pt-br'; import uk from './uk'; import fi from './fi'; import eo from './eo'; @@ -25,6 +26,7 @@ const locales = { nl, no, pt, + 'pt-BR': pt_br, uk, fi, eo, diff --git a/app/assets/javascripts/components/locales/pt-br.jsx b/app/assets/javascripts/components/locales/pt-br.jsx new file mode 100644 index 0000000000..724c5f1ce6 --- /dev/null +++ b/app/assets/javascripts/components/locales/pt-br.jsx @@ -0,0 +1,125 @@ +const pt_br = { + "account.block": "Bloquear @{name}", + "account.disclaimer": "Essa conta está localizado em outra instância. Os nomes podem ser maiores.", + "account.edit_profile": "Editar perfil", + "account.follow": "Seguir", + "account.followers": "Seguidores", + "account.follows_you": "É teu seguidor", + "account.follows": "Segue", + "account.mention": "Mencionar @{name}", + "account.mute": "Silenciar @{name}", + "account.posts": "Posts", + "account.report": "Denunciar @{name}", + "account.requested": "A aguardar aprovação", + "account.unblock": "Não bloquear @{name}", + "account.unfollow": "Deixar de seguir", + "account.unmute": "Não silenciar @{name}", + "boost_modal.combo": "Pode clicar {combo} para não voltar a ver", + "column_back_button.label": "Voltar", + "column.blocks": "Utilizadores Bloqueados", + "column.community": "Local", + "column.favourites": "Favoritos", + "column.follow_requests": "Seguidores Pendentes", + "column.home": "Home", + "column.mutes": "Utilizadores silenciados", + "column.notifications": "Notificações", + "column.public": "Global", + "compose_form.placeholder": "Em que estás a pensar?", + "compose_form.privacy_disclaimer": "O teu conteúdo privado vai ser partilhado com os utilizadores do {domains}. Confias {domainsCount, plural, one {neste servidor} other {nestes servidores}}? A privacidade só funciona em instâncias do Mastodon. Se {domains} {domainsCount, plural, one {não é uma instância} other {não são instâncias}}, não existem indicadores da privacidade da tua partilha, e podem ser partilhados com outros.", + "compose_form.publish": "Publicar", + "compose_form.sensitive": "Marcar media como conteúdo sensível", + "compose_form.spoiler_placeholder": "Aviso de conteúdo", + "compose_form.spoiler": "Esconder texto com aviso", + "emoji_button.label": "Inserir Emoji", + "empty_column.community": "Ainda não existem conteúdo local para mostrar!", + "empty_column.hashtag": "Ainda não existe qualquer conteúdo com essa hashtag", + "empty_column.home.public_timeline": "global", + "empty_column.home": "Ainda não segues qualquer utilizador. Visita {public} ou utiliza a pesquisa para procurar outros utilizadores.", + "empty_column.notifications": "Não tens notificações. Interage com outros utilizadores para iniciar uma conversa.", + "empty_column.public": "Não há nada aqui! Escreve algo publicamente ou segue outros utilizadores para ver aqui os conteúdos públicos.", + "follow_request.authorize": "Autorizar", + "follow_request.reject": "Rejeitar", + "getting_started.apps": "Existem várias aplicações disponíveis", + "getting_started.heading": "Primeiros passos", + "getting_started.open_source_notice": "Mastodon é software de fonte aberta. Podes contribuir ou repostar problemas no GitHub do projecto: {github}. {apps}.", + "home.column_settings.advanced": "Avançado", + "home.column_settings.basic": "Básico", + "home.column_settings.filter_regex": "Filtrar com uma expressão regular", + "home.column_settings.show_reblogs": "Mostrar as partilhas", + "home.column_settings.show_replies": "Mostrar as respostas", + "home.settings": "Parâmetros da listagem Home", + "lightbox.close": "Fechar", + "loading_indicator.label": "Carregando...", + "media_gallery.toggle_visible": "Esconder/Mostrar", + "missing_indicator.label": "Não encontrado", + "navigation_bar.blocks": "Utilizadores bloqueados", + "navigation_bar.community_timeline": "Local", + "navigation_bar.edit_profile": "Editar perfil", + "navigation_bar.favourites": "Favoritos", + "navigation_bar.follow_requests": "Seguidores pendentes", + "navigation_bar.info": "Mais informações", + "navigation_bar.logout": "Sair", + "navigation_bar.mutes": "Utilizadores silenciados", + "navigation_bar.preferences": "Preferências", + "navigation_bar.public_timeline": "Global", + "notification.favourite": "{name} adicionou o teu post aos favoritos", + "notification.follow": "{name} seguiu-te", + "notification.mention": "{name} mencionou-te", + "notification.reblog": "{name} partilhou o teu post", + "notifications.clear_confirmation": "Queres mesmo limpar todas as notificações?", + "notifications.clear": "Limpar notificações", + "notifications.column_settings.alert": "Notificações no computador", + "notifications.column_settings.favourite": "Favoritos:", + "notifications.column_settings.follow": "Novos seguidores:", + "notifications.column_settings.mention": "Menções:", + "notifications.column_settings.reblog": "Partilhas:", + "notifications.column_settings.show": "Mostrar nas colunas", + "notifications.column_settings.sound": "Reproduzir som", + "notifications.settings": "Parâmetros da listagem de Notificações", + "privacy.change": "Ajustar a privacidade da mensagem", + "privacy.direct.long": "Apenas para utilizadores mencionados", + "privacy.direct.short": "Directo", + "privacy.private.long": "Apenas para os seguidores", + "privacy.private.short": "Privado", + "privacy.public.long": "Publicar em todos os feeds", + "privacy.public.short": "Público", + "privacy.unlisted.long": "Não publicar nos feeds públicos", + "privacy.unlisted.short": "Não listar", + "reply_indicator.cancel": "Cancelar", + "report.heading": "Nova denúncia", + "report.placeholder": "Comentários adicionais", + "report.submit": "Enviar", + "report.target": "Denunciar", + "search_results.total": "{count} {count, plural, one {resultado} other {resultados}}", + "search.placeholder": "Pesquisar", + "search.status_by": "Post de {name}", + "status.delete": "Eliminar", + "status.favourite": "Adicionar aos favoritos", + "status.load_more": "Carregar mais", + "status.media_hidden": "Media escondida", + "status.mention": "Mencionar @{name}", + "status.open": "Expandir", + "status.reblog": "Partilhar", + "status.reblogged_by": "{name} partilhou", + "status.reply": "Responder", + "status.report": "Denúnciar @{name}", + "status.sensitive_toggle": "Clique para ver", + "status.sensitive_warning": "Conteúdo sensível", + "status.show_less": "Mostrar menos", + "status.show_more": "Mostrar mais", + "tabs_bar.compose": "Criar", + "tabs_bar.federated_timeline": "Global", + "tabs_bar.home": "Home", + "tabs_bar.local_timeline": "Local", + "tabs_bar.notifications": "Notificações", + "upload_area.title": "Arraste e solte para enviar", + "upload_button.label": "Adicionar media", + "upload_form.undo": "Anular", + "upload_progress.label": "A gravar...", + "video_player.toggle_sound": "Ligar/Desligar som", + "video_player.toggle_visible": "Ligar/Desligar vídeo", + "video_player.expand": "Expandir vídeo", + "video_player.video_error": "Não é possível ver o vídeo", +}; + +export default pt_br; diff --git a/app/assets/javascripts/components/locales/pt.jsx b/app/assets/javascripts/components/locales/pt.jsx index cd345a585b..88729c94c5 100644 --- a/app/assets/javascripts/components/locales/pt.jsx +++ b/app/assets/javascripts/components/locales/pt.jsx @@ -1,128 +1,125 @@ const pt = { - "column_back_button.label": "Voltar", - "lightbox.close": "Fechar", - "loading_indicator.label": "Carregando...", - "status.mention": "Mencionar @{name}", - "status.delete": "Eliminar", - "status.reply": "Responder", - "status.reblog": "Partilhar", - "status.favourite": "Adicionar aos favoritos", - "status.reblogged_by": "{name} partilhou", - "status.sensitive_warning": "Conteúdo sensível", - "status.sensitive_toggle": "Clique para ver", - "status.show_more": "Mostrar mais", - "status.show_less": "Mostrar menos", - "status.open": "Expandir", - "status.report": "Reportar @{name}", - "status.load_more": "Carregar mais", - "status.media_hidden": "Media escondida", - "video_player.toggle_sound": "Ligar/Desligar som", - "video_player.toggle_visible": "Ligar/Desligar vídeo", - "account.mention": "Mencionar @{name}", - "account.edit_profile": "Editar perfil", - "account.unblock": "Não bloquear @{name}", - "account.unfollow": "Não seguir", "account.block": "Bloquear @{name}", - "account.mute": "Mute", - "account.unmute": "Remover Mute", + "account.disclaimer": "Essa conta está localizado em outra instância. Os nomes podem ser maiores.", + "account.edit_profile": "Editar perfil", "account.follow": "Seguir", - "account.posts": "Posts", - "account.follows": "Segue", "account.followers": "Seguidores", "account.follows_you": "É teu seguidor", + "account.follows": "Segue", + "account.mention": "Mencionar @{name}", + "account.mute": "Silenciar @{name}", + "account.posts": "Posts", + "account.report": "Denunciar @{name}", "account.requested": "A aguardar aprovação", - "account.report": "Denunciar", - "account.disclaimer": "Essa conta está localizado em outra instância. Os nomes podem ser maiores.", - "getting_started.heading": "Primeiros passos", - "getting_started.about_addressing": "Podes seguir pessoas se sabes o nome de usuário deles e o domínio em que estão colocando um endereço similar a e-mail no campo no topo da barra lateral.", - "getting_started.about_shortcuts": "Se o usuário alvo está no mesmo domínio, só o nome funcionará. A mesma regra se aplica a mencionar pessoas nas postagens.", - "getting_started.about_developer": "Pode seguir o developer deste projecto em Gargron@mastodon.social", - "getting_started.open_source_notice": "Mastodon é software de fonte aberta. Podes contribuir ou repostar problemas no GitHub do projecto: {github}. {apps}.", - "column.home": "Home", - "column.community": "Local", - "column.public": "Global", - "column.notifications": "Notificações", + "account.unblock": "Não bloquear @{name}", + "account.unfollow": "Deixar de seguir", + "account.unmute": "Não silenciar @{name}", + "boost_modal.combo": "Pode clicar {combo} para não voltar a ver", + "column_back_button.label": "Voltar", "column.blocks": "Utilizadores Bloqueados", + "column.community": "Local", "column.favourites": "Favoritos", "column.follow_requests": "Seguidores Pendentes", - "empty_column.notifications": "Não tens notificações. Interage com outros utilizadores para iniciar uma conversa.", - "empty_column.public": "Não há nada aqui! Escreve algo publicamente ou segue outros utilizadores para ver aqui os conteúdos públicos.", - "empty_column.home": "Ainda não segues qualquer utilizador. Visita {public} ou utiliza a pesquisa para procurar outros utilizadores.", - "empty_column.home.public_timeline": "global", - "empty_column.community": "Ainda não existem conteúdo local para mostrar!", - "empty_column.hashtag": "Não existe qualquer conteúdo com essa hashtag", - "tabs_bar.compose": "Criar", - "tabs_bar.home": "Home", - "tabs_bar.mentions": "Menções", - "tabs_bar.public": "Público", - "tabs_bar.notifications": "Notificações", - "tabs_bar.local_timeline": "Local", - "tabs_bar.federated_timeline": "Global", + "column.home": "Home", + "column.mutes": "Utilizadores silenciados", + "column.notifications": "Notificações", + "column.public": "Global", "compose_form.placeholder": "Em que estás a pensar?", + "compose_form.privacy_disclaimer": "O teu conteúdo privado vai ser partilhado com os utilizadores do {domains}. Confias {domainsCount, plural, one {neste servidor} other {nestes servidores}}? A privacidade só funciona em instâncias do Mastodon. Se {domains} {domainsCount, plural, one {não é uma instância} other {não são instâncias}}, não existem indicadores da privacidade da tua partilha, e podem ser partilhados com outros.", "compose_form.publish": "Publicar", "compose_form.sensitive": "Marcar media como conteúdo sensível", + "compose_form.spoiler_placeholder": "Aviso de conteúdo", "compose_form.spoiler": "Esconder texto com aviso", - "compose_form.spoiler_placeholder": "Aviso", - "compose_form.private": "Tornar privado", - "compose_form.privacy_disclaimer": "O teu conteúdo privado vai ser partilhado com os utilizadores do {domains}. Confias {domainsCount, plural, one {neste servidor} other {nestes servidores}}? A privacidade só funciona em instâncias do Mastodon. Se {domains} {domainsCount, plural, one {não é uma instância} other {não são instâncias}}, não existem indicadores da privacidade da tua partilha, e podem ser partilhados com outros.", - "compose_form.unlisted": "Não mostrar na listagem pública", "emoji_button.label": "Inserir Emoji", - "navigation_bar.edit_profile": "Editar perfil", - "navigation_bar.preferences": "Preferências", - "navigation_bar.community_timeline": "Local", - "navigation_bar.public_timeline": "Global", - "navigation_bar.blocks": "Utilizadores bloqueados", - "navigation_bar.favourites": "Favoritos", - "navigation_bar.info": "Mais informações", - "navigation_bar.logout": "Sair", - "navigation_bar.follow_requests": "Seguidores pendentes", - "reply_indicator.cancel": "Cancelar", - "search.placeholder": "Pesquisar", - "search.account": "Conta", - "search.hashtag": "Hashtag", - "search_results.total": "{count} {count, plural, one {resultado} other {resultados}}", - "search.status_by": "Post de {name}", - "upload_button.label": "Adicionar media", - "upload_form.undo": "Anular", - "upload_progress.label": "A gravar…", - "upload_area.title": "Arraste e solte para enviar", - "notification.follow": "{name} seguiu-te", - "notification.favourite": "{name} adicionou o teu post aos favoritos", - "notification.reblog": "{name} partilhou o teu post", - "notification.mention": "{name} mencionou-te", - "notifications.column_settings.alert": "Notificações no computador", - "notifications.column_settings.show": "Mostrar nas colunas", - "notifications.column_settings.sound": "Reproduzir som", - "notifications.column_settings.follow": "Novos seguidores:", - "notifications.column_settings.favourite": "Favoritos:", - "notifications.column_settings.mention": "Menções:", - "notifications.column_settings.reblog": "Partilhas:", - "notifications.clear": "Limpar notificações", - "notifications.clear_confirmation": "Queres mesmo limpar todas as notificações?", - "notifications.settings": "Parâmetros da lista de Notificações", - "privacy.public.short": "Público", - "privacy.public.long": "Publicar em todos os feeds", - "privacy.unlisted.short": "Não listar", - "privacy.unlisted.long": "Não publicar nos feeds públicos", - "privacy.private.short": "Privado", - "privacy.private.long": "Apenas para os seguidores", - "privacy.direct.short": "Directo", - "privacy.direct.long": "Apenas para utilizadores mencionados", - "privacy.change": "Ajustar a privacidade da mensagem", - "media_gallery.toggle_visible": "Modificar a visibilidade", - "missing_indicator.label": "Não encontrado", + "empty_column.community": "Ainda não existem conteúdo local para mostrar!", + "empty_column.hashtag": "Ainda não existe qualquer conteúdo com essa hashtag", + "empty_column.home.public_timeline": "global", + "empty_column.home": "Ainda não segues qualquer utilizador. Visita {public} ou utiliza a pesquisa para procurar outros utilizadores.", + "empty_column.notifications": "Não tens notificações. Interage com outros utilizadores para iniciar uma conversa.", + "empty_column.public": "Não há nada aqui! Escreve algo publicamente ou segue outros utilizadores para ver aqui os conteúdos públicos.", "follow_request.authorize": "Autorizar", "follow_request.reject": "Rejeitar", - "home.settings": "Parâmetros da coluna Home", + "getting_started.apps": "Existem várias aplicações disponíveis", + "getting_started.heading": "Primeiros passos", + "getting_started.open_source_notice": "Mastodon é software de fonte aberta. Podes contribuir ou repostar problemas no GitHub do projecto: {github}. {apps}.", + "home.column_settings.advanced": "Avançado", "home.column_settings.basic": "Básico", + "home.column_settings.filter_regex": "Filtrar com uma expressão regular", "home.column_settings.show_reblogs": "Mostrar as partilhas", "home.column_settings.show_replies": "Mostrar as respostas", - "home.column_settings.advanced": "Avançadas", - "home.column_settings.filter_regex": "Filtrar com uma expressão regular", - "report.heading": "Nova denuncia", + "home.settings": "Parâmetros da listagem Home", + "lightbox.close": "Fechar", + "loading_indicator.label": "Carregando...", + "media_gallery.toggle_visible": "Esconder/Mostrar", + "missing_indicator.label": "Não encontrado", + "navigation_bar.blocks": "Utilizadores bloqueados", + "navigation_bar.community_timeline": "Local", + "navigation_bar.edit_profile": "Editar perfil", + "navigation_bar.favourites": "Favoritos", + "navigation_bar.follow_requests": "Seguidores pendentes", + "navigation_bar.info": "Mais informações", + "navigation_bar.logout": "Sair", + "navigation_bar.mutes": "Utilizadores silenciados", + "navigation_bar.preferences": "Preferências", + "navigation_bar.public_timeline": "Global", + "notification.favourite": "{name} adicionou o teu post aos favoritos", + "notification.follow": "{name} seguiu-te", + "notification.mention": "{name} mencionou-te", + "notification.reblog": "{name} partilhou o teu post", + "notifications.clear_confirmation": "Queres mesmo limpar todas as notificações?", + "notifications.clear": "Limpar notificações", + "notifications.column_settings.alert": "Notificações no computador", + "notifications.column_settings.favourite": "Favoritos:", + "notifications.column_settings.follow": "Novos seguidores:", + "notifications.column_settings.mention": "Menções:", + "notifications.column_settings.reblog": "Partilhas:", + "notifications.column_settings.show": "Mostrar nas colunas", + "notifications.column_settings.sound": "Reproduzir som", + "notifications.settings": "Parâmetros da listagem de Notificações", + "privacy.change": "Ajustar a privacidade da mensagem", + "privacy.direct.long": "Apenas para utilizadores mencionados", + "privacy.direct.short": "Directo", + "privacy.private.long": "Apenas para os seguidores", + "privacy.private.short": "Privado", + "privacy.public.long": "Publicar em todos os feeds", + "privacy.public.short": "Público", + "privacy.unlisted.long": "Não publicar nos feeds públicos", + "privacy.unlisted.short": "Não listar", + "reply_indicator.cancel": "Cancelar", + "report.heading": "Nova denúncia", "report.placeholder": "Comentários adicionais", "report.submit": "Enviar", - "report.target": "Denunciar" + "report.target": "Denunciar", + "search_results.total": "{count} {count, plural, one {resultado} other {resultados}}", + "search.placeholder": "Pesquisar", + "search.status_by": "Post de {name}", + "status.delete": "Eliminar", + "status.favourite": "Adicionar aos favoritos", + "status.load_more": "Carregar mais", + "status.media_hidden": "Media escondida", + "status.mention": "Mencionar @{name}", + "status.open": "Expandir", + "status.reblog": "Partilhar", + "status.reblogged_by": "{name} partilhou", + "status.reply": "Responder", + "status.report": "Denúnciar @{name}", + "status.sensitive_toggle": "Clique para ver", + "status.sensitive_warning": "Conteúdo sensível", + "status.show_less": "Mostrar menos", + "status.show_more": "Mostrar mais", + "tabs_bar.compose": "Criar", + "tabs_bar.federated_timeline": "Global", + "tabs_bar.home": "Home", + "tabs_bar.local_timeline": "Local", + "tabs_bar.notifications": "Notificações", + "upload_area.title": "Arraste e solte para enviar", + "upload_button.label": "Adicionar media", + "upload_form.undo": "Anular", + "upload_progress.label": "A gravar...", + "video_player.toggle_sound": "Ligar/Desligar som", + "video_player.toggle_visible": "Ligar/Desligar vídeo", + "video_player.expand": "Expandir vídeo", + "video_player.video_error": "Não é possível ver o vídeo", }; export default pt; diff --git a/app/helpers/settings_helper.rb b/app/helpers/settings_helper.rb index ebbea77e90..01900b87f5 100644 --- a/app/helpers/settings_helper.rb +++ b/app/helpers/settings_helper.rb @@ -13,6 +13,7 @@ module SettingsHelper nl: 'Nederlands', no: 'Norsk', pt: 'Português', + 'pt-BR': 'Português do Brasil', fi: 'Suomi', ru: 'Русский', uk: 'Українська', diff --git a/config/application.rb b/config/application.rb index 58fb69b623..396ac33f14 100644 --- a/config/application.rb +++ b/config/application.rb @@ -39,6 +39,7 @@ module Mastodon :nl, :no, :pt, + :'pt-BR', :ru, :uk, 'zh-CN', diff --git a/config/locales/devise.pt-BR.yml b/config/locales/devise.pt-BR.yml new file mode 100644 index 0000000000..c647fabbd8 --- /dev/null +++ b/config/locales/devise.pt-BR.yml @@ -0,0 +1,61 @@ +--- +pt-BR: + devise: + confirmations: + confirmed: O seu endereço de email foi confirmado. + send_instructions: Você irá receber um email com instruções em como confirmar o seu endereço de email dentro de alguns minutos. + send_paranoid_instructions: Se o seu endereço de email já existir na nossa base de dados, irá receber um email com instruções em como confirmá-lo dentro de alguns minutos. + failure: + already_authenticated: A sua sessão já está aberta. + inactive: A sua contra ainda não está ativada. + invalid: "%{authentication_keys} ou password inválidos." + last_attempt: Tem mais uma tentativa antes de a sua conta ser protegida. + locked: A sua conta está protegida + not_found_in_database: "%{authentication_keys} ou password inválidos." + timeout: A sua sessão expirou. Por favore entre de novo para continuar. + unauthenticated: Você precsa de entrar ou registar-se antes de continuar. + unconfirmed: Você tem de confirmar o seu endereço de email antes de continuar. + mailer: + confirmation_instructions: + subject: 'Mastodon: Instruções de confirmação' + password_change: + subject: 'Mastodon: Password nova' + reset_password_instructions: + subject: 'Mastodon: Instruções para editar a password' + unlock_instructions: + subject: 'Mastodon: Instruções para desproteger a sua conta' + omniauth_callbacks: + failure: Could not authenticate you from %{kind} because "%{reason}". + success: Successfully authenticated from %{kind} account. + passwords: + no_token: Você não pode aceder a esta página sem ter vindo de um email para mudar a password. Se este for o case, por favor faça questão de verificar que usou o URL no email. + send_instructions: Irá receber um email com instruções em como mudar a sua password dentro de algns minutos. + send_paranoid_instructions: Se seu endereço de email existe na nossa base de dados, irá receber um link para recuperar a sua password dentro de alguns minutos. + updated: A sua password foi alterada. A sua sessão está aberta. + updated_not_active: A sua password foi alterada. + registrations: + destroyed: Adeus! A sua conta foi cancelada. Esperamos vê-lo em breve. + signed_up: Bem vindo! A sua conta foi registada com sucesso. + signed_up_but_inactive: A sua conta foi registada. No entanto, não abrimos a sua sessão porque a sua conta ainda não foi ativada. + signed_up_but_locked: A sua conta foi registada. No entanto, não abrimos a sua sessão porque a sua conta está protegida. + signed_up_but_unconfirmed: Uma mensagem com um link de confirmação foi enviada para o seu email. Por favor siga o link para ativar a sua conta. + update_needs_confirmation: Você mudou o seu endereço de email ou password, mas é necessário confirmar a mudança. Por favor siga o link que foi enviado para o seu novo endereço de email. + updated: A sua conta foi alterada com sucesso. + sessions: + already_signed_out: Sessão fechada. + signed_in: Sessão iniciada. + signed_out: Sessão fechada. + unlocks: + send_instructions: Irá receber um email com instruções para desproteger a sua conta dentro de alguns minutos. + send_paranoid_instructions: Se a sua conta existe, irá receber um email com instruções a detalhar como a desproteger dentro de alguns minutos. + unlocked: A sua conta foi desprotegida. Por favor inicie sessão para continuar. + errors: + messages: + already_confirmed: já foi confirmado, por favor tente iniciar sessão + confirmation_period_expired: tem de ser confirmado dentro de %{period}, por favor tente outra vez + expired: expirou, por favor tente outra vez + not_found: não encontrado + not_locked: não está protegido + not_saved: + one: '1 erro impediu este %{resource} de ser guardado:' + other: "%{count} erros impediram este %{resource} de ser guardado:" diff --git a/config/locales/devise.pt.yml b/config/locales/devise.pt.yml index 8c049ce8b8..dc87cefdd6 100644 --- a/config/locales/devise.pt.yml +++ b/config/locales/devise.pt.yml @@ -2,60 +2,60 @@ pt: devise: confirmations: - confirmed: O seu endereço de email foi confirmado. - send_instructions: Você irá receber um email com instruções em como confirmar o seu endereço de email dentro de alguns minutos. - send_paranoid_instructions: Se o seu endereço de email já existir na nossa base de dados, irá receber um email com instruções em como confirmá-lo dentro de alguns minutos. + confirmed: O teu endereço de email foi confirmado. + send_instructions: Vais receber um email com as instruções para confirmar o teu endereço de email dentro de alguns minutos. + send_paranoid_instructions: Se o teu endereço de email já existir na nossa base de dados, vais receber um email com as instruções de confirmação dentro de alguns minutos. failure: - already_authenticated: A sua sessão já está aberta. - inactive: A sua contra ainda não está ativada. - invalid: "%{authentication_keys} ou password inválidos." - last_attempt: Tem mais uma tentativa antes de a sua conta ser protegida. - locked: A sua conta está protegida - not_found_in_database: "%{authentication_keys} ou password inválidos." - timeout: A sua sessão expirou. Por favore entre de novo para continuar. - unauthenticated: Você precsa de entrar ou registar-se antes de continuar. - unconfirmed: Você tem de confirmar o seu endereço de email antes de continuar. + already_authenticated: A tua sessão já está aberta. + inactive: A tua conta ainda não está ativada. + invalid: "%{authentication_keys} ou palavra-passe não válida." + last_attempt: Tens mais uma tentativa antes de a tua conta ficar bloqueada. + locked: A tua conta está bloqueada + not_found_in_database: "%{authentication_keys} ou palavra-passe não válida." + timeout: A tua sessão expirou. Por favor, entra de novo para continuares. + unauthenticated: Precisas de entrar na tua conta ou registares-te antes de continuar. + unconfirmed: Tens de confirmar o teu endereço de email antes de continuar. mailer: confirmation_instructions: - subject: 'Mastodon: Instruções de confirmação' + subject: 'Mastodon: Instruções de confirmação %{instance}' password_change: - subject: 'Mastodon: Password nova' + subject: 'Mastodon: Nova palavra-passe' reset_password_instructions: - subject: 'Mastodon: Instruções para editar a password' + subject: 'Mastodon: Instruções para editar a palavra-passe' unlock_instructions: - subject: 'Mastodon: Instruções para desproteger a sua conta' + subject: 'Mastodon: Instruções para desbloquear a tua conta' omniauth_callbacks: - failure: Could not authenticate you from %{kind} because "%{reason}". - success: Successfully authenticated from %{kind} account. + failure: Não foi possível autenticar %{kind} porque "%{reason}". + success: Autenticado com sucesso na conta %{kind}. passwords: - no_token: Você não pode aceder a esta página sem ter vindo de um email para mudar a password. Se este for o case, por favor faça questão de verificar que usou o URL no email. - send_instructions: Irá receber um email com instruções em como mudar a sua password dentro de algns minutos. - send_paranoid_instructions: Se seu endereço de email existe na nossa base de dados, irá receber um link para recuperar a sua password dentro de alguns minutos. - updated: A sua password foi alterada. A sua sessão está aberta. - updated_not_active: A sua password foi alterada. + no_token: Não pode aceder a esta página se não vier através do link enviado por email para alteração da sua palavra-passe. Se usaste esse link para chegar aqui, por favor verifica que o endereço URL actual é o mesmo do que foi enviado no email. + send_instructions: Vais receber um email com instruções para alterar a palavra-passe dentro de algns minutos. + send_paranoid_instructions: Se o teu endereço de email existe na nossa base de dados, vais receber um link para recuperar a palavra-passe dentro de alguns minutos. + updated: A tua palavra-passe foi alterada. Estás agora autenticado na tua conta. + updated_not_active: A tua palavra-passe foi alterada. registrations: - destroyed: Adeus! A sua conta foi cancelada. Esperamos vê-lo em breve. - signed_up: Bem vindo! A sua conta foi registada com sucesso. - signed_up_but_inactive: A sua conta foi registada. No entanto, não abrimos a sua sessão porque a sua conta ainda não foi ativada. - signed_up_but_locked: A sua conta foi registada. No entanto, não abrimos a sua sessão porque a sua conta está protegida. - signed_up_but_unconfirmed: Uma mensagem com um link de confirmação foi enviada para o seu email. Por favor siga o link para ativar a sua conta. - update_needs_confirmation: Você mudou o seu endereço de email ou password, mas é necessário confirmar a mudança. Por favor siga o link que foi enviado para o seu novo endereço de email. - updated: A sua conta foi alterada com sucesso. + destroyed: Adeus! A tua conta foi cancelada. Esperamos ver-te em breve. + signed_up: Bem-vindo! A tua conta foi registada com sucesso. + signed_up_but_inactive: A tua conta foi registada. No entanto ainda não está activa. + signed_up_but_locked: A tua conta foi registada. No entanto está bloqueada. + signed_up_but_unconfirmed: Uma mensagem com um link de confirmação foi enviada para o teu email. Por favor segue esse link para activar a tua conta. + update_needs_confirmation: Alteraste o teu endereço de email ou palavra-passe, mas é necessário confirmar essa alteração. Por favor vai ao teu email e segue link que te enviámos. + updated: A tua conta foi actualizada com sucesso. sessions: - already_signed_out: Sessão fechada. + already_signed_out: Sessão encerrada. signed_in: Sessão iniciada. - signed_out: Sessão fechada. + signed_out: Sessão encerrada. unlocks: - send_instructions: Irá receber um email com instruções para desproteger a sua conta dentro de alguns minutos. - send_paranoid_instructions: Se a sua conta existe, irá receber um email com instruções a detalhar como a desproteger dentro de alguns minutos. - unlocked: A sua conta foi desprotegida. Por favor inicie sessão para continuar. + send_instructions: Vais receber um email com instruções para desbloquear a tua conta dentro de alguns minutos. + send_paranoid_instructions: Se a tua conta existe, vais receber um email com instruções a detalhar como a desbloquear dentro de alguns minutos. + unlocked: A sua conta foi desbloqueada. Por favor inica uma nova sessão para continuar. errors: messages: - already_confirmed: já foi confirmado, por favor tente iniciar sessão - confirmation_period_expired: tem de ser confirmado dentro de %{period}, por favor tente outra vez + already_confirmed: já confirmado, por favor tente iniciar sessão + confirmation_period_expired: tem de ser confirmado durante %{period}, por favor tenta outra vez expired: expirou, por favor tente outra vez not_found: não encontrado - not_locked: não está protegido + not_locked: não estava bloqueada not_saved: one: '1 erro impediu este %{resource} de ser guardado:' other: "%{count} erros impediram este %{resource} de ser guardado:" diff --git a/config/locales/doorkeeper.pt-BR.yml b/config/locales/doorkeeper.pt-BR.yml new file mode 100644 index 0000000000..85ea3bfccf --- /dev/null +++ b/config/locales/doorkeeper.pt-BR.yml @@ -0,0 +1,112 @@ +--- +pt-BR: + activerecord: + attributes: + doorkeeper/application: + name: Nome + redirect_uri: Redirect URI + errors: + models: + doorkeeper/application: + attributes: + redirect_uri: + fragment_present: não pode conter um fragmento. + invalid_uri: tem de ser um URI válido. + relative_uri: tem de ser um URI absoluto. + secured_uri: tem de ser um HTTPS/SSL URI. + doorkeeper: + applications: + buttons: + authorize: Autorizar + cancel: Cancelar + destroy: Destruir + edit: Editar + submit: Submeter + confirmations: + destroy: Tem a certeza? + edit: + title: Editar aplicação + form: + error: Oops! Verifique que o formulário não tem erros + help: + native_redirect_uri: Use %{native_redirect_uri} para testes locais + redirect_uri: Utilize uma linha por URI + scopes: Separate scopes with spaces. Leave blank to use the default scopes. + index: + callback_url: Callback URL + name: Nome + new: Nova Aplicação + title: As suas aplicações + new: + title: Nova aplicação + show: + actions: Ações + application_id: Id de Aplicação + callback_urls: Callback urls + scopes: Scopes + secret: Segredo + title: 'Aplicação: %{name}' + authorizations: + buttons: + authorize: Autorize + deny: Não autorize + error: + title: Ocorreu um erro + new: + able_to: Vai poder + prompt: Aplicação %{client_name} requisita acesso à sua conta + title: Autorização é necessária + show: + title: Código de autorização + authorized_applications: + buttons: + revoke: Revogar + confirmations: + revoke: Tem a certeza? + index: + application: Aplicação + created_at: Criada em + date_format: "%Y-%m-%d %H:%M:%S" + title: As suas aplicações autorizadas + errors: + messages: + access_denied: The resource owner or authorization server denied the request. + credential_flow_not_configured: Resource Owner Password Credentials flow failed due to Doorkeeper.configure.resource_owner_from_credentials being unconfigured. + invalid_client: Client authentication failed due to unknown client, no client authentication included, or unsupported authentication method. + invalid_grant: The provided authorization grant is invalid, expired, revoked, does not match the redirection URI used in the authorization request, or was issued to another client. + invalid_redirect_uri: The redirect uri included is not valid. + invalid_request: The request is missing a required parameter, includes an unsupported parameter value, or is otherwise malformed. + invalid_resource_owner: The provided resource owner credentials are not valid, or resource owner cannot be found + invalid_scope: The requested scope is invalid, unknown, or malformed. + invalid_token: + expired: O token de acesso expirou + revoked: O token de acesso foi revogado + unknown: O token de acesso é inválido + resource_owner_authenticator_not_configured: Resource Owner find failed due to Doorkeeper.configure.resource_owner_authenticator being unconfiged. + server_error: The authorization server encountered an unexpected condition which prevented it from fulfilling the request. + temporarily_unavailable: The authorization server is currently unable to handle the request due to a temporary overloading or maintenance of the server. + unauthorized_client: The client is not authorized to perform this request using this method. + unsupported_grant_type: The authorization grant type is not supported by the authorization server. + unsupported_response_type: The authorization server does not support this response type. + flash: + applications: + create: + notice: Aplicação criada. + destroy: + notice: Aplicação eliminada. + update: + notice: Aplicação alterada. + authorized_applications: + destroy: + notice: Aplicação revogada. + layouts: + admin: + nav: + applications: Aplicações + oauth2_provider: OAuth2 Provider + application: + title: Autorização OAuth necessária + scopes: + follow: siga, bloqueie, desbloqueie, e deixe de seguir contas + read: tenha acesso aos dados da sua conta + write: públique por si diff --git a/config/locales/doorkeeper.pt.yml b/config/locales/doorkeeper.pt.yml index 2709856e85..87e01ba940 100644 --- a/config/locales/doorkeeper.pt.yml +++ b/config/locales/doorkeeper.pt.yml @@ -23,20 +23,20 @@ pt: edit: Editar submit: Submeter confirmations: - destroy: Tem a certeza? + destroy: Tens a certeza? edit: title: Editar aplicação form: - error: Oops! Verifique que o formulário não tem erros + error: Oops! Verifica que o formulário não tem erros help: - native_redirect_uri: Use %{native_redirect_uri} para testes locais - redirect_uri: Utilize uma linha por URI + native_redirect_uri: Usa %{native_redirect_uri} para testes locais + redirect_uri: Utiliza uma linha por URI scopes: Separate scopes with spaces. Leave blank to use the default scopes. index: callback_url: Callback URL name: Nome new: Nova Aplicação - title: As suas aplicações + title: As tuas aplicações new: title: Nova aplicação show: @@ -54,7 +54,7 @@ pt: title: Ocorreu um erro new: able_to: Vai poder - prompt: Aplicação %{client_name} requisita acesso à sua conta + prompt: Aplicação %{client_name} pede acesso à tua conta title: Autorização é necessária show: title: Código de autorização @@ -62,12 +62,12 @@ pt: buttons: revoke: Revogar confirmations: - revoke: Tem a certeza? + revoke: Tens a certeza? index: application: Aplicação created_at: Criada em date_format: "%Y-%m-%d %H:%M:%S" - title: As suas aplicações autorizadas + title: As tuas aplicações autorizadas errors: messages: access_denied: The resource owner or authorization server denied the request. @@ -107,6 +107,6 @@ pt: application: title: Autorização OAuth necessária scopes: - follow: siga, bloqueie, desbloqueie, e deixe de seguir contas - read: tenha acesso aos dados da sua conta - write: públique por si \ No newline at end of file + follow: siga, bloqueie, desbloqueie, e deixa de seguir contas + read: tenha acesso aos dados da tua conta + write: públique por ti diff --git a/config/locales/pt-BR.yml b/config/locales/pt-BR.yml new file mode 100644 index 0000000000..269a1a99be --- /dev/null +++ b/config/locales/pt-BR.yml @@ -0,0 +1,198 @@ +--- +pt-BR: + about: + about_mastodon: Mastodon é um servidor de rede social grátis, e open-source. Uma alternativa descentralizada ás plataformas comerciais, que evita o risco de uma única empresa monopolizar a sua comunicação. Escolha um servidor que você confie — qualquer um que escolher, você poderá interagir com todo o resto. Qualquer um pode ter uma instância Mastodon e assim participar na rede social federada sem problemas. + about_this: Sobre essa instância + apps: Aplicações + business_email: 'Email comercial:' + closed_registrations: Registros estão fechadas para essa instância. + contact: Contato + description_headline: O que é %{domain}? + domain_count_after: outras instâncias + domain_count_before: Conectado a + features: + api: Aberto para API de aplicações e serviços + blocks: Bloqueos e ferramentas para mudar + characters: 500 caracteres por post + chronology: Timeline são cronologicas + ethics: 'Design ético: sem propaganda, sem tracking' + gifv: GIFV e vídeos curtos + privacy: Granular, privacidade setada por post + public: Timelines públicas + features_headline: O que torna Mastodon diferente + get_started: Comece aqui + links: Links + source_code: Source code + other_instances: Outras instâncias + terms: Termos + user_count_after: usuários + user_count_before: Lugar de + accounts: + follow: Seguir + followers: Seguidores + following: Seguindo + nothing_here: Não há nada aqui! + people_followed_by: Pessoas seguidas por %{name} + people_who_follow: Pessoas que seguem %{name} + posts: Posts + remote_follow: Acesso remoto + unfollow: Unfollow + admin: + accounts: + are_you_sure: Você tem certeza? + display_name: Nome mostrado + domain: Domain + edit: Editar + email: E-mail + feed_url: URL do Feed + followers: Seguidores + follows: Seguindo + location: + all: Todos + local: Local + remote: Remoto + title: Local + media_attachments: Mídia anexadas + moderation: + all: Todos + silenced: Silenciado + suspended: Supenso + title: Moderação + most_recent_activity: Atividade mais recente + most_recent_ip: IP mais recente + not_subscribed: Não inscrito + order: + alphabetic: Alfabética + most_recent: Mais recente + title: Ordem + perform_full_suspension: Fazer suspensão completa + profile_url: URL do perfil + public: Público + push_subscription_expires: PuSH subscription expires + salmon_url: Salmon URL + silence: Silêncio + statuses: Status + title: Contas + undo_silenced: Desfazer silenciar + undo_suspension: Desfazer supensão + username: Usuário + web: Web + domain_blocks: + add_new: Adicionar nova + created_msg: Bloqueio do domínio está sendo processado + destroyed_msg: Bloqueio de domínio está sendo desfeito + domain: Domínio + new: + create: Criar bloqueio + hint: O bloqueio de dominio não vai previnir a criação de entradas no banco de dados, mas irá, retroativamente e automaticamente aplicar métodos de moderação específica nessas contas. + severity: + desc_html: "Silenciar irá fazer com que os posts dessas contas sejam invisíveis para todos que não a seguem. Supender irá remover todos o conteúdo das contas, mídia e dados do perfil." + silence: Silenciar + suspend: Suspender + title: Novo bloqueio de domínio + reject_media: Rejeitar arquivos de mídia + reject_media_hint: Remove localmente arquivos armazenados e rejeita fazer o download de novos no futuro. Irrelevante em suspensões. + severities: + silence: Silenciar + suspend: Suspender + severity: Severidade + show: + affected_accounts: + one: Uma conta no banco de dados afetada + other: "%{count} contas no banco de dados afetada" + retroactive: + silence: Desilenciar todas as contas existentes nesse domínio + suspend: Desuspender todas as contas existentes nesse domínio + title: Desfazer bloqueio de domínio para %{domain} + title: Bloqueio de domínio + undo: Desfazer + pubsubhubbub: + callback_url: URL de Callback + confirmed: Confirmado + expires_in: Expira em + last_delivery: Última entrega + title: PubSubHubbub + topic: Tópico + reports: + comment: + label: Commentário + none: None + delete: Deletar + id: ID + mark_as_resolved: Marque como resolvido + report: 'Report #%{id}' + reported_account: Conta reportada + reported_by: Reportado por + resolved: Resolvido + silence_account: Conta silenciada + status: Status + suspend_account: Conta suspensa + target: Target + title: Reports + unresolved: Unresolved + view: View + settings: + click_to_edit: Clique para editar + contact_information: + email: Entre um endereço de email público + label: Informação de contato + username: Entre com usuário + registrations: + closed_message: + desc_html: Mostrar na página inicial quando registros estão fecados
Você pode usar tags HTML + title: Mensagem de registro fechados + open: + disabled: Desabilitado + enabled: Habilitado + title: Aberto para registro + setting: Preferências + site_description: + desc_html: Mostrar como parágrafo e usado como meta tag.
Vôce pode usar tags HTML, em particular <a> e <em>. + title: Descrição do site + site_description_extended: + desc_html: Mostrar na página de informação extendiada
Você pode usar tags HTML + title: Descrição extendida do site + site_title: Título do site + title: Preferências do site + title: Administração + application_mailer: + settings: 'Mudar preferências de email: %{link}' + signature: notificações Mastodon de %{instance} + view: 'View:' + applications: + invalid_url: URL dada é inválida + auth: + change_password: Mudar senha + didnt_get_confirmation: Não recebeu instruções de confirmação? + forgot_password: Esqueceu a senha? + login: Entrar + register: Registar + resend_confirmation: Reenviar instruções de confirmação + reset_password: Resetar senha + set_new_password: Editar password + generic: + changes_saved_msg: Mudanças guardadas! + powered_by: powered by %{link} + save_changes: Guardar alterações + validation_errors: + one: Algo não está correto. Por favor reveja o erro abaixo + other: Algo não está correto. Por favor reveja os %{count} erros abaixo + notification_mailer: + favourite: + body: 'O seu post foi favoritado por %{name}:' + subject: "%{name} favouritou o seu post" + follow: + body: "%{name} seguiu você!" + subject: "%{name} segue você" + mention: + body: 'Você foi mencionado por %{name} em:' + subject: Foi mencionado por %{name} + reblog: + body: 'O seu post foi reblogado por %{name}:' + subject: "%{name} reblogou o seu post" + pagination: + next: Next + prev: Prev + settings: + edit_profile: Editar perfil + preferences: Preferências diff --git a/config/locales/pt.yml b/config/locales/pt.yml index dc9beae7bc..735bc14ba5 100644 --- a/config/locales/pt.yml +++ b/config/locales/pt.yml @@ -1,64 +1,66 @@ --- pt: about: - about_mastodon: Mastodon é um servidor de rede social grátis, e open-source. Uma alternativa descentralizada ás plataformas comerciais, que evita o risco de uma única empresa monopolizar a sua comunicação. Escolha um servidor que você confie — qualquer um que escolher, você poderá interagir com todo o resto. Qualquer um pode ter uma instância Mastodon e assim participar na rede social federada sem problemas. - about_this: Sobre essa instância + about_mastodon: Mastodon é uma rede social grátis e em código aberto. Uma alternativa descentralizada às plataformas comerciais, que evita o risco de uma única empresa monopolizar a tua comunicação. Escolhe um servidor que confies, não importa qual, pois vais poder comunicar com todos os outros. Qualquer um pode criar uma instância Mastodon e participar nesta rede social. + about_this: Sobre esta instância apps: Aplicações business_email: 'Email comercial:' - closed_registrations: Registros estão fechadas para essa instância. - contact: Contato - description_headline: O que é %{domain}? + closed_registrations: Novos registos estão fechados nesta instância. + contact: Contacto + description_headline: O que é o %{domain}? domain_count_after: outras instâncias - domain_count_before: Conectado a + domain_count_before: Ligado a features: - api: Aberto para API de aplicações e serviços - blocks: Bloqueos e ferramentas para mudar + api: API aberta para aplicações e serviços + blocks: Ferramentas para silenciar e bloquear characters: 500 caracteres por post - chronology: Timeline são cronologicas - ethics: 'Design ético: sem propaganda, sem tracking' - gifv: GIFV e vídeos curtos - privacy: Granular, privacidade setada por post + chronology: Timelines cronológicas + ethics: 'Design ético: sem públicidade ou tracking' + gifv: GIFV e pequenos vídeos + privacy: Privacidade granular por post public: Timelines públicas features_headline: O que torna Mastodon diferente - get_started: Comece aqui + get_started: Começar links: Links - source_code: Source code other_instances: Outras instâncias + source_code: Código fonte + status_count_after: publicações + status_count_before: Que fizeram terms: Termos - user_count_after: usuários - user_count_before: Lugar de + user_count_after: utilizadores + user_count_before: Casa para accounts: follow: Seguir followers: Seguidores - following: Seguindo + following: A seguir nothing_here: Não há nada aqui! people_followed_by: Pessoas seguidas por %{name} people_who_follow: Pessoas que seguem %{name} posts: Posts - remote_follow: Acesso remoto - unfollow: Unfollow + remote_follow: Seguir remotamente + unfollow: Deixar de seguir admin: accounts: - are_you_sure: Você tem certeza? - display_name: Nome mostrado - domain: Domain + are_you_sure: Tens a certeza? + display_name: Nome a mostrar + domain: Domínio edit: Editar email: E-mail feed_url: URL do Feed followers: Seguidores - follows: Seguindo + follows: A seguir location: all: Todos local: Local remote: Remoto title: Local - media_attachments: Mídia anexadas + media_attachments: Media anexa moderation: all: Todos - silenced: Silenciado - suspended: Supenso + silenced: Silenciados + suspended: Supensos title: Moderação - most_recent_activity: Atividade mais recente + most_recent_activity: Actividade mais recente most_recent_ip: IP mais recente not_subscribed: Não inscrito order: @@ -69,6 +71,7 @@ pt: profile_url: URL do perfil public: Público push_subscription_expires: PuSH subscription expires + reset_password: Reset palavra-passe salmon_url: Salmon URL silence: Silêncio statuses: Status @@ -78,34 +81,35 @@ pt: username: Usuário web: Web domain_blocks: - add_new: Adicionar nova - created_msg: Bloqueio do domínio está sendo processado - destroyed_msg: Bloqueio de domínio está sendo desfeito + add_new: Adicionar novo + created_msg: Bloqueio do domínio está a ser processado + destroyed_msg: Bloqueio de domínio está a ser removido domain: Domínio new: create: Criar bloqueio - hint: O bloqueio de dominio não vai previnir a criação de entradas no banco de dados, mas irá, retroativamente e automaticamente aplicar métodos de moderação específica nessas contas. + hint: O bloqueio de dominio não vai previnir a criação de entradas na base de dados, mas irá retroativamente e automaticamente aplicar métodos de moderação específica nessas contas. severity: - desc_html: "Silenciar irá fazer com que os posts dessas contas sejam invisíveis para todos que não a seguem. Supender irá remover todos o conteúdo das contas, mídia e dados do perfil." + desc_html: "Silenciar irá fazer com que os posts dessas contas sejam invisíveis para todos que não a seguem. Supender irá eliminar todo o conteúdo guardado dessa conta, mídia e informação de perfil." silence: Silenciar suspend: Suspender title: Novo bloqueio de domínio - reject_media: Rejeitar arquivos de mídia - reject_media_hint: Remove localmente arquivos armazenados e rejeita fazer o download de novos no futuro. Irrelevante em suspensões. + reject_media: Rejeitar ficheiros de mídia + reject_media_hint: Remove localmente arquivos armazenados e rejeita fazer guardar novos no futuro. Irrelevante na suspensão. severities: silence: Silenciar suspend: Suspender severity: Severidade show: affected_accounts: - one: Uma conta no banco de dados afetada - other: "%{count} contas no banco de dados afetada" + one: Uma conta na base de dados afectada + other: "%{count} contas na base de dados afectadas" retroactive: - silence: Desilenciar todas as contas existentes nesse domínio - suspend: Desuspender todas as contas existentes nesse domínio - title: Desfazer bloqueio de domínio para %{domain} + silence: Não silenciar todas as contas existentes nesse domínio + suspend: Não suspender todas as contas existentes nesse domínio + title: Remover o bloqueio de domínio de %{domain} + undo: Anular title: Bloqueio de domínio - undo: Desfazer + undo: Anular pubsubhubbub: callback_url: URL de Callback confirmed: Confirmado @@ -115,84 +119,84 @@ pt: topic: Tópico reports: comment: - label: Commentário - none: None - delete: Deletar + label: Comentário + none: Nenhum + delete: Eliminar id: ID - mark_as_resolved: Marque como resolvido - report: 'Report #%{id}' - reported_account: Conta reportada - reported_by: Reportado por + mark_as_resolved: Marcar como resolvido + report: 'Denúncia #%{id}' + reported_account: Conta denunciada + reported_by: Denúnciada por resolved: Resolvido silence_account: Conta silenciada - status: Status + status: Estado suspend_account: Conta suspensa target: Target - title: Reports - unresolved: Unresolved - view: View + title: Denúncias + unresolved: Por resolver + view: Ver settings: click_to_edit: Clique para editar contact_information: - email: Entre um endereço de email público - label: Informação de contato - username: Entre com usuário + email: Inserir um endereço de email para tornar público + label: Informação de contacto + username: Insira um nome de utilizador registrations: closed_message: - desc_html: Mostrar na página inicial quando registros estão fecados
Você pode usar tags HTML - title: Mensagem de registro fechados + desc_html: Mostrar na página inicial quando registos estão encerrados
Podes usar tags HTML + title: Mensagem de registos encerrados open: disabled: Desabilitado enabled: Habilitado - title: Aberto para registro + title: Aceitar novos registos setting: Preferências site_description: - desc_html: Mostrar como parágrafo e usado como meta tag.
Vôce pode usar tags HTML, em particular <a> e <em>. + desc_html: Mostrar como parágrafo na página inicial e usado como meta tag.
Podes usar tags HTML, em particular <a> e <em>. title: Descrição do site site_description_extended: - desc_html: Mostrar na página de informação extendiada
Você pode usar tags HTML - title: Descrição extendida do site + desc_html: Mostrar na página de mais informações
Podes usar tags HTML + title: Página de mais informações site_title: Título do site title: Preferências do site title: Administração application_mailer: - settings: 'Mudar preferências de email: %{link}' - signature: notificações Mastodon de %{instance} - view: 'View:' + settings: 'Alterar preferências de email: %{link}' + signature: notificações Mastodon do %{instance} + view: 'Ver:' applications: - invalid_url: URL dada é inválida + invalid_url: O URL é inválido auth: - change_password: Mudar senha - didnt_get_confirmation: Não recebeu instruções de confirmação? - forgot_password: Esqueceu a senha? + change_password: Alterar palavra-passe + didnt_get_confirmation: Não recebeu o email de confirmação? + forgot_password: Esqueceste a palavra-passe? login: Entrar register: Registar resend_confirmation: Reenviar instruções de confirmação - reset_password: Resetar senha - set_new_password: Editar password + reset_password: Criar nova palavra-passe + set_new_password: Editar palavra-passe generic: - changes_saved_msg: Mudanças guardadas! + changes_saved_msg: Alteraçes guardadas! powered_by: powered by %{link} save_changes: Guardar alterações validation_errors: - one: Algo não está correto. Por favor reveja o erro abaixo - other: Algo não está correto. Por favor reveja os %{count} erros abaixo + one: Algo não está correcto. Por favor vê o erro abaixo + other: Algo não está correto. Por favor vê os %{count} erros abaixo notification_mailer: favourite: - body: 'O seu post foi favoritado por %{name}:' - subject: "%{name} favouritou o seu post" + body: 'O teu post foi adicionado aos favoritos por %{name}:' + subject: "%{name} adicionou o teu post aos favoritos" follow: - body: "%{name} seguiu você!" - subject: "%{name} segue você" + body: "%{name} é teu seguidor!" + subject: "%{name} começou a seguir-te" mention: - body: 'Você foi mencionado por %{name} em:' - subject: Foi mencionado por %{name} + body: 'Foste mencionado por %{name}:' + subject: "%{name} mencionou-te" reblog: - body: 'O seu post foi reblogado por %{name}:' - subject: "%{name} reblogou o seu post" + body: 'O teu post foi partilhado por %{name}:' + subject: "%{name} partilhou o teu post" pagination: - next: Next - prev: Prev + next: Seguinte + prev: Anterior settings: edit_profile: Editar perfil preferences: Preferências diff --git a/config/locales/simple_form.pt-BR.yml b/config/locales/simple_form.pt-BR.yml new file mode 100644 index 0000000000..28f7eeea89 --- /dev/null +++ b/config/locales/simple_form.pt-BR.yml @@ -0,0 +1,30 @@ +--- +pt-BR: + simple_form: + labels: + defaults: + avatar: Avatar + confirm_new_password: Confirme nova senha + confirm_password: Confirme a senha + current_password: Senha atual + display_name: Nome + email: Endereço de email + header: Header + locale: Linguagem + new_password: Nova senha + note: Biografia + password: Senha + username: Usuário + interactions: + must_be_follower: Bloquear notificações de não-seguidores + must_be_following: Bloquear notificações de pessoas que você + notification_emails: + favourite: Enviar email quando alguém favorita um post seu + follow: Enviar email quando alguém seguir você + mention: Enviar email quando alguém mencionar você + reblog: Enviar email quando alguém reblogar um post seu + 'no': 'Não' + required: + mark: "*" + text: necessário + 'yes': 'Sim' diff --git a/config/locales/simple_form.pt.yml b/config/locales/simple_form.pt.yml index e8b5e2d7f0..ba3326b230 100644 --- a/config/locales/simple_form.pt.yml +++ b/config/locales/simple_form.pt.yml @@ -1,28 +1,47 @@ --- pt: simple_form: + hints: + defaults: + avatar: PNG, GIF ou JPG. No máximo 2MB. Vai ser reduzido para 120x120px + display_name: No máximo 30 caracteres + header: PNG, GIF or JPG. No máximo 2MB. Vai ser reduzido para 700x335px + locked: Requer que manualmente aproves seguidores e torna o default dos teus posts para privados (apenas seguidores) + note: No máximo 160 caracteres + imports: + data: Ficheiro CSV exportado de outra instância do Mastodon + sessions: + otp: Insere o código o código de autenticação de dois fatores do teu telefone ou utiliza um código de recuperação de acesso. labels: defaults: - avatar: Avatar - confirm_new_password: Confirme nova senha - confirm_password: Confirme a senha - current_password: Senha atual + avatar: Imagem de Perfil + confirm_new_password: Confirme nova palavra-passe + confirm_password: Confirme a palavra-passe + current_password: Palavra-passe actual + data: Data display_name: Nome email: Endereço de email - header: Header - locale: Linguagem - new_password: Nova senha + header: Cabeçalho + locale: Língua + locked: Tornar conta privada + new_password: Nova palavra-passe note: Biografia - password: Senha - username: Usuário + otp_attempt: Código de autenticação de dois fatores + password: Palavra-passe + setting_boost_modal: Pedir confirmação antes de partilhar um post + setting_default_privacy: Privacidade padrão de posts + severity: Severity + type: Import type + username: Utilizador interactions: must_be_follower: Bloquear notificações de não-seguidores - must_be_following: Bloquear notificações de pessoas que você + must_be_following: Bloquear notificações de pessoas que não segues notification_emails: - favourite: Enviar email quando alguém favorita um post seu - follow: Enviar email quando alguém seguir você - mention: Enviar email quando alguém mencionar você - reblog: Enviar email quando alguém reblogar um post seu + digest: Enviar um email da actividade nesta instância + favourite: Enviar email quando alguém adiciona um post teu aos favoritos + follow: Enviar email quando alguém te segue + mention: Enviar email quando alguém te menciona + reblog: Enviar email quando alguém partilhar um post teu 'no': 'Não' required: mark: "*"