Browse Source

merge wefork

Béranger Campardou 8 years ago
parent
commit
f7f5f4a35d
58 changed files with 3756 additions and 543 deletions
  1. 1 0
      .meteor/packages
  2. 1 0
      .meteor/versions
  3. 3 3
      .tx/config
  4. 32 4
      CHANGELOG.md
  5. 71 16
      README.md
  6. 3 1
      client/components/activities/activities.js
  7. 20 0
      client/components/cards/cardDate.jade
  8. 228 0
      client/components/cards/cardDate.js
  9. 58 0
      client/components/cards/cardDate.styl
  10. 13 0
      client/components/cards/cardDetails.jade
  11. 5 0
      client/components/cards/cardDetails.js
  12. 6 1
      client/components/cards/cardDetails.styl
  13. 6 0
      client/components/cards/minicard.jade
  14. 4 1
      client/components/cards/minicard.styl
  15. 4 0
      client/components/lists/listHeader.jade
  16. 8 0
      client/components/lists/listHeader.js
  17. 5 0
      client/components/main/layouts.styl
  18. 6 3
      client/components/sidebar/sidebar.jade
  19. 3 0
      client/components/sidebar/sidebar.js
  20. 1 0
      client/components/sidebar/sidebar.styl
  21. 12 0
      client/components/sidebar/sidebarFilters.jade
  22. 20 4
      client/components/users/userHeader.jade
  23. 35 4
      client/components/users/userHeader.js
  24. 23 2
      client/lib/filter.js
  25. 14 15
      client/lib/i18n.js
  26. 62 6
      i18n/ar.i18n.json
  27. 319 0
      i18n/br.i18n.json
  28. 62 6
      i18n/ca.i18n.json
  29. 63 7
      i18n/cs.i18n.json
  30. 157 101
      i18n/de.i18n.json
  31. 17 0
      i18n/en.i18n.json
  32. 63 7
      i18n/es-ES.i18n.json
  33. 62 6
      i18n/es.i18n.json
  34. 319 0
      i18n/fa.i18n.json
  35. 75 19
      i18n/fi.i18n.json
  36. 63 7
      i18n/fr.i18n.json
  37. 64 8
      i18n/he.i18n.json
  38. 240 184
      i18n/it.i18n.json
  39. 62 6
      i18n/ja.i18n.json
  40. 63 7
      i18n/ko.i18n.json
  41. 63 7
      i18n/pl.i18n.json
  42. 63 7
      i18n/pt-BR.i18n.json
  43. 319 0
      i18n/ro.i18n.json
  44. 74 15
      i18n/ru.i18n.json
  45. 319 0
      i18n/sr.i18n.json
  46. 62 6
      i18n/tr.i18n.json
  47. 67 11
      i18n/zh-CN.i18n.json
  48. 69 13
      i18n/zh-TW.i18n.json
  49. BIN
      meta/dwrensha-pgp-sig
  50. BIN
      meta/keyring
  51. 6 0
      models/cardComments.js
  52. 24 0
      models/cards.js
  53. 61 17
      models/users.js
  54. 1 1
      package.json
  55. 49 7
      sandstorm-pkgdef.capnp
  56. 282 23
      sandstorm.js
  57. 4 4
      server/publications/activities.js
  58. 20 14
      server/publications/boards.js

+ 1 - 0
.meteor/packages

@@ -75,3 +75,4 @@ seriousm:emoji-continued
 templates:tabs
 verron:autosize
 simple:json-routes
+rajit:bootstrap3-datepicker

+ 1 - 0
.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

+ 3 - 3
.tx/config

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

+ 32 - 4
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

+ 71 - 16
README.md

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

+ 3 - 1
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

+ 20 - 0
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}}

+ 228 - 0
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');

+ 58 - 0
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

+ 13 - 0
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'}}

+ 5 - 0
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();

+ 6 - 1
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
 

+ 6 - 0
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

+ 4 - 1
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

+ 4 - 0
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

+ 8 - 0
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'),

+ 5 - 0
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

+ 6 - 3
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

+ 3 - 0
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);

+ 1 - 0
client/components/sidebar/sidebar.styl

@@ -51,6 +51,7 @@
 
         .member, .card-label
           margin-right: 7px
+          margin-top: 5px
 
         .sidebar-list-item-description
           flex: 1

+ 12 - 0
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}}")

+ 20 - 4
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'}}")

+ 35 - 4
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();
+    }
+  },
+});

+ 23 - 2
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) {

+ 14 - 15
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);
+    }
+  });
 });

+ 62 - 6
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": "ماذا تريد أن تنجز?"
 }

+ 319 - 0
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?"
+}

+ 62 - 6
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?"
 }

+ 63 - 7
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?"
 }

+ 157 - 101
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?"
 }

+ 17 - 0
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.",

+ 63 - 7
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?"
 }

+ 62 - 6
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?"
 }

+ 319 - 0
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": "چه کاری می خواهید انجام دهید؟"
+}

+ 75 - 19
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ä?"
 }

+ 63 - 7
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 ?"
 }

+ 64 - 8
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": "מה תרצה לעשות?"
 }

+ 240 - 184
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?"
 }

+ 62 - 6
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?"
 }

+ 63 - 7
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": "무엇을 원하나요?"
 }

+ 63 - 7
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ć?"
 }

+ 63 - 7
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?"
 }

+ 319 - 0
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?"
+}

+ 74 - 15
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": "Что вы хотите сделать?"
 }

+ 319 - 0
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š ?"
+}

+ 62 - 6
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?"
 }

+ 67 - 11
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": "要做什么?"
 }

+ 69 - 13
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": "要做什麼?"
 }

BIN
meta/dwrensha-pgp-sig


BIN
meta/keyring


+ 6 - 0
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,

+ 24 - 0
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) {

+ 61 - 17
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);
+          });
         });
       });
     });
-  });
+  }
 }

+ 1 - 1
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": {

+ 49 - 7
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}}")
   ]
 );

+ 282 - 23
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

+ 4 - 4
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},
   });

+ 20 - 14
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();