@theia/core 1.25.0-next.21 → 1.25.0-next.22
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -3
- package/lib/common/nls.js +24 -4
- package/lib/common/nls.js.map +1 -1
- package/package.json +3 -3
- package/src/common/nls.ts +25 -4
package/README.md
CHANGED
|
@@ -86,9 +86,9 @@ export class SomeClass {
|
|
|
86
86
|
- `@phosphor/signaling` (from [`@phosphor/signaling@1`](https://www.npmjs.com/package/@phosphor/signaling))
|
|
87
87
|
- `@phosphor/virtualdom` (from [`@phosphor/virtualdom@1`](https://www.npmjs.com/package/@phosphor/virtualdom))
|
|
88
88
|
- `@phosphor/widgets` (from [`@phosphor/widgets@1`](https://www.npmjs.com/package/@phosphor/widgets))
|
|
89
|
-
- `@theia/application-package` (from [`@theia/application-package@1.25.0-next.
|
|
90
|
-
- `@theia/application-package/lib/api` (from [`@theia/application-package@1.25.0-next.
|
|
91
|
-
- `@theia/application-package/lib/environment` (from [`@theia/application-package@1.25.0-next.
|
|
89
|
+
- `@theia/application-package` (from [`@theia/application-package@1.25.0-next.22+c70312ffecc`](https://www.npmjs.com/package/@theia/application-package/v/1.25.0-next.22))
|
|
90
|
+
- `@theia/application-package/lib/api` (from [`@theia/application-package@1.25.0-next.22+c70312ffecc`](https://www.npmjs.com/package/@theia/application-package/v/1.25.0-next.22))
|
|
91
|
+
- `@theia/application-package/lib/environment` (from [`@theia/application-package@1.25.0-next.22+c70312ffecc`](https://www.npmjs.com/package/@theia/application-package/v/1.25.0-next.22))
|
|
92
92
|
- `fs-extra` (from [`fs-extra@^4.0.2`](https://www.npmjs.com/package/fs-extra))
|
|
93
93
|
- `fuzzy` (from [`fuzzy@^0.1.3`](https://www.npmjs.com/package/fuzzy))
|
|
94
94
|
- `inversify` (from [`inversify@^5.1.1`](https://www.npmjs.com/package/inversify))
|
package/lib/common/nls.js
CHANGED
|
@@ -59,7 +59,8 @@ class LocalizationKeyProvider {
|
|
|
59
59
|
this.data = this.buildData();
|
|
60
60
|
}
|
|
61
61
|
get(defaultValue) {
|
|
62
|
-
|
|
62
|
+
const normalized = localization_1.Localization.normalize(defaultValue);
|
|
63
|
+
return this.data.get(normalized) || this.data.get(normalized.toUpperCase());
|
|
63
64
|
}
|
|
64
65
|
/**
|
|
65
66
|
* Transforms the data coming from the `nls.metadata.json` file into a map.
|
|
@@ -73,16 +74,35 @@ class LocalizationKeyProvider {
|
|
|
73
74
|
const keys = bundles.keys;
|
|
74
75
|
const messages = bundles.messages;
|
|
75
76
|
const data = new Map();
|
|
77
|
+
const keysAndMessages = this.buildKeyMessageTuples(keys, messages);
|
|
78
|
+
for (const { key, message } of keysAndMessages) {
|
|
79
|
+
data.set(message, key);
|
|
80
|
+
}
|
|
81
|
+
// Second pass adds each message again in upper case, if the message doesn't already exist in upper case
|
|
82
|
+
// The second pass is needed to not accidentally override any translations which actually use the upper case message
|
|
83
|
+
for (const { key, message } of keysAndMessages) {
|
|
84
|
+
const upperMessage = message.toUpperCase();
|
|
85
|
+
if (!data.has(upperMessage)) {
|
|
86
|
+
data.set(upperMessage, key);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
return data;
|
|
90
|
+
}
|
|
91
|
+
buildKeyMessageTuples(keys, messages) {
|
|
92
|
+
const list = [];
|
|
76
93
|
for (const [fileKey, messageBundle] of Object.entries(messages)) {
|
|
77
94
|
const keyBundle = keys[fileKey];
|
|
78
95
|
for (let i = 0; i < messageBundle.length; i++) {
|
|
79
|
-
const message = localization_1.Localization.normalize(messageBundle[i])
|
|
96
|
+
const message = localization_1.Localization.normalize(messageBundle[i]);
|
|
80
97
|
const key = keyBundle[i];
|
|
81
98
|
const localizationKey = this.buildKey(typeof key === 'string' ? key : key.key, fileKey);
|
|
82
|
-
|
|
99
|
+
list.push({
|
|
100
|
+
key: localizationKey,
|
|
101
|
+
message
|
|
102
|
+
});
|
|
83
103
|
}
|
|
84
104
|
}
|
|
85
|
-
return
|
|
105
|
+
return list;
|
|
86
106
|
}
|
|
87
107
|
buildKey(key, filepath) {
|
|
88
108
|
return `vscode/${localization_1.Localization.transformKey(filepath)}/${key}`;
|
package/lib/common/nls.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nls.js","sourceRoot":"","sources":["../../src/common/nls.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,2EAA2E;AAC3E,gFAAgF;;;AAEhF,sDAA+D;AAE/D,IAAiB,GAAG,CAuCnB;AAvCD,WAAiB,GAAG;IAIH,YAAQ,GAAG,UAAU,CAAC;IAEtB,UAAM,GAAG,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,IAAI,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,IAAA,QAAQ,CAAC,IAAI,SAAS,CAAC;IAEjH,IAAI,WAAgD,CAAC;IAErD;;OAEG;IACH,SAAgB,iBAAiB,CAAC,YAAoB,EAAE,GAAG,IAAkB;QACzE,IAAI,IAAA,YAAY,EAAE;YACd,MAAM,GAAG,GAAG,aAAa,CAAC,YAAY,CAAC,CAAC;YACxC,IAAI,GAAG,EAAE;gBACL,OAAO,QAAQ,CAAC,GAAG,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC,CAAC;aAC/C;iBAAM;gBACH,OAAO,CAAC,IAAI,CAAC,sDAAsD,YAAY,GAAG,CAAC,CAAC;aACvF;SACJ;QACD,OAAO,2BAAY,CAAC,MAAM,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;IACnD,CAAC;IAVe,qBAAiB,oBAUhC,CAAA;IAED,SAAgB,aAAa,CAAC,YAAoB;QAC9C,IAAI,CAAC,WAAW,EAAE;YACd,WAAW,GAAG,IAAI,uBAAuB,EAAE,CAAC;SAC/C;QACD,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAC1C,IAAI,GAAG,EAAE;YACL,OAAO,GAAG,CAAC;SACd;QACD,OAAO,EAAE,CAAC;IACd,CAAC;IATe,iBAAa,gBAS5B,CAAA;IAED,SAAgB,QAAQ,CAAC,GAAW,EAAE,YAAoB,EAAE,GAAG,IAAkB;QAC7E,OAAO,2BAAY,CAAC,QAAQ,CAAC,IAAA,YAAY,EAAE,GAAG,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC,CAAC;IAC3E,CAAC;IAFe,YAAQ,WAEvB,CAAA;AACL,CAAC,EAvCgB,GAAG,GAAH,WAAG,KAAH,WAAG,QAuCnB;AAWD,MAAM,uBAAuB;IAA7B;QAEY,SAAI,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"nls.js","sourceRoot":"","sources":["../../src/common/nls.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@theia/core",
|
|
3
|
-
"version": "1.25.0-next.
|
|
3
|
+
"version": "1.25.0-next.22+c70312ffecc",
|
|
4
4
|
"description": "Theia is a cloud & desktop IDE framework implemented in TypeScript.",
|
|
5
5
|
"main": "lib/common/index.js",
|
|
6
6
|
"typings": "lib/common/index.d.ts",
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
"@phosphor/virtualdom": "1",
|
|
18
18
|
"@phosphor/widgets": "1",
|
|
19
19
|
"@primer/octicons-react": "^9.0.0",
|
|
20
|
-
"@theia/application-package": "1.25.0-next.
|
|
20
|
+
"@theia/application-package": "1.25.0-next.22+c70312ffecc",
|
|
21
21
|
"@types/body-parser": "^1.16.4",
|
|
22
22
|
"@types/cookie": "^0.3.3",
|
|
23
23
|
"@types/dompurify": "^2.2.2",
|
|
@@ -190,5 +190,5 @@
|
|
|
190
190
|
"nyc": {
|
|
191
191
|
"extends": "../../configs/nyc.json"
|
|
192
192
|
},
|
|
193
|
-
"gitHead": "
|
|
193
|
+
"gitHead": "c70312ffeccfde795d2a9beb60872712e1fd5f3d"
|
|
194
194
|
}
|
package/src/common/nls.ts
CHANGED
|
@@ -71,7 +71,8 @@ class LocalizationKeyProvider {
|
|
|
71
71
|
private data = this.buildData();
|
|
72
72
|
|
|
73
73
|
get(defaultValue: string): string | undefined {
|
|
74
|
-
|
|
74
|
+
const normalized = Localization.normalize(defaultValue);
|
|
75
|
+
return this.data.get(normalized) || this.data.get(normalized.toUpperCase());
|
|
75
76
|
}
|
|
76
77
|
|
|
77
78
|
/**
|
|
@@ -86,16 +87,36 @@ class LocalizationKeyProvider {
|
|
|
86
87
|
const keys: NlsKeys = bundles.keys;
|
|
87
88
|
const messages: Record<string, string[]> = bundles.messages;
|
|
88
89
|
const data = new Map<string, string>();
|
|
90
|
+
const keysAndMessages = this.buildKeyMessageTuples(keys, messages);
|
|
91
|
+
for (const { key, message } of keysAndMessages) {
|
|
92
|
+
data.set(message, key);
|
|
93
|
+
}
|
|
94
|
+
// Second pass adds each message again in upper case, if the message doesn't already exist in upper case
|
|
95
|
+
// The second pass is needed to not accidentally override any translations which actually use the upper case message
|
|
96
|
+
for (const { key, message } of keysAndMessages) {
|
|
97
|
+
const upperMessage = message.toUpperCase();
|
|
98
|
+
if (!data.has(upperMessage)) {
|
|
99
|
+
data.set(upperMessage, key);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
return data;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
private buildKeyMessageTuples(keys: NlsKeys, messages: Record<string, string[]>): { key: string, message: string }[] {
|
|
106
|
+
const list: { key: string, message: string }[] = [];
|
|
89
107
|
for (const [fileKey, messageBundle] of Object.entries(messages)) {
|
|
90
108
|
const keyBundle = keys[fileKey];
|
|
91
109
|
for (let i = 0; i < messageBundle.length; i++) {
|
|
92
|
-
const message = Localization.normalize(messageBundle[i])
|
|
110
|
+
const message = Localization.normalize(messageBundle[i]);
|
|
93
111
|
const key = keyBundle[i];
|
|
94
112
|
const localizationKey = this.buildKey(typeof key === 'string' ? key : key.key, fileKey);
|
|
95
|
-
|
|
113
|
+
list.push({
|
|
114
|
+
key: localizationKey,
|
|
115
|
+
message
|
|
116
|
+
});
|
|
96
117
|
}
|
|
97
118
|
}
|
|
98
|
-
return
|
|
119
|
+
return list;
|
|
99
120
|
}
|
|
100
121
|
|
|
101
122
|
private buildKey(key: string, filepath: string): string {
|