* #10 add localization * #10 revert locale from dev page * #10 add more examples * #10 localize auth panel * #10 localize some comment message * #10 localize some comment form message * #10 translate vote messages * #10 translate comment message * #10 use messages value for translate reference * #10 fix compile issue * #10 use messages value for translate reference * #10 use messages value for translate reference * #10 use messages value for translate reference * #10 use messages value for translate reference * #10 use messages value for translate reference * #10 translate comment message * #10 translate comment form * #10 translate comment form * #10 translate root component * #10 translate user info * #10 translate settings * #10 translate settings * #10 translate toolbar * #10 translate errors messages * #10 sort dict * #10 fix after rebase * #10 localize anonymousLoginForm * #10 localize emailLoginForm * #10 update size-limit * #10 localize subscribe by rss * #10 localize subscribe by email * #10 add de locale * #10 increase limit size * #10 auto generate loadLocale * #10 add some documentation * #10 fix error messages * fix typo * don't bundle en locale * fix message id * change size limits * Update extract message pattern Co-Authored-By: Pavel Mineev <pavel@mineev.me> Co-authored-by: Pavel Mineev <pavel@mineev.me>
22 lines
586 B
JavaScript
22 lines
586 B
JavaScript
function renderLoadLocale(locales) {
|
|
return `/** this is generated file by "npm run generate-langs" **/
|
|
// it is ok that is empty. Default messages from code will be used.
|
|
const enMessages = {};
|
|
|
|
export async function loadLocale(locale: string): Promise<Record<string, string>> {
|
|
${locales
|
|
.map(
|
|
locale => ` if (locale === '${locale}') {
|
|
return import(/* webpackChunkName: "${locale}" */ '../locales/${locale}.json')
|
|
.then(res => res.default)
|
|
.catch(() => enMessages);
|
|
}
|
|
`
|
|
)
|
|
.join('')}
|
|
return enMessages;
|
|
}\n`;
|
|
}
|
|
|
|
module.exports = { renderLoadLocale };
|