@jjlmoya/utils-science 1.37.0 → 1.39.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/category/index.ts +4 -1
- package/src/entries.ts +7 -1
- package/src/index.ts +3 -0
- package/src/tests/locale_completeness.test.ts +2 -2
- package/src/tests/tool_validation.test.ts +2 -2
- package/src/tool/conway-life-rule-lab/bibliography.astro +14 -0
- package/src/tool/conway-life-rule-lab/bibliography.ts +16 -0
- package/src/tool/conway-life-rule-lab/component.astro +132 -0
- package/src/tool/conway-life-rule-lab/conway-life-rule-lab.css +603 -0
- package/src/tool/conway-life-rule-lab/entry.ts +26 -0
- package/src/tool/conway-life-rule-lab/i18n/de.ts +50 -0
- package/src/tool/conway-life-rule-lab/i18n/en.ts +174 -0
- package/src/tool/conway-life-rule-lab/i18n/es.ts +50 -0
- package/src/tool/conway-life-rule-lab/i18n/fr.ts +50 -0
- package/src/tool/conway-life-rule-lab/i18n/id.ts +50 -0
- package/src/tool/conway-life-rule-lab/i18n/it.ts +50 -0
- package/src/tool/conway-life-rule-lab/i18n/ja.ts +50 -0
- package/src/tool/conway-life-rule-lab/i18n/ko.ts +50 -0
- package/src/tool/conway-life-rule-lab/i18n/nl.ts +50 -0
- package/src/tool/conway-life-rule-lab/i18n/pl.ts +50 -0
- package/src/tool/conway-life-rule-lab/i18n/pt.ts +50 -0
- package/src/tool/conway-life-rule-lab/i18n/ru.ts +50 -0
- package/src/tool/conway-life-rule-lab/i18n/sv.ts +50 -0
- package/src/tool/conway-life-rule-lab/i18n/tr.ts +50 -0
- package/src/tool/conway-life-rule-lab/i18n/zh.ts +50 -0
- package/src/tool/conway-life-rule-lab/index.ts +11 -0
- package/src/tool/conway-life-rule-lab/logic/LifeAchievements.ts +85 -0
- package/src/tool/conway-life-rule-lab/logic/LifeCanvasRenderer.ts +104 -0
- package/src/tool/conway-life-rule-lab/logic/LifeLabDom.ts +55 -0
- package/src/tool/conway-life-rule-lab/logic/LifeLabRuntime.ts +253 -0
- package/src/tool/conway-life-rule-lab/logic/LifePatterns.ts +35 -0
- package/src/tool/conway-life-rule-lab/logic/LifeRules.ts +60 -0
- package/src/tool/conway-life-rule-lab/logic/LifeUniverse.ts +165 -0
- package/src/tool/conway-life-rule-lab/logic.ts +6 -0
- package/src/tool/conway-life-rule-lab/seo.astro +15 -0
- package/src/tool/dyson-sphere-energy-capture/bibliography.astro +14 -0
- package/src/tool/dyson-sphere-energy-capture/bibliography.ts +16 -0
- package/src/tool/dyson-sphere-energy-capture/component.astro +253 -0
- package/src/tool/dyson-sphere-energy-capture/dyson-sphere-energy-capture.css +502 -0
- package/src/tool/dyson-sphere-energy-capture/entry.ts +26 -0
- package/src/tool/dyson-sphere-energy-capture/i18n/de.ts +195 -0
- package/src/tool/dyson-sphere-energy-capture/i18n/en.ts +195 -0
- package/src/tool/dyson-sphere-energy-capture/i18n/es.ts +195 -0
- package/src/tool/dyson-sphere-energy-capture/i18n/fr.ts +195 -0
- package/src/tool/dyson-sphere-energy-capture/i18n/id.ts +195 -0
- package/src/tool/dyson-sphere-energy-capture/i18n/it.ts +195 -0
- package/src/tool/dyson-sphere-energy-capture/i18n/ja.ts +71 -0
- package/src/tool/dyson-sphere-energy-capture/i18n/ko.ts +71 -0
- package/src/tool/dyson-sphere-energy-capture/i18n/nl.ts +197 -0
- package/src/tool/dyson-sphere-energy-capture/i18n/pl.ts +197 -0
- package/src/tool/dyson-sphere-energy-capture/i18n/pt.ts +195 -0
- package/src/tool/dyson-sphere-energy-capture/i18n/ru.ts +195 -0
- package/src/tool/dyson-sphere-energy-capture/i18n/sv.ts +195 -0
- package/src/tool/dyson-sphere-energy-capture/i18n/tr.ts +195 -0
- package/src/tool/dyson-sphere-energy-capture/i18n/zh.ts +71 -0
- package/src/tool/dyson-sphere-energy-capture/index.ts +11 -0
- package/src/tool/dyson-sphere-energy-capture/logic.ts +120 -0
- package/src/tool/dyson-sphere-energy-capture/seo.astro +15 -0
- package/src/tool/global-albedo-snowball-simulator/bibliography.astro +14 -0
- package/src/tool/global-albedo-snowball-simulator/bibliography.ts +16 -0
- package/src/tool/global-albedo-snowball-simulator/component.astro +278 -0
- package/src/tool/global-albedo-snowball-simulator/entry.ts +26 -0
- package/src/tool/global-albedo-snowball-simulator/global-albedo-snowball-simulator.css +530 -0
- package/src/tool/global-albedo-snowball-simulator/i18n/de.ts +169 -0
- package/src/tool/global-albedo-snowball-simulator/i18n/en.ts +169 -0
- package/src/tool/global-albedo-snowball-simulator/i18n/es.ts +169 -0
- package/src/tool/global-albedo-snowball-simulator/i18n/fr.ts +169 -0
- package/src/tool/global-albedo-snowball-simulator/i18n/id.ts +169 -0
- package/src/tool/global-albedo-snowball-simulator/i18n/it.ts +87 -0
- package/src/tool/global-albedo-snowball-simulator/i18n/ja.ts +87 -0
- package/src/tool/global-albedo-snowball-simulator/i18n/ko.ts +169 -0
- package/src/tool/global-albedo-snowball-simulator/i18n/nl.ts +169 -0
- package/src/tool/global-albedo-snowball-simulator/i18n/pl.ts +169 -0
- package/src/tool/global-albedo-snowball-simulator/i18n/pt.ts +169 -0
- package/src/tool/global-albedo-snowball-simulator/i18n/ru.ts +169 -0
- package/src/tool/global-albedo-snowball-simulator/i18n/sv.ts +169 -0
- package/src/tool/global-albedo-snowball-simulator/i18n/tr.ts +169 -0
- package/src/tool/global-albedo-snowball-simulator/i18n/zh.ts +169 -0
- package/src/tool/global-albedo-snowball-simulator/index.ts +11 -0
- package/src/tool/global-albedo-snowball-simulator/logic.ts +88 -0
- package/src/tool/global-albedo-snowball-simulator/seo.astro +15 -0
- package/src/tools.ts +6 -0
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
import { bibliography } from '../bibliography';
|
|
2
|
+
import type { ToolLocaleContent } from '../../../types';
|
|
3
|
+
|
|
4
|
+
const slug = 'conway-life-rule-lab';
|
|
5
|
+
const title = 'Conway Game of Life Rule Lab';
|
|
6
|
+
const description = 'Play, edit, and compare Conway-style cellular automata with B/S rules, pattern seeds, live metrics, and a responsive simulation board.';
|
|
7
|
+
|
|
8
|
+
const howTo = [
|
|
9
|
+
{
|
|
10
|
+
name: 'Seed the board',
|
|
11
|
+
text: 'Choose a pattern such as a glider, pulsar, or Gosper gun, then place it on the grid or randomize a living population.',
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
name: 'Run the simulation',
|
|
15
|
+
text: 'Use play, pause, step, and speed controls to watch births, deaths, density, and stability evolve over time.',
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
name: 'Change the rule',
|
|
19
|
+
text: 'Switch presets or type a B/S rule such as B3/S23, B36/S23, or B3678/S34678 to compare different automata.',
|
|
20
|
+
},
|
|
21
|
+
];
|
|
22
|
+
|
|
23
|
+
const faq = [
|
|
24
|
+
{
|
|
25
|
+
question: 'What is B/S notation in the Game of Life?',
|
|
26
|
+
answer: 'B/S notation lists the neighbor counts that create a new live cell and the counts that let an existing live cell survive. Conway Life is B3/S23: dead cells are born with exactly three neighbors, and live cells survive with two or three neighbors.',
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
question: 'Why is this tool called a rule lab instead of only a Game of Life simulator?',
|
|
30
|
+
answer: 'The classic Conway rule is included, but the simulator is built to compare families of Life-like cellular automata. Editing the birth and survival counts changes the long-term behavior, producing replicators, waves, frozen islands, chaotic growth, or extinction.',
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
question: 'What does stability mean in the simulator?',
|
|
34
|
+
answer: 'Stability estimates how much the colony changed during the last generation. High stability means few cells were born or died relative to the population; low stability means the board is turbulent or rapidly reorganizing.',
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
question: 'Does the board have edges?',
|
|
38
|
+
answer: 'The simulation uses toroidal wrapping, so the left edge connects to the right edge and the top connects to the bottom. This keeps patterns moving naturally without disappearing at hard borders.',
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
question: 'Can I draw my own starting pattern?',
|
|
42
|
+
answer: 'Yes. Pause the simulation and click or tap cells on the board to toggle them. You can combine hand-drawn cells with built-in patterns and then run the result under any rule preset.',
|
|
43
|
+
},
|
|
44
|
+
];
|
|
45
|
+
|
|
46
|
+
export const content: ToolLocaleContent = {
|
|
47
|
+
slug,
|
|
48
|
+
title,
|
|
49
|
+
description,
|
|
50
|
+
ui: {
|
|
51
|
+
boardLabel: 'Life-like cellular automata board',
|
|
52
|
+
play: 'Play',
|
|
53
|
+
pause: 'Pause',
|
|
54
|
+
step: 'Step',
|
|
55
|
+
clear: 'Clear',
|
|
56
|
+
randomize: 'Randomize',
|
|
57
|
+
ruleLabel: 'Rule notation',
|
|
58
|
+
ruleHelp: 'Birth / survival counts',
|
|
59
|
+
speedLabel: 'Tempo',
|
|
60
|
+
densityLabel: 'Seed density',
|
|
61
|
+
patternLabel: 'Pattern',
|
|
62
|
+
placePattern: 'Place pattern',
|
|
63
|
+
generation: 'Generation',
|
|
64
|
+
population: 'Population',
|
|
65
|
+
density: 'Density',
|
|
66
|
+
stability: 'Stability',
|
|
67
|
+
births: 'Births',
|
|
68
|
+
deaths: 'Deaths',
|
|
69
|
+
achievementsLabel: 'Laboratory log',
|
|
70
|
+
achievementPulsar: 'Pulsar',
|
|
71
|
+
achievementPulsarDescription: 'Period-2 oscillation detected',
|
|
72
|
+
achievementImmortal: 'Immortal',
|
|
73
|
+
achievementImmortalDescription: 'Generation 500 reached at full stability',
|
|
74
|
+
achievementBigBang: 'Big Bang',
|
|
75
|
+
achievementBigBangDescription: 'Sparse random seed exceeded 1,000 living cells',
|
|
76
|
+
presetClassic: 'Conway Classic',
|
|
77
|
+
presetHighlife: 'HighLife',
|
|
78
|
+
presetSeeds: 'Seeds',
|
|
79
|
+
presetDayNight: 'Day & Night',
|
|
80
|
+
patternGlider: 'Glider',
|
|
81
|
+
patternGosper: 'Gosper Gun',
|
|
82
|
+
patternPulsar: 'Pulsar',
|
|
83
|
+
patternRPentomino: 'R-pentomino',
|
|
84
|
+
colonyStatus: 'Colony signal',
|
|
85
|
+
statusFrozen: 'stable',
|
|
86
|
+
statusGrowing: 'expanding',
|
|
87
|
+
statusFading: 'declining',
|
|
88
|
+
statusChaotic: 'volatile',
|
|
89
|
+
invalidRule: 'Use B/S notation such as B3/S23.',
|
|
90
|
+
},
|
|
91
|
+
seo: [
|
|
92
|
+
{
|
|
93
|
+
type: 'title',
|
|
94
|
+
text: 'Conway Game of Life Simulator with Editable Rules',
|
|
95
|
+
level: 2,
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
type: 'paragraph',
|
|
99
|
+
html: 'This Conway Game of Life rule lab lets you run the classic cellular automaton and then deliberately break, bend, and compare its rules. The board supports direct drawing, pattern placement, random seeds, step-by-step inspection, variable tempo, and live measurements for population, density, births, deaths, and stability. It is built for experimentation: you can start with a known pattern, change the rule notation, and immediately see whether the colony stabilizes, explodes, replicates, or vanishes.',
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
type: 'title',
|
|
103
|
+
text: 'How B/S Rules Change the Game',
|
|
104
|
+
level: 3,
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
type: 'paragraph',
|
|
108
|
+
html: 'Life-like cellular automata are often written in <strong>B/S notation</strong>. The B side defines how many live neighbors a dead cell needs to be born; the S side defines how many neighbors a live cell needs to survive. Conway\'s original rule, <strong>B3/S23</strong>, is famous because it sits in a narrow region between extinction and uncontrolled growth. Small changes can create dramatically different behavior, from HighLife replicators to Seeds-style branching fronts.',
|
|
109
|
+
},
|
|
110
|
+
{
|
|
111
|
+
type: 'table',
|
|
112
|
+
headers: ['Rule', 'Behavior to watch for', 'Good experiment'],
|
|
113
|
+
rows: [
|
|
114
|
+
['<strong>B3/S23</strong>', 'Classic gliders, blinkers, still lifes, and engineered guns.', 'Place the Gosper gun and track population rhythm over several dozen generations.'],
|
|
115
|
+
['<strong>B36/S23</strong>', 'HighLife supports Conway structures plus self-replicating patterns.', 'Compare the same random seed against Conway Classic and look for faster expansion.'],
|
|
116
|
+
['<strong>B2/S</strong>', 'Cells never survive; the field becomes a wave of births and immediate deaths.', 'Start with a small seed and watch the frontier race outward.'],
|
|
117
|
+
['<strong>B3678/S34678</strong>', 'Day & Night supports dense inverse structures and large stable regions.', 'Randomize a high-density board and observe how voids behave like living islands.'],
|
|
118
|
+
],
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
type: 'title',
|
|
122
|
+
text: 'Why Patterns Matter',
|
|
123
|
+
level: 3,
|
|
124
|
+
},
|
|
125
|
+
{
|
|
126
|
+
type: 'paragraph',
|
|
127
|
+
html: 'Patterns are the vocabulary of the Game of Life. A glider demonstrates movement, a pulsar demonstrates oscillation, the R-pentomino demonstrates long chaotic settling, and the Gosper gun demonstrates periodic production. Testing the same pattern under multiple rules reveals which behaviors depend on Conway\'s exact balance and which survive in nearby automata.',
|
|
128
|
+
},
|
|
129
|
+
{
|
|
130
|
+
type: 'title',
|
|
131
|
+
text: 'Reading the Live Metrics',
|
|
132
|
+
level: 3,
|
|
133
|
+
},
|
|
134
|
+
{
|
|
135
|
+
type: 'paragraph',
|
|
136
|
+
html: 'Population and density show how many cells are alive, but they do not tell the full story. Births and deaths expose the current activity level, while stability estimates whether the colony is settling into an oscillator, freezing into still lifes, or remaining turbulent. These measurements make the simulator useful for comparing rules instead of only watching attractive motion on a grid.',
|
|
137
|
+
},
|
|
138
|
+
],
|
|
139
|
+
faq,
|
|
140
|
+
bibliography,
|
|
141
|
+
howTo,
|
|
142
|
+
schemas: [
|
|
143
|
+
{
|
|
144
|
+
'@context': 'https://schema.org',
|
|
145
|
+
'@type': 'SoftwareApplication',
|
|
146
|
+
name: title,
|
|
147
|
+
description,
|
|
148
|
+
applicationCategory: 'EducationalApplication',
|
|
149
|
+
operatingSystem: 'Any',
|
|
150
|
+
},
|
|
151
|
+
{
|
|
152
|
+
'@context': 'https://schema.org',
|
|
153
|
+
'@type': 'FAQPage',
|
|
154
|
+
mainEntity: faq.map((item) => ({
|
|
155
|
+
'@type': 'Question',
|
|
156
|
+
name: item.question,
|
|
157
|
+
acceptedAnswer: {
|
|
158
|
+
'@type': 'Answer',
|
|
159
|
+
text: item.answer,
|
|
160
|
+
},
|
|
161
|
+
})),
|
|
162
|
+
},
|
|
163
|
+
{
|
|
164
|
+
'@context': 'https://schema.org',
|
|
165
|
+
'@type': 'HowTo',
|
|
166
|
+
name: title,
|
|
167
|
+
step: howTo.map((step) => ({
|
|
168
|
+
'@type': 'HowToStep',
|
|
169
|
+
name: step.name,
|
|
170
|
+
text: step.text,
|
|
171
|
+
})),
|
|
172
|
+
},
|
|
173
|
+
],
|
|
174
|
+
};
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { content as enContent } from './en';
|
|
2
|
+
import type { ToolLocaleContent } from '../../../types';
|
|
3
|
+
|
|
4
|
+
export const content: ToolLocaleContent = {
|
|
5
|
+
...enContent,
|
|
6
|
+
slug: 'laboratorio-reglas-juego-vida-conway',
|
|
7
|
+
title: 'Laboratorio de Reglas del Juego de la Vida de Conway',
|
|
8
|
+
description: 'Juega, edita y compara autómatas celulares tipo Conway con reglas B/S, semillas de patrones, métricas en vivo y un tablero de simulación adaptable.',
|
|
9
|
+
ui: {
|
|
10
|
+
boardLabel: 'Tablero de autómatas celulares tipo Life',
|
|
11
|
+
play: 'Reproducir',
|
|
12
|
+
pause: 'Pausar',
|
|
13
|
+
step: 'Paso',
|
|
14
|
+
clear: 'Lienzo en blanco',
|
|
15
|
+
randomize: 'Aleatorizar',
|
|
16
|
+
ruleLabel: 'Notación de regla',
|
|
17
|
+
ruleHelp: 'Conteos de nacimiento / supervivencia',
|
|
18
|
+
speedLabel: 'Tempo',
|
|
19
|
+
densityLabel: 'Densidad inicial',
|
|
20
|
+
patternLabel: 'Patrón',
|
|
21
|
+
placePattern: 'Colocar patrón',
|
|
22
|
+
generation: 'Generación',
|
|
23
|
+
population: 'Población',
|
|
24
|
+
density: 'Densidad',
|
|
25
|
+
stability: 'Estabilidad',
|
|
26
|
+
births: 'Nacimientos',
|
|
27
|
+
deaths: 'Muertes',
|
|
28
|
+
achievementsLabel: 'Registro de laboratorio',
|
|
29
|
+
achievementPulsar: 'Pulsar',
|
|
30
|
+
achievementPulsarDescription: 'Oscilación de periodo 2 detectada',
|
|
31
|
+
achievementImmortal: 'Inmortal',
|
|
32
|
+
achievementImmortalDescription: 'Generación 500 alcanzada con estabilidad total',
|
|
33
|
+
achievementBigBang: 'Big Bang',
|
|
34
|
+
achievementBigBangDescription: 'Una semilla aleatoria dispersa superó 1.000 células vivas',
|
|
35
|
+
presetClassic: 'Conway clásico',
|
|
36
|
+
presetHighlife: 'HighLife',
|
|
37
|
+
presetSeeds: 'Seeds',
|
|
38
|
+
presetDayNight: 'Día y noche',
|
|
39
|
+
patternGlider: 'Planeador',
|
|
40
|
+
patternGosper: 'Cañón de Gosper',
|
|
41
|
+
patternPulsar: 'Pulsar',
|
|
42
|
+
patternRPentomino: 'R-pentominó',
|
|
43
|
+
colonyStatus: 'Señal de colonia',
|
|
44
|
+
statusFrozen: 'estable',
|
|
45
|
+
statusGrowing: 'expandiéndose',
|
|
46
|
+
statusFading: 'declinando',
|
|
47
|
+
statusChaotic: 'volátil',
|
|
48
|
+
invalidRule: 'Usa notación B/S como B3/S23.',
|
|
49
|
+
},
|
|
50
|
+
};
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { content as enContent } from './en';
|
|
2
|
+
import type { ToolLocaleContent } from '../../../types';
|
|
3
|
+
|
|
4
|
+
export const content: ToolLocaleContent = {
|
|
5
|
+
...enContent,
|
|
6
|
+
slug: 'laboratoire-regles-jeu-vie-conway',
|
|
7
|
+
title: 'Laboratoire de règles du Jeu de la Vie de Conway',
|
|
8
|
+
description: 'Jouez, modifiez et comparez des automates cellulaires de type Conway avec règles B/S, motifs de départ, métriques en direct et grille responsive.',
|
|
9
|
+
ui: {
|
|
10
|
+
boardLabel: 'Grille d\'automates cellulaires de type Life',
|
|
11
|
+
play: 'Lire',
|
|
12
|
+
pause: 'Pause',
|
|
13
|
+
step: 'Pas',
|
|
14
|
+
clear: 'Toile vierge',
|
|
15
|
+
randomize: 'Aléatoire',
|
|
16
|
+
ruleLabel: 'Notation de règle',
|
|
17
|
+
ruleHelp: 'Naissance / survie',
|
|
18
|
+
speedLabel: 'Tempo',
|
|
19
|
+
densityLabel: 'Densité initiale',
|
|
20
|
+
patternLabel: 'Motif',
|
|
21
|
+
placePattern: 'Placer le motif',
|
|
22
|
+
generation: 'Génération',
|
|
23
|
+
population: 'Population',
|
|
24
|
+
density: 'Densité',
|
|
25
|
+
stability: 'Stabilité',
|
|
26
|
+
births: 'Naissances',
|
|
27
|
+
deaths: 'Morts',
|
|
28
|
+
achievementsLabel: 'Journal de laboratoire',
|
|
29
|
+
achievementPulsar: 'Pulsar',
|
|
30
|
+
achievementPulsarDescription: 'Oscillation de période 2 détectée',
|
|
31
|
+
achievementImmortal: 'Immortel',
|
|
32
|
+
achievementImmortalDescription: 'Génération 500 atteinte avec stabilité totale',
|
|
33
|
+
achievementBigBang: 'Big Bang',
|
|
34
|
+
achievementBigBangDescription: 'Une graine aléatoire clairsemée a dépassé 1 000 cellules vivantes',
|
|
35
|
+
presetClassic: 'Conway classique',
|
|
36
|
+
presetHighlife: 'HighLife',
|
|
37
|
+
presetSeeds: 'Seeds',
|
|
38
|
+
presetDayNight: 'Jour et nuit',
|
|
39
|
+
patternGlider: 'Planeur',
|
|
40
|
+
patternGosper: 'Canon de Gosper',
|
|
41
|
+
patternPulsar: 'Pulsar',
|
|
42
|
+
patternRPentomino: 'R-pentomino',
|
|
43
|
+
colonyStatus: 'Signal de colonie',
|
|
44
|
+
statusFrozen: 'stable',
|
|
45
|
+
statusGrowing: 'expansion',
|
|
46
|
+
statusFading: 'déclin',
|
|
47
|
+
statusChaotic: 'volatile',
|
|
48
|
+
invalidRule: 'Utilisez une notation B/S comme B3/S23.',
|
|
49
|
+
},
|
|
50
|
+
};
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { content as enContent } from './en';
|
|
2
|
+
import type { ToolLocaleContent } from '../../../types';
|
|
3
|
+
|
|
4
|
+
export const content: ToolLocaleContent = {
|
|
5
|
+
...enContent,
|
|
6
|
+
slug: "lab-aturan-game-of-life-conway",
|
|
7
|
+
title: "Lab Aturan Game of Life Conway",
|
|
8
|
+
description: "Mainkan, edit, dan bandingkan automata seluler bergaya Conway dengan aturan B/S, benih pola, metrik langsung, dan papan simulasi responsif.",
|
|
9
|
+
ui: {
|
|
10
|
+
"boardLabel": "Papan automata seluler mirip Life",
|
|
11
|
+
"play": "Putar",
|
|
12
|
+
"pause": "Jeda",
|
|
13
|
+
"step": "Langkah",
|
|
14
|
+
"clear": "Kanvas kosong",
|
|
15
|
+
"randomize": "Acak",
|
|
16
|
+
"ruleLabel": "Notasi aturan",
|
|
17
|
+
"ruleHelp": "Kelahiran / bertahan",
|
|
18
|
+
"speedLabel": "Tempo",
|
|
19
|
+
"densityLabel": "Kepadatan awal",
|
|
20
|
+
"patternLabel": "Pola",
|
|
21
|
+
"placePattern": "Tempatkan pola",
|
|
22
|
+
"generation": "Generasi",
|
|
23
|
+
"population": "Populasi",
|
|
24
|
+
"density": "Kepadatan",
|
|
25
|
+
"stability": "Stabilitas",
|
|
26
|
+
"births": "Kelahiran",
|
|
27
|
+
"deaths": "Kematian",
|
|
28
|
+
"achievementsLabel": "Catatan lab",
|
|
29
|
+
"achievementPulsar": "Pulsar",
|
|
30
|
+
"achievementPulsarDescription": "Osilasi periode 2 terdeteksi",
|
|
31
|
+
"achievementImmortal": "Abadi",
|
|
32
|
+
"achievementImmortalDescription": "Generasi 500 dicapai dengan stabilitas penuh",
|
|
33
|
+
"achievementBigBang": "Big Bang",
|
|
34
|
+
"achievementBigBangDescription": "Benih acak jarang melewati 1.000 sel hidup",
|
|
35
|
+
"presetClassic": "Conway klasik",
|
|
36
|
+
"presetHighlife": "HighLife",
|
|
37
|
+
"presetSeeds": "Seeds",
|
|
38
|
+
"presetDayNight": "Siang & malam",
|
|
39
|
+
"patternGlider": "Glider",
|
|
40
|
+
"patternGosper": "Meriam Gosper",
|
|
41
|
+
"patternPulsar": "Pulsar",
|
|
42
|
+
"patternRPentomino": "R-pentomino",
|
|
43
|
+
"colonyStatus": "Sinyal koloni",
|
|
44
|
+
"statusFrozen": "stabil",
|
|
45
|
+
"statusGrowing": "mengembang",
|
|
46
|
+
"statusFading": "menurun",
|
|
47
|
+
"statusChaotic": "bergejolak",
|
|
48
|
+
"invalidRule": "Gunakan notasi B/S seperti B3/S23."
|
|
49
|
+
},
|
|
50
|
+
};
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { content as enContent } from './en';
|
|
2
|
+
import type { ToolLocaleContent } from '../../../types';
|
|
3
|
+
|
|
4
|
+
export const content: ToolLocaleContent = {
|
|
5
|
+
...enContent,
|
|
6
|
+
slug: 'laboratorio-regole-gioco-vita-conway',
|
|
7
|
+
title: 'Laboratorio di regole del Gioco della Vita di Conway',
|
|
8
|
+
description: 'Gioca, modifica e confronta automi cellulari in stile Conway con regole B/S, semi di pattern, metriche live e una griglia responsive.',
|
|
9
|
+
ui: {
|
|
10
|
+
boardLabel: 'Griglia di automi cellulari tipo Life',
|
|
11
|
+
play: 'Avvia',
|
|
12
|
+
pause: 'Pausa',
|
|
13
|
+
step: 'Passo',
|
|
14
|
+
clear: 'Tela vuota',
|
|
15
|
+
randomize: 'Casuale',
|
|
16
|
+
ruleLabel: 'Notazione regola',
|
|
17
|
+
ruleHelp: 'Nascita / sopravvivenza',
|
|
18
|
+
speedLabel: 'Tempo',
|
|
19
|
+
densityLabel: 'Densità iniziale',
|
|
20
|
+
patternLabel: 'Pattern',
|
|
21
|
+
placePattern: 'Posiziona pattern',
|
|
22
|
+
generation: 'Generazione',
|
|
23
|
+
population: 'Popolazione',
|
|
24
|
+
density: 'Densità',
|
|
25
|
+
stability: 'Stabilità',
|
|
26
|
+
births: 'Nascite',
|
|
27
|
+
deaths: 'Morti',
|
|
28
|
+
achievementsLabel: 'Registro laboratorio',
|
|
29
|
+
achievementPulsar: 'Pulsar',
|
|
30
|
+
achievementPulsarDescription: 'Oscillazione di periodo 2 rilevata',
|
|
31
|
+
achievementImmortal: 'Immortale',
|
|
32
|
+
achievementImmortalDescription: 'Generazione 500 raggiunta con stabilità totale',
|
|
33
|
+
achievementBigBang: 'Big Bang',
|
|
34
|
+
achievementBigBangDescription: 'Un seme casuale rado ha superato 1.000 cellule vive',
|
|
35
|
+
presetClassic: 'Conway classico',
|
|
36
|
+
presetHighlife: 'HighLife',
|
|
37
|
+
presetSeeds: 'Seeds',
|
|
38
|
+
presetDayNight: 'Giorno e notte',
|
|
39
|
+
patternGlider: 'Aliante',
|
|
40
|
+
patternGosper: 'Cannone di Gosper',
|
|
41
|
+
patternPulsar: 'Pulsar',
|
|
42
|
+
patternRPentomino: 'R-pentomino',
|
|
43
|
+
colonyStatus: 'Segnale colonia',
|
|
44
|
+
statusFrozen: 'stabile',
|
|
45
|
+
statusGrowing: 'in espansione',
|
|
46
|
+
statusFading: 'in calo',
|
|
47
|
+
statusChaotic: 'volatile',
|
|
48
|
+
invalidRule: 'Usa la notazione B/S come B3/S23.',
|
|
49
|
+
},
|
|
50
|
+
};
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { content as enContent } from './en';
|
|
2
|
+
import type { ToolLocaleContent } from '../../../types';
|
|
3
|
+
|
|
4
|
+
export const content: ToolLocaleContent = {
|
|
5
|
+
...enContent,
|
|
6
|
+
slug: 'conway-life-rule-lab',
|
|
7
|
+
title: 'コンウェイのライフゲーム規則ラボ',
|
|
8
|
+
description: 'B/Sルール、パターンシード、ライブ指標、レスポンシブな盤面で、コンウェイ型セル・オートマトンを操作、編集、比較します。',
|
|
9
|
+
ui: {
|
|
10
|
+
boardLabel: 'Life系セル・オートマトン盤面',
|
|
11
|
+
play: '再生',
|
|
12
|
+
pause: '一時停止',
|
|
13
|
+
step: 'ステップ',
|
|
14
|
+
clear: '空のキャンバス',
|
|
15
|
+
randomize: 'ランダム',
|
|
16
|
+
ruleLabel: 'ルール表記',
|
|
17
|
+
ruleHelp: '誕生 / 生存カウント',
|
|
18
|
+
speedLabel: 'テンポ',
|
|
19
|
+
densityLabel: '初期密度',
|
|
20
|
+
patternLabel: 'パターン',
|
|
21
|
+
placePattern: 'パターン配置',
|
|
22
|
+
generation: '世代',
|
|
23
|
+
population: '個体数',
|
|
24
|
+
density: '密度',
|
|
25
|
+
stability: '安定度',
|
|
26
|
+
births: '誕生',
|
|
27
|
+
deaths: '死滅',
|
|
28
|
+
achievementsLabel: 'ラボ記録',
|
|
29
|
+
achievementPulsar: 'パルサー',
|
|
30
|
+
achievementPulsarDescription: '周期2の振動を検出',
|
|
31
|
+
achievementImmortal: '不滅',
|
|
32
|
+
achievementImmortalDescription: '完全安定で500世代に到達',
|
|
33
|
+
achievementBigBang: 'ビッグバン',
|
|
34
|
+
achievementBigBangDescription: '低密度ランダムシードが生存セル1,000を超過',
|
|
35
|
+
presetClassic: '古典Conway',
|
|
36
|
+
presetHighlife: 'HighLife',
|
|
37
|
+
presetSeeds: 'Seeds',
|
|
38
|
+
presetDayNight: 'Day & Night',
|
|
39
|
+
patternGlider: 'グライダー',
|
|
40
|
+
patternGosper: 'ゴスパー銃',
|
|
41
|
+
patternPulsar: 'パルサー',
|
|
42
|
+
patternRPentomino: 'Rペントミノ',
|
|
43
|
+
colonyStatus: 'コロニー信号',
|
|
44
|
+
statusFrozen: '安定',
|
|
45
|
+
statusGrowing: '拡大中',
|
|
46
|
+
statusFading: '減衰中',
|
|
47
|
+
statusChaotic: '不安定',
|
|
48
|
+
invalidRule: 'B3/S23 のような B/S 表記を使ってください。',
|
|
49
|
+
},
|
|
50
|
+
};
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { content as enContent } from './en';
|
|
2
|
+
import type { ToolLocaleContent } from '../../../types';
|
|
3
|
+
|
|
4
|
+
export const content: ToolLocaleContent = {
|
|
5
|
+
...enContent,
|
|
6
|
+
slug: 'conway-life-rule-lab',
|
|
7
|
+
title: '콘웨이 생명 게임 규칙 연구실',
|
|
8
|
+
description: 'B/S 규칙, 패턴 시드, 실시간 지표, 반응형 보드로 콘웨이형 세포 자동자를 플레이하고 편집하며 비교합니다.',
|
|
9
|
+
ui: {
|
|
10
|
+
boardLabel: 'Life 계열 세포 자동자 보드',
|
|
11
|
+
play: '재생',
|
|
12
|
+
pause: '일시정지',
|
|
13
|
+
step: '단계',
|
|
14
|
+
clear: '빈 캔버스',
|
|
15
|
+
randomize: '무작위',
|
|
16
|
+
ruleLabel: '규칙 표기',
|
|
17
|
+
ruleHelp: '탄생 / 생존 수',
|
|
18
|
+
speedLabel: '템포',
|
|
19
|
+
densityLabel: '초기 밀도',
|
|
20
|
+
patternLabel: '패턴',
|
|
21
|
+
placePattern: '패턴 배치',
|
|
22
|
+
generation: '세대',
|
|
23
|
+
population: '개체 수',
|
|
24
|
+
density: '밀도',
|
|
25
|
+
stability: '안정성',
|
|
26
|
+
births: '탄생',
|
|
27
|
+
deaths: '죽음',
|
|
28
|
+
achievementsLabel: '실험 기록',
|
|
29
|
+
achievementPulsar: '펄서',
|
|
30
|
+
achievementPulsarDescription: '주기 2 진동 감지',
|
|
31
|
+
achievementImmortal: '불멸',
|
|
32
|
+
achievementImmortalDescription: '완전 안정 상태로 500세대 도달',
|
|
33
|
+
achievementBigBang: '빅뱅',
|
|
34
|
+
achievementBigBangDescription: '낮은 밀도의 무작위 시드가 살아있는 셀 1,000개를 초과',
|
|
35
|
+
presetClassic: '콘웨이 클래식',
|
|
36
|
+
presetHighlife: 'HighLife',
|
|
37
|
+
presetSeeds: 'Seeds',
|
|
38
|
+
presetDayNight: '낮과 밤',
|
|
39
|
+
patternGlider: '글라이더',
|
|
40
|
+
patternGosper: '고스퍼 건',
|
|
41
|
+
patternPulsar: '펄서',
|
|
42
|
+
patternRPentomino: 'R-펜토미노',
|
|
43
|
+
colonyStatus: '군집 신호',
|
|
44
|
+
statusFrozen: '안정',
|
|
45
|
+
statusGrowing: '확장 중',
|
|
46
|
+
statusFading: '감소 중',
|
|
47
|
+
statusChaotic: '불안정',
|
|
48
|
+
invalidRule: 'B3/S23 같은 B/S 표기를 사용하세요.',
|
|
49
|
+
},
|
|
50
|
+
};
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { content as enContent } from './en';
|
|
2
|
+
import type { ToolLocaleContent } from '../../../types';
|
|
3
|
+
|
|
4
|
+
export const content: ToolLocaleContent = {
|
|
5
|
+
...enContent,
|
|
6
|
+
slug: "conway-game-of-life-regellab",
|
|
7
|
+
title: "Conway Game of Life Regellab",
|
|
8
|
+
description: "Speel, bewerk en vergelijk Conway-achtige cellulaire automaten met B/S-regels, patroonzaad, live-metingen en een responsief simulatiebord.",
|
|
9
|
+
ui: {
|
|
10
|
+
"boardLabel": "Bord voor Life-achtige cellulaire automaten",
|
|
11
|
+
"play": "Afspelen",
|
|
12
|
+
"pause": "Pauze",
|
|
13
|
+
"step": "Stap",
|
|
14
|
+
"clear": "Leeg canvas",
|
|
15
|
+
"randomize": "Willekeurig",
|
|
16
|
+
"ruleLabel": "Regelnotatie",
|
|
17
|
+
"ruleHelp": "Geboorte / overleving",
|
|
18
|
+
"speedLabel": "Tempo",
|
|
19
|
+
"densityLabel": "Startdichtheid",
|
|
20
|
+
"patternLabel": "Patroon",
|
|
21
|
+
"placePattern": "Patroon plaatsen",
|
|
22
|
+
"generation": "Generatie",
|
|
23
|
+
"population": "Populatie",
|
|
24
|
+
"density": "Dichtheid",
|
|
25
|
+
"stability": "Stabiliteit",
|
|
26
|
+
"births": "Geboortes",
|
|
27
|
+
"deaths": "Sterftes",
|
|
28
|
+
"achievementsLabel": "Laboratoriumlog",
|
|
29
|
+
"achievementPulsar": "Pulsar",
|
|
30
|
+
"achievementPulsarDescription": "Oscillatie met periode 2 gedetecteerd",
|
|
31
|
+
"achievementImmortal": "Onsterfelijk",
|
|
32
|
+
"achievementImmortalDescription": "Generatie 500 bereikt met volledige stabiliteit",
|
|
33
|
+
"achievementBigBang": "Big Bang",
|
|
34
|
+
"achievementBigBangDescription": "Een schaarse willekeurige seed overschreed 1.000 levende cellen",
|
|
35
|
+
"presetClassic": "Conway klassiek",
|
|
36
|
+
"presetHighlife": "HighLife",
|
|
37
|
+
"presetSeeds": "Seeds",
|
|
38
|
+
"presetDayNight": "Dag & nacht",
|
|
39
|
+
"patternGlider": "Glider",
|
|
40
|
+
"patternGosper": "Gosper-kanon",
|
|
41
|
+
"patternPulsar": "Pulsar",
|
|
42
|
+
"patternRPentomino": "R-pentomino",
|
|
43
|
+
"colonyStatus": "Koloniesignaal",
|
|
44
|
+
"statusFrozen": "stabiel",
|
|
45
|
+
"statusGrowing": "groeiend",
|
|
46
|
+
"statusFading": "afnemend",
|
|
47
|
+
"statusChaotic": "volatiel",
|
|
48
|
+
"invalidRule": "Gebruik B/S-notatie zoals B3/S23."
|
|
49
|
+
},
|
|
50
|
+
};
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { content as enContent } from './en';
|
|
2
|
+
import type { ToolLocaleContent } from '../../../types';
|
|
3
|
+
|
|
4
|
+
export const content: ToolLocaleContent = {
|
|
5
|
+
...enContent,
|
|
6
|
+
slug: 'laboratorium-regul-gra-w-zycie-conwaya',
|
|
7
|
+
title: 'Laboratorium reguł Gry w życie Conwaya',
|
|
8
|
+
description: 'Graj, edytuj i porównuj automaty komórkowe typu Conwaya z regułami B/S, wzorcami startowymi, metrykami live i responsywną planszą.',
|
|
9
|
+
ui: {
|
|
10
|
+
boardLabel: 'Plansza automatów komórkowych typu Life',
|
|
11
|
+
play: 'Start',
|
|
12
|
+
pause: 'Pauza',
|
|
13
|
+
step: 'Krok',
|
|
14
|
+
clear: 'Puste płótno',
|
|
15
|
+
randomize: 'Losuj',
|
|
16
|
+
ruleLabel: 'Notacja reguły',
|
|
17
|
+
ruleHelp: 'Narodziny / przetrwanie',
|
|
18
|
+
speedLabel: 'Tempo',
|
|
19
|
+
densityLabel: 'Gęstość startowa',
|
|
20
|
+
patternLabel: 'Wzorzec',
|
|
21
|
+
placePattern: 'Umieść wzorzec',
|
|
22
|
+
generation: 'Generacja',
|
|
23
|
+
population: 'Populacja',
|
|
24
|
+
density: 'Gęstość',
|
|
25
|
+
stability: 'Stabilność',
|
|
26
|
+
births: 'Narodziny',
|
|
27
|
+
deaths: 'Śmierci',
|
|
28
|
+
achievementsLabel: 'Dziennik laboratorium',
|
|
29
|
+
achievementPulsar: 'Pulsar',
|
|
30
|
+
achievementPulsarDescription: 'Wykryto oscylację o okresie 2',
|
|
31
|
+
achievementImmortal: 'Nieśmiertelny',
|
|
32
|
+
achievementImmortalDescription: 'Osiągnięto generację 500 przy pełnej stabilności',
|
|
33
|
+
achievementBigBang: 'Big Bang',
|
|
34
|
+
achievementBigBangDescription: 'Rzadkie losowe ziarno przekroczyło 1 000 żywych komórek',
|
|
35
|
+
presetClassic: 'Klasyczny Conway',
|
|
36
|
+
presetHighlife: 'HighLife',
|
|
37
|
+
presetSeeds: 'Seeds',
|
|
38
|
+
presetDayNight: 'Dzień i noc',
|
|
39
|
+
patternGlider: 'Szybowiec',
|
|
40
|
+
patternGosper: 'Działo Gospera',
|
|
41
|
+
patternPulsar: 'Pulsar',
|
|
42
|
+
patternRPentomino: 'R-pentomino',
|
|
43
|
+
colonyStatus: 'Sygnał kolonii',
|
|
44
|
+
statusFrozen: 'stabilna',
|
|
45
|
+
statusGrowing: 'rośnie',
|
|
46
|
+
statusFading: 'zanika',
|
|
47
|
+
statusChaotic: 'zmienna',
|
|
48
|
+
invalidRule: 'Użyj notacji B/S, np. B3/S23.',
|
|
49
|
+
},
|
|
50
|
+
};
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { content as enContent } from './en';
|
|
2
|
+
import type { ToolLocaleContent } from '../../../types';
|
|
3
|
+
|
|
4
|
+
export const content: ToolLocaleContent = {
|
|
5
|
+
...enContent,
|
|
6
|
+
slug: 'laboratorio-regras-jogo-vida-conway',
|
|
7
|
+
title: 'Laboratório de Regras do Jogo da Vida de Conway',
|
|
8
|
+
description: 'Jogue, edite e compare autômatos celulares ao estilo Conway com regras B/S, sementes de padrões, métricas ao vivo e grade responsiva.',
|
|
9
|
+
ui: {
|
|
10
|
+
boardLabel: 'Grade de autômatos celulares tipo Life',
|
|
11
|
+
play: 'Reproduzir',
|
|
12
|
+
pause: 'Pausar',
|
|
13
|
+
step: 'Passo',
|
|
14
|
+
clear: 'Tela em branco',
|
|
15
|
+
randomize: 'Aleatório',
|
|
16
|
+
ruleLabel: 'Notação da regra',
|
|
17
|
+
ruleHelp: 'Nascimento / sobrevivência',
|
|
18
|
+
speedLabel: 'Ritmo',
|
|
19
|
+
densityLabel: 'Densidade inicial',
|
|
20
|
+
patternLabel: 'Padrão',
|
|
21
|
+
placePattern: 'Inserir padrão',
|
|
22
|
+
generation: 'Geração',
|
|
23
|
+
population: 'População',
|
|
24
|
+
density: 'Densidade',
|
|
25
|
+
stability: 'Estabilidade',
|
|
26
|
+
births: 'Nascimentos',
|
|
27
|
+
deaths: 'Mortes',
|
|
28
|
+
achievementsLabel: 'Registro de laboratório',
|
|
29
|
+
achievementPulsar: 'Pulsar',
|
|
30
|
+
achievementPulsarDescription: 'Oscilação de período 2 detectada',
|
|
31
|
+
achievementImmortal: 'Imortal',
|
|
32
|
+
achievementImmortalDescription: 'Geração 500 alcançada com estabilidade total',
|
|
33
|
+
achievementBigBang: 'Big Bang',
|
|
34
|
+
achievementBigBangDescription: 'Uma semente aleatória esparsa superou 1.000 células vivas',
|
|
35
|
+
presetClassic: 'Conway clássico',
|
|
36
|
+
presetHighlife: 'HighLife',
|
|
37
|
+
presetSeeds: 'Seeds',
|
|
38
|
+
presetDayNight: 'Dia e noite',
|
|
39
|
+
patternGlider: 'Planador',
|
|
40
|
+
patternGosper: 'Canhão de Gosper',
|
|
41
|
+
patternPulsar: 'Pulsar',
|
|
42
|
+
patternRPentomino: 'R-pentominó',
|
|
43
|
+
colonyStatus: 'Sinal da colônia',
|
|
44
|
+
statusFrozen: 'estável',
|
|
45
|
+
statusGrowing: 'expandindo',
|
|
46
|
+
statusFading: 'declinando',
|
|
47
|
+
statusChaotic: 'volátil',
|
|
48
|
+
invalidRule: 'Use notação B/S como B3/S23.',
|
|
49
|
+
},
|
|
50
|
+
};
|