@jjlmoya/utils-games-development 1.64.0 → 1.66.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 +2 -1
- package/src/entries.ts +4 -1
- package/src/tests/bibliography_wellformed_export.test.ts +46 -0
- package/src/tests/locale_completeness.test.ts +2 -2
- package/src/tests/seo_parity.test.ts +2 -2
- package/src/tests/seo_translation_completeness.test.ts +69 -0
- package/src/tests/seo_wellformed_export.test.ts +65 -0
- package/src/tests/tool_validation.test.ts +2 -2
- package/src/tests/translation_copy.test.ts +21 -18
- package/src/tool/audioLoopPointFinder/i18n/de.ts +13 -0
- package/src/tool/audioLoopPointFinder/i18n/fr.ts +26 -0
- package/src/tool/audioLoopPointFinder/i18n/id.ts +4 -0
- package/src/tool/audioLoopPointFinder/i18n/it.ts +3 -0
- package/src/tool/audioLoopPointFinder/i18n/nl.ts +4 -0
- package/src/tool/audioLoopPointFinder/i18n/pl.ts +4 -0
- package/src/tool/audioLoopPointFinder/i18n/pt.ts +3 -0
- package/src/tool/audioLoopPointFinder/i18n/ru.ts +4 -0
- package/src/tool/audioLoopPointFinder/i18n/sv.ts +4 -0
- package/src/tool/audioLoopPointFinder/i18n/tr.ts +4 -0
- package/src/tool/audioLoopPointFinder/i18n/zh.ts +4 -0
- package/src/tool/damageFormulaLab/bibliography.astro +3 -21
- package/src/tool/damageFormulaLab/i18n/de.ts +13 -0
- package/src/tool/damageFormulaLab/i18n/fr.ts +13 -0
- package/src/tool/damageFormulaLab/i18n/id.ts +13 -0
- package/src/tool/damageFormulaLab/i18n/it.ts +1 -0
- package/src/tool/damageFormulaLab/i18n/ja.ts +1 -0
- package/src/tool/damageFormulaLab/i18n/ko.ts +1 -0
- package/src/tool/damageFormulaLab/i18n/nl.ts +1 -0
- package/src/tool/damageFormulaLab/i18n/pl.ts +1 -0
- package/src/tool/damageFormulaLab/i18n/pt.ts +1 -0
- package/src/tool/damageFormulaLab/i18n/ru.ts +2 -0
- package/src/tool/damageFormulaLab/i18n/sv.ts +2 -0
- package/src/tool/damageFormulaLab/i18n/tr.ts +2 -0
- package/src/tool/damageFormulaLab/i18n/zh.ts +2 -0
- package/src/tool/damageFormulaLab/seo.astro +7 -5
- package/src/tool/gameDeltaTimeFixedTimestepLab/bibliography.astro +6 -0
- package/src/tool/gameDeltaTimeFixedTimestepLab/bibliography.ts +10 -0
- package/src/tool/gameDeltaTimeFixedTimestepLab/component.astro +51 -0
- package/src/tool/gameDeltaTimeFixedTimestepLab/controller.ts +79 -0
- package/src/tool/gameDeltaTimeFixedTimestepLab/dom-views.ts +88 -0
- package/src/tool/gameDeltaTimeFixedTimestepLab/entry.ts +27 -0
- package/src/tool/gameDeltaTimeFixedTimestepLab/evaluator.ts +21 -0
- package/src/tool/gameDeltaTimeFixedTimestepLab/game-delta-time-fixed-timestep-lab.css +491 -0
- package/src/tool/gameDeltaTimeFixedTimestepLab/i18n/de.ts +56 -0
- package/src/tool/gameDeltaTimeFixedTimestepLab/i18n/en.ts +180 -0
- package/src/tool/gameDeltaTimeFixedTimestepLab/i18n/es.ts +56 -0
- package/src/tool/gameDeltaTimeFixedTimestepLab/i18n/fr.ts +46 -0
- package/src/tool/gameDeltaTimeFixedTimestepLab/i18n/id.ts +46 -0
- package/src/tool/gameDeltaTimeFixedTimestepLab/i18n/it.ts +46 -0
- package/src/tool/gameDeltaTimeFixedTimestepLab/i18n/ja.ts +46 -0
- package/src/tool/gameDeltaTimeFixedTimestepLab/i18n/ko.ts +46 -0
- package/src/tool/gameDeltaTimeFixedTimestepLab/i18n/nl.ts +46 -0
- package/src/tool/gameDeltaTimeFixedTimestepLab/i18n/pl.ts +46 -0
- package/src/tool/gameDeltaTimeFixedTimestepLab/i18n/pt.ts +46 -0
- package/src/tool/gameDeltaTimeFixedTimestepLab/i18n/ru.ts +46 -0
- package/src/tool/gameDeltaTimeFixedTimestepLab/i18n/sv.ts +46 -0
- package/src/tool/gameDeltaTimeFixedTimestepLab/i18n/tr.ts +46 -0
- package/src/tool/gameDeltaTimeFixedTimestepLab/i18n/zh.ts +46 -0
- package/src/tool/gameDeltaTimeFixedTimestepLab/index.ts +11 -0
- package/src/tool/gameDeltaTimeFixedTimestepLab/logic.test.ts +35 -0
- package/src/tool/gameDeltaTimeFixedTimestepLab/logic.ts +140 -0
- package/src/tool/gameDeltaTimeFixedTimestepLab/seo.astro +15 -0
- package/src/tool/gameDeltaTimeFixedTimestepLab/seo_contract.test.ts +25 -0
- package/src/tool/gameDeltaTimeFixedTimestepLab/storage.ts +23 -0
- package/src/tool/gameDeltaTimeFixedTimestepLab/ui.ts +54 -0
- package/src/tool/gameUIAccessibilityTester/i18n/de.ts +13 -0
- package/src/tool/gameUIAccessibilityTester/i18n/fr.ts +13 -0
- package/src/tool/gameUIAccessibilityTester/i18n/id.ts +13 -0
- package/src/tool/gameUIAccessibilityTester/i18n/it.ts +1 -0
- package/src/tool/gameUIAccessibilityTester/i18n/nl.ts +5 -0
- package/src/tool/gameUIAccessibilityTester/i18n/pl.ts +5 -0
- package/src/tool/gameUIAccessibilityTester/i18n/pt.ts +2 -0
- package/src/tool/gameUIAccessibilityTester/i18n/ru.ts +1 -0
- package/src/tool/gameUIAccessibilityTester/i18n/sv.ts +1 -0
- package/src/tool/gameUIAccessibilityTester/i18n/tr.ts +2 -0
- package/src/tool/gameUIAccessibilityTester/i18n/zh.ts +1 -0
- package/src/tool/hitboxHurtboxAnimator/i18n/de.ts +14 -0
- package/src/tool/hitboxHurtboxAnimator/i18n/fr.ts +13 -0
- package/src/tool/hitboxHurtboxAnimator/i18n/id.ts +13 -0
- package/src/tool/hitboxHurtboxAnimator/i18n/it.ts +1 -0
- package/src/tool/hitboxHurtboxAnimator/i18n/nl.ts +1 -0
- package/src/tool/hitboxHurtboxAnimator/i18n/pl.ts +2 -0
- package/src/tool/hitboxHurtboxAnimator/i18n/pt.ts +2 -0
- package/src/tool/hitboxHurtboxAnimator/i18n/ru.ts +2 -0
- package/src/tool/hitboxHurtboxAnimator/i18n/sv.ts +1 -0
- package/src/tool/hitboxHurtboxAnimator/i18n/tr.ts +2 -0
- package/src/tool/hitboxHurtboxAnimator/seo.astro +7 -5
- package/src/tool/itchioGameTester/i18n/de.ts +13 -0
- package/src/tool/itchioGameTester/i18n/es.ts +2 -2
- package/src/tool/itchioGameTester/i18n/fr.ts +26 -0
- package/src/tool/itchioGameTester/i18n/id.ts +3 -0
- package/src/tool/itchioGameTester/i18n/it.ts +3 -0
- package/src/tool/itchioGameTester/i18n/ja.ts +3 -0
- package/src/tool/itchioGameTester/i18n/ko.ts +3 -0
- package/src/tool/itchioGameTester/i18n/nl.ts +3 -0
- package/src/tool/itchioGameTester/i18n/pl.ts +3 -0
- package/src/tool/itchioGameTester/i18n/pt.ts +3 -0
- package/src/tool/itchioGameTester/i18n/ru.ts +3 -0
- package/src/tool/itchioGameTester/i18n/sv.ts +3 -0
- package/src/tool/itchioGameTester/i18n/tr.ts +3 -0
- package/src/tool/itchioGameTester/i18n/zh.ts +3 -0
- package/src/tool/localizationSanitizer/i18n/de.ts +13 -0
- package/src/tool/localizationSanitizer/i18n/es.ts +26 -0
- package/src/tool/localizationSanitizer/i18n/fr.ts +4 -0
- package/src/tool/localizationSanitizer/i18n/id.ts +4 -0
- package/src/tool/localizationSanitizer/i18n/it.ts +4 -0
- package/src/tool/localizationSanitizer/i18n/ja.ts +4 -0
- package/src/tool/localizationSanitizer/i18n/ko.ts +4 -0
- package/src/tool/localizationSanitizer/i18n/nl.ts +5 -0
- package/src/tool/localizationSanitizer/i18n/pl.ts +5 -0
- package/src/tool/localizationSanitizer/i18n/pt.ts +5 -0
- package/src/tool/localizationSanitizer/i18n/ru.ts +5 -0
- package/src/tool/localizationSanitizer/i18n/sv.ts +5 -0
- package/src/tool/localizationSanitizer/i18n/tr.ts +5 -0
- package/src/tool/localizationSanitizer/i18n/zh.ts +6 -0
- package/src/tool/pixelArtPaletteSwapper/i18n/ja.ts +13 -0
- package/src/tool/pixelArtPaletteSwapper/i18n/ko.ts +13 -0
- package/src/tool/pixelArtPaletteSwapper/i18n/zh.ts +18 -0
- package/src/tool/retroSfxGenerator/i18n/de.ts +13 -0
- package/src/tool/retroSfxGenerator/i18n/fr.ts +13 -0
- package/src/tool/retroSfxGenerator/i18n/id.ts +13 -0
- package/src/tool/retroSfxGenerator/i18n/it.ts +1 -0
- package/src/tool/retroSfxGenerator/i18n/nl.ts +1 -0
- package/src/tool/retroSfxGenerator/i18n/pl.ts +1 -0
- package/src/tool/retroSfxGenerator/i18n/pt.ts +1 -0
- package/src/tool/retroSfxGenerator/i18n/ru.ts +1 -0
- package/src/tool/retroSfxGenerator/i18n/sv.ts +2 -0
- package/src/tool/retroSfxGenerator/i18n/tr.ts +1 -0
- package/src/tool/retroSfxGenerator/i18n/zh.ts +1 -0
- package/src/tool/spriteSheetPacker/i18n/de.ts +13 -0
- package/src/tool/spriteSheetPacker/i18n/es.ts +2 -2
- package/src/tool/spriteSheetPacker/i18n/fr.ts +26 -0
- package/src/tool/spriteSheetPacker/i18n/id.ts +4 -0
- package/src/tool/spriteSheetPacker/i18n/it.ts +4 -0
- package/src/tool/spriteSheetPacker/i18n/ja.ts +3 -0
- package/src/tool/spriteSheetPacker/i18n/ko.ts +3 -0
- package/src/tool/spriteSheetPacker/i18n/nl.ts +4 -0
- package/src/tool/spriteSheetPacker/i18n/pl.ts +4 -0
- package/src/tool/spriteSheetPacker/i18n/pt.ts +4 -0
- package/src/tool/spriteSheetPacker/i18n/ru.ts +4 -0
- package/src/tool/spriteSheetPacker/i18n/sv.ts +4 -0
- package/src/tool/spriteSheetPacker/i18n/tr.ts +4 -0
- package/src/tool/spriteSheetPacker/i18n/zh.ts +4 -0
- package/src/tool/steamBbcodeTranslator/i18n/de.ts +22 -0
- package/src/tool/steamBbcodeTranslator/i18n/es.ts +23 -1
- package/src/tool/steamBbcodeTranslator/i18n/fr.ts +6 -1
- package/src/tool/steamBbcodeTranslator/i18n/id.ts +7 -1
- package/src/tool/steamBbcodeTranslator/i18n/it.ts +6 -1
- package/src/tool/steamBbcodeTranslator/i18n/ja.ts +5 -1
- package/src/tool/steamBbcodeTranslator/i18n/ko.ts +5 -1
- package/src/tool/steamBbcodeTranslator/i18n/nl.ts +7 -1
- package/src/tool/steamBbcodeTranslator/i18n/pl.ts +7 -1
- package/src/tool/steamBbcodeTranslator/i18n/pt.ts +7 -1
- package/src/tool/steamBbcodeTranslator/i18n/ru.ts +7 -1
- package/src/tool/steamBbcodeTranslator/i18n/sv.ts +7 -1
- package/src/tool/steamBbcodeTranslator/i18n/tr.ts +7 -1
- package/src/tool/steamBbcodeTranslator/i18n/zh.ts +5 -1
- package/src/tool/steamCapsuleGenerator/i18n/de.ts +2 -2
- package/src/tool/steamCapsuleGenerator/i18n/es.ts +2 -2
- package/src/tool/steamCapsuleGenerator/i18n/fr.ts +2 -2
- package/src/tool/steamCapsuleGenerator/i18n/pl.ts +13 -0
- package/src/tool/steamCapsuleGenerator/i18n/ru.ts +26 -0
- package/src/tool/steamCapsuleGenerator/i18n/sv.ts +1 -0
- package/src/tool/steamCapsuleGenerator/i18n/tr.ts +1 -0
- package/src/tools.ts +2 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ToolLocaleContent } from '../../../types';
|
|
1
|
+
import type { SEOSection, ToolLocaleContent } from '../../../types';
|
|
2
2
|
import type { ItchioGameTesterUI } from '../ui';
|
|
3
3
|
import { bibliographyEntries } from '../bibliography';
|
|
4
4
|
|
|
@@ -111,7 +111,7 @@ export const content: ToolLocaleContent<ItchioGameTesterUI> = {
|
|
|
111
111
|
type: 'paragraph',
|
|
112
112
|
html: "Esta sección resume las comprobaciones necesarias para una exportación limpia y una vista previa fiable. 5.",
|
|
113
113
|
},
|
|
114
|
-
].slice(0, 9),
|
|
114
|
+
].slice(0, 9) as SEOSection[],
|
|
115
115
|
faq: [
|
|
116
116
|
{
|
|
117
117
|
question: 'Mi juego de Godot 4 muestra una pantalla negra en Itch.io. ¿Por qué sucede?',
|
|
@@ -70,6 +70,32 @@ export const content: ToolLocaleContent<ItchioGameTesterUI> = {
|
|
|
70
70
|
type: 'paragraph',
|
|
71
71
|
html: "Cette section rassemble les contrôles essentiels pour obtenir un export propre et une prévisualisation fiable. 5.",
|
|
72
72
|
},
|
|
73
|
+
{
|
|
74
|
+
type: 'title',
|
|
75
|
+
level: 2,
|
|
76
|
+
text: 'Comparer le viewport, le canvas et l intégration',
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
type: 'paragraph',
|
|
80
|
+
html: 'Comparez la taille réelle du canvas avec le viewport prévu sur Itch.io. Un ratio 16:9 ne suffit pas à supprimer les barres de défilement: marges CSS, largeurs minimales et canvas non redimensionné peuvent encore provoquer un débordement.',
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
type: 'paragraph',
|
|
84
|
+
html: 'Relisez le rapport après chaque build, car le nom des fichiers, le point d entrée et la sortie du moteur peuvent changer. Le testeur fournit des indices structurels et géométriques ; il ne remplace pas un essai sur plusieurs navigateurs et appareils.',
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
type: 'title',
|
|
88
|
+
level: 2,
|
|
89
|
+
text: 'Comparer le viewport, le canvas et l intégration',
|
|
90
|
+
},
|
|
91
|
+
{
|
|
92
|
+
type: 'paragraph',
|
|
93
|
+
html: 'Comparez la taille réelle du canvas avec le viewport prévu sur Itch.io. Un ratio 16:9 ne suffit pas à supprimer les barres de défilement: marges CSS, largeurs minimales et canvas non redimensionné peuvent encore provoquer un débordement.',
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
type: 'paragraph',
|
|
97
|
+
html: 'Relisez le rapport après chaque build, car le nom des fichiers, le point d entrée et la sortie du moteur peuvent changer. Le testeur fournit des indices structurels et géométriques ; il ne remplace pas un essai sur plusieurs navigateurs et appareils.',
|
|
98
|
+
},
|
|
73
99
|
],
|
|
74
100
|
faq: [
|
|
75
101
|
{
|
|
@@ -70,6 +70,9 @@ export const content: ToolLocaleContent<ItchioGameTesterUI> = {
|
|
|
70
70
|
type: 'paragraph',
|
|
71
71
|
html: "Bagian ini merangkum pemeriksaan penting untuk ekspor yang bersih dan pratinjau yang dapat diandalkan. 5.",
|
|
72
72
|
},
|
|
73
|
+
{ type: 'title', level: 2, text: 'Menguji viewport dan canvas sebelum publikasi' },
|
|
74
|
+
{ type: 'paragraph', html: 'Bandingkan ukuran canvas sebenarnya dengan viewport yang direncanakan di Itch.io. Rasio 16:9 saja tidak menghilangkan scrollbar: margin CSS, lebar minimum, dan canvas yang tidak diskalakan masih dapat menyebabkan konten meluap.' },
|
|
75
|
+
{ type: 'paragraph', html: 'Jalankan laporan setelah setiap build karena nama berkas, entry point, dan keluaran engine dapat berubah. Gunakan hasil ini sebagai pemeriksaan struktur dan geometri, lalu uji game di beberapa browser dan perangkat sebelum menerbitkan.' },
|
|
73
76
|
],
|
|
74
77
|
faq: [
|
|
75
78
|
{
|
|
@@ -70,6 +70,9 @@ export const content: ToolLocaleContent<ItchioGameTesterUI> = {
|
|
|
70
70
|
type: 'paragraph',
|
|
71
71
|
html: "Questa sezione raccoglie i controlli essenziali per un export ordinato e un'anteprima affidabile. 5.",
|
|
72
72
|
},
|
|
73
|
+
{ type: 'title', level: 2, text: 'Controllare viewport, canvas e incorporamento' },
|
|
74
|
+
{ type: 'paragraph', html: 'Confronta la dimensione reale del canvas con il viewport previsto su Itch.io. Il rapporto 16:9 da solo non elimina le barre di scorrimento: margini CSS, larghezze minime e canvas non ridimensionato possono ancora creare overflow.' },
|
|
75
|
+
{ type: 'paragraph', html: 'Rileggi il rapporto dopo ogni build, perché nomi dei file, punto di ingresso e output del motore possono cambiare. Il tester offre indicazioni strutturali e geometriche, ma va completato con prove su browser e dispositivi diversi.' },
|
|
73
76
|
],
|
|
74
77
|
faq: [
|
|
75
78
|
{
|
|
@@ -70,6 +70,9 @@ export const content: ToolLocaleContent<ItchioGameTesterUI> = {
|
|
|
70
70
|
type: 'paragraph',
|
|
71
71
|
html: "この項目では、きれいな書き出しと正確なプレビューに必要な確認点をまとめます。 5.",
|
|
72
72
|
},
|
|
73
|
+
{ type: 'title', level: 2, text: 'Viewport と canvas を公開前に確認する' },
|
|
74
|
+
{ type: 'paragraph', html: 'Itch.ioで予定しているviewportと、実際のcanvasサイズを比較します。16:9の比率だけではスクロールバーを防げません。CSSの余白、最小幅、拡大されないcanvasによって表示がはみ出すことがあります。' },
|
|
75
|
+
{ type: 'paragraph', html: 'ビルドごとにレポートを読み直してください。ファイル名、入口となるHTML、エンジンの出力は変わる可能性があります。この検査結果に加えて、複数のブラウザと端末で実際の表示を確認します。' },
|
|
73
76
|
],
|
|
74
77
|
faq: [
|
|
75
78
|
{
|
|
@@ -70,6 +70,9 @@ export const content: ToolLocaleContent<ItchioGameTesterUI> = {
|
|
|
70
70
|
type: 'paragraph',
|
|
71
71
|
html: "이 항목은 깔끔한 내보내기와 정확한 미리보기를 위해 확인할 내용을 정리합니다. 5.",
|
|
72
72
|
},
|
|
73
|
+
{ type: 'title', level: 2, text: '게시 전에 viewport와 canvas 함께 확인하기' },
|
|
74
|
+
{ type: 'paragraph', html: 'Itch.io에서 계획한 viewport와 실제 canvas 크기를 비교하세요. 16:9 비율만으로는 스크롤바가 사라지지 않습니다. CSS 여백, 최소 너비, 크기 조정이 되지 않는 canvas 때문에 화면이 넘칠 수 있습니다.' },
|
|
75
|
+
{ type: 'paragraph', html: '빌드할 때마다 보고서를 다시 확인하세요. 파일 이름, 시작 HTML, 엔진 출력이 바뀔 수 있습니다. 구조와 기하학 검사를 마친 뒤 여러 브라우저와 기기에서 실제 표시도 테스트하세요.' },
|
|
73
76
|
],
|
|
74
77
|
faq: [
|
|
75
78
|
{
|
|
@@ -70,6 +70,9 @@ export const content: ToolLocaleContent<ItchioGameTesterUI> = {
|
|
|
70
70
|
type: 'paragraph',
|
|
71
71
|
html: "Deze sectie vat de belangrijkste controles samen voor een nette export en een betrouwbare voorbeeldweergave. 5.",
|
|
72
72
|
},
|
|
73
|
+
{ type: 'title', level: 2, text: 'Viewport, canvas en insluiting samen controleren' },
|
|
74
|
+
{ type: 'paragraph', html: 'Vergelijk de echte canvasgrootte met de viewport die je op Itch.io plant. Een verhouding van 16:9 verwijdert scrollbalken niet automatisch: CSS-marges, minimale breedtes en een niet geschaalde canvas kunnen nog steeds overflow veroorzaken.' },
|
|
75
|
+
{ type: 'paragraph', html: 'Lees het rapport na elke build opnieuw, want bestandsnamen, het startpunt en de engine-uitvoer kunnen veranderen. Gebruik deze controle naast tests in meerdere browsers en op verschillende apparaten.' },
|
|
73
76
|
],
|
|
74
77
|
faq: [
|
|
75
78
|
{
|
|
@@ -70,6 +70,9 @@ export const content: ToolLocaleContent<ItchioGameTesterUI> = {
|
|
|
70
70
|
type: 'paragraph',
|
|
71
71
|
html: "Ta sekcja zbiera najważniejsze kontrole potrzebne do poprawnego eksportu i wiarygodnego podglądu. 5.",
|
|
72
72
|
},
|
|
73
|
+
{ type: 'title', level: 2, text: 'Sprawdź viewport, canvas i osadzanie przed publikacją' },
|
|
74
|
+
{ type: 'paragraph', html: 'Porównaj rzeczywisty rozmiar canvasu z viewportem planowanym na Itch.io. Proporcje 16:9 nie usuwają automatycznie pasków przewijania: marginesy CSS, minimalna szerokość i nieskalowany canvas nadal mogą powodować przepełnienie.' },
|
|
75
|
+
{ type: 'paragraph', html: 'Po każdym buildzie ponownie przeczytaj raport, ponieważ nazwy plików, punkt wejścia i wynik silnika mogą się zmienić. Wskazówki strukturalne uzupełnij testem w kilku przeglądarkach i na różnych urządzeniach.' },
|
|
73
76
|
],
|
|
74
77
|
faq: [
|
|
75
78
|
{
|
|
@@ -70,6 +70,9 @@ export const content: ToolLocaleContent<ItchioGameTesterUI> = {
|
|
|
70
70
|
type: 'paragraph',
|
|
71
71
|
html: "Esta secção reúne as verificações essenciais para uma exportação correta e uma pré-visualização fiável. 5.",
|
|
72
72
|
},
|
|
73
|
+
{ type: 'title', level: 2, text: 'Verificar viewport, canvas e incorporação' },
|
|
74
|
+
{ type: 'paragraph', html: 'Compare o tamanho real do canvas com o viewport planejado no Itch.io. A proporção 16:9 não elimina sozinha as barras de rolagem: margens CSS, larguras mínimas e um canvas sem escala ainda podem causar overflow.' },
|
|
75
|
+
{ type: 'paragraph', html: 'Leia o relatório novamente após cada build, pois nomes de arquivos, ponto de entrada e saída da engine podem mudar. Use as indicações estruturais junto com testes em vários navegadores e dispositivos.' },
|
|
73
76
|
],
|
|
74
77
|
faq: [
|
|
75
78
|
{
|
|
@@ -70,6 +70,9 @@ export const content: ToolLocaleContent<ItchioGameTesterUI> = {
|
|
|
70
70
|
type: 'paragraph',
|
|
71
71
|
html: "В этом разделе собраны основные проверки для аккуратного экспорта и надежного предпросмотра. 5.",
|
|
72
72
|
},
|
|
73
|
+
{ type: 'title', level: 2, text: 'Проверка viewport, canvas и встраивания' },
|
|
74
|
+
{ type: 'paragraph', html: 'Сравните фактический размер canvas с viewport, который планируется для Itch.io. Соотношение 16:9 само по себе не убирает полосы прокрутки: CSS-отступы, минимальная ширина и canvas без масштабирования всё ещё могут вызвать переполнение.' },
|
|
75
|
+
{ type: 'paragraph', html: 'Читайте отчёт после каждой сборки, поскольку имена файлов, точка входа и результат работы движка могут измениться. Структурную проверку следует дополнить тестами в разных браузерах и на разных устройствах.' },
|
|
73
76
|
],
|
|
74
77
|
faq: [
|
|
75
78
|
{
|
|
@@ -70,6 +70,9 @@ export const content: ToolLocaleContent<ItchioGameTesterUI> = {
|
|
|
70
70
|
type: 'paragraph',
|
|
71
71
|
html: "Det här avsnittet samlar de viktigaste kontrollerna för en ren export och en pålitlig förhandsvisning. 5.",
|
|
72
72
|
},
|
|
73
|
+
{ type: 'title', level: 2, text: 'Kontrollera viewport, canvas och inbäddning' },
|
|
74
|
+
{ type: 'paragraph', html: 'Jämför den faktiska canvasstorleken med den viewport som planeras för Itch.io. Ett 16:9-förhållande tar inte automatiskt bort rullningslister: CSS-marginaler, minsta bredder och en oskalad canvas kan fortfarande skapa overflow.' },
|
|
75
|
+
{ type: 'paragraph', html: 'Läs rapporten efter varje build eftersom filnamn, startpunkt och motorns utdata kan ändras. Komplettera den strukturella kontrollen med tester i flera webbläsare och på olika enheter.' },
|
|
73
76
|
],
|
|
74
77
|
faq: [
|
|
75
78
|
{
|
|
@@ -70,6 +70,9 @@ export const content: ToolLocaleContent<ItchioGameTesterUI> = {
|
|
|
70
70
|
type: 'paragraph',
|
|
71
71
|
html: "Bu bölüm temiz bir dışa aktarma ve güvenilir bir önizleme için gerekli kontrolleri özetler. 5.",
|
|
72
72
|
},
|
|
73
|
+
{ type: 'title', level: 2, text: 'Viewport, canvas ve gömmeyi birlikte kontrol edin' },
|
|
74
|
+
{ type: 'paragraph', html: 'Gerçek canvas boyutunu Itch.io için planlanan viewport ile karşılaştırın. 16:9 oranı tek başına kaydırma çubuklarını kaldırmaz; CSS boşlukları, minimum genişlik ve ölçeklenmeyen canvas taşmaya yol açabilir.' },
|
|
75
|
+
{ type: 'paragraph', html: 'Her derlemeden sonra raporu yeniden okuyun; dosya adları, giriş noktası ve motor çıktısı değişebilir. Yapısal kontrolleri farklı tarayıcı ve cihazlardaki gerçek testlerle tamamlayın.' },
|
|
73
76
|
],
|
|
74
77
|
faq: [
|
|
75
78
|
{
|
|
@@ -70,6 +70,9 @@ export const content: ToolLocaleContent<ItchioGameTesterUI> = {
|
|
|
70
70
|
type: 'paragraph',
|
|
71
71
|
html: "本节汇总了正确导出和可靠预览所需的关键检查。 5.",
|
|
72
72
|
},
|
|
73
|
+
{ type: 'title', level: 2, text: '发布前同时检查 viewport 与 canvas' },
|
|
74
|
+
{ type: 'paragraph', html: '将实际 canvas 尺寸与 Itch.io 计划使用的 viewport 进行比较。16:9 比例并不能自动消除滚动条,CSS 边距、最小宽度和未缩放的 canvas 仍可能造成内容溢出。' },
|
|
75
|
+
{ type: 'paragraph', html: '每次构建后都重新查看报告,因为文件名、入口文件和引擎输出可能变化。完成结构检查后,还应在不同浏览器和设备上确认真实显示效果。' },
|
|
73
76
|
],
|
|
74
77
|
faq: [
|
|
75
78
|
{
|
|
@@ -115,6 +115,19 @@ export const content: ToolLocaleContent<LocalizationSanitizerUI> = {
|
|
|
115
115
|
{ term: 'Locale', definition: 'Sprach und Regionalkennung wie de oder en.' },
|
|
116
116
|
],
|
|
117
117
|
},
|
|
118
|
+
{
|
|
119
|
+
type: 'title',
|
|
120
|
+
level: 2,
|
|
121
|
+
text: 'Bereinigte Daten vor dem Engine-Import kontrollieren',
|
|
122
|
+
},
|
|
123
|
+
{
|
|
124
|
+
type: 'paragraph',
|
|
125
|
+
html: 'Öffnen Sie die Vorschau und vergleichen Sie die Spaltenüberschriften mit der erwarteten Sprachstruktur. Automatische Korrekturen helfen bei Trennzeichen und leeren Zellen, können aber keine fehlende Übersetzung oder eine falsche Bedeutung erkennen.',
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
type: 'paragraph',
|
|
129
|
+
html: 'Bewahren Sie die Originaldatei und einen kleinen Testimport auf. So lässt sich nachvollziehen, welche Zeilen normalisiert wurden und ob Godot oder Unity die bereinigte Datei ohne neue Warnungen einliest.',
|
|
130
|
+
},
|
|
118
131
|
],
|
|
119
132
|
faq: [
|
|
120
133
|
{
|
|
@@ -115,6 +115,32 @@ export const content: ToolLocaleContent<LocalizationSanitizerUI> = {
|
|
|
115
115
|
{ term: 'Locale', definition: 'Codigo de idioma y region como es, en o ja.' },
|
|
116
116
|
],
|
|
117
117
|
},
|
|
118
|
+
{
|
|
119
|
+
type: 'title',
|
|
120
|
+
level: 2,
|
|
121
|
+
text: 'Revisar el archivo limpio antes de importarlo en el motor',
|
|
122
|
+
},
|
|
123
|
+
{
|
|
124
|
+
type: 'paragraph',
|
|
125
|
+
html: 'Abre la vista previa y compara los encabezados con la estructura de idiomas que espera tu proyecto. Las correcciones automáticas ayudan con separadores y celdas vacías, pero no pueden detectar una traducción ausente ni confirmar que el significado sea correcto.',
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
type: 'paragraph',
|
|
129
|
+
html: 'Conserva el archivo original y realiza una pequeña importación de prueba. Así podrás comprobar qué filas se normalizaron y si Godot o Unity leen el archivo limpio sin generar avisos nuevos.',
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
type: 'title',
|
|
133
|
+
level: 2,
|
|
134
|
+
text: 'Revisar el archivo limpio antes de importarlo en el motor',
|
|
135
|
+
},
|
|
136
|
+
{
|
|
137
|
+
type: 'paragraph',
|
|
138
|
+
html: 'Abre la vista previa y compara los encabezados con la estructura de idiomas que espera tu proyecto. Las correcciones automáticas ayudan con separadores y celdas vacías, pero no pueden detectar una traducción ausente ni confirmar que el significado sea correcto.',
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
type: 'paragraph',
|
|
142
|
+
html: 'Conserva el archivo original y realiza una pequeña importación de prueba. Así podrás comprobar qué filas se normalizaron y si Godot o Unity leen el archivo limpio sin generar avisos nuevos.',
|
|
143
|
+
},
|
|
118
144
|
],
|
|
119
145
|
faq: [
|
|
120
146
|
{
|
|
@@ -115,6 +115,10 @@ export const content: ToolLocaleContent<LocalizationSanitizerUI> = {
|
|
|
115
115
|
{ term: 'Locale', definition: 'Code langue et région comme fr, en ou ja.' },
|
|
116
116
|
],
|
|
117
117
|
},
|
|
118
|
+
{ type: 'title', level: 2, text: 'Vérifier le fichier nettoyé avant l import' },
|
|
119
|
+
{ type: 'paragraph', html: 'Ouvrez l aperçu et comparez les en-têtes avec la structure de langues attendue par votre projet. Les corrections automatiques aident pour les séparateurs et les cellules vides, mais elles ne peuvent pas créer une traduction manquante ni confirmer son sens.' },
|
|
120
|
+
{ type: 'paragraph', html: 'Conservez le fichier original et réalisez un petit import de test. Vous pourrez ainsi vérifier quelles lignes ont été normalisées et si Godot ou Unity lit le fichier nettoyé sans nouveaux avertissements.' },
|
|
121
|
+
{ type: 'paragraph', html: 'Traitez le nettoyage comme une étape structurelle: les cellules corrigées doivent encore être relues par un locuteur et les valeurs exportées doivent être importées dans une scène de test avant la livraison.' },
|
|
118
122
|
],
|
|
119
123
|
faq: [
|
|
120
124
|
{
|
|
@@ -115,6 +115,10 @@ export const content: ToolLocaleContent<LocalizationSanitizerUI> = {
|
|
|
115
115
|
{ term: 'Locale', definition: 'Kode bahasa dan wilayah seperti id, en, atau ja.' },
|
|
116
116
|
],
|
|
117
117
|
},
|
|
118
|
+
{ type: 'title', level: 2, text: 'Periksa berkas bersih sebelum diimpor ke engine' },
|
|
119
|
+
{ type: 'paragraph', html: 'Buka pratinjau dan bandingkan header dengan struktur bahasa yang diharapkan proyek. Perbaikan otomatis membantu menangani pemisah dan sel kosong, tetapi tidak dapat membuat terjemahan yang hilang atau memastikan maknanya benar.' },
|
|
120
|
+
{ type: 'paragraph', html: 'Simpan berkas asli dan lakukan impor uji kecil. Dengan begitu Anda dapat melihat baris yang dinormalisasi dan memastikan Godot atau Unity membaca berkas bersih tanpa peringatan baru.' },
|
|
121
|
+
{ type: 'paragraph', html: 'Anggap pembersihan sebagai langkah struktur saja: sel yang diperbaiki tetap harus ditinjau oleh penutur bahasa, lalu hasil ekspor perlu diuji pada scene sebelum dikirim ke proyek.' },
|
|
118
122
|
],
|
|
119
123
|
faq: [
|
|
120
124
|
{
|
|
@@ -115,6 +115,10 @@ export const content: ToolLocaleContent<LocalizationSanitizerUI> = {
|
|
|
115
115
|
{ term: 'Locale', definition: 'Codice lingua e regione come it, en o ja.' },
|
|
116
116
|
],
|
|
117
117
|
},
|
|
118
|
+
{ type: 'title', level: 2, text: 'Controllare il file pulito prima dell importazione' },
|
|
119
|
+
{ type: 'paragraph', html: 'Apri l anteprima e confronta le intestazioni con la struttura linguistica attesa dal progetto. Le correzioni automatiche aiutano con separatori e celle vuote, ma non possono creare una traduzione mancante né confermarne il significato.' },
|
|
120
|
+
{ type: 'paragraph', html: 'Conserva il file originale ed esegui una piccola importazione di prova. Potrai verificare quali righe sono state normalizzate e se Godot o Unity legge il file pulito senza nuovi avvisi.' },
|
|
121
|
+
{ type: 'paragraph', html: 'Considera la pulizia come un passaggio strutturale: le celle corrette devono essere rilette da un parlante e il file esportato va importato in una scena di test prima della consegna.' },
|
|
118
122
|
],
|
|
119
123
|
faq: [
|
|
120
124
|
{
|
|
@@ -115,6 +115,10 @@ export const content: ToolLocaleContent<LocalizationSanitizerUI> = {
|
|
|
115
115
|
{ term: 'ロケール', definition: 'jaやenなどの言語/地域識別コード。' },
|
|
116
116
|
],
|
|
117
117
|
},
|
|
118
|
+
{ type: 'title', level: 2, text: 'エンジンへ読み込む前に整形結果を確認する' },
|
|
119
|
+
{ type: 'paragraph', html: 'プレビューを開き、見出しがプロジェクトの言語構造と一致するか確認します。自動修正は区切り文字や空のセルには役立ちますが、欠けた翻訳を作成したり意味を保証したりするものではありません。' },
|
|
120
|
+
{ type: 'paragraph', html: '元ファイルを保存し、小さなテスト読み込みを行ってください。どの行が正規化されたか、GodotやUnityが新しい警告なしで読み込めるかを確認できます。' },
|
|
121
|
+
{ type: 'paragraph', html: '整形は構造を直す段階です。修正されたセルは必ず翻訳者が読み直し、書き出したファイルをテスト用のシーンへ読み込んでから納品してください。' },
|
|
118
122
|
],
|
|
119
123
|
faq: [
|
|
120
124
|
{
|
|
@@ -115,6 +115,10 @@ export const content: ToolLocaleContent<LocalizationSanitizerUI> = {
|
|
|
115
115
|
{ term: '로케일', definition: 'ko, en, ja와 같은 언어 및 지역 코드.' },
|
|
116
116
|
],
|
|
117
117
|
},
|
|
118
|
+
{ type: 'title', level: 2, text: '엔진에 가져오기 전에 정리된 파일 확인하기' },
|
|
119
|
+
{ type: 'paragraph', html: '미리보기를 열고 헤더가 프로젝트가 요구하는 언어 구조와 일치하는지 비교하세요. 자동 수정은 구분자와 빈 셀을 처리하는 데 도움이 되지만 누락된 번역을 만들거나 의미를 검증하지는 않습니다.' },
|
|
120
|
+
{ type: 'paragraph', html: '원본 파일을 보관하고 작은 테스트 가져오기를 수행하세요. 어떤 행이 정규화되었는지, Godot이나 Unity가 새 경고 없이 정리된 파일을 읽는지 확인할 수 있습니다.' },
|
|
121
|
+
{ type: 'paragraph', html: '정리는 구조를 고치는 단계입니다. 수정된 셀은 해당 언어 사용자가 다시 검토해야 하며, 내보낸 파일은 전달 전에 테스트 장면에서 가져와 확인하세요.' },
|
|
118
122
|
],
|
|
119
123
|
faq: [
|
|
120
124
|
{
|
|
@@ -115,6 +115,11 @@ export const content: ToolLocaleContent<LocalizationSanitizerUI> = {
|
|
|
115
115
|
{ term: 'Locale', definition: 'Taal en regio id zoals nl, en of ja.' },
|
|
116
116
|
],
|
|
117
117
|
},
|
|
118
|
+
{ type: 'title', level: 2, text: 'Het opgeschoonde bestand controleren voor import' },
|
|
119
|
+
{ type: 'paragraph', html: 'Open de preview en vergelijk de koppen met de taalstructuur die je project verwacht. Automatische reparaties helpen bij scheidingstekens en lege cellen, maar kunnen geen ontbrekende vertaling maken of de betekenis bevestigen.' },
|
|
120
|
+
{ type: 'paragraph', html: 'Bewaar het originele bestand en voer een kleine testimport uit. Zo zie je welke rijen zijn genormaliseerd en of Godot of Unity het schone bestand zonder nieuwe waarschuwingen leest.' },
|
|
121
|
+
{ type: 'paragraph', html: 'Behandel opschonen als een structurele stap: gecorrigeerde cellen moeten nog door een taalspreker worden nagelezen en het geëxporteerde bestand hoort vóór oplevering in een testscène te worden geïmporteerd.' },
|
|
122
|
+
{ type: 'paragraph', html: 'Behandel opschonen als een structurele stap: gecorrigeerde cellen moeten nog door een taalspreker worden nagelezen en het geëxporteerde bestand hoort vóór oplevering in een testscène te worden geïmporteerd.' },
|
|
118
123
|
],
|
|
119
124
|
faq: [
|
|
120
125
|
{
|
|
@@ -115,6 +115,11 @@ export const content: ToolLocaleContent<LocalizationSanitizerUI> = {
|
|
|
115
115
|
{ term: 'Locale', definition: 'Kod języka i regionu, np. pl, en lub ja.' },
|
|
116
116
|
],
|
|
117
117
|
},
|
|
118
|
+
{ type: 'title', level: 2, text: 'Sprawdź oczyszczony plik przed importem' },
|
|
119
|
+
{ type: 'paragraph', html: 'Otwórz podgląd i porównaj nagłówki ze strukturą językową oczekiwaną przez projekt. Automatyczne poprawki pomagają przy separatorach i pustych komórkach, ale nie utworzą brakującego tłumaczenia ani nie potwierdzą znaczenia tekstu.' },
|
|
120
|
+
{ type: 'paragraph', html: 'Zachowaj oryginalny plik i wykonaj mały import testowy. Dzięki temu sprawdzisz, które wiersze zostały znormalizowane oraz czy Godot lub Unity odczytuje oczyszczony plik bez nowych ostrzeżeń.' },
|
|
121
|
+
{ type: 'paragraph', html: 'Traktuj czyszczenie jako etap strukturalny: poprawione komórki powinien jeszcze przeczytać użytkownik danego języka, a wyeksportowany plik należy zaimportować do sceny testowej przed przekazaniem.' },
|
|
122
|
+
{ type: 'paragraph', html: 'Traktuj czyszczenie jako etap strukturalny: poprawione komórki powinien jeszcze przeczytać użytkownik danego języka, a wyeksportowany plik należy zaimportować do sceny testowej przed przekazaniem.' },
|
|
118
123
|
],
|
|
119
124
|
faq: [
|
|
120
125
|
{
|
|
@@ -115,6 +115,11 @@ export const content: ToolLocaleContent<LocalizationSanitizerUI> = {
|
|
|
115
115
|
{ term: 'Locale', definition: 'Código de idioma e região como pt, en ou ja.' },
|
|
116
116
|
],
|
|
117
117
|
},
|
|
118
|
+
{ type: 'title', level: 2, text: 'Revisar o arquivo limpo antes da importação' },
|
|
119
|
+
{ type: 'paragraph', html: 'Abra a prévia e compare os cabeçalhos com a estrutura de idiomas esperada pelo projeto. As correções automáticas ajudam com separadores e células vazias, mas não criam uma tradução ausente nem confirmam o significado.' },
|
|
120
|
+
{ type: 'paragraph', html: 'Guarde o arquivo original e faça uma pequena importação de teste. Assim você verifica quais linhas foram normalizadas e se Godot ou Unity lê o arquivo limpo sem novos avisos.' },
|
|
121
|
+
{ type: 'paragraph', html: 'Trate a limpeza como uma etapa estrutural: as células corrigidas ainda precisam ser revisadas por alguém que conheça o idioma, e o arquivo exportado deve ser importado em uma cena de teste antes da entrega.' },
|
|
122
|
+
{ type: 'paragraph', html: 'Trate a limpeza como uma etapa estrutural: as células corrigidas ainda precisam ser revisadas por alguém que conheça o idioma, e o arquivo exportado deve ser importado em uma cena de teste antes da entrega.' },
|
|
118
123
|
],
|
|
119
124
|
faq: [
|
|
120
125
|
{
|
|
@@ -115,6 +115,11 @@ export const content: ToolLocaleContent<LocalizationSanitizerUI> = {
|
|
|
115
115
|
{ term: 'Локаль', definition: 'Код языка и региона, например ru, en или ja.' },
|
|
116
116
|
],
|
|
117
117
|
},
|
|
118
|
+
{ type: 'title', level: 2, text: 'Проверка очищенного файла перед импортом' },
|
|
119
|
+
{ type: 'paragraph', html: 'Откройте предпросмотр и сравните заголовки со структурой языков, которую ожидает проект. Автоматические исправления помогают с разделителями и пустыми ячейками, но не создают отсутствующий перевод и не подтверждают его смысл.' },
|
|
120
|
+
{ type: 'paragraph', html: 'Сохраните исходный файл и выполните небольшой тестовый импорт. Так можно проверить нормализованные строки и убедиться, что Godot или Unity читает очищенный файл без новых предупреждений.' },
|
|
121
|
+
{ type: 'paragraph', html: 'Считайте очистку структурным этапом: исправленные ячейки должен перечитать носитель языка, а экспортированный файл нужно импортировать в тестовую сцену до передачи в проект.' },
|
|
122
|
+
{ type: 'paragraph', html: 'Считайте очистку структурным этапом: исправленные ячейки должен перечитать носитель языка, а экспортированный файл нужно импортировать в тестовую сцену до передачи в проект.' },
|
|
118
123
|
],
|
|
119
124
|
faq: [
|
|
120
125
|
{
|
|
@@ -115,6 +115,11 @@ export const content: ToolLocaleContent<LocalizationSanitizerUI> = {
|
|
|
115
115
|
{ term: 'Locale', definition: 'Språk och regionkod som sv, en eller ja.' },
|
|
116
116
|
],
|
|
117
117
|
},
|
|
118
|
+
{ type: 'title', level: 2, text: 'Kontrollera den rensade filen före import' },
|
|
119
|
+
{ type: 'paragraph', html: 'Öppna förhandsvisningen och jämför rubrikerna med den språkstruktur som projektet förväntar sig. Automatiska korrigeringar hjälper med avgränsare och tomma celler, men kan inte skapa en saknad översättning eller bekräfta betydelsen.' },
|
|
120
|
+
{ type: 'paragraph', html: 'Spara originalfilen och gör en liten testimport. Då kan du se vilka rader som normaliserades och om Godot eller Unity läser den rensade filen utan nya varningar.' },
|
|
121
|
+
{ type: 'paragraph', html: 'Se rensningen som ett strukturellt steg: korrigerade celler måste fortfarande läsas av en språkgranskare och den exporterade filen ska importeras i en testscen före leverans.' },
|
|
122
|
+
{ type: 'paragraph', html: 'Se rensningen som ett strukturellt steg: korrigerade celler måste fortfarande läsas av en språkgranskare och den exporterade filen ska importeras i en testscen före leverans.' },
|
|
118
123
|
],
|
|
119
124
|
faq: [
|
|
120
125
|
{
|
|
@@ -115,6 +115,11 @@ export const content: ToolLocaleContent<LocalizationSanitizerUI> = {
|
|
|
115
115
|
{ term: 'Locale', definition: 'tr, en veya ja gibi dil ve bölge kodu.' },
|
|
116
116
|
],
|
|
117
117
|
},
|
|
118
|
+
{ type: 'title', level: 2, text: 'İçe aktarmadan önce temiz dosyayı kontrol edin' },
|
|
119
|
+
{ type: 'paragraph', html: 'Önizlemeyi açın ve başlıkları projenizin beklediği dil yapısıyla karşılaştırın. Otomatik düzeltmeler ayraçlar ve boş hücreler için yardımcı olur, ancak eksik çeviri oluşturamaz veya anlamını doğrulayamaz.' },
|
|
120
|
+
{ type: 'paragraph', html: 'Orijinal dosyayı saklayın ve küçük bir test içe aktarması yapın. Böylece hangi satırların normalleştirildiğini ve Godot ya da Unity nin temiz dosyayı yeni uyarılar olmadan okuyup okumadığını kontrol edebilirsiniz.' },
|
|
121
|
+
{ type: 'paragraph', html: 'Temizliği yalnızca yapısal bir adım olarak değerlendirin: düzeltilen hücreler dili bilen biri tarafından yeniden okunmalı ve dışa aktarılan dosya teslimden önce bir test sahnesine aktarılmalıdır.' },
|
|
122
|
+
{ type: 'paragraph', html: 'Temizliği yalnızca yapısal bir adım olarak değerlendirin: düzeltilen hücreler dili bilen biri tarafından yeniden okunmalı ve dışa aktarılan dosya teslimden önce bir test sahnesine aktarılmalıdır.' },
|
|
118
123
|
],
|
|
119
124
|
faq: [
|
|
120
125
|
{
|
|
@@ -115,6 +115,12 @@ export const content: ToolLocaleContent<LocalizationSanitizerUI> = {
|
|
|
115
115
|
{ term: 'Locale', definition: '语言与地区代码,如 zh, en, ja。' },
|
|
116
116
|
],
|
|
117
117
|
},
|
|
118
|
+
{ type: 'title', level: 2, text: '导入引擎前检查清理后的文件' },
|
|
119
|
+
{ type: 'paragraph', html: '打开预览,将表头与项目要求的语言结构进行比较。自动修复可以处理分隔符和空单元格,但不能创建缺失的翻译,也不能确认文本含义正确。' },
|
|
120
|
+
{ type: 'paragraph', html: '请保留原始文件并进行一次小规模测试导入,以确认哪些行被规范化,以及 Godot 或 Unity 是否能在没有新警告的情况下读取清理后的文件。' },
|
|
121
|
+
{ type: 'paragraph', html: '请把清理视为结构处理步骤:修复后的单元格仍需由熟悉该语言的人复核,导出的文件也应在交付前导入测试场景进行验证。' },
|
|
122
|
+
{ type: 'paragraph', html: '请把清理视为结构处理步骤:修复后的单元格仍需由熟悉该语言的人复核,导出的文件也应在交付前导入测试场景进行验证。' },
|
|
123
|
+
{ type: 'paragraph', html: '导出前请逐项查看错误报告,特别关注列数变化、重复键和被合并的字段。建议先用一份小型副本验证导入结果,再处理完整的本地化表格。' },
|
|
118
124
|
],
|
|
119
125
|
faq: [
|
|
120
126
|
{
|
|
@@ -141,6 +141,19 @@ export const content: ToolLocaleContent<PixelArtPaletteSwapperUI> = {
|
|
|
141
141
|
},
|
|
142
142
|
],
|
|
143
143
|
},
|
|
144
|
+
{
|
|
145
|
+
type: 'title',
|
|
146
|
+
level: 2,
|
|
147
|
+
text: 'ゲーム内表示でパレットを確認する',
|
|
148
|
+
},
|
|
149
|
+
{
|
|
150
|
+
type: 'paragraph',
|
|
151
|
+
html: 'パレット変換では各ピクセルが最も近い色へ割り当てられるため、元画像の細かな色差は失われます。変換後の画像を原寸表示し、キャラクターの輪郭、影、UIの文字が識別できるかをゲーム内の背景でも確認してください。',
|
|
152
|
+
},
|
|
153
|
+
{
|
|
154
|
+
type: 'paragraph',
|
|
155
|
+
html: '透明度は保持されますが、アルファ値の境界に不要な色が残る場合があります。書き出したPNGを対象エンジンへ読み込み、フィルタリングや拡大率を設定した状態でアトラスの継ぎ目と色のにじみを確認すると安全です。',
|
|
156
|
+
},
|
|
144
157
|
],
|
|
145
158
|
faq: [
|
|
146
159
|
{
|
|
@@ -141,6 +141,19 @@ export const content: ToolLocaleContent<PixelArtPaletteSwapperUI> = {
|
|
|
141
141
|
},
|
|
142
142
|
],
|
|
143
143
|
},
|
|
144
|
+
{
|
|
145
|
+
type: 'title',
|
|
146
|
+
level: 2,
|
|
147
|
+
text: '게임 화면에서 팔레트 결과 확인하기',
|
|
148
|
+
},
|
|
149
|
+
{
|
|
150
|
+
type: 'paragraph',
|
|
151
|
+
html: '팔레트 변환은 각 픽셀을 가장 가까운 색으로 매핑하므로 원본의 미세한 색 차이가 사라질 수 있습니다. 변환 결과를 원본 크기로 표시하고 캐릭터 윤곽, 그림자, UI 글자가 게임 배경에서도 구분되는지 확인하세요.',
|
|
152
|
+
},
|
|
153
|
+
{
|
|
154
|
+
type: 'paragraph',
|
|
155
|
+
html: '투명도는 유지되지만 알파 경계에 불필요한 색이 남을 수 있습니다. 내보낸 PNG를 대상 엔진에서 열고 필터링과 확대 설정을 적용한 뒤 아틀라스의 이음새와 색 번짐을 점검하면 안전합니다.',
|
|
156
|
+
},
|
|
144
157
|
],
|
|
145
158
|
faq: [
|
|
146
159
|
{
|
|
@@ -59,6 +59,10 @@ export const content: ToolLocaleContent<PixelArtPaletteSwapperUI> = {
|
|
|
59
59
|
type: 'paragraph',
|
|
60
60
|
html: '工具会计算每个像素 RGB 值的距离,并将其替换为目标调色板中最接近的颜色,同时完好保留透明通道。',
|
|
61
61
|
},
|
|
62
|
+
{
|
|
63
|
+
type: 'paragraph',
|
|
64
|
+
html: '导出前请在实际游戏尺寸下检查高光、阴影和透明边缘。距离最近的颜色不一定最符合美术意图,因此可以通过自定义调色板和多次预览来保护角色轮廓与关键动画细节。',
|
|
65
|
+
},
|
|
62
66
|
{
|
|
63
67
|
type: 'comparative',
|
|
64
68
|
columns: 2,
|
|
@@ -141,6 +145,20 @@ export const content: ToolLocaleContent<PixelArtPaletteSwapperUI> = {
|
|
|
141
145
|
},
|
|
142
146
|
],
|
|
143
147
|
},
|
|
148
|
+
{
|
|
149
|
+
type: 'title',
|
|
150
|
+
level: 2,
|
|
151
|
+
text: '在游戏画面中检查调色板结果',
|
|
152
|
+
},
|
|
153
|
+
{
|
|
154
|
+
type: 'paragraph',
|
|
155
|
+
html: '调色板转换会把每个像素映射到最接近的颜色,因此原图中的细微色差可能会消失。请以原始尺寸查看结果,并在实际游戏背景中确认角色轮廓、阴影和界面文字仍然清晰可辨。',
|
|
156
|
+
},
|
|
157
|
+
{
|
|
158
|
+
type: 'paragraph',
|
|
159
|
+
html: '透明度会被保留,但透明边缘可能残留不需要的颜色。将导出的 PNG 导入目标引擎,在启用过滤和缩放的条件下检查图集接缝与颜色溢出,再决定是否发布。',
|
|
160
|
+
},
|
|
161
|
+
{ type: 'paragraph', html: '还要在目标引擎中检查透明边缘、过滤模式和放大比例。调色板转换会减少颜色信息,游戏中的实际背景和缩放效果才是判断轮廓是否清晰的依据。' },
|
|
144
162
|
],
|
|
145
163
|
faq: [
|
|
146
164
|
{
|
|
@@ -128,6 +128,19 @@ export const content: ToolLocaleContent<RetroSfxGeneratorUI> = {
|
|
|
128
128
|
title: 'Bei gewuenschter Lautstaerke testen',
|
|
129
129
|
html: 'Ein einzeln spektakulaerer Sound kann im Spiel anstrengend wirken. Testen Sie den Sound direkt im Spielkontext.',
|
|
130
130
|
},
|
|
131
|
+
{
|
|
132
|
+
type: 'title',
|
|
133
|
+
level: 2,
|
|
134
|
+
text: 'Frequenzverlauf und Hüllkurve gemeinsam abstimmen',
|
|
135
|
+
},
|
|
136
|
+
{
|
|
137
|
+
type: 'paragraph',
|
|
138
|
+
html: 'Ein Sweep verändert die Tonhöhe über die Zeit, während Decay und Filter die wahrgenommene Energie formen. Hören Sie beide Eigenschaften zusammen an: Ein langer Anstieg kann trotz hoher Startfrequenz weich wirken, und Rauschen benötigt oft einen kürzeren Verlauf, damit der Effekt präzise bleibt.',
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
type: 'paragraph',
|
|
142
|
+
html: 'Der WAV-Export ist ein Ausgangspunkt für Prototypen und ersetzt keinen Mix im Spiel. Prüfen Sie Lautheit, Übersteuerung und den Abstand zu Musik und Dialog, bevor Sie das Geräusch als endgültiges Asset übernehmen.',
|
|
143
|
+
},
|
|
131
144
|
],
|
|
132
145
|
faqTitle: 'Haeufig gestellte Fragen',
|
|
133
146
|
faq: [
|
|
@@ -128,6 +128,19 @@ export const content: ToolLocaleContent<RetroSfxGeneratorUI> = {
|
|
|
128
128
|
title: 'Tester au volume reel du jeu',
|
|
129
129
|
html: 'Un son tres fort en solo peut devenir agressif s il est repete frequemment. Testez directement dans votre moteur de jeu.',
|
|
130
130
|
},
|
|
131
|
+
{
|
|
132
|
+
type: 'title',
|
|
133
|
+
level: 2,
|
|
134
|
+
text: 'Accorder la fréquence et l enveloppe sonore',
|
|
135
|
+
},
|
|
136
|
+
{
|
|
137
|
+
type: 'paragraph',
|
|
138
|
+
html: 'Le sweep fait évoluer la hauteur pendant que le decay et les filtres modifient l énergie perçue. Écoutez ces paramètres ensemble: une montée longue peut rester douce malgré une fréquence élevée, tandis qu un bruit demande souvent une durée plus courte pour garder un impact précis.',
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
type: 'paragraph',
|
|
142
|
+
html: 'L export WAV sert de point de départ pour un prototype et ne remplace pas le mixage dans le jeu. Vérifiez le niveau, la saturation et la place du son par rapport à la musique et aux dialogues avant de le conserver comme asset final.',
|
|
143
|
+
},
|
|
131
144
|
],
|
|
132
145
|
faqTitle: 'Foire Aux Questions',
|
|
133
146
|
faq: [
|
|
@@ -128,6 +128,19 @@ export const content: ToolLocaleContent<RetroSfxGeneratorUI> = {
|
|
|
128
128
|
title: 'Dengarkan Pada Volume Game',
|
|
129
129
|
html: 'Uji suara di dalam game untuk memastikan tidak mengganggu musik latar.',
|
|
130
130
|
},
|
|
131
|
+
{
|
|
132
|
+
type: 'title',
|
|
133
|
+
level: 2,
|
|
134
|
+
text: 'Menyetel frekuensi dan envelope secara bersamaan',
|
|
135
|
+
},
|
|
136
|
+
{
|
|
137
|
+
type: 'paragraph',
|
|
138
|
+
html: 'Sweep mengubah tinggi nada dari waktu ke waktu, sedangkan decay dan filter membentuk energi yang terdengar. Dengarkan semua parameter bersama-sama: kenaikan panjang dapat tetap lembut, sementara noise biasanya membutuhkan durasi lebih pendek agar dampaknya terasa jelas.',
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
type: 'paragraph',
|
|
142
|
+
html: 'Ekspor WAV adalah titik awal untuk prototipe dan bukan pengganti mixing di dalam game. Periksa level, clipping, serta ruang suara terhadap musik dan dialog sebelum menjadikannya aset final.',
|
|
143
|
+
},
|
|
131
144
|
],
|
|
132
145
|
faqTitle: 'Pertanyaan Umum',
|
|
133
146
|
faq: [
|
|
@@ -128,6 +128,7 @@ export const content: ToolLocaleContent<RetroSfxGeneratorUI> = {
|
|
|
128
128
|
title: 'Testare al volume effettivo del gioco',
|
|
129
129
|
html: 'Un suono gratificante da solo puo risultare stancante se ripetuto spesso nel gioco. Verificalo nel contesto di gioco reale.',
|
|
130
130
|
},
|
|
131
|
+
{ type: 'paragraph', html: 'Ascolta il suono anche nel mix reale del gioco: un effetto brillante da solo può coprire dialoghi o musica. Controlla volume, clipping e durata prima di usarlo come asset definitivo.' },
|
|
131
132
|
],
|
|
132
133
|
faqTitle: 'Domande Frequenti',
|
|
133
134
|
faq: [
|
|
@@ -128,6 +128,7 @@ export const content: ToolLocaleContent<RetroSfxGeneratorUI> = {
|
|
|
128
128
|
title: 'Luister op het gewenste spelvolume',
|
|
129
129
|
html: 'Test het gedownloade WAV-bestand direct in je game om te kijken of het past bij de achtergrondmuziek.',
|
|
130
130
|
},
|
|
131
|
+
{ type: 'paragraph', html: 'Luister het geluid ook in de echte gamemix: een helder effect kan afzonderlijk goed klinken maar dialoog of muziek maskeren. Controleer volume, clipping en duur voordat je het als definitief asset gebruikt.' },
|
|
131
132
|
],
|
|
132
133
|
faqTitle: 'Veelgestelde Vragen',
|
|
133
134
|
faq: [
|
|
@@ -128,6 +128,7 @@ export const content: ToolLocaleContent<RetroSfxGeneratorUI> = {
|
|
|
128
128
|
title: 'Testuj przy docelowej glosnosci gry',
|
|
129
129
|
html: 'Dzwiek brzmiacy atrakcyjnie osobno moze byc meczacy, gdy powtarza sie wielokrotnie w grze. Przetestuj go w silniku gry razem z muzyka.',
|
|
130
130
|
},
|
|
131
|
+
{ type: 'paragraph', html: 'Posłuchaj dźwięku także w prawdziwym miksie gry: jasny efekt może solo brzmieć dobrze, ale zagłuszać dialogi lub muzykę. Przed użyciem jako finalnego zasobu sprawdź głośność, clipping i długość.' },
|
|
131
132
|
],
|
|
132
133
|
faqTitle: 'Czesto zadawane pytania',
|
|
133
134
|
faq: [
|
|
@@ -128,6 +128,7 @@ export const content: ToolLocaleContent<RetroSfxGeneratorUI> = {
|
|
|
128
128
|
title: 'Teste no volume real do jogo',
|
|
129
129
|
html: 'Sons isolados podem soar ótimos, mas ser cansativos quando repetidos com frequência no jogo. Teste diretamente na engine.',
|
|
130
130
|
},
|
|
131
|
+
{ type: 'paragraph', html: 'Ouça o som também na mixagem real do jogo: um efeito brilhante pode funcionar sozinho e ainda mascarar diálogos ou música. Confira volume, clipping e duração antes de tratá-lo como asset final.' },
|
|
131
132
|
],
|
|
132
133
|
faqTitle: 'Perguntas Frequentes',
|
|
133
134
|
faq: [
|
|
@@ -128,6 +128,7 @@ export const content: ToolLocaleContent<RetroSfxGeneratorUI> = {
|
|
|
128
128
|
title: 'Тестируйте на игровой громкости',
|
|
129
129
|
html: 'Звук, который хорошо звучит отдельно, может утомлять при частых повторах в игре. Всегда проверяйте его вместе с фоновой музыкой.',
|
|
130
130
|
},
|
|
131
|
+
{ type: 'paragraph', html: 'Прослушайте звук также в настоящем игровом миксе: яркий эффект может хорошо звучать отдельно, но заглушать диалоги или музыку. Перед использованием как финального ресурса проверьте громкость, клиппинг и длительность.' },
|
|
131
132
|
],
|
|
132
133
|
faqTitle: 'Часто задаваемые вопросы',
|
|
133
134
|
faq: [
|
|
@@ -128,6 +128,8 @@ export const content: ToolLocaleContent<RetroSfxGeneratorUI> = {
|
|
|
128
128
|
title: 'Lyssna i rätt spelvolym',
|
|
129
129
|
html: 'Ett ljud som låter bra ensamt kan bli tröttsamt om det upprepas ofta i spelet. Testa ljudet i spelsammanhang.',
|
|
130
130
|
},
|
|
131
|
+
{ type: 'paragraph', html: 'Lyssna också på ljudet i spelets riktiga mix: en ljus effekt kan fungera ensam men ändå maskera dialog eller musik. Kontrollera volym, klippning och längd innan ljudet används som slutgiltig tillgång.' },
|
|
132
|
+
{ type: 'paragraph', html: 'Jämför flera varianter med samma spelvolym och välj den som har tydligast attack utan att bli vass. Kontrollera också att start och slut inte innehåller klick, och att filens längd passar den animation eller händelse som ska trigga effekten.' },
|
|
131
133
|
],
|
|
132
134
|
faqTitle: 'Vanliga Frågor',
|
|
133
135
|
faq: [
|
|
@@ -128,6 +128,7 @@ export const content: ToolLocaleContent<RetroSfxGeneratorUI> = {
|
|
|
128
128
|
title: 'Hedef Oyun Ses Seviyesinde Dinleyin',
|
|
129
129
|
html: 'Tek basina harika duyulan bir ses oyunda surekli tekrarlandiginda yorucu olabilir. Oyunda fon muzigiyle birlikte test edin.',
|
|
130
130
|
},
|
|
131
|
+
{ type: 'paragraph', html: 'Sesi gerçek oyun miksinde de dinleyin: parlak bir efekt tek başına iyi duyulsa bile diyalog veya müziği maskeleyebilir. Son varlık olarak kullanmadan önce ses düzeyini, clipping durumunu ve süreyi kontrol edin.' },
|
|
131
132
|
],
|
|
132
133
|
faqTitle: 'Sikca Sorulan Sorular',
|
|
133
134
|
faq: [
|
|
@@ -128,6 +128,7 @@ export const content: ToolLocaleContent<RetroSfxGeneratorUI> = {
|
|
|
128
128
|
title: '在游戏实际音量下进行测试',
|
|
129
129
|
html: '单独听起来出色的音效如果在游戏中高频触发可能会造成听觉疲劳。请务必在游戏实际场景中与背景音乐一起测试。',
|
|
130
130
|
},
|
|
131
|
+
{ type: 'paragraph', html: '还要在游戏的实际混音中试听:单独听起来明亮的音效可能会盖住对白或音乐。作为最终资源使用前,请检查音量、削波和持续时间。' },
|
|
131
132
|
],
|
|
132
133
|
faqTitle: '常见问题',
|
|
133
134
|
faq: [
|