Skip to content

Atributos de extracción (ES)

Esta página explica los atributos relacionados con extracción disponibles en Hyper PO Localization.

Archivo fuente:

  • Runtime/Scripts/Attributes/LanguageManagerAttributes.cs

Atributos disponibles

  • [DontTranslate]
    • Propósito: excluye un campo de la extracción.
  • [Translatable]
    • Propósito: marca explícita de que un miembro está pensado para traducción.
    • Nota: en el extractor por defecto, los campos string y List<string> de assets traducibles ya se escanean, así que esta marca es opcional en ese caso.
  • [TranslationComment("...")]
    • Propósito: añade notas para traductores en las entradas extraídas.
  • [TranslationContext("...")]
    • Propósito: define el contexto gettext (msgctxt) de la entrada.
  • [TranslationPlural("...")]
    • Propósito: define la forma plural (msgid_plural) de la entrada.

Uso típico

csharp
using Hyper.POLocalization.Attributes;
using UnityEngine;

[CreateAssetMenu(menuName = "Game/Dialogue Entry")]
public class DialogueEntry : ScriptableObject
{
    [TranslationComment("Se muestra en el encabezado del inventario")]
    [TranslationContext("inventory")]
    [TranslationPlural("{0} apples")]
    public string singular = "{0} apple";

    [DontTranslate]
    public string debugOnly = "DEV_NOTE";
}

Notas prácticas

  • TranslationContext y TranslationPlural son más útiles cuando una clave necesita desambiguación o formas plurales en PO/POT.
  • Para claves runtime dinámicas (por ejemplo GetString(dynamicKey)), el parseo estático de fuentes no puede descubrirlas automáticamente. Añádelas en ManualTranslations cuando sea necesario.
  • El pipeline de extracción incluido lee metadata de campos en el flujo por defecto. Si tu proyecto depende de propiedades/métodos, usa tooling de extracción personalizado o adapta el extractor.