| Summary: | Switch application language does not work at all | ||
|---|---|---|---|
| Product: | TDE | Reporter: | Slávek Banko <slavek.banko> |
| Component: | tdebase | Assignee: | Timothy Pearson <kb9vqf> |
| Status: | RESOLVED FIXED | ||
| Severity: | major | CC: | albator78, bugwatch, darrella |
| Priority: | P5 | ||
| Version: | 3.5.13 [Trinity] | ||
| Hardware: | All | ||
| OS: | All | ||
| Compiler Version: | TDE Version String: | ||
| Application Version: | Application Name: | ||
| Attachments: | Fix switch language inside TDE application | ||
|
Description
Slávek Banko
2012-06-27 12:14:19 CDT
Hello, it is working as expected for me (3.5.13, not SRU). I have kde-i18-French language package installed. My TDE session is in french by default. I open Konqueror, it is in french. Then I choose "help / switch application language". In the popup, I set primary language to "American English". Then another popup tells me that the application must be restarted for the change to take effect. Now I close konqueror and open it again: it is in English. I can switch again to French, it works too. Can you describe your problem more precisely ? I have installed kde-i18n-cs and TDE is primary in Czech - that is correct. But if I choose "Help / Switch application language", in the popup is Primary language empty and list of available languages not contain any items. Likewise, the list is empty for all other fallback languages. The same behavior on Squeeze (3.5.13.1), Precise (3.5.13.1), but also on Oneiric with original 3.5.13. Are you able to switch TDE's language in Control panel ? If not, your problem is bigger than application language switching. I've had the same issue as you describe before, solved it, but do not remember exactly how :-) I'm sure it was just a packaging issue. Maybe the file "entry.desktop" is missing, for example: /opt/trinity/share/locale/fr/entry.desktop It is provided by the "i18n" packages. By "switch TDE's language", I mean, "really switch TDE's language", not just setting the item. Try to switch to english, logoff, login again, and see if you are in English or Czech. In my case, the setting shown by control panel was not applied at all. Re-certified: A change in the Kontrol Center is working properly. Set English and after logout / login is all in English. Set Czech and after logout / login is all in Czech. Although list of available languages in Switch application language is still empty. OK I confirm the language switching inside application does not work on 3.5.13-sru . But it still works on my updated 3.5.13, so maybe I will find out by comparing both source codes. BTW, it seems that the problem is in tdebase, not tdelibs. Found it !!! I knew this was a silly problem. It's because, in 3.5.13-sru, the KDEDIRS environment variable (with the final S) is not set by the "startkde" script. This variable is needed (by kdelibs, maybe others) to determine where to look at available language files. I'm surprized that global language in control panel works without this variable. You can try to hardcode "export KDEDIRS=/opt/trinity:/usr" at the top of your startkde, logoff and logon again, and your problem will be solved. (Odpověď na komentář #7)
> Found it !!! I knew this was a silly problem.
>
> It's because, in 3.5.13-sru, the KDEDIRS environment variable (with the final
> S) is not set by the "startkde" script.
>
> This variable is needed (by kdelibs, maybe others) to determine where to look
> at available language files. I'm surprized that global language in control
> panel works without this variable.
>
> You can try to hardcode "export KDEDIRS=/opt/trinity:/usr" at the top of your
> startkde, logoff and logon again, and your problem will be solved.
I just tried it, but unfortunately it did not help me - Squeeze with 3.5.13.1, Precise with 3.5.13.1, Oneiric with original 3.5.13.
Created attachment 782 [details]
Fix switch language inside TDE application
This time, I found it !
First, if it was working for me with KDEDIRS variable, it's because /usr contains KDE4 configuration files. So the language selection was working in TDE thanks to a KDE4 config file.
There was an error converting kdelibs from autotools to CMAKE.
In source tree there is a file "kdecore/all_languages.desktop" which is supposed to be installed as "/opt/trinity/share/locale/all_languages" (without any extension).
But in kdecore/CMakeLists.txt , the "all_languages" is created as an empty folder, and the actual file is never copied.
See attached patch.
Comment on attachment 782 [details]
Fix switch language inside TDE application
Committed to GIT in hash d93d02f.
Thanks for the patch!
Cherry-picked to v3.5.13-sru branch. It works well, thanks. |