diff --git a/packages/shared/src/i18n/index.ts b/packages/shared/src/i18n/index.ts index fa962a9..e8aa7fa 100644 --- a/packages/shared/src/i18n/index.ts +++ b/packages/shared/src/i18n/index.ts @@ -5,6 +5,7 @@ import nlTranslations from './locales/nl.json' with {type: 'json'}; import frTranslations from './locales/fr.json' with {type: 'json'}; import deTranslations from './locales/de.json' with {type: 'json'}; import hiTranslations from './locales/hi.json' with {type: 'json'}; +import ptTranslations from './locales/pt.json' with {type: 'json'}; export { SUPPORTED_LANGUAGES, DEFAULT_LANGUAGE, @@ -34,6 +35,7 @@ const translationsMap: Record = { de: deTranslations, fr: frTranslations, hi: hiTranslations, + pt: ptTranslations, }; // In-memory cache for loaded translations diff --git a/packages/shared/src/i18n/languages.ts b/packages/shared/src/i18n/languages.ts index 325ea40..c61c604 100644 --- a/packages/shared/src/i18n/languages.ts +++ b/packages/shared/src/i18n/languages.ts @@ -11,6 +11,7 @@ export const SUPPORTED_LANGUAGES: Language[] = [ {code: 'fr', name: 'French', nativeName: 'Français', flag: '🇫🇷'}, {code: 'hi', name: 'Hindi', nativeName: 'हिंदी', flag: '🇮🇳'}, {code: 'de', name: 'German', nativeName: 'Deutsch', flag: '🇩🇪'}, + {code: 'pt', name: 'Portuguese', nativeName: 'Português', flag: '🇧🇷'}, ]; export const DEFAULT_LANGUAGE = 'en'; diff --git a/packages/shared/src/i18n/locales/pt.json b/packages/shared/src/i18n/locales/pt.json new file mode 100644 index 0000000..b126427 --- /dev/null +++ b/packages/shared/src/i18n/locales/pt.json @@ -0,0 +1,45 @@ +{ + "pages": { + "unsubscribe": { + "title": "Cancelar inscrição", + "description": "Lamentamos vê-lo partir. Tem certeza de que deseja cancelar a inscrição de {email} para não receber mais e-mails?", + "button": "Cancelar inscrição", + "buttonLoading": "Cancelando inscrição...", + "managePreferences": "Gerenciar preferências", + "successTitle": "Inscrição cancelada", + "successDescription": "{email} foi removido da lista. Você não receberá mais e-mails nossos.", + "changedMind": "Mudou de ideia?", + "subscribeAgain": "Inscrever-se novamente" + }, + "subscribe": { + "title": "Inscrever-se para atualizações", + "description": "Deseja inscrever {email} para receber e-mails?", + "button": "Inscrever-se", + "buttonLoading": "Inscrevendo...", + "successTitle": "Você está inscrito!", + "successDescription": "{email} agora está inscrito para receber nossos e-mails." + }, + "manage": { + "title": "Gerenciar Preferências", + "description": "Gerenciar preferências de e-mail para {email}", + "subscriptionLabel": "Inscrição de E-mail", + "subscribedStatus": "Você está inscrito para receber e-mails", + "unsubscribedStatus": "Você cancelou a inscrição de e-mails", + "subscribedSuccess": "Inscrito com sucesso!", + "unsubscribedSuccess": "Inscrição cancelada com sucesso!", + "unsubscribeCompletely": "Cancelar inscrição completamente", + "subscribeToEmails": "Inscrever-se para e-mails", + "disclaimer": "Esta página permite que você gerencie suas preferências de e-mail. Seu status de inscrição é atualizado em tempo real." + }, + "common": { + "loading": "Carregando...", + "error": "Erro" + } + }, + "email": { + "footer": { + "unsubscribeText": "Você recebeu este e-mail porque concordou em receber e-mails de {projectName}. Se não deseja mais receber e-mails como este, por favor", + "updatePreferences": "atualize suas preferências" + } + } +}