Fix capitalization of all xml strings

This commit is contained in:
Atony committed 2026-08-27 18:21:14 -05:00
1 parent 4206b74d12
commit 28a77f96cb
16 files changed
+117 -132

No files matched your search

+2 -2
View File
@@ -11,10 +11,10 @@ namespace MiraAPI.GameModes;
public class ClassicMode : AbstractGameMode
{
/// <inheritdoc/>
public override string Name => "gamemode.classic";
public override string Name => "MiraApi.Gamemode.Classic";
/// <inheritdoc/>
public override string Description => "gamemode.classic.description";
public override string Description => "MiraApi.Gamemode.Classic.Description";
public override LoadableAsset<Sprite>? Icon => MiraAssets.ClassicGamemodeIcon;
}
+1 -1
View File
@@ -53,7 +53,7 @@ public static class GameModeOption
internal static readonly StringNames CustomName = MiraLocaleManager.GetOrCreateLocaleString("Custom");
internal static readonly Dictionary<uint, StringNames> Values = new()
{
[0] = MiraLocaleManager.GetOrCreateLocaleString("gamemode.classic"),
[0] = MiraLocaleManager.GetOrCreateLocaleString("MiraApi.Gamemode.Classic"),
};
internal static void AddOption(AbstractGameMode mode)
+2 -2
View File
@@ -25,10 +25,10 @@ namespace MiraAPI.GameModes;
public class HideAndSeekMode : AbstractGameMode
{
/// <inheritdoc/>
public override string Name => "gamemode.hidenseek";
public override string Name => "MiraApi.Gamemode.HideAndSeek";
/// <inheritdoc/>
public override string Description => "gamemode.hidenseek.description";
public override string Description => "MiraApi.Gamemode.HideAndSeek.Description";
// TODO: Once the Hide n Seek port is ready for release, we will remove this.
public override bool HideMode => !MiraApiPlugin.IsDevBuild;
+9 -15
View File
@@ -17,7 +17,7 @@ namespace MiraAPI;
public class MiraApiSettings(ConfigFile config) : LocalSettingsTab(config)
{
/// <inheritdoc />
public override string TabName => "miraApi";
public override string TabName => "MiraApi";
/// <inheritdoc />
public override LocalSettingTabAppearance TabAppearance => new()
@@ -210,53 +210,47 @@ public class MiraApiSettings(ConfigFile config) : LocalSettingsTab(config)
/// </summary>
[LocalSliderSetting(min: 0.5f, max: 1.5f, suffixType: MiraNumberSuffixes.Multiplier, formatString: "0.00", displayValue: true)]
public ConfigEntry<float> ButtonUIFactorSlider { get; private set; } =
config.Bind("miraApi.visualsUi", "miraApi.buttonScaleFactor", 0.75f);
config.Bind("MiraApi.VisualsUi", "MiraApi.ButtonScaleFactor", 0.75f);
/// <summary>
/// Gets the scale of the UI buttons.
/// </summary>
[LocalSliderSetting(min: 0.3f, max: 2f, suffixType: MiraNumberSuffixes.Multiplier, formatString: "0.00", displayValue: true)]
public ConfigEntry<float> TopRightButtonsFactorSlider { get; private set; } =
config.Bind("miraApi.visualsUi", "miraApi.topRightButtonScaleFactor", 1f);
config.Bind("MiraApi.VisualsUi", "MiraApi.TopRightButtonScaleFactor", 1f);
/// <summary>
/// Gets the fps specified by the player.
/// </summary>
[LocalSliderSetting(min: 60f, max: 240f, suffixType: MiraNumberSuffixes.None, formatString: "0", displayValue: true, roundValue: true)]
public ConfigEntry<float> SetFpsSlider { get; private set; } =
config.Bind("miraApi.visualsUi", "Max FPS", 120f);
config.Bind("MiraApi.VisualsUi", "Max FPS", 120f);
/// <summary>
/// Gets whether the modifiers hud should be on the left side of the screen (under roles/task tab). Recommended for streamers.
/// </summary>
[LocalToggleSetting]
public ConfigEntry<bool> ModifiersHudLeftSide { get; private set; } = config.Bind("miraApi.visualsUi", "miraApi.showModifiersHudOnLeftSide", false);
public ConfigEntry<bool> ModifiersHudLeftSide { get; private set; } = config.Bind("MiraApi.VisualsUi", "MiraApi.ShowModifiersHudOnLeftSide", false);
/// <summary>
/// Gets whether to show keybinds on buttons.
/// </summary>
[LocalToggleSetting]
public ConfigEntry<bool> ShowKeybinds { get; private set; } = config.Bind("miraApi.visualsUi", "miraApi.showKeybindsOnButtons", true);
public ConfigEntry<bool> ShowKeybinds { get; private set; } = config.Bind("MiraApi.VisualsUi", "MiraApi.ShowKeybindsOnButtons", true);
[LocalToggleSetting]
public ConfigEntry<bool> WikiOnBottomRow { get; private set; } =
config.Bind("miraApi.visualsUi", "miraApi.wikiOnBottomRow", true);
/// <summary>
/// Gets whether to apply cosmetic changes to the TaskAdder.
/// </summary>
[LocalToggleSetting]
public ConfigEntry<bool> PrettyTaskAdder { get; private set; } = config.Bind("miraApi.freeplay", "miraApi.prettyTaskLaptop", true);
config.Bind("MiraApi.VisualsUi", "MiraApi.WikiOnBottomRow", true);
/// <summary>
/// Gets whether to show the red flash from sabotages.
/// </summary>
[LocalToggleSetting]
public ConfigEntry<bool> EnableSabotageFlashes { get; private set; } = config.Bind("miraApi.accessibility", "miraApi.enableSabotageFlashes", true);
public ConfigEntry<bool> EnableSabotageFlashes { get; private set; } = config.Bind("MiraApi.Accessibility", "MiraApi.EnableSabotageFlashes", true);
/// <summary>
/// Gets whether to enable the sabotage sound effects or not.
/// </summary>
[LocalToggleSetting]
public ConfigEntry<bool> EnableSabotageBlares { get; private set; } = config.Bind("miraApi.accessibility", "miraApi.enableSabotageBlare", true);
public ConfigEntry<bool> EnableSabotageBlares { get; private set; } = config.Bind("MiraApi.Accessibility", "MiraApi.EnableSabotageBlare", true);
}
+14 -25
View File
@@ -5,7 +5,6 @@ using System.Text;
using AmongUs.GameOptions;
using HarmonyLib;
using Il2CppInterop.Runtime.InteropTypes.Arrays;
using MiraAPI.LocalSettings;
using MiraAPI.Modifiers;
using MiraAPI.Modifiers.Types;
using MiraAPI.PluginLoading;
@@ -269,13 +268,9 @@ public static class TaskAdderPatches
stringBuilder.Append('\\');
}
__instance.PathText.text = stringBuilder.ToString();
var prettyEnabled = LocalSettingsTabSingleton<MiraApiSettings>.Instance.PrettyTaskAdder.Value;
if (prettyEnabled)
{
__instance.PathText.fontSizeMin = 3;
__instance.PathText.fontSizeMax = 3;
__instance.transform.FindChild("TitleText_TMP")?.gameObject.DestroyImmediate();
}
__instance.PathText.fontSizeMin = 3;
__instance.PathText.fontSizeMax = 3;
__instance.transform.FindChild("TitleText_TMP")?.gameObject.DestroyImmediate();
__instance.ActiveItems.ToArray().Do(x => x.gameObject.DeepDestroy(false));
__instance.ActiveItems.Clear();
@@ -355,15 +350,12 @@ public static class TaskAdderPatches
{
TaskAddButton roleAddButton = Object.Instantiate(__instance.RoleButton);
roleAddButton.SafePositionWorld = __instance.SafePositionWorld;
roleAddButton.Text.text = prettyEnabled ? role.GetRoleName() : "Be_" + role.GetRoleName() + ".exe";
roleAddButton.Text.text = role.GetRoleName();
roleAddButton.Role = role;
if (prettyEnabled)
{
roleAddButton.Text.fontSizeMin = 1;
roleAddButton.FileImage.sprite = role.IsImpostor
? MiraAssets.ImpostorFile.LoadAsset()
: MiraAssets.CrewmateFile.LoadAsset();
}
roleAddButton.Text.fontSizeMin = 1;
roleAddButton.FileImage.sprite = role.IsImpostor
? MiraAssets.ImpostorFile.LoadAsset()
: MiraAssets.CrewmateFile.LoadAsset();
__instance.AddFileAsChildCustom(roleAddButton, ref num, ref num2, ref num3);
if (roleAddButton != null && roleAddButton.Button != null)
@@ -410,19 +402,16 @@ public static class TaskAdderPatches
var roleAddButton = Object.Instantiate(__instance.RoleButton);
roleAddButton.MyTask = null;
roleAddButton.SafePositionWorld = __instance.SafePositionWorld;
roleAddButton.Text.text = prettyEnabled ? roleBehaviour.GetRoleName() : "Be_" + roleBehaviour.GetRoleName() + ".exe";
roleAddButton.Text.text = roleBehaviour.GetRoleName();
roleAddButton.Text.EnableMasking();
roleAddButton.role = roleBehaviour;
if (prettyEnabled)
{
roleAddButton.Text.fontSizeMin = 1;
roleAddButton.FileImage.sprite = roleBehaviour.IsImpostor
? MiraAssets.ImpostorFile.LoadAsset()
: MiraAssets.CrewmateFile.LoadAsset();
}
roleAddButton.Text.fontSizeMin = 1;
roleAddButton.FileImage.sprite = roleBehaviour.IsImpostor
? MiraAssets.ImpostorFile.LoadAsset()
: MiraAssets.CrewmateFile.LoadAsset();
if (roleBehaviour is ICustomRole custom)
{
if (prettyEnabled && custom.Team == ModdedRoleTeams.Custom) roleAddButton.FileImage.sprite = MiraAssets.CustomTeamFile.LoadAsset();
if (custom.Team == ModdedRoleTeams.Custom) roleAddButton.FileImage.sprite = MiraAssets.CustomTeamFile.LoadAsset();
var customColor = custom.IntroConfiguration?.IntroTeamColor ?? Color.gray;
if (custom.Team is ModdedRoleTeams.Crewmate)
{
+1 -1
View File
@@ -50,7 +50,7 @@ internal static class HudPatches
gmText.SetActive(false);
modelText.SetActive(false);
_text = gmTextClone.GetComponent<TextMeshPro>();
_text.text = CustomGameModeManager.ActiveMode != null ? CustomGameModeManager.ActiveMode.ColoredName : MiraLocaleManager.Get("gamemode.classic");
_text.text = CustomGameModeManager.ActiveMode != null ? CustomGameModeManager.ActiveMode.ColoredName : MiraLocaleManager.Get("MiraApi.Gamemode.Classic");
CustomGameModeManager.ActiveMode?.HudStart(instance);
}
+11 -5
View File
@@ -42,12 +42,16 @@ public static class HudManagerPatches
ResizeUI(LocalSettingsTabSingleton<MiraApiSettings>.Instance.ButtonUIFactorSlider.Value);
}
private static Transform _storedButtonsParent;
public static void ResizeUI(float scaleFactor)
{
var baseButtons = HudManager.Instance.transform.FindChild("Buttons");
if (baseButtons != null)
if (!_storedButtonsParent)
{
foreach (var aspect in baseButtons.GetComponentsInChildren<AspectPosition>(true))
_storedButtonsParent = HudManager.Instance.transform.FindChild("Buttons");
}
if (_storedButtonsParent)
{
foreach (var aspect in _storedButtonsParent.GetComponentsInChildren<AspectPosition>(true))
{
if (!aspect.gameObject)
{
@@ -82,9 +86,9 @@ public static class HudManagerPatches
button.gameObject.SetActive(!button.isActiveAndEnabled);
}
if (baseButtons != null)
if (_storedButtonsParent)
{
foreach (var arrange in baseButtons.GetComponentsInChildren<GridArrange>(true))
foreach (var arrange in _storedButtonsParent.GetComponentsInChildren<GridArrange>(true))
{
if (!arrange.gameObject || !arrange.transform)
{
@@ -281,6 +285,8 @@ public static class HudManagerPatches
}
MiraApiSettings.OldButtonScaleFactor =
LocalSettingsTabSingleton<MiraApiSettings>.Instance.ButtonUIFactorSlider.Value;
MiraApiSettings.OldUiButtonScaleFactor =
LocalSettingsTabSingleton<MiraApiSettings>.Instance.TopRightButtonsFactorSlider.Value;
Coroutines.Start(CoResizeUI());
}
@@ -716,7 +716,7 @@ internal static class GameOptionsMenuPatch
categoryHeaderMasked.gameObject.SetActive(false);
var newText = Object.Instantiate(categoryHeaderMasked.Title, categoryHeaderMasked.transform);
newText.text = $"<size=70%>({"gamesetting.global.clicktoclose".Translate()})</size>";
newText.text = $"<size=70%>({"MiraApi.GameSetting.Global.ClickToClose".Translate()})</size>";
newText.transform.localPosition = new Vector3(2.6249f, -0.165f, 0f);
newText.gameObject.GetComponent<TextTranslatorTMP>().Destroy();
@@ -733,8 +733,8 @@ internal static class GameOptionsMenuPatch
{
group.AllOptionsHidden = !group.AllOptionsHidden;
newText.text = group.AllOptionsHidden
? $"<size=70%>({"gamesetting.global.clicktoopen".Translate()})</size>"
: $"<size=70%>({"gamesetting.global.clicktoclose".Translate()})</size>";
? $"<size=70%>({"MiraApi.GameSetting.Global.ClickToOpen".Translate()})</size>"
: $"<size=70%>({"MiraApi.GameSetting.Global.ClickToClose".Translate()})</size>";
}));
headerBtn.SetButtonEnableState(true);
@@ -46,7 +46,7 @@ internal static class GamePresetsTabPatches
if (MenuState.Instance.CurrentModIdx != 0)
{
__instance.PresetDescriptionText.text = "gamesetting.preset.hint".Translate();
__instance.PresetDescriptionText.text = "MiraApi.GameSetting.Preset.Hint".Translate();
}
else
{
@@ -185,7 +185,7 @@ internal static class GamePresetsTabPatches
// set the button text and alignment
var saveText = saveButton.buttonText;
saveText.text = "gamesetting.preset.save".Translate();
saveText.text = "MiraApi.GameSetting.Preset.Save".Translate();
saveText.GetComponent<TextTranslatorTMP>().Destroy();
saveText.alignment = TextAlignmentOptions.Center;
saveText.transform.parent.localPosition = new Vector3(
@@ -83,7 +83,7 @@ public static class LobbyViewPanePatches
var pos = ModifiersTabButton.transform.localPosition;
pos.x = 2.1f;
ModifiersTabButton.transform.localPosition = pos;
ModifiersTabButton.buttonText.text = "gamesetting.modifiers".Translate();
ModifiersTabButton.buttonText.text = "MiraApi.GameSetting.Modifiers".Translate();
ModifiersTabButton.OnClick = new Button.ButtonClickedEvent();
ModifiersTabButton.OnClick.AddListener(
(UnityAction)(() =>
@@ -151,7 +151,7 @@ public static class LobbyViewPanePatches
var cgm = GetCustomGamemode();
ModifiersTabButton?.gameObject.SetActive(false);
menu.rolesTabButton.gameObject.SetActive(cgm is null or { ShowNormalRoleSettings: true });
menu.gameModeText.text = cgm is null ? MiraLocaleManager.Get("gamemode.classic") : cgm.ColoredName;
menu.gameModeText.text = cgm is null ? MiraLocaleManager.Get("MiraApi.Gamemode.Classic") : cgm.ColoredName;
}
else
{
+3 -3
View File
@@ -150,7 +150,7 @@ public class MenuState(IntPtr cppPtr) : MonoBehaviour(cppPtr)
_largeButtons[MenuButton.Modifiers] = mBtn;
mBtn.name = "ModifiersButton";
mBtn.buttonText.gameObject.GetComponent<TextTranslatorTMP>().Destroy();
mBtn.buttonText.text = "gamesetting.modifiers".Translate();
mBtn.buttonText.text = "MiraApi.GameSetting.Modifiers".Translate();
mBtn.OnClick = new Button.ButtonClickedEvent();
mBtn.OnClick.AddListener(
(UnityAction)(() =>
@@ -219,7 +219,7 @@ public class MenuState(IntPtr cppPtr) : MonoBehaviour(cppPtr)
}));
var roleText = smRolesBtn.buttonText;
roleText.text = "gamesetting.roles".Translate();
roleText.text = "MiraApi.GameSetting.Roles".Translate();
roleText.GetComponent<TextTranslatorTMP>().Destroy();
roleText.alignment = TextAlignmentOptions.Center;
roleText.transform.parent.localPosition = new Vector3(
@@ -244,7 +244,7 @@ public class MenuState(IntPtr cppPtr) : MonoBehaviour(cppPtr)
var smModBtn = Instantiate(smRolesBtn, smRolesBtn.transform.parent);
_smallButtons[MenuButton.Modifiers] = smModBtn;
smModBtn.name = "SmallModifiersButton";
smModBtn.buttonText.text = "gamesetting.modifiers".Translate();
smModBtn.buttonText.text = "MiraApi.GameSetting.Modifiers".Translate();
smModBtn.OnClick = new Button.ButtonClickedEvent();
smModBtn.OnClick.AddListener(
(UnityAction)(() =>
@@ -289,8 +289,8 @@ public static class RoleSettingMenuPatches
quotaInst.gameObject.SetActive(!RoleGroupHidden[group]);
var label = RoleGroupHidden[group]
? $"({"gamesetting.global.clicktoopen".Translate()})"
: $"({"gamesetting.global.clicktoclose".Translate()})";
? $"({"MiraApi.GameSetting.Global.ClickToOpen".Translate()})"
: $"({"MiraApi.GameSetting.Global.ClickToClose".Translate()})";
var newText = Object.Instantiate(categoryHeaderMasked.Title, categoryHeaderMasked.transform);
newText.text = $"<size=70%>{label}</size>";
newText.transform.localPosition = new Vector3(2.6249f, -0.165f, 0f);
@@ -610,7 +610,7 @@ public static class RoleSettingMenuPatches
comp.Destroy();
}
categoryHeaderMasked.Title.text = "miraApi.returnToRoleSettings".Translate();
categoryHeaderMasked.Title.text = "MiraApi.ReturnToRoleSettings".Translate();
if (!categoryHeaderMasked.gameObject.TryGetComponent<PassiveButton>(out _))
{
+37 -39
View File
@@ -1,44 +1,42 @@
<?xml version='1.0' encoding='UTF-8'?>
<resources>
<string name="miraApi">Mira API</string>
<string name="miraApi.visualsUi">Visuals/UI</string>
<string name="miraApi.freeplay">Freeplay</string>
<string name="miraApi.accessibility">Accessibility</string>
<string name="miraApi.miraApiBrand">MiraAPI</string>
<string name="miraApi.showModifiersHudOnLeftSide">Show Modifiers HUD on Left Side</string>
<string name="miraApi.showKeybindsOnButtons">Show Keybinds on Buttons</string>
<string name="miraApi.buttonScaleFactor">Button Scale Factor</string>
<string name="miraApi.topRightButtonScaleFactor">Top-Right UI Scale Factor</string>
<string name="miraApi.maxFps">Max FPS</string>
<string name="miraApi.wikiOnBottomRow">Display Wiki on Bottom Row</string>
<string name="miraApi.prettyTaskLaptop">Pretty Task Laptop</string>
<string name="miraApi.enableSabotageFlashes">Enable Sabotage Flashes</string>
<string name="miraApi.enableSabotageBlare">Enable Sabotage Blare</string>
<string name="miraApi.returnToRoleSettings">RETURN TO ROLE SETTINGS</string>
<string name="miraApi.customCategory1">Custom Category 1</string>
<string name="miraApi.customCategory2">Custom Category 2</string>
<string name="miraApi.modifierMenuDescription">Configure modifiers and their settings here!</string>
<string name="miraApi.customOptionMenuDescription">Apply game settings for this mod!</string>
<string name="gamemode.classic">Classic</string>
<string name="gamemode.classic.description">The classic Among Us experience!
<string name="MiraApi">Mira API</string>
<string name="MiraApi.VisualsUi">Visuals/UI</string>
<string name="MiraApi.Accessibility">Accessibility</string>
<string name="MiraApi.MiraApiBrand">MiraAPI</string>
<string name="MiraApi.ShowModifiersHudOnLeftSide">Show Modifiers HUD on Left Side</string>
<string name="MiraApi.ShowKeybindsOnButtons">Show Keybinds on Buttons</string>
<string name="MiraApi.ButtonScaleFactor">Button Scale Factor</string>
<string name="MiraApi.TopRightButtonScaleFactor">Top-Right UI Scale Factor</string>
<string name="MiraApi.MaxFps">Max FPS</string>
<string name="MiraApi.WikiOnBottomRow">Display Wiki on Bottom Row</string>
<string name="MiraApi.EnableSabotageFlashes">Enable Sabotage Flashes</string>
<string name="MiraApi.EnableSabotageBlare">Enable Sabotage Blare</string>
<string name="MiraApi.ReturnToRoleSettings">RETURN TO ROLE SETTINGS</string>
<string name="MiraApi.CustomCategory1">Custom Category 1</string>
<string name="MiraApi.CustomCategory2">Custom Category 2</string>
<string name="MiraApi.ModifierMenuDescription">Configure modifiers and their settings here!</string>
<string name="MiraApi.CustomOptionMenuDescription">Apply game settings for this mod!</string>
<string name="MiraApi.Gamemode.Classic">Classic</string>
<string name="MiraApi.Gamemode.Classic.Description">The classic Among Us experience!
Find the Impostors or deceive the Crew.</string>
<string name="gamemode.hidenseek">Hide n Seek</string>
<string name="gamemode.hidenseek.description">You can run, but you can't hide!
<string name="MiraApi.Gamemode.HideAndSeek">Hide n Seek</string>
<string name="MiraApi.Gamemode.HideAndSeek.Description">You can run, but you can't hide!
Outlive the timer or eliminate the crew.</string>
<string name="gamesetting.global.clicktoclose">Click to close</string>
<string name="gamesetting.global.clicktoopen">Click to open</string>
<string name="gamesetting.preset.hint">Select or create a options preset for this game</string>
<string name="gamesetting.preset.save">Save</string>
<string name="gamesetting.roles">Roles</string>
<string name="gamesetting.modifiers">Modifiers</string>
<string name="roleTeam.crewmate">Crewmate</string>
<string name="roleTeam.crewmate.short">Crew</string>
<string name="roleTeam.crewmate.group">Crewmate Roles</string>
<string name="roleTeam.impostor">Impostor</string>
<string name="roleTeam.impostor.short">Imp</string>
<string name="roleTeam.impostor.group">Impostor Roles</string>
<string name="roleTeam.neutral">Neutral</string>
<string name="roleTeam.neutral.short">Neut</string>
<string name="roleTeam.neutral.group">Neutral Roles</string>
<string name="roleTeam.other">Other</string>
<string name="MiraApi.GameSetting.Global.ClickToClose">Click to close</string>
<string name="MiraApi.GameSetting.Global.ClickToOpen">Click to open</string>
<string name="MiraApi.GameSetting.Preset.Hint">Select or create a options preset for this game</string>
<string name="MiraApi.GameSetting.Preset.Save">Save</string>
<string name="MiraApi.GameSetting.Roles">Roles</string>
<string name="MiraApi.GameSetting.Modifiers">Modifiers</string>
<string name="MiraApi.RoleTeam.Crewmate">Crewmate</string>
<string name="MiraApi.RoleTeam.Crewmate.Short">Crew</string>
<string name="MiraApi.RoleTeam.Crewmate.Group">Crewmate Roles</string>
<string name="MiraApi.RoleTeam.Impostor">Impostor</string>
<string name="MiraApi.RoleTeam.Impostor.Short">Imp</string>
<string name="MiraApi.RoleTeam.Impostor.Group">Impostor Roles</string>
<string name="MiraApi.RoleTeam.Neutral">Neutral</string>
<string name="MiraApi.RoleTeam.Neutral.Short">Neut</string>
<string name="MiraApi.RoleTeam.Neutral.Group">Neutral Roles</string>
<string name="MiraApi.RoleTeam.Other">Other</string>
</resources>
+20 -22
View File
@@ -1,27 +1,25 @@
<?xml version='1.0' encoding='UTF-8'?>
<resources>
<string name="miraApi">Mira API</string>
<string name="miraApi.visualsUi">界面/视觉</string>
<string name="miraApi.freeplay">自由模式</string>
<string name="miraApi.accessibility">无障碍</string>
<string name="miraApi.miraApiBrand">MiraAPI</string>
<string name="miraApi.showModifiersHudOnLeftSide">在左侧显示附加职业UI</string>
<string name="miraApi.showKeybindsOnButtons">在按钮上显示快捷键</string>
<string name="miraApi.buttonScaleFactor">按钮缩放比例</string>
<string name="miraApi.maxFps">最大帧数</string>
<string name="miraApi.prettyTaskLaptop">美化任务笔记本</string>
<string name="miraApi.enableSabotageFlashes">启用破坏红色闪烁</string>
<string name="miraApi.enableSabotageBlare">启用破坏音效</string>
<string name="miraApi.returnToRoleSettings">返回职业设置</string>
<string name="miraApi.customCategory1">自定义类别 1</string>
<string name="miraApi.customCategory2">自定义类别 2</string>
<string name="miraApi.modifierMenuDescription">在此配置附加职业及其设置!</string>
<string name="miraApi.customOptionMenuDescription">为此模组应用游戏设置!</string>
<string name="MiraApi">Mira API</string>
<string name="MiraApi.VisualsUi">界面/视觉</string>
<string name="MiraApi.Accessibility">无障碍</string>
<string name="MiraApi.MiraApiBrand">MiraAPI</string>
<string name="MiraApi.ShowModifiersHudOnLeftSide">在左侧显示附加职业UI</string>
<string name="MiraApi.ShowKeybindsOnButtons">在按钮上显示快捷键</string>
<string name="MiraApi.ButtonScaleFactor">按钮缩放比例</string>
<string name="MiraApi.MaxFps">最大帧数</string>
<string name="MiraApi.EnableSabotageFlashes">启用破坏红色闪烁</string>
<string name="MiraApi.EnableSabotageBlare">启用破坏音效</string>
<string name="MiraApi.ReturnToRoleSettings">返回职业设置</string>
<string name="MiraApi.CustomCategory1">自定义类别 1</string>
<string name="MiraApi.CustomCategory2">自定义类别 2</string>
<string name="MiraApi.ModifierMenuDescription">在此配置附加职业及其设置!</string>
<string name="MiraApi.CustomOptionMenuDescription">为此模组应用游戏设置!</string>
<string name="gamemode.default">默认</string>
<string name="gamemode.default.description">默认原版游戏模式</string>
<string name="gamesetting.global.clicktoclose">点击关闭</string>
<string name="gamesetting.preset.hint">为本游戏选择或创建一个预设</string>
<string name="gamesetting.preset.save">保存</string>
<string name="gamesetting.roles">职业</string>
<string name="gamesetting.modifiers">附加职业</string>
<string name="MiraApi.GameSetting.Global.ClickToClose">点击关闭</string>
<string name="MiraApi.GameSetting.Preset.Hint">为本游戏选择或创建一个预设</string>
<string name="MiraApi.GameSetting.Preset.Save">保存</string>
<string name="MiraApi.GameSetting.Roles">职业</string>
<string name="MiraApi.GameSetting.Modifiers">附加职业</string>
</resources>
+4 -4
View File
@@ -74,10 +74,10 @@ public interface ICustomRole : IOptionable
/// </summary>
string RoleFactionTitle => Team switch
{
ModdedRoleTeams.Crewmate => MiraLocaleManager.Get("roleTeam.crewmate"),
ModdedRoleTeams.Impostor => MiraLocaleManager.Get("roleTeam.impostor"),
ModdedRoleTeams.Custom => MiraLocaleManager.Get("roleTeam.neutral"),
_ => MiraLocaleManager.Get("roleTeam.other"),
ModdedRoleTeams.Crewmate => MiraLocaleManager.Get("MiraApi.RoleTeam.Crewmate"),
ModdedRoleTeams.Impostor => MiraLocaleManager.Get("MiraApi.RoleTeam.Impostor"),
ModdedRoleTeams.Custom => MiraLocaleManager.Get("MiraApi.RoleTeam.Neutral"),
_ => MiraLocaleManager.Get("MiraApi.RoleTeam.Other"),
};
/// <summary>
+3 -3
View File
@@ -13,15 +13,15 @@ public record struct RoleOptionsGroup(string Name, Color Color, int Priority = 0
/// <summary>
/// Gets the default group for crewmates.
/// </summary>
public static RoleOptionsGroup Crewmate { get; } = new("roleTeam.crewmate.group", Palette.CrewmateBlue, -2);
public static RoleOptionsGroup Crewmate { get; } = new("MiraApi.RoleTeam.Crewmate.Group", Palette.CrewmateBlue, -2);
/// <summary>
/// Gets the default group for impostors.
/// </summary>
public static RoleOptionsGroup Impostor { get; } = new("roleTeam.impostor.group", Palette.ImpostorRed, -1);
public static RoleOptionsGroup Impostor { get; } = new("MiraApi.RoleTeam.Impostor.Group", Palette.ImpostorRed, -1);
/// <summary>
/// Gets the default group for neutral roles.
/// </summary>
public static RoleOptionsGroup Neutral { get; } = new("roleTeam.neutral.group", Color.gray);
public static RoleOptionsGroup Neutral { get; } = new("MiraApi.RoleTeam.Neutral.Group", Color.gray);
}