Appearance
Configuración de Poedit (ES)
Esta guía explica el flujo recomendado para usar Poedit con Hyper PO Localization.
Flujo recomendado (basado en plantilla POT)
- En Unity, selecciona assets traducibles.
- Ejecuta
Tools/Hyper PO Localization/Extract Strings.- También puedes lanzarlo desde el menú contextual de Project (clic derecho):
Assets/Hyper PO Localization/Extract Strings. - Revisa la Consola de Unity para ver el log resumen de extracción (conteos y ruta del manifiesto).
- También puedes lanzarlo desde el menú contextual de Project (clic derecho):
- Ejecuta
Tools/Hyper PO Localization/Create POT. - Abre:
Assets/StreamingAssets/Languages/<ProductName>.pot
- En Poedit, crea una traducción nueva desde esa plantilla POT.
- Guarda los archivos traducidos como:
Assets/StreamingAssets/Languages/<language_code>.po- Ejemplo:
es_ES.po
En runtime, los idiomas se cargan desde StreamingAssets/Languages.
Actualizar traducciones existentes
Cuando cambian los textos:
- Selecciona los asset(s) traducibles que cambiaron y luego ejecuta
Extract Strings. - Ejecuta
Update POT. - En Poedit, actualiza cada
.poexistente usando la nueva plantilla POT. - Guarda los
.poactualizados.
Checklist de configuración en Poedit
Verifica:
- Charset en
UTF-8. - Reglas de plural correctas para cada idioma.
- Rutas correctas según tu estructura de proyecto.
Flujo opcional (Poedit parseando fuentes)
Si prefieres que Poedit escanee archivos fuente generados:
- Carpeta:
Assets/HyperMegaPixel/POLocalization/Temp - Patrón:
*.php
Keywords a configurar en Poedit:
_pgettext:1c,2ngettext:1,2npgettext:1c,2,3
Flujo alternativo (escaneo directo de C#)
Si prefieres que Poedit escanee llamadas runtime en C#:
- Carpeta: tus carpetas de scripts de gameplay
- Patrón:
*.cs
Keywords a configurar en Poedit:
GetString:1GetStringContext:1c,2GetPlural:1,2GetPluralContext:1c,2,3
Importante:
- Recomendado: usar una sola fuente por proyecto de Poedit (escaneo C# o
Temp/*.php). Si las claves son idénticas, gettext las fusiona, pero al mezclar fuentes puede haber referencias ruidosas o casi-duplicados cuando difieren contexto/plural/escapado. - El parseo estático solo detecta argumentos literales. Ejemplo:
GetString("Quest Title")se detecta, peroGetString(dynamicKey)no. - Para claves dinámicas que no se pueden descubrir de forma estática, mantén un asset
ManualTranslations(Create/Hyper/Language/Manual Translations) e incluye esas cadenas ahí.
Captura de referencia: Paths y Keywords

Flujo "Update from Code" (Poedit)
Si sueles usar el botón Update from Code, este es el flujo recomendado:
- En Unity, ejecuta
Tools/Hyper PO Localization/Extract Strings.- También puedes lanzarlo desde el menú contextual de Project (clic derecho):
Assets/Hyper PO Localization/Extract Strings. - Revisa la Consola de Unity para confirmar el log resumen antes de
Update from Code.
- También puedes lanzarlo desde el menú contextual de Project (clic derecho):
- Abre tu
.poobjetivo en Poedit. - Pulsa
Update from Code. - Asegúrate de que Poedit escanee:
Assets/HyperMegaPixel/POLocalization/Temp- patrón
*.php
- Guarda el
.poactualizado.
Importante:
Update from Codesolo ve cadenas presentes en los.phpgenerados en ese momento.Extract Stringsdepende de la selección: solo exporta cadenas de los assets seleccionados en Unity.- Ejecuta siempre
Extract Stringsantes de actualizar, o Poedit puede omitir claves nuevas. - Si cambiaste ajustes de extracción (regex/types), primero regenera y luego actualiza.
Captura de referencia: Update from Code

Solución de problemas
HPO-016: no se encontró la carpeta activa de idiomas.HPO-015: no se encontró el archivo.posolicitado.- Si el POT se ve desactualizado: ejecuta
Extract Stringsantes deCreate POT/Update POT.