diff options
author | Dessalines <tyhou13@gmx.com> | 2019-08-23 21:43:12 -0700 |
---|---|---|
committer | Dessalines <tyhou13@gmx.com> | 2019-08-23 21:43:12 -0700 |
commit | 0a44ca81b1498b9de9e7ad169cb3fe203184e72b (patch) | |
tree | 5b29847ae060dd75d7cc40d59cc01deb5d88a78b /ui | |
parent | ce90c3216ad00ef887b39bcaf8505ba00be1a95a (diff) |
Adding a translation report tool.
- Fixes #231
Diffstat (limited to 'ui')
-rw-r--r-- | ui/translation_report.ts | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/ui/translation_report.ts b/ui/translation_report.ts new file mode 100644 index 00000000..41d0401e --- /dev/null +++ b/ui/translation_report.ts @@ -0,0 +1,33 @@ +import { en } from './src/translations/en'; +import { es } from './src/translations/es'; +import { de } from './src/translations/de'; +import { zh } from './src/translations/zh'; +import { fr } from './src/translations/fr'; +import { sv } from './src/translations/sv'; +import { ru } from './src/translations/ru'; + +let files = [ + {t: es, n: 'es'}, + {t: de, n: 'de'}, + {t: zh, n: 'zh'}, + {t: fr, n: 'fr'}, + {t: sv, n: 'sv'}, + {t: ru, n: 'ru'}, +]; +let masterKeys = Object.keys(en.translation); + +let report = 'lang | missing | percent\n'; +report += '--- | --- | ---\n'; + +for (let file of files) { + let keys = Object.keys(file.t.translation); + let pct: number = (keys.length / masterKeys.length * 100); + let missing = difference(masterKeys, keys); + report += `${file.n} | ${missing} | ${pct.toFixed(0)}%\n`; +} + +console.log(report); + +function difference(a: Array<string>, b: Array<string>): Array<string> { + return a.filter(x => !b.includes(x)); +} |