Hướng dẫn google translate in python

Để dịch văn bản / translate text, có 1 thư viện của Python giúp chúng ta thực hiện dễ dàng đó là thư viện googletrans. Nó dịch văn bản thông qua API của Google Translate. Sau đây mình sử hướng dẫn căn bản cách sử dụng thư viện này để dịch văn bản nhé!

Cài đặt thư viện googletrans

Như mội khi chúng ta thực hiện cài đặt qua công cụ quản lý package của Python 3 là PIP

pip install googletrans==4.0.0rc1

Ngoài ra bạn có thể cài đặt thông qua công cụ quản lý conda

conda install googletrans==4.0.0rc1

Danh sách các ngôn ngữ được hỗ trợ

Bạn có thể liệt kê danh sách các ngôn ngữ được hỗ trợ bởi thư viện bằng đoạn code sau:

import googletrans
import json

# List all languages
print(json.dumps(googletrans.LANGUAGES, indent=4))

Kết quả:

/opt/python/myapp/venv/bin/python /opt/python/myapp/google-translate.py
{
    "af": "afrikaans",
    "sq": "albanian",
    "am": "amharic",
    "ar": "arabic",
    "hy": "armenian",
    "az": "azerbaijani",
    "eu": "basque",
    "be": "belarusian",
    "bn": "bengali",
    "bs": "bosnian",
    "bg": "bulgarian",
    "ca": "catalan",
    "ceb": "cebuano",
    "ny": "chichewa",
    "zh-cn": "chinese (simplified)",
    "zh-tw": "chinese (traditional)",
    "co": "corsican",
    "hr": "croatian",
    "cs": "czech",
    "da": "danish",
    "nl": "dutch",
    "en": "english",
    "eo": "esperanto",
    "et": "estonian",
    "tl": "filipino",
    "fi": "finnish",
    "fr": "french",
    "fy": "frisian",
    "gl": "galician",
    "ka": "georgian",
    "de": "german",
    "el": "greek",
    "gu": "gujarati",
    "ht": "haitian creole",
    "ha": "hausa",
    "haw": "hawaiian",
    "iw": "hebrew",
    "he": "hebrew",
    "hi": "hindi",
    "hmn": "hmong",
    "hu": "hungarian",
    "is": "icelandic",
    "ig": "igbo",
    "id": "indonesian",
    "ga": "irish",
    "it": "italian",
    "ja": "japanese",
    "jw": "javanese",
    "kn": "kannada",
    "kk": "kazakh",
    "km": "khmer",
    "ko": "korean",
    "ku": "kurdish (kurmanji)",
    "ky": "kyrgyz",
    "lo": "lao",
    "la": "latin",
    "lv": "latvian",
    "lt": "lithuanian",
    "lb": "luxembourgish",
    "mk": "macedonian",
    "mg": "malagasy",
    "ms": "malay",
    "ml": "malayalam",
    "mt": "maltese",
    "mi": "maori",
    "mr": "marathi",
    "mn": "mongolian",
    "my": "myanmar (burmese)",
    "ne": "nepali",
    "no": "norwegian",
    "or": "odia",
    "ps": "pashto",
    "fa": "persian",
    "pl": "polish",
    "pt": "portuguese",
    "pa": "punjabi",
    "ro": "romanian",
    "ru": "russian",
    "sm": "samoan",
    "gd": "scots gaelic",
    "sr": "serbian",
    "st": "sesotho",
    "sn": "shona",
    "sd": "sindhi",
    "si": "sinhala",
    "sk": "slovak",
    "sl": "slovenian",
    "so": "somali",
    "es": "spanish",
    "su": "sundanese",
    "sw": "swahili",
    "sv": "swedish",
    "tg": "tajik",
    "ta": "tamil",
    "te": "telugu",
    "th": "thai",
    "tr": "turkish",
    "uk": "ukrainian",
    "ur": "urdu",
    "ug": "uyghur",
    "uz": "uzbek",
    "vi": "vietnamese",
    "cy": "welsh",
    "xh": "xhosa",
    "yi": "yiddish",
    "yo": "yoruba",
    "zu": "zulu"
}

Process finished with exit code 0

Hướng dẫn sử dụng thư viện cơ bản

Import thư viện

from googletrans import Translator

Tạo một đối tượng của Translor

from googletrans import Translator

Thực hiện dịch văn bản. VD từ tiếng Việt ra tiếng Anh

from googletrans import Translator

# define a translate object
translate = Translator()

# Translate some text
result = translate.translate('Chúng tôi là nhóm vinasupport')

print(result)
print(result.text)

Kết quả:

Hướng dẫn google translate in python

Chỉ định ngôn ngữ dịch

result = translator.translate('Mikä on nimesi', src='vi', dest='en')

Sử dụng googletrans như command line

Hướng dẫn google translate in python

Trong bài học này chúng ta sẽ tìm hiểu googletrans, hay còn gọi là Python Google Translator, đây là một module dùng để dịch văn bản qua các ngôn ngữ bằng cách sử dụng Google API.

Hướng dẫn google translate in python

Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

1. Python Google Translator là gì?

Python googletrans là một module để dịch văn bản. Nó sử dụng API Google Translate Ajax để phát hiện ngôn ngữ và dịch văn bản sang ngôn ngữ mong muốn.

Trước khi sử dụng thì bạn phải kiểm tra trong máy của mình đã cài đặt module này chưa nhé, cách đơn giản nhất là chạy lệnh import sau đây:

Nếu lệnh này báo lỗi thì tức là máy của bạn chưa cài. Lúc này bạn hãy mở cửa sổ console lên và chạy lệnh sau:

Bài viết này được đăng tại [free tuts .net]

Giao diện cài đặt sẽ như sau:

Bạn hãy chạy lại lệnh import trên thì sẽ không thấy lỗi nữa.

2. Danh sách ngôn ngữ trong Python Google Translator module

Trước khi dịch sang một ngôn ngữ nào thì bạn nên kiểm tra xem Google API có hỗ trợ ngôn ngữ đó không.

Module googletrans có một thuộc tính tên là LANGUAGES, nó là một dict chứa danh sách các ngôn ngữ. Chạy lệnh sau để in ra.

import googletrans
print(googletrans.LANGUAGES)

Kết quả:

{'af': 'afrikaans', 'sq': 'albanian', 'am': 'amharic', 'ar': 'arabic', 'hy': 'armenian', 'az': 'azerbaijani', 'eu': 'basque', 'be': 'belarusian', 'bn': 'bengali', 'bs': 'bosnian', 'bg': 'bulgarian', 'ca': 'catalan', 'ceb': 'cebuano', 'ny': 'chichewa', 'zh-cn': 'chinese (simplified)', 'zh-tw': 'chinese (traditional)', 'co': 'corsican', 'hr': 'croatian', 'cs': 'czech', 'da': 'danish', 'nl': 'dutch', 'en': 'english', 'eo': 'esperanto', 'et': 'estonian', 'tl': 'filipino', 'fi': 'finnish', 'fr': 'french', 'fy': 'frisian', 'gl': 'galician', 'ka': 'georgian', 'de': 'german', 'el': 'greek', 'gu': 'gujarati', 'ht': 'haitian creole', 'ha': 'hausa', 'haw': 'hawaiian', 'iw': 'hebrew', 'he': 'hebrew', 'hi': 'hindi', 'hmn': 'hmong', 'hu': 'hungarian', 'is': 'icelandic', 'ig': 'igbo', 'id': 'indonesian', 'ga': 'irish', 'it': 'italian', 'ja': 'japanese', 'jw': 'javanese', 'kn': 'kannada', 'kk': 'kazakh', 'km': 'khmer', 'ko': 'korean', 'ku': 'kurdish (kurmanji)', 'ky': 'kyrgyz', 'lo': 'lao', 'la': 'latin', 'lv': 'latvian', 'lt': 'lithuanian', 'lb': 'luxembourgish', 'mk': 'macedonian', 'mg': 'malagasy', 'ms': 'malay', 'ml': 'malayalam', 'mt': 'maltese', 'mi': 'maori', 'mr': 'marathi', 'mn': 'mongolian', 'my': 'myanmar (burmese)', 'ne': 'nepali', 'no': 'norwegian', 'or': 'odia', 'ps': 'pashto', 'fa': 'persian', 'pl': 'polish', 'pt': 'portuguese', 'pa': 'punjabi', 'ro': 'romanian', 'ru': 'russian', 'sm': 'samoan', 'gd': 'scots gaelic', 'sr': 'serbian', 'st': 'sesotho', 'sn': 'shona', 'sd': 'sindhi', 'si': 'sinhala', 'sk': 'slovak', 'sl': 'slovenian', 'so': 'somali', 'es': 'spanish', 'su': 'sundanese', 'sw': 'swahili', 'sv': 'swedish', 'tg': 'tajik', 'ta': 'tamil', 'te': 'telugu', 'th': 'thai', 'tr': 'turkish', 'uk': 'ukrainian', 'ur': 'urdu', 'ug': 'uyghur', 'uz': 'uzbek', 'vi': 'vietnamese', 'cy': 'welsh', 'xh': 'xhosa', 'yi': 'yiddish', 'yo': 'yoruba', 'zu': 'zulu'}

3. Dùng Python Google Translator nhận diện ngôn ngữ của text

Google Translator có khả năng nhận diện ngôn ngữ của một đoạn text, đây chính là ưu điểm lớn nhất của bộ công cụ dịch thuật của Google.

Bây giờ mình thử detect một đoạn xem đó là ngôn ngữ gì nhé.

from googletrans import Translator

text = 'Học Python miễn phí tại freetuts.net'
translator = Translator()
dt = translator.detect(text)
print(dt)

Kết quả:

Detected(lang=vi, confidence=1.0)

4. Dịch một đoạn text bằng Python Google Translator

Để dịch một ngôn ngữ này sang một ngôn ngữ khác thì ta sử dụng đoạn code sau:

from googletrans import Translator

translator = Translator()

translated = translator.translate('svízelná situace', src='cs', dest='hu')

print(translated.text)

Trong đó:

  • src là ngôn ngữ ban đầu của đoạn text.
  • dest là ngôn ngữ cần dịch sang.
  • svízelná situace là đoạn text cần dịch.

Ngoài ra bạn cũng có thể truyền danh sách nhiều text cần dịch bằng cách đặt nó vào một mảng.

from googletrans import Translator

translator = Translator()

data = ['Dobrý deň', 'majestátny orol', 'krehká dohoda']

translated = translator.translate(data, src='sk', dest='en')

for trans in translated:
    print(f'{trans.origin} -> {trans.text}')

Trên là cách sử dụng module Google Translator trong Python. Bạn có thể tham khảo thêm nội dung trên trang chủ của Python pip nhé.