... This includes functions callable from Nyquist but not yet any examples
of strings with context in any .ny files.
This does include some examples of strings with context, and with both plurals
and context, in C++ files. It is not intended to fix possible ambiguities
exhaustively.
Note that wxWidgets 3.1.1 is sufficient to support contexts.
If Audacity is build with wxWidgets 3.0, it will run, but strings with
context will fail to translate.
... also restore the intended meaning of "allowDup" (for debugging checks only),
which had never been properly implemented because the label, not the
accelerator, was scanned for it; see commit f2f7568
I'm not sure exactly when the Window menu started working again,
but when built with wx313, the system provides the Window menu
just fine on all OSX versions from 10.7 - 10.15.
... and recompute popup menu tables that depend on preferences.
The code for labels in the rulers was unsatisfactory because
(1) rescanning and editing the post-translation strings is a hack to avoid, and
(2) separating the hints like "Shift-Left-Click" with a tab character made them
invisible on Mac. So instead, append strings like " (Shift-Left-Click)"
... Don't concatenate strings just to compare. Just do easy tuple comparisons.
Results might be different in case one plugin's symbol name, vendor, or family
is a prefix of the other one's.
... Work reamained for effect presets, and for file dialogs made from Nyquist
scripts. The four Nyquist scripts using file dialogs were rewritten in a new
format.
This keeps strange characters like | and * out of the strings given to
translators. Instead there are only descriptions of file types.
Also fixed a bug in static initialization of tables of file types, and removes
inclusions of wx/filedlg.h, and the last uses of class wxFileDialog.
... That is, present translators with msgids containing only the descriptions
of the file types. No punctuation.
This eliminates the last wxFileDialog, replacing it with FileDialogWrapper.