Commit 2416f65d authored by David's avatar David

- Plein de contributions traduction Crowdin :

    af 46%
    nl 11%
    fr 100%
    id 99%
    it 51%
    pl 20%
    ru 47%
    es-ES 100%
    tr 100%
    uk 55%
- Création d'un script pour télécharger automatiquement les traductions et les intégrer avec un merci pour les contributeur
parent 5a4d57d9
......@@ -8,3 +8,5 @@ header.php
v1.2
v2.2
var
lang/crowdin.yml
.crowdin-key
......@@ -415,15 +415,15 @@ if (isset($_GET['submit'])) {
$meilleurParcBatterie['V'] = 0;
$meilleurParcBatterie['Ah'] = 0;
// Choix de la technologie en fonction de la capacitée (pour le mode automatique)
if ($Cap < 50) {
if ($Cap < 150) {
$BatType = 'AGM';
} elseif ($Cap < 500) {
$BatType = 'GEL';
} else {
$BatType = 'OPzV';
$BatType = 'OPzS';
}
if ($_GET['TypeBat'] == 'auto') {
debug('En mode automatique, la technologie choisie est AGM si Cap < à 50Ah, GEL si < à 500Ah & OPzv si > à 500Ah, ici on a donc choisi '.$BatType,'p');
debug('En mode automatique, la technologie choisie est AGM si Cap < à 50Ah, GEL si < à 500Ah & OPzS si > à 500Ah, ici on a donc choisi '.$BatType,'p');
} else {
debug('Vous avez choisie de privilégier la technologie '.$_GET['TypeBat']);
}
......@@ -1182,7 +1182,7 @@ if (isset($_GET['submit'])) {
<div id="contenu">
<div class="modePvgis item">
<p><?= _('Click on the map to set your position and deduce solar ressource') ?> : </p>
<p><?= _('Click on the map to set your position and deduce solar resource') ?> : </p>
<div id="mapid" style="width: 100%; height: 300px;"></div>
<script>
......@@ -1410,7 +1410,7 @@ if (isset($_GET['submit'])) {
echo "\n";
}
?>
</select> <a rel="tooltip" class="bulles" title="<?= _('In automatic mode, GEL OPzV 2V batteries will be used above 500A') ?>">(?)</a>
</select> <a rel="tooltip" class="bulles" title="<?= _('In automatic mode, GEL & OPzS batteries will be used above 500A') ?>">(?)</a>
</div>
<div class="form TypeBat">
<label><?= _('Preferred battery technology') ?> : </label>
......
......@@ -2,9 +2,27 @@
$CalcPvAutonomeVersion='4.1.2';
include_once('./lib/Fonction.php');
$config_ini = parse_ini_file('./config.ini', true);
$lang_ini = parse_ini_file('./lang/lang.ini',true);
// Langues disponibles :
$localeDispo=array('fr', 'en', 'nl', 'tr', 'aa');
foreach($lang_ini as $lang) {
$localeDispo[]=$lang['code'];
}
/*$
$localeDispo=array( '<b>Contribute to translation</b> (in-context)' => 'aa',
'Afrikaans (?%)' => 'af',
'Español (?%)' => 'es',
'English (100%)' => 'en',
'Français (100%)' => 'fr',
'Indonesia (?%)' => 'id',
'Italiano' => 'it',
'Nederlands <b>'._('partial translation').' (10%)</b>' => 'nl',
'Polski <b>'._('partial translation').' (10%)</b>' => 'pl',
'Pусский (10%)' => 'ru',
'Türk (73%)' => 'tr',
'український <b>'._('partial translation').' (8%)</b>' => 'uk',
);
*/
// Fonction de langue :
function langue2locale($langue) {
switch ($langue) {
......@@ -19,6 +37,9 @@ function langue2locale($langue) {
case 'es':
return 'es_ES.utf8';
break;
case 'es-ES':
return 'es_ES.utf8';
break;
case 'pt':
return 'pt_PT.utf8';
break;
......@@ -31,6 +52,21 @@ function langue2locale($langue) {
case 'tr':
return 'tr_TR.utf8';
break;
case 'uk':
return 'uk_UA.utf8';
break;
case 'id':
return 'id_ID.utf8';
break;
case 'af':
return 'af_ZA.utf8';
break;
case 'ru':
return 'ru_RU.utf8';
break;
case 'it':
return 'it_IT.utf8';
break;
default:
return 'en_US.utf8';
}
......@@ -54,6 +90,7 @@ if (isset($_GET['langue']) && in_array(substr($_GET['langue'], 0, 2), $localeDis
exit();
}
//$locale = langue2locale('es');
$localeshort=substr($locale, 0, 2);
// Définition de la langue :
......@@ -110,19 +147,36 @@ $country = @geoip_country_code_by_name(get_ip());
<script src="./lib/jquery-3.1.1.slim.min.js"></script>
</head>
<body>
<div id="page-wrap">
<div id="langues">
<?php
foreach($localeDispo as $langPossible) {
ksort($lang_ini);
foreach($lang_ini as $lang) {
$flag='';
if (substr($locale, 0, 2) == $langPossible) {
if (substr($locale, 0, 2) == $lang['code']) {
$flag=' drapeauActif';
}
echo '<a href="'.replaceLang2url($langPossible).'"><img class="drapeau'.$flag.'" src="./lib/'.$langPossible.'.png" alt="'.$langPossible.'" /></a>';
echo '<a id="href'.$lang['code'].'" href="'.replaceLang2url($lang['code']).'"><img class="drapeau'.$flag.'" src="./lib/'.$lang['code'].'.png" alt="'.$lang['code'].'" width="23" height="15" /></a>';
echo '<script type="text/javascript">
$( "#href'.$lang['code'].'" ) .mouseover(function() {
$("#languesLegende").show();';
if ($lang['code'] == 'aa') {
echo '$("#languesLegende").html("<b>Contribute to translation</b> (in-context)");';
} else if ($lang['translated_progress'] < 60) {
echo '$("#languesLegende").html("<b>'.strtoupper($lang['code']).'</b> '._('partial translation').' ('.$lang['translated_progress'].'%)");';
} else {
echo '$("#languesLegende").html("<b>'.strtoupper($lang['code']).'</b> ('.$lang['translated_progress'].'%)");';
}
echo '})
.mouseout(function() {
$("#languesLegende").hide();
});
</script>';
}
?>
<!--<a href="https://crwd.in/calcpvautonome"><img class="drapeau" src="./lib/trad.png" alt="Help to translate" /></a>-->
</div>
<div id="languesLegende" style="display: none"></div>
<div id="page-wrap">
<?php
$footer=true;
if (isset($_GET['p']) && $_GET['p'] == 'CalcConsommation'
......@@ -150,16 +204,17 @@ $country = @geoip_country_code_by_name(get_ip());
<div id="footer">
<?php if ($localeshort != 'fr') { ?>
<p class="footer_translator"><?= _('Thanks to') ?> :
<?php
if ($localeshort == 'en') {
echo 'nednet, coucou39, guillerette, mirrim, ppmt';
}
if ($localeshort == 'nl') {
echo 'StarlightF';
}
if ($localeshort == 'tr') {
echo 'Harun Demirel';
}
<?php
$nb_translator=0;
foreach($lang_ini[$localeshort] as $key => $value) {
if (substr($key, 0, 10) == 'translator') {
$nb_translator++;
if ($nb_translator != 1) {
echo ', ';
}
echo $value['name'];
}
}
?>
<?= _('for this <a target="_blank" href="https://crwd.in/calcpvautonome">translation</a>') ?></p>
<?php } ?>
......
This diff is collapsed.
This diff is collapsed.
Name,Languages,"Translated (Words)","Target Words","Approved (Words)","Votes Made"
"billoges (billog2968)",Afrikaans,1219,1312,0,0
"DavidM (kepon85)",Afrikaans,29,28,1219,0
amp8,,0,0,0,0
"Emre Özdiyar (incendiesq)",,0,0,0,0
"Elías Loreto (eliasjloreto)",,0,0,0,0
"Ericka Simancas (ackseriam)",,0,0,0,0
"ayukhamil (javhihi19091996)",,0,0,0,0
"Fachrur Razi (fachrurrazi)",,0,0,0,0
ferimenn,,0,0,0,0
"Bartłomiej Mathea (apocz)",,0,0,0,0
thegreenfox,,0,0,0,0
agusalim,,0,0,0,0
isacastillor,,0,0,0,0
"Tatjana Larina (erikaflynn) (t257233)",,0,0,0,0
Daiky69,,0,0,0,0
"raja rizki (rizki271197)",,0,0,0,0
"Juan Raúl Hernández (jraulhernandezi)",,0,0,0,0
"Erol Yağız AYDIN (escorn)",,0,0,0,0
mirrim,,0,0,0,0
"Ned (nednet)",,0,0,0,0
coucou39,,0,0,0,0
"Philippe (ppmt)",,0,0,0,0
"Marion (guillerette)",,0,0,0,0
Mariajosi,,0,0,0,0
Nibor44,,0,0,0,0
Laeth,,0,0,0,0
paulcmal,,0,0,0,0
"Andriy Poznakhovskyy (Andrulko)",,0,0,0,0
Poussinou,,0,0,0,0
PifyZ,,0,0,0,0
taha2002,,0,0,0,0
tarfayaproject,,0,0,0,0
StarlightF,,0,0,0,0
"Harun Demirel (harundemirel)",,0,0,0,0
alfanerd,,0,0,0,0
"bym (bymc)",,0,0,0,0
This diff is collapsed.
#!/usr/bin/php
<?php
// Script pour les traductions sur crowdin
// - Compilation sur crowdin
// - Téléchargement
// - Compilation en .mo
// - Mise à jour du lang.ini pour dire merci au contributeur
$projectIdentifier='calcpvautonome';
$projectKey=rtrim(file_get_contents('.crowdin-key'));
$tradDir='./';
ini_set('auto_detect_line_endings', 1);
ini_set('default_socket_timeout', 5); // socket timeout, just in case
// Build
$request_url = 'https://api.crowdin.com/api/project/'.$projectIdentifier.'/export?key='.$projectKey;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $request_url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($ch);
curl_close($ch);
// CHECK si le résultat dit <success status="built"/> ?
echo $result;
// On liste les langues qui on un début de traduction :
$request_url = 'https://api.crowdin.com/api/project/'.$projectIdentifier.'/status?key='.$projectKey.'&json';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $request_url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
$result = curl_exec($ch);
curl_close($ch);
$jsonContenu=json_decode($result, true);
$lang_ini_content='';
foreach ($jsonContenu as $lang) {
if ($lang['translated_progress'] != 0) {
echo $lang['code'].' '.$lang['translated_progress'].'%';
if (!is_dir($tradDir.'./'.$lang['code'])) {
echo "\n \t Un nouvelle langue a été traduite, il faut créer le répertoire et vérifier son existance dans le locale (dpkg-reconfigures locales)";
} else {
file_put_contents($tradDir.'/'.$lang['code'].'/'.$lang['code'].'.zip', file_get_contents('https://api.crowdin.com/api/project/'.$projectIdentifier.'/download/'.$lang['code'].'.zip?key='.$projectKey));
exec('unzip -o '.$tradDir.'/'.$lang['code'].'/'.$lang['code'].'.zip -d '.$tradDir.'/'.$lang['code'], $output, $return_var);
if ($return_var != 0) {
exit('Erreur à l\'extraction du zip : '.$return_var);
}
unlink($tradDir.'/'.$lang['code'].'/'.$lang['code'].'.zip');
exec('msgfmt '.$tradDir.'/'.$lang['code'].'/LC_MESSAGES/messages-'.$lang['code'].'.po -o '.$tradDir.'/'.$lang['code'].'/LC_MESSAGES/messages.mo', $output, $return_var);
if ($return_var != 0) {
exit('Erreur à la mise à jour du .mo : '.$return_var);
}
// On récupère les traducteurs :
$request_url = 'https://api.crowdin.com/api/project/'.$projectIdentifier.'/reports/top-members/export?key='.$projectKey.'&language='.$lang['code'].'&format=csv&json=1';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $request_url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($ch);
curl_close($ch);
$json_array=json_decode($result, true);
file_put_contents($tradDir.'/'.$lang['code'].'/'.$lang['code'].'-top-members.csv', file_get_contents('https://api.crowdin.com/api/project/'.$projectIdentifier.'/reports/top-members/download?key='.$projectKey.'&hash='.$json_array['hash']));
// Analyse CSV
if (($handle = fopen($tradDir.'/'.$lang['code'].'/'.$lang['code'].'-top-members.csv', "r")) !== FALSE) {
$row=0;
$nb=0;
$traducteurs=array();
while (($data = fgetcsv($handle, 0, ",")) !== FALSE) {
$row++;
// On supprime la première ligne
if ($row != 1) {
// On ne considère que ceux qui on traduit dans cette langue
if ($data[2] > 0) {
$nb++;
$traducteurs[$nb]['name']=$data[0];
$traducteurs[$nb]['translated']=$data[2];
}
}
}
fclose($handle);
}
// Exeption pour l'espagnol (qui n'est pas en "es" mais en "es-ES"
if ($lang['code'] == 'es-ES') {
if (!is_link($tradDir.'/es')) {
symlink($tradDir.'/'.$lang['code'], $tradDir.'/es');
}
$lang['code']='es';
}
// Création du fichier ini
$lang_ini_content.="[".$lang['code']."]\n";
$lang_ini_content.="code='".$lang['code']."'\n";
$lang_ini_content.="translated_progress=".$lang['translated_progress']."\n";
$nb_traslator=0;
foreach ($traducteurs as $traducteur) {
$nb_traslator++;
$lang_ini_content.="translator".$nb_traslator."[name]='".$traducteur['name']."'\n";
$lang_ini_content.="translator".$nb_traslator."[translated]=".$traducteur['translated']."\n";
}
}
echo "\n";
}
}
$lang_ini_content.="[aa]\n";
$lang_ini_content.="code='aa'\n";
$lang_ini_content.="translated_progress=100\n";
$lang_ini_content.="translator1[translated]=500\n";
$lang_ini_content.="translator1[name]='name1'\n";
$lang_ini_content.="translator2[translated]=100\n";
$lang_ini_content.="translator2[name]='name2'\n";
$lang_ini_content.="[en]\n";
$lang_ini_content.="code='en'\n";
$lang_ini_content.="translated_progress=100\n";
$lang_ini_content.="translator1[translated]=1000\n";
$lang_ini_content.="translator1[name]='nednet'\n";
$lang_ini_content.="translator2[translated]=300\n";
$lang_ini_content.="translator2[name]='coucou39'\n";
$lang_ini_content.="translator2[translated]=100\n";
$lang_ini_content.="translator2[name]='guillerette'\n";
$lang_ini_content.="translator2[translated]=100\n";
$lang_ini_content.="translator2[name]='mirrim'\n";
$lang_ini_content.="translator2[translated]=100\n";
$lang_ini_content.="translator2[name]='ppmt'\n";
file_put_contents($tradDir.'lang.ini', $lang_ini_content);
if (is_file('/etc/init.d/php7.0-fpm')) {
exec('/etc/init.d/php7.0-fpm restart', $output, $return_var);
if ($return_var != 0) {
exit('Erreur au redémarrage de php : '.$return_var);
}
}
?>
#!/usr/bin/php
<?php
$projectIdentifier='calcpvautonome';
$projectKey=rtrim(file_get_contents('.crowdin-key'));
$pot='./messages.pot';
if (!is_file($pot)) {
exit('Le fichier '.$pot.' n\'existe pas');
}
ini_set('auto_detect_line_endings', 1);
ini_set('default_socket_timeout', 5); // socket timeout, just in case
$post_params = array();
$request_url = 'https://api.crowdin.com/api/project/'.$projectIdentifier.'/add-file?key='.$projectKey;
if(function_exists('curl_file_create')) {
$post_params['files[messages.pot]'] = curl_file_create($pot);
} else {
$post_params['files[messages.pot]'] = '@'.$pot;
}
/*
$post_params['type'] = 'gettext,source_phrase,translation';
if (function_exists('curl_file_create')) {
$post_params['files[messages.pot]'] = curl_file_create('./messages.pot');
} else {
$post_params['files[messages.pot]'] = '@./messages.pot';
}*/
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $request_url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_params);
$result = curl_exec($ch);
echo $result;
curl_close($ch);
// Build
/*
$request_url = 'https://api.crowdin.com/api/project/'.$projectIdentifier.'/export?key='.$projectKey;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $request_url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($ch);
curl_close($ch);
// CHECK si le résultat dit <success status="built"/> ?
echo $result;
*/
?>
.//es-ES
\ No newline at end of file
This diff is collapsed.
Name,Languages,"Translated (Words)","Target Words","Approved (Words)","Votes Made"
"Elías Loreto (eliasjloreto)",Spanish,1187,1340,0,0
"Juan Raúl Hernández (jraulhernandezi)",Spanish,1136,1275,0,0
"Ericka Simancas (ackseriam)",Spanish,301,319,0,0
"DavidM (kepon85)",Spanish,292,314,2624,0
"Tatjana Larina (erikaflynn) (t257233)",,0,0,0,0
isacastillor,,0,0,0,0
agusalim,,0,0,0,0
thegreenfox,,0,0,0,0
"Bartłomiej Mathea (apocz)",,0,0,0,0
amp8,,0,0,0,0
"billoges (billog2968)",,0,0,0,0
"Fachrur Razi (fachrurrazi)",,0,0,0,0
"ayukhamil (javhihi19091996)",,0,0,0,0
Daiky69,,0,0,0,0
"raja rizki (rizki271197)",,0,0,0,0
"Emre Özdiyar (incendiesq)",,0,0,0,0
ferimenn,,0,0,0,0
"Erol Yağız AYDIN (escorn)",,0,0,0,0
mirrim,,0,0,0,0
"Ned (nednet)",,0,0,0,0
coucou39,,0,0,0,0
"Philippe (ppmt)",,0,0,0,0
"Marion (guillerette)",,0,0,0,0
Mariajosi,,0,0,0,0
Nibor44,,0,0,0,0
Laeth,,0,0,0,0
paulcmal,,0,0,0,0
"Andriy Poznakhovskyy (Andrulko)",,0,0,0,0
Poussinou,,0,0,0,0
PifyZ,,0,0,0,0
taha2002,,0,0,0,0
tarfayaproject,,0,0,0,0
StarlightF,,0,0,0,0
"Harun Demirel (harundemirel)",,0,0,0,0
alfanerd,,0,0,0,0
"bym (bymc)",,0,0,0,0
This diff is collapsed.
This diff is collapsed.
Name,Languages,"Translated (Words)","Target Words","Approved (Words)","Votes Made"
"DavidM (kepon85)",French,2723,3037,2683,0
amp8,,0,0,0,0
"Emre Özdiyar (incendiesq)",,0,0,0,0
"Elías Loreto (eliasjloreto)",,0,0,0,0
"Ericka Simancas (ackseriam)",,0,0,0,0
"ayukhamil (javhihi19091996)",,0,0,0,0
"Fachrur Razi (fachrurrazi)",,0,0,0,0
"billoges (billog2968)",,0,0,0,0
ferimenn,,0,0,0,0
"Bartłomiej Mathea (apocz)",,0,0,0,0
thegreenfox,,0,0,0,0
agusalim,,0,0,0,0
isacastillor,,0,0,0,0
"Tatjana Larina (erikaflynn) (t257233)",,0,0,0,0
Daiky69,,0,0,0,0
"raja rizki (rizki271197)",,0,0,0,0
"Juan Raúl Hernández (jraulhernandezi)",,0,0,0,0
"Erol Yağız AYDIN (escorn)",,0,0,0,0
mirrim,,0,0,0,0
"Ned (nednet)",,0,0,0,0
coucou39,,0,0,0,0
"Philippe (ppmt)",,0,0,0,0
"Marion (guillerette)",,0,0,0,0
Mariajosi,,0,0,0,0
Nibor44,,0,0,0,0
Laeth,,0,0,0,0
paulcmal,,0,0,0,0
"Andriy Poznakhovskyy (Andrulko)",,0,0,0,0
Poussinou,,0,0,0,0
PifyZ,,0,0,0,0
taha2002,,0,0,0,0
tarfayaproject,,0,0,0,0
StarlightF,,0,0,0,0
"Harun Demirel (harundemirel)",,0,0,0,0
alfanerd,,0,0,0,0
"bym (bymc)",,0,0,0,0
This diff is collapsed.
This diff is collapsed.
Name,Languages,"Translated (Words)","Target Words","Approved (Words)","Votes Made"
"Fachrur Razi (fachrurrazi)",Indonesian,1103,958,1442,0
"raja rizki (rizki271197)",Indonesian,1048,976,0,0
ferimenn,Indonesian,448,413,0,0
"DavidM (kepon85)",Indonesian,18,12,1162,0
Daiky69,Indonesian,4,4,0,0
agusalim,Indonesian,1,1,0,0
"Tatjana Larina (erikaflynn) (t257233)",,0,0,0,0
isacastillor,,0,0,0,0
thegreenfox,,0,0,0,0
"Bartłomiej Mathea (apocz)",,0,0,0,0
amp8,,0,0,0,0
"billoges (billog2968)",,0,0,0,0
"ayukhamil (javhihi19091996)",,0,0,0,0
"Ericka Simancas (ackseriam)",,0,0,0,0
"Elías Loreto (eliasjloreto)",,0,0,0,0
"Emre Özdiyar (incendiesq)",,0,0,0,0
"Juan Raúl Hernández (jraulhernandezi)",,0,0,0,0
"Erol Yağız AYDIN (escorn)",,0,0,0,0
mirrim,,0,0,0,0
"Ned (nednet)",,0,0,0,0
coucou39,,0,0,0,0
"Philippe (ppmt)",,0,0,0,0
"Marion (guillerette)",,0,0,0,0
Mariajosi,,0,0,0,0
Nibor44,,0,0,0,0
Laeth,,0,0,0,0
paulcmal,,0,0,0,0
"Andriy Poznakhovskyy (Andrulko)",,0,0,0,0
Poussinou,,0,0,0,0
PifyZ,,0,0,0,0
taha2002,,0,0,0,0
tarfayaproject,,0,0,0,0
StarlightF,,0,0,0,0
"Harun Demirel (harundemirel)",,0,0,0,0
alfanerd,,0,0,0,0
"bym (bymc)",,0,0,0,0
This diff is collapsed.
This diff is collapsed.
Name,Languages,"Translated (Words)","Target Words","Approved (Words)","Votes Made"
thegreenfox,Italian,1349,1360,0,0
"DavidM (kepon85)",Italian,21,19,1349,0
"billoges (billog2968)",,0,0,0,0
"Emre Özdiyar (incendiesq)",,0,0,0,0
"Elías Loreto (eliasjloreto)",,0,0,0,0
"Ericka Simancas (ackseriam)",,0,0,0,0
"ayukhamil (javhihi19091996)",,0,0,0,0
"Fachrur Razi (fachrurrazi)",,0,0,0,0
ferimenn,,0,0,0,0
amp8,,0,0,0,0
"Bartłomiej Mathea (apocz)",,0,0,0,0
agusalim,,0,0,0,0
isacastillor,,0,0,0,0
"Tatjana Larina (erikaflynn) (t257233)",,0,0,0,0
Daiky69,,0,0,0,0
"raja rizki (rizki271197)",,0,0,0,0
"Juan Raúl Hernández (jraulhernandezi)",,0,0,0,0
"Erol Yağız AYDIN (escorn)",,0,0,0,0
mirrim,,0,0,0,0
"Ned (nednet)",,0,0,0,0
coucou39,,0,0,0,0
"Philippe (ppmt)",,0,0,0,0
"Marion (guillerette)",,0,0,0,0
Mariajosi,,0,0,0,0
Nibor44,,0,0,0,0
Laeth,,0,0,0,0
paulcmal,,0,0,0,0
"Andriy Poznakhovskyy (Andrulko)",,0,0,0,0
Poussinou,,0,0,0,0
PifyZ,,0,0,0,0
taha2002,,0,0,0,0
tarfayaproject,,0,0,0,0
StarlightF,,0,0,0,0
"Harun Demirel (harundemirel)",,0,0,0,0
alfanerd,,0,0,0,0
"bym (bymc)",,0,0,0,0
This diff is collapsed.
[af]
code='af'
translated_progress=46
translator1[name]='billoges (billog2968)'
translator1[translated]=1219
translator2[name]='DavidM (kepon85)'
translator2[translated]=29
[nl]
code='nl'
translated_progress=11
translator1[name]='StarlightF'
translator1[translated]=309
[fr]
code='fr'
translated_progress=100
translator1[name]='DavidM (kepon85)'
translator1[translated]=2723
[id]
code='id'
translated_progress=99
translator1[name]='Fachrur Razi (fachrurrazi)'
translator1[translated]=1103
translator2[name]='raja rizki (rizki271197)'
translator2[translated]=1048
translator3[name]='ferimenn'
translator3[translated]=448
translator4[name]='DavidM (kepon85)'
translator4[translated]=18
translator5[name]='Daiky69'
translator5[translated]=4
translator6[name]='agusalim'
translator6[translated]=1
[it]
code='it'
translated_progress=51
translator1[name]='thegreenfox'
translator1[translated]=1349
translator2[name]='DavidM (kepon85)'
translator2[translated]=21
[pl]
code='pl'
translated_progress=20
translator1[name]='Bartłomiej Mathea (apocz)'
translator1[translated]=548
[ru]
code='ru'
translated_progress=47
translator1[name]='amp8'
translator1[translated]=1082
translator2[name]='Tatjana Larina (erikaflynn) (t257233)'
translator2[translated]=483
translator3[name]='Andriy Poznakhovskyy (Andrulko)'
translator3[translated]=10
[es]
code='es'
translated_progress=100
translator1[name]='Elías Loreto (eliasjloreto)'
translator1[translated]=1187
translator2[name]='Juan Raúl Hernández (jraulhernandezi)'
translator2[translated]=1136
translator3[name]='Ericka Simancas (ackseriam)'
translator3[translated]=301
translator4[name]='DavidM (kepon85)'
translator4[translated]=292
[tr]
code='tr'
translated_progress=100
translator1[name]='bym (bymc)'
translator1[translated]=1141
translator2[name]='Harun Demirel (harundemirel)'
translator2[translated]=1121
translator3[name]='alfanerd'
translator3[translated]=1095
translator4[name]='DavidM (kepon85)'
translator4[translated]=179
[uk]
code='uk'
translated_progress=55
translator1[name]='ayukhamil (javhihi19091996)'
translator1[translated]=1289
translator2[name]='Andriy Poznakhovskyy (Andrulko)'
translator2[translated]=174
translator3[name]='DavidM (kepon85)'
translator3[translated]=1
[aa]
code='aa'
translated_progress=100
translator1[translated]=500
translator1[name]='name1'
translator2[translated]=100
translator2[name]='name2'
[en]
code='en'
translated_progress=100
translator1[translated]=1000
translator1[name]='nednet'
translator2[translated]=300
translator2[name]='coucou39'
translator2[translated]=100
translator2[name]='guillerette'
translator2[translated]=100
translator2[name]='mirrim'
translator2[translated]=100
translator2[name]='ppmt'
This diff is collapsed.
This diff is collapsed.
Name,Languages,"Translated (Words)","Target Words","Approved (Words)","Votes Made"
StarlightF,Dutch,309,313,0,0
"DavidM (kepon85)",Dutch,0,0,309,0
"billoges (billog2968)",,0,0,0,0
"Emre Özdiyar (incendiesq)",,0,0,0,0
"Elías Loreto (eliasjloreto)",,0,0,0,0
"Ericka Simancas (ackseriam)",,0,0,0,0
"ayukhamil (javhihi19091996)",,0,0,0,0
"Fachrur Razi (fachrurrazi)",,0,0,0,0
amp8,,0,0,0,0
"Bartłomiej Mathea (apocz)",,0,0,0,0
ferimenn,,0,0,0,0
thegreenfox,,0,0,0,0
agusalim,,0,0,0,0
isacastillor,,0,0,0,0
"Tatjana Larina (erikaflynn) (t257233)",,0,0,0,0
Daiky69,,0,0,0,0
"raja rizki (rizki271197)",,0,0,0,0
"Juan Raúl Hernández (jraulhernandezi)",,0,0,0,0
"Erol Yağız AYDIN (escorn)",,0,0,0,0
mirrim,,0,0,0,0
"Ned (nednet)",,0,0,0,0
coucou39,,0,0,0,0
"Philippe (ppmt)",,0,0,0,0
"Marion (guillerette)",,0,0,0,0
Mariajosi,,0,0,0,0
Nibor44,,0,0,0,0
Laeth,,0,0,0,0