summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFrederic Guillot <fred@kanboard.net>2016-06-23 12:27:34 -0400
committerFrederic Guillot <fred@kanboard.net>2016-06-23 12:27:34 -0400
commit75019b3a8e838f51bfac51bdbf9e6647faaaec1d (patch)
tree78d568319d7fa18f14297d0b5d0d8a62684b13ba
parent94b9235dcfd87f12f60a2e8ad07e39fcfd067f7c (diff)
Make embedded documentation available in multiple languages
-rw-r--r--ChangeLog7
-rw-r--r--app/Controller/DocumentationController.php70
-rw-r--r--doc/es_ES/kanban-vs-todo-and-scrum.markdown22
-rw-r--r--doc/fr_FR/2fa.markdown (renamed from doc/fr/2fa.markdown)0
-rw-r--r--doc/fr_FR/analytics-tasks.markdown (renamed from doc/fr/analytics-tasks.markdown)0
-rw-r--r--doc/fr_FR/analytics.markdown (renamed from doc/fr/analytics.markdown)0
-rw-r--r--doc/fr_FR/application-configuration.markdown (renamed from doc/fr/application-configuration.markdown)0
-rw-r--r--doc/fr_FR/application-configuration.markup (renamed from doc/fr/application-configuration.markup)0
-rw-r--r--doc/fr_FR/automatic-actions.markdown (renamed from doc/fr/automatic-actions.markdown)0
-rw-r--r--doc/fr_FR/board-collapsed-expanded.markdown (renamed from doc/fr/board-collapsed-expanded.markdown)0
-rw-r--r--doc/fr_FR/board-configuration.markdown (renamed from doc/fr/board-configuration.markdown)0
-rw-r--r--doc/fr_FR/board-horizontal-scrolling-and-compact-view.markdown (renamed from doc/fr/board-horizontal-scrolling-and-compact-view.markdown)0
-rw-r--r--doc/fr_FR/board-show-hide-columns.markdown (renamed from doc/fr/board-show-hide-columns.markdown)0
-rw-r--r--doc/fr_FR/calendar-configuration.markdown (renamed from doc/fr/calendar-configuration.markdown)0
-rw-r--r--doc/fr_FR/calendar.markdown (renamed from doc/fr/calendar.markdown)0
-rw-r--r--doc/fr_FR/closing-tasks.markdown (renamed from doc/fr/closing-tasks.markdown)0
-rw-r--r--doc/fr_FR/create-tasks-by-email.markdown (renamed from doc/fr/create-tasks-by-email.markdown)0
-rw-r--r--doc/fr_FR/creating-projects.markdown (renamed from doc/fr/creating-projects.markdown)0
-rw-r--r--doc/fr_FR/creating-tasks.markdown (renamed from doc/fr/creating-tasks.markdown)0
-rw-r--r--doc/fr_FR/currency-rate.markdown (renamed from doc/fr/currency-rate.markdown)0
-rw-r--r--doc/fr_FR/duplicate-move-tasks.markdown (renamed from doc/fr/duplicate-move-tasks.markdown)0
-rw-r--r--doc/fr_FR/editing-projects.markdown (renamed from doc/fr/editing-projects.markdown)0
-rw-r--r--doc/fr_FR/gantt-chart-projects.markdown (renamed from doc/fr/gantt-chart-projects.markdown)0
-rw-r--r--doc/fr_FR/gantt-chart-tasks.markdown (renamed from doc/fr/gantt-chart-tasks.markdown)0
-rw-r--r--doc/fr_FR/index.markdown (renamed from doc/fr/index.markdown)0
-rw-r--r--doc/fr_FR/kanban-vs-todo-and-scrum.markdown (renamed from doc/fr/kanban-vs-todo-and-scrum.markdown)0
-rw-r--r--doc/fr_FR/keyboard-shortcuts.markdown (renamed from doc/fr/keyboard-shortcuts.markdown)0
-rw-r--r--doc/fr_FR/link-labels.markdown (renamed from doc/fr/link-labels.markdown)0
-rw-r--r--doc/fr_FR/notifications.markdown (renamed from doc/fr/notifications.markdown)0
-rw-r--r--doc/fr_FR/project-configuration.markdown (renamed from doc/fr/project-configuration.markdown)0
-rw-r--r--doc/fr_FR/project-permissions.markdown (renamed from doc/fr/project-permissions.markdown)0
-rw-r--r--doc/fr_FR/project-types.markdown (renamed from doc/fr/project-types.markdown)0
-rw-r--r--doc/fr_FR/project-views.markdown (renamed from doc/fr/project-views.markdown)0
-rw-r--r--doc/fr_FR/recurring-tasks.markdown (renamed from doc/fr/recurring-tasks.markdown)0
-rw-r--r--doc/fr_FR/roles.markdown (renamed from doc/fr/roles.markdown)0
-rw-r--r--doc/fr_FR/screenshots.markdown (renamed from doc/fr/screenshots.markdown)0
-rw-r--r--doc/fr_FR/screenshots/automatic-action-creation.png (renamed from doc/fr/screenshots/automatic-action-creation.png)bin19900 -> 19900 bytes
-rw-r--r--doc/fr_FR/screenshots/board-collapsed-mode.png (renamed from doc/fr/screenshots/board-collapsed-mode.png)bin7074 -> 7074 bytes
-rw-r--r--doc/fr_FR/screenshots/board-compact-mode.png (renamed from doc/fr/screenshots/board-compact-mode.png)bin12765 -> 12765 bytes
-rw-r--r--doc/fr_FR/screenshots/board-expanded-mode.png (renamed from doc/fr/screenshots/board-expanded-mode.png)bin11783 -> 11783 bytes
-rw-r--r--doc/fr_FR/screenshots/board-task-limit.png (renamed from doc/fr/screenshots/board-task-limit.png)bin16848 -> 16848 bytes
-rw-r--r--doc/fr_FR/screenshots/board-view.png (renamed from doc/fr/screenshots/board-view.png)bin24371 -> 24371 bytes
-rw-r--r--doc/fr_FR/screenshots/calendar-view.png (renamed from doc/fr/screenshots/calendar-view.png)bin21691 -> 21691 bytes
-rw-r--r--doc/fr_FR/screenshots/gantt-view.png (renamed from doc/fr/screenshots/gantt-view.png)bin29367 -> 29367 bytes
-rw-r--r--doc/fr_FR/screenshots/hide-column.png (renamed from doc/fr/screenshots/hide-column.png)bin9642 -> 9642 bytes
-rw-r--r--doc/fr_FR/screenshots/list-view.png (renamed from doc/fr/screenshots/list-view.png)bin23457 -> 23457 bytes
-rw-r--r--doc/fr_FR/screenshots/new-project.png (renamed from doc/fr/screenshots/new-project.png)bin20818 -> 20818 bytes
-rw-r--r--doc/fr_FR/screenshots/new-user.png (renamed from doc/fr/screenshots/new-user.png)bin26286 -> 26286 bytes
-rw-r--r--doc/fr_FR/screenshots/project-disable-sharing.png (renamed from doc/fr/screenshots/project-disable-sharing.png)bin17706 -> 17706 bytes
-rw-r--r--doc/fr_FR/screenshots/project-edition.png (renamed from doc/fr/screenshots/project-edition.png)bin40230 -> 40230 bytes
-rw-r--r--doc/fr_FR/screenshots/project-enable-sharing.png (renamed from doc/fr/screenshots/project-enable-sharing.png)bin14297 -> 14297 bytes
-rw-r--r--doc/fr_FR/screenshots/project-permissions.png (renamed from doc/fr/screenshots/project-permissions.png)bin32926 -> 32926 bytes
-rw-r--r--doc/fr_FR/screenshots/project-view.png (renamed from doc/fr/screenshots/project-view.png)bin40868 -> 40868 bytes
-rw-r--r--doc/fr_FR/screenshots/show-column.png (renamed from doc/fr/screenshots/show-column.png)bin17940 -> 17940 bytes
-rw-r--r--doc/fr_FR/screenshots/swimlane-configuration.png (renamed from doc/fr/screenshots/swimlane-configuration.png)bin14226 -> 14226 bytes
-rw-r--r--doc/fr_FR/screenshots/swimlanes.png (renamed from doc/fr/screenshots/swimlanes.png)bin25290 -> 25290 bytes
-rw-r--r--doc/fr_FR/sharing-projects.markdown (renamed from doc/fr/sharing-projects.markdown)0
-rw-r--r--doc/fr_FR/subtasks.markdown (renamed from doc/fr/subtasks.markdown)0
-rw-r--r--doc/fr_FR/swimlanes.markdown (renamed from doc/fr/swimlanes.markdown)0
-rw-r--r--doc/fr_FR/task-links.markdown (renamed from doc/fr/task-links.markdown)0
-rw-r--r--doc/fr_FR/time-tracking.markdown (renamed from doc/fr/time-tracking.markdown)0
-rw-r--r--doc/fr_FR/transitions.markdown (renamed from doc/fr/transitions.markdown)0
-rw-r--r--doc/fr_FR/usage-examples.markdown (renamed from doc/fr/usage-examples.markdown)0
-rw-r--r--doc/fr_FR/user-management.markdown (renamed from doc/fr/user-management.markdown)0
-rw-r--r--doc/fr_FR/what-is-kanban.markdown (renamed from doc/fr/what-is-kanban.markdown)0
65 files changed, 75 insertions, 24 deletions
diff --git a/ChangeLog b/ChangeLog
index ebd6e38e..20ffbca1 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+Version 1.0.31 (unreleased)
+--------------
+
+Improvements:
+
+* Make embedded documentation available in multiple languages
+
Version 1.0.30
--------------
diff --git a/app/Controller/DocumentationController.php b/app/Controller/DocumentationController.php
index d86fb3c8..0d02ebda 100644
--- a/app/Controller/DocumentationController.php
+++ b/app/Controller/DocumentationController.php
@@ -20,16 +20,7 @@ class DocumentationController extends BaseController
$page = 'index';
}
- if ($this->languageModel->getCurrentLanguage() === 'fr_FR') {
- $filename = __DIR__.'/../../doc/fr/' . $page . '.markdown';
- } else {
- $filename = __DIR__ . '/../../doc/' . $page . '.markdown';
- }
-
- if (!file_exists($filename)) {
- $filename = __DIR__.'/../../doc/index.markdown';
- }
-
+ $filename = $this->getPageFilename($page);
$this->response->html($this->helper->layout->app('doc/show', $this->render($filename)));
}
@@ -83,10 +74,63 @@ class DocumentationController extends BaseController
*/
public function replaceImageUrl(array $matches)
{
- if ($this->languageModel->getCurrentLanguage() === 'fr_FR') {
- return '('.$this->helper->url->base().'doc/fr/'.$matches[1].')';
+ return '('.$this->getFileBaseUrl($matches[1]).')';
+ }
+
+ /**
+ * Get Markdown file according to the current language
+ *
+ * @access private
+ * @param string $page
+ * @return string
+ */
+ private function getPageFilename($page)
+ {
+ return $this->getFileLocation($page . '.markdown') ?:
+ implode(DIRECTORY_SEPARATOR, array(ROOT_DIR, 'doc', 'index.markdown'));
+ }
+
+ /**
+ * Get base URL for Markdown links
+ *
+ * @access private
+ * @param string $filename
+ * @return string
+ */
+ private function getFileBaseUrl($filename)
+ {
+ $language = $this->languageModel->getCurrentLanguage();
+ $path = $this->getFileLocation($filename);
+
+ if (strpos($path, $language) !== false) {
+ $url = implode('/', array('doc', $language, $filename));
+ } else {
+ $url = implode('/', array('doc', $filename));
+ }
+
+ return $this->helper->url->base().$url;
+ }
+
+ /**
+ * Get file location according to the current language
+ *
+ * @access private
+ * @param string $filename
+ * @return string
+ */
+ private function getFileLocation($filename)
+ {
+ $files = array(
+ implode(DIRECTORY_SEPARATOR, array(ROOT_DIR, 'doc', $this->languageModel->getCurrentLanguage(), $filename)),
+ implode(DIRECTORY_SEPARATOR, array(ROOT_DIR, 'doc', $filename)),
+ );
+
+ foreach ($files as $filename) {
+ if (file_exists($filename)) {
+ return $filename;
+ }
}
- return '('.$this->helper->url->base().'doc/'.$matches[1].')';
+ return '';
}
}
diff --git a/doc/es_ES/kanban-vs-todo-and-scrum.markdown b/doc/es_ES/kanban-vs-todo-and-scrum.markdown
index ad9dd1a9..6e8d9e6c 100644
--- a/doc/es_ES/kanban-vs-todo-and-scrum.markdown
+++ b/doc/es_ES/kanban-vs-todo-and-scrum.markdown
@@ -6,13 +6,13 @@ Kanban vs Todo lists
### Todo lists (lista de tareas) :
-Fase unica (es solo una lista de tareas)
-Multitarea posible (no eficiente)
+- Fase unica (es solo una lista de tareas)
+- Multitarea posible (no eficiente)
### Kanban:
-Multi fases,
-Concentración absoluta para evitar multitareas por que se puede establecer un limite por columna para mejorar el progreso
+- Multi fases,
+- Concentración absoluta para evitar multitareas por que se puede establecer un limite por columna para mejorar el progreso
Kanban vs Scrum
@@ -20,13 +20,13 @@ Kanban vs Scrum
### Scrum:
-Los sprints son time-boxed, usualmente 2 o 4 semanas
-No permitir cambios durante la iteración
-La estimación es requerida
-Utiliza la velocidad como métrica predeterminada
-El tablero de Scrum se borra entre cada sprint
-Scrum tiene funciones predefinidas como scrum master , los dueños del producto y el equipo
-Una gran cantidad de reuniones: planeaciones, backlogs grooming, daily stand-up, retrospectiva
+- Los sprints son time-boxed, usualmente 2 o 4 semanas
+- No permitir cambios durante la iteración
+- La estimación es requerida
+- Utiliza la velocidad como métrica predeterminada
+- El tablero de Scrum se borra entre cada sprint
+- Scrum tiene funciones predefinidas como scrum master , los dueños del producto y el equipo
+- Una gran cantidad de reuniones: planeaciones, backlogs grooming, daily stand-up, retrospectiva
### Kanban:
diff --git a/doc/fr/2fa.markdown b/doc/fr_FR/2fa.markdown
index 2ecaa10b..2ecaa10b 100644
--- a/doc/fr/2fa.markdown
+++ b/doc/fr_FR/2fa.markdown
diff --git a/doc/fr/analytics-tasks.markdown b/doc/fr_FR/analytics-tasks.markdown
index 0eb89e34..0eb89e34 100644
--- a/doc/fr/analytics-tasks.markdown
+++ b/doc/fr_FR/analytics-tasks.markdown
diff --git a/doc/fr/analytics.markdown b/doc/fr_FR/analytics.markdown
index 0b94f272..0b94f272 100644
--- a/doc/fr/analytics.markdown
+++ b/doc/fr_FR/analytics.markdown
diff --git a/doc/fr/application-configuration.markdown b/doc/fr_FR/application-configuration.markdown
index 12768f03..12768f03 100644
--- a/doc/fr/application-configuration.markdown
+++ b/doc/fr_FR/application-configuration.markdown
diff --git a/doc/fr/application-configuration.markup b/doc/fr_FR/application-configuration.markup
index 12768f03..12768f03 100644
--- a/doc/fr/application-configuration.markup
+++ b/doc/fr_FR/application-configuration.markup
diff --git a/doc/fr/automatic-actions.markdown b/doc/fr_FR/automatic-actions.markdown
index f136b98c..f136b98c 100644
--- a/doc/fr/automatic-actions.markdown
+++ b/doc/fr_FR/automatic-actions.markdown
diff --git a/doc/fr/board-collapsed-expanded.markdown b/doc/fr_FR/board-collapsed-expanded.markdown
index 29396772..29396772 100644
--- a/doc/fr/board-collapsed-expanded.markdown
+++ b/doc/fr_FR/board-collapsed-expanded.markdown
diff --git a/doc/fr/board-configuration.markdown b/doc/fr_FR/board-configuration.markdown
index f7f8be33..f7f8be33 100644
--- a/doc/fr/board-configuration.markdown
+++ b/doc/fr_FR/board-configuration.markdown
diff --git a/doc/fr/board-horizontal-scrolling-and-compact-view.markdown b/doc/fr_FR/board-horizontal-scrolling-and-compact-view.markdown
index 7ad9c23c..7ad9c23c 100644
--- a/doc/fr/board-horizontal-scrolling-and-compact-view.markdown
+++ b/doc/fr_FR/board-horizontal-scrolling-and-compact-view.markdown
diff --git a/doc/fr/board-show-hide-columns.markdown b/doc/fr_FR/board-show-hide-columns.markdown
index 8eac0b2c..8eac0b2c 100644
--- a/doc/fr/board-show-hide-columns.markdown
+++ b/doc/fr_FR/board-show-hide-columns.markdown
diff --git a/doc/fr/calendar-configuration.markdown b/doc/fr_FR/calendar-configuration.markdown
index 6494568a..6494568a 100644
--- a/doc/fr/calendar-configuration.markdown
+++ b/doc/fr_FR/calendar-configuration.markdown
diff --git a/doc/fr/calendar.markdown b/doc/fr_FR/calendar.markdown
index 2ceeeaa4..2ceeeaa4 100644
--- a/doc/fr/calendar.markdown
+++ b/doc/fr_FR/calendar.markdown
diff --git a/doc/fr/closing-tasks.markdown b/doc/fr_FR/closing-tasks.markdown
index 022a1dfd..022a1dfd 100644
--- a/doc/fr/closing-tasks.markdown
+++ b/doc/fr_FR/closing-tasks.markdown
diff --git a/doc/fr/create-tasks-by-email.markdown b/doc/fr_FR/create-tasks-by-email.markdown
index dd06a1c4..dd06a1c4 100644
--- a/doc/fr/create-tasks-by-email.markdown
+++ b/doc/fr_FR/create-tasks-by-email.markdown
diff --git a/doc/fr/creating-projects.markdown b/doc/fr_FR/creating-projects.markdown
index e5da7cc6..e5da7cc6 100644
--- a/doc/fr/creating-projects.markdown
+++ b/doc/fr_FR/creating-projects.markdown
diff --git a/doc/fr/creating-tasks.markdown b/doc/fr_FR/creating-tasks.markdown
index 9b7fa274..9b7fa274 100644
--- a/doc/fr/creating-tasks.markdown
+++ b/doc/fr_FR/creating-tasks.markdown
diff --git a/doc/fr/currency-rate.markdown b/doc/fr_FR/currency-rate.markdown
index e84acd31..e84acd31 100644
--- a/doc/fr/currency-rate.markdown
+++ b/doc/fr_FR/currency-rate.markdown
diff --git a/doc/fr/duplicate-move-tasks.markdown b/doc/fr_FR/duplicate-move-tasks.markdown
index 07c863d0..07c863d0 100644
--- a/doc/fr/duplicate-move-tasks.markdown
+++ b/doc/fr_FR/duplicate-move-tasks.markdown
diff --git a/doc/fr/editing-projects.markdown b/doc/fr_FR/editing-projects.markdown
index 2186a1b9..2186a1b9 100644
--- a/doc/fr/editing-projects.markdown
+++ b/doc/fr_FR/editing-projects.markdown
diff --git a/doc/fr/gantt-chart-projects.markdown b/doc/fr_FR/gantt-chart-projects.markdown
index 3801dc88..3801dc88 100644
--- a/doc/fr/gantt-chart-projects.markdown
+++ b/doc/fr_FR/gantt-chart-projects.markdown
diff --git a/doc/fr/gantt-chart-tasks.markdown b/doc/fr_FR/gantt-chart-tasks.markdown
index fbd1b587..fbd1b587 100644
--- a/doc/fr/gantt-chart-tasks.markdown
+++ b/doc/fr_FR/gantt-chart-tasks.markdown
diff --git a/doc/fr/index.markdown b/doc/fr_FR/index.markdown
index f74c3fce..f74c3fce 100644
--- a/doc/fr/index.markdown
+++ b/doc/fr_FR/index.markdown
diff --git a/doc/fr/kanban-vs-todo-and-scrum.markdown b/doc/fr_FR/kanban-vs-todo-and-scrum.markdown
index b6f5bc1f..b6f5bc1f 100644
--- a/doc/fr/kanban-vs-todo-and-scrum.markdown
+++ b/doc/fr_FR/kanban-vs-todo-and-scrum.markdown
diff --git a/doc/fr/keyboard-shortcuts.markdown b/doc/fr_FR/keyboard-shortcuts.markdown
index 28a131d8..28a131d8 100644
--- a/doc/fr/keyboard-shortcuts.markdown
+++ b/doc/fr_FR/keyboard-shortcuts.markdown
diff --git a/doc/fr/link-labels.markdown b/doc/fr_FR/link-labels.markdown
index 9c266b5a..9c266b5a 100644
--- a/doc/fr/link-labels.markdown
+++ b/doc/fr_FR/link-labels.markdown
diff --git a/doc/fr/notifications.markdown b/doc/fr_FR/notifications.markdown
index 43f34a8e..43f34a8e 100644
--- a/doc/fr/notifications.markdown
+++ b/doc/fr_FR/notifications.markdown
diff --git a/doc/fr/project-configuration.markdown b/doc/fr_FR/project-configuration.markdown
index 22db5bf1..22db5bf1 100644
--- a/doc/fr/project-configuration.markdown
+++ b/doc/fr_FR/project-configuration.markdown
diff --git a/doc/fr/project-permissions.markdown b/doc/fr_FR/project-permissions.markdown
index c4ef4df4..c4ef4df4 100644
--- a/doc/fr/project-permissions.markdown
+++ b/doc/fr_FR/project-permissions.markdown
diff --git a/doc/fr/project-types.markdown b/doc/fr_FR/project-types.markdown
index 70434ec8..70434ec8 100644
--- a/doc/fr/project-types.markdown
+++ b/doc/fr_FR/project-types.markdown
diff --git a/doc/fr/project-views.markdown b/doc/fr_FR/project-views.markdown
index 603108f6..603108f6 100644
--- a/doc/fr/project-views.markdown
+++ b/doc/fr_FR/project-views.markdown
diff --git a/doc/fr/recurring-tasks.markdown b/doc/fr_FR/recurring-tasks.markdown
index 95f24c40..95f24c40 100644
--- a/doc/fr/recurring-tasks.markdown
+++ b/doc/fr_FR/recurring-tasks.markdown
diff --git a/doc/fr/roles.markdown b/doc/fr_FR/roles.markdown
index e55a3969..e55a3969 100644
--- a/doc/fr/roles.markdown
+++ b/doc/fr_FR/roles.markdown
diff --git a/doc/fr/screenshots.markdown b/doc/fr_FR/screenshots.markdown
index e634bd1b..e634bd1b 100644
--- a/doc/fr/screenshots.markdown
+++ b/doc/fr_FR/screenshots.markdown
diff --git a/doc/fr/screenshots/automatic-action-creation.png b/doc/fr_FR/screenshots/automatic-action-creation.png
index ad90590d..ad90590d 100644
--- a/doc/fr/screenshots/automatic-action-creation.png
+++ b/doc/fr_FR/screenshots/automatic-action-creation.png
Binary files differ
diff --git a/doc/fr/screenshots/board-collapsed-mode.png b/doc/fr_FR/screenshots/board-collapsed-mode.png
index a496faff..a496faff 100644
--- a/doc/fr/screenshots/board-collapsed-mode.png
+++ b/doc/fr_FR/screenshots/board-collapsed-mode.png
Binary files differ
diff --git a/doc/fr/screenshots/board-compact-mode.png b/doc/fr_FR/screenshots/board-compact-mode.png
index 872ceae5..872ceae5 100644
--- a/doc/fr/screenshots/board-compact-mode.png
+++ b/doc/fr_FR/screenshots/board-compact-mode.png
Binary files differ
diff --git a/doc/fr/screenshots/board-expanded-mode.png b/doc/fr_FR/screenshots/board-expanded-mode.png
index 19f61451..19f61451 100644
--- a/doc/fr/screenshots/board-expanded-mode.png
+++ b/doc/fr_FR/screenshots/board-expanded-mode.png
Binary files differ
diff --git a/doc/fr/screenshots/board-task-limit.png b/doc/fr_FR/screenshots/board-task-limit.png
index 8353f33c..8353f33c 100644
--- a/doc/fr/screenshots/board-task-limit.png
+++ b/doc/fr_FR/screenshots/board-task-limit.png
Binary files differ
diff --git a/doc/fr/screenshots/board-view.png b/doc/fr_FR/screenshots/board-view.png
index 0d1e18ea..0d1e18ea 100644
--- a/doc/fr/screenshots/board-view.png
+++ b/doc/fr_FR/screenshots/board-view.png
Binary files differ
diff --git a/doc/fr/screenshots/calendar-view.png b/doc/fr_FR/screenshots/calendar-view.png
index 1226162b..1226162b 100644
--- a/doc/fr/screenshots/calendar-view.png
+++ b/doc/fr_FR/screenshots/calendar-view.png
Binary files differ
diff --git a/doc/fr/screenshots/gantt-view.png b/doc/fr_FR/screenshots/gantt-view.png
index 3caafa98..3caafa98 100644
--- a/doc/fr/screenshots/gantt-view.png
+++ b/doc/fr_FR/screenshots/gantt-view.png
Binary files differ
diff --git a/doc/fr/screenshots/hide-column.png b/doc/fr_FR/screenshots/hide-column.png
index 61015f9a..61015f9a 100644
--- a/doc/fr/screenshots/hide-column.png
+++ b/doc/fr_FR/screenshots/hide-column.png
Binary files differ
diff --git a/doc/fr/screenshots/list-view.png b/doc/fr_FR/screenshots/list-view.png
index c40e807a..c40e807a 100644
--- a/doc/fr/screenshots/list-view.png
+++ b/doc/fr_FR/screenshots/list-view.png
Binary files differ
diff --git a/doc/fr/screenshots/new-project.png b/doc/fr_FR/screenshots/new-project.png
index 42e5f196..42e5f196 100644
--- a/doc/fr/screenshots/new-project.png
+++ b/doc/fr_FR/screenshots/new-project.png
Binary files differ
diff --git a/doc/fr/screenshots/new-user.png b/doc/fr_FR/screenshots/new-user.png
index 116e9074..116e9074 100644
--- a/doc/fr/screenshots/new-user.png
+++ b/doc/fr_FR/screenshots/new-user.png
Binary files differ
diff --git a/doc/fr/screenshots/project-disable-sharing.png b/doc/fr_FR/screenshots/project-disable-sharing.png
index 58832045..58832045 100644
--- a/doc/fr/screenshots/project-disable-sharing.png
+++ b/doc/fr_FR/screenshots/project-disable-sharing.png
Binary files differ
diff --git a/doc/fr/screenshots/project-edition.png b/doc/fr_FR/screenshots/project-edition.png
index ce8594fe..ce8594fe 100644
--- a/doc/fr/screenshots/project-edition.png
+++ b/doc/fr_FR/screenshots/project-edition.png
Binary files differ
diff --git a/doc/fr/screenshots/project-enable-sharing.png b/doc/fr_FR/screenshots/project-enable-sharing.png
index 147ccc53..147ccc53 100644
--- a/doc/fr/screenshots/project-enable-sharing.png
+++ b/doc/fr_FR/screenshots/project-enable-sharing.png
Binary files differ
diff --git a/doc/fr/screenshots/project-permissions.png b/doc/fr_FR/screenshots/project-permissions.png
index 54f38690..54f38690 100644
--- a/doc/fr/screenshots/project-permissions.png
+++ b/doc/fr_FR/screenshots/project-permissions.png
Binary files differ
diff --git a/doc/fr/screenshots/project-view.png b/doc/fr_FR/screenshots/project-view.png
index ff9a7f76..ff9a7f76 100644
--- a/doc/fr/screenshots/project-view.png
+++ b/doc/fr_FR/screenshots/project-view.png
Binary files differ
diff --git a/doc/fr/screenshots/show-column.png b/doc/fr_FR/screenshots/show-column.png
index 51f78ac8..51f78ac8 100644
--- a/doc/fr/screenshots/show-column.png
+++ b/doc/fr_FR/screenshots/show-column.png
Binary files differ
diff --git a/doc/fr/screenshots/swimlane-configuration.png b/doc/fr_FR/screenshots/swimlane-configuration.png
index d0b25e9c..d0b25e9c 100644
--- a/doc/fr/screenshots/swimlane-configuration.png
+++ b/doc/fr_FR/screenshots/swimlane-configuration.png
Binary files differ
diff --git a/doc/fr/screenshots/swimlanes.png b/doc/fr_FR/screenshots/swimlanes.png
index e24a5b85..e24a5b85 100644
--- a/doc/fr/screenshots/swimlanes.png
+++ b/doc/fr_FR/screenshots/swimlanes.png
Binary files differ
diff --git a/doc/fr/sharing-projects.markdown b/doc/fr_FR/sharing-projects.markdown
index f3db3c68..f3db3c68 100644
--- a/doc/fr/sharing-projects.markdown
+++ b/doc/fr_FR/sharing-projects.markdown
diff --git a/doc/fr/subtasks.markdown b/doc/fr_FR/subtasks.markdown
index 02345c2a..02345c2a 100644
--- a/doc/fr/subtasks.markdown
+++ b/doc/fr_FR/subtasks.markdown
diff --git a/doc/fr/swimlanes.markdown b/doc/fr_FR/swimlanes.markdown
index 92b4a9fa..92b4a9fa 100644
--- a/doc/fr/swimlanes.markdown
+++ b/doc/fr_FR/swimlanes.markdown
diff --git a/doc/fr/task-links.markdown b/doc/fr_FR/task-links.markdown
index f2756ac7..f2756ac7 100644
--- a/doc/fr/task-links.markdown
+++ b/doc/fr_FR/task-links.markdown
diff --git a/doc/fr/time-tracking.markdown b/doc/fr_FR/time-tracking.markdown
index 625bc26f..625bc26f 100644
--- a/doc/fr/time-tracking.markdown
+++ b/doc/fr_FR/time-tracking.markdown
diff --git a/doc/fr/transitions.markdown b/doc/fr_FR/transitions.markdown
index 94a14bbc..94a14bbc 100644
--- a/doc/fr/transitions.markdown
+++ b/doc/fr_FR/transitions.markdown
diff --git a/doc/fr/usage-examples.markdown b/doc/fr_FR/usage-examples.markdown
index b91fa613..b91fa613 100644
--- a/doc/fr/usage-examples.markdown
+++ b/doc/fr_FR/usage-examples.markdown
diff --git a/doc/fr/user-management.markdown b/doc/fr_FR/user-management.markdown
index bb9b0731..bb9b0731 100644
--- a/doc/fr/user-management.markdown
+++ b/doc/fr_FR/user-management.markdown
diff --git a/doc/fr/what-is-kanban.markdown b/doc/fr_FR/what-is-kanban.markdown
index f479927c..f479927c 100644
--- a/doc/fr/what-is-kanban.markdown
+++ b/doc/fr_FR/what-is-kanban.markdown