]> Untitled Git - lemmy.git/commitdiff
Adding language and etc for pt-br.
authorDessalines <tyhou13@gmx.com>
Wed, 5 Feb 2020 18:12:13 +0000 (13:12 -0500)
committerDessalines <tyhou13@gmx.com>
Wed, 5 Feb 2020 18:12:13 +0000 (13:12 -0500)
README.md
ui/src/i18next.ts
ui/src/translations/pt.ts [deleted file]
ui/src/translations/pt_br.ts [new file with mode: 0644]
ui/src/utils.ts
ui/translation_report.ts

index 226f3c9f1c1e40876034bbe342e0333757ec10f4..cef3681d670ffb4260a4070f254a621360065edf 100644 (file)
--- a/README.md
+++ b/README.md
@@ -161,7 +161,7 @@ Lemmy is free, open-source software, meaning no advertising, monetizing, or vent
 
 If you'd like to add translations, take a look at the [English translation file](ui/src/translations/en.ts).
 
-- Languages supported: Catalan, (`ca`), Farsi (`fa`), English (`en`), Chinese (`zh`), Dutch (`nl`), Esperanto (`eo`), Finnish (`fi`), French (`fr`), Spanish (`es`), Swedish (`sv`), German (`de`), Russian (`ru`), Italian (`it`).
+- Languages supported: Brazilian Portuguese (`pt-br`), Catalan, (`ca`), Farsi (`fa`), English (`en`), Chinese (`zh`), Dutch (`nl`), Esperanto (`eo`), Finnish (`fi`), French (`fr`), Spanish (`es`), Swedish (`sv`), German (`de`), Russian (`ru`), Italian (`it`).
 
 <!-- translations -->
 
@@ -176,6 +176,7 @@ fi | 98% | cross_posted_to,old,time,action
 fr | 82% | cross_posted_to,create_private_message,send_secure_message,send_message,message,avatar,upload_avatar,show_avatars,archive_link,old,docs,replies,mentions,message_sent,messages,old_password,forgot_password,reset_password_mail_sent,password_change,new_password,no_email_setup,matrix_user_id,private_message_disclaimer,send_notifications_to_email,language,browser_default,downvotes_disabled,enable_downvotes,open_registration,registration_closed,enable_nsfw,donate_to_lemmy,donate,from,logged_in,email_already_exists,couldnt_create_private_message,no_private_message_edit_allowed,couldnt_update_private_message,time,action
 it | 83% | cross_posted_to,create_private_message,send_secure_message,send_message,message,avatar,upload_avatar,show_avatars,archive_link,old,docs,message_sent,messages,old_password,forgot_password,reset_password_mail_sent,password_change,new_password,no_email_setup,matrix_user_id,private_message_disclaimer,send_notifications_to_email,language,browser_default,downvotes_disabled,enable_downvotes,open_registration,registration_closed,enable_nsfw,donate_to_lemmy,donate,from,logged_in,email_already_exists,couldnt_create_private_message,no_private_message_edit_allowed,couldnt_update_private_message,time,action
 nl | 99% | cross_posted_to,time,action
+pt-br | 100% | 
 ru | 71% | cross_posts,cross_post,cross_posted_to,number_of_communities,create_private_message,send_secure_message,send_message,message,preview,upload_image,avatar,upload_avatar,show_avatars,formatting_help,view_source,sticky,unsticky,archive_link,stickied,delete_account,delete_account_confirm,banned,creator,number_online,old,docs,replies,mentions,message_sent,messages,old_password,forgot_password,reset_password_mail_sent,password_change,new_password,no_email_setup,matrix_user_id,private_message_disclaimer,send_notifications_to_email,language,browser_default,downvotes_disabled,enable_downvotes,open_registration,registration_closed,enable_nsfw,recent_comments,theme,donate_to_lemmy,donate,monero,by,to,from,transfer_community,transfer_site,are_you_sure,yes,no,logged_in,email_already_exists,couldnt_create_private_message,no_private_message_edit_allowed,couldnt_update_private_message,time,action
 sv | 82% | cross_posted_to,create_private_message,send_secure_message,send_message,message,avatar,upload_avatar,show_avatars,archive_link,old,docs,replies,mentions,message_sent,messages,old_password,forgot_password,reset_password_mail_sent,password_change,new_password,no_email_setup,matrix_user_id,private_message_disclaimer,send_notifications_to_email,language,browser_default,downvotes_disabled,enable_downvotes,open_registration,registration_closed,enable_nsfw,donate_to_lemmy,donate,from,logged_in,email_already_exists,couldnt_create_private_message,no_private_message_edit_allowed,couldnt_update_private_message,time,action
 zh | 69% | cross_posts,cross_post,cross_posted_to,users,number_of_communities,create_private_message,send_secure_message,send_message,message,preview,upload_image,avatar,upload_avatar,show_avatars,formatting_help,view_source,sticky,unsticky,archive_link,settings,stickied,delete_account,delete_account_confirm,banned,creator,number_online,old,docs,replies,mentions,message_sent,messages,old_password,forgot_password,reset_password_mail_sent,password_change,new_password,no_email_setup,matrix_user_id,private_message_disclaimer,send_notifications_to_email,language,browser_default,downvotes_disabled,enable_downvotes,open_registration,registration_closed,enable_nsfw,recent_comments,nsfw,show_nsfw,theme,donate_to_lemmy,donate,monero,by,to,from,transfer_community,transfer_site,are_you_sure,yes,no,logged_in,email_already_exists,couldnt_create_private_message,no_private_message_edit_allowed,couldnt_update_private_message,time,action
index 0d3ab177a5b66ac8ddc8688cb12b6381080ae2bd..4311b09f92340894dcce25fd8fcd64b56f627975 100644 (file)
@@ -13,6 +13,7 @@ import { it } from './translations/it';
 import { fi } from './translations/fi';
 import { ca } from './translations/ca';
 import { fa } from './translations/fa';
+import { pt_BR } from './translations/pt_br';
 
 // https://github.com/nimbusec-oss/inferno-i18next/blob/master/tests/T.test.js#L66
 const resources = {
@@ -29,6 +30,7 @@ const resources = {
   fi,
   ca,
   fa,
+  pt_BR,
 };
 
 function format(value: any, format: any, lng: any): any {
diff --git a/ui/src/translations/pt.ts b/ui/src/translations/pt.ts
deleted file mode 100644 (file)
index a455d6c..0000000
+++ /dev/null
@@ -1,237 +0,0 @@
-export const pt = {
-    translation: {
-        post: 'publicação',
-        remove_post: 'Apagar publicação',
-        no_posts: 'Sem publicações.',
-        create_a_post: 'Criar uma publicação',
-        create_post: 'Criar publicação',
-        number_of_posts: '{{count}} publicações',
-        posts: 'Publicações',
-        related_posts: 'Essas publicações podem estar relacionadas',
-        cross_posts: 'Esse link também foi publicado em:',
-        cross_post: 're-publicar',
-        cross_posted_to: 'Publicado também em: ',
-        comments: 'Comentários',
-        number_of_comments: '{{count}} comentários',
-        remove_comment: 'Apagar comentário',
-        communities: 'Comunidades',
-        users: 'Usuários',
-        create_a_community: 'Criar uma comunidade',
-        create_community: 'Criar comunidade',
-        remove_community: 'Apagar comunidade',
-        subscribed_to_communities: 'Inscrito em <1>comunidades</1>',
-        trending_communities: '<1>Comunidades</1> em tendência',
-        list_of_communities: 'Lista de comunidades',
-        number_of_communities: '{{count}} comunidades',
-        community_reqs: 'minúsculas, sublinhados e sem espaços.',
-        create_private_message: 'Criar mensagem privada',
-        send_secure_message: 'Enviar mensagem segura',
-        send_message: 'Enviar mensagem',
-        message: 'Mensagem',
-        edit: 'editar',
-        reply: 'responder',
-        cancel: 'Cancelar',
-        preview: 'Pré-visualização',
-        upload_image: 'fazer upload de imagem',
-        avatar: 'Avatar',
-        upload_avatar: 'Fazer upload de avatar',
-        show_avatars: 'Mostrar Avatars',
-        formatting_help: 'ajuda de formatação',
-        view_source: 'ver fonte',
-        unlock: 'desbloquear',
-        lock: 'bloquear',
-        sticky: 'fixar',
-        unsticky: 'desafixar',
-        link: 'link',
-        archive_link: 'arquivar link',
-        mod: 'moderador',
-        mods: 'moderadores',
-        moderates: 'Modera',
-        settings: 'Configurações',
-        remove_as_mod: 'remover como moderador',
-        appoint_as_mod: 'designar como moderador',
-        modlog: 'Registro de moderação',
-        admin: 'administrador',
-        admins: 'administradores',
-        remove_as_admin: 'remover como administrador',
-        appoint_as_admin: 'designar como administrador',
-        remove: 'remover',
-        removed: 'removido',
-        locked: 'trancado',
-        stickied: 'fixado',
-        reason: 'Motivo',
-        mark_as_read: 'marcar como lido',
-        mark_as_unread: 'marcar como não lido',
-        delete: 'apagar',
-        deleted: 'apagado',
-        delete_account: 'Apagar conta',
-        delete_account_confirm:
-            'Aviso: isso vai apagar seus dados de forma permanente. Escreva sua senha para confirmar.',
-        restore: 'restaurar',
-        ban: 'banir',
-        ban_from_site: 'banido do site',
-        unban: 'readmitido',
-        unban_from_site: 'readmitido ao site',
-        banned: 'banido',
-        save: 'guardar',
-        unsave: 'descartar',
-        create: 'criar',
-        creator: 'criador',
-        username: 'nome de usuário',
-        email_or_username: 'E-mail ou nome de usuário',
-        number_of_users: '{{count}} usuários',
-        number_of_subscribers: '{{count}} inscritos',
-        number_of_points: '{{count}} pontos',
-        number_online: '{{count}} usuários online',
-        name: 'Nome',
-        title: 'Título',
-        category: 'Categoria',
-        subscribers: 'Inscritos',
-        both: 'Ambos',
-        saved: 'Guardado',
-        unsubscribe: 'Cancelar inscrição',
-        subscribe: 'Inscrever-se',
-        subscribed: 'Inscrito',
-        prev: 'Anterior',
-        next: 'Próximo',
-        sidebar: 'Barra lateral',
-        sort_type: 'Ordenação',
-        hot: 'Popular',
-        new: 'Novo',
-        old: 'Velho',
-        top_day: 'Top do dia',
-        week: 'Semana',
-        month: 'Mês',
-        year: 'Ano',
-        all: 'Tudo',
-        top: 'Top',
-        api: 'API',
-        docs: 'Docs',
-        inbox: 'Caixa de entrada',
-        inbox_for: 'Caixa de entrada de <1>{{user}}</1>',
-        mark_all_as_read: 'marcar tudo como lido',
-        type: 'Tipo',
-        unread: 'Não lido',
-        replies: 'Respostas',
-        mentions: 'Menções',
-        reply_sent: 'Resposta enviada',
-        message_sent: 'Mensagem enviada',
-        search: 'Busca',
-        overview: 'Visão geral',
-        view: 'Visualização',
-        logout: 'Sair',
-        login_sign_up: 'Entrar / Inscrever-se',
-        login: 'Entrar',
-        sign_up: 'Inscrever-se',
-        notifications_error:
-            'Seu navegador não oferece notificações para a área de trabalho. Tente o Firefox ou o Chrome.',
-        unread_messages: 'Mensagens não lidas',
-        messages: 'Mensagens',
-        password: 'Senha',
-        verify_password: 'Verifique a senha',
-        old_password: 'Senha antiga',
-        forgot_password: 'esqueci a senha',
-        reset_password_mail_sent: 'Enviado um e-mail para a alteração da senha.',
-        password_change: 'Alteração de senha',
-        new_password: 'Nova senha',
-        no_email_setup: "Esse servidor não configurou corretamente o e-mail.",
-        email: 'E-mail',
-        matrix_user_id: 'Usuário Matrix',
-        private_message_disclaimer:
-            'Aviso: mensagens privadas no Lemmy não são seguras. Crie uma conta em <1>Riot.im</1> para troca segura de mensagens.',
-        send_notifications_to_email: 'Enviar notificações para o e-mail',
-        optional: 'Opcional',
-        expires: 'Expira',
-        language: 'Idioma',
-        browser_default: 'Padrão do navegador',
-        downvotes_disabled: 'Votos negativos desativados',
-        enable_downvotes: 'Permitir votos negativos',
-        open_registration: 'Permitir registro',
-        registration_closed: 'Registros desativados',
-        enable_nsfw: 'Permitir NSFW',
-        url: 'URL',
-        body: 'Conteúdo',
-        copy_suggested_title: 'copiar título sugerido: {{title}}',
-        community: 'Comunidade',
-        expand_here: 'Expandir aqui',
-        subscribe_to_communities: 'Inscreva-se em algumas <1>comunidades</1>.',
-        chat: 'Chat',
-        recent_comments: 'Últimos comentários',
-        no_results: 'Nenhum resultado.',
-        setup: 'Instalação',
-        lemmy_instance_setup: 'Criação de instância Lemmy',
-        setup_admin: 'Configurar administrador do site',
-        your_site: 'seu site',
-        modified: 'modificado',
-        nsfw: 'NSFW',
-        show_nsfw: 'Mostrar conteúdo NSFW',
-        theme: 'Tema',
-        sponsors: 'Patrocinadores',
-        sponsors_of_lemmy: 'Patrocinadores do Lemmy',
-        sponsor_message:
-            'Lemmy é um programa livre e de código aberto, o que significa que não haverá publicidade, monetização ou capital de risco, jamais. Suas doações apoiam de forma direta o desenvolvimento em tempo integral do projeto. Muitos agradecimentos às sequintes pessoas:',
-        support_on_patreon: 'Colabore no Patreon',
-        donate_to_lemmy: 'Faça uma doação ao Lemmy',
-        donate: 'Doar',
-        general_sponsors:
-            'Patrocinadores são aqueles que doaram entre $10 e $39 ao Lemmy.',
-        crypto: 'Crypto',
-        bitcoin: 'Bitcoin',
-        ethereum: 'Ethereum',
-        monero: 'Monero',
-        code: 'Code',
-        joined: 'Entrou',
-        by: 'por',
-        to: 'para',
-        from: 'de',
-        transfer_community: 'transferir comunidade',
-        transfer_site: 'transferir site',
-        are_you_sure: 'tem certeza?',
-        yes: 'sim',
-        no: 'não',
-        powered_by: 'Powered by',
-        landing_0:
-            "Lemmy é um <1>agregador de links</1> / alternativa ao reddit, com a intenção de funcionar junto ao <2>fediverso</2>.<3></3>Pode ser hospedado em servidor próprio, tem atualização de comentários em tempo real e é minúsculo (<4>~80kB</4>). A federação com a rede ActivityPub está no roteiro do projeto. <5></5>Esta é uma <6>versão beta bastante antecipada</6>, e muitas funcionalidades ainda estão quebradas ou ausentes. <7></7>Sugira novas funcionalidades ou reporte erros <8>aqui.</8><9></9>Feito com <10>Rust</10>, <11>Actix</11>, <12>Inferno</12>, <13>Typescript</13>.",
-        not_logged_in: 'Não autenticado.',
-        logged_in: 'Autenticado.',
-        community_ban: 'Você foi banido desta comunidade.',
-        site_ban: 'Você foi banido do site',
-        couldnt_create_comment: "Não foi possível criar o comentário.",
-        couldnt_like_comment: "Não foi possível curtir o comentário.",
-        couldnt_update_comment: "Não foi possível atualizar o comentário.",
-        couldnt_save_comment: "Não foi possível guardar o comentário.",
-        no_comment_edit_allowed: 'Sem permissão para editar de comentário.',
-        no_post_edit_allowed: 'Sem permissão para editar publicação.',
-        no_community_edit_allowed: 'Sem permissão para editar comunidade.',
-        couldnt_find_community: "Não foi possível encontrar a comunidade.",
-        couldnt_update_community: "Não foi possível atualizar a comunidade.",
-        community_already_exists: 'Esta comunidade já existe.',
-        community_moderator_already_exists: 'Este moderador da comunidade já existe.',
-        community_follower_already_exists: 'Este seguidor da comunidade já existe.',
-        community_user_already_banned: 'Este usuário da comunidade já foi banido.',
-        couldnt_create_post: "Não foi possível criar a publicação.",
-        couldnt_like_post: "Não foi possível curtir a publicação.",
-        couldnt_find_post: "Não foi possível encontrar a publicação.",
-        couldnt_get_posts: "Não foi possível obter as publicações",
-        couldnt_update_post: "Não foi possível atualizar a publicação",
-        couldnt_save_post: "Não foi possível guardar a publicação.",
-        no_slurs: 'Sem insultos.',
-        not_an_admin: 'Não é administrador.',
-        site_already_exists: 'O site já existe.',
-        couldnt_update_site: "Não foi possível atualizar o site.",
-        couldnt_find_that_username_or_email:
-            "Não foi possível encontrar esse usuário ou e-mail.",
-        password_incorrect: 'Senha incorreta.',
-        passwords_dont_match: 'As senhas não são iguais.',
-        admin_already_created: "Desculpe, já há um administrador.",
-        user_already_exists: 'Este usuário já existe.',
-        email_already_exists: 'Este e-mail já existe.',
-        couldnt_update_user: "Não foi possível atualizar o usuário.",
-        system_err_login: 'Erro no sistema. Tente sair e autenticar-se outra vez.',
-        couldnt_create_private_message: "Não foi possível criar mensagem privada.",
-        no_private_message_edit_allowed: 'Sem permissão para editar mensagem privada.',
-        couldnt_update_private_message: "Não foi possível atualizar a mensagem privada.",
-        time: 'Tempo',
-        action: 'Ação',
-    },
-};
\ No newline at end of file
diff --git a/ui/src/translations/pt_br.ts b/ui/src/translations/pt_br.ts
new file mode 100644 (file)
index 0000000..3f1c21f
--- /dev/null
@@ -0,0 +1,240 @@
+export const pt_BR = {
+  translation: {
+    post: 'publicação',
+    remove_post: 'Apagar publicação',
+    no_posts: 'Sem publicações.',
+    create_a_post: 'Criar uma publicação',
+    create_post: 'Criar publicação',
+    number_of_posts: '{{count}} publicações',
+    posts: 'Publicações',
+    related_posts: 'Essas publicações podem estar relacionadas',
+    cross_posts: 'Esse link também foi publicado em:',
+    cross_post: 're-publicar',
+    cross_posted_to: 'Publicado também em: ',
+    comments: 'Comentários',
+    number_of_comments: '{{count}} comentários',
+    remove_comment: 'Apagar comentário',
+    communities: 'Comunidades',
+    users: 'Usuários',
+    create_a_community: 'Criar uma comunidade',
+    create_community: 'Criar comunidade',
+    remove_community: 'Apagar comunidade',
+    subscribed_to_communities: 'Inscrito em <1>comunidades</1>',
+    trending_communities: '<1>Comunidades</1> em tendência',
+    list_of_communities: 'Lista de comunidades',
+    number_of_communities: '{{count}} comunidades',
+    community_reqs: 'minúsculas, sublinhados e sem espaços.',
+    create_private_message: 'Criar mensagem privada',
+    send_secure_message: 'Enviar mensagem segura',
+    send_message: 'Enviar mensagem',
+    message: 'Mensagem',
+    edit: 'editar',
+    reply: 'responder',
+    cancel: 'Cancelar',
+    preview: 'Pré-visualização',
+    upload_image: 'fazer upload de imagem',
+    avatar: 'Avatar',
+    upload_avatar: 'Fazer upload de avatar',
+    show_avatars: 'Mostrar Avatars',
+    formatting_help: 'ajuda de formatação',
+    view_source: 'ver fonte',
+    unlock: 'desbloquear',
+    lock: 'bloquear',
+    sticky: 'fixar',
+    unsticky: 'desafixar',
+    link: 'link',
+    archive_link: 'arquivar link',
+    mod: 'moderador',
+    mods: 'moderadores',
+    moderates: 'Modera',
+    settings: 'Configurações',
+    remove_as_mod: 'remover como moderador',
+    appoint_as_mod: 'designar como moderador',
+    modlog: 'Registro de moderação',
+    admin: 'administrador',
+    admins: 'administradores',
+    remove_as_admin: 'remover como administrador',
+    appoint_as_admin: 'designar como administrador',
+    remove: 'remover',
+    removed: 'removido',
+    locked: 'trancado',
+    stickied: 'fixado',
+    reason: 'Motivo',
+    mark_as_read: 'marcar como lido',
+    mark_as_unread: 'marcar como não lido',
+    delete: 'apagar',
+    deleted: 'apagado',
+    delete_account: 'Apagar conta',
+    delete_account_confirm:
+      'Aviso: isso vai apagar seus dados de forma permanente. Escreva sua senha para confirmar.',
+    restore: 'restaurar',
+    ban: 'banir',
+    ban_from_site: 'banido do site',
+    unban: 'readmitido',
+    unban_from_site: 'readmitido ao site',
+    banned: 'banido',
+    save: 'guardar',
+    unsave: 'descartar',
+    create: 'criar',
+    creator: 'criador',
+    username: 'nome de usuário',
+    email_or_username: 'E-mail ou nome de usuário',
+    number_of_users: '{{count}} usuários',
+    number_of_subscribers: '{{count}} inscritos',
+    number_of_points: '{{count}} pontos',
+    number_online: '{{count}} usuários online',
+    name: 'Nome',
+    title: 'Título',
+    category: 'Categoria',
+    subscribers: 'Inscritos',
+    both: 'Ambos',
+    saved: 'Guardado',
+    unsubscribe: 'Cancelar inscrição',
+    subscribe: 'Inscrever-se',
+    subscribed: 'Inscrito',
+    prev: 'Anterior',
+    next: 'Próximo',
+    sidebar: 'Barra lateral',
+    sort_type: 'Ordenação',
+    hot: 'Popular',
+    new: 'Novo',
+    old: 'Velho',
+    top_day: 'Top do dia',
+    week: 'Semana',
+    month: 'Mês',
+    year: 'Ano',
+    all: 'Tudo',
+    top: 'Top',
+    api: 'API',
+    docs: 'Docs',
+    inbox: 'Caixa de entrada',
+    inbox_for: 'Caixa de entrada de <1>{{user}}</1>',
+    mark_all_as_read: 'marcar tudo como lido',
+    type: 'Tipo',
+    unread: 'Não lido',
+    replies: 'Respostas',
+    mentions: 'Menções',
+    reply_sent: 'Resposta enviada',
+    message_sent: 'Mensagem enviada',
+    search: 'Busca',
+    overview: 'Visão geral',
+    view: 'Visualização',
+    logout: 'Sair',
+    login_sign_up: 'Entrar / Inscrever-se',
+    login: 'Entrar',
+    sign_up: 'Inscrever-se',
+    notifications_error:
+      'Seu navegador não oferece notificações para a área de trabalho. Tente o Firefox ou o Chrome.',
+    unread_messages: 'Mensagens não lidas',
+    messages: 'Mensagens',
+    password: 'Senha',
+    verify_password: 'Verifique a senha',
+    old_password: 'Senha antiga',
+    forgot_password: 'esqueci a senha',
+    reset_password_mail_sent: 'Enviado um e-mail para a alteração da senha.',
+    password_change: 'Alteração de senha',
+    new_password: 'Nova senha',
+    no_email_setup: 'Esse servidor não configurou corretamente o e-mail.',
+    email: 'E-mail',
+    matrix_user_id: 'Usuário Matrix',
+    private_message_disclaimer:
+      'Aviso: mensagens privadas no Lemmy não são seguras. Crie uma conta em <1>Riot.im</1> para troca segura de mensagens.',
+    send_notifications_to_email: 'Enviar notificações para o e-mail',
+    optional: 'Opcional',
+    expires: 'Expira',
+    language: 'Idioma',
+    browser_default: 'Padrão do navegador',
+    downvotes_disabled: 'Votos negativos desativados',
+    enable_downvotes: 'Permitir votos negativos',
+    open_registration: 'Permitir registro',
+    registration_closed: 'Registros desativados',
+    enable_nsfw: 'Permitir NSFW',
+    url: 'URL',
+    body: 'Conteúdo',
+    copy_suggested_title: 'copiar título sugerido: {{title}}',
+    community: 'Comunidade',
+    expand_here: 'Expandir aqui',
+    subscribe_to_communities: 'Inscreva-se em algumas <1>comunidades</1>.',
+    chat: 'Chat',
+    recent_comments: 'Últimos comentários',
+    no_results: 'Nenhum resultado.',
+    setup: 'Instalação',
+    lemmy_instance_setup: 'Criação de instância Lemmy',
+    setup_admin: 'Configurar administrador do site',
+    your_site: 'seu site',
+    modified: 'modificado',
+    nsfw: 'NSFW',
+    show_nsfw: 'Mostrar conteúdo NSFW',
+    theme: 'Tema',
+    sponsors: 'Patrocinadores',
+    sponsors_of_lemmy: 'Patrocinadores do Lemmy',
+    sponsor_message:
+      'Lemmy é um programa livre e de código aberto, o que significa que não haverá publicidade, monetização ou capital de risco, jamais. Suas doações apoiam de forma direta o desenvolvimento em tempo integral do projeto. Muitos agradecimentos às sequintes pessoas:',
+    support_on_patreon: 'Colabore no Patreon',
+    donate_to_lemmy: 'Faça uma doação ao Lemmy',
+    donate: 'Doar',
+    general_sponsors:
+      'Patrocinadores são aqueles que doaram entre $10 e $39 ao Lemmy.',
+    crypto: 'Crypto',
+    bitcoin: 'Bitcoin',
+    ethereum: 'Ethereum',
+    monero: 'Monero',
+    code: 'Code',
+    joined: 'Entrou',
+    by: 'por',
+    to: 'para',
+    from: 'de',
+    transfer_community: 'transferir comunidade',
+    transfer_site: 'transferir site',
+    are_you_sure: 'tem certeza?',
+    yes: 'sim',
+    no: 'não',
+    powered_by: 'Powered by',
+    landing_0:
+      'Lemmy é um <1>agregador de links</1> / alternativa ao reddit, com a intenção de funcionar junto ao <2>fediverso</2>.<3></3>Pode ser hospedado em servidor próprio, tem atualização de comentários em tempo real e é minúsculo (<4>~80kB</4>). A federação com a rede ActivityPub está no roteiro do projeto. <5></5>Esta é uma <6>versão beta bastante antecipada</6>, e muitas funcionalidades ainda estão quebradas ou ausentes. <7></7>Sugira novas funcionalidades ou reporte erros <8>aqui.</8><9></9>Feito com <10>Rust</10>, <11>Actix</11>, <12>Inferno</12>, <13>Typescript</13>.',
+    not_logged_in: 'Não autenticado.',
+    logged_in: 'Autenticado.',
+    community_ban: 'Você foi banido desta comunidade.',
+    site_ban: 'Você foi banido do site',
+    couldnt_create_comment: 'Não foi possível criar o comentário.',
+    couldnt_like_comment: 'Não foi possível curtir o comentário.',
+    couldnt_update_comment: 'Não foi possível atualizar o comentário.',
+    couldnt_save_comment: 'Não foi possível guardar o comentário.',
+    no_comment_edit_allowed: 'Sem permissão para editar de comentário.',
+    no_post_edit_allowed: 'Sem permissão para editar publicação.',
+    no_community_edit_allowed: 'Sem permissão para editar comunidade.',
+    couldnt_find_community: 'Não foi possível encontrar a comunidade.',
+    couldnt_update_community: 'Não foi possível atualizar a comunidade.',
+    community_already_exists: 'Esta comunidade já existe.',
+    community_moderator_already_exists:
+      'Este moderador da comunidade já existe.',
+    community_follower_already_exists: 'Este seguidor da comunidade já existe.',
+    community_user_already_banned: 'Este usuário da comunidade já foi banido.',
+    couldnt_create_post: 'Não foi possível criar a publicação.',
+    couldnt_like_post: 'Não foi possível curtir a publicação.',
+    couldnt_find_post: 'Não foi possível encontrar a publicação.',
+    couldnt_get_posts: 'Não foi possível obter as publicações',
+    couldnt_update_post: 'Não foi possível atualizar a publicação',
+    couldnt_save_post: 'Não foi possível guardar a publicação.',
+    no_slurs: 'Sem insultos.',
+    not_an_admin: 'Não é administrador.',
+    site_already_exists: 'O site já existe.',
+    couldnt_update_site: 'Não foi possível atualizar o site.',
+    couldnt_find_that_username_or_email:
+      'Não foi possível encontrar esse usuário ou e-mail.',
+    password_incorrect: 'Senha incorreta.',
+    passwords_dont_match: 'As senhas não são iguais.',
+    admin_already_created: 'Desculpe, já há um administrador.',
+    user_already_exists: 'Este usuário já existe.',
+    email_already_exists: 'Este e-mail já existe.',
+    couldnt_update_user: 'Não foi possível atualizar o usuário.',
+    system_err_login: 'Erro no sistema. Tente sair e autenticar-se outra vez.',
+    couldnt_create_private_message: 'Não foi possível criar mensagem privada.',
+    no_private_message_edit_allowed:
+      'Sem permissão para editar mensagem privada.',
+    couldnt_update_private_message:
+      'Não foi possível atualizar a mensagem privada.',
+    time: 'Tempo',
+    action: 'Ação',
+  },
+};
index 19cb28a2091772e7c82aab0e43f0ece0be095698..c53ee76a1a5d1d19b5d53927a3effad07ece42b9 100644 (file)
@@ -10,6 +10,7 @@ import 'moment/locale/it';
 import 'moment/locale/fi';
 import 'moment/locale/ca';
 import 'moment/locale/fa';
+import 'moment/locale/pt-br';
 
 import {
   UserOperation,
@@ -260,6 +261,7 @@ export const languages = [
   { code: 'es', name: 'Español' },
   { code: 'de', name: 'Deutsch' },
   { code: 'fa', name: 'فارسی' },
+  { code: 'pt_BR', name: 'Português Brasileiro' },
   { code: 'zh', name: '中文' },
   { code: 'fi', name: 'Suomi' },
   { code: 'fr', name: 'Français' },
@@ -310,6 +312,8 @@ export function getMomentLanguage(): string {
     lang = 'ca';
   } else if (lang.startsWith('fa')) {
     lang = 'fa';
+  } else if (lang.startsWith('pt')) {
+    lang = 'pt-br';
   } else {
     lang = 'en';
   }
index 1956b79218dca4228725a0f9a14b3068dc6436ce..c010aee0e1df6b85f16627067ae6ad1b8facaf55 100644 (file)
@@ -11,6 +11,7 @@ import { nl } from './src/translations/nl';
 import { it } from './src/translations/it';
 import { fi } from './src/translations/fi';
 import { ca } from './src/translations/ca';
+import { pt_BR } from './src/translations/pt_br';
 import fs from 'fs';
 
 const files = [
@@ -23,6 +24,7 @@ const files = [
   { t: fr, n: 'fr' },
   { t: it, n: 'it' },
   { t: nl, n: 'nl' },
+  { t: pt_BR, n: 'pt-br' },
   { t: ru, n: 'ru' },
   { t: sv, n: 'sv' },
   { t: zh, n: 'zh' },