Привет, рада что тебе понравилась статья. Отвечаем вместе с Антоном на твои вопросы: В тексте написано, что вы используете функцию t() для переводов, но не упоминается ни какая библиотека интернационализации, вы самописную/доработанную библиотеку для интернационализации использовали?
Исследовали ли вы какие на момент выбора существуют системы/библиотеки локализации? т.к. судя по статье вы наткнулись на большинство из проблем интернационализации, таких как одинаковые ключи с разным контекстом, необходимость автоматически генерировать ключи, разделение на неймспейсы, локальные особенности интернационализации, особенно интересно были про даты в узбекском, локализации которых нет в Хроме.
Эти два вопроса будут иметь один ответ. Мы изучили библиотеку i18next, поняли что нам нужен минимум от ее функционала и решили писать свое решение, в том числе функцию t().
Были ли у вас какие-нибудь ограничения на использование тех или иных библиотек и экосистем интернационализации?
Главным ограничениями были сроки внедрения и отсутствие глобального рефакторинга, а на использование сторонних решений не было. После обсуждения с командой решили, что тянуть целую библиотеку ради двух функции - излишне. Поэтому просто подсмотрели подход, который используется в библиотеках для интернационализации.
Когда вы изначально начинали интернационализацию, вы ставили удобство локализации и его процесса, или это было необходимо зло, которое нужно добавить в систему, не сломав ничего по пути?
Не уверена, что до конца поняла вопрос, но нам был важен баланс удобства локализации, скорости внедрения.
И спасибо тебе большое за то, что поделился знаниями!
Привет)) Согласна, что в статье не много технического материала, но нельзя забывать, что есть большое количество статей рассказывающих о GTM и dataLayer в целом. Хотелось привнести что-то новое и обратить внимание на важность тестирования аналитики. Настройка, о которой я говорю, не является прямой настройкой расширения “Adswerve - dataLayer Inspector+“. Перепрочла свой предыдущий ответ и поняла, что неверно выразилась, спасибо, что заметил)) Для просматривания и сохранения всех появляющихся в консоли уведомлений от расширения достаточно нажать “Сохранять журнал” в DevTools/Console.
Привет)) Смотреть dataLayer через консоль - верное решение и, конечно же, о нем стоит упомянуть в пункте "Инструкция "Где и как смотреть dataLayer, и что в нем есть"" дорожной карты) Но, к сожалению, можно не увидеть "ускользающих" переменных/событий, поэтому добавила инструмент, который не менее удобен в использовании. В таких ситуациях как, дано:
Страница авторизации, которая по завершению процесса редиректит на другую страницу
Переменная, отправляемая при авторизации пользователя на странице
Получится, что тестировщик может не успеть поймать данную переменную, т.к. редирект после авторизации происходит очень быстро)) В такой ситуации очень удобно будет использовать расширение "Adswerve - dataLayer Inspector+")) При правильной настройке оно позволит сохранять ВСЕ появляющиеся переменные и смотреть их также через консоль, что значительно облегчит проверку)
Привет, рада что тебе понравилась статья. Отвечаем вместе с Антоном на твои вопросы:
В тексте написано, что вы используете функцию t() для переводов, но не упоминается ни какая библиотека интернационализации, вы самописную/доработанную библиотеку для интернационализации использовали?
Исследовали ли вы какие на момент выбора существуют системы/библиотеки локализации? т.к. судя по статье вы наткнулись на большинство из проблем интернационализации, таких как одинаковые ключи с разным контекстом, необходимость автоматически генерировать ключи, разделение на неймспейсы, локальные особенности интернационализации, особенно интересно были про даты в узбекском, локализации которых нет в Хроме.
Эти два вопроса будут иметь один ответ. Мы изучили библиотеку i18next, поняли что нам нужен минимум от ее функционала и решили писать свое решение, в том числе функцию t().
Были ли у вас какие-нибудь ограничения на использование тех или иных библиотек и экосистем интернационализации?
Главным ограничениями были сроки внедрения и отсутствие глобального рефакторинга, а на использование сторонних решений не было. После обсуждения с командой решили, что тянуть целую библиотеку ради двух функции - излишне. Поэтому просто подсмотрели подход, который используется в библиотеках для интернационализации.
Когда вы изначально начинали интернационализацию, вы ставили удобство локализации и его процесса, или это было необходимо зло, которое нужно добавить в систему, не сломав ничего по пути?
Не уверена, что до конца поняла вопрос, но нам был важен баланс удобства локализации, скорости внедрения.
И спасибо тебе большое за то, что поделился знаниями!
Привет) сравнение Proxyman vs Mockoon или Proxyman vs Charles Proxy?
Если второе, то похожие статьи уже есть: https://habr.com/ru/companies/ozontech/articles/579392/
Спасибо большое) Рада, что статья вам понравилась.
Спасибо большое за такой комментарий :) Очень приятно такое читать, буду стараться и дальше))
Привет)) Согласна, что в статье не много технического материала, но нельзя забывать, что есть большое количество статей рассказывающих о GTM и dataLayer в целом. Хотелось привнести что-то новое и обратить внимание на важность тестирования аналитики.
Настройка, о которой я говорю, не является прямой настройкой расширения “Adswerve - dataLayer Inspector+“. Перепрочла свой предыдущий ответ и поняла, что неверно выразилась, спасибо, что заметил)) Для просматривания и сохранения всех появляющихся в консоли уведомлений от расширения достаточно нажать “Сохранять журнал” в DevTools/Console.
Привет)) Смотреть dataLayer через консоль - верное решение и, конечно же, о нем стоит упомянуть в пункте "Инструкция "Где и как смотреть dataLayer, и что в нем есть"" дорожной карты) Но, к сожалению, можно не увидеть "ускользающих" переменных/событий, поэтому добавила инструмент, который не менее удобен в использовании. В таких ситуациях как, дано:
Страница авторизации, которая по завершению процесса редиректит на другую страницу
Переменная, отправляемая при авторизации пользователя на странице
Получится, что тестировщик может не успеть поймать данную переменную, т.к. редирект после авторизации происходит очень быстро)) В такой ситуации очень удобно будет использовать расширение "Adswerve - dataLayer Inspector+")) При правильной настройке оно позволит сохранять ВСЕ появляющиеся переменные и смотреть их также через консоль, что значительно облегчит проверку)