Я создаю угловое приложение. Этакий шаблон для быстрого старта будущих проектов. Это проект с открытым исходным кодом, поэтому вы можете найти весь проект здесь: https://github.com/maxime1992/webTemplate а>
Я использую ui-router и angular-translate. Я хотел, чтобы пользователи могли делиться URL-адресом с текущим языком. Как вы можете видеть здесь, в перенаправление по умолчанию ui-router я использую языковую переменную по умолчанию, которая должна быть установлена первой:
// define default language code
var default_lang = 'fr';
// default redirection
$urlRouterProvider.otherwise('/'+default_lang+'/home');
Все идет нормально. Теперь я хотел бы определить язык пользователя. Я обнаружил это в угловом переводе док.
Но в моей конфигурации angular, если я попрошу библиотеку автоматически установить язык и получить новый язык, он вернет значение undefined.
$translateProvider.determinePreferredLanguage();
console.log($translateProvider.use()); // return undefined
Я могу обнаружить это в своем контроллере с помощью:
console.log($translate.proposedLanguage()); // return 'en'
НО уже слишком поздно. Мне нужно обнаружить это в config. В противном случае я не знаю, куда перенаправить пользователя, если аргумент lang не указан в URL-адресе...
Есть ли у вас какие-либо идеи ? Мне действительно нужно найти решение как можно быстрее для моей работы. Если я не понял, просто скажите мне, и я добавлю/отредактирую свой вопрос.
Спасибо !