Как передать язык по умолчанию на страницу регистрации? - PullRequest
0 голосов
/ 26 апреля 2018

Есть ли способ передать определенный язык интерфейса на страницу регистрации? Это с веб-сайта, и я хочу, чтобы он был опцией по умолчанию.

Ответы [ 2 ]

0 голосов
/ 27 апреля 2018

Вы можете отправить культуру с этими заголовками

c=...
uic=...

https://github.com/aspnetboilerplate/aspnetboilerplate/blob/dev/src/Abp.AspNetCore/AspNetCore/Localization/AbpLocalizationHeaderRequestCultureProvider.cs#L12

и для MVC используйте параметр культуры, как показано ниже

/register?culture=tr  

должен быть первым параметром строки запроса


и последний вариант; Вы всегда можете переопределить AbpUserRequestCultureProvider

https://github.com/aspnetboilerplate/aspnetboilerplate/blob/dev/src/Abp.AspNetCore/AspNetCore/Localization/AbpUserRequestCultureProvider.cs

UPDATE

В соответствии с реализацией он принимает параметры строки запроса в качестве культуры, как показано ниже

?culture=es-MX&ui-culture=es-MX

См. https://github.com/aspnetboilerplate/aspnetboilerplate/issues/2103

0 голосов
/ 26 апреля 2018

Если вы посмотрите на заголовки запроса, отправленные браузером, он включает «Accept-Language». Это может выглядеть примерно так:

en-US,en;q=0.9,es-419;q=0.8,es;q=0.7

Как правило, предпочтение выполняется в порядке убывания, поэтому здесь браузер говорит, что предпочитает английский в США, а не все остальное. Подробнее о значениях q: Что такое q = 0,5 в Принять * Заголовки HTTP?

Вы можете получить доступ к этому значению через контроллер.

Request.Headers["Accept-Language"]
...