Redmine'ı Herhangi Bir Dil'e Nasıl Çevirilir

5/26/2020
5 minutes
Lukáš Beňa.

Redmine'nin en büyük özelliklerinden biri, bu proje yönetimi uygulamasını istediğiniz herhangi bir dile kolayca çevirebilmenizdir.

Uyarı: Bu makaledeki bilgiler yalnızca Redmine için geçerlidir ve Easy Redmine için geçerli değildir.

Redmine çevirisi söz konusu olduğunda, birkaç şeyi çevirmeniz gerekmektedir:

  • Birincil dil dosyası: Bu dosya mevcut ana dalda bulunur: /trunk/config/locales.
  • Wiki araç çubuğu dil dosyası: Bu dosya kaynakta bulunur: trunk/public/javascripts/jstoolbar/lang
  • 4 paketlenmiş yardım dosyası: Tüm bu dosyalar, dil alt etiketine göre adlandırılan bir alt dizinde bulunur: trunk/public/help/

Bir örnek olarak, Redmine uygulamasını Fince diline çevirmek istediğinizi varsayalım (Dil Alt Etiket Kaydı dil olarak "fi" olarak tanımlar). Bunu yapmak için aşağıdaki adımları izlemelisiniz:


Adımlar

  • Adım 1: /config/locales/en.yml dosyasını /config/locales/fi.yml dosyasına kopyalayın
  • Adım 2: /public/javascripts/jstoolbar/lang/jstoolbar-en.js dosyasını /public/javascripts/jstoolbar/lang/jstoolbar-fi.js dosyasına kopyalayın
  • Adım 3: /public/help/en/* dosyalarını /public/help/fi/* dizinine kopyalayın.
  • Adım 4: fi.yml dosyasında general_lang_name anahtarını yeni dilin tam adıyla değiştirin (bu örnekte: general_lang_name: Finnish)
  • Adım 5: Son olarak, uygulama önbelleğini temizleyin. Bu, yeni dilin (Fince) Redmine yazılımında kullanılabilir hale gelmesini sağlar (örnek olarak, rake tmp:cache:clear)

Yukarıdaki adımları takip ettikten sonra aşağıdaki adımlara devam edin:

  • Adım 6: jstoolbar-fi.js ve fi.yml dosyalarındaki her dizeyi çevirin ve 4 yardım dosyasının içeriğini çevirin (wiki_syntax_markdown.html, wiki_syntax_textile.html, wiki_syntax_detailed_markdown.html ve wiki_syntax_detailed_textile.html)
  • Adım 7: Çevirinizi test etmek için rake görevlerini kullanın (aşağıda ayrıntıları verilmiştir). Herhangi bir yerelleştirme ile ilgili hataları düzeltmelisiniz (varsa).
  • Adım 8: Çevirinizi yama veya düz dosya olarak gönderin (giriş yapmanız gerekecektir). Kategori listesinden "Çeviri" seçin.
  • Adım 9: Nihayet ve en önemlisi, çeviri çalışmanızın tadını çıkarın!


Rake Görevleri:

  • Eğer Ruby 1.9 sürümünü veya daha yenisini kullanıyorsanız:

rake locales:check_parsing_by_psych

  • Tüm Ruby sürümlerinde:

rake locales:check_interpolation

  • Tüm testler (bu isteğe bağlıdır): rake test

"rake test" komutunun oldukça uzun bir süre gerektirdiğini ve otomatik olarak CI (Sürekli Entegrasyon) sunucusunda çalıştığını unutmayın.


Uygulanan Sınırlamalar

Bazı sınırlamalar olduğunu unutmayın

  • Tüm dosyaların 8-bit Unicode Dönüşüm Formatı (UTF-8) kodlamasıyla olması gerekmektedir. Çevrilen dizelerde HTML (Hipermetin İşaretleme Dili) öğelerini kullanmayın.
  • Dosyalarınızın Byte-order mark (BOM) içermediğinden emin olun. Byte-order mark'ı şu komutla kaldırabilirsiniz: awk '{if(NR==1)sub(/^\xef\xbb\xbf/, "");print}' < oldfile > newfile
  • Yalnızca çeviri dosyalarının yeni dosyalarına dayalı güncellemeleri göndermelisiniz (bu güncellemeleri /config/locales içinde bulabilirsiniz)


Dil Dosyalarına Yapılan Güncellemeler

"en.yml" dosyası birincil dil dosyası olarak görev yapar. rake locales:update komutunu çalıştırarak yeni dizelerin olup olmadığını kontrol edebilirsiniz. Bu komut, yeni dizeleri diğer çeviri dosyalarına kopyalar (varsayılan değer İngilizce çeviridir).

Redmine'deki çeviride, özelleştirilebilir terimler içeren çevirileri desteklemek için 3. taraf eklentilerini etkinleştirebilirsiniz.


Redmine'da Çeviriler Üzerinde Terimleri Özelleştirme

  • Var olan dizini eklenti içinde config/overrides/<locale> olarak ayarlayın
  • Mevcut 000.yml dosyasını ./XXX.yml olarak kopyalayın. Burada "XXX", tanımlarınızın önceliğini belirleyen üç basamaklı bir sayıdır: Sayı ne kadar yüksekse, öncelik o kadar yüksek olur. 999.yml oluşturulmasından kaçınmak en iyisidir. Bu, ek geçersiz kılmalara daha fazla yer bırakmanıza olanak sağlar.
  • Değiştirmek istemediğiniz belirli tanımları filtreleyin. Bu şekilde, daha düşük önceliğe sahip bir dosya, karışmak istemediğiniz öğelere değişikliklerini uygulayabilir.
  • Kalan terimlere kendi tanımlarınızı uygulayın


Eklentinizde Özelleştirilebilir Destekleyici Terimler

  • Gerektiğinde, eklentiyi yüklemediğiniz durumlarda düzgün çalışması için config/locales altında çeviri dosyaları sağlayın. Eğer yapmazsanız, init.rb dosyanızda bu eklentiyi açıkça gerektirmeniz gerekmektedir. Daha fazla bilgi için Redmine belgelerine bakabilirsiniz.
  • config/locales altında yerel ayarlarınızı kopyalayın
  • 000.yml içinde geçersiz kılınabilen her listelenen terim için, bir araya getirme uygulamak için çevirileri değiştirin. Örneğin, bir sorun yazdırdığınızda, kelimeyi %{issue} ile değiştirmeniz gerekmektedir. Ayrıca, sorun(lar) yazdırdığınızda, kelimeyi %{issue_or_issues} ile değiştirmeniz gerekmektedir.
  • Eklentinizde daha fazla geçersiz kılınabilen terimi destekleyebilirsiniz. Ancak, bunu temel Redmine'da da kullanıyorsanız, Redmine terimleri için araya giren tanımlar eklemeniz gerekmektedir.

Bir örnek olarak, elokallerinizde yeni bir %{my_term} terimini destekleyebilirsiniz. Eğer çeviri Redmine terimlerinde de kullanılıyorsa, tutarlılık sağlamak için %{my_term} yerine doğru bir şekilde değiştirerek elokallerinize dahil edersiniz.

Easy Redmine'ı 30 gün ücretsiz deneyin

Tam özellikli, SSL korumalı, günlük yedeklemeler, bulunduğunuz konumda