'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=11', '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=27', ); /* Update the languages */ foreach ($languages as $code => $file) { /* Check for an existing */ if (!is_dir('locale/' . $code)) { mkdir('locale/' . $code); mkdir('locale/' . $code . '/LC_MESSAGES'); $existingSHA1 = ''; } else { $existingSHA1 = file_exists('locale/' . $code . '/LC_MESSAGES/laconica.po') ? sha1_file('locale/' . $code . '/LC_MESSAGES/laconica.po') : ''; } /* Get the remote one */ $newFile = file_get_contents($file); /* Are the different? */ if (sha1($newFile) != $existingSHA1) { /* Yes, update */ file_put_contents('locale/' . $code . '/LC_MESSAGES/laconica.po', $newFile); $prevdir = getcwd(); chdir('locale/' . $code . '/LC_MESSAGES/'); system('msgmerge -U laconica.po ../../laconica.pot'); system('msgfmt -f -o laconica.mo laconica.po'); chdir($prevdir); } }