public override void Add(string language, string id, string translated) { if (IsNewLanguage(language)) { if (loadedLanguagesCount < loadedLanguagesMax) { loadedLanguages[loadedLanguagesCount] = language; loadedLanguagesCount++; } } if (stringsCount > stringsMax) { return; } if (ContainsTranslation(language, id)) { return; } TranslatedString s = new TranslatedString(); s.language = language; s.id = id; s.translated = translated; strings[stringsCount++] = s; }
public static void UnDelete1(long id) { TranslatedString curr = Read1(id); curr.IsDeleted = false; Update1(curr); }
public void SetUp() { _album = new Album(new LocalizedString("Synthesis", ContentLanguageSelection.English)); _producer = new Artist(TranslatedString.Create("Tripshots")) { Id = 1, ArtistType = ArtistType.Producer }; _vocalist = new Artist(TranslatedString.Create("Hatsune Miku")) { Id = 39, ArtistType = ArtistType.Vocaloid }; _producerContract = new ArtistContract(_producer, ContentLanguagePreference.Default); _vocalistContract = new ArtistContract(_vocalist, ContentLanguagePreference.Default); _song1 = new Song(new LocalizedString("Nebula", ContentLanguageSelection.English)) { Id = 2 }; _song1.AddArtist(_producer); _album.AddArtist(_producer); _album.AddArtist(_vocalist); var songInAlbum = new SongInAlbum(_song1, _album, 1, 1); _songInAlbumContract = new SongInAlbumEditContract(songInAlbum, ContentLanguagePreference.Default); _songInAlbumContract.Artists = new[] { _producerContract }; }
public void SetUp() { repository = new FakeSongListRepository(); userWithSongList = new User("User with songlist", "123", "*****@*****.**", PasswordHashAlgorithms.Default); permissionContext = new FakePermissionContext(new UserWithPermissionsContract(userWithSongList, ContentLanguagePreference.Default)); imagePersister = new InMemoryImagePersister(); queries = new SongListQueries(repository, permissionContext, new FakeEntryLinkFactory(), imagePersister, imagePersister, new FakeUserIconFactory()); song1 = new Song(TranslatedString.Create("Project Diva desu.")) { Id = 1 }; song2 = new Song(TranslatedString.Create("World is Mine")) { Id = 2 }; repository.Add(userWithSongList); repository.Add(song1, song2); songListContract = new SongListForEditContract { Name = "Mikunopolis Setlist", Description = "MIKUNOPOLIS in LOS ANGELES - Hatsune Miku US debut concert held at Nokia Theatre for Anime Expo 2011 on 2nd July 2011.", SongLinks = SongInListEditContracts(song1, song2) }; }
public static TranslatedString Read1(long id) { TranslatedString result = CurrDBContext.Get().tblTranslatedString.Where(x => x.Id == id). Select(x => new TranslatedString(x.Id, (long)x.Language, (TranslatedStringType)x.Type, x.ReferencedItemId, x.Value)).SingleOrDefault(); return(result); }
public void SetUp() { entryLinkFactory = new FakeEntryLinkFactory(); repository = new FakeRepository <UserMessage>(); mailer = new FakeUserMessageMailer(); album = Save(new Album(new LocalizedString("New Album", ContentLanguageSelection.English))); producer = Save(new Artist(TranslatedString.Create("Tripshots")) { Id = 1, ArtistType = ArtistType.Producer }); vocalist = Save(new Artist(TranslatedString.Create("Hatsune Miku")) { Id = 2, ArtistType = ArtistType.Vocaloid }); user = Save(new User("Miku", "123", string.Empty, PasswordHashAlgorithms.Default) { Id = 1 }); creator = Save(new User("Rin", "123", string.Empty, PasswordHashAlgorithms.Default) { Id = 2 }); Save(user.AddArtist(producer)); }
public void SetUp() { querySource = new QuerySourceList(); artist = new Artist(TranslatedString.Create("XenonP")) { Id = 64 }; querySource.Add(artist); album = new Album(new LocalizedString("Synthesis", ContentLanguageSelection.English)) { Id = 1, DiscType = DiscType.Album, CreateDate = new DateTime(2011, 1, 16) }; AddAlbum(album); albumWithArtist = new Album(new LocalizedString("DIVINE", ContentLanguageSelection.English)) { Id = 1010, DiscType = DiscType.Unknown, RatingAverage = 4.5, CreateDate = new DateTime(2012, 1, 15) }; albumWithArtist.AddArtist(artist); AddAlbum(albumWithArtist); queryParams = new AlbumQueryParams(); search = new Model.Service.Search.AlbumSearch.AlbumSearch(querySource, ContentLanguagePreference.Default); }
public static Song Song(int id = 0, string name = "Nebula") { return(new Song(TranslatedString.Create(name ?? "Nebula")) { Id = id }); }
public BasicNameManager(INameManager nameManager) { ParamIs.NotNull(() => nameManager); Names = nameManager.NamesBase.Select(n => new LocalizedStringWithId(n.Value, n.Language)).ToArray(); SortNames = new TranslatedString(nameManager.SortNames); }
public static Artist Vocalist(int id = 0, string name = null, ArtistType artistType = ArtistType.Vocaloid) { return(new Artist(TranslatedString.Create(name ?? "Hatsune Miku")) { Id = id, ArtistType = artistType }); }
public static Artist Artist(ArtistType artistType, int id = 0, string name = "Artist") { return(new Artist(TranslatedString.Create(name)) { Id = id, ArtistType = artistType }); }
public static Artist Circle(int id = 0, string name = "S.C.X.") { return(new Artist(TranslatedString.Create(name ?? "S.C.X.")) { Id = id, ArtistType = ArtistType.Circle }); }
public static Artist Producer(int id = 0, string name = "Tripshots") { return(new Artist(TranslatedString.Create(name ?? "Tripshots")) { Id = id, ArtistType = ArtistType.Producer }); }
public static string GetUrlFriendlyName(TranslatedString translatedString) { string raw = null; // Try English if English is the default language selection if (translatedString.DefaultLanguage == ContentLanguageSelection.English) { raw = translatedString.English; } // Otherwise try Romaji if (string.IsNullOrEmpty(raw)) { raw = translatedString.Romaji; } // Try English again since there was no Romaji name if (string.IsNullOrEmpty(raw)) { raw = translatedString.English; } // No English or Romaji names, return empty. if (string.IsNullOrEmpty(raw)) { return(string.Empty); } return(GetUrlFriendlyName(raw)); }
public void SetUp() { querySource = new QuerySourceList(); artist = new Artist(TranslatedString.Create("Junk")) { Id = 257 }; song = new Song(new LocalizedString("Nebula", ContentLanguageSelection.English)) { Id = 121, SongType = SongType.Original, PVServices = PVServices.Youtube, CreateDate = new DateTime(2012, 6, 1) }; AddSong(song); songWithArtist = new Song(new LocalizedString("Crystal Tears", ContentLanguageSelection.English)) { Id = 7787, FavoritedTimes = 39, CreateDate = new DateTime(2012, 1, 1) }; songWithArtist.AddArtist(artist); AddSong(songWithArtist); queryParams = new SongQueryParams(); search = new Model.Service.Search.SongSearch.SongSearch(querySource, ContentLanguagePreference.Default); }
public void Setup() { artist = new Artist(TranslatedString.Create("Minato")) { Id = 1, ArtistType = ArtistType.Producer }; song = new Song(new LocalizedString("Soar", ContentLanguageSelection.English)); lyrics = song.CreateLyrics(ContentLanguageSelection.Japanese, "Miku!", "miku"); }
public void Write( XElement node, string name, TranslatedString item, int fieldIndex, ErrorMaskBuilder?errorMask) { throw new NotImplementedException(); }
public ArchivedTranslatedStringContract(TranslatedString translatedString) { ParamIs.NotNull(() => translatedString); DefaultLanguage = translatedString.DefaultLanguage; English = translatedString.English; Japanese = translatedString.Japanese; Romaji = translatedString.Romaji; }
private Artist[] GetArtists(ArtistContract[] contracts) { return(contracts .Select(a => a.Id == vocalist.Id ? vocalist : new Artist(TranslatedString.Create(a.Name)) { Id = a.Id }) .ToArray()); }
public LanguageCi() { stringsMax = 1024 * 32; stringsCount = 0; strings = new TranslatedString[stringsMax]; loadedLanguagesCount = 0; loadedLanguagesMax = 64; loadedLanguages = new string[loadedLanguagesMax]; }
public void CreateEntryLink_Entry() { var artist = new Artist(TranslatedString.Create("Hatsune Miku")) { Id = 39 }; var result = _factory.CreateEntryLink(artist); result.Should().Be("<a href=\"/Ar/39\">Hatsune Miku</a>", "result"); }
public void CreateEntryLink_Entry() { var artist = new Artist(TranslatedString.Create("Hatsune Miku")) { Id = 39 }; var result = factory.CreateEntryLink(artist); Assert.AreEqual("<a href=\"/Ar/39\">Hatsune Miku</a>", result, "result"); }
public void CreateEntryLink_HtmlEncode() { var song = new Song(TranslatedString.Create("Sentaku <love or dead>")) { Id = 39 }; var result = _factory.CreateEntryLink(song); result.Should().Be("<a href=\"/S/39\">Sentaku <love or dead></a>", "result"); }
public void CreateEntryLink_HtmlEncode() { var song = new Song(TranslatedString.Create("Sentaku <love or dead>")) { Id = 39 }; var result = factory.CreateEntryLink(song); Assert.AreEqual("<a href=\"/S/39\">Sentaku <love or dead></a>", result, "result"); }
public bool Parse( MutagenFrame frame, StringsSource source, StringBinaryType binaryType, out TranslatedString item, bool parseWhole = true) { item = Parse(frame, source, binaryType, parseWhole); return(true); }
public Song(TranslatedString translatedName) : this() { ParamIs.NotNull(() => translatedName); foreach (var name in translatedName.AllLocalized) { Names.Add(new SongName(this, name)); } }
public static void Update1(TranslatedString item) { tblTranslatedString dataItem = CurrDBContext.Get().tblTranslatedString.Where(x => x.Id == item.Id).Single(); dataItem.Language = item.Language; dataItem.ReferencedItemId = item.ReferencedItemId; dataItem.Type = (int)item.Type; dataItem.Value = item.Value; CurrDBContext.Get().SaveChanges(); }
public TranslatedStringContract(TranslatedString str) { ParamIs.NotNull(() => str); Default = str.Default; DefaultLanguage = str.DefaultLanguage; English = str.English; Japanese = str.Japanese; //Other = str.Other; Romaji = str.Romaji; }
public void SetUp() { album = new Album(TranslatedString.Create("Synthesis")) { Id = 39 }; agentName = "Rin"; entryLinkFactory = new EntryAnchorFactory("http://test.vocadb.net"); user = CreateEntry.User(name: "miku"); user2 = CreateEntry.User(name: "luka"); repository = new FakeUserRepository(user, user2); }
public ActionResult UsersPerLanguage() { return(SimpleBarChart <UserKnownLanguage>(q => q .Where(u => u.CultureCode.CultureCode != null && u.CultureCode.CultureCode != string.Empty) .GroupBy(u => u.CultureCode) .ToArray() .Select(u => new StatsQueries.LocalizedValue { Name = TranslatedString.Create(u.Key.CultureInfo.Name), Value = u.Count(), }).AsQueryable(), "Users per language", "Users")); }
private NodeAttribute ReadAttribute(NodeAttribute.DataType type, BinaryReader reader, uint length) { // LSF and LSB serialize the buffer types differently, so specialized // code is added to the LSB and LSf serializers, and the common code is // available in BinUtils.ReadAttribute() switch (type) { case NodeAttribute.DataType.DT_String: case NodeAttribute.DataType.DT_Path: case NodeAttribute.DataType.DT_FixedString: case NodeAttribute.DataType.DT_LSString: case NodeAttribute.DataType.DT_WString: case NodeAttribute.DataType.DT_LSWString: { var attr = new NodeAttribute(type); attr.Value = ReadString(reader, (int)length); return attr; } case NodeAttribute.DataType.DT_TranslatedString: { var attr = new NodeAttribute(type); var str = new TranslatedString(); var valueLength = reader.ReadInt32(); str.Value = ReadString(reader, valueLength); var handleLength = reader.ReadInt32(); str.Handle = ReadString(reader, handleLength); attr.Value = str; return attr; } case NodeAttribute.DataType.DT_ScratchBuffer: { var attr = new NodeAttribute(type); attr.Value = reader.ReadBytes((int)length); return attr; } default: return BinUtils.ReadAttribute(type, reader); } }
void Add(string language, string id, string translated) { if (IsNewLanguage(language)) { if (loadedLanguagesCount < loadedLanguagesMax) { loadedLanguages[loadedLanguagesCount] = language; loadedLanguagesCount++; } } if (stringsCount > stringsMax) { return; } if (ContainsTranslation(language, id)) { return; } TranslatedString s = new TranslatedString(); s.language = language; s.id = id; s.translated = translated; strings[stringsCount++] = s; }
public void Override(string language, string id, string translated) { if (IsNewLanguage(language)) { if (loadedLanguagesCount < loadedLanguagesMax) { loadedLanguages[loadedLanguagesCount] = language; loadedLanguagesCount++; } } //Just add the new string if it doesn't exist if (!ContainsTranslation(language, id)) { Add(language, id, translated); } //Otherwise overwrite the existing string else { int replaceIndex = -1; for (int i = 0; i < stringsCount; i++) { if (strings[i] == null) { continue; } if (strings[i].language == language) { if (strings[i].id == id) { replaceIndex = i; break; } } } if (replaceIndex != -1) { TranslatedString s = new TranslatedString(); s.language = language; s.id = id; s.translated = translated; strings[replaceIndex] = s; } } }
/// <summary> /// write out the xml file /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btSave_Click(object sender, EventArgs e) { string inFileText = string.Empty; string xml = string.Empty; List<TranslatedString> primaryLang = LoadTranslations(cboPrimaryLangFile.Text); List<TranslatedString> newFile = new List<TranslatedString>(); foreach (ListViewItem item in lvLangFiles.Items) { TranslatedString newTran = new TranslatedString(); newTran.isFixed = primaryLang[lvLangFiles.Items.IndexOf(item)].isFixed; newTran.fieldName = item.SubItems[0].Text; newTran.fieldValue = item.SubItems[2].Text; newFile.Add(newTran); } if (File.Exists(Path.Combine(Path.GetDirectoryName(cboPrimaryLangFile.Text), localLangCode + ".xml"))) { StreamReader inFile = new StreamReader(Path.Combine(Path.GetDirectoryName(cboPrimaryLangFile.Text), localLangCode + ".xml")); do { inFileText = inFile.ReadLine(); xml += inFileText + "\n"; } while (inFileText != "<strings>"); inFile.Close(); } else { // Now write out the xml xml = "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\n" + "<!-- Autogenerated Translation file -->\n" + "<!-- " + cbLocallang.Text + " -->\n" + "<!-- Note: English is the fallback for any strings not found in other languages -->\n" + "<strings>\n"; } foreach (TranslatedString tLine in newFile.Where(l => !string.IsNullOrEmpty(l.fieldValue))) { xml += " <string Field=\"" + tLine.fieldName + "\">" + tLine.fieldValue + "</string>\n"; } xml += "</strings>"; // Write out the XML writeXMLFile(xml,localLangCode + ".xml"); lvLangFiles.Items.Clear(); cbLocallang.SelectedIndex = -1; }
/// <summary> /// load the translation files /// </summary> /// <param name="LanguageFile"></param> /// <returns></returns> private List<TranslatedString> LoadTranslations(string LanguageFile) { TranslatedStrings.Clear(); XmlDocument doc = new XmlDocument(); try { doc.Load(LanguageFile); } catch (Exception e) { if (e.GetType() == typeof(FileNotFoundException)) { MessageBox.Show(string.Format("Cannot find translation file {0}. New file will be created.", Path.GetFileName(LanguageFile))); } else { MessageBox.Show(string.Format("Error in translation of xml file: {0}./n" + e.Message,LanguageFile)); return null; } return TranslatedStrings.ToList(); } foreach (XmlNode stringEntry in doc.DocumentElement.ChildNodes) { TranslatedString tString = new TranslatedString(); if (stringEntry.NodeType == XmlNodeType.Element) try { if (stringEntry.Attributes.GetNamedItem("Field").Value.StartsWith("#")) tString.isFixed = true; tString.fieldName = stringEntry.Attributes.GetNamedItem("Field").Value; tString.fieldValue = stringEntry.InnerText; TranslatedStrings.Add(tString); } catch (Exception e) { Console.WriteLine("Error in Translation Engine:"); Application.Exit(); } } return TranslatedStrings.ToList(); }