@jjlmoya/utils-tabletop 1.3.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 (171) hide show
  1. package/package.json +1 -1
  2. package/src/category/TabletopCategorySEO.astro +2 -7
  3. package/src/category/i18n/en.ts +4 -4
  4. package/src/category/i18n/ru.ts +2 -2
  5. package/src/category/i18n/zh.ts +8 -8
  6. package/src/category/index.ts +2 -1
  7. package/src/entries.ts +14 -1
  8. package/src/index.ts +1 -0
  9. package/src/pages/[locale]/[slug].astro +7 -6
  10. package/src/tests/locale_completeness.test.ts +1 -1
  11. package/src/tests/no_em_dash.test.ts +47 -0
  12. package/src/tests/seo_length.test.ts +1 -0
  13. package/src/tests/title_quality.test.ts +1 -1
  14. package/src/tests/tool_validation.test.ts +1 -1
  15. package/src/tool/board-game-timer/modules/ColorHelper.ts +2 -2
  16. package/src/tool/board-game-timer/modules/DuelViewManager.ts +4 -4
  17. package/src/tool/board-game-timer/modules/GameRunner.ts +1 -1
  18. package/src/tool/board-game-timer/modules/MultiplayerViewManager.ts +2 -2
  19. package/src/tool/board-game-timer/modules/SetupPanelManager.ts +1 -1
  20. package/src/tool/board-game-timer/modules/TimerEngine.ts +1 -1
  21. package/src/tool/board-game-timer/types.ts +1 -1
  22. package/src/tool/decision-wheel/audio.ts +78 -0
  23. package/src/tool/decision-wheel/bibliography.astro +16 -0
  24. package/src/tool/decision-wheel/bibliography.ts +8 -0
  25. package/src/tool/decision-wheel/client.ts +226 -0
  26. package/src/tool/decision-wheel/component.astro +48 -0
  27. package/src/tool/decision-wheel/components/SegmentEditor.astro +22 -0
  28. package/src/tool/decision-wheel/components/SpinHistory.astro +17 -0
  29. package/src/tool/decision-wheel/components/SpinResult.astro +13 -0
  30. package/src/tool/decision-wheel/components/WheelCanvas.astro +23 -0
  31. package/src/tool/decision-wheel/decision-wheel.css +632 -0
  32. package/src/tool/decision-wheel/drawing.ts +144 -0
  33. package/src/tool/decision-wheel/entry.ts +48 -0
  34. package/src/tool/decision-wheel/i18n/de.ts +97 -0
  35. package/src/tool/decision-wheel/i18n/en.ts +251 -0
  36. package/src/tool/decision-wheel/i18n/es.ts +93 -0
  37. package/src/tool/decision-wheel/i18n/fr.ts +93 -0
  38. package/src/tool/decision-wheel/i18n/id.ts +93 -0
  39. package/src/tool/decision-wheel/i18n/it.ts +93 -0
  40. package/src/tool/decision-wheel/i18n/ja.ts +93 -0
  41. package/src/tool/decision-wheel/i18n/ko.ts +93 -0
  42. package/src/tool/decision-wheel/i18n/nl.ts +93 -0
  43. package/src/tool/decision-wheel/i18n/pl.ts +93 -0
  44. package/src/tool/decision-wheel/i18n/pt.ts +93 -0
  45. package/src/tool/decision-wheel/i18n/ru.ts +75 -0
  46. package/src/tool/decision-wheel/i18n/sv.ts +93 -0
  47. package/src/tool/decision-wheel/i18n/tr.ts +93 -0
  48. package/src/tool/decision-wheel/i18n/zh.ts +93 -0
  49. package/src/tool/decision-wheel/index.ts +9 -0
  50. package/src/tool/decision-wheel/logic.test.ts +163 -0
  51. package/src/tool/decision-wheel/logic.ts +145 -0
  52. package/src/tool/decision-wheel/seo.astro +16 -0
  53. package/src/tool/decision-wheel/types.ts +14 -0
  54. package/src/tool/decision-wheel/ui.ts +121 -0
  55. package/src/tool/dice-roller-simulator/client.ts +2 -2
  56. package/src/tool/dice-roller-simulator/i18n/ru.ts +8 -8
  57. package/src/tool/dice-roller-simulator/modules/history.ts +1 -1
  58. package/src/tool/fantasy-runes-translator/bibliography.astro +16 -0
  59. package/src/tool/fantasy-runes-translator/bibliography.ts +16 -0
  60. package/src/tool/fantasy-runes-translator/client.ts +205 -0
  61. package/src/tool/fantasy-runes-translator/component.astro +95 -0
  62. package/src/tool/fantasy-runes-translator/entry.ts +56 -0
  63. package/src/tool/fantasy-runes-translator/fantasy-runes-translator.css +712 -0
  64. package/src/tool/fantasy-runes-translator/i18n/de.ts +139 -0
  65. package/src/tool/fantasy-runes-translator/i18n/en.ts +139 -0
  66. package/src/tool/fantasy-runes-translator/i18n/es.ts +139 -0
  67. package/src/tool/fantasy-runes-translator/i18n/fr.ts +139 -0
  68. package/src/tool/fantasy-runes-translator/i18n/id.ts +139 -0
  69. package/src/tool/fantasy-runes-translator/i18n/it.ts +139 -0
  70. package/src/tool/fantasy-runes-translator/i18n/ja.ts +139 -0
  71. package/src/tool/fantasy-runes-translator/i18n/ko.ts +139 -0
  72. package/src/tool/fantasy-runes-translator/i18n/nl.ts +139 -0
  73. package/src/tool/fantasy-runes-translator/i18n/pl.ts +139 -0
  74. package/src/tool/fantasy-runes-translator/i18n/pt.ts +139 -0
  75. package/src/tool/fantasy-runes-translator/i18n/ru.ts +139 -0
  76. package/src/tool/fantasy-runes-translator/i18n/sv.ts +139 -0
  77. package/src/tool/fantasy-runes-translator/i18n/tr.ts +139 -0
  78. package/src/tool/fantasy-runes-translator/i18n/zh.ts +139 -0
  79. package/src/tool/fantasy-runes-translator/index.ts +9 -0
  80. package/src/tool/fantasy-runes-translator/logic.ts +174 -0
  81. package/src/tool/fantasy-runes-translator/seo.astro +16 -0
  82. package/src/tool/fantasy-runes-translator/types.ts +26 -0
  83. package/src/tool/first-player-selector/bibliography.astro +16 -0
  84. package/src/tool/first-player-selector/bibliography.ts +12 -0
  85. package/src/tool/first-player-selector/client.ts +197 -0
  86. package/src/tool/first-player-selector/component.astro +77 -0
  87. package/src/tool/first-player-selector/entry.ts +42 -0
  88. package/src/tool/first-player-selector/first-player-selector.css +303 -0
  89. package/src/tool/first-player-selector/i18n/de.ts +226 -0
  90. package/src/tool/first-player-selector/i18n/en.ts +226 -0
  91. package/src/tool/first-player-selector/i18n/es.ts +226 -0
  92. package/src/tool/first-player-selector/i18n/fr.ts +227 -0
  93. package/src/tool/first-player-selector/i18n/id.ts +226 -0
  94. package/src/tool/first-player-selector/i18n/it.ts +227 -0
  95. package/src/tool/first-player-selector/i18n/ja.ts +227 -0
  96. package/src/tool/first-player-selector/i18n/ko.ts +227 -0
  97. package/src/tool/first-player-selector/i18n/nl.ts +226 -0
  98. package/src/tool/first-player-selector/i18n/pl.ts +227 -0
  99. package/src/tool/first-player-selector/i18n/pt.ts +226 -0
  100. package/src/tool/first-player-selector/i18n/ru.ts +227 -0
  101. package/src/tool/first-player-selector/i18n/sv.ts +226 -0
  102. package/src/tool/first-player-selector/i18n/tr.ts +226 -0
  103. package/src/tool/first-player-selector/i18n/zh.ts +227 -0
  104. package/src/tool/first-player-selector/index.ts +9 -0
  105. package/src/tool/first-player-selector/modules/AnimationEffects.ts +256 -0
  106. package/src/tool/first-player-selector/modules/SelectionEngine.ts +249 -0
  107. package/src/tool/first-player-selector/modules/SoundEffects.ts +87 -0
  108. package/src/tool/first-player-selector/modules/TouchTracker.ts +148 -0
  109. package/src/tool/first-player-selector/seo.astro +16 -0
  110. package/src/tool/first-player-selector/types.ts +21 -0
  111. package/src/tool/rpg-initiative-tracker/bibliography.astro +16 -0
  112. package/src/tool/rpg-initiative-tracker/bibliography.ts +12 -0
  113. package/src/tool/rpg-initiative-tracker/client.ts +201 -0
  114. package/src/tool/rpg-initiative-tracker/component.astro +23 -0
  115. package/src/tool/rpg-initiative-tracker/components/AddForm.astro +49 -0
  116. package/src/tool/rpg-initiative-tracker/components/CombatantList.astro +16 -0
  117. package/src/tool/rpg-initiative-tracker/components/TurnControls.astro +28 -0
  118. package/src/tool/rpg-initiative-tracker/entry.ts +50 -0
  119. package/src/tool/rpg-initiative-tracker/i18n/de.ts +266 -0
  120. package/src/tool/rpg-initiative-tracker/i18n/en.ts +263 -0
  121. package/src/tool/rpg-initiative-tracker/i18n/es.ts +264 -0
  122. package/src/tool/rpg-initiative-tracker/i18n/fr.ts +263 -0
  123. package/src/tool/rpg-initiative-tracker/i18n/id.ts +263 -0
  124. package/src/tool/rpg-initiative-tracker/i18n/it.ts +263 -0
  125. package/src/tool/rpg-initiative-tracker/i18n/ja.ts +263 -0
  126. package/src/tool/rpg-initiative-tracker/i18n/ko.ts +263 -0
  127. package/src/tool/rpg-initiative-tracker/i18n/nl.ts +263 -0
  128. package/src/tool/rpg-initiative-tracker/i18n/pl.ts +264 -0
  129. package/src/tool/rpg-initiative-tracker/i18n/pt.ts +263 -0
  130. package/src/tool/rpg-initiative-tracker/i18n/ru.ts +264 -0
  131. package/src/tool/rpg-initiative-tracker/i18n/sv.ts +263 -0
  132. package/src/tool/rpg-initiative-tracker/i18n/tr.ts +263 -0
  133. package/src/tool/rpg-initiative-tracker/i18n/zh.ts +263 -0
  134. package/src/tool/rpg-initiative-tracker/index.ts +9 -0
  135. package/src/tool/rpg-initiative-tracker/logic.test.ts +121 -0
  136. package/src/tool/rpg-initiative-tracker/logic.ts +122 -0
  137. package/src/tool/rpg-initiative-tracker/rpg-initiative-tracker.css +617 -0
  138. package/src/tool/rpg-initiative-tracker/seo.astro +16 -0
  139. package/src/tool/rpg-initiative-tracker/types.ts +15 -0
  140. package/src/tool/score-tracker/bibliography.astro +16 -0
  141. package/src/tool/score-tracker/bibliography.ts +12 -0
  142. package/src/tool/score-tracker/client.ts +248 -0
  143. package/src/tool/score-tracker/component.astro +34 -0
  144. package/src/tool/score-tracker/components/Leaderboard.astro +19 -0
  145. package/src/tool/score-tracker/components/PlayerSetup.astro +32 -0
  146. package/src/tool/score-tracker/components/RoundScoring.astro +22 -0
  147. package/src/tool/score-tracker/components/ScoreHistory.astro +25 -0
  148. package/src/tool/score-tracker/entry.ts +57 -0
  149. package/src/tool/score-tracker/i18n/de.ts +278 -0
  150. package/src/tool/score-tracker/i18n/en.ts +278 -0
  151. package/src/tool/score-tracker/i18n/es.ts +251 -0
  152. package/src/tool/score-tracker/i18n/fr.ts +278 -0
  153. package/src/tool/score-tracker/i18n/id.ts +278 -0
  154. package/src/tool/score-tracker/i18n/it.ts +278 -0
  155. package/src/tool/score-tracker/i18n/ja.ts +278 -0
  156. package/src/tool/score-tracker/i18n/ko.ts +278 -0
  157. package/src/tool/score-tracker/i18n/nl.ts +278 -0
  158. package/src/tool/score-tracker/i18n/pl.ts +278 -0
  159. package/src/tool/score-tracker/i18n/pt.ts +278 -0
  160. package/src/tool/score-tracker/i18n/ru.ts +278 -0
  161. package/src/tool/score-tracker/i18n/sv.ts +278 -0
  162. package/src/tool/score-tracker/i18n/tr.ts +278 -0
  163. package/src/tool/score-tracker/i18n/zh.ts +278 -0
  164. package/src/tool/score-tracker/index.ts +9 -0
  165. package/src/tool/score-tracker/logic.test.ts +83 -0
  166. package/src/tool/score-tracker/logic.ts +122 -0
  167. package/src/tool/score-tracker/score-tracker.css +1029 -0
  168. package/src/tool/score-tracker/seo.astro +16 -0
  169. package/src/tool/score-tracker/types.ts +17 -0
  170. package/src/tools.ts +10 -0
  171. package/src/types.ts +1 -2
@@ -0,0 +1,251 @@
1
+ import { bibliography } from '../bibliography';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+ import type { ScoreTrackerUI } from '../entry';
4
+
5
+ const ui: ScoreTrackerUI = {
6
+ title: 'Seguimiento de Puntuación',
7
+ addPlayer: 'Añadir jugador',
8
+ removePlayer: 'Eliminar',
9
+ renamePlayer: 'Renombrar',
10
+ startRound: 'Iniciar ronda 1',
11
+ nextRound: 'Siguiente ronda',
12
+ resetGame: 'Reiniciar partida',
13
+ undoRound: 'Deshacer última ronda',
14
+ playerLabel: 'Jugador',
15
+ scoreLabel: 'Puntuación',
16
+ roundLabel: 'Ronda',
17
+ totalLabel: 'Total',
18
+ rankLabel: 'Rango',
19
+ leaderboardTitle: 'Tabla de clasificación',
20
+ historyTitle: 'Historial de puntuación',
21
+ noPlayersHint: 'Añade jugadores para empezar a puntuar',
22
+ playerNamePlaceholder: 'Nombre del jugador',
23
+ confirmLabel: 'Confirmar',
24
+ cancelLabel: 'Cancelar',
25
+ deleteRoundConfirm: '¿Eliminar la última ronda?',
26
+ playerAdded: 'Jugador añadido',
27
+ playerRemoved: 'Jugador eliminado',
28
+ roundStarted: 'Ronda iniciada',
29
+ gameReset: 'Partida reiniciada',
30
+ noRoundsYet: 'Aún no se han registrado rondas',
31
+ currentRoundLabel: 'Ronda actual',
32
+ scoringTitle: 'Puntuación de ronda',
33
+ resetAllLabel: 'Restablecer todo',
34
+ confirmResetAll: 'Esto eliminará todos los jugadores y puntuaciones. ¿Estás seguro?',
35
+ };
36
+
37
+ export const content: ToolLocaleContent<ScoreTrackerUI> = {
38
+ slug: 'contador-de-puntuacion',
39
+ title: 'Contador de Puntuacion: Anotador Multijugador y Gestor de Clasificacion',
40
+ description: 'Calcula las puntuaciones de cualquier juego de mesa. Anade jugadores, registra puntos ronda a ronda y mira la clasificacion actualizarse en tiempo real.',
41
+ ui,
42
+ seo: [
43
+ { type: 'title', text: 'Como Llevar la Puntuacion en Juegos de Mesa Sin Errores', level: 2 },
44
+ { type: 'paragraph', html: 'Llevar la puntuacion en juegos de mesa parece facil hasta que llevas cinco rondas y alguien se da cuenta de que ha sumado mal. Ya sea que juegues al Catan, al Dixit o a cualquier juego de puntos de victoria, un calculador de puntuaciones elimina los errores aritmeticos, muestra la clasificacion en vivo y mantiene un historial completo de cada ronda para que puedas verificar el total final.' },
45
+ {
46
+ type: 'stats',
47
+ items: [
48
+ { value: 'Ilimitados', label: 'Jugadores Soportados' },
49
+ { value: 'Tiempo Real', label: 'Actualizacion de Clasificacion' },
50
+ { value: 'Ilimitadas', label: 'Rondas Registradas' },
51
+ ],
52
+ columns: 3,
53
+ },
54
+ { type: 'title', text: 'Errores Comunes al Puntuar y Como Evitarlos', level: 2 },
55
+ { type: 'paragraph', html: 'El error mas frecuente es olvidar sumar bonificaciones de final de ronda o equivocarse al acumular numeros. Cuando usas un marcador digital, el total se actualiza automaticamente tras cada entrada. Esto permite detectar un fallo en el momento en que la cifra parece extrana, en lugar de descubrirlo al final de la partida cuando nadie recuerda el valor correcto. El historial de rondas te permite revisar cualquier ronda anterior y corregir errores sin reiniciar toda la partida.' },
56
+ {
57
+ type: 'tip',
58
+ title: 'Consejos para una Buena Llevanza de Puntuaciones',
59
+ html: 'Introduce las puntuaciones justo despues de cada ronda, mientras todos recuerdan los resultados. Usa nombres descriptivos como colores o nombres de faccion en lugar de nombres reales para juegos con roles ocultos. Cuando juegues con ninos, deja que ellos pulsen los botones para que se sientan parte del proceso.',
60
+ },
61
+ {
62
+ type: 'title',
63
+ text: 'Puntuacion por Rondas vs Solo Total Final',
64
+ level: 3,
65
+ },
66
+ {
67
+ type: 'proscons',
68
+ title: 'Puntuacion por Rondas vs Solo Total Final',
69
+ items: [
70
+ {
71
+ pro: 'Puedes ver quien iba liderando en cada fase y como cambio la dinamica de la partida.',
72
+ con: 'Requiere introducir datos tras cada ronda en lugar de una sola vez al final.',
73
+ },
74
+ {
75
+ pro: 'Los errores son faciles de localizar porque puedes cotejar cada ronda con lo que recuerdas.',
76
+ con: 'Requiere un poco mas de tiempo durante la sesion de juego.',
77
+ },
78
+ {
79
+ pro: 'Los jugadores pueden verificar sus propias puntuaciones, reduciendo disputas y generando confianza.',
80
+ con: 'Funciona mejor si una persona gestiona el dispositivo o si los jugadores se turnan.',
81
+ },
82
+ ],
83
+ },
84
+ {
85
+ type: 'title',
86
+ text: 'Juegos con Sistemas de Puntuacion Inusuales',
87
+ level: 3,
88
+ },
89
+ {
90
+ type: 'comparative',
91
+ items: [
92
+ {
93
+ title: 'Juegos de Puntos de Victoria',
94
+ description: 'La mayoria de los eurogames usan puntos que se otorgan durante toda la partida. El reto es hacer un seguimiento de multiples fuentes de PV: recursos, logros, bonificaciones finales. Un anotador digital te permite introducir los puntos conforme llegan y ver el total acumulado.',
95
+ icon: 'mdi:chess-queen',
96
+ highlight: true,
97
+ points: [
98
+ 'Seguimiento de multiples categorias',
99
+ 'Calculo de bonificaciones finales',
100
+ 'Resolucion instantanea de desempates',
101
+ ],
102
+ },
103
+ {
104
+ title: 'Juegos con Puntuacion Negativa',
105
+ description: 'Algunos juegos penalizan a los jugadores con puntos negativos. Un anotador digital maneja los valores negativos de forma natural, coloreandolos en rojo para que la penalizacion sea visible al instante. Muy util en juegos de bazas o de deduccion con mecanicas de castigo.',
106
+ icon: 'mdi:minus-circle-outline',
107
+ highlight: false,
108
+ points: [
109
+ 'Gestion automatica de negativos',
110
+ 'Indicadores visuales de penalizacion',
111
+ 'Totales acumulados precisos',
112
+ ],
113
+ },
114
+ {
115
+ title: 'Juegos de Campana',
116
+ description: 'Los juegos legacy y de campana arrastran puntuaciones entre sesiones. Sin un anotador digital, necesitas guardar notas en papel entre noches de juego. Una herramienta digital mantiene las puntuaciones organizadas y te permite repasar como afectaron tus decisiones a la clasificacion general.',
117
+ icon: 'mdi:book-open-variant',
118
+ highlight: false,
119
+ points: [
120
+ 'Seguimiento persistente de campana',
121
+ 'Comparacion entre sesiones',
122
+ 'Desglose sesion a sesion',
123
+ ],
124
+ },
125
+ ],
126
+ columns: 3,
127
+ },
128
+ {
129
+ type: 'title',
130
+ text: 'Glosario de Puntuacion',
131
+ level: 3,
132
+ },
133
+ {
134
+ type: 'glossary',
135
+ items: [
136
+ {
137
+ term: 'Puntos de Victoria (PV)',
138
+ definition: 'La unidad de puntuacion estandar en la mayoria de juegos de mesa modernos. Los jugadores consiguen PV mediante acciones, y quien tenga mas PV al final gana.',
139
+ },
140
+ {
141
+ term: 'Puntuacion por Rondas',
142
+ definition: 'Registrar las puntuaciones al final de cada ronda en lugar de solo al final de la partida. Crea un historial detallado y facilita la deteccion de errores.',
143
+ },
144
+ {
145
+ term: 'Clasificacion',
146
+ definition: 'Un ranking en vivo que muestra la posicion de cada jugador segun su puntuacion total. La clasificacion se reordena automaticamente al introducir nuevas puntuaciones.',
147
+ },
148
+ {
149
+ term: 'Puntuacion Negativa',
150
+ definition: 'Un sistema donde los jugadores pueden perder puntos mediante penalizaciones, resultando en totales negativos. Un anotador digital gestiona esto sin errores de resta manual.',
151
+ },
152
+ ],
153
+ },
154
+ {
155
+ type: 'diagnostic',
156
+ variant: 'info',
157
+ title: 'Como Resolver Disputas de Puntuacion',
158
+ icon: 'mdi:information-outline',
159
+ badge: 'TRUCO DE JUEGO',
160
+ html: 'Cuando un jugador cuestione una puntuacion, no la cambies inmediatamente. Revisa primero el historial de rondas para confirmar lo que se introdujo. Si la entrada es erronea, usa los botones +/- para corregirla y el total se actualiza solo. Si la entrada es correcta pero el jugador discrepa, el historial proporciona un registro objetivo que todos pueden revisar juntos.',
161
+ },
162
+ ],
163
+ faq: [
164
+ {
165
+ question: 'A cuantos jugadores puedo hacer seguimiento?',
166
+ answer: 'No hay limite. Anade tantos jugadores como soporte tu juego y renombralos cuando quieras durante la sesion.',
167
+ },
168
+ {
169
+ question: 'Puedo deshacer un error?',
170
+ answer: 'Si. Usa el boton Deshacer Ultima Ronda para eliminar la ronda mas reciente y los totales y clasificaciones se recalcularan automaticamente.',
171
+ },
172
+ {
173
+ question: 'El anotador guarda mis datos?',
174
+ answer: 'El anotador funciona completamente en tu navegador. Los datos persisten durante la sesion actual. Si recargas la pagina, todas las puntuaciones se reiniciaran.',
175
+ },
176
+ {
177
+ question: 'Como funciona la clasificacion?',
178
+ answer: 'La clasificacion ordena a los jugadores por puntuacion total descendente. Los puestos se actualizan automaticamente segun introduces o modificas puntuaciones.',
179
+ },
180
+ {
181
+ question: 'Puedo anotar puntuaciones negativas?',
182
+ answer: 'Si. Los botones +/- permiten ajustes tanto positivos como negativos, haciendolo apto para juegos con puntos de penalizacion o mecanicas de deduccion.',
183
+ },
184
+ ],
185
+ bibliography,
186
+ howTo: [
187
+ {
188
+ name: 'Anadir Jugadores',
189
+ text: 'Introduce los nombres de los jugadores usando el campo Anyadir Jugador. Puedes anadir o eliminar jugadores en cualquier momento.',
190
+ },
191
+ {
192
+ name: 'Empezar a Puntuar',
193
+ text: 'Pulsa Empezar Ronda para iniciar una nueva ronda de puntuacion. Usa los botones +/- para ajustar la puntuacion de cada jugador.',
194
+ },
195
+ {
196
+ name: 'Ver Clasificaciones',
197
+ text: 'La clasificacion se actualiza automaticamente. Navega a la pestana Historial para revisar rondas anteriores.',
198
+ },
199
+ ],
200
+ schemas: [
201
+ {
202
+ '@context': 'https://schema.org',
203
+ '@type': 'SoftwareApplication',
204
+ 'name': 'Contador de Puntuacion',
205
+ 'operatingSystem': 'All',
206
+ 'applicationCategory': 'UtilitiesApplication',
207
+ 'browserRequirements': 'Requires HTML5. Requires JavaScript.',
208
+ },
209
+ {
210
+ '@context': 'https://schema.org',
211
+ '@type': 'FAQPage',
212
+ 'mainEntity': [
213
+ {
214
+ '@type': 'Question',
215
+ 'name': 'A cuantos jugadores puedo hacer seguimiento?',
216
+ 'acceptedAnswer': { '@type': 'Answer', 'text': 'No hay limite. Anade tantos jugadores como soporte tu juego.' },
217
+ },
218
+ {
219
+ '@type': 'Question',
220
+ 'name': 'Puedo deshacer un error?',
221
+ 'acceptedAnswer': { '@type': 'Answer', 'text': 'Si. Usa el boton Deshacer Ultima Ronda para eliminar la ronda mas reciente.' },
222
+ },
223
+ {
224
+ '@type': 'Question',
225
+ 'name': 'El anotador guarda mis datos?',
226
+ 'acceptedAnswer': { '@type': 'Answer', 'text': 'El anotador funciona en tu navegador. Los datos persisten durante la sesion.' },
227
+ },
228
+ {
229
+ '@type': 'Question',
230
+ 'name': 'Como funciona la clasificacion?',
231
+ 'acceptedAnswer': { '@type': 'Answer', 'text': 'Ordena por puntuacion total descendente y se actualiza automaticamente.' },
232
+ },
233
+ {
234
+ '@type': 'Question',
235
+ 'name': 'Puedo anotar puntuaciones negativas?',
236
+ 'acceptedAnswer': { '@type': 'Answer', 'text': 'Si. Los botones +/- permiten ajustes positivos y negativos.' },
237
+ },
238
+ ],
239
+ },
240
+ {
241
+ '@context': 'https://schema.org',
242
+ '@type': 'HowTo',
243
+ 'name': 'Como Usar el Contador de Puntuacion',
244
+ 'step': [
245
+ { '@type': 'HowToStep', 'name': 'Anadir Jugadores', 'text': 'Introduce nombres usando el campo Anyadir Jugador.' },
246
+ { '@type': 'HowToStep', 'name': 'Empezar a Puntuar', 'text': 'Pulsa Empezar Ronda y usa los botones +/-.' },
247
+ { '@type': 'HowToStep', 'name': 'Ver Clasificaciones', 'text': 'La clasificacion se actualiza automaticamente.' },
248
+ ],
249
+ },
250
+ ],
251
+ };
@@ -0,0 +1,278 @@
1
+ import { bibliography } from '../bibliography';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+ import type { ScoreTrackerUI } from '../entry';
4
+
5
+ const ui: ScoreTrackerUI = {
6
+ title: 'Compteur de Points',
7
+ addPlayer: 'Ajouter un joueur',
8
+ removePlayer: 'Retirer',
9
+ renamePlayer: 'Renommer',
10
+ startRound: 'Commencer la manche 1',
11
+ nextRound: 'Manche suivante',
12
+ resetGame: 'Réinitialiser la partie',
13
+ undoRound: 'Annuler la dernière manche',
14
+ playerLabel: 'Joueur',
15
+ scoreLabel: 'Points',
16
+ roundLabel: 'Manche',
17
+ totalLabel: 'Total',
18
+ rankLabel: 'Classement',
19
+ leaderboardTitle: 'Classement',
20
+ historyTitle: 'Historique des scores',
21
+ noPlayersHint: 'Ajoutez des joueurs pour commencer à compter les points',
22
+ playerNamePlaceholder: 'Nom du joueur',
23
+ confirmLabel: 'Confirmer',
24
+ cancelLabel: 'Annuler',
25
+ deleteRoundConfirm: 'Supprimer la dernière manche ?',
26
+ playerAdded: 'Joueur ajouté',
27
+ playerRemoved: 'Joueur retiré',
28
+ roundStarted: 'Manche commencée',
29
+ gameReset: 'La partie a été réinitialisée',
30
+ noRoundsYet: 'Aucune manche enregistrée pour le moment',
31
+ currentRoundLabel: 'Manche en cours',
32
+ scoringTitle: 'Saisie des points',
33
+ resetAllLabel: 'Tout réinitialiser',
34
+ confirmResetAll: 'Cela supprimera tous les joueurs et les scores. Êtes-vous sûr ?',
35
+ };
36
+
37
+ export const content: ToolLocaleContent<ScoreTrackerUI> = {
38
+ slug: 'compteur-de-points',
39
+ title: 'Compteur de Points: Tableau de Score Multijoueur et Gestionnaire de Classement',
40
+ description: 'Suivez les scores de n importe quel jeu de société. Ajoutez des joueurs, enregistrez les points manche par manche et regardez le classement se mettre à jour en temps réel avec des classements automatiques.',
41
+ ui,
42
+ seo: [
43
+ { type: 'title', text: 'Comptage de Points aux Jeux de Société : Comment Éviter les Erreurs', level: 2 },
44
+ { type: 'paragraph', html: 'Compter les points aux jeux de société semble simple jusqu à ce que vous soyez à cinq manches d une partie et que quelqu un réalise qu il s est trompé. Que vous jouiez à Wingspan, Terraforming Mars, Catan ou à tout jeu à points de victoire, un comptage précis fait la différence entre une partie équitable et une dispute. Un compteur de points numérique élimine les erreurs de calcul, affiche les classements en direct et conserve un historique complet de chaque manche pour vérifier le total final.' },
45
+ {
46
+ type: 'stats',
47
+ items: [
48
+ { value: 'Illimité', label: 'Joueurs supportés' },
49
+ { value: 'Temps Réel', label: 'Mise à jour du classement' },
50
+ { value: 'Illimité', label: 'Manches enregistrées' },
51
+ ],
52
+ columns: 3,
53
+ },
54
+ { type: 'title', text: 'Erreurs de Comptage Courantes et Comment les Éviter', level: 2 },
55
+ { type: 'paragraph', html: 'L erreur la plus fréquente est d oublier d ajouter les bonus de fin de manche ou de mal additionner une colonne de chiffres. Lorsque vous suivez les scores numériquement, le total courant se met automatiquement à jour après chaque saisie. Cela signifie que vous pouvez repérer une erreur au moment où un chiffre semble anormal, plutôt que de la découvrir à la fin de la partie lorsque personne ne se souvient de la valeur correcte. La fonction d historique des manches vous permet de vérifier n importe quelle manche antérieure et de corriger les erreurs sans redémarrer toute la partie.' },
56
+ {
57
+ type: 'tip',
58
+ title: 'Conseils Rapides pour le Comptage',
59
+ html: 'Saisissez les scores immédiatement après chaque manche pendant que tout le monde se souvient encore des résultats. Utilisez des étiquettes descriptives comme les couleurs ou les noms de factions au lieu de vrais noms pour les jeux à rôles cachés. Lorsque vous jouez avec des enfants, laissez-les appuyer eux-mêmes sur les boutons pour les impliquer dans le processus de comptage.',
60
+ },
61
+ {
62
+ type: 'title',
63
+ text: 'Saisie par Manche vs Total Seulement',
64
+ level: 3,
65
+ },
66
+ {
67
+ type: 'proscons',
68
+ title: 'Score par Manche vs Score Final Seulement',
69
+ items: [
70
+ {
71
+ pro: 'Vous pouvez voir qui menait à chaque étape du jeu et comment la dynamique a évolué.',
72
+ con: 'Nécessite de saisir les données après chaque manche au lieu d une seule fois à la fin.',
73
+ },
74
+ {
75
+ pro: 'Les erreurs sont faciles à localiser car vous pouvez vérifier les saisies individuelles de chaque manche par rapport à vos souvenirs.',
76
+ con: 'Prend un peu plus de temps pendant la session de jeu.',
77
+ },
78
+ {
79
+ pro: 'Les joueurs peuvent vérifier leurs propres scores de manche, réduisant les litiges et renforçant la confiance.',
80
+ con: 'Fonctionne mieux quand une personne gère l appareil ou que les joueurs se relaient.',
81
+ },
82
+ ],
83
+ },
84
+ {
85
+ type: 'title',
86
+ text: 'Jeux avec des Systèmes de Score Inhabituels',
87
+ level: 3,
88
+ },
89
+ {
90
+ type: 'comparative',
91
+ items: [
92
+ {
93
+ title: 'Jeux à Points de Victoire',
94
+ description: 'La plupart des eurogames utilisent des points de victoire attribués tout au long de la partie. Le défi est de suivre plusieurs sources de PV : ressources, accomplissements, bonus de fin de partie. Un tracker numérique vous permet de saisir les points au fur et à mesure et de voir le total courrant.',
95
+ icon: 'mdi:chess-queen',
96
+ highlight: true,
97
+ points: [
98
+ 'Suivi de plusieurs catégories de score',
99
+ 'Calcul des bonus de fin de partie',
100
+ 'Résolution instantanée des égalités',
101
+ ],
102
+ },
103
+ {
104
+ title: 'Jeux avec Score Négatif',
105
+ description: 'Certains jeux pénalisent les joueurs avec des points négatifs pour certaines actions. Un compteur numérique gère les valeurs négatives naturellement, les colorant en rouge pour que la pénalité soit immédiatement visible. Particulièrement utile dans les jeux de plis ou les jeux de déduction avec des mécanismes de pénalité.',
106
+ icon: 'mdi:minus-circle-outline',
107
+ highlight: false,
108
+ points: [
109
+ 'Gestion automatique des négatifs',
110
+ 'Indicateurs visuels de pénalité',
111
+ 'Totaux cumulés précis',
112
+ ],
113
+ },
114
+ {
115
+ title: 'Jeux de Campagne',
116
+ description: 'Les jeux legacy et de campagne reportent les scores d une session à l autre. Sans tracker, vous devez conserver des notes papier entre les soirées jeux. Un outil numérique garde vos scores de campagne organisés et vous permet de voir comment vos décisions ont affecté le classement général.',
117
+ icon: 'mdi:book-open-variant',
118
+ highlight: false,
119
+ points: [
120
+ 'Suivi persistant des campagnes',
121
+ 'Comparaison entre sessions',
122
+ 'Détail session par session',
123
+ ],
124
+ },
125
+ ],
126
+ columns: 3,
127
+ },
128
+ {
129
+ type: 'title',
130
+ text: 'Glossaire du Comptage de Points',
131
+ level: 3,
132
+ },
133
+ {
134
+ type: 'glossary',
135
+ items: [
136
+ {
137
+ term: 'Points de Victoire (PV)',
138
+ definition: 'L unité de score standard dans la plupart des jeux de société modernes. Les joueurs gagnent des PV par leurs actions, et celui qui en a le plus à la fin de la partie gagne.',
139
+ },
140
+ {
141
+ term: 'Score par Manche',
142
+ definition: 'Enregistrer les scores à la fin de chaque manche plutôt qu uniquement à la fin du jeu. Cela crée un historique détaillé et facilite la vérification des erreurs.',
143
+ },
144
+ {
145
+ term: 'Classement',
146
+ definition: 'Un classement en direct qui montre la position de chaque joueur en fonction du score total. Le classement se réorganise automatiquement à mesure que de nouveaux scores sont saisis.',
147
+ },
148
+ {
149
+ term: 'Score Négatif',
150
+ definition: 'Un système de score où les joueurs peuvent perdre des points par des pénalités ou des actions échouées, aboutissant à des totaux négatifs. Un tracker numérique gère cela sans erreurs de soustraction manuelle.',
151
+ },
152
+ ],
153
+ },
154
+ {
155
+ type: 'diagnostic',
156
+ variant: 'info',
157
+ title: 'Comment Gérer les Scores Contestés',
158
+ icon: 'mdi:information-outline',
159
+ badge: 'ASTUCE DE JEU',
160
+ html: 'Lorsqu un joueur conteste un score, ne le modifiez pas immédiatement. Vérifiez d abord l historique des manches pour confirmer ce qui a été saisi. Si l entrée est erronée, utilisez les boutons +/- pour la corriger et le total se met à jour automatiquement. Si l entrée de la manche est correcte mais que le joueur est en désaccord, l historique fournit un enregistrement objectif que tout le monde peut consulter ensemble.',
161
+ },
162
+ ],
163
+ faq: [
164
+ {
165
+ question: 'Combien de joueurs puis-je suivre ?',
166
+ answer: 'Il n y a pas de limite. Ajoutez autant de joueurs que votre jeu le permet et renommez-les à tout moment pendant la session.',
167
+ },
168
+ {
169
+ question: 'Puis-je annuler une erreur ?',
170
+ answer: 'Oui. Utilisez le bouton Annuler la Dernière Manche pour supprimer la manche la plus récente, ce qui recalcule automatiquement tous les totaux et classements.',
171
+ },
172
+ {
173
+ question: 'Le compteur de points sauvegarde-t-il mes données ?',
174
+ answer: 'Le compteur de points fonctionne entièrement dans votre navigateur. Les données persistent pendant la session en cours. Un rechargement de la page réinitialisera tous les scores.',
175
+ },
176
+ {
177
+ question: 'Comment fonctionne le classement ?',
178
+ answer: 'Le classement trie les joueurs par score total décroissant. Les rangs se mettent à jour automatiquement à mesure que vous saisissez ou modifiez les scores de chaque manche.',
179
+ },
180
+ {
181
+ question: 'Puis-je suivre des scores négatifs ?',
182
+ answer: 'Oui. Les boutons +/- permettent des ajustements positifs et négatifs, ce qui le rend adapté aux jeux avec des points de pénalité ou des mécanismes de déduction.',
183
+ },
184
+ ],
185
+ bibliography,
186
+ howTo: [
187
+ {
188
+ name: 'Ajouter des joueurs',
189
+ text: 'Saisissez les noms des joueurs à l aide du champ Ajouter un Joueur. Vous pouvez ajouter ou retirer des joueurs à tout moment pendant la partie.',
190
+ },
191
+ {
192
+ name: 'Commencer le comptage',
193
+ text: 'Cliquez sur Commencer la Manche pour débuter une nouvelle manche de score. Utilisez les boutons +/- pour ajuster le score de chaque joueur pour cette manche.',
194
+ },
195
+ {
196
+ name: 'Voir les classements',
197
+ text: 'Le classement se met à jour automatiquement. Parcourez l onglet Historique des Scores pour consulter les saisies des manches précédentes.',
198
+ },
199
+ ],
200
+ schemas: [
201
+ {
202
+ '@context': 'https://schema.org',
203
+ '@type': 'SoftwareApplication',
204
+ 'name': 'Compteur de Points & Scorekeeper',
205
+ 'operatingSystem': 'All',
206
+ 'applicationCategory': 'UtilitiesApplication',
207
+ 'browserRequirements': 'Requires HTML5. Requires JavaScript.',
208
+ },
209
+ {
210
+ '@context': 'https://schema.org',
211
+ '@type': 'FAQPage',
212
+ 'mainEntity': [
213
+ {
214
+ '@type': 'Question',
215
+ 'name': 'Combien de joueurs puis-je suivre ?',
216
+ 'acceptedAnswer': {
217
+ '@type': 'Answer',
218
+ 'text': 'Il n y a pas de limite. Ajoutez autant de joueurs que votre jeu le permet et renommez-les à tout moment pendant la session.',
219
+ },
220
+ },
221
+ {
222
+ '@type': 'Question',
223
+ 'name': 'Puis-je annuler une erreur ?',
224
+ 'acceptedAnswer': {
225
+ '@type': 'Answer',
226
+ 'text': 'Oui. Utilisez le bouton Annuler la Dernière Manche pour supprimer la manche la plus récente, ce qui recalcule automatiquement tous les totaux et classements.',
227
+ },
228
+ },
229
+ {
230
+ '@type': 'Question',
231
+ 'name': 'Le compteur de points sauvegarde-t-il mes données ?',
232
+ 'acceptedAnswer': {
233
+ '@type': 'Answer',
234
+ 'text': 'Le compteur de points fonctionne entièrement dans votre navigateur. Les données persistent pendant la session en cours. Un rechargement de la page réinitialisera tous les scores.',
235
+ },
236
+ },
237
+ {
238
+ '@type': 'Question',
239
+ 'name': 'Comment fonctionne le classement ?',
240
+ 'acceptedAnswer': {
241
+ '@type': 'Answer',
242
+ 'text': 'Le classement trie les joueurs par score total décroissant. Les rangs se mettent à jour automatiquement à mesure que vous saisissez ou modifiez les scores de chaque manche.',
243
+ },
244
+ },
245
+ {
246
+ '@type': 'Question',
247
+ 'name': 'Puis-je suivre des scores négatifs ?',
248
+ 'acceptedAnswer': {
249
+ '@type': 'Answer',
250
+ 'text': 'Oui. Les boutons +/- permettent des ajustements positifs et négatifs, ce qui le rend adapté aux jeux avec des points de pénalité ou des mécanismes de déduction.',
251
+ },
252
+ },
253
+ ],
254
+ },
255
+ {
256
+ '@context': 'https://schema.org',
257
+ '@type': 'HowTo',
258
+ 'name': 'Comment utiliser le Compteur de Points',
259
+ 'step': [
260
+ {
261
+ '@type': 'HowToStep',
262
+ 'name': 'Ajouter des joueurs',
263
+ 'text': 'Saisissez les noms des joueurs à l aide du champ Ajouter un Joueur. Vous pouvez ajouter ou retirer des joueurs à tout moment pendant la partie.',
264
+ },
265
+ {
266
+ '@type': 'HowToStep',
267
+ 'name': 'Commencer le comptage',
268
+ 'text': 'Cliquez sur Commencer la Manche pour débuter une nouvelle manche de score. Utilisez les boutons +/- pour ajuster le score de chaque joueur pour cette manche.',
269
+ },
270
+ {
271
+ '@type': 'HowToStep',
272
+ 'name': 'Voir les classements',
273
+ 'text': 'Le classement se met à jour automatiquement. Parcourez l onglet Historique des Scores pour consulter les saisies des manches précédentes.',
274
+ },
275
+ ],
276
+ },
277
+ ],
278
+ };