测试角度 - 平移fallbackLanguage

时间:2014-09-22 14:56:27

标签: json angularjs angular-translate

我试图了解是否可以对发送到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)和空值。

感谢您提供任何帮助或提示。

1 个答案:

答案 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');
    }
  }
});