lyx_mirror/src/gettext.h
Georg Baum 83525c9570 Don't crash anymore if an .ui file contains unicode labels
* src/gettext.[Ch]
	(translateIfPossible): new function to translate stuff that might
	already be in the native language

	* src/MenuBackend.C
	(Menu::read): Use translateIfPossible for item names and submenu
	labels, since the user may have already entered them in his native
	language into the .ui file

	* src/ToolbarBackend.C
	(ToolbarBackend::read): do the same with the tooltip


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16015 a592a061-630c-0410-9148-cb99ea01b6c8
2006-11-23 16:31:48 +00:00

78 lines
1.6 KiB
C++

// -*- C++ -*-
/**
* \file src/gettext.h
* This file is part of LyX, the document processor.
* Licence details can be found in the file COPYING.
*
* \author Lars Gullik Bjønnes
* \author Jean-Marc Lasgouttes
*
* Full author contact details are available in file CREDITS.
*/
#ifndef GETTEXT_H
#define GETTEXT_H
#include "support/docstring.h"
namespace lyx {
/*
* Native Language Support
*
* The general idea is that any string that should be translated is handled
* as follows:
* _("string")
*
* Static strings are special, obviously and must be flagged as follows:
* static str = N_("string");
*
* And wherever they are used:
* _(str)
*
* Every file where there are strings needs:
* #include "gettext.h"
*
* Remember to mention each of these files in "po/POFILES.in"
*
* The main() needs a locale_init() and a gettext_init() in the beginning.
*/
/*
* General translation notes:
* Commands/options are not translated
* Debug messages are not translated
* Panic/fatal (that should not happen) messages need not be translated
*/
//#ifdef ENABLE_NLS
///
docstring const _(std::string const &);
//#else // ENABLE_NLS
///
//# define _(str) (str)
//#endif
# define N_(str) (str) // for detecting static strings
/**
* Translate \p name if it is possible.
* This should be used to translate strings that come from configuration
* files like .ui files. These strings could already be in the native
* language if they come from a file in the personal directory. */
docstring const translateIfPossible(docstring const & name);
///
void locale_init();
} // namespace lyx
#endif