mirror of
https://github.com/discourse/discourse.git
synced 2025-02-07 00:05:00 +08:00
FEATURE: Menu toggle for different reply modes
Allow users to access different reply modes from the composer. Actions introduced: - reply_as_new_topic - reply_as_private_message - reply_to_topic - reply_as_whisper/not
This commit is contained in:
parent
96710754d9
commit
9923829402
|
@ -0,0 +1,63 @@
|
||||||
|
import { default as computed } from 'ember-addons/ember-computed-decorators';
|
||||||
|
import { PRIVATE_MESSAGE, CREATE_TOPIC, REPLY, EDIT } from "discourse/models/composer";
|
||||||
|
import { iconHTML } from 'discourse-common/lib/icon-library';
|
||||||
|
|
||||||
|
export default Ember.Component.extend({
|
||||||
|
classNames: ["composer-action-title"],
|
||||||
|
options: Ember.computed.alias("model.replyOptions"),
|
||||||
|
action: Ember.computed.alias("model.action"),
|
||||||
|
isEditing: Ember.computed.equal("action", EDIT),
|
||||||
|
|
||||||
|
@computed("options", "action")
|
||||||
|
actionTitle(opts, action) {
|
||||||
|
switch (action) {
|
||||||
|
case PRIVATE_MESSAGE:
|
||||||
|
return I18n.t("topic.private_message");
|
||||||
|
case CREATE_TOPIC:
|
||||||
|
return I18n.t("topic.create_long");
|
||||||
|
case REPLY:
|
||||||
|
if (opts.userAvatar && opts.userLink) {
|
||||||
|
return this._formatReplyToUserPost(opts.userAvatar, opts.userLink);
|
||||||
|
} else if (opts.topicLink) {
|
||||||
|
return this._formatReplyToTopic(opts.topicLink);
|
||||||
|
}
|
||||||
|
case EDIT:
|
||||||
|
if (opts.userAvatar && opts.userLink && opts.topicLink) {
|
||||||
|
return this._formatEditUserPost(
|
||||||
|
opts.userAvatar,
|
||||||
|
opts.userLink,
|
||||||
|
opts.topicLink,
|
||||||
|
opts.originalUser
|
||||||
|
);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
},
|
||||||
|
|
||||||
|
_formatEditUserPost(userAvatar, userLink, topicLink, originalUser) {
|
||||||
|
let editTitle = `
|
||||||
|
<a class="topic-link" href="${topicLink.href}">${topicLink.anchor}</a>
|
||||||
|
${userAvatar}
|
||||||
|
<span class="username">${userLink.anchor}</span>
|
||||||
|
${iconHTML("mail-forward", { class: "reply-to-glyph" })}
|
||||||
|
`;
|
||||||
|
|
||||||
|
if (originalUser) {
|
||||||
|
editTitle += `
|
||||||
|
${originalUser.avatar}
|
||||||
|
<span class="original-username">${originalUser.username}</span>
|
||||||
|
`;
|
||||||
|
}
|
||||||
|
|
||||||
|
return editTitle.htmlSafe();
|
||||||
|
},
|
||||||
|
|
||||||
|
_formatReplyToTopic(link) {
|
||||||
|
return `<a class="topic-link" href="${link.href}">${link.anchor}</a>`.htmlSafe();
|
||||||
|
},
|
||||||
|
|
||||||
|
_formatReplyToUserPost(avatar, link) {
|
||||||
|
const htmlLink = `<a class="user-link" href="${link.href}">${link.anchor}</a>`;
|
||||||
|
return `${avatar}${htmlLink}`.htmlSafe();
|
||||||
|
},
|
||||||
|
|
||||||
|
});
|
|
@ -1,4 +1,3 @@
|
||||||
import { iconHTML } from 'discourse-common/lib/icon-library';
|
|
||||||
import RestModel from 'discourse/models/rest';
|
import RestModel from 'discourse/models/rest';
|
||||||
import Topic from 'discourse/models/topic';
|
import Topic from 'discourse/models/topic';
|
||||||
import { throwAjaxError } from 'discourse/lib/ajax-error';
|
import { throwAjaxError } from 'discourse/lib/ajax-error';
|
||||||
|
@ -6,45 +5,45 @@ import Quote from 'discourse/lib/quote';
|
||||||
import Draft from 'discourse/models/draft';
|
import Draft from 'discourse/models/draft';
|
||||||
import computed from 'ember-addons/ember-computed-decorators';
|
import computed from 'ember-addons/ember-computed-decorators';
|
||||||
import { escapeExpression, tinyAvatar } from 'discourse/lib/utilities';
|
import { escapeExpression, tinyAvatar } from 'discourse/lib/utilities';
|
||||||
import { emojiUnescape } from 'discourse/lib/text';
|
|
||||||
|
// The actions the composer can take
|
||||||
|
export const
|
||||||
|
CREATE_TOPIC = 'createTopic',
|
||||||
|
PRIVATE_MESSAGE = 'privateMessage',
|
||||||
|
NEW_PRIVATE_MESSAGE_KEY = 'new_private_message',
|
||||||
|
REPLY = 'reply',
|
||||||
|
EDIT = 'edit',
|
||||||
|
REPLY_AS_NEW_TOPIC_KEY = "reply_as_new_topic",
|
||||||
|
REPLY_AS_NEW_PRIVATE_MESSAGE_KEY = "reply_as_new_private_message";
|
||||||
|
|
||||||
const CLOSED = 'closed',
|
const CLOSED = 'closed',
|
||||||
SAVING = 'saving',
|
SAVING = 'saving',
|
||||||
OPEN = 'open',
|
OPEN = 'open',
|
||||||
DRAFT = 'draft',
|
DRAFT = 'draft',
|
||||||
|
|
||||||
// The actions the composer can take
|
// When creating, these fields are moved into the post model from the composer model
|
||||||
CREATE_TOPIC = 'createTopic',
|
_create_serializer = {
|
||||||
PRIVATE_MESSAGE = 'privateMessage',
|
raw: 'reply',
|
||||||
NEW_PRIVATE_MESSAGE_KEY = 'new_private_message',
|
title: 'title',
|
||||||
REPLY = 'reply',
|
unlist_topic: 'unlistTopic',
|
||||||
EDIT = 'edit',
|
category: 'categoryId',
|
||||||
REPLY_AS_NEW_TOPIC_KEY = "reply_as_new_topic",
|
topic_id: 'topic.id',
|
||||||
REPLY_AS_NEW_PRIVATE_MESSAGE_KEY = "reply_as_new_private_message",
|
is_warning: 'isWarning',
|
||||||
|
whisper: 'whisper',
|
||||||
|
archetype: 'archetypeId',
|
||||||
|
target_usernames: 'targetUsernames',
|
||||||
|
typing_duration_msecs: 'typingTime',
|
||||||
|
composer_open_duration_msecs: 'composerTime',
|
||||||
|
tags: 'tags',
|
||||||
|
featured_link: 'featuredLink'
|
||||||
|
},
|
||||||
|
|
||||||
// When creating, these fields are moved into the post model from the composer model
|
_edit_topic_serializer = {
|
||||||
_create_serializer = {
|
title: 'topic.title',
|
||||||
raw: 'reply',
|
categoryId: 'topic.category.id',
|
||||||
title: 'title',
|
tags: 'topic.tags',
|
||||||
unlist_topic: 'unlistTopic',
|
featuredLink: 'topic.featured_link'
|
||||||
category: 'categoryId',
|
};
|
||||||
topic_id: 'topic.id',
|
|
||||||
is_warning: 'isWarning',
|
|
||||||
whisper: 'whisper',
|
|
||||||
archetype: 'archetypeId',
|
|
||||||
target_usernames: 'targetUsernames',
|
|
||||||
typing_duration_msecs: 'typingTime',
|
|
||||||
composer_open_duration_msecs: 'composerTime',
|
|
||||||
tags: 'tags',
|
|
||||||
featured_link: 'featuredLink'
|
|
||||||
},
|
|
||||||
|
|
||||||
_edit_topic_serializer = {
|
|
||||||
title: 'topic.title',
|
|
||||||
categoryId: 'topic.category.id',
|
|
||||||
tags: 'topic.tags',
|
|
||||||
featuredLink: 'topic.featured_link'
|
|
||||||
};
|
|
||||||
|
|
||||||
const _saveLabels = {};
|
const _saveLabels = {};
|
||||||
_saveLabels[EDIT] = 'composer.save_edit';
|
_saveLabels[EDIT] = 'composer.save_edit';
|
||||||
|
@ -167,52 +166,55 @@ const Composer = RestModel.extend({
|
||||||
return this.get('canEditTopicFeaturedLink') ? 'composer.title_or_link_placeholder' : 'composer.title_placeholder';
|
return this.get('canEditTopicFeaturedLink') ? 'composer.title_or_link_placeholder' : 'composer.title_placeholder';
|
||||||
},
|
},
|
||||||
|
|
||||||
// Determine the appropriate title for this action
|
@computed("action", "post", "topic", "topic.title")
|
||||||
actionTitle: function() {
|
replyOptions(action, post, topic, topicTitle) {
|
||||||
const topic = this.get('topic');
|
let options = {
|
||||||
|
userLink: null,
|
||||||
|
topicLink: null,
|
||||||
|
postLink: null,
|
||||||
|
userAvatar: null,
|
||||||
|
originalUser: null
|
||||||
|
};
|
||||||
|
|
||||||
let postLink, topicLink, usernameLink;
|
|
||||||
if (topic) {
|
if (topic) {
|
||||||
const postNumber = this.get('post.post_number');
|
options.topicLink = {
|
||||||
postLink = "<a href='" + (topic.get('url')) + "/" + postNumber + "'>" +
|
href: topic.get("url"),
|
||||||
I18n.t("post.post_number", { number: postNumber }) + "</a>";
|
anchor: topic.get("fancy_title") || escapeExpression(topicTitle)
|
||||||
|
};
|
||||||
let title = topic.get('fancy_title') || escapeExpression(topic.get('title'));
|
|
||||||
|
|
||||||
topicLink = "<a href='" + (topic.get('url')) + "'> " + title + "</a>";
|
|
||||||
usernameLink = "<a href='" + (topic.get('url')) + "/" + postNumber + "'>" + this.get('post.username') + "</a>";
|
|
||||||
}
|
}
|
||||||
|
|
||||||
let postDescription;
|
|
||||||
const post = this.get('post');
|
|
||||||
|
|
||||||
if (post) {
|
if (post) {
|
||||||
postDescription = I18n.t('post.' + this.get('action'), {
|
options.label = I18n.t(`post.${action}`);
|
||||||
link: postLink,
|
options.userAvatar = tinyAvatar(post.get("avatar_template"));
|
||||||
replyAvatar: tinyAvatar(post.get('avatar_template')),
|
|
||||||
username: this.get('post.username'),
|
|
||||||
usernameLink
|
|
||||||
});
|
|
||||||
|
|
||||||
if (!this.site.mobileView) {
|
if (!this.site.mobileView) {
|
||||||
const replyUsername = post.get('reply_to_user.username');
|
const originalUserName = post.get('reply_to_user.username');
|
||||||
const replyAvatarTemplate = post.get('reply_to_user.avatar_template');
|
const originalUserAvatar = post.get('reply_to_user.avatar_template');
|
||||||
if (replyUsername && replyAvatarTemplate && this.get('action') === EDIT) {
|
if (originalUserName && originalUserAvatar && action === EDIT) {
|
||||||
postDescription += ` ${iconHTML('mail-forward', { class: 'reply-to-glyph' })} ` + tinyAvatar(replyAvatarTemplate) + " " + replyUsername;
|
options.originalUser = {
|
||||||
|
username: originalUserName,
|
||||||
|
avatar: tinyAvatar(originalUserAvatar)
|
||||||
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
switch (this.get('action')) {
|
if (topic && post) {
|
||||||
case PRIVATE_MESSAGE: return I18n.t('topic.private_message');
|
const postNumber = post.get("post_number");
|
||||||
case CREATE_TOPIC: return I18n.t('topic.create_long');
|
|
||||||
case REPLY:
|
options.postLink = {
|
||||||
case EDIT:
|
href: `${topic.get("url")}/${postNumber}`,
|
||||||
if (postDescription) return postDescription;
|
anchor: I18n.t("post.post_number", { number: postNumber })
|
||||||
if (topic) return emojiUnescape(I18n.t('post.reply_topic', { link: topicLink }));
|
};
|
||||||
|
|
||||||
|
options.userLink = {
|
||||||
|
href: `${topic.get("url")}/${postNumber}`,
|
||||||
|
anchor: post.get("username")
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
}.property('action', 'post', 'topic', 'topic.title'),
|
return options;
|
||||||
|
},
|
||||||
|
|
||||||
// whether to disable the post button
|
// whether to disable the post button
|
||||||
cantSubmitPost: function() {
|
cantSubmitPost: function() {
|
||||||
|
|
|
@ -0,0 +1,12 @@
|
||||||
|
{{#if isEditing}}
|
||||||
|
{{d-icon "pencil"}}
|
||||||
|
{{else}}
|
||||||
|
{{composer-actions
|
||||||
|
composerModel=model
|
||||||
|
options=model.replyOptions
|
||||||
|
whispering=model.whisper
|
||||||
|
canWhisper=canWhisper
|
||||||
|
action=model.action}}
|
||||||
|
{{/if}}
|
||||||
|
|
||||||
|
{{actionTitle}}
|
|
@ -16,7 +16,7 @@
|
||||||
{{plugin-outlet name="composer-open" args=(hash model=model)}}
|
{{plugin-outlet name="composer-open" args=(hash model=model)}}
|
||||||
<div class='reply-to'>
|
<div class='reply-to'>
|
||||||
<div class="reply-details">
|
<div class="reply-details">
|
||||||
{{{model.actionTitle}}}
|
{{composer-action-title model=model canWhisper=canWhisper}}
|
||||||
|
|
||||||
{{#unless site.mobileView}}
|
{{#unless site.mobileView}}
|
||||||
{{#if whisperOrUnlistTopicText}}
|
{{#if whisperOrUnlistTopicText}}
|
||||||
|
|
|
@ -0,0 +1,132 @@
|
||||||
|
import DropdownSelectBoxComponent from "select-kit/components/dropdown-select-box";
|
||||||
|
import { default as computed } from "ember-addons/ember-computed-decorators";
|
||||||
|
import { default as Composer, REPLY, EDIT } from "discourse/models/composer";
|
||||||
|
|
||||||
|
export default DropdownSelectBoxComponent.extend({
|
||||||
|
composerController: Ember.inject.controller("composer"),
|
||||||
|
pluginApiIdentifiers: ["composer-actions"],
|
||||||
|
classNames: "composer-actions",
|
||||||
|
fullWidthOnMobile: true,
|
||||||
|
collectionHeight: "auto",
|
||||||
|
autofilterable: false,
|
||||||
|
filterable: false,
|
||||||
|
allowInitialValueMutation: false,
|
||||||
|
allowAutoSelectFirst: false,
|
||||||
|
showFullTitle: false,
|
||||||
|
|
||||||
|
computeHeaderContent() {
|
||||||
|
let content = this.baseHeaderComputedContent();
|
||||||
|
|
||||||
|
switch (this.get("action")) {
|
||||||
|
case REPLY:
|
||||||
|
content.icon = "mail-forward";
|
||||||
|
break;
|
||||||
|
case EDIT:
|
||||||
|
content.icon = "pencil";
|
||||||
|
break;
|
||||||
|
};
|
||||||
|
|
||||||
|
return content;
|
||||||
|
},
|
||||||
|
|
||||||
|
@computed("options", "canWhisper", "whispering", "composerModel.post.username")
|
||||||
|
content(options, canWhisper, whispering, postUsername) {
|
||||||
|
let items = [
|
||||||
|
{
|
||||||
|
name: I18n.t("composer.composer_actions.reply_as_new_topic.label"),
|
||||||
|
description: I18n.t("composer.composer_actions.reply_as_new_topic.desc"),
|
||||||
|
icon: "plus",
|
||||||
|
id: "reply_as_new_topic"
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
|
if (postUsername && postUsername !== this.currentUser.get("username")) {
|
||||||
|
items.push({
|
||||||
|
name: I18n.t("composer.composer_actions.reply_as_private_message.label"),
|
||||||
|
description: I18n.t("composer.composer_actions.reply_as_private_message.desc"),
|
||||||
|
icon: "envelope",
|
||||||
|
id: "reply_as_private_message"
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
if (Ember.get(options, "postLink")) {
|
||||||
|
items.push({
|
||||||
|
name: I18n.t("composer.composer_actions.reply_to_topic.label"),
|
||||||
|
description: I18n.t("composer.composer_actions.reply_to_topic.desc"),
|
||||||
|
icon: "mail-forward",
|
||||||
|
id: "reply_to_topic"
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
if (canWhisper) {
|
||||||
|
if (whispering) {
|
||||||
|
items.push({
|
||||||
|
name: I18n.t("composer.composer_actions.reply_as_not_whisper.label"),
|
||||||
|
description: I18n.t("composer.composer_actions.reply_as_not_whisper.desc"),
|
||||||
|
icon: "eye",
|
||||||
|
id: "reply_as_not_whisper"
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
items.push({
|
||||||
|
name: I18n.t("composer.composer_actions.reply_as_whisper.label"),
|
||||||
|
description: I18n.t("composer.composer_actions.reply_as_whisper.desc"),
|
||||||
|
icon: "eye-slash",
|
||||||
|
id: "reply_as_whisper"
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return items;
|
||||||
|
},
|
||||||
|
|
||||||
|
_replyFromExisting(options) {
|
||||||
|
const topicTitle = this.get("composerModel.topic.title");
|
||||||
|
let url = this.get("composerModel.post.url") || this.get("composerModel.topic.url");
|
||||||
|
|
||||||
|
this.get("composerController").open(options).then(() => {
|
||||||
|
url = `${location.protocol}//${location.host}${url}`;
|
||||||
|
const link = `[${Handlebars.escapeExpression(topicTitle)}](${url})`;
|
||||||
|
this.get("composerController").get("model").prependText(`${I18n.t("post.continue_discussion", { postLink: link })}`, {new_line: true});
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
|
actions: {
|
||||||
|
onSelect(value) {
|
||||||
|
switch(value) {
|
||||||
|
case "reply_as_whisper":
|
||||||
|
this.set("composerModel.whisper", true);
|
||||||
|
this.get("composerController").save();
|
||||||
|
break;
|
||||||
|
|
||||||
|
case "reply_as_not_whisper":
|
||||||
|
this.set("composerModel.whisper", false);
|
||||||
|
this.get("composerController").save();
|
||||||
|
break;
|
||||||
|
|
||||||
|
case "reply_to_topic":
|
||||||
|
this.set("composerModel.post", null);
|
||||||
|
this.get("composerController").save();
|
||||||
|
break;
|
||||||
|
|
||||||
|
case "reply_as_new_topic":
|
||||||
|
const replyAsNewTopicOpts = {
|
||||||
|
action: Composer.CREATE_TOPIC,
|
||||||
|
draftKey: Composer.REPLY_AS_NEW_TOPIC_KEY,
|
||||||
|
categoryId: this.get("composerModel.topic.category.id")
|
||||||
|
};
|
||||||
|
this._replyFromExisting(replyAsNewTopicOpts);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case "reply_as_private_message":
|
||||||
|
const replyAsPrivateMsgOpts = {
|
||||||
|
action: Composer.PRIVATE_MESSAGE,
|
||||||
|
archetypeId: "private_message",
|
||||||
|
draftKey: Composer.REPLY_AS_NEW_PRIVATE_MESSAGE_KEY,
|
||||||
|
usernames: this.get("composerModel.post.username")
|
||||||
|
};
|
||||||
|
this._replyFromExisting(replyAsPrivateMsgOpts);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
|
@ -11,7 +11,7 @@
|
||||||
max-width: 1475px;
|
max-width: 1475px;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
&.hide-preview {
|
&.hide-preview {
|
||||||
max-width:740px;
|
max-width:740px;
|
||||||
}
|
}
|
||||||
@media screen and (max-width: 1200px) {
|
@media screen and (max-width: 1200px) {
|
||||||
min-width: 0;
|
min-width: 0;
|
||||||
|
@ -29,7 +29,7 @@
|
||||||
.saving-text,
|
.saving-text,
|
||||||
.draft-text {
|
.draft-text {
|
||||||
display: none;
|
display: none;
|
||||||
padding-left: 10px;
|
padding-left: 10px;
|
||||||
.spinner {
|
.spinner {
|
||||||
margin-left: 5px;
|
margin-left: 5px;
|
||||||
border-color: $secondary;
|
border-color: $secondary;
|
||||||
|
@ -96,11 +96,25 @@
|
||||||
color: $primary-high;
|
color: $primary-high;
|
||||||
}
|
}
|
||||||
.reply-details {
|
.reply-details {
|
||||||
overflow: hidden;
|
|
||||||
text-overflow: ellipsis;
|
|
||||||
white-space: nowrap;
|
|
||||||
max-width: calc(100% - 100px);
|
max-width: calc(100% - 100px);
|
||||||
}
|
}
|
||||||
|
.composer-action-title {
|
||||||
|
display: inline-flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: space-between;
|
||||||
|
|
||||||
|
.topic-link, .user-link, .username {
|
||||||
|
overflow: hidden;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
white-space: nowrap;
|
||||||
|
max-width: calc(100%-125px);
|
||||||
|
margin-right: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.d-icon {
|
||||||
|
margin-right: 5px;
|
||||||
|
}
|
||||||
|
}
|
||||||
.composer-controls {
|
.composer-controls {
|
||||||
margin-left: auto;
|
margin-left: auto;
|
||||||
margin-right: -5px;
|
margin-right: -5px;
|
||||||
|
@ -378,4 +392,4 @@ div.ac-wrap {
|
||||||
|
|
||||||
.md-table {
|
.md-table {
|
||||||
overflow-y: auto;
|
overflow-y: auto;
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,22 @@
|
||||||
|
.select-kit {
|
||||||
|
&.dropdown-select-box {
|
||||||
|
&.composer-actions {
|
||||||
|
margin: 0;
|
||||||
|
.select-kit-header {
|
||||||
|
background: none;
|
||||||
|
outline: none;
|
||||||
|
padding: 0;
|
||||||
|
|
||||||
|
.d-icon {
|
||||||
|
border: 1px solid $primary-low;
|
||||||
|
padding: 5px;
|
||||||
|
margin: 0;
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
background: $primary-low;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -1855,8 +1855,6 @@ ar:
|
||||||
many: لقد حدّدت <b>{{count}}</b> منشور.
|
many: لقد حدّدت <b>{{count}}</b> منشور.
|
||||||
other: لقد حدّدت <b>{{count}}</b> منشور.
|
other: لقد حدّدت <b>{{count}}</b> منشور.
|
||||||
post:
|
post:
|
||||||
reply: "<i class='fa fa-mail-forward'></i> {{replyAvatar}} {{usernameLink}}"
|
|
||||||
reply_topic: "<i class='fa fa-mail-forward'></i> {{link}}"
|
|
||||||
quote_reply: "اقتبس"
|
quote_reply: "اقتبس"
|
||||||
edit_reason: "السبب:"
|
edit_reason: "السبب:"
|
||||||
post_number: "المنشور {{number}}"
|
post_number: "المنشور {{number}}"
|
||||||
|
|
|
@ -1505,8 +1505,6 @@ ca:
|
||||||
one: Has seleccionat <b>1</b> publicació
|
one: Has seleccionat <b>1</b> publicació
|
||||||
other: Has seleccionat <b>{{count}}</b> publicacions.
|
other: Has seleccionat <b>{{count}}</b> publicacions.
|
||||||
post:
|
post:
|
||||||
reply: "<i class='fa fa-mail-forward'></i> {{replyAvatar}} {{usernameLink}}"
|
|
||||||
reply_topic: "<i class='fa fa-mail-forward'></i> {{link}}"
|
|
||||||
quote_reply: "Cita"
|
quote_reply: "Cita"
|
||||||
edit_reason: "Motiu:"
|
edit_reason: "Motiu:"
|
||||||
post_number: "publicació {{number}}"
|
post_number: "publicació {{number}}"
|
||||||
|
|
|
@ -1542,8 +1542,6 @@ cs:
|
||||||
few: Máte označeny <b>{{count}}</b> příspěvky.
|
few: Máte označeny <b>{{count}}</b> příspěvky.
|
||||||
other: Máte označeno <b>{{count}}</b> příspěvků.
|
other: Máte označeno <b>{{count}}</b> příspěvků.
|
||||||
post:
|
post:
|
||||||
reply: "<i class='fa fa-mail-forward'></i> {{replyAvatar}} {{usernameLink}}"
|
|
||||||
reply_topic: "<i class='fa fa-mail-forward'></i> {{link}}"
|
|
||||||
quote_reply: "Cituj"
|
quote_reply: "Cituj"
|
||||||
edit_reason: "Důvod: "
|
edit_reason: "Důvod: "
|
||||||
post_number: "příspěvek č. {{number}}"
|
post_number: "příspěvek č. {{number}}"
|
||||||
|
|
|
@ -1540,8 +1540,6 @@ da:
|
||||||
one: Du har valgt <b>1</b> indlæg.
|
one: Du har valgt <b>1</b> indlæg.
|
||||||
other: Du har valgt <b>{{count}}</b> indlæg.
|
other: Du har valgt <b>{{count}}</b> indlæg.
|
||||||
post:
|
post:
|
||||||
reply: "<i class='fa fa-mail-forward'></i> {{replyAvatar}} {{usernameLink}}"
|
|
||||||
reply_topic: "<i class='fa fa-mail-forward'></i> {{link}}"
|
|
||||||
quote_reply: "Citér"
|
quote_reply: "Citér"
|
||||||
edit_reason: "Reason: "
|
edit_reason: "Reason: "
|
||||||
post_number: "indlæg {{number}}"
|
post_number: "indlæg {{number}}"
|
||||||
|
|
|
@ -1695,8 +1695,6 @@ de:
|
||||||
one: Du hast <b>1</b> Beitrag ausgewählt.
|
one: Du hast <b>1</b> Beitrag ausgewählt.
|
||||||
other: Du hast <b>{{count}}</b> Beiträge ausgewählt.
|
other: Du hast <b>{{count}}</b> Beiträge ausgewählt.
|
||||||
post:
|
post:
|
||||||
reply: "<i class='fa fa-mail-forward'></i> {{replyAvatar}} {{usernameLink}}"
|
|
||||||
reply_topic: "<i class='fa fa-mail-forward'></i> {{link}}"
|
|
||||||
quote_reply: "Zitat"
|
quote_reply: "Zitat"
|
||||||
edit: "<i class='fa fa-pencil'></i> {{link}} {{replyAvatar}} {{username}}"
|
edit: "<i class='fa fa-pencil'></i> {{link}} {{replyAvatar}} {{username}}"
|
||||||
edit_reason: "Grund: "
|
edit_reason: "Grund: "
|
||||||
|
|
|
@ -1654,8 +1654,6 @@ el:
|
||||||
one: Έχεις επιλέξει <b>1</b> ανάρτηση.
|
one: Έχεις επιλέξει <b>1</b> ανάρτηση.
|
||||||
other: Έχεις επιλέξει <b>{{count}}</b> αναρτήσεις.
|
other: Έχεις επιλέξει <b>{{count}}</b> αναρτήσεις.
|
||||||
post:
|
post:
|
||||||
reply: "<i class='fa fa-mail-forward'></i> {{replyAvatar}} {{usernameLink}}"
|
|
||||||
reply_topic: "<i class='fa fa-mail-forward'></i> {{link}}"
|
|
||||||
quote_reply: "Παράθεση"
|
quote_reply: "Παράθεση"
|
||||||
edit_reason: "Αιτία:"
|
edit_reason: "Αιτία:"
|
||||||
post_number: "ανάρτηση {{number}}"
|
post_number: "ανάρτηση {{number}}"
|
||||||
|
|
|
@ -1291,6 +1291,23 @@ en:
|
||||||
|
|
||||||
admin_options_title: "Optional staff settings for this topic"
|
admin_options_title: "Optional staff settings for this topic"
|
||||||
|
|
||||||
|
composer_actions:
|
||||||
|
reply_as_new_topic:
|
||||||
|
label: Reply as linked topic
|
||||||
|
desc: Create a new topic
|
||||||
|
reply_as_private_message:
|
||||||
|
label: New message
|
||||||
|
desc: Create a private message
|
||||||
|
reply_to_topic:
|
||||||
|
label: Reply to topic
|
||||||
|
desc: Reply to the original post without replying to a specific post
|
||||||
|
reply_as_whisper:
|
||||||
|
label: Reply as whipser
|
||||||
|
desc: This message will only be visible by staff members
|
||||||
|
reply_as_not_whisper:
|
||||||
|
label: Reply as not whisher
|
||||||
|
desc: This message will be visible by anyone
|
||||||
|
|
||||||
notifications:
|
notifications:
|
||||||
tooltip:
|
tooltip:
|
||||||
regular:
|
regular:
|
||||||
|
@ -1882,8 +1899,6 @@ en:
|
||||||
other: "You have selected <b>{{count}}</b> posts."
|
other: "You have selected <b>{{count}}</b> posts."
|
||||||
|
|
||||||
post:
|
post:
|
||||||
reply: "<i class='fa fa-mail-forward'></i> {{replyAvatar}} {{usernameLink}}"
|
|
||||||
reply_topic: "<i class='fa fa-mail-forward'></i> {{link}}"
|
|
||||||
quote_reply: "Quote"
|
quote_reply: "Quote"
|
||||||
edit: "<i class='fa fa-pencil'></i> {{link}} {{replyAvatar}} {{username}}"
|
edit: "<i class='fa fa-pencil'></i> {{link}} {{replyAvatar}} {{username}}"
|
||||||
edit_reason: "Reason: "
|
edit_reason: "Reason: "
|
||||||
|
|
|
@ -1702,8 +1702,6 @@ es:
|
||||||
one: Has seleccionado <b>1</b> post.
|
one: Has seleccionado <b>1</b> post.
|
||||||
other: Has seleccionado <b>{{count}}</b> posts.
|
other: Has seleccionado <b>{{count}}</b> posts.
|
||||||
post:
|
post:
|
||||||
reply: "<i class='fa fa-mail-forward'></i> {{replyAvatar}} {{usernameLink}}"
|
|
||||||
reply_topic: "<i class='fa fa-mail-forward'></i> {{link}}"
|
|
||||||
quote_reply: "Citar"
|
quote_reply: "Citar"
|
||||||
edit: "<i class='fa fa-pencil'></i>{{link}} {{replyAvatar}} {{username}} "
|
edit: "<i class='fa fa-pencil'></i>{{link}} {{replyAvatar}} {{username}} "
|
||||||
edit_reason: "Motivo:"
|
edit_reason: "Motivo:"
|
||||||
|
|
|
@ -1599,8 +1599,6 @@ et:
|
||||||
one: Oled valinud <b>1</b> postituse.
|
one: Oled valinud <b>1</b> postituse.
|
||||||
other: Oled valinud <b>{{count}}</b> postitust.
|
other: Oled valinud <b>{{count}}</b> postitust.
|
||||||
post:
|
post:
|
||||||
reply: "<i class='fa fa-mail-forward'></i> {{replyAvatar}} {{usernameLink}}"
|
|
||||||
reply_topic: "<i class='fa fa-mail-forward'></i> {{link}}"
|
|
||||||
quote_reply: "Tsitaat"
|
quote_reply: "Tsitaat"
|
||||||
edit_reason: "Põhjus:"
|
edit_reason: "Põhjus:"
|
||||||
post_number: "postitus {{number}}"
|
post_number: "postitus {{number}}"
|
||||||
|
|
|
@ -1512,8 +1512,6 @@ fa_IR:
|
||||||
description:
|
description:
|
||||||
other: شما <b>{{count}}</b> نوشته انتخاب کرده اید
|
other: شما <b>{{count}}</b> نوشته انتخاب کرده اید
|
||||||
post:
|
post:
|
||||||
reply: "<i class='fa fa-mail-forward'></i> {{replyAvatar}} {{usernameLink}}"
|
|
||||||
reply_topic: "<i class='fa fa-mail-forward'></i> {{link}}"
|
|
||||||
quote_reply: "نقلقول"
|
quote_reply: "نقلقول"
|
||||||
edit_reason: "دلیل:"
|
edit_reason: "دلیل:"
|
||||||
post_number: "نوشته {{number}}"
|
post_number: "نوشته {{number}}"
|
||||||
|
|
|
@ -1699,8 +1699,6 @@ fi:
|
||||||
one: Olet valinnut <b>yhden</b> viestin.
|
one: Olet valinnut <b>yhden</b> viestin.
|
||||||
other: Olet valinnut <b>{{count}}</b> viestiä.
|
other: Olet valinnut <b>{{count}}</b> viestiä.
|
||||||
post:
|
post:
|
||||||
reply: "<i class='fa fa-mail-forward'></i> {{replyAvatar}} {{usernameLink}}"
|
|
||||||
reply_topic: "<i class='fa fa-mail-forward'></i> {{link}}"
|
|
||||||
quote_reply: "Lainaa"
|
quote_reply: "Lainaa"
|
||||||
edit: "<i class='fa fa-pencil'></i> {{link}} {{replyAvatar}} {{username}}"
|
edit: "<i class='fa fa-pencil'></i> {{link}} {{replyAvatar}} {{username}}"
|
||||||
edit_reason: "Syy:"
|
edit_reason: "Syy:"
|
||||||
|
|
|
@ -1695,8 +1695,6 @@ fr:
|
||||||
one: vous avez sélectionné <b>1</b> message.
|
one: vous avez sélectionné <b>1</b> message.
|
||||||
other: Vous avez sélectionné <b>{{count}}</b> messages.
|
other: Vous avez sélectionné <b>{{count}}</b> messages.
|
||||||
post:
|
post:
|
||||||
reply: "<i class='fa fa-mail-forward'></i> {{replyAvatar}} {{usernameLink}}"
|
|
||||||
reply_topic: "<i class='fa fa-mail-forward'></i> {{link}}"
|
|
||||||
quote_reply: "Citer"
|
quote_reply: "Citer"
|
||||||
edit: "<i class='fa fa-pencil'></i> {{link}} {{replyAvatar}} {{username}}"
|
edit: "<i class='fa fa-pencil'></i> {{link}} {{replyAvatar}} {{username}}"
|
||||||
edit_reason: "Raison :"
|
edit_reason: "Raison :"
|
||||||
|
|
|
@ -1188,8 +1188,6 @@ gl:
|
||||||
one: Seleccionaches <b>unha</b> publicación.
|
one: Seleccionaches <b>unha</b> publicación.
|
||||||
other: Seleccionaches <b>{{count}}</b> publicacións.
|
other: Seleccionaches <b>{{count}}</b> publicacións.
|
||||||
post:
|
post:
|
||||||
reply: "<i class='fa fa-mail-forward'></i> {{replyAvatar}} {{usernameLink}}"
|
|
||||||
reply_topic: "<i class='fa fa-mail-forward'></i> {{link}}"
|
|
||||||
edit_reason: "Razón:"
|
edit_reason: "Razón:"
|
||||||
post_number: "publicación {{number}}"
|
post_number: "publicación {{number}}"
|
||||||
last_edited_on: "última edición da publicación"
|
last_edited_on: "última edición da publicación"
|
||||||
|
|
|
@ -1561,8 +1561,6 @@ he:
|
||||||
one: בחרתם פוסט אחד.
|
one: בחרתם פוסט אחד.
|
||||||
other: בחרתם <b>{{count}}</b> פוסטים.
|
other: בחרתם <b>{{count}}</b> פוסטים.
|
||||||
post:
|
post:
|
||||||
reply: "<i class='fa fa-mail-forward'></i> {{replyAvatar}} {{usernameLink}}"
|
|
||||||
reply_topic: "<i class='fa fa-mail-forward'></i> {{link}}"
|
|
||||||
quote_reply: "ציטוט"
|
quote_reply: "ציטוט"
|
||||||
edit_reason: "סיבה: "
|
edit_reason: "סיבה: "
|
||||||
post_number: "פוסט {{number}}"
|
post_number: "פוסט {{number}}"
|
||||||
|
|
|
@ -1691,8 +1691,6 @@ it:
|
||||||
one: Hai selezionato <b>1</b> messaggio.
|
one: Hai selezionato <b>1</b> messaggio.
|
||||||
other: Hai selezionato <b>{{count}}</b> messaggi.
|
other: Hai selezionato <b>{{count}}</b> messaggi.
|
||||||
post:
|
post:
|
||||||
reply: "<i class='fa fa-mail-forward'></i> {{replyAvatar}} {{usernameLink}}"
|
|
||||||
reply_topic: "<i class='fa fa-mail-forward'></i> {{link}}"
|
|
||||||
quote_reply: "Cita"
|
quote_reply: "Cita"
|
||||||
edit_reason: "Motivo:"
|
edit_reason: "Motivo:"
|
||||||
post_number: "messaggio {{number}}"
|
post_number: "messaggio {{number}}"
|
||||||
|
|
|
@ -1567,8 +1567,6 @@ ja:
|
||||||
description:
|
description:
|
||||||
other: <b>{{count}}</b>個の投稿を選択中。
|
other: <b>{{count}}</b>個の投稿を選択中。
|
||||||
post:
|
post:
|
||||||
reply: "<i class='fa fa-mail-forward'></i> {{replyAvatar}} {{usernameLink}}"
|
|
||||||
reply_topic: "<i class='fa fa-mail-forward'></i> {{link}}"
|
|
||||||
quote_reply: "引用"
|
quote_reply: "引用"
|
||||||
edit_reason: "理由: "
|
edit_reason: "理由: "
|
||||||
post_number: "投稿{{number}}"
|
post_number: "投稿{{number}}"
|
||||||
|
|
|
@ -1578,8 +1578,6 @@ ko:
|
||||||
description:
|
description:
|
||||||
other: <b>{{count}}</b>개의 개시글을 선택하셨어요.
|
other: <b>{{count}}</b>개의 개시글을 선택하셨어요.
|
||||||
post:
|
post:
|
||||||
reply: "<i class='fa fa-mail-forward'></i> {{replyAvatar}} {{usernameLink}}"
|
|
||||||
reply_topic: "<i class='fa fa-mail-forward'></i> {{link}}"
|
|
||||||
quote_reply: "인용하기"
|
quote_reply: "인용하기"
|
||||||
edit_reason: "Reason: "
|
edit_reason: "Reason: "
|
||||||
post_number: "{{number}}번째 글"
|
post_number: "{{number}}번째 글"
|
||||||
|
|
|
@ -1623,8 +1623,6 @@ lv:
|
||||||
one: Jūs esat izvēlējies <b>1</b> ierakstu.
|
one: Jūs esat izvēlējies <b>1</b> ierakstu.
|
||||||
other: Jūs esat izvēlējies <b>{{count}}</b> ierakstus.
|
other: Jūs esat izvēlējies <b>{{count}}</b> ierakstus.
|
||||||
post:
|
post:
|
||||||
reply: "<i class='fa fa-mail-forward'></i> {{replyAvatar}} {{usernameLink}}"
|
|
||||||
reply_topic: "<i class='fa fa-mail-forward'></i> {{link}}"
|
|
||||||
quote_reply: "Citāts"
|
quote_reply: "Citāts"
|
||||||
edit_reason: "Iemesls:"
|
edit_reason: "Iemesls:"
|
||||||
post_number: "ieraksts {{number}}"
|
post_number: "ieraksts {{number}}"
|
||||||
|
|
|
@ -1702,8 +1702,6 @@ nb_NO:
|
||||||
one: Du har valgt <b>1</b> innlegg.
|
one: Du har valgt <b>1</b> innlegg.
|
||||||
other: Du har valgt <b>{{count}}</b> innlegg.
|
other: Du har valgt <b>{{count}}</b> innlegg.
|
||||||
post:
|
post:
|
||||||
reply: "<i class='fa fa-mail-forward'></i> {{replyAvatar}} {{usernameLink}}"
|
|
||||||
reply_topic: "<i class='fa fa-mail-forward'></i> {{link}}"
|
|
||||||
quote_reply: "Sitat"
|
quote_reply: "Sitat"
|
||||||
edit: "<i class='fa fa-pencil'></i> {{link}} {{replyAvatar}} {{username}}"
|
edit: "<i class='fa fa-pencil'></i> {{link}} {{replyAvatar}} {{username}}"
|
||||||
edit_reason: "Begrunnelse:"
|
edit_reason: "Begrunnelse:"
|
||||||
|
|
|
@ -1623,8 +1623,6 @@ nl:
|
||||||
one: U hebt <b>1</b> bericht geselecteerd.
|
one: U hebt <b>1</b> bericht geselecteerd.
|
||||||
other: U hebt <b>{{count}}</b> berichten geselecteerd.
|
other: U hebt <b>{{count}}</b> berichten geselecteerd.
|
||||||
post:
|
post:
|
||||||
reply: "<i class='fa fa-mail-forward'></i> {{replyAvatar}} {{usernameLink}}"
|
|
||||||
reply_topic: "<i class='fa fa-mail-forward'></i> {{link}}"
|
|
||||||
quote_reply: "Citeren"
|
quote_reply: "Citeren"
|
||||||
edit_reason: "Reden: "
|
edit_reason: "Reden: "
|
||||||
post_number: "bericht {{number}}"
|
post_number: "bericht {{number}}"
|
||||||
|
|
|
@ -1784,8 +1784,6 @@ pl_PL:
|
||||||
many: Wybrano <b>{{count}}</b> wpisów.
|
many: Wybrano <b>{{count}}</b> wpisów.
|
||||||
other: Wybrano <b>{{count}}</b> wpisów.
|
other: Wybrano <b>{{count}}</b> wpisów.
|
||||||
post:
|
post:
|
||||||
reply: "<i class='fa fa-mail-forward'></i> {{replyAvatar}} {{usernameLink}}"
|
|
||||||
reply_topic: "<i class='fa fa-mail-forward'></i> {{link}}"
|
|
||||||
quote_reply: "Cytuj"
|
quote_reply: "Cytuj"
|
||||||
edit_reason: "Powód"
|
edit_reason: "Powód"
|
||||||
post_number: "wpis {{number}}"
|
post_number: "wpis {{number}}"
|
||||||
|
|
|
@ -1514,8 +1514,6 @@ pt:
|
||||||
one: Selecionou <b>1</b> publicação.
|
one: Selecionou <b>1</b> publicação.
|
||||||
other: Selecionou <b>{{count}}</b> publicações.
|
other: Selecionou <b>{{count}}</b> publicações.
|
||||||
post:
|
post:
|
||||||
reply: "<i class='fa fa-mail-forward'></i> {{replyAvatar}} {{usernameLink}}"
|
|
||||||
reply_topic: "<i class='fa fa-mail-forward'></i> {{link}}"
|
|
||||||
quote_reply: "Citar"
|
quote_reply: "Citar"
|
||||||
edit_reason: "Motivo:"
|
edit_reason: "Motivo:"
|
||||||
post_number: "publicação {{number}}"
|
post_number: "publicação {{number}}"
|
||||||
|
|
|
@ -1581,8 +1581,6 @@ pt_BR:
|
||||||
one: <b>1</b> resposta selecionada.
|
one: <b>1</b> resposta selecionada.
|
||||||
other: <b>{{count}}</b> respostas selecionadas.
|
other: <b>{{count}}</b> respostas selecionadas.
|
||||||
post:
|
post:
|
||||||
reply: "<i class='fa fa-mail-forward'></i> {{replyAvatar}} {{usernameLink}}"
|
|
||||||
reply_topic: "<i class='fa fa-mail-forward'></i> {{link}}"
|
|
||||||
quote_reply: "Citação"
|
quote_reply: "Citação"
|
||||||
edit_reason: "Motivo:"
|
edit_reason: "Motivo:"
|
||||||
post_number: "resposta {{number}}"
|
post_number: "resposta {{number}}"
|
||||||
|
|
|
@ -1487,8 +1487,6 @@ ro:
|
||||||
few: Ai selectat <b>{{count}}</b> mesaje.
|
few: Ai selectat <b>{{count}}</b> mesaje.
|
||||||
other: Ai selectat <b>{{count}}</b> de mesaje.
|
other: Ai selectat <b>{{count}}</b> de mesaje.
|
||||||
post:
|
post:
|
||||||
reply: "<i class='fa fa-mail-forward'></i> {{replyAvatar}} {{usernameLink}}"
|
|
||||||
reply_topic: "<i class='fa fa-mail-forward'></i> {{link}}"
|
|
||||||
quote_reply: "Citează"
|
quote_reply: "Citează"
|
||||||
edit_reason: "Motivul edit[rii: "
|
edit_reason: "Motivul edit[rii: "
|
||||||
post_number: "postarea {{number}}"
|
post_number: "postarea {{number}}"
|
||||||
|
|
|
@ -1687,8 +1687,6 @@ ru:
|
||||||
many: Вы выбрали <b>{{count}}</b> сообщений.
|
many: Вы выбрали <b>{{count}}</b> сообщений.
|
||||||
other: Вы выбрали <b>{{count}}</b> сообщений.
|
other: Вы выбрали <b>{{count}}</b> сообщений.
|
||||||
post:
|
post:
|
||||||
reply: "<i class='fa fa-mail-forward'></i> {{replyAvatar}} {{usernameLink}}"
|
|
||||||
reply_topic: "<i class='fa fa-mail-forward'></i> {{link}}"
|
|
||||||
quote_reply: "Цитата"
|
quote_reply: "Цитата"
|
||||||
edit_reason: "Причина:"
|
edit_reason: "Причина:"
|
||||||
post_number: "сообщение {{number}}"
|
post_number: "сообщение {{number}}"
|
||||||
|
|
|
@ -1428,8 +1428,6 @@ sk:
|
||||||
few: Označili ste <b>{{count}}</b> príspevky
|
few: Označili ste <b>{{count}}</b> príspevky
|
||||||
other: Označili ste <b>{{count}}</b> príspevkov
|
other: Označili ste <b>{{count}}</b> príspevkov
|
||||||
post:
|
post:
|
||||||
reply: "<i class='fa fa-mail-forward'></i> {{replyAvatar}} {{usernameLink}}"
|
|
||||||
reply_topic: "<i class='fa fa-mail-forward'></i> {{link}}"
|
|
||||||
quote_reply: "Citácia"
|
quote_reply: "Citácia"
|
||||||
edit_reason: "Dôvod:"
|
edit_reason: "Dôvod:"
|
||||||
post_number: "príspevok {{number}}"
|
post_number: "príspevok {{number}}"
|
||||||
|
|
|
@ -1391,8 +1391,6 @@ sq:
|
||||||
one: Keni përzgjedhur <b>1</b> postim.
|
one: Keni përzgjedhur <b>1</b> postim.
|
||||||
other: Keni përzgjedhur <b>{{count}}</b> postime.
|
other: Keni përzgjedhur <b>{{count}}</b> postime.
|
||||||
post:
|
post:
|
||||||
reply: "<i class='fa fa-mail-forward'></i> {{replyAvatar}} {{usernameLink}}"
|
|
||||||
reply_topic: "<i class='fa fa-mail-forward'></i> {{link}}"
|
|
||||||
edit_reason: "Arsyeja:"
|
edit_reason: "Arsyeja:"
|
||||||
post_number: "postimi {{number}}"
|
post_number: "postimi {{number}}"
|
||||||
last_edited_on: "redaktimi i fundit u krye më"
|
last_edited_on: "redaktimi i fundit u krye më"
|
||||||
|
|
|
@ -1485,8 +1485,6 @@ sv:
|
||||||
one: Du har markerat <b>1</b> inlägg.
|
one: Du har markerat <b>1</b> inlägg.
|
||||||
other: Du har markerat <b>{{count}}</b> inlägg.
|
other: Du har markerat <b>{{count}}</b> inlägg.
|
||||||
post:
|
post:
|
||||||
reply: "<i class='fa fa-mail-forward'></i> {{replyAvatar}} {{usernameLink}}"
|
|
||||||
reply_topic: "<i class='fa fa-mail-forward'></i> {{link}}"
|
|
||||||
quote_reply: "Citat"
|
quote_reply: "Citat"
|
||||||
edit_reason: "Anledning:"
|
edit_reason: "Anledning:"
|
||||||
post_number: "inlägg {{number}}"
|
post_number: "inlägg {{number}}"
|
||||||
|
|
|
@ -1129,8 +1129,6 @@ th:
|
||||||
description:
|
description:
|
||||||
other: คุณได้เลือก <b>{{count}}</b> โพสต์.
|
other: คุณได้เลือก <b>{{count}}</b> โพสต์.
|
||||||
post:
|
post:
|
||||||
reply: "<i class='fa fa-mail-forward'></i> {{replyAvatar}} {{usernameLink}}"
|
|
||||||
reply_topic: "<i class='fa fa-mail-forward'></i> {{link}}"
|
|
||||||
edit_reason: "เหตุผล:"
|
edit_reason: "เหตุผล:"
|
||||||
post_number: "โพสต์ {{number}}"
|
post_number: "โพสต์ {{number}}"
|
||||||
last_edited_on: "โพสแก้ไขล่าสุดเมื่อ"
|
last_edited_on: "โพสแก้ไขล่าสุดเมื่อ"
|
||||||
|
|
|
@ -1501,8 +1501,6 @@ tr_TR:
|
||||||
description:
|
description:
|
||||||
other: <b>{{count}}</b> gönderi seçtiniz.
|
other: <b>{{count}}</b> gönderi seçtiniz.
|
||||||
post:
|
post:
|
||||||
reply: "<i class='fa fa-mail-forward'></i> {{replyAvatar}} {{usernameLink}}"
|
|
||||||
reply_topic: "<i class='fa fa-mail-forward'></i> {{link}}"
|
|
||||||
quote_reply: "Alıntı"
|
quote_reply: "Alıntı"
|
||||||
edit_reason: "Neden: "
|
edit_reason: "Neden: "
|
||||||
post_number: "gönderi {{number}}"
|
post_number: "gönderi {{number}}"
|
||||||
|
|
|
@ -1443,8 +1443,6 @@ ur:
|
||||||
one: آپ نے <b>1</b> پوسٹ منتخب کی ہے۔
|
one: آپ نے <b>1</b> پوسٹ منتخب کی ہے۔
|
||||||
other: آپ نے <b>{{count}}</b> پوسٹس منتخب کی ہیں۔
|
other: آپ نے <b>{{count}}</b> پوسٹس منتخب کی ہیں۔
|
||||||
post:
|
post:
|
||||||
reply: "<i class='fa fa-mail-forward'></i> {{replyAvatar}} {{usernameLink}}"
|
|
||||||
reply_topic: "<i class='fa fa-mail-forward'></i> {{link}}"
|
|
||||||
quote_reply: "اقتباس کریں"
|
quote_reply: "اقتباس کریں"
|
||||||
edit_reason: "وجہ:"
|
edit_reason: "وجہ:"
|
||||||
post_number: "پوسٹ {{number}}"
|
post_number: "پوسٹ {{number}}"
|
||||||
|
|
|
@ -1414,8 +1414,6 @@ vi:
|
||||||
description:
|
description:
|
||||||
other: Bạn đã chọn <b>{{count}}</b> bài viết.
|
other: Bạn đã chọn <b>{{count}}</b> bài viết.
|
||||||
post:
|
post:
|
||||||
reply: "<i class='fa fa-mail-forward'></i> {{replyAvatar}} {{usernameLink}}"
|
|
||||||
reply_topic: "<i class='fa fa-mail-forward'></i> {{link}}"
|
|
||||||
quote_reply: "Trích dẫn"
|
quote_reply: "Trích dẫn"
|
||||||
edit_reason: "Lý do: "
|
edit_reason: "Lý do: "
|
||||||
post_number: "bài viết {{number}}"
|
post_number: "bài viết {{number}}"
|
||||||
|
|
|
@ -1623,8 +1623,6 @@ zh_CN:
|
||||||
description:
|
description:
|
||||||
other: 已选择 <b>{{count}}</b> 个帖子。
|
other: 已选择 <b>{{count}}</b> 个帖子。
|
||||||
post:
|
post:
|
||||||
reply: "<i class='fa fa-mail-forward'></i> {{replyAvatar}} {{usernameLink}}"
|
|
||||||
reply_topic: "<i class='fa fa-mail-forward'></i> {{link}}"
|
|
||||||
quote_reply: "引用"
|
quote_reply: "引用"
|
||||||
edit: "<i class='fa fa-pencil'></i> {{link}} {{replyAvatar}} {{username}}"
|
edit: "<i class='fa fa-pencil'></i> {{link}} {{replyAvatar}} {{username}}"
|
||||||
edit_reason: "理由:"
|
edit_reason: "理由:"
|
||||||
|
|
|
@ -1404,8 +1404,6 @@ zh_TW:
|
||||||
description:
|
description:
|
||||||
other: 你已選擇了 <b>{{count}}</b> 篇文章。
|
other: 你已選擇了 <b>{{count}}</b> 篇文章。
|
||||||
post:
|
post:
|
||||||
reply: "<i class='fa fa-mail-forward'></i> {{replyAvatar}} {{usernameLink}}"
|
|
||||||
reply_topic: "<i class='fa fa-mail-forward'></i> {{link}}"
|
|
||||||
quote_reply: "引用"
|
quote_reply: "引用"
|
||||||
edit_reason: "原因: "
|
edit_reason: "原因: "
|
||||||
post_number: "文章 {{number}}"
|
post_number: "文章 {{number}}"
|
||||||
|
|
101
test/javascripts/acceptance/composer-actions-test.js.es6
Normal file
101
test/javascripts/acceptance/composer-actions-test.js.es6
Normal file
|
@ -0,0 +1,101 @@
|
||||||
|
import { acceptance } from 'helpers/qunit-helpers';
|
||||||
|
|
||||||
|
acceptance('Composer Actions', {
|
||||||
|
loggedIn: true,
|
||||||
|
settings: {
|
||||||
|
enable_whispers: true
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
QUnit.test('replying to post', assert => {
|
||||||
|
const composerActions = selectKit('.composer-actions');
|
||||||
|
|
||||||
|
visit('/t/internationalization-localization/280');
|
||||||
|
click('article#post_3 button.reply');
|
||||||
|
|
||||||
|
composerActions.expand();
|
||||||
|
|
||||||
|
andThen(() => {
|
||||||
|
assert.equal(composerActions.rowByIndex(0).value(), 'reply_as_new_topic');
|
||||||
|
assert.equal(composerActions.rowByIndex(1).value(), 'reply_as_private_message');
|
||||||
|
assert.equal(composerActions.rowByIndex(2).value(), 'reply_to_topic');
|
||||||
|
assert.equal(composerActions.rowByIndex(3).value(), 'reply_as_whisper');
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
QUnit.test('replying to post - reply_as_private_message', assert => {
|
||||||
|
const composerActions = selectKit('.composer-actions');
|
||||||
|
|
||||||
|
visit('/t/internationalization-localization/280');
|
||||||
|
click('article#post_3 button.reply');
|
||||||
|
|
||||||
|
composerActions.expand().selectRowByValue('reply_as_private_message');
|
||||||
|
|
||||||
|
andThen(() => {
|
||||||
|
assert.equal(find('.users-input .item:eq(0)').text(), 'codinghorror');
|
||||||
|
assert.ok(find('.d-editor-input').val().indexOf('Continuing the discussion') >= 0);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
QUnit.test('replying to post - reply_to_topic', assert => {
|
||||||
|
const composerActions = selectKit('.composer-actions');
|
||||||
|
|
||||||
|
visit('/t/internationalization-localization/280');
|
||||||
|
click('article#post_3 button.reply');
|
||||||
|
fillIn('.d-editor-input', 'test replying to topic when intially replied to post');
|
||||||
|
composerActions.expand().selectRowByValue('reply_to_topic');
|
||||||
|
|
||||||
|
andThen(() => {
|
||||||
|
assert.equal(find('.topic-post:last .cooked p').html().trim(), 'test replying to topic when intially replied to post');
|
||||||
|
assert.notOk(exists(find('.topic-post:last .reply-to-tab')));
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
QUnit.test('replying to post - reply_as_whisper', assert => {
|
||||||
|
const composerActions = selectKit('.composer-actions');
|
||||||
|
|
||||||
|
visit('/t/internationalization-localization/280');
|
||||||
|
click('article#post_3 button.reply');
|
||||||
|
fillIn('.d-editor-input', 'test replying as whisper to topic when intially not a whisper');
|
||||||
|
composerActions.expand().selectRowByValue('reply_as_whisper');
|
||||||
|
|
||||||
|
andThen(() => {
|
||||||
|
assert.ok(exists(find('.topic-post:last .post-info.whisper')));
|
||||||
|
assert.equal(find('.topic-post:last .cooked p').html().trim(), 'test replying as whisper to topic when intially not a whisper');
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
QUnit.test('replying to post - reply_as_not_whisper', assert => {
|
||||||
|
const composerActions = selectKit('.composer-actions');
|
||||||
|
|
||||||
|
visit('/t/internationalization-localization/280');
|
||||||
|
click('article#post_3 button.reply');
|
||||||
|
fillIn('.d-editor-input', 'test replying as not a whisper to topic when intially a whisper');
|
||||||
|
selectKit('.toolbar-popup-menu-options').expand().selectRowByValue('toggleWhisper');
|
||||||
|
composerActions.expand().selectRowByValue('reply_as_not_whisper');
|
||||||
|
|
||||||
|
andThen(() => {
|
||||||
|
assert.notOk(exists(find('.topic-post:last .post-info.whisper')));
|
||||||
|
assert.equal(find('.topic-post:last .cooked p').html().trim(), 'test replying as not a whisper to topic when intially a whisper');
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
QUnit.test('replying to post - reply_as_new_topic', assert => {
|
||||||
|
const composerActions = selectKit('.composer-actions');
|
||||||
|
const categoryChooser = selectKit('.title-wrapper .category-chooser');
|
||||||
|
const categoryChooserReplyArea = selectKit('.reply-area .category-chooser');
|
||||||
|
|
||||||
|
visit('/t/internationalization-localization/280');
|
||||||
|
|
||||||
|
click('#topic-title .d-icon-pencil');
|
||||||
|
categoryChooser.expand().selectRowByValue(4);
|
||||||
|
click('#topic-title .submit-edit');
|
||||||
|
|
||||||
|
click('article#post_3 button.reply');
|
||||||
|
composerActions.expand().selectRowByValue('reply_as_new_topic');
|
||||||
|
|
||||||
|
andThen(() => {
|
||||||
|
assert.equal(categoryChooserReplyArea.header().name(), 'faq');
|
||||||
|
assert.ok(find('.d-editor-input').val().indexOf('Continuing the discussion') >= 0);
|
||||||
|
});
|
||||||
|
});
|
Loading…
Reference in New Issue
Block a user