@jjlmoya/utils-tabletop 1.3.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 (121) hide show
  1. package/package.json +65 -0
  2. package/scripts/postinstall.mjs +27 -0
  3. package/src/category/TabletopCategorySEO.astro +14 -0
  4. package/src/category/i18n/de.ts +27 -0
  5. package/src/category/i18n/en.ts +27 -0
  6. package/src/category/i18n/es.ts +27 -0
  7. package/src/category/i18n/fr.ts +27 -0
  8. package/src/category/i18n/id.ts +27 -0
  9. package/src/category/i18n/it.ts +27 -0
  10. package/src/category/i18n/ja.ts +27 -0
  11. package/src/category/i18n/ko.ts +27 -0
  12. package/src/category/i18n/nl.ts +27 -0
  13. package/src/category/i18n/pl.ts +27 -0
  14. package/src/category/i18n/pt.ts +27 -0
  15. package/src/category/i18n/ru.ts +27 -0
  16. package/src/category/i18n/sv.ts +27 -0
  17. package/src/category/i18n/tr.ts +27 -0
  18. package/src/category/i18n/zh.ts +27 -0
  19. package/src/category/index.ts +27 -0
  20. package/src/components/PreviewNavSidebar.astro +116 -0
  21. package/src/components/PreviewToolbar.astro +143 -0
  22. package/src/data.ts +10 -0
  23. package/src/entries.ts +10 -0
  24. package/src/env.d.ts +5 -0
  25. package/src/index.ts +21 -0
  26. package/src/layouts/PreviewLayout.astro +117 -0
  27. package/src/pages/[locale]/[slug].astro +161 -0
  28. package/src/pages/[locale].astro +251 -0
  29. package/src/pages/index.astro +4 -0
  30. package/src/tests/faq_count.test.ts +18 -0
  31. package/src/tests/i18n_coverage.test.ts +36 -0
  32. package/src/tests/locale_completeness.test.ts +29 -0
  33. package/src/tests/mocks/astro_mock.js +2 -0
  34. package/src/tests/no_en_dash.test.ts +41 -0
  35. package/src/tests/no_h1_in_components.test.ts +48 -0
  36. package/src/tests/schemas_fulfillment.test.ts +23 -0
  37. package/src/tests/seo_length.test.ts +22 -0
  38. package/src/tests/shared-test-helpers.ts +56 -0
  39. package/src/tests/slug_language_code_format.test.ts +23 -0
  40. package/src/tests/slug_uniqueness.test.ts +81 -0
  41. package/src/tests/title_quality.test.ts +55 -0
  42. package/src/tests/tool_exports.test.ts +34 -0
  43. package/src/tests/tool_validation.test.ts +16 -0
  44. package/src/tool/board-game-timer/bibliography.astro +16 -0
  45. package/src/tool/board-game-timer/bibliography.ts +12 -0
  46. package/src/tool/board-game-timer/board-game-timer.css +1615 -0
  47. package/src/tool/board-game-timer/client.ts +17 -0
  48. package/src/tool/board-game-timer/component.astro +22 -0
  49. package/src/tool/board-game-timer/components/DuelTimer.astro +75 -0
  50. package/src/tool/board-game-timer/components/MultiplayerTimer.astro +58 -0
  51. package/src/tool/board-game-timer/components/SetupPanel.astro +155 -0
  52. package/src/tool/board-game-timer/components/StatsModal.astro +52 -0
  53. package/src/tool/board-game-timer/entry.ts +76 -0
  54. package/src/tool/board-game-timer/i18n/de.ts +303 -0
  55. package/src/tool/board-game-timer/i18n/en.ts +304 -0
  56. package/src/tool/board-game-timer/i18n/es.ts +303 -0
  57. package/src/tool/board-game-timer/i18n/fr.ts +303 -0
  58. package/src/tool/board-game-timer/i18n/id.ts +303 -0
  59. package/src/tool/board-game-timer/i18n/it.ts +303 -0
  60. package/src/tool/board-game-timer/i18n/ja.ts +306 -0
  61. package/src/tool/board-game-timer/i18n/ko.ts +303 -0
  62. package/src/tool/board-game-timer/i18n/nl.ts +303 -0
  63. package/src/tool/board-game-timer/i18n/pl.ts +303 -0
  64. package/src/tool/board-game-timer/i18n/pt.ts +303 -0
  65. package/src/tool/board-game-timer/i18n/ru.ts +303 -0
  66. package/src/tool/board-game-timer/i18n/sv.ts +303 -0
  67. package/src/tool/board-game-timer/i18n/tr.ts +303 -0
  68. package/src/tool/board-game-timer/i18n/zh.ts +303 -0
  69. package/src/tool/board-game-timer/index.ts +9 -0
  70. package/src/tool/board-game-timer/logic.test.ts +282 -0
  71. package/src/tool/board-game-timer/logic.ts +6 -0
  72. package/src/tool/board-game-timer/modules/ColorHelper.ts +26 -0
  73. package/src/tool/board-game-timer/modules/DuelViewManager.ts +120 -0
  74. package/src/tool/board-game-timer/modules/FormatHelper.ts +12 -0
  75. package/src/tool/board-game-timer/modules/GameRunner.ts +136 -0
  76. package/src/tool/board-game-timer/modules/GameState.ts +48 -0
  77. package/src/tool/board-game-timer/modules/MultiplayerViewManager.ts +163 -0
  78. package/src/tool/board-game-timer/modules/SetupPanelManager.ts +209 -0
  79. package/src/tool/board-game-timer/modules/SoundManager.ts +109 -0
  80. package/src/tool/board-game-timer/modules/SpeechManager.ts +1 -0
  81. package/src/tool/board-game-timer/modules/StatsManager.ts +87 -0
  82. package/src/tool/board-game-timer/modules/StatsModalManager.ts +74 -0
  83. package/src/tool/board-game-timer/modules/TimerEngine.ts +175 -0
  84. package/src/tool/board-game-timer/modules/TimerEngineBase.ts +49 -0
  85. package/src/tool/board-game-timer/modules/TimerEngineClock.ts +127 -0
  86. package/src/tool/board-game-timer/modules/TimerStateHelper.ts +55 -0
  87. package/src/tool/board-game-timer/modules/particles.ts +108 -0
  88. package/src/tool/board-game-timer/seo.astro +16 -0
  89. package/src/tool/board-game-timer/types.ts +97 -0
  90. package/src/tool/dice-roller-simulator/bibliography.astro +16 -0
  91. package/src/tool/dice-roller-simulator/bibliography.ts +12 -0
  92. package/src/tool/dice-roller-simulator/client.ts +273 -0
  93. package/src/tool/dice-roller-simulator/component.astro +75 -0
  94. package/src/tool/dice-roller-simulator/components/DiceGrid.astro +55 -0
  95. package/src/tool/dice-roller-simulator/components/RollHistorySection.astro +26 -0
  96. package/src/tool/dice-roller-simulator/components/RollResultBanner.astro +10 -0
  97. package/src/tool/dice-roller-simulator/components/StatsPanel.astro +36 -0
  98. package/src/tool/dice-roller-simulator/dice-roller-simulator.css +1319 -0
  99. package/src/tool/dice-roller-simulator/entry.ts +39 -0
  100. package/src/tool/dice-roller-simulator/i18n/de.ts +305 -0
  101. package/src/tool/dice-roller-simulator/i18n/en.ts +305 -0
  102. package/src/tool/dice-roller-simulator/i18n/es.ts +305 -0
  103. package/src/tool/dice-roller-simulator/i18n/fr.ts +305 -0
  104. package/src/tool/dice-roller-simulator/i18n/id.ts +305 -0
  105. package/src/tool/dice-roller-simulator/i18n/it.ts +305 -0
  106. package/src/tool/dice-roller-simulator/i18n/ja.ts +305 -0
  107. package/src/tool/dice-roller-simulator/i18n/ko.ts +305 -0
  108. package/src/tool/dice-roller-simulator/i18n/nl.ts +305 -0
  109. package/src/tool/dice-roller-simulator/i18n/pl.ts +305 -0
  110. package/src/tool/dice-roller-simulator/i18n/pt.ts +305 -0
  111. package/src/tool/dice-roller-simulator/i18n/ru.ts +305 -0
  112. package/src/tool/dice-roller-simulator/i18n/sv.ts +305 -0
  113. package/src/tool/dice-roller-simulator/i18n/tr.ts +305 -0
  114. package/src/tool/dice-roller-simulator/i18n/zh.ts +305 -0
  115. package/src/tool/dice-roller-simulator/index.ts +9 -0
  116. package/src/tool/dice-roller-simulator/modules/chart.ts +32 -0
  117. package/src/tool/dice-roller-simulator/modules/history.ts +87 -0
  118. package/src/tool/dice-roller-simulator/modules/particles.ts +22 -0
  119. package/src/tool/dice-roller-simulator/seo.astro +16 -0
  120. package/src/tools.ts +9 -0
  121. package/src/types.ts +70 -0
@@ -0,0 +1,303 @@
1
+ import { bibliography } from '../bibliography';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+ import type { BoardGameTimerUI } from '../entry';
4
+
5
+ const ui: BoardGameTimerUI = {
6
+ title: 'Pengatur Waktu Permainan Papan',
7
+ setupTitle: 'Pengaturan Permainan',
8
+ playerNamePlaceholder: 'Nama pemain',
9
+ addPlayer: 'Tambah Pemain',
10
+ removePlayer: 'Hapus',
11
+ startGame: 'Mulai Game',
12
+ pauseGame: 'Jeda',
13
+ resumeGame: 'Lanjutkan',
14
+ resetGame: 'Atur Ulang',
15
+ nextTurn: 'Akhiri Giliran',
16
+ addTime: '+30d',
17
+ removeTime: '-30d',
18
+ playerLabel: 'Pemain',
19
+ minutesLabel: 'mnt',
20
+ secondsLabel: 'dtk',
21
+ expiredLabel: 'WAKTU HABIS',
22
+ overtimeLabel: 'Waktu Tambahan',
23
+ turnIndicator: 'Giliran Anda',
24
+ warningLowTime: 'Waktu Sedikit',
25
+ pausedOverlay: 'Game Dijeda',
26
+ roundLabel: 'Ronde',
27
+ settingsTitle: 'Pengaturan',
28
+ baseTimeLabel: 'Waktu Dasar',
29
+ incrementLabel: 'Inkremen/Penundaan',
30
+ warningTimeLabel: 'Ambang Peringatan',
31
+ confirmLabel: 'Konfirmasi',
32
+ cancelLabel: 'Batal',
33
+ noPlayersHint: 'Tambahkan minimal 2 pemain untuk memulai',
34
+ addPlayerHint: 'Masukkan nama pemain',
35
+ timeUpLabel: 'Waktu habis!',
36
+ presetsTitle: 'Preset',
37
+ timeControlTitle: 'Kontrol Waktu',
38
+ modeLabel: 'Mode',
39
+ modeNormal: 'Hitung Mundur Normal',
40
+ modeFischer: 'Fischer (Inkremen)',
41
+ modeBronstein: 'Bronstein (Penundaan)',
42
+ modeHourglass: 'Jam Pasir',
43
+ modeTurn: 'Atur Ulang Giliran',
44
+ audioTitle: 'Peringatan Audio',
45
+ soundAlerts: 'Efek Suara',
46
+ playersTitle: 'Pemain',
47
+ playersAdded: 'Pemain Ditambahkan',
48
+ statsTitle: 'Statistik Permainan',
49
+ totalGameTime: 'Total Waktu',
50
+ totalRounds: 'Total Ronde',
51
+ slowestPlayer: 'Pemain Terlambat',
52
+ playerPerformance: 'Analisis Waktu Pemain',
53
+ playAgain: 'Game Baru',
54
+ };
55
+
56
+ export const content: ToolLocaleContent<BoardGameTimerUI> = {
57
+ slug: 'pengatur-waktu-permainan-papan-catur',
58
+ title: 'Pengatur Waktu Permainan Papan: Jam Catur Duel & Pengelola Giliran',
59
+ description: 'Pantau giliran dan kelola waktu dalam sesi permainan papan Anda dengan pengatur waktu profesional. Mendukung mode jam catur duel, tata letak multipemain, inkremen Fischer, penundaan Bronstein, dan statistik.',
60
+ ui,
61
+ seo: [
62
+ { type: 'title', text: 'Menguasai Tempo Permainan: Bagaimana Kontrol Waktu Profesional Meningkatkan Permainan Papan', level: 2 },
63
+ { type: 'paragraph', html: 'Manajemen waktu adalah komponen penting dalam permainan papan modern. Baik Anda sedang bersaing dalam game pesta yang cepat atau terlibat dalam game strategi yang mendalam, mengatur waktu berpikir memastikan semua peserta memiliki waktu bermain yang adil. Menggunakan metode pengukur waktu profesional seperti inkremen Fischer, penundaan Bronstein, atau mode jam pasir dapat menghilangkan kelumpuhan analisis, menjamin konsistensi tempo permainan, dan menambah dimensi strategis baru di atas papan.' },
64
+ {
65
+ type: 'stats',
66
+ items: [
67
+ { value: '2-8', label: 'Dukungan Pemain' },
68
+ { value: '5 Mode', label: 'Konfigurasi Waktu' },
69
+ { value: '100ms', label: 'Presisi Mesin' },
70
+ ],
71
+ columns: 3,
72
+ },
73
+ { type: 'title', text: 'Fischer, Bronstein, dan Jam Pasir: Penjelasan Kontrol Waktu Tingkat Lanjut', level: 2 },
74
+ { type: 'paragraph', html: 'Pengatur waktu permainan papan profesional kami mendukung beberapa opsi pengaturan waktu yang terinspirasi oleh turnamen kompetitif, menjaga sesi permainan tetap lancar:' },
75
+ {
76
+ type: 'table',
77
+ headers: ['Mode', 'Cara Kerja', 'Paling Cocok Untuk'],
78
+ rows: [
79
+ ['Hitung Mundur Normal', 'Waktu hitung mundur global standar yang dijeda pada akhir giliran.', 'Permainan papan santai dengan cadangan waktu bersama'],
80
+ ['Fischer (Inkremen)', 'Menambahkan sejumlah detik ke jam Anda setelah menyelesaikan giliran.', 'Game strategi berat di mana giliran cepat dapat membangun cadangan waktu'],
81
+ ['Bronstein (Penundaan)', 'Menyediakan jeda waktu sebelum penghitung waktu utama mulai berkurang.', 'Game taktis kompleks di mana giliran administratif singkat bebas biaya waktu'],
82
+ ['Jam Pasir', 'Waktu Anda berkurang sementara waktu lawan bertambah secara waktu nyata.', 'Duel dua pemain yang kompetitif dan pertandingan catur yang intens'],
83
+ ['Atur Ulang Giliran', 'Hitung mundur tetap yang diatur ulang sepenuhnya pada setiap giliran.', 'Game pesta yang cepat, tantangan trivia, dan ronde kilat'],
84
+ ],
85
+ },
86
+ {
87
+ type: 'tip',
88
+ title: 'Menemukan Konfigurasi Waktu yang Ideal',
89
+ html: 'Titik awal yang disarankan adalah mengalokasikan 30-45 detik untuk game pesta ringan, 1-2 menit dengan penundaan Bronstein 5 detik untuk game strategi menengah, dan 30-45 menit dengan inkremen Fischer 10 detik untuk wargame berat atau kampanye taktis.',
90
+ },
91
+ {
92
+ type: 'title',
93
+ text: 'Optimalisasi Visual: Duel Layar Terbagi vs Tombol Giliran Multipemain Tengah',
94
+ level: 3,
95
+ },
96
+ {
97
+ type: 'paragraph',
98
+ html: 'Untuk duel tatap muka, aplikasi secara otomatis menampilkan tata letak jam catur layar terbagi. Tampilan ini memungkinkan pemain memutar belahan layar mereka sebesar 180 derajat untuk kenyamanan melihat dari sisi meja yang berlawanan. Untuk permainan dengan 3 pemain atau lebih, antarmuka berubah menjadi kisi multipemain dengan sorotan pemain aktif, penyesuaian kartu individu, dan tombol besar Akhiri Giliran di tengah area permainan yang bertindak sebagai bel fisik bersama.',
99
+ },
100
+ {
101
+ type: 'proscons',
102
+ title: 'Membandingkan Inkremen Fischer vs Penundaan Bronstein',
103
+ items: [
104
+ {
105
+ pro: 'Inkremen Fischer menghargai permainan cepat dengan menumpuk waktu cadangan untuk giliran berikutnya.',
106
+ con: 'Total waktu permainan bisa menjadi lebih lama jika pemain terus-menerus bermain dengan sangat cepat.',
107
+ },
108
+ {
109
+ pro: 'Penundaan Bronstein mencegah kehilangan waktu pada giliran administrasi singkat tanpa menumpuk cadangan besar.',
110
+ con: 'Memerlukan konfigurasi ambang batas penundaan yang sesuai dengan waktu fisik yang dibutuhkan permainan.',
111
+ },
112
+ {
113
+ pro: 'Mode jam pasir menciptakan ketegangan langsung dalam duel kompetitif dengan menyedot waktu Anda untuk diberikan kepada lawan.',
114
+ con: 'Menjadi rumit secara matematis dan kurang strategis untuk permainan dengan lebih dari dua pemain.',
115
+ },
116
+ ],
117
+ },
118
+ {
119
+ type: 'title',
120
+ text: 'Genre Permainan Papan yang Memanfaatkan Pengatur Waktu Giliran',
121
+ level: 3,
122
+ },
123
+ {
124
+ type: 'comparative',
125
+ items: [
126
+ {
127
+ title: 'Eurogame Strategis',
128
+ description: 'Game penempatan pekerja dan pengelolaan sumber daya di mana kompleksitas giliran bervariasi. Inkremen Fischer membantu pemain mengambil keputusan penting di akhir game tanpa memperlambat ronde awal.',
129
+ icon: 'mdi:chess-knight',
130
+ highlight: true,
131
+ points: [
132
+ 'Mengurangi kelumpuhan analisis',
133
+ 'Dukungan kompleksitas giliran variabel',
134
+ 'Waktu menjadi sumber daya aktif',
135
+ ],
136
+ },
137
+ {
138
+ title: 'Game Pesta & Trivia',
139
+ description: 'Game dengan energi tinggi di mana berpikir cepat adalah bagian dari kesenangan. Pengatur waktu giliran tetap menjaga energi tetap tinggi dan mencegah satu pemain menghentikan alur.',
140
+ icon: 'mdi:party-popper',
141
+ highlight: false,
142
+ points: [
143
+ 'Hitung mundur tetap yang pendek',
144
+ 'Menjaga momentum pesta',
145
+ 'Memaksa tindakan langsung',
146
+ ],
147
+ },
148
+ {
149
+ title: 'Pertandingan Duel Turnamen',
150
+ description: 'Duel jam catur yang ketat membutuhkan tata letak yang presisi dan dapat diputar untuk memastikan integritas kompetitif di semua ronde turnamen.',
151
+ icon: 'mdi:trophy',
152
+ highlight: false,
153
+ points: [
154
+ 'Rotasi layar 180 derajat',
155
+ 'Pelacakan interval 100ms yang akurat',
156
+ 'Kondisi sudden death/lembur',
157
+ ],
158
+ },
159
+ ],
160
+ columns: 3,
161
+ },
162
+ {
163
+ type: 'glossary',
164
+ items: [
165
+ {
166
+ term: 'Inkremen Fischer',
167
+ definition: 'Metode kontrol waktu di mana sejumlah detik yang ditentukan ditambahkan ke sisa waktu pemain setelah setiap giliran diselesaikan.',
168
+ },
169
+ {
170
+ term: 'Penundaan Bronstein',
171
+ definition: 'Metode kontrol waktu di mana hitung mundur ditunda selama periode tertentu di awal giliran, mencegah pengurangan waktu jika giliran selesai dengan cepat.',
172
+ },
173
+ {
174
+ term: 'Mode Jam Pasir',
175
+ definition: 'Sistem pengaturan waktu dinamis di mana waktu yang berkurang dari jam seorang pemain langsung ditransfer ke lawan secara waktu nyata.',
176
+ },
177
+ {
178
+ term: 'Kelumpuhan Analisis',
179
+ definition: 'Kondisi terlalu banyak berpikir di mana pemain merasa kewalahan oleh pilihan, menghambat alur permainan dan memengaruhi pemain lain.',
180
+ },
181
+ {
182
+ term: 'Analisis Permainan',
183
+ definition: 'Metrik kinerja pasca-game yang merangkum total ronde yang dilalui, kecepatan berpikir rata-rata, durasi giliran maksimum, dan peringkat giliran terlambat.',
184
+ },
185
+ ],
186
+ },
187
+ ],
188
+ faq: [
189
+ {
190
+ question: 'Bagaimana cara kerja tata letak mode Duel?',
191
+ answer: 'Saat memulai permainan 2 pemain, antarmuka menampilkan jam catur layar terbagi. Setiap sisi mewakili seorang pemain, dan mengetuk bagian mereka akan mengakhiri giliran. Tampilan dapat diputar 180 derajat untuk pemain yang duduk berhadapan.',
192
+ },
193
+ {
194
+ question: 'Apa perbedaan antara mode Fischer dan Bronstein?',
195
+ answer: 'Mode Fischer menambahkan detik tambahan setelah giliran berakhir, memungkinkan pemain mengumpulkan cadangan waktu. Mode Bronstein memberikan penundaan di awal giliran; jika giliran selesai dalam masa penundaan, tidak ada waktu yang dikurangi.',
196
+ },
197
+ {
198
+ question: 'Apakah aplikasi melacak statistik giliran?',
199
+ answer: 'Ya! Setelah permainan selesai atau waktu habis, modal statistik menampilkan total durasi game, total ronde, waktu rata-rata giliran, waktu giliran maksimum, dan peringkat kecepatan berpikir pemain.',
200
+ },
201
+ {
202
+ question: 'Apakah data pemain disimpan saat halaman dimuat ulang?',
203
+ answer: 'Ya, konfigurasi pemain dan pilihan warna disimpan secara otomatis di penyimpanan lokal browser, memulihkan daftar pemain saat Anda kembali ke halaman.',
204
+ },
205
+ {
206
+ question: 'Dapatkah saya menambah atau mengurangi waktu selama game berlangsung?',
207
+ answer: 'Ya! Dalam mode multipemain, kartu pemain memiliki tombol aksi +30d dan -30d khusus untuk menyesuaikan sisa waktu secara langsung.',
208
+ },
209
+ ],
210
+ bibliography,
211
+ howTo: [
212
+ {
213
+ name: 'Konfigurasikan Pengaturan Game',
214
+ text: 'Pilih preset (Casual, Blitz, Strategis, Jam Pasir) atau tentukan parameter kustom: durasi dasar, inkremen/penundaan, dan batas peringatan.',
215
+ },
216
+ {
217
+ name: 'Kumpulkan dan Simpan Pemain',
218
+ text: 'Masukkan nama pemain dan pilih warna identifikasi. Atur urutan giliran menggunakan kontrol panah; detail disimpan secara otomatis.',
219
+ },
220
+ {
221
+ name: 'Mulai dan Lewati Giliran',
222
+ text: 'Mulai permainan. Dalam mode Duel, ketuk setengah layar Anda untuk mengakhiri giliran. Dalam mode Multipemain, klik tombol besar Akhiri Giliran di tengah.',
223
+ },
224
+ ],
225
+ schemas: [
226
+ {
227
+ '@context': 'https://schema.org',
228
+ '@type': 'SoftwareApplication',
229
+ 'name': 'Pengatur Waktu Permainan Papan & Pengelola Giliran',
230
+ 'operatingSystem': 'All',
231
+ 'applicationCategory': 'UtilitiesApplication',
232
+ 'browserRequirements': 'Requires HTML5. Requires JavaScript.'
233
+ },
234
+ {
235
+ '@context': 'https://schema.org',
236
+ '@type': 'FAQPage',
237
+ 'mainEntity': [
238
+ {
239
+ '@type': 'Question',
240
+ 'name': 'Bagaimana cara kerja tata letak mode Duel?',
241
+ 'acceptedAnswer': {
242
+ '@type': 'Answer',
243
+ 'text': 'Saat memulai permainan 2 pemain, antarmuka menampilkan jam catur layar terbagi. Setiap sisi mewakili seorang pemain, dan mengetuk bagian mereka akan mengakhiri giliran. Tampilan dapat diputar 180 derajat untuk pemain yang duduk berhadapan.'
244
+ }
245
+ },
246
+ {
247
+ '@type': 'Question',
248
+ 'name': 'Apa perbedaan antara mode Fischer dan Bronstein?',
249
+ 'acceptedAnswer': {
250
+ '@type': 'Answer',
251
+ 'text': 'Mode Fischer menambahkan detik tambahan setelah giliran berakhir, memungkinkan pemain mengumpulkan cadangan waktu. Mode Bronstein memberikan penundaan di awal giliran; jika giliran selesai dalam masa penundaan, tidak ada waktu yang dikurangi.'
252
+ }
253
+ },
254
+ {
255
+ '@type': 'Question',
256
+ 'name': 'Apakah aplikasi melacak statistik giliran?',
257
+ 'acceptedAnswer': {
258
+ '@type': 'Answer',
259
+ 'text': 'Ya! Setelah permainan selesai o waktu habis, modal statistik menampilkan total durasi game, total ronde, waktu rata-rata giliran, waktu giliran maksimum, dan peringkat kecepatan berpikir pemain.'
260
+ }
261
+ },
262
+ {
263
+ '@type': 'Question',
264
+ 'name': 'Apakah data pemain disimpan saat halaman dimuat ulang?',
265
+ 'acceptedAnswer': {
266
+ '@type': 'Answer',
267
+ 'text': 'Ya, konfigurasi pemain dan pilihan warna disimpan secara otomatis di penyimpanan lokal browser, memulihkan daftar pemain saat Anda kembali ke halaman.'
268
+ }
269
+ },
270
+ {
271
+ '@type': 'Question',
272
+ 'name': 'Dapatkah saya menambah atau mengurangi waktu selama game berlangsung?',
273
+ 'acceptedAnswer': {
274
+ '@type': 'Answer',
275
+ 'text': 'Ya! Dalam mode multipemain, kartu pemain memiliki tombol aksi +30d dan -30d khusus untuk menyesuaikan sisa waktu secara langsung.'
276
+ }
277
+ }
278
+ ]
279
+ },
280
+ {
281
+ '@context': 'https://schema.org',
282
+ '@type': 'HowTo',
283
+ 'name': 'Cara Menggunakan Pengatur Waktu Permainan Papan',
284
+ 'step': [
285
+ {
286
+ '@type': 'HowToStep',
287
+ 'name': 'Konfigurasikan Pengaturan Game',
288
+ 'text': 'Pilih preset (Casual, Blitz, Strategis, Jam Pasir) atau tentukan parameter kustom: durasi dasar, inkremen/penundaan, dan batas peringatan.'
289
+ },
290
+ {
291
+ '@type': 'HowToStep',
292
+ 'name': 'Kumpulkan dan Simpan Pemain',
293
+ 'text': 'Masukkan nama pemain dan pilih warna identifikasi. Atur urutan giliran menggunakan kontrol panah; detail disimpan secara otomatis.'
294
+ },
295
+ {
296
+ '@type': 'HowToStep',
297
+ 'name': 'Mulai dan Lewati Giliran',
298
+ 'text': 'Mulai permainan. Dalam mode Duel, ketuk setengah layar Anda untuk mengakhiri giliran. Dalam mode Multipemain, klik tombol besar Akhiri Giliran di tengah.'
299
+ }
300
+ ]
301
+ }
302
+ ],
303
+ };
@@ -0,0 +1,303 @@
1
+ import { bibliography } from '../bibliography';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+ import type { BoardGameTimerUI } from '../entry';
4
+
5
+ const ui: BoardGameTimerUI = {
6
+ title: 'Timer Giochi da Tavolo',
7
+ setupTitle: 'Configurazione Gioco',
8
+ playerNamePlaceholder: 'Nome giocatore',
9
+ addPlayer: 'Aggiungi Giocatore',
10
+ removePlayer: 'Rimuovi',
11
+ startGame: 'Avvia Gioco',
12
+ pauseGame: 'Pausa',
13
+ resumeGame: 'Riprendi',
14
+ resetGame: 'Ripristina',
15
+ nextTurn: 'Fine Turno',
16
+ addTime: '+30s',
17
+ removeTime: '-30s',
18
+ playerLabel: 'Giocatore',
19
+ minutesLabel: 'min',
20
+ secondsLabel: 'sec',
21
+ expiredLabel: 'TEMPO SCADUTO',
22
+ overtimeLabel: 'Tempo supplementare',
23
+ turnIndicator: 'Tuo Turno',
24
+ warningLowTime: 'Tempo basso',
25
+ pausedOverlay: 'Gioco in Pausa',
26
+ roundLabel: 'Round',
27
+ settingsTitle: 'Impostazioni',
28
+ baseTimeLabel: 'Tempo base',
29
+ incrementLabel: 'Incremento/Ritardo',
30
+ warningTimeLabel: 'Soglia avviso',
31
+ confirmLabel: 'Conferma',
32
+ cancelLabel: 'Annulla',
33
+ noPlayersHint: 'Aggiungi almeno 2 giocatori per iniziare',
34
+ addPlayerHint: 'Inserisci il nome del giocatore',
35
+ timeUpLabel: 'Tempo scaduto!',
36
+ presetsTitle: 'Preimpostazioni',
37
+ timeControlTitle: 'Controllo Tempo',
38
+ modeLabel: 'Modalità',
39
+ modeNormal: 'Conto alla rovescia normale',
40
+ modeFischer: 'Fischer (Incremento)',
41
+ modeBronstein: 'Bronstein (Ritardo)',
42
+ modeHourglass: 'Clessidra',
43
+ modeTurn: 'Ripristino Turno',
44
+ audioTitle: 'Avvisi Audio',
45
+ soundAlerts: 'Effetti Sonori',
46
+ playersTitle: 'Giocatori',
47
+ playersAdded: 'Giocatori Aggiunti',
48
+ statsTitle: 'Statistiche Partita',
49
+ totalGameTime: 'Tempo Totale',
50
+ totalRounds: 'Round Totali',
51
+ slowestPlayer: 'Giocatore più lento',
52
+ playerPerformance: 'Analisi Tempo Giocatori',
53
+ playAgain: 'Nuovo Gioco',
54
+ };
55
+
56
+ export const content: ToolLocaleContent<BoardGameTimerUI> = {
57
+ slug: 'timer-giochi-da-tavolo-clessidra',
58
+ title: 'Timer Giochi da Tavolo: Orologio da Scacchi e Gestione Turni',
59
+ description: 'Monitora i turni e gestisci il tempo nelle tue partite di giochi da tavolo con un timer professionale. Supporta orologio da scacchi, modalità multigiocatore, incremento Fischer e ritardo Bronstein.',
60
+ ui,
61
+ seo: [
62
+ { type: 'title', text: 'Padroneggiare il Ritmo al Tavolo: Come i Controlli Professionali Migliorano il Gioco', level: 2 },
63
+ { type: 'paragraph', html: 'La gestione del tempo è un componente essenziale nei giochi da tavolo moderni. Sia che tu stia affrontando un gioco di società rapido o un profondo gioco di strategia, regolare il tempo di riflessione garantisce a tutti una partecipazione equa. L\'uso di metodi professionali come l\'incremento Fischer, il ritardo Bronstein o la modalità Clessidra elimina la paralisi da analisi, garantisce la fluidità della partita e aggiunge una dimensione strategica al tavolo da gioco.' },
64
+ {
65
+ type: 'stats',
66
+ items: [
67
+ { value: '2-8', label: 'Giocatori Supportati' },
68
+ { value: '5 Modalità', label: 'Configurazioni Tempo' },
69
+ { value: '100ms', label: 'Precisione Motore' },
70
+ ],
71
+ columns: 3,
72
+ },
73
+ { type: 'title', text: 'Fischer, Bronstein e Clessidra: Spiegazione dei Controlli Tempo Avanzati', level: 2 },
74
+ { type: 'paragraph', html: 'Il nostro timer per giochi da tavolo supporta diverse opzioni ispirate ai tornei competitivi, per far scorrere le tue partite in modo fluido:' },
75
+ {
76
+ type: 'table',
77
+ headers: ['Modalità', 'Come funziona', 'Ideale per'],
78
+ rows: [
79
+ ['Conto alla rovescia normale', 'Un timer standard globale che si mette in pausa alla fine del turno.', 'Giochi casuali con una riserva di tempo comune'],
80
+ ['Fischer (Incremento)', 'Aggiunge un numero fisso di secondi al tuo orologio dopo aver terminato un turno.', 'Eurogames strategici e wargames in cui i turni veloci creano riserva di tempo'],
81
+ ['Bronstein (Ritardo)', 'Fornisce una finestra di ritardo prima che il timer principale inizi a scorrere.', 'Giochi tattici complessi in cui i brevi turni di gestione fisica sono gratuiti'],
82
+ ['Clessidra', 'Il tuo timer diminuisce mentre quello dell\'avversario aumenta in tempo reale.', 'Duelli intensi a due giocatori e partite di scacchi competitive'],
83
+ ['Ripristino Turno', 'Un timer fisso che si azzera completamente all\'inizio di ogni turno.', 'Giochi di società rapidi, quiz e round veloci'],
84
+ ],
85
+ },
86
+ {
87
+ type: 'tip',
88
+ title: 'Trovare la Configurazione di Tempo Ideale',
89
+ html: 'Un punto di partenza consigliato è di 30-45 secondi per i giochi di società veloci, 1-2 minuti con un ritardo Bronstein di 5 secondi per eurogames medi, e 30-45 minuti con un incremento Fischer di 10 secondi per wargames pesanti o campagne strategiche.',
90
+ },
91
+ {
92
+ type: 'title',
93
+ text: 'Ottimizzazione Visiva: Schermo Condiviso per Duelli vs Pulsante Centrale Multigiocatore',
94
+ level: 3,
95
+ },
96
+ {
97
+ type: 'paragraph',
98
+ html: 'Per i duelli testa a testa, l\'applicazione mostra automaticamente un orologio da scacchi a schermo condiviso. Questa visualizzazione consente ai giocatori di ruotare la propria metà dello schermo di 180 gradi, facilitando la lettura da lati opposti del tavolo. Per le partite con 3 o più partecipanti, l\'interfaccia passa a una griglia multigiocatore con evidenziazione del giocatore attivo, regolazioni delle singole schede e un grande pulsante centrale Fine Turno che funge da cicalino fisico condiviso.',
99
+ },
100
+ {
101
+ type: 'proscons',
102
+ title: 'Confronto tra Incremento Fischer e Ritardo Bronstein',
103
+ items: [
104
+ {
105
+ pro: 'L\'incremento Fischer premia il gioco rapido accumulando riserve di tempo per i turni futuri.',
106
+ con: 'Il tempo di gioco complessivo può allungarsi se i giocatori effettuano costantemente turni rapidissimi.',
107
+ },
108
+ {
109
+ pro: 'Il ritardo Bronstein evita di perdere tempo nei piccoli turni amministrativi senza accumulare riserve massicce.',
110
+ con: 'Richiede la configurazione di una soglia di ritardo adatta al tempo di gestione fisica del gioco.',
111
+ },
112
+ {
113
+ pro: 'La modalità Clessidra crea tensione diretta nei duelli trasferendo il tuo tempo sottratto direttamente al rivale.',
114
+ con: 'Diventa matematicamente complessa e meno strategica nei giochi con più di due giocatori.',
115
+ },
116
+ ],
117
+ },
118
+ {
119
+ type: 'title',
120
+ text: 'Generi Comuni di Giochi da Tavolo che Beneficiano di un Timer di Turno',
121
+ level: 3,
122
+ },
123
+ {
124
+ type: 'comparative',
125
+ items: [
126
+ {
127
+ title: 'Eurogames Strategici',
128
+ description: 'Giochi di piazzamento lavoratori e gestione risorse in cui la complessità del turno varia. L\'incremento Fischer aiuta a prendere decisioni critiche a fine partita senza rallentare i round iniziali.',
129
+ icon: 'mdi:chess-knight',
130
+ highlight: true,
131
+ points: [
132
+ 'Mitiga la paralisi da analisi',
133
+ 'Supporto per turni a complessità variabile',
134
+ 'Il tempo diventa una risorsa attiva',
135
+ ],
136
+ },
137
+ {
138
+ title: 'Giochi di Società & Quiz',
139
+ description: 'Giochi frenetici in cui la rapidità di pensiero è parte del divertimento. I timer a ripristino turno fisso mantengono alta l\'energia ed evitano che un giocatore blocchi il flusso.',
140
+ icon: 'mdi:party-popper',
141
+ highlight: false,
142
+ points: [
143
+ 'Conto alla rovescia fisso e corto',
144
+ 'Mantiene il ritmo della festa',
145
+ 'Forza decisioni immediate',
146
+ ],
147
+ },
148
+ {
149
+ title: 'Partite Competitive in Duello',
150
+ description: 'I duelli rigidi con orologio da scacchi richiedono layout precisi e ruotabili per garantire l\'integrità competitiva e una divisione equa in tutte le manche.',
151
+ icon: 'mdi:trophy',
152
+ highlight: false,
153
+ points: [
154
+ 'Rotazione dello schermo a 180 gradi',
155
+ 'Tracciamento accurato a intervalli di 100 ms',
156
+ 'Gestione di morte improvvisa o tempo supplementare',
157
+ ],
158
+ },
159
+ ],
160
+ columns: 3,
161
+ },
162
+ {
163
+ type: 'glossary',
164
+ items: [
165
+ {
166
+ term: 'Incremento Fischer',
167
+ definition: 'Un metodo di controllo del tempo in cui una quantità prestabilita di secondi viene aggiunta al tempo rimanente del giocatore alla fine di ogni turno.',
168
+ },
169
+ {
170
+ term: 'Ritardo Bronstein',
171
+ definition: 'Un metodo di controllo del tempo in cui il conto alla rovescia viene ritardato per un periodo impostato all\'inizio di un turno, evitando detrazioni se il turno si chiude rapidamente.',
172
+ },
173
+ {
174
+ term: 'Modalità Clessidra',
175
+ definition: 'Un sistema dinamico di cronometraggio in cui il tempo sottratto a un giocatore viene trasferito direttamente e in tempo reale all\'avversario.',
176
+ },
177
+ {
178
+ term: 'Paralisi da analisi',
179
+ definition: 'Uno stato di riflessione eccessiva in cui un giocatore si sente sopraffatto dalle opzioni, rallentando il flusso del gioco e danneggiando l\'esperienza altrui.',
180
+ },
181
+ {
182
+ term: 'Analisi della partita',
183
+ definition: 'Metriche di rendimento a fine partita che riassumono i round trascorsi, la velocità media di pensiero, le durate massime dei turni e la classifica dei giocatori più lenti.',
184
+ },
185
+ ],
186
+ },
187
+ ],
188
+ faq: [
189
+ {
190
+ question: 'Come funziona il layout della modalità Duel?',
191
+ answer: 'All\'avvio di una partita per 2 giocatori, l\'interfaccia mostra un orologio da scacchi a schermo condiviso. Ogni lato rappresenta un giocatore; toccando la propria metà si termina il turno. Gli schermi possono essere ruotati di 180 gradi per i giocatori seduti di fronte.',
192
+ },
193
+ {
194
+ question: 'Qual è la differenza tra le modalità Fischer e Bronstein?',
195
+ answer: 'La modalità Fischer aggiunge secondi extra alla riserva del giocatore dopo il turno, consentendo di accumulare tempo. La modalità Bronstein offre un ritardo all\'inizio del turno; se il turno termina entro il ritardo, non viene detratto tempo.',
196
+ },
197
+ {
198
+ question: 'L\'applicazione traccia le statistiche dei turni?',
199
+ answer: 'Sì! Al termine di una partita o allo scadere del tempo, il pannello delle statistiche mostra la durata totale, i round complessivi, il tempo medio per turno, il turno massimo e la classifica di velocità dei giocatori.',
200
+ },
201
+ {
202
+ question: 'I miei giocatori vengono salvati quando ricarico la pagina?',
203
+ answer: 'Sì, la configurazione dei giocatori e la selezione dei colori vengono salvate automaticamente nella memoria locale del browser, ripristinando l\'elenco quando si torna sulla pagina.',
204
+ },
205
+ {
206
+ question: 'Posso aggiungere o rimuovere tempo durante la partita?',
207
+ answer: 'Sì! Nella modalità multigiocatore, le schede dei giocatori presentano pulsanti dedicati +30s e -30s per regolare al volo il tempo rimanente.',
208
+ },
209
+ ],
210
+ bibliography,
211
+ howTo: [
212
+ {
213
+ name: 'Configura la Partita',
214
+ text: 'Seleziona una preimpostazione (Casual, Blitz, Strategica, Clessidra) o definisci parametri personalizzati: durata base, incremento o ritardo, e soglie di avviso.',
215
+ },
216
+ {
217
+ name: 'Organizza i Giocatori',
218
+ text: 'Inserisci i nomi dei giocatori e seleziona i colori. Modifica l\'ordine dei turni con i controlli a freccia; i dettagli vengono salvati automaticamente.',
219
+ },
220
+ {
221
+ name: 'Avvia e Passa i Turni',
222
+ text: 'Inizia il gioco. Nella modalità Duel, tocca la tua metà schermo per terminare il turno. Nella modalità Multigiocatore, fai clic sul grande pulsante centrale Fine Turno.',
223
+ },
224
+ ],
225
+ schemas: [
226
+ {
227
+ '@context': 'https://schema.org',
228
+ '@type': 'SoftwareApplication',
229
+ 'name': 'Timer Giochi da Tavolo & Gestione Turni',
230
+ 'operatingSystem': 'All',
231
+ 'applicationCategory': 'UtilitiesApplication',
232
+ 'browserRequirements': 'Requires HTML5. Requires JavaScript.'
233
+ },
234
+ {
235
+ '@context': 'https://schema.org',
236
+ '@type': 'FAQPage',
237
+ 'mainEntity': [
238
+ {
239
+ '@type': 'Question',
240
+ 'name': 'Come funziona il layout della modalità Duel?',
241
+ 'acceptedAnswer': {
242
+ '@type': 'Answer',
243
+ 'text': 'All\'avvio di una partita per 2 giocatori, l\'interfaccia mostra un orologio da scacchi a schermo condiviso. Ogni lato rappresenta un giocatore; toccando la propria metà si termina il turno. Gli schermi possono essere ruotati di 180 gradi per i giocatori seduti di fronte.'
244
+ }
245
+ },
246
+ {
247
+ '@type': 'Question',
248
+ 'name': 'Qual è la differenza tra le modalità Fischer e Bronstein?',
249
+ 'acceptedAnswer': {
250
+ '@type': 'Answer',
251
+ 'text': 'La modalità Fischer aggiunge secondi extra alla riserva del giocatore dopo il turno, consentendo di accumulare tempo. La modalità Bronstein offre un ritardo all\'inizio del turno; se il turno termina entro il ritardo, non viene detratto tempo.'
252
+ }
253
+ },
254
+ {
255
+ '@type': 'Question',
256
+ 'name': 'L\'applicazione traccia le statistiche dei turni?',
257
+ 'acceptedAnswer': {
258
+ '@type': 'Answer',
259
+ 'text': 'Sì! Al termine di una partita o allo scadere del tempo, il pannello delle statistiche mostra la durata totale, i round complessivi, il tempo medio per turno, il turno massimo e la classifica di velocità dei giocatori.'
260
+ }
261
+ },
262
+ {
263
+ '@type': 'Question',
264
+ 'name': 'I miei giocatori vengono salvati quando ricarico la pagina?',
265
+ 'acceptedAnswer': {
266
+ '@type': 'Answer',
267
+ 'text': 'Sì, la configurazione dei giocatori e la selezione dei colori vengono salvate automaticamente nella memoria locale del browser, ripristinando l\'elenco quando si torna sulla pagina.'
268
+ }
269
+ },
270
+ {
271
+ '@type': 'Question',
272
+ 'name': 'Posso aggiungere o rimuovere tempo durante la partita?',
273
+ 'acceptedAnswer': {
274
+ '@type': 'Answer',
275
+ 'text': 'Sì! Nella modalità multigiocatore, le schede dei giocatori presentano pulsanti dedicati +30s e -30s per regolare al volo il tempo rimanente.'
276
+ }
277
+ }
278
+ ]
279
+ },
280
+ {
281
+ '@context': 'https://schema.org',
282
+ '@type': 'HowTo',
283
+ 'name': 'Come utilizzare il Timer Giochi da Tavolo',
284
+ 'step': [
285
+ {
286
+ '@type': 'HowToStep',
287
+ 'name': 'Configura la Partita',
288
+ 'text': 'Seleziona una preimpostazione (Casual, Blitz, Strategica, Clessidra) o definisci parametri personalizzati: durata base, incremento o ritardo, e soglie di avviso.'
289
+ },
290
+ {
291
+ '@type': 'HowToStep',
292
+ 'name': 'Organizza i Giocatori',
293
+ 'text': 'Inserisci i nomi dei giocatori e seleziona i colori. Modifica l\'ordine dei turni con i controlli a freccia; i dettagli vengono salvati automaticamente.'
294
+ },
295
+ {
296
+ '@type': 'HowToStep',
297
+ 'name': 'Avvia e Passa i Turni',
298
+ 'text': 'Inizia il gioco. Nella modalità Duel, tocca la tua metà schermo per terminare il turno. Nella modalità Multigiocatore, fai clic sul grande pulsante centrale Fine Turno.'
299
+ }
300
+ ]
301
+ }
302
+ ],
303
+ };