From 8d33fb505e2241150779ca4f0cd52b71149e3044 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 12 Feb 2026 10:55:12 +0000 Subject: [PATCH 1/3] Initial plan From f9de93b7b847f456b5fbbdbb6283715dad5dbab5 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 12 Feb 2026 11:00:00 +0000 Subject: [PATCH 2/3] Add curated list of untranslated strings Co-authored-by: Nidrax <4753308+Nidrax@users.noreply.github.com> --- UNTRANSLATED_STRINGS.md | 161 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 161 insertions(+) create mode 100644 UNTRANSLATED_STRINGS.md diff --git a/UNTRANSLATED_STRINGS.md b/UNTRANSLATED_STRINGS.md new file mode 100644 index 000000000..3bb4512c4 --- /dev/null +++ b/UNTRANSLATED_STRINGS.md @@ -0,0 +1,161 @@ +# Curated List of Untranslated Strings in Besprited + +This list contains string literals that are likely user-facing and should be internationalized using the `i18n()` function. + +## Summary + +- **Total user-facing strings found:** 195 +- **Excluded internal strings:** 63 (serialization identifiers, enum values, debug messages, etc.) + +--- + +## Strings That Need Internationalization + +### Filter Names (5 strings) +These are displayed in the UI when filters are applied: +- `filters/convolution_matrix_filter.cpp`: "Convolution Matrix" +- `filters/median_filter.cpp`: "Median Blur" +- `filters/invert_color_filter.cpp`: "Invert Color" +- `filters/replace_color_filter.cpp`: "Replace Color" +- `filters/color_curve_filter.cpp`: "Color Curve" + +### View/Tab Names (3 strings) +These appear as tab titles in the UI: +- `app/ui/data_recovery_view.cpp`: "Data Recovery" +- `app/ui/home_view.cpp`: "Home" +- `app/ui/devconsole_view.cpp`: "Console" + +### Window Titles (4 strings) +Popup window and dialog titles: +- `app/ui/palette_popup.cpp`: "Palettes" +- `app/ui/font_popup.cpp`: "Fonts" +- `app/ui/configure_timeline_popup.cpp`: "Timeline Settings" + +### UI Labels (15+ strings) +Text labels in various dialogs and UI elements: +- `app/commands/cmd_mask_by_color.cpp`: "Color:", "Tolerance:" +- `app/ui/status_bar.cpp`: "Frame:" +- `app/ui/context_bar.cpp`: "Pick:", "Sample:", "Tolerance:", "Opacity:", "Spray:", "Freehand:" +- `app/commands/cmd_about.cpp`: "Animated sprite editor & pixel art tool", "Authors:", "- Lead developer, graphics & maintainer", "- Default skin & graphics introduced in v0.8" +- `app/commands/cmd_sprite_properties.cpp`: "(only for indexed images)" + +### Buttons (10+ strings) +Button labels throughout the UI: +- `app/commands/cmd_mask_by_color.cpp`: "&OK", "&Cancel" +- `app/commands/cmd_about.cpp`: "&Close" +- `app/console.cpp`: "&Close", "C&lear" +- `app/ui/status_bar.cpp`: "+" +- `app/commands/filters/filter_window.cpp`: "&OK", "&Cancel" +- `app/ui/color_bar.cpp`: "Remap" + +### Checkboxes (5 strings) +Checkbox labels: +- `app/commands/cmd_mask_by_color.cpp`: "&Preview" +- `app/ui/context_bar.cpp`: "Contiguous", "Pixel-perfect", "Auto Select Layer" +- `app/commands/filters/filter_window.cpp`: "&Tiled" + +### Menu Items (10+ strings) +Menu and context menu items: +- `app/ui/editor/editor.cpp`: "Play Once", "Rewind on Stop" +- `app/app_menus.cpp`: "WARNING!", "You should update your customized gui.xml file to the new version to get", "the latest commands available.", etc. + +### Combo Box Items (90+ strings) +Dropdown menu options across many dialogs: +- Color types: "RGB", "HSB", "Index", "Gray", "Mask" +- Blend modes: "Normal", "Multiply", "Screen", "Overlay", "Darken", "Lighten", "Color Dodge", "Color Burn", "Hard Light", "Soft Light", "Difference", "Exclusion", "Hue", "Saturation", "Color", "Luminosity" +- Channel options: "Color+Alpha", "Color", "Alpha", "RGB+Alpha", "RGB", "HSB+Alpha", "HSB", "Gray+Alpha", "Gray", "Best fit Index" +- Layer sampling: "All Layers", "Current Layer" +- Sheet types: "Horizontal Strip", "Vertical Strip", "By Rows", "By Columns" +- Frame/layer options: "All frames", "Selected frames", "Visible layers", "Selected layers" +- Scaling methods: "Nearest-neighbor", "Bilinear", "RotSprite" +- Right-click behaviors: "Paint with background color", "Pick foreground color", "Erase", "Scroll" +- Grid scopes: "Global", "Current Document" +- Background sizes: "16x16", "8x8", "4x4", "2x2" +- Animation directions: "Forward", "Reverse", "Ping-pong" +- Change modes: "Abs", "Rel" +- Pattern alignment: "Pattern aligned to source", "Pattern aligned to destination", "Paint brush" +- Filter target buttons: "R", "G", "B", "A", "K", "Index" + +### Tooltips (30+ strings) +Tooltip text for various UI elements in context bar, color bar, status bar, etc.: +- `app/ui/context_bar.cpp`: "Brush Type", "Brush Size (in pixels)", "Brush Angle (in degrees)", "Ink", "Opacity (paint intensity)", "Shades", "Spray Width", "Spray Speed", "Rotation Pivot", "Transparent Color", "Rotation Algorithm", "Freehand trace algorithm", "Extra paint bucket options", "Horizontal Symmetry", "Vertical Symmetry", "Replace selection", "Add to selection\n(Shift)", "Subtract from selection\n(Shift+Alt)", "Drop pixels here", "Cancel drag and drop" +- `app/ui/color_bar.cpp`: "Foreground color", "Background color", "Add foreground color to the palette", "Add background color to the palette", "Edit Color", "Sort & Gradients", "Presets", "Options", "Matches old indexes with new indexes" +- `app/ui/status_bar.cpp`: "Current Frame", "Zoom Level", "New Frame" +- `app/ui/select_accelerator.cpp`: "Also known as Windows key, logo key,\ncommand key, or system key." + +### Separators (3 strings) +Menu separator labels: +- `app/ui/brush_popup.cpp`: "Saved Parameters", "Parameters to Save" +- `app/commands/cmd_about.cpp`: "Authors:" + +### Status Bar Messages (15+ strings) +Messages displayed in the status bar: +- `app/commands/cmd_goto_layer.cpp`: "Layer `%s' selected" +- `app/commands/cmd_save_file.cpp`: "File %s, saved." +- `app/ui/document_view.cpp`: "Sprite '%s' closed." +- `app/ui/timeline.cpp`: "%s cels", "%s before frame %d", "%s after frame %d", "Onionskin is %s", "Layer '%s' [%s%s]", "Layer '%s' is %s", "Layer '%s' is %s (%s)" +- `app/app.cpp`: "%s | %s" (showing PACKAGE_AND_VERSION and COPYRIGHT) + +### Widget Text Updates (10+ strings) +Dynamic text set on widgets: +- `app/commands/cmd_palette_editor.cpp`: " No Entry", " Multiple Entries" +- `app/commands/cmd_color_quantization.cpp`: "256" +- `app/commands/cmd_layer_properties.cpp`: "No Layer" +- `app/commands/cmd_modify_selection.cpp`: "Width:" +- `app/commands/cmd_export_sprite_sheet.cpp`: "Select File: " + filename +- `app/commands/cmd_keyboard_shortcuts.cpp`: "Add" +- `app/ui/context_bar.cpp`: "Select colors in the palette" +- `app/ui/brush_popup.cpp`: "Save Brush" +- `app/ui/file_selector.cpp`: "-------- Recent Paths --------" + +### Ink Types (6 strings) +Display names for ink types shown in UI: +- `app/tools/ink_type.cpp`: "Simple Ink", "Alpha Compositing", "Copy Color+Alpha", "Lock Alpha", "Shading", "Unknown" + +### Context Bar Help Text (3 strings) +Help text shown in the context bar: +- `app/commands/cmd_new_brush.cpp`: "Select brush bounds | Right-click to cut" +- `app/commands/cmd_canvas_size.cpp`: "Select new canvas size" +- `app/commands/cmd_import_sprite_sheet.cpp`: "Select bounds to identify sprite frames" + +### Action Names (4 strings) +Names for undo/redo actions: +- `app/commands/cmd_modify_selection.cpp`: "Border", "Expand", "Contract", "Modify" + +### Notification Text (1 string) +Text shown in notifications: +- `app/send_crash.cpp`: "Report last crash" + +### Error Messages (2 strings) +User-facing error messages: +- `base/errno_string.cpp`: "Unknown error" +- `app/ui/keyboard_shortcuts.cpp`: "Unknown" + +--- + +## Excluded Internal Strings (Not User-Facing) + +These strings were identified as internal and do NOT need internationalization: + +### Serialization/API Identifiers (37 strings) +- Blend mode identifiers: "normal", "multiply", "screen", etc. (lowercase, for file format) +- Animation direction: "forward", "reverse", "pingpong" +- Brush types: "circle", "square", "line", "image", "unknown" +- Ink type identifiers: "simple", "alpha_compositing", "copy_color", "lock_alpha", "shading", "unknown" +- Default palette identifier: "default" +- Platform identifiers: "emscripten", "windows", "macos", "android", "linux" + +### Debug/Internal Messages (26 strings) +- Message type enum names: "Open", "Close", "Paint", "Timer", "KeyDown", etc. +- JavaScript object representation: "[Object object]" +- File system paths: "/tmp", "/" + +--- + +## Notes + +1. All strings listed in the "Strings That Need Internationalization" section should be wrapped with `i18n()`. +2. The excluded strings are used for serialization, APIs, or internal purposes and should remain as plain strings. +3. Some combo box items contain technical color channel names (R, G, B, A, K) which may or may not need translation depending on localization policy. +4. Status bar format strings include printf-style placeholders (%s, %d) which should be preserved in translations. + From 695498edd86893fee328c40ca8e51fe6da327f78 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 15 Apr 2026 20:08:26 +0000 Subject: [PATCH 3/3] Update curated list with missed strings (Alert::show, MenuItem, member inits) Agent-Logs-Url: https://github.com/veritaware/Besprited/sessions/ddc67e17-6111-42da-ac16-7cbc1648dece Co-authored-by: Nidrax <4753308+Nidrax@users.noreply.github.com> --- UNTRANSLATED_STRINGS.md | 84 ++++++++++++++++++++++++++++++++++++----- 1 file changed, 74 insertions(+), 10 deletions(-) diff --git a/UNTRANSLATED_STRINGS.md b/UNTRANSLATED_STRINGS.md index 3bb4512c4..131d9ab27 100644 --- a/UNTRANSLATED_STRINGS.md +++ b/UNTRANSLATED_STRINGS.md @@ -4,13 +4,18 @@ This list contains string literals that are likely user-facing and should be int ## Summary -- **Total user-facing strings found:** 195 +- **Total user-facing strings found:** 220+ (updated after review) - **Excluded internal strings:** 63 (serialization identifiers, enum values, debug messages, etc.) +- **Update Note:** Added 25+ strings missed in initial analysis (Alert::show, MenuItem declarations, member initializations) --- ## Strings That Need Internationalization +### Alert Messages (1 string) +Alert dialog messages not using i18n(): +- `base/launcher.cpp:54`: "Problem<" (m_label member, likely doesn't need i18n) +- `app/ui/hex_color_entry.cpp`: "#" (m_label member, likely doesn't need i18n) -### Buttons (10+ strings) +### Buttons (15+ strings) Button labels throughout the UI: - `app/commands/cmd_mask_by_color.cpp`: "&OK", "&Cancel" - `app/commands/cmd_about.cpp`: "&Close" - `app/console.cpp`: "&Close", "C&lear" -- `app/ui/status_bar.cpp`: "+" -- `app/commands/filters/filter_window.cpp`: "&OK", "&Cancel" -- `app/ui/color_bar.cpp`: "Remap" - -### Checkboxes (5 strings) +- `app/ui/status_bar.cpp`: "+" (New Frame button), "Disable Snap to Grid" (m_button member) +- `app/commands/filters/filter_window.cpp`: "&OK", "&Cancel" (m_okButton, m_cancelButton members) +- `app/ui/color_bar.cpp`: "Remap" (m_remapButton member) +- `app/ui/data_recovery_view.cpp` (lines 46-47) - Conditional initialization: + - "Open" / "Open All" (m_openButton member) + - "Delete" / "Delete All" (m_deleteButton member) + +### Checkboxes (6 strings) Checkbox labels: - `app/commands/cmd_mask_by_color.cpp`: "&Preview" - `app/ui/context_bar.cpp`: "Contiguous", "Pixel-perfect", "Auto Select Layer" -- `app/commands/filters/filter_window.cpp`: "&Tiled" +- `app/commands/filters/filter_window.cpp`: "&Tiled", "&Preview" (m_tiledCheck, m_showPreview members) -### Menu Items (10+ strings) +### Menu Items (30+ strings) Menu and context menu items: - `app/ui/editor/editor.cpp`: "Play Once", "Rewind on Stop" - `app/app_menus.cpp`: "WARNING!", "You should update your customized gui.xml file to the new version to get", "the latest commands available.", etc. +- `app/ui/brush_popup.cpp` (lines 158-161): + - "Save Brush Here" + - "Locked" + - "Delete" + - "Delete All" +- `app/ui/color_wheel.cpp` (lines 320-328) - Color harmony options: + - "Discrete" + - "Without Harmonies" + - "Complementary" + - "Monochromatic" + - "Analogous" + - "Split-Complementary" + - "Triadic" + - "Tetradic" + - "Square" +- `app/ui/data_recovery_view.cpp` (lines 102-103): + - "Raw Images as Frames" + - "Raw Images as Layers" +- `ui/entry.cpp` (lines 787-789) - Text entry context menu: + - "Cut" + - "Copy" + - "Paste" ### Combo Box Items (90+ strings) Dropdown menu options across many dialogs: @@ -159,3 +193,33 @@ These strings were identified as internal and do NOT need internationalization: 3. Some combo box items contain technical color channel names (R, G, B, A, K) which may or may not need translation depending on localization policy. 4. Status bar format strings include printf-style placeholders (%s, %d) which should be preserved in translations. +--- + +## Update History + +### Update 2026-04-15 +Added 25+ strings that were missed in the initial analysis: + +**New Categories/Strings Added:** +1. **Alert::show calls** (1 string): + - `base/launcher.cpp`: Windows file open error message + +2. **MenuItem declarations** (18 strings): + - `app/ui/brush_popup.cpp`: 4 brush menu items + - `app/ui/color_wheel.cpp`: 9 color harmony menu items + - `app/ui/data_recovery_view.cpp`: 2 import options (already partially listed) + - `ui/entry.cpp`: 3 text entry context menu items (Cut, Copy, Paste) + +3. **Member variable initializations** (6+ strings): + - `app/ui/data_recovery_view.cpp`: m_openButton, m_deleteButton (conditional strings) + - `app/ui/color_popup.cpp`: m_maskLabel + - `app/ui/devconsole_view.cpp`: m_textBox welcome message, m_label + - `app/ui/status_bar.cpp`: m_button text + - `app/commands/filters/filter_window.cpp`: m_showPreview + - `app/ui/hex_color_entry.cpp`: m_label + +These patterns were identified through additional analysis focusing on: +- Member variable initializations (`: m_variable("text")` pattern) +- Local MenuItem/AppMenuItem declarations +- Alert::show() calls without i18n() wrappers +