WN

WN (https://www.wn.se/forum/index.php)
-   Serversidans teknologier (https://www.wn.se/forum/forumdisplay.php?f=4)
-   -   Multilanguage databaser för varje språk? (https://www.wn.se/forum/showthread.php?t=1057069)

secag 2013-03-03 17:46

Multilanguage databaser för varje språk?
 
Jag har en tabell med olika kategorier, Bilar, Båtar, Hus.
Hur ska man gå tillväga om man har en sida som kan visa flera språk(Svenska, Engelska, Tyska) och man vill att Bilar ska bli Cars och Hus bli Houses?

Min teori är att i tabbellen så har man olika fält: category_name_swedish och category_name_english och så hämtar man bara den kolumnen man behöver vid fråga? Är det en okej metod? Eller ska man helt enkelt köra på olika databaser?

jayzee 2013-03-03 18:20

Det låter som fel approach, läs istället om gettext.

secag 2013-03-03 19:13

Har försökt lära mig vad det är innan men jag förstår inte. Kan du länka ett exempel på hur det används i Apache?

jayzee 2013-03-03 19:38

Gettext är alltså ett bibliotek avsedd för multilanguage som finns till många programmeringsspråk såsom PHP, Python, NodeJS, etc..
Det har alltså ingenting med apache, nginx eller lightttpd att göra.

Man skapar en .po fil per språk man vill stödja innehållande alla strängar du använder på din sajt/applikation, man kör sedan dessa filer genom msgfmt som skapar binära filer (.mo) som gettext kan läsa. Ett av de många exempel (i PHP) hittar du här.

secag 2013-03-03 19:45

Tack!! :) Men vart kan man ladda ner biblioteket till PHP. Den här sidan är så luddig.http://www.gnu.org/software/gettext/

jayzee 2013-03-03 19:52

Gettext ingår i PHP per default, läs mer på deras sida.

secag 2013-03-03 21:55

Tack, nu har jag fått det till att fungera! ;)

pelmered 2013-03-05 07:38

Värt att nämna är att du inte bör använda det här för content utan endast för statiska texter i gränssnittet.

Titta även på att kombinera gettext med PHPs sprintf(). Det är riktigt kraftfullt för att försöka att skriva ut halvdynamiska strängar.

Såhär skriver du ut en sträng som kan översättas med en dynamisk substräng:
PHP-kod:

__sprintf('Welcome %s'$username) ); 


secag 2013-03-06 15:09

Nae, jag får det inte att funka. Och Google hjälper ju inte ett dugg.

Jag har förstått att man ska börja med en POT fil. Sen ifrån den ska man översätta så man får .po filer. Och sen typ gör man .po filerna till .mo filer.

Men hur gör jag en POT fil? Allt jag hittar är till Wordpress :S.

tartareandesire 2013-03-06 15:45

Det finns massor med information om detta om du söker i Google. Du kan exempelvis använda Poedit.


Alla tider är GMT +2. Klockan är nu 19:05.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson