diff --git a/app/coffee/app.coffee b/app/coffee/app.coffee
index 008382a4..c8f666f0 100644
--- a/app/coffee/app.coffee
+++ b/app/coffee/app.coffee
@@ -36,7 +36,8 @@ taiga.generateUniqueSessionIdentifier = ->
taiga.sessionId = taiga.generateUniqueSessionIdentifier()
-configure = ($routeProvider, $locationProvider, $httpProvider, $provide, $tgEventsProvider, tgLoaderProvider, $compileProvider, $translateProvider) ->
+configure = ($routeProvider, $locationProvider, $httpProvider, $provide, $tgEventsProvider, tgLoaderProvider,
+ $compileProvider, $translateProvider) ->
$routeProvider.when("/",
{templateUrl: "project/projects.html", resolve: {loader: tgLoaderProvider.add()}})
@@ -231,16 +232,19 @@ configure = ($routeProvider, $locationProvider, $httpProvider, $provide, $tgEven
$compileProvider.debugInfoEnabled(window.taigaConfig.debugInfo || false)
+ preferedLangCode = window.taigaConfig.defaultLanguage || "en"
$translateProvider
.useStaticFilesLoader({
prefix: "/locales/locale-",
suffix: ".json"
})
.addInterpolation('$translateMessageFormatInterpolation')
- .preferredLanguage(window.taigaConfig.defaultLanguage || "en")
+ .preferredLanguage(preferedLangCode)
if not window.taigaConfig.debugInfo
- $translateProvider.fallbackLanguage([window.taigaConfig.defaultLanguage || "en"])
+ $translateProvider.fallbackLanguage(preferedLangCode)
+
+ moment.lang(preferedLangCode)
init = ($log, $config, $rootscope, $auth, $events, $analytics, $translate) ->
diff --git a/app/coffee/modules/auth.coffee b/app/coffee/modules/auth.coffee
index 70d4c4ab..1cd8d4d9 100644
--- a/app/coffee/modules/auth.coffee
+++ b/app/coffee/modules/auth.coffee
@@ -34,9 +34,10 @@ class AuthService extends taiga.Service
"$tgModel",
"$tgResources",
"$tgHttp",
- "$tgUrls"]
+ "$tgUrls",
+ "$translate"]
- constructor: (@rootscope, @storage, @model, @rs, @http, @urls) ->
+ constructor: (@rootscope, @storage, @model, @rs, @http, @urls, @translate) ->
super()
getUser: ->
@@ -56,6 +57,10 @@ class AuthService extends taiga.Service
@storage.set("userInfo", user.getAttrs())
@rootscope.user = user
+ if @rootscope.user.lang
+ @translate.use(@rootscope.user.lang)
+ moment.lang(@rootscope.user.lang)
+
clear: ->
@rootscope.auth = null
@rootscope.user = null
diff --git a/app/coffee/modules/backlog/lightboxes.coffee b/app/coffee/modules/backlog/lightboxes.coffee
index d5b60f48..ed267727 100644
--- a/app/coffee/modules/backlog/lightboxes.coffee
+++ b/app/coffee/modules/backlog/lightboxes.coffee
@@ -33,6 +33,7 @@ CreateEditSprint = ($repo, $confirm, $rs, $rootscope, lightboxService, $loading,
link = ($scope, $el, attrs) ->
hasErrors = false
createSprint = true
+ prettyDate = $translate.instant("BACKLOG.SPRINTS.DATE")
$scope.sprint = {
project: null
@@ -117,18 +118,19 @@ CreateEditSprint = ($repo, $confirm, $rs, $rootscope, lightboxService, $loading,
estimatedStart = moment($scope.sprint.estimated_start)
else if lastSprint?
estimatedStart = moment(lastSprint.estimated_finish)
- $scope.sprint.estimated_start = estimatedStart.format("DD MMM YYYY")
+ $scope.sprint.estimated_start = estimatedStart.format(prettyDate)
estimatedFinish = moment().add(2, "weeks")
if $scope.sprint.estimated_finish
estimatedFinish = moment($scope.sprint.estimated_finish)
else if lastSprint?
estimatedFinish = moment(lastSprint.estimated_finish).add(2, "weeks")
- $scope.sprint.estimated_finish = estimatedFinish.format("DD MMM YYYY")
+ $scope.sprint.estimated_finish = estimatedFinish.format(prettyDate)
lastSprintNameDom = $el.find(".last-sprint-name")
if lastSprint?.name?
- text = $translate.instant("LIGHTBOX.ADD_EDIT_SPRINT.LAST_SPRINT_NAME", {"lastSprint": lastSprint.name})
+ text = $translate.instant("LIGHTBOX.ADD_EDIT_SPRINT.LAST_SPRINT_NAME", {
+ lastSprint: lastSprint.name})
lastSprintNameDom.html(text)
$el.find(".delete-sprint").addClass("hidden")
@@ -147,8 +149,8 @@ CreateEditSprint = ($repo, $confirm, $rs, $rootscope, lightboxService, $loading,
createSprint = false
$scope.$apply ->
$scope.sprint = sprint
- $scope.sprint.estimated_start = moment($scope.sprint.estimated_start).format("DD MMM YYYY")
- $scope.sprint.estimated_finish = moment($scope.sprint.estimated_finish).format("DD MMM YYYY")
+ $scope.sprint.estimated_start = moment($scope.sprint.estimated_start).format(prettyDate)
+ $scope.sprint.estimated_finish = moment($scope.sprint.estimated_finish).format(prettyDate)
$el.find(".delete-sprint").removeClass("hidden")
diff --git a/app/coffee/modules/backlog/sprints.coffee b/app/coffee/modules/backlog/sprints.coffee
index 572f40ab..09127a7d 100644
--- a/app/coffee/modules/backlog/sprints.coffee
+++ b/app/coffee/modules/backlog/sprints.coffee
@@ -85,10 +85,12 @@ module.directive("tgBacklogSprint", ["$tgRepo", "$rootScope", BacklogSprintDirec
## Sprint Header Directive
#############################################################################
-BacklogSprintHeaderDirective = ($navUrls, $template, $compile) ->
+BacklogSprintHeaderDirective = ($navUrls, $template, $compile, $translate) ->
template = $template.get("backlog/sprint-header.html")
link = ($scope, $el, $attrs, $model) ->
+ prettyDate = $translate.instant("BACKLOG.SPRINTS.DATE")
+
isEditable = ->
return $scope.project.my_permissions.indexOf("modify_milestone") != -1
@@ -99,8 +101,8 @@ BacklogSprintHeaderDirective = ($navUrls, $template, $compile) ->
taskboardUrl = $navUrls.resolve("project-taskboard",
{project: $scope.project.slug, sprint: sprint.slug})
- start = moment(sprint.estimated_start).format("DD MMM YYYY")
- finish = moment(sprint.estimated_finish).format("DD MMM YYYY")
+ start = moment(sprint.estimated_start).format(prettyDate)
+ finish = moment(sprint.estimated_finish).format(prettyDate)
estimatedDateRange = "#{start}-#{finish}"
ctx = {
@@ -135,7 +137,9 @@ BacklogSprintHeaderDirective = ($navUrls, $template, $compile) ->
require: "ngModel"
}
-module.directive("tgBacklogSprintHeader", ["$tgNavUrls", "$tgTemplate", "$compile", BacklogSprintHeaderDirective])
+module.directive("tgBacklogSprintHeader", ["$tgNavUrls", "$tgTemplate", "$compile", "$translate"
+ BacklogSprintHeaderDirective])
+
#############################################################################
## Toggle Closed Sprints Directive
@@ -178,4 +182,5 @@ ToggleExcludeClosedSprintsVisualization = ($rootscope, $loading, $translate) ->
return {link: link}
-module.directive("tgBacklogToggleClosedSprintsVisualization", ["$rootScope", "$tgLoading", "$translate", ToggleExcludeClosedSprintsVisualization])
+module.directive("tgBacklogToggleClosedSprintsVisualization", ["$rootScope", "$tgLoading", "$translate",
+ ToggleExcludeClosedSprintsVisualization])
diff --git a/app/coffee/modules/common/components.coffee b/app/coffee/modules/common/components.coffee
index a9a19965..43032c63 100644
--- a/app/coffee/modules/common/components.coffee
+++ b/app/coffee/modules/common/components.coffee
@@ -29,10 +29,11 @@ module = angular.module("taigaCommon")
## Date Range Directive (used mainly for sprint date range)
#############################################################################
-DateRangeDirective = ->
+DateRangeDirective = ($translate) ->
renderRange = ($el, first, second) ->
- initDate = moment(first).format("DD MMM YYYY")
- endDate = moment(second).format("DD MMM YYYY")
+ prettyDate = $translate.instant("BACKLOG.SPRINTS.DATE")
+ initDate = moment(first).format(prettyDate)
+ endDate = moment(second).format(prettyDate)
$el.html("#{initDate}-#{endDate}")
link = ($scope, $el, $attrs) ->
@@ -44,19 +45,19 @@ DateRangeDirective = ->
return {link:link}
-module.directive("tgDateRange", DateRangeDirective)
+module.directive("tgDateRange", ["$translate", DateRangeDirective])
#############################################################################
## Date Selector Directive (using pikaday)
#############################################################################
-DateSelectorDirective =->
+DateSelectorDirective = ($translate) ->
link = ($scope, $el, $attrs, $model) ->
selectedDate = null
$el.picker = new Pikaday({
field: $el[0]
- format: "DD MMM YYYY"
+ format: $translate.instant("COMMON.DATE")
onSelect: (date) =>
selectedDate = date
onOpen: =>
@@ -71,7 +72,7 @@ DateSelectorDirective =->
require: "ngModel"
}
-module.directive("tgDateSelector", DateSelectorDirective)
+module.directive("tgDateSelector", ["$translate", DateSelectorDirective])
#############################################################################
@@ -107,7 +108,7 @@ module.directive("tgSprintProgressbar", SprintProgressBarDirective)
## Created-by display directive
#############################################################################
-CreatedByDisplayDirective = ($template, $compile)->
+CreatedByDisplayDirective = ($template, $compile, $translate)->
# Display the owner information (full name and photo) and the date of
# creation of an object (like USs, tasks and issues).
#
@@ -130,7 +131,7 @@ CreatedByDisplayDirective = ($template, $compile)->
html = template({
owner: owner
- date: moment(model.created_date).format("DD MMM YYYY HH:mm")
+ date: moment(model.created_date).format($translate.instant("COMMON.DATETIME"))
})
html = $compile(html)($scope)
@@ -149,7 +150,7 @@ CreatedByDisplayDirective = ($template, $compile)->
require: "ngModel"
}
-module.directive("tgCreatedByDisplay", ["$tgTemplate", "$compile", CreatedByDisplayDirective])
+module.directive("tgCreatedByDisplay", ["$tgTemplate", "$compile", "$translate", CreatedByDisplayDirective])
#############################################################################
diff --git a/app/coffee/modules/common/history.coffee b/app/coffee/modules/common/history.coffee
index ef2dd1a7..87a83692 100644
--- a/app/coffee/modules/common/history.coffee
+++ b/app/coffee/modules/common/history.coffee
@@ -87,6 +87,8 @@ HistoryDirective = ($log, $loading, $qqueue, $template, $confirm, $translate, $c
showAllComments = false
showAllActivity = false
+ prettyDate = $translate.instant("ACTIVITY.DATETIME")
+
bindOnce $scope, $attrs.ngModel, (model) ->
type = $attrs.type
objectId = model.id
@@ -269,7 +271,7 @@ HistoryDirective = ($log, $loading, $qqueue, $template, $confirm, $translate, $c
renderComment = (comment) ->
if (comment.delete_comment_date or comment.delete_comment_user?.name)
html = templateDeletedComment({
- deleteCommentDate: moment(comment.delete_comment_date).format("DD MMM YYYY HH:mm") if comment.delete_comment_date
+ deleteCommentDate: moment(comment.delete_comment_date).format(prettyDate) if comment.delete_comment_date
deleteCommentUser: comment.delete_comment_user.name
deleteComment: comment.comment_html
activityId: comment.id
@@ -284,12 +286,12 @@ HistoryDirective = ($log, $loading, $qqueue, $template, $confirm, $translate, $c
html = templateActivity({
avatar: getUserAvatar(comment.user.pk)
userFullName: comment.user.name
- creationDate: moment(comment.created_at).format("DD MMM YYYY HH:mm")
+ creationDate: moment(comment.created_at).format(prettyDate)
comment: comment.comment_html
changesText: renderChangesHelperText(comment)
changes: renderChangeEntries(comment)
mode: "comment"
- deleteCommentDate: moment(comment.delete_comment_date).format("DD MMM YYYY HH:mm") if comment.delete_comment_date
+ deleteCommentDate: moment(comment.delete_comment_date).format(prettyDate) if comment.delete_comment_date
deleteCommentUser: comment.delete_comment_user.name if comment.delete_comment_user?.name
activityId: comment.id
canDeleteComment: comment.user.pk == $scope.user?.id or $scope.project.my_permissions.indexOf("modify_project") > -1
@@ -303,12 +305,12 @@ HistoryDirective = ($log, $loading, $qqueue, $template, $confirm, $translate, $c
return templateActivity({
avatar: getUserAvatar(change.user.pk)
userFullName: change.user.name
- creationDate: moment(change.created_at).format("DD MMM YYYY HH:mm")
+ creationDate: moment(change.created_at).format(prettyDate)
comment: change.comment_html
changes: renderChangeEntries(change)
changesText: ""
mode: "activity"
- deleteCommentDate: moment(change.delete_comment_date).format("DD MMM YYYY HH:mm") if change.delete_comment_date
+ deleteCommentDate: moment(change.delete_comment_date).format(prettyDate) if change.delete_comment_date
deleteCommentUser: change.delete_comment_user.name if change.delete_comment_user?.name
activityId: change.id
})
@@ -320,9 +322,7 @@ HistoryDirective = ($log, $loading, $qqueue, $template, $confirm, $translate, $c
showMore = totalEntries - entries.length
html = templateBaseEntries({entries: entries, showMore:showMore})
-
html = $compile(html)($scope)
-
return html
# Render into DOM (operations with dom mutability)
diff --git a/app/coffee/modules/taskboard/charts.coffee b/app/coffee/modules/taskboard/charts.coffee
index cf0c2ee1..2e50389d 100644
--- a/app/coffee/modules/taskboard/charts.coffee
+++ b/app/coffee/modules/taskboard/charts.coffee
@@ -90,7 +90,7 @@ SprintGraphDirective = ($translate)->
tooltip: true
tooltipOpts:
content: (label, xval, yval, flotItem) ->
- formattedDate = moment(xval).format("DD MMM")
+ formattedDate = moment(xval).format($translate.instant("TASKBOARD.CHARTS.DATE"))
roundedValue = Math.round(yval)
if flotItem.seriesIndex == 1
diff --git a/app/coffee/modules/user-settings/main.coffee b/app/coffee/modules/user-settings/main.coffee
index e3fae917..548dd8ee 100644
--- a/app/coffee/modules/user-settings/main.coffee
+++ b/app/coffee/modules/user-settings/main.coffee
@@ -102,9 +102,7 @@ UserProfileDirective = ($confirm, $auth, $repo, $translate) ->
return if not form.validate()
changeEmail = $scope.user.isAttributeModified("email")
-
$scope.user.lang = $scope.lang
- $translate.use($scope.user.lang)
onSuccess = (data) =>
$auth.setUser(data)
diff --git a/app/coffee/modules/wiki/main.coffee b/app/coffee/modules/wiki/main.coffee
index a6368f56..f72414a9 100644
--- a/app/coffee/modules/wiki/main.coffee
+++ b/app/coffee/modules/wiki/main.coffee
@@ -135,7 +135,7 @@ module.controller("WikiDetailController", WikiDetailController)
## Wiki Summary Directive
#############################################################################
-WikiSummaryDirective = ($log, $template, $compile) ->
+WikiSummaryDirective = ($log, $template, $compile, $translate) ->
template = $template.get("wiki/wiki-summary.html", true)
link = ($scope, $el, $attrs, $model) ->
@@ -152,7 +152,7 @@ WikiSummaryDirective = ($log, $template, $compile) ->
ctx = {
totalEditions: wiki.editions
- lastModifiedDate: moment(wiki.modified_date).format("DD MMM YYYY HH:mm")
+ lastModifiedDate: moment(wiki.modified_date).format($translate.instant("WIKI.DATETIME"))
user: user
}
html = template(ctx)
@@ -172,7 +172,7 @@ WikiSummaryDirective = ($log, $template, $compile) ->
require: "ngModel"
}
-module.directive("tgWikiSummary", ["$log", "$tgTemplate", "$compile", WikiSummaryDirective])
+module.directive("tgWikiSummary", ["$log", "$tgTemplate", "$compile", "$translate", WikiSummaryDirective])
#############################################################################
diff --git a/app/locales/locale-en.json b/app/locales/locale-en.json
index a9e6b873..05269008 100644
--- a/app/locales/locale-en.json
+++ b/app/locales/locale-en.json
@@ -4,14 +4,14 @@
"NO": "No",
"LOADING": "Loading...",
"LOADING_PROJECT": "Loading project...",
+ "DATE": "DD MMM YYYY",
+ "DATETIME": "DD MMM YYYY HH:mm",
"SAVE": "Save",
"CANCEL": "Cancel",
"ACCEPT": "Accept",
"DELETE": "Delete",
"CREATE": "Create",
"ADD": "Add",
- "YES": "Yes",
- "NO": "No",
"COPY_TO_CLIPBOARD": "Copy to clipboard: Ctrl+C",
"EDIT": "Edit",
"DRAG": "Drag",
@@ -581,6 +581,7 @@
},
"ACTIVITY": {
"SHOW_ACTIVITY": "Show activity",
+ "DATETIME": "DD MMM YYYY HH:mm",
"SHOW_MORE": "+ Show previous entries ({{showMore}} more)",
"TITLE": "Activity",
"REMOVED": "removed",
@@ -688,6 +689,7 @@
},
"SPRINTS": {
"TITLE": "SPRINTS",
+ "DATE": "DD MMM YYYY",
"LINK_TASKBOARD": "Sprint Taskboard",
"TITLE_LINK_TASKBOARD": "Go to Taskboard of \"{{name}}\"",
"NUMBER_SPRINTS": "
sprints",
@@ -725,7 +727,8 @@
"XAXIS_LABEL": "Days",
"YAXIS_LABEL": "Points",
"OPTIMAL": "Optimal pending points for day {{formattedDate}} should be {{roundedValue}}",
- "REAL": "Real pending points for day {{formattedDate}} is {{roundedValue}}"
+ "REAL": "Real pending points for day {{formattedDate}} is {{roundedValue}}",
+ "DATE": "DD MMMM YYYY"
}
},
"TASK": {
@@ -988,6 +991,7 @@
"PROGRESS_NAME_DESCRIPTION": "Name and description"
},
"WIKI": {
+ "DATETIME": "DD MMM YYYY HH:mm",
"PLACEHOLDER_PAGE": "Write your wiki page",
"REMOVE": "Remove this wiki page",
"DELETE_LIGHTBOX_TITLE": "Delete Wiki Page",
diff --git a/app/locales/locale-es.json b/app/locales/locale-es.json
index f46a5bc3..8688a598 100644
--- a/app/locales/locale-es.json
+++ b/app/locales/locale-es.json
@@ -4,6 +4,8 @@
"NO": "No",
"LOADING": "Cargando...",
"LOADING_PROJECT": "Cargando projecto...",
+ "DATE": "DD MMM YYYY",
+ "DATETIME": "DD MMM YYYY HH:mm",
"SAVE": "Guardar",
"CANCEL": "Cancelar",
"ACCEPT": "Aceptar",
@@ -579,6 +581,7 @@
},
"ACTIVITY": {
"SHOW_ACTIVITY": "Mostrar actividad",
+ "DATETIME": "DD MMM YYYY HH:mm",
"SHOW_MORE": "+ Ver entradas anteriores ({{showMore}} más)",
"TITLE": "Actividad",
"REMOVED": "borrado",
@@ -685,6 +688,7 @@
},
"SPRINTS": {
"TITLE": "SPRINTS",
+ "DATE": "DD MMM YYYY",
"LINK_TASKBOARD": "Panel de Tareas del Sprint",
"TITLE_LINK_TASKBOARD": "Ir al panel de tareas de \"{{name}}\"",
"NUMBER_SPRINTS": "
sprints",
@@ -722,7 +726,8 @@
"XAXIS_LABEL": "Días",
"YAXIS_LABEL": "Puntos",
"OPTIMAL": "El número de puntos óptimos pendientes para el día {{formattedDate}} debería ser de {{roundedValue}}",
- "REAL": "El número de puntos pendientes para el día {{formattedDate}} es de {{roundedValue}}"
+ "REAL": "El número de puntos pendientes para el día {{formattedDate}} es de {{roundedValue}}",
+ "DATE": "DD MMMM YYYY"
}
},
"TASK": {
@@ -985,6 +990,7 @@
"PROGRESS_NAME_DESCRIPTION": "Nombre y descripción"
},
"WIKI": {
+ "DATETIME": "DD MMM YYYY HH:mm",
"PLACEHOLDER_PAGE": "Escribe el contenido de tu página",
"REMOVE": "Eliminar esta página del wiki",
"DELETE_LIGHTBOX_TITLE": "Eliminar Página del Wiki",
diff --git a/app/locales/locale-fi.json b/app/locales/locale-fi.json
index 3691f941..2046ba95 100644
--- a/app/locales/locale-fi.json
+++ b/app/locales/locale-fi.json
@@ -4,6 +4,8 @@
"NO": "Ei",
"LOADING": "Ladataan...",
"LOADING_PROJECT": "Ladataan projektia...",
+ "DATE": "DD MMM YYYY",
+ "DATETIME": "DD MMM YYYY HH:mm",
"SAVE": "Tallenna",
"CANCEL": "Peru",
"ACCEPT": "Hyväksy",
@@ -66,7 +68,7 @@
"REMOVE_ASSIGNED": "Poista tekijä",
"TOO_MANY": "...liikaa käyttäjiä, lisää suodattimia",
"CONFIRM_UNASSIGNED": "Haluatko varmasti jättää tämän ilman tekijää?",
- "TITLE_ACTION_EDIT_ASSIGNMENT": "Edit assignment"
+ "TITLE_ACTION_EDIT_ASSIGNMENT": "Muokkaa tekijää"
},
"STATUS": {
"CLOSED": "Suljettu",
@@ -145,11 +147,11 @@
"DELETE_TASKS": "Poista tehtäviä"
},
"ISSUES": {
- "NAME": "Ongelmat",
- "VIEW_ISSUES": "Katso ongelmia",
- "ADD_ISSUES": "Lisää ongelmia",
- "MODIFY_ISSUES": "Muokkaa ongelmia",
- "DELETE_ISSUES": "Poista ongelmia"
+ "NAME": "Pyynnöt",
+ "VIEW_ISSUES": "Katso pyyntöjä",
+ "ADD_ISSUES": "Lisää pyyntöjä",
+ "MODIFY_ISSUES": "Muokkaa pyyntöjä",
+ "DELETE_ISSUES": "Poista pyyntöjä"
},
"WIKI": {
"NAME": "Wiki",
@@ -181,10 +183,10 @@
"COUNT_DEPRECATED": "({{ctrl.deprecatedAttachmentsCount }} vanhentunutta)",
"MAX_UPLOAD_SIZE": "Maksimi tiedoston koko {{maxFileSize}}",
"DATE": "DD MMM YYYY - hh:mm",
- "ERROR_UPLOAD_ATTACHMENT": "We have not been able to upload '{{fileName}}'. {{errorMessage}}",
- "TITLE_LIGHTBOX_DELETE_ATTACHMENT": "Delete attachment...",
- "MSG_LIGHTBOX_DELETE_ATTACHMENT": "the attachment '{{fileName}}'",
- "ERROR_DELETE_ATTACHMENT": "We have not been able to delete: {{errorMessage}}",
+ "ERROR_UPLOAD_ATTACHMENT": "Emme onnistuneet lataamaan tiedostoa '{{fileName}}'. {{errorMessage}}",
+ "TITLE_LIGHTBOX_DELETE_ATTACHMENT": "Poista liite...",
+ "MSG_LIGHTBOX_DELETE_ATTACHMENT": "liite '{{fileName}}'",
+ "ERROR_DELETE_ATTACHMENT": "Emme pystyneet poistamaan: {{errorMessage}}",
"FIELDS": {
"IS_DEPRECATED": "on vanhentunut"
}
@@ -230,7 +232,7 @@
"BACKLOG_DESCRIPTION": "Hallinnoi käyttäjätarinoita: järjestele ja priorisoi työtä.",
"KANBAN": "Kanban",
"KANBAN_DESCRIPTION": "Järjestä projektisi tehokkaasti tällä taululla.",
- "ISSUES": "Ongelmat",
+ "ISSUES": "Pyynnöt",
"ISSUES_DESCRIPTION": "Seuraa projektisi virheitä, kysymyksiä ja parannusehdotuksia. Älä jätä mitään huomiotta!",
"WIKI": "Wiki",
"WIKI_DESCRIPTION": "Lisää, muokkaa tai poista sisältöä yhteistyössä muiden kanssa. Tämä on oikea paikka projektin dokumentaatiolle.",
@@ -260,17 +262,17 @@
"REGENERATE_SUBTITLE": "Jos muutata CSV-datan URLia, edellien lakkaa toimimasta. Oletko varma?",
"CSV_TYPE_US": "käyttäjätarinat",
"CSV_TYPE_TASK": "tehtävät",
- "CSV_TYPE_ISSUE": "ongelmat"
+ "CSV_TYPE_ISSUE": "pyynnöt"
},
"CUSTOM_FIELDS": {
"TITLE": "Omat kentät",
- "SUBTITLE": "Määritele omia kenttiä käyttäjätarinoihin, tehtäviin ja ongelmiin",
+ "SUBTITLE": "Määritele omia kenttiä käyttäjätarinoihin, tehtäviin ja pyytöihin",
"US_DESCRIPTION": "Käyttäjätarinoiden omat kentät",
"US_ADD": "Lisää käyttäjätarinoihin oma kenttä",
"TASK_DESCRIPTION": "Tehtävien omat kentät",
"TASK_ADD": "Lisää omia kenttiä tehtäviin",
- "ISSUE_DESCRIPTION": "Ongelmien omat kentät",
- "ISSUE_ADD": "Lisää oma kenttä ongelmille"
+ "ISSUE_DESCRIPTION": "Pyyntöjen omat kentät",
+ "ISSUE_ADD": "Lisää oma kenttä pyynnöille"
},
"PROJECT_VALUES": {
"APP_TITLE": "Projektin arvot - {{sectionName}} - {{projectName}}",
@@ -283,24 +285,24 @@
"ACTION_ADD": "Lisää uusi piste"
},
"PROJECT_VALUES_PRIORITIES": {
- "TITLE": "Ongelmien tärkeydet",
- "SUBTITLE": "Määrittele tärkeydet ongelmillesi"
+ "TITLE": "Pyyntöjen tärkeydet",
+ "SUBTITLE": "Määrittele tärkeydet pyynnöille"
},
"PROJECT_VALUES_SEVERITIES": {
- "TITLE": "Ongelmien vakavuudet",
- "SUBTITLE": "Määrittele ongelmiesi vakavuudet"
+ "TITLE": "Pyyntöjen vakavuudet",
+ "SUBTITLE": "Määrittele pyyntöjen vakavuudet"
},
"PROJECT_VALUES_STATUS": {
"TITLE": "Tila",
- "SUBTITLE": "Määrittele tilat joiden kautta käyttäjätarinasi, tehtäväsi ja ongelmasi kulkevat",
+ "SUBTITLE": "Määrittele tilat joiden kautta käyttäjätarinasi, tehtäväsi ja pyyntösi kulkevat",
"US_TITLE": "Kt tilat",
"TASK_TITLE": "Tehtävien tilat",
- "ISSUE_TITLE": "Ongelmien tilat"
+ "ISSUE_TITLE": "Pyyntöjen tilat"
},
"PROJECT_VALUES_TYPES": {
"TITLE": "Tyypit",
- "SUBTITLE": "Määrittele ongelmien tyypit",
- "ISSUE_TITLE": "Ongelmien tyypit",
+ "SUBTITLE": "Määrittele pyyntöjen tyypit",
+ "ISSUE_TITLE": "Pyyntöjen tyypit",
"ACTION_ADD": "Lisää uusi {{objName}}"
},
"ROLES": {
@@ -390,8 +392,8 @@
"LABEL_TASK_STATUS": "Oletusarvo tehtävän tilan valintaan",
"LABEL_PRIORITY": "Oletus arvo tärkeyden valiintaan",
"LABEL_SEVERITY": "Oletusarvo vakavuuden valintaan",
- "LABEL_ISSUE_TYPE": "Oletusarvo ongelman tyypin valintaan",
- "LABEL_ISSUE_STATUS": "Oletusarvo ongelmien statuksen valintaan"
+ "LABEL_ISSUE_TYPE": "Oletusarvo pyynnön tyypin valintaan",
+ "LABEL_ISSUE_STATUS": "Oletusarvo pyyntöjen statuksen valintaan"
},
"CSV": {
"TITLE": "{{csvType}} raportit",
@@ -455,7 +457,7 @@
"SEARCH": "Hae",
"BACKLOG": "Odottavat",
"KANBAN": "Kanban",
- "ISSUES": "Ongelmat",
+ "ISSUES": "Pyynnöt",
"WIKI": "Wiki",
"TEAM": "Tiimi",
"MEETUP": "Tapaa",
@@ -501,7 +503,7 @@
"HELP_TEXT": "Taigan käyttäjät lisätään automaattisesti, muille lähetetään kutsu."
},
"CREATE_ISSUE": {
- "TITLE": "Lisää ongelma"
+ "TITLE": "Lisää pyyntö"
},
"FEEDBACK": {
"TITLE": "Kerro jotain...",
@@ -549,8 +551,8 @@
"TOTAL_POINTS": "yhteensä",
"ADD": "+ Lisää uusi käyttäjätarina",
"ADD_BULK": "Lisää monta käyttäjätarinaa",
- "PROMOTED": "Tämä US on liitetty ongelmaan:",
- "TITLE_LINK_GO_TO_ISSUE": "Mene ongelmaan",
+ "PROMOTED": "Tämä Kt on liitetty pyyntöön:",
+ "TITLE_LINK_GO_TO_ISSUE": "Siirry pyyntöön",
"EXTERNAL_REFERENCE": "Tämä Kt oon luotu täältä: ",
"GO_TO_EXTERNAL_REFERENCE": "Palaa alkuun",
"BLOCKED": "Tämä käyttäjätarina on suljettu",
@@ -579,6 +581,7 @@
},
"ACTIVITY": {
"SHOW_ACTIVITY": "Näytä tapahtumat",
+ "DATETIME": "DD MMM YYYY HH:mm",
"SHOW_MORE": "+ Näytä edelliset rivit ({{showMore}} lisää)",
"TITLE": "Aktiivisuus",
"REMOVED": "poistettu",
@@ -685,6 +688,7 @@
},
"SPRINTS": {
"TITLE": "KIERROKSET",
+ "DATE": "DD MMM YYYY",
"LINK_TASKBOARD": "Kierroksien tehtävätaulu",
"TITLE_LINK_TASKBOARD": "Siirry tehtävätauluun {{name}}",
"NUMBER_SPRINTS": "
kierrokset",
@@ -722,7 +726,8 @@
"XAXIS_LABEL": "Päivät",
"YAXIS_LABEL": "Pisteet",
"OPTIMAL": "Optimaaliset odottavat pisteet {{formattedDate}} ovat {{roundedValue}}",
- "REAL": "Todelliset odottavat pisteet {{formattedDate}} ovat {{roundedValue}}"
+ "REAL": "Todelliset odottavat pisteet {{formattedDate}} ovat {{roundedValue}}",
+ "DATE": "DD MMMM YYYY"
}
},
"TASK": {
@@ -819,22 +824,22 @@
"LINK_LOGIN": "Oletko jo rekisteröitynyt? Kirjaudu sisään"
},
"ISSUES": {
- "LIST_SECTION_NAME": "Ongelmat",
- "SECTION_NAME": "Ongelman tiedot",
- "ACTION_NEW_ISSUE": "+ UUSI ONGELMA",
+ "LIST_SECTION_NAME": "Pyynnöt",
+ "SECTION_NAME": "Pyyntöjen tiedot",
+ "ACTION_NEW_ISSUE": "+ UUSI PYYNTÖ",
"ACTION_PROMOTE_TO_US": "Liitä käyttäjätarinaan",
"PLACEHOLDER_FILTER_NAME": "Anna suodattimen nimi ja paina enter",
- "PROMOTED": "Tämä ongelma on liitetty Kthen:",
- "EXTERNAL_REFERENCE": "Tämä ongelma on luotu ",
+ "PROMOTED": "Tämä pyyntö on liitetty Kthen:",
+ "EXTERNAL_REFERENCE": "Tämä pyyntö on luotu täältä:",
"GO_TO_EXTERNAL_REFERENCE": "Palaa alkuun",
- "BLOCKED": "Tämä ongelma on estetty",
- "TITLE_PREVIOUS_ISSUE": "edellinen ongelma",
- "TITLE_NEXT_ISSUE": "seuraava ongelma",
- "ACTION_DELETE": "Poista ongelma",
- "LIGHTBOX_TITLE_BLOKING_ISSUE": "Estävä ongelma",
+ "BLOCKED": "Tämä pyyntö on estetty",
+ "TITLE_PREVIOUS_ISSUE": "edellinen pyyntö",
+ "TITLE_NEXT_ISSUE": "seuraava pyyntö",
+ "ACTION_DELETE": "Poista pyyntö",
+ "LIGHTBOX_TITLE_BLOKING_ISSUE": "Estävä pyyntö",
"CONFIRM_PROMOTE": {
- "TITLE": "Liitä tämä ongelma uuteen käyttäjätarinaan",
- "MESSAGE": "Haluatko varmasti lisätä uuden käyttäjätarinan tästä ongelmasta?"
+ "TITLE": "Liitä tämä pyyntö uuteen käyttäjätarinaan",
+ "MESSAGE": "Haluatko varmasti lisätä uuden käyttäjätarinan tästä pyynnöstä?"
},
"FILTERS": {
"TITLE": "Suodattimet",
@@ -871,9 +876,9 @@
"TITLE_ACTION_CHANGE_STATUS": "Muuta tilaa",
"TITLE_ACTION_ASSIGNED_TO": "Tekijä",
"EMPTY": {
- "TITLE": "Ei raportoitavia ongelmia:-)",
+ "TITLE": "Ei raportoitavia pyyntöjä:-)",
"SUBTITLE": "Löysitkö ongelman?",
- "ACTION_CREATE_ISSUE": "Luo uusi ongelma"
+ "ACTION_CREATE_ISSUE": "Luo uusi pyyntö"
}
}
},
@@ -893,7 +898,7 @@
},
"SEARCH": {
"FILTER_USER_STORIES": "Käyttäjätarinat",
- "FILTER_ISSUES": "Ongelmat",
+ "FILTER_ISSUES": "Pyynnöt",
"FILTER_TASKS": "Tehtävät",
"FILTER_WIKI": "Wiki-sivut",
"PLACEHOLDER_SEARCH": "Etsi täältä...",
@@ -906,13 +911,13 @@
"APP_TITLE": "TIIMI - {{projectName}}",
"PLACEHOLDER_INPUT_SEARCH": "Etsi koko nimellä...",
"COLUMN_MR_WOLF": "Mr. Wolf",
- "EXPLANATION_COLUMN_MR_WOLF": "Suljetut ongelmat",
+ "EXPLANATION_COLUMN_MR_WOLF": "Suljetut pyynnöt",
"COLUMN_IOCAINE": "Hidasteiden syöjä",
"EXPLANATION_COLUMN_IOCAINE": "Kertyneet hidasteet",
"COLUMN_CERVANTES": "Cervantes",
"EXPLANATION_COLUMN_CERVANTES": "Wiki-sivuja muokattu",
"COLUMN_BUG_HUNTER": "Virheiden metsästäjä",
- "EXPLANATION_COLUMN_BUG_HUNTER": "Ongelmia raportoitu",
+ "EXPLANATION_COLUMN_BUG_HUNTER": "Pyyntöjä raportoitu",
"COLUMN_NIGHT_SHIFT": "Yövuoro",
"EXPLANATION_COLUMN_NIGHT_SHIFT": "Suljetut tehtävät",
"COLUMN_TOTAL_POWER": "Kokonaisvoima",
@@ -985,6 +990,7 @@
"PROGRESS_NAME_DESCRIPTION": "Nimi ja kuvaus"
},
"WIKI": {
+ "DATETIME": "DD MMM YYYY HH:mm",
"PLACEHOLDER_PAGE": "Kirjoita wiki-sivu",
"REMOVE": "Poista tämä wiki-sivu",
"DELETE_LIGHTBOX_TITLE": "Poista wiki-sivu",
diff --git a/app/locales/locale-fr.json b/app/locales/locale-fr.json
index 5554b4ca..e456d3b4 100644
--- a/app/locales/locale-fr.json
+++ b/app/locales/locale-fr.json
@@ -4,6 +4,8 @@
"NO": "Non",
"LOADING": "Chargement...",
"LOADING_PROJECT": "Chargement du projet...",
+ "DATE": "DD MMM YYYY",
+ "DATETIME": "DD MMM YYYY HH:mm",
"SAVE": "Enregistré",
"CANCEL": "Annuler",
"ACCEPT": "Accepter",
@@ -579,6 +581,7 @@
},
"ACTIVITY": {
"SHOW_ACTIVITY": "Montrer l'activité",
+ "DATETIME": "DD MMM YYYY HH:mm",
"SHOW_MORE": "+ Montrer les entrées précédentes ({{showMore}} plus)",
"TITLE": "Activité",
"REMOVED": "supprimé",
@@ -685,6 +688,7 @@
},
"SPRINTS": {
"TITLE": "SPRINTS",
+ "DATE": "DD MMM YYYY",
"LINK_TASKBOARD": "Taskboard du sprint",
"TITLE_LINK_TASKBOARD": "Aller au Taskboard de \"{{name}}\"",
"NUMBER_SPRINTS": "
sprints",
@@ -722,7 +726,8 @@
"XAXIS_LABEL": "Journées",
"YAXIS_LABEL": "Points",
"OPTIMAL": "Le nombre optimal de points pour le jour {{formattedDate}} devrait être {{roundedValue}}",
- "REAL": "Le nombre réel de points pour le jour {{formattedDate}} est {{roundedValue}}"
+ "REAL": "Le nombre réel de points pour le jour {{formattedDate}} est {{roundedValue}}",
+ "DATE": "DD MMMM YYYY"
}
},
"TASK": {
@@ -985,6 +990,7 @@
"PROGRESS_NAME_DESCRIPTION": "Nom et description"
},
"WIKI": {
+ "DATETIME": "DD MMM YYYY HH:mm",
"PLACEHOLDER_PAGE": "Ecrivez votre page wiki",
"REMOVE": "Supprimer cette page wiki",
"DELETE_LIGHTBOX_TITLE": "Supprimer la page Wiki",