Bug 374928

Summary: Appimages: Only translations that are not the desktop language are used.
Product: [Applications] krita Reporter: Pär Ekholm <apps3>
Component: GeneralAssignee: Krita Bugs <krita-bugs-null>
Status: RESOLVED FIXED    
Severity: normal CC: freebox64, halla
Priority: NOR    
Version: 3.1.1   
Target Milestone: ---   
Platform: Appimage   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:
Attachments: swedish krita
(Video example with Krita 3.1.1-appimage on Ubuntu 14.04)

Description Pär Ekholm 2017-01-11 20:19:17 UTC
Hi, there is a problem with Krita appimage 3.1.1 (even tried 3.1.0, 3.0.1.1 and 3.0.1 and it's the same), when I select swedish as the menu language it don't show Krita in swedish but when I select our neighbour languages norweigan or danish it work. I know that Krita is translated in swedish so it should work. The resulting language is always C (english). I have tried with various settings. Also running: "export LANG=sv_SE; ./krita-3.1.1-x86_64.appimage" with no luck. The only appimage which works is 3.0.
Comment 1 Halla Rempt 2017-01-12 08:48:09 UTC
Created attachment 103367 [details]
swedish krita

Hm, I wonder whether the desktop environment or desktop language makes a difference? Though I'm Dutch, my desktop is always set to English. But selecting swedish as primary and fallback language puts Krita in swedish for me.
Comment 2 Pär Ekholm 2017-01-12 10:50:39 UTC
I've tried even in a Xfce desktop (not Xubuntu) but it's the same. I'm in Ubuntu 16.04. Swedish menu. Not want to change my desktop language though.
Comment 3 Halla Rempt 2017-01-12 12:37:55 UTC
Well, I'm not suggesting to change your desktop language permanently, but to test it... I just did so, fortunately I can read Swedish abit, so I could change my desktop language back :P. And yes, that is the problem. Any language but the system language seems to work. Weird...
Comment 4 mvowada 2017-01-12 12:42:13 UTC
Created attachment 103368 [details]
(Video example with Krita 3.1.1-appimage on Ubuntu 14.04)

(In reply to Boudewijn Rempt from comment #1)
> Created attachment 103367 [details]
> swedish krita
> 
> Hm, I wonder whether the desktop environment or desktop language makes a
> difference? Though I'm Dutch, my desktop is always set to English. But
> selecting swedish as primary and fallback language puts Krita in swedish for
> me.

Hi Boudewijn, I think I can reproduce the issue reported by Pär Ekholm (video example). These other threads maybe related to this one:

Bug 373451
Bug 362221
Bug 362961
Comment 5 mvowada 2017-01-12 12:45:40 UTC
(In reply to Boudewijn Rempt from comment #3)
> Well, I'm not suggesting to change your desktop language permanently, but to
> test it... I just did so, fortunately I can read Swedish abit, so I could
> change my desktop language back :P. And yes, that is the problem. Any
> language but the system language seems to work. Weird...

Sorry, I've read your comment after posting mine :)
Comment 6 Pär Ekholm 2017-01-12 16:26:18 UTC
(In reply to Boudewijn Rempt from comment #3)
> Well, I'm not suggesting to change your desktop language permanently, but to
> test it... I just did so, fortunately I can read Swedish abit, so I could
> change my desktop language back :P. And yes, that is the problem. Any
> language but the system language seems to work. Weird...

Yes I changed the desktop language to english and then it worked, so as you said: "Any language but the system language seems to work".

And for mvowada:
Yes it's exactly (I think) so as in your video.
Comment 7 Halla Rempt 2017-01-27 09:44:25 UTC
Git commit 1148ad2c09956324fec470c838ee2c54f08f9c8c by Boudewijn Rempt.
Committed on 27/01/2017 at 09:44.
Pushed by rempt into branch 'master'.

It is supremely important NOT to use i18n before the application
is created.  If i18n is called too early, like when creating a static
KoID, the translation system is initialized before we've had a chance
to add the path to the translations to the XDG_DATA_DIRS variable. Then
the translation system only sees the globally available translations,
and Krita stays untranslated.

Always use ki18n when initializing a static object with a translation.

CCMAIL:kimageshop@kde.org

M  +6    -6    krita/main.cc
M  +81   -76   libs/image/brushengine/kis_standard_uniform_properties_factory.cpp
M  +14   -13   libs/image/brushengine/kis_standard_uniform_properties_factory.h
M  +1    -1    libs/ui/kis_composite_ops_model.cc

https://commits.kde.org/krita/1148ad2c09956324fec470c838ee2c54f08f9c8c
Comment 8 Halla Rempt 2017-01-27 09:44:51 UTC
Git commit 35d2722e3182726340fe4e3aabd112e53d7d1c99 by Boudewijn Rempt.
Committed on 27/01/2017 at 09:44.
Pushed by rempt into branch 'krita/3.1'.

It is supremely important NOT to use i18n before the application
is created.  If i18n is called too early, like when creating a static
KoID, the translation system is initialized before we've had a chance
to add the path to the translations to the XDG_DATA_DIRS variable. Then
the translation system only sees the globally available translations,
and Krita stays untranslated.

Always use ki18n when initializing a static object with a translation.

CCMAIL:kimageshop@kde.org

M  +6    -6    krita/main.cc
M  +81   -76   libs/image/brushengine/kis_standard_uniform_properties_factory.cpp
M  +14   -13   libs/image/brushengine/kis_standard_uniform_properties_factory.h
M  +1    -1    libs/ui/kis_composite_ops_model.cc

https://commits.kde.org/krita/35d2722e3182726340fe4e3aabd112e53d7d1c99