La localización de recursos te permite reemplazar por completo un recurso por otro en función de la variante idiomática.
Los recursos localizados se encuentran en carpetas específicas de cada variante idiomática en la carpeta L10N de la carpeta de contenido del proyecto. Por tanto, si tienes un recurso llamado /Game/MyFolder/MyAsset y quieres traducirlo al francés («fr»), entonces el recurso localizado sería /Game/L10N/fr/MyFolder/MyAsset.
El explorador de contenido cuenta con opciones que te ayudarán a gestionar los recursos localizados. Se encuentran en el submenú Localización de recursos. Para crear o gestionar recursos localizados usando las opciones del explorador de contenido, debes tener archivos LocRes disponibles para las variantes para las que estás localizando. Los recursos localizados están ocultos por defecto en el explorador de contenido. Haz clic en Ajustes > Mostrar contenido localizado para verlos.
Los recursos localizados no se recargan dinámicamente si se cambia de variante en tiempo de ejecución, ya que la recarga dinámica de contenido solo está disponible en el editor. Si pretendes admitir el cambio dinámico de variantes en tiempo de ejecución, es posible que tengas que reiniciar el juego para que se apliquen los cambios. Al reiniciar el juego, se purgan y se recargan los recursos localizados.
Los recursos que contengan código intermedio (como los blueprints) no se pueden localizar, ya que se pueden naturalizar en C++. Estos recursos no se pueden reemplazar en tiempo de ejecución.
Localización de fuentes
La localización de fuentes puede realizarse de dos maneras:
-
Puedes usar fuentes compuestas para producir un único recurso de fuente que funcione en todas las variantes.
-
Puedes usar la localización de recursos para producir recursos de fuentes independientes para cada variante.
La segunda opción solo se recomienda si tu proyecto no permite el cambio dinámico de variantes en tiempo de ejecución y no muestra ningún texto definido por el usuario sin restricciones (como los nombres de los jugadores o una ventana de chat). En el resto de casos, la primera opción proporcionará un mejor resultado.
Localización de diálogos
La localización de los diálogos se centra en el tipo de recurso Onda de diálogo, que permite definir texto hablado (y, opcionalmente, anular subtítulos) que se recopilan en el paso de recopilación estándar del proceso de localización.
Las ondas de diálogo no son un sistema completo de diálogo o conversación. Simplemente proporcionan una forma de decir «La línea X se habla de la persona A a las personas B, C o D» usando una onda de sonido designada para cada combinación. El número de ondas de sonido únicas que necesitas para cada idioma puede variar en función de las reglas del idioma. No obstante, este aspecto se refleja en la onda de diálogo. Como resultado, solo necesitas reproducirlo en el contexto correcto y obtendrás el resultado localizado con precisión.
Unreal Engine (UE) también proporciona una serie de utilidades para ayudar en la grabación y gestión de diálogo localizados. No es necesario usar estas utilidades para localizar diálogo en UE, pero automatizan gran parte del trabajo.
Si usas estas utilidades, generarán un archivo cultural adicional por variante en la carpeta de contenido de tu objetivo de localización, llamado {TargetName}Dialogue.csv. Las hojas de diálogo son archivos CSV personalizados que contienen las líneas de diálogo por variante recopiladas de tus recursos por el proceso de localización. Se generan en el paso de exportación de la localización de la secuencia de comandos y se reimportan a los archivos en el paso de importación de la localización de la secuencia de comandos.
Ten en cuenta la siguiente información sobre las hojas de diálogo:
-
El campo SpokenDialogue se puede copiar y editar durante la grabación y reimportar como la traducción actual.
-
El campo AudioFileName define el archivo WAV por variante que debería tener el audio grabado para la línea de diálogo (ver más abajo).
Una vez grabado el audio de estas hojas de diálogo, el archivo de audio debería llamarse tal y como se indica en el campo AudioFileName y guardarse en una subcarpeta de variante idiomática (por ejemplo, MyRecordedAudio/fr). A continuación, se puede importar a UE mediante el paso de importación del diálogo para producir el diálogo y los recursos de onda de sonido correctos (esto se puede hacer de forma iterativa a medida que haya nuevo audio disponible).
El formato predeterminado de los nombres de archivo de diálogo garantiza la unicidad, pero no es muy legible para los usuarios. Se puede cambiar usando el ajuste Formato del archivo de diálogo en la sección Audio de la configuración del proyecto. Debes decidir el formato del nombre de archivo que vas a utilizar antes de empezar a grabar audio, ya que será difícil cambiarlo más adelante.
Debido al coste relativamente alto de traducir diálogo en comparación con traducir texto, se espera que la localización de los diálogos comience una vez finalizada la secuencia de comandos y siga este proceso de proceso de trabajo.
-
El diálogo nativo se define para una línea de diálogo.
-
El diálogo nativo se graba y posiblemente se edite (potencialmente con varias iteraciones). Si se edita, el diálogo nativo editado se vuelve a importar y está listo para su traducción.
-
El diálogo nativo se traduce como texto, listo para producir diálogo localizado.
-
El diálogo localizados se graba y posiblemente se edite (potencialmente con varias iteraciones). Si se edita, el diálogo localizado se reimporta para garantizar la precisión de los subtítulos.
Si se modifica el texto nativo durante este proceso, se espera que se reinicie el proceso de trabajo desde el paso 1.
Creación de grupos de recursos
Los grupos de recursos te permiten crear conjuntos de clases de recursos a los que se les puede asignar una variante diferente a la del resto del proyecto.
Un caso de uso común sería permitir que el jugador elija tener audio en un idioma pero todo lo demás en otro idioma. Para ello, define un nuevo grupo de recursos llamado Audio y configúralo para que use las clases de audio en tu proyecto (normalmente, irá dentro de tu archivo DefaultGame.ini):
[Internationalization.AssetGroupClasses]
+Audio=SoundWave
+Audio=DialogueWave
Ahora puedes asignar una variante única a este grupo de recursos sin que el resto del proyecto se vea afectado. Consulta la página Gestión de la variante activa para obtener más información.