Author: mordante
Date: Sat Jul  5 11:19:55 2008
New Revision: 27744

URL: http://svn.gna.org/viewcvs/wesnoth?rev=27744&view=rev
Log:
Languages in the language selection are now sorted on name instead of code.
Based on a patch by stikonas who also spotted the not sorted problem.

Modified:
    trunk/changelog
    trunk/data/languages/ar_AR.cfg
    trunk/data/languages/bg_BG.cfg
    trunk/data/languages/el_GR.cfg
    trunk/data/languages/he_IL.cfg
    trunk/data/languages/ja_JP.cfg
    trunk/data/languages/ko_KR.cfg
    trunk/data/languages/mk_MK.cfg
    trunk/data/languages/nb_NO.cfg
    trunk/data/languages/ru_RU.cfg
    trunk/data/languages/tl_PH.cfg
    trunk/data/languages/zh_CN.cfg
    trunk/data/languages/zh_TW.cfg
    trunk/src/language.cpp
    trunk/src/language.hpp

Modified: trunk/changelog
URL: 
http://svn.gna.org/viewcvs/wesnoth/trunk/changelog?rev=27744&r1=27743&r2=27744&view=diff
==============================================================================
--- trunk/changelog (original)
+++ trunk/changelog Sat Jul  5 11:19:55 2008
@@ -10,6 +10,8 @@
    * new translation: Latvian
    * updated translations: Arabic, Finnish, French, German, Greek, Lithuanian,
      Serbian
+   * languages in the language selection are now sorted on name instead of
+     code.
  * WML engine:
    * When examining stored units, now the attacks, max_hitpoints, max_moves,
      and max_experience are the "real" values and can also be modified.

Modified: trunk/data/languages/ar_AR.cfg
URL: 
http://svn.gna.org/viewcvs/wesnoth/trunk/data/languages/ar_AR.cfg?rev=27744&r1=27743&r2=27744&view=diff
==============================================================================
--- trunk/data/languages/ar_AR.cfg (original)
+++ trunk/data/languages/ar_AR.cfg Sat Jul  5 11:19:55 2008
@@ -1,5 +1,6 @@
 [locale]
        name="العربية (Arabic)"
+       sort_name = "Arabic"
        locale=ar_AR
        alternates=ar_AE, ar_BH, ar_DZ, ar_EG, ar_IN, ar_IQ, ar_JO, ar_KW, 
ar_LB, ar_LY, ar_MA, ar_OM, ar_QA, ar_SA, ar_SD, ar_SY, ar_TN, ar_YE
        dir=rtl

Modified: trunk/data/languages/bg_BG.cfg
URL: 
http://svn.gna.org/viewcvs/wesnoth/trunk/data/languages/bg_BG.cfg?rev=27744&r1=27743&r2=27744&view=diff
==============================================================================
--- trunk/data/languages/bg_BG.cfg (original)
+++ trunk/data/languages/bg_BG.cfg Sat Jul  5 11:19:55 2008
@@ -1,4 +1,5 @@
 [locale]
        name="Български (Bulgarski)"
+       sort_name = "Bulgarski"
        locale=bg_BG
 [/locale]

Modified: trunk/data/languages/el_GR.cfg
URL: 
http://svn.gna.org/viewcvs/wesnoth/trunk/data/languages/el_GR.cfg?rev=27744&r1=27743&r2=27744&view=diff
==============================================================================
--- trunk/data/languages/el_GR.cfg (original)
+++ trunk/data/languages/el_GR.cfg Sat Jul  5 11:19:55 2008
@@ -1,4 +1,5 @@
 [locale]
        name="Ελληνικά (Ellinika)"
+       sort_name = "Ellinika"
        locale=el_GR
 [/locale]

Modified: trunk/data/languages/he_IL.cfg
URL: 
http://svn.gna.org/viewcvs/wesnoth/trunk/data/languages/he_IL.cfg?rev=27744&r1=27743&r2=27744&view=diff
==============================================================================
--- trunk/data/languages/he_IL.cfg (original)
+++ trunk/data/languages/he_IL.cfg Sat Jul  5 11:19:55 2008
@@ -1,5 +1,6 @@
 [locale]
        name="עברית (Hebrew)"
+       sort_name = "Hebrew"
        locale=he_IL
        dir=rtl
 [/locale]

Modified: trunk/data/languages/ja_JP.cfg
URL: 
http://svn.gna.org/viewcvs/wesnoth/trunk/data/languages/ja_JP.cfg?rev=27744&r1=27743&r2=27744&view=diff
==============================================================================
--- trunk/data/languages/ja_JP.cfg (original)
+++ trunk/data/languages/ja_JP.cfg Sat Jul  5 11:19:55 2008
@@ -1,4 +1,5 @@
 [locale]
        name="日本語 (Nihongo)"
+       sort_name = "Nihongo"
        locale=ja_JP
 [/locale]

Modified: trunk/data/languages/ko_KR.cfg
URL: 
http://svn.gna.org/viewcvs/wesnoth/trunk/data/languages/ko_KR.cfg?rev=27744&r1=27743&r2=27744&view=diff
==============================================================================
--- trunk/data/languages/ko_KR.cfg (original)
+++ trunk/data/languages/ko_KR.cfg Sat Jul  5 11:19:55 2008
@@ -1,4 +1,5 @@
 [locale]
-        name="한국어 (Korean)"
-        locale=ko_KR
+       name="한국어 (Korean)"
+       sort_name = "Korean"
+       locale=ko_KR
 [/locale]

Modified: trunk/data/languages/mk_MK.cfg
URL: 
http://svn.gna.org/viewcvs/wesnoth/trunk/data/languages/mk_MK.cfg?rev=27744&r1=27743&r2=27744&view=diff
==============================================================================
--- trunk/data/languages/mk_MK.cfg (original)
+++ trunk/data/languages/mk_MK.cfg Sat Jul  5 11:19:55 2008
@@ -1,4 +1,5 @@
 [locale]
        name="Македонски (Makedonski)"
+       sort_name = "Makedonski"
        locale=mk_MK
 [/locale]

Modified: trunk/data/languages/nb_NO.cfg
URL: 
http://svn.gna.org/viewcvs/wesnoth/trunk/data/languages/nb_NO.cfg?rev=27744&r1=27743&r2=27744&view=diff
==============================================================================
--- trunk/data/languages/nb_NO.cfg (original)
+++ trunk/data/languages/nb_NO.cfg Sat Jul  5 11:19:55 2008
@@ -1,4 +1,4 @@
 [locale]
-name="Norsk bokmål"
-locale=nb_NO
+       name="Norsk bokmål"
+       locale=nb_NO
 [/locale]

Modified: trunk/data/languages/ru_RU.cfg
URL: 
http://svn.gna.org/viewcvs/wesnoth/trunk/data/languages/ru_RU.cfg?rev=27744&r1=27743&r2=27744&view=diff
==============================================================================
--- trunk/data/languages/ru_RU.cfg (original)
+++ trunk/data/languages/ru_RU.cfg Sat Jul  5 11:19:55 2008
@@ -1,4 +1,5 @@
 [locale]
        name="Русский (Russkij)"
+       sort_name = "Russkij"
        locale=ru_RU
 [/locale]

Modified: trunk/data/languages/tl_PH.cfg
URL: 
http://svn.gna.org/viewcvs/wesnoth/trunk/data/languages/tl_PH.cfg?rev=27744&r1=27743&r2=27744&view=diff
==============================================================================
--- trunk/data/languages/tl_PH.cfg (original)
+++ trunk/data/languages/tl_PH.cfg Sat Jul  5 11:19:55 2008
@@ -1,4 +1,4 @@
 [locale]
-        name="Filipino"
-        locale=tl_PH
+       name="Filipino"
+       locale=tl_PH
 [/locale]

Modified: trunk/data/languages/zh_CN.cfg
URL: 
http://svn.gna.org/viewcvs/wesnoth/trunk/data/languages/zh_CN.cfg?rev=27744&r1=27743&r2=27744&view=diff
==============================================================================
--- trunk/data/languages/zh_CN.cfg (original)
+++ trunk/data/languages/zh_CN.cfg Sat Jul  5 11:19:55 2008
@@ -1,4 +1,5 @@
 [locale]
        name="中文 (Zhongwen)"
+       sort_name = "Zhongwen"
        locale=zh_CN
 [/locale]

Modified: trunk/data/languages/zh_TW.cfg
URL: 
http://svn.gna.org/viewcvs/wesnoth/trunk/data/languages/zh_TW.cfg?rev=27744&r1=27743&r2=27744&view=diff
==============================================================================
--- trunk/data/languages/zh_TW.cfg (original)
+++ trunk/data/languages/zh_TW.cfg Sat Jul  5 11:19:55 2008
@@ -1,4 +1,5 @@
 [locale]
        name="繁體中文(Chinese traditional)"
+       sort_name = "Chinese traditional"
        locale=zh_TW
 [/locale]

Modified: trunk/src/language.cpp
URL: 
http://svn.gna.org/viewcvs/wesnoth/trunk/src/language.cpp?rev=27744&r1=27743&r2=27744&view=diff
==============================================================================
--- trunk/src/language.cpp (original)
+++ trunk/src/language.cpp Sat Jul  5 11:19:55 2008
@@ -153,13 +153,13 @@
 
        known_languages.clear();
        known_languages.push_back(
-               language_def("", t_string(N_("System default language"), 
"wesnoth"), "ltr"));
+               language_def("", t_string(N_("System default language"), 
"wesnoth"), "ltr", "", "A"));
 
        config::const_child_itors langs = cfg.child_range("locale");
        for(;langs.first != langs.second; ++langs.first) {
                known_languages.push_back(
                        language_def((**langs.first)["locale"], 
(**langs.first)["name"], (**langs.first)["dir"],
-                               (**langs.first)["alternates"]));
+                               (**langs.first)["alternates"], 
(**langs.first)["sort_name"]));
        }
 
        return true;
@@ -167,6 +167,9 @@
 
 std::vector<language_def> get_languages()
 {
+       // We sort every time, the local might have changed which can modify the
+       // sort order.
+       std::sort(known_languages.begin(), known_languages.end());
        return known_languages;
 }
 

Modified: trunk/src/language.hpp
URL: 
http://svn.gna.org/viewcvs/wesnoth/trunk/src/language.hpp?rev=27744&r1=27743&r2=27744&view=diff
==============================================================================
--- trunk/src/language.hpp (original)
+++ trunk/src/language.hpp Sat Jul  5 11:19:55 2008
@@ -33,23 +33,28 @@
                localename(),
                alternates(),
                language(),
+               sort_name(),
                rtl(false)
                {}
 
        language_def(const std::string& name, const t_string& lang, const 
std::string& dir,
-           const std::string &salternates = "") :
+                   const std::string &salternates = "", const std::string& 
sort_name = "") :
                localename(name), 
-               alternates(),
+               alternates(utils::split(salternates)),
                language(lang), 
+               sort_name(sort_name.empty() ? std::string(lang) : sort_name),
                rtl(dir == "rtl")
        {
-            alternates = utils::split(salternates);
-        }
+    }
+
        std::string localename;
        std::vector<std::string> alternates;
        t_string language;
+       std::string sort_name;
        bool rtl;               // A right to left language? (e.g: Hebrew)
        bool operator== (const language_def&) const;
+       bool operator< (const language_def& a) const
+               { return sort_name < a.sort_name; }
        
        /**
         * Is the locale available on the system?


_______________________________________________
Wesnoth-commits mailing list
[email protected]
https://mail.gna.org/listinfo/wesnoth-commits

Reply via email to