複數形式
回答
使用gettext格式是個好主意。你有兩種選擇:
AsGettext被授權爲LGPL,所以它應該可以用於任何項目。
你不需要任何額外的庫。使用標準的Flex ResourceManager。在文本資源定義這樣的複數形式:
minute=minute, minutes
在這種情況下,當你以後的此類資源要求的
resourceManager.getStringArray('BundleName', 'minute')
你得到多元價值觀的像
[ 'minute', 'minutes' ]
數組
然後使用類似於
function getPlural(value:Number, plurals:Array):String
{
if (ResourceManager.getInstance().localeChain[0] == 'en_US')
if (value == 1) return plurals[0] else return plurals[1];
}
爲當前語言環境選擇正確的文本。你可以在一些包中直接定義這個函數,這對所有類都是通用的。不幸的是,你不能避免這樣的功能,因爲許多語言的複數規則是不同的。例如,對於俄語來說,表達將會複雜得多,並將採取三個複數形式。
順便說一下,這種方法與gettext的工作方式非常相似。
非常有趣。如果你在實際文本中需要它們,你如何轉義逗號? – 2012-10-05 07:58:56
@WimDeblauwe不幸的是,這是不可能的。如果您查看getStringArray()方法源代碼,您將看到簡單的'var array:Array = String(value).split(「,」)'用法。我看到的唯一方法是以某種方式在ResourceManagerImpl中重寫此方法,但我從來沒有見過這樣的用例。 – koldoon 2012-10-09 06:09:30
- 1. 將複數形式綁定到矩形?
- 2. 複數形式的複選框
- 3. SQL名詞複數形式的函數
- 4. PHP複雜形式
- 5. 翻譯模型的複數形式
- 6. 用重力形式計數複選框
- 7. xgettext不會掃描複數形式
- 8. 發送數據形式NG重複
- 9. 多個複數形式中的gettext()
- 10. Watson Conversation如何處理複數形式?
- 11. LINQ選擇LAMBDA形式重複計數
- 12. 當複數形式等於單數形式時的模型複數的Django翻譯
- 13. 康復中心的形式?
- 14. C#防止複製形式
- 15. 複合鍵和形式
- 16. 如何複製形式
- 17. 複選框的形式
- 18. 形式復位也提交
- 19. c#形式掛mutithread修復
- 20. PHP:複選框和形式
- 21. jQuery的 - 復位形式
- 22. Rails的複雜形式
- 23. symfony形式重複位
- 24. 不能復位形式「$ setPristine」
- 25. 複選框嵌套形式
- 26. 形式在NG-重複
- 27. 重複成員的形式
- 28. 形式onreset事件復位
- 29. 複雜的複選框形式
- 30. 形式數據
查看您提供的鏈接;這聽起來像只是一個封裝的條件。我不知道有任何現有的庫可以幫助解決這個問題。但我敢打賭,你可以在一個小時或更短的時間內寫下類似內容,並將其作爲項目在riaforge.com上發佈。 – JeffryHouser 2011-05-27 14:36:32