Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit ae75d36

Browse files
author
FalkWolsky
committed
Language file handling fix and german corrections
1 parent d354c9b commit ae75d36

File tree

5 files changed

+99
-22
lines changed

5 files changed

+99
-22
lines changed

‎client/packages/lowcoder-core/lib/index.cjs

Lines changed: 71 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
// this is used in Node.js ??
2+
13
'use strict';
24

35
Object.defineProperty(exports, '__esModule', { value: true });
@@ -7589,15 +7591,62 @@ function requireReactJsxRuntime_development () {
75897591
} (jsxRuntime));
75907592

75917593
var en = {};
7592-
75937594
var zh = {};
7595+
var de = {};
7596+
var fr = {};
7597+
var es = {};
7598+
var it = {};
7599+
var ar = {};
7600+
var th = {};
7601+
var vi = {};
7602+
var ms = {};
7603+
var id = {};
7604+
var hi = {};
7605+
var ta = {};
7606+
var kn = {};
7607+
var ml = {};
7608+
var ru = {};
7609+
var pl = {};
7610+
var cs = {};
7611+
var uk = {};
7612+
var bg = {};
7613+
var sr = {};
7614+
var hr = {};
7615+
var sk = {};
7616+
var sl = {};
7617+
var mk = {};
7618+
var pt = {};
75947619

75957620
// file examples: en, enGB, zh, zhHK
75967621

75977622
var localeData = /*#__PURE__*/Object.freeze({
75987623
__proto__: null,
75997624
en: en,
7600-
zh: zh
7625+
zh: zh,
7626+
de: de,
7627+
fr: fr,
7628+
es: es,
7629+
it: it,
7630+
ar: ar,
7631+
th: th,
7632+
vi: vi,
7633+
ms: ms,
7634+
id: id,
7635+
hi: hi,
7636+
ta: ta,
7637+
kn: kn,
7638+
ml: ml,
7639+
ru: ru,
7640+
pl: pl,
7641+
cs: cs,
7642+
uk: uk,
7643+
bg: bg,
7644+
sr: sr,
7645+
hr: hr,
7646+
sk: sk,
7647+
sl: sl,
7648+
mk: mk,
7649+
pt: pt
76017650
});
76027651

76037652
var ErrorKind;
@@ -11156,8 +11205,14 @@ originalMessage) {
1115611205
}
1115711206
var varName = el.value;
1115811207
// Enforce that all required values are provided by the caller.
11208+
var value = "";
1115911209
if (!(values && varName in values)) {
11160-
throw new MissingValueError(varName, originalMessage);
11210+
// throw new MissingValueError(varName, originalMessage);
11211+
console.log("No value provided for the variable \"" + varName + "\". " + originalMessage);
11212+
value = varName;
11213+
}
11214+
else {
11215+
value = values[varName];
1116111216
}
1116211217
var value = values[varName];
1116311218
if (isArgumentElement(el)) {
@@ -11511,11 +11566,18 @@ See the accompanying LICENSE file for terms.
1151111566
*/
1151211567
var IntlMessageFormat = IntlMessageFormat$1;
1151311568

11514-
var defaultLocale = "en";
11569+
var defaultLocale = "en";
1151511570
var locales = [defaultLocale];
1151611571

11572+
// Falk - Adapted the central translator to check if a localStorage key is existing.
11573+
11574+
const uiLanguage = localStorage.getItem('lowcoder_uiLanguage');
11575+
1151711576
if (globalThis.navigator) {
11518-
if (navigator.languages && navigator.languages.length > 0) {
11577+
if (uiLanguage) {
11578+
locales = [uiLanguage];
11579+
}
11580+
else if (navigator.languages && navigator.languages.length > 0) {
1151911581
locales = __spreadArray([], navigator.languages, true);
1152011582
}
1152111583
else {
@@ -11582,7 +11644,9 @@ function getDataByLocale(fileData, suffix, filterLocales, targetLocales) {
1158211644
return { data: data, language: name_1.slice(0, 2) };
1158311645
}
1158411646
}
11585-
throw new Error("Not found ".concat(names));
11647+
console.error("Not found ".concat(names));
11648+
// better to continue the app without crashing
11649+
// throw new Error("Not found ".concat(names));
1158611650
}
1158711651
var globalMessageKeyPrefix = "@";
1158811652
var globalMessages = Object.fromEntries(Object.entries(getDataByLocale(localeData, "").data).map(function (_a) {
@@ -11628,7 +11692,7 @@ var Translator = /** @class */ (function () {
1162811692
return Translator;
1162911693
}());
1163011694
function getI18nObjects(fileData, filterLocales) {
11631-
return getDataByLocale(fileData, "Obj", filterLocales).data;
11695+
return getDataByLocale(fileData, "Obj", filterLocales)?.data;
1163211696
}
1163311697

1163411698
exports.AbstractComp = AbstractComp;

‎client/packages/lowcoder-core/lib/index.d.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
// this is the tpyes file next to index.js
2+
13
/// <reference types="react" />
24
import React, { ReactNode } from 'react';
35

‎client/packages/lowcoder-core/lib/index.js

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11194,11 +11194,16 @@ originalMessage) {
1119411194
continue;
1119511195
}
1119611196
var varName = el.value;
11197+
var value = "";
1119711198
// Enforce that all required values are provided by the caller.
1119811199
if (!(values && varName in values)) {
11199-
throw new MissingValueError(varName, originalMessage);
11200+
console.log("No value provided for the variable \"" + varName + "\". " + originalMessage);
11201+
// throw new MissingValueError(varName, originalMessage);
11202+
value = varName;
11203+
}
11204+
else {
11205+
value = values[varName];
1120011206
}
11201-
var value = values[varName];
1120211207
if (isArgumentElement(el)) {
1120311208
if (!value || typeof value === 'string' || typeof value === 'number') {
1120411209
value =

‎client/packages/lowcoder-core/src/i18n/index.tsx

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,20 @@ import IntlMessageFormat from "intl-messageformat";
33
import log from "loglevel";
44
import { Fragment } from "react";
55

6+
// this is a copy of the translator from ../../lib/index.js
7+
// TODO: check if this file is used at all
8+
69
const defaultLocale = "en";
710

811
let locales = [defaultLocale];
912

13+
// Falk - Adapted the central translator to check if a localStorage key is existing.
14+
const uiLanguage = localStorage.getItem('lowcoder_uiLanguage');
1015
if (globalThis.navigator) {
11-
if (navigator.languages && navigator.languages.length > 0) {
16+
if (uiLanguage) {
17+
locales = [uiLanguage];
18+
}
19+
else if (navigator.languages && navigator.languages.length > 0) {
1220
locales = [...navigator.languages];
1321
} else {
1422
locales = [navigator.language || ((navigator as any).userLanguage as string) || defaultLocale];
@@ -69,8 +77,6 @@ function getDataByLocale<T>(
6977
targetLocales?: string[]
7078
) {
7179

72-
console.log("Überraschung", fileData);
73-
7480
let localeInfos = [...fallbackLocaleInfos];
7581

7682
const targetLocaleInfo = parseLocales(targetLocales || []);
@@ -99,8 +105,8 @@ function getDataByLocale<T>(
99105
return { data: data as T, language: name.slice(0, 2) };
100106
}
101107
}
102-
103-
throw new Error(`Not found ${names}`);
108+
console.error(`Not found ${names}`);
109+
// throw new Error(`Not found ${names}`);
104110
}
105111

106112
type AddDot<T extends string> = T extends "" ? "" : `.${T}`;
@@ -190,5 +196,5 @@ export class Translator<Messages extends object> {
190196
}
191197

192198
export function getI18nObjects<I18nObjects>(fileData: object, filterLocales?: string) {
193-
return getDataByLocale<I18nObjects>(fileData, "Obj", filterLocales).data;
199+
return getDataByLocale<I18nObjects>(fileData, "Obj", filterLocales)?.data;
194200
}

‎client/packages/lowcoder/src/i18n/locales/de.ts

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1960,18 +1960,18 @@ export const de: typeof en = {
19601960
"temporaryState": {
19611961
...en.temporaryState,
19621962
"value": "Anfangswert",
1963-
"valueTooltip": "Der Anfangswert, der im temporĂ€ren Status gespeichert wird, kann ein beliebiger gĂŒltiger JSON-Wert sein.",
1964-
"docLink": "Lies mehr ĂŒber temporĂ€re Staaten...",
1963+
"valueTooltip": "Der Anfangswert, der im temporĂ€ren Zustand gespeichert wird, kann ein beliebiger gĂŒltiger JSON-Wert sein.",
1964+
"docLink": "Lies mehr ĂŒber temporĂ€re ZustĂ€nde...",
19651965
"pathTypeError": "Pfad muss entweder ein String oder ein Array von Werten sein",
19661966
"unStructuredError": "Unstrukturierte Daten {prev} können nicht von {path} aktualisiert werden",
19671967
"valueDesc": "VorlÀufiger Zustandswert",
1968-
"deleteMessage": "Der temporĂ€re Status wurde erfolgreich gelöscht. Du kannst {undoKey} zum RĂŒckgĂ€ngigmachen verwenden.",
1968+
"deleteMessage": "Der temporĂ€re Zustand wurde erfolgreich gelöscht. Du kannst {undoKey} zum RĂŒckgĂ€ngigmachen verwenden.",
19691969
"documentationText": "TemporĂ€re ZustĂ€nde in Lowcoder sind eine leistungsstarke Funktion zur Verwaltung komplexer Variablen, die den Zustand von Komponenten in deiner Anwendung dynamisch aktualisieren. Diese ZustĂ€nde dienen als Zwischenspeicher fĂŒr Daten, die sich im Laufe der Zeit aufgrund von Benutzerinteraktionen oder anderen Prozessen Ă€ndern können."
19701970
},
19711971
"dataResponder": {
19721972
...en.dataResponder,
19731973
"data": "Daten",
1974-
"dataDesc": "Daten des aktuellen Datenresponders",
1974+
"dataDesc": "Daten des aktuellen Data Responders",
19751975
"dataTooltip": "Wenn diese Daten geÀndert werden, lösen sie nachfolgende Aktionen aus.",
19761976
"docLink": "Lies mehr ĂŒber die Data Responders...",
19771977
"deleteMessage": "Der Data Responder wurde erfolgreich gelöscht. Du kannst {undoKey} zum RĂŒckgĂ€ngigmachen verwenden.",
@@ -2295,7 +2295,7 @@ export const de: typeof en = {
22952295
"update": "Was gibt's Neues?",
22962296
"version": "Version",
22972297
"versionWithColon": "Version: ",
2298-
"submitIssue": "Ausgabe einreichen"
2298+
"submitIssue": "Problem melden"
22992299
},
23002300
"header": {
23012301
...en.header,
@@ -2304,11 +2304,11 @@ export const de: typeof en = {
23042304
"recoverAppSnapshotTitle": "Diese Version wiederherstellen?",
23052305
"recoverAppSnapshotContent": "Stelle die aktuelle App auf die Version wieder her, die zum Zeitpunkt {time} erstellt wurde.",
23062306
"recoverAppSnapshotMessage": "Diese Version wiederherstellen",
2307-
"returnEdit": "ZurĂŒck zur Redaktion",
2307+
"returnEdit": "ZurĂŒck zum Bearbeiten",
23082308
"deploy": "Veröffentlichen",
23092309
"export": "Exportieren nach JSON",
23102310
"editName": "Name bearbeiten",
2311-
"duplicate": "Duplizieren {type}",
2311+
"duplicate": "{type} Duplizieren",
23122312
"snapshot": "Bearbeitungs-Historie",
23132313
"scriptsAndStyles": "Skripte und Stil",
23142314
"appSettings": "App-Einstellungen",

0 commit comments

Comments
 (0)