[yew-devel] [PATCH proxmox-yew-comp v2] apt_repositories: Add context to conflicting string with plural form
Maximiliano Sandoval
m.sandoval at proxmox.com
Mon Jan 27 10:46:51 CET 2025
The combination of `msgid` and `msgctxt` uniquely identifies a
translatable string. At the moment there is a message:
```
msgid "Warning"
msgstr ""
```
that conflicts with
```
msgid "Warning"
msgid_plural "Warnings"
msgstr[0] ""
msgstr[1] ""
```
Normally, `msgmerge` or similar will merge messages containing the same
`msgid` and `msgctxt`, but in this case these two cannot be merged as
one has plurals forms and the other does not. On the app-side one will
be retrieved with `gettext("Warning")` while the other by
`ngettext("Warning", 1)` which explains why they can't be merged.
Additionally, xgettext will throw the following error message:
```sh
$ xgettext proxmox-yew-comp.pot proxmox-widget-toolkit.pot
proxmox-widget-toolkit.pot:2080: duplicate message definition...
proxmox-yew-comp.pot:187: ...this is the location of the first definition
xgettext: found 1 fatal error
```
By adding a context, we can go around the issue without the need to
replace either string.
More info on contexts can be found at [1].
[1] https://www.gnu.org/software/gettext/manual/html_node/Contexts.html
Signed-off-by: Maximiliano Sandoval <m.sandoval at proxmox.com>
---
Differences from v1:
- Expand commit message
src/apt_repositories.rs | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/apt_repositories.rs b/src/apt_repositories.rs
index b671d01e..487ca7f 100644
--- a/src/apt_repositories.rs
+++ b/src/apt_repositories.rs
@@ -873,7 +873,8 @@ fn render_text_with_warnings(text: &str, warnings: &[String]) -> Html {
<i class="fa fa-fw fa-exclamation-circle"/>
</span>
};
- let title = tr!("Warning" | "Warnings" % warnings.len());
+ let title =
+ tr!("This is a title" => "Warning" | "Warnings" % warnings.len());
let mut tip = Container::new().with_child(html! {<h4>{title}</h4>});
for message in warnings {
tip.add_child(html! {<p>{message}</p>});
--
2.39.5
More information about the yew-devel
mailing list