Skip to content

Konfigürasyon ​

Yapılandırma dosyası config/polyglot-model.php konumunda bulunur.

Tam Konfigürasyon ​

php
<?php

return [
    /*
    |--------------------------------------------------------------------------
    | Kaynak Dil (Source Locale)
    |--------------------------------------------------------------------------
    |
    | Kaynak dil, orijinal içeriğinizin yazıldığı dildir. Bu, hangi alanın
    | kaynağı içerdiğini belirlemek için kullanılır.
    |
    */
    'source_locale' => env('POLYGLOT_SOURCE_LOCALE', 'en'),

    /*
    |--------------------------------------------------------------------------
    | Yedek Dil (Fallback Locale)
    |--------------------------------------------------------------------------
    |
    | Geçerli dil için bir çeviri mevcut olmadığında, paket orijinal alan
    | değerini kullanmadan önce bu dile geri dönecektir.
    |
    */
    'fallback_locale' => env('POLYGLOT_FALLBACK_LOCALE', 'en'),

    /*
    |--------------------------------------------------------------------------
    | Desteklenen Diller (Supported Locales)
    |--------------------------------------------------------------------------
    |
    | Uygulamanızın desteklediği tüm dilleri tanımlayın. Desteklenmeyen diller
    | için çeviriler 'strict_locale' ayarına göre işlenecektir.
    |
    */
    'supported_locales' => ['en', 'tr', 'de', 'es', 'fr', 'pt_BR'],

    /*
    |--------------------------------------------------------------------------
    | Katı Dil Modu (Strict Locale Mode)
    |--------------------------------------------------------------------------
    |
    | Etkinleştirildiğinde, desteklenmeyen bir dil için çeviri ayarlamaya çalışmak
    | InvalidLocaleException fırlatır. Devre dışı bırakıldığında, bir uyarı
    | günlüğe kaydedilerek sessizce kabul edilir.
    |
    */
    'strict_locale' => env('POLYGLOT_STRICT_LOCALE', false),

    /*
    |--------------------------------------------------------------------------
    | Önbellek Yapılandırması (Cache Configuration)
    |--------------------------------------------------------------------------
    */
    'cache' => [
        'enabled' => env('POLYGLOT_CACHE_ENABLED', true),
        'ttl' => env('POLYGLOT_CACHE_TTL', 3600),
        'prefix' => 'polyglot_',
    ],

    /*
    |--------------------------------------------------------------------------
    | Çeviri Tablosu (Translation Table)
    |--------------------------------------------------------------------------
    */
    'table_name' => 'translations',

    /*
    |--------------------------------------------------------------------------
    | Çeviri Modeli (Translation Model)
    |--------------------------------------------------------------------------
    |
    | Burada belirterek kendi Çeviri modelinizi kullanabilirsiniz.
    |
    */
    'model' => PolyglotModel\Models\Translation::class,

    /*
    |--------------------------------------------------------------------------
    | Olaylar (Events)
    |--------------------------------------------------------------------------
    */
    'events' => [
        'enabled' => true,
    ],
];

Ortam Değişkenleri ​

DeğişkenVarsayılanAçıklama
POLYGLOT_SOURCE_LOCALEenKaynak içerik dili
POLYGLOT_FALLBACK_LOCALEenÇeviri eksik olduğunda yedek dil
POLYGLOT_STRICT_LOCALEfalseGeçersiz dilde hata fırlat
POLYGLOT_CACHE_ENABLEDtrueÖnbelleklemeyi etkinleştir
POLYGLOT_CACHE_TTL3600Saniye cinsinden önbellek süresi

Örnek .env ​

env
POLYGLOT_SOURCE_LOCALE=en
POLYGLOT_FALLBACK_LOCALE=en
POLYGLOT_STRICT_LOCALE=false
POLYGLOT_CACHE_ENABLED=true
POLYGLOT_CACHE_TTL=3600

Özel Çeviri Modeli ​

php
// app/Models/CustomTranslation.php

namespace App\Models;

use PolyglotModel\Models\Translation;

class CustomTranslation extends Translation
{
    // Özel metotlar ekleyin veya mevcut olanları geçersiz kılın

    public function user()
    {
        return $this->belongsTo(User::class, 'translated_by');
    }
}

Sonra yapılandırmayı güncelleyin:

php
// config/polyglot-model.php
'model' => App\Models\CustomTranslation::class,

Özel Migrasyon Sütunları Ekleme ​

php
// Migrasyonunuzu yayınladıktan sonra ekleyin
Schema::table('translations', function (Blueprint $table) {
    $table->foreignId('translated_by')->nullable();
    $table->timestamp('reviewed_at')->nullable();
});

Released under the MIT License.