forked from treehouse/mastodon
Merge pull request #1810 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changesrebase/4.0.0rc1
commit
85d0e34745
|
@ -407,7 +407,7 @@ GEM
|
|||
net-ssh (>= 2.6.5, < 7.0.0)
|
||||
net-ssh (6.1.0)
|
||||
nio4r (2.5.8)
|
||||
nokogiri (1.13.6)
|
||||
nokogiri (1.13.7)
|
||||
mini_portile2 (~> 2.8.0)
|
||||
racc (~> 1.4)
|
||||
nsa (0.2.8)
|
||||
|
@ -415,7 +415,7 @@ GEM
|
|||
concurrent-ruby (~> 1.0, >= 1.0.2)
|
||||
sidekiq (>= 3.5)
|
||||
statsd-ruby (~> 1.4, >= 1.4.0)
|
||||
oj (3.13.16)
|
||||
oj (3.13.17)
|
||||
omniauth (1.9.1)
|
||||
hashie (>= 3.4.6)
|
||||
rack (>= 1.6.2, < 3)
|
||||
|
|
|
@ -24,6 +24,7 @@ class Api::V1::TagsController < Api::BaseController
|
|||
private
|
||||
|
||||
def set_or_create_tag
|
||||
return not_found unless /\A(#{Tag::HASHTAG_NAME_RE})\z/.match?(params[:id])
|
||||
@tag = Tag.find_normalized(params[:id]) || Tag.new(name: Tag.normalize(params[:id]), display_name: params[:id])
|
||||
end
|
||||
end
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
// @ts-check
|
||||
import React from 'react';
|
||||
import { Sparklines, SparklinesCurve } from 'react-sparklines';
|
||||
import { FormattedMessage } from 'react-intl';
|
||||
import { FormattedMessage, injectIntl, defineMessages } from 'react-intl';
|
||||
import PropTypes from 'prop-types';
|
||||
import ImmutablePropTypes from 'react-immutable-proptypes';
|
||||
import Permalink from './permalink';
|
||||
|
@ -9,6 +9,10 @@ import ShortNumber from 'flavours/glitch/components/short_number';
|
|||
import Skeleton from 'flavours/glitch/components/skeleton';
|
||||
import classNames from 'classnames';
|
||||
|
||||
const messages = defineMessages({
|
||||
totalVolume: { id: 'hashtag.total_volume', defaultMessage: 'Total volume in the last {days, plural, one {day} other {{days} days}}' },
|
||||
});
|
||||
|
||||
class SilentErrorBoundary extends React.Component {
|
||||
|
||||
static propTypes = {
|
||||
|
@ -41,10 +45,11 @@ class SilentErrorBoundary extends React.Component {
|
|||
const accountsCountRenderer = (displayNumber, pluralReady) => (
|
||||
<FormattedMessage
|
||||
id='trends.counter_by_accounts'
|
||||
defaultMessage='{count, plural, one {{counter} person} other {{counter} people}} talking'
|
||||
defaultMessage='{count, plural, one {{counter} person} other {{counter} people}} in the past {days, plural, one {day} other {{days} days}}'
|
||||
values={{
|
||||
count: pluralReady,
|
||||
counter: <strong>{displayNumber}</strong>,
|
||||
days: 2,
|
||||
}}
|
||||
/>
|
||||
);
|
||||
|
@ -64,7 +69,7 @@ ImmutableHashtag.propTypes = {
|
|||
hashtag: ImmutablePropTypes.map.isRequired,
|
||||
};
|
||||
|
||||
const Hashtag = ({ name, href, to, people, uses, history, className }) => (
|
||||
const Hashtag = injectIntl(({ name, href, to, people, uses, history, className, intl }) => (
|
||||
<div className={classNames('trends__item', className)}>
|
||||
<div className='trends__item__name'>
|
||||
<Permalink href={href} to={to}>
|
||||
|
@ -74,9 +79,10 @@ const Hashtag = ({ name, href, to, people, uses, history, className }) => (
|
|||
{typeof people !== 'undefined' ? <ShortNumber value={people} renderer={accountsCountRenderer} /> : <Skeleton width={100} />}
|
||||
</div>
|
||||
|
||||
<div className='trends__item__current'>
|
||||
<abbr className='trends__item__current' title={intl.formatMessage(messages.totalVolume, { days: 2 })}>
|
||||
{typeof uses !== 'undefined' ? <ShortNumber value={uses} /> : <Skeleton width={42} height={36} />}
|
||||
</div>
|
||||
<span className='trends__item__current__asterisk'>*</span>
|
||||
</abbr>
|
||||
|
||||
<div className='trends__item__sparkline'>
|
||||
<SilentErrorBoundary>
|
||||
|
@ -86,7 +92,7 @@ const Hashtag = ({ name, href, to, people, uses, history, className }) => (
|
|||
</SilentErrorBoundary>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
));
|
||||
|
||||
Hashtag.propTypes = {
|
||||
name: PropTypes.string,
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
import React from 'react';
|
||||
import PropTypes from 'prop-types';
|
||||
import classNames from 'classnames';
|
||||
import PropTypes from 'prop-types';
|
||||
import React, { PureComponent } from 'react';
|
||||
import { LoadingBar } from 'react-redux-loading-bar';
|
||||
import ZoomableImage from './zoomable_image';
|
||||
|
||||
export default class ImageLoader extends React.PureComponent {
|
||||
export default class ImageLoader extends PureComponent {
|
||||
|
||||
static propTypes = {
|
||||
alt: PropTypes.string,
|
||||
|
@ -43,7 +43,7 @@ export default class ImageLoader extends React.PureComponent {
|
|||
this.loadImage(this.props);
|
||||
}
|
||||
|
||||
componentWillReceiveProps (nextProps) {
|
||||
UNSAFE_componentWillReceiveProps (nextProps) {
|
||||
if (this.props.src !== nextProps.src) {
|
||||
this.loadImage(nextProps);
|
||||
}
|
||||
|
@ -139,14 +139,18 @@ export default class ImageLoader extends React.PureComponent {
|
|||
|
||||
return (
|
||||
<div className={className}>
|
||||
<LoadingBar loading={loading ? 1 : 0} className='loading-bar' style={{ width: this.state.width || width }} />
|
||||
{loading ? (
|
||||
<>
|
||||
<div className='loading-bar__container' style={{ width: this.state.width || width }}>
|
||||
<LoadingBar className='loading-bar' loading={1} />
|
||||
</div>
|
||||
<canvas
|
||||
className='image-loader__preview-canvas'
|
||||
ref={this.setCanvasRef}
|
||||
width={width}
|
||||
height={height}
|
||||
/>
|
||||
</>
|
||||
) : (
|
||||
<ZoomableImage
|
||||
alt={alt}
|
||||
|
|
|
@ -442,10 +442,14 @@
|
|||
object-fit: contain;
|
||||
}
|
||||
|
||||
.loading-bar {
|
||||
.loading-bar__container {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.loading-bar {
|
||||
position: absolute;
|
||||
}
|
||||
|
||||
&.image-loader--amorphous .image-loader__preview-canvas {
|
||||
display: none;
|
||||
}
|
||||
|
|
|
@ -176,6 +176,13 @@
|
|||
padding-right: 15px;
|
||||
margin-left: 5px;
|
||||
color: $secondary-text-color;
|
||||
text-decoration: none;
|
||||
|
||||
&__asterisk {
|
||||
color: $darker-text-color;
|
||||
font-size: 18px;
|
||||
vertical-align: super;
|
||||
}
|
||||
}
|
||||
|
||||
&__sparkline {
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
// @ts-check
|
||||
import React from 'react';
|
||||
import { Sparklines, SparklinesCurve } from 'react-sparklines';
|
||||
import { FormattedMessage } from 'react-intl';
|
||||
import { FormattedMessage, injectIntl, defineMessages } from 'react-intl';
|
||||
import PropTypes from 'prop-types';
|
||||
import ImmutablePropTypes from 'react-immutable-proptypes';
|
||||
import Permalink from './permalink';
|
||||
|
@ -9,6 +9,10 @@ import ShortNumber from 'mastodon/components/short_number';
|
|||
import Skeleton from 'mastodon/components/skeleton';
|
||||
import classNames from 'classnames';
|
||||
|
||||
const messages = defineMessages({
|
||||
totalVolume: { id: 'hashtag.total_volume', defaultMessage: 'Total volume in the last {days, plural, one {day} other {{days} days}}' },
|
||||
});
|
||||
|
||||
class SilentErrorBoundary extends React.Component {
|
||||
|
||||
static propTypes = {
|
||||
|
@ -41,10 +45,11 @@ class SilentErrorBoundary extends React.Component {
|
|||
export const accountsCountRenderer = (displayNumber, pluralReady) => (
|
||||
<FormattedMessage
|
||||
id='trends.counter_by_accounts'
|
||||
defaultMessage='{count, plural, one {{counter} person} other {{counter} people}} talking'
|
||||
defaultMessage='{count, plural, one {{counter} person} other {{counter} people}} in the past {days, plural, one {day} other {{days} days}}'
|
||||
values={{
|
||||
count: pluralReady,
|
||||
counter: <strong>{displayNumber}</strong>,
|
||||
days: 2,
|
||||
}}
|
||||
/>
|
||||
);
|
||||
|
@ -64,7 +69,7 @@ ImmutableHashtag.propTypes = {
|
|||
hashtag: ImmutablePropTypes.map.isRequired,
|
||||
};
|
||||
|
||||
const Hashtag = ({ name, href, to, people, uses, history, className }) => (
|
||||
const Hashtag = injectIntl(({ name, href, to, people, uses, history, className, intl }) => (
|
||||
<div className={classNames('trends__item', className)}>
|
||||
<div className='trends__item__name'>
|
||||
<Permalink href={href} to={to}>
|
||||
|
@ -74,9 +79,10 @@ const Hashtag = ({ name, href, to, people, uses, history, className }) => (
|
|||
{typeof people !== 'undefined' ? <ShortNumber value={people} renderer={accountsCountRenderer} /> : <Skeleton width={100} />}
|
||||
</div>
|
||||
|
||||
<div className='trends__item__current'>
|
||||
<abbr className='trends__item__current' title={intl.formatMessage(messages.totalVolume, { days: 2 })}>
|
||||
{typeof uses !== 'undefined' ? <ShortNumber value={uses} /> : <Skeleton width={42} height={36} />}
|
||||
</div>
|
||||
<span className='trends__item__current__asterisk'>*</span>
|
||||
</abbr>
|
||||
|
||||
<div className='trends__item__sparkline'>
|
||||
<SilentErrorBoundary>
|
||||
|
@ -86,7 +92,7 @@ const Hashtag = ({ name, href, to, people, uses, history, className }) => (
|
|||
</SilentErrorBoundary>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
));
|
||||
|
||||
Hashtag.propTypes = {
|
||||
name: PropTypes.string,
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
import React from 'react';
|
||||
import PropTypes from 'prop-types';
|
||||
import classNames from 'classnames';
|
||||
import PropTypes from 'prop-types';
|
||||
import React, { PureComponent } from 'react';
|
||||
import { LoadingBar } from 'react-redux-loading-bar';
|
||||
import ZoomableImage from './zoomable_image';
|
||||
|
||||
export default class ImageLoader extends React.PureComponent {
|
||||
export default class ImageLoader extends PureComponent {
|
||||
|
||||
static propTypes = {
|
||||
alt: PropTypes.string,
|
||||
|
@ -43,7 +43,7 @@ export default class ImageLoader extends React.PureComponent {
|
|||
this.loadImage(this.props);
|
||||
}
|
||||
|
||||
componentWillReceiveProps (nextProps) {
|
||||
UNSAFE_componentWillReceiveProps (nextProps) {
|
||||
if (this.props.src !== nextProps.src) {
|
||||
this.loadImage(nextProps);
|
||||
}
|
||||
|
@ -139,14 +139,18 @@ export default class ImageLoader extends React.PureComponent {
|
|||
|
||||
return (
|
||||
<div className={className}>
|
||||
<LoadingBar loading={loading ? 1 : 0} className='loading-bar' style={{ width: this.state.width || width }} />
|
||||
{loading ? (
|
||||
<>
|
||||
<div className='loading-bar__container' style={{ width: this.state.width || width }}>
|
||||
<LoadingBar className='loading-bar' loading={1} />
|
||||
</div>
|
||||
<canvas
|
||||
className='image-loader__preview-canvas'
|
||||
ref={this.setCanvasRef}
|
||||
width={width}
|
||||
height={height}
|
||||
/>
|
||||
</>
|
||||
) : (
|
||||
<ZoomableImage
|
||||
alt={alt}
|
||||
|
|
|
@ -290,7 +290,11 @@
|
|||
{
|
||||
"descriptors": [
|
||||
{
|
||||
"defaultMessage": "{count, plural, one {{counter} person} other {{counter} people}} talking",
|
||||
"defaultMessage": "Total volume in the last {days, plural, one {day} other {{days} days}}",
|
||||
"id": "hashtag.total_volume"
|
||||
},
|
||||
{
|
||||
"defaultMessage": "{count, plural, one {{counter} person} other {{counter} people}} in the past {days, plural, one {day} other {{days} days}}",
|
||||
"id": "trends.counter_by_accounts"
|
||||
}
|
||||
],
|
||||
|
|
|
@ -224,6 +224,7 @@
|
|||
"hashtag.column_settings.tag_mode.any": "Any of these",
|
||||
"hashtag.column_settings.tag_mode.none": "None of these",
|
||||
"hashtag.column_settings.tag_toggle": "Include additional tags for this column",
|
||||
"hashtag.total_volume": "Total volume in the last {days, plural, one {day} other {{days} days}}",
|
||||
"home.column_settings.basic": "Basic",
|
||||
"home.column_settings.show_reblogs": "Show boosts",
|
||||
"home.column_settings.show_replies": "Show replies",
|
||||
|
@ -522,7 +523,7 @@
|
|||
"timeline_hint.resources.followers": "Followers",
|
||||
"timeline_hint.resources.follows": "Follows",
|
||||
"timeline_hint.resources.statuses": "Older posts",
|
||||
"trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} people}} talking",
|
||||
"trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} people}} in the past {days, plural, one {day} other {{days} days}}",
|
||||
"trends.trending_now": "Trending now",
|
||||
"ui.beforeunload": "Your draft will be lost if you leave Mastodon.",
|
||||
"units.short.billion": "{count}B",
|
||||
|
|
|
@ -198,7 +198,7 @@
|
|||
"explore.trending_tags": "แฮชแท็ก",
|
||||
"follow_recommendations.done": "เสร็จสิ้น",
|
||||
"follow_recommendations.heading": "ติดตามผู้คนที่คุณต้องการเห็นโพสต์! นี่คือข้อเสนอแนะบางส่วน",
|
||||
"follow_recommendations.lead": "Posts from people you follow will show up in chronological order on your home feed. Don't be afraid to make mistakes, you can unfollow people just as easily any time!",
|
||||
"follow_recommendations.lead": "โพสต์จากคนที่คุณติดตามจะแสดงตามลำดับเวลาบนฟีดหลักของคุณ อย่ากลัวที่จะทำผิดพลาด คุณสามารถเลิกติดตามผู้คนได้ง่ายๆ ทุกเมื่อ!",
|
||||
"follow_request.authorize": "อนุญาต",
|
||||
"follow_request.reject": "ปฏิเสธ",
|
||||
"follow_requests.unlocked_explanation": "แม้ว่าไม่มีการล็อคบัญชีของคุณ พนักงานของ {domain} คิดว่าคุณอาจต้องการตรวจทานคำขอติดตามจากบัญชีเหล่านี้ด้วยตนเอง",
|
||||
|
@ -268,7 +268,7 @@
|
|||
"lightbox.next": "ถัดไป",
|
||||
"lightbox.previous": "ก่อนหน้า",
|
||||
"limited_account_hint.action": "แสดงโปรไฟล์ต่อไป",
|
||||
"limited_account_hint.title": "This profile has been hidden by the moderators of your server.",
|
||||
"limited_account_hint.title": "โปรไฟล์นี้ถูกซ่อนไว้โดยโมเดอเรเตอร์ของเซิร์ฟเวอร์ของคุณ",
|
||||
"lists.account.add": "เพิ่มไปยังรายการ",
|
||||
"lists.account.remove": "เอาออกจากรายการ",
|
||||
"lists.delete": "ลบรายการ",
|
||||
|
@ -360,7 +360,7 @@
|
|||
"notifications.permission_denied_alert": "ไม่สามารถเปิดใช้งานการแจ้งเตือนบนเดสก์ท็อป เนื่องจากมีการปฏิเสธสิทธิอนุญาตเบราว์เซอร์ก่อนหน้านี้",
|
||||
"notifications.permission_required": "การแจ้งเตือนบนเดสก์ท็อปไม่พร้อมใช้งานเนื่องจากไม่ได้ให้สิทธิอนุญาตที่จำเป็น",
|
||||
"notifications_permission_banner.enable": "เปิดใช้งานการแจ้งเตือนบนเดสก์ท็อป",
|
||||
"notifications_permission_banner.how_to_control": "To receive notifications when Mastodon isn't open, enable desktop notifications. You can control precisely which types of interactions generate desktop notifications through the {icon} button above once they're enabled.",
|
||||
"notifications_permission_banner.how_to_control": "หากต้องการรับการแจ้งเตือนเมื่อไม่ได้เปิด Mastodon ให้เปิดใช้การแจ้งเตือนบนเดสก์ท็อป คุณสามารถควบคุมได้ตามความต้องการด้วยการโต้ตอบประเภทที่สร้างการแจ้งเตือนบนเดสก์ท็อปผ่านปุ่ม {icon} ด้านบนเมื่อเปิดใช้งาน",
|
||||
"notifications_permission_banner.title": "ไม่พลาดสิ่งใด",
|
||||
"picture_in_picture.restore": "นำกลับมา",
|
||||
"poll.closed": "ปิดแล้ว",
|
||||
|
|
|
@ -314,7 +314,7 @@
|
|||
"navigation_bar.preferences": "首选项",
|
||||
"navigation_bar.public_timeline": "跨站公共时间轴",
|
||||
"navigation_bar.security": "安全",
|
||||
"notification.admin.report": "{name} reported {target}",
|
||||
"notification.admin.report": "{name} 已报告 {target}",
|
||||
"notification.admin.sign_up": "{name} 注册了",
|
||||
"notification.favourite": "{name} 喜欢了你的嘟文",
|
||||
"notification.follow": "{name} 开始关注你",
|
||||
|
@ -327,7 +327,7 @@
|
|||
"notification.update": "{name} 编辑了嘟文",
|
||||
"notifications.clear": "清空通知列表",
|
||||
"notifications.clear_confirmation": "你确定要永久清空通知列表吗?",
|
||||
"notifications.column_settings.admin.report": "New reports:",
|
||||
"notifications.column_settings.admin.report": "新报告",
|
||||
"notifications.column_settings.admin.sign_up": "新注册:",
|
||||
"notifications.column_settings.alert": "桌面通知",
|
||||
"notifications.column_settings.favourite": "喜欢:",
|
||||
|
@ -433,7 +433,7 @@
|
|||
"report.thanks.title_actionable": "感谢提交举报,我们将会进行处理。",
|
||||
"report.unfollow": "取消关注 @{name}",
|
||||
"report.unfollow_explanation": "你正在关注此账户。如果要想在你的主页上不再看到他们的帖子,取消对他们的关注即可。",
|
||||
"report_notification.attached_statuses": "{count, plural, one {{count} post} other {{count} posts}} attached",
|
||||
"report_notification.attached_statuses": "{count, plural, one {{count} 嘟文} other {{count} 嘟文}} 附件",
|
||||
"report_notification.categories.other": "其他",
|
||||
"report_notification.categories.spam": "骚扰",
|
||||
"report_notification.categories.violation": "违反规则",
|
||||
|
@ -468,7 +468,7 @@
|
|||
"status.embed": "嵌入",
|
||||
"status.favourite": "喜欢",
|
||||
"status.filtered": "已过滤",
|
||||
"status.hide": "Hide toot",
|
||||
"status.hide": "屏蔽嘟文",
|
||||
"status.history.created": "{name} 创建于 {date}",
|
||||
"status.history.edited": "{name} 编辑于 {date}",
|
||||
"status.load_more": "加载更多",
|
||||
|
@ -492,7 +492,7 @@
|
|||
"status.report": "举报 @{name}",
|
||||
"status.sensitive_warning": "敏感内容",
|
||||
"status.share": "分享",
|
||||
"status.show_filter_reason": "Show anyway",
|
||||
"status.show_filter_reason": "继续显示",
|
||||
"status.show_less": "隐藏内容",
|
||||
"status.show_less_all": "隐藏全部内容",
|
||||
"status.show_more": "显示更多",
|
||||
|
|
|
@ -1783,10 +1783,14 @@ a.account__display-name {
|
|||
object-fit: contain;
|
||||
}
|
||||
|
||||
.loading-bar {
|
||||
.loading-bar__container {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.loading-bar {
|
||||
position: absolute;
|
||||
}
|
||||
|
||||
&.image-loader--amorphous .image-loader__preview-canvas {
|
||||
display: none;
|
||||
}
|
||||
|
@ -7239,6 +7243,13 @@ noscript {
|
|||
padding-right: 15px;
|
||||
margin-left: 5px;
|
||||
color: $secondary-text-color;
|
||||
text-decoration: none;
|
||||
|
||||
&__asterisk {
|
||||
color: $darker-text-color;
|
||||
font-size: 18px;
|
||||
vertical-align: super;
|
||||
}
|
||||
}
|
||||
|
||||
&__sparkline {
|
||||
|
|
|
@ -62,7 +62,7 @@ class Account < ApplicationRecord
|
|||
)
|
||||
|
||||
USERNAME_RE = /[a-z0-9_]+([a-z0-9_\.-]+[a-z0-9_]+)?/i
|
||||
MENTION_RE = /(?<=^|[^\/[:word:]])@((#{USERNAME_RE})(?:@[[:alnum:]\.\-]+[[:alnum:]]+)?)/i
|
||||
MENTION_RE = /(?<=^|[^\/[:word:]])@((#{USERNAME_RE})(?:@[[:word:]\.\-]+[[:word:]]+)?)/i
|
||||
URL_PREFIX_RE = /\Ahttp(s?):\/\/[^\/]+/
|
||||
|
||||
include Attachmentable
|
||||
|
|
|
@ -27,7 +27,7 @@ class Tag < ApplicationRecord
|
|||
has_many :followers, through: :passive_relationships, source: :account
|
||||
|
||||
HASHTAG_SEPARATORS = "_\u00B7\u200c"
|
||||
HASHTAG_NAME_RE = "([[:alnum:]_][[:alnum:]#{HASHTAG_SEPARATORS}]*[[:alpha:]#{HASHTAG_SEPARATORS}][[:alnum:]#{HASHTAG_SEPARATORS}]*[[:alnum:]_])|([[:alnum:]_]*[[:alpha:]][[:alnum:]_]*)"
|
||||
HASHTAG_NAME_RE = "([[:word:]_][[:word:]#{HASHTAG_SEPARATORS}]*[[:alpha:]#{HASHTAG_SEPARATORS}][[:word:]#{HASHTAG_SEPARATORS}]*[[:word:]_])|([[:word:]_]*[[:alpha:]][[:word:]_]*)"
|
||||
HASHTAG_RE = /(?:^|[^\/\)\w])#(#{HASHTAG_NAME_RE})/i
|
||||
|
||||
validates :name, presence: true, format: { with: /\A(#{HASHTAG_NAME_RE})\z/i }
|
||||
|
|
|
@ -38,3 +38,9 @@ af:
|
|||
email:
|
||||
blocked: maak gebruik van 'n e-pos verskaffer wat nie toegelaat word nie
|
||||
unreachable: blyk nie te bestaan nie
|
||||
user_role:
|
||||
attributes:
|
||||
permissions_as_keys:
|
||||
own_role: kan nie verander word met jou huidige rol nie
|
||||
position:
|
||||
own_role: kan nie verander word met jou huidige rol nie
|
||||
|
|
|
@ -45,5 +45,7 @@ ca:
|
|||
permissions_as_keys:
|
||||
dangerous: inclou permisos que no són segurs per al rol base
|
||||
elevated: no pot incloure permisos que el teu rol actual no té
|
||||
own_role: no es pot canviar amb el teu rol actual
|
||||
position:
|
||||
elevated: no pot ser superior al teu rol actual
|
||||
own_role: no pot ser canviat amb el teu rol actual
|
||||
|
|
|
@ -45,5 +45,6 @@ da:
|
|||
permissions_as_keys:
|
||||
dangerous: omfat tilladelser, som ikke er sikre for basisrollen
|
||||
elevated: kan ikke omfatte tilladelser, din aktuelle rolle ikke besidder
|
||||
own_role: kan ikke ændres med din aktuelle rolle
|
||||
position:
|
||||
elevated: kan ikke være højere end din aktuelle rolle
|
||||
|
|
|
@ -30,3 +30,9 @@ el:
|
|||
email:
|
||||
blocked: χρησιμοποιεί μη επιτρεπόμενο πάροχο e-mail
|
||||
unreachable: δεν φαίνεται να υπάρχει
|
||||
user_role:
|
||||
attributes:
|
||||
permissions_as_keys:
|
||||
own_role: δεν μπορεί να αλλάξει με τον τρέχοντα ρόλο σας
|
||||
position:
|
||||
own_role: δεν μπορεί να αλλάξει με τον τρέχοντα ρόλο σας
|
||||
|
|
|
@ -45,5 +45,7 @@ es-AR:
|
|||
permissions_as_keys:
|
||||
dangerous: incluir permisos que no son seguros para el rol base
|
||||
elevated: no se pueden incluir permisos que tu rol actual no posea
|
||||
own_role: no se puede cambiar con tu rol actual
|
||||
position:
|
||||
elevated: no puede ser mayor que tu rol actual
|
||||
own_role: no se puede cambiar con tu rol actual
|
||||
|
|
|
@ -38,3 +38,12 @@ es-MX:
|
|||
email:
|
||||
blocked: utiliza un proveedor de correo no autorizado
|
||||
unreachable: no parece existir
|
||||
role_id:
|
||||
elevated: no puede ser mayor que tu rol actual
|
||||
user_role:
|
||||
attributes:
|
||||
permissions_as_keys:
|
||||
dangerous: incluir permisos que no son seguros para el rol base
|
||||
elevated: no se pueden incluir permisos que tu rol actual no posea
|
||||
position:
|
||||
elevated: no puede ser mayor que tu rol actual
|
||||
|
|
|
@ -45,5 +45,7 @@ es:
|
|||
permissions_as_keys:
|
||||
dangerous: incluir permisos que no son seguros para el rol base
|
||||
elevated: no se pueden incluir permisos que tu rol actual no posea
|
||||
own_role: no se puede cambiar con tu rol actual
|
||||
position:
|
||||
elevated: no puede ser mayor que tu rol actual
|
||||
own_role: no se puede cambiar con tu rol actual
|
||||
|
|
|
@ -45,5 +45,7 @@ gl:
|
|||
permissions_as_keys:
|
||||
dangerous: inclúe permisos que non son seguros para o rol básico
|
||||
elevated: non pode incluir permisos que o teu rol actual non posúe
|
||||
own_role: non pode ser modificado co teu rol actual
|
||||
position:
|
||||
elevated: non pode superar ao teu rol actual
|
||||
own_role: non pode ser modificado co teu rol actual
|
||||
|
|
|
@ -45,5 +45,7 @@ hu:
|
|||
permissions_as_keys:
|
||||
dangerous: tartalmaz olyan engedélyeket is, melyek az alap szerephez nem biztonságosak
|
||||
elevated: nem tartalmazhat olyan engedélyeket, melyek nincsenek benne a jelenlegi szerepedben
|
||||
own_role: nem megváltoztatható a jelenlegi szerepköröddel
|
||||
position:
|
||||
elevated: nem lehet magasabb, mint a jelenlegi szereped
|
||||
own_role: nem megváltoztatható a jelenlegi szerepköröddel
|
||||
|
|
|
@ -45,5 +45,7 @@ io:
|
|||
permissions_as_keys:
|
||||
dangerous: inkluzas permisi quo ne esas segura por bazrolo
|
||||
elevated: ne povas inkluzar permisi quon vua nuna rolo ne havas
|
||||
own_role: ne povas divenesar kun vua nuna rolo
|
||||
position:
|
||||
elevated: ne povas divenar plu alta kam vua nuna rolo
|
||||
own_role: ne povas divenesar kun vua nuna rolo
|
||||
|
|
|
@ -45,5 +45,7 @@ is:
|
|||
permissions_as_keys:
|
||||
dangerous: hefur heimildir sem ekki eru öruggar fyrir grunnhlutverk
|
||||
elevated: getur ekki haft heimildir sem núverandi hlutverk þitt er ekki með
|
||||
own_role: er ekki hægt að breyta með þinu hlutverki
|
||||
position:
|
||||
elevated: getur ekki verið veigameiri en núverandi hlutverk þitt
|
||||
own_role: er ekki hægt að breyta með þinu hlutverki
|
||||
|
|
|
@ -45,5 +45,7 @@ it:
|
|||
permissions_as_keys:
|
||||
dangerous: include i permessi non sicuri per il ruolo di base
|
||||
elevated: non è possibile includere i permessi che il tuo ruolo attuale non possiede
|
||||
own_role: non può essere modificato con il tuo ruolo attuale
|
||||
position:
|
||||
elevated: non può essere superiore al tuo ruolo attuale
|
||||
own_role: non può essere modificato con il tuo ruolo attuale
|
||||
|
|
|
@ -45,5 +45,7 @@ ko:
|
|||
permissions_as_keys:
|
||||
dangerous: 기본 역할로 사용하기에 안전하지 않은 권한을 포함하고 있습니다
|
||||
elevated: 당신의 현재 역할이 가지고 있지 않은 권한은 포함할 수 없습니다
|
||||
own_role: 당신의 현재 역할을 변경할 수 없습니다
|
||||
position:
|
||||
elevated: 당신의 현재 역할보다 높을 수 없습니다
|
||||
own_role: 당신의 현재 역할을 변경할 수 없습니다
|
||||
|
|
|
@ -45,5 +45,7 @@ lv:
|
|||
permissions_as_keys:
|
||||
dangerous: ietver atļaujas, kas nav drošas pamata lomai
|
||||
elevated: nevar ietvert atļaujas, kas nepieder tavai pašreizējai lomai
|
||||
own_role: nevar mainīt pert tavu pašreizējo lomu
|
||||
position:
|
||||
elevated: nevar būt augstāka par tavu pašreizējo lomu
|
||||
own_role: nevar mainīt pert tavu pašreizējo lomu
|
||||
|
|
|
@ -38,3 +38,12 @@ pl:
|
|||
email:
|
||||
blocked: używa niedozwolonego dostawcy poczty elektronicznej
|
||||
unreachable: wydaje się nie istnieć
|
||||
role_id:
|
||||
elevated: nie może być wyższa niż twoja bieżąca rola
|
||||
user_role:
|
||||
attributes:
|
||||
permissions_as_keys:
|
||||
own_role: nie można zmienić z aktualną rolą
|
||||
position:
|
||||
elevated: nie może być wyższa niż twoja bieżąca rola
|
||||
own_role: nie można zmienić z aktualną rolą
|
||||
|
|
|
@ -45,5 +45,7 @@ pt-PT:
|
|||
permissions_as_keys:
|
||||
dangerous: incluir permissões que não são seguras para a função base
|
||||
elevated: não pode incluir permissões que a sua função atual não possui
|
||||
own_role: não pode ser alterado com a sua função atual
|
||||
position:
|
||||
elevated: não pode ser maior que o da sua função atual
|
||||
own_role: não pode ser alterado com a sua função atual
|
||||
|
|
|
@ -44,3 +44,4 @@ ru:
|
|||
attributes:
|
||||
permissions_as_keys:
|
||||
dangerous: включить разрешения, небезопасные для базовой роли
|
||||
own_role: невозможно изменить с вашей текущей ролью
|
||||
|
|
|
@ -45,5 +45,7 @@ sl:
|
|||
permissions_as_keys:
|
||||
dangerous: vključi pravice, ki niso varne za osnovno vlogo
|
||||
elevated: ni mogoče vključiti pravic, ki jih vaša trenutna vloga ne vsebuje
|
||||
own_role: ni mogoče spremeniti z vašo trenutno vlogo
|
||||
position:
|
||||
elevated: ne more biti višje od vaše trenutne vloge
|
||||
own_role: ni mogoče spremeniti z vašo trenutno vlogo
|
||||
|
|
|
@ -45,5 +45,7 @@ sq:
|
|||
permissions_as_keys:
|
||||
dangerous: përfshi leje që s’janë të parrezik për rolin bazë
|
||||
elevated: s’mund të përfshijë leje të cilat roli juaj i tanishëm s’i përfshin
|
||||
own_role: s’mund të ndryshohet me rolin tuaj të tanishëm
|
||||
position:
|
||||
elevated: s’mund të jetë më i lartë sesa roli juaj i tanishëm
|
||||
own_role: s’mund të ndryshohet me rolin tuaj të tanishëm
|
||||
|
|
|
@ -38,3 +38,12 @@ th:
|
|||
email:
|
||||
blocked: ใช้ผู้ให้บริการอีเมลที่ไม่ได้รับอนุญาต
|
||||
unreachable: ดูเหมือนว่าจะไม่มีอยู่
|
||||
role_id:
|
||||
elevated: ไม่สามารถสูงกว่าบทบาทปัจจุบันของคุณ
|
||||
user_role:
|
||||
attributes:
|
||||
permissions_as_keys:
|
||||
dangerous: รวมสิทธิ์ที่ไม่ปลอดภัยสำหรับบทบาทพื้นฐาน
|
||||
elevated: ไม่สามารถรวบรวมสิทธิ์ในบทบาทปัจจุบันของคุณไม่ได้
|
||||
position:
|
||||
elevated: ไม่สามารถสูงกว่าบทบาทปัจจุบันของคุณ
|
||||
|
|
|
@ -45,5 +45,7 @@ uk:
|
|||
permissions_as_keys:
|
||||
dangerous: включити небезпечні для базової ролі дозволи
|
||||
elevated: не можна включити права, якими не володіє ваша поточна роль
|
||||
own_role: не можна змінити у вашій поточній ролі
|
||||
position:
|
||||
elevated: не може бути вищою за поточну роль
|
||||
own_role: не можна змінити у вашій поточній ролі
|
||||
|
|
|
@ -25,6 +25,10 @@ zh-CN:
|
|||
attributes:
|
||||
url:
|
||||
invalid: 不是有效的 URL。
|
||||
doorkeeper/application:
|
||||
attributes:
|
||||
website:
|
||||
invalid: 网址无效
|
||||
status:
|
||||
attributes:
|
||||
reblog:
|
||||
|
@ -34,3 +38,13 @@ zh-CN:
|
|||
email:
|
||||
blocked: 使用了被封禁的电子邮件提供商
|
||||
unreachable: 似乎不存在
|
||||
role_id:
|
||||
elevated: 不能高于您当前的角色
|
||||
user_role:
|
||||
attributes:
|
||||
permissions_as_keys:
|
||||
dangerous: 包含对基本角色不安全的权限
|
||||
elevated: 不能包含您当前角色不拥有的权限
|
||||
own_role: 无法以您当前的身份更改
|
||||
position:
|
||||
elevated: 不能高于您当前的角色
|
||||
|
|
|
@ -45,5 +45,7 @@ zh-TW:
|
|||
permissions_as_keys:
|
||||
dangerous: 包含對基本角色不安全的權限
|
||||
elevated: 不能包含您目前角色不具備的權限
|
||||
own_role: 無法被您目前的角色更改
|
||||
position:
|
||||
elevated: 不能高於您目前的角色
|
||||
own_role: 無法被您目前的角色更改
|
||||
|
|
|
@ -7,7 +7,7 @@ ko:
|
|||
send_paranoid_instructions: 당신의 이메일이 우리의 DB에 있을 경우 몇 분 이내로 확인 메일이 발송 됩니다. 이메일을 받지 못 한 경우, 스팸 폴더를 확인하세요.
|
||||
failure:
|
||||
already_authenticated: 이미 로그인 된 상태입니다.
|
||||
inactive: 계정이 활성화 되지 않았습니다.
|
||||
inactive: 계정이 아직 활성화 되지 않았습니다.
|
||||
invalid: 올바르지 않은 %{authentication_keys} 혹은 패스워드입니다.
|
||||
last_attempt: 계정이 잠기기까지 한 번의 시도가 남았습니다.
|
||||
locked: 계정이 잠겼습니다.
|
||||
|
|
|
@ -81,16 +81,25 @@ th:
|
|||
errors:
|
||||
messages:
|
||||
access_denied: เจ้าของทรัพยากรหรือเซิร์ฟเวอร์การอนุญาตปฏิเสธคำขอ
|
||||
credential_flow_not_configured: การไหลของข้อมูลรับรองรหัสผ่านเจ้าของทรัพยากรล้มเหลวเนื่องจาก Doorkeeper.configure.resource_owner_from_credentials ไม่ได้ถูกกำหนดค่า
|
||||
invalid_client: การตรวจสอบสิทธิ์ไคลเอ็นต์ล้มเหลวเนื่องจากไคลเอ็นต์ที่ไม่รู้จัก ไม่รวมการตรวจสอบไคลเอ็นต์ หรือวิธีการตรวจสอบสิทธิ์ที่ไม่รองรับ
|
||||
invalid_grant: การให้สิทธิ์ที่ระบุไม่ถูกต้อง หมดอายุ เพิกถอน ไม่ตรงกับ URI การเปลี่ยนเส้นทางที่ใช้ในคำขอการให้สิทธิ์ หรือออกให้ไคลเอ็นต์อื่น
|
||||
invalid_redirect_uri: URI การเปลี่ยนเส้นทางที่รวมอยู่ไม่ถูกต้อง
|
||||
invalid_request:
|
||||
missing_param: 'พารามิเตอร์ที่จำเป็นขาดหายไป: %{value}'
|
||||
request_not_authorized: คำขอต้องได้รับอนุญาต พารามิเตอร์ที่จำเป็นสำหรับการให้สิทธิ์คำขอขาดหายไปหรือไม่ถูกต้อง
|
||||
unknown: คำขอไม่มีพารามิเตอร์ที่จำเป็น มีค่าพารามิเตอร์ที่ไม่รองรับ หรืออยู่ในรูปแบบที่ไม่ถูกต้อง
|
||||
invalid_resource_owner: ข้อมูลรับรองเจ้าของทรัพยากรที่ระบุไม่ถูกต้อง หรือไม่พบเจ้าของทรัพยากร
|
||||
invalid_scope: ขอบเขตที่ขอไม่ถูกต้อง ไม่รู้จัก หรือผิดรูปแบบ
|
||||
invalid_token:
|
||||
expired: โทเคนการเข้าถึงหมดอายุแล้ว
|
||||
revoked: เพิกถอนโทเคนการเข้าถึงแล้ว
|
||||
unknown: โทเคนการเข้าถึงไม่ถูกต้อง
|
||||
resource_owner_authenticator_not_configured: การค้นหาเจ้าของทรัพยากรล้มเหลวเนื่องจากไม่ได้กำหนดค่า Doorkeeper.configure.resource_owner_authenticator
|
||||
server_error: เซิร์ฟเวอร์การให้สิทธิ์พบสภาวะที่ไม่คาดคิดซึ่งทำให้ไม่สามารถดำเนินการตามคำขอได้
|
||||
temporarily_unavailable: ขณะนี้เซิร์ฟเวอร์การให้สิทธิ์ไม่สามารถจัดการตามคำขอได้ เนื่องจากการโอเวอร์โหลดหรือมีการบำรุงรักษาเซิร์ฟเวอร์ชั่วคราว
|
||||
unauthorized_client: ไคลเอ็นต์ไม่ได้รับอนุญาตให้ทำคำขอนี้โดยใช้วิธีการนี้
|
||||
unsupported_grant_type: ประเภทการให้สิทธิ์ไม่ได้รับการสนับสนุนโดยเซิร์ฟเวอร์การให้สิทธิ์นะ
|
||||
unsupported_response_type: เซิร์ฟเวอร์การอนุญาตไม่รองรับชนิดการตอบสนองนี้
|
||||
flash:
|
||||
applications:
|
||||
|
|
|
@ -2,15 +2,15 @@
|
|||
eo:
|
||||
about:
|
||||
about_hashtag_html: Ĉi tiuj estas la publikaj mesaĝoj markitaj per <strong>#%{hashtag}</strong>. Vi povas interagi kun ili se vi havas konton ie ajn en la fediverse.
|
||||
about_mastodon_html: Mastodon estas socia reto bazita sur malfermitaj retaj protokoloj kaj sur libera malfermitkoda programo. Ĝi estas sencentra kiel retmesaĝoj.
|
||||
about_mastodon_html: 'Mastodon estas socia retejo de la estonteco: sen reklamo, sen kompania gvato, etika dezajno kaj malcentraligo! Vi regu viajn datumojn kun Mastodon!'
|
||||
about_this: Pri
|
||||
active_count_after: aktiva
|
||||
active_count_after: aktivaj
|
||||
active_footnote: Monate Aktivaj Uzantoj (MAU)
|
||||
administered_by: 'Administrata de:'
|
||||
api: API
|
||||
apps: Poŝtelefonaj aplikaĵoj
|
||||
apps_platforms: Uzu Mastodon ĉe iOS, Android kaj aliajn platformojn
|
||||
browse_directory: Esplori profilujo kaj filtri per interesoj
|
||||
apps_platforms: Uzu Mastodon de iOS, Android, kaj aliaj substratoj
|
||||
browse_directory: Esplori la profilujon kaj filtri en interesoj
|
||||
browse_local_posts: Vidi vivantan fluon de publikaj mesaĝoj al Mastodon
|
||||
browse_public_posts: Vidi vivantan fluon de publikaj mesaĝoj al Mastodon
|
||||
contact: Kontakto
|
||||
|
@ -40,11 +40,12 @@ eo:
|
|||
unavailable_content: Moderigitaj serviloj
|
||||
unavailable_content_description:
|
||||
domain: Servilo
|
||||
reason: 'Kialo:'
|
||||
reason: Motivo
|
||||
rejecting_media: 'La aŭdovidaj dosieroj de ĉi tiuj serviloj ne estos prilaboritaj aŭ stokitaj, kaj neniu bildeto estos montrita, do necesas klaki permane por vidi la originalan afiŝon:'
|
||||
rejecting_media_title: Filtritaj aŭdovidaĵoj
|
||||
silenced: 'La mesaĝoj de tiuj serviloj estos kaŝitaj de publikaj templinio kaj konversacioj, kaj la interagoj de la uzantoj donas neniun sciigon, ĝis vi sekvos ilin:'
|
||||
silenced_title: Silentigitaj serviloj
|
||||
silenced_title: Limigitaj serviloj
|
||||
suspended: 'Neniu datumo de ĉi tiuj serviloj estos prilaboritaj, stokitaj, aŭ interŝanĝitaj, neeble fari interagon aŭ komunikon kun la uzantoj de ĉi tiuj serviloj:'
|
||||
suspended_title: Suspenditaj serviloj
|
||||
user_count_after:
|
||||
one: uzanto
|
||||
|
@ -154,8 +155,9 @@ eo:
|
|||
push_subscription_expires: Eksvalidiĝo de la abono al PuSH
|
||||
redownload: Aktualigi profilon
|
||||
reject: Malakcepti
|
||||
remove_avatar: Forigi la rolfigron
|
||||
remove_avatar: Forigi la rolfiguron
|
||||
remove_header: Forigi kapan bildon
|
||||
removed_avatar_msg: La bildo de la rolfiguro de %{username} estas sukcese forigita
|
||||
resend_confirmation:
|
||||
already_confirmed: Ĉi tiu uzanto jam estas konfirmita
|
||||
send: Resendi konfirman retmesaĝon
|
||||
|
@ -227,7 +229,7 @@ eo:
|
|||
memorialize_account: Memorigu Konton
|
||||
promote_user: Promocii Uzanton
|
||||
reject_user: Malakcepti Uzanton
|
||||
remove_avatar_user: Forigi la rolfigron
|
||||
remove_avatar_user: Forigi la rolfiguron
|
||||
reopen_report: Remalfermi signalon
|
||||
reset_password_user: Restarigi pasvorton
|
||||
resolve_report: Solvitaj reporto
|
||||
|
@ -518,6 +520,8 @@ eo:
|
|||
view_profile: Vidi profilon
|
||||
roles:
|
||||
everyone: Implicitaj permesoj
|
||||
privileges:
|
||||
delete_user_data: Forviŝi la datumojn de la uzanto
|
||||
rules:
|
||||
add_new: Aldoni regulon
|
||||
delete: Forigi
|
||||
|
@ -1117,7 +1121,7 @@ eo:
|
|||
ios: iOS
|
||||
linux: Linux
|
||||
mac: Mac
|
||||
other: nekonata platformo
|
||||
other: nekonata substrato
|
||||
windows: Windows
|
||||
windows_mobile: Windows Mobile
|
||||
windows_phone: Windows Phone
|
||||
|
@ -1262,7 +1266,7 @@ eo:
|
|||
suspend: Konto suspendita
|
||||
welcome:
|
||||
edit_profile_action: Agordi profilon
|
||||
edit_profile_step: Vi povas proprigi vian profilon per alŝuto de profilbildo, fonbildo, ŝanĝo de via afiŝita nomo kaj pli. Se vi ŝatus kontroli novajn sekvantojn antaŭ ol ili rajtas sekvi vin, vi povas ŝlosi vian konton.
|
||||
edit_profile_step: Vi povas personecigi vian profilon en alŝuto de rolfiguro, paĝokapa bildo, en ŝanĝo de via vidiga nomo kaj pli. Se vi volas ekzameni novajn sekvantojn antaŭ ol permesi al ili aboni vin, vi povas agordi vian konton kiel privata.
|
||||
explanation: Jen kelkaj konsiloj por helpi vin komenci
|
||||
final_action: Ekmesaĝi
|
||||
final_step: 'Ekmesaĝu! Eĉ sen sekvantoj, viaj publikaj mesaĝoj povas esti vidataj de aliaj, ekzemple en la loka templinio kaj en la kradvortoj. Eble vi ŝatus prezenti vin per la kradvorto #introductions.'
|
||||
|
|
|
@ -538,7 +538,7 @@ is:
|
|||
public_comment: Opinber athugasemd
|
||||
purge: Henda
|
||||
purge_description_html: Ef þú heldur að þetta lén sé farið endanlega af netinu, geturðu eytt öllum færslum aðganga og tengdum gögnum frá þessu léni úr gagnageymslum þínum. Þetta gæti tekið þó nokkra stund.
|
||||
title: Samband
|
||||
title: Netþjónasambönd
|
||||
total_blocked_by_us: Útilokað af okkur
|
||||
total_followed_by_them: Fylgt af þeim
|
||||
total_followed_by_us: Fylgt af okkur
|
||||
|
@ -681,10 +681,30 @@ is:
|
|||
manage_appeals_description: Leyfir notendum að yfirfara áfrýjanir vegna aðgerða umsjónarfólks
|
||||
manage_blocks: Sýsla með útilokanir
|
||||
manage_blocks_description: Leyfir notendum að loka á tölvupóstþjónustur og IP-vistföng
|
||||
manage_custom_emojis: Sýsla með sérsniðin tjáningartákn
|
||||
manage_custom_emojis_description: Leyfir notendum að sýsla með sérsniðin tjáningartákn á netþjóninum
|
||||
manage_federation: Sýsla með netþjónasambönd
|
||||
manage_federation_description: Leyfir notendum að loka á eða leyfa samþættingu við önnur lén (federation) og stýra afhendingu skilaboða
|
||||
manage_invites: Sýsla með boðsgesti
|
||||
manage_invites_description: Leyfir notendum að vafra um og gera boðstengla óvirka
|
||||
manage_reports: Sýsla með kærur
|
||||
manage_reports_description: Leyfir notendum að yfirfara kærur og framkvæma umsýsluaðgerðir sem byggjast á þeim
|
||||
manage_roles: Sýsla með hlutverk
|
||||
manage_roles_description: Leyfir notendum að sýsla með hlutverk og úthluta hlutverkum sem eru réttminni en þeirra eigið
|
||||
manage_rules: Sýsla með reglur
|
||||
manage_rules_description: Leyfir notendum að breyta reglum á netþjóninum
|
||||
manage_settings: Sýsla með stillingar
|
||||
manage_settings_description: Leyfir notendum að breyta stillingum vefsvæðisins
|
||||
manage_taxonomies: Sýsla með vægi efnis
|
||||
manage_taxonomies_description: Leyfir notendum að yfirfara vinsælt efni og uppfæra stillingar myllumerkja
|
||||
manage_user_access: Sýsla með notendaaðgang
|
||||
manage_user_access_description: Leyfir notendum að gera tveggja-þátta auðkenningu annarra notenda óvirka, breyta tölvupóstfangi þeirra og endurstilla lykilorð
|
||||
manage_users: Sýsla með notendur
|
||||
manage_users_description: Leyfir notendum að sýsla með nánari upplýsingar um aðra notendur og framkvæma umsýsluaðgerðir gagnvart þeim
|
||||
manage_webhooks: Sýsla með Webhook-vefkrækjur
|
||||
manage_webhooks_description: Leyfir notendum að setja upp webhook-vefkrækjur vagna stjórnunartengdra atburða
|
||||
view_audit_log: Skoða atvikaskráningu
|
||||
view_audit_log_description: Leyfir notendum að skoða feril stjórnunaraðgerða á netþjóninum
|
||||
view_dashboard: Skoða stjórnborð
|
||||
view_dashboard_description: Leyfir notendum að skoða stjórnborðið og sjá ýmsar mælingar
|
||||
view_devops: Kerfisstjórar
|
||||
|
|
|
@ -648,8 +648,10 @@ ko:
|
|||
moderation: 중재
|
||||
special: 특수
|
||||
delete: 삭제
|
||||
description_html: "<strong>사용자 역할</strong>을 통해, 사용자들이 마스토돈의 어떤 기능과 영역에 접근할 수 있을지 설정할 수 있습니다."
|
||||
edit: "%{name} 역할 수정"
|
||||
everyone: 기본 권한
|
||||
everyone_full_description_html: 이것은 <strong>모든 사용자</strong>에게 적용될 <strong>기본 역할</strong>이며, 역할을 지정하지 않아도 적용됩니다. 다른 모든 역할들은 여기에서 권한을 상속합니다.
|
||||
permissions_count:
|
||||
other: "%{count} 개의 권한"
|
||||
privileges:
|
||||
|
|
|
@ -725,6 +725,14 @@ pl:
|
|||
manage_taxonomies: Zarządzaj taksonomiami
|
||||
manage_taxonomies_description: Pozwala użytkownikom przeglądać najpopularniejsze treści i aktualizować ustawienia hasztagów
|
||||
manage_user_access: Zarządzaj dostępem użytkownika
|
||||
manage_users: Zarządzanie użytkownikami
|
||||
manage_webhooks: Zarządzanie webhookami
|
||||
view_audit_log: Wyświetl dziennik zdarzeń
|
||||
view_audit_log_description: Pozwala użytkownikom zobaczyć historię działań administracyjnych na serwerze
|
||||
view_dashboard: Wyświetl panel
|
||||
view_devops: Devops
|
||||
view_devops_description: Pozwala użytkownikom na dostęp do paneli Sidekiq i pgHero
|
||||
title: Role
|
||||
rules:
|
||||
add_new: Dodaj zasadę
|
||||
delete: Usuń
|
||||
|
|
|
@ -98,9 +98,11 @@ is:
|
|||
chosen_languages: Þegar merkt er við þetta, birtast einungis færslur á völdum tungumálum á opinberum tímalínum
|
||||
role: Hlutverk stýrir hvaða heimildir notandinn hefur
|
||||
user_role:
|
||||
color: Litur sem notaður er fyrir hlutverkið allsstaðar í viðmótinu, sem RGB-gildi á hex-sniði
|
||||
highlighted: Þetta gerir hlutverk sýnilegt opinberlega
|
||||
name: Opinbert heiti hlutverks, ef birta á hlutverk sem merki
|
||||
permissions_as_keys: Notendur með þetta hlutverk munu hafa aðgang að...
|
||||
position: Rétthærra hlutverk ákvarðar lausn árekstra í ákveðnum tilfellum. Sumar aðgerðir er aðeins hægt að framkvæma á hlutverk með lægri forgangi
|
||||
webhook:
|
||||
events: Veldu atburði sem á að senda
|
||||
url: Hvert atburðir verða sendir
|
||||
|
|
|
@ -102,6 +102,7 @@ ko:
|
|||
highlighted: 이 역할이 공개적으로 보이도록 설정합니다
|
||||
name: 역할이 배지로 표시될 경우, 그 역할에 대한 공개적인 이름입니다
|
||||
permissions_as_keys: 이 역할을 가진 사용자는 다음에 접근할 수 있게 됩니다...
|
||||
position: 특정 상황에서 충돌이 발생할 경우 더 높은 역할이 충돌을 해결합니다. 특정 작업은 우선순위가 낮은 역할에 대해서만 수행될 수 있습니다
|
||||
webhook:
|
||||
events: 전송할 이벤트를 선택하세요
|
||||
url: 이벤트가 어디로 전송될 지
|
||||
|
|
|
@ -234,6 +234,14 @@ pl:
|
|||
name: Hashtag
|
||||
trendable: Pozwól na wyświetlanie tego hashtagu w „Na czasie”
|
||||
usable: Pozwól na umieszczanie tego hashtagu we wpisach
|
||||
user:
|
||||
role: Rola
|
||||
user_role:
|
||||
color: Kolor odznaki
|
||||
highlighted: Wyświetl rolę jako odznakę na profilach użytkowników
|
||||
name: Nazwa
|
||||
permissions_as_keys: Uprawnienia
|
||||
position: Priorytet
|
||||
webhook:
|
||||
events: Włączone zdarzenia
|
||||
url: Endpoint URL
|
||||
|
|
|
@ -64,9 +64,15 @@ th:
|
|||
domain_allow:
|
||||
domain: โดเมนนี้จะสามารถดึงข้อมูลจากเซิร์ฟเวอร์นี้และจะประมวลผลและจัดเก็บข้อมูลขาเข้าจากโดเมน
|
||||
email_domain_block:
|
||||
domain: อาจเป็นชื่อโดเมนที่แสดงในที่อยู่อีเมลหรือทะเบียน MX ที่ใช้อยู่ พวกเขาอาจจะได้รับการตรวจสอบเมื่อมีการสมัคร
|
||||
with_dns_records: จะทำการพยายามแปลงที่อยู่ระเบียน DNS ของโดเมนที่กำหนดและจะปิดกั้นผลลัพธ์เช่นกัน
|
||||
featured_tag:
|
||||
name: 'คุณอาจต้องการใช้หนึ่งในนี้:'
|
||||
filters:
|
||||
action: เลือกการดำเนินการเมื่อโพสต์ตรงกับตัวกรอง
|
||||
actions:
|
||||
hide: ซ่อนเนื้อหาที่ถูกกรองโดยสิ้นเชิง ทำตัวราวกับว่าไม่มีอยู่จริง
|
||||
warn: ซ่อนเนื้อหาที่ถูกกรองไว้ด้านหลังคำเตือนที่กล่าวถึงชื่อตัวกรอง
|
||||
form_challenge:
|
||||
current_password: คุณกำลังเข้าสู่พื้นที่ปลอดภัย
|
||||
imports:
|
||||
|
@ -75,6 +81,7 @@ th:
|
|||
text: นี่จะช่วยให้เราตรวจทานใบสมัครของคุณ
|
||||
ip_block:
|
||||
comment: ไม่จำเป็น จดจำเหตุผลที่คุณเพิ่มกฎนี้
|
||||
expires_in: ที่อยู่ IP เป็นทรัพยากร บางครั้งมีการแบ่งปันและมักเปลี่ยนมือ ด้วยเหตุผลนี้ จึงไม่แนะนำให้บล็อก IP
|
||||
ip: ป้อนที่อยู่ IPv4 หรือ IPv6 คุณสามารถปิดกั้นทั้งช่วงได้โดยใช้ไวยากรณ์ CIDR ระวังอย่าล็อคตัวคุณเองออก!
|
||||
severities:
|
||||
no_access: ปิดกั้นการเข้าถึงทรัพยากรทั้งหมด
|
||||
|
@ -84,12 +91,21 @@ th:
|
|||
text: อธิบายกฎหรือข้อกำหนดสำหรับผู้ใช้ในเซิร์ฟเวอร์นี้ พยายามทำให้กฎหรือข้อกำหนดสั้นและเรียบง่าย
|
||||
sessions:
|
||||
otp: 'ป้อนรหัสสองปัจจัยที่สร้างโดยแอปในโทรศัพท์ของคุณหรือใช้หนึ่งในรหัสกู้คืนของคุณ:'
|
||||
webauthn: หากเป็นคีย์ USB อย่าลืมเสียบไว้ และหากจำเป็น ให้แตะคีย์นั้นไว้นะ
|
||||
tag:
|
||||
name: คุณสามารถเปลี่ยนได้เฉพาะตัวพิมพ์ใหญ่เล็กของตัวอักษรเท่านั้น ตัวอย่างเช่น เพื่อทำให้ตัวอักษรอ่านได้ง่ายขึ้น
|
||||
user:
|
||||
chosen_languages: เมื่อกาเครื่องหมาย จะแสดงเฉพาะโพสต์ในภาษาที่เลือกในเส้นเวลาสาธารณะเท่านั้น
|
||||
role: ควบคุมบทบาท ว่าผู้ใช้มีสิทธิใดบ้าง
|
||||
user_role:
|
||||
color: สีที่จะใช้สำหรับบทบาทตลอดทั้ง UI เป็น RGB ในรูปแบบฐานสิบหก
|
||||
highlighted: ทำให้บทบาทนี้ปรากฏต่อสู่สาธารณะ
|
||||
name: ชื่อสาธารณะของบทบาท หากกำหนดบทบาทให้แสดงเป็นตราสัญลักษณ์
|
||||
permissions_as_keys: ผู้ใช้ที่มีบทบาทนี้จะมีสิทธิ์เข้าถึง...
|
||||
position: บทบาทที่สูงขึ้นอาจจะตัดสินใจแก้ไขข้อขัดแย้งในบางสถานการณ์ การดำเนินการบางอย่างสามารถทำได้เฉพาะกับบทบาทที่มีลำดับความสำคัญต่ำกว่า
|
||||
webhook:
|
||||
events: เลือกเหตุการณ์ที่จะส่ง
|
||||
url: กิจกรรมจะถูกส่งไปที่
|
||||
labels:
|
||||
account:
|
||||
fields:
|
||||
|
@ -120,6 +136,8 @@ th:
|
|||
scheduled_at: จัดกำหนดการเผยแพร่
|
||||
starts_at: การเริ่มต้นเหตุการณ์
|
||||
text: ประกาศ
|
||||
appeal:
|
||||
text: อธิบายว่าเหตุใดจึงควรกลับคำตัดสินนี้
|
||||
defaults:
|
||||
autofollow: เชิญให้ติดตามบัญชีของคุณ
|
||||
avatar: ภาพประจำตัว
|
||||
|
@ -184,6 +202,10 @@ th:
|
|||
with_dns_records: รวมระเบียน MX และ IP ของโดเมน
|
||||
featured_tag:
|
||||
name: แฮชแท็ก
|
||||
filters:
|
||||
actions:
|
||||
hide: ซ่อนอย่างสมบูรณ์
|
||||
warn: ซ่อนพร้อมคำเตือน
|
||||
interactions:
|
||||
must_be_follower: ปิดกั้นการแจ้งเตือนจากผู้ที่ไม่ใช่ผู้ติดตาม
|
||||
must_be_following: ปิดกั้นการแจ้งเตือนจากผู้คนที่คุณไม่ได้ติดตาม
|
||||
|
@ -220,9 +242,13 @@ th:
|
|||
user:
|
||||
role: บทบาท
|
||||
user_role:
|
||||
color: สีของตรา
|
||||
highlighted: แสดงบทบาทเป็นเครื่องหมายบนโปรไฟล์ผู้ใช้
|
||||
name: ชื่อ
|
||||
permissions_as_keys: สิทธิอนุญาต
|
||||
position: ระดับความสำคัญ
|
||||
webhook:
|
||||
events: เปิดใช้งานอีเว้น
|
||||
url: URL ปลายทาง
|
||||
'no': ไม่
|
||||
recommended: แนะนำ
|
||||
|
|
|
@ -68,6 +68,11 @@ zh-CN:
|
|||
with_dns_records: Mastodon 会尝试解析所给域名的 DNS 记录,然后把解析结果一并封禁
|
||||
featured_tag:
|
||||
name: 你可能想要使用以下之一:
|
||||
filters:
|
||||
action: 选择在帖子匹配过滤器时要执行的操作
|
||||
actions:
|
||||
hide: 彻底屏蔽过滤内容,犹如它不曾存在过一般
|
||||
warn: 在警告中提及过滤器标题后,隐藏过滤内容
|
||||
form_challenge:
|
||||
current_password: 你正在进入安全区域
|
||||
imports:
|
||||
|
@ -91,6 +96,16 @@ zh-CN:
|
|||
name: 你只能改变字母的大小写,让它更易读
|
||||
user:
|
||||
chosen_languages: 仅选中语言的嘟文会出现在公共时间轴上(全不选则显示所有语言的嘟文)
|
||||
role: 角色决定该用户拥有的权限
|
||||
user_role:
|
||||
color: 整个用户界面中,该角色使用的颜色,以RGB 十六进制格式
|
||||
highlighted: 这使角色公开可见
|
||||
name: 角色的公开名称,如果角色设置为展示的徽章
|
||||
permissions_as_keys: 具有此角色的用户将有权访问...
|
||||
position: 较高的角色决定在某些情况下解决冲突。某些行动只能对优先级较低的角色执行
|
||||
webhook:
|
||||
events: 选择要发送的事件
|
||||
url: 事件将发送到哪个地点
|
||||
labels:
|
||||
account:
|
||||
fields:
|
||||
|
@ -178,6 +193,7 @@ zh-CN:
|
|||
setting_use_pending_items: 慢速模式
|
||||
severity: 级别
|
||||
sign_in_token_attempt: 安全码
|
||||
title: 标题
|
||||
type: 导入数据类型
|
||||
username: 用户名
|
||||
username_or_email: 用户名或电子邮件地址
|
||||
|
@ -186,6 +202,10 @@ zh-CN:
|
|||
with_dns_records: 包括该域名的 MX 记录和 IP 地址
|
||||
featured_tag:
|
||||
name: 话题标签
|
||||
filters:
|
||||
actions:
|
||||
hide: 完全隐藏
|
||||
warn: 隐藏时显示警告信息
|
||||
interactions:
|
||||
must_be_follower: 屏蔽来自未关注我的用户的通知
|
||||
must_be_following: 屏蔽来自我未关注的用户的通知
|
||||
|
@ -219,6 +239,17 @@ zh-CN:
|
|||
name: 话题标签
|
||||
trendable: 允许在热门下显示此话题
|
||||
usable: 允许嘟文使用此话题标签
|
||||
user:
|
||||
role: 角色
|
||||
user_role:
|
||||
color: 徽章颜色
|
||||
highlighted: 用户配置中以徽章显示角色
|
||||
name: 名称
|
||||
permissions_as_keys: 权限设置
|
||||
position: 优先权
|
||||
webhook:
|
||||
events: 已启用事件
|
||||
url: 端点网址
|
||||
'no': 否
|
||||
recommended: 推荐
|
||||
required:
|
||||
|
|
|
@ -22,6 +22,9 @@ th:
|
|||
federation_hint_html: ด้วยบัญชีที่ %{instance} คุณจะสามารถติดตามผู้คนในเซิร์ฟเวอร์ Mastodon และอื่น ๆ
|
||||
get_apps: ลองแอปมือถือ
|
||||
hosted_on: Mastodon ที่โฮสต์ที่ %{domain}
|
||||
instance_actor_flash: 'บัญชีนี้เป็นนักแสดงเสมือนที่ใช้เพื่อเป็นตัวแทนของเซิร์ฟเวอร์เอง ไม่ใช่ผู้ใช้รายบุคคล แต่มันก็ถูกใช้เพื่อวัตถุประสงค์ในการรวมกลุ่มและไม่ควรถูกบล็อก เว้นแต่คุณต้องการบล็อกทั้งอินสแตนซ์นั้น ซึ่งในกรณีนี้คุณควรใช้บล็อกโดเมนนะ
|
||||
|
||||
'
|
||||
learn_more: เรียนรู้เพิ่มเติม
|
||||
logged_in_as_html: คุณกำลังเข้าสู่ระบบเป็น %{username} ในปัจจุบัน
|
||||
logout_before_registering: คุณได้เข้าสู่ระบบอยู่แล้ว
|
||||
|
@ -46,6 +49,7 @@ th:
|
|||
silenced_title: เซิร์ฟเวอร์ที่จำกัดอยู่
|
||||
suspended: 'จะไม่ประมวลผล จัดเก็บ หรือแลกเปลี่ยนข้อมูลจากเซิร์ฟเวอร์เหล่านี้ ทำให้การโต้ตอบหรือการสื่อสารใด ๆ กับผู้ใช้จากเซิร์ฟเวอร์เหล่านี้เป็นไปไม่ได้:'
|
||||
suspended_title: เซิร์ฟเวอร์ที่ระงับอยู่
|
||||
unavailable_content_html: โดยทั่วไปแล้ว Mastodon อนุญาตให้คุณดูเนื้อหาและโต้ตอบกับผู้ใช้งานจากเซิร์ฟเวอร์อื่นใน fediverse เหล่านี้เป็นข้อยกเว้นที่เกิดขึ้นบนเซิร์ฟเวอร์นี้โดยเฉพาะ
|
||||
user_count_after:
|
||||
other: ผู้ใช้
|
||||
user_count_before: บ้านของ
|
||||
|
@ -58,6 +62,7 @@ th:
|
|||
followers:
|
||||
other: ผู้ติดตาม
|
||||
following: กำลังติดตาม
|
||||
instance_actor_flash: บัญชีนี้เป็นนักแสดงเสมือนที่ใช้เพื่อเป็นตัวแทนของเซิร์ฟเวอร์เอง แต่ก็ไม่ใช่ผู้ใช้รายบุคคล แต่มันถูกใช้เพื่อวัตถุประสงค์ของการรวมกลุ่มและไม่ควรถูกระงับ
|
||||
joined: เข้าร่วมเมื่อ %{date}
|
||||
last_active: ใช้งานล่าสุด
|
||||
link_verified_on: ตรวจสอบความเป็นเจ้าของของลิงก์นี้เมื่อ %{date}
|
||||
|
@ -156,6 +161,7 @@ th:
|
|||
most_recent_ip: IP ล่าสุด
|
||||
no_account_selected: ไม่มีการเปลี่ยนแปลงบัญชีเนื่องจากไม่มีการเลือก
|
||||
no_limits_imposed: ไม่มีการกำหนดขีดจำกัด
|
||||
no_role_assigned: ไม่มีการกำหนดบทบาท
|
||||
not_subscribed: ไม่ได้บอกรับ
|
||||
pending: การตรวจทานที่รอดำเนินการ
|
||||
perform_full_suspension: ระงับ
|
||||
|
@ -201,6 +207,8 @@ th:
|
|||
subscribe: บอกรับ
|
||||
suspend: ระงับ
|
||||
suspended: ระงับอยู่
|
||||
suspension_irreversible: ข้อมูลของบัญชีนี้ถูกลบไม่สามารถย้อนกลับได้ คุณสามารถระงับบัญชีเพื่อให้ใช้งานได้ แต่จะไม่กู้คืนข้อมูลใดๆทั้งสิ้น ที่เคยมีอยู่ก่อนหน้านี้
|
||||
suspension_reversible_hint_html: บัญชีถูกระงับ และข้อมูลจะถูกลบออกอย่างสมบูรณ์ในวันที่ %{date} ก่อนหน้านั้น บัญชีสามารถกู้คืนได้โดยไม่มีผลร้ายใดๆทั้งสิ้น ถ้าหากคุณต้องการลบข้อมูลของบัญชีทั้งหมดในทันที คุณสามารถทำได้ด้านล่างนี้
|
||||
title: บัญชี
|
||||
unblock_email: เลิกปิดกั้นที่อยู่อีเมล
|
||||
unblocked_email_msg: เลิกปิดกั้นที่อยู่อีเมลของ %{username} สำเร็จ
|
||||
|
@ -291,6 +299,7 @@ th:
|
|||
destroy_instance_html: "%{name} ได้ล้างข้อมูลโดเมน %{target}"
|
||||
destroy_ip_block_html: "%{name} ได้ลบกฎสำหรับ IP %{target}"
|
||||
destroy_status_html: "%{name} ได้เอาโพสต์โดย %{target} ออก"
|
||||
destroy_unavailable_domain_html: "%{name} ได้พักการจัดส่งไปยังโดเมน %{target}"
|
||||
disable_2fa_user_html: "%{name} ได้ปิดใช้งานความต้องการสองปัจจัยสำหรับผู้ใช้ %{target}"
|
||||
disable_custom_emoji_html: "%{name} ได้ปิดใช้งานอีโมจิ %{target}"
|
||||
disable_sign_in_token_auth_user_html: "%{name} ได้ปิดใช้งานการรับรองความถูกต้องด้วยโทเคนอีเมลสำหรับ %{target}"
|
||||
|
@ -410,6 +419,8 @@ th:
|
|||
destroyed_msg: เลิกทำการปิดกั้นโดเมนแล้ว
|
||||
domain: โดเมน
|
||||
edit: แก้ไขการปิดกั้นโดเมน
|
||||
existing_domain_block: คุณได้กำหนดขีดจำกัดที่เข้มงวดขึ้นแล้วบน %{name}
|
||||
existing_domain_block_html: คุณได้กำหนดขีดจำกัดที่เข้มงวดขึ้นใน %{name} แล้วคุณต้อง <a href="%{unblock_url}">unblock</a> ก่อน
|
||||
new:
|
||||
create: สร้างการปิดกั้น
|
||||
hint: การปิดกั้นโดเมนจะไม่ป้องกันการสร้างรายการบัญชีในฐานข้อมูล แต่จะใช้วิธีการควบคุมที่เฉพาะเจาะจงกับบัญชีเหล่านั้นย้อนหลังและโดยอัตโนมัติ
|
||||
|
@ -420,8 +431,11 @@ th:
|
|||
suspend: ระงับ
|
||||
title: การปิดกั้นโดเมนใหม่
|
||||
obfuscate: ทำให้ชื่อโดเมนคลุมเครือ
|
||||
obfuscate_hint: อาจมีผลทำให้ชื่อโดเมนสับสนบางส่วนในรายการหากเปิดใช้งานการโฆษณารายการข้อจำกัดของโดเมน
|
||||
private_comment: ความคิดเห็นส่วนตัว
|
||||
private_comment_hint: แสดงความคิดเห็นเกี่ยวกับข้อจำกัดของโดเมนนี้สำหรับการใช้งานภายในโดยผู้ดูแล
|
||||
public_comment: ความคิดเห็นสาธารณะ
|
||||
public_comment_hint: แสดงความคิดเห็นเกี่ยวกับข้อจำกัดโดเมนนี้สำหรับบุคคลทั่วไป หากต้องการโฆษณารายการข้อจำกัดโดเมนเปิดใช้งานอยู่
|
||||
reject_media: ปฏิเสธไฟล์สื่อ
|
||||
reject_media_hint: เอาไฟล์สื่อที่จัดเก็บไว้ในเซิร์ฟเวอร์ออกและปฏิเสธที่จะดาวน์โหลดไฟล์ใด ๆ ในอนาคต ไม่เกี่ยวข้องกับการระงับ
|
||||
reject_reports: ปฏิเสธรายงาน
|
||||
|
|
|
@ -99,11 +99,17 @@ zh-CN:
|
|||
avatar: 头像
|
||||
by_domain: 域名
|
||||
change_email:
|
||||
changed_msg: 已成功更改电子邮件地址!
|
||||
current_email: 当前的电子邮箱
|
||||
label: 更改电子邮箱
|
||||
new_email: 新的电子邮箱
|
||||
submit: 更改电子邮件地址
|
||||
title: 为 %{username} 更改电子邮箱
|
||||
change_role:
|
||||
changed_msg: 已成功更改角色!
|
||||
label: 更改角色
|
||||
no_role: 未设置角色
|
||||
title: 为 %{username} 更改角色
|
||||
confirm: 确认
|
||||
confirmed: 已确认
|
||||
confirming: 等待确认
|
||||
|
@ -147,6 +153,7 @@ zh-CN:
|
|||
active: 活跃
|
||||
all: 全部
|
||||
pending: 待审核
|
||||
silenced: 受限
|
||||
suspended: 已封禁
|
||||
title: 管理
|
||||
moderation_notes: 管理员备注
|
||||
|
@ -154,6 +161,7 @@ zh-CN:
|
|||
most_recent_ip: 最后一次活跃的 IP 地址
|
||||
no_account_selected: 因为没有选中任何账号,所以没有更改
|
||||
no_limits_imposed: 无限制
|
||||
no_role_assigned: 未定角色
|
||||
not_subscribed: 未订阅
|
||||
pending: 待审核
|
||||
perform_full_suspension: 封禁
|
||||
|
@ -179,6 +187,7 @@ zh-CN:
|
|||
reset: 重置
|
||||
reset_password: 重置密码
|
||||
resubscribe: 重新订阅
|
||||
role: 角色
|
||||
search: 搜索
|
||||
search_same_email_domain: 其他具有相同电子邮箱域名的用户
|
||||
search_same_ip: 具有相同IP的其他用户
|
||||
|
@ -626,6 +635,57 @@ zh-CN:
|
|||
unresolved: 未处理
|
||||
updated_at: 更新时间
|
||||
view_profile: 查看资料
|
||||
roles:
|
||||
add_new: 添加角色
|
||||
assigned_users:
|
||||
other: "%{count} 用户"
|
||||
categories:
|
||||
administration: 管理
|
||||
devops: 开发运维
|
||||
invites: 邀请
|
||||
moderation: 监察
|
||||
special: 特殊
|
||||
delete: 刪除
|
||||
description_html: 使用 <strong>用户角色</strong>,您可以自定义您的用户可以访问的功能和区域。
|
||||
edit: 编辑 '%{name}' 角色
|
||||
everyone: 默认权限
|
||||
everyone_full_description_html: 这是影响到 <strong>所有用户</strong>的<strong>基础角色</strong>,包括未指定角色的用户。 其他所有的角色都继承着它的权限。
|
||||
permissions_count:
|
||||
other: "%{count} 权限"
|
||||
privileges:
|
||||
administrator: 管理员
|
||||
administrator_description: 拥有此权限的用户将绕过每个权限
|
||||
delete_user_data: 删除用户数据
|
||||
delete_user_data_description: 允许用户立即删除其他用户的数据
|
||||
invite_users: 邀请用户
|
||||
invite_users_description: 允许用户邀请新人加入服务器
|
||||
manage_announcements: 管理公告
|
||||
manage_announcements_description: 允许用户管理服务器上的通知
|
||||
manage_appeals: 管理申诉
|
||||
manage_appeals_description: 允许用户审查对适度动作的上诉
|
||||
manage_blocks: 管理版块
|
||||
manage_blocks_description: 允许用户屏蔽电子邮件提供商和IP地址
|
||||
manage_custom_emojis: 管理自定义表情
|
||||
manage_custom_emojis_description: 允许用户管理服务器上的自定义表情
|
||||
manage_federation: 管理联邦
|
||||
manage_invites: 管理邀请
|
||||
manage_invites_description: 允许用户浏览和停用邀请链接
|
||||
manage_reports: 管理报告
|
||||
manage_reports_description: 允许用户查看报告并对其执行审核操作
|
||||
manage_roles: 管理角色
|
||||
manage_roles_description: 允许用户管理和分配比他们权限低的角色
|
||||
manage_rules: 管理规则
|
||||
manage_rules_description: 允许用户更改服务器规则
|
||||
manage_settings: 管理设置
|
||||
manage_settings_description: 允许用户更改站点设置
|
||||
manage_users: 管理用户
|
||||
manage_users_description: 允许用户查看其他用户信息并对他们执行审核操作
|
||||
manage_webhooks: 管理网钩
|
||||
manage_webhooks_description: 允许用户为管理事件设置网钩
|
||||
view_audit_log: 查看审核日志
|
||||
view_audit_log_description: 允许用户在服务器上查看管理操作历史
|
||||
view_dashboard: 查看仪表板
|
||||
view_dashboard_description: 允许用户访问仪表盘和各种指标
|
||||
rules:
|
||||
add_new: 添加规则
|
||||
delete: 删除
|
||||
|
@ -823,7 +883,11 @@ zh-CN:
|
|||
webhooks:
|
||||
delete: 删除
|
||||
disable: 禁用
|
||||
disabled: 已禁用
|
||||
enable: 启用
|
||||
status: 状态
|
||||
title: 网钩
|
||||
webhook: 网钩
|
||||
admin_mailer:
|
||||
new_appeal:
|
||||
actions:
|
||||
|
@ -1084,8 +1148,11 @@ zh-CN:
|
|||
index:
|
||||
delete: 删除
|
||||
empty: 你没有过滤器。
|
||||
keywords:
|
||||
other: "%{count} 关键词"
|
||||
title: 过滤器
|
||||
new:
|
||||
save: 保存新过滤器
|
||||
title: 添加新的过滤器
|
||||
footer:
|
||||
developers: 开发者
|
||||
|
@ -1202,6 +1269,8 @@ zh-CN:
|
|||
copy_account_note_text: 这个用户迁移自 %{acct},你曾为其添加备注:
|
||||
notification_mailer:
|
||||
admin:
|
||||
report:
|
||||
subject: "%{name} 提交了报告"
|
||||
sign_up:
|
||||
subject: "%{name} 注册了"
|
||||
digest:
|
||||
|
|
|
@ -554,7 +554,7 @@ Rails.application.routes.draw do
|
|||
resource :note, only: :create, controller: 'accounts/notes'
|
||||
end
|
||||
|
||||
resources :tags, only: [:show], constraints: { id: /#{Tag::HASHTAG_NAME_RE}/ } do
|
||||
resources :tags, only: [:show] do
|
||||
member do
|
||||
post :follow
|
||||
post :unfollow
|
||||
|
|
24
package.json
24
package.json
|
@ -24,13 +24,13 @@
|
|||
},
|
||||
"private": true,
|
||||
"dependencies": {
|
||||
"@babel/core": "^7.18.6",
|
||||
"@babel/plugin-proposal-decorators": "^7.18.6",
|
||||
"@babel/core": "^7.18.9",
|
||||
"@babel/plugin-proposal-decorators": "^7.18.9",
|
||||
"@babel/plugin-transform-react-inline-elements": "^7.18.6",
|
||||
"@babel/plugin-transform-runtime": "^7.18.6",
|
||||
"@babel/preset-env": "^7.18.6",
|
||||
"@babel/plugin-transform-runtime": "^7.18.9",
|
||||
"@babel/preset-env": "^7.18.9",
|
||||
"@babel/preset-react": "^7.18.6",
|
||||
"@babel/runtime": "^7.18.6",
|
||||
"@babel/runtime": "^7.18.9",
|
||||
"@gamestdio/websocket": "^0.3.2",
|
||||
"@github/webauthn-json": "^0.5.7",
|
||||
"@rails/ujs": "^6.1.6",
|
||||
|
@ -104,14 +104,14 @@
|
|||
"react-notification": "^6.8.5",
|
||||
"react-overlays": "^0.9.3",
|
||||
"react-redux": "^7.2.8",
|
||||
"react-redux-loading-bar": "^4.0.8",
|
||||
"react-redux-loading-bar": "^5.0.4",
|
||||
"react-router-dom": "^4.1.1",
|
||||
"react-router-scroll-4": "^1.0.0-beta.1",
|
||||
"react-select": "^5.4.0",
|
||||
"react-sparklines": "^1.7.0",
|
||||
"react-swipeable-views": "^0.14.0",
|
||||
"react-textarea-autosize": "^8.3.4",
|
||||
"react-toggle": "^4.1.2",
|
||||
"react-toggle": "^4.1.3",
|
||||
"redis": "^4.0.6 <4.1.0",
|
||||
"redux": "^4.2.0",
|
||||
"redux-immutable": "^4.0.0",
|
||||
|
@ -138,20 +138,20 @@
|
|||
"webpack-cli": "^3.3.12",
|
||||
"webpack-merge": "^5.8.0",
|
||||
"wicg-inert": "^3.1.2",
|
||||
"ws": "^8.8.0"
|
||||
"ws": "^8.8.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@babel/eslint-parser": "^7.18.2",
|
||||
"@babel/eslint-parser": "^7.18.9",
|
||||
"@testing-library/jest-dom": "^5.16.4",
|
||||
"@testing-library/react": "^12.1.5",
|
||||
"babel-jest": "^28.1.2",
|
||||
"babel-jest": "^28.1.3",
|
||||
"eslint": "^7.32.0",
|
||||
"eslint-plugin-import": "~2.26.0",
|
||||
"eslint-plugin-jsx-a11y": "~6.6.0",
|
||||
"eslint-plugin-promise": "~6.0.0",
|
||||
"eslint-plugin-react": "~7.30.1",
|
||||
"jest": "^28.1.2",
|
||||
"jest-environment-jsdom": "^28.1.2",
|
||||
"jest": "^28.1.3",
|
||||
"jest-environment-jsdom": "^28.1.3",
|
||||
"postcss-scss": "^4.0.4",
|
||||
"prettier": "^2.7.1",
|
||||
"raf": "^3.4.1",
|
||||
|
|
Loading…
Reference in New Issue