From 66e55d60e1fbe5f9970a41a451dbc21561ee43e2 Mon Sep 17 00:00:00 2001 From: unsmell Date: Wed, 30 Nov 2016 23:04:53 -0100 Subject: [PATCH 1/2] Create pt localisation files in /config/locales/ --- config/locales/devise.pt.yml | 61 ++++++++++++++++ config/locales/doorkeeper.pt.yml | 112 ++++++++++++++++++++++++++++++ config/locales/pt.yml | 60 ++++++++++++++++ config/locales/simple_form.pt.yml | 31 +++++++++ 4 files changed, 264 insertions(+) create mode 100644 config/locales/devise.pt.yml create mode 100644 config/locales/doorkeeper.pt.yml create mode 100644 config/locales/pt.yml create mode 100644 config/locales/simple_form.pt.yml diff --git a/config/locales/devise.pt.yml b/config/locales/devise.pt.yml new file mode 100644 index 00000000..6c6f3d4d --- /dev/null +++ b/config/locales/devise.pt.yml @@ -0,0 +1,61 @@ +--- +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. + 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/doorkeeper.pt.yml b/config/locales/doorkeeper.pt.yml new file mode 100644 index 00000000..2b0568d8 --- /dev/null +++ b/config/locales/doorkeeper.pt.yml @@ -0,0 +1,112 @@ +--- +pt: + 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 \ No newline at end of file diff --git a/config/locales/pt.yml b/config/locales/pt.yml new file mode 100644 index 00000000..2d74c7c8 --- /dev/null +++ b/config/locales/pt.yml @@ -0,0 +1,60 @@ +--- +pt: + about: + about_instance: "%{instance} é uma instância de Mastodon." + 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. Qualquer um pode ter uma instância Mastodon e assim participar na rede social federada sem problemas. + get_started: Como começar + source_code: Source code + terms: Termos + accounts: + follow: Seguir + followers: Seguidores + following: Following + nothing_here: Não há nada aqui! + people_followed_by: Pessoas seguidas por %{name} + people_who_follow: Pessoas que seguem %{name} + posts: Posts + unfollow: Unfollow + application_mailer: + signature: notificações Mastodon de %{instance} + auth: + change_password: Mudar password + didnt_get_confirmation: Não recebeu instruções de confirmação? + forgot_password: Esqueceu a password? + login: Entrar + register: Registar + resend_confirmation: Reenviar instruções de confirmação + reset_password: Reset password + 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 + stream_entries: + favourited: favoritou um post por + is_now_following: agora segue + will_paginate: + page_gap: "…" diff --git a/config/locales/simple_form.pt.yml b/config/locales/simple_form.pt.yml new file mode 100644 index 00000000..b4e7108d --- /dev/null +++ b/config/locales/simple_form.pt.yml @@ -0,0 +1,31 @@ +--- +pt: + simple_form: + labels: + defaults: + avatar: Avatar + confirm_new_password: Confirme nova password + confirm_password: Confirme a password + current_password: Password atual + display_name: Nome + email: Endereço de email + header: Header + locale: Linguagem + new_password: Nova password + note: Biografia + password: Password + silenced: Modo não-listado + username: Username + 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' From 2b13df4a8d6b97cbb2deb7790d9774f752a7cc70 Mon Sep 17 00:00:00 2001 From: unsmell Date: Wed, 30 Nov 2016 23:05:24 -0100 Subject: [PATCH 2/2] Create pt.jsx --- .../javascripts/components/locales/pt.jsx | 102 +++++++++--------- 1 file changed, 53 insertions(+), 49 deletions(-) diff --git a/app/assets/javascripts/components/locales/pt.jsx b/app/assets/javascripts/components/locales/pt.jsx index 0fba15f2..e1b28df2 100644 --- a/app/assets/javascripts/components/locales/pt.jsx +++ b/app/assets/javascripts/components/locales/pt.jsx @@ -1,49 +1,53 @@ -const pt = { - "column_back_button.label": "Voltar", - "lightbox.close": "Fechar", - "loading_indicator.label": "Carregando...", - "status.mention": "Menção", - "status.delete": "Deletar", - "status.reply": "Responder", - "status.reblog": "Reblogar", - "status.favourite": "Favoritar", - "status.reblogged_by": "{name} reblogou", - "video_player.toggle_sound": "Alterar som", - "account.mention": "Menção", - "account.edit_profile": "Editar perfil", - "account.unblock": "Desbloquear", - "account.unfollow": "Unfollow", - "account.block": "Bloquear", - "account.follow": "Seguir", - "account.block": "Bloquear", - "account.posts": "Posts", - "account.follows": "Segue", - "account.followers": "Seguidoress", - "account.follows_you": "Segue você", - "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 entrando 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": "O desenvolvedor desse projeto pode ser seguido em Gargron@mastodon.social", - "column.home": "Home", - "column.mentions": "Menções", - "column.public": "Público", - "tabs_bar.compose": "Compôr", - "tabs_bar.home": "Home", - "tabs_bar.mentions": "Menções", - "tabs_bar.public": "Público", - "compose_form.placeholder": "Que estás pensando?", - "compose_form.publish": "Publicar", - "compose_form.sensitive": null, - "compose_form.unlisted": null, - "navigation_bar.settings": "Configurações", - "navigation_bar.public_timeline": "Timeline Pública", - "navigation_bar.logout": "Logout", - "reply_indicator.cancel": "Cancelar", - "search.placeholder": "Busca", - "search.account": "Conta", - "search.hashtag": "Hashtag", - "upload_button.label": "Adicionar media", - "upload_form.undo": "Desfazer" -}; - -export default pt; +const pt = { + "column_back_button.label": "Voltar", + "lightbox.close": "Fechar", + "loading_indicator.label": "Carregando...", + "status.mention": "Menção", + "status.delete": "Deletar", + "status.reply": "Responder", + "status.reblog": "Reblogar", + "status.favourite": "Favoritar", + "status.reblogged_by": "{name} reblogou", + "video_player.toggle_sound": "Alterar som", + "account.mention": "Menção", + "account.edit_profile": "Editar perfil", + "account.unblock": "Desbloquear", + "account.unfollow": "Unfollow", + "account.block": "Bloquear", + "account.follow": "Seguir", + "account.block": "Bloquear", + "account.posts": "Posts", + "account.follows": "Segue", + "account.followers": "Seguidores", + "account.follows_you": "Segue você", + "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 entrando 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": "O desenvolvedor desse projeto pode ser seguido em Gargron@mastodon.social", + "column.home": "Home", + "column.mentions": "Menções", + "column.public": "Público", + "tabs_bar.compose": "Compôr", + "tabs_bar.home": "Home", + "tabs_bar.mentions": "Menções", + "tabs_bar.public": "Público", + "tabs_bar.notifications": "Notificações", + "compose_form.placeholder": "Que estás pensando?", + "compose_form.publish": "Publicar", + "compose_form.sensitive": "Marcar conteúdo como sensível", + "navigation_bar.settings": "Configurações", + "navigation_bar.public_timeline": "Timeline Pública", + "navigation_bar.logout": "Logout", + "reply_indicator.cancel": "Cancelar", + "search.placeholder": "Busca", + "search.account": "Conta", + "search.hashtag": "Hashtag", + "upload_button.label": "Adicionar media", + "upload_form.undo": "Desfazer", + "notification.follow": "{name} seguiu você", + "notification.favourite": "{name} favoritou seu post", + "notification.reblog": "{name} reblogou o seu post", + "notification.mention": "{name} mecionou você" +}; + +export default pt;