Angular i18n. Как добавить локализацию сайта. Translate. Переводы на сайте. Ngx-translate

preview_player
Показать описание
Любой сайт требует внедрения механизма переводов. Это делает код SOLID ным и упрощает поддержку сайта. Нужно захардкодить заголовок на сайте, сделай это в специальном файле.

Бонусы от локализации:
- Весь код на английском (легче работать в команде)
- Переиспользование строк в проекте
- За переводы отвечает отдельный человек

Локализация от ангулар достаточно сложная, по этой причине я демонструю другое решение, однако не менее мощное (ngx-translate)

i18n это широко распространенный стандарт для реализации переводов на сайте

Рекомендации по теме
Комментарии
Автор

чувак, у тебя самые лучшие туториалы в русскоязычном ютубе.

Borys-hs
Автор

Спасибо большое за видео! Давно искала нечто подобное. Чтобы все просто и понятно было, без ненужных "заумностей" )) Еще раз спасибо.

shoto_masha
Автор

Приятного просмотра :)
Если остались вопросы, задавай!)
Если есть пожелания к видео, кидай в коментарий!)
Хорошего тебе настроения ;)

grommaks
Автор

Хорошая новость, я не удалил проект с моего ПК и смог его вылить на github.
Ссылку ищите в описании к видео 😎

grommaks
Автор

Максим, большое спасибо за видео! Смотрела два раза, хотя поняла всё, что мне требовалось с первого. Всё потому, что понравился ваш стиль объяснения - очень спокойный и понятный. Успехов вам и вашему каналу.

cooleekova
Автор

Огромное спасибо тебе, Макс. На проекте столкнулся с такой проблемой - в укр. и рус. нужно прописывать доп переводы для падежей. Например - Пока написал для пары случаев pipe решение, но таких вариантов может быть множество. Может быть существует более правильное решение чем pipe?

VictorKorovin-sq
Автор

Добавь в заголовок видео ngx-translate. И в тэги. Нашел тебя в последнюю очередь, после всех индусов(

viktorm
Автор

не совсем понял как брать переводы с бека. Если делать свой апи сервис для получения переводов, как его правильно пробросить в модуль?!

MrShevrin
Автор

А так ли нужен этот компонент? Разве так тяжело в сервисе через HttpClient запросить шаблоны переводов по урлу assets/i18n/locale-name, сохранить это все в какую-нибудь стору, и собрать пайп, чтобы все это отдавать? Разве проблема парсить джейосн? Разве все это не займет того же времени, что ушло на просмотр видео, зачем тогда нужен ngx-translate? Ну ладно еще, если функционал полность устраивает. А если кастомить надо? Лоайдер сделать - фигня вопрос, возможно понадобится своя стора, но что останется от компонента? Просто вот мне например не нужна смена языка. все прилетает из админки по её настройкам. Похоже, что это уже делает бесполезной львиную долю компонента, а плюс еще grpc, свой лоэйдер. Его конечно делать нечего, но все-таки. Плюс возможно, придется менять стору на свою. Ну, и что остается? А от чего оно остается, стоило ли грузить бандл лишними механизмами? Там вроде бы парсер какой-то есть. Но джейсон - это обычное дело, но очень понял, зачем тут выдумывать что-то. Возможно, не прав конечно. Но я не доконца понимаю, зачем такой компонент существует не в виде популярной статьи "как написать переводы для сайта" с кодом, как иллюстрации, а прям отдельным компонентом.

RedkeiGost
Автор

Привет, эта библиотека так же актуално сегодня ?

SergioUkrAr
Автор

Скажите как это сделать с существующей бд

katerinak
Автор

Привет. А какую версию Magento используете?

farkhoddaniyarov
Автор

А если мы все-таки хотим использовать встроенную локализацию т.е. которая добавляется через ng add @angular/localize, то в соответствии с документацией ангулара, например разделом Merge translations into the application (на многих ютуб-каналах банятся сообщения с ссылками, не рискую, а то бы привел), так вот, в соответствии с этой документацией в конфигурации angular.json для переводов нужно указать параметр browserTarget и в нем можно указывать только то, что содержит билдер А библиотеки собираются билдером или И вот если в browserTarget добавить тагет, который содержит билдер без опции outputPath, то в билдере возникнет ошибка, он получается может работать только с билдарами апликейшинов т.е. например, но не с билдерами либ. Получается, либу сбилдить переведенную нельзя, как так? Ну хорошо, допустим, но тогда надо как-то экспортировать текст перевода либы в апликейшин, как же это правильно делать?

RedkeiGost