<h2>Download a file</h2>
<h3>Syntax:</h3>
<?php 
echo script('POL_Download "URL" "MD5 digest of the file"');
?>
<p style="color:#008000">MD5 Digest, what is that?</p>

<h3>Explanation:</h3>
<p>The MD5 digest is some code that looks like <b>b1bbd74395a34ff7fd069d3b6fe23016</b>, that's unique for each file.</p>
<p>It's used to make sure that the downloaded file is not corrupted (as it sometimes happens, because of download errors).</p>
<p>To compute the MD5 digest of a file, use the following command in a console/terminal:</p>
<?php 
if ($website_name == "PlayOnLinux") {
    echo bbencode('[code language=console]md5sum "/path/to/some/setup.exe"[/code]');
} elseif ($website_name == "PlayOnMac") {
    echo bbencode('[code language=console]md5 "/path/to/some/setup.exe"[/code]');
}
?>

<p>The file downloaded will be written in the current working directory (as selected with the cd command). Most of the time, the right place for downloaded files is the temporary directory, created by the command <span style="color:#000080"><b>POL_System_TmpCreate</b></span>. To put files in the temporary directory, use the following command right before <span style="color:#000080"><b>POL_Download</b></span>:</p>
<?php 
echo script('cd "$POL_System_TmpDir"');
?>

<h3>Example:</h3>
<?php 
echo script('cd "$POL_System_TmpDir"
POL_Download "http://www.example.com/download/setup.exe" "b1bbd74395a34ff7fd069d3b6fe23016"');
?>
<p>The file will be named after the name of the file on the server, so if the URL looks like, say: http://www.example.com/download/setup.exe, the downloaded file will be called <b>setup.exe</b>.</p>
<p style="color:#008000">Mais je ne connais pas le russe moi&nbsp;!</p>
<p>Rassurez-vous, ce n'est pas vous qui allez traduire réellement votre script, c'est l'équipe des traducteurs du <a href="https://translations.launchpad.net/playonlinux/arietis">Launchpad</a>, que nous remercions au passage pour leur travail.</p>
<p>Mais, afin que les traductions sur le Launchpad soient possible, il faut adapter votre script sur certains points.</p>

<h2>Tous les messages dans le script doivent être en anglais&nbsp;!</h2>
<p>Ceci est la condition sine qua non pour que la traduction puisse être effectuée (les messages étant traduits de l'anglais vers les autres langues).</p>

<h2>Réutilisation des messages</h2>
<p>Afin d'alléger la charge de travail des traducteurs, nous voulons que le maximum de messages soient identiques dans les scripts (car si le même message a déjà été traduit, alors le nouveau n'aura pas besoin de l'être).</p>
<p>Donc, nous avons établi une liste des messages les plus courants.</p>

<h3>Liste des messages&nbsp;:</h3>
<?php 
echo bbencode('[quote]Merci de choisir le fichier d\'installation à exécuter. -> Please select the setup file to run.
Veuillez insérer le disque du jeu dans le lecteur. -> Please insert the game media into your disk drive.
Installation de $TITLE en cours. -> Please wait while $TITLE is installed.
$TITLE a été installé avec succès. -> $TITLE has been successfully installed.
[/quote]');
?>
<p>Chaque fois que c'est possible, utilisez les. Si vous avez besoin d'un message qui n'est pas dans la liste ci-dessus, écrivez le, mais en anglais. Ce que nous ne voulons pas, c'est un message différent que ceux ci-dessus, mais qui veut dire la même chose.</p>

<h2>La commande eval_gettext</h2>
<p>La commande eval_gettext prend en argument le message en anglais, et renvoie le message dans la langue de l'utilisateur (qui est déterminée automatiquement).</p>

<h3>Exemple&nbsp;:</h3>
<?php 
echo script('eval_gettext \'Please select the setup file to run.\'');
?>

<h3>Utilisation&nbsp;:</h3>
<p>Le problème qui se pose, c'est comment transmettre facilement ce que la fonction eval_gettext renvoie vers la fonction <span style="color:#000080"><b>POL_SetupWindow_message</b></span> (par exemple)&nbsp;? Il y a une solution, c'est d'exécuter la fonction directement dans l'argument.</p>
<h2>Télécharger un fichier</h2>
<h3>Syntaxe&nbsp;:</h3>
<?php 
echo script('POL_Download "URL" "Somme md5 du fichier téléchargé"');
?>
<p style="color:#008000">Somme md5, késako ?</p>

<h3>Explications&nbsp;:</h3>
<p>La somme md5, est un code du genre <b>b1bbd74395a34ff7fd069d3b6fe23016</b>, ce code est unique pour chaque fichier.</p>
<p>La somme md5 est utilisée afin de s'assurer qu'un fichier téléchargé n'est pas corrompu (ce qui peut se produire parfois, suite à une erreur de téléchargement).</p>
<p>Pour générer la somme md5, utilisez la commande suivante dans une console/terminal&nbsp;:</p>
<?php 
if ($website_name == "PlayOnLinux") {
    echo bbencode('[code language=console]md5sum "/Chemin/vers/mon/setup.exe"[/code]');
} elseif ($website_name == "PlayOnMac") {
    echo bbencode('[code language=console]md5 "/Chemin/vers/mon/setup.exe"[/code]');
}
?>

<p>Le fichier téléchargé est mis dans le répertoire actuel (que vous pouvez changer avec la commande cd), la plupart du temps, le fichier téléchargé doit aller dans le répertoire temporaire, créé par la commande <span style="color:#000080"><b>POL_System_TmpCreate</b></span>. Afin de le mettre dans le répertoire temporaire, utilisez la commande suivante, juste avant <span style="color:#000080"><b>POL_Download</b></span>&nbsp;:</p>
<?php 
echo script('cd "$POL_System_TmpDir"');
?>

<h3>Exemple&nbsp;:</h3>
<?php 
echo script('cd "$POL_System_TmpDir"
POL_Download "http://www.example.com/download/setup.exe" "b1bbd74395a34ff7fd069d3b6fe23016"');
?>
<p>Le fichier garde le même nom que celui du serveur, donc, si vous avez une adresse comme celle-là : http://www.example.com/download/setup.exe, le nom du fichier sera <b>setup.exe</b>.</p>
Beispiel #4
0
function parse_message( $p )
{
  $p = htmlspecialchars($p,ENT_QUOTES);
  $p = bbencode($p,true);
  $p = nl2br($p);
  $p = preg_replace_callback("/<code>(.*?)<\/code>/ims",function($s){
    return str_replace("<br />","",$s[0]);
  },$p);
  $p = better_wordwrap($p,80," ");
  return $p;
}
<p style="color:#008000">But I do not speak russian!</p>
<p>Don't worry, you won't be doing all the translations, it will be the job of the <a href="https://translations.launchpad.net/playonlinux/arietis">Launchpad</a> team of translators, that we gratefully thank here for all their work.</p>
<p>But, to make it possible for the Launchpad to translate your script, your script need some arrangements.</p>

<h2>All the messages must be written in english!</h2>
<p>This is the core requirement for translations to take place (messages being translated from english to the other languages).</p>

<h2>Messages reuse</h2>
<p>To lessen translators workload, messages should be as much as possible identical among scripts (because if the message has already been translated, it won't need to be translated again for the new script).</p>
<p>Hence, we made a list of the most common messages.</p>

<h3>List of messages:</h3>
<?php 
echo bbencode('[quote]Please select the setup file to run.
Please insert the game media into your disk drive.
Please wait while $TITLE is installed.
$TITLE has been successfully installed.
[/quote]');
?>
<p>Use those whenever you can. If you need some message that is not in this list, go ahead and write it in english. What you must avoid are messages that are not in this list but have the same meaning as one that does.</p>

<h2>The eval_gettext command</h2>
<p>The command eval_gettext takes an english message as argument, and returns its translation into current user's language (as automatically determined).</p>

<h3>Example:</h3>
<?php 
echo script('eval_gettext \'Please select the setup file to run.\'');
?>

<h3>Usage:</h3>
<p>The problem is, how to simply pass the return value of the eval_gettext function to, say, the <span style="color:#000080"><b>POL_SetupWindow_message</b></span> command? The solution is to evaluate eval_gettext inside arguments.</p>