Valentin
Лид их ведёт и тд по водопаду
Ох эти идеальные кейсы
Valentin
Есть правильный подход к команде
Это уже близко. Я вообще с тобой согласен по всем сообщениям. Ток не понимаю к чему мы это обсуждаем
VovaN
Ох эти идеальные кейсы
Именно, если нет "идеальности", то и честно-быстрый код ревью не работает.. В результате ищем другую работу и задаём правильные вопросы
Ivan
Это уже близко. Я вообще с тобой согласен по всем сообщениям. Ток не понимаю к чему мы это обсуждаем
Я просто прочитал и написал первое что пришло в голову. Удобно читать только последние сообщения)((
VovaN
Лицо плюс рука
Согласен.. Но может стоит попробовать?
Valentin
Согласен.. Но может стоит попробовать?
Что попробовать? Сделать идеальную команду ради быстрого ревью? Что вообще значит идеальная команда, я не понимаю по твоим сообщениям. Одна нога у кандидата, он уже не идеален? Даже в ужасной команде состоящей из чсв и пьяниц может выстроиться процесс быстрый процесс код ревью. И не нужно быть «идеальной». Аррр
SENATOR ARMSTRONG
Ребята, у кого-то был проект реакт с asp net core веб апи где нужно было локализацию сделать? Хотел бы узнать бест практисы
Ivan
Вообще, сколько не встречался с лидами, которые начитались книг про личностный рост, о том что он должен кормить эндорфины своих сотрудников , чтобы они работали эффективнее, но как правило - это не работает. Точнее это работает на малое количество людей. Каждый человек - личность и относится к нему как к девушке в Дейт симе не надо, тут нет правильной или не правильной ветки развития сюжета. Каждый человек в первую очередь хочет быть свободным. В работе - это свобода мысли, быть равным со всеми, поэтому, от части аджайл и работает. Но когда приходит код ревью - разрабы собираются на стаи из-за личностных отношений, что приводит к тому что этот метод не работает так как предполагалось
SENATOR ARMSTRONG
На фронте.
я чёто думал думал и никак не надумал как правильно с react-i18next переводить данные которые получаю с бекенда, нужно ли ресурсы дёргать с бека или просто всё впихнуть в init в конфиг и лейзи загружать для каждой страницы, уже запутался
SENATOR ARMSTRONG
Делал, у дотнета есть i18n пакет, больше ничего и не надо
отдельно через нугет ставится или это уже включено в AspNetCore пакет?
Valentin
Вообще, сколько не встречался с лидами, которые начитались книг про личностный рост, о том что он должен кормить эндорфины своих сотрудников , чтобы они работали эффективнее, но как правило - это не работает. Точнее это работает на малое количество людей. Каждый человек - личность и относится к нему как к девушке в Дейт симе не надо, тут нет правильной или не правильной ветки развития сюжета. Каждый человек в первую очередь хочет быть свободным. В работе - это свобода мысли, быть равным со всеми, поэтому, от части аджайл и работает. Но когда приходит код ревью - разрабы собираются на стаи из-за личностных отношений, что приводит к тому что этот метод не работает так как предполагалось
Есть хитрости, главное это правильно объяснить человеку, воспитать в нем это трезвое понимание. Да есть большой шанс впасть в обидку по комментам твоего кода. Но нужно понимать, что реаью происходит не со зла и не для издевательств. В общем это общение. Я стараюсь объяснить, что мы можем попробовать иначе и посмотреть, что из этого выйдет. И тогда не будет так много конфликтов и желании постоянной доминации.
Ivan
Хотя хз как сейчас, я это делал когда кор 2 только анонсировали
SENATOR ARMSTRONG
Хотя хз как сейчас, я это делал когда кор 2 только анонсировали
смотрю это сейчас https://docs.microsoft.com/en-us/aspnet/core/fundamentals/localization?view=aspnetcore-2.2#targetText=ASP.NET%20Core%20provides%20services,apps%20that%20support%20different%20cultures.
SENATOR ARMSTRONG
вроде есть встроенный механизм для локализации
Valentin
я чёто думал думал и никак не надумал как правильно с react-i18next переводить данные которые получаю с бекенда, нужно ли ресурсы дёргать с бека или просто всё впихнуть в init в конфиг и лейзи загружать для каждой страницы, уже запутался
Мы остановились на фронте с i18n. Но потом повзрослели и бек стал переводить некоторые ответы самостоятельно. Но у нас жесткая локализация зависила от авторизации.
Ivan
вроде есть встроенный механизм для локализации
Попробуй его, впринципе на дотнете не должно возникнуть прлблем, он очень удобный
SENATOR ARMSTRONG
Объясните мне пожалуйста. Я например с бека возвращаю список, ["one","two","three"] и где-то на фронте это использую. Я понимаю как на самом фронте перевести обычный текст, который я ни откуда не подгружаю, делаем t("myKey") и всё пучком, но это закардкоженный перевод в жсон файлах на фронте. А как мне переводить эти самые one two three которые я вернул с бека?
SENATOR ARMSTRONG
это вообще реально со стороны фронта делать через react-i18next?
KAA
да реально, а в чем проблема?
Ivan
withTranslation?
Да, типа для формы составить один врап и все ключи будут с бека подтягиваться, так как надо
KAA
только сначала настроить backend-loader в инициализации i18n
SENATOR ARMSTRONG
только сначала настроить backend-loader в инициализации i18n
ну я поставил i18next-xhr-backend, думаю с ним можно
KAA
да для самых простых случаев (апи возвращает один неймспейс и одну локаль за раз) подойдет
SENATOR ARMSTRONG
Да, типа для формы составить один врап и все ключи будут с бека подтягиваться, так как надо
каким образом враппер загрузит ключи? Он просто предоставляет проп t насколько я знаю
KAA
а еще App компонент в suspense завернуть
KAA
каким образом враппер загрузит ключи? Он просто предоставляет проп t насколько я знаю
ну вот react-i18n написан таким образом что приложение будет ждать загрузки переводов
KAA
сам i18n реализует что-то вроде своего хранилища переводов
KAA
при вызове t('key') будет обращаться в это хранилище
KAA
оно для фронта скрыто
Ivan
каким образом враппер загрузит ключи? Он просто предоставляет проп t насколько я знаю
Ключи брать в зависимости от контекста, сущности и т.д. А бэек просто отдает тебе по этим ключам результат
Ivan
Токсчиная суперзвезда в команде это печально. Разлагает коллектив за несколько месяцев.
К, сожалению такие попадаются не редко, их надо воспринимать как коллег, а не врагов и объектов насмешек
KAA
уже
по хорошему, если ты уже настроил i18n.init и завернул приложение в suspense, потом можешь любой компонет оборачивать в hoc withTranslation и использовать проп t() или хук useTranslation он тоже возвращает t()
KAA
при условии что бэк возвращает нормальный ответ конечно
SENATOR ARMSTRONG
по хорошему, если ты уже настроил i18n.init и завернул приложение в suspense, потом можешь любой компонет оборачивать в hoc withTranslation и использовать проп t() или хук useTranslation он тоже возвращает t()
эх, с resources и жсон файлами всё было понятно, а с загрузкой с бека придётся возиться, да ещё и искать как локализацию в асп кор делать
SENATOR ARMSTRONG
но это нужно как-то ещё на бек передавать нужную локаль
KAA
апи должно принимать параметр локали
Anonymous
на ум приходит только культурное интеллектуальное доминирование но ведь порой можно сильно не дотягивать до уровня чсв коллег и они этим лишь пампят свое чсв
SENATOR ARMSTRONG
апи должно принимать параметр локали
я ещё хочу загружать переводы для каждой страницы...
KAA
я ещё хочу загружать переводы для каждой страницы...
апи также должно, принимать параметр неймспейс
KAA
будет костыль, не?
нет, так делают многие
SENATOR ARMSTRONG
так если я правильно понял, в конфиге инит настраиваем запрос на бекенд, компоненты оборачиваем все нужные в withTranslation, про хук useTranslation забываем, на бекенде делаем эндпоинт который принимает локаль и неймспейс, на том же бекенде как-то складываем переводы, и при открытии какой-то страницы реакт приложения летит запрос на бекенд, прилетает только нужный кусок перевода и всё переводится, так?
KAA
да, есть еще один нюанс, в ините есть параметры какие неймспейсы грузятся по умолчанию, соответственно если ты будешь грузить те неймспейсы котрые не грузятся по старту то в t() нужно будет еще передавать неймспейс из котрого перевод нужен
KAA
и да все будет подгружаться на лету
SENATOR ARMSTRONG
типа sample:startButton
SENATOR ARMSTRONG
получается, сколько страниц столько и неймспейсов, так?
KAA
получается, сколько страниц столько и неймспейсов, так?
ну вот это, не самая верная реализация, но это чисто мне так кажется
KAA
типа есть же общие переводы, не зависящие от страниц
SENATOR ARMSTRONG
да мне хотя бы как-то организовать переводы вместо одного файла translate.json
Ivan
о, а можно про это подробнее
Ну типа запоминать контекст пользака и отдавать то как оно есть в хранилище
SENATOR ARMSTRONG
и можно через chained-backend настроить так, что сначала берётся из кеша, а потом если нет в кеше то подгружаем
🅅aleriy
вот я понимаю когда яндекс жалуется на то что редакс медленный и показывают свой необъятный стейт, дерево которого на огромном экране смотрится как набор точек соединенный линиями
SENATOR ARMSTRONG
так ну вроде разобрался с подгрузкой, надо только посмотреть как на беке это дело делать и как сохранять/брать из локалстораджа выбранную юзером локаль
🅅aleriy
но когда парни в чатике по реакту никогда больше 20 редьюсеров не писали начинают жаловаться на избыточность редакса, на его тормоза, это смешно 🙂
KAA
хз, вроде все быстро работает
🅅aleriy
да мне хотя бы как-то организовать переводы вместо одного файла translate.json
а в чем проблема в одном файле когда все переводы лежат?
Ivan
но когда парни в чатике по реакту никогда больше 20 редьюсеров не писали начинают жаловаться на избыточность редакса, на его тормоза, это смешно 🙂
На избыточность редакса в малых проектах жаловаться - норма. Ни раз звучало утверждение о использовании инструмента под конкретную задачу. И не надо всех ровнять под себя.
SENATOR ARMSTRONG
🅅aleriy
@B_O_G_D_A_N_O_F_F ты такой файл можешь как сабмодуль гитовый подключить и к репе бакенда и к репе фронта и куда угодно еще