Communitygithub.com

Zerozking556/wuxia-thai-subtitles-skill

Skill de Codex para crear subtítulos en tailandés para videos chinos de wuxia, xianxia y fantasía histórica.

¿Qué es wuxia-thai-subtitles-skill?

Este skill está diseñado para agentes de IA (como Codex) que necesitan traducir diálogos de series y películas chinas de los géneros wuxia (artes marciales), xianxia (cultivación inmortal) y fantasía histórica a subtítulos en tailandés (thai). El skill ofrece tres modos de trabajo para adaptarse a diferentes fuentes de video: Modo A (video chino sin subtítulos: transcribe con ASR y traduce), Modo B (video con subtítulos en inglés: usa el inglés como guía pero verifica con el audio chino) y Modo C (video con subtítulos en chino: traduce directamente del chino y mantiene los subtítulos originales en el frame). Es compatible con plataformas como Codex y cualquier flujo de subtitulado que trabaje con archivos SRT, ASS y VTT. La utilidad principal radica en su rigor terminológico: define glosarios de términos específicos del género (rangos, sectas, técnicas, títulos de cortesía), mantiene consistencia en nombres propios y pronombres, y aplica reglas de renderizado para evitar problemas como superposición, texto cortado o fuentes incorrectas. Además, incluye pasos estrictos de control de calidad (preflight, QC, QA) para garantizar que no falten diálogos y que los subtítulos estén sincronizados correctamente. El skill también aborda la eliminación de subtítulos hardcoded en otros idiomas (inglés, etc.) mediante técnicas como recorte, inpainting temporal o máscaras, siempre preservando la calidad del video original. Es una herramienta integral para cualquier flujo de trabajo profesional de subtitulado en tailandés para contenido chino de artes marciales.

Compatible con~Claude Code✓Codex CLI~Cursor
npx skills add Zerozking556/wuxia-thai-subtitles-skill

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

Subtítulos Tailandeses para Wuxia

Objetivo

Traducir diálogos chinos de artes marciales (wuxia) a subtítulos en tailandés que sean concisos, naturales y que conserven la atmósfera del mundo marcial, utilizando terminología, nombres, títulos y pronombres de manera consistente a lo largo de la serie.

Seleccionar el modo de trabajo

Verifique primero la fuente y luego elija solo un modo como ruta principal:

  • Modo A — Chino sin subtítulos: Transcriba el chino del video, luego compare las palabras chinas con el glosario de términos específicos antes de traducir al tailandés.
  • Modo C — Con subtítulos en chino: Use los subtítulos en chino como fuente de traducción, mantenga los subtítulos en chino en la imagen y coloque los subtítulos en tailandés sin que se superpongan.
  • Modo B — Con subtítulos en inglés: Use el tiempo y el significado de los subtítulos en inglés, pero verifique las palabras clave con el audio o el guion chino antes de elegir el término tailandés.

Si hay subtítulos en chino, use primero el Modo C, incluso si también hay subtítulos en inglés. Si solo hay audio chino y subtítulos en inglés, use el Modo B, tomando el audio chino como principal y los subtítulos en inglés como ayuda.

Preparación de la imagen — Verificar subtítulos existentes y elegir una política

Revise el video antes de cada traducción y clasifique el idioma y el tipo de subtítulo antes de comenzar:

  • Sin subtítulos: No es necesario crear un master limpio. Puede transcribir, traducir y colocar los subtítulos en tailandés en la posición estándar directamente.

  • Con subtítulos en chino: No elimine los subtítulos en chino. Úselos como fuente para ayudar en la traducción y medir el cuadro real. Luego coloque los subtítulos en tailandés en un área segura que no se superponga con los subtítulos en chino, créditos, etiquetas o rostros.

  • Con subtítulos en inglés u otro idioma: Lea references/subtitle-removal.md y elimine u oculte solo cuando sea la política del proyecto.

  • Subtítulo soft: Es una pista de subtítulo que se puede activar o desactivar. Mantenga la pista en chino; corte o no asigne solo las pistas en inglés u otro idioma que deban eliminarse. No toque los píxeles de la imagen.

  • Subtítulo hardcoded: El texto está incrustado en la imagen. Guarde el archivo original y cree un archivo nuevo. No sobrescriba el original.

Para subtítulos hardcoded en inglés u otro idioma que deban eliminarse, elija un método en orden:

  1. Use un archivo original limpio o una versión sin subtítulos, si se puede encontrar de una fuente a la que el usuario tenga derecho.
  2. Recorte solo cuando los subtítulos estén en las barras negras o en los bordes de la imagen que no tengan contenido importante, luego escale / rellene (pad) de manera constante en todo el metraje.
  3. Use máscara e inpainting temporal cuando los subtítulos cubran la imagen real, rastreando la posición entre fotogramas y suavizando los bordes de la máscara.
  4. Use la reparación de fotogramas adyacentes cuando el fondo sea estático y se haya verificado que no hay objetos en movimiento.
  5. Use una barra de desenfoque o cubrimiento como último recurso y notifique al usuario de antemano si el resultado será visiblemente notorio.

No use una máscara del mismo tamaño para todo el metraje sin verificar las escenas, porque la posición de los subtítulos de dos líneas, las etiquetas de traducción y los objetos en primer plano pueden cambiar.

Cuando no haya subtítulos o cuando se conserven los subtítulos en chino originales, omita el paso de eliminación de imagen e incruste los subtítulos en tailandés en la última pasada de codificación. Cuando sea necesario eliminar los subtítulos en inglés u otro idioma, cree un master limpio o un proxy limpio y combine la incrustación de subtítulos en tailandés con la codificación final de la imagen para minimizar la pérdida de calidad.

Pasos previos comunes a la traducción

  1. Verifique el archivo original, el idioma hablado, el formato y el idioma de los subtítulos, el tiempo, la integridad de las pistas de audio y la política de conservar o eliminar subtítulos originales.
  2. Lea references/wuxia-glossary.md para términos chinos, y lea references/english-chinese-bridge.md cuando haya subtítulos en inglés.
  3. Cree un glosario del proyecto antes de traducir largas secciones, registrando al menos:
    • Nombres de personajes y apodos
    • Sectas, facciones, clanes, familias y la corte imperial
    • Rangos, títulos y relaciones entre personajes
    • Nombres de técnicas, armas, manuales, medicinas y lugares
    • Pronombres y formas de tratamiento que usa cada personaje
  4. Determine la política de nombres antes de comenzar: usar nombres tailandeses oficiales, versiones de traducciones antiguas, o transliteración del mandarín.
  5. Marque las palabras que aún no estén seguras como pendiente de confirmación. No adivine y luego las use como confirmadas.

Modo A — Chino sin subtítulos

  1. Transcriba el chino con tiempo, eligiendo claramente el idioma chino y conservando el texto original.
  2. Divida las oraciones según el significado y el ritmo del habla. No corte nombres o expresiones en medio de una unidad.
  3. Vuelva a escuchar los segmentos donde ASR no esté seguro, enfocándose en nombres de personas, sectas, técnicas, números, negaciones y términos de parentesco dentro de la secta.
  4. Compare el texto chino con references/wuxia-glossary.md y el glosario del proyecto.
  5. Traduzca basándose en el significado, la intención y la posición social del personaje. No traduzca palabra por palabra del chino.
  6. Guarde las señales (cues) que no se escuchen claramente en una lista de QA con indicación de tiempo y la(s) palabra(s) china(s) probable(s).
  7. Cree los subtítulos en tailandés manteniendo el ritmo del chino, luego realice la QA final.

No traduzca basándose en texto ASR que tenga nombres propios incorrectos sin verificar el audio, porque un solo error hará que el nombre sea incorrecto en toda la serie.

Modo C — Con subtítulos en chino

  1. Use el texto y el tiempo de visualización de los subtítulos en chino como plantilla principal uno a uno: cuando el subtítulo en chino comienza, el subtítulo en tailandés debe comenzar al mismo tiempo, y el subtítulo en tailandés debe desaparecer junto con el chino. No use el tiempo de ASR en lugar del tiempo del subtítulo en chino.
  2. Si es un subtítulo soft, copie directamente el start y end de cada señal china; si es hardcoded, verifique los fotogramas para encontrar el primer fotograma donde aparece el chino y el primer fotograma donde desaparece, y use el mismo margen de tiempo para el tailandés. El margen de error no debe exceder 1 fotograma.
  3. Traduzca según las señales chinas sin combinar varias señales chinas en una sola señal tailandesa larga. Si el tailandés no se puede leer a tiempo, acorte el texto o divida según el cambio de la señal china. No alargue la señal tailandesa más allá del tiempo que muestra el chino.
  4. Use el audio/ASR solo para corregir caracteres chinos mal OCR y verificar la cobertura. Si el habla existe pero el subtítulo en chino falta, agregue una señal tailandesa como manual_missing_chinese_cue según el tiempo del audio, y regístrela en el informe de QA.
  5. Traduzca todas las señales de diálogo, excepto las letras de los temas de apertura/cierre que se registren como segmentos a omitir.
  6. Mantenga los subtítulos en chino originales en el video y mida el cuadro delimitador (bounding box) del chino, los créditos y las etiquetas para determinar el área segura para los subtítulos en tailandés.
  7. Ajuste la posición de los subtítulos en tailandés por segmento cuando el chino o los créditos cambien de posición. No use una sola posición para todo el metraje si se produce superposición.
  8. Realice una verificación de cobertura comparando las señales chinas, el habla y las señales tailandesas para confirmar que no falte ningún diálogo.

Modo B — Con subtítulos en inglés

  1. Mantenga los números y tiempos originales de SRT/ASS/VTT como valor predeterminado.
  2. Use los subtítulos en inglés como estructura de significado y ritmo. No considere los términos en inglés como nombres canónicos definitivos.
  3. Escuche el audio chino o use el guion/subtítulos chinos para encontrar la palabra china original de nombres, rangos, sectas, técnicas, armas, expresiones y sistemas de poder.
  4. Compare inglés → posible palabra china → tailandés usando references/english-chinese-bridge.md.
  5. Resuelva ambigüedades basándose en el contexto, como master, sect, clan, cult, chief, elder, senior, energy, cultivation y realm.
  6. Verifique la información que los subtítulos en inglés pueden omitir o generalizar, especialmente género, orden generacional, negaciones, números, nombres de movimientos y niveles de cortesía.
  7. Traduzca al tailandés basándose en el significado del guion chino confirmado, usando los subtítulos en inglés como ayuda para el contenido y el tiempo.
  8. Si no hay audio o guion chino para verificar, marque el estado como inferido del inglés en el glosario y el informe de QA. No informe como confirmado con el chino.

Los subtítulos en inglés pueden combinar dos oraciones chinas o dividir una sola oración en varias señales. Verifique el significado entre señales antes de traducir, pero no cambie el tiempo sin necesidad.

Principios de selección de palabras

Palabras generales vs. nombres propios

  • Traduzca palabras generales al tailandés: 江湖 → ยุทธภพ, 内功 → กำลังภายใน
  • Translitere nombres de personas, sectas, técnicas y lugares específicos según el mandarín cuando no haya un nombre tailandés oficial.
  • Use nombres tailandeses de titulares de derechos de autor o versiones de publicación oficiales primero, si el usuario proporciona la referencia.
  • No alterne entre traducción y transliteración a mitad de la serie. Por ejemplo, no use tanto ตันเถียน como จุดรวมลมปราณ para la misma cosa sin una razón.
  • Si un término tiene dos significados, elija según el papel en la historia y registre la palabra elegida.

Distinguir tipos de organizaciones

  • 门派 → สำนัก
  • 帮 → พรรค o แก๊ง según el nivel de lenguaje y la época.
  • 教 → นิกาย cuando sea una religión o secta; use พรรคมาร solo cuando el contexto lo indique intencionalmente.
  • 宗 → นิกาย, สำนัก o ตระกูล según la estructura organizativa.
  • 宫 → ตำหนัก
  • 山庄 → คฤหาสน์ o สำนัก...จวง según el nombre oficial.
  • 镖局 → สำนักคุ้มภัย

Distinguir rangos a menudo confundidos

  • 掌门 → เจ้าสำนัก
  • 门主 / 帮主 / 教主 / 宗主 → ประมุข... junto con el tipo de organización.
  • 盟主 → ประมุขพันธมิตรยุทธ์
  • 长老 → ผู้อาวุโส
  • 堂主 → หัวหน้าหอ
  • 舵主 → หัวหน้าสาขา
  • 护法 → ผู้พิทักษ์

No traduzca todos los cargos como ประมุข, porque se perdería la jerarquía de poder.

Pronombres y nivel de lenguaje

  • Mantenga la relación y el estatus claros por encima de conservar cada palabra china.
  • Use ข้า / เจ้า / ท่าน como valores predeterminados para el discurso del mundo marcial.
  • Use กระหม่อม / หม่อมฉัน / ฝ่าบาท / พระองค์ solo en contextos de la corte imperial.
  • Use อาตมา para monjes budistas, y ข้านักพรต o formas adecuadas para personajes taoístas.
  • Use ผู้น้อย / ผู้เยาว์ cuando el hablante se rebaja ante un superior.
  • Use ผู้เฒ่า cuando un personaje mayor se refiere a sí mismo y el tono lo respalda.
  • Puede omitir repeticiones de tratamientos cuando la línea esté muy apretada, pero no haga que sea imposible saber quién habla con quién.
  • Evite tailandés arcaico innecesario como ไฉน, บัดเดี๋ยวนี้, หาได้ไม่. Úselo solo cuando se adapte al tono de esa versión.

Nombres de técnicas y movimientos

  • Traduzca nombres que transmitan una imagen o función clara, como 降龙十八掌 → สิบแปดฝ่ามือพิชิตมังกร.
  • Mantenga la misma estructura de nombres repetidos en todos los episodios.
  • Use วิชา para sistemas de entrenamiento, เพลง... para series de movimientos continuos, กระบวนท่า para movimientos específicos, y เคล็ดวิชา para principios de entrenamiento interno.
  • Si un nombre es único y aún no está seguro, coloque una traducción temporal en el glosario del proyecto con el estado pendiente de confirmación en lugar de cambiar entre escenas.

Distinguir Wuxia de Xianxia

  • Use กำลังภายใน, วรยุทธ์, ลมปราณ, ยุทธภพ para historias de artes marciales (wuxia).
  • Use พลังปราณ, ตบะ, ผู้บำเพ็ญ, แก่นปราณ, ข้ามด่านเคราะห์, เซียน cuando la historia tenga un sistema claro de cultivación inmortal (xianxia).
  • No use ตบะ en lugar de 功力 en historias generales de wuxia.
  • No traduzca 走火入魔 automáticamente como กลายเป็นมาร. Use ธาตุไฟเข้าแทรก cuando se refiera a los síntomas de practicar una técnica incorrectamente.

Formato de subtítulos en tailandés

  • Antes de crear ASS o renderizar, debe leer references/rendering-guardrails.md y usar las reglas allí como puerta de renderizado. No adivine el tamaño de fuente basándose en constantes de proyectos anteriores.
  • Use texto de subtítulo en tailandés de color amarillo como valor predeterminado (#FFFF00; ASS &H0000FFFF) con un borde negro sólido para que sea legible tanto en escenas oscuras como claras, a menos que el usuario especifique otro color.
  • Use amarillo para archivos ASS y videos con subtítulos quemados (burned-in). Los archivos SRT son solo texto, por lo que el color no está garantizado cuando se abren en un reproductor.
  • Calcule el tamaño inicial a partir de la imagen de salida real después de rotación/escala: round(min(display_height × 0.042, display_width × 0.046)) y luego fíjelo (clamp) a 28–96; ejemplo para 1920×1080, use aproximadamente 45, no 52 o 120 automáticamente.
  • Defina el borde negro como clamp(round(font_size × 0.07), 2, 6) y use una sombra (shadow) de 0–1; no haga el borde tan grueso que el texto parezca más grande que su tamaño real.
  • Establezca ASS PlayResX/PlayResY igual a la imagen de salida, ScaledBorderAndShadow: yes, Timer: 100.0000, WrapStyle: 0, BorderStyle=1 y verifique que la fuente tenga realmente glifos tailandeses.
  • Use estilos con nombre (named styles) para diferentes posiciones en lugar de anulaciones por señal (per-cue override). No use \fs, \fscx, \fscy, \pos, \move, \t, \fad, \fade o \alpha en el Diálogo sin una razón y su verificación, porque puede hacer que algunas señales se vean grandes, salten o parezcan congeladas.
  • Limite a no más de 2 líneas por señal.
  • Divida líneas según frases y significado. No corte nombres, títulos o expresiones en medio de una unidad.
  • Use oraciones cortas y elimine palabras superfluas que el chino usa para enfatizar, pero conserve la información importante.
  • Evite paréntesis explicativos de términos en la pantalla. Elija palabras tailandesas comprensibles o cree un glosario separado.
  • Use el símbolo … solo para discursos entrecortados, y — solo para interrupciones cuando el formato de archivo lo admita.
  • No agregue maldiciones o emociones que no estén en el original.
  • No haga que los personajes hablen de manera demasiado moderna para la época, a menos que el original tenga intencionalmente un tono cómico contemporáneo.

Preflight de renderizado — Prevenir fuentes grandes y subtítulos congelados

Realice este paso después de crear SRT/ASS y antes del renderizado completo. No lo omita:

  1. Verifique que SRT y ASS usen el mismo inventario de señales: el número de señales, el texto, la hora de inicio y fin, y el orden deben coincidir según la política del modo.
  2. Ejecute python scripts/subtitle_preflight.py <thai.ass> --compare <thai.srt> --width <display_width> --height <display_height> --fps <fps> --media-duration <seconds> --strict --json <report.json> y ejecútelo nuevamente con el SRT.
  3. Bloquee el trabajo cuando encuentre tiempo end ≤ start, señales que excedan el final del video, señales superpuestas en el mismo estilo/capa, señales con duración superior a 8 segundos aun sin verificar, anulaciones de eventos riesgosas, PlayRes incorrecto, Timer diferente de 100, o fuente demasiado grande fuera del rango calculado.
  4. Las señales de diálogo con duración superior a 6 segundos deben verificarse con la imagen/audio real; la última señal, las señales superpuestas, las señales editadas y las señales antes de cambios de escena deben verificarse para asegurar que desaparezcan realmente después de la hora de finalización.
  5. Renderice muestras de 10–20 segundos de al menos 4 tipos: señal corta, señal larga/de dos líneas, escena con chino o créditos, y período de cambio de señal rápido. Mire al 100% y aproximadamente al 50%.
  6. No renderice completamente hasta que las muestras no tengan texto demasiado grande, líneas desbordadas, vocales o marcas tonales cortadas, tofu/fallback, subtítulos superpuestos a la imagen, y subtítulos antiguos congelados después de una nueva señal.
  7. Si cambia la resolución, la relación de aspecto, la fuente o la variante de salida, debe recalcular los estilos y pasar la verificación de muestra nuevamente. No copie directamente Fontsize/Margin de otra salida.

Reglas de tiempo para prevenir congelamiento

  • Defina cada señal para que tenga 0 ≤ start < end ≤ media_duration + 1 frame; no permita que la hora de finalización esté vacía, se extienda a una constante falsa como 9:59:59, o se arrastre hasta el EOF sin verificar.
  • Ordene los eventos por tiempo y estilo/capa; verifique texto duplicado adyacente, porque puede parecer que la misma señal está congelada.
  • En los Modos A/B, corrija las superposiciones no intencionadas basándose en el audio real, no eliminando señales.
  • En el Modo C, no corte el tiempo del master chino para corregir superposiciones; mantenga el inicio/fin del chino uno a uno y luego corrija la coincidencia de capas/estilos o la posición en su lugar.
  • Después de la incrustación (burn-in), verifique los fotogramas end - 1, end + 1 y end + 2 de señales largas, la última señal, señales superpuestas y señales que hayan sido incorrectas antes, para confirmar que los píxeles del subtítulo antiguo hayan desaparecido realmente.

Alcance de los temas de apertura y cierre

  • Omita la transcripción y traducción de las letras de los temas de apertura y cierre como valor predeterminado, y registre los períodos de tiempo omitidos en el informe de QA.
  • No considere los períodos de letras registrados como discurso faltante.
  • Si hay diálogo, historia o narración importante intercalada entre las canciones, traduzca esa parte con normalidad.
  • Aún debe verificar la imagen durante las canciones para asegurarse de que los subtítulos en tailandés no se superpongan a los créditos y para confirmar que los subtítulos en chino que deben conservarse no estén dañados.

QC y QA finales — No omitir

Debe realizar dos rondas por separado después de completar la traducción y después de crear los archivos reales. No use la verificación durante la traducción en lugar de las rondas de QC/QA, y no entregue hasta que ambas rondas estén aprobadas.

Control obligatorio — Verificar discurso rápido y discurso faltante en las señales de origen

  • Cree un mapa de cobertura de habla a partir del audio completo del clip con VAD/ASR, separado de la lista de señales de origen. No use el número de señales SRT/OCR/ASR originales como evidencia de que la traducción está completa.
  • Realice una segunda pasada de verificación de audio en períodos de habla rápida, habla superpuesta, señales de menos de 1 segundo, exclamaciones, sonidos suaves, puntos de corte de escena y huecos donde VAD detecte habla humana pero no haya señal tailandesa, utilizando ventanas cortas y períodos superpuestos cuando sea necesario.
  • Para subtítulos en chino incrustados en la imagen, realice OCR aleatorio en varios fotogramas durante los períodos de riesgo, no solo en el fotograma central, porque las oraciones cortas pueden aparecer y desaparecer entre los puntos de muestreo.
  • Compare todos los períodos de habla → señales chinas/inglesas encontradas → señales tailandesas período por período, luego cree una lista de discurso no cubierto con la hora, verifique escuchando o mirando la imagen real, y agregue traducciones hasta que quede cero.
  • No omita automáticamente los períodos completos de temas de apertura/cierre. Omita solo las letras que realmente se cantan dentro del período de tiempo registrado; el diálogo, las exclamaciones, la historia, los avances del próximo episodio y el discurso intercalado deben traducirse.
  • No apruebe el QC hasta que segmentos de discurso no cubiertos = 0, señales de diálogo faltantes = 0 y banderas de discurso rápido no resueltas = 0 después de deducir solo los períodos de letras permitidos para omitir.

Ronda 1 — QC de integridad y limpieza

  • Compare todos los períodos de habla con las señales de origen y las señales tailandesas de principio a fin, sin contar los períodos de letras de apertura/cierre registrados para omitir.
  • Revise el clip completo nuevamente de principio a fin con el mapa de cobertura de habla y verifique todos los períodos de habla rápida/señales cortas marcadas. No verifique solo las señales que el sistema de transcripción logró crear.
  • Confirme que todos los períodos de diálogo estén traducidos, no haya señales vacías, texto temporal o idioma de origen restante no intencional en el archivo de subtítulos en tailandés.
  • Verifique el número de señales, el orden, la hora de inicio y fin, los espacios entre discursos y las señales que ASR/los subtítulos de origen podrían haber omitido.
  • Verifique cada posición donde se ordenó eliminar subtítulos en inglés u otro idioma para asegurarse de que esté limpia, sin restos de letras, sombras, bordes, cuadros o parpadeos recurrentes.
  • No cuente los subtítulos en chino que el usuario ordenó conservar como restos de subtítulos, y verifique que los subtítulos en tailandés no se superpongan a los chinos.
  • En el Modo C, verifique que cada señal de diálogo en chino tenga una señal tailandesa emparejada uno a uno y que la hora de inicio y fin coincida dentro de 1 fotograma; excepto solo las letras registradas para omitir y las señales de audio que...

Skills relacionados