Website in verschiedenen Sprachen
Eingetragen von locomotion (42)
am 03.04.2009 - 17:51 Uhr in
am 03.04.2009 - 17:51 Uhr in
Ich habe ein paar Fragen zum i18n-Modul:
Kann ich für jede Sprache ein eigenes Template wählen? Z.B. für Deutsch ein Template für 1024er Breite und für Englisch eins für 800er Breite?
Muss man jeden Text übersetzen, oder kann ich meine Website auch so gestalten, dass die englische Version, nur wenige Texte enthält?
- Anmelden oder Registrieren um Kommentare zu schreiben
template suggestions
am 03.04.2009 - 23:53 Uhr
Moin!
Du kannst je nach (internem) Pfad verschiedene Versionen der Datei page.tpl.php haben. Siehe dazu auch Core templates and suggestions.
In Deinem Fall könnten also page-de.tpl.php und page-en.tpl.php funktionieren.
Falls nicht, muss Du in Deiner template.php die Funktion phptemplate_preprocess_page so anpassen, dass diese Form der Templates auch pfadbasiert gesteuert funktioniert.
Zum Beispiel so:
<?php
function phptemplate_preprocess_page(&$vars) {
// first, proceed with a modifed version of the standard
// Drupal template suggestion calls
$i = 0;
$suggestions = array();
$suggestion = 'page';
while ($arg = arg($i++)) {
$suggestions[] = $suggestion .'-'. $arg;
if (!is_numeric($arg)) {
$suggestion .= '-'. $arg;
}
}
if (drupal_is_front_page()) {
$suggestions[] = 'page-front';
}
// next, check for templates that use the path alias
if (module_exists('path')) {
$alias = drupal_get_path_alias(str_replace('/edit','',$_GET['q']));
if ($alias != $_GET['q']) {
$template_filename = 'page';
foreach (explode('/', $alias) as $path_part) {
$template_filename = $template_filename . '-' . $path_part;
$suggestions[] = $template_filename;
}
}
$vars['template_files'] = $suggestions;
} // end path alias template check
if ($suggestions) {
$vars['template_files'] = $suggestions;
}
}
?>
hth,
Stefan