La transliteración es un proceso de escritura de la palabra de un idioma utilizando alfabetos pronunciados de manera similar en otros idiomas. Se ocupa de la pronunciación de palabras en otros idiomas. De manera similar, en el lenguaje informático, la computadora puede manejar caracteres ASCII pero tiene problemas con los caracteres que no son ASCII. Hay ocasiones en las que no podemos omitir los caracteres que no son ASCII, ya que puede provocar la pérdida de información. Debería haber una forma de leer caracteres que no sean ASCII y expresarlos mediante texto en caracteres ASCII.
Enfoque 1:
Este enfoque está relacionado con la biblioteca incorporada unidecode . Esta biblioteca ayuda a transliterar caracteres no ASCII en Python. Proporciona un método unidecode() que toma datos Unicode e intenta representarlos en ASCII. Este método determina automáticamente el lenguaje de secuencias de comandos y lo translitera en consecuencia. Acepta valores de string Unicode y devuelve una transliteración en formato de string.
Pasos:
- Importar biblioteca unidecode
- Llamar al método unidecode() con texto de entrada
Ejemplo:
Python3
# Import unidecode module from unidecode from unidecode import unidecode # Get transliteration for following # non-ASCII text (Unicode string) print(unidecode(u'ko\u017eu\u0161\u010dek')) # Get transliteration for following # non-ASCII text (Devanagari) print(unidecode("आप नीचे अपनी भाषा और इनपुट उपकरण चुनें और लिखना आरंभ करें")) # Get transliteration for following # non-ASCII text (Chinese) print(unidecode("谢谢你")) # Get transliteration for following # non-ASCII text (Japanese) print(unidecode("ありがとう。")) # Get transliteration for following # non-ASCII text (Russian) print(unidecode("улыбаться Владимир Путин"))
Producción:
kozuscek aap niice apnii bhaassaa aur inputt upkrnn cuneN aur likhnaa aarNbh kreN Xie Xie Ni arigatou. ulybat'sia Vladimir Putin
Enfoque 2:
Este enfoque trata de construir una estructura que ayudará en la transliteración. En esto, los valores Unicode de caracteres que no son ASCII están etiquetados con valores ASCII relacionados desde aquí proporciona una lista de scripts. El valor de Unicode para las letras en cada script se proporciona con el carácter ASCII representable. Wikipedia también tiene una colección de valores Unicode y su respectiva transliteración.
Pasos:
- Crear diccionario con valores Unicode como claves y representación ASCII como valores
- Translitere cada letra del texto usando ese diccionario.
Por ejemplo, si queremos la transliteración del idioma ruso, tomaremos todas las letras en escritura cirílica, ya que el ruso usa el cirílico. Luego, para cada letra, su valor Unicode y su representación ASCII se utilizan para crear un diccionario. Y, luego, este diccionario se usa para transliterar un texto dado.
Por ejemplo, se toman algunas letras de la escritura devanagari y se crea un diccionario. Además, se utiliza en texto pequeño para transliteración.
Ejemplo:
Python
# Create devanagari transliteration dictionary devanagari_translit_dict = { '\u0905': 'A', '\u0906': 'AA', '\u0907': 'I', '\u0908': 'II', '\u0909': 'U', '\u090A': 'UU', '\u090F': 'E', '\u0910': 'AI', '\u0913': 'O', '\u0914': 'AU', '\u0915': 'K', '\u0916': 'KH', '\u0917': 'G', '\u0918': 'GH', '\u0919': 'NG', '\u091A': 'C', '\u091B': 'CH', '\u091C': 'J', '\u091D': 'JH', '\u091E': 'NY', '\u091F': 'TT', '\u0920': 'TTH', '\u0921': 'DD', '\u0922': 'DDH', '\u0923': 'NN', '\u0924': 'T', '\u0925': 'TH', '\u0926': 'D', '\u0927': 'DH', '\u0928': 'N', '\u092A': 'P', '\u092B': 'PH', '\u092C': 'B', '\u092D': 'BH', '\u092E': 'M', '\u092F': 'Y', '\u0930': 'R', '\u0932': 'L', '\u0933': 'LL', '\u0935': 'V', '\u0936': 'SH', '\u0937': 'SS', '\u0938': 'S', '\u0939': 'H', '\u093E': 'AA', '\u093F': 'I', '\u0940': 'II', '\u0941': 'U', '\u0942': 'UU', '\u0947': 'E', '\u0948': 'AI', '\u094B': 'O', '\u094C': 'AU', '\u094D': '', '\u0902': 'n'} # Define function transliterating text def transliterate(text, translit_dict): new_word = '' for letter in text: new_letter = '' if letter in translit_dict: new_letter = translit_dict[letter] else: new_letter = letter new_word += new_letter return new_word # Input text in devanagari text = "आप नीचे अपनी भाषा और इनपुट उपकरण चुनें और लिखना आरंभ करें" # Obtain Transliterated text for given input text transliterated_text = transliterate(text, devanagari_translit_dict) print(transliterated_text)
Producción:
AAP NIICE APNII BHAASSAA AUR INPUTT UPKRNN CUNEn AUR LIKHNAA AARnBH KREn
Publicación traducida automáticamente
Artículo escrito por hemavatisabu y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA