@jjlmoya/utils-travel 1.1.0 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (86) hide show
  1. package/package.json +59 -58
  2. package/src/category/i18n/de.ts +185 -0
  3. package/src/category/i18n/fr.ts +86 -1
  4. package/src/category/i18n/id.ts +185 -0
  5. package/src/category/i18n/it.ts +185 -0
  6. package/src/category/i18n/ja.ts +181 -0
  7. package/src/category/i18n/ko.ts +181 -0
  8. package/src/category/i18n/nl.ts +185 -0
  9. package/src/category/i18n/pl.ts +181 -0
  10. package/src/category/i18n/pt.ts +181 -0
  11. package/src/category/i18n/ru.ts +181 -0
  12. package/src/category/i18n/sv.ts +181 -0
  13. package/src/category/i18n/tr.ts +181 -0
  14. package/src/category/i18n/zh.ts +181 -0
  15. package/src/category/index.ts +13 -1
  16. package/src/tests/i18n_coverage.test.ts +36 -0
  17. package/src/tests/locale_completeness.test.ts +24 -3
  18. package/src/tests/no_h1_in_components.test.ts +42 -2
  19. package/src/tests/schemas_fulfillment.test.ts +23 -0
  20. package/src/tests/slug_uniqueness.test.ts +81 -0
  21. package/src/tests/title_quality.test.ts +55 -0
  22. package/src/tool/luggage-calculator/i18n/de.ts +616 -0
  23. package/src/tool/luggage-calculator/i18n/en.ts +2 -2
  24. package/src/tool/luggage-calculator/i18n/id.ts +616 -0
  25. package/src/tool/luggage-calculator/i18n/it.ts +616 -0
  26. package/src/tool/luggage-calculator/i18n/ja.ts +616 -0
  27. package/src/tool/luggage-calculator/i18n/ko.ts +616 -0
  28. package/src/tool/luggage-calculator/i18n/nl.ts +616 -0
  29. package/src/tool/luggage-calculator/i18n/pl.ts +616 -0
  30. package/src/tool/luggage-calculator/i18n/pt.ts +616 -0
  31. package/src/tool/luggage-calculator/i18n/ru.ts +616 -0
  32. package/src/tool/luggage-calculator/i18n/sv.ts +616 -0
  33. package/src/tool/luggage-calculator/i18n/tr.ts +616 -0
  34. package/src/tool/luggage-calculator/i18n/zh.ts +616 -0
  35. package/src/tool/luggage-calculator/index.ts +13 -1
  36. package/src/tool/mini-adventures/i18n/de.ts +161 -0
  37. package/src/tool/mini-adventures/i18n/en.ts +1 -1
  38. package/src/tool/mini-adventures/i18n/es.ts +1 -1
  39. package/src/tool/mini-adventures/i18n/id.ts +161 -0
  40. package/src/tool/mini-adventures/i18n/it.ts +161 -0
  41. package/src/tool/mini-adventures/i18n/ja.ts +161 -0
  42. package/src/tool/mini-adventures/i18n/ko.ts +161 -0
  43. package/src/tool/mini-adventures/i18n/nl.ts +161 -0
  44. package/src/tool/mini-adventures/i18n/pl.ts +161 -0
  45. package/src/tool/mini-adventures/i18n/pt.ts +161 -0
  46. package/src/tool/mini-adventures/i18n/ru.ts +161 -0
  47. package/src/tool/mini-adventures/i18n/sv.ts +161 -0
  48. package/src/tool/mini-adventures/i18n/tr.ts +161 -0
  49. package/src/tool/mini-adventures/i18n/zh.ts +161 -0
  50. package/src/tool/mini-adventures/index.ts +13 -1
  51. package/src/tool/suitcase-checklist/i18n/de.ts +261 -0
  52. package/src/tool/suitcase-checklist/i18n/en.ts +1 -1
  53. package/src/tool/suitcase-checklist/i18n/es.ts +1 -1
  54. package/src/tool/suitcase-checklist/i18n/fr.ts +1 -1
  55. package/src/tool/suitcase-checklist/i18n/id.ts +261 -0
  56. package/src/tool/suitcase-checklist/i18n/it.ts +261 -0
  57. package/src/tool/suitcase-checklist/i18n/ja.ts +261 -0
  58. package/src/tool/suitcase-checklist/i18n/ko.ts +261 -0
  59. package/src/tool/suitcase-checklist/i18n/nl.ts +261 -0
  60. package/src/tool/suitcase-checklist/i18n/pl.ts +261 -0
  61. package/src/tool/suitcase-checklist/i18n/pt.ts +261 -0
  62. package/src/tool/suitcase-checklist/i18n/ru.ts +261 -0
  63. package/src/tool/suitcase-checklist/i18n/sv.ts +261 -0
  64. package/src/tool/suitcase-checklist/i18n/tr.ts +261 -0
  65. package/src/tool/suitcase-checklist/i18n/zh.ts +261 -0
  66. package/src/tool/suitcase-checklist/index.ts +13 -1
  67. package/src/tool/tip-calculator/i18n/de.ts +264 -0
  68. package/src/tool/tip-calculator/i18n/id.ts +264 -0
  69. package/src/tool/tip-calculator/i18n/it.ts +264 -0
  70. package/src/tool/tip-calculator/i18n/ja.ts +264 -0
  71. package/src/tool/tip-calculator/i18n/ko.ts +264 -0
  72. package/src/tool/tip-calculator/i18n/nl.ts +264 -0
  73. package/src/tool/tip-calculator/i18n/pl.ts +264 -0
  74. package/src/tool/tip-calculator/i18n/pt.ts +264 -0
  75. package/src/tool/tip-calculator/i18n/ru.ts +264 -0
  76. package/src/tool/tip-calculator/i18n/sv.ts +264 -0
  77. package/src/tool/tip-calculator/i18n/tr.ts +264 -0
  78. package/src/tool/tip-calculator/i18n/zh.ts +264 -0
  79. package/src/tool/tip-calculator/index.ts +13 -1
  80. package/src/tool/optimal-routes/bibliography.astro +0 -14
  81. package/src/tool/optimal-routes/component.astro +0 -439
  82. package/src/tool/optimal-routes/i18n/en.ts +0 -42
  83. package/src/tool/optimal-routes/i18n/es.ts +0 -52
  84. package/src/tool/optimal-routes/index.ts +0 -63
  85. package/src/tool/optimal-routes/lib/RouteManager.ts +0 -181
  86. package/src/tool/optimal-routes/seo.astro +0 -14
package/package.json CHANGED
@@ -1,60 +1,61 @@
1
1
  {
2
- "name": "@jjlmoya/utils-travel",
3
- "version": "1.1.0",
4
- "type": "module",
5
- "main": "./src/index.ts",
6
- "types": "./src/index.ts",
7
- "exports": {
8
- ".": "./src/index.ts",
9
- "./data": "./src/data.ts"
10
- },
11
- "files": [
12
- "src"
13
- ],
14
- "publishConfig": {
15
- "access": "public"
16
- },
17
- "scripts": {
18
- "dev": "astro dev",
19
- "start": "astro dev",
20
- "build": "astro build",
21
- "preview": "astro preview",
22
- "astro": "astro",
23
- "lint": "eslint src/ --max-warnings 0 && stylelint \"src/**/*.{css,astro}\"",
24
- "check": "astro check",
25
- "type-check": "astro check",
26
- "test": "vitest run",
27
- "preversion": "npm run lint && npm run test",
28
- "postversion": "git push && git push --tags",
29
- "patch": "npm version patch",
30
- "minor": "npm version minor",
31
- "major": "npm version major"
32
- },
33
- "lint-staged": {
34
- "*.{ts,tsx,astro}": [
35
- "eslint --fix"
36
- ]
37
- },
38
- "dependencies": {
39
- "@iconify-json/mdi": "^1.2.3",
40
- "@jjlmoya/utils-shared": "^1.1.0",
41
- "astro": "^6.1.2",
42
- "astro-icon": "^1.1.0"
43
- },
44
- "devDependencies": {
45
- "@astrojs/check": "^0.9.8",
46
- "eslint": "^9.39.4",
47
- "eslint-plugin-astro": "^1.6.0",
48
- "eslint-plugin-no-comments": "^1.1.10",
49
- "husky": "^9.1.7",
50
- "lint-staged": "^16.4.0",
51
- "postcss-html": "^1.8.1",
52
- "schema-dts": "^1.1.2",
53
- "stylelint": "^17.6.0",
54
- "stylelint-config-standard": "^40.0.0",
55
- "stylelint-declaration-strict-value": "^1.11.1",
56
- "typescript": "^5.4.0",
57
- "typescript-eslint": "^8.58.0",
58
- "vitest": "^4.1.2"
59
- }
2
+ "name": "@jjlmoya/utils-travel",
3
+ "version": "1.2.0",
4
+ "type": "module",
5
+ "main": "./src/index.ts",
6
+ "types": "./src/index.ts",
7
+ "exports": {
8
+ ".": "./src/index.ts",
9
+ "./data": "./src/data.ts"
10
+ },
11
+ "files": [
12
+ "src"
13
+ ],
14
+ "publishConfig": {
15
+ "access": "public"
16
+ },
17
+ "scripts": {
18
+ "dev": "astro dev",
19
+ "start": "astro dev",
20
+ "build": "astro build",
21
+ "preview": "astro preview",
22
+ "astro": "astro",
23
+ "lint": "eslint src/ --max-warnings 0 && stylelint \"src/**/*.{css,astro}\"",
24
+ "check": "astro check",
25
+ "type-check": "astro check",
26
+ "test": "vitest run",
27
+ "preversion": "npm run lint && npm run test",
28
+ "postversion": "git push && git push --tags",
29
+ "patch": "npm version patch",
30
+ "minor": "npm version minor",
31
+ "major": "npm version major"
32
+ },
33
+ "lint-staged": {
34
+ "*.{ts,tsx,astro}": [
35
+ "eslint --fix"
36
+ ]
37
+ },
38
+ "dependencies": {
39
+ "@iconify-json/mdi": "^1.2.3",
40
+ "@jjlmoya/prompagate": "^1.1.0",
41
+ "@jjlmoya/utils-shared": "1.2.0",
42
+ "astro": "^6.1.2",
43
+ "astro-icon": "^1.1.0"
44
+ },
45
+ "devDependencies": {
46
+ "@astrojs/check": "^0.9.8",
47
+ "eslint": "^9.39.4",
48
+ "eslint-plugin-astro": "^1.6.0",
49
+ "eslint-plugin-no-comments": "^1.1.10",
50
+ "husky": "^9.1.7",
51
+ "lint-staged": "^16.4.0",
52
+ "postcss-html": "^1.8.1",
53
+ "schema-dts": "^1.1.2",
54
+ "stylelint": "^17.6.0",
55
+ "stylelint-config-standard": "^40.0.0",
56
+ "stylelint-declaration-strict-value": "^1.11.1",
57
+ "typescript": "^5.4.0",
58
+ "typescript-eslint": "^8.58.0",
59
+ "vitest": "^4.1.2"
60
+ }
60
61
  }
@@ -0,0 +1,185 @@
1
+ import type { CategoryLocaleContent } from '../../types';
2
+
3
+ export const content: CategoryLocaleContent = {
4
+ slug: 'reisen',
5
+ title: 'Tools und Rechner für Reisende und Abenteurer',
6
+ description: 'Planen Sie Ihre nächste Reise mit kostenlosen Online-Tools. Koffer-Rechner, internationale Trinkgeld-Guides, Koffer-Checklisten und tägliche Herausforderungen.',
7
+ seo: [
8
+ {
9
+ type: 'title',
10
+ text: 'Reiselogistik und lokale Erkundung: Intelligent planen',
11
+ level: 2,
12
+ },
13
+ {
14
+ type: 'paragraph',
15
+ html: 'Reisen im Jahr 2026 ist eine Mischung aus Entdeckung und technischem Management. In diesem Bereich bieten wir eine Reihe von <strong>kostenlosen Online-Tools</strong> an, die für digitale Nomaden, Vielreisende und urbane Abenteurer entwickelt wurden, die den Planungsstress reduzieren möchten. Die Logistik einer Reise sollte kein Hindernis für das Abenteuer sein, sondern die Karte, die es ermöglicht.',
16
+ },
17
+ {
18
+ type: 'paragraph',
19
+ html: 'Von der Einhaltung der Fluglinien-Vorschriften bis hin zur internationalen kulturellen Etikette und der Gamifizierung Ihrer unmittelbaren Umgebung – unsere Dienstprogramme helfen Ihnen, ein bewussterer, effizienterer und neugierigerer Reisender zu sein.',
20
+ },
21
+ {
22
+ type: 'title',
23
+ text: 'Luftlogistik: Gepäckrechner und Maße',
24
+ level: 2,
25
+ },
26
+ {
27
+ type: 'paragraph',
28
+ html: 'Überraschungen und zusätzliche Kosten am Check-in-Schalter zu vermeiden, ist lebenswichtig. Unser <strong>Gepäckrechner</strong> integriert die Maße und Gewichte von mehr als 20 führenden Fluggesellschaften (einschließlich Low-Cost-Anbietern wie Ryanair, EasyJet oder Vueling). Überprüfen Sie sofort, ob Ihr Handgepäck die spezifischen Anforderungen Ihres nächsten Fluges erfüllt.',
29
+ },
30
+ {
31
+ type: 'title',
32
+ text: 'Internationale Etikette: Trinkgeld-Guide und Rechner',
33
+ level: 2,
34
+ },
35
+ {
36
+ type: 'paragraph',
37
+ html: 'Trinkgeld ist nicht nur eine Transaktion; es ist eine kulturelle Norm, die drastisch variiert. Unser <strong>internationaler Trinkgeld-Rechner</strong> bietet empfohlene Prozentsätze und Trinkgeld-Etikette für über 50 Länder und hilft Ihnen, ein Reisender zu sein, der lokale Bräuche von Japan bis in die Vereinigten Staaten respektiert.',
38
+ },
39
+ {
40
+ type: 'title',
41
+ text: 'Effiziente Organisation: Koffer-Checklisten-Generator',
42
+ level: 2,
43
+ },
44
+ {
45
+ type: 'paragraph',
46
+ html: 'Sind Sie jemals an Ihrem Ziel angekommen und haben festgestellt, dass Sie das Wichtigste vergessen haben? Basierend auf der Dauer Ihres Aufenthalts, dem Klima Ihres Ziels und dem Grund Ihrer Reise generiert unsere <strong>interaktive Checkliste</strong> eine personalisierte Gepäckliste, damit Sie nichts dem Zufall überlassen.',
47
+ },
48
+ {
49
+ type: 'title',
50
+ text: 'Umgebungserkundung: Mini-Abenteuer-Generator',
51
+ level: 2,
52
+ },
53
+ {
54
+ type: 'paragraph',
55
+ html: 'Das Abenteuer liegt nicht nur am anderen Ende der Welt; es liegt oft direkt um die Ecke. Unser <strong>Mini-Abenteuer</strong>-Generator verwendet Zufallsalgorithmen, um tägliche Herausforderungen vorzuschlagen, die Sie zwingen, auf kreative und andere Weise mit Ihrer lokalen Umgebung zu interagieren. Brechen Sie die Routine und entdecken Sie Ihre eigene Stadt neu.',
56
+ },
57
+ {
58
+ type: 'list',
59
+ items: [
60
+ '<strong>Flugersparnis:</strong> Vermeiden Sie zusätzliche Kosten für Übergepäck oder übergroße Koffer durch technische Planung.',
61
+ '<strong>Kulturelles Bewusstsein:</strong> Navigieren Sie in internationalen Umgebungen mit dem Vertrauen, die lokalen Etikette-Normen zu kennen.',
62
+ '<strong>Sicheres Reisen:</strong> Checklisten, die sicherstellen, dass Sie alle notwendigen Dokumente und Medikamente dabei haben.',
63
+ '<strong>Gamifizierung der Erkundung:</strong> Verwandeln Sie Ihren täglichen Arbeitsweg in kleine Entdeckungsexpeditionen.',
64
+ ],
65
+ },
66
+ {
67
+ type: 'tip',
68
+ title: 'Experten Tipp für Reisende',
69
+ html: '<p><strong>Dokumentenpflege:</strong> Führen Sie immer eine verschlüsselte digitale Kopie Ihrer Dokumente (Reisepass, Versicherung) in der Cloud und eine versteckte physische Kopie in Ihrem Gepäck mit. Unser Checklisten-Tool erinnert Sie daran, diesen lebenswichtigen Schritt vor dem Verlassen des Hauses einzuplanen.</p>',
70
+ },
71
+ {
72
+ type: 'title',
73
+ text: 'Finanzplanung: Budgetierung und Ausgabenkontrolle',
74
+ level: 2,
75
+ },
76
+ {
77
+ type: 'paragraph',
78
+ html: 'Eine Reise ohne Budget ist eine Reise, die sich selbst kontrolliert, statt andersherum. Legen Sie vor der Abreise ein realistisches Budget fest, aufgeschlüsselt nach Kategorien: Unterkunft (40 %), Verpflegung (25 %), Aktivitäten (20 %), lokaler Transport (10 %), Notfälle (5 %). Diese Struktur verhindert unangenehme Überraschungen und maximiert den Wert jedes investierten Euro.',
79
+ },
80
+ {
81
+ type: 'paragraph',
82
+ html: 'Tools zur Ausgabenkontrolle, wie lokale Währungsumrechner und tägliche Budgetrechner, helfen Ihnen, Ihre Ausgabengeschwindigkeit an die Lebenshaltungskosten in der Region anzupassen. Ein kluger Reisender weiß, wie viel ein Kaffee in Bangkok im Vergleich zu einem Kaffee in Paris kostet, und passt seine Aktivitäten entsprechend an.',
83
+ },
84
+ {
85
+ type: 'title',
86
+ text: 'Gesundheit und medizinische Dokumentation auf internationalen Reisen',
87
+ level: 2,
88
+ },
89
+ {
90
+ type: 'paragraph',
91
+ html: 'Die Gesundheit reist mit Ihnen. Überprüfen Sie vor der Abreise zu einem internationalen Ziel, welche Impfungen empfohlen werden (Gelbfieber, Hepatitis, Tetanus). Führen Sie Ihre digitalisierten Krankenunterlagen, Medikamentenverschreibungen auf Englisch (verlassen Sie sich nicht ohne Prüfung auf lokale Rezepte) und eine Reiseversicherung mit, die im Notfall eine medizinische Evakuierung abdeckt.',
92
+ },
93
+ {
94
+ type: 'title',
95
+ text: 'Authentische Erlebnisse: Verantwortungsbewusster Tourismus vs. Ausbeutung',
96
+ level: 2,
97
+ },
98
+ {
99
+ type: 'paragraph',
100
+ html: 'Nicht alle Touren sind gleich. Eine "exotische" Tour, die "Begegnungen mit lokalen Stämmen" bewirbt, ist oft touristische Ausbeutung. Der Unterschied ist: Stimmen die Einheimischen freiwillig zu? Erhalten sie eine faire Vergütung? Werden ihre Privatsphäre und Kultur respektiert? Verantwortungsbewusstes Reisen bedeutet vorherige Recherche, Respekt vor lokalen Grenzen und direkte wirtschaftliche Unterstützung der Gemeinschaften, nicht von Zwischenhändlern.',
101
+ },
102
+ {
103
+ type: 'title',
104
+ text: 'Unterkunft-Logistik und intelligente Buchungen',
105
+ level: 2,
106
+ },
107
+ {
108
+ type: 'paragraph',
109
+ html: 'Die Suche nach einer Unterkunft ist eine der wichtigsten Entscheidungen der Reise. Unser <strong>Unterkunftsvergleich</strong> aggregiert Preise von mehreren Plattformen (Airbnb, Booking, lokale Hostels) in Echtzeit und ermöglicht es Ihnen, nicht nur den Preis, sondern auch verifizierte Bewertungen, die strategische Lage (Entfernung zum öffentlichen Nahverkehr, Sicherheit der Nachbarschaft) und kritische Annehmlichkeiten zu bewerten.',
110
+ },
111
+ {
112
+ type: 'title',
113
+ text: 'Währungsumrechnung und historische Wechselkursanalyse',
114
+ level: 2,
115
+ },
116
+ {
117
+ type: 'paragraph',
118
+ html: 'Der Wechselkurs ist nicht konstant. Am Flughafen tauschen Sie Geld zu einem schlechteren Kurs als zu Hause. Unser <strong>Wechselkurs-Tracker</strong> zeigt Ihnen historische Kurse, damit Sie planen können, wann Sie Geld optimal umtauschen. Die historische Analyse zeigt Muster: Der Euro tendiert im Winter zur Schwäche, der Dollar stärkt sich in Krisen.',
119
+ },
120
+ {
121
+ type: 'title',
122
+ text: 'Jetlag-Management und wissenschaftliche Zeitanpassung',
123
+ level: 2,
124
+ },
125
+ {
126
+ type: 'paragraph',
127
+ html: 'Der Wechsel von Zeitzonen beeinflusst Ihren zirkadianen Rhythmus tiefgreifend. Unser <strong>Jetlag-Planer</strong>, der auf dem Prinzip der "hellen Lichttherapie" basiert, schlägt vor, wann Sie sich je nach Zielort dem Sonnenlicht aussetzen sollten. Reisen nach Osten ist schwieriger als Reisen nach Westen. Einfache Strategien wie die Anpassung Ihres Schlafes 2–3 Tage vor der Reise können den Jetlag drastisch reduzieren.',
128
+ },
129
+ {
130
+ type: 'title',
131
+ text: 'Optimierte Routen: Der Algorithmus des Handlungsreisenden für den Tourismus',
132
+ level: 2,
133
+ },
134
+ {
135
+ type: 'paragraph',
136
+ html: 'Wenn Sie 10 Sehenswürdigkeiten besuchen, gibt es 3,6 Millionen mögliche Routen. Der <strong>Routenplaner</strong> wendet den TSP-Algorithmus (Traveling Salesman Problem) an, um die effizienteste Sequenz zu finden. Es geht nicht nur um Distanz; es geht um Aufenthaltsdauer, Öffnungszeiten und verfügbare öffentliche Verkehrsmittel.',
137
+ },
138
+ {
139
+ type: 'title',
140
+ text: 'Reisevorschriften: Visa, Impfungen und erforderliche Dokumente',
141
+ level: 2,
142
+ },
143
+ {
144
+ type: 'paragraph',
145
+ html: 'Jedes Land hat seine eigenen, einzigartigen Anforderungen. Der <strong>Reiseanforderungs-Auditor</strong> prüft Ihre Nationalität, Ihr Ziel und Ihre Reiseberichte, um Sie genau darüber zu informieren, welche Dokumente Sie benötigen: Visum vorab? Obligatorische Impfungen? Gesundheitszeugnisse? Währungslimits? Dies zu ignorieren kann die Abschiebung an der Grenze oder Geldstrafen bedeuten.',
146
+ },
147
+ {
148
+ type: 'title',
149
+ text: 'Lokaler Transport: Metropolenpläne und globale Verkehrssysteme',
150
+ level: 2,
151
+ },
152
+ {
153
+ type: 'paragraph',
154
+ html: 'Mobilität macht mehr als die Hälfte der Reise aus. Unser <strong>ÖPNV-Navigator</strong> integriert U-Bahn-, Bus- und Straßenbahnsysteme für über 100 Weltstädte. Planen Sie exakte Routen, reale Wartezeiten, Ticketpreise. Das Wissen über den öffentlichen Nahverkehr verwandelt Ihre Erfahrung vom "verlorenen Touristen" zum "lokalen Reisenden".',
155
+ },
156
+ {
157
+ type: 'title',
158
+ text: 'Reiseversicherung und medizinische Notfallabdeckung',
159
+ level: 2,
160
+ },
161
+ {
162
+ type: 'paragraph',
163
+ html: 'Ein Unfall, der einen Krankenhausaufenthalt im Ausland erfordert, kann 50.000 € kosten. Der <strong>Reiseversicherungs-Vergleich</strong> ermöglicht es Ihnen, den Versicherungsschutz für medizinische Evakuierung, zahnärztliche Versorgung und Gepäckrückerstattung zu bewerten. Ein kluger Reisender investiert 15 € in eine Versicherung, um eine 1.500 € teure Reise zu schützen.',
164
+ },
165
+ {
166
+ type: 'title',
167
+ text: 'Die Zukunft des bewussten Tourismus 2026',
168
+ level: 2,
169
+ },
170
+ {
171
+ type: 'paragraph',
172
+ html: 'Im Jahr 2026 sind <strong>Slow Travel</strong> und regenerativer Tourismus grundlegend. Es geht darum, weniger, aber besser zu reisen. Diese Tools befähigen Sie, Ihre Autonomie als Reisender zu verwalten, den logistischen Lärm zu reduzieren, damit Sie sich auf das konzentrieren können, was wirklich zählt: das Erlebnis und die Verbindung zum Ort. Eine gut geplante Reise ist nicht langweilig – sie ist befreiend.',
173
+ },
174
+ {
175
+ type: 'stats',
176
+ columns: 2,
177
+ items: [
178
+ { label: 'Gepäck', value: '20+ Airlines', icon: 'mdi:airplane' },
179
+ { label: 'Checkliste', value: 'Smart-Adapt', icon: 'mdi:clipboard-check' },
180
+ { label: 'Trinkgeld', value: '50+ Länder', icon: 'mdi:cash-multiple' },
181
+ { label: 'Abenteuer', value: 'Bio-Daily', icon: 'mdi:compass' },
182
+ ],
183
+ },
184
+ ],
185
+ };
@@ -77,6 +77,91 @@ export const content: CategoryLocaleContent = {
77
77
  type: 'paragraph',
78
78
  html: 'Un voyage sans budget est un voyage qui se contrôle lui-même plutôt que l\'inverse. Avant de partir, établissez un budget réaliste réparti par catégories : hébergement (40%), alimentation (25%), activités (20%), transport local (10%), urgences (5%). Cette structure vous évite les mauvaises surprises et maximise la valeur de chaque euro investi.',
79
79
  },
80
+ {
81
+ type: 'paragraph',
82
+ html: 'Les outils de contrôle des dépenses, tels que les convertisseurs de devises locales et les calculateurs de budget quotidien, vous aident à ajuster votre vitesse de dépense en fonction du coût de la vie dans la zone. Un voyageur averti sait combien coûte un café à Bangkok par rapport à un café à Paris, et ajuste ses activités en conséquence.',
83
+ },
84
+ {
85
+ type: 'title',
86
+ text: 'Santé et Documentation Médicale lors de Voyages Internationaux',
87
+ level: 2,
88
+ },
89
+ {
90
+ type: 'paragraph',
91
+ html: 'La santé voyage avec vous. Avant de partir vers une destination internationale, vérifiez quels vaccins sont recommandés (fièvre jaune, hépatite, tétanos). Emportez vos dossiers médicaux numérisés, vos ordonnances de médicaments en anglais (ne vous fiez pas aux ordonnances locales sans vérification) et une assurance voyage couvrant l\'évacuation médicale si nécessaire. Certains pays exigent une preuve de vaccination spécifique ; ignorer cela peut vous coûter l\'entrée dans un pays ou, pire, une hospitalisation sans couverture.',
92
+ },
93
+ {
94
+ type: 'title',
95
+ text: 'Expériences Authentiques : Tourisme Responsable versus Exploitation',
96
+ level: 2,
97
+ },
98
+ {
99
+ type: 'paragraph',
100
+ html: 'Tous les tours ne se valent pas. Un tour "exotique" promouvant des "rencontres avec des tribus locales" est souvent de l\'exploitation touristique. La différence est : Les locaux consentent-ils volontairement ? Reçoivent-ils une compensation équitable ? Leur vie privée et leur culture sont-elles respectées ? Voyager de manière responsable signifie effectuer des recherches préalables, respecter les limites locales et apporter un soutien économique direct aux communautés, pas aux intermédiaires.',
101
+ },
102
+ {
103
+ type: 'title',
104
+ text: 'Logistique d\'Hébergement et Réservations Intelligentes',
105
+ level: 2,
106
+ },
107
+ {
108
+ type: 'paragraph',
109
+ html: 'Trouver un hébergement est l\'une des décisions les plus importantes du voyage. Notre <strong>comparateur d\'hébergement</strong> agrège les prix de multiples plateformes (Airbnb, Booking, auberges locales) en temps réel, vous permettant d\'évaluer non seulement le prix mais aussi les avis vérifiés, l\'emplacement stratégique (distance des transports publics, sécurité du quartier) et les équipements critiques.',
110
+ },
111
+ {
112
+ type: 'title',
113
+ text: 'Conversion de Devises et Analyse Historique des Taux de Change',
114
+ level: 2,
115
+ },
116
+ {
117
+ type: 'paragraph',
118
+ html: 'Le taux de change n\'est pas constant. Vous changez de l\'argent à un taux moins avantageux à l\'aéroport qu\'à la maison. Notre <strong>suivi de taux de change</strong> vous montre les taux historiques afin que vous puissiez planifier quand changer de l\'argent de manière optimale. L\'analyse historique montre des schémas : l\'euro a tendance à s\'affaiblir en hiver, le dollar se renforce en période de crise.',
119
+ },
120
+ {
121
+ type: 'title',
122
+ text: 'Gestion du Jet Lag et Adaptation Scientifique du Temps',
123
+ level: 2,
124
+ },
125
+ {
126
+ type: 'paragraph',
127
+ html: 'Le changement de fuseau horaire affecte profondément votre rythme circadien. Notre <strong>planificateur de jet lag</strong> basé sur le principe de la "thérapie par la lumière vive" suggère quand s\'exposer au soleil en fonction de votre destination. Voyager vers l\'Est est plus difficile que voyager vers l\'Ouest. Des stratégies simples comme l\'ajustement de votre sommeil 2 ou 3 jours avant le voyage peuvent réduire considérablement le décalage horaire.',
128
+ },
129
+ {
130
+ type: 'title',
131
+ text: 'Itinéraires Optimisés : L\'Algorithme du Voyageur de Commerce Appliqué au Tourisme',
132
+ level: 2,
133
+ },
134
+ {
135
+ type: 'paragraph',
136
+ html: 'Si vous visitez 10 attractions touristiques, il existe 3,6 millions d\'itinéraires possibles. L\'<strong>optimiseur de routes touristiques</strong> applique l\'algorithme du problème du voyageur de commerce (TSP) pour trouver la séquence la plus efficace. Il ne s\'agit pas seulement de distance ; il s\'agit du temps de visite, des heures d\'ouverture et des transports publics disponibles.',
137
+ },
138
+ {
139
+ type: 'title',
140
+ text: 'Réglementations de Voyage : Visas, Vaccins et Documents Requis',
141
+ level: 2,
142
+ },
143
+ {
144
+ type: 'paragraph',
145
+ html: 'Chaque pays a ses propres exigences uniques. L\'<strong>auditeur d\'exigences de voyage</strong> vérifie votre nationalité, votre destination et vos dates de voyage pour vous informer exactement des documents dont vous avez besoin : visa préalable ? vaccins obligatoires ? certificats de santé ? limites de devises ? L\'ignorer peut signifier être expulsé à la frontière ou mis à l\'amende.',
146
+ },
147
+ {
148
+ type: 'title',
149
+ text: 'Transport Local : Plans de Métro et Systèmes de Transport Globaux',
150
+ level: 2,
151
+ },
152
+ {
153
+ type: 'paragraph',
154
+ html: 'Se déplacer constitue plus de la moitié du voyage. Notre <strong>navigateur de transport public</strong> intègre les réseaux de métro, de bus et de tramway de plus de 100 villes mondiales. Planifiez des itinéraires précis, des temps d\'attente réels, les prix des tickets. La connaissance des transports publics transforme votre expérience de "touriste perdu" en "voyageur local".',
155
+ },
156
+ {
157
+ type: 'title',
158
+ text: 'Assurance Voyage et Couverture des Urgences Médicales',
159
+ level: 2,
160
+ },
161
+ {
162
+ type: 'paragraph',
163
+ html: 'Un accident nécessitant une hospitalisation dans un pays étranger peut coûter 50 000 €. Le <strong>comparateur d\'assurance voyage</strong> vous permet d\'évaluer la couverture pour l\'évacuation médicale, les soins dentaires, le remboursement des bagages. Un voyageur averti investit 15 € dans une assurance pour protéger un voyage de 1 500 €.',
164
+ },
80
165
  {
81
166
  type: 'title',
82
167
  text: 'Le futur du tourisme conscient 2026',
@@ -84,7 +169,7 @@ export const content: CategoryLocaleContent = {
84
169
  },
85
170
  {
86
171
  type: 'paragraph',
87
- html: 'En 2026, le <strong>Slow Travel</strong> et le tourisme régénératif sont fondamentaux. Il s\'agit de voyager moins, mais mieux. Ces outils vous permettent de gérer votre autonomie en tant que voyageur, réduisant le bruit logistique pour que vous puissiez vous concentrer sur ce qui compte vraiment : l\'expérience et la connexion avec le lieu.',
172
+ html: 'En 2026, le <strong>Slow Travel</strong> et le tourisme régénératif sont fondamentaux. Il s\'agit de voyager moins, mais mieux. Ces outils vous permettent de gérer votre autonomie en tant que voyageur, réduisant le bruit logistique pour que vous puissiez vous concentrer sur ce qui compte vraiment : l\'expérience et la connexion avec le lieu. Un voyage bien planifié n\'est pas ennuyeux — il est libérateur.',
88
173
  },
89
174
  {
90
175
  type: 'stats',
@@ -0,0 +1,185 @@
1
+ import type { CategoryLocaleContent } from '../../types';
2
+
3
+ export const content: CategoryLocaleContent = {
4
+ slug: 'wisata',
5
+ title: 'Alat dan Kalkulator untuk Wisatawan dan Petualang',
6
+ description: 'Rencanakan perjalanan Anda berikutnya dengan alat online gratis. Kalkulator bagasi maskapai, panduan tip internasional, daftar periksa koper, dan generator tantangan harian.',
7
+ seo: [
8
+ {
9
+ type: 'title',
10
+ text: 'Logistik Perjalanan dan Eksplorasi Lokal: Rencanakan dengan Cerdas',
11
+ level: 2,
12
+ },
13
+ {
14
+ type: 'paragraph',
15
+ html: 'Bepergian di tahun 2026 adalah perpaduan antara penemuan dan manajemen teknis. Di bagian ini, kami menawarkan rangkaian <strong>alat online gratis</strong> yang dirancang untuk nomad digital, pelancong tetap, dan petualang perkotaan yang ingin mengurangi stres perencanaan. Logistik perjalanan tidak boleh menjadi hambatan bagi petualangan, melainkan peta yang memungkinkannya terjadi.',
16
+ },
17
+ {
18
+ type: 'paragraph',
19
+ html: 'Dari mematuhi peraturan maskapai penerbangan hingga etika budaya internasional dan gamifikasi lingkungan lokal Anda, utilitas kami membantu Anda menjadi pelancong yang lebih sadar, efisien, dan penuh rasa ingin tahu.',
20
+ },
21
+ {
22
+ type: 'title',
23
+ text: 'Logistik Udara: Kalkulator Bagasi dan Pengukuran',
24
+ level: 2,
25
+ },
26
+ {
27
+ type: 'paragraph',
28
+ html: 'Menghindari kejutan dan biaya tambahan di loket lapor masuk adalah hal yang vital. <strong>Kalkulator bagasi</strong> kami mengintegrasikan pengukuran dan berat yang diizinkan oleh lebih dari 20 maskapai penerbangan terkemuka (termasuk maskapai bertarif rendah seperti Ryanair, EasyJet, atau Vueling). Verifikasi secara instan apakah tas jinjing Anda memenuhi persyaratan khusus untuk penerbangan Anda berikutnya.',
29
+ },
30
+ {
31
+ type: 'title',
32
+ text: 'Etika Internasional: Panduan dan Kalkulator Tip',
33
+ level: 2,
34
+ },
35
+ {
36
+ type: 'paragraph',
37
+ html: 'Memberi tip bukan sekadar transaksi; ini adalah norma budaya yang sangat bervariasi. <strong>Kalkulator tip internasional</strong> kami menawarkan rekomendasi persentase dan etika pemberian tip untuk lebih dari 50 negara, membantu Anda menjadi pelancong yang menghormati adat istiadat setempat mulai dari Jepang hingga Amerika Serikat.',
38
+ },
39
+ {
40
+ type: 'title',
41
+ text: 'Organisasi yang Efisien: Generator Daftar Periksa Koper',
42
+ level: 2,
43
+ },
44
+ {
45
+ type: 'paragraph',
46
+ html: 'Pernahkah Anda tiba di tempat tujuan dan menyadari bahwa Anda melupakan hal terpenting? Berdasarkan durasi masa inap Anda, iklim tujuan Anda, dan alasan perjalanan Anda, <strong>daftar periksa interaktif</strong> kami menghasilkan daftar barang bawaan yang dipersonalisasi sehingga Anda tidak membiarkan apa pun terjadi secara kebetulan.',
47
+ },
48
+ {
49
+ type: 'title',
50
+ text: 'Eksplorasi Lingkungan: Generator Petualangan Mini',
51
+ level: 2,
52
+ },
53
+ {
54
+ type: 'paragraph',
55
+ html: 'Petualangan tidak hanya ada di belahan dunia lain; petualangan sering kali ada di sekitar lingkungan Anda. Generator <strong>Petualangan Mini</strong> kami menggunakan algoritme acak untuk mengusulkan tantangan harian yang memaksa Anda berinteraksi dengan lingkungan lokal Anda dengan cara yang kreatif dan berbeda. Dobrak rutinitas dan temukan kembali kota Anda sendiri.',
56
+ },
57
+ {
58
+ type: 'list',
59
+ items: [
60
+ '<strong>Penghematan Penerbangan:</strong> Hindari biaya tambahan untuk kelebihan bagasi atau koper yang ukurannya melebihi batas melalui perencanaan teknis.',
61
+ '<strong>Kesadaran Budaya:</strong> Jelajahi lingkungan internasional dengan rasa percaya diri karena mengetahui norma etika setempat.',
62
+ '<strong>Perjalanan Aman:</strong> Daftar periksa yang memastikan Anda membawa semua dokumentasi dan obat-obatan yang diperlukan.',
63
+ '<strong>Gamifikasi Eksplorasi:</strong> Ubah perjalanan harian Anda menjadi ekspedisi penemuan kecil.',
64
+ ],
65
+ },
66
+ {
67
+ type: 'tip',
68
+ title: 'Tip Wisatawan Ahli',
69
+ html: '<p><strong>Perawatan Dokumentasi:</strong> Selalu bawa salinan digital dokumen Anda (paspor, asuransi) yang tersimpan secara terenkripsi di awan dan salinan fisik tersembunyi di bagasi Anda. Alat daftar periksa kami akan mengingatkan Anda untuk menyertakan langkah vital ini sebelum meninggalkan rumah.</p>',
70
+ },
71
+ {
72
+ type: 'title',
73
+ text: 'Perencanaan Keuangan: Penganggaran dan Pengendalian Pengeluaran',
74
+ level: 2,
75
+ },
76
+ {
77
+ type: 'paragraph',
78
+ html: 'Perjalanan tanpa anggaran adalah perjalanan yang mengendalikan dirinya sendiri, bukan sebaliknya. Sebelum berangkat, tetapkan anggaran realistis yang dirinci berdasarkan kategori: akomodasi (40%), makanan (25%), aktivitas (20%), transportasi lokal (10%), keadaan darurat (5%). Struktur ini mencegah kejutan yang tidak menyenangkan dan memaksimalkan nilai dari setiap rupiah yang diinvestasikan.',
79
+ },
80
+ {
81
+ type: 'paragraph',
82
+ html: 'Alat pengendalian pengeluaran, seperti konverter mata uang lokal dan kalkulator anggaran harian, membantu Anda menyesuaikan kecepatan pengeluaran Anda sesuai dengan biaya hidup di daerah tersebut.',
83
+ },
84
+ {
85
+ type: 'title',
86
+ text: 'Kesehatan dan Dokumentasi Medis pada Perjalanan Internasional',
87
+ level: 2,
88
+ },
89
+ {
90
+ type: 'paragraph',
91
+ html: 'Kesehatan ikut bepergian bersama Anda. Sebelum berangkat ke tujuan internasional mana pun, periksa vaksin mana yang direkomendasikan. Bawa catatan medis digital Anda, resep obat dalam bahasa Inggris, dan asuransi perjalanan yang mencakup evakuasi medis jika diperlukan.',
92
+ },
93
+ {
94
+ type: 'title',
95
+ text: 'Pengalaman Autentik: Pariwisata Bertanggung Jawab versus Eksploitasi',
96
+ level: 2,
97
+ },
98
+ {
99
+ type: 'paragraph',
100
+ html: 'Tidak semua tur diciptakan sama. Perjalanan yang bertanggung jawab berarti penelitian sebelumnya, menghormati batasan lokal, dan dukungan ekonomi langsung kepada masyarakat, bukan perantara.',
101
+ },
102
+ {
103
+ type: 'title',
104
+ text: 'Logistik Akomodasi dan Pemesanan Cerdas',
105
+ level: 2,
106
+ },
107
+ {
108
+ type: 'paragraph',
109
+ html: 'Menemukan akomodasi adalah salah satu keputusan terpenting dalam perjalanan. <strong>Pembanding akomodasi</strong> kami mengumpulkan harga dari berbagai platform secara waktu nyata, memungkinkan Anda mengevaluasi bukan hanya harga tetapi juga ulasan terverifikasi dan lokasi strategis.',
110
+ },
111
+ {
112
+ type: 'title',
113
+ text: 'Konversi Mata Uang dan Analisis Nilai Tukar Historis',
114
+ level: 2,
115
+ },
116
+ {
117
+ type: 'paragraph',
118
+ html: 'Nilai tukar tidak konstan. <strong>Pelacak pertukaran mata uang</strong> kami menunjukkan nilai historis sehingga Anda dapat merencanakan kapan waktu yang optimal untuk menukar uang.',
119
+ },
120
+ {
121
+ type: 'title',
122
+ text: 'Manajemen Jet Lag dan Adaptasi Waktu Ilmiah',
123
+ level: 2,
124
+ },
125
+ {
126
+ type: 'paragraph',
127
+ html: 'Perubahan zona waktu sangat memengaruhi ritme sirkadian Anda. <strong>Perencana jet lag</strong> kami menyarankan kapan waktu terbaik untuk terpapar sinar matahari berdasarkan tujuan Anda. Strategi sederhana seperti menyesuaikan tidur Anda 2-3 hari sebelum perjalanan dapat mengurangi jet lag secara drastis.',
128
+ },
129
+ {
130
+ type: 'title',
131
+ text: 'Rute yang Dioptimalkan: Algoritma Salesman yang Diterapkan pada Pariwisata',
132
+ level: 2,
133
+ },
134
+ {
135
+ type: 'paragraph',
136
+ html: '<strong>Pengoptimal rute wisata</strong> kami menggunakan algoritme TSP untuk menemukan urutan yang paling efisien. Ini bukan hanya tentang jarak; ini tentang waktu tinggal, jam buka, dan transportasi umum yang tersedia.',
137
+ },
138
+ {
139
+ type: 'title',
140
+ text: 'Peraturan Perjalanan: Visa, Vaksin, dan Dokumentasi yang Diperlukan',
141
+ level: 2,
142
+ },
143
+ {
144
+ type: 'paragraph',
145
+ html: '<strong>Auditor persyaratan perjalanan</strong> kami memeriksa kewarganegaraan, tujuan, dan tanggal perjalanan Anda untuk memberi tahu dokumen apa saja yang Anda butuhkan secara tepat.',
146
+ },
147
+ {
148
+ type: 'title',
149
+ text: 'Transportasi Lokal: Peta Metro dan Sistem Transportasi Global',
150
+ level: 2,
151
+ },
152
+ {
153
+ type: 'paragraph',
154
+ html: '<strong>Navigator transportasi umum</strong> kami mengintegrasikan sistem metro, bus, dan trem untuk lebih dari 100 kota global.',
155
+ },
156
+ {
157
+ type: 'title',
158
+ text: 'Asuransi Perjalanan dan Cakupan Keadaan Darurat Medis',
159
+ level: 2,
160
+ },
161
+ {
162
+ type: 'paragraph',
163
+ html: '<strong>Pembanding asuransi perjalanan</strong> memungkinkan Anda mengevaluasi cakupan untuk evakuasi medis, perawatan gigi, dan penggantian biaya bagasi.',
164
+ },
165
+ {
166
+ type: 'title',
167
+ text: 'Masa Depan Pariwisata Sadar 2026',
168
+ level: 2,
169
+ },
170
+ {
171
+ type: 'paragraph',
172
+ html: 'Pada tahun 2026, <strong>Slow Travel</strong> dan pariwisata regeneratif menjadi hal mendasar. Ini tentang bepergian lebih sedikit, tetapi lebih baik. Alat-alat ini memberdayakan Anda untuk mengelola otonomi Anda sebagai pelancong.',
173
+ },
174
+ {
175
+ type: 'stats',
176
+ columns: 2,
177
+ items: [
178
+ { label: 'Bagasi', value: '20+ Maskapai', icon: 'mdi:airplane' },
179
+ { label: 'Checklist', value: 'Smart-Adapt', icon: 'mdi:clipboard-check' },
180
+ { label: 'Tip', value: '50+ Negara', icon: 'mdi:cash-multiple' },
181
+ { label: 'Petualangan', value: 'Bio-Harian', icon: 'mdi:compass' },
182
+ ],
183
+ },
184
+ ],
185
+ };