2013-05-02 21 views
5

當我做GWT排列數

<set-property name="user.agent" value="ie9,gecko1_8,safari,opera" /> 

的編譯器4排列;

但補充說:

<set-property name="user.agent" value="ie9,gecko1_8,safari,opera" /> 

<extend-property name="locale" values="nl" /> 
<extend-property name="locale" values="en" /> 

<collapse-property name="locale" values="en*" /> 
<collapse-property name="locale" values="nl*" /> 
<set-property-fallback name="locale" value="en" /> 

我看到48排列。但我會期望4 * 2 = 8排列。

什麼是48個排列和/或是否有方法指示編譯器在編譯過程中顯示排列代表的內容?

我也有這個我模塊<inherits name="com.google.gwt.i18n.CldrLocales" />

* UPDATE *在:這種變化給56排列

<extend-property name="locale" values="nl_NL" /> 
<extend-property name="locale" values="nl_BE" /> 
<extend-property name="locale" values="en_GB" /> 
<set-property-fallback name="locale" value="en_GB" /> 
<set-property name="user.agent" value="ie9,gecko1_8,safari,opera" /> 

它仍然是不明確的編譯器是如何得到這個號碼?

+2

一個NIT:你應該有''或者即使你永遠不會使用它,你仍然會擁有'default'語言環境。 – 2013-05-03 09:17:23

+0

就是這樣!超,thx。 – koma 2013-05-03 11:18:21

回答

7

托馬斯這一評論揭示瞭解決方案:

你應該有<set-property name="locale" value="en,nl"/>,否則你會 仍然有默認的語言環境,即使你永遠不會使用它。

所以修改爲:

<extend-property name="locale" values="nl_NL" /> 
<extend-property name="locale" values="nl_BE" /> 
<extend-property name="locale" values="en_GB" /> 
<set-property name="locale" value="en_GB,nl_NL,nl_BE"/> 
<!-- <collapse-property name="locale" values="en*" /> <collapse-property 
    name="locale" values="nl*" /> --> 
<set-property-fallback name="locale" value="en_GB" /> 

=>12排列,如從4(瀏覽器)預期* 3(郎/國家)= 12個排列

0

我想你碰到這個問題。

它似乎是所有國家(?)產生的排列組合。

對於那些翻譯值相同的情況下,但你還是要針對具體國家的詳細信息,可以使用運行時的語言環境,以減少編譯置換的數量,但仍獲得國傢俱體的細節,如默認貨幣,數/日期格式規則等

舉個例子,你可能有一組翻譯所有西班牙的是拉丁美洲(ES_419)口語,還允許用戶選擇一個特定國家的語言環境,例如阿根廷西班牙語(es_AR)。

Read Runtime LocaleSpecifying

+0

這是什麼應該通過添加崩潰屬性語句像,否? – koma 2013-05-03 08:28:02

+3

摺疊屬性不會減少排列的數量,它通過將多個排列摺疊到同一個輸出腳本中來減少輸出文件的數量。 – 2013-05-03 09:12:26

+0

減少lang /國家的數量甚至會進一步導致更多(56!)排列,請參閱更新的問題。仍然對編譯器如何計算排列數量感到困惑。在添加country/lang之前,我只有4個。 – koma 2013-05-03 10:54:03