السلام عليكم,,,
أهلا بالجميع وأسف علي قلة خبرتي في هذا الامر
سؤالي هو:
هناك شات أحد الالعاب يقبل الاضافات Plugins وهي عبارة عن ملف CS File.
وتظهر الحروف العربية بشات اللعبة منفصلة وتبدأ من اليسار الي اليمين
مثال/ كلمة "السلام" تظهر:
" م ا ل س ل ا "
بعد إضافة كود قام بعكس النص من اليمين الي اليسار ( صحيح ان احرف اللغة الانجليزيه اصبحت معكوسه بالشات وتبدا من اليمين الي اليسار لكن هذا لايهم)
بعد إضافة كود تظهر كلمة "السلام" :
" ا ل س ل ا م"
هل يمكن التعديل علي الكود لربط الاحرف العربية ببعضها ام ان الامر يحتاج الي الكثير من العمل؟ ارجو المساعدة
using System;
namespace test.Plugins
{
[Info("RightToLeft", "test", "0.1.1", ResourceId = 2313)]
[Description("Reverses chat text to for RTL (right to left) support")]
class RightToLeft : CovalencePlugin
{
object OnUserChat(IPlayer player, string message)
{
var color = player.IsAdmin ? "#aaff55" : "#55aaff";
message = covalence.FormatText($"[{color}]{player.Name}[/#]") + ": " + RtlText(message);
#if Chat
ConsoleNetwork.BroadcastToAllClients("chat.add", player.Id, message);
#else
server.Broadcast(message);
#endif
return true;
}
string RtlText(string text)
{
var characters = text.ToCharArray();
Array.Reverse(characters);
string reversed = null;
for (var i = 0; i <= characters.Length - 1; i++) reversed += characters.GetValue(i);
return reversed ?? text;
}
}
}