30 Aralık 2014 Salı

AngularJS - i18n

Hazırlayacağımız web uygulamasında yerelleştirme sıkça istenen özelliklerden biridir. Metin tercümesi, tarih, zaman, para birimi vs. bunlardan bazılarıdır. Ben bu girdide metin tercümesinin nasıl yapılacağından bahsedeceğim.
Angular'da bu işi yapmak için ben angular-translate'i öneririm. Kullanımı oldukça basit. Aşağıda yer alan örnekte de uygulamanızda nasıl kullanabileceğinizden kısaca bahsedeceğim.
Burada .js ve html kodunun sadece bir kısmına değineceğim. Uygulama üzerinde buradan çalışabilirsiniz.

script.js

  • angular-translate script'ini html'imize ekledikten sonra,istenen metinlerin tercüme edilebilmesi için 'pascalprecht.translate' şeklinde modülümüze bağımlılık olarak ekliyoruz.
  • i18nApp.config(['$translateProvider', şeklinde $translateProvider'i config fonksiyonuna inject ediyoruz.
  • $translateProvider.translations şeklinde ise; her bir dile karşılık gelecek metinleri key: value çifleri şeklinde tanımlıyoruz. Dikkat edecek olursak: 'nav.button.home' text key'i 'en' için 'Home' value olarak tanımlanmışken; 'tr' için 'Anasayfa' şeklinde tanımlanmıştır.
  • $translateProvider.use("en"); şeklinde ise öntanımlı dil olarak 'en' kullanacağını belirtiyoruz. Mevcut kullanılan dili öğrenmek için ise $translateProvider.use(); şeklinde bir çağırım yeterli olacaktı.

app.html

  • {{languageOption.text | translate}} Tercüme için dikkat edilecek olan nokta burası. Bind ettiğimiz $scope değişkeninin yanına | translate şeklinde bir ekleme yapılarak ilgili metnin tercüme edilebilir olduğunu belirtiyoruz
1. http://angular-translate.github.io/

25 Aralık 2014 Perşembe

Hata: npm ERR! peerinvalid The package yo does not satisfy its siblings' peerDependencies

npm(Node package manager) ile generator-angular modülünü kurmak istediğimde "npm ERR! peerinvalid The package yo does not satisfy its siblings' peerDependencies" içeren bir hata mesajı alıyor iseniz; izlememiz gereken adımlar:

1: Remove Yeoman

$ npm uninstall -g yo

2: Clear NPM Cache

$ npm cache clean

3: Upgrade NPM to latest version

$ npm install -g npm

4: Install Yeoman

$ npm install -g yo

5: Install Angular generator

$ npm install -g generator-angular

Referans: http://stackoverflow.com/questions/25618226/cant-install-yeoman-on-windows-8-npm-err-peerinvalid-the-package-yo-does-not