]> Untitled Git - lemmy.git/commitdiff
Adding a translation report tool.
authorDessalines <tyhou13@gmx.com>
Sat, 24 Aug 2019 04:43:12 +0000 (21:43 -0700)
committerDessalines <tyhou13@gmx.com>
Sat, 24 Aug 2019 04:43:12 +0000 (21:43 -0700)
- Fixes #231

README.md
ui/translation_report.ts [new file with mode: 0644]

index 7830991f84f3c7b5181d673985c6bc711fd32760..7b0ebb4ea75557d885e9eb8f375809b123b7fa9a 100644 (file)
--- a/README.md
+++ b/README.md
@@ -165,6 +165,17 @@ If you'd like to add translations, take a look a look at the [english translatio
 
 - Languages supported: English (`en`), Chinese (`zh`), French (`fr`), Spanish (`es`), Swedish (`sv`), German (`de`), Russian (`ru`).
 
+### Report
+
+lang | missing | percent
+--- | --- | ---
+es | cross_posts,cross_post,by,to,transfer_community,transfer_site | 96%
+de | cross_posts,cross_post,users,settings,subscribed,expires,nsfw,show_nsfw,crypto,monero,joined,by,to,transfer_community,transfer_site | 91%
+zh | cross_posts,cross_post,users,settings,nsfw,show_nsfw,monero,by,to,transfer_community,transfer_site | 93%
+fr | cross_posts,cross_post,users,settings,nsfw,show_nsfw,monero,by,to,transfer_community,transfer_site | 93%
+sv | cross_posts,cross_post,settings,nsfw,show_nsfw,monero,by,to,transfer_community,transfer_site | 94%
+ru | cross_posts,cross_post,monero,by,to,transfer_community,transfer_site | 96%
+
 ## Credits
 
 Icon made by Andy Cuccaro (@andycuccaro).
diff --git a/ui/translation_report.ts b/ui/translation_report.ts
new file mode 100644 (file)
index 0000000..41d0401
--- /dev/null
@@ -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));
+}