1
0
Fork 0
freesewing/packages/i18n/tests/i18n.test.js

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]);
});
}
}