Uma mesma expressão pode ser traduzida de diferentes formas, dependendo do contexto. O GNOME já tinha seu jeitinho de especificar o contexto das mensagens originais, mas daqui para frente o GNOME deverá usar o msgctxt do GNU Gettext. Assim ficará ainda mais fácil entender o contexto das mensagens originais, e estaremos usando o mesmo recurso adotado (acho) pelo KDE 4.
Hoje em dia, os catálogos de mensagem do GNOME podem especificar o contexto da mensagem original no começo da própria mensagem. O contexto é descrito antes de uma barra vertical (pipe), e o tradutor deve omitir o contexto e a barra na mensagem traduzida. Isso está longe de ser intuitivo, e de vez em quando gera erros. Por isso mesmo, os desenvolvedores costumam avisar tradutores novatos através de comentários, como nesse exemplo da tradução do GTK+:
#. translators, strip the prefix up to and including the first |
#: gtk/gtkprintoperation.c:1509
msgid "print operation status|Printing"
msgstr "Imprimindo"
A tradução do KDE também tem suas peculiaridades, entre elas a maneira de especificar o contexto. Os catálogos de mensagem do KDE também indicam o contexto no começo da mensagem original, como no exemplo abaixo, extraído da documentação oficial:
#: kdeui/kstdaction.cpp:669
msgid ""
"_: beginning (of line)\n"
"&Home"
msgstr "&Dateianfang"
Essa divergência existe porque o GNU Gettext só incorporou suporte a contexto na versão 0.15, em julho de 2006. Hoje ele até tem suporte à sintaxe de contexto do GNOME, mas a sintaxe de contexto do próprio Gettext é bem mais limpa e fácil de entender. Para ilustrar, vou reescrever os exemplos acima com essa nova sintaxe. No caso do GNOME, a tradução do GTK+ ficaria assim:
#: gtk/gtkprintoperation.c:1509
msgctxt "print operation status"
msgid "Printing"
msgstr "Imprimindo"
E no caso do KDE, o exemplo ficaria assim:
#: kdeui/kstdaction.cpp:669
msgctxt "beginning (of line)"
msgid "&Home"
msgstr "&Dateianfang"
Muito melhor, não? Lucas Rocha já tinha dito que o GNOME 2.22 vai arrasar; como tradutor, imagino que as próximas versões serão ainda melhores!
Para mais informações sobre suporte a contexto no Gettext, leia as páginas GNU info sobre o formato do catálogo de mensagens, e sobre como implementar contexto em código C. O wiki do Ubuntu Brasil também tem um Guia do Catálogo de Mensagens.
Que ótima notícia. Como algo relativamente simples vai fazer uma grande diferença no final!
Como não pensaram (ou não fizeram) n/isso antes?
Muito bacana, acredito que deve melhorar bastante a ação de traduzir. Concordo com o Vladimir Melo.