From 19d017fe90ece325d718c002170f833b15d1206f Mon Sep 17 00:00:00 2001 From: Grzegorz Kucmierz Date: Wed, 11 Feb 2026 05:00:16 +0100 Subject: [PATCH] feat(i18n): add simulation translations for all languages --- check_i18n.js | 37 + difficulty_simulation_results.csv | 118 ++ difficulty_simulation_results.json | 938 ++++++++++++++++ scripts/add_simulation_translations.cjs | 61 + scripts/add_simulation_translations.js | 97 ++ src/components/CustomGameModal.vue | 2 +- src/composables/useI18n.js | 1364 +++++++++++++++++++++-- 7 files changed, 2530 insertions(+), 87 deletions(-) create mode 100644 check_i18n.js create mode 100644 difficulty_simulation_results.csv create mode 100644 difficulty_simulation_results.json create mode 100644 scripts/add_simulation_translations.cjs create mode 100644 scripts/add_simulation_translations.js diff --git a/check_i18n.js b/check_i18n.js new file mode 100644 index 0000000..9328cec --- /dev/null +++ b/check_i18n.js @@ -0,0 +1,37 @@ + +const fs = require('fs'); + +const fileContent = fs.readFileSync('src/composables/useI18n.js', 'utf8'); + +// Extract the messages object +const match = fileContent.match(/const messages = ({[\s\S]*?});/); +if (!match) { + console.error('Could not find messages object'); + process.exit(1); +} + +// We need to make the string valid JS to eval it. +// It seems the content inside `const messages = { ... };` is valid JS object notation. +// But we need to be careful about imports or other things if we were to `eval` the whole file. +// We'll just `eval` the object part. + +const messagesStr = match[1]; +const messages = eval(`(${messagesStr})`); + +const enKeys = Object.keys(messages.en); +const languages = Object.keys(messages); + +const missing = {}; + +languages.forEach(lang => { + if (lang === 'en') return; + + const langKeys = Object.keys(messages[lang]); + const missingKeys = enKeys.filter(k => !langKeys.includes(k)); + + if (missingKeys.length > 0) { + missing[lang] = missingKeys; + } +}); + +console.log(JSON.stringify(missing, null, 2)); diff --git a/difficulty_simulation_results.csv b/difficulty_simulation_results.csv new file mode 100644 index 0000000..f02957d --- /dev/null +++ b/difficulty_simulation_results.csv @@ -0,0 +1,118 @@ +size,density,avg_solved_percent,min_solved_percent,max_solved_percent,avg_time_ms +5,0.1,89.40,36.00,100.00,0.03 +5,0.2,74.20,8.00,100.00,0.04 +5,0.3,74.20,0.00,100.00,0.04 +5,0.4,80.80,8.00,100.00,0.03 +5,0.5,96.80,68.00,100.00,0.03 +5,0.6,97.60,84.00,100.00,0.03 +5,0.7,99.20,84.00,100.00,0.03 +5,0.8,100.00,100.00,100.00,0.02 +5,0.9,100.00,100.00,100.00,0.02 +10,0.1,56.60,19.00,86.00,0.04 +10,0.2,19.80,0.00,51.00,0.05 +10,0.3,15.75,0.00,73.00,0.07 +10,0.4,54.05,0.00,100.00,0.13 +10,0.5,91.80,59.00,100.00,0.17 +10,0.6,99.80,96.00,100.00,0.07 +10,0.7,99.80,96.00,100.00,0.05 +10,0.8,100.00,100.00,100.00,0.04 +10,0.9,100.00,100.00,100.00,0.02 +15,0.1,37.04,13.33,61.78,0.05 +15,0.2,9.78,0.00,26.67,0.03 +15,0.3,1.89,0.00,8.00,0.03 +15,0.4,11.82,0.00,61.33,0.08 +15,0.5,68.20,2.67,100.00,0.14 +15,0.6,99.56,96.44,100.00,0.09 +15,0.7,99.78,97.33,100.00,0.07 +15,0.8,100.00,100.00,100.00,0.05 +15,0.9,100.00,100.00,100.00,0.03 +20,0.1,22.59,5.00,41.50,0.04 +20,0.2,3.25,0.00,14.50,0.04 +20,0.3,0.56,0.00,5.00,0.04 +20,0.4,1.46,0.00,3.25,0.07 +20,0.5,36.75,1.25,99.00,0.26 +20,0.6,99.80,99.00,100.00,0.23 +20,0.7,99.95,99.00,100.00,0.13 +20,0.8,100.00,100.00,100.00,0.09 +20,0.9,100.00,100.00,100.00,0.05 +25,0.1,16.00,7.84,32.80,0.06 +25,0.2,0.00,0.00,0.00,0.04 +25,0.3,0.05,0.00,0.64,0.06 +25,0.4,0.89,0.00,9.44,0.12 +25,0.5,19.13,1.12,96.48,0.35 +25,0.6,99.25,94.88,100.00,0.50 +25,0.7,99.90,99.36,100.00,0.24 +25,0.8,100.00,100.00,100.00,0.15 +25,0.9,99.97,99.36,100.00,0.08 +30,0.1,7.99,0.00,16.00,0.08 +30,0.2,0.17,0.00,3.33,0.07 +30,0.3,0.00,0.00,0.00,0.08 +30,0.4,0.38,0.00,4.11,0.18 +30,0.5,5.42,0.78,21.44,0.41 +30,0.6,99.42,94.78,100.00,0.94 +30,0.7,99.93,99.56,100.00,0.42 +30,0.8,100.00,100.00,100.00,0.22 +30,0.9,100.00,100.00,100.00,0.13 +35,0.1,5.65,0.00,13.80,0.11 +35,0.2,0.14,0.00,2.86,0.10 +35,0.3,0.00,0.00,0.00,0.13 +35,0.4,0.13,0.00,0.57,0.22 +35,0.5,4.42,0.41,23.18,0.56 +35,0.6,91.11,8.41,100.00,1.58 +35,0.7,99.97,99.67,100.00,0.60 +35,0.8,100.00,100.00,100.00,0.33 +35,0.9,100.00,100.00,100.00,0.17 +40,0.1,2.73,0.00,9.81,0.13 +40,0.2,0.00,0.00,0.00,0.13 +40,0.3,0.00,0.00,0.00,0.18 +40,0.4,0.03,0.00,0.31,0.27 +40,0.5,2.14,0.00,9.56,0.69 +40,0.6,91.44,22.31,100.00,2.92 +40,0.7,99.99,99.75,100.00,0.84 +40,0.8,100.00,100.00,100.00,0.43 +40,0.9,100.00,100.00,100.00,0.24 +45,0.1,1.78,0.00,4.69,0.17 +45,0.2,0.00,0.00,0.00,0.17 +45,0.3,0.00,0.00,0.00,0.24 +45,0.4,0.01,0.00,0.15,0.33 +45,0.5,1.44,0.40,5.14,0.96 +45,0.6,81.72,6.02,100.00,5.28 +45,0.7,99.94,99.41,100.00,1.28 +45,0.8,100.00,100.00,100.00,0.64 +45,0.9,100.00,100.00,100.00,0.30 +50,0.1,1.70,0.00,5.92,0.20 +50,0.2,0.00,0.00,0.00,0.23 +50,0.3,0.00,0.00,0.00,0.30 +50,0.4,0.01,0.00,0.16,0.38 +50,0.5,0.51,0.00,1.80,0.90 +50,0.6,73.26,5.60,100.00,7.94 +50,0.7,99.96,99.76,100.00,1.63 +50,0.8,100.00,100.00,100.00,0.83 +50,0.9,100.00,100.00,100.00,0.41 +60,0.1,0.17,0.00,1.67,0.24 +60,0.2,0.00,0.00,0.00,0.35 +60,0.3,0.00,0.00,0.00,0.50 +60,0.4,0.00,0.00,0.06,0.64 +60,0.5,0.23,0.00,1.67,1.24 +60,0.6,35.02,1.33,100.00,10.76 +60,0.7,99.97,99.83,100.00,2.96 +60,0.8,100.00,100.00,100.00,1.27 +60,0.9,100.00,100.00,100.00,0.62 +70,0.1,0.14,0.00,1.43,0.34 +70,0.2,0.00,0.00,0.00,0.54 +70,0.3,0.00,0.00,0.00,0.76 +70,0.4,0.00,0.00,0.00,0.96 +70,0.5,0.04,0.00,0.29,1.49 +70,0.6,16.40,1.00,99.71,22.21 +70,0.7,99.97,99.73,100.00,4.92 +70,0.8,100.00,99.92,100.00,2.03 +70,0.9,100.00,100.00,100.00,0.89 +80,0.1,0.00,0.00,0.00,0.44 +80,0.2,0.00,0.00,0.00,0.78 +80,0.3,0.00,0.00,0.00,1.07 +80,0.4,0.00,0.00,0.00,1.34 +80,0.5,0.01,0.00,0.08,1.97 +80,0.6,1.21,0.41,2.30,3.92 +80,0.7,99.98,99.94,100.00,7.79 +80,0.8,100.00,100.00,100.00,3.14 +80,0.9,100.00,100.00,100.00,1.31 \ No newline at end of file diff --git a/difficulty_simulation_results.json b/difficulty_simulation_results.json new file mode 100644 index 0000000..e1ddf22 --- /dev/null +++ b/difficulty_simulation_results.json @@ -0,0 +1,938 @@ +[ + { + "size": 5, + "density": 0.1, + "avgSolved": 89.4, + "minSolved": 36, + "maxSolved": 100, + "avgTime": 0.031666799999999905 + }, + { + "size": 5, + "density": 0.2, + "avgSolved": 74.2, + "minSolved": 8, + "maxSolved": 100, + "avgTime": 0.03671869999999924 + }, + { + "size": 5, + "density": 0.3, + "avgSolved": 74.2, + "minSolved": 0, + "maxSolved": 100, + "avgTime": 0.04439559999999983 + }, + { + "size": 5, + "density": 0.4, + "avgSolved": 80.8, + "minSolved": 8, + "maxSolved": 100, + "avgTime": 0.0317166499999999 + }, + { + "size": 5, + "density": 0.5, + "avgSolved": 96.8, + "minSolved": 68, + "maxSolved": 100, + "avgTime": 0.0309604000000002 + }, + { + "size": 5, + "density": 0.6, + "avgSolved": 97.6, + "minSolved": 84, + "maxSolved": 100, + "avgTime": 0.031464499999999875 + }, + { + "size": 5, + "density": 0.7, + "avgSolved": 99.2, + "minSolved": 84, + "maxSolved": 100, + "avgTime": 0.03086874999999978 + }, + { + "size": 5, + "density": 0.8, + "avgSolved": 100, + "minSolved": 100, + "maxSolved": 100, + "avgTime": 0.01615615000000048 + }, + { + "size": 5, + "density": 0.9, + "avgSolved": 100, + "minSolved": 100, + "maxSolved": 100, + "avgTime": 0.02271474999999956 + }, + { + "size": 10, + "density": 0.1, + "avgSolved": 56.6, + "minSolved": 19, + "maxSolved": 86, + "avgTime": 0.042958299999999915 + }, + { + "size": 10, + "density": 0.2, + "avgSolved": 19.8, + "minSolved": 0, + "maxSolved": 51, + "avgTime": 0.050141749999999874 + }, + { + "size": 10, + "density": 0.3, + "avgSolved": 15.75, + "minSolved": 0, + "maxSolved": 73, + "avgTime": 0.06852290000000014 + }, + { + "size": 10, + "density": 0.4, + "avgSolved": 54.05, + "minSolved": 0, + "maxSolved": 100, + "avgTime": 0.12701870000000018 + }, + { + "size": 10, + "density": 0.5, + "avgSolved": 91.8, + "minSolved": 59, + "maxSolved": 100, + "avgTime": 0.16561034999999985 + }, + { + "size": 10, + "density": 0.6, + "avgSolved": 99.8, + "minSolved": 96, + "maxSolved": 100, + "avgTime": 0.07136649999999882 + }, + { + "size": 10, + "density": 0.7, + "avgSolved": 99.8, + "minSolved": 96, + "maxSolved": 100, + "avgTime": 0.04808134999999893 + }, + { + "size": 10, + "density": 0.8, + "avgSolved": 100, + "minSolved": 100, + "maxSolved": 100, + "avgTime": 0.03795824999999979 + }, + { + "size": 10, + "density": 0.9, + "avgSolved": 100, + "minSolved": 100, + "maxSolved": 100, + "avgTime": 0.024952100000000855 + }, + { + "size": 15, + "density": 0.1, + "avgSolved": 37.044444444444444, + "minSolved": 13.333333333333334, + "maxSolved": 61.77777777777778, + "avgTime": 0.045045850000000345 + }, + { + "size": 15, + "density": 0.2, + "avgSolved": 9.777777777777775, + "minSolved": 0, + "maxSolved": 26.666666666666668, + "avgTime": 0.034581349999998776 + }, + { + "size": 15, + "density": 0.3, + "avgSolved": 1.8888888888888886, + "minSolved": 0, + "maxSolved": 8, + "avgTime": 0.029402199999999823 + }, + { + "size": 15, + "density": 0.4, + "avgSolved": 11.822222222222223, + "minSolved": 0, + "maxSolved": 61.33333333333333, + "avgTime": 0.07898965000000047 + }, + { + "size": 15, + "density": 0.5, + "avgSolved": 68.19999999999999, + "minSolved": 2.666666666666667, + "maxSolved": 100, + "avgTime": 0.1374602999999997 + }, + { + "size": 15, + "density": 0.6, + "avgSolved": 99.55555555555554, + "minSolved": 96.44444444444444, + "maxSolved": 100, + "avgTime": 0.09379159999999978 + }, + { + "size": 15, + "density": 0.7, + "avgSolved": 99.77777777777779, + "minSolved": 97.33333333333334, + "maxSolved": 100, + "avgTime": 0.07072704999999928 + }, + { + "size": 15, + "density": 0.8, + "avgSolved": 100, + "minSolved": 100, + "maxSolved": 100, + "avgTime": 0.050104250000000405 + }, + { + "size": 15, + "density": 0.9, + "avgSolved": 100, + "minSolved": 100, + "maxSolved": 100, + "avgTime": 0.031362550000000766 + }, + { + "size": 20, + "density": 0.1, + "avgSolved": 22.5875, + "minSolved": 5, + "maxSolved": 41.5, + "avgTime": 0.04363335000000035 + }, + { + "size": 20, + "density": 0.2, + "avgSolved": 3.25, + "minSolved": 0, + "maxSolved": 14.499999999999998, + "avgTime": 0.03823525000000103 + }, + { + "size": 20, + "density": 0.3, + "avgSolved": 0.5625, + "minSolved": 0, + "maxSolved": 5, + "avgTime": 0.03880414999999786 + }, + { + "size": 20, + "density": 0.4, + "avgSolved": 1.4625, + "minSolved": 0, + "maxSolved": 3.25, + "avgTime": 0.06692695000000129 + }, + { + "size": 20, + "density": 0.5, + "avgSolved": 36.75, + "minSolved": 1.25, + "maxSolved": 99, + "avgTime": 0.25872084999999884 + }, + { + "size": 20, + "density": 0.6, + "avgSolved": 99.8, + "minSolved": 99, + "maxSolved": 100, + "avgTime": 0.2258772000000004 + }, + { + "size": 20, + "density": 0.7, + "avgSolved": 99.95, + "minSolved": 99, + "maxSolved": 100, + "avgTime": 0.13418124999999997 + }, + { + "size": 20, + "density": 0.8, + "avgSolved": 100, + "minSolved": 100, + "maxSolved": 100, + "avgTime": 0.09264785000000053 + }, + { + "size": 20, + "density": 0.9, + "avgSolved": 100, + "minSolved": 100, + "maxSolved": 100, + "avgTime": 0.05307699999999756 + }, + { + "size": 25, + "density": 0.1, + "avgSolved": 16.000000000000004, + "minSolved": 7.84, + "maxSolved": 32.800000000000004, + "avgTime": 0.05678540000000112 + }, + { + "size": 25, + "density": 0.2, + "avgSolved": 0, + "minSolved": 0, + "maxSolved": 0, + "avgTime": 0.04278334999999842 + }, + { + "size": 25, + "density": 0.3, + "avgSolved": 0.048, + "minSolved": 0, + "maxSolved": 0.64, + "avgTime": 0.05884794999999983 + }, + { + "size": 25, + "density": 0.4, + "avgSolved": 0.8880000000000001, + "minSolved": 0, + "maxSolved": 9.44, + "avgTime": 0.11761245000000287 + }, + { + "size": 25, + "density": 0.5, + "avgSolved": 19.128000000000007, + "minSolved": 1.1199999999999999, + "maxSolved": 96.48, + "avgTime": 0.3490229000000021 + }, + { + "size": 25, + "density": 0.6, + "avgSolved": 99.24799999999998, + "minSolved": 94.88, + "maxSolved": 100, + "avgTime": 0.49611459999999996 + }, + { + "size": 25, + "density": 0.7, + "avgSolved": 99.904, + "minSolved": 99.36, + "maxSolved": 100, + "avgTime": 0.23916465000000073 + }, + { + "size": 25, + "density": 0.8, + "avgSolved": 100, + "minSolved": 100, + "maxSolved": 100, + "avgTime": 0.14604994999999973 + }, + { + "size": 25, + "density": 0.9, + "avgSolved": 99.96799999999999, + "minSolved": 99.36, + "maxSolved": 100, + "avgTime": 0.08385419999999896 + }, + { + "size": 30, + "density": 0.1, + "avgSolved": 7.988888888888889, + "minSolved": 0, + "maxSolved": 16, + "avgTime": 0.08026245000000073 + }, + { + "size": 30, + "density": 0.2, + "avgSolved": 0.16666666666666669, + "minSolved": 0, + "maxSolved": 3.3333333333333335, + "avgTime": 0.06999999999999887 + }, + { + "size": 30, + "density": 0.3, + "avgSolved": 0, + "minSolved": 0, + "maxSolved": 0, + "avgTime": 0.08285835000000005 + }, + { + "size": 30, + "density": 0.4, + "avgSolved": 0.3777777777777777, + "minSolved": 0, + "maxSolved": 4.111111111111112, + "avgTime": 0.1756041499999988 + }, + { + "size": 30, + "density": 0.5, + "avgSolved": 5.4222222222222225, + "minSolved": 0.7777777777777778, + "maxSolved": 21.444444444444443, + "avgTime": 0.41105620000000015 + }, + { + "size": 30, + "density": 0.6, + "avgSolved": 99.41666666666669, + "minSolved": 94.77777777777779, + "maxSolved": 100, + "avgTime": 0.9417500999999995 + }, + { + "size": 30, + "density": 0.7, + "avgSolved": 99.93333333333335, + "minSolved": 99.55555555555556, + "maxSolved": 100, + "avgTime": 0.41628955000000334 + }, + { + "size": 30, + "density": 0.8, + "avgSolved": 100, + "minSolved": 100, + "maxSolved": 100, + "avgTime": 0.22320620000000133 + }, + { + "size": 30, + "density": 0.9, + "avgSolved": 100, + "minSolved": 100, + "maxSolved": 100, + "avgTime": 0.13331460000000134 + }, + { + "size": 35, + "density": 0.1, + "avgSolved": 5.653061224489796, + "minSolved": 0, + "maxSolved": 13.795918367346937, + "avgTime": 0.11177699999999931 + }, + { + "size": 35, + "density": 0.2, + "avgSolved": 0.14285714285714285, + "minSolved": 0, + "maxSolved": 2.857142857142857, + "avgTime": 0.09598544999999917 + }, + { + "size": 35, + "density": 0.3, + "avgSolved": 0, + "minSolved": 0, + "maxSolved": 0, + "avgTime": 0.1290145000000038 + }, + { + "size": 35, + "density": 0.4, + "avgSolved": 0.1346938775510204, + "minSolved": 0, + "maxSolved": 0.5714285714285714, + "avgTime": 0.21904799999999797 + }, + { + "size": 35, + "density": 0.5, + "avgSolved": 4.424489795918367, + "minSolved": 0.40816326530612246, + "maxSolved": 23.183673469387756, + "avgTime": 0.5596769500000022 + }, + { + "size": 35, + "density": 0.6, + "avgSolved": 91.1061224489796, + "minSolved": 8.408163265306122, + "maxSolved": 100, + "avgTime": 1.5827311000000024 + }, + { + "size": 35, + "density": 0.7, + "avgSolved": 99.9673469387755, + "minSolved": 99.67346938775509, + "maxSolved": 100, + "avgTime": 0.5970167499999988 + }, + { + "size": 35, + "density": 0.8, + "avgSolved": 100, + "minSolved": 100, + "maxSolved": 100, + "avgTime": 0.33084175000000327 + }, + { + "size": 35, + "density": 0.9, + "avgSolved": 100, + "minSolved": 100, + "maxSolved": 100, + "avgTime": 0.1685022000000032 + }, + { + "size": 40, + "density": 0.1, + "avgSolved": 2.734375, + "minSolved": 0, + "maxSolved": 9.8125, + "avgTime": 0.13156869999999826 + }, + { + "size": 40, + "density": 0.2, + "avgSolved": 0, + "minSolved": 0, + "maxSolved": 0, + "avgTime": 0.13052910000000112 + }, + { + "size": 40, + "density": 0.3, + "avgSolved": 0, + "minSolved": 0, + "maxSolved": 0, + "avgTime": 0.17675199999999905 + }, + { + "size": 40, + "density": 0.4, + "avgSolved": 0.03125, + "minSolved": 0, + "maxSolved": 0.3125, + "avgTime": 0.26616039999999686 + }, + { + "size": 40, + "density": 0.5, + "avgSolved": 2.14375, + "minSolved": 0, + "maxSolved": 9.5625, + "avgTime": 0.694316649999999 + }, + { + "size": 40, + "density": 0.6, + "avgSolved": 91.44375, + "minSolved": 22.3125, + "maxSolved": 100, + "avgTime": 2.9244042000000006 + }, + { + "size": 40, + "density": 0.7, + "avgSolved": 99.9875, + "minSolved": 99.75, + "maxSolved": 100, + "avgTime": 0.8381519999999967 + }, + { + "size": 40, + "density": 0.8, + "avgSolved": 100, + "minSolved": 100, + "maxSolved": 100, + "avgTime": 0.4339062999999925 + }, + { + "size": 40, + "density": 0.9, + "avgSolved": 100, + "minSolved": 100, + "maxSolved": 100, + "avgTime": 0.2375938000000076 + }, + { + "size": 45, + "density": 0.1, + "avgSolved": 1.7827160493827159, + "minSolved": 0, + "maxSolved": 4.691358024691358, + "avgTime": 0.1660813500000046 + }, + { + "size": 45, + "density": 0.2, + "avgSolved": 0, + "minSolved": 0, + "maxSolved": 0, + "avgTime": 0.1715666999999968 + }, + { + "size": 45, + "density": 0.3, + "avgSolved": 0, + "minSolved": 0, + "maxSolved": 0, + "avgTime": 0.23760415000000706 + }, + { + "size": 45, + "density": 0.4, + "avgSolved": 0.012345679012345678, + "minSolved": 0, + "maxSolved": 0.14814814814814814, + "avgTime": 0.333931249999992 + }, + { + "size": 45, + "density": 0.5, + "avgSolved": 1.439506172839506, + "minSolved": 0.39506172839506176, + "maxSolved": 5.135802469135802, + "avgTime": 0.9644125499999916 + }, + { + "size": 45, + "density": 0.6, + "avgSolved": 81.71851851851852, + "minSolved": 6.0246913580246915, + "maxSolved": 100, + "avgTime": 5.281324949999998 + }, + { + "size": 45, + "density": 0.7, + "avgSolved": 99.94074074074075, + "minSolved": 99.4074074074074, + "maxSolved": 100, + "avgTime": 1.2768960000000107 + }, + { + "size": 45, + "density": 0.8, + "avgSolved": 100, + "minSolved": 100, + "maxSolved": 100, + "avgTime": 0.638566650000007 + }, + { + "size": 45, + "density": 0.9, + "avgSolved": 100, + "minSolved": 100, + "maxSolved": 100, + "avgTime": 0.3004915999999923 + }, + { + "size": 50, + "density": 0.1, + "avgSolved": 1.7, + "minSolved": 0, + "maxSolved": 5.92, + "avgTime": 0.20294785000000387 + }, + { + "size": 50, + "density": 0.2, + "avgSolved": 0, + "minSolved": 0, + "maxSolved": 0, + "avgTime": 0.23199789999999892 + }, + { + "size": 50, + "density": 0.3, + "avgSolved": 0, + "minSolved": 0, + "maxSolved": 0, + "avgTime": 0.29876259999999205 + }, + { + "size": 50, + "density": 0.4, + "avgSolved": 0.008, + "minSolved": 0, + "maxSolved": 0.16, + "avgTime": 0.38459799999998834 + }, + { + "size": 50, + "density": 0.5, + "avgSolved": 0.5099999999999999, + "minSolved": 0, + "maxSolved": 1.7999999999999998, + "avgTime": 0.8961771499999941 + }, + { + "size": 50, + "density": 0.6, + "avgSolved": 73.258, + "minSolved": 5.6000000000000005, + "maxSolved": 100, + "avgTime": 7.937735449999991 + }, + { + "size": 50, + "density": 0.7, + "avgSolved": 99.96399999999998, + "minSolved": 99.76, + "maxSolved": 100, + "avgTime": 1.6324250000000062 + }, + { + "size": 50, + "density": 0.8, + "avgSolved": 100, + "minSolved": 100, + "maxSolved": 100, + "avgTime": 0.8293270000000064 + }, + { + "size": 50, + "density": 0.9, + "avgSolved": 100, + "minSolved": 100, + "maxSolved": 100, + "avgTime": 0.41459575000000654 + }, + { + "size": 60, + "density": 0.1, + "avgSolved": 0.16666666666666669, + "minSolved": 0, + "maxSolved": 1.6666666666666667, + "avgTime": 0.2432124999999928 + }, + { + "size": 60, + "density": 0.2, + "avgSolved": 0, + "minSolved": 0, + "maxSolved": 0, + "avgTime": 0.35082704999999237 + }, + { + "size": 60, + "density": 0.3, + "avgSolved": 0, + "minSolved": 0, + "maxSolved": 0, + "avgTime": 0.49827310000000014 + }, + { + "size": 60, + "density": 0.4, + "avgSolved": 0.0027777777777777775, + "minSolved": 0, + "maxSolved": 0.05555555555555555, + "avgTime": 0.6393062499999985 + }, + { + "size": 60, + "density": 0.5, + "avgSolved": 0.23055555555555554, + "minSolved": 0, + "maxSolved": 1.6666666666666667, + "avgTime": 1.2402395500000012 + }, + { + "size": 60, + "density": 0.6, + "avgSolved": 35.01805555555556, + "minSolved": 1.3333333333333335, + "maxSolved": 100, + "avgTime": 10.759754149999992 + }, + { + "size": 60, + "density": 0.7, + "avgSolved": 99.96944444444445, + "minSolved": 99.83333333333333, + "maxSolved": 100, + "avgTime": 2.964204100000029 + }, + { + "size": 60, + "density": 0.8, + "avgSolved": 100, + "minSolved": 100, + "maxSolved": 100, + "avgTime": 1.2736664999999903 + }, + { + "size": 60, + "density": 0.9, + "avgSolved": 100, + "minSolved": 100, + "maxSolved": 100, + "avgTime": 0.6249353999999812 + }, + { + "size": 70, + "density": 0.1, + "avgSolved": 0.14285714285714285, + "minSolved": 0, + "maxSolved": 1.4285714285714286, + "avgTime": 0.34277719999998907 + }, + { + "size": 70, + "density": 0.2, + "avgSolved": 0, + "minSolved": 0, + "maxSolved": 0, + "avgTime": 0.5435105000000249 + }, + { + "size": 70, + "density": 0.3, + "avgSolved": 0, + "minSolved": 0, + "maxSolved": 0, + "avgTime": 0.7600602999999865 + }, + { + "size": 70, + "density": 0.4, + "avgSolved": 0, + "minSolved": 0, + "maxSolved": 0, + "avgTime": 0.9591250999999943 + }, + { + "size": 70, + "density": 0.5, + "avgSolved": 0.04081632653061225, + "minSolved": 0, + "maxSolved": 0.2857142857142857, + "avgTime": 1.491010399999982 + }, + { + "size": 70, + "density": 0.6, + "avgSolved": 16.403061224489797, + "minSolved": 1, + "maxSolved": 99.71428571428571, + "avgTime": 22.21432699999999 + }, + { + "size": 70, + "density": 0.7, + "avgSolved": 99.96836734693878, + "minSolved": 99.73469387755102, + "maxSolved": 100, + "avgTime": 4.92020829999999 + }, + { + "size": 70, + "density": 0.8, + "avgSolved": 99.99591836734695, + "minSolved": 99.91836734693878, + "maxSolved": 100, + "avgTime": 2.0306394499999554 + }, + { + "size": 70, + "density": 0.9, + "avgSolved": 100, + "minSolved": 100, + "maxSolved": 100, + "avgTime": 0.8882499500000336 + }, + { + "size": 80, + "density": 0.1, + "avgSolved": 0, + "minSolved": 0, + "maxSolved": 0, + "avgTime": 0.4418666499999858 + }, + { + "size": 80, + "density": 0.2, + "avgSolved": 0, + "minSolved": 0, + "maxSolved": 0, + "avgTime": 0.7795667999999978 + }, + { + "size": 80, + "density": 0.3, + "avgSolved": 0, + "minSolved": 0, + "maxSolved": 0, + "avgTime": 1.0745101999999747 + }, + { + "size": 80, + "density": 0.4, + "avgSolved": 0, + "minSolved": 0, + "maxSolved": 0, + "avgTime": 1.3407041500000105 + }, + { + "size": 80, + "density": 0.5, + "avgSolved": 0.0125, + "minSolved": 0, + "maxSolved": 0.078125, + "avgTime": 1.9724897000000283 + }, + { + "size": 80, + "density": 0.6, + "avgSolved": 1.21484375, + "minSolved": 0.40625, + "maxSolved": 2.296875, + "avgTime": 3.9163123999999927 + }, + { + "size": 80, + "density": 0.7, + "avgSolved": 99.978125, + "minSolved": 99.9375, + "maxSolved": 100, + "avgTime": 7.790070799999967 + }, + { + "size": 80, + "density": 0.8, + "avgSolved": 100, + "minSolved": 100, + "maxSolved": 100, + "avgTime": 3.1350061999999754 + }, + { + "size": 80, + "density": 0.9, + "avgSolved": 100, + "minSolved": 100, + "maxSolved": 100, + "avgTime": 1.3134414999999535 + } +] \ No newline at end of file diff --git a/scripts/add_simulation_translations.cjs b/scripts/add_simulation_translations.cjs new file mode 100644 index 0000000..0b2e1f7 --- /dev/null +++ b/scripts/add_simulation_translations.cjs @@ -0,0 +1,61 @@ +const fs = require('fs'); +const path = require('path'); + +const filePath = path.join(__dirname, '../src/composables/useI18n.js'); +let content = fs.readFileSync(filePath, 'utf8'); + +const newKeys = { + 'custom.simulationHelp': 'How is this calculated?', + 'custom.hideMap': 'Hide difficulty map', + 'custom.showMap': 'Show difficulty map', + 'simulation.title': 'Difficulty Simulation', + 'simulation.status.ready': 'Ready', + 'simulation.status.stopped': 'Stopped', + 'simulation.status.completed': 'Completed', + 'simulation.status.simulating': 'Simulating {size}x{size} @ {density}%', + 'simulation.start': 'Start Simulation', + 'simulation.stop': 'Stop', + 'simulation.table.size': 'Size', + 'simulation.table.density': 'Density', + 'simulation.table.solved': 'Solved (Logic)', + 'simulation.empty': 'Press Start to run Monte Carlo simulation' +}; + +const lines = content.split('\n'); +const processedLines = []; +let currentLang = null; + +for (let i = 0; i < lines.length; i++) { + let line = lines[i]; + + // Detect start of language block + const startMatch = line.match(/^\s{2}(['"]?[\w-]+['"]?): \{/); + if (startMatch) { + currentLang = startMatch[1].replace(/['"]/g, ''); + } + + // Detect end of language block + if (currentLang && (line.trim() === '},' || line.trim() === '}')) { + if (currentLang !== 'pl' && currentLang !== 'en') { + // Ensure previous line has comma + if (processedLines.length > 0) { + let lastLine = processedLines[processedLines.length - 1]; + if (!lastLine.trim().endsWith(',') && !lastLine.trim().endsWith('{')) { + processedLines[processedLines.length - 1] = lastLine + ','; + } + } + + // Append new keys + Object.entries(newKeys).forEach(([key, value]) => { + processedLines.push(` '${key}': '${value}',`); + }); + } + currentLang = null; + } + + processedLines.push(line); +} + +const finalContent = processedLines.join('\n'); +fs.writeFileSync(filePath, finalContent); +console.log('Successfully added simulation translations to all languages.'); diff --git a/scripts/add_simulation_translations.js b/scripts/add_simulation_translations.js new file mode 100644 index 0000000..b0c657e --- /dev/null +++ b/scripts/add_simulation_translations.js @@ -0,0 +1,97 @@ + +const fs = require('fs'); +const path = require('path'); + +const filePath = path.join(__dirname, '../src/composables/useI18n.js'); +let content = fs.readFileSync(filePath, 'utf8'); + +const newKeys = { + 'custom.simulationHelp': 'How is this calculated?', + 'simulation.title': 'Difficulty Simulation', + 'simulation.status.ready': 'Ready', + 'simulation.status.stopped': 'Stopped', + 'simulation.status.completed': 'Completed', + 'simulation.status.simulating': 'Simulating {size}x{size} @ {density}%', + 'simulation.start': 'Start Simulation', + 'simulation.stop': 'Stop', + 'simulation.table.size': 'Size', + 'simulation.table.density': 'Density', + 'simulation.table.solved': 'Solved (Logic)', + 'simulation.empty': 'Press Start to run Monte Carlo simulation' +}; + +// Regex to match the end of a language block +// Matches " }," or " }" at the start of a line +const blockEndRegex = /^(\s{2})\},?$/gm; + +let newContent = content.replace(blockEndRegex, (match, indent, offset) => { + // Determine which language we are closing + const precedingText = content.substring(0, offset); + const langMatch = precedingText.match(/^\s{2}(\w+([-]\w+)?): \{/gm); + + if (!langMatch) return match; + const currentLangLine = langMatch[langMatch.length - 1]; + const currentLang = currentLangLine.match(/^\s{2}(\w+([-]\w+)?): \{/)[1]; + + // Skip pl and en as they are already updated + if (currentLang === 'pl' || currentLang === 'en') { + return match; + } + + // Check if the previous line has a comma + // We need to look at the lines before the match + // This is tricky with replace callback. + // Easier strategy: Just insert the keys. + // If the file is well formatted, the last item might or might not have a comma. + // But we can ensure *our* inserted block starts with a comma if needed? + // No, standard JS objects need comma after previous item. + + // Let's assume we simply inject before the closing brace. + // We'll add a comma to the previous line if it doesn't have one? + // That's hard with regex replace on the closing brace only. + + // Alternative: Split by lines and process. + return match; // Placeholder, we will process by lines below. +}); + +const lines = content.split('\n'); +const processedLines = []; +let currentLang = null; + +for (let i = 0; i < lines.length; i++) { + let line = lines[i]; + + // Detect start of language block + const startMatch = line.match(/^\s{2}(['"]?[\w-]+['"]?): \{/); + if (startMatch) { + currentLang = startMatch[1].replace(/['"]/g, ''); + } + + // Detect end of language block + if (currentLang && (line.trim() === '},' || line.trim() === '}')) { + if (currentLang !== 'pl' && currentLang !== 'en') { + // Ensure previous line has comma + if (processedLines.length > 0) { + let lastLine = processedLines[processedLines.length - 1]; + if (!lastLine.trim().endsWith(',') && !lastLine.trim().endsWith('{')) { + processedLines[processedLines.length - 1] = lastLine + ','; + } + } + + // Append new keys + Object.entries(newKeys).forEach(([key, value]) => { + processedLines.push(` '${key}': '${value}',`); + }); + + // Remove trailing comma from last inserted item if we want strictly JSON-like (but JS allows it) + // It's fine to leave it. + } + currentLang = null; + } + + processedLines.push(line); +} + +const finalContent = processedLines.join('\n'); +fs.writeFileSync(filePath, finalContent); +console.log('Successfully added simulation translations to all languages.'); diff --git a/src/components/CustomGameModal.vue b/src/components/CustomGameModal.vue index 178e260..77fd2aa 100644 --- a/src/components/CustomGameModal.vue +++ b/src/components/CustomGameModal.vue @@ -305,7 +305,7 @@ const confirm = () => {
diff --git a/src/composables/useI18n.js b/src/composables/useI18n.js index c0b885e..52c6328 100644 --- a/src/composables/useI18n.js +++ b/src/composables/useI18n.js @@ -289,7 +289,9 @@ const messages = { 'simulation.table.size': 'Size', 'simulation.table.density': 'Density', 'simulation.table.solved': 'Solved (Logic)', - 'simulation.empty': 'Press Start to run Monte Carlo simulation' + 'simulation.empty': 'Press Start to run Monte Carlo simulation', + 'custom.hideMap': 'Hide difficulty map', + 'custom.showMap': 'Show difficulty map' }, zh: { 'app.title': 'Nonograms', @@ -364,7 +366,21 @@ const messages = { 'language.searchLabel': '搜索语言', 'language.searchPlaceholder': '输入语言名称...', 'nav.newGame': '新游戏', - 'nav.guide': '指南' + 'nav.guide': '指南', + 'custom.simulationHelp': 'How is this calculated?', + 'custom.hideMap': 'Hide difficulty map', + 'custom.showMap': 'Show difficulty map', + 'simulation.title': 'Difficulty Simulation', + 'simulation.status.ready': 'Ready', + 'simulation.status.stopped': 'Stopped', + 'simulation.status.completed': 'Completed', + 'simulation.status.simulating': 'Simulating {size}x{size} @ {density}%', + 'simulation.start': 'Start Simulation', + 'simulation.stop': 'Stop', + 'simulation.table.size': 'Size', + 'simulation.table.density': 'Density', + 'simulation.table.solved': 'Solved (Logic)', + 'simulation.empty': 'Press Start to run Monte Carlo simulation', }, 'zh-hant': { 'app.title': 'Nonograms', @@ -431,7 +447,21 @@ const messages = { 'language.searchLabel': '搜尋語言', 'language.searchPlaceholder': '輸入語言名稱...', 'nav.newGame': '新遊戲', - 'nav.guide': '指南' + 'nav.guide': '指南', + 'custom.simulationHelp': 'How is this calculated?', + 'custom.hideMap': 'Hide difficulty map', + 'custom.showMap': 'Show difficulty map', + 'simulation.title': 'Difficulty Simulation', + 'simulation.status.ready': 'Ready', + 'simulation.status.stopped': 'Stopped', + 'simulation.status.completed': 'Completed', + 'simulation.status.simulating': 'Simulating {size}x{size} @ {density}%', + 'simulation.start': 'Start Simulation', + 'simulation.stop': 'Stop', + 'simulation.table.size': 'Size', + 'simulation.table.density': 'Density', + 'simulation.table.solved': 'Solved (Logic)', + 'simulation.empty': 'Press Start to run Monte Carlo simulation', }, hi: { 'app.title': 'Nonograms', @@ -497,7 +527,21 @@ const messages = { 'language.searchLabel': 'भाषा खोजें', 'language.searchPlaceholder': 'भाषा का नाम लिखें...', 'nav.newGame': 'नया खेल', - 'nav.guide': 'गाइड' + 'nav.guide': 'गाइड', + 'custom.simulationHelp': 'How is this calculated?', + 'custom.hideMap': 'Hide difficulty map', + 'custom.showMap': 'Show difficulty map', + 'simulation.title': 'Difficulty Simulation', + 'simulation.status.ready': 'Ready', + 'simulation.status.stopped': 'Stopped', + 'simulation.status.completed': 'Completed', + 'simulation.status.simulating': 'Simulating {size}x{size} @ {density}%', + 'simulation.start': 'Start Simulation', + 'simulation.stop': 'Stop', + 'simulation.table.size': 'Size', + 'simulation.table.density': 'Density', + 'simulation.table.solved': 'Solved (Logic)', + 'simulation.empty': 'Press Start to run Monte Carlo simulation', }, es: { 'app.title': 'Nonograms', @@ -571,7 +615,21 @@ const messages = { 'language.searchLabel': 'Buscar idioma', 'language.searchPlaceholder': 'Escribe el nombre del idioma...', 'nav.newGame': 'NUEVO JUEGO', - 'nav.guide': 'GUÍA' + 'nav.guide': 'GUÍA', + 'custom.simulationHelp': 'How is this calculated?', + 'custom.hideMap': 'Hide difficulty map', + 'custom.showMap': 'Show difficulty map', + 'simulation.title': 'Difficulty Simulation', + 'simulation.status.ready': 'Ready', + 'simulation.status.stopped': 'Stopped', + 'simulation.status.completed': 'Completed', + 'simulation.status.simulating': 'Simulating {size}x{size} @ {density}%', + 'simulation.start': 'Start Simulation', + 'simulation.stop': 'Stop', + 'simulation.table.size': 'Size', + 'simulation.table.density': 'Density', + 'simulation.table.solved': 'Solved (Logic)', + 'simulation.empty': 'Press Start to run Monte Carlo simulation', }, fr: { 'app.title': 'Nonograms', @@ -645,7 +703,21 @@ const messages = { 'language.searchLabel': 'Rechercher une langue', 'language.searchPlaceholder': 'Tapez le nom de la langue...', 'nav.newGame': 'NOUVEAU JEU', - 'nav.guide': 'GUIDE' + 'nav.guide': 'GUIDE', + 'custom.simulationHelp': 'How is this calculated?', + 'custom.hideMap': 'Hide difficulty map', + 'custom.showMap': 'Show difficulty map', + 'simulation.title': 'Difficulty Simulation', + 'simulation.status.ready': 'Ready', + 'simulation.status.stopped': 'Stopped', + 'simulation.status.completed': 'Completed', + 'simulation.status.simulating': 'Simulating {size}x{size} @ {density}%', + 'simulation.start': 'Start Simulation', + 'simulation.stop': 'Stop', + 'simulation.table.size': 'Size', + 'simulation.table.density': 'Density', + 'simulation.table.solved': 'Solved (Logic)', + 'simulation.empty': 'Press Start to run Monte Carlo simulation', }, ar: { 'app.title': 'Nonograms', @@ -719,7 +791,21 @@ const messages = { 'language.searchLabel': 'ابحث عن لغة', 'language.searchPlaceholder': 'اكتب اسم اللغة...', 'nav.newGame': 'لعبة جديدة', - 'nav.guide': 'دليل' + 'nav.guide': 'دليل', + 'custom.simulationHelp': 'How is this calculated?', + 'custom.hideMap': 'Hide difficulty map', + 'custom.showMap': 'Show difficulty map', + 'simulation.title': 'Difficulty Simulation', + 'simulation.status.ready': 'Ready', + 'simulation.status.stopped': 'Stopped', + 'simulation.status.completed': 'Completed', + 'simulation.status.simulating': 'Simulating {size}x{size} @ {density}%', + 'simulation.start': 'Start Simulation', + 'simulation.stop': 'Stop', + 'simulation.table.size': 'Size', + 'simulation.table.density': 'Density', + 'simulation.table.solved': 'Solved (Logic)', + 'simulation.empty': 'Press Start to run Monte Carlo simulation', }, bn: { 'app.title': 'Nonograms', @@ -785,7 +871,21 @@ const messages = { 'language.searchLabel': 'ভাষা অনুসন্ধান করুন', 'language.searchPlaceholder': 'ভাষার নাম লিখুন...', 'nav.newGame': 'নতুন খেলা', - 'nav.guide': 'নির্দেশিকা' + 'nav.guide': 'নির্দেশিকা', + 'custom.simulationHelp': 'How is this calculated?', + 'custom.hideMap': 'Hide difficulty map', + 'custom.showMap': 'Show difficulty map', + 'simulation.title': 'Difficulty Simulation', + 'simulation.status.ready': 'Ready', + 'simulation.status.stopped': 'Stopped', + 'simulation.status.completed': 'Completed', + 'simulation.status.simulating': 'Simulating {size}x{size} @ {density}%', + 'simulation.start': 'Start Simulation', + 'simulation.stop': 'Stop', + 'simulation.table.size': 'Size', + 'simulation.table.density': 'Density', + 'simulation.table.solved': 'Solved (Logic)', + 'simulation.empty': 'Press Start to run Monte Carlo simulation', }, ru: { 'app.title': 'Nonograms', @@ -859,7 +959,21 @@ const messages = { 'language.searchLabel': 'Поиск языка', 'language.searchPlaceholder': 'Введите название языка...', 'nav.newGame': 'НОВАЯ ИГРА', - 'nav.guide': 'РУКОВОДСТВО' + 'nav.guide': 'РУКОВОДСТВО', + 'custom.simulationHelp': 'How is this calculated?', + 'custom.hideMap': 'Hide difficulty map', + 'custom.showMap': 'Show difficulty map', + 'simulation.title': 'Difficulty Simulation', + 'simulation.status.ready': 'Ready', + 'simulation.status.stopped': 'Stopped', + 'simulation.status.completed': 'Completed', + 'simulation.status.simulating': 'Simulating {size}x{size} @ {density}%', + 'simulation.start': 'Start Simulation', + 'simulation.stop': 'Stop', + 'simulation.table.size': 'Size', + 'simulation.table.density': 'Density', + 'simulation.table.solved': 'Solved (Logic)', + 'simulation.empty': 'Press Start to run Monte Carlo simulation', }, pt: { 'app.title': 'Nonograms', @@ -925,7 +1039,21 @@ const messages = { 'language.searchLabel': 'Buscar idioma', 'language.searchPlaceholder': 'Digite o nome do idioma...', 'nav.newGame': 'NOVO JOGO', - 'nav.guide': 'GUIA' + 'nav.guide': 'GUIA', + 'custom.simulationHelp': 'How is this calculated?', + 'custom.hideMap': 'Hide difficulty map', + 'custom.showMap': 'Show difficulty map', + 'simulation.title': 'Difficulty Simulation', + 'simulation.status.ready': 'Ready', + 'simulation.status.stopped': 'Stopped', + 'simulation.status.completed': 'Completed', + 'simulation.status.simulating': 'Simulating {size}x{size} @ {density}%', + 'simulation.start': 'Start Simulation', + 'simulation.stop': 'Stop', + 'simulation.table.size': 'Size', + 'simulation.table.density': 'Density', + 'simulation.table.solved': 'Solved (Logic)', + 'simulation.empty': 'Press Start to run Monte Carlo simulation', }, ur: { 'app.title': 'Nonograms', @@ -991,7 +1119,21 @@ const messages = { 'language.searchLabel': 'زبان تلاش کریں', 'language.searchPlaceholder': 'زبان کا نام درج کریں...', 'nav.newGame': 'نیا کھیل', - 'nav.guide': 'رہنما' + 'nav.guide': 'رہنما', + 'custom.simulationHelp': 'How is this calculated?', + 'custom.hideMap': 'Hide difficulty map', + 'custom.showMap': 'Show difficulty map', + 'simulation.title': 'Difficulty Simulation', + 'simulation.status.ready': 'Ready', + 'simulation.status.stopped': 'Stopped', + 'simulation.status.completed': 'Completed', + 'simulation.status.simulating': 'Simulating {size}x{size} @ {density}%', + 'simulation.start': 'Start Simulation', + 'simulation.stop': 'Stop', + 'simulation.table.size': 'Size', + 'simulation.table.density': 'Density', + 'simulation.table.solved': 'Solved (Logic)', + 'simulation.empty': 'Press Start to run Monte Carlo simulation', } , de: { @@ -1066,7 +1208,21 @@ const messages = { 'language.searchLabel': 'Sprache suchen', 'language.searchPlaceholder': 'Sprachname eingeben...', 'nav.newGame': 'NEUES SPIEL', - 'nav.guide': 'ANLEITUNG' + 'nav.guide': 'ANLEITUNG', + 'custom.simulationHelp': 'How is this calculated?', + 'custom.hideMap': 'Hide difficulty map', + 'custom.showMap': 'Show difficulty map', + 'simulation.title': 'Difficulty Simulation', + 'simulation.status.ready': 'Ready', + 'simulation.status.stopped': 'Stopped', + 'simulation.status.completed': 'Completed', + 'simulation.status.simulating': 'Simulating {size}x{size} @ {density}%', + 'simulation.start': 'Start Simulation', + 'simulation.stop': 'Stop', + 'simulation.table.size': 'Size', + 'simulation.table.density': 'Density', + 'simulation.table.solved': 'Solved (Logic)', + 'simulation.empty': 'Press Start to run Monte Carlo simulation', }, it: { 'app.title': 'Nonograms', @@ -1132,7 +1288,21 @@ const messages = { 'language.searchLabel': 'Cerca lingua', 'language.searchPlaceholder': 'Digita nome della lingua...', 'nav.newGame': 'NUOVO GIOCO', - 'nav.guide': 'GUIDA' + 'nav.guide': 'GUIDA', + 'custom.simulationHelp': 'How is this calculated?', + 'custom.hideMap': 'Hide difficulty map', + 'custom.showMap': 'Show difficulty map', + 'simulation.title': 'Difficulty Simulation', + 'simulation.status.ready': 'Ready', + 'simulation.status.stopped': 'Stopped', + 'simulation.status.completed': 'Completed', + 'simulation.status.simulating': 'Simulating {size}x{size} @ {density}%', + 'simulation.start': 'Start Simulation', + 'simulation.stop': 'Stop', + 'simulation.table.size': 'Size', + 'simulation.table.density': 'Density', + 'simulation.table.solved': 'Solved (Logic)', + 'simulation.empty': 'Press Start to run Monte Carlo simulation', }, nl: { 'app.title': 'Nonograms', @@ -1198,7 +1368,21 @@ const messages = { 'language.searchLabel': 'Zoek taal', 'language.searchPlaceholder': 'Voer taalnaam in...', 'nav.newGame': 'NIEUW SPEL', - 'nav.guide': 'HANDLEIDING' + 'nav.guide': 'HANDLEIDING', + 'custom.simulationHelp': 'How is this calculated?', + 'custom.hideMap': 'Hide difficulty map', + 'custom.showMap': 'Show difficulty map', + 'simulation.title': 'Difficulty Simulation', + 'simulation.status.ready': 'Ready', + 'simulation.status.stopped': 'Stopped', + 'simulation.status.completed': 'Completed', + 'simulation.status.simulating': 'Simulating {size}x{size} @ {density}%', + 'simulation.start': 'Start Simulation', + 'simulation.stop': 'Stop', + 'simulation.table.size': 'Size', + 'simulation.table.density': 'Density', + 'simulation.table.solved': 'Solved (Logic)', + 'simulation.empty': 'Press Start to run Monte Carlo simulation', }, sv: { 'app.title': 'Nonograms', @@ -1253,7 +1437,21 @@ const messages = { 'language.searchLabel': 'Sök språk', 'language.searchPlaceholder': 'Skriv språknamn...', 'nav.newGame': 'NYTT SPEL', - 'nav.guide': 'GUIDE' + 'nav.guide': 'GUIDE', + 'custom.simulationHelp': 'How is this calculated?', + 'custom.hideMap': 'Hide difficulty map', + 'custom.showMap': 'Show difficulty map', + 'simulation.title': 'Difficulty Simulation', + 'simulation.status.ready': 'Ready', + 'simulation.status.stopped': 'Stopped', + 'simulation.status.completed': 'Completed', + 'simulation.status.simulating': 'Simulating {size}x{size} @ {density}%', + 'simulation.start': 'Start Simulation', + 'simulation.stop': 'Stop', + 'simulation.table.size': 'Size', + 'simulation.table.density': 'Density', + 'simulation.table.solved': 'Solved (Logic)', + 'simulation.empty': 'Press Start to run Monte Carlo simulation', }, da: { 'app.title': 'Nonograms', @@ -1308,7 +1506,21 @@ const messages = { 'language.searchLabel': 'Søg efter sprog', 'language.searchPlaceholder': 'Skriv sprogets navn...', 'nav.newGame': 'NYT SPIL', - 'nav.guide': 'VEJLEDNING' + 'nav.guide': 'VEJLEDNING', + 'custom.simulationHelp': 'How is this calculated?', + 'custom.hideMap': 'Hide difficulty map', + 'custom.showMap': 'Show difficulty map', + 'simulation.title': 'Difficulty Simulation', + 'simulation.status.ready': 'Ready', + 'simulation.status.stopped': 'Stopped', + 'simulation.status.completed': 'Completed', + 'simulation.status.simulating': 'Simulating {size}x{size} @ {density}%', + 'simulation.start': 'Start Simulation', + 'simulation.stop': 'Stop', + 'simulation.table.size': 'Size', + 'simulation.table.density': 'Density', + 'simulation.table.solved': 'Solved (Logic)', + 'simulation.empty': 'Press Start to run Monte Carlo simulation', }, fi: { 'app.title': 'Nonograms', @@ -1363,7 +1575,21 @@ const messages = { 'language.searchLabel': 'Etsi kieltä', 'language.searchPlaceholder': 'Kirjoita kielen nimi...', 'nav.newGame': 'UUSI PELI', - 'nav.guide': 'OPAS' + 'nav.guide': 'OPAS', + 'custom.simulationHelp': 'How is this calculated?', + 'custom.hideMap': 'Hide difficulty map', + 'custom.showMap': 'Show difficulty map', + 'simulation.title': 'Difficulty Simulation', + 'simulation.status.ready': 'Ready', + 'simulation.status.stopped': 'Stopped', + 'simulation.status.completed': 'Completed', + 'simulation.status.simulating': 'Simulating {size}x{size} @ {density}%', + 'simulation.start': 'Start Simulation', + 'simulation.stop': 'Stop', + 'simulation.table.size': 'Size', + 'simulation.table.density': 'Density', + 'simulation.table.solved': 'Solved (Logic)', + 'simulation.empty': 'Press Start to run Monte Carlo simulation', }, no: { 'app.title': 'Nonograms', @@ -1418,7 +1644,21 @@ const messages = { 'language.searchLabel': 'Søk etter språk', 'language.searchPlaceholder': 'Skriv språknavn...', 'nav.newGame': 'NYTT SPILL', - 'nav.guide': 'VEILEDER' + 'nav.guide': 'VEILEDER', + 'custom.simulationHelp': 'How is this calculated?', + 'custom.hideMap': 'Hide difficulty map', + 'custom.showMap': 'Show difficulty map', + 'simulation.title': 'Difficulty Simulation', + 'simulation.status.ready': 'Ready', + 'simulation.status.stopped': 'Stopped', + 'simulation.status.completed': 'Completed', + 'simulation.status.simulating': 'Simulating {size}x{size} @ {density}%', + 'simulation.start': 'Start Simulation', + 'simulation.stop': 'Stop', + 'simulation.table.size': 'Size', + 'simulation.table.density': 'Density', + 'simulation.table.solved': 'Solved (Logic)', + 'simulation.empty': 'Press Start to run Monte Carlo simulation', }, cs: { 'app.title': 'Nonograms', @@ -1473,7 +1713,21 @@ const messages = { 'language.searchLabel': 'Hledat jazyk', 'language.searchPlaceholder': 'Zadejte název jazyka...', 'nav.newGame': 'NOVÁ HRA', - 'nav.guide': 'NÁVOD' + 'nav.guide': 'NÁVOD', + 'custom.simulationHelp': 'How is this calculated?', + 'custom.hideMap': 'Hide difficulty map', + 'custom.showMap': 'Show difficulty map', + 'simulation.title': 'Difficulty Simulation', + 'simulation.status.ready': 'Ready', + 'simulation.status.stopped': 'Stopped', + 'simulation.status.completed': 'Completed', + 'simulation.status.simulating': 'Simulating {size}x{size} @ {density}%', + 'simulation.start': 'Start Simulation', + 'simulation.stop': 'Stop', + 'simulation.table.size': 'Size', + 'simulation.table.density': 'Density', + 'simulation.table.solved': 'Solved (Logic)', + 'simulation.empty': 'Press Start to run Monte Carlo simulation', }, sk: { 'app.title': 'Nonograms', @@ -1528,7 +1782,21 @@ const messages = { 'language.searchLabel': 'Hľadať jazyk', 'language.searchPlaceholder': 'Zadajte názov jazyka...', 'nav.newGame': 'NOVÁ HRA', - 'nav.guide': 'NÁVOD' + 'nav.guide': 'NÁVOD', + 'custom.simulationHelp': 'How is this calculated?', + 'custom.hideMap': 'Hide difficulty map', + 'custom.showMap': 'Show difficulty map', + 'simulation.title': 'Difficulty Simulation', + 'simulation.status.ready': 'Ready', + 'simulation.status.stopped': 'Stopped', + 'simulation.status.completed': 'Completed', + 'simulation.status.simulating': 'Simulating {size}x{size} @ {density}%', + 'simulation.start': 'Start Simulation', + 'simulation.stop': 'Stop', + 'simulation.table.size': 'Size', + 'simulation.table.density': 'Density', + 'simulation.table.solved': 'Solved (Logic)', + 'simulation.empty': 'Press Start to run Monte Carlo simulation', }, hu: { 'app.title': 'Nonograms', @@ -1583,7 +1851,21 @@ const messages = { 'language.searchLabel': 'Nyelv keresése', 'language.searchPlaceholder': 'Írd be a nyelv nevét...', 'nav.newGame': 'ÚJ JÁTÉK', - 'nav.guide': 'ÚTMUTATÓ' + 'nav.guide': 'ÚTMUTATÓ', + 'custom.simulationHelp': 'How is this calculated?', + 'custom.hideMap': 'Hide difficulty map', + 'custom.showMap': 'Show difficulty map', + 'simulation.title': 'Difficulty Simulation', + 'simulation.status.ready': 'Ready', + 'simulation.status.stopped': 'Stopped', + 'simulation.status.completed': 'Completed', + 'simulation.status.simulating': 'Simulating {size}x{size} @ {density}%', + 'simulation.start': 'Start Simulation', + 'simulation.stop': 'Stop', + 'simulation.table.size': 'Size', + 'simulation.table.density': 'Density', + 'simulation.table.solved': 'Solved (Logic)', + 'simulation.empty': 'Press Start to run Monte Carlo simulation', }, ro: { 'app.title': 'Nonograms', @@ -1638,7 +1920,21 @@ const messages = { 'language.searchLabel': 'Caută limbă', 'language.searchPlaceholder': 'Introduceți numele limbii...', 'nav.newGame': 'JOC NOU', - 'nav.guide': 'GHID' + 'nav.guide': 'GHID', + 'custom.simulationHelp': 'How is this calculated?', + 'custom.hideMap': 'Hide difficulty map', + 'custom.showMap': 'Show difficulty map', + 'simulation.title': 'Difficulty Simulation', + 'simulation.status.ready': 'Ready', + 'simulation.status.stopped': 'Stopped', + 'simulation.status.completed': 'Completed', + 'simulation.status.simulating': 'Simulating {size}x{size} @ {density}%', + 'simulation.start': 'Start Simulation', + 'simulation.stop': 'Stop', + 'simulation.table.size': 'Size', + 'simulation.table.density': 'Density', + 'simulation.table.solved': 'Solved (Logic)', + 'simulation.empty': 'Press Start to run Monte Carlo simulation', }, bg: { 'app.title': 'Nonograms', @@ -1693,7 +1989,21 @@ const messages = { 'language.searchLabel': 'Търсене на език', 'language.searchPlaceholder': 'Въведете име на език...', 'nav.newGame': 'НОВА ИГРА', - 'nav.guide': 'РЪКОВОДСТВО' + 'nav.guide': 'РЪКОВОДСТВО', + 'custom.simulationHelp': 'How is this calculated?', + 'custom.hideMap': 'Hide difficulty map', + 'custom.showMap': 'Show difficulty map', + 'simulation.title': 'Difficulty Simulation', + 'simulation.status.ready': 'Ready', + 'simulation.status.stopped': 'Stopped', + 'simulation.status.completed': 'Completed', + 'simulation.status.simulating': 'Simulating {size}x{size} @ {density}%', + 'simulation.start': 'Start Simulation', + 'simulation.stop': 'Stop', + 'simulation.table.size': 'Size', + 'simulation.table.density': 'Density', + 'simulation.table.solved': 'Solved (Logic)', + 'simulation.empty': 'Press Start to run Monte Carlo simulation', }, el: { 'app.title': 'Nonograms', @@ -1748,7 +2058,21 @@ const messages = { 'language.searchLabel': 'Αναζήτηση γλώσσας', 'language.searchPlaceholder': 'Πληκτρολογήστε όνομα γλώσσας...', 'nav.newGame': 'ΝΕΟ ΠΑΙΧΝΙΔΙ', - 'nav.guide': 'ΟΔΗΓΟΣ' + 'nav.guide': 'ΟΔΗΓΟΣ', + 'custom.simulationHelp': 'How is this calculated?', + 'custom.hideMap': 'Hide difficulty map', + 'custom.showMap': 'Show difficulty map', + 'simulation.title': 'Difficulty Simulation', + 'simulation.status.ready': 'Ready', + 'simulation.status.stopped': 'Stopped', + 'simulation.status.completed': 'Completed', + 'simulation.status.simulating': 'Simulating {size}x{size} @ {density}%', + 'simulation.start': 'Start Simulation', + 'simulation.stop': 'Stop', + 'simulation.table.size': 'Size', + 'simulation.table.density': 'Density', + 'simulation.table.solved': 'Solved (Logic)', + 'simulation.empty': 'Press Start to run Monte Carlo simulation', }, uk: { 'app.title': 'Nonograms', @@ -1803,7 +2127,21 @@ const messages = { 'language.searchLabel': 'Пошук мови', 'language.searchPlaceholder': 'Введіть назву мови...', 'nav.newGame': 'НОВА ГРА', - 'nav.guide': 'ІНСТРУКЦІЯ' + 'nav.guide': 'ІНСТРУКЦІЯ', + 'custom.simulationHelp': 'How is this calculated?', + 'custom.hideMap': 'Hide difficulty map', + 'custom.showMap': 'Show difficulty map', + 'simulation.title': 'Difficulty Simulation', + 'simulation.status.ready': 'Ready', + 'simulation.status.stopped': 'Stopped', + 'simulation.status.completed': 'Completed', + 'simulation.status.simulating': 'Simulating {size}x{size} @ {density}%', + 'simulation.start': 'Start Simulation', + 'simulation.stop': 'Stop', + 'simulation.table.size': 'Size', + 'simulation.table.density': 'Density', + 'simulation.table.solved': 'Solved (Logic)', + 'simulation.empty': 'Press Start to run Monte Carlo simulation', }, be: { 'app.title': 'Nonograms', @@ -1858,7 +2196,21 @@ const messages = { 'language.searchLabel': 'Пошук мовы', 'language.searchPlaceholder': 'Увядзіце назву мовы...', 'nav.newGame': 'НОВАЯ ГУЛЬНЯ', - 'nav.guide': 'КІРАЎНІЦТВА' + 'nav.guide': 'КІРАЎНІЦТВА', + 'custom.simulationHelp': 'How is this calculated?', + 'custom.hideMap': 'Hide difficulty map', + 'custom.showMap': 'Show difficulty map', + 'simulation.title': 'Difficulty Simulation', + 'simulation.status.ready': 'Ready', + 'simulation.status.stopped': 'Stopped', + 'simulation.status.completed': 'Completed', + 'simulation.status.simulating': 'Simulating {size}x{size} @ {density}%', + 'simulation.start': 'Start Simulation', + 'simulation.stop': 'Stop', + 'simulation.table.size': 'Size', + 'simulation.table.density': 'Density', + 'simulation.table.solved': 'Solved (Logic)', + 'simulation.empty': 'Press Start to run Monte Carlo simulation', }, sr: { 'app.title': 'Nonograms', @@ -1913,7 +2265,21 @@ const messages = { 'language.searchLabel': 'Претрага језика', 'language.searchPlaceholder': 'Унесите назив језика...', 'nav.newGame': 'НОВА ИГРА', - 'nav.guide': 'ВОДИЧ' + 'nav.guide': 'ВОДИЧ', + 'custom.simulationHelp': 'How is this calculated?', + 'custom.hideMap': 'Hide difficulty map', + 'custom.showMap': 'Show difficulty map', + 'simulation.title': 'Difficulty Simulation', + 'simulation.status.ready': 'Ready', + 'simulation.status.stopped': 'Stopped', + 'simulation.status.completed': 'Completed', + 'simulation.status.simulating': 'Simulating {size}x{size} @ {density}%', + 'simulation.start': 'Start Simulation', + 'simulation.stop': 'Stop', + 'simulation.table.size': 'Size', + 'simulation.table.density': 'Density', + 'simulation.table.solved': 'Solved (Logic)', + 'simulation.empty': 'Press Start to run Monte Carlo simulation', }, hr: { 'app.title': 'Nonograms', @@ -1968,7 +2334,21 @@ const messages = { 'language.searchLabel': 'Pretraži jezik', 'language.searchPlaceholder': 'Unesite naziv jezika...', 'nav.newGame': 'NOVA IGRA', - 'nav.guide': 'VODIČ' + 'nav.guide': 'VODIČ', + 'custom.simulationHelp': 'How is this calculated?', + 'custom.hideMap': 'Hide difficulty map', + 'custom.showMap': 'Show difficulty map', + 'simulation.title': 'Difficulty Simulation', + 'simulation.status.ready': 'Ready', + 'simulation.status.stopped': 'Stopped', + 'simulation.status.completed': 'Completed', + 'simulation.status.simulating': 'Simulating {size}x{size} @ {density}%', + 'simulation.start': 'Start Simulation', + 'simulation.stop': 'Stop', + 'simulation.table.size': 'Size', + 'simulation.table.density': 'Density', + 'simulation.table.solved': 'Solved (Logic)', + 'simulation.empty': 'Press Start to run Monte Carlo simulation', }, sl: { 'app.title': 'Nonograms', @@ -2023,7 +2403,21 @@ const messages = { 'language.searchLabel': 'Iskanje jezika', 'language.searchPlaceholder': 'Vnesite ime jezika...', 'nav.newGame': 'NOVA IGRA', - 'nav.guide': 'VODNIK' + 'nav.guide': 'VODNIK', + 'custom.simulationHelp': 'How is this calculated?', + 'custom.hideMap': 'Hide difficulty map', + 'custom.showMap': 'Show difficulty map', + 'simulation.title': 'Difficulty Simulation', + 'simulation.status.ready': 'Ready', + 'simulation.status.stopped': 'Stopped', + 'simulation.status.completed': 'Completed', + 'simulation.status.simulating': 'Simulating {size}x{size} @ {density}%', + 'simulation.start': 'Start Simulation', + 'simulation.stop': 'Stop', + 'simulation.table.size': 'Size', + 'simulation.table.density': 'Density', + 'simulation.table.solved': 'Solved (Logic)', + 'simulation.empty': 'Press Start to run Monte Carlo simulation', }, lt: { 'app.title': 'Nonograms', @@ -2078,7 +2472,21 @@ const messages = { 'language.searchLabel': 'Ieškoti kalbos', 'language.searchPlaceholder': 'Įveskite kalbos pavadinimą...', 'nav.newGame': 'NAUJAS ŽAIDIMAS', - 'nav.guide': 'VADOVAS' + 'nav.guide': 'VADOVAS', + 'custom.simulationHelp': 'How is this calculated?', + 'custom.hideMap': 'Hide difficulty map', + 'custom.showMap': 'Show difficulty map', + 'simulation.title': 'Difficulty Simulation', + 'simulation.status.ready': 'Ready', + 'simulation.status.stopped': 'Stopped', + 'simulation.status.completed': 'Completed', + 'simulation.status.simulating': 'Simulating {size}x{size} @ {density}%', + 'simulation.start': 'Start Simulation', + 'simulation.stop': 'Stop', + 'simulation.table.size': 'Size', + 'simulation.table.density': 'Density', + 'simulation.table.solved': 'Solved (Logic)', + 'simulation.empty': 'Press Start to run Monte Carlo simulation', }, lv: { 'app.title': 'Nonograms', @@ -2133,7 +2541,21 @@ const messages = { 'language.searchLabel': 'Meklēt valodu', 'language.searchPlaceholder': 'Ierakstiet valodas nosaukumu...', 'nav.newGame': 'JAUNA SPĒLE', - 'nav.guide': 'CEĻVEDIS' + 'nav.guide': 'CEĻVEDIS', + 'custom.simulationHelp': 'How is this calculated?', + 'custom.hideMap': 'Hide difficulty map', + 'custom.showMap': 'Show difficulty map', + 'simulation.title': 'Difficulty Simulation', + 'simulation.status.ready': 'Ready', + 'simulation.status.stopped': 'Stopped', + 'simulation.status.completed': 'Completed', + 'simulation.status.simulating': 'Simulating {size}x{size} @ {density}%', + 'simulation.start': 'Start Simulation', + 'simulation.stop': 'Stop', + 'simulation.table.size': 'Size', + 'simulation.table.density': 'Density', + 'simulation.table.solved': 'Solved (Logic)', + 'simulation.empty': 'Press Start to run Monte Carlo simulation', }, et: { 'app.title': 'Nonograms', @@ -2188,7 +2610,21 @@ const messages = { 'language.searchLabel': 'Otsi keelt', 'language.searchPlaceholder': 'Sisesta keele nimi...', 'nav.newGame': 'UUS MÄNG', - 'nav.guide': 'JUHEND' + 'nav.guide': 'JUHEND', + 'custom.simulationHelp': 'How is this calculated?', + 'custom.hideMap': 'Hide difficulty map', + 'custom.showMap': 'Show difficulty map', + 'simulation.title': 'Difficulty Simulation', + 'simulation.status.ready': 'Ready', + 'simulation.status.stopped': 'Stopped', + 'simulation.status.completed': 'Completed', + 'simulation.status.simulating': 'Simulating {size}x{size} @ {density}%', + 'simulation.start': 'Start Simulation', + 'simulation.stop': 'Stop', + 'simulation.table.size': 'Size', + 'simulation.table.density': 'Density', + 'simulation.table.solved': 'Solved (Logic)', + 'simulation.empty': 'Press Start to run Monte Carlo simulation', }, ga: { 'app.title': 'Nonograms', @@ -2243,7 +2679,21 @@ const messages = { 'language.searchLabel': 'Cuardaigh teanga', 'language.searchPlaceholder': 'Iontráil ainm teanga...', 'nav.newGame': 'CLUICHE NUA', - 'nav.guide': 'TREOIR' + 'nav.guide': 'TREOIR', + 'custom.simulationHelp': 'How is this calculated?', + 'custom.hideMap': 'Hide difficulty map', + 'custom.showMap': 'Show difficulty map', + 'simulation.title': 'Difficulty Simulation', + 'simulation.status.ready': 'Ready', + 'simulation.status.stopped': 'Stopped', + 'simulation.status.completed': 'Completed', + 'simulation.status.simulating': 'Simulating {size}x{size} @ {density}%', + 'simulation.start': 'Start Simulation', + 'simulation.stop': 'Stop', + 'simulation.table.size': 'Size', + 'simulation.table.density': 'Density', + 'simulation.table.solved': 'Solved (Logic)', + 'simulation.empty': 'Press Start to run Monte Carlo simulation', }, is: { 'app.title': 'Nonograms', @@ -2298,7 +2748,21 @@ const messages = { 'language.searchLabel': 'Leita að tungumáli', 'language.searchPlaceholder': 'Sláðu inn heiti tungumáls...', 'nav.newGame': 'NÝR LEIKUR', - 'nav.guide': 'LEIÐBEININGAR' + 'nav.guide': 'LEIÐBEININGAR', + 'custom.simulationHelp': 'How is this calculated?', + 'custom.hideMap': 'Hide difficulty map', + 'custom.showMap': 'Show difficulty map', + 'simulation.title': 'Difficulty Simulation', + 'simulation.status.ready': 'Ready', + 'simulation.status.stopped': 'Stopped', + 'simulation.status.completed': 'Completed', + 'simulation.status.simulating': 'Simulating {size}x{size} @ {density}%', + 'simulation.start': 'Start Simulation', + 'simulation.stop': 'Stop', + 'simulation.table.size': 'Size', + 'simulation.table.density': 'Density', + 'simulation.table.solved': 'Solved (Logic)', + 'simulation.empty': 'Press Start to run Monte Carlo simulation', }, mt: { 'app.title': 'Nonograms', @@ -2353,7 +2817,21 @@ const messages = { 'language.searchLabel': 'Fittex lingwa', 'language.searchPlaceholder': 'Daħħal isem il-lingwa...', 'nav.newGame': 'LOGĦBA ĠDIDA', - 'nav.guide': 'GWIDA' + 'nav.guide': 'GWIDA', + 'custom.simulationHelp': 'How is this calculated?', + 'custom.hideMap': 'Hide difficulty map', + 'custom.showMap': 'Show difficulty map', + 'simulation.title': 'Difficulty Simulation', + 'simulation.status.ready': 'Ready', + 'simulation.status.stopped': 'Stopped', + 'simulation.status.completed': 'Completed', + 'simulation.status.simulating': 'Simulating {size}x{size} @ {density}%', + 'simulation.start': 'Start Simulation', + 'simulation.stop': 'Stop', + 'simulation.table.size': 'Size', + 'simulation.table.density': 'Density', + 'simulation.table.solved': 'Solved (Logic)', + 'simulation.empty': 'Press Start to run Monte Carlo simulation', }, sq: { 'app.title': 'Nonograms', @@ -2408,7 +2886,21 @@ const messages = { 'language.searchLabel': 'Kërko gjuhë', 'language.searchPlaceholder': 'Shkruani emrin e gjuhës...', 'nav.newGame': 'LOJË E RE', - 'nav.guide': 'UDHËZUES' + 'nav.guide': 'UDHËZUES', + 'custom.simulationHelp': 'How is this calculated?', + 'custom.hideMap': 'Hide difficulty map', + 'custom.showMap': 'Show difficulty map', + 'simulation.title': 'Difficulty Simulation', + 'simulation.status.ready': 'Ready', + 'simulation.status.stopped': 'Stopped', + 'simulation.status.completed': 'Completed', + 'simulation.status.simulating': 'Simulating {size}x{size} @ {density}%', + 'simulation.start': 'Start Simulation', + 'simulation.stop': 'Stop', + 'simulation.table.size': 'Size', + 'simulation.table.density': 'Density', + 'simulation.table.solved': 'Solved (Logic)', + 'simulation.empty': 'Press Start to run Monte Carlo simulation', }, mk: { 'app.title': 'Nonograms', @@ -2463,7 +2955,21 @@ const messages = { 'language.searchLabel': 'Пребарај јазик', 'language.searchPlaceholder': 'Внесете име на јазик...', 'nav.newGame': 'НОВА ИГРА', - 'nav.guide': 'ВОДИЧ' + 'nav.guide': 'ВОДИЧ', + 'custom.simulationHelp': 'How is this calculated?', + 'custom.hideMap': 'Hide difficulty map', + 'custom.showMap': 'Show difficulty map', + 'simulation.title': 'Difficulty Simulation', + 'simulation.status.ready': 'Ready', + 'simulation.status.stopped': 'Stopped', + 'simulation.status.completed': 'Completed', + 'simulation.status.simulating': 'Simulating {size}x{size} @ {density}%', + 'simulation.start': 'Start Simulation', + 'simulation.stop': 'Stop', + 'simulation.table.size': 'Size', + 'simulation.table.density': 'Density', + 'simulation.table.solved': 'Solved (Logic)', + 'simulation.empty': 'Press Start to run Monte Carlo simulation', }, bs: { 'app.title': 'Nonograms', @@ -2518,7 +3024,21 @@ const messages = { 'language.searchLabel': 'Pretraži jezik', 'language.searchPlaceholder': 'Unesite naziv jezika...', 'nav.newGame': 'NOVA IGRA', - 'nav.guide': 'VODIČ' + 'nav.guide': 'VODIČ', + 'custom.simulationHelp': 'How is this calculated?', + 'custom.hideMap': 'Hide difficulty map', + 'custom.showMap': 'Show difficulty map', + 'simulation.title': 'Difficulty Simulation', + 'simulation.status.ready': 'Ready', + 'simulation.status.stopped': 'Stopped', + 'simulation.status.completed': 'Completed', + 'simulation.status.simulating': 'Simulating {size}x{size} @ {density}%', + 'simulation.start': 'Start Simulation', + 'simulation.stop': 'Stop', + 'simulation.table.size': 'Size', + 'simulation.table.density': 'Density', + 'simulation.table.solved': 'Solved (Logic)', + 'simulation.empty': 'Press Start to run Monte Carlo simulation', }, tr: { 'app.title': 'Nonograms', @@ -2573,7 +3093,21 @@ const messages = { 'language.searchLabel': 'Dil ara', 'language.searchPlaceholder': 'Dil adını yazın...', 'nav.newGame': 'YENİ OYUN', - 'nav.guide': 'REHBER' + 'nav.guide': 'REHBER', + 'custom.simulationHelp': 'How is this calculated?', + 'custom.hideMap': 'Hide difficulty map', + 'custom.showMap': 'Show difficulty map', + 'simulation.title': 'Difficulty Simulation', + 'simulation.status.ready': 'Ready', + 'simulation.status.stopped': 'Stopped', + 'simulation.status.completed': 'Completed', + 'simulation.status.simulating': 'Simulating {size}x{size} @ {density}%', + 'simulation.start': 'Start Simulation', + 'simulation.stop': 'Stop', + 'simulation.table.size': 'Size', + 'simulation.table.density': 'Density', + 'simulation.table.solved': 'Solved (Logic)', + 'simulation.empty': 'Press Start to run Monte Carlo simulation', }, ca: { 'app.title': 'Nonograms', @@ -2628,7 +3162,21 @@ const messages = { 'language.searchLabel': 'Cerca idioma', 'language.searchPlaceholder': 'Escriu el nom de l’idioma...', 'nav.newGame': 'NOVA PARTIDA', - 'nav.guide': 'GUIA' + 'nav.guide': 'GUIA', + 'custom.simulationHelp': 'How is this calculated?', + 'custom.hideMap': 'Hide difficulty map', + 'custom.showMap': 'Show difficulty map', + 'simulation.title': 'Difficulty Simulation', + 'simulation.status.ready': 'Ready', + 'simulation.status.stopped': 'Stopped', + 'simulation.status.completed': 'Completed', + 'simulation.status.simulating': 'Simulating {size}x{size} @ {density}%', + 'simulation.start': 'Start Simulation', + 'simulation.stop': 'Stop', + 'simulation.table.size': 'Size', + 'simulation.table.density': 'Density', + 'simulation.table.solved': 'Solved (Logic)', + 'simulation.empty': 'Press Start to run Monte Carlo simulation', }, gl: { 'app.title': 'Nonograms', @@ -2683,7 +3231,21 @@ const messages = { 'language.searchLabel': 'Buscar idioma', 'language.searchPlaceholder': 'Escribe o nome do idioma...', 'nav.newGame': 'NOVO XOGO', - 'nav.guide': 'GUÍA' + 'nav.guide': 'GUÍA', + 'custom.simulationHelp': 'How is this calculated?', + 'custom.hideMap': 'Hide difficulty map', + 'custom.showMap': 'Show difficulty map', + 'simulation.title': 'Difficulty Simulation', + 'simulation.status.ready': 'Ready', + 'simulation.status.stopped': 'Stopped', + 'simulation.status.completed': 'Completed', + 'simulation.status.simulating': 'Simulating {size}x{size} @ {density}%', + 'simulation.start': 'Start Simulation', + 'simulation.stop': 'Stop', + 'simulation.table.size': 'Size', + 'simulation.table.density': 'Density', + 'simulation.table.solved': 'Solved (Logic)', + 'simulation.empty': 'Press Start to run Monte Carlo simulation', }, cy: { 'app.title': 'Nonograms', @@ -2738,7 +3300,21 @@ const messages = { 'language.searchLabel': 'Chwilio am iaith', 'language.searchPlaceholder': 'Teipiwch enw iaith...', 'nav.newGame': 'GÊM NEWYDD', - 'nav.guide': 'CANLLAW' + 'nav.guide': 'CANLLAW', + 'custom.simulationHelp': 'How is this calculated?', + 'custom.hideMap': 'Hide difficulty map', + 'custom.showMap': 'Show difficulty map', + 'simulation.title': 'Difficulty Simulation', + 'simulation.status.ready': 'Ready', + 'simulation.status.stopped': 'Stopped', + 'simulation.status.completed': 'Completed', + 'simulation.status.simulating': 'Simulating {size}x{size} @ {density}%', + 'simulation.start': 'Start Simulation', + 'simulation.stop': 'Stop', + 'simulation.table.size': 'Size', + 'simulation.table.density': 'Density', + 'simulation.table.solved': 'Solved (Logic)', + 'simulation.empty': 'Press Start to run Monte Carlo simulation', }, gd: { 'app.title': 'Nonograms', @@ -2793,7 +3369,21 @@ const messages = { 'language.searchLabel': 'Lorg cànan', 'language.searchPlaceholder': 'Cuir a-steach ainm cànain...', 'nav.newGame': 'GEAMA ÙR', - 'nav.guide': 'STIÙIREADH' + 'nav.guide': 'STIÙIREADH', + 'custom.simulationHelp': 'How is this calculated?', + 'custom.hideMap': 'Hide difficulty map', + 'custom.showMap': 'Show difficulty map', + 'simulation.title': 'Difficulty Simulation', + 'simulation.status.ready': 'Ready', + 'simulation.status.stopped': 'Stopped', + 'simulation.status.completed': 'Completed', + 'simulation.status.simulating': 'Simulating {size}x{size} @ {density}%', + 'simulation.start': 'Start Simulation', + 'simulation.stop': 'Stop', + 'simulation.table.size': 'Size', + 'simulation.table.density': 'Density', + 'simulation.table.solved': 'Solved (Logic)', + 'simulation.empty': 'Press Start to run Monte Carlo simulation', }, eu: { 'app.title': 'Nonograms', @@ -2848,7 +3438,21 @@ const messages = { 'language.searchLabel': 'Bilatu hizkuntza', 'language.searchPlaceholder': 'Idatzi hizkuntzaren izena...', 'nav.newGame': 'JOKO BERRIA', - 'nav.guide': 'GIDA' + 'nav.guide': 'GIDA', + 'custom.simulationHelp': 'How is this calculated?', + 'custom.hideMap': 'Hide difficulty map', + 'custom.showMap': 'Show difficulty map', + 'simulation.title': 'Difficulty Simulation', + 'simulation.status.ready': 'Ready', + 'simulation.status.stopped': 'Stopped', + 'simulation.status.completed': 'Completed', + 'simulation.status.simulating': 'Simulating {size}x{size} @ {density}%', + 'simulation.start': 'Start Simulation', + 'simulation.stop': 'Stop', + 'simulation.table.size': 'Size', + 'simulation.table.density': 'Density', + 'simulation.table.solved': 'Solved (Logic)', + 'simulation.empty': 'Press Start to run Monte Carlo simulation', }, ja: { 'app.title': 'ノノグラム', @@ -2903,7 +3507,21 @@ const messages = { 'language.searchLabel': '言語を検索', 'language.searchPlaceholder': '言語名を入力...', 'nav.newGame': '新しいゲーム', - 'nav.guide': 'ガイド' + 'nav.guide': 'ガイド', + 'custom.simulationHelp': 'How is this calculated?', + 'custom.hideMap': 'Hide difficulty map', + 'custom.showMap': 'Show difficulty map', + 'simulation.title': 'Difficulty Simulation', + 'simulation.status.ready': 'Ready', + 'simulation.status.stopped': 'Stopped', + 'simulation.status.completed': 'Completed', + 'simulation.status.simulating': 'Simulating {size}x{size} @ {density}%', + 'simulation.start': 'Start Simulation', + 'simulation.stop': 'Stop', + 'simulation.table.size': 'Size', + 'simulation.table.density': 'Density', + 'simulation.table.solved': 'Solved (Logic)', + 'simulation.empty': 'Press Start to run Monte Carlo simulation', }, ko: { 'app.title': '노노그램', @@ -2958,7 +3576,21 @@ const messages = { 'language.searchLabel': '언어 검색', 'language.searchPlaceholder': '언어 이름 입력...', 'nav.newGame': '새 게임', - 'nav.guide': '가이드' + 'nav.guide': '가이드', + 'custom.simulationHelp': 'How is this calculated?', + 'custom.hideMap': 'Hide difficulty map', + 'custom.showMap': 'Show difficulty map', + 'simulation.title': 'Difficulty Simulation', + 'simulation.status.ready': 'Ready', + 'simulation.status.stopped': 'Stopped', + 'simulation.status.completed': 'Completed', + 'simulation.status.simulating': 'Simulating {size}x{size} @ {density}%', + 'simulation.start': 'Start Simulation', + 'simulation.stop': 'Stop', + 'simulation.table.size': 'Size', + 'simulation.table.density': 'Density', + 'simulation.table.solved': 'Solved (Logic)', + 'simulation.empty': 'Press Start to run Monte Carlo simulation', }, id: { 'app.title': 'Nonograms', @@ -3013,7 +3645,21 @@ const messages = { 'language.searchLabel': 'Cari bahasa', 'language.searchPlaceholder': 'Ketik nama bahasa...', 'nav.newGame': 'PERMAINAN BARU', - 'nav.guide': 'PANDUAN' + 'nav.guide': 'PANDUAN', + 'custom.simulationHelp': 'How is this calculated?', + 'custom.hideMap': 'Hide difficulty map', + 'custom.showMap': 'Show difficulty map', + 'simulation.title': 'Difficulty Simulation', + 'simulation.status.ready': 'Ready', + 'simulation.status.stopped': 'Stopped', + 'simulation.status.completed': 'Completed', + 'simulation.status.simulating': 'Simulating {size}x{size} @ {density}%', + 'simulation.start': 'Start Simulation', + 'simulation.stop': 'Stop', + 'simulation.table.size': 'Size', + 'simulation.table.density': 'Density', + 'simulation.table.solved': 'Solved (Logic)', + 'simulation.empty': 'Press Start to run Monte Carlo simulation', }, vi: { 'app.title': 'Nonograms', @@ -3068,7 +3714,21 @@ const messages = { 'language.searchLabel': 'Tìm ngôn ngữ', 'language.searchPlaceholder': 'Nhập tên ngôn ngữ...', 'nav.newGame': 'TRÒ CHƠI MỚI', - 'nav.guide': 'HƯỚNG DẪN' + 'nav.guide': 'HƯỚNG DẪN', + 'custom.simulationHelp': 'How is this calculated?', + 'custom.hideMap': 'Hide difficulty map', + 'custom.showMap': 'Show difficulty map', + 'simulation.title': 'Difficulty Simulation', + 'simulation.status.ready': 'Ready', + 'simulation.status.stopped': 'Stopped', + 'simulation.status.completed': 'Completed', + 'simulation.status.simulating': 'Simulating {size}x{size} @ {density}%', + 'simulation.start': 'Start Simulation', + 'simulation.stop': 'Stop', + 'simulation.table.size': 'Size', + 'simulation.table.density': 'Density', + 'simulation.table.solved': 'Solved (Logic)', + 'simulation.empty': 'Press Start to run Monte Carlo simulation', }, th: { 'app.title': 'Nonograms', @@ -3123,7 +3783,21 @@ const messages = { 'language.searchLabel': 'ค้นหาภาษา', 'language.searchPlaceholder': 'พิมพ์ชื่อภาษา...', 'nav.newGame': 'เกมใหม่', - 'nav.guide': 'คู่มือ' + 'nav.guide': 'คู่มือ', + 'custom.simulationHelp': 'How is this calculated?', + 'custom.hideMap': 'Hide difficulty map', + 'custom.showMap': 'Show difficulty map', + 'simulation.title': 'Difficulty Simulation', + 'simulation.status.ready': 'Ready', + 'simulation.status.stopped': 'Stopped', + 'simulation.status.completed': 'Completed', + 'simulation.status.simulating': 'Simulating {size}x{size} @ {density}%', + 'simulation.start': 'Start Simulation', + 'simulation.stop': 'Stop', + 'simulation.table.size': 'Size', + 'simulation.table.density': 'Density', + 'simulation.table.solved': 'Solved (Logic)', + 'simulation.empty': 'Press Start to run Monte Carlo simulation', }, ms: { 'app.title': 'Nonograms', @@ -3178,7 +3852,21 @@ const messages = { 'language.searchLabel': 'Cari bahasa', 'language.searchPlaceholder': 'Taip nama bahasa...', 'nav.newGame': 'PERMAINAN BARU', - 'nav.guide': 'PANDUAN' + 'nav.guide': 'PANDUAN', + 'custom.simulationHelp': 'How is this calculated?', + 'custom.hideMap': 'Hide difficulty map', + 'custom.showMap': 'Show difficulty map', + 'simulation.title': 'Difficulty Simulation', + 'simulation.status.ready': 'Ready', + 'simulation.status.stopped': 'Stopped', + 'simulation.status.completed': 'Completed', + 'simulation.status.simulating': 'Simulating {size}x{size} @ {density}%', + 'simulation.start': 'Start Simulation', + 'simulation.stop': 'Stop', + 'simulation.table.size': 'Size', + 'simulation.table.density': 'Density', + 'simulation.table.solved': 'Solved (Logic)', + 'simulation.empty': 'Press Start to run Monte Carlo simulation', }, fa: { 'app.title': 'Nonograms', @@ -3233,7 +3921,21 @@ const messages = { 'language.searchLabel': 'جستجوی زبان', 'language.searchPlaceholder': 'نام زبان را بنویسید...', 'nav.newGame': 'بازی جدید', - 'nav.guide': 'راهنما' + 'nav.guide': 'راهنما', + 'custom.simulationHelp': 'How is this calculated?', + 'custom.hideMap': 'Hide difficulty map', + 'custom.showMap': 'Show difficulty map', + 'simulation.title': 'Difficulty Simulation', + 'simulation.status.ready': 'Ready', + 'simulation.status.stopped': 'Stopped', + 'simulation.status.completed': 'Completed', + 'simulation.status.simulating': 'Simulating {size}x{size} @ {density}%', + 'simulation.start': 'Start Simulation', + 'simulation.stop': 'Stop', + 'simulation.table.size': 'Size', + 'simulation.table.density': 'Density', + 'simulation.table.solved': 'Solved (Logic)', + 'simulation.empty': 'Press Start to run Monte Carlo simulation', }, he: { 'app.title': 'Nonograms', @@ -3288,7 +3990,21 @@ const messages = { 'language.searchLabel': 'חפש שפה', 'language.searchPlaceholder': 'הקלד שם שפה...', 'nav.newGame': 'משחק חדש', - 'nav.guide': 'מדריך' + 'nav.guide': 'מדריך', + 'custom.simulationHelp': 'How is this calculated?', + 'custom.hideMap': 'Hide difficulty map', + 'custom.showMap': 'Show difficulty map', + 'simulation.title': 'Difficulty Simulation', + 'simulation.status.ready': 'Ready', + 'simulation.status.stopped': 'Stopped', + 'simulation.status.completed': 'Completed', + 'simulation.status.simulating': 'Simulating {size}x{size} @ {density}%', + 'simulation.start': 'Start Simulation', + 'simulation.stop': 'Stop', + 'simulation.table.size': 'Size', + 'simulation.table.density': 'Density', + 'simulation.table.solved': 'Solved (Logic)', + 'simulation.empty': 'Press Start to run Monte Carlo simulation', }, az: { 'app.title': 'Nonograms', @@ -3343,7 +4059,21 @@ const messages = { 'language.searchLabel': 'Dili axtar', 'language.searchPlaceholder': 'Dil adını yazın...', 'nav.newGame': 'YENİ OYUN', - 'nav.guide': 'BƏLƏDÇİ' + 'nav.guide': 'BƏLƏDÇİ', + 'custom.simulationHelp': 'How is this calculated?', + 'custom.hideMap': 'Hide difficulty map', + 'custom.showMap': 'Show difficulty map', + 'simulation.title': 'Difficulty Simulation', + 'simulation.status.ready': 'Ready', + 'simulation.status.stopped': 'Stopped', + 'simulation.status.completed': 'Completed', + 'simulation.status.simulating': 'Simulating {size}x{size} @ {density}%', + 'simulation.start': 'Start Simulation', + 'simulation.stop': 'Stop', + 'simulation.table.size': 'Size', + 'simulation.table.density': 'Density', + 'simulation.table.solved': 'Solved (Logic)', + 'simulation.empty': 'Press Start to run Monte Carlo simulation', }, hy: { 'app.title': 'Nonograms', @@ -3398,7 +4128,21 @@ const messages = { 'language.searchLabel': 'Փնտրել լեզուն', 'language.searchPlaceholder': 'Գրեք լեզվի անունը...', 'nav.newGame': 'ՆՈՐ ԽԱՂ', - 'nav.guide': 'ՈՒՂԵՑՈՒՅՑ' + 'nav.guide': 'ՈՒՂԵՑՈՒՅՑ', + 'custom.simulationHelp': 'How is this calculated?', + 'custom.hideMap': 'Hide difficulty map', + 'custom.showMap': 'Show difficulty map', + 'simulation.title': 'Difficulty Simulation', + 'simulation.status.ready': 'Ready', + 'simulation.status.stopped': 'Stopped', + 'simulation.status.completed': 'Completed', + 'simulation.status.simulating': 'Simulating {size}x{size} @ {density}%', + 'simulation.start': 'Start Simulation', + 'simulation.stop': 'Stop', + 'simulation.table.size': 'Size', + 'simulation.table.density': 'Density', + 'simulation.table.solved': 'Solved (Logic)', + 'simulation.empty': 'Press Start to run Monte Carlo simulation', }, uz: { 'app.title': 'Nonograms', @@ -3453,7 +4197,21 @@ const messages = { 'language.searchLabel': 'Tilni qidirish', 'language.searchPlaceholder': 'Til nomini yozing...', 'nav.newGame': 'YANGI O\'YIN', - 'nav.guide': 'QO\'LLANMA' + 'nav.guide': 'QO\'LLANMA', + 'custom.simulationHelp': 'How is this calculated?', + 'custom.hideMap': 'Hide difficulty map', + 'custom.showMap': 'Show difficulty map', + 'simulation.title': 'Difficulty Simulation', + 'simulation.status.ready': 'Ready', + 'simulation.status.stopped': 'Stopped', + 'simulation.status.completed': 'Completed', + 'simulation.status.simulating': 'Simulating {size}x{size} @ {density}%', + 'simulation.start': 'Start Simulation', + 'simulation.stop': 'Stop', + 'simulation.table.size': 'Size', + 'simulation.table.density': 'Density', + 'simulation.table.solved': 'Solved (Logic)', + 'simulation.empty': 'Press Start to run Monte Carlo simulation', }, kk: { 'app.title': 'Nonograms', @@ -3508,7 +4266,21 @@ const messages = { 'language.searchLabel': 'Tildi izdeu', 'language.searchPlaceholder': 'Til atauyn jaz...', 'nav.newGame': 'ЖАҢА ОЙЫН', - 'nav.guide': 'НҰСҚАУЛЫҚ' + 'nav.guide': 'НҰСҚАУЛЫҚ', + 'custom.simulationHelp': 'How is this calculated?', + 'custom.hideMap': 'Hide difficulty map', + 'custom.showMap': 'Show difficulty map', + 'simulation.title': 'Difficulty Simulation', + 'simulation.status.ready': 'Ready', + 'simulation.status.stopped': 'Stopped', + 'simulation.status.completed': 'Completed', + 'simulation.status.simulating': 'Simulating {size}x{size} @ {density}%', + 'simulation.start': 'Start Simulation', + 'simulation.stop': 'Stop', + 'simulation.table.size': 'Size', + 'simulation.table.density': 'Density', + 'simulation.table.solved': 'Solved (Logic)', + 'simulation.empty': 'Press Start to run Monte Carlo simulation', }, gu: { 'app.title': 'Nonograms', @@ -3563,7 +4335,21 @@ const messages = { 'language.searchLabel': 'ભાષા શોધો', 'language.searchPlaceholder': 'ભાષાનું નામ લખો...', 'nav.newGame': 'નવી રમત', - 'nav.guide': 'માર્ગદર્શિકા' + 'nav.guide': 'માર્ગદર્શિકા', + 'custom.simulationHelp': 'How is this calculated?', + 'custom.hideMap': 'Hide difficulty map', + 'custom.showMap': 'Show difficulty map', + 'simulation.title': 'Difficulty Simulation', + 'simulation.status.ready': 'Ready', + 'simulation.status.stopped': 'Stopped', + 'simulation.status.completed': 'Completed', + 'simulation.status.simulating': 'Simulating {size}x{size} @ {density}%', + 'simulation.start': 'Start Simulation', + 'simulation.stop': 'Stop', + 'simulation.table.size': 'Size', + 'simulation.table.density': 'Density', + 'simulation.table.solved': 'Solved (Logic)', + 'simulation.empty': 'Press Start to run Monte Carlo simulation', }, kn: { 'app.title': 'Nonograms', @@ -3618,7 +4404,21 @@ const messages = { 'language.searchLabel': 'ಭಾಷೆ ಹುಡುಕಿ', 'language.searchPlaceholder': 'ಭಾಷೆಯ ಹೆಸರನ್ನು ಟೈಪ್ ಮಾಡಿ...', 'nav.newGame': 'ಹೊಸ ಆಟ', - 'nav.guide': 'ಮಾರ್ಗದರ್ಶಿ' + 'nav.guide': 'ಮಾರ್ಗದರ್ಶಿ', + 'custom.simulationHelp': 'How is this calculated?', + 'custom.hideMap': 'Hide difficulty map', + 'custom.showMap': 'Show difficulty map', + 'simulation.title': 'Difficulty Simulation', + 'simulation.status.ready': 'Ready', + 'simulation.status.stopped': 'Stopped', + 'simulation.status.completed': 'Completed', + 'simulation.status.simulating': 'Simulating {size}x{size} @ {density}%', + 'simulation.start': 'Start Simulation', + 'simulation.stop': 'Stop', + 'simulation.table.size': 'Size', + 'simulation.table.density': 'Density', + 'simulation.table.solved': 'Solved (Logic)', + 'simulation.empty': 'Press Start to run Monte Carlo simulation', }, mr: { 'app.title': 'Nonograms', @@ -3673,7 +4473,21 @@ const messages = { 'language.searchLabel': 'भाषा शोधा', 'language.searchPlaceholder': 'भाषेचे नाव लिहा...', 'nav.newGame': 'नवीन खेळ', - 'nav.guide': 'मार्गदर्शक' + 'nav.guide': 'मार्गदर्शक', + 'custom.simulationHelp': 'How is this calculated?', + 'custom.hideMap': 'Hide difficulty map', + 'custom.showMap': 'Show difficulty map', + 'simulation.title': 'Difficulty Simulation', + 'simulation.status.ready': 'Ready', + 'simulation.status.stopped': 'Stopped', + 'simulation.status.completed': 'Completed', + 'simulation.status.simulating': 'Simulating {size}x{size} @ {density}%', + 'simulation.start': 'Start Simulation', + 'simulation.stop': 'Stop', + 'simulation.table.size': 'Size', + 'simulation.table.density': 'Density', + 'simulation.table.solved': 'Solved (Logic)', + 'simulation.empty': 'Press Start to run Monte Carlo simulation', }, pa: { 'app.title': 'Nonograms', @@ -3728,7 +4542,21 @@ const messages = { 'language.searchLabel': 'ਭਾਸ਼ਾ ਖੋਜੋ', 'language.searchPlaceholder': 'ਭਾਸ਼ਾ ਦਾ ਨਾਮ ਲਿਖੋ...', 'nav.newGame': 'ਨਵੀਂ ਖੇਡ', - 'nav.guide': 'ਗਾਈਡ' + 'nav.guide': 'ਗਾਈਡ', + 'custom.simulationHelp': 'How is this calculated?', + 'custom.hideMap': 'Hide difficulty map', + 'custom.showMap': 'Show difficulty map', + 'simulation.title': 'Difficulty Simulation', + 'simulation.status.ready': 'Ready', + 'simulation.status.stopped': 'Stopped', + 'simulation.status.completed': 'Completed', + 'simulation.status.simulating': 'Simulating {size}x{size} @ {density}%', + 'simulation.start': 'Start Simulation', + 'simulation.stop': 'Stop', + 'simulation.table.size': 'Size', + 'simulation.table.density': 'Density', + 'simulation.table.solved': 'Solved (Logic)', + 'simulation.empty': 'Press Start to run Monte Carlo simulation', }, ta: { 'app.title': 'Nonograms', @@ -3783,7 +4611,21 @@ const messages = { 'language.searchLabel': 'மொழியைத் தேடு', 'language.searchPlaceholder': 'மொழி பெயரை உள்ளிடவும்...', 'nav.newGame': 'புதிய விளையாட்டு', - 'nav.guide': 'வழிகாட்டி' + 'nav.guide': 'வழிகாட்டி', + 'custom.simulationHelp': 'How is this calculated?', + 'custom.hideMap': 'Hide difficulty map', + 'custom.showMap': 'Show difficulty map', + 'simulation.title': 'Difficulty Simulation', + 'simulation.status.ready': 'Ready', + 'simulation.status.stopped': 'Stopped', + 'simulation.status.completed': 'Completed', + 'simulation.status.simulating': 'Simulating {size}x{size} @ {density}%', + 'simulation.start': 'Start Simulation', + 'simulation.stop': 'Stop', + 'simulation.table.size': 'Size', + 'simulation.table.density': 'Density', + 'simulation.table.solved': 'Solved (Logic)', + 'simulation.empty': 'Press Start to run Monte Carlo simulation', }, te: { 'app.title': 'Nonograms', @@ -3838,7 +4680,21 @@ const messages = { 'language.searchLabel': 'భాషను వెతకండి', 'language.searchPlaceholder': 'భాష పేరు టైప్ చేయండి...', 'nav.newGame': 'కొత్త ఆట', - 'nav.guide': 'గైడ్' + 'nav.guide': 'గైడ్', + 'custom.simulationHelp': 'How is this calculated?', + 'custom.hideMap': 'Hide difficulty map', + 'custom.showMap': 'Show difficulty map', + 'simulation.title': 'Difficulty Simulation', + 'simulation.status.ready': 'Ready', + 'simulation.status.stopped': 'Stopped', + 'simulation.status.completed': 'Completed', + 'simulation.status.simulating': 'Simulating {size}x{size} @ {density}%', + 'simulation.start': 'Start Simulation', + 'simulation.stop': 'Stop', + 'simulation.table.size': 'Size', + 'simulation.table.density': 'Density', + 'simulation.table.solved': 'Solved (Logic)', + 'simulation.empty': 'Press Start to run Monte Carlo simulation', }, ne: { 'app.title': 'Nonograms', @@ -3893,7 +4749,21 @@ const messages = { 'language.searchLabel': 'भाषा खोज्नुहोस्', 'language.searchPlaceholder': 'भाषाको नाम लेख्नुहोस्...', 'nav.newGame': 'नयाँ खेल', - 'nav.guide': 'गाइड' + 'nav.guide': 'गाइड', + 'custom.simulationHelp': 'How is this calculated?', + 'custom.hideMap': 'Hide difficulty map', + 'custom.showMap': 'Show difficulty map', + 'simulation.title': 'Difficulty Simulation', + 'simulation.status.ready': 'Ready', + 'simulation.status.stopped': 'Stopped', + 'simulation.status.completed': 'Completed', + 'simulation.status.simulating': 'Simulating {size}x{size} @ {density}%', + 'simulation.start': 'Start Simulation', + 'simulation.stop': 'Stop', + 'simulation.table.size': 'Size', + 'simulation.table.density': 'Density', + 'simulation.table.solved': 'Solved (Logic)', + 'simulation.empty': 'Press Start to run Monte Carlo simulation', }, my: { 'app.title': 'Nonograms', @@ -3948,7 +4818,21 @@ const messages = { 'language.searchLabel': 'ဘာသာစကားရှာပါ', 'language.searchPlaceholder': 'ဘာသာစကားအမည်ရိုက်ထည့်ပါ...', 'nav.newGame': 'ဂိမ်းအသစ်', - 'nav.guide': 'လမ်းညွှန်' + 'nav.guide': 'လမ်းညွှန်', + 'custom.simulationHelp': 'How is this calculated?', + 'custom.hideMap': 'Hide difficulty map', + 'custom.showMap': 'Show difficulty map', + 'simulation.title': 'Difficulty Simulation', + 'simulation.status.ready': 'Ready', + 'simulation.status.stopped': 'Stopped', + 'simulation.status.completed': 'Completed', + 'simulation.status.simulating': 'Simulating {size}x{size} @ {density}%', + 'simulation.start': 'Start Simulation', + 'simulation.stop': 'Stop', + 'simulation.table.size': 'Size', + 'simulation.table.density': 'Density', + 'simulation.table.solved': 'Solved (Logic)', + 'simulation.empty': 'Press Start to run Monte Carlo simulation', }, km: { 'app.title': 'Nonograms', @@ -4003,7 +4887,21 @@ const messages = { 'language.searchLabel': 'ស្វែងរកភាសា', 'language.searchPlaceholder': 'វាយឈ្មោះភាសា...', 'nav.newGame': 'ល្បែងថ្មី', - 'nav.guide': 'ការណែនាំ' + 'nav.guide': 'ការណែនាំ', + 'custom.simulationHelp': 'How is this calculated?', + 'custom.hideMap': 'Hide difficulty map', + 'custom.showMap': 'Show difficulty map', + 'simulation.title': 'Difficulty Simulation', + 'simulation.status.ready': 'Ready', + 'simulation.status.stopped': 'Stopped', + 'simulation.status.completed': 'Completed', + 'simulation.status.simulating': 'Simulating {size}x{size} @ {density}%', + 'simulation.start': 'Start Simulation', + 'simulation.stop': 'Stop', + 'simulation.table.size': 'Size', + 'simulation.table.density': 'Density', + 'simulation.table.solved': 'Solved (Logic)', + 'simulation.empty': 'Press Start to run Monte Carlo simulation', }, lo: { 'app.title': 'Nonograms', @@ -4058,7 +4956,21 @@ const messages = { 'language.searchLabel': 'ຄົ້ນຫາພາສາ', 'language.searchPlaceholder': 'ພິມຊື່ພາສາ...', 'nav.newGame': 'ເກມໃໝ່', - 'nav.guide': 'ຄຳແນະນຳ' + 'nav.guide': 'ຄຳແນະນຳ', + 'custom.simulationHelp': 'How is this calculated?', + 'custom.hideMap': 'Hide difficulty map', + 'custom.showMap': 'Show difficulty map', + 'simulation.title': 'Difficulty Simulation', + 'simulation.status.ready': 'Ready', + 'simulation.status.stopped': 'Stopped', + 'simulation.status.completed': 'Completed', + 'simulation.status.simulating': 'Simulating {size}x{size} @ {density}%', + 'simulation.start': 'Start Simulation', + 'simulation.stop': 'Stop', + 'simulation.table.size': 'Size', + 'simulation.table.density': 'Density', + 'simulation.table.solved': 'Solved (Logic)', + 'simulation.empty': 'Press Start to run Monte Carlo simulation', }, mn: { 'app.title': 'Nonograms', @@ -4113,7 +5025,21 @@ const messages = { 'language.searchLabel': 'Хэл хайх', 'language.searchPlaceholder': 'Хэлний нэрийг бичнэ үү...', 'nav.newGame': 'ШИНЭ ТОГЛООМ', - 'nav.guide': 'ЗААВАР' + 'nav.guide': 'ЗААВАР', + 'custom.simulationHelp': 'How is this calculated?', + 'custom.hideMap': 'Hide difficulty map', + 'custom.showMap': 'Show difficulty map', + 'simulation.title': 'Difficulty Simulation', + 'simulation.status.ready': 'Ready', + 'simulation.status.stopped': 'Stopped', + 'simulation.status.completed': 'Completed', + 'simulation.status.simulating': 'Simulating {size}x{size} @ {density}%', + 'simulation.start': 'Start Simulation', + 'simulation.stop': 'Stop', + 'simulation.table.size': 'Size', + 'simulation.table.density': 'Density', + 'simulation.table.solved': 'Solved (Logic)', + 'simulation.empty': 'Press Start to run Monte Carlo simulation', }, bo: { 'app.title': 'Nonograms', @@ -4168,7 +5094,21 @@ const messages = { 'language.searchLabel': 'སྐད་ཡིག་འཚོལ', 'language.searchPlaceholder': 'སྐད་ཡིག་གི་མིང་འབྲི...', 'nav.newGame': 'རྩེད་མོ་གསར་པ།', - 'nav.guide': 'ལམ་སྟོན།' + 'nav.guide': 'ལམ་སྟོན།', + 'custom.simulationHelp': 'How is this calculated?', + 'custom.hideMap': 'Hide difficulty map', + 'custom.showMap': 'Show difficulty map', + 'simulation.title': 'Difficulty Simulation', + 'simulation.status.ready': 'Ready', + 'simulation.status.stopped': 'Stopped', + 'simulation.status.completed': 'Completed', + 'simulation.status.simulating': 'Simulating {size}x{size} @ {density}%', + 'simulation.start': 'Start Simulation', + 'simulation.stop': 'Stop', + 'simulation.table.size': 'Size', + 'simulation.table.density': 'Density', + 'simulation.table.solved': 'Solved (Logic)', + 'simulation.empty': 'Press Start to run Monte Carlo simulation', }, af: { 'app.title': 'Nonograms', @@ -4223,7 +5163,21 @@ const messages = { 'language.searchLabel': 'Soek taal', 'language.searchPlaceholder': 'Tik taalnaam...', 'nav.newGame': 'NUWE SPEL', - 'nav.guide': 'GIDS' + 'nav.guide': 'GIDS', + 'custom.simulationHelp': 'How is this calculated?', + 'custom.hideMap': 'Hide difficulty map', + 'custom.showMap': 'Show difficulty map', + 'simulation.title': 'Difficulty Simulation', + 'simulation.status.ready': 'Ready', + 'simulation.status.stopped': 'Stopped', + 'simulation.status.completed': 'Completed', + 'simulation.status.simulating': 'Simulating {size}x{size} @ {density}%', + 'simulation.start': 'Start Simulation', + 'simulation.stop': 'Stop', + 'simulation.table.size': 'Size', + 'simulation.table.density': 'Density', + 'simulation.table.solved': 'Solved (Logic)', + 'simulation.empty': 'Press Start to run Monte Carlo simulation', }, sw: { 'app.title': 'Nonograms', @@ -4278,7 +5232,21 @@ const messages = { 'language.searchLabel': 'Tafuta lugha', 'language.searchPlaceholder': 'Andika jina la lugha...', 'nav.newGame': 'MCHEZO MPYA', - 'nav.guide': 'MUONGOZO' + 'nav.guide': 'MUONGOZO', + 'custom.simulationHelp': 'How is this calculated?', + 'custom.hideMap': 'Hide difficulty map', + 'custom.showMap': 'Show difficulty map', + 'simulation.title': 'Difficulty Simulation', + 'simulation.status.ready': 'Ready', + 'simulation.status.stopped': 'Stopped', + 'simulation.status.completed': 'Completed', + 'simulation.status.simulating': 'Simulating {size}x{size} @ {density}%', + 'simulation.start': 'Start Simulation', + 'simulation.stop': 'Stop', + 'simulation.table.size': 'Size', + 'simulation.table.density': 'Density', + 'simulation.table.solved': 'Solved (Logic)', + 'simulation.empty': 'Press Start to run Monte Carlo simulation', }, am: { 'app.title': 'Nonograms', @@ -4333,7 +5301,21 @@ const messages = { 'language.searchLabel': 'ቋንቋ ይፈልጉ', 'language.searchPlaceholder': 'የቋንቋ ስም ይተይቡ...', 'nav.newGame': 'አዲስ ጨዋታ', - 'nav.guide': 'መመሪያ' + 'nav.guide': 'መመሪያ', + 'custom.simulationHelp': 'How is this calculated?', + 'custom.hideMap': 'Hide difficulty map', + 'custom.showMap': 'Show difficulty map', + 'simulation.title': 'Difficulty Simulation', + 'simulation.status.ready': 'Ready', + 'simulation.status.stopped': 'Stopped', + 'simulation.status.completed': 'Completed', + 'simulation.status.simulating': 'Simulating {size}x{size} @ {density}%', + 'simulation.start': 'Start Simulation', + 'simulation.stop': 'Stop', + 'simulation.table.size': 'Size', + 'simulation.table.density': 'Density', + 'simulation.table.solved': 'Solved (Logic)', + 'simulation.empty': 'Press Start to run Monte Carlo simulation', }, yo: { 'app.title': 'Nonograms', @@ -4388,7 +5370,21 @@ const messages = { 'language.searchLabel': 'Wá èdè', 'language.searchPlaceholder': 'Tẹ orukọ èdè...', 'nav.newGame': 'ERE TITUN', - 'nav.guide': 'ITỌSỌNA' + 'nav.guide': 'ITỌSỌNA', + 'custom.simulationHelp': 'How is this calculated?', + 'custom.hideMap': 'Hide difficulty map', + 'custom.showMap': 'Show difficulty map', + 'simulation.title': 'Difficulty Simulation', + 'simulation.status.ready': 'Ready', + 'simulation.status.stopped': 'Stopped', + 'simulation.status.completed': 'Completed', + 'simulation.status.simulating': 'Simulating {size}x{size} @ {density}%', + 'simulation.start': 'Start Simulation', + 'simulation.stop': 'Stop', + 'simulation.table.size': 'Size', + 'simulation.table.density': 'Density', + 'simulation.table.solved': 'Solved (Logic)', + 'simulation.empty': 'Press Start to run Monte Carlo simulation', }, ig: { 'app.title': 'Nonograms', @@ -4443,7 +5439,21 @@ const messages = { 'language.searchLabel': 'Chọọ asụsụ', 'language.searchPlaceholder': 'Pịnye aha asụsụ...', 'nav.newGame': 'EGWUREGWU OHUU', - 'nav.guide': 'NDUZI' + 'nav.guide': 'NDUZI', + 'custom.simulationHelp': 'How is this calculated?', + 'custom.hideMap': 'Hide difficulty map', + 'custom.showMap': 'Show difficulty map', + 'simulation.title': 'Difficulty Simulation', + 'simulation.status.ready': 'Ready', + 'simulation.status.stopped': 'Stopped', + 'simulation.status.completed': 'Completed', + 'simulation.status.simulating': 'Simulating {size}x{size} @ {density}%', + 'simulation.start': 'Start Simulation', + 'simulation.stop': 'Stop', + 'simulation.table.size': 'Size', + 'simulation.table.density': 'Density', + 'simulation.table.solved': 'Solved (Logic)', + 'simulation.empty': 'Press Start to run Monte Carlo simulation', }, so: { 'app.title': 'Nonograms', @@ -4498,7 +5508,21 @@ const messages = { 'language.searchLabel': 'Raadi luqad', 'language.searchPlaceholder': 'Qor magaca luqadda...', 'nav.newGame': 'CIYAAR CUSUB', - 'nav.guide': 'HAGAHA' + 'nav.guide': 'HAGAHA', + 'custom.simulationHelp': 'How is this calculated?', + 'custom.hideMap': 'Hide difficulty map', + 'custom.showMap': 'Show difficulty map', + 'simulation.title': 'Difficulty Simulation', + 'simulation.status.ready': 'Ready', + 'simulation.status.stopped': 'Stopped', + 'simulation.status.completed': 'Completed', + 'simulation.status.simulating': 'Simulating {size}x{size} @ {density}%', + 'simulation.start': 'Start Simulation', + 'simulation.stop': 'Stop', + 'simulation.table.size': 'Size', + 'simulation.table.density': 'Density', + 'simulation.table.solved': 'Solved (Logic)', + 'simulation.empty': 'Press Start to run Monte Carlo simulation', }, rw: { 'app.title': 'Nonograms', @@ -4553,7 +5577,21 @@ const messages = { 'language.searchLabel': 'Shakisha ururimi', 'language.searchPlaceholder': 'Andika izina ry\'ururimi...', 'nav.newGame': 'UMUKINO MUSHYA', - 'nav.guide': 'IYOBORA' + 'nav.guide': 'IYOBORA', + 'custom.simulationHelp': 'How is this calculated?', + 'custom.hideMap': 'Hide difficulty map', + 'custom.showMap': 'Show difficulty map', + 'simulation.title': 'Difficulty Simulation', + 'simulation.status.ready': 'Ready', + 'simulation.status.stopped': 'Stopped', + 'simulation.status.completed': 'Completed', + 'simulation.status.simulating': 'Simulating {size}x{size} @ {density}%', + 'simulation.start': 'Start Simulation', + 'simulation.stop': 'Stop', + 'simulation.table.size': 'Size', + 'simulation.table.density': 'Density', + 'simulation.table.solved': 'Solved (Logic)', + 'simulation.empty': 'Press Start to run Monte Carlo simulation', }, rn: { 'app.title': 'Nonograms', @@ -4608,7 +5646,21 @@ const messages = { 'language.searchLabel': 'Rondera ururimi', 'language.searchPlaceholder': 'Andika izina ry\'ururimi...', 'nav.newGame': 'UMUKINO MUSHYA', - 'nav.guide': 'IYOBORA' + 'nav.guide': 'IYOBORA', + 'custom.simulationHelp': 'How is this calculated?', + 'custom.hideMap': 'Hide difficulty map', + 'custom.showMap': 'Show difficulty map', + 'simulation.title': 'Difficulty Simulation', + 'simulation.status.ready': 'Ready', + 'simulation.status.stopped': 'Stopped', + 'simulation.status.completed': 'Completed', + 'simulation.status.simulating': 'Simulating {size}x{size} @ {density}%', + 'simulation.start': 'Start Simulation', + 'simulation.stop': 'Stop', + 'simulation.table.size': 'Size', + 'simulation.table.density': 'Density', + 'simulation.table.solved': 'Solved (Logic)', + 'simulation.empty': 'Press Start to run Monte Carlo simulation', }, wo: { 'app.title': 'Nonograms', @@ -4663,7 +5715,21 @@ const messages = { 'language.searchLabel': 'Seet làkk', 'language.searchPlaceholder': 'Bind turu làkk...', 'nav.newGame': 'JEU BU BESS', - 'nav.guide': 'GINDIT' + 'nav.guide': 'GINDIT', + 'custom.simulationHelp': 'How is this calculated?', + 'custom.hideMap': 'Hide difficulty map', + 'custom.showMap': 'Show difficulty map', + 'simulation.title': 'Difficulty Simulation', + 'simulation.status.ready': 'Ready', + 'simulation.status.stopped': 'Stopped', + 'simulation.status.completed': 'Completed', + 'simulation.status.simulating': 'Simulating {size}x{size} @ {density}%', + 'simulation.start': 'Start Simulation', + 'simulation.stop': 'Stop', + 'simulation.table.size': 'Size', + 'simulation.table.density': 'Density', + 'simulation.table.solved': 'Solved (Logic)', + 'simulation.empty': 'Press Start to run Monte Carlo simulation', }, om: { 'app.title': 'Nonograms', @@ -4718,7 +5784,21 @@ const messages = { 'language.searchLabel': 'Afaan barbaadi', 'language.searchPlaceholder': 'Maqaa afaanii barreessi...', 'nav.newGame': 'TAPHA HAARAA', - 'nav.guide': 'QAJEELE' + 'nav.guide': 'QAJEELE', + 'custom.simulationHelp': 'How is this calculated?', + 'custom.hideMap': 'Hide difficulty map', + 'custom.showMap': 'Show difficulty map', + 'simulation.title': 'Difficulty Simulation', + 'simulation.status.ready': 'Ready', + 'simulation.status.stopped': 'Stopped', + 'simulation.status.completed': 'Completed', + 'simulation.status.simulating': 'Simulating {size}x{size} @ {density}%', + 'simulation.start': 'Start Simulation', + 'simulation.stop': 'Stop', + 'simulation.table.size': 'Size', + 'simulation.table.density': 'Density', + 'simulation.table.solved': 'Solved (Logic)', + 'simulation.empty': 'Press Start to run Monte Carlo simulation', }, ti: { 'app.title': 'Nonograms', @@ -4773,7 +5853,21 @@ const messages = { 'language.searchLabel': 'ቋንቋ ድለ', 'language.searchPlaceholder': 'ስም ቋንቋ ጽሓፍ...', 'nav.newGame': 'ሓatsush ጸወታ', - 'nav.guide': 'መምርሒ' + 'nav.guide': 'መምርሒ', + 'custom.simulationHelp': 'How is this calculated?', + 'custom.hideMap': 'Hide difficulty map', + 'custom.showMap': 'Show difficulty map', + 'simulation.title': 'Difficulty Simulation', + 'simulation.status.ready': 'Ready', + 'simulation.status.stopped': 'Stopped', + 'simulation.status.completed': 'Completed', + 'simulation.status.simulating': 'Simulating {size}x{size} @ {density}%', + 'simulation.start': 'Start Simulation', + 'simulation.stop': 'Stop', + 'simulation.table.size': 'Size', + 'simulation.table.density': 'Density', + 'simulation.table.solved': 'Solved (Logic)', + 'simulation.empty': 'Press Start to run Monte Carlo simulation', }, ht: { 'app.title': 'Nonograms', @@ -4828,7 +5922,21 @@ const messages = { 'language.searchLabel': 'Chèche lang', 'language.searchPlaceholder': 'Ekri non lang lan...', 'nav.newGame': 'NOUVO JWÈT', - 'nav.guide': 'GID' + 'nav.guide': 'GID', + 'custom.simulationHelp': 'How is this calculated?', + 'custom.hideMap': 'Hide difficulty map', + 'custom.showMap': 'Show difficulty map', + 'simulation.title': 'Difficulty Simulation', + 'simulation.status.ready': 'Ready', + 'simulation.status.stopped': 'Stopped', + 'simulation.status.completed': 'Completed', + 'simulation.status.simulating': 'Simulating {size}x{size} @ {density}%', + 'simulation.start': 'Start Simulation', + 'simulation.stop': 'Stop', + 'simulation.table.size': 'Size', + 'simulation.table.density': 'Density', + 'simulation.table.solved': 'Solved (Logic)', + 'simulation.empty': 'Press Start to run Monte Carlo simulation', }, ceb: { 'app.title': 'Nonograms', @@ -4883,7 +5991,21 @@ const messages = { 'language.searchLabel': 'Pangitaa ang pinulongan', 'language.searchPlaceholder': 'Isulat ang ngalan sa pinulongan...', 'nav.newGame': 'BAG-ONG DULA', - 'nav.guide': 'GIYA' + 'nav.guide': 'GIYA', + 'custom.simulationHelp': 'How is this calculated?', + 'custom.hideMap': 'Hide difficulty map', + 'custom.showMap': 'Show difficulty map', + 'simulation.title': 'Difficulty Simulation', + 'simulation.status.ready': 'Ready', + 'simulation.status.stopped': 'Stopped', + 'simulation.status.completed': 'Completed', + 'simulation.status.simulating': 'Simulating {size}x{size} @ {density}%', + 'simulation.start': 'Start Simulation', + 'simulation.stop': 'Stop', + 'simulation.table.size': 'Size', + 'simulation.table.density': 'Density', + 'simulation.table.solved': 'Solved (Logic)', + 'simulation.empty': 'Press Start to run Monte Carlo simulation', }, ilo: { 'app.title': 'Nonograms', @@ -4938,7 +6060,21 @@ const messages = { 'language.searchLabel': 'Biroken ti pagsasao', 'language.searchPlaceholder': 'I-type ti nagan ti pagsasao...', 'nav.newGame': 'BARO A AY-AYAM', - 'nav.guide': 'GIYA' + 'nav.guide': 'GIYA', + 'custom.simulationHelp': 'How is this calculated?', + 'custom.hideMap': 'Hide difficulty map', + 'custom.showMap': 'Show difficulty map', + 'simulation.title': 'Difficulty Simulation', + 'simulation.status.ready': 'Ready', + 'simulation.status.stopped': 'Stopped', + 'simulation.status.completed': 'Completed', + 'simulation.status.simulating': 'Simulating {size}x{size} @ {density}%', + 'simulation.start': 'Start Simulation', + 'simulation.stop': 'Stop', + 'simulation.table.size': 'Size', + 'simulation.table.density': 'Density', + 'simulation.table.solved': 'Solved (Logic)', + 'simulation.empty': 'Press Start to run Monte Carlo simulation', }, jv: { 'app.title': 'Nonograms', @@ -4993,7 +6129,21 @@ const messages = { 'language.searchLabel': 'Goleki basa', 'language.searchPlaceholder': 'Ketik jeneng basa...', 'nav.newGame': 'PERMAINAN ANYAR', - 'nav.guide': 'PANDUAN' + 'nav.guide': 'PANDUAN', + 'custom.simulationHelp': 'How is this calculated?', + 'custom.hideMap': 'Hide difficulty map', + 'custom.showMap': 'Show difficulty map', + 'simulation.title': 'Difficulty Simulation', + 'simulation.status.ready': 'Ready', + 'simulation.status.stopped': 'Stopped', + 'simulation.status.completed': 'Completed', + 'simulation.status.simulating': 'Simulating {size}x{size} @ {density}%', + 'simulation.start': 'Start Simulation', + 'simulation.stop': 'Stop', + 'simulation.table.size': 'Size', + 'simulation.table.density': 'Density', + 'simulation.table.solved': 'Solved (Logic)', + 'simulation.empty': 'Press Start to run Monte Carlo simulation', }, ku: { 'app.title': 'Nonograms', @@ -5048,7 +6198,21 @@ const messages = { 'language.searchLabel': 'Li ziman bigere', 'language.searchPlaceholder': 'Navê ziman binivîse...', 'nav.newGame': 'LÎSTIKA NÛ', - 'nav.guide': 'RÊBER' + 'nav.guide': 'RÊBER', + 'custom.simulationHelp': 'How is this calculated?', + 'custom.hideMap': 'Hide difficulty map', + 'custom.showMap': 'Show difficulty map', + 'simulation.title': 'Difficulty Simulation', + 'simulation.status.ready': 'Ready', + 'simulation.status.stopped': 'Stopped', + 'simulation.status.completed': 'Completed', + 'simulation.status.simulating': 'Simulating {size}x{size} @ {density}%', + 'simulation.start': 'Start Simulation', + 'simulation.stop': 'Stop', + 'simulation.table.size': 'Size', + 'simulation.table.density': 'Density', + 'simulation.table.solved': 'Solved (Logic)', + 'simulation.empty': 'Press Start to run Monte Carlo simulation', }, ckb: { 'app.title': 'Nonograms', @@ -5103,7 +6267,21 @@ const messages = { 'language.searchLabel': 'گەڕان بۆ زمان', 'language.searchPlaceholder': 'ناوی زمان بنووسە...', 'nav.newGame': 'یاری نوێ', - 'nav.guide': 'ڕێنمایی' + 'nav.guide': 'ڕێنمایی', + 'custom.simulationHelp': 'How is this calculated?', + 'custom.hideMap': 'Hide difficulty map', + 'custom.showMap': 'Show difficulty map', + 'simulation.title': 'Difficulty Simulation', + 'simulation.status.ready': 'Ready', + 'simulation.status.stopped': 'Stopped', + 'simulation.status.completed': 'Completed', + 'simulation.status.simulating': 'Simulating {size}x{size} @ {density}%', + 'simulation.start': 'Start Simulation', + 'simulation.stop': 'Stop', + 'simulation.table.size': 'Size', + 'simulation.table.density': 'Density', + 'simulation.table.solved': 'Solved (Logic)', + 'simulation.empty': 'Press Start to run Monte Carlo simulation', }, ps: { 'app.title': 'Nonograms', @@ -5158,7 +6336,21 @@ const messages = { 'language.searchLabel': 'ژبه وپلټئ', 'language.searchPlaceholder': 'د ژبې نوم ولیکئ...', 'nav.newGame': 'نوې لوبه', - 'nav.guide': 'لارښود' + 'nav.guide': 'لارښود', + 'custom.simulationHelp': 'How is this calculated?', + 'custom.hideMap': 'Hide difficulty map', + 'custom.showMap': 'Show difficulty map', + 'simulation.title': 'Difficulty Simulation', + 'simulation.status.ready': 'Ready', + 'simulation.status.stopped': 'Stopped', + 'simulation.status.completed': 'Completed', + 'simulation.status.simulating': 'Simulating {size}x{size} @ {density}%', + 'simulation.start': 'Start Simulation', + 'simulation.stop': 'Stop', + 'simulation.table.size': 'Size', + 'simulation.table.density': 'Density', + 'simulation.table.solved': 'Solved (Logic)', + 'simulation.empty': 'Press Start to run Monte Carlo simulation', } };