From e3f5f189266b2412a872d8f5f551a20daa7220b7 Mon Sep 17 00:00:00 2001 From: ayuan9957 <107920784+ayuan9957@users.noreply.github.com> Date: Thu, 16 Jul 2026 14:56:13 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=8A=A0=E5=BC=BATranslate=E5=92=8CGetS?= =?UTF-8?q?ourceText=E7=9A=84null=E5=AE=89=E5=85=A8=E6=A3=80=E6=9F=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assets/Scripts/Localization/LocalizationManager.cs | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/Assets/Scripts/Localization/LocalizationManager.cs b/Assets/Scripts/Localization/LocalizationManager.cs index dfe9c60..47b0424 100644 --- a/Assets/Scripts/Localization/LocalizationManager.cs +++ b/Assets/Scripts/Localization/LocalizationManager.cs @@ -679,7 +679,9 @@ public class LocalizationManager : MonoBehaviour if (string.IsNullOrEmpty(source) || language == (int)UILanguage.Chinese) return source; string[] values; - return table.TryGetValue(source, out values) ? values[language] : source; + if (table.TryGetValue(source, out values) && values != null && language < values.Length && values[language] != null) + return values[language]; + return source; } private string GetSourceText(string value) @@ -688,9 +690,10 @@ public class LocalizationManager : MonoBehaviour foreach (KeyValuePair pair in table) { - if (pair.Value == null) continue; + if (pair.Value == null || pair.Value.Length <= 1) continue; for (int i = 1; i < pair.Value.Length; i++) { + if (object.ReferenceEquals(pair.Value[i], value)) return pair.Key; if (pair.Value[i] != null && pair.Value[i] == value) return pair.Key; } }