Metainformationen zur Seite
LoxBerry::Web::iso_languages
@values/%labels = iso_languages($onlyavail, 'values' / 'labels');
Diese Funktion gibt entweder alle verfügbaren, oder alle Sprachen nach ISO-639-1 aus, wahlweise als Array oder Hash.Diese Funktion ist primär für LoxBerry-Core Entwickler für die Sprachauswahl gedacht.
Die Parameter und Rückgabe sind dafür ausgelegt, mittels CGI→popup_menu ein Dropdown-Menü zu erzeugen. Am besten die Beispiele für die Verwendung ansehen.
Parameter
Erster Parameter
Ist der erste Parameter 1, werden nur die am LoxBerry verfügbaren Systemsprachen zurückgegeben.
Wird als erster Parameter 0 oder undef
übergeben, wird die vollständige Liste aller ISO-639-1 Sprachen und die englische Bezeichnung zurückgegeben.
Zweiter Parameter
Wird als zweiter Parameter der String 'values
' übergeben, enthält die Rückgabe einen Array entsprechend der Sortierung der Sprachendatei $lbsconfigdir/languages.default
. Die Sprachdatei ist sortiert nach: Englisch, deutsch, europäische Sprachen, andere Sprachen. Werden alle Sprachen (nicht nur verfügbare) abgerufen, enthält die Rückgabe Trennelemente (für die Sprachauswahl), die keinen ISO-Ländercode enthalten, sondern eine Zahl (ist wegen der Sortierung der Trennelemente notwendig). Der eigene Code muss beim Übermitteln des Formulars diese Zahlen filtern.
Verwendung
Beispiel aus myloxberry.cgi
use LoxBerry::Web; # First parameter is 1 -> only available system languages are returned my @values = LoxBerry::Web::iso_languages(1, 'values'); my %labels = LoxBerry::Web::iso_languages(1, 'labels'); my $langselector_popup = $cgi->popup_menu( -name => 'languageselector', id => 'languageselector', -labels => \%labels, -values => \@values, -default => $lang, ); $maintemplate->param('LANGSELECTOR', $langselector_popup);
Beispiel aus translate.cgi
use LoxBerry::Web; # First parameter is undef -> ALL languages are returned in the sort order of the file my @values = LoxBerry::Web::iso_languages(undef, 'values'); my %labels = LoxBerry::Web::iso_languages(undef, 'labels'); my $langselector_popup = $cgi->popup_menu( -name => 'languageselector', id => 'languageselector', -labels => \%labels, -values => \@values, ); $maintemplate->param('LANGSELECTOR', $langselector_popup);