Arch manual pages

BINDTEXTDOMAIN(3) Library Functions Manual BINDTEXTDOMAIN(3)

bindtextdomain - 設置 包括 消息條目 的 路徑

#include <libintl.h>

char * bindtextdomain (const char * domainname, const char * dirname);

bindtextdomain 函數 的 作用 是 設置 指定消息域 裏,包含 消息條目 (message catalog) 的 基本目錄 層次結構。

一個 消息域 是 一套 可翻譯的 msgid 消息。 通常, 每一個 軟件包 有 它自己的 消息域。 提出 bindtextdomain 的 需求 是因爲 軟件包 安裝 的 時候,並不總和 <libintl.h> 頭文件 和 libc/libintl 庫文件 的前綴 保持一致.

消息條目 期望的 路徑名 是 dirname/locale/category/domainname.mo, 其中 locale 是 locale 名, 而 category 是 locale 面, 如 LC_MESSAGES.

domainname 必須 是 非空字符串。

如果 dirname 不是 NULL, 屬於 domainname 域 的 消息條目 的 基本目錄 被設置爲 dirname。 函數 能夠 複製 參數字符串。 如果 程序 希望 調用 chdir 函數, dirname 必須 是 絕對路徑名; 否則 程序 無法 保證 找到 消息條目。

如果 dirname 是 NULL, 函數 返回 以前 爲 domainname 域 設置的 基本目錄。

如果成功, bindtextdomain 函數 返回 當前 domainname 域 的 基本目錄, 如果 改變了 基本目錄, 返回 改變後的 基本目錄。 返回的 字符串 一直 有效, 直到 下一次 對 同一個 domainname 調用 bindtextdomain; 這個 字符串 不應該 被修改 或 釋放。 如果 發生 內存分配錯誤, errno 設置爲 ENOMEM, 然後 返回 NULL.

下列 錯誤 可能 發生, 包括 其它的:
ENOMEM
沒有 足夠的 內存 可用。

返回類型 應該是 const char *, 但是 爲了 避免 較早版本 ANSI C 代碼 的 警告, 返回類型 是 char *.

gettext(3), dgettext(3), dcgettext(3), ngettext(3), dngettext(3), dcngettext(3), textdomain(3), realpath(3)

Viamu <viamu@msn.com>

2003/11/28

Xuming <xuming@users.sourceforge.net>

http://cmpp.linuxforum.net

本頁面中文版由中文 man 手冊頁計劃提供。
中文 man 手冊頁計劃:https://github.com/man-pages-zh/manpages-zh
May 2001 GNU gettext 0.10.38