3
* Componente de Internacionalizacao
9
* @subpackage oraculum.components.I18N
13
public static function load($lang=null)
15
if (!is_null($lang)) {
16
$langfile="./apps/".PROJECT."/models/locale/".$lang."/lang.php";
17
$altlangfile="./models/locale/".$lang."/lang.php";
19
$langfile="./apps/".PROJECT."/models/locale/".LANG."/lang.php";
20
$altlangfile="./models/locale/".LANG."/lang.php";
22
if (file_exists($langfile)) {
25
} else if (file_exists($altlangfile)) {
26
include($altlangfile);
29
// Se não houver o arquivo PHP de idiomas, e gerado um atraves de um arquivo CSV
30
if (!is_null($lang)) {
31
$csvlangfile="./apps/".PROJECT."/models/locale/".$lang."/lang.csv";
32
$altcsvlangfile="./models/locale/".$lang."/lang.csv";
34
$csvlangfile="./apps/".PROJECT."/models/locale/".LANG."/lang.csv";
35
$altcsvlangfile="./models/locale/".LANG."/lang.csv";
37
if (file_exists($csvlangfile)) {
38
$handle=fopen($csvlangfile, "r");
39
} else if (file_exists($altcsvlangfile)) {
40
$handle=fopen($altcsvlangfile, "r");
43
$phplangfile="<?php\n";
44
while (($linhas=(fgetcsv($handle, 1000, ",")))!==FALSE) {
45
$num=(count($linhas)); // Número de campos
47
for ($c=1;$c<$num;$c++) {
48
$linhas[$c]=str_replace("\"", "", $linhas[$c]);
49
$linhas[$c]=str_replace("\'", "", $linhas[$c]);
50
if ($linhas[$c]!="") {
51
$phplangfile.=" define(\"LANG_".strtoupper($linhas[$c])."\", \"";
52
$phplangfile.=strtolower(htmlentities(utf8_decode($linhas[0])))."\");\n";
58
if ((is_writable($langfile))||(!file_exists($langfile))) {
59
$file=fopen($langfile, 'w');
60
fwrite($file, $phplangfile);
61
I18N::load(); // Tenta recarregar o arquivo de Idioma (php) novamente
64
alert("Arquivo de idioma gerado atraves de um arquivo CSV<br /><u>".$langfile."</u>");
69
alert("Sem permissao para gerar arquivo de idioma<br /><u>".$langfile."</u>");
75
alert("Arquivo referente ao idioma <u>".LANG."</u> nao encontrado!");
b'\\ No newline at end of file'