interpolation (보간법)

Jaeseok Han·2023년 8월 14일
0

react-i18next(i18n)

목록 보기
3/10

보간법

i18n에서 가장 많이 사용되는 기능이며, 동적인 값을 번역문에 넣을 수 있음

예제

import i18next from 'i18next';

i18next.init({
    fallbackLng : 'kr',
    fallbackNS : 'common',
    lng : 'kr',
    resources : {
        kr : {
            translation : {
                key : "{{what}}는 {{how}}"
            },
        },
        

    }
})

const ret = i18next.t('key', {what : 'i18next', how: '좋다.'});
console.log(ret);
i18next는 좋다. //출력

이스케이프 처리

XSS 공격을 완화하기 위해서 사용

const ret = i18next.t('key', {what : 'i18next', how: '<i>좋다.</i>'});
i18next는 &lt;i&gt;좋다.&lt;&#x2F;i&gt; //출력

해결방법 두가지

  1. 키앖에 - 를 넣음
key : "{{what}}는 {{-how}}"
  1. escape 옵션 사용
i18next.t('key', {what : 'i18next', how: '<i>좋다.</i>', interpolation : {escapeValue : false}});

0개의 댓글