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

相關文章
相關標籤/搜索