[SailfishDevel] How to translate (lupdate) ?
Oleksii Serdiuk
contacts at oleksii.name
Mon Jan 13 10:16:28 UTC 2014
Here's alternative and faster approach to setting LC_ALL.
I use QLocale().name() to get current locale code. This creates
QLocale instance which equals to QLocale::system() by default, but can
be changed by calling QLocale::setDefault().
Then, when I want to test another language, I just put
QLocale::setDefault(QLocale(QLocale::Ukrainian, QLocale::Ukraine));
somewhere before language loading code. Works like a charm.
On 13/01/14 02:35, Antoine Reversat wrote:
> When running from Qt Creator the locale is always C, when clicking
> the app button on the emulator then the locale is right. I also run
> my app from the emulator through ssh with something like :
> LC_ALL="fr_FR.UTF-8" my_app to test different locales.
>
>
> On Sun, Jan 12, 2014 at 12:20 PM, Unai IRIGOYEN
> <u.irigoyen at gmail.com <mailto:u.irigoyen at gmail.com>> wrote:
>
> Ok, I'm replying to myself here and for reference in case someone
> else is disappointed. I launched the app from Jolla's app menu and
> found out it was translated so in fact this only happens when
> running from QtCreator. --
>
> Unai IRIGOYEN
>
> Le dimanche 12 janvier 2014 17:54:50, vous avez écrit :
>> I followed those steps to try to fix my app translations but
>> QLocale::system() still returns "C". Am I the only one in this
>> case? I'm running my app on Jolla so it's not a problem with
>> emulator.
>>
>>> you can use any /usr/share/appname location. use qm file with
>>> QTranslator and install translator to QGuiApplication
>>>
>>> qsTr is enough
>>>
>>> you can use LC_ALL
>>>
>>> On 03.01.2014 02:26, Franck Routier (perso) wrote:
> Ok, now I have .ts file, I did translate the strings, and
>> produced the
> .qm file.
>
> So my next questions are: 1) how do I include the qm file in the
> rpm ? Should I put it in a specific directory, or directly in
> /usr/share/MyApp ?
>
> 2) is there something special I need to do in my app to
>> trigger the
> magic, or is using qsTr() in the qml files sufficient to to
>> make it
> happen ?
>
> 3) Is there a way I can test if it is working from within the
>> SDK (I
> did not receive my device yet...) ? Should I ssh into the
>> emulator and
> play with LC_ALL, or is there another way ?
>
> Thanks in advance,
>
> Franck
>
> Le 02/01/2014 21:02, Andrey Kozhevnikov a écrit :
>>>>>> for directly use lupdare/lrelease you need to chroot to
>>>>>> target (inside VM):
>>>>>>
>>>>>> sb2 -t SailfishOS-armv7hl -s sdk-install
>>>>>>
>>>>>> On 03.01.2014 02:00, Franck Routier (perso) wrote: I
>>>>>> finally used the lupdate binary found in the Harmattan
>>>>>> SDK somewhere on my
>> hard
>>>>>> disk.
>>>>>>
>>>>>> Also, to make it process qml files, I used this trick
>>>>>>
>> (https://developer.nokia.com/Community/Wiki/Lupdate_with_qml_files),
>
>>
> which consists in listing the qml files this way in the .pro file:
>>>>>> evil_hack_to_fool_lupdate { SOURCES += \ qml/Splash.qml
>>>>>> \ qml/Login.qml \ ... }
>>>>>>
>>>>>> Notice that running lupdate with a ts.list file as
>>>>>> Andrey suggested failed with a message telling me the
>>>>>> files had a "no recognized extension."
>>>>>>
>>>>>> Ok, this did the trick for now, but I'm still wondering
>>>>>> how this is supposed to work from within the SailfishOS
>>>>>> SDK...
>>>>>>
>>>>>> Best regards,
>>>>>>
>>>>>> Franck
>>>>>>
>>>>>> Le 02/01/2014 19:11, Andrey Kozhevnikov a écrit :
>>>>>>>>> i'm always using self-created ts.list text file
>>>>>>>>> with list of paths to files contains strings
>>>>>>>>>
>>>>>>>>> and my lupdate syntax:
>>>>>>>>>
>>>>>>>>> lupdate -verbose -ts languages/en_US.ts @ts.list
>>>>>>>>>
>>>>>>>>> On 02.01.2014 23:44, Franck Routier (perso) wrote:
>>>>>>>>>> Le 02/01/2014 18:37, Andrey Kozhevnikov a écrit
>>>>>>>>>> :
>>>>>>>>>>> its inside build machine. qmake will run
>>>>>>>>>>> lupdate/lrelease from internal path.
>>>>>>>>>>
>>>>>>>>>> Ok, I understand. So I have to start the MerSDK
>>>>>>>>>> virtual machine for lupdate to work.
>>>>>>>>>>
>>>>>>>>>> Then, shouldn't it generate some .ts file in my
>>>>>>>>>> project ? (its the first time I use QT Linguist,
>>>>>>>>>> still learning, thanks for your patience)
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Regards, Franck
>>>>>>>>>> _______________________________________________
>>>>>>>>>> SailfishOS.org Devel mailing list
>>>>>>>>>
>>>>>>>>> _______________________________________________
>>>>>>>>> SailfishOS.org Devel mailing list
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> SailfishOS.org Devel mailing list
>>>>>>
>>>>>> _______________________________________________
>>>>>> SailfishOS.org Devel mailing list
>
>>>> _______________________________________________
>>>> SailfishOS.org Devel mailing list
>>>
>>> _______________________________________________ SailfishOS.org
>>> Devel mailing list
> _______________________________________________ SailfishOS.org
> Devel mailing list
>
>
>
>
> _______________________________________________ SailfishOS.org
> Devel mailing list
>
--
With best regards,
Olekii Serdiuk
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 4813 bytes
Desc: S/MIME Cryptographic Signature
URL: <https://lists.sailfishos.org/pipermail/devel/attachments/20140113/d658f93f/attachment.bin>
More information about the Devel
mailing list