From 7c5caaff246c1bebd537ebdc4d9fa5485af5ef5c Mon Sep 17 00:00:00 2001 From: Richard Heck Date: Tue, 19 Mar 2013 11:30:09 -0400 Subject: [PATCH] Fix bug #8587 properly, by using local language for translation. (cherry picked from commit 3057bce3f210584118211746d8e38bec9d76a080) --- src/Paragraph.cpp | 1 + src/insets/InsetRef.cpp | 8 ++++---- status.20x | 4 +--- 3 files changed, 6 insertions(+), 7 deletions(-) diff --git a/src/Paragraph.cpp b/src/Paragraph.cpp index c12f9ca055..3b35db3f5f 100644 --- a/src/Paragraph.cpp +++ b/src/Paragraph.cpp @@ -2787,6 +2787,7 @@ docstring Paragraph::simpleLyXHTMLOnePar(Buffer const & buf, if (inset) { if (!runparams.for_toc || inset->isInToc()) { OutputParams np = runparams; + np.local_font = &font; if (!inset->getLayout().htmlisblock()) np.html_in_par = true; retval += inset->xhtml(xs, np); diff --git a/src/insets/InsetRef.cpp b/src/insets/InsetRef.cpp index 6571ba7f99..54779f0790 100644 --- a/src/insets/InsetRef.cpp +++ b/src/insets/InsetRef.cpp @@ -16,6 +16,7 @@ #include "Cursor.h" #include "DispatchResult.h" #include "InsetLabel.h" +#include "Language.h" #include "LaTeXFeatures.h" #include "LyX.h" #include "OutputParams.h" @@ -201,7 +202,7 @@ int InsetRef::docbook(odocstream & os, OutputParams const & runparams) const } -docstring InsetRef::xhtml(XHTMLStream & xs, OutputParams const &) const +docstring InsetRef::xhtml(XHTMLStream & xs, OutputParams const & op) const { docstring const & ref = getParam("reference"); InsetLabel const * il = buffer().insetLabel(ref); @@ -218,9 +219,8 @@ docstring InsetRef::xhtml(XHTMLStream & xs, OutputParams const &) const display_string = value; else if (cmd == "pageref" || cmd == "vpageref") // normally would be "on page #", but we have no pages. - // FIXME this is wrong, as it should be the current language, - // but it is better than _(), which is what we had before. - display_string = buffer().B_("elsewhere"); + display_string = translateIfPossible(from_ascii("elsewhere"), + op.local_font->language()->lang()); else if (cmd == "eqref") display_string = '(' + value + ')'; else if (cmd == "formatted" diff --git a/status.20x b/status.20x index b23a76f41b..1539617384 100644 --- a/status.20x +++ b/status.20x @@ -116,9 +116,7 @@ What's new - Reset counters properly when outputting included XHTML files (bug 8598). -- Translate "elsewhere" to the Buffer language when outputting XHTML. - This is not quite right, but it is better than translating it to the - UI language (partial fix for #8587). +- Translate "elsewhere" when outputting XHTML (bug 8587). * USER INTERFACE