]> git.lyx.org Git - lyx.git/commitdiff
Fix display of page references when language is not specified
authorJean-Marc Lasgouttes <lasgouttes@lyx.org>
Fri, 5 Jul 2024 14:10:17 +0000 (16:10 +0200)
committerJean-Marc Lasgouttes <lasgouttes@lyx.org>
Fri, 5 Jul 2024 14:18:09 +0000 (16:18 +0200)
Using translateIfPossible with null language does not make sense (and
gives an error on console).

Using translateIfPossible there actually does not make sense at all: it
is only for string from layout files that may already be translated.

We use the buffer language when no language has been specified. It
might have been better to use the GUI language.

A consequence of the commit is that "elsewhere" will be in the po
files and now really translatable ;)

src/insets/InsetRef.cpp

index c1ea8e4a9379ab5dc3f1e823d16c8b6406a6be9c..11ab35e21930d0e9acefaff2013771f28b458309 100644 (file)
@@ -32,6 +32,7 @@
 #include "support/docstream.h"
 #include "support/gettext.h"
 #include "support/lstrings.h"
+#include "support/Messages.h"
 #include "support/textutils.h"
 
 using namespace lyx::support;
@@ -399,8 +400,8 @@ docstring InsetRef::displayString(docstring const & ref, string const & cmd,
                        display_string = value;
                else if (cmd == "pageref" || cmd == "vpageref") {
                        // normally would be "on page #", but we have no pages.
-                       display_string =
-                               translateIfPossible(from_ascii("elsewhere"), language);
+                       display_string = language.empty() ? buffer().B_("elsewhere")
+                               : getMessages(language).get("elsewhere");
                } else if (cmd == "eqref")
                        display_string = '(' + value + ')';
                else if (cmd == "formatted") {