Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fler språk #543

Merged
merged 9 commits into from
Nov 17, 2021
14 changes: 11 additions & 3 deletions apps/skolplattformen-sthlm/services/languageService.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,10 @@ import 'moment/locale/ja'
import 'moment/locale/nb'
import 'moment/locale/nl'
import 'moment/locale/pl'
import 'moment/locale/pt'
import 'moment/locale/ru'
import 'moment/locale/sv'
import 'moment/locale/uz-latn'
import 'moment/locale/zh-cn'
import { I18nManager } from 'react-native'

const changeListeners: Record<string, any> = {}
Expand All @@ -39,6 +40,14 @@ export const isRTL = (langCode: string) => {
return rtlList[langCode]
}

const getCorrespondingMomentLocale = (langCode?: string): string => {
if (langCode === 'la') return 'sv'
if (langCode === 'so') return 'sv'
if (langCode === 'nb_NO') return 'nb'
if (langCode === 'zh_Hant' || langCode === 'zh_Hans') return 'zh-cn'
return langCode!
}

export const LanguageService = {
get: () => Strings,
getLanguageCode: () => languageCode,
Expand All @@ -52,7 +61,7 @@ export const LanguageService = {
i18n.locale = langCode
I18nManager.forceRTL(isRTL(langCode))
}
moment.locale(langCode)
moment.locale(getCorrespondingMomentLocale(langCode))
},
setLanguageCode: ({ langCode }: { langCode?: string }) => {
if (langCode && allString[langCode]) {
Expand All @@ -68,7 +77,6 @@ export const LanguageService = {
})
return Strings
},

onChange: ({ key }: { key: string }, cb: (langCode: string) => void) => {
const unsubscribe = () => {
delete changeListeners[key]
Expand Down
29 changes: 25 additions & 4 deletions apps/skolplattformen-sthlm/utils/translation.ts
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,18 @@ export const languages: Language[] = [
languageLocalName: 'اَلْعَرَبِيَّةُ',
active: true,
},
{
langCode: 'zh_Hant',
languageName: 'Chinese (traditional)',
languageLocalName: '中國傳統的',
active: true,
},
{
langCode: 'zh_Hans',
languageName: 'Chinese (simplified)',
languageLocalName: '简体中文',
active: true,
},
{
langCode: 'nl',
languageName: 'Dutch',
Expand Down Expand Up @@ -62,26 +74,32 @@ export const languages: Language[] = [
langCode: 'ja',
languageName: 'Japanese',
languageLocalName: '日本語',
active: false,
active: true,
},
{
langCode: 'la',
languageName: 'Latin',
languageLocalName: 'Latina',
active: false,
active: true,
},
{
langCode: 'nb_NO',
languageName: 'Norwegian Bokmål',
languageLocalName: 'Norsk bokmål',
active: false,
active: true,
},
{
langCode: 'pl',
languageName: 'Polish',
languageLocalName: 'Polski',
active: true,
},
{
langCode: 'pt',
languageName: 'Portuguese',
languageLocalName: 'Português',
active: true,
},
{
langCode: 'ru',
languageName: 'Russian',
Expand All @@ -92,7 +110,7 @@ export const languages: Language[] = [
langCode: 'so',
languageName: 'Somali',
languageLocalName: 'af-Soomaali',
active: false,
active: true,
},
{
langCode: 'es',
Expand All @@ -115,9 +133,12 @@ export const translations = {
nb_NO: require('../translations/nb_NO.json'),
nl: require('../translations/nl.json'),
pl: require('../translations/pl.json'),
pt: require('../translations/pt.json'),
ru: require('../translations/ru.json'),
so: require('../translations/so.json'),
sv: require('../translations/sv.json'),
zh_Hans: require('../translations/zh_Hans.json'),
zh_Hant: require('../translations/zh_Hant.json'),
}

export const translate = (key: string, options?: TranslateOptions) => {
Expand Down
20 changes: 13 additions & 7 deletions libs/curriculum/src/translations/de.json
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
{
"subjects": {
"TN": "Zei­chen­spra­che",
"SVA": "Schewdishe als främdsprache",
"SV": "Schwedish",
"SL": "Handwerk",
"SVA": "Schwedisch als Fremdsprache",
"SV": "Schwedisch",
"SL": "Werken",
"SH": "Staats­bür­ger­kun­de",
"RE": "Re­li­gi­on",
"HI": "Historie",
"HI": "Geschichte",
"GE": "Geografie",
"NO": "Naturwissenschaftlichen Themen",
"SO": "Gesellschaftsorientierte Themen",
"NO": "Naturwissenschaften",
"SO": "Gesellschaftslehre",
"KE": "Chemie",
"FY": "Physik",
"BI": "Biologie",
Expand All @@ -18,6 +18,12 @@
"IDH": "Sport und Gesundheit",
"HKK": "Hauswirtschaft",
"EN": "Englisch",
"BL": "Kunst"
"BL": "Kunst",
"TK": "Technik"
},
"misc": {
"PRANDIUM": "Mittagspause",
"LUNCH": "Mittagspause",
"RAST": "Pause"
}
}
2 changes: 2 additions & 0 deletions libs/curriculum/src/translations/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,8 @@ const translations: Translations = {
la: require('./la.json'),
nb_NO: require('./nb_NO.json'),
pl: require('./pl.json'),
pt: require('./pt.json'),
zh_Hans: require('./zh_Hans.json'),
}
const languageList: string[] = Object.keys(translations)
export type Language = typeof languageList[number]
Expand Down
124 changes: 124 additions & 0 deletions libs/curriculum/src/translations/pt.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,124 @@
{
"subjects": {
"HKK": "Estudos domésticos e de consumo",
"BL": "Arte",
"EN": "Inglês",
"MA": "Matemática",
"MU": "Música",
"BI": "Biologia",
"FY": "Física",
"GE": "Geografia",
"NO": "Estudos científicos",
"KE": "Química",
"SO": "Temas de estudos sociais",
"IDH": "Educação física e saúde",
"TN": "Linguagem gestual",
"ES": "Estética",
"HI": "História",
"RE": "Religião",
"SH": "Educação cívica",
"SL": "Trabalhos manuais",
"SV": "Sueco",
"DA": "Estudos preparatórios de dança",
"JU": "Estudos judaicos",
"SVA": "Sueco como segunda língua",
"TK": "Tecnologia"
},
"traningsskolaSubjects": {
"VAA": "Atividades diárias",
"VEU": "Percepção",
"KOM": "Comunicação",
"MOT": "Coordenação física"
},
"languages": {
"KMR": "Curdo, norte",
"HUN": "Húngaro",
"BUL": "Búlgaro",
"ISL": "Islandês",
"KOR": "Coreano",
"SDH": "Curdo, sul",
"LIT": "Lituano",
"CKB": "Curdo, central",
"AMH": "Amárico",
"HYE": "Arménio",
"AYM": "Aimará",
"MYA": "Birmanês",
"DAN": "Dinamarquês",
"VLS": "Flamengo",
"HEB": "Hebraico",
"ITA": "Italiano",
"CAT": "Catalão",
"KUR": "Curdo",
"MLT": "Maltês",
"NOR": "Norueguês",
"RON": "Romeno",
"TIB": "Tibetano",
"UKR": "Ucraniano",
"AFR": "Africâner",
"SQI": "Albanês",
"BOS": "Bósnio",
"EST": "Estoniano",
"FIJ": "Fijiano",
"FIN": "Finlandês",
"FRA": "Francês",
"KAT": "Georgiano",
"GRE": "Grego",
"GUJ": "Gujarati",
"IND": "Indonésio",
"YID": "Iídiche",
"KAZ": "Cazaque",
"ZHO": "Chinês",
"NAN": "Chinês, min nan",
"ROP": "Crioulo",
"HRV": "Croata",
"FAS": "Persa",
"POR": "Português",
"RUS": "Russo",
"SLK": "Eslovaco",
"ARA": "Árabe",
"JPN": "Japonês",
"YUE": "Chinês, cantonês",
"LAV": "Letão",
"DEU": "Alemão",
"VIE": "Vietnamita",
"CMN": "Chinês, mandarim",
"MKD": "Macedónio",
"LAO": "Laociano",
"NLD": "Holandês",
"NEP": "Nepalês",
"HBS": "Servo-croata",
"SLV": "Esloveno",
"SPA": "Espanhol",
"CES": "Checo",
"TUR": "Turco",
"SPK": "Outro idioma"
},
"specialLanguages": {
"SVA": "O sueco como segunda língua",
"EN": "Inglês",
"FR": "Francês",
"IT": "Italiano",
"SV": "Sueco",
"PO": "Português",
"RY": "Russo",
"SAM": "Sami",
"SP": "Espanhol",
"TN": "Linguagem gestual",
"TY": "Alemão",
"FI": "Finlandês",
"JAP": "Japonês",
"KI": "Chinês"
},
"categories": {
"trainingSchool": "Escola obrigatória para crianças com graves dificuldades de aprendizagem",
"modernLanguages": "Idiomas modernos",
"unknown": "Desconhecido",
"misc": "Diversos"
},
"misc": {
"RAST": "Intervalo",
"MTID": "Tempo do mentor",
"LUNCH": "Almoço",
"PRANDIUM": "Almoço"
}
}
71 changes: 71 additions & 0 deletions libs/curriculum/src/translations/zh_Hans.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
{
"subjects": {
"BL": "美术",
"HKK": "家庭和消费者研究",
"IDH": "体育与健康",
"MA": "数学",
"MU": "音乐",
"BI": "生物",
"FY": "物理",
"KE": "化学",
"SO": "社会研究项目",
"GE": "地理",
"HI": "历史",
"RE": "宗教学",
"SH": "公民学",
"SL": "手工课",
"SV": "瑞典语",
"SVA": "瑞典语(第二语言)",
"TN": "手语",
"TK": "技术",
"JU": "犹太学",
"ES": "美学",
"EN": "英语",
"NO": "科学研究",
"DA": "预备舞蹈研究"
},
"traningsskolaSubjects": {
"MOT": "身体协调",
"VAA": "日常活动",
"VEU": "感知课",
"KOM": "传媒学"
},
"specialLanguages": {
"EN": "英语",
"IT": "意大利语",
"JAP": "日语",
"KI": "汉语",
"PO": "葡萄牙语",
"SAM": "萨米语",
"SP": "西班牙语",
"SV": "瑞典语",
"SVA": "瑞典语(第二语言)",
"TN": "手语",
"TY": "德语",
"FR": "法语",
"RY": "俄语",
"FI": "芬兰语"
},
"languages": {
"ACE": "亚齐语",
"ACH": "阿科利语",
"SPK": "其他语言",
"ZUL": "祖鲁语",
"TUR": "土耳其语",
"DEU": "德语",
"UIG": "维吾尔语",
"UKR": "乌克兰语",
"HUN": "匈牙利语",
"URD": "乌尔都语",
"UZB": "乌兹别克语",
"VIE": "越南语",
"WOL": "沃洛夫语",
"YOR": "约鲁巴语、雅里巴语、约巴语"
},
"categories": {
"unknown": "未知",
"modernLanguages": "现代语言",
"trainingSchool": "重度学习障碍儿童义务教育学校",
"misc": "杂项"
}
}