Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix wxGETTEXT_IN_CONTEXT* failing with wxNO_IMPLICIT_WXSTRING_ENCODING #24925

Closed
wants to merge 1 commit into from

Conversation

lanurmi
Copy link
Contributor

@lanurmi lanurmi commented Oct 28, 2024

The call to wxGetTranslation() was ambiguous. Fix this by using wxASCII_STR() for all string literal arguments in
wxGETTEXT_IN_CONTEXT/_PLURAL, just as it is used for the argument of _().

Also test that all translation macros expand to compilable code when wxNO_IMPLICIT_WXSTRING_ENCODING is enabled.

See also: PR #24916

The call to wxGetTranslation() was ambiguous. Fix this by using
wxASCII_STR() for all string literal arguments in
wxGETTEXT_IN_CONTEXT/_PLURAL, just as it is used for the argument of _().

Also test that all translation macros expand to compilable code
when wxNO_IMPLICIT_WXSTRING_ENCODING is enabled.

See also: PR wxWidgets#24916
@vadz
Copy link
Contributor

vadz commented Nov 1, 2024

Thanks, this looks good to me, but also cc'ing @ardovm just in case.

I'll merge this soon, thanks again!

@ardovm
Copy link
Contributor

ardovm commented Nov 1, 2024

Looks good to me. Thank you @vadz for calling me in!

@vadz vadz closed this in a47b560 Nov 2, 2024
lanurmi pushed a commit to lanurmi/wxWidgets that referenced this pull request Nov 7, 2024
The compilation fix in PR wxWidgets#24925 aimed for the
wxNO_IMPLICIT_WXSTRING_ENCODING case presumably also has the
side effect of preventing non-ASCII (non-English) msgids with
wxGETTEXT_IN_CONTEXT_PLURAL, also in the regular case when
implicit encoding is permitted.

It is best to define wxGETTEXT_IN_CONTEXT_PLURAL separately for
both wxNO_IMPLICIT_WXSTRING_ENCODING and without it, similarly
to how wxGETTEXT_IN_CONTEXT is defined. For some reason it
was defined only once until now.
lanurmi pushed a commit to lanurmi/wxWidgets that referenced this pull request Nov 7, 2024
The compilation fix in PR wxWidgets#24925, a47b560 (Fix
wxGETTEXT_IN_CONTEXT* with wxNO_IMPLICIT_WXSTRING_ENCODING,
2024-10-29) aimed for the wxNO_IMPLICIT_WXSTRING_ENCODING
case presumably also has the side effect of preventing
non-ASCII (non-English) msgids with wxGETTEXT_IN_CONTEXT_PLURAL,
also in the regular case when implicit encoding is permitted.

It is best to define wxGETTEXT_IN_CONTEXT_PLURAL separately for
both wxNO_IMPLICIT_WXSTRING_ENCODING and without it, similarly
to how wxGETTEXT_IN_CONTEXT is defined. For some reason it
was defined only once until now.

This commit reverts the definition of
wxGETTEXT_IN_CONTEXT_PLURAL for the regular case to what it
was before.
lanurmi added a commit to lanurmi/wxWidgets that referenced this pull request Nov 7, 2024
The compilation fix in PR wxWidgets#24925, a47b560 (Fix
wxGETTEXT_IN_CONTEXT* with wxNO_IMPLICIT_WXSTRING_ENCODING,
2024-10-29) aimed for the wxNO_IMPLICIT_WXSTRING_ENCODING
case presumably also has the side effect of preventing
non-ASCII (non-English) msgids with wxGETTEXT_IN_CONTEXT_PLURAL,
also in the regular case when implicit encoding is permitted.

It is best to define wxGETTEXT_IN_CONTEXT_PLURAL separately for
both wxNO_IMPLICIT_WXSTRING_ENCODING and without it, similarly
to how wxGETTEXT_IN_CONTEXT is defined. For some reason it
was defined only once until now.

This commit reverts the definition of
wxGETTEXT_IN_CONTEXT_PLURAL for the regular case to what it
was before.
vadz pushed a commit that referenced this pull request Nov 10, 2024
The compilation fix in PR #24925, a47b560 (Fix
wxGETTEXT_IN_CONTEXT* with wxNO_IMPLICIT_WXSTRING_ENCODING,
2024-10-29) aimed for the wxNO_IMPLICIT_WXSTRING_ENCODING
case presumably also has the side effect of preventing
non-ASCII (non-English) msgids with wxGETTEXT_IN_CONTEXT_PLURAL,
also in the regular case when implicit encoding is permitted.

It is best to define wxGETTEXT_IN_CONTEXT_PLURAL separately for
both wxNO_IMPLICIT_WXSTRING_ENCODING and without it, similarly
to how wxGETTEXT_IN_CONTEXT is defined. For some reason it
was defined only once until now.

This commit reverts the definition of
wxGETTEXT_IN_CONTEXT_PLURAL for the regular case to what it
was before.

Closes #24944.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants