# 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 %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.liman.dev/eklenti-gelistirme/ileri-seviye/yerellestirme.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
