Register for your free account! | Forgot your password?

You last visited: Today at 10:45

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



[NEW-VERSION]Multi-Language System

Discussion on [NEW-VERSION]Multi-Language System within the Metin2 PServer Guides & Strategies forum part of the Metin2 Private Server category.

Closed Thread
 
Old   #1
 
elite*gold: 0
Join Date: Mar 2013
Posts: 154
Received Thanks: 506
Smile [NEW-VERSION]Multi-Language System



Multi-Language V3

I re-write and i hope you like it.

Features:

- Added pc.get_lang(),pc.set_lang(),pc.lang_status(),pc.re member_lang()
- Added multi-dialog

- Quest

PHP Code:

----------------------------------------------------------------
-- 
Date 19.01.2014
-- FileName multilanguage.quest
-- Author HaveBeen™
-- Description : -
----------------------------------------------------------------
quest mlanguage begin
    state start begin
        when login begin
            set_state
(information)
        
end
    end
    
    
-- Select or Change Language
    state information begin
        when login begin
            pc
.remember_lang()
        
end
        when letter begin
            
if(pc.get_lang_status() != 0then
                send_letter
("Change language")
            else
                
send_letter("Select language")
            
end
        end
        when button 
or info begin
            
if(pc.get_lang_status() != 0then
                say_title
(locale.mLanguage.title2[pc.get_lang()])
                
say("")
                ---
                
say(locale.mLanguage_say1[pc.get_lang()])
                
say(locale.mLanguage.say2[pc.get_lang()])
                
say("")
                
local s select_table(locale.mLanguage.list[pc.get_lang()])
                if(
== 8then
                    
return
                
end
                pc
.set_lang(s)
                if(
locale.mLanguage.list[pc.get_lang()][s] >= "Turkish" or locale.mLanguage.list[pc.get_lang()][s] >= "Türkçe" or locale.mLanguage.list[pc.get_lang()][s] >= "터키의" or locale.mLanguage.list[pc.get_lang()][s] >= "土耳其" or locale.mLanguage.list[pc.get_lang()][s] >= "Turc" or locale.mLanguage.list[pc.get_lang()][s] >= "Türkisch"then
                    say_title
(locale.mLanguage.list[pc.get_lang()][s]..locale.mLanguage.title1[s])
                else
                    
say_title(locale.mLanguage.title1[s]..locale.mLanguage.list[pc.get_lang()][s])
                
end
                say
("")
                ---
                
say(locale.mLanguage.say3[pc.get_lang()])
            else
                
say_title("Select language")
                
say("")
                ---
                
say("Please select a new language.")
                
say("You can freely choose the language you want to see in")
                
say("the game.")
                
say("")
                
local s select_table(locale.mLangauge.list["en"])
                if(
== 8then
                    
return
                
end
                pc
.set_lang_status(1)
                
pc.set_lang(s)
                if(
locale.mLanguage.list[pc.get_lang()][s] >= "Turkish" or locale.mLanguage.list[pc.get_lang()][s] >= "Türkçe" or locale.mLanguage.list[pc.get_lang()][s] >= "터키의" or locale.mLanguage.list[pc.get_lang()][s] >= "土耳其" or locale.mLanguage.list[pc.get_lang()][s] >= "Turc" or locale.mLanguage.list[pc.get_lang()][s] >= "Türkisch"then
                    say_title
(locale.mLanguage.list[pc.get_lang()][s]..locale.mLanguage.title1[s])
                else
                    
say_title(locale.mLanguage.title1[s]..locale.mLanguage.list[pc.get_lang()][s])
                
end
                say
("")
                --
                
say(locale.mLanguage.say3[pc.get_lang()])
            
end
        end
    end
end 
- Locale.lua

PHP Code:
----------------------------------------------------------------
-- 
Date 19.01.2014
-- FileName locale.lua
-- Author HaveBeen™
-- Description : -
----------------------------------------------------------------

locale.mLanguage = {}

locale.mLanguage.say1 = {
    [
"en"] = "Please select a new language.",
    [
"tr"] = "Lütfen yeni bir dil seçiniz.",
    [
"kr"] = "새로운 언어를 선택하세요.",
    [
"cn"] = "请选择一种新的语言。",
    [
"ro"] = "Vă rugăm să selectați o limbă nouă.",
    [
"fr"] = "S'il vous plaît sélectionner une nouvelle langue.",
    [
"de"} = "Bitte wählen Sie eine neue Sprache.",
}

locale.mLanguage.say2 = {
    [
"en"] = "You can freely choose the language you want to see in the game.",
    [
"tr"] = "Oyunda görmek istediğiniz dili özgürce seçebilirsiniz.",
    [
"kr"] = "당신은 자유롭게 당신이 게임에 표시 할 언어를 선택할 수 있습니다.",
    [
"cn"] = "你可以自由选择你想在游戏中看到的语言。",
    [
"ro"] = "Puteți alege în mod liber limba în care doriți să vedeți în joc.",
    [
"fr"] = "Vous pouvez librement choisir la langue que vous voulez voir dans le jeu.",
    [
"de"} = "Sie können frei wählen Sie die Sprache im Spiel sehen wollen.",
}

locale.mLanguage.say3 = {
    [
"en"] = "Now you can see your language freely in the game.",
    [
"tr"] = "Artık oyunda özgürce dilinizi görebileceksiniz.",
    [
"kr"] = "지금 당신은 게임에서 자유롭게 언어를 볼 수 있습니다.",
    [
"cn"] = "现在,您可以看到您的语言自由地在游戏中。",
    [
"ro"] = "Acum puteți vedea limba în mod liber în joc.",
    [
"fr"] = "Maintenant, vous pouvez voir votre langue librement dans le jeu.",
    [
"de"] = "Jetzt können Sie Ihre Sprache frei im Spiel sehen.",
}
locale.mLanguage.list = {
    [
"en"] = {"English","Turkish","Korean","Chinese","Romanian","French","German","Close"},
    [
"tr"] = {"Ingilizce","Türkçe","Korece","Çince","Romanca","Fransızca","Almanca","Kapat"},
    [
"kr"] = {"영어","터키의","한국의","중국의","루마니아어","프랑스의","독일의","가까운"},
    [
"cn"] = {"英语","土耳其","韩国","中国的","罗马尼亚","法国人","德国","关闭"},
    
["ro"] = {"Englez","Turc","Coreean","Chinez","Român","Franceză","German","închide"},
    [
"fr"] = {"Anglais","Turc","Coréen","Chinois","Roumain","Français","Allemand","Proche"},
    [
"de"] = {"Englisch","Türkisch","Chinesisch","Rumänisch","Französisch","Deutsch","Schließen"},
}

locale.mLanguage.title2 = {
    [
"en"] = "Change the langauge",
    [
"tr"] = "Dilini değiştir",
    [
"kr"] = "언어를 변경합니다.",
    [
"cn"] = "改变语言。",
    [
"ro"] = "A schimba limba.",
    [
"fr"] = "Changer la langue.",
    [
"de"] = "Ändern Sie die Sprache.",
}

locale.mLanguage.title1 = {
    [
1] = "You picked the ",
    [
2] = " Seçtiniz.",
    [
3] = "당신이 고른 ",
    [
4] = "你挑 ",
    [
5] = "Tu ai ales ",
    [
6] = "Vous avez choisi le",
    [
7] = "Sie nahm die ",

- Questlib.lua

PHP Code:
----------------------------------------------------------------
-- 
Date 19.01.2014
-- FileName questlib.lua
-- Author HaveBeen™
-- Description : -
----------------------------------------------------------------

local pc pc or {}

function 
pc.get_lang_status()
    return 
pc.getf("mlanguage","languagestatus")
end

function pc.set_lang_status(a)
    
pc.setf("mlanguage","languagestatus",a)
end

function pc.set_lang(lang)
    
local file,err io.open("locale/english/language/"..pc.get_name()..".txt","w")
    if(
errthen
        local file 
io.output(io.open("locale/english/language/"..pc.get_name()..".txt","w"))
    
end
    pc
.setf("mlanguage","lang",lang)
    
file:write(lang)
    
file:flush()
    
file:close()
    return 
true
end

function pc.remember_lang()
    
local file,err io.open("locale/english/language/"..pc.get_name()..".txt","rb")
    if(
errthen
        
return false
    end
    
for line in file:lines() do
        return 
line
    end
    
if(line == "1"then
        
if(pc.getf("mlanguage","lang") == 0then
            pc
.setf("mlanguage","lang",line)
        else
            return
        
end
    
elseif(line == "2"then
        
if(pc.getf("mlanguage","lang") == 0then
            pc
.setf("mlanguage","lang",line)
        else
            return
        
end
    
elseif(line == "3"then
        
if(pc.getf("mlanguage","lang") == 0then
            pc
.setf("mlanguage","lang",line)
        else
            return
        
end
    
elseif(line == "4"then
        
if(pc.getf("mlanguage","lang") == 0then
            pc
.setf("mlanguage","lang",line)
        else
            return
        
end
    
elseif(line == "5"then
        
if(pc.getf("mlanguage","lang") == 0then
            pc
.setf("mlanguage","lang",line)
        else
            return
        
end
    
elseif(line == "6"then
        
if(pc.getf("mlanguage","lang") == 0then
            pc
.setf("mlanguage","lang",line)
        else
            return
        
end
    
elseif(line == "7"then
        
if(pc.getf("mlanguage","lang") == 0then
            pc
.setf("mlanguage","lang",line)
        else
            return
        
end
    end
end

function pc.get_lang()
    
local file,err io.open("locale/english/language/"..pc.get_name()..".txt","rb")
    if(
errthen
        
return -2
    end
    
for line in file:lines() do
        return 
line
    end
    
if(line == "1"then
        
return "en"
    
elseif(line == "2"then
        
return "tr"
    
elseif(line == "3"then
        
return "kr"
    
elseif(line == "4"then
        
return "cn"
    
elseif(line == "5"then
        
return "ro"
    
elseif(line == "6"then
        
return "fr"
    
elseif(line == "7"then
        
return "de"
    
else
        return 
false
    end
end 
- Step 1 : you're log in ftp and go to /usr/home/game/share/locale/????/ and create a folder. folder name is language.

- Step 2 : Just reload q

Mfg HaveBeen™
HaveBeen™ is offline  
Thanks
30 Users
Old 04/24/2013, 17:31   #2
 
.Despero™'s Avatar
 
elite*gold: 75
Join Date: Mar 2012
Posts: 2,655
Received Thanks: 742
nice thanks
.Despero™ is offline  
Thanks
1 User
Old 04/24/2013, 17:40   #3
 
.RazerX's Avatar
 
elite*gold: 0
Join Date: Mar 2013
Posts: 188
Received Thanks: 149
Awesome... I Had Been Waiting For The Second Version!
.RazerX is offline  
Old 04/24/2013, 19:04   #4
 
crusa2's Avatar
 
elite*gold: 0
Join Date: Dec 2011
Posts: 55
Received Thanks: 53
If you change you name in-game the quest won't works. Use VID.
crusa2 is offline  
Old 04/24/2013, 20:01   #5
 
elite*gold: 0
Join Date: Apr 2012
Posts: 89
Received Thanks: 25
Quote:
Originally Posted by crusa2 View Post
If you change you name in-game the quest won't works. Use VID.
xxmehmetcc is offline  
Old 04/26/2013, 16:53   #6
 
elite*gold: 0
Join Date: Mar 2013
Posts: 154
Received Thanks: 506
Quote:
Originally Posted by crusa2 View Post
If you change you name in-game the quest won't works. Use VID.
don't need to

Quote:
Originally Posted by xxmehmetcc View Post
wtf
HaveBeen™ is offline  
Thanks
1 User
Old 04/26/2013, 17:03   #7
 
.tehSource's Avatar
 
elite*gold: 0
Join Date: Mar 2013
Posts: 43
Received Thanks: 191
Really nice work mate

Eventually i'll use that on my next server project

Best Regards

theSource
.tehSource is offline  
Thanks
1 User
Old 04/26/2013, 22:00   #8
 
thehero09's Avatar
 
elite*gold: 0
Join Date: Jun 2012
Posts: 125
Received Thanks: 13
ßeßeĞiM Benim. Süpersin kanka

an excellent working

really
thehero09 is offline  
Thanks
1 User
Old 04/26/2013, 22:05   #9
 
sema1995's Avatar
 
elite*gold: 0
Join Date: May 2011
Posts: 254
Received Thanks: 68
Function 100% very niceeee
sema1995 is offline  
Thanks
1 User
Old 04/26/2013, 23:53   #10
 
MarcosCC's Avatar
 
elite*gold: 0
Join Date: May 2011
Posts: 600
Received Thanks: 765
Its easy create in quest like blacksmith,teleports and some small quests...but how do in example guild_manage.quest ...when i add it show me in germany,turkey and english when i click in guard...can someone add this function in my quest to work??? also how adapt locale_big5.lua for all language?? thx
MarcosCC is offline  
Old 04/27/2013, 00:04   #11
 
-TÜRK-'s Avatar
 
elite*gold: 0
Join Date: Jan 2010
Posts: 328
Received Thanks: 434
thanks dude.
-TÜRK- is offline  
Thanks
1 User
Old 04/27/2013, 00:21   #12
 
sema1995's Avatar
 
elite*gold: 0
Join Date: May 2011
Posts: 254
Received Thanks: 68
Quote:
Originally Posted by MarcosCC View Post
Its easy create in quest like blacksmith,teleports and some small quests...but how do in example guild_manage.quest ...when i add it show me in germany,turkey and english when i click in guard...can someone add this function in my quest to work??? also how adapt locale_big5.lua for all language?? thx
This is the problem , you not can use locale_big5.lua in 2 languages and locale.lua only in 1 language , this system is only for quest ^^
sema1995 is offline  
Thanks
1 User
Old 04/27/2013, 07:12   #13
 
elite*gold: 0
Join Date: Mar 2013
Posts: 154
Received Thanks: 506
Quote:
Originally Posted by MarcosCC View Post
Its easy create in quest like blacksmith,teleports and some small quests...but how do in example guild_manage.quest ...when i add it show me in germany,turkey and english when i click in guard...can someone add this function in my quest to work??? also how adapt locale_big5.lua for all language?? thx




Step 1.

For Example ;

PHP Code:
locale.yes "Evet" => Turkish 
You can do it this way.

PHP Code:
locale.yes = {
[
"English"] = "Yes",
[
"Germany"] = "Ja",
[
"Turkish"] = "Evet",

Sample quest ;

PHP Code:
quest example begin
    state start begin
        when 20354.chat
."Hi" begin
            
if(GetLanguage(pc.get_name()) == "Turkish"then
                say
("Kabul ediyor musun? ")
                
say("")
                
local s select(locale.yes[GetLanguage(pc.get_name())],locale.no[GetLanguage(pc.get_name())])
            elseif(
GetLanguage(pc.get_name()) == "English"then
                say
("Do you agree? ")
                
say("")
                
local s select(locale.yes[GetLanguage(pc.get_name())],locale.no[GetLanguage(pc.get_name())])                
            elseif(
GetLanguage(pc.get_name()) == "Germany"then
                say
("Stimmen Sie zu? ")
                
say("")
                
local s select(locale.yes[GetLanguage(pc.get_name())],locale.no[GetLanguage(pc.get_name())])        
            
end
        end
    end
end 
Mfg HaveBeen™



HaveBeen™ is offline  
Thanks
2 Users
Old 04/27/2013, 11:59   #14
 
MarcosCC's Avatar
 
elite*gold: 0
Join Date: May 2011
Posts: 600
Received Thanks: 765
Quote:
Originally Posted by HaveBeen™ View Post




Step 1.

For Example ;

PHP Code:
locale.yes "Evet" => Turkish 
You can do it this way.

PHP Code:
locale.yes = {
[
"English"] = "Yes",
[
"Germany"] = "Ja",
[
"Turkish"] = "Evet",

Sample quest ;

PHP Code:
quest example begin
    state start begin
        when 20354.chat
."Hi" begin
            
if(GetLanguage(pc.get_name()) == "Turkish"then
                say
("Kabul ediyor musun? ")
                
say("")
                
local s select(locale.yes[GetLanguage(pc.get_name())],locale.no[GetLanguage(pc.get_name())])
            elseif(
GetLanguage(pc.get_name()) == "English"then
                say
("Do you agree? ")
                
say("")
                
local s select(locale.yes[GetLanguage(pc.get_name())],locale.no[GetLanguage(pc.get_name())])                
            elseif(
GetLanguage(pc.get_name()) == "Germany"then
                say
("Stimmen Sie zu? ")
                
say("")
                
local s select(locale.yes[GetLanguage(pc.get_name())],locale.no[GetLanguage(pc.get_name())])        
            
end
        end
    end
end 
Mfg HaveBeen™



thx you mate
MarcosCC is offline  
Thanks
1 User
Old 05/01/2013, 18:54   #15
 
elite*gold: 0
Join Date: Mar 2013
Posts: 154
Received Thanks: 506
#push ^.^
HaveBeen™ is offline  
Thanks
1 User
Closed Thread

Tags
havebeen, language, multi, multi language


Similar Threads Similar Threads
[BETA]Multi-Language System
04/21/2013 - Metin2 PServer Guides & Strategies - 26 Replies
Hi people elitepvpers Warning !. Turkish Turks isn't always the same but xxmehmetcc is noob :pimp: because understands everything wrong. So it doesn't deserve anything!. I have no problem with other turks friends. To sysjo this topic because You wanted very much to the system Quest file :
Multi-Language System
02/13/2013 - Metin2 Private Server - 2 Replies
Hi there is my new system^^ Multi-Language System by ZeroMentu - YouTube Have a nice day
Multi Pet System ?
01/30/2013 - Metin2 Private Server - 3 Replies
Gibt es eine quest für das Multi Pet System wenn nein könnte es jemand questen wäre echt nice hier das video wie es aussieht. Multi Pet System - YouTube



All times are GMT +1. The time now is 10:46.


Powered by vBulletin®
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2026 elitepvpers All Rights Reserved.