Clarify widget save translation action
This commit is contained in:
+1
-1
@@ -165,7 +165,7 @@
|
||||
<label><input name="messageWiggle" type="checkbox"> zhoupnuti</label>
|
||||
</fieldset>
|
||||
<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>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
+27
-1
@@ -493,7 +493,18 @@ function widgetCopyForAdmin(settings, language) {
|
||||
placeholder: settings.placeholder?.[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) {
|
||||
@@ -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) {
|
||||
settings.title = settings.title || {};
|
||||
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() {
|
||||
const users = [];
|
||||
for (let i = 1; i < 50; i += 1) {
|
||||
@@ -1139,9 +1158,11 @@ function normalizeWidgetCopy(value, settings = {}) {
|
||||
|
||||
function normalizeWidgetCopyEntry(value, language) {
|
||||
const defaults = defaultWidgetCopy(language === "en" ? "en" : "cs");
|
||||
const legacyCs = language === "cs" ? legacyCzechWidgetCopy() : null;
|
||||
const copy = {};
|
||||
for (const field of WIDGET_COPY_FIELDS) {
|
||||
copy[field] = String(value?.[field] || defaults[field] || "").trim();
|
||||
if (legacyCs && copy[field] === legacyCs[field]) copy[field] = defaults[field];
|
||||
}
|
||||
return copy;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user