将本地语言(印地语)名称转换为英语

时间:2020-05-13 13:02:16

标签: python translation google-translate hindi

问题-我在印地语中有一个数据框,我想将其转换为英语(但不能翻译)

0   मोहनलाल
1   श्री बजरंग बाडी उधान रर्सरी फार्म कारी
2   श्री बालाजी कन्‍ट्रक्‍शन
3   श्री राम ईट उदयोग
4   साहिल पैड स्‍टोर

我尝试过的

import pandas as pd
import googletrans
from googletrans import Translator

translator = Translator()
translations = {}
for column in df.columns:
    unique_elements = df[column].unique()
    for element in unique_elements:
        translations[element] = translator.translate(element).text
translations

得到了这个结果

0   Mohan Lal
1   Shri Bajrang Body Farm Park Kari rarsari
2   Sri Balaji kantraksana
3   Rama briquette Udyog
4   Sahil pad Store

我需要这样的东西

0   MohanLal
1   Shri Bajrang Body Udhaan Rarsari Farm Park Kari
2   Sri Balaji Construction
3   Rama eit Udyog
4   Sahil pad Store

1 个答案:

答案 0 :(得分:0)

安装以下库

pip install -U git+https://github.com/aboSamoor/polyglot.git@master

pip install googletrans

%%bash

polyglot download embeddings2.hi

polyglot download transliteration2.hi

尝试运行此代码


import polyglot
from polyglot.transliteration import Transliterator
t_hi = Transliterator(source_lang='hi', target_lang='en')
from googletrans import Translator
hi=[]
translatedList = []
temp_content = ['मोहनलाल', 'श्री', 'बजरंग', 'बाडी', 'उधान', 'रर्सरी', 'फार्म', 'कारी', 'बालाजी', 'कन्‍ट्रक्‍शन', 'राम', 'ईट', 'उदयोग', 'साहिल', 'पैड', 'स्‍टोर']
for index, row in enumerate(temp_content):
    t1 = Translator()
    try:
        hi.append(t_hi.transliterate((t1.translate(row, src='en', dest='hi')).text))
    except Exception as e:
        print(str(e))
        continue

# ['mohanlal', 'shree', 'bjrng', 'badi', 'udhan', 'rrsri', 'farm', 'kari', 'balaji', 'kntrkshn', 'ram', 'it', 'udyog', 'sahil', 'pad', 'store']

使用音译而不是翻译。

尝试点击此链接Transliteration

它不是100%精确,但可以。