feat: subtitle search & download from OpenSubtitles

close #343
This commit is contained in:
edde746
2026-04-01 22:20:59 +02:00
parent 64a5874566
commit 17f1075e64
39 changed files with 951 additions and 47 deletions
+19
View File
@@ -102,6 +102,25 @@ class LanguageCodes {
'TW': 'Taiwan',
};
/// Get all available languages as (code, name) pairs, sorted by name.
/// Returns ISO 639-1 two-letter codes with their English names.
static List<({String code, String name})> getAllLanguages() {
if (_codes == null) return [];
final languages = <({String code, String name})>[];
for (final entry in _codes!.entries) {
final code = entry.key;
// Skip locale variants like "en-GB" — only include base 2-letter codes
if (code.contains('-')) continue;
final map = entry.value as Map<String, dynamic>;
final name = map['name'] as String?;
if (name != null) {
languages.add((code: code, name: name));
}
}
languages.sort((a, b) => a.name.compareTo(b.name));
return languages;
}
/// Get the English name of a language from its code
static String? getLanguageName(String languageCode) {
if (_codes == null) return null;