Toute l'actualité du CMS TYPO3, typoscripts, extensions, liens et téléchargements
Nous sommes le 04/07/2009
La localisation sous TemplaVoila
Vous serez confronté un jour à l'autre à créer un site multilingue si ce n'est pas déjà fait. TYPO3 offre la possibilité de réaliser un site Internet en plusieurs langues alors, pourquoi ne pas en profiter ? Je lis pas mal de choses sur des forums, des personnes posant à chaque fois les mêmes questions. Voici donc un tutoriel pour expliquer clairement comment passer un site TYPO3 en multilangue. Je rassure les débutants tout de suite... la localisation ne consiste pas à dupliquer une arborescence en fonction du nombre de langues. ous allons découvrir dans cet article un exemple simple de localisation à partir d'un site Internet disposant d'une langue principale, le français, auquel on souhaite ajouter l'anglais
1. Extensions nécessaires
Vous devrez disposer des extensions suivantes :
- TemplaVoila
- Static Info Tables
- Static Info Tables (fr)
2. Ajouter les langues disponibles depuis le backend
Cliquez sur Liste dans le module Web, puis dans l'arborescence du site, cliquez sur le lien avec une planète, juste au dessus de la page root.
Tous les objets situés à la racine de TYPO3 devrait s'afficher : utilisateurs backend, gabarits statiques, Territoires...
Cliquez ensuite sur l'icone + pour ajouter une nouvelle langue et remplissez les informations nécessaires.
La manipulation consiste à sélectionner un code ISO pour la nouvelle langue, ici l'anglais, puis à attribuer une image pour les traductions dans le backend.
L'anglais devrait être disponible mais il reste encore des étapes comme par exemple, faire une meilleure distinction entre les langues accessibles
dans le backend. Je vous recommande d'attribuer manuellement une image pour la langue par défaut, ici le français. Comment faire ? C'est très simple. Editez
les entêtes de la page root (celle où se situe le gabarit principal de votre site), puis dans le champ TS Config, ajoutez le code suivant :
# Langues
mod.SHARED.defaultLanguageFlag = fr.gif
mod.SHARED.defaultLanguageLabel = Français
Nous avons ainsi matérialisé nos deux langues dans le backend. Continuons avec la partie frontend. TYPO3 doit recevoir le contenu d'une variable pour afficher telle ou telle langue.
On a pour principe de nommer cette variable 'L' (L comme langue). La variable L prend 0 pour la langue par défaut du site, 1 pour la langue suivante, 2 pour une troisième langue et ainsi de suite.
3. Modification du Setup (gabarit TS)
La modification du setup est primordiale pour passer correctement les paramètres lorsqu'un internaute clique sur un lien.
Voici le code à ajouter dans le setup de votre gabarit :
# Ce code signifie ne pas ajouter de variable L, si L=0
# 'L' est la valeur de la langue par défaut du site
config.linkVars = L(0,1)
# On déclare 'L' comme étant la variable de langue
config.linkVars = L
config.uniqueLinkVars = 1
# Mode fallback pour conserver la valeur sys_language_uid en cours
config.sys_language_overlay = content_fallback
# Langue par défaut (Frontend)
config {
sys_language_uid = 0
language = fr
locale_all = fr_FR
}
# Langue anglaise
[globalVar = GP:L = 1]
config.sys_language_uid = 1
config.language = en
config.locale_all = en_GB
config.htmlTag_langKey = en
[GLOBAL]
4. RealURL
Voici un extrait de mon fichier de configuration de RealURL. On obtient ainsi une prevar avec /en/ pour l'anglais avec L=1 (http://www.monsite.com/en/).
, 'preVars' => array(
array(
'GETvar' => 'no_cache',
'valueMap' => array(
'no_cache' => 1,
),
'noMatch' => 'bypass',
)
, array(
'GETvar' => 'L',
'valueMap' => array(
'fr' => 0,
'en' => 1,
),
'noMatch' => 'bypass',
//'valueDefault' => 'fr',
),
)
, 'pagePath' => array(
'type' => 'user'
, 'userFunc' => 'EXT:realurl/class.tx_realurl_advanced.php:&tx_realurl_advanced->main'
, 'spaceCharacter' => '-'
, 'languageGetVar' => 'L'
, 'rootpage_id' => 1
, 'disablePathCache' => 0
, 'expireDays' => 1
, 'segTitleFieldList' => 'tx_realurl_pathsegment,alias,nav_title,title'
, 'excludePageIds' => null
)
En mode page, vous devriez apercevoir l'onglet "Vue de localisation" comprenant un menu déroulant pour ajouter une nouvelle traduction ou modifier les entêtes pour la langue concernée. Même chose pour les éléments de contenu.
Il faudra au préalable créer une nouvelle page dans la langue souhaitée avant d'ajouter la traduction pour chaque contenu. Vous pourrez d'ailleurs dupliquer chaque élément par un clic de souris ou bien depuis le menu déroulant dans un élément de contenu et traduire ce dernier.
Référence : http://typo3.org/documentation/document-library/core-documentation/doc_l10nguide/current/
Les derniers articles à consulter :
Pagination des résultats d'une recherche
Comment créer facilement une pagination des résultats d'une recherche dans TYPO3
Fluid, le nouveau moteur de template
Petit brief sur Fluid, le nouveau moteur de template qui risque de devenir indispensable dans les prochains mois.
Créer un blog
Une solution de blog ne passe pas toujours pas Wordpress. En effet, TYPO3 se dote enfin d'une extension supérieure à TIMTAB. Alors, pourquoi ne pas franchir le pas ?




