From bc6ee8d2511916403296d24f6b2143529d8d7cab Mon Sep 17 00:00:00 2001 From: Richard Heck Date: Mon, 29 Mar 2010 20:21:30 +0000 Subject: [PATCH] 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 --- src/BiblioInfo.cpp | 5 ++++- src/BiblioInfo.h | 4 ++++ 2 files changed, 8 insertions(+), 1 deletion(-) 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;