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-06 16:05

Jag har sökt på Google och det hjälper inte mig. Förstår mig inte på Poedit, vill bara kunna skriva in mina strängar någonstans. Det går inte. Och allt jag hittar på Google är typ Wordpress.

jayzee 2013-03-06 18:52

Citat:

Ursprungligen postat av secag (Inlägg 20464207)
Jag har sökt på Google och det hjälper inte mig. Förstår mig inte på Poedit, vill bara kunna skriva in mina strängar någonstans. Det går inte. Och allt jag hittar på Google är typ Wordpress.

OK, vi gör det enkelt:
1. Skapa en .po i en textredigerare, vilken du väljer är helt upp till dig (vi, nano, emacs, notepad...). Filen skall innehålla 2 saker (msgid samt msgstr), den ena är texten i ursprungsspråket och den andra översättningen. Se yapig po filen.
2.
Kod:

pocompile <.po fil> <.mo fil>
3. Ladda in filen i ditt PHP script, beskrivningen finns i de länkar du fick tidigare.

Det är inte svårare än så! Jag hittar hur många tutorials som helst i ämnet...

danjel 2013-03-07 14:19

ganska bra tutorial
http://phpmaster.com/localizing-php-applications-1/

Annars kan du ju alltid använda en databaslösning med texter
http://www.gsdesign.ro/blog/multilan...sign-approach/

Det kan vara att föredra i ditt fall att bara ha en enkel tabell med texter om du bara ska göra en enkel lookup mot en key och ett language

<?php echo Translate("unik_text_nyckel") ?>

(Givet då att språk valet hanteras i "Translate" funktionen)

SEAPelle 2013-03-07 15:54

Citat:

Ursprungligen postat av secag (Inlägg 20463940)
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?

Du fårgade om databas med tabeller men f¨r svar om php-översättnig, så jag svarar på din fråga ifall den fortfarande e aktuell.

Tabell Kategorier (KatID, KategoriNamn)
KatID=1, Kategorinamn= Bilar
KatID=2, Kategorinamn= Båtar

Tabell Sprak (LangID, SprakNamn)
LangID=1, Spraknamn= Svenska
LangID=2, Spraknamn= Engelska

Tabell KategoriSprak (KatID, LangID, Namn)
KatID=1, LangID=1, Namn= Bilar
KatID=1, LangID=2, Namn= Cars
KatID=2, LangID=1, Namn= Båtar
KatID=2, LangID=2, Namn= Boats

Sen kör du bara
select Namn from KategoriSprak where KatID=1 and LangID=1 för Svenska bilen respektive
select Namn from KategoriSprak where KatID=1 and LangID=2 för Engelska bilen.

E du effektiv skapar du en storeproc med langID=1 som default, så blir det svenska om du inte skickar med något annat...
Självklart sätter du nycklar och indexerar LangID och KatID i alla tabellerna.

secag 2013-03-07 18:29

Kommer nog använda danjels tips. gettext vill jag inte ge mig in på i detta projekt. Då jag endast behöver sidan på 2 språk så känns databaslösning som det bästa alternativet.


Alla tider är GMT +2. Klockan är nu 02:55.

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