@jjlmoya/utils-civic 1.4.0 → 1.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/package.json +1 -1
  2. package/src/category/index.ts +2 -1
  3. package/src/entries.ts +4 -0
  4. package/src/index.ts +1 -0
  5. package/src/pages/[locale]/[slug].astro +7 -4
  6. package/src/tests/locale_completeness.test.ts +1 -1
  7. package/src/tests/tool_validation.test.ts +1 -1
  8. package/src/tool/civic-priority-matrix/bibliography.astro +6 -0
  9. package/src/tool/civic-priority-matrix/bibliography.ts +12 -0
  10. package/src/tool/civic-priority-matrix/civic-priority-matrix.css +531 -0
  11. package/src/tool/civic-priority-matrix/component.astro +108 -0
  12. package/src/tool/civic-priority-matrix/contract.test.ts +16 -0
  13. package/src/tool/civic-priority-matrix/controller.ts +168 -0
  14. package/src/tool/civic-priority-matrix/dom-views.ts +123 -0
  15. package/src/tool/civic-priority-matrix/entry.ts +28 -0
  16. package/src/tool/civic-priority-matrix/evaluator.ts +13 -0
  17. package/src/tool/civic-priority-matrix/i18n/de.ts +52 -0
  18. package/src/tool/civic-priority-matrix/i18n/en.ts +73 -0
  19. package/src/tool/civic-priority-matrix/i18n/es.ts +52 -0
  20. package/src/tool/civic-priority-matrix/i18n/fr.ts +50 -0
  21. package/src/tool/civic-priority-matrix/i18n/id.ts +50 -0
  22. package/src/tool/civic-priority-matrix/i18n/it.ts +50 -0
  23. package/src/tool/civic-priority-matrix/i18n/ja.ts +121 -0
  24. package/src/tool/civic-priority-matrix/i18n/ko.ts +121 -0
  25. package/src/tool/civic-priority-matrix/i18n/nl.ts +45 -0
  26. package/src/tool/civic-priority-matrix/i18n/pl.ts +35 -0
  27. package/src/tool/civic-priority-matrix/i18n/pt.ts +32 -0
  28. package/src/tool/civic-priority-matrix/i18n/ru.ts +32 -0
  29. package/src/tool/civic-priority-matrix/i18n/sv.ts +32 -0
  30. package/src/tool/civic-priority-matrix/i18n/tr.ts +32 -0
  31. package/src/tool/civic-priority-matrix/i18n/zh.ts +121 -0
  32. package/src/tool/civic-priority-matrix/index.ts +11 -0
  33. package/src/tool/civic-priority-matrix/logic.test.ts +68 -0
  34. package/src/tool/civic-priority-matrix/logic.ts +124 -0
  35. package/src/tool/civic-priority-matrix/seo.astro +12 -0
  36. package/src/tool/civic-priority-matrix/storage.ts +50 -0
  37. package/src/tool/civic-priority-matrix/ui.ts +96 -0
  38. package/src/tools.ts +2 -0
@@ -0,0 +1,52 @@
1
+ import type { FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
+ import { bibliography } from '../bibliography';
3
+ import type { CivicPriorityLocaleContent } from '../entry';
4
+ import type { CivicPriorityUI } from '../ui';
5
+
6
+ const ui: CivicPriorityUI = {
7
+ addInitiative: 'Añadir iniciativa', initiativeList: 'Iniciativas que puntuar', inputHint: 'Da a cada propuesta la misma escala de 1 a 5 antes de compararlas.', initiative: 'Iniciativa', impact: 'Impacto', urgency: 'Urgencia', effort: 'Esfuerzo', scoreScale: 'Puntúa de 1 a 5', scoreHint: 'Un valor mayor indica más impacto, urgencia o esfuerzo.', removeInitiative: 'Eliminar iniciativa', reset: 'Restablecer ejemplo', resultTitle: 'Campo de decisión', rankingTitle: 'Orden explicable', matrixLabel: 'Iniciativas situadas por impacto y urgencia', summaryPrefix: 'Se muestran', summarySuffix: 'iniciativas puntuadas', rank: 'Puesto', priorityScore: 'Puntuación de prioridad', denominator: 'Denominador del esfuerzo', quadrant: 'Cuadrante', emptyState: 'Añade una iniciativa para abrir el campo de decisión.', invalidState: 'Corrige los valores marcados para calcular un orden de prioridad.', nameRequired: 'El nombre es obligatorio.', impactInvalid: 'El impacto debe ser un número entero de 1 a 5.', urgencyInvalid: 'La urgencia debe ser un número entero de 1 a 5.', effortInvalid: 'El esfuerzo debe ser un número entero de 0 a 5.', actNow: 'Actuar ahora', plan: 'Planificar', quickResponse: 'Responder rápido', defer: 'Posponer', highImpact: 'Impacto alto', lowImpact: 'Impacto bajo', highUrgency: 'Urgencia alta', lowUrgency: 'Urgencia baja', methodTitle: 'Método aplicado', methodText: 'La puntuación de prioridad es impacto multiplicado por urgencia y dividido por esfuerzo. Impacto, urgencia y esfuerzo usan una escala visible de 1 a 5. El esfuerzo 0 se trata como 1 para que una acción gratuita o ya preparada conserve un resultado finito. En caso de empate se comparan impacto, urgencia, menor esfuerzo y, después, el orden de entrada.', notDoTitle: 'Lo que esta herramienta no hace', notDoText: 'No establece un valor social objetivo, no mide resultados automáticamente ni sustituye la deliberación. Una puntuación alta es un escenario transparente bajo tus supuestos, no un mandato ni una predicción del beneficio público.', edgeCasesTitle: 'Casos límite y avisos', edgeCasesText: 'Mantén el mismo significado de cada puntuación en todas las filas. Una puntuación ausente o no entera excluye la fila hasta corregirla. El 3 separa los lados alto y bajo del campo. Las puntuaciones iguales conservan un orden estable después de aplicar los desempates documentados. Cambia una valoración cada vez cuando la analices en grupo.', warningTitle: 'Revisar antes de decidir', zeroEffortWarning: 'Un esfuerzo de 0 usa un denominador de 1 para mantener la puntuación finita y comparable.', invalidRowsWarning: 'Algunas filas quedan excluidas hasta corregir sus valores marcados.', noInitiatives: 'Todavía no hay iniciativas.', scoreOutOf: 'de un máximo de 25',
8
+ };
9
+
10
+ const softwareApplication: SoftwareApplication = { '@type': 'SoftwareApplication', name: 'Matriz de prioridades cívicas', applicationCategory: 'BusinessApplication', operatingSystem: 'Any', description: 'Puntúa iniciativas cívicas por impacto, urgencia y esfuerzo para crear un orden explicable.', url: 'https://gamebob.dev/es/matriz-prioridades-iniciativas-civicas', offers: { '@type': 'Offer', price: '0', priceCurrency: 'USD' } };
11
+
12
+ const faqPage: FAQPage = { '@type': 'FAQPage', mainEntity: [
13
+ { '@type': 'Question', name: '¿Cómo se calcula la puntuación de prioridad?', acceptedAnswer: { '@type': 'Answer', text: 'Multiplica el impacto por la urgencia y divide el resultado por el esfuerzo. Un esfuerzo de 0 usa un denominador de 1 para evitar un resultado infinito.' } },
14
+ { '@type': 'Question', name: '¿Qué significa la posición en el cuadrante?', acceptedAnswer: { '@type': 'Answer', text: 'Los valores de impacto y urgencia de 3 a 5 están en el lado alto. Los cuatro cuadrantes sugieren actuar, planificar, responder rápido o posponer para revisarlo.' } },
15
+ { '@type': 'Question', name: '¿Una puntuación alta demuestra que una iniciativa es la mejor?', acceptedAnswer: { '@type': 'Answer', text: 'No. Es el resultado de las hipótesis introducidas por el grupo. No mide el valor social objetivo ni sustituye la conversación con las personas afectadas.' } },
16
+ { '@type': 'Question', name: '¿Por qué dos iniciativas pueden tener la misma puntuación?', acceptedAnswer: { '@type': 'Answer', text: 'Distintas combinaciones de impacto, urgencia y esfuerzo pueden producir el mismo cociente. Después se aplican desempates transparentes y un orden de entrada estable.' } },
17
+ ] };
18
+
19
+ const howTo: HowTo = { '@type': 'HowTo', name: 'Crear un orden explicable de prioridades cívicas', step: [
20
+ { '@type': 'HowToStep', name: 'Enumera las iniciativas', text: 'Escribe una propuesta clara por fila. No mezcles varias acciones si el grupo no puede puntuarlas como una unidad.' },
21
+ { '@type': 'HowToStep', name: 'Acuerda la escala', text: 'Define qué significan impacto, urgencia y esfuerzo y aplica ese significado de 1 a 5 en todas las filas.' },
22
+ { '@type': 'HowToStep', name: 'Lee el campo de decisión', text: 'Usa los cuatro cuadrantes como una pregunta para la conversación y comprueba la frontera de valor 3.' },
23
+ { '@type': 'HowToStep', name: 'Revisa el orden', text: 'Compara cada puntuación con sus tres entradas y con el denominador del esfuerzo antes de aceptar el resultado.' },
24
+ { '@type': 'HowToStep', name: 'Registra la decisión', text: 'Usa la lista como agenda y añade evidencias, responsables, límites y voces afectadas antes de comprometer recursos.' },
25
+ ] };
26
+
27
+ export const content: CivicPriorityLocaleContent = {
28
+ slug: 'matriz-prioridades-iniciativas-civicas', title: 'Matriz de prioridades cívicas', description: 'Ordena iniciativas cívicas con puntuaciones transparentes de impacto, urgencia y esfuerzo. Descubre qué propuestas requieren acción, planificación, respuesta rápida o una revisión posterior.', ui,
29
+ seo: [
30
+ { type: 'title', text: 'Convierte ideas cívicas en un orden de prioridades compartido', level: 2 },
31
+ { type: 'paragraph', html: 'Los grupos suelen tener más propuestas útiles que tiempo, dinero o personas para llevarlas a cabo. Esta matriz hace las mismas tres preguntas para cada iniciativa: cuánto podría importar el cambio, qué urgencia tiene el problema y qué esfuerzo exige ponerlo en práctica. El resultado no decide por el grupo, pero ofrece un punto de partida visible para hablar de secuencia y capacidad.' },
32
+ { type: 'title', text: 'Cómo funciona la puntuación de prioridad', level: 2 },
33
+ { type: 'paragraph', html: 'La fórmula es impacto multiplicado por urgencia y dividido por esfuerzo. Una iniciativa con impacto 5, urgencia 4 y esfuerzo 2 obtiene 10 puntos. Es una heurística compacta, no una medida de valor social. Su utilidad está en que cada supuesto permanece a la vista y cualquier participante puede repetir la operación y discutirla.' },
34
+ { type: 'table', headers: ['Entrada', 'Escala', 'Pregunta para valorar'], rows: [['Impacto', '1 a 5', '¿Cuánto podría importar este cambio a las personas o al resultado afectado?'], ['Urgencia', '1 a 5', '¿Qué coste tiene esperar o qué presión temporal existe?'], ['Esfuerzo', '0 a 5', '¿Qué dificultad, gasto o recursos requiere la ejecución?']] },
35
+ { type: 'title', text: 'Lee las cuatro zonas de decisión', level: 2 },
36
+ { type: 'paragraph', html: 'El campo coloca las iniciativas por impacto y urgencia, usando el 3 como frontera en ambos ejes. Actuar ahora reúne alto impacto y alta urgencia. Planificar recoge alto impacto con menor urgencia. Responder rápido señala una urgencia alta con impacto menor, donde una intervención pequeña puede aliviar la presión. Posponer reúne valores bajos y pide una revisión posterior, no un rechazo automático.' },
37
+ { type: 'list', items: ['Acordad qué significa impacto para este grupo concreto.', 'Usad el mismo horizonte temporal al juzgar la urgencia.', 'Entended esfuerzo como recursos necesarios, no como castigo a una idea impopular.', 'Leed los tres componentes junto a cada puesto del ranking.', 'Volved a puntuar cuando cambien las pruebas, los plazos o la capacidad disponible.'] },
38
+ { type: 'title', text: 'Usa el resultado en una conversación cívica', level: 2 },
39
+ { type: 'paragraph', html: 'La matriz es más útil cuando varias personas puntúan las mismas iniciativas y explican sus diferencias. Si alguien da un impacto alto porque una medida afecta profundamente a un grupo pequeño y otra persona lo reduce por su alcance limitado, el desacuerdo muestra un criterio que necesita definición. Conserva los motivos y las voces consultadas en lugar de esconder la discrepancia.' },
40
+ { type: 'tip', title: 'La puntuación es un escenario declarado', html: 'Un resultado alto solo indica que la combinación introducida sube en el orden bajo esta fórmula. No demuestra justicia, no crea una obligación legal, no predice resultados ni sustituye un proceso público de decisión. Guarda las razones de las puntuaciones junto a cualquier decisión que use este orden.' },
41
+ { type: 'title', text: 'Límites y casos especiales', level: 2 },
42
+ { type: 'paragraph', html: 'El esfuerzo 0 se protege con un denominador de 1 para evitar resultados infinitos. Un valor ausente, fraccionario o fuera de rango excluye la fila hasta que se corrija. Las puntuaciones iguales se ordenan con desempates documentados y después conservan el orden de entrada. Además, un cuadrante no es una evaluación de riesgos: una iniciativa urgente y de alto impacto puede necesitar revisión legal, financiera, de seguridad o de accesibilidad.' },
43
+ ],
44
+ faq: [
45
+ { question: '¿Cómo se calcula la puntuación de prioridad?', answer: 'Multiplica impacto por urgencia y divide por esfuerzo. Si el esfuerzo es 0, el denominador usado es 1.' },
46
+ { question: '¿Qué significa la posición en el campo?', answer: 'Impacto y urgencia desde 3 están en el lado alto. Las cuatro zonas ayudan a conversar sobre la secuencia.' },
47
+ { question: '¿Una puntuación alta demuestra que una iniciativa es la mejor?', answer: 'No. Es un resultado transparente bajo supuestos declarados, no una prueba de valor social ni una predicción.' },
48
+ { question: '¿Por qué hay puntuaciones iguales?', answer: 'Combinaciones distintas pueden producir el mismo cociente. Los desempates mantienen un orden claro y reproducible.' },
49
+ ], bibliography, howTo: [
50
+ { name: 'Enumera las iniciativas', text: 'Escribe una propuesta clara por fila.' }, { name: 'Acuerda la escala', text: 'Usa el mismo significado de 1 a 5 en cada fila.' }, { name: 'Lee el campo', text: 'Usa los cuatro cuadrantes para hablar de secuencia.' }, { name: 'Revisa el orden', text: 'Compara cada puesto con impacto, urgencia, esfuerzo y denominador.' }, { name: 'Añade evidencias', text: 'Registra límites y voces afectadas después de debatir.' },
51
+ ], schemas: [softwareApplication, faqPage, howTo] as unknown as Record<string, unknown>[],
52
+ };
@@ -0,0 +1,50 @@
1
+ import type { FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
+ import { bibliography } from '../bibliography';
3
+ import type { CivicPriorityLocaleContent } from '../entry';
4
+ import type { CivicPriorityUI } from '../ui';
5
+
6
+ const ui: CivicPriorityUI = {
7
+ addInitiative: 'Ajouter une initiative', initiativeList: 'Initiatives à évaluer', inputHint: 'Attribuez la même échelle de 1 à 5 à chaque proposition avant de les comparer.', initiative: 'Initiative', impact: 'Impact', urgency: 'Urgence', effort: 'Effort', scoreScale: 'Noter de 1 à 5', scoreHint: 'Une valeur élevée indique davantage d\'impact, d\'urgence ou d\'effort.', removeInitiative: 'Supprimer l\'initiative', reset: 'Réinitialiser l\'exemple', resultTitle: 'Espace de décision', rankingTitle: 'Classement explicable', matrixLabel: 'Initiatives placées selon leur impact et leur urgence', summaryPrefix: 'Affichage de', summarySuffix: 'initiatives évaluées', rank: 'Rang', priorityScore: 'Score de priorité', denominator: 'Dénominateur de l\'effort', quadrant: 'Zone', emptyState: 'Ajoutez une initiative pour ouvrir l\'espace de décision.', invalidState: 'Corrigez les valeurs signalées pour calculer un classement.', nameRequired: 'Le nom est obligatoire.', impactInvalid: 'L\'impact doit être un nombre entier de 1 à 5.', urgencyInvalid: 'L\'urgence doit être un nombre entier de 1 à 5.', effortInvalid: 'L\'effort doit être un nombre entier de 0 à 5.', actNow: 'Agir maintenant', plan: 'Planifier', quickResponse: 'Réagir vite', defer: 'Reporter', highImpact: 'Impact élevé', lowImpact: 'Impact faible', highUrgency: 'Urgence élevée', lowUrgency: 'Urgence faible', methodTitle: 'Méthode appliquée', methodText: 'Le score de priorité est égal à l\'impact multiplié par l\'urgence, puis divisé par l\'effort. L\'impact, l\'urgence et l\'effort utilisent une échelle visible de 1 à 5. Un effort de 0 est traité comme 1 afin qu\'une action gratuite ou déjà préparée conserve un résultat fini. En cas d\'égalité, le classement compare l\'impact, l\'urgence, l\'effort le plus faible, puis l\'ordre de saisie.', notDoTitle: 'Ce que cet outil ne fait pas', notDoText: 'Il ne définit pas une valeur sociale objective, ne mesure pas automatiquement les résultats et ne remplace pas la délibération. Un score élevé décrit un scénario transparent selon vos hypothèses, pas un mandat ni une prédiction du bénéfice public.', edgeCasesTitle: 'Cas limites et avertissements', edgeCasesText: 'Gardez le même sens pour chaque note dans toutes les lignes. Une note manquante ou non entière exclut la ligne jusqu\'à sa correction. Le 3 sépare les côtés haut et bas du champ. Les égalités conservent un ordre stable après les règles de départage documentées. Changez une seule appréciation à la fois pendant une discussion collective.', warningTitle: 'Vérifier avant de décider', zeroEffortWarning: 'Un effort de 0 utilise un dénominateur de 1 pour garder un score fini et comparable.', invalidRowsWarning: 'Certaines lignes sont exclues jusqu\'à la correction des valeurs signalées.', noInitiatives: 'Aucune initiative saisie pour le moment.', scoreOutOf: 'sur 25 au maximum',
8
+ };
9
+
10
+ const softwareApplication: SoftwareApplication = { '@type': 'SoftwareApplication', name: 'Matrice de priorités citoyennes', applicationCategory: 'BusinessApplication', operatingSystem: 'Any', description: 'Évaluez des initiatives citoyennes selon leur impact, leur urgence et leur effort pour obtenir un classement explicable.', url: 'https://gamebob.dev/fr/matrice-priorites-initiatives-citoyennes', offers: { '@type': 'Offer', price: '0', priceCurrency: 'USD' } };
11
+ const faqPage: FAQPage = { '@type': 'FAQPage', mainEntity: [
12
+ { '@type': 'Question', name: 'Comment le score de priorité est-il calculé ?', acceptedAnswer: { '@type': 'Answer', text: 'Multipliez l\'impact par l\'urgence et divisez par l\'effort. Un effort de 0 utilise un dénominateur de 1 pour éviter un résultat infini.' } },
13
+ { '@type': 'Question', name: 'Que signifie la position dans une zone ?', acceptedAnswer: { '@type': 'Answer', text: 'Les valeurs d\'impact et d\'urgence de 3 à 5 sont du côté élevé. Les quatre zones suggèrent d\'agir, de planifier, de réagir vite ou de reporter.' } },
14
+ { '@type': 'Question', name: 'Un score élevé prouve-t-il qu\'une initiative est la meilleure ?', acceptedAnswer: { '@type': 'Answer', text: 'Non. Il reflète les hypothèses saisies par le groupe. Il ne mesure pas une valeur sociale objective et ne remplace pas la discussion avec les personnes concernées.' } },
15
+ { '@type': 'Question', name: 'Pourquoi deux initiatives peuvent-elles avoir le même score ?', acceptedAnswer: { '@type': 'Answer', text: 'Des combinaisons différentes d\'impact, d\'urgence et d\'effort peuvent donner le même quotient. Des règles transparentes départagent ensuite les égalités.' } },
16
+ ] };
17
+ const howTo: HowTo = { '@type': 'HowTo', name: 'Créer un ordre explicable de priorités citoyennes', step: [
18
+ { '@type': 'HowToStep', name: 'Lister les initiatives', text: 'Saisissez une proposition clairement nommée par ligne et ne mélangez pas plusieurs actions dans un même élément.' },
19
+ { '@type': 'HowToStep', name: 'Accorder l\'échelle', text: 'Définissez ensemble le sens de l\'impact, de l\'urgence et de l\'effort, puis gardez cette définition de 1 à 5.' },
20
+ { '@type': 'HowToStep', name: 'Lire l\'espace de décision', text: 'Considérez les quatre zones comme un support de discussion et vérifiez que 3 reste la frontière commune.' },
21
+ { '@type': 'HowToStep', name: 'Contrôler le classement', text: 'Comparez chaque score à ses trois composantes et à son dénominateur avant de tirer une conclusion.' },
22
+ { '@type': 'HowToStep', name: 'Documenter la décision', text: 'Utilisez la liste comme ordre du jour, puis ajoutez preuves, responsables, contraintes et voix concernées.' },
23
+ ] };
24
+
25
+ export const content: CivicPriorityLocaleContent = {
26
+ slug: 'matrice-priorites-initiatives-citoyennes', title: 'Matrice de priorités citoyennes', description: 'Classez des initiatives citoyennes avec des scores transparents d\'impact, d\'urgence et d\'effort. Identifiez ce qui appelle une action, une planification, une réaction rapide ou un examen ultérieur.', ui,
27
+ seo: [
28
+ { type: 'title', text: 'Transformer les idées citoyennes en ordre de priorité partagé', level: 2 },
29
+ { type: 'paragraph', html: 'Les groupes disposent souvent de plus de propositions utiles que de temps, de budget ou de personnes pour les réaliser. Cette matrice pose les mêmes trois questions pour chaque initiative: quelle importance le changement pourrait-il avoir, quelle est la pression du calendrier et quel effort la mise en œuvre demande-t-elle ? Le résultat sert de point de départ visible pour parler de séquence et de capacité, sans décider à la place du groupe.' },
30
+ { type: 'title', text: 'Comprendre le score de priorité', level: 2 },
31
+ { type: 'paragraph', html: 'La formule est impact multiplié par urgence, divisé par effort. Une initiative notée 5 en impact, 4 en urgence et 2 en effort obtient 10 points. Cette heuristique compacte ne mesure pas la valeur sociale. Elle est utile parce que chaque hypothèse reste lisible et que les participants peuvent refaire le calcul, signaler une différence et modifier la discussion plutôt que subir un résultat opaque.' },
32
+ { type: 'table', headers: ['Entrée', 'Échelle', 'Question à poser'], rows: [['Impact', '1 à 5', 'Quelle importance ce changement pourrait-il avoir pour les personnes ou le résultat concernés ?'], ['Urgence', '1 à 5', 'Quel est le coût de l\'attente ou la pression du délai ?'], ['Effort', '0 à 5', 'Quelle difficulté, quelle dépense ou quelles ressources sont nécessaires ?']] },
33
+ { type: 'title', text: 'Lire les quatre zones de décision', level: 2 },
34
+ { type: 'paragraph', html: 'Le champ place les initiatives selon leur impact et leur urgence, avec 3 comme frontière visible sur les deux axes. Agir maintenant associe impact et urgence élevés. Planifier correspond à un impact élevé avec une urgence moindre. Réagir vite indique une urgence forte malgré un impact plus faible, lorsqu\'une petite intervention peut réduire la pression. Reporter rassemble les faibles valeurs et invite à un nouvel examen plutôt qu\'à un rejet automatique.' },
35
+ { type: 'list', items: ['Définissez d\'abord ce que signifie l\'impact pour ce groupe précis.', 'Utilisez le même horizon temporel pour juger l\'urgence.', 'Considérez l\'effort comme les ressources nécessaires, pas comme une pénalité d\'impopularité.', 'Lisez les trois composantes à côté de chaque rang.', 'Réévaluez après un nouvel élément, une échéance ou une capacité disponible différente.'] },
36
+ { type: 'title', text: 'Utiliser le résultat dans une discussion citoyenne', level: 2 },
37
+ { type: 'paragraph', html: 'La matrice est plus forte lorsque plusieurs personnes notent les mêmes initiatives et expliquent leurs écarts. Une personne peut attribuer un impact élevé parce qu\'une mesure transforme profondément la vie d\'un petit groupe, tandis qu\'une autre le réduit à cause de sa portée limitée. Ce désaccord révèle une définition à préciser. Conservez les raisons et les voix consultées au lieu de masquer la différence.' },
38
+ { type: 'tip', title: 'Le score est un scénario déclaré', html: 'Un résultat élevé signifie seulement que la combinaison saisie arrive en tête selon cette formule. Il ne crée pas d\'obligation juridique, ne prouve pas l\'équité, ne prédit pas les résultats et ne remplace pas une décision publique. Gardez les raisons des notes à côté de toute décision fondée sur ce classement.' },
39
+ { type: 'title', text: 'Limites et cas particuliers', level: 2 },
40
+ { type: 'paragraph', html: 'L\'effort 0 est protégé par un dénominateur de 1 pour éviter un résultat infini. Une valeur absente, fractionnaire ou hors échelle exclut la ligne jusqu\'à sa correction. Les scores égaux sont départagés par les règles documentées et conservent ensuite l\'ordre de saisie. Une zone ne constitue pas non plus une analyse des risques: une initiative urgente et très impactante peut exiger une vérification juridique, financière, de sécurité ou d\'accessibilité.' },
41
+ ],
42
+ faq: [
43
+ { question: 'Comment le score de priorité est-il calculé ?', answer: 'Multipliez l\'impact par l\'urgence et divisez par l\'effort. Pour un effort de 0, le dénominateur est 1.' },
44
+ { question: 'Que signifie la position dans le champ ?', answer: 'Un impact et une urgence d\'au moins 3 sont du côté élevé. Les quatre zones servent à discuter de la séquence.' },
45
+ { question: 'Un score élevé prouve-t-il qu\'une initiative est la meilleure ?', answer: 'Non. Il s\'agit d\'un résultat transparent selon des hypothèses déclarées, pas d\'une preuve de valeur sociale.' },
46
+ { question: 'Pourquoi certains scores sont-ils égaux ?', answer: 'Des combinaisons différentes peuvent produire le même quotient. Les règles de départage rendent l\'ordre reproductible.' },
47
+ ], bibliography, howTo: [
48
+ { name: 'Lister les initiatives', text: 'Saisissez une proposition claire par ligne.' }, { name: 'Accorder l\'échelle', text: 'Gardez le même sens de 1 à 5 pour chaque ligne.' }, { name: 'Lire le champ', text: 'Utilisez les quatre zones pour discuter de la séquence.' }, { name: 'Contrôler le classement', text: 'Comparez chaque rang à son impact, son urgence, son effort et son dénominateur.' }, { name: 'Ajouter les preuves', text: 'Notez les contraintes et les voix concernées après la discussion.' },
49
+ ], schemas: [softwareApplication, faqPage, howTo] as unknown as Record<string, unknown>[],
50
+ };
@@ -0,0 +1,50 @@
1
+ import type { FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
+ import { bibliography } from '../bibliography';
3
+ import type { CivicPriorityLocaleContent } from '../entry';
4
+ import type { CivicPriorityUI } from '../ui';
5
+
6
+ const ui: CivicPriorityUI = {
7
+ addInitiative: 'Tambah inisiatif', initiativeList: 'Inisiatif untuk dinilai', inputHint: 'Gunakan skala 1 sampai 5 yang sama untuk setiap usulan sebelum membandingkannya.', initiative: 'Inisiatif', impact: 'Dampak', urgency: 'Urgensi', effort: 'Upaya', scoreScale: 'Nilai 1 sampai 5', scoreHint: 'Nilai lebih tinggi berarti dampak, urgensi, atau upaya lebih besar.', removeInitiative: 'Hapus inisiatif', reset: 'Atur ulang contoh', resultTitle: 'Ruang keputusan', rankingTitle: 'Urutan yang dapat dijelaskan', matrixLabel: 'Inisiatif berdasarkan dampak dan urgensi', summaryPrefix: 'Menampilkan', summarySuffix: 'inisiatif yang dinilai', rank: 'Peringkat', priorityScore: 'Nilai prioritas', denominator: 'Penyebut upaya', quadrant: 'Kuadran', emptyState: 'Tambahkan inisiatif untuk membuka ruang keputusan.', invalidState: 'Perbaiki nilai yang ditandai untuk menghitung urutan prioritas.', nameRequired: 'Nama wajib diisi.', impactInvalid: 'Dampak harus berupa bilangan bulat dari 1 sampai 5.', urgencyInvalid: 'Urgensi harus berupa bilangan bulat dari 1 sampai 5.', effortInvalid: 'Upaya harus berupa bilangan bulat dari 0 sampai 5.', actNow: 'Bertindak sekarang', plan: 'Rencanakan', quickResponse: 'Tanggap cepat', defer: 'Tunda', highImpact: 'Dampak tinggi', lowImpact: 'Dampak rendah', highUrgency: 'Urgensi tinggi', lowUrgency: 'Urgensi rendah', methodTitle: 'Metode yang diterapkan', methodText: 'Nilai prioritas adalah dampak dikalikan urgensi lalu dibagi upaya. Dampak, urgensi, dan upaya memakai skala 1 sampai 5 yang terlihat. Upaya 0 diperlakukan sebagai 1 agar tindakan gratis atau yang sudah memiliki sumber daya tetap menghasilkan nilai yang terbatas. Jika nilainya sama, urutan membandingkan dampak, urgensi, upaya yang lebih rendah, lalu urutan masukan.', notDoTitle: 'Hal yang tidak dilakukan alat ini', notDoText: 'Alat ini tidak menetapkan nilai sosial yang objektif, tidak mengukur hasil secara otomatis, dan tidak menggantikan musyawarah. Nilai tinggi adalah skenario transparan berdasarkan asumsi Anda, bukan perintah atau ramalan manfaat publik.', edgeCasesTitle: 'Kasus khusus dan peringatan', edgeCasesText: 'Gunakan arti nilai yang sama di setiap baris. Nilai yang kosong atau bukan bilangan bulat akan mengecualikan baris sampai diperbaiki. Nilai 3 menjadi batas sisi tinggi dan rendah. Nilai yang sama tetap mengikuti urutan masukan setelah aturan pemecah seri diterapkan. Ubah satu penilaian setiap kali saat membahas hasil bersama kelompok.', warningTitle: 'Tinjau sebelum memutuskan', zeroEffortWarning: 'Upaya 0 menggunakan penyebut 1 agar nilainya tetap terbatas dan dapat dibandingkan.', invalidRowsWarning: 'Beberapa baris dikecualikan sampai nilai yang ditandai diperbaiki.', noInitiatives: 'Belum ada inisiatif yang dimasukkan.', scoreOutOf: 'dari maksimum 25',
8
+ };
9
+
10
+ const softwareApplication: SoftwareApplication = { '@type': 'SoftwareApplication', name: 'Matriks Prioritas Sipil', applicationCategory: 'BusinessApplication', operatingSystem: 'Any', description: 'Nilai inisiatif sipil berdasarkan dampak, urgensi, dan upaya untuk membuat urutan prioritas yang mudah dijelaskan.', url: 'https://gamebob.dev/id/matriks-prioritas-inisiatif-sipil', offers: { '@type': 'Offer', price: '0', priceCurrency: 'USD' } };
11
+ const faqPage: FAQPage = { '@type': 'FAQPage', mainEntity: [
12
+ { '@type': 'Question', name: 'Bagaimana nilai prioritas dihitung?', acceptedAnswer: { '@type': 'Answer', text: 'Kalikan dampak dengan urgensi lalu bagi dengan upaya. Upaya 0 memakai penyebut 1 agar hasilnya tidak tak terbatas.' } },
13
+ { '@type': 'Question', name: 'Apa arti posisi pada kuadran?', acceptedAnswer: { '@type': 'Answer', text: 'Dampak dan urgensi bernilai 3 sampai 5 berada di sisi tinggi. Empat zona membantu memilih tindakan, rencana, tanggapan cepat, atau peninjauan nanti.' } },
14
+ { '@type': 'Question', name: 'Apakah nilai tinggi membuktikan inisiatif itu yang terbaik?', acceptedAnswer: { '@type': 'Answer', text: 'Tidak. Nilai itu hanya mencerminkan asumsi yang dimasukkan kelompok. Nilai tersebut tidak mengukur manfaat sosial objektif dan tidak menggantikan diskusi dengan pihak terdampak.' } },
15
+ { '@type': 'Question', name: 'Mengapa dua inisiatif dapat memiliki nilai yang sama?', acceptedAnswer: { '@type': 'Answer', text: 'Kombinasi dampak, urgensi, dan upaya yang berbeda dapat menghasilkan hasil bagi yang sama. Aturan pemecah seri kemudian menjaga urutan tetap transparan.' } },
16
+ ] };
17
+ const howTo: HowTo = { '@type': 'HowTo', name: 'Membuat urutan prioritas sipil yang dapat dijelaskan', step: [
18
+ { '@type': 'HowToStep', name: 'Masukkan inisiatif', text: 'Tulis satu usulan yang jelas pada setiap baris dan jangan menggabungkan beberapa tindakan.' },
19
+ { '@type': 'HowToStep', name: 'Sepakati skala penilaian', text: 'Tentukan arti dampak, urgensi, dan upaya, lalu gunakan arti yang sama dari 1 sampai 5.' },
20
+ { '@type': 'HowToStep', name: 'Baca ruang keputusan', text: 'Gunakan empat zona sebagai bahan diskusi dan pastikan nilai 3 menjadi batas yang konsisten.' },
21
+ { '@type': 'HowToStep', name: 'Periksa urutan', text: 'Bandingkan setiap nilai dengan tiga komponennya dan penyebut upaya sebelum mengambil kesimpulan.' },
22
+ { '@type': 'HowToStep', name: 'Catat keputusan', text: 'Gunakan daftar sebagai agenda, lalu tambahkan bukti, penanggung jawab, kendala, dan suara pihak terdampak.' },
23
+ ] };
24
+
25
+ export const content: CivicPriorityLocaleContent = {
26
+ slug: 'matriks-prioritas-inisiatif-sipil', title: 'Matriks Prioritas Sipil', description: 'Urutkan inisiatif sipil dengan nilai dampak, urgensi, dan upaya yang transparan. Lihat usulan yang perlu ditindaklanjuti, direncanakan, ditanggapi cepat, atau ditinjau kemudian.', ui,
27
+ seo: [
28
+ { type: 'title', text: 'Mengubah gagasan sipil menjadi urutan prioritas bersama', level: 2 },
29
+ { type: 'paragraph', html: 'Kelompok sering memiliki lebih banyak usulan berguna daripada waktu, dana, atau orang untuk melaksanakannya. Matriks ini memberi tiga pertanyaan yang sama untuk setiap inisiatif: seberapa besar perubahan itu dapat berarti, seberapa mendesak masalahnya, dan berapa banyak upaya yang dibutuhkan? Hasilnya menjadi titik awal yang terlihat untuk membahas urutan dan kapasitas, bukan keputusan otomatis yang menggantikan kelompok.' },
30
+ { type: 'title', text: 'Cara kerja nilai prioritas', level: 2 },
31
+ { type: 'paragraph', html: 'Rumusnya adalah dampak dikalikan urgensi lalu dibagi upaya. Inisiatif dengan dampak 5, urgensi 4, dan upaya 2 mendapat nilai 10. Ini adalah heuristik ringkas, bukan ukuran manfaat sosial. Kegunaannya adalah setiap asumsi tetap terlihat sehingga peserta dapat menghitung ulang, mempertanyakan perbedaan, dan memperbaiki kriteria yang belum disepakati.' },
32
+ { type: 'table', headers: ['Masukan', 'Skala', 'Pertanyaan yang diajukan'], rows: [['Dampak', '1 sampai 5', 'Seberapa besar perubahan ini dapat berarti bagi orang atau hasil yang terkait?'], ['Urgensi', '1 sampai 5', 'Apa biaya menunggu atau tekanan waktu yang ada?'], ['Upaya', '0 sampai 5', 'Seberapa sulit, mahal, atau intensif sumber daya pelaksanaannya?']] },
33
+ { type: 'title', text: 'Membaca empat zona keputusan', level: 2 },
34
+ { type: 'paragraph', html: 'Ruang keputusan menempatkan inisiatif berdasarkan dampak dan urgensi, dengan nilai 3 sebagai batas pada kedua sumbu. Bertindak sekarang berisi dampak dan urgensi tinggi. Rencanakan berisi dampak tinggi dengan urgensi lebih rendah. Tanggap cepat menunjukkan urgensi tinggi dengan dampak lebih rendah, ketika tindakan kecil mungkin mengurangi tekanan. Tunda berisi nilai rendah dan mengundang peninjauan nanti, bukan penolakan otomatis.' },
35
+ { type: 'list', items: ['Sepakati dahulu arti dampak bagi kelompok ini.', 'Gunakan jangka waktu yang sama saat menilai urgensi.', 'Anggap upaya sebagai sumber daya yang diperlukan, bukan hukuman untuk gagasan yang tidak populer.', 'Baca tiga komponen di samping setiap peringkat.', 'Nilai ulang setelah ada bukti, tenggat, atau kapasitas baru.'] },
36
+ { type: 'title', text: 'Menggunakan hasil dalam diskusi sipil', level: 2 },
37
+ { type: 'paragraph', html: 'Matriks lebih berguna ketika beberapa orang menilai inisiatif yang sama dan menjelaskan perbedaannya. Satu orang dapat memberi dampak tinggi karena perubahan itu sangat berarti bagi kelompok kecil, sementara orang lain menurunkannya karena jangkauannya terbatas. Perbedaan itu menunjukkan kriteria yang perlu diperjelas. Catat alasan dan suara yang dilibatkan, bukan menyembunyikan perbedaan.' },
38
+ { type: 'tip', title: 'Nilai adalah skenario yang dinyatakan', html: 'Nilai tinggi hanya berarti kombinasi yang dimasukkan berada di atas menurut rumus ini. Nilai tersebut tidak membuktikan keadilan, tidak menciptakan kewajiban hukum, tidak memprediksi hasil, dan tidak menggantikan keputusan publik. Simpan alasan penilaian di samping keputusan yang memakai urutan ini.' },
39
+ { type: 'title', text: 'Batasan dan kasus khusus', level: 2 },
40
+ { type: 'paragraph', html: 'Upaya 0 dilindungi dengan penyebut 1 agar tidak menghasilkan nilai tak terbatas. Nilai kosong, pecahan, atau di luar rentang akan mengecualikan baris sampai diperbaiki. Nilai yang sama diurutkan dengan aturan pemecah seri yang terdokumentasi, kemudian mempertahankan urutan masukan. Kuadran juga bukan analisis risiko; pekerjaan yang mendesak dan berdampak tinggi mungkin memerlukan tinjauan hukum, keuangan, keselamatan, atau aksesibilitas.' },
41
+ ],
42
+ faq: [
43
+ { question: 'Bagaimana nilai prioritas dihitung?', answer: 'Kalikan dampak dengan urgensi lalu bagi dengan upaya. Untuk upaya 0, penyebutnya adalah 1.' },
44
+ { question: 'Apa arti posisi pada ruang keputusan?', answer: 'Dampak dan urgensi minimal 3 berada di sisi tinggi. Empat zona membantu membahas urutan kerja.' },
45
+ { question: 'Apakah nilai tinggi membuktikan inisiatif terbaik?', answer: 'Tidak. Nilai tersebut transparan berdasarkan asumsi yang dinyatakan, bukan bukti manfaat sosial.' },
46
+ { question: 'Mengapa ada nilai yang sama?', answer: 'Kombinasi masukan berbeda dapat menghasilkan hasil bagi yang sama. Aturan pemecah seri menjaga urutan dapat diulang.' },
47
+ ], bibliography, howTo: [
48
+ { name: 'Masukkan inisiatif', text: 'Tulis satu usulan yang jelas per baris.' }, { name: 'Sepakati skala', text: 'Gunakan arti yang sama untuk 1 sampai 5 di setiap baris.' }, { name: 'Baca ruang keputusan', text: 'Gunakan empat zona untuk membahas urutan.' }, { name: 'Periksa urutan', text: 'Bandingkan peringkat dengan dampak, urgensi, upaya, dan penyebut.' }, { name: 'Tambahkan bukti', text: 'Catat kendala dan suara pihak terdampak setelah berdiskusi.' },
49
+ ], schemas: [softwareApplication, faqPage, howTo] as unknown as Record<string, unknown>[],
50
+ };
@@ -0,0 +1,50 @@
1
+ import type { FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
+ import { bibliography } from '../bibliography';
3
+ import type { CivicPriorityLocaleContent } from '../entry';
4
+ import type { CivicPriorityUI } from '../ui';
5
+
6
+ const ui: CivicPriorityUI = {
7
+ addInitiative: 'Aggiungi iniziativa', initiativeList: 'Iniziative da valutare', inputHint: 'Assegna la stessa scala da 1 a 5 a ogni proposta prima di confrontarle.', initiative: 'Iniziativa', impact: 'Impatto', urgency: 'Urgenza', effort: 'Sforzo', scoreScale: 'Valuta da 1 a 5', scoreHint: 'Un valore maggiore indica più impatto, urgenza o sforzo.', removeInitiative: 'Rimuovi iniziativa', reset: 'Ripristina esempio', resultTitle: 'Campo decisionale', rankingTitle: 'Ordine spiegabile', matrixLabel: 'Iniziative posizionate per impatto e urgenza', summaryPrefix: 'Visualizzate', summarySuffix: 'iniziative valutate', rank: 'Posizione', priorityScore: 'Punteggio di priorità', denominator: 'Denominatore dello sforzo', quadrant: 'Quadrante', emptyState: 'Aggiungi un\'iniziativa per aprire il campo decisionale.', invalidState: 'Correggi i valori evidenziati per calcolare un ordine di priorità.', nameRequired: 'Il nome è obbligatorio.', impactInvalid: 'L\'impatto deve essere un numero intero da 1 a 5.', urgencyInvalid: 'L\'urgenza deve essere un numero intero da 1 a 5.', effortInvalid: 'Lo sforzo deve essere un numero intero da 0 a 5.', actNow: 'Agire ora', plan: 'Pianificare', quickResponse: 'Rispondere subito', defer: 'Rimandare', highImpact: 'Impatto alto', lowImpact: 'Impatto basso', highUrgency: 'Urgenza alta', lowUrgency: 'Urgenza bassa', methodTitle: 'Metodo applicato', methodText: 'Il punteggio di priorità è dato dall\'impatto moltiplicato per l\'urgenza e diviso per lo sforzo. Impatto, urgenza e sforzo usano una scala visibile da 1 a 5. Lo sforzo 0 viene trattato come 1, così un\'azione gratuita o già preparata mantiene un risultato finito. In caso di parità si confrontano impatto, urgenza, sforzo minore e infine l\'ordine di inserimento.', notDoTitle: 'Cosa non fa questo strumento', notDoText: 'Non stabilisce un valore sociale oggettivo, non misura automaticamente i risultati e non sostituisce il confronto. Un punteggio alto è uno scenario trasparente basato sulle tue ipotesi, non un mandato né una previsione del beneficio pubblico.', edgeCasesTitle: 'Casi limite e avvisi', edgeCasesText: 'Mantieni lo stesso significato per ogni punteggio in tutte le righe. Un valore mancante o non intero esclude la riga finché non viene corretto. Il 3 separa il lato alto da quello basso. I punteggi uguali mantengono un ordine stabile dopo i criteri di spareggio documentati. Durante una discussione di gruppo, cambia una sola valutazione alla volta.', warningTitle: 'Controlla prima di decidere', zeroEffortWarning: 'Uno sforzo pari a 0 usa un denominatore di 1 per mantenere il punteggio finito e confrontabile.', invalidRowsWarning: 'Alcune righe sono escluse finché non correggi i valori evidenziati.', noInitiatives: 'Non è stata ancora inserita alcuna iniziativa.', scoreOutOf: 'su un massimo di 25',
8
+ };
9
+
10
+ const softwareApplication: SoftwareApplication = { '@type': 'SoftwareApplication', name: 'Matrice delle priorità civiche', applicationCategory: 'BusinessApplication', operatingSystem: 'Any', description: 'Valuta le iniziative civiche per impatto, urgenza e sforzo e crea un ordine di priorità spiegabile.', url: 'https://gamebob.dev/it/matrice-priorita-iniziative-civiche', offers: { '@type': 'Offer', price: '0', priceCurrency: 'USD' } };
11
+ const faqPage: FAQPage = { '@type': 'FAQPage', mainEntity: [
12
+ { '@type': 'Question', name: 'Come si calcola il punteggio di priorità?', acceptedAnswer: { '@type': 'Answer', text: 'Moltiplica l\'impatto per l\'urgenza e dividi per lo sforzo. Uno sforzo pari a 0 usa un denominatore di 1 per evitare un risultato infinito.' } },
13
+ { '@type': 'Question', name: 'Che cosa significa la posizione nel quadrante?', acceptedAnswer: { '@type': 'Answer', text: 'Impatto e urgenza da 3 a 5 sono sul lato alto. Le quattro zone suggeriscono di agire, pianificare, rispondere subito o rimandare.' } },
14
+ { '@type': 'Question', name: 'Un punteggio alto dimostra che un\'iniziativa è la migliore?', acceptedAnswer: { '@type': 'Answer', text: 'No. Riflette le ipotesi inserite dal gruppo. Non misura un valore sociale oggettivo e non sostituisce il confronto con le persone coinvolte.' } },
15
+ { '@type': 'Question', name: 'Perché due iniziative possono avere lo stesso punteggio?', acceptedAnswer: { '@type': 'Answer', text: 'Combinazioni diverse di impatto, urgenza e sforzo possono produrre lo stesso quoziente. Criteri trasparenti mantengono poi stabile l\'ordine.' } },
16
+ ] };
17
+ const howTo: HowTo = { '@type': 'HowTo', name: 'Creare un ordine spiegabile per le priorità civiche', step: [
18
+ { '@type': 'HowToStep', name: 'Elenca le iniziative', text: 'Inserisci una proposta con un nome chiaro per riga e non riunire più azioni in un solo elemento.' },
19
+ { '@type': 'HowToStep', name: 'Concorda la scala', text: 'Definisci il significato di impatto, urgenza e sforzo e usa la stessa scala da 1 a 5 per tutte le righe.' },
20
+ { '@type': 'HowToStep', name: 'Leggi il campo decisionale', text: 'Usa i quattro quadranti come spunto di discussione e verifica che 3 sia il confine comune.' },
21
+ { '@type': 'HowToStep', name: 'Controlla l\'ordine', text: 'Confronta ogni punteggio con le tre entrate e con il denominatore dello sforzo prima di decidere.' },
22
+ { '@type': 'HowToStep', name: 'Registra la decisione', text: 'Usa la lista come agenda e aggiungi prove, responsabili, vincoli e voci coinvolte.' },
23
+ ] };
24
+
25
+ export const content: CivicPriorityLocaleContent = {
26
+ slug: 'matrice-priorita-iniziative-civiche', title: 'Matrice delle priorità civiche', description: 'Ordina le iniziative civiche con punteggi trasparenti di impatto, urgenza e sforzo. Scopri cosa richiede un\'azione, una pianificazione, una risposta rapida o una revisione successiva.', ui,
27
+ seo: [
28
+ { type: 'title', text: 'Trasformare le idee civiche in un ordine di priorità condiviso', level: 2 },
29
+ { type: 'paragraph', html: 'Un gruppo ha spesso più proposte utili di quante ne possa realizzare con il tempo, il denaro e le persone disponibili. Questa matrice pone le stesse tre domande per ogni iniziativa: quanto potrebbe contare il cambiamento, quanto è urgente il problema e quanto sforzo richiede l\'attuazione? Il risultato offre un punto di partenza visibile per parlare di sequenza e capacità, senza sostituire il giudizio del gruppo.' },
30
+ { type: 'title', text: 'Come funziona il punteggio di priorità', level: 2 },
31
+ { type: 'paragraph', html: 'La formula è impatto moltiplicato per urgenza e diviso per sforzo. Un\'iniziativa con impatto 5, urgenza 4 e sforzo 2 riceve 10 punti. È un\'euristica compatta, non una misura del valore sociale. È utile perché ogni ipotesi resta visibile e i partecipanti possono rifare il calcolo, spiegare una differenza e correggere un criterio poco chiaro.' },
32
+ { type: 'table', headers: ['Valore', 'Scala', 'Domanda da porsi'], rows: [['Impatto', 'Da 1 a 5', 'Quanto potrebbe contare questo cambiamento per le persone o il risultato interessato?'], ['Urgenza', 'Da 1 a 5', 'Qual è il costo dell\'attesa o quale pressione temporale esiste?'], ['Sforzo', 'Da 0 a 5', 'Quale difficoltà, spesa o quantità di risorse richiede l\'attuazione?']] },
33
+ { type: 'title', text: 'Leggere le quattro zone decisionali', level: 2 },
34
+ { type: 'paragraph', html: 'Il campo posiziona le iniziative per impatto e urgenza, con 3 come confine visibile su entrambi gli assi. Agire ora riunisce impatto e urgenza alti. Pianificare indica impatto alto e urgenza minore. Rispondere subito indica urgenza alta con impatto più basso, quando un intervento piccolo può ridurre la pressione. Rimandare riunisce valori bassi e invita a una revisione futura, non a un rifiuto automatico.' },
35
+ { type: 'list', items: ['Concorda prima che cosa significa impatto per questo gruppo.', 'Usa lo stesso orizzonte temporale per valutare l\'urgenza.', 'Considera lo sforzo come risorse necessarie, non come penalità per un\'idea impopolare.', 'Leggi le tre componenti accanto a ogni posizione.', 'Rivaluta dopo nuove prove, scadenze o cambiamenti della capacità disponibile.'] },
36
+ { type: 'title', text: 'Usare il risultato in una discussione civica', level: 2 },
37
+ { type: 'paragraph', html: 'La matrice è più utile quando più persone valutano le stesse iniziative e spiegano le differenze. Una persona può attribuire un impatto alto perché una misura cambia profondamente la vita di un piccolo gruppo, mentre un\'altra lo riduce per la portata limitata. Il disaccordo rivela un criterio da definire. Conserva le motivazioni e le voci ascoltate invece di nascondere la divergenza.' },
38
+ { type: 'tip', title: 'Il punteggio è uno scenario dichiarato', html: 'Un risultato alto significa soltanto che la combinazione inserita sale in cima secondo questa formula. Non dimostra equità, non crea un obbligo giuridico, non predice gli esiti e non sostituisce una decisione pubblica. Conserva le motivazioni accanto a ogni decisione che usa questo ordine.' },
39
+ { type: 'title', text: 'Limiti e casi particolari', level: 2 },
40
+ { type: 'paragraph', html: 'Lo sforzo 0 è protetto con un denominatore di 1 per evitare risultati infiniti. Un valore mancante, frazionario o fuori intervallo esclude la riga finché non viene corretto. I punteggi uguali sono ordinati con criteri documentati e poi mantengono l\'ordine di inserimento. Un quadrante non è una valutazione dei rischi: un lavoro urgente e ad alto impatto può richiedere controlli legali, finanziari, di sicurezza o accessibilità.' },
41
+ ],
42
+ faq: [
43
+ { question: 'Come si calcola il punteggio di priorità?', answer: 'Moltiplica impatto per urgenza e dividi per sforzo. Quando lo sforzo è 0, il denominatore usato è 1.' },
44
+ { question: 'Che cosa significa la posizione nel campo?', answer: 'Impatto e urgenza da 3 in su sono sul lato alto. Le quattro zone aiutano a discutere la sequenza.' },
45
+ { question: 'Un punteggio alto dimostra che l\'iniziativa è la migliore?', answer: 'No. È un risultato trasparente basato su ipotesi dichiarate, non una prova del valore sociale.' },
46
+ { question: 'Perché ci sono punteggi uguali?', answer: 'Combinazioni diverse possono produrre lo stesso quoziente. I criteri di spareggio rendono l\'ordine riproducibile.' },
47
+ ], bibliography, howTo: [
48
+ { name: 'Elenca le iniziative', text: 'Inserisci una proposta chiara per riga.' }, { name: 'Concorda la scala', text: 'Usa lo stesso significato da 1 a 5 in ogni riga.' }, { name: 'Leggi il campo', text: 'Usa i quattro quadranti per discutere la sequenza.' }, { name: 'Controlla l\'ordine', text: 'Confronta ogni posizione con impatto, urgenza, sforzo e denominatore.' }, { name: 'Aggiungi prove', text: 'Registra vincoli e voci coinvolte dopo il confronto.' },
49
+ ], schemas: [softwareApplication, faqPage, howTo] as unknown as Record<string, unknown>[],
50
+ };
@@ -0,0 +1,121 @@
1
+ import type { FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
+ import { bibliography } from '../bibliography';
3
+ import type { CivicPriorityLocaleContent } from '../entry';
4
+ import type { CivicPriorityUI } from '../ui';
5
+
6
+ const ui: CivicPriorityUI = {
7
+ addInitiative: '施策を追加',
8
+ initiativeList: '評価する施策',
9
+ inputHint: '比較する前に、すべての提案を同じ1から5の基準で評価してください。',
10
+ initiative: '施策',
11
+ impact: '影響度',
12
+ urgency: '緊急度',
13
+ effort: '実行負荷',
14
+ scoreScale: '1から5で入力',
15
+ scoreHint: '数字が大きいほど影響度、緊急度、または実行負荷が高いことを表します。',
16
+ removeInitiative: '施策を削除',
17
+ reset: '例をリセット',
18
+ resultTitle: '判断フィールド',
19
+ rankingTitle: '説明可能な優先順位',
20
+ matrixLabel: '影響度と緊急度で配置した施策',
21
+ summaryPrefix: '表示中:',
22
+ summarySuffix: '件の評価済み施策',
23
+ rank: '順位',
24
+ priorityScore: '優先スコア',
25
+ denominator: '実行負荷の分母',
26
+ quadrant: '領域',
27
+ emptyState: '施策を追加すると判断フィールドが開きます。',
28
+ invalidState: '強調表示された値を修正すると優先順位を計算できます。',
29
+ nameRequired: '名前を入力してください。',
30
+ impactInvalid: '影響度は1から5までの整数で入力してください。',
31
+ urgencyInvalid: '緊急度は1から5までの整数で入力してください。',
32
+ effortInvalid: '実行負荷は0から5までの整数で入力してください。',
33
+ actNow: '今すぐ実行',
34
+ plan: '計画する',
35
+ quickResponse: '迅速に対応',
36
+ defer: '後回し',
37
+ highImpact: '影響度が高い',
38
+ lowImpact: '影響度が低い',
39
+ highUrgency: '緊急度が高い',
40
+ lowUrgency: '緊急度が低い',
41
+ methodTitle: '適用した方法',
42
+ methodText: '優先スコアは影響度と緊急度を掛け、実行負荷で割ります。3つの値は画面上で確認できる1から5の基準を使います。実行負荷0は1として扱うため、無料または既存の資源で実施できる施策も有限のスコアになります。同点の場合は影響度、緊急度、低い実行負荷、入力順の順に比較します。',
43
+ notDoTitle: 'このツールがしないこと',
44
+ notDoText: '客観的な社会的価値を決めたり、成果を自動測定したり、熟議の代わりになったりするものではありません。高いスコアは入力した前提に基づく透明なシナリオであり、公共の利益を保証する命令や予測ではありません。',
45
+ edgeCasesTitle: '例外と注意点',
46
+ edgeCasesText: 'すべての行で各スコアの意味を統一してください。欠落した値や整数でない値がある行は、修正するまで除外されます。判断フィールドでは3が境界線です。同点は記録された基準で比較した後も入力順を保ちます。グループで結果を話し合うときは、一度に1つの評価だけを変えてください。',
47
+ warningTitle: '決定前に確認',
48
+ zeroEffortWarning: '実行負荷0はスコアを有限かつ比較可能にするため分母1として扱われます。',
49
+ invalidRowsWarning: '強調表示された値を修正するまで、一部の行は除外されています。',
50
+ noInitiatives: 'まだ施策が入力されていません。',
51
+ scoreOutOf: '最大25点中',
52
+ };
53
+
54
+ const softwareApplication: SoftwareApplication = {
55
+ '@type': 'SoftwareApplication',
56
+ name: '市民施策優先順位マトリクス',
57
+ applicationCategory: 'BusinessApplication',
58
+ operatingSystem: 'Any',
59
+ description: '市民施策を影響度、緊急度、実行負荷で評価し、説明できる優先順位を作成します。',
60
+ url: 'https://gamebob.dev/ja/civic-priority-matrix',
61
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'USD' },
62
+ };
63
+
64
+ const faqPage: FAQPage = {
65
+ '@type': 'FAQPage',
66
+ mainEntity: [
67
+ { '@type': 'Question', name: '優先スコアはどのように計算しますか?', acceptedAnswer: { '@type': 'Answer', text: '影響度に緊急度を掛け、実行負荷で割ります。各値は1から5で、実行負荷0は分母1として扱います。' } },
68
+ { '@type': 'Question', name: '領域の位置は何を意味しますか?', acceptedAnswer: { '@type': 'Answer', text: '影響度と緊急度だけを使います。3以上を高い側として、今すぐ実行、計画する、迅速に対応、後回しの4領域を示します。' } },
69
+ { '@type': 'Question', name: '高いスコアなら最善の施策ですか?', acceptedAnswer: { '@type': 'Answer', text: 'いいえ。入力した前提のもとでの結果であり、社会的価値の証明や成果の予測ではありません。' } },
70
+ { '@type': 'Question', name: '同じ順位になることがあるのはなぜですか?', acceptedAnswer: { '@type': 'Answer', text: '異なる影響度、緊急度、実行負荷の組み合わせが同じ商を生むことがあります。透明な同点処理と入力順を使います。' } },
71
+ ],
72
+ };
73
+
74
+ const howTo: HowTo = {
75
+ '@type': 'HowTo',
76
+ name: '説明できる市民施策の優先順位を作る',
77
+ step: [
78
+ { '@type': 'HowToStep', name: '施策を一覧にする', text: '1行に1つ、内容が明確な提案を入力します。複数の行動を1つにまとめないでください。' },
79
+ { '@type': 'HowToStep', name: '基準をそろえる', text: 'すべての行で影響度、緊急度、実行負荷の意味を統一し、1を低く5を高く扱います。' },
80
+ { '@type': 'HowToStep', name: '判断フィールドを読む', text: '4つの領域を順番について話すための問いとして使い、3を境界として一貫して扱います。' },
81
+ { '@type': 'HowToStep', name: '順位を点検する', text: '各順位を3つの入力値と分母と照合します。意外な順位は前提を見直すきっかけです。' },
82
+ { '@type': 'HowToStep', name: '決定を記録する', text: '順位を話し合いの議題にし、根拠、担当者、制約、影響を受ける人の声を追加してから決定します。' },
83
+ ],
84
+ };
85
+
86
+ export const content: CivicPriorityLocaleContent = {
87
+ slug: 'civic-priority-matrix',
88
+ title: '市民施策の優先順位マトリクス',
89
+ description: '市民施策を影響度、緊急度、実行負荷で透明に評価し、今すぐ実行する提案、計画する提案、迅速に対応する提案、後で見直す提案を見つけます。',
90
+ ui,
91
+ seo: [
92
+ { type: 'title', text: '市民のアイデアを共有できる優先順位へ', level: 2 },
93
+ { type: 'paragraph', html: '地域の提案は、使える時間や予算や人手より多くなりがちです。この市民施策優先順位マトリクスは、各提案に同じ3つの問いを投げかけます。どれほどの影響がありそうか、問題はどれほど急いでいるか、実行にはどれほどの負荷が必要かを入力し、順番について話し合える出発点を作ります。' },
94
+ { type: 'title', text: '優先スコアの仕組み', level: 2 },
95
+ { type: 'paragraph', html: 'スコアは影響度と緊急度の積を実行負荷で割った値です。影響度5、緊急度4、実行負荷2なら10点になります。これは社会的価値の測定ではなく、前提を見える状態にした簡潔なヒューリスティックです。' },
96
+ { type: 'table', headers: ['入力', '基準', '考える問い'], rows: [['影響度', '1から5', '関係する人や成果にどれほどの変化をもたらしますか?'], ['緊急度', '1から5', '待つことで生じる負担や時間の圧力はどれほどですか?'], ['実行負荷', '0から5', '実施に必要な難しさ、費用、資源はどれほどですか?']] },
97
+ { type: 'title', text: '4つの判断領域を読む', level: 2 },
98
+ { type: 'paragraph', html: '影響度と緊急度の両方で3を境界にします。影響度も緊急度も高いものは今すぐ実行、影響度が高く緊急度が低いものは計画する、影響度が低く緊急度が高いものは迅速に対応、両方が低いものは後回しです。後回しは自動的な却下ではなく、見直しの合図です。' },
99
+ { type: 'list', items: ['入力前に、このグループにとっての影響度を定義する。', 'すべての提案で同じ期間を使って緊急度を考える。', '実行負荷を資源の必要量として扱い、人気の低い案への罰にしない。', '順位を見る前に、各行の3つの値を確認する。', '新しい根拠、期限、使える資源が変わったら再評価する。'] },
100
+ { type: 'title', text: '市民の話し合いで結果を活用する', level: 2 },
101
+ { type: 'paragraph', html: '同じ施策を複数人で評価し、違いの理由を説明するとマトリクスは役立ちます。小さな集団に深い影響があるため高く評価する人と、対象範囲が狭いとして低く評価する人の違いは、定義すべき基準を明らかにします。理由と、最終判断に参加した人の声を記録してください。' },
102
+ { type: 'tip', title: 'スコアは宣言したシナリオです', html: '高い結果は、この計算式と入力した影響度、緊急度、実行負荷の組み合わせで上位になったことを意味します。法的義務、公平性、成果、公共の利益を証明するものではありません。判断に使った採点メモを結果と一緒に保管してください。' },
103
+ { type: 'title', text: '限界と例外', level: 2 },
104
+ { type: 'paragraph', html: '実行負荷0は分母1で計算し、無限大にならないようにします。値が欠落している、整数でない、範囲外である行は修正されるまで除外されます。同点は記録された同点処理の後も入力順を保ちます。領域はリスク評価ではないため、緊急で影響が大きい施策でも安全、法務、財務、アクセシビリティの確認が必要です。' },
105
+ ],
106
+ faq: [
107
+ { question: '優先スコアはどのように計算しますか?', answer: '影響度と緊急度を掛け、実行負荷で割ります。実行負荷0は分母1として扱います。' },
108
+ { question: '領域の位置は何を意味しますか?', answer: '影響度と緊急度が3以上なら高い側です。4領域が順番についての会話を助けます。' },
109
+ { question: '高いスコアなら最善の施策ですか?', answer: 'いいえ。入力した前提に基づく透明な結果であり、社会的価値の証明ではありません。' },
110
+ { question: '同じスコアになるのはなぜですか?', answer: '異なる入力の組み合わせで同じ商になることがあります。透明な同点処理と入力順を使います。' },
111
+ ],
112
+ bibliography,
113
+ howTo: [
114
+ { name: '施策を一覧にする', text: '1行に1つ、明確な提案を入力します。' },
115
+ { name: '基準をそろえる', text: 'すべての行で1から5の意味を統一します。' },
116
+ { name: '領域を読む', text: '4つの領域を順番について話す材料にします。' },
117
+ { name: '順位を点検する', text: '影響度、緊急度、実行負荷、分母と照合します。' },
118
+ { name: '根拠を追加する', text: '結果を議題にし、制約と影響を受ける人の声を記録します。' },
119
+ ],
120
+ schemas: [softwareApplication, faqPage, howTo] as unknown as Record<string, unknown>[],
121
+ };
@@ -0,0 +1,121 @@
1
+ import type { FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
+ import { bibliography } from '../bibliography';
3
+ import type { CivicPriorityLocaleContent } from '../entry';
4
+ import type { CivicPriorityUI } from '../ui';
5
+
6
+ const ui: CivicPriorityUI = {
7
+ addInitiative: '정책 추가',
8
+ initiativeList: '평가할 정책',
9
+ inputHint: '비교하기 전에 모든 제안을 같은 1에서 5 기준으로 평가하세요.',
10
+ initiative: '정책',
11
+ impact: '영향도',
12
+ urgency: '긴급도',
13
+ effort: '실행 부담',
14
+ scoreScale: '1에서 5로 평가',
15
+ scoreHint: '숫자가 높을수록 영향도, 긴급도 또는 실행 부담이 큽니다.',
16
+ removeInitiative: '정책 삭제',
17
+ reset: '예시 초기화',
18
+ resultTitle: '판단 영역',
19
+ rankingTitle: '설명 가능한 순서',
20
+ matrixLabel: '영향도와 긴급도로 배치한 정책',
21
+ summaryPrefix: '표시 중:',
22
+ summarySuffix: '개 평가 정책',
23
+ rank: '순위',
24
+ priorityScore: '우선순위 점수',
25
+ denominator: '실행 부담 분모',
26
+ quadrant: '영역',
27
+ emptyState: '정책을 추가하면 판단 영역이 열립니다.',
28
+ invalidState: '강조된 값을 고치면 우선순위를 계산할 수 있습니다.',
29
+ nameRequired: '이름을 입력하세요.',
30
+ impactInvalid: '영향도는 1에서 5 사이의 정수여야 합니다.',
31
+ urgencyInvalid: '긴급도는 1에서 5 사이의 정수여야 합니다.',
32
+ effortInvalid: '실행 부담은 0에서 5 사이의 정수여야 합니다.',
33
+ actNow: '지금 실행',
34
+ plan: '계획하기',
35
+ quickResponse: '빠르게 대응',
36
+ defer: '나중에 검토',
37
+ highImpact: '높은 영향도',
38
+ lowImpact: '낮은 영향도',
39
+ highUrgency: '높은 긴급도',
40
+ lowUrgency: '낮은 긴급도',
41
+ methodTitle: '적용한 방법',
42
+ methodText: '우선순위 점수는 영향도와 긴급도를 곱한 뒤 실행 부담으로 나눕니다. 세 값은 화면에 보이는 1에서 5 기준을 사용합니다. 실행 부담 0은 분모 1로 처리해 무료이거나 이미 자원이 있는 행동도 유한한 점수를 갖게 합니다. 동점은 영향도, 긴급도, 낮은 실행 부담, 입력 순서로 판단합니다.',
43
+ notDoTitle: '이 도구가 하지 않는 일',
44
+ notDoText: '객관적인 사회적 가치를 정하거나 결과를 자동으로 측정하거나 숙의를 대신하지 않습니다. 높은 점수는 입력한 가정에 따른 투명한 시나리오이지 공익을 보장하는 명령이나 예측이 아닙니다.',
45
+ edgeCasesTitle: '예외와 주의사항',
46
+ edgeCasesText: '모든 행에서 각 점수의 의미를 같게 유지하세요. 값이 없거나 정수가 아닌 행은 고칠 때까지 제외됩니다. 판단 영역에서 3은 경계선입니다. 동점은 정해진 기준으로 비교한 뒤에도 입력 순서를 유지합니다. 그룹에서 결과를 논의할 때는 한 번에 하나의 평가만 바꾸세요.',
47
+ warningTitle: '결정 전에 확인',
48
+ zeroEffortWarning: '실행 부담 0은 점수를 유한하고 비교 가능하게 만들기 위해 분모 1로 처리됩니다.',
49
+ invalidRowsWarning: '강조된 값을 고칠 때까지 일부 행은 제외됩니다.',
50
+ noInitiatives: '아직 입력한 정책이 없습니다.',
51
+ scoreOutOf: '최대 25점 중',
52
+ };
53
+
54
+ const softwareApplication: SoftwareApplication = {
55
+ '@type': 'SoftwareApplication',
56
+ name: '시민 정책 우선순위 매트릭스',
57
+ applicationCategory: 'BusinessApplication',
58
+ operatingSystem: 'Any',
59
+ description: '시민 정책을 영향도, 긴급도, 실행 부담으로 평가해 설명 가능한 우선순위를 만듭니다.',
60
+ url: 'https://gamebob.dev/ko/civic-priority-matrix',
61
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'USD' },
62
+ };
63
+
64
+ const faqPage: FAQPage = {
65
+ '@type': 'FAQPage',
66
+ mainEntity: [
67
+ { '@type': 'Question', name: '우선순위 점수는 어떻게 계산하나요?', acceptedAnswer: { '@type': 'Answer', text: '영향도와 긴급도를 곱한 뒤 실행 부담으로 나눕니다. 각 값은 1에서 5를 사용하며 실행 부담 0은 분모 1로 처리합니다.' } },
68
+ { '@type': 'Question', name: '영역의 위치는 무엇을 뜻하나요?', acceptedAnswer: { '@type': 'Answer', text: '영향도와 긴급도만 사용합니다. 3 이상을 높은 쪽으로 보고 지금 실행, 계획하기, 빠르게 대응, 나중에 검토의 네 영역을 제안합니다.' } },
69
+ { '@type': 'Question', name: '점수가 높으면 가장 좋은 정책인가요?', acceptedAnswer: { '@type': 'Answer', text: '아닙니다. 입력한 가정 아래의 결과일 뿐이며 사회적 가치의 증명이나 결과의 예측이 아닙니다.' } },
70
+ { '@type': 'Question', name: '두 정책이 같은 순위가 될 수 있는 이유는 무엇인가요?', acceptedAnswer: { '@type': 'Answer', text: '서로 다른 영향도, 긴급도, 실행 부담 조합이 같은 몫을 만들 수 있습니다. 투명한 동점 기준과 입력 순서를 사용합니다.' } },
71
+ ],
72
+ };
73
+
74
+ const howTo: HowTo = {
75
+ '@type': 'HowTo',
76
+ name: '설명 가능한 시민 정책 우선순위 만들기',
77
+ step: [
78
+ { '@type': 'HowToStep', name: '정책을 목록으로 만들기', text: '한 행에 하나씩 이름이 분명한 제안을 입력하세요. 여러 행동을 하나로 묶지 마세요.' },
79
+ { '@type': 'HowToStep', name: '기준 합의하기', text: '모든 행에서 영향도, 긴급도, 실행 부담의 의미를 같게 사용하고 1은 낮음, 5는 높음으로 정하세요.' },
80
+ { '@type': 'HowToStep', name: '판단 영역 읽기', text: '네 영역을 순서를 논의하는 질문으로 사용하고 3을 경계선으로 일관되게 적용하세요.' },
81
+ { '@type': 'HowToStep', name: '순서 점검하기', text: '각 순위를 세 입력값과 분모에 대조하세요. 예상 밖의 순위는 가정을 다시 살펴볼 신호입니다.' },
82
+ { '@type': 'HowToStep', name: '결정 기록하기', text: '순위 목록을 토론 안건으로 삼고 근거, 담당자, 제약, 영향을 받는 사람들의 목소리를 기록한 뒤 결정하세요.' },
83
+ ],
84
+ };
85
+
86
+ export const content: CivicPriorityLocaleContent = {
87
+ slug: 'civic-priority-matrix',
88
+ title: '시민 정책 우선순위 매트릭스',
89
+ description: '시민 정책을 영향도, 긴급도, 실행 부담으로 투명하게 평가해 지금 실행할 제안, 계획할 제안, 빠르게 대응할 제안, 나중에 검토할 제안을 찾습니다.',
90
+ ui,
91
+ seo: [
92
+ { type: 'title', text: '시민 아이디어를 함께 정하는 우선순위로', level: 2 },
93
+ { type: 'paragraph', html: '지역에는 행동할 수 있는 시간, 예산, 사람보다 더 많은 유용한 제안이 생깁니다. 시민 정책 우선순위 매트릭스는 모든 제안에 같은 세 가지 질문을 적용합니다. 어떤 영향을 만들 수 있는지, 문제가 얼마나 긴급한지, 실행에 얼마나 많은 노력이 필요한지를 평가해 순서를 논의할 수 있는 출발점을 만듭니다.' },
94
+ { type: 'title', text: '우선순위 점수의 작동 방식', level: 2 },
95
+ { type: 'paragraph', html: '점수는 영향도와 긴급도의 곱을 실행 부담으로 나눈 값입니다. 영향도 5, 긴급도 4, 실행 부담 2라면 10점입니다. 이 값은 사회적 가치를 측정하는 수치가 아니라 가정을 보이게 하는 간단한 휴리스틱입니다. 각 요소가 공개되어 다른 사람도 계산을 재현할 수 있다는 점이 유용합니다.' },
96
+ { type: 'table', headers: ['입력값', '범위', '질문'], rows: [['영향도', '1에서 5', '관련된 사람이나 결과에 얼마나 큰 변화를 만들 수 있나요?'], ['긴급도', '1에서 5', '기다릴 때의 비용이나 시간 압박은 어느 정도인가요?'], ['실행 부담', '0에서 5', '전달에 필요한 난이도, 비용, 자원은 어느 정도인가요?']] },
97
+ { type: 'title', text: '네 가지 판단 영역 읽기', level: 2 },
98
+ { type: 'paragraph', html: '영향도와 긴급도 모두에서 3을 경계선으로 사용합니다. 두 값이 모두 높으면 지금 실행, 영향도는 높고 긴급도는 낮으면 계획하기, 영향도는 낮고 긴급도는 높으면 빠르게 대응, 둘 다 낮으면 나중에 검토입니다. 나중에 검토는 자동 거절이 아니라 다시 볼 시점을 뜻합니다.' },
99
+ { type: 'list', items: ['입력하기 전에 이 그룹에서 영향도가 무엇인지 합의하세요.', '모든 정책의 긴급도를 같은 시간 범위에서 판단하세요.', '실행 부담을 필요한 자원으로 보고 인기 없는 제안에 대한 벌점으로 사용하지 마세요.', '순위를 논의하기 전에 각 행의 세 입력값을 확인하세요.', '새로운 근거, 기한, 가용 자원이 바뀌면 다시 평가하세요.'] },
100
+ { type: 'title', text: '시민 토론에서 결과 활용하기', level: 2 },
101
+ { type: 'paragraph', html: '여러 사람이 같은 정책을 평가하고 차이의 이유를 설명할 때 매트릭스가 가장 유용합니다. 한 사람은 작은 집단에 깊은 영향을 준다고 보고 높은 점수를 주고, 다른 사람은 범위가 좁다며 낮은 점수를 줄 수 있습니다. 이런 차이는 먼저 정의해야 할 기준을 드러냅니다. 최종 결정에 참여한 사람들의 이유와 목소리를 기록하세요.' },
102
+ { type: 'tip', title: '점수는 선언한 시나리오입니다', html: '높은 결과는 이 공식과 입력한 영향도, 긴급도, 실행 부담의 조합에서 상위에 올랐다는 뜻입니다. 법적 의무, 공정성, 결과, 공익을 증명하지 않습니다. 순위를 사용한 결정 옆에 평가 근거를 보관하세요.' },
103
+ { type: 'title', text: '한계와 예외', level: 2 },
104
+ { type: 'paragraph', html: '실행 부담 0은 분모 1로 처리해 무한대가 되지 않게 합니다. 값이 없거나 정수가 아니거나 범위를 벗어난 행은 고칠 때까지 제외됩니다. 같은 점수는 정해진 동점 기준을 적용한 뒤 입력 순서를 유지합니다. 판단 영역은 위험 평가가 아니므로 긴급하고 영향이 큰 정책도 안전, 법률, 재정, 접근성 검토가 필요합니다.' },
105
+ ],
106
+ faq: [
107
+ { question: '우선순위 점수는 어떻게 계산하나요?', answer: '영향도와 긴급도를 곱하고 실행 부담으로 나눕니다. 실행 부담 0은 분모 1입니다.' },
108
+ { question: '영역의 위치는 무엇을 뜻하나요?', answer: '영향도와 긴급도가 3 이상이면 높은 쪽입니다. 네 영역은 순서에 관한 대화를 돕습니다.' },
109
+ { question: '점수가 높으면 가장 좋은 정책인가요?', answer: '아닙니다. 입력한 가정 아래의 투명한 결과이며 사회적 가치의 증명이 아닙니다.' },
110
+ { question: '같은 점수가 나오는 이유는 무엇인가요?', answer: '서로 다른 입력 조합이 같은 몫을 만들 수 있습니다. 동점 기준과 입력 순서를 투명하게 적용합니다.' },
111
+ ],
112
+ bibliography,
113
+ howTo: [
114
+ { name: '정책을 목록으로 만들기', text: '한 행에 하나씩 분명한 제안을 입력하세요.' },
115
+ { name: '기준 합의하기', text: '모든 행에서 1에서 5의 의미를 같게 사용하세요.' },
116
+ { name: '영역 읽기', text: '네 영역을 순서를 논의하는 재료로 사용하세요.' },
117
+ { name: '순서 점검하기', text: '영향도, 긴급도, 실행 부담, 분모와 대조하세요.' },
118
+ { name: '근거 추가하기', text: '결과를 안건으로 삼고 제약과 영향을 받는 사람들의 목소리를 기록하세요.' },
119
+ ],
120
+ schemas: [softwareApplication, faqPage, howTo] as unknown as Record<string, unknown>[],
121
+ };
@@ -0,0 +1,45 @@
1
+ import type { FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
+ import { bibliography } from '../bibliography';
3
+ import type { CivicPriorityLocaleContent } from '../entry';
4
+ import type { CivicPriorityUI } from '../ui';
5
+
6
+ const ui: CivicPriorityUI = {
7
+ addInitiative: 'Initiatief toevoegen', initiativeList: 'Te beoordelen initiatieven', inputHint: 'Geef elk voorstel dezelfde schaal van 1 tot 5 voordat je ze vergelijkt.', initiative: 'Initiatief', impact: 'Impact', urgency: 'Urgentie', effort: 'Inspanning', scoreScale: 'Score van 1 tot 5', scoreHint: 'Hoger betekent meer impact, urgentie of inspanning.', removeInitiative: 'Initiatief verwijderen', reset: 'Voorbeeld herstellen', resultTitle: 'Beslissingsveld', rankingTitle: 'Uitlegbare volgorde', matrixLabel: 'Initiatieven op impact en urgentie geplaatst', summaryPrefix: 'Er worden', summarySuffix: 'beoordeelde initiatieven getoond', rank: 'Rang', priorityScore: 'Prioriteitsscore', denominator: 'Noemer voor inspanning', quadrant: 'Kwadrant', emptyState: 'Voeg een initiatief toe om het beslissingsveld te openen.', invalidState: 'Corrigeer de gemarkeerde waarden om een prioriteitsvolgorde te berekenen.', nameRequired: 'Een naam is verplicht.', impactInvalid: 'Impact moet een geheel getal van 1 tot en met 5 zijn.', urgencyInvalid: 'Urgentie moet een geheel getal van 1 tot en met 5 zijn.', effortInvalid: 'Inspanning moet een geheel getal van 0 tot en met 5 zijn.', actNow: 'Nu handelen', plan: 'Plannen', quickResponse: 'Snel reageren', defer: 'Uitstellen', highImpact: 'Hoge impact', lowImpact: 'Lage impact', highUrgency: 'Hoge urgentie', lowUrgency: 'Lage urgentie', methodTitle: 'Toegepaste methode', methodText: 'De prioriteitsscore is impact vermenigvuldigd met urgentie en gedeeld door inspanning. Impact, urgentie en inspanning gebruiken een zichtbare schaal van 1 tot en met 5. Inspanning 0 wordt als 1 behandeld, zodat een gratis of al voorbereide actie een eindige score houdt. Bij gelijke scores vergelijkt de rangschikking impact, urgentie, lagere inspanning en daarna de invoervolgorde.', notDoTitle: 'Wat deze tool niet doet', notDoText: 'De tool bepaalt geen objectieve maatschappelijke waarde, meet geen resultaten automatisch en vervangt geen overleg. Een hoge score is een transparant scenario op basis van je aannames, geen opdracht of voorspelling van publiek voordeel.', edgeCasesTitle: 'Randgevallen en waarschuwingen', edgeCasesText: 'Gebruik in elke rij dezelfde betekenis van een score. Een ontbrekende of niet-gehele score sluit die rij uit tot je haar corrigeert. Score 3 vormt de grens tussen hoog en laag. Gelijke scores behouden na de beschreven regels een stabiele invoervolgorde. Verander tijdens groepsbesprekingen steeds één beoordeling tegelijk.', warningTitle: 'Controleer voor je beslist', zeroEffortWarning: 'Inspanning 0 gebruikt noemer 1 zodat de score eindig en vergelijkbaar blijft.', invalidRowsWarning: 'Sommige rijen zijn uitgesloten totdat je de gemarkeerde waarden corrigeert.', noInitiatives: 'Er zijn nog geen initiatieven ingevoerd.', scoreOutOf: 'van maximaal 25',
8
+ };
9
+ const softwareApplication: SoftwareApplication = { '@type': 'SoftwareApplication', name: 'Civieke prioriteitenmatrix', applicationCategory: 'BusinessApplication', operatingSystem: 'Any', description: 'Beoordeel civieke initiatieven op impact, urgentie en inspanning voor een uitlegbare prioriteitsvolgorde.', url: 'https://gamebob.dev/nl/prioriteitenmatrix-civieke-initiatieven', offers: { '@type': 'Offer', price: '0', priceCurrency: 'USD' } };
10
+ const faqPage: FAQPage = { '@type': 'FAQPage', mainEntity: [
11
+ { '@type': 'Question', name: 'Hoe wordt de prioriteitsscore berekend?', acceptedAnswer: { '@type': 'Answer', text: 'Vermenigvuldig impact met urgentie en deel door inspanning. Inspanning 0 gebruikt noemer 1 zodat geen oneindige score ontstaat.' } },
12
+ { '@type': 'Question', name: 'Wat betekent de positie in het kwadrant?', acceptedAnswer: { '@type': 'Answer', text: 'Impact en urgentie van 3 tot en met 5 liggen aan de hoge kant. De vier zones helpen bepalen of je handelt, plant, snel reageert of uitstelt.' } },
13
+ { '@type': 'Question', name: 'Bewijst een hoge score dat een initiatief het beste is?', acceptedAnswer: { '@type': 'Answer', text: 'Nee. De score weerspiegelt de aannames van de groep. Ze meet geen objectieve maatschappelijke waarde en vervangt geen gesprek met betrokkenen.' } },
14
+ { '@type': 'Question', name: 'Waarom kunnen twee initiatieven dezelfde score hebben?', acceptedAnswer: { '@type': 'Answer', text: 'Verschillende combinaties van impact, urgentie en inspanning kunnen dezelfde uitkomst geven. Transparante regels bepalen daarna de volgorde.' } },
15
+ ] };
16
+ const howTo: HowTo = { '@type': 'HowTo', name: 'Een uitlegbare civieke prioriteitsvolgorde maken', step: [
17
+ { '@type': 'HowToStep', name: 'Initiatieven opsommen', text: 'Voer per rij één duidelijk benoemd voorstel in en combineer geen acties die apart beoordeeld moeten worden.' },
18
+ { '@type': 'HowToStep', name: 'De schaal afspreken', text: 'Leg de betekenis van impact, urgentie en inspanning vast en gebruik die betekenis van 1 tot en met 5 overal hetzelfde.' },
19
+ { '@type': 'HowToStep', name: 'Het beslissingsveld lezen', text: 'Gebruik de vier zones als aanleiding voor gesprek en controleer of 3 steeds de grens blijft.' },
20
+ { '@type': 'HowToStep', name: 'De volgorde controleren', text: 'Vergelijk elke score met de drie invoerwaarden en de noemer voor inspanning.' },
21
+ { '@type': 'HowToStep', name: 'De beslissing vastleggen', text: 'Gebruik de lijst als agenda en voeg bewijs, verantwoordelijken, beperkingen en betrokken stemmen toe.' },
22
+ ] };
23
+ export const content: CivicPriorityLocaleContent = {
24
+ slug: 'prioriteitenmatrix-civieke-initiatieven', title: 'Civieke prioriteitenmatrix', description: 'Rangschik civieke initiatieven met transparante scores voor impact, urgentie en inspanning. Zie welke voorstellen nu actie, planning, een snelle reactie of een latere beoordeling vragen.', ui,
25
+ seo: [
26
+ { type: 'title', text: 'Civieke ideeën omzetten in een gedeelde prioriteitsvolgorde', level: 2 },
27
+ { type: 'paragraph', html: 'Groepen hebben vaak meer bruikbare voorstellen dan tijd, geld of mensen om ze uit te voeren. Deze matrix stelt voor elk initiatief dezelfde drie vragen: hoeveel verschil kan het maken, hoe dringend is het probleem en hoeveel inspanning vraagt de uitvoering? Het resultaat maakt de aannames zichtbaar en helpt een groep praten over volgorde en capaciteit zonder overleg te vervangen.' },
28
+ { type: 'title', text: 'De prioriteitsscore begrijpen', level: 2 },
29
+ { type: 'paragraph', html: 'De formule is impact maal urgentie gedeeld door inspanning. Een initiatief met impact 5, urgentie 4 en inspanning 2 krijgt 10 punten. Dat is een compacte vuistregel en geen meting van maatschappelijke waarde. De onderdelen blijven naast elkaar zichtbaar, zodat deelnemers de berekening kunnen herhalen en een verschil in beoordeling kunnen bespreken.' },
30
+ { type: 'table', headers: ['Invoer', 'Schaal', 'Vraag voor de groep'], rows: [['Impact', '1 tot 5', 'Hoeveel kan deze verandering betekenen voor de betrokken mensen of het beoogde resultaat?'], ['Urgentie', '1 tot 5', 'Wat kost wachten of welke tijdsdruk bestaat er?'], ['Inspanning', '0 tot 5', 'Hoe moeilijk, duur of arbeidsintensief is de uitvoering?']] },
31
+ { type: 'title', text: 'De vier beslissingszones lezen', level: 2 },
32
+ { type: 'paragraph', html: 'Het veld plaatst initiatieven op impact en urgentie, met 3 als grens op beide assen. Nu handelen betekent hoge impact en hoge urgentie. Plannen betekent hoge impact met lagere urgentie. Snel reageren betekent lagere impact maar hoge urgentie, wanneer een kleine actie druk kan verminderen. Uitstellen betekent lage waarden op beide assen en vraagt om later opnieuw te kijken, niet om automatische afwijzing.' },
33
+ { type: 'list', items: ['Spreek af wat impact voor deze groep betekent.', 'Gebruik dezelfde periode om urgentie voor alle voorstellen te beoordelen.', 'Zie inspanning als benodigde middelen, niet als straf voor een impopulair idee.', 'Lees naast elke rang ook de drie onderdelen.', 'Beoordeel opnieuw na nieuwe informatie, een gewijzigde deadline of andere capaciteit.'] },
34
+ { type: 'title', text: 'Het resultaat gebruiken in een civiek gesprek', level: 2 },
35
+ { type: 'paragraph', html: 'De matrix werkt het best wanneer meerdere mensen dezelfde initiatieven beoordelen en hun verschillen uitleggen. Een kleine groep kan een hoge impact rechtvaardigen omdat de verandering diep ingrijpt, terwijl een ander de beperkte reikwijdte zwaarder laat wegen. Zo wordt duidelijk welk criterium nog uitleg nodig heeft. Noteer de redenen en de betrokken stemmen in plaats van afwijkingen weg te werken.' },
36
+ { type: 'tip', title: 'De score is een uitgesproken scenario', html: 'Een hoge uitkomst betekent alleen dat de ingevoerde combinatie volgens deze formule hoog eindigt. Ze bewijst geen eerlijkheid, schept geen wettelijke plicht, voorspelt geen uitkomst en vervangt geen publiek besluitvormingsproces. Bewaar de redenen bij elke beslissing die deze volgorde gebruikt.' },
37
+ { type: 'title', text: 'Grenzen en bijzondere gevallen', level: 2 },
38
+ { type: 'paragraph', html: 'Inspanning 0 krijgt noemer 1 om een oneindige uitkomst te voorkomen. Een ontbrekende, gebroken of te hoge waarde sluit een rij uit totdat ze is hersteld. Gelijke scores worden met de beschreven regels bepaald en behouden daarna de invoervolgorde. Een kwadrant is ook geen risicoanalyse: urgente voorstellen met hoge impact kunnen nog steeds juridische, financiële, veiligheids- of toegankelijkheidscontrole nodig hebben.' },
39
+ ],
40
+ faq: [
41
+ { question: 'Hoe wordt de prioriteitsscore berekend?', answer: 'Vermenigvuldig impact met urgentie en deel door inspanning. Bij inspanning 0 is de noemer 1.' }, { question: 'Wat betekent de positie in het veld?', answer: 'Impact en urgentie vanaf 3 liggen aan de hoge kant. De zones helpen de volgorde bespreken.' }, { question: 'Bewijst een hoge score dat het initiatief het beste is?', answer: 'Nee. Het is een transparant resultaat op basis van uitgesproken aannames, geen bewijs van maatschappelijke waarde.' }, { question: 'Waarom ontstaan gelijke scores?', answer: 'Andere invoercombinaties kunnen dezelfde uitkomst geven. De regels houden de volgorde reproduceerbaar.' },
42
+ ], bibliography, howTo: [
43
+ { name: 'Initiatieven opsommen', text: 'Voer één helder voorstel per rij in.' }, { name: 'De schaal afspreken', text: 'Gebruik dezelfde betekenis van 1 tot 5 in elke rij.' }, { name: 'Het veld lezen', text: 'Gebruik de vier zones om de volgorde te bespreken.' }, { name: 'De volgorde controleren', text: 'Vergelijk rang, impact, urgentie, inspanning en noemer.' }, { name: 'Bewijs toevoegen', text: 'Leg beperkingen en betrokken stemmen vast na het gesprek.' },
44
+ ], schemas: [softwareApplication, faqPage, howTo] as unknown as Record<string, unknown>[],
45
+ };