diff options
| author | fukachan <fukachan> | 2003-10-18 04:43:51 +0000 |
|---|---|---|
| committer | fukachan <fukachan> | 2003-10-18 04:43:51 +0000 |
| commit | b998f0d32a3f4697d048b9bc3a82061c3102d433 (patch) | |
| tree | 011a40466e9392e1d70bc7c8bce2ffa2b82f057b /fml/lib/FML/Process | |
| parent | d255d6ed481544d3e737117237a040ef28ebdf8f (diff) | |
| download | fml8-b998f0d32a3f4697d048b9bc3a82061c3102d433.tar.gz fml8-b998f0d32a3f4697d048b9bc3a82061c3102d433.tar.bz2 fml8-b998f0d32a3f4697d048b9bc3a82061c3102d433.zip | |
Mail::Message::Charset has tables on code, charset and languge.
FML::Process::CGI::Kernel is modified to use it.
Diffstat (limited to 'fml/lib/FML/Process')
| -rw-r--r-- | fml/lib/FML/Process/CGI/Kernel.pm | 21 |
1 files changed, 12 insertions, 9 deletions
diff --git a/fml/lib/FML/Process/CGI/Kernel.pm b/fml/lib/FML/Process/CGI/Kernel.pm index ad68a960..cbbf4f81 100644 --- a/fml/lib/FML/Process/CGI/Kernel.pm +++ b/fml/lib/FML/Process/CGI/Kernel.pm @@ -4,7 +4,7 @@ # All rights reserved. This program is free software; you can # redistribute it and/or modify it under the same terms as Perl itself. # -# $FML: Kernel.pm,v 1.63 2003/10/15 10:12:51 fukachan Exp $ +# $FML: Kernel.pm,v 1.64 2003/10/16 15:06:57 fukachan Exp $ # package FML::Process::CGI::Kernel; @@ -117,17 +117,19 @@ sub prepare sub _set_charset { my ($curproc) = @_; - my $lang = $curproc->cgi_var_language() || - $curproc->_http_accept_language(); + my $lang = + $curproc->cgi_var_language() || $curproc->_http_accept_language(); - if ($lang =~ /japanese|^ja/i) { - $curproc->set_charset("template_file", 'euc-jp'); - } - elsif ($lang =~ /english|^en/i) { - $curproc->set_charset("template_file", 'us-ascii'); + use Mail::Message::Charset; + my $obj = new Mail::Message::Charset; + my $charset = $obj->language_to_internal_charset($lang); + + if ($charset) { + $curproc->set_charset("template_file", $charset); } else { - $curproc->set_charset("template_file", 'us-ascii'); + my $default = $obj->internal_default_charset(); + $curproc->set_charset("template_file", $default); } } @@ -146,6 +148,7 @@ sub _http_accept_language LANG: for my $lang (split(/\s*,\s*/, $buf)) { + $lang =~ s/\s*;.*$//; if ($lang =~ /^ja/) { $r = 'ja'; last LANG; |
