İçindekiler
TYPO3 CMS teknik gereksinimleri
TYPO3 CMS ile kullanılacak sinirsel otomatik çeviri için PHP betiği (aşağıdan indirilebilir) kullanılması gerekecektir. Linguise betiğini kurmak için aşağıdaki gereksinimlere ihtiyacınız olacak:
- PHP 7 ve üzeri sürümleri çalıştırın
- Apache, LiteSpeed, NGINX, IIS sunucusu
- Sunucunuzda URL yeniden yazma özelliğinin etkinleştirildiğinden emin olun
- TYPO3 CMS 9 ve üzeri sürümler
1. API Anahtarını Oluşturun
Linguise kontrol panelinize bağlandıktan veya kayıt olduktan sonra , API Anahtarını almak için öncelikle yeni bir alan adı oluşturmanız ve ayarlarını kaydetmeniz gerekecektir.
Linguise alan adı kaydına devam etmek için, bu dokümantasyonda ve kaynak ve hedef dillerde olduğu gibi, "Diğer PHP" platformunu seçebilirsiniz.

Bundan sonra şunları alacaksınız:
- Üyeliğinizi doğrulayan API anahtarı
- Dil değiştirici için Linguise komut dosyasına bağlantı

API anahtarı, TYPO3 CMS web sitenizde çeviriyi etkinleştirmek için gereken şeydir. Temel olarak, API anahtarı alan adınızda hangi dilin etkinleştirildiğini kontrol eder ve içeriğin otomatik çevirisine olanak tanır.
Şimdilik API Anahtarını kopyalayıp panonuzda saklayabilirsiniz.
2. Linguise çeviri betiğini yükleyin ve bağlayın
Linguise çeviri betiğinin, TYPO3 CMS'nin kurulu olduğu sunucunuza yüklenmesi gerekiyor:
Komut dosyası indirildikten sonra, sıkıştırılmış dosyayı açın ve TYPO3 CMS'nin kurulu olduğu kök klasöre yükleyin.
- web sitenizin kök dizininde TYPO3 CMS dosyalarınızın bulunduğu yerde) olduğundan emin olun
- Klasörün " linguise " adını koruduğundan

Linguise Script Arayüzüne nasıl erişilir?
Linguise tamamladıktan sonra
linguise formatını kullanarak web sitenizi ziyaret ederek kontrol paneline erişebilirsiniz: https://www.domain.com/linguise
Alan adınızı web sitenizin adresine göre değiştirin.*
Linguise gerekli okuma ve yazma izinlerine sahip olduğundan emin olun
Parola ve Veritabanı Bağlantısı Kurulumu
Komut dosyası arayüzüne eriştiğinizde, parola oluşturabileceğiniz ve tercih ettiğiniz veritabanına bağlanabileceğiniz bir kurulum ekranıyla karşılaşacaksınız.
Yapabilirsiniz:
- Bu arayüze ileride erişim için gerekli olacak bir parola belirleyin.
- Veritabanı türünüzü seçin; kurulumunuza ve tercihinize bağlı olarak MySQL veya SQLite'tan birini tercih edebilirsiniz.
Bu ilk kurulum, güvenli erişim sağlar ve komut dosyasını ortamınıza göre yapılandırmanıza olanak tanır.

MySQL veritabanı bağlantısı
MySQL'i seçerseniz, aşağıdaki MySQL yapılandırma alanlarına ait bağlantı bilgilerini isteyen farklı bir arayüz görünecektir:

MySQL veritabanınıza başarılı bir bağlantı kurmak için bilgilerin doğru olduğundan emin olun.
MySQL ve SQLite Arasındaki Fark Nedir?
Hem MySQL hem de SQLite, web siteleri ve uygulamalar için veri depolamak ve yönetmek amacıyla kullanılan popüler veritabanı sistemleridir. Ancak, farklı kullanım durumları için tasarlanmışlardır ve bazı önemli farklılıkları vardır:
| Özellik | SQLite | MySQL |
|---|---|---|
| Kurmak | Çok kolay (SQLite kurulumu gereklidir) | Sunucu kurulumu gerektirir |
| Depolama | Tek sıra | MySQL sunucusu tarafından yönetilir |
| Performans | Küçük ölçekli uygulamalar için harika | Büyük ve yoğun trafikli sistemler için daha uygundur |
| Kullanım durumu | Yerel uygulamalar, test etme, küçük siteler | Web uygulamaları, e-ticaret, kurumsal sistemler |
Linguise Betik Arayüzü: PHP platformu için kurulum
Daha önce yalnızca Joomla ve WordPressiçin kullanılabilen Linguise çeviri kontrol paneli, artık PHP ve diğer platformları da destekliyor. Bu güncelleme, kullanıcıların CMS veya çerçevelerinden bağımsız olarak, dil ayarlarını (görüntüleme seçenekleri, bayrak stilleri ve görünüm özelleştirmesi gibi) tek bir arayüzden sorunsuz bir şekilde yapılandırmalarına olanak tanıyor.

Yöneticiler, dil seçimi açılır pencereleri, gölge efektleri ve bölgeye özgü bayrak seçenekleri gibi tutarlı özelliklerle Linguise ayarlarını daha verimli bir şekilde yönetebilirler. Kontrol paneli, kullanıcı dostu tasarımını korurken, çeşitli web ortamları için daha geniş uyumluluk sunar.


3. TYPO3 CMS URL'lerinin yeniden yazımını ayarlayın
TYPO3 CMS'de URL yeniden yazma varsayılan olarak etkindir. Eğer etkin değilse, hosting sağlayıcınızdan etkinleştirebilirsiniz.
Dil bazında URL yapılandırması .htaccess dosyasında yapılmalıdır. Varsayılan TYPO3 CMS “ RewriteEngine on ” .
# Set PHP version to 7.4 >> Please Add this code before the Rewrite rules to ensure Linguise works in PHP v7.4
AddHandler application/x-httpd-php74 .php
RewriteEngine On
RewriteRule ^(af|sq|am|ar|hy|az|eu|be|bn|bs|bg|ca|ceb|ny|zh-cn|zh-tw|co|hr|cs|da|nl|en|eo|et|tl|fi|fr|fy|gl|ka|de|el|gu|ht|ha|haw|iw|hi|hmn|hu|is|ig|id|ga|it|ja|jw|kn|kk|km|ko|ku|ky|lo|la|lv|lt|lb|mk|mg|ms|ml|mt|mi|mr|mn|my|ne|no|ps|fa|pl|pt|pa|ro|ru|sm|gd|sr|st|sn|sd|si|sk|sl|so|es|su|sw|sv|tg|ta|te|th|tr|uk|ur|uz|vi|cy|xh|yi|yo|zu|zz-zz)(?:$|/)(.*)$ linguise/linguise.php?linguise_language=$1&original_url=$2 [L,QSA]
Son olarak, TYPO3 CMS .htaccess dosyanız aşağıdaki gibi görünmelidir:
# Set PHP version to 7.4
AddHandler application/x-httpd-php74 .php
# Enable URL rewriting
RewriteEngine On
RewriteBase /typo10/ # Set the RewriteBase to the subfolder
# Add a condition to check if the request starts with the subfolder
RewriteCond %{REQUEST_URI} !^/typo10/
# Rewrite requests that don't start with the subfolder to include it
RewriteRule ^(.*)$ /typo10/$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(af|sq|am|ar|hy|az|eu|be|bn|bs|bg|ca|ceb|ny|zh-cn|zh-tw|co|hr|cs|da|nl|en|eo|et|tl|fi|fr|fy|gl|ka|de|el|gu|ht|ha|haw|iw|hi|hmn|hu|is|ig|id|ga|it|ja|jw|kn|kk|km|ko|ku|ky|lo|la|lv|lt|lb|mk|mg|ms|ml|mt|mi|mr|mn|my|ne|no|ps|fa|pl|pt|pa|ro|ru|sm|gd|sr|st|sn|sd|si|sk|sl|so|es|su|sw|sv|tg|ta|te|th|tr|uk|ur|uz|vi|cy|xh|yi|yo|zu|zz-zz)(?:$|/)(.*)$ /typo10/linguise/linguise.php?linguise_language=$1&original_url=$2 [L,QSA]
Artık çevrilmiş tüm sayfalarınızı şu URL'yi kullanarak yükleyebilirsiniz: örneğin: www.shop.com/fr/
Şimdi dil değiştiriciyi yükleyelim.
4. Dil değiştiriciyi etkinleştirin
4.1 Linguise JS betiğini yükleyin
SEO amacıyla HTML başlıklarınızda dil değiştiriciyi, bayrakları ve alternatif URL'leri görüntülemek için Linguise JS komut dosyası bağlantısının tüm TYPO3 CMS sayfalarınıza yüklenmesi gerekir.
Komut dosyası bağlantısını kopyalamak için Linguise kontrol panelinden etki alanı ayarlarına gidin ve komut dosyası bağlantısını kopyalayın.

TYPO3 yüklemenin en kolay yolu, onu web sitenizin başlığına veya <head> etiketinin içine eklemektir. TYPO3 TYPO3 özel bir ortamla birlikte gelir ve başlığa bir komut dosyası eklemek için belirli bir dosya oluşturulması gerekir.
Bunu aşağıdaki adımları izleyerek başarabilirsiniz:
- Typo3 Paneline Giriş Yapın ,
- Sayfa ” > “ +İçerik Özel öğeler sekmesine tıklayın seçin
Komut dosyası dosyasını düzenleyerek HTML kod bölümüne aşağıdaki gibi komut dosyası bağlantısını ekleyin.

Dil değiştirme düğmesi, varsayılan olarak web sitenizin sağ üst köşesinde kayan bir alanda görüntülenecektir. Bir sonraki bölümde açıklandığı gibi, bunu özelleştirebilirsiniz.

SEO için önemli not: Kurduğunuz dil sayısının SEO üzerinde büyük etkisi vardır. Çeviri dillerinizi ayarladığınızda, çok sayıda dizine alınmış sayfanız varsa (>500), arama motorunun bunları işlemesi çok zaman alabilir. SEO'nuzu orijinal dilinizde etkileyebilir. Bu nedenle, ilk başta en fazla 5 dil eklemenizi öneririz, ardından dizine eklendiğinde, dilleri ayda 3'lük bir grup halinde ekleyebilirsiniz.
TYPO3 CMS'de dil değiştiriciyi ayarlayın
Dil değiştirme özelliği, Linguise kontrol panelinden > Ayarlar > Dil bayrakları görüntüleme bölümünden özelleştirilebilir. Burada yapılan her değişiklik web sitesine de yansıtılacaktır.

Ekranın sağ tarafında, dil değiştiricinin önizlemesini görürsünüz. Kurabileceğiniz öğeler şunlardır:
- 3 düzen: yan yana, açılır menü veya açılır pencere
- Dil değiştirici konumu
- Dil değiştirici içerik
- İngilizce veya ana dilde dil adları
- Bayrak şekilleri ve boyutu
- Renkler ve kutu gölgesi
TYPO3 CMS içeriğine dil değiştiriciyi yükleyin

TYPO3 içeriğinde belirli bir yerde görüntülemek için , konumu "Yerinde" olarak ayarlamanız gerekir. Linguise
panelinde konumu ayarladıktan sonra , aşağıdaki kısa kodu ekleyerek dahil edebilirsiniz. Kodu panonuza kopyalamak için aşağıdaki koda tıklayın.
[linguise]
Eklendikten sonra, ön uçta, kodu eklediğiniz HTML alanında bayrak ve dil adları görüntülenecektir.
Yerel önbellek sistemi seçeneğini etkinleştirin
İsteğe bağlı olarak, sayfaları daha hızlı sunmak için URL'leri ve ilgili çok dilli içeriği depolayan yerel bir önbellek sistemini etkinleştirebilirsiniz. Yerel önbellek, Linguise sunucusu ile web sitenizin sunucusu arasındaki veri aktarımını azaltacaktır. Önbellek yalnızca bir sayfa zaten çevrilmiş ve güncellenmemiş olduğunda kullanılır. Öncelikli olarak saklanan önbellek, en çok görüntülenen çok dilli sayfaların önbelleği olacaktır.
Buna ek olarak, saklanacak önbellek miktarını MB cinsinden tanımlayabilirsiniz. Aşağıdaki örnekte, önbellek etkinleştirilmiş ve saklanacak önbellek miktarı 500 MB olarak belirlenmiştir.

/** Basic configuration **/
public $cache_enabled = true;
public $cache_max_size = 500; // In megabyte
NGINX sunucularında otomatik çeviri
rewrite ^/(af|sq|am|ar|hy|az|eu|be|bn|bs|bg|ca|ceb|ny|zh-cn|zh-tw|co|hr|cs|da|nl|en|eo|et|tl|fi|fr|fy|gl|ka|de|el|gu|ht|ha|haw|iw|hi|hmn|hu|is|ig|id|ga|it|ja|jw|kn|kk|km|ko|ku|ky|lo|la|lv|lt|lb|mk|mg|ms|ml|mt|mi|mr|mn|my|ne|no|ps|fa|pl|pt|pa|ro|ru|sm|gd|sr|st|sn|sd|si|sk|sl|so|es|su|sw|sv|tg|ta|te|th|tr|uk|ur|uz|vi|cy|xh|yi|yo|zu|zz-zz)(?:$|/)(.*)$ /linguise/linguise.php?linguise_language=$1&original_url=$2 last;
Windows IIS sunucularında otomatik çeviri
Web.config dosyanıza, kullandığınız web sitesi oluşturucusuna karşılık gelen satırı ekleyin.
Bu satır, özellikle PHP ana dosyanıza yönlendirme olmak üzere, diğer tüm yönlendirmelerden önce ayarlanmalıdır:
SQLite'tan MySQL'e
Configuration.php dosyasında, sunucuda SQLite kurulu değilse, SQLite yerine MySQL kullanımını zorunlu kılan bir ayar da bulunmaktadır.
Configuration.php dosyasının bu bölümündeki MySQL bilgilerini doldurmanız gerekecek
/** Advanced database configuration **/
/*
* In case you don't want to use Sqlite, you can use MySQL
* To do so, you need to fill the following variables
* Linguise will create the tables for you
*/
public static $db_host = '';
public static $db_user = '';
public static $db_password = '';
public static $db_name = '';
public static $db_prefix = '';