ecode: add centralized settings panel

Introduce modal user and project settings panels with searchable tree navigation and live configuration updates.

  - centralize settings registration and presentation
  - add user and project settings commands and shortcuts
  - preserve operational actions in the existing settings menu
  - support boolean, choice, numeric, and action-based settings
  - restore renderer notifications and choice descriptions
  - persist settings when closing the panel
  - add translated settings strings for all supported locales
  - fix live color preview updates
This commit is contained in:
Martín Lucas Golini
2026-08-24 02:34:14 -03:00
parent 6b27ea2dc8
commit 288aa931fe
9 changed files with 2532 additions and 3 deletions

View File

@@ -969,4 +969,168 @@ Verwendet strftime-Formatbezeichner. Die Dateierweiterung richtet sich nach dem
<string name="tab_out_desc">Wenn Tab vor einem konfigurierten Zeichen gedrückt wird, springt der Cursor darüber. Gilt nur für einen einzelnen Cursor ohne Auswahl.</string>
<string name="set_tab_out_characters">Tab-Ausgangszeichen festlegen</string>
<string name="set_tab_out_characters_message">Legen Sie die Zeichen fest, über die der Cursor beim Drücken von Tab springen kann.</string>
<string name="open_settings_ellipsis">Einstellungen öffnen...</string>
<string name="open_project_settings_ellipsis">Projekteinstellungen öffnen...</string>
<string name="project_settings">Projekteinstellungen</string>
<string name="search_settings">Einstellungen durchsuchen...</string>
<string name="show_line_numbers_desc">Zeilennummern neben dem Editor anzeigen.</string>
<string name="show_white_spaces_desc">Sichtbare Markierungen für Leerraumzeichen anzeigen.</string>
<string name="highlight_current_line_desc">Die Zeile mit dem primären Cursor hervorheben.</string>
<string name="trim_trailing_whitespaces_desc">Nachgestellte Leerzeichen beim Speichern entfernen.</string>
<string name="force_new_line_at_end_of_file_desc">Sicherstellen, dass gespeicherte Dateien mit einem Zeilenumbruch enden.</string>
<string name="search_results">Suchergebnisse</string>
<string name="line_wrap_desc">Steuert, wie lange Zeilen im Editor umgebrochen werden.</string>
<string name="line_breaking_column_desc">Spalte für Zeilenumbruch und Breitenführung. 0 deaktiviert sie.</string>
<string name="indent_width_desc">Anzahl der Spalten pro Einrückungsebene.</string>
<string name="tab_width_desc">Anzahl der Spalten zur Darstellung eines Tabulators.</string>
<string name="general">Allgemein</string>
<string name="behavior">Verhalten</string>
<string name="welcome_screen_enable_desc">Den Willkommensbildschirm anzeigen, wenn kein Dokument oder Ordner geöffnet ist.</string>
<string name="appearance">Erscheinungsbild</string>
<string name="navigation">Navigation</string>
<string name="formatting">Formatierung</string>
<string name="workspace">Arbeitsbereich</string>
<string name="document_defaults">Dokumentvorgaben</string>
<string name="wrap_type_desc">Zeilen am Anzeigebereich oder an der Umbruchspalte umbrechen.</string>
<string name="keep_indentation_desc">Einrückung in umgebrochenen Fortsetzungszeilen beibehalten.</string>
<string name="code_folding_enabled_desc">Syntaxabhängige Codefaltung aktivieren.</string>
<string name="code_folding_always_visible_desc">Faltsteuerelemente immer am Editorrand anzeigen.</string>
<string name="new_tab_position_desc">Position neu geöffneter Tabs auswählen.</string>
<string name="auto_detect_indent_type_desc">Detect indentation settings when opening each document.</string>
<string name="indent_spaces">Indent Using Spaces</string>
<string name="indent_spaces_desc">Insert spaces instead of tab characters for indentation.</string>
<string name="write_unicode_bom_desc">Write a Unicode byte-order mark when saving.</string>
<string name="auto_close_xml_tags_desc">Schließende XML-Tags automatisch einfügen.</string>
<string name="autoreload_on_disk_change_desc">Unveränderte Dokumente bei Dateiänderungen neu laden.</string>
<string name="line_endings_desc">Standard-Zeilenende für neue Dateien.</string>
<string name="use_global_settings_desc">Dokumentvorgaben aus den Benutzereinstellungen übernehmen.</string>
<string name="restore_last_session">Letzte Sitzung wiederherstellen</string>
<string name="restore_last_session_desc">Vorherigen Arbeitsbereich und Dokumente beim Start erneut öffnen.</string>
<string name="check_updates_at_startup">Beim Start nach Aktualisierungen suchen</string>
<string name="check_updates_at_startup_desc">Nach dem Start auf eine neuere ecode-Version prüfen.</string>
<string name="new_terminal_behavior_desc">Bereich für neue Terminalsitzungen auswählen.</string>
<string name="scrollbar_type_desc">Terminal-Bildlaufleiste über oder neben dem Inhalt platzieren.</string>
<string name="scrollbar_mode_desc">Sichtbarkeit der Terminal-Bildlaufleiste steuern.</string>
<string name="advanced">Erweitert</string>
<string name="configure">Konfigurieren...</string>
<string name="fonts_and_scale">Schriftarten &amp; Skalierung</string>
<string name="screenshots">Bildschirmfotos</string>
<string name="renderer">Grafiksystem</string>
<string name="show_doc_info_desc">Dokumentkodierung und Zeilenendeninformationen anzeigen.</string>
<string name="open_documents_in_main_split_desc">Extern angeforderte Dokumente im Haupteditorbereich öffnen.</string>
<string name="tab_jump_mode_desc">Reihenfolge der Tabnavigation per Tastatur auswählen.</string>
<string name="editor_font_in_input_fields_desc">Editorschriftart für Texteingabefelder verwenden.</string>
<string name="ui_font_size_desc">Schriftgröße der Benutzeroberfläche festlegen.</string>
<string name="ui_panel_font_size_desc">Schriftgröße der Seitenbereiche festlegen.</string>
<string name="editor_font_size_desc">Standardschriftgröße des Code-Editors festlegen.</string>
<string name="terminal_font_size_desc">Standardschriftgröße des Terminals festlegen.</string>
<string name="ui_scale_factor_desc">Gesamte Benutzeroberfläche skalieren.</string>
<string name="line_spacing_desc">Zusätzlichen vertikalen Abstand zwischen Editorzeilen festlegen.</string>
<string name="cursor_blinking_time_desc">Blinkintervall des Textcursors festlegen.</string>
<string name="folds_refresh_freq_desc">Häufigkeit der Neuberechnung von Faltungsbereichen festlegen.</string>
<string name="screenshot_save_path_desc">Speicherort für Bildschirmfotos auswählen.</string>
<string name="screenshot_filename_pattern_desc">Zeitstempel-Dateinamensmuster für Bildschirmfotos konfigurieren.</string>
<string name="screenshot_save_format_desc">Bildformat für Bildschirmfotos auswählen.</string>
<string name="frame_rate_limit_desc">Bilder pro Sekunde begrenzen. 0 deaktiviert die Begrenzung.</string>
<string name="ui_multisamples_level_desc">Multisampling festlegen. Neustart erforderlich.</string>
<string name="configure_terminal_shell_desc">Shell-Programm und Befehlszeilenargumente festlegen.</string>
<string name="configure_terminal_scrollback_desc">Anzahl gespeicherter Terminalverlaufszeilen festlegen.</string>
<string name="configure_terminal_working_dir_desc">Arbeitsverzeichnis für neue Terminals auswählen.</string>
<string name="cursor_style_desc">Form und Animation des Terminalcursors auswählen.</string>
<string name="theme_and_language">Thema &amp; Sprache</string>
<string name="ui_prefers_color_scheme_desc">Choose whether the interface follows the system, light, or dark appearance.</string>
<string name="ui_theme_desc">Stylesheet der Benutzeroberfläche auswählen.</string>
<string name="ui_language_desc">Sprache der Benutzeroberfläche auswählen. Neustart erforderlich.</string>
<string name="choose_font">Schriftart auswählen...</string>
<string name="ui_font_desc">Proportionale Schriftart der Benutzeroberfläche auswählen.</string>
<string name="editor_font_desc">Nichtproportionale Schriftart für Code-Editoren auswählen.</string>
<string name="terminal_font_desc">Nichtproportionale Schriftart für Terminals auswählen.</string>
<string name="fallback_font_desc">Schriftart für fehlende Zeichen auswählen.</string>
<string name="syntax_color_scheme_desc">Farben für Syntaxhervorhebung und Editoroberflächen auswählen.</string>
<string name="terminal_color_scheme_desc">Farben der integrierten Terminals auswählen.</string>
<string name="ui_renderer_version_desc">Grafik-API-Version auswählen. Neustart erforderlich.</string>
<string name="multisamples_disabled_desc">Disable multisample anti-aliasing.</string>
<string name="multisamples_2x_desc">Use 2x multisample anti-aliasing.</string>
<string name="multisamples_4x_desc">Use 4x multisample anti-aliasing.</string>
<string name="multisamples_8x_desc">Use 8x multisample anti-aliasing.</string>
<string name="multisamples_16x_desc">Use 16x multisample anti-aliasing.</string>
<string name="auto_indent_none_desc">Keine automatische Einrückung.</string>
<string name="auto_indent_preserve_desc">Einrückungsebene der vorherigen Zeile beibehalten.</string>
<string name="auto_indent_smart_desc">Einrückung beibehalten und zwischen geschlossenen Klammern einrücken.</string>
<string name="prefers_color_scheme_light_tooltip">Immer das helle Oberflächenfarbschema verwenden.</string>
<string name="prefers_color_scheme_dark_tooltip">Immer das dunkle Oberflächenfarbschema verwenden.</string>
<string name="scrollbar_mode_always_visible_tooltip">Terminal-Bildlaufleiste sichtbar lassen.</string>
<string name="scrollbar_mode_always_hidden_tooltip">Terminal-Bildlaufleiste ausgeblendet lassen.</string>
<string name="always_hidden">Immer ausgeblendet</string>
<string name="always_visible">Immer sichtbar</string>
<string name="auto">Automatisch</string>
<string name="auto_close_pair_desc">Das passende schließende Zeichen automatisch einfügen.</string>
<string name="auto-detect">Automatisch erkennen</string>
<string name="auto_indent">Automatische Einrückung</string>
<string name="auto_indent_none">Keine</string>
<string name="auto_indent_preserve">Beibehalten</string>
<string name="auto_indent_smart">Intelligent</string>
<string name="auto_indent_tooltip">Steuert die automatische Einrückung nach dem Drücken der Eingabetaste.</string>
<string name="blink_bar">Blinkender Balken</string>
<string name="blinking_block">Blinkender Block</string>
<string name="blink_underline">Blinkender Unterstrich</string>
<string name="chronological">Chronologisch</string>
<string name="close_terminal_tab_on_exit">Terminal-Tab beim Beenden schließen</string>
<string name="close_terminal_tab_on_exit_tooltip">Schließt einen Terminal-Tab, wenn sein Hauptprozess beendet wird.</string>
<string name="configure_terminal_working_dir">Standardarbeitsverzeichnis des Terminals konfigurieren</string>
<string name="cursor_style">Cursorstil</string>
<string name="display_tab_switcher">Tab-Umschalter anzeigen</string>
<string name="display_tab_switcher_tooltip">Zeigt in der Mitte jedes Tab-Widgets einen Tab-Umschalter an.</string>
<string name="editor">Editor</string>
<string name="editor_font_in_input_fields">Editor-Schriftart in Eingabefeldern</string>
<string name="enable_exclusive_mode_by_default">Exklusivmodus standardmäßig aktivieren</string>
<string name="enable_exclusive_mode_by_default_tooltip">Deaktiviert globale Tastenkürzel in neu erstellten Terminals.</string>
<string name="file_associations">Dateizuordnungen</string>
<string name="full">Voll</string>
<string name="grayscale">Graustufen</string>
<string name="hide_tabbar">Tableiste ausblenden</string>
<string name="hide_tabbar_tooltip">Blendet die Tableiste immer aus.</string>
<string name="indent_tab_alignment_desc">Richtet Text innerhalb der sichtbaren Breite von Einrückungstabs aus.</string>
<string name="indent_tab_character_desc">Wählt das beim Einrücken mit Tab eingefügte Zeichen.</string>
<string name="jump_mode_linear_tooltip">Der lineare Sprungmodus wechselt Tabs in ihrer angezeigten Reihenfolge.</string>
<string name="languages">Sprachen</string>
<string name="linear">Linear</string>
<string name="new_tab_position">Position neuer Tabs</string>
<string name="new_tab_position_after_active">Nach aktivem Tab</string>
<string name="new_tab_position_first">Erste Position</string>
<string name="new_tab_position_last">Letzte Position</string>
<string name="new_tab_position_left_of_active">Links vom aktiven Tab</string>
<string name="open_documents_in_main_split">Dokumente im Hauptbereich öffnen</string>
<string name="open_in_statusbar_panel">Im Statusleistenbereich öffnen</string>
<string name="open_project_in_new_window">Projekt in neuem Fenster öffnen</string>
<string name="open_project_in_new_window_tooltip">Öffnet Ordner in einem neuen Fenster, wenn bereits ein anderes Projekt geladen ist.</string>
<string name="outside">Außerhalb</string>
<string name="overlay">Überlagernd</string>
<string name="quick_preview_images">Schnellvorschau für Bilder</string>
<string name="quick_preview_images_tooltip">Zeigt Bilder in einer Vorschau, ohne einen dauerhaften Editor-Tab zu öffnen.</string>
<string name="restore_editor_selection_on_focus">Editorauswahl bei Fokus wiederherstellen</string>
<string name="restore_editor_selection_on_focus_tooltip">Stellt die letzte Cursorposition und Auswahl jedes Editorbereichs beim Fokussieren wieder her.</string>
<string name="scrollbar_mode">Bildlaufleistenmodus</string>
<string name="scrollbar_mode_auto_tooltip">Zeigt eine überlagernde Bildlaufleiste bei Mausbewegung oder eine äußere Bildlaufleiste bei scrollbarem Inhalt.</string>
<string name="scrollbar_type">Bildlaufleistentyp</string>
<string name="scroll_outside_tooltip">Die Bildlaufleiste hat eigenen Platz und verdeckt nie den Inhalt.</string>
<string name="scroll_overlay_tooltip">Die Bildlaufleiste wird über dem Inhalt angezeigt.</string>
<string name="set_screenshot_save_path">Speicherpfad für Bildschirmfotos</string>
<string name="slight">Leicht</string>
<string name="steady_bar">Statischer Balken</string>
<string name="steady_block">Statischer Block</string>
<string name="steady_underline">Statischer Unterstrich</string>
<string name="subpixel">Subpixel</string>
<string name="tab_bar">Tableiste</string>
<string name="tab_jump_mode">Tab-Sprungmodus</string>
<string name="treat_h_files_as_desc">Wählt die Standardsprache für mehrdeutige .h-Headerdateien.</string>
<string name="ui_font_antialiasing">Schriftkantenglättung</string>
<string name="ui_font_antialiasing_desc">Legt fest, wie Glyphenkanten geglättet werden.</string>
<string name="ui_font_hint">Schrifthinting</string>
<string name="ui_font_hint_desc">Steuert die Ausrichtung der Glyphen am Pixelraster.</string>
<string name="use_native_file_dialogs">Native Dateidialoge aktivieren</string>
<string name="use_native_file_dialogs_tooltip">Verwendet Dateidialoge des Betriebssystems, sofern verfügbar.</string>
<string name="vsync_desc">Synchronisiert die Darstellung mit der Bildwiederholrate. Neustart erforderlich.</string>
<string name="warn_before_closing_tab">Vor dem Schließen des Tabs warnen</string>
<string name="warn_before_closing_tab_tooltip">Fragt vor dem Schließen eines Terminals mit laufendem Programm nach.</string>
</resources>

View File

@@ -953,4 +953,168 @@ Uses strftime format specifiers. The file extension follows the selected screens
<string name="tab_out_desc">Pressing Tab before a configured character moves the cursor past it. Only applies to a single cursor without a selection.</string>
<string name="set_tab_out_characters">Set Tab Out Characters</string>
<string name="set_tab_out_characters_message">Set the characters the cursor can move past when pressing Tab.</string>
<string name="open_settings_ellipsis">Open Settings...</string>
<string name="open_project_settings_ellipsis">Open Project Settings...</string>
<string name="project_settings">Project Settings</string>
<string name="search_settings">Search settings...</string>
<string name="show_line_numbers_desc">Display line numbers beside the editor.</string>
<string name="show_white_spaces_desc">Display visible markers for whitespace characters.</string>
<string name="highlight_current_line_desc">Highlight the line containing the primary cursor.</string>
<string name="trim_trailing_whitespaces_desc">Remove trailing whitespace when saving files.</string>
<string name="force_new_line_at_end_of_file_desc">Ensure saved files end with a newline.</string>
<string name="search_results">Search Results</string>
<string name="line_wrap_desc">Controls how long lines wrap in the editor.</string>
<string name="line_breaking_column_desc">Column used for wrapping and the editor width guide. Set 0 to disable.</string>
<string name="indent_width_desc">Number of columns inserted for one indentation level.</string>
<string name="tab_width_desc">Number of columns used to display a tab character.</string>
<string name="general">General</string>
<string name="behavior">Behavior</string>
<string name="welcome_screen_enable_desc">Show the welcome screen when no document or folder is open.</string>
<string name="appearance">Appearance</string>
<string name="navigation">Navigation</string>
<string name="formatting">Formatting</string>
<string name="workspace">Workspace</string>
<string name="document_defaults">Document Defaults</string>
<string name="wrap_type_desc">Choose whether lines wrap at the viewport or line breaking column.</string>
<string name="keep_indentation_desc">Preserve indentation on wrapped continuation lines.</string>
<string name="code_folding_enabled_desc">Enable syntax-aware code folding.</string>
<string name="code_folding_always_visible_desc">Always display fold controls in the editor gutter.</string>
<string name="new_tab_position_desc">Choose where newly opened tabs are inserted.</string>
<string name="auto_detect_indent_type_desc">Detect indentation settings when opening each document.</string>
<string name="indent_spaces">Indent Using Spaces</string>
<string name="indent_spaces_desc">Insert spaces instead of tab characters for indentation.</string>
<string name="write_unicode_bom_desc">Write a Unicode byte-order mark when saving.</string>
<string name="auto_close_xml_tags_desc">Automatically insert closing XML tags.</string>
<string name="autoreload_on_disk_change_desc">Reload unmodified documents when their files change on disk.</string>
<string name="line_endings_desc">Default line-ending sequence for new files.</string>
<string name="use_global_settings_desc">Inherit document defaults from the user settings.</string>
<string name="restore_last_session">Restore Last Session</string>
<string name="restore_last_session_desc">Reopen the previous workspace and documents at startup.</string>
<string name="check_updates_at_startup">Check for Updates at Startup</string>
<string name="check_updates_at_startup_desc">Check whether a newer ecode release is available after startup.</string>
<string name="new_terminal_behavior_desc">Choose where newly created terminal sessions are opened.</string>
<string name="scrollbar_type_desc">Place the terminal scrollbar over or outside its content.</string>
<string name="scrollbar_mode_desc">Control when the terminal scrollbar is visible.</string>
<string name="advanced">Advanced</string>
<string name="configure">Configure...</string>
<string name="fonts_and_scale">Fonts &amp; Scale</string>
<string name="screenshots">Screenshots</string>
<string name="renderer">Renderer</string>
<string name="show_doc_info_desc">Display document encoding and line-ending information.</string>
<string name="open_documents_in_main_split_desc">Open externally requested documents in the main editor split.</string>
<string name="tab_jump_mode_desc">Choose how keyboard navigation cycles through tabs.</string>
<string name="editor_font_in_input_fields_desc">Use the editor font for text input controls.</string>
<string name="ui_font_size_desc">Set the font size used by the application UI.</string>
<string name="ui_panel_font_size_desc">Set the font size used by side panels.</string>
<string name="editor_font_size_desc">Set the default code editor font size.</string>
<string name="terminal_font_size_desc">Set the default integrated terminal font size.</string>
<string name="ui_scale_factor_desc">Scale the complete user interface.</string>
<string name="line_spacing_desc">Set additional vertical spacing between editor lines.</string>
<string name="cursor_blinking_time_desc">Set the text cursor blink interval.</string>
<string name="folds_refresh_freq_desc">Set how frequently code folding ranges are recalculated.</string>
<string name="screenshot_save_path_desc">Choose where screenshots are saved.</string>
<string name="screenshot_filename_pattern_desc">Configure the timestamp-based screenshot filename pattern.</string>
<string name="screenshot_save_format_desc">Choose the image format for screenshots.</string>
<string name="frame_rate_limit_desc">Limit rendered frames per second. Set 0 to disable.</string>
<string name="ui_multisamples_level_desc">Set renderer multisampling. Restart required.</string>
<string name="configure_terminal_shell_desc">Set the shell executable and command-line arguments.</string>
<string name="configure_terminal_scrollback_desc">Set the number of terminal history lines retained.</string>
<string name="configure_terminal_working_dir_desc">Choose the working directory used by new terminals.</string>
<string name="cursor_style_desc">Choose the terminal cursor shape and animation.</string>
<string name="theme_and_language">Theme &amp; Language</string>
<string name="ui_prefers_color_scheme_desc">Choose whether the interface follows the system, light, or dark appearance.</string>
<string name="ui_theme_desc">Choose the stylesheet used by the application interface.</string>
<string name="ui_language_desc">Choose the interface language. Restart required.</string>
<string name="choose_font">Choose Font...</string>
<string name="ui_font_desc">Choose the proportional font used by the interface.</string>
<string name="editor_font_desc">Choose the monospace font used by code editors.</string>
<string name="terminal_font_desc">Choose the monospace font used by terminals.</string>
<string name="fallback_font_desc">Choose the font used for missing glyphs.</string>
<string name="syntax_color_scheme_desc">Choose the colors used for syntax highlighting and editor surfaces.</string>
<string name="terminal_color_scheme_desc">Choose the colors used by integrated terminals.</string>
<string name="ui_renderer_version_desc">Select the graphics API version used by ecode. Restart required.</string>
<string name="multisamples_disabled_desc">Disable multisample anti-aliasing.</string>
<string name="multisamples_2x_desc">Use 2x multisample anti-aliasing.</string>
<string name="multisamples_4x_desc">Use 4x multisample anti-aliasing.</string>
<string name="multisamples_8x_desc">Use 8x multisample anti-aliasing.</string>
<string name="multisamples_16x_desc">Use 16x multisample anti-aliasing.</string>
<string name="auto_indent_none_desc">No automatic indentation.</string>
<string name="auto_indent_preserve_desc">Preserve the indentation level of the previous line.</string>
<string name="auto_indent_smart_desc">Preserve indentation and indent between auto-closed brackets.</string>
<string name="prefers_color_scheme_light_tooltip">Always use the light interface color scheme.</string>
<string name="prefers_color_scheme_dark_tooltip">Always use the dark interface color scheme.</string>
<string name="scrollbar_mode_always_visible_tooltip">Keep the terminal scrollbar visible.</string>
<string name="scrollbar_mode_always_hidden_tooltip">Keep the terminal scrollbar hidden.</string>
<string name="always_hidden">Always Hidden</string>
<string name="always_visible">Always Visible</string>
<string name="auto">Auto</string>
<string name="auto_close_pair_desc">Automatically insert the matching closing character.</string>
<string name="auto-detect">Auto-Detect</string>
<string name="auto_indent">Auto-Indent</string>
<string name="auto_indent_none">None</string>
<string name="auto_indent_preserve">Preserve</string>
<string name="auto_indent_smart">Smart</string>
<string name="auto_indent_tooltip">Control indentation added after pressing Enter.</string>
<string name="blink_bar">Blinking Bar</string>
<string name="blinking_block">Blinking Block</string>
<string name="blink_underline">Blinking Underline</string>
<string name="chronological">Chronological</string>
<string name="close_terminal_tab_on_exit">Close Terminal Tab on Exit</string>
<string name="close_terminal_tab_on_exit_tooltip">Close a terminal tab when its main process exits.</string>
<string name="configure_terminal_working_dir">Configure Terminal Default Working Directory</string>
<string name="cursor_style">Cursor Style</string>
<string name="display_tab_switcher">Display Tab Switcher</string>
<string name="display_tab_switcher_tooltip">Display a tab switcher in the center of each tab widget.</string>
<string name="editor">Editor</string>
<string name="editor_font_in_input_fields">Editor Font in Input Fields</string>
<string name="enable_exclusive_mode_by_default">Enable Exclusive Mode by Default</string>
<string name="enable_exclusive_mode_by_default_tooltip">Disable global keybindings in newly created terminals.</string>
<string name="file_associations">File Associations</string>
<string name="full">Full</string>
<string name="grayscale">Grayscale</string>
<string name="hide_tabbar">Hide Tab Bar</string>
<string name="hide_tabbar_tooltip">Always hide the tab bar.</string>
<string name="indent_tab_alignment_desc">Align text within the visual width of indentation tabs.</string>
<string name="indent_tab_character_desc">Choose the character inserted when indenting with Tab.</string>
<string name="jump_mode_linear_tooltip">Linear Jump Mode switches tabs in their displayed order.</string>
<string name="languages">Languages</string>
<string name="linear">Linear</string>
<string name="new_tab_position">New Tab Position</string>
<string name="new_tab_position_after_active">After Active Tab</string>
<string name="new_tab_position_first">First</string>
<string name="new_tab_position_last">Last</string>
<string name="new_tab_position_left_of_active">Left of Active Tab</string>
<string name="open_documents_in_main_split">Open Documents in Main Split</string>
<string name="open_in_statusbar_panel">Open in Status Bar Panel</string>
<string name="open_project_in_new_window">Open Project in New Window</string>
<string name="open_project_in_new_window_tooltip">Open folders in a new window when another project is already loaded.</string>
<string name="outside">Outside</string>
<string name="overlay">Overlay</string>
<string name="quick_preview_images">Quick Preview Images</string>
<string name="quick_preview_images_tooltip">Preview images without opening a permanent editor tab.</string>
<string name="restore_editor_selection_on_focus">Restore Editor Selection on Focus</string>
<string name="restore_editor_selection_on_focus_tooltip">Restore each editor split's last cursor and selection when focused.</string>
<string name="scrollbar_mode">Scrollbar Mode</string>
<string name="scrollbar_mode_auto_tooltip">Show an overlay scrollbar on mouse movement, or an outside scrollbar when content is scrollable.</string>
<string name="scrollbar_type">Scrollbar Type</string>
<string name="scroll_outside_tooltip">The scrollbar has its own space and never covers content.</string>
<string name="scroll_overlay_tooltip">The scrollbar appears over content.</string>
<string name="set_screenshot_save_path">Screenshot Save Path</string>
<string name="slight">Slight</string>
<string name="steady_bar">Steady Bar</string>
<string name="steady_block">Steady Block</string>
<string name="steady_underline">Steady Underline</string>
<string name="subpixel">Subpixel</string>
<string name="tab_bar">Tab Bar</string>
<string name="tab_jump_mode">Tab Jump Mode</string>
<string name="treat_h_files_as_desc">Choose the default language for ambiguous .h header files.</string>
<string name="ui_font_antialiasing">Font Anti-Aliasing</string>
<string name="ui_font_antialiasing_desc">Choose how glyph edges are smoothed.</string>
<string name="ui_font_hint">Font Hinting</string>
<string name="ui_font_hint_desc">Control glyph alignment to the pixel grid.</string>
<string name="use_native_file_dialogs">Enable Native File Dialogs</string>
<string name="use_native_file_dialogs_tooltip">Use operating-system file dialogs when available.</string>
<string name="vsync_desc">Synchronize rendering with the display refresh rate. Restart required.</string>
<string name="warn_before_closing_tab">Warn Before Closing Tab</string>
<string name="warn_before_closing_tab_tooltip">Ask before closing a terminal while a program is running.</string>
</resources>

View File

@@ -948,4 +948,169 @@ Utilise les spécificateurs de format strftime. L’extension du fichier corresp
<string name="tab_out_desc">Appuyer sur Tab avant un caractère configuré déplace le curseur après celui-ci. S'applique uniquement à un curseur sans sélection.</string>
<string name="set_tab_out_characters">Définir les caractères de sortie</string>
<string name="set_tab_out_characters_message">Définissez les caractères que le curseur peut franchir en appuyant sur Tab.</string>
<string name="open_settings_ellipsis">Ouvrir les paramètres...</string>
<string name="open_project_settings_ellipsis">Ouvrir les paramètres du projet...</string>
<string name="project_settings">Paramètres du projet</string>
<string name="search_settings">Rechercher dans les paramètres...</string>
<string name="show_line_numbers_desc">Afficher les numéros de ligne à côté de l'éditeur.</string>
<string name="show_white_spaces_desc">Afficher des marqueurs visibles pour les espaces.</string>
<string name="highlight_current_line_desc">Mettre en évidence la ligne contenant le curseur principal.</string>
<string name="trim_trailing_whitespaces_desc">Supprimer les espaces de fin lors de l'enregistrement.</string>
<string name="force_new_line_at_end_of_file_desc">S'assurer que les fichiers enregistrés se terminent par un saut de ligne.</string>
<string name="search_results">Résultats de recherche</string>
<string name="line_wrap_desc">Contrôle le retour à la ligne des lignes longues dans l'éditeur.</string>
<string name="line_breaking_column_desc">Colonne utilisée pour le retour à la ligne et le guide de largeur. 0 pour désactiver.</string>
<string name="indent_width_desc">Nombre de colonnes insérées pour un niveau d'indentation.</string>
<string name="tab_width_desc">Nombre de colonnes utilisées pour afficher une tabulation.</string>
<string name="general">Général</string>
<string name="behavior">Comportement</string>
<string name="welcome_screen_enable_desc">Afficher l'écran de bienvenue lorsqu'aucun document ou dossier n'est ouvert.</string>
<string name="appearance">Appearance</string>
<string name="navigation">Navigation</string>
<string name="formatting">Formatting</string>
<string name="workspace">Workspace</string>
<string name="document_defaults">Document Defaults</string>
<string name="wrap_type_desc">Choose whether lines wrap at the viewport or line breaking column.</string>
<string name="keep_indentation_desc">Preserve indentation on wrapped continuation lines.</string>
<string name="code_folding_enabled_desc">Enable syntax-aware code folding.</string>
<string name="code_folding_always_visible_desc">Always display fold controls in the editor gutter.</string>
<string name="new_tab_position_desc">Choose where newly opened tabs are inserted.</string>
<string name="auto_detect_indent_type_desc">Detect indentation settings when opening each document.</string>
<string name="indent_spaces">Indent Using Spaces</string>
<string name="indent_spaces_desc">Insert spaces instead of tab characters for indentation.</string>
<string name="write_unicode_bom_desc">Write a Unicode byte-order mark when saving.</string>
<string name="auto_close_xml_tags_desc">Automatically insert closing XML tags.</string>
<string name="autoreload_on_disk_change_desc">Reload unmodified documents when their files change on disk.</string>
<string name="line_endings_desc">Default line-ending sequence for new files.</string>
<string name="use_global_settings_desc">Inherit document defaults from the user settings.</string>
<string name="restore_last_session">Restore Last Session</string>
<string name="restore_last_session_desc">Reopen the previous workspace and documents at startup.</string>
<string name="check_updates_at_startup">Check for Updates at Startup</string>
<string name="check_updates_at_startup_desc">Check whether a newer ecode release is available after startup.</string>
<string name="new_terminal_behavior_desc">Choose where newly created terminal sessions are opened.</string>
<string name="scrollbar_type_desc">Place the terminal scrollbar over or outside its content.</string>
<string name="scrollbar_mode_desc">Control when the terminal scrollbar is visible.</string>
<string name="advanced">Advanced</string>
<string name="configure">Configure...</string>
<string name="fonts_and_scale">Fonts &amp; Scale</string>
<string name="screenshots">Screenshots</string>
<string name="renderer">Renderer</string>
<string name="show_doc_info_desc">Display document encoding and line-ending information.</string>
<string name="open_documents_in_main_split_desc">Open externally requested documents in the main editor split.</string>
<string name="tab_jump_mode_desc">Choose how keyboard navigation cycles through tabs.</string>
<string name="editor_font_in_input_fields_desc">Use the editor font for text input controls.</string>
<string name="ui_font_size_desc">Set the font size used by the application UI.</string>
<string name="ui_panel_font_size_desc">Set the font size used by side panels.</string>
<string name="editor_font_size_desc">Set the default code editor font size.</string>
<string name="terminal_font_size_desc">Set the default integrated terminal font size.</string>
<string name="ui_scale_factor_desc">Scale the complete user interface.</string>
<string name="line_spacing_desc">Set additional vertical spacing between editor lines.</string>
<string name="cursor_blinking_time_desc">Set the text cursor blink interval.</string>
<string name="folds_refresh_freq_desc">Set how frequently code folding ranges are recalculated.</string>
<string name="screenshot_save_path_desc">Choose where screenshots are saved.</string>
<string name="screenshot_filename_pattern_desc">Configure the timestamp-based screenshot filename pattern.</string>
<string name="screenshot_save_format_desc">Choose the image format for screenshots.</string>
<string name="frame_rate_limit_desc">Limit rendered frames per second. Set 0 to disable.</string>
<string name="ui_multisamples_level_desc">Set renderer multisampling. Restart required.</string>
<string name="configure_terminal_shell_desc">Set the shell executable and command-line arguments.</string>
<string name="configure_terminal_scrollback_desc">Set the number of terminal history lines retained.</string>
<string name="configure_terminal_working_dir_desc">Choose the working directory used by new terminals.</string>
<string name="cursor_style_desc">Choose the terminal cursor shape and animation.</string>
<string name="theme_and_language">Theme &amp; Language</string>
<string name="ui_prefers_color_scheme_desc">Choose whether the interface follows the system, light, or dark appearance.</string>
<string name="ui_theme_desc">Choose the stylesheet used by the application interface.</string>
<string name="ui_language_desc">Choose the interface language. Restart required.</string>
<string name="choose_font">Choose Font...</string>
<string name="ui_font_desc">Choose the proportional font used by the interface.</string>
<string name="editor_font_desc">Choose the monospace font used by code editors.</string>
<string name="terminal_font_desc">Choose the monospace font used by terminals.</string>
<string name="fallback_font_desc">Choose the font used for missing glyphs.</string>
<string name="syntax_color_scheme_desc">Choose the colors used for syntax highlighting and editor surfaces.</string>
<string name="terminal_color_scheme_desc">Choose the colors used by integrated terminals.</string>
<string name="ui_renderer_version_desc">Select the graphics API version used by ecode. Restart required.</string>
<string name="multisamples_disabled_desc">Disable multisample anti-aliasing.</string>
<string name="multisamples_2x_desc">Use 2x multisample anti-aliasing.</string>
<string name="multisamples_4x_desc">Use 4x multisample anti-aliasing.</string>
<string name="multisamples_8x_desc">Use 8x multisample anti-aliasing.</string>
<string name="multisamples_16x_desc">Use 16x multisample anti-aliasing.</string>
<string name="auto_indent_none_desc">No automatic indentation.</string>
<string name="auto_indent_preserve_desc">Preserve the indentation level of the previous line.</string>
<string name="auto_indent_smart_desc">Preserve indentation and indent between auto-closed brackets.</string>
<string name="prefers_color_scheme_light_tooltip">Always use the light interface color scheme.</string>
<string name="prefers_color_scheme_dark_tooltip">Always use the dark interface color scheme.</string>
<string name="scrollbar_mode_always_visible_tooltip">Keep the terminal scrollbar visible.</string>
<string name="scrollbar_mode_always_hidden_tooltip">Toujours masquer la barre de défilement du terminal.</string>
<string name="always_hidden">Toujours masquée</string>
<string name="always_visible">Toujours visible</string>
<string name="auto">Automatique</string>
<string name="auto_close_pair_desc">Insérer automatiquement le caractère de fermeture correspondant.</string>
<string name="auto-detect">Détection automatique</string>
<string name="auto_indent">Indentation automatique</string>
<string name="auto_indent_none">Aucune</string>
<string name="auto_indent_preserve">Conserver</string>
<string name="auto_indent_smart">Intelligente</string>
<string name="auto_indent_tooltip">Contrôle l'indentation ajoutée après avoir appuyé sur Entrée.</string>
<string name="blink_bar">Barre clignotante</string>
<string name="blinking_block">Bloc clignotant</string>
<string name="blink_underline">Soulignement clignotant</string>
<string name="chronological">Chronologique</string>
<string name="close_terminal_tab_on_exit">Fermer l'onglet du terminal à la sortie</string>
<string name="close_terminal_tab_on_exit_tooltip">Ferme un onglet de terminal lorsque son processus principal se termine.</string>
<string name="configure_terminal_working_dir">Configurer le répertoire de travail par défaut du terminal</string>
<string name="cursor_style">Style du curseur</string>
<string name="display_tab_switcher">Afficher le sélecteur d'onglets</string>
<string name="display_tab_switcher_tooltip">Affiche un sélecteur d'onglets au centre de chaque groupe d'onglets.</string>
<string name="editor">Éditeur</string>
<string name="editor_font_in_input_fields">Police de l'éditeur dans les champs de saisie</string>
<string name="enable_exclusive_mode_by_default">Activer le mode exclusif par défaut</string>
<string name="enable_exclusive_mode_by_default_tooltip">Désactive les raccourcis globaux dans les nouveaux terminaux.</string>
<string name="file_associations">Associations de fichiers</string>
<string name="full">Complet</string>
<string name="grayscale">Niveaux de gris</string>
<string name="hide_tabbar">Masquer la barre d'onglets</string>
<string name="hide_tabbar_on_single_tab_tooltip">Masque la barre d'onglets lorsqu'elle ne contient qu'un seul élément.</string>
<string name="hide_tabbar_tooltip">Toujours masquer la barre d'onglets.</string>
<string name="indent_tab_alignment_desc">Aligne le texte dans la largeur visuelle des tabulations d'indentation.</string>
<string name="indent_tab_character_desc">Choisit le caractère inséré lors de l'indentation avec Tab.</string>
<string name="jump_mode_linear_tooltip">Le mode linéaire parcourt les onglets dans leur ordre d'affichage.</string>
<string name="languages">Langages</string>
<string name="linear">Linéaire</string>
<string name="new_tab_position">Position des nouveaux onglets</string>
<string name="new_tab_position_after_active">Après l'onglet actif</string>
<string name="new_tab_position_first">En premier</string>
<string name="new_tab_position_last">En dernier</string>
<string name="new_tab_position_left_of_active">À gauche de l'onglet actif</string>
<string name="open_documents_in_main_split">Ouvrir les documents dans la zone principale</string>
<string name="open_in_statusbar_panel">Ouvrir dans le panneau de la barre d'état</string>
<string name="open_project_in_new_window">Ouvrir le projet dans une nouvelle fenêtre</string>
<string name="open_project_in_new_window_tooltip">Ouvre les dossiers dans une nouvelle fenêtre lorsqu'un autre projet est déjà chargé.</string>
<string name="outside">À l'extérieur</string>
<string name="overlay">Superposée</string>
<string name="quick_preview_images">Aperçu rapide des images</string>
<string name="quick_preview_images_tooltip">Prévisualise les images sans ouvrir d'onglet permanent.</string>
<string name="restore_editor_selection_on_focus">Restaurer la sélection de l'éditeur au focus</string>
<string name="restore_editor_selection_on_focus_tooltip">Restaure la dernière position du curseur et la sélection de chaque zone d'édition lors du focus.</string>
<string name="scrollbar_mode">Mode de la barre de défilement</string>
<string name="scrollbar_mode_auto_tooltip">Affiche une barre superposée au mouvement de la souris, ou une barre extérieure lorsque le contenu défile.</string>
<string name="scrollbar_type">Type de barre de défilement</string>
<string name="scroll_outside_tooltip">La barre de défilement occupe son propre espace et ne recouvre jamais le contenu.</string>
<string name="scroll_overlay_tooltip">La barre de défilement apparaît par-dessus le contenu.</string>
<string name="set_screenshot_save_path">Chemin d'enregistrement des captures d'écran</string>
<string name="slight">Léger</string>
<string name="steady_bar">Barre fixe</string>
<string name="steady_block">Bloc fixe</string>
<string name="steady_underline">Soulignement fixe</string>
<string name="subpixel">Sous-pixel</string>
<string name="tab_bar">Barre d'onglets</string>
<string name="tab_jump_mode">Mode de parcours des onglets</string>
<string name="treat_h_files_as_desc">Choisit le langage par défaut des fichiers d'en-tête .h ambigus.</string>
<string name="ui_font_antialiasing">Anticrénelage des polices</string>
<string name="ui_font_antialiasing_desc">Choisit la méthode de lissage des contours des glyphes.</string>
<string name="ui_font_hint">Optimisation des polices</string>
<string name="ui_font_hint_desc">Contrôle l'alignement des glyphes sur la grille de pixels.</string>
<string name="use_native_file_dialogs">Activer les boîtes de dialogue de fichiers natives</string>
<string name="use_native_file_dialogs_tooltip">Utilise les boîtes de dialogue du système lorsqu'elles sont disponibles.</string>
<string name="vsync_desc">Synchronise le rendu avec la fréquence de l'écran. Redémarrage requis.</string>
<string name="warn_before_closing_tab">Avertir avant de fermer l'onglet</string>
<string name="warn_before_closing_tab_tooltip">Demande confirmation avant de fermer un terminal exécutant un programme.</string>
</resources>

View File

@@ -727,4 +727,193 @@ file in the directory tree.</string>
<string name="tab_out_desc">在已配置的字符前按 Tab 可将光标移至该字符之后。仅适用于无选区的单个光标。</string>
<string name="set_tab_out_characters">设置 Tab 跳出字符</string>
<string name="set_tab_out_characters_message">设置按 Tab 时光标可以跳过的字符。</string>
<string name="open_settings_ellipsis">打开设置...</string>
<string name="open_project_settings_ellipsis">打开项目设置...</string>
<string name="project_settings">项目设置</string>
<string name="search_settings">搜索设置...</string>
<string name="show_line_numbers_desc">在编辑器旁显示行号。</string>
<string name="show_white_spaces_desc">显示空白字符的可见标记。</string>
<string name="highlight_current_line_desc">突出显示主光标所在行。</string>
<string name="trim_trailing_whitespaces_desc">保存文件时删除行尾空白。</string>
<string name="force_new_line_at_end_of_file_desc">确保保存的文件以换行符结尾。</string>
<string name="search_results">搜索结果</string>
<string name="line_wrap_desc">控制编辑器中长行的换行方式。</string>
<string name="line_breaking_column_desc">用于换行和编辑器宽度参考线的列。设置为 0 可禁用。</string>
<string name="indent_width_desc">每个缩进级别插入的列数。</string>
<string name="tab_width_desc">显示制表符时使用的列数。</string>
<string name="general">常规</string>
<string name="behavior">行为</string>
<string name="welcome_screen_enable_desc">未打开文档或文件夹时显示欢迎屏幕。</string>
<string name="appearance">Appearance</string>
<string name="navigation">Navigation</string>
<string name="formatting">Formatting</string>
<string name="workspace">Workspace</string>
<string name="document_defaults">Document Defaults</string>
<string name="wrap_type_desc">Choose whether lines wrap at the viewport or line breaking column.</string>
<string name="keep_indentation_desc">Preserve indentation on wrapped continuation lines.</string>
<string name="code_folding_enabled_desc">Enable syntax-aware code folding.</string>
<string name="code_folding_always_visible_desc">Always display fold controls in the editor gutter.</string>
<string name="new_tab_position_desc">Choose where newly opened tabs are inserted.</string>
<string name="auto_detect_indent_type_desc">Detect indentation settings when opening each document.</string>
<string name="indent_spaces">Indent Using Spaces</string>
<string name="indent_spaces_desc">Insert spaces instead of tab characters for indentation.</string>
<string name="write_unicode_bom_desc">Write a Unicode byte-order mark when saving.</string>
<string name="auto_close_xml_tags_desc">Automatically insert closing XML tags.</string>
<string name="autoreload_on_disk_change_desc">Reload unmodified documents when their files change on disk.</string>
<string name="line_endings_desc">Default line-ending sequence for new files.</string>
<string name="use_global_settings_desc">Inherit document defaults from the user settings.</string>
<string name="restore_last_session">Restore Last Session</string>
<string name="restore_last_session_desc">Reopen the previous workspace and documents at startup.</string>
<string name="check_updates_at_startup">Check for Updates at Startup</string>
<string name="check_updates_at_startup_desc">Check whether a newer ecode release is available after startup.</string>
<string name="new_terminal_behavior_desc">Choose where newly created terminal sessions are opened.</string>
<string name="scrollbar_type_desc">Place the terminal scrollbar over or outside its content.</string>
<string name="scrollbar_mode_desc">Control when the terminal scrollbar is visible.</string>
<string name="advanced">Advanced</string>
<string name="configure">Configure...</string>
<string name="fonts_and_scale">Fonts &amp; Scale</string>
<string name="screenshots">Screenshots</string>
<string name="renderer">Renderer</string>
<string name="show_doc_info_desc">Display document encoding and line-ending information.</string>
<string name="open_documents_in_main_split_desc">Open externally requested documents in the main editor split.</string>
<string name="tab_jump_mode_desc">Choose how keyboard navigation cycles through tabs.</string>
<string name="editor_font_in_input_fields_desc">Use the editor font for text input controls.</string>
<string name="ui_font_size_desc">Set the font size used by the application UI.</string>
<string name="ui_panel_font_size_desc">Set the font size used by side panels.</string>
<string name="editor_font_size_desc">Set the default code editor font size.</string>
<string name="terminal_font_size_desc">Set the default integrated terminal font size.</string>
<string name="ui_scale_factor_desc">Scale the complete user interface.</string>
<string name="line_spacing_desc">Set additional vertical spacing between editor lines.</string>
<string name="cursor_blinking_time_desc">Set the text cursor blink interval.</string>
<string name="folds_refresh_freq_desc">Set how frequently code folding ranges are recalculated.</string>
<string name="screenshot_save_path_desc">Choose where screenshots are saved.</string>
<string name="screenshot_filename_pattern_desc">Configure the timestamp-based screenshot filename pattern.</string>
<string name="screenshot_save_format_desc">Choose the image format for screenshots.</string>
<string name="frame_rate_limit_desc">Limit rendered frames per second. Set 0 to disable.</string>
<string name="ui_multisamples_level_desc">Set renderer multisampling. Restart required.</string>
<string name="configure_terminal_shell_desc">Set the shell executable and command-line arguments.</string>
<string name="configure_terminal_scrollback_desc">Set the number of terminal history lines retained.</string>
<string name="configure_terminal_working_dir_desc">Choose the working directory used by new terminals.</string>
<string name="cursor_style_desc">Choose the terminal cursor shape and animation.</string>
<string name="theme_and_language">Theme &amp; Language</string>
<string name="ui_prefers_color_scheme_desc">Choose whether the interface follows the system, light, or dark appearance.</string>
<string name="ui_theme_desc">Choose the stylesheet used by the application interface.</string>
<string name="ui_language_desc">Choose the interface language. Restart required.</string>
<string name="choose_font">Choose Font...</string>
<string name="ui_font_desc">Choose the proportional font used by the interface.</string>
<string name="editor_font_desc">Choose the monospace font used by code editors.</string>
<string name="terminal_font_desc">Choose the monospace font used by terminals.</string>
<string name="fallback_font_desc">Choose the font used for missing glyphs.</string>
<string name="syntax_color_scheme_desc">Choose the colors used for syntax highlighting and editor surfaces.</string>
<string name="terminal_color_scheme_desc">Choose the colors used by integrated terminals.</string>
<string name="ui_renderer_version_desc">Select the graphics API version used by ecode. Restart required.</string>
<string name="multisamples_disabled_desc">Disable multisample anti-aliasing.</string>
<string name="multisamples_2x_desc">Use 2x multisample anti-aliasing.</string>
<string name="multisamples_4x_desc">Use 4x multisample anti-aliasing.</string>
<string name="multisamples_8x_desc">Use 8x multisample anti-aliasing.</string>
<string name="multisamples_16x_desc">Use 16x multisample anti-aliasing.</string>
<string name="auto_indent_none_desc">No automatic indentation.</string>
<string name="auto_indent_preserve_desc">Preserve the indentation level of the previous line.</string>
<string name="auto_indent_smart_desc">Preserve indentation and indent between auto-closed brackets.</string>
<string name="prefers_color_scheme_light_tooltip">Always use the light interface color scheme.</string>
<string name="prefers_color_scheme_dark_tooltip">Always use the dark interface color scheme.</string>
<string name="scrollbar_mode_always_visible_tooltip">Keep the terminal scrollbar visible.</string>
<string name="scrollbar_mode_always_hidden_tooltip">始终隐藏终端滚动条。</string>
<string name="always_hidden">始终隐藏</string>
<string name="always_visible">始终显示</string>
<string name="auto">自动</string>
<string name="auto_close_pair_desc">自动插入匹配的闭合字符。</string>
<string name="auto-detect">自动检测</string>
<string name="auto_indent">自动缩进</string>
<string name="auto_indent_none">无</string>
<string name="auto_indent_preserve">保持</string>
<string name="auto_indent_smart">智能</string>
<string name="auto_indent_tooltip">控制按下 Enter 后添加的自动缩进。</string>
<string name="autoreload_on_disk_change">磁盘文件更改时自动重新加载</string>
<string name="blink_bar">闪烁竖线</string>
<string name="blinking_block">闪烁方块</string>
<string name="blink_underline">闪烁下划线</string>
<string name="center">居中</string>
<string name="chronological">按访问顺序</string>
<string name="close_terminal_tab_on_exit">进程退出时关闭终端标签页</string>
<string name="close_terminal_tab_on_exit_tooltip">终端主进程退出时关闭其标签页。</string>
<string name="code_folding">代码折叠</string>
<string name="code_folding_always_display_folds">始终显示折叠控件</string>
<string name="configure_terminal_working_dir">配置终端默认工作目录</string>
<string name="cursor_style">光标样式</string>
<string name="display_tab_switcher">显示标签页切换器</string>
<string name="display_tab_switcher_tooltip">在每个标签页组件中央显示标签页切换器。</string>
<string name="editor">编辑器</string>
<string name="editor_font_in_input_fields">输入框使用编辑器字体</string>
<string name="enabled">启用</string>
<string name="enable_exclusive_mode_by_default">默认启用独占模式</string>
<string name="enable_exclusive_mode_by_default_tooltip">在新建终端中禁用全局快捷键。</string>
<string name="file_associations">文件关联</string>
<string name="folds_refresh_freq">折叠区域刷新频率</string>
<string name="full">完全</string>
<string name="grayscale">灰度</string>
<string name="hide_tabbar">隐藏标签栏</string>
<string name="hide_tabbar_tooltip">始终隐藏标签栏。</string>
<string name="indent_tab_alignment">缩进制表符对齐</string>
<string name="indent_tab_alignment_desc">在缩进制表符的可视宽度内对齐文本。</string>
<string name="indent_tab_character">缩进制表字符</string>
<string name="indent_tab_character_desc">选择按 Tab 缩进时插入的字符。</string>
<string name="jump_mode_linear_tooltip">线性模式按标签页显示顺序切换。</string>
<string name="keep_indentation">保持缩进</string>
<string name="languages">语言</string>
<string name="left">左对齐</string>
<string name="linear">线性</string>
<string name="line_wrap">自动换行</string>
<string name="new_tab_position">新标签页位置</string>
<string name="new_tab_position_after_active">活动标签页之后</string>
<string name="new_tab_position_first">最前</string>
<string name="new_tab_position_last">最后</string>
<string name="new_tab_position_left_of_active">活动标签页左侧</string>
<string name="no_wrap">不换行</string>
<string name="open_documents_in_main_split">在主编辑区打开文档</string>
<string name="open_files_in_new_window_enable">在新窗口中打开文件</string>
<string name="open_in_statusbar_panel">在状态栏面板中打开</string>
<string name="open_project_in_new_window">在新窗口中打开项目</string>
<string name="open_project_in_new_window_tooltip">已有项目加载时,在新窗口中打开文件夹。</string>
<string name="outside">外置</string>
<string name="overlay">叠加</string>
<string name="quick_preview_images">快速预览图像</string>
<string name="quick_preview_images_tooltip">无需打开永久编辑器标签页即可预览图像。</string>
<string name="restore_editor_selection_on_focus">聚焦时恢复编辑器选区</string>
<string name="restore_editor_selection_on_focus_tooltip">编辑区重新获得焦点时,恢复其上次的光标和选区。</string>
<string name="right">右对齐</string>
<string name="scrollbar_mode">滚动条模式</string>
<string name="scrollbar_mode_auto_tooltip">鼠标移动时显示叠加滚动条;内容可滚动时显示外置滚动条。</string>
<string name="scrollbar_type">滚动条类型</string>
<string name="scroll_outside_tooltip">滚动条占用独立空间,不会覆盖内容。</string>
<string name="scroll_overlay_tooltip">滚动条叠加显示在内容上方。</string>
<string name="session_snapshot">会话快照与定期备份</string>
<string name="session_snapshot_desc">保留会话之间未保存的文档更改。</string>
<string name="set_screenshot_save_path">截图保存路径</string>
<string name="settings">设置</string>
<string name="slight">轻微</string>
<string name="steady_bar">固定竖线</string>
<string name="steady_block">固定方块</string>
<string name="steady_underline">固定下划线</string>
<string name="subpixel">次像素</string>
<string name="system">系统</string>
<string name="tab_bar">标签栏</string>
<string name="tab_jump_mode">标签页切换模式</string>
<string name="treat_h_files_as">将 .h 文件视为</string>
<string name="treat_h_files_as_desc">选择歧义 .h 头文件的默认语言。</string>
<string name="treeview_single_click_nav_tooltip">单击即可在项目树中打开文件。</string>
<string name="ui_font_antialiasing">字体抗锯齿</string>
<string name="ui_font_antialiasing_desc">选择字形边缘的平滑方式。</string>
<string name="ui_font_hint">字体微调</string>
<string name="ui_font_hint_desc">控制字形与像素网格的对齐。</string>
<string name="use_native_file_dialogs">启用系统原生文件对话框</string>
<string name="use_native_file_dialogs_tooltip">可用时使用操作系统原生文件对话框。</string>
<string name="viewport">视口</string>
<string name="vsync_desc">使渲染与显示器刷新率同步。需要重启。</string>
<string name="warn_before_closing_tab">关闭标签页前警告</string>
<string name="warn_before_closing_tab_tooltip">终端中有程序运行时,关闭前请求确认。</string>
<string name="welcome_screen_enable">启用欢迎界面</string>
<string name="wrap_letter">按字符换行</string>
<string name="wrap_type">换行依据</string>
<string name="wrap_word">按单词换行</string>
</resources>

View File

@@ -9,6 +9,7 @@
#include "plugins/debugger/statusdebuggercontroller.hpp"
#include "settingsactions.hpp"
#include "settingsmenu.hpp"
#include "settingspanel.hpp"
#include "uibuildsettings.hpp"
#include "uidownloadwindow.hpp"
#include "uirightpanel.hpp"
@@ -2123,6 +2124,8 @@ std::map<KeyBindings::Shortcut, std::string> App::getLocalKeybindings() {
{ { KEY_F11, KeyMod::getDefaultModifier() | KEYMOD_SHIFT }, "debug-widget-tree-view" },
{ { KEY_K, KeyMod::getDefaultModifier() }, "open-locatebar" },
{ { KEY_P, KeyMod::getDefaultModifier() }, "open-command-palette" },
{ { KEY_COMMA, KeyMod::getDefaultModifier() }, "open-settings" },
{ { KEY_COMMA, KeyMod::getDefaultModifier() | KEYMOD_SHIFT }, "open-project-settings" },
{ { KEY_F, KeyMod::getDefaultModifier() | KEYMOD_SHIFT }, "open-global-search" },
{ { KEY_L, KeyMod::getDefaultModifier() }, "go-to-line" },
#if EE_PLATFORM == EE_PLATFORM_MACOS
@@ -2206,6 +2209,8 @@ std::vector<std::string> App::getUnlockedCommands() {
"toggle-status-terminal",
"toggle-status-app-output",
"menu-toggle",
"open-settings",
"open-project-settings",
"switch-side-panel",
"toggle-status-bar",
"download-file-web",
@@ -3593,6 +3598,20 @@ void App::toggleSettingsMenu() {
mSettings->toggleSettingsMenu();
}
void App::openSettings() {
if ( !mSettingsPanel )
mSettingsPanel = std::make_unique<SettingsPanel>( this );
mSettingsPanel->show( SettingsPanel::Scope::User );
}
void App::openProjectSettings() {
if ( !projectIsOpen() )
return;
if ( !mSettingsPanel )
mSettingsPanel = std::make_unique<SettingsPanel>( this );
mSettingsPanel->show( SettingsPanel::Scope::Project );
}
void App::showFolderTreeViewTab() {
UITab* tab = mSidePanel->find<UITab>( "treeview_tab" );
if ( tab )

View File

@@ -34,6 +34,7 @@ class FormatterPlugin;
class DateTimeController;
class FontPickerController;
class SettingsMenu;
class SettingsPanel;
class UITreeViewFS;
class StatusDebuggerController;
class UIRightPanel;
@@ -215,6 +216,10 @@ class App : public UICodeEditorSplitter::Client, public PluginContextProvider {
void toggleSettingsMenu();
void openSettings();
void openProjectSettings();
UIStatusBar* getStatusBar() const { return mStatusBar; }
void showFolderTreeViewTab();
@@ -243,6 +248,8 @@ class App : public UICodeEditorSplitter::Client, public PluginContextProvider {
t.setCommand( "debug-draw-debug-data", [this] { debugDrawData(); } );
t.setCommand( "debug-widget-tree-view", [this] { createWidgetInspector(); } );
t.setCommand( "menu-toggle", [this] { toggleSettingsMenu(); } );
t.setCommand( "open-settings", [this] { openSettings(); } );
t.setCommand( "open-project-settings", [this] { openProjectSettings(); } );
t.setCommand( "switch-side-panel", [this] { switchSidePanel(); } );
t.setCommand( "download-file-web", [this] { downloadFileWebDialog(); } );
t.setCommand( "move-panel-left", [this] { panelPosition( PanelPosition::Left ); } );
@@ -364,8 +371,7 @@ class App : public UICodeEditorSplitter::Client, public PluginContextProvider {
t.setCommand( "ui-panel-font-size", [this] { mSettingsActions->setUIPanelFontSize(); } );
t.setCommand( "sans-serif-font",
[this] { openFontDialog( mConfig.ui.sansSerifFont, false ); } );
t.setCommand( "editor-font",
[this] { openFontDialog( mConfig.ui.monospaceFont, true ); } );
t.setCommand( "editor-font", [this] { openFontDialog( mConfig.ui.monospaceFont, true ); } );
t.setCommand( "terminal-font",
[this] { openFontDialog( mConfig.ui.terminalFont, true, true ); } );
t.setCommand( "fallback-font", [this] {
@@ -777,6 +783,7 @@ class App : public UICodeEditorSplitter::Client, public PluginContextProvider {
std::unique_ptr<TerminalManager> mTerminalManager;
std::unique_ptr<PluginManager> mPluginManager;
std::unique_ptr<SettingsMenu> mSettings;
std::unique_ptr<SettingsPanel> mSettingsPanel;
std::unique_ptr<DateTimeController> mDateTimeController;
std::unique_ptr<FontPickerController> mFontPickerController;
std::string mFileToOpen;

View File

@@ -73,6 +73,16 @@ void SettingsMenu::createSettingsMenu( App* app, UIMenuBar* menuBar ) {
getKeybind( "save-all" ) )
->setId( "save-all" );
mSettingsMenu->addSeparator()->setId( "settings-submenus-sep" );
mSettingsMenu
->add( i18n( "open_settings_ellipsis", "Open Settings..." ), findIcon( "settings" ),
getKeybind( "open-settings" ) )
->setId( "open-settings" );
mSettingsMenu
->add( i18n( "open_project_settings_ellipsis", "Open Project Settings..." ),
findIcon( "folder-settings" ), getKeybind( "open-project-settings" ) )
->setId( "open-project-settings" )
->setEnabled( mApp->projectIsOpen() );
mSettingsMenu->addSeparator();
mProjectMenu = UIPopUpMenu::New();
mDocMenu = UIPopUpMenu::New();
@@ -2353,7 +2363,7 @@ UIMenu* SettingsMenu::createViewMenu() {
} else if ( item->getId() == "enable-color-preview" ) {
mApp->getConfig().editor.colorPreview = item->asType<UIMenuCheckBox>()->isActive();
mSplitter->forEachEditor( [this]( UICodeEditor* editor ) {
editor->setEnableColorPickerOnSelection( mApp->getConfig().editor.colorPreview );
editor->setColorPreview( mApp->getConfig().editor.colorPreview );
} );
} else if ( item->getId() == "enable-color-picker" ) {
mApp->getConfig().editor.colorPickerSelection =
@@ -2587,6 +2597,7 @@ void SettingsMenu::toggleSettingsMenu() {
}
void SettingsMenu::updateProjectSettingsMenu() {
mSettingsMenu->getItemId( "open-project-settings" )->setEnabled( mApp->projectIsOpen() );
mSettingsMenu->getItemId( "project_settings" )
->setEnabled( !mApp->getCurrentProject().empty() );

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,81 @@
#ifndef ECODE_SETTINGSPANEL_HPP
#define ECODE_SETTINGSPANEL_HPP
#include <eepp/ee.hpp>
#include <functional>
#include <string>
#include <vector>
namespace ecode {
class App;
class SettingsPanel {
public:
enum class Scope : Uint8 { User, Project };
explicit SettingsPanel( App* app );
void show( Scope scope );
protected:
struct SettingBinding {
std::string id;
std::string category;
String name;
String description;
UIWidget* row{ nullptr };
};
struct PanelState {
UIWindow* window{ nullptr };
EventConnectionList connections;
UITextInput* search{ nullptr };
UITreeView* categories{ nullptr };
UIScrollView* scroll{ nullptr };
UILinearLayout* settings{ nullptr };
UITextView* pageTitle{ nullptr };
std::shared_ptr<Model> categoryModel;
UIBindingGroup bindingGroup;
std::vector<std::pair<std::string, std::vector<std::string>>> categoryItems;
UnorderedMap<std::string, std::string> categoryIds;
UnorderedMap<std::string, String> categorySearchText;
UnorderedMap<std::string, String> categoryTitles;
UnorderedMap<std::string, UITextView*> categoryHeadings;
std::vector<SettingBinding> bindings;
std::string selectedCategory;
std::string categoryFilter;
void reset();
};
App* mApp{ nullptr };
PanelState mUser;
PanelState mProject;
PanelState& state( Scope scope );
void create( Scope scope );
void addUserSettings( PanelState& state );
void addProjectSettings( PanelState& state );
void addCategory( PanelState& state, const std::string& id, const String& parent,
const String& name );
void setupCategories( PanelState& state );
void addBool( PanelState& state, SettingBinding binding, bool* value,
std::function<void( bool )> apply = {} );
void addBool( PanelState& state, SettingBinding binding, std::function<bool()> get,
std::function<void( bool )> set );
void addChoice( PanelState& state, SettingBinding binding, const std::vector<String>& choices,
std::function<size_t()> get, std::function<void( size_t )> set,
std::vector<String> choiceDescriptions = {} );
void addInteger( PanelState& state, SettingBinding binding, int min, int max, int* value,
std::function<void( int )> apply = {} );
void addAction( PanelState& state, SettingBinding binding, const String& buttonText,
std::function<void()> action );
UIWidget* createRow( PanelState& state, SettingBinding& binding );
UICheckBox* createBoolControl( PanelState& state, SettingBinding& binding );
void filter( PanelState& state );
};
} // namespace ecode
#endif