| Summary: | [tern] Tern worker should support browser locale to support nls messages. | ||
|---|---|---|---|
| Product: | [ECD] Orion | Reporter: | libing wang <libingw> |
| Component: | JS Tools | Assignee: | libing wang <libingw> |
| Status: | RESOLVED FIXED | QA Contact: | |
| Severity: | normal | ||
| Priority: | P3 | CC: | Michael_Rennie |
| Version: | 8.0 | ||
| Target Milestone: | 9.0 | ||
| Hardware: | PC | ||
| OS: | Windows 7 | ||
| Whiteboard: | |||
| Bug Depends on: | |||
| Bug Blocks: | 469838 | ||
|
Description
libing wang
propsed patch:
diff --git a/bundles/org.eclipse.orion.client.javascript/web/javascript/plugins/javascriptPlugin.js b/bundles/org.eclipse.orion.client.javascript/web/javascript/plugins/javascriptPlugin.js
index 3226487..31c1b89 100644
--- a/bundles/org.eclipse.orion.client.javascript/web/javascript/plugins/javascriptPlugin.js
+++ b/bundles/org.eclipse.orion.client.javascript/web/javascript/plugins/javascriptPlugin.js
@@ -40,7 +40,8 @@
'orion/editor/stylers/application_json/syntax',
'orion/editor/stylers/application_schema_json/syntax',
'orion/editor/stylers/application_x-ejs/syntax',
-'i18n!javascript/nls/messages'
+'i18n!javascript/nls/messages',
+'orion/URL-shim'
], function(PluginProvider, Bootstrap, Deferred, FileClient, Metrics, Esprima, Estraverse, ScriptResolver, ASTManager, QuickFixes, TernAssist,
EslintValidator, Occurrences, Hover, Outliner, CUProvider, Util, Logger, GenerateDocCommand, OpenDeclCommand, RenameCommand, mJS, mJSON, mJSONSchema, mEJS, javascriptMessages) {
@@ -111,7 +112,9 @@
this.worker.port.start();
this.worker.port.postMessage('');
} else { */
- this.worker = new Worker(new URL(script, window.location.href).href);
+ var wUrl = new URL(script, window.location.href);
+ wUrl.query.set("worker-language", navigator.language);
+ this.worker = new Worker(wUrl.href);
this.worker.onmessage = onMessage;
this.worker.onerror = onError;
this.worker.postMessage('');
newer patch:
diff --git a/bundles/org.eclipse.orion.client.javascript/web/javascript/plugins/javascriptPlugin.js b/bundles/org.eclipse.orion.client.javascript/web/javascript/plugins/javascriptPlugin.js
index 3226487..31c1b89 100644
--- a/bundles/org.eclipse.orion.client.javascript/web/javascript/plugins/javascriptPlugin.js
+++ b/bundles/org.eclipse.orion.client.javascript/web/javascript/plugins/javascriptPlugin.js
@@ -40,7 +40,8 @@
'orion/editor/stylers/application_json/syntax',
'orion/editor/stylers/application_schema_json/syntax',
'orion/editor/stylers/application_x-ejs/syntax',
-'i18n!javascript/nls/messages'
+'i18n!javascript/nls/messages',
+'orion/URL-shim'
], function(PluginProvider, Bootstrap, Deferred, FileClient, Metrics, Esprima, Estraverse, ScriptResolver, ASTManager, QuickFixes, TernAssist,
EslintValidator, Occurrences, Hover, Outliner, CUProvider, Util, Logger, GenerateDocCommand, OpenDeclCommand, RenameCommand, mJS, mJSON, mJSONSchema, mEJS, javascriptMessages) {
@@ -111,7 +112,9 @@
this.worker.port.start();
this.worker.port.postMessage('');
} else { */
- this.worker = new Worker(new URL(script, window.location.href).href);
+ var wUrl = new URL(script, window.location.href);
+ wUrl.query.set("worker-language", navigator.language);
+ this.worker = new Worker(wUrl.href);
this.worker.onmessage = onMessage;
this.worker.onerror = onError;
this.worker.postMessage('');
diff --git a/bundles/org.eclipse.orion.client.javascript/web/javascript/plugins/ternWorkerCore.js b/bundles/org.eclipse.orion.client.javascript/web/javascript/plugins/ternWorkerCore.js
index 0093600..0a14b52 100644
--- a/bundles/org.eclipse.orion.client.javascript/web/javascript/plugins/ternWorkerCore.js
+++ b/bundles/org.eclipse.orion.client.javascript/web/javascript/plugins/ternWorkerCore.js
@@ -9,8 +9,17 @@
* Contributors:
* IBM Corporation - initial API and implementation
*******************************************************************************/
-/*globals importScripts onmessage:true doctrine onconnect:true*/
+/*globals importScripts onmessage:true doctrine onconnect:true requirejs*/
/*eslint-env node, browser*/
+var lang ='en';
+var sear = self.location.search;
+if(sear) {
+ var langs = sear.split('worker-language');
+ if(Array.isArray(langs) && langs.length === 2) {
+ lang = langs[1].slice(1);
+ }
+}
+requirejs.config({locale: lang});
require({
baseUrl: "../../", //$NON-NLS-1$
paths: {
|