using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.Versioning;
using BepInEx;
using BepInEx.Bootstrap;
using BepInEx.Logging;
using GalacticScale;
using HarmonyLib;
using Microsoft.CodeAnalysis;
using UnityEngine;
using UnityEngine.UI;
[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)]
[assembly: TargetFramework(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")]
[assembly: AssemblyCompany("GS2_ChinesePatch")]
[assembly: AssemblyConfiguration("Release")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: AssemblyInformationalVersion("1.0.0+f607a418dcb21f4e130536293c1b3d5d1ae4b491")]
[assembly: AssemblyProduct("GS2_ChinesePatch")]
[assembly: AssemblyTitle("GS2_ChinesePatch")]
[assembly: AssemblyVersion("1.0.0.0")]
[module: RefSafetyRules(11)]
namespace Microsoft.CodeAnalysis
{
[CompilerGenerated]
[Microsoft.CodeAnalysis.Embedded]
internal sealed class EmbeddedAttribute : Attribute
{
}
}
namespace System.Runtime.CompilerServices
{
[CompilerGenerated]
[Microsoft.CodeAnalysis.Embedded]
[AttributeUsage(AttributeTargets.Module, AllowMultiple = false, Inherited = false)]
internal sealed class RefSafetyRulesAttribute : Attribute
{
public readonly int Version;
public RefSafetyRulesAttribute(int P_0)
{
Version = P_0;
}
}
}
namespace GS2_ChinesePatch
{
[BepInPlugin("hersophia.gs2-chinesepatch", "GS2_ChinesePatch", "1.0.0")]
[BepInDependency(/*Could not decode attribute arguments.*/)]
public class Plugin : BaseUnityPlugin
{
public const string GUID = "hersophia.gs2-chinesepatch";
public const string NAME = "GS2_ChinesePatch";
public const string VERSION = "1.0.0";
internal static ManualLogSource Log;
private Harmony _harmony;
private void Awake()
{
//IL_0011: Unknown result type (might be due to invalid IL or missing references)
//IL_001b: Expected O, but got Unknown
Log = ((BaseUnityPlugin)this).Logger;
try
{
_harmony = new Harmony("hersophia.gs2-chinesepatch");
GalacticScalePatch.OnAwake(_harmony);
}
catch (Exception ex)
{
((BaseUnityPlugin)this).Logger.LogError((object)("GS2_ChinesePatch 初始化失败。\n" + ex));
}
}
private void OnDestroy()
{
try
{
Harmony harmony = _harmony;
if (harmony != null)
{
harmony.UnpatchSelf();
}
}
catch (Exception ex)
{
((BaseUnityPlugin)this).Logger.LogWarning((object)("GS2_ChinesePatch 卸载补丁时出现异常。\n" + ex));
}
}
}
internal static class GalacticScalePatch
{
public const string GS2_GUID = "dsp.galactic-scale.2";
private static readonly Dictionary<string, string> UiStrings = new Dictionary<string, string>(StringComparer.Ordinal);
private static readonly Dictionary<string, string> PlanetTypeStrings = new Dictionary<string, string>(StringComparer.Ordinal);
private static readonly string[] StarTypeEn = new string[14]
{
"Type K", "Type M", "Type F", "Type G", "Type A", "Type B", "Type O", "White Dwarf", "Red Giant", "Yellow Giant",
"White Giant", "Blue Giant", "Neutron Star", "Black Hole"
};
private static readonly string[] StarTypeZh = new string[14]
{
"K 型恒星", "M 型恒星", "F 型恒星", "G 型恒星", "A 型恒星", "B 型恒星", "O 型恒星", "白矮星", "红巨星", "黄巨星",
"白巨星", "蓝巨星", "中子星", "黑洞"
};
public static void OnAwake(Harmony harmony)
{
//IL_005b: Unknown result type (might be due to invalid IL or missing references)
//IL_0068: Expected O, but got Unknown
if (!Chainloader.PluginInfos.ContainsKey("dsp.galactic-scale.2"))
{
return;
}
try
{
RegisterStrings();
harmony.PatchAll(typeof(GalacticScalePatch));
MethodInfo methodInfo = AccessTools.Method(AccessTools.TypeByName("GalacticScale.SystemDisplay"), "InitHelpText", (Type[])null, (Type[])null);
if (methodInfo != null)
{
harmony.Patch((MethodBase)methodInfo, (HarmonyMethod)null, new HarmonyMethod(typeof(GalacticScalePatch), "InitHelpText_Postfix", (Type[])null), (HarmonyMethod)null, (HarmonyMethod)null, (HarmonyMethod)null);
}
}
catch (Exception ex)
{
ManualLogSource log = Plugin.Log;
if (log != null)
{
log.LogWarning((object)("GalacticScalePatch 挂钩失败。\n" + ex));
}
}
}
[HarmonyPostfix]
[HarmonyPatch(typeof(Localization), "Translate", new Type[] { typeof(string) })]
public static void Localization_Translate_Postfix(string __0, ref string __result)
{
if (!string.IsNullOrEmpty(__0) && UiStrings.TryGetValue(__0, out var value))
{
__result = value;
}
}
[HarmonyPostfix]
[HarmonyPatch(/*Could not decode attribute arguments.*/)]
public static void PlanetData_typeString_Postfix(ref string __result)
{
if (!string.IsNullOrEmpty(__result) && PlanetTypeStrings.TryGetValue(__result, out var value))
{
__result = value;
}
}
[HarmonyPrefix]
[HarmonyPatch(typeof(UIMessageBox), "Show", new Type[]
{
typeof(string),
typeof(string),
typeof(string),
typeof(int)
})]
public static void UIMessageBox_Show_Prefix(ref string title, ref string message, ref string btn1)
{
title = TranslateExact(title);
message = TranslateExact(message);
btn1 = TranslateExact(btn1);
}
[HarmonyPostfix]
[HarmonyPatch(typeof(SettingsUI), "CreateGalacticScaleSettingsPage")]
public static void SettingsUI_CreateGalacticScaleSettingsPage_Postfix()
{
TranslateAllVisibleTexts();
}
[HarmonyPostfix]
[HarmonyPatch(typeof(GS2MainSettings), "GeneratorCallback")]
public static void GS2MainSettings_GeneratorCallback_Postfix()
{
TranslateAllVisibleTexts();
}
[HarmonyPrefix]
[HarmonyPatch(typeof(GS2MainSettings), "ApplyObserveLevel")]
public static bool GS2MainSettings_ApplyObserveLevel_Prefix(GS2MainSettings __instance)
{
if (GameMain.history != null)
{
int universeObserveLevel = __instance.UniverseObserveLevel;
GameMain.history.universeObserveLevel = universeObserveLevel;
UIRealtimeTip.Popup("宇宙观察等级已设置为 " + universeObserveLevel, true, 0);
}
else
{
UIRealtimeTip.Popup("未加载游戏", true, 0);
}
return false;
}
public static void InitHelpText_Postfix()
{
GameObject val = GameObject.Find("UI Root/Overlay Canvas/Galaxy Select/left-group/");
if (!((Object)(object)val == (Object)null))
{
Text componentInChildren = val.GetComponentInChildren<Text>();
if (!((Object)(object)componentInChildren == (Object)null))
{
componentInChildren.text = "点击星体或行星查看星系和详情\r\n使用鼠标滚轮进行缩放\r\n使用方向键进行平移\r\n按住 Shift 键可加快缩放和平移速度\r\n按住 Alt 键可查看全部星体和行星名称\r\n按下空格键重置视图\r\n右击星体或行星设置出生点";
}
}
}
[HarmonyPostfix]
[HarmonyPatch(typeof(GSUISelector), "initialize")]
public static void GSUISelector_initialize_Postfix(GSUISelector __instance)
{
TranslateSelectorTexts(__instance);
}
[HarmonyPostfix]
[HarmonyPatch(typeof(GSUISelector), "UpdateItem")]
public static void GSUISelector_UpdateItem_Postfix(GSUISelector __instance)
{
TranslateSelectorTexts(__instance);
}
[HarmonyPostfix]
[HarmonyPatch(typeof(GSUISelector), "set_value")]
public static void GSUISelector_set_value_Postfix(GSUISelector __instance)
{
TranslateSelectorTexts(__instance);
}
[HarmonyPostfix]
[HarmonyPatch(typeof(GSUIDropdown), "initialize")]
public static void GSUIDropdown_initialize_Postfix(GSUIDropdown __instance)
{
TranslateDropdownTexts(__instance);
}
[HarmonyPostfix]
[HarmonyPatch(typeof(GSUIDropdown), "set_Items")]
public static void GSUIDropdown_set_Items_Postfix(GSUIDropdown __instance)
{
TranslateDropdownTexts(__instance);
}
[HarmonyPostfix]
[HarmonyPatch(typeof(GSUIDropdown), "set_Value")]
public static void GSUIDropdown_set_Value_Postfix(GSUIDropdown __instance)
{
TranslateDropdownTexts(__instance);
}
[HarmonyPostfix]
[HarmonyPatch(typeof(GSUIDropdown), "OnValueChange")]
public static void GSUIDropdown_OnValueChange_Postfix(GSUIDropdown __instance)
{
TranslateDropdownTexts(__instance);
}
private static void TranslateTextsUnder(Component component)
{
if ((Object)(object)component == (Object)null)
{
return;
}
Text[] componentsInChildren = component.GetComponentsInChildren<Text>(true);
foreach (Text val in componentsInChildren)
{
if (!((Object)(object)val == (Object)null) && !string.IsNullOrEmpty(val.text))
{
val.text = TranslateExact(val.text);
}
}
}
private static void TranslateSelectorTexts(GSUISelector selector)
{
TranslateTextsUnder((Component)(object)selector);
}
private static void TranslateDropdownTexts(GSUIDropdown dropdownUi)
{
TranslateTextsUnder((Component)(object)dropdownUi);
object? obj = AccessTools.Field(typeof(GSUIDropdown), "_dropdown")?.GetValue(dropdownUi);
Dropdown val = (Dropdown)((obj is Dropdown) ? obj : null);
if ((Object)(object)val == (Object)null)
{
return;
}
if (val.options != null)
{
foreach (OptionData option in val.options)
{
if (option != null && !string.IsNullOrEmpty(option.text))
{
option.text = TranslateExact(option.text);
}
}
}
val.RefreshShownValue();
}
private static void TranslateAllVisibleTexts()
{
try
{
if ((Object)(object)SettingsUI.details == (Object)null)
{
return;
}
Text[] componentsInChildren = ((Component)SettingsUI.details).GetComponentsInChildren<Text>(true);
foreach (Text val in componentsInChildren)
{
if (!((Object)(object)val == (Object)null) && !string.IsNullOrEmpty(val.text))
{
string text = TranslateExact(val.text);
if (!string.Equals(text, val.text, StringComparison.Ordinal))
{
val.text = text;
}
}
}
}
catch (Exception ex)
{
ManualLogSource log = Plugin.Log;
if (log != null)
{
log.LogWarning((object)("批量替换设置面板文本时出现异常。\n" + ex));
}
}
}
private static string TranslateExact(string text)
{
if (string.IsNullOrEmpty(text))
{
return text;
}
if (UiStrings.TryGetValue(text, out var value))
{
return value;
}
if (PlanetTypeStrings.TryGetValue(text, out value))
{
return value;
}
return text;
}
private static void Register(string english, string chinese)
{
UiStrings[english] = chinese;
}
private static void RegisterPlanetType(string english, string chinese)
{
PlanetTypeStrings[english] = chinese;
UiStrings[english] = chinese;
}
private static void RegisterStrings()
{
RegisterBasicStrings();
RegisterPlanetTypeStrings();
RegisterStarTypeStrings();
RegisterGeneratorStrings();
RegisterMainSettingsStrings();
RegisterLegacyStrings();
}
private static void RegisterBasicStrings()
{
Register("done", "完成");
Register("Loading Planets: ", "正在加载星球:");
Register("a size", "半径");
Register("Moon ", "卫星 ");
Register("Planet ", "行星 ");
Register("Calculating planet {0}/{1}...\r\n", "计算星球 {0}/{1}...\r\n");
Register("How large the planet is. Standard is 200", "星球大小。标准值为 200");
Register("Planet Radius", "星球半径");
Register("Planetary Radius", "行星半径");
Register("Click star/planet to view system/details\r\nMousewheel to zoom\r\nMovement keys to pan\r\nShift to increase zoom/pan speed\r\nAlt to view all star/planet names\r\nSpace to reset view\r\nRightclick star/planet to set spawn", "点击星体或行星查看星系和详情\r\n使用鼠标滚轮进行缩放\r\n使用方向键进行平移\r\n按住 Shift 键可加快缩放和平移速度\r\n按住 Alt 键可查看全部星体和行星名称\r\n按下空格键重置视图\r\n右击星体或行星设置出生点");
Register("WARNING - Galactic Scale savegames can be broken by updates. Read the FAQ @ http://customizing.space", "警告:Galactic Scale 的存档可能因更新而损坏。请先阅读常见问题说明:http://customizing.space");
Register("WARNING - Galactic Scale savegames can be broken by updates.Read the FAQ @ http://customizing.space\r\n", "警告:Galactic Scale 的存档可能因更新而损坏。请先阅读常见问题说明:http://customizing.space\r\n");
Register("WARNING - Galactic Scale savegames can be broken by updates. Read the FAQ @ https://centrebra.in/", "警告:Galactic Scale 的存档可能因更新而损坏。请先阅读常见问题说明:https://centrebra.in/");
Register("BACKUP YOUR SAVES. This version has potentially BREAKING CHANGES.\r\nNote: Settings for this mod are in the settings menu. Make sure to change the Generator to get the full Galactic Scale experience.\r\n", "请先备份存档。此版本可能包含破坏性改动。\r\n注意:本模组的设置在设置菜单中。请切换生成器,以使用完整的 Galactic Scale 功能。\r\n");
Register("Update Detected. Please do not save over existing saves \r\nuntil you are sure you can load saves saved with this version!\r\nPlease Click GS2 Help and click the link to join our community on discord for preview builds and to help shape the mod going forward", "检测到更新。请不要覆盖现有存档,\r\n直到确认本版本可以正常读取由本版本保存的存档。\r\n如需预览版本和后续信息,请在 GS2 Help 中查看相关链接。\r\n");
Register("The latest DSP update has added additional planet themes which are yet to be included in GS2. \r\nI'm working on getting them added to the GS2 themeset, as well as implementing their new subtheme system", "最新的 DSP 更新加入了新的行星主题,但 GS2 还没有完成适配。\r\n作者正在把这些主题加入 GS2 主题集,并实现新的子主题系统。\r\n");
}
private static void RegisterPlanetTypeStrings()
{
RegisterPlanetType("Mediterranean", "地中海");
RegisterPlanetType("AshenGelisol", "灰烬冻土");
RegisterPlanetType("GasGiant", "气态巨星 I");
RegisterPlanetType("GasGiant2", "气态巨星 II");
RegisterPlanetType("GasGiant3", "气态巨星 III");
RegisterPlanetType("GasGiant4", "气态巨星 IV");
RegisterPlanetType("GasGiant5", "气态巨星 V");
RegisterPlanetType("IceGiant", "冰巨星 I");
RegisterPlanetType("IceGiant2", "冰巨星 II");
RegisterPlanetType("IceGiant3", "冰巨星 III");
RegisterPlanetType("IceGiant4", "冰巨星 IV");
RegisterPlanetType("AridDesert", "干旱沙漠");
RegisterPlanetType("AridDesert2", "干旱沙漠");
RegisterPlanetType("OceanicJungle", "海洋丛林");
RegisterPlanetType("Lava", "熔岩");
RegisterPlanetType("IceGelisol", "冰原冻土 I");
RegisterPlanetType("IceGelisol2", "冰原冻土 II");
RegisterPlanetType("IceGelisol3", "冰原冻土 III");
RegisterPlanetType("Barren", "贫瘠荒漠");
RegisterPlanetType("Gobi", "戈壁");
RegisterPlanetType("VolcanicAsh", "火山灰");
RegisterPlanetType("RedStone", "红石");
RegisterPlanetType("Prairie", "草原");
RegisterPlanetType("OceanWorld", "水世界");
RegisterPlanetType("SaltLake", "黑石盐滩");
RegisterPlanetType("Sakura", "樱林海");
RegisterPlanetType("Hurricane", "飓风石林");
RegisterPlanetType("IceLake", "猩红冰湖");
RegisterPlanetType("Savanna", "热带草原");
RegisterPlanetType("CrystalDesert", "橙晶荒漠");
RegisterPlanetType("FrozenTundra", "极寒冻土");
RegisterPlanetType("PandoraSwamp", "潘多拉沼泽 I");
RegisterPlanetType("PandoraSwamp2", "潘多拉沼泽 II");
RegisterPlanetType("AcidGreenhouse", "酸性温室");
RegisterPlanetType("BarrenSatellite", "贫瘠卫星");
RegisterPlanetType("DwarfPlanet", "矮行星");
RegisterPlanetType("OilGiant", "石油巨星");
RegisterPlanetType("Center", "中心体");
RegisterPlanetType("Comet", "彗星");
RegisterPlanetType("Pandora", "潘多拉");
RegisterPlanetType("Darkfog Bases", "黑雾基地");
RegisterPlanetType("DarkFog Infested", "黑雾侵染");
RegisterPlanetType("Acid Greenhouse", "酸性温室");
RegisterPlanetType("Obsidian", "黑曜石");
RegisterPlanetType("Hot Obsidian", "炙热黑曜石");
RegisterPlanetType("Ice Malusol", "冰原");
RegisterPlanetType("Ice Malusmol", "冰原");
RegisterPlanetType("Infernal Gas Giant", "地狱气巨星");
RegisterPlanetType("Dwarf Planet", "矮行星");
RegisterPlanetType("Barren Satellite", "贫瘠卫星");
RegisterPlanetType("Sulfurous Sea", "硫酸海");
RegisterPlanetType("Gigantic Forest", "巨大森林");
RegisterPlanetType("Red Forest", "红森林");
RegisterPlanetType("Molten World", "熔岩世界");
RegisterPlanetType("Beach", "海滩");
RegisterPlanetType("SpaceWhale Excrement", "太空鲸粪");
RegisterPlanetType("Oceanic Jungle", "海洋丛林");
RegisterPlanetType("Sakura Ocean", "樱林海");
RegisterPlanetType("Ocean World", "水世界");
RegisterPlanetType("Pandora Swamp", "潘多拉沼泽 I");
RegisterPlanetType("Pandora Swamp II", "潘多拉沼泽 II");
RegisterPlanetType("Red Stone", "红石");
RegisterPlanetType("Gobi Desert", "戈壁");
RegisterPlanetType("Barren Desert", "贫瘠荒漠");
RegisterPlanetType("Arid Desert", "干旱沙漠");
RegisterPlanetType("Crystal Desert", "橙晶荒漠");
RegisterPlanetType("Rocky Salt Lake", "黑石盐滩");
RegisterPlanetType("Hurricane Stone Forest", "飓风石林");
RegisterPlanetType("Scarlet Ice Lake", "猩红冰湖");
RegisterPlanetType("Ashen Gelisol", "灰烬冻土");
RegisterPlanetType("Ice Field Gelisol", "冰原冻土 I");
RegisterPlanetType("Ice Field Gelisol II", "冰原冻土 II");
RegisterPlanetType("Ice Field Gelisol III", "冰原冻土 III");
RegisterPlanetType("Frozen Tundra", "极寒冻土");
RegisterPlanetType("Gas Giant", "气态巨星 I");
RegisterPlanetType("Gas Giant II", "气态巨星 II");
RegisterPlanetType("Gas Giant III", "气态巨星 III");
RegisterPlanetType("Gas Giant IV", "气态巨星 IV");
RegisterPlanetType("Gas Giant V", "气态巨星 V");
RegisterPlanetType("Ice Giant", "冰巨星 I");
RegisterPlanetType("Ice Giant II", "冰巨星 II");
RegisterPlanetType("Ice Giant III", "冰巨星 III");
RegisterPlanetType("Ice Giant IV", "冰巨星 IV");
RegisterPlanetType("Scorchedia", "干旱荒漠");
RegisterPlanetType("Geloterra", "灰烬冻土");
RegisterPlanetType("Desolus", "贫瘠荒漠");
RegisterPlanetType("Onyxtopia", "橙晶荒漠");
RegisterPlanetType("Icefrostia", "极寒冻土");
RegisterPlanetType("Cyclonius", "飓风石林");
RegisterPlanetType("Glacieon", "冰原冻土 I");
RegisterPlanetType("Glacieon II", "冰原冻土 II");
RegisterPlanetType("Glacieon III", "冰原冻土 III");
RegisterPlanetType("Maroonfrost", "猩红冰湖");
RegisterPlanetType("Mariterra", "地中海");
RegisterPlanetType("Aquatica", "水世界");
RegisterPlanetType("Tropicana", "海洋丛林");
RegisterPlanetType("Crimsonis", "红石");
RegisterPlanetType("Halitum", "黑石盐滩");
RegisterPlanetType("Sulfuria", "火山灰");
RegisterPlanetType("Prairiea", "草原");
}
private static void RegisterStarTypeStrings()
{
for (int i = 0; i < StarTypeEn.Length; i++)
{
string text = StarTypeEn[i];
string text2 = StarTypeZh[i];
Register(text, text2);
Register(text + " Overrides", text2 + " 覆盖设置");
Register("Allow " + text + " to spawn as binary companions", "允许 " + text2 + " 作为双星伴星生成");
Register("Change Settings for Type " + text + " stars", "修改 " + text2 + " 的专属设置");
}
}
private static void RegisterGeneratorStrings()
{
Register("Accurate Stars", "精准恒星数据");
Register("Start in Sol", "从太阳系开始");
Register("Max planets per system", "每个恒星系的最大行星数");
Register("Birth Planet Theme", "出生星球主题");
Register("Sol System Day/Night Multi", "太阳系昼夜倍率");
Register("Moons Are Small", "卫星较小");
Register("Change the Sol system planets day/night cycle", "改变太阳系行星的昼夜周期");
Register("Min planet size", "最小行星大小");
Register("Max planet size", "最大行星大小");
Register("Starting planet size", "起始行星大小");
Register("Birth planet Si/Ti", "起始星球提供硅和钛");
Register("Moons are small", "卫星较小");
Register("Galaxy Settings", "星系设置");
Register("Settings that control Galaxy formation", "控制星系形成的设置");
Register("Birth Planet Settings", "起始星球设置");
Register("Settings that only affect the starting planet", "仅影响起始星球的设置");
Register("System Settings", "恒星系设置");
Register("Settings that control how systems are generated", "控制恒星系生成方式的设置");
Register("Planet Settings", "行星设置");
Register("Settings that control how planets are generated", "控制行星生成方式的设置");
Register("Star Specific Overrides", "特定星型覆盖设置");
Register("Settings that are star specific", "仅对特定星型生效的设置");
Register("Reset", "重置");
Register("Galaxy Spread", "星系离散程度");
Register("Lower = Stars are closer to each other. Default is 5", "值越低,恒星之间越接近。默认值为 5");
Register("Default StarCount", "默认恒星数量");
Register("How many stars should the slider default to", "新游戏界面滑块默认显示的恒星数量");
Register("Star Size Multiplier", "恒星大小倍率");
Register("GS2 uses 10x as standard. They just look cooler.", "GS2 使用更大的恒星显示倍率,只影响视觉效果");
Register("Luminosity Multiplier", "亮度倍率");
Register("Increase the luminosity of all stars by this multiplier", "按此倍率提高全部恒星亮度");
Register("Use Vanilla Star Names", "使用原版恒星命名");
Register("Use DSP's Name Generator", "使用 DSP 原版命名器");
Register("Binary Star Settings", "双星设置");
Register("Settings that control Binary Star formation", "控制双星形成方式的设置");
Register("Binary Distance Multi", "双星距离倍率");
Register("How close secondary stars should be to primaries", "伴星与主星之间的距离倍率");
Register("Binary Star Chance %", "双星概率 %");
Register("% Chance of a star having a binary companion", "恒星拥有伴星的概率 %");
Register("Star Relative Frequencies", "恒星相对频率");
Register("How often to select a star type", "各类恒星被选中的相对频率");
Register("Freq. BlackHole", "黑洞频率");
Register("Minimum BlackHole", "最少黑洞数量");
Register("Freq. Neutron", "中子星频率");
Register("Minimum Neutron", "最少中子星数量");
Register("Freq. WhiteDwarf", "白矮星频率");
Register("Minimum WhiteDwarf", "最少白矮星数量");
Register("Freq. Red Giant", "红巨星频率");
Register("Minimum Red Giant", "最少红巨星数量");
Register("Freq. Yellow Giant", "黄巨星频率");
Register("Minimum Yellow Giant", "最少黄巨星数量");
Register("Freq. White Giant", "白巨星频率");
Register("Minimum White Giant", "最少白巨星数量");
Register("Freq. Blue Giant", "蓝巨星频率");
Register("Minimum Blue Giant", "最少蓝巨星数量");
Register("Freq. O Giant", "O 型巨星频率");
Register("Minimum O Giant", "最少 O 型巨星数量");
Register("Freq. Type K", "K 型恒星频率");
Register("Minimum Type K", "最少 K 型恒星数量");
Register("Freq. Type M", "M 型恒星频率");
Register("Minimum Type M", "最少 M 型恒星数量");
Register("Freq. Type G", "G 型恒星频率");
Register("Minimum Type G", "最少 G 型恒星数量");
Register("Freq. Type F", "F 型恒星频率");
Register("Minimum Type F", "最少 F 型恒星数量");
Register("Freq. Type A", "A 型恒星频率");
Register("Minimum Type A", "最少 A 型恒星数量");
Register("Freq. Type B", "B 型恒星频率");
Register("Minimum Type B", "最少 B 型恒星数量");
Register("Freq. Type O", "O 型恒星频率");
Register("Minimum Type O", "最少 O 型恒星数量");
Register("Starting Planet Size", "起始星球大小");
Register("How big the starting planet is. Default is 200", "起始星球的大小。默认值为 200");
Register("Starting Planet Orbit", "起始星球轨道");
Register("How big the starting planet is.", "起始星球距离恒星的远近");
Register("How far from the star your starting planet is", "起始星球距离恒星的远近");
Register("Starting Planet Unlock", "解锁更多起始星球主题");
Register("Allow other habitable themes for starting planet", "允许把其他宜居主题用作起始星球");
Register("Starting Planet Theme", "起始星球主题");
Register("Birth Planet Theme", "出生星球主题");
Register("Starting planet Si/Ti", "起始星球提供硅和钛");
Register("Force Silicon and Titanium on the starting planet", "强制在起始星球生成硅和钛");
Register("Allow Rares in Starting System", "允许起始星系出现稀有资源");
Register("Allow Rares other than Oil and FireIce", "允许起始星系出现除原油和可燃冰外的稀有资源");
Register("Starting Planet Star", "起始恒星类型");
Register("Type of Star to Start at", "起始星球所属恒星的类型");
Register("Tidal Lock Starting Planet", "起始星球潮汐锁定");
Register("Force the starting planet to be tidally locked", "强制起始星球潮汐锁定");
Register("Birth Planet is a Moon", "起始星球是卫星");
Register("Start game on a moon", "在一颗卫星上开始游戏");
Register("... of a Gas Giant", "……且是气态巨星的卫星");
Register("Start game on a moon of a gas giant (Need above checked)", "在气态巨星的卫星上开始游戏(需先勾选上方选项)");
Register("Starting Planet No Rares", "起始星球不生成稀有资源");
Register("Disable to allow rare veins on starting planet", "关闭后,起始星球可生成稀有矿脉");
Register("Solar Power Falloff", "太阳能衰减方式");
Register("How solar power falls off with distance", "太阳能利用率随距离变化的方式");
Register("InverseSquare", "反平方");
Register("Linear", "线性");
Register("Linear Damping", "线性阻尼");
Register("How close to 100% the inner and outer planets will be", "内外侧行星离 100% 效率的接近程度");
Register("None", "无");
Register("Min/Max Solar", "最小与最大太阳能");
Register("Min/Max Solar Output as Percent", "最小与最大太阳能输出百分比");
Register("Orbit Spacing", "轨道间距");
Register("Minimum gap between planet orbits", "行星轨道之间的最小间距");
Register("Planet Naming Scheme", "行星命名方案");
Register("How to determine planet names", "决定行星名称的方式");
Register("Default", "默认");
Register("Alpha", "字母序");
Register("Random", "随机");
Register("Tidal Lock Inner Planets", "内侧行星潮汐锁定");
Register("Force planets below the orbit threshold to be tidally locked", "强制阈值以内的行星潮汐锁定");
Register("Inner Planet Distance (AU)", "内侧行星距离(AU)");
Register("Distance forced tidal locking stops acting", "强制潮汐锁定停止生效的距离");
Register("Allow Orbital Harmonics", "允许轨道共振");
Register("Allow Orbital Resonance 1:2 and 1:4", "允许 1:2 和 1:4 轨道共振");
Register("Gas Giants Moon Bias", "气态巨星卫星偏向");
Register("Try to ensure moons are 1/2 their planets size or less", "尽量保证卫星大小不超过其所属行星的一半");
Register("Lower prefers telluric planets, higher gas giants", "数值越低越偏向岩石行星,越高越偏向气态巨星");
Register("Secondary satellites", "二级卫星");
Register("Allow moons to have moons", "允许卫星再拥有卫星");
Register("Secondary Satellite Chance", "二级卫星概率");
Register("% Chance for a moon to have a moon", "卫星拥有卫星的概率 %");
Register("Recursive Moons", "递归卫星");
Register("Moons of moons can have moons...", "卫星的卫星也可以继续拥有卫星……");
Register("Default Settings", "默认设置");
Register("Changing these will reset all star specific overrides", "修改这些设置会重置所有特定星型覆盖项");
Register("Planet Count", "行星数量");
Register("The amount of planets per star", "每颗恒星拥有的行星数量");
Register("Planet Count Bias", "行星数量偏向");
Register("Prefer Less (lower) or More (higher) Planets", "值越低越偏向较少行星,值越高越偏向较多行星");
Register("Huge Gas Giants", "巨型气态巨星");
Register("Allow gas giants larger than 800 radius", "允许半径大于 800 的气态巨星");
Register("Chance Gas", "气态行星概率");
Register("% Chance of a planet being a Gas Giant", "行星成为气态巨星的概率 %");
Register("Chance Moon", "卫星概率");
Register("% Chance of a rocky planet being a moon", "岩石行星成为卫星的概率 %");
Register("Enable Comets", "启用彗星");
Register("Star has a small planetoid with a random rare resource", "恒星系可生成一颗带有随机稀有资源的小天体");
Register("Comet Chance", "彗星概率");
Register("% Chance of a star spawning a comet", "恒星系生成彗星的概率 %");
Register("Override Habitable Zone", "覆盖宜居带");
Register("Enable the slider below", "启用下方滑块");
Register("Habitable Zone", "宜居带");
Register("Force habitable zone between these distances", "强制宜居带位于这一距离范围内");
Register("Override Orbits", "覆盖轨道范围");
Register("Orbit Range", "轨道范围");
Register("Force the distances planets can spawn between", "强制行星生成在这一距离范围内");
Register("Prefer Inner Planets", "偏向内侧行星");
Register("Prefer planets closer to the star", "更偏向靠近恒星的行星");
Register("Day/Night Multiplier", "昼夜倍率");
Register("Increase the duration of night/day", "增加白天和黑夜的持续时间");
Register("Telluric Planet Size", "岩石行星大小");
Register("Min/Max Size of Rocky Planets", "岩石行星的最小和最大大小");
Register("Limit Planet Sizes", "限制行星大小");
Register("Force Planets to these sizes", "强制把行星限制在这些尺寸");
Register("Gas Planet Size", "气态行星大小");
Register("Min/Max Size of Gas Planets", "气态行星的最小和最大大小");
Register("Limit Gas Giant Sizes", "限制气态巨星大小");
Register("Force Gas Giants to these sizes", "强制把气态巨星限制在这些尺寸");
Register("Planet Size Bias", "行星大小偏向");
Register("Prefer Smaller (lower) or Larger (higher) Sizes", "值越低越偏向较小尺寸,值越高越偏向较大尺寸");
Register("Max Inclination", "最大轨道倾角");
Register("Maximum angle of orbit", "轨道允许的最大倾角");
Register("Max Orbit Longitude", "最大轨道经度");
Register("Maximum longitude of the ascending node", "升交点的最大经度");
Register("Rare Vein Chance % Override", "稀有矿脉概率覆盖");
Register("Override the chance of planets spawning rare veins", "覆盖行星生成稀有矿脉的概率");
Register("Will be selected randomly from this range", "会在此范围内随机选择");
Register("Count Bias", "数量偏向");
Register("Prefer Less (lower) or More (higher) Counts", "值越低越偏向较少数量,值越高越偏向较多数量");
Register("Gas Giant Planet Size", "气态巨星大小");
Register("Telluric Size Bias", "岩石行星大小偏向");
Register("Chance for Gas giant", "生成气态巨星的概率");
Register("Percentage of planets to make Gas Giants", "被生成为气态巨星的行星比例");
Register("Chance for Moon", "生成卫星的概率");
Register("Percentage of planets to make Moons", "被生成为卫星的行星比例");
Register("Bias orbits closer to star", "使轨道更偏向靠近恒星");
Register("Luminosity Boost", "亮度增益");
Register("Increase the luminosity of this star type by this amount", "按此数值提高该星型的亮度");
}
private static void RegisterMainSettingsStrings()
{
Register("Generator", "星系生成器");
Register("Try them all!", "选择用于自定义星系的生成器");
Register("Quality of Life", "便捷功能");
Register("Skip Prologue", "跳过序章");
Register("Skip Tutorials", "跳过教程");
Register("Ignore Load Timeout", "忽略加载超时");
Register("Prevent Game Load Timeout", "防止游戏在加载时超时");
Register("Show/Hide Vein Labels", "显示或隐藏矿脉标签");
Register("Useful for finding veins", "用于查找矿脉");
Register("Useful settings", "实用设置");
Register("When show vein markers is enabled", "仅在显示矿脉标记时生效");
Register("Show Iron Vein Labels", "显示铁矿标签");
Register("Show Copper Vein Labels", "显示铜矿标签");
Register("Show Silicon Vein Labels", "显示硅矿标签");
Register("Show Titanium Vein Labels", "显示钛矿标签");
Register("Show Stone Vein Labels", "显示石矿标签");
Register("Show Coal Vein Labels", "显示煤矿标签");
Register("Show Oil Vein Labels", "显示原油标签");
Register("Show Fire Ice Vein Labels", "显示可燃冰标签");
Register("Show Kimberlite Labels", "显示金伯利矿石标签");
Register("Show Fractal Silicon Vein Labels", "显示分形硅石标签");
Register("Show Organic Crystal Vein Labels", "显示有机晶体标签");
Register("Show Optical Grating Vein Labels", "显示光栅石标签");
Register("Show Spiriform Vein Labels", "显示刺笋结晶标签");
Register("Show Unipolar Vein Labels", "显示单极磁石标签");
Register("Debug Options", "调试选项");
Register("Useful for testing galaxies/themes", "用于测试星系和主题");
Register("Pause DarkFog", "暂停黑雾");
Register("Skip DF Hive Logic", "跳过黑雾巢穴逻辑");
Register("Distance to start Pausing(LY)", "开始暂停的距离(光年)");
Register("Distance (LY) before skipping", "超过此距离后开始跳过(光年)");
Register("Debug Log", "调试日志");
Register("Print extra logs to BepInEx console", "向 BepInEx 控制台输出额外日志");
Register("Dev Log", "开发日志");
Register("Print stupid amount of logs to BepInEx console (SLOW)", "向 BepInEx 控制台输出大量日志(较慢)");
Register("Generation Log", "生成日志");
Register("Print generation logs to BepInEx console (SLOW)", "向 BepInEx 控制台输出生成日志(较慢)");
Register("New Gravity Mechanics", "新引力机制");
Register("Large planets attract a lot more. Can cause issues with large planets", "大型行星会产生更强的吸引力,可能带来一些问题");
Register("Disable Sector Update", "禁用 Sector Update");
Register("Disable SpaceSector", "禁用 SpaceSector");
Register("Disable Starmap Batches", "禁用星图批处理");
Register("Vanilla Grid (200r)", "原版网格(200 半径)");
Register("Force Rare Spawn", "强制生成稀有资源");
Register("Ignore randomness/distance checks", "忽略随机和距离检查");
Register("Enable Teleport", "启用传送");
Register("TP by ctrl-click nav arrow in star map", "在星图中按住 Ctrl 并点击导航箭头进行传送");
Register("Cheat Mode", "作弊模式");
Register("Mecha Scale", "机甲比例");
Register("How big Icarus should be. 1 = default", "伊卡洛斯机甲的大小。1 为默认");
Register("Reset Binary Star Position", "重置双星位置");
Register("Try and move binary stars to new position relative to main star", "尝试把双星移动到相对主星的新位置");
Register("Ship Speed Multiplier", "飞船速度倍率");
Register("Multiplier for Warp Speed of Ships", "运输船曲速速度倍率");
Register("GalaxySelect Planet ScaleFactor", "新游戏界面行星显示倍率");
Register("How big planets should be in the new game system view", "新游戏星系视图中行星的显示大小");
Register("GalaxySelect Star ScaleFactor", "新游戏界面恒星显示倍率");
Register("How big star should be in the new game system view", "新游戏星系视图中恒星的显示大小");
Register("GalaxySelect Orbit ScaleFactor", "新游戏界面轨道显示倍率");
Register("How spaced orbits should be in the new game system view", "新游戏星系视图中轨道之间的间距");
Register("GalaxySelect Click Tolerance", "新游戏界面点击容差");
Register("How close to a star/planet your mouse needs to be to register a click", "鼠标需要离星体或行星多近才会判定为点击");
Register("Dev Mode", "开发者模式");
Register("Enable Keybinds for Refreshing Working Theme", "启用用于刷新当前工作主题的快捷键");
Register("Set ResourceMulti Infinite", "将资源倍率设为无限");
Register("Will need to be saved and loaded to apply", "需要保存并重新读取后才会生效");
Register("Universe Observe Level", "宇宙观察等级");
Register("Controls visibility of distant stars/planets (1-4)", "控制远距离恒星和行星的可见等级(1 到 4)");
Register("Apply Observe Level", "应用观察等级");
Register("Sets the current game's universeObserveLevel to the selected value", "将当前游戏的 universeObserveLevel 设置为所选值");
Register("No game loaded", "未加载游戏");
Register("Custom Galaxy Export/Import", "自定义星系导出与导入");
Register("Export available once in game", "进入游戏后才可以导出");
Register("Export Filename", "导出文件名");
Register("Excluding .json", "不包含 .json 后缀");
Register("Minify Exported JSON", "压缩导出的 JSON");
Register("Only save changes", "仅保存改动部分");
Register("Export Custom Galaxy", "导出自定义星系");
Register("Save Galaxy to File", "将星系保存到文件");
Register("Custom Galaxy", "自定义星系");
Register("Select a custom galaxy to load", "选择要导入的自定义星系");
Register("Load Custom Galaxy", "导入自定义星系");
Register("Will end current game", "将结束当前游戏");
Register("Enable Dark Fog", "启用黑雾");
Register("Enable Enemies", "启用敌人");
Register("Aggressiveness", "侵略性");
Register("Initial Level", "初始等级");
Register("Initial Growth", "初始生长");
Register("Initial Colonize", "初始殖民");
Register("Max Density", "最大密度");
Register("Growth Speed Factor", "生长速度系数");
Register("Power Threat Factor", "电力威胁系数");
Register("Battle Threat Factor", "战斗威胁系数");
Register("Battle Exp Factor", "战斗经验系数");
Register("Combat Settings", "战斗设置");
Register("How the AI behaves", "AI 的行为方式");
Register("How aggressive the AI is", "AI 的侵略程度");
Register("How strong the AI is at the start", "AI 在开局时的强度");
Register("How fast the AI grows at the start", "AI 在开局时的生长速度");
Register("How fast the AI colonizes at the start", "AI 在开局时的殖民速度");
Register("How dense the AI can get", "AI 可达到的最大密度");
Register("How fast the AI grows", "AI 的总体生长速度");
Register("How much the AI cares about power", "AI 对电力目标的重视程度");
Register("How much the AI cares about battle", "AI 对战斗目标的重视程度");
Register("How much the AI cares about battle experience", "AI 对战斗经验的重视程度");
Register("External Themes", "外部主题");
Register("Export All Themes", "导出全部主题");
Register("Success", "成功");
Register("Themes have been exported to ", "主题已导出到 ");
Register("Galaxy Saved to ", "星系已保存到 ");
Register("Error", "错误");
Register("Please try again after creating a galaxy :)\r\nStart a game, then press ESC and click settings.", "请在创建星系后再试。\r\n开始游戏后,按 ESC 并点击设置。");
Register("To use the Custom JSON Generator you must select a file to load.", "要使用自定义 JSON 生成器,必须先选择要加载的文件。");
}
private static void RegisterLegacyStrings()
{
Register("Galaxy Density", "星系密度");
Register("Binary and Trinary Star Chance", "双星与三星概率");
Register("Starting System Star Type", "起始恒星系的恒星类型");
Register("Disable Rares on Starting Planet", "起始星球不生成稀有资源");
Register("Variable Size Gas Giants", "不同大小的气态巨星");
Register("Higher Chance of Gas Giant Moons", "提高气态巨星卫星生成概率");
Register("Blue Stars Luminosity Boost", "蓝恒星亮度增益");
Register("Coefficient", "系数");
Register("Realistic Solar Power Levels", "真实太阳能等级");
Register("Star Types Frequencies", "恒星种类频率");
Register("Settings that determine frequencies of various star types in the cluster", "决定星团中各种恒星出现频率的设置");
Register("Number of Planets per System", "每个恒星系的行星数量");
Register("Planet Size Range", "行星大小范围");
Register("Rare Resource Vein Chance %", "稀有资源矿脉概率 %");
Register("Update Information", "更新信息");
Register("Asset Bundle not found. \r\nPlease ensure your directory structure is correct.\r\n Installation instructions can be found at https://centrebra.in/release. \r\nAn error log has been generated in the plugin/ErrorLog Directory", "未找到 AssetBundle。\r\n请确认目录结构正确。\r\n安装说明见:https://centrebra.in/release 。\r\n插件目录下的 ErrorLog 中已生成错误日志。");
Register("Failed to load AssetBundle!", "加载 AssetBundle 失败。");
Register("Galactic Scale config Directory has changed to \r\n ...\\BepInEx\\config\\GalacticScale \r\nThis is to prevent data being lost when updating using the mod manager.\r\n", "Galactic Scale 的配置目录已改为 BepInEx/config/GalacticScale。\r\n这样可以避免使用模组管理器更新时丢失数据。\r\n");
Register("If the game fails to load it will timeout in 20s. ESC to abort loading. Read the FAQ @ https://centrebra.in/\r\n", "如果游戏加载失败,会在 20 秒后超时。按 ESC 可以中止加载。更多说明见:https://centrebra.in/\r\n");
Register("Missing GSUI.DLL", "缺少 GSUI.DLL");
Register("Could not find birthplanet as there are no stars or planets.", "未找到出生星球,因为当前没有恒星或行星。");
Register("Cannot Host a GS2 Game using Vanilla Generator", "使用原版生成器时不能创建 GS2 联机游戏");
Register("Warning", "警告");
Register("OK", "确定");
Register("Ok", "确定");
Register("Return", "返回");
Register("Noted!", "知道了");
Register("Now", "立即");
Register("Go", "执行");
Register("Apply", "应用");
Register("Export", "导出");
Register("Load", "加载");
Register("Click", "点击");
Register("Woohoo!", "好的");
Register("D'oh!", "明白");
Register("Note", "提示");
Register("Min Distance", "最小距离");
Register("Step Length", "步长");
}
}
}