@jjlmoya/utils-tabletop 1.4.0 → 1.6.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 (163) hide show
  1. package/package.json +5 -3
  2. package/src/entries.ts +15 -1
  3. package/src/index.ts +3 -0
  4. package/src/tests/locale_completeness.test.ts +2 -1
  5. package/src/tests/tool_validation.test.ts +2 -1
  6. package/src/tool/decision-wheel/audio.ts +78 -0
  7. package/src/tool/decision-wheel/bibliography.astro +16 -0
  8. package/src/tool/decision-wheel/bibliography.ts +8 -0
  9. package/src/tool/decision-wheel/client.ts +226 -0
  10. package/src/tool/decision-wheel/component.astro +48 -0
  11. package/src/tool/decision-wheel/components/SegmentEditor.astro +22 -0
  12. package/src/tool/decision-wheel/components/SpinHistory.astro +17 -0
  13. package/src/tool/decision-wheel/components/SpinResult.astro +13 -0
  14. package/src/tool/decision-wheel/components/WheelCanvas.astro +23 -0
  15. package/src/tool/decision-wheel/decision-wheel.css +632 -0
  16. package/src/tool/decision-wheel/drawing.ts +144 -0
  17. package/src/tool/decision-wheel/entry.ts +48 -0
  18. package/src/tool/decision-wheel/i18n/de.ts +97 -0
  19. package/src/tool/decision-wheel/i18n/en.ts +251 -0
  20. package/src/tool/decision-wheel/i18n/es.ts +93 -0
  21. package/src/tool/decision-wheel/i18n/fr.ts +93 -0
  22. package/src/tool/decision-wheel/i18n/id.ts +93 -0
  23. package/src/tool/decision-wheel/i18n/it.ts +93 -0
  24. package/src/tool/decision-wheel/i18n/ja.ts +93 -0
  25. package/src/tool/decision-wheel/i18n/ko.ts +93 -0
  26. package/src/tool/decision-wheel/i18n/nl.ts +93 -0
  27. package/src/tool/decision-wheel/i18n/pl.ts +93 -0
  28. package/src/tool/decision-wheel/i18n/pt.ts +93 -0
  29. package/src/tool/decision-wheel/i18n/ru.ts +75 -0
  30. package/src/tool/decision-wheel/i18n/sv.ts +93 -0
  31. package/src/tool/decision-wheel/i18n/tr.ts +93 -0
  32. package/src/tool/decision-wheel/i18n/zh.ts +93 -0
  33. package/src/tool/decision-wheel/index.ts +9 -0
  34. package/src/tool/decision-wheel/logic.test.ts +163 -0
  35. package/src/tool/decision-wheel/logic.ts +145 -0
  36. package/src/tool/decision-wheel/seo.astro +16 -0
  37. package/src/tool/decision-wheel/types.ts +14 -0
  38. package/src/tool/decision-wheel/ui.ts +121 -0
  39. package/src/tool/fantasy-runes-translator/bibliography.astro +16 -0
  40. package/src/tool/fantasy-runes-translator/bibliography.ts +16 -0
  41. package/src/tool/fantasy-runes-translator/client.ts +205 -0
  42. package/src/tool/fantasy-runes-translator/component.astro +95 -0
  43. package/src/tool/fantasy-runes-translator/entry.ts +56 -0
  44. package/src/tool/fantasy-runes-translator/fantasy-runes-translator.css +712 -0
  45. package/src/tool/fantasy-runes-translator/i18n/de.ts +139 -0
  46. package/src/tool/fantasy-runes-translator/i18n/en.ts +139 -0
  47. package/src/tool/fantasy-runes-translator/i18n/es.ts +139 -0
  48. package/src/tool/fantasy-runes-translator/i18n/fr.ts +139 -0
  49. package/src/tool/fantasy-runes-translator/i18n/id.ts +139 -0
  50. package/src/tool/fantasy-runes-translator/i18n/it.ts +139 -0
  51. package/src/tool/fantasy-runes-translator/i18n/ja.ts +139 -0
  52. package/src/tool/fantasy-runes-translator/i18n/ko.ts +139 -0
  53. package/src/tool/fantasy-runes-translator/i18n/nl.ts +139 -0
  54. package/src/tool/fantasy-runes-translator/i18n/pl.ts +139 -0
  55. package/src/tool/fantasy-runes-translator/i18n/pt.ts +139 -0
  56. package/src/tool/fantasy-runes-translator/i18n/ru.ts +139 -0
  57. package/src/tool/fantasy-runes-translator/i18n/sv.ts +139 -0
  58. package/src/tool/fantasy-runes-translator/i18n/tr.ts +139 -0
  59. package/src/tool/fantasy-runes-translator/i18n/zh.ts +139 -0
  60. package/src/tool/fantasy-runes-translator/index.ts +9 -0
  61. package/src/tool/fantasy-runes-translator/logic.ts +174 -0
  62. package/src/tool/fantasy-runes-translator/seo.astro +16 -0
  63. package/src/tool/fantasy-runes-translator/types.ts +26 -0
  64. package/src/tool/investigation-board/bibliography.astro +16 -0
  65. package/src/tool/investigation-board/bibliography.ts +12 -0
  66. package/src/tool/investigation-board/boardContextMenu.ts +64 -0
  67. package/src/tool/investigation-board/client.ts +223 -0
  68. package/src/tool/investigation-board/component.astro +23 -0
  69. package/src/tool/investigation-board/components/BoardCanvas.astro +39 -0
  70. package/src/tool/investigation-board/components/CardDrawer.astro +73 -0
  71. package/src/tool/investigation-board/components/ConnectionModal.astro +49 -0
  72. package/src/tool/investigation-board/components/ContextMenu.astro +26 -0
  73. package/src/tool/investigation-board/components/ControlPanel.astro +57 -0
  74. package/src/tool/investigation-board/connectionModal.ts +60 -0
  75. package/src/tool/investigation-board/dom.ts +89 -0
  76. package/src/tool/investigation-board/drawer.ts +110 -0
  77. package/src/tool/investigation-board/entry.ts +59 -0
  78. package/src/tool/investigation-board/i18n/de.ts +126 -0
  79. package/src/tool/investigation-board/i18n/en.ts +127 -0
  80. package/src/tool/investigation-board/i18n/es.ts +126 -0
  81. package/src/tool/investigation-board/i18n/fr.ts +126 -0
  82. package/src/tool/investigation-board/i18n/id.ts +126 -0
  83. package/src/tool/investigation-board/i18n/it.ts +126 -0
  84. package/src/tool/investigation-board/i18n/ja.ts +126 -0
  85. package/src/tool/investigation-board/i18n/ko.ts +126 -0
  86. package/src/tool/investigation-board/i18n/nl.ts +126 -0
  87. package/src/tool/investigation-board/i18n/pl.ts +126 -0
  88. package/src/tool/investigation-board/i18n/pt.ts +126 -0
  89. package/src/tool/investigation-board/i18n/ru.ts +126 -0
  90. package/src/tool/investigation-board/i18n/sv.ts +126 -0
  91. package/src/tool/investigation-board/i18n/tr.ts +126 -0
  92. package/src/tool/investigation-board/i18n/zh.ts +126 -0
  93. package/src/tool/investigation-board/index.ts +11 -0
  94. package/src/tool/investigation-board/interactDrag.ts +58 -0
  95. package/src/tool/investigation-board/investigation-board.css +799 -0
  96. package/src/tool/investigation-board/layout.ts +16 -0
  97. package/src/tool/investigation-board/logic.test.ts +105 -0
  98. package/src/tool/investigation-board/logic.ts +106 -0
  99. package/src/tool/investigation-board/panzoom.ts +24 -0
  100. package/src/tool/investigation-board/renderer.ts +256 -0
  101. package/src/tool/investigation-board/seo.astro +16 -0
  102. package/src/tool/investigation-board/stateManager.ts +126 -0
  103. package/src/tool/investigation-board/types.ts +26 -0
  104. package/src/tool/rpg-initiative-tracker/bibliography.astro +16 -0
  105. package/src/tool/rpg-initiative-tracker/bibliography.ts +12 -0
  106. package/src/tool/rpg-initiative-tracker/client.ts +201 -0
  107. package/src/tool/rpg-initiative-tracker/component.astro +23 -0
  108. package/src/tool/rpg-initiative-tracker/components/AddForm.astro +49 -0
  109. package/src/tool/rpg-initiative-tracker/components/CombatantList.astro +16 -0
  110. package/src/tool/rpg-initiative-tracker/components/TurnControls.astro +28 -0
  111. package/src/tool/rpg-initiative-tracker/entry.ts +50 -0
  112. package/src/tool/rpg-initiative-tracker/i18n/de.ts +266 -0
  113. package/src/tool/rpg-initiative-tracker/i18n/en.ts +263 -0
  114. package/src/tool/rpg-initiative-tracker/i18n/es.ts +264 -0
  115. package/src/tool/rpg-initiative-tracker/i18n/fr.ts +263 -0
  116. package/src/tool/rpg-initiative-tracker/i18n/id.ts +263 -0
  117. package/src/tool/rpg-initiative-tracker/i18n/it.ts +263 -0
  118. package/src/tool/rpg-initiative-tracker/i18n/ja.ts +263 -0
  119. package/src/tool/rpg-initiative-tracker/i18n/ko.ts +263 -0
  120. package/src/tool/rpg-initiative-tracker/i18n/nl.ts +263 -0
  121. package/src/tool/rpg-initiative-tracker/i18n/pl.ts +264 -0
  122. package/src/tool/rpg-initiative-tracker/i18n/pt.ts +263 -0
  123. package/src/tool/rpg-initiative-tracker/i18n/ru.ts +264 -0
  124. package/src/tool/rpg-initiative-tracker/i18n/sv.ts +263 -0
  125. package/src/tool/rpg-initiative-tracker/i18n/tr.ts +263 -0
  126. package/src/tool/rpg-initiative-tracker/i18n/zh.ts +263 -0
  127. package/src/tool/rpg-initiative-tracker/index.ts +9 -0
  128. package/src/tool/rpg-initiative-tracker/logic.test.ts +121 -0
  129. package/src/tool/rpg-initiative-tracker/logic.ts +122 -0
  130. package/src/tool/rpg-initiative-tracker/rpg-initiative-tracker.css +617 -0
  131. package/src/tool/rpg-initiative-tracker/seo.astro +16 -0
  132. package/src/tool/rpg-initiative-tracker/types.ts +15 -0
  133. package/src/tool/score-tracker/bibliography.astro +16 -0
  134. package/src/tool/score-tracker/bibliography.ts +12 -0
  135. package/src/tool/score-tracker/client.ts +248 -0
  136. package/src/tool/score-tracker/component.astro +34 -0
  137. package/src/tool/score-tracker/components/Leaderboard.astro +19 -0
  138. package/src/tool/score-tracker/components/PlayerSetup.astro +32 -0
  139. package/src/tool/score-tracker/components/RoundScoring.astro +22 -0
  140. package/src/tool/score-tracker/components/ScoreHistory.astro +25 -0
  141. package/src/tool/score-tracker/entry.ts +57 -0
  142. package/src/tool/score-tracker/i18n/de.ts +278 -0
  143. package/src/tool/score-tracker/i18n/en.ts +278 -0
  144. package/src/tool/score-tracker/i18n/es.ts +251 -0
  145. package/src/tool/score-tracker/i18n/fr.ts +278 -0
  146. package/src/tool/score-tracker/i18n/id.ts +278 -0
  147. package/src/tool/score-tracker/i18n/it.ts +278 -0
  148. package/src/tool/score-tracker/i18n/ja.ts +278 -0
  149. package/src/tool/score-tracker/i18n/ko.ts +278 -0
  150. package/src/tool/score-tracker/i18n/nl.ts +278 -0
  151. package/src/tool/score-tracker/i18n/pl.ts +278 -0
  152. package/src/tool/score-tracker/i18n/pt.ts +278 -0
  153. package/src/tool/score-tracker/i18n/ru.ts +278 -0
  154. package/src/tool/score-tracker/i18n/sv.ts +278 -0
  155. package/src/tool/score-tracker/i18n/tr.ts +278 -0
  156. package/src/tool/score-tracker/i18n/zh.ts +278 -0
  157. package/src/tool/score-tracker/index.ts +9 -0
  158. package/src/tool/score-tracker/logic.test.ts +83 -0
  159. package/src/tool/score-tracker/logic.ts +122 -0
  160. package/src/tool/score-tracker/score-tracker.css +1029 -0
  161. package/src/tool/score-tracker/seo.astro +16 -0
  162. package/src/tool/score-tracker/types.ts +17 -0
  163. package/src/tools.ts +11 -0
@@ -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: 'Pelacak Skor',
7
+ addPlayer: 'Tambah Pemain',
8
+ removePlayer: 'Hapus',
9
+ renamePlayer: 'Ubah Nama',
10
+ startRound: 'Mulai Ronde 1',
11
+ nextRound: 'Ronde Berikutnya',
12
+ resetGame: 'Atur Ulang Permainan',
13
+ undoRound: 'Batalkan Ronde Terakhir',
14
+ playerLabel: 'Pemain',
15
+ scoreLabel: 'Skor',
16
+ roundLabel: 'Ronde',
17
+ totalLabel: 'Total',
18
+ rankLabel: 'Peringkat',
19
+ leaderboardTitle: 'Papan Peringkat',
20
+ historyTitle: 'Riwayat Skor',
21
+ noPlayersHint: 'Tambahkan pemain untuk mulai mencatat skor',
22
+ playerNamePlaceholder: 'Nama pemain',
23
+ confirmLabel: 'Konfirmasi',
24
+ cancelLabel: 'Batal',
25
+ deleteRoundConfirm: 'Hapus ronde terakhir?',
26
+ playerAdded: 'Pemain ditambahkan',
27
+ playerRemoved: 'Pemain dihapus',
28
+ roundStarted: 'Ronde dimulai',
29
+ gameReset: 'Permainan telah diatur ulang',
30
+ noRoundsYet: 'Belum ada ronde yang tercatat',
31
+ currentRoundLabel: 'Ronde Saat Ini',
32
+ scoringTitle: 'Penilaian Ronde',
33
+ resetAllLabel: 'Atur Ulang Semua',
34
+ confirmResetAll: 'Ini akan menghapus semua pemain dan skor. Apakah Anda yakin?',
35
+ };
36
+
37
+ export const content: ToolLocaleContent<ScoreTrackerUI> = {
38
+ slug: 'pelacak-skor',
39
+ title: 'Pelacak Skor: Pencatat Skor Multipemain dan Manajer Papan Peringkat',
40
+ description: 'Lacak skor untuk permainan meja apa pun. Tambahkan pemain, catat skor ronde demi ronde, dan saksikan papan peringkat diperbarui secara real-time dengan peringkat otomatis.',
41
+ ui,
42
+ seo: [
43
+ { type: 'title', text: 'Pencatatan Skor Permainan Papan: Cara Melacak Skor Tanpa Kesalahan', level: 2 },
44
+ { type: 'paragraph', html: 'Mencatat skor dalam permainan papan tampak sederhana sampai Anda memasuki ronde kelima dan seseorang menyadari ada kesalahan hitung. Baik Anda bermain Wingspan, Terraforming Mars, Catan, atau permainan poin kemenangan lainnya, pencatatan skor yang akurat adalah pembeda antara permainan yang adil dan pertengkaran. Pelacak skor digital menghilangkan kesalahan aritmetika, menampilkan peringkat langsung, dan menyimpan riwayat lengkap setiap ronde sehingga Anda dapat memverifikasi perhitungan akhir.' },
45
+ {
46
+ type: 'stats',
47
+ items: [
48
+ { value: 'Tak Terbatas', label: 'Pemain Didukung' },
49
+ { value: 'Real-Time', label: 'Pembaruan Papan Peringkat' },
50
+ { value: 'Tak Terbatas', label: 'Ronde Tercatat' },
51
+ ],
52
+ columns: 3,
53
+ },
54
+ { type: 'title', text: 'Kesalahan Pencatatan Skor Umum dan Cara Menghindarinya', level: 2 },
55
+ { type: 'paragraph', html: 'Kesalahan paling sering adalah lupa menambahkan bonus akhir ronde atau salah menjumlahkan kolom angka. Saat Anda melacak skor secara digital, total berjalan diperbarui secara otomatis setelah setiap entri. Ini berarti Anda dapat menangkap kesalahan saat angka terlihat janggal, daripada menemukannya di akhir permainan ketika tidak ada yang ingat nilai yang benar. Fitur riwayat ronde memungkinkan Anda memeriksa ronde sebelumnya dan memperbaiki kesalahan tanpa memulai ulang seluruh permainan.' },
56
+ {
57
+ type: 'tip',
58
+ title: 'Tips Cepat Pencatatan Skor',
59
+ html: 'Masukkan skor segera setelah setiap ronde berakhir selagi semua orang masih ingat hasilnya. Gunakan label pemain deskriptif seperti warna atau nama faksi, bukan nama asli, untuk permainan dengan peran tersembunyi. Saat bermain dengan anak-anak, biarkan mereka menekan tombol sendiri agar tetap terlibat dalam proses pencatatan skor.',
60
+ },
61
+ {
62
+ type: 'title',
63
+ text: 'Penilaian Per Ronde vs Total Akhir Saja',
64
+ level: 3,
65
+ },
66
+ {
67
+ type: 'proscons',
68
+ title: 'Skor Per Ronde vs Hanya Skor Akhir',
69
+ items: [
70
+ {
71
+ pro: 'Anda dapat melihat siapa yang memimpin di setiap tahap permainan dan bagaimana momentum berubah.',
72
+ con: 'Memerlukan entri data setelah setiap ronde, bukan sekali di akhir.',
73
+ },
74
+ {
75
+ pro: 'Kesalahan mudah ditemukan karena Anda dapat memeriksa entri ronde individu berdasarkan ingatan.',
76
+ con: 'Membutuhkan sedikit lebih banyak waktu selama sesi permainan.',
77
+ },
78
+ {
79
+ pro: 'Pemain dapat memverifikasi skor ronde mereka sendiri, mengurangi perselisihan dan membangun kepercayaan.',
80
+ con: 'Berfungsi paling baik jika satu orang mengelola perangkat atau pemain bergiliran.',
81
+ },
82
+ ],
83
+ },
84
+ {
85
+ type: 'title',
86
+ text: 'Permainan dengan Sistem Skor yang Tidak Biasa',
87
+ level: 3,
88
+ },
89
+ {
90
+ type: 'comparative',
91
+ items: [
92
+ {
93
+ title: 'Permainan Poin Kemenangan',
94
+ description: 'Sebagian besar eurogame menggunakan poin kemenangan yang diberikan sepanjang permainan. Tantangannya adalah melacak berbagai sumber VP: sumber daya, pencapaian, bonus akhir permainan. Pelacak digital memungkinkan Anda memasukkan poin saat diperoleh dan melihat total berjalan.',
95
+ icon: 'mdi:chess-queen',
96
+ highlight: true,
97
+ points: [
98
+ 'Lacak beberapa kategori skor',
99
+ 'Perhitungan bonus akhir permainan',
100
+ 'Penyelesaian seri instan',
101
+ ],
102
+ },
103
+ {
104
+ title: 'Permainan dengan Skor Negatif',
105
+ description: 'Beberapa permainan menghukum pemain dengan poin negatif untuk tindakan tertentu. Pencatat skor digital menangani nilai negatif secara alami, mewarnainya merah sehingga hukumannya langsung terlihat. Ini sangat berguna dalam permainan trik atau permainan deduksi dengan mekanisme penalti.',
106
+ icon: 'mdi:minus-circle-outline',
107
+ highlight: false,
108
+ points: [
109
+ 'Penanganan negatif otomatis',
110
+ 'Indikator penalti visual',
111
+ 'Total kumulatif yang akurat',
112
+ ],
113
+ },
114
+ {
115
+ title: 'Permainan Kampanye',
116
+ description: 'Permainan legacy dan kampanye membawa skor melintasi beberapa sesi. Tanpa pelacak, Anda perlu menyimpan catatan kertas di antara malam permainan. Alat digital menjaga skor kampanye Anda tetap terorganisir dan memungkinkan Anda meninjau bagaimana keputusan memengaruhi peringkat keseluruhan.',
117
+ icon: 'mdi:book-open-variant',
118
+ highlight: false,
119
+ points: [
120
+ 'Pelacakan kampanye persisten',
121
+ 'Perbandingan antar sesi',
122
+ 'Rincian sesi per sesi',
123
+ ],
124
+ },
125
+ ],
126
+ columns: 3,
127
+ },
128
+ {
129
+ type: 'title',
130
+ text: 'Glosarium Pencatatan Skor',
131
+ level: 3,
132
+ },
133
+ {
134
+ type: 'glossary',
135
+ items: [
136
+ {
137
+ term: 'Poin Kemenangan (VP)',
138
+ definition: 'Unit skor standar di sebagian besar permainan papan modern. Pemain memperoleh VP melalui tindakan, dan siapa pun yang memiliki VP terbanyak saat permainan berakhir, menang.',
139
+ },
140
+ {
141
+ term: 'Penilaian Per Ronde',
142
+ definition: 'Mencatat skor di akhir setiap ronde, bukan hanya di akhir permainan. Ini menciptakan riwayat terperinci dan memudahkan pemeriksaan kesalahan.',
143
+ },
144
+ {
145
+ term: 'Papan Peringkat',
146
+ definition: 'Peringkat langsung yang menunjukkan posisi setiap pemain berdasarkan skor total. Papan peringkat mengurut ulang secara otomatis saat skor baru dimasukkan.',
147
+ },
148
+ {
149
+ term: 'Skor Negatif',
150
+ definition: 'Sistem skor di mana pemain bisa kehilangan poin melalui penalti atau tindakan gagal, menghasilkan total negatif. Pelacak digital menangani ini tanpa kesalahan pengurangan manual.',
151
+ },
152
+ ],
153
+ },
154
+ {
155
+ type: 'diagnostic',
156
+ variant: 'info',
157
+ title: 'Cara Menangani Skor yang Disengketakan',
158
+ icon: 'mdi:information-outline',
159
+ badge: 'TIPS PERMAINAN',
160
+ html: 'Ketika seorang pemain mempertanyakan skor, jangan mengubahnya segera. Pertama periksa riwayat ronde untuk mengonfirmasi apa yang dimasukkan. Jika entri salah, gunakan tombol +/- untuk memperbaikinya dan total akan diperbarui secara otomatis. Jika entri ronde benar tetapi pemain tidak setuju, riwayat memberikan catatan objektif yang dapat ditinjau bersama oleh semua orang.',
161
+ },
162
+ ],
163
+ faq: [
164
+ {
165
+ question: 'Berapa banyak pemain yang bisa saya lacak?',
166
+ answer: 'Tidak ada batasan. Tambahkan pemain sebanyak yang didukung permainan Anda, dan ubah nama mereka kapan saja selama sesi.',
167
+ },
168
+ {
169
+ question: 'Bisakah saya membatalkan kesalahan?',
170
+ answer: 'Ya. Gunakan tombol Batalkan Ronde Terakhir untuk menghapus ronde skor terbaru, yang secara otomatis akan menghitung ulang semua total dan peringkat.',
171
+ },
172
+ {
173
+ question: 'Apakah pelacak skor menyimpan data saya?',
174
+ answer: 'Pelacak skor berjalan sepenuhnya di peramban Anda. Data bertahan selama sesi saat ini. Menyegarkan halaman akan mengatur ulang semua skor.',
175
+ },
176
+ {
177
+ question: 'Bagaimana cara kerja papan peringkat?',
178
+ answer: 'Papan peringkat mengurutkan pemain berdasarkan skor total secara menurun. Peringkat diperbarui secara otomatis saat Anda memasukkan atau mengubah skor di setiap ronde.',
179
+ },
180
+ {
181
+ question: 'Bisakah saya melacak skor negatif?',
182
+ answer: 'Ya. Tombol +/- memungkinkan penyesuaian positif dan negatif, membuatnya cocok untuk permainan dengan poin penalti atau mekanisme pengurangan.',
183
+ },
184
+ ],
185
+ bibliography,
186
+ howTo: [
187
+ {
188
+ name: 'Tambahkan Pemain',
189
+ text: 'Masukkan nama pemain menggunakan input Tambah Pemain. Anda dapat menambah atau menghapus pemain kapan saja selama permainan.',
190
+ },
191
+ {
192
+ name: 'Mulai Penilaian',
193
+ text: 'Klik Mulai Ronde untuk memulai ronde penilaian baru. Gunakan tombol +/- untuk menyesuaikan skor setiap pemain untuk ronde tersebut.',
194
+ },
195
+ {
196
+ name: 'Lihat Peringkat',
197
+ text: 'Papan peringkat diperbarui secara otomatis. Jelajahi tab Riwayat Skor untuk meninjau entri ronde sebelumnya.',
198
+ },
199
+ ],
200
+ schemas: [
201
+ {
202
+ '@context': 'https://schema.org',
203
+ '@type': 'SoftwareApplication',
204
+ 'name': 'Pelacak Skor & Pencatat Skor',
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': 'Berapa banyak pemain yang bisa saya lacak?',
216
+ 'acceptedAnswer': {
217
+ '@type': 'Answer',
218
+ 'text': 'Tidak ada batasan. Tambahkan pemain sebanyak yang didukung permainan Anda, dan ubah nama mereka kapan saja selama sesi.',
219
+ },
220
+ },
221
+ {
222
+ '@type': 'Question',
223
+ 'name': 'Bisakah saya membatalkan kesalahan?',
224
+ 'acceptedAnswer': {
225
+ '@type': 'Answer',
226
+ 'text': 'Ya. Gunakan tombol Batalkan Ronde Terakhir untuk menghapus ronde skor terbaru, yang secara otomatis akan menghitung ulang semua total dan peringkat.',
227
+ },
228
+ },
229
+ {
230
+ '@type': 'Question',
231
+ 'name': 'Apakah pelacak skor menyimpan data saya?',
232
+ 'acceptedAnswer': {
233
+ '@type': 'Answer',
234
+ 'text': 'Pelacak skor berjalan sepenuhnya di peramban Anda. Data bertahan selama sesi saat ini. Menyegarkan halaman akan mengatur ulang semua skor.',
235
+ },
236
+ },
237
+ {
238
+ '@type': 'Question',
239
+ 'name': 'Bagaimana cara kerja papan peringkat?',
240
+ 'acceptedAnswer': {
241
+ '@type': 'Answer',
242
+ 'text': 'Papan peringkat mengurutkan pemain berdasarkan skor total secara menurun. Peringkat diperbarui secara otomatis saat Anda memasukkan atau mengubah skor di setiap ronde.',
243
+ },
244
+ },
245
+ {
246
+ '@type': 'Question',
247
+ 'name': 'Bisakah saya melacak skor negatif?',
248
+ 'acceptedAnswer': {
249
+ '@type': 'Answer',
250
+ 'text': 'Ya. Tombol +/- memungkinkan penyesuaian positif dan negatif, membuatnya cocok untuk permainan dengan poin penalti atau mekanisme pengurangan.',
251
+ },
252
+ },
253
+ ],
254
+ },
255
+ {
256
+ '@context': 'https://schema.org',
257
+ '@type': 'HowTo',
258
+ 'name': 'Cara Menggunakan Pelacak Skor',
259
+ 'step': [
260
+ {
261
+ '@type': 'HowToStep',
262
+ 'name': 'Tambahkan Pemain',
263
+ 'text': 'Masukkan nama pemain menggunakan input Tambah Pemain. Anda dapat menambah atau menghapus pemain kapan saja selama permainan.',
264
+ },
265
+ {
266
+ '@type': 'HowToStep',
267
+ 'name': 'Mulai Penilaian',
268
+ 'text': 'Klik Mulai Ronde untuk memulai ronde penilaian baru. Gunakan tombol +/- untuk menyesuaikan skor setiap pemain untuk ronde tersebut.',
269
+ },
270
+ {
271
+ '@type': 'HowToStep',
272
+ 'name': 'Lihat Peringkat',
273
+ 'text': 'Papan peringkat diperbarui secara otomatis. Jelajahi tab Riwayat Skor untuk meninjau entri ronde sebelumnya.',
274
+ },
275
+ ],
276
+ },
277
+ ],
278
+ };
@@ -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: 'Tracciatore Punteggio',
7
+ addPlayer: 'Aggiungi Giocatore',
8
+ removePlayer: 'Rimuovi',
9
+ renamePlayer: 'Rinomina',
10
+ startRound: 'Inizia Turno 1',
11
+ nextRound: 'Turno Successivo',
12
+ resetGame: 'Reimposta Partita',
13
+ undoRound: 'Annulla Ultimo Turno',
14
+ playerLabel: 'Giocatore',
15
+ scoreLabel: 'Punteggio',
16
+ roundLabel: 'Turno',
17
+ totalLabel: 'Totale',
18
+ rankLabel: 'Posizione',
19
+ leaderboardTitle: 'Classifica',
20
+ historyTitle: 'Cronologia Punteggi',
21
+ noPlayersHint: 'Aggiungi giocatori per iniziare a registrare i punteggi',
22
+ playerNamePlaceholder: 'Nome giocatore',
23
+ confirmLabel: 'Conferma',
24
+ cancelLabel: 'Annulla',
25
+ deleteRoundConfirm: 'Eliminare l ultimo turno?',
26
+ playerAdded: 'Giocatore aggiunto',
27
+ playerRemoved: 'Giocatore rimosso',
28
+ roundStarted: 'Turno iniziato',
29
+ gameReset: 'La partita è stata reimpostata',
30
+ noRoundsYet: 'Nessun turno ancora registrato',
31
+ currentRoundLabel: 'Turno Corrente',
32
+ scoringTitle: 'Punteggio Turno',
33
+ resetAllLabel: 'Reimposta Tutto',
34
+ confirmResetAll: 'Questo eliminerà tutti i giocatori e i punteggi. Sei sicuro?',
35
+ };
36
+
37
+ export const content: ToolLocaleContent<ScoreTrackerUI> = {
38
+ slug: 'tracciatore-punteggio',
39
+ title: 'Tracciatore Punteggio: Segnapunti Multigiocatore e Gestore Classifica',
40
+ description: 'Tieni traccia dei punteggi per qualsiasi gioco da tavolo. Aggiungi giocatori, registra punteggi turno per turno e guarda la classifica aggiornarsi in tempo reale con classifiche automatiche.',
41
+ ui,
42
+ seo: [
43
+ { type: 'title', text: 'Registrazione Punteggi nei Giochi da Tavolo: Come Tenere il Conto Senza Errori', level: 2 },
44
+ { type: 'paragraph', html: 'Tenere il punteggio nei giochi da tavolo sembra semplice finché non sei a cinque turni di profondità e qualcuno si accorge di aver sbagliato i conti. Che tu giochi a Wingspan, Terraforming Mars, Catan o a qualsiasi gioco a punti vittoria, un segnapunti accurato fa la differenza tra una partita equa e una discussione. Un tracciatore digitale elimina gli errori di calcolo, mostra la classifica in tempo reale e conserva una cronologia completa di ogni turno in modo da poter verificare il totale finale.' },
45
+ {
46
+ type: 'stats',
47
+ items: [
48
+ { value: 'Illimitati', label: 'Giocatori Supportati' },
49
+ { value: 'Tempo Reale', label: 'Aggiornamenti Classifica' },
50
+ { value: 'Illimitati', label: 'Turni Registrati' },
51
+ ],
52
+ columns: 3,
53
+ },
54
+ { type: 'title', text: 'Errori Comuni nel Punteggio e Come Evitarli', level: 2 },
55
+ { type: 'paragraph', html: 'L errore più frequente è dimenticare di aggiungere i bonus di fine turno o sbagliare a sommare una colonna di numeri. Quando registri i punteggi digitalmente, il totale corrente si aggiorna automaticamente dopo ogni inserimento. Questo significa che puoi notare un errore nel momento in cui un numero sembra strano, invece di scoprirlo alla fine della partita quando nessuno ricorda il valore corretto. La funzione di cronologia dei turni ti permette di controllare qualsiasi turno precedente e correggere errori senza dover ricominciare l intera partita.' },
56
+ {
57
+ type: 'tip',
58
+ title: 'Consigli Rapidi per il Punteggio',
59
+ html: 'Inserisci i punteggi subito dopo ogni turno finché tutti ricordano ancora i risultati. Usa etichette descrittive come colori o nomi di fazioni invece di nomi reali per giochi con ruoli nascosti. Quando giochi con bambini, lascia che siano loro a premere i pulsanti per mantenerli coinvolti nel processo di registrazione.',
60
+ },
61
+ {
62
+ type: 'title',
63
+ text: 'Punteggio per Turno vs Solo Totale Finale',
64
+ level: 3,
65
+ },
66
+ {
67
+ type: 'proscons',
68
+ title: 'Punteggio per Turno vs Solo Punteggio Finale',
69
+ items: [
70
+ {
71
+ pro: 'Puoi vedere chi era in testa in ogni fase del gioco e come è cambiata la dinamica.',
72
+ con: 'Richiede l inserimento dei dati dopo ogni turno invece che una sola volta alla fine.',
73
+ },
74
+ {
75
+ pro: 'Gli errori sono facili da individuare perché puoi confrontare le voci dei singoli turni con la memoria.',
76
+ con: 'Richiede un po più di tempo durante la sessione di gioco.',
77
+ },
78
+ {
79
+ pro: 'I giocatori possono verificare i propri punteggi di turno, riducendo le dispute e creando fiducia.',
80
+ con: 'Funziona meglio quando una persona gestisce il dispositivo o i giocatori si alternano.',
81
+ },
82
+ ],
83
+ },
84
+ {
85
+ type: 'title',
86
+ text: 'Giochi con Sistemi di Punteggio Insoliti',
87
+ level: 3,
88
+ },
89
+ {
90
+ type: 'comparative',
91
+ items: [
92
+ {
93
+ title: 'Giochi a Punti Vittoria',
94
+ description: 'La maggior parte degli Eurogames utilizza punti vittoria assegnati durante tutta la partita. La sfida è tenere traccia di molteplici fonti di PV: risorse, obiettivi, bonus di fine partita. Un tracciatore digitale ti permette di inserire i punti man mano che arrivano e vedere il totale corrente.',
95
+ icon: 'mdi:chess-queen',
96
+ highlight: true,
97
+ points: [
98
+ 'Tracciamento di più categorie',
99
+ 'Calcolo bonus fine partita',
100
+ 'Risoluzione immediata dei pareggi',
101
+ ],
102
+ },
103
+ {
104
+ title: 'Giochi con Punteggio Negativo',
105
+ description: 'Alcuni giochi penalizzano i giocatori con punti negativi per determinate azioni. Un segnapunti digitale gestisce i valori negativi in modo naturale, colorandoli di rosso in modo che la penalità sia immediatamente visibile. Utile soprattutto nei giochi di prese o nei giochi di deduzione con meccaniche di penalità.',
106
+ icon: 'mdi:minus-circle-outline',
107
+ highlight: false,
108
+ points: [
109
+ 'Gestione automatica dei negativi',
110
+ 'Indicatori visivi di penalità',
111
+ 'Totali cumulativi accurati',
112
+ ],
113
+ },
114
+ {
115
+ title: 'Giochi Campagna',
116
+ description: 'I giochi legacy e campagna trasportano i punteggi attraverso più sessioni. Senza un tracciatore, devi conservare appunti cartacei tra una serata e l altra. Uno strumento digitale mantiene organizzati i punteggi della campagna e ti permette di rivedere come le tue decisioni hanno influenzato la classifica generale.',
117
+ icon: 'mdi:book-open-variant',
118
+ highlight: false,
119
+ points: [
120
+ 'Tracciamento persistente della campagna',
121
+ 'Confronto tra sessioni',
122
+ 'Dettaglio sessione per sessione',
123
+ ],
124
+ },
125
+ ],
126
+ columns: 3,
127
+ },
128
+ {
129
+ type: 'title',
130
+ text: 'Glossario del Punteggio',
131
+ level: 3,
132
+ },
133
+ {
134
+ type: 'glossary',
135
+ items: [
136
+ {
137
+ term: 'Punti Vittoria (PV)',
138
+ definition: 'L unità di punteggio standard nella maggior parte dei giochi da tavolo moderni. I giocatori guadagnano PV attraverso azioni e chi ha più PV alla fine della partita vince.',
139
+ },
140
+ {
141
+ term: 'Punteggio per Turno',
142
+ definition: 'Registrare i punteggi alla fine di ogni turno anziché solo alla fine del gioco. Crea una cronologia dettagliata e semplifica il controllo degli errori.',
143
+ },
144
+ {
145
+ term: 'Classifica',
146
+ definition: 'Una classifica in tempo reale che mostra la posizione di ogni giocatore in base al punteggio totale. La classifica si riordina automaticamente man mano che vengono inseriti nuovi punteggi.',
147
+ },
148
+ {
149
+ term: 'Punteggio Negativo',
150
+ definition: 'Un sistema di punteggio in cui i giocatori possono perdere punti attraverso penalità o azioni fallite, risultando in totali negativi. Un tracciatore digitale gestisce questo senza errori di sottrazione manuale.',
151
+ },
152
+ ],
153
+ },
154
+ {
155
+ type: 'diagnostic',
156
+ variant: 'info',
157
+ title: 'Come Gestire i Punteggi Contestati',
158
+ icon: 'mdi:information-outline',
159
+ badge: 'SUGGERIMENTO',
160
+ html: 'Quando un giocatore contesta un punteggio, non modificarlo immediatamente. Prima controlla la cronologia dei turni per confermare cosa è stato inserito. Se l inserimento è sbagliato, usa i pulsanti +/- per correggerlo e il totale si aggiorna automaticamente. Se l inserimento del turno è corretto ma il giocatore non è d accordo, la cronologia fornisce una registrazione obiettiva che tutti possono consultare insieme.',
161
+ },
162
+ ],
163
+ faq: [
164
+ {
165
+ question: 'Quanti giocatori posso tracciare?',
166
+ answer: 'Non c è limite. Aggiungi tutti i giocatori che il tuo gioco supporta e rinominarli in qualsiasi momento durante la sessione.',
167
+ },
168
+ {
169
+ question: 'Posso annullare un errore?',
170
+ answer: 'Sì. Usa il pulsante Annulla Ultimo Turno per rimuovere il turno di punteggio più recente, che ricalcolerà automaticamente tutti i totali e le classifiche.',
171
+ },
172
+ {
173
+ question: 'Il tracciatore punteggio salva i miei dati?',
174
+ answer: 'Il tracciatore punteggio funziona interamente nel tuo browser. I dati persistono per la sessione corrente. Ricaricare la pagina reimposta tutti i punteggi.',
175
+ },
176
+ {
177
+ question: 'Come funziona la classifica?',
178
+ answer: 'La classifica ordina i giocatori per punteggio totale decrescente. Le posizioni si aggiornano automaticamente man mano che inserisci o modifichi i punteggi in ogni turno.',
179
+ },
180
+ {
181
+ question: 'Posso registrare punteggi negativi?',
182
+ answer: 'Sì. I pulsanti +/- permettono regolazioni sia positive che negative, rendendolo adatto per giochi con punti penalità o meccaniche di deduzione.',
183
+ },
184
+ ],
185
+ bibliography,
186
+ howTo: [
187
+ {
188
+ name: 'Aggiungi Giocatori',
189
+ text: 'Inserisci i nomi dei giocatori usando il campo Aggiungi Giocatore. Puoi aggiungere o rimuovere giocatori in qualsiasi momento durante la partita.',
190
+ },
191
+ {
192
+ name: 'Inizia a Registrare',
193
+ text: 'Clicca Inizia Turno per cominciare un nuovo turno di punteggio. Usa i pulsanti +/- per regolare il punteggio di ogni giocatore per quel turno.',
194
+ },
195
+ {
196
+ name: 'Visualizza Classifiche',
197
+ text: 'La classifica si aggiorna automaticamente. Sfoglia la scheda Cronologia Punteggi per rivedere le voci dei turni precedenti.',
198
+ },
199
+ ],
200
+ schemas: [
201
+ {
202
+ '@context': 'https://schema.org',
203
+ '@type': 'SoftwareApplication',
204
+ 'name': 'Tracciatore Punteggio & Segnapunti',
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': 'Quanti giocatori posso tracciare?',
216
+ 'acceptedAnswer': {
217
+ '@type': 'Answer',
218
+ 'text': 'Non c è limite. Aggiungi tutti i giocatori che il tuo gioco supporta e rinominarli in qualsiasi momento durante la sessione.',
219
+ },
220
+ },
221
+ {
222
+ '@type': 'Question',
223
+ 'name': 'Posso annullare un errore?',
224
+ 'acceptedAnswer': {
225
+ '@type': 'Answer',
226
+ 'text': 'Sì. Usa il pulsante Annulla Ultimo Turno per rimuovere il turno di punteggio più recente, che ricalcolerà automaticamente tutti i totali e le classifiche.',
227
+ },
228
+ },
229
+ {
230
+ '@type': 'Question',
231
+ 'name': 'Il tracciatore punteggio salva i miei dati?',
232
+ 'acceptedAnswer': {
233
+ '@type': 'Answer',
234
+ 'text': 'Il tracciatore punteggio funziona interamente nel tuo browser. I dati persistono per la sessione corrente. Ricaricare la pagina reimposta tutti i punteggi.',
235
+ },
236
+ },
237
+ {
238
+ '@type': 'Question',
239
+ 'name': 'Come funziona la classifica?',
240
+ 'acceptedAnswer': {
241
+ '@type': 'Answer',
242
+ 'text': 'La classifica ordina i giocatori per punteggio totale decrescente. Le posizioni si aggiornano automaticamente man mano che inserisci o modifichi i punteggi in ogni turno.',
243
+ },
244
+ },
245
+ {
246
+ '@type': 'Question',
247
+ 'name': 'Posso registrare punteggi negativi?',
248
+ 'acceptedAnswer': {
249
+ '@type': 'Answer',
250
+ 'text': 'Sì. I pulsanti +/- permettono regolazioni sia positive che negative, rendendolo adatto per giochi con punti penalità o meccaniche di deduzione.',
251
+ },
252
+ },
253
+ ],
254
+ },
255
+ {
256
+ '@context': 'https://schema.org',
257
+ '@type': 'HowTo',
258
+ 'name': 'Come Usare il Tracciatore Punteggio',
259
+ 'step': [
260
+ {
261
+ '@type': 'HowToStep',
262
+ 'name': 'Aggiungi Giocatori',
263
+ 'text': 'Inserisci i nomi dei giocatori usando il campo Aggiungi Giocatore. Puoi aggiungere o rimuovere giocatori in qualsiasi momento durante la partita.',
264
+ },
265
+ {
266
+ '@type': 'HowToStep',
267
+ 'name': 'Inizia a Registrare',
268
+ 'text': 'Clicca Inizia Turno per cominciare un nuovo turno di punteggio. Usa i pulsanti +/- per regolare il punteggio di ogni giocatore per quel turno.',
269
+ },
270
+ {
271
+ '@type': 'HowToStep',
272
+ 'name': 'Visualizza Classifiche',
273
+ 'text': 'La classifica si aggiorna automaticamente. Sfoglia la scheda Cronologia Punteggi per rivedere le voci dei turni precedenti.',
274
+ },
275
+ ],
276
+ },
277
+ ],
278
+ };