Check component props for untranslated literals, and fail on a finding

i18n-literals checked title, aria-label, placeholder and alt on elements,
but not the same English passed to a component, so a MenuItem label or a
Popover ariaLabel written as a literal went through. It also excused a
literal that happened to be a catalogue key. That exemption is meant for
English held in a constant and translated where it renders, and a literal
written straight into a JSX attribute has no such render site. No
component passes its props through t(). And neither half of i18n:check
was run with --check, so a finding printed and the script still exited 0.

Component props are checked now, a key no longer excuses a literal in an
attribute, and both scripts run with --check. That found 28 strings
rendering English in every language: 19 already had keys and are wrapped,
and 9 are new keys in all nine catalogues. The contact editor's Save and
Saving… buttons are wrapped as well, on the same line.
This commit is contained in:
2026-09-14 08:03:12 -07:00
parent af092b3942
commit ac4c4bd267
20 changed files with 117 additions and 23 deletions
+9
View File
@@ -1214,6 +1214,15 @@ export const catalog: Catalog = {
"Resize panes": "Bereichsgröße ändern",
"Resize message list": "Größe der Nachrichtenliste ändern",
"Resize sidebar": "Größe der Seitenleiste ändern",
"Hide from list": "Aus der Liste ausblenden",
"Show in list": "In der Liste einblenden",
"Stop trusting sender images": "Bildern des Absenders nicht mehr vertrauen",
"Always show images from sender": "Bilder dieses Absenders immer anzeigen",
"Collapse all": "Alle einklappen",
"Expand all": "Alle ausklappen",
"Send now instead": "Stattdessen jetzt senden",
"Switch to plain text": "Zu Nur-Text wechseln",
"Switch to rich text": "Zu formatiertem Text wechseln",
"QR code": "QR-Code",
"Draft discarded": "Entwurf verworfen",
"Draft saved": "Entwurf gespeichert",
+9
View File
@@ -1187,6 +1187,15 @@ export const catalog: Catalog = {
"Resize panes": "Cambiar el tamaño de los paneles",
"Resize message list": "Cambiar el tamaño de la lista de mensajes",
"Resize sidebar": "Cambiar el tamaño de la barra lateral",
"Hide from list": "Ocultar de la lista",
"Show in list": "Mostrar en la lista",
"Stop trusting sender images": "Dejar de confiar en las imágenes del remitente",
"Always show images from sender": "Mostrar siempre las imágenes del remitente",
"Collapse all": "Contraer todo",
"Expand all": "Expandir todo",
"Send now instead": "Enviar ahora, sin programar",
"Switch to plain text": "Cambiar a texto sin formato",
"Switch to rich text": "Cambiar a texto enriquecido",
"QR code": "Código QR",
"Draft discarded": "Borrador descartado",
"Draft saved": "Borrador guardado",
+9
View File
@@ -1192,6 +1192,15 @@ export const catalog: Catalog = {
"Resize panes": "Redimensionner les volets",
"Resize message list": "Redimensionner la liste des messages",
"Resize sidebar": "Redimensionner la barre latérale",
"Hide from list": "Masquer de la liste",
"Show in list": "Afficher dans la liste",
"Stop trusting sender images": "Ne plus faire confiance aux images de l'expéditeur",
"Always show images from sender": "Toujours afficher les images de l'expéditeur",
"Collapse all": "Tout réduire",
"Expand all": "Tout développer",
"Send now instead": "Envoyer tout de suite",
"Switch to plain text": "Passer en texte brut",
"Switch to rich text": "Passer en texte enrichi",
"QR code": "QR code",
"Draft discarded": "Brouillon abandonné",
"Draft saved": "Brouillon enregistré",
+9
View File
@@ -1195,6 +1195,15 @@ export const catalog: Catalog = {
"Resize panes": "ペインの大きさを変更",
"Resize message list": "メール一覧の大きさを変更",
"Resize sidebar": "サイドバーの大きさを変更",
"Hide from list": "一覧で非表示にする",
"Show in list": "一覧に表示する",
"Stop trusting sender images": "差出人の画像を信頼しない",
"Always show images from sender": "差出人の画像を常に表示",
"Collapse all": "すべて折りたたむ",
"Expand all": "すべて展開",
"Send now instead": "予約をやめて今すぐ送信",
"Switch to plain text": "プレーンテキストに切り替え",
"Switch to rich text": "リッチテキストに切り替え",
"QR code": "QR コード",
"Draft discarded": "下書きを破棄しました",
"Draft saved": "下書きを保存しました",
+9
View File
@@ -1183,6 +1183,15 @@ export const catalog: Catalog = {
"Resize panes": "Vensterdelen verslepen",
"Resize message list": "Grootte van de berichtenlijst wijzigen",
"Resize sidebar": "Grootte van de zijbalk wijzigen",
"Hide from list": "Verbergen in de lijst",
"Show in list": "Tonen in de lijst",
"Stop trusting sender images": "Afbeeldingen van afzender niet meer vertrouwen",
"Always show images from sender": "Afbeeldingen van afzender altijd tonen",
"Collapse all": "Alles samenvouwen",
"Expand all": "Alles uitvouwen",
"Send now instead": "Toch nu verzenden",
"Switch to plain text": "Overschakelen naar platte tekst",
"Switch to rich text": "Overschakelen naar opgemaakte tekst",
"QR code": "QR-code",
"Draft discarded": "Concept weggegooid",
"Draft saved": "Concept opgeslagen",
+9
View File
@@ -1190,6 +1190,15 @@ export const catalog: Catalog = {
"Resize panes": "Redimensionar os painéis",
"Resize message list": "Redimensionar a lista de mensagens",
"Resize sidebar": "Redimensionar a barra lateral",
"Hide from list": "Ocultar da lista",
"Show in list": "Mostrar na lista",
"Stop trusting sender images": "Deixar de confiar nas imagens do remetente",
"Always show images from sender": "Sempre mostrar as imagens do remetente",
"Collapse all": "Recolher tudo",
"Expand all": "Expandir tudo",
"Send now instead": "Enviar agora mesmo",
"Switch to plain text": "Mudar para texto simples",
"Switch to rich text": "Mudar para texto formatado",
"QR code": "Código QR",
"Draft discarded": "Rascunho descartado",
"Draft saved": "Rascunho salvo",
+9
View File
@@ -1189,6 +1189,15 @@ export const catalog: Catalog = {
"Resize panes": "Изменить размер панелей",
"Resize message list": "Изменить размер списка писем",
"Resize sidebar": "Изменить размер боковой панели",
"Hide from list": "Скрыть из списка",
"Show in list": "Показать в списке",
"Stop trusting sender images": "Больше не доверять изображениям отправителя",
"Always show images from sender": "Всегда показывать изображения отправителя",
"Collapse all": "Свернуть все",
"Expand all": "Развернуть все",
"Send now instead": "Отправить сейчас",
"Switch to plain text": "Переключиться на обычный текст",
"Switch to rich text": "Переключиться на форматированный текст",
"QR code": "QR-код",
"Draft discarded": "Черновик удалён",
"Draft saved": "Черновик сохранён",
+9
View File
@@ -1183,6 +1183,15 @@ export const catalog: Catalog = {
"Resize panes": "Змінити розмір панелей",
"Resize message list": "Змінити розмір списку листів",
"Resize sidebar": "Змінити розмір бічної панелі",
"Hide from list": "Сховати зі списку",
"Show in list": "Показати в списку",
"Stop trusting sender images": "Більше не довіряти зображенням відправника",
"Always show images from sender": "Завжди показувати зображення відправника",
"Collapse all": "Згорнути все",
"Expand all": "Розгорнути все",
"Send now instead": "Надіслати зараз",
"Switch to plain text": "Перейти на звичайний текст",
"Switch to rich text": "Перейти на форматований текст",
"QR code": "QR-код",
"Draft discarded": "Чернетку видалено",
"Draft saved": "Чернетку збережено",
+9
View File
@@ -1194,6 +1194,15 @@ export const catalog: Catalog = {
"Resize panes": "调整窗格大小",
"Resize message list": "调整邮件列表大小",
"Resize sidebar": "调整侧边栏大小",
"Hide from list": "从列表中隐藏",
"Show in list": "在列表中显示",
"Stop trusting sender images": "不再信任发件人的图片",
"Always show images from sender": "始终显示该发件人的图片",
"Collapse all": "全部折叠",
"Expand all": "全部展开",
"Send now instead": "改为立即发送",
"Switch to plain text": "切换为纯文本",
"Switch to rich text": "切换为富文本",
"QR code": "二维码",
"Draft discarded": "草稿已放弃",
"Draft saved": "草稿已保存",