Send locale ID on change
This commit is contained in:
@@ -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) {
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user