Qual é a convenção de nomenclatura para o nome abreviado do ngettext?

1

gettext.gettext é importado como _ :

from gettext import gettext as _

É alguma convenção de nomenclatura, certo? Qual é o equivalente para gettext.ngettext? __ ?

    
por int_ua 05.07.2012 / 14:45

1 resposta

2

Eu vi P_ (suponho que a letra P significa plural) usada algumas vezes, mas parece que não há um acordo geral ou um padrão definido para um atalho para as strings plurais para traduções em gettext.

Geralmente esses atalhos ou macros são usados em C e vêm do GLib, então eles não são atalhos padrão do Gettext, mas eles se tornaram um padrão de fato para programas que usam o GLib. Eles geralmente são definidos no arquivo /usr/include/glib-2.0/glib/gi18n.h e explicados em detalhes nos documentos da API de internacionalização para o GLib .

Existem definições para _ (gettext), Q_ (contexto), C_ (contexto), N_ (marca apenas para tradução) e NC_ (marca apenas para tradução, com contexto) , mas não P_

Em qualquer caso, em Python você precisará definir os atalhos por conta própria, mas seria bom manter a mesma convenção de nomenclatura, pelo bem da consistência.

No entanto, pareço lembrar que o intltool não reconhece o atalho P_ por padrão, portanto, como ngettext não é usado tão frequentemente quanto gettext, você pode querer apenas usar o nome real da função e não um atalho. / p>

Se você ainda quiser usar um atalho, e ele não for suportado pelo intltool, você precisará dizer ao intltool para usá-lo, o IIRC através da variável XGETTEXT ou através do uso de um arquivo Makevars . / p>     

por David Planella 05.07.2012 / 19:27