DEV: Move discourse-solved to core (#33749)

https://meta.discourse.org/t/373574

Internal `/t/-/156778`
This commit is contained in:
Jarek Radosz
2025-07-22 15:07:59 +02:00
parent 732b0ad0b7
commit cc084bbbac
183 changed files with 9049 additions and 0 deletions
+4
View File
@@ -126,6 +126,10 @@ discourse-affiliate:
- changed-files:
- any-glob-to-any-file: plugins/discourse-affiliate/**/*
discourse-solved:
- changed-files:
- any-glob-to-any-file: plugins/discourse-solved/**/*
footnote:
- changed-files:
- any-glob-to-any-file: plugins/footnote/**/*
+1
View File
@@ -74,6 +74,7 @@
!/plugins/discourse-github
!/plugins/discourse-adplugin
!/plugins/discourse-affiliate
!/plugins/discourse-solved
/plugins/*/auto_generated
/spec/fixtures/plugins/my_plugin/auto_generated
+37
View File
@@ -0,0 +1,37 @@
## Discourse Solved
Provides a solved button on designated categories
## How to Install this Plugin
To install Discourse Plugin - https://meta.discourse.org/t/install-a-plugin/19157
## How to Check if Plugin is installed
Go to Admin > Plugins
You should now see:
![screen shot 2018-01-27 at 9 09 47 am](https://user-images.githubusercontent.com/12575688/35466776-fcc5d156-0341-11e8-95e4-4f81fa2880f7.png)
## What to expect if Plugin is installed
Inside the Plugins, you will have the following options:
![screen shot 2018-01-27 at 8 57 35 am](https://user-images.githubusercontent.com/12575688/35466631-60b5e662-0340-11e8-8c9e-f21c135c1726.png)
## How to enable it in your posts
New Categories - Check :white_check_mark: Allow topic owner and staff to mark a reply as the solution
![test2](https://user-images.githubusercontent.com/12575688/35466699-33afb0ac-0341-11e8-8ee3-8099ee216523.png)
Old Categories - Go to that Category > Edit > Settings > Check :white_check_mark: Allow topic owner and staff to mark a reply as the solution
## BONUS: How to add badges to those who answered correctly
https://meta.discourse.org/t/discourse-solved-accepted-answer-plugin/30155
## License
MIT
+7
View File
@@ -0,0 +1,7 @@
{
"tests": {
"requiredPlugins": [
"discourse-assign"
]
}
}
@@ -0,0 +1,48 @@
# frozen_string_literal: true
class DiscourseSolved::AnswerController < ::ApplicationController
requires_plugin DiscourseSolved::PLUGIN_NAME
def accept
limit_accepts
post = Post.find(params[:id].to_i)
topic = post.topic
topic ||= Topic.with_deleted.find(post.topic_id) if guardian.is_staff?
guardian.ensure_can_accept_answer!(topic, post)
DiscourseSolved.accept_answer!(post, current_user, topic: topic)
render json: success_json
end
def unaccept
limit_accepts
post = Post.find(params[:id].to_i)
topic = post.topic
topic ||= Topic.with_deleted.find(post.topic_id) if guardian.is_staff?
guardian.ensure_can_accept_answer!(topic, post)
DiscourseSolved.unaccept_answer!(post, topic: topic)
render json: success_json
end
def limit_accepts
return if current_user.staff?
run_rate_limiter =
DiscoursePluginRegistry.apply_modifier(
:solved_answers_controller_run_rate_limiter,
true,
current_user,
)
return if !run_rate_limiter
RateLimiter.new(nil, "accept-hr-#{current_user.id}", 20, 1.hour).performed!
RateLimiter.new(nil, "accept-min-#{current_user.id}", 4, 30.seconds).performed!
end
end
@@ -0,0 +1,39 @@
# frozen_string_literal: true
class DiscourseSolved::SolvedTopicsController < ::ApplicationController
requires_plugin DiscourseSolved::PLUGIN_NAME
def by_user
params.require(:username)
user =
fetch_user_from_params(
include_inactive:
current_user.try(:staff?) || (current_user && SiteSetting.show_inactive_accounts),
)
raise Discourse::NotFound unless guardian.public_can_see_profiles?
raise Discourse::NotFound unless guardian.can_see_profile?(user)
offset = [0, params[:offset].to_i].max
limit = params.fetch(:limit, 30).to_i
posts =
Post
.joins(
"INNER JOIN discourse_solved_solved_topics ON discourse_solved_solved_topics.answer_post_id = posts.id",
)
.joins(:topic)
.joins("LEFT JOIN categories ON categories.id = topics.category_id")
.where(user_id: user.id, deleted_at: nil)
.where(topics: { archetype: Archetype.default, deleted_at: nil })
.where(
"topics.category_id IS NULL OR NOT categories.read_restricted OR topics.category_id IN (:secure_category_ids)",
secure_category_ids: guardian.secure_category_ids,
)
.includes(:user, topic: %i[category tags])
.order("discourse_solved_solved_topics.created_at DESC")
.offset(offset)
.limit(limit)
render_serialized(posts, DiscourseSolved::SolvedPostSerializer, root: "user_solved_posts")
end
end
@@ -0,0 +1,34 @@
# frozen_string_literal: true
module DiscourseSolved
class SolvedTopic < ActiveRecord::Base
self.table_name = "discourse_solved_solved_topics"
belongs_to :topic, class_name: "Topic"
belongs_to :answer_post, class_name: "Post", foreign_key: "answer_post_id"
belongs_to :accepter, class_name: "User", foreign_key: "accepter_user_id"
belongs_to :topic_timer, dependent: :destroy
validates :topic_id, presence: true
validates :answer_post_id, presence: true
validates :accepter_user_id, presence: true
end
end
# == Schema Information
#
# Table name: discourse_solved_solved_topics
#
# id :bigint not null, primary key
# topic_id :integer not null
# answer_post_id :integer not null
# accepter_user_id :integer not null
# topic_timer_id :integer
# created_at :datetime not null
# updated_at :datetime not null
#
# Indexes
#
# index_discourse_solved_solved_topics_on_answer_post_id (answer_post_id) UNIQUE
# index_discourse_solved_solved_topics_on_topic_id (topic_id) UNIQUE
#
@@ -0,0 +1,27 @@
# frozen_string_literal: true
module DiscourseSolved
module TopicAnswerMixin
def self.included(klass)
klass.attributes :has_accepted_answer, :can_have_answer
end
def has_accepted_answer
object&.solved.present?
end
def include_has_accepted_answer?
SiteSetting.solved_enabled
end
def can_have_answer
return true if SiteSetting.allow_solved_on_all_topics
return false if object.closed || object.archived
scope.allow_accepted_answers?(object.category_id, object.tags.map(&:name))
end
def include_can_have_answer?
SiteSetting.solved_enabled && SiteSetting.empty_box_on_unsolved
end
end
end
@@ -0,0 +1,87 @@
# frozen_string_literal: true
class DiscourseSolved::SolvedPostSerializer < ApplicationSerializer
attributes :created_at,
:archived,
:avatar_template,
:category_id,
:closed,
:cooked,
:excerpt,
:name,
:post_id,
:post_number,
:post_type,
:raw,
:slug,
:topic_id,
:topic_title,
:truncated,
:url,
:user_id,
:username
def archived
object.topic.archived
end
def avatar_template
object.user&.avatar_template
end
def category_id
object.topic.category_id
end
def closed
object.topic.closed
end
def excerpt
@excerpt ||= PrettyText.excerpt(cooked, 300, keep_emoji_images: true)
end
def name
object.user&.name
end
def include_name?
SiteSetting.enable_names?
end
def post_id
object.id
end
def slug
Slug.for(object.topic.title)
end
def include_slug?
object.topic.title.present?
end
def topic_title
object.topic.title
end
def truncated
true
end
def include_truncated?
cooked.length > 300
end
def url
"#{Discourse.base_url}#{object.url}"
end
def user_id
object.user_id
end
def username
object.user&.username
end
end
@@ -0,0 +1,84 @@
import Component from "@glimmer/component";
import { action } from "@ember/object";
import { service } from "@ember/service";
import DButton from "discourse/components/d-button";
import { ajax } from "discourse/lib/ajax";
import { popupAjaxError } from "discourse/lib/ajax-error";
export default class SolvedAcceptAnswerButton extends Component {
static hidden(args) {
return args.post.topic_accepted_answer;
}
@service appEvents;
@service currentUser;
get showLabel() {
return this.currentUser?.id === this.args.post.topicCreatedById;
}
@action
acceptAnswer() {
const post = this.args.post;
acceptPost(post, this.currentUser);
this.appEvents.trigger("discourse-solved:solution-toggled", post);
post.get("topic.postStream.posts").forEach((p) => {
p.set("topic_accepted_answer", true);
this.appEvents.trigger("post-stream:refresh", { id: p.id });
});
}
<template>
<DButton
class="post-action-menu__solved-unaccepted unaccepted"
...attributes
@action={{this.acceptAnswer}}
@icon="far-square-check"
@label={{if this.showLabel "solved.solution"}}
@title="solved.accept_answer"
/>
</template>
}
function acceptPost(post, acceptingUser) {
const topic = post.topic;
clearAccepted(topic);
post.setProperties({
can_unaccept_answer: true,
can_accept_answer: false,
accepted_answer: true,
});
topic.set("accepted_answer", {
username: post.username,
name: post.name,
post_number: post.post_number,
excerpt: post.cooked,
accepter_username: acceptingUser.username,
accepter_name: acceptingUser.name,
});
ajax("/solution/accept", {
type: "POST",
data: { id: post.id },
}).catch(popupAjaxError);
}
function clearAccepted(topic) {
const posts = topic.get("postStream.posts");
posts.forEach((post) => {
if (post.get("post_number") > 1) {
post.setProperties({
accepted_answer: false,
can_accept_answer: true,
can_unaccept_answer: false,
topic_accepted_answer: false,
});
}
});
}
@@ -0,0 +1,169 @@
import Component from "@glimmer/component";
import { tracked } from "@glimmer/tracking";
import { on } from "@ember/modifier";
import { action } from "@ember/object";
import { service } from "@ember/service";
import { htmlSafe } from "@ember/template";
import AsyncContent from "discourse/components/async-content";
import PostCookedHtml from "discourse/components/post/cooked-html";
import concatClass from "discourse/helpers/concat-class";
import icon from "discourse/helpers/d-icon";
import { ajax } from "discourse/lib/ajax";
import { iconHTML } from "discourse/lib/icon-library";
import { formatUsername } from "discourse/lib/utilities";
import { i18n } from "discourse-i18n";
export default class SolvedAcceptedAnswer extends Component {
@service siteSettings;
@service store;
@tracked expanded = false;
get acceptedAnswer() {
return this.topic.accepted_answer;
}
get quoteId() {
return `accepted-answer-${this.topic.id}-${this.acceptedAnswer.post_number}`;
}
get topic() {
return this.args.post.topic;
}
get hasExcerpt() {
return !!this.acceptedAnswer.excerpt;
}
get htmlAccepter() {
const username = this.acceptedAnswer.accepter_username;
const name = this.acceptedAnswer.accepter_name;
if (!this.siteSettings.show_who_marked_solved) {
return;
}
const formattedUsername =
this.siteSettings.display_name_on_posts && name
? name
: formatUsername(username);
return htmlSafe(
i18n("solved.marked_solved_by", {
username: formattedUsername,
username_lower: username.toLowerCase(),
})
);
}
get htmlSolvedBy() {
const username = this.acceptedAnswer.username;
const name = this.acceptedAnswer.name;
const postNumber = this.acceptedAnswer.post_number;
if (!username || !postNumber) {
return;
}
const displayedUser =
this.siteSettings.display_name_on_posts && name
? name
: formatUsername(username);
const data = {
icon: iconHTML("square-check", { class: "accepted" }),
username_lower: username.toLowerCase(),
username: displayedUser,
post_path: `${this.topic.url}/${postNumber}`,
post_number: postNumber,
user_path: this.store.createRecord("user", { username }).path,
};
return htmlSafe(i18n("solved.accepted_html", data));
}
@action
toggleExpandedPost() {
if (!this.hasExcerpt) {
return;
}
this.expanded = !this.expanded;
}
@action
async loadExpandedAcceptedAnswer(postNumber) {
const acceptedAnswer = await ajax(
`/posts/by_number/${this.topic.id}/${postNumber}`
);
return this.store.createRecord("post", acceptedAnswer);
}
<template>
<aside
class="quote accepted-answer"
data-post={{this.acceptedAnswer.post_number}}
data-topic={{this.topic.id}}
data-expanded={{this.expanded}}
>
{{! template-lint-disable no-invalid-interactive }}
<div
class={{concatClass
"title"
(unless this.hasExcerpt "title-only")
(if this.hasExcerpt "quote__title--can-toggle-content")
}}
{{on "click" this.toggleExpandedPost}}
>
<div class="accepted-answer--solver-accepter">
<div class="accepted-answer--solver">
{{this.htmlSolvedBy}}
</div>
<div class="accepted-answer--accepter">
{{this.htmlAccepter}}
</div>
</div>
{{#if this.hasExcerpt}}
<div class="quote-controls">
<button
aria-controls={{this.quoteId}}
aria-expanded={{if this.expanded "true" "false"}}
class="quote-toggle btn-flat"
type="button"
aria-label={{if
this.expanded
(i18n "post.collapse")
(i18n "expand")
}}
title={{if this.expanded (i18n "post.collapse") (i18n "expand")}}
>
{{icon (if this.expanded "chevron-up" "chevron-down")}}
</button>
</div>
{{/if}}
</div>
{{#if this.hasExcerpt}}
<blockquote id={{this.quoteId}}>
{{#if this.expanded}}
<AsyncContent
@asyncData={{this.loadExpandedAcceptedAnswer}}
@context={{this.acceptedAnswer.post_number}}
>
<:content as |expandedAnswer|>
<div class="expanded-quote" data-post-id={{expandedAnswer.id}}>
<PostCookedHtml
@post={{expandedAnswer}}
@streamElement={{false}}
/>
</div>
</:content>
</AsyncContent>
{{else}}
{{htmlSafe this.acceptedAnswer.excerpt}}
{{/if}}
</blockquote>
{{/if}}
</aside>
</template>
}
@@ -0,0 +1,112 @@
import Component from "@glimmer/component";
import { action } from "@ember/object";
import { service } from "@ember/service";
import { htmlSafe } from "@ember/template";
import DButton from "discourse/components/d-button";
import icon from "discourse/helpers/d-icon";
import { ajax } from "discourse/lib/ajax";
import { popupAjaxError } from "discourse/lib/ajax-error";
import { formatUsername } from "discourse/lib/utilities";
import { i18n } from "discourse-i18n";
import DTooltip from "float-kit/components/d-tooltip";
function unacceptPost(post) {
if (!post.can_unaccept_answer) {
return;
}
const topic = post.topic;
post.setProperties({
can_accept_answer: true,
can_unaccept_answer: false,
accepted_answer: false,
});
topic.set("accepted_answer", undefined);
ajax("/solution/unaccept", {
type: "POST",
data: { id: post.id },
}).catch(popupAjaxError);
}
export default class SolvedUnacceptAnswerButton extends Component {
@service appEvents;
@service siteSettings;
@action
unacceptAnswer() {
const post = this.args.post;
unacceptPost(post);
this.appEvents.trigger("discourse-solved:solution-toggled", post);
post.get("topic.postStream.posts").forEach((p) => {
p.set("topic_accepted_answer", false);
this.appEvents.trigger("post-stream:refresh", { id: p.id });
});
}
get solvedBy() {
if (!this.siteSettings.show_who_marked_solved) {
return;
}
const username = this.args.post.topic.accepted_answer.accepter_username;
const name = this.args.post.topic.accepted_answer.accepter_name;
const displayedName =
this.siteSettings.display_name_on_posts && name
? name
: formatUsername(username);
if (this.args.post.topic.accepted_answer.accepter_username) {
return i18n("solved.marked_solved_by", {
username: displayedName,
username_lower: username,
});
}
}
<template>
<span class="extra-buttons">
{{#if @post.can_unaccept_answer}}
{{#if this.solvedBy}}
<DTooltip @identifier="post-action-menu__solved-accepted-tooltip">
<:trigger>
<DButton
class="post-action-menu__solved-accepted accepted fade-out"
...attributes
@action={{this.unacceptAnswer}}
@icon="square-check"
@label="solved.solution"
@title="solved.unaccept_answer"
/>
</:trigger>
<:content>
{{htmlSafe this.solvedBy}}
</:content>
</DTooltip>
{{else}}
<DButton
class="post-action-menu__solved-accepted accepted fade-out"
...attributes
@action={{this.unacceptAnswer}}
@icon="square-check"
@label="solved.solution"
@title="solved.unaccept_answer"
/>
{{/if}}
{{else}}
<span
class="accepted-text"
title={{i18n "solved.accepted_description"}}
>
<span>{{icon "check"}}</span>
<span class="accepted-label">
{{i18n "solved.solution"}}
</span>
</span>
{{/if}}
</span>
</template>
}
@@ -0,0 +1,25 @@
import { and, eq, or } from "truth-helpers";
import icon from "discourse/helpers/d-icon";
import { i18n } from "discourse-i18n";
const SolvedStatus = <template>
{{~#if
(or @outletArgs.topic.has_accepted_answer @outletArgs.topic.accepted_answer)
~}}
<span
title={{i18n "topic_statuses.solved.help"}}
class="topic-status solved"
>{{icon "far-square-check"}}</span>
{{~else if
(and
@outletArgs.topic.can_have_answer (eq @outletArgs.context "topic-list")
)
~}}
<span
title={{i18n "solved.has_no_accepted_answer"}}
class="topic-status"
>{{icon "far-square"}}</span>
{{~/if~}}
</template>;
export default SolvedStatus;
@@ -0,0 +1,77 @@
import Component from "@glimmer/component";
import { hash } from "@ember/helper";
import { action } from "@ember/object";
import { service } from "@ember/service";
import { i18n } from "discourse-i18n";
import ComboBox from "select-kit/components/combo-box";
const QUERY_PARAM_VALUES = {
solved: "yes",
unsolved: "no",
all: null,
};
const UX_VALUES = {
yes: "solved",
no: "unsolved",
};
export default class SolvedStatusFilter extends Component {
static shouldRender(args, context, owner) {
const router = owner.lookup("service:router");
if (
!context.siteSettings.show_filter_by_solved_status ||
router.currentRouteName === "discovery.categories" ||
args.editingCategory
) {
return false;
} else if (
context.siteSettings.allow_solved_on_all_topics ||
router.currentRouteName === "tag.show"
) {
return true;
} else {
return args.currentCategory?.enable_accepted_answers;
}
}
@service router;
@service siteSettings;
get statuses() {
return ["all", "solved", "unsolved"].map((status) => {
return {
name: i18n(`solved.topic_status_filter.${status}`),
value: status,
};
});
}
get status() {
const queryParamValue = this.router.currentRoute.queryParams?.solved;
return UX_VALUES[queryParamValue] || "all";
}
@action
changeStatus(newStatus) {
this.router.transitionTo({
queryParams: { solved: QUERY_PARAM_VALUES[newStatus] },
});
}
<template>
{{#if this.siteSettings.solved_enabled}}
<li>
<ComboBox
@content={{this.statuses}}
@value={{this.status}}
@valueProperty="value"
@options={{hash caretDownIcon="caret-right" caretUpIcon="caret-down"}}
@onChange={{this.changeStatus}}
class="solved-status-filter"
/>
</li>
{{/if}}
</template>
}
@@ -0,0 +1,57 @@
import Component from "@ember/component";
import { on } from "@ember/modifier";
import { action } from "@ember/object";
import { classNames, tagName } from "@ember-decorators/component";
import { i18n } from "discourse-i18n";
@tagName("")
@classNames("category-custom-settings-outlet", "solved-settings")
export default class SolvedSettings extends Component {
@action
onChangeSetting(value) {
this.set(
"category.custom_fields.enable_accepted_answers",
value ? "true" : "false"
);
}
<template>
<h3>{{i18n "solved.title"}}</h3>
{{#unless this.siteSettings.allow_solved_on_all_topics}}
<section class="field">
<div class="enable-accepted-answer">
<label class="checkbox-label">
<input
{{! template-lint-disable no-action }}
{{on "change" (action "onChangeSetting" value="target.checked")}}
checked={{this.category.enable_accepted_answers}}
type="checkbox"
/>
{{i18n "solved.allow_accepted_answers"}}
</label>
</div>
</section>
{{/unless}}
<section class="field auto-close-solved-topics">
<label for="auto-close-solved-topics">
{{i18n "solved.solved_topics_auto_close_hours"}}
</label>
<input
{{! template-lint-disable no-action }}
{{on
"input"
(action
(mut this.category.custom_fields.solved_topics_auto_close_hours)
value="target.value"
)
}}
value={{this.category.custom_fields.solved_topics_auto_close_hours}}
type="number"
min="0"
id="auto-close-solved-topics"
/>
</section>
</template>
}
@@ -0,0 +1,63 @@
import Component from "@ember/component";
import { later } from "@ember/runloop";
import { classNames, tagName } from "@ember-decorators/component";
import TopicNavigationPopup from "discourse/components/topic-navigation-popup";
import { isTesting } from "discourse/lib/environment";
import { i18n } from "discourse-i18n";
const ONE_WEEK = 7 * 24 * 60 * 60 * 1000; // milliseconds
const MAX_DURATION_WITH_NO_ANSWER = ONE_WEEK;
const DISPLAY_DELAY = isTesting() ? 0 : 2000;
@tagName("div")
@classNames("topic-navigation-outlet", "no-answer")
export default class NoAnswer extends Component {
static shouldRender(args, context) {
return !context.site.mobileView;
}
init() {
super.init(...arguments);
this.set("show", false);
this.setProperties({
oneWeek: ONE_WEEK,
show: false,
});
later(() => {
if (!this.element || this.isDestroying || this.isDestroyed) {
return;
}
const topic = this.topic;
const currentUser = this.currentUser;
// show notice if:
// - user can accept answer
// - it does not have an accepted answer
// - topic is old
// - topic has at least one reply from another user that can be accepted
if (
!topic.accepted_answer &&
currentUser &&
topic.user_id === currentUser.id &&
moment() - moment(topic.created_at) > MAX_DURATION_WITH_NO_ANSWER &&
topic.postStream.posts.some(
(post) => post.user_id !== currentUser.id && post.can_accept_answer
)
) {
this.set("show", true);
}
}, DISPLAY_DELAY);
}
<template>
{{#if this.show}}
<TopicNavigationPopup
@popupId="solved-notice"
@dismissDuration={{this.oneWeek}}
>
<h3>{{i18n "solved.no_answer.title"}}</h3>
<p>{{i18n "solved.no_answer.description"}}</p>
</TopicNavigationPopup>
{{/if}}
</template>
}
@@ -0,0 +1,20 @@
import Component from "@glimmer/component";
import { LinkTo } from "@ember/routing";
import { service } from "@ember/service";
import icon from "discourse/helpers/d-icon";
import { i18n } from "discourse-i18n";
export default class SolvedList extends Component {
@service siteSettings;
<template>
{{#if this.siteSettings.solved_enabled}}
<li class="user-activity-bottom-outlet solved-list">
<LinkTo @route="userActivity.solved">
{{icon "square-check"}}
{{i18n "solved.title"}}
</LinkTo>
</li>
{{/if}}
</template>
}
@@ -0,0 +1,14 @@
import Component from "@ember/component";
import { classNames, tagName } from "@ember-decorators/component";
import { i18n } from "discourse-i18n";
@tagName("div")
@classNames("user-card-metadata-outlet", "accepted-answers")
export default class AcceptedAnswers extends Component {
<template>
{{#if this.user.accepted_answers}}
<span class="desc">{{i18n "solutions"}}</span>
<span>{{this.user.accepted_answers}}</span>
{{/if}}
</template>
}
@@ -0,0 +1,25 @@
import Component from "@glimmer/component";
import { LinkTo } from "@ember/routing";
import { service } from "@ember/service";
import { and } from "truth-helpers";
import UserStat from "discourse/components/user-stat";
export default class SolvedCount extends Component {
@service siteSettings;
<template>
{{#if
(and this.siteSettings.solved_enabled @outletArgs.model.solved_count)
}}
<li class="user-summary-stat-outlet solved-count linked-stat">
<LinkTo @route="userActivity.solved">
<UserStat
@value={{@outletArgs.model.solved_count}}
@label="solved.solution_summary"
@icon="square-check"
/>
</LinkTo>
</li>
{{/if}}
</template>
}
@@ -0,0 +1,19 @@
import { withPluginApi } from "discourse/lib/plugin-api";
export default {
name: "add-topic-list-class",
initialize() {
withPluginApi("1.39.0", (api) => {
api.registerValueTransformer(
"topic-list-item-class",
({ value, context }) => {
if (context.topic.get("has_accepted_answer")) {
value.push("status-solved");
}
return value;
}
);
});
},
};
@@ -0,0 +1,130 @@
import Component from "@glimmer/component";
import { withSilencedDeprecations } from "discourse/lib/deprecated";
import { withPluginApi } from "discourse/lib/plugin-api";
import RenderGlimmer from "discourse/widgets/render-glimmer";
import { i18n } from "discourse-i18n";
import SolvedAcceptAnswerButton from "../components/solved-accept-answer-button";
import SolvedAcceptedAnswer from "../components/solved-accepted-answer";
import SolvedUnacceptAnswerButton from "../components/solved-unaccept-answer-button";
function initializeWithApi(api) {
customizePost(api);
customizePostMenu(api);
if (api.addDiscoveryQueryParam) {
api.addDiscoveryQueryParam("solved", { replace: true, refreshModel: true });
}
}
function customizePost(api) {
api.addTrackedPostProperties(
"can_accept_answer",
"can_unaccept_answer",
"accepted_answer",
"topic_accepted_answer"
);
api.renderAfterWrapperOutlet(
"post-content-cooked-html",
class extends Component {
static shouldRender(args) {
return args.post.post_number === 1 && args.post.topic.accepted_answer;
}
<template><SolvedAcceptedAnswer @post={{@outletArgs.post}} /></template>
}
);
withSilencedDeprecations("discourse.post-stream-widget-overrides", () =>
customizeWidgetPost(api)
);
}
function customizeWidgetPost(api) {
api.decorateWidget("post-contents:after-cooked", (helper) => {
let post = helper.getModel();
if (helper.attrs.post_number === 1 && post?.topic?.accepted_answer) {
return new RenderGlimmer(
helper.widget,
"div",
<template><SolvedAcceptedAnswer @post={{@data.post}} /></template>,
{ post }
);
}
});
}
function customizePostMenu(api) {
api.registerValueTransformer(
"post-menu-buttons",
({
value: dag,
context: {
post,
firstButtonKey,
secondLastHiddenButtonKey,
lastHiddenButtonKey,
},
}) => {
let solvedButton;
if (post.can_accept_answer) {
solvedButton = SolvedAcceptAnswerButton;
} else if (post.accepted_answer) {
solvedButton = SolvedUnacceptAnswerButton;
}
solvedButton &&
dag.add(
"solved",
solvedButton,
post.topic_accepted_answer && !post.accepted_answer
? {
before: lastHiddenButtonKey,
after: secondLastHiddenButtonKey,
}
: {
before: [
"assign", // button added by the assign plugin
firstButtonKey,
],
}
);
}
);
}
export default {
name: "extend-for-solved-button",
initialize() {
withPluginApi("1.34.0", initializeWithApi);
withPluginApi("0.8.10", (api) => {
api.replaceIcon(
"notification.solved.accepted_notification",
"square-check"
);
});
withPluginApi("0.11.0", (api) => {
api.addAdvancedSearchOptions({
statusOptions: [
{
name: i18n("search.advanced.statuses.solved"),
value: "solved",
},
{
name: i18n("search.advanced.statuses.unsolved"),
value: "unsolved",
},
],
});
});
withPluginApi("0.11.7", (api) => {
api.addSearchSuggestion("status:solved");
api.addSearchSuggestion("status:unsolved");
});
},
};
@@ -0,0 +1,21 @@
import { computed, get } from "@ember/object";
import Category from "discourse/models/category";
export default {
name: "extend-category-for-solved",
before: "inject-discourse-objects",
initialize() {
Category.reopen({
enable_accepted_answers: computed(
"custom_fields.enable_accepted_answers",
{
get(fieldName) {
return get(this.custom_fields, fieldName) === "true";
},
}
),
});
},
};
@@ -0,0 +1,119 @@
import { tracked } from "@glimmer/tracking";
import EmberObject from "@ember/object";
import { service } from "@ember/service";
import { Promise } from "rsvp";
import { ajax } from "discourse/lib/ajax";
import DiscourseRoute from "discourse/routes/discourse";
import { i18n } from "discourse-i18n";
class SolvedPostsStream {
@tracked content = [];
@tracked loading = false;
@tracked loaded = false;
@tracked itemsLoaded = 0;
@tracked canLoadMore = true;
constructor({ username, siteCategories }) {
this.username = username;
this.siteCategories = siteCategories;
}
get noContent() {
return this.loaded && this.content.length === 0;
}
findItems() {
if (this.loading || !this.canLoadMore) {
return Promise.resolve();
}
this.loading = true;
const limit = 20;
return ajax(
`/solution/by_user.json?username=${this.username}&offset=${this.itemsLoaded}&limit=${limit}`
)
.then((result) => {
const userSolvedPosts = result.user_solved_posts || [];
if (userSolvedPosts.length === 0) {
this.canLoadMore = false;
return;
}
const posts = userSolvedPosts.map((p) => {
const post = EmberObject.create(p);
post.set("titleHtml", post.topic_title);
post.set("postUrl", post.url);
if (post.category_id && this.siteCategories) {
post.set(
"category",
this.siteCategories.find((c) => c.id === post.category_id)
);
}
return post;
});
this.content = [...this.content, ...posts];
this.itemsLoaded = this.itemsLoaded + userSolvedPosts.length;
if (userSolvedPosts.length < limit) {
this.canLoadMore = false;
}
})
.finally(() => {
this.loaded = true;
this.loading = false;
});
}
}
export default class UserActivitySolved extends DiscourseRoute {
@service site;
@service currentUser;
model() {
const user = this.modelFor("user");
const stream = new SolvedPostsStream({
username: user.username,
siteCategories: this.site.categories,
});
return stream.findItems().then(() => {
return {
stream,
emptyState: this.emptyState(),
};
});
}
setupController(controller, model) {
controller.setProperties({
model,
emptyState: this.emptyState(),
});
}
renderTemplate() {
this.render("user-activity-solved");
}
emptyState() {
const user = this.modelFor("user");
let title, body;
if (this.currentUser && user.id === this.currentUser.id) {
title = i18n("solved.no_solved_topics_title");
body = i18n("solved.no_solved_topics_body");
} else {
title = i18n("solved.no_solved_topics_title_others", {
username: user.username,
});
body = "";
}
return { title, body };
}
}
@@ -0,0 +1,7 @@
export default {
resource: "user.userActivity",
map() {
this.route("solved");
},
};
@@ -0,0 +1,16 @@
import RouteTemplate from "ember-route-template";
import EmptyState from "discourse/components/empty-state";
import UserStream from "discourse/components/user-stream";
export default RouteTemplate(
<template>
{{#if @controller.model.stream.noContent}}
<EmptyState
@title={{@controller.model.emptyState.title}}
@body={{@controller.model.emptyState.body}}
/>
{{else}}
<UserStream @stream={{@controller.model.stream}} />
{{/if}}
</template>
);
@@ -0,0 +1,27 @@
#topic-title .d-icon-far-square-check {
margin-top: 0.25em;
}
.topic-post {
nav.post-controls {
.extra-buttons {
button {
max-width: unset;
white-space: nowrap;
}
}
&.expanded {
.accepted,
.unaccepted {
.d-button-label {
display: none;
}
}
}
}
}
li.solved-status-filter {
margin: 0 3px 5px 3px; // matches core styles
}
@@ -0,0 +1,104 @@
$solved-color: var(--success);
.select-kit {
&.solved-status-filter {
min-width: auto;
margin-right: 0.5em;
.select-kit-header {
color: var(--primary-high);
}
}
}
.fa.accepted {
color: $solved-color;
}
.post-controls .extra-buttons {
// anon text
.accepted-text {
white-space: nowrap;
.d-icon,
.accepted-label {
color: $solved-color;
}
}
// logged in button
.accepted {
.d-icon,
.d-button-label {
color: $solved-color;
}
}
}
.post-controls span.accepted-text {
display: inline-flex;
align-items: center;
gap: 0.25em;
padding: 0 0.5rem;
font-size: var(--font-up-1);
height: 100%;
}
.mobile-view .solved-panel {
margin-bottom: 15px;
}
.solved-panel {
.by {
display: none;
}
margin-top: 20px;
margin-bottom: 0;
font-size: 13px;
}
aside.quote.accepted-answer {
> .title {
display: flex;
justify-content: space-between;
align-items: flex-start;
&.quote__title--can-toggle-content {
cursor: pointer;
}
}
.accepted-answer--solver-accepter {
display: flex;
flex-wrap: wrap;
flex: 1;
min-width: 0;
gap: 0.25em;
}
.accepted-answer--solver {
margin-right: auto;
}
.accepted-answer--accepter {
font-size: var(--font-down-1);
width: 100%;
flex-basis: auto;
margin-top: auto;
margin-bottom: auto;
margin-right: 0.25em;
@media (width >= 480px) {
width: auto;
}
}
}
.user-card-metadata-outlet.accepted-answers {
display: inline-block;
}
.post-action-menu__solved-accepted-tooltip-content
.fk-d-tooltip__inner-content {
display: block;
}
@@ -0,0 +1,81 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
ar:
admin_js:
admin:
site_settings:
categories:
discourse_solved: "حل بواسطة Discourse"
js:
notifications:
alt:
solved:
accepted_notification: "تم القبول"
solutions: "الحلول"
solved:
title: "تم الحل"
allow_accepted_answers: "السماح لصاحب الموضوع وفريق العمل بوضع علامة على أحد الردود على أنه الحل"
solved_topics_auto_close_hours: "إغلاق الموضوع تلقائيًا بعد مرور (n) من الساعات على آخر رد بمجرد وضع علامة على الموضوع على أنه محلول."
accept_answer: "التحديد إذا كان هذا الرد يحل المشكلة"
accepted_description: "هذا هو الحل المقبول لهذا الموضوع"
has_no_accepted_answer: "لا يوجد حل لهذا الموضوع"
unaccept_answer: "إلغاء التحديد إذا كان هذا الرد لم يعُد يحل المشكلة"
accepted_answer: "الحل"
solution: "الحل"
solution_summary:
zero: "حل"
one: "حل واحد"
two: "حلَّان"
few: "حلول"
many: "حلًا"
other: "حل"
accepted_html: "%{icon} تم الحل <span class='by'>من قِبل <a href data-user-card='%{username_lower}'>%{username}</a></span> في <a href='%{post_path}' class='back'>المنشور #%{post_number}</a>"
accepted_notification: "<p><span>%{username}</span> %{description}</p>"
topic_status_filter:
all: "الكل"
solved: "محلول"
unsolved: "غير محلول"
no_solved_topics_title: "لم تحل أي موضوعات بعد"
no_solved_topics_title_others: "لم يحل %{username} أي موضوعات حتى الآن"
no_solved_topics_body: "عندما تقدِّم ردًا مفيدًا على أحد الموضوعات، فقد يحدِّد مالك الموضوع أو فريق العمل ردك على أنه الحل."
no_answer:
title: هل تمت الإجابة على سؤالك؟
description: "ميِّز الإجابة وساعد الآخرين عن طريق استخدام زر الحل أسفل الرد الصحيح."
notification:
title: "تم وضع علامة \"حل\" على منشورك"
topic_statuses:
solved:
help: "هناك حل لهذا الموضوع"
search:
advanced:
statuses:
solved: "محلولة"
unsolved: "غير محلولة"
admin:
web_hooks:
solved_event:
group_name: "حدث تم حله"
accepted_solution: "عندما يضع مستخدم علامة على أحد المنشورات على أنه الإجابة المقبولة"
unaccepted_solution: "عندما يضع مستخدم علامة على أحد المنشورات على أنه الإجابة غير المقبولة"
api:
scopes:
descriptions:
solved:
answer: قبول/عدم قبول حل.
discourse_automation:
triggerables:
first_accepted_solution:
max_trust_level:
tl1: < مستوى الثقة 1
tl2: < مستوى الثقة 2
tl3: < مستوى الثقة 3
tl4: < مستوى الثقة 4
any: أي
fields:
maximum_trust_level:
label: مستوى الثقة
description: سيقوم المستخدمون تحت مستوى الثقة هذا بتشغيل هذه الأتمتة
@@ -0,0 +1,17 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
be:
js:
solved:
topic_status_filter:
all: "усе"
discourse_automation:
triggerables:
first_accepted_solution:
fields:
maximum_trust_level:
label: узровень даверу
@@ -0,0 +1,23 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
bg:
js:
notifications:
alt:
solved:
accepted_notification: "прието"
solved:
accepted_answer: "Решение"
solution: "Решение"
topic_status_filter:
all: "всички подкатегории"
discourse_automation:
triggerables:
first_accepted_solution:
fields:
maximum_trust_level:
label: Ниво на Доверие
@@ -0,0 +1,38 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
bs_BA:
js:
notifications:
alt:
solved:
accepted_notification: "prihvaćeno"
solved:
title: "Riješeno"
allow_accepted_answers: "Dopustite vlasniku teme i osoblju da označe odgovor kao rješenje"
accept_answer: "Odaberite ako ovaj odgovor rješava problem"
accepted_description: "Ovo je prihvaćeno rješenje za ovu temu"
has_no_accepted_answer: "Ova tema nema rešenje"
unaccept_answer: "Poništite odabir ako ovaj odgovor više ne rješava problem"
accepted_answer: "Rešenje"
solution: "Rešenje"
solution_summary:
one: "riješenje"
few: "riješenja"
other: "riješenja"
topic_status_filter:
all: "sve"
solved: "riješeno"
unsolved: "nije riješeno"
topic_statuses:
solved:
help: "Ova tema ima riješenje"
discourse_automation:
triggerables:
first_accepted_solution:
fields:
maximum_trust_level:
label: Trust Level
@@ -0,0 +1,39 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
ca:
js:
notifications:
alt:
solved:
accepted_notification: "acceptat"
solved:
title: "Solucionat"
allow_accepted_answers: "Permet que el propietari del tema i l'equip responsable marquin una resposta com a solució"
accept_answer: "Seleccioneu aquesta resposta si resol el problema"
accepted_description: "Aquesta és la solució acceptada per a aquest tema."
has_no_accepted_answer: "Aquest tema no té cap solució"
unaccept_answer: "Desseleccioneu aquesta resposta si ja no resol el problema"
accepted_answer: "Solució"
solution: "Solució"
solution_summary:
one: "solució"
other: "solucions"
accepted_html: "%{icon} Resolt <span class='by'>per <a href data-user-card='%{username_lower}'>%{username}</a></span> en <a href='%{post_path}' class='back'>la publicació núm. %{post_number}</a>"
accepted_notification: "<p><span>%{username}</span> %{description}</p>"
topic_status_filter:
all: "tots"
solved: "resolt"
unsolved: "no resolt"
topic_statuses:
solved:
help: "Aquest tema té una solució"
discourse_automation:
triggerables:
first_accepted_solution:
fields:
maximum_trust_level:
label: Nivell de confiança
@@ -0,0 +1,80 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
cs:
admin_js:
admin:
site_settings:
categories:
discourse_solved: "Discourse Solved"
js:
notifications:
alt:
solved:
accepted_notification: "přijato"
solutions: "Řešení"
solved:
title: "Vyřešeno"
allow_accepted_answers: "Povolit vlastníkovi tématu a správcům označit odpověď jako řešení"
solved_topics_auto_close_hours: "Automaticky uzavřít téma po (n) hodinách od poslední odpovědi, jakmile téma bylo označeno za vyřešené."
accept_answer: "Vyberte, pokud tato odpověď řeší váš problém"
accepted_description: "Toto je přijaté řešení tohoto tématu"
has_no_accepted_answer: "Toto téma nemá žádné řešení"
unaccept_answer: "Tato odpověď již neřeší tento problém"
accepted_answer: "Řešení"
solution: "Řešení"
solution_summary:
one: "řešení"
few: "řešení"
many: "řešení"
other: "řešení"
accepted_html: "%{icon} Vyřešil/a<span class='by'> <a href data-user-card='%{username_lower}'>%{username}</a></span> v <a href='%{post_path}' class='back'>příspěvku #%{post_number}</a>"
accepted_notification: "<p><span>%{username}</span> %{description}</p>"
topic_status_filter:
all: "vše"
solved: "vyřešeno"
unsolved: "nevyřešeno"
no_solved_topics_title: "Zatím jste nevyřešili žádná témata"
no_solved_topics_title_others: "%{username} zatím nevyřešil/a žádná témata"
no_solved_topics_body: "Pokud na téma poskytnete užitečnou odpověď, vaše odpověď může být zvolena jako řešení vlastníkem tématu nebo redakcí."
marked_solved_by: "<a href data-user-card='%{username_lower}'>%{username}</a></span> označil/a jako vyřešené"
no_answer:
title: Byla vaše otázka zodpovězena?
description: "Pomozte ostatním tím, že zvýrazníte odpověď použitím tlačítka Řešení pod správnou odpovědí."
notification:
title: "váš příspěvek byl označen jako řešení"
topic_statuses:
solved:
help: "Toto téma má řešení"
search:
advanced:
statuses:
solved: "jsou vyřešeny"
unsolved: "nejsou vyřešeny"
admin:
web_hooks:
solved_event:
group_name: "Vyřešená událost"
accepted_solution: "Když uživatel/ka označí příspěvek jako přijatou odpověď"
unaccepted_solution: "Když uživatel/ka označí příspěvek jako nepřijatou odpověď"
api:
scopes:
descriptions:
solved:
answer: Přijmout/nepřijmout řešení.
discourse_automation:
triggerables:
first_accepted_solution:
max_trust_level:
tl1: < TL1
tl2: < TL2
tl3: < TL3
tl4: < TL4
any: Jakákoliv
fields:
maximum_trust_level:
label: Věrohodnost
description: Tuto automatizaci spustí uživatelé pod touto úrovní důvěryhodnosti
@@ -0,0 +1,27 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
da:
js:
notifications:
alt:
solved:
accepted_notification: "accepteret"
solved:
allow_accepted_answers: "Tillad ejer af emne og stab at markere svar som en løsning"
accepted_answer: "Løsning"
solution: "Løsning"
topic_status_filter:
all: "alle"
topic_statuses:
solved:
help: "Dette svar har en løsning"
discourse_automation:
triggerables:
first_accepted_solution:
fields:
maximum_trust_level:
label: Tillidsniveau
@@ -0,0 +1,78 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
de:
admin_js:
admin:
site_settings:
categories:
discourse_solved: "Discourse Gelöst"
js:
notifications:
alt:
solved:
accepted_notification: "akzeptiert"
solutions: "Lösungen"
solved:
title: "Gelöst"
allow_accepted_answers: "Erlaube dem Ersteller des Themas und Team-Mitgliedern, eine Antwort als Lösung zu markieren"
solved_topics_auto_close_hours: "Thema automatisch (n) Stunden nach der letzten Antwort schließen, sobald das Thema als gelöst markiert wurde."
accept_answer: "Auswählen, wenn diese Antwort das Problem löst"
accepted_description: "Dies ist die für dieses Thema akzeptierte Lösung"
has_no_accepted_answer: "Dieses Thema hat keine Lösung"
unaccept_answer: "Abwählen, wenn diese Antwort das Problem nicht mehr löst"
accepted_answer: "Lösung"
solution: "Lösung"
solution_summary:
one: "Lösung"
other: "Lösungen"
accepted_html: "%{icon} Gelöst <span class='by'>von <a href data-user-card='%{username_lower}'>%{username}</a></span> in <a href='%{post_path}' class='back'>Beitrag #%{post_number}</a>"
accepted_notification: "<p><span>%{username}</span> %{description}</p>"
topic_status_filter:
all: "alle"
solved: "gelöst"
unsolved: "ungelöst"
no_solved_topics_title: "Du hast noch keine Themen gelöst"
no_solved_topics_title_others: "%{username} hat noch keine Themen gelöst"
no_solved_topics_body: "Wenn du eine hilfreiche Antwort auf ein Thema gibst, kann es sein, dass deine Antwort vom Themenersteller oder einem Team-Mitglied als Lösung ausgewählt wird."
marked_solved_by: "Als gelöst markiert von <a href data-user-card='%{username_lower}'>%{username}</a></span>"
no_answer:
title: Wurde deine Frage beantwortet?
description: "Hebe die Antwort hervor und hilf anderen, indem du die Lösungsschaltfläche unter der richtigen Antwort verwendest."
notification:
title: "dein Beitrag wurde als Lösung markiert"
topic_statuses:
solved:
help: "Dieses Thema hat eine Lösung"
search:
advanced:
statuses:
solved: "sind gelöst"
unsolved: "sind ungelöst"
admin:
web_hooks:
solved_event:
group_name: "Gelöstes Ereignis"
accepted_solution: "Wenn ein Benutzer einen Beitrag als akzeptierte Antwort markiert"
unaccepted_solution: "Wenn ein Benutzer einen Beitrag als nicht akzeptierte Antwort markiert"
api:
scopes:
descriptions:
solved:
answer: Eine Lösung akzeptieren/nicht mehr akzeptieren.
discourse_automation:
triggerables:
first_accepted_solution:
max_trust_level:
tl1: < VS1
tl2: < VS2
tl3: < VS3
tl4: < VS4
any: Beliebig
fields:
maximum_trust_level:
label: Vertrauensstufe
description: Benutzer unter dieser Vertrauensstufe lösen diese Automatisierung aus
@@ -0,0 +1,64 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
el:
js:
notifications:
alt:
solved:
accepted_notification: "αποδεκτό"
solutions: "Λύσεις"
solved:
title: "Λύθηκε"
allow_accepted_answers: "Επιτρέψτε στον κάτοχο και το προσωπικό να επισημάνει μια απάντηση ως λύση"
solved_topics_auto_close_hours: "Αυτόματο κλείσιμο θέματος (n) ώρες μετά την τελευταία απάντηση μόλις το θέμα επισημανθεί ως επιλυμένο."
accept_answer: "Επιλέξτε αν αυτή η απάντηση λύνει το πρόβλημα"
accepted_description: "Αυτή είναι η αποδεκτή λύση σε αυτό το θέμα"
has_no_accepted_answer: "Αυτό το θέμα δεν έχει καμία λύση"
unaccept_answer: "Απενεργοποιήστε την επιλογή αν αυτή η απάντηση δεν λύνει πλέον το πρόβλημα"
accepted_answer: "Λύση"
solution: "Λύση"
solution_summary:
one: "λύση"
other: "λύση"
accepted_html: "%{icon} Λύθηκε <span class='by'>από <a href data-user-card='%{username_lower}'>%{username}</a></span> σε <a href='%{post_path}' class='back'>θέση #%{post_number}</a>"
accepted_notification: "<p><span>%{username}</span> %{description}</p>"
topic_status_filter:
all: "όλα"
solved: "λύθηκε"
unsolved: "άλυτο"
no_solved_topics_title: "Δεν έχετε λύσει κανένα θέμα ακόμα"
no_solved_topics_title_others: "Ο χρήστης %{username} δεν έχει λύσει κανένα θέμα ακόμα"
no_answer:
title: Έχει απαντηθεί η ερώτηση σας;
description: "Επισημάνετε την απάντηση και βοηθήστε άλλους χρησιμοποιώντας το κουμπί λύσης κάτω από τη σωστή απάντηση."
notification:
title: "η ανάρτηση σας επισημάνθηκε ως λύση"
topic_statuses:
solved:
help: "Αυτό το θέμα έχει μια λύση"
search:
advanced:
statuses:
solved: "έχουν επιλυθεί"
unsolved: "δεν έχουν επιλυθεί"
admin:
web_hooks:
solved_event:
group_name: "Επιλύθηκε γεγονός"
api:
scopes:
descriptions:
solved:
answer: Αποδοχή/Απόρριψη μίας λύσης.
discourse_automation:
triggerables:
first_accepted_solution:
max_trust_level:
any: Οποιοδήποτε
fields:
maximum_trust_level:
label: Επίπεδο Εμπιστοσύνης
@@ -0,0 +1,78 @@
en:
admin_js:
admin:
site_settings:
categories:
discourse_solved: "Discourse Solved"
js:
notifications:
alt:
solved:
accepted_notification: "accepted"
solutions: "Solutions"
solved:
title: "Solved"
allow_accepted_answers: "Allow topic owner and staff to mark a reply as the solution"
solved_topics_auto_close_hours: "Auto close topic (n) hours after the last reply once the topic has been marked as solved."
accept_answer: "Select if this reply solves the problem"
accepted_description: "This is the accepted solution to this topic"
has_no_accepted_answer: "This topic has no solution"
unaccept_answer: "Unselect if this reply no longer solves the problem"
accepted_answer: "Solution"
solution: "Solution"
solution_summary:
one: "solution"
other: "solutions"
accepted_html: "%{icon} Solved <span class='by'>by <a href data-user-card='%{username_lower}'>%{username}</a></span> in <a href='%{post_path}' class='back'>post #%{post_number}</a>"
accepted_notification: "<p><span>%{username}</span> %{description}</p>"
topic_status_filter:
all: "all"
solved: "solved"
unsolved: "unsolved"
no_solved_topics_title: "You havent solved any topics yet"
no_solved_topics_title_others: "%{username} has not solved any topics yet"
no_solved_topics_body: "When you provide a helpful reply to a topic, your reply might be selected as the solution by the topic owner or staff."
marked_solved_by: "Marked as solved by <a href data-user-card='%{username_lower}'>%{username}</a></span>"
no_answer:
title: Has your question been answered?
description: "Highlight the answer and help others by using the solution button below the correct reply."
notification:
title: "your post was marked as solution"
topic_statuses:
solved:
help: "This topic has a solution"
search:
advanced:
statuses:
solved: "are solved"
unsolved: "are unsolved"
admin:
web_hooks:
solved_event:
group_name: "Solved Event"
accepted_solution: "When an user marks a post as the accepted answer"
unaccepted_solution: "When an user marks a post as the unaccepted answer"
api:
scopes:
descriptions:
solved:
answer: Accept/Unaccept a solution.
discourse_automation:
triggerables:
first_accepted_solution:
max_trust_level:
tl1: < TL1
tl2: < TL2
tl3: < TL3
tl4: < TL4
any: Any
fields:
maximum_trust_level:
label: Trust Level
description: Users under this Trust Level will trigger this automation
@@ -0,0 +1,7 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
en_GB:
@@ -0,0 +1,77 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
es:
admin_js:
admin:
site_settings:
categories:
discourse_solved: "Discourse resuelto"
js:
notifications:
alt:
solved:
accepted_notification: "aceptado"
solutions: "Soluciones"
solved:
title: "Solucionado"
allow_accepted_answers: "Permitir al propietario del tema y al staff marcar una respuesta como la solución"
solved_topics_auto_close_hours: "Cierre automático del tema (n) horas después de la última respuesta una vez que el tema se haya marcado como solucionado."
accept_answer: "Seleccionar si esta respuesta soluciona el problema"
accepted_description: "Esta es la solución aceptada para este tema"
has_no_accepted_answer: "Este tema no tiene una solución"
unaccept_answer: "Deseleccionar si esta respuesta ya no resuelve el problema"
accepted_answer: "Solución"
solution: "Solución"
solution_summary:
one: "solución"
other: "soluciones"
accepted_html: "%{icon} Resuelto <span class='by'>por <a href data-user-card='%{username_lower}'>%{username}</a></span> en la <a href='%{post_path}' class='back'>publicación n° %{post_number}</a>"
accepted_notification: "<p><span>%{username}</span> %{description}</p>"
topic_status_filter:
all: "todos"
solved: "solucionado"
unsolved: "sin solución"
no_solved_topics_title: "Todavía no has resuelto ningún tema"
no_solved_topics_title_others: "%{username} no ha resuelto ningún tema todavía"
no_solved_topics_body: "Cuando proporcionas una respuesta útil a un tema, el propietario del tema o el personal pueden seleccionar tu respuesta como la solución."
no_answer:
title: '¿Se ha respondido a tu pregunta?'
description: "Destaca la respuesta y ayuda a los demás utilizando el botón de solución que hay debajo de la respuesta correcta."
notification:
title: "tu publicación se ha marcado como solución"
topic_statuses:
solved:
help: "Este tema tiene una solución"
search:
advanced:
statuses:
solved: "están resueltos"
unsolved: "están sin resolver"
admin:
web_hooks:
solved_event:
group_name: "Evento resuelto"
accepted_solution: "Cuando un usuario marca una publicación como la respuesta aceptada"
unaccepted_solution: "Cuando un usuario marca una publicación como la respuesta no aceptada"
api:
scopes:
descriptions:
solved:
answer: Aceptar/No aceptar una solución.
discourse_automation:
triggerables:
first_accepted_solution:
max_trust_level:
tl1: < NC1
tl2: < NC2
tl3: < NC3
tl4: < NC4
any: Cualquiera
fields:
maximum_trust_level:
label: Nivel de confianza
description: Los usuarios bajo este Nivel de confianza activarán esta automatización
@@ -0,0 +1,32 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
et:
js:
notifications:
alt:
solved:
accepted_notification: "aktsepteeritud"
solved:
title: "Lahendatud"
has_no_accepted_answer: "Sellel teemal pole lahendust"
accepted_answer: "Lahendus"
solution: "Lahendus"
solution_summary:
one: "lahendus"
other: "lahendused"
topic_status_filter:
all: "kõik"
solved: "lahendatud"
topic_statuses:
solved:
help: "ellel teemal on lahendus"
discourse_automation:
triggerables:
first_accepted_solution:
fields:
maximum_trust_level:
label: Usaldustase
@@ -0,0 +1,53 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
fa_IR:
js:
notifications:
alt:
solved:
accepted_notification: "تایید شده"
solutions: "راه‌حل‌ها"
solved:
title: "حل شده"
allow_accepted_answers: "به صاحب عنوان و مدیران اجازه انتخاب یک پاسخ را به عنوان راه حل بده."
accept_answer: "اگر این پاسخ مشکل را حل می‌کند، آن را انتخاب کنید"
has_no_accepted_answer: "این موضوع هیچ راه حلی ندارد"
accepted_answer: "راه حل مورد قبول"
solution: "راه حل"
solution_summary:
one: "راه حل"
other: "راه حل ها"
accepted_notification: "<p><span>%{username}</span> %{description}</p>"
topic_status_filter:
all: "همه"
solved: "حل شده"
unsolved: "حل نشده"
no_solved_topics_title_others: "%{username} هنوز هیچ موضوعی را حل نکرده است"
notification:
title: "نوشته شما به عنوان راه حل مشخص شد"
topic_statuses:
solved:
help: "این موضوع راه حلی دارد"
search:
advanced:
statuses:
solved: "حل شده‌اند"
admin:
web_hooks:
solved_event:
group_name: "رویداد حل شده"
api:
scopes:
descriptions:
solved:
answer: تایید/رد کردن یک راه‌حل
discourse_automation:
triggerables:
first_accepted_solution:
fields:
maximum_trust_level:
label: سطح‌اعتماد
@@ -0,0 +1,77 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
fi:
admin_js:
admin:
site_settings:
categories:
discourse_solved: "Discoursen ratkaistu"
js:
notifications:
alt:
solved:
accepted_notification: "hyväksytty"
solutions: "Ratkaisut"
solved:
title: "Ratkaistu"
allow_accepted_answers: "Salli ketjun omistajan ja henkilökunnan merkitä viesti ratkaisuksi"
solved_topics_auto_close_hours: "Sulje ketju automaattisesti (n) tunnin kuluttua viimeisestä vastauksesta, kun ketjun on ratkaistu."
accept_answer: "Valitse, jos tämä vastaus ratkaisee ongelman"
accepted_description: "Tämä on ketjun hyväksytty ratkaisu"
has_no_accepted_answer: "Tässä ketjussa ei ole ratkaisua"
unaccept_answer: "Kumoa valinta, jos tämä vastaus ei enää ratkaise ongelmaa"
accepted_answer: "Ratkaisu"
solution: "Ratkaisu"
solution_summary:
one: "ratkaisu"
other: "ratkaisua"
accepted_html: "%{icon} <span class='by'><a href data-user-card='%{username_lower}'>%{username}</a></span> ratkaisi <a href='%{post_path}' class='back'>viestissä %{post_number}</a>"
accepted_notification: "<p><span>%{username}</span> %{description}</p>"
topic_status_filter:
all: "kaikki"
solved: "ratkaistu"
unsolved: "ratkaisematon"
no_solved_topics_title: "Et ole vielä ratkaissut ketjuja"
no_solved_topics_title_others: "%{username} ei ole vielä ratkaissut ketjuja"
no_solved_topics_body: "Kun annat hyödyllisen vastauksen ketjuun, aiheen omistaja tai henkilökunta saattaa valita vastauksesi ratkaisuksi."
no_answer:
title: Onko kysymykseesi vastattu?
description: "Korosta vastaus ja auta muita käyttämällä oikean vastauksen alla olevaa ratkaisupainiketta."
notification:
title: "viestisi merkittiin ratkaisuksi"
topic_statuses:
solved:
help: "Tämä ketju on ratkaistu"
search:
advanced:
statuses:
solved: "ovat ratkaistu"
unsolved: "ovat ratkaisemattomia"
admin:
web_hooks:
solved_event:
group_name: "Ratkaistu-tapahtuma"
accepted_solution: "Kun käyttäjä merkitsee viestin hyväksytyksi vastaukseksi"
unaccepted_solution: "Kun käyttäjä merkitsee viestin hyväksymättömäksi vastaukseksi"
api:
scopes:
descriptions:
solved:
answer: Hyväksy tai hylkää ratkaisu.
discourse_automation:
triggerables:
first_accepted_solution:
max_trust_level:
tl1: < LT1
tl2: < LT2
tl3: < LT3
tl4: < LT4
any: Mikä tahansa
fields:
maximum_trust_level:
label: Luottamustaso
description: Tämän luottamustason alittavat käyttäjät laukaisevat tämän automaation
@@ -0,0 +1,77 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
fr:
admin_js:
admin:
site_settings:
categories:
discourse_solved: "Discourse résolu"
js:
notifications:
alt:
solved:
accepted_notification: "accepté"
solutions: "Solutions"
solved:
title: "Résolus"
allow_accepted_answers: "Autoriser l'auteur du sujet et les responsables à marquer une réponse comme solution"
solved_topics_auto_close_hours: "Fermer automatiquement le sujet (n) heures après la dernière réponse, une fois que le sujet a été marqué comme résolu."
accept_answer: "Sélectionnez si cette réponse résout le problème"
accepted_description: "C'est la solution acceptée à ce sujet"
has_no_accepted_answer: "Ce sujet n'a pas de solution"
unaccept_answer: "Annulez la sélection si cette réponse ne résout plus le problème"
accepted_answer: "Solution"
solution: "Solution"
solution_summary:
one: "solution"
other: "solutions"
accepted_html: "%{icon} Résolu <span class='by'>par <a href data-user-card='%{username_lower}'>%{username}</a></span> dans le <a href='%{post_path}' class='back'>message #%{post_number}</a>"
accepted_notification: "<p><span>%{username}</span> %{description}</p>"
topic_status_filter:
all: "tous"
solved: "résolu"
unsolved: "non résolu"
no_solved_topics_title: "Vous n'avez encore résolu aucun sujet"
no_solved_topics_title_others: "%{username} n'a encore résolu aucun sujet."
no_solved_topics_body: "Lorsque vous fournissez une réponse utile à un sujet, votre réponse peut être sélectionnée comme solution par le ou la propriétaire ou responsable du sujet."
no_answer:
title: Votre question a-t-elle reçu une réponse ?
description: "Mettez la réponse en surbrillance et aidez les autres utilisateurs en utilisant le bouton de solution sous la réponse adéquate."
notification:
title: "votre message a été marqué comme solution"
topic_statuses:
solved:
help: "Ce sujet a une solution"
search:
advanced:
statuses:
solved: "sont résolus"
unsolved: "ne sont pas résolus"
admin:
web_hooks:
solved_event:
group_name: "Événement résolu"
accepted_solution: "Lorsqu'un utilisateur marque un message comme la réponse acceptée"
unaccepted_solution: "Lorsqu'un utilisateur marque un message comme la réponse non acceptée"
api:
scopes:
descriptions:
solved:
answer: Accepter/refuser une solution.
discourse_automation:
triggerables:
first_accepted_solution:
max_trust_level:
tl1: < NC1
tl2: < NC2
tl3: < NC3
tl4: < NC4
any: Tous
fields:
maximum_trust_level:
label: Niveau de confiance
description: Les utilisateurs dont le niveau de confiance est inférieur à celui-ci déclencheront cette automatisation
@@ -0,0 +1,21 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
gl:
js:
notifications:
alt:
solved:
accepted_notification: "aceptado"
solved:
topic_status_filter:
all: "todo"
discourse_automation:
triggerables:
first_accepted_solution:
fields:
maximum_trust_level:
label: Nivel de confianza
@@ -0,0 +1,80 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
he:
admin_js:
admin:
site_settings:
categories:
discourse_solved: "Discourse נפתר"
js:
notifications:
alt:
solved:
accepted_notification: "התקבל"
solutions: "פתרונות"
solved:
title: "נפתר"
allow_accepted_answers: "לאפשר למשתמשים לאשר תשובות"
solved_topics_auto_close_hours: "לסגור נושא אוטומטית (n) שעות לאחר התגובה האחרונה כאשר הנושא סומן כפתור."
accept_answer: "יש לבחור בזה אם התגובה הזאת פותרת את הבעיה"
accepted_description: "זה הפתרון המקובל לנושא זה"
has_no_accepted_answer: "לנושא הזה אין פתרון"
unaccept_answer: "יש לבטל את הסימון אם התגובה הזו אינה פותרת עוד את הבעיה."
accepted_answer: "פתרון"
solution: "פתרון"
solution_summary:
one: "פתרון"
two: "פתרונות"
many: "פתרונות"
other: "פתרונות"
accepted_html: "%{icon} נפתר <span class='by'>על ידי <a href data-user-card='%{username_lower}'>%{username}</a></span> ב<a href='%{post_path}' class='back'>פוסט מס׳ %{post_number}</a>"
accepted_notification: "<p><span>%{username}</span> %{description}</p>"
topic_status_filter:
all: "הכול"
solved: "נפתר"
unsolved: "בלתי פתור"
no_solved_topics_title: "עדיין לא פתרת אף נושא"
no_solved_topics_title_others: "אין נושאים שנפתרו על ידי %{username} עדיין"
no_solved_topics_body: "לאחר שכתבת תגובה מועילה לנושא, התגובה שלך עשויה להיבחר כפתרון על ידי בעלי הנושא או הסגל."
marked_solved_by: "סומן כפתור על ידי <a href data-user-card='%{username_lower}'>%{username}</a></span>"
no_answer:
title: התשובה שלך נענתה?
description: "ניתן להדגיש את התשובה ולסייע לאחרים על ידי לחיצה על כפתור הפתרון שלהלן מתחת לתגובה הנכונה."
notification:
title: "הפוסט שלך סומן כפתרון"
topic_statuses:
solved:
help: "נושא זה נפתר"
search:
advanced:
statuses:
solved: "נפתרו"
unsolved: "לא נפתרו"
admin:
web_hooks:
solved_event:
group_name: "אירוע שנפתר"
accepted_solution: "כשמשתמש מסמן פוסט כתשובה מקובלת"
unaccepted_solution: "כשמשתמש מסמן פוסט כתשובה בלתי מקובלת"
api:
scopes:
descriptions:
solved:
answer: קבלת/דחיית פתרון.
discourse_automation:
triggerables:
first_accepted_solution:
max_trust_level:
tl1: < דרגת אמון 1
tl2: < דרגת אמון 2
tl3: < דרגת אמון 3
tl4: < דרגת אמון 4
any: כלשהו
fields:
maximum_trust_level:
label: דרגת אמון
description: משתמשים מתחת לדרגת אמון זו יקפיצו אוטומציה זו
@@ -0,0 +1,30 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
hr:
js:
notifications:
alt:
solved:
accepted_notification: "prihvaćen"
solved:
title: "Riješeno"
allow_accepted_answers: "Dopusti vlasniku teme i osoblju da označi odgovor kao rješenje"
accept_answer: "Odaberite ¸ako ovaj odgovor rješava problem"
accepted_description: "Ovo je prihvaćeno rješenje za ovu temu"
has_no_accepted_answer: "Ova tema nema rješenje"
unaccept_answer: "Poništite odabir ako ovaj odgovor više ne rješava problem"
accepted_answer: "Riješenje"
solution: "Riješenje"
topic_status_filter:
all: "sve"
solved: "riješeno"
discourse_automation:
triggerables:
first_accepted_solution:
fields:
maximum_trust_level:
label: Razina povjerenja
@@ -0,0 +1,77 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
hu:
admin_js:
admin:
site_settings:
categories:
discourse_solved: "Discourse Megoldott"
js:
notifications:
alt:
solved:
accepted_notification: "elfogadva"
solutions: "Megoldások"
solved:
title: "Megoldott"
allow_accepted_answers: "Engedélyezi a téma tulajdonosának és a stábnak, hogy megoldásként jelöljenek meg egy bejegyzést"
solved_topics_auto_close_hours: "Automatikusan zárja le a témát (n) órával az utolsó válasz után, miután a témát megoldották."
accept_answer: "Válassza ezt, ha ez a válasz megoldja a problémát"
accepted_description: "Ez a téma elfogadott megoldása"
has_no_accepted_answer: "Ez a téma nem tartalmaz megoldást"
unaccept_answer: "Válaszd ki ha ez a válasz már nem oldja meg a problémát"
accepted_answer: "Megoldás"
solution: "Megoldás"
solution_summary:
one: "megoldás"
other: "megoldás"
accepted_html: "%{icon} <span class='by'><a href data-user-card='%{username_lower}'>%{username}</a></span> megoldotta a(z) <a href='%{post_path}' class='back'>%{post_number}. bejegyzéssel</a>"
accepted_notification: "<p><span>%{username}</span> %{description}</p>"
topic_status_filter:
all: "Összes"
solved: "megoldott"
unsolved: "megoldatlan"
no_solved_topics_title: "Még egy témát sem oldott meg"
no_solved_topics_title_others: "%{username} még nem oldott meg témát"
no_solved_topics_body: "Ha hasznos választ ad egy témára, előfordulhat, hogy a téma tulajdonosa vagy a stáb az Ön válaszát választják megoldásként."
no_answer:
title: Megválaszolták a kérdését?
description: "Emelje ki a választ, és segítsen másoknak is a helyes válasz alatti megoldás gomb segítségével."
notification:
title: "hozzászólásod megoldásként lett megjelölve"
topic_statuses:
solved:
help: "Ez a téma tartalmaz egy megoldást"
search:
advanced:
statuses:
solved: "megoldott"
unsolved: "megoldatlan"
admin:
web_hooks:
solved_event:
group_name: "Megoldott esemény"
accepted_solution: "Amikor egy felhasználó egy hozzászólást elfogadott válaszként jelöl meg"
unaccepted_solution: "Amikor egy felhasználó egy hozzászólást nem elfogadott válaszként jelöl meg"
api:
scopes:
descriptions:
solved:
answer: Megoldás elfogadása/elutasítása.
discourse_automation:
triggerables:
first_accepted_solution:
max_trust_level:
tl1: < BSZ1
tl2: < BSZ2
tl3: < BSZ3
tl4: < BSZ4
any: Bármely
fields:
maximum_trust_level:
label: Bizalmi szint
description: Az ezen a bizalmi szint alatti felhasználók aktiválják ezt az automatizálást
@@ -0,0 +1,36 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
hy:
js:
notifications:
alt:
solved:
accepted_notification: "ընդունված"
solved:
title: "Լուծված է"
allow_accepted_answers: "Թույլատրել թեմայի սեփականատիրոջը և անձնակազմին՝ նշել պատասխանը որպես լուծում"
accept_answer: "Ընտրեք, թե արդյոք այս պատասխանը լուծում է խնդիրը"
has_no_accepted_answer: "Այս թեման լուծում չունի"
unaccept_answer: "Ընտրությունից հանել, եթե այս պատասխանը այլևս չի լուծում խնդիրը"
accepted_answer: "Լուծում"
solution: "Լուծում"
solution_summary:
one: "լուծում"
other: "լուծում"
topic_status_filter:
all: "բոլոր"
solved: "լուծված"
unsolved: "չլուծված"
topic_statuses:
solved:
help: "Այս թեման ունի լուծում:"
discourse_automation:
triggerables:
first_accepted_solution:
fields:
maximum_trust_level:
label: Վստահության Մակարդակ
@@ -0,0 +1,31 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
id:
js:
notifications:
alt:
solved:
accepted_notification: "Diterima"
solved:
allow_accepted_answers: "Izinkan pemilik topik dan staf untuk menandai balasan sebagai solusi"
accept_answer: "Pilih jika balasan ini menyelesaikan masalah"
has_no_accepted_answer: "Topik ini tidak memiliki solusi"
accepted_answer: "Solusi"
solution: "Solusi"
solution_summary:
other: "Solusi"
topic_status_filter:
all: "Semua"
topic_statuses:
solved:
help: "Topik ini memiliki solusi"
discourse_automation:
triggerables:
first_accepted_solution:
fields:
maximum_trust_level:
label: Level Kepercayaan
@@ -0,0 +1,77 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
it:
admin_js:
admin:
site_settings:
categories:
discourse_solved: "Risoluzione Discourse"
js:
notifications:
alt:
solved:
accepted_notification: "accettata"
solutions: "Soluzioni"
solved:
title: "Risolti"
allow_accepted_answers: "Consenti al proprietario dell'argomento e allo staff di contrassegnare una risposta come soluzione"
solved_topics_auto_close_hours: "Chiudi automaticamente l'argomento (n) ore dopo l'ultima risposta una volta che l'argomento è stato contrassegnato come risolto."
accept_answer: "Selezionare se questa risposta risolve il problema"
accepted_description: "Questa è la soluzione accettata per questo argomento"
has_no_accepted_answer: "Questo argomento non ha soluzioni"
unaccept_answer: "Deselezionare se questa risposta non risolve più il problema"
accepted_answer: "Soluzione"
solution: "Soluzione"
solution_summary:
one: "soluzione"
other: "soluzioni"
accepted_html: "%{icon} Risolto <span class='by'>da <a href data-user-card='%{username_lower}'>%{username}</a></span> nel <a href='%{post_path}' class='back'>messaggio #%{post_number}</a>"
accepted_notification: "<p> <span>%{username}</span> %{description} </p>"
topic_status_filter:
all: "tutti"
solved: "risolto"
unsolved: "non risolto"
no_solved_topics_title: "Non hai ancora risolto nessun argomento"
no_solved_topics_title_others: "%{username} non ha ancora risolto nessun argomento"
no_solved_topics_body: "Quando fornisci una risposta utile a un argomento, la tua risposta potrà essere selezionata come soluzione dal proprietario dell'argomento o dallo staff."
no_answer:
title: La tua domanda ha avuto risposta?
description: "Evidenzia la risposta e aiuta gli altri utilizzando il pulsante della soluzione sotto la risposta corretta."
notification:
title: "il tuo messaggio è stato contrassegnato come soluzione"
topic_statuses:
solved:
help: "Questo argomento ha una soluzione"
search:
advanced:
statuses:
solved: "sono risolti"
unsolved: "non sono risolti"
admin:
web_hooks:
solved_event:
group_name: "Evento risolto"
accepted_solution: "Quando un utente contrassegna un messaggio come risposta accettata"
unaccepted_solution: "Quando un utente contrassegna un messaggio come risposta non accettata"
api:
scopes:
descriptions:
solved:
answer: Accetta/Rifiuta una soluzione.
discourse_automation:
triggerables:
first_accepted_solution:
max_trust_level:
tl1: < TL1
tl2: < TL2
tl3: < TL3
tl4: < TL4
any: Qualsiasi
fields:
maximum_trust_level:
label: Livello di attendibilità
description: Gli utenti sotto questo livello di attendibilità attiveranno questa automazione
@@ -0,0 +1,76 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
ja:
admin_js:
admin:
site_settings:
categories:
discourse_solved: "Discourse 解決済み"
js:
notifications:
alt:
solved:
accepted_notification: "受け入れられました"
solutions: "解決策"
solved:
title: "解決済み"
allow_accepted_answers: "トピックオーナーとスタッフが返信を解決策としてマークすることを許可する"
solved_topics_auto_close_hours: "トピックが解決済みとマークされたら、最後の返信から (n) 時間後にトピックを自動クローズします。"
accept_answer: "この返信が問題を解決したか選択してください"
accepted_description: "これは、このトピックについて受け入れられた解決策です。"
has_no_accepted_answer: "このトピックには解決策がありません"
unaccept_answer: "この返信が問題を解決できなくなった場合は選択を解除してください"
accepted_answer: "解決策"
solution: "解決策"
solution_summary:
other: "解決策"
accepted_html: "%{icon} <a href='%{post_path}' class='back'>投稿 #%{post_number}</a> で <span class='by'><a href data-user-card='%{username_lower}'>%{username}</a></span> が解決"
accepted_notification: "<p><span>%{username}</span> %{description}</p>"
topic_status_filter:
all: "すべて"
solved: "解決済み"
unsolved: "未解決"
no_solved_topics_title: "まだトピックを解決していません。"
no_solved_topics_title_others: "%{username} はまだトピックを解決していません"
no_solved_topics_body: "トピックに有益な返信を提供すると、その返信がトピックオーナーまたはスタッフによって解決策として選択される場合があります。"
no_answer:
title: 質問の回答は得られましたか?
description: "適切な返信の下にある解決策ボタンを使って回答をハイライトし、他のユーザーを助けましょう。"
notification:
title: "あなたの投稿が解決策としてマークされました"
topic_statuses:
solved:
help: "このトピックには解決策があります"
search:
advanced:
statuses:
solved: "解決済み"
unsolved: "未解決"
admin:
web_hooks:
solved_event:
group_name: "解決済みイベント"
accepted_solution: "ユーザーが投稿を受け入れられる回答としてマークしたとき"
unaccepted_solution: "ユーザーが投稿を受け入れられない回答としてマークしたとき"
api:
scopes:
descriptions:
solved:
answer: 解決策に同意/非同意します。
discourse_automation:
triggerables:
first_accepted_solution:
max_trust_level:
tl1: < TL1
tl2: < TL2
tl3: < TL3
tl4: < TL4
any: すべて
fields:
maximum_trust_level:
label: 信頼レベル
description: この信頼レベルより低いユーザーは、この自動化をトリガーする
@@ -0,0 +1,44 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
ko:
js:
notifications:
alt:
solved:
accepted_notification: "승인됨"
solved:
title: "해결됨"
allow_accepted_answers: "토픽 소유자 및 스태프가 해결책으로 답글을 표시하도록 허용"
accept_answer: "이 답변이 문제를 해결할 경우 선택하십시오"
accepted_description: "이것이이 주제에 대한 해결책입니다."
has_no_accepted_answer: "이 토픽에는 해결책이 없습니다"
unaccept_answer: "이 답변으로 더 이상 문제가 해결되지 않으면 선택 취소"
accepted_answer: "해결책"
solution: "해결책"
solution_summary:
other: "해결책"
topic_status_filter:
all: "모두"
solved: "해결됨"
unsolved: "미해결"
topic_statuses:
solved:
help: "이 토픽에는 해결책이 있습니다"
search:
advanced:
statuses:
solved: "해결되다"
admin:
web_hooks:
solved_event:
group_name: "해결 된 이벤트"
discourse_automation:
triggerables:
first_accepted_solution:
fields:
maximum_trust_level:
label: 회원 레벨
@@ -0,0 +1,23 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
lt:
js:
notifications:
alt:
solved:
accepted_notification: "patvirtinta"
solved:
title: "Išspresta"
topic_status_filter:
all: "visi"
solved: "išspresta"
discourse_automation:
triggerables:
first_accepted_solution:
fields:
maximum_trust_level:
label: Patikimumo lygis
@@ -0,0 +1,21 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
lv:
js:
notifications:
alt:
solved:
accepted_notification: "apstiprināts"
solved:
topic_status_filter:
all: "Viss"
discourse_automation:
triggerables:
first_accepted_solution:
fields:
maximum_trust_level:
label: Uzticības līmenis
@@ -0,0 +1,33 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
nb_NO:
js:
notifications:
alt:
solved:
accepted_notification: "godtatt"
solved:
title: "Løst"
allow_accepted_answers: "Tillat enmeeier og personale å markere et svar som løsning"
solved_topics_auto_close_hours: "Lukk emnet automatisk (n) timer etter siste svar når det har blitt merket som løst."
accept_answer: "Velg hvis dette svaret løser problemet"
has_no_accepted_answer: "Dette emnet har ingen løsning"
unaccept_answer: "Fravelg dette hvis svaret ikke lenger løser problemet"
accepted_answer: "Løsning"
solution: "Løsning"
topic_status_filter:
all: "alle"
solved: "løst"
topic_statuses:
solved:
help: "Dette emnet har en løsning"
discourse_automation:
triggerables:
first_accepted_solution:
fields:
maximum_trust_level:
label: Tillitsnivå
@@ -0,0 +1,77 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
nl:
admin_js:
admin:
site_settings:
categories:
discourse_solved: "Discourse opgelost"
js:
notifications:
alt:
solved:
accepted_notification: "geaccepteerd"
solutions: "Oplossingen"
solved:
title: "Opgelost"
allow_accepted_answers: "Topiceigenaar en medewerkers toestaan een antwoord als oplossing te markeren"
solved_topics_auto_close_hours: "Topic (n) uur na het laatste antwoord automatisch sluiten zodra het topic als opgelost is gemarkeerd."
accept_answer: "Selecteer als dit antwoord het probleem oplost"
accepted_description: "Dit is de geaccepteerde oplossing voor dit topic"
has_no_accepted_answer: "Dit topic heeft geen oplossing"
unaccept_answer: "Deselecteer als dit antwoord het probleem niet meer oplost"
accepted_answer: "Oplossing"
solution: "Oplossing"
solution_summary:
one: "oplossing"
other: "oplossingen"
accepted_html: "%{icon} Opgelost <span class='by'>door <a href data-user-card='%{username_lower}'>%{username}</a></span> in <a href='%{post_path}' class='back'>bericht %{post_number}</a>"
accepted_notification: "<p><span>%{username}</span> %{description}</p>"
topic_status_filter:
all: "alle"
solved: "opgelost"
unsolved: "onopgelost"
no_solved_topics_title: "Je hebt nog geen topics opgelost"
no_solved_topics_title_others: "%{username} heeft nog geen topics opgelost"
no_solved_topics_body: "Als je een nuttig antwoord geeft op een topic, kan je antwoord door de eigenaar van het topic of door een medewerker als oplossing worden gekozen."
no_answer:
title: Is je vraag beantwoord?
description: "Markeer het antwoord en help anderen door de oplossingsknop onder het juiste antwoord te gebruiken."
notification:
title: "Je bericht is gemarkeerd als oplossing"
topic_statuses:
solved:
help: "Dit topic heeft een oplossing"
search:
advanced:
statuses:
solved: "zijn opgelost"
unsolved: "zijn onopgelost"
admin:
web_hooks:
solved_event:
group_name: "Oplossingsgebeurtenis"
accepted_solution: "Wanneer een gebruiker een bericht als geaccepteerd antwoord markeert"
unaccepted_solution: "Wanneer een gebruiker een bericht als niet-geaccepteerd antwoord markeert"
api:
scopes:
descriptions:
solved:
answer: Accepteer/deaccepteer een oplossing.
discourse_automation:
triggerables:
first_accepted_solution:
max_trust_level:
tl1: < TL1
tl2: < TL2
tl3: < TL3
tl4: < TL4
any: Alle
fields:
maximum_trust_level:
label: Vertrouwensniveau
description: Gebruikers onder dit vertrouwensniveau activeren deze automatisering
@@ -0,0 +1,72 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
pl_PL:
js:
notifications:
alt:
solved:
accepted_notification: "przyjęty"
solutions: "Rozwiązania"
solved:
title: "Rozwiązany"
allow_accepted_answers: "Pozwól użytkownikom na akceptowanie rozwiązań"
solved_topics_auto_close_hours: "Zamknij temat automatycznie po (n) godzinach od ostatniej odpowiedzi, gdy temat został oznaczony jako rozwiązany."
accept_answer: "Zaznacz, jeśli ta odpowiedź rozwiązuje Twój problem"
accepted_description: "To zaakceptowane rozwiązanie tego tematu."
has_no_accepted_answer: "Ten temat nie ma rozwiązania"
unaccept_answer: "Odznacz jeśli ta odpowiedź nie rozwiązuje już problemu"
accepted_answer: "Zaakceptowana odpowiedź"
solution: "Rozwiązanie"
solution_summary:
one: "rozwiązanie"
few: "rozwiązania"
many: "rozwiązania"
other: "rozwiązania"
accepted_html: "%{icon} Rozwiązany <span class='by'>przez <a href data-user-card='%{username_lower}'>%{username}</a></span> w <a href='%{post_path}' class='back'>poście #%{post_number}</a>"
accepted_notification: "<p><span>%{username}</span> %{description}</p>"
topic_status_filter:
all: "wszystkie"
solved: "rozwiązano"
unsolved: "nierozwiązano"
no_solved_topics_title: "Nie rozwiązałeś jeszcze żadnych tematów"
no_solved_topics_title_others: "%{username} nie rozwiązał jeszcze żadnych tematów"
no_solved_topics_body: "Gdy udzielisz pomocnej odpowiedzi na dany temat, Twoja odpowiedź może zostać wybrana jako rozwiązanie przez właściciela tematu lub personel."
no_answer:
title: Czy odpowiedź na twoje pytanie została udzielona?
description: "Podświetl odpowiedź i pomóż innym, korzystając z przycisku rozwiązania pod prawidłową odpowiedzią."
notification:
title: "twój post został oznaczony jako rozwiązanie"
topic_statuses:
solved:
help: "Ten temat ma zaakceptowane rozwiązanie"
search:
advanced:
statuses:
solved: "są rozwiązane"
unsolved: "są nierozwiązane"
admin:
web_hooks:
solved_event:
group_name: "Zdarzenie rozwiązania"
api:
scopes:
descriptions:
solved:
answer: Zaakceptuj/Odrzuć rozwiązanie.
discourse_automation:
triggerables:
first_accepted_solution:
max_trust_level:
tl1: < TL1
tl2: < TL2
tl3: < TL3
tl4: < TL4
any: Dowolny
fields:
maximum_trust_level:
label: Poziom zaufania
description: Użytkownicy poniżej tego poziomu zaufania uruchomią tę automatyzację
@@ -0,0 +1,38 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
pt:
js:
notifications:
alt:
solved:
accepted_notification: "aceite"
solved:
title: "Resolvido"
allow_accepted_answers: "Permitir que o autor do tópico e a equipa marquem uma resposta como solução"
solved_topics_auto_close_hours: "Fechar automaticamente o tópico (n) horas depois do tópico ser marcado como solução."
accept_answer: "Selecionar se esta resposta resolver o problema"
has_no_accepted_answer: "Este tópico não tem solução"
unaccept_answer: "Desselecionar se esta resposta já não resolver o problema"
accepted_answer: "Solução"
solution: "Solução"
solution_summary:
one: "solução"
other: "soluções"
accepted_html: "%{icon} Resolvido <span class='by'>por <a href data-user-card='%{username_lower}'>%{username}</a></span> na <a href='%{post_path}' class='back'>mensagem #%{post_number}</a>"
accepted_notification: "<p><span>%{username}</span> %{description}</p>"
topic_status_filter:
all: "todos"
solved: "resolvido"
topic_statuses:
solved:
help: "Este tópico tem uma solução"
discourse_automation:
triggerables:
first_accepted_solution:
fields:
maximum_trust_level:
label: Nível de Confiança
@@ -0,0 +1,77 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
pt_BR:
admin_js:
admin:
site_settings:
categories:
discourse_solved: "Solucionado no Discourse"
js:
notifications:
alt:
solved:
accepted_notification: "aceito"
solutions: "Soluções"
solved:
title: "Resolvido"
allow_accepted_answers: "Permitir que o(a) proprietário(a) do tópico e a equipe marquem uma resposta como a solução"
solved_topics_auto_close_hours: "Fechar tópico automaticamente (n) horas após a última resposta quando o tópico tiver sido marcado como resolvido."
accept_answer: "Selecione se esta resposta resolve o problema"
accepted_description: "Esta é a solução aceita para este tópico"
has_no_accepted_answer: "Este tópico não tem solução"
unaccept_answer: "Desmarque se esta resposta não resolve mais o problema"
accepted_answer: "Solução"
solution: "Solução"
solution_summary:
one: "solução"
other: "soluções"
accepted_html: "%{icon} resolvido <span class='by'>por <a href data-user-card='%{username_lower}'>%{username}</a></span> em <a href='%{post_path}' class='back'>postagem #%{post_number}</a>"
accepted_notification: "<p><span>%{username}</span> %{description}</p>"
topic_status_filter:
all: "tudo"
solved: "solucionados"
unsolved: "não solucionados"
no_solved_topics_title: "Você ainda não solucionou nenhum tópico"
no_solved_topics_title_others: "%{username} ainda não respondeu a nenhum tópico"
no_solved_topics_body: "Quando você fornecer uma resposta útil a um tópico, ela poderá ser selecionada como uma solução pelo(a) proprietário(a) ou equipe do tópico."
no_answer:
title: Sua pergunta foi respondida?
description: "Destaque a resposta e ajude as outras pessoas ao usar o botão de solução abaixo para responder corretamente."
notification:
title: "sua postagem foi marcada como uma solução"
topic_statuses:
solved:
help: "Este tópico tem uma solução"
search:
advanced:
statuses:
solved: "foram solucionados"
unsolved: "não foram solucionados"
admin:
web_hooks:
solved_event:
group_name: "Evento solucionado"
accepted_solution: "Quando um(a) usuário(a) marca uma postagem como resposta aceita"
unaccepted_solution: "Quando um(a) usuário(a) marca uma postagem como resposta não aceita"
api:
scopes:
descriptions:
solved:
answer: Aceitar/não aceitar uma solução.
discourse_automation:
triggerables:
first_accepted_solution:
max_trust_level:
tl1: < TL1
tl2: < TL2
tl3: < TL3
tl4: < TL4
any: Qualquer
fields:
maximum_trust_level:
label: Nível de confiança
description: Os(as) usuários(as) com este nível de confiança ativarão esta automação
@@ -0,0 +1,50 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
ro:
js:
notifications:
alt:
solved:
accepted_notification: "acceptat"
solved:
title: "Rezolvat"
allow_accepted_answers: "Permite inițiatorului subiectului și personalului să marcheze un răspuns ca soluție"
solved_topics_auto_close_hours: "Închide subiectul automat la (n) ore după ultimul răspuns după ce subiectul a fost marcat ca rezolvat."
accept_answer: "Selectează acest mesaj dacă rezolvă problema"
accepted_description: "Aceasta este soluţia acceptată pentru acest subiect"
has_no_accepted_answer: "Acest subiect nu are nicio soluție"
unaccept_answer: "Deselectați dacă acest răspuns nu mai rezolvă problema"
accepted_answer: "Soluție"
solution: "Soluție"
solution_summary:
one: "soluţie"
few: "soluţii"
other: "soluţii"
accepted_html: "%{icon} Rezolvat <span class='by'>de <a href data-user-card='%{username_lower}'>%{username}</a></span> în <a href='%{post_path}' class='back'>post #%{post_number}</a>"
accepted_notification: "<p><span>%{username}</span> %{description}</p>"
topic_status_filter:
all: "tot"
solved: "rezolvat"
unsolved: "nerezolvat"
topic_statuses:
solved:
help: "Acest subiect are o soluție"
search:
advanced:
statuses:
solved: "sunt rezolvate"
unsolved: "sunt nerezolvate"
admin:
web_hooks:
solved_event:
group_name: "Eveniment rezolvat"
discourse_automation:
triggerables:
first_accepted_solution:
fields:
maximum_trust_level:
label: Nivel de încredere
@@ -0,0 +1,79 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
ru:
admin_js:
admin:
site_settings:
categories:
discourse_solved: "Плагин «Решённые» для Discourse"
js:
notifications:
alt:
solved:
accepted_notification: "принято"
solutions: "Решения"
solved:
title: "Решённые"
allow_accepted_answers: "Разрешать автору темы и модераторам помечать ответ статусом 'Вопрос решён'"
solved_topics_auto_close_hours: "Автоматически закрывать тему через указанное здесь количество часов после того, как тема была отмечена как решенная."
accept_answer: "Выберите, если этот ответ решает проблему"
accepted_description: "Этот ответ решает вопрос, обсуждаемый в этой теме"
has_no_accepted_answer: "Тема не содержит решения вопроса"
unaccept_answer: "Отмените выбор, если этот ответ не решает проблему"
accepted_answer: "Решение вопроса"
solution: "Вопрос решён"
solution_summary:
one: "вопрос решён"
few: "вопроса решены"
many: "вопросов решены"
other: "вопросов решены"
accepted_html: "%{icon} Вопрос решён пользователем <span class='by'> <a href data-user-card='%{username_lower}'>%{username}</a></span> в <a href='%{post_path}' class='back'>сообщении #%{post_number}</a>"
accepted_notification: "<p><span>%{username}</span> %{description}</p>"
topic_status_filter:
all: "все"
solved: "Решённые"
unsolved: "Нерешённые"
no_solved_topics_title: "У вас пока нет решённых тем"
no_solved_topics_title_others: "У пользователя %{username} ещё нет тем, содержащих решённые вопросы"
no_solved_topics_body: "Когда вы даете в теме полезный ответ, он может быть отмечен в качестве решения владельцем темы или сотрудниками."
no_answer:
title: Вопрос был решён?
description: "Выделите ответ и помогите другим пользователям, нажав на кнопку 'Вопрос решён' под правильным ответом."
notification:
title: "ваша запись отмечена как решение"
topic_statuses:
solved:
help: "Тема содержит решение вопроса"
search:
advanced:
statuses:
solved: "Решённые"
unsolved: "Нерешённые"
admin:
web_hooks:
solved_event:
group_name: "Событие решения вопроса"
accepted_solution: "Когда пользователь отмечает публикацию как принятый ответ"
unaccepted_solution: "Когда пользователь отмечает публикацию как непринятый ответ"
api:
scopes:
descriptions:
solved:
answer: Принять решение (отменить принятие).
discourse_automation:
triggerables:
first_accepted_solution:
max_trust_level:
tl1: < ур. 1
tl2: < ур. 2
tl3: < ур. 3
tl4: < ур. 4
any: Любой
fields:
maximum_trust_level:
label: Уровень доверия
description: Пользователи с этим уровнем доверия будут запускать этот скрипт
@@ -0,0 +1,21 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
sk:
js:
notifications:
alt:
solved:
accepted_notification: "prijať"
solved:
topic_status_filter:
all: "všetko"
discourse_automation:
triggerables:
first_accepted_solution:
fields:
maximum_trust_level:
label: Stupeň dôvery
@@ -0,0 +1,72 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
sl:
js:
notifications:
alt:
solved:
accepted_notification: "sprejeto"
solutions: "Rešitve"
solved:
title: "Rešeno"
allow_accepted_answers: "Lastniku teme in osebju dovolite, da odgovor označijo kot rešitev"
solved_topics_auto_close_hours: "Samodejno zapiranje teme (n) ur po zadnjem odgovoru, ko je tema označena kot rešena."
accept_answer: "Izberite, če ta odgovor reši problem"
accepted_description: "To je sprejeta rešitev te teme"
has_no_accepted_answer: "Ta tema nima rešitve"
unaccept_answer: "Odstrani izbor, če ta odgovor več ne reši problema"
accepted_answer: "Rešitev"
solution: "Rešitev"
solution_summary:
one: "rešitev"
two: "rešitvi"
few: "rešitve"
other: "rešitev"
accepted_html: "%{icon} <span class='by'>Rešil <a href data-user-card='%{username_lower}'>%{username}</a></span> v <a href='%{post_path}' class='back'>objavi #%{post_number}</a>"
accepted_notification: "<p><span>%{username}</span> %{description}</p>"
topic_status_filter:
all: "vse"
solved: "rešeno"
unsolved: "nerešeno"
no_solved_topics_title: "Rešili niste še nobene teme"
no_solved_topics_title_others: "%{username} še ni rešil nobene teme"
no_solved_topics_body: "Ko podate koristen odgovor na temo, lahko lastnik teme ali osebje izbere vaš odgovor kot rešitev."
no_answer:
title: Ste dobili odgovor na vaše vprašanje?
description: "Z izbiro gumba za potrditev pod ustrezno objavo izpostavite odgovor in s tem pomagajte drugim."
notification:
title: "vaša objava je bila označena kot rešitev"
topic_statuses:
solved:
help: "Ta tema ima rešitev"
search:
advanced:
statuses:
solved: "so rešene"
unsolved: "so nerešene"
admin:
web_hooks:
solved_event:
group_name: "Rešen dogodek"
api:
scopes:
descriptions:
solved:
answer: Sprejmi/prekliči rešitev.
discourse_automation:
triggerables:
first_accepted_solution:
max_trust_level:
tl1: < TL1
tl2: < TL2
tl3: < TL3
tl4: < TL4
any: Katerikoli
fields:
maximum_trust_level:
label: Nivo zaupanja
description: Uporabniki pod to ravnjo zaupanja bodo sprožili to avtomatizacijo.
@@ -0,0 +1,17 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
sq:
js:
solved:
topic_status_filter:
all: "të gjitha"
discourse_automation:
triggerables:
first_accepted_solution:
fields:
maximum_trust_level:
label: Niveli i besimit
@@ -0,0 +1,21 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
sr:
js:
notifications:
alt:
solved:
accepted_notification: "prihvaćen"
solved:
topic_status_filter:
all: "sve"
discourse_automation:
triggerables:
first_accepted_solution:
fields:
maximum_trust_level:
label: Nivo poverenja
@@ -0,0 +1,63 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
sv:
js:
notifications:
alt:
solved:
accepted_notification: "accepterad"
solutions: "Lösningar"
solved:
title: "Löst"
allow_accepted_answers: "Låt ämnesägare och personal markera ett svar som lösningen"
solved_topics_auto_close_hours: "Stäng automatiskt ämnet (n) timmar efter det senaste svaret när ämnet har markerats som löst."
accept_answer: "Välj om det här svaret löser problemet"
accepted_description: "Detta är den accepterade lösningen för detta ämne"
has_no_accepted_answer: "Detta ämne har ingen lösning"
unaccept_answer: "Avmarkera om detta svar inte längre löser problemet"
accepted_answer: "Lösning"
solution: "Lösning"
solution_summary:
one: "lösning"
other: "lösningar"
accepted_html: "%{icon} Löst <span class='by'>av <a href data-user-card='%{username_lower}'>%{username}</a></span> i <a href='%{post_path}' class='back'>inlägg #%{post_number}</a>"
accepted_notification: "<p><span>%{username}</span>%{description}</p>"
topic_status_filter:
all: "alla"
solved: "lösta"
unsolved: "olösta"
no_solved_topics_title: "Du har inte löst några ämnen än"
no_solved_topics_title_others: "%{username} har inte löst några ämnen ännu"
no_solved_topics_body: "När du ger ett användbart svar på ett ämne kan ditt svar väljas som lösningen av ämnesägaren eller personalen."
no_answer:
title: Har din fråga besvarats?
description: "Markera svaret och hjälp andra genom att använda lösningsknappen under det korrekta svaret."
topic_statuses:
solved:
help: "Detta ämne har en lösning"
search:
advanced:
statuses:
solved: "är lösta"
unsolved: "är olösta"
admin:
web_hooks:
solved_event:
group_name: "Löst händelse"
discourse_automation:
triggerables:
first_accepted_solution:
max_trust_level:
tl1: < TL1
tl2: < TL2
tl3: < TL3
tl4: < TL4
any: Valfri
fields:
maximum_trust_level:
label: Förtroendenivå
description: Användare under denna förtroendenivå kommer att utlösa denna automatisering
@@ -0,0 +1,32 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
sw:
js:
notifications:
alt:
solved:
accepted_notification: "imeruhusiwa"
solved:
title: "Imetatuliwa"
allow_accepted_answers: "Ruhusu Muanzilishi wa Mada na Wasaidizi kuchagua jibu kama Suluhisho"
accept_answer: "Chagua kama jibu limetatua tatizo"
has_no_accepted_answer: "Hii mada haina suluhisho"
unaccept_answer: "Ondoa chaguo kama jibu halijatatua tatizo"
accepted_answer: "Jibu"
solution: "Suluhisho"
topic_status_filter:
all: "Zote"
solved: "imetatuliwa"
topic_statuses:
solved:
help: "Hii mada ina suluhisho"
discourse_automation:
triggerables:
first_accepted_solution:
fields:
maximum_trust_level:
label: Kiwango cha Uaminifu
@@ -0,0 +1,21 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
te:
js:
notifications:
alt:
solved:
accepted_notification: "ఆమోదించబడిన"
solved:
topic_status_filter:
all: "అన్నీ"
discourse_automation:
triggerables:
first_accepted_solution:
fields:
maximum_trust_level:
label: నమ్మకం స్థాయి
@@ -0,0 +1,32 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
th:
js:
notifications:
alt:
solved:
accepted_notification: "ยอมรับแล้ว"
solved:
title: "แก้ไขแล้ว"
allow_accepted_answers: "อนุญาตให้เจ้าของกระทู้และทีมงานทำเครื่องหมายการตอบกลับว่าเป็นวิธีแก้ปัญหา"
accept_answer: "เลือกถ้าการตอบกลับนี้ช่วยแก้ปัญหาได้"
accepted_description: "นี่เป็นวิธีแก้ปัญหาที่ได้รับการยอมรับสำหรับหัวข้อนี้"
has_no_accepted_answer: "หัวข้อนี้ไม่มีวิธีแก้ปัญหา"
unaccept_answer: "ยกเลิกการเลือกหากการตอบกลับนี้ไม่สามารถแก้ปัญหาได้อีกต่อไป"
accepted_answer: "วิธีแก้ปัญหา"
solution: "วิธีแก้ปัญหา"
solution_summary:
other: "การแก้ปัญหา"
topic_status_filter:
all: "ทั้งหมด"
solved: "แก้ไขแล้ว"
discourse_automation:
triggerables:
first_accepted_solution:
fields:
maximum_trust_level:
label: ระดับความไว้ใจ
@@ -0,0 +1,77 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
tr_TR:
admin_js:
admin:
site_settings:
categories:
discourse_solved: "Discourse Çözüldü"
js:
notifications:
alt:
solved:
accepted_notification: "kabul edildi"
solutions: "Çözümler"
solved:
title: "Çözüldü"
allow_accepted_answers: "Konu sahibinin ve personelin bir yanıtı çözüm olarak işaretlemesine izin verin"
solved_topics_auto_close_hours: "Konu çözüldü olarak işaretlendiğinde, son yanıttan (n) saat sonra otomatik olarak kapatılsın."
accept_answer: "Bu yanıtın sorunu çözüp çözmediğini seçin"
accepted_description: "Bu, bu konu için kabul edilen çözümdür"
has_no_accepted_answer: "Bu konunun çözümü yok"
unaccept_answer: "Bu yanıt artık sorunu çözmüyorsa seçimi kaldırın"
accepted_answer: "Çözüm"
solution: "Çözüm"
solution_summary:
one: "çözüm"
other: "çözüm"
accepted_html: "%{icon} Çözüldü; <span class='by'> <a href data-user-card='%{username_lower}'>%{username}</a></span> tarafından, <a href='%{post_path}' class='back'>%{post_number}. gönderide</a>"
accepted_notification: "<p><span>%{username}</span> %{description}</p>"
topic_status_filter:
all: "tümü"
solved: "çözüldü"
unsolved: "çözülmedi"
no_solved_topics_title: "Henüz hiçbir konuyu çözmediniz"
no_solved_topics_title_others: "%{username} henüz hiçbir konuyu çözmedi"
no_solved_topics_body: "Bir konuya yararlı bir yanıt verdiğinizde, yanıtınız konu sahibi veya personel tarafından çözüm olarak seçilebilir."
no_answer:
title: Sorunuz yanıtlandı mı?
description: "Yanıtı vurgulayın ve doğru cevabın altındaki çözüm düğmesini kullanarak başkalarına yardımcı olun."
notification:
title: "gönderiniz çözüm olarak işaretlendi"
topic_statuses:
solved:
help: "Bu konunun bir çözümü var"
search:
advanced:
statuses:
solved: "çözüldü"
unsolved: "çözülmedi"
admin:
web_hooks:
solved_event:
group_name: "Çözülmüş Olay"
accepted_solution: "Bir kullanıcı bir gönderiyi kabul edilen yanıt olarak işaretlediğinde"
unaccepted_solution: "Bir kullanıcı bir gönderiyi kabul edilmeyen yanıt olarak işaretlediğinde"
api:
scopes:
descriptions:
solved:
answer: Bir çözümü kabul edin/kabulünü kaldırın.
discourse_automation:
triggerables:
first_accepted_solution:
max_trust_level:
tl1: < GS1
tl2: < GS2
tl3: < GS3
tl4: < GS4
any: Herhangi biri
fields:
maximum_trust_level:
label: Güven Seviyesi
description: Bu Güven Seviyesi altındaki kullanıcılar bu otomasyonu tetikler
@@ -0,0 +1,21 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
ug:
js:
notifications:
alt:
solved:
accepted_notification: "قوشۇلدى"
solved:
topic_status_filter:
all: "ھەممىسى"
discourse_automation:
triggerables:
first_accepted_solution:
fields:
maximum_trust_level:
label: ئىشەنچ دەرىجىسى
@@ -0,0 +1,40 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
uk:
js:
notifications:
alt:
solved:
accepted_notification: "схвалено"
solved:
title: "Вирішено"
allow_accepted_answers: "Дозвольте власнику теми та персоналу позначити відповідь як рішення"
solved_topics_auto_close_hours: "Автоматично закрити тему (n) годин після останньої відповіді, як тільки тема позначена як вирішена."
accept_answer: "Виберіть, чи вирішує ця відповідь проблему"
accepted_description: "Це прийняте рішення цієї теми"
has_no_accepted_answer: "Ця тема не має рішення"
unaccept_answer: "Зніміть вибір, якщо ця відповідь більше не вирішує проблему"
accepted_answer: "Рішення"
solution: "Рішення"
solution_summary:
one: "рішення"
few: "рішення"
many: "рішення"
other: "рішення"
topic_status_filter:
all: "всі"
solved: "вирішено"
unsolved: "невирішено"
topic_statuses:
solved:
help: "Ця тема має рішення"
discourse_automation:
triggerables:
first_accepted_solution:
fields:
maximum_trust_level:
label: Рівень довіри
@@ -0,0 +1,38 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
ur:
js:
notifications:
alt:
solved:
accepted_notification: "منظور"
solved:
title: "حل شدہ"
allow_accepted_answers: "ٹاپک کے مالک اور اسٹاف کو حل کے طور پر ایک جواب کو نشان زد کرنے کی اجازت دیں"
solved_topics_auto_close_hours: "ایک بار ٹاپک کو حل شدہ کے طور پر نشان زد کر دیا جائے تو آخری جواب کے (ن) گھنٹوں بعد خود کار انداز سے ٹاپک بند کر دیا جائے."
accept_answer: "منتخب کریں اگر یہ جواب مسئلہ کو حل کردیتا ہے"
accepted_description: "یہ اِس ٹاپک کا قبول شدہ حل ہے"
has_no_accepted_answer: "اِس ٹاپک کا کوئی حل نہیں ہے"
unaccept_answer: "غیر منتخب کریں اگر یہ جواب اب مسئلہ کو حل نہیں کرتا"
accepted_answer: "حل"
solution: "حل"
solution_summary:
one: "حل"
other: "حل"
topic_status_filter:
all: "تمام"
solved: "حل شدہ"
unsolved: "غیر حل شدہ"
topic_statuses:
solved:
help: "اِس ٹاپک کا حل ہے"
discourse_automation:
triggerables:
first_accepted_solution:
fields:
maximum_trust_level:
label: ٹرسٹ لَیول
@@ -0,0 +1,23 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
vi:
js:
notifications:
alt:
solved:
accepted_notification: "đã chấp nhận"
solved:
title: "Đã xử lý"
topic_status_filter:
all: "Tất cả"
solved: "đã xử lý"
discourse_automation:
triggerables:
first_accepted_solution:
fields:
maximum_trust_level:
label: Bậc tin tưởng
@@ -0,0 +1,76 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
zh_CN:
admin_js:
admin:
site_settings:
categories:
discourse_solved: "Discourse Solved"
js:
notifications:
alt:
solved:
accepted_notification: "已被接受"
solutions: "解决方案"
solved:
title: "已解决"
allow_accepted_answers: "允许话题所有者和管理人员将回复标记为解决方案"
solved_topics_auto_close_hours: "当话题被标记为已解决后,在最后回复 (n) 小时后自动关闭话题。"
accept_answer: "如果此回复解决了问题,请选择"
accepted_description: "这是此话题被接受的解决方案"
has_no_accepted_answer: "此话题尚无解决方案"
unaccept_answer: "如果此回复不再解决问题,请取消选择"
accepted_answer: "解决方案"
solution: "解决方案"
solution_summary:
other: "解决方案"
accepted_html: "已由 <span class='by'><a href data-user-card='%{username_lower}'>%{username}</a></span> 在<a href='%{post_path}' class='back'>帖子 #%{post_number}</a> 中解决 %{icon}"
accepted_notification: "<p><span>%{username}</span> %{description}</p>"
topic_status_filter:
all: "所有"
solved: "已解决"
unsolved: "未解决"
no_solved_topics_title: "您尚未解决任何话题"
no_solved_topics_title_others: "%{username} 还没有解决任何话题"
no_solved_topics_body: "当您对某个话题提供有用的回复时,您的回复可能会被话题所有者或管理人员选为解决方案。"
no_answer:
title: 您的问题是否已被解答?
description: "在正确回复下方使用解决方案按钮突出显示回答并帮助他人。"
notification:
title: "您的帖子已被标记为解决方案"
topic_statuses:
solved:
help: "此话题已有解决方案"
search:
advanced:
statuses:
solved: "已被解决"
unsolved: "尚未解决"
admin:
web_hooks:
solved_event:
group_name: "已解决的事件"
accepted_solution: "当用户将帖子标记为被接受的回答时"
unaccepted_solution: "当用户将帖子标记为遭拒的回答时"
api:
scopes:
descriptions:
solved:
answer: 接受/不接受解决方案。
discourse_automation:
triggerables:
first_accepted_solution:
max_trust_level:
tl1: 信任级别 < 1
tl2: 信任级别 < 2
tl3: 信任级别 < 3
tl4: 信任级别 < 4
any: 任何
fields:
maximum_trust_level:
label: 信任级别
description: 此信任级别下的用户将触发此自动化
@@ -0,0 +1,61 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
zh_TW:
js:
notifications:
alt:
solved:
accepted_notification: "已接受"
solutions: "解決方案"
solved:
title: "已解決"
allow_accepted_answers: "允許主題擁有者與管理員標示回覆為解決方式"
accept_answer: "選擇此回覆是否解決了問題"
accepted_description: "這是本主題被接受的答案"
has_no_accepted_answer: "這個主題沒有解決方式"
unaccept_answer: "如果此回覆已不能解決問題,請取消選取"
accepted_answer: "解決方式"
solution: "解決方式"
solution_summary:
other: "解決方案"
accepted_html: "%{icon} 解決了 <span class='by'>通過 <a href data-user-card='%{username_lower}'>%{username}</a></span> 在 <a href='%{post_path}' class='back'>貼文 %{post_number}</a>"
accepted_notification: "<p><span>%{username}</span> %{description}</p>"
topic_status_filter:
all: "全部"
solved: "已解決"
unsolved: "未解答"
no_solved_topics_title: "您還沒有解決過任何主題"
no_solved_topics_title_others: "%{username} 尚未解決任何主題"
no_solved_topics_body: "當您對某個主題提供有用的回覆時,主題擁有者或工作人員可能會選取您的回覆作為解決方案。"
no_answer:
title: 您的問題已得到解答嗎?
description: "在正確的回覆下方按下解答按鈕以突顯解決方案來幫助他人。"
topic_statuses:
solved:
help: "這個主題有解決方式"
search:
advanced:
statuses:
solved: "解決了"
unsolved: "未解決的"
admin:
web_hooks:
solved_event:
group_name: "已解決的事件"
discourse_automation:
triggerables:
first_accepted_solution:
max_trust_level:
tl1: < TL1
tl2: < TL2
tl3: < TL3
tl4: < TL4
any: 任何
fields:
maximum_trust_level:
label: 信任等級
description: 此信任等級下的使用者將觸發此自動化操作
@@ -0,0 +1,70 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
ar:
accepted_answer: "الإجابة المقبولة"
site_settings:
solved_enabled: "تفعيل المكوِّن الإضافي للحل السماح للمستخدمين باختيار حلول لمواضيعهم"
allow_solved_on_all_topics: "السماح للمستخدمين بتحديد الحلول في جميع الموضوعات (عند إلغاء التحديد، يمكن تفعيل الحلول لكل فئة أو وسم)"
accept_all_solutions_trust_level: "الحد الأدنى من مستوى الثقة المطلوب لقبول الحلول في أي موضوع (حتى لو لم يكن الناشر الأصلي)"
accept_all_solutions_allowed_groups: "المجموعات المسموح لها بقبول الحلول في أي موضوع (حتى لو لم تكن الناشر الأصلي). مسموح للمسؤولين والمشرفين بقبول الحلول دائمًا."
empty_box_on_unsolved: "عرض مربع فارغ بجوار الموضوعات غير المحلولة"
solved_quote_length: "عدد الأحرف التي يجب اقتباسها عند عرض الحل تحت المنشور الأول"
solved_topics_auto_close_hours: "إغلاق الموضوع تلقائيًا بعد مرور (n) من الساعات على آخر رد بمجرد وضع علامة على الموضوع على أنه محلول. اضبط القيمة على 0 لإيقاف الإغلاق التلقائي."
show_filter_by_solved_status: "عرض قائمة منسدلة لتصفية قائمة الموضوعات حسب حالة الحل"
notify_on_staff_accept_solved: "إرسال إشعار إلى منشئ الموضوع عندما يتم وضع علامة على أحد المنشورات من قِبل فريق العمل على أنه الحل."
ignore_solved_topics_in_assigned_reminder: "منع تذكيرات المهام المعيَّنة من تضمين الموضوعات التي تم حلها. ذات صلة فقط عند استخدام المكوِّن الإضافي discourse-assign."
assignment_status_on_solve: "عندما يتم حل موضوع ما، قم بتحديث جميع المهام المعيَّنة إلى هذه الحالة"
assignment_status_on_unsolve: "عندما لا يتم حل موضوع ما، قم بتحديث جميع المهام المعيَّنة إلى هذه الحالة"
disable_solved_education_message: "إيقاف رسالة الإعلام للموضوعات المحلولة"
accept_solutions_topic_author: "السماح لكاتب الموضوع بقبول حل"
solved_add_schema_markup: "إضافة علامات مخطط Qapage إلى HTML"
enable_solved_tags: "الوسوم التي ستسمح للمستخدمين بتحديد الحلول"
prioritize_solved_topics_in_search: "منح الأولوية للموضوعات التي تم حلها في نتائج البحث."
keywords:
accept_all_solutions_allowed_groups: "accept_all_solutions_trust_level"
reports:
accepted_solutions:
title: "الحلول المقبولة"
xaxis: "اليوم"
yaxis: "الإجمالي"
solved:
no_solutions:
self: "ليس لديك أي حلول مقبولة حتى الآن."
others: "لا توجد حلول مقبولة."
badges:
solved_1:
name: "تم الحل!"
description: "وضع علامة \"حل\" على أحد الردود"
long_description: "يتم منح هذه الشارة عند وضع علامة \"حل\" على أحد ردودك في أحد الموضوعات. :white_check_mark: أحسنت. :+1:"
solved_2:
name: "مستشار التوجيه"
description: "وضع علامة \"حل\" على 10 من ردودك"
long_description: "يتم منح هذه الشارة عند وضع علامة \"حل\" على 10 من ردودك على الموضوعات. :white_check_mark: أنت تمثِّل قيمة مضافة حقيقة لزملائك من أعضاء المجتمع."
solved_3:
name: "تعرف كل شيء"
description: "وضع علامة \"حل\" على 50 من ردودك"
long_description: "يتم منح هذه الشارة عند وضع علامة \"حل\" على 50 من ردودك على الموضوعات. :white_check_mark: أنت تتمتَّع حقًا ببعض المعرفة. :clap:"
solved_4:
name: "مؤسسة تقديم الحلول"
description: "وضع علامة \"حل\" على 150 من ردودك"
long_description: "يتم منح هذه الشارة عند وضع علامة \"حل\" على 150 من ردودك على الموضوعات. :white_check_mark: عمل رائع. :slightly_smiling_face: لقد أصبحت رسميًا مؤسسةً لتقديم الحلول. :brain:"
discourse_automation:
triggerables:
first_accepted_solution:
title: أول حل مقبول
doc: يتم تشغيله عند قبول حل من أحد المستخدمين للمرة الأولى.
education:
topic_is_solved: |
### تم حل هذا الموضوع
لا ترد هنا إلا إذا كان:
- لديك تفاصيل إضافية
- الحل لا يناسبك
إذا كانت لديك مشكلة غير ذات صلة، يُرجى [إنشاء موضوع جديد] (%{base_url}/new-topic) بدلًا من ذلك.
@@ -0,0 +1,11 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
be:
reports:
accepted_solutions:
xaxis: "дзень"
yaxis: "агульны"
@@ -0,0 +1,11 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
bg:
reports:
accepted_solutions:
xaxis: "Ден"
yaxis: "Общо"
@@ -0,0 +1,14 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
bs_BA:
reports:
accepted_solutions:
xaxis: "Day"
yaxis: "Suma"
badges:
solved_1:
name: "Riješeno!"
@@ -0,0 +1,25 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
ca:
site_settings:
solved_enabled: "Activa el connector de resolts. Permet als usuaris seleccionar solucions per als temes."
accept_all_solutions_trust_level: "Nivell mínim de confiança necessari per a acceptar solucions sobre qualsevol tema (encara que no sigui OP)"
empty_box_on_unsolved: "Mostra un quadre buit al costat dels temes no resolts"
solved_quote_length: "Nombre de caràcters que se citen quan es mostri la solució sota la primera publicació"
show_filter_by_solved_status: "Mostra un menú desplegable per a filtrar una llista de temes per estat de resolució."
reports:
accepted_solutions:
title: "Solucions acceptades"
xaxis: "Dia"
yaxis: "Total"
solved:
no_solutions:
self: "Encara no teniu solucions acceptades."
others: "No hi ha solucions acceptades."
badges:
solved_1:
name: "Solucionat!"
@@ -0,0 +1,71 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
cs:
accepted_answer: "Přijatá odpověď"
site_settings:
solved_enabled: "Zapnout plugin \"vyřešeno\", povolit uživatelům zvolit řešení témat"
allow_solved_on_all_topics: "Povolit uživatelům výběr řešení pro všechna témata (pokud není zaškrtnuto, lze povolit řešení pro jednotlivé kategorie nebo štítky)."
accept_all_solutions_trust_level: "Minimální důvěryhodnost požadovaná pro schválení řešení jakéhokoliv tématu (i když není OP)"
accept_all_solutions_allowed_groups: "Skupiny, které mohou přijímat řešení na jakékoli téma (i když nejsou OP). Správci a moderátoři jsou vždy povoleni."
empty_box_on_unsolved: "Zobrazit prázdný box vedle nevyřešených témat"
solved_quote_length: "Počet citovaných znaků daného řešení tématu pod prvním příspěvkem"
solved_topics_auto_close_hours: "Automaticky zavřít téma (n) hodin po poslední odpovědi, jakmile bylo téma označeno jako vyřešené. Nastavením na 0 deaktivujete automatické zavírání."
show_filter_by_solved_status: "Zobrazit rozevírací seznam pro filtrování seznamu témat podle statusu vyřešení."
notify_on_staff_accept_solved: "Odeslání oznámení tvůrci tématu, když je příspěvek označen jako řešení zaměstnancem."
ignore_solved_topics_in_assigned_reminder: "Zabránit tomu, aby připomenutí úkolů zahrnovala vyřešená témata. Relevantní pouze při použití pluginu discourse-assign."
assignment_status_on_solve: "Když je téma vyřešeno, aktualizujte všechny úkoly na tento stav."
assignment_status_on_unsolve: "Když je téma nevyřešené, aktualizujte všechna přiřazení na tento stav"
disable_solved_education_message: "Zakázat vzdělávací zprávu pro řešení témat."
accept_solutions_topic_author: "Povolit autorovi tématu přijmout řešení."
solved_add_schema_markup: "Přidání do HTML značky schématu QAPage."
enable_solved_tags: "Štítky, které umožní uživatelům vybrat řešení."
prioritize_solved_topics_in_search: "Upřednostnit ve výsledcích vyhledávání vyřešená témata."
show_who_marked_solved: "Zobrazit, kdo označil téma jako vyřešené. Toto je uvedeno v prvním příspěvku tématu a v bublině u příspěvku s odpovědí."
keywords:
accept_all_solutions_allowed_groups: "accept_all_solutions_trust_level"
reports:
accepted_solutions:
title: "Přijatá řešení"
xaxis: "Den"
yaxis: "Celkem"
solved:
no_solutions:
self: "Nemáte zatím žádná akceptovaná řešení."
others: "Žádná akceptovaná řešení."
badges:
solved_1:
name: "Vyřešeno!"
description: "Má odpověď označenu jako řešení"
long_description: "Tento odznak se uděluje za označení odpovědi jako Řešení tématu. :white_check_mark: Dobrá práce.: +1:"
solved_2:
name: "Poradce"
description: "Má 10 odpovědí označeno jako řešení"
long_description: "Tento odznak je udělen za to, že 10 z vašich odpovědí bylo označeno jako řešení témat. :white_check_mark: Pro své kolegy z komunity jste opravdovým přínosem."
solved_3:
name: "Všechno ví"
description: "Má 50 odpovědí označeno jako řešení"
long_description: "Tento odznak je udělen za 50 vašich odpovědí označených jako řešení témat. :white_check_mark: Opravdu se vyznáte. :clap:"
solved_4:
name: "Továrna na řešení"
description: "Má 150 odpovědí označeno jako řešení"
long_description: "Tento odznak je udělen za 150 vašich odpovědí označených jako řešení témat. :white_check_mark: Vynikající práce. :slightly_smiling_face: Jste oficiálně továrnou na řešení. :brain:"
discourse_automation:
triggerables:
first_accepted_solution:
title: První přijaté řešení
doc: Spustí se, když bylo uživateli poprvé přijato řešení.
education:
topic_is_solved: |
### Toto téma bylo vyřešeno
Odpovídejte pouze pokud:
- Máte další podrobnosti
- Řešení pro vás nefunguje
Pokud máte nesouvisející problém, založte místo toho [nové téma](%{base_url}/new-topic).
@@ -0,0 +1,11 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
da:
reports:
accepted_solutions:
xaxis: "Dag"
yaxis: "Total"
@@ -0,0 +1,71 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
de:
accepted_answer: "Akzeptierte Antwort"
site_settings:
solved_enabled: "Aktiviere das solved-Plug-in; erlaubt Benutzern, Lösungen für Themen auszuwählen"
allow_solved_on_all_topics: "Benutzern erlauben, Lösungen für alle Themen auszuwählen (wenn diese Option nicht aktiviert ist, können Lösungen nach Kategorie oder Schlagwort aktiviert werden)"
accept_all_solutions_trust_level: "Minimale Vertrauensstufe, die das Akzeptieren von Lösungen in jedem Thema erlaubt (auch wenn nicht selbst erstellt)"
accept_all_solutions_allowed_groups: "Gruppen, die Lösungen zu jedem Thema akzeptieren dürfen (auch wenn sie nicht Ersteller des Themas sind). Administratoren und Moderatoren haben diese Befugnis grundsätzlich."
empty_box_on_unsolved: "Zeige eine leere Box neben ungelösten Themen"
solved_quote_length: "Anzahl der Zeichen, die zitiert werden, wenn die Lösung unterhalb des ersten Beitrags angezeigt wird"
solved_topics_auto_close_hours: "Thema automatisch (n) Stunden nach der letzten Antwort schließen, sobald das Thema als gelöst markiert wurde. Auf 0 setzen, um automatisches Schließen zu deaktivieren."
show_filter_by_solved_status: "Zeige eine Drop-down-Liste, um eine Themenliste nach „Gelöst“-Status zu filtern."
notify_on_staff_accept_solved: "Benachrichtigung an den Themenersteller senden, wenn ein Beitrag von einem Team-Mitglied als Lösung markiert wird."
ignore_solved_topics_in_assigned_reminder: "Verhindere, dass Erinnerungen für Zuordnungen gelöste Themen betreffen. Nur relevant, wenn das Plugin discourse-assign verwendet wird."
assignment_status_on_solve: "Wenn ein Thema als gelöst markiert wird, aktualisiere alle Zuordnungen auf diesen Status"
assignment_status_on_unsolve: "Wenn ein Thema als ungelöst markiert wird, aktualisiere alle Zuordnungen auf diesen Status"
disable_solved_education_message: "Deaktiviert den Hinweis für gelöste Themen."
accept_solutions_topic_author: "Erlaube dem Themenverfasser, eine Lösung zu akzeptieren."
solved_add_schema_markup: "Füge QAPage-Schema-Mark-up zu HTML hinzu."
enable_solved_tags: "Schlagwörter, die es Benutzern ermöglichen, Lösungen auszuwählen."
prioritize_solved_topics_in_search: "Gelöste Themen in den Suchergebnissen priorisieren."
show_who_marked_solved: "Zeige, wer das Thema als gelöst markiert hat. Dies wird im ersten Beitrag des Themas und im Antwortbeitrag in einem Tooltip angezeigt."
keywords:
accept_all_solutions_allowed_groups: "accept_all_solutions_trust_level"
reports:
accepted_solutions:
title: "Akzeptierte Lösungen"
xaxis: "Tag"
yaxis: "Gesamt"
solved:
no_solutions:
self: "Du hast noch keine akzeptierte Lösung."
others: "Keine akzeptierten Lösungen."
badges:
solved_1:
name: "Gelöst!"
description: "Eine Antwort wurde als Lösung markiert"
long_description: "Dieses Abzeichen bekommst du, wenn deine Antwort als Lösung für ein Thema markiert wurde :white_check_mark: Gute Arbeit :+1:"
solved_2:
name: "Berater"
description: "10 Antworten wurden als Lösungen markiert"
long_description: "Dieses Abzeichen bekommst du, wenn 10 deiner Antworten als Lösungen für Themen markiert wurden :white_check_mark: Du bist wahrlich eine Bereicherung für die Mitglieder deiner Community."
solved_3:
name: "Kluges Köpfchen"
description: "50 Antworten wurden als Lösungen markiert"
long_description: "Dieses Abzeichen bekommst du, wenn 50 deiner Antworten als Lösungen für Themen markiert wurden :white_check_mark: Du weißt echt, wovon du sprichst :clap:"
solved_4:
name: "Anlaufstelle für Lösungen"
description: "150 Antworten wurden als Lösungen markiert"
long_description: "Dieses Abzeichen bekommst du, wenn 150 deiner Antworten als Lösungen für Themen markiert wurden :white_check_mark: Ausgezeichnete Arbeit :slightly_smiling_face: Du bist offiziell eine Anlaufstelle für Lösungen :brain:"
discourse_automation:
triggerables:
first_accepted_solution:
title: Erste akzeptierte Lösung
doc: Wird ausgelöst, wenn für einen Benutzer zum ersten Mal eine Lösung akzeptiert wird.
education:
topic_is_solved: |
### Dieses Thema wurde gelöst
Antworte hier nur, wenn:
- du zusätzliche Details hast.
- die Lösung für dich nicht funktioniert.
Wenn du ein anderes Problem hast, erstelle bitte stattdessen [ein neues Thema](%{base_url}/new-topic).
@@ -0,0 +1,30 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
el:
accepted_answer: "Αποδεκτή Απάντηση"
site_settings:
solved_enabled: "Ενεργοποιήστε το πρόσθετο solved, επιτρέψτε στους χρήστες να επιλέγουν λύσεις για θέματα"
accept_all_solutions_trust_level: "Απαιτείται ελάχιστο επίπεδο εμπιστοσύνης για αποδοχή λύσεων σε οποιοδήποτε θέμα (ακόμα και όταν δεν είναι OP)"
empty_box_on_unsolved: "Εμφάνιση ενός κενού πλαισίου δίπλα στα άλυτα θέματα"
solved_quote_length: "Αριθμός χαρακτήρων προς παράθεση κατά την εμφάνιση της λύσης στην πρώτη ανάρτηση"
show_filter_by_solved_status: "Εμφάνιση μιας αναπτυσσόμενης λίστας για να φιλτράρετε μια λίστα θεμάτων κατά κατάσταση επίλυσης."
reports:
accepted_solutions:
title: "Αποδεκτές λύσεις"
xaxis: "Ημέρα"
yaxis: "Σύνολο"
solved:
no_solutions:
self: "Δεν έχετε αποδεχτεί ακόμη λύσεις."
others: "Καμία αποδεκτή λύση."
badges:
solved_1:
name: "Λύθηκε!"
discourse_automation:
triggerables:
first_accepted_solution:
title: Πρώτη αποδεκτή λύση
@@ -0,0 +1,71 @@
en:
accepted_answer: "Accepted Answer"
site_settings:
solved_enabled: "Enable solved plugin, allow users to select solutions for topics"
allow_solved_on_all_topics: "Allow users to select solutions on all topics (when unchecked, solutions can be enabled per category or tag)"
accept_all_solutions_trust_level: "Minimum trust level required to accept solutions on any topic (even when not OP)"
accept_all_solutions_allowed_groups: "Groups that are allowed to accept solutions on any topic (even when not OP). Admins and moderators are always allowed."
empty_box_on_unsolved: "Display an empty box next to unsolved topics"
solved_quote_length: "Number of characters to quote when displaying the solution under the first post"
solved_topics_auto_close_hours: "Auto close topic (n) hours after the last reply once the topic has been marked as solved. Set to 0 to disable auto closing."
show_filter_by_solved_status: "Show a dropdown to filter a topic list by solved status."
notify_on_staff_accept_solved: "Send notification to the topic creator when a post is marked as solution by a staff."
ignore_solved_topics_in_assigned_reminder: "Prevent reminders for assignments from including solved topics. Only relevant when using the discourse-assign plugin."
assignment_status_on_solve: "When a topic is solved update all assignments to this status"
assignment_status_on_unsolve: "When a topic is unsolved update all assignments to this status"
disable_solved_education_message: "Disable education message for solved topics."
accept_solutions_topic_author: "Allow the topic author to accept a solution."
solved_add_schema_markup: "Add QAPage schema markup to HTML."
enable_solved_tags: "Tags that will allow users to select solutions."
prioritize_solved_topics_in_search: "Prioritize solved topics in search results."
show_who_marked_solved: "Show who marked the topic as solved. This is indicated in the topic's first post, and the answer post in a tooltip."
keywords:
accept_all_solutions_allowed_groups: "accept_all_solutions_trust_level"
reports:
accepted_solutions:
title: "Accepted solutions"
xaxis: "Day"
yaxis: "Total"
solved:
no_solutions:
self: "You have no accepted solutions yet."
others: "No accepted solutions."
badges:
solved_1:
name: "Solved!"
description: "Have a reply marked as a Solution"
long_description: "This badge is granted for having a reply marked as a Solution to a topic. :white_check_mark: Nice job. :+1:"
solved_2:
name: "Guidance Counsellor"
description: "Have 10 replies marked as Solutions"
long_description: "This badge is granted for having 10 of your replies marked as Solutions to topics. :white_check_mark: You are a true asset to your fellow community members."
solved_3:
name: "Know-it-All"
description: "Have 50 replies marked as Solutions"
long_description: "This badge is granted for having 50 of your replies marked as Solutions to topics. :white_check_mark: You really know your stuff. :clap:"
solved_4:
name: "Solution Institution"
description: "Have 150 replies marked as Solutions"
long_description: "This badge is granted for having 150 of your replies marked as Solutions to topics. :white_check_mark: Excellent work. :slightly_smiling_face: You are officially a Solution Institution. :brain:"
discourse_automation:
triggerables:
first_accepted_solution:
title: First accepted solution
doc: Triggers when a user got a solution accepted for the first time.
education:
topic_is_solved: |
### This topic has been solved
Only reply here if:
- You have additional details
- The solution doesn't work for you
If you have an unrelated issue, please [start a new topic](%{base_url}/new-topic) instead.
@@ -0,0 +1,7 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
en_GB:
@@ -0,0 +1,70 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
es:
accepted_answer: "Respuesta aceptada"
site_settings:
solved_enabled: "Activar el complemento de solución, que permite a los usuarios seleccionar soluciones para temas"
allow_solved_on_all_topics: "Permitir que los usuarios seleccionen soluciones en todos los temas (si no lo marcas, puedes activarlo individualmente por categoría o etiqueta)"
accept_all_solutions_trust_level: "Nivel de confianza mínimo requerido para aceptar soluciones en cualquier tema (incluso cuando no sea el publicador original)"
accept_all_solutions_allowed_groups: "Grupos que pueden aceptar soluciones sobre cualquier tema (aunque no sean PO). Los administradores y moderadores siempre están autorizados."
empty_box_on_unsolved: "Mostrar un cuadro vacío junto a los temas sin solución"
solved_quote_length: "Número de caracteres que se citan al mostrar la solución debajo de la primera publicación"
solved_topics_auto_close_hours: "Cerrar automáticamente el tema (n) horas después de la última respuesta una vez que el tema se ha marcado como resuelto. Establecer a 0 para deshabilitar el cierre automático."
show_filter_by_solved_status: "Mostrar un menú desplegable para filtrar una lista de temas por estado de solución."
notify_on_staff_accept_solved: "Enviar una notificación al creador del tema cuando alguien del personal marque una publicación como solución."
ignore_solved_topics_in_assigned_reminder: "Evita que los recordatorios de asignaciones incluyan temas resueltos. Solo es relevante cuando se utiliza el plugin de asignación de Discourse."
assignment_status_on_solve: "Cuando se resuelve un tema actualiza todas las asignaciones a este estado"
assignment_status_on_unsolve: "Cuando un tema está sin resolver actualiza todas las asignaciones a este estado"
disable_solved_education_message: "Desactivar mensajes informativos en los temas resueltos."
accept_solutions_topic_author: "Permitir que el autor de un tema marque una respuesta como la solución."
solved_add_schema_markup: "Añade el marcado del esquema de QAPage al HTML."
enable_solved_tags: "Etiquetas que permitirán a los usuarios seleccionar soluciones."
prioritize_solved_topics_in_search: "Prioriza los temas resueltos en los resultados de búsqueda."
keywords:
accept_all_solutions_allowed_groups: "accept_all_solutions_trust_level"
reports:
accepted_solutions:
title: "Soluciones aceptadas"
xaxis: "Día"
yaxis: "Total"
solved:
no_solutions:
self: "Todavía no te han marcado ninguna respuesta como solución."
others: "No hay soluciones aceptadas."
badges:
solved_1:
name: "¡Solucionado!"
description: "Tener una respuesta marcada como Solución"
long_description: "Esta insignia se concede por tener una respuesta marcada como Solución a un tema :white_check_mark: Buen trabajo :+1:"
solved_2:
name: "Orientador"
description: "Tener 10 respuestas marcadas como Soluciones"
long_description: "Esta insignia se concede por tener 10 de tus respuestas marcadas como Soluciones a temas :white_check_mark: Eres un verdadero activo para tus compañeros de la comunidad."
solved_3:
name: "Sabelotodo"
description: "Tener 50 respuestas marcadas como Soluciones"
long_description: "Esta insignia se concede por tener 50 de tus respuestas marcadas como Soluciones a temas :white_check_mark: Realmente sabes lo que haces :clap:"
solved_4:
name: "Institución de soluciones"
description: "Tener 150 respuestas marcadas como Soluciones"
long_description: "Esta insignia se concede por tener 150 de tus respuestas marcadas como Soluciones a temas :white_check_mark: Excelente trabajo :slightly_smiling_face: Eres oficialmente una Institución de Soluciones :brain:"
discourse_automation:
triggerables:
first_accepted_solution:
title: Primera solución aceptada
doc: Se activa cuando un usuario obtiene una solución aceptada por primera vez.
education:
topic_is_solved: |
### Este tema está resuelto
Responde solo si:
- Puedes aportar más detalles
- La solución no te ha funcionado
Si tienes otro problema, [empieza un nuevo tema](%{base_url}/new-topic) en vez de responder aquí.
@@ -0,0 +1,18 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
et:
reports:
accepted_solutions:
title: "Aktsepteeritud lahendused"
xaxis: "Päev"
yaxis: "Kokku"
solved:
no_solutions:
others: "Aktsepteeritud lahendusi pole."
badges:
solved_1:
name: "Lahendatud!"
@@ -0,0 +1,22 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
fa_IR:
accepted_answer: "پاسخ پذیرفته شد"
site_settings:
prioritize_solved_topics_in_search: "اولویت‌بندی موضوعات حل شده در نتایج جستجو"
reports:
accepted_solutions:
title: "راه حل مورد قبول"
xaxis: "روز"
yaxis: "مجموع"
solved:
no_solutions:
others: "هیچ راه حل پذیرفته ای وجود ندارد"
badges:
solved_1:
name: "حل شده!"
description: "یک پاسخ به عنوان راه حل علامت گذاری شده است"
@@ -0,0 +1,70 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
fi:
accepted_answer: "Hyväksytty vastaus"
site_settings:
solved_enabled: "Ota käyttöön Solved-lisäosa, salii käyttäjän merkitä ratkaisuja ketjuille"
allow_solved_on_all_topics: "Salli käyttäjien valita ratkaisuja kaikissa ketjuissa (jos tätä ei ole valittu, ratkaisut voidaan ottaa käyttöön alue- tai tunnistekohtaisesti)"
accept_all_solutions_trust_level: "Luottamustaso joka vaaditaan, jotta voi merkitä ratkaisuksi (vaikkei olisikaan itse kysyjä)"
accept_all_solutions_allowed_groups: "Ryhmät, jotka voivat hyväksyä ratkaisuja missä tahansa ketjussa (vaikka ei eivät olisi alkuperäisen viestin kirjoittajia). Ylläpitäjät ja valvojat voivat aina hyväksyä ratkaisuja."
empty_box_on_unsolved: "Näytä tyhjä laatikko ratkaisemattomien ketjujen yhteydessä"
solved_quote_length: "Kuinka monta merkkiä näytetään, kun lainataan ratkaisua ketjun avausviestin alapuolella"
solved_topics_auto_close_hours: "Sulje ketju automaattisesti (n) tunnin kuluttua viimeisestä vastauksesta, kun aihe on merkitty ratkaistuksi. Poista automaattinen sulkeminen käytöstä asettamalla arvoksi 0."
show_filter_by_solved_status: "Näytä pudotusvalikko, jolla voi suodattaa ketjuluetteloa ratkaisun tilan mukaan."
notify_on_staff_accept_solved: "Lähetä ilmoitus ketjun luojalle, kun henkilökunta merkitsee viestin ratkaisuksi."
ignore_solved_topics_in_assigned_reminder: "Estä osoitusten muistutuksia sisällyttämästä ratkaistuja ketjuja. Olennainen vain käytettäessä discourse-assign-lisäosaa."
assignment_status_on_solve: "Kun ketju on ratkaistu, päivitä kaikki osoitukset tähän tilaan"
assignment_status_on_unsolve: "Kun ketju on ratkaisematon, päivitä kaikki osoitukset tähän tilaan"
disable_solved_education_message: "Poista koulutusviesti käytöstä ratkaistuissa ketjuissa."
accept_solutions_topic_author: "Salli ketjun luojan hyväksyä ratkaisu."
solved_add_schema_markup: "Lisää QAPage-skeemamerkintä HTML:ään."
enable_solved_tags: "Tunnisteet, joilla käyttäjät voivat valita ratkaisuja."
prioritize_solved_topics_in_search: "Priorisoi ratkaistut ketjut hakutuloksissa."
keywords:
accept_all_solutions_allowed_groups: "accept_all_solutions_trust_level"
reports:
accepted_solutions:
title: "Hyväksytyt ratkaisut"
xaxis: "Päivä"
yaxis: "Yhteensä"
solved:
no_solutions:
self: "Viestejäsi ei ole vielä hyväksytty ratkaisuiksi."
others: "Ei hyväksyttyjä ratkaisuja."
badges:
solved_1:
name: "Ratkaistu!"
description: "Vastauksesi on merkitty ratkaisuksi"
long_description: "Tämä kunniamerkki myönnetään vastauksesta, joka on merkitty ketjun ratkaisuksi. :white_check_mark: Hyvää työtä. :+1:"
solved_2:
name: "Opinto-ohjaaja"
description: "10 vastaustasi on merkitty ratkaisuksi"
long_description: "Tämä kunniamerkki myönnetään siitä, että 10 vastauksistasi on merkitty ketjujen ratkaisuiksi. :white_check_mark: Olet todellinen voimavara yhteisön jäsenille."
solved_3:
name: "Kaikkitietävä"
description: "50 vastaustasi on merkitty ratkaisuksi"
long_description: "Tämä kunniamerkki myönnetään siitä, että 50 vastauksistasi on merkitty ketjujen ratkaisuiksi. :white_check_mark: Tiedät todellakin, mistä puhut. :clap:"
solved_4:
name: "Ratkaisulaitos"
description: "150 vastaustasi on merkitty ratkaisuksi"
long_description: "Tämä kunniamerkki myönnetään siitä, että 150 vastauksistasi on merkitty ketjujen ratkaisuiksi. :white_check_mark: Erinomaista työtä. :slightly_smiling_face: Olet virallisesti ratkaisulaitos. :brain:"
discourse_automation:
triggerables:
first_accepted_solution:
title: Ensimmäinen hyväksytty ratkaisu
doc: Laukaistaan, kun käyttäjän ratkaisu hyväksytään ensimmäisen kerran.
education:
topic_is_solved: |
### Tämä ketju on ratkaistu
Vastaa tähän vain, jos:
sinulla on lisätietoja
ratkaisu ei toimi sinulle
Jos sinulla on asiaan liittymätön ongelma, [aloita uusi ketju](%{base_url}/new-topic).
@@ -0,0 +1,70 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
fr:
accepted_answer: "Réponse acceptée"
site_settings:
solved_enabled: "Activer l'extension permettant aux utilisateurs de sélectionner des solutions aux sujets"
allow_solved_on_all_topics: "Autoriser les utilisateurs à sélectionner des solutions sur tous les sujets (lorsque cette option n'est pas activée, les solutions peuvent être activées par catégorie ou étiquette)"
accept_all_solutions_trust_level: "Niveau de confiance minimal requis pour accepter des solutions sur n'importe quel sujet (même sans en être l'auteur)"
accept_all_solutions_allowed_groups: "Groupes autorisés à accepter des solutions sur n'importe quel sujet (même s'il n'est pas OP). Les administrateurs et modérateurs sont toujours autorisés."
empty_box_on_unsolved: "Afficher une case vide à côté des sujets non résolus"
solved_quote_length: "Nombre de caractères à citer lors de l'affichage de la solution sous le premier message"
solved_topics_auto_close_hours: "Fermer automatiquement le sujet (n) heures après la dernière réponse, une fois que le sujet a été marqué comme résolu. Mettre à 0 pour désactiver la fermeture automatique."
show_filter_by_solved_status: "Afficher une liste déroulante pour filtrer les sujets par état de résolution."
notify_on_staff_accept_solved: "Envoyer une notification au créateur du sujet lorsqu'un message est marqué comme une solution par un responsable."
ignore_solved_topics_in_assigned_reminder: "Empêcher les rappels pour les attributions d'inclure des sujets résolus. Ne s'applique que lorsque vous utilisez l'extension discourse-assign."
assignment_status_on_solve: "Lorsqu'un sujet est résolu, mettre à jour toutes les attributions ayant ce statut"
assignment_status_on_unsolve: "Lorsqu'un sujet n'est pas résolu, mettre à jour toutes les attributions ayant ce statut"
disable_solved_education_message: "Désactiver les messages éducatifs pour les sujets résolus."
accept_solutions_topic_author: "Permettre à l'auteur du sujet d'accepter une solution."
solved_add_schema_markup: "Ajouter le marquage du schéma QAPage au code HTML."
enable_solved_tags: "Étiquettes qui permettront aux utilisateurs de sélectionner des solutions."
prioritize_solved_topics_in_search: "Prioriser les sujets résolus dans les résultats de recherche."
keywords:
accept_all_solutions_allowed_groups: "accept_all_solutions_trust_level"
reports:
accepted_solutions:
title: "Solutions acceptées"
xaxis: "Jour"
yaxis: "Total"
solved:
no_solutions:
self: "Vous n'avez pas encore de solutions acceptées."
others: "Aucune solution acceptée."
badges:
solved_1:
name: "Résolu !"
description: "Faire marquer une réponse comme solution"
long_description: "Ce badge est accordé lorsqu'une réponse est marquée comme solution à un sujet. :white_check_mark: Bon travail. :+1:"
solved_2:
name: "Conseiller d'orientation"
description: "Faites marquer 10 réponses comme solutions"
long_description: "Ce badge est accordé lorsque 10 de vos réponses sont marquées comme des solutions à des sujets. :white_check_mark: Vous êtes un véritable atout pour les autres membres de votre communauté."
solved_3:
name: "Personne-ressource"
description: "Faites marquer 50 réponses comme solutions"
long_description: "Ce badge est accordé lorsque 50 de vos réponses sont marquées comme des solutions à des sujets. :white_check_mark: Vous vous y connaissez. :clap:"
solved_4:
name: "Institution de solution"
description: "Faites marquer 150 réponses comme solutions"
long_description: "Ce badge est accordé lorsque 150 de vos réponses sont marquées comme des solutions à des sujets. :white_check_mark: Excellent travail. :slightly_smiling_face: Vous êtes officiellement une institution de solutions. :brain:"
discourse_automation:
triggerables:
first_accepted_solution:
title: Première solution acceptée
doc: Se déclenche lorsqu'une solution est acceptée pour la première fois par un utilisateur.
education:
topic_is_solved: |
### Ce sujet a été résolu
Répondez uniquement si :
- Vous avez des informations supplémentaires
- La solution ne fonctionne pas pour vous
Si vous avez un problème sans lien avec le sujet, veuillez [créer un nouveau sujet](%{base_url}/nouveau- sujet) à la place.
@@ -0,0 +1,11 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
gl:
reports:
accepted_solutions:
xaxis: "Día"
yaxis: "Total"
@@ -0,0 +1,70 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
he:
accepted_answer: "תשובה שקיבלה אישור"
site_settings:
solved_enabled: "הפעלת תוסף הפתרונות, מאפשר למשתמשים לבחור פתרונות לנושאים"
allow_solved_on_all_topics: "לאפשר למשתמשים לבחור פתרונות בכל הנושאים (כשלא מסומן, ניתן להפעיל פתרונות לפי קטגוריה או תגית)"
accept_all_solutions_trust_level: "רמת האמון המזערית שנדרשת לקבלת פתרונות בכל נושא שהוא (אפילו לא בתור המפרסם המקורי)"
accept_all_solutions_allowed_groups: "קבוצות שמורשות לקבל פתרונות בכל נושא (גם כשלא משתתפיה פרסמו אותו). מנהלים ומפקחים מורשים תמיד."
empty_box_on_unsolved: "להציג תיבה ריקה ליד הנושאים שלא נפתרו"
solved_quote_length: "מספר התווים לציטוט בעת הצגת הפתרון תחת הפוסט הראשון"
solved_topics_auto_close_hours: "לסגור נושא אוטומטית (n) שעות לאחר התגובה האחרונה כאשר הנושא סומן כפתור. יש להגדיר כ־0 להשבתת הסגירה האוטומטית."
show_filter_by_solved_status: "הצגת רשימה נגללת כדי לסנן רשימת נושאים לפי מצב פתרון."
notify_on_staff_accept_solved: "לשלוח הודעה ליוצר הנושא כאשר פוסט מסומן כפתרון על ידי הסגל."
ignore_solved_topics_in_assigned_reminder: "למנוע מתזכורות למשימות לכלול נושאים פתורים. תקף רק בעת שימוש בתוסף discourse-assign."
assignment_status_on_solve: "כאשר נושא נפתר לעדכן את כל ההקצאות למצב הזה"
assignment_status_on_unsolve: "כאשר נושא סומן כלא פתור לעדכן את כל ההקצאות למצב הזה"
disable_solved_education_message: "השבתת הודעת חינוך לנושאים שנפתרו."
accept_solutions_topic_author: "לאפשר ליוצר הנושא לאשר פתרון."
solved_add_schema_markup: "להוסיף סימון סכמת QAPage ל־HTML."
enable_solved_tags: "תגיות שיאפשרו למשתמשים לבחור פתרונות."
prioritize_solved_topics_in_search: "תעדוף נושאים שנפתרו בתוצאות החיפוש."
keywords:
accept_all_solutions_allowed_groups: "accept_all_solutions_trust_level (דרגת אמון לקבלת כל הפתרונות)"
reports:
accepted_solutions:
title: "פתרונות מקובלים"
xaxis: "יום"
yaxis: "סך הכל"
solved:
no_solutions:
self: "אין לך פתרונות מקובלים עדיין."
others: "אין פתרונות מקובלים."
badges:
solved_1:
name: "נפתר!"
description: "סימון תגובה כפתרון"
long_description: "עיטור זה מוענק על תגובה שסומנה כפתרון לנושא. :white_check_mark: כל הכבוד. :+1:"
solved_2:
name: "יעוץ הדרכה"
description: "10 תגובות שלך סומנו כפתרונות"
long_description: "עיטור זה מוענק על כך ש־10 מהתגובות שלך סומנו כפתרונות לנושאים. :white_check_mark: המעורבות שלך היא נכס שלא יסולא בפז לחברי הקהילה."
solved_3:
name: "חכמולוג"
description: "50 תגובות שלך סומנו כפתרונות"
long_description: "עיטור זה מוענק על כך ש־50 מהתגובות שלך סומנו כפתרונות לנושאים. :white_check_mark: נראה שיש לך מושג בדבר או שניים. :clap:"
solved_4:
name: "מכון הפתרונות"
description: "150 תגובות שלך סומנו כפתרונות"
long_description: "עיטור זה מוענק על כך ש־150 מהתגובות שלך סומנו כפתרונות לנושאים. :white_check_mark: עבודה מצוינת. :slightly_smiling_face: אפשר להכתיר אותך בתור מכון פתרונות. :brain:"
discourse_automation:
triggerables:
first_accepted_solution:
title: הפתרון הראשון שהתקבל
doc: מקפיץ כאשר אושר פתרון של משתמש לראשונה.
education:
topic_is_solved: |
### נושא זה נפתר
יש להגיב כאן רק אם:
- יש לך פרטים נוספים
- הפתרון לא עובד עבורך
אם יש לך בעיה שלא קשורה, נא [לפתוח נושא חדש] (%{base_url}/new-topic) במקום.
@@ -0,0 +1,14 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
hr:
reports:
accepted_solutions:
xaxis: "Dan"
yaxis: "Ukupno"
badges:
solved_1:
name: "Riješeno!"
@@ -0,0 +1,70 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
hu:
accepted_answer: "Elfogadott válasz"
site_settings:
solved_enabled: "Solved plugin engedélyezése, hogy a felhasználók kiválaszthassák a megoldást a témához"
allow_solved_on_all_topics: "A felhasználók kiválaszthatják a megoldásokat az összes témában (ha nincs bejelölve, akkor a megoldások kategóriánként vagy címkénként kapcsolhatók be)"
accept_all_solutions_trust_level: "Szükséges minimum bizalmi szint a megoldások elfogadásához bármelyik témában (even when not OP)"
accept_all_solutions_allowed_groups: "Csoportok, amelyek bármilyen témában elfogadhatnak megoldásokat (még akkor is, ha nem OP). Adminok és moderátorok mindig engedélyezettek."
empty_box_on_unsolved: "Egy üres doboz megjelenítése a megoldatlan témák mellett"
solved_quote_length: "Idézett karakterek száma amikor a megoldás megjelenik az első bejegyzés alatt"
solved_topics_auto_close_hours: "Automatikusan zárja le a témát (n) órával az utolsó válasz után, miután a témát megoldották. Állítsa 0-ra az automatikus lezárás letiltásához."
show_filter_by_solved_status: "Legördülő menü megjelenítése a témalista megoldási állapot szerinti szűréséhez."
notify_on_staff_accept_solved: "Értesítés küldése a téma létrehozójának, ha egy bejegyzést a stáb megoldásként jelöl meg."
ignore_solved_topics_in_assigned_reminder: "Megakadályozhatja, hogy a feladatokra vonatkozó emlékeztetők megoldott témákat is tartalmazzanak. Csak a discourse-assign plugin használata esetén releváns."
assignment_status_on_solve: "Ha egy téma megoldódott, frissítse az összes hozzárendelést erre az állapotra."
assignment_status_on_unsolve: "Ha egy téma megoldatlan, frissítse az összes hozzárendelést erre az állapotra."
disable_solved_education_message: "Oktatási üzenet letiltása a megoldott témáknál."
accept_solutions_topic_author: "Engedélyezés, hogy a téma szerzője elfogadjon egy megoldást."
solved_add_schema_markup: "QAPage sémaleíró hozzáadása a HTML-hez."
enable_solved_tags: "Címkék, amelyek lehetővé teszik a felhasználók számára a megoldások kiválasztását."
prioritize_solved_topics_in_search: "A megoldott témák rangsorolása a keresési eredményekben."
keywords:
accept_all_solutions_allowed_groups: "minden_bizalmiszint_megoldas_elfogadasa"
reports:
accepted_solutions:
title: "Elfogadott megoldások"
xaxis: "Nap"
yaxis: "Összesen"
solved:
no_solutions:
self: "Még nincs elfogadott megoldásod."
others: "Nincs elfogadott megoldás."
badges:
solved_1:
name: "Megoldott!"
description: "Megoldásként megjelölt válasz"
long_description: "Ez a jelvény akkor jár, ha a válasz egy téma megoldásaként van megjelölve. :white_check_mark: Szép munka. :+1:"
solved_2:
name: "Tájékoztatási tanácsadó"
description: "10 válasz van Megoldásokként megjelölve"
long_description: "Ez a jelvény azért jár, mert 10 válaszod megjelölték megoldásként. :white_check_mark: Valódi érték a közösség tagjai számára."
solved_3:
name: "Mindentudó"
description: "50 válasz legyen Megoldásként megjelölve"
long_description: "Ez a jelvény azért ját, mert 50 válaszod megjelölték megoldásként. :white_check_mark: Te tényleg tudod a dolgod. :clap:"
solved_4:
name: "Megoldó Intézmény"
description: "150 válasz legyen Megoldásként megjelölve"
long_description: "Ez a jelvény azért jár, mert már 150 válaszod meg van jelölve megoldásként. :white_check_mark: Kiváló munka. :slightly_smiling_face: Te hivatalosan is egy Megoldó intézmény vagy. :brain:"
discourse_automation:
triggerables:
first_accepted_solution:
title: Első elfogadott megoldás
doc: Akkor aktiválódik, amikor a felhasználó megoldását először fogadják el.
education:
topic_is_solved: |
### Ezt a témát sikerült megoldani
Csak akkor válaszoljon ide, ha:
- További információi vannak
- A megoldás nem működik az Ön számára
Ha nem kapcsolódó problémája van, inkább [indítson új témát](%{base_url}/new-topic).
@@ -0,0 +1,25 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
hy:
site_settings:
solved_enabled: "Միացնել լուծված պլագինը, թույլատրել օգտատերերին ընտրել լուծումներ թեմաների համար"
accept_all_solutions_trust_level: "Վստահության նվազագույն մակարդակը, որը պահանջվում է ցանկացած թեմայի լուծումը ընդունելու համար (նույնիսկ եթե OP չէ)"
empty_box_on_unsolved: "Ցուցադրել դատարկ արկղ չլուծված թեմաների կողքին"
solved_quote_length: "Մեջբերվող սիմվոլների քանակը՝ առաջին գրառմնա տակ լուծումը ցուցադրելիս"
show_filter_by_solved_status: "Ցուցադրել բացվող ցուցակ՝ թեմաների ցանկը ըստ լուծման կարգավիճակի ֆիլտրելու համար:"
reports:
accepted_solutions:
title: "Ընդունված լուծումներ"
xaxis: "Օր"
yaxis: "Ամբողջ"
solved:
no_solutions:
self: "Դուք դեռևս չունեք ընդունված լուծումներ:"
others: "Ընդունված լուծումներ չկան"
badges:
solved_1:
name: "Լուծված է!"
@@ -0,0 +1,19 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
id:
site_settings:
solved_enabled: "Aktifkan plugin yang terpecahkan, inzinkan pengguna memilih solusi untuk topik"
notify_on_staff_accept_solved: "Kirim notifikasi ke pembuat topik saat postingan ditandai sebagai solusi oleh staf."
reports:
accepted_solutions:
title: "Solusi yang diterima"
xaxis: "Hari"
yaxis: "Jumlah"
solved:
no_solutions:
self: "Anda belum memiliki solusi yang diterima."
others: "Tidak ada solusi yang diterima."
@@ -0,0 +1,70 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
it:
accepted_answer: "Risposta accettata"
site_settings:
solved_enabled: "Attiva il plugin 'solved', che consente agli autenti di selezionare soluzioni negli argomenti"
allow_solved_on_all_topics: "Consenti agli utenti di selezionare soluzioni su tutti gli argomenti (se l'opzione è deselezionata, le soluzioni possono essere abilitate per categoria o etichetta)"
accept_all_solutions_trust_level: "Livello di attendibilità minimo richiesto per poter accettare soluzioni su qualsiasi argomento (anche quando non si è l'autore dell'argomento stesso)"
accept_all_solutions_allowed_groups: "Gruppi a cui è consentito accettare soluzioni su qualsiasi argomento (anche quando non OP). Sono sempre ammessi amministratori e moderatori."
empty_box_on_unsolved: "Mostra una casella vuota accanto agli argomenti non risolti"
solved_quote_length: "Numero di caratteri da citare quando si visualizza la soluzione sotto il primo messaggio"
solved_topics_auto_close_hours: "Chiudi automaticamente l'argomento (n) ore dopo l'ultima risposta una volta che l'argomento è stato contrassegnato come risolto. Impostare a 0 per disabilitare la chiusura automatica."
show_filter_by_solved_status: "Mostra un menu a discesa per filtrare un elenco di argomenti in base allo stato risolto."
notify_on_staff_accept_solved: "Invia una notifica al creatore dell'argomento quando un messaggio viene contrassegnato come soluzione da uno staff."
ignore_solved_topics_in_assigned_reminder: "Evita che i promemoria per le assegnazioni includano argomenti risolti. Rilevante solo quando si utilizza il plug-in discourse-assign."
assignment_status_on_solve: "Quando un argomento viene risolto, aggiorna tutte le assegnazioni a questo stato"
assignment_status_on_unsolve: "Quando la risoluzione di un argomento viene annullata, aggiorna tutte le assegnazioni a questo stato"
disable_solved_education_message: "Disabilita il messaggio formativo per gli argomenti risolti."
accept_solutions_topic_author: "Consenti all'autore dell'argomento di accettare una soluzione."
solved_add_schema_markup: "Aggiungi il markup dello schema QAPage all'HTML."
enable_solved_tags: "Etichette che consentiranno agli utenti di selezionare soluzioni."
prioritize_solved_topics_in_search: "Dai la priorità agli argomenti risolti nei risultati di ricerca."
keywords:
accept_all_solutions_allowed_groups: "accept_all_solutions_trust_level"
reports:
accepted_solutions:
title: "Soluzioni accettate"
xaxis: "Giorno"
yaxis: "Totale"
solved:
no_solutions:
self: "Non hai ancora soluzioni accettate."
others: "Nessuna soluzione accettata."
badges:
solved_1:
name: "Risolto!"
description: "Avere una risposta contrassegnata come Soluzione"
long_description: "Questo distintivo viene assegnato per avere una risposta contrassegnata come Soluzione a un argomento. :white_check_mark: Ottimo lavoro. :+1:"
solved_2:
name: "Consulente"
description: "Avere 10 risposte contrassegnate come Soluzioni"
long_description: "Questo distintivo viene assegnato se 10 delle tue risposte sono contrassegnate come soluzioni agli argomenti. :white_check_mark: Sei una vera risorsa per gli altri membri della community."
solved_3:
name: "Saputello"
description: "Avere 50 risposte contrassegnate come Soluzioni"
long_description: "Questo distintivo viene assegnato se 50 delle tue risposte sono contrassegnate come soluzioni agli argomenti. :white_check_mark: Sai davvero il fatto tuo. :clap:"
solved_4:
name: "Risolutore di problemi"
description: "Avere 150 risposte contrassegnate come Soluzioni"
long_description: "Questo distintivo viene assegnato se 150 delle tue risposte sono contrassegnate come soluzioni agli argomenti. :white_check_mark: Ottimo lavoro. :slightly_smiling_face: Sei ufficialmente un Risolutore di problemi. :brain:"
discourse_automation:
triggerables:
first_accepted_solution:
title: Prima soluzione accettata
doc: Si attiva quando la soluzione di un utente è accettata per la prima volta.
education:
topic_is_solved: |
### Questo argomento è stato risolto
Rispondi qui solo se:
- Hai ulteriori dettagli
- La soluzione non funziona per te
Se hai un problema non collegato a questo, [inizia un nuovo argomento](%{base_url}/new- argomento).
@@ -0,0 +1,70 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
ja:
accepted_answer: "受け入れられた回答"
site_settings:
solved_enabled: "解決済みプラグインを有効にし、ユーザーがトピックの解決策を選択できるようにする"
allow_solved_on_all_topics: "すべてのトピックでユーザーが解決策を選択することを許可する(オフの場合、解決策はカテゴリごとまたはタグごとに有効にできます)"
accept_all_solutions_trust_level: "すべてのトピックで解決策を受け入れるために必要な最低信頼レベル(OP でない場合でも)"
accept_all_solutions_allowed_groups: "(OP でない場合でも) すべてのトピックで解決策を受け入れることが許可されているグループ。管理者とモデレーターは常に許可されます。"
empty_box_on_unsolved: "未解決のトピックの横に空のボックスを表示する"
solved_quote_length: "最初の投稿の下に解決策を表示する場合に引用する文字数"
solved_topics_auto_close_hours: "トピックが解決済みとマークされたら、最後の返信から(n)時間後にトピックを自動クローズします。自動クローズを無効にする場合は 0 に設定します。"
show_filter_by_solved_status: "ドロップダウンを表示し、解決済みのステータスでトピックリストをフィルターします。"
notify_on_staff_accept_solved: "スタッフによって投稿が解決策としてマークされたら、トピック作成者に通知を送信します。"
ignore_solved_topics_in_assigned_reminder: "割り当てのリマインダーに解決済みのトピックが含まれないようにします。discourse-assign プラグインを使用している場合にのみ関連します。"
assignment_status_on_solve: "トピックが解決したら、すべての割り当てをこのステータスに更新する"
assignment_status_on_unsolve: "トピックが未解決の場合、すべての割り当てを子のステータスに更新する"
disable_solved_education_message: "解決済みトピックの教育メッセージを無効にします。"
accept_solutions_topic_author: "トピック作成者が解決策を受け入れることを許可します。"
solved_add_schema_markup: "QAPage スキーママークアップを HTML に追加します。"
enable_solved_tags: "ユーザーが解決策を選択できるようにするタグ。"
prioritize_solved_topics_in_search: "検索結果では解決済みのトピックが優先されます。"
keywords:
accept_all_solutions_allowed_groups: "accept_all_solutions_trust_level"
reports:
accepted_solutions:
title: "受け入れられた解決策"
xaxis: "日"
yaxis: "合計"
solved:
no_solutions:
self: "受け入れられた解決策はありません。"
others: "受け入れられた解決策はありません。"
badges:
solved_1:
name: "解決済み!"
description: "1 件の返信が解決策としてマークされた"
long_description: "このバッジは返信がトピックの解決策としてマークされた場合に付与されます。:white_check_mark: よくできました。:+1:"
solved_2:
name: "ガイダンスカウンセラー"
description: "10 件の返信が解決策としてマークされた"
long_description: "このバッジは、10 件の返信がトピックの解決策としてマークされた場合に付与されます。:white_check_mark: あなたは他のコミュニティーメンバーにとって貴重なアセットです。"
solved_3:
name: "なんでも知ってる"
description: "50 件の返信が解決策としてマークされた"
long_description: "このバッジは、50 件の返信がトピックの解決策としてマークされた場合に付与されます。:white_check_mark: あなたは本当に物知りです。:clap:"
solved_4:
name: "解決策の宝庫"
description: "150 件の返信が解決策としてマークされた"
long_description: "このバッジは、150 件の返信がトピックの解決策としてマークされた場合に付与されます。:white_check_mark: 優秀です。:slightly_smiling_face: あなたは誰もが認める解決策の宝庫です。:brain:"
discourse_automation:
triggerables:
first_accepted_solution:
title: 最初に受け入れられた解決策
doc: ユーザーの解決策が初めて受け入れられたときにトリガーされます。
education:
topic_is_solved: |
### このトピックは解決しました
以下に該当する場合にのみここに返信してください:
- 追加の詳細情報がある場合
- 解決策が機能しなかった場合
無関係の問題については、[新しいトピックを開始]%{base_url}/new-topic)してください。

Some files were not shown because too many files have changed in this diff Show More