VovaN
Valentin
Ivan
VovaN
Ох эти идеальные кейсы
Именно, если нет "идеальности", то и честно-быстрый код ревью не работает.. В результате ищем другую работу и задаём правильные вопросы
Valentin
Valentin
Согласен.. Но может стоит попробовать?
Что попробовать? Сделать идеальную команду ради быстрого ревью? Что вообще значит идеальная команда, я не понимаю по твоим сообщениям. Одна нога у кандидата, он уже не идеален? Даже в ужасной команде состоящей из чсв и пьяниц может выстроиться процесс быстрый процесс код ревью. И не нужно быть «идеальной». Аррр
SENATOR ARMSTRONG
Ребята, у кого-то был проект реакт с asp net core веб апи где нужно было локализацию сделать? Хотел бы узнать бест практисы
VovaN
Valentin
Ivan
Вообще, сколько не встречался с лидами, которые начитались книг про личностный рост, о том что он должен кормить эндорфины своих сотрудников , чтобы они работали эффективнее, но как правило - это не работает. Точнее это работает на малое количество людей. Каждый человек - личность и относится к нему как к девушке в Дейт симе не надо, тут нет правильной или не правильной ветки развития сюжета. Каждый человек в первую очередь хочет быть свободным. В работе - это свобода мысли, быть равным со всеми, поэтому, от части аджайл и работает. Но когда приходит код ревью - разрабы собираются на стаи из-за личностных отношений, что приводит к тому что этот метод не работает так как предполагалось
SENATOR ARMSTRONG
На фронте.
я чёто думал думал и никак не надумал как правильно с react-i18next переводить данные которые получаю с бекенда, нужно ли ресурсы дёргать с бека или просто всё впихнуть в init в конфиг и лейзи загружать для каждой страницы, уже запутался
Ivan
Ivan
Valentin
Вообще, сколько не встречался с лидами, которые начитались книг про личностный рост, о том что он должен кормить эндорфины своих сотрудников , чтобы они работали эффективнее, но как правило - это не работает. Точнее это работает на малое количество людей. Каждый человек - личность и относится к нему как к девушке в Дейт симе не надо, тут нет правильной или не правильной ветки развития сюжета. Каждый человек в первую очередь хочет быть свободным. В работе - это свобода мысли, быть равным со всеми, поэтому, от части аджайл и работает. Но когда приходит код ревью - разрабы собираются на стаи из-за личностных отношений, что приводит к тому что этот метод не работает так как предполагалось
Есть хитрости, главное это правильно объяснить человеку, воспитать в нем это трезвое понимание. Да есть большой шанс впасть в обидку по комментам твоего кода. Но нужно понимать, что реаью происходит не со зла и не для издевательств. В общем это общение. Я стараюсь объяснить, что мы можем попробовать иначе и посмотреть, что из этого выйдет. И тогда не будет так много конфликтов и желании постоянной доминации.
Ivan
Хотя хз как сейчас, я это делал когда кор 2 только анонсировали
SENATOR ARMSTRONG
вроде есть встроенный механизм для локализации
Ivan
Valentin
Valentin
SENATOR ARMSTRONG
Объясните мне пожалуйста. Я например с бека возвращаю список, ["one","two","three"] и где-то на фронте это использую. Я понимаю как на самом фронте перевести обычный текст, который я ни откуда не подгружаю, делаем t("myKey") и всё пучком, но это закардкоженный перевод в жсон файлах на фронте. А как мне переводить эти самые one two three которые я вернул с бека?
SENATOR ARMSTRONG
это вообще реально со стороны фронта делать через react-i18next?
KAA
да реально, а в чем проблема?
Ivan
SENATOR ARMSTRONG
KAA
Ivan
withTranslation?
Да, типа для формы составить один врап и все ключи будут с бека подтягиваться, так как надо
KAA
только сначала настроить backend-loader в инициализации i18n
SENATOR ARMSTRONG
KAA
да для самых простых случаев (апи возвращает один неймспейс и одну локаль за раз) подойдет
SENATOR ARMSTRONG
KAA
а еще App компонент в suspense завернуть
SENATOR ARMSTRONG
KAA
сам i18n реализует что-то вроде своего хранилища переводов
KAA
при вызове t('key') будет обращаться в это хранилище
KAA
оно для фронта скрыто
Paul
KAA
уже
по хорошему, если ты уже настроил i18n.init и завернул приложение в suspense, потом можешь любой компонет оборачивать в hoc withTranslation и использовать проп t() или хук useTranslation он тоже возвращает t()
KAA
при условии что бэк возвращает нормальный ответ конечно
Anonymous
SENATOR ARMSTRONG
SENATOR ARMSTRONG
но это нужно как-то ещё на бек передавать нужную локаль
KAA
апи должно принимать параметр локали
Anonymous
на ум приходит только культурное интеллектуальное доминирование
но ведь порой можно сильно не дотягивать до уровня чсв коллег и они этим лишь пампят свое чсв
KAA
SENATOR ARMSTRONG
KAA
SENATOR ARMSTRONG
так если я правильно понял, в конфиге инит настраиваем запрос на бекенд, компоненты оборачиваем все нужные в withTranslation, про хук useTranslation забываем, на бекенде делаем эндпоинт который принимает локаль и неймспейс, на том же бекенде как-то складываем переводы, и при открытии какой-то страницы реакт приложения летит запрос на бекенд, прилетает только нужный кусок перевода и всё переводится, так?
Ivan
так если я правильно понял, в конфиге инит настраиваем запрос на бекенд, компоненты оборачиваем все нужные в withTranslation, про хук useTranslation забываем, на бекенде делаем эндпоинт который принимает локаль и неймспейс, на том же бекенде как-то складываем переводы, и при открытии какой-то страницы реакт приложения летит запрос на бекенд, прилетает только нужный кусок перевода и всё переводится, так?
Да, почти, но лучше именно почитать как это делается в дотнете. На всех платформах и яп есть свои решения, которые являются общепринятыми
KAA
да, есть еще один нюанс, в ините есть параметры какие неймспейсы грузятся по умолчанию, соответственно если ты будешь грузить те неймспейсы котрые не грузятся по старту то в t() нужно будет еще передавать неймспейс из котрого перевод нужен
KAA
и да все будет подгружаться на лету
Ivan
SENATOR ARMSTRONG
SENATOR ARMSTRONG
типа sample:startButton
SENATOR ARMSTRONG
получается, сколько страниц столько и неймспейсов, так?
KAA
KAA
типа есть же общие переводы, не зависящие от страниц
SENATOR ARMSTRONG
да мне хотя бы как-то организовать переводы вместо одного файла translate.json
SENATOR ARMSTRONG
SENATOR ARMSTRONG
и можно через chained-backend настроить так, что сначала берётся из кеша, а потом если нет в кеше то подгружаем
🅅aleriy
вот я понимаю когда яндекс жалуется на то что редакс медленный и показывают свой необъятный стейт, дерево которого на огромном экране смотрится как набор точек соединенный линиями
SENATOR ARMSTRONG
так ну вроде разобрался с подгрузкой, надо только посмотреть как на беке это дело делать и как сохранять/брать из локалстораджа выбранную юзером локаль
🅅aleriy
но когда парни в чатике по реакту никогда больше 20 редьюсеров не писали начинают жаловаться на избыточность редакса, на его тормоза, это смешно 🙂
KAA
хз, вроде все быстро работает
🅅aleriy
SENATOR ARMSTRONG
🅅aleriy
@B_O_G_D_A_N_O_F_F ты такой файл можешь как сабмодуль гитовый подключить и к репе бакенда и к репе фронта и куда угодно еще