Apollo 刨析:Localization

九月 30 2014 11:27 上午     admin html

0 Comments函数

今天咱们来看一看Apollo中的Localization Component。网站

本地化在Apollo中的使用

image

image

像这样的代码你们在Apollo中确定常常见到,那么NullLocalizer.Instance是什么?咱们来看一看NullLocalizerhtm

image

 

LocalizationModule

不知道你们对“Apollo 刨析:前奏曲”中的CachingModule还有没有印象,Apollo用了相似的机制,只不过这一次把构造函数注入变成了属性注入blog

image

在Load方法咱们能够看到Apollo注册了一个IText接口,那这个IText接口是干什么用的?请看下面!接口

咱们看到的是 LocalizationUtilities.Resolve 实现了具体的注入。get

image

,可是怎么确保它是以属性输入的方式被注入进来的?下面咱们接着看。it

这个方法比较简单,最终 T 属性被注入成 IText.Get 方法。上面咱们说到咱们注册了IText接口,最终的实现类是io

Text。咱们看下Text 是怎么实现的。配置

image

 

var currentCulture = workContext.CurrentCulture;

这个是获取网站的语言种类。

 

image

这里咱们进行了调整了一下,期初是从站点配置文件中获取语言种类。

 

下面咱们主要看下 _localizedStringManager.GetLocalizedString(_scope, textHint, currentCulture)

image

 

第一行 LoadCulture(cultureName);从下面的几个.po文件中进行加载语言化。优先级从头至尾。

image

.PO 文件格式以下:

 

image

相关文章
相关标签/搜索