Language - (lang.class.php)

new lang() - Object

$string code = null Ausgabe des Sprachcodes nach ISO 639-1 in Kleinbuchstaben
en, de
$string localCode = null Ausgabe des Regional-Sprachcodes, welcher aus Sprachcode und Ländercode besteht
en-US, de-DE
$object language = null gibt ein array mit den Übersetzungen und Kontext der Sprachcodes zurück (siehe lang::getLang()); ansonsten null
$string countryCode = null Ausgabe des Ländercodes nach ISO 3166-1 in Großbuchstaben
US, DE
$object country = null gibt ein array mit den Übersetzungen und Kontext der Ländercodes zurück (siehe lang::getCntry()); ansonsten null
$bool isDefault = false gibt an, ob dieses Objekt der default Sprachcode ist
$bool isLang = false gibt bei true an, dass das new lang() - Objekt ein Sprachcode ist
$float weight = 1.0 gibt die Gewichtung der Sprache an
$lang = new lang('de;q=0.5');
echo $lang->weight; // Ausgabe: 0.5
__construct ($string $object $context = null[, $bool $search = false])
$context Angabe der Sprache als $string; kann auch als Suche verwendet werden: z.B. 'deutsch'; Groß- und Kleinschreibung wird nicht beachtet; oder als new lang() Objekt
$search optional; gibt bei true an, ob bei ungenauer $context Eingabe, eine Suche durchgeführt werden soll
erstellt das new lang() - Object und gibt true zurück wenn erfolgreich eine Sprache gefunden wurde, ansonsten false; wird eine Suche durchgeführt, bei der keine genaue Sprache erkannt werden kann, wird err::log(Status: 200) ausgeführt; wird kein Sprachcode gefunden, wird ebenfalls err::log(Status: 200) ausgeführt
$lang = new lang('de');
$lang = new lang('en-US');
$lang = new lang('en;q=0.5');
$lang = new lang('deutsch', true);
$lang = new lang(new lang('en'));
__get ($string $name)
$name gibt die Objekteigenschaft an
gibt die Objekteingenschaft zurück wenn sie vorhanden ist; ansonsten wird null zurückgegeben
$lang = new lang ('de');
echo $lang->language; // ruft die Objekteigenschaft language auf; Ausgabe: Deutsch
__set ($string $name, $mixed $val)
$name gibt die Objekteigenschaft an
$val gibt den zu speichernden Wert an
gibt true zurück wenn die Variable gespeichert werden konnte, ansonsten false
$lang = new lang ('de');
$lang->code = 'en'; // will den Sprachcode ändern, wird aber nicht gespeichert
__toString ()
gibt den Sprachcode nach ISO 639-1 als $string zurück; wenn er nicht vorhanden ist wird ein leerer $string zurückgegeben ' '
$lang = new lang ('de');
echo $lang; // Ausgabe: 'de'

$lang = new lang ('de-DE;q=0.6');
echo $lang; // Ausgabe: 'de-DE;q=0.6'
__invoke ()
es wird die Funktion __toString() zurückgegeben
$lang = new lang ('de');
$lang(); // Ausgabe: 'de'
__debugInfo ()
gibt ein Array mit allen Eigenschaften zurück
$lang = new lang ('de');

var_dump($lang);

Überprüfung

static lang::isLang ($mixed $lang = null)
$lang gibt das new lang() Objekt an
gibt true zurück wenn das übergebene Objekt Instanz von new lang() ist und die ->isLang Eigenschaft auch true ist; ansonsten wird false zurückgegeben
lang::isLang('de'); // Ausgabe: false

lang::isLang(new lang('de')); // Ausgabe: true

lang::isLang(new lang('DE')); // Ausgabe: false; da nur der Ländername erkannt wird, aber nicht die Sprache

lang::isLang(new lang('de-DE')); // Ausgabe: true
static lang::isLangCode ($mixed $lang = null[, $bool $local_code = false[, $bool $case_sensitive = false]])
$lang gibt den Sprachcode nach ISO 639-1 an der überprüft werden soll
$local_code optional; mit true dürfen auch Ländercode nach ISO 3166-1 vorhanden sein en-US
$case_sensitive optional; mit true wird Groß- und Kleinschreibung beachtet, es muss klein geschrieben sein
ist der Sprachcode gültig, wird true zurückgegeben; ansonsten false
lang::isLangCode('de'); // Ausgabe: true

lang::isLangCode('DE'); // Ausgabe: true

lang::isLangCode('DE', false, true); // Ausgabe: false, da groß geschrieben wurde
static lang::isCntryCode ($mixed $cntry = null[, $bool $case_sensitive = false])
$cntry gibt den Ländercodes nach ISO 3166-1 an der überprüft werden soll
$case_sensitive optional; mit true wird Groß- und Kleinschreibung beachtet, es muss groß geschrieben sein
ist der Ländercode gültig, wird true zurückgegeben; ansonsten false
lang::isCntryCode('us'); // Ausgabe: true

lang::isCntryCode('US'); // Ausgabe: true

lang::isCntryCode('us', true); // Ausgabe: false, da klein geschrieben wurde
static lang::isLangCodeArray ($mixed $codeArray = null[, $bool $local_code = false[, $bool $case_sensitive = false]])
$codeArray gibt den Sprachcode nach ISO 639-1 als array an der überprüft werden soll, es wird kein new lang() Objekt akzeptiert!
$local_code optional; mit true dürfen auch Ländercode nach ISO 3166-1 vorhanden sein en-US
$case_sensitive optional; mit true wird Groß- und Kleinschreibung beachtet, es muss klein geschrieben sein
sind die Sprachcodes im array gültig, wird true zurückgegeben; ansonsten false
lang::isLangCodeArray('de'); // Ausgabe: false

lang::isLangCodeArray('DE'); // Ausgabe: false

lang::isLangCodeArray(['DE', 'en']); // Ausgabe: true

lang::isLangCodeArray(['DE', 'en-us']); // Ausgabe: false

lang::isLangCodeArray(['DE', 'en-us'], true); // Ausgabe: true

lang::isLangCodeArray(['DE', 'en-us'], true, true); // Ausgabe: false

lang::isLangCodeArray(['de', 'en-US'], true, true); // Ausgabe: true
static lang::compare ($object $lang1 = null, $object $lang2 = null[, $bool $local_code = false[, $float $weight = false]])
$lang1 gibt das new lang() Objekt an, welches verglichen werden soll
$lang2 gibt das new lang() Objekt an, welches verglichen werden soll
$local_code optional; mit true werden auch Ländercode nach ISO 3166-1 berücksichtigt; mit false ignoriert
$weight optional; mit true wird auch die Gewichtung der Sprache berücksichtigt; mit false ignoriert
gibt true zurück wenn die übergebenen Objekte new lang() gleich sind; ansonsten wird false zurückgegeben
lang::compare(new lang('de'), new lang('de-DE')); // Ausgabe: false

Action

static lang::parseString ($string $langString = null)
$langString übergibt den string der geparst werden soll
gibt immer ein array mit allen Language Informationen aus dem übergebenen string zurück; Sprach- und Ländercodes wurden aber nicht auf Gültigkeit geprüft; Groß- und Kleinschreibung wird nur bei der Ausgabe beachtet
[
  'lang' => null, // #CODE, gibt den Sprachcode aus; klein geschrieben (de, en)
  'localCode' => null, // #LOCALCODE, gibt den Sprachcode mit dem Ländercode aus (de-DE, en-US)
  'cntry' => null, // #CNTRYCODE, gibt den Ländercode aus; groß geschrieben (DE, US)
  'weight' => null, // #WEIGHT, gibt die Gewichtung an
]
lang::parseString('de');

lang::parseString('de-de;q=0.7');
static lang::removeCntry ($object $lang = null)
$lang gibt das new lang() Objekt an
gibt ein new lang() Objekt zurück, bei dem der Country-Code entfernt wurde; im Fehlerfall null
$lang = new lang('de-DE');

lang::removeCntry($lang);

Informationsausgabe

static lang::getDefault ()
gibt die Default Sprache als string zurück
echo lang::getDefault();
static lang::detect ($string $txt = null)
$txt gibt den Inhalt als string an, bei dem die Sprache ermittelt werden soll
gibt ein new lang() Objekt zurück, welcher aus dem string ermittelt werden konnte; im Fehlerfall null
lang::detect('Dies ist ein Text'); // Ausgabe: new lang('de')
static lang::getLang ($mixed $lang = null)
$lang entweder als $string z.B. 'de', egal ob groß oder klein geschrieben, oder als new lang() Objekt
gibt ein array mit den Übersetzungen und Kontext der Sprachcodes zurück; ansonsten null
$lang = new lang('de-DE');

print_r(lang::getLang($lang)); // Ausgabe array ['en' => 'German', 'de' => 'Deutsch', 'fr' => 'allemand', 'context' => 'language name']

print_r(lang::getLang('de')); // Ausgabe array ['en' => 'German', 'de' => 'Deutsch', 'fr' => 'allemand', 'context' => 'language name']
static lang::getCntry ($mixed $cntry = null)
$cntry entweder als $string z.B. 'de', egal ob groß oder klein geschrieben, oder als new lang() Objekt
gibt ein array mit den Übersetzungen und Kontext der Ländercodes zurück; ansonsten null
$lang = new lang('de-DE');

print_r(lang::getCntry($lang)); // Ausgabe array ['de' => 'Deutschland', 'en' => 'Germany', 'context' => 'country name']

print_r(lang::getCntry('de')); // Ausgabe array ['de' => 'Deutschland', 'en' => 'Germany', 'context' => 'country name']

Suchfunktion

static lang::searchLang ($string $numeric $context = null)
$context der Suchbegriff
gibt den Sprachcode nach ISO 639-1 in Kleinbuchstaben zurück; wenn kein Suchergebnis vorliegt oder ein Fehler auftritt wird null zurückgegeben
lang::searchLang('germanisch'); // Ausgabe: 'de'
static lang::searchCntry ($string $numeric $context = null)
$context der Suchbegriff
gibt den Ländercode nach ISO 3166-1 in Großbuchstaben zurück; wenn kein Suchergebnis vorliegt oder ein Fehler auftritt wird null zurückgegeben
lang::searchCntry('Deutsch'); // Ausgabe: 'DE'

lang::searchCntry('United States'); // Ausgabe: 'US'

Arraylisten

static lang::getLangList ()
gibt bei Erfolg ein $array zurück, mit den Sprachcodes und den dazugehörigen Sprachcodes (klingt komisch, ist aber so); ansonsten null
$lang = lang::getLangList();// Array: ... ['de' => ['de' => 'Deutsch', 'en' => 'German']] ...

var_dump($lang['de']); // Ausgabe: ['de' => 'Deutsch', 'en' => 'German']

$trans = new trans($lang['de']);
echo $trans; // Ausgabe: 'Deutsch'
static lang::getCntryList ()
gibt bei Erfolg ein $array zurück, mit den Ländercodes und den dazugehörigen Sprachcodes; ansonsten null
$cntry = lang::getCntryList(); // Array: ... ['de' => ['de' => 'Deutschland', 'en' => 'Germany']] ...

var_dump($cntry['de']); // Ausgabe: ['de' => 'Deutschland', 'en' => 'Germany']

$trans = new trans($cntry['de']);
echo $trans; // Ausgabe: 'Deutschland'