mirror of
https://github.com/overleaf/overleaf.git
synced 2024-12-11 23:32:22 -05:00
f2eb4893fe
[misc] i18n: transform locales GitOrigin-RevId: 2306682eab2b10a69c14520cb22338d8537397cd
37 lines
896 B
JavaScript
37 lines
896 B
JavaScript
/*
|
|
This script will aid the process of inserting HTML fragments into all the
|
|
locales.
|
|
We are migrating from
|
|
locale: 'PRE __key1__ POST'
|
|
pug: translate(localeKey, { key1: '<b>VALUE</b>' })
|
|
to
|
|
locale: 'PRE <0>__key1__</0> POST'
|
|
pug: translate(localeKey, { key1: 'VALUE' }, ['b'])
|
|
|
|
|
|
MAPPING entries:
|
|
localeKey: ['key1', 'key2']
|
|
click_here_to_view_sl_in_lng: ['lngName']
|
|
*/
|
|
const MAPPING = {}
|
|
|
|
const { transformLocales } = require('./transformLocales')
|
|
|
|
function transformLocale(locale, components) {
|
|
components.forEach((key, idx) => {
|
|
const i18nKey = `__${key}__`
|
|
const replacement = `<${idx}>${i18nKey}</${idx}>`
|
|
if (!locale.includes(replacement)) {
|
|
locale = locale.replace(new RegExp(i18nKey, 'g'), replacement)
|
|
}
|
|
})
|
|
return locale
|
|
}
|
|
|
|
function main() {
|
|
transformLocales(MAPPING, transformLocale)
|
|
}
|
|
|
|
if (require.main === module) {
|
|
main()
|
|
}
|