[PyQt] pylupdate5: qml: Parse error in UI file

Sylvia van Os iamsylvie at openmailbox.org
Mon Apr 10 16:07:02 BST 2017


On 02/04/17 17:09, Sylvia van Os wrote:
> On 02/04/17 13:24, Hans-Peter Jansen wrote:
>> On Sonntag, 2. April 2017 09:54:05 Phil Thompson wrote:
>>> On 2 Apr 2017, at 1:45 am, Sylvia van Os <iamsylvie at openmailbox.org> 
>>> wrote:
>>>> Hey everyone,
>>>>
>>>> I started working on making my Python app translatable in
>>>> https://github.com/Pext/Pext/tree/i18n but I'm running into an 
>>>> issue with
>>>> pylupdate5.
>>>>
>>>> Specifically, when inside the pext directory and running "pylupdate5
>>>> __main__.py qml/* -ts i18n/nl.ts" to try to create a Dutch translation
>>>> file in the i18n directory, I get the following error output:
>>>>
>>>> XML error: Parse error at line 1, column 1 (error occurred while 
>>>> parsing
>>>> element). AboutDialog.qml: Parse error in UI file
>>>> XML error: Parse error at line 1, column 1 (error occurred while 
>>>> parsing
>>>> element). main.qml: Parse error in UI file
>>>> XML error: Parse error at line 1, column 1 (error occurred while 
>>>> parsing
>>>> element). ModuleData.qml: Parse error in UI file
>>>>
>>>> Would anyone have a clue why this happens? I couldn't find anything
>>>> online, and it doesn't seem related to the translations itself because
>>>> ModuleData.qml doesn't contain a single translatable string. The 
>>>> QML also
>>>> loads just fine in the app itself, so the QML is definitely valid.
>>> pylupdate doesn't support .qml files.
>> @Audience: Does the QML infrastructure support i18n itself, and if 
>> yes, does
>> it share the Qt i18n setup?
>>
>> @Sylvia: i18n is a hydra with many heads - I'm always astonished 
>> about the
>> state of affairs in this regard, when I had to leave PyQt land.
>>
>> Pete
> Yes, QML supports i18n and shares the same setup, see 
> https://doc.qt.io/qt-5/qtquick-internationalization.html#localizing-your-application.
>
> If you try "lupdate-qt5 qml/* -ts i18n/nl.ts" in the pext directory of 
> the repository I linked, you will see that all QML files do get parsed 
> correctly.
>
> Right now, the best bet for apps like mine seems to be using pylupdate 
> for the Python file and lupdate-qt5 for the qml files, letting them 
> both create a different output file, and then merging them together as 
> described on http://stackoverflow.com/a/8527556.
So, to anyone who may try to go this way: stop. It ends in tears. Trust me.

I will probably just wait and hope pylupdate will one day support QML 
(is there some roadmap anywhere?). If not, well, my app will probably 
have to stay English-only until the end of time.


More information about the PyQt mailing list