59 lines
1.2 KiB
JavaScript
59 lines
1.2 KiB
JavaScript
let expect = require("chai").expect;
|
|
let i18n = require("../dist/index.js").strings;
|
|
|
|
let languages = [
|
|
{
|
|
name: "English",
|
|
strings: i18n.en
|
|
},
|
|
{
|
|
name: "German",
|
|
strings: i18n.de
|
|
},
|
|
{
|
|
name: "Spanish",
|
|
strings: i18n.es
|
|
},
|
|
{
|
|
name: "French",
|
|
strings: i18n.fr
|
|
},
|
|
{
|
|
name: "Dutch",
|
|
strings: i18n.nl
|
|
}
|
|
];
|
|
|
|
function checkTranslations(from, to) {
|
|
let originals = Object.keys(from.strings);
|
|
let translated = to.strings;
|
|
for (let string of originals) {
|
|
if (typeof translated[string] === "undefined") {
|
|
console.log(
|
|
"String",
|
|
string,
|
|
"in",
|
|
from.name,
|
|
"is not available in",
|
|
to.name
|
|
);
|
|
expect(typeof translated[string]).to.equal("string");
|
|
}
|
|
}
|
|
}
|
|
|
|
for (let language of languages) {
|
|
if (language.name !== "English") {
|
|
it(`All English strings should be translated to ${language.name}`, () => {
|
|
checkTranslations(languages[0], language);
|
|
});
|
|
}
|
|
}
|
|
|
|
for (let language of languages) {
|
|
if (language.name !== "English") {
|
|
it(`All ${language.name} strings should be available in English`, () => {
|
|
checkTranslations(language, languages[0]);
|
|
});
|
|
}
|
|
}
|