From: Richard Heck Date: Mon, 29 Mar 2010 20:21:30 +0000 (+0000) Subject: Do the translation the right way. X-Git-Tag: 2.0.0~3654 X-Git-Url: https://git.lyx.org/gitweb/?a=commitdiff_plain;h=bc6ee8d2511916403296d24f6b2143529d8d7cab;p=features.git Do the translation the right way. By the way, has anyone noticed that _() returns empty if you call it on a string we don't know how to translate? Might it be better if it returned the original string? git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33925 a592a061-630c-0410-9148-cb99ea01b6c8 --- diff --git a/src/BiblioInfo.cpp b/src/BiblioInfo.cpp index 4ee075e596..acff8dc971 100644 --- a/src/BiblioInfo.cpp +++ b/src/BiblioInfo.cpp @@ -18,6 +18,7 @@ #include "buffer_funcs.h" #include "Encoding.h" #include "InsetIterator.h" +#include "Language.h" #include "Paragraph.h" #include "TextClass.h" #include "TocBackend.h" @@ -433,7 +434,9 @@ docstring BibTeXInfo::expandFormat(string const & format, // a translatable bit string const val = buf.params().documentClass().getCiteMacro(key); - ret += _(val); + docstring const trans = + translateIfPossible(from_utf8(val), buf.params().language->code()); + ret += trans; } else { docstring const val = getValueForKey(key, xref); ret += val; diff --git a/src/BiblioInfo.h b/src/BiblioInfo.h index 05b61f64cb..33a7625bd3 100644 --- a/src/BiblioInfo.h +++ b/src/BiblioInfo.h @@ -117,6 +117,10 @@ private: /// material intended only for rich text (HTML) output should be /// wrapped in "{!" and "!}". it will be removed if richtext is /// false. + /// a simple macro facility is also available. keys that look like + /// "%!key%" are substituted with their definition. + /// moreover, keys that look like "%_key%" are treated as translatable + /// so that things like "pp." and "vol." can be translated. docstring expandFormat(std::string const & fmt, BibTeXInfo const * const xref, Buffer const & buf, bool richtext) const;