#!/usr/bin/env perl
# List supported languages of a Zanata server

=pod

=head1 NAME

B<zanata_language_list> - List supported languages of a Zanata server

=head1 SYNOPSIS

B<zanata_language_list> -h | --help

B<zanata_language_list> [options] E<lt>ZanataURLE<gt>

=head1 DESCRIPTION

This program gets the currently supported list from a Zanata server specified by ZanataURL

=head1 ARGUMENTS

=over 4

=item ZanataUrl

The URL of zanata server, such as 'http://translate.zanata.org/'

=back

=head1 OPTIONS

=over 4

=item B<-h, --help>:

Print brief help message and exits.

=cut

# Ensure it runs on RHEL5
use 5.008_008;
use strict;
use Getopt::Long;
use Pod::Usage;
use XML::Twig::XPath;
use utf8;
#use Data::Dumper;
use lib "lib";
use Zanata::Util;
use Zanata::Util::Locale;

# Definition
binmode(STDIN, ':encoding(utf8)');
binmode(STDOUT, ':encoding(utf8)');
binmode(STDERR, ':encoding(utf8)');

## Parse options
my $help=0;
my %optH=(
    'help' => '\$help'
);

GetOptions(\%optH,
, 'help|h'
) or pod2usage(-1);

### Display help
pod2usage(1) if $help;
pod2usage( {-verbose=>1}) if @ARGV == 0;


my %projInfo={};
$projInfo{'url'}=$ARGV[0];

my $zanataUtil=Zanata::Util->init(\%projInfo);

my $languageHRef=Zanata::Util::Locale::zanata_language_list_parse_locales($zanataUtil);
die "Server " . $zanataUtil->{'languageListUrl'} . " does not contain language list" unless($languageHRef);

my %languageH=%$languageHRef;
for my $lang (keys %languageH){
    my $aRef=$languageH{$lang};
    my @a=@$aRef;
    print join("," , $lang, @a);
    print "\n";
}

