Revision 1260ff14
Von Moritz Bunkus vor etwa 12 Jahren hinzugefügt
SL/Template/Plugin/L.pm | ||
---|---|---|
591 | 591 |
my $by_spec = $sort_spec->{$by}; |
592 | 592 |
my %current_sort_params = $controller->get_current_sort_params; |
593 | 593 |
my ($image, $new_dir) = ('', $current_sort_params{dir}); |
594 |
my $title = delete($params{title}) || $by_spec->{title};
|
|
594 |
my $title = delete($params{title}) || $::locale->text($by_spec->{title});
|
|
595 | 595 |
|
596 | 596 |
if ($current_sort_params{by} eq $by) { |
597 | 597 |
my $current_dir = $current_sort_params{dir} ? 'up' : 'down'; |
Auch abrufbar als: Unified diff
Sorted-Controller-Helper: Spaltentitle nicht direkt in make_sorted() übersetzen
Hintergrund ist der, dass ansonsten die Übersetzung nur einmal
passiert, nämlich dann, wenn das Modul compiliert wird. Für normales
CGI funktioniert das:
- Zuerst wird der Dispatcher geladen und ausgeführt. Der analysiert
zur Laufzeit die GET-/POST-Parameter und lädt erst dann den
erforderlichen Controller mittels "require".
- Sprich Dispatcher hat schon das für den Benutzer notwendige
$::locale-Objekt angelegt, und die Compilezeit des Controller-Moduls
liegt danach.
Für FastCGI würde das kaputt gehen:
- Zuerst wird der Dispatcher geladen und ausgeführt. Der analysiert
zur Laufzeit die GET-/POST-Parameter und lädt erst dann den
erforderlichen Controller mittels "require".
- Nach Beenden des Requests bleibt das Modul aber im Speicher.
- Beim nächsten Request auf denselben Controller wurde dieser bereits
compiliert, und die Titel wären bereits übersetzt -- in der Sprache
des Benutzers, der den Controller seit Start des FastCGI-Prozesses
das erste Mal aufgerufen hat.