i18n dil değiştirici ayarları sorunu

We encourage users to post events happening in the community to the community events group on https://www.drupal.org.
Orkut Murat Yılmaz's picture

selamlar,

http://www.fematek.com adresinde kurmuş olduğum drupal 6.19 çekirdek ve Internationalization 6.x-1.7 kullanıyorum.

Diller/multilingual system sayfasında, "Mixed current language (if available) or default language (if not) and language neutral." seçili. pathauto kurulu durumda.

şimdi sorunum şu:

site ayarları/diller/ayarla bölümünden "Dil başvurulu yol öneki"ni seçtiğim zaman "dil değiştirici" bloğundaki English ve Turkish'i tıkladığım zaman hep Türkçe ana sayfaya düşüyorum. English sayfalara "Hide content translation links" aktif değilken ulaşabiliyorum ama bu kez de menüler çalışmıyor. üstelik eriştiğim sayfaların url'leri hep "node/40" biçiminde kalıyor. anasayfa ya da başka bir sayfa tanımlamam mümkün olmuyor.

site ayarları/diller/ayarla bölümünden "Sadece yol öneki"ni seçtiğim zaman da dil değiştirici gene çalışmıyor. yalnızca adres satırına fematek.com ya da fematek.com/tr yazdığım zaman TR ve EN siteleri sorunsuzca gezebiliyorum. ancak açılış sayfasını (dil default olarak EN olmadan bu sistem de çalışmadığından) EN yapmak gerekiyor bu durumda. "dil değiştirici" yerine statik bir link bloğu koydum sağa geçici olarak.

acaba bu konularda daha önce çalışmış olan var mıdır? içinden bir türlü çıkamadım. yaptığım aramalarda karşılaştığım tüm tutorial'ları da uyguladım.

yardımlarınız için şimdiden teşekkür ederim.

esenlikle:)

Comments

bazı tecrübelerim

muratsalma's picture

çok dilli drupal siteleriyle ilgili -aslında kolay çözümü olan- bazı sorunlar yaşamıştım.
"dil başvurulu yol ön eki" ile "yol ön eki" hemen hemen aynı şey, ilkinde galiba tarayıcının diline veya oturum açmışsa kullanıcının diline göre belirliyor site sunum dilini. ikincide varsayılan dile düşüyorsun anasayfada sonra manuel olarak seçiyorsun.
dikkat etmeni tavsiye ettiğim şeyler şunlar:

  • oluşturduğun menülerin hangi dillerde etkin olduğuna dikkat et; menü yönetimine git, menüyü seç, menü öğesini seç ve dilini ayarla.
  • en çok takıldığım ve kafa karıştırıcı sorunlardan biri de anasayfa. site ayarlarından node/1 gibi bir anasayfa belirtirsen ortalık karışabilir. çünkü belirli bir node tek dil demektir. tercümerler ise birden fazla node'dan oluşur yani node/1 türkçe iken aynı sayfanın tercümesi node/2 olabilir. aslına ikisi de aynı sayfanın tercümeleridir ama teknik olarak ayrı node'lardır. bu yüzden anasayfayı belirtirken 'path alias' olarak belirtmek gerekir. mesela icerik/anasayfa gibi. sonra tercümeler eklenir ve o anki site diline göre icerik/anasayfa'ya karşılık gelen numaradaki node yüklenir. eğer anasayfa tek bir node ise ve dili de 'language neutral' ise (yani dilden bağımsızsa) menülerinde ve dil seçim bloklarında istediğin şeyleri göremeyebilirsin.
  • bir de çok dilli sistem ilk etkinleştirildiğinde dillerin "yol ön ekleri" boş olabiliyor. yani dil ayarlarına gidip ingilizce için yol ön eki olarak "en" girmen gerekebilir.

benim kendi çok dilli sitelerimde tercih ettiğim dil değiştirme metodu ise dil değiştirme bloğu ve "content translation links"i devre dışı bırakmak ve dümdüz bir link koymak. çünkü sitenin Türkçe'sinde bulunan her şeyin birebir karşılığı diğer dilde olmayabiliyor ve içeriğin yönetimi çok zor oluyor.
ben dil değiştirme için tema'nın içine (veya bir blok olarak) sabit bir link koyuyorum ve link o anki node'un tercümesine değil, seçilen dilin anasayfasına götürüyor.
page.tpl.php veya page-front.tpl.php içine koyduğum link ise şöyle:
<a href="<?php print $base_path . 'tr'; ?>">Türkçe</a>
ve tabi diğer diller için.
kolay gelsin.

ayarlar

bilvanisli's picture

http://drupal.org/node/313272 bu konuya bakmanı öneririm. Site frontpage değerini multilingual yaparsan "tr/admin/settings/site-information" sayfasından türkçe için anasayfayı, "en/admin/settings/site-information" sayfasından ingilizce için anasayfayı belirtirsin. burada tr ve en ön eklerdir.

teşekkür ederim

Orkut Murat Yılmaz's picture

her iki yanıt da çok yardımcı oldu. teşekkür ederim:)