Localize the Hellion Chat surface area (EN + DE)

Add HellionStrings.resx as the English source and HellionStrings.de.resx
for German, with a hand-maintained Designer.cs that mirrors the layout
of Language.Designer.cs. Resource files live next to the upstream
Language.resx but are kept entirely separate so upstream cherry-picks
never collide with our translations and any future Hellion-only
translation tooling (Crowdin, manual contribution) can target this
file without touching the Chat 2 dictionary.

Plugin.LanguageChanged now updates HellionStrings.Culture alongside
Language.Culture so every UI string flips to the active locale at the
same moment. The Privacy tab title, master switch, channel groups
(now resolved per frame so the language can change without restart),
preset buttons, failsafe toggle, retention section, cleanup section,
status messages and notification bodies all read from HellionStrings.
The migration toast also takes its title and body from there.

Translations follow the project's German style: Du-Form, full
diacritics (ä, ö, ü), no em-dashes inside flowing prose, "Whitelist"
and "Linkshell" kept as-is because they are the established terms.
This commit is contained in:
2026-05-01 20:03:18 +02:00
parent 353596fa43
commit 5b33a21d15
6 changed files with 527 additions and 72 deletions
+3 -2
View File
@@ -129,8 +129,8 @@ public sealed class Plugin : IDalamudPlugin
Notification.AddNotification(new Dalamud.Interface.ImGuiNotification.Notification
{
Title = "Hellion Chat",
Content = "Privacy filter activated by default. Settings → Privacy to adjust.",
Title = HellionStrings.Migration_Notification_Title,
Content = HellionStrings.Migration_Notification_Content,
Type = Dalamud.Interface.ImGuiNotification.NotificationType.Info,
InitialDuration = TimeSpan.FromSeconds(15),
});
@@ -392,6 +392,7 @@ public sealed class Plugin : IDalamudPlugin
: new CultureInfo(Config.LanguageOverride.Code());
Language.Culture = info;
HellionStrings.Culture = info;
}
private static readonly string[] ChatAddonNames =