Updated script to create Audacity.pot with Project-Id-Version
of audacity 2.3.2 and to update the Project-Id-Version in the po files too.
Ran script so as to apply it.
... Easily done with the following command.
ls *.po | xargs -t -n1 -I {} msgmerge -U --previous --add-location=file {} audacity.pot
Resulting files will have all the blanks to be filled in by the translators for
new messages.
--previous keeps the old msgids in comments, for which matches were only fuzzy,
as an aid to the translator.
--add-location=file includes file names only in comments, omitting line
numbers. If done again next time the files merge, then this will lessen the
diffs.
The results may include commented-out obsolete messages at the end, which
start with #~
At translator's discretion, these may be discarded when no longer helpful with
this command, substituting your filename twice for xx.po:
msgattrib -o xx.po --no-obsolete xx.po
Also updated POTFILES.in to include more src files.
Some of the 'new' files include MenusMac.cpp, ScrubbingToolBar, OverlayPanel.
Also the order is now correctly alphabetical within each directory.
This changes the way "unofficial" Inno Setup translations
are handled.
The first time a user compiles the .iss, the "unofficial" translations
will be downloaded to:
C:\Program Files (x86)\Inno Setup 5/Languages/unofficial
Any translations supported by Audacity that do not have an Inno
translation will be automatically created from the Default.isl in:
C:\Program Files (x86)\Inno Setup 5/Languages/dummy
This is all handled by the Inno Preprocessor. Powershell is used
to do the actual download.
Once downloaded, they will not be downloaded again, so if updates
are made, they will need to be deleted from the above directories
and allowed to download again.
In addition, I extracted the "Reset Preferences" translations from
the Audacity .po files and added them to the .iss file.
Audacity private Inno translation files are still supported in
win/InnoSetupLanguages, but I've removed the samples I'd previously
committed.
While not exactly related to this change, there were 2 languages
that weren't being set properly after being selected during
installation:
ca@valencia (Valencian)
bs (Bosnian)
The reason Valencian wasn't be displayed in preferences was twofold.
It was incorrectly named and the search loop in Languages:GetLanguages()
didn't include a range sufficient enough to pull the Valencian info.
The Bosnian language is supported by wxWidgets 2.8.12 (it is in wx3)
so, even though we have a translation, it was unavailable for
selection.
The changes required to fix those issues were:
1) Renamed ca@valencia to ca_ES@valencia
2) Instead of iterating over all wxWidgets languages and trying to
match them with our translations, I reversed it. It now iterates
over our translations and asks wxWidgets for the associated
language info. This provides support for both of the above
languages.
3) By doing #2, we are now able to add additional user languages that
may not yet be supported by wxWidgets. So, I added the Bosnian
language info.