.png)
..:: التركيب ::..
أولاً أفتح كلاس Enums.cs ,
تحت أول قوس ضيف ده ,
public enum Languages
{
English,
Arabic
} تحت أول قوس ضيف ده ,
#region Translate
public static void SaveTranslate()
{
var file = Environment.CurrentDirectory + "Translate.txt";
if (File.Exists(file))
File.Delete(file);
StreamWriter writer = new StreamWriter(File.Create(file), Encoding);
writer.AutoFlush = true;
foreach (var item in Kernel.Translateed)
writer.WriteLine(item.Key + "@@" + item.Value);
writer.Close();
}
public static void LoadTranslate()
{
var file = Environment.CurrentDirectory + "Translate.txt";
if (File.Exists(file))
{
string[] text = File.ReadAllLines(file, Encoding);
for (int x = 0; x < text.Length; x++)
{
string line = text[x];
string[] split = line.Split(new string[] { "@@" }, StringSplitOptions.RemoveEmptyEntries);
if (split.Length < 1)
continue;
var key = split[0];
if (split.Length < 2)
continue;
var value = split[1];
if (!Kernel.Translateed.ContainsKey(key))
Kernel.Translateed.Add(key, value);
}
}
}
public static string Translate(string Text, string To)
{
To = To.ToLower();
if (To == "en")
return Text;
if (Kernel.Translateed.ContainsKey(Text))
return Kernel.Translateed[Text];
try
{
// this is the service root uri for the Microsoft Translator service
var serviceRootUri =
new Uri("https://api.datamarket.azure.com/Bing/MicrosoftTranslator/v1/");
//https://datamarket.azure.com/dataset/bing/microsofttranslator
// this is the Account Key I generated for this app
var accountKey = "1hRpBB5F4MO+SHLN+8ruqylHhROLL1HTsx6Gz4ZNuCA=";
// the TranslatorContainer gives us access to the Microsoft Translator services
Microsoft.TranslatorContainer tc = new Microsoft.TranslatorContainer(serviceRootUri);
// Give the TranslatorContainer access to your subscription
tc.Credentials = new System.Net.NetworkCredential(accountKey, accountKey);
// Generate the query
var languagesForTranslationQuery = tc.GetLanguagesForTranslation();
// Call the query to get the results as an Array
var availableLanguages = languagesForTranslationQuery.Execute().ToArray();
// Generate the query
var translationQuery = tc.Translate(Text, To, null);
// Call the query and get the results as a List
var translationResults = translationQuery.Execute().ToList();
// Verify there was a result
if (translationResults.Count() <= 0)
{
return " ";
}
// In case there were multiple results, pick the first one
var translationResult = translationResults.First();
if (!Kernel.Translateed.ContainsKey(Text))
Kernel.Translateed.Add(Text, translationResult.Text);
return translationResult.Text;
}
catch
{
return Text;
}
}
#endregion قي نفس الكلاس قم ببحث عن ,
case "@save": وتحت أول قوس ضيف ,
SaveTranslate(); أفتح كلاس Kernal.cs ,
تحت أول قوس ضيف ,
public static SafeDictionary<string, string> Translateed = new SafeDictionary<string, string>(); أفتح كلاس Npcs.cs ,
قم ببحث عن ,
public void Text public void Text(string text, Languages lang = Languages.English)
{
text = Program.Translate(text, Client.LanguageToString());
{
// var clienttotrans = new LanguageServiceClient();
// var untrans = text;
// text = clienttotrans.Translate("6CE9C85A41571C050C379F60DA173D286384E0F2", untrans, "", "ar");
if (text.Length > 100)
{
if (text.Length > 980)
text = text.Substring(0, 980);
int myLength = text.Length;
while (myLength > 0)
{
int lastIndex = 100;
if (myLength < 100)
lastIndex = myLength;
string txt = text.Substring(0, lastIndex);
text = text.Substring(lastIndex, myLength - lastIndex);
myLength -= lastIndex;
Replies.Add(new NpcReply(NpcReply.Dialog, txt));
}
}
else
Replies.Add(new NpcReply(NpcReply.Dialog, text));
}
} وقم ببحث عن ,
public void Option public void Option(string text, byte id, Languages lang = Languages.English)
{
text = Program.Translate(text, Client.LanguageToString());
// if (Client.Language == lang)
{
// var clienttotrans = new LanguageServiceClient();
// var untrans = text;
// text = clienttotrans.Translate("6CE9C85A41571C050C379F60DA173D286384E0F2", untrans, "", "ar");
Replies.Add(new NpcReply(NpcReply.Option, text) { OptionID = id });
}
} public void Input public void Input(string text, byte id, byte maxLength, Languages lang = Languages.English)
{
text = Program.Translate(text, Client.LanguageToString());
//if (Client.Language == lang)
{
// var clienttotrans = new LanguageServiceClient();
// var untrans = text;
// text = clienttotrans.Translate("6CE9C85A41571C050C379F60DA173D286384E0F2", untrans, "", "ar");
Replies.Add(new NpcReply()
{
DontDisplay = true,
InputMaxLength = maxLength,
InteractType = NpcReply.Input,
OptionID = id,
Text = text
});
}
} ثم ننشئ كلاس جديد ويستحسن ان يكون في مكان الـ (Program , World , Npcs) ياريت تكونو فهمتم قصدي
ننشئ كلاس بأسم ,
TranslatorContainer.cs ونغير الأكواد الى جواها بالأكواد دي ,
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:4.0.30319.18449
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
// Notice: Use of the service proxies that accompany this notice is subject to
// the terms and conditions of the license agreement located at
// http://go.microsoft.com/fwlink/?LinkID=202740
// If you do not agree to these terms you may not use this content. namespace Microsoft {
using System;
using System.Collections.Generic;
using System.Data.Services.Client;
using System.Net;
using System.IO;
public partial class Translation
{
private String _Text;
public String Text
{
get
{
return this._Text;
}
set
{
this._Text = value;
}
}
}
public partial class Language
{
private String _Code;
public String Code
{
get
{
return this._Code;
}
set
{
this._Code = value;
}
}
}
public partial class DetectedLanguage
{
private String _Code;
public String Code
{
get
{
return this._Code;
}
set
{
this._Code = value;
}
}
}
public partial class TranslatorContainer : System.Data.Services.Client.DataServiceContext
{
public TranslatorContainer(Uri serviceRoot) :
base(serviceRoot)
{
}
/// <summary>
/// </summary>
/// <param name="Text">the text to translate Sample Values : hello</param>
/// <param name="To">the language code to translate the text into Sample Values : nl</param>
/// <param name="From">the language code of the translation text Sample Values : en</param>
public DataServiceQuery<Translation> Translate(String Text, String To, String From)
{
if ((Text == null))
{
throw new System.ArgumentNullException("Text", "Text value cannot be null");
}
if ((To == null))
{
throw new System.ArgumentNullException("To", "To value cannot be null");
}
DataServiceQuery<Translation> query;
query = base.CreateQuery<Translation>("Translate");
if ((Text != null))
{
query = query.AddQueryOption("Text", string.Concat("\'", System.Uri.EscapeDataString(Text), "\'"));
}
if ((To != null))
{
query = query.AddQueryOption("To", string.Concat("\'", System.Uri.EscapeDataString(To), "\'"));
}
if ((From != null))
{
query = query.AddQueryOption("From", string.Concat("\'", System.Uri.EscapeDataString(From), "\'"));
}
return query;
}
/// <summary>
/// </summary>
public DataServiceQuery<Language> GetLanguagesForTranslation()
{
DataServiceQuery<Language> query;
query = base.CreateQuery<Language>("GetLanguagesForTranslation");
return query;
}
/// <summary>
/// </summary>
/// <param name="Text">the text whose language is to be identified Sample Values : hello</param>
public DataServiceQuery<DetectedLanguage> Detect(String Text)
{
if ((Text == null))
{
throw new System.ArgumentNullException("Text", "Text value cannot be null");
}
DataServiceQuery<DetectedLanguage> query;
query = base.CreateQuery<DetectedLanguage>("Detect");
if ((Text != null))
{
query = query.AddQueryOption("Text", string.Concat("\'", System.Uri.EscapeDataString(Text), "\'"));
}
return query;
}
}
} ثم أفتح ,
GameState GameClient وتحت أي Void , ضيف دول ,
public void GetLanguages(string language)
{
switch (language)
{
case "En":
Language = Languages.English;
break;
case "Ar":
Language = Languages.Arabic;
break;
}
}
public string LanguageToString()
{
switch (Language)
{
case Languages.English:
return "en";
case Languages.Arabic:
return "ar";
}
return "en";
}
public Languages Language = Languages.English; أفتح كلاس Message.cs ,
أبحث عن ,
public Message public uint MessageUID1 = 0; بمعنى متمسحش الكود ,
وتبدل الى مسحته بـ ,
public Message(string _Message, uint _ChatType, Game.Languages Language = Game.Languages.English)
{
this.Mesh = 0;
this.__Message = _Message;
this._To = "ALL";
this._From = "SYSTEM";
this.Color = Color.Red;
this.ChatType = _ChatType;
}
public Message(string _Message, Color _Color, uint _ChatType, Game.Languages Language = Game.Languages.English)
{
this.Mesh = 0;
this.__Message = _Message;
this._To = "ALL";
this._From = "SYSTEM";
this.Color = _Color;
this.ChatType = _ChatType;
}
public Message(string _Message, string __To, Color _Color, uint _ChatType, Game.Languages Language = Game.Languages.English)
{
this.Mesh = 0;
this.__Message = _Message;
this._To = __To;
this._From = "SYSTEM";
this.Color = _Color;
this.ChatType = _ChatType;
}
public Message(string _Message, Client.GameState Client, Color _Color, uint _ChatType, Game.Languages Language = Game.Languages.English)
{
this.Mesh = 0;
this.__Message = _Message;
this._To = Client.Entity.Name;
this.MessageUID1 = Client.Entity.UID;
this._From = "SYSTEM";
this.Color = _Color;
this.ChatType = _ChatType;
}
public Message(string _Message, string __To, string __From, Color _Color, uint _ChatType, Game.Languages Language = Game.Languages.English)
{
this.Mesh = 0;
this.__Message = _Message;
this._To = __To;
this._From = __From;
this.Color = _Color;
this.ChatType = _ChatType;
}
public Message()
{
this.Mesh = 0;
}
public Game.Languages Language = Game.Languages.English; وقم نقل هذه الملفات إلى السورس ,
التحميل #1= http://up.top4top.net/downloadf-top4...513e1-rar.html
التحميل #2 = [IMG]http://up.top4top.net/downloadf-top4top_8f55cc53121-rar.html[/url]
ثم إذهب إلى , References , تحت Properties , عند لوحة البروجيكت على يمينك ,
صورة للتوضيح ,
[url]http://cdn.top4top.net/i_61ae30aa771.png[/IMG]
إضغط كلك يمين عليها ثم , Add ,
ثم نختار هذا الأختيار ,
System.Data.Services.Client صورة للتوضيح #2 ,
ثم Ok ,
أن بي سي تغيير الغة ,
#region Translation
case 9874:// make navicat by your self
{
switch (npcRequest.OptionID)
{
case 0:
{
dialog.Text("Please Choose Your Language ! [Kiro]");
dialog.Option("En", 1);
dialog.Option("Ar", 2);
dialog.Option("Not Now...", byte.MaxValue);
dialog.Send();
break;
}
case 1:
{
client.Language = Enums.Languages.English;
break;
}
case 2:
{
client.Language = Enums.Languages.Arabic;
break;
}
}
break;
}
#endregion public static ProjectX_V3_Lib.ScriptEngine.ScriptEngine ScriptEngine; ..:: شرح السيستم ::..
هوا يقوم بتعريب تلقائي من موقع bing , ممكن يطول الامر لما تيجي تكلم اي ان بي سي بس بعد كده مش هيحصل معاك تعليق لانه هيتحفظ بعد كده , ولما تكون عاوز تغير اللغة في أي وقت تروح للانبسي الى ادتهولك وتغير اللغة منه على مزاجك ..
..:: حل الأيرورات التي كانت تظهر عن بعض الناس ::..
أول مشكلة في Console الموجود في , ScripDatabase ,
صورة الايرور ,
الحل ,
مسح كلمة CoServer ,
وسيتم حل الايرور ,
ثاني مشكلة في الأنبسي تغيير اللغة ,
صورة للأيرور ,
الحل ,
بدل ,
Enums.Languages Languages في أمان الله , وفي حفظ الرحمن .
هل أعجبك الموضوع؟! ↓

حتي الموضوع مسروق والينكات محذوفه ههههههههههه
ردحذف