Aller au contenu

Module:Episode/SG1/Season2

De Stargate Wiki Sémantique
Documentation icon Documentation module[créer]
-- Module:Episode/SG1/Season2
-- Data from Stargate SG-1 Season 2 (season episodes 1-22; overall 23-44)
-- Normalized IDs : SG1-S02Eyy
-- Rules applied:
--  - namespace = "Épisode"
--  - If French titles of both parts are identical → add ", 1re partie", ", 2e partie" in page_title/property and "1{{re}}/2{{e}}" in title_fr.
--  - If VO titles of both parts are identical → add ", Part 1", ", Part 2" in title_vo.
--  - If titles differ between parts → remove parentheses from titles and properties.
--  - Aliases do NOT contain apostrophes; technical aliases included: "sg1 s02eyy", "sg1 2yy", "sg1 2xYY" (YY = two-digit episode within season).
--  - For episodes marked "Part 1" / "1re partie", the standalone VF and VO titles (without the part suffix) are included as normalized aliases.

local season = {}

----------------------------------------------------------------------
-- S02E01 - The Serpent's Lair / La Morsure du serpent (was marked 2/2 in source)
-- Parentheses removed because titles differ from the previous part.
season["SG1-S02E01"] = {
    id         = "SG1-S02E01",
    namespace  = "Épisode",
    page_title = "La Morsure du serpent",
    title_fr   = "''La Morsure du serpent''",
    title_vo   = "\"The Serpent's Lair\"",
    season     = 2,
    episode    = 1,
    property   = "La Morsure du serpent",
    aliases    = {
        "sg1 s02e01",
        "sg1 201",
        "sg1 2x01",
        "la morsure du serpent",
        "the serpents lair",
    },
}

-- S02E02 - In the Line of Duty / La Tête à l'envers
season["SG1-S02E02"] = {
    id         = "SG1-S02E02",
    namespace  = "Épisode",
    page_title = "La Tête à l'envers",
    title_fr   = "''La Tête à l'envers''",
    title_vo   = "\"In the Line of Duty\"",
    season     = 2,
    episode    = 2,
    property   = "La Tête à l'envers",
    aliases    = {
        "sg1 s02e02",
        "sg1 202",
        "sg1 2x02",
        "la tete a lenvers",
        "in the line of duty",
    },
}

-- S02E03 - Prisoners / Perpétuité
season["SG1-S02E03"] = {
    id         = "SG1-S02E03",
    namespace  = "Épisode",
    page_title = "Perpétuité",
    title_fr   = "''Perpétuité''",
    title_vo   = "\"Prisoners\"",
    season     = 2,
    episode    = 3,
    property   = "Perpétuité",
    aliases    = {
        "sg1 s02e03",
        "sg1 203",
        "sg1 2x03",
        "perpetuite",
        "prisoners",
    },
}

-- S02E04 - The Gamekeeper / Le Maître du jeu
season["SG1-S02E04"] = {
    id         = "SG1-S02E04",
    namespace  = "Épisode",
    page_title = "Le Maître du jeu",
    title_fr   = "''Le Maître du jeu''",
    title_vo   = "\"The Gamekeeper\"",
    season     = 2,
    episode    = 4,
    property   = "Le Maître du jeu",
    aliases    = {
        "sg1 s02e04",
        "sg1 204",
        "sg1 2x04",
        "le maitre du jeu",
        "the gamekeeper",
    },
}

-- S02E05 - Need / La Princesse Shyla
season["SG1-S02E05"] = {
    id         = "SG1-S02E05",
    namespace  = "Épisode",
    page_title = "La Princesse Shyla",
    title_fr   = "''La Princesse Shyla''",
    title_vo   = "\"Need\"",
    season     = 2,
    episode    = 5,
    property   = "La Princesse Shyla",
    aliases    = {
        "sg1 s02e05",
        "sg1 205",
        "sg1 2x05",
        "la princesse shyla",
        "need",
    },
}

-- S02E06 - Thor's Chariot / L'Œil de pierre
season["SG1-S02E06"] = {
    id         = "SG1-S02E06",
    namespace  = "Épisode",
    page_title = "L'Œil de pierre",
    title_fr   = "''L'Œil de pierre''",
    title_vo   = "\"Thor's Chariot\"",
    season     = 2,
    episode    = 6,
    property   = "L'Œil de pierre",
    aliases    = {
        "sg1 s02e06",
        "sg1 206",
        "sg1 2x06",
        "loeil de pierre",
        "thors chariot",
    },
}

-- S02E07 - Message in a Bottle / Un Message dans une bouteille
season["SG1-S02E07"] = {
    id         = "SG1-S02E07",
    namespace  = "Épisode",
    page_title = "Un Message dans une bouteille",
    title_fr   = "''Un Message dans une bouteille''",
    title_vo   = "\"Message in a Bottle\"",
    season     = 2,
    episode    = 7,
    property   = "Un Message dans une bouteille",
    aliases    = {
        "sg1 s02e07",
        "sg1 207",
        "sg1 2x07",
        "un message dans une bouteille",
        "message in a bottle",
    },
}

-- S02E08 - Family / Conseil de famille
season["SG1-S02E08"] = {
    id         = "SG1-S02E08",
    namespace  = "Épisode",
    page_title = "Conseil de famille",
    title_fr   = "''Conseil de famille''",
    title_vo   = "\"Family\"",
    season     = 2,
    episode    = 8,
    property   = "Conseil de famille",
    aliases    = {
        "sg1 s02e08",
        "sg1 208",
        "sg1 2x08",
        "conseil de famille",
        "family",
    },
}

-- S02E09 - Secrets / Secrets
season["SG1-S02E09"] = {
    id         = "SG1-S02E09",
    namespace  = "Épisode",
    page_title = "Secrets",
    title_fr   = "''Secrets''",
    title_vo   = "\"Secrets\"",
    season     = 2,
    episode    = 9,
    property   = "Secrets",
    aliases    = {
        "sg1 s02e09",
        "sg1 209",
        "sg1 2x09",
        "secrets",
    },
}

-- S02E10 - Bane / Le Fléau
season["SG1-S02E10"] = {
    id         = "SG1-S02E10",
    namespace  = "Épisode",
    page_title = "Le Fléau",
    title_fr   = "''Le Fléau''",
    title_vo   = "\"Bane\"",
    season     = 2,
    episode    = 10,
    property   = "Le Fléau",
    aliases    = {
        "sg1 s02e10",
        "sg1 210",
        "sg1 2x10",
        "le fléau",
        "bane",
    },
}

-- S02E11 - The Tok'ra, Part 1 / La Tok'ra, 1re partie
-- VO title identical across parts → add Part 1 in title_vo
-- French title identical across parts → add 1re partie in page_title/property/title_fr
-- Also add standalone titles as aliases (rule for Part 1)
season["SG1-S02E11"] = {
    id         = "SG1-S02E11",
    namespace  = "Épisode",
    page_title = "La Tok'ra, 1re partie",
    title_fr   = "''La Tok'ra'', 1{{re}} partie",
    title_vo   = "\"The Tok'ra\", Part 1",
    season     = 2,
    episode    = 11,
    property   = "La Tok'ra, 1re partie",
    aliases    = {
        "sg1 s02e11",
        "sg1 211",
        "sg1 2x11",
        "la tokra 1re partie",
        "the tokra part 1",
        -- standalone titles for Part 1
        "la tokra",
        "the tokra",
    },
}

-- S02E12 - The Tok'ra, Part 2 / La Tok'ra, 2e partie
season["SG1-S02E12"] = {
    id         = "SG1-S02E12",
    namespace  = "Épisode",
    page_title = "La Tok'ra, 2e partie",
    title_fr   = "''La Tok'ra'', 2{{e}} partie",
    title_vo   = "\"The Tok'ra\", Part 2",
    season     = 2,
    episode    = 12,
    property   = "La Tok'ra, 2e partie",
    aliases    = {
        "sg1 s02e12",
        "sg1 212",
        "sg1 2x12",
        "la tokra 2e partie",
        "the tokra part 2",
    },
}

-- S02E13 - Spirits / Les Esprits
season["SG1-S02E13"] = {
    id         = "SG1-S02E13",
    namespace  = "Épisode",
    page_title = "Les Esprits",
    title_fr   = "''Les Esprits''",
    title_vo   = "\"Spirits\"",
    season     = 2,
    episode    = 13,
    property   = "Les Esprits",
    aliases    = {
        "sg1 s02e13",
        "sg1 213",
        "sg1 2x13",
        "les esprits",
        "spirits",
    },
}

-- S02E14 - Touchstone / La Clef de voûte
season["SG1-S02E14"] = {
    id         = "SG1-S02E14",
    namespace  = "Épisode",
    page_title = "La Clef de voûte",
    title_fr   = "''La Clef de voûte''",
    title_vo   = "\"Touchstone\"",
    season     = 2,
    episode    = 14,
    property   = "La Clef de voûte",
    aliases    = {
        "sg1 s02e14",
        "sg1 214",
        "sg1 2x14",
        "la clef de voute",
        "touchstone",
    },
}

-- S02E15 - The Fifth Race / La Cinquième race
season["SG1-S02E15"] = {
    id         = "SG1-S02E15",
    namespace  = "Épisode",
    page_title = "La Cinquième race",
    title_fr   = "''La Cinquième race''",
    title_vo   = "\"The Fifth Race\"",
    season     = 2,
    episode    = 15,
    property   = "La Cinquième race",
    aliases    = {
        "sg1 s02e15",
        "sg1 215",
        "sg1 2x15",
        "la cinquieme race",
        "the fifth race",
    },
}

-- S02E16 - A Matter of Time / Une Question de temps
season["SG1-S02E16"] = {
    id         = "SG1-S02E16",
    namespace  = "Épisode",
    page_title = "Une Question de temps",
    title_fr   = "''Une Question de temps''",
    title_vo   = "\"A Matter of Time\"",
    season     = 2,
    episode    = 16,
    property   = "Une Question de temps",
    aliases    = {
        "sg1 s02e16",
        "sg1 216",
        "sg1 2x16",
        "une question de temps",
        "a matter of time",
    },
}

-- S02E17 - Holiday / Transfert
season["SG1-S02E17"] = {
    id         = "SG1-S02E17",
    namespace  = "Épisode",
    page_title = "Transfert",
    title_fr   = "''Transfert''",
    title_vo   = "\"Holiday\"",
    season     = 2,
    episode    = 17,
    property   = "Transfert",
    aliases    = {
        "sg1 s02e17",
        "sg1 217",
        "sg1 2x17",
        "transfert",
        "holiday",
    },
}

-- S02E18 - Serpent's Song / La Colère des dieux
season["SG1-S02E18"] = {
    id         = "SG1-S02E18",
    namespace  = "Épisode",
    page_title = "La Colère des dieux",
    title_fr   = "''La Colère des dieux''",
    title_vo   = "\"Serpent's Song\"",
    season     = 2,
    episode    = 18,
    property   = "La Colère des dieux",
    aliases    = {
        "sg1 s02e18",
        "sg1 218",
        "sg1 2x18",
        "la colere des dieux",
        "serpents song",
    },
}

-- S02E19 - One False Step / Le Faux pas
season["SG1-S02E19"] = {
    id         = "SG1-S02E19",
    namespace  = "Épisode",
    page_title = "Le Faux pas",
    title_fr   = "''Le Faux pas''",
    title_vo   = "\"One False Step\"",
    season     = 2,
    episode    = 19,
    property   = "Le Faux pas",
    aliases    = {
        "sg1 s02e19",
        "sg1 219",
        "sg1 2x19",
        "le faux pas",
        "one false step",
    },
}

-- S02E20 - Show and Tell / L'Ennemi invisible
season["SG1-S02E20"] = {
    id         = "SG1-S02E20",
    namespace  = "Épisode",
    page_title = "L'Ennemi invisible",
    title_fr   = "''L'Ennemi invisible''",
    title_vo   = "\"Show and Tell\"",
    season     = 2,
    episode    = 20,
    property   = "L'Ennemi invisible",
    aliases    = {
        "sg1 s02e20",
        "sg1 220",
        "sg1 2x20",
        "lennemi invisible",
        "show and tell",
    },
}

-- S02E21 - 1969 / 1969
season["SG1-S02E21"] = {
    id         = "SG1-S02E21",
    namespace  = "Épisode",
    page_title = "1969",
    title_fr   = "''1969''",
    title_vo   = "\"1969\"",
    season     = 2,
    episode    = 21,
    property   = "1969",
    aliases    = {
        "sg1 s02e21",
        "sg1 221",
        "sg1 2x21",
        "1969",
    },
}

-- S02E22 - Out of Mind (1/2) / Après un long sommeil (1/2)
-- Marked as Part 1 in source → add standalone VF/VO aliases per rule for Part 1
-- VO title has no explicit part in source, but source shows (1/2) in French; still treat as Part 1 for alias rule.
season["SG1-S02E22"] = {
    id         = "SG1-S02E22",
    namespace  = "Épisode",
    page_title = "Après un long sommeil",
    title_fr   = "''Après un long sommeil''",
    title_vo   = "\"Out of Mind\"",
    season     = 2,
    episode    = 22,
    property   = "Après un long sommeil",
    aliases    = {
        "sg1 s02e22",
        "sg1 222",
        "sg1 2x22",
        "apres un long sommeil",
        "out of mind",
   },
}

----------------------------------------------------------------------
-- Alias → ID
--  Each alias forwards to the main entry.
--  Apostrophes removed from all alias strings.
--  Standalone VF/VO titles added for Part 1 episodes as normalized aliases.
----------------------------------------------------------------------

season["sg1 s02e01"] = "SG1-S02E01"
season["sg1 201"] = "SG1-S02E01"
season["sg1 2x01"] = "SG1-S02E01"
season["la morsure du serpent"] = "SG1-S02E01"
season["the serpents lair"] = "SG1-S02E01"

season["sg1 s02e02"] = "SG1-S02E02"
season["sg1 202"] = "SG1-S02E02"
season["sg1 2x02"] = "SG1-S02E02"
season["la tete a lenvers"] = "SG1-S02E02"
season["in the line of duty"] = "SG1-S02E02"

season["sg1 s02e03"] = "SG1-S02E03"
season["sg1 203"] = "SG1-S02E03"
season["sg1 2x03"] = "SG1-S02E03"
season["perpetuite"] = "SG1-S02E03"
season["prisoners"] = "SG1-S02E03"

season["sg1 s02e04"] = "SG1-S02E04"
season["sg1 204"] = "SG1-S02E04"
season["sg1 2x04"] = "SG1-S02E04"
season["le maitre du jeu"] = "SG1-S02E04"
season["the gamekeeper"] = "SG1-S02E04"

season["sg1 s02e05"] = "SG1-S02E05"
season["sg1 205"] = "SG1-S02E05"
season["sg1 2x05"] = "SG1-S02E05"
season["la princesse shyla"] = "SG1-S02E05"
season["need"] = "SG1-S02E05"

season["sg1 s02e06"] = "SG1-S02E06"
season["sg1 206"] = "SG1-S02E06"
season["sg1 2x06"] = "SG1-S02E06"
season["loeil de pierre"] = "SG1-S02E06"
season["thors chariot"] = "SG1-S02E06"

season["sg1 s02e07"] = "SG1-S02E07"
season["sg1 207"] = "SG1-S02E07"
season["sg1 2x07"] = "SG1-S02E07"
season["un message dans une bouteille"] = "SG1-S02E07"
season["message in a bottle"] = "SG1-S02E07"

season["sg1 s02e08"] = "SG1-S02E08"
season["sg1 208"] = "SG1-S02E08"
season["sg1 2x08"] = "SG1-S02E08"
season["conseil de famille"] = "SG1-S02E08"
season["family"] = "SG1-S02E08"

season["sg1 s02e09"] = "SG1-S02E09"
season["sg1 209"] = "SG1-S02E09"
season["sg1 2x09"] = "SG1-S02E09"
season["secrets"] = "SG1-S02E09"

season["sg1 s02e10"] = "SG1-S02E10"
season["sg1 210"] = "SG1-S02E10"
season["sg1 2x10"] = "SG1-S02E10"
season["le fléau"] = "SG1-S02E10"
season["bane"] = "SG1-S02E10"

season["sg1 s02e11"] = "SG1-S02E11"
season["sg1 211"] = "SG1-S02E11"
season["sg1 2x11"] = "SG1-S02E11"
season["la tokra 1re partie"] = "SG1-S02E11"
season["the tokra part 1"] = "SG1-S02E11"
season["la tokra"] = "SG1-S02E11"
season["the tokra"] = "SG1-S02E11"

season["sg1 s02e12"] = "SG1-S02E12"
season["sg1 212"] = "SG1-S02E12"
season["sg1 2x12"] = "SG1-S02E12"
season["la tokra 2e partie"] = "SG1-S02E12"
season["the tokra part 2"] = "SG1-S02E12"

season["sg1 s02e13"] = "SG1-S02E13"
season["sg1 213"] = "SG1-S02E13"
season["sg1 2x13"] = "SG1-S02E13"
season["les esprits"] = "SG1-S02E13"
season["spirits"] = "SG1-S02E13"

season["sg1 s02e14"] = "SG1-S02E14"
season["sg1 214"] = "SG1-S02E14"
season["sg1 2x14"] = "SG1-S02E14"
season["la clef de voute"] = "SG1-S02E14"
season["touchstone"] = "SG1-S02E14"

season["sg1 s02e15"] = "SG1-S02E15"
season["sg1 215"] = "SG1-S02E15"
season["sg1 2x15"] = "SG1-S02E15"
season["la cinquieme race"] = "SG1-S02E15"
season["the fifth race"] = "SG1-S02E15"

season["sg1 s02e16"] = "SG1-S02E16"
season["sg1 216"] = "SG1-S02E16"
season["sg1 2x16"] = "SG1-S02E16"
season["une question de temps"] = "SG1-S02E16"
season["a matter of time"] = "SG1-S02E16"

season["sg1 s02e17"] = "SG1-S02E17"
season["sg1 217"] = "SG1-S02E17"
season["sg1 2x17"] = "SG1-S02E17"
season["transfert"] = "SG1-S02E17"
season["holiday"] = "SG1-S02E17"

season["sg1 s02e18"] = "SG1-S02E18"
season["sg1 218"] = "SG1-S02E18"
season["sg1 2x18"] = "SG1-S02E18"
season["la colere des dieux"] = "SG1-S02E18"
season["serpents song"] = "SG1-S02E18"

season["sg1 s02e19"] = "SG1-S02E19"
season["sg1 219"] = "SG1-S02E19"
season["sg1 2x19"] = "SG1-S02E19"
season["le faux pas"] = "SG1-S02E19"
season["one false step"] = "SG1-S02E19"

season["sg1 s02e20"] = "SG1-S02E20"
season["sg1 220"] = "SG1-S02E20"
season["sg1 2x20"] = "SG1-S02E20"
season["lennemi invisible"] = "SG1-S02E20"
season["show and tell"] = "SG1-S02E20"

season["sg1 s02e21"] = "SG1-S02E21"
season["sg1 221"] = "SG1-S02E21"
season["sg1 2x21"] = "SG1-S02E21"
season["1969"] = "SG1-S02E21"

season["sg1 s02e22"] = "SG1-S02E22"
season["sg1 222"] = "SG1-S02E22"
season["sg1 2x22"] = "SG1-S02E22"
season["out of mind"] = "SG1-S02E22"
season["apres un long sommeil"] = "SG1-S02E22"

----------------------------------------------------------------------
-- Return table
----------------------------------------------------------------------

return season