Far-Beyond-Pulsar/Pulsar-Native
Plugin vendor crates lack any translation support (~300+ hardcoded English strings)
Aperta
#480 aperta il 29 lug 2026
difficulty: easyenhancementgood first issuehelp wantedpriority: high
Metriche repository
- Star
- (348 stelle)
- Metriche merge PR
- (Metriche PR in attesa)
Descrizione
Summary
All 6 plugin vendor crates have zero translation support — no rust-i18n dependency, no t!() calls, no locale files. Collectively they contain ~300+ hardcoded English UI strings that cannot be localized.
This was previously tracked in #63 ("We need a way for plugin UI to support localization") which was closed, but the underlying gap remains.
Affected crates and estimated hardcoded strings
| Crate | Est. Strings | Key examples |
|---|---|---|
blueprint_editor |
~100+ | Toolbar (Save, Compile, Debug), palette search, properties panel, overlay zoom/debug, prefab/event/macro panels |
shader_editor |
~50+ | Toolbar (Save, Compile, Reload), panel titles, palette, properties, compilation messages, overlay zoom |
table_editor |
~30+ | Query editor toolbar (Execute, Clear, Export CSV/JSON), row actions (Add, Duplicate, Delete) |
Common patterns
All crates hardcode strings via these patterns:
.child("English text")— text nodes.tooltip("English text")— button tooltips.label("English text")— button labels.placeholder("English text")— input placeholders.title(...)returning"English text"— panel titlesformat!("English text {}", value)— dynamic strings (zoom %, counts, etc.)PluginMetadata/FileTypeDefinitionfields — plugin names, descriptions, categories
Additionally, "Editor not available" is a shared fallback string duplicated across multiple plugins.
Suggested approach
- Establish a plugin i18n pattern — either each plugin crate vendors its own
locales/+rust_i18n::i18n!(), or a shared mechanism via a plugin SDK crate - Add
rust-i18ndependency to each plugin crate'sCargo.toml - Create
locales/en.ymlfor each crate with all keys - Replace all hardcoded strings with
t!("Key.Name")calls - Add locale files for other supported languages