The language tree could write an SVG to disk; now it only prints
regions' fleet audit found the one poster path in the tree that downloaded a file. The Driver's rule is that a poster action opens the print dialog and never downloads, and there is no case for an exception here: printPoster builds the same poster from the same makePoster(), so the download was a second route to one artefact rather than a capability only it could offer. A reader who needs a file prints to PDF — the system's own dialog, not a silent write. The button, the function and the now-unreferenced tree.posterSvg key in all eleven locales are gone. The comment left in its place names check:poster-action- print, which regions is extending with this file as its poison case, so a download added here again fails a gate rather than shipping quietly. The two CSV export paths in GiGrid and GiResources are deliberately untouched: a table has no print equivalent, the export is a documented feature that writes a header line of sources with the data, and the rule — and that gate's own description — is about POSTER buttons. Flagged to the shepherd rather than left for the extended gate to trip over.
This commit is contained in:
parent
98fd04c86d
commit
7c1cfc8596
12 changed files with 7 additions and 21 deletions
|
|
@ -285,7 +285,6 @@
|
|||
"posterOmitted": "حُذف {n} اسمًا حيث كانت ستتداخل مع غيرها؛ كل دائرة مرسومة.",
|
||||
"posterPrint": "طباعة",
|
||||
"posterSizeAria": "حجم الملصق",
|
||||
"posterSvg": "تنزيل SVG",
|
||||
"posterTitle": "الوصول إلى الإنجيل، عائلة لغوية تلو الأخرى",
|
||||
"sources": "الشجرة: Glottolog (CC BY 4.0). الموارد: eBible وFaith Comes By Hearing وScripture Earth وPNG.Bible وفيلم يسوع وGlobal Recordings وغيرها، حسب ISO 639-3.",
|
||||
"st": {
|
||||
|
|
|
|||
|
|
@ -285,7 +285,6 @@
|
|||
"posterOmitted": "{n} Namen weggelassen, wo sie einen anderen überdecken würden; jeder Kreis ist gezeichnet.",
|
||||
"posterPrint": "Drucken",
|
||||
"posterSizeAria": "Postergröße",
|
||||
"posterSvg": "SVG herunterladen",
|
||||
"posterTitle": "Zugang zum Evangelium, Sprachfamilie für Sprachfamilie",
|
||||
"sources": "Baum: Glottolog (CC BY 4.0). Ressourcen: eBible, Faith Comes By Hearing, Scripture Earth, PNG.Bible, JESUS-Film, Global Recordings und weitere, nach ISO 639-3.",
|
||||
"st": {
|
||||
|
|
|
|||
|
|
@ -285,7 +285,6 @@
|
|||
"posterOmitted": "{n} names left off where they would overlap another; every circle is drawn.",
|
||||
"posterPrint": "Print",
|
||||
"posterSizeAria": "Poster size",
|
||||
"posterSvg": "Download SVG",
|
||||
"posterTitle": "Gospel access, language family by language family",
|
||||
"sources": "Tree: Glottolog (CC BY 4.0). Resources: eBible, Faith Comes By Hearing, Scripture Earth, PNG.Bible, JESUS Film, Global Recordings and others, keyed by ISO 639-3.",
|
||||
"st": {
|
||||
|
|
|
|||
|
|
@ -285,7 +285,6 @@
|
|||
"posterOmitted": "{n} nombres omitidos donde se superpondrían a otro; cada círculo está dibujado.",
|
||||
"posterPrint": "Imprimir",
|
||||
"posterSizeAria": "Tamaño del póster",
|
||||
"posterSvg": "Descargar SVG",
|
||||
"posterTitle": "Acceso al evangelio, familia lingüística por familia lingüística",
|
||||
"sources": "Árbol: Glottolog (CC BY 4.0). Recursos: eBible, Faith Comes By Hearing, Scripture Earth, PNG.Bible, película JESÚS, Global Recordings y otros, por ISO 639-3.",
|
||||
"st": {
|
||||
|
|
|
|||
|
|
@ -285,7 +285,6 @@
|
|||
"posterOmitted": "{n} noms omis là où ils en chevaucheraient un autre ; chaque cercle est dessiné.",
|
||||
"posterPrint": "Imprimer",
|
||||
"posterSizeAria": "Taille de l’affiche",
|
||||
"posterSvg": "Télécharger le SVG",
|
||||
"posterTitle": "L’accès à l’Évangile, famille de langues par famille de langues",
|
||||
"sources": "Arbre : Glottolog (CC BY 4.0). Ressources : eBible, Faith Comes By Hearing, Scripture Earth, PNG.Bible, film JÉSUS, Global Recordings et d’autres, par code ISO 639-3.",
|
||||
"st": {
|
||||
|
|
|
|||
|
|
@ -285,7 +285,6 @@
|
|||
"posterOmitted": "{n} नाम छोड़े गए जहाँ वे किसी दूसरे पर चढ़ जाते; हर वृत्त बनाया गया है।",
|
||||
"posterPrint": "प्रिंट करें",
|
||||
"posterSizeAria": "पोस्टर का आकार",
|
||||
"posterSvg": "SVG डाउनलोड करें",
|
||||
"posterTitle": "सुसमाचार तक पहुँच, एक-एक भाषा परिवार के अनुसार",
|
||||
"sources": "वृक्ष: Glottolog (CC BY 4.0)। संसाधन: eBible, Faith Comes By Hearing, Scripture Earth, PNG.Bible, यीशु फ़िल्म, Global Recordings और अन्य, ISO 639-3 के अनुसार।",
|
||||
"st": {
|
||||
|
|
|
|||
|
|
@ -285,7 +285,6 @@
|
|||
"posterOmitted": "{n} nomi omessi dove si sovrapporrebbero a un altro; ogni cerchio è disegnato.",
|
||||
"posterPrint": "Stampa",
|
||||
"posterSizeAria": "Dimensione del poster",
|
||||
"posterSvg": "Scarica SVG",
|
||||
"posterTitle": "L’accesso al vangelo, famiglia linguistica per famiglia linguistica",
|
||||
"sources": "Albero: Glottolog (CC BY 4.0). Risorse: eBible, Faith Comes By Hearing, Scripture Earth, PNG.Bible, film JESUS, Global Recordings e altre, per ISO 639-3.",
|
||||
"st": {
|
||||
|
|
|
|||
|
|
@ -285,7 +285,6 @@
|
|||
"posterOmitted": "{n} nomes omitidos onde sobreporiam outro; todo círculo está desenhado.",
|
||||
"posterPrint": "Imprimir",
|
||||
"posterSizeAria": "Tamanho do pôster",
|
||||
"posterSvg": "Baixar SVG",
|
||||
"posterTitle": "Acesso ao evangelho, família linguística por família linguística",
|
||||
"sources": "Árvore: Glottolog (CC BY 4.0). Recursos: eBible, Faith Comes By Hearing, Scripture Earth, PNG.Bible, filme JESUS, Global Recordings e outros, por ISO 639-3.",
|
||||
"st": {
|
||||
|
|
|
|||
|
|
@ -285,7 +285,6 @@
|
|||
"posterOmitted": "{n} nume omise acolo unde s-ar suprapune peste altul; fiecare cerc este desenat.",
|
||||
"posterPrint": "Tipărește",
|
||||
"posterSizeAria": "Dimensiunea posterului",
|
||||
"posterSvg": "Descarcă SVG",
|
||||
"posterTitle": "Accesul la Evanghelie, familie de limbi cu familie de limbi",
|
||||
"sources": "Arbore: Glottolog (CC BY 4.0). Resurse: eBible, Faith Comes By Hearing, Scripture Earth, PNG.Bible, filmul JESUS, Global Recordings și altele, după ISO 639-3.",
|
||||
"st": {
|
||||
|
|
|
|||
|
|
@ -285,7 +285,6 @@
|
|||
"posterOmitted": "Пропущено названий: {n} — там, где они перекрыли бы другие; каждый круг нарисован.",
|
||||
"posterPrint": "Печать",
|
||||
"posterSizeAria": "Размер постера",
|
||||
"posterSvg": "Скачать SVG",
|
||||
"posterTitle": "Доступ к Евангелию: языковая семья за языковой семьёй",
|
||||
"sources": "Дерево: Glottolog (CC BY 4.0). Ресурсы: eBible, Faith Comes By Hearing, Scripture Earth, PNG.Bible, фильм «Иисус», Global Recordings и другие, по ISO 639-3.",
|
||||
"st": {
|
||||
|
|
|
|||
|
|
@ -285,7 +285,6 @@
|
|||
"posterOmitted": "有 {n} 个名称因会与其他名称重叠而省略;每个圆圈都已绘出。",
|
||||
"posterPrint": "打印",
|
||||
"posterSizeAria": "海报尺寸",
|
||||
"posterSvg": "下载 SVG",
|
||||
"posterTitle": "福音资源,按语系逐一呈现",
|
||||
"sources": "语言树:Glottolog(CC BY 4.0)。资源:eBible、Faith Comes By Hearing、Scripture Earth、PNG.Bible、耶稣传影片、Global Recordings 等,按 ISO 639-3 编目。",
|
||||
"st": {
|
||||
|
|
|
|||
|
|
@ -312,15 +312,13 @@ function printPoster() {
|
|||
const p = makePoster()
|
||||
if (p) openPrintFrame(posterPrintHtml(p.svg, p.size, T('gospelInternet.tree.posterTitle', 'Gospel access, language family by language family')), { autoprint: true })
|
||||
}
|
||||
function downloadPoster() {
|
||||
const p = makePoster()
|
||||
if (!p) return
|
||||
try {
|
||||
const url = URL.createObjectURL(new Blob([p.svg], { type: 'image/svg+xml;charset=utf-8' }))
|
||||
const a = document.createElement('a'); a.href = url; a.download = `gospel-language-tree-${p.size}in.svg`; a.style.display = 'none'
|
||||
document.body.appendChild(a); a.click(); setTimeout(() => { try { URL.revokeObjectURL(url); a.remove() } catch (_) {} }, 200)
|
||||
} catch (_) { /* a sandbox without downloads: the print path still works */ }
|
||||
}
|
||||
// ★ NO DOWNLOAD BUTTON HERE. This used to write gospel-language-tree-<size>in.svg to disk beside the
|
||||
// Print button. The Driver's rule is that a poster action opens the PRINT DIALOG and never downloads a
|
||||
// file, and there was no case for an exception: printPoster above builds the same poster from the same
|
||||
// makePoster(), so the download was a second route to one artefact rather than a capability only it
|
||||
// could offer. A reader who needs a file prints to PDF — the system's own dialog, not a silent write.
|
||||
// check:poster-action-print (regions) uses this file as its poison case, so a download added here
|
||||
// again fails the gate rather than shipping quietly.
|
||||
|
||||
const ST_EN = { g: 'New Testament or full Bible found', y: 'Something found, but no New Testament', r: 'Nothing found' }
|
||||
const citation = computed(() => (ix.value && ix.value.meta && ix.value.meta.citation) || '')
|
||||
|
|
@ -402,7 +400,6 @@ useShadowStyles(
|
|||
<option :value="48">{{ T('gospelInternet.tree.poster4ft', '4 × 4 ft') }}</option>
|
||||
</select>
|
||||
<button type="button" @click="printPoster">{{ T('gospelInternet.tree.posterPrint', 'Print') }}</button>
|
||||
<button type="button" @click="downloadPoster">{{ T('gospelInternet.tree.posterSvg', 'Download SVG') }}</button>
|
||||
</div>
|
||||
<div v-if="posterNote" class="gtr-note">{{ posterNote }}</div>
|
||||
<div class="gtr-note">{{ T('gospelInternet.tree.sources', 'Tree: Glottolog (CC BY 4.0). Resources: eBible, Faith Comes By Hearing, Scripture Earth, PNG.Bible, JESUS Film, Global Recordings and others, keyed by ISO 639-3.') }} {{ citation }}</div>
|
||||
|
|
|
|||
Loading…
Reference in a new issue