Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> internacjonalizacja skryptów
tas
post
Post #1





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 8.08.2003
Skąd: Poznań

Ostrzeżenie: (0%)
-----


W magazynie php Solutions ukazał się nawet ciekawy artykuł o wykrywaniu narodowości internauty - http://www.phpsolmag.org/pl/mapa/show_article.php. Zastosowanie jest oczywiste - internacjonalizacja. Ale zastanawiając się nad tym głębiej, należałoby dla każdego kraju dopisać przemapować języki, w których strona jest dostępna. A nie prościej skorzystać z czegoś takiego:
[php:1:79f1a8b048]<?php
$lang = $_SERVER["HTTP_ACCEPT_LANGUAGE"];
$lang = explode(',',$lang);
$lang = explode(';',$lang[0]);
$lang = $lang[0];
switch($lang){
case 'pl':
$href = '?lang='.$lang; //odpowiednia akcja
break;
default:
$href = '?lang=en'; //akcja alternatywna
break;
} ?>[/php:1:79f1a8b048]
Może i jestem w błędzie, staram się szukać jednak rozwiązań najprostrzych. Kwestia samego tłumaczenia stringów to już oczywiście zupełnie inna sprawa. Ale ma jest sens wykorzystywania tego w praktyce? Zastanawiam się, jak wy to rozwiązujecie.
Z góry dziękuję za sugestywne i kreatywne odpowiedzi smile.gif


--------------------
GaldoMedia - http://galdomedia.pl
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 1)
scanner
post
Post #2





Grupa: Zarząd
Postów: 3 503
Pomógł: 28
Dołączył: 17.10.2002
Skąd: Wrocław




Rozwiązujemy to tak, że do szablonów podsywaly odpowiednie strongi wybrane z tabeli jezykowej.[php:1:0ad17e5463]<?php
$arrLang['pl']['L_yes'] = 'Tak';
$arrLang['pl']['L_no'] = 'Nie';
$arrLang['ru']['L_yes'] = 'Da';
$arrLang['ru']['L_no'] = 'Niet';

$Smarty->assign( $arrLang['pl'] );
// lub
$Smarty->assign( $arrLang['ru'] );
?>[/php:1:0ad17e5463]Domyślnie strona ma np. język polski, a user w preferencjach swojego profilu moze zmienic na inny dostepny.
Albo zmienic przy pomocy linka - wybrany jezyk zapisany jest w sesji..


--------------------
scanner.info
Warto pamiętać: KISS, DRY
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 17:18