В сообщении от Monday 21 September 2020 22:15:42 Phyllis Smith via Cin написал(а):
Dumb question here -- did you make the corresponding code changes?
No :} I was hoping just changing .po file will be enough ....
For example int plugins/crikey/crikeywindow.C, there is this line to make it all work: CriKeyDelPoint::CriKeyDelPoint(CriKeyWindow *gui, CriKey *plugin, int x, int y) : BC_GenericButton(x, y, xS(80), *C_("Del")*)
On Mon, Sep 21, 2020 at 12:32 PM Andrew Randrianasulu via Cin < [email protected]> wrote:
В сообщении от Monday 21 September 2020 20:38:38 Phyllis Smith via Cin написал(а):
Andrew,
I translated Del as Удалить yet this word appear in dropdown menu (Edit->Clear-> Clear (Del) ... ) in main window, where (I think) it shouldn't be translated. Can this be fixed by marking it as untraslatable?
Yes, for example look in ru.po to see how the following are handled + look at the code since a small code change is needed as explained below. It is easy to change and we did this at the request of IgorUbuntu as needed in the past. But of course, you can supply the patch yourself.
sketcherwindow#Del tracerwindow#Del crikeywindow#Del
Like I did in attached file? (it seems to work, but I hope in other instances it remain translated). Ah, no, in Shell Commands window Del also remain Del (and not "Удалить")
I tried to make two spearate sections in po file, but it doesn't work either ....
#: cinelerra/binfolder.C:1635. #: cinelerra/shbtnprefs.C:172 msgid "Del" msgstr "Удалить"
#: cinelerra/mainmenu.C:1012 msgid "mainmenu.C#Del" msgstr ""
This is documented in the Manual in the Translation chapter but it is a little difficult to comprehend -
NOTE: some words and abbreviations can lead to ambiguous language trans- lations. Therefore, the usage of C_ and D_ in the program code was added to represent Contextual and Definitional exceptions to the usual _ and N_ . You will see the following:
C_(“msgstr”) is translated to D_(“qual#msgstr”) by xlat.sh, and invokes get- text with msgid = “qual#msgstr”
When no po translation is supplied, the qual# is removed, and only the default msgstr text is displayed. If a po translation is defined for the current locale, then
the translated msgid = “qual#msgstr” is used to access the translated msgstr.
The default MSGQUAL is the basename of the C source file. For the file src_file.C,
the default MSGQUAL is:
# define MSGQUAL “src_file”
It is used to define the qualifier needed to transform:
C_(“str”) to D_(“src_file#str”)
The resulting xlat.sh’d source is scanned by xgettext to create the initial cin.po. In other words:
_(s) does normal international text translation as always -
The msgid line is: msgid “s”
C_(s) makes it appear as if you used D_(“src_file#” s) -
The msgid line is: msgid “src_file#s” If it does not translate, the default msgtext is “s”, not “src_file#s”
D_(qual#s) tries to look up _(qual#s).
-- Cin mailing list [email protected] https://lists.cinelerra-gg.org/mailman/listinfo/cin