[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