[i18n] Fix activity tab and add pluralization ability to $translate service

stable
David Barragán Merino 2015-04-28 20:59:46 +02:00
parent 4fb5ae332b
commit c6d24ba4ff
9 changed files with 197 additions and 51 deletions

View File

@ -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

View File

@ -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])

View File

@ -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",

View File

@ -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": {

View File

@ -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",

View File

@ -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 %>

View File

@ -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 %>&nbsp;
strong(translate="COMMON.FROM")
br br
span <%- change.from %> span <%- change.from %>
p p
strong <%- change.name %> to strong <%- change.name %>&nbsp;
strong(translate="COMMON.TO")
br br
span <%- change.to %> span <%- change.to %>
<% }) %> <% }) %>

View File

@ -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 %>")

View File

@ -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",