[PyQt] pylupdate5: qml: Parse error in UI file
Sylvia van Os
iamsylvie at openmailbox.org
Sun Apr 2 16:09:53 BST 2017
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.
More information about the PyQt
mailing list