> For the complete documentation index, see [llms.txt](https://docs.liman.dev/eklenti-gelistirme/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.liman.dev/eklenti-gelistirme/ileri-seviye/yerellestirme.md).

# Yerelleştirme

## Yerelleştirme nedir?

**Yerelleştirme**, yazılım geliştirme sürecinde, içeriklerin (kitaplar, filmler, Ağ Sayfaları), süreçlerin, ürünlerin ve özellikle bilgisayar yazılımlarının (Software) belirli bir coğrafyaya ya da etnik topluluğa özgü pazar ya da coğrafi bölgede (ülke, bölge ya da etnik gruplar) geçerli yerel dilsel ve kültürel özelliklere uyarlanmasıdır.

Bu sözcüğün İngilizcesi olan localization (Amerikan İngilizcesi) ya da localisation (İngiltere) yazılım geliştiriciler tarafından **L10N** şeklinde kısaltılmıştır. 10 rakamı L ile N harfleri arasında kalan harflerin sayısını gösterir. Yerelleştirmenin karşıt anlamına gelen I18N ise internationalization için kullanılır.)

## Nasıl yapılır?

Liman üzerinde yerelleştirme yapabilmek için sağladığımız yardımcı fonksiyonlar mevcuttur. Bu yardımcı fonksiyon diğer PHP projelerinizden de hakim olabileceğiniz üzerine double underscore fonksiyonudur. `__()` şeklinde tanımlanır.

### Blade içerisinde yerelleştirme

{% code title="main.blade.php" %}

```php
{{ __("Türkçe string") }}
```

{% endcode %}

Blade viewları üzerinde yerelleştirme yaparken yukarıdaki görüntüyü kullanırız. Çifte süslü parantez kullanımının içerisinde yerelleştirme fonksiyonunu çağırabiliriz.

### Javascript üzerinde yerelleştirme

Liman eklentileri üzerinde yerelleştirmeyi sağlayabilmek ve PHP'den gelen veriye göre değişken script gösterimi yapabilmek için yine Blade kullanıyoruz. Örnek eklentimizde görebileceğiniz üzere her tab için ayrı bir scripts.blade.php dosyası tanımlanmaktadır. Yine de bizim temel olarak "Yükleniyor..." yazısında kullandığımız örneği görelim.

{% code title="scripts.blade.php" %}

```php
showSwal("{{__('Yükleniyor...')}}", 'info', 2000);
```

{% endcode %}

### Çevirileri oluşturma

Çeviriler için eklenti klasörünüzdeki `lang` klasörünü kullanmaktayız. Türkçe girdiğimiz stringler için **en.json** dosyası üzerinde key olarak Türkçe stringin kendisini, diğer tarafa da İngilizce çevirisini eklemeliyiz. Örnek olarak kendi eklentiniz içerisindeki **en.json** dosyasını inceleyebilirsiniz.

{% code title="en.json" %}

```javascript
{
    "Sandbox Elemanları": "Sandbox Components",
    "Kullanıcı Ayarları": "Kullanıcı Ayarları",
    "Grup Ayarları": "Grup Ayarları",
    "Merhaba Dünya!": "Hello World!",
    "Hostname Değiştir": "Change Hostname",
    "Durdur": "Stop",
    "Task çalıştırılıyor...": "Running task...",
    "Görev İşleniyor": "Executing Task"
}
```

{% endcode %}
