Qt Linguist

Post details of freeware that are found to be not portable here. Posts in the submissions forum relating to freeware found to be not portable should also be moved here.
Post Reply
Message
Author
User avatar
Midas
Posts: 6710
Joined: Mon Dec 07, 2009 7:09 am
Location: Sol3

Qt Linguist

#1 Post by Midas »

Qt Linguist is an all-time favorite software translation tool that has been forever plagued by a lack of both discrete Windows download sources and native portability; as it will become evident from the rest of this post, and taking in consideration that most translators aren't skilled programmers, someone taking upon himself the compilation and availability of comprehensive and updated versions of Qt Translation Tools will be providing a priceless service to all the localization communities of countless OSS projects.

Now, I just got aware of an updated v4.8.4 download source, so I'm posting it here for future reference (previously, there was only an obsolete v4.6.0 for Windows and MacOS at http://qt-apps.org/content/show.php/?content=89360, also referenced by Softpedia).

Qt Linguist is part of the multi-platform Qt Development Framework (currently at v5.3, see http://qt-project.org/). For a complete overview of the previous Qt Linguist (the one posted here), check http://qt-project.org/doc/qt-4.8/lingui ... ators.html. Plenty of mentions of the ".ts" Qt native translation format, but Qt Linguist can also easily read the ".po" format from POEdit (GNU Gettext), as well as ".xlf" XLIFF (XML) format files. INI formatted files can be converted with ini2po (http://translate-toolkit.readthedocs.or ... ni2po.html)...

BTW, Qt Linguist native ".ts" file format is documented at http://qt-project.org/doc/qt-4.8/lingui ... ormat.html and the Qt FAQ (http://qt-project.org/faq/answer/does_q ... he_widgets) states this:

In addition we provide the lconvert tool which can be used to create an empty translation file so you can add your own translation for the Qt strings in a language that we don't provide for. To do this do:

lconvert --drop-translations -o qt_untranslated.ts qt_fr.ts

and then it will give you an empty translation file with the Qt strings ready to be translated.

The only thing keeping Qt Linguist from being natively portable is the fact that it keeps its settings in the system registry at 'HKCU\Software\Trolltech\Linguist' (and also creates a file association at 'HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.qph'), both of which can easily be solved with a dedicated launcher.

Image

Download Qt Linguist standalone latest version (v4.8.4) from http://sourceforge.net/projects/tht/files/Other/. This download exists thanks to the developer of the Trader's Home Task project at Sourceforge, a free financial trading OSS.

EDIT: a while ago, Photivo developer (may he be forever blessed for that) made available a package named 'translator-tools-win32.zip', including a non statically compiled Qt Linguist v4.7.0, plus the needed extra 'lconvert.exe' and 'lupdate.exe'; see http://photivo.org/development/translating...

EDIT2: yet another download source for an even more recent version -- each version of OpenOrienteering Mapper available for download from Sourceforge has also a 'translations' folder, where the latest Qt Linguist version is made available for download; no console tools included this time, but these versions have an extra printing capability; e.g., check for latest v5.3.1 at http://sourceforge.net/projects/oorient ... nslations/.
Last edited by Midas on Tue Mar 21, 2017 5:32 am, edited 1 time in total.

User avatar
Midas
Posts: 6710
Joined: Mon Dec 07, 2009 7:09 am
Location: Sol3

Re: Qt Linguist

#2 Post by Midas »

Translation/software localization issues are a recurring theme in the Internet, as can be subsumed from the following debate:
As I stated elsewhere, on account of multiple loss of work events, I'm not very fond of Poedit (see viewtopic.php?t=14506). Portabilized IniTranslator (viewtopic.php?t=396), although not developed anymore, would be my second best choice...

User avatar
deathcubek
Posts: 221
Joined: Thu Jul 14, 2011 9:42 am
Location: Island of Lost Minds

Re: Qt Linguist

#3 Post by deathcubek »

Just for the notes, I have a static build of Qt Linguist v4.8.6 (MSVC 2013) here:

https://sourceforge.net/projects/lamexp ... 0Linguist/

User avatar
Midas
Posts: 6710
Joined: Mon Dec 07, 2009 7:09 am
Location: Sol3

Re: Qt Linguist

#4 Post by Midas »

deathcubek wrote:Just for the notes, I have a static build of Qt Linguist v4.8.6 (MSVC 2013) here:
https://sourceforge.net/projects/lamexp ... 0Linguist/
Thanks for your contribution, deathcubek. :)

User avatar
Midas
Posts: 6710
Joined: Mon Dec 07, 2009 7:09 am
Location: Sol3

Re: Qt Linguist v5.3.2 yaP launcher

#5 Post by Midas »

Midas wrote:keeps its settings in the system registry at 'HKCU\Software\Trolltech\Linguist' (and also creates a file association at 'HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.qph')
Update: after testing Qt Linguist v5.3.2 (from www.sourceforge.net/projects/
oorienteering/files/Mapper/0.5.96/translations/
, settings are now saved to 'HKCU\Software\QtProject'; that file association is still being created... :x

So, here's a configuration file content for a yaP launcher:

Code: Select all

; configuration file for yaP v0.6.0.19 (http://rolandtoth.hu/yaP/)
; application name: Qt Linguist
; version: v5.3.2
; website: 
; https://sourceforge.net/projects/oorienteering/files/Mapper/0.5.96/translations/

[GENERAL]
application = App\linguist.exe

; commandline = 
; workdir = 

[BEFORE]
regkey = HKCU\Software\QtProject

; dir = %Appdata%\Dir
; file = %Appdata%\Dir\File.ini
; regkey = HKCU\Software\RegKey

[AFTER]
-regkey = HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.qph

...

User avatar
giulia
Posts: 531
Joined: Sat Sep 14, 2013 8:09 am

Re: Qt Linguist v5.3.2 yaP launcher

#6 Post by giulia »

Midas wrote:
Midas wrote:keeps its settings in the system registry at 'HKCU\Software\Trolltech\Linguist' (and also creates a file association at 'HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.qph')
So, here's a configuration file content for a yaP launcher:

Code: Select all

; configuration file for yaP v0.6.0.19 (http://rolandtoth.hu/yaP/)
; application name: Qt Linguist
; version: v5.3.2
; website:
; https://sourceforge.net/projects/oorienteering/files/Mapper/0.5.96/translations/

[GENERAL]
application = App\linguist.exe

; commandline = 
; workdir = 

[BEFORE]
regkey = HKCU\Software\QtProject

; dir = %Appdata%\Dir
; file = %Appdata%\Dir\File.ini
; regkey = HKCU\Software\RegKey

[AFTER]
-regkey = HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.qph

...
hi
i'm using the last version and the configuration should be changed a little
in the last version the program doesn't create a HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.qph key at least i can find it
and yes it still creates these key HKCU\Software\QtProject and subkeys ,but the yaP configuration doesn't delete HKCU\Software\QtProject

might you please check it again?
thanks

User avatar
Midas
Posts: 6710
Joined: Mon Dec 07, 2009 7:09 am
Location: Sol3

Re: Qt Linguist

#7 Post by Midas »

Care to share your source for the latest Qt Linguist binaries?

My sources mentioned above are mostly gone, and the only other I could find is for v5.4.2: https://github.com/thurask/Qt-Linguist/releases.

Last release is currently v5.8 -- as can be confirmed in the official changelog: http://doc.qt.io/qt-5/whatsnew58.html.

Also form an official looking forum comes confirmation of the required files for a standalone setup: http://www.qtcentre.org/threads/65106-Q ... -alone-app.

Talking about which, bug 55936 was posted to the official tracker regarding Qt Linguist availability:
I'm mulling that we should head there to advocate for portability, too... :?

Mazarin
Posts: 1
Joined: Sat Apr 15, 2017 3:46 am

Re: Qt Linguist

#8 Post by Mazarin »

Hello guys!

The day before yesterday was the first time I used Qt Linguist 4.6, and quickly got accustomed to it. I now installed ver. 5.4.2 recommended by Midas (Thank you!).
What bothers me with this application is that my translations are not automatically saved in the current phrasebook (this actually is a translation memory, TM, I don't know why the developers didn't use an expression already known by everybody in the translation community) after pressing Ctrl-Enter. This means that I cannot reuse my work for future projects. There is an option of entering source-translation pairs in the phrasebook by pressing Ctrl-T, but this means additional, messy work.
Can this problem be solved somewhat?
Or, in other words, can I quickly populate my phrasebooks with my older TMs (TMX, for example)?

User avatar
Midas
Posts: 6710
Joined: Mon Dec 07, 2009 7:09 am
Location: Sol3

Re: Qt Linguist

#9 Post by Midas »

Hi there, Mazarin, and welcome to the forums. :)

ATM, I can't really answer your query since I have only done light work with Qt Linguist and none of it recently.

The best I can offer is a suggestion to look up Virtaal (discussed at viewtopic.php?t=21718) to see if it is better adapted to your needs... :?

User avatar
rbon
Posts: 361
Joined: Wed Mar 28, 2007 2:16 am
Location: Italy

Re: Qt Linguist

#10 Post by rbon »

Midas wrote: Tue Mar 21, 2017 5:32 am My sources mentioned above are mostly gone, and the only other I could find is for v5.4.2: https://github.com/thurask/Qt-Linguist/releases.
Thurask has publied:
--> the release 5.15.2 (last 32 bit version)
--> the releases of the 6.x.x branch are 64 bit only and which require Windows 10 (with Windows 8.1 you have to try).
I do not have Windows 10 and when I have tried to launch the rel. 6.5.0 I have obtained an error:
this dll is missing and it's not possible launch the program (linguist.exe):
DLL is "api-ms-win-shcore-scaling-[1-1-1.dll"
So this is my yaP launcher for the rel. 5.15.2

Code: Select all

; configuration file for yaP v0.7.1.5 (http://rolandtoth.hu/yaP/)
; application name: Qt Linguist
; version: v5.15.2
; website: https://github.com/thurask/Qt-Linguist/
; require yaPX64 since rel. 6.x.x
;

[GENERAL]
application = App\linguist.exe
; commandline = 
; workdir = 

[BEFORE]
regkey = HKCU\Software\QtProject :: {YAPROOT}\App\Settings\linguist.reg
; dir = %Appdata%\Dir
; file = %Appdata%\Dir\File.ini
; regkey = HKCU\Software\RegKey

[AFTER]
-regkey = HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.qph
-regkey = HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.ts
-regkey = HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.po
-regkey = HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.xlf
....
Other thing is how to start the help file (F1 key)
when You press F1 You obtain this message:
Unable to launch Qt Assistant (C:/Users/thurask/Downloads/qt-everywhere-opensource-src-5.4.2/qtbase/bin\assistant)
I have found this post https://forum.qt.io/topic/51522/solved- ... -assistant, but for Windows You must browse inside
--> Qt Assistant Manual https://doc.qt.io/qt-6/qtassistant-index.html: this help it's only online (but You can easily download the .html file)
--> Using Qt Assistant https://doc.qt.io/qt-6/assistant-details.html (with Command Line Options)

In the end there is my file "Linguist_yaP.zip"
Attachments
Linguist-yaP.zip
(69.34 KiB) Downloaded 331 times
"Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to build bigger and better idiots. So far, the universe is winning." - Rick Cook.

User avatar
rbon
Posts: 361
Joined: Wed Mar 28, 2007 2:16 am
Location: Italy

Re: Qt Linguist

#11 Post by rbon »

QtLinguist Portable has been released at May 1, 2023
• Author: Rusi Dimitrov ('ndd' nick)
• GitHub projerct page: https://github.com/rddim/QtLinguistPortable
• GitHub releases: https://github.com/rddim/QtLinguistPort ... 6.5.0-dev2
• GitHub direct download: https://github.com/rddim/QtLinguistPort ... ne.paf.exe
• PortableApps Forum --> Beta Testing: https://portableapps.com/node/68373

In short:
It has created a paf portable with name: QtLinguistPortable_6.5.0_Dev_Test_2_English_online.paf.exe
--> this online installer perform download from GitHub/thurask repository: both 5.15.2 and 6.5.0 releases
In this online installer it has removed these registry keys:

Code: Select all

• HKCU\Software\QtProject\Linguist
• HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.po
• HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.qm
• HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.qph
• HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.ts
• HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.xlf
There is also another unofficial paf version with name: QtLinguistPortable_6.5.0_Dev_Test_2_Rev1_English_online.paf.exe
that removes also this registry key:
--> HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.ui
download from Mega: https://mega.nz/file/fI40AS6K#SzSShxxor ... c5FTorW01E

Code: Select all

Qt Linguist file extensions and comparison with Poedit:
description                  Qt Linguist    Poedit     note
-------------------------------------------------------------------------------------------------------  
Untranslated Info            UI             POT
Translation Source           TS             PO
Qt Messages                  QM             MO         QM is binary and compressed / MO is only binary
PHrase Book                  QPH            --
XLIFF localization files     XLF            --	
POedit compatibility         PO             PO       

Qt Linguist files are typically XML instead Poedit use text files.

Binary files QM are incompatible with binary MO of Poedit.

Starting from rel. 5.11.0 (Full) Linguist come with 'Translation Tools':
these are Command Line tools

Code: Select all

• lupdate.exe        convert UI files to TS file format
• lrelease.exe       convert TS files to QM binary files 
• lconvert.exe       convert QM files to TS file format (decompile)
How obtain Help from Translation Tools?
from CMD type

Code: Select all

lupdate.exe -help>lupdate_help.txt
lrelease.exe -help>lrelease_help.txt
lconvert.exe -help>lconvert_help.txt

Another (old) Qt Linguist on GitHub is 'qtlinguist-installers'
• GitHub prject page: https://github.com/lelegard/qtlinguist-installers
• GitHub releases: https://github.com/lelegard/qtlinguist- ... ag/v5.12.0
• GitHub direct download: https://github.com/lelegard/qtlinguist- ... 5.12.0.zip
Not tested about portability.

Download and open this archive and browse to:
--> QtLinguist-Standalone-5.12.0.zip\QtLinguist\bin\translations\file_xx.qm
(where xx is the ISO language code: 'it' for Italian, 'de' for German, 'es' for Spanish, 'fr' for French)
.. put selected files in an 'Assistant' subfolder then
--> File --> Open --> subfolder Assistant --> select 'All files' and open the .qm file for your favorite language: for ex. 'qthelp_it.qm'


Tips on Translation Tools are on Stack Overflow:
1. lupdate
https://stackoverflow.com/questions/446 ... e-argument
https://stackoverflow.com/questions/632 ... r-in-linux
2. lrelease
https://stackoverflow.com/questions/632 ... r-in-linux
3. lconvert
https://stackoverflow.com/questions/323 ... to-ts-file


Downloads:
• yaP launchers
Linguist-yaP.zip https://mega.nz/file/SZIzEI7Q#UIysTbRqO ... WotDxZDu_0
Linguist_yaP_32-64.zip https://mega.nz/file/vc4VFYqK#NQTjBlR4x ... WNbviqmhf4
• Language Tools Help
Linguist_CMD_LanguageTools_Help.zip https://mega.nz/file/7UxQQJAI#dZsUb-xE7 ... Uim_qVWDLs
"Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to build bigger and better idiots. So far, the universe is winning." - Rick Cook.

User avatar
Midas
Posts: 6710
Joined: Mon Dec 07, 2009 7:09 am
Location: Sol3

Re: Qt Linguist

#12 Post by Midas »

Excellent write up, rbon, thanks. 8)

Briefly ran "QtLinguistPortable_6.5.0_Dev_Test_2_Rev1_English_online" and it worked allright (didn't check registry, though).

I only wish this info had caught me half a dozen years prior, it would have saved me so many grievances...

User avatar
rbon
Posts: 361
Joined: Wed Mar 28, 2007 2:16 am
Location: Italy

Re: Qt Linguist

#13 Post by rbon »

Midas wrote: Wed May 03, 2023 6:05 am Excellent write up, rbon, thanks. 8)
You're welcome.
Midas wrote: Wed May 03, 2023 6:05 am I only wish this info had caught me half a dozen years prior, it would have saved me so many grievances...
Unfortunately these infos is quite recent, it was not available 6 years ago.

Additional resource about Qt Linguist:
• keyboard shortcuts --> site Defkey,com: https://www.defkey.com
--> Qt Linguist 5.13 keyboard shortcuts: https://defkey.com/qt-linguist-shortcuts
--> Qt Linguist 5.13 cheat sheet: https://defkey.com/qt-linguist-shortcut ... 111T191046
• Softpedia review: https://www.softpedia.com/get/Others/Ho ... uist.shtml
"Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to build bigger and better idiots. So far, the universe is winning." - Rick Cook.

Post Reply