App-Greple-xlate
view release on metacpan or search on metacpan
i18n/src/xlate.gpt5-ID.pod view on Meta::CPAN
</p>
Lalu tambahkan opsi C<--xlate> untuk menerjemahkan area yang dipilih. Kemudian, ini akan menemukan bagian yang diinginkan dan menggantinya dengan keluaran mesin terjemahan.
Secara bawaan, teks asli dan terjemahan dicetak dalam format "penanda konflik" yang kompatibel dengan L<git(1)>. Dengan menggunakan format C<ifdef>, Anda dapat mengambil bagian yang diinginkan dengan perintah L<unifdef(1)> dengan mudah. Format keluar...
=for html <p>
<img width="750" src="https://raw.githubusercontent.com/kaz-utashiro/App-Greple-xlate/main/images/format-conflict.png">
</p>
Jika Anda ingin menerjemahkan seluruh teks, gunakan opsi B<--match-all>. Ini adalah jalan pintas untuk menentukan pola C<(?s).+> yang mencocokkan seluruh teks.
Data format penanda konflik dapat dilihat dalam gaya berdampingan dengan perintah L<sdif|App::sdif> bersama opsi C<-V>. Karena tidak masuk akal untuk membandingkan per string, opsi C<--no-cdif> direkomendasikan. Jika Anda tidak perlu mewarnai teks, t...
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
Pemrosesan dilakukan dalam unit yang ditentukan, tetapi dalam kasus rangkaian beberapa baris teks yang tidak kosong, teks tersebut digabungkan menjadi satu baris. Operasi ini dilakukan sebagai berikut:
=over 2
=item *
Hapus spasi putih di awal dan akhir setiap baris.
=item *
Jika sebuah baris diakhiri dengan karakter tanda baca lebar penuh, gabungkan dengan baris berikutnya.
=item *
Jika sebuah baris diakhiri dengan karakter lebar penuh dan baris berikutnya dimulai dengan karakter lebar penuh, gabungkan baris-baris tersebut.
=item *
Jika salah satu dari akhir atau awal baris bukan karakter lebar penuh, gabungkan dengan menyisipkan satu karakter spasi.
=back
Data cache dikelola berdasarkan teks yang dinormalisasi, sehingga meskipun dilakukan modifikasi yang tidak mempengaruhi hasil normalisasi, data terjemahan yang di-cache tetap efektif.
Proses normalisasi ini dilakukan hanya untuk pola pertama (ke-0) dan bernomor genap. Dengan demikian, jika dua pola ditentukan seperti berikut, teks yang cocok dengan pola pertama akan diproses setelah normalisasi, dan tidak ada proses normalisasi ya...
greple -Mxlate -E normalized -E not-normalized
Oleh karena itu, gunakan pola pertama untuk teks yang akan diproses dengan menggabungkan beberapa baris menjadi satu baris, dan gunakan pola kedua untuk teks pra-format. Jika tidak ada teks yang cocok pada pola pertama, gunakan pola yang tidak mencoc...
=head1 MASKING
Terkadang, ada bagian teks yang tidak ingin Anda terjemahkan. Misalnya, tag dalam berkas markdown. DeepL menyarankan bahwa dalam kasus seperti itu, bagian teks yang dikecualikan diubah menjadi tag XML, diterjemahkan, lalu dipulihkan setelah terjemaha...
--xlate-setopt maskfile=MASKPATTERN
Ini akan menafsirkan setiap baris dari berkas C<MASKPATTERN> sebagai ekspresi reguler, menerjemahkan string yang cocok dengannya, dan mengembalikannya setelah pemrosesan. Baris yang dimulai dengan C<#> akan diabaikan.
Pola kompleks dapat ditulis dalam beberapa baris dengan baris baru yang di-escape dengan backslash.
Bagaimana teks diubah oleh masking dapat dilihat dengan opsi B<--xlate-mask>.
Placeholder mask adalah tag XML self-closing yang terbentuk dengan baik, seperti C<< <m id="1" /> >>. Mesin LLM berbasis JSON menerima tag tersebut dalam array inputnya. Untuk DeepL, permintaan yang berisi tag penanda di-escape dan dibungkus dalam ro...
Masking melindungi markup agar tidak diterjemahkan. Untuk menyembunyikan string sensitif dari layanan terjemahan itu sendiri, lihat L</ANONYMIZATION AND TEMPLATES>; keduanya dapat digunakan bersama.
Antarmuka ini bersifat eksperimental dan dapat berubah di masa mendatang.
=head1 ANONYMIZATION AND TEMPLATES
String sensitif dapat disembunyikan sebelum dikirim ke API terjemahan dan dipulihkan dalam output. Tersedia tiga sumber aturan anonimisasi: berkas kamus (B<--xlate-anonymize>), tanda inline dalam dokumen itu sendiri (B<--xlate-anonymize-mark>), dan n...
Untuk dokumen formulir (laporan triwulanan dan sejenisnya), definisikan aktor di awal dan rujuk mereka di isi:
---
å ±åè
: å±±ç°å¤ªé
çºæ³¨ä¼ç¤¾: ã¢ã¯ã¡æ ªå¼ä¼ç¤¾
---
æ¬ä»¶ã«ã¤ã㦠{{ å ±åè
}} ã調æ»ãè¡ã£ãã
Terjemahkan templat sekali per bahasa dengan C<--xlate-template> (dan C<--xlate-frontmatter> ketika nilainya disimpan di berkas), lalu render setiap kasus dengan mode mandiri B<pandoc-embedz> -- nilai di bawah C<global:> dalam konfigurasi eksternal s...
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
Untuk tanda inline, menyediakan konfigurasi definisi makro membuat templat terjemahan yang sama merender baik nama asli maupun versi yang disamarkan:
# macros.yaml # macros-redacted.yaml
preamble: | preamble: |
{% macro person(name) %}{{ name }}{% endmacro %}
{% macro person(name) %}(é¢ä¿è
){% endmacro %}
Kecualikan blok embedz dari terjemahan ketika dokumen memuatnya:
--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)
Panggil proses terjemahan untuk setiap area yang cocok.
Tanpa opsi ini, B<greple> berperilaku sebagai perintah pencarian normal. Jadi Anda dapat memeriksa bagian mana dari berkas yang akan menjadi subjek terjemahan sebelum menjalankan pekerjaan yang sebenarnya.
Hasil perintah masuk ke standar keluaran, jadi arahkan ke berkas jika perlu, atau pertimbangkan untuk menggunakan modul L<App::Greple::update>.
Opsi B<--xlate> memanggil opsi B<--xlate-color> dengan opsi B<--color=never>.
Dengan opsi B<--xlate-fold>, teks yang dikonversi dilipat berdasarkan lebar yang ditentukan. Lebar default adalah 70 dan dapat diatur oleh opsi B<--xlate-fold-width>. Empat kolom dicadangkan untuk operasi run-in, jadi setiap baris dapat memuat paling...
=item B<--xlate-engine>=I<engine>
( run in 2.494 seconds using v1.01-cache-2.11-cpan-a49fcb8fa48 )