mirror of
https://github.com/wekan/wekan.git
synced 2026-02-20 15:04:07 +01:00
Translations are working on the client side again
This commit is contained in:
parent
ae4232465b
commit
f421d135a6
1 changed files with 18 additions and 3 deletions
|
|
@ -1,3 +1,4 @@
|
||||||
|
import { ReactiveCache } from '/imports/reactiveCache';
|
||||||
import { Meteor } from 'meteor/meteor';
|
import { Meteor } from 'meteor/meteor';
|
||||||
import { ReactiveVar } from 'meteor/reactive-var';
|
import { ReactiveVar } from 'meteor/reactive-var';
|
||||||
import Translation from '/models/translation';
|
import Translation from '/models/translation';
|
||||||
|
|
@ -44,14 +45,28 @@ export const TAPi18n = {
|
||||||
getLanguage() {
|
getLanguage() {
|
||||||
return this.current.get();
|
return this.current.get();
|
||||||
},
|
},
|
||||||
|
loadTranslation(language) {
|
||||||
|
return new Promise((resolve, reject) => {
|
||||||
|
if (Meteor.isClient) {
|
||||||
|
const translationSubscription = Meteor.subscribe('translation', {language: language}, 0, {
|
||||||
|
onReady() {
|
||||||
|
resolve(translationSubscription);
|
||||||
|
},
|
||||||
|
onError(error) {
|
||||||
|
reject(error);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
resolve();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
async loadLanguage(language) {
|
async loadLanguage(language) {
|
||||||
if (language in languages && 'load' in languages[language]) {
|
if (language in languages && 'load' in languages[language]) {
|
||||||
let data = await languages[language].load();
|
let data = await languages[language].load();
|
||||||
|
|
||||||
let custom_translations = [];
|
let custom_translations = [];
|
||||||
if (Meteor.isClient) {
|
await this.loadTranslation(language);
|
||||||
await Meteor.subscribe('translation', {language: language}, 0);
|
|
||||||
}
|
|
||||||
custom_translations = ReactiveCache.getTranslations({language: language}, {fields: { text: true, translationText: true }});
|
custom_translations = ReactiveCache.getTranslations({language: language}, {fields: { text: true, translationText: true }});
|
||||||
|
|
||||||
if (custom_translations && custom_translations.length > 0) {
|
if (custom_translations && custom_translations.length > 0) {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue