19 if(isset($code) && isset($file)) {
21 $Ossn->locale[$code][] = $file;
34 if(isset($Ossn->localestr[$code], $code)) {
35 $params = array_merge($Ossn->localestr[$code], $params);
37 $Ossn->localestr[$code] = $params;
47 if(!isset($Ossn->locale)) {
50 foreach($Ossn->locale as $key => $val) {
70 $id = strtolower($id);
72 if(!empty($Ossn->localestr[$code][$id])) {
73 $string = $Ossn->localestr[$code][$id];
75 $string = vsprintf($string, $args);
92 if(isset($Ossn->locale[$active])) {
93 foreach($Ossn->locale[$active] as $locales) {
94 if(is_file($locales)) {
95 include_once($locales);
108 $json = json_encode($Ossn->localestr[$code]);
123 $installed = array();
126 foreach($Ossn->locale as $k => $v) {
129 if(($completeness < 100) && ($k !=
'en') && $percentage !==
false) {
130 $installed[$k] .=
" (" . $completeness .
"% " .
ossn_print(
'ossn:language:complete') .
")";
145 $en = count($Ossn->localestr[
'en']);
149 $missing = count($missing);
155 $lang = $en - $missing;
157 return round(($lang / $en) * 100, 2);
172 foreach($Ossn->localestr[
'en'] as $k => $v) {
173 if(!isset($Ossn->localestr[$language][$k])) {
178 if(count($missing)) {
346 foreach($codes as $code) {
347 $file = $path->locale .
"ossn.{$code}.php";
353 $components = $components->getActive();
354 foreach($components as $component) {
355 foreach($codes as $code) {
356 $file = $path->components .
'/' . $component->com_id .
"/locale/ossn.{$code}.php";
372 $com_langs = array();
373 $core_langs = array();
378 foreach($codes as $code) {
379 $file = $path->locale .
"ossn.{$code}.php";
381 $core_langs[] = $code;
386 foreach($components as $component) {
387 foreach($codes as $code) {
388 $file = $path->components .
'/' . $component->com_id .
"/locale/ossn.{$code}.php";
390 $com_langs[] = $code;
394 $langs = array_merge($com_langs, $core_langs);
395 return array_unique($langs);