Skip to content

Commit 0520696

Browse files
authored
Merge pull request #2458 from CassivsGabriellis/brazilian-portuguese-translation
Brazilian Portuguese translation
2 parents 7ec80fb + dfa27b6 commit 0520696

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

43 files changed

+11141
-24427
lines changed

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,3 +68,6 @@ yarn-error.log
6868
.pnp.js
6969
# Yarn Integrity file
7070
.yarn-integrity
71+
72+
73+
.nvmrc

gatsby-config.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ const plugins = [
4444
createSearchConfig('finnish', 'fi'),
4545
createSearchConfig('english', 'en'),
4646
createSearchConfig('chinese', 'zh'),
47+
createSearchConfig('portuguese', 'ptbr'),
4748
{
4849
resolve: `gatsby-plugin-sitemap`,
4950
},

package-lock.json

Lines changed: 0 additions & 24422 deletions
This file was deleted.

src/components/LanguagePicker/index.js

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,14 @@ const LanguagePicker = ({
1919

2020
const className = cn(classNameProp, styles.select);
2121

22+
const fontSizeStyle = {
23+
fontSize: '1em'
24+
};
25+
26+
if (value === 'ptbr') {
27+
fontSizeStyle.fontSize = '0.65em'
28+
};
29+
2230
return (
2331
/*eslint jsx-a11y/no-onchange: "off" */
2432
<>
@@ -32,6 +40,7 @@ const LanguagePicker = ({
3240
value={value}
3341
onChange={selectOnChange}
3442
className={className}
43+
style={fontSizeStyle }
3544
>
3645
{TRANSLATION_LANGUAGE_OPTIONS.map(({ value: optionValue, label }) => (
3746
<option value={optionValue} key={optionValue}>

src/components/LanguageSwitcher/LanguageSwitcher.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,8 @@ const LanguageSwitcher = ({ lang }) => {
2323
<Language language="en" active={lang} />
2424

2525
<Language language="zh" active={lang} />
26+
27+
<Language language="ptbr" active={lang} />
2628
</div>
2729
);
2830
};

src/components/Navigation/Navigation.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ export const getNavigation = (language, t) => {
3737
};
3838

3939
const searchIsEnabledForLang = lang => {
40-
return ['fi', 'en', 'zh'].includes(lang);
40+
return ['fi', 'en', 'zh', 'ptbr'].includes(lang);
4141
};
4242

4343
const handleCloseMenu = () =>

src/components/PartBanner/PartBanner.js

Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,12 +69,38 @@ const partNameTranslations = {
6969
'Conteneurs',
7070
'Utilisation de bases de donées relationnelles'
7171
],
72+
ptbr: [
73+
'Fundamentos de aplicações web',
74+
'Introdução ao React',
75+
'Comunicação com o servidor',
76+
'Programando um servidor com NodeJS e Express',
77+
'Teste de servidores Express e Administração de Usuários',
78+
'Teste de aplicações React',
79+
'Gerenciamento de Estado com Redux',
80+
'React router, hooks personalizados, estilização de aplicações com CSS e Webpack',
81+
'GraphQL',
82+
'TypeScript',
83+
'React Native',
84+
'CI/CD',
85+
'Containers',
86+
'Utilizando bancos de dados relacionais',
87+
],
7288
};
7389

7490
export const PartBanner = ({ lang }) => {
7591
// TODO change on release
7692
const parts = Object.keys(navigation[lang]);
7793

94+
function partName(lang) {
95+
return lang === 'fi' ? 'Osa' : lang==='ptbr' ? 'Parte' : 'Part'
96+
// if (lang === 'fi') {
97+
// return 'Osa'
98+
// } else if (lang === 'ptbr') {
99+
// return 'Parte'
100+
// } else {
101+
// return 'Part'
102+
}
103+
78104
return (
79105
<Banner
80106
className="spacing spacing--after-small spacing--after-mobile offset"
@@ -94,7 +120,8 @@ export const PartBanner = ({ lang }) => {
94120
alt: partNames[part],
95121
}}
96122
hoverImageSrc={require(`../../images/thumbnails/part-${part}_ovr.svg`)}
97-
name={`${lang === 'fi' ? 'Osa' : 'Part'} ${part}`}
123+
// name={`${lang === 'fi' ? 'Osa' : 'Part'} ${part}`}
124+
name={`${partName(lang)} ${part}`}
98125
summary={partNames[part]}
99126
path={getPartTranslationPath(lang, part)}
100127
/>

src/config.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
1-
export const TRANSLATION_LANGUAGES = ['fi', 'en', 'zh', 'es', 'fr'];
1+
export const TRANSLATION_LANGUAGES = ['fi', 'en', 'zh', 'es', 'fr', 'ptbr'];
22

33
export const TRANSLATION_LANGUAGE_OPTIONS = [
44
{ value: 'fi', label: 'Suomi' },
55
{ value: 'en', label: 'English' },
66
{ value: 'zh', label: '中文' },
77
{ value: 'es', label: 'Español' },
88
{ value: 'fr', label: 'Français' },
9+
{ value: 'ptbr', label: 'Português(BR)' },
910
];

src/content/0/ptbr/part0.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
---
2+
mainImage: ../../../images/part-0.svg
3+
part: 0
4+
lang: ptbr
5+
---
6+
7+
<div class="intro">
8+
9+
Nesta parte, nos familiarizaremos com os requisitos necessários para fazer o curso. Após essa etapa, será introduzida uma visão geral dos fundamentos de desenvolvimento web como também falaremos sobre os avanços no desenvolvimento de aplicações web nas últimas décadas.
10+
11+
</div>

src/content/0/ptbr/part0a.md

Lines changed: 399 additions & 0 deletions
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)