Summary: | Sort translated languages by code | ||
---|---|---|---|
Product: | Koha | Reporter: | paxed <pasi.kallinen> |
Component: | Architecture, internals, and plumbing | Assignee: | paxed <pasi.kallinen> |
Status: | CLOSED INVALID | QA Contact: | Testopia <testopia> |
Severity: | minor | ||
Priority: | P5 - low | CC: | jonathan.druart, julian.maurice, mtompset |
Version: | master | ||
Hardware: | All | ||
OS: | All | ||
Change sponsored?: | --- | Patch complexity: | --- |
Documentation contact: | Documentation submission: | ||
Text to go in the release notes: | Version(s) released in: | ||
Bug Depends on: | 20193 | ||
Bug Blocks: | |||
Attachments: |
Bug 20160: Sort translated languages by code
Bug 20160: Sort translated languages by code Bug 20160: Sort translated languages by code |
Description
paxed
2018-02-08 09:29:57 UTC
Created attachment 71333 [details] [review] Bug 20160: Sort translated languages by code The language tabs in Change notices -page are in random order, and will rearrange at every page reload. This is quite irritating. Make getTranslatedLanguages return the languages always in the same order, sorted by the language code. This is better than returning them in a random one. Test plan: 1) Enable TranslateNotices 2) Install multiple languages 3) Go to Home -> Tools -> Notices & slips 4) Edit any notice 5) Reload the page multiple times. The language tabs will rearrange at random 6) Apply patch 7) Repeat 1-5. The language tabs should now always be in the same order, sorted by the language code. Do the same test to Home -> Tools -> News -> Add News item (Check the "Display location" dropdown) Check Home -> Patrons -> Add patron (the "Preferred language for notices" dropdown) Check Home -> Administration -> System preferences -> i18n/l10n (Note the order of languages listed for "language" and "opaclanguages") Check Home -> Administration -> System preferences -> Local use (Create a new preference with variable type Languages, check the language pref listed in the table) Check Home -> Administration -> Item types -> Add item type (After the Description-field, there's "Translate into other languages", click on that. In the pop-up that opens, check the language drop-down) This sort doesn't quite sort. Install multiple regional English languages, and see if it is the order you would expect. (In reply to M. Tompsett from comment #2) > This sort doesn't quite sort. Install multiple regional English languages, > and see if it is the order you would expect. Good point, didn't think to test that. Created attachment 71596 [details] [review] Bug 20160: Sort translated languages by code The language tabs in Change notices -page are in random order, and will rearrange at every page reload. This is quite irritating. Make getTranslatedLanguages return the languages always in the same order, sorted by the language code. This is better than returning them in a random one. Test plan: 1) Enable TranslateNotices 2) Install multiple languages, including multiple regional English languages 3) Go to Home -> Tools -> Notices & slips 4) Edit any notice 5) Reload the page multiple times. The language tabs will rearrange at random 6) Apply patch 7) Repeat 1-5. The language tabs should now always be in the same order, sorted by the language code. Do the same test to Home -> Tools -> News -> Add News item (Check the "Display location" dropdown) Check Home -> Patrons -> Add patron (the "Preferred language for notices" dropdown) Check Home -> Administration -> System preferences -> i18n/l10n (Note the order of languages listed for "language" and "opaclanguages") Check Home -> Administration -> System preferences -> Local use (Create a new preference with variable type Languages, check the language pref listed in the table) Check Home -> Administration -> Item types -> Add item type (After the Description-field, there's "Translate into other languages", click on that. In the pop-up that opens, check the language drop-down) Created attachment 71622 [details] [review] Bug 20160: Sort translated languages by code The language tabs in Change notices -page are in random order, and will rearrange at every page reload. This is quite irritating. Make getTranslatedLanguages return the languages always in the same order, sorted by the language code. This is better than returning them in a random one. Test plan: 1) Enable TranslateNotices 2) Install multiple languages, including multiple regional English languages 3) Go to Home -> Tools -> Notices & slips 4) Edit any notice 5) Reload the page multiple times. The language tabs will rearrange at random 6) Apply patch 7) Repeat 1-5. The language tabs should now always be in the same order, sorted by the language code. Do the same test to Home -> Tools -> News -> Add News item (Check the "Display location" dropdown) Check Home -> Patrons -> Add patron (the "Preferred language for notices" dropdown) Check Home -> Administration -> System preferences -> i18n/l10n (Note the order of languages listed for "language" and "opaclanguages") Check Home -> Administration -> System preferences -> Local use (Create a new preference with variable type Languages, check the language pref listed in the table) Check Home -> Administration -> Item types -> Add item type (After the Description-field, there's "Translate into other languages", click on that. In the pop-up that opens, check the language drop-down) Signed-off-by: Pasi Kallinen <pasi.kallinen@joensuu.fi> Signed-off-by: Mark Tompsett <mtompset@hotmail.com> Patch works but there is no test. Please write some. (In reply to Julian Maurice from comment #6) > Patch works but there is no test. Please write some. I have no idea how I would go writing test for this, because getTranslatedLanguages wants the translated theme directories present. Someone else will have to take this. I think you can mock _get_language_dirs with Test::MockModule to make it return whatever is needed for the tests. Have a look at t/lib/Mocks.pm for examples of usage. Was fixed by bug 20115 |