import of rt 3.0.9
[freeside.git] / rt / html / Elements / SelectLang
1 %# BEGIN LICENSE BLOCK
2 %# 
3 %# Copyright (c) 1996-2003 Jesse Vincent <jesse@bestpractical.com>
4 %# 
5 %# (Except where explictly superceded by other copyright notices)
6 %# 
7 %# This work is made available to you under the terms of Version 2 of
8 %# the GNU General Public License. A copy of that license should have
9 %# been provided with this software, but in any event can be snarfed
10 %# from www.gnu.org.
11 %# 
12 %# This work is distributed in the hope that it will be useful, but
13 %# WITHOUT ANY WARRANTY; without even the implied warranty of
14 %# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
15 %# General Public License for more details.
16 %# 
17 %# Unless otherwise specified, all modifications, corrections or
18 %# extensions to this work which alter its source code become the
19 %# property of Best Practical Solutions, LLC when submitted for
20 %# inclusion in the work.
21 %# 
22 %# 
23 %# END LICENSE BLOCK
24 <SELECT NAME ="<%$Name%>">
25 % if ($ShowNullOption) {
26 <OPTION VALUE="">-</OPTION>
27 % }
28 % foreach my $lang (@lang) {
29 <OPTION VALUE="<%$lang%>" <%($Default && ($lang eq $Default)) && 'SELECTED'%>><% $lang_to_desc{$lang} %>
30 %   if (($Verbose) and (my $description = I18N::LangTags::List::native_name($lang)) ){
31 (<%$description%>)
32 %  }
33 </OPTION>
34 % }
35 </SELECT>
36 <%ARGS>
37 $ShowNullOption => 1
38 $ShowAllQueues => 1
39 $Name => undef
40 $Verbose => undef
41 $Default => 0
42 $Lite => 0
43 </%ARGS>
44
45 <%ONCE>
46 use I18N::LangTags::List;
47 my (@lang, %lang_to_desc);
48 foreach my $lang (map { s/:://; s/_/-/g; $_ } grep { /^\w+::$/ } keys %RT::I18N::) {
49     next if $lang =~ /i-default|en-us/;
50     my $desc = I18N::LangTags::List::name($lang);
51     next unless ($desc);
52     $desc =~ s/(.*) (.*)/$2 ($1)/;
53     $lang_to_desc{$lang} = $desc;
54 }
55 @lang = sort { $lang_to_desc{$a} cmp $lang_to_desc{$b} } keys %lang_to_desc;
56 </%ONCE>