How to use text languages in Python

Question:

I’m trying to create a text-to-speech Python program. I already have it working in English, though, I need other languages too. How can I use the same methods for other languages like Chinese?
coding:

from gtts import gTTS
import os

myText = "hello"
language = 'en'
output = gTTS(text=myText, lang = language, slow = False)

output.save("output.mp3")
os.system(" start output.mp3")
Asked By: Yogendran Prakash

||

Answers:

To get all the languages supported by the library you are using use the following:

import gtts.lang
print(gtts.lang.tts_langs())

In this output, the keys are what you would use and the values just explain what language it is. And to answer your question 'zh-CN': 'Chinese', 'zh-TW': 'Chinese (Mandarin/Taiwan)', 'zh': 'Chinese (Mandarin)' are all possible versions of chinese.

Output:

{'af': 'Afrikaans', 'ar': 'Arabic', 'bg': 'Bulgarian', 'bn': 'Bengali', 'bs': 'Bosnian', 'ca': 'Catalan', 'cs': 'Czech', 'cy': 'Welsh', 'da': 'Danish', 'de': 'German', 'el': 'Greek', 'en': 'English', 'eo': 'Esperanto', 'es': 'Spanish', 'et': 'Estonian', 'fi': 'Finnish', 'fr': 'French', 'gu': 'Gujarati', 'hi': 'Hindi', 'hr': 'Croatian', 'hu': 'Hungarian', 'hy': 'Armenian', 'id': 'Indonesian', 'is': 'Icelandic', 'it': 'Italian', 'iw': 'Hebrew', 'ja': 'Japanese', 'jw': 'Javanese', 'km': 'Khmer', 'kn': 'Kannada', 'ko': 'Korean', 'la': 'Latin', 'lv': 'Latvian', 'mk': 'Macedonian', 'ms': 'Malay', 'ml': 'Malayalam', 'mr': 'Marathi', 'my': 'Myanmar (Burmese)', 'ne': 'Nepali', 'nl': 'Dutch', 'no': 'Norwegian', 'pl': 'Polish', 'pt': 'Portuguese', 'ro': 'Romanian', 'ru': 'Russian', 'si': 'Sinhala', 'sk': 'Slovak', 'sq': 'Albanian', 'sr': 'Serbian', 'su': 'Sundanese', 'sv': 'Swedish', 'sw': 'Swahili', 'ta': 'Tamil', 'te': 'Telugu', 'th': 'Thai', 'tl': 'Filipino', 'tr': 'Turkish', 'uk': 'Ukrainian', 'ur': 'Urdu', 'vi': 'Vietnamese', 'zh-CN': 'Chinese', 'zh-TW': 'Chinese (Mandarin/Taiwan)', 'zh': 'Chinese (Mandarin)'}
Answered By: Flow

List of languages and the code currently available in gtts

Afrikaans : af
Arabic : ar
Bulgarian : bg
Bengali : bn
Bosnian : bs
Catalan : ca
Czech : cs
Danish : da
German : de
Greek : el
English : en
Spanish : es
Estonian : et
Finnish : fi
French : fr
Gujarati : gu
Hindi : hi
Croatian : hr
Hungarian : hu
Indonesian : id
Icelandic : is
Italian : it
Hebrew : iw
Japanese : ja
Javanese : jw
Khmer : km
Kannada : kn
Korean : ko
Latin : la
Latvian : lv
Malayalam : ml
Marathi : mr
Malay : ms
Myanmar (Burmese) : my
Nepali : ne
Dutch : nl
Norwegian : no
Polish : pl
Portuguese : pt
Romanian : ro
Russian : ru
Sinhala : si
Slovak : sk
Albanian : sq
Serbian : sr
Sundanese : su
Swedish : sv
Swahili : sw
Tamil : ta
Telugu : te
Thai : th
Filipino : tl
Turkish : tr
Ukrainian : uk
Urdu : ur
Vietnamese : vi
Chinese (Simplified) : zh-CN
Chinese (Mandarin/Taiwan) : zh-TW
Chinese (Mandarin) : zh

Answered By: Girish Bhasin
Categories: questions Tags: ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.