Я не знаю, существует ли параметр конфигурации для языка по умолчанию для сайта (если вы имеете в виду сообщество / организацию ...).
Для всего портала у вас есть опция "Язык по умолчанию" в
Control panel -> Portal settings -> Display settings
Но если у вас нет вашего языка или вы хотите удалить / добавить несколько языков, вы можете настроить его в portal-ext.properties
.Например,
locales=hr_HR,en_US
РЕДАКТИРОВАТЬ (более подробная информация об ошибке, упомянутой в комментарии)
Если вы посмотрите на com.liferay.portal.service.impl.CompanyLocalServiceImpl
public void updatePreferences(long companyId, UnicodeProperties properties)
throws PortalException, SystemException {
PortletPreferences preferences = PrefsPropsUtil.getPreferences(
companyId);
try {
String newLocales = properties.getProperty(PropsKeys.LOCALES);
if (newLocales != null) {
String oldLocales = preferences.getValue(
PropsKeys.LOCALES, StringPool.BLANK);
if (!Validator.equals(oldLocales, newLocales)) {
validateLocales(newLocales);
LanguageUtil.resetAvailableLocales(companyId);
}
}
...
}
protected void validateLocales(String locales) throws PortalException {
String[] localesArray = StringUtil.split(locales, StringPool.COMMA);
for (String locale : localesArray) {
if (!ArrayUtil.contains(PropsValues.LOCALES, locale)) {
throw new LocaleException();
}
}
}
вы увидите, что "newLocales" проверяются по
if (!ArrayUtil.contains(PropsValues.LOCALES, locale)) {
throw new LocaleException();
}
, поэтому, если вы добавите новый ключ локали, на странице отображения настроек портала, чего нет в portal-ext.properties или portal.properties, которые вы получите LocaleException
.
Обратите внимание, что oldLocales читаются из предпочтений (база данных) String oldLocales = preferences.getValue(PropsKeys.LOCALES, StringPool.BLANK);
и проверяются на соответствие portal.properties/portal-ext.properties if (!ArrayUtil.contains(PropsValues.LOCALES, locale)) { ...
PropsValues.LOCALES => public static String[] LOCALES = PropsUtil.getArray(PropsKeys.LOCALES);
Как указано в комментарии, такое поведение произойдет, если (и только если) вы добавите новую локаль (в графическом интерфейсе), которой нет в portal.properties
locales=ar_SA,eu_ES,bg_BG,ca_AD,ca_ES,zh_CN,zh_TW,hr_HR,cs_CZ,da_DK,nl_NL,nl_BE,en_US,en_GB,et_EE,fi_FI,fr_FR,gl_ES,de_DE,el_GR,iw_IL,hi_IN,hu_HU,in_ID,it_IT,ja_JP,ko_KR,lo_LA,nb_NO,fa_IR,pl_PL,pt_BR,pt_PT,ro_RO,ru_RU,sr_RS,sr_RS_latin,sl_SI,sk_SK,es_ES,sv_SE,tr_TR,uk_UA,vi_VN
или если вы изменили locales
в portal-ext.properties, чем если бы не в portal-ext.properties.
Например, если у вас есть в portal-ext.properties
locales=en_GB
, вы не сможете добавить любую другую локаль из графического интерфейса, если вы сначала не добавите новую локаль в portal-ext.propertiesИ затем перейдите на страницу отображения настроек портала и добавьте ее туда снова.