Fixed translation load error
This commit is contained in:
parent
d298f0d656
commit
c0d92e1549
2 changed files with 30 additions and 6 deletions
|
@ -180,8 +180,8 @@ namespace i18n {
|
||||||
current_repository_url?: string;
|
current_repository_url?: string;
|
||||||
current_language?: string;
|
current_language?: string;
|
||||||
|
|
||||||
current_translation_url: string;
|
current_translation_url?: string;
|
||||||
current_translation_path: string;
|
current_translation_path?: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface RepositoryConfig {
|
export interface RepositoryConfig {
|
||||||
|
@ -198,7 +198,12 @@ namespace i18n {
|
||||||
return _cached_repository_config;
|
return _cached_repository_config;
|
||||||
|
|
||||||
const config_string = localStorage.getItem(repository_config_key);
|
const config_string = localStorage.getItem(repository_config_key);
|
||||||
const config: RepositoryConfig = config_string ? JSON.parse(config_string) : {};
|
let config: RepositoryConfig;
|
||||||
|
try {
|
||||||
|
config = config_string ? JSON.parse(config_string) : {};
|
||||||
|
} catch(error) {
|
||||||
|
log.error(LogCategory.I18N, tr("Failed to parse repository config: %o"), error);
|
||||||
|
}
|
||||||
config.repositories = config.repositories || [];
|
config.repositories = config.repositories || [];
|
||||||
for(const repo of config.repositories)
|
for(const repo of config.repositories)
|
||||||
(repo.repository || {load_timestamp: 0}).load_timestamp = 0;
|
(repo.repository || {load_timestamp: 0}).load_timestamp = 0;
|
||||||
|
@ -228,7 +233,12 @@ namespace i18n {
|
||||||
return _cached_translation_config;
|
return _cached_translation_config;
|
||||||
|
|
||||||
const config_string = localStorage.getItem(translation_config_key);
|
const config_string = localStorage.getItem(translation_config_key);
|
||||||
_cached_translation_config = config_string ? JSON.parse(config_string) : {};
|
try {
|
||||||
|
_cached_translation_config = config_string ? JSON.parse(config_string) : {};
|
||||||
|
} catch(error) {
|
||||||
|
log.error(LogCategory.I18N, tr("Failed to initialize translation config. Using default one. Error: %o"), error);
|
||||||
|
_cached_translation_config = {} as any;
|
||||||
|
}
|
||||||
return _cached_translation_config;
|
return _cached_translation_config;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -291,6 +301,7 @@ namespace i18n {
|
||||||
config.save_translation_config();
|
config.save_translation_config();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* ATTENTION: This method is called before most other library inizialisations! */
|
||||||
export async function initialize() {
|
export async function initialize() {
|
||||||
const rcfg = config.repository_config(); /* initialize */
|
const rcfg = config.repository_config(); /* initialize */
|
||||||
const cfg = config.translation_config();
|
const cfg = config.translation_config();
|
||||||
|
@ -300,7 +311,17 @@ namespace i18n {
|
||||||
await load_file(cfg.current_translation_url, cfg.current_translation_path);
|
await load_file(cfg.current_translation_url, cfg.current_translation_path);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error(tr("Failed to initialize selected translation: %o"), error);
|
console.error(tr("Failed to initialize selected translation: %o"), error);
|
||||||
createErrorModal(tr("Translation System"), tr("Failed to load current selected translation file.") + "<br>File: " + cfg.current_translation_url + "<br>Error: " + error + "<br>" + tr("Using default fallback translations.")).open();
|
const show_error = () => {
|
||||||
|
createErrorModal(tr("Translation System"), tra("Failed to load current selected translation file.{:br:}File: {0}{:br:}Error: {1}{:br:}{:br:}Using default fallback translations.", cfg.current_translation_url, error)).open()
|
||||||
|
};
|
||||||
|
if(loader.running())
|
||||||
|
loader.register_task(loader.Stage.JAVASCRIPT_INITIALIZING, {
|
||||||
|
priority: 10,
|
||||||
|
function: async () => show_error(),
|
||||||
|
name: "I18N error display"
|
||||||
|
});
|
||||||
|
else
|
||||||
|
show_error();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// await load_file("http://localhost/home/TeaSpeak/TeaSpeak/Web-Client/web/environment/development/i18n/de_DE.translation");
|
// await load_file("http://localhost/home/TeaSpeak/TeaSpeak/Web-Client/web/environment/development/i18n/de_DE.translation");
|
||||||
|
|
5
todo.txt
5
todo.txt
|
@ -120,4 +120,7 @@ Fix these icons: https://img.did.science/Screenshot_20-11-06.png
|
||||||
- Add a notification (Like the browser notifications)
|
- Add a notification (Like the browser notifications)
|
||||||
Connection state sometimes does not update
|
Connection state sometimes does not update
|
||||||
The teaforum account does not show the premium status
|
The teaforum account does not show the premium status
|
||||||
Allow channel chatting in the current channel
|
Allow channel chatting in the current channel
|
||||||
|
Generate a default identity in JS when no POW worker is avaliable!
|
||||||
|
Top menu double click does not work (not open again)
|
||||||
|
Test the site without initializing the contgext seperators!
|
Loading…
Add table
Reference in a new issue