mirror of
https://gitlab.gnome.org/jwestman/blueprint-compiler.git
synced 2025-05-04 15:59:08 -04:00
Compare commits
5 commits
b98fc44790
...
baf9602b03
Author | SHA1 | Date | |
---|---|---|---|
|
baf9602b03 | ||
|
aa13c8f5af | ||
|
e07da3c339 | ||
|
2ae41020ab | ||
|
f48b840cfa |
5 changed files with 24 additions and 3 deletions
|
@ -58,6 +58,19 @@ class Translated(AstNode):
|
||||||
f"Cannot convert translated string to {expected_type.full_name}"
|
f"Cannot convert translated string to {expected_type.full_name}"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@validate("context")
|
||||||
|
def context_double_quoted(self):
|
||||||
|
if self.translate_context is None:
|
||||||
|
return
|
||||||
|
|
||||||
|
if not str(self.group.tokens["context"]).startswith('"'):
|
||||||
|
raise CompileWarning("gettext may not recognize single-quoted strings")
|
||||||
|
|
||||||
|
@validate("string")
|
||||||
|
def string_double_quoted(self):
|
||||||
|
if not str(self.group.tokens["string"]).startswith('"'):
|
||||||
|
raise CompileWarning("gettext may not recognize single-quoted strings")
|
||||||
|
|
||||||
@docs()
|
@docs()
|
||||||
def ref_docs(self):
|
def ref_docs(self):
|
||||||
return get_docs_section("Syntax Translated")
|
return get_docs_section("Syntax Translated")
|
||||||
|
@ -212,12 +225,12 @@ class Flag(AstNode):
|
||||||
return self.tokens["value"]
|
return self.tokens["value"]
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def value(self) -> T.Optional[int]:
|
def value(self) -> T.Optional[str]:
|
||||||
type = self.context[ValueTypeCtx].value_type
|
type = self.context[ValueTypeCtx].value_type
|
||||||
if not isinstance(type, Enumeration):
|
if not isinstance(type, Enumeration):
|
||||||
return None
|
return None
|
||||||
elif member := type.members.get(self.name):
|
elif member := type.members.get(self.name):
|
||||||
return member.value
|
return member.nick
|
||||||
else:
|
else:
|
||||||
return None
|
return None
|
||||||
|
|
||||||
|
|
|
@ -24,6 +24,8 @@ If you're using Meson's `i18n module <https://mesonbuild.com/i18n-module.html#i1
|
||||||
|
|
||||||
i18n.gettext('package name', preset: 'glib')
|
i18n.gettext('package name', preset: 'glib')
|
||||||
|
|
||||||
|
You must use double quotes for the translated strings in order for gettext to recognize them. Newer versions of blueprint will warn you if you use single quotes.
|
||||||
|
|
||||||
Contexts
|
Contexts
|
||||||
--------
|
--------
|
||||||
|
|
||||||
|
|
5
tests/sample_errors/single_quoted_translated.blp
Normal file
5
tests/sample_errors/single_quoted_translated.blp
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
using Gtk 4.0;
|
||||||
|
|
||||||
|
Label {
|
||||||
|
label: _('Hello, World!');
|
||||||
|
}
|
1
tests/sample_errors/single_quoted_translated.err
Normal file
1
tests/sample_errors/single_quoted_translated.err
Normal file
|
@ -0,0 +1 @@
|
||||||
|
4,12,15,gettext may not recognize single-quoted strings
|
|
@ -7,7 +7,7 @@ corresponding .blp file and regenerate this file with blueprint-compiler.
|
||||||
<interface>
|
<interface>
|
||||||
<requires lib="gtk" version="4.0"/>
|
<requires lib="gtk" version="4.0"/>
|
||||||
<object class="GApplication">
|
<object class="GApplication">
|
||||||
<property name="flags">1|4</property>
|
<property name="flags">is-service|handles-open</property>
|
||||||
</object>
|
</object>
|
||||||
<object class="GtkEventControllerScroll">
|
<object class="GtkEventControllerScroll">
|
||||||
<property name="flags">1</property>
|
<property name="flags">1</property>
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue