Если вы ссылаетесь на документацию AEM для i18n, вы можете видеть, что ее управляют языковой стандарт/язык, установленный в slingRequest
. Вы можете переопределить это явным образом фиксируя i18n, но если вы делаете, что ни один из ваших переводов не будет работать -
Locale pageLang = new Locale("en");
ResourceBundle resourceBundle = slingRequest.getResourceBundle(pageLang);
I18n i18n = new I18n(resourceBundle);
An другой альтернативы (немного дополнительных усилий) в вам нужно сделать, это только для диалоговых окон -
- Создайте свой собственный словарь для перевода см here
- Используйте уникальное имя-интервал для ключей например - myapp.mycomponent_abc.label
- Используйте выше ключи в в диалоге компонентов, чтобы ваша версия перевода была выбрана. Если для всех языков вам нужны только английские диалоги, все, что вам нужно сделать, это дублировать свой английский словарь и сменить языковой ключ на нем на соответствующий язык, сохраняя при этом переводы на английском языке.
второй вариант - это то, что я сделал. эта локализация для cq виджетов происходит otb. Следовательно, can not override otb вызывает установку языка по умолчанию. Но я создал пользовательские словари, которые работают. –