ReactJs - интернационализация и подстановочные знаки и HTML - PullRequest
0 голосов
/ 28 ноября 2018

Я хочу унаследовать предварительно созданное приложениеactjs - но меня беспокоит, что строки языка json разделены - и вместо использования подстановочных символов - также не уверен, как обрабатывается разметка.

Поэтому на самом деле сообщение должно выглядеть примерно так:

'Hello {0} I am glad you have {1} your email is <a href=mailto:{2}>{2}</a>'
0 - "Johnny"
1 - "registered"
2 - "test@test.com"

. Это то, что в настоящее время находится в репо.

enter image description here enter image description here

1 Ответ

0 голосов
/ 29 ноября 2018

Вот решение.

json файл

{
    "component.cookie.message": "Hey there {0}, how are {1}?"
}

перевод

const lang = 'english';
const i18n = require(`./i18n/${lang}`);

module.exports = function translate (key, ...params) {
    return i18n[key].replace(/\{(\d)\}/g, function(match, number) {
        return params[number];
    });
}

index

const translate = require('./translate');

console.log(translate('component.cookie.message', 'Tom', 'you'));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...