2026-01-07 20:42:28 +01:00
|
|
|
|
# SPDX-License-Identifier: GPL-3.0-or-later
|
2026-01-07 20:22:49 +01:00
|
|
|
|
# i18n/en/noctua.ftl
|
|
|
|
|
|
#
|
2026-01-18 20:35:12 +01:00
|
|
|
|
# Localization strings for Noctua (English).
|
|
|
|
|
|
# Usage: fl!("message-id", arg1, arg2, ...)
|
|
|
|
|
|
#
|
|
|
|
|
|
# Positional arguments ($1, $2, ...) are used for variable content.
|
2026-01-07 20:22:49 +01:00
|
|
|
|
|
|
|
|
|
|
|
2026-01-18 20:35:12 +01:00
|
|
|
|
## Application
|
2026-01-07 20:22:49 +01:00
|
|
|
|
noctua-app-name = Noctua
|
2026-01-18 20:35:12 +01:00
|
|
|
|
noctua-app-description = A document and image viewer for the COSMIC desktop
|
|
|
|
|
|
|
2026-01-07 20:22:49 +01:00
|
|
|
|
|
|
|
|
|
|
## Main window
|
|
|
|
|
|
window-title = { $filename ->
|
2026-01-18 20:35:12 +01:00
|
|
|
|
[none] Noctua
|
|
|
|
|
|
*[some] { $filename } — Noctua
|
2026-01-07 20:22:49 +01:00
|
|
|
|
}
|
|
|
|
|
|
|
2026-01-18 20:35:12 +01:00
|
|
|
|
|
2026-01-07 20:22:49 +01:00
|
|
|
|
## Menu entries
|
Complete Clean Architecture migration
Phase 1-7: Full migration from src/app/ to Clean Architecture
BREAKING CHANGES:
- Removed src/app/ (old TEA-style implementation)
- Removed src/constant.rs (constants now local to modules)
- Removed deprecated canvas_to_image_coords functions
NEW STRUCTURE:
- src/ui/ - UI Layer (COSMIC interface)
- src/application/ - Application Layer (DocumentManager, Commands)
- src/domain/ - Domain Layer (Document types, Operations)
- src/infrastructure/ - Infrastructure Layer (Loaders, Cache, System)
FEATURES:
- DocumentManager as Single Source of Truth
- Command Pattern for all operations
- Model caching for render data (performance)
- Sync mechanism between DocumentManager and UI Model
- Wallpaper support (COSMIC, KDE, GNOME, feh)
- Thumbnail cache with disk persistence
IMPROVEMENTS:
- Warnings: 62 → 43 (-31%)
- Deprecated warnings: 2 → 0 (-100%)
- Code removed: src/app/ (~2000 lines), constant.rs, deprecated functions
- Better Locality of Reference (constants local to modules)
- Clean separation of concerns
- No circular dependencies
DOCUMENTATION:
- Updated AGENTS.md (100% migration status)
- Updated README.md (architecture section)
- Updated Workflow.md
- Added Migration-Plan.md with full completion summary
TESTS:
- All 41 tests passing
- Build successful (0 errors, 43 warnings)
- Release build verified
Migration Status: ✅ 100% Complete
2026-02-03 08:43:21 +01:00
|
|
|
|
menu-main = Menu
|
2026-01-07 20:22:49 +01:00
|
|
|
|
menu-file-open = Open…
|
|
|
|
|
|
menu-file-quit = Quit
|
|
|
|
|
|
menu-view-zoom-in = Zoom In
|
|
|
|
|
|
menu-view-zoom-out = Zoom Out
|
|
|
|
|
|
menu-view-zoom-reset = Reset Zoom
|
2026-01-18 20:35:12 +01:00
|
|
|
|
menu-view-zoom-fit = Fit to Window
|
2026-01-07 20:22:49 +01:00
|
|
|
|
menu-view-flip-horizontal = Flip Horizontally
|
|
|
|
|
|
menu-view-flip-vertical = Flip Vertically
|
|
|
|
|
|
menu-view-rotate-cw = Rotate Clockwise
|
|
|
|
|
|
menu-view-rotate-ccw = Rotate Counter-Clockwise
|
|
|
|
|
|
|
2026-01-18 20:35:12 +01:00
|
|
|
|
|
|
|
|
|
|
## Tooltips (for buttons and icons)
|
|
|
|
|
|
tooltip-nav-previous = Previous document
|
|
|
|
|
|
tooltip-nav-next = Next document
|
|
|
|
|
|
tooltip-nav-toggle = Toggle navigation panel
|
|
|
|
|
|
tooltip-zoom-in = Zoom in
|
|
|
|
|
|
tooltip-zoom-out = Zoom out
|
|
|
|
|
|
tooltip-zoom-fit = Fit to window
|
|
|
|
|
|
tooltip-rotate-ccw = Rotate counter-clockwise
|
|
|
|
|
|
tooltip-rotate-cw = Rotate clockwise
|
|
|
|
|
|
tooltip-flip-horizontal = Flip horizontally
|
|
|
|
|
|
tooltip-flip-vertical = Flip vertically
|
|
|
|
|
|
tooltip-info-panel = Toggle info panel
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## Footer / Status bar
|
|
|
|
|
|
status-zoom-fit = Fit
|
|
|
|
|
|
status-zoom-percent = { $percent }%
|
|
|
|
|
|
status-doc-dimensions = { $width } × { $height }
|
|
|
|
|
|
status-nav-position = { $current } / { $total }
|
Complete Clean Architecture migration
Phase 1-7: Full migration from src/app/ to Clean Architecture
BREAKING CHANGES:
- Removed src/app/ (old TEA-style implementation)
- Removed src/constant.rs (constants now local to modules)
- Removed deprecated canvas_to_image_coords functions
NEW STRUCTURE:
- src/ui/ - UI Layer (COSMIC interface)
- src/application/ - Application Layer (DocumentManager, Commands)
- src/domain/ - Domain Layer (Document types, Operations)
- src/infrastructure/ - Infrastructure Layer (Loaders, Cache, System)
FEATURES:
- DocumentManager as Single Source of Truth
- Command Pattern for all operations
- Model caching for render data (performance)
- Sync mechanism between DocumentManager and UI Model
- Wallpaper support (COSMIC, KDE, GNOME, feh)
- Thumbnail cache with disk persistence
IMPROVEMENTS:
- Warnings: 62 → 43 (-31%)
- Deprecated warnings: 2 → 0 (-100%)
- Code removed: src/app/ (~2000 lines), constant.rs, deprecated functions
- Better Locality of Reference (constants local to modules)
- Clean separation of concerns
- No circular dependencies
DOCUMENTATION:
- Updated AGENTS.md (100% migration status)
- Updated README.md (architecture section)
- Updated Workflow.md
- Added Migration-Plan.md with full completion summary
TESTS:
- All 41 tests passing
- Build successful (0 errors, 43 warnings)
- Release build verified
Migration Status: ✅ 100% Complete
2026-02-03 08:43:21 +01:00
|
|
|
|
status-separator = |
|
2026-01-18 20:35:12 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## Placeholders / Empty states
|
2026-01-14 17:16:25 +01:00
|
|
|
|
no-document = No document loaded
|
2026-01-07 20:22:49 +01:00
|
|
|
|
|
2026-01-18 20:35:12 +01:00
|
|
|
|
|
2026-01-07 20:22:49 +01:00
|
|
|
|
## Labels
|
2026-01-18 20:35:12 +01:00
|
|
|
|
label-zoom = Zoom
|
|
|
|
|
|
label-tools = Tools
|
|
|
|
|
|
label-crop = Crop
|
|
|
|
|
|
label-scale = Scale
|
|
|
|
|
|
label-page = Page
|
|
|
|
|
|
label-pages = Pages
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## Loading states
|
|
|
|
|
|
loading-metadata = Loading metadata…
|
|
|
|
|
|
loading-thumbnails = Loading { $current } / { $total }…
|
|
|
|
|
|
|
2026-01-07 20:22:49 +01:00
|
|
|
|
|
|
|
|
|
|
## Error messages
|
2026-01-18 20:35:12 +01:00
|
|
|
|
error-failed-to-open = Failed to open "{ $path }"
|
|
|
|
|
|
error-unsupported-format = Unsupported file format
|
|
|
|
|
|
error-no-image-loaded = No image loaded
|
|
|
|
|
|
|
Implement comprehensive metadata extraction for raster images with
EXIF support and display in the right panel.
New features:
- Extract basic metadata (filename, format, resolution, file size, color type)
- Parse EXIF data (camera, date, exposure, aperture, ISO, focal length, GPS)
- Display metadata in collapsible right panel (toggle with 'i' key)
- Auto-refresh metadata on document navigation
Changes by file:
Cargo.toml, Cargo.lock:
- Add kamadak-exif dependency for EXIF parsing
i18n/en/noctua.ftl:
- Add translation strings for all metadata labels
src/app/document/meta.rs:
- New module for metadata types (BasicMeta, ExifMeta, DocumentMeta)
- Extraction logic with EXIF parsing via kamadak-exif
- Helper methods for formatted display (resolution, file size, camera, GPS)
src/app/document/mod.rs:
- Re-export meta module
src/app/document/{raster,vector,portable}.rs:
- Add extract_metadata() method stubs (full impl for raster)
src/app/document/file.rs:
- Reset metadata on document change
src/app/message.rs:
- Add ToggleRightPanel and RefreshMetadata messages
src/app/model.rs:
- Add metadata: Option<DocumentMeta> field
- Add show_right_panel: bool field
src/app/update.rs:
- Handle panel toggle and metadata refresh
- Auto-refresh metadata on navigation when panel visible
src/app/view/panels.rs:
- Implement right_panel() with metadata display
- Conditional sections for basic info and EXIF data
src/app/view/canvas.rs:
- Integrate right panel into layout"
2026-01-10 11:46:07 +01:00
|
|
|
|
|
2026-01-14 17:16:25 +01:00
|
|
|
|
## Properties panel
|
|
|
|
|
|
panel-properties = Properties
|
2026-01-15 20:37:14 +01:00
|
|
|
|
panel-actions = Actions
|
2026-01-18 20:35:12 +01:00
|
|
|
|
|
2026-01-14 18:53:36 +01:00
|
|
|
|
meta-section-file = File Information
|
|
|
|
|
|
meta-section-exif = Camera Information
|
2026-01-18 20:35:12 +01:00
|
|
|
|
meta-section-image = Image Information
|
2026-01-14 18:53:36 +01:00
|
|
|
|
|
2026-01-18 20:35:12 +01:00
|
|
|
|
## File metadata
|
2026-01-14 18:53:36 +01:00
|
|
|
|
meta-filename = Name
|
2026-01-14 17:16:25 +01:00
|
|
|
|
meta-format = Format
|
2026-01-14 18:53:36 +01:00
|
|
|
|
meta-dimensions = Dimensions
|
|
|
|
|
|
meta-filesize = Size
|
|
|
|
|
|
meta-colortype = Color Type
|
|
|
|
|
|
meta-path = Path
|
2026-01-14 17:16:25 +01:00
|
|
|
|
meta-pages = Pages
|
|
|
|
|
|
meta-current-page = Current Page
|
|
|
|
|
|
|
2026-01-18 20:35:12 +01:00
|
|
|
|
## Image metadata
|
|
|
|
|
|
meta-width = Width
|
|
|
|
|
|
meta-height = Height
|
|
|
|
|
|
meta-depth = Bit Depth
|
|
|
|
|
|
|
2026-01-14 18:53:36 +01:00
|
|
|
|
## EXIF metadata
|
|
|
|
|
|
meta-camera = Camera
|
|
|
|
|
|
meta-datetime = Date Taken
|
|
|
|
|
|
meta-exposure = Exposure
|
|
|
|
|
|
meta-aperture = Aperture
|
2026-01-18 20:35:12 +01:00
|
|
|
|
meta-iso = ISO { $iso }
|
2026-01-14 18:53:36 +01:00
|
|
|
|
meta-focal = Focal Length
|
|
|
|
|
|
meta-gps = GPS Location
|
Implement comprehensive metadata extraction for raster images with
EXIF support and display in the right panel.
New features:
- Extract basic metadata (filename, format, resolution, file size, color type)
- Parse EXIF data (camera, date, exposure, aperture, ISO, focal length, GPS)
- Display metadata in collapsible right panel (toggle with 'i' key)
- Auto-refresh metadata on document navigation
Changes by file:
Cargo.toml, Cargo.lock:
- Add kamadak-exif dependency for EXIF parsing
i18n/en/noctua.ftl:
- Add translation strings for all metadata labels
src/app/document/meta.rs:
- New module for metadata types (BasicMeta, ExifMeta, DocumentMeta)
- Extraction logic with EXIF parsing via kamadak-exif
- Helper methods for formatted display (resolution, file size, camera, GPS)
src/app/document/mod.rs:
- Re-export meta module
src/app/document/{raster,vector,portable}.rs:
- Add extract_metadata() method stubs (full impl for raster)
src/app/document/file.rs:
- Reset metadata on document change
src/app/message.rs:
- Add ToggleRightPanel and RefreshMetadata messages
src/app/model.rs:
- Add metadata: Option<DocumentMeta> field
- Add show_right_panel: bool field
src/app/update.rs:
- Handle panel toggle and metadata refresh
- Auto-refresh metadata on navigation when panel visible
src/app/view/panels.rs:
- Implement right_panel() with metadata display
- Conditional sections for basic info and EXIF data
src/app/view/canvas.rs:
- Integrate right panel into layout"
2026-01-10 11:46:07 +01:00
|
|
|
|
|
2026-01-18 20:35:12 +01:00
|
|
|
|
## Action buttons
|
|
|
|
|
|
action-set-wallpaper = Set as Wallpaper
|
|
|
|
|
|
action-open-with = Open With…
|
|
|
|
|
|
action-show-in-folder = Show in Folder
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## Navigation panel (thumbnails)
|
|
|
|
|
|
nav-panel-title = Pages
|
|
|
|
|
|
nav-panel-loading = Loading { $current } / { $total }…
|
Complete Clean Architecture migration
Phase 1-7: Full migration from src/app/ to Clean Architecture
BREAKING CHANGES:
- Removed src/app/ (old TEA-style implementation)
- Removed src/constant.rs (constants now local to modules)
- Removed deprecated canvas_to_image_coords functions
NEW STRUCTURE:
- src/ui/ - UI Layer (COSMIC interface)
- src/application/ - Application Layer (DocumentManager, Commands)
- src/domain/ - Domain Layer (Document types, Operations)
- src/infrastructure/ - Infrastructure Layer (Loaders, Cache, System)
FEATURES:
- DocumentManager as Single Source of Truth
- Command Pattern for all operations
- Model caching for render data (performance)
- Sync mechanism between DocumentManager and UI Model
- Wallpaper support (COSMIC, KDE, GNOME, feh)
- Thumbnail cache with disk persistence
IMPROVEMENTS:
- Warnings: 62 → 43 (-31%)
- Deprecated warnings: 2 → 0 (-100%)
- Code removed: src/app/ (~2000 lines), constant.rs, deprecated functions
- Better Locality of Reference (constants local to modules)
- Clean separation of concerns
- No circular dependencies
DOCUMENTATION:
- Updated AGENTS.md (100% migration status)
- Updated README.md (architecture section)
- Updated Workflow.md
- Added Migration-Plan.md with full completion summary
TESTS:
- All 41 tests passing
- Build successful (0 errors, 43 warnings)
- Release build verified
Migration Status: ✅ 100% Complete
2026-02-03 08:43:21 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## Format panel
|
|
|
|
|
|
format-section-title = Paper Format
|
|
|
|
|
|
format-section-subtitle = Select paper size for export
|
|
|
|
|
|
orientation-section-title = Orientation
|