Recursos para traductores
Una referencia de XML, marcadores y revisión para traducir mods de S.T.A.L.K.E.R.
Si un mod guarda sus frases en archivos <string_table>, puedes traducir el contenido de <text> sin cambiar los identificadores ni los códigos que el juego necesita. Aquí tienes una ruta de trabajo y un repertorio de marcadores presentes en archivos de la trilogía clásica y en mods de Anomaly.
Para quienes traducen archivos de localización de los juegos clásicos y mods basados en X-Ray, incluido Anomaly. Comprueba siempre qué archivos y convenciones usa el mod concreto.
Encuentra el texto que se muestra en el juego
En Shadow of Chernobyl encontrarás archivos de cadenas bajo gamedata/config/text/eng/[1]. En los complementos de Anomaly reunidos aquí aparece gamedata/configs/text/eng/[2]. El idioma y la estructura del paquete pueden variar. Si no ves esos XML, pueden estar dentro de los archivos comprimidos del juego o del mod: extrae una copia a una carpeta de trabajo y conserva intacto el original.
No traduzcas todo lo que se llama <text>. En un archivo de localización, <text> suele contener la frase visible. En archivos de diálogos o tareas de gameplay/, un <text> puede contener un identificador que remite a esa frase[3]. Cambiarlo como si fuera prosa rompe la referencia. Busca el mismo ID en la tabla de cadenas y traduce allí.
Por ejemplo, si un diálogo usa <text>esc_saludo_01</text>, busca <string id="esc_saludo_01"> en los archivos de localización. El nombre del ejemplo es ilustrativo; la relación entre referencia y cadena es lo que debes comprobar en tu mod.
También puede haber referencias fuera de un XML de diálogos. En el ejemplo de un arma de Shadow of Chernobyl del tutorial Stalker Basic Tutorial de ModDB, description, inv_name e inv_name_short del archivo .ltx apuntan a IDs de la tabla de cadenas[4]. Si el problema está en el nombre de un objeto, busca primero el ID usado por su configuración.
Qué conservar en una tabla de cadenas
Este es un ejemplo mínimo de la estructura usada por los archivos de localización[1]. El ID del ejemplo es ilustrativo:
<?xml version="1.0" encoding="windows-1251"?>
<string_table>
<string id="ejemplo_saludo">
<text>Hola, stalker.</text>
</string>
</string_table>
| Parte | Función | Al traducir |
|---|---|---|
<string_table> | Agrupa las cadenas del archivo. | Conserva su apertura, cierre y posición. |
<string id="…"> | Asocia la frase con el identificador que invoca el juego o el mod. | Conserva el valor de id exactamente. |
<text>…</text> | Contiene la frase en una tabla de localización. | Traduce la prosa; conserva los marcadores internos. |
encoding="…" | Declara la codificación del XML. | Guarda con una codificación compatible con la que requiere ese archivo. No basta con cambiar el texto de la declaración. |
windows-1251 es la codificación de este ejemplo, no una regla para todos los mods. Si aparece un error de caracteres al guardar, compara la declaración con la codificación real del original antes de elegir otra.
Códigos y marcadores dentro del texto
Estos códigos aparecen dentro del texto localizado. No son palabras para traducir ni etiquetas XML. Conserva el código completo, la cantidad y el orden en que aparece; su disponibilidad depende del juego, la versión y el mod.
| Código visto en archivos reales | Qué hace | Cómo revisarlo |
|---|---|---|
\n | Salto de línea dentro de la frase. Aparece, por ejemplo, en textos de interfaz y descripciones de mods[5]. | Conserva los saltos del original y comprueba su posición; un salto visual en el editor no equivale a este código. |
%s | Inserta texto variable. Un mod de informes por PDA de Anomaly lo usa para nombre, zona y facción, en ese orden[2]. | Mantén la cantidad y el orden que espera ese mod. Lee la frase completa para que la gramática siga funcionando cuando se inserten valores reales. |
%d, %i, %.2f, %.0f | Especificadores numéricos presentes en archivos de los juegos clásicos y Anomaly[6][7][8]. | No cambies un especificador por otro ni lo separes. Conserva su orden y formato exactos. |
%c[d_orange], %c[pda_yellow] | Inician un color en ejemplos de XML de mods. Son nombres que aparecen en esos archivos[9]. | Conserva cada nombre y su posición relativa al texto resaltado; no sustituyas un nombre por otro sin comprobar el mod. |
%c[ui_gray_1], %c[ui_gray_2], %c[default] | Cambian el color de nuevo después de un tramo resaltado[5][9]. default aparece en el XML de un mod de Call of Pripyat[10]. | Revisa el inicio y el final del tramo coloreado; no elimines el código de retorno. |
%c[255,238,153,26] | Forma numérica de color presente en el XML de un mod de Call of Pripyat[10]. | Copia la secuencia numérica completa tal como aparece en el archivo. |
%% | Secuencia presente en cadenas de Anomaly que muestran un signo de porcentaje junto a un valor[8]. | Conserva ambos signos cuando aparezcan así en el original. |
$$ACTION_USE$$, $$ACTION_VOTE$$, $$ACTION_VOTE_YES$$, $$ACTION_VOTE_NO$$ | Marcadores de acciones en cadenas de interacción y votación de los juegos clásicos[6][11]. | Conserva signos, nombre y posición. No traduzcas el identificador de acción. |
$$ACTION_QUICK_USE_1$$ a $$ACTION_QUICK_USE_4$$, $$ACTION_SPRINT_TOGGLE$$ | Marcadores presentes en cadenas de interfaz de Anomaly 1.5.3[8]. | Mantén el nombre y el número de cada acción exactos; comprueba la etiqueta en su pantalla correspondiente. |
Paleta nombrada de Anomaly 1.5.3
El archivo gamedata/configs/ui/color_defs.xml del paquete base define los nombres y los valores RGB que se listan abajo. Hay una diferencia de notación que conviene respetar: el comentario de ese archivo escribe el formato como %cColorName, mientras que gamedata/configs/text/eng/_color_code.xml y cadenas localizadas muestran ejemplos como %c[d_orange]. Conserva la forma que use el archivo y la versión que estés traduciendo. Esta lista describe Anomaly 1.5.3; no garantiza que la misma paleta esté disponible en todos los juegos o mods[8].
Colores básicos
| Muestra y etiqueta | Muestra y etiqueta |
|---|---|
%c[red]RGB (255, 0, 0) | %c[orange]RGB (255, 150, 0) |
%c[green]RGB (0, 255, 0) | %c[blue]RGB (0, 0, 255) |
%c[white]RGB (255, 255, 255) | %c[black]RGB (0, 0, 0) |
%c[gray]RGB (128, 128, 128) | %c[light_gray]RGB (115, 114, 112) |
%c[tut_gray]RGB (100, 100, 100) | %c[dark_gray]RGB (80, 80, 80) |
%c[yellow]RGB (255, 255, 0) |
Familia d_
| Muestra y etiqueta | Muestra y etiqueta |
|---|---|
%c[d_red]RGB (204, 0, 51) | %c[d_red_1]RGB (230, 150, 30) |
%c[d_purple]RGB (93, 0, 116) | %c[d_orange]RGB (238, 153, 26) |
%c[d_cyan]RGB (153, 255, 255) | %c[d_blue]RGB (100, 100, 255) |
%c[d_green]RGB (51, 255, 102) |
Familia ui_
| Muestra y etiqueta | Muestra y etiqueta |
|---|---|
%c[ui_red]RGB (255, 0, 0) | %c[ui_green]RGB (0, 255, 0) |
%c[ui_blue]RGB (0, 0, 255) | %c[ui_white]RGB (255, 255, 255) |
%c[ui_black]RGB (0, 0, 0) | %c[ui_gray]RGB (128, 128, 128) |
%c[ui_yellow]RGB (255, 255, 0) | %c[ui_gray_1]RGB (170, 170, 170) |
%c[ui_gray_2]RGB (140, 140, 140) | %c[ui_gray_3]RGB (200, 200, 200) |
%c[ui_lime]RGB (135, 183, 116) | %c[ui_1]RGB (255, 255, 255) |
%c[ui_2]RGB (255, 232, 208) | %c[ui_3]RGB (128, 128, 128) |
%c[ui_4]RGB (189, 189, 224) | %c[ui_5]RGB (135, 123, 116) |
%c[ui_6]RGB (240, 217, 182) | %c[ui_7]RGB (238, 155, 23) |
%c[ui_8]RGB (216, 186, 140) | %c[ui_9]RGB (150, 150, 180) |
%c[ui_10]RGB (225, 225, 250) | %c[ui_mm_font]RGB (41, 27, 16) |
Familias pda_ y otros
| Muestra y etiqueta | Muestra y etiqueta |
|---|---|
%c[pda_white]RGB (250, 250, 250) | %c[pda_green]RGB (56, 209, 115) |
%c[pda_yellow]RGB (209, 209, 56) | %c[pda_red]RGB (238, 28, 36) |
%c[pda_blue]RGB (56, 166, 209) | %c[edit]RGB (207, 155, 80) |
Ejemplos de uso y vista previa
El bloque muestra la cadena con sus códigos; debajo, una aproximación visual de los tramos coloreados. La apariencia final depende del motor y de la interfaz del mod. En el original conserva exactamente el marcador de retorno que use el archivo.
%c[d_orange]Peligro%c[default] — texto normal
%c[pda_green]Objetivo actualizado%c[default]
%c[0,255,255,255]Texto blanco
Peligro — texto normal
Objetivo actualizado
Texto blanco
También aparecen colores con valores separados por comas, como %c[0,250,250,0] (amarillo) y %c[0,255,255,255] (blanco), en el archivo de referencia. Conserva toda la secuencia sin cambiar su orden. default no figura entre los 46 nombres de color: es un marcador de retorno que aparece en XML de mods; Anomaly documenta %cDEFAULT, sin corchetes, para volver al color predeterminado de un elemento de interfaz. Usa solo la forma exacta del archivo que estés traduciendo[5][8][9][10].
El nombre de un color, una variable entre llaves o un marcador añadido por un script puede pertenecer solo a un mod. Por ejemplo, Interactive PDA Reports usa {player}, {zone} y {victim} en algunas respuestas, pero su propio texto usa %s en otras[2]. Conserva lo que encuentres en el original y revisa la documentación del mod antes de aplicarlo a otras cadenas.
Caracteres especiales del propio XML
Estos sí pertenecen a XML, no a S.T.A.L.K.E.R. En el contenido de <text>, escribe & para mostrar & y < para mostrar <. XML también reconoce >, " y '; las comillas y el apóstrofo no necesitan escape dentro del texto ordinario, aunque sí pueden necesitarlo según el delimitador de un atributo. Un & suelto puede invalidar el archivo[12].
Cuando una tabla contiene #include
Algunos mods ponen una línea como #include "text\ukr\file1_includes.xml" dentro de <string_table>[13]. Es una inclusión de estilo C usada por ese paquete, no una etiqueta XML estándar ni una frase traducible. Mantén el nombre y la ruta del archivo incluido. Al preparar una copia para una herramienta XML, comprueba que las cadenas incluidas se resuelvan y que al guardar no desaparezcan.
La guía Resolve XML C-style includes de stalker-localization-toolbox muestra el archivo principal y el incluido antes y después de resolver la inclusión. Este paso solo tiene sentido cuando el mod trae esa sintaxis.
Revisión antes de instalar la traducción
- Compara origen y destino por ID. Cada
idy cada referencia de diálogo o tarea deben seguir apuntando a la misma cadena. Si falta texto en pantalla y aparece un identificador, empieza por ahí. - Compara los códigos. Cuenta los especificadores numéricos y de texto, saltos
\n, colores y acciones; verifica los tramos coloreados y el orden de los valores insertados. - Comprueba el XML y la codificación. Etiquetas cerradas, caracteres especiales escapados y archivo guardado con la codificación que espera el mod. Revisa el resultado guardado, no solo el texto del editor.
- Lee como jugador. Comprueba nombres propios con el glosario, frases cortadas, concordancia, tono del personaje y longitud de botones o avisos. Una traducción de DeepL o DeepSeek es una propuesta para revisar.
- Prueba en el juego. Abre la pantalla, diálogo, misión o entrada de PDA donde se usa la cadena; mira color, salto de línea y valor insertado. Conserva una copia del archivo que acabas de instalar para poder volver atrás.
Para aplicar esta referencia en el programa, consulta el manual de ZoneTraductor. Las preguntas frecuentes ayudan a diagnosticar errores y el corpus reúne los términos de trabajo.
Referencias
- Mod Wiki. (s. f.-c). Quest creation. Recuperado el 1 de octubre de 2026, de https://sdk.stalker-game.com/en/index.php?title=Quest_creation↩
- YeikoD. (s. f.). STALKER-Anomaly--InteractivePDAReports [Repositorio de código]. GitHub. Recuperado el 1 de octubre de 2026, de https://github.com/YeikoD/STALKER-Anomaly--InteractivePDAReports↩
- Mod Wiki. (s. f.-a). Dialogs. Recuperado el 1 de octubre de 2026, de https://sdk.stalker-game.com/en/index.php?title=Dialogs↩
- Arxae. (2007, 19 de mayo). Stalker basic tutorial. ModDB. https://www.moddb.com/tutorials/stalker-basic-tutorial↩
- HalavicH. (s. f.-a). Formatting of the text inside the tag [Ejemplo de stalker-localization-toolbox]. GitHub. Recuperado el 1 de octubre de 2026, de https://github.com/HalavicH/stalker-localization-toolbox/blob/develop/examples/text-entry-formatting.md↩
- S.T.A.L.K.E.R. Call of Pripyat @ Wiki. (s. f.-b). ui_st_mp.xml. Recuperado el 1 de octubre de 2026, de https://w.atwiki.jp/stalker_cop/pages/161.html↩
- valentinpi. (s. f.). Editing STALKER SOC save files. GitHub. Recuperado el 1 de octubre de 2026, de https://github.com/valentinpi/valentinpi.github.io/blob/master/posts/soc/soc.md↩
- seargedp. (2024, 18 de septiembre). STALKER Anomaly 1.5.3 [Paquete completo de descarga]. ModDB. https://www.moddb.com/mods/stalker-anomaly/downloads/stalker-anomaly-153↩
- ui_st_jamming.xml [Archivo XML, repositorio Divergent, revisión 6f19f2c]. (s. f.). Modding Lounge. https://files.moddinglounge.com/Rage/Divergent/src/commit/6f19f2c70f74a354f53a199b9dfb270bf5b48254/mods/Weapon%20Parts%20Overhaul/gamedata/configs/text/eng/ui_st_jamming.xml↩
- S.T.A.L.K.E.R. Call of Pripyat @ Wiki. (s. f.-a). SGM_personal_pda.xml. Recuperado el 1 de octubre de 2026, de https://w.atwiki.jp/stalker_cop/pages/121.html↩
- Mod Wiki. (s. f.-b). Logic. Recuperado el 1 de octubre de 2026, de https://sdk.stalker-game.com/en/index.php?title=Logic↩
- World Wide Web Consortium. (2008, 26 de noviembre). Extensible Markup Language (XML) 1.0 (Fifth Edition). https://www.w3.org/TR/xml/↩
- HalavicH. (s. f.-b). Resolve XML C-style includes [Ejemplo de stalker-localization-toolbox]. GitHub. Recuperado el 1 de octubre de 2026, de https://github.com/HalavicH/stalker-localization-toolbox/blob/develop/examples/c-style-xml-includes.md↩
Por 91v (Alberto Trejo) · Referencia para traducción de XML de los juegos clásicos y mods · Última revisión: 1 de octubre de 2026
