diff options
58 files changed, 3756 insertions, 543 deletions
diff --git a/.meteor/packages b/.meteor/packages index e57bdb19..32d7389c 100644 --- a/.meteor/packages +++ b/.meteor/packages @@ -75,3 +75,4 @@ seriousm:emoji-continued templates:tabs verron:autosize simple:json-routes +rajit:bootstrap3-datepicker diff --git a/.meteor/versions b/.meteor/versions index e1c0b9cf..4ca2f780 100644 --- a/.meteor/versions +++ b/.meteor/versions @@ -121,6 +121,7 @@ perak:markdown@1.0.5 promise@0.7.3 raix:eventemitter@0.1.3 raix:handlebar-helpers@0.2.5 +rajit:bootstrap3-datepicker@1.5.1 random@1.0.10 rate-limit@1.0.5 reactive-dict@1.1.8 @@ -39,9 +39,9 @@ host = https://www.transifex.com # tap:i18n requires us to use `-` separator in the language identifiers whereas # Transifex uses a `_` separator, without an option to customize it on one side # or the other, so we need to do a Manual mapping. -lang_map = es_ES: es-ES, fi_FI:fi, pt_BR:pt-BR, zh_CN:zh-CN, zh_TW: zh-TW +lang_map = es_ES:es-ES, fa_IR:fa, pt_BR:pt-BR, ro_RO:ro, zh_CN:zh-CN, zh_TW:zh-TW -[wekan.application] +[wefork.application] file_filter = i18n/<lang>.i18n.json source_lang = en type = KEYVALUEJSON @@ -49,7 +49,7 @@ type = KEYVALUEJSON # We might have a dedicated second resource later to translate the “Welcome # Board” data. # -# [wekan.welcomeBoard] +# [wefork.welcomeBoard] # file_filter = private/welcomeBoard/<lang>.json # source_lang = en # type = KEYVALUEJSON diff --git a/CHANGELOG.md b/CHANGELOG.md index fa4f3b02..979fb7c9 100755..100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,32 @@ -# v0.11 +# v0.11.0 2016-12-16 Wekan fork first release + +This release adds the following new features: + +* Start- and Duedate for cards; +* Allow IE 11 to work; +* Option to hide system messages in the card; +* Option to setup minimum limit to show cards count + for each list in board; +* Option 'filter by empty' to filter by cards by 'no member' + and 'no label' properties; +* Speedup: Added MongoDB index on CardId into Comments collection. +* Translation updates + +and fixes the following bugs: + +* Sandstorm: username handling, restore identity, eslint regressions, + board not found; +* Failure to load when navigator.language is Chinese or Finnish; +* Hover background for labels in filter sidebar. Now correctly + centered; +* Display message when user wants to choose existing username; +* Client sometimes fails to receive current user's profile; +* Old users could see broken presence indicators on new users. + +Thanks to GitHub users dwrencha, fmonthel, mario-orlicky, pierreozoux, +shoetten, and xet7 for their contributions. + +# v0.11.0-rc2 2016-07-21 This release adds the following new features: @@ -27,14 +55,14 @@ and fixes the following bugs: Thanks to GitHub users alayek, AlexanderS, choclin, floatinghotpot, ForNeVeR, PeterDaveHello, seschwar, and TheElf for their contributions. -# v0.10.1 +# v0.10.1 2015-12-30 This patch release fixes two bugs on Sandstorm: * Drag and drop was broken; * Avatars weren’t working. -# v0.10 +# v0.10 2015-12-22 This release features: @@ -56,7 +84,7 @@ New languages supported: Arabic, Catalan, Italian, and Russian. Thanks to GitHub users AlexanderS, fisle, floatinghotpot, FuzzyWuzzie, mnutt, ndarilek, SirCmpwn, and xavierpriour for their contributions. -# v0.9 +# v0.9 2015-09-10 This release is a large re-write of the previous code base. This release marks the beginning of our new user interface and continues to improve the overall @@ -1,6 +1,13 @@ -# Wekan +# Wekan fork -[![Join the chat][gitter_badge]][gitter_chat] +[![Join the chat][rocket_badge]][rocket_chat] +[![Build Status][travis_badge]][travis_status] + +[Wekan fork FAQ][fork_faq] + +[Wekan fork announcement][fork_announcement] + +[Translate Wekan fork at Transifex][translate_wefork] Wekan is an open-source and collaborative kanban board application. @@ -10,7 +17,7 @@ boards are an unbeatable tool to keep your things organized. They give you a visual overview of the current state of your project, and make you productive by allowing you to focus on the few items that matter the most. -[![Our roadmap is self-hosted on Wekan][screenshot]][roadmap] +[![Our roadmap is self-hosted on Wekan fork][screenshot]][roadmap] Wekan supports most features you would expect of it including a real-time user interface, cards comments, member assignations, customizable labels, filtered @@ -18,31 +25,79 @@ views, and more. Since it is a free software, you don’t have to trust us with your data and can install Wekan on your own computer or server. In fact we encourage you to do -that by providing one-click installation on Heroku or [Sandstorm] -[sandstorm_market] platforms and verified [Docker][docker_image] images. You can -also install Wekan on the following Platforms: +that by providing one-click installation on various platforms. + +## Supported Platforms + +[Install from source][install_source] + +[Debian Wheezy 64bit][debian_wheezy] [![Deploy][heroku_button]][heroku_deploy] [![SignUp][indiehosters_button]][indiehosters_saas] [![Deploy to Scalingo][scalingo_button]][scalingo_deploy] [![Install on Cloudron][cloudron_button]][cloudron_install] +[![Try on Sandstorm][sandstorm_button]][sandstorm_appdemo] + +## Upcoming Platforms + +[Docker][docker_image] + +[Docker on SUSE Linux Enterprise Server 12 SP1][sles] -Wekan is released under the very permissive [MIT license](LICENSE), and made +[Autoinstall script][autoinstall] based on [this issue][autoinstall_issue] + +[VirtualBox][virtualbox]: Needs to be updated for Wefork. + +[Create Sandstorm .spk file from source][sandstorm_spk] + +Email to work on already working Heroku: Use 3rd party +email like SendGrid, update process.env.MAIL_URL , +change from email at Accounts.emailTeamplates.from , +new file in server folder called smtp.js on code +`Meteor.startup(function () });` . +TODO: Test and find a way to use API keys instead. + +Azure: Install from source. Azure endpoint needs to be added. Not tested yet. + +OpenShift: Not tested yet. + +Google Cloud: Needs info how to enable websockets. + +## License + +Wekan fork is released under the very permissive [MIT license](LICENSE), and made with [Meteor](https://www.meteor.com). -[Our roadmap is self-hosted on Wekan][roadmap] +## Roadmap + +[Our roadmap is self-hosted on Wekan fork][roadmap] -[screenshot]: http://i.imgur.com/cI4jW2h.png -[gitter_badge]: https://badges.gitter.im/Join%20Chat.svg -[gitter_chat]: https://gitter.im/wekan/wekan -[roadmap]: http://try.wekan.io/b/MeSsFJaSqeuo9M6bs/wekan-roadmap -[sandstorm_market]: https://oasis.sandstorm.io/appdemo/m86q05rdvj14yvn78ghaxynqz7u2svw6rnttptxx49g1785cdv1h -[docker_image]: https://hub.docker.com/r/mquandalle/wekan/ +[fork_faq]: https://github.com/wefork/wekan/wiki/FAQ +[fork_announcement]: https://github.com/wekan/wekan/issues/640#issuecomment-255091832 +[screenshot]: http://i.imgur.com/ShX2OTk.png +[rocket_badge]: https://chat.indie.host/images/join-chat.svg +[rocket_chat]: https://chat.indie.host/channel/wekan +[roadmap]: https://wekan.indie.host/b/t2YaGmyXgNkppcFBq/wekan-fork-roadmap +[sandstorm_button]: https://img.shields.io/badge/try-Wekan%20on%20Sandstorm-783189.svg +[sandstorm_appdemo]: https://demo.sandstorm.io/appdemo/m86q05rdvj14yvn78ghaxynqz7u2svw6rnttptxx49g1785cdv1h +[docker_image]: https://hub.docker.com/r/... [heroku_button]: https://www.herokucdn.com/deploy/button.png -[heroku_deploy]: https://heroku.com/deploy?template=https://github.com/wekan/wekan/tree/master +[heroku_deploy]: https://heroku.com/deploy?template=https://github.com/wefork/wekan/tree/master [indiehosters_button]: https://indie.host/signup.png [indiehosters_saas]: https://indiehosters.net/shop/product/wekan-20 [scalingo_button]: https://cdn.scalingo.com/deploy/button.svg -[scalingo_deploy]: https://my.scalingo.com/deploy?source=https://github.com/wekan/wekan#master +[scalingo_deploy]: https://my.scalingo.com/deploy?source=https://github.com/wefork/wekan#master [cloudron_button]: https://cloudron.io/img/button.svg [cloudron_install]: https://cloudron.io/button.html?app=io.wekan.cloudronapp +[debian_wheezy]: https://github.com/soohwa/sps/blob/master/example/docs/1/wekan.md +[travis_badge]: https://travis-ci.org/wefork/wekan.svg?branch=devel +[travis_status]: https://travis-ci.org/wefork/wekan +[install_source]: https://github.com/wefork/wekan/wiki/Install-from-source +[sles]: https://github.com/wekan/wekan/wiki/Install-Wekan-Docker-on-SUSE-Linux-Enterprise-Server-12-SP1 +[virtualbox]: https://github.com/wekan/wekan/wiki/virtual-appliance +[sandstorm_spk]: https://github.com/wefork/wekan/issues/36 +[docker_image]: https://github.com/wefork/wekan/issues/33 +[translate_wefork]: https://www.transifex.com/wefork/wefork/ +[autoinstall]: https://github.com/wefork/wekan-autoinstall +[autoinstall_issue]: https://github.com/anselal/wekan/issues/18 diff --git a/client/components/activities/activities.js b/client/components/activities/activities.js index 0bd6a272..6600849c 100644 --- a/client/components/activities/activities.js +++ b/client/components/activities/activities.js @@ -12,10 +12,12 @@ BlazeComponent.extendComponent({ const capitalizedMode = Utils.capitalize(mode); const id = Session.get(`current${capitalizedMode}`); const limit = this.page.get() * activitiesPerPage; + const user = Meteor.user(); + const hideSystem = user ? user.hasHiddenSystemMessages() : false; if (id === null) return; - this.subscribe('activities', mode, id, limit, () => { + this.subscribe('activities', mode, id, limit, hideSystem, () => { this.loadNextPageLocked = false; // If the sibear peak hasn't increased, that mean that there are no more diff --git a/client/components/cards/cardDate.jade b/client/components/cards/cardDate.jade new file mode 100644 index 00000000..a2a28bbd --- /dev/null +++ b/client/components/cards/cardDate.jade @@ -0,0 +1,20 @@ +template(name="editCardDate") + .edit-card-date + form.edit-date + .fields + .left + label(for="date") {{_ 'date'}} + input.js-date-field#date(type="text" name="date" value=showDate placeholder=dateFormat autofocus) + .right + label(for="time") {{_ 'time'}} + input.js-time-field#time(type="text" name="time" value=showTime placeholder=timeFormat) + .js-datepicker + if error.get + .warning {{_ error.get}} + button.primary.wide.left.js-submit-date(type="submit") {{_ 'save'}} + button.js-delete-date.negate.wide.right.js-delete-date {{_ 'delete'}} + +template(name="dateBadge") + a.js-edit-date.card-date(title="{{showTitle}}" class="{{classes}}") + time(datetime="{{showISODate}}") + | {{showDate}} diff --git a/client/components/cards/cardDate.js b/client/components/cards/cardDate.js new file mode 100644 index 00000000..4d129e8e --- /dev/null +++ b/client/components/cards/cardDate.js @@ -0,0 +1,228 @@ +// Edit start & due dates +const EditCardDate = BlazeComponent.extendComponent({ + template() { + return 'editCardDate'; + }, + + onCreated() { + this.error = new ReactiveVar(''); + this.card = this.data(); + this.date = new ReactiveVar(moment.invalid()); + }, + + onRendered() { + const $picker = this.$('.js-datepicker').datepicker({ + todayHighlight: true, + todayBtn: 'linked', + language: TAPi18n.getLanguage(), + }).on('changeDate', function(evt) { + this.find('#date').value = moment(evt.date).format('L'); + this.error.set(''); + this.find('#time').focus(); + }.bind(this)); + + if (this.date.get().isValid()) { + $picker.datepicker('update', this.date.get().toDate()); + } + }, + + showDate() { + if (this.date.get().isValid()) + return this.date.get().format('L'); + return ''; + }, + showTime() { + if (this.date.get().isValid()) + return this.date.get().format('LT'); + return ''; + }, + dateFormat() { + return moment.localeData().longDateFormat('L'); + }, + timeFormat() { + return moment.localeData().longDateFormat('LT'); + }, + + events() { + return [{ + 'keyup .js-date-field'() { + // parse for localized date format in strict mode + const dateMoment = moment(this.find('#date').value, 'L', true); + if (dateMoment.isValid()) { + this.error.set(''); + this.$('.js-datepicker').datepicker('update', dateMoment.toDate()); + } + }, + 'keyup .js-time-field'() { + // parse for localized time format in strict mode + const dateMoment = moment(this.find('#time').value, 'LT', true); + if (dateMoment.isValid()) { + this.error.set(''); + } + }, + 'submit .edit-date'(evt) { + evt.preventDefault(); + + // if no time was given, init with 12:00 + const time = evt.target.time.value || moment(new Date().setHours(12, 0, 0)).format('LT'); + + const dateString = `${evt.target.date.value} ${time}`; + const newDate = moment(dateString, 'L LT', true); + if (newDate.isValid()) { + this._storeDate(newDate.toDate()); + Popup.close(); + } + else { + this.error.set('invalid-date'); + evt.target.date.focus(); + } + }, + 'click .js-delete-date'(evt) { + evt.preventDefault(); + this._deleteDate(); + Popup.close(); + }, + }]; + }, +}); + +// editCardStartDatePopup +(class extends EditCardDate { + onCreated() { + super.onCreated(); + this.data().startAt && this.date.set(moment(this.data().startAt)); + } + + _storeDate(date) { + this.card.setStart(date); + } + + _deleteDate() { + this.card.unsetStart(); + } +}).register('editCardStartDatePopup'); + +// editCardDueDatePopup +(class extends EditCardDate { + onCreated() { + super.onCreated(); + this.data().dueAt && this.date.set(moment(this.data().dueAt)); + } + + onRendered() { + super.onRendered(); + if (moment.isDate(this.card.startAt)) { + this.$('.js-datepicker').datepicker('setStartDate', this.card.startAt); + } + } + + _storeDate(date) { + this.card.setDue(date); + } + + _deleteDate() { + this.card.unsetDue(); + } +}).register('editCardDueDatePopup'); + + +// Display start & due dates +const CardDate = BlazeComponent.extendComponent({ + template() { + return 'dateBadge'; + }, + + onCreated() { + const self = this; + self.date = ReactiveVar(); + self.now = ReactiveVar(moment()); + window.setInterval(() => { + self.now.set(moment()); + }, 60000); + }, + + showDate() { + // this will start working once mquandalle:moment + // is updated to at least moment.js 2.10.5 + // until then, the date is displayed in the "L" format + return this.date.get().calendar(null, { + sameElse: 'llll', + }); + }, + + showISODate() { + return this.date.get().toISOString(); + }, +}); + +class CardStartDate extends CardDate { + onCreated() { + super.onCreated(); + const self = this; + self.autorun(() => { + self.date.set(moment(self.data().startAt)); + }); + } + + classes() { + if (this.date.get().isBefore(this.now.get(), 'minute') && + this.now.get().isBefore(this.data().dueAt)) { + return 'current'; + } + return ''; + } + + showTitle() { + return `${TAPi18n.__('card-start-on')} ${this.date.get().format('LLLL')}`; + } + + events() { + return super.events().concat({ + 'click .js-edit-date': Popup.open('editCardStartDate'), + }); + } +} +CardStartDate.register('cardStartDate'); + +class CardDueDate extends CardDate { + onCreated() { + super.onCreated(); + const self = this; + self.autorun(() => { + self.date.set(moment(self.data().dueAt)); + }); + } + + classes() { + if (this.now.get().diff(this.date.get(), 'days') >= 2) + return 'long-overdue'; + else if (this.now.get().diff(this.date.get(), 'minute') >= 0) + return 'due'; + else if (this.now.get().diff(this.date.get(), 'days') >= -1) + return 'almost-due'; + return ''; + } + + showTitle() { + return `${TAPi18n.__('card-due-on')} ${this.date.get().format('LLLL')}`; + } + + events() { + return super.events().concat({ + 'click .js-edit-date': Popup.open('editCardDueDate'), + }); + } +} +CardDueDate.register('cardDueDate'); + +(class extends CardStartDate { + showDate() { + return this.date.get().format('l'); + } +}).register('minicardStartDate'); + +(class extends CardDueDate { + showDate() { + return this.date.get().format('l'); + } +}).register('minicardDueDate'); diff --git a/client/components/cards/cardDate.styl b/client/components/cards/cardDate.styl new file mode 100644 index 00000000..1631baa5 --- /dev/null +++ b/client/components/cards/cardDate.styl @@ -0,0 +1,58 @@ +.edit-card-date + .fields + .left + width: 56% + .right + width: 38% + .datepicker + width: 100% + table + width: 100% + border: none + border-spacing: 0 + border-collapse: collapse + thead + background: none + td, th + box-sizing: border-box + + +.card-date + display: block + border-radius: 4px + padding: 1px 3px + + background-color: #dbdbdb + &:hover, &.is-active + background-color: #b3b3b3 + + &.current, &.almost-due, &.due, &.long-overdue + color: #fff + + &.current + background-color: #5ba639 + &:hover, &.is-active + background-color: darken(#5ba639, 10) + + &.almost-due + background-color: #edc909 + &:hover, &.is-active + background-color: darken(#edc909, 10) + + &.due + background-color: #fa3f00 + &:hover, &.is-active + background-color: darken(#fa3f00, 10) + + &.long-overdue + background-color: #fd5d47 + &:hover, &.is-active + background-color: darken(#fd5d47, 7) + + time + &::before + font: normal normal normal 14px/1 FontAwesome + font-size: inherit + -webkit-font-smoothing: antialiased + content: "\f017" // clock symbol + margin-right: 0.3em
\ No newline at end of file diff --git a/client/components/cards/cardDetails.jade b/client/components/cards/cardDetails.jade index 734fc7e3..f4212d83 100644 --- a/client/components/cards/cardDetails.jade +++ b/client/components/cards/cardDetails.jade @@ -35,6 +35,17 @@ template(name="cardDetails") a.card-label.add-label.js-add-labels(title="{{_ 'card-labels-title'}}") i.fa.fa-plus + if startAt + .card-details-item.card-details-item-start + h3.card-details-item-title {{_ 'card-start'}} + +cardStartDate + + if dueAt + .card-details-item.card-details-item-due + h3.card-details-item-title {{_ 'card-due'}} + +cardDueDate + + //- XXX We should use "editable" to avoid repetiting ourselves if currentUser.isBoardMember h3.card-details-item-title {{_ 'description'}} @@ -91,6 +102,8 @@ template(name="cardDetailsActionsPopup") li: a.js-members {{_ 'card-edit-members'}} li: a.js-labels {{_ 'card-edit-labels'}} li: a.js-attachments {{_ 'card-edit-attachments'}} + li: a.js-start-date {{_ 'editCardStartDatePopup-title'}} + li: a.js-due-date {{_ 'editCardDueDatePopup-title'}} hr ul.pop-over-list li: a.js-move-card-to-top {{_ 'moveCardToTop-title'}} diff --git a/client/components/cards/cardDetails.js b/client/components/cards/cardDetails.js index b6f17c23..b7e0ef76 100644 --- a/client/components/cards/cardDetails.js +++ b/client/components/cards/cardDetails.js @@ -65,6 +65,9 @@ BlazeComponent.extendComponent({ [`${CSSEvents.transitionend} .js-card-details`]() { this.isLoaded.set(true); }, + [`${CSSEvents.animationend} .js-card-details`]() { + this.isLoaded.set(true); + }, }; return [{ @@ -143,6 +146,8 @@ Template.cardDetailsActionsPopup.events({ 'click .js-members': Popup.open('cardMembers'), 'click .js-labels': Popup.open('cardLabels'), 'click .js-attachments': Popup.open('cardAttachments'), + 'click .js-start-date': Popup.open('editCardStartDate'), + 'click .js-due-date': Popup.open('editCardDueDate'), 'click .js-move-card': Popup.open('moveCard'), 'click .js-move-card-to-top'(evt) { evt.preventDefault(); diff --git a/client/components/cards/cardDetails.styl b/client/components/cards/cardDetails.styl index d7d29551..f209862c 100644 --- a/client/components/cards/cardDetails.styl +++ b/client/components/cards/cardDetails.styl @@ -73,8 +73,13 @@ margin: 15px 0 .card-details-item + margin-right: 0.5em + &:last-child + margin-right: 0 &.card-details-item-labels, - &.card-details-item-members + &.card-details-item-members, + &.card-details-item-start, + &.card-details-item-due width: 50% flex-shrink: 1 diff --git a/client/components/cards/minicard.jade b/client/components/cards/minicard.jade index 1dfd2f8e..edc7d2d3 100644 --- a/client/components/cards/minicard.jade +++ b/client/components/cards/minicard.jade @@ -23,3 +23,9 @@ template(name="minicard") .badge span.badge-icon.fa.fa-paperclip span.badge-text= attachments.count + if startAt + .badge + +minicardStartDate + if dueAt + .badge + +minicardDueDate diff --git a/client/components/cards/minicard.styl b/client/components/cards/minicard.styl index 0f6f8ad2..a61f6067 100644 --- a/client/components/cards/minicard.styl +++ b/client/components/cards/minicard.styl @@ -91,10 +91,13 @@ margin-right: 11px margin-bottom: 3px font-size: 0.9em + + &:last-of-type + margin-right: 0 .badge-icon, .badge-text - vertical-align: top + vertical-align: middle .badge-text font-size: 0.9em diff --git a/client/components/lists/listHeader.jade b/client/components/lists/listHeader.jade index aff059e8..29aa4282 100644 --- a/client/components/lists/listHeader.jade +++ b/client/components/lists/listHeader.jade @@ -6,6 +6,10 @@ template(name="listHeader") h2.list-header-name( class="{{#if currentUser.isBoardMember}}js-open-inlined-form is-editable{{/if}}") = title + if showCardsCountForList cards.count + = cards.count + span.lowercase + | {{_ 'cards'}} if currentUser.isBoardMember if isWatching i.list-header-watch-icon.fa.fa-eye diff --git a/client/components/lists/listHeader.js b/client/components/lists/listHeader.js index 6910c58a..65a464bb 100644 --- a/client/components/lists/listHeader.js +++ b/client/components/lists/listHeader.js @@ -13,6 +13,14 @@ BlazeComponent.extendComponent({ return list.findWatcher(Meteor.userId()); }, + limitToShowCardsCount() { + return Meteor.user().getLimitToShowCardsCount(); + }, + + showCardsCountForList(count) { + return count > this.limitToShowCardsCount(); + }, + events() { return [{ 'click .js-open-list-menu': Popup.open('listAction'), diff --git a/client/components/main/layouts.styl b/client/components/main/layouts.styl index 83d4d693..38fd83ec 100644 --- a/client/components/main/layouts.styl +++ b/client/components/main/layouts.styl @@ -374,3 +374,8 @@ a .wrapper height: 100% margin: 0px + +.inline-input + height: 37px + margin: 8px 10px 0 0 + width: 50px diff --git a/client/components/sidebar/sidebar.jade b/client/components/sidebar/sidebar.jade index 4f5586cb..f3fdd1bc 100644 --- a/client/components/sidebar/sidebar.jade +++ b/client/components/sidebar/sidebar.jade @@ -30,10 +30,13 @@ template(name="membersWidget") .board-widget-content each currentBoard.activeMembers +userAvatar(userId=this.userId showStatus=true) - unless isSandstorm - if currentUser.isBoardAdmin - a.member.add-member.js-manage-board-members + if isSandstorm + if currentUser.isBoardMember + a.member.add-member.sandstorm-powerbox-request-identity i.fa.fa-plus + else if currentUser.isBoardAdmin + a.member.add-member.js-manage-board-members + i.fa.fa-plus .clearfix if isInvited hr diff --git a/client/components/sidebar/sidebar.js b/client/components/sidebar/sidebar.js index 0af32f8f..f32a27c5 100644 --- a/client/components/sidebar/sidebar.js +++ b/client/components/sidebar/sidebar.js @@ -163,6 +163,9 @@ Template.membersWidget.helpers({ Template.membersWidget.events({ 'click .js-member': Popup.open('member'), 'click .js-manage-board-members': Popup.open('addMember'), + 'click .sandstorm-powerbox-request-identity'() { + window.sandstormRequestIdentity(); + }, 'click .js-member-invite-accept'() { const boardId = Session.get('currentBoard'); Meteor.user().removeInvite(boardId); diff --git a/client/components/sidebar/sidebar.styl b/client/components/sidebar/sidebar.styl index 9007af59..24abe990 100644 --- a/client/components/sidebar/sidebar.styl +++ b/client/components/sidebar/sidebar.styl @@ -51,6 +51,7 @@ .member, .card-label margin-right: 7px + margin-top: 5px .sidebar-list-item-description flex: 1 diff --git a/client/components/sidebar/sidebarFilters.jade b/client/components/sidebar/sidebarFilters.jade index 2b326493..deefde82 100644 --- a/client/components/sidebar/sidebarFilters.jade +++ b/client/components/sidebar/sidebarFilters.jade @@ -5,6 +5,12 @@ template(name="filterSidebar") ul.sidebar-list + li(class="{{#if Filter.labelIds.isSelected undefined}}active{{/if}}") + a.name.js-toggle-label-filter + span.sidebar-list-item-description + {{_ 'filter-no-label'}} + if Filter.labelIds.isSelected undefined + i.fa.fa-check each currentBoard.labels li a.name.js-toggle-label-filter @@ -18,6 +24,12 @@ template(name="filterSidebar") i.fa.fa-check hr ul.sidebar-list + li(class="{{#if Filter.members.isSelected undefined}}active{{/if}}") + a.name.js-toggle-member-filter + span.sidebar-list-item-description + {{_ 'filter-no-member'}} + if Filter.members.isSelected undefined + i.fa.fa-check each currentBoard.activeMembers with getUser userId li(class="{{#if Filter.members.isSelected _id}}active{{/if}}") diff --git a/client/components/users/userHeader.jade b/client/components/users/userHeader.jade index a71e7fc7..ad41e8aa 100644 --- a/client/components/users/userHeader.jade +++ b/client/components/users/userHeader.jade @@ -12,10 +12,11 @@ template(name="memberMenuPopup") ul.pop-over-list with currentUser li: a.js-edit-profile {{_ 'edit-profile'}} - li: a.js-change-avatar {{_ 'edit-avatar'}} - li: a.js-change-password {{_ 'changePasswordPopup-title'}} - li: a.js-change-language {{_ 'changeLanguagePopup-title'}} - li: a.js-edit-notification {{_ 'editNotificationPopup-title'}} + li: a.js-change-settings {{_ 'change-settings'}} + li: a.js-change-avatar {{_ 'edit-avatar'}} + li: a.js-change-password {{_ 'changePasswordPopup-title'}} + li: a.js-change-language {{_ 'changeLanguagePopup-title'}} + li: a.js-edit-notification {{_ 'editNotificationPopup-title'}} hr ul.pop-over-list li: a.js-logout {{_ 'log-out'}} @@ -27,6 +28,8 @@ template(name="editProfilePopup") input.js-profile-fullname(type="text" value=profile.fullname autofocus) label | {{_ 'username'}} + span.error.hide.username-taken + | {{_ 'error-username-taken'}} input.js-profile-username(type="text" value=username) label | {{_ 'initials'}} @@ -61,3 +64,16 @@ template(name="changeLanguagePopup") = name if isCurrentLanguage i.fa.fa-check + +template(name="changeSettingsPopup") + ul.pop-over-list + li + a.js-toggle-system-messages + | {{_ 'hide-system-messages'}} + if hiddenSystemMessages + i.fa.fa-check + li + label.bold + | {{_ 'show-cards-minimum-count'}} + input#show-cards-count-at.inline-input.left(type="number" value="#{showCardsCountAt}" min="1" max="99" onkeydown="return false") + input.js-apply-show-cards-at.left(type="submit" value="{{_ 'apply'}}") diff --git a/client/components/users/userHeader.js b/client/components/users/userHeader.js index 10fdf699..98053ed1 100644 --- a/client/components/users/userHeader.js +++ b/client/components/users/userHeader.js @@ -5,6 +5,7 @@ Template.headerUserBar.events({ Template.memberMenuPopup.events({ 'click .js-edit-profile': Popup.open('editProfile'), + 'click .js-change-settings': Popup.open('changeSettings'), 'click .js-change-avatar': Popup.open('changeAvatar'), 'click .js-change-password': Popup.open('changePassword'), 'click .js-change-language': Popup.open('changeLanguage'), @@ -26,11 +27,18 @@ Template.editProfilePopup.events({ 'profile.fullname': fullname, 'profile.initials': initials, }}); - // XXX We should report the error to the user. + if (username !== Meteor.user().username) { - Meteor.call('setUsername', username); - } - Popup.back(); + Meteor.call('setUsername', username, function(error) { + const messageElement = tpl.$('.username-taken'); + if (error) { + messageElement.show(); + } else { + messageElement.hide(); + Popup.back(); + } + }); + } else Popup.back(); }, }); @@ -82,3 +90,26 @@ Template.changeLanguagePopup.events({ evt.preventDefault(); }, }); + +Template.changeSettingsPopup.helpers({ + hiddenSystemMessages() { + return Meteor.user().hasHiddenSystemMessages(); + }, + showCardsCountAt() { + return Meteor.user().getLimitToShowCardsCount(); + }, +}); + +Template.changeSettingsPopup.events({ + 'click .js-toggle-system-messages'() { + Meteor.call('toggleSystemMessages'); + }, + 'click .js-apply-show-cards-at'(evt, tpl) { + evt.preventDefault(); + const minLimit = parseInt(tpl.$('#show-cards-count-at').val(), 10); + if (!isNaN(minLimit)) { + Meteor.call('changeLimitToShowCardsCount', minLimit); + Popup.back(); + } + }, +}); diff --git a/client/lib/filter.js b/client/lib/filter.js index 74305284..8129776b 100644 --- a/client/lib/filter.js +++ b/client/lib/filter.js @@ -63,6 +63,17 @@ class SetFilter { this._dep.depend(); return { $in: this._selectedElements }; } + + _getEmptySelector() { + this._dep.depend(); + let includeEmpty = false; + this._selectedElements.forEach((el) => { + if (el === undefined) { + includeEmpty = true; + } + }); + return includeEmpty ? { $eq: [] } : null; + } } // The global Filter object. @@ -95,16 +106,26 @@ Filter = { return {}; const filterSelector = {}; + const emptySelector = {}; + let includeEmptySelectors = false; this._fields.forEach((fieldName) => { const filter = this[fieldName]; - if (filter._isActive()) + if (filter._isActive()) { filterSelector[fieldName] = filter._getMongoSelector(); + emptySelector[fieldName] = filter._getEmptySelector(); + if (emptySelector[fieldName] !== null) { + includeEmptySelectors = true; + } + } }); const exceptionsSelector = {_id: {$in: this._exceptions}}; this._exceptionsDep.depend(); - return {$or: [filterSelector, exceptionsSelector]}; + if (includeEmptySelectors) + return {$or: [filterSelector, exceptionsSelector, emptySelector]}; + else + return {$or: [filterSelector, exceptionsSelector]}; }, mongoSelector(additionalSelector) { diff --git a/client/lib/i18n.js b/client/lib/i18n.js index a03fb398..34a789e1 100644 --- a/client/lib/i18n.js +++ b/client/lib/i18n.js @@ -2,20 +2,19 @@ // the language reactively. If the user is not connected we use the language // information provided by the browser, and default to english. -Tracker.autorun(() => { - const currentUser = Meteor.user(); - let language; - if (currentUser) { - language = currentUser.profile && currentUser.profile.language; - } else { - language = navigator.language || navigator.userLanguage; - } +Meteor.startup(() => { + Tracker.autorun(() => { + const currentUser = Meteor.user(); + let language; + if (currentUser && currentUser.profile && currentUser.profile.language) { + language = currentUser.profile.language; + } else { + language = navigator.language || navigator.userLanguage; + } - if (language) { - TAPi18n.setLanguage(language); - - // XXX - const shortLanguage = language.split('-')[0]; - T9n.setLanguage(shortLanguage); - } + if (language) { + TAPi18n.setLanguage(language); + T9n.setLanguage(language); + } + }); }); diff --git a/i18n/ar.i18n.json b/i18n/ar.i18n.json index 8528068f..4e84cbf7 100755..100644 --- a/i18n/ar.i18n.json +++ b/i18n/ar.i18n.json @@ -1,5 +1,25 @@ { "accept": "Accept", + "act-activity-notify": "[Wekan] Activity Notification", + "act-addAttachment": "attached __attachment__ to __card__", + "act-addComment": "commented on __card__: __comment__", + "act-createBoard": "created __board__", + "act-createCard": "added __card__ to __list__", + "act-createList": "added __list__ to __board__", + "act-addBoardMember": "added __member__ to __board__", + "act-archivedBoard": "archived __board__", + "act-archivedCard": "archived __card__", + "act-archivedList": "archived __list__", + "act-importBoard": "imported __board__", + "act-importCard": "imported __card__", + "act-importList": "imported __list__", + "act-joinMember": "added __member__ to __card__", + "act-moveCard": "moved __card__ from __oldList__ to __list__", + "act-removeBoardMember": "removed __member__ from __board__", + "act-restoredCard": "restored __card__ to __board__", + "act-unjoinMember": "removed __member__ from __card__", + "act-withBoardTitle": "[Wekan] __board__", + "act-withCardTitle": "[__board__] __card__", "actions": "الإجراءات", "activities": "الأنشطة", "activity": "النشاط", @@ -31,6 +51,8 @@ "all-boards": "كل اللوحات", "and-n-other-card": "And __count__ other بطاقة", "and-n-other-card_plural": "And __count__ other بطاقات", + "apply": "Apply", + "app-is-offline": "The application is currently offline, refreshing the page will cause data loss.", "archive": "أرشف", "archive-all": "أرشف الكل", "archive-board": "أرشف اللوحة", @@ -46,6 +68,7 @@ "attachment-delete-pop": "حذف المرق هو حذف نهائي . لا يمكن التراجع إذا حذف.", "attachmentDeletePopup-title": "تريد حذف المرفق ?", "attachments": "المرفقات", + "auto-watch": "Automatically watch boards when create it", "avatar-too-big": "حجم ملف الصورة الخاصة بك كبير . لا يمكن أن تتجاوز 70 كيلو أكتي", "back": "رجوع", "board-change-color": "تغيير اللومr", @@ -56,7 +79,7 @@ "boardChangeColorPopup-title": "تعديل خلفية الشاشة", "boardChangeTitlePopup-title": "إعادة تسمية اللوحة", "boardChangeVisibilityPopup-title": "تعديل وضوح الرؤية", - "boardImportBoardPopup-title": "Import board from Trello", + "boardChangeWatchPopup-title": "Change Watch", "boardMenuPopup-title": "قائمة اللوحة", "boards": "لوحات", "bucket-example": "مثل « todo list » على سبيل المثال", @@ -66,11 +89,15 @@ "card-delete-notice": "هذا حذف أبديّ . سوف تفقد كل الإجراءات المنوطة بهذه البطاقة", "card-delete-pop": "سيتم إزالة جميع الإجراءات من تبعات النشاط، وأنك لن تكون قادرا على إعادة فتح البطاقة. لا يوجد التراجع.", "card-delete-suggest-archive": "يمكنك أرشفة بطاقة لحذفها من اللوحة والمحافظة على النشاط.", + "card-due": "Due", + "card-due-on": "Due on", "card-edit-attachments": "تعديل المرفقات", "card-edit-labels": "تعديل العلامات", "card-edit-members": "تعديل الأعضاء", "card-labels-title": "تعديل علامات البطاقة.", "card-members-title": "إضافة او حذف أعضاء للبطاقة.", + "card-start": "Start", + "card-start-on": "Starts on", "cardAttachmentsPopup-title": "إرفاق من", "cardDeletePopup-title": "حذف البطاقة ?", "cardDetailsActionsPopup-title": "إجراءات على البطاقة", @@ -82,13 +109,15 @@ "change-avatar": "تعديل الصورة الشخصية", "change-password": "تغيير كلمة المرور", "change-permissions": "تعديل الصلاحيات", + "change-settings": "Change Settings", "changeAvatarPopup-title": "تعديل الصورة الشخصية", "changeLanguagePopup-title": "تغيير اللغة", "changePasswordPopup-title": "تغيير كلمة المرور", "changePermissionsPopup-title": "تعديل الصلاحيات", + "changeSettingsPopup-title": "Change Settings", "click-to-star": "اضغط لإضافة اللوحة للمفضلة.", "click-to-unstar": "اضغط لحذف اللوحة من المفضلة.", - "clipboard": "Clipboard or drag & drop", + "clipboard" : "Clipboard or drag & drop", "close": "غلق", "close-board": "غلق اللوحة", "close-board-pop": "You will be able to restore the board by clicking the “Archives” button from the home header.", @@ -109,6 +138,7 @@ "createBoardPopup-title": "إنشاء لوحة", "createLabelPopup-title": "إنشاء علامة", "current": "الحالي", + "date": "Date", "decline": "Decline", "default-avatar": "صورة شخصية افتراضية", "delete": "حذف", @@ -122,7 +152,10 @@ "edit": "تعديل", "edit-avatar": "تعديل الصورة الشخصية", "edit-profile": "تعديل الملف الشخصي", + "editCardStartDatePopup-title": "Change start date", + "editCardDueDatePopup-title": "Change due date", "editLabelPopup-title": "تعديل العلامة", + "editNotificationPopup-title": "Edit Notification", "editProfilePopup-title": "تعديل الملف الشخصي", "email": "البريد الإلكتروني", "email-enrollAccount-subject": "An account created for you on __siteName__", @@ -146,27 +179,33 @@ "error-user-doesNotExist": "This user does not exist", "error-user-notAllowSelf": "This action on self is not allowed", "error-user-notCreated": "This user is not created", + "error-username-taken": "This username is already taken", "export-board": "Export board", "filter": "تصفية", "filter-cards": "تصفية البطاقات", "filter-clear": "مسح التصفية", + "filter-no-label": "No label", + "filter-no-member": "No member", "filter-on": "التصفية تشتغل", "filter-on-desc": "أنت بصدد تصفية بطاقات هذه اللوحة. اضغط هنا لتعديل التصفية.", "filter-to-selection": "تصفية بالتحديد", "fullname": "الإسم الكامل", "header-logo-title": "الرجوع إلى صفحة اللوحات", + "hide-system-messages": "Hide system messages", "home": "الرئيسية", "import": "Import", "import-board": "import from Trello", + "import-board-title": "Import board from Trello", "import-board-trello-instruction": "In your Trello board, go to 'Menu', then 'More', 'Print and Export', 'Export JSON', and copy the resulting text", - "import-card": "Import a Trello card", - "import-card-trello-instruction": "Go to a Trello card, select 'Share and more...' then 'Export JSON' and copy the resulting text", "import-json-placeholder": "Paste your valid JSON data here", + "import-map-members": "Map members", "import-members-map": "Your imported board has some members. Please map the members you want to import to Wekan users", "import-show-user-mapping": "Review members mapping", "import-user-select": "Pick the Wekan user you want to use as this member", + "importMapMembersAddPopup-title": "Select Wekan member", "info": "معلومات", "initials": "أولية", + "invalid-date": "Invalid date", "joined": "انضمّ", "just-invited": "You are just invited to this board", "keyboard-shortcuts": "اختصار لوحة المفاتيح", @@ -186,17 +225,20 @@ "listImportCardPopup-title": "Import a Trello card", "lists": "القائمات", "log-out": "تسجيل الخروج", + "log-in": "Log In", "loginPopup-title": "تسجيل الدخول", - "mapMembersAddPopup-title": "Select Wekan member", - "mapMembersPopup-title": "Map members", "memberMenuPopup-title": "أفضليات الأعضاء", "members": "أعضاء", "menu": "القائمة", "move-selection": "Move selection", "moveCardPopup-title": "نقل البطاقة", + "moveCardToBottom-title": "Move to Bottom", + "moveCardToTop-title": "Move to Top", "moveSelectionPopup-title": "Move selection", "multi-selection": "تحديد أكثر من واحدة", "multi-selection-on": "Multi-Selection is on", + "muted": "Muted", + "muted-info": "You will never be notified of any changes in this board", "my-boards": "لوحاتي", "name": "اسم", "no-archived-cards": "لا يوجد بطاقة في الأرشيف.", @@ -205,12 +247,15 @@ "normal": "عادي", "normal-desc": "يمكن مشاهدة و تعديل البطاقات. لا يمكن تغيير إعدادات الضبط.", "not-accepted-yet": "Invitation not accepted yet", + "notify-participate": "Receive updates to any cards you participate as creater or member", + "notify-watch": "Receive updates to any boards, lists, or cards you’re watching", "optional": "اختياري", "or": "or", "page-maybe-private": "قدتكون هذه الصفحة خاصة . قد تستطيع مشاهدتها ب <a href='%s'>تسجيل الدخول</a>.", "page-not-found": "صفحة غير موجودة", "password": "كلمة المرور", "paste-or-dragdrop": "to paste, or drag & drop image file to it (image only)", + "participating": "Participating", "preview": "Preview", "previewAttachedImagePopup-title": "Preview", "previewClipboardImagePopup-title": "Preview", @@ -243,6 +288,7 @@ "shortcut-show-shortcuts": "عرض قائمة الإختصارات ،تلك", "shortcut-toggle-filterbar": "Toggle Filter Sidebar", "shortcut-toggle-sidebar": "إظهار-إخفاء الشريط الجانبي للوحة", + "show-cards-minimum-count": "Show cards count if list contains more than", "signupPopup-title": "إنشاء حساب", "star-board-title": "اضغط لإضافة هذه اللوحة إلى المفضلة . سوف يتم إظهارها على رأس بقية اللوحات.", "starred-boards": "اللوحات المفضلة", @@ -251,14 +297,24 @@ "team": "فريق", "this-board": "هذه اللوحة", "this-card": "هذه البطاقة", + "time": "Time", "title": "عنوان", + "tracking": "Tracking", + "tracking-info": "You will be notified of any changes to those cards you are involved as creator or member.", "unassign-member": "إلغاء تعيين العضو", "unsaved-description": "لديك وصف غير محفوظ", + "unwatch": "Unwatch", "upload": "Upload", "upload-avatar": "رفع صورة شخصية", "uploaded-avatar": "تم رفع الصورة الشخصية", "username": "اسم المستخدم", "view-it": "شاهدها", "warn-list-archived": "انتبه : هذه البطاقة في أرشيف القائمات", + "watch": "Watch", + "watching": "Watching", + "watching-info": "You will be notified of any change in this board", + "welcome-board": "Welcome Board", + "welcome-list1": "Basics", + "welcome-list2": "Advanced", "what-to-do": "ماذا تريد أن تنجز?" } diff --git a/i18n/br.i18n.json b/i18n/br.i18n.json new file mode 100644 index 00000000..5e313ac2 --- /dev/null +++ b/i18n/br.i18n.json @@ -0,0 +1,319 @@ +{ + "accept": "Asantiñ", + "act-activity-notify": "[Wekan] Activity Notification", + "act-addAttachment": "attached __attachment__ to __card__", + "act-addComment": "commented on __card__: __comment__", + "act-createBoard": "created __board__", + "act-createCard": "added __card__ to __list__", + "act-createList": "added __list__ to __board__", + "act-addBoardMember": "added __member__ to __board__", + "act-archivedBoard": "archived __board__", + "act-archivedCard": "archived __card__", + "act-archivedList": "archived __list__", + "act-importBoard": "imported __board__", + "act-importCard": "imported __card__", + "act-importList": "imported __list__", + "act-joinMember": "added __member__ to __card__", + "act-moveCard": "moved __card__ from __oldList__ to __list__", + "act-removeBoardMember": "removed __member__ from __board__", + "act-restoredCard": "restored __card__ to __board__", + "act-unjoinMember": "removed __member__ from __card__", + "act-withBoardTitle": "[Wekan] __board__", + "act-withCardTitle": "[__board__] __card__", + "actions": "Oberoù", + "activities": "Oberiantizoù", + "activity": "Oberiantiz", + "activity-added": "%s ouzhpennet da %s", + "activity-archived": "%s diellaouet", + "activity-attached": "%s liammet ouzh %s", + "activity-created": "%s krouet", + "activity-excluded": "excluded %s from %s", + "activity-imported": "%s enporzhiet eus %s da %s", + "activity-imported-board": "%s enporzhiet da %s", + "activity-joined": "joined %s", + "activity-moved": "moved %s from %s to %s", + "activity-on": "on %s", + "activity-removed": "removed %s from %s", + "activity-sent": "sent %s to %s", + "activity-unjoined": "unjoined %s", + "add": "Ouzhpenn", + "add-attachment": "Add an attachment", + "add-board": "Add a new board", + "add-card": "Ouzhpenn ur gartenn", + "add-cover": "Ouzphenn ur golo", + "add-label": "Ouzhpenn an titl", + "add-list": "Ouzhpenn ur roll", + "add-members": "Ouzhpenn izili", + "added": "Ouzhpennet", + "addMemberPopup-title": "Izili", + "admin": "Merour", + "admin-desc": "Can view and edit cards, remove members, and change settings for the board.", + "all-boards": "All boards", + "and-n-other-card": "And __count__ other card", + "and-n-other-card_plural": "And __count__ other cards", + "apply": "Apply", + "app-is-offline": "The application is currently offline, refreshing the page will cause data loss.", + "archive": "Archive", + "archive-all": "Archive All", + "archive-board": "Archive Board", + "archive-card": "Archive Card", + "archive-list": "Archive this list", + "archive-selection": "Archive selection", + "archiveBoardPopup-title": "Archive Board?", + "archived-items": "Archived Items", + "archives": "Archives", + "assign-member": "Assign member", + "attached": "attached", + "attachment": "Attachment", + "attachment-delete-pop": "Deleting an attachment is permanent. There is no undo.", + "attachmentDeletePopup-title": "Delete Attachment?", + "attachments": "Attachments", + "auto-watch": "Automatically watch boards when create it", + "avatar-too-big": "The avatar is too large (70Kb max)", + "back": "Back", + "board-change-color": "Kemmañ al liv", + "board-nb-stars": "%s stered", + "board-not-found": "Board not found", + "board-private-info": "This board will be <strong>private</strong>.", + "board-public-info": "This board will be <strong>public</strong>.", + "boardChangeColorPopup-title": "Change Board Background", + "boardChangeTitlePopup-title": "Rename Board", + "boardChangeVisibilityPopup-title": "Change Visibility", + "boardChangeWatchPopup-title": "Change Watch", + "boardMenuPopup-title": "Board Menu", + "boards": "Boards", + "bucket-example": "Like “Bucket List” for example", + "cancel": "Cancel", + "card-archived": "This card is archived.", + "card-comments-title": "This card has %s comment.", + "card-delete-notice": "Deleting is permanent. You will lose all actions associated with this card.", + "card-delete-pop": "All actions will be removed from the activity feed and you won't be able to re-open the card. There is no undo.", + "card-delete-suggest-archive": "You can archive a card to remove it from the board and preserve the activity.", + "card-due": "Due", + "card-due-on": "Due on", + "card-edit-attachments": "Edit attachments", + "card-edit-labels": "Edit labels", + "card-edit-members": "Edit members", + "card-labels-title": "Change the labels for the card.", + "card-members-title": "Add or remove members of the board from the card.", + "card-start": "Start", + "card-start-on": "Starts on", + "cardAttachmentsPopup-title": "Attach From", + "cardDeletePopup-title": "Diverkañ ar gartenn ?", + "cardDetailsActionsPopup-title": "Card Actions", + "cardLabelsPopup-title": "Labels", + "cardMembersPopup-title": "Izili", + "cardMorePopup-title": "Muioc’h", + "cards": "Kartennoù", + "change": "Change", + "change-avatar": "Change Avatar", + "change-password": "Kemmañ ger-tremen", + "change-permissions": "Change permissions", + "change-settings": "Change Settings", + "changeAvatarPopup-title": "Change Avatar", + "changeLanguagePopup-title": "Change Language", + "changePasswordPopup-title": "Kemmañ ger-tremen", + "changePermissionsPopup-title": "Change Permissions", + "changeSettingsPopup-title": "Change Settings", + "click-to-star": "Click to star this board.", + "click-to-unstar": "Click to unstar this board.", + "clipboard" : "Clipboard or drag & drop", + "close": "Close", + "close-board": "Close Board", + "close-board-pop": "You will be able to restore the board by clicking the “Archives” button from the home header.", + "color-black": "du", + "color-blue": "glas", + "color-green": "gwer", + "color-lime": "melen sitroñs", + "color-orange": "orañjez", + "color-pink": "roz", + "color-purple": "mouk", + "color-red": "ruz", + "color-sky": "pers", + "color-yellow": "melen", + "comment": "Comment", + "comment-placeholder": "Write a comment", + "computer": "Computer", + "create": "Krouiñ", + "createBoardPopup-title": "Create Board", + "createLabelPopup-title": "Create Label", + "current": "current", + "date": "Date", + "decline": "Decline", + "default-avatar": "Default avatar", + "delete": "Diverkañ", + "deleteLabelPopup-title": "Delete Label?", + "description": "Description", + "disambiguateMultiLabelPopup-title": "Disambiguate Label Action", + "disambiguateMultiMemberPopup-title": "Disambiguate Member Action", + "discard": "Discard", + "done": "Graet", + "download": "Download", + "edit": "Kemmañ", + "edit-avatar": "Change Avatar", + "edit-profile": "Edit Profile", + "editCardStartDatePopup-title": "Change start date", + "editCardDueDatePopup-title": "Change due date", + "editLabelPopup-title": "Change Label", + "editNotificationPopup-title": "Edit Notification", + "editProfilePopup-title": "Edit Profile", + "email": "Email", + "email-enrollAccount-subject": "An account created for you on __siteName__", + "email-enrollAccount-text": "Hello __user__,\n\nTo start using the service, simply click the link below.\n\n__url__\n\nThanks.", + "email-fail": "Sending email failed", + "email-invalid": "Invalid email", + "email-invite": "Invite via Email", + "email-invite-subject": "__inviter__ sent you an invitation", + "email-invite-text": "Dear __user__,\n\n__inviter__ invites you to join board \"__board__\" for collaborations.\n\nPlease follow the link below:\n\n__url__\n\nThanks.", + "email-resetPassword-subject": "Reset your password on __siteName__", + "email-resetPassword-text": "Hello __user__,\n\nTo reset your password, simply click the link below.\n\n__url__\n\nThanks.", + "email-sent": "Email sent", + "email-verifyEmail-subject": "Verify your email address on __siteName__", + "email-verifyEmail-text": "Hello __user__,\n\nTo verify your account email, simply click the link below.\n\n__url__\n\nThanks.", + "error-board-doesNotExist": "This board does not exist", + "error-board-notAdmin": "You need to be admin of this board to do that", + "error-board-notAMember": "You need to be a member of this board to do that", + "error-json-malformed": "Your text is not valid JSON", + "error-json-schema": "Your JSON data does not include the proper information in the correct format", + "error-list-doesNotExist": "This list does not exist", + "error-user-doesNotExist": "This user does not exist", + "error-user-notAllowSelf": "This action on self is not allowed", + "error-user-notCreated": "This user is not created", + "error-username-taken": "This username is already taken", + "export-board": "Export board", + "filter": "Filter", + "filter-cards": "Filter Cards", + "filter-clear": "Clear filter", + "filter-no-label": "No label", + "filter-no-member": "No member", + "filter-on": "Filter is on", + "filter-on-desc": "You are filtering cards on this board. Click here to edit filter.", + "filter-to-selection": "Filter to selection", + "fullname": "Full Name", + "header-logo-title": "Go back to your boards page.", + "hide-system-messages": "Hide system messages", + "home": "Home", + "import": "Import", + "import-board": "import from Trello", + "import-board-title": "Import board from Trello", + "import-board-trello-instruction": "In your Trello board, go to 'Menu', then 'More', 'Print and Export', 'Export JSON', and copy the resulting text", + "import-json-placeholder": "Paste your valid JSON data here", + "import-map-members": "Map members", + "import-members-map": "Your imported board has some members. Please map the members you want to import to Wekan users", + "import-show-user-mapping": "Review members mapping", + "import-user-select": "Pick the Wekan user you want to use as this member", + "importMapMembersAddPopup-title": "Select Wekan member", + "info": "Infos", + "initials": "Initials", + "invalid-date": "Invalid date", + "joined": "joined", + "just-invited": "You are just invited to this board", + "keyboard-shortcuts": "Keyboard shortcuts", + "label-create": "Create a new label", + "label-default": "%s label (default)", + "label-delete-pop": "There is no undo. This will remove this label from all cards and destroy its history.", + "labels": "Labels", + "language": "Yezh", + "last-admin-desc": "You can’t change roles because there must be at least one admin.", + "leave-board": "Leave Board", + "link-card": "Link to this card", + "list-archive-cards": "Archive all cards in this list", + "list-archive-cards-pop": "This will remove all the cards in this list from the board. To view archived cards and bring them back to the board, click “Menu” > “Archived Items”.", + "list-move-cards": "Move all cards in this list", + "list-select-cards": "Select all cards in this list", + "listActionPopup-title": "List Actions", + "listImportCardPopup-title": "Import a Trello card", + "lists": "Lists", + "log-out": "Log Out", + "log-in": "Log In", + "loginPopup-title": "Log In", + "memberMenuPopup-title": "Member Settings", + "members": "Izili", + "menu": "Menu", + "move-selection": "Move selection", + "moveCardPopup-title": "Move Card", + "moveCardToBottom-title": "Move to Bottom", + "moveCardToTop-title": "Move to Top", + "moveSelectionPopup-title": "Move selection", + "multi-selection": "Multi-Selection", + "multi-selection-on": "Multi-Selection is on", + "muted": "Muted", + "muted-info": "You will never be notified of any changes in this board", + "my-boards": "My Boards", + "name": "Name", + "no-archived-cards": "No archived cards.", + "no-archived-lists": "No archived lists.", + "no-results": "No results", + "normal": "Normal", + "normal-desc": "Can view and edit cards. Can't change settings.", + "not-accepted-yet": "Invitation not accepted yet", + "notify-participate": "Receive updates to any cards you participate as creater or member", + "notify-watch": "Receive updates to any boards, lists, or cards you’re watching", + "optional": "optional", + "or": "or", + "page-maybe-private": "This page may be private. You may be able to view it by <a href='%s'>logging in</a>.", + "page-not-found": "Page not found.", + "password": "Ger-tremen", + "paste-or-dragdrop": "to paste, or drag & drop image file to it (image only)", + "participating": "Participating", + "preview": "Preview", + "previewAttachedImagePopup-title": "Preview", + "previewClipboardImagePopup-title": "Preview", + "private": "Private", + "private-desc": "This board is private. Only people added to the board can view and edit it.", + "profile": "Profile", + "public": "Public", + "public-desc": "This board is public. It's visible to anyone with the link and will show up in search engines like Google. Only people added to the board can edit.", + "quick-access-description": "Star a board to add a shortcut in this bar.", + "remove-cover": "Remove Cover", + "remove-from-board": "Remove from Board", + "remove-label": "Remove the label", + "remove-member": "Remove Member", + "remove-member-from-card": "Remove from Card", + "remove-member-pop": "Remove __name__ (__username__) from __boardTitle__? The member will be removed from all cards on this board. They will receive a notification.", + "removeMemberPopup-title": "Remove Member?", + "rename": "Rename", + "rename-board": "Rename Board", + "restore": "Restore", + "save": "Save", + "search": "Search", + "select-color": "Select a color", + "shortcut-assign-self": "Assign yourself to current card", + "shortcut-autocomplete-emoji": "Autocomplete emoji", + "shortcut-autocomplete-members": "Autocomplete members", + "shortcut-clear-filters": "Clear all filters", + "shortcut-close-dialog": "Close Dialog", + "shortcut-filter-my-cards": "Filter my cards", + "shortcut-show-shortcuts": "Bring up this shortcuts list", + "shortcut-toggle-filterbar": "Toggle Filter Sidebar", + "shortcut-toggle-sidebar": "Toggle Board Sidebar", + "show-cards-minimum-count": "Show cards count if list contains more than", + "signupPopup-title": "Create an Account", + "star-board-title": "Click to star this board. It will show up at top of your boards list.", + "starred-boards": "Starred Boards", + "starred-boards-description": "Starred boards show up at the top of your boards list.", + "subscribe": "Subscribe", + "team": "Team", + "this-board": "this board", + "this-card": "this card", + "time": "Time", + "title": "Title", + "tracking": "Tracking", + "tracking-info": "You will be notified of any changes to those cards you are involved as creator or member.", + "unassign-member": "Unassign member", + "unsaved-description": "You have an unsaved description.", + "unwatch": "Unwatch", + "upload": "Upload", + "upload-avatar": "Upload an avatar", + "uploaded-avatar": "Uploaded an avatar", + "username": "Username", + "view-it": "View it", + "warn-list-archived": "warning: this card is in an archived list", + "watch": "Watch", + "watching": "Watching", + "watching-info": "You will be notified of any change in this board", + "welcome-board": "Welcome Board", + "welcome-list1": "Basics", + "welcome-list2": "Advanced", + "what-to-do": "What do you want to do?" +} diff --git a/i18n/ca.i18n.json b/i18n/ca.i18n.json index ba6e1b13..42737613 100755..100644 --- a/i18n/ca.i18n.json +++ b/i18n/ca.i18n.json @@ -1,5 +1,25 @@ { "accept": "Accepta", + "act-activity-notify": "[Wekan] Activity Notification", + "act-addAttachment": "attached __attachment__ to __card__", + "act-addComment": "commented on __card__: __comment__", + "act-createBoard": "created __board__", + "act-createCard": "added __card__ to __list__", + "act-createList": "added __list__ to __board__", + "act-addBoardMember": "added __member__ to __board__", + "act-archivedBoard": "archived __board__", + "act-archivedCard": "archived __card__", + "act-archivedList": "archived __list__", + "act-importBoard": "imported __board__", + "act-importCard": "imported __card__", + "act-importList": "imported __list__", + "act-joinMember": "added __member__ to __card__", + "act-moveCard": "moved __card__ from __oldList__ to __list__", + "act-removeBoardMember": "removed __member__ from __board__", + "act-restoredCard": "restored __card__ to __board__", + "act-unjoinMember": "removed __member__ from __card__", + "act-withBoardTitle": "[Wekan] __board__", + "act-withCardTitle": "[__board__] __card__", "actions": "Accions", "activities": "Activitats", "activity": "Activitat", @@ -31,6 +51,8 @@ "all-boards": "Tots els taulers", "and-n-other-card": "And __count__ other card", "and-n-other-card_plural": "And __count__ other cards", + "apply": "Apply", + "app-is-offline": "The application is currently offline, refreshing the page will cause data loss.", "archive": "Desa", "archive-all": "Desa Tot", "archive-board": "Arxiva tauler", @@ -46,6 +68,7 @@ "attachment-delete-pop": "L'esborrat d'un arxiu adjunt és permanent. No es pot desfer.", "attachmentDeletePopup-title": "Esborrar adjunt?", "attachments": "Adjunts", + "auto-watch": "Automatically watch boards when create it", "avatar-too-big": "L'avatar és massa gran (70Kb max)", "back": "Enrere", "board-change-color": "Canvia el color", @@ -56,7 +79,7 @@ "boardChangeColorPopup-title": "Canvia fons", "boardChangeTitlePopup-title": "Canvia el nom tauler", "boardChangeVisibilityPopup-title": "Canvia visibilitat", - "boardImportBoardPopup-title": "Importa tauler des de Trello", + "boardChangeWatchPopup-title": "Change Watch", "boardMenuPopup-title": "Menú del tauler", "boards": "Taulers", "bucket-example": "Igual que “Bucket List”, per exemple", @@ -66,11 +89,15 @@ "card-delete-notice": "L'esborrat és permanent. Perdreu totes les accions associades a aquesta fitxa.", "card-delete-pop": "Totes les accions s'eliminaran de l'activitat i no podreu tornar a obrir la fitxa. No es pot desfer.", "card-delete-suggest-archive": "Podeu arxivar una fitxa per extreure-la del tauler i preservar l'activitat.", + "card-due": "Due", + "card-due-on": "Due on", "card-edit-attachments": "Edita arxius adjunts", "card-edit-labels": "Edita etiquetes", "card-edit-members": "Edita membres", "card-labels-title": "Canvia les etiquetes de la fitxa", "card-members-title": "Afegeix o eliminar membres del tauler des de la fitxa.", + "card-start": "Start", + "card-start-on": "Starts on", "cardAttachmentsPopup-title": "Adjunta des de", "cardDeletePopup-title": "Esborrar fitxa?", "cardDetailsActionsPopup-title": "Accions de fitxes", @@ -82,13 +109,15 @@ "change-avatar": "Canvia Avatar", "change-password": "Canvia la clau", "change-permissions": "Canvia permisos", + "change-settings": "Change Settings", "changeAvatarPopup-title": "Canvia Avatar", "changeLanguagePopup-title": "Canvia idioma", "changePasswordPopup-title": "Canvia la contrasenya", "changePermissionsPopup-title": "Canvia permisos", + "changeSettingsPopup-title": "Change Settings", "click-to-star": "Fes clic per destacar aquest tauler.", "click-to-unstar": "Fes clic per deixar de destacar aquest tauler.", - "clipboard": "Portaretalls o estirar i amollar", + "clipboard" : "Portaretalls o estirar i amollar", "close": "Tanca", "close-board": "Tanca tauler", "close-board-pop": "Podràs restaurar el tauler, seleccionant \"Arxivats\" de la finistra principal", @@ -109,6 +138,7 @@ "createBoardPopup-title": "Crea tauler", "createLabelPopup-title": "Crea etiqueta", "current": "Actual", + "date": "Date", "decline": "Declina", "default-avatar": "Avatar per defecte", "delete": "Esborra", @@ -122,7 +152,10 @@ "edit": "Edita", "edit-avatar": "Canvia Avatar", "edit-profile": "Edita el teu Perfil", + "editCardStartDatePopup-title": "Change start date", + "editCardDueDatePopup-title": "Change due date", "editLabelPopup-title": "Canvia etiqueta", + "editNotificationPopup-title": "Edit Notification", "editProfilePopup-title": "Edita teu Perfil", "email": "Correu electrònic", "email-enrollAccount-subject": "An account created for you on __siteName__", @@ -146,27 +179,33 @@ "error-user-doesNotExist": "L'usuari no existeix", "error-user-notAllowSelf": "Aquesta acció no està permesa", "error-user-notCreated": "L'usuari no s'ha creat", + "error-username-taken": "This username is already taken", "export-board": "Export board", "filter": "Filtre", "filter-cards": "Fitxes de filtre", "filter-clear": "Elimina filtre", + "filter-no-label": "No label", + "filter-no-member": "No member", "filter-on": "Filtra per", "filter-on-desc": "Estau filtrant fitxes en aquest tauler. Feu clic aquí per editar el filtre.", "filter-to-selection": "Filtra selecció", "fullname": "Nom complet", "header-logo-title": "Torna a la teva pàgina de taulers", + "hide-system-messages": "Hide system messages", "home": "Inici", "import": "importa", "import-board": "Importa des de Trello", + "import-board-title": "Import board from Trello", "import-board-trello-instruction": "En el teu tauler Trello, ves a 'Menú', 'Més'.' Imprimir i Exportar', 'Exportar JSON', i copia el text resultant.", - "import-card": "Importa una fitxa de Trello", - "import-card-trello-instruction": "Ves a la fitxa Trello, selecciona 'Compartir i més...' llavors 'Export JSON' i copia el text resultant", "import-json-placeholder": "Aferra codi JSON vàlid aquí", + "import-map-members": "Map members", "import-members-map": "El tauler importat conté membres. Assigna els membres que vulguis importar a usuaris Wekan", "import-show-user-mapping": "Revisa l'assignació de membres", "import-user-select": "Selecciona l'usuari Wekan que vulguis associar a aquest membre", + "importMapMembersAddPopup-title": "Select Wekan member", "info": "Informacions", "initials": "Inicials", + "invalid-date": "Invalid date", "joined": "s'ha unit", "just-invited": "Has estat convidat a aquest tauler", "keyboard-shortcuts": "Dreceres de teclat", @@ -186,17 +225,20 @@ "listImportCardPopup-title": "importa una fitxa de Trello", "lists": "Llistes", "log-out": "Finalitza la sessió", + "log-in": "Log In", "loginPopup-title": "Inicia sessió", - "mapMembersAddPopup-title": "Selecciona membre de Wekan", - "mapMembersPopup-title": "Assigna membres", "memberMenuPopup-title": "Configura membres", "members": "Membres", "menu": "Menú", "move-selection": "Move selection", "moveCardPopup-title": "Moure fitxa", + "moveCardToBottom-title": "Move to Bottom", + "moveCardToTop-title": "Move to Top", "moveSelectionPopup-title": "Move selection", "multi-selection": "Multi-Selecció", "multi-selection-on": "Multi-Selecció està activada", + "muted": "Muted", + "muted-info": "You will never be notified of any changes in this board", "my-boards": "Els meus taulers", "name": "Nom", "no-archived-cards": "No hi ha fitxes arxivades.", @@ -205,12 +247,15 @@ "normal": "Normal", "normal-desc": "Podeu veure i editar fitxes. No podeu canviar la configuració.", "not-accepted-yet": "La invitació no ha esta acceptada encara", + "notify-participate": "Receive updates to any cards you participate as creater or member", + "notify-watch": "Receive updates to any boards, lists, or cards you’re watching", "optional": "opcional", "or": "o", "page-maybe-private": "Aquesta pàgina és privada. Per veure-la <a href='%s'> entra </a>.", "page-not-found": "Pàgina no trobada.", "password": "Contrasenya", "paste-or-dragdrop": "aferra, o estira i amolla la imatge (només imatge)", + "participating": "Participating", "preview": "Vista prèvia", "previewAttachedImagePopup-title": "Vista prèvia", "previewClipboardImagePopup-title": "Vista prèvia", @@ -243,6 +288,7 @@ "shortcut-show-shortcuts": "Mostra aquesta lista d'accessos directes", "shortcut-toggle-filterbar": "Canvia la barra lateral del tauler", "shortcut-toggle-sidebar": "Canvia Sidebar del Tauler", + "show-cards-minimum-count": "Show cards count if list contains more than", "signupPopup-title": "Crea un compte", "star-board-title": "Fes clic per destacar aquest tauler. Es mostrarà a la part superior de la llista de taulers.", "starred-boards": "Taulers destacats", @@ -251,14 +297,24 @@ "team": "Equip", "this-board": "aquest tauler", "this-card": "aquesta fitxa", + "time": "Time", "title": "Títol", + "tracking": "Tracking", + "tracking-info": "You will be notified of any changes to those cards you are involved as creator or member.", "unassign-member": "Desassignar membre", "unsaved-description": "Tens una descripció sense desar.", + "unwatch": "Unwatch", "upload": "Puja", "upload-avatar": "Actualitza avatar", "uploaded-avatar": "Avatar actualitzat", "username": "Nom d'Usuari", "view-it": "Vist", "warn-list-archived": "Avís: aquesta fitxa està en una llista arxivada", + "watch": "Watch", + "watching": "Watching", + "watching-info": "You will be notified of any change in this board", + "welcome-board": "Welcome Board", + "welcome-list1": "Basics", + "welcome-list2": "Advanced", "what-to-do": "Què vols fer?" } diff --git a/i18n/cs.i18n.json b/i18n/cs.i18n.json index 3326307a..d774022b 100644 --- a/i18n/cs.i18n.json +++ b/i18n/cs.i18n.json @@ -1,5 +1,25 @@ { "accept": "Přijmout", + "act-activity-notify": "[Wekan] Activity Notification", + "act-addAttachment": "attached __attachment__ to __card__", + "act-addComment": "commented on __card__: __comment__", + "act-createBoard": "created __board__", + "act-createCard": "added __card__ to __list__", + "act-createList": "added __list__ to __board__", + "act-addBoardMember": "added __member__ to __board__", + "act-archivedBoard": "archived __board__", + "act-archivedCard": "archived __card__", + "act-archivedList": "archived __list__", + "act-importBoard": "imported __board__", + "act-importCard": "imported __card__", + "act-importList": "imported __list__", + "act-joinMember": "added __member__ to __card__", + "act-moveCard": "moved __card__ from __oldList__ to __list__", + "act-removeBoardMember": "removed __member__ from __board__", + "act-restoredCard": "restored __card__ to __board__", + "act-unjoinMember": "removed __member__ from __card__", + "act-withBoardTitle": "[Wekan] __board__", + "act-withCardTitle": "[__board__] __card__", "actions": "Akce", "activities": "Aktivity", "activity": "Aktivita", @@ -31,6 +51,8 @@ "all-boards": "Všechna tabla", "and-n-other-card": "A __count__ další karta(y)", "and-n-other-card_plural": "A __count__ dalších karet", + "apply": "Apply", + "app-is-offline": "The application is currently offline, refreshing the page will cause data loss.", "archive": "Archiv", "archive-all": "Archivovat vše", "archive-board": "Archivovat tablo", @@ -46,6 +68,7 @@ "attachment-delete-pop": "Smazání přílohy je trvalé. Nejde vrátit zpět.", "attachmentDeletePopup-title": "Smazat přílohu?", "attachments": "Přílohy", + "auto-watch": "Automatically watch boards when create it", "avatar-too-big": "Avatar je příliš velký (70Kb max)", "back": "Zpět", "board-change-color": "Změnit barvu", @@ -56,7 +79,7 @@ "boardChangeColorPopup-title": "Změnit pozadí tabla", "boardChangeTitlePopup-title": "Přejmenovat tablo", "boardChangeVisibilityPopup-title": "Upravit viditelnost", - "boardImportBoardPopup-title": "Importovat tablo ze služby Trello", + "boardChangeWatchPopup-title": "Change Watch", "boardMenuPopup-title": "Menu tabla", "boards": "Tabla", "bucket-example": "Například \"Než mě odvedou\"", @@ -66,11 +89,15 @@ "card-delete-notice": "Smazání je trvalé. Přijdete o všechny akce asociované s touto kartou.", "card-delete-pop": "Všechny akce budou odstraněny z kanálu aktivity a nebude možné kartu znovu otevřít. Toto nelze vrátit zpět.", "card-delete-suggest-archive": "Kartu můžete archivovat a tím ji odstranit z tabla a přitom zachovat aktivity.", + "card-due": "Due", + "card-due-on": "Due on", "card-edit-attachments": "Upravit přílohy", "card-edit-labels": "Upravit štítky", "card-edit-members": "Upravit členy", "card-labels-title": "Změnit štítky karty.", "card-members-title": "Přidat nebo odstranit členy tohoto tabla z karty.", + "card-start": "Start", + "card-start-on": "Starts on", "cardAttachmentsPopup-title": "Přiložit formulář", "cardDeletePopup-title": "Smazat kartu?", "cardDetailsActionsPopup-title": "Akce karty", @@ -82,13 +109,15 @@ "change-avatar": "Změnit avatar", "change-password": "Změnit heslo", "change-permissions": "Změnit oprávnění", + "change-settings": "Change Settings", "changeAvatarPopup-title": "Změnit avatar", "changeLanguagePopup-title": "Změnit jazyk", "changePasswordPopup-title": "Změnit heslo", "changePermissionsPopup-title": "Změnit oprávnění", + "changeSettingsPopup-title": "Change Settings", "click-to-star": "Kliknutím přidat hvězdičku tomuto tablu.", "click-to-unstar": "Kliknutím odebrat hvězdičku tomuto tablu.", - "clipboard": "Schránka nebo potáhnout a pustit", + "clipboard" : "Schránka nebo potáhnout a pustit", "close": "Zavřít", "close-board": "Zavřít tablo", "close-board-pop": "Budete moci obnovit tablo kliknutím na tlačítko \"Archivy\" v hlavním menu.", @@ -109,6 +138,7 @@ "createBoardPopup-title": "Vytvořit tablo", "createLabelPopup-title": "Vytvořit štítek", "current": "Aktuální", + "date": "Date", "decline": "Zamítnout", "default-avatar": "Výchozí avatar", "delete": "Smazat", @@ -122,7 +152,10 @@ "edit": "Upravit", "edit-avatar": "Změnit avatar", "edit-profile": "Upravit profil", + "editCardStartDatePopup-title": "Change start date", + "editCardDueDatePopup-title": "Change due date", "editLabelPopup-title": "Změnit štítek", + "editNotificationPopup-title": "Edit Notification", "editProfilePopup-title": "Upravit profil", "email": "Email", "email-enrollAccount-subject": "Byl vytvořen účet na __siteName__", @@ -146,27 +179,33 @@ "error-user-doesNotExist": "Tento uživatel neexistuje", "error-user-notAllowSelf": "Tato akce pro sebe sama není povolena", "error-user-notCreated": "Tento uživatel není vytvořen", + "error-username-taken": "This username is already taken", "export-board": "Exportovat tablo", "filter": "Filtr", "filter-cards": "Filtrovat karty", "filter-clear": "Vyčistit filtr", + "filter-no-label": "No label", + "filter-no-member": "No member", "filter-on": "Filtr je zapnut", "filter-on-desc": "Filtrujete karty tohoto tabla. Pro úpravu filtru klikni sem.", "filter-to-selection": "Filtrovat výběr", "fullname": "Celé jméno", "header-logo-title": "Jit zpět na stránku s tably.", + "hide-system-messages": "Hide system messages", "home": "Domů", "import": "Import", "import-board": "Importovat ze služby Trello", + "import-board-title": "Import board from Trello", "import-board-trello-instruction": "Na svém Trello tablu, otevři 'Menu', pak 'More', 'Print and Export', 'Export JSON', a zkopíruj výsledný text", - "import-card": "Importovat kartu ze služby Trello", - "import-card-trello-instruction": "Přejdi na Trello kartu, vyber 'Share and more...' a pak 'Export JSON' a zkopíruj výsledný text", "import-json-placeholder": "Sem vlož validní JSON data", + "import-map-members": "Map members", "import-members-map": "Toto importované tablo obsahuje několik členů. Namapuj členy z importu na uživatelské účty Wekan.", "import-show-user-mapping": "Zkontrolovat namapování členů", "import-user-select": "Vyber uživatele Wekan, kterého chceš použít pro tohoto člena", + "importMapMembersAddPopup-title": "Select Wekan member", "info": "Informace", "initials": "Iniciály", + "invalid-date": "Invalid date", "joined": "spojeno", "just-invited": "Právě jsi byl pozván(a) do tohoto tabla", "keyboard-shortcuts": "Klávesové zkratky", @@ -186,17 +225,20 @@ "listImportCardPopup-title": "Importovat Trello kartu", "lists": "Seznamy", "log-out": "Odhlásit", + "log-in": "Log In", "loginPopup-title": "Přihlásit", - "mapMembersAddPopup-title": "Vybrat Wekan uživatele", - "mapMembersPopup-title": "Mapovat členy", "memberMenuPopup-title": "Nastavení uživatele", "members": "Členové", "menu": "Menu", "move-selection": "Přesunout výběr", "moveCardPopup-title": "Přesunout kartu", + "moveCardToBottom-title": "Move to Bottom", + "moveCardToTop-title": "Move to Top", "moveSelectionPopup-title": "Přesunout výběr", "multi-selection": "Multi-výběr", "multi-selection-on": "Multi-výběr je zapnut", + "muted": "Muted", + "muted-info": "You will never be notified of any changes in this board", "my-boards": "Moje tabla", "name": "Jméno", "no-archived-cards": "Žádné archivované karty.", @@ -205,12 +247,15 @@ "normal": "Normální", "normal-desc": "Může zobrazovat a upravovat karty. Nemůže měnit nastavení.", "not-accepted-yet": "Pozvánka ještě nebyla přijmuta", + "notify-participate": "Receive updates to any cards you participate as creater or member", + "notify-watch": "Receive updates to any boards, lists, or cards you’re watching", "optional": "volitelný", "or": "nebo", "page-maybe-private": "Tato stránka může být soukromá. Můžete ji zobrazit po <a href='%s'>přihlášení</a>.", "page-not-found": "Stránka nenalezena.", "password": "Heslo", "paste-or-dragdrop": "vložit, nebo přetáhnout a pustit soubor obrázku (pouze obrázek)", + "participating": "Participating", "preview": "Náhled", "previewAttachedImagePopup-title": "Náhled", "previewClipboardImagePopup-title": "Náhled", @@ -235,7 +280,7 @@ "search": "Hledat", "select-color": "Vybrat barvu", "shortcut-assign-self": "Přiřadit sebe k aktuální kartě", - "shortcut-autocomplete-emojies": "Automatický výběr emotikon", + "shortcut-autocomplete-emoji": "Autocomplete emoji", "shortcut-autocomplete-members": "Automatický výběr uživatel", "shortcut-clear-filters": "Vyčistit všechny filtry", "shortcut-close-dialog": "Zavřít dialog", @@ -243,6 +288,7 @@ "shortcut-show-shortcuts": "Otevřít tento seznam odkazů", "shortcut-toggle-filterbar": "Přepnout lištu filtrování", "shortcut-toggle-sidebar": "Přepnout lištu tabla", + "show-cards-minimum-count": "Show cards count if list contains more than", "signupPopup-title": "Vytvořit účet", "star-board-title": "Kliknutím přidat tablu hvězdičku. Poté bude zobrazeno navrchu seznamu.", "starred-boards": "Tabla s hvězdičkou", @@ -251,14 +297,24 @@ "team": "Tým", "this-board": "toto tablo", "this-card": "tuto kartu", + "time": "Time", "title": "Název", + "tracking": "Tracking", + "tracking-info": "You will be notified of any changes to those cards you are involved as creator or member.", "unassign-member": "Vyřadit člena", "unsaved-description": "Popis neni uložen.", + "unwatch": "Unwatch", "upload": "Nahrát", "upload-avatar": "Nahrát avatar", "uploaded-avatar": "Avatar nahrán", "username": "Uživatelské jméno", "view-it": "Zobrazit", "warn-list-archived": "varování: tato karta je v archivovaném seznamu", + "watch": "Watch", + "watching": "Watching", + "watching-info": "You will be notified of any change in this board", + "welcome-board": "Welcome Board", + "welcome-list1": "Basics", + "welcome-list2": "Advanced", "what-to-do": "Co chcete dělat?" } diff --git a/i18n/de.i18n.json b/i18n/de.i18n.json index e7bc63d3..91bf9ebd 100755..100644 --- a/i18n/de.i18n.json +++ b/i18n/de.i18n.json @@ -1,5 +1,25 @@ { - "accept": "Accept", + "accept": "Akzeptieren", + "act-activity-notify": "[Wekan] Aktivitätsbenachrichtigung", + "act-addAttachment": "hat __attachment__ an __card__ angehängt", + "act-addComment": "hat __card__ kommentiert: __comment__", + "act-createBoard": "hat __board__ erstellt", + "act-createCard": "hat __card__ zu __list__ hinzugefügt", + "act-createList": "hat __list__ zu __board__ hinzugefügt", + "act-addBoardMember": "hat __member__ zu __board__ hinzugefügt", + "act-archivedBoard": "hat __board__ archiviert", + "act-archivedCard": "hat __card__ archiviert", + "act-archivedList": "hat __list__ archiviert", + "act-importBoard": "hat __board__ importiert", + "act-importCard": "hat __card__ importiert", + "act-importList": "hat __list__ importiert", + "act-joinMember": "hat __member__ zu __card__ hinzugefügt", + "act-moveCard": "hat __card__ von __oldList__ nach __list__ verschoben", + "act-removeBoardMember": "hat __member__ von __board__ entfernt", + "act-restoredCard": "hat __card__ in __board__ wiederhergestellt", + "act-unjoinMember": "hat __member__ von __card__ entfernt", + "act-withBoardTitle": "[Wekan] __board__", + "act-withCardTitle": "[__board__] __card__", "actions": "Aktionen", "activities": "Aktivitäten", "activity": "Aktivität", @@ -8,45 +28,48 @@ "activity-attached": "hat %s an %s angehängt", "activity-created": "hat %s erstellt", "activity-excluded": "hat %s von %s ausgeschlossen", - "activity-imported": "imported %s into %s from %s", - "activity-imported-board": "imported %s from %s", - "activity-joined": "hat %s beigetreten", + "activity-imported": "hat %s in %s von %s importiert", + "activity-imported-board": "hat %s von %s importiert", + "activity-joined": "ist %s beigetreten", "activity-moved": "hat %s von %s nach %s verschoben", - "activity-on": "on %s", + "activity-on": "in %s", "activity-removed": "hat %s von %s entfernt", "activity-sent": "hat %s an %s gesendet", - "activity-unjoined": "unjoined %s", + "activity-unjoined": "hat %s verlassen", "add": "Hinzufügen", "add-attachment": "Anhang hinzufügen", "add-board": "Neues Board erstellen", - "add-card": "Karte hinzufügen...", + "add-card": "Karte hinzufügen", "add-cover": "Cover hinzufügen", "add-label": "Label hinzufügen", - "add-list": "Liste hinzufügen...", - "add-members": "Mitglieder hinzufügen...", + "add-list": "Liste hinzufügen", + "add-members": "Mitglieder hinzufügen", "added": "Hinzugefügt", - "addMemberPopup-title": "Nutzer", + "addMemberPopup-title": "Mitglieder", "admin": "Admin", "admin-desc": "Kann Karten anschauen und bearbeiten, Mitglieder entfernen und Boardeinstellungen ändern.", "all-boards": "Alle Boards", "and-n-other-card": "und eine andere Karte", "and-n-other-card_plural": "und __count__ andere Karten", + "apply": "Übernehmen", + "app-is-offline": "Die Anwendung ist derzeit offline. Aktualisieren der Seite führt zu Datenverlust.", "archive": "Archiv", "archive-all": "Alles archivieren", "archive-board": "Board archivieren", "archive-card": "Karte archivieren", "archive-list": "Diese Liste archivieren", "archive-selection": "Auswahl archivieren", - "archiveBoardPopup-title": "Archive Board?", + "archiveBoardPopup-title": "Board archivieren?", "archived-items": "Archivierte Einträge", "archives": "Archive", "assign-member": "Mitglied zuweisen", "attached": "angehängt", "attachment": "Anhang", - "attachment-delete-pop": "Das Löschen des Anhangs ist endgültig und kann nicht wieder rückgängig gemacht werden.", + "attachment-delete-pop": "Das Löschen eines Anhangs kann nicht wieder rückgängig gemacht werden.", "attachmentDeletePopup-title": "Anhang löschen?", "attachments": "Anhänge", - "avatar-too-big": "Das Profilbild ist zu groß (70Kb max)", + "auto-watch": "Neue Boards automatisch beobachten", + "avatar-too-big": "Das Profilbild ist zu groß (max. 70Kb)", "back": "Zurück", "board-change-color": "Farbe ändern", "board-nb-stars": "%s Sterne", @@ -56,21 +79,25 @@ "boardChangeColorPopup-title": "Boardfarbe ändern", "boardChangeTitlePopup-title": "Board umbenennen", "boardChangeVisibilityPopup-title": "Sichtbarkeit ändern", - "boardImportBoardPopup-title": "Import board from Trello", + "boardChangeWatchPopup-title": "Beobachtung ändern", "boardMenuPopup-title": "Boardmenü", "boards": "Boards", - "bucket-example": "Zum Beispiel \"Bucket List\"", + "bucket-example": "z.B. \"Löffelliste\"", "cancel": "Abbrechen", "card-archived": "Diese Karte wurde archiviert.", "card-comments-title": "Diese Karte hat %s Kommentare.", - "card-delete-notice": "Löschen ist irreversiebel. Alle Aktionen, die mit dieser Karte zu tun haben, werden ebenfalls gelöscht.", - "card-delete-pop": "Alle Aktionen werden vom Aktivitätsfeed entfernt und du kannst die Karte nicht mehr öffnen. Es gibt keine Möglichkeit diese Aktion rückgängig zu machen.", - "card-delete-suggest-archive": "Du kannst die Karte statdessen archivieren, um sie vom Bord zu entfernen und die Aktivitäten zu erhalten.", - "card-edit-attachments": "Anhang ändern", + "card-delete-notice": "Löschen ist unwiderruflich. Alle Aktionen die dieser Karte zugeordnet sind werden ebenfalls gelöscht.", + "card-delete-pop": "Alle Aktionen werden vom Aktivitätsfeed entfernt und die Karte kann nicht mehr geöffnet werden. Das Löschen kann nicht widerrufen werden!", + "card-delete-suggest-archive": "Sie können eine Karte archivieren, um sie von dem Board zu entfernen und die Aktivitäten zu behalten.", + "card-due": "Ende", + "card-due-on": "Ende am", + "card-edit-attachments": "Anhänge ändern", "card-edit-labels": "Labels ändern", - "card-edit-members": "Nutzer ändern", - "card-labels-title": "Label für diese Karte ändern.", - "card-members-title": "Füge dem Board Nutzer hinzu oder entferne sie von der Karte.", + "card-edit-members": "Mitglieder ändern", + "card-labels-title": "Labels für diese Karte ändern.", + "card-members-title": "Der Karte Board-Mitglieder hinzufügen oder entfernen.", + "card-start": "Start", + "card-start-on": "Start am", "cardAttachmentsPopup-title": "Anhängen von", "cardDeletePopup-title": "Karte löschen?", "cardDetailsActionsPopup-title": "Kartenaktionen", @@ -78,20 +105,22 @@ "cardMembersPopup-title": "Mitglieder", "cardMorePopup-title": "Mehr", "cards": "Karten", - "change": "Change", + "change": "Ändern", "change-avatar": "Profilbild ändern", "change-password": "Passwort ändern", - "change-permissions": "Ändere Berechtigungen", + "change-permissions": "Berechtigungen ändern", + "change-settings": "Einstellungen ändern", "changeAvatarPopup-title": "Profilbild ändern", - "changeLanguagePopup-title": "Sprache ändern...", + "changeLanguagePopup-title": "Sprache ändern", "changePasswordPopup-title": "Passwort ändern", - "changePermissionsPopup-title": "Ändere Berechtigungen", - "click-to-star": "Klicke, um dem Board einen Stern zu geben.", - "click-to-unstar": "Klicke, um den Stern zu entfernen.", - "clipboard": "Clipboard or drag & drop", + "changePermissionsPopup-title": "Berechtigungen ändern", + "changeSettingsPopup-title": "Einstellungen ändern", + "click-to-star": "Klicken um dem Board einen Stern zu geben.", + "click-to-unstar": "Klicken um den Stern von dem Board zu entfernen.", + "clipboard" : "Zwischenablage oder Drag & Drop", "close": "Schließen", "close-board": "Board schließen", - "close-board-pop": "You will be able to restore the board by clicking the “Archives” button from the home header.", + "close-board-pop": "Sie können das Board wiederherstellen, indem Sie den \"Archiv\"-Button in der Kopfzeile der Startseite anklicken.", "color-black": "schwarz", "color-blue": "blau", "color-green": "grün", @@ -106,10 +135,11 @@ "comment-placeholder": "Kommentar schreiben", "computer": "Computer", "create": "Erstellen", - "createBoardPopup-title": "Erstelle ein Board", + "createBoardPopup-title": "Board erstellen", "createLabelPopup-title": "Label erstellen", "current": "aktuell", - "decline": "Decline", + "date": "Datum", + "decline": "Ablehnen", "default-avatar": "Standard Profilbild", "delete": "Löschen", "deleteLabelPopup-title": "Label löschen?", @@ -117,86 +147,98 @@ "disambiguateMultiLabelPopup-title": "Labels vereinheitlichen", "disambiguateMultiMemberPopup-title": "Mitglieder vereinheitlichen", "discard": "Verwerfen", - "done": "Done", - "download": "Download", + "done": "Erledigt", + "download": "Herunterladen", "edit": "Bearbeiten", "edit-avatar": "Profilbild ändern", "edit-profile": "Profil ändern", - "editLabelPopup-title": "Ändere Label", + "editCardStartDatePopup-title": "Startdatum ändern", + "editCardDueDatePopup-title": "Enddatum ändern", + "editLabelPopup-title": "Label ändern", + "editNotificationPopup-title": "Benachrichtigung ändern", "editProfilePopup-title": "Profil ändern", - "email": "Email", - "email-enrollAccount-subject": "An account created for you on __siteName__", - "email-enrollAccount-text": "Hello __user__,\n\nTo start using the service, simply click the link below.\n\n__url__\n\nThanks.", - "email-fail": "Sending email failed", - "email-invalid": "Invalid email", - "email-invite": "Invite via Email", - "email-invite-subject": "__inviter__ sent you an invitation", - "email-invite-text": "Dear __user__,\n\n__inviter__ invites you to join board \"__board__\" for collaborations.\n\nPlease follow the link below:\n\n__url__\n\nThanks.", - "email-resetPassword-subject": "Reset your password on __siteName__", - "email-resetPassword-text": "Hello __user__,\n\nTo reset your password, simply click the link below.\n\n__url__\n\nThanks.", - "email-sent": "Email sent", - "email-verifyEmail-subject": "Verify your email address on __siteName__", - "email-verifyEmail-text": "Hello __user__,\n\nTo verify your account email, simply click the link below.\n\n__url__\n\nThanks.", - "error-board-doesNotExist": "This board does not exist", - "error-board-notAdmin": "You need to be admin of this board to do that", - "error-board-notAMember": "You need to be a member of this board to do that", - "error-json-malformed": "Your text is not valid JSON", - "error-json-schema": "Your JSON data does not include the proper information in the correct format", - "error-list-doesNotExist": "This list does not exist", - "error-user-doesNotExist": "This user does not exist", - "error-user-notAllowSelf": "This action on self is not allowed", - "error-user-notCreated": "This user is not created", - "export-board": "Export board", + "email": "E-Mail", + "email-enrollAccount-subject": "Ihr Benutzerkonto auf __siteName__ wurde erstellt", + "email-enrollAccount-text": "Hallo __user__,\n\num den Dienst nutzen zu können, klicken Sie bitte auf folgenden Link:\n\n__url__\n\nDanke.\n", + "email-fail": "Senden der E-Mail fehlgeschlagen", + "email-invalid": "Ungültige E-Mail-Adresse", + "email-invite": "via E-Mail einladen", + "email-invite-subject": "__inviter__ hat Ihnen eine Einladung geschickt", + "email-invite-text": "Hallo __user__,\n\n__inviter__ hat Sie zu dem Board \"__board__\" eingeladen.\n\nBitte klicken Sie auf folgenden Link:\n\n__url__\n\nDanke.\n", + "email-resetPassword-subject": "Setzten Sie ihr Passwort auf __siteName__ zurück", + "email-resetPassword-text": "Hallo __user__,\n\num ihr Passwort zurückzusetzen, klicken Sie bitte auf folgenden Link:\n\n__url__\n\nDanke.\n", + "email-sent": "E-Mail gesendet", + "email-verifyEmail-subject": "Bestätigen Sie ihre E-Mail-Adresse auf __siteName__", + "email-verifyEmail-text": "Hallo __user__,\n\num ihre E-Mail-Adresse zu bestätigen, klicken Sie bitte auf folgenden Link:\n\n__url__\n\nDanke.\n", + "error-board-doesNotExist": "Dieses Board existiert nicht", + "error-board-notAdmin": "Um das zu tun, müssen Sie der Administrator dieses Boards sein", + "error-board-notAMember": "Um das zu tun, müssen Sie ein Mitglied dieses Boards sein", + "error-json-malformed": "Ihre Eingabe ist kein gültiges JSON", + "error-json-schema": "Ihre JSON-Daten enthalten nicht die gewünschten Informationen im richtigen Format", + "error-list-doesNotExist": "Diese Liste existiert nicht", + "error-user-doesNotExist": "Dieser Nutzer existiert nicht", + "error-user-notAllowSelf": "Diese Aktion auf self ist nicht erlaubt", + "error-user-notCreated": "Dieser Nutzer ist angelegt", + "error-username-taken": "Dieser Benutzername ist bereits vergeben", + "export-board": "Board exportieren", "filter": "Filter", "filter-cards": "Karten filtern", "filter-clear": "Filter entfernen", + "filter-no-label": "Kein Label", + "filter-no-member": "Kein Mitglied", "filter-on": "Filter ist aktiv", - "filter-on-desc": "Du filterst die Karten auf diesem Board. Klicke hier, um die Filter zu bearbeiten.", + "filter-on-desc": "Sie filtern die Karten in diesem Board. Klicken um die Filter zu bearbeiten.", "filter-to-selection": "Ergebnisse auswählen", - "fullname": "Voller Name", + "fullname": "Vollständiger Name", "header-logo-title": "Zurück zur Board Seite.", + "hide-system-messages": "Systemmeldungen ausblenden", "home": "Home", "import": "Importieren", - "import-board": "import from Trello", - "import-board-trello-instruction": "In your Trello board, go to 'Menu', then 'More', 'Print and Export', 'Export JSON', and copy the resulting text", - "import-card": "Import a Trello card", - "import-card-trello-instruction": "Go to a Trello card, select 'Share and more...' then 'Export JSON' and copy the resulting text", - "import-json-placeholder": "Paste your valid JSON data here", - "import-members-map": "Your imported board has some members. Please map the members you want to import to Wekan users", - "import-show-user-mapping": "Review members mapping", - "import-user-select": "Pick the Wekan user you want to use as this member", + "import-board": "von Trello importieren", + "import-board-title": "Board von Trello importieren", + "import-board-trello-instruction": "Gehen Sie in ihrem Trello-Board auf 'Menü', dann 'Mehr', 'Drucken und Exportieren', 'JSON-Export' und kopieren Sie den dort angezeigten Text", + "import-json-placeholder": "Fügen Sie die korrekten JSON-Daten hier ein", + "import-map-members": "Mitglieder zuordnen", + "import-members-map": "Das importierte Board hat einige Mitglieder. Bitte ordnen Sie die Mitglieder, die importiert werden sollen, Wekan-Nutzern zu", + "import-show-user-mapping": "Mitgliederzuordnung überprüfen", + "import-user-select": "Wählen Sie den Wekan-Nutzer aus, der dieses Mitglied sein soll", + "importMapMembersAddPopup-title": "Wekan-Nutzer auswählen", "info": "Informationen", "initials": "Initialien", + "invalid-date": "Ungültiges Datum", "joined": "beigetreten", - "just-invited": "You are just invited to this board", + "just-invited": "Sie wurden soeben zu diesem Board eingeladen", "keyboard-shortcuts": "Tastaturkürzel", - "label-create": "Neues Label erstellen.", + "label-create": "Neues Label erstellen", "label-default": "%s Label (Standard)", - "label-delete-pop": "Diese Aktion ist irreversiebel. Das Label wird von allen Karten entfernt und seine Historie gelöscht.", + "label-delete-pop": "Diese Aktion ist unwiderruflich. Das Label wird von allen Karten entfernt und seine Historie wird gelöscht.", "labels": "Labels", "language": "Sprache", - "last-admin-desc": "Du kannst die Rolle nicht ändern, es muss mindestens einen Admin geben.", + "last-admin-desc": "Sie können keine Rollen ändern, weil es mindestens ein Administrator geben muss.", "leave-board": "Board verlassen", "link-card": "Link zu dieser Karte", "list-archive-cards": "Alle Karten in dieser Liste archivieren", - "list-archive-cards-pop": "Dies entfernt alle Karten in der Liste vom Board. Um archivierte Karten anzusehen und zurück zum Board zu bringen, klicke \"Menü\" > \"Archivierte Items\".", + "list-archive-cards-pop": "Dieses entfernt alle Karten von dieser Liste des Boards. Um archivierte Karten anzuzeigen und wiederherzustellen, klicken Sie auf \"Menü\" > \"Archivierte Einträge\".", "list-move-cards": "Alle Karten in dieser Liste verschieben", "list-select-cards": "Alle Karten in dieser Liste auswählen", "listActionPopup-title": "Listenaktionen", - "listImportCardPopup-title": "Import a Trello card", + "listImportCardPopup-title": "Eine Trello-Karte importieren", "lists": "Listen", "log-out": "Ausloggen", + "log-in": "Einloggen", "loginPopup-title": "Einloggen", - "mapMembersAddPopup-title": "Select Wekan member", - "mapMembersPopup-title": "Map members", "memberMenuPopup-title": "Nutzereinstellungen", - "members": "Mitglied", + "members": "Mitglieder", "menu": "Menü", - "move-selection": "Move selection", + "move-selection": "Auswahl verschieben", "moveCardPopup-title": "Karte verschieben", - "moveSelectionPopup-title": "Move selection", + "moveCardToBottom-title": "Zum Ende verschieben", + "moveCardToTop-title": "Zum Anfang verschieben", + "moveSelectionPopup-title": "Auswahl verschieben", "multi-selection": "Mehrfachauswahl", - "multi-selection-on": "Multi-Selection is on", + "multi-selection-on": "Mehrfachauswahl ist aktiv", + "muted": "Stumm", + "muted-info": "Sie werden über keine Änderung in diesem Board benachrichtigt", "my-boards": "Meine Boards", "name": "Name", "no-archived-cards": "Keine archivierten Karten.", @@ -204,61 +246,75 @@ "no-results": "Keine Ergebnisse", "normal": "Normal", "normal-desc": "Kann Karten anschauen und bearbeiten, aber keine Einstellungen ändern.", - "not-accepted-yet": "Invitation not accepted yet", + "not-accepted-yet": "Die Einladung wurde noch nicht angenommen", + "notify-participate": "Benachrichtigungen über alle Karten erhalten, bei denen Sie als Ersteller oder Mitglied teilnehmen", + "notify-watch": "Benachrichtigungen über alle Boards, Listen oder Karten erhalten, die Sie beobachten", "optional": "optional", "or": "oder", - "page-maybe-private": "Diese Seite könnte privat sein. Vielleicht kannst du sie sehen, wenn du dich <a href='%s'>einloggst</a>.", + "page-maybe-private": "Diese Seite könnte privat sein. Vielleicht können Sie sie sehen, wenn Sie sich <a href='%s'>einloggen</a>.", "page-not-found": "Seite nicht gefunden.", "password": "Passwort", - "paste-or-dragdrop": "to paste, or drag & drop image file to it (image only)", - "preview": "Preview", - "previewAttachedImagePopup-title": "Preview", - "previewClipboardImagePopup-title": "Preview", + "paste-or-dragdrop": "Einfügen oder Datei mit Drag & Drop ablegen (nur Bilder)", + "participating": "Teilnehmen", + "preview": "Vorschau", + "previewAttachedImagePopup-title": "Vorschau", + "previewClipboardImagePopup-title": "Vorschau", "private": "Privat", "private-desc": "Dieses Board ist privat. Nur Nutzer, die zu dem Board gehören, können es anschauen und bearbeiten.", "profile": "Profil", "public": "Öffentlich", "public-desc": "Dieses Board ist öffentlich. Es ist für jeden, der den Link kennt, sichtbar und taucht in Suchmaschinen wie Google auf. Nur Nutzer, die zum Board hinzugefügt wurden, können es bearbeiten.", - "quick-access-description": "Markiere ein Board mit einem Stern um eine Verknüpfung in diese Leise hinzuzufügen.", + "quick-access-description": "Markieren Sie ein Board mit einem Stern um eine Verknüpfung in diese Leise hinzuzufügen.", "remove-cover": "Cover entfernen", "remove-from-board": "Von Board entfernen", "remove-label": "Label entfernen", "remove-list": "Remove the list", "remove-member": "Nutzer entfernen", "remove-member-from-card": "Von Karte entfernen", - "remove-member-pop": "Entferne __name__ (__username__) von __boardTitle__? Nutzer wird von allen Karten auf diesem Board entfernt werden. Er wird eine Benachrichtigung erhalten.", - "removeMemberPopup-title": "Nutzer entfernen?", + "remove-member-pop": "__name__ (__username__) von __boardTitle__ entfernen? Das Mitglied wird von allen Karten auf diesem Board entfernt. Er erhält eine Benachrichtigung.", + "removeMemberPopup-title": "Mitglied entfernen?", "rename": "Umbenennen", "rename-board": "Board umbenennen", "restore": "Wiederherstellen", "save": "Speichern", "search": "Suchen", - "select-color": "Wähle eine Farbe aus", - "shortcut-assign-self": "Assign yourself to current card", - "shortcut-autocomplete-emoji": "Autovervollständige Emojis", - "shortcut-autocomplete-members": "Autovervollständige Nutzer", + "select-color": "Farbe auswählen", + "shortcut-assign-self": "Fügen Sie sich zur aktuellen Karte hinzu", + "shortcut-autocomplete-emoji": "Emojis vervollständigen", + "shortcut-autocomplete-members": "Mitglieder vervollständigen", "shortcut-clear-filters": "Alle Filter entfernen", "shortcut-close-dialog": "Dialog schließen", "shortcut-filter-my-cards": "Meine Karten filtern", "shortcut-show-shortcuts": "Liste der Tastaturkürzel anzeigen", - "shortcut-toggle-filterbar": "Toggle Filter Sidebar", + "shortcut-toggle-filterbar": "Filter-Seitenleiste ein-/ausblenden", "shortcut-toggle-sidebar": "Seitenleiste ein-/ausblenden", - "signupPopup-title": "Account erstellen", - "star-board-title": "Klicke, um das Board mit einem Stern zu kennzeichnen. Es erscheint dann oben in deiner Boardliste.", - "starred-boards": "Gekennzeichnete Boards", - "starred-boards-description": "Gekennzeichnete Boards erscheinen oben in deiner Boardliste.", + "show-cards-minimum-count": "Zeigt die Kartenanzahl an, wenn die Liste mehr enthält als", + "signupPopup-title": "Benutzerkonto erstellen", + "star-board-title": "Klicken um das Board mit einem Stern zu kennzeichnen. Es erscheint dann oben in ihrer Boardliste.", + "starred-boards": "Markierte Boards", + "starred-boards-description": "Markierte Boards erscheinen oben in ihrer Boardliste.", "subscribe": "Abonnieren", "team": "Team", "this-board": "dieses Board", "this-card": "diese Karte", + "time": "Zeit", "title": "Titel", - "unassign-member": "Mitglied abziehen", - "unsaved-description": "Es gibt eine ungespeicherte Beschreibung.", + "tracking": "Folgen", + "tracking-info": "Sie werden über alle Änderungen an Karten, die Sie als Ersteller oder Mitglied beteiligt sind, benachrichtigt.", + "unassign-member": "Mitglied entfernen", + "unsaved-description": "Sie haben eine nicht gespeicherte Änderung.", + "unwatch": "Beobachtung entfernen", "upload": "Upload", "upload-avatar": "Profilbild hochladen", "uploaded-avatar": "Profilbild hochgeladen", - "username": "Nutzername", + "username": "Benutzername", "view-it": "Ansehen", "warn-list-archived": "Warnung: Diese Karte befindet sich in einer archivierten Liste", + "watch": "Beobachten", + "watching": "Beobatchen", + "watching-info": "Sie werden über alle Änderungen in diesem Board informiert", + "welcome-board": "Willkommen-Board", + "welcome-list1": "Grundlagen", + "welcome-list2": "Fortgeschritten", "what-to-do": "Was willst du tun?" } diff --git a/i18n/en.i18n.json b/i18n/en.i18n.json index 98d33100..372b8c0a 100755..100644 --- a/i18n/en.i18n.json +++ b/i18n/en.i18n.json @@ -51,6 +51,7 @@ "all-boards": "All boards", "and-n-other-card": "And __count__ other card", "and-n-other-card_plural": "And __count__ other cards", + "apply": "Apply", "app-is-offline": "The application is currently offline, refreshing the page will cause data loss.", "archive": "Archive", "archive-all": "Archive All", @@ -88,11 +89,15 @@ "card-delete-notice": "Deleting is permanent. You will lose all actions associated with this card.", "card-delete-pop": "All actions will be removed from the activity feed and you won't be able to re-open the card. There is no undo.", "card-delete-suggest-archive": "You can archive a card to remove it from the board and preserve the activity.", + "card-due": "Due", + "card-due-on": "Due on", "card-edit-attachments": "Edit attachments", "card-edit-labels": "Edit labels", "card-edit-members": "Edit members", "card-labels-title": "Change the labels for the card.", "card-members-title": "Add or remove members of the board from the card.", + "card-start": "Start", + "card-start-on": "Starts on", "cardAttachmentsPopup-title": "Attach From", "cardDeletePopup-title": "Delete Card?", "cardDetailsActionsPopup-title": "Card Actions", @@ -104,10 +109,12 @@ "change-avatar": "Change Avatar", "change-password": "Change Password", "change-permissions": "Change permissions", + "change-settings": "Change Settings", "changeAvatarPopup-title": "Change Avatar", "changeLanguagePopup-title": "Change Language", "changePasswordPopup-title": "Change Password", "changePermissionsPopup-title": "Change Permissions", + "changeSettingsPopup-title": "Change Settings", "click-to-star": "Click to star this board.", "click-to-unstar": "Click to unstar this board.", "clipboard" : "Clipboard or drag & drop", @@ -131,6 +138,7 @@ "createBoardPopup-title": "Create Board", "createLabelPopup-title": "Create Label", "current": "current", + "date": "Date", "decline": "Decline", "default-avatar": "Default avatar", "delete": "Delete", @@ -144,6 +152,8 @@ "edit": "Edit", "edit-avatar": "Change Avatar", "edit-profile": "Edit Profile", + "editCardStartDatePopup-title": "Change start date", + "editCardDueDatePopup-title": "Change due date", "editLabelPopup-title": "Change Label", "editNotificationPopup-title": "Edit Notification", "editProfilePopup-title": "Edit Profile", @@ -169,15 +179,19 @@ "error-user-doesNotExist": "This user does not exist", "error-user-notAllowSelf": "This action on self is not allowed", "error-user-notCreated": "This user is not created", + "error-username-taken": "This username is already taken", "export-board": "Export board", "filter": "Filter", "filter-cards": "Filter Cards", "filter-clear": "Clear filter", + "filter-no-label": "No label", + "filter-no-member": "No member", "filter-on": "Filter is on", "filter-on-desc": "You are filtering cards on this board. Click here to edit filter.", "filter-to-selection": "Filter to selection", "fullname": "Full Name", "header-logo-title": "Go back to your boards page.", + "hide-system-messages": "Hide system messages", "home": "Home", "import": "Import", "import-board": "import from Trello", @@ -191,6 +205,7 @@ "importMapMembersAddPopup-title": "Select Wekan member", "info": "Infos", "initials": "Initials", + "invalid-date": "Invalid date", "joined": "joined", "just-invited": "You are just invited to this board", "keyboard-shortcuts": "Keyboard shortcuts", @@ -273,6 +288,7 @@ "shortcut-show-shortcuts": "Bring up this shortcuts list", "shortcut-toggle-filterbar": "Toggle Filter Sidebar", "shortcut-toggle-sidebar": "Toggle Board Sidebar", + "show-cards-minimum-count": "Show cards count if list contains more than", "signupPopup-title": "Create an Account", "star-board-title": "Click to star this board. It will show up at top of your boards list.", "starred-boards": "Starred Boards", @@ -281,6 +297,7 @@ "team": "Team", "this-board": "this board", "this-card": "this card", + "time": "Time", "title": "Title", "tracking": "Tracking", "tracking-info": "You will be notified of any changes to those cards you are involved as creator or member.", diff --git a/i18n/es-ES.i18n.json b/i18n/es-ES.i18n.json index 8f67fcfd..578db27d 100644 --- a/i18n/es-ES.i18n.json +++ b/i18n/es-ES.i18n.json @@ -1,5 +1,25 @@ { "accept": "Aceptar", + "act-activity-notify": "[Wekan] Activity Notification", + "act-addAttachment": "attached __attachment__ to __card__", + "act-addComment": "commented on __card__: __comment__", + "act-createBoard": "created __board__", + "act-createCard": "added __card__ to __list__", + "act-createList": "added __list__ to __board__", + "act-addBoardMember": "added __member__ to __board__", + "act-archivedBoard": "archived __board__", + "act-archivedCard": "archived __card__", + "act-archivedList": "archived __list__", + "act-importBoard": "imported __board__", + "act-importCard": "imported __card__", + "act-importList": "imported __list__", + "act-joinMember": "added __member__ to __card__", + "act-moveCard": "moved __card__ from __oldList__ to __list__", + "act-removeBoardMember": "removed __member__ from __board__", + "act-restoredCard": "restored __card__ to __board__", + "act-unjoinMember": "removed __member__ from __card__", + "act-withBoardTitle": "[Wekan] __board__", + "act-withCardTitle": "[__board__] __card__", "actions": "Acciones", "activities": "Actividad", "activity": "Actividad", @@ -31,6 +51,8 @@ "all-boards": "Todos los tableros", "and-n-other-card": "And __count__ other card", "and-n-other-card_plural": "And __count__ other cards", + "apply": "Apply", + "app-is-offline": "The application is currently offline, refreshing the page will cause data loss.", "archive": "Guardar", "archive-all": "Guardar Todo", "archive-board": "Archivar tablero", @@ -46,6 +68,7 @@ "attachment-delete-pop": "El borrado de un archivo adjunto es permanente. No se puede deshacer.", "attachmentDeletePopup-title": "¿Borrar adjunto?", "attachments": "Adjuntos", + "auto-watch": "Automatically watch boards when create it", "avatar-too-big": "El avatar es demasiado grande (70Kb max)", "back": "Atrás", "board-change-color": "Cambiar color", @@ -56,7 +79,7 @@ "boardChangeColorPopup-title": "Cambiar fondo", "boardChangeTitlePopup-title": "Renombrar tablero", "boardChangeVisibilityPopup-title": "Cambiar visibilidad", - "boardImportBoardPopup-title": "Importar tablero desde Trello", + "boardChangeWatchPopup-title": "Change Watch", "boardMenuPopup-title": "Menú del tablero", "boards": "Tableros", "bucket-example": "Al igual que “Bucket List”, por ejemplo", @@ -66,11 +89,15 @@ "card-delete-notice": "El borrado es permanente. Perderás todas las acciones asociadas a esta tarjeta.", "card-delete-pop": "Todas las acciones se eliminarán de la alimentación de la actividad y no podrán volver a abrir la tarjeta. No se puede deshacer.", "card-delete-suggest-archive": "Puedes archivar una tarjeta para quitarla del tablero y conservar la actividad.", + "card-due": "Due", + "card-due-on": "Due on", "card-edit-attachments": "Editar archivos adjuntos", "card-edit-labels": "Editar etiquetas", "card-edit-members": "Editar miembros", "card-labels-title": "Cambia las etiquetas de la tarjeta", "card-members-title": "Añadir o eliminar miembros del tablero desde la tarjeta.", + "card-start": "Start", + "card-start-on": "Starts on", "cardAttachmentsPopup-title": "Adjuntar desde", "cardDeletePopup-title": "¿Borrar tarjeta?", "cardDetailsActionsPopup-title": "Acciones de tarjeta", @@ -82,13 +109,15 @@ "change-avatar": "Cambiar Avatar", "change-password": "Cambiar la contraseña", "change-permissions": "Cambiar permisos", + "change-settings": "Change Settings", "changeAvatarPopup-title": "Cambiar Avatar", "changeLanguagePopup-title": "Cambiar idioma", "changePasswordPopup-title": "Cambiar la contraseña", "changePermissionsPopup-title": "Cambiar permisos", + "changeSettingsPopup-title": "Change Settings", "click-to-star": "Haz clic para destacar este tablero.", "click-to-unstar": "Haz clic para dejar de destacar este tablero.", - "clipboard": "Portapapeles o drag & drop", + "clipboard" : "Portapapeles o drag & drop", "close": "Cerrar", "close-board": "Cerrar tablero", "close-board-pop": "Podrás restaurar el tablero seleccionando el botón “Archivados” desde la cabecera de la página de inicio.", @@ -109,6 +138,7 @@ "createBoardPopup-title": "Crear tablero", "createLabelPopup-title": "Crear etiqueta", "current": "actual", + "date": "Date", "decline": "Denegar", "default-avatar": "Avatar por defecto", "delete": "Borrar", @@ -122,7 +152,10 @@ "edit": "Editar", "edit-avatar": "Cambiar Avatar", "edit-profile": "Edita tu Perfil", + "editCardStartDatePopup-title": "Change start date", + "editCardDueDatePopup-title": "Change due date", "editLabelPopup-title": "Cambiar etiqueta", + "editNotificationPopup-title": "Edit Notification", "editProfilePopup-title": "Editar Perfil", "email": "Correo electrónico", "email-enrollAccount-subject": "Se ha creado un cuenta para ti en __siteName__", @@ -146,27 +179,33 @@ "error-user-doesNotExist": "Este usuario no existe", "error-user-notAllowSelf": "Esa acción en si misma no está permitida", "error-user-notCreated": "Este usuario no se ha creado", + "error-username-taken": "This username is already taken", "export-board": "Exportar tablero", "filter": "Filtrar", "filter-cards": "Filtrar Tarjetas", "filter-clear": "Eliminar filtro", + "filter-no-label": "No label", + "filter-no-member": "No member", "filter-on": "Filtrar por", "filter-on-desc": "Estás filtrando tarjetas en este tablero. Haz clic aquí para editar el filtro.", "filter-to-selection": "Filtrar selección", "fullname": "Nombre Completo", "header-logo-title": "Volver a tu página de tableros", + "hide-system-messages": "Hide system messages", "home": "Inicio", "import": "Importar", "import-board": "Importar desde Trello", + "import-board-title": "Import board from Trello", "import-board-trello-instruction": "En su tablero Trello, vaya a \"Menú\", luego \"Más\", \"Imprimir y exportar\", \"Exportación JSON ', y copia el texto que se muestre", - "import-card": "Importar tarjeta de Trello", - "import-card-trello-instruction": "Ve a la tarjeta Trello, selecciona 'Compartir y más...' y marca 'Export JSON' y copia el texto que obtengas", "import-json-placeholder": "Pega aquí los datos JSON", + "import-map-members": "Map members", "import-members-map": "El tablero importado tiene algunos miembros. Por favor, asigna los miembros que deseas importar a Wekan", "import-show-user-mapping": "Revisar asignación de miembros", "import-user-select": "Escoja el usuario Wekan que desea utilizar como miembro", + "importMapMembersAddPopup-title": "Select Wekan member", "info": "Informaciones", "initials": "Iniciales", + "invalid-date": "Invalid date", "joined": "se ha unido", "just-invited": "Has sido invitado a este tablero", "keyboard-shortcuts": "Atajos de teclado", @@ -186,17 +225,20 @@ "listImportCardPopup-title": "Importar tarjeta de Trello", "lists": "Listas", "log-out": "Finalizar la sesión", + "log-in": "Log In", "loginPopup-title": "Iniciar sesión", - "mapMembersAddPopup-title": "Selecciona un miembro de Wekan", - "mapMembersPopup-title": "Asignar miembros", "memberMenuPopup-title": "Configurar miembros", "members": "Miembros", "menu": "Menú", "move-selection": "Mover selección", "moveCardPopup-title": "Mover Tarjeta", + "moveCardToBottom-title": "Move to Bottom", + "moveCardToTop-title": "Move to Top", "moveSelectionPopup-title": "Mover selección", "multi-selection": "Multi-Selección", "multi-selection-on": "Multi-selección activada", + "muted": "Muted", + "muted-info": "You will never be notified of any changes in this board", "my-boards": "Mis Tableros", "name": "Nombre", "no-archived-cards": "No hay tarjetas archivadas.", @@ -205,12 +247,15 @@ "normal": "Normal", "normal-desc": "Puedes ver y editar tarjetas. No puedes cambiar la configuración.", "not-accepted-yet": "Invitación no aceptada aún", + "notify-participate": "Receive updates to any cards you participate as creater or member", + "notify-watch": "Receive updates to any boards, lists, or cards you’re watching", "optional": "opcional", "or": "o", "page-maybe-private": "Esta página es privada. Para verla tienes que <a href='%s'>entrar</a>.", "page-not-found": "Página no encontrada.", "password": "Contraseña", "paste-or-dragdrop": "para pegar, o hacer drag & drop de un archivo (solo imágenes)", + "participating": "Participating", "preview": "Vista previa", "previewAttachedImagePopup-title": "Vista previa", "previewClipboardImagePopup-title": "Vista previa", @@ -235,7 +280,7 @@ "search": "Buscar", "select-color": "Selecciona un color", "shortcut-assign-self": "Asignarme la tarjeta actual", - "shortcut-autocomplete-emojies": "Autocompletar emojies", + "shortcut-autocomplete-emoji": "Autocomplete emoji", "shortcut-autocomplete-members": "Autocompletar miembros", "shortcut-clear-filters": "Eliminar todos los filters", "shortcut-close-dialog": "Cierra el Dialogo", @@ -243,6 +288,7 @@ "shortcut-show-shortcuts": "Mostrar atajos de teclado", "shortcut-toggle-filterbar": "Mostrar/Ocultar la barra lateral de filtrado", "shortcut-toggle-sidebar": "Menú lateral del Tablero", + "show-cards-minimum-count": "Show cards count if list contains more than", "signupPopup-title": "Crear una cuenta", "star-board-title": "Haz clic para destacar este tablero. Se mostrará en la parte superior de tu lista de tableros.", "starred-boards": "Tableros Destacados", @@ -251,14 +297,24 @@ "team": "Equipo", "this-board": "este tablero", "this-card": "esta tarjeta", + "time": "Time", "title": "Título", + "tracking": "Tracking", + "tracking-info": "You will be notified of any changes to those cards you are involved as creator or member.", "unassign-member": "Desasignar miembro", "unsaved-description": "Tienes una descripción sin guardar.", + "unwatch": "Unwatch", "upload": "Subir", "upload-avatar": "Subir avatar", "uploaded-avatar": "Avatar actualizado", "username": "Nombre de usuario", "view-it": "Visto", "warn-list-archived": "Aviso: esta tarjeta está en una lista archivada", + "watch": "Watch", + "watching": "Watching", + "watching-info": "You will be notified of any change in this board", + "welcome-board": "Welcome Board", + "welcome-list1": "Basics", + "welcome-list2": "Advanced", "what-to-do": "¿Qué quieres hacer?" } diff --git a/i18n/es.i18n.json b/i18n/es.i18n.json index 760b1aa5..09090b51 100755..100644 --- a/i18n/es.i18n.json +++ b/i18n/es.i18n.json @@ -1,5 +1,25 @@ { "accept": "Accept", + "act-activity-notify": "[Wekan] Activity Notification", + "act-addAttachment": "attached __attachment__ to __card__", + "act-addComment": "commented on __card__: __comment__", + "act-createBoard": "created __board__", + "act-createCard": "added __card__ to __list__", + "act-createList": "added __list__ to __board__", + "act-addBoardMember": "added __member__ to __board__", + "act-archivedBoard": "archived __board__", + "act-archivedCard": "archived __card__", + "act-archivedList": "archived __list__", + "act-importBoard": "imported __board__", + "act-importCard": "imported __card__", + "act-importList": "imported __list__", + "act-joinMember": "added __member__ to __card__", + "act-moveCard": "moved __card__ from __oldList__ to __list__", + "act-removeBoardMember": "removed __member__ from __board__", + "act-restoredCard": "restored __card__ to __board__", + "act-unjoinMember": "removed __member__ from __card__", + "act-withBoardTitle": "[Wekan] __board__", + "act-withCardTitle": "[__board__] __card__", "actions": "Acciones", "activities": "Activities", "activity": "Actividad", @@ -31,6 +51,8 @@ "all-boards": "Tableros", "and-n-other-card": "And __count__ other card", "and-n-other-card_plural": "And __count__ other cards", + "apply": "Apply", + "app-is-offline": "The application is currently offline, refreshing the page will cause data loss.", "archive": "Guardar", "archive-all": "Guardar Todo", "archive-board": "Archive Board", @@ -46,6 +68,7 @@ "attachment-delete-pop": "El borrado de un archivo adjunto es permanente. No se puede deshacer.", "attachmentDeletePopup-title": "¿Borrar adjunto?", "attachments": "Adjuntos", + "auto-watch": "Automatically watch boards when create it", "avatar-too-big": "The avatar is too large (70Kb max)", "back": "Atrás", "board-change-color": "Cambiar color", @@ -56,7 +79,7 @@ "boardChangeColorPopup-title": "Change Board Background", "boardChangeTitlePopup-title": "Renombrar tablero", "boardChangeVisibilityPopup-title": "Cambiar visibilidad", - "boardImportBoardPopup-title": "Import board from Trello", + "boardChangeWatchPopup-title": "Change Watch", "boardMenuPopup-title": "Board Menu", "boards": "Tableros", "bucket-example": "Like “Bucket List” for example", @@ -66,11 +89,15 @@ "card-delete-notice": "El borrado es permanente. Perderás todas las acciones asociadas a esta ficha.", "card-delete-pop": "All actions will be removed from the activity feed and you won't be able to re-open the card. There is no undo.", "card-delete-suggest-archive": "You can archive a card to remove it from the board and preserve the activity.", + "card-due": "Due", + "card-due-on": "Due on", "card-edit-attachments": "Edit attachments", "card-edit-labels": "Edit labels", "card-edit-members": "Edit members", "card-labels-title": "Cambia las etiquetas de la ficha", "card-members-title": "Añadir o eliminar miembros del tablero desde la ficha.", + "card-start": "Start", + "card-start-on": "Starts on", "cardAttachmentsPopup-title": "Attach From", "cardDeletePopup-title": "¿Borrar ficha?", "cardDetailsActionsPopup-title": "Card Actions", @@ -82,13 +109,15 @@ "change-avatar": "Cambiar Avatar", "change-password": "Cambiar la clave", "change-permissions": "Cambiar permisos", + "change-settings": "Change Settings", "changeAvatarPopup-title": "Cambiar Avatar", "changeLanguagePopup-title": "Cambiar idioma", "changePasswordPopup-title": "Cambiar la clave", "changePermissionsPopup-title": "Cambiar permisos", + "changeSettingsPopup-title": "Change Settings", "click-to-star": "Haz clic para destacar este tablero. ", "click-to-unstar": "Haz clic para dejar de destacar este tablero. ", - "clipboard": "Clipboard or drag & drop", + "clipboard" : "Clipboard or drag & drop", "close": "Cerrar", "close-board": "Cerrar el tablero", "close-board-pop": "You will be able to restore the board by clicking the “Archives” button from the home header.", @@ -109,6 +138,7 @@ "createBoardPopup-title": "Crear tablero", "createLabelPopup-title": "Crear etiqueta", "current": "actual", + "date": "Date", "decline": "Decline", "default-avatar": "Avatar por defecto", "delete": "Borrar", @@ -122,7 +152,10 @@ "edit": "Editar", "edit-avatar": "Cambiar Avatar", "edit-profile": "Edit Profile", + "editCardStartDatePopup-title": "Change start date", + "editCardDueDatePopup-title": "Change due date", "editLabelPopup-title": "Cambiar etiqueta", + "editNotificationPopup-title": "Edit Notification", "editProfilePopup-title": "Edit Profile", "email": "Correo electrónico", "email-enrollAccount-subject": "An account created for you on __siteName__", @@ -146,27 +179,33 @@ "error-user-doesNotExist": "This user does not exist", "error-user-notAllowSelf": "This action on self is not allowed", "error-user-notCreated": "This user is not created", + "error-username-taken": "This username is already taken", "export-board": "Export board", "filter": "Filter", "filter-cards": "Fichas de filtro", "filter-clear": "Clear filter", + "filter-no-label": "No label", + "filter-no-member": "No member", "filter-on": "Filter is on", "filter-on-desc": "Estás filtrando fichas en este tablero. Haz clic aquí para editar el filtro.", "filter-to-selection": "Filter to selection", "fullname": "Nombre Completo", "header-logo-title": "Volver a tu página de tableros", + "hide-system-messages": "Hide system messages", "home": "Inicio", "import": "Import", "import-board": "import from Trello", + "import-board-title": "Import board from Trello", "import-board-trello-instruction": "In your Trello board, go to 'Menu', then 'More', 'Print and Export', 'Export JSON', and copy the resulting text", - "import-card": "Import a Trello card", - "import-card-trello-instruction": "Go to a Trello card, select 'Share and more...' then 'Export JSON' and copy the resulting text", "import-json-placeholder": "Paste your valid JSON data here", + "import-map-members": "Map members", "import-members-map": "Your imported board has some members. Please map the members you want to import to Wekan users", "import-show-user-mapping": "Review members mapping", "import-user-select": "Pick the Wekan user you want to use as this member", + "importMapMembersAddPopup-title": "Select Wekan member", "info": "Informaciones", "initials": "Initials", + "invalid-date": "Invalid date", "joined": "se ha unido", "just-invited": "You are just invited to this board", "keyboard-shortcuts": "Keyboard shortcuts", @@ -186,17 +225,20 @@ "listImportCardPopup-title": "Import a Trello card", "lists": "Lists", "log-out": "Finalizar la sesion", + "log-in": "Log In", "loginPopup-title": "Iniciar sesion", - "mapMembersAddPopup-title": "Select Wekan member", - "mapMembersPopup-title": "Map members", "memberMenuPopup-title": "Member Settings", "members": "Miembros", "menu": "Menu", "move-selection": "Move selection", "moveCardPopup-title": "Move Card", + "moveCardToBottom-title": "Move to Bottom", + "moveCardToTop-title": "Move to Top", "moveSelectionPopup-title": "Move selection", "multi-selection": "Multi-Selection", "multi-selection-on": "Multi-Selection is on", + "muted": "Muted", + "muted-info": "You will never be notified of any changes in this board", "my-boards": "Mis tableros", "name": "Nombre", "no-archived-cards": "No archived cards.", @@ -205,12 +247,15 @@ "normal": "Normal", "normal-desc": "Puedes ver y editar fichas. No puedes cambiar la configuración.", "not-accepted-yet": "Invitation not accepted yet", + "notify-participate": "Receive updates to any cards you participate as creater or member", + "notify-watch": "Receive updates to any boards, lists, or cards you’re watching", "optional": "opcional", "or": "or", "page-maybe-private": "Esta página puede ser privada. Puedes verla por <a href='%s'>logging in</a>.", "page-not-found": "Página no encontrada.", "password": "Clave", "paste-or-dragdrop": "to paste, or drag & drop image file to it (image only)", + "participating": "Participating", "preview": "Preview", "previewAttachedImagePopup-title": "Preview", "previewClipboardImagePopup-title": "Preview", @@ -243,6 +288,7 @@ "shortcut-show-shortcuts": "Bring up this shortcuts list", "shortcut-toggle-filterbar": "Toggle Filter Sidebar", "shortcut-toggle-sidebar": "Toggle Board Sidebar", + "show-cards-minimum-count": "Show cards count if list contains more than", "signupPopup-title": "Crear una Cuenta", "star-board-title": "Haz clic para destacar este tablero. Se mostrará en la parte superior de tu lista de tableros.", "starred-boards": "Tableros Destacados", @@ -251,14 +297,24 @@ "team": "Equipo", "this-board": "este tablero", "this-card": "esta ficha", + "time": "Time", "title": "Título", + "tracking": "Tracking", + "tracking-info": "You will be notified of any changes to those cards you are involved as creator or member.", "unassign-member": "Unassign member", "unsaved-description": "You have an unsaved description.", + "unwatch": "Unwatch", "upload": "Upload", "upload-avatar": "Upload an avatar", "uploaded-avatar": "Uploaded an avatar", "username": "Nombre de Usuario", "view-it": "View it", "warn-list-archived": "warning: this card is in an archived list", + "watch": "Watch", + "watching": "Watching", + "watching-info": "You will be notified of any change in this board", + "welcome-board": "Welcome Board", + "welcome-list1": "Basics", + "welcome-list2": "Advanced", "what-to-do": "What do you want to do?" } diff --git a/i18n/fa.i18n.json b/i18n/fa.i18n.json new file mode 100644 index 00000000..bef0935f --- /dev/null +++ b/i18n/fa.i18n.json @@ -0,0 +1,319 @@ +{ + "accept": "تایید", + "act-activity-notify": "[Wekan] Activity Notification", + "act-addAttachment": "attached __attachment__ to __card__", + "act-addComment": "commented on __card__: __comment__", + "act-createBoard": "created __board__", + "act-createCard": "added __card__ to __list__", + "act-createList": "added __list__ to __board__", + "act-addBoardMember": "added __member__ to __board__", + "act-archivedBoard": "archived __board__", + "act-archivedCard": "archived __card__", + "act-archivedList": "archived __list__", + "act-importBoard": "imported __board__", + "act-importCard": "imported __card__", + "act-importList": "imported __list__", + "act-joinMember": "added __member__ to __card__", + "act-moveCard": "moved __card__ from __oldList__ to __list__", + "act-removeBoardMember": "removed __member__ from __board__", + "act-restoredCard": "restored __card__ to __board__", + "act-unjoinMember": "removed __member__ from __card__", + "act-withBoardTitle": "[Wekan] __board__", + "act-withCardTitle": "[__board__] __card__", + "actions": "اعمال", + "activities": "فعالیت ها", + "activity": "فعالیت", + "activity-added": " %s به %s اضافه شد", + "activity-archived": "%s بایگانی شد", + "activity-attached": "%s به %s پیوست شد", + "activity-created": "%s ایجاد شد", + "activity-excluded": "%s از %s مستثنی گردید", + "activity-imported": "%s از %s وارد %s شد", + "activity-imported-board": "%s از %s وارد شد", + "activity-joined": "اتصال به %s", + "activity-moved": "%s از %s به %s منتقل شد", + "activity-on": "%s", + "activity-removed": "%s از %s حذف شد", + "activity-sent": "ارسال %s به %s", + "activity-unjoined": "جداسازی %s", + "add": "افزودن", + "add-attachment": "افزودن ضمیمه", + "add-board": "افزودن برد جدید", + "add-card": "افزودن کارت", + "add-cover": "افزودن کاور", + "add-label": "افزودن برچسب", + "add-list": "افزودن لیست", + "add-members": "افزودن اعضا", + "added": "اضافه گردید", + "addMemberPopup-title": "اعضا", + "admin": "مدیر", + "admin-desc": "امکان دیدن و ویرایش کارتها،پاک کردن کاربران و تغییر تنظیمات برای تخته", + "all-boards": "تمام بردها", + "and-n-other-card": "و __count__ کارت دیگر", + "and-n-other-card_plural": "و __count__ کارت دیگر", + "apply": "Apply", + "app-is-offline": "The application is currently offline, refreshing the page will cause data loss.", + "archive": "آرشیو", + "archive-all": "تمامی آرشیوها", + "archive-board": "بایگانی برد", + "archive-card": "بایگانی کارت", + "archive-list": "بایگانی این لیست", + "archive-selection": "بایگانی موارد انتخاب شده ها", + "archiveBoardPopup-title": "آیا می خواهید بایگانی شود؟", + "archived-items": "آیتم های بایگانی شده", + "archives": "آرشیوها", + "assign-member": "تعیین عضو", + "attached": "وابسته", + "attachment": "ضمائم", + "attachment-delete-pop": "حذف پیوست دایمی خواهد بود، بدون بازگشت", + "attachmentDeletePopup-title": "آیا می خواهید ضمیمه را حذف کنید؟", + "attachments": "ضمائم", + "auto-watch": "Automatically watch boards when create it", + "avatar-too-big": "حجم تصویر انتخاب شده بیشتر از حد مجاز است .(حد مجاز 70Kb)", + "back": "بازگشت", + "board-change-color": "تغییر رنگ", + "board-nb-stars": "%s ستاره", + "board-not-found": "برد مورد نظر پیدا نشد", + "board-private-info": "این برد <strong>خصوصی</strong> خواهد بود.", + "board-public-info": "این برد <strong>عمومی</strong> خواهد بود.", + "boardChangeColorPopup-title": "تغییر پس زمینه برد", + "boardChangeTitlePopup-title": "تغییر نام برد", + "boardChangeVisibilityPopup-title": "تغغیر وضعیت نمایش", + "boardChangeWatchPopup-title": "Change Watch", + "boardMenuPopup-title": "منوی برد", + "boards": "بردها", + "bucket-example": "مانند \"لیست سبدها\" برای مثال", + "cancel": "انصراف", + "card-archived": "این کارت بایگانی شده است.", + "card-comments-title": "این کارت دارای %s نظر می باشد.", + "card-delete-notice": "پاک کردن بطور کامل. شما تمامی اقدامات مربوطه را از دست خواهید داد.", + "card-delete-pop": "همه اقدامات ازاین پردازه (خوراک) حذف خواهد شد و امکان بازگشا کردن کارت وجود نخواهد داشت. هیچ امکان بازگشتی!", + "card-delete-suggest-archive": "شما می توانید یک کارت را بایگانی کرده با حفظ فعالیت های آن.", + "card-due": "Due", + "card-due-on": "Due on", + "card-edit-attachments": "ویرایش ضمائم", + "card-edit-labels": "ویرایش برچسب", + "card-edit-members": "ویرایش اعضا", + "card-labels-title": "تغییر برچسب کارت", + "card-members-title": "افزودن یا حذف اعضا از کارت.", + "card-start": "Start", + "card-start-on": "Starts on", + "cardAttachmentsPopup-title": "ضمیمه از", + "cardDeletePopup-title": "آیا می خواهید کارت را حذف کنید؟", + "cardDetailsActionsPopup-title": "اعمال کارت", + "cardLabelsPopup-title": "برچسب ها", + "cardMembersPopup-title": "اعضا", + "cardMorePopup-title": "بیشتر", + "cards": "کارت ها", + "change": "تغییر", + "change-avatar": "تغییر آواتار", + "change-password": "تغییر کلمه عبور", + "change-permissions": "تغییر دسترسی ها", + "change-settings": "Change Settings", + "changeAvatarPopup-title": "تغییر آواتار", + "changeLanguagePopup-title": "تغییر زبان", + "changePasswordPopup-title": "تغییر کلمه عبور", + "changePermissionsPopup-title": "تغییر دسترسی ها", + "changeSettingsPopup-title": "Change Settings", + "click-to-star": "جهت افزودن ستاره کلیک کنید .", + "click-to-unstar": "جهت کاهش ستاره کلیک کنید.", + "clipboard" : "ذخیره در حافظه ویا بکش-رهاکن", + "close": "بستن", + "close-board": "بستن برد", + "close-board-pop": "شما می توانید با کلیک بر دکمه \"بایگانی\" از قسمت بالای خانه، تخته را بازگذاری نمایید.", + "color-black": "مشکی", + "color-blue": "آبی", + "color-green": "سبز\n", + "color-lime": "لیمویی", + "color-orange": "نارنجی", + "color-pink": "صورتی", + "color-purple": "بنفش", + "color-red": "قرمز", + "color-sky": "آبی آسمانی", + "color-yellow": "زرد", + "comment": "نظر", + "comment-placeholder": "ثبت یک نظر", + "computer": "کامپیوتر", + "create": "ایجاد", + "createBoardPopup-title": "ایجاد برد", + "createLabelPopup-title": "ایجاد برچسب", + "current": "جاری", + "date": "Date", + "decline": "رد", + "default-avatar": "آواتار پیش فرض", + "delete": "حذف", + "deleteLabelPopup-title": "آیا می خواهید برچسب را حذف کنید؟", + "description": "توضیحات", + "disambiguateMultiLabelPopup-title": "عمل ابهام زدایی از برچسب", + "disambiguateMultiMemberPopup-title": "عمل ابهام زدایی از کاربر", + "discard": "انصراف", + "done": "پایان", + "download": "دریافت", + "edit": "ویرایش", + "edit-avatar": "تغییر آواتار", + "edit-profile": "ویرایش پروفایل", + "editCardStartDatePopup-title": "Change start date", + "editCardDueDatePopup-title": "Change due date", + "editLabelPopup-title": "تغغیر برچسب", + "editNotificationPopup-title": "Edit Notification", + "editProfilePopup-title": "ویرایش پروفایل", + "email": "ایمیل", + "email-enrollAccount-subject": "یک حساب کاربری برای شما در __siteName__ ایجاد شد", + "email-enrollAccount-text": "سلام __user__ \nبرای شروع به استفاده از این سرویس برروی کلیک روی لینک زیر کلیک نمایید،با تشکر \n__url__.", + "email-fail": "عدم موفقیت در ارسال نامه الکترونیکی", + "email-invalid": "پست الکترونیکی نادرست", + "email-invite": "دعوت از طریق نامه الکترونیکی", + "email-invite-subject": "__inviter__ برای شما دعوت نامه ارسال کرده است", + "email-invite-text": "__User__ عزیز\n __inviter__ شما را به عضویت تخته \"__board__\" برای همکاری دعوت کرده است.\nلطفا لینک زیر را دنبال کنید، باتشکر:\n__url__", + "email-resetPassword-subject": "تنظیم مجدد کلمه عبور در __siteName__", + "email-resetPassword-text": "سلام __user__\nجهت تنظیم مجدد کلمه عبور لینک زیر را دنبال نمایید، باتشکر:\n__url__", + "email-sent": "نامه الکترونیکی فرستاده شد", + "email-verifyEmail-subject": "تایید آدرس الکترونیکی شما در __siteName__", + "email-verifyEmail-text": "سلام __user__\nبه منظور تایید آدرس الکترونیکی حساب خود، لینک زیر را دنبال نمایید، باتشکر:\n__url__.", + "error-board-doesNotExist": "تخته مورد نظر وجود ندارد", + "error-board-notAdmin": "شما جهت انجام آن باید مدیر تخته باشید", + "error-board-notAMember": "شما انجام آن ،باید عضو این تخته باشید.", + "error-json-malformed": "متن درغالب صحیح Json نمی باشد.", + "error-json-schema": "داده های Json شما، شامل اطلاعات صحیح در غالب درستی نمی باشد.", + "error-list-doesNotExist": "این لیست موجود نیست", + "error-user-doesNotExist": "این کاربر وجود ندارد", + "error-user-notAllowSelf": "این اقدامبروی خود، مجاز نمی باشد", + "error-user-notCreated": "این کاربر ایجاد نشده است", + "error-username-taken": "This username is already taken", + "export-board": "انتقال به بیرون تخته", + "filter": "فیلتر", + "filter-cards": "صافی کارتها", + "filter-clear": "حذف فیلتر", + "filter-no-label": "No label", + "filter-no-member": "No member", + "filter-on": "صافی روشن است", + "filter-on-desc": "شما صافی برای کارتهای تخته را روشن کرده اید. جهت ویرایش کلیک نمایید.", + "filter-to-selection": "صافی برای موارد انتخابی", + "fullname": "نام و نام خانوادگی", + "header-logo-title": "بازگشت به صفحه تخته.", + "hide-system-messages": "Hide system messages", + "home": "خانه", + "import": "وارد کردن", + "import-board": "وارد کردن از ترلو", + "import-board-title": "Import board from Trello", + "import-board-trello-instruction": "در Trello-ی خود به 'Menu'، 'More'، 'Print'، 'Export to JSON رفته و متن نهایی را دراینجا وارد نمایید.", + "import-json-placeholder": "اطلاعات Json معتبر خود را اینجا وارد کنید.", + "import-map-members": "Map members", + "import-members-map": "تخته خود وارد شده دارای برخی از اعضا می باشد. لطفا کاربرانی که باید وارد نرم افزار بشوند را مشخص کنید.", + "import-show-user-mapping": "بررسی نقشه کاربران", + "import-user-select": "کاربری از نرم افزار را که می خواهید بعنوان این عضو جایگزین شود را انتخاب کنید.", + "importMapMembersAddPopup-title": "Select Wekan member", + "info": "اطلاعات", + "initials": "تخصیصات اولیه", + "invalid-date": "Invalid date", + "joined": "متصل", + "just-invited": "هم اکنون، شما به این تخته دعوت شده اید.", + "keyboard-shortcuts": "میانبر کلیدها", + "label-create": "ایجاد برچسب جدید", + "label-default": "%s برچسب(پیش فرض)", + "label-delete-pop": "بدون برگشت. این حذفبرچسب را از هر کارت پاک خواهد کردو تاریخچه آن را نیز ازبین می برد.", + "labels": "برچسب ها", + "language": "زبان", + "last-admin-desc": "شما نمی توانید نقش را تغییر دهید چراکه باید حداقل یک مدیری وجود داشته باشد.", + "leave-board": "خروج از برد", + "link-card": "ارجاع به این کارت", + "list-archive-cards": "بایگانی تمامی کارتهای این لیست", + "list-archive-cards-pop": "این همه کارت ها در این لیست از تخته راحذف خواهد کرد. جهت مشاهده کارت های بایگانی و بازگرداندن آنها ، \"Menu\",\"Archived Item\" را کلیک کنید.", + "list-move-cards": "انتقال تمام کارت ها در این لیست", + "list-select-cards": "انتخاب تمام کارت ها در این لیست", + "listActionPopup-title": "لیست اقدامات", + "listImportCardPopup-title": "وارد کردن کارت Trello", + "lists": "لیست ها", + "log-out": "خروج", + "log-in": "Log In", + "loginPopup-title": "ورود", + "memberMenuPopup-title": "تنظیمات اعضا", + "members": "اعضا", + "menu": "منو", + "move-selection": "حرکت مورد انتخاب شده", + "moveCardPopup-title": "حرکت کارت", + "moveCardToBottom-title": "Move to Bottom", + "moveCardToTop-title": "Move to Top", + "moveSelectionPopup-title": "حرکت مورد انتخاب شده", + "multi-selection": "چند انتخابی", + "multi-selection-on": "چند انتخابی روشن است", + "muted": "Muted", + "muted-info": "You will never be notified of any changes in this board", + "my-boards": "بردهای من", + "name": "نام", + "no-archived-cards": "کارتی در بایگانی نیست", + "no-archived-lists": "لیستی در بایگانی نیست", + "no-results": "نتیجه ای ندارد", + "normal": "عادی", + "normal-desc": "امکان نمایش و تنظیم کارت بدون امکان تغییر تنظیمات", + "not-accepted-yet": "دعوت هنوز پذیرفته نشده است", + "notify-participate": "Receive updates to any cards you participate as creater or member", + "notify-watch": "Receive updates to any boards, lists, or cards you’re watching", + "optional": "انتخابی", + "or": "یا", + "page-maybe-private": "این صفحه ممکن است خصوصی باشد.شما با<a href='%s'>ورود</a> می توانید آنرا ملاحظه نمایید.", + "page-not-found": "صفحه پیدا نشد.", + "password": "کلمه عبور", + "paste-or-dragdrop": "جهت چسباندن، یا کشیدن-رهاسازی فایل تصویر به آن (تصویر)", + "participating": "Participating", + "preview": "نمایش", + "previewAttachedImagePopup-title": "نمایش", + "previewClipboardImagePopup-title": "نمایش", + "private": "خصوصی", + "private-desc": "این تخته خصوصی است. فقط تنها افراد اضافه شده به آن می توانند مشاهده و ویرایش کنند.", + "profile": "پروفایل", + "public": "عمومی", + "public-desc": "این تخته عمومی است. برای هر کسی با لینک ویا جستجو درموتورها مانند گوگل قابل مشاهده است . فقط افرادی که به آن اضافه شده اند امکان ویرایش دارند.", + "quick-access-description": "جهت افزودن یک تخته به اینجا،آنرا ستاره دار نمایید.", + "remove-cover": "حذف کاور", + "remove-from-board": "حذف از برد", + "remove-label": "حذف برچسب", + "remove-member": "حذف عضو", + "remove-member-from-card": "حذف از کارت", + "remove-member-pop": "آیا می خواهید __Name__ (__username__) را از __boardTitle__ حذف کنید? کاربر از تمام کارت ها در این تخته حذف خواهد شد و به آنها اطلاع رسانی خواهد شد.", + "removeMemberPopup-title": "آیا می خواهید کاربر را حذف کنید؟", + "rename": "تغغیر نام", + "rename-board": "تغییر نام برد", + "restore": "بازیابی", + "save": "ذخیره", + "search": "جستجو", + "select-color": "انتخاب رنگ", + "shortcut-assign-self": "اختصاص خود به کارت فعلی", + "shortcut-autocomplete-emoji": "Autocomplete emoji", + "shortcut-autocomplete-members": "تکمیل خودکار کاربرها", + "shortcut-clear-filters": "حذف تمامی فیلترها", + "shortcut-close-dialog": "بستن دیالوگ", + "shortcut-filter-my-cards": "کارت های من", + "shortcut-show-shortcuts": "بالا آوردن میانبر این لیست", + "shortcut-toggle-filterbar": "ضامن نوار صافی", + "shortcut-toggle-sidebar": "ضامن نوار تخته", + "show-cards-minimum-count": "Show cards count if list contains more than", + "signupPopup-title": "ایجاد یک اکانت", + "star-board-title": "جهت ستاره دار کردن تخته کلیک نمایی.این در بالای لیست تخته های شما نمایش داده خواهد شد.", + "starred-boards": "تخته های ستاره دار", + "starred-boards-description": "تخته های ستاره دار در بالای لیست تخته ها نمایش داده می شود.", + "subscribe": "عضوشدن", + "team": "تیم", + "this-board": "این برد", + "this-card": "این کارت", + "time": "Time", + "title": "عنوان", + "tracking": "Tracking", + "tracking-info": "You will be notified of any changes to those cards you are involved as creator or member.", + "unassign-member": "عدم انتصاب کاربر ", + "unsaved-description": "شما توضیحات ذخیره نشده دارید.", + "unwatch": "Unwatch", + "upload": "ارسال", + "upload-avatar": "ارسال یک آواتار", + "uploaded-avatar": "آواتار ارسال شد", + "username": "نام کاربری", + "view-it": "مشاهده", + "warn-list-archived": "هشدار: این کارت در یک لیست بایگانی شده است", + "watch": "Watch", + "watching": "Watching", + "watching-info": "You will be notified of any change in this board", + "welcome-board": "Welcome Board", + "welcome-list1": "Basics", + "welcome-list2": "Advanced", + "what-to-do": "چه کاری می خواهید انجام دهید؟" +} diff --git a/i18n/fi.i18n.json b/i18n/fi.i18n.json index f3ab29a4..e43b0177 100755..100644 --- a/i18n/fi.i18n.json +++ b/i18n/fi.i18n.json @@ -1,5 +1,25 @@ { "accept": "Hyväksy", + "act-activity-notify": "[Wekan] Toimintailmoitus", + "act-addAttachment": "liitetty __attachment__ kortille __card__", + "act-addComment": "kommentoitu __card__: __comment__", + "act-createBoard": "luotu __board__", + "act-createCard": "lisätty __card__ listalle __list__", + "act-createList": "lisätty __list__ taululle __board__", + "act-addBoardMember": "lisätty __member__ taululle __board__", + "act-archivedBoard": "arkistoitu __board__", + "act-archivedCard": "arkistoitu __card__", + "act-archivedList": "arkistoitu __list__", + "act-importBoard": "tuotu __board__", + "act-importCard": "tuotu __card__", + "act-importList": "tuotu __list__", + "act-joinMember": "lisätty __member__ kortille __card__", + "act-moveCard": "siirretty __card__ listalta __oldList__ listalle __list__", + "act-removeBoardMember": "poistettu __member__ taululta __board__", + "act-restoredCard": "palautettu __card__ taululle __board__", + "act-unjoinMember": "poistettu __member__ kortilta __card__", + "act-withBoardTitle": "[Wekan] __board__", + "act-withCardTitle": "[__board__] __card__", "actions": "Toimet", "activities": "Toimet", "activity": "Toiminta", @@ -31,6 +51,8 @@ "all-boards": "Kaikki taulut", "and-n-other-card": "Ja __count__ muu kortti", "and-n-other-card_plural": "Ja __count__ muuta korttia", + "apply": "Käytä", + "app-is-offline": "Sovellus ei ole tällä hetkellä linjoilla, sivun lataaminen uudelleen voi aiheuttaa muutettujen tietojen menettämisen.", "archive": "Arkistoi", "archive-all": "Arkistoi kaikki", "archive-board": "Arkistoi taulu", @@ -46,17 +68,18 @@ "attachment-delete-pop": "Liitetiedoston poistaminen on lopullista. Tätä ei pysty peruuttamaan.", "attachmentDeletePopup-title": "Poista liitetiedosto?", "attachments": "Liitetiedostot", + "auto-watch": "Automaattisesti seuraa tauluja kun ne on luotu", "avatar-too-big": "Profiilikuva on liian suuri (70Kb maksimi)", "back": "Takaisin", - "board-change-color": "Vaihda väri", + "board-change-color": "Muokkaa väriä", "board-nb-stars": "%s tähteä", "board-not-found": "Taulua ei löytynyt", "board-private-info": "Tämä taulu tulee olemaan <strong>yksityinen</strong>.", "board-public-info": "Tämä taulu tulee olemaan <strong>julkinen</strong>.", - "boardChangeColorPopup-title": "Vaihda taulun tausta", + "boardChangeColorPopup-title": "Muokkaa taulun taustaa", "boardChangeTitlePopup-title": "Nimeä taulu uudelleen", - "boardChangeVisibilityPopup-title": "Vaihda näkyvyyttä", - "boardImportBoardPopup-title": "Tuo taulu Trellosta", + "boardChangeVisibilityPopup-title": "Muokkaa näkyvyyttä", + "boardChangeWatchPopup-title": "Muokkaa seuraamista", "boardMenuPopup-title": "Taulu valikko", "boards": "Taulut", "bucket-example": "Kuten “Laatikko lista” esimerkiksi", @@ -66,11 +89,15 @@ "card-delete-notice": "Poistaminen on lopullista. Menetät kaikki toimet jotka on liitetty tähän korttiin.", "card-delete-pop": "Kaikki toimet poistetaan toimintasyötteestä ja et tule pystymään uudelleenavaamaan korttia. Tätä ei voi peruuttaa.", "card-delete-suggest-archive": "Voit arkistoida kortin poistaaksesi sen taululta ja säilyttääksesi toimet.", + "card-due": "Erääntyy", + "card-due-on": "Erääntyy", "card-edit-attachments": "Muokkaa liitetiedostoja", "card-edit-labels": "Muokkaa tunnisteita", "card-edit-members": "Muokkaa jäseniä", - "card-labels-title": "Vaihda kortin tunnisteita.", + "card-labels-title": "Muokkaa kortin tunnisteita.", "card-members-title": "Lisää tai poista taulun jäseniä tältä kortilta.", + "card-start": "Alkaa", + "card-start-on": "Alkaa", "cardAttachmentsPopup-title": "Liitä mistä", "cardDeletePopup-title": "Poista kortti?", "cardDetailsActionsPopup-title": "Kortti toimet", @@ -78,17 +105,19 @@ "cardMembersPopup-title": "Jäsenet", "cardMorePopup-title": "Lisää", "cards": "Kortit", - "change": "Muuta", - "change-avatar": "Vaihda profiilikuva", + "change": "Muokkaa", + "change-avatar": "Muokkaa profiilikuvaa", "change-password": "Vaihda salasana", - "change-permissions": "Muuta oikeuksia", - "changeAvatarPopup-title": "Vaihda profiilikuva", + "change-permissions": "Muokkaa oikeuksia", + "change-settings": "Muokkaa asetuksia", + "changeAvatarPopup-title": "Muokkaa profiilikuvaa", "changeLanguagePopup-title": "Vaihda kieltä", "changePasswordPopup-title": "Vaihda salasana", - "changePermissionsPopup-title": "Vaihda oikeuksia", + "changePermissionsPopup-title": "Muokkaa oikeuksia", + "changeSettingsPopup-title": "Muokkaa asetuksia", "click-to-star": "Klikkaa merkataksesi tämä taulu tähdellä.", "click-to-unstar": "Klikkaa poistaaksesi tähtimerkintä taululta.", - "clipboard": "Leikepöytä tai raahaa ja pudota", + "clipboard" : "Leikepöytä tai raahaa ja pudota", "close": "Sulje", "close-board": "Sulje taulu", "close-board-pop": "Voit palauttaa taulun klikkaamalla “Arkistot” painiketta kotiotsikosta.", @@ -109,6 +138,7 @@ "createBoardPopup-title": "Luo taulu", "createLabelPopup-title": "Luo tunniste", "current": "nykyinen", + "date": "Päivämäärä", "decline": "Kieltäydy", "default-avatar": "Oletus profiilikuva", "delete": "Poista", @@ -120,9 +150,12 @@ "done": "Valmis", "download": "Lataa", "edit": "Muokkaa", - "edit-avatar": "Vaihda profiilikuva", + "edit-avatar": "Muokkaa profiilikuvaa", "edit-profile": "Muokkaa profiilia", - "editLabelPopup-title": "Vaihda tunniste", + "editCardStartDatePopup-title": "Muokkaa aloituspäivää", + "editCardDueDatePopup-title": "Muokkaa eräpäivää", + "editLabelPopup-title": "Muokkaa tunnistetta", + "editNotificationPopup-title": "Muokkaa ilmoituksia", "editProfilePopup-title": "Muokkaa profiilia", "email": "Sähköposti", "email-enrollAccount-subject": "An account created for you on __siteName__", @@ -146,27 +179,33 @@ "error-user-doesNotExist": "Tätä käyttäjää ei ole olemassa", "error-user-notAllowSelf": "Tämä toiminto itseäsi kohtaan ei ole sallittu", "error-user-notCreated": "Tätä käyttäjää ei ole luotu", + "error-username-taken": "Tämä käyttäjätunnus on jo käytössä", "export-board": "Export board", "filter": "Suodata", "filter-cards": "Suodata kortit", "filter-clear": "Poista suodatin", + "filter-no-label": "Ei tunnistetta", + "filter-no-member": "Ei jäseniä", "filter-on": "Suodatus on päällä", "filter-on-desc": "Suodatat kortteja tällä taululla. Klikkaa tästä muokataksesi suodatinta.", "filter-to-selection": "Suodata valintaan", "fullname": "Koko nimi", "header-logo-title": "Palaa taulut sivullesi.", + "hide-system-messages": "Piilota järjestelmäviestit", "home": "Koti", "import": "Tuo", "import-board": "tuo Trellosta", + "import-board-title": "Tuo taulu Trellosta", "import-board-trello-instruction": "Trello taulullasi, mene 'Menu', sitten 'More', 'Print and Export', 'Export JSON', ja kopioi tuloksena saamasi teksti", - "import-card": "Tuo Trello kortti", - "import-card-trello-instruction": "Mene Trello kortille, valitse 'Share and more...' sitten 'Export JSON' ja kopioi tuloksena saamasi teksti", "import-json-placeholder": "Liitä kelvollinen JSON tietosi tähän", + "import-map-members": "Vastaavat jäsenet", "import-members-map": "Tuomallasi taululla on muutamia jäseniä. Ole hyvä ja valitse tuomiasi jäseniä vastaavat Wekan käyttäjät", "import-show-user-mapping": "Tarkasta vastaavat jäsenet", "import-user-select": "Valitse Wekan käyttäjä jota haluat käyttää tänä käyttäjänä", + "importMapMembersAddPopup-title": "Valitse Wekan käyttäjä", "info": "Tietoja", "initials": "Nimikirjaimet", + "invalid-date": "Virheellinen päivämäärä", "joined": "liittyi", "just-invited": "Sinut on juuri kutsuttu tälle taululle", "keyboard-shortcuts": "Pikanäppäimet", @@ -186,17 +225,20 @@ "listImportCardPopup-title": "Tuo Trello kortti", "lists": "Listat", "log-out": "Kirjaudu ulos", + "log-in": "Kirjaudu sisään", "loginPopup-title": "Kirjaudu sisään", - "mapMembersAddPopup-title": "Valitse Wekan käyttäjä", - "mapMembersPopup-title": "Vastaavat jäsenet", "memberMenuPopup-title": "Jäsen asetukset", "members": "Jäsenet", "menu": "Valikko", "move-selection": "Move selection", "moveCardPopup-title": "Siirrä kortti", + "moveCardToBottom-title": "Siirrä alimmaiseksi", + "moveCardToTop-title": "Siirrä ylimmäiseksi", "moveSelectionPopup-title": "Move selection", "multi-selection": "Monivalinta", "multi-selection-on": "Monivalinta on päällä", + "muted": "Vaimennettu", + "muted-info": "Et saa koskaan ilmoituksia tämän taulun muutoksista", "my-boards": "Tauluni", "name": "Nimi", "no-archived-cards": "Ei arkistoituja kortteja.", @@ -205,12 +247,15 @@ "normal": "Normaali", "normal-desc": "Voi nähdä ja muokata kortteja. Ei voi muokata asetuksia.", "not-accepted-yet": "Kutsua ei ole hyväksytty vielä", + "notify-participate": "Vastaanota päivityksiä kaikilta korteilta jotka olet tehnyt tai joihin osallistut.", + "notify-watch": "Vastaanota päivityksiä kaikilta tauluilta, listoilta tai korteilta joita seuraat.", "optional": "valinnainen", "or": "tai", "page-maybe-private": "Tämä sivu voi olla yksityinen. Voit ehkä pystyä näkemään sen <a href='%s'>kirjautumalla sisään</a>.", "page-not-found": "Sivua ei löytynyt.", "password": "Salasana", "paste-or-dragdrop": "liittääksesi, tai vedä & pudota kuvatiedosto siihen (vain kuva)", + "participating": "Osallistutaan", "preview": "Esikatsele", "previewAttachedImagePopup-title": "Esikatsele", "previewClipboardImagePopup-title": "Esikatsele", @@ -241,8 +286,9 @@ "shortcut-close-dialog": "Sulje valintaikkuna", "shortcut-filter-my-cards": "Suodata korttini", "shortcut-show-shortcuts": "Tuo esiin tämä pikavalinta lista", - "shortcut-toggle-filterbar": "Vaihda suodatus sivupalkin näkyvyys", - "shortcut-toggle-sidebar": "Vaihda taulu sivupalkin näkyvyys", + "shortcut-toggle-filterbar": "Muokkaa suodatus sivupalkin näkyvyyttä", + "shortcut-toggle-sidebar": "Muokkaa taulu sivupalkin näkyvyyttä", + "show-cards-minimum-count": "Näytä korttien lukumäärä jos lista sisältää enemmän kuin", "signupPopup-title": "Luo tili", "star-board-title": "Klikkaa merkataksesi taulu tähdellä. Se tulee näkymään ylimpänä taululistallasi.", "starred-boards": "Tähdellä merkatut taulut", @@ -251,14 +297,24 @@ "team": "Tiimi", "this-board": "tämä taulu", "this-card": "tämä kortti", + "time": "Aika", "title": "Otsikko", + "tracking": "Ilmoitukset", + "tracking-info": "Sinulle ilmoitetaan muutoksista korteissa joihin olet osallistunut luojana tai jäsenenä.", "unassign-member": "Peru jäsenvalinta", "unsaved-description": "Sinulla on tallentamaton kuvaus.", + "unwatch": "Lopeta seuraaminen", "upload": "Lähetä", "upload-avatar": "Lähetä profiilikuva", "uploaded-avatar": "Profiilikuva lähetetty", "username": "Käyttäjänimi", "view-it": "Näytä se", "warn-list-archived": "varoitus: tämä kortti on arkistoitujen listalla", + "watch": "Seuraa", + "watching": "Seurataan", + "watching-info": "Sinulle ilmoitetaan tämän taulun muutoksista", + "welcome-board": "Tervetuloa taulu", + "welcome-list1": "Perusasiat", + "welcome-list2": "Edistynyt", "what-to-do": "Mitä haluat tehdä?" } diff --git a/i18n/fr.i18n.json b/i18n/fr.i18n.json index 29164799..8c228105 100755..100644 --- a/i18n/fr.i18n.json +++ b/i18n/fr.i18n.json @@ -1,5 +1,25 @@ { "accept": "Accepter", + "act-activity-notify": "[Wekan] Activity Notification", + "act-addAttachment": "attached __attachment__ to __card__", + "act-addComment": "commented on __card__: __comment__", + "act-createBoard": "created __board__", + "act-createCard": "added __card__ to __list__", + "act-createList": "added __list__ to __board__", + "act-addBoardMember": "added __member__ to __board__", + "act-archivedBoard": "archived __board__", + "act-archivedCard": "archived __card__", + "act-archivedList": "archived __list__", + "act-importBoard": "imported __board__", + "act-importCard": "imported __card__", + "act-importList": "imported __list__", + "act-joinMember": "added __member__ to __card__", + "act-moveCard": "moved __card__ from __oldList__ to __list__", + "act-removeBoardMember": "removed __member__ from __board__", + "act-restoredCard": "restored __card__ to __board__", + "act-unjoinMember": "removed __member__ from __card__", + "act-withBoardTitle": "[Wekan] __board__", + "act-withCardTitle": "[__board__] __card__", "actions": "Actions", "activities": "Activités", "activity": "Activité", @@ -31,6 +51,8 @@ "all-boards": "Tous les tableaux", "and-n-other-card": "Et __count__ autre carte", "and-n-other-card_plural": "Et __count__ autres cartes", + "apply": "Apply", + "app-is-offline": "The application is currently offline, refreshing the page will cause data loss.", "archive": "Archiver", "archive-all": "Tout archiver", "archive-board": "Archiver le tableau", @@ -46,6 +68,7 @@ "attachment-delete-pop": "La suppression d'une pièce jointe est définitive. Elle ne peut être annulée.", "attachmentDeletePopup-title": "Supprimer la pièce jointe ?", "attachments": "Pièces jointes", + "auto-watch": "Automatically watch boards when create it", "avatar-too-big": "La taille du fichier de l’avatar est trop importante (70 Ko au maximum)", "back": "Retour", "board-change-color": "Changer la couleur", @@ -56,7 +79,7 @@ "boardChangeColorPopup-title": "Change la fond du tableau", "boardChangeTitlePopup-title": "Renommer le tableau", "boardChangeVisibilityPopup-title": "Changer la visibilité", - "boardImportBoardPopup-title": "Importer le tableau depuis Trello", + "boardChangeWatchPopup-title": "Change Watch", "boardMenuPopup-title": "Menu du tableau", "boards": "Tableaux", "bucket-example": "Comme « todo list » par exemple", @@ -66,11 +89,15 @@ "card-delete-notice": "La suppression est permanente. Vous perdrez toutes les actions associées à cette carte.", "card-delete-pop": "Toutes les actions vont être supprimées du suivi d'activités et vous ne pourrez plus utiliser cette carte. Cette action est irréversible.", "card-delete-suggest-archive": "Vous pouvez archiver une carte pour la supprimer en préservant le suivi des activités.", + "card-due": "Due", + "card-due-on": "Due on", "card-edit-attachments": "Editer les pièces jointes", "card-edit-labels": "Editer les étiquettes", "card-edit-members": "Modifier les membres", "card-labels-title": "Modifier les étiquettes de la carte.", "card-members-title": "Ajouter ou supprimer des membres à la carte.", + "card-start": "Start", + "card-start-on": "Starts on", "cardAttachmentsPopup-title": "Joindre depuis", "cardDeletePopup-title": "Supprimer la carte ?", "cardDetailsActionsPopup-title": "Actions sur la carte", @@ -82,13 +109,15 @@ "change-avatar": "Changer l'avatar", "change-password": "Changer le mot de passe", "change-permissions": "Changer les permissions", + "change-settings": "Change Settings", "changeAvatarPopup-title": "Changer l'avatar", "changeLanguagePopup-title": "Changer la langue", "changePasswordPopup-title": "Changer le mot de passe", "changePermissionsPopup-title": "Changer les permissions", + "changeSettingsPopup-title": "Change Settings", "click-to-star": "Cliquez pour ajouter ce tableau aux favoris.", "click-to-unstar": "Cliquez pour retirer ce tableau des favoris.", - "clipboard": "Presse-papier ou glisser-déposer", + "clipboard" : "Presse-papier ou glisser-déposer", "close": "Fermer", "close-board": "Fermer le tableau", "close-board-pop": "Vous pouvez restaurer le tableau en cliquant sur le bouton « Archives » depuis le menu en entête.", @@ -109,6 +138,7 @@ "createBoardPopup-title": "Créer un tableau", "createLabelPopup-title": "Créer un étiquette", "current": "courant", + "date": "Date", "decline": "Refuser", "default-avatar": "Avatar par défaut", "delete": "Supprimer", @@ -122,7 +152,10 @@ "edit": "Éditer", "edit-avatar": "Changer l'avatar", "edit-profile": "Éditer le profil", + "editCardStartDatePopup-title": "Change start date", + "editCardDueDatePopup-title": "Change due date", "editLabelPopup-title": "Changer l'étiquette", + "editNotificationPopup-title": "Edit Notification", "editProfilePopup-title": "Éditer le profil", "email": "Email", "email-enrollAccount-subject": "Un compte a été créé pour vous sur __siteName__", @@ -146,27 +179,33 @@ "error-user-doesNotExist": "Cet utilisateur n’existe pas", "error-user-notAllowSelf": "This action on self is not allowed", "error-user-notCreated": "Cet utilisateur n’a pas encore été créé. ", + "error-username-taken": "This username is already taken", "export-board": "Exporter le tableau", "filter": "Filtrer", "filter-cards": "Filtrer les cartes", "filter-clear": "Retirer les filtres", + "filter-no-label": "No label", + "filter-no-member": "No member", "filter-on": "Le filtre est actif", "filter-on-desc": "Vous êtes en train de filtrer les cartes sur ce tableau. Cliquez ici pour changer les filtres.", "filter-to-selection": "Filtre vers la sélection", "fullname": "Nom complet", "header-logo-title": "Retourner à la page des tableaux", + "hide-system-messages": "Hide system messages", "home": "Accueil", "import": "Importer", "import-board": "Importer depuis Trello", + "import-board-title": "Import board from Trello", "import-board-trello-instruction": "In your Trello board, go to 'Menu', then 'More', 'Print and Export', 'Export JSON', and copy the resulting text", - "import-card": "Importer une carte Trello", - "import-card-trello-instruction": "Go to a Trello card, select 'Share and more...' then 'Export JSON' and copy the resulting text", "import-json-placeholder": "Collez ici les données JSON valides. ", + "import-map-members": "Map members", "import-members-map": "Le tableau que vous venez d’importer contient des participants. Veuillez associer les participants que vous souhaitez importer à des utilisateurs de Wekan. ", "import-show-user-mapping": "Review members mapping", "import-user-select": "Pick the Wekan user you want to use as this member", + "importMapMembersAddPopup-title": "Select Wekan member", "info": "Infos", "initials": "Initiales", + "invalid-date": "Invalid date", "joined": "a joint", "just-invited": "You are just invited to this board", "keyboard-shortcuts": "Raccourcis clavier", @@ -186,17 +225,20 @@ "listImportCardPopup-title": "Importer une carte Trello", "lists": "Listes", "log-out": "Déconnexion", + "log-in": "Log In", "loginPopup-title": "Connexion", - "mapMembersAddPopup-title": "Sélectioner le membre Wekan", - "mapMembersPopup-title": "Associer les membres", "memberMenuPopup-title": "Préférence de membre", "members": "Membres", "menu": "Menu", "move-selection": "Déplacer la sélection", "moveCardPopup-title": "Déplacer la carte", + "moveCardToBottom-title": "Move to Bottom", + "moveCardToTop-title": "Move to Top", "moveSelectionPopup-title": "Déplacer la sélection", "multi-selection": "Sélection multiple", "multi-selection-on": "Multi-Selection active", + "muted": "Muted", + "muted-info": "You will never be notified of any changes in this board", "my-boards": "Mes tableaux", "name": "Nom", "no-archived-cards": "Pas de carte archivée.", @@ -205,12 +247,15 @@ "normal": "Normal", "normal-desc": "Peut voir et éditer les cartes. Ne peut pas changer les paramètres.", "not-accepted-yet": "L’invitation n’a pas encore été acceptée", + "notify-participate": "Receive updates to any cards you participate as creater or member", + "notify-watch": "Receive updates to any boards, lists, or cards you’re watching", "optional": "optionnel", "or": "ou", "page-maybe-private": "Cette page est peut-être privée. Vous pourrez peut-être la voir en vous <a href='%s'>connectant</a>.", "page-not-found": "Page non trouvée", "password": "Mot de passe", "paste-or-dragdrop": "pour coller, ou glissez-déposez une image ici (seulement une image)", + "participating": "Participating", "preview": "Prévisualiser", "previewAttachedImagePopup-title": "Prévisualiser", "previewClipboardImagePopup-title": "Prévisualiser", @@ -235,7 +280,7 @@ "search": "Chercher", "select-color": "Choisissez une couleur", "shortcut-assign-self": "Assign yourself to current card", - "shortcut-autocomplete-emojies": "Auto-complétion des emojies", + "shortcut-autocomplete-emoji": "Autocomplete emoji", "shortcut-autocomplete-members": "Auto-complétion des membres", "shortcut-clear-filters": "Retirer tous les filtres", "shortcut-close-dialog": "Fermer le dialogue", @@ -243,6 +288,7 @@ "shortcut-show-shortcuts": "Afficher cette liste de raccourcis", "shortcut-toggle-filterbar": "Afficher/Cacher la barre latérale des filtres", "shortcut-toggle-sidebar": "Afficher/Cacher la barre latérale du tableau", + "show-cards-minimum-count": "Show cards count if list contains more than", "signupPopup-title": "Créer un compe", "star-board-title": "Cliquer pour ajouter ce tableau aux favoris. Il sera affiché en haut de votre liste de tableaux.", "starred-boards": "Tableaux favoris", @@ -251,14 +297,24 @@ "team": "Équipe", "this-board": "ce tableau", "this-card": "cette carte", + "time": "Time", "title": "Titre", + "tracking": "Tracking", + "tracking-info": "You will be notified of any changes to those cards you are involved as creator or member.", "unassign-member": "Retirer le membre", "unsaved-description": "Vous avez une description non sauvegardée", + "unwatch": "Unwatch", "upload": "Télécharger", "upload-avatar": "Télécharger un avatar", "uploaded-avatar": "Avatar téléchargé", "username": "Nom d'utilisateur", "view-it": "Le voir", "warn-list-archived": "Attention : cette carte est dans une liste archivée", + "watch": "Watch", + "watching": "Watching", + "watching-info": "You will be notified of any change in this board", + "welcome-board": "Welcome Board", + "welcome-list1": "Basics", + "welcome-list2": "Advanced", "what-to-do": "Que voulez-vous faire ?" } diff --git a/i18n/he.i18n.json b/i18n/he.i18n.json index fedb9e8c..2a386316 100644 --- a/i18n/he.i18n.json +++ b/i18n/he.i18n.json @@ -1,10 +1,30 @@ { "accept": "אישור", + "act-activity-notify": "[Wekan] Activity Notification", + "act-addAttachment": "attached __attachment__ to __card__", + "act-addComment": "commented on __card__: __comment__", + "act-createBoard": "הלוח __board__ נוצר", + "act-createCard": "הכרטיס __card__ התווסף לרשימה __list__", + "act-createList": "הרשימה __list__ התווספה ללוח __board__", + "act-addBoardMember": "המשתמש __member__ שויך ללוח __board__", + "act-archivedBoard": "הלוח __board__ אורכב", + "act-archivedCard": "הכרטיס __card__ אורכב", + "act-archivedList": "הרשימה __card__ אורכבה", + "act-importBoard": "הלוח __board__ יובא", + "act-importCard": "הכרטיס __card__ יובא", + "act-importList": "הרשימה __list__ יובאה", + "act-joinMember": "המשתמש __member__ שוייך לכרטיס __card__", + "act-moveCard": "הכרטיס __card__ הועבר מהרשימה __oldList__ לרשימה __list__", + "act-removeBoardMember": "המשתמש __member__ הוסר מהלוח __board__", + "act-restoredCard": "הכרטיס __card__ שוחזר ללוח __board__", + "act-unjoinMember": "removed __member__ from __card__", + "act-withBoardTitle": "[Wekan] __board__", + "act-withCardTitle": "[__board__] __card__", "actions": "פעולות", "activities": "פעילויות", "activity": "פעילות", "activity-added": "%s נוסף ל%s", - "activity-archived": "%s בארכיון", + "activity-archived": "%s אורכב", "activity-attached": "%s צורף ל%s", "activity-created": "%s נוצר", "activity-excluded": "%s לא נכלל ב%s", @@ -31,6 +51,8 @@ "all-boards": "כל הלוחות", "and-n-other-card": "ו __count__ כרטיס אחר", "and-n-other-card_plural": "ו __count__ כרטיסים אחרים", + "apply": "Apply", + "app-is-offline": "The application is currently offline, refreshing the page will cause data loss.", "archive": "אחסן בארכיון", "archive-all": "אחסן הכל בארכיון", "archive-board": "אחסן לוח בארכיון", @@ -46,6 +68,7 @@ "attachment-delete-pop": "מחיקת קובץ מצורף הינה סופית. אין דרך חזרה.", "attachmentDeletePopup-title": "למחוק קובץ מצורף?", "attachments": "קבצים מצורפים", + "auto-watch": "Automatically watch boards when create it", "avatar-too-big": "האווטאר גדול מידי (מקס 70Kb)", "back": "חזור", "board-change-color": "שנה צבע", @@ -56,7 +79,7 @@ "boardChangeColorPopup-title": "שנה רקע ללוח", "boardChangeTitlePopup-title": "שנה שם ללוח", "boardChangeVisibilityPopup-title": "שנה תצוגה", - "boardImportBoardPopup-title": "ייבא לוח מטרלו", + "boardChangeWatchPopup-title": "Change Watch", "boardMenuPopup-title": "תפריט לוח", "boards": "לוחות", "bucket-example": "כמו “Bucket List” לדוגמא", @@ -66,11 +89,15 @@ "card-delete-notice": "מחיקה היא סופית. תאבדו את כל הפעולות המשויכות לכרטיס זה.", "card-delete-pop": "כל הפעולות יוסרו מלוח הפעילות ולא תוכלו לפתוח מחדש את הכרטיס. אין דרך חזרה.", "card-delete-suggest-archive": "באפשרותך לאחסן בארכיון כרטיס כדי להסירו מהלוח ולשמר את הפעילות.", + "card-due": "Due", + "card-due-on": "Due on", "card-edit-attachments": "ערוך קבצים מצורפים", "card-edit-labels": "ערוך תוויות ", "card-edit-members": "ערוך חברים", "card-labels-title": "שנה תוויות לכרטיס.", "card-members-title": "הוסף או הסר את חברי הלוח מהכרטיס", + "card-start": "Start", + "card-start-on": "Starts on", "cardAttachmentsPopup-title": "צרף מ", "cardDeletePopup-title": "למחוק כרטיס?", "cardDetailsActionsPopup-title": "פעולות על הכרטיס", @@ -82,13 +109,15 @@ "change-avatar": "שנה אווטאר", "change-password": "שנה סיסמא", "change-permissions": "שנה הרשאות", + "change-settings": "Change Settings", "changeAvatarPopup-title": "שנה אווטאר", "changeLanguagePopup-title": "שנה שפה", "changePasswordPopup-title": "שנה סיסמא", "changePermissionsPopup-title": "שנה הרשאות", + "changeSettingsPopup-title": "Change Settings", "click-to-star": "לחץ להוספת הלוח למועדפים", "click-to-unstar": "לחץ להסרת הלוח מהמועדפים.", - "clipboard": "Clipboard or drag & drop", + "clipboard" : "Clipboard or drag & drop", "close": "סגור", "close-board": "סגור לוח", "close-board-pop": "תוכלו לשחזר את הלוח בלחיצה על כפתור \"ארכיונים\" מהכותרת העליונה.", @@ -109,6 +138,7 @@ "createBoardPopup-title": "צור לוח", "createLabelPopup-title": "צור תווית", "current": "נוכחי", + "date": "Date", "decline": "סרב", "default-avatar": "אווטאר דיפולטי", "delete": "מחק", @@ -122,7 +152,10 @@ "edit": "ערוך", "edit-avatar": "שנה אווטאר", "edit-profile": "ערוך פרופיל", + "editCardStartDatePopup-title": "Change start date", + "editCardDueDatePopup-title": "Change due date", "editLabelPopup-title": "שנה תווית", + "editNotificationPopup-title": "Edit Notification", "editProfilePopup-title": "ערוך פרופיל", "email": "אמייל", "email-enrollAccount-subject": "חשבון נוצר עבורך ב __siteName__", @@ -146,27 +179,33 @@ "error-user-doesNotExist": "משתמש זה לא קיים", "error-user-notAllowSelf": "פעולה זו איננה מותרת", "error-user-notCreated": "משתמש זה לא נוצר", + "error-username-taken": "This username is already taken", "export-board": "ייצא לוח", "filter": "מסנן", "filter-cards": "סנן כרטיסים", "filter-clear": "נקה מסנן", + "filter-no-label": "No label", + "filter-no-member": "No member", "filter-on": "מסנן פועל", "filter-on-desc": "מסנן כרטיסים בלוח זה פועל. יש ללחוץ כאן לעריכת המסנן.", "filter-to-selection": "סנן את הבחירה", "fullname": "שם מלא", "header-logo-title": "חזור לדף הלוחות שלך.", + "hide-system-messages": "Hide system messages", "home": "בית", "import": "ייבא", "import-board": "ייבא מטרלו", + "import-board-title": "Import board from Trello", "import-board-trello-instruction": "בלוח הטרלו שלך, עבור ל 'Menu', ואז ל 'More', 'Print and Export', 'Export JSON' והעתק את הטקסט שנוצר", - "import-card": "ייבא כרטיס מטרלו", - "import-card-trello-instruction": "עבור לכרטיס טרלו, בחר \"Share and more...\" ואז \"Export JSON\" והעתק את הטקסט שנוצר", "import-json-placeholder": "הדבק נתוני JSON תקינים כאן", + "import-map-members": "Map members", "import-members-map": "הלוחות המיובאים שלך מכילים חברים. בבקשה מפה את החברים שתרצה לייבא כמשתמשים", "import-show-user-mapping": "צפה במיפוי חברים", "import-user-select": "בחר במשתמש עבור חבר זה", + "importMapMembersAddPopup-title": "Select Wekan member", "info": "אינפורמציה", "initials": "ראשי תיבות", + "invalid-date": "Invalid date", "joined": "הצטרף", "just-invited": "הוזמנת ללוח זה", "keyboard-shortcuts": "קיצורי מקלדת", @@ -186,17 +225,20 @@ "listImportCardPopup-title": "ייבא כרטיס מטרלו", "lists": "רשימות", "log-out": "התנתק", + "log-in": "Log In", "loginPopup-title": "התחבר", - "mapMembersAddPopup-title": "בחר חבר", - "mapMembersPopup-title": "מפה חברים", "memberMenuPopup-title": "הגדרות חבר", "members": "חברים", "menu": "תפריט", "move-selection": "הזז בחירה", "moveCardPopup-title": "הזז כרטיס", + "moveCardToBottom-title": "Move to Bottom", + "moveCardToTop-title": "Move to Top", "moveSelectionPopup-title": "הזז בחירה", "multi-selection": "בחירה מרובה", "multi-selection-on": "בחירה מרובה פועלת", + "muted": "Muted", + "muted-info": "You will never be notified of any changes in this board", "my-boards": "הלוחות שלי", "name": "שם", "no-archived-cards": "אין כרטיסים מאוחסנים בארכיון.", @@ -205,12 +247,15 @@ "normal": "נורמלי", "normal-desc": "יכול לצפות ולערוך כרטיסים. לא יכול לשנות הגדרות.", "not-accepted-yet": "הזמנה לא התקבלה עדיין", + "notify-participate": "Receive updates to any cards you participate as creater or member", + "notify-watch": "Receive updates to any boards, lists, or cards you’re watching", "optional": "אופציונלי", "or": "או", "page-maybe-private": "יתכן שדף זה פרטי. תוכלו לצפות על ידי <a href='%s'>התחברות למערכת</a>", "page-not-found": "דף לא נמצא.", "password": "סיסמא", "paste-or-dragdrop": "בכדי להדביק או drag & drop קובץ תמונה (תמונה בלבד)", + "participating": "Participating", "preview": "תצוגה מקדימה", "previewAttachedImagePopup-title": "תצוגה מקדימה", "previewClipboardImagePopup-title": "תצוגה מקדימה", @@ -235,7 +280,7 @@ "search": "חפש", "select-color": "בחר צבע", "shortcut-assign-self": "הקצה את עצמך לכרטיס הנוכחי", - "shortcut-autocomplete-emojies": "השלמה אוטומטית של אימוג'יז", + "shortcut-autocomplete-emoji": "Autocomplete emoji", "shortcut-autocomplete-members": "השלמה אוטומטית של חברים", "shortcut-clear-filters": "נקה את כל המסננים", "shortcut-close-dialog": "סגור חלון", @@ -243,6 +288,7 @@ "shortcut-show-shortcuts": "הבא רשימת קיצורי דרך זו", "shortcut-toggle-filterbar": "החלף מצבי מסנן", "shortcut-toggle-sidebar": "החלף מצבי מסנן", + "show-cards-minimum-count": "Show cards count if list contains more than", "signupPopup-title": "צור חשבון", "star-board-title": "בלחיצה על הכווכב של הלוח יתווסף הלוח לראש רשימת הלוחות שלך.", "starred-boards": "לוחות שסומנו בכוכב", @@ -251,14 +297,24 @@ "team": "צוות", "this-board": "לוח זה", "this-card": "כרטיס זה", + "time": "Time", "title": "כותרת", + "tracking": "Tracking", + "tracking-info": "You will be notified of any changes to those cards you are involved as creator or member.", "unassign-member": "בטל הקצאת חבר", "unsaved-description": "יש לך תיאור לא שמור.", + "unwatch": "Unwatch", "upload": "העלה/טען", "upload-avatar": "העלה/ טען אווטאר", "uploaded-avatar": "אווטאר הועלה/נטען", "username": "שם משתמש", "view-it": "צפה", "warn-list-archived": "אזהרה: הכרטיס נמצא ברשימה שהועברה לארכיון", + "watch": "Watch", + "watching": "Watching", + "watching-info": "You will be notified of any change in this board", + "welcome-board": "Welcome Board", + "welcome-list1": "Basics", + "welcome-list2": "Advanced", "what-to-do": "מה תרצה לעשות?" } diff --git a/i18n/it.i18n.json b/i18n/it.i18n.json index 847e3c2f..00a7a28c 100755 --- a/i18n/it.i18n.json +++ b/i18n/it.i18n.json @@ -1,21 +1,41 @@ { - "accept": "Accept", + "accept": "Accetta", + "act-activity-notify": "[Wekan] Notifiche attività", + "act-addAttachment": "ha allegato __attachment__ a __card__", + "act-addComment": "ha commentato su __card__: __comment__", + "act-createBoard": "ha creato __board__", + "act-createCard": "ha aggiunto __card__ a __list__", + "act-createList": "ha aggiunto __list__ a __board__", + "act-addBoardMember": "ha aggiunto __member__ a __board__", + "act-archivedBoard": "ha archiviato __board__", + "act-archivedCard": "ha archiviato __card__", + "act-archivedList": "ha archiviato __list__", + "act-importBoard": " ha importato __board__", + "act-importCard": "ha importato __card__", + "act-importList": "ha importato __list__", + "act-joinMember": "ha aggiunto __member__ a __card__", + "act-moveCard": "ha spostato __card__ da __oldList__ a __list__", + "act-removeBoardMember": "ha rimosso __member__ da __board__", + "act-restoredCard": "ha ripristinato __card__ su __board__", + "act-unjoinMember": "ha rimosso __member__ da __card__", + "act-withBoardTitle": "[Wekan] __board__", + "act-withCardTitle": "[__board__] __card__", "actions": "Azioni", "activities": "Attività", "activity": "Attività", - "activity-added": "aggiunto %s a %s", + "activity-added": "ha aggiunto %s a %s", "activity-archived": "archiviato %s", "activity-attached": "allegato %s a %s", "activity-created": "creato %s", "activity-excluded": "escluso %s da %s", - "activity-imported": "imported %s into %s from %s", - "activity-imported-board": "imported %s from %s", - "activity-joined": "è stato unito %s", + "activity-imported": "importato %s in %s da %s", + "activity-imported-board": "importato %s da %s", + "activity-joined": "si è unito a %s", "activity-moved": "spostato %s da %s a %s", "activity-on": "su %s", "activity-removed": "rimosso %s da %s", "activity-sent": "inviato %s a %s", - "activity-unjoined": "unjoined %s", + "activity-unjoined": "ha abbandonato %s", "add": "Aggiungere", "add-attachment": "Aggiungi allegato", "add-board": "Aggiungi una nuova bachecha", @@ -31,21 +51,24 @@ "all-boards": "Tutte le bacheche", "and-n-other-card": "E __count__ altra scheda", "and-n-other-card_plural": "E __count__ altre schede", + "apply": "Applica", + "app-is-offline": "L'applicazione è al momento offline, ricaricando la pagina perderai i dati.", "archive": "Archivia", "archive-all": "Archivia tutto", "archive-board": "Archivia bacheca", "archive-card": "Archivia scheda", "archive-list": "Archivia questa lista", "archive-selection": "Archivia selezione", - "archiveBoardPopup-title": "Archive Board?", + "archiveBoardPopup-title": "Archivia Bacheca?", "archived-items": "Elementi archiviati", - "archives": "Archives", - "assign-member": "Assegna membri", + "archives": "Archivi", + "assign-member": "Aggiungi membro", "attached": "allegato", "attachment": "Allegato", "attachment-delete-pop": "L'eliminazione di un allegato è permanente. Non è possibile annullare.", "attachmentDeletePopup-title": "Eliminare l'allegato?", "attachments": "Allegati", + "auto-watch": "Segui automaticamente le bacheche quando le crei", "avatar-too-big": "L'avatar è troppo grande (max 70Kb)", "back": "Indietro", "board-change-color": "Cambia colore", @@ -56,7 +79,7 @@ "boardChangeColorPopup-title": "Cambia sfondo della bacheca", "boardChangeTitlePopup-title": "Rinomina bacheca", "boardChangeVisibilityPopup-title": "Cambia visibilità", - "boardImportBoardPopup-title": "Import board from Trello", + "boardChangeWatchPopup-title": "Change Watch", "boardMenuPopup-title": "Menu bacheca", "boards": "Bacheche", "bucket-example": "Like “Bucket List” for example", @@ -64,201 +87,234 @@ "card-archived": "Questa scheda è archiviata.", "card-comments-title": "Questa scheda ha %s commenti.", "card-delete-notice": "L'eliminazione è permanente. Tutte le azioni associate a questa scheda andranno perse.", - "card-delete-pop": "All actions will be removed from the activity feed and you won't be able to re-open the card. There is no undo.", - "card-delete-suggest-archive": "You can archive a card to remove it from the board and preserve the activity.", - "card-edit-attachments": "Edit attachments", - "card-edit-labels": "Edit labels", - "card-edit-members": "Edit members", - "card-labels-title": "Change the labels for the card.", - "card-members-title": "Add or remove members of the board from the card.", - "cardAttachmentsPopup-title": "Attach From", - "cardDeletePopup-title": "Delete Card?", - "cardDetailsActionsPopup-title": "Card Actions", - "cardLabelsPopup-title": "Labels", - "cardMembersPopup-title": "Membr", - "cardMorePopup-title": "More", - "cards": "Cards", - "change": "Change", - "change-avatar": "Change Avatar", - "change-password": "Change Password", - "change-permissions": "Change permissions", - "changeAvatarPopup-title": "Change Avatar", - "changeLanguagePopup-title": "Change Language", - "changePasswordPopup-title": "Change Password", - "changePermissionsPopup-title": "Change Permissions", - "click-to-star": "Click to star this board.", - "click-to-unstar": "Click to unstar this board.", - "clipboard": "Clipboard or drag & drop", - "close": "Close", - "close-board": "Close Board", - "close-board-pop": "You will be able to restore the board by clicking the “Archives” button from the home header.", - "color-black": "black", - "color-blue": "blue", - "color-green": "green", + "card-delete-pop": "Tutte le azioni saranno rimosse dal flusso attività e non sarai in grado di riaprire la scheda. Non potrai tornare indietro.", + "card-delete-suggest-archive": "Puoi archiviare una scheda per rimuoverla dalla bacheca e preservare la sua attività.", + "card-due": "Scadenza", + "card-due-on": "Scade", + "card-edit-attachments": "Modifica allegati", + "card-edit-labels": "Modifica etichette", + "card-edit-members": "Modifica membri", + "card-labels-title": "Cambia le etichette per questa scheda.", + "card-members-title": "Aggiungi o rimuovi membri della bacheca da questa scheda", + "card-start": "Inizio", + "card-start-on": "Inizia", + "cardAttachmentsPopup-title": "Allega da", + "cardDeletePopup-title": "Elimina scheda?", + "cardDetailsActionsPopup-title": "Azioni scheda", + "cardLabelsPopup-title": "Etichette", + "cardMembersPopup-title": "Membri", + "cardMorePopup-title": "Altro", + "cards": "Schede", + "change": "Cambia", + "change-avatar": "Cambia avatar", + "change-password": "Cambia password", + "change-permissions": "Cambia permessi", + "change-settings": "Cambia impostazioni", + "changeAvatarPopup-title": "Cambia avatar", + "changeLanguagePopup-title": "Cambia lingua", + "changePasswordPopup-title": "Cambia password", + "changePermissionsPopup-title": "Cambia permessi", + "changeSettingsPopup-title": "Cambia impostazioni", + "click-to-star": "Clicca per stellare questa bacheca", + "click-to-unstar": "Clicca per togliere la stella da questa bacheca", + "clipboard" : "Clipboard o drag & drop", + "close": "Chiudi", + "close-board": "Chiudi bacheca", + "close-board-pop": "Sarai in grado di ripristinare la bacheca cliccando il tasto \"Archivi\" dall'intestazione della pagina principale.", + "color-black": "nero", + "color-blue": "blu", + "color-green": "verde", "color-lime": "lime", - "color-orange": "orange", - "color-pink": "pink", - "color-purple": "purple", - "color-red": "red", - "color-sky": "sky", - "color-yellow": "yellow", - "comment": "Comment", - "comment-placeholder": "Write a comment", + "color-orange": "arancione", + "color-pink": "rosa", + "color-purple": "viola", + "color-red": "rosso", + "color-sky": "azzurro", + "color-yellow": "giallo", + "comment": "Commento", + "comment-placeholder": "Scrivi un commento", "computer": "Computer", - "create": "Create", - "createBoardPopup-title": "Create Board", - "createLabelPopup-title": "Create Label", + "create": "Crea", + "createBoardPopup-title": "Crea bacheca", + "createLabelPopup-title": "Crea etichetta", "current": "current", - "decline": "Decline", - "default-avatar": "Default avatar", - "delete": "Delete", - "deleteLabelPopup-title": "Delete Label?", - "description": "Description", + "date": "Data", + "decline": "Declina", + "default-avatar": "Avatar predefinito", + "delete": "Elimina", + "deleteLabelPopup-title": "Eliminare etichetta?", + "description": "Descrizione", "disambiguateMultiLabelPopup-title": "Disambiguate Label Action", "disambiguateMultiMemberPopup-title": "Disambiguate Member Action", - "discard": "Discard", - "done": "Done", + "discard": "Scarta", + "done": "Fatto", "download": "Download", - "edit": "Edit", - "edit-avatar": "Change Avatar", - "edit-profile": "Edit Profile", - "editLabelPopup-title": "Change Label", - "editProfilePopup-title": "Edit Profile", + "edit": "Modifica", + "edit-avatar": "Cambia avatar", + "edit-profile": "Modifica profilo", + "editCardStartDatePopup-title": "Cambia data di inizio", + "editCardDueDatePopup-title": "Cambia data di scadenza", + "editLabelPopup-title": "Cambia etichetta", + "editNotificationPopup-title": "Modifica notifiche", + "editProfilePopup-title": "Modifica profilo", "email": "Email", - "email-enrollAccount-subject": "An account created for you on __siteName__", - "email-enrollAccount-text": "Hello __user__,\n\nTo start using the service, simply click the link below.\n\n__url__\n\nThanks.", - "email-fail": "Sending email failed", - "email-invalid": "Invalid email", - "email-invite": "Invite via Email", - "email-invite-subject": "__inviter__ sent you an invitation", - "email-invite-text": "Dear __user__,\n\n__inviter__ invites you to join board \"__board__\" for collaborations.\n\nPlease follow the link below:\n\n__url__\n\nThanks.", - "email-resetPassword-subject": "Reset your password on __siteName__", - "email-resetPassword-text": "Hello __user__,\n\nTo reset your password, simply click the link below.\n\n__url__\n\nThanks.", - "email-sent": "Email sent", - "email-verifyEmail-subject": "Verify your email address on __siteName__", - "email-verifyEmail-text": "Hello __user__,\n\nTo verify your account email, simply click the link below.\n\n__url__\n\nThanks.", - "error-board-doesNotExist": "This board does not exist", - "error-board-notAdmin": "You need to be admin of this board to do that", - "error-board-notAMember": "You need to be a member of this board to do that", - "error-json-malformed": "Your text is not valid JSON", - "error-json-schema": "Your JSON data does not include the proper information in the correct format", - "error-list-doesNotExist": "This list does not exist", - "error-user-doesNotExist": "This user does not exist", + "email-enrollAccount-subject": "Creato un account per te su __siteName__", + "email-enrollAccount-text": "Ciao __user__,\n\nPer iniziare ad usare il servizio, clicca sul link seguente:\n\n__url__\n\nGrazie.\n", + "email-fail": "Invio email fallito", + "email-invalid": "Email non valida", + "email-invite": "Invita via email", + "email-invite-subject": "__inviter__ ti ha inviato un invito", + "email-invite-text": "Caro __user__,\n\n__inviter__ ti ha invitato ad unirti alla bacheca \"__board__\" per le collaborazioni.\n\nPer favore clicca sul link seguente:\n\n__url__\n\nGrazie.\n", + "email-resetPassword-subject": "Ripristina la tua password su on __siteName__", + "email-resetPassword-text": "Ciao __user__,\n\nPer ripristinare la tua password, clicca sul link seguente:\n\n__url__\n\nGrazie.\n", + "email-sent": "Email inviata", + "email-verifyEmail-subject": "Verifica il tuo indirizzo email su on __siteName__", + "email-verifyEmail-text": "Ciao __user__,\n\nPer verificare il tuo account email, clicca sul link seguente:\n\n__url__\n\nGrazie.\n", + "error-board-doesNotExist": "Questa bacheca non esiste", + "error-board-notAdmin": "Devi essere admin di questa bacheca per poterlo fare", + "error-board-notAMember": "Devi essere un membro di questa bacheca per poterlo fare", + "error-json-malformed": "Il tuo testo non è un JSON valido", + "error-json-schema": "Il tuo file JSON non contiene le giuste informazioni nel formato corretto", + "error-list-doesNotExist": "Questa lista non esiste", + "error-user-doesNotExist": "Questo utente non esiste", "error-user-notAllowSelf": "This action on self is not allowed", "error-user-notCreated": "This user is not created", - "export-board": "Export board", - "filter": "Filter", - "filter-cards": "Filter Cards", - "filter-clear": "Clear filter", - "filter-on": "Filter is on", - "filter-on-desc": "You are filtering cards on this board. Click here to edit filter.", - "filter-to-selection": "Filter to selection", - "fullname": "Full Name", - "header-logo-title": "Go back to your boards page.", + "error-username-taken": "Questo username è già utilizzato", + "export-board": "Esporta bacheca", + "filter": "Filtra", + "filter-cards": "Filtra schede", + "filter-clear": "Pulisci filtri", + "filter-no-label": "Nessuna etichetta", + "filter-no-member": "Nessun membro", + "filter-on": "Il filtro è attivo", + "filter-on-desc": "Stai filtrando le schede su questa bacheca. Clicca qui per modificare il filtro,", + "filter-to-selection": "Seleziona", + "fullname": "Nome completo", + "header-logo-title": "Torna alla tua bacheca.", + "hide-system-messages": "Nascondi i messaggi di sistema", "home": "Home", - "import": "Import", - "import-board": "import from Trello", - "import-board-trello-instruction": "In your Trello board, go to 'Menu', then 'More', 'Print and Export', 'Export JSON', and copy the resulting text", - "import-card": "Import a Trello card", - "import-card-trello-instruction": "Go to a Trello card, select 'Share and more...' then 'Export JSON' and copy the resulting text", - "import-json-placeholder": "Paste your valid JSON data here", + "import": "Importa", + "import-board": "importa da Trello", + "import-board-title": "Importa una bacheca da Trello", + "import-board-trello-instruction": "Nella tua bacheca Trello vai a 'Menu', poi 'Altro', 'Stampa ed esporta', 'Esporta JSON', e copia il testo che compare.", + "import-json-placeholder": "Incolla un JSON valido qui", + "import-map-members": "Map members", "import-members-map": "Your imported board has some members. Please map the members you want to import to Wekan users", "import-show-user-mapping": "Review members mapping", "import-user-select": "Pick the Wekan user you want to use as this member", - "info": "Infos", - "initials": "Initials", - "joined": "joined", - "just-invited": "You are just invited to this board", - "keyboard-shortcuts": "Keyboard shortcuts", - "label-create": "Create a new label", - "label-default": "%s label (default)", - "label-delete-pop": "There is no undo. This will remove this label from all cards and destroy its history.", - "labels": "Labels", - "language": "Language", - "last-admin-desc": "You can’t change roles because there must be at least one admin.", - "leave-board": "Leave Board", - "link-card": "Link to this card", - "list-archive-cards": "Archive all cards in this list", - "list-archive-cards-pop": "This will remove all the cards in this list from the board. To view archived cards and bring them back to the board, click “Menu” > “Archived Items”.", - "list-move-cards": "Move all cards in this list", - "list-select-cards": "Select all cards in this list", - "listActionPopup-title": "List Actions", - "listImportCardPopup-title": "Import a Trello card", - "lists": "Lists", + "importMapMembersAddPopup-title": "Seleziona i membri di Wekan", + "info": "Info", + "initials": "Iniziali", + "invalid-date": "Data non valida", + "joined": "si è unito a", + "just-invited": "Sei stato appena invitato a questa bacheca", + "keyboard-shortcuts": "Scorciatoie da tastiera", + "label-create": "Crea una nuova etichetta", + "label-default": "%s etichetta (default)", + "label-delete-pop": "Non potrai tornare indietro. Procedendo, rimuoverai questa etichetta da tutte le schede e distruggerai la sua cronologia.", + "labels": "Etichette", + "language": "Lingua", + "last-admin-desc": "Non puoi cambiare i ruoli perché deve esserci almeno un admin.", + "leave-board": "Abbandona bacheca", + "link-card": "Link a questa scheda", + "list-archive-cards": "Archivia tutte le schede in questa lista", + "list-archive-cards-pop": "Questo rimuoverà dalla bacheca tutte le schede in questa lista. Per vedere le schede archiviate e portarle indietro alla bacheca, clicca “Menu” > “Elementi archiviati”", + "list-move-cards": "Sposta tutte le schede in questa lista", + "list-select-cards": "Selezione tutte le schede in questa lista", + "listActionPopup-title": "Azioni disponibili", + "listImportCardPopup-title": "Importa una scheda di Trello", + "lists": "Liste", "log-out": "Log Out", + "log-in": "Log In", "loginPopup-title": "Log In", - "mapMembersAddPopup-title": "Select Wekan member", - "mapMembersPopup-title": "Map members", - "memberMenuPopup-title": "Member Settings", - "members": "Membr", + "memberMenuPopup-title": "Impostazioni membri", + "members": "Membri", "menu": "Menu", - "move-selection": "Move selection", - "moveCardPopup-title": "Move Card", - "moveSelectionPopup-title": "Move selection", - "multi-selection": "Multi-Selection", - "multi-selection-on": "Multi-Selection is on", - "my-boards": "My Boards", - "name": "Name", - "no-archived-cards": "No archived cards.", - "no-archived-lists": "No archived lists.", - "no-results": "No results", - "normal": "Normal", - "normal-desc": "Can view and edit cards. Can't change settings.", - "not-accepted-yet": "Invitation not accepted yet", - "optional": "optional", - "or": "or", - "page-maybe-private": "This page may be private. You may be able to view it by <a href='%s'>logging in</a>.", - "page-not-found": "Page not found.", + "move-selection": "Sposta selezione", + "moveCardPopup-title": "Sposta scheda", + "moveCardToBottom-title": "Sposta in fondo", + "moveCardToTop-title": "Sposta in alto", + "moveSelectionPopup-title": "Sposta selezione", + "multi-selection": "Multi-Selezione", + "multi-selection-on": "Multi-Selezione attiva", + "muted": "Silenziato", + "muted-info": "Non sarai mai notificato delle modifiche in questa bacheca", + "my-boards": "Le mie bacheche", + "name": "Nome", + "no-archived-cards": "Nessuna scheda archiviata.", + "no-archived-lists": "Nessuna lista archiviata.", + "no-results": "Nessun risultato", + "normal": "Normale", + "normal-desc": "Può visionare e modificare le schede. Non può cambiare le impostazioni.", + "not-accepted-yet": "Invitato non ancora accettato", + "notify-participate": "Ricevi aggiornamenti per qualsiasi scheda a cui partecipi come creatore o membro", + "notify-watch": "Ricevi aggiornamenti per tutte le bacheche, liste o schede che stai seguendo", + "optional": "opzionale", + "or": "o", + "page-maybe-private": "Questa pagina potrebbe essere privata. Potresti essere in grado di vederla <a href='%s'>facendo il log-in</a>.", + "page-not-found": "Pagina non trovata.", "password": "Password", - "paste-or-dragdrop": "to paste, or drag & drop image file to it (image only)", - "preview": "Preview", - "previewAttachedImagePopup-title": "Preview", - "previewClipboardImagePopup-title": "Preview", - "private": "Private", - "private-desc": "This board is private. Only people added to the board can view and edit it.", - "profile": "Profile", - "public": "Public", - "public-desc": "This board is public. It's visible to anyone with the link and will show up in search engines like Google. Only people added to the board can edit.", - "quick-access-description": "Star a board to add a shortcut in this bar.", - "remove-cover": "Remove Cover", - "remove-from-board": "Remove from Board", - "remove-label": "Remove the label", - "remove-list": "Remove the list", - "remove-member": "Remove Member", - "remove-member-from-card": "Remove from Card", - "remove-member-pop": "Remove __name__ (__username__) from __boardTitle__? The member will be removed from all cards on this board. They will receive a notification.", - "removeMemberPopup-title": "Remove Member?", - "rename": "Rename", + "paste-or-dragdrop": "per incollare, oppure trascina & rilascia il file immagine (solo immagini)", + "participating": "Partecipando", + "preview": "Anteprima", + "previewAttachedImagePopup-title": "Anteprima", + "previewClipboardImagePopup-title": "Anteprima", + "private": "Privata", + "private-desc": "Questa bacheca è privata. Solo le persone aggiunte alla bacheca possono vederla e modificarla.", + "profile": "Profilo", + "public": "Pubblica", + "public-desc": "Questa bacheca è pubblica. È visibile a chiunque abbia il link e sarà mostrata dai motori di ricerca come Google. Solo le persone aggiunte alla bacheca possono modificarla.", + "quick-access-description": "Stella una bacheca per aggiungere una scorciatoia in questa barra.", + "remove-cover": "Rimuovi cover", + "remove-from-board": "Rimuovi dalla bacheca", + "remove-label": "Rimuovi l'etichetta", + "remove-list": "Remove list", + "remove-member": "Rimuovi utente", + "remove-member-from-card": "Rimuovi dalla scheda", + "remove-member-pop": "Rimuovere __name__ (__username__) da __boardTitle__? L'utente sarà rimosso da tutte le schede in questa bacheca. Riceveranno una notifica.", + "removeMemberPopup-title": "Rimuovere membro?", + "rename": "Rinomina", "rename-board": "Rinomina bacheca", - "restore": "Restore", - "save": "Save", - "search": "Search", - "select-color": "Select a color", - "shortcut-assign-self": "Assign yourself to current card", - "shortcut-autocomplete-emoji": "Autocomplete emoji", - "shortcut-autocomplete-members": "Autocomplete members", - "shortcut-clear-filters": "Clear all filters", - "shortcut-close-dialog": "Close Dialog", - "shortcut-filter-my-cards": "Filter my cards", - "shortcut-show-shortcuts": "Bring up this shortcuts list", + "restore": "Ripristina", + "save": "Salva", + "search": "Cerca", + "select-color": "Seleziona un colore", + "shortcut-assign-self": "Aggiungi te stesso alla scheda corrente", + "shortcut-autocomplete-emoji": "Autocompletamento emoji", + "shortcut-autocomplete-members": "Autocompletamento membri", + "shortcut-clear-filters": "Pulisci tutti i filtri", + "shortcut-close-dialog": "Chiudi finestra di dialogo", + "shortcut-filter-my-cards": "Filtra le mie schede", + "shortcut-show-shortcuts": "Porta in alto questa lista di scorciatoie", "shortcut-toggle-filterbar": "Toggle Filter Sidebar", "shortcut-toggle-sidebar": "Toggle Board Sidebar", - "signupPopup-title": "Create an Account", - "star-board-title": "Click to star this board. It will show up at top of your boards list.", - "starred-boards": "Starred Boards", - "starred-boards-description": "Starred boards show up at the top of your boards list.", - "subscribe": "Subscribe", + "show-cards-minimum-count": "Mostra il contatore delle schede se la lista ne contiene più di", + "signupPopup-title": "Crea un account", + "star-board-title": "Clicca per stellare questa bacheca. Sarà mostrata all'inizio della tua lista bacheche.", + "starred-boards": "Bacheche stellate", + "starred-boards-description": "Le bacheche stellate vengono mostrato all'inizio della tua lista bacheche.", + "subscribe": "Sottoscrivi", "team": "Team", - "this-board": "this board", - "this-card": "this card", - "title": "Title", - "unassign-member": "Unassign member", - "unsaved-description": "You have an unsaved description.", + "this-board": "questa bacheca", + "this-card": "questa scheda", + "time": "Ora", + "title": "Titolo", + "tracking": "Monitoraggio", + "tracking-info": "Sarai notificato per tutte le modifiche alle schede delle quali sei creatore o membro.", + "unassign-member": "Rimuovi membro", + "unsaved-description": "Hai una descrizione non salvata", + "unwatch": "Non seguire", "upload": "Upload", - "upload-avatar": "Upload an avatar", - "uploaded-avatar": "Uploaded an avatar", + "upload-avatar": "Carica un avatar", + "uploaded-avatar": "Avatar caricato", "username": "Username", - "view-it": "View it", - "warn-list-archived": "warning: this card is in an archived list", - "what-to-do": "What do you want to do?" + "view-it": "Vedi", + "warn-list-archived": "attenzione: questa scheda è in una lista archiviata", + "watch": "Segui", + "watching": "Stai seguendo", + "watching-info": "Sarai notificato per tutte le modifiche in questa bacheca", + "welcome-board": "Bacheca di benvenuto", + "welcome-list1": "Basi", + "welcome-list2": "Avanzate", + "what-to-do": "Cosa vuoi fare?" } diff --git a/i18n/ja.i18n.json b/i18n/ja.i18n.json index aa04ceb7..e44e36af 100755..100644 --- a/i18n/ja.i18n.json +++ b/i18n/ja.i18n.json @@ -1,5 +1,25 @@ { "accept": "Accept", + "act-activity-notify": "[Wekan] Activity Notification", + "act-addAttachment": "attached __attachment__ to __card__", + "act-addComment": "commented on __card__: __comment__", + "act-createBoard": "created __board__", + "act-createCard": "added __card__ to __list__", + "act-createList": "added __list__ to __board__", + "act-addBoardMember": "added __member__ to __board__", + "act-archivedBoard": "archived __board__", + "act-archivedCard": "archived __card__", + "act-archivedList": "archived __list__", + "act-importBoard": "imported __board__", + "act-importCard": "imported __card__", + "act-importList": "imported __list__", + "act-joinMember": "added __member__ to __card__", + "act-moveCard": "moved __card__ from __oldList__ to __list__", + "act-removeBoardMember": "removed __member__ from __board__", + "act-restoredCard": "restored __card__ to __board__", + "act-unjoinMember": "removed __member__ from __card__", + "act-withBoardTitle": "[Wekan] __board__", + "act-withCardTitle": "[__board__] __card__", "actions": "操作", "activities": "Activities", "activity": "アクティビティ", @@ -31,6 +51,8 @@ "all-boards": "All boards", "and-n-other-card": "And __count__ other card", "and-n-other-card_plural": "And __count__ other cards", + "apply": "Apply", + "app-is-offline": "The application is currently offline, refreshing the page will cause data loss.", "archive": "アーカイブ", "archive-all": "すべてをアーカイブ", "archive-board": "Archive Board", @@ -46,6 +68,7 @@ "attachment-delete-pop": "添付ファイルの削除をすると取り消しできません。", "attachmentDeletePopup-title": "添付ファイルを削除しますか?", "attachments": "添付ファイル", + "auto-watch": "Automatically watch boards when create it", "avatar-too-big": "The avatar is too large (70Kb max)", "back": "戻る", "board-change-color": "Change color", @@ -56,7 +79,7 @@ "boardChangeColorPopup-title": "Change Board Background", "boardChangeTitlePopup-title": "ボード名の変更", "boardChangeVisibilityPopup-title": "公開範囲の変更", - "boardImportBoardPopup-title": "Import board from Trello", + "boardChangeWatchPopup-title": "Change Watch", "boardMenuPopup-title": "Board Menu", "boards": "ボード", "bucket-example": "Like “Bucket List” for example", @@ -66,11 +89,15 @@ "card-delete-notice": "削除は取り消しできません。このカードに関係するすべてのアクションがなくなります。", "card-delete-pop": "All actions will be removed from the activity feed and you won't be able to re-open the card. There is no undo.", "card-delete-suggest-archive": "You can archive a card to remove it from the board and preserve the activity.", + "card-due": "Due", + "card-due-on": "Due on", "card-edit-attachments": "Edit attachments", "card-edit-labels": "Edit labels", "card-edit-members": "Edit members", "card-labels-title": "カードのラベルを変更する", "card-members-title": "カードからボードメンバーを追加・削除する", + "card-start": "Start", + "card-start-on": "Starts on", "cardAttachmentsPopup-title": "Attach From", "cardDeletePopup-title": "カードを削除しますか?", "cardDetailsActionsPopup-title": "Card Actions", @@ -82,13 +109,15 @@ "change-avatar": "アバターの変更", "change-password": "パスワードの変更", "change-permissions": "Change permissions", + "change-settings": "Change Settings", "changeAvatarPopup-title": "アバターの変更", "changeLanguagePopup-title": "言語の変更", "changePasswordPopup-title": "パスワードの変更", "changePermissionsPopup-title": "パーミッションの変更", + "changeSettingsPopup-title": "Change Settings", "click-to-star": "ボードにスターをつける", "click-to-unstar": "ボードからスターを外す", - "clipboard": "Clipboard or drag & drop", + "clipboard" : "Clipboard or drag & drop", "close": "閉じる", "close-board": "Close Board", "close-board-pop": "You will be able to restore the board by clicking the “Archives” button from the home header.", @@ -109,6 +138,7 @@ "createBoardPopup-title": "ボードの作成", "createLabelPopup-title": "ラベルの作成", "current": "current", + "date": "Date", "decline": "Decline", "default-avatar": "Default avatar", "delete": "削除", @@ -122,7 +152,10 @@ "edit": "編集", "edit-avatar": "アバターの変更", "edit-profile": "Edit Profile", + "editCardStartDatePopup-title": "Change start date", + "editCardDueDatePopup-title": "Change due date", "editLabelPopup-title": "ラベルの変更", + "editNotificationPopup-title": "Edit Notification", "editProfilePopup-title": "Edit Profile", "email": "メールアドレス", "email-enrollAccount-subject": "An account created for you on __siteName__", @@ -146,27 +179,33 @@ "error-user-doesNotExist": "This user does not exist", "error-user-notAllowSelf": "This action on self is not allowed", "error-user-notCreated": "This user is not created", + "error-username-taken": "This username is already taken", "export-board": "Export board", "filter": "Filter", "filter-cards": "カードをフィルターする", "filter-clear": "Clear filter", + "filter-no-label": "No label", + "filter-no-member": "No member", "filter-on": "Filter is on", "filter-on-desc": "このボードのカードをフィルターしています。フィルターを編集するにはこちらをクリックしてください。", "filter-to-selection": "Filter to selection", "fullname": "フルネーム", "header-logo-title": "自分のボードページに戻る。", + "hide-system-messages": "Hide system messages", "home": "ホーム", "import": "Import", "import-board": "import from Trello", + "import-board-title": "Import board from Trello", "import-board-trello-instruction": "In your Trello board, go to 'Menu', then 'More', 'Print and Export', 'Export JSON', and copy the resulting text", - "import-card": "Import a Trello card", - "import-card-trello-instruction": "Go to a Trello card, select 'Share and more...' then 'Export JSON' and copy the resulting text", "import-json-placeholder": "Paste your valid JSON data here", + "import-map-members": "Map members", "import-members-map": "Your imported board has some members. Please map the members you want to import to Wekan users", "import-show-user-mapping": "Review members mapping", "import-user-select": "Pick the Wekan user you want to use as this member", + "importMapMembersAddPopup-title": "Select Wekan member", "info": "情報", "initials": "Initials", + "invalid-date": "Invalid date", "joined": "参加しました", "just-invited": "You are just invited to this board", "keyboard-shortcuts": "Keyboard shortcuts", @@ -186,17 +225,20 @@ "listImportCardPopup-title": "Import a Trello card", "lists": "Lists", "log-out": "ログアウト", + "log-in": "Log In", "loginPopup-title": "ログイン", - "mapMembersAddPopup-title": "Select Wekan member", - "mapMembersPopup-title": "Map members", "memberMenuPopup-title": "Member Settings", "members": "メンバー", "menu": "メニュー", "move-selection": "Move selection", "moveCardPopup-title": "Move Card", + "moveCardToBottom-title": "Move to Bottom", + "moveCardToTop-title": "Move to Top", "moveSelectionPopup-title": "Move selection", "multi-selection": "Multi-Selection", "multi-selection-on": "Multi-Selection is on", + "muted": "Muted", + "muted-info": "You will never be notified of any changes in this board", "my-boards": "自分のボード", "name": "名前", "no-archived-cards": "No archived cards.", @@ -205,12 +247,15 @@ "normal": "通常", "normal-desc": "カードの閲覧と編集が可能。設定変更不可。", "not-accepted-yet": "Invitation not accepted yet", + "notify-participate": "Receive updates to any cards you participate as creater or member", + "notify-watch": "Receive updates to any boards, lists, or cards you’re watching", "optional": "任意", "or": "or", "page-maybe-private": "このページはプライベートです。<a href='%s'>ログイン</a>して見てください。", "page-not-found": "ページが見つかりません。", "password": "パスワード", "paste-or-dragdrop": "to paste, or drag & drop image file to it (image only)", + "participating": "Participating", "preview": "Preview", "previewAttachedImagePopup-title": "Preview", "previewClipboardImagePopup-title": "Preview", @@ -243,6 +288,7 @@ "shortcut-show-shortcuts": "Bring up this shortcuts list", "shortcut-toggle-filterbar": "Toggle Filter Sidebar", "shortcut-toggle-sidebar": "Toggle Board Sidebar", + "show-cards-minimum-count": "Show cards count if list contains more than", "signupPopup-title": "アカウント作成", "star-board-title": "ボードにスターをつけると自分のボード一覧のトップに表示されます。", "starred-boards": "スターのついたボード", @@ -251,14 +297,24 @@ "team": "チーム", "this-board": "このボード", "this-card": "このカード", + "time": "Time", "title": "タイトル", + "tracking": "Tracking", + "tracking-info": "You will be notified of any changes to those cards you are involved as creator or member.", "unassign-member": "Unassign member", "unsaved-description": "You have an unsaved description.", + "unwatch": "Unwatch", "upload": "Upload", "upload-avatar": "Upload an avatar", "uploaded-avatar": "Uploaded an avatar", "username": "ユーザー名", "view-it": "View it", "warn-list-archived": "warning: this card is in an archived list", + "watch": "Watch", + "watching": "Watching", + "watching-info": "You will be notified of any change in this board", + "welcome-board": "Welcome Board", + "welcome-list1": "Basics", + "welcome-list2": "Advanced", "what-to-do": "What do you want to do?" } diff --git a/i18n/ko.i18n.json b/i18n/ko.i18n.json index 843d51e4..f9c291ca 100755..100644 --- a/i18n/ko.i18n.json +++ b/i18n/ko.i18n.json @@ -1,5 +1,25 @@ { "accept": "Accept", + "act-activity-notify": "[Wekan] Activity Notification", + "act-addAttachment": "attached __attachment__ to __card__", + "act-addComment": "commented on __card__: __comment__", + "act-createBoard": "created __board__", + "act-createCard": "added __card__ to __list__", + "act-createList": "added __list__ to __board__", + "act-addBoardMember": "added __member__ to __board__", + "act-archivedBoard": "archived __board__", + "act-archivedCard": "archived __card__", + "act-archivedList": "archived __list__", + "act-importBoard": "imported __board__", + "act-importCard": "imported __card__", + "act-importList": "imported __list__", + "act-joinMember": "added __member__ to __card__", + "act-moveCard": "moved __card__ from __oldList__ to __list__", + "act-removeBoardMember": "removed __member__ from __board__", + "act-restoredCard": "restored __card__ to __board__", + "act-unjoinMember": "removed __member__ from __card__", + "act-withBoardTitle": "[Wekan] __board__", + "act-withCardTitle": "[__board__] __card__", "actions": "동작", "activities": "Activities", "activity": "활동 상태", @@ -31,6 +51,8 @@ "all-boards": "All boards", "and-n-other-card": "And __count__ other card", "and-n-other-card_plural": "And __count__ other cards", + "apply": "Apply", + "app-is-offline": "The application is currently offline, refreshing the page will cause data loss.", "archive": "보관", "archive-all": "모두 보관", "archive-board": "Archive Board", @@ -46,6 +68,7 @@ "attachment-delete-pop": "영구 첨부파일을 삭제합니다. 되돌릴 수 없습니다.", "attachmentDeletePopup-title": "첨부 파일을 삭제합니까?", "attachments": "첨부 파일", + "auto-watch": "Automatically watch boards when create it", "avatar-too-big": "The avatar is too large (70Kb max)", "back": "뒤로", "board-change-color": "Change color", @@ -56,7 +79,7 @@ "boardChangeColorPopup-title": "Change Board Background", "boardChangeTitlePopup-title": "보드 이름 바꾸기", "boardChangeVisibilityPopup-title": "표시 여부 변경", - "boardImportBoardPopup-title": "Import board from Trello", + "boardChangeWatchPopup-title": "Change Watch", "boardMenuPopup-title": "Board Menu", "boards": "보드", "bucket-example": "Like “Bucket List” for example", @@ -66,11 +89,15 @@ "card-delete-notice": "영구 삭제입니다. 이 카드와 관련된 모든 작업들을 잃게됩니다.", "card-delete-pop": "All actions will be removed from the activity feed and you won't be able to re-open the card. There is no undo.", "card-delete-suggest-archive": "You can archive a card to remove it from the board and preserve the activity.", + "card-due": "Due", + "card-due-on": "Due on", "card-edit-attachments": "Edit attachments", "card-edit-labels": "Edit labels", "card-edit-members": "Edit members", "card-labels-title": "카드의 라벨 변경.", "card-members-title": "카드에서 보드의 멤버를 추가하거나 삭제합니다.", + "card-start": "Start", + "card-start-on": "Starts on", "cardAttachmentsPopup-title": "Attach From", "cardDeletePopup-title": "카드를 삭제합니까?", "cardDetailsActionsPopup-title": "Card Actions", @@ -82,13 +109,15 @@ "change-avatar": "아바타 변경", "change-password": "암호 변경", "change-permissions": "Change permissions", + "change-settings": "Change Settings", "changeAvatarPopup-title": "아바타 변경", "changeLanguagePopup-title": "언어 변경", "changePasswordPopup-title": "암호 변경", "changePermissionsPopup-title": "권한 변경", + "changeSettingsPopup-title": "Change Settings", "click-to-star": "보드 별 추가.", "click-to-unstar": "보드 별 삭제.", - "clipboard": "Clipboard or drag & drop", + "clipboard" : "Clipboard or drag & drop", "close": "닫기", "close-board": "Close Board", "close-board-pop": "You will be able to restore the board by clicking the “Archives” button from the home header.", @@ -109,6 +138,7 @@ "createBoardPopup-title": "보드 생성", "createLabelPopup-title": "라벨 생성", "current": "current", + "date": "Date", "decline": "Decline", "default-avatar": "Default avatar", "delete": "삭제", @@ -122,7 +152,10 @@ "edit": "수정", "edit-avatar": "아바타 변경", "edit-profile": "Edit Profile", + "editCardStartDatePopup-title": "Change start date", + "editCardDueDatePopup-title": "Change due date", "editLabelPopup-title": "라벨 변경", + "editNotificationPopup-title": "Edit Notification", "editProfilePopup-title": "Edit Profile", "email": "이메일", "email-enrollAccount-subject": "An account created for you on __siteName__", @@ -146,27 +179,33 @@ "error-user-doesNotExist": "This user does not exist", "error-user-notAllowSelf": "This action on self is not allowed", "error-user-notCreated": "This user is not created", + "error-username-taken": "This username is already taken", "export-board": "Export board", "filter": "Filter", "filter-cards": "카드 필터", "filter-clear": "Clear filter", + "filter-no-label": "No label", + "filter-no-member": "No member", "filter-on": "Filter is on", "filter-on-desc": "보드에서 카드를 필터링합니다. 여기를 클릭하여 필터를 수정합니다.", "filter-to-selection": "Filter to selection", "fullname": "전체 이름", "header-logo-title": "보드 페이지로 돌아가기.", + "hide-system-messages": "Hide system messages", "home": "홈", "import": "Import", "import-board": "import from Trello", + "import-board-title": "Import board from Trello", "import-board-trello-instruction": "In your Trello board, go to 'Menu', then 'More', 'Print and Export', 'Export JSON', and copy the resulting text", - "import-card": "Import a Trello card", - "import-card-trello-instruction": "Go to a Trello card, select 'Share and more...' then 'Export JSON' and copy the resulting text", "import-json-placeholder": "Paste your valid JSON data here", + "import-map-members": "Map members", "import-members-map": "Your imported board has some members. Please map the members you want to import to Wekan users", "import-show-user-mapping": "Review members mapping", "import-user-select": "Pick the Wekan user you want to use as this member", + "importMapMembersAddPopup-title": "Select Wekan member", "info": "정보", "initials": "Initials", + "invalid-date": "Invalid date", "joined": "참가함", "just-invited": "You are just invited to this board", "keyboard-shortcuts": "Keyboard shortcuts", @@ -186,17 +225,20 @@ "listImportCardPopup-title": "Import a Trello card", "lists": "Lists", "log-out": "로그아웃", + "log-in": "Log In", "loginPopup-title": "로그인", - "mapMembersAddPopup-title": "Select Wekan member", - "mapMembersPopup-title": "Map members", "memberMenuPopup-title": "Member Settings", "members": "멤버", "menu": "메뉴", "move-selection": "Move selection", "moveCardPopup-title": "Move Card", + "moveCardToBottom-title": "Move to Bottom", + "moveCardToTop-title": "Move to Top", "moveSelectionPopup-title": "Move selection", "multi-selection": "Multi-Selection", "multi-selection-on": "Multi-Selection is on", + "muted": "Muted", + "muted-info": "You will never be notified of any changes in this board", "my-boards": "내 보드", "name": "이름", "no-archived-cards": "No archived cards.", @@ -205,12 +247,15 @@ "normal": "표준", "normal-desc": "카드를 보거나 수정할 수 있습니다. 설정값은 변경할 수 없습니다.", "not-accepted-yet": "Invitation not accepted yet", + "notify-participate": "Receive updates to any cards you participate as creater or member", + "notify-watch": "Receive updates to any boards, lists, or cards you’re watching", "optional": "옴션", "or": "or", "page-maybe-private": "이 페이지를 비공개일 수 있습니다. 이것을 보고 싶으면 <a href='%s'>로그인</a>을 하십시오.", "page-not-found": "페이지를 찾지 못 했습니다", "password": "암호", "paste-or-dragdrop": "to paste, or drag & drop image file to it (image only)", + "participating": "Participating", "preview": "Preview", "previewAttachedImagePopup-title": "Preview", "previewClipboardImagePopup-title": "Preview", @@ -243,6 +288,7 @@ "shortcut-show-shortcuts": "Bring up this shortcuts list", "shortcut-toggle-filterbar": "Toggle Filter Sidebar", "shortcut-toggle-sidebar": "Toggle Board Sidebar", + "show-cards-minimum-count": "Show cards count if list contains more than", "signupPopup-title": "계정 생성", "star-board-title": "보드에 별을 클릭합니다. 보드 목록에서 최상위로 둘 수 있습니다.", "starred-boards": "별표된 보드", @@ -251,14 +297,24 @@ "team": "팀", "this-board": "보드", "this-card": "카드", + "time": "Time", "title": "제목", + "tracking": "Tracking", + "tracking-info": "You will be notified of any changes to those cards you are involved as creator or member.", "unassign-member": "Unassign member", "unsaved-description": "You have an unsaved description.", + "unwatch": "Unwatch", "upload": "Upload", "upload-avatar": "Upload an avatar", "uploaded-avatar": "Uploaded an avatar", "username": "사용자 이름", "view-it": "View it", "warn-list-archived": "warning: this card is in an archived list", - "what-to-do": "What do you want to do?" + "watch": "Watch", + "watching": "Watching", + "watching-info": "You will be notified of any change in this board", + "welcome-board": "Welcome Board", + "welcome-list1": "Basics", + "welcome-list2": "Advanced", + "what-to-do": "무엇을 원하나요?" } diff --git a/i18n/pl.i18n.json b/i18n/pl.i18n.json index 6ca78ce2..5168fa6e 100644 --- a/i18n/pl.i18n.json +++ b/i18n/pl.i18n.json @@ -1,5 +1,25 @@ { "accept": "Akceptuj", + "act-activity-notify": "[Wekan] Activity Notification", + "act-addAttachment": "attached __attachment__ to __card__", + "act-addComment": "commented on __card__: __comment__", + "act-createBoard": "created __board__", + "act-createCard": "added __card__ to __list__", + "act-createList": "added __list__ to __board__", + "act-addBoardMember": "added __member__ to __board__", + "act-archivedBoard": "archived __board__", + "act-archivedCard": "archived __card__", + "act-archivedList": "archived __list__", + "act-importBoard": "imported __board__", + "act-importCard": "imported __card__", + "act-importList": "imported __list__", + "act-joinMember": "added __member__ to __card__", + "act-moveCard": "moved __card__ from __oldList__ to __list__", + "act-removeBoardMember": "removed __member__ from __board__", + "act-restoredCard": "restored __card__ to __board__", + "act-unjoinMember": "removed __member__ from __card__", + "act-withBoardTitle": "[Wekan] __board__", + "act-withCardTitle": "[__board__] __card__", "actions": "Akcje", "activities": "Aktywności", "activity": "Aktywność", @@ -31,6 +51,8 @@ "all-boards": "Wszystkie tablice", "and-n-other-card": "And __count__ other card", "and-n-other-card_plural": "And __count__ other cards", + "apply": "Apply", + "app-is-offline": "The application is currently offline, refreshing the page will cause data loss.", "archive": "Zarchiwizuj", "archive-all": "Zarchiwizuj wszystkie", "archive-board": "Zarchiwizuj tablicę", @@ -46,6 +68,7 @@ "attachment-delete-pop": "Usunięcie załącznika jest nieodwracalne.", "attachmentDeletePopup-title": "Usunąć załącznik?", "attachments": "Załączniki", + "auto-watch": "Automatically watch boards when create it", "avatar-too-big": "Avatar jest za duży (maksymalnie 70Kb)", "back": "Wstecz", "board-change-color": "Zmień kolor", @@ -56,7 +79,7 @@ "boardChangeColorPopup-title": "Zmień tło tablicy", "boardChangeTitlePopup-title": "Zmień nazwę tablicy", "boardChangeVisibilityPopup-title": "Zmień widoczność", - "boardImportBoardPopup-title": "Zaimportuj tablicę z Trello", + "boardChangeWatchPopup-title": "Change Watch", "boardMenuPopup-title": "Menu tablicy", "boards": "Tablice", "bucket-example": "Like “Bucket List” for example", @@ -66,11 +89,15 @@ "card-delete-notice": "Usunięcie jest trwałe. Stracisz wszystkie akcje powiązane z tą kartą.", "card-delete-pop": "Wszystkie akcje będą usunięte z widoku aktywności, nie można będzie ponownie otworzyć karty. Usunięcie jest nieodwracalne. ", "card-delete-suggest-archive": "Możesz zarchiwizować kartę w celu usunięcia jej z tablicy oraz zachowania jej aktywności.", + "card-due": "Due", + "card-due-on": "Due on", "card-edit-attachments": "Edytuj załączniki", "card-edit-labels": "Edytuj etykiety", "card-edit-members": "Edytuj członków", "card-labels-title": "Zmień etykiety karty", "card-members-title": "Dodaj lub usuń członków tablicy z karty.", + "card-start": "Start", + "card-start-on": "Starts on", "cardAttachmentsPopup-title": "Załącz z", "cardDeletePopup-title": "Usunąć kartę?", "cardDetailsActionsPopup-title": "Card Actions", @@ -82,13 +109,15 @@ "change-avatar": "Zmień Avatar", "change-password": "Zmień hasło", "change-permissions": "Zmień uprawnienia", + "change-settings": "Change Settings", "changeAvatarPopup-title": "Zmień Avatar", "changeLanguagePopup-title": "Zmień język", "changePasswordPopup-title": "Zmień hasło", "changePermissionsPopup-title": "Zmień uprawnienia", + "changeSettingsPopup-title": "Change Settings", "click-to-star": "Kliknij by odznaczyć tę tablicę.", "click-to-unstar": "Kliknij by usunąć odznaczenie tej tablicy.", - "clipboard": "Schowek lub przeciągnij & upuść", + "clipboard" : "Schowek lub przeciągnij & upuść", "close": "Zamknij", "close-board": "Zamknij tablicę", "close-board-pop": "Możesz przywrócić tablicę klikając przycisk \"Zarchiwizowane\" z głównej belki.", @@ -109,6 +138,7 @@ "createBoardPopup-title": "Utwórz tablicę", "createLabelPopup-title": "Utwórz etykietę", "current": "obecny", + "date": "Date", "decline": "Odrzuć", "default-avatar": "Domyślny avatar", "delete": "Usuń", @@ -122,7 +152,10 @@ "edit": "Edytuj", "edit-avatar": "Zmień Avatar", "edit-profile": "Edytuj profil", + "editCardStartDatePopup-title": "Change start date", + "editCardDueDatePopup-title": "Change due date", "editLabelPopup-title": "Zmień etykietę", + "editNotificationPopup-title": "Edit Notification", "editProfilePopup-title": "Edytuj profil", "email": "Email", "email-enrollAccount-subject": "Konto zostało utworzone na __siteName__", @@ -146,27 +179,33 @@ "error-user-doesNotExist": "Ten użytkownik nie istnieje", "error-user-notAllowSelf": "Ta akcje nie jest dozwolona", "error-user-notCreated": "Ten użytkownik nie został stworzony", + "error-username-taken": "This username is already taken", "export-board": "Eksportuj tablicę", "filter": "Filtr", "filter-cards": "Odfiltruj karty", "filter-clear": "Usuń filter", + "filter-no-label": "No label", + "filter-no-member": "No member", "filter-on": "Filtr jest włączony", "filter-on-desc": "Filtrujesz karty na tej tablicy. Kliknij tutaj by edytować filtr.", "filter-to-selection": "Odfiltruj zaznaczenie", "fullname": "Full Name", "header-logo-title": "Wróć do swojej strony z tablicami.", + "hide-system-messages": "Hide system messages", "home": "Strona główna", "import": "Importu", "import-board": "zaimportuj z Trello", + "import-board-title": "Import board from Trello", "import-board-trello-instruction": "W twojej tablicy na Trello, idź do 'Menu', następnie 'More', 'Print and Export', 'Export JSON' i skopiuj wynik", - "import-card": "Zaimportuj kartę z Trello", - "import-card-trello-instruction": "Idź do karty Trello, wybierz 'Share and more...', następnie 'Export JSON' i skopiuj wynik", "import-json-placeholder": "Wklej twój JSON tutaj", + "import-map-members": "Map members", "import-members-map": "Twoje zaimportowane tablice mają kilku członków. Proszę wybierz członków których chcesz zaimportować do Wekan", "import-show-user-mapping": "Przejrzyj wybranych członków", "import-user-select": "Pick the Wekan user you want to use as this member", + "importMapMembersAddPopup-title": "Select Wekan member", "info": "Informacje", "initials": "Initials", + "invalid-date": "Invalid date", "joined": "dołączył", "just-invited": "Właśnie zostałeś zaproszony do tej tablicy", "keyboard-shortcuts": "Skróty klawiaturowe", @@ -186,17 +225,20 @@ "listImportCardPopup-title": "Zaimportuj kartę z Trello", "lists": "Listy", "log-out": "Wyloguj", + "log-in": "Log In", "loginPopup-title": "Zaloguj", - "mapMembersAddPopup-title": "Wybierz członka Wekan", - "mapMembersPopup-title": "Map members", "memberMenuPopup-title": "Member Settings", "members": "Członkowie", "menu": "Menu", "move-selection": "Przenieś zaznaczone", "moveCardPopup-title": "Przenieś kartę", + "moveCardToBottom-title": "Move to Bottom", + "moveCardToTop-title": "Move to Top", "moveSelectionPopup-title": "Przenieś zaznaczone", "multi-selection": "Wielokrotne zaznaczenie", "multi-selection-on": "Wielokrotne zaznaczenie jest włączone", + "muted": "Muted", + "muted-info": "You will never be notified of any changes in this board", "my-boards": "Moje tablice", "name": "Nazwa", "no-archived-cards": "Brak zarchiwizowanych kart.", @@ -205,12 +247,15 @@ "normal": "Normal", "normal-desc": "Może widzieć i edytować karty. Nie może zmieniać ustawiań.", "not-accepted-yet": "Zaproszenie jeszcze nie zaakceptowane", + "notify-participate": "Receive updates to any cards you participate as creater or member", + "notify-watch": "Receive updates to any boards, lists, or cards you’re watching", "optional": "opcjonalny", "or": "lub", "page-maybe-private": "Ta strona może być prywatna. Możliwe, że możesz ją zobaczyć po <a href='%s'>zalogowaniu</a>.", "page-not-found": "Strona nie znaleziona.", "password": "Hasło", "paste-or-dragdrop": "wklej lub przeciągnij & upuść obrazek", + "participating": "Participating", "preview": "Podgląd", "previewAttachedImagePopup-title": "Podgląd", "previewClipboardImagePopup-title": "Podgląd", @@ -235,7 +280,7 @@ "search": "Wyszukaj", "select-color": "Wybierz kolor", "shortcut-assign-self": "Przypisz siebie do obecnej karty", - "shortcut-autocomplete-emojies": "Autocomplete emojies", + "shortcut-autocomplete-emoji": "Autocomplete emoji", "shortcut-autocomplete-members": "Autocomplete members", "shortcut-clear-filters": "Usuń wszystkie filtry", "shortcut-close-dialog": "Zamknij okno", @@ -243,6 +288,7 @@ "shortcut-show-shortcuts": "Przypnij do listy skrótów", "shortcut-toggle-filterbar": "Przełącz boczny pasek filtru", "shortcut-toggle-sidebar": "Przełącz boczny pasek tablicy", + "show-cards-minimum-count": "Show cards count if list contains more than", "signupPopup-title": "Utwórz konto", "star-board-title": "Click to star this board. It will show up at top of your boards list.", "starred-boards": "Odznaczone tablice", @@ -251,14 +297,24 @@ "team": "Zespół", "this-board": "ta tablica", "this-card": "ta karta", + "time": "Time", "title": "Tytuł", + "tracking": "Tracking", + "tracking-info": "You will be notified of any changes to those cards you are involved as creator or member.", "unassign-member": "Nieprzypisany członek", "unsaved-description": "You have an unsaved description.", + "unwatch": "Unwatch", "upload": "Wyślij", "upload-avatar": "Wyślij avatar", "uploaded-avatar": "Wysłany avatar", "username": "Nazwa użytkownika", "view-it": "Zobacz", "warn-list-archived": "ostrzeżenie: ta karta jest na zarchiwizowanej liście", + "watch": "Watch", + "watching": "Watching", + "watching-info": "You will be notified of any change in this board", + "welcome-board": "Welcome Board", + "welcome-list1": "Basics", + "welcome-list2": "Advanced", "what-to-do": "Co chcesz zrobić?" } diff --git a/i18n/pt-BR.i18n.json b/i18n/pt-BR.i18n.json index 5f5d45c5..cc4fcd34 100755..100644 --- a/i18n/pt-BR.i18n.json +++ b/i18n/pt-BR.i18n.json @@ -1,5 +1,25 @@ { "accept": "Aceitar", + "act-activity-notify": "[Wekan] Activity Notification", + "act-addAttachment": "attached __attachment__ to __card__", + "act-addComment": "commented on __card__: __comment__", + "act-createBoard": "created __board__", + "act-createCard": "added __card__ to __list__", + "act-createList": "added __list__ to __board__", + "act-addBoardMember": "added __member__ to __board__", + "act-archivedBoard": "archived __board__", + "act-archivedCard": "archived __card__", + "act-archivedList": "archived __list__", + "act-importBoard": "imported __board__", + "act-importCard": "imported __card__", + "act-importList": "imported __list__", + "act-joinMember": "added __member__ to __card__", + "act-moveCard": "moved __card__ from __oldList__ to __list__", + "act-removeBoardMember": "removed __member__ from __board__", + "act-restoredCard": "restored __card__ to __board__", + "act-unjoinMember": "removed __member__ from __card__", + "act-withBoardTitle": "[Wekan] __board__", + "act-withCardTitle": "[__board__] __card__", "actions": "Ações", "activities": "Atividades", "activity": "Atividade", @@ -31,6 +51,8 @@ "all-boards": "Todos os quadros", "and-n-other-card": "E __count__ outro cartão", "and-n-other-card_plural": "E __count__ outros cartões", + "apply": "Apply", + "app-is-offline": "The application is currently offline, refreshing the page will cause data loss.", "archive": "Arquivar", "archive-all": "Arquivar Tudo", "archive-board": "Arquivar Quadro", @@ -46,6 +68,7 @@ "attachment-delete-pop": "Excluir um anexo é permanente. Não será possível recuperá-lo.", "attachmentDeletePopup-title": "Excluir Anexo?", "attachments": "Anexos", + "auto-watch": "Automatically watch boards when create it", "avatar-too-big": "Imagem de avatar muito grande (máx 70KB)", "back": "Voltar", "board-change-color": "Alterar cor", @@ -56,7 +79,7 @@ "boardChangeColorPopup-title": "Alterar Tela de Fundo", "boardChangeTitlePopup-title": "Renomear Quadro", "boardChangeVisibilityPopup-title": "Alterar Visibilidade", - "boardImportBoardPopup-title": "Importar quadro do Trello", + "boardChangeWatchPopup-title": "Change Watch", "boardMenuPopup-title": "Menu do Quadro", "boards": "Quadros", "bucket-example": "\"Bucket List\", por exemplo", @@ -66,11 +89,15 @@ "card-delete-notice": "A exclusão será permanente. Você perderá todas as ações associadas a este cartão.", "card-delete-pop": "Todas as ações serão removidas da lista de Atividades e vocês não poderá re-abrir o cartão. Não há como desfazer.", "card-delete-suggest-archive": "Você pode arquivar um cartão para removê-lo do quadro e preservar suas atividades.", + "card-due": "Due", + "card-due-on": "Due on", "card-edit-attachments": "Editar anexos", "card-edit-labels": "Editar etiquetas", "card-edit-members": "Editar membros", "card-labels-title": "Alterar etiquetas do cartão.", "card-members-title": "Acrescentar ou remover membros do quadro deste cartão.", + "card-start": "Start", + "card-start-on": "Starts on", "cardAttachmentsPopup-title": "Anexar a partir de", "cardDeletePopup-title": "Excluir Cartão?", "cardDetailsActionsPopup-title": "Ações do cartão", @@ -82,13 +109,15 @@ "change-avatar": "Alterar Avatar", "change-password": "Alterar Senha", "change-permissions": "Alterar permissões", + "change-settings": "Change Settings", "changeAvatarPopup-title": "Alterar Avatar", "changeLanguagePopup-title": "Alterar Idioma", "changePasswordPopup-title": "Alterar Senha", "changePermissionsPopup-title": "Alterar Permissões", + "changeSettingsPopup-title": "Change Settings", "click-to-star": "Marcar quadro como favorito.", "click-to-unstar": "Remover quadro dos favoritos.", - "clipboard": "Área de Transferência ou arraste e solte", + "clipboard" : "Área de Transferência ou arraste e solte", "close": "Fechar", "close-board": "Fechar Quadro", "close-board-pop": "Você estará habilitado para restaurar o quadro clicando no botão \"Arquivos\" à partir da barra de início.", @@ -109,6 +138,7 @@ "createBoardPopup-title": "Criar Quadro", "createLabelPopup-title": "Criar Etiqueta", "current": "atual", + "date": "Date", "decline": "Rejeitar", "default-avatar": "Avatar padrão", "delete": "Excluir", @@ -122,7 +152,10 @@ "edit": "Editar", "edit-avatar": "Alterar Avatar", "edit-profile": "Editar Perfil", + "editCardStartDatePopup-title": "Change start date", + "editCardDueDatePopup-title": "Change due date", "editLabelPopup-title": "Alterar Etiqueta", + "editNotificationPopup-title": "Edit Notification", "editProfilePopup-title": "Editar Perfil", "email": "E-mail", "email-enrollAccount-subject": "Uma conta foi criada para você em __siteName__", @@ -146,27 +179,33 @@ "error-user-doesNotExist": "Este usuário não existe", "error-user-notAllowSelf": "Esta ação em você mesmo não é permitida", "error-user-notCreated": "Este usuário não foi criado", + "error-username-taken": "This username is already taken", "export-board": "Exportar quadro", "filter": "Filtrar", "filter-cards": "Filtrar Cartões", "filter-clear": "Limpar filtro", + "filter-no-label": "No label", + "filter-no-member": "No member", "filter-on": "Filtro está ativo", "filter-on-desc": "Você está filtrando cartões neste quadro. Clique aqui para editar o filtro.", "filter-to-selection": "Filtrar esta seleção", "fullname": "Nome Completo", "header-logo-title": "Voltar para a lista de quadros.", + "hide-system-messages": "Hide system messages", "home": "Início", "import": "Importar", "import-board": "Importar do Trello", + "import-board-title": "Import board from Trello", "import-board-trello-instruction": "No seu quadro do Trello, vá em 'Menu', depois em 'Mais', 'Imprimir e Exportar', 'Exportar JSON', então copie o texto emitido", - "import-card": "Importe um cartão do Trello", - "import-card-trello-instruction": "Vá para um cartão do Trello, selecione 'Compartilhar e mais...' então 'Exporte JSON' e copie o texto resultante", "import-json-placeholder": "Cole seus dados JSON válidos aqui", + "import-map-members": "Map members", "import-members-map": "O seu quadro importado tem alguns membros. Por favor determine os membros que você deseja importar para os usuários Wekan", "import-show-user-mapping": "Revisar mapeamento dos membros", "import-user-select": "Selecione o usuário Wekan que você gostaria de usar como este membro", + "importMapMembersAddPopup-title": "Select Wekan member", "info": "Informações", "initials": "Iniciais", + "invalid-date": "Invalid date", "joined": "juntou-se", "just-invited": "Você já foi convidado para este quadro", "keyboard-shortcuts": "Atalhos do teclado", @@ -186,17 +225,20 @@ "listImportCardPopup-title": "Importe um cartão do Trello", "lists": "Listas", "log-out": "Sair", + "log-in": "Log In", "loginPopup-title": "Entrar", - "mapMembersAddPopup-title": "Selecione um membro Wekan", - "mapMembersPopup-title": "Mapear membros", "memberMenuPopup-title": "Configuração de Membros", "members": "Membros", "menu": "Menu", "move-selection": "Mover seleção", "moveCardPopup-title": "Mover Cartão", + "moveCardToBottom-title": "Move to Bottom", + "moveCardToTop-title": "Move to Top", "moveSelectionPopup-title": "Mover seleção", "multi-selection": "Multi-Seleção", "multi-selection-on": "Multi-seleção está ativo", + "muted": "Muted", + "muted-info": "You will never be notified of any changes in this board", "my-boards": "Meus Quadros", "name": "Nome", "no-archived-cards": "Nenhum cartão arquivado", @@ -205,12 +247,15 @@ "normal": "Normal", "normal-desc": "Pode ver e editar cartões. Não pode alterar configurações.", "not-accepted-yet": "Convite ainda não aceito", + "notify-participate": "Receive updates to any cards you participate as creater or member", + "notify-watch": "Receive updates to any boards, lists, or cards you’re watching", "optional": "opcional", "or": "ou", "page-maybe-private": "Esta página pode ser privada. Você poderá vê-la se estiver <a href='%s'>logado</a>.", "page-not-found": "Página não encontrada.", "password": "Senha", "paste-or-dragdrop": "para colar, ou arraste e solte o arquivo da imagem para ca (somente imagens)", + "participating": "Participating", "preview": "Previsualizar", "previewAttachedImagePopup-title": "Previsualizar", "previewClipboardImagePopup-title": "Previsualizar", @@ -235,7 +280,7 @@ "search": "Buscar", "select-color": "Selecione uma cor", "shortcut-assign-self": "Atribuir a si o cartão atual", - "shortcut-autocomplete-emojies": "Preenchimento automático de emojies", + "shortcut-autocomplete-emoji": "Autocomplete emoji", "shortcut-autocomplete-members": "Preenchimento automático de membros", "shortcut-clear-filters": "Limpar todos filtros", "shortcut-close-dialog": "Fechar dialogo", @@ -243,6 +288,7 @@ "shortcut-show-shortcuts": "Mostrar lista de atalhos", "shortcut-toggle-filterbar": "Alternar barra de filtro", "shortcut-toggle-sidebar": "Fechar barra lateral.", + "show-cards-minimum-count": "Show cards count if list contains more than", "signupPopup-title": "Criar uma Conta", "star-board-title": "Clique para marcar este quadro como favorito. Ele aparecerá no topo na lista dos seus quadros.", "starred-boards": "Quadros Favoritos", @@ -251,14 +297,24 @@ "team": "Equipe", "this-board": "este quadro", "this-card": "este cartão", + "time": "Time", "title": "Título", + "tracking": "Tracking", + "tracking-info": "You will be notified of any changes to those cards you are involved as creator or member.", "unassign-member": "Membro não associado", "unsaved-description": "Você possui uma descrição não salva", + "unwatch": "Unwatch", "upload": "Upload", "upload-avatar": "Carregar um avatar", "uploaded-avatar": "Avatar carregado", "username": "Nome de usuário", "view-it": "Visualizar", "warn-list-archived": "aviso: este cartão está em uma lista arquivada", + "watch": "Watch", + "watching": "Watching", + "watching-info": "You will be notified of any change in this board", + "welcome-board": "Welcome Board", + "welcome-list1": "Basics", + "welcome-list2": "Advanced", "what-to-do": "O que você gostaria de fazer?" } diff --git a/i18n/ro.i18n.json b/i18n/ro.i18n.json new file mode 100644 index 00000000..ec7f55de --- /dev/null +++ b/i18n/ro.i18n.json @@ -0,0 +1,319 @@ +{ + "accept": "Accept", + "act-activity-notify": "[Wekan] Activity Notification", + "act-addAttachment": "attached __attachment__ to __card__", + "act-addComment": "commented on __card__: __comment__", + "act-createBoard": "created __board__", + "act-createCard": "added __card__ to __list__", + "act-createList": "added __list__ to __board__", + "act-addBoardMember": "added __member__ to __board__", + "act-archivedBoard": "archived __board__", + "act-archivedCard": "archived __card__", + "act-archivedList": "archived __list__", + "act-importBoard": "imported __board__", + "act-importCard": "imported __card__", + "act-importList": "imported __list__", + "act-joinMember": "added __member__ to __card__", + "act-moveCard": "moved __card__ from __oldList__ to __list__", + "act-removeBoardMember": "removed __member__ from __board__", + "act-restoredCard": "restored __card__ to __board__", + "act-unjoinMember": "removed __member__ from __card__", + "act-withBoardTitle": "[Wekan] __board__", + "act-withCardTitle": "[__board__] __card__", + "actions": "Actions", + "activities": "Activities", + "activity": "Activity", + "activity-added": "added %s to %s", + "activity-archived": "archived %s", + "activity-attached": "attached %s to %s", + "activity-created": "created %s", + "activity-excluded": "excluded %s from %s", + "activity-imported": "imported %s into %s from %s", + "activity-imported-board": "imported %s from %s", + "activity-joined": "joined %s", + "activity-moved": "moved %s from %s to %s", + "activity-on": "on %s", + "activity-removed": "removed %s from %s", + "activity-sent": "sent %s to %s", + "activity-unjoined": "unjoined %s", + "add": "Add", + "add-attachment": "Add an attachment", + "add-board": "Add a new board", + "add-card": "Add a card", + "add-cover": "Add Cover", + "add-label": "Add the label", + "add-list": "Add a list", + "add-members": "Add Members", + "added": "Added", + "addMemberPopup-title": "Members", + "admin": "Admin", + "admin-desc": "Can view and edit cards, remove members, and change settings for the board.", + "all-boards": "All boards", + "and-n-other-card": "And __count__ other card", + "and-n-other-card_plural": "And __count__ other cards", + "apply": "Apply", + "app-is-offline": "The application is currently offline, refreshing the page will cause data loss.", + "archive": "Archive", + "archive-all": "Archive All", + "archive-board": "Archive Board", + "archive-card": "Archive Card", + "archive-list": "Archive this list", + "archive-selection": "Archive selection", + "archiveBoardPopup-title": "Archive Board?", + "archived-items": "Archived Items", + "archives": "Arhive", + "assign-member": "Assign member", + "attached": "attached", + "attachment": "Ataşament", + "attachment-delete-pop": "Deleting an attachment is permanent. There is no undo.", + "attachmentDeletePopup-title": "Delete Attachment?", + "attachments": "Ataşamente", + "auto-watch": "Automatically watch boards when create it", + "avatar-too-big": "The avatar is too large (70Kb max)", + "back": "Înapoi", + "board-change-color": "Change color", + "board-nb-stars": "%s stars", + "board-not-found": "Board not found", + "board-private-info": "This board will be <strong>private</strong>.", + "board-public-info": "This board will be <strong>public</strong>.", + "boardChangeColorPopup-title": "Change Board Background", + "boardChangeTitlePopup-title": "Rename Board", + "boardChangeVisibilityPopup-title": "Change Visibility", + "boardChangeWatchPopup-title": "Change Watch", + "boardMenuPopup-title": "Board Menu", + "boards": "Boards", + "bucket-example": "Like “Bucket List” for example", + "cancel": "Cancel", + "card-archived": "This card is archived.", + "card-comments-title": "This card has %s comment.", + "card-delete-notice": "Deleting is permanent. You will lose all actions associated with this card.", + "card-delete-pop": "All actions will be removed from the activity feed and you won't be able to re-open the card. There is no undo.", + "card-delete-suggest-archive": "You can archive a card to remove it from the board and preserve the activity.", + "card-due": "Due", + "card-due-on": "Due on", + "card-edit-attachments": "Edit attachments", + "card-edit-labels": "Edit labels", + "card-edit-members": "Edit members", + "card-labels-title": "Change the labels for the card.", + "card-members-title": "Add or remove members of the board from the card.", + "card-start": "Start", + "card-start-on": "Starts on", + "cardAttachmentsPopup-title": "Attach From", + "cardDeletePopup-title": "Delete Card?", + "cardDetailsActionsPopup-title": "Card Actions", + "cardLabelsPopup-title": "Labels", + "cardMembersPopup-title": "Members", + "cardMorePopup-title": "More", + "cards": "Cards", + "change": "Change", + "change-avatar": "Change Avatar", + "change-password": "Change Password", + "change-permissions": "Change permissions", + "change-settings": "Change Settings", + "changeAvatarPopup-title": "Change Avatar", + "changeLanguagePopup-title": "Change Language", + "changePasswordPopup-title": "Change Password", + "changePermissionsPopup-title": "Change Permissions", + "changeSettingsPopup-title": "Change Settings", + "click-to-star": "Click to star this board.", + "click-to-unstar": "Click to unstar this board.", + "clipboard" : "Clipboard or drag & drop", + "close": "Închide", + "close-board": "Close Board", + "close-board-pop": "You will be able to restore the board by clicking the “Archives” button from the home header.", + "color-black": "black", + "color-blue": "blue", + "color-green": "green", + "color-lime": "lime", + "color-orange": "orange", + "color-pink": "pink", + "color-purple": "purple", + "color-red": "red", + "color-sky": "sky", + "color-yellow": "yellow", + "comment": "Comment", + "comment-placeholder": "Write a comment", + "computer": "Computer", + "create": "Create", + "createBoardPopup-title": "Create Board", + "createLabelPopup-title": "Create Label", + "current": "current", + "date": "Date", + "decline": "Decline", + "default-avatar": "Default avatar", + "delete": "Delete", + "deleteLabelPopup-title": "Delete Label?", + "description": "Description", + "disambiguateMultiLabelPopup-title": "Disambiguate Label Action", + "disambiguateMultiMemberPopup-title": "Disambiguate Member Action", + "discard": "Discard", + "done": "Done", + "download": "Download", + "edit": "Edit", + "edit-avatar": "Change Avatar", + "edit-profile": "Edit Profile", + "editCardStartDatePopup-title": "Change start date", + "editCardDueDatePopup-title": "Change due date", + "editLabelPopup-title": "Change Label", + "editNotificationPopup-title": "Edit Notification", + "editProfilePopup-title": "Edit Profile", + "email": "Email", + "email-enrollAccount-subject": "An account created for you on __siteName__", + "email-enrollAccount-text": "Hello __user__,\n\nTo start using the service, simply click the link below.\n\n__url__\n\nThanks.", + "email-fail": "Sending email failed", + "email-invalid": "Invalid email", + "email-invite": "Invite via Email", + "email-invite-subject": "__inviter__ sent you an invitation", + "email-invite-text": "Dear __user__,\n\n__inviter__ invites you to join board \"__board__\" for collaborations.\n\nPlease follow the link below:\n\n__url__\n\nThanks.", + "email-resetPassword-subject": "Reset your password on __siteName__", + "email-resetPassword-text": "Hello __user__,\n\nTo reset your password, simply click the link below.\n\n__url__\n\nThanks.", + "email-sent": "Email sent", + "email-verifyEmail-subject": "Verify your email address on __siteName__", + "email-verifyEmail-text": "Hello __user__,\n\nTo verify your account email, simply click the link below.\n\n__url__\n\nThanks.", + "error-board-doesNotExist": "This board does not exist", + "error-board-notAdmin": "You need to be admin of this board to do that", + "error-board-notAMember": "You need to be a member of this board to do that", + "error-json-malformed": "Your text is not valid JSON", + "error-json-schema": "Your JSON data does not include the proper information in the correct format", + "error-list-doesNotExist": "This list does not exist", + "error-user-doesNotExist": "This user does not exist", + "error-user-notAllowSelf": "This action on self is not allowed", + "error-user-notCreated": "This user is not created", + "error-username-taken": "This username is already taken", + "export-board": "Export board", + "filter": "Filter", + "filter-cards": "Filter Cards", + "filter-clear": "Clear filter", + "filter-no-label": "No label", + "filter-no-member": "No member", + "filter-on": "Filter is on", + "filter-on-desc": "You are filtering cards on this board. Click here to edit filter.", + "filter-to-selection": "Filter to selection", + "fullname": "Full Name", + "header-logo-title": "Go back to your boards page.", + "hide-system-messages": "Hide system messages", + "home": "Home", + "import": "Import", + "import-board": "import from Trello", + "import-board-title": "Import board from Trello", + "import-board-trello-instruction": "In your Trello board, go to 'Menu', then 'More', 'Print and Export', 'Export JSON', and copy the resulting text", + "import-json-placeholder": "Paste your valid JSON data here", + "import-map-members": "Map members", + "import-members-map": "Your imported board has some members. Please map the members you want to import to Wekan users", + "import-show-user-mapping": "Review members mapping", + "import-user-select": "Pick the Wekan user you want to use as this member", + "importMapMembersAddPopup-title": "Select Wekan member", + "info": "Infos", + "initials": "Iniţiale", + "invalid-date": "Invalid date", + "joined": "joined", + "just-invited": "You are just invited to this board", + "keyboard-shortcuts": "Keyboard shortcuts", + "label-create": "Create a new label", + "label-default": "%s label (default)", + "label-delete-pop": "There is no undo. This will remove this label from all cards and destroy its history.", + "labels": "Labels", + "language": "Language", + "last-admin-desc": "You can’t change roles because there must be at least one admin.", + "leave-board": "Leave Board", + "link-card": "Link to this card", + "list-archive-cards": "Archive all cards in this list", + "list-archive-cards-pop": "This will remove all the cards in this list from the board. To view archived cards and bring them back to the board, click “Menu” > “Archived Items”.", + "list-move-cards": "Move all cards in this list", + "list-select-cards": "Select all cards in this list", + "listActionPopup-title": "List Actions", + "listImportCardPopup-title": "Import a Trello card", + "lists": "Liste", + "log-out": "Log Out", + "log-in": "Log In", + "loginPopup-title": "Log In", + "memberMenuPopup-title": "Member Settings", + "members": "Members", + "menu": "Meniu", + "move-selection": "Move selection", + "moveCardPopup-title": "Move Card", + "moveCardToBottom-title": "Move to Bottom", + "moveCardToTop-title": "Move to Top", + "moveSelectionPopup-title": "Move selection", + "multi-selection": "Multi-Selection", + "multi-selection-on": "Multi-Selection is on", + "muted": "Muted", + "muted-info": "You will never be notified of any changes in this board", + "my-boards": "My Boards", + "name": "Nume", + "no-archived-cards": "No archived cards.", + "no-archived-lists": "No archived lists.", + "no-results": "No results", + "normal": "Normal", + "normal-desc": "Can view and edit cards. Can't change settings.", + "not-accepted-yet": "Invitation not accepted yet", + "notify-participate": "Receive updates to any cards you participate as creater or member", + "notify-watch": "Receive updates to any boards, lists, or cards you’re watching", + "optional": "optional", + "or": "or", + "page-maybe-private": "This page may be private. You may be able to view it by <a href='%s'>logging in</a>.", + "page-not-found": "Page not found.", + "password": "Parolă", + "paste-or-dragdrop": "to paste, or drag & drop image file to it (image only)", + "participating": "Participating", + "preview": "Preview", + "previewAttachedImagePopup-title": "Preview", + "previewClipboardImagePopup-title": "Preview", + "private": "Privat", + "private-desc": "This board is private. Only people added to the board can view and edit it.", + "profile": "Profil", + "public": "Public", + "public-desc": "This board is public. It's visible to anyone with the link and will show up in search engines like Google. Only people added to the board can edit.", + "quick-access-description": "Star a board to add a shortcut in this bar.", + "remove-cover": "Remove Cover", + "remove-from-board": "Remove from Board", + "remove-label": "Remove the label", + "remove-member": "Remove Member", + "remove-member-from-card": "Remove from Card", + "remove-member-pop": "Remove __name__ (__username__) from __boardTitle__? The member will be removed from all cards on this board. They will receive a notification.", + "removeMemberPopup-title": "Remove Member?", + "rename": "Rename", + "rename-board": "Rename Board", + "restore": "Restore", + "save": "Salvează", + "search": "Caută", + "select-color": "Select a color", + "shortcut-assign-self": "Assign yourself to current card", + "shortcut-autocomplete-emoji": "Autocomplete emoji", + "shortcut-autocomplete-members": "Autocomplete members", + "shortcut-clear-filters": "Clear all filters", + "shortcut-close-dialog": "Close Dialog", + "shortcut-filter-my-cards": "Filter my cards", + "shortcut-show-shortcuts": "Bring up this shortcuts list", + "shortcut-toggle-filterbar": "Toggle Filter Sidebar", + "shortcut-toggle-sidebar": "Toggle Board Sidebar", + "show-cards-minimum-count": "Show cards count if list contains more than", + "signupPopup-title": "Create an Account", + "star-board-title": "Click to star this board. It will show up at top of your boards list.", + "starred-boards": "Starred Boards", + "starred-boards-description": "Starred boards show up at the top of your boards list.", + "subscribe": "Subscribe", + "team": "Team", + "this-board": "this board", + "this-card": "this card", + "time": "Time", + "title": "Titlu", + "tracking": "Tracking", + "tracking-info": "You will be notified of any changes to those cards you are involved as creator or member.", + "unassign-member": "Unassign member", + "unsaved-description": "You have an unsaved description.", + "unwatch": "Unwatch", + "upload": "Upload", + "upload-avatar": "Upload an avatar", + "uploaded-avatar": "Uploaded an avatar", + "username": "Username", + "view-it": "View it", + "warn-list-archived": "warning: this card is in an archived list", + "watch": "Watch", + "watching": "Watching", + "watching-info": "You will be notified of any change in this board", + "welcome-board": "Welcome Board", + "welcome-list1": "Basics", + "welcome-list2": "Advanced", + "what-to-do": "Ce ai vrea sa faci?" +} diff --git a/i18n/ru.i18n.json b/i18n/ru.i18n.json index 880ccc48..0c1903d3 100755..100644 --- a/i18n/ru.i18n.json +++ b/i18n/ru.i18n.json @@ -1,5 +1,25 @@ { "accept": "Принять", + "act-activity-notify": "[Wekan] Activity Notification", + "act-addAttachment": "attached __attachment__ to __card__", + "act-addComment": "commented on __card__: __comment__", + "act-createBoard": "created __board__", + "act-createCard": "added __card__ to __list__", + "act-createList": "added __list__ to __board__", + "act-addBoardMember": "added __member__ to __board__", + "act-archivedBoard": "archived __board__", + "act-archivedCard": "archived __card__", + "act-archivedList": "archived __list__", + "act-importBoard": "imported __board__", + "act-importCard": "imported __card__", + "act-importList": "imported __list__", + "act-joinMember": "added __member__ to __card__", + "act-moveCard": "moved __card__ from __oldList__ to __list__", + "act-removeBoardMember": "removed __member__ from __board__", + "act-restoredCard": "restored __card__ to __board__", + "act-unjoinMember": "removed __member__ from __card__", + "act-withBoardTitle": "[Wekan] __board__", + "act-withCardTitle": "[__board__] __card__", "actions": "Действия", "activities": "История действия", "activity": "Активность", @@ -31,6 +51,8 @@ "all-boards": "Все доски", "and-n-other-card": "И __count__ другая карточка", "and-n-other-card_plural": "И __count__ другие карточки", + "apply": "Apply", + "app-is-offline": "The application is currently offline, refreshing the page will cause data loss.", "archive": "Архивировать", "archive-all": "Архивировать все", "archive-board": "Архивировать доску", @@ -46,6 +68,7 @@ "attachment-delete-pop": "Если удалить вложение, его нельзя будет восстановить.", "attachmentDeletePopup-title": "Удалить вложение?", "attachments": "Вложения", + "auto-watch": "Automatically watch boards when create it", "avatar-too-big": "Аватар слишком большой (максимум 70кб)", "back": "Назад", "board-change-color": "Изменить цвет", @@ -56,7 +79,7 @@ "boardChangeColorPopup-title": "Изменить фон доски", "boardChangeTitlePopup-title": "Переименовать доску", "boardChangeVisibilityPopup-title": "Изменить настройки видимости", - "boardImportBoardPopup-title": "Импортировать доску с Trello", + "boardChangeWatchPopup-title": "Change Watch", "boardMenuPopup-title": "Меню доски", "boards": "Доски", "bucket-example": "Например “Список дел”", @@ -66,11 +89,15 @@ "card-delete-notice": "Это действие невозможно будет отменить. Все изменения, которые вы вносили в карточку будут потеряны.", "card-delete-pop": "Все действия будут удалены из ленты активности и вы не сможете заново открыть карточку. Действие необратимо", "card-delete-suggest-archive": "Вы можете заархивировать карточку, чтобы удалить ее с доски и сохранить активность .", + "card-due": "Due", + "card-due-on": "Due on", "card-edit-attachments": "Изменить вложения", "card-edit-labels": "Изменить метку", "card-edit-members": "Изменить пользователей", "card-labels-title": "Редактировать метки.", "card-members-title": "Добавить или удалить участника.", + "card-start": "Start", + "card-start-on": "Starts on", "cardAttachmentsPopup-title": "Прикрепить из", "cardDeletePopup-title": "Удалить карточку?", "cardDetailsActionsPopup-title": "Действия в карточке", @@ -82,26 +109,28 @@ "change-avatar": "Изменить аватар", "change-password": "Изменить пароль", "change-permissions": "Изменить права доступа", + "change-settings": "Change Settings", "changeAvatarPopup-title": "Изменить аватар", "changeLanguagePopup-title": "Сменить язык", "changePasswordPopup-title": "Изменить пароль", "changePermissionsPopup-title": "Изменить настройки доступа", + "changeSettingsPopup-title": "Change Settings", "click-to-star": "Добавить в «Избранное»", "click-to-unstar": "Удалить из «Избранного»", - "clipboard": "Буфер обмена или drag & drop", + "clipboard" : "Буфер обмена или drag & drop", "close": "Закрыть", "close-board": "Закрыть доску", "close-board-pop": "Вы можете восстановить доску, нажав “Архивы” в заголовке.", + "color-black": "черный", + "color-blue": "синий", "color-green": "зеленый", - "color-yellow": "желтый", + "color-lime": "лимоновый", "color-orange": "оранджевый", - "color-red": "красный", + "color-pink": "зорозвый", "color-purple": "фиолетовый", - "color-blue": "синий", + "color-red": "красный", "color-sky": "голубой", - "color-lime": "лимоновый", - "color-pink": "зорозвый", - "color-black": "черный", + "color-yellow": "желтый", "comment": "Отправить", "comment-placeholder": "Написать комментарий", "computer": "Загрузить с компьютера", @@ -109,6 +138,7 @@ "createBoardPopup-title": "Создать доску", "createLabelPopup-title": "Создать метку", "current": "Текущий", + "date": "Date", "decline": "Понизить", "default-avatar": "Стандартный аватар", "delete": "Удалить", @@ -122,7 +152,10 @@ "edit": "Редактировать", "edit-avatar": "Изменить аватар", "edit-profile": "Изменить профиль", + "editCardStartDatePopup-title": "Change start date", + "editCardDueDatePopup-title": "Change due date", "editLabelPopup-title": "Редактирование метки", + "editNotificationPopup-title": "Edit Notification", "editProfilePopup-title": "Изменить профиль", "email": "Эл.почта", "email-enrollAccount-subject": "Аккаунт создан для вас здесь __url__", @@ -134,9 +167,9 @@ "email-invite-text": "Дорогой __user__,\n\n__inviter__ пригласил вас на доску \"__board__\" для сотрудничества.\n\nПожайлуйста проследуйте по ссылке:\n\n__url__\n\nСпасибо.", "email-resetPassword-subject": "Перейдите по ссылке, чтобы сбросить пароль __url__", "email-resetPassword-text": "Привет __user__,\n\nДля сброса пароля перейдите по ссылке.\n\n__url__\n\nThanks.", + "email-sent": "Email отправлен", "email-verifyEmail-subject": "Подтвердите Email перейдя по ссылке __url__", "email-verifyEmail-text": "Привет __user__,\n\nДля подтверждения Email перейдите по ссылке.\n\n__url__\n\nСпасибо.", - "email-sent": "Email отправлен", "error-board-doesNotExist": "Доска не найдена", "error-board-notAdmin": "Вы должны обладать правами админстратора, чтобы сделать это", "error-board-notAMember": "Вы должны быть пользователем доски, чтобы сделать это", @@ -146,26 +179,33 @@ "error-user-doesNotExist": "Пользователь не найден", "error-user-notAllowSelf": "Нельзя выполнить это действие на себе", "error-user-notCreated": "Пользователь не создан", + "error-username-taken": "This username is already taken", + "export-board": "Export board", "filter": "Фильтр", "filter-cards": "Фильтр карточек", "filter-clear": "Очистить фильтр", + "filter-no-label": "No label", + "filter-no-member": "No member", "filter-on": "Filter is on", "filter-on-desc": "Показываются карточки, соответствующие настройкам фильтра. Нажмите для редактирования.", "filter-to-selection": "Filter to selection", "fullname": "Полное имя", "header-logo-title": "Вернуться к доскам.", + "hide-system-messages": "Hide system messages", "home": "Главная", "import": "Импорт", "import-board": "Импорт с Trello", + "import-board-title": "Import board from Trello", "import-board-trello-instruction": "На вашей Trello доске нажмите “Menu” - “More” - “Print and export - “Export JSON” и скопируйте полученный текст", - "import-card": "Импортировать карточку Trello", - "import-card-trello-instruction": "Перейдите в карточку Trello, выбирите “Share and more” - “Export JSON” и скопируйте полученный текст", "import-json-placeholder": "Вставьте JSON сюда", + "import-map-members": "Map members", "import-members-map": "Вы ипортировали доску с пользователями. Пожалуйста, составьте карту пользователей, которых вы хотите импортировать в Wekan пользователей ", "import-show-user-mapping": "Пересмотреть карту пользователей", "import-user-select": "Выберите Wekan-пользователя, которого вы хотите использовать в качестве пользователя", + "importMapMembersAddPopup-title": "Select Wekan member", "info": "Информация", "initials": "Инициалы", + "invalid-date": "Invalid date", "joined": "вступил", "just-invited": "Вы только пригласили на эту доску", "keyboard-shortcuts": "Сочетания клавиш", @@ -185,15 +225,20 @@ "listImportCardPopup-title": "Импортировать Trello карточку", "lists": "Списки", "log-out": "Выйти", + "log-in": "Log In", "loginPopup-title": "Войти", - "mapMembersPopup-title": "Карта пользователей", - "mapMembersAddPopup-title": "Выбрать Wekan пользователя", "memberMenuPopup-title": "Настройки пользователя", "members": "Участники", "menu": "Меню", + "move-selection": "Move selection", "moveCardPopup-title": "Переместить карточку", + "moveCardToBottom-title": "Move to Bottom", + "moveCardToTop-title": "Move to Top", + "moveSelectionPopup-title": "Move selection", "multi-selection": "Выбрать несколько", "multi-selection-on": "Выбрать несколько из", + "muted": "Muted", + "muted-info": "You will never be notified of any changes in this board", "my-boards": "Мои доски", "name": "Имя", "no-archived-cards": "Нет карточек в архиве.", @@ -202,15 +247,18 @@ "normal": "Обычный", "normal-desc": "Может редактировать карточки. Не может управлять настройками.", "not-accepted-yet": "Приглашение еще не принято", + "notify-participate": "Receive updates to any cards you participate as creater or member", + "notify-watch": "Receive updates to any boards, lists, or cards you’re watching", "optional": "не обязательно", "or": "или", "page-maybe-private": "Возможно, эта страница скрыта от незарегистрированных пользователей. Попробуйте <a href='%s'>войти на сайт</a>.", "page-not-found": "Страница не найдена.", "password": "Пароль", "paste-or-dragdrop": "вставьте, или перетащите файл с изображением сюда (только графический фай)", + "participating": "Participating", "preview": "Предпросмотр", - "previewClipboardImagePopup-title": "Предпросмотр", "previewAttachedImagePopup-title": "Предпросмотр", + "previewClipboardImagePopup-title": "Предпросмотр", "private": "Закрытая", "private-desc": "Эта доска с ограниченным доступом. Только участники могут работать с ней.", "profile": "Профиль", @@ -240,22 +288,33 @@ "shortcut-show-shortcuts": "Поднять список ярлыков", "shortcut-toggle-filterbar": "Переместить фильтр на бововую панель", "shortcut-toggle-sidebar": "Переместить доску на боковую панель", + "show-cards-minimum-count": "Show cards count if list contains more than", "signupPopup-title": "Создать учетную запись", "star-board-title": "Добавить в «Избранное». Эта доска будет всегда на виду.", "starred-boards": "Добавленные в «Избранное»", - "starred-boards-description": "", + "starred-boards-description": "Starred boards show up at the top of your boards list.", "subscribe": "Подписаться", "team": "Участники", "this-board": "эту доску", "this-card": "текущая карточка", + "time": "Time", "title": "Название", + "tracking": "Tracking", + "tracking-info": "You will be notified of any changes to those cards you are involved as creator or member.", "unassign-member": "Отменить назначение пользователя", "unsaved-description": "У вас есть несохраненное описание.", + "unwatch": "Unwatch", "upload": "Загрзуить", "upload-avatar": "Загрузить аватар", "uploaded-avatar": "Загруженный аватар", "username": "Имя пользователя", "view-it": "Просмотреть", "warn-list-archived": "Внимание: Данная карточка находится в списке архива", + "watch": "Watch", + "watching": "Watching", + "watching-info": "You will be notified of any change in this board", + "welcome-board": "Welcome Board", + "welcome-list1": "Basics", + "welcome-list2": "Advanced", "what-to-do": "Что вы хотите сделать?" } diff --git a/i18n/sr.i18n.json b/i18n/sr.i18n.json new file mode 100644 index 00000000..e3d4dd0e --- /dev/null +++ b/i18n/sr.i18n.json @@ -0,0 +1,319 @@ +{ + "accept": "Prihvati", + "act-activity-notify": "[Wekan] Activity Notification", + "act-addAttachment": "attached __attachment__ to __card__", + "act-addComment": "commented on __card__: __comment__", + "act-createBoard": "created __board__", + "act-createCard": "added __card__ to __list__", + "act-createList": "added __list__ to __board__", + "act-addBoardMember": "added __member__ to __board__", + "act-archivedBoard": "archived __board__", + "act-archivedCard": "archived __card__", + "act-archivedList": "archived __list__", + "act-importBoard": "imported __board__", + "act-importCard": "imported __card__", + "act-importList": "imported __list__", + "act-joinMember": "added __member__ to __card__", + "act-moveCard": "moved __card__ from __oldList__ to __list__", + "act-removeBoardMember": "removed __member__ from __board__", + "act-restoredCard": "restored __card__ to __board__", + "act-unjoinMember": "removed __member__ from __card__", + "act-withBoardTitle": "[Wekan] __board__", + "act-withCardTitle": "[__board__] __card__", + "actions": "Akcije", + "activities": "Aktivnosti", + "activity": "Aktivnost", + "activity-added": "dodao %s u %s", + "activity-archived": "arhivirao %s", + "activity-attached": "prikačio %s u %s", + "activity-created": "kreirao %s", + "activity-excluded": "izuzmi %s iz %s", + "activity-imported": "uvezao %s u %s iz %s", + "activity-imported-board": "uvezao %s iz %s", + "activity-joined": "spojio %s", + "activity-moved": "premestio %s iz %s u %s", + "activity-on": "na %s", + "activity-removed": "uklonio %s iz %s", + "activity-sent": "poslao %s %s-u", + "activity-unjoined": "rastavio %s", + "add": "Dodaj", + "add-attachment": "Dodaj dokument", + "add-board": "Dodaj novu tablu", + "add-card": "Dodaj karticu", + "add-cover": "Dodaj zaglavlje", + "add-label": "Dodaj natpis", + "add-list": "Dodaj listu", + "add-members": "Dodaj Članove", + "added": "Dodao", + "addMemberPopup-title": "Članovi", + "admin": "Administrator", + "admin-desc": "Može da pregleda i menja kartice, uklanja članove i menja podešavanja table", + "all-boards": "Sve table", + "and-n-other-card": "And __count__ other card", + "and-n-other-card_plural": "And __count__ other cards", + "apply": "Apply", + "app-is-offline": "The application is currently offline, refreshing the page will cause data loss.", + "archive": "Arhiviraj", + "archive-all": "Arhiviraj sve", + "archive-board": "Arhiviraj tablu", + "archive-card": "Arhiviraj karticu", + "archive-list": "Arhiviraj ovu listu", + "archive-selection": "Arhiviraj izabrano", + "archiveBoardPopup-title": "Da arhiviram tablu ?", + "archived-items": "Arhivirane stavke", + "archives": "Arhive", + "assign-member": "Dodeli člana", + "attached": "Prikačeno", + "attachment": "Prikačeni dokument", + "attachment-delete-pop": "Brisanje prikačenog dokumenta je trajno. Ne postoji vraćanje obrisanog.", + "attachmentDeletePopup-title": "Obrisati prikačeni dokument ?", + "attachments": "Prikačeni dokumenti", + "auto-watch": "Automatically watch boards when create it", + "avatar-too-big": "Avatar je prevelik (maksimum je 70Kb)", + "back": "Nazad", + "board-change-color": "Promeni boju", + "board-nb-stars": "%s zvezdice", + "board-not-found": "Tabla nije pronađena", + "board-private-info": "Ova tabla će biti <strong>privatna<strong>.", + "board-public-info": "Ova tabla će biti <strong>javna<strong>.", + "boardChangeColorPopup-title": "Promeni pozadinu table", + "boardChangeTitlePopup-title": "Preimenuj tablu", + "boardChangeVisibilityPopup-title": "Promeni Vidljivost", + "boardChangeWatchPopup-title": "Change Watch", + "boardMenuPopup-title": "Meni table", + "boards": "Table", + "bucket-example": "Na primer \"Lista zadataka\"", + "cancel": "Otkaži", + "card-archived": "Ova kartica je arhivirana", + "card-comments-title": "Ova kartica ima %s komentar.", + "card-delete-notice": "Brisanje je trajno. Izgubićeš sve akcije povezane sa ovom karticom.", + "card-delete-pop": "Sve akcije će biti uklonjene sa liste aktivnosti i kartica neće moći biti ponovo otvorena. Nema vraćanja unazad.", + "card-delete-suggest-archive": "You can archive a card to remove it from the board and preserve the activity.", + "card-due": "Due", + "card-due-on": "Due on", + "card-edit-attachments": "Uredi priloge", + "card-edit-labels": "Uredi natpise", + "card-edit-members": "Uredi članove", + "card-labels-title": "Promeni natpis na kartici.", + "card-members-title": "Dodaj ili ukloni članove table sa kartice.", + "card-start": "Start", + "card-start-on": "Starts on", + "cardAttachmentsPopup-title": "Attach From", + "cardDeletePopup-title": "Delete Card?", + "cardDetailsActionsPopup-title": "Card Actions", + "cardLabelsPopup-title": "Labels", + "cardMembersPopup-title": "Članovi", + "cardMorePopup-title": "More", + "cards": "Cards", + "change": "Change", + "change-avatar": "Change Avatar", + "change-password": "Change Password", + "change-permissions": "Change permissions", + "change-settings": "Change Settings", + "changeAvatarPopup-title": "Change Avatar", + "changeLanguagePopup-title": "Change Language", + "changePasswordPopup-title": "Change Password", + "changePermissionsPopup-title": "Change Permissions", + "changeSettingsPopup-title": "Change Settings", + "click-to-star": "Click to star this board.", + "click-to-unstar": "Click to unstar this board.", + "clipboard" : "Clipboard or drag & drop", + "close": "Close", + "close-board": "Close Board", + "close-board-pop": "You will be able to restore the board by clicking the “Archives” button from the home header.", + "color-black": "black", + "color-blue": "blue", + "color-green": "green", + "color-lime": "lime", + "color-orange": "orange", + "color-pink": "pink", + "color-purple": "purple", + "color-red": "red", + "color-sky": "sky", + "color-yellow": "yellow", + "comment": "Comment", + "comment-placeholder": "Write a comment", + "computer": "Computer", + "create": "Create", + "createBoardPopup-title": "Create Board", + "createLabelPopup-title": "Create Label", + "current": "current", + "date": "Date", + "decline": "Decline", + "default-avatar": "Default avatar", + "delete": "Delete", + "deleteLabelPopup-title": "Delete Label?", + "description": "Description", + "disambiguateMultiLabelPopup-title": "Disambiguate Label Action", + "disambiguateMultiMemberPopup-title": "Disambiguate Member Action", + "discard": "Discard", + "done": "Done", + "download": "Download", + "edit": "Edit", + "edit-avatar": "Change Avatar", + "edit-profile": "Edit Profile", + "editCardStartDatePopup-title": "Change start date", + "editCardDueDatePopup-title": "Change due date", + "editLabelPopup-title": "Change Label", + "editNotificationPopup-title": "Edit Notification", + "editProfilePopup-title": "Edit Profile", + "email": "Email", + "email-enrollAccount-subject": "An account created for you on __siteName__", + "email-enrollAccount-text": "Hello __user__,\n\nTo start using the service, simply click the link below.\n\n__url__\n\nThanks.", + "email-fail": "Sending email failed", + "email-invalid": "Invalid email", + "email-invite": "Invite via Email", + "email-invite-subject": "__inviter__ sent you an invitation", + "email-invite-text": "Dear __user__,\n\n__inviter__ invites you to join board \"__board__\" for collaborations.\n\nPlease follow the link below:\n\n__url__\n\nThanks.", + "email-resetPassword-subject": "Reset your password on __siteName__", + "email-resetPassword-text": "Hello __user__,\n\nTo reset your password, simply click the link below.\n\n__url__\n\nThanks.", + "email-sent": "Email sent", + "email-verifyEmail-subject": "Verify your email address on __siteName__", + "email-verifyEmail-text": "Hello __user__,\n\nTo verify your account email, simply click the link below.\n\n__url__\n\nThanks.", + "error-board-doesNotExist": "This board does not exist", + "error-board-notAdmin": "You need to be admin of this board to do that", + "error-board-notAMember": "You need to be a member of this board to do that", + "error-json-malformed": "Your text is not valid JSON", + "error-json-schema": "Your JSON data does not include the proper information in the correct format", + "error-list-doesNotExist": "This list does not exist", + "error-user-doesNotExist": "This user does not exist", + "error-user-notAllowSelf": "This action on self is not allowed", + "error-user-notCreated": "This user is not created", + "error-username-taken": "This username is already taken", + "export-board": "Export board", + "filter": "Filter", + "filter-cards": "Filter Cards", + "filter-clear": "Clear filter", + "filter-no-label": "No label", + "filter-no-member": "No member", + "filter-on": "Filter is on", + "filter-on-desc": "You are filtering cards on this board. Click here to edit filter.", + "filter-to-selection": "Filter to selection", + "fullname": "Full Name", + "header-logo-title": "Go back to your boards page.", + "hide-system-messages": "Hide system messages", + "home": "Home", + "import": "Import", + "import-board": "import from Trello", + "import-board-title": "Import board from Trello", + "import-board-trello-instruction": "In your Trello board, go to 'Menu', then 'More', 'Print and Export', 'Export JSON', and copy the resulting text", + "import-json-placeholder": "Paste your valid JSON data here", + "import-map-members": "Map members", + "import-members-map": "Your imported board has some members. Please map the members you want to import to Wekan users", + "import-show-user-mapping": "Review members mapping", + "import-user-select": "Pick the Wekan user you want to use as this member", + "importMapMembersAddPopup-title": "Select Wekan member", + "info": "Infos", + "initials": "Initials", + "invalid-date": "Invalid date", + "joined": "joined", + "just-invited": "You are just invited to this board", + "keyboard-shortcuts": "Keyboard shortcuts", + "label-create": "Create a new label", + "label-default": "%s label (default)", + "label-delete-pop": "There is no undo. This will remove this label from all cards and destroy its history.", + "labels": "Labels", + "language": "Language", + "last-admin-desc": "You can’t change roles because there must be at least one admin.", + "leave-board": "Leave Board", + "link-card": "Link to this card", + "list-archive-cards": "Archive all cards in this list", + "list-archive-cards-pop": "This will remove all the cards in this list from the board. To view archived cards and bring them back to the board, click “Menu” > “Archived Items”.", + "list-move-cards": "Move all cards in this list", + "list-select-cards": "Select all cards in this list", + "listActionPopup-title": "List Actions", + "listImportCardPopup-title": "Import a Trello card", + "lists": "Lists", + "log-out": "Log Out", + "log-in": "Log In", + "loginPopup-title": "Log In", + "memberMenuPopup-title": "Member Settings", + "members": "Članovi", + "menu": "Menu", + "move-selection": "Move selection", + "moveCardPopup-title": "Move Card", + "moveCardToBottom-title": "Move to Bottom", + "moveCardToTop-title": "Move to Top", + "moveSelectionPopup-title": "Move selection", + "multi-selection": "Multi-Selection", + "multi-selection-on": "Multi-Selection is on", + "muted": "Muted", + "muted-info": "You will never be notified of any changes in this board", + "my-boards": "My Boards", + "name": "Name", + "no-archived-cards": "No archived cards.", + "no-archived-lists": "No archived lists.", + "no-results": "Nema rezultata", + "normal": "Normalno", + "normal-desc": "Can view and edit cards. Can't change settings.", + "not-accepted-yet": "Invitation not accepted yet", + "notify-participate": "Receive updates to any cards you participate as creater or member", + "notify-watch": "Receive updates to any boards, lists, or cards you’re watching", + "optional": "opciono", + "or": "ili", + "page-maybe-private": "This page may be private. You may be able to view it by <a href='%s'>logging in</a>.", + "page-not-found": "Stranica nije pronađena.", + "password": "Lozinka", + "paste-or-dragdrop": "to paste, or drag & drop image file to it (image only)", + "participating": "Participating", + "preview": "Prikaz", + "previewAttachedImagePopup-title": "Prikaz", + "previewClipboardImagePopup-title": "Prikaz", + "private": "Privatno", + "private-desc": "This board is private. Only people added to the board can view and edit it.", + "profile": "Profil", + "public": "Javno", + "public-desc": "This board is public. It's visible to anyone with the link and will show up in search engines like Google. Only people added to the board can edit.", + "quick-access-description": "Star a board to add a shortcut in this bar.", + "remove-cover": "Remove Cover", + "remove-from-board": "Ukloni iz table", + "remove-label": "Ukloni natpis", + "remove-member": "Ukloni člana", + "remove-member-from-card": "Ukloni iz kartice", + "remove-member-pop": "Remove __name__ (__username__) from __boardTitle__? The member will be removed from all cards on this board. They will receive a notification.", + "removeMemberPopup-title": "Ukloni člana ?", + "rename": "Preimenuj", + "rename-board": "Preimenuj tablu", + "restore": "Oporavi", + "save": "Snimi", + "search": "Pretraga", + "select-color": "Izaberi boju", + "shortcut-assign-self": "Pridruži sebe trenutnoj kartici", + "shortcut-autocomplete-emoji": "Autocomplete emoji", + "shortcut-autocomplete-members": "Sam popuni članove", + "shortcut-clear-filters": "Očisti sve filtere", + "shortcut-close-dialog": "Zatvori dijalog", + "shortcut-filter-my-cards": "Filtriraj kartice", + "shortcut-show-shortcuts": "Prikaži ovu listu prečica", + "shortcut-toggle-filterbar": "Uključi ili isključi bočni meni filtera", + "shortcut-toggle-sidebar": "Uključi ili isključi bočni meni table", + "show-cards-minimum-count": "Show cards count if list contains more than", + "signupPopup-title": "Kreiraj nalog", + "star-board-title": "Klikni da označiš zvezdicom ovu tablu. Pokazaće se na vrhu tvoje liste tabli.", + "starred-boards": "Table sa zvezdicom", + "starred-boards-description": "Table sa zvezdicom se pokazuju na vrhu liste tabli.", + "subscribe": "Pretplati se", + "team": "Tim", + "this-board": "ova tabla", + "this-card": "ova kartica", + "time": "Time", + "title": "Naslov", + "tracking": "Tracking", + "tracking-info": "You will be notified of any changes to those cards you are involved as creator or member.", + "unassign-member": "Unassign member", + "unsaved-description": "Imaš nesnimljen opis.", + "unwatch": "Unwatch", + "upload": "Upload", + "upload-avatar": "Upload an avatar", + "uploaded-avatar": "Uploaded an avatar", + "username": "Korisničko ime", + "view-it": "Pregledaj je", + "warn-list-archived": "upozorenje: ova kartica je u arhiviranoj listi", + "watch": "Watch", + "watching": "Watching", + "watching-info": "You will be notified of any change in this board", + "welcome-board": "Welcome Board", + "welcome-list1": "Basics", + "welcome-list2": "Advanced", + "what-to-do": "Šta želiš da uradiš ?" +} diff --git a/i18n/tr.i18n.json b/i18n/tr.i18n.json index 7df531e7..f5ef82cc 100755..100644 --- a/i18n/tr.i18n.json +++ b/i18n/tr.i18n.json @@ -1,5 +1,25 @@ { "accept": "Accept", + "act-activity-notify": "[Wekan] Activity Notification", + "act-addAttachment": "attached __attachment__ to __card__", + "act-addComment": "commented on __card__: __comment__", + "act-createBoard": "created __board__", + "act-createCard": "added __card__ to __list__", + "act-createList": "added __list__ to __board__", + "act-addBoardMember": "added __member__ to __board__", + "act-archivedBoard": "archived __board__", + "act-archivedCard": "archived __card__", + "act-archivedList": "archived __list__", + "act-importBoard": "imported __board__", + "act-importCard": "imported __card__", + "act-importList": "imported __list__", + "act-joinMember": "added __member__ to __card__", + "act-moveCard": "moved __card__ from __oldList__ to __list__", + "act-removeBoardMember": "removed __member__ from __board__", + "act-restoredCard": "restored __card__ to __board__", + "act-unjoinMember": "removed __member__ from __card__", + "act-withBoardTitle": "[Wekan] __board__", + "act-withCardTitle": "[__board__] __card__", "actions": "İşlemler", "activities": "Aktiviteler", "activity": "Etkinlik", @@ -31,6 +51,8 @@ "all-boards": "All boards", "and-n-other-card": "And __count__ other card", "and-n-other-card_plural": "And __count__ other cards", + "apply": "Apply", + "app-is-offline": "The application is currently offline, refreshing the page will cause data loss.", "archive": "Arşiv", "archive-all": "Tümünü Arşivle", "archive-board": "Archive Board", @@ -46,6 +68,7 @@ "attachment-delete-pop": "Ek dosya silme işlemi kalıcıdır. Geri dönüşü yok", "attachmentDeletePopup-title": "Ek Dosya Silinsin Mi?", "attachments": "Ek Dosyalar", + "auto-watch": "Automatically watch boards when create it", "avatar-too-big": "The avatar is too large (70Kb max)", "back": "Geri", "board-change-color": "Change color", @@ -56,7 +79,7 @@ "boardChangeColorPopup-title": "Change Board Background", "boardChangeTitlePopup-title": "Pano Adı Değiştirme", "boardChangeVisibilityPopup-title": "Görünebilirliği Değiştir", - "boardImportBoardPopup-title": "Import board from Trello", + "boardChangeWatchPopup-title": "Change Watch", "boardMenuPopup-title": "Board Menu", "boards": "Panolar", "bucket-example": "Like “Bucket List” for example", @@ -66,11 +89,15 @@ "card-delete-notice": "Silme işlemi kalıcıdır. Bu kartla ilişkili tüm eylemleri kaybedersiniz.", "card-delete-pop": "All actions will be removed from the activity feed and you won't be able to re-open the card. There is no undo.", "card-delete-suggest-archive": "You can archive a card to remove it from the board and preserve the activity.", + "card-due": "Due", + "card-due-on": "Due on", "card-edit-attachments": "Edit attachments", "card-edit-labels": "Edit labels", "card-edit-members": "Edit members", "card-labels-title": "Change the labels for the card.", "card-members-title": "Add or remove members of the board from the card.", + "card-start": "Start", + "card-start-on": "Starts on", "cardAttachmentsPopup-title": "Attach From", "cardDeletePopup-title": "Kart Silinsin mi?", "cardDetailsActionsPopup-title": "Card Actions", @@ -82,13 +109,15 @@ "change-avatar": "Avatar Değiştir", "change-password": "Parola Değiştir", "change-permissions": "Change permissions", + "change-settings": "Change Settings", "changeAvatarPopup-title": "Avatar Değiştir", "changeLanguagePopup-title": "Dil Değiştir", "changePasswordPopup-title": "Parola Değiştir", "changePermissionsPopup-title": "Yetkileri Değiştirme", + "changeSettingsPopup-title": "Change Settings", "click-to-star": "Bu panoyu yıldızlamak için tıkla.", "click-to-unstar": "Bu panunun yıldızını kaldırmak için tıkla.", - "clipboard": "Clipboard or drag & drop", + "clipboard" : "Clipboard or drag & drop", "close": "Kapat", "close-board": "Close Board", "close-board-pop": "You will be able to restore the board by clicking the “Archives” button from the home header.", @@ -109,6 +138,7 @@ "createBoardPopup-title": "Pano Oluşturma", "createLabelPopup-title": "Etiket Oluşturma", "current": "current", + "date": "Date", "decline": "Decline", "default-avatar": "Default avatar", "delete": "Sil", @@ -122,7 +152,10 @@ "edit": "Düzenle", "edit-avatar": "Avatar Değiştir", "edit-profile": "Profili Düzenle", + "editCardStartDatePopup-title": "Change start date", + "editCardDueDatePopup-title": "Change due date", "editLabelPopup-title": "Etiket Değiştirme", + "editNotificationPopup-title": "Edit Notification", "editProfilePopup-title": "Profili Düzenle", "email": "E-posta", "email-enrollAccount-subject": "An account created for you on __siteName__", @@ -146,27 +179,33 @@ "error-user-doesNotExist": "This user does not exist", "error-user-notAllowSelf": "This action on self is not allowed", "error-user-notCreated": "This user is not created", + "error-username-taken": "This username is already taken", "export-board": "Export board", "filter": "Filter", "filter-cards": "Kartları Süz", "filter-clear": "Clear filter", + "filter-no-label": "No label", + "filter-no-member": "No member", "filter-on": "Filter is on", "filter-on-desc": "Bu panodaki kartları süzüyorsunuz. Süzgeci düzenlemek için tıklayın.", "filter-to-selection": "Filter to selection", "fullname": "Ad Soyad", "header-logo-title": "Panolar sayfanıza geri dön.", + "hide-system-messages": "Hide system messages", "home": "Home", "import": "Import", "import-board": "import from Trello", + "import-board-title": "Import board from Trello", "import-board-trello-instruction": "In your Trello board, go to 'Menu', then 'More', 'Print and Export', 'Export JSON', and copy the resulting text", - "import-card": "Import a Trello card", - "import-card-trello-instruction": "Go to a Trello card, select 'Share and more...' then 'Export JSON' and copy the resulting text", "import-json-placeholder": "Paste your valid JSON data here", + "import-map-members": "Map members", "import-members-map": "Your imported board has some members. Please map the members you want to import to Wekan users", "import-show-user-mapping": "Review members mapping", "import-user-select": "Pick the Wekan user you want to use as this member", + "importMapMembersAddPopup-title": "Select Wekan member", "info": "Infos", "initials": "Initials", + "invalid-date": "Invalid date", "joined": "joined", "just-invited": "You are just invited to this board", "keyboard-shortcuts": "Keyboard shortcuts", @@ -186,17 +225,20 @@ "listImportCardPopup-title": "Import a Trello card", "lists": "Lists", "log-out": "Oturum Kapat", + "log-in": "Log In", "loginPopup-title": "Oturum Aç", - "mapMembersAddPopup-title": "Select Wekan member", - "mapMembersPopup-title": "Map members", "memberMenuPopup-title": "Member Settings", "members": "Üyeler", "menu": "Menü", "move-selection": "Move selection", "moveCardPopup-title": "Move Card", + "moveCardToBottom-title": "Move to Bottom", + "moveCardToTop-title": "Move to Top", "moveSelectionPopup-title": "Move selection", "multi-selection": "Multi-Selection", "multi-selection-on": "Multi-Selection is on", + "muted": "Muted", + "muted-info": "You will never be notified of any changes in this board", "my-boards": "Panolarım", "name": "Adı", "no-archived-cards": "No archived cards.", @@ -205,12 +247,15 @@ "normal": "Normal", "normal-desc": "Kartları görüntüler ve düzenler. Ayarları değiştiremez.", "not-accepted-yet": "Invitation not accepted yet", + "notify-participate": "Receive updates to any cards you participate as creater or member", + "notify-watch": "Receive updates to any boards, lists, or cards you’re watching", "optional": "isteğe bağlı", "or": "or", "page-maybe-private": "Bu sayfa özel olabilir. <a href='%s'>Oturum açarak</a> görülebilir.", "page-not-found": "Sayda bulunamadı.", "password": "Parola", "paste-or-dragdrop": "to paste, or drag & drop image file to it (image only)", + "participating": "Participating", "preview": "Preview", "previewAttachedImagePopup-title": "Preview", "previewClipboardImagePopup-title": "Preview", @@ -243,6 +288,7 @@ "shortcut-show-shortcuts": "Bring up this shortcuts list", "shortcut-toggle-filterbar": "Toggle Filter Sidebar", "shortcut-toggle-sidebar": "Toggle Board Sidebar", + "show-cards-minimum-count": "Show cards count if list contains more than", "signupPopup-title": "Bir Hesap Oluştur", "star-board-title": "Bu panoyu yıldızlamak için tıkla. Pano listesinin en üstünde gösterilir.", "starred-boards": "Yıldızlı Panolar", @@ -251,14 +297,24 @@ "team": "Takım", "this-board": "bu panoyu", "this-card": "bu kart", + "time": "Time", "title": "Başlık", + "tracking": "Tracking", + "tracking-info": "You will be notified of any changes to those cards you are involved as creator or member.", "unassign-member": "Unassign member", "unsaved-description": "You have an unsaved description.", + "unwatch": "Unwatch", "upload": "Upload", "upload-avatar": "Upload an avatar", "uploaded-avatar": "Uploaded an avatar", "username": "Kullanıcı adı", "view-it": "View it", "warn-list-archived": "warning: this card is in an archived list", + "watch": "Watch", + "watching": "Watching", + "watching-info": "You will be notified of any change in this board", + "welcome-board": "Welcome Board", + "welcome-list1": "Basics", + "welcome-list2": "Advanced", "what-to-do": "What do you want to do?" } diff --git a/i18n/zh-CN.i18n.json b/i18n/zh-CN.i18n.json index 2e11edc8..91fd4f6a 100755..100644 --- a/i18n/zh-CN.i18n.json +++ b/i18n/zh-CN.i18n.json @@ -1,21 +1,41 @@ { "accept": "接受", + "act-activity-notify": "[Wekan] 活动通知", + "act-addAttachment": "添加附件 __attachment__ 至卡片 __card__", + "act-addComment": "在 __card__ 发布评论: __comment__", + "act-createBoard": "创建看板 __board__", + "act-createCard": "添加卡片 __card__ 至列表 __list__", + "act-createList": "添加列表 __list__ 至看板 __board__", + "act-addBoardMember": "添加成员 __member__ 至看板 __board__", + "act-archivedBoard": "归档看板 __board__", + "act-archivedCard": "归档卡片 __card__", + "act-archivedList": "归档列表 __list__", + "act-importBoard": "导入看板 __board__", + "act-importCard": "导入卡片 __card__", + "act-importList": "导入列表 __list__", + "act-joinMember": "添加成员 __member__ 至卡片 __card__", + "act-moveCard": "从列表 __oldList__ 移动卡片 __card__ 至列表 __list__", + "act-removeBoardMember": "从看板 __board__ 移除成员 __member__ ", + "act-restoredCard": "恢复卡片 __card__ 至看板 __board__", + "act-unjoinMember": "从卡片 __card__ 移除成员 __member__ ", + "act-withBoardTitle": "[Wekan] 看板 __board__", + "act-withCardTitle": "[看板 __board__] 卡片 __card__", "actions": "操作", "activities": "活动", "activity": "活动", "activity-added": "添加 %s 至 %s", - "activity-archived": "删除 %s", + "activity-archived": "归档 %s", "activity-attached": "添加附件 %s 至 %s", "activity-created": "创建 %s", "activity-excluded": "排除 %s 从 %s", "activity-imported": "导入 %s 至 %s 从 %s 中", "activity-imported-board": "已导入 %s 从 %s 中", - "activity-joined": "关联 %s", + "activity-joined": "已关联 %s", "activity-moved": "将 %s 从 %s 移动到 %s", "activity-on": "在 %s", - "activity-removed": "移除 %s 从 %s 中", + "activity-removed": "从 %s 中移除 %s", "activity-sent": "发送 %s 至 %s", - "activity-unjoined": "解除关联 %s", + "activity-unjoined": "已解除 %s 关联", "add": "添加", "add-attachment": "添加附件", "add-board": "添加新看板", @@ -31,6 +51,8 @@ "all-boards": "全部看板", "and-n-other-card": "和其他 __count__ 个卡片", "and-n-other-card_plural": "和其他 __count__ 个卡片", + "apply": "应用", + "app-is-offline": "处于离线状态,刷新页面将导致数据丢失。", "archive": "归档", "archive-all": "全部归档", "archive-board": "归档看板", @@ -46,6 +68,7 @@ "attachment-delete-pop": "删除附件的操作不可逆。", "attachmentDeletePopup-title": "删除附件?", "attachments": "附件", + "auto-watch": "创建看板时自动关注", "avatar-too-big": "头像太大 (最大 70 Kb)", "back": "返回", "board-change-color": "更改颜色", @@ -56,7 +79,7 @@ "boardChangeColorPopup-title": "修改看板背景", "boardChangeTitlePopup-title": "重命名看板", "boardChangeVisibilityPopup-title": "更改可视级别", - "boardImportBoardPopup-title": "从 Trello 导入看板", + "boardChangeWatchPopup-title": "更改关注状态", "boardMenuPopup-title": "看板菜单", "boards": "看板", "bucket-example": "例如 “目标清单”", @@ -66,11 +89,15 @@ "card-delete-notice": "彻底删除的操作不可恢复,你将会丢失该卡片相关的所有操作记录。", "card-delete-pop": "所有的动作将从活动动态中被移除且您将无法重新打开该卡片。此操作无法撤销。", "card-delete-suggest-archive": "你可以将卡片从看板中归档至回收箱,但保留相关活动。", + "card-due": "到期", + "card-due-on": "期限", "card-edit-attachments": "编辑附件", "card-edit-labels": "编辑标签", "card-edit-members": "编辑成员", "card-labels-title": "更改该卡片上的标签", "card-members-title": "在该卡片中添加或移除看板成员", + "card-start": "开始", + "card-start-on": "始于", "cardAttachmentsPopup-title": "附件来源", "cardDeletePopup-title": "彻底删除卡片?", "cardDetailsActionsPopup-title": "卡片动作", @@ -82,13 +109,15 @@ "change-avatar": "更改头像", "change-password": "更改密码", "change-permissions": "更改权限", + "change-settings": "更改设置", "changeAvatarPopup-title": "更改头像", "changeLanguagePopup-title": "更改语言", "changePasswordPopup-title": "更改密码", "changePermissionsPopup-title": "更改权限", + "changeSettingsPopup-title": "更改设置", "click-to-star": "点此来标记该看板", "click-to-unstar": "点此来去除该看板的标记", - "clipboard": "剪贴板或者拖放文件", + "clipboard" : "剪贴板或者拖放文件", "close": "关闭", "close-board": "关闭看板", "close-board-pop": "您可以通过点击主界面顶部的”回收箱“按钮来还原看板。", @@ -109,6 +138,7 @@ "createBoardPopup-title": "创建看板", "createLabelPopup-title": "创建标签", "current": "当前", + "date": "日期", "decline": "拒绝", "default-avatar": "默认头像", "delete": "删除", @@ -122,7 +152,10 @@ "edit": "编辑", "edit-avatar": "更改头像", "edit-profile": "编辑资料", + "editCardStartDatePopup-title": "更改起始日期", + "editCardDueDatePopup-title": "更改到期日期", "editLabelPopup-title": "更改标签", + "editNotificationPopup-title": "编辑通知", "editProfilePopup-title": "编辑资料", "email": "邮箱", "email-enrollAccount-subject": "已为您在 __siteName__ 创建帐号", @@ -146,27 +179,33 @@ "error-user-doesNotExist": "该用户不存在", "error-user-notAllowSelf": "不允许对自己执行此操作", "error-user-notCreated": "该用户未能成功创建", + "error-username-taken": "此用户名已存在", "export-board": "导出看板", "filter": "过滤", "filter-cards": "过滤卡片", "filter-clear": "清空过滤器", + "filter-no-label": "无标签", + "filter-no-member": "无成员", "filter-on": "过滤器启用", "filter-on-desc": "你正在过滤该看板上的卡片,点此编辑过滤。", "filter-to-selection": "要选择的过滤器", "fullname": "全称", "header-logo-title": "返回您的看板页", + "hide-system-messages": "隐藏系统消息", "home": "首页", "import": "导入", "import-board": "从 Trello 导入", + "import-board-title": "从Trello导入看板", "import-board-trello-instruction": "在你的Trello看板中,点击“菜单”,然后选择“更多”,“打印与导出”,“导出为 JSON” 并拷贝结果文本", - "import-card": "导入 Trello 卡片", - "import-card-trello-instruction": "进入一个 Trello 卡片,选择“分享与更多”,然后选择 “导出为 JSON” 并且拷贝结果文本", "import-json-placeholder": "粘贴您有效的 JSON 数据至此", + "import-map-members": " 映射成员", "import-members-map": "您导入的看板有一些成员。请将您想导入的成员映射到 Wekan 用户。", "import-show-user-mapping": "核对成员映射", "import-user-select": "选择您想将此成员映射到的 Wekan 用户", + "importMapMembersAddPopup-title": "选择Wekan成员", "info": "信息", "initials": "缩写", + "invalid-date": "无效日期", "joined": "关联", "just-invited": "您刚刚被邀请加入此看板", "keyboard-shortcuts": "键盘快捷键", @@ -186,17 +225,20 @@ "listImportCardPopup-title": "导入 Trello 卡片", "lists": "清单", "log-out": "登出", + "log-in": "登录", "loginPopup-title": "登录", - "mapMembersAddPopup-title": "选择 Wekan 成员", - "mapMembersPopup-title": "映射成员", "memberMenuPopup-title": "成员设置", "members": "成员", "menu": "菜单", "move-selection": "移动选择", "moveCardPopup-title": "移动卡片", + "moveCardToBottom-title": "移动至底端", + "moveCardToTop-title": "移动至顶端", "moveSelectionPopup-title": "移动选择", "multi-selection": "多选", "multi-selection-on": "多选启用", + "muted": "静默", + "muted-info": "你将不会收到此看板的任何变更通知", "my-boards": "我的看板", "name": "名称", "no-archived-cards": "没有已归档的卡片", @@ -205,12 +247,15 @@ "normal": "普通", "normal-desc": "可以创建以及编辑卡片,无法更改设置。", "not-accepted-yet": "邀请尚未接受", + "notify-participate": "接收以创建者或成员身份参与的卡片的更新", + "notify-watch": "接收所有关注的面板、列表、及卡片的更新", "optional": "可选", "or": "或", "page-maybe-private": "本页面被设为私有. 您必须 <a href='%s'>登录</a>以浏览其中内容。", "page-not-found": "页面不存在。", "password": "密码", "paste-or-dragdrop": "从剪贴板粘贴,或者拖放文件到它上面 (仅限于图片)", + "participating": "参与", "preview": "预览", "previewAttachedImagePopup-title": "预览", "previewClipboardImagePopup-title": "预览", @@ -235,7 +280,7 @@ "search": "搜索", "select-color": "选择颜色", "shortcut-assign-self": "分配当前卡片给自己", - "shortcut-autocomplete-emojies": "自动补全表情", + "shortcut-autocomplete-emoji": "表情符号自动补全", "shortcut-autocomplete-members": "自动补全成员", "shortcut-clear-filters": "清空全部过滤器", "shortcut-close-dialog": "关闭对话框", @@ -243,6 +288,7 @@ "shortcut-show-shortcuts": "显示此快捷键列表", "shortcut-toggle-filterbar": "切换过滤器边栏", "shortcut-toggle-sidebar": "切换面板边栏", + "show-cards-minimum-count": "当列表中的卡片多于此阈值时将显示数量", "signupPopup-title": " 创建账户", "star-board-title": "点此来标记该看板,它将会出现在您的看板列表顶部。", "starred-boards": "已标记看板", @@ -251,14 +297,24 @@ "team": "团队", "this-board": "该看板", "this-card": "该卡片", + "time": "时间", "title": "标题", + "tracking": "跟踪", + "tracking-info": "当任何包含您(作为创建者或成员)的卡片发生变更时,您将得到通知。", "unassign-member": "取消分配成员", "unsaved-description": "存在未保存的描述", + "unwatch": "取消关注", "upload": "上传", "upload-avatar": "上传头像", "uploaded-avatar": "头像已经上传", "username": "用户名", "view-it": "查看", "warn-list-archived": "警告: 该卡片位于已归档清单中", + "watch": "关注", + "watching": "已关注", + "watching-info": "当此看板发生变更时会通知你", + "welcome-board": "“欢迎”看板", + "welcome-list1": "基本", + "welcome-list2": "高阶", "what-to-do": "要做什么?" } diff --git a/i18n/zh-TW.i18n.json b/i18n/zh-TW.i18n.json index 5ee29ce5..3f5a4dc4 100644 --- a/i18n/zh-TW.i18n.json +++ b/i18n/zh-TW.i18n.json @@ -1,10 +1,30 @@ { "accept": "接受", + "act-activity-notify": "[Wekan] 活動通知", + "act-addAttachment": "新增附件__attachment__至__card__", + "act-addComment": "評論__card__: __comment__", + "act-createBoard": "完成新增 __board__", + "act-createCard": "將__card__加入__list__", + "act-createList": "新增__list__至__board__", + "act-addBoardMember": "在__board__中新增成員__member__", + "act-archivedBoard": "封存__board__", + "act-archivedCard": "封存__card__", + "act-archivedList": "封存__list__", + "act-importBoard": "匯入__board__", + "act-importCard": "匯入__card__", + "act-importList": "匯入__list__", + "act-joinMember": "在__card__中新增成員__member__", + "act-moveCard": "將__card__從__oldList__移動至__list__", + "act-removeBoardMember": "從__board__中移除成員__member__", + "act-restoredCard": "將__card__回復至__board__", + "act-unjoinMember": "從__card__中移除成員__member__", + "act-withBoardTitle": "[Wekan] __board__", + "act-withCardTitle": "[__board__] __card__", "actions": "操作", "activities": "活動", "activity": "活動", "activity-added": "新增 %s 至 %s", - "activity-archived": "刪除 %s", + "activity-archived": "封存 %s", "activity-attached": "新增附件 %s 至 %s", "activity-created": "建立 %s", "activity-excluded": "排除 %s 從 %s", @@ -31,6 +51,8 @@ "all-boards": "全部看板", "and-n-other-card": "和其他 __count__ 個卡片", "and-n-other-card_plural": "和其他 __count__ 個卡片", + "apply": "送出", + "app-is-offline": "目前狀態為離線,若整重將會造成資料遺失", "archive": "刪除", "archive-all": "全部刪除", "archive-board": "刪除看板", @@ -38,14 +60,15 @@ "archive-list": "刪除該清單", "archive-selection": "刪除所選內容", "archiveBoardPopup-title": "確定要刪除看板嗎?", - "archived-items": "回收筒", - "archives": "回收筒", + "archived-items": "封存", + "archives": "封存", "assign-member": "分配成員", "attached": "附加", "attachment": "附件", "attachment-delete-pop": "刪除附件的操作無法還原。", "attachmentDeletePopup-title": "刪除附件?", "attachments": "附件", + "auto-watch": "新增看板時自動加入觀察", "avatar-too-big": "大頭貼太大 (最大 70 Kb)", "back": "返回", "board-change-color": "更改顏色", @@ -56,7 +79,7 @@ "boardChangeColorPopup-title": "修改看板背景", "boardChangeTitlePopup-title": "重新命名看板", "boardChangeVisibilityPopup-title": "更改可視級別", - "boardImportBoardPopup-title": "從 Trello 匯入看板", + "boardChangeWatchPopup-title": "更改觀察", "boardMenuPopup-title": "看板選單", "boards": "看板", "bucket-example": "例如 “目標清單”", @@ -66,11 +89,15 @@ "card-delete-notice": "徹底刪除的操作不可復原,你將會遺失該卡片相關的所有操作記錄。", "card-delete-pop": "所有的動作將從活動動態中被移除且您將無法重新打開該卡片。此操作無法復原。", "card-delete-suggest-archive": "你可以將卡片從看板中刪除至回收筒,但保留相關活動。", + "card-due": "到期", + "card-due-on": "到期", "card-edit-attachments": "編輯附件", "card-edit-labels": "編輯標籤", "card-edit-members": "編輯成員", "card-labels-title": "更改該卡片上的標籤", "card-members-title": "在該卡片中新增或移除看板成員", + "card-start": "開始", + "card-start-on": "開始", "cardAttachmentsPopup-title": "附件來源", "cardDeletePopup-title": "徹底刪除卡片?", "cardDetailsActionsPopup-title": "卡片動作", @@ -82,13 +109,15 @@ "change-avatar": "更改大頭貼", "change-password": "更改密碼", "change-permissions": "更改許可權", + "change-settings": "更改設定", "changeAvatarPopup-title": "更改大頭貼", "changeLanguagePopup-title": "更改語言", "changePasswordPopup-title": "更改密碼", - "changePermissionsPopup-title": "更改權限", + "changePermissionsPopup-title": "更改許可權", + "changeSettingsPopup-title": "更改設定", "click-to-star": "點此來標記該看板", "click-to-unstar": "點此來去除該看板的標記", - "clipboard": "剪貼簿貼上或者拖曳檔案", + "clipboard" : "剪貼簿貼上或者拖曳檔案", "close": "關閉", "close-board": "關閉看板", "close-board-pop": "您可以透過點選主介面上方的”回收筒“按鈕來還原看板。", @@ -109,6 +138,7 @@ "createBoardPopup-title": "建立看板", "createLabelPopup-title": "建立標籤", "current": "目前", + "date": "日期", "decline": "拒絕", "default-avatar": "預設大頭貼", "delete": "刪除", @@ -122,7 +152,10 @@ "edit": "編輯", "edit-avatar": "更改大頭貼", "edit-profile": "編輯資料", + "editCardStartDatePopup-title": "更改開始日期", + "editCardDueDatePopup-title": "更改到期日期", "editLabelPopup-title": "更改標籤", + "editNotificationPopup-title": "更改通知", "editProfilePopup-title": "編輯資料", "email": "電子郵件", "email-enrollAccount-subject": "您在 __siteName__ 的帳號已經建立", @@ -146,27 +179,33 @@ "error-user-doesNotExist": "該使用者不存在", "error-user-notAllowSelf": "不允許對自己執行此操作", "error-user-notCreated": "該使用者未能成功建立", + "error-username-taken": "這個使用者名稱已被使用", "export-board": "Export board", "filter": "過濾", "filter-cards": "過濾卡片", "filter-clear": "清空過濾條件", + "filter-no-label": "沒有標籤", + "filter-no-member": "沒有成員", "filter-on": "過濾條件啟用", "filter-on-desc": "你正在過濾該看板上的卡片,點此編輯過濾條件。", "filter-to-selection": "要選擇的過濾條件", "fullname": "全稱", "header-logo-title": "返回您的看板頁面", + "hide-system-messages": "隱藏系統訊息", "home": "首頁", "import": "匯入", - "import-board": "從 Trello 匯入", + "import-board": "匯入 Trello 資料", + "import-board-title": "匯入在 Trello 的看板", "import-board-trello-instruction": "在你的Trello看板中,點選“功能表”,然後選擇“更多”,“列印與匯出”,“匯出為 JSON” 並拷貝結果文本", - "import-card": "匯入 Trello 卡片", - "import-card-trello-instruction": "進入一個 Trello 卡片,選擇“分享與更多”,然後選擇 “匯出為 JSON” 並且拷貝結果文本", "import-json-placeholder": "貼上您有效的 JSON 資料至此", + "import-map-members": "複製成員", "import-members-map": "您匯入的看板有一些成員。請將您想匯入的成員映射到 Wekan 使用者。", "import-show-user-mapping": "核對成員映射", "import-user-select": "選擇您想將此成員映射到的 Wekan 使用者", + "importMapMembersAddPopup-title": "選擇 Wekan 成員", "info": "資訊", "initials": "縮寫", + "invalid-date": "無效的日期", "joined": "關聯", "just-invited": "您剛剛被邀請加入此看板", "keyboard-shortcuts": "鍵盤快速鍵", @@ -186,17 +225,20 @@ "listImportCardPopup-title": "匯入 Trello 卡片", "lists": "清單", "log-out": "登出", + "log-in": "登入", "loginPopup-title": "登入", - "mapMembersAddPopup-title": "選擇 Wekan 成員", - "mapMembersPopup-title": "映射成員", "memberMenuPopup-title": "成員更改", "members": "成員", "menu": "選單", "move-selection": "移動被選擇的項目", "moveCardPopup-title": "移動卡片", - "moveSelectionPopup-title": "Move selection", + "moveCardToBottom-title": "移至最下面", + "moveCardToTop-title": "移至最上面", + "moveSelectionPopup-title": "移動選取的項目", "multi-selection": "多選", "multi-selection-on": "多選啟用", + "muted": "靜音", + "muted-info": "您將不會收到有關這個看板的任何訊息", "my-boards": "我的看板", "name": "名稱", "no-archived-cards": "沒有已刪除的卡片", @@ -205,12 +247,15 @@ "normal": "普通", "normal-desc": "可以建立以及編輯卡片,無法更改。", "not-accepted-yet": "邀請尚未接受", + "notify-participate": "接收與你有關的卡片更新", + "notify-watch": "接收您關注的看板、清單或卡片的更新", "optional": "選擇性的", "or": "或", "page-maybe-private": "本頁面被設為私有. 您必須 <a href='%s'>登入</a>以瀏覽其中內容。", "page-not-found": "頁面不存在。", "password": "密碼", "paste-or-dragdrop": "從剪貼簿貼上,或者拖曳檔案到它上面 (僅限於圖片)", + "participating": "參與", "preview": "預覽", "previewAttachedImagePopup-title": "預覽", "previewClipboardImagePopup-title": "預覽", @@ -235,7 +280,7 @@ "search": "搜尋", "select-color": "選擇顏色", "shortcut-assign-self": "分配目前卡片給自己", - "shortcut-autocomplete-emojies": "自動完成 emojis", + "shortcut-autocomplete-emoji": "自動完成表情符號", "shortcut-autocomplete-members": "自動補齊成員", "shortcut-clear-filters": "清空全部過濾條件", "shortcut-close-dialog": "關閉對話方塊", @@ -243,6 +288,7 @@ "shortcut-show-shortcuts": "顯示此快速鍵清單", "shortcut-toggle-filterbar": "切換過濾程式邊欄", "shortcut-toggle-sidebar": "切換面板邊欄", + "show-cards-minimum-count": "顯示卡片數量,當內容超過數量", "signupPopup-title": "建立帳戶", "star-board-title": "點此標記該看板,它將會出現在您的看板列表上方。", "starred-boards": "已標記看板", @@ -251,14 +297,24 @@ "team": "團隊", "this-board": "這個看板", "this-card": "這個卡片", + "time": "時間", "title": "標題", + "tracking": "追蹤", + "tracking-info": "你將會收到與你有關的卡片的所有變更通知", "unassign-member": "取消分配成員", "unsaved-description": "未儲存的描述", + "unwatch": "取消觀察", "upload": "上傳", "upload-avatar": "上傳大頭貼", "uploaded-avatar": "大頭貼已經上傳", "username": "使用者名稱", "view-it": "檢視", "warn-list-archived": "警告: 該卡片位於已刪除的清單中", + "watch": "觀察", + "watching": "觀察中", + "watching-info": "你將會收到關於這個看板所有的變更通知", + "welcome-board": "歡迎進入看板", + "welcome-list1": "基本", + "welcome-list2": "進階", "what-to-do": "要做什麼?" } diff --git a/meta/dwrensha-pgp-sig b/meta/dwrensha-pgp-sig Binary files differnew file mode 100644 index 00000000..0ee50fa4 --- /dev/null +++ b/meta/dwrensha-pgp-sig diff --git a/meta/keyring b/meta/keyring Binary files differindex e34b146d..b4d58533 100644 --- a/meta/keyring +++ b/meta/keyring diff --git a/models/cardComments.js b/models/cardComments.js index ce6edf3c..070c148e 100644 --- a/models/cardComments.js +++ b/models/cardComments.js @@ -57,6 +57,12 @@ CardComments.helpers({ CardComments.hookOptions.after.update = { fetchPrevious: false }; if (Meteor.isServer) { + // Comments are often fetched within a card, so we create an index to make these + // queries more efficient. + Meteor.startup(() => { + CardComments._collection._ensureIndex({ cardId: 1, createdAt: -1 }); + }); + CardComments.after.insert((userId, doc) => { Activities.insert({ userId, diff --git a/models/cards.js b/models/cards.js index 84fbb6c2..9e7d58c8 100644 --- a/models/cards.js +++ b/models/cards.js @@ -56,6 +56,14 @@ Cards.attachSchema(new SimpleSchema({ type: [String], optional: true, }, + startAt: { + type: Date, + optional: true, + }, + dueAt: { + type: Date, + optional: true, + }, // XXX Should probably be called `authorId`. Is it even needed since we have // the `members` field? userId: { @@ -207,6 +215,22 @@ Cards.mutations({ unsetCover() { return { $unset: { coverId: '' }}; }, + + setStart(startAt) { + return { $set: { startAt }}; + }, + + unsetStart() { + return { $unset: { startAt: '' }}; + }, + + setDue(dueAt) { + return { $set: { dueAt }}; + }, + + unsetDue() { + return { $unset: { dueAt: '' }}; + }, }); if (Meteor.isServer) { diff --git a/models/users.js b/models/users.js index 790ee0a1..58513231 100644 --- a/models/users.js +++ b/models/users.js @@ -1,3 +1,7 @@ +// Sandstorm context is detected using the METEOR_SETTINGS environment variable +// in the package definition. +const isSandstorm = Meteor.settings && Meteor.settings.public && + Meteor.settings.public.sandstorm; Users = Meteor.users; Users.attachSchema(new SimpleSchema({ @@ -55,6 +59,10 @@ Users.attachSchema(new SimpleSchema({ type: String, optional: true, }, + 'profile.hiddenSystemMessages': { + type: Boolean, + optional: true, + }, 'profile.initials': { type: String, optional: true, @@ -71,6 +79,10 @@ Users.attachSchema(new SimpleSchema({ type: [String], optional: true, }, + 'profile.showCardsCountAt': { + type: Number, + optional: true, + }, 'profile.starredBoards': { type: [String], optional: true, @@ -147,6 +159,11 @@ Users.helpers({ return _.contains(notifications, activityId); }, + hasHiddenSystemMessages() { + const profile = this.profile || {}; + return profile.hiddenSystemMessages || false; + }, + getEmailBuffer() { const {emailBuffer = []} = this.profile; return emailBuffer; @@ -167,6 +184,11 @@ Users.helpers({ } }, + getLimitToShowCardsCount() { + const profile = this.profile || {}; + return profile.showCardsCountAt; + }, + getName() { const profile = this.profile || {}; return profile.fullname || this.username; @@ -227,6 +249,14 @@ Users.mutations({ this.addTag(tag); }, + toggleSystem(value = false) { + return { + $set: { + 'profile.hiddenSystemMessages': !value, + }, + }; + }, + addNotification(activityId) { return { $addToSet: { @@ -262,6 +292,10 @@ Users.mutations({ setAvatarUrl(avatarUrl) { return { $set: { 'profile.avatarUrl': avatarUrl }}; }, + + setShowCardsCountAt(limit) { + return { $set: { 'profile.showCardsCountAt': limit } }; + }, }); Meteor.methods({ @@ -274,6 +308,14 @@ Meteor.methods({ Users.update(this.userId, {$set: { username }}); } }, + toggleSystemMessages() { + const user = Meteor.user(); + user.toggleSystem(user.hasHiddenSystemMessages()); + }, + changeLimitToShowCardsCount(limit) { + check(limit, Number); + Meteor.user().setShowCardsCountAt(limit); + }, }); if (Meteor.isServer) { @@ -394,24 +436,26 @@ if (Meteor.isServer) { return fakeUserId.get() || getUserId(); }; - Users.after.insert((userId, doc) => { - const fakeUser = { - extendAutoValueContext: { - userId: doc._id, - }, - }; - - fakeUserId.withValue(doc._id, () => { - // Insert the Welcome Board - Boards.insert({ - title: TAPi18n.__('welcome-board'), - permission: 'private', - }, fakeUser, (err, boardId) => { - - ['welcome-list1', 'welcome-list2'].forEach((title) => { - Lists.insert({ title: TAPi18n.__(title), boardId }, fakeUser); + if (!isSandstorm) { + Users.after.insert((userId, doc) => { + const fakeUser = { + extendAutoValueContext: { + userId: doc._id, + }, + }; + + fakeUserId.withValue(doc._id, () => { + // Insert the Welcome Board + Boards.insert({ + title: TAPi18n.__('welcome-board'), + permission: 'private', + }, fakeUser, (err, boardId) => { + + ['welcome-list1', 'welcome-list2'].forEach((title) => { + Lists.insert({ title: TAPi18n.__(title), boardId }, fakeUser); + }); }); }); }); - }); + } } diff --git a/package.json b/package.json index 0a69681f..795f0e5d 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "wekan", - "version": "0.10.1", + "version": "0.11.0", "description": "The open-source Trello-like kanban", "private": true, "scripts": { diff --git a/sandstorm-pkgdef.capnp b/sandstorm-pkgdef.capnp index d9e7da3d..b70b3be6 100644 --- a/sandstorm-pkgdef.capnp +++ b/sandstorm-pkgdef.capnp @@ -22,10 +22,10 @@ const pkgdef :Spk.PackageDefinition = ( appTitle = (defaultText = "Wekan"), # The name of the app as it is displayed to the user. - appVersion = 12, + appVersion = 17, # Increment this for every release. - appMarketingVersion = (defaultText = "0.11.0-rc2"), + appMarketingVersion = (defaultText = "0.11.0~2016-11-28"), # Human-readable presentation of the app version. minUpgradableAppVersion = 0, @@ -58,13 +58,14 @@ const pkgdef :Spk.PackageDefinition = ( ), website = "https://wekan.io", - codeUrl = "https://github.com/wekan/wekan", + codeUrl = "https://github.com/wefork/wekan", license = (openSource = mit), categories = [productivity, office], author = ( - contactEmail = "mquandalle@wekan.io", - pgpSignature = embed "meta/mquandalle-pgp-sig", + upstreamAuthor = "Maxime Quandalle", + contactEmail = "david@sandstorm.io", + pgpSignature = embed "meta/dwrensha-pgp-sig", ), pgpKeyring = embed "meta/keyring", @@ -173,8 +174,48 @@ const pkgdef :Spk.PackageDefinition = ( # # XXX Administrators configuration options aren’t implemented yet, so this # role is currently useless. - )] - ) + )], + + eventTypes = [( + name = "addBoardMember", + verbPhrase = (defaultText = "added to board"), + ), ( + name = "createList", + verbPhrase = (defaultText = "created new list"), + ), ( + name = "archivedList", + verbPhrase = (defaultText = "archived list"), + ), ( + name = "restoredList", + verbPhrase = (defaultText = "restored list"), + ), ( + name = "createCard", + verbPhrase = (defaultText = "created new card"), + ), ( + name = "moveCard", + verbPhrase = (defaultText = "moved card"), + ), ( + name = "archivedCard", + verbPhrase = (defaultText = "archived card"), + ), ( + name = "restoredCard", + verbPhrase = (defaultText = "restored card"), + ), ( + name = "addComment", + verbPhrase = (defaultText = "added comment"), + ), ( + name = "addAttachement", + verbPhrase = (defaultText = "added attachment"), + ), ( + name = "joinMember", + verbPhrase = (defaultText = "added to card"), + ), ( + name = "unjoinMember", + verbPhrase = (defaultText = "removed from card"), + ), ], + ), + + saveIdentityCaps = true, ), ); @@ -184,6 +225,7 @@ const myCommand :Spk.Manifest.Command = ( environ = [ # Note that this defines the *entire* environment seen by your app. (key = "PATH", value = "/usr/local/bin:/usr/bin:/bin"), + (key = "SANDSTORM", value = "1"), (key = "METEOR_SETTINGS", value = "{\"public\": {\"sandstorm\": true}}") ] ); diff --git a/sandstorm.js b/sandstorm.js index e7a67f76..3e04d79f 100644 --- a/sandstorm.js +++ b/sandstorm.js @@ -21,6 +21,187 @@ const sandstormBoard = { }; if (isSandstorm && Meteor.isServer) { + const fs = require('fs'); + const Capnp = require('capnp'); + const Package = Capnp.importSystem('sandstorm/package.capnp'); + const Powerbox = Capnp.importSystem('sandstorm/powerbox.capnp'); + const Identity = Capnp.importSystem('sandstorm/identity.capnp'); + const SandstormHttpBridge = + Capnp.importSystem('sandstorm/sandstorm-http-bridge.capnp').SandstormHttpBridge; + + let httpBridge = null; + let capnpConnection = null; + + const bridgeConfig = Capnp.parse( + Package.BridgeConfig, + fs.readFileSync('/sandstorm-http-bridge-config')); + + function getHttpBridge() { + if (!httpBridge) { + capnpConnection = Capnp.connect('unix:/tmp/sandstorm-api'); + httpBridge = capnpConnection.restore(null, SandstormHttpBridge); + } + return httpBridge; + } + + Meteor.methods({ + sandstormClaimIdentityRequest(token, descriptor) { + check(token, String); + check(descriptor, String); + + const parsedDescriptor = Capnp.parse( + Powerbox.PowerboxDescriptor, + new Buffer(descriptor, 'base64'), + { packed: true }); + + const tag = Capnp.parse(Identity.Identity.PowerboxTag, parsedDescriptor.tags[0].value); + const permissions = []; + if (tag.permissions[1]) { + permissions.push('configure'); + } + + if (tag.permissions[0]) { + permissions.push('participate'); + } + + const sessionId = this.connection.sandstormSessionId(); + const httpBridge = getHttpBridge(); + const session = httpBridge.getSessionContext(sessionId).context; + const api = httpBridge.getSandstormApi(sessionId).api; + + Meteor.wrapAsync((done) => { + session.claimRequest(token).then((response) => { + const identity = response.cap.castAs(Identity.Identity); + const promises = [api.getIdentityId(identity), identity.getProfile(), + httpBridge.saveIdentity(identity)]; + return Promise.all(promises).then((responses) => { + const identityId = responses[0].id.toString('hex').slice(0, 32); + const profile = responses[1].profile; + return profile.picture.getUrl().then((response) => { + const sandstormInfo = { + id: identityId, + name: profile.displayName.defaultText, + permissions, + picture: `${response.protocol}://${response.hostPath}`, + preferredHandle: profile.preferredHandle, + pronouns: profile.pronouns, + }; + + const login = Accounts.updateOrCreateUserFromExternalService( + 'sandstorm', sandstormInfo, + { profile: { name: sandstormInfo.name } }); + + updateUserPermissions(login.userId, permissions); + done(); + }); + }); + }).catch((e) => { + done(e, null); + }); + })(); + }, + }); + + function reportActivity(sessionId, path, type, users, caption) { + const httpBridge = getHttpBridge(); + const session = httpBridge.getSessionContext(sessionId).context; + Meteor.wrapAsync((done) => { + return Promise.all(users.map((user) => { + return httpBridge.getSavedIdentity(user.id).then((response) => { + // Call getProfile() to make sure that the identity successfully resolves. + // (In C++ we would instead call whenResolved() here.) + const identity = response.identity; + return identity.getProfile().then(() => { + return { identity, + mentioned: !!user.mentioned, + subscribed: !!user.subscribed, + }; + }); + }).catch(() => { + // Ignore identities that fail to restore. Either they were added before we set + // `saveIdentityCaps` to true, or they have lost access to the board. + }); + })).then((maybeUsers) => { + const users = maybeUsers.filter((u) => !!u); + const event = { path, type, users }; + if (caption) { + event.notification = { caption }; + } + + return session.activity(event); + }).then(() => done(), + (e) => done(e)); + })(); + } + + Meteor.startup(() => { + Activities.after.insert((userId, doc) => { + // HACK: We need the connection that's making the request in order to read the + // Sandstorm session ID. + const invocation = DDP._CurrentInvocation.get(); // eslint-disable-line no-undef + if (invocation) { + const sessionId = invocation.connection.sandstormSessionId(); + + const eventTypes = bridgeConfig.viewInfo.eventTypes; + + const defIdx = eventTypes.findIndex((def) => def.name === doc.activityType ); + if (defIdx >= 0) { + const users = {}; + function ensureUserListed(userId) { + if (!users[userId]) { + const user = Meteor.users.findOne(userId); + if (user) { + users[userId] = { id: user.services.sandstorm.id }; + } else { + return false; + } + } + return true; + } + + function mentionedUser(userId) { + if (ensureUserListed(userId)) { + users[userId].mentioned = true; + } + } + + function subscribedUser(userId) { + if (ensureUserListed(userId)) { + users[userId].subscribed = true; + } + } + + let path = ''; + let caption = null; + + if (doc.cardId) { + path = `b/sandstorm/libreboard/${doc.cardId}`; + Cards.findOne(doc.cardId).members.map(subscribedUser); + } + + if (doc.memberId) { + mentionedUser(doc.memberId); + } + + if (doc.activityType === 'addComment') { + const comment = CardComments.findOne(doc.commentId); + caption = { defaultText: comment.text }; + const activeMembers = + _.pluck(Boards.findOne(sandstormBoard._id).activeMembers(), 'userId'); + (comment.text.match(/\B@(\w*)/g) || []).forEach((username) => { + const user = Meteor.users.findOne({ username: username.slice(1)}); + if (user && activeMembers.indexOf(user._id) !== -1) { + mentionedUser(user._id); + } + }); + } + + reportActivity(sessionId, path, defIdx, _.values(users), caption); + } + } + }); + }); + function updateUserPermissions(userId, permissions) { const isActive = permissions.indexOf('participate') > -1; const isAdmin = permissions.indexOf('configure') > -1; @@ -58,29 +239,6 @@ if (isSandstorm && Meteor.isServer) { Location: base + boardPath, }); res.end(); - - // `accounts-sandstorm` populate the Users collection when new users - // accesses the document, but in case a already known user comes back, we - // need to update his associated document to match the request HTTP headers - // informations. - // XXX We need to update this document even if the initial route is not `/`. - // Unfortuanlty I wasn't able to make the Webapp.rawConnectHandlers solution - // work. - const user = Users.findOne({ - 'services.sandstorm.id': req.headers['x-sandstorm-user-id'], - }); - if (user) { - // XXX At this point the user.services.sandstorm credentials haven't been - // updated, which mean that the user will have to restart the application - // a second time to see its updated name and avatar. - Users.update(user._id, { - $set: { - 'profile.fullname': user.services.sandstorm.name, - 'profile.avatarUrl': user.services.sandstorm.picture, - }, - }); - updateUserPermissions(user._id, user.services.sandstorm.permissions); - } }); // On the first launch of the instance a user is automatically created thanks @@ -126,6 +284,29 @@ if (isSandstorm && Meteor.isServer) { updateUserPermissions(doc._id, doc.services.sandstorm.permissions); }); + Meteor.startup(() => { + Users.find().observeChanges({ + changed(userId, fields) { + const sandstormData = (fields.services || {}).sandstorm || {}; + if (sandstormData.name) { + Users.update(userId, { + $set: { 'profile.fullname': sandstormData.name }, + }); + } + + if (sandstormData.picture) { + Users.update(userId, { + $set: { 'profile.avatarUrl': sandstormData.picture }, + }); + } + + if (sandstormData.permissions) { + updateUserPermissions(userId, sandstormData.permissions); + } + }, + }); + }); + // Wekan v0.8 didn’t implement the Sandstorm sharing model and instead kept // the visibility setting (“public” or “private”) in the UI as does the main // Meteor application. We need to enforce “public” visibility as the sharing @@ -137,6 +318,77 @@ if (isSandstorm && Meteor.isServer) { } if (isSandstorm && Meteor.isClient) { + let rpcCounter = 0; + const rpcs = {}; + + window.addEventListener('message', (event) => { + if (event.source === window) { + // Meteor likes to postmessage itself. + return; + } + + if ((event.source !== window.parent) || + typeof event.data !== 'object' || + typeof event.data.rpcId !== 'number') { + throw new Error(`got unexpected postMessage: ${event}`); + } + + const handler = rpcs[event.data.rpcId]; + if (!handler) { + throw new Error(`no such rpc ID for event ${event}`); + } + + delete rpcs[event.data.rpcId]; + handler(event.data); + }); + + function sendRpc(name, message) { + const id = rpcCounter++; + message.rpcId = id; + const obj = {}; + obj[name] = message; + window.parent.postMessage(obj, '*'); + return new Promise((resolve, reject) => { + rpcs[id] = (response) => { + if (response.error) { + reject(new Error(response.error)); + } else { + resolve(response); + } + }; + }); + } + + const powerboxDescriptors = { + identity: 'EAhQAQEAABEBF1EEAQH_GN1RqXqYhMAAQAERAREBAQ', + // Generated using the following code: + // + // Capnp.serializePacked( + // Powerbox.PowerboxDescriptor, + // { tags: [ { + // id: "13872380404802116888", + // value: Capnp.serialize(Identity.PowerboxTag, { permissions: [true, false] }) + // }]}).toString('base64') + // .replace(/\//g, "_") + // .replace(/\+/g, "-"); + }; + + function doRequest(serializedPowerboxDescriptor, onSuccess) { + return sendRpc('powerboxRequest', { + query: [serializedPowerboxDescriptor], + }).then((response) => { + if (!response.canceled) { + onSuccess(response); + } + }); + } + + window.sandstormRequestIdentity = function () { + doRequest(powerboxDescriptors.identity, (response) => { + Meteor.call('sandstormClaimIdentityRequest', response.token, response.descriptor); + }); + }; + // Since the Sandstorm grain is displayed in an iframe of the Sandstorm shell, // we need to explicitly expose meta data like the page title or the URL path // so that they could appear in the browser window. @@ -176,6 +428,13 @@ if (isSandstorm && Meteor.isClient) { return url.replace(/^https?:\/\/127\.0\.0\.1:[0-9]{2,5}/, ''); }; Meteor.absoluteUrl.defaultOptions = _defaultOptions; + + // XXX Hack to fix https://github.com/wefork/wekan/issues/27 + // Sandstorm Wekan instances only ever have a single board, so there is no need + // to cache per-board subscriptions. + SubsManager.prototype.subscribe = function(...params) { + return Meteor.subscribe(...params); + }; } // We use this blaze helper in the UI to hide some templates that does not make diff --git a/server/publications/activities.js b/server/publications/activities.js index 38c61ebf..14459bf8 100644 --- a/server/publications/activities.js +++ b/server/publications/activities.js @@ -3,16 +3,16 @@ // 2. The card activity tab // We use this publication to paginate for these two publications. -Meteor.publish('activities', (kind, id, limit) => { +Meteor.publish('activities', (kind, id, limit, hideSystem) => { check(kind, Match.Where((x) => { return ['board', 'card'].indexOf(x) !== -1; })); check(id, String); check(limit, Number); + check(hideSystem, Boolean); - return Activities.find({ - [`${kind}Id`]: id, - }, { + const selector = (hideSystem) ? {$and: [{activityType: 'addComment'}, {[`${kind}Id`]: id}]} : {[`${kind}Id`]: id}; + return Activities.find(selector, { limit, sort: {createdAt: -1}, }); diff --git a/server/publications/boards.js b/server/publications/boards.js index cd3ef238..89681978 100644 --- a/server/publications/boards.js +++ b/server/publications/boards.js @@ -60,6 +60,7 @@ Meteor.publish('archivedBoards', function() { Meteor.publishRelations('board', function(boardId) { check(boardId, String); + const thisUserId = this.userId; this.cursor(Boards.find({ _id: boardId, @@ -99,20 +100,25 @@ Meteor.publishRelations('board', function(boardId) { this.cursor(Attachments.find({ cardId })); }); - // Board members. This publication also includes former board members that - // aren't members anymore but may have some activities attached to them in - // the history. - // - this.cursor(Users.find({ - _id: { $in: _.pluck(board.members, 'userId') }, - }, { fields: { - 'username': 1, - 'profile.fullname': 1, - 'profile.avatarUrl': 1, - }}), function(userId) { - // Presence indicators - this.cursor(presences.find({ userId })); - }); + if (board.members) { + // Board members. This publication also includes former board members that + // aren't members anymore but may have some activities attached to them in + // the history. + const memberIds = _.pluck(board.members, 'userId'); + + // We omit the current user because the client should already have that data, + // and sending it triggers a subtle bug: + // https://github.com/wefork/wekan/issues/15 + this.cursor(Users.find({ + _id: { $in: _.without(memberIds, thisUserId)}, + }, { fields: { + 'username': 1, + 'profile.fullname': 1, + 'profile.avatarUrl': 1, + }})); + + this.cursor(presences.find({ userId: { $in: memberIds } })); + } }); return this.ready(); |