Jump to content

ArabicSupport.dll issue


Recommended Posts

I am facing a problem using ar in .po

"Project-Id-Version: ArabicONI\n"
"POT-Creation-Date: \n"
"PO-Revision-Date: \n"
"Last-Translator: \n"
"Language-Team: Dragonarab\n"
"Language: ar\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Application: Oxygen Not IncludedPOT Version: 2.0\n"
"X-Generator: Poedit 3.4.2\n"
"X-Poedit-SourceCharset: UTF-8\n"

all that related to ArabicSupport.dll file need adjustment please

#region Assembly ArabicSupport, Version=1.0.5608.27766, Culture=neutral, PublicKeyToken=null
// D:\Program Files (x86)\Steam\steamapps\common\OxygenNotIncluded\OxygenNotIncluded_Data\Managed\ArabicSupport.dll
// Decompiled with ICSharpCode.Decompiler 8.1.1.7464
#endregion

using System;

namespace ArabicSupport;

public class ArabicFixer
{
    public static string Fix(string str)
    {
        return Fix(str, showTashkeel: false, useHinduNumbers: true);
    }

    public static string Fix(string str, bool rtl)
    {
        if (rtl)
        {
            return Fix(str);
        }

        string[] array = str.Split(' ');
        string text = "";
        string text2 = "";
        string[] array2 = array;
        foreach (string text3 in array2)
        {
            if (char.IsLower(text3.ToLower()[text3.Length / 2]))
            {
                text = text + Fix(text2) + text3 + " ";
                text2 = "";
            }
            else
            {
                text2 = text2 + text3 + " ";
            }
        }

        if (text2 != "")
        {
            text += Fix(text2);
        }

        return text;
    }

    public static string Fix(string str, bool showTashkeel, bool useHinduNumbers)
    {
        ArabicFixerTool.showTashkeel = showTashkeel;
        ArabicFixerTool.useHinduNumbers = useHinduNumbers;
        if (str.Contains("\n"))
        {
            str = str.Replace("\n", Environment.NewLine);
        }

        if (str.Contains(Environment.NewLine))
        {
            string[] separator = new string[1] { Environment.NewLine };
            string[] array = str.Split(separator, StringSplitOptions.None);
            if (array.Length == 0)
            {
                return ArabicFixerTool.FixLine(str);
            }

            if (array.Length == 1)
            {
                return ArabicFixerTool.FixLine(str);
            }

            string text = ArabicFixerTool.FixLine(array[0]);
            int i = 1;
            if (array.Length > 1)
            {
                for (; i < array.Length; i++)
                {
                    text = text + Environment.NewLine + ArabicFixerTool.FixLine(array);
                }
            }

            return text;
        }

        return ArabicFixerTool.FixLine(str);
    }
}
#if false // Decompilation log
'16' items in cache
------------------

 

its reverse the numbers and flowrate strings like kg/s become s/gk and number 2000 w become w 0002

any fix for that please ?

 

can you make a hot fix to not reverse anything between {}

{CurrentLoadAndColor}
{MaxLoad}

{ElementTypes}: {FlowRate}

 

 

Thanks

Link to comment
https://forums.kleientertainment.com/forums/topic/159741-arabicsupportdll-issue/
Share on other sites

Archived

This topic is now archived and is closed to further replies.

Please be aware that the content of this thread may be outdated and no longer applicable.

×
  • Create New...