Autor | Zpráva | ||
---|---|---|---|
karolekk Profil |
#1 · Zasláno: 18. 1. 2015, 14:40:14
Dobrý den,
chci se zeptat jak mám postupovat, když mám web na svém redakčním systému v CZ, a potřebuji teď přidat angličtinu. Nevím za který konec to chytit, jak mám postupovat. Díky za radu |
||
Marschmallow Profil |
karolekk:
Jaký máš redakční systém a jak máš web strukturovaný - přesměrováva se na /cz, nebo ne? K redakčnímu systému: máš opensource, nebo dělaný na míru? Podle toho se dá odpíchnout, existují na to totiž pluginy, nebo ve Wordpressu i multisite. |
||
karolekk Profil |
Marschmallow:
Redakční systém mám na míru. Udělal jsem si ho sám. nechci tady dávat přímo odkaz. ale pokusím se to trochu přiblížit. Je to velice jednoduché. - mám web/blog, kde jsou různé články. Redakční systém dělá jen to, že nabízí formulář pro vložení nového článku, fotku atd. A samotný web pak, jednoduše vycucne články z databáze a zobrazí je. Jenže mám tam několik proměnných, které jsou v češtině a já chci aby se zobrazovaly v závislosti na jazyku uživatelé., taktéž registrační formulář atd. -- například if(neco){echo "dobrý den"} - > a jak mám něco takovéhu udělat do více mutací? |
||
Zechy Profil |
#4 · Zasláno: 18. 1. 2015, 15:29:12
karolekk:
Nejzákladnější je asi pole v PHP, které bude uloženo v souborech cz.php, en.php, atd... A dle jazyku nahraješ požadovaný soubor. Pak jen používáš indexy toho pole. |
||
karolekk Profil |
Zechy:
jo to je dobrej nápad. Ale to by možná mohlo být i bez těch poli (array). Nešlo by to tak, že bych naházel do souboru en.php - různé proměnné např. $pozdrav ="Hi!"; A pak na webu normálně bych dal tam to na rozpoznání jazyku :D teď nevím jak to je něco jako REQUEST_LANG :D. ztoho poznám o jaký jazyk ma jít, takže načtu například soubor FOpen(en.php) tím pádem budu mít inicializovanou proměnnou $pozdrav, a tu můžu pak použit ve scriptech? například pak bude echo $pozdrav. $jmeno; Půjde to tak? :D |
||
Dan Charousek Profil |
#6 · Zasláno: 18. 1. 2015, 15:47:12
Ještě jednodušší by mohlo být jedno globální pole někde v config souboru.
$lang = array( "cs" => array( "pozdrav" => "Dobrý den", "zvire" => "Zvířátko" ), "en" => array( "pozdrav" => "Hello there!", "zvire" => "Little petty" ) ); <?=$lang[$jazyk]["pozdrav"]?> :)) To jakým způsobem budeš získávat hodnotu proměnné jazyk je na tobě. Můžeš to řešit přes session, nebo jak jsi uváděl z REQUEST_LANG. To už je potom na tobě. |
||
karolekk Profil |
Paráááda diky moc borci
no čeká mně hodně práce |
||
Alphard Profil |
#8 · Zasláno: 18. 1. 2015, 15:58:33
Pracovat přímo s polem není dobrý nápad, blbě se ošetřuje neexistence nějakého překladu (použití defaultního jazyka, zalogování, ...). A vůbec tady neřešíte skloňování podle počtu, případně doplnění parametru do textu.
Lepší je volat překladovou funkci, která překlad „nějak získá interně“ a vrátí až výsledek. Vnitřní implementaci lze pak měnit beze změny celého systému. |
||
Časová prodleva: 4 dny
|
|||
karolekk Profil |
#9 · Zasláno: 22. 1. 2015, 17:43:48
no narazil jsem na problem :D
jak mam postupovat v takovéto situaci? ... if($skola ==1){ $nazev = "zakladni"; } else{ $nazev = "střední"; } echo $nazev; |
||
Dan Charousek Profil |
#10 · Zasláno: 22. 1. 2015, 21:33:17
Co takhle?
$trans = array( "cs" => array( "skola" => array( 1 => "zakladni", 2 => "stredni" ) ), "en" => array( "skola" => array( 1 => "primary school", 2 => "high school" ) ) ); $key = $skola == 1 ? 1 : 2; echo $nazev = $trans[$jazyk]['skola'][$key]; |
||
Časová prodleva: 9 let
|
0