diff options
Diffstat (limited to '_darcs/pristine/scripts/update_translations.php')
-rw-r--r-- | _darcs/pristine/scripts/update_translations.php | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/_darcs/pristine/scripts/update_translations.php b/_darcs/pristine/scripts/update_translations.php new file mode 100644 index 000000000..8ad07ccca --- /dev/null +++ b/_darcs/pristine/scripts/update_translations.php @@ -0,0 +1,66 @@ +<?php + +set_time_limit(60); +chdir(dirname(__FILE__) . '/..'); + +/* Languages to pull */ +$languages = array( + 'da_DK' => 'http://laconi.ca/translate/download.php?file_id=23', + 'nl_NL' => 'http://laconi.ca/translate/download.php?file_id=39', + 'en_NZ' => 'http://laconi.ca/translate/download.php?file_id=15', + 'eo' => 'http://laconi.ca/translate/download.php?file_id=10', + 'fr_FR' => 'http://laconi.ca/translate/download.php?file_id=19', + 'de_DE' => 'http://laconi.ca/translate/download.php?file_id=18', + 'it_IT' => 'http://laconi.ca/translate/download.php?file_id=21', + 'ko' => 'http://laconi.ca/translate/download.php?file_id=33', + 'no_NB' => 'http://laconi.ca/translate/download.php?file_id=31', + 'pt' => 'http://laconi.ca/translate/download.php?file_id=8', + 'pt_BR' => 'http://laconi.ca/translate/download.php?file_id=72', + 'ru_RU' => 'http://laconi.ca/translate/download.php?file_id=26', + 'es' => 'http://laconi.ca/translate/download.php?file_id=9', + 'tr_TR' => 'http://laconi.ca/translate/download.php?file_id=37', + 'uk_UA' => 'http://laconi.ca/translate/download.php?file_id=44', + 'he_IL' => 'http://laconi.ca/translate/download.php?file_id=71', + 'mk_MK' => 'http://laconi.ca/translate/download.php?file_id=67', + 'ja_JP' => 'http://laconi.ca/translate/download.php?file_id=43', + 'cs_CZ' => 'http://laconi.ca/translate/download.php?file_id=63', + 'ca_ES' => 'http://laconi.ca/translate/download.php?file_id=49', + 'pl_PL' => 'http://laconi.ca/translate/download.php?file_id=51', + 'sv_SE' => 'http://laconi.ca/translate/download.php?file_id=55' +); + +/* Update the languages */ +foreach ($languages as $code => $file) { + + $lcdir='locale/'.$code; + $msgdir=$lcdir.'/LC_MESSAGES'; + $pofile=$msgdir.'/laconica.po'; + $mofile=$msgdir.'/laconica.mo'; + + /* Check for an existing */ + if (!is_dir($msgdir)) { + mkdir($lcdir); + mkdir($msgdir); + $existingSHA1 = ''; + } else { + $existingSHA1 = file_exists($pofile) ? sha1_file($pofile) : ''; + } + + /* Get the remote one */ + $newFile = file_get_contents($file); + + // Update if the local .po file is different to the one downloaded, or + // if the .mo file is not present. + if(sha1($newFile)!=$existingSHA1 || !file_exists($mofile)) { + echo "Updating ".$code."\n"; + file_put_contents($pofile, $newFile); + $prevdir = getcwd(); + chdir($msgdir); + system('msgmerge -U laconica.po ../../laconica.pot'); + system('msgfmt -f -o laconica.mo laconica.po'); + chdir($prevdir); + } else { + echo "Unchanged - ".$code."\n"; + } +} +echo "Finished\n"; |