Thread moved here from the private ORTS development forum so it can benefit a wider range of translators who do not necessarily have access to the private forum.
Hi Guys,
I recently had the Appveyor CI build (as well as the manually initiated DLL-compilation via update-DLL.bat) fail on an update to the German translations. Carlo kindly helped me identify the culprit and the complete "discussion" (mostly my findings in chronological order) can be found in PR #211 @ GitHub.
In a nutshell, what happened is...
- The German translations have not been extensively updated since 2016, which I have slowly been correcting since March.
- Since then, a new Version of POedit has been released which includes a new feature that also displays the old version of a string or translation in case such str / trl is changed in the code (if more explanation is needed, pls just leave a note :) )
- Said previous version of a string / translation is saved in the PO files with a "#|" prefix, like this:
OLD VERSION msgid "Ejector"
NEW VERSION: #| msgid "Ejector" msgid "LargeEjector"
- Any attempt to compile locale DLL files from PO files containing such an entry fails (both th Appveyor CI build and the manually-initiated update-DLL.bat method fail or stall).
- Manually removing all those entries cures the problem.
- Those lines are a good help for translators, though, so keeping them would be cool. Also, manually removing them can be a real PITA.
- Even when they have been removed, subsequent updated of the PO files are likely to re-introduce similar entries since I have not (yet) been able to stop POedit creating them.
What could there be done to work around this problem?
Cheers, Markus
PS: The Problem has only surfaced now since no strings seem to have changed in the modules whose translations I already updated so far - note, POedit has not been updated since I started these efforts.