Jump to content

Export translation


awebcreature
 Share

Recommended Posts

Or use this script I created to create and send a zip to browser.  https://gist.github.com/somatonic/6427247

/* creates a compressed zip file */
function create_zip($files = array(),$destination = '',$overwrite = false) {
  if(file_exists($destination) && !$overwrite) { return false; }
  if(is_array($files)) {
    foreach($files as $name => $file) {
      if(!file_exists($file)) unset($files[$name]);
    }
  }
  if(count($files)) {
    $zip = new ZipArchive();
    if(!$zip->open($destination, $overwrite
      ? ZIPARCHIVE::OVERWRITE
      : ZIPARCHIVE::CREATE))
      return false;
    foreach($files as $name => $file) {
      $zip->addFile($file,$name);
    }
    $zip->close();
    return $destination;
  } else {
    return false;
  }
}

// get a language to export json files
$lang = $languages->get("de");
$files_to_zip = array();

// "language_files" = file field on language page where json's are stored
foreach($lang->language_files as $f){
  $files_to_zip[$f->name] = $f->filename;
}

$zip = create_zip($files_to_zip, $config->paths->root . 'language_files_de.zip' ,true);

if($zip) wireSendFile($zip); // send file to browser (/wire/core/functions.php)
 

This would be put in a template file. Have fun. While doing this we might need a wireCreateZip() function in core as we also got a wireUnzipFile(). :)

  • Like 7
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...