use labelToLanguageCode from providers repo

it's now exported
This commit is contained in:
Pas 2025-12-01 15:47:56 -07:00
parent 69af09a8de
commit 5e1bd09af5
4 changed files with 10 additions and 298 deletions

View file

@ -1,104 +1,8 @@
/* eslint-disable no-console */
import { labelToLanguageCode } from "@p-stream/providers";
import { CaptionListItem } from "@/stores/player/slices/source";
// Helper function to convert language names to language codes
function labelToLanguageCode(languageName: string): string {
const languageMap: Record<string, string> = {
English: "en",
Spanish: "es",
French: "fr",
German: "de",
Italian: "it",
Portuguese: "pt",
Russian: "ru",
Japanese: "ja",
Korean: "ko",
Chinese: "zh",
Arabic: "ar",
Hindi: "hi",
Turkish: "tr",
Dutch: "nl",
Polish: "pl",
Swedish: "sv",
Norwegian: "no",
Danish: "da",
Finnish: "fi",
Greek: "el",
Hebrew: "he",
Thai: "th",
Vietnamese: "vi",
Indonesian: "id",
Malay: "ms",
Filipino: "tl",
Ukrainian: "uk",
Romanian: "ro",
Czech: "cs",
Hungarian: "hu",
Bulgarian: "bg",
Croatian: "hr",
Serbian: "sr",
Slovak: "sk",
Slovenian: "sl",
Estonian: "et",
Latvian: "lv",
Lithuanian: "lt",
Icelandic: "is",
Maltese: "mt",
Georgian: "ka",
Armenian: "hy",
Azerbaijani: "az",
Kazakh: "kk",
Kyrgyz: "ky",
Uzbek: "uz",
Tajik: "tg",
Turkmen: "tk",
Mongolian: "mn",
Persian: "fa",
Urdu: "ur",
Bengali: "bn",
Tamil: "ta",
Telugu: "te",
Marathi: "mr",
Gujarati: "gu",
Kannada: "kn",
Malayalam: "ml",
Punjabi: "pa",
Sinhala: "si",
Nepali: "ne",
Burmese: "my",
Khmer: "km",
Lao: "lo",
Tibetan: "bo",
Uyghur: "ug",
Kurdish: "ku",
Pashto: "ps",
Dari: "prs",
Sindhi: "sd",
Kashmiri: "ks",
Dogri: "doi",
Konkani: "kok",
Manipuri: "mni",
Bodo: "brx",
Sanskrit: "sa",
Santhali: "sat",
Maithili: "mai",
Bhojpuri: "bho",
Awadhi: "awa",
Chhattisgarhi: "hne",
Magahi: "mag",
Rajasthani: "raj",
Malvi: "mup",
Bundeli: "bns",
Bagheli: "bfy",
Pahari: "phr",
Kumaoni: "kfy",
Garhwali: "gbm",
Kangri: "xnr",
};
return languageMap[languageName] || languageName.toLowerCase();
}
export async function scrapeFebboxCaptions(
imdbId: string,
season?: number,
@ -145,7 +49,7 @@ export async function scrapeFebboxCaptions(
};
if (subtitle.subtitle_link) {
const language = labelToLanguageCode(languageName);
const language = labelToLanguageCode(languageName) || "";
const fileExtension = subtitle.subtitle_link
.split(".")
.pop()

View file

@ -1,104 +1,8 @@
/* eslint-disable no-console */
import { labelToLanguageCode } from "@p-stream/providers";
import { CaptionListItem } from "@/stores/player/slices/source";
// Helper function to convert language names to language codes
function labelToLanguageCode(languageName: string): string {
const languageMap: Record<string, string> = {
English: "en",
Spanish: "es",
French: "fr",
German: "de",
Italian: "it",
Portuguese: "pt",
Russian: "ru",
Japanese: "ja",
Korean: "ko",
Chinese: "zh",
Arabic: "ar",
Hindi: "hi",
Turkish: "tr",
Dutch: "nl",
Polish: "pl",
Swedish: "sv",
Norwegian: "no",
Danish: "da",
Finnish: "fi",
Greek: "el",
Hebrew: "he",
Thai: "th",
Vietnamese: "vi",
Indonesian: "id",
Malay: "ms",
Filipino: "tl",
Ukrainian: "uk",
Romanian: "ro",
Czech: "cs",
Hungarian: "hu",
Bulgarian: "bg",
Croatian: "hr",
Serbian: "sr",
Slovak: "sk",
Slovenian: "sl",
Estonian: "et",
Latvian: "lv",
Lithuanian: "lt",
Icelandic: "is",
Maltese: "mt",
Georgian: "ka",
Armenian: "hy",
Azerbaijani: "az",
Kazakh: "kk",
Kyrgyz: "ky",
Uzbek: "uz",
Tajik: "tg",
Turkmen: "tk",
Mongolian: "mn",
Persian: "fa",
Urdu: "ur",
Bengali: "bn",
Tamil: "ta",
Telugu: "te",
Marathi: "mr",
Gujarati: "gu",
Kannada: "kn",
Malayalam: "ml",
Punjabi: "pa",
Sinhala: "si",
Nepali: "ne",
Burmese: "my",
Khmer: "km",
Lao: "lo",
Tibetan: "bo",
Uyghur: "ug",
Kurdish: "ku",
Pashto: "ps",
Dari: "prs",
Sindhi: "sd",
Kashmiri: "ks",
Dogri: "doi",
Konkani: "kok",
Manipuri: "mni",
Bodo: "brx",
Sanskrit: "sa",
Santhali: "sat",
Maithili: "mai",
Bhojpuri: "bho",
Awadhi: "awa",
Chhattisgarhi: "hne",
Magahi: "mag",
Rajasthani: "raj",
Malvi: "mup",
Bundeli: "bns",
Bagheli: "bfy",
Pahari: "phr",
Kumaoni: "kfy",
Garhwali: "gbm",
Kangri: "xnr",
};
return languageMap[languageName] || languageName.toLowerCase();
}
export async function scrapeOpenSubtitlesCaptions(
imdbId: string,
season?: number,
@ -127,7 +31,7 @@ export async function scrapeOpenSubtitlesCaptions(
"download/",
"download/subencoding-utf8/",
);
const language = labelToLanguageCode(caption.LanguageName);
const language = labelToLanguageCode(caption.LanguageName) || "";
if (!downloadUrl || !language) continue;

View file

@ -1,104 +1,8 @@
/* eslint-disable no-console */
import { labelToLanguageCode } from "@p-stream/providers";
import { CaptionListItem } from "@/stores/player/slices/source";
// Helper function to convert language names to language codes
function labelToLanguageCode(languageName: string): string {
const languageMap: Record<string, string> = {
English: "en",
Spanish: "es",
French: "fr",
German: "de",
Italian: "it",
Portuguese: "pt",
Russian: "ru",
Japanese: "ja",
Korean: "ko",
Chinese: "zh",
Arabic: "ar",
Hindi: "hi",
Turkish: "tr",
Dutch: "nl",
Polish: "pl",
Swedish: "sv",
Norwegian: "no",
Danish: "da",
Finnish: "fi",
Greek: "el",
Hebrew: "he",
Thai: "th",
Vietnamese: "vi",
Indonesian: "id",
Malay: "ms",
Filipino: "tl",
Ukrainian: "uk",
Romanian: "ro",
Czech: "cs",
Hungarian: "hu",
Bulgarian: "bg",
Croatian: "hr",
Serbian: "sr",
Slovak: "sk",
Slovenian: "sl",
Estonian: "et",
Latvian: "lv",
Lithuanian: "lt",
Icelandic: "is",
Maltese: "mt",
Georgian: "ka",
Armenian: "hy",
Azerbaijani: "az",
Kazakh: "kk",
Kyrgyz: "ky",
Uzbek: "uz",
Tajik: "tg",
Turkmen: "tk",
Mongolian: "mn",
Persian: "fa",
Urdu: "ur",
Bengali: "bn",
Tamil: "ta",
Telugu: "te",
Marathi: "mr",
Gujarati: "gu",
Kannada: "kn",
Malayalam: "ml",
Punjabi: "pa",
Sinhala: "si",
Nepali: "ne",
Burmese: "my",
Khmer: "km",
Lao: "lo",
Tibetan: "bo",
Uyghur: "ug",
Kurdish: "ku",
Pashto: "ps",
Dari: "prs",
Sindhi: "sd",
Kashmiri: "ks",
Dogri: "doi",
Konkani: "kok",
Manipuri: "mni",
Bodo: "brx",
Sanskrit: "sa",
Santhali: "sat",
Maithili: "mai",
Bhojpuri: "bho",
Awadhi: "awa",
Chhattisgarhi: "hne",
Magahi: "mag",
Rajasthani: "raj",
Malvi: "mup",
Bundeli: "bns",
Bagheli: "bfy",
Pahari: "phr",
Kumaoni: "kfy",
Garhwali: "gbm",
Kangri: "xnr",
};
return languageMap[languageName] || languageName.toLowerCase();
}
export async function scrapeVdrkCaptions(
tmdbId: string | number,
season?: number,
@ -144,7 +48,7 @@ export async function scrapeVdrkCaptions(
.replace(/\s*Hi\d*$/, "")
.replace(/\s*Hi$/, "")
.replace(/\d+$/, "");
const language = labelToLanguageCode(languageName);
const language = labelToLanguageCode(languageName) || "";
if (!language) continue;

View file

@ -31,7 +31,7 @@ export async function scrapeWyzieCaptions(
const wyzieCaptions: CaptionListItem[] = wyzieSubtitles.map((subtitle) => ({
id: subtitle.id,
language: subtitle.language,
language: subtitle.language || "unknown",
url: subtitle.url,
type:
subtitle.format === "srt" || subtitle.format === "vtt"