Beispiel #1
0
    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;
    }
Beispiel #2
0
        public static void UnDelete1(long id)
        {
            TranslatedString curr = Read1(id);

            curr.IsDeleted = false;
            Update1(curr);
        }
Beispiel #3
0
        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)
            };
        }
Beispiel #5
0
        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));
        }
Beispiel #7
0
        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);
        }
Beispiel #8
0
 public static Song Song(int id = 0, string name = "Nebula")
 {
     return(new Song(TranslatedString.Create(name ?? "Nebula"))
     {
         Id = id
     });
 }
Beispiel #9
0
        public BasicNameManager(INameManager nameManager)
        {
            ParamIs.NotNull(() => nameManager);

            Names     = nameManager.NamesBase.Select(n => new LocalizedStringWithId(n.Value, n.Language)).ToArray();
            SortNames = new TranslatedString(nameManager.SortNames);
        }
Beispiel #10
0
 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
     });
 }
Beispiel #11
0
 public static Artist Artist(ArtistType artistType, int id = 0, string name = "Artist")
 {
     return(new Artist(TranslatedString.Create(name))
     {
         Id = id, ArtistType = artistType
     });
 }
Beispiel #12
0
 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
     });
 }
Beispiel #13
0
 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));
        }
Beispiel #15
0
        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);
        }
Beispiel #16
0
 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();
 }
Beispiel #18
0
        public ArchivedTranslatedStringContract(TranslatedString translatedString)
        {
            ParamIs.NotNull(() => translatedString);

            DefaultLanguage = translatedString.DefaultLanguage;
            English         = translatedString.English;
            Japanese        = translatedString.Japanese;
            Romaji          = translatedString.Romaji;
        }
Beispiel #19
0
 private Artist[] GetArtists(ArtistContract[] contracts)
 {
     return(contracts
            .Select(a => a.Id == vocalist.Id ? vocalist : new Artist(TranslatedString.Create(a.Name))
     {
         Id = a.Id
     })
            .ToArray());
 }
Beispiel #20
0
 public LanguageCi()
 {
     stringsMax           = 1024 * 32;
     stringsCount         = 0;
     strings              = new TranslatedString[stringsMax];
     loadedLanguagesCount = 0;
     loadedLanguagesMax   = 64;
     loadedLanguages      = new string[loadedLanguagesMax];
 }
Beispiel #21
0
        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");
        }
Beispiel #23
0
        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 &lt;love or dead&gt;</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 &lt;love or dead&gt;</a>", result, "result");
        }
Beispiel #25
0
 public bool Parse(
     MutagenFrame frame,
     StringsSource source,
     StringBinaryType binaryType,
     out TranslatedString item,
     bool parseWhole = true)
 {
     item = Parse(frame, source, binaryType, parseWhole);
     return(true);
 }
Beispiel #26
0
        public Song(TranslatedString translatedName)
            : this()
        {
            ParamIs.NotNull(() => translatedName);

            foreach (var name in translatedName.AllLocalized)
            {
                Names.Add(new SongName(this, name));
            }
        }
Beispiel #27
0
        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;
        }
Beispiel #29
0
 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);
 }
Beispiel #30
0
 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"));
 }
Beispiel #31
0
        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);
            }
        }
Beispiel #32
0
 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;
 }
Beispiel #33
0
 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();
        }