aboutsummaryrefslogtreecommitdiffstats
path: root/src/components
diff options
context:
space:
mode:
authorBen Woodward <ben@bdw.to>2021-08-06 07:52:22 -0700
committerGitHub <noreply@github.com>2021-08-06 07:52:22 -0700
commit8be42a4e57928f82830be71fa6c9bc17ac63aa8a (patch)
tree584b315672d65cb5ad8d296980bf56bf4041c450 /src/components
parent3a63d9fb3fcc2750be155fa67008887bf38687ac (diff)
Refactor translation plumbing (#168)
- Centralize user-defined translations into a single file - Automatically sort the language dropdown - Update the translation contribution guide
Diffstat (limited to 'src/components')
-rw-r--r--src/components/Settings.js29
1 files changed, 6 insertions, 23 deletions
diff --git a/src/components/Settings.js b/src/components/Settings.js
index 1c28dab..1cbe74a 100644
--- a/src/components/Settings.js
+++ b/src/components/Settings.js
@@ -2,6 +2,7 @@ import { Checkbox, Pane, RadioGroup, SelectField } from 'evergreen-ui';
2import { useEffect, useState } from 'react'; 2import { useEffect, useState } from 'react';
3import { useTranslation } from 'react-i18next'; 3import { useTranslation } from 'react-i18next';
4import i18n from '../i18n'; 4import i18n from '../i18n';
5import { Translations } from '../translations';
5import './style.css'; 6import './style.css';
6 7
7export const Settings = (props) => { 8export const Settings = (props) => {
@@ -28,29 +29,11 @@ export const Settings = (props) => {
28 selected={i18n.language} 29 selected={i18n.language}
29 onChange={(e) => props.onLanguageChange(e.target.value)} 30 onChange={(e) => props.onLanguageChange(e.target.value)}
30 > 31 >
31 <option value="en-US">English</option> 32 {Translations.map((t) => (
32 <option value="ar">Arabic - العربية</option> 33 <option key={t.id} value={t.id} selected={t.id === i18n.language}>
33 <option value="ca">Catalan - Català</option> 34 {t.name}
34 <option value="zh-HK">Chinese Hong Kong - 简体中文</option> 35 </option>
35 <option value="zh-CN">Chinese Simplified - 简体中文</option> 36 ))}
36 <option value="nl-NL">Dutch - Nederlands</option>
37 <option value="fr-FR">French - Français</option>
38 <option value="de-DE">German - Deutsch</option>
39 <option value="hi-IN">Hindi - हिन्दी</option>
40 <option value="id-ID">Indonesian</option>
41 <option value="it-IT">Italian</option>
42 <option value="ja">Japanese - 日本語</option>
43 <option value="ko">Korean - 한국어</option>
44 <option value="no-NB">Norwegian - Norsk</option>
45 <option value="oc">Occitan</option>
46 <option value="fa-IR">Persian Iran - فارسی</option>
47 <option value="pl-PL">Polish - Polski</option>
48 <option value="pt">Portuguese - Português</option>
49 <option value="pt-BR">Portuguese - Português brasileiro</option>
50 <option value="ru-RU">Russian - Русский</option>
51 <option value="es">Spanish - Español</option>
52 <option value="tr-TR">Turkish - Türkçe</option>
53 <option value="uk-UA">Ukrainian - Українська</option>
54 </SelectField> 37 </SelectField>
55 38
56 <Checkbox 39 <Checkbox