aboutsummaryrefslogtreecommitdiffstats
path: root/development/verify-locale-strings.js
diff options
context:
space:
mode:
authorkumavis <aaron@kumavis.me>2018-03-21 04:01:08 +0800
committerkumavis <aaron@kumavis.me>2018-03-21 04:01:08 +0800
commit29cc2f8ab9628d21cc32962666879c71be4e69d1 (patch)
tree592a68784a7e8f7ee600249380fb2f4e11d1e8dd /development/verify-locale-strings.js
parent2ddc2cc1fbe5249f70d80e2a74146cb87dcc8421 (diff)
parentfd3e240dd934c0938a57344a6ae09a213aaa8e37 (diff)
downloadtangerine-wallet-browser-29cc2f8ab9628d21cc32962666879c71be4e69d1.tar
tangerine-wallet-browser-29cc2f8ab9628d21cc32962666879c71be4e69d1.tar.gz
tangerine-wallet-browser-29cc2f8ab9628d21cc32962666879c71be4e69d1.tar.bz2
tangerine-wallet-browser-29cc2f8ab9628d21cc32962666879c71be4e69d1.tar.lz
tangerine-wallet-browser-29cc2f8ab9628d21cc32962666879c71be4e69d1.tar.xz
tangerine-wallet-browser-29cc2f8ab9628d21cc32962666879c71be4e69d1.tar.zst
tangerine-wallet-browser-29cc2f8ab9628d21cc32962666879c71be4e69d1.zip
Merge branch 'master' of github.com:MetaMask/metamask-extension into i18n-translator-redux
Diffstat (limited to 'development/verify-locale-strings.js')
-rw-r--r--development/verify-locale-strings.js96
1 files changed, 96 insertions, 0 deletions
diff --git a/development/verify-locale-strings.js b/development/verify-locale-strings.js
new file mode 100644
index 000000000..b8fe5a7dc
--- /dev/null
+++ b/development/verify-locale-strings.js
@@ -0,0 +1,96 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+// Locale verification script
+//
+// usage:
+//
+// node app/scripts/verify-locale-strings.js <locale>
+//
+// will check the given locale against the strings in english
+//
+////////////////////////////////////////////////////////////////////////////////
+
+var fs = require('fs')
+var path = require('path')
+
+console.log('Locale Verification')
+
+var locale = process.argv[2]
+if (!locale || locale == '') {
+ console.log('Must enter a locale as argument. exitting')
+ process.exit(1)
+}
+
+console.log("verifying for locale " + locale)
+
+localeFilePath = path.join(process.cwd(), 'app', '_locales', locale, 'messages.json')
+try {
+ localeObj = JSON.parse(fs.readFileSync(localeFilePath, 'utf8'));
+} catch (e) {
+ if(e.code == 'ENOENT') {
+ console.log('Locale file not found')
+ } else {
+ console.log('Error opening your locale file: ', e)
+ }
+ process.exit(1)
+}
+
+englishFilePath = path.join(process.cwd(), 'app', '_locales', 'en', 'messages.json')
+try {
+ englishObj = JSON.parse(fs.readFileSync(englishFilePath, 'utf8'));
+} catch (e) {
+ if(e.code == 'ENOENT') {
+ console.log("English File not found")
+ } else {
+ console.log("Error opening english locale file: ", e)
+ }
+ process.exit(1)
+}
+
+console.log('\tverifying whether all your locale strings are contained in the english one')
+
+var counter = 0
+var foundErrorA = false
+var notFound = [];
+Object.keys(localeObj).forEach(function(key){
+ if (!englishObj[key]) {
+ foundErrorA = true
+ notFound.push(key)
+ }
+ counter++
+})
+
+if (foundErrorA) {
+ console.log('\nThe following string(s) is(are) not found in the english locale:')
+ notFound.forEach(function(key) {
+ console.log(key)
+ })
+} else {
+ console.log('\tall ' + counter +' strings declared in your locale were found in the english one')
+}
+
+console.log('\n\tverifying whether your locale contains all english strings')
+
+var counter = 0
+var foundErrorB = false
+var notFound = [];
+Object.keys(englishObj).forEach(function(key){
+ if (!localeObj[key]) {
+ foundErrorB = true
+ notFound.push(key)
+ }
+ counter++
+})
+
+if (foundErrorB) {
+ console.log('\nThe following string(s) is(are) not found in the your locale:')
+ notFound.forEach(function(key) {
+ console.log(key)
+ })
+} else {
+ console.log('\tall ' + counter +' english strings were found in your locale!')
+}
+
+if (!foundErrorA && !foundErrorB) {
+ console.log('You are good to go')
+} \ No newline at end of file