#!/bin/bash
#  Take po files using by graphical debian-installer.
#   Copyright (C) 2005-2007 Kenshi Muto <kmuto@debian.org>
#
#  This script should be launched by "debian/rules po-update".

# Target files (they include debconf templates file):
#
#  [level1]
#  debian-instaler/packages/po/*.po (svn)
#
#  [level2]
#  iso-codes/iso_3166/*.po (git)
#  tasksel/debian/po/*.po (git)
#  tasksel/tasks/po/*.po (git)
#  tasksel/po/*.po (git)
#  console-data/debian/po/*.po (svn)
#  popularity-contest/debian/po/*.po (svn)
#  eject/debian/po/*.po (deb)
#
#  [level3]
#  xorg/debian/po/*.po (deb)
#  menu/po-sections/*.po (svn)
#  exim4/debian/po/*.po (svn)
#
#  [level4]
#  samba/debian/po/*.po (git)
#
#  [level5]
#  debconf/debian/po/*.po (git)
#  debconf/po/*.po (git)
#  newt/newt/po/*.po (deb)
#  aptitude/po/*.po (deb)
#  console-common/debian/po/*.po (svn)
#  console-common/po/*.po (svn)
#  dictionaries-common/debian/po/*.po (deb)
#  dpkg/po/*.po (deb)
#  apt/po/*.po (deb)
#
#  [others]
#  localization-config/debian/*.po (svn)
#  ppp/debian/po/*.po (deb)
#  man-db/debian/po/*.po (deb)

# Target language:
#  ja: Japanese
#  ko: Korean
#  zh_CN, zh_TW: Chinese

lang="ja ko zh_CN zh_TW"

# temporary directory
[ -d po-files ] && cd po-files

get_gitweb() {
  # $1 = gitweb http
  # $2 = export dir
  mkdir -p $2
  for l in $lang; do
    rm -f $2/$l.po
    wget -q -O $2/$l.po $1/$l.po
  done
}

get_svn() {
  # $1 = svn
  # $2 = export dir
  mkdir -p $2
  for l in $lang; do
    rm -f $2/$l.po
    svn export -q $1/$l.po $2/$l.po
  done
}

get_deb() {
  # $1 = package name
  rm -f -r $1 $1-* $1_* $1.debian
  apt-get -qq source $1
  mkdir $1
  mkdir $1.debian
  for l in $lang; do
    [ -f $1-*/po/$l.po ] && mv $1-*/po/$l.po $1
    [ -f $1-*/debian/po/$l.po ] && mv $1-*/debian/po/$l.po $1.debian
  done
  rm -f -r $1-* $1_*
}

get_file() {
  # $1 = package name
  # $2 = level
  # $3 = special URL
  rm -f -r $1
  mkdir $1
  cd $1
  for l in $lang; do
    if [ -z "$3" ]; then
      wget http://d-i.alioth.debian.org/l10n-stats/level$2/files/$l/$1_po_$l.po
    else
      wget http://d-i.alioth.debian.org/l10n-stats/level$2/files/$l/$1_$3_$l.po
    fi
  done
  cd ..
}

get_targz() {
  # $1 = package name
  rm -f -r $1 $1-* $1_*
  apt-get source $1
  mkdir $1
  for l in $lang; do
    [ -f $1-*/$1-*/po/$l.po ] && mv $1-*/$1-*/po/$l.po $1
  done
  rm -f -r $1-* $1_*
}

# level1
get_svn svn://anonscm.debian.org/svn/d-i/trunk/packages/po/sublevel1 d-i1
get_svn svn://anonscm.debian.org/svn/d-i/trunk/packages/po/sublevel2 d-i2
get_svn svn://anonscm.debian.org/svn/d-i/trunk/packages/po/sublevel3 d-i3
get_svn svn://anonscm.debian.org/svn/d-i/trunk/packages/po/sublevel4 d-i4
get_svn svn://anonscm.debian.org/svn/d-i/trunk/packages/po/sublevel5 d-i5

# level2
get_gitweb "http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=blob_plain;f=iso_3166" iso-codes
get_gitweb "http://anonscm.debian.org/gitweb/?p=tasksel/tasksel.git;a=blob_plain;f=debian/po" tasksel_debian
get_gitweb "http://anonscm.debian.org/gitweb/?p=tasksel/tasksel.git;a=blob_plain;f=tasks/po" tasksel_tasks
get_gitweb "http://anonscm.debian.org/gitweb/?p=tasksel/tasksel.git;a=blob_plain;f=po" tasksel-program
get_svn svn://anonscm.debian.org/svn/console-data/trunk/debian/po console-data
get_svn svn://anonscm.debian.org/svn/popcon/trunk/popularity-contest/debian/po popularity-contet
get_deb eject

# level3
get_deb xorg
get_svn svn://anonscm.debian.org/svn/menu/trunk/menu/po-sections menu
get_svn svn://anonscm.debian.org/svn/pkg-exim4/exim/trunk/debian/po exim4

# level4
get_gitweb "http://anonscm.debian.org/git/pkg-samba/samba.git;a=blob_plain;f=po" samba

# level5
get_gitweb "http://anonscm.debian.org/gitweb/?p=debconf/debconf.git;a=blob_plain;f=po" debconf
get_gitweb "http://anonscm.debian.org/gitweb/?p=debconf/debconf.git;a=blob_plain;f=debian/po" debconf_debian
get_targz newt
get_deb aptitude
get_svn svn://anonscm.debian.org/svn/console-common/trunk/console-common/po console-common
get_svn svn://anonscm.debian.org/svn/console-common/trunk/console-common/debian/po console-common_debian
get_deb dictionaries-common
get_deb dpkg
get_deb apt

# others
get_deb ppp
get_svn svn://anonscm.debian.org/svn/debian-edu/trunk/src/localization-config/debian/po localization-config

# ???
get_deb man-db

dch "Update at $(TZ=UTC LC_TIME=C date)"
