-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathlanguage.ts
290 lines (280 loc) · 7.88 KB
/
language.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
const defaultLang = 'en';
const langs = ['en', 'sv', 'no', 'da', 'de', 'fi'] as const;
export function getLangs() {
return [...langs] as string[];
}
export function getTranslation(lang: Lang) {
if (lang === defaultLang) {
return (key: Translation) => key;
}
return (key: Translation) => translations[key][lang];
}
export type Lang = (typeof langs)[number];
export type Translation = keyof typeof translations;
const translations = {
// --- General ---
'An online puzzle for you and your friends!': {
sv: 'Ett online pussel för dig och dina vänner!',
no: 'Et online puslespill for deg og vennene dine!',
da: 'Et online puslespil for dig og dine venner!',
de: 'Ein Online-Puzzle für dich und deine Freunde!',
fi: 'Verkkopulmapeli sinulle ja ystävillesi!',
},
'A free and open-source online puzzle where friends and family can help each other and solve fun puzzles together!':
{
sv: 'Ett gratis och open-source online pussel där vänner och familj kan hjälpas åt och lösa roliga pussel ihop!',
no: 'Et gratis og open-source online puslespill der venner og familie kan hjelpe hverandre og løse morsomme puslespill sammen!',
da: 'Et gratis og open-source online puslespil, hvor venner og familie kan hjælpe hinanden og løse sjove puslespil sammen!',
de: 'Ein kostenloses und Open-Source-Online-Puzzle, bei dem Freunde und Familie sich gegenseitig helfen und zusammen lustige Puzzles lösen können!',
fi: 'Ilmainen ja avoimen lähdekoodin verkkopulmapeli, jossa ystävät ja perhe voivat auttaa toisiaan ja ratkaista hauskat pulmat yhdessä!',
},
'puzzle, online, friends, family, social, fun, collaboration, free, open source': {
sv: 'pussel, online, vänner, familj, socialt, kul, samarbete, gratis, öppen källkod',
no: 'puslespill, online, venner, familie, sosialt, moro, samarbeid, gratis, åpen kildekode',
da: 'puslespil, online, venner, familie, socialt, sjovt, samarbejde, gratis, åben kildekode',
de: 'Puzzle, Online, Freunde, Familie, sozial, Spaß, Zusammenarbeit, kostenlos, Open Source',
fi: 'pulmapeli, verkossa, ystävät, perhe, sosiaalinen, hauska, yhteistyö, ilmainen, avoimen lähdekoodin',
},
'You have no ongoing puzzles': {
sv: 'Du har inga påbörjade pussel',
no: 'Du har ingen påbegynte puslespill',
da: 'Du har ingen igangværende puslespil',
de: 'Du hast keine laufenden Puzzles',
fi: 'Sinulla ei ole käynnissä olevia pulmia',
},
'When you have started a puzzle it will show up here so that you can finish it later.': {
sv: 'När du har påbörjat ett pussel visas det här så att du kan slutföra det senare.',
no: 'Når du har startet et puslespill, vises det her slik at du kan fullføre det senere.',
da: 'Når du har startet et puslespil, vises det her, så du kan fuldføre det senere.',
de: 'Wenn Sie ein Puzzle gestartet haben, wird es hier angezeigt, damit Sie es später fertigstellen können.',
fi: 'Kun olet aloittanut pulman, se näkyy täällä, jotta voit viimeistellä sen myöhemmin.',
},
'Select pieces and drag and rotate them to solve the puzzle. Invite your friends to help you!': {
sv: 'Välj bitar och dra och rotera dem för att lösa pusslet. Bjud in dina vänner för att hjälpa dig!',
no: 'Velg biter og dra og roter dem for å løse puslespillet. Inviter vennene dine til å hjelpe deg!',
da: 'Vælg brikker og træk og roter dem for at løse puslespillet. Inviter dine venner til at hjælpe dig!',
de: 'Wählen Sie Teile aus und ziehen und drehen Sie sie, um das Puzzle zu lösen. Lade deine Freunde ein, dir zu helfen!',
fi: 'Valitse palat ja vedä ja pyöritä niitä ratkaistaksesi pulman. Kutsu ystäväsi auttamaan sinua!',
},
// --- General ---
// --- Room ---
'Join a room': {
sv: 'Gå med i ett rum',
no: 'Bli med i et rom',
da: 'Bliv med i et rum',
de: 'Treten Sie einem Raum bei',
fi: 'Liity huoneeseen',
},
'Change room': {
sv: 'Byt rum',
no: 'Bytt rom',
da: 'Skift rum',
de: 'Raum wechseln',
fi: 'Vaihda huonetta',
},
'Enter room code': {
sv: 'Ange rumskod',
no: 'Skriv inn romkode',
da: 'Indtast rumkode',
de: 'Geben Sie den Raumcode ein',
fi: 'Anna huonekoodi',
},
'In Room': {
sv: 'I rum',
no: 'I rom',
da: 'I rum',
de: 'Im Raum',
fi: 'Huoneessa',
},
// --- Room ---
// --- Other ---
'Upload image': {
sv: 'Välj en egen bild',
no: 'Last opp et bilde',
da: 'Upload et billede',
de: 'Lade ein Bild hoch',
fi: 'Lataa kuva',
},
'Coming soon': {
sv: 'Kommer snart',
no: 'Kommer snart',
da: 'Kommer snart',
de: 'Kommt bald',
fi: 'Tulossa pian',
},
'Invite friends': {
sv: 'Bjud in vänner',
no: 'Inviter venner',
da: 'Inviter venner',
de: 'Freunde einladen',
fi: 'Kutsu ystäviä',
},
Settings: {
sv: 'Inställningar',
no: 'Innstillinger',
da: 'Indstillinger',
de: 'Einstellungen',
fi: 'Asetukset',
},
Size: {
sv: 'Storlek',
no: 'Størrelse',
da: 'Størrelse',
de: 'Größe',
fi: 'Koko',
},
'Select size': {
sv: 'Välj storlek',
no: 'Velg størrelse',
da: 'Vælg størrelse',
de: 'Größe auswählen',
fi: 'Valitse koko',
},
// --- Other ---
// --- Delete ---
'Delete puzzle': {
sv: 'Ta bort pussel',
no: 'Slett puslespill',
da: 'Slet puslespil',
de: 'Lösche Puzzle',
fi: 'Poista pulma',
},
'Are you sure?': {
sv: 'Är du säker?',
no: 'Er du sikker?',
da: 'Er du sikker?',
de: 'Bist du sicher?',
fi: 'Oletko varma?',
},
Yes: {
sv: 'Ja',
no: 'Ja',
da: 'Ja',
de: 'Ja',
fi: 'Kyllä',
},
No: {
sv: 'Nej',
no: 'Nei',
da: 'Nej',
de: 'Nein',
fi: 'Ei',
},
// --- Delete ---
// --- Puzzle ---
'New puzzle': {
sv: 'Nytt pussel',
no: 'Nytt puslespill',
da: 'Nyt puslespil',
de: 'Neues Puzzle',
fi: 'Uusi pulma',
},
'Begin puzzle': {
sv: 'Börja pussla',
no: 'Begynn å pusle',
da: 'Begynd at pusle',
de: 'Puzzle beginnen',
fi: 'Aloita pulma',
},
'Continue puzzle': {
sv: 'Fortsätt pussla',
no: 'Fortsett puslespill',
da: 'Fortsæt med at pusle',
de: 'Puzzle fortsetzen',
fi: 'Jatka pulmaa',
},
'Preparing your puzzle': {
sv: 'Förbereder ditt pussel',
no: 'Forbereder puslespillet ditt',
da: 'Forbereder dit puslespil',
de: 'Bereite dein Puzzle vor',
fi: 'Valmistellaan pulmaasi',
},
// --- Puzzle ---
// --- Categories ---
Cats: {
sv: 'Katter',
no: 'Katter',
da: 'Katte',
de: 'Katzen',
fi: 'Kissat',
},
'Beautiful oceans': {
sv: 'Vackra hav',
no: 'Vakre hav',
da: 'Smukke have',
de: 'Schöne Ozeane',
fi: 'Kauniit valtameret',
},
Nature: {
sv: 'Naturen',
no: 'Naturen',
da: 'Naturen',
de: 'Natur',
fi: 'Luonto',
},
Animals: {
sv: 'Djur',
no: 'Dyr',
da: 'Dyr',
de: 'Tiere',
fi: 'Eläimet',
},
Forests: {
sv: 'I skogen',
no: 'I skogen',
da: 'I skoven',
de: 'Im Wald',
fi: 'Metsissä',
},
People: {
sv: 'Människor',
no: 'Mennesker',
da: 'Mennesker',
de: 'Menschen',
fi: 'Ihmiset',
},
'In the mountains': {
sv: 'Uppe på begen',
no: 'På fjellet',
da: 'I bjergene',
de: 'In den Bergen',
fi: 'Vuorilla',
},
Greece: {
sv: 'Grekland',
no: 'Hellas',
da: 'Grækenland',
de: 'Griechenland',
fi: 'Kreikka',
},
Sport: {
sv: 'Sport',
no: 'Sport',
da: 'Sport',
de: 'Sport',
fi: 'Urheilu',
},
Cities: {
sv: 'Städer',
no: 'Byer',
da: 'Byer',
de: 'Städte',
fi: 'Kaupungit',
},
Babies: {
sv: 'Bebisar',
no: 'Babyer',
da: 'Babyer',
de: 'Babys',
fi: 'Vauvat',
},
Flowers: {
sv: 'Blommor',
no: 'Blomster',
da: 'Blomster',
de: 'Blumen',
fi: 'Kukat',
},
// --- Categories ---
} as const;