The language class - support multilingual backend.
More...
The language class - support multilingual backend.
Get and set the backend language.
Language Support for Backend
The language files are located in
admin/language/lang-en-EN.ini
- Author
- Daniel Retzl danie.nosp@m.lret.nosp@m.zl@gm.nosp@m.ail..nosp@m.com
- Copyright
- 2017 Daniel Retzl @license https://opensource.org/licenses/MIT
- Version
- 1.0.0
Definition at line 16 of file language.php.
◆ drawLanguageSelectOptions()
static YAWK\language::drawLanguageSelectOptions |
( |
| ) |
|
|
static |
return options (inner html) for a language select field
- Returns
- string returns a string with all possible language options
Definition at line 478 of file language.php.
480 return '<option value=""></option>
481 <option value="af">Afrikaans</option>
482 <option value="sq">Albanian - shqip</option>
483 <option value="am">Amharic - አማርኛ</option>
484 <option value="ar">Arabic - العربية</option>
485 <option value="an">Aragonese - aragonés</option>
486 <option value="hy">Armenian - հայերեն</option>
487 <option value="ast">Asturian - asturianu</option>
488 <option value="az">Azerbaijani - azərbaycan dili</option>
489 <option value="eu">Basque - euskara</option>
490 <option value="be">Belarusian - беларуская</option>
491 <option value="bn">Bengali - বাংলা</option>
492 <option value="bs">Bosnian - bosanski</option>
493 <option value="br">Breton - brezhoneg</option>
494 <option value="bg">Bulgarian - български</option>
495 <option value="ca">Catalan - català</option>
496 <option value="ckb">Central Kurdish - کوردی (دەستنوسی عەرەبی)</option>
497 <option value="zh">Chinese - 中文</option>
498 <option value="zh-HK">Chinese (Hong Kong) - 中文(香港)</option>
499 <option value="zh-CN">Chinese (Simplified) - 中文(简体)</option>
500 <option value="zh-TW">Chinese (Traditional) - 中文(繁體)</option>
501 <option value="co">Corsican</option>
502 <option value="hr">Croatian - hrvatski</option>
503 <option value="cs">Czech - čeština</option>
504 <option value="da">Danish - dansk</option>
505 <option value="nl">Dutch - Nederlands</option>
506 <option value="en">English</option>
507 <option value="en-AU">English (Australia)</option>
508 <option value="en-CA">English (Canada)</option>
509 <option value="en-IN">English (India)</option>
510 <option value="en-NZ">English (New Zealand)</option>
511 <option value="en-ZA">English (South Africa)</option>
512 <option value="en-GB">English (United Kingdom)</option>
513 <option value="en-US">English (United States)</option>
514 <option value="eo">Esperanto - esperanto</option>
515 <option value="et">Estonian - eesti</option>
516 <option value="fo">Faroese - føroyskt</option>
517 <option value="fil">Filipino</option>
518 <option value="fi">Finnish - suomi</option>
519 <option value="fr">French - français</option>
520 <option value="fr-CA">French (Canada) - français (Canada)</option>
521 <option value="fr-FR">French (France) - français (France)</option>
522 <option value="fr-CH">French (Switzerland) - français (Suisse)</option>
523 <option value="gl">Galician - galego</option>
524 <option value="ka">Georgian - ქართული</option>
525 <option value="de">German - Deutsch</option>
526 <option value="de-AT">German (Austria) - Deutsch (Österreich)</option>
527 <option value="de-DE">German (Germany) - Deutsch (Deutschland)</option>
528 <option value="de-LI">German (Liechtenstein) - Deutsch (Liechtenstein)</option>
529 <option value="de-CH">German (Switzerland) - Deutsch (Schweiz)</option>
530 <option value="el">Greek - Ελληνικά</option>
531 <option value="gn">Guarani</option>
532 <option value="gu">Gujarati - ગુજરાતી</option>
533 <option value="ha">Hausa</option>
534 <option value="haw">Hawaiian - ʻŌlelo Hawaiʻi</option>
535 <option value="he">Hebrew - עברית</option>
536 <option value="hi">Hindi - हिन्दी</option>
537 <option value="hu">Hungarian - magyar</option>
538 <option value="is">Icelandic - íslenska</option>
539 <option value="id">Indonesian - Indonesia</option>
540 <option value="ia">Interlingua</option>
541 <option value="ga">Irish - Gaeilge</option>
542 <option value="it">Italian - italiano</option>
543 <option value="it-IT">Italian (Italy) - italiano (Italia)</option>
544 <option value="it-CH">Italian (Switzerland) - italiano (Svizzera)</option>
545 <option value="ja">Japanese - 日本語</option>
546 <option value="kn">Kannada - ಕನ್ನಡ</option>
547 <option value="kk">Kazakh - қазақ тілі</option>
548 <option value="km">Khmer - ខ្មែរ</option>
549 <option value="ko">Korean - 한국어</option>
550 <option value="ku">Kurdish - Kurdî</option>
551 <option value="ky">Kyrgyz - кыргызча</option>
552 <option value="lo">Lao - ລາວ</option>
553 <option value="la">Latin</option>
554 <option value="lv">Latvian - latviešu</option>
555 <option value="ln">Lingala - lingála</option>
556 <option value="lt">Lithuanian - lietuvių</option>
557 <option value="mk">Macedonian - македонски</option>
558 <option value="ms">Malay - Bahasa Melayu</option>
559 <option value="ml">Malayalam - മലയാളം</option>
560 <option value="mt">Maltese - Malti</option>
561 <option value="mr">Marathi - मराठी</option>
562 <option value="mn">Mongolian - монгол</option>
563 <option value="ne">Nepali - नेपाली</option>
564 <option value="no">Norwegian - norsk</option>
565 <option value="nb">Norwegian Bokmål - norsk bokmål</option>
566 <option value="nn">Norwegian Nynorsk - nynorsk</option>
567 <option value="oc">Occitan</option>
568 <option value="or">Oriya - ଓଡ଼ିଆ</option>
569 <option value="om">Oromo - Oromoo</option>
570 <option value="ps">Pashto - پښتو</option>
571 <option value="fa">Persian - فارسی</option>
572 <option value="pl">Polish - polski</option>
573 <option value="pt">Portuguese - português</option>
574 <option value="pt-BR">Portuguese (Brazil) - português (Brasil)</option>
575 <option value="pt-PT">Portuguese (Portugal) - português (Portugal)</option>
576 <option value="pa">Punjabi - ਪੰਜਾਬੀ</option>
577 <option value="qu">Quechua</option>
578 <option value="ro">Romanian - română</option>
579 <option value="mo">Romanian (Moldova) - română (Moldova)</option>
580 <option value="rm">Romansh - rumantsch</option>
581 <option value="ru">Russian - русский</option>
582 <option value="gd">Scottish Gaelic</option>
583 <option value="sr">Serbian - српски</option>
584 <option value="sh">Serbo-Croatian - Srpskohrvatski</option>
585 <option value="sn">Shona - chiShona</option>
586 <option value="sd">Sindhi</option>
587 <option value="si">Sinhala - සිංහල</option>
588 <option value="sk">Slovak - slovenčina</option>
589 <option value="sl">Slovenian - slovenščina</option>
590 <option value="so">Somali - Soomaali</option>
591 <option value="st">Southern Sotho</option>
592 <option value="es">Spanish - español</option>
593 <option value="es-AR">Spanish (Argentina) - español (Argentina)</option>
594 <option value="es-419">Spanish (Latin America) - español (Latinoamérica)</option>
595 <option value="es-MX">Spanish (Mexico) - español (México)</option>
596 <option value="es-ES">Spanish (Spain) - español (España)</option>
597 <option value="es-US">Spanish (United States) - español (Estados Unidos)</option>
598 <option value="su">Sundanese</option>
599 <option value="sw">Swahili - Kiswahili</option>
600 <option value="sv">Swedish - svenska</option>
601 <option value="tg">Tajik - тоҷикӣ</option>
602 <option value="ta">Tamil - தமிழ்</option>
603 <option value="tt">Tatar</option>
604 <option value="te">Telugu - తెలుగు</option>
605 <option value="th">Thai - ไทย</option>
606 <option value="ti">Tigrinya - ትግርኛ</option>
607 <option value="to">Tongan - lea fakatonga</option>
608 <option value="tr">Turkish - Türkçe</option>
609 <option value="tk">Turkmen</option>
610 <option value="tw">Twi</option>
611 <option value="uk">Ukrainian - українська</option>
612 <option value="ur">Urdu - اردو</option>
613 <option value="ug">Uyghur</option>
614 <option value="uz">Uzbek - o‘zbek</option>
615 <option value="vi">Vietnamese - Tiếng Việt</option>
616 <option value="wa">Walloon - wa</option>
617 <option value="cy">Welsh - Cymraeg</option>
618 <option value="fy">Western Frisian</option>
619 <option value="xh">Xhosa</option>
620 <option value="yi">Yiddish</option>
621 <option value="yo">Yoruba - Èdè Yorùbá</option>
622 <option value="zu">Zulu - isiZulu</option>';
◆ getClientLanguage()
YAWK\language::getClientLanguage |
( |
| ) |
|
◆ getCurrentLanguage()
YAWK\language::getCurrentLanguage |
( |
|
$db, |
|
|
|
$referer |
|
) |
| |
returns the currently set language
- Copyright
- 2017 Daniel Retzl
- Parameters
-
object | $db | database object |
string | $referer | frontend|backend from where it the call referred? |
- Returns
- string
Definition at line 62 of file language.php.
65 if (isset($referer) && (is_string($referer)))
67 if ($referer ==
"frontend")
73 @setcookie(
'lang', $this->currentLanguage, time() + (60 * 60 * 24 * 1460));
78 $this->currentLanguage =
"en-EN";
84 else if ($referer ==
"backend")
91 @setcookie(
'lang', $this->currentLanguage, time() + (60 * 60 * 24 * 1460));
96 $this->currentLanguage =
"en-EN";
108 @setcookie(
'lang', $this->currentLanguage, time() + (60 * 60 * 24 * 1460));
113 $this->currentLanguage =
"en-EN";
126 @setcookie(
'lang', $this->currentLanguage, time() + (60 * 60 * 24 * 1460));
131 $this->currentLanguage =
"en-EN";
static getSetting($db, $property)
Get and return value for property from settings database.
References YAWK\language\$currentLanguage, $db, and YAWK\settings\getSetting().
Referenced by YAWK\language\init().
◆ getCurrentLanguageStatic()
static YAWK\language::getCurrentLanguageStatic |
( |
| ) |
|
|
static |
◆ getPathToLanguageFile()
YAWK\language::getPathToLanguageFile |
( |
| ) |
|
Returns the path to the language file.
- Copyright
- 2017 Daniel Retzl @license https://opensource.org/licenses/MIT return string
Definition at line 323 of file language.php.
326 if(stristr($_SERVER[
'PHP_SELF'],
'/admin/') == TRUE)
330 if (is_dir(
"language/"))
333 $this->pathToFile =
"language/";
335 elseif (is_dir(
"admin/language/"))
337 $this->pathToFile =
"admin/language";
340 elseif (is_dir(
"../language/"))
343 $base_dir = substr($base_dir, 0, -15);
344 $this->pathToFile = $base_dir.
"/admin/language/";
353 else if (isset($_SESSION[
'SETUP']) && ($_SESSION[
'SETUP'] == TRUE))
355 $this->pathToFile =
"admin/language/";
361 if (is_dir(
"system/language/"))
363 $this->pathToFile =
"system/language/";
366 else if (is_dir(
"admin/language"))
368 $this->pathToFile =
"admin/language/";
371 else if (is_dir(
"../../../language"))
373 $this->pathToFile =
"../../../language/";
377 die (
"ERROR: Unable to load language files. Several conditions failed - files are missing or corrupt. Please inform the page administrator about this concern.");
References YAWK\language\$pathToFile, and die.
Referenced by YAWK\language\setLanguage().
◆ getSupportedLanguages()
YAWK\language::getSupportedLanguages |
( |
| ) |
|
sets object supportedLanguages as array including all supported languages
- Author
- Daniel Retzl danie.nosp@m.lret.nosp@m.zl@gm.nosp@m.ail..nosp@m.com
- Copyright
- 2009-2016 Daniel Retzl @license https://opensource.org/licenses/MIT
- Returns
- bool
Definition at line 226 of file language.php.
229 require_once (
'system/classes/filemanager.php');
231 foreach ($languageFiles AS $file)
233 if ($file !=
".htaccess")
235 $globalLanguageTag = substr($file, 5, -7);
236 $this->supportedLanguagesGlobal[] = $globalLanguageTag;
237 $localLanguageTag = substr($file, 5, -4);
238 $this->supportedLanguages[] = $localLanguageTag;
242 if (is_array($this->supportedLanguagesGlobal) && (is_array($this->supportedLanguages)))
static getFilesFromFolderToArray($folder)
returns an array containing only files from folder (no subfolders)
References YAWK\filemanager\getFilesFromFolderToArray().
Referenced by YAWK\language\isSupported().
◆ init()
YAWK\language::init |
( |
|
$db, |
|
|
|
$referer |
|
) |
| |
◆ inject()
static YAWK\language::inject |
( |
array |
$lang, |
|
|
string |
$pathToFile |
|
) |
| |
|
static |
allow plugins to inject language tags to $lang array
- Parameters
-
array | $lang | the language data array |
string | $pathToFile | absolute path to the injectable language file |
- Returns
- array $lang returns pushed language array
Definition at line 439 of file language.php.
442 if (isset($_SESSION[
'lang']))
446 elseif (isset($_COOKIE[
'lang']))
450 elseif (isset(
$_GET[
'lang']))
464 $additionalTags = parse_ini_file(
"$pathToFile".
"$currentLanguage".
".ini");
466 foreach ($additionalTags AS $tag =>
$value)
static getCurrentLanguageStatic()
returns the currently set backend language, but is static callable
References $_GET, YAWK\language\$currentLanguage, YAWK\language\$lang, $value, and YAWK\language\getCurrentLanguageStatic().
◆ isSupported()
YAWK\language::isSupported |
( |
string |
$currentLanguage | ) |
|
◆ setDefault()
YAWK\language::setDefault |
( |
string |
$defaultLanguage | ) |
|
◆ setLanguage()
YAWK\language::setLanguage |
( |
string |
$currentLanguage | ) |
|
set client language and parse corresponding ini file to an array called $lang
- Parameters
-
string | $currentLanguage | the current language as string (e.g. en-US) |
- Returns
- array|bool $lang returns a language array
Definition at line 388 of file language.php.
401 if (is_file(
"$this->pathToFile".
"lang-".
"$currentLanguage".
".ini"))
403 if ($this->lang = parse_ini_file(
"$this->pathToFile".
"lang-".
"$currentLanguage".
".ini"))
409 die (
"could not load language file: $this->pathToFile".
"lang-".
"$currentLanguage".
".ini");
413 elseif (is_file(
"$this->pathToFile".
"lang-en-EN.ini"))
415 if ($this->lang = parse_ini_file(
"$this->pathToFile".
"lang-en-EN.ini"))
421 die (
"ERROR: Could not load language file: $this->pathToFile".
"lang-en-EN.ini");
428 die (
"CRITICAL ERROR: No language file found. It should be there, but it isn't. This is strange. Please check $this->pathToFile and install a language file.");
getPathToLanguageFile()
Returns the path to the language file.
References YAWK\language\$currentLanguage, YAWK\language\$lang, die, and YAWK\language\getPathToLanguageFile().
Referenced by YAWK\language\init(), and YAWK\language\setDefault().
◆ $currentFrontendLanguage
YAWK\language::$currentFrontendLanguage |
- Parameters
-
string | $currentLanguage | current setted language in format: en-EN |
Definition at line 25 of file language.php.
◆ $currentLanguage
YAWK\language::$currentLanguage |
◆ $currentLanguageGlobal
YAWK\language::$currentLanguageGlobal |
- Parameters
-
string | $currentLanguageGlobal | current setted language in format: en |
Definition at line 27 of file language.php.
◆ $defaultLanguage
YAWK\language::$defaultLanguage |
◆ $detectedLanguage
YAWK\language::$detectedLanguage |
- Parameters
-
string | $detectedLanguage | current detected language in format: en-EN |
Definition at line 29 of file language.php.
◆ $detectedLanguageGlobal
YAWK\language::$detectedLanguageGlobal |
- Parameters
-
string | $detectedLanguageGlobal | current detected language in format: en |
Definition at line 31 of file language.php.
◆ $httpAcceptedLanguage
YAWK\language::$httpAcceptedLanguage |
◆ $lang
◆ $pathToFile
YAWK\language::$pathToFile |
◆ $supportedLanguages
YAWK\language::$supportedLanguages |
- Parameters
-
array | $supportedLanguages | array that contains all supported languages, but the full tag eg. (en-EN) |
Definition at line 39 of file language.php.
◆ $supportedLanguagesGlobal
YAWK\language::$supportedLanguagesGlobal |
- Parameters
-
array | $supportedLanguagesGlobal | array that contains all supported languages, shortened to the first 2 chars eg. (en) |
Definition at line 37 of file language.php.
The documentation for this class was generated from the following file: