PT-BR Translation (#276)
Co-authored-by: Haoyuan Liu <yang991178@live.com>
This commit is contained in:
parent
38825b873a
commit
209949adc6
|
@ -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: "Українська" },
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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"
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue