Update fluent
This commit is contained in:
parent
000854104f
commit
44a25e4156
@ -1,8 +1,8 @@
|
|||||||
import { FluentBundle } from '@fluent/bundle';
|
import { FluentBundle, FluentResource } from '@fluent/bundle';
|
||||||
|
|
||||||
function makeBundle(locale, ftl) {
|
function makeBundle(locale, ftl) {
|
||||||
const bundle = new FluentBundle(locale, { useIsolating: false });
|
const bundle = new FluentBundle(locale, { useIsolating: false });
|
||||||
bundle.addMessages(ftl);
|
bundle.addResource(new FluentResource(ftl));
|
||||||
return bundle;
|
return bundle;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -19,7 +19,7 @@ export async function getTranslator(locale) {
|
|||||||
return function(id, data) {
|
return function(id, data) {
|
||||||
for (let bundle of bundles) {
|
for (let bundle of bundles) {
|
||||||
if (bundle.hasMessage(id)) {
|
if (bundle.hasMessage(id)) {
|
||||||
return bundle.format(bundle.getMessage(id), data);
|
return bundle.formatPattern(bundle.getMessage(id).value, data);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
22811
package-lock.json
generated
22811
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@ -131,8 +131,8 @@
|
|||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@dannycoates/express-ws": "^5.0.3",
|
"@dannycoates/express-ws": "^5.0.3",
|
||||||
"@fluent/bundle": "^0.13.0",
|
"@fluent/bundle": "^0.17.1",
|
||||||
"@fluent/langneg": "^0.3.0",
|
"@fluent/langneg": "^0.6.2",
|
||||||
"@google-cloud/storage": "^5.19.0",
|
"@google-cloud/storage": "^5.19.0",
|
||||||
"@sentry/node": "^5.30.0",
|
"@sentry/node": "^5.30.0",
|
||||||
"aws-sdk": "^2.1109.0",
|
"aws-sdk": "^2.1109.0",
|
||||||
|
@ -1,13 +1,15 @@
|
|||||||
const fs = require('fs');
|
const fs = require('fs');
|
||||||
const path = require('path');
|
const path = require('path');
|
||||||
const { FluentBundle } = require('@fluent/bundle');
|
const { FluentBundle, FluentResource } = require('@fluent/bundle');
|
||||||
const localesPath = path.resolve(__dirname, '../public/locales');
|
const localesPath = path.resolve(__dirname, '../public/locales');
|
||||||
const locales = fs.readdirSync(localesPath);
|
const locales = fs.readdirSync(localesPath);
|
||||||
|
|
||||||
function makeBundle(locale) {
|
function makeBundle(locale) {
|
||||||
const bundle = new FluentBundle(locale, { useIsolating: false });
|
const bundle = new FluentBundle(locale, { useIsolating: false });
|
||||||
bundle.addMessages(
|
bundle.addResource(
|
||||||
|
new FluentResource(
|
||||||
fs.readFileSync(path.resolve(localesPath, locale, 'send.ftl'), 'utf8')
|
fs.readFileSync(path.resolve(localesPath, locale, 'send.ftl'), 'utf8')
|
||||||
|
)
|
||||||
);
|
);
|
||||||
return [locale, bundle];
|
return [locale, bundle];
|
||||||
}
|
}
|
||||||
@ -19,8 +21,11 @@ module.exports = function getTranslator(locale) {
|
|||||||
const bundle = bundles.get(locale) || defaultBundle;
|
const bundle = bundles.get(locale) || defaultBundle;
|
||||||
return function(id, data) {
|
return function(id, data) {
|
||||||
if (bundle.hasMessage(id)) {
|
if (bundle.hasMessage(id)) {
|
||||||
return bundle.format(bundle.getMessage(id), data);
|
return bundle.formatPattern(bundle.getMessage(id).value, data);
|
||||||
}
|
}
|
||||||
return defaultBundle.format(defaultBundle.getMessage(id), data);
|
return defaultBundle.formatPattern(
|
||||||
|
defaultBundle.getMessage(id).value,
|
||||||
|
data
|
||||||
|
);
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
Loading…
Reference in New Issue
Block a user