Don't translate it Nadezhda,
All those students in compiler technology gonna work in Western-
Europe or North-America anyway,
so they better practice the English a bit, instead of trying to
translate it to unreadable text.
On Dec 13, 2011, at 2:38 PM, Nadezhda Ivanоvna Vyukova wrote:
Hello, members of GCC development team!
I am involved in support of customers who use GCC.
Recently a customer has complaint that gcc-4.1.2
does not translate to Russian some messages, e.g:
../DefUser.h:154: ошибка: expected identifier or '(' before
numeric constant
../DefUser.h:49: ошибка: expected declaration specifiers or
'...' before
numeric constant
../DefUser.h:49: ошибка: expected identifier or '(' before '}'
token
../wizard.c:7: ошибка: expected declaration or statement at
end of
input
I have explored the reasons of the problem and found out the
following.
1. Messages issued with functions c_parser_require,
c_parser_require_keyword, c_parser_skip_until_found (c-parser.c)
are not present in gcc/po/gcc.pot. I've run make gcc.pot,
but they were still absent.
(IMO this problem was solved in later versions of gcc.)
2. But even when I added these messages to ru.po
the listed above error messages were still not translated.
That's because the function c_parse_error (in c-common.c)
calls "error (message)" where "message" is concatenation of two
strings.
Even if each string is present in a PO file their concatenation
cannot be translated.
3. I have tried to use _() for both substrings being catenated
in c_parse_error but this gave a wrong output even with LC_ALL=C.
Best regards,
Nadezhda Vyukova,
Scientific Research Institute of System Analysis,
RAS