PT-BR Translation (#276)

Co-authored-by: Haoyuan Liu <yang991178@live.com>
This commit is contained in:
fabianski7 2021-07-10 19:21:42 +00:00 committed by GitHub
parent 38825b873a
commit 209949adc6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 241 additions and 2 deletions

View File

@ -109,6 +109,7 @@ class AppTab extends React.Component<AppTabProps, AppTabState> {
{ key: "fr-FR", text: "Français" },
{ key: "it", text: "Italiano" },
{ key: "nl", text: "Nederlands" },
{ key: "pt-BR", text: "Português do Brasil" },
{ key: "sv", text: "Svenska" },
{ key: "tr", text: "Türkçe" },
{ key: "uk", text: "Українська" },

View File

@ -17,5 +17,6 @@ Currently, Fluent Reader supports the following languages.
| uk | Ukrainian | [@thevllad](https://github.com/thevllad) |
| nl | Nederlands | [@Vistaus](https://github.com/Vistaus) |
| it | Italiano | [@andrewasd](https://github.com/andrewasd) |
| pt-BR | Português do Brasil | [@fabianski7](https://github.com/fabianski7) |
Refer to the repo of [react-intl-universal](https://github.com/alibaba/react-intl-universal) to get started on internationalization.

View File

@ -10,7 +10,8 @@ import sv from "./sv.json"
import tr from "./tr.json"
import it from "./it.json"
import uk from "./uk.json"
import uk from "./fi-FI.json"
import pt_BR from "./pt-BR.json"
import fi_FI from "./fi-FI.json"
const locales = {
"en-US": en_US,
@ -25,7 +26,8 @@ const locales = {
"tr": tr,
"it": it,
"uk": uk,
"fi-FI": fi_FI
"pt-BR": pt_BR,
"fi-FI": fi_FI,
}
export default locales

235
src/scripts/i18n/pt-BR.json Normal file
View File

@ -0,0 +1,235 @@
{
"allArticles": "Todos os artigos",
"add": "Adicionar",
"create": "Criar",
"icon": "Ícone",
"name": "Nome",
"openExternal": "Abrir externamente",
"emptyName": "Este campo não pode ficar vazio.",
"emptyField": "Este campo não pode ficar vazio.",
"edit": "Editar",
"delete": "Deletar",
"followSystem": "Seguir o sistema",
"more": "Mais",
"close": "Fechar",
"search": "Pesquisar",
"loadMore": "Carregar mais",
"dangerButton": "Confirmar {action}?",
"confirmMarkAll": "Você realmente deseja marcar todos os artigos dessa página como lidos?",
"confirm": "Confirmar",
"cancel": "Cancelar",
"time": {
"now": "agora",
"m": "m",
"h": "h",
"d": "d",
"minute": "{m, plural, =1 {# minuto} other {# minutos}}",
"hour": "{h, plural, =1 {# hora} other {# horas}}",
"day": "{d, plural, =1 {# dia} other {# dias}}"
},
"log": {
"empty": "Nenhuma notificação",
"fetchFailure": "Falha ao carregar a fonte \"{name}\".",
"fetchSuccess": "{count, plural, =1 {# Artigo} other {# Artigos}} foram atualizados com sucesso.",
"networkError": "Ocorreu um erro na rede.",
"parseError": "Ocorreu um erro ao analisar o feed XML.",
"syncFailure": "Falha ao sincronizar com o serviço"
},
"nav": {
"menu": "Menu",
"refresh": "Atualizar",
"markAllRead": "Marcar todos como lidos",
"notifications": "Notificações",
"view": "Visualização",
"settings": "Configurações",
"minimize": "Minimizar",
"maximize": "Maximizar"
},
"menu": {
"close": "Fechar menu",
"subscriptions": "Inscrições"
},
"article": {
"error": "Falha ao carregar o artigo.",
"reload": "Recarregar?",
"empty": "Nenhum artigo",
"untitled": "(Sem título)",
"hide": "Ocultar artigo",
"unhide": "Exibir artigo",
"markRead": "Marcar como lido",
"markUnread": "Marcar como não lido",
"markAbove": "Marcar artigo(s) abaixo como lido(s)",
"markBelow": "Marcar artigo(s) abaixo como não lido(s)",
"star": "Marcar como favorito",
"unstar": "Remover marcação",
"fontSize": "Tamanho da fonte",
"loadWebpage": "Carregar página web",
"loadFull": "Carregar todo o conteúdo",
"notify": "Notificar se atualizado em segundo plano",
"dontNotify": "Não notificar"
},
"context": {
"share": "Compartilhar",
"read": "Ler",
"copyTitle": "Copiar título",
"copyURL": "Copiar link",
"copy": "Copiar",
"search": "Pesquisar \"{text}\" no {engine}",
"view": "Visualização",
"cardView": "Como cartões",
"listView": "Em lista",
"magazineView": "Como revista",
"compactView": "Compacto",
"filter": "Filtrar",
"unreadOnly": "Somente não lidos",
"starredOnly": "Somente favoritos",
"fullSearch": "Pesquisar em todo o texto",
"showHidden": "Exibir artigos ocultos",
"manageSources": "Gerenciar fontes",
"saveImageAs": "Salvar imagem como …",
"copyImage": "Copiar imagem",
"copyImageURL": "Copiar link da imagem",
"caseSensitive": "Diferenciar maiúsculas e minúsculas",
"showCover": "Exibir capa",
"showSnippet": "Mostrar trecho",
"fadeRead": "Esmaecer artigos lidos"
},
"searchEngine": {
"name": "Motor de pesquisa",
"google": "Google",
"bing": "Bing",
"baidu": "Baidu",
"duckduckgo": "DuckDuckGo"
},
"settings": {
"writeError": "Ocorreu um erro ao gravar o arquivo.",
"name": "Configurações",
"fetching": "Atualizando fontes, por favor aguarde …",
"exit": "Sair das Configurações",
"sources": "Fontes",
"grouping": "Grupos",
"rules": "Regras",
"service": "Serviço",
"app": "Preferências",
"about": "Sobre",
"version": "Versão",
"shortcuts": "Atalhos",
"openSource": "Código aberto",
"feedback": "Feedback"
},
"sources": {
"serviceWarning": "Fontes importadas ou adicionadas aqui não serão sincronizadas com o seu serviço.",
"serviceManaged": "Essa fonte é gerenciada pelo seu serviço.",
"untitled": "Fonte",
"errorAdd": "Ocorreu um erro ao adicionar a fonte.",
"errorParse": "Ocorreu um erro ao analisar o arquivo OPML.",
"errorParseHint": "Certifique-se de que o arquivo não esteja corrompido e que esteja codificado com UTF-8.",
"errorImport": "Erro ao importar {count, plural, =1 {# fonte} other {# fontes}}.",
"exist": "Esta fonte já existe.",
"opmlFile": "Arquivo OPML",
"name": "Nome da fonte",
"editName": "Editar nome",
"fetchFrequency": "Limite da frequência de atualização",
"unlimited": "Ilimitado",
"openTarget": "Método padrão de carregamento dos artigos",
"delete": "Deletar fonte",
"add": "Adicionar fonte",
"import": "Importar",
"export": "Exportar",
"rssText": "Texto completo do RSS",
"loadWebpage": "Carregar página web",
"inputUrl": "Insira a URL",
"badIcon": "Ícone inválido",
"badUrl": "URL inválida",
"deleteWarning": "A fonte e todos os artigos salvos serão removidos.",
"selected": "Fonte selecionada",
"selectedMulti": "Múltiplas fontes selecionadas"
},
"groups": {
"exist": "Este grupo já existe.",
"type": "Tipo",
"group": "Grupo",
"source": "Fonte",
"capacity": "Capacidade",
"exitGroup": "Voltar para os grupos",
"deleteSource": "Deletar deste grupo",
"sourceHint": "Arraste e solte as fontes para reorganizá-las.",
"create": "Criar grupo",
"selectedGroup": "Grupo selecionado",
"selectedSource": "Fonte selecionada",
"enterName": "Insira o nome",
"editName": "Editar o nome",
"deleteGroup": "Deletar grupo",
"chooseGroup": "Selecione um grupo",
"addToGroup": "Adicionar para ...",
"groupHint": "Clique duplo nos grupos para editar as fontes; Arraste e solte para reorganizá-los."
},
"rules": {
"intro": "Marcar artigos automaticamente ou enviar notificações com base em regras de expressões regulares.",
"help": "Saiba mais",
"source": "Fonte",
"selectSource": "Selecionar uma fonte",
"new": "Nova regra",
"if": "Se",
"then": "Então",
"title": "Título",
"content": "Conteúdo",
"fullSearch": "Título ou conteúdo",
"creator": "Autor",
"match": "corresponde",
"notMatch": "não corresponde",
"regex": "Expressão regular",
"badRegex": "Expressão regular inválida.",
"action": "Ações",
"selectAction": "Selecionar ações",
"hint": "As regras serão aplicadas em ordem. Arraste e solte para reorganizar.",
"test": "Testar regras"
},
"service": {
"intro": "Sincronização entre dispositivos com serviços RSS.",
"select": "Selecione um serviço",
"suggest": "Sugerir um novo serviço",
"overwriteWarning": "Fontes locais serão deletas se elas existirem no serviço.",
"groupsWarning": "Grupos não são automaticamente sincronizados com o serviço.",
"rateLimitWarning": "Para evitar limitações do serviço, você precisa criar sua própria chave de API.",
"removeAd": "Remover Ad",
"endpoint": "Endpoint",
"username": "Usuário",
"password": "Senha",
"unchanged": "Inalterado",
"fetchLimit": "Limite de sincronização",
"fetchLimitNum": "{count} últimos artigos",
"importGroups": "Importar grupos",
"failure": "Não foi possível conectar ao serviço",
"failureHint": "Por favor verifique a configuração do serviço ou o status da rede.",
"fetchUnlimited": "Ilimitado (não recomendado)",
"exportToLite": "Exportar para o Fluent Reader Lite"
},
"app": {
"cleanup": "Limpeza",
"cache": "Limpar cache",
"cacheSize": "{size} de dados em cache",
"deleteChoices": "Deletar artigos de ... dias atrás",
"confirmDelete": "Deletar",
"daysAgo": "{days, plural, =1 {# dia} other {# dias}} atrás",
"deleteAll": "Deletar todos os artigos",
"calculatingSize": "Calculando tamanho...",
"itemSize": "Cerca de {size} do armazenamento local é ocupado por artigos",
"confirmImport": "Você realmente deseja importar os dados do arquivo de backup? Todos os dados atuais serão apagados.",
"data": "Dados da aplicação",
"backup": "Backup",
"restore": "Restaurar",
"frData": "Dados do Fluent Reader",
"language": "Idioma",
"theme": "Tema",
"lightTheme": "Modo claro",
"darkTheme": "Modo escuro",
"enableProxy": "Ativar proxy",
"badUrl": "URL inválida",
"pac": "Endereço PAC",
"setPac": "Definir PAC",
"pacHint": "For Socks proxies, it is recommended for PAC to return \"SOCKS5\" for proxy-side DNS. Turning off proxy requires restart.",
"fetchInterval": "Intervalo de atualização automática",
"never": "Nunca"
}
}