-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
переключение локализации по куке #225
Conversation
Также замечено, что сейчас при генерации фронта ресурсы в разных языковых директориях получают одинаковый анти-кеш хеш. Из-за этого для браузера, судя по всему, они выглядят одинаково и переключение языка не работает так, как требуется. Но проблема с отсутствием анти-кеш хеша на файлах в папке /assets/i18n/ тоже существует паралелльно, судя по всему. ngx-translate/http-loader#25 и https://stackoverflow.com/questions/54840449/i18n-files-are-cached-in-production |
Проверил, чтопо умолчанию некоторые статические ресурсы всё же отличаются анти-кеш хешом, то есть проблемы, о которой говорил на скрине выше, нет. Часть ресурсов действительно имеют одинаковый хеш, но, судя по всему, они идентичны в обеих языковых версиях.
Что касается файлов с локалью, то доработал, чтобы добавлялся хеш, как советовали на SO и в Гитхабе по ссылкам выше. |
src/web/pipeline/Dockerfile
Outdated
RUN node_modules/.bin/ng build --configuration en && mv dist/* /dist/ | ||
RUN cp ./src/environments/environment.prod.ts ./src/environments/environment.prod.ts.backup | ||
|
||
RUN export RAND1=$(openssl rand -base64 12 | tr -dc A-Za-z0-9) && export RAND2=$(openssl rand -base64 12 | tr -dc A-Za-z0-9) \ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Что то тут не то. Зачем нам хэш если мы при каждой отдельной локали должны подгружать только один файл. Т.е. переключились на русский подгрузили ru.json , переключились на английский подгрузили en.json тут проблем быть не должно
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Возможно, дело в том, что когда сейчас локаль переключается, фронт тянет в случае английского только en.json, а для русского и en.json, и ru.json.
Русская версия:
Английская:
Не знаю, с чем это связано.
Кстати, ещё вот такой баг сейчас есть #235 Возможно, как-то связано.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
А этот баг #235 не из за того что переводы там забыли добавить?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Кажется раньше я через qt linguist переводил. А ещё раньше google translate поддерживал .xlf можно было просто закинуть файл и от возвращал переведённый файл, но потом лавочку прикрыли, но возможно есть другие похожие сервисы которые так смогут.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
То есть пропал target-language="en".
Здорово что заметил, значит нужно ключ дополнительный добавить для командной строки
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
А теперь только source без target
target Это мы должны добавить либо через qt linguist либо через сервис какой то.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Давай это всё в отдельную задачу вынесем.
Создал задачку #238
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
А теперь только source без target
target Это мы должны добавить либо через qt linguist либо через сервис какой то.
что, поставить Qt Linguist? Или искать сторонний сервис?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
То есть пропал target-language="en".
Здорово что заметил, значит нужно ключ дополнительный добавить для командной строки
у утилиты вот такие доступны ключи:
user@pc:~/svetit/src/web$ ./node_modules/.bin/ng extract-i18n --help
ng extract-i18n [project]
Extracts i18n messages from source code.
Arguments:
project The name of the project to build. Can be an application or a library. [string] [choices: "device-access", "device-access-e2e"]
Options:
--help Shows a help message for this command in the console. [boolean]
-c, --configuration One or more named builder configurations as a comma-separated list as specified in the "configurations" section in angular.json.
The builder uses the named configurations to run the given target.
For more information, see https://angular.io/guide/workspace-config#alternate-build-configurations. [string]
--browser-target A browser builder target to extract i18n messages in the format of `project:target[:configuration]`. You can also pass in more than
one configuration name as a comma-separated list. Example: `project:target:production,staging`. [string]
--format Output format for the generated file.
[string] [choices: "xmb", "xlf", "xlif", "xliff", "xlf2", "xliff2", "json", "arb", "legacy-migrate"] [default: "xlf"]
--out-file Name of the file to output. [string]
--output-path Path where output will be placed. [string]
--progress Log progress to the console. [boolean] [default: true]
Сделай ребейз пожалуйста. |
Co-authored-by: Kirill Zimnikov <[email protected]>
d72fd7d
to
ae65e22
Compare
Готово. |
No description provided.