我试图了解是否可以对发送到angular-tranlsate的翻译文件进行某种测试(unit / e2e),以检查某些密钥是否意外未被翻译。
我想说 fr.json:
key1 : 'ma première chaîne',
key2 : 'ma deuxième chaîne',
key3 : 'ma troisième chaîne',
key4 : 'ma quatrième chaîne'
和en.json:
key1 : 'my first string',
key2 : 'my second string',
key4 : ''
请注意丢失的' key3'在en.json中,' key4'
的空值所以,假设我将fr.json定义为fallbackLanguage,我想测试一下' en.json'看看它是否遗漏了一些键(这些是关于fallbackLanguage)和空值。
感谢您提供任何帮助或提示。
答案 0 :(得分:1)
似乎是angular-translate
选项。 See here
$translateProvider
.translations('de', { /* ... */ })
.translations('en', { /* ... */ })
.fallbackLanguage('en');
编辑:
要手动检查是否缺少按键,可以执行以下操作:
$q.all([
$http.get('/path/to/fr.json'),
$http.get('/path/to/en.json')
]).then(function (results) {
var fr = results[0],
en = results[1],
i;
for (i in fr) {
if (!fr.hasOwnPropery(i)) { continue; }
if (!(i in en)) {
console.log(i + 'is in fr but not in en');
}
}
for (i in en) {
if (!en.hasOwnPropery(i)) { continue; }
if (!(i in fr)) {
console.log(i + 'is in en but not in fr');
}
}
});