Ok,
عندي لك طريقة كويسة بالجداول اسويها في سكربتاتي تسوي ملف جديد وتحط فية اللغات اللي تبيها وتسوي اللغات في كمبو اقصد اسماء اللغات و الجدول تحط فية اسم اللغة text
الكلام اللي جواتةة ذذ وشوف الكود يمكن تفهم شيء :
هذا ملف اللغات :
Language = {
["Arabic|العربية"] = {
[System.wnd] = ".:: [ نظام انشاء ماركر المركبات ] ::.",
[GUIEditor.label[1]] = "مرحبا بك في نظام انشاء المركبات في الماركر (=",
[GUIEditor.label[2]] = "الاحداثيات :",
[GUIEditor.label[6]] = "اللغة :",
[GUIEditor.label[7]] = "نظام انشاء المركبات الاصدار الثاني",
[GUIEditor.button[1]] = "وضع الاحداثيات",
[GUIEditor.button[2]] = "لون الماركر",
[GUIEditor.button[3]] = "انشاء الماركر",
},
["English"] = {
[System.wnd] = ".:: [ Vehicle Marker Creator System ] ::.",
[GUIEditor.label[1]] = "Welcome To Vehicle Marker System (=",
[GUIEditor.label[2]] = "Position :",
[GUIEditor.label[6]] = "Language :",
[GUIEditor.label[7]] = "Vehicle Marker Creator System v.2",
[GUIEditor.button[1]] = "Get Position",
[GUIEditor.button[2]] = "Set Marker Color",
[GUIEditor.button[3]] = "Create Vehicle Marker",
},
["Italiano"] = {
[System.wnd] = ". :: [Vehicle sistema Marker Creator] ::.",
[GUIEditor.label[1]] = "benvenuto a veicolo marcatore sistema (=",
[GUIEditor.label[2]] = "posizione :",
[GUIEditor.label[6]] = "lingua :",
[GUIEditor.label[7]] = "Veicolo Creator sistema Marker v.2",
[GUIEditor.button[1]] = "Prendi posizione",
[GUIEditor.button[2]] = "Imposta colore Marker",
[GUIEditor.button[3]] = "Crea Marker veicolo",
},
["Français"] = {
[System.wnd] = ". :: [système embarqué Créateur Marker] ::.",
[GUIEditor.label[1]] = "Bienvenue sur le véhicule marqueur du système (=",
[GUIEditor.label[2]] = "position:",
[GUIEditor.label[6]] = "langue:",
[GUIEditor.label[7]] = "Système de véhicules de Marker Créateur v.2",
[GUIEditor.button[1]] = "obtenir la position",
[GUIEditor.button[2]] = "Set Marker Couleur",
[GUIEditor.button[3]] = "Créer véhicule Marker",
},
["Español"] = {
[System.wnd] = ". :: [sistema Creador Pizarra] ::.",
[GUIEditor.label[1]] = "Bienvenido al marcador de sistema del vehículo (=",
[GUIEditor.label[2]] = "Posición:",
[GUIEditor.label[6]] = "idioma:",
[GUIEditor.label[7]] = "Sistema de Vehículo Marker v.2 Creator",
[GUIEditor.button[1]] = "la obtención de la posición",
[GUIEditor.button[2]] = "Establecer el color de marcador",
[GUIEditor.button[3]] = "Crear vehículo Marker",
},
}
function getLangage( str )
if Language[ str ] then
return true;
end;
return false;
end;
function AddLanguage( str )
local lang = {};
if getLangage( str ) then
for k, v in pairs ( Language[ str ] ) do
if not isElement(k) then
outputDebugString ( "Error in Languge table" );
return {};
end;
table.insert(lang, {element = k,id = v});
end;
end;
return lang;
end;
ومثال على الكمبو :
itemTextCombobox = {"Arabic|العربية","English","Italiano","Français","Español"}
for i = 1, #itemTextCombobox do
guiComboBoxAddItem(GUIEditor.combobox[1], itemTextCombobox[i])
end
ضفت الكلام للكمبو الحين وش أسمة بنسوي اللغات يوم نختار من الكمبو اللغه المضافة اعلاهـ ^
addEventHandler ( "onClientGUIComboBoxAccepted", guiRoot,
function ( combo )
if ( combo == GUIEditor.combobox[1] ) then
local text = tostring ( guiComboBoxGetItemText ( combo, guiComboBoxGetSelected ( combo ) ) )
if ( text ) then
local lang = AddLanguage( text )
for k, v in pairs ( lang ) do
guiSetText( v.element, v.id)
end
end
end
end
)
نستخدم الحدث "onClientGUIComboBoxAccepted"
يوم تختار الكمبو ( :
نجيب الكمبو المختار والكلام حقة
الحين يرجع للوظيفة اللي بملف اللغات :
local lang = AddLanguage( text )
ويجيب الكلام من الجدول حق lang ={}
for k, v in pairs ( lang ) do
guiSetText( v.element, v.id)
هذا قصدهـ تقريبا #
==========================================================
خلنا نقول مثلا بس تبي لغتين صح؟ نقدر نسويها بزر وأسهل لك من قروشتي اللي فوق ._.
شوف ططآل عممرك الكود هذا :
local EnglishData = {
{ Button[1],"Test" },
{ Button[2],"Welcome" },
{ ChangeLangBtn,"العربية" }
}
local ArabicData = {
{ Button[1],"بسم الله" },
{ Button[2],"السلام عليكم" },
{ ChangeLangBtn,"English" }
}
addEventHandler("onClientGUIClick",ChangeLangBtn,
function ( )
local Check = guiGetText(ChangeLangBtn)
if ( Check == "English" ) then
for _,v in ipairs ( EnglishData ) do
guiSetText( v[1],v[2] )
end
elseif ( Check == "العربية" ) then
for _,k in ipairs ( ArabicData ) do
guiSetText( k[1],k[2] )
end
end
end,false)
الجدول تقدر تضيف على كيفك الارقمنت الاول الزر الثاني اللغة مثلا انا مسوي ثنين عربي وانجليزي ومسوي يتحقق اذا كان زر تغيير اللغة كذا او كذا يسوي الجدول المطلوب
ChangeLangBtn = زر تغير اللغة
و الباقي مثل
Button[1] > أمثلة هذي عشان تعرف كيف ينتسوى
هذي طريقة مختصرهـ لـ زرين ( :
أتمنى أني أفدتك بـ شيء #