From 26801a78835be549a2d2792b36e707373435355e Mon Sep 17 00:00:00 2001 From: xien <2383759126@qq.com> Date: Sat, 31 Aug 2024 16:44:31 +0800 Subject: [PATCH 1/8] i18n --- src/AdditionalPylons/AdditionalPylons.csproj | 4 +++ .../AdditionalPylonsPlugin.cs | 31 +++++++++++-------- 2 files changed, 22 insertions(+), 13 deletions(-) diff --git a/src/AdditionalPylons/AdditionalPylons.csproj b/src/AdditionalPylons/AdditionalPylons.csproj index f489ab64e..9154033a4 100644 --- a/src/AdditionalPylons/AdditionalPylons.csproj +++ b/src/AdditionalPylons/AdditionalPylons.csproj @@ -2,4 +2,8 @@ + + + + \ No newline at end of file diff --git a/src/AdditionalPylons/AdditionalPylonsPlugin.cs b/src/AdditionalPylons/AdditionalPylonsPlugin.cs index 2aede1418..62e663944 100644 --- a/src/AdditionalPylons/AdditionalPylonsPlugin.cs +++ b/src/AdditionalPylons/AdditionalPylonsPlugin.cs @@ -11,8 +11,6 @@ namespace AdditionalPylons; [ApiVersion(2, 1)] public class AdditionalPylonsPlugin : TerrariaPlugin { - - #region Plugin Properties public override string Name => "[放置更多晶塔] AdditionalPylons"; @@ -20,7 +18,7 @@ public class AdditionalPylonsPlugin : TerrariaPlugin public override string Author => "Stealownz,肝帝熙恩优化1449"; - public override string Description => " 自定义晶塔可放置的数量,至少为一个,且所有晶塔都无视环境"; + public override string Description => GetString("自定义晶塔可放置的数量,至少为一个,且所有晶塔都无视环境"); public AdditionalPylonsPlugin(Main game) : base(game) @@ -44,7 +42,7 @@ private static void LoadConfig() private static void ReloadConfig(ReloadEventArgs args) { LoadConfig(); - args.Player?.SendSuccessMessage("[{0}]重新加载配置完毕。", typeof(AdditionalPylonsPlugin).Name); + args.Player?.SendSuccessMessage(GetString("[无限晶塔]重新加载配置完毕.")); } #region Plugin Overrides @@ -218,7 +216,7 @@ private void SendPlayerPylonSystem(int playerId, bool addPylons) case 4875: if (count >= Config.JungleTowerLimit) { - TShock.Players[playerId].SendErrorMessage("丛林晶塔数量已达到上限。"); + TShock.Players[playerId].SendErrorMessage(GetString("丛林晶塔数量已达到上限。")); return; } break; @@ -226,56 +224,63 @@ private void SendPlayerPylonSystem(int playerId, bool addPylons) case 4876: if (count >= Config.ForestTowerLimit) { - TShock.Players[playerId].SendErrorMessage("森林晶塔数量已达到上限。"); + TShock.Players[playerId].SendErrorMessage(GetString("森林晶塔数量已达到上限。")); return; } break; + case 4916: if (count >= Config.HolyTowerLimit) { - TShock.Players[playerId].SendErrorMessage("神圣晶塔数量已达到上限。"); + TShock.Players[playerId].SendErrorMessage(GetString("神圣晶塔数量已达到上限。")); return; } break; + case 4917: if (count >= Config.CaveTowerLimit) { - TShock.Players[playerId].SendErrorMessage("洞穴晶塔数量已达到上限。"); + TShock.Players[playerId].SendErrorMessage(GetString("洞穴晶塔数量已达到上限。")); return; } break; + case 4918: if (count >= Config.OceanTowerLimit) { - TShock.Players[playerId].SendErrorMessage("海洋晶塔数量已达到上限。"); + TShock.Players[playerId].SendErrorMessage(GetString("海洋晶塔数量已达到上限。")); return; } break; + case 4919: if (count >= Config.DesertTowerLimit) { - TShock.Players[playerId].SendErrorMessage("沙漠晶塔数量已达到上限。"); + TShock.Players[playerId].SendErrorMessage(GetString("沙漠晶塔数量已达到上限。")); return; } break; + case 4920: if (count >= Config.SnowTowerLimit) { - TShock.Players[playerId].SendErrorMessage("雪原晶塔数量已达到上限。"); + TShock.Players[playerId].SendErrorMessage(GetString("雪原晶塔数量已达到上限。")); return; } break; + case 4921: if (count >= Config.MushroomTowerLimit) { - TShock.Players[playerId].SendErrorMessage("蘑菇晶塔数量已达到上限。"); + TShock.Players[playerId].SendErrorMessage(GetString("蘑菇晶塔数量已达到上限。")); return; } break; + case 4951: if (count >= Config.UniversalTowerLimit) { - TShock.Players[playerId].SendErrorMessage("万能晶塔数量已达到上限。"); + TShock.Players[playerId].SendErrorMessage(GetString("万能晶塔数量已达到上限。")); return; } break; From 30235f2f46aa863185a6cce282b70972354d8c81 Mon Sep 17 00:00:00 2001 From: xien <2383759126@qq.com> Date: Sun, 1 Sep 2024 11:46:03 +0800 Subject: [PATCH 2/8] =?UTF-8?q?=E6=9B=B4=E6=96=B0=EF=BC=9Ai18n?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AdditionalPylonsPlugin.cs | 14 ++--- src/AdditionalPylons/Configuration.cs | 12 ++-- src/AdditionalPylons/README.md | 2 + src/AdditionalPylons/i18n/en-US.po | 57 +++++++++++++++++++ src/AdditionalPylons/i18n/template.pot | 56 ++++++++++++++++++ 5 files changed, 128 insertions(+), 13 deletions(-) create mode 100644 src/AdditionalPylons/i18n/en-US.po create mode 100644 src/AdditionalPylons/i18n/template.pot diff --git a/src/AdditionalPylons/AdditionalPylonsPlugin.cs b/src/AdditionalPylons/AdditionalPylonsPlugin.cs index 62e663944..25f24615a 100644 --- a/src/AdditionalPylons/AdditionalPylonsPlugin.cs +++ b/src/AdditionalPylons/AdditionalPylonsPlugin.cs @@ -14,7 +14,7 @@ public class AdditionalPylonsPlugin : TerrariaPlugin #region Plugin Properties public override string Name => "[放置更多晶塔] AdditionalPylons"; - public override Version Version => new Version(1, 0, 1); + public override Version Version => new Version(1, 0, 2); public override string Author => "Stealownz,肝帝熙恩优化1449"; @@ -222,7 +222,7 @@ private void SendPlayerPylonSystem(int playerId, bool addPylons) break; case 4876: - if (count >= Config.ForestTowerLimit) + if (count >= Config.SurfacePurityTowerLimit) { TShock.Players[playerId].SendErrorMessage(GetString("森林晶塔数量已达到上限。")); return; @@ -230,7 +230,7 @@ private void SendPlayerPylonSystem(int playerId, bool addPylons) break; case 4916: - if (count >= Config.HolyTowerLimit) + if (count >= Config.HallowTowerLimit) { TShock.Players[playerId].SendErrorMessage(GetString("神圣晶塔数量已达到上限。")); return; @@ -238,7 +238,7 @@ private void SendPlayerPylonSystem(int playerId, bool addPylons) break; case 4917: - if (count >= Config.CaveTowerLimit) + if (count >= Config.UndergroundTowerLimit) { TShock.Players[playerId].SendErrorMessage(GetString("洞穴晶塔数量已达到上限。")); return; @@ -246,7 +246,7 @@ private void SendPlayerPylonSystem(int playerId, bool addPylons) break; case 4918: - if (count >= Config.OceanTowerLimit) + if (count >= Config.BeachTowerLimit) { TShock.Players[playerId].SendErrorMessage(GetString("海洋晶塔数量已达到上限。")); return; @@ -270,7 +270,7 @@ private void SendPlayerPylonSystem(int playerId, bool addPylons) break; case 4921: - if (count >= Config.MushroomTowerLimit) + if (count >= Config.GlowingMushroomTowerLimit) { TShock.Players[playerId].SendErrorMessage(GetString("蘑菇晶塔数量已达到上限。")); return; @@ -278,7 +278,7 @@ private void SendPlayerPylonSystem(int playerId, bool addPylons) break; case 4951: - if (count >= Config.UniversalTowerLimit) + if (count >= Config.VictoryTowerLimit) { TShock.Players[playerId].SendErrorMessage(GetString("万能晶塔数量已达到上限。")); return; diff --git a/src/AdditionalPylons/Configuration.cs b/src/AdditionalPylons/Configuration.cs index 4f6ff0fdf..b12adc5da 100644 --- a/src/AdditionalPylons/Configuration.cs +++ b/src/AdditionalPylons/Configuration.cs @@ -10,21 +10,21 @@ internal class Configuration [JsonProperty("丛林晶塔数量上限")] public int JungleTowerLimit = 2; [JsonProperty("森林晶塔数量上限")] - public int ForestTowerLimit = 2; + public int SurfacePurityTowerLimit = 2; [JsonProperty("神圣晶塔数量上限")] - public int HolyTowerLimit = 2; + public int HallowTowerLimit = 2; [JsonProperty("洞穴晶塔数量上限")] - public int CaveTowerLimit = 2; + public int UndergroundTowerLimit = 2; [JsonProperty("海洋晶塔数量上限")] - public int OceanTowerLimit = 2; + public int BeachTowerLimit = 2; [JsonProperty("沙漠晶塔数量上限")] public int DesertTowerLimit = 2; [JsonProperty("雪原晶塔数量上限")] public int SnowTowerLimit = 2; [JsonProperty("蘑菇晶塔数量上限")] - public int MushroomTowerLimit = 2; + public int GlowingMushroomTowerLimit = 2; [JsonProperty("万能晶塔数量上限")] - public int UniversalTowerLimit = 2; + public int VictoryTowerLimit = 2; public void Write(string path) diff --git a/src/AdditionalPylons/README.md b/src/AdditionalPylons/README.md index bb9f91ba0..e1a299cee 100644 --- a/src/AdditionalPylons/README.md +++ b/src/AdditionalPylons/README.md @@ -7,6 +7,8 @@ ## 更新日志 ``` +v1.0.2 +i18n适配 v1.0.1 完善卸载函数 ``` diff --git a/src/AdditionalPylons/i18n/en-US.po b/src/AdditionalPylons/i18n/en-US.po new file mode 100644 index 000000000..4cd198bb6 --- /dev/null +++ b/src/AdditionalPylons/i18n/en-US.po @@ -0,0 +1,57 @@ +msgid "" +msgstr "" +"Project-Id-Version: \n" +"POT-Creation-Date: 2024-09-01 10:36:56+0800\n" +"PO-Revision-Date: 2024-09-01 11:04+0800\n" +"Last-Translator: \n" +"Language-Team: \n" +"Language: en\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 3.5\n" +"X-Poedit-Basepath: .\n" + +#: ..\..\AdditionalPylonsPlugin.cs:45 +msgid "[无限晶塔]重新加载配置完毕." +msgstr "[AdditionalPylons] Config reloaded." + +#: ..\..\AdditionalPylonsPlugin.cs:219 +msgid "丛林晶塔数量已达到上限。" +msgstr "The number of Jungle crystal towers has reached its maximum." + +#: ..\..\AdditionalPylonsPlugin.cs:243 +msgid "洞穴晶塔数量已达到上限。" +msgstr "The number of Underground crystal towers has reached its maximum." + +#: ..\..\AdditionalPylonsPlugin.cs:251 +msgid "海洋晶塔数量已达到上限。" +msgstr "The number of Beach crystal towers has reached its maximum." + +#: ..\..\AdditionalPylonsPlugin.cs:275 +msgid "蘑菇晶塔数量已达到上限。" +msgstr "The number of Glowing Mushroom crystal towers has reached its maximum." + +#: ..\..\AdditionalPylonsPlugin.cs:227 +msgid "森林晶塔数量已达到上限。" +msgstr "The number of Surface Purity crystal towers has reached its maximum." + +#: ..\..\AdditionalPylonsPlugin.cs:259 +msgid "沙漠晶塔数量已达到上限。" +msgstr "The number of Desert crystal towers has reached its maximum." + +#: ..\..\AdditionalPylonsPlugin.cs:235 +msgid "神圣晶塔数量已达到上限。" +msgstr "The number of Hallow crystal towers has reached its maximum." + +#: ..\..\AdditionalPylonsPlugin.cs:283 +msgid "万能晶塔数量已达到上限。" +msgstr "The number of Victory crystal towers has reached its maximum." + +#: ..\..\AdditionalPylonsPlugin.cs:267 +msgid "雪原晶塔数量已达到上限。" +msgstr "The number of Snow crystal towers has reached its maximum." + +#: ..\..\AdditionalPylonsPlugin.cs:21 +msgid "自定义晶塔可放置的数量,至少为一个,且所有晶塔都无视环境" +msgstr "Customize the number of crystal towers that can be placed, at least one, and all of them ignore the environment" diff --git a/src/AdditionalPylons/i18n/template.pot b/src/AdditionalPylons/i18n/template.pot new file mode 100644 index 000000000..d7dbbc8a6 --- /dev/null +++ b/src/AdditionalPylons/i18n/template.pot @@ -0,0 +1,56 @@ +msgid "" +msgstr "" +"Project-Id-Version: AdditionalPylons\n" +"POT-Creation-Date: 2024-09-01 10:36:56+0800\n" +"PO-Revision-Date: 2024-09-01 10:36:57+0800\n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: GetText.NET Extractor\n" + +#: ..\..\AdditionalPylonsPlugin.cs:45 +msgid "[无限晶塔]重新加载配置完毕." +msgstr "" + +#: ..\..\AdditionalPylonsPlugin.cs:219 +msgid "丛林晶塔数量已达到上限。" +msgstr "" + +#: ..\..\AdditionalPylonsPlugin.cs:243 +msgid "洞穴晶塔数量已达到上限。" +msgstr "" + +#: ..\..\AdditionalPylonsPlugin.cs:251 +msgid "海洋晶塔数量已达到上限。" +msgstr "" + +#: ..\..\AdditionalPylonsPlugin.cs:275 +msgid "蘑菇晶塔数量已达到上限。" +msgstr "" + +#: ..\..\AdditionalPylonsPlugin.cs:227 +msgid "森林晶塔数量已达到上限。" +msgstr "" + +#: ..\..\AdditionalPylonsPlugin.cs:259 +msgid "沙漠晶塔数量已达到上限。" +msgstr "" + +#: ..\..\AdditionalPylonsPlugin.cs:235 +msgid "神圣晶塔数量已达到上限。" +msgstr "" + +#: ..\..\AdditionalPylonsPlugin.cs:283 +msgid "万能晶塔数量已达到上限。" +msgstr "" + +#: ..\..\AdditionalPylonsPlugin.cs:267 +msgid "雪原晶塔数量已达到上限。" +msgstr "" + +#: ..\..\AdditionalPylonsPlugin.cs:21 +msgid "自定义晶塔可放置的数量,至少为一个,且所有晶塔都无视环境" +msgstr "" + From 40e1f1d9c88a6054fce17739589880fcfaf4d3ff Mon Sep 17 00:00:00 2001 From: xien <2383759126@qq.com> Date: Sun, 1 Sep 2024 12:35:50 +0800 Subject: [PATCH 3/8] =?UTF-8?q?=E6=9B=B4=E6=96=B0=EF=BC=9A=E5=85=88GetStri?= =?UTF-8?q?ng=EF=BC=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AutoPluginManager.csproj | 4 + src/AutoPluginManager/Plugin.cs | 86 +++++++++---------- src/AutoStoreItems/AutoStoreItems.cs | 14 +-- src/AutoTeam/AutoTeamPlus.cs | 18 ++-- src/Autoclear/Autoclear.cs | 10 +-- src/Autoclear/Autoclear.csproj | 4 + 6 files changed, 72 insertions(+), 64 deletions(-) diff --git a/src/AutoPluginManager/AutoPluginManager.csproj b/src/AutoPluginManager/AutoPluginManager.csproj index b1a6c41f7..983d08261 100644 --- a/src/AutoPluginManager/AutoPluginManager.csproj +++ b/src/AutoPluginManager/AutoPluginManager.csproj @@ -2,4 +2,8 @@ + + + + \ No newline at end of file diff --git a/src/AutoPluginManager/Plugin.cs b/src/AutoPluginManager/Plugin.cs index 97b2fed68..2cf62de7b 100644 --- a/src/AutoPluginManager/Plugin.cs +++ b/src/AutoPluginManager/Plugin.cs @@ -11,13 +11,13 @@ namespace AutoPluginManager; [ApiVersion(2, 1)] public class Plugin : TerrariaPlugin { - public override string Name => "AutoPluginManager"; + public override string Name => GetString("AutoPluginManager"); public override Version Version => new(2, 0, 1, 3); public override string Author => "少司命,Cai"; - public override string Description => "自动更新你的插件!"; + public override string Description => GetString("自动更新你的插件!"); private const string GiteeReleaseUrl = "https://gitee.com/kksjsj/TShockPlugin/releases/download/V1.0.0.0/Plugins.zip"; @@ -65,7 +65,7 @@ protected override void Dispose(bool disposing) private void GeneralHooksOnReloadEvent(ReloadEventArgs e) { Config.Read(); - e.Player.SendSuccessMessage("[AutoUpdatePlugin]插件配置已重载~"); + e.Player.SendSuccessMessage(GetString("[AutoUpdatePlugin]插件配置已重载~")); } private void AutoCheckUpdate(EventArgs args) { @@ -79,15 +79,15 @@ private void AutoCheckUpdate(EventArgs args) var updates = GetUpdates(); if (updates.Any()) { - TShock.Log.ConsoleInfo("[以下插件有新的版本更新]\n" + string.Join("\n", updates.Select(i => $"[{i.Name}] V{i.OldVersion} >>> V{i.NewVersion}"))); + TShock.Log.ConsoleInfo(GetString("[以下插件有新的版本更新]\n" + string.Join("\n", updates.Select(i => $"[{i.Name}] V{i.OldVersion} >>> V{i.NewVersion}")))); if (Config.PluginConfig.AutoUpdate) { - TShock.Log.ConsoleInfo("正在自动更新插件..."); + TShock.Log.ConsoleInfo(GetString("正在自动更新插件...")); this.UpdateCmd(TSPlayer.Server, Array.Empty()); } else { - TShock.Log.ConsoleInfo("你可以使用命令/apm -u 更新插件哦~"); + TShock.Log.ConsoleInfo(GetString("你可以使用命令/apm -u 更新插件哦~")); } @@ -96,7 +96,7 @@ private void AutoCheckUpdate(EventArgs args) } catch (Exception ex) { - TShock.Log.ConsoleInfo("[AutoUpdate]无法获取更新:" + ex.Message); + TShock.Log.ConsoleInfo(GetString("[AutoUpdate]无法获取更新:") + ex.Message); return; } }; @@ -130,55 +130,55 @@ private void PluginManager(CommandArgs args) else if (args.Parameters.Count == 1 && (args.Parameters[0].ToLower() == "-l" || args.Parameters[0].ToLower() == "l")) { var repo = GetRepoPlugin(); - args.Player.SendInfoMessage("可安装插件列表:"); + args.Player.SendInfoMessage(GetString("可安装插件列表:")); for (var i = 0; i < repo.Count; i++) { args.Player.SendInfoMessage($"{i + 1}.{repo[i].Name} v{repo[i].Version} (by {repo[i].Author}) - {repo[i].Description}"); } - args.Player.SendInfoMessage("*使用/apm -i <序号> 即可安装哦~"); + args.Player.SendInfoMessage(GetString("*使用/apm -i <序号> 即可安装哦~")); } else if (args.Parameters.Count == 2 && (args.Parameters[0].ToLower() == "-b" || args.Parameters[0].ToLower() == "b")) { var plugins = GetPlugins(); if (!plugins.Exists(p => p.Name == args.Parameters[1])) { - args.Player.SendErrorMessage("排除失败, 没有在你的插件列表里找到这个插件呢~"); + args.Player.SendErrorMessage(GetString("排除失败, 没有在你的插件列表里找到这个插件呢~")); return; } Config.PluginConfig.UpdateBlackList.Add(args.Parameters[1]); Config.PluginConfig.Write(); - args.Player.SendSuccessMessage("排除成功, 已跳过此插件的更新检查~"); + args.Player.SendSuccessMessage(GetString("排除成功, 已跳过此插件的更新检查~")); } else if (args.Parameters.Count == 2 && (args.Parameters[0].ToLower() == "-rb" || args.Parameters[0].ToLower() == "rb")) { if (!Config.PluginConfig.UpdateBlackList.Contains(args.Parameters[1])) { - args.Player.SendErrorMessage("删除失败, 没有在你的插件列表里找到这个插件呢~"); + args.Player.SendErrorMessage(GetString("删除失败, 没有在你的插件列表里找到这个插件呢~")); return; } Config.PluginConfig.UpdateBlackList.Remove(args.Parameters[1]); Config.PluginConfig.Write(); - args.Player.SendSuccessMessage("删除成功, 此插件将会被检查更新~"); + args.Player.SendSuccessMessage(GetString("删除成功, 此插件将会被检查更新~")); } else if (args.Parameters.Count == 1 && (args.Parameters[0].ToLower() == "-lb" || args.Parameters[0].ToLower() == "lb")) { if (Config.PluginConfig.UpdateBlackList.Count == 0) { - args.Player.SendSuccessMessage("当前没有排除任何一个插件哦~"); + args.Player.SendSuccessMessage(GetString("当前没有排除任何一个插件哦~")); return; } - args.Player.SendErrorMessage("插件更新排除列表:\n" + string.Join('\n', Config.PluginConfig.UpdateBlackList)); + args.Player.SendErrorMessage(GetString("插件更新排除列表:\n") + string.Join('\n', Config.PluginConfig.UpdateBlackList)); } else { - args.Player.SendInfoMessage("apm c 检测已安装插件更新"); - args.Player.SendInfoMessage("apm u [插件名] 更新所有插件或指定插件"); - args.Player.SendInfoMessage("apm i [序号] 安装指定插件"); - args.Player.SendInfoMessage("apm l 查看可安装插件表"); - args.Player.SendInfoMessage("apm b [插件名字] 更新时跳过指定插件"); - args.Player.SendInfoMessage("apm rb [插件名字] 取消更新排除"); - args.Player.SendInfoMessage("apm lb 查看更新排除列表"); + args.Player.SendInfoMessage(GetString("apm c 检测已安装插件更新")); + args.Player.SendInfoMessage(GetString("apm u [插件名] 更新所有插件或指定插件")); + args.Player.SendInfoMessage(GetString("apm i [序号] 安装指定插件")); + args.Player.SendInfoMessage(GetString("apm l 查看可安装插件表")); + args.Player.SendInfoMessage(GetString("apm b [插件名字] 更新时跳过指定插件")); + args.Player.SendInfoMessage(GetString("apm rb [插件名字] 取消更新排除")); + args.Player.SendInfoMessage(GetString("apm lb 查看更新排除列表")); } } @@ -186,7 +186,7 @@ private void InstallCmd(TSPlayer Player, IEnumerable target) { if (!target.Any()) { - Player.SendErrorMessage("无效参数,请附带需要安装插件的选择项!"); + Player.SendErrorMessage(GetString("无效参数,请附带需要安装插件的选择项!")); return; } try @@ -202,21 +202,21 @@ private void InstallCmd(TSPlayer Player, IEnumerable target) } if (installs.Count == 0) { - Player.SendErrorMessage("序号无效,请附带需要安装插件的选择项!"); + Player.SendErrorMessage(GetString("序号无效,请附带需要安装插件的选择项!")); return; } - Player.SendInfoMessage("正在下载最新插件包..."); + Player.SendInfoMessage(GetString("正在下载最新插件包...")); DownLoadPlugin(); - Player.SendInfoMessage("正在解压插件包..."); + Player.SendInfoMessage(GetString("正在解压插件包...")); ExtractDirectoryZip(); - Player.SendInfoMessage("正在安装插件..."); + Player.SendInfoMessage(GetString("正在安装插件...")); InstallPlugin(installs); - Player.SendSuccessMessage("[安装完成]\n" + string.Join("\n", installs.Select(i => $"[{i.Name}] V{i.Version}"))); - Player.SendSuccessMessage("重启服务器后插件生效!"); + Player.SendSuccessMessage(GetString("[安装完成]\n") + string.Join("\n", installs.Select(i => $"[{i.Name}] V{i.Version}"))); + Player.SendSuccessMessage(GetString("重启服务器后插件生效!")); } catch (Exception ex) { - Player.SendErrorMessage("安装插件出现错误:" + ex.Message); + Player.SendErrorMessage(GetString("安装插件出现错误:") + ex.Message); } } @@ -227,7 +227,7 @@ private void UpdateCmd(TSPlayer Player, string[] target) var updates = GetUpdates(); if (updates.Count == 0) { - Player.SendSuccessMessage("你的插件全是最新版本,无需更新哦~"); + Player.SendSuccessMessage(GetString("你的插件全是最新版本,无需更新哦~")); return; } if (target.Length != 0) @@ -239,23 +239,23 @@ private void UpdateCmd(TSPlayer Player, string[] target) return; } } - Player.SendInfoMessage("正在下载最新插件包..."); + Player.SendInfoMessage(GetString("正在下载最新插件包...")); DownLoadPlugin(); - Player.SendInfoMessage("正在解压插件包..."); + Player.SendInfoMessage(GetString("正在解压插件包...")); ExtractDirectoryZip(); - Player.SendInfoMessage("正在升级插件..."); + Player.SendInfoMessage(GetString("正在升级插件...")); var success = UpdatePlugin(updates); if (success.Count == 0) { - Player.SendSuccessMessage("更新了个寂寞~"); + Player.SendSuccessMessage(GetString("更新了个寂寞~")); return; } - Player.SendSuccessMessage("[更新完成]\n" + string.Join("\n", success.Select(i => $"[{i.Name}] V{i.OldVersion} >>> V{i.NewVersion}"))); - Player.SendSuccessMessage("重启服务器后插件生效!"); + Player.SendSuccessMessage(GetString("[更新完成]\n") + string.Join("\n", success.Select(i => $"[{i.Name}] V{i.OldVersion} >>> V{i.NewVersion}"))); + Player.SendSuccessMessage(GetString("重启服务器后插件生效!")); } catch (Exception ex) { - Player.SendErrorMessage("自动更新出现错误:" + ex.Message); + Player.SendErrorMessage(GetString("自动更新出现错误:") + ex.Message); return; } } @@ -267,14 +267,14 @@ private void CheckCmd(TSPlayer Player) var updates = GetUpdates(); if (updates.Count == 0) { - Player.SendSuccessMessage("你的插件全是最新版本,无需更新哦~"); + Player.SendSuccessMessage(GetString("你的插件全是最新版本,无需更新哦~")); return; } - Player.SendInfoMessage("[以下插件有新的版本更新]\n" + string.Join("\n", updates.Select(i => $"[{i.Name}] V{i.OldVersion} >>> V{i.NewVersion}"))); + Player.SendInfoMessage(GetString("[以下插件有新的版本更新]\n") + string.Join("\n", updates.Select(i => $"[{i.Name}] V{i.OldVersion} >>> V{i.NewVersion}"))); } catch (Exception ex) { - Player.SendErrorMessage("无法获取更新:" + ex.Message); + Player.SendErrorMessage(GetString("无法获取更新:") + ex.Message); return; } } @@ -326,7 +326,7 @@ private static List GetRepoPlugin() if (!response.IsSuccessStatusCode) { - throw new Exception("无法连接服务器"); + throw new Exception(GetString("无法连接服务器")); } var json = response.Content.ReadAsStringAsync().Result; @@ -429,7 +429,7 @@ private static List UpdatePlugin(List plugin } else { - TShock.Log.ConsoleWarn($"[跳过更新]无法在本地找到插件{currentPluginInfo.Name}({destinationPath}),可能是云加载或使用-additionalplugins加载"); + TShock.Log.ConsoleWarn(GetString($"[跳过更新]无法在本地找到插件{currentPluginInfo.Name}({destinationPath}),可能是云加载或使用-additionalplugins加载")); pluginUpdateInfos.RemoveAt(i); // 移除元素 } } diff --git a/src/AutoStoreItems/AutoStoreItems.cs b/src/AutoStoreItems/AutoStoreItems.cs index 0e164fb7c..a7f5c4e8b 100644 --- a/src/AutoStoreItems/AutoStoreItems.cs +++ b/src/AutoStoreItems/AutoStoreItems.cs @@ -11,7 +11,7 @@ public class AutoStoreItems : TerrariaPlugin { #region 插件信息 - public override string Name => "自动存储"; + public override string Name => GetString("自动存储"); public override string Author => "羽学 cmgy雱"; public override Version Version => new Version(1, 2, 4); public override string Description => "涡轮增压不蒸鸭"; @@ -48,7 +48,7 @@ private static void LoadConfig() Config = Configuration.Read(); WriteName(); Config.Write(); - TShock.Log.ConsoleInfo("[自动存储]重新加载配置完毕。"); + TShock.Log.ConsoleInfo(GetString("[自动存储]重新加载配置完毕。")); } #endregion @@ -137,10 +137,10 @@ private void PlayerUpdate(object? sender, GetDataHandlers.PlayerUpdateEventArgs CoinToBank(plr, i); } - stored |= AutoStoredItem(plr, plr.TPlayer.bank.item, PlayerItemSlotID.Bank1_0, "存钱罐") && Config.bank1; - stored |= AutoStoredItem(plr, plr.TPlayer.bank2.item, PlayerItemSlotID.Bank2_0, "保险箱") && Config.bank2; - stored |= AutoStoredItem(plr, plr.TPlayer.bank3.item, PlayerItemSlotID.Bank3_0, "护卫熔炉") && Config.bank3; - stored |= AutoStoredItem(plr, plr.TPlayer.bank4.item, PlayerItemSlotID.Bank4_0, "虚空袋") && Config.bank4; + stored |= AutoStoredItem(plr, plr.TPlayer.bank.item, PlayerItemSlotID.Bank1_0, GetString("存钱罐")) && Config.bank1; + stored |= AutoStoredItem(plr, plr.TPlayer.bank2.item, PlayerItemSlotID.Bank2_0, GetString("保险箱")) && Config.bank2; + stored |= AutoStoredItem(plr, plr.TPlayer.bank3.item, PlayerItemSlotID.Bank3_0, GetString("护卫熔炉")) && Config.bank3; + stored |= AutoStoredItem(plr, plr.TPlayer.bank4.item, PlayerItemSlotID.Bank4_0, GetString("虚空袋")) && Config.bank4; if (stored) { @@ -189,7 +189,7 @@ public static bool AutoStoredItem(TSPlayer tplr, Item[] bankItems, int bankSlot, if (Config.Mess) { - tplr.SendMessage($"【自动储存】已将'[c/92C5EC:{bank.Name}]'存入您的{bankName} 当前数量: {bank.stack}", 255, 246, 158); + tplr.SendMessage(GetString($"【自动储存】已将'[c/92C5EC:{bank.Name}]'存入您的{bankName} 当前数量: {bank.stack}"), 255, 246, 158); } return true; diff --git a/src/AutoTeam/AutoTeamPlus.cs b/src/AutoTeam/AutoTeamPlus.cs index 19122b29c..bc7cff9bb 100644 --- a/src/AutoTeam/AutoTeamPlus.cs +++ b/src/AutoTeam/AutoTeamPlus.cs @@ -11,8 +11,8 @@ public class Autoteam : TerrariaPlugin { public override string Author => "十七改,肝帝熙恩改"; public override Version Version => new Version(2, 4, 1); - public override string Description => "自动队伍"; - public override string Name => "AutoTeamPlus"; + public override string Description => GetString("自动队伍"); + public override string Name => GetString("更好的自动队伍"); public static Configuration Config; public Autoteam(Main game) : base(game) @@ -29,7 +29,7 @@ private static void LoadConfig() private static void ReloadConfig(ReloadEventArgs args) { LoadConfig(); - args.Player?.SendSuccessMessage("[{0}] 重新加载配置完毕。", typeof(Autoteam).Name); + args.Player?.SendSuccessMessage(GetString("[自动队伍] 重新加载配置完毕。")); } public override void Initialize() @@ -61,7 +61,7 @@ private void TogglePlugin(CommandArgs args) if (parameters.Count < 1) { - player.SendErrorMessage("用法: /autoteam "); + player.SendErrorMessage(GetString("用法: /autoteam ")); return; } @@ -70,14 +70,14 @@ private void TogglePlugin(CommandArgs args) { case "on": Config.Enabled = true; - player.SendSuccessMessage("AutoTeamPlus 插件已启用."); + player.SendSuccessMessage(GetString("AutoTeamPlus 插件已启用.")); break; case "off": Config.Enabled = false; - player.SendSuccessMessage("AutoTeamPlus 插件已禁用."); + player.SendSuccessMessage(GetString("AutoTeamPlus 插件已禁用.")); break; default: - player.SendErrorMessage("无效的操作。请使用 'on' 或 'off'。"); + player.SendErrorMessage(GetString("无效的操作。请使用 'on' 或 'off'。")); break; } } @@ -127,11 +127,11 @@ private void SetTeam(TSPlayer player) if (teamIndex != -1) { player.SetTeam(teamIndex); - player.SendInfoMessage($"你的队伍已切换为 {teamName}."); + player.SendInfoMessage(GetString($"你的队伍已切换为 {teamName}.")); } else { - player.SendInfoMessage("未配置,可随意切换."); + player.SendInfoMessage(GetString("未配置,可随意切换.")); } } diff --git a/src/Autoclear/Autoclear.cs b/src/Autoclear/Autoclear.cs index 8c2cef49e..579f40f3d 100644 --- a/src/Autoclear/Autoclear.cs +++ b/src/Autoclear/Autoclear.cs @@ -9,8 +9,8 @@ namespace Autoclear; public class Autoclear : TerrariaPlugin { public override string Author => "大豆子[Mute适配1447],肝帝熙恩更新"; - public override string Description => "智能扫地机"; - public override string Name => "智能自动扫地"; + public override string Description => GetString("智能扫地机"); + public override string Name => GetString("智能自动扫地"); public override Version Version => new Version(1, 0, 3); public static Configuration Config; private bool _sweepScheduled = false; @@ -31,7 +31,7 @@ private static void LoadConfig() private static void ReloadConfig(ReloadEventArgs args) { LoadConfig(); - args.Player?.SendSuccessMessage("[{0}] 重新加载配置完毕。", typeof(Autoclear).Name); + args.Player?.SendSuccessMessage(GetString("[智能自动扫地机] 重新加载配置完毕。")); } public override void Initialize() @@ -149,8 +149,8 @@ private void PerformSmartSweep() if (Config.SpecificMessage) { - TSPlayer.All.SendSuccessMessage($"智能扫地机已清扫:[c/FFFFFF:{totalItems}]种物品"); - TSPlayer.All.SendSuccessMessage($"包含:【投掷武器[c/FFFFFF:{totalThrowable}]】-【挥动武器[c/FFFFFF:{totalSwinging}]】-【普通物品[c/FFFFFF:{totalRegular}]】-【装备[c/FFFFFF:{totalEquipment}]】-【时装[c/FFFFFF:{totalVanity}]】"); + TSPlayer.All.SendSuccessMessage(GetString($"智能扫地机已清扫:[c/FFFFFF:{totalItems}]种物品")); + TSPlayer.All.SendSuccessMessage(GetString($"包含:【投掷武器[c/FFFFFF:{totalThrowable}]】-【挥动武器[c/FFFFFF:{totalSwinging}]】-【普通物品[c/FFFFFF:{totalRegular}]】-【装备[c/FFFFFF:{totalEquipment}]】-【时装[c/FFFFFF:{totalVanity}]】")); } } } diff --git a/src/Autoclear/Autoclear.csproj b/src/Autoclear/Autoclear.csproj index f489ab64e..9154033a4 100644 --- a/src/Autoclear/Autoclear.csproj +++ b/src/Autoclear/Autoclear.csproj @@ -2,4 +2,8 @@ + + + + \ No newline at end of file From 75336e0464d1ab8260143d129218580e6bff6063 Mon Sep 17 00:00:00 2001 From: xien <2383759126@qq.com> Date: Sun, 1 Sep 2024 12:45:06 +0800 Subject: [PATCH 4/8] =?UTF-8?q?=E6=9B=B4=E6=94=B9=E7=BF=BB=E8=AF=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/AdditionalPylons/i18n/en-US.po | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/src/AdditionalPylons/i18n/en-US.po b/src/AdditionalPylons/i18n/en-US.po index 4cd198bb6..ed2d7615f 100644 --- a/src/AdditionalPylons/i18n/en-US.po +++ b/src/AdditionalPylons/i18n/en-US.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "POT-Creation-Date: 2024-09-01 10:36:56+0800\n" -"PO-Revision-Date: 2024-09-01 11:04+0800\n" +"PO-Revision-Date: 2024-09-01 12:44+0800\n" "Last-Translator: \n" "Language-Team: \n" "Language: en\n" @@ -18,39 +18,39 @@ msgstr "[AdditionalPylons] Config reloaded." #: ..\..\AdditionalPylonsPlugin.cs:219 msgid "丛林晶塔数量已达到上限。" -msgstr "The number of Jungle crystal towers has reached its maximum." +msgstr "The number of Jungle Pylon has reached its maximum." #: ..\..\AdditionalPylonsPlugin.cs:243 msgid "洞穴晶塔数量已达到上限。" -msgstr "The number of Underground crystal towers has reached its maximum." +msgstr "The number of Underground Pylon has reached its maximum." #: ..\..\AdditionalPylonsPlugin.cs:251 msgid "海洋晶塔数量已达到上限。" -msgstr "The number of Beach crystal towers has reached its maximum." +msgstr "The number of Beach Pylon has reached its maximum." #: ..\..\AdditionalPylonsPlugin.cs:275 msgid "蘑菇晶塔数量已达到上限。" -msgstr "The number of Glowing Mushroom crystal towers has reached its maximum." +msgstr "The number of Glowing Mushroom Pylon has reached its maximum." #: ..\..\AdditionalPylonsPlugin.cs:227 msgid "森林晶塔数量已达到上限。" -msgstr "The number of Surface Purity crystal towers has reached its maximum." +msgstr "The number of Surface Purity Pylon has reached its maximum." #: ..\..\AdditionalPylonsPlugin.cs:259 msgid "沙漠晶塔数量已达到上限。" -msgstr "The number of Desert crystal towers has reached its maximum." +msgstr "The number of Desert Pylon has reached its maximum." #: ..\..\AdditionalPylonsPlugin.cs:235 msgid "神圣晶塔数量已达到上限。" -msgstr "The number of Hallow crystal towers has reached its maximum." +msgstr "The number of Hallow Pylon has reached its maximum." #: ..\..\AdditionalPylonsPlugin.cs:283 msgid "万能晶塔数量已达到上限。" -msgstr "The number of Victory crystal towers has reached its maximum." +msgstr "The number of Victory Pylon has reached its maximum." #: ..\..\AdditionalPylonsPlugin.cs:267 msgid "雪原晶塔数量已达到上限。" -msgstr "The number of Snow crystal towers has reached its maximum." +msgstr "The number of Snow Pylon has reached its maximum." #: ..\..\AdditionalPylonsPlugin.cs:21 msgid "自定义晶塔可放置的数量,至少为一个,且所有晶塔都无视环境" From d630f88488c84fd7c25c6216ab758f8926cb24e4 Mon Sep 17 00:00:00 2001 From: xien <2383759126@qq.com> Date: Sun, 1 Sep 2024 12:53:03 +0800 Subject: [PATCH 5/8] fix --- src/AdditionalPylons/AdditionalPylonsPlugin.cs | 2 +- src/AutoPluginManager/Plugin.cs | 4 ++-- src/AutoStoreItems/AutoStoreItems.cs | 2 +- src/AutoTeam/AutoTeamPlus.cs | 4 ++-- src/Autoclear/Autoclear.cs | 4 ++-- 5 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/AdditionalPylons/AdditionalPylonsPlugin.cs b/src/AdditionalPylons/AdditionalPylonsPlugin.cs index 25f24615a..829863950 100644 --- a/src/AdditionalPylons/AdditionalPylonsPlugin.cs +++ b/src/AdditionalPylons/AdditionalPylonsPlugin.cs @@ -18,7 +18,7 @@ public class AdditionalPylonsPlugin : TerrariaPlugin public override string Author => "Stealownz,肝帝熙恩优化1449"; - public override string Description => GetString("自定义晶塔可放置的数量,至少为一个,且所有晶塔都无视环境"); + public override string Description => "自定义晶塔可放置的数量,至少为一个,且所有晶塔都无视环境"; public AdditionalPylonsPlugin(Main game) : base(game) diff --git a/src/AutoPluginManager/Plugin.cs b/src/AutoPluginManager/Plugin.cs index 2cf62de7b..b585a8a1a 100644 --- a/src/AutoPluginManager/Plugin.cs +++ b/src/AutoPluginManager/Plugin.cs @@ -11,13 +11,13 @@ namespace AutoPluginManager; [ApiVersion(2, 1)] public class Plugin : TerrariaPlugin { - public override string Name => GetString("AutoPluginManager"); + public override string Name => "AutoPluginManager"; public override Version Version => new(2, 0, 1, 3); public override string Author => "少司命,Cai"; - public override string Description => GetString("自动更新你的插件!"); + public override string Description => "自动更新你的插件!"; private const string GiteeReleaseUrl = "https://gitee.com/kksjsj/TShockPlugin/releases/download/V1.0.0.0/Plugins.zip"; diff --git a/src/AutoStoreItems/AutoStoreItems.cs b/src/AutoStoreItems/AutoStoreItems.cs index a7f5c4e8b..43401cc7b 100644 --- a/src/AutoStoreItems/AutoStoreItems.cs +++ b/src/AutoStoreItems/AutoStoreItems.cs @@ -11,7 +11,7 @@ public class AutoStoreItems : TerrariaPlugin { #region 插件信息 - public override string Name => GetString("自动存储"); + public override string Name => "自动存储"; public override string Author => "羽学 cmgy雱"; public override Version Version => new Version(1, 2, 4); public override string Description => "涡轮增压不蒸鸭"; diff --git a/src/AutoTeam/AutoTeamPlus.cs b/src/AutoTeam/AutoTeamPlus.cs index bc7cff9bb..83f4509c9 100644 --- a/src/AutoTeam/AutoTeamPlus.cs +++ b/src/AutoTeam/AutoTeamPlus.cs @@ -11,8 +11,8 @@ public class Autoteam : TerrariaPlugin { public override string Author => "十七改,肝帝熙恩改"; public override Version Version => new Version(2, 4, 1); - public override string Description => GetString("自动队伍"); - public override string Name => GetString("更好的自动队伍"); + public override string Description => "自动队伍"; + public override string Name => "更好的自动队伍"; public static Configuration Config; public Autoteam(Main game) : base(game) diff --git a/src/Autoclear/Autoclear.cs b/src/Autoclear/Autoclear.cs index 579f40f3d..225e9d2a2 100644 --- a/src/Autoclear/Autoclear.cs +++ b/src/Autoclear/Autoclear.cs @@ -9,8 +9,8 @@ namespace Autoclear; public class Autoclear : TerrariaPlugin { public override string Author => "大豆子[Mute适配1447],肝帝熙恩更新"; - public override string Description => GetString("智能扫地机"); - public override string Name => GetString("智能自动扫地"); + public override string Description => "智能扫地机"; + public override string Name => "智能自动扫地"; public override Version Version => new Version(1, 0, 3); public static Configuration Config; private bool _sweepScheduled = false; From 7e47b029f2595f371f50e4873c7cb0e476e24741 Mon Sep 17 00:00:00 2001 From: xien <2383759126@qq.com> Date: Sun, 1 Sep 2024 13:26:19 +0800 Subject: [PATCH 6/8] =?UTF-8?q?=E8=BF=99=E6=A0=B7=EF=BC=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/AutoPluginManager/AutoPluginManager.csproj | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/src/AutoPluginManager/AutoPluginManager.csproj b/src/AutoPluginManager/AutoPluginManager.csproj index 983d08261..bd11b4e33 100644 --- a/src/AutoPluginManager/AutoPluginManager.csproj +++ b/src/AutoPluginManager/AutoPluginManager.csproj @@ -1,9 +1,6 @@  - - - - - - - + + + + \ No newline at end of file From b785fdec4356f57dca1719d96fa8023c6a5fb927 Mon Sep 17 00:00:00 2001 From: xien <2383759126@qq.com> Date: Sun, 1 Sep 2024 18:04:08 +0800 Subject: [PATCH 7/8] =?UTF-8?q?=E6=B2=A1=E5=88=9D=E5=A7=8B=E5=8C=96?= =?UTF-8?q?=E7=9A=84=E9=83=A8=E5=88=86=E4=B8=8D=E7=AE=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/AdditionalPylons/i18n/template.pot | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/src/AdditionalPylons/i18n/template.pot b/src/AdditionalPylons/i18n/template.pot index d7dbbc8a6..1d86587bb 100644 --- a/src/AdditionalPylons/i18n/template.pot +++ b/src/AdditionalPylons/i18n/template.pot @@ -1,8 +1,8 @@ msgid "" msgstr "" "Project-Id-Version: AdditionalPylons\n" -"POT-Creation-Date: 2024-09-01 10:36:56+0800\n" -"PO-Revision-Date: 2024-09-01 10:36:57+0800\n" +"POT-Creation-Date: 2024-09-01 17:54:38+0800\n" +"PO-Revision-Date: 2024-09-01 17:54:38+0800\n" "Last-Translator: \n" "Language-Team: \n" "MIME-Version: 1.0\n" @@ -50,7 +50,3 @@ msgstr "" msgid "雪原晶塔数量已达到上限。" msgstr "" -#: ..\..\AdditionalPylonsPlugin.cs:21 -msgid "自定义晶塔可放置的数量,至少为一个,且所有晶塔都无视环境" -msgstr "" - From b781214a00d9a8d60d33e965af81b7a98f0f2406 Mon Sep 17 00:00:00 2001 From: LaoSparrow <60737561+LaoSparrow@users.noreply.github.com> Date: Mon, 2 Sep 2024 16:59:02 +0800 Subject: [PATCH 8/8] Remove useless i18n folder inclusion in AdditionalPylons.csproj --- src/AdditionalPylons/AdditionalPylons.csproj | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/src/AdditionalPylons/AdditionalPylons.csproj b/src/AdditionalPylons/AdditionalPylons.csproj index 9154033a4..606c2b11f 100644 --- a/src/AdditionalPylons/AdditionalPylons.csproj +++ b/src/AdditionalPylons/AdditionalPylons.csproj @@ -2,8 +2,4 @@ - - - - - \ No newline at end of file +