Merge branch 'devel'

This commit is contained in:
Lauri Ojansivu 2017-12-12 14:32:37 +02:00
commit 047e22571e
45 changed files with 831 additions and 358 deletions

View file

@ -15,3 +15,4 @@ notices-for-facebook-graph-api-2
1.4.0-remove-old-dev-bundle-link
1.4.1-add-shell-server-package
1.4.3-split-account-service-packages
1.5-add-dynamic-import-package

View file

@ -80,3 +80,4 @@ simple:rest-accounts-password
useraccounts:core
email@1.2.3
horka:swipebox
mixmax:smart-disconnect

View file

@ -92,6 +92,7 @@ minifier-css@1.2.16
minifier-js@2.0.0
minifiers@1.1.8-faster-rebuild.0
minimongo@1.0.21
mixmax:smart-disconnect@0.0.4
mobile-status-bar@1.0.14
modules@0.8.2
modules-runtime@0.7.10

View file

@ -39,7 +39,7 @@ 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 = en_GB:en-GB, es_AR:es-AR, el_GR:el, fa_IR:fa, fi_FI:fi, hu_HU:hu, id_ID:id, no:nb, pt_BR:pt-BR, ro_RO:ro, zh_CN:zh-CN, zh_TW:zh-TW
lang_map = en_GB:en-GB, es_AR:es-AR, el_GR:el, fa_IR:fa, fi_FI:fi, hu_HU:hu, id_ID:id, no:nb, lv_LV:lv, pt_BR:pt-BR, ro_RO:ro, zh_CN:zh-CN, zh_TW:zh-TW
[wekan.application]
file_filter = i18n/<lang>.i18n.json

View file

@ -1,3 +1,27 @@
# v0.61 2017-12-12 Wekan release
This release adds the following new features:
* [Change password of any user in Standalone Wekan Admin Panel](https://github.com/wekan/wekan/pull/1372);
* [Performance optimization: Move more global subscriptions to template subscription](https://github.com/wekan/wekan/pull/1373);
* [Auto update card cover with latest uploaded image attachment](https://github.com/wekan/wekan/pull/1387);
* [Always display attachment section for uploading file quickly](https://github.com/wekan/wekan/pull/1391);
* [Make it easier to see the Add Card button at top of list](https://github.com/wekan/wekan/pull/1392);
* [Add mixmax:smart-disconnect to lower CPU usage when browser tab is not selected](https://github.com/wekan/wekan-mongodb/issues/2);
* Update tranlations. Add Latvian language;
* Update to Node 4.8.4 and MongoDB 3.2.18.
and fixes the following bugs:
* [Bug on not being able to see Admin Panel if not having access to Board List](https://github.com/wekan/wekan/pull/1371);
* [Bug on not able to see member avatar on sidebar activity](https://github.com/wekan/wekan/pull/1380);
* [Don't open swipebox on update card cover / download file / delete file](https://github.com/wekan/wekan/pull/1386);
* [Boards subscription should be placed at header for all other component can be used](https://github.com/wekan/wekan/pull/1381);
* [Bug on long url of attachment in card activity log](https://github.com/wekan/wekan/pull/1388).
Thanks to GitHub users mfshiu, thuanpq and xet7 for their contributions.
Thanks to translators for their translations.
# v0.60 2017-11-29 Wekan release
This release adds the following new features:

View file

@ -15,7 +15,7 @@ ARG SRC_PATH
# paxctl fix for alpine linux: https://github.com/wekan/wekan/issues/1303
ENV BUILD_DEPS="wget curl bzip2 build-essential python git ca-certificates gcc-4.9 paxctl"
ENV GOSU_VERSION=1.10
ENV NODE_VERSION ${NODE_VERSION:-v4.8.4}
ENV NODE_VERSION ${NODE_VERSION:-v4.8.6}
ENV METEOR_RELEASE ${METEOR_RELEASE:-1.4.4.1}
ENV USE_EDGE ${USE_EDGE:-false}
ENV METEOR_EDGE ${METEOR_EDGE:-1.5-beta.17}

View file

@ -17,10 +17,14 @@
height: @width
.activity-desc
word-wrap: break-word
overflow: hidden
flex: 1
align-self: center
margin: 0
margin-left: 3px
overflow: hidden;
word-break: break-word;
.activity-comment
display: block

View file

@ -2,10 +2,7 @@ const subManager = new SubsManager();
BlazeComponent.extendComponent({
onCreated() {
// Here is the only place that boards data needed, all boards data will stop sync when leaving this template.
Meteor.subscribe('boards');
Meteor.subscribe('setting');
Meteor.subscribe('user-admin');
},
boards() {

View file

@ -21,8 +21,8 @@ template(name="attachmentDeletePopup")
template(name="attachmentsGalery")
.attachments-galery
each attachments
a.attachment-item.swipebox(href="{{url}}" title="{{name}}")
.attachment-thumbnail
.attachment-item
a.attachment-thumbnail.swipebox(href="{{url}}" title="{{name}}")
if isUploaded
if isImage
img.attachment-thumbnail-img(src="{{url}}")

View file

@ -60,7 +60,13 @@ Template.cardAttachmentsPopup.events({
file.boardId = card.boardId;
file.cardId = card._id;
file.userId = Meteor.userId();
Attachments.insert(file);
const attachment = Attachments.insert(file);
if (attachment && attachment._id && attachment.isImage()) {
card.setCover(attachment._id);
}
Popup.close();
});
},

View file

@ -85,13 +85,12 @@ template(name="cardDetails")
hr
+checklists(cardId = _id)
if attachments.count
hr
h2
i.fa.fa-paperclip
| {{_ 'attachments'}}
hr
h2
i.fa.fa-paperclip
| {{_ 'attachments'}}
+attachmentsGalery
+attachmentsGalery
hr
.activity-title

View file

@ -23,6 +23,8 @@ BlazeComponent.extendComponent({
this.parentComponent().showOverlay.set(true);
this.parentComponent().mouseHasEnterCardDetails = false;
this.calculateNextPeak();
Meteor.subscribe('unsaved-edits');
},
isWatching() {

View file

@ -181,8 +181,8 @@ BlazeComponent.extendComponent({
Template.checklistDeleteDialog.onCreated(() => {
const $cardDetails = this.$('.card-details');
this.scrollState = { position: $cardDetails.scrollTop(), //save current scroll position
top: false, //required for smooth scroll animation
};
top: false, //required for smooth scroll animation
};
//Callback's purpose is to only prevent scrolling after animation is complete
$cardDetails.animate({ scrollTop: 0 }, 500, () => { this.scrollState.top = true; });

View file

@ -81,6 +81,7 @@
.list-header-plus-icon
color: #a6a6a6
margin-right: 10px
.highlight
color: #ce1414

View file

@ -6,7 +6,7 @@ Template.editor.onRendered(() => {
$textarea.escapeableTextComplete([
// Emoji
{
match: /\B:([\-+\w]*)$/,
match: /\B:([-+\w]*)$/,
search(term, callback) {
callback(Emoji.values.map((emoji) => {
return emoji.includes(term) ? emoji : null;

View file

@ -1,3 +1,6 @@
Meteor.subscribe('user-admin');
Meteor.subscribe('boards');
Template.header.helpers({
wrappedHeader() {
return !Session.get('currentBoard');

View file

@ -67,9 +67,6 @@ template(name="editUserPopup")
span.error.hide.username-taken
| {{_ 'error-username-taken'}}
input.js-profile-username(type="text" value=user.username)
label
| {{_ 'initials'}}
input.js-profile-initials(type="text" value=user.profile.initials)
label
| {{_ 'email'}}
span.error.hide.email-taken
@ -85,5 +82,9 @@ template(name="editUserPopup")
select.select-active.js-profile-isactive
option(value="false") {{_ 'yes'}}
option(value="true" selected="{{user.loginDisabled}}") {{_ 'no'}}
hr
label
| {{_ 'password'}}
input.js-profile-password(type="password")
input.primary.wide(type="submit" value="{{_ 'save'}}")

View file

@ -87,24 +87,26 @@ Template.editUserPopup.events({
const user = Users.findOne(this.userId);
const fullname = tpl.find('.js-profile-fullname').value.trim();
const username = tpl.find('.js-profile-username').value.trim();
const initials = tpl.find('.js-profile-initials').value.trim();
const password = tpl.find('.js-profile-password').value;
const isAdmin = tpl.find('.js-profile-isadmin').value.trim();
const isActive = tpl.find('.js-profile-isactive').value.trim();
const email = tpl.find('.js-profile-email').value.trim();
let isChangeUserName = false;
let isChangeEmail = false;
const isChangePassword = password.length > 0;
const isChangeUserName = username !== user.username;
const isChangeEmail = email.toLowerCase() !== user.emails[0].address.toLowerCase();
Users.update(this.userId, {
$set: {
'profile.fullname': fullname,
'profile.initials': initials,
'isAdmin': isAdmin === 'true',
'loginDisabled': isActive === 'true',
},
});
isChangeUserName = username !== user.username;
isChangeEmail = email.toLowerCase() !== user.emails[0].address.toLowerCase();
if(isChangePassword){
Meteor.call('setPassword', password, this.userId);
}
if (isChangeUserName && isChangeEmail) {
Meteor.call('setUsernameAndEmail', username, email.toLowerCase(), this.userId, function (error) {

View file

@ -1,8 +1,3 @@
Meteor.subscribe('setting');
Meteor.subscribe('mailServer');
Meteor.subscribe('accountSettings');
Meteor.subscribe('announcements');
BlazeComponent.extendComponent({
onCreated() {
this.error = new ReactiveVar('');
@ -11,6 +6,11 @@ BlazeComponent.extendComponent({
this.emailSetting = new ReactiveVar(false);
this.accountSetting = new ReactiveVar(false);
this.announcementSetting = new ReactiveVar(false);
Meteor.subscribe('setting');
Meteor.subscribe('mailServer');
Meteor.subscribe('accountSettings');
Meteor.subscribe('announcements');
},
setError(error) {
@ -116,7 +116,7 @@ BlazeComponent.extendComponent({
const from = this.checkField('#mail-server-from');
const tls = $('#mail-server-tls.is-checked').length > 0;
Settings.update(Settings.findOne()._id, {$set:{'mailServer.host':host, 'mailServer.port': port, 'mailServer.username': username,
'mailServer.password': password, 'mailServer.enableTLS': tls, 'mailServer.from': from}});
'mailServer.password': password, 'mailServer.enableTLS': tls, 'mailServer.from': from}});
} catch (e) {
return;
} finally {

View file

@ -1,5 +1,3 @@
Meteor.subscribe('my-avatars');
Template.userAvatar.helpers({
userData() {
// We need to handle a special case for the search results provided by the
@ -54,6 +52,8 @@ Template.userAvatarInitials.helpers({
BlazeComponent.extendComponent({
onCreated() {
this.error = new ReactiveVar('');
Meteor.subscribe('my-avatars');
},
avatarUrlOptions() {

View file

@ -35,10 +35,12 @@ Template.editProfilePopup.events({
const email = tpl.find('.js-profile-email').value.trim();
let isChangeUserName = false;
let isChangeEmail = false;
Users.update(Meteor.userId(), {$set: {
'profile.fullname': fullname,
'profile.initials': initials,
}});
Users.update(Meteor.userId(), {
$set: {
'profile.fullname': fullname,
'profile.initials': initials,
},
});
isChangeUserName = username !== Meteor.user().username;
isChangeEmail = email.toLowerCase() !== Meteor.user().emails[0].address.toLowerCase();
if (isChangeUserName && isChangeEmail) {

View file

@ -1,152 +1,152 @@
Emoji.values = ['+1', '-1', '100', '1234', '8ball', 'a', 'ab', 'abc', 'abcd',
'accept', 'aerial_tramway', 'airplane', 'alarm_clock', 'alien', 'ambulance',
'anchor', 'angel', 'anger', 'angry', 'anguished', 'ant', 'apple', 'aquarius',
'aries', 'arrow_backward', 'arrow_double_down', 'arrow_double_up', 'arrow_down',
'arrow_down_small', 'arrow_forward', 'arrow_heading_down', 'arrow_heading_up',
'arrow_left', 'arrow_lower_left', 'arrow_lower_right', 'arrow_right',
'arrow_right_hook', 'arrow_up', 'arrow_up_down', 'arrow_up_small',
'arrow_upper_left', 'arrow_upper_right', 'arrows_clockwise',
'arrows_counterclockwise', 'art', 'articulated_lorry', 'astonished', 'atm', 'b',
'baby', 'baby_bottle', 'baby_chick', 'baby_symbol', 'baggage_claim', 'balloon',
'ballot_box_with_check', 'bamboo', 'banana', 'bangbang', 'bank', 'bar_chart',
'barber', 'baseball', 'basketball', 'bath', 'bathtub', 'battery', 'bear', 'bee',
'beer', 'beers', 'beetle', 'beginner', 'bell', 'bento', 'bicyclist', 'bike',
'bikini', 'bird', 'birthday', 'black_circle', 'black_joker', 'black_nib',
'black_square', 'black_square_button', 'blossom', 'blowfish', 'blue_book',
'blue_car', 'blue_heart', 'blush', 'boar', 'boat', 'bomb', 'book', 'bookmark',
'bookmark_tabs', 'books', 'boom', 'boot', 'bouquet', 'bow', 'bowling', 'bowtie',
'boy', 'bread', 'bride_with_veil', 'bridge_at_night', 'briefcase',
'broken_heart', 'bug', 'bulb', 'bullettrain_front', 'bullettrain_side', 'bus',
'busstop', 'bust_in_silhouette', 'busts_in_silhouette', 'cactus', 'cake',
'calendar', 'calling', 'camel', 'camera', 'cancer', 'candy', 'capital_abcd',
'capricorn', 'car', 'card_index', 'carousel_horse', 'cat', 'cat2', 'cd',
'chart', 'chart_with_downwards_trend', 'chart_with_upwards_trend',
'checkered_flag', 'cherries', 'cherry_blossom', 'chestnut', 'chicken',
'children_crossing', 'chocolate_bar', 'christmas_tree', 'church', 'cinema',
'circus_tent', 'city_sunrise', 'city_sunset', 'cl', 'clap', 'clapper',
'clipboard', 'clock1', 'clock10', 'clock1030', 'clock11', 'clock1130',
'clock12', 'clock1230', 'clock130', 'clock2', 'clock230', 'clock3', 'clock330',
'clock4', 'clock430', 'clock5', 'clock530', 'clock6', 'clock630', 'clock7',
'clock730', 'clock8', 'clock830', 'clock9', 'clock930', 'closed_book',
'closed_lock_with_key', 'closed_umbrella', 'cloud', 'clubs', 'cn', 'cocktail',
'coffee', 'cold_sweat', 'collision', 'computer', 'confetti_ball', 'confounded',
'confused', 'congratulations', 'construction', 'construction_worker',
'convenience_store', 'cookie', 'cool', 'cop', 'copyright', 'corn', 'couple',
'couple_with_heart', 'couplekiss', 'cow', 'cow2', 'credit_card', 'crocodile',
'crossed_flags', 'crown', 'cry', 'crying_cat_face', 'crystal_ball', 'cupid',
'curly_loop', 'currency_exchange', 'curry', 'custard', 'customs', 'cyclone',
'dancer', 'dancers', 'dango', 'dart', 'dash', 'date', 'de', 'deciduous_tree',
'department_store', 'diamond_shape_with_a_dot_inside', 'diamonds',
'disappointed', 'disappointed_relieved', 'dizzy', 'dizzy_face', 'do_not_litter',
'dog', 'dog2', 'dollar', 'dolls', 'dolphin', 'donut', 'door', 'doughnut',
'dragon', 'dragon_face', 'dress', 'dromedary_camel', 'droplet', 'dvd', 'e-mail',
'ear', 'ear_of_rice', 'earth_africa', 'earth_americas', 'earth_asia', 'egg',
'eggplant', 'eight', 'eight_pointed_black_star', 'eight_spoked_asterisk',
'electric_plug', 'elephant', 'email', 'end', 'envelope', 'es', 'euro',
'european_castle', 'european_post_office', 'evergreen_tree', 'exclamation',
'expressionless', 'eyeglasses', 'eyes', 'facepunch', 'factory', 'fallen_leaf',
'family', 'fast_forward', 'fax', 'fearful', 'feelsgood', 'feet', 'ferris_wheel',
'file_folder', 'finnadie', 'fire', 'fire_engine', 'fireworks',
'first_quarter_moon', 'first_quarter_moon_with_face', 'fish', 'fish_cake',
'fishing_pole_and_fish', 'fist', 'five', 'flags', 'flashlight', 'floppy_disk',
'flower_playing_cards', 'flushed', 'foggy', 'football', 'fork_and_knife',
'fountain', 'four', 'four_leaf_clover', 'fr', 'free', 'fried_shrimp', 'fries',
'frog', 'frowning', 'fu', 'fuelpump', 'full_moon', 'full_moon_with_face',
'game_die', 'gb', 'gem', 'gemini', 'ghost', 'gift', 'gift_heart', 'girl',
'globe_with_meridians', 'goat', 'goberserk', 'godmode', 'golf', 'grapes',
'green_apple', 'green_book', 'green_heart', 'grey_exclamation', 'grey_question',
'grimacing', 'grin', 'grinning', 'guardsman', 'guitar', 'gun', 'haircut',
'hamburger', 'hammer', 'hamster', 'hand', 'handbag', 'hankey', 'hash',
'hatched_chick', 'hatching_chick', 'headphones', 'hear_no_evil', 'heart',
'heart_decoration', 'heart_eyes', 'heart_eyes_cat', 'heartbeat', 'heartpulse',
'hearts', 'heavy_check_mark', 'heavy_division_sign', 'heavy_dollar_sign',
'heavy_exclamation_mark', 'heavy_minus_sign', 'heavy_multiplication_x',
'heavy_plus_sign', 'helicopter', 'herb', 'hibiscus', 'high_brightness',
'high_heel', 'hocho', 'honey_pot', 'honeybee', 'horse', 'horse_racing',
'hospital', 'hotel', 'hotsprings', 'hourglass', 'hourglass_flowing_sand',
'house', 'house_with_garden', 'hurtrealbad', 'hushed', 'ice_cream', 'icecream',
'id', 'ideograph_advantage', 'imp', 'inbox_tray', 'incoming_envelope',
'information_desk_person', 'information_source', 'innocent', 'interrobang',
'iphone', 'it', 'izakaya_lantern', 'jack_o_lantern', 'japan', 'japanese_castle',
'japanese_goblin', 'japanese_ogre', 'jeans', 'joy', 'joy_cat', 'jp', 'key',
'keycap_ten', 'kimono', 'kiss', 'kissing', 'kissing_cat', 'kissing_closed_eyes',
'kissing_face', 'kissing_heart', 'kissing_smiling_eyes', 'koala', 'koko', 'kr',
'large_blue_circle', 'large_blue_diamond', 'large_orange_diamond',
'last_quarter_moon', 'last_quarter_moon_with_face', 'laughing', 'leaves',
'ledger', 'left_luggage', 'left_right_arrow', 'leftwards_arrow_with_hook',
'lemon', 'leo', 'leopard', 'libra', 'light_rail', 'link', 'lips', 'lipstick',
'lock', 'lock_with_ink_pen', 'lollipop', 'loop', 'loudspeaker', 'love_hotel',
'love_letter', 'low_brightness', 'm', 'mag', 'mag_right', 'mahjong', 'mailbox',
'mailbox_closed', 'mailbox_with_mail', 'mailbox_with_no_mail', 'man',
'man_with_gua_pi_mao', 'man_with_turban', 'mans_shoe', 'maple_leaf', 'mask',
'massage', 'meat_on_bone', 'mega', 'melon', 'memo', 'mens', 'metal', 'metro',
'microphone', 'microscope', 'milky_way', 'minibus', 'minidisc',
'mobile_phone_off', 'money_with_wings', 'moneybag', 'monkey', 'monkey_face',
'monorail', 'moon', 'mortar_board', 'mount_fuji', 'mountain_bicyclist',
'mountain_cableway', 'mountain_railway', 'mouse', 'mouse2', 'movie_camera',
'moyai', 'muscle', 'mushroom', 'musical_keyboard', 'musical_note',
'musical_score', 'mute', 'nail_care', 'name_badge', 'neckbeard', 'necktie',
'negative_squared_cross_mark', 'neutral_face', 'new', 'new_moon',
'new_moon_with_face', 'newspaper', 'ng', 'nine', 'no_bell', 'no_bicycles',
'no_entry', 'no_entry_sign', 'no_good', 'no_mobile_phones', 'no_mouth',
'no_pedestrians', 'no_smoking', 'non-potable_water', 'nose', 'notebook',
'notebook_with_decorative_cover', 'notes', 'nut_and_bolt', 'o', 'o2', 'ocean',
'octocat', 'octopus', 'oden', 'office', 'ok', 'ok_hand', 'ok_woman',
'older_man', 'older_woman', 'on', 'oncoming_automobile', 'oncoming_bus',
'oncoming_police_car', 'oncoming_taxi', 'one', 'open_file_folder', 'open_hands',
'open_mouth', 'ophiuchus', 'orange_book', 'outbox_tray', 'ox', 'page_facing_up',
'page_with_curl', 'pager', 'palm_tree', 'panda_face', 'paperclip', 'parking',
'part_alternation_mark', 'partly_sunny', 'passport_control', 'paw_prints',
'peach', 'pear', 'pencil', 'pencil2', 'penguin', 'pensive', 'performing_arts',
'persevere', 'person_frowning', 'person_with_blond_hair',
'person_with_pouting_face', 'phone', 'pig', 'pig2', 'pig_nose', 'pill',
'pineapple', 'pisces', 'pizza', 'plus1', 'point_down', 'point_left',
'point_right', 'point_up', 'point_up_2', 'police_car', 'poodle', 'poop',
'post_office', 'postal_horn', 'postbox', 'potable_water', 'pouch',
'poultry_leg', 'pound', 'pouting_cat', 'pray', 'princess', 'punch',
'purple_heart', 'purse', 'pushpin', 'put_litter_in_its_place', 'question',
'rabbit', 'rabbit2', 'racehorse', 'radio', 'radio_button', 'rage', 'rage1',
'rage2', 'rage3', 'rage4', 'railway_car', 'rainbow', 'raised_hand',
'raised_hands', 'raising_hand', 'ram', 'ramen', 'rat', 'recycle', 'red_car',
'red_circle', 'registered', 'relaxed', 'relieved', 'repeat', 'repeat_one',
'restroom', 'revolving_hearts', 'rewind', 'ribbon', 'rice', 'rice_ball',
'rice_cracker', 'rice_scene', 'ring', 'rocket', 'roller_coaster', 'rooster',
'rose', 'rotating_light', 'round_pushpin', 'rowboat', 'ru', 'rugby_football',
'runner', 'running', 'running_shirt_with_sash', 'sa', 'sagittarius', 'sailboat',
'sake', 'sandal', 'santa', 'satellite', 'satisfied', 'saxophone', 'school',
'school_satchel', 'scissors', 'scorpius', 'scream', 'scream_cat', 'scroll',
'seat', 'secret', 'see_no_evil', 'seedling', 'seven', 'shaved_ice', 'sheep',
'shell', 'ship', 'shipit', 'shirt', 'shit', 'shoe', 'shower', 'signal_strength',
'six', 'six_pointed_star', 'ski', 'skull', 'sleeping', 'sleepy', 'slot_machine',
'small_blue_diamond', 'small_orange_diamond', 'small_red_triangle',
'small_red_triangle_down', 'smile', 'smile_cat', 'smiley', 'smiley_cat',
'smiling_imp', 'smirk', 'smirk_cat', 'smoking', 'snail', 'snake', 'snowboarder',
'snowflake', 'snowman', 'sob', 'soccer', 'soon', 'sos', 'sound',
'space_invader', 'spades', 'spaghetti', 'sparkler', 'sparkles',
'sparkling_heart', 'speak_no_evil', 'speaker', 'speech_balloon', 'speedboat',
'squirrel', 'star', 'star2', 'stars', 'station', 'statue_of_liberty',
'steam_locomotive', 'stew', 'straight_ruler', 'strawberry', 'stuck_out_tongue',
'stuck_out_tongue_closed_eyes', 'stuck_out_tongue_winking_eye', 'sun_with_face',
'sunflower', 'sunglasses', 'sunny', 'sunrise', 'sunrise_over_mountains',
'surfer', 'sushi', 'suspect', 'suspension_railway', 'sweat', 'sweat_drops',
'sweat_smile', 'sweet_potato', 'swimmer', 'symbols', 'syringe', 'tada',
'tanabata_tree', 'tangerine', 'taurus', 'taxi', 'tea', 'telephone',
'telephone_receiver', 'telescope', 'tennis', 'tent', 'thought_balloon', 'three',
'thumbsdown', 'thumbsup', 'ticket', 'tiger', 'tiger2', 'tired_face', 'tm',
'toilet', 'tokyo_tower', 'tomato', 'tongue', 'top', 'tophat', 'tractor',
'traffic_light', 'train', 'train2', 'tram', 'triangular_flag_on_post',
'triangular_ruler', 'trident', 'triumph', 'trolleybus', 'trollface', 'trophy',
'tropical_drink', 'tropical_fish', 'truck', 'trumpet', 'tshirt', 'tulip',
'turtle', 'tv', 'twisted_rightwards_arrows', 'two', 'two_hearts',
'two_men_holding_hands', 'two_women_holding_hands', 'u5272', 'u5408', 'u55b6',
'u6307', 'u6708', 'u6709', 'u6e80', 'u7121', 'u7533', 'u7981', 'u7a7a', 'uk',
'umbrella', 'unamused', 'underage', 'unlock', 'up', 'us', 'v',
'vertical_traffic_light', 'vhs', 'vibration_mode', 'video_camera', 'video_game',
'violin', 'virgo', 'volcano', 'vs', 'walking', 'waning_crescent_moon',
'waning_gibbous_moon', 'warning', 'watch', 'water_buffalo', 'watermelon',
'wave', 'wavy_dash', 'waxing_crescent_moon', 'waxing_gibbous_moon', 'wc',
'weary', 'wedding', 'whale', 'whale2', 'wheelchair', 'white_check_mark',
'white_circle', 'white_flower', 'white_square', 'white_square_button',
'wind_chime', 'wine_glass', 'wink', 'wolf', 'woman', 'womans_clothes',
'womans_hat', 'womens', 'worried', 'wrench', 'x', 'yellow_heart', 'yen', 'yum',
'zap', 'zero', 'zzz'];
'accept', 'aerial_tramway', 'airplane', 'alarm_clock', 'alien', 'ambulance',
'anchor', 'angel', 'anger', 'angry', 'anguished', 'ant', 'apple', 'aquarius',
'aries', 'arrow_backward', 'arrow_double_down', 'arrow_double_up', 'arrow_down',
'arrow_down_small', 'arrow_forward', 'arrow_heading_down', 'arrow_heading_up',
'arrow_left', 'arrow_lower_left', 'arrow_lower_right', 'arrow_right',
'arrow_right_hook', 'arrow_up', 'arrow_up_down', 'arrow_up_small',
'arrow_upper_left', 'arrow_upper_right', 'arrows_clockwise',
'arrows_counterclockwise', 'art', 'articulated_lorry', 'astonished', 'atm', 'b',
'baby', 'baby_bottle', 'baby_chick', 'baby_symbol', 'baggage_claim', 'balloon',
'ballot_box_with_check', 'bamboo', 'banana', 'bangbang', 'bank', 'bar_chart',
'barber', 'baseball', 'basketball', 'bath', 'bathtub', 'battery', 'bear', 'bee',
'beer', 'beers', 'beetle', 'beginner', 'bell', 'bento', 'bicyclist', 'bike',
'bikini', 'bird', 'birthday', 'black_circle', 'black_joker', 'black_nib',
'black_square', 'black_square_button', 'blossom', 'blowfish', 'blue_book',
'blue_car', 'blue_heart', 'blush', 'boar', 'boat', 'bomb', 'book', 'bookmark',
'bookmark_tabs', 'books', 'boom', 'boot', 'bouquet', 'bow', 'bowling', 'bowtie',
'boy', 'bread', 'bride_with_veil', 'bridge_at_night', 'briefcase',
'broken_heart', 'bug', 'bulb', 'bullettrain_front', 'bullettrain_side', 'bus',
'busstop', 'bust_in_silhouette', 'busts_in_silhouette', 'cactus', 'cake',
'calendar', 'calling', 'camel', 'camera', 'cancer', 'candy', 'capital_abcd',
'capricorn', 'car', 'card_index', 'carousel_horse', 'cat', 'cat2', 'cd',
'chart', 'chart_with_downwards_trend', 'chart_with_upwards_trend',
'checkered_flag', 'cherries', 'cherry_blossom', 'chestnut', 'chicken',
'children_crossing', 'chocolate_bar', 'christmas_tree', 'church', 'cinema',
'circus_tent', 'city_sunrise', 'city_sunset', 'cl', 'clap', 'clapper',
'clipboard', 'clock1', 'clock10', 'clock1030', 'clock11', 'clock1130',
'clock12', 'clock1230', 'clock130', 'clock2', 'clock230', 'clock3', 'clock330',
'clock4', 'clock430', 'clock5', 'clock530', 'clock6', 'clock630', 'clock7',
'clock730', 'clock8', 'clock830', 'clock9', 'clock930', 'closed_book',
'closed_lock_with_key', 'closed_umbrella', 'cloud', 'clubs', 'cn', 'cocktail',
'coffee', 'cold_sweat', 'collision', 'computer', 'confetti_ball', 'confounded',
'confused', 'congratulations', 'construction', 'construction_worker',
'convenience_store', 'cookie', 'cool', 'cop', 'copyright', 'corn', 'couple',
'couple_with_heart', 'couplekiss', 'cow', 'cow2', 'credit_card', 'crocodile',
'crossed_flags', 'crown', 'cry', 'crying_cat_face', 'crystal_ball', 'cupid',
'curly_loop', 'currency_exchange', 'curry', 'custard', 'customs', 'cyclone',
'dancer', 'dancers', 'dango', 'dart', 'dash', 'date', 'de', 'deciduous_tree',
'department_store', 'diamond_shape_with_a_dot_inside', 'diamonds',
'disappointed', 'disappointed_relieved', 'dizzy', 'dizzy_face', 'do_not_litter',
'dog', 'dog2', 'dollar', 'dolls', 'dolphin', 'donut', 'door', 'doughnut',
'dragon', 'dragon_face', 'dress', 'dromedary_camel', 'droplet', 'dvd', 'e-mail',
'ear', 'ear_of_rice', 'earth_africa', 'earth_americas', 'earth_asia', 'egg',
'eggplant', 'eight', 'eight_pointed_black_star', 'eight_spoked_asterisk',
'electric_plug', 'elephant', 'email', 'end', 'envelope', 'es', 'euro',
'european_castle', 'european_post_office', 'evergreen_tree', 'exclamation',
'expressionless', 'eyeglasses', 'eyes', 'facepunch', 'factory', 'fallen_leaf',
'family', 'fast_forward', 'fax', 'fearful', 'feelsgood', 'feet', 'ferris_wheel',
'file_folder', 'finnadie', 'fire', 'fire_engine', 'fireworks',
'first_quarter_moon', 'first_quarter_moon_with_face', 'fish', 'fish_cake',
'fishing_pole_and_fish', 'fist', 'five', 'flags', 'flashlight', 'floppy_disk',
'flower_playing_cards', 'flushed', 'foggy', 'football', 'fork_and_knife',
'fountain', 'four', 'four_leaf_clover', 'fr', 'free', 'fried_shrimp', 'fries',
'frog', 'frowning', 'fu', 'fuelpump', 'full_moon', 'full_moon_with_face',
'game_die', 'gb', 'gem', 'gemini', 'ghost', 'gift', 'gift_heart', 'girl',
'globe_with_meridians', 'goat', 'goberserk', 'godmode', 'golf', 'grapes',
'green_apple', 'green_book', 'green_heart', 'grey_exclamation', 'grey_question',
'grimacing', 'grin', 'grinning', 'guardsman', 'guitar', 'gun', 'haircut',
'hamburger', 'hammer', 'hamster', 'hand', 'handbag', 'hankey', 'hash',
'hatched_chick', 'hatching_chick', 'headphones', 'hear_no_evil', 'heart',
'heart_decoration', 'heart_eyes', 'heart_eyes_cat', 'heartbeat', 'heartpulse',
'hearts', 'heavy_check_mark', 'heavy_division_sign', 'heavy_dollar_sign',
'heavy_exclamation_mark', 'heavy_minus_sign', 'heavy_multiplication_x',
'heavy_plus_sign', 'helicopter', 'herb', 'hibiscus', 'high_brightness',
'high_heel', 'hocho', 'honey_pot', 'honeybee', 'horse', 'horse_racing',
'hospital', 'hotel', 'hotsprings', 'hourglass', 'hourglass_flowing_sand',
'house', 'house_with_garden', 'hurtrealbad', 'hushed', 'ice_cream', 'icecream',
'id', 'ideograph_advantage', 'imp', 'inbox_tray', 'incoming_envelope',
'information_desk_person', 'information_source', 'innocent', 'interrobang',
'iphone', 'it', 'izakaya_lantern', 'jack_o_lantern', 'japan', 'japanese_castle',
'japanese_goblin', 'japanese_ogre', 'jeans', 'joy', 'joy_cat', 'jp', 'key',
'keycap_ten', 'kimono', 'kiss', 'kissing', 'kissing_cat', 'kissing_closed_eyes',
'kissing_face', 'kissing_heart', 'kissing_smiling_eyes', 'koala', 'koko', 'kr',
'large_blue_circle', 'large_blue_diamond', 'large_orange_diamond',
'last_quarter_moon', 'last_quarter_moon_with_face', 'laughing', 'leaves',
'ledger', 'left_luggage', 'left_right_arrow', 'leftwards_arrow_with_hook',
'lemon', 'leo', 'leopard', 'libra', 'light_rail', 'link', 'lips', 'lipstick',
'lock', 'lock_with_ink_pen', 'lollipop', 'loop', 'loudspeaker', 'love_hotel',
'love_letter', 'low_brightness', 'm', 'mag', 'mag_right', 'mahjong', 'mailbox',
'mailbox_closed', 'mailbox_with_mail', 'mailbox_with_no_mail', 'man',
'man_with_gua_pi_mao', 'man_with_turban', 'mans_shoe', 'maple_leaf', 'mask',
'massage', 'meat_on_bone', 'mega', 'melon', 'memo', 'mens', 'metal', 'metro',
'microphone', 'microscope', 'milky_way', 'minibus', 'minidisc',
'mobile_phone_off', 'money_with_wings', 'moneybag', 'monkey', 'monkey_face',
'monorail', 'moon', 'mortar_board', 'mount_fuji', 'mountain_bicyclist',
'mountain_cableway', 'mountain_railway', 'mouse', 'mouse2', 'movie_camera',
'moyai', 'muscle', 'mushroom', 'musical_keyboard', 'musical_note',
'musical_score', 'mute', 'nail_care', 'name_badge', 'neckbeard', 'necktie',
'negative_squared_cross_mark', 'neutral_face', 'new', 'new_moon',
'new_moon_with_face', 'newspaper', 'ng', 'nine', 'no_bell', 'no_bicycles',
'no_entry', 'no_entry_sign', 'no_good', 'no_mobile_phones', 'no_mouth',
'no_pedestrians', 'no_smoking', 'non-potable_water', 'nose', 'notebook',
'notebook_with_decorative_cover', 'notes', 'nut_and_bolt', 'o', 'o2', 'ocean',
'octocat', 'octopus', 'oden', 'office', 'ok', 'ok_hand', 'ok_woman',
'older_man', 'older_woman', 'on', 'oncoming_automobile', 'oncoming_bus',
'oncoming_police_car', 'oncoming_taxi', 'one', 'open_file_folder', 'open_hands',
'open_mouth', 'ophiuchus', 'orange_book', 'outbox_tray', 'ox', 'page_facing_up',
'page_with_curl', 'pager', 'palm_tree', 'panda_face', 'paperclip', 'parking',
'part_alternation_mark', 'partly_sunny', 'passport_control', 'paw_prints',
'peach', 'pear', 'pencil', 'pencil2', 'penguin', 'pensive', 'performing_arts',
'persevere', 'person_frowning', 'person_with_blond_hair',
'person_with_pouting_face', 'phone', 'pig', 'pig2', 'pig_nose', 'pill',
'pineapple', 'pisces', 'pizza', 'plus1', 'point_down', 'point_left',
'point_right', 'point_up', 'point_up_2', 'police_car', 'poodle', 'poop',
'post_office', 'postal_horn', 'postbox', 'potable_water', 'pouch',
'poultry_leg', 'pound', 'pouting_cat', 'pray', 'princess', 'punch',
'purple_heart', 'purse', 'pushpin', 'put_litter_in_its_place', 'question',
'rabbit', 'rabbit2', 'racehorse', 'radio', 'radio_button', 'rage', 'rage1',
'rage2', 'rage3', 'rage4', 'railway_car', 'rainbow', 'raised_hand',
'raised_hands', 'raising_hand', 'ram', 'ramen', 'rat', 'recycle', 'red_car',
'red_circle', 'registered', 'relaxed', 'relieved', 'repeat', 'repeat_one',
'restroom', 'revolving_hearts', 'rewind', 'ribbon', 'rice', 'rice_ball',
'rice_cracker', 'rice_scene', 'ring', 'rocket', 'roller_coaster', 'rooster',
'rose', 'rotating_light', 'round_pushpin', 'rowboat', 'ru', 'rugby_football',
'runner', 'running', 'running_shirt_with_sash', 'sa', 'sagittarius', 'sailboat',
'sake', 'sandal', 'santa', 'satellite', 'satisfied', 'saxophone', 'school',
'school_satchel', 'scissors', 'scorpius', 'scream', 'scream_cat', 'scroll',
'seat', 'secret', 'see_no_evil', 'seedling', 'seven', 'shaved_ice', 'sheep',
'shell', 'ship', 'shipit', 'shirt', 'shit', 'shoe', 'shower', 'signal_strength',
'six', 'six_pointed_star', 'ski', 'skull', 'sleeping', 'sleepy', 'slot_machine',
'small_blue_diamond', 'small_orange_diamond', 'small_red_triangle',
'small_red_triangle_down', 'smile', 'smile_cat', 'smiley', 'smiley_cat',
'smiling_imp', 'smirk', 'smirk_cat', 'smoking', 'snail', 'snake', 'snowboarder',
'snowflake', 'snowman', 'sob', 'soccer', 'soon', 'sos', 'sound',
'space_invader', 'spades', 'spaghetti', 'sparkler', 'sparkles',
'sparkling_heart', 'speak_no_evil', 'speaker', 'speech_balloon', 'speedboat',
'squirrel', 'star', 'star2', 'stars', 'station', 'statue_of_liberty',
'steam_locomotive', 'stew', 'straight_ruler', 'strawberry', 'stuck_out_tongue',
'stuck_out_tongue_closed_eyes', 'stuck_out_tongue_winking_eye', 'sun_with_face',
'sunflower', 'sunglasses', 'sunny', 'sunrise', 'sunrise_over_mountains',
'surfer', 'sushi', 'suspect', 'suspension_railway', 'sweat', 'sweat_drops',
'sweat_smile', 'sweet_potato', 'swimmer', 'symbols', 'syringe', 'tada',
'tanabata_tree', 'tangerine', 'taurus', 'taxi', 'tea', 'telephone',
'telephone_receiver', 'telescope', 'tennis', 'tent', 'thought_balloon', 'three',
'thumbsdown', 'thumbsup', 'ticket', 'tiger', 'tiger2', 'tired_face', 'tm',
'toilet', 'tokyo_tower', 'tomato', 'tongue', 'top', 'tophat', 'tractor',
'traffic_light', 'train', 'train2', 'tram', 'triangular_flag_on_post',
'triangular_ruler', 'trident', 'triumph', 'trolleybus', 'trollface', 'trophy',
'tropical_drink', 'tropical_fish', 'truck', 'trumpet', 'tshirt', 'tulip',
'turtle', 'tv', 'twisted_rightwards_arrows', 'two', 'two_hearts',
'two_men_holding_hands', 'two_women_holding_hands', 'u5272', 'u5408', 'u55b6',
'u6307', 'u6708', 'u6709', 'u6e80', 'u7121', 'u7533', 'u7981', 'u7a7a', 'uk',
'umbrella', 'unamused', 'underage', 'unlock', 'up', 'us', 'v',
'vertical_traffic_light', 'vhs', 'vibration_mode', 'video_camera', 'video_game',
'violin', 'virgo', 'volcano', 'vs', 'walking', 'waning_crescent_moon',
'waning_gibbous_moon', 'warning', 'watch', 'water_buffalo', 'watermelon',
'wave', 'wavy_dash', 'waxing_crescent_moon', 'waxing_gibbous_moon', 'wc',
'weary', 'wedding', 'whale', 'whale2', 'wheelchair', 'white_check_mark',
'white_circle', 'white_flower', 'white_square', 'white_square_button',
'wind_chime', 'wine_glass', 'wink', 'wolf', 'woman', 'womans_clothes',
'womans_hat', 'womens', 'worried', 'wrench', 'x', 'yellow_heart', 'yen', 'yum',
'zap', 'zero', 'zzz'];

View file

@ -31,7 +31,7 @@ window.Modal = new class {
this._currentModal.set({ header, modalName });
this._onCloseGoTo = onCloseGoTo;
}
};
}();
Blaze.registerHelper('Modal', Modal);

View file

@ -190,7 +190,7 @@ window.Popup = new class {
return title !== translationKey ? title : defaultTitle;
};
}
};
}();
// We close a potential opened popup on any left click on the document, or go
// one step back by pressing escape.

View file

@ -1,5 +1,3 @@
Meteor.subscribe('unsaved-edits');
// `UnsavedEdits` is a global key-value store used to save drafts of user
// inputs. We used to have the notion of a `cachedValue` that was local to a
// component but the global store has multiple advantages:

View file

@ -3,7 +3,7 @@ version: '2'
services:
wekandb:
image: mongo:3.2.17
image: mongo:3.2.18
container_name: wekan-db
restart: always
command: mongod --smallfiles --oplogSize 128

View file

@ -184,7 +184,7 @@
"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.",
"email-fail": "Senden der E-Mail fehlgeschlagen",
"email-fail-text": "Error trying to send email",
"email-fail-text": "Fehler beim Senden des E-Mails",
"email-invalid": "Ungültige E-Mail-Adresse",
"email-invite": "via E-Mail einladen",
"email-invite-subject": "__inviter__ hat Ihnen eine Einladung geschickt",
@ -240,7 +240,7 @@
"initials": "Initialen",
"invalid-date": "Ungültiges Datum",
"invalid-time": "Ungültige Zeitangabe",
"invalid-user": "Invalid user",
"invalid-user": "Ungültiger Benutzer",
"joined": "beigetreten",
"just-invited": "Sie wurden soeben zu diesem Board eingeladen",
"keyboard-shortcuts": "Tastaturkürzel",
@ -388,12 +388,12 @@
"smtp-password": "Passwort",
"smtp-tls": "TLS Unterstützung",
"send-from": "Absender",
"send-smtp-test": "Send a test email to yourself",
"send-smtp-test": "Test-E-Mail an sich selbst schicken",
"invitation-code": "Einladungscode",
"email-invite-register-subject": "__inviter__ hat Ihnen eine Einladung geschickt",
"email-invite-register-text": "Hallo __user__,\n\n__inviter__ hat Sie für Ihre Zusammenarbeit zu Wekan eingeladen.\n\nBitte klicken Sie auf folgenden Link:\n__url__\n\nIhr Einladungscode lautet: __icode__\n\nDanke.",
"email-smtp-test-subject": "SMTP Test Email From Wekan",
"email-smtp-test-text": "You have successfully sent an email",
"email-smtp-test-subject": "SMTP-Test-E-Mail von Wekan",
"email-smtp-test-text": "Sie haben erfolgreich eine E-Mail versandt",
"error-invitation-code-not-exist": "Ungültiger Einladungscode",
"error-notAuthorized": "Sie sind nicht berechtigt diese Seite zu sehen.",
"outgoing-webhooks": "Ausgehende Webhooks",

View file

@ -5,17 +5,17 @@
"act-addChecklist": "added checklist __checklist__ to __card__",
"act-addChecklistItem": "added __checklistItem__ to checklist __checklist__ on __card__",
"act-addComment": "commented on __card__: __comment__",
"act-createBoard": "kreiis __board__",
"act-createCard": "aldonis __card__ al __list__",
"act-createList": "aldonis __card__ al __board__",
"act-addBoardMember": "aldonis __member__ al __board__",
"act-createBoard": "Kreiis __board__",
"act-createCard": "Aldonis __card__ al __list__",
"act-createList": "Aldonis __card__ al __board__",
"act-addBoardMember": "Aldonis __member__ al __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": "aldonis __member__ al __card__",
"act-joinMember": "Aldonis __member__ al __card__",
"act-moveCard": "moved __card__ from __oldList__ to __list__",
"act-removeBoardMember": "removed __member__ from __board__",
"act-restoredCard": "restored __card__ to __board__",
@ -25,10 +25,10 @@
"actions": "Akcioj",
"activities": "Aktivaĵoj",
"activity": "Aktivaĵo",
"activity-added": "aldonis %s al %s",
"activity-added": "Aldonis %s al %s",
"activity-archived": "archived %s",
"activity-attached": "attached %s to %s",
"activity-created": "kreiis %s",
"activity-created": "Kreiis %s",
"activity-excluded": "excluded %s from %s",
"activity-imported": "imported %s into %s from %s",
"activity-imported-board": "imported %s from %s",
@ -36,7 +36,7 @@
"activity-moved": "moved %s from %s to %s",
"activity-on": "on %s",
"activity-removed": "removed %s from %s",
"activity-sent": "sendis %s al %s",
"activity-sent": "Sendis %s al %s",
"activity-unjoined": "unjoined %s",
"activity-checklist-added": "added checklist to %s",
"activity-checklist-item-added": "added checklist item to '%s' in %s",
@ -96,7 +96,7 @@
"boards": "Boards",
"bucket-example": "Like “Bucket List” for example",
"cancel": "Cancel",
"card-archived": "Karto arkivita.",
"card-archived": "Karto arkivita",
"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.",
@ -106,18 +106,18 @@
"card-spent": "Spent Time",
"card-edit-attachments": "Edit attachments",
"card-edit-labels": "Redakti etikedojn",
"card-edit-members": "Redakti membroj",
"card-edit-members": "Redakti membrojn",
"card-labels-title": "Change the labels for the card.",
"card-members-title": "Add or remove members of the board from the card.",
"card-start": "Komenco",
"card-start-on": "Komencas je ",
"card-start-on": "Komencas je la",
"cardAttachmentsPopup-title": "Attach From",
"cardDeletePopup-title": "Delete Card?",
"cardDetailsActionsPopup-title": "Card Actions",
"cardLabelsPopup-title": "Etikedoj",
"cardMembersPopup-title": "Membroj",
"cardMorePopup-title": "Pli",
"cards": "Karto",
"cards": "Kartoj",
"change": "Ŝanĝi",
"change-avatar": "Change Avatar",
"change-password": "Ŝangi pasvorton",
@ -154,7 +154,7 @@
"copy-card-link-to-clipboard": "Copy card link to clipboard",
"copyCardPopup-title": "Copy Card",
"create": "Krei",
"createBoardPopup-title": "Krei ",
"createBoardPopup-title": "Krei tavolon",
"chooseBoardSourcePopup-title": "Import board",
"createLabelPopup-title": "Create Label",
"current": "current",
@ -171,19 +171,19 @@
"download": "Elŝuti",
"edit": "Redakti",
"edit-avatar": "Change Avatar",
"edit-profile": "Redakti profilo",
"edit-profile": "Redakti profilon",
"edit-wip-limit": "Edit WIP Limit",
"soft-wip-limit": "Soft WIP Limit",
"editCardStartDatePopup-title": "Redakti komencdato",
"editCardStartDatePopup-title": "Redakti komencdaton",
"editCardDueDatePopup-title": "Change due date",
"editCardSpentTimePopup-title": "Change spent time",
"editLabelPopup-title": "Ŝanĝi etikedo",
"editLabelPopup-title": "Ŝanĝi etikedon",
"editNotificationPopup-title": "Edit Notification",
"editProfilePopup-title": "Redakti profilo",
"editProfilePopup-title": "Redakti profilon",
"email": "Retpoŝtadreso",
"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": "Malsukcese sendis retpoŝton",
"email-fail": "Malsukcesis sendi retpoŝton",
"email-fail-text": "Error trying to send email",
"email-invalid": "Nevalida retpoŝtadreso",
"email-invite": "Inviti per retpoŝto",
@ -218,7 +218,7 @@
"fullname": "Full Name",
"header-logo-title": "Go back to your boards page.",
"hide-system-messages": "Hide system messages",
"headerBarCreateBoardPopup-title": "Krei ",
"headerBarCreateBoardPopup-title": "Krei tavolon",
"home": "Hejmo",
"import": "Importi",
"import-board": "import board",

View file

@ -103,7 +103,7 @@
"card-delete-suggest-archive": "Tu puedes archivar una tarjeta para removerla del tablero y preservar la actividad.",
"card-due": "Vence",
"card-due-on": "Vence en",
"card-spent": "Spent Time",
"card-spent": "Tiempo Empleado",
"card-edit-attachments": "Editar adjuntos",
"card-edit-labels": "Editar etiquetas",
"card-edit-members": "Editar miembros",
@ -173,10 +173,10 @@
"edit-avatar": "Cambiar Avatar",
"edit-profile": "Editar Perfil",
"edit-wip-limit": "Editar Lìmite de TEP",
"soft-wip-limit": "Soft WIP Limit",
"soft-wip-limit": "Límite TEP suave",
"editCardStartDatePopup-title": "Cambiar fecha de inicio",
"editCardDueDatePopup-title": "Cambiar fecha de vencimiento",
"editCardSpentTimePopup-title": "Change spent time",
"editCardSpentTimePopup-title": "Cambiar tiempo empleado",
"editLabelPopup-title": "Cambiar Etiqueta",
"editNotificationPopup-title": "Editar Notificació",
"editProfilePopup-title": "Editar Perfil",
@ -184,7 +184,7 @@
"email-enrollAccount-subject": "Una cuenta creada para vos en __siteName__",
"email-enrollAccount-text": "Hola __user__,\n\nPara empezar a usar el servicio, simplemente clickeá en el enlace de abajo.\n\n__url__\n\nGracias.",
"email-fail": "Fallo envío de email",
"email-fail-text": "Error trying to send email",
"email-fail-text": "Error intentando enviar email",
"email-invalid": "Email inválido",
"email-invite": "Invitar vía Email",
"email-invite-subject": "__inviter__ te envió una invitación",
@ -239,8 +239,8 @@
"info": "Versión",
"initials": "Iniciales",
"invalid-date": "Fecha inválida",
"invalid-time": "Invalid time",
"invalid-user": "Invalid user",
"invalid-time": "Tiempo inválido",
"invalid-user": "Usuario inválido",
"joined": "unido",
"just-invited": "Fuiste invitado a este tablero",
"keyboard-shortcuts": "Atajos de teclado",
@ -342,11 +342,11 @@
"team": "Equipo",
"this-board": "este tablero",
"this-card": "esta tarjeta",
"spent-time-hours": "Spent time (hours)",
"overtime-hours": "Overtime (hours)",
"overtime": "Overtime",
"has-overtime-cards": "Has overtime cards",
"has-spenttime-cards": "Has spenttime cards",
"spent-time-hours": "Tiempo empleado (horas)",
"overtime-hours": "Sobretiempo (horas)",
"overtime": "Sobretiempo",
"has-overtime-cards": "Tiene tarjetas con sobretiempo",
"has-spenttime-cards": "Tiene tarjetas con tiempo empleado",
"time": "Hora",
"title": "Título",
"tracking": "Seguimiento",
@ -388,12 +388,12 @@
"smtp-password": "Contraseña",
"smtp-tls": "Soporte TLS",
"send-from": "De",
"send-smtp-test": "Send a test email to yourself",
"send-smtp-test": "Enviarse un email de prueba",
"invitation-code": "Código de Invitación",
"email-invite-register-subject": "__inviter__ te envió una invitación",
"email-invite-register-text": "Querido __user__,\n\n__inviter__ te invita a Wekan para colaborar.\n\nPor favor sigue el enlace de abajo:\n__url__\n\nI tu código de invitación es: __icode__\n\nGracias.",
"email-smtp-test-subject": "SMTP Test Email From Wekan",
"email-smtp-test-text": "You have successfully sent an email",
"email-smtp-test-subject": "Email de Prueba SMTP de Wekan",
"email-smtp-test-text": "Enviaste el correo correctamente",
"error-invitation-code-not-exist": "El código de invitación no existe",
"error-notAuthorized": "No estás autorizado para ver esta página.",
"outgoing-webhooks": "Ganchos Web Salientes",
@ -418,7 +418,7 @@
"no": "No",
"accounts": "Cuentas",
"accounts-allowEmailChange": "Permitir Cambio de Email",
"createdAt": "Created at",
"verified": "Verified",
"active": "Active"
"createdAt": "Creado en",
"verified": "Verificado",
"active": "Activo"
}

View file

@ -184,7 +184,7 @@
"email-enrollAccount-subject": "Cuenta creada en __siteName__",
"email-enrollAccount-text": "Hola __user__,\n\nPara empezar a utilizar el servicio, simplemente haz clic en el siguiente enlace.\n\n__url__\n\nGracias.",
"email-fail": "Error al enviar el correo",
"email-fail-text": "Error trying to send email",
"email-fail-text": "Error al intentar enviar el correo",
"email-invalid": "Correo no válido",
"email-invite": "Invitar vía correo electrónico",
"email-invite-subject": "__inviter__ ha enviado una invitación",
@ -240,7 +240,7 @@
"initials": "Iniciales",
"invalid-date": "Fecha no válida",
"invalid-time": "Tiempo no válido",
"invalid-user": "Invalid user",
"invalid-user": "Usuario no válido",
"joined": "se ha unido",
"just-invited": "Has sido invitado a este tablero",
"keyboard-shortcuts": "Atajos de teclado",
@ -388,12 +388,12 @@
"smtp-password": "Contraseña",
"smtp-tls": "Soporte TLS",
"send-from": "Desde",
"send-smtp-test": "Send a test email to yourself",
"send-smtp-test": "Enviarte un correo de prueba a ti mismo",
"invitation-code": "Código de Invitación",
"email-invite-register-subject": "__inviter__ te ha enviado una invitación",
"email-invite-register-text": "Estimado __user__,\n\n__inviter__ te invita a unirte a Wekan para colaborar.\n\nPor favor, haz clic en el siguiente enlace:\n__url__\n\nTu código de invitación es: __icode__\n\nGracias.",
"email-smtp-test-subject": "SMTP Test Email From Wekan",
"email-smtp-test-text": "You have successfully sent an email",
"email-smtp-test-subject": "Prueba de correo SMTP desde Wekan",
"email-smtp-test-text": "El correo se ha enviado correctamente",
"error-invitation-code-not-exist": "El código de invitación no existe",
"error-notAuthorized": "No estás autorizado a ver esta página.",
"outgoing-webhooks": "Webhooks salientes",

View file

@ -184,7 +184,7 @@
"email-enrollAccount-subject": "נוצר עבורך חשבון באתר __siteName__",
"email-enrollAccount-text": "__user__ שלום,\n\nכדי להתחיל להשתמש בשירות, יש ללחוץ על הקישור המופיע להלן.\n\n__url__\n\nתודה.",
"email-fail": "שליחת ההודעה בדוא״ל נכשלה",
"email-fail-text": "Error trying to send email",
"email-fail-text": "שגיאה בעת ניסיון לשליחת הודעת דוא״ל",
"email-invalid": "כתובת דוא״ל לא חוקית",
"email-invite": "הזמנה באמצעות דוא״ל",
"email-invite-subject": "נשלחה אליך הזמנה מאת __inviter__",
@ -240,7 +240,7 @@
"initials": "ראשי תיבות",
"invalid-date": "תאריך שגוי",
"invalid-time": "זמן שגוי",
"invalid-user": "Invalid user",
"invalid-user": "משתמש שגוי",
"joined": "הצטרף",
"just-invited": "הוזמנת ללוח זה",
"keyboard-shortcuts": "קיצורי מקלדת",
@ -388,12 +388,12 @@
"smtp-password": "ססמה",
"smtp-tls": "תמיכה ב־TLS",
"send-from": "מאת",
"send-smtp-test": "Send a test email to yourself",
"send-smtp-test": "שליחת דוא״ל בדיקה לעצמך",
"invitation-code": "קוד הזמנה",
"email-invite-register-subject": "נשלחה אליך הזמנה מאת __inviter__",
"email-invite-register-text": "__user__ יקר,\n\nקיבלת הזמנה מאת __inviter__ לשתף פעולה ב־Wekan.\n\nנא ללחוץ על הקישור:\n__url__\n\nקוד ההזמנה שלך הוא: __icode__\n\nתודה.",
"email-smtp-test-subject": "SMTP Test Email From Wekan",
"email-smtp-test-text": "You have successfully sent an email",
"email-smtp-test-subject": "הודעת בדיקה דרך SMTP מאת Wekan",
"email-smtp-test-text": "שלחת הודעת דוא״ל בהצלחה",
"error-invitation-code-not-exist": "קוד ההזמנה אינו קיים",
"error-notAuthorized": "אין לך הרשאה לצפות בעמוד זה.",
"outgoing-webhooks": "קרסי רשת יוצאים",

View file

@ -103,7 +103,7 @@
"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-spent": "Spent Time",
"card-spent": "Tempo trascorso",
"card-edit-attachments": "Modifica allegati",
"card-edit-labels": "Modifica etichette",
"card-edit-members": "Modifica membri",
@ -176,7 +176,7 @@
"soft-wip-limit": "Limite Work in progress soft",
"editCardStartDatePopup-title": "Cambia data di inizio",
"editCardDueDatePopup-title": "Cambia data di scadenza",
"editCardSpentTimePopup-title": "Change spent time",
"editCardSpentTimePopup-title": "Cambia tempo trascorso",
"editLabelPopup-title": "Cambia etichetta",
"editNotificationPopup-title": "Modifica notifiche",
"editProfilePopup-title": "Modifica profilo",
@ -184,7 +184,7 @@
"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.",
"email-fail": "Invio email fallito",
"email-fail-text": "Error trying to send email",
"email-fail-text": "Errore nel tentativo di invio email",
"email-invalid": "Email non valida",
"email-invite": "Invita via email",
"email-invite-subject": "__inviter__ ti ha inviato un invito",
@ -240,7 +240,7 @@
"initials": "Iniziali",
"invalid-date": "Data non valida",
"invalid-time": "Invalid time",
"invalid-user": "Invalid user",
"invalid-user": "User non valido",
"joined": "si è unito a",
"just-invited": "Sei stato appena invitato a questa bacheca",
"keyboard-shortcuts": "Scorciatoie da tastiera",
@ -342,8 +342,8 @@
"team": "Team",
"this-board": "questa bacheca",
"this-card": "questa scheda",
"spent-time-hours": "Spent time (hours)",
"overtime-hours": "Overtime (hours)",
"spent-time-hours": "Tempo trascorso (ore)",
"overtime-hours": "Overtime (ore)",
"overtime": "Overtime",
"has-overtime-cards": "Has overtime cards",
"has-spenttime-cards": "Has spenttime cards",
@ -388,12 +388,12 @@
"smtp-password": "Password",
"smtp-tls": "Supporto TLS",
"send-from": "Da",
"send-smtp-test": "Send a test email to yourself",
"send-smtp-test": "Invia un'email di test a te stesso",
"invitation-code": "Codice d'invito",
"email-invite-register-subject": "__inviter__ ti ha inviato un invito",
"email-invite-register-text": "Gentile __user__,\n\n__inviter__ ti ha invitato su Wekan per collaborare.\n\nPer favore segui il link qui sotto:\n__url__\n\nIl tuo codice d'invito è: __icode__\n\nGrazie.",
"email-smtp-test-subject": "SMTP Test Email From Wekan",
"email-smtp-test-text": "You have successfully sent an email",
"email-smtp-test-text": "Hai inviato un'email con successo",
"error-invitation-code-not-exist": "Il codice d'invito non esiste",
"error-notAuthorized": "Non sei autorizzato ad accedere a questa pagina.",
"outgoing-webhooks": "Server esterni",
@ -419,6 +419,6 @@
"accounts": "Profili",
"accounts-allowEmailChange": "Permetti modifica dell'email",
"createdAt": "Created at",
"verified": "Verified",
"active": "Active"
"verified": "Verificato",
"active": "Attivo"
}

424
i18n/lv.i18n.json Normal file
View file

@ -0,0 +1,424 @@
{
"accept": "Piekrist",
"act-activity-notify": "[Wekan] Aktivitātes paziņojums",
"act-addAttachment": "pievienots __attachment__ to __card__",
"act-addChecklist": "pievienots checklist __checklist__ to __card__",
"act-addChecklistItem": "pievienots __checklistItem__ to checklist __checklist__ on __card__",
"act-addComment": "komentēja __card__: __comment__",
"act-createBoard": "izveidoja __board__",
"act-createCard": "pievienoja __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",
"activity-checklist-added": "added checklist to %s",
"activity-checklist-item-added": "added checklist item to '%s' in %s",
"add": "Add",
"add-attachment": "Add Attachment",
"add-board": "Add Board",
"add-card": "Add Card",
"add-checklist": "Add Checklist",
"add-checklist-item": "Add an item to checklist",
"add-cover": "Add Cover",
"add-label": "Add Label",
"add-list": "Add 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.",
"admin-announcement": "Announcement",
"admin-announcement-active": "Active System-Wide Announcement",
"admin-announcement-title": "Announcement from Administrator",
"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": "Wekan is loading, please wait. Refreshing the page will cause data loss. If Wekan does not load, please check that Wekan server has not stopped.",
"archive": "Archive",
"archive-all": "Archive All",
"archive-board": "Archive Board",
"archive-card": "Archive Card",
"archive-list": "Archive List",
"archive-selection": "Archive selection",
"archiveBoardPopup-title": "Archive Board?",
"archived-items": "Archived Items",
"archived-boards": "Archived Boards",
"restore-board": "Restore Board",
"no-archived-boards": "No Archived Boards.",
"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 they are created",
"avatar-too-big": "The avatar is too large (70KB max)",
"back": "Back",
"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-spent": "Spent Time",
"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",
"checklists": "Checklists",
"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 Comment",
"comment-only": "Comment only",
"comment-only-desc": "Can comment on cards only.",
"computer": "Computer",
"confirm-checklist-delete-dialog": "Are you sure you want to delete checklist",
"copy-card-link-to-clipboard": "Copy card link to clipboard",
"copyCardPopup-title": "Copy Card",
"create": "Create",
"createBoardPopup-title": "Create Board",
"chooseBoardSourcePopup-title": "Import 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",
"edit-wip-limit": "Edit WIP Limit",
"soft-wip-limit": "Soft WIP Limit",
"editCardStartDatePopup-title": "Change start date",
"editCardDueDatePopup-title": "Change due date",
"editCardSpentTimePopup-title": "Change spent time",
"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-fail-text": "Error trying to send email",
"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.",
"enable-wip-limit": "Enable WIP Limit",
"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": "You can not invite yourself",
"error-user-notCreated": "This user is not created",
"error-username-taken": "This username is already taken",
"error-email-taken": "Email has already been 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",
"headerBarCreateBoardPopup-title": "Create Board",
"home": "Home",
"import": "Import",
"import-board": "import board",
"import-board-c": "Import board",
"import-board-title-trello": "Import board from Trello",
"import-board-title-wekan": "Import board from Wekan",
"import-sandstorm-warning": "Imported board will delete all existing data on board and replace it with imported board.",
"from-trello": "From Trello",
"from-wekan": "From Wekan",
"import-board-instruction-trello": "In your Trello board, go to 'Menu', then 'More', 'Print and Export', 'Export JSON', and copy the resulting text.",
"import-board-instruction-wekan": "In your Wekan board, go to 'Menu', then 'Export board', and copy the text in the downloaded file.",
"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": "Version",
"initials": "Initials",
"invalid-date": "Invalid date",
"invalid-time": "Invalid time",
"invalid-user": "Invalid user",
"joined": "joined",
"just-invited": "You are just invited to this board",
"keyboard-shortcuts": "Keyboard shortcuts",
"label-create": "Create 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 cant change roles because there must be at least one admin.",
"leave-board": "Leave Board",
"leave-board-pop": "Are you sure you want to leave __boardTitle__? You will be removed from all cards on this board.",
"leaveBoardPopup-title": "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",
"listMorePopup-title": "More",
"link-list": "Link to this list",
"list-delete-pop": "All actions will be removed from the activity feed and you won't be able to recover the list. There is no undo.",
"list-delete-suggest-archive": "You can archive a list to remove it from the board and preserve the activity.",
"lists": "Lists",
"log-out": "Log Out",
"log-in": "Log In",
"loginPopup-title": "Log In",
"memberMenuPopup-title": "Member Settings",
"members": "Members",
"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 youre 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": "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",
"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 Label",
"listDeletePopup-title": "Delete 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",
"rename-board": "Rename Board",
"restore": "Restore",
"save": "Save",
"search": "Search",
"select-color": "Select Color",
"set-wip-limit-value": "Set a limit for the maximum number of tasks in this list",
"setWipLimitPopup-title": "Set WIP Limit",
"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",
"sidebar-open": "Open Sidebar",
"sidebar-close": "Close 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",
"team": "Team",
"this-board": "this board",
"this-card": "this card",
"spent-time-hours": "Spent time (hours)",
"overtime-hours": "Overtime (hours)",
"overtime": "Overtime",
"has-overtime-cards": "Has overtime cards",
"has-spenttime-cards": "Has spenttime cards",
"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?",
"wipLimitErrorPopup-title": "Invalid WIP Limit",
"wipLimitErrorPopup-dialog-pt1": "The number of tasks in this list is higher than the WIP limit you've defined.",
"wipLimitErrorPopup-dialog-pt2": "Please move some tasks out of this list, or set a higher WIP limit.",
"admin-panel": "Admin Panel",
"settings": "Settings",
"people": "People",
"registration": "Registration",
"disable-self-registration": "Disable Self-Registration",
"invite": "Invite",
"invite-people": "Invite People",
"to-boards": "To board(s)",
"email-addresses": "Email Addresses",
"smtp-host-description": "The address of the SMTP server that handles your emails.",
"smtp-port-description": "The port your SMTP server uses for outgoing emails.",
"smtp-tls-description": "Enable TLS support for SMTP server",
"smtp-host": "SMTP Host",
"smtp-port": "SMTP Port",
"smtp-username": "Username",
"smtp-password": "Password",
"smtp-tls": "TLS support",
"send-from": "From",
"send-smtp-test": "Send a test email to yourself",
"invitation-code": "Invitation Code",
"email-invite-register-subject": "__inviter__ sent you an invitation",
"email-invite-register-text": "Dear __user__,\n\n__inviter__ invites you to Wekan for collaborations.\n\nPlease follow the link below:\n__url__\n\nAnd your invitation code is: __icode__\n\nThanks.",
"email-smtp-test-subject": "SMTP Test Email From Wekan",
"email-smtp-test-text": "You have successfully sent an email",
"error-invitation-code-not-exist": "Invitation code doesn't exist",
"error-notAuthorized": "You are not authorized to view this page.",
"outgoing-webhooks": "Outgoing Webhooks",
"outgoingWebhooksPopup-title": "Outgoing Webhooks",
"new-outgoing-webhook": "New Outgoing Webhook",
"no-name": "(Unknown)",
"Wekan_version": "Wekan version",
"Node_version": "Node version",
"OS_Arch": "OS Arch",
"OS_Cpus": "OS CPU Count",
"OS_Freemem": "OS Free Memory",
"OS_Loadavg": "OS Load Average",
"OS_Platform": "OS Platform",
"OS_Release": "OS Release",
"OS_Totalmem": "OS Total Memory",
"OS_Type": "OS Type",
"OS_Uptime": "OS Uptime",
"hours": "hours",
"minutes": "minutes",
"seconds": "seconds",
"yes": "Yes",
"no": "No",
"accounts": "Accounts",
"accounts-allowEmailChange": "Allow Email Change",
"createdAt": "Created at",
"verified": "Verified",
"active": "Active"
}

View file

@ -60,7 +60,7 @@
"all-boards": "Wszystkie tablice",
"and-n-other-card": "And __count__ other card",
"and-n-other-card_plural": "And __count__ other cards",
"apply": "Apply",
"apply": "Zastosuj",
"app-is-offline": "Wekan is loading, please wait. Refreshing the page will cause data loss. If Wekan does not load, please check that Wekan server has not stopped.",
"archive": "Zarchiwizuj",
"archive-all": "Zarchiwizuj wszystkie",
@ -70,9 +70,9 @@
"archive-selection": "Zarchiwizuj zaznaczone",
"archiveBoardPopup-title": "Zarchiwizować tablicę?",
"archived-items": "Archived Items",
"archived-boards": "Archived Boards",
"restore-board": "Restore Board",
"no-archived-boards": "No Archived Boards.",
"archived-boards": "Archiwizuj tablicę",
"restore-board": "Przywróć tablicę",
"no-archived-boards": "Brak zarchiwizowanych tablic",
"archives": "Zarchiwizowane",
"assign-member": "Dodaj członka",
"attached": "załączono",
@ -81,7 +81,7 @@
"attachmentDeletePopup-title": "Usunąć załącznik?",
"attachments": "Załączniki",
"auto-watch": "Automatically watch boards when they are created",
"avatar-too-big": "The avatar is too large (70KB max)",
"avatar-too-big": "Awatar jest za duży (maksymalnie 70Kb)",
"back": "Wstecz",
"board-change-color": "Zmień kolor",
"board-nb-stars": "%s odznaczeń",
@ -122,12 +122,12 @@
"change-avatar": "Zmień Avatar",
"change-password": "Zmień hasło",
"change-permissions": "Zmień uprawnienia",
"change-settings": "Change Settings",
"change-settings": "Zmień ustawienia",
"changeAvatarPopup-title": "Zmień Avatar",
"changeLanguagePopup-title": "Zmień język",
"changePasswordPopup-title": "Zmień hasło",
"changePermissionsPopup-title": "Zmień uprawnienia",
"changeSettingsPopup-title": "Change Settings",
"changeSettingsPopup-title": "Zmień ustawienia",
"checklists": "Checklists",
"click-to-star": "Kliknij by odznaczyć tę tablicę.",
"click-to-unstar": "Kliknij by usunąć odznaczenie tej tablicy.",
@ -146,19 +146,19 @@
"color-sky": "błękitny",
"color-yellow": "żółty",
"comment": "Komentarz",
"comment-placeholder": "Write Comment",
"comment-placeholder": "Dodaj komentarz",
"comment-only": "Comment only",
"comment-only-desc": "Can comment on cards only.",
"computer": "Komputer",
"confirm-checklist-delete-dialog": "Are you sure you want to delete checklist",
"copy-card-link-to-clipboard": "Copy card link to clipboard",
"copyCardPopup-title": "Copy Card",
"copyCardPopup-title": "Skopiuj kartę",
"create": "Utwórz",
"createBoardPopup-title": "Utwórz tablicę",
"chooseBoardSourcePopup-title": "Import board",
"chooseBoardSourcePopup-title": "Import tablicy",
"createLabelPopup-title": "Utwórz etykietę",
"current": "obecny",
"date": "Date",
"date": "Data",
"decline": "Odrzuć",
"default-avatar": "Domyślny avatar",
"delete": "Usuń",
@ -202,32 +202,32 @@
"error-json-schema": "Twój JSON nie zawiera prawidłowych informacji w poprawnym formacie",
"error-list-doesNotExist": "Ta lista nie isnieje",
"error-user-doesNotExist": "Ten użytkownik nie istnieje",
"error-user-notAllowSelf": "You can not invite yourself",
"error-user-notAllowSelf": "Nie możesz zaprosić samego siebie",
"error-user-notCreated": "Ten użytkownik nie został stworzony",
"error-username-taken": "This username is already taken",
"error-username-taken": "Ta nazwa jest już zajęta",
"error-email-taken": "Email has already been taken",
"export-board": "Eksportuj tablicę",
"filter": "Filtr",
"filter-cards": "Odfiltruj karty",
"filter-clear": "Usuń filter",
"filter-no-label": "No label",
"filter-no-label": "Brak etykiety",
"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",
"hide-system-messages": "Ukryj wiadomości systemowe",
"headerBarCreateBoardPopup-title": "Utwórz tablicę",
"home": "Strona główna",
"import": "Importu",
"import-board": "import board",
"import-board-c": "Import board",
"import-board": "importuj tablice",
"import-board-c": "Import tablicy",
"import-board-title-trello": "Import board from Trello",
"import-board-title-wekan": "Import board from Wekan",
"import-board-title-wekan": "Importuj tablice z Wekan",
"import-sandstorm-warning": "Imported board will delete all existing data on board and replace it with imported board.",
"from-trello": "From Trello",
"from-wekan": "From Wekan",
"from-trello": "Z Trello",
"from-wekan": "Z Wekan",
"import-board-instruction-trello": "W twojej tablicy na Trello, idź do 'Menu', następnie 'More', 'Print and Export', 'Export JSON' i skopiuj wynik",
"import-board-instruction-wekan": "In your Wekan board, go to 'Menu', then 'Export board', and copy the text in the downloaded file.",
"import-json-placeholder": "Wklej twój JSON tutaj",
@ -236,11 +236,11 @@
"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": "Version",
"info": "Wersja",
"initials": "Initials",
"invalid-date": "Invalid date",
"invalid-time": "Invalid time",
"invalid-user": "Invalid user",
"invalid-date": "Błędna data",
"invalid-time": "Błędny czas",
"invalid-user": "Zła nazwa użytkownika",
"joined": "dołączył",
"just-invited": "Właśnie zostałeś zaproszony do tej tablicy",
"keyboard-shortcuts": "Skróty klawiaturowe",
@ -278,8 +278,8 @@
"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",
"muted": "Wyciszona",
"muted-info": "Nie zostaniesz powiadomiony o zmianach w tablicy",
"my-boards": "Moje tablice",
"name": "Nazwa",
"no-archived-cards": "Brak zarchiwizowanych kart.",
@ -360,12 +360,12 @@
"username": "Nazwa użytkownika",
"view-it": "Zobacz",
"warn-list-archived": "ostrzeżenie: ta karta jest na zarchiwizowanej liście",
"watch": "Watch",
"watching": "Watching",
"watch": "Obserwuj",
"watching": "Obserwujesz",
"watching-info": "You will be notified of any change in this board",
"welcome-board": "Welcome Board",
"welcome-list1": "Basics",
"welcome-list2": "Advanced",
"welcome-list1": "Podstawy",
"welcome-list2": "Zaawansowane",
"what-to-do": "Co chcesz zrobić?",
"wipLimitErrorPopup-title": "Invalid WIP Limit",
"wipLimitErrorPopup-dialog-pt1": "The number of tasks in this list is higher than the WIP limit you've defined.",
@ -378,18 +378,18 @@
"invite": "Zaproś",
"invite-people": "Zaproś osoby",
"to-boards": "To board(s)",
"email-addresses": "Email Addresses",
"email-addresses": "Adres e-mail",
"smtp-host-description": "The address of the SMTP server that handles your emails.",
"smtp-port-description": "The port your SMTP server uses for outgoing emails.",
"smtp-tls-description": "Enable TLS support for SMTP server",
"smtp-host": "SMTP Host",
"smtp-port": "SMTP Port",
"smtp-host": "Serwer SMTP",
"smtp-port": "Port SMTP",
"smtp-username": "Nazwa użytkownika",
"smtp-password": "Hasło",
"smtp-tls": "TLS support",
"send-from": "From",
"send-smtp-test": "Send a test email to yourself",
"invitation-code": "Invitation Code",
"send-from": "Od",
"send-smtp-test": "Wyślij wiadomość testową do siebie",
"invitation-code": "Kod z zaproszenia",
"email-invite-register-subject": "__inviter__ wysłał Ci zaproszenie",
"email-invite-register-text": "Dear __user__,\n\n__inviter__ invites you to Wekan for collaborations.\n\nPlease follow the link below:\n__url__\n\nAnd your invitation code is: __icode__\n\nThanks.",
"email-smtp-test-subject": "SMTP Test Email From Wekan",
@ -399,9 +399,9 @@
"outgoing-webhooks": "Outgoing Webhooks",
"outgoingWebhooksPopup-title": "Outgoing Webhooks",
"new-outgoing-webhook": "New Outgoing Webhook",
"no-name": "(Unknown)",
"Wekan_version": "Wekan version",
"Node_version": "Node version",
"no-name": "(nieznany)",
"Wekan_version": "Wersja Wekan",
"Node_version": "Wersja Node",
"OS_Arch": "OS Arch",
"OS_Cpus": "OS CPU Count",
"OS_Freemem": "OS Free Memory",
@ -418,7 +418,7 @@
"no": "Nie",
"accounts": "Konto",
"accounts-allowEmailChange": "Zezwól na zmianę adresu email",
"createdAt": "Created at",
"verified": "Verified",
"active": "Active"
"createdAt": "Stworzono o",
"verified": "Zweryfikowane",
"active": "Aktywny"
}

View file

@ -103,7 +103,7 @@
"card-delete-suggest-archive": "Você pode arquivar um cartão para removê-lo do quadro e preservar suas atividades.",
"card-due": "Data fim",
"card-due-on": "Finaliza em",
"card-spent": "Spent Time",
"card-spent": "Tempo Gasto",
"card-edit-attachments": "Editar anexos",
"card-edit-labels": "Editar etiquetas",
"card-edit-members": "Editar membros",
@ -388,12 +388,12 @@
"smtp-password": "Senha",
"smtp-tls": "Suporte TLS",
"send-from": "De",
"send-smtp-test": "Send a test email to yourself",
"send-smtp-test": "Enviar um email de teste para você mesmo",
"invitation-code": "Código do Convite",
"email-invite-register-subject": "__inviter__ lhe enviou um convite",
"email-invite-register-text": "Caro __user__,\n\n__inviter__ convidou você para colaborar no Wekan.\n\nPor favor, vá no link abaixo:\n__url__\n\nE seu código de convite é: __icode__\n\nObrigado.",
"email-smtp-test-subject": "SMTP Test Email From Wekan",
"email-smtp-test-text": "You have successfully sent an email",
"email-smtp-test-subject": "Email Teste SMTP de Wekan",
"email-smtp-test-text": "Você enviou um email com sucesso",
"error-invitation-code-not-exist": "O código do convite não existe",
"error-notAuthorized": "Você não está autorizado à ver esta página.",
"outgoing-webhooks": "Webhook de saída",

View file

@ -103,7 +103,7 @@
"card-delete-suggest-archive": "Du kan arkivera ett kort för att ta bort det från anslagstavlan och bevara aktiviteten.",
"card-due": "Förfaller",
"card-due-on": "Förfaller på",
"card-spent": "Spent Time",
"card-spent": "Spenderad tid",
"card-edit-attachments": "Redigera bilaga",
"card-edit-labels": "Redigera etiketter",
"card-edit-members": "Redigera medlemmar",
@ -176,7 +176,7 @@
"soft-wip-limit": "Mjuk WIP-gräns",
"editCardStartDatePopup-title": "Ändra startdatum",
"editCardDueDatePopup-title": "Ändra förfallodatum",
"editCardSpentTimePopup-title": "Change spent time",
"editCardSpentTimePopup-title": "Ändra spenderad tid",
"editLabelPopup-title": "Ändra etikett",
"editNotificationPopup-title": "Redigera avisering",
"editProfilePopup-title": "Redigera profil",
@ -184,7 +184,7 @@
"email-enrollAccount-subject": "Ett konto skapas för dig på __siteName__",
"email-enrollAccount-text": "Hej __user__,\n\nFör att börja använda tjänsten, klicka på länken nedan.\n\n__url__\n\nTack.",
"email-fail": "Sändning av e-post misslyckades",
"email-fail-text": "Error trying to send email",
"email-fail-text": "Ett fel vid försök att skicka e-post",
"email-invalid": "Ogiltig e-post",
"email-invite": "Bjud in via e-post",
"email-invite-subject": "__inviter__ skickade dig en inbjudan",
@ -239,8 +239,8 @@
"info": "Version",
"initials": "Initialer ",
"invalid-date": "Ogiltigt datum",
"invalid-time": "Invalid time",
"invalid-user": "Invalid user",
"invalid-time": "Ogiltig tid",
"invalid-user": "Ogiltig användare",
"joined": "gick med",
"just-invited": "Du blev nyss inbjuden till denna anslagstavla",
"keyboard-shortcuts": "Tangentbordsgenvägar",
@ -342,9 +342,9 @@
"team": "Grupp",
"this-board": "denna anslagstavla",
"this-card": "detta kort",
"spent-time-hours": "Spent time (hours)",
"overtime-hours": "Overtime (hours)",
"overtime": "Overtime",
"spent-time-hours": "Spenderad tid (timmar)",
"overtime-hours": "Övertid (timmar)",
"overtime": "Övertid",
"has-overtime-cards": "Has overtime cards",
"has-spenttime-cards": "Has spenttime cards",
"time": "Tid",
@ -419,6 +419,6 @@
"accounts": "Konton",
"accounts-allowEmailChange": "Tillåt e-poständring",
"createdAt": "Created at",
"verified": "Verified",
"active": "Active"
"verified": "Verifierad",
"active": "Aktiv"
}

View file

@ -103,7 +103,7 @@
"card-delete-suggest-archive": "你可以将卡片从看板中归档至回收箱,但保留相关活动。",
"card-due": "到期",
"card-due-on": "期限",
"card-spent": "Spent Time",
"card-spent": "耗时",
"card-edit-attachments": "编辑附件",
"card-edit-labels": "编辑标签",
"card-edit-members": "编辑成员",
@ -173,10 +173,10 @@
"edit-avatar": "更改头像",
"edit-profile": "编辑资料",
"edit-wip-limit": "编辑最大任务数",
"soft-wip-limit": "Soft WIP Limit",
"soft-wip-limit": "软在制品限制",
"editCardStartDatePopup-title": "修改起始日期",
"editCardDueDatePopup-title": "修改截止日期",
"editCardSpentTimePopup-title": "Change spent time",
"editCardSpentTimePopup-title": "修改耗时",
"editLabelPopup-title": "更改标签",
"editNotificationPopup-title": "编辑通知",
"editProfilePopup-title": "编辑资料",
@ -184,7 +184,7 @@
"email-enrollAccount-subject": "已为您在 __siteName__ 创建帐号",
"email-enrollAccount-text": "尊敬的 __user__,\n\n点击下面的链接即刻开始使用这项服务。\n\n__url__\n\n谢谢。",
"email-fail": "邮件发送失败",
"email-fail-text": "Error trying to send email",
"email-fail-text": "尝试发送邮件时出错",
"email-invalid": "邮件地址错误",
"email-invite": "发送邮件邀请",
"email-invite-subject": "__inviter__ 向您发出邀请",
@ -239,8 +239,8 @@
"info": "版本",
"initials": "缩写",
"invalid-date": "无效日期",
"invalid-time": "Invalid time",
"invalid-user": "Invalid user",
"invalid-time": "非法时间",
"invalid-user": "非法用户",
"joined": "关联",
"just-invited": "您刚刚被邀请加入此看板",
"keyboard-shortcuts": "键盘快捷键",
@ -342,11 +342,11 @@
"team": "团队",
"this-board": "该看板",
"this-card": "该卡片",
"spent-time-hours": "Spent time (hours)",
"overtime-hours": "Overtime (hours)",
"overtime": "Overtime",
"has-overtime-cards": "Has overtime cards",
"has-spenttime-cards": "Has spenttime cards",
"spent-time-hours": "耗时 (小时)",
"overtime-hours": "超时 (小时)",
"overtime": "超时",
"has-overtime-cards": "有超时卡片",
"has-spenttime-cards": "有耗时卡片",
"time": "时间",
"title": "标题",
"tracking": "跟踪",
@ -388,12 +388,12 @@
"smtp-password": "密码",
"smtp-tls": "TLS支持",
"send-from": "发件人",
"send-smtp-test": "Send a test email to yourself",
"send-smtp-test": "给自己发送一封测试邮件",
"invitation-code": "邀请码",
"email-invite-register-subject": "__inviter__ 向您发出邀请",
"email-invite-register-text": "亲爱的 __user__\n\n__inviter__ 邀请您加入 Wekan 进行协作。\n\n请访问下面的链接\n__url__\n\n您的的邀请码是\n__icode__\n\n非常感谢。",
"email-smtp-test-subject": "SMTP Test Email From Wekan",
"email-smtp-test-text": "You have successfully sent an email",
"email-smtp-test-subject": "从Wekan发送SMTP测试邮件",
"email-smtp-test-text": "你已成功发送邮件",
"error-invitation-code-not-exist": "邀请码不存在",
"error-notAuthorized": "您无权查看此页面。",
"outgoing-webhooks": "外部Web挂钩",
@ -401,7 +401,7 @@
"new-outgoing-webhook": "新建外部Web挂钩",
"no-name": "(未知)",
"Wekan_version": "Wekan版本",
"Node_version": "节点版本",
"Node_version": "Node.js版本",
"OS_Arch": "系统架构",
"OS_Cpus": "系统 CPU数量",
"OS_Freemem": "系统可用内存",
@ -418,7 +418,7 @@
"no": "否",
"accounts": "账号",
"accounts-allowEmailChange": "允许邮箱变更",
"createdAt": "Created at",
"verified": "Verified",
"active": "Active"
"createdAt": "创建于",
"verified": "已验证",
"active": "活跃"
}

View file

@ -18,9 +18,9 @@ Cards.attachSchema(new SimpleSchema({
listId: {
type: String,
},
// The system could work without this `boardId` information (we could deduce
// the board identifier from the card), but it would make the system more
// difficult to manage and less efficient.
// The system could work without this `boardId` information (we could deduce
// the board identifier from the card), but it would make the system more
// difficult to manage and less efficient.
boardId: {
type: String,
},
@ -146,8 +146,8 @@ Cards.helpers({
cover() {
const cover = Attachments.findOne(this.coverId);
// if we return a cover before it is fully stored, we will get errors when we try to display it
// todo XXX we could return a default "upload pending" image in the meantime?
// if we return a cover before it is fully stored, we will get errors when we try to display it
// todo XXX we could return a default "upload pending" image in the meantime?
return cover && cover.url() && cover;
},
@ -339,7 +339,7 @@ function cardMembers(userId, doc, fieldNames, modifier) {
if (!_.contains(fieldNames, 'members'))
return;
let memberId;
// Say hello to the new member
// Say hello to the new member
if (modifier.$addToSet && modifier.$addToSet.members) {
memberId = modifier.$addToSet.members;
if (!_.contains(doc.members, memberId)) {
@ -353,10 +353,10 @@ function cardMembers(userId, doc, fieldNames, modifier) {
}
}
// Say goodbye to the former member
// Say goodbye to the former member
if (modifier.$pull && modifier.$pull.members) {
memberId = modifier.$pull.members;
// Check that the former member is member of the card
// Check that the former member is member of the card
if (_.contains(doc.members, memberId)) {
Activities.insert({
userId,
@ -396,8 +396,8 @@ function cardRemover(userId, doc) {
if (Meteor.isServer) {
// Cards are often fetched within a board, so we create an index to make these
// queries more efficient.
// Cards are often fetched within a board, so we create an index to make these
// queries more efficient.
Meteor.startup(() => {
Cards._collection._ensureIndex({boardId: 1, createdAt: -1});
});
@ -406,24 +406,24 @@ if (Meteor.isServer) {
cardCreation(userId, doc);
});
// New activity for card (un)archivage
// New activity for card (un)archivage
Cards.after.update((userId, doc, fieldNames) => {
cardState(userId, doc, fieldNames);
});
//New activity for card moves
//New activity for card moves
Cards.after.update(function (userId, doc, fieldNames) {
const oldListId = this.previous.listId;
cardMove(userId, doc, fieldNames, oldListId);
});
// Add a new activity if we add or remove a member to the card
// Add a new activity if we add or remove a member to the card
Cards.before.update((userId, doc, fieldNames, modifier) => {
cardMembers(userId, doc, fieldNames, modifier);
});
// Remove all activities associated with a card if we remove the card
// Remove also card_comments / checklists / attachments
// Remove all activities associated with a card if we remove the card
// Remove also card_comments / checklists / attachments
Cards.after.remove((userId, doc) => {
cardRemover(userId, doc);
});
@ -498,12 +498,12 @@ if (Meteor.isServer) {
if (req.body.hasOwnProperty('title')) {
const newTitle = req.body.title;
Cards.direct.update({_id: paramCardId, listId: paramListId, boardId: paramBoardId, archived: false},
{$set: {title: newTitle}});
{$set: {title: newTitle}});
}
if (req.body.hasOwnProperty('listId')) {
const newParamListId = req.body.listId;
Cards.direct.update({_id: paramCardId, listId: paramListId, boardId: paramBoardId, archived: false},
{$set: {listId: newParamListId}});
{$set: {listId: newParamListId}});
const card = Cards.findOne({_id: paramCardId} );
cardMove(req.body.authorId, card, {fieldName: 'listId'}, paramListId);
@ -512,7 +512,7 @@ if (Meteor.isServer) {
if (req.body.hasOwnProperty('description')) {
const newDescription = req.body.description;
Cards.direct.update({_id: paramCardId, listId: paramListId, boardId: paramBoardId, archived: false},
{$set: {description: newDescription}});
{$set: {description: newDescription}});
}
JsonRoutes.sendResult(res, {
code: 200,

View file

@ -34,8 +34,8 @@ InvitationCodes.helpers({
});
// InvitationCodes.before.insert((userId, doc) => {
// doc.createdAt = new Date();
// doc.authorId = userId;
// doc.createdAt = new Date();
// doc.authorId = userId;
// });
if (Meteor.isServer) {

View file

@ -372,6 +372,13 @@ Meteor.methods({
Meteor.call('setUsername', username, userId);
Meteor.call('setEmail', email, userId);
},
setPassword(newPassword, userId) {
check(userId, String);
check(newPassword, String);
if(Meteor.user().isAdmin){
Accounts.setPassword(userId, newPassword);
}
},
});
if (Meteor.isServer) {

View file

@ -1,6 +1,6 @@
{
"name": "wekan",
"version": "0.60.0",
"version": "0.61.0",
"description": "The open-source Trello-like kanban",
"private": true,
"scripts": {

View file

@ -22,10 +22,10 @@ const pkgdef :Spk.PackageDefinition = (
appTitle = (defaultText = "Wekan"),
# The name of the app as it is displayed to the user.
appVersion = 45,
appVersion = 46,
# Increment this for every release.
appMarketingVersion = (defaultText = "0.60.0~2017-11-29"),
appMarketingVersion = (defaultText = "0.61.0~2017-12-12"),
# Human-readable presentation of the app version.
minUpgradableAppVersion = 0,

View file

@ -109,9 +109,9 @@ Migrations.add('add-member-isactive-field', () => {
Boards.find({}, {fields: {members: 1}}).forEach((board) => {
const allUsersWithSomeActivity = _.chain(
Activities.find({ boardId: board._id }, { fields:{ userId:1 }}).fetch())
.pluck('userId')
.uniq()
.value();
.pluck('userId')
.uniq()
.value();
const currentUsers = _.pluck(board.members, 'userId');
const formerUsers = _.difference(allUsersWithSomeActivity, currentUsers);

View file

@ -30,8 +30,8 @@ Meteor.methods({
};
[ 'cardId', 'listId', 'oldListId',
'boardId', 'comment', 'user',
'card', 'commentId',
'boardId', 'comment', 'user',
'card', 'commentId',
].forEach((key) => {
if (params[key]) value[key] = params[key];
});

View file

@ -54,7 +54,7 @@ apps:
parts:
mongodb:
source: https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-ubuntu1604-3.2.16.tgz
source: https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-ubuntu1604-3.2.18.tgz
plugin: dump
stage-packages: [libssl1.0.0]
filesets: