fix(defaults): the values everyone had set by hand become the defaults
The 2.0.0 reset put every install on the shipped defaults for the first time, and that exposed which of them had never actually been used. The sidebar was the loudest: 44 pixels, a width carried over from the v1.2.0 icon-only layout and left in place long after the sidebar started drawing labels beside those icons. Every tab name came out clipped. Nobody had noticed in cycles because everyone had widened it by hand -- 160 in the config this was measured against. Default 160, and the floor moves from 40 to 130: where a tab name stops being readable in German, which is the longest of the 25 languages, rather than where the icons stop fitting. Anyone who wants it slimmer wants the collapsed layout, and that is a separate width. Glyph ranges had the same shape of problem with a worse outcome. They were only ever filled when someone picked a language explicitly, so an install left on "follow Dalamud" -- the default -- got none at all. That went unnoticed while configs accumulated ranges over months; a fresh config has none, and a tester on a Korean, Chinese, Cyrillic or Greek client would have come out of this update reading boxes. The load path derives them from the Dalamud UI language too now. The rest are preference defaults taken from a config that has been in daily use across every one of these cycles: compact density off, title bar off, compact timestamps on, compact tell tabs on, honorific glow on, 100 messages of tell history preloaded, inactive opacity 0.75, command help on the right. New tell tabs open as pop-outs, because the wizard's closing step tells the user to try /tell and watch exactly that happen. Two values were deliberately not carried over. SeenPopOutInputHint and SeenPopOutHeaderHint are not preferences, they are "this user has seen it" markers -- shipping them as true would mean no new user ever sees the hints that explain a feature people did not find on their own. The greeted toggle stays off as well: it is opt-in for people who greet. Also dropped the light-bulb emoji from the wizard's closing hint in all 25 languages. UI icons come from the icon font here, not from emoji.
This commit is contained in:
@@ -47,14 +47,14 @@ public class Configuration : IPluginConfiguration
|
|||||||
|
|
||||||
// Background opacity of the main chat window while unfocused.
|
// Background opacity of the main chat window while unfocused.
|
||||||
// WindowOpacity above stays the focused value.
|
// WindowOpacity above stays the focused value.
|
||||||
public float WindowOpacityInactive = 0.65f;
|
public float WindowOpacityInactive = 0.75f;
|
||||||
|
|
||||||
// Reserved for future UI toggles; pre-declared to avoid a migration later.
|
// Reserved for future UI toggles; pre-declared to avoid a migration later.
|
||||||
public bool ReduceMotion;
|
public bool ReduceMotion;
|
||||||
|
|
||||||
// v1.2.1: default flipped false → true. Compact single-line layout is
|
// v1.2.1: default flipped false → true. Compact single-line layout is
|
||||||
// more readable than the card-rows layout introduced in v1.2.0.
|
// more readable than the card-rows layout introduced in v1.2.0.
|
||||||
public bool UseCompactDensity = true;
|
public bool UseCompactDensity;
|
||||||
|
|
||||||
// Privacy by Default master switch. Set false to restore upstream behaviour.
|
// Privacy by Default master switch. Set false to restore upstream behaviour.
|
||||||
public bool PrivacyFilterEnabled = true;
|
public bool PrivacyFilterEnabled = true;
|
||||||
@@ -145,21 +145,29 @@ public class Configuration : IPluginConfiguration
|
|||||||
// who don't care, and dodges the per-frame DrawList overhead on low-end
|
// who don't care, and dodges the per-frame DrawList overhead on low-end
|
||||||
// hardware. Gradient (Color3 / GradientColourSet) is parsed but rendered
|
// hardware. Gradient (Color3 / GradientColourSet) is parsed but rendered
|
||||||
// as the primary Color until a later cycle ports the animation.
|
// as the primary Color until a later cycle ports the animation.
|
||||||
public bool ShowHonorificGlow;
|
public bool ShowHonorificGlow = true;
|
||||||
public bool EnableAutoTellTabs = true;
|
public bool EnableAutoTellTabs = true;
|
||||||
public int AutoTellTabsLimit = 15;
|
public int AutoTellTabsLimit = 15;
|
||||||
public bool AutoTellTabsCompactDisplay;
|
public bool AutoTellTabsCompactDisplay = true;
|
||||||
public int AutoTellTabsHistoryPreload = 20;
|
public int AutoTellTabsHistoryPreload = 100;
|
||||||
|
|
||||||
// Sidebar width in pixels. Default 44 mirrors the icon-only layout from
|
// Expanded sidebar width in pixels. 44 was carried over from the v1.2.0
|
||||||
// v1.2.0; users can widen up to 160 to fit a section-header line like
|
// icon-only layout and stayed the default long after the sidebar started
|
||||||
// "Active Tells (3)" without truncation.
|
// drawing labels beside those icons, so every tab name came out clipped --
|
||||||
public int SidebarWidth = 44;
|
// it only went unnoticed because everyone had widened it by hand. 160 fits
|
||||||
|
// the German tab names, which are the longest of the 25 languages, and the
|
||||||
|
// floor below is set where they stop being readable rather than where the
|
||||||
|
// icons stop fitting.
|
||||||
|
public int SidebarWidth = 160;
|
||||||
public bool AutoTellTabsShowGreetedToggle;
|
public bool AutoTellTabsShowGreetedToggle;
|
||||||
public bool SeenPopOutInputHint;
|
public bool SeenPopOutInputHint;
|
||||||
public bool PopOutInputEnabled = true;
|
public bool PopOutInputEnabled = true;
|
||||||
public bool SeenPopOutHeaderHint;
|
public bool SeenPopOutHeaderHint;
|
||||||
public bool AutoTellTabsOpenAsPopout;
|
|
||||||
|
// On by default: the wizard's closing step tells the user to try /tell and
|
||||||
|
// watch a conversation open on its own, so the behaviour it describes has to
|
||||||
|
// be the behaviour they get.
|
||||||
|
public bool AutoTellTabsOpenAsPopout = true;
|
||||||
|
|
||||||
// How sender names are rendered in the chat log.
|
// How sender names are rendered in the chat log.
|
||||||
public WorldSuffixMode WorldSuffixMode = WorldSuffixMode.OtherWorldOnly;
|
public WorldSuffixMode WorldSuffixMode = WorldSuffixMode.OtherWorldOnly;
|
||||||
@@ -194,7 +202,7 @@ public class Configuration : IPluginConfiguration
|
|||||||
// resource sets disagree on what PrettierTimestamps even means -- the wizard
|
// resource sets disagree on what PrettierTimestamps even means -- the wizard
|
||||||
// called it "relative time", the settings tab "modern layout".
|
// called it "relative time", the settings tab "modern layout".
|
||||||
public bool PrettierTimestamps = true;
|
public bool PrettierTimestamps = true;
|
||||||
public bool MoreCompactPretty;
|
public bool MoreCompactPretty = true;
|
||||||
public bool HideSameTimestamps = true;
|
public bool HideSameTimestamps = true;
|
||||||
|
|
||||||
// No reader; see the reconnect backlog.
|
// No reader; see the reconnect backlog.
|
||||||
@@ -211,12 +219,12 @@ public class Configuration : IPluginConfiguration
|
|||||||
public bool OnlyPreviewIf;
|
public bool OnlyPreviewIf;
|
||||||
public int PreviewMinimum = 1;
|
public int PreviewMinimum = 1;
|
||||||
public PreviewPosition PreviewPosition = PreviewPosition.Inside;
|
public PreviewPosition PreviewPosition = PreviewPosition.Inside;
|
||||||
public CommandHelpSide CommandHelpSide = CommandHelpSide.None;
|
public CommandHelpSide CommandHelpSide = CommandHelpSide.Right;
|
||||||
public KeybindMode KeybindMode = KeybindMode.Strict;
|
public KeybindMode KeybindMode = KeybindMode.Strict;
|
||||||
public LanguageOverride LanguageOverride = LanguageOverride.None;
|
public LanguageOverride LanguageOverride = LanguageOverride.None;
|
||||||
public bool CanMove = true;
|
public bool CanMove = true;
|
||||||
public bool CanResize = true;
|
public bool CanResize = true;
|
||||||
public bool ShowTitleBar = true;
|
public bool ShowTitleBar;
|
||||||
public bool ShowPopOutTitleBar = true;
|
public bool ShowPopOutTitleBar = true;
|
||||||
public bool DatabaseBattleMessages;
|
public bool DatabaseBattleMessages;
|
||||||
public bool FilterIncludePreviousSessions;
|
public bool FilterIncludePreviousSessions;
|
||||||
@@ -944,6 +952,39 @@ public static class LanguageOverrideExt
|
|||||||
// Mutable.ExtraGlyphRanges so users do not need to know which range
|
// Mutable.ExtraGlyphRanges so users do not need to know which range
|
||||||
// to tick manually. Returns 0 for locales fully covered by the default
|
// to tick manually. Returns 0 for locales fully covered by the default
|
||||||
// ImGui glyph range (Latin-1) or by the separate Japanese font handle.
|
// ImGui glyph range (Latin-1) or by the separate Japanese font handle.
|
||||||
|
// The same mapping keyed by culture code, for when the language override is
|
||||||
|
// None and the UI follows Dalamud. Without this the ranges only ever get
|
||||||
|
// filled by an explicit language pick -- installs that never touched the
|
||||||
|
// setting rendered their own locale in whatever the default range covers,
|
||||||
|
// which for Korean, Chinese, Cyrillic and Greek is boxes. It went unnoticed
|
||||||
|
// while configs accumulated ranges over time; a fresh config has none.
|
||||||
|
public static ExtraGlyphRanges RequiredGlyphRangesForCulture(string? cultureCode)
|
||||||
|
{
|
||||||
|
var code = (cultureCode ?? string.Empty).ToLowerInvariant();
|
||||||
|
|
||||||
|
// Longest first: zh-hant has to win over the zh prefix.
|
||||||
|
if (code.StartsWith("zh-hant") || code.StartsWith("zh-tw") || code.StartsWith("zh-hk"))
|
||||||
|
return ExtraGlyphRanges.ChineseFull;
|
||||||
|
if (code.StartsWith("zh"))
|
||||||
|
return ExtraGlyphRanges.ChineseSimplifiedCommon;
|
||||||
|
if (code.StartsWith("ko"))
|
||||||
|
return ExtraGlyphRanges.Korean;
|
||||||
|
if (code.StartsWith("uk") || code.StartsWith("ru") || code.StartsWith("be"))
|
||||||
|
return ExtraGlyphRanges.Cyrillic;
|
||||||
|
if (code.StartsWith("el"))
|
||||||
|
return ExtraGlyphRanges.Greek;
|
||||||
|
if (
|
||||||
|
code.StartsWith("cs")
|
||||||
|
|| code.StartsWith("pl")
|
||||||
|
|| code.StartsWith("ro")
|
||||||
|
|| code.StartsWith("hu")
|
||||||
|
|| code.StartsWith("tr")
|
||||||
|
)
|
||||||
|
return ExtraGlyphRanges.LatinExtended;
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
public static ExtraGlyphRanges RequiredGlyphRanges(this LanguageOverride mode) =>
|
public static ExtraGlyphRanges RequiredGlyphRanges(this LanguageOverride mode) =>
|
||||||
mode switch
|
mode switch
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -413,7 +413,10 @@ public sealed class Plugin : IAsyncDalamudPlugin
|
|||||||
// that path. ORing in the required flag here lets the first atlas
|
// that path. ORing in the required flag here lets the first atlas
|
||||||
// build pick it up, so an upgrade from v1.5.2 renders correctly
|
// build pick it up, so an upgrade from v1.5.2 renders correctly
|
||||||
// without forcing the user to toggle the language twice.
|
// without forcing the user to toggle the language twice.
|
||||||
var requiredRanges = Config.LanguageOverride.RequiredGlyphRanges();
|
var requiredRanges =
|
||||||
|
Config.LanguageOverride is LanguageOverride.None
|
||||||
|
? LanguageOverrideExt.RequiredGlyphRangesForCulture(Interface.UiLanguage)
|
||||||
|
: Config.LanguageOverride.RequiredGlyphRanges();
|
||||||
if (requiredRanges != 0 && !Config.ExtraGlyphRanges.HasFlag(requiredRanges))
|
if (requiredRanges != 0 && !Config.ExtraGlyphRanges.HasFlag(requiredRanges))
|
||||||
Config.ExtraGlyphRanges |= requiredRanges;
|
Config.ExtraGlyphRanges |= requiredRanges;
|
||||||
|
|
||||||
|
|||||||
@@ -304,7 +304,7 @@
|
|||||||
<value>(sense canvis)</value>
|
<value>(sense canvis)</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Wizard_Step4_TestHint" xml:space="preserve">
|
<data name="Wizard_Step4_TestHint" xml:space="preserve">
|
||||||
<value>💡 Prova-ho: escriu /tell <Nom del jugador> al xat. Hellion Chat obre una pestanya dedicada per a la conversa i precarrega els últims {0} missatges.</value>
|
<value>Prova-ho: escriu /tell <Nom del jugador> al xat. Hellion Chat obre una pestanya dedicada per a la conversa i precarrega els últims {0} missatges.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Wizard_Step4_SettingsHint" xml:space="preserve">
|
<data name="Wizard_Step4_SettingsHint" xml:space="preserve">
|
||||||
<value>Configuració → Hellion Chat per ajustar-ho més tard</value>
|
<value>Configuració → Hellion Chat per ajustar-ho més tard</value>
|
||||||
|
|||||||
@@ -304,7 +304,7 @@
|
|||||||
<value>(beze změny)</value>
|
<value>(beze změny)</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Wizard_Step4_TestHint" xml:space="preserve">
|
<data name="Wizard_Step4_TestHint" xml:space="preserve">
|
||||||
<value>💡 Vyzkoušej: napiš /tell <Jméno hráče> do chatu. Hellion Chat automaticky otevře vlastní záložku pro konverzaci a přednačte posledních {0} zpráv.</value>
|
<value>Vyzkoušej: napiš /tell <Jméno hráče> do chatu. Hellion Chat automaticky otevře vlastní záložku pro konverzaci a přednačte posledních {0} zpráv.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Wizard_Step4_SettingsHint" xml:space="preserve">
|
<data name="Wizard_Step4_SettingsHint" xml:space="preserve">
|
||||||
<value>Nastavení → Hellion Chat pro pozdější doladění</value>
|
<value>Nastavení → Hellion Chat pro pozdější doladění</value>
|
||||||
|
|||||||
@@ -304,7 +304,7 @@
|
|||||||
<value>(uændret)</value>
|
<value>(uændret)</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Wizard_Step4_TestHint" xml:space="preserve">
|
<data name="Wizard_Step4_TestHint" xml:space="preserve">
|
||||||
<value>💡 Prøv det: skriv /tell <Spillernavn> i chatten. Hellion Chat åbner en dedikeret tab til samtalen og forudindlæser de sidste {0} beskeder.</value>
|
<value>Prøv det: skriv /tell <Spillernavn> i chatten. Hellion Chat åbner en dedikeret tab til samtalen og forudindlæser de sidste {0} beskeder.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Wizard_Step4_SettingsHint" xml:space="preserve">
|
<data name="Wizard_Step4_SettingsHint" xml:space="preserve">
|
||||||
<value>Indstillinger → Hellion Chat for at finjustere senere</value>
|
<value>Indstillinger → Hellion Chat for at finjustere senere</value>
|
||||||
|
|||||||
@@ -304,7 +304,7 @@
|
|||||||
<value>(unverändert)</value>
|
<value>(unverändert)</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Wizard_Step4_TestHint" xml:space="preserve">
|
<data name="Wizard_Step4_TestHint" xml:space="preserve">
|
||||||
<value>💡 Probier's aus: Tipp /tell <Spielername> in den Chat. Hellion Chat öffnet automatisch einen eigenen Tab für die Unterhaltung und lädt die letzten {0} Messages mit.</value>
|
<value>Probier's aus: Tipp /tell <Spielername> in den Chat. Hellion Chat öffnet automatisch einen eigenen Tab für die Unterhaltung und lädt die letzten {0} Messages mit.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Wizard_Step4_SettingsHint" xml:space="preserve">
|
<data name="Wizard_Step4_SettingsHint" xml:space="preserve">
|
||||||
<value>Einstellungen → Hellion Chat zum späteren Anpassen</value>
|
<value>Einstellungen → Hellion Chat zum späteren Anpassen</value>
|
||||||
|
|||||||
@@ -304,7 +304,7 @@
|
|||||||
<value>(αμετάβλητο)</value>
|
<value>(αμετάβλητο)</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Wizard_Step4_TestHint" xml:space="preserve">
|
<data name="Wizard_Step4_TestHint" xml:space="preserve">
|
||||||
<value>💡 Δοκίμασέ το: πληκτρολόγησε /tell <Όνομα Παίκτη> στο chat. Το Hellion Chat ανοίγει αυτόματα μια αποκλειστική καρτέλα για τη συνομιλία και προφορτώνει τα τελευταία {0} μηνύματα.</value>
|
<value>Δοκίμασέ το: πληκτρολόγησε /tell <Όνομα Παίκτη> στο chat. Το Hellion Chat ανοίγει αυτόματα μια αποκλειστική καρτέλα για τη συνομιλία και προφορτώνει τα τελευταία {0} μηνύματα.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Wizard_Step4_SettingsHint" xml:space="preserve">
|
<data name="Wizard_Step4_SettingsHint" xml:space="preserve">
|
||||||
<value>Ρυθμίσεις → Hellion Chat για προσαρμογή αργότερα</value>
|
<value>Ρυθμίσεις → Hellion Chat για προσαρμογή αργότερα</value>
|
||||||
|
|||||||
@@ -304,7 +304,7 @@
|
|||||||
<value>(sin cambios)</value>
|
<value>(sin cambios)</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Wizard_Step4_TestHint" xml:space="preserve">
|
<data name="Wizard_Step4_TestHint" xml:space="preserve">
|
||||||
<value>💡 Pruébalo: escribe /tell <Nombre del jugador> en el chat. Hellion Chat abre una pestaña dedicada para la conversación y precarga los últimos {0} mensajes.</value>
|
<value>Pruébalo: escribe /tell <Nombre del jugador> en el chat. Hellion Chat abre una pestaña dedicada para la conversación y precarga los últimos {0} mensajes.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Wizard_Step4_SettingsHint" xml:space="preserve">
|
<data name="Wizard_Step4_SettingsHint" xml:space="preserve">
|
||||||
<value>Ajustes → Hellion Chat para personalizar más tarde</value>
|
<value>Ajustes → Hellion Chat para personalizar más tarde</value>
|
||||||
|
|||||||
@@ -304,7 +304,7 @@
|
|||||||
<value>(ei muutosta)</value>
|
<value>(ei muutosta)</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Wizard_Step4_TestHint" xml:space="preserve">
|
<data name="Wizard_Step4_TestHint" xml:space="preserve">
|
||||||
<value>💡 Kokeile: kirjoita /tell <Pelaajan nimi> chattiin. Hellion Chat avaa erillisen välilehden keskustelulle ja esivalmistelee viimeiset {0} viestiä.</value>
|
<value>Kokeile: kirjoita /tell <Pelaajan nimi> chattiin. Hellion Chat avaa erillisen välilehden keskustelulle ja esivalmistelee viimeiset {0} viestiä.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Wizard_Step4_SettingsHint" xml:space="preserve">
|
<data name="Wizard_Step4_SettingsHint" xml:space="preserve">
|
||||||
<value>Asetukset → Hellion Chat hienosäätöä varten myöhemmin</value>
|
<value>Asetukset → Hellion Chat hienosäätöä varten myöhemmin</value>
|
||||||
|
|||||||
@@ -304,7 +304,7 @@
|
|||||||
<value>(inchangé)</value>
|
<value>(inchangé)</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Wizard_Step4_TestHint" xml:space="preserve">
|
<data name="Wizard_Step4_TestHint" xml:space="preserve">
|
||||||
<value>💡 Essayez : tapez /tell <Nom du joueur> dans le chat. Hellion Chat ouvre un onglet dédié à la conversation et précharge les {0} derniers messages.</value>
|
<value>Essayez : tapez /tell <Nom du joueur> dans le chat. Hellion Chat ouvre un onglet dédié à la conversation et précharge les {0} derniers messages.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Wizard_Step4_SettingsHint" xml:space="preserve">
|
<data name="Wizard_Step4_SettingsHint" xml:space="preserve">
|
||||||
<value>Paramètres → Hellion Chat pour affiner plus tard</value>
|
<value>Paramètres → Hellion Chat pour affiner plus tard</value>
|
||||||
|
|||||||
@@ -304,7 +304,7 @@
|
|||||||
<value>(változatlan)</value>
|
<value>(változatlan)</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Wizard_Step4_TestHint" xml:space="preserve">
|
<data name="Wizard_Step4_TestHint" xml:space="preserve">
|
||||||
<value>💡 Próbáld ki: írj /tell <Játékosnév> a chatbe. A Hellion Chat automatikusan megnyit egy külön fület a beszélgetéshez, és előtölti az utolsó {0} üzenetet.</value>
|
<value>Próbáld ki: írj /tell <Játékosnév> a chatbe. A Hellion Chat automatikusan megnyit egy külön fület a beszélgetéshez, és előtölti az utolsó {0} üzenetet.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Wizard_Step4_SettingsHint" xml:space="preserve">
|
<data name="Wizard_Step4_SettingsHint" xml:space="preserve">
|
||||||
<value>Beállítások → Hellion Chat a finomhangoláshoz</value>
|
<value>Beállítások → Hellion Chat a finomhangoláshoz</value>
|
||||||
|
|||||||
@@ -304,7 +304,7 @@
|
|||||||
<value>(invariato)</value>
|
<value>(invariato)</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Wizard_Step4_TestHint" xml:space="preserve">
|
<data name="Wizard_Step4_TestHint" xml:space="preserve">
|
||||||
<value>💡 Provalo: digita /tell <Nome Giocatore> in chat. Hellion Chat apre un tab dedicato alla conversazione e precarica gli ultimi {0} messaggi.</value>
|
<value>Provalo: digita /tell <Nome Giocatore> in chat. Hellion Chat apre un tab dedicato alla conversazione e precarica gli ultimi {0} messaggi.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Wizard_Step4_SettingsHint" xml:space="preserve">
|
<data name="Wizard_Step4_SettingsHint" xml:space="preserve">
|
||||||
<value>Impostazioni → Hellion Chat per regolazioni successive</value>
|
<value>Impostazioni → Hellion Chat per regolazioni successive</value>
|
||||||
|
|||||||
@@ -304,7 +304,7 @@
|
|||||||
<value>(変更なし)</value>
|
<value>(変更なし)</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Wizard_Step4_TestHint" xml:space="preserve">
|
<data name="Wizard_Step4_TestHint" xml:space="preserve">
|
||||||
<value>💡 試してみましょう: チャットに /tell <プレイヤー名> と入力してください。Hellion Chat が会話専用のタブを自動で開き、最新 {0} 件のメッセージをプリロードします。</value>
|
<value>試してみましょう: チャットに /tell <プレイヤー名> と入力してください。Hellion Chat が会話専用のタブを自動で開き、最新 {0} 件のメッセージをプリロードします。</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Wizard_Step4_SettingsHint" xml:space="preserve">
|
<data name="Wizard_Step4_SettingsHint" xml:space="preserve">
|
||||||
<value>設定 → Hellion Chat で後から細かく調整できます</value>
|
<value>設定 → Hellion Chat で後から細かく調整できます</value>
|
||||||
|
|||||||
@@ -304,7 +304,7 @@
|
|||||||
<value>(변경 없음)</value>
|
<value>(변경 없음)</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Wizard_Step4_TestHint" xml:space="preserve">
|
<data name="Wizard_Step4_TestHint" xml:space="preserve">
|
||||||
<value>💡 테스트해보세요. 채팅창에 /tell <Player Name>을 입력하면 Hellion Chat이 대화를 위한 전용 탭을 열고 마지막 {0}개의 메시지를 미리 불러옵니다.</value>
|
<value>테스트해보세요. 채팅창에 /tell <Player Name>을 입력하면 Hellion Chat이 대화를 위한 전용 탭을 열고 마지막 {0}개의 메시지를 미리 불러옵니다.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Wizard_Step4_SettingsHint" xml:space="preserve">
|
<data name="Wizard_Step4_SettingsHint" xml:space="preserve">
|
||||||
<value>나중에 세부 조정은 설정 → Hellion Chat에서</value>
|
<value>나중에 세부 조정은 설정 → Hellion Chat에서</value>
|
||||||
|
|||||||
@@ -304,7 +304,7 @@
|
|||||||
<value>(uendret)</value>
|
<value>(uendret)</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Wizard_Step4_TestHint" xml:space="preserve">
|
<data name="Wizard_Step4_TestHint" xml:space="preserve">
|
||||||
<value>💡 Prøv det: skriv /tell <Spillernavn> i chatten. Hellion Chat åpner en dedikert fane for samtalen og forhåndslaster de siste {0} meldingene.</value>
|
<value>Prøv det: skriv /tell <Spillernavn> i chatten. Hellion Chat åpner en dedikert fane for samtalen og forhåndslaster de siste {0} meldingene.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Wizard_Step4_SettingsHint" xml:space="preserve">
|
<data name="Wizard_Step4_SettingsHint" xml:space="preserve">
|
||||||
<value>Innstillinger → Hellion Chat for å finjustere senere</value>
|
<value>Innstillinger → Hellion Chat for å finjustere senere</value>
|
||||||
|
|||||||
@@ -304,7 +304,7 @@
|
|||||||
<value>(ongewijzigd)</value>
|
<value>(ongewijzigd)</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Wizard_Step4_TestHint" xml:space="preserve">
|
<data name="Wizard_Step4_TestHint" xml:space="preserve">
|
||||||
<value>💡 Probeer het uit: typ /tell <Spelernaam> in de chat. Hellion Chat opent een eigen tabblad voor het gesprek en laadt de laatste {0} berichten vooraf.</value>
|
<value>Probeer het uit: typ /tell <Spelernaam> in de chat. Hellion Chat opent een eigen tabblad voor het gesprek en laadt de laatste {0} berichten vooraf.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Wizard_Step4_SettingsHint" xml:space="preserve">
|
<data name="Wizard_Step4_SettingsHint" xml:space="preserve">
|
||||||
<value>Instellingen → Hellion Chat om later te verfijnen</value>
|
<value>Instellingen → Hellion Chat om later te verfijnen</value>
|
||||||
|
|||||||
@@ -304,7 +304,7 @@
|
|||||||
<value>(bez zmian)</value>
|
<value>(bez zmian)</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Wizard_Step4_TestHint" xml:space="preserve">
|
<data name="Wizard_Step4_TestHint" xml:space="preserve">
|
||||||
<value>💡 Wypróbuj: wpisz /tell <Nazwa gracza> w czacie. Hellion Chat otworzy dedykowaną zakładkę dla rozmowy i wstępnie wczyta ostatnie {0} wiadomości.</value>
|
<value>Wypróbuj: wpisz /tell <Nazwa gracza> w czacie. Hellion Chat otworzy dedykowaną zakładkę dla rozmowy i wstępnie wczyta ostatnie {0} wiadomości.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Wizard_Step4_SettingsHint" xml:space="preserve">
|
<data name="Wizard_Step4_SettingsHint" xml:space="preserve">
|
||||||
<value>Ustawienia → Hellion Chat, aby dostosować później</value>
|
<value>Ustawienia → Hellion Chat, aby dostosować później</value>
|
||||||
|
|||||||
@@ -304,7 +304,7 @@
|
|||||||
<value>(sem alteração)</value>
|
<value>(sem alteração)</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Wizard_Step4_TestHint" xml:space="preserve">
|
<data name="Wizard_Step4_TestHint" xml:space="preserve">
|
||||||
<value>💡 Experimente: digite /tell <Nome do Jogador> no chat. O Hellion Chat abre uma aba dedicada para a conversa e pré-carrega as últimas {0} mensagens.</value>
|
<value>Experimente: digite /tell <Nome do Jogador> no chat. O Hellion Chat abre uma aba dedicada para a conversa e pré-carrega as últimas {0} mensagens.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Wizard_Step4_SettingsHint" xml:space="preserve">
|
<data name="Wizard_Step4_SettingsHint" xml:space="preserve">
|
||||||
<value>Configurações → Hellion Chat para ajustar depois</value>
|
<value>Configurações → Hellion Chat para ajustar depois</value>
|
||||||
|
|||||||
@@ -304,7 +304,7 @@
|
|||||||
<value>(sem alterações)</value>
|
<value>(sem alterações)</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Wizard_Step4_TestHint" xml:space="preserve">
|
<data name="Wizard_Step4_TestHint" xml:space="preserve">
|
||||||
<value>💡 Experimenta: escreve /tell <Nome do Jogador> no chat. O Hellion Chat abre um separador dedicado para a conversa e pré-carrega as últimas {0} mensagens.</value>
|
<value>Experimenta: escreve /tell <Nome do Jogador> no chat. O Hellion Chat abre um separador dedicado para a conversa e pré-carrega as últimas {0} mensagens.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Wizard_Step4_SettingsHint" xml:space="preserve">
|
<data name="Wizard_Step4_SettingsHint" xml:space="preserve">
|
||||||
<value>Definições → Hellion Chat para ajustar mais tarde</value>
|
<value>Definições → Hellion Chat para ajustar mais tarde</value>
|
||||||
|
|||||||
@@ -304,7 +304,7 @@
|
|||||||
<value>(unchanged)</value>
|
<value>(unchanged)</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Wizard_Step4_TestHint" xml:space="preserve">
|
<data name="Wizard_Step4_TestHint" xml:space="preserve">
|
||||||
<value>💡 Try it: type /tell <Player Name> into chat. Hellion Chat opens a dedicated tab for the conversation and preloads the last {0} messages.</value>
|
<value>Try it: type /tell <Player Name> into chat. Hellion Chat opens a dedicated tab for the conversation and preloads the last {0} messages.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Wizard_Step4_SettingsHint" xml:space="preserve">
|
<data name="Wizard_Step4_SettingsHint" xml:space="preserve">
|
||||||
<value>Settings → Hellion Chat to fine-tune later</value>
|
<value>Settings → Hellion Chat to fine-tune later</value>
|
||||||
|
|||||||
@@ -304,7 +304,7 @@
|
|||||||
<value>(nemodificat)</value>
|
<value>(nemodificat)</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Wizard_Step4_TestHint" xml:space="preserve">
|
<data name="Wizard_Step4_TestHint" xml:space="preserve">
|
||||||
<value>💡 Încearcă: tastează /tell <Nume Jucător> în chat. Hellion Chat deschide un tab dedicat pentru conversație și preîncarcă ultimele {0} mesaje.</value>
|
<value>Încearcă: tastează /tell <Nume Jucător> în chat. Hellion Chat deschide un tab dedicat pentru conversație și preîncarcă ultimele {0} mesaje.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Wizard_Step4_SettingsHint" xml:space="preserve">
|
<data name="Wizard_Step4_SettingsHint" xml:space="preserve">
|
||||||
<value>Setări → Hellion Chat pentru ajustări ulterioare</value>
|
<value>Setări → Hellion Chat pentru ajustări ulterioare</value>
|
||||||
|
|||||||
@@ -304,7 +304,7 @@
|
|||||||
<value>(без изменений)</value>
|
<value>(без изменений)</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Wizard_Step4_TestHint" xml:space="preserve">
|
<data name="Wizard_Step4_TestHint" xml:space="preserve">
|
||||||
<value>💡 Попробуйте: введите /tell <Имя игрока> в чате. Hellion Chat откроет отдельную вкладку для разговора и предзагрузит последние {0} сообщений.</value>
|
<value>Попробуйте: введите /tell <Имя игрока> в чате. Hellion Chat откроет отдельную вкладку для разговора и предзагрузит последние {0} сообщений.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Wizard_Step4_SettingsHint" xml:space="preserve">
|
<data name="Wizard_Step4_SettingsHint" xml:space="preserve">
|
||||||
<value>Настройки → Hellion Chat для тонкой настройки позже</value>
|
<value>Настройки → Hellion Chat для тонкой настройки позже</value>
|
||||||
|
|||||||
@@ -304,7 +304,7 @@
|
|||||||
<value>(oförändrat)</value>
|
<value>(oförändrat)</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Wizard_Step4_TestHint" xml:space="preserve">
|
<data name="Wizard_Step4_TestHint" xml:space="preserve">
|
||||||
<value>💡 Prova: skriv /tell <Spelarnamn> i chatten. Hellion Chat öppnar en dedikerad flik för konversationen och förladdar de senaste {0} meddelandena.</value>
|
<value>Prova: skriv /tell <Spelarnamn> i chatten. Hellion Chat öppnar en dedikerad flik för konversationen och förladdar de senaste {0} meddelandena.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Wizard_Step4_SettingsHint" xml:space="preserve">
|
<data name="Wizard_Step4_SettingsHint" xml:space="preserve">
|
||||||
<value>Inställningar → Hellion Chat för att finjustera senare</value>
|
<value>Inställningar → Hellion Chat för att finjustera senare</value>
|
||||||
|
|||||||
@@ -304,7 +304,7 @@
|
|||||||
<value>(değiştirilmedi)</value>
|
<value>(değiştirilmedi)</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Wizard_Step4_TestHint" xml:space="preserve">
|
<data name="Wizard_Step4_TestHint" xml:space="preserve">
|
||||||
<value>💡 Dene: sohbete /tell <Oyuncu Adı> yaz. Hellion Chat konuşma için özel bir sekme açar ve son {0} mesajı önceden yükler.</value>
|
<value>Dene: sohbete /tell <Oyuncu Adı> yaz. Hellion Chat konuşma için özel bir sekme açar ve son {0} mesajı önceden yükler.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Wizard_Step4_SettingsHint" xml:space="preserve">
|
<data name="Wizard_Step4_SettingsHint" xml:space="preserve">
|
||||||
<value>Daha sonra ince ayar için Ayarlar → Hellion Chat</value>
|
<value>Daha sonra ince ayar için Ayarlar → Hellion Chat</value>
|
||||||
|
|||||||
@@ -304,7 +304,7 @@
|
|||||||
<value>(без змін)</value>
|
<value>(без змін)</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Wizard_Step4_TestHint" xml:space="preserve">
|
<data name="Wizard_Step4_TestHint" xml:space="preserve">
|
||||||
<value>💡 Спробуйте: введіть /tell <Ім'я гравця> у чат. Hellion Chat відкриє окрему вкладку для розмови й попередньо завантажить останні {0} повідомлень.</value>
|
<value>Спробуйте: введіть /tell <Ім'я гравця> у чат. Hellion Chat відкриє окрему вкладку для розмови й попередньо завантажить останні {0} повідомлень.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Wizard_Step4_SettingsHint" xml:space="preserve">
|
<data name="Wizard_Step4_SettingsHint" xml:space="preserve">
|
||||||
<value>Налаштування → Hellion Chat для подальшого тонкого налаштування</value>
|
<value>Налаштування → Hellion Chat для подальшого тонкого налаштування</value>
|
||||||
|
|||||||
@@ -304,7 +304,7 @@
|
|||||||
<value>(未更改)</value>
|
<value>(未更改)</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Wizard_Step4_TestHint" xml:space="preserve">
|
<data name="Wizard_Step4_TestHint" xml:space="preserve">
|
||||||
<value>💡 试一试:在聊天框输入 /tell <玩家名称>。Hellion Chat 会自动为该对话开启专属标签页,并预加载最近 {0} 条消息。</value>
|
<value>试一试:在聊天框输入 /tell <玩家名称>。Hellion Chat 会自动为该对话开启专属标签页,并预加载最近 {0} 条消息。</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Wizard_Step4_SettingsHint" xml:space="preserve">
|
<data name="Wizard_Step4_SettingsHint" xml:space="preserve">
|
||||||
<value>进入设置 → Hellion Chat 可进一步微调</value>
|
<value>进入设置 → Hellion Chat 可进一步微调</value>
|
||||||
|
|||||||
@@ -304,7 +304,7 @@
|
|||||||
<value>(未變更)</value>
|
<value>(未變更)</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Wizard_Step4_TestHint" xml:space="preserve">
|
<data name="Wizard_Step4_TestHint" xml:space="preserve">
|
||||||
<value>💡 試試看:在聊天中輸入 /tell <玩家名稱>。Hellion Chat 會為此對話開啟專屬標籤頁,並預載最後 {0} 則訊息。</value>
|
<value>試試看:在聊天中輸入 /tell <玩家名稱>。Hellion Chat 會為此對話開啟專屬標籤頁,並預載最後 {0} 則訊息。</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Wizard_Step4_SettingsHint" xml:space="preserve">
|
<data name="Wizard_Step4_SettingsHint" xml:space="preserve">
|
||||||
<value>設定 → Hellion Chat 可在之後進行細部調整</value>
|
<value>設定 → Hellion Chat 可在之後進行細部調整</value>
|
||||||
|
|||||||
@@ -23,9 +23,13 @@ internal sealed class Sidebar
|
|||||||
public const float IconOnlyWidth = 38f;
|
public const float IconOnlyWidth = 38f;
|
||||||
|
|
||||||
// Expanded sidebar width is user-configurable (Config.SidebarWidth),
|
// Expanded sidebar width is user-configurable (Config.SidebarWidth),
|
||||||
// clamped to these bounds (matches the ChannelsTab slider range). Replaces
|
// clamped to these bounds (matches the ChannelsTab slider range).
|
||||||
// the old fixed 150px ExpandedWidth constant.
|
//
|
||||||
public const float MinSidebarWidth = 40f;
|
// The floor is where a tab name stops being readable, not where the icons
|
||||||
|
// stop fitting: 40 let the expanded sidebar be narrower than the icon-only
|
||||||
|
// one, which drew labels into a column too narrow to hold them. Anyone who
|
||||||
|
// wants it that slim wants the collapsed layout, and that is IconOnlyWidth.
|
||||||
|
public const float MinSidebarWidth = 130f;
|
||||||
public const float MaxSidebarWidth = 300f;
|
public const float MaxSidebarWidth = 300f;
|
||||||
|
|
||||||
private static float RowHeight => Metrics.SidebarRowHeight;
|
private static float RowHeight => Metrics.SidebarRowHeight;
|
||||||
|
|||||||
Reference in New Issue
Block a user