Skip to content

Commit 76b06e7

Browse files
authored
feat: add Interslavic translation (via #2373)
1 parent 6a445e7 commit 76b06e7

File tree

4 files changed

+612
-375
lines changed

4 files changed

+612
-375
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,208 @@
1+
{
2+
"chart": {
3+
"duration": {
4+
"empty": "Nema informacije",
5+
"name": "Trvanje testov"
6+
},
7+
"severity": {
8+
"name": "Važnost testov"
9+
},
10+
"status": {
11+
"name": "Statusy testov"
12+
},
13+
"trend": {
14+
"empty": "Nema informacije"
15+
}
16+
},
17+
"component": {
18+
"markToggle": {
19+
"hideCases": "Skryj rezultaty označene kako \"{{mark}}\"",
20+
"showCases": "Pokaži rezultaty označene kako \"{{mark}}\""
21+
},
22+
"statusToggle": {
23+
"hideCases": "Skryj rezultaty so statusom \"{{status}}\"",
24+
"showCases": "Pokaži rezultaty so statusom \"{{status}}\""
25+
},
26+
"tree": {
27+
"download": "Daunloduj CSV",
28+
"empty": "Nema informacije",
29+
"filter": "Statusy",
30+
"filter-marks": "Označenja",
31+
"filtered": {
32+
"shown_0": "{{count}} pokazany",
33+
"shown_1": "{{count}} pokazane",
34+
"shown_2": "{{count}} pokazane",
35+
"total_0": "{{count}} test vsěgo",
36+
"total_1": "{{count}} testy vsěgo",
37+
"total_2": "{{count}} testov vsěgo"
38+
},
39+
"groups": "Pokaži informaciju o grupah",
40+
"time": {
41+
"max": {
42+
"name": "Najvyše dolgy",
43+
"tooltip": "Koliko časa trval najvyše dolgy test v grupě"
44+
},
45+
"sum": {
46+
"name": "V sumě",
47+
"tooltip": "Suma trvanij vsih testov v grupě"
48+
},
49+
"total": {
50+
"name": "Cělo",
51+
"tooltip": "Čas od početka prvogo testa do konca poslědnogo"
52+
}
53+
},
54+
"unknown": "<Nema>"
55+
},
56+
"widgetStatus": {
57+
"showAll": "Pokaži vsečto",
58+
"total_0": "{{count}} element vsěgo",
59+
"total_1": "{{count}} elementa vsěgo",
60+
"total_2": "{{count}} elementov vsěgo"
61+
}
62+
},
63+
"controls": {
64+
"backto": "Vzad do",
65+
"clipboard": "Kopiruj do klipborda",
66+
"clipboardError": "Pogrěška. Věrojetno, vaša prěgledka (brauzer) ne podpira kopirovanje do klipborda.",
67+
"clipboardSuccess": "Tekst byl skopirovany",
68+
"collapse": "Minimizuj",
69+
"expand": "Razširi",
70+
"fullscreen": "Na cěly ekran",
71+
"language": "Izměni jezyk"
72+
},
73+
"errors": {
74+
"missedAttachment": "Priloga ne najdena",
75+
"notFound": "Ne najdeno"
76+
},
77+
"marks": {
78+
"flaky": "Nestabilny",
79+
"newBroken": "Iznova slomjeny",
80+
"newFailed": "Iznova neuspěšny",
81+
"newPassed": "Iznova uspěšny",
82+
"retriesStatusChange": "Status měnjal se od proby do proby"
83+
},
84+
"sorter": {
85+
"duration": "trvanje",
86+
"name": "nazva",
87+
"order": "poredok",
88+
"status": "status"
89+
},
90+
"status": {
91+
"broken": "Slomjeny",
92+
"failed": "Neuspěšny",
93+
"passed": "Uspěšny",
94+
"skipped": "Propuščeny",
95+
"unknown": "Neznany"
96+
},
97+
"tab": {
98+
"categories": {
99+
"name": "Kategorije"
100+
},
101+
"graph": {
102+
"name": "Diagramy"
103+
},
104+
"overview": {
105+
"name": "Prěgled"
106+
},
107+
"suites": {
108+
"name": "Komplety testov"
109+
},
110+
"timeline": {
111+
"name": "Hronologija",
112+
"selected_0": "Izbrany {{count}} test ({{percent}}%) s trvanjem vyše od {{duration}}",
113+
"selected_1": "Izbrane {{count}} testy ({{percent}}%) s trvanjem vyše od {{duration}}",
114+
"selected_2": "Izbrane {{count}} testov ({{percent}}%) s trvanjem vyše od {{duration}}"
115+
}
116+
},
117+
"testResult": {
118+
"categories": {
119+
"name": "Kategorije"
120+
},
121+
"description": {
122+
"name": "Opis"
123+
},
124+
"duration": {
125+
"name": "Trvanje"
126+
},
127+
"execution": {
128+
"body": "Tělo testa",
129+
"name": "Izpolnjenje",
130+
"setup": "Prigotovjenje",
131+
"teardown": "Zaključenje"
132+
},
133+
"history": {
134+
"name": "Historija",
135+
"successRate": "Procent uspěha"
136+
},
137+
"links": {
138+
"name": "Linky"
139+
},
140+
"overview": {
141+
"name": "Prěgled"
142+
},
143+
"owner": {
144+
"name": "Vlastnik"
145+
},
146+
"parameters": {
147+
"name": "Parametry"
148+
},
149+
"retries": {
150+
"empty": "Nema informacije o minulyh probah testa",
151+
"name": "Minule proby"
152+
},
153+
"severity": {
154+
"name": "Važnost"
155+
},
156+
"stats": {
157+
"count": {
158+
"attachments_0": "{{count}} priloga",
159+
"attachments_1": "{{count}} prilogy",
160+
"attachments_2": "{{count}} prilog",
161+
"parameters_0": "{{count}} parametr",
162+
"parameters_1": "{{count}} parametry",
163+
"parameters_2": "{{count}} parametrov",
164+
"steps_0": "{{count}} vloženy krok",
165+
"steps_1": "{{count}} vložene kroky",
166+
"steps_2": "{{count}} vloženyh krokov"
167+
}
168+
},
169+
"status": {
170+
"empty": "Nema dodatnoj informacije o statusu",
171+
"trace": "Pokaži dodatnu informaciju"
172+
}
173+
},
174+
"widget": {
175+
"categories": {
176+
"name": "Kategorije"
177+
},
178+
"environment": {
179+
"empty": "Nema informacije o obsrědině",
180+
"name": "Obsrědina",
181+
"showAll": "Pokaži vsečto"
182+
},
183+
"executors": {
184+
"empty": "Nema informacije o izpolniteljah",
185+
"name": "Sistemy izpolnjenja testov",
186+
"unknown": "Neznano"
187+
},
188+
"launches": {
189+
"empty": "Nema informacije o puščenjah",
190+
"name": "Puščenja testov"
191+
},
192+
"suites": {
193+
"name": "Komplety testov"
194+
},
195+
"summary": {
196+
"aggregatedName": "Agregovany raport",
197+
"launches_0": "puščenje testov",
198+
"launches_1": "puščenja testov",
199+
"launches_2": "puščenij testov",
200+
"testResults_0": "testovy scenarij",
201+
"testResults_1": "testove scenarije",
202+
"testResults_2": "testovyh scenarijev"
203+
},
204+
"trend": {
205+
"name": "Trend"
206+
}
207+
}
208+
}
Original file line numberDiff line numberDiff line change
@@ -1,49 +1,56 @@
1-
import i18next from "i18next";
2-
import gtag from "./gtag";
3-
import settings from "./settings";
4-
5-
export const LANGUAGES = [
6-
{ id: "en", title: "English" },
7-
{ id: "ru", title: "Русский" },
8-
{ id: "zh", title: "中文" },
9-
{ id: "de", title: "Deutsch" },
10-
{ id: "nl", title: "Nederlands" },
11-
{ id: "he", title: "Hebrew" },
12-
{ id: "br", title: "Brazil" },
13-
{ id: "pl", title: "Polski" },
14-
{ id: "ja", title: "日本語" },
15-
{ id: "es", title: "Español" },
16-
{ id: "kr", title: "한국어" },
17-
{ id: "fr", title: "Français" },
18-
{ id: "az", title: "Azərbaycanca" },
19-
{ id: "tr", title: "Türkçe" },
20-
];
21-
22-
LANGUAGES.map((lang) => lang.id).forEach((lang) =>
23-
addTranslation(lang, require(`../translations/${lang}`)),
24-
);
25-
26-
export function initTranslations() {
27-
return new Promise((resolve, reject) => {
28-
const language = settings.get("language");
29-
i18next.init(
30-
{
31-
lng: language,
32-
interpolation: {
33-
escapeValue: false,
34-
},
35-
fallbackLng: "en",
36-
},
37-
(err) => (err ? reject(err) : resolve()),
38-
);
39-
gtag("init_language", { language: language || "en" });
40-
});
41-
}
42-
43-
export function addTranslation(lang, json) {
44-
i18next.on("initialized", () => {
45-
i18next.services.resourceStore.addResourceBundle(lang, i18next.options.ns[0], json, true, true);
46-
});
47-
}
48-
49-
export default i18next;
1+
import i18next from "i18next";
2+
import gtag from "./gtag";
3+
import settings from "./settings";
4+
5+
export const LANGUAGES = [
6+
{ id: "en", title: "English" },
7+
{ id: "ru", title: "Русский" },
8+
{ id: "zh", title: "中文" },
9+
{ id: "de", title: "Deutsch" },
10+
{ id: "nl", title: "Nederlands" },
11+
{ id: "he", title: "Hebrew" },
12+
{ id: "br", title: "Brazil" },
13+
{ id: "pl", title: "Polski" },
14+
{ id: "ja", title: "日本語" },
15+
{ id: "es", title: "Español" },
16+
{ id: "kr", title: "한국어" },
17+
{ id: "fr", title: "Français" },
18+
{ id: "az", title: "Azərbaycanca" },
19+
{ id: "tr", title: "Türkçe" },
20+
{ id: "isv", abbr: "Ⱄ", title: "Medžuslovjansky" },
21+
];
22+
23+
LANGUAGES.map((lang) => lang.id).forEach((lang) =>
24+
addTranslation(lang, require(`../translations/${lang}`)),
25+
);
26+
27+
export function initTranslations() {
28+
return new Promise((resolve, reject) => {
29+
const language = settings.get("language");
30+
i18next.init(
31+
{
32+
lng: language,
33+
interpolation: {
34+
escapeValue: false,
35+
},
36+
fallbackLng: "en",
37+
},
38+
(err) => (err ? reject(err) : resolve()),
39+
);
40+
41+
i18next.on("initialized", () => {
42+
const pluralResolver = i18next.services.pluralResolver;
43+
pluralResolver.addRule("isv", pluralResolver.getRule("be"));
44+
});
45+
46+
gtag("init_language", { language: language || "en" });
47+
});
48+
}
49+
50+
export function addTranslation(lang, json) {
51+
i18next.on("initialized", () => {
52+
i18next.services.resourceStore.addResourceBundle(lang, i18next.options.ns[0], json, true, true);
53+
});
54+
}
55+
56+
export default i18next;

0 commit comments

Comments
 (0)