Upper/Lower extensions for translations

This commit is contained in:
Noah Pilarski 2024-04-27 20:42:27 -04:00
parent a188d5380a
commit 6674a4c6e6
6 changed files with 68 additions and 6 deletions

View File

@ -282,7 +282,7 @@ namespace NewHorizons.Components.ShipLog
var name = UniqueIDToName(shipLogEntryCard.name);
var warpNotificationDataText = TranslationHandler.GetTranslation("WARP_LOCKED", TranslationHandler.TextType.UI).Replace("{0}", name.ToUpper());
var warpNotificationDataText = TranslationHandler.GetTranslation("WARP_LOCKED", TranslationHandler.TextType.UI).Replace("{0}", name.ToUpperFixed());
_warpNotificationData = new NotificationData(warpNotificationDataText);
NotificationManager.SharedInstance.PostNotification(_warpNotificationData, true);

View File

@ -189,7 +189,7 @@ namespace NewHorizons.Handlers
{
var uiTable = TextTranslation.Get().m_table.theUITable;
var text = GetTranslation(rawText, TextType.UI).ToUpper();
var text = GetTranslation(rawText, TextType.UI).ToUpperFixed();
var key = uiTable.Keys.Max() + 1;
try

View File

@ -2,6 +2,7 @@ using HarmonyLib;
using NewHorizons.Builder.Props.Audio;
using NewHorizons.External;
using NewHorizons.Handlers;
using NewHorizons.Utility;
using System;
using UnityEngine;
@ -17,7 +18,7 @@ namespace NewHorizons.Patches.SignalPatches
var customSignalName = SignalBuilder.GetCustomSignalName(name);
if (!string.IsNullOrEmpty(customSignalName))
{
__result = TranslationHandler.GetTranslation(customSignalName, TranslationHandler.TextType.UI, false).ToUpper();
__result = TranslationHandler.GetTranslation(customSignalName, TranslationHandler.TextType.UI, false).ToUpperFixed();
return false;
}
return true;
@ -68,7 +69,7 @@ namespace NewHorizons.Patches.SignalPatches
var customName = SignalBuilder.GetCustomFrequencyName(frequency);
if (!string.IsNullOrEmpty(customName))
{
if (NewHorizonsData.KnowsFrequency(customName)) __result = TranslationHandler.GetTranslation(customName, TranslationHandler.TextType.UI, false).ToUpper();
if (NewHorizonsData.KnowsFrequency(customName)) __result = TranslationHandler.GetTranslation(customName, TranslationHandler.TextType.UI, false).ToUpperFixed();
else __result = UITextLibrary.GetString(UITextType.SignalFreqUnidentified);
return false;
}

View File

@ -15,7 +15,7 @@ namespace NewHorizons.Utility.DebugTools
public static void InitializePauseMenu(IPauseMenuManager pauseMenu)
{
_reloadButton = pauseMenu.MakeSimpleButton(TranslationHandler.GetTranslation("Reload Configs", TranslationHandler.TextType.UI).ToUpper(), 3, true);
_reloadButton = pauseMenu.MakeSimpleButton(TranslationHandler.GetTranslation("Reload Configs", TranslationHandler.TextType.UI).ToUpperFixed(), 3, true);
_reloadButton.OnSubmitAction += ReloadConfigs;
UpdateReloadButton();
}

View File

@ -89,7 +89,7 @@ namespace NewHorizons.Utility.DebugTools.Menu
public static void InitializePauseMenu(IPauseMenuManager pauseMenu)
{
pauseMenuButton = pauseMenu.MakeSimpleButton(TranslationHandler.GetTranslation("Toggle Dev Tools Menu", TranslationHandler.TextType.UI).ToUpper(), 3, true);
pauseMenuButton = pauseMenu.MakeSimpleButton(TranslationHandler.GetTranslation("Toggle Dev Tools Menu", TranslationHandler.TextType.UI).ToUpperFixed(), 3, true);
_instance?.InitMenu();
}

View File

@ -7,6 +7,7 @@ using Newtonsoft.Json;
using OWML.Utils;
using System;
using System.Collections.Generic;
using System.Globalization;
using System.IO;
using System.Linq;
using System.Reflection;
@ -69,6 +70,66 @@ namespace NewHorizons.Utility
return 0;
}
public static string ToLanguageName(this TextTranslation.Language language)
{
switch (language)
{
case TextTranslation.Language.UNKNOWN:
case TextTranslation.Language.TOTAL:
case TextTranslation.Language.ENGLISH:
return "English";
case TextTranslation.Language.SPANISH_LA:
return "Spanish";
case TextTranslation.Language.GERMAN:
return "German";
case TextTranslation.Language.FRENCH:
return "French";
case TextTranslation.Language.ITALIAN:
return "Italian";
case TextTranslation.Language.POLISH:
return "Polish";
case TextTranslation.Language.PORTUGUESE_BR:
return "Portuguese (Brazil)";
case TextTranslation.Language.JAPANESE:
return "Japanese";
case TextTranslation.Language.RUSSIAN:
return "Russian";
case TextTranslation.Language.CHINESE_SIMPLE:
return "Chinese (Simplified)";
case TextTranslation.Language.KOREAN:
return "Korean";
case TextTranslation.Language.TURKISH:
return "Turkish";
default:
return language.ToString().Replace("_", " ").ToLowerInvariant().ToTitleCase();
}
}
public static CultureInfo ToCultureInfo(this TextTranslation.Language language)
{
return CultureInfo.GetCultures(CultureTypes.AllCultures).FirstOrDefault(culture => culture.DisplayName == language.ToLanguageName()) ?? CultureInfo.CurrentCulture;
}
public static string ToUpperFixed(this string str)
{
return str.ToUpper(TextTranslation.Get().m_language);
}
public static string ToLowerFixed(this string str)
{
return str.ToLower(TextTranslation.Get().m_language);
}
public static string ToUpper(this string str, TextTranslation.Language language)
{
return str.ToUpper(language.ToCultureInfo());
}
public static string ToLower(this string str, TextTranslation.Language language)
{
return str.ToLower(language.ToCultureInfo());
}
public static string ToCamelCase(this string str)
{
StringBuilder strBuilder = new StringBuilder(str);