mirror of
https://github.com/SillyTavern/SillyTavern.git
synced 2025-03-30 20:00:12 +02:00
Switch tracking from Array to Set
This commit is contained in:
parent
b98556855d
commit
f11a834895
@ -9,7 +9,7 @@ var langs;
|
|||||||
// eslint-disable-next-line prefer-const
|
// eslint-disable-next-line prefer-const
|
||||||
var localeData;
|
var localeData;
|
||||||
|
|
||||||
/** @type {Array<string>|null} Array of translations keys if they should be tracked - if not tracked then null */
|
/** @type {Set<string>|null} Array of translations keys if they should be tracked - if not tracked then null */
|
||||||
let trackMissingDynamicTranslate = null;
|
let trackMissingDynamicTranslate = null;
|
||||||
|
|
||||||
export const getCurrentLocale = () => localeFile;
|
export const getCurrentLocale = () => localeFile;
|
||||||
@ -104,8 +104,8 @@ export function translate(text, key = null) {
|
|||||||
console.trace('WARN: No translation key provided');
|
console.trace('WARN: No translation key provided');
|
||||||
return '';
|
return '';
|
||||||
}
|
}
|
||||||
if (trackMissingDynamicTranslate && localeData && !Object.hasOwn(localeData, translationKey) && !trackMissingDynamicTranslate.includes(translationKey)) {
|
if (trackMissingDynamicTranslate && localeData && !Object.hasOwn(localeData, translationKey)) {
|
||||||
trackMissingDynamicTranslate.push(translationKey);
|
trackMissingDynamicTranslate.add(translationKey);
|
||||||
}
|
}
|
||||||
return localeData?.[translationKey] || text;
|
return localeData?.[translationKey] || text;
|
||||||
}
|
}
|
||||||
@ -178,7 +178,7 @@ async function getMissingTranslations() {
|
|||||||
const missingData = [];
|
const missingData = [];
|
||||||
|
|
||||||
if (trackMissingDynamicTranslate) {
|
if (trackMissingDynamicTranslate) {
|
||||||
missingData.push(...trackMissingDynamicTranslate.map(key => ({ key, language: localeFile, value: key })));
|
missingData.push(...Array.from(trackMissingDynamicTranslate).map(key => ({ key, language: localeFile, value: key })));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Determine locales to search for untranslated strings
|
// Determine locales to search for untranslated strings
|
||||||
@ -225,7 +225,7 @@ async function getMissingTranslations() {
|
|||||||
console.log(missingDataMap);
|
console.log(missingDataMap);
|
||||||
|
|
||||||
if (trackMissingDynamicTranslate) {
|
if (trackMissingDynamicTranslate) {
|
||||||
const trackMissingDynamicTranslateMap = Object.fromEntries(trackMissingDynamicTranslate.map(key => [key, key]));
|
const trackMissingDynamicTranslateMap = Object.fromEntries(Array.from(trackMissingDynamicTranslate).map(key => [key, key]));
|
||||||
console.log(`Dynamic translations missing (${Object.keys(trackMissingDynamicTranslateMap).length}):`);
|
console.log(`Dynamic translations missing (${Object.keys(trackMissingDynamicTranslateMap).length}):`);
|
||||||
console.log(trackMissingDynamicTranslateMap);
|
console.log(trackMissingDynamicTranslateMap);
|
||||||
}
|
}
|
||||||
@ -292,7 +292,7 @@ export async function initLocales() {
|
|||||||
});
|
});
|
||||||
|
|
||||||
if (localStorage.getItem('trackDynamicTranslate') === 'true' && isSupportedNonEnglish()) {
|
if (localStorage.getItem('trackDynamicTranslate') === 'true' && isSupportedNonEnglish()) {
|
||||||
trackMissingDynamicTranslate = [];
|
trackMissingDynamicTranslate = new Set();
|
||||||
}
|
}
|
||||||
|
|
||||||
registerDebugFunction('getMissingTranslations', 'Get missing translations',
|
registerDebugFunction('getMissingTranslations', 'Get missing translations',
|
||||||
@ -307,7 +307,7 @@ export async function initLocales() {
|
|||||||
const isTracking = localStorage.getItem('trackDynamicTranslate') !== 'true';
|
const isTracking = localStorage.getItem('trackDynamicTranslate') !== 'true';
|
||||||
localStorage.setItem('trackDynamicTranslate', isTracking ? 'true' : 'false');
|
localStorage.setItem('trackDynamicTranslate', isTracking ? 'true' : 'false');
|
||||||
if (isTracking && isSupportedNonEnglish()) {
|
if (isTracking && isSupportedNonEnglish()) {
|
||||||
trackMissingDynamicTranslate = [];
|
trackMissingDynamicTranslate = new Set();
|
||||||
toastr.success('Dynamic translation tracking enabled.');
|
toastr.success('Dynamic translation tracking enabled.');
|
||||||
} else if (isTracking) {
|
} else if (isTracking) {
|
||||||
trackMissingDynamicTranslate = null;
|
trackMissingDynamicTranslate = null;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user