İç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+ sürümünü çalıştırın
- Apache, LiteSpeed, NGINX, IIS sunucusu
- URL yeniden yazmanın sunucunuzda 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 kaydolduktan sonra , API Anahtarını almak için önce yeni bir alan adı oluşturmanız ve ayarlarını kaydetmeniz gerekir.
Bu dokümantasyon ve kaynak ve hedef diller gibi Linguise kayıt etki alanına devam etmek için “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ı kopyalayabilir ve panonuzda tutabilirsiniz.
2. Linguise çeviri komut dosyasını 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 " varsayılan adını koruduğundan

Linguise Script Arabirimine Nasıl Erişilir?
Linguise tamamladıktan sonra , web sitenizi aşağıdaki URL formatıyla ziyaret ederek gösterge tablosuna erişebilirsiniz:
https://www.domain.com/ linguise
Alan Adresini Web sitenize göre değiştirin*
Linguise uygun okuma ve yazma iznine sahip olduğundan emin olun
Şifre ve veritabanı bağlantısını ayarlayın
Komut dosyası arayüzüne eriştikten sonra, bir şifre oluşturabileceğiniz ve tercih ettiğiniz veritabanına bağlanabileceğiniz bir kurulum ekranı sunulacaksınız.
Yapabilirsiniz:
- Bu arayüze gelecekteki erişim için gerekli olacak bir şifre ayarlayın.
- Kurulumunuza ve tercihinize bağlı olarak veritabanı türünüzü seçin - MySQL veya SQLITE.
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ının aşağıdaki bağlantı ayrıntılarını 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 vs SQLite - Fark nedir?
Hem MySQL hem de SQLite, web siteleri ve uygulamalar için verileri depolamak ve yönetmek için kullanılan popüler veritabanı sistemleridir. Ancak, farklı kullanım durumları için tasarlanmıştır ve bazı önemli farklılıklar vardır:
| Özellik | Sqlite | MySQL |
|---|---|---|
| Kurmak | Çok kolay (SQLITE kurulumu gerekli) | Sunucu kurulumu gerektirir |
| Depolama | Tek dosya | MySQL Server tarafından yönetildi |
| Performans | Küçük ölçekli uygulamalar için harika | Büyük, yüksek trafikli sistemler için daha iyi |
| Kullanım durumu | Yerel uygulamalar, testler, küçük siteler | Web Uygulamaları, E -Ticaret, Kurumsal Sistemler |
Linguise Script Arayüzü: PHP Platformu için Kurulum
Daha önce yalnızca Joomla ve WordPressiçin mevcut olan Linguise Tercüme Gösterge Tablosu, şimdi PHP'ye ve ek platformlara desteği genişletiyor. Bu güncelleme, kullanıcıların CM'lerinden veya çerçevelerine bakılmaksızın, doğrudan birleştirilmiş bir arayüzden doğrudan birleştirilmiş bir arayüzden dil ayarlarını (ekran seçenekleri, bayrak stilleri ve görünüm özelleştirmesi gibi) sorunsuz bir şekilde yapılandırmasına olanak tanır.

Yöneticiler, dil seçimi açılır pencereleri, gölge efektleri ve bölgeye özgü bayrak seçenekleri varyantları gibi tutarlı özelliklerle Linguise ortamlarını daha verimli bir şekilde yönetebilir. Gösterge tablosu, çeşitli web ortamları için daha geniş uyumluluk sunarken kullanıcı dostu tasarımını korur.


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ı 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 panosundan 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ştirici, varsayılan olarak web sitenizde kayan bir sağ üst konumda görüntülenecektir. Bir sonraki bölümde açıklandığı gibi ö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ştirici, Linguise panosu > Ayarlar > Dil bayrakları ekranından özelleştirilebilir. Buradaki her değişiklik web sitesine 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ülenir.
Yerel önbellek sistemi seçeneğini etkinleştirin
Bir seçenek olarak, sayfaların daha hızlı sunulması için URL'leri ve ilgili çok dilli içeriği depolayan yerel bir önbellek sistemini etkinleştirebilirsiniz. Yerel önbellek, Linguise sunucusu ile web sitesi sunucunuz arasındaki bazı veri aktarımlarını kaydedecektir. Önbellek yalnızca bir sayfa çevrildiğinde ve güncellenmediğinde kullanılır. Öncelikli tutulan önbellek, en çok görüntülenen çok dilli sayfaların önbelleği olacaktır.
Bunu tamamlamak için MB'de saklanan önbellek miktarını tanımlayabilirsiniz. Aşağıdaki örnekte önbellek etkinleştirilmiştir ve tutulacak önbellek miktarı 500 MB'dir.

/** 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 sitesi oluşturucunuza karşılık gelen satırı Web.config dosyanıza ekleyin.
Diğer yönlendirmelerden önce, özellikle PHP ana dosyanıza yönlendirmeden önce ayarlanmalıdır:
SQLite'tan MySQL'e
Yine de Configuration.php dosyasında, SQLite'ın sunucuda kurulu olmaması durumunda, SQLite yerine MySQL kullanımını zorunlu kılan bir ayar bulunmaktadır.
Configuration.php dosyasının bu bölümündeki MySQL bilgilerini doldurmanız gerekecektir
/** 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 = '';