44.2. �������Ա

44.2.1. ����

�����������������PostgreSQL �汾�ij�����߿�����֧�ֱ������ԡ� Ŀǰ��ֻ������ C ���ԣ�

����������� NLS ֧��

  1. ������Ĵ�����뵽����Ŀ�ͷ��

    #ifdef ENABLE_NLS
    #include <locale.h>
    #endif
    
    ...
    
    #ifdef ENABLE_NLS
    setlocale(LC_ALL, "");
    bindtextdomain("progname", LOCALEDIR);
    textdomain("progname");
    #endif

    ������� progname ʵ���Ͽ�������ѡ�񡣣�

  2. �������һ����Ҫ�������Ϣ����ô����Ҫ����һ���� gettext() �ĵ��á�����

    fprintf(stderr, "panic level %d\n", lvl);

    ��ij�

    fprintf(stderr, gettext("panic level %d\n"), lvl);

    �����û������ NLS����ôgettext �ᶨ���һ���޲�������

    ��ô�ɻ����һ�Ѷ�����һ�ֳ��õ���д��

    #define _(x) gettext((x))

    �������ͨ��һ���������������������˴�����ͨѶ�� ��������� elog()�� ��ôҲ����������һ��������Ȼ��������Щ��������������ֵ���ڲ����� gettext��

  3. �ڴ�����Դ�����Ŀ¼���һ���ļ� nls.mk�� ����ļ��������� makefile ��ȡ����������Ҫ������һЩ������ ��ֵ��

    CATALOG_NAME

    ��������֣�������Щ�� textdomain() �������ṩ�ġ�

    AVAIL_LANGUAGES

    �ṩ�ķ���������б� — ��ʼ��ʱ���ǿյġ�

    GETTEXT_FILES

    һ�а����ɷ����ִ����ļ���Ҳ������Щ�� gettext ����������Ӧ�ֶα���˵��ļ������գ����������������еij���Դ�ļ��� ����б�̫��������԰ѵ�һ��"�ļ�"д��һ�� +�͵ڶ�������ɣ��ڶ�������һ���ļ���������ļ���ÿ�а���һ���ļ�����

    GETTEXT_TRIGGERS

    ���ɸ�������ʹ�õ���Ϣ��Ĺ��ߣ��Ա�֪����Щ�������ð����ɷ����ִ��� ȱʡʱֻ֪�� gettext() ���á� �����ʹ���� _ ��������ʶ������ô����Ҫ������������� ����ɷ����ִ����ǵ�һ����������ô������Ҫ���������ʽ�� func:2�����ڵڶ�����������

����ϵͳ���Զ����������Ͱ�װ��Ϣ��

44.2.2. ��Ϣ��дָ��

������һЩ�����д��Ϣ�Ϳ��Լ���Ϣ���뷽���ָ����