mirror of
https://github.com/clash-verge-rev/clash-verge-rev.git
synced 2026-10-14 21:20:48 +08:00
feat(i18n): add Brazilian Portuguese locale (#8203)
Add the `pt` frontend and backend locale bundles, register the language in the language selector, and add a Portuguese README linked from the other READMEs. Co-authored-by: Nicolas Pastorello <opastorello@MacBookPro.pastorello.infra> Co-authored-by: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Nicolas Pastorello
Claude Sonnet 5.5
parent
4a125681bd
commit
6b4d4e1551
@@ -11,13 +11,14 @@ A Clash Meta GUI based on <a href="https://github.com/tauri-apps/tauri">Tauri</a
|
||||
|
||||
<p align="center">
|
||||
Languages:
|
||||
<a href="./README.md">简体中文</a> ·
|
||||
<a href="./docs/README_en.md">English</a> ·
|
||||
<a href="./docs/README_es.md">Español</a> ·
|
||||
<a href="./docs/README_ru.md">Русский</a> ·
|
||||
<a href="./docs/README_fa.md">فارسی</a> ·
|
||||
<a href="./docs/README_ja.md">日本語</a> ·
|
||||
<a href="./docs/README_ko.md">한국어</a> ·
|
||||
<a href="./docs/README_fa.md">فارسی</a>
|
||||
<a href="./docs/README_pt.md">Português</a> ·
|
||||
<a href="./docs/README_ru.md">Русский</a> ·
|
||||
<a href="./README.md">简体中文</a>
|
||||
</p>
|
||||
|
||||
## Preview
|
||||
|
||||
@@ -0,0 +1,90 @@
|
||||
_version: 1
|
||||
notifications:
|
||||
dashboardToggled:
|
||||
title: Painel
|
||||
body: A visibilidade do painel foi atualizada.
|
||||
clashModeChanged:
|
||||
title: Troca de modo
|
||||
body: Alterado para {mode}.
|
||||
systemProxyToggled:
|
||||
title: Proxy do sistema
|
||||
'on': O proxy do sistema foi ativado.
|
||||
'off': O proxy do sistema foi desativado.
|
||||
systemProxyFailed:
|
||||
title: Proxy do sistema
|
||||
body: Não foi possível definir o proxy do sistema. Abra o Clash Verge para ver o motivo.
|
||||
systemProxyGuardStopped:
|
||||
title: Proteção do proxy do sistema
|
||||
body: A proteção parou após várias falhas de execução. Abra o Clash Verge para ver o motivo.
|
||||
tunModeToggled:
|
||||
title: Modo TUN
|
||||
'on': O modo TUN foi ativado.
|
||||
'off': O modo TUN foi desativado.
|
||||
lightweightModeEntered:
|
||||
title: Modo leve
|
||||
body: Modo leve ativado.
|
||||
profilesReactivated:
|
||||
title: Perfis
|
||||
body: Perfil reativado.
|
||||
appQuit:
|
||||
title: Prestes a sair
|
||||
body: O Clash Verge está prestes a sair.
|
||||
updateReady:
|
||||
title: Atualização do Clash Verge
|
||||
body: Uma nova versão (v{version}) foi baixada e está pronta para instalar.
|
||||
installNow: Instalar agora
|
||||
later: Depois
|
||||
service:
|
||||
adminInstallPrompt: A instalação do serviço do Clash Verge requer privilégios de administrador.
|
||||
adminUninstallPrompt: A desinstalação do serviço do Clash Verge requer privilégios de administrador.
|
||||
launchGuard:
|
||||
currentExeError: 'Não foi possível determinar a localização do aplicativo: {error}'
|
||||
homeDirError: 'Não foi possível determinar o diretório pessoal do usuário atual. O aplicativo será encerrado: {error}'
|
||||
translocated: O macOS está executando este aplicativo a partir de um caminho temporário de App Translocation. No Finder, mova-o manualmente para /Applications ou ~/Applications e abra-o novamente.
|
||||
rejected: |-
|
||||
Este aplicativo deve ser iniciado a partir de um diretório de Aplicativos.
|
||||
|
||||
{reason}
|
||||
notInBundle: O executável não está dentro de um pacote de aplicativo.
|
||||
canonicalizeBundleError: 'Não foi possível resolver o caminho do pacote do aplicativo: {error}'
|
||||
bundleNameError: Não foi possível determinar o nome do pacote do aplicativo. O aplicativo será encerrado.
|
||||
replacePrompt: Já existe um aplicativo em {destination}. Substituí-lo e reabrir a partir de Aplicativos?
|
||||
movePrompt: Para iniciar o serviço em segundo plano com segurança, o aplicativo precisa ser movido para {destination}. Mover e reabrir agora?
|
||||
createApplicationsDirError: 'Não foi possível criar o diretório de Aplicativos: {error}'
|
||||
moveFailed: Falha ao mover o aplicativo. Mova-o manualmente no Finder e tente novamente.
|
||||
replaceFailed: 'Não foi possível substituir o aplicativo existente com segurança: {error}'
|
||||
relaunchFailed: O aplicativo foi copiado, mas não pôde ser reaberto automaticamente. Abra-o manualmente a partir de Aplicativos.
|
||||
cancel: Cancelar
|
||||
move: Mover
|
||||
ok: OK
|
||||
tray:
|
||||
dashboard: Painel
|
||||
ruleMode: Modo regra
|
||||
globalMode: Modo global
|
||||
directMode: Modo direto
|
||||
outboundModes: Modos de saída
|
||||
rule: Regra
|
||||
direct: Direto
|
||||
global: Global
|
||||
profiles: Perfis
|
||||
proxies: Proxies
|
||||
systemProxy: Proxy do sistema
|
||||
tunMode: Modo TUN
|
||||
closeAllConnections: Fechar todas as conexões
|
||||
lightweightMode: Modo leve
|
||||
copyEnv: Copiar variáveis de ambiente
|
||||
confDir: Diretório de configuração
|
||||
coreDir: Diretório do núcleo
|
||||
logsDir: Diretório de logs
|
||||
openDir: Abrir diretório
|
||||
appLog: Log do aplicativo
|
||||
coreLog: Log do núcleo
|
||||
restartClash: Reiniciar o núcleo do Clash
|
||||
restartApp: Reiniciar o aplicativo
|
||||
vergeVersion: Versão do Verge
|
||||
more: Mais
|
||||
exit: Sair
|
||||
tooltip:
|
||||
systemProxy: Proxy do sistema
|
||||
tun: TUN
|
||||
profile: Perfil
|
||||
+4
-3
@@ -11,13 +11,14 @@ A Clash Meta GUI built with <a href="https://github.com/tauri-apps/tauri">Tauri<
|
||||
|
||||
<p align="center">
|
||||
Languages:
|
||||
<a href="../README.md">简体中文</a> ·
|
||||
<a href="./README_en.md">English</a> ·
|
||||
<a href="./README_es.md">Español</a> ·
|
||||
<a href="./README_ru.md">Русский</a> ·
|
||||
<a href="./README_fa.md">فارسی</a> ·
|
||||
<a href="./README_ja.md">日本語</a> ·
|
||||
<a href="./README_ko.md">한국어</a> ·
|
||||
<a href="./README_fa.md">فارسی</a>
|
||||
<a href="./README_pt.md">Português</a> ·
|
||||
<a href="./README_ru.md">Русский</a> ·
|
||||
<a href="../README.md">简体中文</a>
|
||||
</p>
|
||||
|
||||
## Preview
|
||||
|
||||
+4
-3
@@ -11,13 +11,14 @@ Una interfaz gráfica para Clash Meta construida con <a href="https://github.com
|
||||
|
||||
<p align="center">
|
||||
Idiomas:
|
||||
<a href="../README.md">简体中文</a> ·
|
||||
<a href="./README_en.md">English</a> ·
|
||||
<a href="./README_es.md">Español</a> ·
|
||||
<a href="./README_ru.md">Русский</a> ·
|
||||
<a href="./README_fa.md">فارسی</a> ·
|
||||
<a href="./README_ja.md">日本語</a> ·
|
||||
<a href="./README_ko.md">한국어</a> ·
|
||||
<a href="./README_fa.md">فارسی</a>
|
||||
<a href="./README_pt.md">Português</a> ·
|
||||
<a href="./README_ru.md">Русский</a> ·
|
||||
<a href="../README.md">简体中文</a>
|
||||
</p>
|
||||
|
||||
## Vista previa
|
||||
|
||||
+4
-3
@@ -11,13 +11,14 @@
|
||||
|
||||
<p align="center">
|
||||
زبانها:
|
||||
<a href="../README.md">简体中文</a> ·
|
||||
<a href="./README_en.md">English</a> ·
|
||||
<a href="./README_es.md">Español</a> ·
|
||||
<a href="./README_ru.md">Русский</a> ·
|
||||
<a href="./README_fa.md">فارسی</a> ·
|
||||
<a href="./README_ja.md">日本語</a> ·
|
||||
<a href="./README_ko.md">한국어</a> ·
|
||||
<a href="./README_fa.md">فارسی</a>
|
||||
<a href="./README_pt.md">Português</a> ·
|
||||
<a href="./README_ru.md">Русский</a> ·
|
||||
<a href="../README.md">简体中文</a>
|
||||
</p>
|
||||
|
||||
## پیشنمایش
|
||||
|
||||
+4
-3
@@ -11,13 +11,14 @@
|
||||
|
||||
<p align="center">
|
||||
言語:
|
||||
<a href="../README.md">简体中文</a> ·
|
||||
<a href="./README_en.md">English</a> ·
|
||||
<a href="./README_es.md">Español</a> ·
|
||||
<a href="./README_ru.md">Русский</a> ·
|
||||
<a href="./README_fa.md">فارسی</a> ·
|
||||
<a href="./README_ja.md">日本語</a> ·
|
||||
<a href="./README_ko.md">한국어</a> ·
|
||||
<a href="./README_fa.md">فارسی</a>
|
||||
<a href="./README_pt.md">Português</a> ·
|
||||
<a href="./README_ru.md">Русский</a> ·
|
||||
<a href="../README.md">简体中文</a>
|
||||
</p>
|
||||
|
||||
## プレビュー
|
||||
|
||||
+4
-3
@@ -11,13 +11,14 @@
|
||||
|
||||
<p align="center">
|
||||
언어:
|
||||
<a href="../README.md">简体中文</a> ·
|
||||
<a href="./README_en.md">English</a> ·
|
||||
<a href="./README_es.md">Español</a> ·
|
||||
<a href="./README_ru.md">Русский</a> ·
|
||||
<a href="./README_fa.md">فارسی</a> ·
|
||||
<a href="./README_ja.md">日本語</a> ·
|
||||
<a href="./README_ko.md">한국어</a> ·
|
||||
<a href="./README_fa.md">فارسی</a>
|
||||
<a href="./README_pt.md">Português</a> ·
|
||||
<a href="./README_ru.md">Русский</a> ·
|
||||
<a href="../README.md">简体中文</a>
|
||||
</p>
|
||||
|
||||
## 미리보기
|
||||
|
||||
@@ -0,0 +1,125 @@
|
||||
<h1 align="center">
|
||||
<img src="../src-tauri/icons/icon.png" alt="Clash" width="128" />
|
||||
<br>
|
||||
Continuação do <a href="https://github.com/zzzgydi/clash-verge">Clash Verge</a>
|
||||
<br>
|
||||
</h1>
|
||||
|
||||
<h3 align="center">
|
||||
Uma interface gráfica para o Clash Meta construída com <a href="https://github.com/tauri-apps/tauri">Tauri</a>.
|
||||
</h3>
|
||||
|
||||
<p align="center">
|
||||
Idiomas:
|
||||
<a href="./README_en.md">English</a> ·
|
||||
<a href="./README_es.md">Español</a> ·
|
||||
<a href="./README_fa.md">فارسی</a> ·
|
||||
<a href="./README_ja.md">日本語</a> ·
|
||||
<a href="./README_ko.md">한국어</a> ·
|
||||
<a href="./README_pt.md">Português</a> ·
|
||||
<a href="./README_ru.md">Русский</a> ·
|
||||
<a href="../README.md">简体中文</a>
|
||||
</p>
|
||||
|
||||
## Pré-visualização
|
||||
|
||||
| Escuro | Claro |
|
||||
| -------------------------------------- | -------------------------------------- |
|
||||
|  |  |
|
||||
|
||||
## Instalação
|
||||
|
||||
Acesse a [página de lançamentos](https://github.com/clash-verge-rev/clash-verge-rev/releases) e baixe o instalador correspondente à sua plataforma.<br>
|
||||
Oferecemos pacotes para Windows (x64/x86), Linux (x64/arm64) e macOS 10.15+ (Intel/Apple).
|
||||
|
||||
#### Como escolher o canal de lançamento
|
||||
|
||||
| Canal | Descrição | Link |
|
||||
| :---------- | :--------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------- |
|
||||
| Stable | Versões oficiais de alta confiabilidade, ideais para o uso diário. | [Release](https://github.com/clash-verge-rev/clash-verge-rev/releases) |
|
||||
| Alpha (EOL) | Versões antigas usadas para validar o fluxo de publicação. | [Alpha](https://github.com/clash-verge-rev/clash-verge-rev/releases/tag/alpha) |
|
||||
| AutoBuild | Versões contínuas para testes e feedback. Espere mudanças típicas de beta. | [AutoBuild](https://github.com/clash-verge-rev/clash-verge-rev/releases/tag/autobuild) |
|
||||
|
||||
#### Guias de instalação e perguntas frequentes
|
||||
|
||||
Consulte a [documentação do projeto](https://clash-verge-rev.github.io/) para ver os passos de instalação, a solução de problemas e as perguntas frequentes.
|
||||
|
||||
### Canal do Telegram
|
||||
|
||||
Entre em [@clash_verge_rev](https://t.me/clash_verge_re) para acompanhar as novidades.
|
||||
|
||||
---
|
||||
|
||||
## Promoções
|
||||
|
||||
#### [Doggygo VPN — Acelerador global focado em desempenho](https://cvr.dginv.click/#/register?code=oaxsAGo6)
|
||||
|
||||
- Serviço internacional de alto desempenho com teste gratuito, planos com desconto, desbloqueio de streaming e suporte de primeira linha ao protocolo Hysteria.
|
||||
- Cadastre-se pelo link exclusivo do Clash Verge e ganhe um teste de 3 dias com 1 GB de tráfego diário: [Cadastre-se](https://cvr.dginv.click/#/register?code=oaxsAGo6)
|
||||
- Cupom exclusivo de 20% de desconto para usuários do Clash Verge: `verge20` (limitado a 500 usos)
|
||||
- Plano promocional a partir de ¥15,8 por mês com 160 GB, mais 20% de desconto adicional no pagamento anual
|
||||
- Equipe sediada no exterior para um serviço confiável, com até 50% de comissão compartilhada
|
||||
- Clusters balanceados com rotas dedicadas de alta velocidade (compatíveis com clientes antigos), latência extremamente baixa, reprodução 4K sem travamentos
|
||||
- Primeiro provedor global com **protocolo QUIC**, agora com protocolos da família QUIC mais rápidos (ideal para o cliente Clash Verge)
|
||||
- Desbloqueia serviços de streaming e acesso ao ChatGPT
|
||||
- Site oficial: [https://狗狗加速.com](https://cvr.dginv.click/#/register?code=oaxsAGo6)
|
||||
|
||||
### 🤖 [GPTKefu — Plataforma de atendimento ao cliente com IA integrada ao Crisp](https://gptkefu.com)
|
||||
|
||||
- 🧠 Compreensão profunda de todo o contexto da conversa + reconhecimento de imagens, com respostas profissionais e precisas de forma automática, sem respostas robóticas.
|
||||
- ♾️ **Respostas ilimitadas**, sem preocupação com cotas — ao contrário de outros produtos de IA que cobram por mensagem.
|
||||
- 💬 Consultas de pré-venda, suporte pós-venda, resolução de problemas complexos — cobre todos os cenários com facilidade, com casos reais comprovados.
|
||||
- ⚡ Configuração em 3 minutos, sem curva de aprendizado — melhora na hora a eficiência e a satisfação do cliente.
|
||||
- 🎁 Teste gratuito de 14 dias do plano Premium — experimente antes de pagar: 👉 [Testar grátis](https://gptkefu.com)
|
||||
- 📢 Canal do Telegram do atendimento com IA: [@crisp_ai](https://t.me/crisp_ai)
|
||||
|
||||
---
|
||||
|
||||
## Funcionalidades
|
||||
|
||||
- Baseado em Rust de alto desempenho e no framework Tauri 2
|
||||
- Inclui o núcleo integrado [Clash.Meta (mihomo)](https://github.com/MetaCubeX/mihomo) e permite trocar para o canal `Alpha`
|
||||
- Interface limpa e elegante, com controles de cor do tema, ícones de grupos de proxy/bandeja e `CSS Injection`
|
||||
- Gerenciamento avançado de perfis (ferramentas Merge e Script) com sugestões de sintaxe para as configurações
|
||||
- Controle do proxy do sistema, modo guardião e suporte a `TUN` (adaptador de rede virtual)
|
||||
- Editores visuais para nós e regras
|
||||
- Backup e sincronização via WebDAV
|
||||
|
||||
### Perguntas frequentes
|
||||
|
||||
Acesse a [página de FAQ](https://clash-verge-rev.github.io/faq/windows.html) para ver instruções específicas por plataforma.
|
||||
|
||||
### Doações
|
||||
|
||||
[Apoie o desenvolvimento do Clash Verge Rev](https://github.com/sponsors/clash-verge-rev)
|
||||
|
||||
## Desenvolvimento
|
||||
|
||||
Consulte o [CONTRIBUTING.md](../CONTRIBUTING.md) para ver as diretrizes de contribuição.
|
||||
|
||||
Depois de instalar todos os pré-requisitos do **Tauri**, execute o ambiente de desenvolvimento com:
|
||||
|
||||
```shell
|
||||
pnpm i
|
||||
pnpm run prebuild
|
||||
pnpm dev
|
||||
```
|
||||
|
||||
## Contribuições
|
||||
|
||||
Issues e pull requests são bem-vindos.
|
||||
|
||||
## Agradecimentos
|
||||
|
||||
O Clash Verge Rev é baseado nos projetos a seguir, ou se inspira neles:
|
||||
|
||||
- [zzzgydi/clash-verge](https://github.com/zzzgydi/clash-verge): Interface gráfica para o Clash baseada em Tauri. Compatível com Windows, macOS e Linux.
|
||||
- [tauri-apps/tauri](https://github.com/tauri-apps/tauri): Crie aplicativos de desktop menores, mais rápidos e mais seguros com um frontend web.
|
||||
- [Dreamacro/clash](https://github.com/Dreamacro/clash): Túnel baseado em regras escrito em Go.
|
||||
- [MetaCubeX/mihomo](https://github.com/MetaCubeX/mihomo): Túnel baseado em regras escrito em Go.
|
||||
- [Fndroid/clash_for_windows_pkg](https://github.com/Fndroid/clash_for_windows_pkg): Interface do Clash para Windows e macOS.
|
||||
- [vitejs/vite](https://github.com/vitejs/vite): Ferramentas de frontend de nova geração com uma experiência ultrarrápida.
|
||||
|
||||
## Licença
|
||||
|
||||
Licença GPL-3.0. Consulte o [arquivo de licença](../LICENSE) para mais detalhes.
|
||||
+4
-3
@@ -11,13 +11,14 @@ Clash Meta GUI базируется на <a href="https://github.com/tauri-apps/
|
||||
|
||||
<p align="center">
|
||||
Языки:
|
||||
<a href="../README.md">简体中文</a> ·
|
||||
<a href="./README_en.md">English</a> ·
|
||||
<a href="./README_es.md">Español</a> ·
|
||||
<a href="./README_ru.md">Русский</a> ·
|
||||
<a href="./README_fa.md">فارسی</a> ·
|
||||
<a href="./README_ja.md">日本語</a> ·
|
||||
<a href="./README_ko.md">한국어</a> ·
|
||||
<a href="./README_fa.md">فارسی</a>
|
||||
<a href="./README_pt.md">Português</a> ·
|
||||
<a href="./README_ru.md">Русский</a> ·
|
||||
<a href="../README.md">简体中文</a>
|
||||
</p>
|
||||
## Предпросмотр
|
||||
|
||||
|
||||
@@ -44,6 +44,7 @@ const languageOptions = supportedLanguages.map((code) => {
|
||||
es: 'Español',
|
||||
jp: '日本語',
|
||||
zhtw: '繁體中文',
|
||||
pt: 'Português',
|
||||
}
|
||||
const label = labels[code] || code
|
||||
return { code, label }
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
{
|
||||
"page": {
|
||||
"title": "Conexões"
|
||||
},
|
||||
"components": {
|
||||
"fields": {
|
||||
"host": "Host",
|
||||
"dlSpeed": "Vel. de download",
|
||||
"ulSpeed": "Vel. de upload",
|
||||
"chains": "Cadeias",
|
||||
"rule": "Regra",
|
||||
"process": "Processo",
|
||||
"time": "Hora",
|
||||
"source": "Origem",
|
||||
"destination": "Destino",
|
||||
"destinationPort": "Porta de destino",
|
||||
"type": "Tipo"
|
||||
},
|
||||
"order": {
|
||||
"default": "Padrão",
|
||||
"uploadSpeed": "Velocidade de upload",
|
||||
"downloadSpeed": "Velocidade de download"
|
||||
},
|
||||
"actions": {
|
||||
"active": "Ativas",
|
||||
"closed": "Fechadas",
|
||||
"closeConnection": "Fechar conexão"
|
||||
},
|
||||
"columnManager": {
|
||||
"title": "Colunas",
|
||||
"dragHandle": "Alça de arrastar"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,156 @@
|
||||
{
|
||||
"page": {
|
||||
"tooltips": {
|
||||
"lightweightMode": "Modo leve",
|
||||
"manual": "Manual",
|
||||
"settings": "Configurações do início"
|
||||
},
|
||||
"cards": {
|
||||
"trafficStats": "Estatísticas de tráfego",
|
||||
"networkSettings": "Configurações de rede",
|
||||
"proxyMode": "Modo de proxy"
|
||||
},
|
||||
"settings": {
|
||||
"cards": {
|
||||
"profile": "Cartão de perfil",
|
||||
"currentProxy": "Cartão do proxy atual",
|
||||
"network": "Cartão de configurações de rede",
|
||||
"proxyMode": "Cartão do modo de proxy",
|
||||
"traffic": "Cartão de estatísticas de tráfego",
|
||||
"tests": "Cartão de testes de sites",
|
||||
"ip": "Cartão de informações de IP",
|
||||
"clashInfo": "Cartões de informações do Clash",
|
||||
"systemInfo": "Cartões de informações do sistema"
|
||||
},
|
||||
"title": "Configurações do início"
|
||||
},
|
||||
"title": "Início"
|
||||
},
|
||||
"components": {
|
||||
"proxyTun": {
|
||||
"status": {
|
||||
"systemProxyEnabled": "Proxy do sistema ativado",
|
||||
"systemProxyDisabled": "Proxy do sistema desativado",
|
||||
"tunModeServiceRequired": "Modo TUN requer o serviço",
|
||||
"tunModeEnabled": "Modo TUN ativado",
|
||||
"tunModeDisabled": "Modo TUN desativado"
|
||||
},
|
||||
"tooltips": {
|
||||
"systemProxy": "Informações do proxy do sistema",
|
||||
"tunMode": "Informações de interceptação do modo TUN"
|
||||
}
|
||||
},
|
||||
"clashInfo": {
|
||||
"title": "Informações do Clash",
|
||||
"fields": {
|
||||
"coreVersion": "Versão do núcleo",
|
||||
"systemProxyAddress": "Endereço do proxy do sistema",
|
||||
"mixedPort": "Porta mista",
|
||||
"uptime": "Tempo ativo",
|
||||
"rulesCount": "Quantidade de regras"
|
||||
}
|
||||
},
|
||||
"systemInfo": {
|
||||
"title": "Informações do sistema",
|
||||
"fields": {
|
||||
"osInfo": "Informações do SO",
|
||||
"autoLaunch": "Início automático",
|
||||
"runningMode": "Modo de execução",
|
||||
"lastCheckUpdate": "Última verificação de atualização",
|
||||
"vergeVersion": "Versão do Verge"
|
||||
},
|
||||
"actions": {
|
||||
"settings": "Configurações"
|
||||
},
|
||||
"badges": {
|
||||
"notRunning": "Núcleo não está em execução",
|
||||
"adminMode": "Modo administrador",
|
||||
"serviceMode": "Modo serviço",
|
||||
"sidecarMode": "Modo usuário",
|
||||
"adminServiceMode": "Modo admin + serviço"
|
||||
}
|
||||
},
|
||||
"ipInfo": {
|
||||
"title": "Informações de IP",
|
||||
"labels": {
|
||||
"ip": "IP",
|
||||
"asn": "ASN",
|
||||
"isp": "ISP",
|
||||
"org": "ORG",
|
||||
"location": "Localização",
|
||||
"timezone": "Fuso horário",
|
||||
"autoRefresh": "Atualização automática",
|
||||
"unknown": "Desconhecido"
|
||||
},
|
||||
"errors": {
|
||||
"load": "Falha ao obter informações de IP",
|
||||
"loadWithDetails": "Falha ao obter informações de IP: {{message}}",
|
||||
"noServices": "Nenhum serviço de detecção de IP disponível"
|
||||
}
|
||||
},
|
||||
"currentProxy": {
|
||||
"title": "Nó atual",
|
||||
"actions": {
|
||||
"refreshDelay": "Teste de latência"
|
||||
},
|
||||
"labels": {
|
||||
"globalMode": "Modo global",
|
||||
"directMode": "Modo direto",
|
||||
"group": "Grupo",
|
||||
"proxy": "Proxy",
|
||||
"noActiveNode": "Nenhum nó de proxy ativo"
|
||||
},
|
||||
"status": {
|
||||
"testing": "Testando",
|
||||
"untested": "Não testado",
|
||||
"error": "Erro",
|
||||
"timeout": "Tempo esgotado",
|
||||
"latencyHigh": "Latência alta",
|
||||
"latencyMedium": "Latência moderada",
|
||||
"latencyGood": "Latência boa",
|
||||
"latencyExcellent": "Latência excelente",
|
||||
"uninitialized": "Não inicializado",
|
||||
"noProxyNode": "Nenhum nó de proxy"
|
||||
}
|
||||
},
|
||||
"tests": {
|
||||
"title": "Testes de sites"
|
||||
},
|
||||
"traffic": {
|
||||
"metrics": {
|
||||
"uploadSpeed": "Velocidade de upload",
|
||||
"downloadSpeed": "Velocidade de download",
|
||||
"activeConnections": "Conexões ativas",
|
||||
"memoryUsage": "Uso do núcleo"
|
||||
},
|
||||
"legends": {
|
||||
"upload": "Envio",
|
||||
"download": "Recebimento"
|
||||
},
|
||||
"patterns": {
|
||||
"minutes": "{{time}} minutos"
|
||||
},
|
||||
"unknownTime": "Horário desconhecido",
|
||||
"chartStyles": {
|
||||
"smooth": "Suave",
|
||||
"linear": "Linear"
|
||||
},
|
||||
"diagnostics": "Pontos: {{points}} | Agrupados: {{compressed}} | FPS: {{fps}}"
|
||||
},
|
||||
"clashMode": {
|
||||
"errors": {
|
||||
"communication": "Erro de comunicação com o núcleo, reinicie o computador e tente novamente"
|
||||
},
|
||||
"labels": {
|
||||
"rule": "Regra",
|
||||
"global": "Global",
|
||||
"direct": "Direto"
|
||||
},
|
||||
"descriptions": {
|
||||
"rule": "Escolhe proxies automaticamente de acordo com o conjunto de regras.",
|
||||
"global": "Encaminha todas as requisições de rede pelo proxy selecionado.",
|
||||
"direct": "Ignora o proxy e conecta diretamente à internet."
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,61 @@
|
||||
{
|
||||
"components": {
|
||||
"navigation": {
|
||||
"tabs": {
|
||||
"home": "Início",
|
||||
"proxies": "Proxies",
|
||||
"profiles": "Perfis",
|
||||
"connections": "Conexões",
|
||||
"rules": "Regras",
|
||||
"logs": "Logs",
|
||||
"unlock": "Teste",
|
||||
"settings": "Ajustes"
|
||||
},
|
||||
"menu": {
|
||||
"reorderMode": "Modo de reordenação do menu",
|
||||
"restoreDefaultOrder": "Restaurar ordem padrão",
|
||||
"unlock": "Desbloquear ordem do menu",
|
||||
"lock": "Bloquear ordem do menu",
|
||||
"collapseNavBar": "Recolher barra de navegação",
|
||||
"expandNavBar": "Expandir barra de navegação"
|
||||
}
|
||||
},
|
||||
"serviceMigration": {
|
||||
"locationRefusedMessage": "O serviço não pode iniciar o núcleo porque o caminho de instalação ou as permissões do diretório falharam em uma verificação de segurança. Reinstale o serviço para restaurar seus arquivos e permissões e tente novamente. O Windows pode solicitar aprovação de administrador.",
|
||||
"notAutoStartedMessage": "O tipo de inicialização do serviço Clash Verge foi alterado para Manual ou Desativado (geralmente por ferramentas de otimização do sistema), então ele não inicia mais com o Windows; esta sessão está usando Sidecar. Reinstale o serviço para restaurar a inicialização automática. O Windows pode solicitar aprovação de administrador.",
|
||||
"title": "Atualização do serviço necessária",
|
||||
"message": "A versão do serviço Clash Verge não corresponde à versão exigida por este app. Escolha Reinstalar serviço para desinstalar o serviço existente e instalar a versão exigida, ou continue com o Sidecar nesta sessão.",
|
||||
"checkingMessage": "Verificando o status do serviço do sistema e o modo de execução atual. Aguarde…",
|
||||
"unavailableMessage": "O serviço Clash Verge necessário não está disponível. Instale ou repare-o, ou continue com o Sidecar nesta sessão.",
|
||||
"reinstall": "Reinstalar serviço",
|
||||
"repair": "Reparar serviço",
|
||||
"continueSidecar": "Continuar com Sidecar",
|
||||
"success": "O serviço Clash Verge foi atualizado com sucesso",
|
||||
"errors": {
|
||||
"actionFailed": "A operação do serviço falhou",
|
||||
"stateRefreshFailed": "Falha ao atualizar o estado do serviço",
|
||||
"restartFailed": "Falha ao reiniciar o núcleo",
|
||||
"revalidationFailed": "Falha ao atualizar o estado de execução",
|
||||
"sidecarFailed": "Falha ao continuar com o Sidecar"
|
||||
}
|
||||
},
|
||||
"sysproxyPrivilege": {
|
||||
"title": "Não foi possível definir o proxy do sistema",
|
||||
"message": "O macOS recusou a alteração por falta de privilégios. Instalar o serviço Clash Verge permite que ele faça alterações de proxy como administrador, e este aviso não voltará.",
|
||||
"serviceReadyMessage": "O serviço Clash Verge está pronto, mas o núcleo ainda está em execução como sidecar, por isso a definição do proxy do sistema foi recusada. Mudar para o modo serviço resolve — sem precisar reinstalar.",
|
||||
"alternative": "Como alternativa, desative “exigir senha de administrador para acessar as configurações do sistema” em Ajustes do Sistema → Privacidade e Segurança → Avançado.",
|
||||
"later": "Depois",
|
||||
"installing": "Instalando o serviço do sistema. Pode ser solicitada a senha de administrador.",
|
||||
"restarting": "Serviço instalado. Reiniciando o núcleo por meio dele…",
|
||||
"applying": "Aplicando a alteração do proxy do sistema…",
|
||||
"tunTitle": "O modo TUN precisa do serviço do sistema",
|
||||
"tunMessage": "O modo TUN precisa do serviço do sistema Clash Verge para assumir o tráfego de rede. Depois de instalado, o modo TUN será ativado para você."
|
||||
}
|
||||
},
|
||||
"feedback": {
|
||||
"errors": {
|
||||
"restartCoreStopFailed": "Não foi possível parar o núcleo com segurança, então a reinicialização foi cancelada",
|
||||
"quitCoreStopFailed": "Não foi possível parar o núcleo com segurança, então a saída foi cancelada"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"page": {
|
||||
"title": "Logs"
|
||||
},
|
||||
"actions": {
|
||||
"showDescending": "Mais recentes primeiro",
|
||||
"showAscending": "Mais antigos primeiro"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,221 @@
|
||||
{
|
||||
"page": {
|
||||
"actions": {
|
||||
"updateAll": "Atualizar todos os perfis",
|
||||
"viewRuntimeConfig": "Ver configuração em execução",
|
||||
"reactivate": "Reativar perfis",
|
||||
"import": "Importar"
|
||||
},
|
||||
"batch": {
|
||||
"actions": {
|
||||
"delete": "Excluir perfis selecionados",
|
||||
"selectAll": "Selecionar tudo",
|
||||
"deselectAll": "Desmarcar tudo",
|
||||
"done": "Concluído"
|
||||
},
|
||||
"summary": {
|
||||
"selected": "Selecionados",
|
||||
"items": "itens"
|
||||
},
|
||||
"title": "Operações em lote"
|
||||
},
|
||||
"importForm": {
|
||||
"placeholder": "URL do perfil",
|
||||
"actions": {
|
||||
"paste": "Colar"
|
||||
}
|
||||
},
|
||||
"feedback": {
|
||||
"errors": {
|
||||
"invalidUrl": "URL de perfil inválida. Insira uma URL começando com http:// ou https://",
|
||||
"onlyYaml": "Somente arquivos YAML são suportados",
|
||||
"createFailed": "Falha ao criar o perfil",
|
||||
"deleteFailed": "Falha ao excluir o perfil",
|
||||
"enhanceFailed": "Falha ao reativar os perfis",
|
||||
"importFailed": "Falha ao importar o perfil",
|
||||
"openFailed": "Falha ao abrir o perfil",
|
||||
"readFailed": "Falha ao ler o perfil",
|
||||
"reorderFailed": "Falha ao reordenar os perfis",
|
||||
"switchFailed": "Falha ao trocar de perfil",
|
||||
"updateFailed": "Falha ao atualizar o perfil"
|
||||
},
|
||||
"notifications": {
|
||||
"importRetry": "Falha na importação, tentando novamente com o proxy Clash...",
|
||||
"importFail": "Falha na importação mesmo com o proxy Clash",
|
||||
"importNeedsRefresh": "Perfil importado, mas pode precisar de atualização manual",
|
||||
"importSuccess": "Perfil importado com sucesso, reinicie se não aparecer",
|
||||
"profileSwitched": "Perfil trocado",
|
||||
"profileReactivated": "Perfil reativado",
|
||||
"switchBusy": "A troca de perfil já está em andamento",
|
||||
"batchDeleted": "Perfis selecionados excluídos com sucesso"
|
||||
},
|
||||
"notices": {
|
||||
"forceRefreshCompleted": "Atualização forçada concluída",
|
||||
"discardedKeys": "As extensões gravaram {{keys}}, que são gerenciados pelas Configurações, então esses valores foram descartados",
|
||||
"emergencyRefreshFailed": "Falha na atualização de emergência: {{message}}"
|
||||
},
|
||||
"tooltips": {
|
||||
"forceRefreshStaleData": "Os dados do perfil estão indisponíveis; clique para forçar a atualização"
|
||||
}
|
||||
},
|
||||
"title": "Perfis"
|
||||
},
|
||||
"components": {
|
||||
"card": {
|
||||
"labels": {
|
||||
"clickToImport": "Clique para importar a assinatura"
|
||||
}
|
||||
},
|
||||
"fileInput": {
|
||||
"chooseFile": "Escolher arquivo"
|
||||
},
|
||||
"menu": {
|
||||
"home": "Início",
|
||||
"select": "Selecionar",
|
||||
"shareQrCode": "Compartilhar QR Code",
|
||||
"editInfo": "Editar informações",
|
||||
"editFile": "Editar arquivo",
|
||||
"editRules": "Editar regras",
|
||||
"editProxies": "Editar proxies",
|
||||
"editGroups": "Editar grupos de proxy",
|
||||
"extendConfig": "Configuração de extensão",
|
||||
"extendScript": "Script de extensão",
|
||||
"openFile": "Abrir arquivo",
|
||||
"update": "Atualizar",
|
||||
"updateViaProxy": "Atualizar via proxy"
|
||||
},
|
||||
"more": {
|
||||
"global": {
|
||||
"merge": "Extensão global",
|
||||
"script": "Script de extensão global"
|
||||
},
|
||||
"chips": {
|
||||
"merge": "Mesclar",
|
||||
"script": "Script"
|
||||
}
|
||||
},
|
||||
"profileItem": {
|
||||
"tooltips": {
|
||||
"showLast": "Clique para mostrar a última atualização",
|
||||
"showNext": "Clique para mostrar a próxima atualização"
|
||||
},
|
||||
"status": {
|
||||
"lastUpdateFailed": "Falha na última atualização",
|
||||
"nextUp": "Próxima",
|
||||
"noSchedule": "Sem agendamento",
|
||||
"unknown": "Desconhecido",
|
||||
"autoUpdateDisabled": "Atualização automática desativada"
|
||||
}
|
||||
}
|
||||
},
|
||||
"modals": {
|
||||
"profileForm": {
|
||||
"title": {
|
||||
"create": "Criar perfil",
|
||||
"edit": "Editar perfil"
|
||||
},
|
||||
"fields": {
|
||||
"type": "Tipo",
|
||||
"description": "Descrição",
|
||||
"subscriptionUrl": "URL da assinatura",
|
||||
"userAgent": "User Agent",
|
||||
"httpTimeout": "Tempo limite HTTP",
|
||||
"updateInterval": "Intervalo de atualização",
|
||||
"useSystemProxy": "Usar proxy do sistema",
|
||||
"useClashProxy": "Usar proxy Clash",
|
||||
"acceptInvalidCerts": "Permitir certificados inválidos (perigoso)",
|
||||
"allowAutoUpdate": "Permitir atualização automática"
|
||||
},
|
||||
"types": {
|
||||
"remote": "Remoto",
|
||||
"local": "Local"
|
||||
},
|
||||
"errors": {
|
||||
"typeRequired": "Selecione um tipo de perfil",
|
||||
"urlRequired": "Insira a URL da assinatura",
|
||||
"uidMissing": "O identificador do perfil está ausente",
|
||||
"saveFailed": "Falha ao salvar o perfil"
|
||||
},
|
||||
"warnings": {
|
||||
"frequentUpdate": "Um intervalo curto recarrega o núcleo com essa frequência e derruba as conexões existentes. Recomendados: {{minutes}} minutos (24 horas)."
|
||||
},
|
||||
"feedback": {
|
||||
"notifications": {
|
||||
"creationRetry": "Falha ao criar o perfil, tentando novamente com o proxy Clash...",
|
||||
"creationSuccess": "Perfil criado com sucesso com o proxy Clash"
|
||||
}
|
||||
}
|
||||
},
|
||||
"proxiesEditor": {
|
||||
"title": "Editar proxies",
|
||||
"placeholders": {
|
||||
"multiUri": "Use quebras de linha para várias URIs (Base64 suportado)"
|
||||
},
|
||||
"actions": {
|
||||
"prepend": "Adicionar proxy no início",
|
||||
"append": "Adicionar proxy no fim"
|
||||
}
|
||||
},
|
||||
"groupsEditor": {
|
||||
"title": "Editar grupos de proxy",
|
||||
"errors": {
|
||||
"nameRequired": "Nome do grupo obrigatório",
|
||||
"nameExists": "O nome do grupo já existe"
|
||||
},
|
||||
"fields": {
|
||||
"type": "Tipo de grupo",
|
||||
"name": "Nome do grupo",
|
||||
"icon": "Ícone do grupo de proxy",
|
||||
"proxies": "Usar proxies",
|
||||
"provider": "Usar provedor",
|
||||
"healthCheckUrl": "URL de verificação de saúde",
|
||||
"expectedStatus": "Status esperado",
|
||||
"interval": "Intervalo",
|
||||
"maxFailedTimes": "Máximo de falhas",
|
||||
"interfaceName": "Nome da interface",
|
||||
"routingMark": "Marca de roteamento",
|
||||
"filter": "Filtro",
|
||||
"excludeFilter": "Filtro de exclusão",
|
||||
"excludeType": "Tipo de exclusão",
|
||||
"includeAll": "Incluir todos os proxies e provedores",
|
||||
"includeAllProxies": "Incluir todos os proxies",
|
||||
"includeAllProviders": "Incluir todos os provedores"
|
||||
},
|
||||
"toggles": {
|
||||
"lazy": "Lazy",
|
||||
"disableUdp": "Desativar UDP",
|
||||
"hidden": "Oculto"
|
||||
},
|
||||
"actions": {
|
||||
"prepend": "Adicionar grupo no início",
|
||||
"append": "Adicionar grupo no fim"
|
||||
}
|
||||
},
|
||||
"editor": {
|
||||
"actions": {
|
||||
"format": "Formatar documento"
|
||||
},
|
||||
"messages": {
|
||||
"readOnly": "Não é possível editar em um editor somente leitura"
|
||||
},
|
||||
"enhance": {
|
||||
"globalMerge": "Aplica-se a todos os perfis, após as configurações do app. O script global, a configuração do perfil e o script do perfil ainda podem alterar o resultado.",
|
||||
"globalScript": "Aplica-se a todos os perfis, usando o resultado da mesclagem da configuração global. A configuração do perfil e o script do perfil ainda podem alterar o resultado.",
|
||||
"profileMerge": "Aplica-se somente a este perfil, após a configuração global e o script global. O script do perfil ainda pode alterar o resultado.",
|
||||
"profileScript": "Aplica-se somente a este perfil, usando o resultado da mesclagem da configuração do perfil. Esta é a última etapa de extensão antes de as configurações do app serem reaplicadas.",
|
||||
"order": "Ordem: Perfil original → Configurações do app → <globalMerge>Configuração de extensão global</globalMerge> → <globalScript>Script de extensão global</globalScript> → <profileMerge>Configuração de extensão do perfil</profileMerge> → <profileScript>Script de extensão do perfil</profileScript> → Configurações do app reaplicadas",
|
||||
"settingsPriority": "Nota: os campos gerenciados pelas configurações do app sempre usam essas configurações na configuração final. Alterar esses campos nas extensões não tem efeito."
|
||||
}
|
||||
},
|
||||
"confirmDelete": {
|
||||
"title": "Confirmar exclusão",
|
||||
"message": "Esta operação não é reversível"
|
||||
},
|
||||
"logViewer": {
|
||||
"title": "Console de scripts"
|
||||
},
|
||||
"qrViewer": {
|
||||
"title": "QR Code da assinatura"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,122 @@
|
||||
{
|
||||
"page": {
|
||||
"modes": {
|
||||
"rule": "Regra",
|
||||
"global": "Global",
|
||||
"direct": "Direto"
|
||||
},
|
||||
"actions": {
|
||||
"toggleChain": "Proxy em cadeia",
|
||||
"connect": "Conectar",
|
||||
"disconnect": "Desconectar",
|
||||
"connecting": "Conectando...",
|
||||
"clearChainConfig": "Excluir configuração da cadeia"
|
||||
},
|
||||
"provider": {
|
||||
"title": "Provedor de proxy",
|
||||
"actions": {
|
||||
"updateAll": "Atualizar tudo",
|
||||
"update": "Atualizar"
|
||||
}
|
||||
},
|
||||
"rules": {
|
||||
"title": "Regras de proxy",
|
||||
"select": "Selecionar regras"
|
||||
},
|
||||
"labels": {
|
||||
"proxyCount": "Quantidade de proxies",
|
||||
"delayCheckReset": "Teste de latência para cancelar a fixação",
|
||||
"nodeCount": "{{count}} nós"
|
||||
},
|
||||
"tooltips": {
|
||||
"locate": "localizar",
|
||||
"delayCheck": "Teste de latência",
|
||||
"sortDefault": "Ordenar por padrão",
|
||||
"sortDelay": "Ordenar por latência",
|
||||
"sortName": "Ordenar por nome",
|
||||
"delayCheckUrl": "URL do teste de latência",
|
||||
"showBasic": "Proxy básico",
|
||||
"showDetail": "Proxy detalhado",
|
||||
"filter": "Filtro"
|
||||
},
|
||||
"placeholders": {
|
||||
"delayCheckUrl": "URL do teste de latência"
|
||||
},
|
||||
"empty": {
|
||||
"noAvailableGroups": "Nenhum grupo de proxy disponível",
|
||||
"noProxies": "Nenhum proxy",
|
||||
"noSubscriptions": {
|
||||
"title": "Nenhuma assinatura importada",
|
||||
"description": "Não há nada para exibir na página Proxies. Vá para Perfis para importar e ativar uma assinatura."
|
||||
},
|
||||
"inactiveSubscription": {
|
||||
"title": "Nenhuma assinatura ativa",
|
||||
"description": "Foram encontradas assinaturas, mas nenhuma está ativa. Vá para Perfis e selecione uma para ativar."
|
||||
},
|
||||
"coreUnavailable": {
|
||||
"title": "Núcleo temporariamente indisponível",
|
||||
"description": "Não foi possível obter as informações de proxy do núcleo. Tente reiniciá-lo. Se o problema persistir, abra a pasta de logs e verifique os logs do núcleo."
|
||||
},
|
||||
"noProxyInfo": {
|
||||
"title": "Nenhuma informação de proxy disponível",
|
||||
"description": "Não há grupos de proxy nem nós para exibir. Verifique se a assinatura ativa contém grupos e nós de proxy válidos, ou reinicie o núcleo e revise os logs."
|
||||
},
|
||||
"actions": {
|
||||
"openProfiles": "Ir para Perfis",
|
||||
"restartCore": "Reiniciar núcleo",
|
||||
"openLogs": "Abrir pasta de logs"
|
||||
}
|
||||
},
|
||||
"chain": {
|
||||
"header": "Configuração do proxy em cadeia",
|
||||
"warning": "O proxy em cadeia reduz significativamente a velocidade da rede. Se você não tem uma necessidade clara ou não entende esta configuração, mantenha-o desativado.",
|
||||
"empty": "O proxy em cadeia reduz significativamente a velocidade da rede. Se você não tem uma necessidade clara ou não entende esta configuração, mantenha-o desativado.",
|
||||
"instruction": "Clique nos nós em ordem para adicioná-los à cadeia de proxy",
|
||||
"minimumNodes": "O proxy em cadeia requer pelo menos 2 nós",
|
||||
"minimumNodesHint": "O proxy em cadeia requer pelo menos 2 nós. Adicione mais um nó.",
|
||||
"connectFailed": "Falha ao conectar à cadeia de proxy",
|
||||
"disconnectFailed": "Falha ao desconectar da cadeia de proxy",
|
||||
"duplicateNode": "O nó de proxy já existe na cadeia",
|
||||
"entryNode": "Entrada",
|
||||
"exitNode": "Saída"
|
||||
},
|
||||
"messages": {
|
||||
"directMode": "Modo direto"
|
||||
},
|
||||
"title": {
|
||||
"default": "Grupos de proxy",
|
||||
"chainMode": "Modo de proxy em cadeia"
|
||||
}
|
||||
},
|
||||
"feedback": {
|
||||
"warnings": {
|
||||
"invalidTestUrl": "A URL de teste deve começar com http:// ou https://"
|
||||
},
|
||||
"notifications": {
|
||||
"provider": {
|
||||
"updateSuccess": "{{name}} atualizado com sucesso",
|
||||
"updateFailed": "Falha ao atualizar {{name}}: {{message}}",
|
||||
"genericError": "Falha na atualização: {{message}}",
|
||||
"none": "Nenhum provedor disponível para atualizar",
|
||||
"allUpdated": "Todos os provedores atualizados com sucesso"
|
||||
}
|
||||
}
|
||||
},
|
||||
"components": {
|
||||
"enums": {
|
||||
"strategies": {
|
||||
"select": "Selecionar proxy manualmente",
|
||||
"url-test": "Selecionar proxy com base na latência do teste de URL",
|
||||
"fallback": "Alternar para outro proxy em caso de erro",
|
||||
"load-balance": "Distribuir proxies com balanceamento de carga",
|
||||
"relay": "Passar pela cadeia de proxy definida"
|
||||
},
|
||||
"policies": {
|
||||
"DIRECT": "Os dados saem diretamente (DIRECT)",
|
||||
"REJECT": "Intercepta as requisições (REJECT)",
|
||||
"REJECT-DROP": "Descarta as requisições (REJECT-DROP)",
|
||||
"PASS": "Ignora esta regra quando houver correspondência (PASS)"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,82 @@
|
||||
{
|
||||
"page": {
|
||||
"provider": {
|
||||
"trigger": "Provedor de regras",
|
||||
"dialogTitle": "Provedores de regras",
|
||||
"actions": {
|
||||
"updateAll": "Atualizar tudo",
|
||||
"update": "Atualizar"
|
||||
}
|
||||
},
|
||||
"title": "Regras"
|
||||
},
|
||||
"feedback": {
|
||||
"notifications": {
|
||||
"provider": {
|
||||
"updateSuccess": "{{name}} atualizado com sucesso",
|
||||
"updateFailed": "Falha ao atualizar {{name}}: {{message}}",
|
||||
"genericError": "Falha na atualização: {{message}}",
|
||||
"none": "Nenhum provedor disponível para atualizar",
|
||||
"allUpdated": "Todos os provedores foram atualizados com sucesso"
|
||||
}
|
||||
}
|
||||
},
|
||||
"modals": {
|
||||
"editor": {
|
||||
"form": {
|
||||
"labels": {
|
||||
"type": "Tipo de regra",
|
||||
"content": "Conteúdo da regra",
|
||||
"proxyPolicy": "Política de proxy"
|
||||
},
|
||||
"toggles": {
|
||||
"noResolve": "Sem resolução"
|
||||
},
|
||||
"actions": {
|
||||
"prependRule": "Adicionar regra no início",
|
||||
"appendRule": "Adicionar regra no fim"
|
||||
},
|
||||
"validation": {
|
||||
"conditionRequired": "Condição da regra obrigatória",
|
||||
"invalidRule": "Regra inválida"
|
||||
}
|
||||
},
|
||||
"ruleTypes": {
|
||||
"DOMAIN": "Corresponder ao domínio completo (DOMAIN)",
|
||||
"DOMAIN-SUFFIX": "Corresponder ao sufixo de domínio (DOMAIN-SUFFIX)",
|
||||
"DOMAIN-KEYWORD": "Corresponder à palavra-chave do domínio (DOMAIN-KEYWORD)",
|
||||
"DOMAIN-REGEX": "Corresponder ao domínio por regex (DOMAIN-REGEX)",
|
||||
"GEOSITE": "Corresponder a domínios do GeoSite (GEOSITE)",
|
||||
"GEOIP": "Corresponder ao código de país do IP (GEOIP)",
|
||||
"SRC-GEOIP": "Corresponder ao código de país do IP de origem (SRC-GEOIP)",
|
||||
"IP-ASN": "Corresponder ao ASN do IP (IP-ASN)",
|
||||
"SRC-IP-ASN": "Corresponder ao ASN do IP de origem (SRC-IP-ASN)",
|
||||
"IP-CIDR": "Corresponder à faixa de endereços IP (IP-CIDR)",
|
||||
"IP-CIDR6": "Corresponder à faixa de endereços IPv6 (IP-CIDR6)",
|
||||
"SRC-IP-CIDR": "Corresponder à faixa de endereços IP de origem (SRC-IP-CIDR)",
|
||||
"IP-SUFFIX": "Corresponder à faixa de sufixo de IP (IP-SUFFIX)",
|
||||
"SRC-IP-SUFFIX": "Corresponder à faixa de sufixo de IP de origem (SRC-IP-SUFFIX)",
|
||||
"SRC-PORT": "Corresponder à faixa de portas de origem (SRC-PORT)",
|
||||
"DST-PORT": "Corresponder à faixa de portas de destino (DST-PORT)",
|
||||
"IN-PORT": "Corresponder à porta de entrada (IN-PORT)",
|
||||
"DSCP": "Tag DSCP (apenas entrada TPROXY UDP) (DSCP)",
|
||||
"PROCESS-NAME": "Corresponder ao nome do processo (PROCESS-NAME)",
|
||||
"PROCESS-PATH": "Corresponder ao caminho completo do processo (PROCESS-PATH)",
|
||||
"PROCESS-NAME-REGEX": "Corresponder ao nome do processo por regex (PROCESS-NAME-REGEX)",
|
||||
"PROCESS-PATH-REGEX": "Corresponder ao caminho completo do processo por regex (PROCESS-PATH-REGEX)",
|
||||
"NETWORK": "Corresponder ao protocolo de rede (TCP/UDP) (NETWORK)",
|
||||
"UID": "Corresponder ao ID de usuário Linux (UID)",
|
||||
"IN-TYPE": "Corresponder ao tipo de entrada (IN-TYPE)",
|
||||
"IN-USER": "Corresponder ao usuário de entrada (IN-USER)",
|
||||
"IN-NAME": "Corresponder ao nome da entrada (IN-NAME)",
|
||||
"SUB-RULE": "Sub-regra (SUB-RULE)",
|
||||
"RULE-SET": "Corresponder ao conjunto de regras (RULE-SET)",
|
||||
"AND": "E lógico (AND)",
|
||||
"OR": "OU lógico (OR)",
|
||||
"NOT": "NÃO lógico (NOT)",
|
||||
"MATCH": "Corresponder a todas as requisições (MATCH)"
|
||||
},
|
||||
"title": "Editar regras"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,716 @@
|
||||
{
|
||||
"page": {
|
||||
"actions": {
|
||||
"manual": "Manual",
|
||||
"telegram": "Canal do Telegram",
|
||||
"github": "Repositório do Github"
|
||||
},
|
||||
"actionsGroupLabel": "Links das configurações",
|
||||
"title": "Configurações"
|
||||
},
|
||||
"sections": {
|
||||
"system": {
|
||||
"title": "Configurações do Sistema",
|
||||
"toggles": {
|
||||
"tunMode": "Modo Tun",
|
||||
"systemProxy": "Proxy do Sistema"
|
||||
},
|
||||
"tooltips": {
|
||||
"silentStart": "Inicia o programa em segundo plano sem exibir o painel"
|
||||
},
|
||||
"fields": {
|
||||
"autoLaunch": "Iniciar com o Sistema",
|
||||
"silentStart": "Início Silencioso"
|
||||
},
|
||||
"notifications": {
|
||||
"tunMode": {
|
||||
"autoDisabled": "Modo TUN desativado automaticamente porque o serviço está indisponível",
|
||||
"autoDisableFailed": "Falha ao desativar o Modo TUN automaticamente"
|
||||
}
|
||||
}
|
||||
},
|
||||
"proxyControl": {
|
||||
"tooltips": {
|
||||
"systemProxy": "Ative para modificar as configurações de proxy do sistema operacional. Se a ativação falhar, modifique as configurações de proxy do sistema operacional manualmente",
|
||||
"tunMode": "Modo Tun (placa de rede virtual): captura todo o tráfego do sistema. Quando ativado, não é necessário ativar o proxy do sistema.",
|
||||
"tunUnavailable": "O TUN requer o Modo Serviço ou o Modo Administrador"
|
||||
},
|
||||
"actions": {
|
||||
"installService": "Instalar Serviço",
|
||||
"uninstallService": "Desinstalar Serviço",
|
||||
"switchToServiceMode": "Mudar para o modo serviço"
|
||||
},
|
||||
"fields": {
|
||||
"systemProxy": "Proxy do Sistema",
|
||||
"tunMode": "Modo Tun"
|
||||
},
|
||||
"messages": {
|
||||
"installedCheckProxy": "O serviço está instalado e o núcleo está em execução por meio dele. Verifique o interruptor do proxy do sistema e refaça a alteração se ela não tiver sido aplicada.",
|
||||
"installedCoreNotOnService": "O serviço está instalado, mas o núcleo não está em execução por meio dele. Verifique o núcleo e tente novamente.",
|
||||
"installedProxyRestored": "O serviço está instalado, o núcleo está em execução por meio dele e a alteração do proxy do sistema foi aplicada."
|
||||
}
|
||||
},
|
||||
"externalController": {
|
||||
"title": "Controlador Externo",
|
||||
"fields": {
|
||||
"enable": "Ativar Controlador Externo",
|
||||
"address": "Controlador Externo",
|
||||
"secret": "Segredo do Núcleo"
|
||||
},
|
||||
"placeholders": {
|
||||
"address": "Obrigatório",
|
||||
"secret": "Recomendado"
|
||||
},
|
||||
"tooltips": {
|
||||
"copy": "Copiar para a área de transferência"
|
||||
},
|
||||
"messages": {
|
||||
"addressRequired": "O endereço do controlador não pode estar vazio",
|
||||
"secretRequired": "O segredo não pode estar vazio",
|
||||
"copyFailed": "Falha ao copiar",
|
||||
"controllerCopied": "Endereço do controlador copiado para a área de transferência",
|
||||
"secretCopied": "Segredo copiado para a área de transferência"
|
||||
}
|
||||
},
|
||||
"externalCors": {
|
||||
"title": "Configuração de CORS Externo",
|
||||
"fields": {
|
||||
"allowPrivateNetwork": "Permitir acesso à rede privada",
|
||||
"allowedOrigins": "Origens Permitidas"
|
||||
},
|
||||
"placeholders": {
|
||||
"origin": "Insira uma URL válida"
|
||||
},
|
||||
"actions": {
|
||||
"add": "Adicionar"
|
||||
},
|
||||
"messages": {
|
||||
"alwaysIncluded": "Origens sempre incluídas: {{urls}}"
|
||||
},
|
||||
"tooltips": {
|
||||
"open": "Configurações de CORS Externo"
|
||||
}
|
||||
},
|
||||
"appearance": {
|
||||
"light": "Claro",
|
||||
"dark": "Escuro",
|
||||
"system": "Sistema"
|
||||
},
|
||||
"clash": {
|
||||
"title": "Configurações do Clash",
|
||||
"form": {
|
||||
"fields": {
|
||||
"allowLan": "Permitir LAN",
|
||||
"dnsOverwrite": "Sobrescrever DNS",
|
||||
"ipv6": "IPv6",
|
||||
"unifiedDelay": "Atraso Unificado",
|
||||
"logLevel": "Nível de Log",
|
||||
"portConfig": "Configuração de Portas",
|
||||
"external": "Externo",
|
||||
"webUI": "Web UI",
|
||||
"clashCore": "Núcleo do Clash",
|
||||
"openUwpTool": "Abrir ferramenta UWP",
|
||||
"updateGeoData": "Atualizar GeoData",
|
||||
"tunnels": {
|
||||
"title": "Gerenciamento de Túneis",
|
||||
"localAddr": "Endereço de Escuta Local",
|
||||
"localPort": "Porta de Escuta Local",
|
||||
"targetAddr": "Endereço de Destino",
|
||||
"targetPort": "Porta de Destino",
|
||||
"proxyGroup": "Grupo de Proxy",
|
||||
"proxyNode": "Nó de Proxy",
|
||||
"protocols": "Protocolo",
|
||||
"existing": "Túneis Existentes",
|
||||
"default": "Seguir a Configuração Atual",
|
||||
"optional": "Opcional",
|
||||
"messages": {
|
||||
"incomplete": "Preencha todos os campos obrigatórios do túnel",
|
||||
"invalidLocalAddr": "Endereço de escuta local inválido",
|
||||
"invalidLocalPort": "Porta de escuta local inválida",
|
||||
"invalidTargetAddr": "Endereço de destino inválido",
|
||||
"invalidTargetPort": "Porta de destino inválida"
|
||||
},
|
||||
"actions": {
|
||||
"add": "Adicionar",
|
||||
"addNew": "Adicionar Novo Túnel"
|
||||
}
|
||||
}
|
||||
},
|
||||
"tooltips": {
|
||||
"networkInterface": "Interface de Rede",
|
||||
"unifiedDelay": "Com o atraso unificado ativado, dois testes de atraso são realizados para eliminar as diferenças de atraso entre diferentes tipos de nós causadas por handshakes de conexão, etc.",
|
||||
"logLevel": "Este parâmetro é válido apenas para os arquivos de log do núcleo na pasta Service do diretório de logs",
|
||||
"openUwpTool": "Desde o Windows 8, os aplicativos UWP (como a Microsoft Store) são impedidos de acessar diretamente os serviços de rede do host local, e esta ferramenta pode ser usada para contornar essa restrição"
|
||||
},
|
||||
"options": {
|
||||
"logLevel": {
|
||||
"debug": "Debug",
|
||||
"info": "Info",
|
||||
"warning": "Aviso",
|
||||
"error": "Erro",
|
||||
"silent": "Silencioso"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"components": {
|
||||
"verge": {
|
||||
"basic": {
|
||||
"title": "Configurações Básicas do Verge",
|
||||
"actions": {
|
||||
"browse": "Procurar"
|
||||
},
|
||||
"trayOptions": {
|
||||
"showMainWindow": "Abrir Janela",
|
||||
"showTrayMenu": "Abrir Menu",
|
||||
"disable": "Desativar"
|
||||
},
|
||||
"fields": {
|
||||
"language": "Idioma",
|
||||
"themeMode": "Modo do Tema",
|
||||
"trayClickEvent": "Ação de Clique na Bandeja",
|
||||
"copyEnvType": "Tipo de Env ao Copiar",
|
||||
"startPage": "Página Inicial",
|
||||
"startupScript": "Script de Inicialização",
|
||||
"themeSetting": "Configurações do Tema",
|
||||
"layoutSetting": "Configurações de Layout",
|
||||
"misc": "Diversos",
|
||||
"hotkeySetting": "Configurações de Atalhos"
|
||||
}
|
||||
},
|
||||
"advanced": {
|
||||
"title": "Configurações Avançadas do Verge",
|
||||
"tooltips": {
|
||||
"backupInfo": "Suporta backup local ou via WebDAV dos arquivos de configuração",
|
||||
"openConfDir": "Se o software funcionar de forma anormal, FAÇA BACKUP e exclua todos os arquivos desta pasta e reinicie o software",
|
||||
"liteMode": "Fecha a interface gráfica e mantém apenas o núcleo em execução"
|
||||
},
|
||||
"actions": {
|
||||
"copyVersion": "Copiar Versão"
|
||||
},
|
||||
"notifications": {
|
||||
"latestVersion": "Você já está na versão mais recente",
|
||||
"versionCopied": "Versão copiada para a área de transferência"
|
||||
},
|
||||
"fields": {
|
||||
"backupSetting": "Configurações de Backup",
|
||||
"runtimeConfig": "Configuração em Execução",
|
||||
"openConfDir": "Abrir Pasta de Configuração",
|
||||
"openCoreDir": "Abrir Pasta do Núcleo",
|
||||
"openLogsDir": "Abrir Pasta de Logs",
|
||||
"checkUpdates": "Verificar Atualizações",
|
||||
"openDevTools": "Ferramentas de Desenvolvedor",
|
||||
"liteModeSettings": "Configurações do Modo Leve",
|
||||
"exit": "Sair",
|
||||
"exportDiagnostics": "Exportar Informações de Diagnóstico",
|
||||
"vergeVersion": "Versão do Verge"
|
||||
}
|
||||
},
|
||||
"theme": {
|
||||
"title": "Configurações do Tema",
|
||||
"fields": {
|
||||
"primaryColor": "Cor Primária",
|
||||
"secondaryColor": "Cor Secundária",
|
||||
"primaryText": "Texto Primário",
|
||||
"secondaryText": "Texto Secundário",
|
||||
"infoColor": "Cor de Informação",
|
||||
"warningColor": "Cor de Aviso",
|
||||
"errorColor": "Cor de Erro",
|
||||
"successColor": "Cor de Sucesso",
|
||||
"fontFamily": "Família da Fonte",
|
||||
"cssInjection": "Injeção de CSS"
|
||||
},
|
||||
"actions": {
|
||||
"editCss": "Editar CSS"
|
||||
},
|
||||
"dialogs": {
|
||||
"editCssTitle": "Editar CSS"
|
||||
}
|
||||
},
|
||||
"layout": {
|
||||
"title": "Configurações de Layout",
|
||||
"fields": {
|
||||
"preferSystemTitlebar": "Preferir Barra de Título do Sistema",
|
||||
"trafficGraph": "Gráfico de Tráfego",
|
||||
"memoryUsage": "Uso do Núcleo",
|
||||
"proxyGroupIcon": "Ícone do Grupo de Proxy",
|
||||
"toastPosition": "Posição das Notificações",
|
||||
"hoverNavigator": "Navegador de Salto ao Passar o Mouse",
|
||||
"hoverNavigatorDelay": "Atraso do Navegador de Salto ao Passar o Mouse",
|
||||
"navIcon": "Ícone de Navegação",
|
||||
"collapseNavBar": "Recolher Barra de Navegação",
|
||||
"trayIcon": "Ícone da Bandeja",
|
||||
"proxyGroupsDisplayMode": "Modo de Exibição dos Grupos de Proxy",
|
||||
"showOutboundModesInline": "Mostrar Modos de Saída em Linha",
|
||||
"commonTrayIcon": "Ícone Comum da Bandeja",
|
||||
"systemProxyTrayIcon": "Ícone da Bandeja do Proxy do Sistema",
|
||||
"tunTrayIcon": "Ícone da Bandeja do Tun",
|
||||
"enableTrayIcon": "Ativar Ícone da Bandeja",
|
||||
"enableTraySpeed": "Ativar Velocidade na Bandeja",
|
||||
"pauseRenderTrafficStatsOnBlur": "Pausar a renderização das estatísticas de tráfego quando sem foco"
|
||||
},
|
||||
"tooltips": {
|
||||
"hoverNavigator": "Rola automaticamente até o grupo de proxy correspondente ao passar o mouse sobre as letras do alfabeto",
|
||||
"hoverNavigatorDelay": "Atraso antes da rolagem automática ao passar o mouse, em milissegundos"
|
||||
},
|
||||
"options": {
|
||||
"icon": {
|
||||
"monochrome": "Monocromático",
|
||||
"colorful": "Colorido",
|
||||
"disable": "Desativar"
|
||||
},
|
||||
"toastPosition": {
|
||||
"topLeft": "Superior Esquerdo",
|
||||
"topRight": "Superior Direito",
|
||||
"bottomLeft": "Inferior Esquerdo",
|
||||
"bottomRight": "Inferior Direito"
|
||||
},
|
||||
"proxyGroupsDisplayMode": {
|
||||
"default": "Padrão",
|
||||
"inline": "Em Linha",
|
||||
"disable": "Desativar"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"modals": {
|
||||
"clashPort": {
|
||||
"title": "Configuração de Portas",
|
||||
"fields": {
|
||||
"mixed": "Porta Mista",
|
||||
"socks": "Porta Socks",
|
||||
"http": "Porta Http(s)",
|
||||
"redir": "Porta Redir",
|
||||
"tproxy": "Porta Tproxy"
|
||||
},
|
||||
"actions": {
|
||||
"random": "Porta Aleatória"
|
||||
},
|
||||
"messages": {
|
||||
"portInUse": "A porta {{port}} já está em uso",
|
||||
"runningPort": "Usando atualmente a porta {{port}}",
|
||||
"duplicatePort": "Os listeners ativados devem usar portas diferentes",
|
||||
"invalidPort": "Insira uma porta entre 1 e 65535",
|
||||
"saved": "Configurações de porta salvas",
|
||||
"saveFailed": "Falha ao salvar as configurações de porta",
|
||||
"automaticFallback": "A porta {{oldPort}} estava em uso, então esta sessão é executada em {{newPort}}. Sua configuração não foi alterada e {{oldPort}} será tentada novamente na próxima inicialização.",
|
||||
"automaticFallbackFailed": "Falha no fallback automático da porta mista do proxy: {{error}}",
|
||||
"portTooLow": "A porta deve ser 1000 ou maior",
|
||||
"portTooHigh": "A porta deve ser 65535 ou menor"
|
||||
}
|
||||
},
|
||||
"clashCore": {
|
||||
"variants": {
|
||||
"release": "Versão Release",
|
||||
"alpha": "Versão Alpha"
|
||||
}
|
||||
},
|
||||
"liteMode": {
|
||||
"title": "Configurações do Modo Leve",
|
||||
"actions": {
|
||||
"enterNow": "Entrar no Modo Leve Agora"
|
||||
},
|
||||
"toggles": {
|
||||
"autoEnter": "Entrar Automaticamente no Modo Leve"
|
||||
},
|
||||
"tooltips": {
|
||||
"autoEnter": "Ative para acionar automaticamente o Modo Leve depois que a janela ficar fechada por um período"
|
||||
},
|
||||
"fields": {
|
||||
"delay": "Atraso para Entrar Automaticamente no Modo Leve"
|
||||
},
|
||||
"messages": {
|
||||
"autoEnterHint": "Ao fechar a janela, o Modo Leve será ativado automaticamente após {{n}} minutos"
|
||||
}
|
||||
},
|
||||
"backup": {
|
||||
"title": "Configurações de Backup",
|
||||
"tabs": {
|
||||
"local": "Backup local",
|
||||
"webdav": "Backup WebDAV"
|
||||
},
|
||||
"actions": {
|
||||
"selectTarget": "Selecionar destino do backup",
|
||||
"backup": "Backup",
|
||||
"export": "Exportar",
|
||||
"exportBackup": "Exportar Backup",
|
||||
"importBackup": "Importar Backup",
|
||||
"deleteBackup": "Excluir Backup",
|
||||
"restore": "Restaurar",
|
||||
"restoreBackup": "Restaurar Backup",
|
||||
"viewHistory": "Ver histórico"
|
||||
},
|
||||
"fields": {
|
||||
"webdavUrl": "URL do Servidor WebDAV",
|
||||
"username": "Usuário",
|
||||
"info": "Os backups são armazenados localmente no diretório de dados do aplicativo. Use a lista abaixo para restaurar ou excluir backups."
|
||||
},
|
||||
"messages": {
|
||||
"webdavUrlRequired": "A URL do WebDAV não pode estar vazia",
|
||||
"invalidWebdavUrl": "Formato de URL do WebDAV inválido",
|
||||
"usernameRequired": "O usuário não pode estar vazio",
|
||||
"passwordRequired": "A senha não pode estar vazia",
|
||||
"webdavConfigSaved": "Configuração do WebDAV salva com sucesso",
|
||||
"webdavConfigSaveFailed": "Falha ao salvar a configuração do WebDAV: {{error}}",
|
||||
"backupCreated": "Backup criado com sucesso",
|
||||
"backupFailed": "Falha no backup: {{error}}",
|
||||
"localBackupCreated": "Backup local criado com sucesso",
|
||||
"localBackupFailed": "Falha no backup local",
|
||||
"restoreSuccess": "Restauração concluída, o aplicativo será reiniciado em 1s",
|
||||
"localBackupExported": "Backup local exportado com sucesso",
|
||||
"localBackupExportFailed": "Falha ao exportar o backup local",
|
||||
"localBackupImported": "Backup local importado com sucesso",
|
||||
"localBackupImportFailed": "Falha ao importar o backup local: {{error}}",
|
||||
"webdavRefreshSuccess": "Atualização do WebDAV concluída com sucesso",
|
||||
"webdavRefreshFailed": "Falha na atualização do WebDAV: {{error}}",
|
||||
"confirmDelete": "Confirmar a exclusão deste arquivo de backup?",
|
||||
"confirmRestore": "Confirmar a restauração deste arquivo de backup?"
|
||||
},
|
||||
"auto": {
|
||||
"title": "Backup automático",
|
||||
"scheduleLabel": "Ativar backup agendado",
|
||||
"scheduleHelper": "Cria backups locais em segundo plano no intervalo configurado.",
|
||||
"intervalLabel": "Frequência do backup",
|
||||
"changeLabel": "Backup em alterações críticas",
|
||||
"changeHelper": "Faz backup automaticamente quando a Configuração/Script Global Estendido é alterado.",
|
||||
"options": {
|
||||
"hours": "A cada {{n}} horas",
|
||||
"days": "A cada {{n}} dias"
|
||||
}
|
||||
},
|
||||
"manual": {
|
||||
"title": "Backup manual",
|
||||
"local": "Cria um snapshot neste dispositivo, armazenado no diretório de dados do aplicativo.",
|
||||
"webdav": "Envia um snapshot para o seu servidor WebDAV assim que as credenciais forem definidas.",
|
||||
"configureWebdav": "Configurar WebDAV"
|
||||
},
|
||||
"history": {
|
||||
"title": "Histórico de backups",
|
||||
"summary": "{{count}} backups • mais recente {{recent}}",
|
||||
"empty": "Nenhum backup disponível",
|
||||
"unknownPlatform": "desconhecida",
|
||||
"unknownTime": "Hora desconhecida"
|
||||
},
|
||||
"webdav": {
|
||||
"title": "Configurações do WebDAV"
|
||||
},
|
||||
"table": {
|
||||
"filename": "Nome do Arquivo",
|
||||
"backupTime": "Hora do Backup",
|
||||
"actions": "Ações",
|
||||
"noBackups": "Nenhum backup disponível",
|
||||
"rowsPerPage": "Linhas por página"
|
||||
}
|
||||
},
|
||||
"misc": {
|
||||
"title": "Diversos",
|
||||
"fields": {
|
||||
"appLogLevel": "Nível de Log do Aplicativo",
|
||||
"appLogMaxSize": "Tamanho Máximo do Log do Aplicativo",
|
||||
"appLogMaxCount": "Quantidade Máxima de Logs do Aplicativo",
|
||||
"autoCloseConnections": "Fechar Conexões Automaticamente",
|
||||
"autoCheckUpdate": "Verificar Atualizações Automaticamente",
|
||||
"enableBuiltinEnhanced": "Ativar Aprimoramento Integrado",
|
||||
"proxyLayoutColumns": "Colunas do Layout de Proxy",
|
||||
"autoLogClean": "Limpeza Automática de Logs",
|
||||
"autoDelayDetection": "Detecção Automática de Atraso",
|
||||
"autoDelayDetectionInterval": "Intervalo da Detecção Automática de Atraso",
|
||||
"defaultLatencyTest": "Teste de Latência Padrão",
|
||||
"defaultLatencyTimeout": "Tempo Limite de Latência Padrão"
|
||||
},
|
||||
"tooltips": {
|
||||
"autoCloseConnections": "Encerra as conexões estabelecidas quando a seleção do grupo de proxy ou o modo de proxy muda",
|
||||
"enableBuiltinEnhanced": "Tratamento de compatibilidade para o arquivo de configuração",
|
||||
"autoDelayDetection": "Testa periodicamente a latência do nó atual em segundo plano",
|
||||
"defaultLatencyTest": "Usado apenas para testes de requisição do cliente HTTP e não afeta o arquivo de configuração"
|
||||
},
|
||||
"options": {
|
||||
"proxyLayoutColumns": {
|
||||
"auto": "Colunas Automáticas"
|
||||
},
|
||||
"autoLogClean": {
|
||||
"never": "Nunca Limpar",
|
||||
"retainDays": "Manter {{n}} Dias"
|
||||
}
|
||||
}
|
||||
},
|
||||
"update": {
|
||||
"title": "Nova Versão v{{version}}",
|
||||
"actions": {
|
||||
"goToRelease": "Ir para a Página da Release",
|
||||
"update": "Atualizar"
|
||||
},
|
||||
"messages": {
|
||||
"breakChangeError": "Esta versão é uma atualização importante e não oferece suporte a atualizações dentro do aplicativo. Desinstale-a e baixe e instale a nova versão manualmente",
|
||||
"available": "Uma nova versão está disponível"
|
||||
},
|
||||
"alerts": {
|
||||
"note": "Nota",
|
||||
"tip": "Dica",
|
||||
"important": "Importante",
|
||||
"warning": "Aviso",
|
||||
"caution": "Cuidado"
|
||||
}
|
||||
},
|
||||
"sysproxy": {
|
||||
"title": "Configurações do Proxy do Sistema",
|
||||
"fieldsets": {
|
||||
"currentStatus": "Proxy do Sistema Atual"
|
||||
},
|
||||
"fields": {
|
||||
"enableStatus": "Status de Ativação:",
|
||||
"serverAddr": "Endereço do Servidor: ",
|
||||
"pacUrl": "URL do PAC: ",
|
||||
"proxyHost": "Host do Proxy",
|
||||
"usePacMode": "Usar Modo PAC",
|
||||
"proxyGuard": "Proteção do Proxy",
|
||||
"guardDuration": "Duração da Proteção",
|
||||
"alwaysUseDefaultBypass": "Sempre usar o Bypass Padrão",
|
||||
"enableBypassCheck": "Validar Formato do Bypass do Proxy",
|
||||
"proxyBypass": "Configurações de Bypass do Proxy: ",
|
||||
"bypass": "Bypass: ",
|
||||
"pacScriptContent": "Conteúdo do Script PAC"
|
||||
},
|
||||
"tooltips": {
|
||||
"proxyGuard": "Ative para impedir que outros softwares modifiquem as configurações de proxy do sistema operacional"
|
||||
},
|
||||
"messages": {
|
||||
"durationTooShort": "A duração do daemon do proxy não pode ser menor que 1 segundo",
|
||||
"invalidBypass": "Formato de Bypass inválido",
|
||||
"invalidProxyHost": "Formato de host do proxy inválido"
|
||||
},
|
||||
"actions": {
|
||||
"editPac": "Editar PAC"
|
||||
}
|
||||
},
|
||||
"tun": {
|
||||
"title": "Modo Tun",
|
||||
"fields": {
|
||||
"stack": "Stack do Tun",
|
||||
"device": "Nome do Dispositivo",
|
||||
"autoRoute": "Rota Automática",
|
||||
"routeExcludeAddress": "Endereços Excluídos da Rota",
|
||||
"strictRoute": "Rota Estrita",
|
||||
"autoDetectInterface": "Detectar Interface Automaticamente",
|
||||
"dnsHijack": "Sequestro de DNS",
|
||||
"mtu": "Unidade Máxima de Transmissão",
|
||||
"autoRedirect": "Redirecionamento Automático"
|
||||
},
|
||||
"tooltips": {
|
||||
"dnsHijack": "Use , para separar vários servidores DNS",
|
||||
"autoRedirect": "Configura automaticamente os redirecionamentos TCP do nftables/iptables"
|
||||
},
|
||||
"messages": {
|
||||
"applied": "Configurações Aplicadas",
|
||||
"invalidRouteExcludeAddress": "Insira um bloco CIDR válido",
|
||||
"routeExcludeAddressHint": "Somente CIDR IPv4/IPv6 é suportado, como 192.168.0.0/16 ou fd00::/8"
|
||||
}
|
||||
},
|
||||
"dns": {
|
||||
"dialog": {
|
||||
"title": "Sobrescrever DNS",
|
||||
"profileScope": "A opção de sobrescrever DNS é salva separadamente para cada perfil e se aplica somente a esse perfil.",
|
||||
"warning": "Se você não está familiarizado com estas configurações, não as modifique e mantenha a Sobrescrita de DNS desativada"
|
||||
},
|
||||
"protection": {
|
||||
"title": "Ativar Sobrescrita de DNS?",
|
||||
"message": "Esta assinatura contém configurações de DNS personalizadas. A Sobrescrita de DNS pode substituí-las, impedindo que os nós se conectem ou que alguns sites sejam carregados. Ativar mesmo assim?",
|
||||
"enableAnyway": "Ativar mesmo assim",
|
||||
"keepDisabled": "Manter desativada",
|
||||
"autoDisabled": "A Sobrescrita de DNS foi desativada para preservar as configurações de DNS personalizadas da assinatura atual."
|
||||
},
|
||||
"sections": {
|
||||
"general": "Configurações de DNS",
|
||||
"fallbackFilter": "Configurações do Filtro de Fallback",
|
||||
"hosts": "Configurações de Hosts"
|
||||
},
|
||||
"fields": {
|
||||
"enable": "Ativar DNS",
|
||||
"listen": "Escuta do DNS",
|
||||
"enhancedMode": "Modo Aprimorado",
|
||||
"fakeIpRange": "Intervalo de Fake IP",
|
||||
"fakeIpRange6": "Intervalo de Fake IP (IPv6)",
|
||||
"fakeIpFilterMode": "Modo do Filtro de Fake IP",
|
||||
"ipv6": {
|
||||
"label": "IPv6",
|
||||
"description": "Ativar resolução DNS IPv6"
|
||||
},
|
||||
"preferH3": {
|
||||
"label": "Preferir H3",
|
||||
"description": "O DNS DOH usa HTTP/3"
|
||||
},
|
||||
"respectRules": {
|
||||
"label": "Respeitar Regras",
|
||||
"description": "As conexões DNS seguem as regras de roteamento"
|
||||
},
|
||||
"useHosts": {
|
||||
"label": "Usar Hosts",
|
||||
"description": "Ative para resolver hosts por meio do arquivo hosts"
|
||||
},
|
||||
"useSystemHosts": {
|
||||
"label": "Usar Hosts do Sistema",
|
||||
"description": "Ative para resolver hosts por meio do arquivo hosts do sistema"
|
||||
},
|
||||
"directPolicy": {
|
||||
"label": "Nameserver Direto Segue a Política",
|
||||
"description": "Define se deve seguir a política de nameserver"
|
||||
},
|
||||
"defaultNameserver": {
|
||||
"label": "Nameserver Padrão",
|
||||
"description": "Servidores DNS padrão usados para resolver servidores DNS"
|
||||
},
|
||||
"nameserver": {
|
||||
"label": "Nameserver",
|
||||
"description": "Lista de servidores DNS, separados por vírgula"
|
||||
},
|
||||
"fallback": {
|
||||
"label": "Fallback",
|
||||
"description": "Lista de servidores DNS de fallback, separados por vírgula"
|
||||
},
|
||||
"proxy": {
|
||||
"label": "Nameserver do Servidor Proxy",
|
||||
"description": "Servidores DNS para resolução de domínios dos nós de proxy"
|
||||
},
|
||||
"directNameserver": {
|
||||
"label": "Nameserver Direto",
|
||||
"description": "Servidores DNS para resolução de domínios de saída direta, suporta a palavra-chave 'system', separados por vírgula"
|
||||
},
|
||||
"fakeIpFilter": {
|
||||
"label": "Filtro de Fake IP",
|
||||
"description": "Domínios que ignoram a resolução de fake IP, separados por vírgula"
|
||||
},
|
||||
"nameserverPolicy": {
|
||||
"label": "Política de Nameserver",
|
||||
"description": "Servidor DNS específico por domínio, vários servidores separados por ponto e vírgula, formato: domínio=servidor1;servidor2"
|
||||
},
|
||||
"geoipFiltering": {
|
||||
"label": "Filtragem GeoIP",
|
||||
"description": "Ativar filtragem GeoIP para o fallback"
|
||||
},
|
||||
"geoipCode": "Código GeoIP",
|
||||
"fallbackIpCidr": {
|
||||
"label": "CIDR de IP do Fallback",
|
||||
"description": "CIDRs de IP que não usam servidores de fallback, separados por vírgula"
|
||||
},
|
||||
"fallbackDomain": {
|
||||
"label": "Domínio do Fallback",
|
||||
"description": "Domínios que usam servidores de fallback, separados por vírgula"
|
||||
},
|
||||
"hosts": {
|
||||
"label": "Hosts",
|
||||
"description": "Mapeamento personalizado de domínio para IP ou domínio"
|
||||
}
|
||||
},
|
||||
"messages": {
|
||||
"saved": "Configurações de DNS salvas",
|
||||
"configError": "Erro na configuração de DNS:"
|
||||
},
|
||||
"errors": {
|
||||
"invalid": "Configuração inválida",
|
||||
"invalidYaml": "Formato YAML inválido"
|
||||
}
|
||||
},
|
||||
"webUI": {
|
||||
"actions": {
|
||||
"openUrl": "Abrir URL"
|
||||
},
|
||||
"title": "Web UI",
|
||||
"messages": {
|
||||
"supportedPlaceholders": "Suporta %host, %port, %secret",
|
||||
"placeholderInstruction": "Substitua host, port, secret por %host, %port, %secret"
|
||||
},
|
||||
"errors": {
|
||||
"clashInfoUnavailable": "As informações de conexão do núcleo não estão disponíveis",
|
||||
"invalidServer": "O endereço do servidor do núcleo \"{{server}}\" é inválido",
|
||||
"openFailed": "Falha ao abrir a Web UI"
|
||||
}
|
||||
},
|
||||
"hotkey": {
|
||||
"toggles": {
|
||||
"enableGlobal": "Ativar Atalho Global"
|
||||
},
|
||||
"title": "Configurações de Atalhos",
|
||||
"functions": {
|
||||
"rule": "Modo Regra",
|
||||
"global": "Modo Global",
|
||||
"openOrCloseDashboard": "Abrir/Fechar Painel",
|
||||
"toggleSystemProxy": "Ativar/Desativar Proxy do Sistema",
|
||||
"toggleTunMode": "Ativar/Desativar Modo Tun",
|
||||
"entryLightweightMode": "Entrar no Modo Leve",
|
||||
"direct": "Modo Direto",
|
||||
"reactivateProfiles": "Reativar Perfis"
|
||||
}
|
||||
},
|
||||
"networkInterface": {
|
||||
"title": "Interface de Rede",
|
||||
"fields": {
|
||||
"ipAddress": "Endereço IP",
|
||||
"macAddress": "Endereço MAC"
|
||||
}
|
||||
}
|
||||
},
|
||||
"feedback": {
|
||||
"errors": {
|
||||
"clash": {
|
||||
"configUpdateFailed": "Falha ao atualizar a configuração do núcleo",
|
||||
"modeUpdateFailed": "Falha ao alterar o modo de proxy",
|
||||
"restartFailed": "Falha ao reiniciar o núcleo",
|
||||
"startFailed": "Falha ao iniciar o núcleo",
|
||||
"serviceCoreStopped": "O núcleo do serviço parou inesperadamente",
|
||||
"stopFailed": "Falha ao parar o núcleo"
|
||||
},
|
||||
"clashService": {
|
||||
"installFailed": "Falha ao instalar o serviço",
|
||||
"uninstallFailed": "Falha ao desinstalar o serviço",
|
||||
"reinstallFailed": "Falha ao reinstalar o serviço",
|
||||
"repairFailed": "Falha ao reparar o serviço",
|
||||
"sidecarFailed": "Falha ao continuar com o Sidecar",
|
||||
"coreAlreadyRunning": "Não foi possível iniciar o modo normal (Sidecar): outro núcleo ainda está em execução (PID {{pid}}). Saia das outras instâncias do Clash Verge ou do aplicativo que usa este núcleo e tente novamente."
|
||||
},
|
||||
"sysproxy": {
|
||||
"privilegeRequired": "Não é possível definir o proxy do sistema: o macOS recusou a alteração por falta de privilégios. Instale o serviço do Clash Verge; um administrador também pode desativar a exigência de senha de administrador para configurações do sistema, nas opções avançadas em Ajustes do Sistema → Privacidade e Segurança.",
|
||||
"directFallback": "Falha ao definir o proxy do sistema; o tráfego foi revertido para conexão direta.",
|
||||
"guardStopped": "A proteção do proxy do sistema parou após falhar várias vezes ao executar. O proxy do sistema não está mais sendo mantido.",
|
||||
"sidecarWhileServiceReady": "Não foi possível definir o proxy do sistema porque o núcleo ainda está em execução como Sidecar, embora o serviço do Clash Verge esteja pronto. Reinicie o núcleo para mudar para o modo serviço.",
|
||||
"coreNotReady": "Não foi possível ativar o proxy do sistema porque o núcleo não está em execução. Inicie o núcleo (ou instale/repare o serviço do Clash Verge) e tente novamente.",
|
||||
"systemCallFailed": "Não foi possível gravar o proxy do sistema porque uma chamada de sistema do Windows falhou. Geralmente é temporário, então tente novamente."
|
||||
}
|
||||
},
|
||||
"notifications": {
|
||||
"clash": {
|
||||
"restartSuccess": "Núcleo do Clash Reiniciado",
|
||||
"versionUpdated": "Versão do Núcleo Atualizada",
|
||||
"alreadyLatestVersion": "Já Está Usando a Versão Mais Recente do Núcleo",
|
||||
"changeSuccess": "Núcleo alterado com sucesso",
|
||||
"changeFailed": "Falha ao alterar o núcleo",
|
||||
"geoDataUpdated": "GeoData Atualizado"
|
||||
},
|
||||
"clashService": {
|
||||
"appDataNotOwned": "O serviço se recusou a iniciar o núcleo porque, no disco, a pasta de dados do aplicativo não pertence à sua conta (comum quando a pasta pessoal está em um disco externo). Reparar o serviço não resolverá isso. Execute este comando em um terminal e reinicie o aplicativo:",
|
||||
"installSuccess": "Serviço Instalado com Sucesso",
|
||||
"permissionFallback": "{{reason}} Mudou para o modo normal (Sidecar); o TUN requer privilégios de administrador. Siga o guia para corrigir e reinstalar o serviço. Se preferir não corrigir ou não souber como, execute o aplicativo como administrador sem instalar o serviço.",
|
||||
"permissionWritableReason": "Contas comuns podem modificar os arquivos do núcleo ou uma pasta superior, então o serviço se recusou a executar o núcleo com privilégios elevados.",
|
||||
"permissionRejectedReason": "O serviço não conseguiu confirmar que os arquivos e pastas do núcleo são seguros para execução com privilégios elevados.",
|
||||
"permissionRepairGuide": "Ver instruções de reparo",
|
||||
"sidecarFallback": "O serviço não conseguiu iniciar o núcleo. Mudou para o modo Sidecar; o serviço continua indisponível.",
|
||||
"uninstallSuccess": "Serviço Desinstalado com Sucesso"
|
||||
},
|
||||
"updater": {
|
||||
"withClashProxySuccess": "Atualização com o proxy do Clash concluída com sucesso",
|
||||
"withClashProxyFailed": "A atualização falhou mesmo com o proxy do Clash"
|
||||
}
|
||||
}
|
||||
},
|
||||
"statuses": {
|
||||
"clash": {
|
||||
"stopping": "Parando o Núcleo...",
|
||||
"restarting": "Reiniciando o Núcleo..."
|
||||
},
|
||||
"clashService": {
|
||||
"installing": "Instalando o Serviço...",
|
||||
"uninstalling": "Desinstalando o Serviço..."
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,139 @@
|
||||
{
|
||||
"actions": {
|
||||
"cancel": "Cancelar",
|
||||
"close": "Fechar",
|
||||
"confirm": "Confirmar",
|
||||
"save": "Salvar",
|
||||
"delete": "Excluir",
|
||||
"edit": "Editar",
|
||||
"new": "Novo",
|
||||
"enable": "Ativar",
|
||||
"upgrade": "Atualizar versão",
|
||||
"restart": "Reiniciar",
|
||||
"resetToDefault": "Restaurar padrão",
|
||||
"refresh": "Atualizar",
|
||||
"retry": "Tentar novamente",
|
||||
"refreshPage": "Recarregar página",
|
||||
"showDetails": "Mostrar detalhes",
|
||||
"hideDetails": "Ocultar detalhes",
|
||||
"listView": "Visualização em lista",
|
||||
"tableView": "Visualização em tabela",
|
||||
"pause": "Pausar",
|
||||
"resume": "Retomar",
|
||||
"closeAll": "Fechar tudo",
|
||||
"clear": "Limpar",
|
||||
"previous": "Anterior",
|
||||
"next": "Próximo",
|
||||
"check": "Verificar"
|
||||
},
|
||||
"labels": {
|
||||
"updateAt": "Atualizado em",
|
||||
"timeout": "Tempo limite",
|
||||
"icon": "Ícone",
|
||||
"name": "Nome",
|
||||
"readOnly": "Somente leitura",
|
||||
"expireTime": "Expira em",
|
||||
"updateTime": "Hora da atualização",
|
||||
"usedTotal": "Usado / Total",
|
||||
"from": "De",
|
||||
"password": "Senha",
|
||||
"retryAttempts": "Tentativas",
|
||||
"downloaded": "Baixado",
|
||||
"uploaded": "Enviado"
|
||||
},
|
||||
"statuses": {
|
||||
"enabled": "Ativado",
|
||||
"disabled": "Desativado",
|
||||
"saving": "Salvando...",
|
||||
"empty": "Vazio",
|
||||
"loading": "Carregando..."
|
||||
},
|
||||
"units": {
|
||||
"milliseconds": "ms",
|
||||
"seconds": "segundos",
|
||||
"minutes": "min",
|
||||
"hours": "h",
|
||||
"kilobytes": "KB",
|
||||
"files": "Arquivos"
|
||||
},
|
||||
"placeholders": {
|
||||
"resetInput": "Limpar entrada",
|
||||
"filter": "Condições do filtro",
|
||||
"matchCase": "Diferenciar maiúsculas",
|
||||
"matchWholeWord": "Palavra inteira",
|
||||
"useRegex": "Usar expressão regular"
|
||||
},
|
||||
"validation": {
|
||||
"invalidRegex": "Expressão regular inválida"
|
||||
},
|
||||
"window": {
|
||||
"maximize": "Maximizar",
|
||||
"minimize": "Minimizar"
|
||||
},
|
||||
"editorModes": {
|
||||
"visualization": "Visualização",
|
||||
"advanced": "Avançado"
|
||||
},
|
||||
"feedback": {
|
||||
"errors": {
|
||||
"unexpected": "Algo deu errado",
|
||||
"label": "Erro",
|
||||
"unknown": "Erro desconhecido",
|
||||
"details": "Detalhes do erro",
|
||||
"stack": "Pilha de erros",
|
||||
"componentStack": "Pilha de componentes",
|
||||
"trafficUnavailable": "Dados de tráfego indisponíveis",
|
||||
"operationFailed": "A operação falhou",
|
||||
"trafficStats": "Erro nas estatísticas de tráfego",
|
||||
"trafficStatsDescription": "O componente de estatísticas de tráfego encontrou um erro e foi desativado para evitar falhas."
|
||||
},
|
||||
"notices": {
|
||||
"raw": "{{message}}",
|
||||
"prefixedRaw": "{{prefix}} {{message}}"
|
||||
},
|
||||
"notifications": {
|
||||
"importSuccess": "Perfil importado com sucesso",
|
||||
"importSubscriptionSuccess": "Assinatura importada com sucesso",
|
||||
"importWithClashProxy": "Perfil importado com o proxy do Clash",
|
||||
"updateAvailable": "Atualização disponível",
|
||||
"saved": "Salvo com sucesso",
|
||||
"common": {
|
||||
"copySuccess": "Copiado com sucesso",
|
||||
"saveSuccess": "Configuração salva com sucesso",
|
||||
"saveFailed": "Falha ao salvar a configuração",
|
||||
"refreshFailed": "Falha ao atualizar; exibindo o último valor carregado"
|
||||
}
|
||||
},
|
||||
"validation": {
|
||||
"config": {
|
||||
"failed": "A validação da configuração da assinatura falhou. Verifique o arquivo de configuração da assinatura; as modificações foram revertidas.",
|
||||
"bootFailed": "A validação da configuração da assinatura na inicialização falhou. Iniciado com a configuração padrão; verifique o arquivo de configuração da assinatura.",
|
||||
"processTerminated": "O processo de validação foi encerrado. Verifique se algum software de segurança está impedindo a execução do núcleo ou se a CPU e o ambiente de execução do seu computador são compatíveis com o executável do núcleo."
|
||||
},
|
||||
"script": {
|
||||
"syntaxError": "Erro de sintaxe no script, alterações revertidas",
|
||||
"missingMain": "Erro no script, alterações revertidas",
|
||||
"fileNotFound": "Arquivo ausente, alterações revertidas",
|
||||
"fileError": "Erro no arquivo de script, alterações revertidas"
|
||||
},
|
||||
"yaml": {
|
||||
"syntaxError": "Erro de sintaxe YAML, alterações revertidas",
|
||||
"readError": "Erro de leitura YAML, alterações revertidas",
|
||||
"mappingError": "Erro de mapeamento YAML, alterações revertidas"
|
||||
},
|
||||
"merge": {
|
||||
"syntaxError": "Erro de sintaxe no arquivo de mesclagem, alterações revertidas",
|
||||
"mappingError": "Erro de mapeamento no arquivo de mesclagem, alterações revertidas"
|
||||
}
|
||||
}
|
||||
},
|
||||
"filters": {
|
||||
"logLevels": {
|
||||
"all": "ALL",
|
||||
"debug": "DEBUG",
|
||||
"info": "INFO",
|
||||
"warn": "WARN",
|
||||
"error": "ERROR"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,60 @@
|
||||
{
|
||||
"page": {
|
||||
"actions": {
|
||||
"testAll": "Testar tudo"
|
||||
},
|
||||
"title": "Testar"
|
||||
},
|
||||
"components": {
|
||||
"item": {
|
||||
"actions": {
|
||||
"test": "Testar"
|
||||
}
|
||||
}
|
||||
},
|
||||
"modals": {
|
||||
"test": {
|
||||
"title": {
|
||||
"create": "Criar teste",
|
||||
"edit": "Editar teste"
|
||||
},
|
||||
"fields": {
|
||||
"url": "URL de teste"
|
||||
},
|
||||
"errors": {
|
||||
"nameRequired": "Informe um nome",
|
||||
"urlRequired": "Informe uma URL de teste",
|
||||
"invalidSvg": "O ícone não é um SVG válido",
|
||||
"uidMissing": "O identificador do item de teste está ausente",
|
||||
"saveFailed": "Falha ao salvar o item de teste"
|
||||
}
|
||||
}
|
||||
},
|
||||
"statuses": {
|
||||
"test": {
|
||||
"pending": "Pendente",
|
||||
"yes": "Sim",
|
||||
"no": "Não",
|
||||
"failed": "Falhou",
|
||||
"completed": "Concluído",
|
||||
"disallowedIsp": "ISP não permitido",
|
||||
"originalsOnly": "Somente originais",
|
||||
"noDisney": "Não (IP banido pelo Disney+)",
|
||||
"unsupportedRegion": "País/região não suportado",
|
||||
"failedNetwork": "Falhou (conexão de rede)"
|
||||
}
|
||||
},
|
||||
"unlock": {
|
||||
"page": {
|
||||
"actions": {
|
||||
"testing": "Testando..."
|
||||
},
|
||||
"empty": "Nenhum item de teste de desbloqueio",
|
||||
"messages": {
|
||||
"detectionFailedWithName": "Falha na detecção de {{name}}",
|
||||
"detectionTimeout": "Tempo limite da detecção esgotado ou falhou"
|
||||
},
|
||||
"title": "Teste de desbloqueio"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -15,6 +15,7 @@ export const supportedLanguages = [
|
||||
'es',
|
||||
'jp',
|
||||
'zhtw',
|
||||
'pt',
|
||||
]
|
||||
|
||||
export const FALLBACK_LANGUAGE = 'zh'
|
||||
|
||||
Reference in New Issue
Block a user