Skip to content
This repository has been archived by the owner on Nov 22, 2018. It is now read-only.

Localization

Sercan Gurbuz edited this page Dec 30, 2016 · 3 revisions

Rota varsayilan olarak sadece Türkce ve Ingilizce destekler.Çevrim işlemleri için requireJs i18N plugin'i kullanılır.Bu plugin aktif culture'e göre server taraftan ilgili localization key/value dosyasini client'a indirir.

Bu dosyalar app klasörünün altında resources dizini altında olmalidir.nls klasör yapısı için ilgili plugin'i inceleyebilirsiniz.

enter image description here

app/resources/nls klasörünün altına ilgili culture bilgisine gore 2 adet klasör mevcuttur.tr-tr ve en-us İlgili culture klasörler'inin altına aşagidaki yapıda ayrı ayrı js dosyasi eklenmeli.

define({
    todo: {
        todolist: 'Todo List',
        todo: 'Task',
        done: 'Done',
        states: {
            deleted : 'Deleted',
            added : 'Added'
        }
    }
});

Her nested object,octate ile ayrılarak ifade edilir. todo.states.deleted gibi Rota'nin kendi kullandığı localization resource dosyaları rota/resources altındadir.rota.* ile başlar.

Localization işlemleri 3 farklı şekilde olabilir.Directive,filter ve servis ile.

##i18n directive

<h1 i18n="rota.tamam"></h1>

i18n attr value degeri olarak key bilgisini veriyoruz

##i18n filter

<h1>{{"rota.tamam" | i18n}}</h1>

##Localization service

Localization service'ini inceleyebilirsiniz.

#Dinamik resources

Eger DB'den ilgili resource bilgilerini yüklemek isterseniz aşağıdaki şekilde Resourceservisini inject edip extend edebilirsiniz.

//startup.ts
import * as dynamicresource from "...";

App.run(['Resource', (resource: any): void => {
        //Extend resources from server to statics
        resource = angular.extend(resource, dynamicresource);           
    }
]);