From 3b55caf6f3839ab265699a17194b5cb6945efe12 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Barrag=C3=A1n=20Merino?= Date: Thu, 30 Apr 2015 13:35:40 +0200 Subject: [PATCH] [i18n] Moment, Date and Time --- app/coffee/app.coffee | 10 +- app/coffee/modules/auth.coffee | 9 +- app/coffee/modules/backlog/lightboxes.coffee | 12 ++- app/coffee/modules/backlog/sprints.coffee | 15 ++- app/coffee/modules/common/components.coffee | 21 ++-- app/coffee/modules/common/history.coffee | 14 +-- app/coffee/modules/taskboard/charts.coffee | 2 +- app/coffee/modules/user-settings/main.coffee | 2 - app/coffee/modules/wiki/main.coffee | 6 +- app/locales/locale-en.json | 10 +- app/locales/locale-es.json | 8 +- app/locales/locale-fi.json | 100 ++++++++++--------- app/locales/locale-fr.json | 8 +- 13 files changed, 127 insertions(+), 90 deletions(-) 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",