From 17bf519cb0c9e886404ffad4758a94d812efa9e3 Mon Sep 17 00:00:00 2001 From: John Cardinal Date: Fri, 6 Mar 2020 20:08:50 +0000 Subject: [PATCH] --- ayanova/devdocs/test protocol.txt | 2 +- ayanova/devdocs/todo.txt | 35 ++--- ayanova/src/App.vue | 2 +- ayanova/src/api/errorhandler.js | 4 +- ayanova/src/api/gzapi.js | 8 +- ayanova/src/api/gzdialog.js | 24 ++-- ayanova/src/api/gzform.js | 28 ++-- ayanova/src/api/gzmenu.js | 20 +-- ayanova/src/api/initialize.js | 120 +++++++++--------- ayanova/src/api/{locale.js => translation.js} | 14 +- ayanova/src/components/currency-control.vue | 10 +- .../src/components/custom-fields-control.vue | 6 +- ayanova/src/components/date-control.vue | 24 ++-- ayanova/src/components/date-time-control.vue | 28 ++-- ayanova/src/components/decimal-control.vue | 8 +- ayanova/src/components/gz-data-table.vue | 33 ++--- ayanova/src/components/gznotify.vue | 2 +- ayanova/src/components/tag-picker.vue | 6 +- ayanova/src/components/time-control.vue | 24 ++-- ayanova/src/main.js | 4 +- ayanova/src/router.js | 6 +- ayanova/src/store.js | 8 +- ayanova/src/views/acc-accounting.vue | 2 +- ayanova/src/views/adm-attachments.vue | 2 +- ayanova/src/views/adm-global-settings.vue | 2 +- ayanova/src/views/adm-history.vue | 2 +- ayanova/src/views/adm-license.vue | 2 +- ayanova/src/views/adm-localized-text.vue | 2 +- ayanova/src/views/adm-report-templates.vue | 2 +- ayanova/src/views/adm-statistics.vue | 2 +- ayanova/src/views/adm-users.vue | 2 +- ayanova/src/views/ay-about.vue | 24 ++-- ayanova/src/views/ay-attachments.vue | 2 +- ayanova/src/views/ay-customize.vue | 12 +- ayanova/src/views/ay-data-list-view.vue | 26 ++-- ayanova/src/views/ay-history.vue | 2 +- ayanova/src/views/ay-log.vue | 6 +- ayanova/src/views/ay-review.vue | 2 +- ayanova/src/views/ay-wiki.vue | 2 +- ayanova/src/views/cust-customers.vue | 2 +- ayanova/src/views/cust-headoffices.vue | 2 +- ayanova/src/views/customer-csr-list.vue | 2 +- ayanova/src/views/customer-workorders.vue | 2 +- ayanova/src/views/home-dashboard.vue | 2 +- ayanova/src/views/home-memos.vue | 2 +- .../src/views/home-notify-subscriptions.vue | 2 +- ayanova/src/views/home-password.vue | 12 +- ayanova/src/views/home-reminders.vue | 2 +- ayanova/src/views/home-schedule.vue | 2 +- ayanova/src/views/home-search.vue | 2 +- .../{home-locale.vue => home-translation.vue} | 2 +- ayanova/src/views/home-user-settings.vue | 18 +-- ayanova/src/views/inv-adjustments.vue | 2 +- ayanova/src/views/inv-part-inventory.vue | 2 +- ayanova/src/views/inv-part-requests.vue | 2 +- ayanova/src/views/inv-parts.vue | 2 +- .../src/views/inv-purchase-order-receipts.vue | 2 +- ayanova/src/views/inv-purchase-orders.vue | 2 +- ayanova/src/views/notfound.vue | 4 +- ayanova/src/views/ops-backup.vue | 2 +- ayanova/src/views/ops-jobs.vue | 2 +- ayanova/src/views/ops-log.vue | 2 +- ayanova/src/views/ops-metrics.vue | 2 +- .../src/views/ops-notification-settings.vue | 2 +- ayanova/src/views/svc-contracts.vue | 2 +- ayanova/src/views/svc-csr-list.vue | 2 +- ayanova/src/views/svc-loaners.vue | 2 +- ayanova/src/views/svc-pm-list.vue | 2 +- ayanova/src/views/svc-pm-templates.vue | 4 +- ayanova/src/views/svc-quote-templates.vue | 2 +- ayanova/src/views/svc-quotes.vue | 2 +- ayanova/src/views/svc-schedule.vue | 2 +- ayanova/src/views/svc-unit-models.vue | 2 +- ayanova/src/views/svc-units.vue | 2 +- ayanova/src/views/svc-workorder-templates.vue | 2 +- ayanova/src/views/svc-workorders.vue | 2 +- ayanova/src/views/vendors.vue | 2 +- ayanova/src/views/widget.vue | 18 +-- ayanova/src/views/widgets.vue | 6 +- 79 files changed, 331 insertions(+), 309 deletions(-) rename ayanova/src/api/{locale.js => translation.js} (96%) rename ayanova/src/views/{home-locale.vue => home-translation.vue} (87%) diff --git a/ayanova/devdocs/test protocol.txt b/ayanova/devdocs/test protocol.txt index 055c3b4a..5c387703 100644 --- a/ayanova/devdocs/test protocol.txt +++ b/ayanova/devdocs/test protocol.txt @@ -44,7 +44,7 @@ EDGE desktop =-=-=-=-=- OLD STUFF =-=-=-=- - does it update automatically - No localization bugs - - Login as different locale users and confirm no ?? showing + - Login as different translation users and confirm no ?? showing - Menu - surfaces properly given size changes - enabled works diff --git a/ayanova/devdocs/todo.txt b/ayanova/devdocs/todo.txt index 3faa7145..1e10b837 100644 --- a/ayanova/devdocs/todo.txt +++ b/ayanova/devdocs/todo.txt @@ -45,18 +45,19 @@ CURRENT TODOs @@@@@@@@@@@ ROADMAP STAGE 1 and 2: -todo: locale is a confusing term, can it be surfaced with something a little more on the nose? +todo: translation is a confusing term, can it be surfaced with something a little more on the nose? - "Translation" - + +todo: move the now properly "locale" settings for the browser OUT of translation.js into somewhere more appropriate and fixup calling code appropriately -todo: move locale setting for user to useroptions object +todo: move translation setting for user to useroptions object - then put on form and document - also, any other things in User that should be in UserOptions? (like user configurable stuff) todo: User settings && password change documentation - do it now? - - needs section explaining about how locale is displayed so can link to it from other places + - needs section explaining about how translation is displayed so can link to it from other places - is that it's own page? (maybe because each subject should be short and focused and look clean with lots of whitespace, clear large text) - If I do it in parallel it will be done when I'm done - If I wait I won't waste time with changes needing to be udpated @@ -128,8 +129,8 @@ todo: ANY TIME - SIDE v7 STUFF DataDump plugin needs an explanation of what it i =================== FINALIZATION OF EDIT FORM BEFORE "STAMPING" OUT MORE =========================================== todo: VET translations - There are still a large number of non translated lt's in the non english stock languages (i.e. "More...") - - Make it easy to dump the local storage locale text for vetting the translations - - Login as each language, exercise the entire UI and then dump all the locale text that was fetched from the server and look for non english words + - Make it easy to dump the local storage translation text for vetting the translations + - Login as each language, exercise the entire UI and then dump all the translation text that was fetched from the server and look for non english words todo: REPORT LIST @@ -173,7 +174,7 @@ todo: AUTOMATIC TEST *** SUPER IMPORTANT ***** - Ideally it will test every input component and validate the entire record round trips properly, maybe it needs to also try different states like creating new, editing etc - Also function as a "smoke" test that will heavily exercise the server and client repeatedly for as long as I let it run which will reveal issues before releases -todo: Locale page with locale settings +todo: translation page with translation settings todo: Trial route ui support in client (ON HOLD NEEDS BACKEND WORK) - Went to do this but found it's a bit of a maze and has some hacked temp code in the license fetch route etc for development purposes @@ -264,7 +265,7 @@ todo: INVESTIGATE - Dark mode / theming (dark with a half moon icon) - Also see how to allow theming maybe or colour choices? Nah, dark mode is the most useful; I should decide the colours and stick with them it's part of our image -#locale stuff +#translation stuff todo: LOCALIZATION form - Dedicated area for localization adjustments @@ -273,11 +274,11 @@ todo: LOCALIZATION form todo: //todo: timezone doesn't match, offer to fix it in initialize.js there needs to be a prompt and autofix -todo: code the user options with the currency symbol etc on the server and then update client to fetch them. Use static values instad in locale. -Locale should fetch those settings the first time it sees they are not present so that they are refreshed upon use and are not stored in localstorage +todo: code the user options with the currency symbol etc on the server and then update client to fetch them. Use static values instad in translation. +translation should fetch those settings the first time it sees they are not present so that they are refreshed upon use and are not stored in localstorage (or should they be? anyway, can work that out later) todo: Local user settings page / UI where can - - set locale choices and values + - set translation choices and values - Reset to default form settings - Other shit I can't think of right now but there will be a lot @@ -331,7 +332,7 @@ MAYBE: AUTO-LOGOUT EXPIRED SESSION? - first off, is this really an issue? - No, actually it's kind of useful for keeping on working when a server needs a restart or something - Only real issue is cached data mismatch so perhaps when detected it should toss cached data forcing a reload - - Or is this really an issue either? things cached are form customization and locale text which in the normal course of things won't change much + - Or is this really an issue either? things cached are form customization and translation text which in the normal course of things won't change much - Right now a user can simply close the browser in the middle of a session, re-open it any amount of time later and it will just keep working, however it might have outdatd cached data from the server - What about a time limit after which a session needs to login again just to protect the users from themselves? @@ -367,11 +368,11 @@ FIXES REQUIRED (WTF? Is this still valid stuff ????????????????????????????????? - Don't want to solve any problems that should have been solved with this form later as I will inevitably be full on copy and pasting once I get it down and so it needs to be as solid as possible First - TEST SMALL and LARGE device layout regularly, don't get too far ahead of the testing - Every type of entry field fully localized properly including numeric, date, time, tags etc - - Client: initialize after login sets locale formats for everything. + - Client: initialize after login sets translation formats for everything. - Best to do this useroptions stuff after a form is in place that I can play with at the client and experiment to see what is possible - How much flexibility do we have to set things like numeric / currency input / display format? - First it gets useroptions to know what to override or not, then sets defaults based on browser or override settings in central client area for all display/parsing etc - - All numeric and date displays and input in locale format + - All numeric and date displays and input in translation format - numeric inputs need to be set as such so that the number keyboard appears - And all specialty inputs of course - Custom fields implemented! @@ -416,7 +417,7 @@ FIXES REQUIRED (WTF? Is this still valid stuff ????????????????????????????????? - Override browser with these numeric format settings instead (see below) - Digit grouping symbol i.e. the , in 1,000,000 - decimalValid symbol i.e. the . in 1.00 - - Currency symbol string (may be more than one character in some locales i.e. "Eur") + - Currency symbol string (may be more than one character in some translations i.e. "Eur") - negative display format one of these: -1.1, (1.1), 1.1- - Use browser Datetime format - Override browser datetime with these settings instead (see below) @@ -456,13 +457,13 @@ FIXES REQUIRED (WTF? Is this still valid stuff ????????????????????????????????? TESTING TODO Localized input and parsing and validation - Going to need to handle localized numeric entry formats - - Deal with this once form is in good shape and worth testing with different locales + - Deal with this once form is in good shape and worth testing with different translations ----------------- TODO AFTER CLIENT block ABOVE: ON UPDATE: have an url that opens automatically or a notification and link to one after a new version has been detected just like visual studio does in order to show what is new in this version -ABOUT form - add the user settings such as timezone offset, locale formatting patterns etc, will be useful for troubleshooting +ABOUT form - add the user settings such as timezone offset, translation formatting patterns etc, will be useful for troubleshooting diff --git a/ayanova/src/App.vue b/ayanova/src/App.vue index c4d50812..90ac85da 100644 --- a/ayanova/src/App.vue +++ b/ayanova/src/App.vue @@ -258,7 +258,7 @@ export default { window.$gz.menu.wireUpEventHandlers(this); window.$gz.dialog.wireUpEventHandlers(this); openObjectHandler.wireUpEventHandlers(this); - window.$gz.locale.setVuetifyDefaultLanguageElements(this); + window.$gz.translation.setVuetifyDefaultLanguageElements(this); }, beforeDestroy() { //UNWIRE ALL EVENT HANDLERS FROM GZEVENTBUS diff --git a/ayanova/src/api/errorhandler.js b/ayanova/src/api/errorhandler.js index 5ef357d3..51cb0a20 100644 --- a/ayanova/src/api/errorhandler.js +++ b/ayanova/src/api/errorhandler.js @@ -17,7 +17,7 @@ function dealWithError(msg, vm) { lastMessageHash = newHash; //localize as necessary - msg = window.$gz.locale.translateString(msg); + msg = window.$gz.translation.translateString(msg); //In some cases the error may not be localizable, if this is not a debug run then it should show without the ?? that localizing puts in keys not found //so it's not as weird looking to the user @@ -126,6 +126,6 @@ API specific (logic) error codes are all in the range of 2000 to 3000 CLIENT ERROR CODES: E16 - ErrorUserNotAuthenticated E17 - ErrorServerUnresponsive -E18 - Misc error without a locale key, unexpected throws etc or api error during server call, details in the message / Any error without a locale key defined basically +E18 - Misc error without a translation key, unexpected throws etc or api error during server call, details in the message / Any error without a translation key defined basically */ diff --git a/ayanova/src/api/gzapi.js b/ayanova/src/api/gzapi.js index 54fe3d10..9c1f77fe 100644 --- a/ayanova/src/api/gzapi.js +++ b/ayanova/src/api/gzapi.js @@ -54,7 +54,7 @@ function handleError(action, error, route, reject) { window.$gz.store.commit("logItem", "Not authorized, redirecting to HOME"); window.$gz.eventBus.$emit( "notify-warning", - window.$gz.locale.get("ErrorUserNotAuthorized") + window.$gz.translation.get("ErrorUserNotAuthorized") ); router.push(window.$gz.store.state.homePage); return reject("[ErrorUserNotAuthorized]"); @@ -68,7 +68,7 @@ function handleError(action, error, route, reject) { ); window.$gz.eventBus.$emit( "notify-error", - window.$gz.locale.get("ErrorUserNotAuthenticated") + window.$gz.translation.get("ErrorUserNotAuthenticated") ); auth.logout(); router.push("/login"); @@ -86,9 +86,9 @@ function handleError(action, error, route, reject) { window.$gz.store.commit("logItem", "Network error"); window.$gz.eventBus.$emit( "notify-error", - window.$gz.locale.get("ErrorServerUnresponsive") + window.$gz.translation.get("ErrorServerUnresponsive") ); - //note: using locale key in square brackets + //note: using translation key in square brackets return reject("[ErrorServerUnresponsive]"); //throw "Error: unable to contact server"; } diff --git a/ayanova/src/api/gzdialog.js b/ayanova/src/api/gzdialog.js index 0d241405..7b9ea6e0 100644 --- a/ayanova/src/api/gzdialog.js +++ b/ayanova/src/api/gzdialog.js @@ -87,9 +87,9 @@ export default { // confirmDelete() { return VM_LOCAL.$root.$gzconfirm({ - message: window.$gz.locale.get("DeletePrompt"), - yesButtonText: window.$gz.locale.get("Delete"), - noButtonText: window.$gz.locale.get("Cancel") + message: window.$gz.translation.get("DeletePrompt"), + yesButtonText: window.$gz.translation.get("Delete"), + noButtonText: window.$gz.translation.get("Cancel") }); }, ///////////////////////////////////// @@ -97,9 +97,9 @@ export default { // confirmLeaveUnsaved() { return VM_LOCAL.$root.$gzconfirm({ - message: window.$gz.locale.get("AreYouSureUnsavedChanges"), - yesButtonText: window.$gz.locale.get("Leave"), - noButtonText: window.$gz.locale.get("Cancel") + message: window.$gz.translation.get("AreYouSureUnsavedChanges"), + yesButtonText: window.$gz.translation.get("Leave"), + noButtonText: window.$gz.translation.get("Cancel") }); }, ///////////////////////////////////// @@ -107,9 +107,9 @@ export default { // displayLTErrorMessage(ltKeyText, ltKeyTitle = undefined) { return VM_LOCAL.$root.$gzconfirm({ - message: ltKeyText ? window.$gz.locale.get(ltKeyText) : "", - title: ltKeyTitle ? window.$gz.locale.get(ltKeyTitle) : "", - yesButtonText: window.$gz.locale.get("OK") + message: ltKeyText ? window.$gz.translation.get(ltKeyText) : "", + title: ltKeyTitle ? window.$gz.translation.get(ltKeyTitle) : "", + yesButtonText: window.$gz.translation.get("OK") }); } //TODO: Implement the following as it's own re-usable component instead of here @@ -119,9 +119,9 @@ export default { // async getReportChoice(vm, reports, preselected) { // const result = await vm.$dialog.showAndWait(reportChooser, { // reports: reports, - // title: window.$gz.locale.get("Report"), - // oktext: window.$gz.locale.get("Print"), - // canceltext: window.$gz.locale.get("Cancel"), + // title: window.$gz.translation.get("Report"), + // oktext: window.$gz.translation.get("Print"), + // canceltext: window.$gz.translation.get("Cancel"), // selectedvalue: preselected // }); // return result; diff --git a/ayanova/src/api/gzform.js b/ayanova/src/api/gzform.js index 98fc24f7..cb4bd42a 100644 --- a/ayanova/src/api/gzform.js +++ b/ayanova/src/api/gzform.js @@ -7,8 +7,8 @@ // dirty and change tracking // and also general error display in forms //probably should be broken up more -// All locale keys for validation *MUST* be fetched prior to this being used as it assumes all keys are fetched first -// Add any new keys used to the block in locale.js=>commonKeysEditForm +// All translation keys for validation *MUST* be fetched prior to this being used as it assumes all keys are fetched first +// Add any new keys used to the block in translation.js=>commonKeysEditForm import Vue from "vue"; var triggeringChange = false; @@ -161,7 +161,7 @@ export default { } // "ErrorRequiredFieldEmpty": "{0} is a required field. Please enter a value for {0}", - var err = window.$gz.locale.get("ErrorRequiredFieldEmpty"); + var err = window.$gz.translation.get("ErrorRequiredFieldEmpty"); var fieldName = getControlLabel(ctrl); err = window.$gz._.replace(err, "{0}", fieldName); //lodash replace only replaces first instance so need to do it twice @@ -193,7 +193,7 @@ export default { if (value.length > max) { //get the localized rule text // "ErrorFieldLengthExceeded": "{0} can not exceed {1} characters.", - var err = window.$gz.locale.get("ErrorFieldLengthExceeded"); + var err = window.$gz.translation.get("ErrorFieldLengthExceeded"); var fieldName = getControlLabel(ctrl); err = window.$gz._.replace(err, "{0}", fieldName); err = window.$gz._.replace(err, "{1}", max); @@ -255,7 +255,7 @@ export default { if (valueStart > valueEnd) { // "ErrorStartDateAfterEndDate": "Start date must be earlier than stop / end date", - var err = window.$gz.locale.get("ErrorStartDateAfterEndDate"); + var err = window.$gz.translation.get("ErrorStartDateAfterEndDate"); //Update the form status this.setFormState({ vm: vm, @@ -287,7 +287,7 @@ export default { var valueSecond = getControlValue(ctrlSecond); if (valueFirst != valueSecond) { - var err = window.$gz.locale.get("ErrorNoMatch"); + var err = window.$gz.translation.get("ErrorNoMatch"); //Update the form status this.setFormState({ vm: vm, @@ -323,7 +323,7 @@ export default { } // "ErrorFieldValueNotInteger": "Value must be an integer" - var err = window.$gz.locale.get("ErrorFieldValueNotInteger"); + var err = window.$gz.translation.get("ErrorFieldValueNotInteger"); //Update the form status this.setFormState({ vm: vm, @@ -340,7 +340,7 @@ export default { return false; } //TODO: Handle commas and spaces in numbers - //as per window.$gz.locale rules for numbers + //as per window.$gz.translation rules for numbers var ctrl = getControl(vm, ref); if (typeof ctrl == "undefined") { @@ -360,7 +360,7 @@ export default { } // "ErrorFieldValueNotDecimal": "Value must be a number" - var err = window.$gz.locale.get("ErrorFieldValueNotDecimal"); + var err = window.$gz.translation.get("ErrorFieldValueNotDecimal"); //Update the form status this.setFormState({ vm: vm, @@ -407,7 +407,7 @@ export default { } // "ErrorRequiredFieldEmpty": "{0} is a required field. Please enter a value for {0}", - var err = window.$gz.locale.get("ErrorRequiredFieldEmpty"); + var err = window.$gz.translation.get("ErrorRequiredFieldEmpty"); var fieldName = getControlLabel(ctrl); err = window.$gz._.replace(err, "{0}", fieldName); //lodash replace only replaces first instance so need to do it twice @@ -447,7 +447,7 @@ export default { //It's empty and it's required so return error // "ErrorRequiredFieldEmpty": "{0} is a required field. Please enter a value for {0}", - var err = window.$gz.locale.get("ErrorRequiredFieldEmpty"); + var err = window.$gz.translation.get("ErrorRequiredFieldEmpty"); //var fieldName = getControlLabel(ctrl); err = window.$gz._.replace(err, "{0}", fieldName); //lodash replace only replaces first instance so need to do it twice @@ -500,7 +500,9 @@ export default { //GENERAL ERROR if (ref == "errorbox") { //Add any general errors to ret - var err = window.$gz.locale.get("ErrorAPI" + apiErrorCode.toString()); + var err = window.$gz.translation.get( + "ErrorAPI" + apiErrorCode.toString() + ); if (vm.formState.serverError.message) { err = err + "\r\n" + vm.formState.serverError.message; } @@ -524,7 +526,7 @@ export default { var fldErr = ""; var fldErrorCode = parseInt(ve.error); fldErr = - window.$gz.locale.get("ErrorAPI" + fldErrorCode.toString()) + + window.$gz.translation.get("ErrorAPI" + fldErrorCode.toString()) + " [" + ve.error + "]"; diff --git a/ayanova/src/api/gzmenu.js b/ayanova/src/api/gzmenu.js index 4ac1fb47..ca781e1e 100644 --- a/ayanova/src/api/gzmenu.js +++ b/ayanova/src/api/gzmenu.js @@ -55,14 +55,14 @@ export default { //there will be few exceptions so they will be coded in later if needed but assume anything with an id and a type if (isCoreBizObject) { vm.appBar.menuItems.push({ - title: window.$gz.locale.get("Attachments"), + title: window.$gz.translation.get("Attachments"), icon: "paperclip", key: "app:attachments", data: { ayaType: formAyaType, recordId: formRecordId } }); vm.appBar.menuItems.push({ - title: window.$gz.locale.get("WikiPage"), + title: window.$gz.translation.get("WikiPage"), icon: "feather", key: "app:wiki", data: { ayaType: formAyaType, recordId: formRecordId } @@ -72,7 +72,7 @@ export default { //basically it's now a "Reminder" type of object but it's own thing with separate collection vm.appBar.menuItems.push({ - title: window.$gz.locale.get("Review"), + title: window.$gz.translation.get("Review"), icon: "calendar-check", key: "app:review", data: { ayaType: formAyaType, recordId: formRecordId } @@ -81,7 +81,7 @@ export default { //AFAIK right now any item with an id and a type can have a history //anything not would be the exception rather than the rule vm.appBar.menuItems.push({ - title: window.$gz.locale.get("History"), + title: window.$gz.translation.get("History"), icon: "history", key: "app:history", data: { ayaType: formAyaType, recordId: formRecordId } @@ -89,7 +89,7 @@ export default { } //CUSTOMIZE - //set custom fields and link to locale text editor + //set custom fields and link to translation text editor if ( ctx.formData && @@ -106,7 +106,7 @@ export default { vm.appBar.menuItems.push({ divider: true, inset: false }); //customize vm.appBar.menuItems.push({ - title: window.$gz.locale.get("Customize"), + title: window.$gz.translation.get("Customize"), icon: "sliders-h", data: ctx.formData.formCustomTemplateKey, key: "app:customize" @@ -128,7 +128,7 @@ export default { if (isCoreBizObject && ctx.icon != "fa-search") { //For all forms but not on the search form itself; if this is necessary for others then make a nosearch or something flag controlled by incoming ctx but if not then this should suffice vm.appBar.menuItems.push({ - title: window.$gz.locale.get("Search"), + title: window.$gz.translation.get("Search"), icon: "search", key: "app:search", data: formAyaType @@ -137,7 +137,7 @@ export default { //HELP vm.appBar.menuItems.push({ - title: window.$gz.locale.get("MenuHelp"), + title: window.$gz.translation.get("MenuHelp"), icon: "question-circle", key: "app:help", data: vm.appBar.helpUrl @@ -146,7 +146,7 @@ export default { //ABOUT if (ctx.helpUrl != "form-ay-about") { vm.appBar.menuItems.push({ - title: window.$gz.locale.get("HelpAboutAyaNova"), + title: window.$gz.translation.get("HelpAboutAyaNova"), icon: "info-circle", key: "app:nav:abt", data: "ay-about" @@ -155,7 +155,7 @@ export default { //LOGOUT vm.appBar.menuItems.push({ - title: window.$gz.locale.get("Logout"), + title: window.$gz.translation.get("Logout"), icon: "sign-out-alt", key: "app:logout" }); diff --git a/ayanova/src/api/initialize.js b/ayanova/src/api/initialize.js index 26c4036b..5637170f 100644 --- a/ayanova/src/api/initialize.js +++ b/ayanova/src/api/initialize.js @@ -17,8 +17,8 @@ export default function initialize() { var promise = new Promise(function(resolve) { if (window.$gz.store.state.authenticated) { //Fetch the core localized text keys that will always be required by user - window.$gz.locale - .fetch(window.$gz.locale.coreKeys) + window.$gz.translation + .fetch(window.$gz.translation.coreKeys) .then(function initializeNavPanel() { var key = 0; var sub = []; @@ -44,7 +44,7 @@ export default function initialize() { ) { //DASHBOARD sub.push({ - title: window.$gz.locale.get("Dashboard"), + title: window.$gz.translation.get("Dashboard"), icon: "tachometer-alt", route: "/home-dashboard", key: key++ @@ -70,7 +70,7 @@ export default function initialize() { ]) ) { sub.push({ - title: window.$gz.locale.get("Search"), + title: window.$gz.translation.get("Search"), icon: "search", route: "/home-search", key: key++ @@ -79,7 +79,7 @@ export default function initialize() { //SCHEDULE (personal) sub.push({ - title: window.$gz.locale.get("Schedule"), + title: window.$gz.translation.get("Schedule"), icon: "calendar-day", route: "/home-schedule", key: key++ @@ -87,7 +87,7 @@ export default function initialize() { //MEMOS sub.push({ - title: window.$gz.locale.get("MemoList"), + title: window.$gz.translation.get("MemoList"), icon: "inbox", route: "/home-memos", key: key++ @@ -95,7 +95,7 @@ export default function initialize() { //REMINDERS (SCHEDULE MARKERS) sub.push({ - title: window.$gz.locale.get("ReminderList"), + title: window.$gz.translation.get("ReminderList"), icon: "sticky-note", route: "/home-reminders", key: key++ @@ -103,7 +103,7 @@ export default function initialize() { //USER SETTINGS sub.push({ - title: window.$gz.locale.get("UserSettings"), + title: window.$gz.translation.get("UserSettings"), icon: "user-cog", route: "/home-user-settings", key: key++ @@ -112,15 +112,15 @@ export default function initialize() { //Moved these two into user settings // //USER LOCALE // sub.push({ - // title: window.$gz.locale.get("Locale"), + // title: window.$gz.translation.get("Locale"), // icon: "language", - // route: "/home-locale", + // route: "/home-translation", // key: key++ // }); // //SET LOGIN // sub.push({ - // title: window.$gz.locale.get("SetLoginPassword"), + // title: window.$gz.translation.get("SetLoginPassword"), // icon: "key", // route: "/home-password", // key: key++ @@ -144,7 +144,7 @@ export default function initialize() { ]) ) { sub.push({ - title: window.$gz.locale.get("NotifySubscriptionList"), + title: window.$gz.translation.get("NotifySubscriptionList"), icon: "bullhorn", route: "/home-notify-subscriptions", key: key++ @@ -153,7 +153,7 @@ export default function initialize() { //HOME addNavItem( - window.$gz.locale.get("Home"), + window.$gz.translation.get("Home"), "home", undefined, sub, @@ -180,7 +180,7 @@ export default function initialize() { //CUSTOMERS subitem sub.push({ - title: window.$gz.locale.get("ClientList"), + title: window.$gz.translation.get("ClientList"), icon: "address-card", route: "/cust-customers", key: key++ @@ -188,7 +188,7 @@ export default function initialize() { //HEAD OFFICES subitem sub.push({ - title: window.$gz.locale.get("HeadOfficeList"), + title: window.$gz.translation.get("HeadOfficeList"), icon: "sitemap", route: "/cust-headoffices", key: key++ @@ -196,7 +196,7 @@ export default function initialize() { // ** CUSTOMER (TOP) addNavItem( - window.$gz.locale.get("ClientList"), + window.$gz.translation.get("ClientList"), "address-book", undefined, sub, @@ -231,7 +231,7 @@ export default function initialize() { ]) ) { sub.push({ - title: window.$gz.locale.get("Schedule"), + title: window.$gz.translation.get("Schedule"), icon: "calendar-alt", route: "/svc-schedule", key: key++ @@ -250,7 +250,7 @@ export default function initialize() { ]) ) { sub.push({ - title: window.$gz.locale.get("WorkorderServiceList"), + title: window.$gz.translation.get("WorkorderServiceList"), icon: "tools", route: "/svc-workorders", key: key++ @@ -261,7 +261,7 @@ export default function initialize() { //this will be an item inside the workorders NEW menu or grid or wherever but it's not top level worthy //there used to be an array for 3rd level shit but that's whack yo! ;) // subSub.push({ - // title: window.$gz.locale.get("WorkorderServiceTemplate"), + // title: window.$gz.translation.get("WorkorderServiceTemplate"), // icon: "stamp", // route: "/svc-workorder-templates", // key: key++ @@ -271,7 +271,7 @@ export default function initialize() { //NOTE: this is the only item in this service level area that is visible to Sales //so there is no separate role check here as the service group role check supersedes this sub.push({ - title: window.$gz.locale.get("WorkorderQuoteList"), + title: window.$gz.translation.get("WorkorderQuoteList"), icon: "edit", route: "/svc-quotes", key: key++ @@ -289,7 +289,7 @@ export default function initialize() { ]) ) { sub.push({ - title: window.$gz.locale.get( + title: window.$gz.translation.get( "WorkorderPreventiveMaintenanceList" ), icon: "business-time", @@ -310,7 +310,7 @@ export default function initialize() { ]) ) { sub.push({ - title: window.$gz.locale.get("UnitList"), + title: window.$gz.translation.get("UnitList"), icon: "fan", route: "/svc-units", key: key++ @@ -318,7 +318,7 @@ export default function initialize() { //UNIT MODELS subitem sub.push({ - title: window.$gz.locale.get("UnitModels"), + title: window.$gz.translation.get("UnitModels"), icon: "dice-d20", route: "/svc-unit-models", key: key++ @@ -336,7 +336,7 @@ export default function initialize() { ]) ) { sub.push({ - title: window.$gz.locale.get("LoanItemList"), + title: window.$gz.translation.get("LoanItemList"), icon: "plug", route: "/svc-loaners", key: key++ @@ -355,7 +355,7 @@ export default function initialize() { ]) ) { sub.push({ - title: window.$gz.locale.get("ContractList"), + title: window.$gz.translation.get("ContractList"), icon: "file-contract", route: "/svc-contracts", key: key++ @@ -374,7 +374,7 @@ export default function initialize() { ]) ) { sub.push({ - title: window.$gz.locale.get("ClientServiceRequestList"), + title: window.$gz.translation.get("ClientServiceRequestList"), icon: "child", route: "/svc-csr-list", key: key++ @@ -383,7 +383,7 @@ export default function initialize() { //**** Service (TOP GROUP) addNavItem( - window.$gz.locale.get("Service"), + window.$gz.translation.get("Service"), "toolbox", undefined, sub, @@ -405,7 +405,7 @@ export default function initialize() { //PARTS (part list) sub.push({ - title: window.$gz.locale.get("PartList"), + title: window.$gz.translation.get("PartList"), icon: "boxes", route: "/inv-parts", key: key++ @@ -413,7 +413,7 @@ export default function initialize() { //INVENTORY sub.push({ - title: window.$gz.locale.get("PartByWarehouseInventoryList"), + title: window.$gz.translation.get("PartByWarehouseInventoryList"), icon: "pallet", route: "/inv-part-inventory", key: key++ @@ -421,7 +421,7 @@ export default function initialize() { //PART REQUESTS sub.push({ - title: window.$gz.locale.get("WorkorderItemPartRequestList"), + title: window.$gz.translation.get("WorkorderItemPartRequestList"), icon: "paper-plane", route: "/inv-part-requests", key: key++ @@ -429,7 +429,7 @@ export default function initialize() { //PURCHASE ORDERS sub.push({ - title: window.$gz.locale.get("InventoryPurchaseOrders"), + title: window.$gz.translation.get("InventoryPurchaseOrders"), icon: "shipping-fast", route: "/inv-purchase-orders", key: key++ @@ -439,7 +439,9 @@ export default function initialize() { //PURCHASE ORDER RECEIPTS sub.push({ - title: window.$gz.locale.get("InventoryPurchaseOrderReceipts"), + title: window.$gz.translation.get( + "InventoryPurchaseOrderReceipts" + ), icon: "dolly-flatbed", route: "/inv-purchase-order-receipts", key: key++ @@ -451,7 +453,9 @@ export default function initialize() { //ADJUSTMENTS sub.push({ - title: window.$gz.locale.get("InventoryPartInventoryAdjustments"), + title: window.$gz.translation.get( + "InventoryPartInventoryAdjustments" + ), icon: "dolly", route: "/inv-adjustments", key: key++ @@ -459,7 +463,7 @@ export default function initialize() { //**** INVENTORY (TOP GROUP) addNavItem( - window.$gz.locale.get("Inventory"), + window.$gz.translation.get("Inventory"), "box", undefined, sub, @@ -480,7 +484,7 @@ export default function initialize() { ]) ) { addNavItem( - window.$gz.locale.get("VendorList"), + window.$gz.translation.get("VendorList"), "store", "/vendors", [], @@ -500,7 +504,7 @@ export default function initialize() { //FAKE subitem as is still TBD sub.push({ - title: window.$gz.locale.get("Accounting"), + title: window.$gz.translation.get("Accounting"), icon: "calculator", route: "/acc-accounting", key: key++ @@ -508,7 +512,7 @@ export default function initialize() { // ** ACCOUNTING (TOP) addNavItem( - window.$gz.locale.get("Accounting"), + window.$gz.translation.get("Accounting"), "calculator", undefined, sub, @@ -528,7 +532,7 @@ export default function initialize() { // GLOBAL SETTINGS sub.push({ - title: window.$gz.locale.get("AdministrationGlobalSettings"), + title: window.$gz.translation.get("AdministrationGlobalSettings"), icon: "cogs", route: "/adm-global-settings", key: key++ @@ -536,7 +540,7 @@ export default function initialize() { // LICENSE sub.push({ - title: window.$gz.locale.get("HelpLicense"), + title: window.$gz.translation.get("HelpLicense"), icon: "ticket-alt", route: "/adm-license", key: key++ @@ -544,7 +548,7 @@ export default function initialize() { // USERS sub.push({ - title: window.$gz.locale.get("UserList"), + title: window.$gz.translation.get("UserList"), icon: "users", route: "/adm-users", key: key++ @@ -554,7 +558,7 @@ export default function initialize() { //LOCALIZED TEXT DESIGNER sub.push({ - title: window.$gz.locale.get("LocalizedTextDesign"), + title: window.$gz.translation.get("LocalizedTextDesign"), icon: "language", route: "/adm-localized-text", key: key++ @@ -562,7 +566,7 @@ export default function initialize() { //REPORT TEMPLATES sub.push({ - title: window.$gz.locale.get("ReportList"), + title: window.$gz.translation.get("ReportList"), icon: "th-list", route: "/adm-report-templates", key: key++ @@ -570,7 +574,7 @@ export default function initialize() { //FILES IN DATABASE sub.push({ - title: window.$gz.locale.get("Attachments"), + title: window.$gz.translation.get("Attachments"), icon: "folder", route: "/adm-attachments", key: key++ @@ -578,7 +582,7 @@ export default function initialize() { //EVENT LOG / HISTORY sub.push({ - title: window.$gz.locale.get("History"), + title: window.$gz.translation.get("History"), icon: "history", route: "/adm-history", key: key++ @@ -586,7 +590,7 @@ export default function initialize() { //KPI / METRICS / CHARTS AND STUFF sub.push({ - title: window.$gz.locale.get("Statistics"), + title: window.$gz.translation.get("Statistics"), icon: "chart-line", route: "/adm-statistics", key: key++ @@ -594,7 +598,7 @@ export default function initialize() { // ** ADMINISTRATION (TOP) addNavItem( - window.$gz.locale.get("Administration"), + window.$gz.translation.get("Administration"), "user-tie", undefined, sub, @@ -614,7 +618,7 @@ export default function initialize() { // ARCHIVE sub.push({ - title: window.$gz.locale.get("Backup"), + title: window.$gz.translation.get("Backup"), icon: "file-archive", route: "/ops-backup", key: key++ @@ -628,7 +632,7 @@ export default function initialize() { // JOBS sub.push({ - title: window.$gz.locale.get("ServerJobs"), + title: window.$gz.translation.get("ServerJobs"), icon: "robot", route: "/ops-jobs", key: key++ @@ -636,7 +640,7 @@ export default function initialize() { // LOGS sub.push({ - title: window.$gz.locale.get("ServerLog"), + title: window.$gz.translation.get("ServerLog"), icon: "history", route: "/ops-log", key: key++ @@ -644,7 +648,7 @@ export default function initialize() { //METRICS sub.push({ - title: window.$gz.locale.get("ServerMetrics"), + title: window.$gz.translation.get("ServerMetrics"), icon: "file-medical-alt", route: "/ops-metrics", key: key++ @@ -652,7 +656,7 @@ export default function initialize() { //NOTIFICATION CONFIG AND HISTORY sub.push({ - title: window.$gz.locale.get("NotificationSettings"), + title: window.$gz.translation.get("NotificationSettings"), icon: "bullhorn", route: "/ops-notification-settings", key: key++ @@ -660,7 +664,7 @@ export default function initialize() { // ** OPERATIONS (TOP) addNavItem( - window.$gz.locale.get("Operations"), + window.$gz.translation.get("Operations"), "server", undefined, sub, @@ -680,7 +684,7 @@ export default function initialize() { ]) ) { addNavItem( - window.$gz.locale.get("WidgetList"), + window.$gz.translation.get("WidgetList"), "vial", "/widgets", [], @@ -705,7 +709,7 @@ export default function initialize() { //CSR LIST subitem sub.push({ - title: window.$gz.locale.get("ClientServiceRequestList"), + title: window.$gz.translation.get("ClientServiceRequestList"), icon: "child", route: "/customer-csr-list", key: key++ @@ -713,7 +717,7 @@ export default function initialize() { //WORKORDERS subitem sub.push({ - title: window.$gz.locale.get("WorkorderServiceList"), + title: window.$gz.translation.get("WorkorderServiceList"), icon: "tools", route: "/customer-workorders", key: key++ @@ -722,7 +726,7 @@ export default function initialize() { //** CUSTOMER LOGIN HOME (TOP) addNavItem( - window.$gz.locale.get("Home"), + window.$gz.translation.get("Home"), "home", undefined, sub, @@ -758,12 +762,12 @@ export default function initialize() { //get language to use, try user set override first, if empty then browser set, if empty then default to en-us l.languageOverride = res.data.languageOverride || - window.$gz.locale.getBrowserFirstLanguage() || + window.$gz.translation.getBrowserFirstLanguage() || "en-US"; l.timeZoneOverride = res.data.timeZoneOverride || - window.$gz.locale.getBrowserTimeZoneName() || + window.$gz.translation.getBrowserTimeZoneName() || "America/New_York"; //No browser setting for this so meh diff --git a/ayanova/src/api/locale.js b/ayanova/src/api/translation.js similarity index 96% rename from ayanova/src/api/locale.js rename to ayanova/src/api/translation.js index 66aba6da..9c6ba58e 100644 --- a/ayanova/src/api/locale.js +++ b/ayanova/src/api/translation.js @@ -3,10 +3,10 @@ export default { get(key) { // debugger; - if (!window.$gz._.has(window.$gz.store.state.localeText, key)) { + if (!window.$gz._.has(window.$gz.store.state.translationText, key)) { return "??" + key; } - return window.$gz.store.state.localeText[key]; + return window.$gz.store.state.translationText[key]; }, fetch(keys) { return new Promise(function fetchLocaleKeysFromServer(resolve) { @@ -16,7 +16,9 @@ export default { //for example datatables have dynamic column names so they need to fetch on demand var needIt = []; for (var i = 0; i < keys.length; i++) { - if (!window.$gz._.has(window.$gz.store.state.localeText, keys[i])) { + if ( + !window.$gz._.has(window.$gz.store.state.translationText, keys[i]) + ) { needIt.push(keys[i]); } } @@ -28,7 +30,7 @@ export default { //step 2: get it fetch( - window.$gz.api.APIUrl("locale/subset"), + window.$gz.api.APIUrl("translation/subset"), window.$gz.api.fetchPostOptions(needIt) ) .then(window.$gz.api.status) @@ -37,7 +39,7 @@ export default { window.$gz._.forEach( response.data, function commitFetchedLTItemToStore(item) { - window.$gz.store.commit("addLocaleText", item); + window.$gz.store.commit("addTranslationText", item); } ); @@ -162,7 +164,7 @@ export default { //////////////////////////////////////////////////////// // Take in a string that contains one or more - //locale keys between square brackets + //translation keys between square brackets //translate each and return the string translated // translateString(s) { diff --git a/ayanova/src/components/currency-control.vue b/ayanova/src/components/currency-control.vue index a1d4c910..15e6d90a 100644 --- a/ayanova/src/components/currency-control.vue +++ b/ayanova/src/components/currency-control.vue @@ -27,8 +27,8 @@ export default { data() { return { formattedValue: this.value, - currencyName: window.$gz.locale.getCurrencyName(), - languageName: window.$gz.locale.getBrowserFirstLanguage() + currencyName: window.$gz.translation.getCurrencyName(), + languageName: window.$gz.translation.getBrowserFirstLanguage() }; }, watch: { @@ -48,10 +48,10 @@ export default { }, methods: { lt(ltKey) { - return window.$gz.locale.get(ltKey); + return window.$gz.translation.get(ltKey); }, - locale() { - return window.$gz.locale; + translation() { + return window.$gz.translation; }, handleInput(value) { this.$emit( diff --git a/ayanova/src/components/custom-fields-control.vue b/ayanova/src/components/custom-fields-control.vue index 9e619e81..4ee9f132 100644 --- a/ayanova/src/components/custom-fields-control.vue +++ b/ayanova/src/components/custom-fields-control.vue @@ -159,7 +159,7 @@ export default { methods: { lt: function(ltkey) { - return window.$gz.locale.get(ltkey); + return window.$gz.translation.get(ltkey); }, form() { //nothing @@ -430,8 +430,8 @@ export default { if (!window.$gz._) { throw "custom-fields-control: $gz._ (lodash) is required and missing"; } - if (!window.$gz.locale) { - throw "custom-fields-control: $gz.locale is required and missing"; + if (!window.$gz.translation) { + throw "custom-fields-control: $gz.translation is required and missing"; } } }, diff --git a/ayanova/src/components/date-control.vue b/ayanova/src/components/date-control.vue index 89eeb4ec..b5866404 100644 --- a/ayanova/src/components/date-control.vue +++ b/ayanova/src/components/date-control.vue @@ -45,9 +45,11 @@ export default { oldDate: null, dlgdate: false, //cache display format stuff - timeZoneName: window.$gz.locale.getBrowserTimeZoneName(), - languageName: window.$gz.locale.getBrowserLanguages(), - defaultLocale: window.$gz.locale.getBrowserFirstLanguage().split("-", 1)[0] + timeZoneName: window.$gz.translation.getBrowserTimeZoneName(), + languageName: window.$gz.translation.getBrowserLanguages(), + defaultLocale: window.$gz.translation + .getBrowserFirstLanguage() + .split("-", 1)[0] }), props: { label: String, @@ -61,7 +63,7 @@ export default { }, methods: { lt(ltKey) { - return window.$gz.locale.get(ltKey); + return window.$gz.translation.get(ltKey); } }, watch: { @@ -84,7 +86,7 @@ export default { }, computed: { formatDateTime() { - return window.$gz.locale.utcDateToShortDateAndTimeLocalized( + return window.$gz.translation.utcDateToShortDateAndTimeLocalized( this.value, this.timeZoneName, this.languageName, @@ -92,14 +94,14 @@ export default { ); }, formatDate() { - return window.$gz.locale.utcDateToShortDateLocalized( + return window.$gz.translation.utcDateToShortDateLocalized( this.value, this.timeZoneName, this.languageName ); }, formatTime() { - return window.$gz.locale.utcDateToShortTimeLocalized( + return window.$gz.translation.utcDateToShortTimeLocalized( this.value, this.timeZoneName, this.languageName, @@ -109,7 +111,7 @@ export default { dateOnly: { get() { //return date only portion converted to local working time zone: YYYY-MM-DD - return window.$gz.locale.utcDateStringToLocal8601DateOnlyString( + return window.$gz.translation.utcDateStringToLocal8601DateOnlyString( this.value, this.timeZoneName ); @@ -120,7 +122,7 @@ export default { if (!TimePortion) { TimePortion = "00:00:00"; } - this.date = window.$gz.locale.localTimeDateStringToUTC8601String( + this.date = window.$gz.translation.localTimeDateStringToUTC8601String( value + "T" + TimePortion, this.timeZoneName ); @@ -130,7 +132,7 @@ export default { //expects just the hours minutes seconds portion: 18:18:49 //Needs to convert into and out of the desired time zone or the control will show the UTC time instead get() { - return window.$gz.locale.utcDateStringToLocal8601TimeOnlyString( + return window.$gz.translation.utcDateStringToLocal8601TimeOnlyString( this.value, this.timeZoneName ); @@ -152,7 +154,7 @@ export default { DatePortion = fullYear + "-" + fullMonth + "-" + fullDay; } - this.date = window.$gz.locale.localTimeDateStringToUTC8601String( + this.date = window.$gz.translation.localTimeDateStringToUTC8601String( DatePortion + "T" + value, this.timeZoneName ); diff --git a/ayanova/src/components/date-time-control.vue b/ayanova/src/components/date-time-control.vue index 43849997..c5393f36 100644 --- a/ayanova/src/components/date-time-control.vue +++ b/ayanova/src/components/date-time-control.vue @@ -85,11 +85,13 @@ export default { dlgdate: false, dlgtime: false, //cache display format stuff - timeZoneName: window.$gz.locale.getBrowserTimeZoneName(), - languageName: window.$gz.locale.getBrowserLanguages(), - hour12: window.$gz.locale.getHour12(), - defaultLocale: window.$gz.locale.getBrowserFirstLanguage().split("-", 1)[0] - // ampmFormat: window.$gz.locale.getHour12() ? "ampm" : "24hr" + timeZoneName: window.$gz.translation.getBrowserTimeZoneName(), + languageName: window.$gz.translation.getBrowserLanguages(), + hour12: window.$gz.translation.getHour12(), + defaultLocale: window.$gz.translation + .getBrowserFirstLanguage() + .split("-", 1)[0] + // ampmFormat: window.$gz.translation.getHour12() ? "ampm" : "24hr" //:format="ampmFormat" }), props: { @@ -104,7 +106,7 @@ export default { }, methods: { lt(ltKey) { - return window.$gz.locale.get(ltKey); + return window.$gz.translation.get(ltKey); } }, watch: { @@ -127,7 +129,7 @@ export default { }, computed: { formatDateTime() { - return window.$gz.locale.utcDateToShortDateAndTimeLocalized( + return window.$gz.translation.utcDateToShortDateAndTimeLocalized( this.value, this.timeZoneName, this.languageName, @@ -135,14 +137,14 @@ export default { ); }, formatDate() { - return window.$gz.locale.utcDateToShortDateLocalized( + return window.$gz.translation.utcDateToShortDateLocalized( this.value, this.timeZoneName, this.languageName ); }, formatTime() { - return window.$gz.locale.utcDateToShortTimeLocalized( + return window.$gz.translation.utcDateToShortTimeLocalized( this.value, this.timeZoneName, this.languageName, @@ -152,7 +154,7 @@ export default { dateOnly: { get() { //return date only portion converted to local working time zone: YYYY-MM-DD - return window.$gz.locale.utcDateStringToLocal8601DateOnlyString( + return window.$gz.translation.utcDateStringToLocal8601DateOnlyString( this.value, this.timeZoneName ); @@ -163,7 +165,7 @@ export default { if (!TimePortion) { TimePortion = "00:00:00"; } - this.date = window.$gz.locale.localTimeDateStringToUTC8601String( + this.date = window.$gz.translation.localTimeDateStringToUTC8601String( value + "T" + TimePortion, this.timeZoneName ); @@ -173,7 +175,7 @@ export default { //expects just the hours minutes seconds portion: 18:18:49 //Needs to convert into and out of the desired time zone or the control will show the UTC time instead get() { - return window.$gz.locale.utcDateStringToLocal8601TimeOnlyString( + return window.$gz.translation.utcDateStringToLocal8601TimeOnlyString( this.value, this.timeZoneName ); @@ -195,7 +197,7 @@ export default { DatePortion = fullYear + "-" + fullMonth + "-" + fullDay; } - this.date = window.$gz.locale.localTimeDateStringToUTC8601String( + this.date = window.$gz.translation.localTimeDateStringToUTC8601String( DatePortion + "T" + value, this.timeZoneName ); diff --git a/ayanova/src/components/decimal-control.vue b/ayanova/src/components/decimal-control.vue index dbd6fc3e..c90d73a8 100644 --- a/ayanova/src/components/decimal-control.vue +++ b/ayanova/src/components/decimal-control.vue @@ -28,7 +28,7 @@ export default { data() { return { formattedValue: this.value, - languageName: window.$gz.locale.getBrowserFirstLanguage() + languageName: window.$gz.translation.getBrowserFirstLanguage() }; }, watch: { @@ -48,10 +48,10 @@ export default { }, methods: { lt(ltKey) { - return window.$gz.locale.get(ltKey); + return window.$gz.translation.get(ltKey); }, - locale() { - return window.$gz.locale; + translation() { + return window.$gz.translation; }, handleInput(value) { this.$emit( diff --git a/ayanova/src/components/gz-data-table.vue b/ayanova/src/components/gz-data-table.vue index 7cd945d2..0f9ab652 100644 --- a/ayanova/src/components/gz-data-table.vue +++ b/ayanova/src/components/gz-data-table.vue @@ -490,7 +490,7 @@ export default { window.$gz.eventBus.$emit("openobject", { type: typeToOpen, id: i }); }, lt(ltKey) { - return window.$gz.locale.get(ltKey); + return window.$gz.translation.get(ltKey); }, getDataFromApi() { var vm = this; @@ -534,8 +534,8 @@ export default { (async function() { //Save a copy of the server columns data for handling button clicks etc later vm.serverColumns = res.columns; - //Make sure the locale keys are fetched - await fetchLocalizedHeaderNames(res.columns); //Note can use await here because it's wrapped inside an async function call, it will wait then resume next stuff below + //Make sure the translation keys are fetched + await fetchTranslatedHeaderNames(res.columns); //Note can use await here because it's wrapped inside an async function call, it will wait then resume next stuff below await fetchEnums(res.columns); //build vm.headers here @@ -584,7 +584,7 @@ function buildHeaders(columnData) { for (var i = 0; i < columnData.length; i++) { var cm = columnData[i]; var h = {}; - h.text = window.$gz.locale.get(cm.cm); + h.text = window.$gz.translation.get(cm.cm); h.value = "columns.c" + i.toString(); //+".v"; ret.push(h); } @@ -594,7 +594,7 @@ function buildHeaders(columnData) { //Called by getDataFromApi on retrieval of list with columnData function buildRecords(listData, columndefinitions) { - //iterate data, build each object keyed with index name and display set to correct locale filter and then return + //iterate data, build each object keyed with index name and display set to correct translated filter and then return var ret = []; if (!listData) { @@ -602,8 +602,8 @@ function buildRecords(listData, columndefinitions) { } //cache display format stuff - var timeZoneName = window.$gz.locale.getBrowserTimeZoneName(); - var languageName = window.$gz.locale.getBrowserLanguages(); + var timeZoneName = window.$gz.translation.getBrowserTimeZoneName(); + var languageName = window.$gz.translation.getBrowserLanguages(); var hour12 = window.$gz.store.state.locale.hour12; var currencyName = window.$gz.store.state.locale.currencyName; @@ -640,7 +640,7 @@ function buildRecords(listData, columndefinitions) { */ switch (dataType) { case 1: //datetime format to shortdatetime - display = window.$gz.locale.utcDateToShortDateAndTimeLocalized( + display = window.$gz.translation.utcDateToShortDateAndTimeLocalized( display, timeZoneName, languageName, @@ -648,14 +648,14 @@ function buildRecords(listData, columndefinitions) { ); break; case 2: //date only - display = window.$gz.locale.utcDateToShortDateLocalized( + display = window.$gz.translation.utcDateToShortDateLocalized( display, timeZoneName, languageName ); break; case 3: //time only - display = window.$gz.locale.utcDateToShortTimeLocalized( + display = window.$gz.translation.utcDateToShortTimeLocalized( display, timeZoneName, languageName, @@ -663,10 +663,13 @@ function buildRecords(listData, columndefinitions) { ); break; case 7: //decimal - display = window.$gz.locale.decimalLocalized(display, languageName); + display = window.$gz.translation.decimalLocalized( + display, + languageName + ); break; case 8: //currency - display = window.$gz.locale.currencyLocalized( + display = window.$gz.translation.currencyLocalized( display, languageName, currencyName @@ -717,9 +720,9 @@ function buildRecords(listData, columndefinitions) { ////////////////////////////////////////////////////////// // -// Ensures column names are present in locale table +// Ensures column names are present in translation table // -async function fetchLocalizedHeaderNames(columnData) { +async function fetchTranslatedHeaderNames(columnData) { if (!columnData) { return; } @@ -729,7 +732,7 @@ async function fetchLocalizedHeaderNames(columnData) { headerKeys.push(cm.cm); } //Now fetch all the keys and await the response before returning - await window.$gz.locale.fetch(headerKeys).then(() => { + await window.$gz.translation.fetch(headerKeys).then(() => { return; }); } diff --git a/ayanova/src/components/gznotify.vue b/ayanova/src/components/gznotify.vue index 27c27ab8..b0740da2 100644 --- a/ayanova/src/components/gznotify.vue +++ b/ayanova/src/components/gznotify.vue @@ -5,7 +5,7 @@ {{ currentNotification.message }} - {{ this.$root.$gz.locale.get("More") }} + {{ this.$root.$gz.translation.get("More") }} diff --git a/ayanova/src/components/tag-picker.vue b/ayanova/src/components/tag-picker.vue index 03e4514e..0744faf3 100644 --- a/ayanova/src/components/tag-picker.vue +++ b/ayanova/src/components/tag-picker.vue @@ -103,7 +103,7 @@ export default { methods: { lt: function(ltkey) { - return window.$gz.locale.get(ltkey); + return window.$gz.translation.get(ltkey); }, addTag() { var theTag = this.tagSearchEntry; @@ -127,8 +127,8 @@ export default { if (!window.$gz._) { throw "tag-picker: $gz._ (lodash) is required and missing"; } - if (!window.$gz.locale) { - throw "tag-picker: $gz.locale is required and missing"; + if (!window.$gz.translation) { + throw "tag-picker: $gz.translation is required and missing"; } } } diff --git a/ayanova/src/components/time-control.vue b/ayanova/src/components/time-control.vue index b4912ac3..9e671755 100644 --- a/ayanova/src/components/time-control.vue +++ b/ayanova/src/components/time-control.vue @@ -49,10 +49,12 @@ export default { oldDate: null, dlgtime: false, //cache display format stuff - timeZoneName: window.$gz.locale.getBrowserTimeZoneName(), - languageName: window.$gz.locale.getBrowserLanguages(), - hour12: window.$gz.locale.getHour12(), - defaultLocale: window.$gz.locale.getBrowserFirstLanguage().split("-", 1)[0] + timeZoneName: window.$gz.translation.getBrowserTimeZoneName(), + languageName: window.$gz.translation.getBrowserLanguages(), + hour12: window.$gz.translation.getHour12(), + defaultLocale: window.$gz.translation + .getBrowserFirstLanguage() + .split("-", 1)[0] }), props: { label: String, @@ -66,7 +68,7 @@ export default { }, methods: { lt(ltKey) { - return window.$gz.locale.get(ltKey); + return window.$gz.translation.get(ltKey); } }, watch: { @@ -89,7 +91,7 @@ export default { }, computed: { formatDateTime() { - return window.$gz.locale.utcDateToShortDateAndTimeLocalized( + return window.$gz.translation.utcDateToShortDateAndTimeLocalized( this.value, this.timeZoneName, this.languageName, @@ -97,7 +99,7 @@ export default { ); }, formatTime() { - return window.$gz.locale.utcDateToShortTimeLocalized( + return window.$gz.translation.utcDateToShortTimeLocalized( this.value, this.timeZoneName, this.languageName, @@ -107,7 +109,7 @@ export default { dateOnly: { get() { //return date only portion converted to local working time zone: YYYY-MM-DD - return window.$gz.locale.utcDateStringToLocal8601DateOnlyString( + return window.$gz.translation.utcDateStringToLocal8601DateOnlyString( this.value, this.timeZoneName ); @@ -118,7 +120,7 @@ export default { if (!TimePortion) { TimePortion = "00:00:00"; } - this.date = window.$gz.locale.localTimeDateStringToUTC8601String( + this.date = window.$gz.translation.localTimeDateStringToUTC8601String( value + "T" + TimePortion, this.timeZoneName ); @@ -128,7 +130,7 @@ export default { //expects just the hours minutes seconds portion: 18:18:49 //Needs to convert into and out of the desired time zone or the control will show the UTC time instead get() { - return window.$gz.locale.utcDateStringToLocal8601TimeOnlyString( + return window.$gz.translation.utcDateStringToLocal8601TimeOnlyString( this.value, this.timeZoneName ); @@ -150,7 +152,7 @@ export default { DatePortion = fullYear + "-" + fullMonth + "-" + fullDay; } - this.date = window.$gz.locale.localTimeDateStringToUTC8601String( + this.date = window.$gz.translation.localTimeDateStringToUTC8601String( DatePortion + "T" + value, this.timeZoneName ); diff --git a/ayanova/src/main.js b/ayanova/src/main.js index a6658ded..00081e5b 100644 --- a/ayanova/src/main.js +++ b/ayanova/src/main.js @@ -20,7 +20,7 @@ import gzeventbus from "./api/eventbus"; import gzmenu from "./api/gzmenu"; import gzdialog from "./api/gzdialog"; import gzutil from "./api/gzutil"; -import locale from "./api/locale"; +import translation from "./api/translation"; import gzapi from "./api/gzapi"; import gzreport from "./api/gzreport"; import gzform from "./api/gzform"; @@ -51,7 +51,7 @@ import errorhandler from "./api/errorhandler"; // window.$gz = { - locale: locale, + translation: translation, formCustomTemplate: gzformcustomtemplate, type: gztype, role: authorizationroles, diff --git a/ayanova/src/router.js b/ayanova/src/router.js index d7540d31..84b2ebe3 100644 --- a/ayanova/src/router.js +++ b/ayanova/src/router.js @@ -108,10 +108,10 @@ export default new Router({ import(/* webpackChunkName: "home" */ "./views/home-user-settings.vue") }, { - path: "/home-locale", - name: "home-locale", + path: "/home-translation", + name: "home-translation", component: () => - import(/* webpackChunkName: "home" */ "./views/home-locale.vue") + import(/* webpackChunkName: "home" */ "./views/home-translation.vue") }, { path: "/home-password", diff --git a/ayanova/src/store.js b/ayanova/src/store.js index 2c29dffd..b66f20ee 100644 --- a/ayanova/src/store.js +++ b/ayanova/src/store.js @@ -20,7 +20,7 @@ export default new Vuex.Store({ roles: 0, userType: 0, homePage: undefined, - localeText: {}, + translationText: {}, enums: {}, //all enum values with localized text to match stored as key e.g. enums:={AuthorizationRoles:{0:"no role",1:"Limited role"},UserTypes:{0:"Technician",1:"Client user"}} locale: { languageOverride: "en-US", @@ -56,7 +56,7 @@ export default new Vuex.Store({ state.userType = 0; state.homePage = undefined; state.navItems = []; - state.localeText = {}; + state.translationText = {}; state.enums = {}; state.formCustomTemplate = {}; state.apiUrl = ""; @@ -68,8 +68,8 @@ export default new Vuex.Store({ addNavItem(state, data) { state.navItems.push(data); }, - addLocaleText(state, data) { - state.localeText[data.key] = data.value; + addTranslationText(state, data) { + state.translationText[data.key] = data.value; }, setFormCustomTemplateItem(state, data) { state.formCustomTemplate[data.formKey + "_concurrencyToken"] = diff --git a/ayanova/src/views/acc-accounting.vue b/ayanova/src/views/acc-accounting.vue index de3e5813..14575cb8 100644 --- a/ayanova/src/views/acc-accounting.vue +++ b/ayanova/src/views/acc-accounting.vue @@ -13,7 +13,7 @@ export default { window.$gz.eventBus.$emit("menu-change", { isMain: true, icon: "calculator", - title: window.$gz.locale.get("Accounting"), + title: window.$gz.translation.get("Accounting"), helpUrl: "form-acc-accounting" }); } diff --git a/ayanova/src/views/adm-attachments.vue b/ayanova/src/views/adm-attachments.vue index 051c389f..bf5631e7 100644 --- a/ayanova/src/views/adm-attachments.vue +++ b/ayanova/src/views/adm-attachments.vue @@ -13,7 +13,7 @@ export default { window.$gz.eventBus.$emit("menu-change", { isMain: true, icon: "folder", - title: window.$gz.locale.get("Attachments"), + title: window.$gz.translation.get("Attachments"), helpUrl: "form-adm-attachments" }); } diff --git a/ayanova/src/views/adm-global-settings.vue b/ayanova/src/views/adm-global-settings.vue index b1e7b2ef..8ece2c15 100644 --- a/ayanova/src/views/adm-global-settings.vue +++ b/ayanova/src/views/adm-global-settings.vue @@ -13,7 +13,7 @@ export default { window.$gz.eventBus.$emit("menu-change", { isMain: true, icon: "cogs", - title: window.$gz.locale.get("AdministrationGlobalSettings"), + title: window.$gz.translation.get("AdministrationGlobalSettings"), helpUrl: "form-adm-global-settings" }); } diff --git a/ayanova/src/views/adm-history.vue b/ayanova/src/views/adm-history.vue index f173cb63..4f03068c 100644 --- a/ayanova/src/views/adm-history.vue +++ b/ayanova/src/views/adm-history.vue @@ -13,7 +13,7 @@ export default { window.$gz.eventBus.$emit("menu-change", { isMain: true, icon: "history", - title: window.$gz.locale.get("History"), + title: window.$gz.translation.get("History"), helpUrl: "form-adm-history" }); } diff --git a/ayanova/src/views/adm-license.vue b/ayanova/src/views/adm-license.vue index 9cc7aaf1..627482d5 100644 --- a/ayanova/src/views/adm-license.vue +++ b/ayanova/src/views/adm-license.vue @@ -13,7 +13,7 @@ export default { window.$gz.eventBus.$emit("menu-change", { isMain: true, icon: "ticket-alt", - title: window.$gz.locale.get("HelpLicense"), + title: window.$gz.translation.get("HelpLicense"), helpUrl: "form-adm-license" }); } diff --git a/ayanova/src/views/adm-localized-text.vue b/ayanova/src/views/adm-localized-text.vue index 5816c916..5d4d749e 100644 --- a/ayanova/src/views/adm-localized-text.vue +++ b/ayanova/src/views/adm-localized-text.vue @@ -13,7 +13,7 @@ export default { window.$gz.eventBus.$emit("menu-change", { isMain: true, icon: "language", - title: window.$gz.locale.get("LocalizedTextDesign"), + title: window.$gz.translation.get("LocalizedTextDesign"), helpUrl: "form-adm-localized-text" }); } diff --git a/ayanova/src/views/adm-report-templates.vue b/ayanova/src/views/adm-report-templates.vue index bdb1a788..95f9afc4 100644 --- a/ayanova/src/views/adm-report-templates.vue +++ b/ayanova/src/views/adm-report-templates.vue @@ -13,7 +13,7 @@ export default { window.$gz.eventBus.$emit("menu-change", { isMain: true, icon: "th-list", - title: window.$gz.locale.get("ReportList"), + title: window.$gz.translation.get("ReportList"), helpUrl: "form-adm-report-templates" }); } diff --git a/ayanova/src/views/adm-statistics.vue b/ayanova/src/views/adm-statistics.vue index 5a719368..5f0c0143 100644 --- a/ayanova/src/views/adm-statistics.vue +++ b/ayanova/src/views/adm-statistics.vue @@ -13,7 +13,7 @@ export default { window.$gz.eventBus.$emit("menu-change", { isMain: true, icon: "chart-line", - title: window.$gz.locale.get("Statistics"), + title: window.$gz.translation.get("Statistics"), helpUrl: "form-adm-statistics" }); } diff --git a/ayanova/src/views/adm-users.vue b/ayanova/src/views/adm-users.vue index 4c01676f..e1d4e299 100644 --- a/ayanova/src/views/adm-users.vue +++ b/ayanova/src/views/adm-users.vue @@ -13,7 +13,7 @@ export default { window.$gz.eventBus.$emit("menu-change", { isMain: true, icon: "users", - title: window.$gz.locale.get("UserList"), + title: window.$gz.translation.get("UserList"), helpUrl: "form-adm-users" }); } diff --git a/ayanova/src/views/ay-about.vue b/ayanova/src/views/ay-about.vue index 6de9fd1c..6e459df9 100644 --- a/ayanova/src/views/ay-about.vue +++ b/ayanova/src/views/ay-about.vue @@ -27,25 +27,27 @@
12h: - {{ locale().getHour12() }} + {{ translation().getHour12() }}
{{ lt("TimeZone") }}: - {{ locale().getBrowserTimeZoneName() }} + {{ translation().getBrowserTimeZoneName() }}
{{ lt("LanguageCode") }}: - {{ locale().getBrowserFirstLanguage() }} + {{ + translation().getBrowserFirstLanguage() + }}
{{ lt("CurrencyCode") }}: - {{ locale().getCurrencyName() }} + {{ translation().getCurrencyName() }}
@@ -167,10 +169,10 @@ export default { }, methods: { lt(ltKey) { - return window.$gz.locale.get(ltKey); + return window.$gz.translation.get(ltKey); }, - locale() { - return window.$gz.locale; + translation() { + return window.$gz.translation; } } }; @@ -182,18 +184,18 @@ function generateMenu(vm) { var menuOptions = { isMain: false, icon: "fa-info-circle", - title: window.$gz.locale.get("HelpAboutAyaNova"), + title: window.$gz.translation.get("HelpAboutAyaNova"), helpUrl: "form-ay-about", menuItems: [ { - title: window.$gz.locale.get("Copy"), + title: window.$gz.translation.get("Copy"), icon: "copy", surface: true, key: "about:copysupportinfo", vm: vm }, { - title: window.$gz.locale.get("Log"), + title: window.$gz.translation.get("Log"), icon: "glasses", surface: true, key: "app:nav:log", @@ -284,7 +286,7 @@ function fetchUILocalizedText(vm) { "CurrencyCode" ]; - return window.$gz.locale.fetch(ltKeysRequired); + return window.$gz.translation.fetch(ltKeysRequired); } //////////////////// diff --git a/ayanova/src/views/ay-attachments.vue b/ayanova/src/views/ay-attachments.vue index 9500eb2b..f5de9ef7 100644 --- a/ayanova/src/views/ay-attachments.vue +++ b/ayanova/src/views/ay-attachments.vue @@ -13,7 +13,7 @@ export default { window.$gz.eventBus.$emit("menu-change", { isMain: true, icon: "paperclip", - title: window.$gz.locale.get("Attachments"), + title: window.$gz.translation.get("Attachments"), helpUrl: "form-ay-attachments" }); } diff --git a/ayanova/src/views/ay-customize.vue b/ayanova/src/views/ay-customize.vue index 534b4ff5..348c3bcf 100644 --- a/ayanova/src/views/ay-customize.vue +++ b/ayanova/src/views/ay-customize.vue @@ -157,7 +157,7 @@ export default { methods: { lt: function(ltkey) { - return window.$gz.locale.get(ltkey); + return window.$gz.translation.get(ltkey); }, visibleChanged: function(item) { //Note: stock items can't be changed so no need to take that into account @@ -298,7 +298,7 @@ function generateMenu(vm) { var menuOptions = { isMain: false, icon: "fa-sliders-h", - title: window.$gz.locale.get("Customize"), + title: window.$gz.translation.get("Customize"), helpUrl: "form-ay-customize", formData: { ayaType: window.$gz.type.FormCustom, @@ -309,7 +309,7 @@ function generateMenu(vm) { if (vm.rights.change) { menuOptions.menuItems.push({ - title: window.$gz.locale.get("Save"), + title: window.$gz.translation.get("Save"), icon: "save", surface: true, key: FORM_KEY + ":save", @@ -320,7 +320,7 @@ function generateMenu(vm) { //Extra link to it here so people can stumble their way onto it //plus it's related to this form and people think Customize for the whole shebang menuOptions.menuItems.push({ - title: window.$gz.locale.get("LocalizedTextDesign"), + title: window.$gz.translation.get("LocalizedTextDesign"), icon: "language", data: "adm-localized-text", key: "app:nav" @@ -367,7 +367,7 @@ function fetchUILocalizedText(vm) { "UiFieldDataTypesTrueFalse" ]; - return window.$gz.locale.fetch(ltKeysRequired); + return window.$gz.translation.fetch(ltKeysRequired); } ///////////////////////////////// @@ -435,7 +435,7 @@ function initDataObject(vm) { var objItem = { key: faf.fieldKey, - title: window.$gz.locale.get(faf.ltKey), + title: window.$gz.translation.get(faf.ltKey), stockRequired: !faf.hideable, custom: faf.isCustomField, required: faf.hideable === false || templateItem.required === true, diff --git a/ayanova/src/views/ay-data-list-view.vue b/ayanova/src/views/ay-data-list-view.vue index 23858952..ea2acb32 100644 --- a/ayanova/src/views/ay-data-list-view.vue +++ b/ayanova/src/views/ay-data-list-view.vue @@ -559,7 +559,7 @@ export default { }, methods: { lt: function(ltkey) { - return window.$gz.locale.get(ltkey); + return window.$gz.translation.get(ltkey); }, enumPickList: function(enumKey) { return window.$gz.enums.getPickList(enumKey); @@ -931,7 +931,7 @@ function generateMenu(vm) { var menuOptions = { isMain: false, icon: "filter", - title: window.$gz.locale.get("DataListView"), + title: window.$gz.translation.get("DataListView"), helpUrl: "form-ay-data-list-view", formData: { ayaType: window.$gz.type.FormCustom, @@ -942,7 +942,7 @@ function generateMenu(vm) { if (vm.rights.change) { menuOptions.menuItems.push({ - title: window.$gz.locale.get("Save"), + title: window.$gz.translation.get("Save"), icon: "save", surface: true, key: FORM_KEY + ":save", @@ -951,7 +951,7 @@ function generateMenu(vm) { } if (vm.rights.delete) { menuOptions.menuItems.push({ - title: window.$gz.locale.get("Delete"), + title: window.$gz.translation.get("Delete"), icon: "trash-alt", surface: true, key: FORM_KEY + ":delete", @@ -960,7 +960,7 @@ function generateMenu(vm) { } if (vm.rights.change) { menuOptions.menuItems.push({ - title: window.$gz.locale.get("Duplicate"), + title: window.$gz.translation.get("Duplicate"), icon: "clone", key: FORM_KEY + ":duplicate", vm: vm @@ -979,7 +979,7 @@ function initForm(vm) { await fetchUILocalizedText(vm); await populatePickLists(vm); await populateFieldDefinitions(vm); - await fetchLocalizedFieldNames(vm); + await fetchTranslatedFieldNames(vm); await setEffectiveListView(vm); await initDataObject(vm); await fetchEnums(vm); @@ -1043,7 +1043,7 @@ function fetchUILocalizedText(vm) { "Name" ]; - return window.$gz.locale.fetch(ltKeysRequired); + return window.$gz.translation.fetch(ltKeysRequired); } ///////////////////////////////// @@ -1210,16 +1210,16 @@ function populateFieldDefinitions(vm) { ////////////////////////////////////////////////////////// // -// Ensures column names are present in locale table +// Ensures column names are present in translation table // -function fetchLocalizedFieldNames(vm) { +function fetchTranslatedFieldNames(vm) { var columnKeys = []; for (var i = 1; i < vm.fieldDefinitions.length; i++) { var cm = vm.fieldDefinitions[i]; columnKeys.push(cm.ltKey); } //Now fetch all the keys and await the response before returning - return window.$gz.locale.fetch(columnKeys).then(() => { + return window.$gz.translation.fetch(columnKeys).then(() => { return; }); } @@ -1462,15 +1462,15 @@ function getDisplayForFilter( var valueDisplay = "selected value"; switch (uiFieldDataType) { case 1: //date localize - valueDisplay = window.$gz.locale.utcDateToShortDateAndTimeLocalized( + valueDisplay = window.$gz.translation.utcDateToShortDateAndTimeLocalized( filterValue ); break; case 8: //currency localize - valueDisplay = window.$gz.locale.currencyLocalized(filterValue); + valueDisplay = window.$gz.translation.currencyLocalized(filterValue); break; case 7: //decimal localize - valueDisplay = window.$gz.locale.decimalLocalized(filterValue); + valueDisplay = window.$gz.translation.decimalLocalized(filterValue); break; case 6: //BOOL localize //debugger; diff --git a/ayanova/src/views/ay-history.vue b/ayanova/src/views/ay-history.vue index 28bbb412..d8fe5248 100644 --- a/ayanova/src/views/ay-history.vue +++ b/ayanova/src/views/ay-history.vue @@ -13,7 +13,7 @@ export default { window.$gz.eventBus.$emit("menu-change", { isMain: true, icon: "history", - title: window.$gz.locale.get("History"), + title: window.$gz.translation.get("History"), helpUrl: "form-ay-history" }); } diff --git a/ayanova/src/views/ay-log.vue b/ayanova/src/views/ay-log.vue index bae4620c..211dfb72 100644 --- a/ayanova/src/views/ay-log.vue +++ b/ayanova/src/views/ay-log.vue @@ -26,12 +26,12 @@ export default { window.$gz.eventBus.$emit("menu-change", { isMain: false, icon: "fa-info-circle", - title: window.$gz.locale.get("Log"), + title: window.$gz.translation.get("Log"), helpUrl: "form-ay-log", menuItems: [ // { - // title: window.$gz.locale.get("Log"), + // title: window.$gz.translation.get("Log"), // icon: "glasses", // surface: true, // key: "app:nav:log", @@ -47,7 +47,7 @@ export default { outText += value + "\n"; }); this.logText = outText; - window.$gz.locale + window.$gz.translation .fetch(["Log"]) .then(() => (vm.formState.ready = true)) .catch(err => { diff --git a/ayanova/src/views/ay-review.vue b/ayanova/src/views/ay-review.vue index 2ce743c6..17c5f44f 100644 --- a/ayanova/src/views/ay-review.vue +++ b/ayanova/src/views/ay-review.vue @@ -13,7 +13,7 @@ export default { window.$gz.eventBus.$emit("menu-change", { isMain: true, icon: "calendar-check", - title: window.$gz.locale.get("Review"), + title: window.$gz.translation.get("Review"), helpUrl: "form-ay-review" }); } diff --git a/ayanova/src/views/ay-wiki.vue b/ayanova/src/views/ay-wiki.vue index b1b57174..b84aa4f5 100644 --- a/ayanova/src/views/ay-wiki.vue +++ b/ayanova/src/views/ay-wiki.vue @@ -13,7 +13,7 @@ export default { window.$gz.eventBus.$emit("menu-change", { isMain: true, icon: "feather", - title: window.$gz.locale.get("WikiPage"), + title: window.$gz.translation.get("WikiPage"), helpUrl: "form-ay-wiki" }); } diff --git a/ayanova/src/views/cust-customers.vue b/ayanova/src/views/cust-customers.vue index 79720c3b..ec726836 100644 --- a/ayanova/src/views/cust-customers.vue +++ b/ayanova/src/views/cust-customers.vue @@ -13,7 +13,7 @@ export default { window.$gz.eventBus.$emit("menu-change", { isMain: true, icon: "address-card", - title: window.$gz.locale.get("ClientList"), + title: window.$gz.translation.get("ClientList"), helpUrl: "form-cust-customers" }); } diff --git a/ayanova/src/views/cust-headoffices.vue b/ayanova/src/views/cust-headoffices.vue index 5edaed67..2a7fd028 100644 --- a/ayanova/src/views/cust-headoffices.vue +++ b/ayanova/src/views/cust-headoffices.vue @@ -13,7 +13,7 @@ export default { window.$gz.eventBus.$emit("menu-change", { isMain: true, icon: "sitemap", - title: window.$gz.locale.get("HeadOfficeList"), + title: window.$gz.translation.get("HeadOfficeList"), helpUrl: "form-cust-headoffices" }); } diff --git a/ayanova/src/views/customer-csr-list.vue b/ayanova/src/views/customer-csr-list.vue index 5285fed7..0d92b352 100644 --- a/ayanova/src/views/customer-csr-list.vue +++ b/ayanova/src/views/customer-csr-list.vue @@ -13,7 +13,7 @@ export default { window.$gz.eventBus.$emit("menu-change", { isMain: true, icon: "child", - title: window.$gz.locale.get("ClientServiceRequestList"), + title: window.$gz.translation.get("ClientServiceRequestList"), helpUrl: "form-customer-csr-list" }); } diff --git a/ayanova/src/views/customer-workorders.vue b/ayanova/src/views/customer-workorders.vue index 8b0a2ae3..f113c345 100644 --- a/ayanova/src/views/customer-workorders.vue +++ b/ayanova/src/views/customer-workorders.vue @@ -13,7 +13,7 @@ export default { window.$gz.eventBus.$emit("menu-change", { isMain: true, icon: "tools", - title: window.$gz.locale.get("WorkorderServiceList"), + title: window.$gz.translation.get("WorkorderServiceList"), helpUrl: "form-customer-workorders" }); } diff --git a/ayanova/src/views/home-dashboard.vue b/ayanova/src/views/home-dashboard.vue index 45a202fd..47064ce4 100644 --- a/ayanova/src/views/home-dashboard.vue +++ b/ayanova/src/views/home-dashboard.vue @@ -23,7 +23,7 @@ export default { window.$gz.eventBus.$emit("menu-change", { isMain: true, icon: "tachometer-alt", - title: window.$gz.locale.get("Dashboard"), + title: window.$gz.translation.get("Dashboard"), helpUrl: "form-home-dashboard" }); } diff --git a/ayanova/src/views/home-memos.vue b/ayanova/src/views/home-memos.vue index 11e10f14..bc690a02 100644 --- a/ayanova/src/views/home-memos.vue +++ b/ayanova/src/views/home-memos.vue @@ -13,7 +13,7 @@ export default { window.$gz.eventBus.$emit("menu-change", { isMain: true, icon: "inbox", - title: window.$gz.locale.get("MemoList"), + title: window.$gz.translation.get("MemoList"), helpUrl: "form-home-memos" }); } diff --git a/ayanova/src/views/home-notify-subscriptions.vue b/ayanova/src/views/home-notify-subscriptions.vue index dd260b47..aa706bdf 100644 --- a/ayanova/src/views/home-notify-subscriptions.vue +++ b/ayanova/src/views/home-notify-subscriptions.vue @@ -13,7 +13,7 @@ export default { window.$gz.eventBus.$emit("menu-change", { isMain: true, icon: "bullhorn", - title: window.$gz.locale.get("NotifySubscriptionList"), + title: window.$gz.translation.get("NotifySubscriptionList"), helpUrl: "form-home-notify-subscriptions" }); } diff --git a/ayanova/src/views/home-password.vue b/ayanova/src/views/home-password.vue index 34775bb5..7713875e 100644 --- a/ayanova/src/views/home-password.vue +++ b/ayanova/src/views/home-password.vue @@ -188,10 +188,10 @@ export default { }, methods: { lt(ltKey) { - return window.$gz.locale.get(ltKey); + return window.$gz.translation.get(ltKey); }, - locale() { - return window.$gz.locale; + translation() { + return window.$gz.translation; }, form() { return window.$gz.form; @@ -266,14 +266,14 @@ function generateMenu(vm) { var menuOptions = { isMain: true, icon: "key", - title: window.$gz.locale.get("SetLoginPassword"), + title: window.$gz.translation.get("SetLoginPassword"), helpUrl: "form-home-password", menuItems: [] }; if (vm.rights.change) { menuOptions.menuItems.push({ - title: window.$gz.locale.get("Save"), + title: window.$gz.translation.get("Save"), icon: "save", surface: true, key: FORM_KEY + ":save", @@ -305,7 +305,7 @@ function initForm(vm) { // Ensures UI localized text is available // function fetchUILocalizedText(vm) { - return window.$gz.locale.fetch([ + return window.$gz.translation.fetch([ "UserLogin", "OldPassword", "NewPassword", diff --git a/ayanova/src/views/home-reminders.vue b/ayanova/src/views/home-reminders.vue index 4a97d41c..a2ab5a33 100644 --- a/ayanova/src/views/home-reminders.vue +++ b/ayanova/src/views/home-reminders.vue @@ -13,7 +13,7 @@ export default { window.$gz.eventBus.$emit("menu-change", { isMain: true, icon: "sticky-note", - title: window.$gz.locale.get("ReminderList"), + title: window.$gz.translation.get("ReminderList"), helpUrl: "form-home-reminders" }); } diff --git a/ayanova/src/views/home-schedule.vue b/ayanova/src/views/home-schedule.vue index f3e6df62..97be14a8 100644 --- a/ayanova/src/views/home-schedule.vue +++ b/ayanova/src/views/home-schedule.vue @@ -13,7 +13,7 @@ export default { window.$gz.eventBus.$emit("menu-change", { isMain: true, icon: "calendar-day", - title: window.$gz.locale.get("Schedule"), + title: window.$gz.translation.get("Schedule"), helpUrl: "form-home-schedule" }); } diff --git a/ayanova/src/views/home-search.vue b/ayanova/src/views/home-search.vue index 0b5b80c9..0e57968a 100644 --- a/ayanova/src/views/home-search.vue +++ b/ayanova/src/views/home-search.vue @@ -24,7 +24,7 @@ export default { window.$gz.eventBus.$emit("menu-change", { isMain: true, icon: "search", - title: window.$gz.locale.get("Search"), + title: window.$gz.translation.get("Search"), helpUrl: "form-home-search" }); } diff --git a/ayanova/src/views/home-locale.vue b/ayanova/src/views/home-translation.vue similarity index 87% rename from ayanova/src/views/home-locale.vue rename to ayanova/src/views/home-translation.vue index be37056d..685e30c4 100644 --- a/ayanova/src/views/home-locale.vue +++ b/ayanova/src/views/home-translation.vue @@ -13,7 +13,7 @@ export default { window.$gz.eventBus.$emit("menu-change", { isMain: true, icon: "language", - title: window.$gz.locale.get("Locale"), + title: window.$gz.translation.get("Locale"), helpUrl: "form-home-locale" }); } diff --git a/ayanova/src/views/home-user-settings.vue b/ayanova/src/views/home-user-settings.vue index f8b816ad..9fa78824 100644 --- a/ayanova/src/views/home-user-settings.vue +++ b/ayanova/src/views/home-user-settings.vue @@ -73,7 +73,7 @@