xranzei 1
xranzei
mavzermete 1
mavzermete
Hikaye Ekle

2 Türlü Çoklu Dil Sistemi

  • Konuyu başlatan Konuyu başlatan XxZeMaHSeRxX-Turkmmo
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 21
  • Görüntüleme Görüntüleme 4K
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Merhaba Arkadaşlar,

Yabancı forumda gördüğüm çoklu dil sistemini sizlerle paylaşmak istiyorum.

Not: Sistem'i yayımlıyan kişiye sordum sorunsuz çalıştığını bildirdi. O yüzden paylaşıyorum.



Kod:
#define LENGUAJE_SYSTEM_FIRE

Kod:
// Arat

ACMD(do_ride);

// Altına Ekle

#ifdef LENGUAJE_SYSTEM_FIRE
ACMD(do_idiomaenglish);
ACMD(do_idiomaespanish);
ACMD(do_idiomaportuges);
ACMD(do_idiomarumano);
#endif

// Arat

{ "dragon_soul",                do_dragon_soul,                0,    POS_DEAD,    GM_PLAYER    },

// Altına Ekle

#ifdef LENGUAJE_SYSTEM_FIRE
    { "idioma_ingles",        do_idiomaenglish,                0,    POS_DEAD,    GM_PLAYER        },
    { "idioma_espanol",        do_idiomaespanish,                0,    POS_DEAD,    GM_PLAYER        },
    { "idioma_portuges",    do_idiomaportuges,                0,    POS_DEAD,    GM_PLAYER        },
    { "idioma_rumano",        do_idiomarumano,                0,    POS_DEAD,    GM_PLAYER        },
#endif

Kod:
// Arat

ACMD(do_ride)
  
// Altına Ekle
  
#ifdef LENGUAJE_SYSTEM_FIRE
ACMD(do_idiomaenglish)
{
        char query[1024];
        sprintf(query, "UPDATE account.account SET idioma = 'en' WHERE id = '%d'", ch->GetAID());
        DBManager::instance().DirectQuery(query);
        ch->ChatPacket(CHAT_TYPE_INFO, "your new lenguague is english");
        ch->GetDesc()->DelayedDisconnect(5);
}

ACMD(do_idiomaespanish)
{
        char query[1024];
        sprintf(query, "UPDATE account.account SET idioma = 'es' WHERE id = '%d'", ch->GetAID());
        DBManager::instance().DirectQuery(query);
        ch->ChatPacket(CHAT_TYPE_INFO, "Tu nuevo lenguaje es espanish.");
        ch->GetDesc()->DelayedDisconnect(5);
      
}ACMD(do_idiomaportuges)
{
        char query[1024];
        sprintf(query, "UPDATE account.account SET idioma = 'pt' WHERE id = '%d'", ch->GetAID());
        DBManager::instance().DirectQuery(query);
        ch->ChatPacket(CHAT_TYPE_INFO, "sua nova lingua e Portugal.");
        ch->GetDesc()->DelayedDisconnect(5);
}

ACMD(do_idiomarumano)
{
        char query[1024];
        sprintf(query, "UPDATE account.account SET idioma = 'ro' WHERE id = '%d'", ch->GetAID());
        DBManager::instance().DirectQuery(query);
        ch->ChatPacket(CHAT_TYPE_INFO, "noua limba in limba romana.");
        ch->GetDesc()->DelayedDisconnect(5);
}
#endif

Kod:
#ifdef LENGUAJE_SYSTEM_FIRE
    int pc_get_languaje(lua_State* L)
    {
        LPCHARACTER ch = CQuestManager::instance().GetCurrentCharacterPtr();
        if(ch)
        {
            char szQuery[QUERY_MAX_LEN];
            snprintf(szQuery,sizeof(szQuery),"SELECT idioma from account.account WHERE id = '%d'", ch->GetAID());
            SQLMsg * pMsg = DBManager::instance().DirectQuery(szQuery);
            MYSQL_ROW row;
            for(int i = 0; (row = mysql_fetch_row(pMsg->Get()->pSQLResult)) != NULL; ++i)
            {
                lua_pushstring(L,row[0]);
            }
        }
        return 1;
    }
#endif

#ifdef LENGUAJE_SYSTEM_FIRE
            { "get_languaje",        pc_get_languaje    },
#endif

Kod:
import ui,dbg,app,net,os

class Dialog1(ui.Window):
    def __init__(self):
        ui.Window.__init__(self)
        self.BuildWindow()

    def __del__(self):
        ui.Window.__del__(self)

    def BuildWindow(self):
        self.Board = ui.BoardWithTitleBar()
        self.Board.SetSize(202, 206)
        self.Board.SetCenterPosition()
        self.Board.AddFlag('movable')
        self.Board.AddFlag('float')
        self.Board.SetTitleName('Cambiar Idioma')
        self.Board.SetCloseEvent(self.Close)
        self.Board.Show()
        self.comp = ui.Component()

        self.img1 = self.comp.ExpandedImage(self.Board , 163, 54, 'firewall/lenguaje_venta/en.tga')
        self.img2 = self.comp.ExpandedImage(self.Board , 163, 85, 'firewall/lenguaje_venta/es.tga')
        self.img3 = self.comp.ExpandedImage(self.Board , 163, 116, 'firewall/lenguaje_venta/pt.tga')
        self.img4 = self.comp.ExpandedImage(self.Board , 163, 148, 'firewall/lenguaje_venta/ro.tga')
        self.base = self.comp.Button(self.Board, 'Ingles', '', 9, 49, self.base_func, 'firewall/lenguaje_venta/boton_base1.tga', 'firewall/lenguaje_venta/boton_base2.tga', 'firewall/lenguaje_venta/boton_base3.tga')
        self.base1 = self.comp.Button(self.Board, 'Espanish', '', 9, 80, self.base1_func, 'firewall/lenguaje_venta/boton_base1.tga', 'firewall/lenguaje_venta/boton_base2.tga', 'firewall/lenguaje_venta/boton_base3.tga')
        self.base2 = self.comp.Button(self.Board, 'Portuges', '', 9, 112, self.base2_func, 'firewall/lenguaje_venta/boton_base1.tga', 'firewall/lenguaje_venta/boton_base2.tga', 'firewall/lenguaje_venta/boton_base3.tga')
        self.base3 = self.comp.Button(self.Board, 'Rumano', '', 9, 142, self.base3_func, 'firewall/lenguaje_venta/boton_base1.tga', 'firewall/lenguaje_venta/boton_base2.tga', 'firewall/lenguaje_venta/boton_base3.tga')
        self.base.SetToolTipText('Convierte tu idioma en ingles')
        self.base1.SetToolTipText('Convierte tu idioma en espanish')
        self.base2.SetToolTipText('Convierte tu idioma en portuges')
        self.base3.SetToolTipText('Convierte tu idioma en rumano')
  
    def base_func(self):
        os.remove('lang/idioma.txt')
        file = open('lang/idioma.txt', 'a')
        file.write("Espain") #Pones el idioma ejemplo español
        file.close()
        net.SendChatPacket("/idioma_ingles")
        net.ExitApplication()
        os.system('start Firewall.exe')
  
    def base1_func(self):
        os.remove('lang/idioma.txt')
        file = open('lang/idioma.txt', 'a')
        file.write("Espain")#Pones el idioma ejemplo ingles
        file.close()
        net.SendChatPacket("/idioma_espanol")
        net.ExitApplication()
        os.system('start Firewall.exe')
  
    def base2_func(self):
        os.remove('lang/idioma.txt')
        file = open('lang/idioma.txt', 'a')
        file.write("Espain")#Pones el idioma ejemplo ingles
        file.close()
        net.SendChatPacket("/idioma_portuges")
        net.ExitApplication()
        os.system('start Firewall.exe')
  
    def base3_func(self):
        os.remove('lang/idioma.txt')
        file = open('lang/idioma.txt', 'a')
        file.write("Espain")#Pones el idioma ejemplo ingles
        file.close()
        net.SendChatPacket("/idioma_rumano")
        net.ExitApplication()
        os.system('start Firewall.exe')
  
  
    def Close(self):
        self.Board.Hide()

Dialog1().Show()

Kod:
# Arat

["locale","error"]
  
# Altına Ekle

if os.path.exists("lang/idioma.txt"):
    pass
else:
    file = open('lang/idioma.txt', 'a')
    file.write("Espain")
    file.close() 

lines = open("lang/idioma.txt").readlines()
firstLine = str(lines[0].replace("\n", ""))
  
if firstLine.split("=")[0] == "Italy":
    LOCALE_FILE_NAME = "%s/locale_game.txt" % app.GetLocalePath()
      
elif firstLine.split("=")[0] == "Espain":
    LOCALE_FILE_NAME = "lang\\es/locale_game.txt"

elif firstLine.split("=")[0] == "Germany":
    LOCALE_FILE_NAME = "lang\\gm/locale_game.txt"

elif firstLine.split("=")[0] == "Poland":
    LOCALE_FILE_NAME = "lang\\pl/locale_game.txt"

elif firstLine.split("=")[0] == "Romany":
    LOCALE_FILE_NAME = "lang\\rm/locale_game.txt"
  
elif firstLine.split("=")[0] == "Turkey":
    LOCALE_FILE_NAME = "lang\\tk/locale_game.txt"
  
# Yazdığım anlatım yanlış olabilir gerçek anlatım şu şekilde,

in localeinfo search and paste all = ["locale","error"]

Kod:
# Arat

EMPIREDESC_C = "%s/empiredesc_c.txt" % (name)

# Ekle

import os
    if os.path.exists("lang/idioma.txt"):
        pass
    else:
        file = open('lang/idioma.txt', 'a')
        file.write("Espain")
        file.close()
  
    lines = open("lang/idioma.txt").readlines()
    firstLine = str(lines[0].replace("\n", ""))
  
    if firstLine.split("=")[0] == "Italy":
        LOCALE_INTERFACE_FILE_NAME = "%s/locale_interface.txt" % (name)
      
    elif firstLine.split("=")[0] == "Espain":
        LOCALE_INTERFACE_FILE_NAME = "lang\\es/locale_interface.txt"

    elif firstLine.split("=")[0] == "Germany":
        LOCALE_INTERFACE_FILE_NAME = "lang\\gm/locale_interface.txt"
  
    elif firstLine.split("=")[0] == "Poland":
        LOCALE_INTERFACE_FILE_NAME = "lang\\pl/locale_interface.txt"
      
    elif firstLine.split("=")[0] == "Romany":
        LOCALE_INTERFACE_FILE_NAME = "lang\\rm/locale_interface.txt"
      
    elif firstLine.split("=")[0] == "Turkey":
        LOCALE_INTERFACE_FILE_NAME = "lang\\tk/locale_interface.txt"
      
    else:
        LOCALE_INTERFACE_FILE_NAME = "%s/locale_interface.txt" % (name)

Kod:
in navicat  ro -- default lenguague the server

( Anlatım yukardaki şekilde tr sini anlıyamadım)

ALTER TABLE account.account ADD idioma varchar(2) NOT NULL DEFAULT 'ro' ;

(yapılacak da yukarıdaki gibi)

Kod:
quest multilenguaje begin
    state start begin
        when 20094.chat.gameforge.es.titulo with pc.get_languaje() ==  'es' begin
            say(gameforge.es.say1)
            say(gameforge.es.say2)
        end
      
        when 20094.chat.gameforge.en.titulo with pc.get_languaje() ==  'en' begin
            say(gameforge.en.say1)
            say(gameforge.en.say2)
        end
        when 20094.chat.gameforge.pt.titulo with pc.get_languaje() ==  'pt' begin
            say(gameforge.pt.say1)
            say(gameforge.pt.say2)
        end
        when 20094.chat.gameforge.ro.titulo with pc.get_languaje() ==  'ro' begin
            say(gameforge.ro.say1)
            say(gameforge.ro.say2)
        end
    end
end

Kod:
gameforge.es = {}
gameforge.es.titulo = "hola prueba en español"
gameforge.es.say1 = "funciona en español chao"
gameforge.es.say2 = "chao me despido"
gameforge.en = {}
gameforge.en.titulo = "hola prueba en ingles"
gameforge.en.say1 = "funciona en ingles chao"
gameforge.en.say2 = "chao me despido"
gameforge.pt = {}
gameforge.pt.titulo = "hola prueba en portuges"
gameforge.pt.say1 = "funciona en portuges chao"
gameforge.pt.say2 = "chao me despido"
gameforge.ro = {}
gameforge.ro.titulo = "hola prueba en rumano"
gameforge.ro.say1 = "funciona en rumano chao"
gameforge.ro.say2 = "chao me despido"

Bunu' da indirin,

İNDİR:
VT:

İNDİR:
VT:



Teşekkürler Fakat Kodlar hangi cpp,py,sql olacak belirtilmemiş
 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...

Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)

Geri
Üst