feat(wizard): the profile cards and the welcome page speak the window's language

The cards were the last surface still drawn from ImGui defaults: four emoji on
stock child frames, sized to a fixed 2x2 grid that clipped the longer privacy
descriptions in half the supported languages.

They are tiles in the row language now -- a resting surface, an accent bar down
the left edge when chosen, a held hover over both, tracked caps for the heading.
The emoji are FontAwesome glyphs from the icon font the rest of the plugin
already uses. Each card measures its own height from its text and the pair in a
row takes the taller of the two, inside a scrolling frame, because cutting a
privacy choice off mid-sentence is not a thing this plugin gets to do.

Step three moves onto ToggleSwitch rows and a drawn theme field with a popup
built from PopupRow, using the transient widget overloads throughout: the
Func/Action pair saves on every click, and this step is staged until Finish.

The welcome page is opaque, unlike every other window here. Those are read at a
glance over the game; this one is read once and carries a privacy decision. The
fox sat on a hardcoded off-white rectangle that read as paper taped to the
window -- it is a disc now, tinted from the theme accent and only lightened as
far as the black linework needs, measured rather than set.

Three defects surfaced while doing it, all older than this work:

- The GDPR notice for full history had been translated into 25 languages and
  drawn nowhere since the four-step rewrite dropped it on 2026-05-18. It is on
  the card where the choice is made.
- Two cards claimed to be recommended: the badge sat on casual while the data
  minimisation heading still said "(recommended)" in every language. The suffix
  is gone, and the word it carried became the badge label.
- The wizard had no way back into it at all. /hellion wizard reopens it, and
  OnOpen resets the staged state so a second run cannot commit picks from a
  first one the user never saw.

The welcome text drops the fork framing: Chat 2 and this plugin have diverged
far enough that the codebases no longer line up, so it reads as history in a
muted line rather than as a justification up front. In its place is the notice
that plugins are a grey area in this game and do not belong in public channels.
Channel names in it come from Language.<lang>.resx per language, so the German
build says Sagen/Rufen/Schreien and the Polish one says Say/Yell/Shout, which is
what a Polish player actually sees on an English client.
This commit is contained in:
2026-08-19 21:50:21 +02:00
parent 5958bceb1c
commit 52237fda7e
29 changed files with 1012 additions and 331 deletions
+10 -4
View File
@@ -172,7 +172,7 @@
<value>Wybierz profil startowy. Wszystko możesz zmienić później w Ustawieniach → Prywatność.</value>
</data>
<data name="Wizard_Profile_PrivacyFirst_Heading" xml:space="preserve">
<value>Minimalizacja danych (zalecane)</value>
<value>Minimalizacja danych</value>
</data>
<data name="Wizard_Profile_PrivacyFirst_Description" xml:space="preserve">
<value>Przechowywane są tylko twoje własne rozmowy: tells, grupa, FC, linkshells, cross-world linkshells, sojusz i ExtraChat. Czat publiczny, dialogi NPC i spam systemowy są odrzucane na poziomie zapisu. Czas przechowywania według domyślnych wartości specyfikacji (tells 365 dni, własne kanały rozmów 90 dni).</value>
@@ -214,7 +214,13 @@
<value>Witaj w Hellion Chat</value>
</data>
<data name="Wizard_Step1_Subtitle" xml:space="preserve">
<value>Fork Chat 2 od Hellion Forge z domyślnymi ustawieniami chroniącymi prywatność, spójną identyfikacją wizualną i drobnymi usprawnieniami komfortu gry.</value>
<value>Twoje okno czatu od Hellion Forge. Prywatność od pierwszego uruchomienia, 25 języków, a układ ustawiasz sam.</value>
</data>
<data name="Wizard_Step1_Heritage" xml:space="preserve">
<value>Hellion Chat powstał jako fork Chat 2. Od tamtej pory oba projekty rozeszły się na tyle, że ich bazy kodu nie są już zgodne.</value>
</data>
<data name="Wizard_Step1_PluginNotice" xml:space="preserve">
<value>Pluginy to w Final Fantasy XIV szara strefa: warunki korzystania Square Enix ich nie obejmują, a Naoki Yoshida publicznie prosił, by ich nie reklamować. Nie poruszaj więc tego tematu na Say, Yell, Shout ani na żadnym innym kanale publicznym.</value>
</data>
<data name="Wizard_Step1_Footer_Hint" xml:space="preserve">
<value>Trzy krótkie kroki. Wszystko możesz zmienić później w Ustawieniach → Hellion Chat.</value>
@@ -228,8 +234,8 @@
<data name="Wizard_Step2_Title" xml:space="preserve">
<value>Co ma być zapisywane?</value>
</data>
<data name="Wizard_Step2_RecommendedFooter" xml:space="preserve">
<value>★ = zalecane dla większości graczy.</value>
<data name="Wizard_Profile_Recommended_Badge" xml:space="preserve">
<value>Zalecane</value>
</data>
<data name="Wizard_Profile_Roleplay_Heading" xml:space="preserve">
<value>Roleplay</value>