Schrift
[thread]6414[/thread]

Locale::Maketext: hab's probiert, funktioniert, aber ...

Leser: 1


<< >> 4 Einträge, 1 Seite
steffenw
 2004-07-20 02:15
#84615 #84615
User since
2003-08-15
692 Artikel
BenutzerIn
[Homepage] [default_avatar]
Ich steige bei der Dokumentation zum Modul einfach nicht durch, finde sie chaotisch.
Code: (dl )
1
2
my $lh = main::L10N->get_handle(qw/en/);
print $lh->maketext("Hallo Welt");
funktioniert perfekt.

Nun möchte ich so etwas machen wie:

"[quant,_1,file,files,No files] matched your query.\n"

Ich habe aber keine Vorstellung davon, wie ich das einbinden muß.
$SIG{USER} = sub {love 'Perl' or die};
Relais
 2004-07-23 13:06
#84616 #84616
User since
2003-08-06
2244 Artikel
ModeratorIn
[Homepage] [default_avatar]
Ich verstehe nicht, was Du machen willst. Soll das in [...] ein Platzhalter für all diese Werte sein?
Erst denken, dann posten --
26. Deutscher Perl- u. Raku -Workshop 15. bis 17.04.2024 in Frankfurt/M.

Winter is Coming
renee
 2004-07-23 13:17
#84617 #84617
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Das müsste ganz normal mit
Code: (dl )
1
2
3
my $lh = main::L10N->get_handle(qw/en/);
print $lh->maketext("Hallo Welt");
print "[quant,_1,file,files,No files] matched your query\n";

gehen...

sonst probier die andere Schreibweise:
Code: (dl )
1
2
3
my $lh = main::L10N->get_handle(qw/en/);
print $lh->maketext("Hallo Welt");
print $lh->quant(_1,"file","files","No files")," matched your query\n";
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
steffenw
 2004-07-24 01:46
#84618 #84618
User since
2003-08-15
692 Artikel
BenutzerIn
[Homepage] [default_avatar]
Danke für den Gedankenanstoß. Der Fehler lag im Lexikon. Ich mußte die Platzhalter da natürlich auch einbauen.

Das Testprogramm:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
package main::L10N;
use strict;
use warnings;
use base qw(Locale::Maketext);

# Haupt-Sprachklasse, abstrakt

1;

################################################################

# main/L10N/en.pm:

package main::L10N::en;
use strict;
use warnings;
use base qw(main::L10N);

# Sprachklasse fuer Englisch

our %Lexicon =
( "Hallo Welt" => "Hello world",
"Rezept für Pfannkuchen" => "Recipe for pancakes",
"[_1] gefunden" => "[quant,_1,file,files,No files] found",
);

1;

################################################################

# main/L10N/de.pm:

package main::L10N::de;
use strict;
use warnings;
use base qw(main::L10N);

# Sprachklasse fuer Deutsch

our %Lexicon =
( "Hallo Welt" => "Hallo Welt",
"Rezept für Pfannkuchen" => "Rezept für Pfannkuchen",
"[_1] gefunden" => "[quant,_1,Datei,Dateien,keine Datei] gefunden",
);

1;

################################################################

# main/L10N/de_at.pm:

package main::L10N::de_at;
use strict;
use warnings;
use base qw(main::L10N::de);

# Sprachklasse fuer Oesterreichisch,
# erbt die meisten Texte von main::L10N::de

our %Lexicon =
( "Rezept für Pfannkuchen" => "Rezept für Palatschinken",
);

1;

################################################################

package main;
use strict;
use warnings;

# Haupt-Sprachklasse laden
# use main::L10N;

{ # Passende Sprachklasse automatisch waehlen
my $lh = main::L10N->get_handle(qw/de_at de en/) or die "What language?";

# Jetzt die Texte ausgeben;
# die richtige Sprache wird automatisch gewaehlt

print "Test mit quant:\n";
print $lh->quant($_,'Datei','Dateien','keine Datei'), "\n" for 0..3;
print "Test mit maketext:\n";
print $lh->maketext("Hallo Welt"), "\n";
print $lh->maketext("[_1] gefunden", $_), "\n" for 0..3;
print $lh->maketext("Rezept für Pfannkuchen"), "\n";
}
$SIG{USER} = sub {love 'Perl' or die};
<< >> 4 Einträge, 1 Seite



View all threads created 2004-07-20 02:15.