diff --git a/packages/questions/src/data/pt-br/questions.ts b/packages/questions/src/data/pt-br/questions.ts index 6c305107b..5530409fa 100644 --- a/packages/questions/src/data/pt-br/questions.ts +++ b/packages/questions/src/data/pt-br/questions.ts @@ -414,7 +414,7 @@ const questions = [ }, { id: '956f3e17-ff17-4af5-a52f-9222b8968106', - text: 'Tomo decisões difíceis', + text: 'Adio tomar decisões difíceis', keyed: 'minus', domain: 'C', facet: 6 diff --git a/packages/results/src/data/pt-br/agreeableness.ts b/packages/results/src/data/pt-br/agreeableness.ts index 4b5758186..c986ed8c2 100644 --- a/packages/results/src/data/pt-br/agreeableness.ts +++ b/packages/results/src/data/pt-br/agreeableness.ts @@ -3,7 +3,7 @@ import { type TemplateDomain } from '../../types' const agreeableness: TemplateDomain = { domain: 'A', title: 'Afabilidade', - shortDescription: 'Pessoas agradáveis aos outros, simpáticos. Se preocupam com a cooperação e a harmonia social e facilmente se dão bem com outras pessoas.', + shortDescription: 'Pessoas agradáveis, simpáticas. Se preocupam com a cooperação e a harmonia social e facilmente se dão bem com outras pessoas.', description: `São atenciosos, amigáveis, generosos e se comprometem com os interesses do próximo. Pessoas com esse perfil também têm uma visão otimista sobre a humanidade. Eles acreditam que as pessoas são honestas, decentes, @@ -21,9 +21,7 @@ ações agradem a maioria.`, results: [ { score: 'low', // do not translate this line - text: `Sua pontuação para "afabilidade" é baixa, indicando que você se -preocupa mais com as próprias necessidades do que com a dos outros. -As pessoas podem te considerar rigoroso, crítico, e inflexível.` + text: 'Sua pontuação para "afabilidade" é baixa, indicando que você se preocupa mais com as próprias necessidades do que com a dos outros. As pessoas podem te considerar rigoroso, crítico e inflexível.' }, { score: 'neutral', // do not translate this line @@ -50,10 +48,7 @@ desonestos e perigosos.` { facet: 2, title: 'Moralidade', - text: `Pessoas que se baseiam na ética e justiça, indivíduo sincero e franco. -Esse grupo têm facilidade em lidar com outras pessoas e normalmente não gostam de -manipulações nas relações. Pontuação baixa caracteriza pessoas que acreditam que -é necessário ou comum que as relações sociais causam decepções.` + text: 'Pessoas que se baseiam na ética e justiça, indivíduo sincero e franco. Esse grupo têm facilidade em lidar com outras pessoas e normalmente não gostam de manipulações nas relações. Pessoas com baixa pontuação aqui podem ser vistas como mais dispostas a usar de astúcia ou a ocultar a verdade para atingir seus próprios objetivos, e podem não hesitar em manipular os outros se acharem vantajoso.' }, { facet: 3, @@ -76,7 +71,7 @@ conseguir o que querem.` { facet: 5, title: 'Modéstia', - text: `Pesssoas que falam de realizações próprias com bastante humildade. + text: `Pessoas que falam de realizações próprias com bastante humildade. Não gostam de ser considerados superiores ou melhores do que os outros. Em alguns casos essa atitude pode ocasionar baixa autoconfiança/autoestima. Os que têm pontuação baixa se consideram superiores e podem ser vistos como arrogante diff --git a/packages/results/src/data/pt-br/conscientiousness.ts b/packages/results/src/data/pt-br/conscientiousness.ts index 198c9db00..04be42ce1 100644 --- a/packages/results/src/data/pt-br/conscientiousness.ts +++ b/packages/results/src/data/pt-br/conscientiousness.ts @@ -2,7 +2,7 @@ import { type TemplateDomain } from '../../types' const conscientiousness: TemplateDomain = { domain: 'C', - title: 'Consciência', + title: 'Conscienciosidade', shortDescription: 'Diz respeito à forma como controlamos, conduzimos e direcionamos nossos impulsos.', description: `Consciência gira em torno da ideia de organização e perseverança. Indivíduos conscientes normalmente são considerados inteligentes, pois idealizam @@ -41,9 +41,7 @@ desorganizado e costumam te avaliar como descuidado.` }, { score: 'high', // do not translate this line - text: `"Sua pontuação em Consciência" é alta. Você é uma pessoa -que define bem seus objetivos e os realiza com determinação. Te consideram -confiável e trabalhador."` + text: "Sua pontuação em Conscienciosidade é alta. Você é uma pessoa que define bem seus objetivos e os realiza com determinação. Te consideram confiável e trabalhador." } ], facets: [ diff --git a/packages/results/src/data/pt-br/extraversion.ts b/packages/results/src/data/pt-br/extraversion.ts index ed4bb2c7c..44026b283 100644 --- a/packages/results/src/data/pt-br/extraversion.ts +++ b/packages/results/src/data/pt-br/extraversion.ts @@ -8,7 +8,7 @@ const extraversion: TemplateDomain = { de energia, e normalmente seus dias são carregados de emoções positivas. Eles tendem a ser animados, orientados para a ação. Provavelmente você vai escutar deles palavras motivadoras, como 'Bora!' e 'Vamos? Vamos!' Quando estão em -grupos eles gostam de falar, se destacar e chamar a atenção. Ao contrátio, os +grupos eles gostam de falar, se destacar e chamar a atenção. Ao contrário, os introvertidos tendem a ser discretos e mais quietos, gostam de passar o tempo sozinhos. Sua falta de envolvimento social não deve ser interpretado como timidez ou depressão. O introvertido simplesmente precisa de menos estímulo do que um @@ -19,10 +19,7 @@ que não busca ajuda de outros, mas será bastante simpático e solicito quando results: [ { score: 'low', // do not translate this line - text: `Sua pontuação para "extroversão" é baixa, indicando que -você tende a ser mais introvertido, reservado e tranquilo. Você curte -a solidão e atividades individuais. Ter alguns amigos próximos pra -você já é um grande nível de socialização.` + text: 'Sua pontuação para "extroversão" é baixa, indicando que você tende a ser mais introvertido, reservado e tranquilo. Você curte a solidão e atividades individuais. Ter alguns amigos próximos para você já é um grande nível de socialização.' }, { score: 'neutral', // do not translate this line diff --git a/packages/results/src/data/pt-br/neuroticism.ts b/packages/results/src/data/pt-br/neuroticism.ts index 82ce696ba..02f32b6b8 100644 --- a/packages/results/src/data/pt-br/neuroticism.ts +++ b/packages/results/src/data/pt-br/neuroticism.ts @@ -6,7 +6,7 @@ const neuroticism: TemplateDomain = { shortDescription: 'Neuroticismo: tendência a sentir emoções negativas.', description: `O termo neurose foi utilizado por Freud para descrever uma condição marcada por sofrimento mental e emocional, e pela incapacidade -de lidar com as circunstâncias normais da vida. O pscicanalista defendia +de lidar com as circunstâncias normais da vida. O psicanalista defendia a ideia de que todos os seres humanos mostram alguns sinais de neurose, mas que cada indivíduo lida de maneira diferente ao sofrimento e tem sintomas específicos quando "em sitações de perigo". Hoje a psicologia retrata o @@ -74,18 +74,14 @@ tendem a não sentir esses sentimentos depressivos.` { facet: 4, title: 'Autoconsciência', - text: `Pessoas impulsivas são incapazes de controlar desejos ou impulsos. Sentem -dificuldade em resistir a vontades. Eles tendem a sanar seus prazeres e buscam recompensas -instantâneas ao invés de longo-prazo. Já pessoas pouco impulsivas não passam por situações -exageradas em relação a seus desejos, pois conseguem resistir. Por esse motivo costumam -ser mais moderados.` + text: 'Esta faceta descreve a tendência a sentir constrangimento, vergonha ou desconforto em situações sociais. Pessoas com alta autoconsciência são muito sensíveis ao que os outros pensam delas, temem o ridículo e podem se sentir ansiosas ou tensas na presença de outros. Aqueles com baixa autoconsciência, por outro lado, raramente se sentem intimidados socialmente e não se preocupam excessivamente com a opinião alheia.' }, { facet: 5, title: 'Impulsividade', text: `Pessoas impulsivas são incapazes de controlar desejos ou impulsos. Sentem dificuldade em resistir a vontades. Eles tendem a sanar seus prazeres e -buscam recompensas instantâneas ao invês de longo-prazo. Já pessoas pouco impulsivas +buscam recompensas instantâneas ao invés de longo-prazo. Já pessoas pouco impulsivas não experimentam necessidades exageradas ou desejos que são impossíveis de resistir, por esse motivo costumam ser mais moderados. ` }, diff --git a/packages/results/src/data/pt-br/openness_to_experience.ts b/packages/results/src/data/pt-br/openness_to_experience.ts index 14259dc5c..71e87b35f 100644 --- a/packages/results/src/data/pt-br/openness_to_experience.ts +++ b/packages/results/src/data/pt-br/openness_to_experience.ts @@ -11,7 +11,7 @@ de maneira individualista. A abertura à Experiência está ligada ao intelecto, pessoas consideradas intelectuais. Outra característica dessa categoria é a facilidade para assimilação de símbolos e ao abstrato. Habilidades intelectuais (pensamento matemático, lógico ou geométrico, uso artístico e metafórico da linguagem, performance musical e da -arte visual). Pessoas com notas baixas para "Abertura para Experiência" tendem a se +arte visual). Pessoas com notas baixas em "Abertura à Experiência" tendem a se interessar pelo comum. Eles preferem o simples, direto e óbvio, são conservadores e resistentes à mudança. Pessoas nessa categoria, abertas à experiências, são normalmente consideradas mais maduras, que se adaptam com mais facilidade. No entanto, estilos de @@ -59,7 +59,7 @@ tem pouca ou nenhuma sensibilidade estética e interesse pela arte.` facet: 3, title: 'Emotividade', text: `Receptivos e conscientes de seus próprios sentimentos e emoções. -Sentem emoções fortes e tendem a expressá-las abertamente. As pessaos pouco emotivas +Sentem emoções fortes e tendem a expressá-las abertamente. As pessoas pouco emotivas tendem a não expressar suas emoções abertamente.` }, { diff --git a/web/src/app/[locale]/compare/page.tsx b/web/src/app/[locale]/compare/page.tsx index 0f70517ad..107877b9c 100644 --- a/web/src/app/[locale]/compare/page.tsx +++ b/web/src/app/[locale]/compare/page.tsx @@ -21,7 +21,7 @@ export default function ComparePage({

{t('description1')} - + { const t = await getTranslations({ locale, namespace: 'frontpage' }); const s = await getTranslations({ locale, namespace: 'seo' }); + const tMeta = await getTranslations({ locale, namespace: 'metadata' }); const alternatesLang = locales.reduce((a, v) => ({ ...a, [v]: `/${v}` }), {}); return { title: { @@ -52,7 +53,7 @@ export async function generateMetadata({ description: t('seo.description'), images: { url: `${basePath}/og-image.png`, - alt: 'People comparing personality tests' + alt: tMeta('ogImageAlt') } }, twitter: { @@ -63,7 +64,7 @@ export async function generateMetadata({ creator: siteConfig.creator, images: { url: `${basePath}/og-image.png`, - alt: 'People comparing personality tests' + alt: tMeta('twitterImageAlt') } } }; diff --git a/web/src/app/[locale]/result/[id]/page.tsx b/web/src/app/[locale]/result/[id]/page.tsx index d94f6ea12..922454ecb 100644 --- a/web/src/app/[locale]/result/[id]/page.tsx +++ b/web/src/app/[locale]/result/[id]/page.tsx @@ -36,19 +36,27 @@ export default async function ResultPage({ searchParams }: ResultPageParams) { let report; + const tErrors = await getTranslations({ + locale: params.locale, + namespace: 'resultPage' + }); try { report = await getTestResult(params.id.substring(0, 24), searchParams.lang); } catch (error) { - throw new Error('Could not retrieve report'); + // throw new Error('Could not retrieve report'); + // Instead of throwing, we'll let the !report block handle it + // This allows us to show a translated error message } if (!report) return ( - + <> -

We could not retrive the following id {params.id}.

-

Please check that it is correct or contact us at {supportEmail}

+

{tErrors('errorAlertIdText', { id: params.id })}

+

+ {tErrors('errorAlertContactText', { email: supportEmail })} +

); diff --git a/web/src/components/cookie-consent-settings.tsx b/web/src/components/cookie-consent-settings.tsx index 82867598b..85a352e39 100644 --- a/web/src/components/cookie-consent-settings.tsx +++ b/web/src/components/cookie-consent-settings.tsx @@ -10,6 +10,7 @@ import { } from '@nextui-org/modal'; import { Switch } from '@nextui-org/switch'; import { CookieIcon } from './icons'; +import { useTranslations } from 'next-intl'; import { useEffect, useState } from 'react'; interface CookieConsentSettingsProps { @@ -18,6 +19,7 @@ interface CookieConsentSettingsProps { } export const CookieConsentSettings = (props: CookieConsentSettingsProps) => { + const t = useTranslations('cookieConsent'); const [isAnalyticsSelected, setIsAnalyticsSelected] = useState(true); const [isMarketingSelected, setIsMarketingSelected] = useState(true); @@ -46,7 +48,7 @@ export const CookieConsentSettings = (props: CookieConsentSettingsProps) => { setIsAnalyticsSelected(false); } if (storedMarketingCookieConsent === 'false') { - setIsAnalyticsSelected(false); + setIsMarketingSelected(false); } }, []); @@ -63,21 +65,19 @@ export const CookieConsentSettings = (props: CookieConsentSettingsProps) => {
- Cookie Preferences + {t('settingsTitle')}
- Manage your cookie settings. You can enable or disable different - types of cookies below. + {t('settingsDescription')}
- +

- These cookies are necessary for the website to function and - cannot be switched off. + {t('essentialCookiesDescription')}

{
- +

- These cookies allow us to count visits and traffic sources, so - we can measure and improve the performance of our site. + {t('analyticsCookiesDescription')}

{
- +

- These cookies help us show you relevant ads. + {t('marketingCookiesDescription')}

{ type='submit' onPress={handleSavePreferences} > - Save Preferences + {t('savePreferencesButton')} diff --git a/web/src/components/cookie-consent.tsx b/web/src/components/cookie-consent.tsx index d8f690735..e0cd5e370 100644 --- a/web/src/components/cookie-consent.tsx +++ b/web/src/components/cookie-consent.tsx @@ -12,11 +12,13 @@ import { Link } from '@nextui-org/link'; import { useEffect, useState } from 'react'; import { SettingsIcon } from './icons'; import { CookieConsentSettings } from './cookie-consent-settings'; +import { useTranslations } from 'next-intl'; export default function CookieBanner() { const [showBanner, setShowBanner] = useState(false); const [showCookieConsentSettings, setShowCookieConsentSettings] = useState(false); + const t = useTranslations('cookieConsent'); useEffect(() => { const storedCookieConsent = localStorage.getItem('cookie_consent'); @@ -53,12 +55,13 @@ export default function CookieBanner() { > - Cookie consent + {t('bannerTitle')} -

We use cookies on our site.

+

{t('bannerDescription')}

- Read more in our privacy policy. + {t('readMore')} + {t('privacyPolicyLinkText')}.

@@ -68,7 +71,7 @@ export default function CookieBanner() { startContent={} onPress={handleSettings} > - Preferences + {t('preferencesButton')}
diff --git a/web/src/components/footer.tsx b/web/src/components/footer.tsx index b363b1fdb..994b70a08 100644 --- a/web/src/components/footer.tsx +++ b/web/src/components/footer.tsx @@ -9,6 +9,7 @@ import { Logo } from '@/components/icons'; import { siteConfig } from '@/config/site'; +import { useTranslations } from 'next-intl'; interface FooterProps { footerLinks: { @@ -19,6 +20,8 @@ interface FooterProps { export default function Footer({ footerLinks }: FooterProps) { const year = new Date().getFullYear(); + const t = useTranslations('footer'); + const tNavbar = useTranslations('navbar'); return (
@@ -31,28 +34,28 @@ export default function Footer({ footerLinks }: FooterProps) { @@ -72,7 +75,7 @@ export default function Footer({ footerLinks }: FooterProps) {
- © {year} — B5 Holding AS - all rights reserved. + {`© ${year} — B5 Holding AS - ${t('allRightsReserved')}.`}
); diff --git a/web/src/components/locale-switcher.tsx b/web/src/components/locale-switcher.tsx index 6c759dbbf..284ca77bd 100644 --- a/web/src/components/locale-switcher.tsx +++ b/web/src/components/locale-switcher.tsx @@ -24,8 +24,8 @@ export default function LocaleSwitcher() { name='localeSelectSmall' > {languages.map((lang) => ( - - {lang.code} + + {lang.name} ))} diff --git a/web/src/components/navbar.tsx b/web/src/components/navbar.tsx index 5658d487e..7b27bd20d 100644 --- a/web/src/components/navbar.tsx +++ b/web/src/components/navbar.tsx @@ -23,7 +23,7 @@ import { TwitterIcon, GithubIcon, Logo } from '@/components/icons'; import { Link as NextLink } from '../navigation'; import { useState } from 'react'; import { usePathname } from 'next/navigation'; -import { useLocale } from 'next-intl'; +import { useLocale, useTranslations } from 'next-intl'; interface NavbarProps { navItems: { label: string; href: string }[]; @@ -34,6 +34,7 @@ export const Navbar = ({ navItems, navMenuItems }: NavbarProps) => { const [isMenuOpen, setIsMenuOpen] = useState(false); const pathname = usePathname(); const locale = useLocale(); + const t = useTranslations('navbar'); const isCurrentPath = (link: string): boolean => { if (link === '/') { @@ -55,7 +56,7 @@ export const Navbar = ({ navItems, navMenuItems }: NavbarProps) => { @@ -84,10 +85,18 @@ export const Navbar = ({ navItems, navMenuItems }: NavbarProps) => { justify='end' > - + - + @@ -102,7 +111,11 @@ export const Navbar = ({ navItems, navMenuItems }: NavbarProps) => { - + @@ -111,7 +124,7 @@ export const Navbar = ({ navItems, navMenuItems }: NavbarProps) => { diff --git a/web/src/config/site.ts b/web/src/config/site.ts index 6db5e06f9..6ee44cb50 100644 --- a/web/src/config/site.ts +++ b/web/src/config/site.ts @@ -29,9 +29,15 @@ export const languages: Language[] = [ { code: 'no', name: 'Norwegian', countryCode: 'no', map: ['nb', 'nn'] }, { code: 'pt', - name: 'Portuguese', + name: 'Português (Portugal)', countryCode: 'pt', - map: ['pt-BR', 'pt-PT'] + map: ['pt-PT'] + }, + { + code: 'pt-br', + name: 'Português (Brasil)', + countryCode: 'br', + map: ['pt-BR'] }, { code: 'sv', name: 'Swedish', countryCode: 'se' }, { code: 'uk', name: 'Ukrainian', countryCode: 'ua' }, diff --git a/web/src/messages/en.js b/web/src/messages/en.js index 6aa2a651e..02d6fa09f 100644 --- a/web/src/messages/en.js +++ b/web/src/messages/en.js @@ -185,7 +185,8 @@ inventory is from Johnson's (2014) 120-item IPIP NEO-PI-R.`, comparePeople: 'Compare people', nameOfPerson: 'Name of this person', urlOrId: 'URL or ID for comparison', - name: 'Name' + name: 'Name', + loadingText: 'Loading...' }, results: { theBigFive: 'The Big Five', @@ -215,6 +216,45 @@ inventory is from Johnson's (2014) 120-item IPIP NEO-PI-R.`, shareTwitter: 'Share on Twitter', copiedLink: 'Copied link', shareResults: 'Share your results!' + }, + navbar: { + ariaHome: 'Home', + ariaTwitter: 'Twitter', + ariaGithub: 'Github', + closeMenu: 'Close menu', + openMenu: 'Open menu' + }, + footer: { + ariaLinkedIn: 'LinkedIn', + ariaFacebook: 'Facebook', + allRightsReserved: 'all rights reserved' + }, + metadata: { + ogImageAlt: 'People comparing personality tests', + twitterImageAlt: 'People comparing personality tests' + }, + cookieConsent: { + bannerTitle: 'Cookie consent', + bannerDescription: 'We use cookies on our site.', + readMore: 'Read more in our ', + privacyPolicyLinkText: 'privacy policy', + preferencesButton: 'Preferences', + declineButton: 'Decline', + acceptAllButton: 'Accept all', + settingsTitle: 'Cookie Preferences', + settingsDescription: 'Manage your cookie settings. You can enable or disable different types of cookies below.', + essentialCookiesLabel: 'Essential Cookies', + essentialCookiesDescription: 'These cookies are necessary for the website to function and cannot be switched off.', + analyticsCookiesLabel: 'Analytics Cookies', + analyticsCookiesDescription: 'These cookies allow us to count visits and traffic sources, so we can measure and improve the performance of our site.', + marketingCookiesLabel: 'Marketing Cookies', + marketingCookiesDescription: 'These cookies help us show you relevant ads.', + savePreferencesButton: 'Save Preferences' + }, + resultPage: { + errorAlertTitle: 'Could not retrieve report', + errorAlertIdText: 'We could not retrieve the following id {id}.', + errorAlertContactText: 'Please check that it is correct or contact us at {email}.' } }; diff --git a/web/src/messages/pt-br.js b/web/src/messages/pt-br.js new file mode 100644 index 000000000..ffb416af0 --- /dev/null +++ b/web/src/messages/pt-br.js @@ -0,0 +1,263 @@ +const portuguese = { + language: { + label: 'Português (Brasil)', + locale: 'pt-BR' + }, + seo: { + keywords: + 'teste de personalidade big five, teste de personalidade big 5, teste b5, teste bigfive, traços de personalidade, bigfive, comparar, gratuito, jordan peterson' + }, + frontpage: { + seo: { + title: + 'Teste BigFive de traços de personalidade gratuito e de código aberto', + description: + 'Faça gratuitamente um teste de personalidade Big Five de código aberto. Aprenda a conhecer seus traços de personalidade e compare-se com seu parceiro ou parceira, colegas, amigos ou família.' + }, + title: 'Teste de Personalidade Big Five', + call_to_action: 'Faça um teste gratuito agora', + no_registration: '* Não precisa se registrar', + tests_taken: 'Mais de {n} pessoas fizeram o teste', + compare: { + title: 'Compare-se com outros', + text1: + 'Compare-se com o seu parceiro ou parceira, colegas, amigos ou família.', + text2: 'Saiba como você difere de outras pessoas em cinco domínios:', + action: 'Veja ao vivo em ação' + }, + share: + 'Compartilhe com seus amigos e descubra o quão compatíveis vocês são', + cards: { + open: { + title: 'Aberto', + text: 'Este é um projeto de código aberto sob a licença MIT.' + }, + free: { + title: 'Gratuito', + text: 'O teste é totalmente gratuito' + }, + scientific: { + title: 'Científico', + text: 'Big Five é um modelo psicológico cientificamente validado e confiável.' + }, + translated: { + title: 'Traduzido', + text: 'Traduzido para mais de 20 idiomas. Ajude aqui!' + } + }, + description: { + top: 'Aprenda a se conhecer melhor com um teste de personalidade gratuito e de código aberto.', + subtop: 'O', + subtop2: + ' é o modelo psicológico mais validado cientificamente e confiável para medir a personalidade.', + reference: `Os testes e a avaliação deste site são coletados de +ipip.ori.org, +inventário é de Johnson's (2014) 120-item IPIP NEO-PI-R.`, + info: 'O teste a seguir contém 120 questões que levam cerca de 10 minutos para serem concluídas.', + result: + 'Depois de concluir o teste, você receberá um relatório de personalidade detalhado nos seguintes domínios:', + tests_taken: 'testes feitos até agora' + } + }, + about: { + seo: { + title: 'Sobre a equipe BigFive', + description: + 'BigFive tem uma equipe muito ativa e engajada que está constantemente se esforçando para levar o BigFive adiante.' + } + }, + toolbar: { + home: 'Início', + result: 'Resultado', + compare: 'Compare', + articles: 'Artigos', + privacy: 'Privacidade', + about: 'Sobre', + see_results: 'Veja seus resultados', + compare_with: 'Compare com outros', + faq: 'FAQ' + }, + facets: { + openness_to_experience: { + title: 'Abertura à Experiência' + }, + conscientiousness: { + title: 'Conscienciosidade' + }, + extraversion: { + title: 'Extroversão' + }, + agreeableness: { + title: 'Afabilidade' + }, + neuroticism: { + title: 'Neuroticismo' + } + }, + common: { + and: 'e', + pages: 'páginas', + languages: 'idiomas', + save: 'Salvar', + close: 'Fechar' + }, + form: { + information: 'Informação', + informationText: + 'Usamos as informações que você fornece para proporcionar o', + mostAccurate: 'resultado mais preciso possível', + readMoreAbout: 'Leia mais sobre', + privacy: 'privacidade', + nextButton: 'Ok, próxima pergunta', + declineButton: 'continue sem compartilhar', + prefferedLanguage: 'Meu idioma preferido é', + selectLanguage: 'Selecione um idioma', + iama: 'Eu sou', + male: 'Homem', + female: 'Mulher', + age: 'Idade', + iam: 'Eu sou', + yearsOld: 'anos de idade', + ageWarning: 'Você deve ter 16 anos ou mais', + language: 'Idioma', + gender: 'Gênero', + confirmInfo: 'Confirme a informação', + confirm: 'Confirme', + toTestButton: 'Tudo certo, leve-me para o teste' + }, + test: { + next: 'avançar', + back: 'voltar', + more: 'mais', + seeResults: 'ver resultados' + }, + big_five: { + title: 'Quais são os cinco grandes?', + seo: { + title: 'Quais são os cinco grandes?', + description: 'Leia mais sobre os cinco grandes' + } + }, + openness_to_experience: { + title: 'Abertura à Experiência', + seo: { + title: 'Visão geral do domínio Abertura à Experiência.', + description: + 'Leia mais sobre o domínio Abertura à Experiência no modelo b5' + } + }, + conscientiousness: { + title: 'Conscienciosidade', + seo: { + title: 'Visão geral do domínio Conscienciosidade', + description: 'Leia mais sobre o domínio Conscienciosidade no modelo b5' + } + }, + extraversion: { + title: 'Extroversão', + seo: { + title: 'Visão geral do domínio Extroversão', + description: 'Leia mais sobre o domínio Extroversão no modelo b5' + } + }, + agreeableness: { + title: 'Afabilidade', + seo: { + title: 'Visão geral do domínio Afabilidade', + description: 'Leia mais sobre o domínio afabilidade no modelo b5' + } + }, + neuroticism: { + title: 'Neuroticismo', + seo: { + title: 'Visão geral do domínio Neuroticismo', + description: 'Leia mais sobre o domínio Neuroticismo no modelo b5' + } + }, + getCompare: { + title: 'Compare pessoas ou equipes', + description1: + 'Compare os resultados do teste de personalidade bigfive com várias pessoas.', + description2: + 'Digite a ID que você obteve dos resultados do teste, ou seja,', + description3: 'no campo ID', + needToAddPeople: 'Você precisa adicionar pessoas para compará-las', + addAnother: 'Adicionar outra pessoa', + addPerson: 'Adicionar pessoa', + comparePeople: 'comparar pessoas', + nameOfPerson: 'Nome desta pessoa', + urlOrId: 'URL ou ID para comparação', + name: 'Nome', + loadingText: 'Carregando...' + }, + results: { + theBigFive: 'Os Cinco Grandes', + score: 'pontuação', + important: 'Importante!', + saveResults: 'Salve a seguinte ID para ver os resultados depois ou ', + compare: 'compare-se', + toOthers: 'com ou outros', + seo: { + title: 'Meus resultados do teste de personalidade BigFive', + description: + 'Veja minha personalidade e compare-se nos cinco domínios seguintes: Neuroticismo, Abertura à Experiência, Conscienciosidade, Extroversão, Afabilidade' + } + }, + getResult: { + result: 'Resultado', + explanation: + 'Se você fez o teste e salvou sua ID, pode ver os resultados aqui digitando a ID que obteve, ou seja, ', + idInput: 'no campo ID', + urlOrId: 'URL ou ID do seu resultado', + getResult: 'Obter resultado', + viewPrevious: 'Ver Resultado Anterior' + }, + shareLinks: { + copyLink: 'Copiar link para a área de transferência', + shareFacebook: 'Compartilhar no Facebook', + shareTwitter: 'Compartilhar no Twitter', + copiedLink: 'Copiado', + shareResults: 'Compartilhe seus resultados!' + }, + navbar: { + ariaHome: 'Página Inicial', + ariaTwitter: 'Twitter', + ariaGithub: 'Github', + closeMenu: 'Fechar menu', + openMenu: 'Abrir menu' + }, + footer: { + ariaLinkedIn: 'LinkedIn', + ariaFacebook: 'Facebook', + allRightsReserved: 'todos os direitos reservados' + }, + metadata: { + ogImageAlt: 'Pessoas comparando testes de personalidade', + twitterImageAlt: 'Pessoas comparando testes de personalidade' + }, + cookieConsent: { + bannerTitle: 'Consentimento de Cookies', + bannerDescription: 'Nós usamos cookies em nosso site.', + readMore: 'Leia mais em nossa ', + privacyPolicyLinkText: 'política de privacidade', + preferencesButton: 'Preferências', + declineButton: 'Recusar', + acceptAllButton: 'Aceitar todos', + settingsTitle: 'Preferências de Cookies', + settingsDescription: 'Gerencie suas configurações de cookies. Você pode ativar ou desativar diferentes tipos de cookies abaixo.', + essentialCookiesLabel: 'Cookies Essenciais', + essentialCookiesDescription: 'Estes cookies são necessários para o funcionamento do site e não podem ser desativados.', + analyticsCookiesLabel: 'Cookies de Análise', + analyticsCookiesDescription: 'Estes cookies nos permitem contar visitas e fontes de tráfego, para que possamos medir e melhorar o desempenho do nosso site.', + marketingCookiesLabel: 'Cookies de Marketing', + marketingCookiesDescription: 'Estes cookies nos ajudam a mostrar anúncios relevantes para você.', + savePreferencesButton: 'Salvar Preferências' + }, + resultPage: { + errorAlertTitle: 'Não foi possível recuperar o relatório', + errorAlertIdText: 'Não conseguimos recuperar o relatório com o seguinte ID: {id}.', + errorAlertContactText: 'Por favor, verifique se está correto ou entre em contato conosco em {email}.' + } +}; + +export default portuguese; diff --git a/web/src/messages/pt.js b/web/src/messages/pt.js index 451249138..b25f0115c 100644 --- a/web/src/messages/pt.js +++ b/web/src/messages/pt.js @@ -1,7 +1,7 @@ const portuguese = { language: { - label: 'Brazilian Portuguese', - locale: 'pt' + label: 'Português (Portugal)', + locale: 'pt-PT' }, seo: { keywords: @@ -98,8 +98,8 @@ inventário é de Johnson's (2014) 120-item IPIP NEO-PI-R.`, and: 'e', pages: 'páginas', languages: 'idiomas', - save: 'Save', - close: 'Close' + save: 'Salvar', + close: 'Fechar' }, form: { information: 'Informação', @@ -187,7 +187,8 @@ inventário é de Johnson's (2014) 120-item IPIP NEO-PI-R.`, comparePeople: 'comparar pessoas', nameOfPerson: 'Nome desta pessoa', urlOrId: 'URL ou ID para comparação', - name: 'Nome' + name: 'Nome', + loadingText: 'Loading...' }, results: { theBigFive: 'Os Cinco Grandes', @@ -199,7 +200,7 @@ inventário é de Johnson's (2014) 120-item IPIP NEO-PI-R.`, seo: { title: 'Meus resultados do teste de personalidade BigFive', description: - 'Veja minha personalidade e compare-se nos cinco domínios seguintes: Neuroticismo, Abertura à Experiência, Consciência, Extroversão, Afabilidade' + 'Veja minha personalidade e compare-se nos cinco domínios seguintes: Neuroticismo, Abertura à Experiência, Conscienciosidade, Extroversão, Afabilidade' } }, getResult: { @@ -217,6 +218,45 @@ inventário é de Johnson's (2014) 120-item IPIP NEO-PI-R.`, shareTwitter: 'Compartilhar no Twitter', copiedLink: 'Copiado', shareResults: 'Compartilhe seus resultados!' + }, + navbar: { + ariaHome: 'Home', + ariaTwitter: 'Twitter', + ariaGithub: 'Github', + closeMenu: 'Close menu', + openMenu: 'Open menu' + }, + footer: { + ariaLinkedIn: 'LinkedIn', + ariaFacebook: 'Facebook', + allRightsReserved: 'all rights reserved' + }, + metadata: { + ogImageAlt: 'People comparing personality tests', + twitterImageAlt: 'People comparing personality tests' + }, + cookieConsent: { + bannerTitle: 'Cookie consent', + bannerDescription: 'We use cookies on our site.', + readMore: 'Read more in our ', + privacyPolicyLinkText: 'privacy policy', + preferencesButton: 'Preferences', + declineButton: 'Decline', + acceptAllButton: 'Accept all', + settingsTitle: 'Cookie Preferences', + settingsDescription: 'Manage your cookie settings. You can enable or disable different types of cookies below.', + essentialCookiesLabel: 'Essential Cookies', + essentialCookiesDescription: 'These cookies are necessary for the website to function and cannot be switched off.', + analyticsCookiesLabel: 'Analytics Cookies', + analyticsCookiesDescription: 'These cookies allow us to count visits and traffic sources, so we can measure and improve the performance of our site.', + marketingCookiesLabel: 'Marketing Cookies', + marketingCookiesDescription: 'These cookies help us show you relevant ads.', + savePreferencesButton: 'Save Preferences' + }, + resultPage: { + errorAlertTitle: 'Could not retrieve report', + errorAlertIdText: 'We could not retrieve the following id {id}.', + errorAlertContactText: 'Please check that it is correct or contact us at {email}.' } };