рдХреНрдпрд╛ рдЖрдк рдХрд┐рд╕реА рд╕реБрд╡рд┐рдзрд╛ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рдмрдЧ рдХреА рд░рд┐рдкреЛрд░реНрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ?
рд╕рд╡рд╛рд▓ред рдпрд╣ #14563 рд╕реЗ рднреА рд╕рдВрдмрдВрдзрд┐рдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
рд╣рдо рдПрдХ рд╣реБрдХ рд╕реЗ рд░рд╣рд╕реНрдп рдХреИрд╕реЗ рдЯреНрд░рд┐рдЧрд░ рдХрд░рддреЗ рд╣реИрдВ?
рд╕рд╡рд╛рд▓ рдХреНрдпреЛрдВ рдЖрдпрд╛?
рдпрд╣ рдкреНрд░рд╢реНрди рд╣рдорд╛рд░реЗ рджреНрд╡рд╛рд░рд╛ react-i18next
рдЙрдкрдпреЛрдЧ рдХреЗ рджреМрд░рд╛рди рд╕рд╛рдордиреЗ рдЖрдпрд╛ред react-i18next
рдПрдХ рд╣рд╛рд▓рд┐рдпрд╛ рдЕрдкрдбреЗрдЯ рдиреЗ useTranslation
-рд╣реБрдХ рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЬреЛ рд╡рд░реНрддрдорд╛рди рдЕрдиреБрд╡рд╛рдж рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдФрд░ рдЕрднреА рддрдХ рд▓реЛрдб рдирд╣реАрдВ рдХрд┐рдП рдЧрдП рдЕрдиреБрд╡рд╛рдж рдирд╛рдорд╕реНрдерд╛рди (рдереЛрдбрд╝реЗ рдХреЛрдб рд╡рд┐рднрд╛рдЬрди рдХреА рддрд░рд╣) рдХреА рд▓реЛрдбрд┐рдВрдЧ рдХреЛ рднреА рдЯреНрд░рд┐рдЧрд░ рдХрд░реЗрдЧрд╛ред
рдЙрд╕ рдорд╛рдорд▓реЗ рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╣рд╛рдВ рдЕрдиреБрд╡рд╛рдж рдЕрднреА рддрдХ рд▓реЛрдб рдирд╣реАрдВ рд╣реБрдП рд╣реИрдВ, useTranslation
-рд╣реБрдХ Suspense
рдХреЛ рдЯреНрд░рд┐рдЧрд░ рдХрд░рдиреЗ рдХрд╛ рд╡рд╛рджрд╛ рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рд╛рдл рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдореМрдЬреВрджрд╛ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЗ рд╕рд╛рде рд╕рдлрд╛рдИ рд╕реЗ рдПрдХреАрдХреГрдд рдХрд░рддрд╛ рд╣реИ!
рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрджрд┐ рдЖрдк useTranslation
-рд╣реБрдХ рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдЕрдзрд┐рдХ рд╣реБрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдЗрди рдЕрдиреНрдп рд╣реБрдХреЛрдВ рдХреЛ рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдпрджрд┐ 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
рдХрд╛ рдкреНрд░рддрд┐рдкрд╛рджрди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рд╕рд╛рдорд╛рдиреНрдп рдорд╛рдорд▓рд╛
рддреЛ рдпрд╣ рдкреНрд░рд╢реНрди рдХреЗрд╡рд▓ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛-i18next рдкрд░ рд▓рд╛рдЧреВ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рдмрд▓реНрдХрд┐ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдЙрди рд╕рднреА рд╣реБрдХ рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИ рдЬреЛ рд░рд╣рд╕реНрдп рдХреЛ рдЯреНрд░рд┐рдЧрд░ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рд╣рдо рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреИрд╕реЗ рдЬрд╛рдПрдВрдЧреЗ, рдФрд░ рдпрд╣ рд╡рд░реНрддрдорд╛рди "рд╣реБрдХ рдХреЗ рдирд┐рдпрдо" рдХреЗ рд╕рд╛рде рдХреИрд╕реЗ рдПрдХреАрдХреГрдд рд╣реЛрдЧрд╛ рдЬреЛ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рд╣реБрдХ рдХреЛ рд╕рд╢рд░реНрдд рд░реВрдк рд╕реЗ рдкреНрд░рд╕реНрддреБрдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП?
рдпрд╣ рдПрдХ рдЧрд▓рддреА рдХреА рддрд░рд╣ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдирд┐рд▓рдВрдмрди рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рддреНрд░реБрдЯрд┐ рдЖрдЧ рд▓рдЧрддреА рд╣реИред рдЕрдлреИрдХ рдЬреЛ рдЬрд╛рдирдмреВрдЭрдХрд░ рдирд╣реАрдВ рдерд╛ред
рдареАрдХ рд╣реИ, рдЬрд╛рдирдХрд░ рдЕрдЪреНрдЫрд╛ рд▓рдЧрд╛!
рдпрд╣ рднреА рджрд╕реНрддрд╛рд╡реЗрдЬ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдирд┐рд▓рдВрдмрди рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рд╕рднреА рд╣реБрдХ рдкреНрд░рд╕реНрддреБрдд рдирд╣реАрдВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рдкрд░рд┐рднрд╛рд╖рд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ рд╣реИред рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рддрдм рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдЬрдм рдирд┐рд▓рдВрдмрди рдХреЛ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рддреМрд░ рдкрд░ рдбреЗрдЯрд╛-рдлрд╝реЗрдЪрд┐рдВрдЧ рддрдВрддреНрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдкреЗрд╢ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдордиреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕реЗ 16.8.2 рдореЗрдВ рддрдп рдХрд┐рдпрд╛ рдерд╛ред рдХреГрдкрдпрд╛ рдПрдХ рдкреБрдирд░реБрддреНрдкрд╛рджрди рдорд╛рдорд▓реЗ рдХреЗ рд╕рд╛рде рдПрдХ рдирдпрд╛ рдЦреЛрд▓реЗрдВ рдпрджрд┐ рдирд╣реАрдВред
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдордиреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕реЗ 16.8.2 рдореЗрдВ рддрдп рдХрд┐рдпрд╛ рдерд╛ред рдХреГрдкрдпрд╛ рдПрдХ рдкреБрдирд░реБрддреНрдкрд╛рджрди рдорд╛рдорд▓реЗ рдХреЗ рд╕рд╛рде рдПрдХ рдирдпрд╛ рдЦреЛрд▓реЗрдВ рдпрджрд┐ рдирд╣реАрдВред