Home arrow Zoznam článkov arrow Bleskovky arrow Správne názvy dní a mesiacov
19.05.2012
Správne názvy dní a mesiacov PDF Print E-mail
Užívateľské hodnotenie: / 9
ÚbohýVýborný 
Napísal janko   
09.08.2006
Určite sa Vám stalo, že pri uverejňovaní článkov, ak máte nastavené zobrazovanie dátumu uverejnenia či zmeny, taknázov mesiacov či dní máte anglicky. Pokiaľ to Váš web provider podporuje, je možné zmeniť nastavenia cez Locale v globálnom nastavení Joomly. Stačí pridať sk_SK, alebo Slovak. Žiaľ, nie vždy tento postup funguje. Popíšeme si však spôsob, ako jednoducho zmodifikovať zdrovový kód Joomly, aby sa mesiace a dni zobrazovali správne.

V podstate ide o jednoduchú záležitosť. Použijeme na to php funkciu str_replace. Táto funkcia slúži na jenoduchú zámenu reťazcov jedného za druhý, pričom reťazec číta v premennej a novú hodnotu priradí takisto premennej.

Všetky zmeny je nutné vykoať v súbore joomla.php v adresári includes.

Prvá zmena je vo funkcii mosFormatDate

pod riadok:

$date = $date > -1 ? strftime( $format, $date + ($offset*60*60) ) : '-';


treba pridať

$date=str_replace("Thursday","Štvrtok","$date");
$date=str_replace("Tuesday","Utorok","$date");
$date=str_replace("Sunday","Nedeľa","$date");
$date=str_replace("Monday","Pondelok","$date");
$date=str_replace("Wednesday","Streda","$date");
$date=str_replace("Friday","Piatok","$date");
$date=str_replace("Saturday","Sobota","$date");
$date=str_replace("January","Január","$date");
$date=str_replace("February","Február","$date");
$date=str_replace("March","Marec","$date");
$date=str_replace("April","Apríl","$date");
$date=str_replace("May","Máj","$date");
$date=str_replace("June","Jún","$date");
$date=str_replace("July","Júl","$date");
$date=str_replace("August","August","$date");
$date=str_replace("September","September","$date");
$date=str_replace("October","Október","$date");
$date=str_replace("November ","November","$date");
$date=str_replace("December","December","$date");


a vo funkci mosCurrentDate
treba nahradiť riadok:

$format = _DATE_FORMAT_LC;

riadkami

$dny = array ("Pondelok", "Utorok", "Streda", "Štvrtok", "Piatok", "Sobota", "Nedele");
$mesice = array ("januára", "februára", "marca", "apríla", "mája", "júna", "júla", "augusta", "septembra", "októbra", "novembra", "decembra");
$format = $dny[Date ("w") - 1];
$format .= Date(", j.");
$format .= $mesice[Date ("n") - 1];
$format .= " ";
$format .= Date("Y");

Jednoduché že? Nezabudnite si však spraviť zálohu pôvodného súboru, alebo pôvodné hodnoty dať do komentárových zátvoriek: /* komentar */

 

Komentáre
Super návod
Autor: rostratus Dátum: 2006-08-10 19:33:54
Ďakujem veľmi pekne za návod. Pomohol mi pretože mne nefungovali slová sk_SK, slovak a podobne koli tomu, ze mam hosting v CZ. Este raz dik ;-)
dik
Autor: plusminus Dátum: 2006-09-04 13:26:20
facha ako ma, thanx
ciarka pred j
Autor: fuxo Dátum: 2008-02-24 13:32:39
Mal som trochu problem s tym, ze mi pred cislom dna zobrazovalo "," (ciarku). Riesenim je odstranenie ciarky s pred "j" tu $format .= Date(", j.");
vo funkci mosCurrentDate ktoru si napis
Autor: kinki Dátum: 2008-03-09 20:32:25
Ak chces zobrazovat datum spravne treba použiť takyto zapis 
function mosCurrentDate( $format="" ) { 
global $mosConfig_offset; 
if ($format=="") { 
 
$mesiace = array ("januára", "februára", "marca", "apríla", "mája", "júna", "júla", "augusta", "septembra", "októbra", "novembra", "decembra"); 
$den = array ( "Nedeľa", "Pondelok", "Utorok", "Streda", "Štvrtok", "Piatok", "Sobota"); 
$format .= $den[(Date("w")-0)]; 
$format .= Date(", j."); 
$format .= $mesiace[Date ("n") - 1]; 
$format .= " "; 
$format .= Date("Y"); 

$date = strftime( $format, time() + ($mosConfig_offset*60*60) ); 
return $date; 
}
vystup je potom
Autor: kinki Dátum: 2008-03-09 20:34:15
Nedela, 9.marca 2008

Len registrovaní užívatelia môžu pridať komentár.
Prosím prihláste sa alebo sa zaregistrujte.

Powered by AkoComment 2.0!

 
< Predch.   Ďalší >