App-Greple-xlate

 view release on metacpan or  search on metacpan

i18n/src/xlate.gpt5-ES.pod  view on Meta::CPAN

Los datos en formato de marcador de conflicto pueden visualizarse en estilo lado a lado con el comando L<sdif|App::sdif> y la opción C<-V>. Dado que no tiene sentido comparar por cadena, se recomienda la opción C<--no-cdif>. Si no necesita colorear...

    sdif -V --no-filename --no-tc --no-cdif data_shishin.deepl-EN-US.cm

=for html <p>
<img width="750" src="https://raw.githubusercontent.com/kaz-utashiro/App-Greple-xlate/main/images/sdif-cm-view.png">
</p>

=head1 NORMALIZATION

El procesamiento se realiza en unidades especificadas, pero en el caso de una secuencia de múltiples líneas de texto no vacío, se convierten juntas en una sola línea. Esta operación se realiza de la siguiente manera:

=over 2

=item *

Eliminar los espacios en blanco al principio y al final de cada línea.

=item *

Si una línea termina con un signo de puntuación de ancho completo, concatenar con la siguiente línea.

=item *

Si una línea termina con un carácter de ancho completo y la siguiente línea comienza con un carácter de ancho completo, concatenar las líneas.

=item *

Si el final o el comienzo de una línea no es un carácter de ancho completo, concatenarlas insertando un espacio.

=back

Los datos de caché se gestionan en función del texto normalizado, por lo que incluso si se realizan modificaciones que no afecten los resultados de la normalización, los datos de traducción en caché seguirán siendo efectivos.

Este proceso de normalización se realiza solo para el primer (índice 0) y los patrones de número par. Por lo tanto, si se especifican dos patrones como se indica a continuación, el texto que coincida con el primer patrón se procesará después d...

    greple -Mxlate -E normalized -E not-normalized

Por lo tanto, use el primer patrón para el texto que deba procesarse combinando múltiples líneas en una sola línea, y use el segundo patrón para texto preformateado. Si no hay texto que coincida en el primer patrón, use un patrón que no coinci...

=head1 MASKING

Ocasionalmente, hay partes del texto que no desea traducir. Por ejemplo, etiquetas en archivos markdown. DeepL sugiere que, en tales casos, la parte del texto a excluir se convierta en etiquetas XML, se traduzca y luego se restaure una vez completada...

    --xlate-setopt maskfile=MASKPATTERN

Esto interpretará cada línea del archivo C<MASKPATTERN> como una expresión regular, traducirá las cadenas que coincidan con ella y revertirá después del procesamiento. Las líneas que comienzan con C<#> se ignoran.

Un patrón complejo puede escribirse en múltiples líneas con salto de línea escapado con barra invertida.

Cómo se transforma el texto mediante el enmascaramiento puede verse con la opción B<--xlate-mask>.

Los marcadores de enmascaramiento son etiquetas XML autocerradas bien formadas, como C<< <m id="1" /> >>. Los motores LLM basados en JSON reciben las etiquetas en sus matrices de entrada. Para DeepL, una solicitud que contiene etiquetas de marcador s...

El enmascaramiento protege el marcado para que no se traduzca. Para ocultar cadenas sensibles al propio servicio de traducción, consulte L</ANONYMIZATION AND TEMPLATES>; ambos pueden usarse juntos.

Esta interfaz es experimental y está sujeta a cambios en el futuro.

=head1 ANONYMIZATION AND TEMPLATES

Las cadenas sensibles pueden ocultarse antes de enviarse a la API de traducción y restaurarse en la salida. Hay tres fuentes de reglas de anonimización disponibles: un archivo de diccionario (B<--xlate-anonymize>), marcas en línea en el propio doc...

Para documentos de formulario (informes trimestrales y similares), defina los actores al principio y haga referencia a ellos en el cuerpo:

    ---
    報告者: 山田太郎
    発注会社: アクメ株式会社
    ---
    本件について {{ 報告者 }} が調査を行った。

Traduzca la plantilla una vez por idioma con C<--xlate-template> (y C<--xlate-frontmatter> cuando los valores se mantengan en el archivo), luego renderice cada caso con el modo autónomo de B<pandoc-embedz>: los valores bajo C<global:> en una configu...

    greple -Mxlate --xlate --xlate-engine=gpt5 --xlate-to=EN-US \
           --xlate-template= --xlate-format=xtxt \
           --match-paragraph --all --need=0 \
           report-template.md > report-template.EN.md
    pandoc-embedz --standalone report-template.EN.md \
                  -c case-123.yaml -o report-123.EN.md < /dev/null

Para marcas en línea, proporcionar una configuración de definición de macros hace que la misma plantilla traducida renderice los nombres reales o una versión redactada:

    # macros.yaml           # macros-redacted.yaml
    preamble: |             preamble: |
      {% macro person(name) %}{{ name }}{% endmacro %}
                              {% macro person(name) %}(関係者){% endmacro %}

Excluya los bloques embedz de la traducción cuando un documento los contenga:

    --exclude '^```embedz\n(?s:.*?)^```\n'

=head1 OPTIONS

=over 7

=item B<--xlate>

=item B<--xlate-color>

=item B<--xlate-fold>

=item B<--xlate-fold-width>=I<n> (Default: 70)

Invoque el proceso de traducción para cada área coincidente.

Sin esta opción, B<greple> se comporta como un comando de búsqueda normal. Así puede comprobar qué parte del archivo será objeto de la traducción antes de iniciar el trabajo real.

El resultado del comando va a la salida estándar, así que rediríjalo a un archivo si es necesario, o considere usar el módulo L<App::Greple::update>.

La opción B<--xlate> llama a la opción B<--xlate-color> con la opción B<--color=never>.

Con la opción B<--xlate-fold>, el texto convertido se ajusta al ancho especificado. El ancho predeterminado es 70 y puede establecerse con la opción B<--xlate-fold-width>. Se reservan cuatro columnas para la operación de run-in, por lo que cada lÃ...

=item B<--xlate-engine>=I<engine>

Especifica el motor de traducción que se utilizará.

En este momento, están disponibles los siguientes motores

=over 2

=item * B<gpt5>: gpt-5.6-terra (via the C<llm> command)

i18n/src/xlate.gpt5-ES.pod  view on Meta::CPAN


El texto original y el convertido se imprimen en formato L<cpp(1)> C<#ifdef>.

    #ifdef ORIGINAL
    original text
    #endif
    #ifdef JA
    translated Japanese text
    #endif

Puede recuperar solo el texto japonés con el comando B<unifdef>:

    unifdef -UORIGINAL -DJA foo.ja.pm

=item B<space>

=item B<space+>

El texto original y el convertido se imprimen separados por una sola línea en blanco. Para C<space+>, también se imprime una nueva línea después del texto convertido.

=item B<xtxt>

Si el formato es C<xtxt> (texto traducido) o desconocido, solo se imprime el texto traducido.

=back

=item B<--xlate-maxlen>=I<chars> (Default: 0)

Especifique la longitud máxima del texto que se enviará a la API de una vez. El valor predeterminado 0 significa el límite propio del motor: para el servicio de cuenta gratuita de DeepL, es 128K para la API (B<--xlate>) y 5000 para la interfaz del...

=item B<--xlate-maxline>=I<n> (Default: 0)

Especifique el número máximo de líneas de texto que se enviarán a la API de una vez.

Establezca este valor en 1 si desea traducir una línea a la vez. Esta opción tiene prioridad sobre la opción C<--xlate-maxlen>.

=item B<--xlate-prompt>=I<text>

Especifique un prompt personalizado para enviarlo al motor de traducción. Esta opción está disponible para los motores LLM (C<gpt3>, C<gpt4o>, C<gpt5>), pero no para DeepL. Puede personalizar el comportamiento de la traducción proporcionando inst...

=item B<--xlate-context>=I<text>

Especifique información de contexto adicional que se enviará al motor de traducción. Esta opción se puede usar varias veces para proporcionar múltiples cadenas de contexto. La información de contexto ayuda al motor de traducción a comprender e...

=item B<--xlate-context-window>=I<n>

(Context-aware engines only, e.g. C<gpt5> on the llm backend)
Número de bloques traducidos circundantes que se pasan como contexto de referencia al volver a traducir bloques modificados (predeterminado 2). El contexto también incluye el texto fuente sin procesar alrededor de la región modificada (encabezados...

=item B<--xlate-cache-seed>=I<file>

Inicialice la caché de un documento nuevo a partir del archivo de caché de otro documento. Útil para informes periódicos: inicialice la caché del nuevo número con la del número anterior, de modo que los párrafos sin cambios no se vuelvan a tr...

=item B<--xlate-anonymize>=I<file>

Anonimice las cadenas sensibles antes de que se envíen a la API de traducción y restáurelas en la salida. El archivo de diccionario proporciona una entrada por elemento: en JSON (canónico, generable por máquina)

    [ { "category": "person",  "text": "山田太郎" },
      { "category": "company", "regex": "アクメ(株式会社)?" } ]

o en un formato de línea simple (C<category pattern>, C</.../> para regex). Cada elemento se reemplaza por una etiqueta de categoría como C<< <person id="1" /> >>; la misma cadena siempre obtiene la misma etiqueta, por lo que el modelo puede llevar...

Un diccionario puede generarse mediante una herramienta externa; por ejemplo, un modelo local que extrae entidades sensibles:

    llm -m <local-model> \
        -s 'Extract sensitive entities as a JSON array of objects
            with "category" and "text" fields.' \
        < report.md > report.anon.json
    greple -Mxlate --xlate-anonymize=report.anon.json ...

Se tolera una BOM UTF-8 en el archivo. Los valores en el formato de línea de front matter pueden llevar un comentario final solo en su propia línea, no después del valor.

=item B<--xlate-anonymize-mark>[=I<regex>]

Recoja entradas de anonimización de marcas en línea en el propio documento. Marque la primera aparición como C<{{ person("山田太郎") }}> y cada aparición de la cadena en todo el documento se anonimizará. La marca en sí permanece en el orige...

Tenga en cuenta que, con una opción de valor opcional como esta, un argumento de archivo siguiente se tomaría como el valor: escriba C<--xlate-anonymize-mark=> (con un C<=> final) cuando use la notación predeterminada.

Se pueden configurar notaciones alternativas, por ejemplo C<< --xlate-anonymize-mark='@@(?<category>[a-z][a-z0-9_]*):(?<text>[^\n]+?)@@' >> para marcas de estilo C<@@person:NAME@@>, o una forma de comentario HTML que permanezca invisible en el Markdo...

=item B<--xlate-template>[=I<regex>]

Trate las expresiones de plantilla (predeterminado: Jinja2 C<{{ ... }}>, C<{% ... %}>, C<{# ... #}>) como marcadores de posición opacos: indique al modelo que las copie sin cambios y verifique, por bloque, que la respuesta contenga exactamente las m...

Tenga en cuenta que, con una opción de valor opcional como esta, un argumento de archivo siguiente se tomaría como el valor: escriba C<--xlate-template=> (con un C<=> final) al usar la notación predeterminada.

=item B<--xlate-frontmatter>

Trate un bloque inicial C<---> ... C<---> como front matter YAML: exclúyalo de la traducción y de los fragmentos de contexto de la fase 2, y agregue sus valores planos C<key: value> a las reglas de anonimización (categoría C<var>) como red de seg...

Deje siempre una línea en blanco después del C<---> de cierre. Con un patrón de coincidencia de estilo párrafo, el front matter que se une directamente al texto del cuerpo forma un bloque superpuesto que la exclusión no puede suprimir (en ese ca...

=item B<--xlate-glossary>=I<glossary>

Especifique un ID de glosario que se utilizará para la traducción. Esta opción solo está disponible al usar el motor de DeepL. El ID de glosario debe obtenerse de su cuenta de DeepL y garantiza una traducción coherente de términos específicos.

=item B<--xlate-dryrun>

No llame a la API de traducción; en su lugar, muestre, a través de la visualización de progreso, cada payload exactamente como se transmitiría (después de la anonimización y el enmascaramiento). Útil para comprobar qué sale de la máquina y p...

=item B<-->[B<no->]B<xlate-progress> (Default: True)

Vea el resultado de la traducción en tiempo real en la salida STDERR. El payload C<From> se muestra tal como se transmitió, después de la anonimización y el enmascaramiento.

=item B<--xlate-review>

Para un bloque modificado uno a uno, muestre el menor segmento contiguo modificado en el código fuente antiguo y nuevo, seguido del segmento correspondiente en la traducción antigua y nueva. El informe se escribe en STDERR, no realiza ninguna llama...

=item B<--xlate-stripe>

Use el módulo L<App::Greple::stripe> para mostrar la parte coincidente con un estilo de rayas tipo cebra. Esto es útil cuando las partes coincidentes están conectadas consecutivamente.

La paleta de colores se cambia según el color de fondo de la terminal. Si desea especificarlo explícitamente, puede usar B<--xlate-stripe-light> o B<--xlate-stripe-dark>.

=item B<--xlate-mask>

Realice la función de enmascaramiento y muestre el texto convertido tal cual sin restauración.

=item B<--match-all>

Establezca todo el texto del archivo como área objetivo.



( run in 1.332 second using v1.01-cache-2.11-cpan-b16cb0d3907 )