Wireshark-dev: Re: [Wireshark-dev] Localization problem with UTF entities
From: Thomas Wiens <th.wiens@xxxxxx>
Date: Thu, 24 Mar 2016 22:43:50 +0100
found out that changing the entry in "wireshark_de.ts" to:
<source>Check for Updates…</source>
still does the job.

I have missed the point to regenerate the .qm file, calling lrelease
program from Qt directory.

But the .ts files are automatically generated by lupdate from the
cpp-sourcefiles. So manually adding the "…" into the .ts file(s) is not
a solution.
I think there are at least two solutions:

1) Before calling lupdate use scripting/temporary files and replace <"
UTF8_HORIZONTAL_ELLIPSIS> with <"…">, and all other UTF8 entities used
in the .cpp sourcefiles.

2) Move the UTF chars outside from tr(). E.g. replace:

QAction *update_action = new QAction(tr("Check for Updates"
UTF8_HORIZONTAL_ELLIPSIS), main_ui_->menuHelp);

with:

QAction *update_action = new QAction(tr("Check for Updates") +
UTF8_HORIZONTAL_ELLIPSIS, main_ui_->menuHelp);

and all other occurrencies of UTF8 entities, with the disadvantage of
string concatenation during runtime.
For any reason, changing the language does only affect this entry when
wireshark is restarted. All other texts change immediately.


I think 1) is the better solution, as lupdate is not called during the
msbuild process as far as I can see.
Who does this job (calling update-tx) to sync with Transifex and
generate the .ts / .qm files?

-- 
Thomas