> ## Documentation Index
> Fetch the complete documentation index at: https://documentation.onesignal.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Çok dilli mesajlaşma

> OneSignal'in dashboard'u veya API'sini kullanarak push, e-posta ve uygulama içi mesajlaşma genelinde birden fazla dilde kişiselleştirilmiş mesajlar gönderin.

Bu kılavuz, OneSignal'de bir kullanıcının dilinin nasıl ayarlanacağını ve push bildirimleri, e-postalar ve uygulama içi mesajlarda tercih ettikleri dilde mesajların nasıl gönderileceğini açıklar.

## Kullanıcının dilini ayarlayın

OneSignal, web veya mobil SDK'lar kullanılarak bir kullanıcı ilk oluşturulduğunda `language` özelliğini cihazın dilinden otomatik olarak ayarlar.

Ayrıca kullanıcının dilini [ISO 639-1](#supported-languages) 2 harfli dil kodunu kullanarak manuel olarak ayarlayabilir veya güncelleyebilirsiniz:

1. SDK'nın `setLanguage` metodu.
2. [Create user](/reference/create-user) veya [Update user](/reference/update-user) API'lerindeki `language` alanı.
3. [CSV İçe Aktarıcı](./import)'daki `language` sütunu.

<Note>
  Geçerli dil kodlarının listesi için [Desteklenen diller](#supported-languages)'e bakın.
</Note>

***

## Farklı dillerde mesajlar gönderin

Mesajlaşma kanalına göre yerelleştirme seçeneklerini görüntülemek için aşağıdaki sekmeleri kullanın.

<Tabs>
  <Tab title="Push Notifications">
    ### Dashboard'dan gönderme

    **Messages > Push > New Message** veya [Şablonlar](./templates)'dan **Add Languages**'e tıklayın. Şunlardan birini seçin:

    #### Seçenek 1: Onay kutuları

    Desteklediğiniz dilleri seçin. Seçilmeyen herhangi bir dil Any/İngilizce'ye geri dönecektir.

    <Frame caption="Dilleri seçmek için onay kutularını kullanma.">
      <img src="https://mintcdn.com/onesignal/jFWn5xzleD8du3j6/images/docs/6291cdff9431f4ac7c4cbb7cbeff8d39f06c9cd5332f0b9b9309f8ff1071632a-Screenshot_2025-01-30_at_10.30.54_AM.png?fit=max&auto=format&n=jFWn5xzleD8du3j6&q=85&s=0fb96aa3471800377551d68effdfa1ae" width="1390" height="924" data-path="images/docs/6291cdff9431f4ac7c4cbb7cbeff8d39f06c9cd5332f0b9b9309f8ff1071632a-Screenshot_2025-01-30_at_10.30.54_AM.png" />
    </Frame>

    #### Seçenek 2: Dil içeriğini içe aktarma

    Mesajı her dilde biçimlendirmek için sağlanan şablonu kullanın.

    <Frame caption="Elektronik tablodan verileri kopyalayıp yapıştırma için modal.">
      <img src="https://mintcdn.com/onesignal/jFWn5xzleD8du3j6/images/docs/5aa9be9a86f23eaef5810d84496e974d3ec911f884e3bd2e4765cb97faa94e76-Screenshot_2025-01-30_at_10.46.31_AM.png?fit=max&auto=format&n=jFWn5xzleD8du3j6&q=85&s=06d2858a2e8eef6019f4b87ec9b862f6" width="1780" height="1018" data-path="images/docs/5aa9be9a86f23eaef5810d84496e974d3ec911f884e3bd2e4765cb97faa94e76-Screenshot_2025-01-30_at_10.46.31_AM.png" />
    </Frame>

    İçeriği "Add Languages" alanına geri kopyalayıp yapıştırın.

    <Frame caption="Örnek veri içeren modal.">
      <img src="https://mintcdn.com/onesignal/jFWn5xzleD8du3j6/images/docs/5661f24c79e47b246eaffc22955de3b5dfbc8ab746958b0c0db82a997a2ad5d3-Screenshot_2025-01-30_at_10.53.34_AM.png?fit=max&auto=format&n=jFWn5xzleD8du3j6&q=85&s=b1fd2210bc3fb85c554b0f71ffbd2f94" width="1780" height="1018" data-path="images/docs/5661f24c79e47b246eaffc22955de3b5dfbc8ab746958b0c0db82a997a2ad5d3-Screenshot_2025-01-30_at_10.53.34_AM.png" />
    </Frame>

    Çift kontrol etmek için içeriği önizleyin, içeriği ekleyin ve editörde belirlenen içerik doldurulmuş şekilde yeni sekmeler görünecektir.

    <Frame caption="İçerik önizlemesi.">
      <img src="https://mintcdn.com/onesignal/jBdBk5XvQR5eKOks/images/docs/7acf7e51c3b6dd2ace8c4da6acd04942ca1a10086949e2f7ffd1c88328f1f78e-Screenshot_2025-01-30_at_10.54.27_AM.png?fit=max&auto=format&n=jBdBk5XvQR5eKOks&q=85&s=323fa5b31d9905bde453aa0ad893d919" width="1584" height="664" data-path="images/docs/7acf7e51c3b6dd2ace8c4da6acd04942ca1a10086949e2f7ffd1c88328f1f78e-Screenshot_2025-01-30_at_10.54.27_AM.png" />
    </Frame>

    #### Seçenek 3: Dinamik İçerik

    Desteklediğiniz dillerle bir CSV dosyası oluşturmayı ve yüklemeyi içeren [Dinamik İçerik](./dynamic-content)'i kullanın.

    #### Sorun giderme

    * **İngilizce gerekli**: Varsayılan olarak `en` için bir satır ekleyin.
    * **Doğru başlıkları kullanın**: `language_code`, `title`, `subtitle`, `message`
    * **Virgülle ayrılmış değerler**: Uygun CSV biçimlendirmesini sağlayın.
    * **Desteklenmeyen dil**: UI veya şablonda listelenmiyorsa, desteklenmez. Bir sonraki en iyi seçeneği kullanın ve `support@onesignal.com` ile iletişime geçin.

    <Info>
      Dashboard editörü standart bir HTML alanı kullanır. `%` gibi özel karakterler RTL dillerinde görüntüleme sorunlarına neden olabilir. Biçimlendirme sorunlarını düzeltmek için bu karakterlerden sonra [RLM işaretleri](https://en.wikipedia.org/wiki/Right-to-left_mark) ekleyin.
    </Info>

    ***

    ### API ile gönderme

    `contents` ve `headings` alanları birden fazla dili destekler:

    ```json theme={null}
      {
        "contents": {
          "en": "English content",
          "fr": "French content"
        },
        "headings": {
          "en": "English heading",
          "fr": "French heading"
        }
      }
    ```
  </Tab>

  <Tab title="Email">
    ### Dashboard'dan gönderme

    **Messages > Email > New Message** veya [Şablonlar](./templates)'dan şunlardan birini seçin:

    #### Seçenek 1: Segmentler

    1. Her dil için bir segment oluşturun.
    2. Her dil için bir şablon oluşturun.
    3. Her birini ilgili segmentine gönderin.

    #### Seçenek 2: Liquid sözdizimi

    Mesajda koşullu ifadeler oluşturmak ve kullanıcının diline göre uygun içeriği oluşturmak için [Liquid sözdizimi](./using-liquid-syntax) ve [özellik veya etiket değiştirme](./message-personalization) kullanın.

    ```text Liquid theme={null}
    {% assign language = subscription.language %}
    {% if language == 'fr' %}
      Bonjour {{ name }}!
    {% elsif language == 'es' %}
      Hola {{ name }}!
    {% else %}
      Hi {{ name }}!
    {% endif %}
    ```

    <Frame caption="Liquid sözdizimi kullanan çok dilli e-posta şablonu örneği.">
      <img src="https://mintcdn.com/onesignal/3zq1PvSaqvUE2bIx/images/docs/220a329-Multi-Language_Graphic_4.png?fit=max&auto=format&n=3zq1PvSaqvUE2bIx&q=85&s=3e02125c87dbdf72ca3708c289831394" width="1869" height="1853" data-path="images/docs/220a329-Multi-Language_Graphic_4.png" />
    </Frame>

    #### Seçenek 3: Dinamik İçerik

    Desteklediğiniz dillerle bir CSV dosyası oluşturmayı ve yüklemeyi içeren [Dinamik İçerik](./dynamic-content)'i kullanın.

    ***

    ### API ile gönderme

    [Create message API](/reference/create-message)'yi kullanarak şunları yapabilirsiniz:

    * Dashboard'da yaptığınız gibi dil segmentlerini veya filtrelerini hedefleyin.
    * `custom_data`, özellik veya etiket değiştirme kullanan Liquid sözdizimi ile mesaj Şablonları oluşturun. Bu seçenekler hakkında daha fazla ayrıntı için [Mesaj Kişiselleştirme](./message-personalization)'ye bakın.

    `custom_data` toplu kişiselleştirme örneği:

    ```liquid Template theme={null}
    {% assign eid = message.custom_data.users[subscription.external_id] %}
    Hi {{ eid.first_name }}, you have {{ eid.points }} points. Your level is {{ eid.level }}.
    ```

    ```json API Request theme={null}
    {
      "app_id": "YOUR_APP_ID",
      "template_id": "YOUR_TEMPLATE_ID",
      "include_aliases": {
        "external_id": ["user123", "user456"]
      },
      "custom_data": {
        "users": {
          "user123": { "first_name": "John", "points": "150", "level": "Gold" },
          "user456": { "first_name": "Sarah", "points": "200", "level": "Platinum" }
        }
      }
    }
    ```

    <Check>
      Müşteri görür:

      * "Hi John, you have 150 points. Your level is Gold."
      * "Hi Sarah, you have 200 points. Your level is Platinum."
    </Check>
  </Tab>

  <Tab title="In-app messages">
    ### Dashboard - Segmentler

    Desteklemeniz gereken her dil için dile özgü bir Uygulama İçi Mesaj göndermek için:

    1. Her dil için bir segment oluşturun.
    2. Her dil için bir uygulama içi mesaj oluşturun.
    3. Her birini ilgili segmentine gönderin.

    ### Etiket değiştirme

    Mesajda koşullu ifadeler oluşturmak ve etiketlere göre uygun içeriği oluşturmak için [Liquid sözdizimi](./using-liquid-syntax) ve [etiket değiştirme](./message-personalization) kullanın.

    <Warning>
      Uygulama içi mesajlar için yalnızca Etiket değiştirme desteklenir.
    </Warning>

    ```Text Tags theme={null}
    language : german
    first_name : Jon
    ```

    ```Text Template theme={null}
    {% assign lang = language%}
      {% if lang == "english" %}
        Good day {{first_name}}!
      {%- elsif lang == 'german' -%}
        Guten Tag {{first_name}}!
      {%- elsif lang == 'spanish' -%}
        Buenos Dias {{first_name}}!
      {%- elsif lang == 'french' -%}
        Bonjour {{first_name}}!
      {% else %}
        Hello {{first_name}}!
    {% endif %}
    ```

    ```Text Result theme={null}
    Guten Tag Jon!
    ```
  </Tab>

  <Tab title="SMS">
    ### Dashboard'dan gönderme

    **Messages > SMS > New Message** veya [Şablonlar](./templates)'dan şunlardan birini seçin:

    #### Seçenek 1: Segmentler

    1. Her dil için bir segment oluşturun.
    2. Her dil için bir şablon oluşturun.
    3. Her birini ilgili segmentine gönderin.

    #### Seçenek 2: Dinamik İçerik

    Desteklediğiniz dillerle bir CSV dosyası oluşturmayı ve yüklemeyi içeren [Dinamik İçerik](./dynamic-content)'i kullanın.

    ***

    ### API ile gönderme

    `contents` ve `headings` alanları birden fazla dili destekler:

    ```json theme={null}
      {
        "contents": {
          "en": "English content",
          "fr": "French content"
        },
        "headings": {
          "en": "English heading",
          "fr": "French heading"
        }
      }
    ```
  </Tab>
</Tabs>

***

## Desteklenen diller

Dil kodu, ISO 639-1 kodu 2 harfli formatında `language` kullanıcı özelliğine eşlenir. Aşağıdaki dil kodlarını destekliyoruz.

<Note>
  Dil kodu açılır pencerede ve CSV şablonunda yoksa, bu dil desteklenmez. Bir sonraki en iyi dili kullanmanızı ve `support@onesignal.com` adresine bir ürün talebi göndermenizi öneririz
</Note>

| Language              | Language Code |
| --------------------- | ------------- |
| English               | en            |
| Arabic                | ar            |
| Azerbaijani           | az            |
| Bosnian               | bs            |
| Catalan               | ca            |
| Chinese (Simplified)  | zh-Hans       |
| Chinese (Traditional) | zh-Hant       |
| Croatian              | hr            |
| Czech                 | cs            |
| Danish                | da            |
| Dutch                 | nl            |
| Estonian              | et            |
| Finnish               | fi            |
| French                | fr            |
| Georgian              | ka            |
| Bulgarian             | bg            |
| German                | de            |
| Greek                 | el            |
| Hindi                 | hi            |
| Hebrew                | he            |
| Hungarian             | hu            |
| Indonesian            | id            |
| Italian               | it            |
| Japanese              | ja            |
| Korean                | ko            |
| Latvian               | lv            |
| Lithuanian            | lt            |
| Malay                 | ms            |
| Norwegian             | nb            |
| Persian               | fa            |
| Polish                | pl            |
| Portuguese            | pt            |
| Punjabi               | pa            |
| Romanian              | ro            |
| Russian               | ru            |
| Serbian               | sr            |
| Slovak                | sk            |
| Spanish               | es            |
| Swedish               | sv            |
| Thai                  | th            |
| Turkish               | tr            |
| Ukrainian             | uk            |
| Vietnamese            | vi            |

***
