feat(i18n): update pt-br and add pt-pt

- correct trasnlations for pt-br
- add app traslations for pt-pt
- update index to import and include config for pt-pt
- solves #247

Signed-off-by: João Pedro Sconetto <sconetto.joao@gmail.com>
This commit is contained in:
João Pedro Sconetto 2025-05-11 16:34:38 -03:00
parent e78cef2190
commit 99faf29107
3 changed files with 161 additions and 33 deletions

View File

@ -1,5 +1,6 @@
import US_EN from './locales/us-en';
import PT_BR from './locales/pt-br';
import PT_PT from './locales/pt-pt';
export type I18N = typeof US_EN;
@ -9,6 +10,7 @@ export type I18NDeepPartial = {
export const LOCALE_TEXT: Record<string, I18NDeepPartial | undefined> = {
'pt-br': PT_BR,
'pt-pt': PT_PT,
};
export const getTextForLocale = (

View File

@ -8,7 +8,7 @@ const TEXT: I18NDeepPartial = {
taken: 'Capturado',
created: 'Criado',
updated: 'Atualizado',
copied: 'Link para foto copiado',
copied: 'Link para a foto copiada',
},
category: {
camera: 'Câmera',
@ -19,30 +19,30 @@ const TEXT: I18NDeepPartial = {
lensPlural: 'Lentes',
tag: 'Tag',
tagPlural: 'Tags',
taggedPhotos: 'Fotos Marcadas',
taggedPhotos: 'Fotos marcadas',
taggedPhrase: (tag: string) => `Fotos marcadas com '${tag}'`,
taggedFavs: 'Fotos Favoritas',
taggedFavs: 'Fotos favoritas',
recipe: 'Receita',
recipePlural: 'Receitas',
recipeShare: (recipe: string) => `Fotos da receita ${recipe}`,
film: 'Filme',
filmPlural: 'Filmes',
filmShare: (film: string) => `Fotos tiradas com ${film}`,
focalLength: 'Distância Focal',
focalLengthPlural: 'Distâncias Focais',
focalLengthTitle: (focal: string) => `Distância Focal ${focal}`,
focalLength: 'Distância focal',
focalLengthPlural: 'Distâncias focais',
focalLengthTitle: (focal: string) => `Distância focal ${focal}`,
focalLengthShare: (focal: string) => `Fotos tiradas em ${focal}`,
},
nav: {
home: 'Início',
feed: 'Feed',
grid: 'Grade',
admin: 'Menu de Admin',
admin: 'Menu de administrador',
search: 'Pesquisar',
prev: 'Anterior',
prevShort: 'Ant',
next: 'Próximo',
nextShort: 'Prox',
nextShort: 'Próx',
},
cmdk: {
placeholder: 'Pesquisar fotos, visualizações, configurações ...',
@ -50,12 +50,12 @@ const TEXT: I18NDeepPartial = {
noResults: 'Nenhum resultado encontrado',
},
tooltip: {
'35mm': 'Equivalente 35mm',
zoom: 'Aumentar Zoom',
'35mm': 'Equivalente em 35mm',
zoom: 'Aumentar zoom',
sharePhoto: 'Compartilhar Foto',
recipeInfo: 'Informações da Receita',
recipeCopy: 'Copiar Texto da Receita',
download: 'Baixar Arquivo Original',
recipeInfo: 'Informações da receita',
recipeCopy: 'Copiar texto da receita',
download: 'Baixar arquivo original',
},
theme: {
theme: 'Tema',
@ -66,39 +66,39 @@ const TEXT: I18NDeepPartial = {
auth: {
signIn: 'Entrar',
signOut: 'Sair',
email: 'Email do Admin',
password: 'Senha do Admin',
email: 'Email do administrador',
password: 'Senha do administrador',
invalidEmailPassword: 'Email/senha inválidos',
},
admin: {
uploadPhotos: 'Enviar Fotos',
uploadPhotos: 'Enviar fotos',
upload: 'Enviar',
uploadPlural: 'Envios',
uploading: 'Enviando',
update: 'Atualizar',
updatePlural: 'Atualizações',
managePhotos: 'Gerenciar Fotos',
manageCameras: 'Gerenciar Câmeras',
manageLenses: 'Gerenciar Lentes',
manageTags: 'Gerenciar Tags',
manageRecipes: 'Gerenciar Receitas',
batchEdit: 'Editar Fotos em Lote ...',
batchEditShort: 'Editar em Lote ...',
batchExitEdit: 'Sair da Edição em Lote',
appInsights: 'Insights do App',
appConfig: 'Configuração do App',
managePhotos: 'Gerenciar fotos',
manageCameras: 'Gerenciar câmeras',
manageLenses: 'Gerenciar lentes',
manageTags: 'Gerenciar tags',
manageRecipes: 'Gerenciar receitas',
batchEdit: 'Editar fotos em massa ...',
batchEditShort: 'Editar em massa ...',
batchExitEdit: 'Sair da edição em massa',
appInsights: 'Insights do aplicativo',
appConfig: 'Configuração da aplicação',
edit: 'Editar',
favorite: 'Favoritar',
unfavorite: 'Remover dos Favoritos',
unfavorite: 'Remover dos favoritos',
download: 'Baixar',
sync: 'Sincronizar',
delete: 'Excluir',
deleteConfirm: (photoTitle: string) =>
`Tem certeza que deseja excluir "${photoTitle}"?`,
`Tem certeza de que deseja excluir "${photoTitle}"?`,
},
onboarding: {
setupComplete: 'Configuração Concluída!',
setupIncomplete: 'Finalizar Configuração',
setupComplete: 'Configuração concluída!',
setupIncomplete: 'Finalizar configuração',
setupSignIn: 'Entre para enviar fotos',
setupFirstPhoto: 'Adicione sua primeira foto',
// eslint-disable-next-line max-len

126
src/i18n/locales/pt-pt.ts Normal file
View File

@ -0,0 +1,126 @@
import { I18NDeepPartial } from '..';
import { pt } from 'date-fns/locale';
const TEXT: I18NDeepPartial = {
photo: {
photo: 'Fotografia',
photoPlural: 'Fotografias',
taken: 'Capturado',
created: 'Criado',
updated: 'Atualizado',
copied: 'Link para a fotografia copiada',
},
category: {
camera: 'Máquina Fotográfica',
cameraPlural: 'Máquinas Fotográficas',
cameraTitle: (camera: string) => `Tirado com ${camera}`,
cameraShare: (camera: string) => `Fotografias tiradas com ${camera}`,
lens: 'Objetiva',
lensPlural: 'Objetivas',
tag: 'Etiqueta',
tagPlural: 'Etiquetas',
taggedPhotos: 'Fotografias etiquetadas',
taggedPhrase: (tag: string) => `Fotos etiquetadas com '${tag}'`,
taggedFavs: 'Fotografias favoritas',
recipe: 'Receita',
recipePlural: 'Receitas',
recipeShare: (recipe: string) => `Fotografias da receita ${recipe}`,
film: 'Filme fotográfico',
filmPlural: 'Filmes fotográficos',
filmShare: (film: string) => `Fotografias tiradas com ${film}`,
focalLength: 'Distância focal',
focalLengthPlural: 'Distâncias focais',
focalLengthTitle: (focal: string) => `Distância focal ${focal}`,
focalLengthShare: (focal: string) => `Fotos tiradas em ${focal}`,
},
nav: {
home: 'Início',
feed: 'Feed',
grid: 'Grade',
admin: 'Menu de administração',
search: 'Pesquisar',
prev: 'Anterior',
prevShort: 'Ant',
next: 'Próximo',
nextShort: 'Próx',
},
cmdk: {
placeholder: 'Pesquisar fotografias, visualizações, configurações ...',
searching: 'A pesquisar ...',
noResults: 'Nenhum resultado encontrado',
},
tooltip: {
'35mm': 'Equivalente em 35mm',
zoom: 'Aumentar zoom',
sharePhoto: 'Partilhar Fotografia',
recipeInfo: 'Informações da receita',
recipeCopy: 'Copiar texto da receita',
download: 'Descarregar ficheiro original',
},
theme: {
theme: 'Tema',
system: 'Sistema',
light: 'Modo Claro',
dark: 'Modo Escuro',
},
auth: {
signIn: 'Entrar',
signOut: 'Sair',
email: 'Email do administrador',
password: 'Senha do administrador',
invalidEmailPassword: 'Email/senha inválidos',
},
admin: {
uploadPhotos: 'Enviar fotografias',
upload: 'Enviar',
uploadPlural: 'Envios',
uploading: 'A enviar',
update: 'Atualizar',
updatePlural: 'Atualizações',
managePhotos: 'Gerenciar fotografias',
manageCameras: 'Gerenciar máquinas fotográficas',
manageLenses: 'Gerenciar objetivas',
manageTags: 'Gerenciar etiquetas',
manageRecipes: 'Gerenciar receitas',
batchEdit: 'Editar fotos em massa ...',
batchEditShort: 'Editar em massa ...',
batchExitEdit: 'Sair da edição em massa',
appInsights: 'Insights do aplicativo',
appConfig: 'Configuração da aplicação',
edit: 'Editar',
favorite: 'Favoritar',
unfavorite: 'Remover dos favoritos',
download: 'Descarregar',
sync: 'Sincronizar',
delete: 'Excluir',
deleteConfirm: (photoTitle: string) =>
`Tens certeza de que deseja excluir "${photoTitle}"?`,
},
onboarding: {
setupComplete: 'Configuração concluída!',
setupIncomplete: 'Finalizar configuração',
setupSignIn: 'Entre para enviar fotografias',
setupFirstPhoto: 'Adicione sua primeira fotografia',
// eslint-disable-next-line max-len
setupConfig: 'Altere o nome do sítio e outras configurações ao editar as variáveis de ambiente referenciadas em',
},
misc: {
loading: 'A carregar ...',
finishing: 'A finalizar ...',
uploading: 'A enviar',
repo: 'Feito com',
copyPhrase: (label: string) => `${label} copiado`,
},
utility: {
paginate: (
index: number,
count: number,
action?: string,
) => action
? `${action} ${index} de ${count}`
: `${index} de ${count}`,
},
dateLocale: pt,
};
export default TEXT;