Untitled

 avatar
unknown
plain_text
a year ago
2.5 kB
6
Indexable
using System.Collections.Generic;

public class LanguageConverter
{
    private Dictionary<char, char> englishToArabic;
    private Dictionary<char, char> arabicToEnglish;

    public LanguageConverter()
    {
        // Initialize the dictionaries
        englishToArabic = new Dictionary<char, char>
        {
            {'A', 'ا'}, {'B', 'ب'}, {'C', 'ج'}, {'D', 'د'}, {'E', 'ه'}, 
            {'F', 'ف'}, {'G', 'غ'}, {'H', 'ح'}, {'I', 'ى'}, {'J', 'ج'}, 
            {'K', 'ك'}, {'L', 'ل'}, {'M', 'م'}, {'N', 'ن'}, {'O', 'و'}, 
            {'P', 'پ'}, {'Q', 'ق'}, {'R', 'ر'}, {'S', 'س'}, {'T', 'ت'}, 
            {'U', 'و'}, {'V', 'ڤ'}, {'W', 'و'}, {'X', 'خ'}, {'Y', 'ي'}, 
            {'Z', 'ز'},
            {'a', 'ا'}, {'b', 'ب'}, {'c', 'ج'}, {'d', 'د'}, {'e', 'ه'}, 
            {'f', 'ف'}, {'g', 'غ'}, {'h', 'ح'}, {'i', 'ى'}, {'j', 'ج'}, 
            {'k', 'ك'}, {'l', 'ل'}, {'m', 'م'}, {'n', 'ن'}, {'o', 'و'}, 
            {'p', 'پ'}, {'q', 'ق'}, {'r', 'ر'}, {'s', 'س'}, {'t', 'ت'}, 
            {'u', 'و'}, {'v', 'ڤ'}, {'w', 'و'}, {'x', 'خ'}, {'y', 'ي'}, 
            {'z', 'ز'},
            {'1', '١'}, {'2', '٢'}, {'3', '٣'}, {'4', '٤'}, {'5', '٥'}, 
            {'6', '٦'}, {'7', '٧'}, {'8', '٨'}, {'9', '٩'}, {'0', '٠'}
        };

        arabicToEnglish = new Dictionary<char, char>();

        // Populate the arabicToEnglish dictionary
        foreach (var kvp in englishToArabic)
        {
            arabicToEnglish[kvp.Value] = kvp.Key;
        }
    }

    public string ConvertEnglishToArabic(string input)
    {
        char[] output = new char[input.Length];
        for (int i = 0; i < input.Length; i++)
        {
            if (englishToArabic.TryGetValue(input[i], out char arabicChar))
            {
                output[i] = arabicChar;
            }
            else
            {
                output[i] = input[i]; // Keep the original character if no mapping is found
            }
        }
        return new string(output);
    }

    public string ConvertArabicToEnglish(string input)
    {
        char[] output = new char[input.Length];
        for (int i = 0; i < input.Length; i++)
        {
            if (arabicToEnglish.TryGetValue(input[i], out char englishChar))
            {
                output[i] = englishChar;
            }
            else
            {
                output[i] = input[i]; // Keep the original character if no mapping is found
            }
        }
        return new string(output);
    }
}
Editor is loading...
Leave a Comment