Ja sam to radio tako sto tekucu verziju (engleski fajl) ucitam u niz, ucitam srpski u niz, odradim array_diff() i zapisem engleske izraze koji fale na srpskom u srpski fajl.
Ali, ja sam imao nizove sa jezicima, a ti imas varijable. Mozes da ga ishakujes ako ti sve jezicke varijable pocinju sa $_PHPSHOP. Onda prvo protrcis kroz globalne varijable i potrpas ih u niz. Dakle,
Kôd:
<?php
// povuci engleski
include('english.php');
$en = array();
$strings = array();
foreach ( $GLOBALS as $k => $v ) {
if ( substr($k, 0, 8) == '_PHPSHOP' ) {
$en[] = $k;
unset($GLOBALS[$k]); // da se ne bi kasnije pojavila u sr
$strings[$k] = $v; // stavljamo orig (en) u tmp array
}
}
// povuci srpski
include('srpski.php');
$sr = array();
foreach ( $GLOBALS as $k => $v ) {
if ( substr($k, 0, 8) == '_PHPSHOP' ) {
$sr[] = $k;
unset($GLOBALS[$k]); // da se ne bi kasnije pojavila u trecem jeziku?
}
}
// ovo fali u srpskom, a dobijamo array sa engleskim varijablama (da nista ne bude '')
$diff = array_diff($en, $sr);
// dodaj u srpski
$fp = fopen('srpski.php', 'a');
foreach ( $diff as $var ) {
$str = '$' . $var . " = '" . $strings[$var] . "';\n";
fwrite($fp, $str);
}
fclose($fp);
?>
Eh, sad moram da idem, a raspisah se bas. :-) Ovo ti je
iz glave. Boga pitaj jel' radi. Ali skontaces sta treba...