Jump to content
Sign in to follow this  
caanmasu

Programa para traducir locale_string.txt

Recommended Posts

Holaaaaaaaaaaaaaa

 

Vengo a compartir un programa que hice en Python sencillo, que consiste en "traducir" el locale_string.txt.

Contexto: cuando descargas una base turca, por ejemplo, viene el locale_string.txt en turco, y no puedes pasar tu locale_string.txt traducido porque resulta que la base turca tiene algunas líneas diferentes que dependen de sistemas, y si pones tu locale_string.txt traducido, te va a dar error.

Lo mostraré mejor:

 

Este es el locale_string.txt turco.

" %s 군주 후보에서 삭제하였습니다";
"%s Savas arasindan ?kartildi ";

" %s 군주로 입명 했습니다.";
"%s ?parator aday?olarak g?terildi. ";

" %s 군주르 제거 하였습니다..";
"%s ?paratorluk g?evini b?akt? ";

"´?¸? °?·ˇAß(?˘°i,±ł??,≫oAˇ)?ˇ´A °ł?I≫oAˇ?≫ ≫c?eC? ?o ??˝?´?´?.";
"Bir market a汚k iken baka bir market a?mazs?.";

" %s 군주를 제거 할수 없습니다.";
"%s ?paratoru g?evi b?akamaz. ";

"Kendi marketinizden herhangi bir ey sat? alamazs??.";
"Kendi marketinizden herhangi bir ey sat? alamazs??.";

"20?? łE?≫ ??°uC??ⓒ ≫oAˇ?≫ ?­?o°ˇ ??˝?´?´?";
"Envanterinizdeki Yang maksimum seviyeye ulam詰. L?fen envanterdeki Yang'lar?k??lere d?淆t?? tekrar deneyiniz.";

 

Este es el locale_string.txt tuyo, el traducido:

" %s 군주 후보에서 삭제하였습니다";
"%s is deleted as Emperor Candidate.";

" %s 군주로 입명 했습니다.";
"%s nominated as Emperor.";

" %s 군주르 제거 하였습니다..";
"The %s Emperor gets driven out.";

" %s 군주를 제거 할수 없습니다.";
"The %s Emperor cannot be driven out.";

" %s 는 군주 후보가 아닙니다.";
"%s is no Candidate to become Emperor.";

" %s 는 군주로 입명할수 없습니다 .";
"%s cannot be nominated as Emperor.";

" (만료일 : %d년 %d월 %d일)";
"(Procedure: %d y- %d m - %d d)";

 

Si te das cuenta, el 4° texto del locale_string.txt turco no existe en el locale_string.txt traducido. ¿Qué hubiese pasado si lo reemplazas en el servidor? probablemente te da error o se pierde ese texto para el sistema que pertenece ese locale.

 

Aquí te lo explico mejor. Turco vs Inglés

Debes iniciar sesión para ver el contenido del archivo adjunto en esta publicación.

 

Por eso he creado un programa en Python que compara las líneas de tu locale_string.txt con las del locale_string.txt del otro servidor y reemplaza el texto.

 

Dejo el código de Python aquí para las personas dev: (más abajo dejo el programa completo)

 

compare_locale_string.py

import array

def getArrayFile(path):
    content = []
    with open(path) as f:
        line = f.readline()
        content.append(line)
        while line:
            line = f.readline()
            content.append(line)
    f.close()
    return content

print("You should have your locale_string within this directory")
print("Type name file translated locale_string.txt (ex. locale_string_en.txt)")
other_file = input()

locale_string_content = getArrayFile("locale_string.txt")
other_file_content = getArrayFile(other_file)

count_1 = 1
for i in other_file_content:
    if '"' in i:
        count_2 = 1
        for j in locale_string_content:
            if i == j:
                locale_string_content[count_2] = other_file_content[count_1]
                break
            count_2 = count_2 + 1
    count_1 = count_1 + 1

with open('new_locale_string.txt', 'w') as f:
    for i in locale_string_content:
        f.write(i)

print("New file: new_locale_string.txt")

 

Requisitos: debes tener instalado Python versión 3+

 

Programa completo: archivo adjunto al final

 

¿Cómo se usa?

Luego de tener Python 3+ instalado, vas a hacer esto:

1. Descomprime el rar y pon la carpeta en un lugar donde la identifiques

image.png

2. Abrir cmd.exe y poner cd ruta/de/la/carpeta/compare_locale_string

image.png

3. Pon py compare_locale_string.py

image.png

4. La consola te pedirá el nombre del archivo tuyo. Yo dejé un locale_string_en.txt ahí.

image.png

5. Abrir el archivo generado new_locale_string.txt y verificar que todo esté bien.

image.png

 

El resultado de las primeras líneas de mi archivo new_locale_string.txt:

image.png

 

 

Saludos amigos!

Debes iniciar sesión para ver el contenido del enlace en esta publicación.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...