Perl falha ao definir localidade no AIX 7.1

2

Depois de definir o idioma do usuário para chinês com a codificação GB18030 no SMIT, o a seguinte variável env foi adicionada ao usuário .profile :

LANG=Zh_CN
LC_MESSAGE=%l.%c
NLSPATH=/usr/lib/nls/msg/%L/%N:/usr/lib/nls/msg/%l.%c/%N:/usr/lib/nls/msg/%L/%N.cat.....

Mas quando eu executo o perl, ele me avisa:

perl: warning: setting locale failed.
perl: warning: Please check that your locale settings:
     LC_ALL = (unset),
     LC_FASTMSG = "true"
     LC_MESSAGE = "%l.%c"
     LANG = "Zh_CN"

Como consertar isso?

    
por CaiNiaoCoder 28.11.2014 / 01:43

1 resposta

1

Uma parte da documentação que encontrei diz apenas:

LC_MESSAGES

    Specifies the locale to use for LC_MESSAGES category information. The
    LC_MESSAGES category determines rules governing affirmative and
    negative responses and the locale (language) for messages and menus.

Não consegui encontrar nenhuma documentação que mencionasse que "% l.% c" (presumivelmente para "locale" e "charset"?) são aceitáveis. Pode ser uma boa ideia tentar definir LANG e LC_MESSAGES como zh_CN em vez de seus valores atuais (observe o caso).

 LC_FASTMSG = "true"
 LC_MESSAGE = "%l.%c"

Esses dois aparecem não documentados; de acordo com a documentação que eu criei acima, os nomes próprios são LC__FASTMSG (dois underscores) e LC_MESSAGES (plural).

    
por 04.05.2015 / 19:48

Tags