使用國際插件,是否有一種「適當」的方式來動態複用單詞,或選擇複數版本的屬性?Grails中是否有標準的方法來管理屬性文件中國際字符串的複數形式?
12
A
回答
19
您可以在i18n消息中使用嵌入的ChoiceFormat
。在GSP
numfiles.message = "There {0,choice,0#are no files|1#is one file|1<are {0,number,integer} files}."
然後:使用從the java.text.MessageFormat
Javadocs一個例子,你可以定義類似
<g:message code="numfiles.message" args="[numfiles]"/>
凡numfiles
是一個整數值。
1
作爲@overzealous在評論中已經注意到,並非所有語言都有與英語相同的簡單複數規則。英語只有兩種形式:one
(數量爲1,例如1輛車,1小時)和other
(數量大於1,例如3輛車,11小時)。在這種情況下,在Grails中使用ChoiseFormat
可以非常簡單地處理複數化。然而,一些語言具有兩種以上形式,例如波蘭語具有4種形式:one
(例如1汽車),few
(例如2汽車),many
(例如6汽車)和other
。 Here is a link添加到描述所有語言的複數規則的表格中。
我也寫過a plugin for Grails它使用上面的表格增加了豐富的多元化能力。使用它,你可以只寫在messages.properties
msgcode={0} {0, plural, one{auto}few{auta}many{aut}other{aut}}
,然後使用它:
<g:message code="msgcode" args="[3]"/>
將打印3 auta
。
相關問題
- 1. Groovy中是否有標準的管理駝峯字符串的方法?
- 2. 是否有將類轉換爲字符串的標準方式
- 3. 是否有標準的方式來指定文檔字符串中的回調函數的類型?
- 4. 有沒有標準的.NET方法來測試SqlConnection字符串是否工作?
- 5. 是否有標準pythonic方式來處理python中的物理單位/數量?
- 6. 是否有用於顯示讀數的國際顏色標準
- 7. videoFrameSize屬性是否有標準格式?
- 8. 是否已經在相應的規範標準形式中的兼容性正常形式的字符串?
- 9. 將常量字符串引入到i18n國際化文件中的好方法在grails中
- 10. 處理屬性本身具有屬性的標準方法?
- 11. Grails 3 - 使用標準來查找字符串列表中的字符串
- 12. Grails是否具有從URL查詢字符串複製域屬性的整潔方式?
- 13. 在文件名中下載具有國際字符的文件
- 14. 屬性和方法的字符串表示形式
- 15. 更好的方式來管理重複的id名稱...屬性
- 16. 在Qt應用程序中是否有標準化的窗口管理方式?
- 17. symfony:使用generator.yml,有沒有辦法隱藏管理中的國際化形式的字段?
- 18. 使用C#檢測文件名字符是否被認爲是國際性的
- 19. 國際化和C#方法屬性?
- 20. 管理以base64字符串形式上傳的文件
- 21. Javascript中的國際字符
- 22. 從當前語言環境獲取Grails中的所有國際字符串?
- 23. Rails國際化 - 是否有更好的方式來保持英文信息?
- 24. CTLineRef是否擁有屬性字符串?
- 25. Python標準庫中的所有文件類對象是否具有「name」屬性?
- 26. Grails中的屬性文件
- 27. 是否有Groovier方法來訪問屬性文件?
- 28. postgresql中國際字符的lower()函數
- 29. 是否有直接的方法來處理二維字符數組並在其中存儲字符串C
- 30. 解析複雜的非標準字符串的最佳方法?
只是一個簡單的說明:並非所有的語言都有[只有兩個數量標識符](http://en.wikipedia.org/wiki/Plural#Other_languages),所以這可能比你想象的要困難得多,取決於你的自然語言要求。 – OverZealous 2011-08-11 05:43:06