Skip to content

Commit f1fac05

Browse files
feat: 新增葡萄牙语翻译 (#744)
Co-authored-by: ayang <473033518@qq.com>
1 parent 6554508 commit f1fac05

File tree

5 files changed

+185
-2
lines changed

5 files changed

+185
-2
lines changed

src-tauri/tauri.windows.conf.json

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,12 @@
77
"languages": [
88
"English",
99
"Vietnamese",
10-
"SimpChinese"
10+
"SimpChinese",
11+
"PortugueseBR"
1112
],
1213
"installMode": "both",
1314
"displayLanguageSelector": true
1415
}
1516
}
1617
}
17-
}
18+
}

src/constants/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,4 +21,5 @@ export const LANGUAGE = {
2121
ZH_CN: 'zh-CN',
2222
EN_US: 'en-US',
2323
VI_VN: 'vi-VN',
24+
PT_BR: 'pt-BR',
2425
} as const

src/locales/index.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,13 @@ import type { Language } from '@/stores/general'
22
import type { Locale as AntdLocale } from 'ant-design-vue/es/locale'
33

44
import antdEnUS from 'ant-design-vue/locale/en_US'
5+
import antdPtBR from 'ant-design-vue/locale/pt_BR'
56
import antdViVN from 'ant-design-vue/locale/vi_VN'
67
import antdZhCN from 'ant-design-vue/locale/zh_CN'
78
import { createI18n } from 'vue-i18n'
89

910
import enUS from './en-US.json'
11+
import ptBR from './pt-BR.json'
1012
import viVN from './vi-VN.json'
1113
import zhCN from './zh-CN.json'
1214

@@ -20,6 +22,7 @@ export const i18n = createI18n({
2022
[LANGUAGE.ZH_CN]: zhCN,
2123
[LANGUAGE.EN_US]: enUS,
2224
[LANGUAGE.VI_VN]: viVN,
25+
[LANGUAGE.PT_BR]: ptBR,
2326
},
2427
})
2528

@@ -28,6 +31,7 @@ export function getAntdLocale(language: Language = LANGUAGE.EN_US) {
2831
[LANGUAGE.ZH_CN]: antdZhCN,
2932
[LANGUAGE.EN_US]: antdEnUS,
3033
[LANGUAGE.VI_VN]: antdViVN,
34+
[LANGUAGE.PT_BR]: antdPtBR,
3135
}
3236

3337
return antdLanguage[language]

src/locales/pt-BR.json

Lines changed: 174 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,174 @@
1+
{
2+
"pages": {
3+
"main": {
4+
"hints": {
5+
"redrawing": "Redimensionando..."
6+
}
7+
},
8+
"preference": {
9+
"title": "Preferências",
10+
"cat": {
11+
"title": "Gato",
12+
"labels": {
13+
"modelSettings": "Configurações do Modelo",
14+
"mirrorMode": "Modo Espelho",
15+
"singleMode": "Mostrar Apenas Última Tecla",
16+
"mouseMirror": "Espelho do Mouse",
17+
"windowSettings": "Configurações da Janela",
18+
"passThrough": "Janela Transparente",
19+
"alwaysOnTop": "Sempre no Topo",
20+
"windowSize": "Tamanho da Janela",
21+
"windowRadius": "Raio da Janela",
22+
"opacity": "Opacidade",
23+
"autoReleaseDelay": "Atraso de Liberação Automática",
24+
"hideOnHover": "Ocultar ao Passar o Mouse"
25+
},
26+
"hints": {
27+
"mirrorMode": "Quando ativado, o modelo será invertido horizontalmente.",
28+
"singleMode": "Quando ativado, apenas a última tecla pressionada em cada mão é exibida (evita mostrar múltiplas mãos ao pressionar várias teclas ao mesmo tempo).",
29+
"mouseMirror": "Quando ativado, o mouse espelhará o movimento da mão.",
30+
"passThrough": "Quando ativado, a janela não afetará operações em outros aplicativos.",
31+
"alwaysOnTop": "Quando ativado, a janela sempre ficará acima de outros aplicativos.",
32+
"windowSize": "Mova o mouse para a borda da janela ou segure Shift e arraste com o botão direito para redimensionar.",
33+
"autoReleaseDelay": "Devido ao Windows não capturar eventos de liberação de certas teclas de nível do sistema, elas serão automaticamente tratadas como liberadas após um tempo limite.",
34+
"hideOnHover": "Quando ativado, a janela será ocultada quando o mouse passar sobre ela."
35+
}
36+
},
37+
"general": {
38+
"title": "Geral",
39+
"labels": {
40+
"appSettings": "Configurações do aplicativo",
41+
"launchOnStartup": "Iniciar na inicialização",
42+
"showTaskbarIcon": "Mostrar ícone na barra de tarefas",
43+
"appearanceSettings": "Configurações de aparência",
44+
"themeMode": "Tema",
45+
"language": "Idiomas",
46+
"updateSettings": "Configurações de atualização",
47+
"autoCheckUpdate": "Verificar atualizações automaticamente",
48+
"permissionsSettings": "Configurações de Permissões",
49+
"inputMonitoringPermission": "Permissão de Monitoramento de Entrada"
50+
},
51+
"options": {
52+
"auto": "Sistema",
53+
"lightMode": "Claro",
54+
"darkMode": "Escuro"
55+
},
56+
"hints": {
57+
"showTaskbarIcon": "Uma vez ativado, você pode capturar a janela via OBS Studio.",
58+
"inputMonitoringPermission": "Ative a permissão de monitoramento de entrada para receber eventos de teclado e mouse do sistema para responder às suas ações.",
59+
"inputMonitoringPermissionGuide": "Se a permissão já estiver ativada, primeiro selecione-a e clique no botão \"-\" para removê-la. Em seguida, adicione-a novamente manualmente e reinicie o aplicativo para garantir que a permissão entre em vigor."
60+
},
61+
"status": {
62+
"authorized": "Autorizado",
63+
"authorize": "Ir para Ativar"
64+
},
65+
"buttons": {
66+
"openNow": "Abrir Agora",
67+
"openLater": "Abrir Mais Tarde"
68+
}
69+
},
70+
"model": {
71+
"title": "Modelo",
72+
"labels": {
73+
"deleteModel": "Excluir modelo"
74+
},
75+
"hints": {
76+
"deleteSuccess": "Excluído com sucesso",
77+
"deleteModel": "Tem certeza de que deseja excluir este modelo?",
78+
"importSuccess": "Importação bem-sucedida",
79+
"clickOrDragToImport": "Clique ou arraste para importar"
80+
},
81+
"tooltips": {
82+
"createModel": "Criar modelo",
83+
"convertModel": "Converter modelo",
84+
"moreModels": "Mais modelos"
85+
}
86+
},
87+
"shortcut": {
88+
"title": "Atalhos",
89+
"labels": {
90+
"toggleCat": "Mostrar/Ocultar Gato",
91+
"togglePreferences": "Abrir Preferências",
92+
"mirrorMode": "Modo Espelho",
93+
"passThrough": "Janela Transparente",
94+
"alwaysOnTop": "Sempre no Topo"
95+
},
96+
"hints": {
97+
"toggleCat": "Alternar a visibilidade da janela do gato.",
98+
"togglePreferences": "Alternar a visibilidade da janela de preferências.",
99+
"mirrorMode": "Alternar o modo espelho do gato.",
100+
"passThrough": "Alternar se a janela do gato é clicável.",
101+
"alwaysOnTop": "Alternar se a janela do gato permanece no topo."
102+
}
103+
},
104+
"about": {
105+
"title": "Sobre",
106+
"labels": {
107+
"aboutApp": "Sobre o Aplicativo",
108+
"appLog": "Logs do Aplicativo",
109+
"appInfo": "Informações do Aplicativo",
110+
"openSource": "Código Aberto"
111+
},
112+
"hints": {
113+
"appInfo": "Copiar informações do aplicativo para incluir em relatórios de bugs.",
114+
"copySuccess": "Copiado com sucesso"
115+
},
116+
"buttons": {
117+
"checkUpdate": "Verificar atualizações",
118+
"copy": "Copiar",
119+
"feedbackIssues": "Reportar Problema",
120+
"viewLog": "Ver Logs"
121+
}
122+
}
123+
}
124+
},
125+
"components": {
126+
"proShortcut": {
127+
"hints": {
128+
"pressRecordShortcut": "Pressione as teclas para gravar atalho",
129+
"clickRecordShortcut": "Clique para gravar atalho"
130+
},
131+
"updateApp": {
132+
"title": "Nova versão encontrada 🥳",
133+
"labels": {
134+
"updateVersion": "Versão: ",
135+
"updateTime": "Hora da atualização: ",
136+
"changelog": "Registro de alterações: "
137+
},
138+
"hints": {
139+
"checkingUpdates": "Verificando atualizações...",
140+
"alreadyLatest": "Você já está na versão mais recente 🎉"
141+
},
142+
"buttons": {
143+
"updateNow": "Atualizar Agora",
144+
"updateLater": "Atualizar mais tarde"
145+
}
146+
}
147+
}
148+
},
149+
"composables": {
150+
"useSharedMenu": {
151+
"labels": {
152+
"preference": "Preferências...",
153+
"hideCat": "Ocultar Gato",
154+
"showCat": "Mostrar Gato",
155+
"passThrough": "Janela Transparente",
156+
"windowSize": "Tamanho da Janela",
157+
"opacity": "Opacidade"
158+
}
159+
},
160+
"useTray": {
161+
"checkUpdate": "Verificar atualizações",
162+
"openSource": "Código Fonte",
163+
"restartApp": "Reiniciar",
164+
"quitApp": "Sair"
165+
}
166+
},
167+
"utils": {
168+
"live2d": {
169+
"errors": {
170+
"notFoundMainConfig": "Arquivo de configuração principal do modelo não encontrado. Verifique se os arquivos do modelo estão completos."
171+
}
172+
}
173+
}
174+
}

src/pages/preference/components/general/index.vue

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,9 @@ watch(() => generalStore.app.autostart, async (value) => {
5555
<Select.Option value="vi-VN">
5656
Tiếng Việt
5757
</Select.Option>
58+
<Select.Option value="pt-BR">
59+
Português
60+
</Select.Option>
5861
</Select>
5962
</ProListItem>
6063
</ProList>

0 commit comments

Comments
 (0)