Send locale ID on change

This commit is contained in:
Vortrex
2022-06-14 17:34:55 -05:00
parent e794976e50
commit a239cd554e

View File

@@ -16,14 +16,14 @@ function initLocaleScript() {
function getLocaleString(client, stringName, ...args) { function getLocaleString(client, stringName, ...args) {
let tempString = getRawLocaleString(stringName, getPlayerData(client).locale); let tempString = getRawLocaleString(stringName, getPlayerData(client).locale);
if(tempString == "" || tempString == null || typeof tempString == "undefined") { if (tempString == "" || tempString == null || typeof tempString == "undefined") {
logToConsole(LOG_WARN, `[VRR.Locale] Locale string missing for ${stringName} on language ${getLocaleData(getPlayerData(client).locale).englishName}`); logToConsole(LOG_WARN, `[VRR.Locale] Locale string missing for ${stringName} on language ${getLocaleData(getPlayerData(client).locale).englishName}`);
submitBugReport(client, `(AUTOMATED REPORT) Locale string "${stringName}" is missing for "${getPlayerLocaleName(client)}"`); submitBugReport(client, `(AUTOMATED REPORT) Locale string "${stringName}" is missing for "${getPlayerLocaleName(client)}"`);
return ""; return "";
} }
for(let i = 1; i <= args.length; i++) { for (let i = 1; i <= args.length; i++) {
tempString = tempString.replace(`{${i}}`, args[i-1]); tempString = tempString.replace(`{${i}}`, args[i - 1]);
} }
return tempString; return tempString;
@@ -33,13 +33,13 @@ function getLocaleString(client, stringName, ...args) {
function getLanguageLocaleString(localeId, stringName, ...args) { function getLanguageLocaleString(localeId, stringName, ...args) {
let tempString = getRawLocaleString(stringName, localeId); let tempString = getRawLocaleString(stringName, localeId);
if(tempString == "" || tempString == null || typeof tempString == "undefined") { if (tempString == "" || tempString == null || typeof tempString == "undefined") {
logToConsole(LOG_WARN, `[VRR.Locale] Locale string missing for ${stringName} on language ${getLocaleData(getPlayerData(client).locale).englishName}`); logToConsole(LOG_WARN, `[VRR.Locale] Locale string missing for ${stringName} on language ${getLocaleData(getPlayerData(client).locale).englishName}`);
submitBugReport(client, `(AUTOMATED REPORT) Locale string "${stringName}" is missing for "${getPlayerLocaleName(client)}"`); submitBugReport(client, `(AUTOMATED REPORT) Locale string "${stringName}" is missing for "${getPlayerLocaleName(client)}"`);
} }
for(let i = 1; i <= args.length; i++) { for (let i = 1; i <= args.length; i++) {
tempString = tempString.replace(`{${i}}`, args[i-1]); tempString = tempString.replace(`{${i}}`, args[i - 1]);
} }
return tempString; return tempString;
@@ -50,8 +50,8 @@ function getLanguageLocaleString(localeId, stringName, ...args) {
function getGroupedLocaleString(client, stringName, index, ...args) { function getGroupedLocaleString(client, stringName, index, ...args) {
let tempString = getRawGroupedLocaleString(stringName, getPlayerData(client).locale, index); let tempString = getRawGroupedLocaleString(stringName, getPlayerData(client).locale, index);
for(let i = 1; i <= args.length; i++) { for (let i = 1; i <= args.length; i++) {
tempString = tempString.replace(`{${i}}`, args[i-1]); tempString = tempString.replace(`{${i}}`, args[i - 1]);
} }
return tempString; return tempString;
@@ -100,7 +100,7 @@ function loadAllLocaleStrings() {
let tempLocaleStrings = {}; let tempLocaleStrings = {};
let locales = getGlobalConfig().locale.locales; let locales = getGlobalConfig().locale.locales;
for(let i in locales) { for (let i in locales) {
let localeData = locales[i]; let localeData = locales[i];
let localeFile = JSON.parse(loadTextFile(`locale/${localeData.stringsFile}`)); let localeFile = JSON.parse(loadTextFile(`locale/${localeData.stringsFile}`));
tempLocaleStrings[i] = localeFile; tempLocaleStrings[i] = localeFile;
@@ -119,13 +119,13 @@ function getLocaleStrings() {
function getLocaleFromParams(params) { function getLocaleFromParams(params) {
let locales = getLocales(); let locales = getLocales();
if(isNaN(params)) { if (isNaN(params)) {
for(let i in locales) { for (let i in locales) {
if(toLowerCase(locales[i].isoCode).indexOf(toLowerCase(params)) != -1) { if (toLowerCase(locales[i].isoCode).indexOf(toLowerCase(params)) != -1) {
return i; return i;
} }
if(toLowerCase(locales[i].englishName).indexOf(toLowerCase(params)) != -1) { if (toLowerCase(locales[i].englishName).indexOf(toLowerCase(params)) != -1) {
return i; return i;
} }
} }
@@ -143,11 +143,11 @@ function getLocales() {
// =========================================================================== // ===========================================================================
function showLocaleListCommand(command, params, client) { function showLocaleListCommand(command, params, client) {
let localeList = getLocales().map(function(x) { return x[0]; }); let localeList = getLocales().map(function (x) { return x[0]; });
let chunkedList = splitArrayIntoChunks(localeList, 10); let chunkedList = splitArrayIntoChunks(localeList, 10);
messagePlayerInfo(client, getLocaleString(client, "HeaderLocaleList")); messagePlayerInfo(client, getLocaleString(client, "HeaderLocaleList"));
for(let i in chunkedList) { for (let i in chunkedList) {
messagePlayerInfo(client, chunkedList[i].join(", ")); messagePlayerInfo(client, chunkedList[i].join(", "));
} }
} }
@@ -155,14 +155,14 @@ function showLocaleListCommand(command, params, client) {
// =========================================================================== // ===========================================================================
function setLocaleCommand(command, params, client) { function setLocaleCommand(command, params, client) {
if(areParamsEmpty(params)) { if (areParamsEmpty(params)) {
messagePlayerSyntax(client, getCommandSyntaxText(command)); messagePlayerSyntax(client, getCommandSyntaxText(command));
return false; return false;
} }
let localeId = getLocaleFromParams(params); let localeId = getLocaleFromParams(params);
if(!getLocaleData(localeId)) { if (!getLocaleData(localeId)) {
messagePlayerInfo(client, getLocaleString(client, "InvalidLocale")); messagePlayerInfo(client, getLocaleString(client, "InvalidLocale"));
return false; return false;
} }
@@ -170,13 +170,14 @@ function setLocaleCommand(command, params, client) {
getPlayerData(client).accountData.locale = localeId; getPlayerData(client).accountData.locale = localeId;
getPlayerData(client).locale = localeId; getPlayerData(client).locale = localeId;
messagePlayerSuccess(client, getLocaleString(client, "LocaleChanged1", getLocaleString(client, "LocaleNativeName"))); messagePlayerSuccess(client, getLocaleString(client, "LocaleChanged1", getLocaleString(client, "LocaleNativeName")));
sendPlayerLocaleStrings(client); //sendPlayerLocaleStrings(client);
sendPlayerLocaleId(client, localeId);
} }
// =========================================================================== // ===========================================================================
function getLocaleData(localeId) { function getLocaleData(localeId) {
if(typeof getLocales()[localeId] != "undefined") { if (typeof getLocales()[localeId] != "undefined") {
return getLocales()[localeId]; return getLocales()[localeId];
} }
@@ -204,12 +205,12 @@ function reloadLocaleConfigurationCommand(command, params, client) {
async function translateMessage(messageText, translateFrom = getGlobalConfig().locale.defaultLanguageId, translateTo = getGlobalConfig().locale.defaultLanguageId) { async function translateMessage(messageText, translateFrom = getGlobalConfig().locale.defaultLanguageId, translateTo = getGlobalConfig().locale.defaultLanguageId) {
return new Promise(resolve => { return new Promise(resolve => {
if(translateFrom == translateTo) { if (translateFrom == translateTo) {
resolve(messageText); resolve(messageText);
} }
for(let i in cachedTranslations[translateFrom][translateTo]) { for (let i in cachedTranslations[translateFrom][translateTo]) {
if(cachedTranslations[translateFrom][translateTo][i][0] == messageText) { if (cachedTranslations[translateFrom][translateTo][i][0] == messageText) {
logToConsole(LOG_DEBUG, `[Translate]: Using existing translation for ${getGlobalConfig().locale.locales[translateFrom].englishName} to ${getGlobalConfig().locale.locales[translateTo].englishName} - (${messageText}), (${cachedTranslations[translateFrom][translateTo][i][1]})`); logToConsole(LOG_DEBUG, `[Translate]: Using existing translation for ${getGlobalConfig().locale.locales[translateFrom].englishName} to ${getGlobalConfig().locale.locales[translateTo].englishName} - (${messageText}), (${cachedTranslations[translateFrom][translateTo][i][1]})`);
resolve(cachedTranslations[translateFrom][translateTo][i][1]); resolve(cachedTranslations[translateFrom][translateTo][i][1]);
return true; return true;
@@ -220,13 +221,13 @@ async function translateMessage(messageText, translateFrom = getGlobalConfig().l
httpGet( httpGet(
thisTranslationURL, thisTranslationURL,
"", "",
function(data) { function (data) {
data = ArrayBufferToString(data); data = ArrayBufferToString(data);
let translationData = JSON.parse(data); let translationData = JSON.parse(data);
cachedTranslations[translateFrom][translateTo].push([messageText, translationData.responseData.translatedText]); cachedTranslations[translateFrom][translateTo].push([messageText, translationData.responseData.translatedText]);
resolve(translationData.responseData.translatedText); resolve(translationData.responseData.translatedText);
}, },
function(data) { function (data) {
} }
); );
}); });