replaceLinkFragments.js 955 B

1234567891011121314151617181920212223242526272829303132333435
  1. /*
  2. This script will aid the process of inserting HTML fragments into all the
  3. locales.
  4. We are migrating from
  5. locale: 'PRE __keyLinkOpen__INNER__keyLinkClose__ POST'
  6. pug: translate(localeKey, { keyLinkOpen: '<a ...>', keyLinkClose: '</a>' })
  7. to
  8. locale: 'PRE <0>INNER</0> POST'
  9. pug: translate(localeKey, {}, [{ name: 'a', attrs: { href: '...', ... }}])
  10. MAPPING entries:
  11. localeKey: ['keyLinkOpen', 'keyLinkClose']
  12. faq_pay_by_invoice_answer: ['payByInvoiceLinkOpen', 'payByInvoiceLinkClose']
  13. */
  14. const MAPPING = {}
  15. const { transformLocales } = require('./transformLocales')
  16. function transformLocale(locale, [open, close]) {
  17. const i18nOpen = `__${open}__`
  18. const i18nClose = `__${close}__`
  19. if (locale.includes(i18nOpen)) {
  20. locale = locale.replace(i18nOpen, '<0>').replace(i18nClose, '</0>')
  21. }
  22. return locale
  23. }
  24. function main() {
  25. transformLocales(MAPPING, transformLocale)
  26. }
  27. if (require.main === module) {
  28. main()
  29. }