S obzirom na globalni doseg WordPress-a, važno je da mnogi korisnici imaju svoj sadržaj dostupan u različitim pismima i jezicima. Iako WordPress po defaultu podržava srpsku ćirilicu, platforma ne podržava nativno srpsku latinicu. Međutim, s malo programerske magije, potpuno je moguće transliterisati iz srpske ćirilice u srpsku latinicu. Evo kako to možete postići.

Preduslovi

  • Osnovno razumevanje Pythona
  • Pristup vašim WordPress datotekama (putem FTP-a, cPanel-a ili direktno ako je hostovano lokalno)
  • Python okruženje za izvršenje skripte

Pre nego što počnete sa procesom transliteracije, potrebno je da postavite srpski jezik kao osnovni sistemski jezik u WordPress postavkama. Nakon što ste postavili srpski jezik:

  1. Povežite se na vašu WordPress instalaciju putem FTP-a.
  2. Navigirajte do foldera gde se nalaze jezički fajlovi.
  3. Kopirajte sve fajlove koji su vezani za srpski jezik i sačuvajte ih negde na vašem lokalnom računaru.

Da biste izvršili skriptu za transliteraciju (koju se nalazi dalje u tekstu), potrebno je da sledite sledeće korake:

  1. Ako već nemate instaliran Python, posetite zvaničnu Python stranicu i preuzmite najnoviju verziju.
  2. Instalirajte polib biblioteku koristeći pip, Pythonov paketni menadžer. U komandnoj liniji ili terminalu upišite: 
    pip install polib
  3. Pokrenite vaš omiljeni Python IDE ili editor koda.
  4. Napravite folder i u njemu main.py i nalepite sledeću skriptu:
    import os
    import polib
    import json
    
    def cyrillic_to_latin(text):
        transliteration_map = {
            '\u0410': 'A', '\u0411': 'B', '\u0412': 'V', '\u0413': 'G', '\u0414': 'D', '\u0402': 'Đ',
            '\u0415': 'E', '\u0416': 'Ž', '\u0417': 'Z', '\u0418': 'I', '\u0408': 'J', '\u041A': 'K',
            '\u041B': 'L', '\u0409': 'Lj', '\u041C': 'M', '\u041D': 'N', '\u040A': 'Nj', '\u041E': 'O',
            '\u041F': 'P', '\u0420': 'R', '\u0421': 'S', '\u0428': 'Š', '\u0422': 'T', '\u040B': 'Ć',
            '\u0423': 'U', '\u0424': 'F', '\u0425': 'H', '\u0426': 'C', '\u0427': 'Č', '\u040F': 'Dž',
    
            '\u0430': 'a', '\u0431': 'b', '\u0432': 'v', '\u0433': 'g', '\u0434': 'd', '\u0452': 'đ',
            '\u0435': 'e', '\u0436': 'ž', '\u0437': 'z', '\u0438': 'i', '\u0458': 'j', '\u043A': 'k',
            '\u043B': 'l', '\u0459': 'lj', '\u043C': 'm', '\u043D': 'n', '\u045A': 'nj', '\u043E': 'o',
            '\u043F': 'p', '\u0440': 'r', '\u0441': 's', '\u0448': 'š', '\u0442': 't', '\u045B': 'ć',
            '\u0443': 'u', '\u0444': 'f', '\u0445': 'h', '\u0446': 'c', '\u0447': 'č', '\u045F': 'dž',
        }
    
    
        return ''.join(transliteration_map.get(char, char) for char in text)
    
    def process_po_file(file_path, output_path):
        po = polib.pofile(file_path)
        for entry in po:
            entry.msgstr = cyrillic_to_latin(entry.msgstr)
    
        if 'Language' in po.metadata and po.metadata['Language'] == 'sr_RS':
            po.metadata['Language'] = 'sr_latnRS'
    
        po.save(output_path)
        po.save_as_mofile(output_path.replace('.po', '.mo'))
    
    
    def process_json_file(file_path, output_path):
        with open(file_path, 'r', encoding='utf-8') as json_file:
            data = json.load(json_file)
    
        if "locale_data" in data and "messages" in data["locale_data"]:
            messages = data["locale_data"]["messages"]
    
            if "" in messages and "lang" in messages[""]:
                messages[""]["lang"] = "sr_latnRS"
    
            for key in messages:
                if isinstance(messages[key], list):
                    for i in range(len(messages[key])):
                        messages[key][i] = cyrillic_to_latin(messages[key][i])
                elif isinstance(messages[key], str):
                    messages[key] = cyrillic_to_latin(messages[key])
    
        with open(output_path, 'w', encoding='utf-8') as json_outfile:
            json.dump(data, json_outfile, ensure_ascii=False, indent=4)
    
    
    def process_directory(directory):
        for root, _, files in os.walk(directory):
            for file in files:
                if file.endswith('.po') and 'sr_RS' in file:
                    input_path = os.path.join(root, file)
                    output_file = file.replace('sr_RS', 'sr_latnRS')
                    output_path = os.path.join(root, output_file)
                    
                    process_po_file(input_path, output_path)
                    print(f"Processed: {input_path} -> {output_path}")
    
                elif file.endswith('.json') and 'sr_RS' in file:
                    input_path = os.path.join(root, file)
                    output_file = file.replace('sr_RS', 'sr_latnRS')
                    output_path = os.path.join(root, output_file)
    
                    process_json_file(input_path, output_path)
                    print(f"Processed: {input_path} -> {output_path}")
    
    directory_to_process = r'--putanja do foldera sa ćiriličnim fajlovima iz WordPress-a--'
    process_directory(directory_to_process)
  5. U skripti potražite liniju gde se definiše lokacija jezičkih fajlova i promenite je tako da odgovara lokaciji gde ste prethodno sačuvali srpske jezičke fajlove.
  6. Sačuvajte izmene i pokrenite skriptu.

Nakon što se skripta izvrši, svi srpski jezički fajlovi će biti transliterovani u latinicu i spremni za upotrebu u vašem WordPress sajtu. Sledeći koraci će vas voditi kroz proces dodavanja srpske latinice kao jezika sučelja vašeg WordPress sajta:

  1. Povežite se na vaš server koristeći FTP klijent.
  2. Navigirajte do foldera gde se nalaze jezički fajlovi (obično se nalazi unutar wp-content/languages).
  3. Kopirajte sve nove transliterovane fajlove (one sa oznakom sr_LatnRS) na ovu lokaciju.
  4. Ulogujte se na vaš WordPress sajt i idite na Podešavanja > Jezik sajta.
  5. U listi dostupnih jezika pronaći ćete novi jezik označen kao Srpski (Latinica). Izaberite ga i kliknite na dugme za čuvanje podesavanja.

Čestitamo! Vaš WordPress sajt sada koristi srpsku latinicu kao jezik sučelja.

Takodje, svaki put kada ažurirate WordPress na noviju verziju, postoji mogućnost da su dodati novi tekstovi ili izmene u jezičkim fajlovima. Da biste osigurali da je sve prevedeno na srpsku latinicu, preporučuje se da ponovite gore navedeni proces transliteracije nakon svakog ažuriranja.

 

Napomena: Kao autor ovog vodiča, ne preuzimam odgovornost za bilo kakve probleme, greške ili oštećenja koja mogu proizaći iz korišćenja ovog metoda. Preporučujem da uvek pravite rezervne kopije vašeg sajta pre nego što izvršite bilo kakve promene. Sve korake u ovom vodiču primenjujete na sopstvenu odgovornost.

 

 

 

 

Ako tražite usluge razvoja softvera najvišeg ranga, ne tražite dalje!

Šta nudim:

  • Razvoj veb stranica: Pretvorite vašu ideju u potpuno funkcionalnu veb stranicu.
  • Kreacija mobilnih aplikacija: Dostignite vašu publiku na svakom uređaju.
  • Prilagođena softverska rešenja: Softver prilagođen vašim poslovnim potrebama.
  • Upravljanje bazom podataka: Osigurajte da su vaši podaci strukturirani, sigurni i dostupni.
  • Konsultacije: Niste sigurni gde da počnete? Razgovarajmo o najboljim tehnološkim rešenjima za vaše ciljeve.

Sa godinama iskustva u tehničkoj industriji, usavršio sam svoje veštine kako bih pružio samo najbolje svojim klijentima. Pretvorimo vašu viziju u stvarnost. Kontaktirajte me danas da započnemo vaš sledeći digitalni projekat!