Add script to find missing locales and update locales (pull-request #393)

This commit is contained in:
Frédéric Guillot 2014-11-16 10:17:19 -05:00
parent 557bc2c3cd
commit a994e07f64
16 changed files with 246 additions and 2 deletions

View File

@ -575,4 +575,21 @@ return array(
// 'My subtasks' => '',
// 'User repartition' => '',
// 'User repartition for "%s"' => '',
// 'Clone this project' => '',
// 'Column removed successfully.' => '',
// 'Edit Project' => '',
// 'Github Issue' => '',
// 'Not enough data to show the graph.' => '',
// 'Previous' => '',
// 'The id must be an integer' => '',
// 'The project id must be an integer' => '',
// 'The status must be an integer' => '',
// 'The subtask id is required' => '',
// 'The subtask id must be an integer' => '',
// 'The task id is required' => '',
// 'The task id must be an integer' => '',
// 'The user id must be an integer' => '',
// 'This value is required' => '',
// 'This value must be numeric' => '',
// 'Unable to create this task.' => '',
);

View File

@ -575,4 +575,21 @@ return array(
// 'My subtasks' => '',
// 'User repartition' => '',
// 'User repartition for "%s"' => '',
// 'Clone this project' => '',
// 'Column removed successfully.' => '',
// 'Edit Project' => '',
// 'Github Issue' => '',
// 'Not enough data to show the graph.' => '',
// 'Previous' => '',
// 'The id must be an integer' => '',
// 'The project id must be an integer' => '',
// 'The status must be an integer' => '',
// 'The subtask id is required' => '',
// 'The subtask id must be an integer' => '',
// 'The task id is required' => '',
// 'The task id must be an integer' => '',
// 'The user id must be an integer' => '',
// 'This value is required' => '',
// 'This value must be numeric' => '',
// 'Unable to create this task.' => '',
);

View File

@ -575,4 +575,21 @@ return array(
// 'My subtasks' => '',
// 'User repartition' => '',
// 'User repartition for "%s"' => '',
// 'Clone this project' => '',
// 'Column removed successfully.' => '',
// 'Edit Project' => '',
// 'Github Issue' => '',
// 'Not enough data to show the graph.' => '',
// 'Previous' => '',
// 'The id must be an integer' => '',
// 'The project id must be an integer' => '',
// 'The status must be an integer' => '',
// 'The subtask id is required' => '',
// 'The subtask id must be an integer' => '',
// 'The task id is required' => '',
// 'The task id must be an integer' => '',
// 'The user id must be an integer' => '',
// 'This value is required' => '',
// 'This value must be numeric' => '',
// 'Unable to create this task.' => '',
);

View File

@ -575,4 +575,21 @@ return array(
// 'My subtasks' => '',
// 'User repartition' => '',
// 'User repartition for "%s"' => '',
// 'Clone this project' => '',
// 'Column removed successfully.' => '',
// 'Edit Project' => '',
// 'Github Issue' => '',
// 'Not enough data to show the graph.' => '',
// 'Previous' => '',
// 'The id must be an integer' => '',
// 'The project id must be an integer' => '',
// 'The status must be an integer' => '',
// 'The subtask id is required' => '',
// 'The subtask id must be an integer' => '',
// 'The task id is required' => '',
// 'The task id must be an integer' => '',
// 'The user id must be an integer' => '',
// 'This value is required' => '',
// 'This value must be numeric' => '',
// 'Unable to create this task.' => '',
);

View File

@ -575,4 +575,21 @@ return array(
'My subtasks' => 'Mes sous-tâches',
'User repartition' => 'Répartition des utilisateurs',
'User repartition for "%s"' => 'Répartition des utilisateurs pour « %s »',
'Clone this project' => 'Cloner ce projet',
'Column removed successfully.' => 'Colonne supprimée avec succès.',
'Edit Project' => 'Modifier le projet',
'Github Issue' => 'Ticket Github',
'Not enough data to show the graph.' => 'Pas assez de données pour afficher le graphique',
'Previous' => 'Précédent',
'The id must be an integer' => 'L\'id doit être un entier',
'The project id must be an integer' => 'L\'id du projet doit être un entier',
'The status must be an integer' => 'Le status doit être un entier',
'The subtask id is required' => 'L\'id de la sous-tâche est obligatoire',
'The subtask id must be an integer' => 'L\'id de la sous-tâche doit être en entier',
'The task id is required' => 'L\'id de la tâche est obligatoire',
'The task id must be an integer' => 'L\'id de la tâche doit être en entier',
'The user id must be an integer' => 'L\'id de l\'utilisateur doit être en entier',
'This value is required' => 'Cette valeur est obligatoire',
'This value must be numeric' => 'Cette valeur doit être numérique',
'Unable to create this task.' => 'Impossible de créer cette tâche',
);

View File

@ -575,4 +575,21 @@ return array(
// 'My subtasks' => '',
// 'User repartition' => '',
// 'User repartition for "%s"' => '',
// 'Clone this project' => '',
// 'Column removed successfully.' => '',
// 'Edit Project' => '',
// 'Github Issue' => '',
// 'Not enough data to show the graph.' => '',
// 'Previous' => '',
// 'The id must be an integer' => '',
// 'The project id must be an integer' => '',
// 'The status must be an integer' => '',
// 'The subtask id is required' => '',
// 'The subtask id must be an integer' => '',
// 'The task id is required' => '',
// 'The task id must be an integer' => '',
// 'The user id must be an integer' => '',
// 'This value is required' => '',
// 'This value must be numeric' => '',
// 'Unable to create this task.' => '',
);

View File

@ -575,4 +575,21 @@ return array(
// 'My subtasks' => '',
// 'User repartition' => '',
// 'User repartition for "%s"' => '',
// 'Clone this project' => '',
// 'Column removed successfully.' => '',
// 'Edit Project' => '',
// 'Github Issue' => '',
// 'Not enough data to show the graph.' => '',
// 'Previous' => '',
// 'The id must be an integer' => '',
// 'The project id must be an integer' => '',
// 'The status must be an integer' => '',
// 'The subtask id is required' => '',
// 'The subtask id must be an integer' => '',
// 'The task id is required' => '',
// 'The task id must be an integer' => '',
// 'The user id must be an integer' => '',
// 'This value is required' => '',
// 'This value must be numeric' => '',
// 'Unable to create this task.' => '',
);

View File

@ -575,4 +575,21 @@ return array(
// 'My subtasks' => '',
// 'User repartition' => '',
// 'User repartition for "%s"' => '',
// 'Clone this project' => '',
// 'Column removed successfully.' => '',
// 'Edit Project' => '',
// 'Github Issue' => '',
// 'Not enough data to show the graph.' => '',
// 'Previous' => '',
// 'The id must be an integer' => '',
// 'The project id must be an integer' => '',
// 'The status must be an integer' => '',
// 'The subtask id is required' => '',
// 'The subtask id must be an integer' => '',
// 'The task id is required' => '',
// 'The task id must be an integer' => '',
// 'The user id must be an integer' => '',
// 'This value is required' => '',
// 'This value must be numeric' => '',
// 'Unable to create this task.' => '',
);

View File

@ -575,4 +575,21 @@ return array(
// 'My subtasks' => '',
// 'User repartition' => '',
// 'User repartition for "%s"' => '',
// 'Clone this project' => '',
// 'Column removed successfully.' => '',
// 'Edit Project' => '',
// 'Github Issue' => '',
// 'Not enough data to show the graph.' => '',
// 'Previous' => '',
// 'The id must be an integer' => '',
// 'The project id must be an integer' => '',
// 'The status must be an integer' => '',
// 'The subtask id is required' => '',
// 'The subtask id must be an integer' => '',
// 'The task id is required' => '',
// 'The task id must be an integer' => '',
// 'The user id must be an integer' => '',
// 'This value is required' => '',
// 'This value must be numeric' => '',
// 'Unable to create this task.' => '',
);

View File

@ -575,4 +575,21 @@ return array(
// 'My subtasks' => '',
// 'User repartition' => '',
// 'User repartition for "%s"' => '',
// 'Clone this project' => '',
// 'Column removed successfully.' => '',
// 'Edit Project' => '',
// 'Github Issue' => '',
// 'Not enough data to show the graph.' => '',
// 'Previous' => '',
// 'The id must be an integer' => '',
// 'The project id must be an integer' => '',
// 'The status must be an integer' => '',
// 'The subtask id is required' => '',
// 'The subtask id must be an integer' => '',
// 'The task id is required' => '',
// 'The task id must be an integer' => '',
// 'The user id must be an integer' => '',
// 'This value is required' => '',
// 'This value must be numeric' => '',
// 'Unable to create this task.' => '',
);

View File

@ -575,4 +575,21 @@ return array(
// 'My subtasks' => '',
// 'User repartition' => '',
// 'User repartition for "%s"' => '',
// 'Clone this project' => '',
// 'Column removed successfully.' => '',
// 'Edit Project' => '',
// 'Github Issue' => '',
// 'Not enough data to show the graph.' => '',
// 'Previous' => '',
// 'The id must be an integer' => '',
// 'The project id must be an integer' => '',
// 'The status must be an integer' => '',
// 'The subtask id is required' => '',
// 'The subtask id must be an integer' => '',
// 'The task id is required' => '',
// 'The task id must be an integer' => '',
// 'The user id must be an integer' => '',
// 'This value is required' => '',
// 'This value must be numeric' => '',
// 'Unable to create this task.' => '',
);

View File

@ -575,4 +575,21 @@ return array(
// 'My subtasks' => '',
// 'User repartition' => '',
// 'User repartition for "%s"' => '',
// 'Clone this project' => '',
// 'Column removed successfully.' => '',
// 'Edit Project' => '',
// 'Github Issue' => '',
// 'Not enough data to show the graph.' => '',
// 'Previous' => '',
// 'The id must be an integer' => '',
// 'The project id must be an integer' => '',
// 'The status must be an integer' => '',
// 'The subtask id is required' => '',
// 'The subtask id must be an integer' => '',
// 'The task id is required' => '',
// 'The task id must be an integer' => '',
// 'The user id must be an integer' => '',
// 'This value is required' => '',
// 'This value must be numeric' => '',
// 'Unable to create this task.' => '',
);

View File

@ -575,4 +575,21 @@ return array(
// 'My subtasks' => '',
// 'User repartition' => '',
// 'User repartition for "%s"' => '',
// 'Clone this project' => '',
// 'Column removed successfully.' => '',
// 'Edit Project' => '',
// 'Github Issue' => '',
// 'Not enough data to show the graph.' => '',
// 'Previous' => '',
// 'The id must be an integer' => '',
// 'The project id must be an integer' => '',
// 'The status must be an integer' => '',
// 'The subtask id is required' => '',
// 'The subtask id must be an integer' => '',
// 'The task id is required' => '',
// 'The task id must be an integer' => '',
// 'The user id must be an integer' => '',
// 'This value is required' => '',
// 'This value must be numeric' => '',
// 'Unable to create this task.' => '',
);

View File

@ -3,7 +3,7 @@
</div>
<?php if (empty($metrics)): ?>
<p class="alert"><?= t('Not enough data.') ?></p>
<p class="alert"><?= t('Not enough data to show the graph.') ?></p>
<?php else: ?>
<section id="analytic-task-repartition">

View File

@ -3,7 +3,7 @@
</div>
<?php if (empty($metrics)): ?>
<p class="alert"><?= t('Not enough data.') ?></p>
<p class="alert"><?= t('Not enough data to show the graph.') ?></p>
<?php else: ?>
<section id="analytic-user-repartition">

23
scripts/find-strings.sh Executable file
View File

@ -0,0 +1,23 @@
#!/bin/bash
REF_LANG=${1:-fr_FR}
###
APP_DIR=`dirname $0`/../app
LANG_FILE=$APP_DIR/Locale/$REF_LANG/translations.php
TMPFILE=`mktemp`
# find all strings used with t() or e() and write them to a temp buffer
find $APP_DIR -name '*.php' -print | xargs -n 1 cat | grep -oP -e "\b[et]\((\"\K.*?\"|\'\K.*?\') *[\)\,]" | sed -e "s/'[),]$//" -e 's/\\/\\\\/g' | sort | uniq > $TMPFILE
echo "Missing strings from $REF_LANG: (if none printed, none missing)"
while read LINE
do
grep -F "$LINE" $LANG_FILE > /dev/null
if [[ $? -ne 0 ]]; then
echo " '$LINE' => '',"
fi
done < $TMPFILE
# delete the work file
rm $TMPFILE