• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

agama-project / agama / 18904457360
54%
master: 75%

Build:
Build:
LAST BUILD BRANCH: fix-l10n-reload
DEFAULT BRANCH: master
Ran 29 Oct 2025 10:19AM UTC
Jobs 3
Files 1153
Run time 2min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

29 Oct 2025 10:16AM UTC coverage: 64.281% (+0.001%) from 64.28%
18904457360

push

github

web-flow
Use a new gettext for extracting the texts from web sources (#2748)

## Problem

- Some translatable texts are no extracted to the resulting POT file
- https://bugzilla.suse.com/show_bug.cgi?id=1250059

## Details

- The problem is that the we are using the C language parser for the
Typescript files with React components. The C parser works just by
coincidence and some valid Javascript or Typescript constructs are not
parsed properly.
- In this case the missing translations are caused by using single
quotes (') for strings. In C they are used for single characters and not
for strings so they are completely ignored.

## Solution

- The latest GNU Gettext natively supports the "tsx" file format which
is exactly what we need! :+1:
- Unfortunately SLE-16 and Leap 16.0 contain an older version which does
not support that format. For that reason I defined a new container in
the `devel/xgettext` subdirectory which contains the latest gettext from
the openSUSE Tumbleweed distribution. That can be used instead of the
locally installed gettext.
- To make it easier I created a bunch of scripts for building, running
and using the container. Instead of the `build_pot` simply run the
`build_pot_container` script, it will build and use the new container
for creating the resulting POT file.

## Result

<details>
<summary>The built POT file contains these new texts</summary>

```diff
+#. TRANSLATORS: %s will be replaced with the network ssid
+#. TRANSLATORS: %s will be replaced with connection id
+#: src/components/network/WifiNetworkPage.tsx:44
+#: src/components/network/WiredConnectionPage.tsx:43
+#, javascript-format
+msgid "\"%s\" does not exist or is no longer available."
+msgstr ""

+#. TRANSLATORS: %s will be replaced with connection id
+#: src/components/network/WifiNetworkPage.tsx:44
+#: src/components/network/WiredConnectionPage.tsx:43
+#, javascript-format
+msgid "\"%s\" does not exist or is no longer available."
+msgstr ""

+#. TRANSLATORS: %s will be repl... (continued)

2228 of 4007 branches covered (55.6%)

Branch coverage included in aggregate %.

1 of 1 new or added line in 1 file covered. (100.0%)

1 existing line in 1 file now uncovered.

25312 of 38836 relevant lines covered (65.18%)

50.67 hits per line

Uncovered Existing Lines

Lines Coverage ∆ File
1
97.52
0.02% web/web/src/components/product/ProductRegistrationPage.tsx
Subprojects
ID Flag name Job ID Ran Files Coverage
3 web 18904457360.3 29 Oct 2025 10:19AM UTC 578
68.53
GitHub Action Run
1 rust 18592679841.1 17 Oct 2025 12:40PM UTC 185
22.0
GitHub Action Run
3 service 18340112702.3 08 Oct 2025 09:37AM UTC 390
88.51
GitHub Action Run
Source Files on build 18904457360
  • Tree
  • List 1153
  • Changed 3
  • Source Changed 2
  • Coverage Changed 2
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #18904457360
  • 3cf88c24 on github
  • Prev Build on SLE-16 (#18593178882)
  • Next Build on SLE-16 (#19066361771)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc