NAME

App::Greple::xlate - greple için çeviri destek modülü

SYNOPSIS

greple -Mxlate::deepl --xlate pattern target-file

greple -Mxlate::gpt4 --xlate pattern target-file

greple -Mxlate --xlate-engine gpt4 --xlate pattern target-file

VERSION

Version 0.9912

DESCRIPTION

Greple xlate modül, istenen metin bloklarını bulur ve bunları çevrilmiş metinle değiştirir. Şu anda DeepL (deepl.pm) ve ChatGPT 4.1 (gpt4.pm) modülleri arka uç motoru olarak uygulanmıştır.

Perl'in pod stilinde yazılmış bir belgede normal metin bloklarını çevirmek istiyorsanız, greple komutunu xlate::deepl ve perl modülleriyle şu şekilde kullanın:

greple -Mxlate::deepl -Mperl --pod --re '^([\w\pP].*\n)+' --all foo.pm

Bu komutta, desen dizesi ^([\w\pP].*\n)+ alfa-sayısal ve noktalama işaretiyle başlayan ardışık satırları ifade eder. Bu komut, çevrilecek alanı vurgulanmış olarak gösterir. --all seçeneği, tüm metni üretmek için kullanılır.

Daha sonra seçili alanı çevirmek için --xlate seçeneğini ekleyin. Ardından, istenen bölümleri bulacak ve bunları deepl komutunun çıktısıyla değiştirecektir.

Varsayılan olarak, orijinal ve çevrilmiş metin, git(1) ile uyumlu "çakışma işaretleyici" formatında yazdırılır. ifdef formatını kullanarak, unifdef(1) komutuyla kolayca istediğiniz bölümü alabilirsiniz. Çıktı formatı --xlate-format seçeneğiyle belirtilebilir.

Tüm metni çevirmek istiyorsanız, --match-all seçeneğini kullanın. Bu, tüm metni eşleştiren (?s).+ desenini belirtmek için bir kısayoldur.

Çakışma işaretleyici biçimindeki veriler, sdif komutu ile -V seçeneği kullanılarak yan yana biçimde görüntülenebilir. Karşılaştırmanın dize bazında yapılmasının anlamı olmadığından, --no-cdif seçeneği önerilir. Metni renklendirmenize gerek yoksa, --no-textcolor (veya --no-tc) belirtin.

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

NORMALIZATION

İşlem belirtilen birimlerde yapılır, ancak birden fazla satırdan oluşan boş olmayan metin dizileri durumunda, bunlar birlikte tek bir satıra dönüştürülür. Bu işlem şu şekilde gerçekleştirilir:

  • Her satırın başındaki ve sonundaki boşluklar kaldırılır.

  • Bir satır tam genişlikte bir noktalama işaretiyle bitiyorsa, bir sonraki satırla birleştirilir.

  • Bir satır tam genişlikte bir karakterle bitiyor ve sonraki satır tam genişlikte bir karakterle başlıyorsa, satırlar birleştirilir.

  • Bir satırın sonu veya başı tam genişlikte bir karakter değilse, araya bir boşluk karakteri eklenerek birleştirilirler.

Önbellek verileri normalleştirilmiş metne göre yönetilir, bu nedenle normalleştirme sonuçlarını etkilemeyen değişiklikler yapılsa bile, önbelleğe alınmış çeviri verileri geçerli olmaya devam eder.

Bu normalleştirme işlemi yalnızca ilk (0. indeksli) ve çift numaralı desenler için gerçekleştirilir. Bu nedenle, aşağıdaki gibi iki desen belirtildiğinde, ilk desene uyan metin normalleştirmeden sonra işlenir ve ikinci desene uyan metin üzerinde normalleştirme işlemi yapılmaz.

greple -Mxlate -E normalized -E not-normalized

Bu nedenle, birden fazla satırı tek bir satırda birleştirerek işlenecek metinler için ilk deseni, önceden biçimlendirilmiş metinler için ise ikinci deseni kullanın. İlk desende eşleşecek metin yoksa, (?!) gibi hiçbir şeyle eşleşmeyen bir desen kullanın.

MASKING

Bazen, çeviri yapılmasını istemediğiniz metin bölümleri olabilir. Örneğin, markdown dosyalarındaki etiketler gibi. DeepL, bu gibi durumlarda çevrilmeyecek metin bölümünün XML etiketlerine dönüştürülmesini, çevrilmesini ve ardından çeviri tamamlandıktan sonra eski haline getirilmesini önerir. Bunu desteklemek için, çeviriden maskelenecek bölümleri belirtmek mümkündür.

--xlate-setopt maskfile=MASKPATTERN

Bu, `MASKPATTERN` dosyasının her satırını bir düzenli ifade olarak yorumlar, eşleşen dizeleri çevirir ve işleme sonrası geri alır. # ile başlayan satırlar yok sayılır.

Karmaşık desenler, ters eğik çizgiyle kaçışlı yeni satır kullanılarak birden fazla satıra yazılabilir.

Maskelenerek metnin nasıl dönüştürüldüğü --xlate-mask seçeneğiyle görülebilir.

Bu arayüz deneyseldir ve gelecekte değişikliğe tabidir.

OPTIONS

--xlate
--xlate-color
--xlate-fold
--xlate-fold-width=n (Default: 70)

Her eşleşen alan için çeviri işlemini başlatın.

Bu seçenek olmadan, greple normal bir arama komutu gibi davranır. Yani, gerçek işlemi başlatmadan önce dosyanın hangi bölümünün çeviriye tabi olacağını kontrol edebilirsiniz.

Komut sonucu standart çıktıya gider, bu nedenle gerekirse dosyaya yönlendirin veya App::Greple::update modülünü kullanmayı düşünün.

--xlate seçeneği, --xlate-color seçeneğini --color=never seçeneğiyle çağırır.

--xlate-fold seçeneğiyle, dönüştürülen metin belirtilen genişlikte katlanır. Varsayılan genişlik 70'tir ve --xlate-fold-width seçeneğiyle ayarlanabilir. Dört sütun çalıştırma işlemi için ayrılmıştır, bu nedenle her satır en fazla 74 karakter tutabilir.

--xlate-engine=engine

Kullanılacak çeviri motorunu belirtir. -Mxlate::deepl gibi motor modülünü doğrudan belirtirseniz, bu seçeneği kullanmanıza gerek yoktur.

Şu anda, aşağıdaki motorlar mevcuttur

  • deepl: DeepL API

  • gpt3: gpt-3.5-turbo

  • gpt4: gpt-4.1

  • gpt4o: gpt-4o-mini

    gpt-4o'ün arayüzü kararsızdır ve şu anda düzgün çalışacağı garanti edilemez.

--xlate-labor
--xlabor

Çeviri motorunu çağırmak yerine, sizin çalışmanız beklenir. Çevrilecek metni hazırladıktan sonra, bunlar panoya kopyalanır. Bunları forma yapıştırmanız, sonucu panoya kopyalamanız ve enter tuşuna basmanız beklenir.

--xlate-to (Default: EN-US)

Hedef dili belirtin. DeepL motorunu kullanırken deepl languages komutuyla mevcut dilleri alabilirsiniz.

--xlate-format=format (Default: conflict)

Orijinal ve çevrilmiş metin için çıktı biçimini belirtin.

xtxt dışında aşağıdaki biçimler, çevrilecek bölümün bir satır koleksiyonu olduğunu varsayar. Aslında, bir satırın yalnızca bir bölümünü çevirmek mümkündür, ancak xtxt dışında bir biçim belirtmek anlamlı sonuçlar üretmez.

conflict, cm

Orijinal ve dönüştürülmüş metin git(1) çakışma işaretleyici biçiminde yazdırılır.

<<<<<<< ORIGINAL
original text
=======
translated Japanese text
>>>>>>> JA

Bir sonraki sed(1) komutuyla orijinal dosyayı geri yükleyebilirsiniz.

sed -e '/^<<<<<<< /d' -e '/^=======$/,/^>>>>>>> /d'
colon, :::::::

Orijinal ve çevrilmiş metin, markdown'un özel kapsayıcı stilinde çıktı olarak verilir.

::::::: ORIGINAL
original text
:::::::
::::::: JA
translated Japanese text
:::::::

Yukarıdaki metin HTML olarak aşağıdaki şekilde çevrilecektir.

<div class="ORIGINAL">
original text
</div>
<div class="JA">
translated Japanese text
</div>

Varsayılan olarak iki nokta sayısı 7'dir. ::::: gibi bir iki nokta dizisi belirtirseniz, 7 yerine bu kullanılır.

ifdef

Orijinal ve dönüştürülmüş metin cpp(1) #ifdef biçiminde yazdırılır.

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

Sadece Japonca metni unifdef komutuyla alabilirsiniz:

unifdef -UORIGINAL -DJA foo.ja.pm
space
space+

Orijinal ve dönüştürülmüş metin tek bir boş satırla ayrılarak yazdırılır.

xtxt

space+

--xlate-maxlen=chars (Default: 0)

Ayrıca dönüştürülmüş metinden sonra da bir satır sonu ekler.

--xlate-maxline=n (Default: 0)

Eğer format xtxt (çevirilmiş metin) veya bilinmiyorsa, sadece çevrilmiş metin yazdırılır.

API'ye bir seferde gönderilecek metnin maksimum uzunluğunu belirtin. Varsayılan değer, ücretsiz DeepL hesap servisi için ayarlanmıştır: API için 128K (--xlate) ve pano arayüzü için 5000 (--xlate-labor). Pro servisi kullanıyorsanız bu değerleri değiştirebilirsiniz.

--[no-]xlate-progress (Default: True)

API'ye bir seferde gönderilecek maksimum metin satırı sayısını belirtin.

--xlate-stripe

Her seferinde bir satır çevirmek istiyorsanız bu değeri 1 olarak ayarlayın. Bu seçenek --xlate-maxlen seçeneğine öncelik verir.

Çeviri sonucunu gerçek zamanlı olarak STDERR çıktısında görün.

--xlate-mask

Eşleşen kısmı zebra şeritli şekilde göstermek için App::Greple::stripe modülünü kullanın. Bu, eşleşen kısımlar arka arkaya bağlandığında kullanışlıdır.

--match-all

Renk paleti, terminalin arka plan rengine göre değiştirilir. Açıkça belirtmek isterseniz --xlate-stripe-light veya --xlate-stripe-dark kullanabilirsiniz.

--lineify-cm
--lineify-colon

cm ve colon formatları durumunda, çıktı satır satır bölünür ve biçimlendirilir. Bu nedenle, bir satırın yalnızca bir kısmı çevrilecekse, beklenen sonuç elde edilemez. Bu filtreler, bir satırın bir kısmının çevrilmesiyle bozulan çıktıyı, normal satır satır çıktıya dönüştürür.

Mevcut uygulamada, bir satırın birden fazla kısmı çevrilirse, bunlar bağımsız satırlar olarak çıktı verilir.

CACHE OPTIONS

Maskeleme işlevini gerçekleştirir ve dönüştürülmüş metni olduğu gibi restorasyon yapmadan gösterir.

Dosyanın tüm metnini hedef alan olarak ayarlayın.

--xlate-cache=strategy
auto (Default)

xlate modülü, her dosya için çeviri önbellekli metni depolayabilir ve çalıştırmadan önce okuyarak sunucuya sorma yükünü ortadan kaldırır. Varsayılan önbellek stratejisi auto ile, hedef dosya için önbellek dosyası mevcutsa yalnızca önbellek verilerini tutar.

create

Önbellek yönetimini başlatmak veya mevcut tüm önbellek verilerini temizlemek için --xlate-cache=clear kullanın. Bu seçenekle çalıştırıldığında, önbellek dosyası yoksa yeni bir tane oluşturulur ve ardından otomatik olarak yönetilir.

always, yes, 1

Önbellek dosyası mevcutsa onu koruyun.

clear

Boş bir önbellek dosyası oluşturun ve çıkın.

never, no, 0

Hedef normal dosya olduğu sürece her durumda önbelleği koruyun.

accumulate

Önce önbellek verilerini temizleyin.

--xlate-update

Önbellek dosyası mevcut olsa bile asla kullanmayın.

COMMAND LINE INTERFACE

Varsayılan davranış olarak, kullanılmayan veriler önbellek dosyasından kaldırılır. Bunları kaldırmak istemiyorsanız ve dosyada tutmak istiyorsanız accumulate kullanın.

Bu seçenek, gerek olmasa bile önbellek dosyasını güncellemeye zorlar.

Bu modülü komut satırından kolayca kullanmak için dağıtıma dahil edilen xlate komutunu kullanabilirsiniz. Kullanımı için xlate man sayfasına bakın.

xlate komutu Docker ortamı ile birlikte çalışır, bu nedenle elinizde hiçbir şey kurulu olmasa bile Docker mevcut olduğu sürece kullanabilirsiniz. -D veya -C seçeneğini kullanın.

Ayrıca, çeşitli belge stilleri için makefile'lar sağlandığından, özel bir belirtim olmadan diğer dillere çeviri mümkündür. -M seçeneğini kullanın.

Docker ve make seçeneklerini birleştirerek make komutunu Docker ortamında çalıştırabilirsiniz.

EMACS

Depodaki xlate.el dosyasını yükleyerek Emacs editöründen xlate komutunu kullanabilirsiniz.

ENVIRONMENT

DEEPL_AUTH_KEY

xlate-region fonksiyonu verilen bölgeyi çevirir.

OPENAI_API_KEY

Varsayılan dil EN-US'dir ve önek argümanla çağırarak dili belirtebilirsiniz.

INSTALL

CPANMINUS

$ cpanm App::Greple::xlate

TOOLS

DeepL servisi için kimlik doğrulama anahtarınızı ayarlayın.

OpenAI kimlik doğrulama anahtarı.

DeepL ve ChatGPT için komut satırı araçlarını yüklemeniz gerekir.

SEE ALSO

https://github.com/DeepLcom/deepl-python

https://github.com/tecolicom/App-gpty

App::Greple::xlate::gpt4

ARTICLES

AUTHOR

Kazumasa Utashiro

LICENSE

Copyright © 2023-2025 Kazumasa Utashiro.

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.