PostgreSQL 9.1.5ʸ�� | ||||
---|---|---|---|---|
前のページ | 巻戻し | 第 48章¿���쥵�ݡ��� | 早送り | 次のページ |
����Ǥϡ�PostgreSQL����ʪ�ΰ����Ǥ���ץ�������饤�֥��ˤ�����ƹ�쥵�ݡ��Ȥμ�����ˡ���������ޤ��� ���ߤ�C�ץ������ˤΤ�Ŭ�ѤǤ��ޤ���
�ץ�������NLS���ݡ��Ȥ��ɲä���
�ץ������ε�ư�����˰ʲ��Υ����ɤ��ɲä��Ƥ���������
#ifdef ENABLE_NLS #include <locale.h> #endif ... #ifdef ENABLE_NLS setlocale(LC_ALL, ""); bindtextdomain("progname", LOCALEDIR); textdomain("progname"); #endif
��progname�ϼºݤˤϼ�ͳ������Ǥ��ޤ�����
�ɤ��Ǥ������������θ���Ȥʤ��å����������Ĥ��ä��顢gettext()
�θƤӽФ����ɲä����ɬ�פ�����ޤ���
�㤨�С�
fprintf(stderr, "panic level %d\n", lvl);
�ϡ����Τ褦���ѹ�����ޤ���
fprintf(stderr, gettext("panic level %d\n"), lvl);
��NLS���ݡ��Ȥ��Ȥ߹��ޤ�Ƥ��ʤ���硢gettext�ϥΡ����ڥ졼�����̿��Ȥ����������ޤ�����
����Ϻ��𤷤����ˤʤ�ޤ�������Ū�ʥ��硼�ȥ��åȤϰʲ��Τ�ΤǤ���
#define _(x) gettext(x)
¾�β����ˡ�ϡ��Хå�����ɤˤ�����ereport()
�Τ褦�ˡ����Υץ�����ब�̿��ΤۤȤ�ɤ�1�Ĥޤ��Ͽ��Ĥδؿ��ǹԤäƤ�����ͭ���Ǥ���
���ξ�硢���δؿ������������Ƥ�����ʸ������Ф�gettext
��ƤӽФ��褦�ˤ��뤳�Ȥˤʤ�ޤ���
�ץ������Υ������Τ���ǥ��쥯�ȥ��nls.mk���ɲä��Ƥ��������� �����makefile�Ȥ����ɤޤ�ޤ��� �ʲ����ѿ��ؤ������������ꤹ��ɬ�פ�����ޤ���
textdomain()
�θƤӽФ��˻��Ѥ����ץ������̾�Ǥ���
�Ѱդ��줿�����Υꥹ�ȤǤ������϶��Ǥ���
������ǽʸ�����ޤ�ե�����ΰ����Ǥ���
�Ĥޤꡢ������gettext
�⤷����¾�β��ˡ�Ȥ��ư����դ����ޤ���
��ɡ�����ϥץ������ΤۤȤ�����ƤΥ������ե������ޤळ�Ȥˤʤ�ޤ���
���ΰ��������ޤ��Ĺ���ʤ��硢�ǽ��"file"��+�Ȥ���2���ܤ�ñ���1�Ԥ��Ф���1�ĤΥե�����̾����ä��ե�����Ȥ��뤳�Ȥ��Ǥ��ޤ���
�����Ԥ���Ȥ�Ԥ���ǡ��ɤδؿ��ƤӽФ���������ǽʸ�����ޤफ���Τ�ɬ�פ�����줿���ˡ���å�����������������������ġ���Ǥ���
�ǥե���ȤǤϡ�gettext()
�ƤӽФ��Τߤ�ǧ�����ޤ���
_
��¾�μ��̻Ҥ���Ѥ�����硢�����˵��ܤ��ʤ���Фʤ�ޤ���
������ǽʸ�����κǽ�ΰ����ǤϤʤ���硢���ι��ܤϡ��㤨��2���ܤΰ����ξ���func:2�Ȥ��������Ǥʤ���Фʤ�ޤ���
ʣ������å������ݡ��Ȥ���ؿ��������硢���ι��ܤϡ�ñ��������ʣ������å��������������ꤹ���func:1,2�Τ褦�ˤʤ�ޤ���
�ӥ�ɥ����ƥ�ϡ���ưŪ�˥�å��������������ι��ۤ���ӥ��ȡ����Ԥ��ޤ���
��å��������������ñ�ˤ��뤿��˰ʲ��˻ؿˤ��Ĥ������ޤ���
�ʲ��Τ褦�˼¹Ի���ʸ�Ϥ��ۤ��뤳�ȤϤ��ʤ��Ǥ���������
printf("Files were %s.\n", flag ? "copied" : "removed");
ʸ�����ñ��ν��֤ϸ���ˤ�äưۤʤ��ǽ��������ޤ���
��������Ƥ��ǾϤ��Ф���gettext()
��ƤӽФ����Ȥ�Ф��Ƥ����Ȥ��Ƥ⡢�ǾϤ����̤�Ū�Τ����������櫓�ǤϤ���ޤ���
���줾��Υ�å�����������Ĵ�¤�����������뤫�ɤ���������äȤ��������ɤ�ʣ�����Ѱդ���Ȥ褤���⤷�ޤ���
�ֹ桢�ե�����̾������Ӽ¹Ի��ѿ��Τߥ�å������ƥ����Ȥ˼¹Ի�����������٤��Ǥ���
Ʊ�ͤ���ͳ�ǡ��ʲ����꤯�����ޤ���
printf("copied %d file%s", n, n!=1 ? "s" : "");
�����ʣ�������ɤΤ褦�˷�������뤫����Ƥ����äƤ��뤫��Ǥ��� �⤷���ʲ��Τ褦�ˤ��Ʋ���Ǥ����ȹͤ���ȡ�
if (n==1) printf("copied 1 file"); else printf("copied %d files", n):
��˾���뤳�Ȥˤʤ�ޤ��� �������ˤϡ����äε�§�ˤ�ä�2�İʾ�η����ˤʤ��Τ⤢��ޤ��� �������Τ���뤿�ᤳ�Υ�å��������߷פ��뤳�Ȥ������Ǥ������Ȥ��аʲ��Τ褦�ˤ��ޤ���
printf("number of copied files: %d", n);
Ŭ�ڤ�ʣ��������ĥ�å��������ۤ������������˻פ��Τʤ顢������Ф��륵�ݡ��Ȥ�����ޤ�����¿�����Ǥ���
ereport()
��μ礿�롢�ޤ��Ͼܺ٤ʥ��顼��å����������������硢�ʲ��Τ褦�˽��Ȥ��Ǥ��ޤ���
errmsg_plural("copied %d file", "copied %d files", n, n)
�ǽ�ΰ����ϱ�ʸ��ñ������Ŭ�ڤʽ�ʸ����ǡ������ܤϱ�ʸ��ʣ������Ŭ�ڤʽ�ʸ�������ƻ����ܤϤɤ�ʣ��������Ѥ���Τ�����ꤹ�����������ͤǤ�������³�������Ϥ��Ĥ�Τ褦�˽�ʸ������˽�����ޤ������̾ʣ���������ͤϽ������٤��ͤ���Σ��ĤǤ����˱Ѹ�Ǥ�n�����Ǥ��뤫�������Ǥʤ����Τ߽��פǤ�����¾�θ���ǤϿ�¿����ʣ����¸�ߤ��ޤ��� �����Ԥˤϥ��롼�פȤ��ƣ��Ĥα�ʸ�Ȥ���n�μ¹Ի����ͤ˴�Ť��������Ŭ�ڤʣ��ĤǤ�äơ�ʣ��������ʸ����뤹�뵡����ޤ���
errmsg
���뤤��errdetail
����ľ�ܹԤ��ʤ�ʣ������å�������ɬ�פǤ���С����Ԥδؿ���ngettext
����Ѥ���ɬ�פ�����ޤ���
gettext�Υɥ�����ȤȤ��Ƥ���������
��å�������ɤΤ褦��¾�ν��Ϥȹ�碌��ͽ��ʤΤ��ʤ������ԤȲ���Ϣ������礤������硢translator�ǻϤޤ륳���Ȥ�ǽ���դ��Ƥɤ��ʤ뤫���Τ餻�Ƥ��������� �ʲ��Τ褦�ˤ��ޤ���
/* translator: This message is not what it seems to be. */
�����Υ����Ȥϥ�å��������������˥��ԡ�����ޤ��Τ������Ԥϻ��ȤǤ��ޤ���