aiongg
b264557916
i18n: missing translations are reported, never a failure ( #2729 )
...
A message a catalog lacks, or translates as an empty string, shows in
English and fails nothing:
- build.rs no longer requires every formats catalog to carry the same
messages, and tr_format! gets a last arm that formats the English
source, so a message no catalog has builds.
- Coverage tests (every language translates X) and tests of one
language's exact wording are gone; the language-switching, layout,
date, placeholder and user-value tests read the catalog's own value
instead of a hard-coded translation.
- i18n::tests::translation_gaps_report lists, per language, the plain
and format messages it lacks and its untranslated What's New lines.
It always passes; cargo xtask ci
runs it from the test step's binary after the tests.
- catalogs_load checks that every catalog file is a JSON object of
strings with each key once; it.json named "Dimensions" twice.
2026-10-23 16:42:28 -04:00
..
2026-10-23 16:42:28 -04:00
2026-10-18 19:05:05 +02:00
2026-10-22 02:37:21 +00:00
2026-10-20 20:34:52 -05:00
2026-10-17 21:14:43 +05:30
2026-10-14 17:57:58 -04:00
2026-10-12 04:13:49 +11:00
2026-10-11 16:26:04 -05:00
2026-10-21 22:48:03 +00:00
2026-10-14 15:27:56 +02:00
2026-10-14 15:27:56 +02:00
2026-10-21 13:02:31 +05:30
2026-10-15 01:33:01 -04:00
2026-10-13 16:06:06 +02:00
2026-10-23 16:42:28 -04:00
2026-10-23 16:42:28 -04:00
2026-10-16 09:38:37 +00:00
2026-10-22 02:39:44 +00:00
2026-10-22 02:53:00 +00:00
2026-10-23 16:42:28 -04:00
2026-10-14 15:27:56 +02:00
2026-10-22 02:41:14 +00:00
2026-10-22 02:53:42 +00:00
2026-10-15 14:04:14 +02:00
2026-10-11 12:00:15 +00:00
2026-10-12 02:33:25 +10:00
2026-10-22 02:36:58 +00:00
2026-10-14 08:19:43 +01:00
2026-10-21 19:50:28 -04:00
2026-10-18 19:57:32 +02:00
2026-10-22 02:53:00 +00:00
2026-10-22 02:53:00 +00:00
2026-10-15 02:51:35 -04:00
2026-10-22 02:53:00 +00:00
2026-10-22 02:37:19 +00:00
2026-10-15 15:35:11 +02:00
2026-10-15 14:04:14 +02:00
2026-10-23 16:42:28 -04:00
2026-10-15 00:54:17 +02:00
2026-10-12 17:41:55 +02:00
2026-10-15 02:24:48 +02:00
2026-10-15 00:57:42 +02:00
2026-10-14 17:57:58 -04:00
2026-10-14 23:25:29 -04:00
2026-10-22 02:40:11 +00:00
2026-10-16 16:32:19 +00:00
2026-10-22 03:28:46 +00:00
2026-10-13 10:46:13 -05:00
2026-10-15 00:54:13 -04:00
2026-10-14 17:11:36 -04:00
2026-10-13 09:00:28 +02:00
2026-10-14 20:02:11 +02:00
2026-10-14 14:03:50 -04:00
2026-10-11 16:26:04 -05:00
2026-10-19 23:05:15 +02:00
2026-10-13 16:06:06 +02:00
2026-10-16 08:25:46 +00:00
2026-10-14 23:23:25 +11:00
2026-10-22 02:40:53 +00:00
2026-10-21 14:13:18 -03:00
2026-10-14 23:25:29 -04:00
2026-10-14 12:38:02 -04:00
2026-10-11 22:11:02 +02:00
2026-10-15 00:52:30 -04:00
2026-10-13 11:54:39 +07:00
2026-10-14 19:32:06 +02:00
2026-10-11 20:47:54 +11:00
2026-10-12 03:57:07 +10:00
2026-10-22 02:38:08 +00:00
2026-10-19 17:12:31 +10:00
2026-10-14 23:25:29 -04:00
2026-10-16 08:25:46 +00:00
2026-10-15 03:44:15 +02:00
2026-10-22 03:45:54 +00:00
2026-10-11 12:00:08 +00:00
2026-10-21 13:16:29 -05:00
2026-10-15 15:38:03 +02:00
2026-10-17 00:27:11 +02:00
2026-10-14 12:58:40 +02:00
2026-10-18 19:57:32 +02:00
2026-10-14 22:35:34 -04:00
2026-10-20 12:08:36 +07:00
2026-10-13 04:22:23 +00:00
2026-10-13 12:38:21 +02:00
2026-10-15 02:38:20 -04:00
2026-10-11 09:22:11 +02:00
2026-10-13 14:13:48 +02:00
2026-10-21 13:31:05 -05:00
2026-10-22 02:53:00 +00:00
2026-10-14 07:46:30 -04:00
2026-10-12 17:37:42 +02:00
2026-10-19 17:48:48 -07:00
2026-10-13 13:10:57 +05:30
2026-10-14 07:46:30 -04:00
2026-10-13 16:11:47 +05:30
2026-10-22 02:37:40 +00:00
2026-10-15 20:01:23 +02:00
2026-10-14 23:23:18 -04:00
2026-10-22 02:53:00 +00:00
2026-10-14 07:55:41 -04:00