我在應用程序中使用ICU Message Format作爲i18n。RTL語言:逗號分隔的列表
某些字符串涉及動態長度逗號分隔列表。例如,字符串:
「有三種寵物:一隻狗,一條魚,一隻貓。」
「有{計數}寵物::{列表}」
當計數是該列表的長度,和列表是
可以與該消息生成個人字符串本身。 (順便說一下,這是一個真正的字符串,我會爲每個「count」配置「pets」,但讓我們保持簡單)。
僞代碼,可能會像這樣來產生列表變量:
pets.join(', ');
最後一點就是我不是一個球迷。它似乎只對LTR語言有意義,可能只是LTR語言的一個子集。
我有兩個問題:
- 應該如何逗號分隔的列表中的其他語言被格式化,如RTL語言?
- ICU消息格式是否支持以任何方式或除ICU外還需要系統來生成列表?
這是一個JavaScript web應用程序,雖然這些問題的答案可能與語言無關。
感謝@MihaiNita!我最終做了一些研究並實現了一個適用於我的用例的東西:https://github.com/jmeas/i18n-list-generator.js我將看看這些其他選項,並參閱如果我可以改進我的代碼或以其他方式使用它們的庫。再次感謝:) – jmeas
至少看看閉包中的數據,並在硬編碼解決方案中複製更多數據。還有其他語言不使用「ASCII逗號」(例如中文)。請參閱https://github.com/google/closure-library/tree/master/closure/goog/labs/i18n –
中的listsymbols.js和listsymbolsext.js再次感謝!我去做。 – jmeas