0

我在单个 UMBRACO 实例上托管了多个站点。每个站点具有不同的布局/行为,但使用相同的宏(其中 Ref.dll),其中预定义了 Umbraco 字典项

例如。具有两个语言的字典项目,即英语(美国)和法语(比利时)

  Name :- UmDic_SiteName

  Dictionary item value 
  English (United States) :- "Site One Name In English"
  French (Belgium)        :- "Site One Name In French"

由于 umbraco Dictionary Item Name 是在 dll(Macros) 中定义的,所以不能更改

现在,对于每个不同的站点,字典项的值需要不同,例如,站点:两个将类似于以下内容

名称:- UmDic_SiteName

  Dictionary item value 
  English (United States) :- "Site Two Name In English"
  French (Belgium)        :- "Site Two Name In French"

所以他们的任何方式我们都可以配置它。我们可以在 umbraco 做任何定制吗?

4

2 回答 2

1

没有真正的解决方案,尽管我应用的解决方法是为共享相同语言的不同站点使用不同的区域语言/区域设置。

我正在管理一个在 1 个实例上有 40 个站点的系统,其完成方式是使用 2 种略有不同的语言。我们有几个德语、法语和英语站点,它们要求字典项目的值略有不同,以将内容本地化到地区/国家。

假设您有 2 个荷兰语站点,一个用于比利时,一个用于荷兰。然后我们对荷兰网站使用“Dutch, Dutch”,对另一个网站使用“Dutch, Belgium”,这当然是有道理的。

但是我们在不同的法语站点上应用了相同的方法,我们分配一个“French,French”,另一个得到“French,Belgium”,即使它们都是“French,French”。

这些站点共享相同的字典项,但您仍然可以自定义值。

于 2014-05-23T07:11:40.310 回答
0

最后我下载了 Umbraco 源代码。“umbraco_a7dae59a1e55”并添加了代码以在 Umbraco 中添加自定义语言。

在 umbraco 源码 >> \umbraco\cms\businesslogic\language\Language.cs

有以下方法修改条件。

 public static void MakeNew(string CultureCode)
 public static void MakeNew(string CultureCode)
 public static Language GetByCultureCode(String cultureCode)
 private void updateNames()

  if ((CultureCode.Contains(CustLangPrefix)) || (new CultureInfo(CultureCode) != null))

其中 CustLangPrefix 是自定义语言前缀。

于 2014-11-27T11:28:57.893 回答