7fdbc81c22
True per-window focus-aware transparency would require touching ChatLogWindow and SettingsWindow individually (both upstream code, both prone to cherry-pick churn). Instead expose a single opacity slider that mixes a configured alpha into the WindowBg color in PushGlobal — applies to every Hellion-rendered pane uniformly, the game shines through, and form fields / dialogs / popups stay opaque on top so input remains readable. Default 92%, range clamped to 0.5–1.0 in the UI and 0x55–0xFF in the alpha conversion so users can't accidentally make the panes disappear entirely. Slider sits inside the Appearance section right under the master Hellion-theme checkbox and is greyed out when the theme is disabled.
283 lines
13 KiB
XML
283 lines
13 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<root>
|
|
<resheader name="resmimetype">
|
|
<value>text/microsoft-resx</value>
|
|
</resheader>
|
|
<resheader name="version">
|
|
<value>2.0</value>
|
|
</resheader>
|
|
<resheader name="reader">
|
|
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
|
</resheader>
|
|
<resheader name="writer">
|
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
|
</resheader>
|
|
<data name="Privacy_Tab_Title" xml:space="preserve">
|
|
<value>Privacy</value>
|
|
</data>
|
|
<data name="Privacy_FilterEnabled_Name" xml:space="preserve">
|
|
<value>Enable privacy filter</value>
|
|
</data>
|
|
<data name="Privacy_FilterEnabled_Description" xml:space="preserve">
|
|
<value>When enabled, only messages from whitelisted channels are persisted to the database. Disabling restores upstream ChatTwo behavior (everything except battle messages is stored).</value>
|
|
</data>
|
|
<data name="Privacy_Whitelist_Help" xml:space="preserve">
|
|
<value>Pick which channels are stored in the local database. Privacy-First default: only your own conversations. Use the buttons below to apply a preset.</value>
|
|
</data>
|
|
<data name="Privacy_Preset_PrivacyFirst" xml:space="preserve">
|
|
<value>Privacy-First (recommended)</value>
|
|
</data>
|
|
<data name="Privacy_Preset_ClearAll" xml:space="preserve">
|
|
<value>Clear all</value>
|
|
</data>
|
|
<data name="Privacy_Preset_SelectAll" xml:space="preserve">
|
|
<value>Select all</value>
|
|
</data>
|
|
<data name="Privacy_Group_DirectMessages" xml:space="preserve">
|
|
<value>Direct Messages</value>
|
|
</data>
|
|
<data name="Privacy_Group_PartyAlliance" xml:space="preserve">
|
|
<value>Party & Alliance</value>
|
|
</data>
|
|
<data name="Privacy_Group_FreeCompany" xml:space="preserve">
|
|
<value>Free Company</value>
|
|
</data>
|
|
<data name="Privacy_Group_Linkshells" xml:space="preserve">
|
|
<value>Linkshells</value>
|
|
</data>
|
|
<data name="Privacy_Group_CrossLinkshells" xml:space="preserve">
|
|
<value>Cross-World Linkshells</value>
|
|
</data>
|
|
<data name="Privacy_Group_ExtraChat" xml:space="preserve">
|
|
<value>ExtraChat (Encrypted)</value>
|
|
</data>
|
|
<data name="Privacy_Group_PublicChat" xml:space="preserve">
|
|
<value>Public Chat (third-party data)</value>
|
|
</data>
|
|
<data name="Privacy_Group_SystemLogs" xml:space="preserve">
|
|
<value>System & Game Logs</value>
|
|
</data>
|
|
<data name="Privacy_PersistUnknown_Name" xml:space="preserve">
|
|
<value>Persist unknown channel types</value>
|
|
</data>
|
|
<data name="Privacy_PersistUnknown_Description" xml:space="preserve">
|
|
<value>Failsafe for ChatTypes added by future FFXIV patches that this plugin does not yet know about. Default OFF (Privacy-First). Turn ON if you want a complete log including future channels.</value>
|
|
</data>
|
|
<data name="Cleanup_Heading" xml:space="preserve">
|
|
<value>Apply filter to existing database</value>
|
|
</data>
|
|
<data name="Cleanup_Help_Intro" xml:space="preserve">
|
|
<value>The privacy filter only applies to new messages. Use the cleanup below to retroactively remove already-stored messages that don't match your saved whitelist.</value>
|
|
</data>
|
|
<data name="Cleanup_Help_SavedNote" xml:space="preserve">
|
|
<value>Cleanup uses your SAVED whitelist (Plugin.Config), not unsaved edits above. Click Save first if you want to apply your current edits.</value>
|
|
</data>
|
|
<data name="Cleanup_RefreshPreview" xml:space="preserve">
|
|
<value>Refresh preview</value>
|
|
</data>
|
|
<data name="Cleanup_NoPreview" xml:space="preserve">
|
|
<value>No preview yet. Click Refresh to compute the impact.</value>
|
|
</data>
|
|
<data name="Cleanup_TotalStored" xml:space="preserve">
|
|
<value>Total stored messages: {0:N0}</value>
|
|
</data>
|
|
<data name="Cleanup_WillKeep" xml:space="preserve">
|
|
<value>Will keep: {0:N0}</value>
|
|
</data>
|
|
<data name="Cleanup_WillDelete" xml:space="preserve">
|
|
<value>Will delete: {0:N0}</value>
|
|
</data>
|
|
<data name="Cleanup_Breakdown" xml:space="preserve">
|
|
<value>Per-channel breakdown</value>
|
|
</data>
|
|
<data name="Cleanup_Marker_Keep" xml:space="preserve">
|
|
<value>[KEEP] </value>
|
|
</data>
|
|
<data name="Cleanup_Marker_Delete" xml:space="preserve">
|
|
<value>[DELETE]</value>
|
|
</data>
|
|
<data name="Cleanup_Apply_Label" xml:space="preserve">
|
|
<value>Apply current filter to database</value>
|
|
</data>
|
|
<data name="Cleanup_Apply_Tooltip" xml:space="preserve">
|
|
<value>Ctrl+Shift: Hard-deletes {0:N0} messages, then runs VACUUM. Cannot be undone.</value>
|
|
</data>
|
|
<data name="Cleanup_Running" xml:space="preserve">
|
|
<value>Cleanup running in background…</value>
|
|
</data>
|
|
<data name="Cleanup_PreviewError" xml:space="preserve">
|
|
<value>Failed to compute cleanup preview, see /xllog</value>
|
|
</data>
|
|
<data name="Cleanup_Success" xml:space="preserve">
|
|
<value>Privacy cleanup complete: {0:N0} messages removed.</value>
|
|
</data>
|
|
<data name="Cleanup_Error" xml:space="preserve">
|
|
<value>Privacy cleanup failed, see /xllog</value>
|
|
</data>
|
|
<data name="Retention_Heading" xml:space="preserve">
|
|
<value>Message retention</value>
|
|
</data>
|
|
<data name="Retention_Enabled_Name" xml:space="preserve">
|
|
<value>Auto-delete messages after a per-channel retention window</value>
|
|
</data>
|
|
<data name="Retention_Enabled_Description" xml:space="preserve">
|
|
<value>When enabled, messages older than the configured window are deleted on every plugin start (at most once per 24 hours). Off by default — the plugin never deletes history without your explicit consent.</value>
|
|
</data>
|
|
<data name="Retention_Default_Label" xml:space="preserve">
|
|
<value>Default retention (days, 0 = never)</value>
|
|
</data>
|
|
<data name="Retention_Default_Help" xml:space="preserve">
|
|
<value>Applies to channels without an explicit override below.</value>
|
|
</data>
|
|
<data name="Retention_Reset_Spec" xml:space="preserve">
|
|
<value>Reset overrides to spec defaults</value>
|
|
</data>
|
|
<data name="Retention_Clear_Overrides" xml:space="preserve">
|
|
<value>Clear all overrides</value>
|
|
</data>
|
|
<data name="Retention_Tree_Heading" xml:space="preserve">
|
|
<value>Per-channel retention overrides</value>
|
|
</data>
|
|
<data name="Retention_Tag_Override" xml:space="preserve">
|
|
<value>[override]</value>
|
|
</data>
|
|
<data name="Retention_Tag_Spec" xml:space="preserve">
|
|
<value>[spec]</value>
|
|
</data>
|
|
<data name="Retention_Tag_Global" xml:space="preserve">
|
|
<value>[global]</value>
|
|
</data>
|
|
<data name="Retention_Reset_Button" xml:space="preserve">
|
|
<value>reset</value>
|
|
</data>
|
|
<data name="Retention_Apply_Label" xml:space="preserve">
|
|
<value>Apply retention policy now</value>
|
|
</data>
|
|
<data name="Retention_Apply_Tooltip" xml:space="preserve">
|
|
<value>Ctrl+Shift: runs the retention sweep immediately using the SAVED policy. Save your changes first.</value>
|
|
</data>
|
|
<data name="Retention_Running" xml:space="preserve">
|
|
<value>Retention sweep running in background…</value>
|
|
</data>
|
|
<data name="Retention_LastRun_Never" xml:space="preserve">
|
|
<value>Last run: never</value>
|
|
</data>
|
|
<data name="Retention_LastRun_At" xml:space="preserve">
|
|
<value>Last run: {0:yyyy-MM-dd HH:mm}</value>
|
|
</data>
|
|
<data name="Retention_Success" xml:space="preserve">
|
|
<value>Retention sweep complete: {0:N0} messages removed.</value>
|
|
</data>
|
|
<data name="Retention_Error" xml:space="preserve">
|
|
<value>Retention sweep failed, see /xllog</value>
|
|
</data>
|
|
<data name="Migration_Notification_Title" xml:space="preserve">
|
|
<value>Hellion Chat</value>
|
|
</data>
|
|
<data name="Migration_Notification_Content" xml:space="preserve">
|
|
<value>Privacy filter activated by default. Settings → Privacy to adjust.</value>
|
|
</data>
|
|
<data name="Wizard_Title" xml:space="preserve">
|
|
<value>Hellion Chat — Welcome</value>
|
|
</data>
|
|
<data name="Wizard_Intro" xml:space="preserve">
|
|
<value>Pick a starting profile. You can change anything later under Settings → Privacy.</value>
|
|
</data>
|
|
<data name="Wizard_Profile_PrivacyFirst_Heading" xml:space="preserve">
|
|
<value>Privacy-First (recommended)</value>
|
|
</data>
|
|
<data name="Wizard_Profile_PrivacyFirst_Description" xml:space="preserve">
|
|
<value>Only your own conversations are stored: Tells, Party, FC, Linkshells, Cross-World Linkshells, Alliance and ExtraChat. Public chat, NPC dialogue and system spam are dropped at the storage layer. Retention follows the spec defaults (Tells 365 days, own-conversation channels 90 days).</value>
|
|
</data>
|
|
<data name="Wizard_Profile_PrivacyFirst_Apply" xml:space="preserve">
|
|
<value>Use Privacy-First</value>
|
|
</data>
|
|
<data name="Wizard_Profile_Casual_Heading" xml:space="preserve">
|
|
<value>Casual</value>
|
|
</data>
|
|
<data name="Wizard_Profile_Casual_Description" xml:space="preserve">
|
|
<value>Privacy-First plus a 24-hour window for public chat (Say, Shout, Yell, both emote types, Novice Network). For RP players who want to look up the last scene without keeping public chat forever.</value>
|
|
</data>
|
|
<data name="Wizard_Profile_Casual_Apply" xml:space="preserve">
|
|
<value>Use Casual</value>
|
|
</data>
|
|
<data name="Wizard_Profile_FullHistory_Heading" xml:space="preserve">
|
|
<value>Full History</value>
|
|
</data>
|
|
<data name="Wizard_Profile_FullHistory_Description" xml:space="preserve">
|
|
<value>Disables the privacy filter entirely. Stores everything except battle logs, just like upstream Chat 2. Retention is OFF, history grows forever.</value>
|
|
</data>
|
|
<data name="Wizard_Profile_FullHistory_GdprWarning" xml:space="preserve">
|
|
<value>GDPR notice: storing third-party messages (Say/Shout/Yell of strangers, NPC dialogue with player names, etc.) for an unlimited time may exceed the personal/household exemption (Art. 2(2)(c)). Use this profile only if you have a clear reason to keep the full archive.</value>
|
|
</data>
|
|
<data name="Wizard_Profile_FullHistory_Apply" xml:space="preserve">
|
|
<value>Use Full History</value>
|
|
</data>
|
|
<data name="Wizard_Reopen_Button" xml:space="preserve">
|
|
<value>Show wizard again</value>
|
|
</data>
|
|
<data name="Export_Heading" xml:space="preserve">
|
|
<value>Export (GDPR Art. 15 — right of access)</value>
|
|
</data>
|
|
<data name="Export_Help" xml:space="preserve">
|
|
<value>Export stored messages to Markdown, JSON or CSV. Use this to fulfil a request for access from someone whose messages you have, or to take your own history with you.</value>
|
|
</data>
|
|
<data name="Export_Range_Label" xml:space="preserve">
|
|
<value>Last X days (0 = all time)</value>
|
|
</data>
|
|
<data name="Export_Sender_Label" xml:space="preserve">
|
|
<value>Sender contains (optional, case-insensitive)</value>
|
|
</data>
|
|
<data name="Export_Channels_Heading" xml:space="preserve">
|
|
<value>Limit to channels</value>
|
|
</data>
|
|
<data name="Export_Channels_AllOff" xml:space="preserve">
|
|
<value>(none selected = all stored channels)</value>
|
|
</data>
|
|
<data name="Export_Format_Label" xml:space="preserve">
|
|
<value>Format</value>
|
|
</data>
|
|
<data name="Export_Format_Markdown" xml:space="preserve">
|
|
<value>Markdown</value>
|
|
</data>
|
|
<data name="Export_Format_Json" xml:space="preserve">
|
|
<value>JSON</value>
|
|
</data>
|
|
<data name="Export_Format_Csv" xml:space="preserve">
|
|
<value>CSV</value>
|
|
</data>
|
|
<data name="Export_Button" xml:space="preserve">
|
|
<value>Export to file…</value>
|
|
</data>
|
|
<data name="Export_Dialog_Title" xml:space="preserve">
|
|
<value>Save export</value>
|
|
</data>
|
|
<data name="Export_Running" xml:space="preserve">
|
|
<value>Export running in background…</value>
|
|
</data>
|
|
<data name="Export_Success" xml:space="preserve">
|
|
<value>Export complete: {0:N0} messages written to {1}</value>
|
|
</data>
|
|
<data name="Export_Empty" xml:space="preserve">
|
|
<value>Export complete: no messages matched the filter.</value>
|
|
</data>
|
|
<data name="Export_Error" xml:space="preserve">
|
|
<value>Export failed, see /xllog</value>
|
|
</data>
|
|
<data name="Theme_Heading" xml:space="preserve">
|
|
<value>Appearance</value>
|
|
</data>
|
|
<data name="Theme_Enabled_Name" xml:space="preserve">
|
|
<value>Use the Hellion theme across all plugin windows</value>
|
|
</data>
|
|
<data name="Theme_Enabled_Description" xml:space="preserve">
|
|
<value>Industrial HUD palette with cyan-teal action accents, slate-violet tabs and amber active highlights, applied globally to chat log, settings, viewers and the wizard. Disable to fall back to the default Dalamud look.</value>
|
|
</data>
|
|
<data name="Theme_WindowOpacity_Label" xml:space="preserve">
|
|
<value>Window opacity</value>
|
|
</data>
|
|
<data name="Theme_WindowOpacity_Help" xml:space="preserve">
|
|
<value>How opaque the plugin panes are. Lower values let the game shine through; form fields and dialogs stay opaque on top so they remain readable.</value>
|
|
</data>
|
|
</root>
|