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_language?: string;
|
||||
|
||||
current_translation_url: string;
|
||||
current_translation_path: string;
|
||||
current_translation_url?: string;
|
||||
current_translation_path?: string;
|
||||
}
|
||||
|
||||
export interface RepositoryConfig {
|
||||
|
@ -198,7 +198,12 @@ namespace i18n {
|
|||
return _cached_repository_config;
|
||||
|
||||
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 || [];
|
||||
for(const repo of config.repositories)
|
||||
(repo.repository || {load_timestamp: 0}).load_timestamp = 0;
|
||||
|
@ -228,7 +233,12 @@ namespace i18n {
|
|||
return _cached_translation_config;
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
|
@ -291,6 +301,7 @@ namespace i18n {
|
|||
config.save_translation_config();
|
||||
}
|
||||
|
||||
/* ATTENTION: This method is called before most other library inizialisations! */
|
||||
export async function initialize() {
|
||||
const rcfg = config.repository_config(); /* initialize */
|
||||
const cfg = config.translation_config();
|
||||
|
@ -300,7 +311,17 @@ namespace i18n {
|
|||
await load_file(cfg.current_translation_url, cfg.current_translation_path);
|
||||
} catch (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");
|
||||
|
|
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)
|
||||
Connection state sometimes does not update
|
||||
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