replaceLinkFragments.js 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738
  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. also_provides_free_plan: ['registerLinkOpen', 'registerLinkClose'],
  16. faq_pay_by_invoice_answer: ['payByInvoiceLinkOpen', 'payByInvoiceLinkClose'],
  17. }
  18. const { transformLocales } = require('./transformLocales')
  19. function transformLocale(locale, [open, close]) {
  20. const i18nOpen = `__${open}__`
  21. const i18nClose = `__${close}__`
  22. if (locale.includes(i18nOpen)) {
  23. locale = locale.replace(i18nOpen, '<0>').replace(i18nClose, '</0>')
  24. }
  25. return locale
  26. }
  27. function main() {
  28. transformLocales(MAPPING, transformLocale)
  29. }
  30. if (require.main === module) {
  31. main()
  32. }