CodeCharge Studio
search Register Login  

Visual PHP Web Development

Visually Create Internationalized Web Applications, Web Reports, Calendars, and more.
CodeCharge.com

YesSoftware Forums -> CodeCharge Studio -> Tips & Solutions

 Optimizing Locales array [PHP]

Print topic Send  topic

Author Message
feha


Posts: 712
Posted: 02/04/2006, 5:03 PM

Working on CMS i wanted to add as many locales as possible.
  
$CCSLocales = new clsLocales(RelativePath);  
$CCSLocales->AddLocale("de", Array("de", "DE", array(1, 0, ""), 2, ",", ".", array("Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember"), array("Jan", "Feb", "Mrz", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dez"), array("Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag"), array("So", "Mo", "Di", "Mi", "Do", "Fr", "Sa"), array("S", "M", "D", "M", "D", "F", "S"), array("dd", ".", "mm", ".", "yyyy"), array("dddd", ", ", "d", ". ", "mmmm", " ", "yyyy"), array("HH", ":", "nn"), array("HH", ":", "nn", ":", "ss"), "", "", 1, false, "", "windows-1252", "CP1252"));  
$CCSLocales->AddLocale("el", Array("el", "GR", array(1, 0, ""), 2, ",", ".", array("??????????", "???????????", "???????", "????????", "?????", "???????", "???????", "?????????", "???????????", "?????????", "?????????", "??????????"), array("???", "???", "???", "???", "???", "????", "????", "???", "???", "???", "???", "???"), array("???????", "???????", "?????", "???????", "??????", "?????????", "???????"), array("???", "???", "???", "???", "???", "???", "???"), array("?", "?", "?", "?", "?", "?", "?"), array("d", "/", "m", "/", "yyyy"), array("dddd", ", ", "d", " ", "mmmm", " ", "yyyy"), array("h", ":", "nn", " ", "tt"), array("h", ":", "nn", ":", "ss", " ", "tt"), "??", "??", 1, false, "", "utf-8", "UTF-8"));  
$CCSLocales->AddLocale("he", Array("he", "IL", array(1, 0, ""), 2, ".", ",", array("?????", "??????", "???", "?????", "???", "????", "????", "??????", "??????", "???????", "??????", "?????"), array("?????", "??????", "???", "?????", "???", "????", "????", "??????", "??????", "???????", "??????", "?????"), array("??? ?????", "??? ???", "??? ?????", "??? ?????", "??? ?????", "??? ????", "???"), array("?", "?", "?", "?", "?", "?", "?"), array("?", "?", "?", "?", "?", "?", "?"), array("dd", "/", "mm", "/", "yyyy"), array("dddd", " ", "dd", " ", "mmmm", " ", "yyyy"), array("HH", ":", "nn"), array("HH", ":", "nn", ":", "ss"), "AM", "PM", 0, false, "", "utf-8", "UTF-8"));  
$CCSLocales->AddLocale("nn", Array("nn", "NO", array(1, 0, ""), 2, ",", " ", array("januar", "februar", "mars", "april", "mai", "juni", "juli", "august", "september", "oktober", "november", "desember"), array("jan", "feb", "mar", "apr", "mai", "jun", "jul", "aug", "sep", "okt", "nov", "des"), array("sundag", "måndag", "tysdag", "onsdag", "torsdag", "fredag", "laurdag"), array("su", "må", "ty", "on", "to", "fr", "la"), array("S", "M", "T", "O", "T", "F", "L"), array("dd", ".", "mm", ".", "yyyy"), array("d", ". ", "mmmm", " ", "yyyy"), array("HH", ":", "nn"), array("HH", ":", "nn", ":", "ss"), "", "", 1, false, "", "utf-8", "UTF-8"));  
$CCSLocales->AddLocale("fa", Array("fa", "IR", array(1, 0, ""), 2, ".", ",", array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"), array("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"), array("Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"), array("Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"), array("1", "2", "3", "4", "5", "6", "7"), array("m", "/", "d", "/", "yyyy"), array("dddd", ", ", "mmmm", " ", "dd", ", ", "yyyy"), array("hh", ":", "nn", " ", "tt"), array("hh", ":", "nn", ":", "ss", " ", "tt"), "?.?", "?.?", 0, false, "", "utf-8", "UTF-8"));  
$CCSLocales->AddLocale("pl", Array("pl", "PL", array(1, 0, ""), 2, ",", " ", array("stycze?", "luty", "marzec", "kwiecie?", "maj", "czerwiec", "lipiec", "sierpie?", "wrzesie?", "pa?dziernik", "listopad", "grudzie?"), array("sty", "lut", "mar", "kwi", "maj", "cze", "lip", "sie", "wrz", "pa?", "lis", "gru"), array("niedziela", "poniedzia?ek", "wtorek", "?roda", "czwartek", "pi?tek", "sobota"), array("N", "Pn", "Wt", "?r", "Cz", "Pt", "So"), array("N", "P", "W", "?", "C", "P", "S"), array("yyyy", "-", "mm", "-", "dd"), array("d", " ", "mmmm", " ", "yyyy"), array("HH", ":", "nn"), array("HH", ":", "nn", ":", "ss"), "", "", 1, false, "", "windows-1250", "CP1250"));  
$CCSLocales->AddLocale("pt", Array("pt", "BR", array(1, 0, ""), 2, ",", ".", array("janeiro", "fevereiro", "março", "abril", "maio", "junho", "julho", "agosto", "setembro", "outubro", "novembro", "dezembro"), array("jan", "fev", "mar", "abr", "mai", "jun", "jul", "ago", "set", "out", "nov", "dez"), array("domingo", "segunda-feira", "terça-feira", "quarta-feira", "quinta-feira", "sexta-feira", "sábado"), array("dom", "seg", "ter", "qua", "qui", "sex", "sáb"), array("D", "S", "T", "Q", "Q", "S", "S"), array("d", "/", "m", "/", "yyyy"), array("dddd", ", ", "d", " de ", "mmmm", " de ", "yyyy"), array("HH", ":", "nn"), array("HH", ":", "nn", ":", "ss"), "", "", 0, false, "", "utf-8", "UTF-8"));  
$CCSLocales->AddLocale("ru", Array("ru", "RU", array("??", "???", ""), 2, ",", " ", array("??????", "???????", "????", "??????", "???", "????", "????", "??????", "????????", "???????", "??????", "???????"), array("???", "???", "???", "???", "???", "???", "???", "???", "???", "???", "???", "???"), array("???????????", "???????????", "???????", "?????", "???????", "???????", "???????"), array("??", "??", "??", "??", "??", "??", "??"), array("?", "?", "?", "?", "?", "?", "?"), array("mm", ".", "dd", ".", "yyyy"), array("d", " ", "mmmm", " ", "yyyy", " ?."), array("H", ":", "nn"), array("H", ":", "nn", ":", "ss"), "", "", 1, false, "", "windows-1251", "CP1251"));  
$CCSLocales->AddLocale("es", Array("es", "ES", array(1, 0, ""), 2, ",", ".", array("enero", "febrero", "marzo", "abril", "mayo", "junio", "julio", "agosto", "septiembre", "octubre", "noviembre", "diciembre"), array("ene", "feb", "mar", "abr", "may", "jun", "jul", "ago", "sep", "oct", "nov", "dic"), array("domingo", "lunes", "martes", "miércoles", "jueves", "viernes", "sábado"), array("dom", "lun", "mar", "mié", "jue", "vie", "sáb"), array("D", "L", "M", "M", "J", "V", "S"), array("dd", "/", "mm", "/", "yyyy"), array("dddd", ", ", "dd", " de ", "mmmm", " de ", "yyyy"), array("H", ":", "nn"), array("H", ":", "nn", ":", "ss"), "", "", 1, false, "", "windows-1252", "CP1252"));  
$CCSLocales->AddLocale("sv", Array("sv", "SE", array(1, 0, ""), 2, ",", " ", array("januari", "februari", "mars", "april", "maj", "juni", "juli", "augusti", "september", "oktober", "november", "december"), array("jan", "feb", "mar", "apr", "maj", "jun", "jul", "aug", "sep", "okt", "nov", "dec"), array("söndag", "måndag", "tisdag", "onsdag", "torsdag", "fredag", "lördag"), array("sö", "må", "ti", "on", "to", "fr", "lö"), array("S", "M", "T", "O", "T", "F", "L"), array("yyyy", "-", "mm", "-", "dd"), array("den ", "d", " ", "mmmm", " ", "yyyy"), array("HH", ":", "nn"), array("HH", ":", "nn", ":", "ss"), "", "", 1, false, "", "utf-8", "UTF-8"));  
$CCSLocales->AddLocale("th", Array("th", "TH", array(1, 0, ""), 2, ".", ",", array("??????", "??????????", "??????", "??????", "???????", "????????", "???????", "???????", "???????", "??????", "?????????", "???????"), array("?.?.", "?.?.", "??.?.", "??.?.", "?.?.", "??.?.", "?.?.", "?.?.", "?.?.", "?.?.", "?.?.", "?.?."), array("???????", "??????", "??????", "???", "????????", "?????", "?????"), array("??.", "?.", "?.", "?.", "??.", "?.", "?."), array("?", "?", "?", "?", "?", "?", "?"), array("d", "/", "m", "/", "yyyy"), array("d", " ", "mmmm", " ", "yyyy"), array("H", ":", "nn"), array("H", ":", "nn", ":", "ss"), "AM", "PM", 1, false, "", "utf-8", "UTF-8"));  
$CCSLocales->AddLocale("tr", Array("tr", "TR", array(1, 0, ""), 2, ",", ".", array("Ocak", "?ubat", "Mart", "Nisan", "May?s", "Haziran", "Temmuz", "A?ustos", "Eylül", "Ekim", "Kas?m", "Aral?k"), array("Oca", "?ub", "Mar", "Nis", "May", "Haz", "Tem", "A?u", "Eyl", "Eki", "Kas", "Ara"), array("Pazar", "Pazartesi", "Sal?", "Çar?amba", "Per?embe", "Cuma", "Cumartesi"), array("Paz", "Pzt", "Sal", "Çar", "Per", "Cum", "Cmt"), array("P", "P", "S", "Ç", "P", "C", "C"), array("dd", ".", "mm", ".", "yyyy"), array("dd", " ", "mmmm", " ", "yyyy", " ", "dddd"), array("HH", ":", "nn"), array("HH", ":", "nn", ":", "ss"), "", "", 1, false, "", "utf-8", "UTF-8"));  
$CCSLocales->DefaultLocale = strtolower("en");  
$CCSLocales->Init();  
What this does ?
This loads all information in to arrays.
Why ?
Do we use all of them at same time ?

I suggest you keep them all but uncomment those you don't want to use. [this requires editing Common.php file :-( ]

If loaded all locale info in to array it takes-eats memory of your computer/server and it gets slower.
So i suggest modifing it in order to add in to Locales array just current-selected language by using switch of if statements ...
example:
  
if(CCGetParam("locale","") == "sv")  
{  
$CCSLocales->AddLocale("sv", Array("sv", "SE", array(1, 0, ""), 2, ",", " ", array("januari", "februari", "mars", "april", "maj", "juni", "juli", "augusti", "september", "oktober", "november", "december"), array("jan", "feb", "mar", "apr", "maj", "jun", "jul", "aug", "sep", "okt", "nov", "dec"), array("söndag", "måndag", "tisdag", "onsdag", "torsdag", "fredag", "lördag"), array("sö", "må", "ti", "on", "to", "fr", "lö"), array("S", "M", "T", "O", "T", "F", "L"), array("yyyy", "-", "mm", "-", "dd"), array("den ", "d", " ", "mmmm", " ", "yyyy"), array("HH", ":", "nn"), array("HH", ":", "nn", ":", "ss"), "", "", 1, false, "", "utf-8", "UTF-8"));  
}  
  
Note: sessions can't be set if you don't add array first :-(

This is just an idea ...



_________________
Regards
feha

www.vision.to
feedpixel.com
View profile  Send private message

Add new topic Subscribe to topic   


These are Community Forums for users to exchange information.
If you would like to obtain technical product help please visit http://support.yessoftware.com.

Web Database

Join thousands of Web developers who build Web applications with minimal coding.
CodeCharge.com

Home   |    Search   |    Members   |    Register   |    Login


Powered by UltraApps Forum created with CodeCharge Studio
Copyright © 2003-2004 by UltraApps.com  and YesSoftware, Inc.