From 4cf2ee9b17693d5a3f9b54f0914b3816d308efbe Mon Sep 17 00:00:00 2001 From: Paulo Gustavo Veiga Date: Sat, 28 Nov 2020 09:50:35 -0800 Subject: [PATCH] Add compiled messages --- .eslintcache | 2 +- README.md | 7 +- lang/en.json | 63 ++++++++++++++++ src/lang/en.json => lang/es.json | 2 +- public/favicon.png | Bin 0 -> 27719 bytes src/LoginPage.js | 8 +- src/compiled-lang/en.json | 122 +++++++++++++++++++++++++++++++ src/compiled-lang/es.json | 82 +++++++++++++++++++++ src/index.js | 21 ++++-- src/lang/es.json | 5 -- 10 files changed, 294 insertions(+), 18 deletions(-) create mode 100644 lang/en.json rename src/lang/en.json => lang/es.json (97%) create mode 100644 public/favicon.png create mode 100644 src/compiled-lang/en.json create mode 100644 src/compiled-lang/es.json delete mode 100644 src/lang/es.json diff --git a/.eslintcache b/.eslintcache index 44575a01..90a99a47 100644 --- a/.eslintcache +++ b/.eslintcache @@ -1 +1 @@ -[{"/Users/pveiga/repos/wisemapping-react/src/Footer.js":"1","/Users/pveiga/repos/wisemapping-react/src/Header.js":"2","/Users/pveiga/repos/wisemapping-react/src/index.js":"3","/Users/pveiga/repos/wisemapping-react/src/LoginPage.js":"4"},{"size":1747,"mtime":1606529689598,"results":"5","hashOfConfig":"6"},{"size":1557,"mtime":1606529996629,"results":"7","hashOfConfig":"6"},{"size":531,"mtime":1606582877518,"results":"8","hashOfConfig":"6"},{"size":4184,"mtime":1606583450721,"results":"9","hashOfConfig":"6"},{"filePath":"10","messages":"11","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"1xegajf",{"filePath":"12","messages":"13","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"14","messages":"15","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"16","messages":"17","errorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},"/Users/pveiga/repos/wisemapping-react/src/Footer.js",[],"/Users/pveiga/repos/wisemapping-react/src/Header.js",[],"/Users/pveiga/repos/wisemapping-react/src/index.js",[],"/Users/pveiga/repos/wisemapping-react/src/LoginPage.js",["18"],{"ruleId":"19","severity":1,"message":"20","line":7,"column":7,"nodeType":"21","messageId":"22","endLine":7,"endColumn":26},"no-unused-vars","'ConfigStatusMessage' is defined but never used.","Identifier","unusedVar"] \ No newline at end of file +[{"/Users/pveiga/repos/wisemapping-react/src/Footer.js":"1","/Users/pveiga/repos/wisemapping-react/src/Header.js":"2","/Users/pveiga/repos/wisemapping-react/src/index.js":"3","/Users/pveiga/repos/wisemapping-react/src/LoginPage.js":"4"},{"size":1747,"mtime":1606529689598,"results":"5","hashOfConfig":"6"},{"size":1557,"mtime":1606529996629,"results":"7","hashOfConfig":"6"},{"size":702,"mtime":1606586450512,"results":"8","hashOfConfig":"6"},{"size":4283,"mtime":1606584003214,"results":"9","hashOfConfig":"6"},{"filePath":"10","messages":"11","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"1xegajf",{"filePath":"12","messages":"13","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"14","messages":"15","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"16","messages":"17","errorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},"/Users/pveiga/repos/wisemapping-react/src/Footer.js",[],"/Users/pveiga/repos/wisemapping-react/src/Header.js",[],"/Users/pveiga/repos/wisemapping-react/src/index.js",[],"/Users/pveiga/repos/wisemapping-react/src/LoginPage.js",["18"],{"ruleId":"19","severity":1,"message":"20","line":7,"column":7,"nodeType":"21","messageId":"22","endLine":7,"endColumn":26},"no-unused-vars","'ConfigStatusMessage' is defined but never used.","Identifier","unusedVar"] \ No newline at end of file diff --git a/README.md b/README.md index a3d7125e..1ee14da0 100644 --- a/README.md +++ b/README.md @@ -71,4 +71,9 @@ This section has moved here: [https://facebook.github.io/create-react-app/docs/t # Generate I18n resource -npm run extract -- 'src/*.js' --out-file src/lang/en.json +## Extract +npm run extract -- 'src/*.js' --out-file lang/en.json + +## Compile +npm run compile -- lang/en.json --ast --out-file src/compiled-lang/en.json +npm run compile -- lang/es.json --ast --out-file src/compiled-lang/es.json diff --git a/lang/en.json b/lang/en.json new file mode 100644 index 00000000..6e4e9b9b --- /dev/null +++ b/lang/en.json @@ -0,0 +1,63 @@ +{ + "ABOUT_US": { + "defaultMessage": "About Us" + }, + "CONTACT_US": { + "defaultMessage": "Contact Us" + }, + "DONATIONS": { + "defaultMessage": "PayPal Donations" + }, + "DONT_HAVE_ACCOUNT": { + "defaultMessage": "Don't have an account ?" + }, + "EMAIL": { + "defaultMessage": "Email" + }, + "FAQ": { + "defaultMessage": "F.A.Q." + }, + "FEEDBACK": { + "defaultMessage": "Feedback" + }, + "FORGOT_PASSWORD": { + "defaultMessage": "Forgot Password ?" + }, + "LOGIN_ERROR": { + "defaultMessage": "The email address or password you entered is not valid." + }, + "LOG_INTO": { + "defaultMessage": "Log Into Your Account" + }, + "NO_PRODUCTION_DATABASE_CONFIGURED": { + "defaultMessage": "Warning: Although HSQLDB is bundled with WiseMapping by default during the installation, we do not recommend this database for production use. Please consider using MySQL 5.7 instead. You can find more information how to configure MySQL", + "description": "Missing production database configured" + }, + "OPEN_SOURCE": { + "defaultMessage": "Open Source" + }, + "PASSWORD": { + "defaultMessage": "Password" + }, + "REMEMBER_ME": { + "defaultMessage": "Remember me" + }, + "SIGN_IN": { + "defaultMessage": "Sign In" + }, + "SIGN_UP": { + "defaultMessage": "Sign Up" + }, + "SING_IN": { + "defaultMessage": "Sign In" + }, + "TERMS_AND_CONDITIONS": { + "defaultMessage": "Term And Conditions" + }, + "USER_INACTIVE": { + "defaultMessage": "Sorry, your account has not been activated yet. You'll receive a notification email when it becomes active. Stay tuned!." + }, + "WELCOME": { + "defaultMessage": "Welcome" + } +} \ No newline at end of file diff --git a/src/lang/en.json b/lang/es.json similarity index 97% rename from src/lang/en.json rename to lang/es.json index 0177270f..41e98ba8 100644 --- a/src/lang/en.json +++ b/lang/es.json @@ -58,6 +58,6 @@ "defaultMessage": "Sorry, your account has not been activated yet. You'll receive a notification email when it becomes active. Stay tuned!." }, "WELCOME": { - "defaultMessage": "Welcome" + "defaultMessage": "Bienvenido" } } \ No newline at end of file diff --git a/public/favicon.png b/public/favicon.png new file mode 100644 index 0000000000000000000000000000000000000000..48fbc476e30d32baa0c512285600111fe5dbb7c4 GIT binary patch literal 27719 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%0A=Cik#8c&UA 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 +
diff --git a/src/compiled-lang/en.json b/src/compiled-lang/en.json new file mode 100644 index 00000000..fc192f3f --- /dev/null +++ b/src/compiled-lang/en.json @@ -0,0 +1,122 @@ +{ + "ABOUT_US": [ + { + "type": 0, + "value": "About Us" + } + ], + "CONTACT_US": [ + { + "type": 0, + "value": "Contact Us" + } + ], + "DONATIONS": [ + { + "type": 0, + "value": "PayPal Donations" + } + ], + "DONT_HAVE_ACCOUNT": [ + { + "type": 0, + "value": "Don't have an account ?" + } + ], + "EMAIL": [ + { + "type": 0, + "value": "Email" + } + ], + "FAQ": [ + { + "type": 0, + "value": "F.A.Q." + } + ], + "FEEDBACK": [ + { + "type": 0, + "value": "Feedback" + } + ], + "FORGOT_PASSWORD": [ + { + "type": 0, + "value": "Forgot Password ?" + } + ], + "LOGIN_ERROR": [ + { + "type": 0, + "value": "The email address or password you entered is not valid." + } + ], + "LOG_INTO": [ + { + "type": 0, + "value": "Log Into Your Account" + } + ], + "NO_PRODUCTION_DATABASE_CONFIGURED": [ + { + "type": 0, + "value": "Warning: Although HSQLDB is bundled with WiseMapping by default during the installation, we do not recommend this database for production use. Please consider using MySQL 5.7 instead. You can find more information how to configure MySQL" + } + ], + "OPEN_SOURCE": [ + { + "type": 0, + "value": "Open Source" + } + ], + "PASSWORD": [ + { + "type": 0, + "value": "Password" + } + ], + "REMEMBER_ME": [ + { + "type": 0, + "value": "Remember me" + } + ], + "SIGN_IN": [ + { + "type": 0, + "value": "Sign In" + } + ], + "SIGN_UP": [ + { + "type": 0, + "value": "Sign Up" + } + ], + "SING_IN": [ + { + "type": 0, + "value": "Sign In" + } + ], + "TERMS_AND_CONDITIONS": [ + { + "type": 0, + "value": "Term And Conditions" + } + ], + "USER_INACTIVE": [ + { + "type": 0, + "value": "Sorry, your account has not been activated yet. You'll receive a notification email when it becomes active. Stay tuned!." + } + ], + "WELCOME": [ + { + "type": 0, + "value": "Welcome" + } + ] +} \ No newline at end of file diff --git a/src/compiled-lang/es.json b/src/compiled-lang/es.json new file mode 100644 index 00000000..fc08cff9 --- /dev/null +++ b/src/compiled-lang/es.json @@ -0,0 +1,82 @@ +{ + "ABOUT_US": [{ + "type": 0, + "value": "About Us" + }], + "CONTACT_US": [{ + "type": 0, + "value": "Contact Us" + }], + "DONATIONS": [{ + "type": 0, + "value": "PayPal Donations" + }], + "DONT_HAVE_ACCOUNT": [{ + "type": 0, + "value": "Don't have an account ?" + }], + "EMAIL": [{ + "type": 0, + "value": "Email" + }], + "FAQ": [{ + "type": 0, + "value": "F.A.Q." + }], + "FEEDBACK": [{ + "type": 0, + "value": "Feedback" + }], + "FORGOT_PASSWORD": [{ + "type": 0, + "value": "Forgot Password ?" + }], + "LOGIN_ERROR": [{ + "type": 0, + "value": "The email address or password you entered is not valid." + }], + "LOG_INTO": [{ + "type": 0, + "value": "Log Into Your Account" + }], + "NO_PRODUCTION_DATABASE_CONFIGURED": [{ + "type": 0, + "value": "Warning: Although HSQLDB is bundled with WiseMapping by default during the installation, we do not recommend this database for production use. Please consider using MySQL 5.7 instead. You can find more information how to configure MySQL" + }], + "OPEN_SOURCE": [{ + "type": 0, + "value": "Open Source" + }], + "PASSWORD": [{ + "type": 0, + "value": "Password" + }], + "REMEMBER_ME": [{ + "type": 0, + "value": "Remember me" + }], + "SIGN_IN": [{ + "type": 0, + "value": "Sign In" + }], + "SIGN_UP": [{ + "type": 0, + "value": "Sign Up" + }], + "SING_IN": [{ + "type": 0, + "value": "Sign In" + }], + "TERMS_AND_CONDITIONS": [{ + "type": 0, + "value": "Term And Conditions" + }], + "USER_INACTIVE": [{ + "type": 0, + "value": "Sorry, your account has not been activated yet. You'll receive a notification email when it becomes active. Stay tuned!." + }], + "WELCOME": [{ + "type": 0, + "value": "Bienvenido" + }] +} \ No newline at end of file diff --git a/src/index.js b/src/index.js index 0e09b3bb..4d4ef777 100644 --- a/src/index.js +++ b/src/index.js @@ -6,19 +6,26 @@ import LoginPage from './LoginPage.js'; function loadLocaleData(locale) { switch (locale) { - case 'en': - return import('./lang/es.json') + case 'es': + return import('./compiled-lang/es.json') default: - return import('./lang/es.json') + return import('./compiled-lang/en.json') } } -async function bootstrapApplication(locale) { - const messages = loadLocaleData(locale); +async function bootstrapApplication() { + const locale = window.navigator.language; + console.log("Browser Locale:" + window.navigator.language) + + const messages = loadLocaleData(locale); + console.log("loadLocaleData:" + toString(messages)) + + ReactDOM.render( - + , document.getElementById('root') ) } -bootstrapApplication('en') + +bootstrapApplication() diff --git a/src/lang/es.json b/src/lang/es.json deleted file mode 100644 index d8f08d8b..00000000 --- a/src/lang/es.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "FORGOT_PASSWORD": { - "defaultMessage": "Olvido Password" - } -} \ No newline at end of file