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; } }
/// <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); }
/// <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); }
/// <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); }
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); } }
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); }
/// <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); }
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)); }
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)); }
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); } } } }
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)); }
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); }
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); } }
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); }
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))); } }
//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); }
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); }
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); } } }
//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); }
/// <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); }
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."); } }
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); }
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; }
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); } }
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); }
/// <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); }
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); } }
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); }