Page MenuHomePhorge

No OneTemporary

Size
2 KB
Referenced Files
None
Subscribers
None
diff --git a/src/i18n/compare.js b/src/i18n/compare.js
index 1e8715f365..e93143760d 100755
--- a/src/i18n/compare.js
+++ b/src/i18n/compare.js
@@ -1,27 +1,49 @@
#!/usr/bin/env node
const arg = process.argv[2]
+
+if (typeof arg === 'undefined') {
+ console.log('This is a very simple and tiny tool that checks en.json with any other language and')
+ console.log('outputs all the things present in english but missing in foreign language.')
+ console.log('')
+ console.log('Usage: ./compare.js <lang> ')
+ console.log(' or')
+ console.log(' node ./compare.js <lang>')
+ console.log('')
+ console.log('Where <lang> is name of .json file containing language. For ./fi.json it should be:')
+ console.log(' ./compare.js fi ')
+ console.log('')
+ console.log('Limitations: ')
+ console.log('* This program does not work with languages left over in messages.js')
+ console.log('* This program does not check for extra strings present in foreign language but missing')
+ console.log(' in english.js (for now)')
+ console.log('')
+ console.log('There are no other arguments or options. Make an issue if you encounter a bug or want')
+ console.log('some feature to be implemented. Merge requests are welcome as well.')
+ return
+}
+
const english = require('./en.json')
const foreign = require(`./${arg}.json`)
function walker (a, b, path = []) {
Object.keys(a).forEach(k => {
const aVal = a[k]
const bVal = b[k]
const aType = typeof aVal
const bType = typeof bVal
const currentPath = [...path, k]
const article = aType[0] === 'o' ? 'an' : 'a'
if (bType === 'undefined') {
console.log(`Foreign language is missing ${article} ${aType} at path ${currentPath.join('.')}`)
} else if (aType === 'object') {
if (bType !== 'object') {
console.log(`Type mismatch! English has ${aType} while foreign has ${bType} at path ${currentPath.join['.']}`)
} else {
walker(aVal, bVal, currentPath)
}
}
})
}
walker(english, foreign)

File Metadata

Mime Type
text/x-diff
Expires
Sat, Aug 8, 2:55 PM (1 d, 19 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
1723629
Default Alt Text
(2 KB)

Event Timeline