From 3d81a9281a1c2cf9015786c109f812c9fb43de88 Mon Sep 17 00:00:00 2001 From: Tom Boullay Date: Sun, 10 May 2026 00:20:16 +0100 Subject: [PATCH] add: french subtitles --- public/sounds/dialogue/dialogues.json | 12 +-- ...p3 => narrateur_histoireelectricienne.mp3} | 0 .../dialogue/subtitles/fr/electricienne.srt | 3 + .../sounds/dialogue/subtitles/fr/fermier.srt | 11 +++ .../dialogue/subtitles/fr/narrateur.srt | 91 +++++++++++++++++++ src/components/editor/EditorSrtPanel.tsx | 2 +- src/index.css | 2 +- src/types/dialogues/dialogues.ts | 4 +- .../dialogues/dialogueManifestValidation.ts | 4 +- 9 files changed, 117 insertions(+), 12 deletions(-) rename public/sounds/dialogue/{narrateur_histoireleonie.mp3 => narrateur_histoireelectricienne.mp3} (100%) create mode 100644 public/sounds/dialogue/subtitles/fr/electricienne.srt create mode 100644 public/sounds/dialogue/subtitles/fr/fermier.srt create mode 100644 public/sounds/dialogue/subtitles/fr/narrateur.srt diff --git a/public/sounds/dialogue/dialogues.json b/public/sounds/dialogue/dialogues.json index ada518e..af596ef 100644 --- a/public/sounds/dialogue/dialogues.json +++ b/public/sounds/dialogue/dialogues.json @@ -18,11 +18,11 @@ } }, { - "id": "leonie", - "speaker": "Leonie", + "id": "electricienne", + "speaker": "Electricienne", "subtitles": { - "fr": "/sounds/dialogue/subtitles/fr/leonie.srt", - "en": "/sounds/dialogue/subtitles/en/leonie.srt" + "fr": "/sounds/dialogue/subtitles/fr/electricienne.srt", + "en": "/sounds/dialogue/subtitles/en/electricienne.srt" } } ], @@ -161,9 +161,9 @@ "subtitleCueIndex": 22 }, { - "id": "narrateur_histoireleonie", + "id": "narrateur_histoireelectricienne", "voice": "narrateur", - "audio": "/sounds/dialogue/narrateur_histoireleonie.mp3", + "audio": "/sounds/dialogue/narrateur_histoireelectricienne.mp3", "subtitleCueIndex": 23 }, { diff --git a/public/sounds/dialogue/narrateur_histoireleonie.mp3 b/public/sounds/dialogue/narrateur_histoireelectricienne.mp3 similarity index 100% rename from public/sounds/dialogue/narrateur_histoireleonie.mp3 rename to public/sounds/dialogue/narrateur_histoireelectricienne.mp3 diff --git a/public/sounds/dialogue/subtitles/fr/electricienne.srt b/public/sounds/dialogue/subtitles/fr/electricienne.srt new file mode 100644 index 0000000..e76c8fb --- /dev/null +++ b/public/sounds/dialogue/subtitles/fr/electricienne.srt @@ -0,0 +1,3 @@ +1 +00:00:00,000 --> 00:00:08,000 +Texte Electricienne a definir. diff --git a/public/sounds/dialogue/subtitles/fr/fermier.srt b/public/sounds/dialogue/subtitles/fr/fermier.srt new file mode 100644 index 0000000..bc02a9c --- /dev/null +++ b/public/sounds/dialogue/subtitles/fr/fermier.srt @@ -0,0 +1,11 @@ +1 +00:00:00,000 --> 00:00:08,000 +Tu peux me donner un coup de main ? + +2 +00:00:00,000 --> 00:00:08,000 +On y est presque, continue comme ca. + +3 +00:00:00,000 --> 00:00:08,000 +Merci, la mission est terminee. diff --git a/public/sounds/dialogue/subtitles/fr/narrateur.srt b/public/sounds/dialogue/subtitles/fr/narrateur.srt new file mode 100644 index 0000000..597781f --- /dev/null +++ b/public/sounds/dialogue/subtitles/fr/narrateur.srt @@ -0,0 +1,91 @@ +1 +00:00:00,000 --> 00:00:08,000 +Bienvenue a Altera. + +2 +00:00:00,000 --> 00:00:08,000 +Quel est ton prenom ? + +3 +00:00:00,000 --> 00:00:08,000 +Parfait, on peut commencer la visite. + +4 +00:00:00,000 --> 00:00:08,000 +Ta premiere mission concerne un velo electrique. + +5 +00:00:00,000 --> 00:00:08,000 +Le velo electrique est casse. + +6 +00:00:00,000 --> 00:00:08,000 +Scanne le galet pour identifier le probleme. + +7 +00:00:00,000 --> 00:00:08,000 +Le velo electrique est repare. + +8 +00:00:00,000 --> 00:00:08,000 +Del aide a besoin de toi pour la suite. + +9 +00:00:00,000 --> 00:00:08,000 +Une coupure electrique vient d'etre signalee. + +10 +00:00:00,000 --> 00:00:08,000 +Le poteau electrique est endommage. + +11 +00:00:00,000 --> 00:00:08,000 +Le courant est retabli. + +12 +00:00:00,000 --> 00:00:08,000 +Prends la route vers la ferme verticale. + +13 +00:00:00,000 --> 00:00:08,000 +Nous arrivons a la ferme. + +14 +00:00:00,000 --> 00:00:08,000 +Fouille le centre pour trouver une solution. + +15 +00:00:00,000 --> 00:00:08,000 +Interagis avec les tuyaux pres du lac. + +16 +00:00:00,000 --> 00:00:08,000 +Observe le refroidisseur. + +17 +00:00:00,000 --> 00:00:08,000 +Le refroidisseur est casse. + +18 +00:00:00,000 --> 00:00:08,000 +Le createur de pluie est pret. + +19 +00:00:00,000 --> 00:00:08,000 +Merci pour ton aide. + +20 +00:00:00,000 --> 00:00:08,000 +Bonne chance pour la suite. + +21 +00:00:00,000 --> 00:00:08,000 +Voici l'atelier de La Fabrik. + +22 +00:00:00,000 --> 00:00:08,000 +Voici les outils a ta disposition. + +23 +00:00:00,000 --> 00:00:08,000 +Electricienne fait partie de l'histoire de La Fabrik. diff --git a/src/components/editor/EditorSrtPanel.tsx b/src/components/editor/EditorSrtPanel.tsx index 4ee739e..123694b 100644 --- a/src/components/editor/EditorSrtPanel.tsx +++ b/src/components/editor/EditorSrtPanel.tsx @@ -14,7 +14,7 @@ interface SrtVoiceOption { const SRT_VOICES: SrtVoiceOption[] = [ { id: "narrateur", label: "Narrateur" }, { id: "fermier", label: "Fermier" }, - { id: "leonie", label: "Leonie" }, + { id: "electricienne", label: "Electricienne" }, ]; const DEFAULT_SRT_VOICE: SrtVoiceOption = { id: "narrateur", diff --git a/src/index.css b/src/index.css index 2881e83..bc37228 100644 --- a/src/index.css +++ b/src/index.css @@ -434,7 +434,7 @@ canvas { color: #86efac; } -.subtitles__speaker--leonie { +.subtitles__speaker--electricienne { color: #f9a8d4; } diff --git a/src/types/dialogues/dialogues.ts b/src/types/dialogues/dialogues.ts index 33a1b48..93bc007 100644 --- a/src/types/dialogues/dialogues.ts +++ b/src/types/dialogues/dialogues.ts @@ -1,7 +1,7 @@ import type { SubtitleLanguage } from "@/managers/stores/useSettingsStore"; -export type DialogueVoiceId = "narrateur" | "fermier" | "leonie"; -export type DialogueSpeaker = "Narrateur" | "Fermier" | "Leonie"; +export type DialogueVoiceId = "narrateur" | "fermier" | "electricienne"; +export type DialogueSpeaker = "Narrateur" | "Fermier" | "Electricienne"; export interface DialogueVoice { id: DialogueVoiceId; diff --git a/src/utils/dialogues/dialogueManifestValidation.ts b/src/utils/dialogues/dialogueManifestValidation.ts index e23954a..2a43f08 100644 --- a/src/utils/dialogues/dialogueManifestValidation.ts +++ b/src/utils/dialogues/dialogueManifestValidation.ts @@ -9,12 +9,12 @@ import type { const VALID_VOICE_IDS = new Set([ "narrateur", "fermier", - "leonie", + "electricienne", ]); const VALID_SPEAKERS = new Set([ "Narrateur", "Fermier", - "Leonie", + "Electricienne", ]); export function parseDialogueManifest(data: unknown): DialogueManifest {