Example #1
0
    public void Read_Test()
    {
        var i18ntext = new I18nTextType();

        i18ntext.Langs.TryAdd("en", new I18nTextTable(new Dictionary <string, string>
        {
            { "Greeting", "Hello, World!" },
            { "Home", "Home" }
        }));
        i18ntext.Langs.TryAdd("fr", new I18nTextTable(new Dictionary <string, string>
        {
            { "Greeting", "Bonjour le monde!" }
        }));

        using var stream = new I18nTextTableStream(i18ntext);
        var buff     = new List <byte>();
        var readBuff = new byte[3];

        for (; ;)
        {
            var cbRead = stream.Read(readBuff, 0, 3);
            if (cbRead == 0)
            {
                break;
            }
            buff.AddRange(readBuff.Take(cbRead));
        }

        Encoding.UTF8.GetString(buff.ToArray()).Is("enGreetingHello, World!HomeHomefrGreetingBonjour le monde!");
    }
Example #2
0
        internal static string GenerateHash(I18nTextType i18nText)
        {
            using var hash   = SHA256.Create();
            using var stream = new I18nTextTableStream(i18nText);
            var hashBytes = hash.ComputeHash(stream);

            return(ToBase36(hashBytes));
        }
Example #3
0
    public void GenerateHash_Test()
    {
        /*
         * enGreetingHello, World!HomeHomefrGreetingBonjour le monde!
         * sha256 = 660449602e0f75ed3002e1ef5e83f2e89a35b71de12aa0f569f8602993ec5915
         * base36 = ua6i0t8k6n
         */
        var i18ntext = new I18nTextType();

        i18ntext.Langs.TryAdd("en", new I18nTextTable(new Dictionary <string, string>
        {
            { "Greeting", "Hello, World!" },
            { "Home", "Home" }
        }));
        i18ntext.Langs.TryAdd("fr", new I18nTextTable(new Dictionary <string, string>
        {
            { "Greeting", "Bonjour le monde!" }
        }));

        var hash = I18nTextCompiler.GenerateHash(i18ntext);

        hash.Is("ua6i0t8k6n");
    }