blob: 1e5259d3363d2fce1f191986e4b9f3a9242e4194 [file] [log] [blame]
<html lang="en">
<head>
<title>Message catalogs a la X/Open - The GNU C Library</title>
<meta http-equiv="Content-Type" content="text/html">
<meta name="description" content="The GNU C Library">
<meta name="generator" content="makeinfo 4.13">
<link title="Top" rel="start" href="index.html#Top">
<link rel="up" href="Message-Translation.html#Message-Translation" title="Message Translation">
<link rel="next" href="The-Uniforum-approach.html#The-Uniforum-approach" title="The Uniforum approach">
<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
<!--
This file documents the GNU C library.
This is Edition 0.12, last updated 2007-10-27,
of `The GNU C Library Reference Manual', for version
2.8 (Sourcery G++ Lite 2011.03-41).
Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2001, 2002,
2003, 2007, 2008, 2010 Free Software Foundation, Inc.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
any later version published by the Free Software Foundation; with the
Invariant Sections being ``Free Software Needs Free Documentation''
and ``GNU Lesser General Public License'', the Front-Cover texts being
``A GNU Manual'', and with the Back-Cover Texts as in (a) below. A
copy of the license is included in the section entitled "GNU Free
Documentation License".
(a) The FSF's Back-Cover Text is: ``You have the freedom to
copy and modify this GNU manual. Buying copies from the FSF
supports it in developing GNU and promoting software freedom.''-->
<meta http-equiv="Content-Style-Type" content="text/css">
<style type="text/css"><!--
pre.display { font-family:inherit }
pre.format { font-family:inherit }
pre.smalldisplay { font-family:inherit; font-size:smaller }
pre.smallformat { font-family:inherit; font-size:smaller }
pre.smallexample { font-size:smaller }
pre.smalllisp { font-size:smaller }
span.sc { font-variant:small-caps }
span.roman { font-family:serif; font-weight:normal; }
span.sansserif { font-family:sans-serif; font-weight:normal; }
--></style>
<link rel="stylesheet" type="text/css" href="../cs.css">
</head>
<body>
<div class="node">
<a name="Message-catalogs-a-la-X%2fOpen"></a>
<a name="Message-catalogs-a-la-X_002fOpen"></a>
<p>
Next:&nbsp;<a rel="next" accesskey="n" href="The-Uniforum-approach.html#The-Uniforum-approach">The Uniforum approach</a>,
Up:&nbsp;<a rel="up" accesskey="u" href="Message-Translation.html#Message-Translation">Message Translation</a>
<hr>
</div>
<h3 class="section">8.1 X/Open Message Catalog Handling</h3>
<p>The <code>catgets</code> functions are based on the simple scheme:
<blockquote>
Associate every message to translate in the source code with a unique
identifier. To retrieve a message from a catalog file solely the
identifier is used.
</blockquote>
<p>This means for the author of the program that s/he will have to make
sure the meaning of the identifier in the program code and in the
message catalogs are always the same.
<p>Before a message can be translated the catalog file must be located.
The user of the program must be able to guide the responsible function
to find whatever catalog the user wants. This is separated from what
the programmer had in mind.
<p>All the types, constants and functions for the <code>catgets</code> functions
are defined/declared in the <samp><span class="file">nl_types.h</span></samp> header file.
<ul class="menu">
<li><a accesskey="1" href="The-catgets-Functions.html#The-catgets-Functions">The catgets Functions</a>: The <code>catgets</code> function family.
<li><a accesskey="2" href="The-message-catalog-files.html#The-message-catalog-files">The message catalog files</a>: Format of the message catalog files.
<li><a accesskey="3" href="The-gencat-program.html#The-gencat-program">The gencat program</a>: How to generate message catalogs files which
can be used by the functions.
<li><a accesskey="4" href="Common-Usage.html#Common-Usage">Common Usage</a>: How to use the <code>catgets</code> interface.
</ul>
</body></html>