The plugin is 'UPG100 Posters', x11 (the series stays 'UPG100 List'), and every spaced 'UPG 100' label becomes 'UPG100'

The tab label in both shells (doxa-maps-spa, posterverse) x11 in each language's own grammar (de 'UPG100-Poster',
es 'Carteles UPG100', zh 'UPG100 海报', …), upgMap displayName and wallHeading x11, the three meta labels, the
nav item and the dev title; the spa's default tab label, the posterverse description, the UPG-100 legend's
count column and the poster-sections noun. Values only: ids, keys, paths and file names stay.
This commit is contained in:
Doxa Maps 2026-10-02 21:48:33 +00:00
parent 7de63201bf
commit db3ef22481
22 changed files with 54 additions and 54 deletions

View file

@ -16,8 +16,8 @@
"copySelection": "نسخ",
"exportCsv": "تصدير CSV",
"copyNotRegroupable": "لا يمكن إعادة تجميعها معًا: انسخ ولايات أو مقاطعات بلد واحد، أو البلدان، كلًّا على حدة",
"displayName": "ملصقات قائمة UPG100",
"wallHeading": "ملصقات قائمة UPG100",
"displayName": "ملصقات UPG100",
"wallHeading": "ملصقات UPG100",
"wallIntroA": "كيف تُطعم جمعًا من خمسة آلاف؟ أجلسهم يسوع جماعاتٍ من خمسين ومن مئة، فصار المستحيل قابلًا للمشاركة (لوقا ٩:١٤). فعلنا المثل مع {n} شعوب غير مبلَّغة: ٢٧ قائمة من نحو خمسين إلى مئة. تُطبع كل قائمة حزمةَ صلاة وملصقًا، ليحمل ٢٧ تلميذًا أو كنيسة أو قائدًا محليًا كلٌّ واحدة — مصلّين لأجلهم ",
"peopleStillLoading": "لا تزال الشعوب قيد التحميل، حاول مرة أخرى بعد لحظة"
}

View file

@ -16,8 +16,8 @@
"copySelection": "Kopieren",
"exportCsv": "CSV exportieren",
"copyNotRegroupable": "Nicht gemeinsam umgruppierbar: Bundesstaaten oder Provinzen eines Landes oder die Länder getrennt kopieren",
"displayName": "Poster der UPG100-Liste",
"wallHeading": "Poster der UPG100-Liste",
"displayName": "UPG100-Poster",
"wallHeading": "UPG100-Poster",
"wallIntroA": "Wie würden Sie eine Menge von fünftausend speisen? Jesus ließ sie in Gruppen zu fünfzig und hundert lagern, und das Unmögliche wurde teilbar (Lukas 9,14). Dasselbe haben wir mit den {n} unerreichten Volksgruppen getan: 27 Listen von etwa fünfzig bis hundert. Jede Liste druckt als Gebetspaket und als Poster, damit 27 Jünger, Gemeinden oder einheimische Leiter je eine tragen können — und für sie beten ",
"peopleStillLoading": "die Volksgruppen werden noch geladen; versuchen Sie es gleich noch einmal"
}

View file

@ -16,8 +16,8 @@
"copySelection": "Copy",
"exportCsv": "Export CSV",
"copyNotRegroupable": "Can't be regrouped together: copy one country's states or provinces, or the countries, separately",
"displayName": "UPG100 List Posters",
"wallHeading": "UPG100 List Posters",
"displayName": "UPG100 Posters",
"wallHeading": "UPG100 Posters",
"wallIntroA": "How would you feed a crowd of five thousand? Jesus sat them down in groups of fifty and a hundred, and the impossible became shareable (Luke 9:14). We did the same with the {n} unreached people groups: 27 lists of about fifty to a hundred. Each list prints as a prayer packet and a poster, so 27 disciples, churches or local leaders can each carry one — praying for them ",
"peopleStillLoading": "the people groups are still loading, try again in a moment"
}

View file

@ -16,8 +16,8 @@
"copySelection": "Copiar",
"exportCsv": "Exportar CSV",
"copyNotRegroupable": "No se pueden reagrupar juntos: copia por separado los estados o provincias de un solo país, o los países",
"displayName": "Carteles de la lista UPG100",
"wallHeading": "Carteles de la lista UPG100",
"displayName": "Carteles UPG100",
"wallHeading": "Carteles UPG100",
"wallIntroA": "¿Cómo alimentarías a una multitud de cinco mil? Jesús los sentó en grupos de cincuenta y de cien, y lo imposible se volvió compartible (Lucas 9:14). Hicimos lo mismo con los {n} pueblos no alcanzados: 27 listas de unos cincuenta a cien. Cada lista se imprime como paquete de oración y cartel, para que 27 discípulos, iglesias o líderes locales lleven una cada uno — orando por ellos ",
"peopleStillLoading": "los pueblos aún se están cargando; inténtalo de nuevo en un momento"
}

View file

@ -16,8 +16,8 @@
"copySelection": "Copier",
"exportCsv": "Exporter en CSV",
"copyNotRegroupable": "Impossible de les regrouper ensemble : copiez séparément les États ou provinces d’un seul pays, ou les pays",
"displayName": "Affiches de la liste UPG100",
"wallHeading": "Affiches de la liste UPG100",
"displayName": "Affiches UPG100",
"wallHeading": "Affiches UPG100",
"wallIntroA": "Comment nourririez-vous une foule de cinq mille personnes ? Jésus les a fait asseoir par groupes de cinquante et de cent, et l’impossible est devenu partageable (Luc 9.14). Nous avons fait de même avec les {n} peuples non atteints : 27 listes d’environ cinquante à cent. Chaque liste s’imprime en dossier de prière et en affiche, pour que 27 disciples, Églises ou responsables locaux en portent chacun une — en priant pour eux ",
"peopleStillLoading": "les peuples sont encore en cours de chargement ; réessayez dans un instant"
}

View file

@ -16,8 +16,8 @@
"copySelection": "कॉपी करें",
"exportCsv": "CSV निर्यात करें",
"copyNotRegroupable": "इन्हें एक साथ पुनर्समूहित नहीं किया जा सकता: एक देश के राज्य या प्रांत, या देश, अलग-अलग कॉपी करें",
"displayName": "UPG100 सूची पोस्टर",
"wallHeading": "UPG100 सूची पोस्टर",
"displayName": "UPG100 पोस्टर",
"wallHeading": "UPG100 पोस्टर",
"wallIntroA": "पाँच हज़ार की भीड़ को आप कैसे खिलाते? यीशु ने उन्हें पचास-पचास और सौ-सौ के समूहों में बिठाया, और असंभव बाँटने योग्य हो गया (लूका 9:14). हमने {n} अनपहुँचे जनसमूहों के साथ वही किया: लगभग पचास से सौ तक की 27 सूचियाँ. हर सूची प्रार्थना पैकेट और पोस्टर के रूप में छपती है, ताकि 27 शिष्य, कलीसियाएँ या स्थानीय अगुवे एक-एक ले सकें — उनके लिए प्रार्थना करते हुए ",
"peopleStillLoading": "जनसमूह अभी लोड हो रहे हैं, थोड़ी देर में फिर कोशिश करें"
}

View file

@ -16,8 +16,8 @@
"copySelection": "Copia",
"exportCsv": "Esporta CSV",
"copyNotRegroupable": "Non si possono raggruppare insieme: copia separatamente gli stati o le province di un solo paese, o i paesi",
"displayName": "Poster della lista UPG100",
"wallHeading": "Poster della lista UPG100",
"displayName": "Poster UPG100",
"wallHeading": "Poster UPG100",
"wallIntroA": "Come sfameresti una folla di cinquemila? Gesù li fece sedere a gruppi di cinquanta e di cento, e l’impossibile divenne condivisibile (Luca 9:14). Abbiamo fatto lo stesso con i {n} popoli non raggiunti: 27 liste di circa cinquanta-cento. Ogni lista si stampa come pacchetto di preghiera e manifesto, così 27 discepoli, chiese o responsabili locali ne portano una ciascuno — pregando per loro ",
"peopleStillLoading": "i popoli si stanno ancora caricando; riprova tra un momento"
}

View file

@ -16,8 +16,8 @@
"copySelection": "Copiar",
"exportCsv": "Exportar CSV",
"copyNotRegroupable": "Não podem ser reagrupados juntos: copie separadamente os estados ou províncias de um só país, ou os países",
"displayName": "Cartazes da lista UPG100",
"wallHeading": "Cartazes da lista UPG100",
"displayName": "Cartazes UPG100",
"wallHeading": "Cartazes UPG100",
"wallIntroA": "Como você alimentaria uma multidão de cinco mil? Jesus os sentou em grupos de cinquenta e de cem, e o impossível tornou-se compartilhável (Lucas 9.14). Fizemos o mesmo com os {n} povos não alcançados: 27 listas de cerca de cinquenta a cem. Cada lista imprime como pacote de oração e cartaz, para que 27 discípulos, igrejas ou líderes locais levem uma cada um — orando por eles ",
"peopleStillLoading": "os povos ainda estão carregando; tente de novo em um instante"
}

View file

@ -16,8 +16,8 @@
"copySelection": "Copiază",
"exportCsv": "Exportă CSV",
"copyNotRegroupable": "Nu pot fi regrupate împreună: copiază separat statele sau provinciile unei singure țări, sau țările",
"displayName": "Afișe din lista UPG100",
"wallHeading": "Afișe din lista UPG100",
"displayName": "Afișe UPG100",
"wallHeading": "Afișe UPG100",
"wallIntroA": "Cum ai hrăni o mulțime de cinci mii? Isus i-a așezat în grupuri de cincizeci și de o sută, iar imposibilul a devenit împărțibil (Luca 9:14). Am făcut la fel cu cele {n} popoare neatinse: 27 de liste de aproximativ cincizeci până la o sută. Fiecare listă se tipărește ca pachet de rugăciune și afiș, ca 27 de ucenici, biserici sau lideri locali să poarte fiecare câte una — rugându-se pentru ei ",
"peopleStillLoading": "popoarele încă se încarcă; încearcă din nou peste o clipă"
}

View file

@ -16,8 +16,8 @@
"copySelection": "Копировать",
"exportCsv": "Экспорт в CSV",
"copyNotRegroupable": "Нельзя перегруппировать вместе: копируйте отдельно штаты или провинции одной страны либо страны",
"displayName": "Плакаты списка UPG100",
"wallHeading": "Плакаты списка UPG100",
"displayName": "Плакаты UPG100",
"wallHeading": "Плакаты UPG100",
"wallIntroA": "Как накормить толпу в пять тысяч человек? Иисус рассадил их группами по пятьдесят и по сто, и невозможное стало посильным (Лк. 9:14). Мы поступили так же с {n} неохваченными народами: 27 списков примерно по пятьдесят-сто. Каждый список печатается как молитвенный пакет и плакат, чтобы 27 учеников, церквей или местных служителей взяли по одному — молясь о них ",
"peopleStillLoading": "народы ещё загружаются; попробуйте ещё раз через мгновение"
}

View file

@ -16,8 +16,8 @@
"copySelection": "复制",
"exportCsv": "导出 CSV",
"copyNotRegroupable": "无法一起重新分组:请分别复制同一国家的邦或省,或各个国家",
"displayName": "UPG100 名单海报",
"wallHeading": "UPG100 名单海报",
"displayName": "UPG100 海报",
"wallHeading": "UPG100 海报",
"wallIntroA": "你会怎样喂饱五千人的群众?耶稣让他们一排五十、一排一百地坐下,不可能的事就变得可以分担了(路加福音 9:14)。我们对 {n} 个未得之民做了同样的事:27 份名单,每份约五十到一百。每份名单都能印成祷告手册和海报,让 27 位门徒、教会或当地领袖各领一份 — 为他们祷告 ",
"peopleStillLoading": "族群仍在加载中,请稍后再试"
}

View file

@ -26,7 +26,7 @@ export const NAV = [
// default view — no separate bundle needed. The `embed` icon (<>) marks it as
// the embeddable/share-first map.
{ kind: 'item', id: 'prayer-progress', label: 'Prayer Progress', icon: 'embed', target: 'both' },
{ kind: 'item', id: 'upg-100-list', label: 'My UPG100 List', icon: 'list', target: 'both' },
{ kind: 'item', id: 'upg-100-list', label: 'UPG100 Posters', icon: 'list', target: 'both' },
// REMOVED 'Prayer List' (2026-07-29): not a real app.
],
},

View file

@ -503,7 +503,7 @@ const TAB_DEFS = [
bundle: 'regions-dashboard', profile: 'regions-mfe'
},
{
id: 'upg-100', label: 'UPG 100 List Posters', sub: 'my unreached list + posters', emoji: '📋',
id: 'upg-100', label: 'UPG100 Posters', sub: 'my unreached list + posters', emoji: '📋',
bundle: 'my-upg-100-list', profile: 'upg-100-mfe'
},
{

View file

@ -25,7 +25,7 @@ export const STRINGS = {
'tab.cities-internet': 'Cities with Internet', 'sub.cities-internet': 'connectivity of key cities',
'tab.gospel-resources': 'Gospel Resources', 'sub.gospel-resources': 'resources by place',
'tab.regions-dashboard': 'Regions', 'sub.regions-dashboard': 'regions and their countries',
'tab.upg-100': "UPG100 List Posters", 'sub.upg-100': 'my unreached list + posters',
'tab.upg-100': "UPG100 Posters", 'sub.upg-100': 'my unreached list + posters',
navLabel: 'Research maps', meta: '{n} maps', loading: 'Loading {label}…', loadFailed: 'Could not load {label}.',
manifestHint: 'This tab is composed from manifest.json — build the tree, or serve the built tree, to load it.',
close: 'Close', help: 'About this map', desktopOnly: 'desktop only', lab: 'lab', experimentalSub: 'experimental bundle',
@ -46,7 +46,7 @@ export const STRINGS = {
'tab.cities-internet': 'Ciudades con Internet', 'sub.cities-internet': 'conectividad de ciudades clave',
'tab.gospel-resources': 'Recursos del Evangelio', 'sub.gospel-resources': 'recursos por lugar',
'tab.regions-dashboard': 'Regiones', 'sub.regions-dashboard': 'regiones y sus países',
'tab.upg-100': "Carteles de la lista UPG100", 'sub.upg-100': 'mi lista de no alcanzados + carteles',
'tab.upg-100': "Carteles UPG100", 'sub.upg-100': 'mi lista de no alcanzados + carteles',
navLabel: 'Mapas de investigación', meta: '{n} mapas', loading: 'Cargando {label}…', loadFailed: 'No se pudo cargar {label}.',
manifestHint: 'Esta pestaña se compone a partir de manifest.json: compila el árbol o sirve el árbol compilado para cargarla.',
close: 'Cerrar', help: 'Acerca de este mapa', desktopOnly: 'solo escritorio', lab: 'beta', experimentalSub: 'mapa experimental',
@ -67,7 +67,7 @@ export const STRINGS = {
'tab.cities-internet': 'Villes avec Internet', 'sub.cities-internet': 'connectivité des villes clés',
'tab.gospel-resources': "Ressources de l'Évangile", 'sub.gospel-resources': 'ressources par lieu',
'tab.regions-dashboard': 'Régions', 'sub.regions-dashboard': 'régions et leurs pays',
'tab.upg-100': "Affiches de la liste UPG100", 'sub.upg-100': 'ma liste des non atteints + affiches',
'tab.upg-100': "Affiches UPG100", 'sub.upg-100': 'ma liste des non atteints + affiches',
navLabel: 'Cartes de recherche', meta: '{n} cartes', loading: 'Chargement de {label}…', loadFailed: 'Impossible de charger {label}.',
manifestHint: "Cet onglet est composé à partir de manifest.json : construisez l'arborescence ou servez l'arborescence construite pour le charger.",
close: 'Fermer', help: 'À propos de cette carte', desktopOnly: 'ordinateur uniquement', lab: 'bêta', experimentalSub: 'carte expérimentale',
@ -88,7 +88,7 @@ export const STRINGS = {
'tab.cities-internet': 'Städte mit Internet', 'sub.cities-internet': 'Konnektivität wichtiger Städte',
'tab.gospel-resources': 'Evangeliumsressourcen', 'sub.gospel-resources': 'Ressourcen nach Ort',
'tab.regions-dashboard': 'Regionen', 'sub.regions-dashboard': 'Regionen und ihre Länder',
'tab.upg-100': "Poster der UPG100-Liste", 'sub.upg-100': 'meine Liste der Unerreichten + Poster',
'tab.upg-100': "UPG100-Poster", 'sub.upg-100': 'meine Liste der Unerreichten + Poster',
navLabel: 'Forschungskarten', meta: '{n} Karten', loading: '{label} wird geladen…', loadFailed: '{label} konnte nicht geladen werden.',
manifestHint: 'Dieser Tab wird aus manifest.json zusammengesetzt – bauen Sie den Baum oder stellen Sie den gebauten Baum bereit, um ihn zu laden.',
close: 'Schließen', help: 'Über diese Karte', desktopOnly: 'nur Desktop', lab: 'Beta', experimentalSub: 'experimentelle Karte',
@ -109,7 +109,7 @@ export const STRINGS = {
'tab.cities-internet': 'Cidades com Internet', 'sub.cities-internet': 'conectividade das principais cidades',
'tab.gospel-resources': 'Recursos do Evangelho', 'sub.gospel-resources': 'recursos por lugar',
'tab.regions-dashboard': 'Regiões', 'sub.regions-dashboard': 'regiões e seus países',
'tab.upg-100': "Cartazes da lista UPG100", 'sub.upg-100': 'minha lista de não alcançados + cartazes',
'tab.upg-100': "Cartazes UPG100", 'sub.upg-100': 'minha lista de não alcançados + cartazes',
navLabel: 'Mapas de pesquisa', meta: '{n} mapas', loading: 'Carregando {label}…', loadFailed: 'Não foi possível carregar {label}.',
manifestHint: 'Esta aba é composta a partir do manifest.json — compile a árvore ou sirva a árvore compilada para carregá-la.',
close: 'Fechar', help: 'Sobre este mapa', desktopOnly: 'só no computador', lab: 'beta', experimentalSub: 'mapa experimental',
@ -132,7 +132,7 @@ export const STRINGS = {
'tab.cities-internet': 'Città con Internet', 'sub.cities-internet': 'connettività delle città chiave',
'tab.gospel-resources': 'Risorse del Vangelo', 'sub.gospel-resources': 'risorse per luogo',
'tab.regions-dashboard': 'Regioni', 'sub.regions-dashboard': 'regioni e i loro paesi',
'tab.upg-100': "Poster della lista UPG100", 'sub.upg-100': 'la mia lista dei non raggiunti + poster',
'tab.upg-100': "Poster UPG100", 'sub.upg-100': 'la mia lista dei non raggiunti + poster',
navLabel: 'Mappe di ricerca', meta: '{n} mappe', loading: 'Caricamento di {label}…', loadFailed: 'Impossibile caricare {label}.',
manifestHint: "Questa scheda è composta da manifest.json: compila l'albero o pubblica l'albero compilato per caricarla.",
close: 'Chiudi', help: 'Informazioni su questa mappa', desktopOnly: 'solo desktop', lab: 'beta', experimentalSub: 'mappa sperimentale',
@ -153,7 +153,7 @@ export const STRINGS = {
'tab.cities-internet': 'Orașe cu internet', 'sub.cities-internet': 'conectivitatea orașelor-cheie',
'tab.gospel-resources': 'Resurse ale Evangheliei', 'sub.gospel-resources': 'resurse după loc',
'tab.regions-dashboard': 'Regiuni', 'sub.regions-dashboard': 'regiunile și țările lor',
'tab.upg-100': "Afișe din lista UPG100", 'sub.upg-100': 'lista mea de neatinși + afișe',
'tab.upg-100': "Afișe UPG100", 'sub.upg-100': 'lista mea de neatinși + afișe',
navLabel: 'Hărți de cercetare', meta: '{n} hărți', loading: 'Se încarcă {label}…', loadFailed: '{label} nu a putut fi încărcat.',
manifestHint: 'Această filă este compusă din manifest.json — construiți arborele sau serviți arborele construit pentru a o încărca.',
close: 'Închide', help: 'Despre această hartă', desktopOnly: 'doar pe desktop', lab: 'beta', experimentalSub: 'hartă experimentală',
@ -174,7 +174,7 @@ export const STRINGS = {
'tab.cities-internet': 'Города с интернетом', 'sub.cities-internet': 'подключённость ключевых городов',
'tab.gospel-resources': 'Евангельские ресурсы', 'sub.gospel-resources': 'ресурсы по местам',
'tab.regions-dashboard': 'Регионы', 'sub.regions-dashboard': 'регионы и их страны',
'tab.upg-100': "Плакаты списка UPG100", 'sub.upg-100': 'мой список недостигнутых + плакаты',
'tab.upg-100': "Плакаты UPG100", 'sub.upg-100': 'мой список недостигнутых + плакаты',
navLabel: 'Исследовательские карты', meta: 'Карт: {n}', loading: 'Загрузка: {label}…', loadFailed: 'Не удалось загрузить: {label}.',
manifestHint: 'Эта вкладка собирается из manifest.json — соберите дерево или разместите собранное дерево, чтобы загрузить её.',
close: 'Закрыть', help: 'Об этой карте', desktopOnly: 'только на компьютере', lab: 'бета', experimentalSub: 'экспериментальная карта',
@ -195,7 +195,7 @@ export const STRINGS = {
'tab.cities-internet': 'مدن متصلة بالإنترنت', 'sub.cities-internet': 'اتصال المدن الرئيسية',
'tab.gospel-resources': 'موارد الإنجيل', 'sub.gospel-resources': 'الموارد حسب المكان',
'tab.regions-dashboard': 'المناطق', 'sub.regions-dashboard': 'المناطق ودولها',
'tab.upg-100': "ملصقات قائمة UPG100", 'sub.upg-100': 'قائمتي لغير المُبشَّرين + ملصقات',
'tab.upg-100': "ملصقات UPG100", 'sub.upg-100': 'قائمتي لغير المُبشَّرين + ملصقات',
navLabel: 'خرائط البحث', meta: 'عدد الخرائط: {n}', loading: 'جارٍ تحميل {label}…', loadFailed: 'تعذّر تحميل {label}.',
manifestHint: 'تُبنى علامة التبويب هذه من manifest.json — ابنِ الشجرة أو قدّم الشجرة المبنية لتحميلها.',
close: 'إغلاق', help: 'عن هذه الخريطة', desktopOnly: 'على الحاسوب فقط', lab: 'تجريبي', experimentalSub: 'خريطة تجريبية',
@ -216,7 +216,7 @@ export const STRINGS = {
'tab.cities-internet': 'इंटरनेट वाले शहर', 'sub.cities-internet': 'प्रमुख शहरों की कनेक्टिविटी',
'tab.gospel-resources': 'सुसमाचार संसाधन', 'sub.gospel-resources': 'स्थान के अनुसार संसाधन',
'tab.regions-dashboard': 'क्षेत्र', 'sub.regions-dashboard': 'क्षेत्र और उनके देश',
'tab.upg-100': "UPG100 सूची पोस्टर", 'sub.upg-100': 'मेरी अप्राप्त सूची + पोस्टर',
'tab.upg-100': "UPG100 पोस्टर", 'sub.upg-100': 'मेरी अप्राप्त सूची + पोस्टर',
navLabel: 'शोध मानचित्र', meta: '{n} मानचित्र', loading: '{label} लोड हो रहा है…', loadFailed: '{label} लोड नहीं हो सका।',
manifestHint: 'यह टैब manifest.json से बनता है — इसे लोड करने के लिए ट्री बनाएँ या बना हुआ ट्री सर्व करें।',
close: 'बंद करें', help: 'इस नक्शे के बारे में', desktopOnly: 'केवल डेस्कटॉप', lab: 'बीटा', experimentalSub: 'प्रायोगिक मानचित्र',
@ -237,7 +237,7 @@ export const STRINGS = {
'tab.cities-internet': '有互联网的城市', 'sub.cities-internet': '主要城市的网络连接',
'tab.gospel-resources': '福音资源', 'sub.gospel-resources': '按地点划分的资源',
'tab.regions-dashboard': '区域', 'sub.regions-dashboard': '区域及其国家',
'tab.upg-100': "UPG100 名单海报", 'sub.upg-100': '我的未得之民名单 + 海报',
'tab.upg-100': "UPG100 海报", 'sub.upg-100': '我的未得之民名单 + 海报',
navLabel: '研究地图', meta: '{n} 张地图', loading: '正在加载{label}…', loadFailed: '无法加载{label}。',
manifestHint: '此标签页由 manifest.json 组成——请构建目录树或提供已构建的目录树以加载它。',
close: '关闭', help: '关于此地图', desktopOnly: '仅限桌面', lab: '测试版', experimentalSub: '实验性地图',

View file

@ -3,7 +3,7 @@
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>UPG100 List (dev)</title>
<title>UPG100 Posters (dev)</title>
<link rel="icon" href="data:,">
<link href="https://api.mapbox.com/mapbox-gl-js/v3.3.0/mapbox-gl.css" rel="stylesheet" />

View file

@ -1,4 +1,4 @@
{
"_comment": "The printable half of UPG-100: a wall of prayer-card posters, one per 100-list entry, with the three print paths. Declared so the Studio rail names it rather than falling back to a humanized id (check:studio-rail).",
"label": "UPG100 List Posters — Poster Wall"
"label": "UPG100 Posters — Poster Wall"
}

View file

@ -1,4 +1,4 @@
{
"_comment": "The map half of UPG-100: the zoned list of unengaged people groups, with the semantic-tree legend and the packet/poster exports. Declared so the Studio rail names it rather than falling back to a humanized id (check:studio-rail).",
"label": "UPG100 List Posters — Zoned Map"
"label": "UPG100 Posters — Zoned Map"
}

View file

@ -3309,7 +3309,7 @@ onBeforeUnmount(() => {
:tabs="LEGEND_TABS"
:default-tab="LEGEND_DEFAULT_TAB"
:columns="['count', 'pop']"
column-label="UPG 100"
column-label="UPG100"
:title="LEGEND_TITLE"
:is-dark="isDark"
popup-action="pray"

View file

@ -1,7 +1,7 @@
{
"stage": "production",
"type": "nested-elements-mfe",
"label": "UPG100 List Posters",
"label": "UPG100 Posters",
"composes": ["my-upg-100-list/upg-100-list", "my-upg-100-list/poster-wall"],
"note": "Composite MFE built on the pane-wrapper layout (imitates the shell's 'upg-100-list' panes: map at [0,0], Prayer Lists at [1,0]). Makes this bundle MFE-class (tier 1) in the plugin gallery. See eco-dx (internal): PS001-composition-model."
}

View file

@ -12,7 +12,7 @@ const ROOT = join(dirname(fileURLToPath(import.meta.url)), '../../..')
const FILE = join(ROOT, 'plugin-designs/poster-sections/poster-sections.instances.json')
const TYPES = [
{ type: 'country', prefix: 'countries', noun: 'Country posters', file: 'library/components/poster/types/countryPosterType.js' },
{ type: 'upg100-list', prefix: 'upg100', noun: 'UPG 100 posters', file: 'plugin-designs/my-upg-100-list/data/upg100-poster-type.js' },
{ type: 'upg100-list', prefix: 'upg100', noun: 'UPG100 Posters', file: 'plugin-designs/my-upg-100-list/data/upg100-poster-type.js' },
]
const old = JSON.parse(readFileSync(FILE, 'utf8'))
const { createServer } = await import('vite')

View file

@ -2,7 +2,7 @@
posterverse.vue — the second capability-5 app shell (nested-mfe-spa): every poster plugin in one place.
* @description Every poster plugin in one app: a vertical-tab rail of real, embeddable poster plugins.
Tabs: UPG 100 List Posters, Country Posters, Poster Design, and an Experimental folder of the
Tabs: UPG100 Posters, Country Posters, Poster Design, and an Experimental folder of the
poster-related experimental plugins. The same pattern as the Research Gallery (doxa-maps-spa),
reused rather than copied: the shared VerticalTabsLayout, bundle+profile identities resolved from
the tree's manifest, the library's loadScriptOnce/whenTagDefined, and the same profile-config

View file

@ -6,7 +6,7 @@
*
* VOCABULARY FOLLOWS THE RESEARCH GALLERY. A row that also appears in the gallery
* (plugin-designs/doxa-maps-spa/src/strings.js) uses the gallery's words verbatim, so the same plugin
* has one name in both shells: tab.upg-100 follows the "UPG100 List Posters" rename, and the
* has one name in both shells: tab.upg-100 follows the "UPG100 Posters" rename, and the
* Experimental names, status hints and the layout's own controls are copied as the gallery ships them.
*
* `en` is the source and the fallback: a key missing in a locale renders in English rather than as a
@ -15,7 +15,7 @@
export const STRINGS = {
en: {
'sec.posters': 'Posters', 'sec.experimental': 'Experimental',
'tab.upg-100': 'UPG100 List Posters', 'sub.upg-100': 'my unreached list + posters',
'tab.upg-100': 'UPG100 Posters', 'sub.upg-100': 'my unreached list + posters',
'tab.country-posters': 'Country Posters', 'sub.country-posters': 'a poster for every country',
'tab.poster-design': 'Poster Design', 'sub.poster-design': 'every poster style and size',
'tab.wall-of-people-groups': 'Wall of People Groups',
@ -30,7 +30,7 @@ export const STRINGS = {
},
es: {
'sec.posters': 'Carteles', 'sec.experimental': 'Experimental',
'tab.upg-100': 'Carteles de la lista UPG100', 'sub.upg-100': 'mi lista de no alcanzados + carteles',
'tab.upg-100': 'Carteles UPG100', 'sub.upg-100': 'mi lista de no alcanzados + carteles',
'tab.country-posters': 'Carteles por país', 'sub.country-posters': 'un cartel para cada país',
'tab.poster-design': 'Diseño de carteles', 'sub.poster-design': 'todos los estilos y tamaños de cartel',
'tab.wall-of-people-groups': 'Muro de los pueblos',
@ -45,7 +45,7 @@ export const STRINGS = {
},
fr: {
'sec.posters': 'Affiches', 'sec.experimental': 'Expérimental',
'tab.upg-100': 'Affiches de la liste UPG100', 'sub.upg-100': 'ma liste des non atteints + affiches',
'tab.upg-100': 'Affiches UPG100', 'sub.upg-100': 'ma liste des non atteints + affiches',
'tab.country-posters': 'Affiches par pays', 'sub.country-posters': 'une affiche pour chaque pays',
'tab.poster-design': 'Conception d’affiches', 'sub.poster-design': 'tous les styles et formats d’affiche',
'tab.wall-of-people-groups': 'Mur des peuples',
@ -60,7 +60,7 @@ export const STRINGS = {
},
de: {
'sec.posters': 'Poster', 'sec.experimental': 'Experimentell',
'tab.upg-100': 'Poster der UPG100-Liste', 'sub.upg-100': 'meine Liste der Unerreichten + Poster',
'tab.upg-100': 'UPG100-Poster', 'sub.upg-100': 'meine Liste der Unerreichten + Poster',
'tab.country-posters': 'Länderposter', 'sub.country-posters': 'ein Poster für jedes Land',
'tab.poster-design': 'Postergestaltung', 'sub.poster-design': 'alle Posterstile und -größen',
'tab.wall-of-people-groups': 'Wand der Volksgruppen',
@ -75,7 +75,7 @@ export const STRINGS = {
},
pt: {
'sec.posters': 'Cartazes', 'sec.experimental': 'Experimental',
'tab.upg-100': 'Cartazes da lista UPG100', 'sub.upg-100': 'minha lista de não alcançados + cartazes',
'tab.upg-100': 'Cartazes UPG100', 'sub.upg-100': 'minha lista de não alcançados + cartazes',
'tab.country-posters': 'Cartazes por país', 'sub.country-posters': 'um cartaz para cada país',
'tab.poster-design': 'Design de cartazes', 'sub.poster-design': 'todos os estilos e tamanhos de cartaz',
'tab.wall-of-people-groups': 'Mural dos povos',
@ -90,7 +90,7 @@ export const STRINGS = {
},
it: {
'sec.posters': 'Poster', 'sec.experimental': 'Sperimentale',
'tab.upg-100': 'Poster della lista UPG100', 'sub.upg-100': 'la mia lista dei non raggiunti + poster',
'tab.upg-100': 'Poster UPG100', 'sub.upg-100': 'la mia lista dei non raggiunti + poster',
'tab.country-posters': 'Poster per paese', 'sub.country-posters': 'un poster per ogni paese',
'tab.poster-design': 'Design dei poster', 'sub.poster-design': 'tutti gli stili e i formati dei poster',
'tab.wall-of-people-groups': 'Muro dei popoli',
@ -105,7 +105,7 @@ export const STRINGS = {
},
ro: {
'sec.posters': 'Afișe', 'sec.experimental': 'Experimental',
'tab.upg-100': 'Afișe din lista UPG100', 'sub.upg-100': 'lista mea de neatinși + afișe',
'tab.upg-100': 'Afișe UPG100', 'sub.upg-100': 'lista mea de neatinși + afișe',
'tab.country-posters': 'Afișe pe țări', 'sub.country-posters': 'un afiș pentru fiecare țară',
'tab.poster-design': 'Design de afișe', 'sub.poster-design': 'toate stilurile și dimensiunile de afiș',
'tab.wall-of-people-groups': 'Zidul popoarelor',
@ -120,7 +120,7 @@ export const STRINGS = {
},
ru: {
'sec.posters': 'Плакаты', 'sec.experimental': 'Экспериментальное',
'tab.upg-100': 'Плакаты списка UPG100', 'sub.upg-100': 'мой список недостигнутых + плакаты',
'tab.upg-100': 'Плакаты UPG100', 'sub.upg-100': 'мой список недостигнутых + плакаты',
'tab.country-posters': 'Плакаты по странам', 'sub.country-posters': 'плакат для каждой страны',
'tab.poster-design': 'Дизайн плакатов', 'sub.poster-design': 'все стили и размеры плакатов',
'tab.wall-of-people-groups': 'Стена народов',
@ -135,7 +135,7 @@ export const STRINGS = {
},
ar: {
'sec.posters': 'ملصقات', 'sec.experimental': 'تجريبي',
'tab.upg-100': 'ملصقات قائمة UPG100', 'sub.upg-100': 'قائمتي لغير المُبشَّرين + ملصقات',
'tab.upg-100': 'ملصقات UPG100', 'sub.upg-100': 'قائمتي لغير المُبشَّرين + ملصقات',
'tab.country-posters': 'ملصقات الدول', 'sub.country-posters': 'ملصق لكل دولة',
'tab.poster-design': 'تصميم الملصقات', 'sub.poster-design': 'كل أنماط الملصقات وأحجامها',
'tab.wall-of-people-groups': 'جدار الشعوب',
@ -150,7 +150,7 @@ export const STRINGS = {
},
hi: {
'sec.posters': 'पोस्टर', 'sec.experimental': 'प्रायोगिक',
'tab.upg-100': 'UPG100 सूची पोस्टर', 'sub.upg-100': 'मेरी अप्राप्त सूची + पोस्टर',
'tab.upg-100': 'UPG100 पोस्टर', 'sub.upg-100': 'मेरी अप्राप्त सूची + पोस्टर',
'tab.country-posters': 'देश पोस्टर', 'sub.country-posters': 'हर देश के लिए एक पोस्टर',
'tab.poster-design': 'पोस्टर डिज़ाइन', 'sub.poster-design': 'हर पोस्टर शैली और आकार',
'tab.wall-of-people-groups': 'जनसमूहों की दीवार',
@ -165,7 +165,7 @@ export const STRINGS = {
},
zh: {
'sec.posters': '海报', 'sec.experimental': '实验性',
'tab.upg-100': 'UPG100 名单海报', 'sub.upg-100': '我的未得之民名单 + 海报',
'tab.upg-100': 'UPG100 海报', 'sub.upg-100': '我的未得之民名单 + 海报',
'tab.country-posters': '国家海报', 'sub.country-posters': '每个国家一张海报',
'tab.poster-design': '海报设计', 'sub.poster-design': '所有海报样式与尺寸',
'tab.wall-of-people-groups': '民族之墙',