Değişken içeren çeviriler

Başlatan guopx, 20 Ekim 2012 - 18:55:39

« önceki - sonraki »

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.

guopx

Değişkenden kastım örneğin benim karşılaştığım durum şu:
my weather indicator uygulamasında
msgid "Updated %s minutes ago"
gibi bir durum var nasıl çevirirsem çevireyim işe yaramıyor
mesela "Güncel %s dakika oldu" olarak çeviriyorum mesela sonra .po dosyasını .mo ya dönüştürüp locale-langpack içindeki yerine atıyorum ama değişkenden dolayı işe yaramıyor. Yine "updated bilmemkaç minutes ago " çıkıyor
bunun bir çözümü var mı
Sevdiklerine sevdiğini söyle çok geç olmadan.

alquirel

Çeviri dosyasını doğru yere attıktan sonra oturumu kapatıp açmanız gerekebilir. Değişikliğin hemen yansıyacağını zannetmiyorum.

Bu arada, %s ifadesini cümle içerisinde istediğiniz yere koyabilirsiniz, çeviri açısından sorun çıkarmaz.
(mesela %s dakika önce güncellendi)

guopx

@alquirel
başta  "%s dakika önce güncellendi" yapmıştım türkçe karakterden dolayı olmuyor diye böyle yaptım. .mo dosyasını /usr/share/locale-langpack/tr/LC_MESSAGES altından alıyorum sonra burayı kullanarak http://tools.konstruktors.com/ .po ya çevirip geditle düzenliyorum. oturumu kapatıp açtım hatta yeniden başlattım ama olmuyor
http://imgim.com/ffffffffff.png
gerçi çok önemli bir mesele değil  ::)
Sevdiklerine sevdiğini söyle çok geç olmadan.

heartsmagic

Peki onun haricinde başka bir yeri değiştirdiğinde yansıyor mu? Bir de .po dosyasını derlemek için sistemde kurulu olan msgfmt uygulamasını kullanabilirsin deneme babından.
Hayattan çıkarı olmayanların, ölümden de çıkarı olmayacaktır.
Hayatlarıyla yanlış olanların ölümleriyle doğru olmalarına imkân var mıdır?


Böylece yalan, dünyanın düzenine dönüştürülüyor.

guopx

Yaptığım bütün değişiklikler görünüyor sitenin yanlış çevirdiğini sanmıyorum. Hatta çeviriyi ilk başta launchpad de yaptım sonra .mo dosyasını e-mail attılar onda da aynı.
Sevdiklerine sevdiğini söyle çok geç olmadan.

alquirel

#5
Ben genelde Poedit uygulamasıyla .po dosyasını açıyorum. Değişiklik yaptıktan sonra "Kaydet" deyince .mo dosyasını kendisi oluşturuyor. .mo dosyasını da /usr/share/locale/tr/LC_MESSAGES dizinine koyuyorum.

Bu arada, resimden gördüğüm kadarıyla sadece bu cümlede sıkıntı var. Şunları deneyebilirsin:

- O cümleyi %s kullanmadan çevir, deneme amaçlı. Sorunun %s ifadesinden kaynaklanıp kaynaklanmadığını görürüz.
- Kullandığın site büyük ihtimalle yanlış çevirmiyordur, ama başta veya sonda bir boşluk karakteri gözden kaçıyorsa çeviri imkansız hale gelir malesef.
- Benim bildiğim benim yazdığım dizindeki çeviri dosyaları diğer dizinlerdekini eziyor, yani aynı cümle iki farklı çeviri dosyasında geçiyorsa benim yazdığım dizindeki geçerli oluyor. Olmaz da, hani olduysa diye bir de benim dizini deneyebilirsin.

heartsmagic

Peki oraya %s değil de örneğin "567 dakika önce güncellendi" dediğinde değişiklik oluyor mu?
Hayattan çıkarı olmayanların, ölümden de çıkarı olmayacaktır.
Hayatlarıyla yanlış olanların ölümleriyle doğru olmalarına imkân var mıdır?


Böylece yalan, dünyanın düzenine dönüştürülüyor.

guopx

@alquirel poedit ile de denedim. Bu arada poedit güzelmiş :)
Benim dizininden kastınız neresi pek anlayamadım kusura bakmayın :(
@heartsmagic söylediğinizi yaptım ("567 dakika önce güncellendi") şeklinde ama yine görmedi updated .. minutes devam ediyor
Çevrilen kısmın parantez içinde olması etkiliyor olabilir
Sevdiklerine sevdiğini söyle çok geç olmadan.

alquirel

Alıntı yapılan: guopx - 20 Ekim 2012 - 22:44:47
Benim dizininden kastınız neresi pek anlayamadım kusura bakmayın :(

Sistemde birden fazla çeviri klasörü olabiliyor. Hatta kullanıcı dizininden bile çeviri okunabiliyor. Hâl böyle olunca bunun da bir hiyerarşisi olması gerekiyor birden fazla kez çevrilen aynı cümleler için :)

Benim dizin dediğim şurası : /usr/share/locale/tr/LC_MESSAGES  (yani locale-langpack değil)

Bu arada, buradaki çevirilerin diğerlerini ezdiğinden, yani en üstteki dizinin bu olduğundan tam emin değilim, sadece deneme amaçlı söylüyorum.

guopx

@alquirel
Locale dizini içinde  my-weather-indicator.mo dosyası yok. Ev klasörünü de aradım orda da yok. İlgilendiğiniz için çok teşekkür ederim dediğim gibi önemli bir mevzu değil
Sevdiklerine sevdiğini söyle çok geç olmadan.

alquirel

Eksik anlattım sanırım.

.mo dosyasını locale/tr dizini içerisine sen koyacaksın. Yani locale-langpack dizini için yaptığının aynısını locale dizini için yapacaksın ;)

guopx

Tamam şimdi anladım kusura bakmayın :)
Ama yine olmadı :(
Sevdiklerine sevdiğini söyle çok geç olmadan.

alquirel

Bu durumda tek ihtimal kalıyor, o da orjinal cümlenin kendisinde sorun var :)

guopx

Bir şeyi merak ediyorum diğer uygulamaların çevirilerini yaparken böyle değişkenlerle karşılaşmışsınızdır. Normalde problem olmuyor mu yani normalde %s ifadesini cümlenin herhangi bir yerinde kullanabiliyor muyuz?
Sevdiklerine sevdiğini söyle çok geç olmadan.

alquirel

Evet, kullanabiliyoruz, hatta birden fazla varsa %1$s  %2$s gibi sıralayabiliyoruz bile.

heartsmagic

İlginç bir sorun :) Parantezler sorun değildir sanırım, orayı ayrı bir yerden okuyordur.
Hayattan çıkarı olmayanların, ölümden de çıkarı olmayacaktır.
Hayatlarıyla yanlış olanların ölümleriyle doğru olmalarına imkân var mıdır?


Böylece yalan, dünyanın düzenine dönüştürülüyor.

gecegezen

#16
Wally isimli programın çevisi ile uğraşmıştım programda mo dosyaları sistemdekilerin yanında değil kendi dizinin içinde duruyordu ve tr olarak ekleyice çalışmıyordu ama var olanlardan birinin ismi ile kaydedince çalışıyordu böyle bir durumda olabilir belki
-------------------
pardon resmi bakınca anladım. Burdaki olay başka, programlamadan kaynaklanan bir sorun olabilir bence. Diğer dillerde de benzer bir durum var mı? Rusca başlatmayı denemek için.
env LANGUAGE=ru LC_ALL=ru_RU.UTF-8
Yotube kanalım hepinizi beklerim...
https://www.youtube.com/channel/UCsRQPZxNJKZbfpGy6r97nJw

guopx

@gecegezen
Evet türkçeden kaynaklanan bir problem değil.Rusçada da aynı muhabbet var. Haklısın galiba  programlamadan kaynaklanan bir sorun.
http://imgim.com/vvvvvvvvvv.png
Sevdiklerine sevdiğini söyle çok geç olmadan.