Recopilación de recursos
La recopilación de recursos es la parte del proceso de localización que usa más recursos. Esto se debe a que, a menudo, la localización debe cargar recursos (y sus dependencias) para extraer los valores de texto localizables que contienen. Para minimizar el número de recursos que hay que cargar durante una recopilación, Unreal Engine (UE) añade una caché de recopilación al encabezado de los archivos de recursos (que se genera al guardar), lo que significa que solo es necesario cargar el encabezado del recurso para recopilar el texto.
Para ver la caché actual de un recurso, ve al menú Localización de recursos del explorador de contenido y selecciona Mostrar caché de localización.

Ciertos tipos de recursos (como los blueprints o los niveles con un blueprint de nivel que no esté vacío) no pueden generar una caché de recopilación debido al uso de código intermedio. Esto se debe a que UE recopila valores de texto del código intermedio, pero este es demasiado volátil para almacenarse en caché de forma fiable al guardar.
Durante la recopilación de recursos, se imprime en el registro un resumen de cuántos recursos no se han almacenado en la caché debido al código intermedio. Si la recopilación de recursos pasa la mayor parte del tiempo recopilando recursos que contienen código intermedio, plantéate mover el texto de esos recursos a tablas de cadenas para poder hacer referencia a esas entradas en su lugar.
Al recopilar recursos, solo se cargan los que contengan un valor de texto serializado que pase FText::ShouldGatherForLocalization. El texto sin variantes, vacío o que solo contiene espacios en blanco, así como las referencias a tablas de cadenas, no superan esta comprobación. Por este motivo, usar una tabla de cadenas puede mejorar el rendimiento de la recopilación de recursos.
Validación de cachés de recursos
Hay algunas utilidades disponibles para ayudar a notificar o reparar cachés de recopilación obsoletas o ausentes en los recursos de tu proyecto. Estas tardan un rato en ejecutarse, ya que tienen que cargar todos los recursos en la memoria. Sin embargo, pueden suponer un importante ahorro en el futuro si tienes un gran número de recursos sin almacenar en la caché. Estas utilidades se ejecutan como argumentos adicionales en el commandlet de localización normal.
Ejemplo:
-run=GatherText-config=Config/Localization/Game_Gather.ini
-ReportStaleGatherCache
Si estás actualizando un proyecto desde una versión de Unreal Engine anterior a la 4.20, deberías ejecutar al menos ReportStaleGatherCache para verificar que tu caché está actualizada, ya que las cachés obsoletas pueden causar problemas de localización.
Estas opciones no aparecen en el panel de control de localización. En su lugar, debes usar el archivo INI de recopilación generado por el panel para tu objetivo de localización y ejecutar el commandlet de localización manualmente.
| Argumento | Descripción |
|---|---|
ReportStaleGatherCache |
Genera un archivo StaleGatherCacheReport.txt junto con el manifiesto para tu objetivo de localización. Este archivo contiene una lista de los recursos que contienen una caché de recopilación obsoleta. |
FixStaleGatherCache |
Intenta reparar automáticamente los recursos que contengan una caché de recopilación obsoleta volviendo a guardarlos. |
FixMissingGatherCache |
En el caso de los recursos demasiado antiguos para tener una caché de recopilación, se intentará reparar automáticamente los recursos a los que les falte una caché de recopilación volviendo a guardarlos. |