By default, Bugzilla does not search the list of RESOLVED bugs.
You can force it to do so by putting the upper-case word ALL in front of your search query, e.g.: ALL tdelibs
We recommend searching for bugs this way, as you may discover that your bug has already been resolved and fixed in a later release.
Bug 1074 - Switch application language does not work at all
Summary: Switch application language does not work at all
Status: RESOLVED FIXED
Alias: None
Product: TDE
Classification: Unclassified
Component: tdebase (show other bugs)
Version: 3.5.13 [Trinity]
Hardware: All All
: P5 major
Assignee: Timothy Pearson
URL:
Depends on:
Blocks:
 
Reported: 2012-06-27 12:14 CDT by Slávek Banko
Modified: 2012-10-19 15:31 CDT (History)
3 users (show)

See Also:
Compiler Version:
TDE Version String:
Application Version:
Application Name:


Attachments
Fix switch language inside TDE application (666 bytes, patch)
2012-08-09 14:21 CDT, Francois Andriot
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Slávek Banko 2012-06-27 12:14:19 CDT
The application starts with the correct language but the language switch regardless of the installed languages ​​do not offer anything.

In 3.5.12 it worked correctly.
Comment 1 Francois Andriot 2012-08-07 08:03:29 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 ?
Comment 2 Slávek Banko 2012-08-07 09:42:13 CDT
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.
Comment 3 Francois Andriot 2012-08-07 10:50:56 CDT
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.
Comment 4 Francois Andriot 2012-08-07 10:53:00 CDT
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.
Comment 5 Slávek Banko 2012-08-07 11:18:28 CDT
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.
Comment 6 Francois Andriot 2012-08-07 14:53:04 CDT
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.
Comment 7 Francois Andriot 2012-08-07 15:46:16 CDT
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.
Comment 8 Slávek Banko 2012-08-08 10:55:28 CDT
(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.
Comment 9 Francois Andriot 2012-08-09 14:21:56 CDT
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 10 Timothy Pearson 2012-08-09 14:44:04 CDT
Comment on attachment 782 [details]
Fix switch language inside TDE application

Committed to GIT in hash d93d02f.

Thanks for the patch!
Comment 11 Slávek Banko 2012-08-15 18:37:23 CDT
Cherry-picked to v3.5.13-sru branch.
It works well, thanks.