Exemplo n.º 1
0
    public static void SetLanguage(LanguageId id)
    {
        switch (id)
        {
        case LanguageId.SystemDefault:
            Current = SystemDefault;
            CurrentIsSystemDefault = true;
            break;

        case LanguageId.English:
            Current = new EnglishLanguage();
            CurrentIsSystemDefault = false;
            break;

        case LanguageId.Spanish:
            // FIXME
            Current = new EnglishLanguage();
            CurrentIsSystemDefault = false;
            break;

        case LanguageId.Russian:
            // FIXME
            Current = new EnglishLanguage();
            CurrentIsSystemDefault = false;
            break;

        default:
            Debug.LogError("Invalid language id \"{id}\".");
            break;
        }
    }
Exemplo n.º 2
0
        /// <summary>
        /// Gets a NPC by name
        /// </summary>
        /// <param name="name">Name</param>
        /// <returns>List of matching NPCs</returns>
        public List <NPC> GetNPCByName(string name)
        {
            var    found     = new List <NPC>();
            NPC    npc       = new NPC();
            string nameLower = name.ToLowerInvariant();

            for (int i = -17; i < Main.maxNPCTypes; i++)
            {
                string englishName = EnglishLanguage.GetNpcNameById(i).ToLowerInvariant();

                npc.SetDefaults(i);
                if (npc.FullName.ToLowerInvariant() == nameLower || npc.TypeName.ToLowerInvariant() == nameLower ||
                    nameLower == englishName)
                {
                    return new List <NPC> {
                               npc
                    }
                }
                ;
                if (npc.FullName.ToLowerInvariant().StartsWith(nameLower) || npc.TypeName.ToLowerInvariant().StartsWith(nameLower) ||
                    englishName?.StartsWith(nameLower) == true)
                {
                    found.Add((NPC)npc.Clone());
                }
            }
            return(found);
        }
Exemplo n.º 3
0
        /// <summary>
        /// Get the current language of the application
        /// </summary>
        /// <returns>Current language</returns>
        public async Task <LanguageJson> GetCurrentLanguageAsync()
        {
            LanguageJson currentLanguage = null;
            var          watch           = Stopwatch.StartNew();

            await GetHistoryAsync();

            var language = User.Language;

            if (language != null)
            {
                switch (language.Culture)
                {
                case "fr":
                    currentLanguage = new FrenchLanguage();
                    break;

                default:
                    currentLanguage = new EnglishLanguage();
                    break;
                }
            }

            watch.Stop();
            var elapsedMs = watch.ElapsedMilliseconds;

            Logger.Debug(
                $"GetCurrentLanguageAsync in {elapsedMs} milliseconds.");

            return(currentLanguage);
        }
        public static ILanguage GetLanguage()
        {
            ILanguage result = new EnglishLanguage();

            try
            {
                var         hkcu           = Registry.CurrentUser;
                RegistryKey settingsBranch = hkcu.OpenSubKey("Software\\YarcheTextEditor", true);
                if (settingsBranch == null)
                {
                    hkcu.CreateSubKey("Software\\YarcheTextEditor");
                    settingsBranch = hkcu.OpenSubKey("Software\\YarcheTextEditor", true);
                }

                var languageCode = settingsBranch.GetValue("Language", "en").ToString();

                settingsBranch?.Close();
                hkcu?.Close();

                result = LanguageMethods.GetLanguage(languageCode);
            }
            catch (Exception ex)
            {
                Log.Instance.Error(1, ex.Message, "RegistryMethods");
            }

            return(result);
        }
Exemplo n.º 5
0
        /// <summary>
        /// Get the current language of the application
        /// </summary>
        /// <returns>Current language</returns>
        public Language GetCurrentLanguage()
        {
            Language currentLanguage;
            var      language = User.Language;

            if (language != null)
            {
                switch (language.Culture)
                {
                case "fr":
                    currentLanguage = new FrenchLanguage();
                    break;

                case "es":
                    currentLanguage = new SpanishLanguage();
                    break;

                default:
                    currentLanguage = new EnglishLanguage();
                    break;
                }
            }
            else
            {
                currentLanguage = new EnglishLanguage();
            }

            return(currentLanguage);
        }
Exemplo n.º 6
0
        private void ItemDropped(GetDataHandlers.ItemDropEventArgs args)
        {
            //Debug.Print("Dropped Item!");

            var itemIdName = EnglishLanguage.GetItemNameById(args.Type);

            if (_itemName?.Equals(itemIdName, StringComparison.OrdinalIgnoreCase) ?? true)
            {
                var index = Main.maxItems;
                for (var i = 0; i < Main.maxItems; ++i)
                {
                    if (!Main.item[i].active && Main.itemLockoutTime[i] == 0)
                    {
                        index = i;
                        break;
                    }
                }
                if (index == Main.maxItems)
                {
                    var minTimeDiff = 0;
                    for (var i = 0; i < Main.maxItems; ++i)
                    {
                        var timeDiff = Main.item[i].spawnTime - Main.itemLockoutTime[i];
                        if (timeDiff > minTimeDiff)
                        {
                            minTimeDiff = timeDiff;
                            index       = i;
                        }
                    }
                }
                _blacklistedIndexes.Add(index);
            }
        }
Exemplo n.º 7
0
        public void TweetTokenize()
        {
            var Result = new EnglishLanguage(new IEnglishTokenFinder[] { new Word(), new Whitespace(), new Symbol(), new Ellipsis(), new Email(), new Emoji(), new HashTag(), new OtherTokenFinder(), new URL(), new Username() }).Tokenize(new TokenizableStream <char>("@SaintsRow: Check out new the trailer for GAT V http://youtu.be/FSX7niJVlNQ  #GATV".ToCharArray()));

            Assert.Equal(23, Result.Length);

            Assert.Equal(9, Result[0].EndPosition);
            Assert.Equal(0, Result[0].StartPosition);
            Assert.Equal(TokenType.Username, Result[0].TokenType);
            Assert.Equal("@SaintsRow", Result[0].Value);

            Assert.Equal(10, Result[1].EndPosition);
            Assert.Equal(10, Result[1].StartPosition);
            Assert.Equal(TokenType.Colon, Result[1].TokenType);
            Assert.Equal(":", Result[1].Value);

            Assert.Equal(74, Result[19].EndPosition);
            Assert.Equal(48, Result[19].StartPosition);
            Assert.Equal(TokenType.Url, Result[19].TokenType);
            Assert.Equal("http://youtu.be/FSX7niJVlNQ", Result[19].Value);

            Assert.Equal(81, Result[21].EndPosition);
            Assert.Equal(77, Result[21].StartPosition);
            Assert.Equal(TokenType.HashTag, Result[21].TokenType);
            Assert.Equal("#GATV", Result[21].Value);
        }
Exemplo n.º 8
0
        /// <summary>
        /// Gets a list of prefixes by name
        /// </summary>
        /// <param name="name">Name</param>
        /// <returns>List of prefix IDs</returns>
        public List <int> GetPrefixByName(string name)
        {
            Item item = new Item();

            item.SetDefaults(0);
            string lowerName = name.ToLowerInvariant();
            var    found     = new List <int>();

            for (int i = FirstItemPrefix; i <= LastItemPrefix; i++)
            {
                item.prefix = (byte)i;
                string prefixName  = item.AffixName().Trim().ToLowerInvariant();
                string englishName = EnglishLanguage.GetPrefixById(i).ToLowerInvariant();
                if (prefixName == lowerName || englishName == lowerName)
                {
                    return new List <int>()
                           {
                               i
                           }
                }
                ;
                else if (prefixName.StartsWith(lowerName) || englishName?.StartsWith(lowerName) == true)                 // Partial match
                {
                    found.Add(i);
                }
            }
            return(found);
        }
Exemplo n.º 9
0
        public void Detokenize()
        {
            var Tokenizer = new EnglishLanguage(new IEnglishTokenFinder[] { new Word(), new Whitespace(), new Symbol() });
            var Result    = Tokenizer.Tokenize(new TokenizableStream <char>("This is a test.".ToCharArray()));

            Assert.Equal("This is a test.", Tokenizer.Detokenize(Result));
        }
Exemplo n.º 10
0
        public void MarkStopWords()
        {
            var Tokenizer  = new EnglishLanguage(new IEnglishTokenFinder[] { new Word(), new Whitespace(), new Symbol() });
            var TestObject = new StopWordsManager(new IStopWordsLanguage[] { new EnglishDefault() });
            var Result     = TestObject.MarkStopWords(Tokenizer.Tokenize(new TokenizableStream <char>("This is a test.".ToCharArray())), StopWordsLanguage.English).Where(x => !x.StopWord).ToArray();

            Assert.Equal("This   test.", Tokenizer.Detokenize(Result));
        }
Exemplo n.º 11
0
        private void OnItemDrop(object sender, GetDataHandlers.ItemDropEventArgs args)
        {
            var player = args.Player;

            if (args.Handled)
            {
                return;
            }

            if (args.ID == Main.maxItems)
            {
                var itemIdName = EnglishLanguage.GetItemNameById(args.Type);
                if (_itemName?.Equals(itemIdName, StringComparison.OrdinalIgnoreCase) ?? true)
                {
                    var index = Main.maxItems;
                    for (var i = 0; i < Main.maxItems; ++i)
                    {
                        if (!Main.item[i].active && Main.itemLockoutTime[i] == 0)
                        {
                            index = i;
                            break;
                        }
                    }
                    if (index == Main.maxItems)
                    {
                        var minTimeDiff = 0;
                        for (var i = 0; i < Main.maxItems; ++i)
                        {
                            var timeDiff = Main.item[i].spawnTime - Main.itemLockoutTime[i];
                            if (timeDiff > minTimeDiff)
                            {
                                minTimeDiff = timeDiff;
                                index       = i;
                            }
                        }
                    }
                    _blacklistedIndexes.Add(index);
                }
            }
            else if (partyMembers.Any(p => p.IsValidMember && p.Player.Index == player.Index))
            {
                var index = args.ID;
                var item  = Main.item[index];
                if (_itemName?.Equals(item.Name, StringComparison.OrdinalIgnoreCase) ?? true)
                {
                    if (_blacklistedIndexes.Contains(index))
                    {
                        _blacklistedIndexes.Remove(index);
                    }
                    else
                    {
                        var difference = item.stack - args.Stacks;
                        _amount = Math.Max(0, _amount - difference);
                    }
                }
            }
        }
Exemplo n.º 12
0
        public void NormalizeTokens()
        {
            var Tokenizer  = new EnglishLanguage(new IEnglishTokenFinder[] { new Word(), new Whitespace(), new Symbol() });
            var TestObject = new DefaultNormalizer(new INormalizer[] { new ASCIIFolder(ObjectPool), new LowerCase() }, new ITextNormalizer[] { new HTMLToText(ObjectPool) });
            var Result     = TestObject.Normalize("Tësting out <p>this stuff</p>");
            var Tokens     = Tokenizer.Tokenize(new TokenizableStream <char>(Result.ToCharArray()));

            Tokens = TestObject.Normalize(Tokens);
            Assert.Equal("testing out this stuff ", Tokens.ToString(x => x.NormalizedValue, string.Empty));
        }
Exemplo n.º 13
0
        public void TokenizeEmptyString()
        {
            var Result = new EnglishLanguage(new IEnglishTokenFinder[] { new Word(), new Whitespace(), new Symbol() }).Tokenize(new TokenizableStream <char>("".ToCharArray()));

            Assert.Single(Result);

            Assert.Equal(0, Result[0].EndPosition);
            Assert.Equal(0, Result[0].StartPosition);
            Assert.Equal(TokenType.EOF, Result[0].TokenType);
            Assert.Equal(string.Empty, Result[0].Value);
        }
Exemplo n.º 14
0
 static GlobalSettings()
 {
     if (string.IsNullOrEmpty(Properties.Settings.Default.LocalizationFile) || !File.Exists(Properties.Settings.Default.LocalizationFile))
     {
         Language = new EnglishLanguage();
     }
     else
     {
         Language = new LocalizationLoader().LoadLanguage(Properties.Settings.Default.LocalizationFile);
     }
 }
Exemplo n.º 15
0
        public void IsMatch()
        {
            var Input    = new FileInfo("./Data/StemmerStart.txt").Read().Split('\n');
            var Expected = new FileInfo("./Data/StemmerExpected.txt").Read().Split('\n');
            var Stemmer  = new EnglishLanguage();

            for (int x = 0; x < Input.Length; ++x)
            {
                var Result = Stemmer.StemWords(new string[] { Input[x] })[0];
                Assert.Equal(Expected[x], Result);
            }
        }
 private static int?GetItemIdFromName(string name)
 {
     for (var i = 0; i < Main.maxItemTypes; ++i)
     {
         var itemName = EnglishLanguage.GetItemNameById(i);
         if (itemName?.Equals(name, StringComparison.OrdinalIgnoreCase) ?? false)
         {
             return(i);
         }
     }
     return(null);
 }
Exemplo n.º 17
0
 public static bool IsBannedItem(int ID, out bool Locally)
 {
     lock (Locker)
     {
         if (Locally = ItemBans.TryGetValue(ID, out bool banned))
         {
             return(banned);
         }
         string name = EnglishLanguage.GetItemNameById(ID);
         return(TShock.ItemBans.DataModel.ItemBans.Any(b => (b.Name == name)));
     }
 }
Exemplo n.º 18
0
        //id should really be called type -- ugh @ terraria
        static int?getNpcTypeFromNameImpl(string name)
        {
            for (var i = -65; i < Main.maxNPCTypes; ++i)
            {
                var npcName = EnglishLanguage.GetNpcNameById(i);
                if (npcName?.Equals(name, StringComparison.OrdinalIgnoreCase) ?? false)
                {
                    return(i);
                }
            }

            return(null);
        }
Exemplo n.º 19
0
        public void Tokenize()
        {
            var Result = new EnglishLanguage(new IEnglishTokenFinder[] { new Word(), new Whitespace(), new Symbol() }).Tokenize(new TokenizableStream <char>("This is a test.".ToCharArray()));

            Assert.Equal(9, Result.Length);

            Assert.Equal(3, Result[0].EndPosition);
            Assert.Equal(0, Result[0].StartPosition);
            Assert.Equal(TokenType.Word, Result[0].TokenType);
            Assert.Equal("This", Result[0].Value);

            Assert.Equal(4, Result[1].EndPosition);
            Assert.Equal(4, Result[1].StartPosition);
            Assert.Equal(TokenType.WhiteSpace, Result[1].TokenType);
            Assert.Equal(" ", Result[1].Value);

            Assert.Equal(6, Result[2].EndPosition);
            Assert.Equal(5, Result[2].StartPosition);
            Assert.Equal(TokenType.Word, Result[2].TokenType);
            Assert.Equal("is", Result[2].Value);

            Assert.Equal(7, Result[3].EndPosition);
            Assert.Equal(7, Result[3].StartPosition);
            Assert.Equal(TokenType.WhiteSpace, Result[3].TokenType);
            Assert.Equal(" ", Result[3].Value);

            Assert.Equal(8, Result[4].EndPosition);
            Assert.Equal(8, Result[4].StartPosition);
            Assert.Equal(TokenType.Word, Result[4].TokenType);
            Assert.Equal("a", Result[4].Value);

            Assert.Equal(9, Result[5].EndPosition);
            Assert.Equal(9, Result[5].StartPosition);
            Assert.Equal(TokenType.WhiteSpace, Result[5].TokenType);
            Assert.Equal(" ", Result[5].Value);

            Assert.Equal(13, Result[6].EndPosition);
            Assert.Equal(10, Result[6].StartPosition);
            Assert.Equal(TokenType.Word, Result[6].TokenType);
            Assert.Equal("test", Result[6].Value);

            Assert.Equal(14, Result[7].EndPosition);
            Assert.Equal(14, Result[7].StartPosition);
            Assert.Equal(TokenType.Period, Result[7].TokenType);
            Assert.Equal(".", Result[7].Value);

            Assert.Equal(15, Result[8].EndPosition);
            Assert.Equal(15, Result[8].StartPosition);
            Assert.Equal(TokenType.EOF, Result[8].TokenType);
            Assert.Equal(string.Empty, Result[8].Value);
        }
Exemplo n.º 20
0
 static NpcFunctions()
 {
     //generate dict for fast lookups of id's
     npcNameToId = new Dictionary <string, int>();
     for (var i = -65; i < Main.maxNPCTypes; ++i)
     {
         var npcName = EnglishLanguage.GetNpcNameById(i);
         if (npcName != null)
         {
             var lower = npcName.ToLower();
             npcNameToId.Add(lower, i);
         }
     }
 }
Exemplo n.º 21
0
        //this should probably be moved into Corruption...
        internal static string GetNPCName(object value)
        {
            if (value is string)
            {
                return(value as string);
            }
            else if (value is int)
            {
                var id   = (int)value;
                var name = EnglishLanguage.GetNpcNameById(id);                //think id should be renamed 'type'
                return(name);
            }

            return(null);
        }
Exemplo n.º 22
0
        /// <summary>
        /// Gets items by name
        /// </summary>
        /// <param name="name">name</param>
        /// <returns>List of Items</returns>
        public List <Item> GetItemByName(string name)
        {
            var    found        = new List <Item>();
            Item   item         = new Item();
            string nameLower    = name.ToLowerInvariant();
            var    checkEnglish = Language.ActiveCulture != GameCulture.FromCultureName(GameCulture.CultureName.English);

            for (int i = 1; i < Main.maxItemTypes; i++)
            {
                item.netDefaults(i);
                if (!String.IsNullOrWhiteSpace(item.Name))
                {
                    if (item.Name.ToLowerInvariant() == nameLower)
                    {
                        return new List <Item> {
                                   item
                        }
                    }
                    ;
                    if (item.Name.ToLowerInvariant().StartsWith(nameLower))
                    {
                        found.Add(item.Clone());
                    }
                }

                if (!checkEnglish)
                {
                    continue;
                }

                string englishName = EnglishLanguage.GetItemNameById(i).ToLowerInvariant();
                if (!String.IsNullOrEmpty(englishName))
                {
                    if (englishName == nameLower)
                    {
                        return new List <Item> {
                                   item
                        }
                    }
                    ;
                    if (englishName.StartsWith(nameLower))
                    {
                        found.Add(item.Clone());
                    }
                }
            }
            return(found);
        }
Exemplo n.º 23
0
 public void Give(Item item, TSPlayer player, int amount = 0, [ItemPrefix] int prefix = 0)
 {
     if (amount == 0 || amount > item.maxStack)
     {
         amount = item.maxStack;
     }
     if (player.GiveItemCheck(item.type, EnglishLanguage.GetItemNameById(item.type), amount, prefix))
     {
         Sender.SendSuccessMessage(string.Format("Gave {0} {1} {2}(s).", player.Name, amount, item.Name));
         player.SendSuccessMessage(string.Format("{0} gave you {1} {2}(s).", Sender.Name, amount, item.Name));
     }
     else
     {
         Fail("You cannot spawn banned items.");
     }
 }
Exemplo n.º 24
0
        public ILocalizedLanguage LoadLanguage(string filename, EnglishLanguage fallback)
        {
            if (_tagsItems == null || _tagsItems.Count == 0)
            {
                Load(filename);
            }
            var dataset = new Dictionary <string, string>(_tagsItems);

            if (_tagsIa != null)
            {
                dataset = dataset.Concat(_tagsIa).ToDictionary(m => m.Key, m => m.Value);
            }
            var language = new ThirdPartyLanguage(dataset, fallback);

            return(language);
        }
Exemplo n.º 25
0
        internal void OnChestItemChange(object sender, ChestItemEventArgs args)
        {
            Item item = new Item();

            item.netDefaults(args.Type);


            if (DataModel.ItemIsBanned(EnglishLanguage.GetItemNameById(item.type), args.Player))
            {
                SendCorrectiveMessage(args.Player, item.Name);
                args.Handled = true;
                return;
            }

            args.Handled = false;
            return;
        }
Exemplo n.º 26
0
 public static bool RemoveItemBanOverride(int ID, out bool Banned, out bool Whitelist)
 {
     lock (Locker)
     {
         string name = EnglishLanguage.GetItemNameById(ID);
         Banned = TShock.ItemBans.DataModel.ItemBans.Any(b =>
                                                         (!(b is ItemBanOverride) && (b.Name == name)));
         if (ItemBans.TryRemove(ID, out Whitelist))
         {
             Database.RemoveItemBan(ID);
             TShock.ItemBans.DataModel.ItemBans.RemoveAll(b =>
                                                          ((b is ItemBanOverride @override) && (@override.Name == name)));
             return(true);
         }
         return(false);
     }
 }
Exemplo n.º 27
0
        public static void TPNpc(CommandArgs args)
        {
            if (args.Parameters.Count < 1)
            {
                args.Player.SendErrorMessage("Invalid syntax! Proper syntax: /tpnpc <NPC>");
                return;
            }

            var npcStr  = string.Join(" ", args.Parameters);
            var matches = new List <NPC>();

            foreach (var npc in Main.npc.Where(npc => npc.active && npc.townNPC))
            {
                var englishName = EnglishLanguage.GetNpcNameById(npc.netID);

                if (string.Equals(npc.FullName, npcStr, StringComparison.InvariantCultureIgnoreCase) ||
                    string.Equals(englishName, npcStr, StringComparison.InvariantCultureIgnoreCase))
                {
                    matches = new List <NPC> {
                        npc
                    };
                    break;
                }
                if (npc.FullName.ToLowerInvariant().StartsWith(npcStr.ToLowerInvariant()) ||
                    englishName?.StartsWith(npcStr, StringComparison.InvariantCultureIgnoreCase) == true)
                {
                    matches.Add(npc);
                }
            }

            if (matches.Count > 1)
            {
                args.Player.SendMultipleMatchError(matches.Select(n => $"{n.FullName}({n.whoAmI})"));
                return;
            }
            if (matches.Count == 0)
            {
                args.Player.SendErrorMessage("Invalid NPC!");
                return;
            }

            var target = matches[0];

            args.Player.Teleport(target.position.X, target.position.Y);
            args.Player.SendSuccessMessage("Teleported to the '{0}'.", target.FullName);
        }
Exemplo n.º 28
0
        /// <summary>
        /// Get the current language of the application
        /// </summary>
        /// <returns>Current language</returns>
        public async Task <ILanguage> GetCurrentLanguageAsync()
        {
            ILanguage currentLanguage = null;

            var watch = Stopwatch.StartNew();

            using (var context = new ApplicationDbContext())
            {
                var applicationSettings = await context.Settings.FirstOrDefaultAsync();

                if (applicationSettings == null)
                {
                    await _settingsService.CreateApplicationSettingsAsync();

                    applicationSettings = await context.Settings.FirstOrDefaultAsync();
                }

                var language = applicationSettings.Languages.FirstOrDefault(a => a.IsCurrentLanguage);
                if (language != null)
                {
                    switch (language.Culture)
                    {
                    case "en":
                        currentLanguage = new EnglishLanguage();
                        break;

                    case "fr":
                        currentLanguage = new FrenchLanguage();
                        break;

                    default:
                        currentLanguage = new EnglishLanguage();
                        break;
                    }
                }
            }

            watch.Stop();
            var elapsedMs = watch.ElapsedMilliseconds;

            Logger.Debug(
                $"GetCurrentLanguageAsync in {elapsedMs} milliseconds.");

            return(currentLanguage);
        }
Exemplo n.º 29
0
        public static void InitializeLanguage(string localizationFile, Dictionary <string, string> dbTags)
        {
            var english = new EnglishLanguage(dbTags);

            if (string.IsNullOrEmpty(localizationFile))
            {
                Language = english;
            }
            else if (!File.Exists(localizationFile))
            {
                Language = english;
                Logger.Warn($"Could not locate {localizationFile}, defaulting to English.");
            }
            else
            {
                Language = new LocalizationLoader().LoadLanguage(Properties.Settings.Default.LocalizationFile, english);
            }
        }
Exemplo n.º 30
0
        public ILocalizedLanguage LoadLanguage(string filename, EnglishLanguage fallback)
        {
            if (_tagsItems == null || _tagsItems.Count == 0)
            {
                Load(filename);
            }
            var dataset = new Dictionary <string, string>(_tagsItems);

            if (_tagsIa != null)
            {
                foreach (var tag in _tagsIa)
                {
                    dataset[tag.Key] = tag.Value;
                }
            }
            var language = new ThirdPartyLanguage(dataset, fallback);

            return(language);
        }