[i18n] Fix activity tab and add pluralization ability to $translate service
parent
4fb5ae332b
commit
c6d24ba4ff
|
@ -236,6 +236,7 @@ configure = ($routeProvider, $locationProvider, $httpProvider, $provide, $tgEven
|
||||||
prefix: "/locales/locale-",
|
prefix: "/locales/locale-",
|
||||||
suffix: ".json"
|
suffix: ".json"
|
||||||
})
|
})
|
||||||
|
.addInterpolation('$translateMessageFormatInterpolation')
|
||||||
.preferredLanguage(window.taigaConfig.defaultLanguage || "en")
|
.preferredLanguage(window.taigaConfig.defaultLanguage || "en")
|
||||||
|
|
||||||
if not window.taigaConfig.debugInfo
|
if not window.taigaConfig.debugInfo
|
||||||
|
|
|
@ -96,25 +96,40 @@ HistoryDirective = ($log, $loading, $qqueue, $template, $confirm, $translate, $c
|
||||||
|
|
||||||
# Helpers
|
# Helpers
|
||||||
getHumanizedFieldName = (field) ->
|
getHumanizedFieldName = (field) ->
|
||||||
humanizedFieldNames = {}
|
humanizedFieldNames = {
|
||||||
|
subject : $translate.instant("ACTIVITY.FIELDS.SUBJECT")
|
||||||
# US
|
name: $translate.instant("ACTIVITY.FIELDS.NAME")
|
||||||
humanizedFieldNames.assigned_to = $translate.instant("COMMON.FIELDS.ASSIGNED_TO").toLowerCase()
|
description : $translate.instant("ACTIVITY.FIELDS.DESCRIPTION")
|
||||||
humanizedFieldNames.is_closed = $translate.instant("IS_CLOSED").toLowerCase()
|
content: $translate.instant("ACTIVITY.FIELDS.CONTENT")
|
||||||
humanizedFieldNames.finish_date = $translate.instant("US.FIELDS.FINISH_DATE").toLowerCase()
|
status: $translate.instant("ACTIVITY.FIELDS.STATUS")
|
||||||
humanizedFieldNames.client_repquirement = $translate.instant("US.FIELDS.CLIENT_REQUIREMENT").toLowerCase()
|
is_closed : $translate.instant("ACTIVITY.FIELDS.IS_CLOSED")
|
||||||
humanizedFieldNames.team_requirement = $translate.instant("US.FIELDS.TEAM_REQUIREMENT").toLowerCase()
|
finish_date : $translate.instant("ACTIVITY.FIELDS.FINISH_DATE")
|
||||||
|
type: $translate.instant("ACTIVITY.FIELDS.TYPE")
|
||||||
# Task
|
priority: $translate.instant("ACTIVITY.FIELDS.PRIORITY")
|
||||||
humanizedFieldNames.milestone = $translate.instant("TASK.FIELDS.MILESTONE").toLowerCase()
|
severity: $translate.instant("ACTIVITY.FIELDS.SEVERITY")
|
||||||
humanizedFieldNames.user_story = $translate.instant("TASK.FIELDS.USER_STORY").toLowerCase()
|
assigned_to : $translate.instant("ACTIVITY.FIELDS.ASSIGNED_TO")
|
||||||
humanizedFieldNames.is_iocaine = $translate.instant("TASK.FIELDS.IS_IOCAINE").toLowerCase()
|
watchers : $translate.instant("ACTIVITY.FIELDS.WATCHERS")
|
||||||
|
milestone : $translate.instant("ACTIVITY.FIELDS.MILESTONE")
|
||||||
# Attachment
|
user_story: $translate.instant("ACTIVITY.FIELDS.USER_STORY")
|
||||||
humanizedFieldNames.is_deprecated = $translate.instant("TASK.FIELDS.IS_IOCAINE").toLowerCase()
|
project: $translate.instant("ACTIVITY.FIELDS.PROJECT")
|
||||||
|
is_blocked: $translate.instant("ACTIVITY.FIELDS.IS_BLOCKED")
|
||||||
humanizedFieldNames.blocked_note = $translate.instant("TASK.FIELDS.IS_IOCAINE").toLowerCase()
|
blocked_note: $translate.instant("ACTIVITY.FIELDS.BLOCKED_NOTE")
|
||||||
humanizedFieldNames.is_blocked = $translate.instant("TASK.FIELDS.IS_BLOCKED").toLowerCase()
|
points: $translate.instant("ACTIVITY.FIELDS.POINTS")
|
||||||
|
client_requirement : $translate.instant("ACTIVITY.FIELDS.CLIENT_REQUIREMENT")
|
||||||
|
team_requirement : $translate.instant("ACTIVITY.FIELDS.TEAM_REQUIREMENT")
|
||||||
|
is_iocaine: $translate.instant("ACTIVITY.FIELDS.IS_IOCAINE")
|
||||||
|
tags: $translate.instant("ACTIVITY.FIELDS.TAGS")
|
||||||
|
attachments : $translate.instant("ACTIVITY.FIELDS.ATTACHMENTS")
|
||||||
|
is_deprecated: $translate.instant("ACTIVITY.FIELDS.IS_DEPRECATED")
|
||||||
|
blocked_note: $translate.instant("ACTIVITY.FIELDS.BLOCKED_NOTE")
|
||||||
|
is_blocked: $translate.instant("ACTIVITY.FIELDS.IS_BLOCKED")
|
||||||
|
order: $translate.instant("ACTIVITY.FIELDS.ORDER")
|
||||||
|
backlog_order: $translate.instant("ACTIVITY.FIELDS.BACKLOG_ORDER")
|
||||||
|
sprint_order: $translate.instant("ACTIVITY.FIELDS.SPRINT_ORDER")
|
||||||
|
kanban_order: $translate.instant("ACTIVITY.FIELDS.KANBAN_ORDER")
|
||||||
|
taskboard_order: $translate.instant("ACTIVITY.FIELDS.TASKBOARD_ORDER")
|
||||||
|
us_order: $translate.instant("ACTIVITY.FIELDS.US_ORDER")
|
||||||
|
}
|
||||||
|
|
||||||
return humanizedFieldNames[field] or field
|
return humanizedFieldNames[field] or field
|
||||||
|
|
||||||
|
@ -133,17 +148,17 @@ HistoryDirective = ($log, $loading, $qqueue, $template, $confirm, $translate, $c
|
||||||
formatChange = (change) ->
|
formatChange = (change) ->
|
||||||
if _.isArray(change)
|
if _.isArray(change)
|
||||||
if change.length == 0
|
if change.length == 0
|
||||||
return "empty"
|
return $translate.instant("ACTIVITY.VALUES.EMPTY")
|
||||||
return change.join(", ")
|
return change.join(", ")
|
||||||
|
|
||||||
if change == ""
|
if change == ""
|
||||||
return "empty"
|
return $translate.instant("ACTIVITY.VALUES.EMPTY")
|
||||||
|
|
||||||
if not change? or change == false
|
if not change? or change == false
|
||||||
return "no"
|
return $translate.instant("ACTIVITY.VALUES.NO")
|
||||||
|
|
||||||
if change == true
|
if change == true
|
||||||
return "yes"
|
return $translate.instant("ACTIVITY.VALUES.YES")
|
||||||
|
|
||||||
return change
|
return change
|
||||||
|
|
||||||
|
@ -153,20 +168,26 @@ HistoryDirective = ($log, $loading, $qqueue, $template, $confirm, $translate, $c
|
||||||
attachments = _.map value, (changes, type) ->
|
attachments = _.map value, (changes, type) ->
|
||||||
if type == "new"
|
if type == "new"
|
||||||
return _.map changes, (change) ->
|
return _.map changes, (change) ->
|
||||||
return templateChangeDiff({name: $translate.instant("ACTIVITY.NEW_ATTACHMENT"), diff: change.filename})
|
return templateChangeDiff({
|
||||||
|
name: $translate.instant("ACTIVITY.NEW_ATTACHMENT"),
|
||||||
|
diff: change.filename
|
||||||
|
})
|
||||||
else if type == "deleted"
|
else if type == "deleted"
|
||||||
return _.map changes, (change) ->
|
return _.map changes, (change) ->
|
||||||
return templateChangeDiff({name: $translate.instant("ACTIVITY.DELETED_ATTACHMENT"), diff: change.filename})
|
return templateChangeDiff({
|
||||||
|
name: $translate.instant("ACTIVITY.DELETED_ATTACHMENT"),
|
||||||
|
diff: change.filename
|
||||||
|
})
|
||||||
else
|
else
|
||||||
return _.map changes, (change) ->
|
return _.map changes, (change) ->
|
||||||
name = $tranlsate.instant("ACTIVITY.UPDATED_ATTACHMENT", {filename: change.filename})
|
name = $translate.instant("ACTIVITY.UPDATED_ATTACHMENT", {filename: change.filename})
|
||||||
|
|
||||||
diff = _.map change.changes, (values, name) ->
|
diff = _.map change.changes, (values, name) ->
|
||||||
return {
|
return {
|
||||||
name: getHumanizedFieldName(name)
|
name: getHumanizedFieldName(name)
|
||||||
from: formatChange(values[0])
|
from: formatChange(values[0])
|
||||||
to: formatChange(values[1])
|
to: formatChange(values[1])
|
||||||
}
|
}
|
||||||
|
|
||||||
return templateChangeAttachment({name: name, diff: diff})
|
return templateChangeAttachment({name: name, diff: diff})
|
||||||
|
|
||||||
|
@ -229,8 +250,8 @@ HistoryDirective = ($log, $loading, $qqueue, $template, $confirm, $translate, $c
|
||||||
return html[0].outerHTML
|
return html[0].outerHTML
|
||||||
else if field == "assigned_to"
|
else if field == "assigned_to"
|
||||||
name = getHumanizedFieldName(field)
|
name = getHumanizedFieldName(field)
|
||||||
from = formatChange(value[0] or "Unassigned")
|
from = formatChange(value[0] or $translate.instant("ACTIVITY.VALUES.UNASSIGNED"))
|
||||||
to = formatChange(value[1] or "Unassigned")
|
to = formatChange(value[1] or $translate.instant("ACTIVITY.VALUES.UNASSIGNED"))
|
||||||
return templateChangeGeneric({name:name, from:from, to: to})
|
return templateChangeGeneric({name:name, from:from, to: to})
|
||||||
else
|
else
|
||||||
name = getHumanizedFieldName(field)
|
name = getHumanizedFieldName(field)
|
||||||
|
@ -243,8 +264,7 @@ HistoryDirective = ($log, $loading, $qqueue, $template, $confirm, $translate, $c
|
||||||
|
|
||||||
renderChangesHelperText = (change) ->
|
renderChangesHelperText = (change) ->
|
||||||
size = countChanges(change)
|
size = countChanges(change)
|
||||||
|
return $translate.instant("ACTIVITY.SIZE_CHANGE", {size: size}, 'messageformat')
|
||||||
return $translate.instant("ACTIVITY.SIZE_CHANGE", {size: size})
|
|
||||||
|
|
||||||
renderComment = (comment) ->
|
renderComment = (comment) ->
|
||||||
if (comment.delete_comment_date or comment.delete_comment_user?.name)
|
if (comment.delete_comment_date or comment.delete_comment_user?.name)
|
||||||
|
@ -253,7 +273,8 @@ HistoryDirective = ($log, $loading, $qqueue, $template, $confirm, $translate, $c
|
||||||
deleteCommentUser: comment.delete_comment_user.name
|
deleteCommentUser: comment.delete_comment_user.name
|
||||||
deleteComment: comment.comment_html
|
deleteComment: comment.comment_html
|
||||||
activityId: comment.id
|
activityId: comment.id
|
||||||
canRestoreComment: comment.delete_comment_user.pk == $scope.user.id or $scope.project.my_permissions.indexOf("modify_project") > -1
|
canRestoreComment: (comment.delete_comment_user.pk == $scope.user.id or
|
||||||
|
$scope.project.my_permissions.indexOf("modify_project") > -1)
|
||||||
})
|
})
|
||||||
|
|
||||||
html = $compile(html)($scope)
|
html = $compile(html)($scope)
|
||||||
|
@ -428,4 +449,5 @@ HistoryDirective = ($log, $loading, $qqueue, $template, $confirm, $translate, $c
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
module.directive("tgHistory", ["$log", "$tgLoading", "$tgQqueue", "$tgTemplate", "$tgConfirm", "$translate", "$compile", HistoryDirective])
|
module.directive("tgHistory", ["$log", "$tgLoading", "$tgQqueue", "$tgTemplate", "$tgConfirm", "$translate",
|
||||||
|
"$compile", HistoryDirective])
|
||||||
|
|
|
@ -565,7 +565,7 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"COMMENTS": {
|
"COMMENTS": {
|
||||||
"DELETED_INFO": "Comment deleted by {{deleteCommentUser}} on {{deleteCommentDate}}",
|
"DELETED_INFO": "Comment deleted by {{user}} on {{date}}",
|
||||||
"TITLE": "Comments",
|
"TITLE": "Comments",
|
||||||
"COMMENT": "Comment",
|
"COMMENT": "Comment",
|
||||||
"TYPE_NEW_COMMENT": "Type a new comment here",
|
"TYPE_NEW_COMMENT": "Type a new comment here",
|
||||||
|
@ -584,7 +584,45 @@
|
||||||
"DELETED_ATTACHMENT": "deleted attachment",
|
"DELETED_ATTACHMENT": "deleted attachment",
|
||||||
"UPDATED_ATTACHMENT": "updated attachment {{filename}}",
|
"UPDATED_ATTACHMENT": "updated attachment {{filename}}",
|
||||||
"DELETED_CUSTOM_ATTRIBUTE": "deleted custom attribute",
|
"DELETED_CUSTOM_ATTRIBUTE": "deleted custom attribute",
|
||||||
"SIZE_CHANGE": "Made {{size}} {size, plural, one{change} other{changes}}"
|
"SIZE_CHANGE": "Made {size, plural, one{one change} other{# changes}}",
|
||||||
|
"VALUES": {
|
||||||
|
"YES": "yes",
|
||||||
|
"NO": "no",
|
||||||
|
"EMPTY": "empty",
|
||||||
|
"UNASSIGNED": "unassigned"
|
||||||
|
},
|
||||||
|
"FIELDS": {
|
||||||
|
"SUBJECT" : "subject",
|
||||||
|
"NAME": "name",
|
||||||
|
"DESCRIPTION" : "description",
|
||||||
|
"CONTENT": "content",
|
||||||
|
"STATUS": "status",
|
||||||
|
"IS_CLOSED" : "is closed",
|
||||||
|
"FINISH_DATE" : "finish date",
|
||||||
|
"TYPE": "type",
|
||||||
|
"PRIORITY": "priority",
|
||||||
|
"SEVERITY": "severity",
|
||||||
|
"ASSIGNED_TO" : "assigned to",
|
||||||
|
"WATCHERS" : "watchers",
|
||||||
|
"MILESTONE" : "sprint",
|
||||||
|
"USER_STORY": "user story",
|
||||||
|
"PROJECT": "project",
|
||||||
|
"IS_BLOCKED": "is blocked",
|
||||||
|
"BLOCKED_NOTE": "blocked note",
|
||||||
|
"POINTS": "points",
|
||||||
|
"CLIENT_REQUIREMENT" : "client requirement",
|
||||||
|
"TEAM_REQUIREMENT" : "team requirement",
|
||||||
|
"IS_IOCAINE": "is iocaine",
|
||||||
|
"TAGS": "tags",
|
||||||
|
"ATTACHMENTS" : "attachments",
|
||||||
|
"IS_DEPRECATED": "is deprecated",
|
||||||
|
"ORDER" : "order",
|
||||||
|
"BACKLOG_ORDER" : "backlog order",
|
||||||
|
"SPRINT_ORDER" : "sprint order",
|
||||||
|
"KANBAN_ORDER" : "kanban order",
|
||||||
|
"TASKBOARD_ORDER" : "taskboard order",
|
||||||
|
"US_ORDER" : "us order"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"BACKLOG": {
|
"BACKLOG": {
|
||||||
"SECTION_NAME": "Backlog",
|
"SECTION_NAME": "Backlog",
|
||||||
|
|
|
@ -563,7 +563,7 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"COMMENTS": {
|
"COMMENTS": {
|
||||||
"DELETED_INFO": "Comentario borrado por {{deleteCommentUser}} el {{deleteCommentDate}}",
|
"DELETED_INFO": "Comentario borrado por {{user}} el {{date}}",
|
||||||
"TITLE": "Comentarios",
|
"TITLE": "Comentarios",
|
||||||
"COMMENT": "Comentar",
|
"COMMENT": "Comentar",
|
||||||
"TYPE_NEW_COMMENT": "Escribe un nuevo comentario aquí",
|
"TYPE_NEW_COMMENT": "Escribe un nuevo comentario aquí",
|
||||||
|
@ -576,13 +576,51 @@
|
||||||
"SHOW_MORE": "+ Ver entradas anteriores ({{showMore}} más)",
|
"SHOW_MORE": "+ Ver entradas anteriores ({{showMore}} más)",
|
||||||
"TITLE": "Actividad",
|
"TITLE": "Actividad",
|
||||||
"REMOVED": "borrado",
|
"REMOVED": "borrado",
|
||||||
"ADDED": "Agregado",
|
"ADDED": "agregado",
|
||||||
"US_POINTS": "Puntos de historia ({{name}})",
|
"US_POINTS": "Puntos de historia ({{name}})",
|
||||||
"NEW_ATTACHMENT": "nuevo adjunto",
|
"NEW_ATTACHMENT": "nuevo adjunto",
|
||||||
"DELETED_ATTACHMENT": "adjunto eliminado",
|
"DELETED_ATTACHMENT": "adjunto eliminado",
|
||||||
"UPDATED_ATTACHMENT": "Adjunto {{filename}} actualizado",
|
"UPDATED_ATTACHMENT": "Adjunto {{filename}} actualizado",
|
||||||
"DELETED_CUSTOM_ATTRIBUTE": "eliminar atributos personalizados",
|
"DELETED_CUSTOM_ATTRIBUTE": "eliminar atributos personalizados",
|
||||||
"SIZE_CHANGE": "Hechos {{size}} {size, plural, one{cambio} other{cambios}}\n"
|
"SIZE_CHANGE": "{size, plural, one{Un cambio} other{# cambios}} realizados\n",
|
||||||
|
"VALUES": {
|
||||||
|
"YES": "sí",
|
||||||
|
"NO": "no",
|
||||||
|
"EMPTY": "vacío",
|
||||||
|
"UNASSIGNED": "sin asignar"
|
||||||
|
},
|
||||||
|
"FIELDS": {
|
||||||
|
"SUBJECT": "asunto",
|
||||||
|
"NAME": "nombre",
|
||||||
|
"DESCRIPTION": "descripción",
|
||||||
|
"CONTENT": "contenido",
|
||||||
|
"STATUS": "estado",
|
||||||
|
"IS_CLOSED": "está cerrada",
|
||||||
|
"FINISH_DATE": "fecha de finalización",
|
||||||
|
"TYPE": "tipo",
|
||||||
|
"PRIORITY": "prioridad",
|
||||||
|
"SEVERITY": "gravedad",
|
||||||
|
"ASSIGNED_TO": "asignado a",
|
||||||
|
"WATCHERS": "observadores",
|
||||||
|
"MILESTONE": "sprint",
|
||||||
|
"USER_STORY": "historia de usuario",
|
||||||
|
"PROJECT": "proyecto",
|
||||||
|
"IS_BLOCKED": "está bloqueada",
|
||||||
|
"BLOCKED_NOTE": "motivo del bloqueo",
|
||||||
|
"POINTS": "puntos",
|
||||||
|
"CLIENT_REQUIREMENT": "requerido por el cliente",
|
||||||
|
"TEAM_REQUIREMENT": "requerido por el equipo",
|
||||||
|
"IS_IOCAINE": "tiene iocaína",
|
||||||
|
"TAGS": "etiquetas",
|
||||||
|
"ATTACHMENTS": "adjuntos",
|
||||||
|
"IS_DEPRECATED": "está desactualizado",
|
||||||
|
"ORDER": "orden",
|
||||||
|
"BACKLOG_ORDER": "orden en backlog",
|
||||||
|
"SPRINT_ORDER": "orden en sprint",
|
||||||
|
"KANBAN_ORDER": "orden en kanban",
|
||||||
|
"TASKBOARD_ORDER": "orden en panel de tareras",
|
||||||
|
"US_ORDER": "orden en historia"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"BACKLOG": {
|
"BACKLOG": {
|
||||||
"SECTION_NAME": "Backlog",
|
"SECTION_NAME": "Backlog",
|
||||||
|
@ -662,7 +700,7 @@
|
||||||
"TASKBOARD": {
|
"TASKBOARD": {
|
||||||
"SECTION_NAME": "Panel de Tareas",
|
"SECTION_NAME": "Panel de Tareas",
|
||||||
"TITLE_ACTION_ADD": "Añade una nueva tarea",
|
"TITLE_ACTION_ADD": "Añade una nueva tarea",
|
||||||
"TITLE_ACTION_ADD_BULK": "Añadir nuevas Tareas en bloque",
|
"TITLE_ACTION_ADD_BULK": "Añadir nuevas tareas en bloque",
|
||||||
"TITLE_ACTION_ASSIGN": "Asignar tarea",
|
"TITLE_ACTION_ASSIGN": "Asignar tarea",
|
||||||
"TITLE_ACTION_EDIT": "Editar tarea",
|
"TITLE_ACTION_EDIT": "Editar tarea",
|
||||||
"TABLE": {
|
"TABLE": {
|
||||||
|
|
|
@ -129,21 +129,21 @@
|
||||||
"DELETE_SPRINTS": "Delete sprints"
|
"DELETE_SPRINTS": "Delete sprints"
|
||||||
},
|
},
|
||||||
"USER_STORIES": {
|
"USER_STORIES": {
|
||||||
"NAME": "User Stories",
|
"NAME": "Histoires Utilisateur",
|
||||||
"VIEW_USER_STORIES": "View user stories",
|
"VIEW_USER_STORIES": "View user stories",
|
||||||
"ADD_USER_STORIES": "Add user stories",
|
"ADD_USER_STORIES": "Add user stories",
|
||||||
"MODIFY_USER_STORIES": "Modify user stories",
|
"MODIFY_USER_STORIES": "Modify user stories",
|
||||||
"DELETE_USER_STORIES": "Delete user stories"
|
"DELETE_USER_STORIES": "Delete user stories"
|
||||||
},
|
},
|
||||||
"TASKS": {
|
"TASKS": {
|
||||||
"NAME": "Tasks",
|
"NAME": "Tâches",
|
||||||
"VIEW_TASKS": "View tasks",
|
"VIEW_TASKS": "View tasks",
|
||||||
"ADD_TASKS": "Add tasks",
|
"ADD_TASKS": "Add tasks",
|
||||||
"MODIFY_TASKS": "Modify tasks",
|
"MODIFY_TASKS": "Modify tasks",
|
||||||
"DELETE_TASKS": "Delete tasks"
|
"DELETE_TASKS": "Delete tasks"
|
||||||
},
|
},
|
||||||
"ISSUES": {
|
"ISSUES": {
|
||||||
"NAME": "Issues",
|
"NAME": "Problèmes",
|
||||||
"VIEW_ISSUES": "View issues",
|
"VIEW_ISSUES": "View issues",
|
||||||
"ADD_ISSUES": "Add issues",
|
"ADD_ISSUES": "Add issues",
|
||||||
"MODIFY_ISSUES": "Modify issues",
|
"MODIFY_ISSUES": "Modify issues",
|
||||||
|
@ -563,7 +563,7 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"COMMENTS": {
|
"COMMENTS": {
|
||||||
"DELETED_INFO": "Commentaire supprimé par {{deleteCommentUser}} on {{deleteCommentDate}}",
|
"DELETED_INFO": "Commentaire supprimé par {{user}} on {{date}}\n",
|
||||||
"TITLE": "Commentaires",
|
"TITLE": "Commentaires",
|
||||||
"COMMENT": "Commentaire",
|
"COMMENT": "Commentaire",
|
||||||
"TYPE_NEW_COMMENT": "Entrez un nouveau commentaire ici",
|
"TYPE_NEW_COMMENT": "Entrez un nouveau commentaire ici",
|
||||||
|
@ -582,7 +582,45 @@
|
||||||
"DELETED_ATTACHMENT": "Pièce-jointe supprimée",
|
"DELETED_ATTACHMENT": "Pièce-jointe supprimée",
|
||||||
"UPDATED_ATTACHMENT": "Pièce jointe {{filename}} modifiée",
|
"UPDATED_ATTACHMENT": "Pièce jointe {{filename}} modifiée",
|
||||||
"DELETED_CUSTOM_ATTRIBUTE": "Attribut personnalisé supprimé",
|
"DELETED_CUSTOM_ATTRIBUTE": "Attribut personnalisé supprimé",
|
||||||
"SIZE_CHANGE": "Made {{size}} {size, plural, one{change} other{changes}}"
|
"SIZE_CHANGE": "Made {size, plural, one{one change} other{# changes}}",
|
||||||
|
"VALUES": {
|
||||||
|
"YES": "oui",
|
||||||
|
"NO": "no",
|
||||||
|
"EMPTY": "empty",
|
||||||
|
"UNASSIGNED": "non affecté"
|
||||||
|
},
|
||||||
|
"FIELDS": {
|
||||||
|
"SUBJECT": "sujet",
|
||||||
|
"NAME": "nom",
|
||||||
|
"DESCRIPTION": "description",
|
||||||
|
"CONTENT": "content",
|
||||||
|
"STATUS": "état",
|
||||||
|
"IS_CLOSED": "is closed",
|
||||||
|
"FINISH_DATE": "date de fin",
|
||||||
|
"TYPE": "type",
|
||||||
|
"PRIORITY": "priorité",
|
||||||
|
"SEVERITY": "sévérité",
|
||||||
|
"ASSIGNED_TO": "affecté à",
|
||||||
|
"WATCHERS": "observateurs",
|
||||||
|
"MILESTONE": "sprint",
|
||||||
|
"USER_STORY": "histoire utilisateur",
|
||||||
|
"PROJECT": "projet",
|
||||||
|
"IS_BLOCKED": "est bloqué",
|
||||||
|
"BLOCKED_NOTE": "note bloquée",
|
||||||
|
"POINTS": "points",
|
||||||
|
"CLIENT_REQUIREMENT": "exigence du client",
|
||||||
|
"TEAM_REQUIREMENT": "exigence de l'équipe",
|
||||||
|
"IS_IOCAINE": "est sous iocaine",
|
||||||
|
"TAGS": "étiquettes",
|
||||||
|
"ATTACHMENTS": "pièces jointes",
|
||||||
|
"IS_DEPRECATED": "est obsolète",
|
||||||
|
"ORDER": "order",
|
||||||
|
"BACKLOG_ORDER": "backlog order",
|
||||||
|
"SPRINT_ORDER": "sprint order",
|
||||||
|
"KANBAN_ORDER": "kanban order",
|
||||||
|
"TASKBOARD_ORDER": "taskboard order",
|
||||||
|
"US_ORDER": "us order"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"BACKLOG": {
|
"BACKLOG": {
|
||||||
"SECTION_NAME": "Backlog",
|
"SECTION_NAME": "Backlog",
|
||||||
|
|
|
@ -12,7 +12,8 @@ div(class!="activity-single <%- mode %>")
|
||||||
<% if (comment.length > 0) { %>
|
<% if (comment.length > 0) { %>
|
||||||
<% if ((deleteCommentDate || deleteCommentUser)) { %>
|
<% if ((deleteCommentDate || deleteCommentUser)) { %>
|
||||||
.deleted-comment
|
.deleted-comment
|
||||||
span(translate="COMMENTS.DELETED_INFO", translate-values!="{ deleteCommentUser: '<%- deleteCommentUser %>', deleteCommentDate: '<% deleteCommentDate %>'}")
|
span(translate="COMMENTS.DELETED_INFO",
|
||||||
|
translate-values!="{ user: '<%- deleteCommentUser %>', date: '<% deleteCommentDate %>'}")
|
||||||
<% } %>
|
<% } %>
|
||||||
.comment.wysiwyg
|
.comment.wysiwyg
|
||||||
| <%= comment %>
|
| <%= comment %>
|
||||||
|
|
|
@ -4,11 +4,13 @@
|
||||||
.activity-fromto
|
.activity-fromto
|
||||||
<% _.each(diff, function(change) { %>
|
<% _.each(diff, function(change) { %>
|
||||||
p
|
p
|
||||||
strong <%- change.name %> from
|
strong <%- change.name %>
|
||||||
|
strong(translate="COMMON.FROM")
|
||||||
br
|
br
|
||||||
span <%- change.from %>
|
span <%- change.from %>
|
||||||
p
|
p
|
||||||
strong <%- change.name %> to
|
strong <%- change.name %>
|
||||||
|
strong(translate="COMMON.TO")
|
||||||
br
|
br
|
||||||
span <%- change.to %>
|
span <%- change.to %>
|
||||||
<% }) %>
|
<% }) %>
|
||||||
|
|
|
@ -1,8 +1,11 @@
|
||||||
.activity-single.comment.deleted-comment
|
.activity-single.comment.deleted-comment
|
||||||
div
|
div
|
||||||
span(translate="COMMENTS.DELETED_INFO", translate-values!="{deleteCommentUser: '<%- deleteCommentUser %>', deleteCommentDate: '<%- deleteCommentDate %>'}")
|
span(translate="COMMENTS.DELETED_INFO",
|
||||||
a(href="", title="{{'COMMENTS.SHOW_DELETED' | translate}}", class="show-deleted-comment", translate="COMMENTS.SHOW_DELETED")
|
translate-values!="{user: '<%- deleteCommentUser %>', date: '<%- deleteCommentDate %>'}")
|
||||||
a(href="", title="{{'COMMENTS.HIDE_DELETED' | translate}}", class="hide-deleted-comment hidden", translate="COMMENTS.HIDE_DELETED")
|
a(href="", title="{{'COMMENTS.SHOW_DELETED' | translate}}",
|
||||||
|
class="show-deleted-comment", translate="COMMENTS.SHOW_DELETED")
|
||||||
|
a(href="", title="{{'COMMENTS.HIDE_DELETED' | translate}}",
|
||||||
|
class="hide-deleted-comment hidden", translate="COMMENTS.HIDE_DELETED")
|
||||||
.comment-body.wysiwyg <%= deleteComment %>
|
.comment-body.wysiwyg <%= deleteComment %>
|
||||||
<% if (canRestoreComment) { %>
|
<% if (canRestoreComment) { %>
|
||||||
a(href="", class="comment-restore", data-activity-id!="<%- activityId %>")
|
a(href="", class="comment-restore", data-activity-id!="<%- activityId %>")
|
||||||
|
|
|
@ -113,15 +113,17 @@ paths.coffee_order = [
|
||||||
|
|
||||||
paths.libs = [
|
paths.libs = [
|
||||||
paths.vendor + "jquery/dist/jquery.js",
|
paths.vendor + "jquery/dist/jquery.js",
|
||||||
paths.vendor + "/lodash/dist/lodash.js",
|
paths.vendor + "lodash/dist/lodash.js",
|
||||||
paths.vendor + "emoticons/lib/emoticons.js",
|
paths.vendor + "emoticons/lib/emoticons.js",
|
||||||
paths.vendor + "underscore.string/lib/underscore.string.js",
|
paths.vendor + "underscore.string/lib/underscore.string.js",
|
||||||
|
paths.vendor + "messageformat/messageformat.js",
|
||||||
paths.vendor + "angular/angular.js",
|
paths.vendor + "angular/angular.js",
|
||||||
paths.vendor + "angular-route/angular-route.js",
|
paths.vendor + "angular-route/angular-route.js",
|
||||||
paths.vendor + "angular-sanitize/angular-sanitize.js",
|
paths.vendor + "angular-sanitize/angular-sanitize.js",
|
||||||
paths.vendor + "angular-animate/angular-animate.js",
|
paths.vendor + "angular-animate/angular-animate.js",
|
||||||
paths.vendor + "angular-translate/angular-translate.js",
|
paths.vendor + "angular-translate/angular-translate.js",
|
||||||
paths.vendor + "angular-translate-loader-static-files/angular-translate-loader-static-files.js",
|
paths.vendor + "angular-translate-loader-static-files/angular-translate-loader-static-files.js",
|
||||||
|
paths.vendor + "angular-translate-interpolation-messageformat/angular-translate-interpolation-messageformat.js",
|
||||||
paths.vendor + "i18next/i18next.js",
|
paths.vendor + "i18next/i18next.js",
|
||||||
paths.vendor + "moment/min/moment-with-langs.js",
|
paths.vendor + "moment/min/moment-with-langs.js",
|
||||||
paths.vendor + "checksley/checksley.js",
|
paths.vendor + "checksley/checksley.js",
|
||||||
|
@ -136,6 +138,7 @@ paths.libs = [
|
||||||
paths.vendor + "malihu-custom-scrollbar-plugin/jquery.mCustomScrollbar.concat.min.js",
|
paths.vendor + "malihu-custom-scrollbar-plugin/jquery.mCustomScrollbar.concat.min.js",
|
||||||
paths.vendor + "raven-js/dist/raven.js",
|
paths.vendor + "raven-js/dist/raven.js",
|
||||||
paths.vendor + "l.js/l.js",
|
paths.vendor + "l.js/l.js",
|
||||||
|
paths.vendor + "messageformat/locale/*.js",
|
||||||
paths.app + "js/jquery.ui.git-custom.js",
|
paths.app + "js/jquery.ui.git-custom.js",
|
||||||
paths.app + "js/jquery-ui.drag-multiple-custom.js",
|
paths.app + "js/jquery-ui.drag-multiple-custom.js",
|
||||||
paths.app + "js/jquery.ui.touch-punch.min.js",
|
paths.app + "js/jquery.ui.touch-punch.min.js",
|
||||||
|
|
Loading…
Reference in New Issue