diff --git a/library/i18n/locales/ar/gospel.json b/library/i18n/locales/ar/gospel.json
index 36e5737f7..e1e103a8c 100644
--- a/library/i18n/locales/ar/gospel.json
+++ b/library/i18n/locales/ar/gospel.json
@@ -333,7 +333,9 @@
"c2Unit": "أشخاص في الشعوب التي هذه لغتها الأساسية — لا المتحدثين بها عمومًا",
"c3Title": "البلدان الأكثر لغاتٍ غير مخدومة",
"c3Sub": "البلدان الـ{n} الأكثر لغاتٍ لم يُعثر لها على شيء. طول العمود هو كل لغة موجودة في ذلك البلد.",
- "c3Unit": "لغات موجودة في البلد (اللغة العابرة للحدود تُحتسب في كل بلد)"
+ "c3Unit": "لغات موجودة في البلد (اللغة العابرة للحدود تُحتسب في كل بلد)",
+ "noneHero": "{noScripture} في {nNone} لغة من أصل {nLang} — وهي لغات {popNone} نسمة.",
+ "noneHeroFound": "لا يوجد كتاب مقدس ولا فيلم في المجموعات التي جرى فحصها"
},
"filter": {
"showingOnly": "يُعرض فقط: {what}.",
diff --git a/library/i18n/locales/de/gospel.json b/library/i18n/locales/de/gospel.json
index 9c2976ebd..0586d7dea 100644
--- a/library/i18n/locales/de/gospel.json
+++ b/library/i18n/locales/de/gospel.json
@@ -333,7 +333,9 @@
"c2Unit": "Menschen in den Volksgruppen, deren PRIMÄRE Sprache dies ist — nicht Sprecher der Sprache",
"c3Title": "Länder mit den meisten unversorgten Sprachen",
"c3Sub": "Die {n} Länder mit den meisten Sprachen, für die nichts gefunden wurde. Die Balkenlänge ist jede im Land vorhandene Sprache.",
- "c3Unit": "im Land vorhandene Sprachen (eine grenzüberschreitende Sprache zählt in jedem Land)"
+ "c3Unit": "im Land vorhandene Sprachen (eine grenzüberschreitende Sprache zählt in jedem Land)",
+ "noneHero": "{nNone} von {nLang} Sprachen haben {noScripture} — die Sprachen von {popNone} Menschen.",
+ "noneHeroFound": "keine Bibel und keinen Film in den geprüften Beständen"
},
"filter": {
"showingOnly": "Nur {what} werden angezeigt.",
diff --git a/library/i18n/locales/en/gospel.json b/library/i18n/locales/en/gospel.json
index c36a5f2be..4226db1c8 100644
--- a/library/i18n/locales/en/gospel.json
+++ b/library/i18n/locales/en/gospel.json
@@ -333,7 +333,9 @@
"c2Unit": "people in the people groups whose PRIMARY language this is — not speakers of the language",
"c3Title": "Countries with the most unserved languages",
"c3Sub": "The {n} countries with the most languages that have nothing found. Bar length is every language present in that country.",
- "c3Unit": "languages present in the country (a cross-border language counts in each)"
+ "c3Unit": "languages present in the country (a cross-border language counts in each)",
+ "noneHero": "{nNone} of {nLang} languages have {noScripture} — the languages of {popNone} people.",
+ "noneHeroFound": "no scripture and no film found in the pools checked"
},
"filter": {
"showingOnly": "Showing only {what}.",
diff --git a/library/i18n/locales/es/gospel.json b/library/i18n/locales/es/gospel.json
index 1fb4ba9af..6e3b57880 100644
--- a/library/i18n/locales/es/gospel.json
+++ b/library/i18n/locales/es/gospel.json
@@ -333,7 +333,9 @@
"c2Unit": "personas en las etnias cuya lengua PRINCIPAL es esta — no hablantes de la lengua",
"c3Title": "Países con más lenguas desatendidas",
"c3Sub": "Los {n} países con más lenguas sin nada encontrado. La longitud de la barra es cada lengua presente en ese país.",
- "c3Unit": "lenguas presentes en el país (una lengua transfronteriza cuenta en cada uno)"
+ "c3Unit": "lenguas presentes en el país (una lengua transfronteriza cuenta en cada uno)",
+ "noneHero": "{nNone} de {nLang} lenguas tienen {noScripture}: las lenguas de {popNone} personas.",
+ "noneHeroFound": "ni Escritura ni película en los repositorios consultados"
},
"filter": {
"showingOnly": "Solo se muestran {what}.",
diff --git a/library/i18n/locales/fr/gospel.json b/library/i18n/locales/fr/gospel.json
index 3f4f79f6b..981b3a81d 100644
--- a/library/i18n/locales/fr/gospel.json
+++ b/library/i18n/locales/fr/gospel.json
@@ -333,7 +333,9 @@
"c2Unit": "personnes dans les peuples dont c'est la langue PRINCIPALE — non les locuteurs de la langue",
"c3Title": "Pays comptant le plus de langues non desservies",
"c3Sub": "Les {n} pays comptant le plus de langues sans rien de trouvé. La longueur de la barre correspond à chaque langue présente dans ce pays.",
- "c3Unit": "langues présentes dans le pays (une langue transfrontalière compte dans chacun)"
+ "c3Unit": "langues présentes dans le pays (une langue transfrontalière compte dans chacun)",
+ "noneHero": "{nNone} langues sur {nLang} ont {noScripture} — les langues de {popNone} personnes.",
+ "noneHeroFound": "ni Écriture ni film dans les fonds consultés"
},
"filter": {
"showingOnly": "Affichage limité aux {what}.",
diff --git a/library/i18n/locales/hi/gospel.json b/library/i18n/locales/hi/gospel.json
index e454fb34a..8b552ef1d 100644
--- a/library/i18n/locales/hi/gospel.json
+++ b/library/i18n/locales/hi/gospel.json
@@ -333,7 +333,9 @@
"c2Unit": "उन जनसमूहों के लोग जिनकी मुख्य भाषा यही है — भाषा के सभी वक्ता नहीं",
"c3Title": "सबसे अधिक असेवित भाषाओं वाले देश",
"c3Sub": "{n} देश जिनमें सबसे अधिक भाषाओं के लिए कुछ नहीं मिला। बार की लंबाई उस देश में मौजूद हर भाषा है।",
- "c3Unit": "देश में मौजूद भाषाएँ (सीमा-पार भाषा हर देश में गिनी जाती है)"
+ "c3Unit": "देश में मौजूद भाषाएँ (सीमा-पार भाषा हर देश में गिनी जाती है)",
+ "noneHero": "{nLang} में से {nNone} भाषाओं में {noScripture} — ये {popNone} लोगों की भाषाएँ हैं।",
+ "noneHeroFound": "जाँचे गए स्रोतों में न पवित्रशास्त्र मिला, न फ़िल्म"
},
"filter": {
"showingOnly": "केवल {what} दिखाए जा रहे हैं।",
diff --git a/library/i18n/locales/it/gospel.json b/library/i18n/locales/it/gospel.json
index a918de5d4..485d64233 100644
--- a/library/i18n/locales/it/gospel.json
+++ b/library/i18n/locales/it/gospel.json
@@ -333,7 +333,9 @@
"c2Unit": "persone nei gruppi la cui lingua PRINCIPALE è questa — non i parlanti della lingua",
"c3Title": "Paesi con più lingue non servite",
"c3Sub": "I {n} paesi con più lingue per cui non è stato trovato nulla. La lunghezza della barra è ogni lingua presente in quel paese.",
- "c3Unit": "lingue presenti nel paese (una lingua transfrontaliera conta in ciascuno)"
+ "c3Unit": "lingue presenti nel paese (una lingua transfrontaliera conta in ciascuno)",
+ "noneHero": "{nNone} lingue su {nLang} hanno {noScripture} — le lingue di {popNone} persone.",
+ "noneHeroFound": "nessuna Scrittura e nessun film nei repertori consultati"
},
"filter": {
"showingOnly": "Sono mostrati solo {what}.",
diff --git a/library/i18n/locales/pt/gospel.json b/library/i18n/locales/pt/gospel.json
index 9416a6f47..21a1eca0a 100644
--- a/library/i18n/locales/pt/gospel.json
+++ b/library/i18n/locales/pt/gospel.json
@@ -333,7 +333,9 @@
"c2Unit": "pessoas nas etnias cuja língua PRINCIPAL é esta — não falantes da língua",
"c3Title": "Países com mais línguas desatendidas",
"c3Sub": "Os {n} países com mais línguas sem nada encontrado. O comprimento da barra é cada língua presente nesse país.",
- "c3Unit": "línguas presentes no país (uma língua transfronteiriça conta em cada um)"
+ "c3Unit": "línguas presentes no país (uma língua transfronteiriça conta em cada um)",
+ "noneHero": "{nNone} de {nLang} línguas têm {noScripture} — as línguas de {popNone} pessoas.",
+ "noneHeroFound": "nenhuma Escritura e nenhum filme nos acervos consultados"
},
"filter": {
"showingOnly": "Mostrando apenas {what}.",
diff --git a/library/i18n/locales/ro/gospel.json b/library/i18n/locales/ro/gospel.json
index 51ccd9aeb..68c663835 100644
--- a/library/i18n/locales/ro/gospel.json
+++ b/library/i18n/locales/ro/gospel.json
@@ -333,7 +333,9 @@
"c2Unit": "persoane din grupurile a căror limbă PRINCIPALĂ este aceasta — nu vorbitorii limbii",
"c3Title": "Țări cu cele mai multe limbi neservite",
"c3Sub": "Cele {n} țări cu cele mai multe limbi pentru care nu s-a găsit nimic. Lungimea barei este fiecare limbă prezentă în acea țară.",
- "c3Unit": "limbi prezente în țară (o limbă transfrontalieră se numără în fiecare)"
+ "c3Unit": "limbi prezente în țară (o limbă transfrontalieră se numără în fiecare)",
+ "noneHero": "{nNone} din {nLang} limbi au {noScripture} — limbile a {popNone} de oameni.",
+ "noneHeroFound": "nicio Scriptură și niciun film în colecțiile verificate"
},
"filter": {
"showingOnly": "Se afișează doar {what}.",
diff --git a/library/i18n/locales/ru/gospel.json b/library/i18n/locales/ru/gospel.json
index b79562c69..e53c111ae 100644
--- a/library/i18n/locales/ru/gospel.json
+++ b/library/i18n/locales/ru/gospel.json
@@ -333,7 +333,9 @@
"c2Unit": "люди в народах, для которых это ОСНОВНОЙ язык, — не все говорящие на нём",
"c3Title": "Страны с наибольшим числом неохваченных языков",
"c3Sub": "{n} стран с наибольшим числом языков, для которых ничего не найдено. Длина столбца — каждый язык, присутствующий в этой стране.",
- "c3Unit": "языки, присутствующие в стране (трансграничный язык считается в каждой)"
+ "c3Unit": "языки, присутствующие в стране (трансграничный язык считается в каждой)",
+ "noneHero": "{noScripture} — у {nNone} из {nLang} языков, языков {popNone} человек.",
+ "noneHeroFound": "ни Писания, ни фильма в проверенных источниках"
},
"filter": {
"showingOnly": "Показаны только {what}.",
diff --git a/library/i18n/locales/zh/gospel.json b/library/i18n/locales/zh/gospel.json
index 30da46ddc..3f2ba7abc 100644
--- a/library/i18n/locales/zh/gospel.json
+++ b/library/i18n/locales/zh/gospel.json
@@ -333,7 +333,9 @@
"c2Unit": "以该语言为主要语言的族群人口 — 不是该语言的全部使用者",
"c3Title": "未得服事语言最多的国家",
"c3Sub": "一无所获语言最多的 {n} 个国家。条形长度为该国存在的全部语言。",
- "c3Unit": "该国存在的语言(跨境语言在每个国家各计一次)"
+ "c3Unit": "该国存在的语言(跨境语言在每个国家各计一次)",
+ "noneHero": "{nLang} 种语言中有 {nNone} 种{noScripture}——这是 {popNone} 人的语言。",
+ "noneHeroFound": "在已查询的资源库中既无圣经也无影片"
},
"filter": {
"showingOnly": "仅显示{what}。",
diff --git a/plugin-designs/gospel-resources/charts.vue b/plugin-designs/gospel-resources/charts.vue
index 0b83e610b..2d13cf213 100644
--- a/plugin-designs/gospel-resources/charts.vue
+++ b/plugin-designs/gospel-resources/charts.vue
@@ -46,6 +46,8 @@
* inlining it into the IIFE would block first paint for every profile in the bundle).
*/
import { useOptionalT } from '@map/composables/useOptionalT.js'
+import { sentenceParts, strong, ltr, keep } from '@map/composables/useSentence.js'
+import { h } from 'vue'
import { computed, inject, ref, watch } from 'vue'
import BarChart from '@map/components/charts/BarChart.vue'
import { useShadowStyles } from '@map/composables/useShadowStyles.js'
@@ -67,6 +69,22 @@ import { useShadowStyles } from '@map/composables/useShadowStyles.js'
// with English as the last resort. tStatic resolves 'gospel.