diff --git a/CHANGELOG.txt b/CHANGELOG.txt index 34d2cf8..b3559ad 100644 --- a/CHANGELOG.txt +++ b/CHANGELOG.txt @@ -5,6 +5,8 @@ Added: thcrap directory setting. Added: Confirmation dialog when removing custom categories/games. Added: Drag/drop support to Neko Project II and thcrap's directory settings. Added: Support for IaMP's Config.exe +Added: Complete localization support. +Added: Russian language support. (courtesy of Lensrub) Changed: Game configuration dialog shows which game you're configuring. Changed: Normal buttons no longer use the hand cursor. Changed: The configuration form always shows at the center of the main window. diff --git a/Touhou Launcher/MainForm.Designer.cs b/Touhou Launcher/MainForm.Designer.cs index 2dd1bb8..8703ebc 100644 --- a/Touhou Launcher/MainForm.Designer.cs +++ b/Touhou Launcher/MainForm.Designer.cs @@ -543,7 +543,7 @@ private void InitializeComponent() // label4 // this.label4.AutoSize = true; - this.label4.Location = new System.Drawing.Point(10, 257); + this.label4.Location = new System.Drawing.Point(10, 270); this.label4.Name = "label4"; this.label4.Size = new System.Drawing.Size(189, 13); this.label4.TabIndex = 4; @@ -552,17 +552,17 @@ private void InitializeComponent() // label3 // this.label3.AutoSize = true; - this.label3.Location = new System.Drawing.Point(10, 217); + this.label3.Location = new System.Drawing.Point(10, 230); this.label3.Name = "label3"; - this.label3.Size = new System.Drawing.Size(362, 13); + this.label3.Size = new System.Drawing.Size(359, 13); this.label3.TabIndex = 3; - this.label3.Text = "^ Seriously? I had to add an entire object just for this link? C\'mon Microsoft."; + this.label3.Text = "^ Seriously? I had to add an entire object just for this link? C\'mon Microsoft."; // // linkLabel1 // this.linkLabel1.AutoSize = true; this.linkLabel1.Cursor = System.Windows.Forms.Cursors.Hand; - this.linkLabel1.Location = new System.Drawing.Point(10, 199); + this.linkLabel1.Location = new System.Drawing.Point(10, 212); this.linkLabel1.Name = "linkLabel1"; this.linkLabel1.Size = new System.Drawing.Size(248, 13); this.linkLabel1.TabIndex = 2; @@ -575,7 +575,7 @@ private void InitializeComponent() this.label2.AutoSize = true; this.label2.Location = new System.Drawing.Point(10, 40); this.label2.Name = "label2"; - this.label2.Size = new System.Drawing.Size(419, 156); + this.label2.Size = new System.Drawing.Size(419, 169); this.label2.TabIndex = 1; this.label2.Text = resources.GetString("label2.Text"); // @@ -1168,6 +1168,7 @@ private void InitializeComponent() this.languageBox.Items.AddRange(new object[] { "English", "日本語", + "русский", "Custom"}); this.languageBox.Location = new System.Drawing.Point(6, 101); this.languageBox.Name = "languageBox"; diff --git a/Touhou Launcher/MainForm.cs b/Touhou Launcher/MainForm.cs index d88f3fd..f686c3d 100644 --- a/Touhou Launcher/MainForm.cs +++ b/Touhou Launcher/MainForm.cs @@ -289,7 +289,9 @@ private void InitializeLanguage() break; case 1: rm = new System.Resources.ResourceManager("Touhou_Launcher.Resources_jp", System.Reflection.Assembly.GetExecutingAssembly()); break; - case 2: if (File.Exists(Path.GetDirectoryName(Application.ExecutablePath) + "\\Resources_custom.resources")) + case 2: rm = new System.Resources.ResourceManager("Touhou_Launcher.Resources_ru", System.Reflection.Assembly.GetExecutingAssembly()); + break; + case 3: if (File.Exists(Path.GetDirectoryName(Application.ExecutablePath) + "\\Resources_custom.resources")) rm = System.Resources.ResourceManager.CreateFileBasedResourceManager("Resources_custom", Path.GetDirectoryName(Application.ExecutablePath), null); else languageBox.SelectedIndex = 0; @@ -333,6 +335,9 @@ private void InitializeLanguage() trayFighting.Text = rm.GetString("fightingGroup"); trayOther.Text = rm.GetString("otherGroup"); trayCustom.Text = rm.GetString("customGames"); + trayRandom.Text = rm.GetString("trayRandom"); + trayOpen.Text = rm.GetString("trayOpen"); + trayExit.Text = rm.GetString("trayExit"); mainGroup.Text = rm.GetString("mainGroup"); fightingGroup.Text = rm.GetString("fightingGroup"); otherGroup.Text = rm.GetString("otherGroup"); diff --git a/Touhou Launcher/MainForm.resx b/Touhou Launcher/MainForm.resx index dac6610..08c12af 100644 --- a/Touhou Launcher/MainForm.resx +++ b/Touhou Launcher/MainForm.resx @@ -135,6 +135,7 @@ Created by: David_Jones (DVN) (Started: 07/02/2019) (DD/MM/YYYY) Original Touhou Launcher created by: Widdiful +Russian translation by: Lensrub This is a nonprofit project developed independently by a fan Touhou belongs to Team Shanghai Alice diff --git a/Touhou Launcher/Resources_en.Designer.cs b/Touhou Launcher/Resources_en.Designer.cs index 9c63c78..927c4ec 100644 --- a/Touhou Launcher/Resources_en.Designer.cs +++ b/Touhou Launcher/Resources_en.Designer.cs @@ -1477,6 +1477,33 @@ public static string Title { } } + /// + /// Looks up a localized string similar to Exit. + /// + public static string trayExit { + get { + return ResourceManager.GetString("trayExit", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Open. + /// + public static string trayOpen { + get { + return ResourceManager.GetString("trayOpen", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Random Game. + /// + public static string trayRandom { + get { + return ResourceManager.GetString("trayRandom", resourceCulture); + } + } + /// /// Looks up a localized string similar to Undefined Fantastic Object. /// diff --git a/Touhou Launcher/Resources_en.resx b/Touhou Launcher/Resources_en.resx index 8627151..c9804a0 100644 --- a/Touhou Launcher/Resources_en.resx +++ b/Touhou Launcher/Resources_en.resx @@ -637,4 +637,13 @@ random game option: Download Replay? + + Exit + + + Open + + + Random Game + \ No newline at end of file diff --git a/Touhou Launcher/Resources_jp.Designer.cs b/Touhou Launcher/Resources_jp.Designer.cs index ec8f690..ed2e186 100644 --- a/Touhou Launcher/Resources_jp.Designer.cs +++ b/Touhou Launcher/Resources_jp.Designer.cs @@ -1477,6 +1477,33 @@ public static string Title { } } + /// + /// Looks up a localized string similar to Exit. + /// + public static string trayExit { + get { + return ResourceManager.GetString("trayExit", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Open. + /// + public static string trayOpen { + get { + return ResourceManager.GetString("trayOpen", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Random Game. + /// + public static string trayRandom { + get { + return ResourceManager.GetString("trayRandom", resourceCulture); + } + } + /// /// Looks up a localized string similar to 東方星蓮船. /// diff --git a/Touhou Launcher/Resources_jp.resx b/Touhou Launcher/Resources_jp.resx index 53553fe..64b77ee 100644 --- a/Touhou Launcher/Resources_jp.resx +++ b/Touhou Launcher/Resources_jp.resx @@ -637,4 +637,13 @@ random game option: Download Replay? + + Exit + + + Open + + + Random Game + \ No newline at end of file diff --git a/Touhou Launcher/Resources_ru.Designer.cs b/Touhou Launcher/Resources_ru.Designer.cs new file mode 100644 index 0000000..b51bfb8 --- /dev/null +++ b/Touhou Launcher/Resources_ru.Designer.cs @@ -0,0 +1,1640 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace Touhou_Launcher { + using System; + + + /// + /// A strongly-typed resource class, for looking up localized strings, etc. + /// + // This class was auto-generated by the StronglyTypedResourceBuilder + // class via a tool like ResGen or Visual Studio. + // To add or remove a member, edit your .ResX file then rerun ResGen + // with the /str option, or rebuild your VS project. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + public class Resources_ru { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Resources_ru() { + } + + /// + /// Returns the cached ResourceManager instance used by this class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + public static global::System.Resources.ResourceManager ResourceManager { + get { + if (object.ReferenceEquals(resourceMan, null)) { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Touhou_Launcher.Resources_ru", typeof(Resources_ru).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Overrides the current thread's CurrentUICulture property for all + /// resource lookups using this strongly typed resource class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + public static global::System.Globalization.CultureInfo Culture { + get { + return resourceCulture; + } + set { + resourceCulture = value; + } + } + + /// + /// Looks up a localized string similar to Все файлы. + /// + public static string allFilter { + get { + return ResourceManager.GetString("allFilter", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Antinomy of Common Flowers. + /// + public static string AoCF { + get { + return ResourceManager.GetString("AoCF", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to AoCF. + /// + public static string AoCFShort { + get { + return ResourceManager.GetString("AoCFShort", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Touhou 15.5: Antinomy of Common Flowers. + /// + public static string AoCFTitle { + get { + return ResourceManager.GetString("AoCFTitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to По возрастанию. + /// + public static string ascendingToolStripMenuItem { + get { + return ResourceManager.GetString("ascendingToolStripMenuItem", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Автозакрытие. + /// + public static string autoClose { + get { + return ResourceManager.GetString("autoClose", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Автоматически закрывать лаучер после запуска игры. + /// + public static string autoCloseToolTip { + get { + return ResourceManager.GetString("autoCloseToolTip", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Чёрно-белая обложка. + /// + public static string bannerOffLabel { + get { + return ResourceManager.GetString("bannerOffLabel", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Выбор чёрно-белой обложки. + /// + public static string bannerOffSelectTitle { + get { + return ResourceManager.GetString("bannerOffSelectTitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Цветная обложка. + /// + public static string bannerOnLabel { + get { + return ResourceManager.GetString("bannerOnLabel", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Выбор цветной обложки. + /// + public static string bannerOnSelectTitle { + get { + return ResourceManager.GetString("bannerOnSelectTitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Настройка обложек. + /// + public static string bannerSettings { + get { + return ResourceManager.GetString("bannerSettings", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Обзор. + /// + public static string browse { + get { + return ResourceManager.GetString("browse", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Кастомные обложки. + /// + public static string chkCustomBanner { + get { + return ResourceManager.GetString("chkCustomBanner", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Настройка игры. + /// + public static string configureToolStripMenuItem { + get { + return ResourceManager.GetString("configureToolStripMenuItem", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Настройка thcrap. + /// + public static string crapConfigure { + get { + return ResourceManager.GetString("crapConfigure", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Путь к thcrap_loader: . + /// + public static string crapDirLabel { + get { + return ResourceManager.GetString("crapDirLabel", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Профиль thcrap: . + /// + public static string crapLabel { + get { + return ResourceManager.GetString("crapLabel", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Добавить игру. + /// + public static string customAdd { + get { + return ResourceManager.GetString("customAdd", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Удалить категорию '{0}' и весь контент в ней?. + /// + public static string customCategoryDeleteConfirm { + get { + return ResourceManager.GetString("customCategoryDeleteConfirm", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Удалить '{0}'?. + /// + public static string customDeleteConfirm { + get { + return ResourceManager.GetString("customDeleteConfirm", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Кастомные игры. + /// + public static string customGames { + get { + return ResourceManager.GetString("customGames", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Custom.exe: . + /// + public static string customLabel { + get { + return ResourceManager.GetString("customLabel", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Double Drealing Character. + /// + public static string DDC { + get { + return ResourceManager.GetString("DDC", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to DDC. + /// + public static string DDCShort { + get { + return ResourceManager.GetString("DDCShort", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Touhou 14: Double Dealing Character. + /// + public static string DDCTitle { + get { + return ResourceManager.GetString("DDCTitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Япон./vpatch.ini, Англ. (non-THCRAP), Custom.exe, thcrap. + /// + public static string defaultExec { + get { + return ResourceManager.GetString("defaultExec", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Запуск по умолч.. + /// + public static string defaultLabel { + get { + return ResourceManager.GetString("defaultLabel", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Удалить категорию. + /// + public static string deleteCategoryToolStripMenuItem { + get { + return ResourceManager.GetString("deleteCategoryToolStripMenuItem", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Удалить. + /// + public static string deleteToolStripMenuItem { + get { + return ResourceManager.GetString("deleteToolStripMenuItem", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to По убыванию. + /// + public static string descendingToolStripMenuItem { + get { + return ResourceManager.GetString("descendingToolStripMenuItem", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Детали. + /// + public static string detailsToolStripMenuItem { + get { + return ResourceManager.GetString("detailsToolStripMenuItem", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Double Spoiler. + /// + public static string DS { + get { + return ResourceManager.GetString("DS", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to DS. + /// + public static string DSShort { + get { + return ResourceManager.GetString("DSShort", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Touhou 12.3: Double Spoiler. + /// + public static string DSTitle { + get { + return ResourceManager.GetString("DSTitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Английский файл запуска: . + /// + public static string enLabel { + get { + return ResourceManager.GetString("enLabel", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Embodiment of Scarlet Devil. + /// + public static string EoSD { + get { + return ResourceManager.GetString("EoSD", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to EoSD. + /// + public static string EoSDShort { + get { + return ResourceManager.GetString("EoSDShort", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Touhou 06: the Embodiment of Scarlet Devil. + /// + public static string EoSDTitle { + get { + return ResourceManager.GetString("EoSDTitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Не удается найти папку Appdata. + /// + public static string errorAppdataNotFound { + get { + return ResourceManager.GetString("errorAppdataNotFound", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Пожалуйста, укажите профиль thcrap. + /// + public static string errorcrapConfigNotSet { + get { + return ResourceManager.GetString("errorcrapConfigNotSet", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Пожалуйста, укажите путь к thcrap. + /// + public static string errorcrapNotFound { + get { + return ResourceManager.GetString("errorcrapNotFound", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Файл не найден. + /// + public static string errorFileNotFound { + get { + return ResourceManager.GetString("errorFileNotFound", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Игра не найдена. + /// + public static string errorGameNotFound { + get { + return ResourceManager.GetString("errorGameNotFound", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Файлы "ini" Neko Project II недействителен. + /// + public static string errorInvalidNP2INI { + get { + return ResourceManager.GetString("errorInvalidNP2INI", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Пожалуйста, укажите путь к Neko Project II. + /// + public static string errorNP2NotFound { + get { + return ResourceManager.GetString("errorNP2NotFound", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Неудаеться открыть изображение: . + /// + public static string errorOpenImage { + get { + return ResourceManager.GetString("errorOpenImage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Не одна игра не выбрана. + /// + public static string errorRandomListEmpty { + get { + return ResourceManager.GetString("errorRandomListEmpty", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Папка повторов не найдена. + /// + public static string errorReplaysNotFound { + get { + return ResourceManager.GetString("errorReplaysNotFound", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to vpatch.ini не найден. + /// + public static string errorvpatchNotFound { + get { + return ResourceManager.GetString("errorvpatchNotFound", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Исполняемый файл. + /// + public static string executableFilter { + get { + return ResourceManager.GetString("executableFilter", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Файтинги. + /// + public static string fightingGroup { + get { + return ResourceManager.GetString("fightingGroup", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Настройка игры: . + /// + public static string gameConfiguration { + get { + return ResourceManager.GetString("gameConfiguration", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Игры. + /// + public static string games { + get { + return ResourceManager.GetString("games", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Выберите исполняемы файл. + /// + public static string gameSelectTitle { + get { + return ResourceManager.GetString("gameSelectTitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Great Fairy Wars. + /// + public static string GFW { + get { + return ResourceManager.GetString("GFW", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to GFW. + /// + public static string GFWShort { + get { + return ResourceManager.GetString("GFWShort", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Touhou 12.8: Great Fairy Wars. + /// + public static string GFWTitle { + get { + return ResourceManager.GetString("GFWTitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Файлы образов жесткого диска. + /// + public static string hdiFilter { + get { + return ResourceManager.GetString("hdiFilter", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Игра в .HDI: . + /// + public static string hdiLabel { + get { + return ResourceManager.GetString("hdiLabel", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Выберите игры в .HDI. + /// + public static string hdiSelectTitle { + get { + return ResourceManager.GetString("hdiSelectTitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Hopeless Masquerade. + /// + public static string HM { + get { + return ResourceManager.GetString("HM", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to HM. + /// + public static string HMShort { + get { + return ResourceManager.GetString("HMShort", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Touhou 13.5: Hopeless Masquerade. + /// + public static string HMTitle { + get { + return ResourceManager.GetString("HMTitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Highly Responsive to Prayers. + /// + public static string HRtP { + get { + return ResourceManager.GetString("HRtP", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to HRtP. + /// + public static string HRtPShort { + get { + return ResourceManager.GetString("HRtPShort", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Touhou 01: Highly Responsive to Prayers. + /// + public static string HRtPTitle { + get { + return ResourceManager.GetString("HRtPTitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Hidden Star in Four Seasons. + /// + public static string HSiFS { + get { + return ResourceManager.GetString("HSiFS", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to HSiFS. + /// + public static string HSiFSShort { + get { + return ResourceManager.GetString("HSiFSShort", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Touhou 16: Hidden Star in Four Seasons. + /// + public static string HSiFSTitle { + get { + return ResourceManager.GetString("HSiFSTitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Immaterial and Missing Power. + /// + public static string IaMP { + get { + return ResourceManager.GetString("IaMP", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to IaMP. + /// + public static string IaMPShort { + get { + return ResourceManager.GetString("IaMPShort", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Touhou 7.5: Immaterial and Missing Power. + /// + public static string IaMPTitle { + get { + return ResourceManager.GetString("IaMPTitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Файл изображения. + /// + public static string imageFilter { + get { + return ResourceManager.GetString("imageFilter", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Imperishable Night. + /// + public static string IN { + get { + return ResourceManager.GetString("IN", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Инфо. + /// + public static string info { + get { + return ResourceManager.GetString("info", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to IN. + /// + public static string INShort { + get { + return ResourceManager.GetString("INShort", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Touhou 08: Imperishable Night. + /// + public static string INTitle { + get { + return ResourceManager.GetString("INTitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Impossible Spell Card. + /// + public static string ISC { + get { + return ResourceManager.GetString("ISC", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to ISC. + /// + public static string ISCShort { + get { + return ResourceManager.GetString("ISCShort", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Touhou 14.3: Impossible Spell Card. + /// + public static string ISCTitle { + get { + return ResourceManager.GetString("ISCTitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Японский/vpatch файл запуска: . + /// + public static string jpLabel { + get { + return ResourceManager.GetString("jpLabel", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Язык: . + /// + public static string langLabel { + get { + return ResourceManager.GetString("langLabel", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Крупные иконки. + /// + public static string largeIconsToolStripMenuItem { + get { + return ResourceManager.GetString("largeIconsToolStripMenuItem", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Запуск. + /// + public static string launch { + get { + return ResourceManager.GetString("launch", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Настройка запуска. + /// + public static string launcherSettings { + get { + return ResourceManager.GetString("launcherSettings", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Список. + /// + public static string listToolStripMenuItem { + get { + return ResourceManager.GetString("listToolStripMenuItem", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Lotus Land Story. + /// + public static string LLS { + get { + return ResourceManager.GetString("LLS", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to LLS. + /// + public static string LLSShort { + get { + return ResourceManager.GetString("LLSShort", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Touhou 04: Lotus Land Story. + /// + public static string LLSTitle { + get { + return ResourceManager.GetString("LLSTitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Legacy of Lunatic Kingdom. + /// + public static string LoLK { + get { + return ResourceManager.GetString("LoLK", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to LoLK. + /// + public static string LoLKShort { + get { + return ResourceManager.GetString("LoLKShort", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Touhou 15: Legacy of Lunatic Kingdom. + /// + public static string LoLKTitle { + get { + return ResourceManager.GetString("LoLKTitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Основные игры. + /// + public static string mainGroup { + get { + return ResourceManager.GetString("mainGroup", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Свернуть в трей. + /// + public static string minimizeToTray { + get { + return ResourceManager.GetString("minimizeToTray", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Mountain of Faith. + /// + public static string MoF { + get { + return ResourceManager.GetString("MoF", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to MoF. + /// + public static string MoFShort { + get { + return ResourceManager.GetString("MoFShort", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Touhou 10: Mountain of Faith. + /// + public static string MoFTitle { + get { + return ResourceManager.GetString("MoFTitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Mystic Square. + /// + public static string MS { + get { + return ResourceManager.GetString("MS", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to MS. + /// + public static string MSShort { + get { + return ResourceManager.GetString("MSShort", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Touhou 05: Mystic Square. + /// + public static string MSTitle { + get { + return ResourceManager.GetString("MSTitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Новая категория. + /// + public static string newCategoryToolStripMenuItem { + get { + return ResourceManager.GetString("newCategoryToolStripMenuItem", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Путь к Neko Project II. + /// + public static string np2Label { + get { + return ResourceManager.GetString("np2Label", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Укажите путь к Neko Project II. + /// + public static string np2SelectTitle { + get { + return ResourceManager.GetString("np2SelectTitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Папка Appdata. + /// + public static string openAppdata { + get { + return ResourceManager.GetString("openAppdata", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Открыть папку игры. + /// + public static string openFolder { + get { + return ResourceManager.GetString("openFolder", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Открыть папку. + /// + public static string openFolderToolStripMenuItem { + get { + return ResourceManager.GetString("openFolderToolStripMenuItem", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Открыть папку Neko Project II. + /// + public static string openNP2Folder { + get { + return ResourceManager.GetString("openNP2Folder", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Папка повторов. + /// + public static string openReplays { + get { + return ResourceManager.GetString("openReplays", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to vpatch.ini. + /// + public static string openvpatch { + get { + return ResourceManager.GetString("openvpatch", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Открыть с Applocale. + /// + public static string openWithApplocaleToolStripMenuItem { + get { + return ResourceManager.GetString("openWithApplocaleToolStripMenuItem", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Ответвления. + /// + public static string otherGroup { + get { + return ResourceManager.GetString("otherGroup", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Настройки игры PC-98. + /// + public static string pc98Settings { + get { + return ResourceManager.GetString("pc98Settings", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Perfect Cherry Blossom. + /// + public static string PCB { + get { + return ResourceManager.GetString("PCB", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to PCB. + /// + public static string PCBShort { + get { + return ResourceManager.GetString("PCBShort", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Touhou 07: Perfect Cherry Blossom. + /// + public static string PCBTitle { + get { + return ResourceManager.GetString("PCBTitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Запустить случайно. + /// + public static string playRandomToolStripMenuItem { + get { + return ResourceManager.GetString("playRandomToolStripMenuItem", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Phantasmagoria of Dim. Dream. + /// + public static string PoDD { + get { + return ResourceManager.GetString("PoDD", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to PoDD. + /// + public static string PoDDShort { + get { + return ResourceManager.GetString("PoDDShort", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Touhou 03: Phantasmagoria of Dim. Dream. + /// + public static string PoDDTitle { + get { + return ResourceManager.GetString("PoDDTitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Phantasmagoria of Flower View. + /// + public static string PoFV { + get { + return ResourceManager.GetString("PoFV", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to PoFV. + /// + public static string PoFVShort { + get { + return ResourceManager.GetString("PoFVShort", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Touhou 09: Phantasmagoria of Flower View. + /// + public static string PoFVTitle { + get { + return ResourceManager.GetString("PoFVTitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Случайная. + /// + public static string Random { + get { + return ResourceManager.GetString("Random", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Добавить всё. + /// + public static string randomAll { + get { + return ResourceManager.GetString("randomAll", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Игры которые участвуют в случайном запуске. + /// + public static string randomLabel { + get { + return ResourceManager.GetString("randomLabel", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Убрать всё. + /// + public static string randomNone { + get { + return ResourceManager.GetString("randomNone", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Настройка случайных игр. + /// + public static string randomSettings { + get { + return ResourceManager.GetString("randomSettings", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Запуск случайной игры. + /// + public static string RandomTitle { + get { + return ResourceManager.GetString("RandomTitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Переименовать категорию. + /// + public static string renameCategoryToolStripMenuItem { + get { + return ResourceManager.GetString("renameCategoryToolStripMenuItem", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Переименовать. + /// + public static string renameToolStripMenuItem { + get { + return ResourceManager.GetString("renameToolStripMenuItem", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Скачать '{0}' в: + ///'{1}'. + /// + public static string replayDownload { + get { + return ResourceManager.GetString("replayDownload", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Скачать повтор?. + /// + public static string replayDownloadTitle { + get { + return ResourceManager.GetString("replayDownloadTitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Файл повтров. + /// + public static string replayFilter { + get { + return ResourceManager.GetString("replayFilter", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Повторы игрока заполнены и Touhou 10 не поддерживает пользовательские повторы. + ///. + /// + public static string replayFull { + get { + return ResourceManager.GetString("replayFull", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Повторы. + /// + public static string replays { + get { + return ResourceManager.GetString("replays", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Subterranean Animism. + /// + public static string SA { + get { + return ResourceManager.GetString("SA", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to SA. + /// + public static string SAShort { + get { + return ResourceManager.GetString("SAShort", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Touhou 11: Subterranean Animism. + /// + public static string SATitle { + get { + return ResourceManager.GetString("SATitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Настройки. + /// + public static string settings { + get { + return ResourceManager.GetString("settings", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Всегда отображать иконку в трее . + /// + public static string showTray { + get { + return ResourceManager.GetString("showTray", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Мелкие иконки. + /// + public static string smallIconsToolStripMenuItem { + get { + return ResourceManager.GetString("smallIconsToolStripMenuItem", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Story of Eastern Wonderland. + /// + public static string SoEW { + get { + return ResourceManager.GetString("SoEW", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to SoEW. + /// + public static string SoEWShort { + get { + return ResourceManager.GetString("SoEWShort", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Touhou 02: the Story of Eastern Wonderland. + /// + public static string SoEWTitle { + get { + return ResourceManager.GetString("SoEWTitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Сортировка. + /// + public static string sortToolStripMenuItem { + get { + return ResourceManager.GetString("sortToolStripMenuItem", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Shoot the Bullet. + /// + public static string StB { + get { + return ResourceManager.GetString("StB", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to StB. + /// + public static string StBShort { + get { + return ResourceManager.GetString("StBShort", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Touhou 9.5: Shoot the Bullet. + /// + public static string StBTitle { + get { + return ResourceManager.GetString("StBTitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Scarlet Weather Rhapsody. + /// + public static string SWR { + get { + return ResourceManager.GetString("SWR", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to SWR. + /// + public static string SWRShort { + get { + return ResourceManager.GetString("SWRShort", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Touhou 10.5: Scarlet Weather Rhapsody. + /// + public static string SWRTitle { + get { + return ResourceManager.GetString("SWRTitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Ten Desires. + /// + public static string TD { + get { + return ResourceManager.GetString("TD", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to TD. + /// + public static string TDShort { + get { + return ResourceManager.GetString("TDShort", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Touhou 13: Ten Desires. + /// + public static string TDTitle { + get { + return ResourceManager.GetString("TDTitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Плитка. + /// + public static string tileToolStripMenuItem { + get { + return ResourceManager.GetString("tileToolStripMenuItem", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Touhou Launcher. + /// + public static string Title { + get { + return ResourceManager.GetString("Title", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Выход. + /// + public static string trayExit { + get { + return ResourceManager.GetString("trayExit", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Открыть. + /// + public static string trayOpen { + get { + return ResourceManager.GetString("trayOpen", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Случайная игра. + /// + public static string trayRandom { + get { + return ResourceManager.GetString("trayRandom", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Undefined Fantastic Object. + /// + public static string UFO { + get { + return ResourceManager.GetString("UFO", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to UFO. + /// + public static string UFOShort { + get { + return ResourceManager.GetString("UFOShort", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Touhou 12: Undefined Fantastic Object. + /// + public static string UFOTitle { + get { + return ResourceManager.GetString("UFOTitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Urban Legend in Limbo. + /// + public static string ULiL { + get { + return ResourceManager.GetString("ULiL", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to ULiL. + /// + public static string ULiLShort { + get { + return ResourceManager.GetString("ULiLShort", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Touhou 14.5: Urban Legend in Limbo. + /// + public static string ULiLTitle { + get { + return ResourceManager.GetString("ULiLTitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Hisoutensoku. + /// + public static string UoNL { + get { + return ResourceManager.GetString("UoNL", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Hisoutensoku. + /// + public static string UoNLShort { + get { + return ResourceManager.GetString("UoNLShort", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Touhou 12.5: Hisoutensoku. + /// + public static string UoNLTitle { + get { + return ResourceManager.GetString("UoNLTitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Applocale. + /// + public static string useApplocale { + get { + return ResourceManager.GetString("useApplocale", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Violet Detector. + /// + public static string VD { + get { + return ResourceManager.GetString("VD", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to VD. + /// + public static string VDShort { + get { + return ResourceManager.GetString("VDShort", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Touhou 16.5: Violet Detector. + /// + public static string VDTitle { + get { + return ResourceManager.GetString("VDTitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Просмотр. + /// + public static string viewToolStripMenuItem { + get { + return ResourceManager.GetString("viewToolStripMenuItem", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Настройка игры Windows. + /// + public static string windowsSettings { + get { + return ResourceManager.GetString("windowsSettings", resourceCulture); + } + } + } +} diff --git a/Touhou Launcher/Resources_ru.resx b/Touhou Launcher/Resources_ru.resx new file mode 100644 index 0000000..15ccf50 --- /dev/null +++ b/Touhou Launcher/Resources_ru.resx @@ -0,0 +1,647 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Antinomy of Common Flowers + + + Touhou 15.5: Antinomy of Common Flowers + + + Double Drealing Character + + + Touhou 14: Double Dealing Character + + + Double Spoiler + + + Touhou 12.3: Double Spoiler + + + Embodiment of Scarlet Devil + + + Touhou 06: the Embodiment of Scarlet Devil + + + Great Fairy Wars + + + Touhou 12.8: Great Fairy Wars + + + Hopeless Masquerade + + + Touhou 13.5: Hopeless Masquerade + + + Highly Responsive to Prayers + + + Touhou 01: Highly Responsive to Prayers + + + Hidden Star in Four Seasons + + + Touhou 16: Hidden Star in Four Seasons + + + Immaterial and Missing Power + + + Touhou 7.5: Immaterial and Missing Power + + + Imperishable Night + + + Touhou 08: Imperishable Night + + + Impossible Spell Card + + + Touhou 14.3: Impossible Spell Card + + + Lotus Land Story + + + Touhou 04: Lotus Land Story + + + Legacy of Lunatic Kingdom + + + Touhou 15: Legacy of Lunatic Kingdom + + + Mountain of Faith + + + Touhou 10: Mountain of Faith + + + Mystic Square + + + Touhou 05: Mystic Square + + + Perfect Cherry Blossom + + + Touhou 07: Perfect Cherry Blossom + + + Phantasmagoria of Dim. Dream + + + Touhou 03: Phantasmagoria of Dim. Dream + + + Phantasmagoria of Flower View + + + Touhou 09: Phantasmagoria of Flower View + + + Subterranean Animism + + + Touhou 11: Subterranean Animism + + + Story of Eastern Wonderland + + + Touhou 02: the Story of Eastern Wonderland + + + Shoot the Bullet + + + Touhou 9.5: Shoot the Bullet + + + Scarlet Weather Rhapsody + + + Touhou 10.5: Scarlet Weather Rhapsody + + + Ten Desires + + + Touhou 13: Ten Desires + + + Undefined Fantastic Object + + + Touhou 12: Undefined Fantastic Object + + + Urban Legend in Limbo + + + Touhou 14.5: Urban Legend in Limbo + + + Hisoutensoku + + + Touhou 12.5: Hisoutensoku + + + Violet Detector + + + Touhou 16.5: Violet Detector + + + Случайная + + + Запуск случайной игры + + + Touhou Launcher + + + Файтинги + + + Основные игры + + + Ответвления + + + AoCF + + + Автозакрытие + + + Автоматически закрывать лаучер после запуска игры + + + Чёрно-белая обложка + + + Цветная обложка + + + Настройка обложек + + + Обзор + + + Кастомные обложки + + + Настройка игры + + + Профиль thcrap: + + + Добавить игру + + + Кастомные игры + + + Custom.exe: + + + DDC + + + Запуск по умолч. + + + Удалить категорию + + + DS + + + Английский файл запуска: + + + EoSD + + + Игры + + + GFW + + + Игра в .HDI: + + + HM + + + HRtP + + + HSiFS + + + IaMP + + + Инфо + + + IN + + + ISC + + + Японский/vpatch файл запуска: + + + Язык: + + + Запуск + + + Настройка запуска + + + LLS + + + LoLK + + + MoF + + + MS + + + Новая категория + + + Путь к Neko Project II + + + Открыть папку игры + + + Открыть папку Neko Project II + + + Папка повторов + + + vpatch.ini + + + Настройки игры PC-98 + + + PCB + + + PoDD + + + PoFV + + + Добавить всё + + + Игры которые участвуют в случайном запуске + + + Убрать всё + + + Настройка случайных игр + + + Переименовать категорию + + + Повторы + + + SA + + + Настройки + + + SoEW + + + StB + + + SWR + + + TD + + + UFO + + + ULiL + + + Hisoutensoku + + + Applocale + + + VD + + + Настройка игры Windows + + + Все файлы + + + По возрастанию + + + Выбор чёрно-белой обложки + + + Выбор цветной обложки + + + Япон./vpatch.ini, Англ. (non-THCRAP), Custom.exe, thcrap + + + Удалить + + + По убыванию + + + Детали + + + Не удается найти папку Appdata + + + Файл не найден + + + Пожалуйста, укажите путь к Neko Project II + + + Неудаеться открыть изображение: + + + Папка повторов не найдена + + + vpatch.ini не найден + + + Исполняемый файл + + + Выберите исполняемы файл + + + Файлы образов жесткого диска + + + Выберите игры в .HDI + + + Файл изображения + + + Крупные иконки + + + Список + + + Укажите путь к Neko Project II + + + Папка Appdata + + + Открыть папку + + + Открыть с Applocale + + + Запустить случайно + + + Переименовать + + + Мелкие иконки + + + Сортировка + + + Плитка + + + Просмотр + + + Файлы "ini" Neko Project II недействителен + + + Игра не найдена + + + Файл повтров + + + Скачать '{0}' в: +'{1}' + + + Повторы игрока заполнены и Touhou 10 не поддерживает пользовательские повторы. + + + + Настройка игры: + + + Свернуть в трей + + + Всегда отображать иконку в трее + + + Удалить категорию '{0}' и весь контент в ней? + + + Удалить '{0}'? + + + Пожалуйста, укажите путь к thcrap + + + Настройка thcrap + + + Путь к thcrap_loader: + + + Пожалуйста, укажите профиль thcrap + + + Не одна игра не выбрана + + + Скачать повтор? + + + Выход + + + Открыть + + + Случайная игра + + \ No newline at end of file diff --git a/Touhou Launcher/Touhou Launcher.csproj b/Touhou Launcher/Touhou Launcher.csproj index 08157ce..7aefd9d 100644 --- a/Touhou Launcher/Touhou Launcher.csproj +++ b/Touhou Launcher/Touhou Launcher.csproj @@ -79,6 +79,11 @@ True Resources_jp.resx + + True + True + Resources_ru.resx + ConfigForm.cs @@ -103,6 +108,10 @@ PublicResXFileCodeGenerator Resources_jp.Designer.cs + + PublicResXFileCodeGenerator + Resources_ru.Designer.cs + PublicSettingsSingleFileGenerator Settings.Designer.cs