diff --git a/youtube_transcript_api/_transcripts.py b/youtube_transcript_api/_transcripts.py
index 3d9a5e7..ef1f44b 100644
--- a/youtube_transcript_api/_transcripts.py
+++ b/youtube_transcript_api/_transcripts.py
@@ -134,7 +134,7 @@ class TranscriptList(object):
{
'language': translation_language['languageName']['simpleText'],
'language_code': translation_language['languageCode'],
- } for translation_language in captions_json['translationLanguages']
+ } for translation_language in captions_json.get('translationLanguages', [])
]
manually_created_transcripts = {}
diff --git a/youtube_transcript_api/test/assets/youtube_no_translation_languages.html.static b/youtube_transcript_api/test/assets/youtube_no_translation_languages.html.static
new file mode 100644
index 0000000..adba102
--- /dev/null
+++ b/youtube_transcript_api/test/assets/youtube_no_translation_languages.html.static
@@ -0,0 +1,903 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ اسهل طريقه لفك ضغط العاب الكمبيوتر | وتشغيل جميع الالعاب بدون مشاكل 🔥 - YouTube
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ InfoPresseUrheberrechtKontaktCreatorWerbenEntwicklerImpressumVerträge hier kündigenNutzungsbedingungenDatenschutzRichtlinien & SicherheitWie funktioniert YouTube?Neue Funktionen testen
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/youtube_transcript_api/test/test_api.py b/youtube_transcript_api/test/test_api.py
index d6f5e0c..9b5e732 100644
--- a/youtube_transcript_api/test/test_api.py
+++ b/youtube_transcript_api/test/test_api.py
@@ -108,6 +108,19 @@ class TestYouTubeTranscriptApi(TestCase):
with self.assertRaises(InvalidVideoId):
YouTubeTranscriptApi.list_transcripts('https://www.youtube.com/watch?v=GJLlxj_dtq8')
+
+ def test_list_transcripts__no_translation_languages_provided(self):
+ httpretty.register_uri(
+ httpretty.GET,
+ 'https://www.youtube.com/watch',
+ body=load_asset('youtube_no_translation_languages.html.static')
+ )
+
+ transcript_list = YouTubeTranscriptApi.list_transcripts('GJLlxj_dtq8')
+ for transcript in transcript_list:
+ self.assertEqual(len(transcript.translation_languages), 0)
+
+
def test_translate_transcript(self):
transcript = YouTubeTranscriptApi.list_transcripts('GJLlxj_dtq8').find_transcript(['en'])