Magento csv Çeviri Dosyalarını Yönetme


22

Zaman geçtikçe, Magento çekirdek ekibi daha fazla varsayılan dil paketi ekleyerek

app/locale 

Klasör. Gelecekteki sistem güncellemelerini engellemeyecek şekilde kendi çeviri dosyalarınızı yönetmenin kolay bir yolu var mı? yani, bazı etiketleri Magento’da değiştirmek istiyorum.

app/locale/en_US/Mage_Sales.csv

direkt olarak. Magento'yu yükseltirsek, değişikliklerim silinecek. Tema yerel ayarı bunun için yeterli mi? (modüle özel dosyalar kullanıyor mu, yoksa sadece translate.csv). Yoksa farklı bir konumdaki dosyaları yüklemek için çeviri modellerini yeniden yazmak daha mı iyidir? Veya başka bir şey?

Yanıtlar:


17

Bunu dene.

Özetle, çekirdek modülün XPath çevirisi altında ek bir çeviri dosyası belirtin ve geçersiz kılan CSV çiftlerinizi oraya yerleştirin.

<frontend>
    <translate>
        <modules>
            <Mage_Sales>
                <files>
                    <mr_storms_wicked_translations>Mage_Sales_Custom.csv</mr_storms_wicked_translations>
                </files>
            </Mage_Sales>
        </modules>
    </translate>
</frontend>

5
Çok hızlıydın. Kaybetmeye başlıyorum.
Marius

15

translate.csvTaşınabilir olmayan satır içi çevirinin yanında başka bir yol var. Ben böyle yapıyorum.

Her modül birden fazla çeviri dosyasını destekler.

Bunu eklerseniz config.xml:

    <translate>
        <modules>
            <[Namespace]_[Module]>
                <files>
                    <default>[Namespace]_[Module].csv</default>
                    <alternative>[Namespace]_[Module]_version2.csv</alternative>
                </files>
            </[Namespace]_[Module]>
        </modules>
    </translate>

Her iki dosya [Namespace]_[Module].csvve [Namespace]_[Module]_version2.csvçeviri için yüklenecektir.

ve beyan edildikleri sıraya göre işleneceklerdir.

Bu nedenle, örneğin bir Mage_Sales.csvdosyayı düzenleme / düzenleme konusunda bir şeye ihtiyaç duymazsanız, sadece çeviri dosyaları listesine başka bir dosya ekleyen bir modül oluşturun.

Bunun gibi bir şey:
app/code/local/Easylife/Sales/etc/config.xml

<?xml version="1.0"?>
<config>
    <modules>
        <Easylife_Sales>
            <version>0.0.1</version>
        </Easylife_Sales>
    </modules>
    <frontend>
        <translate>
            <modules>
                <Mage_Sales>
                    <files>
                        <alternative>Easylife_Sales.csv</alternative>
                    </files>
                </Mage_Sales>
            </modules>
        </translate>
    </frontend>
    <adminhtml>
        <translate>
            <modules>
                <Mage_Sales>
                    <files>
                        <alternative>Easylife_Sales.csv</alternative>
                    </files>
                </Mage_Sales>
            </modules>
        </translate>
    </adminhtml>
</config>

ve modülü bağlı tuttuğunuzdan emin olun Mage_Sales.
Ayrıca çeviriyi yönetmek için "herkese uyan bir beden" modülü de oluşturabilirsiniz. İhtiyacınız olan modül için alternatif bir çeviri dosyası ekleyin ve bu yeni modülün hepsine bağlı olduğundan emin olun.


Sadece app/locale/**/Easylife_Sales.csvbu dosyaya bakacak mı? Dosya sisteminizin dizin ayırıcısını bildiğiniz sürece alt klasörlere de izin vereceğini varsayıyorum?
pspahn

Sanırım eğer istersen alt klasörleri kullanabilirsin. Sadece hiç denemedim.
Marius

9

İçinde bulunan CSV dosyaları app/localeçekirdek dosyalar olarak kabul edilmeli ve değiştirilmemelidir. Özel çeviri eklemenin en iyi yolunun onları içine koymak olduğunu buluyorumapp/design/frontend/{package}/{theme}/locale/{locale}/translate.csv

Modül adlarını translate.csvdosyalarda kullanmanın "Mage_Adminhtml::Sales","Sales"yerine bunun yerine kullanabileceğinizi lütfen unutmayın "Sales","Sales". Bu, ayrıca belirli temalara göre uyarlanmış çevirileri kullanmanıza izin verir.


1
Tema yerel dosyası işleri yapmanın iyi ve hızlı bir yoludur, ancak aynı örnekte birden fazla tema varsa?
Marius

2
Neredeyse her zaman temaya özel çeviriler kullanmayı tercih ederim - bazen temanın daha az yeri vardır ve bunun yerine kısaltmaları kullanmam gerekir. Bu aynı zamanda tema testini daha basit hale getirir.
Pronto,

@Pronto Dediğiniz gibi yaptım ama bir nedenden ötürü Magento sadece translate.csv app/locale/dosyasını yükleyecekti, app/design/frontend/{package}/{theme}/locale/onun yerine yüklemesini nasıl söylerim ?
Justin

4

Tasarım / temaya özgü "translate.csv" dosyasını düzenleyebilir / oluşturabilirsiniz. Bir "modül-çeviri-dosyasındaki" çeviriyi geçersiz kılmak için. örneğin "Mage_Catalog.csv":

"Mage_Catalog::add to basket","into Basket"

Dolayısıyla Kural "Modül Ad Alanı :: çevrilecek dize", "çevrilmiş dize" dir. Bunun Magento çeviri İş Akışının son kuralı olduğunu düşünüyorum.


1

SemExpert'de tam olarak bunu yapıyoruz. Kendi es_AR çeviri paketimiz (CSV dosyaları ve e-posta şablonları ile) sahibiz ve ardından tüm özelleştirmeler translate.csv veya satır içi çeviri özelliği (çok nadir son kullanıcı durumlarda) ile yapılır.

Magento güncellemesi nedeniyle çeviri dosyalarını kaybetme riskini almıyoruz (çünkü olasılıkla es_AR'ı kutudan çıkarmaları pek mümkün değil, ancak Magento'nun dizelerinde küçük değişiklikler yapmaktan muzdarip oluyoruz ('eklenmesi gibi). ingilizce dizeleri yapan cümlenin sonu) en az beklediğiniz zaman görünür.

Yeni bir Mage sürümü çıktığında kullandığımız çeviri dizgilerini izlemek için küçük bir modül geliştirmeye başladım. Burada bulabilirsiniz: https://github.com/barbazul/SemExpert_TranslationDoctor

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.