Byt grafik i themen baserad på vilket språk du har valt

Events happening in the community are now at Drupal community events on www.drupal.org.
sanderss77's picture

JAg har en 2-språkig site; engelska och svenska. Nu har jag en del grafik i themen page.tpl.php som ska ändra beroende på vilket språk man valt. Även logon har jag i 2 olika versioner beroende på språk som är valt. JAg skulle även behöva byta site logon i versioner som finns insatt i themen. För internationliseringen av siten har jag använt i18n och det har funkat bra. Men när man kommer till grafikdelen så vet jag inte vad man ska göra.

Finns det någon modul man kan använda för att göra

Comments

_

Melot's picture

Om det inte är så mycket som ska ändras så borde modulen CSSinjector fungera. Denna kan publicera CSS om vissa krav är uppfyllda.
Kraven skriver du själv som PHP-kod. Du kan då välja att om en användare byter språk till engelska så blir din PHP-regel "TRUE" och CSSinjector ändrar CSS. Är språket svenska så fortsätter den vara "FALSE".

Jag kan inte alls PHP men testa modulen så kanske du hittar ett sätt!

Här är ett exempel på en PHP-regel som ändrar CSS om man valt temat garland:

  <?php
global $theme;
if (
$theme == 'garland') {
  return
TRUE;
}
  return
FALSE;
?>

Tack, det ska jag börja med

sanderss77's picture

Tack, det ska jag börja med att se på. JAg började funder att kanske man identifiera vilket språk redan i page.tpl.php och beroende på vilket språk man valt så stylar man sidan olika. Nu kan jag inte drupal apin så bra att jag vet var jag ska söka. Men det här var ett bra tips att börja med. Tack

I din template.php i det

kr0l's picture

I din template.php i det themet du använder kan du lägga till

mytheme_preprocess_page(&$variables)
{

$node = menu_get_object('node');
$variables['body_classes'] .= $node->language;

}

Där mytheme byts ut emot namnet på temat du kör exempelvis "garland"..

Ifall denna metod redan existerar i ditt tema så bara saxar du det som står emellan { och } , lägger detta inom { } i den redan existerande funktionen.

Nu får din även en klass som representerar det nuvarande språket för den noden som visas.

Detta gör att du enekelt med CSS kan skruva på vilken grafik som visas för just det språket som för tillfället används.

"Alternativ till menu_get_object('node');" kan vara global $language; $lang = $language->language;

I settings.php kan du

pontus_nilsson's picture

I settings.php kan du definera variabler som ska vara flerspråkiga se http://drupal.org/node/313272 , t.ex. logo. Lägg till 'theme_YOUR-THEME_settings' och 'logo_path'.

Med i18n så får du olika språk i ditt html-element. Det kan se ut så här:

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de" dir="ltr">

Här kan du se olika sätt att adressera lang med css.

//Pontus Nilsson, Digitalist

Sweden

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds: