[LyX/master] Fix display of page references when language is not specified
Jean-Marc Lasgouttes
lasgouttes at lyx.org
Fri Jul 5 14:25:25 UTC 2024
Le 05/07/2024 à 16:18, Jean-Marc Lasgouttes a écrit :
> commit 6f6d9b631d110fb71fcd99351b4f40d58451700a
> Author: Jean-Marc Lasgouttes <lasgouttes at lyx.org>
> Date: Fri Jul 5 16:10:17 2024 +0200
>
> Fix display of page references when language is not specified
Riki, this is candidate for branch. A pretty minor issue, but one more
use of Inset::buffer(). If we are scared that this may crash, I can use
_() instead of B_(). I am not sure about the context of this message and
what we actually want.
JMarc
>
> 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 | 5 +++--
> 1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/src/insets/InsetRef.cpp b/src/insets/InsetRef.cpp
> index c1ea8e4a93..11ab35e219 100644
> --- a/src/insets/InsetRef.cpp
> +++ b/src/insets/InsetRef.cpp
> @@ -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") {
More information about the lyx-devel
mailing list