κΈ°λ₯ μ μμ²νκ±°λ λ²κ·Έλ₯Όλ³΄κ³ νμκ² μ΅λκΉ?
μ§λ¬Έ. # 14563κ³Ό κ΄λ ¨μ΄μμ μλ μμ΅λλ€.
νν¬μμ μμ€νμ€λ₯Ό μ΄λ»κ² νΈλ¦¬κ±°ν©λκΉ?
μ§λ¬Έμ΄ λμ¨ μ΄μ λ 무μμ λκΉ?
μ΄ μ§λ¬Έμ react-i18next
μ¬μ©νλ λμ λ°μνμ΅λλ€. react-i18next
μ μ΅κ·Ό μ
λ°μ΄νΈλ useTranslation
-hookμ μ 곡νμ¬ νμ¬ λ²μμ κ°μ Έμ¬ μ μμΌλ©° μμ§λ‘λλμ§ μμ λ²μ λ€μ μ€νμ΄μ€μλ‘λλ νΈλ¦¬κ±°ν©λλ€ (μ½λ λΆν κ³Ό μ μ¬).
λ²μμ΄ μμ§λ‘λλμ§ μμ κ²½μ°λ₯Ό μ²λ¦¬νκΈ° μν΄ useTranslation
-hookλ Suspense
λ₯Ό νΈλ¦¬κ±°νκ² λ€λ μ½μμ λμ§λλ€. μ΄λ κΈ°μ‘΄ λ°μ κΈ°λ₯κ³Ό κΉλνκ² ν΅ν©λκΈ° λλ¬Έμ μ€μ λ‘ μ λ§ κΉλν©λλ€!
λΉμ μ΄ νΈμΆ ν ν λ νν¬λ₯Ό μ¬μ©νλ κ²½μ°μλ useTranslation
-hookλ₯Ό λ€λ©΄ λ€λ₯Έ νν¬ λ λλ§λμ§ μμ΅λλ€ useTranslation
μ½μμ λμ‘μ΅λλ€. λ²μμ΄λ‘λλλ©΄ νν¬κ° λ μ΄μ λμ§μ§ μκ³ λ°μμ΄ νν¬μ μμ΄ λ³κ²½λμλ€λ ν° λΉ¨κ°μ κ²½κ³ λ₯Ό νμν©λλ€.
μ
const Component = () => {
const [t] = useTranslation('translationnamespace');
const [count, setCount] = useState(0);
return (
<div onClick={() => setCount(count + 1)}>
{t('The count is:')} {count}
</div>
);
};
translationnamespace
κ° μμ§λ‘λλμ§ μμ κ²½μ° useTranslation
κ° λ°μνμ¬ useState
κ° λ λλ§λμ§ μμ΅λλ€. translationnamespace
κ°λ‘λλλ©΄ useTranslation
κ° λ μ΄μ λ°μνμ§ μμΌλ―λ‘ useState
κ° λ λλ§λμ΄ κ²½κ³ κ° λ°μν©λλ€.
μΌλ°μ μΈ μ¬λ‘
λ°λΌμμ΄ μ§λ¬Έμ react-i18nextμλ§ μ μ©λλ κ²μ΄ μλλΌ μμ€νμ€λ₯Ό νΈλ¦¬κ±°νλ €λ λͺ¨λ νν¬μ μ μ©λ©λλ€. μ΄ μμ μ μννλ λ°©λ²μ 무μμ΄λ©°, νν¬κ° 쑰건λΆλ‘ λ λλ§λμ§ μμμΌνλ€λ νμ¬μ "νν¬ κ·μΉ"κ³Ό μ΄λ»κ² ν΅ν© λ κΉμ?
μΌμ μ€μ§μ μ€λ₯κ° λ°μνλ μ€μμ²λΌ 보μ λλ€. μλμ μ΄μ§ μμ Afaik.
μκ² μ΅λλ€.
μΌμ μ€λ¨μ κ²½μ° λͺ¨λ νν¬λ₯Ό λ λλ§νμ§ μλλ‘ μ μ λ λμμμ λ¬Έμν ν μλ μμ΅λλ€. κ·Έλ¬λ λ°μ΄ν° κ°μ Έ μ€κΈ° λ©μ»€λμ¦μΌλ‘ μΌμ μ€λ¨μ΄ 곡μμ μΌλ‘ λμ λλ©΄ μ΄κ²μ΄ μλ£ λ κ²μΌλ‘ μμν©λλ€.
λλ μ°λ¦¬κ° μ€μ λ‘ μ΄κ²μ 16.8.2μμ κ³ μ³€λ€ κ³ μκ°ν©λλ€. κ·Έλ μ§ μμ κ²½μ° λ³΅μ μΌμ΄μ€λ‘ μ κ²μμ¬μμμ€.
κ°μ₯ μ μ©ν λκΈ
λλ μ°λ¦¬κ° μ€μ λ‘ μ΄κ²μ 16.8.2μμ κ³ μ³€λ€ κ³ μκ°ν©λλ€. κ·Έλ μ§ μμ κ²½μ° λ³΅μ μΌμ΄μ€λ‘ μ κ²μμ¬μμμ€.