Переключатель языка и отложенная загрузка переводов
Создайте переключатель локали и загружайте наборы переводов по требованию, чтобы уменьшить начальный размер.
«Переключатель языка и отложенная загрузка переводов» — бесплатный урок React Academy на CoddyKit. Это урок 4 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения React Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс React Academy содержит 4 уроков всего.
Добро пожаловать
Простой переключатель языка
function LanguageSwitcher() {
const { i18n } = useTranslation();
return (
<div>
{['en', 'tr', 'fr'].map(lng => (
<button
key={lng}
onClick={() => i18n.changeLanguage(lng)}
style={{ fontWeight: i18n.language === lng ? 'bold' : 'normal' }}
>
{lng.toUpperCase()}
</button>
))}
</div>
);
}Сохранение выбранного языка
i18n.init({
detection: {
order: ['localStorage', 'navigator'],
caches: ['localStorage'],
},
});Зачем нужна отложенная загрузка переводов
Настройка HTTP-бэкенда
import Backend from 'i18next-http-backend';
i18n.use(Backend).init({
backend: {
loadPath: '/locales/{{lng}}/{{ns}}.json',
},
ns: ['common', 'auth'],
defaultNS: 'common',
});Добавление файлов переводов
public/locales/
en/common.json
en/auth.json
tr/common.json
tr/auth.jsonОтображение состояния загрузки при переключении языка
const [switching, setSwitching] = useState(false);
const change = async (lng) => {
setSwitching(true);
await i18n.changeLanguage(lng);
setSwitching(false);
};Отложенная загрузка отдельных пространств имён
useEffect(() => {
i18n.loadNamespaces('dashboard');
}, []);CDN для переводов
backend: {
loadPath: 'https://cdn.example.com/locales/{{lng}}/{{ns}}.json',
}Локаль в URL
Быстрая проверка
Итоги
Курс завершён
Изучай React с ИИ-репетитором — бесплатно
Пиши и запускай код прямо в браузере, получай мгновенную помощь от ИИ-репетитора 24/7 и продолжи учиться на сайте или в приложении.
- Курсы
- 88
- Уроки
- 324
Часто задаваемые вопросы
Урок «Переключатель языка и отложенная загрузка переводов» бесплатный?
Да — полный текст урока «Переключатель языка и отложенная загрузка переводов» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс React Academy, подпишись на CoddyKit PRO. Курс React Academy содержит 4 уроков всего.
Чему я научусь в уроке «Переключатель языка и отложенная загрузка переводов»?
Создайте переключатель локали и загружайте наборы переводов по требованию, чтобы уменьшить начальный размер. Ты практикуешь React Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать React Academy?
Предыдущий опыт не требуется. React Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 4 из 4.
Сколько времени занимает урок «Переключатель языка и отложенная загрузка переводов»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке React Academy?
Да. Каждый урок React Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Настройка react-i18next
- Использование хука useTranslation
- Множественное число и интерполяция
- Переключатель языка и отложенная загрузка переводов