Utvecklingsspråk vs användarspråk

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

Hej!

Jag har läst någon bok om Drupal-utveckling på engelska. Detta gör att jag känner mig rätt hemma i menyer osv på det språket. Den hemsida jag sitter och knåpar med nu tänkte jag skulle vara på svenska. Jag har testat både att skapa en hemsida på ett språk, som default, och lägga till språk efteråt, och bägge verkar funka ungefär lika bra. Finns det någon dold princip här som jag bör ta i beaktande, eller blir resultatet exakt detsamma om jag väljer Engelska som grundspråk och använder det under hela utvecklingen, för att vid lansering byta till svenska, kontra att redan från början välja svenska och traggla med att lära om översättningarna...

/jollyCocoa

Comments

Bra fråga! Jag undrar

Orjan's picture

Bra fråga! Jag undrar detsamma.

Det jag märkt är ju att det stora problemet ligger med att man måste fylla i ledtexter som ska synas i views och liknande på enbart ett språk, och känns jobbigt att hålla på med flerspråksinställningar på det viset, som jag inte vet hur man ska hantera på bästa sätt.

Drupal verkar hantera flera språk hyftat bra, men många sånna här småtexter som systemet matar ut har de visst glömt tänka på på många ställen (om inte jag missat nån trevlig funktion/modul).

Några tankar

itangalo's picture

Jag är ingen guru på språkhantering i Drupal, men här är mina tankar!

Om man vill vara noga är det "rätta" sättet förmodligen att bygga på engelska och därefter fixa svensk översättning på gränssnitt, hjälptexter och allt annat man lagt in på sajten. Det gör att språkhanteringen blir konsekvent, eventuella icke-svenska utvecklare kan förstå allting och det blir lättare (men knappast lätt) att flytta sajten till nya språk i framtiden.

Men, förstås, om man från början vet att sajten kommer att vara på svenska och endast svenska kan man tycka att det är onödigt mycket jobb att först bygga den på engelska och sedan översätta den. I ett sånt läge kan man överväga att bygga den på svenska direkt.

Något man bör tänka på är när i processen som man växlar till svenska. Om man inte har Locale aktiverat får noder ingen språkdata, och när man senare slår igång Locale kommer noderna att vara markerade som språkneutrala. De nya man skapar efter att sajten fått språkhantering kommer dock (om man inte fipplar lite) bli satta till antingen engelska eller svenska. Det kan alltså vara smart att antingen vänta så länge som möjligt med att slå igång Locale, eller (ännu bättre) se till att man alltid använder svenska när man skapar nya noder.

Själv tycker jag att det är opraktiskt att ha exempelvis Views på svenska, så jag använder gärna engelska när jag administrerar. En modul som hjälper till att hålla administrationssidorna på engelska, även om sajten i övrigt är på svenska, är Administration Language.

I alla lägen försöker jag hålla språkhanteringen konsekvent, och i alla lägen använder jag engelska för maskinnamn.

Hoppas att det kan ge någon form av vägledning!
//Johan Falk, NodeOne
**
Vill du lära dig mer om Drupal? Kolla in samlingen av tips och guider!
Har du en fråga om Drupal? Missa inte FAQ-sidan på forumet!
Nu finns första Drupalboken på svenska! Börja med Drupal -- smart webbpublicering med open source
Missa inte NodeOnes Drupalkurs i Panels och Views den 15-17 september!

Tack Johan! Över lag tycker

jollyCocoa's picture

Tack Johan!

Över lag tycker jag kanske localiseringen i Drupal känns onödigt roddig, men jag är som sagt väldigt ny på CMS:en. Jag tror jag försöker arbeta utifrån engelskan och översätta senare i processen. Men om jag förstod dig rätt bör jag alltså byta till Svenska när strukturen på siten är klar och jag börjar bygga upp content? Stämmer det?

/jollyCocoa

Antar att du använder

pontus_nilsson's picture

Antar att du använder Internationalization för att översätta noder, sköta språkval etc. En trevlig modul till Internationalization är Translation table där du får upp menyer och taxonomier som tabeller och kan översätta t.ex. en hel vokabulär i ett svep. i18nviews förbättrar stödet mellan views och i18n.

Något man kan stöta på problem med är inställningen default language. Om du t.ex. sätter engelska som standard och svenska som tillgängligt och sedan bygger upp cck-fält och dess labels på engelska sedan switchar till svenska som default så får du problem med att översätta labels.

T.ex. du har ett imagefield, sätter label till Image (inskrivet när engelska var default), du switchar till svenska som default language och tittar på en nod där labeln visas: Det står "Image". Doh. Man söker upp strängen "Image" i översättningsgränssnittet och hittar att Image är default och att du kan bara översätta labeln till engelska. Lösning, ändra labeln till svenska sedan översätta till andra tillgängliga språk. Eller ännu bättre sätta labels på ditt default språk från början sedan översätta. Jag har inte sett någon bättre lösning än att jobba på detta sättet, någon som vill flika in? :)

Jag har satt labels till default language men behåller content types, field names etc som engelska.

I vyer så är det kungligt att använda filtret Content negotation för att få fram noder bara på det språk användaren valt att se sidan i. Om du gör en sida av vyn så kan du sedan skapa URL-alias för de olika språken på din sajt så ser det bra ut också i adressfältet :)

Jag har någon gång stött på problem när man vill länka till en nod nid beroende på vilket språk användaren valt. Då kan denna rackare vara bra att ha tillhands. Då kan du t.ex. skriva

<?php
print _translation_nodelink(54)
?>

/* Given a node id, find the current language and return a link to the node's translation (if any) */

function _translation_nodelink($nid) {
   global $language;
   // Look for a translated version of this node in the current site selected language
   $result = db_query("SELECT n2.nid, n2.title FROM {node} n1, {node} n2 WHERE n1.tnid = n2.tnid and n1.nid = %d and n2.language = '%s'", $nid, $language->language);
   $node = db_fetch_object($result);
   if ($node) {
      print l($node->title,"node/".$node->nid);
   }
   else
   {
      // No translation available, return the node's own original language title
      $node = node_load($nid);
      print l($node->title,"node/".$nid);
   }
}

//Pontus Nilsson, Digitalist

JollyCocoa, om tanken är att

zoo33's picture

JollyCocoa, om tanken är att själva innehållet på siten bara ska vara på ett språk så blir allt mycket enklare. Du kan byta gränssnittsspråk när du vill utan att behöva ta hänsyn till något innehåll, och du behöver inte i18n*-modulerna. Om så inte är fallet så får du räkna med
mer jobb, men du har i alla fall en massa bra tips ovan! ^^^

/ Hannes Lilljequist – SthlmConnection

Hm... Råkade rösta på min

zoo33's picture

Hm... Råkade rösta på min egen kommentar, vet inte hur jag tar bort det! :) Men, självgodhet är ju en dygd, så...

/ Hannes Lilljequist – SthlmConnection

Några av mina tankar går ju

Orjan's picture

Några av mina tankar går ju till att om jag nu vill ha en tvåspråkig site, hur sjutton får jag den statiska texten i mina views att bli tvåspråkig. Det gäller tillexempel menytitlar, texten för more-links och dylikt. Har försökt med de paket som radats upp här, men jag får inte med dessa delar i min översättning... Måste man skapa dubbla displayer, en per språk, eller? låter jobbigt...

I dagsläget skall denna site

jollyCocoa's picture

I dagsläget skall denna site lanseras på svenska, men i framtiden kanske jag vill lansera den på andra språk (det här är faktiskt bara en tankesmedja, men därför plockar jag redan nu in presumtiva, och högst vanliga, scenarier). I Cocoa-världen har man löst detta med nyckelkodade språklistor och så får man troget göra anrop till Localization-ramverket för att få korrekt språkversion av en viss sträng. Man har i alla fall full koll på översättningen. Känns som att t()-metoden gör ungefär samma sak, men jag har ännu inte fått full klarhet i hur det funkar. Jobbar på det. Jag har fortfarande en känsla av okontroll eftersom så mycket sker per automatik i Drupal, men jag ska ta era tips till mig. Jag lär återkomma! :)

/jollyCocoa

Skrev på fel plats, radera

frjo's picture

Skrev på fel plats, radera

Sweden

Group notifications

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