【问题标题】:Liferay - Get default language (locale) for a siteLiferay - 获取站点的默认语言(区域设置)
【发布时间】:2013-08-16 11:59:41
【问题描述】:

我需要以编程方式获取站点的默认语言环境。所以我:

  • 创建一个默认语言设置为英语 (en_us) 的新站点
  • 创建第二个站点,将默认语言设置为德语 (de_DE)

在我的代码中,我尝试执行以下操作:

CompanyThreadLocal.setCompanyId(portletDataContext.getCompanyId());
final Locale locale = LocaleUtil.getDefault();

但我得到两个站点的“en_us”,这是门户默认语言环境。

我在我的PortletDataHandler 实现的导出/导入功能中需要这个。否则,我将始终使用错误的默认语言将我的数据从暂存到实时导出。

我正在运行 Liferay 6.1.20 EE。

提前致谢,法比

【问题讨论】:

  • 当您的意思是站点是 Liferay 的站点在同一个门户实例中还是您的意思是完全不同的门户实例?
  • 在控制面板中,我打开了portlet“站点”并添加了问题中提到的两个站点。我认为它们在Liferay 5中被称为communities。所以它们在同一个门户实例中,我猜。您可以通过groupId 区分它们。
  • 您是如何从控制面板设置站点的区域设置的?我问的原因是因为我没有看到在 Liferay 6.1 的控制面板中将语言环境与站点相关联的方法。我知道我可以为门户实例设置语言环境
  • 这是我的错。我正在为具有设置默认语言的选项卡的站点使用自定义模板。我的问题的解决方案是从此模板中获取语言。

标签: liferay locale default liferay-6


【解决方案1】:

在 Liferay 6.2 中,您可以这样做:

Locale defaultLocale = PortalUtil.getSiteDefaultLocale(groupId);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-26
    • 2011-01-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多