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>.
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.5 (via the C<llm> command)
=item * B<deepl>: DeepL API (via the C<deepl> command)
=item * B<gpt3>: gpt-3.5-turbo (legacy, via the C<gpty> command)
=item * B<gpt4o>: gpt-4o-mini (legacy, via the C<gpty> command)
=back
Los módulos de motor se buscan primero en los espacios de nombres de backend (C<llm>, luego C<gpty>), y después directamente bajo C<App::Greple::xlate>. Por tanto, C<gpt5> carga C<App::Greple::xlate::llm::gpt5>, que llama al comando C<llm>, mientra...
=item B<--xlate-labor>
=item B<--xlabor>
En lugar de llamar al motor de traducción, se espera que usted trabaje manualmente. Después de preparar el texto a traducir, se copia al portapapeles. Se espera que lo pegue en el formulario, copie el resultado al portapapeles y presione regresar.
=item B<--xlate-to> (Default: C<EN-US>)
Especifique el idioma de destino. Los motores LLM aceptan cualquier nombre o código de idioma que el modelo entienda; se interpola en el prompt de traducción. Puede obtener los idiomas disponibles con el comando C<deepl languages> cuando use el mot...
=item B<--xlate-from> (Default: C<ORIGINAL>)
Etiqueta utilizada para el texto original en los formatos de salida C<conflict>, C<colon> y C<ifdef>. Con el motor B<DeepL>, un valor no predeterminado también se pasa como idioma de origen.
=item B<--xlate-format>=I<format> (Default: C<conflict>)
Especifique el formato de salida para el texto original y el traducido.
Los siguientes formatos distintos de C<xtxt> asumen que la parte a traducir es una colección de lÃneas. De hecho, es posible traducir solo una parte de una lÃnea, pero especificar un formato distinto de C<xtxt> no producirá resultados significati...
=over 4
=item B<conflict>, B<cm>
El texto original y el convertido se imprimen en formato de marcadores de conflicto de L<git(1)>.
<<<<<<< ORIGINAL
original text
=======
translated Japanese text
>>>>>>> JA
Puede recuperar el archivo original con el siguiente comando L<sed(1)>.
sed -e '/^<<<<<<< /d' -e '/^=======$/,/^>>>>>>> /d'
=item B<colon>, I<:::::::>
El texto original y el traducido se muestran en un estilo de contenedor personalizado de markdown.
::::::: ORIGINAL
original text
:::::::
::::::: JA
translated Japanese text
:::::::
El texto anterior se traducirá a lo siguiente en HTML.
<div class="ORIGINAL">
original text
</div>
<div class="JA">
translated Japanese text
</div>
El número de dos puntos es 7 por defecto. Si especifica una secuencia de dos puntos como C<:::::>, se usa en lugar de 7 dos puntos.
=item B<ifdef>
El texto original y el convertido se imprimen en formato L<cpp(1)> C<#ifdef>.
#ifdef ORIGINAL
original text
#endif
( run in 0.416 second using v1.01-cache-2.11-cpan-cd2fffc590a )