Add script to find missing locales and update locales (pull-request #393)
This commit is contained in:
@@ -575,4 +575,21 @@ return array(
|
|||||||
// 'My subtasks' => '',
|
// 'My subtasks' => '',
|
||||||
// 'User repartition' => '',
|
// 'User repartition' => '',
|
||||||
// 'User repartition for "%s"' => '',
|
// '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.' => '',
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -575,4 +575,21 @@ return array(
|
|||||||
// 'My subtasks' => '',
|
// 'My subtasks' => '',
|
||||||
// 'User repartition' => '',
|
// 'User repartition' => '',
|
||||||
// 'User repartition for "%s"' => '',
|
// '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.' => '',
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -575,4 +575,21 @@ return array(
|
|||||||
// 'My subtasks' => '',
|
// 'My subtasks' => '',
|
||||||
// 'User repartition' => '',
|
// 'User repartition' => '',
|
||||||
// 'User repartition for "%s"' => '',
|
// '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.' => '',
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -575,4 +575,21 @@ return array(
|
|||||||
// 'My subtasks' => '',
|
// 'My subtasks' => '',
|
||||||
// 'User repartition' => '',
|
// 'User repartition' => '',
|
||||||
// 'User repartition for "%s"' => '',
|
// '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.' => '',
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -575,4 +575,21 @@ return array(
|
|||||||
'My subtasks' => 'Mes sous-tâches',
|
'My subtasks' => 'Mes sous-tâches',
|
||||||
'User repartition' => 'Répartition des utilisateurs',
|
'User repartition' => 'Répartition des utilisateurs',
|
||||||
'User repartition for "%s"' => 'Répartition des utilisateurs pour « %s »',
|
'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',
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -575,4 +575,21 @@ return array(
|
|||||||
// 'My subtasks' => '',
|
// 'My subtasks' => '',
|
||||||
// 'User repartition' => '',
|
// 'User repartition' => '',
|
||||||
// 'User repartition for "%s"' => '',
|
// '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.' => '',
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -575,4 +575,21 @@ return array(
|
|||||||
// 'My subtasks' => '',
|
// 'My subtasks' => '',
|
||||||
// 'User repartition' => '',
|
// 'User repartition' => '',
|
||||||
// 'User repartition for "%s"' => '',
|
// '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.' => '',
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -575,4 +575,21 @@ return array(
|
|||||||
// 'My subtasks' => '',
|
// 'My subtasks' => '',
|
||||||
// 'User repartition' => '',
|
// 'User repartition' => '',
|
||||||
// 'User repartition for "%s"' => '',
|
// '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.' => '',
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -575,4 +575,21 @@ return array(
|
|||||||
// 'My subtasks' => '',
|
// 'My subtasks' => '',
|
||||||
// 'User repartition' => '',
|
// 'User repartition' => '',
|
||||||
// 'User repartition for "%s"' => '',
|
// '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.' => '',
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -575,4 +575,21 @@ return array(
|
|||||||
// 'My subtasks' => '',
|
// 'My subtasks' => '',
|
||||||
// 'User repartition' => '',
|
// 'User repartition' => '',
|
||||||
// 'User repartition for "%s"' => '',
|
// '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.' => '',
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -575,4 +575,21 @@ return array(
|
|||||||
// 'My subtasks' => '',
|
// 'My subtasks' => '',
|
||||||
// 'User repartition' => '',
|
// 'User repartition' => '',
|
||||||
// 'User repartition for "%s"' => '',
|
// '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.' => '',
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -575,4 +575,21 @@ return array(
|
|||||||
// 'My subtasks' => '',
|
// 'My subtasks' => '',
|
||||||
// 'User repartition' => '',
|
// 'User repartition' => '',
|
||||||
// 'User repartition for "%s"' => '',
|
// '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.' => '',
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -575,4 +575,21 @@ return array(
|
|||||||
// 'My subtasks' => '',
|
// 'My subtasks' => '',
|
||||||
// 'User repartition' => '',
|
// 'User repartition' => '',
|
||||||
// 'User repartition for "%s"' => '',
|
// '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.' => '',
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<?php if (empty($metrics)): ?>
|
<?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: ?>
|
<?php else: ?>
|
||||||
<section id="analytic-task-repartition">
|
<section id="analytic-task-repartition">
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<?php if (empty($metrics)): ?>
|
<?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: ?>
|
<?php else: ?>
|
||||||
<section id="analytic-user-repartition">
|
<section id="analytic-user-repartition">
|
||||||
|
|
||||||
|
|||||||
23
scripts/find-strings.sh
Executable file
23
scripts/find-strings.sh
Executable 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
|
||||||
Reference in New Issue
Block a user