Clarify widget save translation action
This commit is contained in:
+1
-1
@@ -165,7 +165,7 @@
|
|||||||
<label><input name="messageWiggle" type="checkbox"> zhoupnuti</label>
|
<label><input name="messageWiggle" type="checkbox"> zhoupnuti</label>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
<div class="settings-actions">
|
<div class="settings-actions">
|
||||||
<button type="submit">Uložit</button>
|
<button type="submit">Uložit a přeložit</button>
|
||||||
<span id="settingsSaveStatus" class="settings-save-status" aria-live="polite"></span>
|
<span id="settingsSaveStatus" class="settings-save-status" aria-live="polite"></span>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
|
|||||||
+27
-1
@@ -493,7 +493,18 @@ function widgetCopyForAdmin(settings, language) {
|
|||||||
placeholder: settings.placeholder?.[lang],
|
placeholder: settings.placeholder?.[lang],
|
||||||
sendLabel: settings.sendLabel?.[lang]
|
sendLabel: settings.sendLabel?.[lang]
|
||||||
};
|
};
|
||||||
return { ...defaultWidgetCopy(lang), ...legacy, ...copy };
|
return normalizeWidgetCopyForAdmin({ ...defaultWidgetCopy(lang), ...legacy, ...copy }, lang);
|
||||||
|
}
|
||||||
|
|
||||||
|
function normalizeWidgetCopyForAdmin(copy, language) {
|
||||||
|
if (language !== "cs") return copy;
|
||||||
|
const defaults = defaultWidgetCopy("cs");
|
||||||
|
const legacy = legacyCzechWidgetCopy();
|
||||||
|
const normalized = { ...copy };
|
||||||
|
for (const field of Object.keys(legacy)) {
|
||||||
|
if (normalized[field] === legacy[field]) normalized[field] = defaults[field];
|
||||||
|
}
|
||||||
|
return normalized;
|
||||||
}
|
}
|
||||||
|
|
||||||
function defaultWidgetCopy(language) {
|
function defaultWidgetCopy(language) {
|
||||||
@@ -525,6 +536,21 @@ function defaultWidgetCopy(language) {
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function legacyCzechWidgetCopy() {
|
||||||
|
return {
|
||||||
|
title: "Potrebujete poradit?",
|
||||||
|
intro: "Napiste nam. Odpovime co nejdrive.",
|
||||||
|
offlineIntro: "Ted nejsme online, ale zpravu nam muzete nechat.",
|
||||||
|
placeholder: "Napiste zpravu...",
|
||||||
|
sendLabel: "Odeslat",
|
||||||
|
dropzoneLabel: "Pridat fotku nebo pretahnout",
|
||||||
|
onlineLabel: "Jsme online",
|
||||||
|
newReplyLabel: "Nova odpoved",
|
||||||
|
infoText: "Zpravu a technicke udaje relace zpracujeme jen pro odpoved na vas dotaz.",
|
||||||
|
operatorReplyLabel: "odpovida"
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
function syncLegacyWidgetCopy(settings) {
|
function syncLegacyWidgetCopy(settings) {
|
||||||
settings.title = settings.title || {};
|
settings.title = settings.title || {};
|
||||||
settings.intro = settings.intro || {};
|
settings.intro = settings.intro || {};
|
||||||
|
|||||||
@@ -375,6 +375,25 @@ function defaultWidgetCopy(language) {
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function legacyCzechWidgetCopy() {
|
||||||
|
return {
|
||||||
|
title: "Potrebujete poradit?",
|
||||||
|
intro: "Napiste nam. Odpovime co nejdrive.",
|
||||||
|
offlineIntro: "Ted nejsme online, ale zpravu nam muzete nechat.",
|
||||||
|
placeholder: "Napiste zpravu...",
|
||||||
|
sendLabel: "Odeslat",
|
||||||
|
dropzoneLabel: "Pridat fotku nebo pretahnout",
|
||||||
|
onlineLabel: "Jsme online",
|
||||||
|
offlineLabel: "Offline",
|
||||||
|
newReplyLabel: "Nova odpoved",
|
||||||
|
typingLabel: "Operator pise...",
|
||||||
|
infoTitle: "GDPR informace",
|
||||||
|
infoText: "Zpravu a technicke udaje relace zpracujeme jen pro odpoved na vas dotaz.",
|
||||||
|
closeLabel: "Zmensit chat",
|
||||||
|
operatorReplyLabel: "odpovida"
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
function configuredUsers() {
|
function configuredUsers() {
|
||||||
const users = [];
|
const users = [];
|
||||||
for (let i = 1; i < 50; i += 1) {
|
for (let i = 1; i < 50; i += 1) {
|
||||||
@@ -1139,9 +1158,11 @@ function normalizeWidgetCopy(value, settings = {}) {
|
|||||||
|
|
||||||
function normalizeWidgetCopyEntry(value, language) {
|
function normalizeWidgetCopyEntry(value, language) {
|
||||||
const defaults = defaultWidgetCopy(language === "en" ? "en" : "cs");
|
const defaults = defaultWidgetCopy(language === "en" ? "en" : "cs");
|
||||||
|
const legacyCs = language === "cs" ? legacyCzechWidgetCopy() : null;
|
||||||
const copy = {};
|
const copy = {};
|
||||||
for (const field of WIDGET_COPY_FIELDS) {
|
for (const field of WIDGET_COPY_FIELDS) {
|
||||||
copy[field] = String(value?.[field] || defaults[field] || "").trim();
|
copy[field] = String(value?.[field] || defaults[field] || "").trim();
|
||||||
|
if (legacyCs && copy[field] === legacyCs[field]) copy[field] = defaults[field];
|
||||||
}
|
}
|
||||||
return copy;
|
return copy;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user