diff --git a/library/i18n/locales/ar/dashboard.json b/library/i18n/locales/ar/dashboard.json index edd0999c2..f1b3459d0 100644 --- a/library/i18n/locales/ar/dashboard.json +++ b/library/i18n/locales/ar/dashboard.json @@ -76,5 +76,6 @@ "people_committed": "الأشخاص الملتزمون", "people_praying": "الأشخاص المصلّون", "selected_first": "المحدَّدة أولاً", - "selected_first_hint": "رفع الشعوب المحدَّدة إلى الأعلى مع الإبقاء على ترتيب الأعمدة" + "selected_first_hint": "رفع الشعوب المحدَّدة إلى الأعلى مع الإبقاء على ترتيب الأعمدة", + "n_shown": "{n} معروض" } diff --git a/library/i18n/locales/de/dashboard.json b/library/i18n/locales/de/dashboard.json index 71265b477..42c446f13 100644 --- a/library/i18n/locales/de/dashboard.json +++ b/library/i18n/locales/de/dashboard.json @@ -76,5 +76,6 @@ "people_committed": "Verbindlich zugesagte Personen", "people_praying": "Betende Personen", "selected_first": "Ausgewählte zuerst", - "selected_first_hint": "Die ausgewählten Volksgruppen nach oben holen, die Spaltensortierung bleibt erhalten" + "selected_first_hint": "Die ausgewählten Volksgruppen nach oben holen, die Spaltensortierung bleibt erhalten", + "n_shown": "{n} angezeigt" } diff --git a/library/i18n/locales/en/dashboard.json b/library/i18n/locales/en/dashboard.json index e606331ad..5c14c0a65 100644 --- a/library/i18n/locales/en/dashboard.json +++ b/library/i18n/locales/en/dashboard.json @@ -76,5 +76,6 @@ "people_committed": "People committed", "people_praying": "People praying", "selected_first": "Selected first", - "selected_first_hint": "Float the selected people groups to the top, keeping your column sort" + "selected_first_hint": "Float the selected people groups to the top, keeping your column sort", + "n_shown": "{n} shown" } diff --git a/library/i18n/locales/es/dashboard.json b/library/i18n/locales/es/dashboard.json index 1ff973162..0e62f7edd 100644 --- a/library/i18n/locales/es/dashboard.json +++ b/library/i18n/locales/es/dashboard.json @@ -76,5 +76,6 @@ "people_committed": "Personas comprometidas", "people_praying": "Personas que oran", "selected_first": "Los seleccionados primero", - "selected_first_hint": "Llevar arriba los grupos de personas seleccionados, manteniendo el orden de las columnas" + "selected_first_hint": "Llevar arriba los grupos de personas seleccionados, manteniendo el orden de las columnas", + "n_shown": "{n} mostrados" } diff --git a/library/i18n/locales/fr/dashboard.json b/library/i18n/locales/fr/dashboard.json index 3258a0b77..cb69c14be 100644 --- a/library/i18n/locales/fr/dashboard.json +++ b/library/i18n/locales/fr/dashboard.json @@ -76,5 +76,6 @@ "people_committed": "Personnes engagées", "people_praying": "Personnes qui prient", "selected_first": "La sélection en premier", - "selected_first_hint": "Faire remonter les groupes de personnes sélectionnés, en conservant le tri des colonnes" + "selected_first_hint": "Faire remonter les groupes de personnes sélectionnés, en conservant le tri des colonnes", + "n_shown": "{n} affichés" } diff --git a/library/i18n/locales/hi/dashboard.json b/library/i18n/locales/hi/dashboard.json index 3b364d1bc..9ab951d37 100644 --- a/library/i18n/locales/hi/dashboard.json +++ b/library/i18n/locales/hi/dashboard.json @@ -76,5 +76,6 @@ "people_committed": "प्रतिबद्ध लोग", "people_praying": "प्रार्थना करने वाले लोग", "selected_first": "चयनित पहले", - "selected_first_hint": "चयनित जनसमूहों को ऊपर लाएँ, आपका कॉलम क्रम बनाए रखते हुए" + "selected_first_hint": "चयनित जनसमूहों को ऊपर लाएँ, आपका कॉलम क्रम बनाए रखते हुए", + "n_shown": "{n} दिखाए गए" } diff --git a/library/i18n/locales/it/dashboard.json b/library/i18n/locales/it/dashboard.json index 6d419ba50..38962bbe7 100644 --- a/library/i18n/locales/it/dashboard.json +++ b/library/i18n/locales/it/dashboard.json @@ -76,5 +76,6 @@ "people_committed": "Persone impegnate", "people_praying": "Persone che pregano", "selected_first": "Prima i selezionati", - "selected_first_hint": "Porta in alto i gruppi di persone selezionati, mantenendo l’ordinamento delle colonne" + "selected_first_hint": "Porta in alto i gruppi di persone selezionati, mantenendo l’ordinamento delle colonne", + "n_shown": "{n} mostrati" } diff --git a/library/i18n/locales/pt/dashboard.json b/library/i18n/locales/pt/dashboard.json index 645a833a5..58e608c35 100644 --- a/library/i18n/locales/pt/dashboard.json +++ b/library/i18n/locales/pt/dashboard.json @@ -76,5 +76,6 @@ "people_committed": "Pessoas comprometidas", "people_praying": "Pessoas a orar", "selected_first": "Os selecionados primeiro", - "selected_first_hint": "Trazer para cima os grupos de pessoas selecionados, mantendo a ordenação das colunas" + "selected_first_hint": "Trazer para cima os grupos de pessoas selecionados, mantendo a ordenação das colunas", + "n_shown": "{n} apresentados" } diff --git a/library/i18n/locales/ro/dashboard.json b/library/i18n/locales/ro/dashboard.json index d823f4e01..67edd6723 100644 --- a/library/i18n/locales/ro/dashboard.json +++ b/library/i18n/locales/ro/dashboard.json @@ -76,5 +76,6 @@ "people_committed": "Persoane angajate", "people_praying": "Persoane care se roagă", "selected_first": "Cele selectate primele", - "selected_first_hint": "Ridică grupurile de oameni selectate în partea de sus, păstrând sortarea coloanelor" + "selected_first_hint": "Ridică grupurile de oameni selectate în partea de sus, păstrând sortarea coloanelor", + "n_shown": "{n} afișate" } diff --git a/library/i18n/locales/ru/dashboard.json b/library/i18n/locales/ru/dashboard.json index 39f01f844..851688878 100644 --- a/library/i18n/locales/ru/dashboard.json +++ b/library/i18n/locales/ru/dashboard.json @@ -76,5 +76,6 @@ "people_committed": "Взявшие обязательство", "people_praying": "Молящиеся", "selected_first": "Выбранные сначала", - "selected_first_hint": "Поднять выбранные народы наверх, сохранив сортировку столбцов" + "selected_first_hint": "Поднять выбранные народы наверх, сохранив сортировку столбцов", + "n_shown": "{n} показано" } diff --git a/library/i18n/locales/zh/dashboard.json b/library/i18n/locales/zh/dashboard.json index 36f9583e9..17727a3c8 100644 --- a/library/i18n/locales/zh/dashboard.json +++ b/library/i18n/locales/zh/dashboard.json @@ -76,5 +76,6 @@ "people_committed": "已承诺的人数", "people_praying": "祷告的人数", "selected_first": "所选优先", - "selected_first_hint": "将所选民族置顶,同时保留您的列排序" + "selected_first_hint": "将所选民族置顶,同时保留您的列排序", + "n_shown": "显示 {n} 个" } diff --git a/plugin-designs/big-picture/big-picture.vue b/plugin-designs/big-picture/big-picture.vue index a3fb020d5..669ce5b89 100644 --- a/plugin-designs/big-picture/big-picture.vue +++ b/plugin-designs/big-picture/big-picture.vue @@ -112,7 +112,23 @@ watch(textDir, reflectDir) // The host's people-group LIST (library/lists/), handed to both children as the only key of their // profile-config, so nothing else about them changes. Absent = the default list. -const listConfig = computed(() => (config.value.list ? JSON.stringify({ list: config.value.list }) : '')) +// ★ THE LOCALE TRAVELS WITH THE LIST (rega, row 47: big-picture rendered 31 Arabic text nodes +// through profile-config against 79 through ?lang=, and check:host-locale-contract measured 402 +// against 888). This handed each child ONLY the list, so the one documented channel a partner has +// for asking a nested element to speak Arabic — its profile-config — arrived empty of any locale. +// setRuntimeLocale above covers everything that reads tStatic, which is why the headline and much +// of the chrome were already right; it does not cover a child that reads its own profile-config. +// Threading it costs nothing and is what ProfileLoader would have done had one existed beneath this +// composite, which is exactly the (C) failure mode: a composite that BAKES its children in has no +// ProfileLoader under it, so it must do that job itself. +// This is ONE identified gap, not a claim to have closed the whole 402/888 difference; rega +// re-measures. +const listConfig = computed(() => { + const cfg = {} + if (config.value.list) cfg.list = config.value.list + if (hostLang.value) cfg.lang = hostLang.value + return Object.keys(cfg).length ? JSON.stringify(cfg) : '' +}) const prayBaseUrl = computed(() => config.value.prayBaseUrl || '') const languageCode = computed(() => config.value.languageCode || '') diff --git a/plugin-designs/big-picture/src/components/BpResearchHeader.vue b/plugin-designs/big-picture/src/components/BpResearchHeader.vue index 9d43f9fc4..66d246cbe 100644 --- a/plugin-designs/big-picture/src/components/BpResearchHeader.vue +++ b/plugin-designs/big-picture/src/components/BpResearchHeader.vue @@ -161,7 +161,7 @@ onMounted(loadOptions) class="rh-count" role="status" aria-live="polite" - >{{ count }} shown + >{{ (L('n_shown', '') || tStatic('dashboard.n_shown') || '{n} shown').replace('{n}', count) }}