對於我的應用程序(Ruby on Rails),我有註冊頁面的國家/地區選擇框。這些國家被本地化爲不同的語言。但我無法找到一種方法來對其進行排序,基於其本地化語言。目前我已經根據英文對其進行了整理。有沒有辦法根據語言環境對國家名稱進行排序?即國家的順序應根據其本地化的語言而改變(升序)。 謝謝..ruby中基於區域設置的排序功能
3
A
回答
-1
3
您可以自定義String
比較法,根據給定的字母,這樣的事情(在Ruby 1.9的工程):
class String
# compares two strings based on a given alphabet
def cmp_loc(other, alphabet)
order = Hash[alphabet.each_char.with_index.to_a]
self.chars.zip(other.chars) do |c1, c2|
cc = (order[c1] || -1) <=> (order[c2] || -1)
return cc unless cc == 0
end
return self.size <=> other.size
end
end
class Array
# sorts an array of strings based on a given alphabet
def sort_loc(alphabet)
self.sort{|s1, s2| s1.cmp_loc(s2, alphabet)}
end
end
array_to_sort = ['abc', 'abd', 'bcd', 'bcde', 'bde']
ALPHABETS = {
:language_foo => 'abcdef',
:language_bar => 'fedcba'
}
p array_to_sort.sort_loc(ALPHABETS[:language_foo])
#=>["abc", "abd", "bcd", "bcde", "bde"]
p array_to_sort.sort_loc(ALPHABETS[:language_bar])
#=>["bde", "bcd", "bcde", "abd", "abc"]
然後你要支持每一種語言提供按字母順序排列的訂單。
1
某個時間以前,twitter發佈了一個庫,可以在Ruby中很好地處理多種語言,它實際上可以工作https://github.com/twitter/twitter-cldr-rb#sorting-collation。他們也提供了更高層次的排序方法以及低層次的方法,只需比較給定語言環境中的兩個字符串,這也是非常好的。這讓我擺脫了git://github.com/k3rni/ffi-locale.git,到目前爲止我已經使用了一種可識別語言環境的字符串排序方式。
相關問題
- 1. 在Ruby/Rails中使用依賴區域的排序功能
- 2. 基於區域設置的驗證
- 3. 的Setup.exe基於區域設置
- 4. 基於系統區域設置在C++
- 5. 設置範圍爲排序功能
- 6. 對基於圖像區域的提取數據進行排序
- 7. iOS中的基於位置的功能
- 8. 在android中設置基於本地區域
- 9. 基於功能區的GUI - Winforms vs WPF
- 10. 如何設置安全區域的功能的時間限制
- 11. 具有不同區域設置的TextView的Android輔助功能
- 12. NSLocalizedString()基於用戶的語言或其區域設置?
- 13. 如何更改基於區域的環境設置
- 14. 將div的高度設置爲基於可見區域
- 15. 基於用戶區域的iOS設置日期格式
- 16. 獲取貨幣基於區域設置的ISO 4217代碼
- 17. Iphone基於電話號碼格式的區域設置
- 18. 基於區域設置的標籤文本
- 19. 基於地理位置檢測區域
- 20. 如何設置功能測試(Rails)的區域default_url_options
- 21. Django的註銷功能刪除區域設置
- 22. 考慮區域設置的元組排序列表(瑞典語排序)
- 23. std :: string的區域設置相關排序
- 24. 基於區域設置更改字體家族
- 25. 基於單個/情侶功能項目的排序列表
- 26. 基於2個屬性的排序功能
- 27. 基於c頭文件的c文件重新排序功能
- 28. 如何基於Django站點上的當前用戶區域設置排序集合
- 29. Visual Studio中:有區域描述是基於文本的區域
- 30. iOS操作,基於MapKit中的區域
可能重複:http://stackoverflow.com/questions/2360281/alphabetize-arabic-and-japanese-text-that-is-in-unicode – 2010-05-09 23:58:49