@@ -63,7 +63,7 @@ const { initialMode = 'normal' } = Astro.props;
63
63
</div >
64
64
</div >
65
65
66
- <!-- Обратный режим -->
66
+ <!-- Backwards Mode -->
67
67
<div id =" backwardsMode" class =" calculator-mode" style ={ initialMode !== ' backwards' ? ' display: none;' : ' ' } >
68
68
<div class =" input-group" >
69
69
<label for =" bw" >Bandwidth:</label >
@@ -97,7 +97,7 @@ const { initialMode = 'normal' } = Astro.props;
97
97
</div >
98
98
</div >
99
99
100
- <!-- Кнопка расчета -->
100
+ <!-- Calculate button -->
101
101
<button id =" calculateBtn" class =" calculate-btn" >Calculate</button >
102
102
103
103
<!-- Блоки для вывода -->
@@ -108,7 +108,7 @@ const { initialMode = 'normal' } = Astro.props;
108
108
</div >
109
109
110
110
<script is:inline >
111
- // Базовые скорости передачи
111
+ // Basic rates
112
112
const baseRates = {
113
113
20: {
114
114
long: [6500, 12000, 15500, 20000, 25000, 42000, 47500, 55000],
@@ -120,7 +120,7 @@ const baseRates = {
120
120
}
121
121
};
122
122
123
- // Функция расчета
123
+ // Calculate function
124
124
function computeFinal(bw, gi, mcs, fec_n, fec_k, cap) {
125
125
const rates = baseRates[bw][gi];
126
126
if (!rates || mcs < 0 || mcs >= rates.length) {
@@ -136,7 +136,7 @@ function computeFinal(bw, gi, mcs, fec_n, fec_k, cap) {
136
136
return Math.min(final, cap);
137
137
}
138
138
139
- // Инициализация при загрузке
139
+ // Initialization
140
140
document.addEventListener('DOMContentLoaded', () => {
141
141
const normalModeBtn = document.getElementById('normalModeBtn');
142
142
const backwardsModeBtn = document.getElementById('backwardsModeBtn');
@@ -146,7 +146,7 @@ document.addEventListener('DOMContentLoaded', () => {
146
146
const errorElement = document.getElementById('error');
147
147
const resultText = document.getElementById('resultText');
148
148
149
- // Переключение режимов
149
+ // Made switch
150
150
normalModeBtn.addEventListener('click', () => {
151
151
normalMode.style.display = 'block';
152
152
backwardsMode.style.display = 'none';
@@ -165,21 +165,21 @@ document.addEventListener('DOMContentLoaded', () => {
165
165
normalModeBtn.setAttribute('aria-pressed', 'false');
166
166
});
167
167
168
- // Обработка расчета
168
+ // Calculation parsing
169
169
calculateBtn.addEventListener('click', () => {
170
170
try {
171
171
errorElement.style.display = 'none';
172
172
173
173
if (normalMode.style.display !== 'none') {
174
- // Нормальный режим
174
+ // Normal mode
175
175
const target = parseInt(document.getElementById('targetBitrate').value);
176
176
const fec = document.getElementById('fecRatio').value;
177
177
const maxMcs = parseInt(document.getElementById('maxMcs').value);
178
178
const cap = parseInt(document.getElementById('cap').value);
179
179
const gi = document.getElementById('guardInterval').value;
180
180
const maxBw = document.getElementById('maxBandwidth').value;
181
181
182
- // Валидация
182
+ // Validation
183
183
if (isNaN(target) || isNaN(maxMcs) || isNaN(cap)) {
184
184
throw new Error('Please enter valid numbers');
185
185
}
@@ -196,7 +196,7 @@ document.addEventListener('DOMContentLoaded', () => {
196
196
throw new Error('Invalid FEC values');
197
197
}
198
198
199
- // Расчет
199
+ // Calculation
200
200
const bandwidths = maxBw === '20' ? [20] : [20, 40];
201
201
const gis = gi ? [gi] : ['long', 'short'];
202
202
@@ -219,14 +219,14 @@ document.addEventListener('DOMContentLoaded', () => {
219
219
resultText.textContent = 'No combination found';
220
220
}
221
221
} else {
222
- // Обратный режим
222
+ // Backwards mode
223
223
const bw = document.getElementById('bw').value;
224
224
const mcs = parseInt(document.getElementById('mcs').value);
225
225
const guard = document.getElementById('guard').value;
226
226
const backwardsFec = document.getElementById('backwardsFec').value;
227
227
const backwardsCap = parseInt(document.getElementById('backwardsCap').value);
228
228
229
- // Валидация
229
+ // Validation
230
230
if (isNaN(mcs) || isNaN(backwardsCap)) {
231
231
throw new Error('Please enter valid numbers');
232
232
}
@@ -243,7 +243,7 @@ document.addEventListener('DOMContentLoaded', () => {
243
243
throw new Error('Invalid FEC values');
244
244
}
245
245
246
- // Расчет
246
+ // Calculation
247
247
const rate = computeFinal(bw, guard, mcs, fec_n, fec_k, backwardsCap);
248
248
resultText.textContent = `${rate} kbps`;
249
249
}
0 commit comments