NI Ürünleri İle İlgili Tartışmalar

cancel
Showing results for 
Search instead for 
Did you mean: 

arayüzün dilini değiştirme

 

Sizlere bir sorum olacak. 

LabVIEW kullanarak Almanca bir arayüz yaptık. Bu arayüzdeki control'lerin ve indicator'lerin Türkçe olmasını nasıl sağlayabiliriz. Yani kullanıcı dil seçeneklerinden Türkçeyi seçtiğinde herşey Türkçe olacak ama Almancayı seçtiğinde herşey Almanca olacak. Bu tarz bir uygulama sizce nasıl yapılabilir?

Add 273 on whatever Celcius said.
-Kelvin
0 Kudos
Message 1 of 8
(3,672 Views)

Kontrollerin ve indikatörlerin Caption text poperty nodunu kullanarak ismini değiştirebiliyorsun. Türkçe ve almanca isimleri bir dosyada tutabilirsin. Türkçe seçince dosyadan yükle ve kontrollerin caption textine yazabilirsin. Kontrollerin özelliğinden de label yerine caption seçmelisin. Ancak bu işlemleri yazılım başların da yaptırmanı tavsiye ederim.(initialize)

 

0 Kudos
Message 2 of 8
(3,641 Views)

Bunun yerine ben Türkçe ve Almanca formatındaki caption text'leri bir cluster sabitinin içerisine attım. Daha sonra unbundle fonksiyonu ve select fonksiyonlarını kullanarak kullanıcının seçeceği dile göre yeni caption labellarını atamalarını sağladım. Bu yöntem hali hazırda sıkıntısız olarak iş görüyor zaten. Fakat 40'tan fazla olan caption text property node'ları daha sonra hafızada veya performans miktarında bir sıkıntı çıkarır ım o konuda kararsız kaldım

Add 273 on whatever Celcius said.
-Kelvin
0 Kudos
Message 3 of 8
(3,639 Views)

Sürekli okumazsan bir sıkıntı olmaz. Buton eventinde vb tek okuma yapmalısın. Datayı array gibi biyerde de biriktirmeyeceğin için ram şişmez. Ancak bunu deneyerek bakmalısın. Başlangıç ram kaç, yazılımla 10 -15 kere dil değiştirince ram kaç oluyor ? Seçilen dilin program her açılışında hatırlanması istenebilir. O yüzden cluster to xml yapıp xml de tutmanı öneririm. Lv example kodlarda basitce örnek bulabilirsin.

0 Kudos
Message 4 of 8
(3,626 Views)

Bunun için ücretli 3ncü parti bir kütüphane var.

LabVIEW Localization Toolkit - S.E.A. GmbH

 

Bildiğim kadarı ile yazılım içerisinde bulunan sabit metinleri, etiketleri, başlıkları, ipuçlarını, açıklamaları, vs bulup size listeliyor ve karşılıklarını girdiğinizde bunları değiştiriyor. Ayrıca yazılım içerisine ekleyebileceğiniz bir alt yapı da sanırım sunuyor.

 

Benim çözümüm;

1.Uygulamayı en başta farklı dillere uygun bir alt yapıda kurmak. Bunun için nesne tabanlı bir mimari kurmanız ve dinamik "localization" desteği yapmanız yeterli olacaktır. Dil dosyaları oluşturarak yazılımın dilini dinamik olarak değiştirebilirsiniz ve performans sorunu oluşmaz.

2.Script yazarak yukarıda ücretli verilen uygulamayı yazabilirsiniz. Proje içerisinde bulunan tüm tüm VI ve nesnelerin belirtilen metinlerine erişmek aslında çok da karmaşık bir iş değil. Biraz uğraşarak böyle bir uygulama geliştirebilirsiniz.

3.Hiç önermediğim ve sizin de çözüm olarak uyguladığınız kod içerisinden metinleri elle değiştirmek. Bu iş farklı diller için farklı exe'ler yapmaya kadar gidebilir. Kısa vadede kolay çözüm gibi gelse de uzun vadede pek çok farklı dil için kod değiştirmek ve takip etmek çok zorlayacaktır.

Message 5 of 8
(3,613 Views)

Cevabınız için teşekkürler Zafer bey. Dil eklentisini gelen talepler doğrultusunda ekleyeceğiz ve her programın maksimum 2 dile sahip olmasını sağlayacağız. Sizce yine de property node üzerinden isim değiştirme olayı sıkıntı yaratır mı?

Add 273 on whatever Celcius said.
-Kelvin
0 Kudos
Message 6 of 8
(3,601 Views)

Dil paketi desteği ile program tasarımı yapmak yada 3ncü parti yazılımı kullanmak da aslında "property nodes" kullanımı olan çözümler. Sorun bu değil iş gücü ve zaman. Eğer projeniz çok fazla (yüzlerce, binlerce,...) VI içermiyorsa ve arayüzde görüntülenen her kısmı bulup elle değiştirmek sizin için zaman almayacaksa sorun yok. Bu aslında bir disiplin meselesi. Bir de siz o projeyi bıraktığınızda sizden sonra gelen biri de en az sizin kadar hızlı ve hakim bir şekilde koda müdahale edebilecekse sıkıntı değil 🙂

0 Kudos
Message 7 of 8
(3,594 Views)

Merhabalar Zafer Bey,

Projede çok fazla VI yok 50 tane civarında. RAM kullanımında henüz kayda değer bir artış tespit etmedik. Programın performansı da dil eklentisinden önceki ile aynı durumda. Şuan için bir problem gözükmüyor. Süre içerisinde herhangi bir problem oluşursa durumun kritiğini o zaman yaparız diye düşündük. Önerileriniz için teşekkür ederim.

Add 273 on whatever Celcius said.
-Kelvin
0 Kudos
Message 8 of 8
(3,572 Views)