String Forge Translation Extension
English | Español
English
The official Visual Studio Code integration for the String Forge localization platform. Seamlessly manage, extract, and visualize your translation keys directly within your code editor.
This extension connects to your String Forge project, allowing you to bridge the gap between your source code and the localization platform.
Core Features
Extract Selected Text to Keys
- Select any hardcoded string in your source code, right-click, and choose "Send Selection to StringForge" (or use the sidebar button).
- The extension prompts for a translation key, automatically uploads the text and key to your String Forge project, and replaces the string in your code.
- Supports multiple replacement wrapper modes:
key: Just the raw key (e.g. "aboutPage.title")
t: Wrapped in a function call (e.g. t('aboutPage.title'))
translate: Wrapped in translate (e.g. translate('aboutPage.title'))
custom: Use any custom expression (e.g. i18n.t('aboutPage.title'))
JSDoc-Style Instant Hover Visualizer
- Hover over any translation key in your source files to view a tooltip showing all its localized values directly.
- Multi-Path & Glob Support: Scan specific directories or glob patterns (e.g.
src/ui/translations or src/screens/**/*.json) for translation files.
- Auto-Namespacing: Avoids collisions when duplicate filenames exist in subfolders (e.g.
Home/en.json and Profile/en.json map to Home.title and Profile.title).
- Automatic Refreshing: Automatically watches JSON files and reloads the cache on save.
Unused Translation Key Scanner
- Scan your codebase to identify translation keys that are defined in your localization files but never referenced in your code files.
- Clean up your workspace and remove dead keys.
Bulk Replacement Preview & Apply
- Review pending bulk translation changes before they are committed, and write them directly into your local JSON files.
Integrated Sidebar UI
- Access all features, commands, active selection states, literal details, unused keys reports, and extension configuration in a single collapsible pane.
Setup & Requirements
- Place a
stringforge.json file in the root directory of your workspace:
{
"projectId": "your-project-uuid",
"apiKey": "your-stringforge-export-api-key",
"outputDir": "src/ui/translations",
"baseUrl": "https://stringforge.yourdomain.com",
"includeFuzzy": false
}
- Set up your extension preferences in VS Code (
settings.json) or via the sidebar:
- Locales Paths (
string-forge-translation-extension.localesPaths): Array of search paths or glob patterns. Falls back to outputDir from stringforge.json if empty.
- Search Recursively (
string-forge-translation-extension.recursiveSearch): Scans subfolders recursively (ignored for glob patterns).
- Translate Functions (
string-forge-translation-extension.translationFunctions): Translation wrapper functions to check for hover tooltips. Default: ["t", "translate"].
- Hover Mode (
string-forge-translation-extension.hoverMode): functionOnly (default) or anyString.
Español
La integración oficial de Visual Studio Code para la plataforma de localización String Forge. Gestiona, extrae y visualiza tus claves de traducción sin salir de tu editor de código.
Esta extensión conecta tu proyecto local con la plataforma web de String Forge, facilitando la sincronización de literales entre el código y tus traducciones.
Características Principales
Extraer Texto Seleccionado a Claves
- Selecciona cualquier texto plano en tu código, haz clic derecho y elige "Send Selection to StringForge" (o usa el botón lateral).
- La extensión te pedirá una clave de traducción, subirá el texto y la clave directamente a la plataforma de String Forge, y reemplazará el texto en tu archivo de código.
- Soporta múltiples modos de reemplazo:
key: Inserta solo la clave (ej. "aboutPage.title")
t: Envuelve la clave en t() (ej. t('aboutPage.title'))
translate: Envuelve la clave en translate() (ej. translate('aboutPage.title'))
custom: Usa una función personalizada (ej. i18n.t('aboutPage.title'))
Visualizador de Traducciones en Hover (Estilo JSDoc)
- Pasa el cursor sobre cualquier clave en tus archivos de código y verás una ventana flotante con las traducciones cargadas en todos los idiomas.
- Soporte de Globs y Múltiples Rutas: Configura una lista de carpetas o patrones glob (ej.
src/ui/translations o src/screens/**/*.json).
- Espacio de Nombres Automático: Evita que archivos duplicados en subcarpetas se pisen entre sí (ej.
Home/en.json y Profile/en.json generarán Home.title y Profile.title).
- Auto-refresco: Recarga automáticamente la caché al guardar cambios en cualquier archivo JSON.
Escáner de Claves No Utilizadas
- Analiza tu proyecto para encontrar claves que existen en tus JSONs de traducción pero que ya no se usan en tus archivos de código.
- Mantén limpia la base de datos de literales de forma simple.
Previsualización y Reemplazo Masivo
- Previsualiza y aplica cambios masivos importados desde la plataforma web a tus JSONs locales.
Panel Interactivo en la Barra Lateral
- Controla comandos, revisa la selección de texto activa, visualiza detalles del literal seleccionado, gestiona reportes de claves sin usar y personaliza tus ajustes desde la pestaña de String Forge.
Configuración y Requisitos
- Añade un archivo
stringforge.json en la raíz de tu proyecto:
{
"projectId": "tu-project-uuid",
"apiKey": "tu-export-api-key-de-stringforge",
"outputDir": "src/ui/translations",
"baseUrl": "https://stringforge.tudominio.com",
"includeFuzzy": false
}
- Personaliza tus ajustes desde VS Code (
settings.json) o directamente en la barra lateral:
- Locales Paths (
string-forge-translation-extension.localesPaths): Lista de rutas o patrones glob de búsqueda. Si está vacía, utilizará el outputDir definido en stringforge.json.
- Search Recursively (
string-forge-translation-extension.recursiveSearch): Escaneo recursivo de subcarpetas (se ignora en patrones glob directos).
- Translate Functions (
string-forge-translation-extension.translationFunctions): Nombres de las funciones de traducción para activar el hover. Por defecto: ["t", "translate"].
- Hover Mode (
string-forge-translation-extension.hoverMode): functionOnly (por defecto) o anyString.
| |