From 115acb1fb1cef5dfe222af7f5ae02b5d1a9d9d4f Mon Sep 17 00:00:00 2001 From: Joram Wilander Date: Tue, 7 Mar 2017 08:30:34 -0500 Subject: Save schema version for 3.7 (#5675) --- store/sql_upgrade.go | 2 ++ 1 file changed, 2 insertions(+) diff --git a/store/sql_upgrade.go b/store/sql_upgrade.go index d3e8b46c6..1402c0eb1 100644 --- a/store/sql_upgrade.go +++ b/store/sql_upgrade.go @@ -236,5 +236,7 @@ func UpgradeDatabaseToVersion37(sqlStore *SqlStore) { if shouldPerformUpgrade(sqlStore, VERSION_3_6_0, VERSION_3_7_0) { // Add EditAt column to Posts sqlStore.CreateColumnIfNotExists("Posts", "EditAt", " bigint", " bigint", "0") + + saveSchemaVersion(sqlStore, VERSION_3_7_0) } } -- cgit v1.2.3-1-g7c22 From 33b8b72a026c54f121f1d0f0370d9ad2e6220a61 Mon Sep 17 00:00:00 2001 From: Christopher Speller Date: Tue, 7 Mar 2017 09:37:00 -0500 Subject: Adding index and cache to reactinos store (#5654) --- api/reaction.go | 9 +++++++-- app/web_hub.go | 12 +++++++++++ einterfaces/cluster.go | 1 + store/sql_reaction_store.go | 43 +++++++++++++++++++++++++++++++++++++++- store/sql_reaction_store_test.go | 38 +++++++++++++++++++++++++++++------ store/store.go | 4 +++- 6 files changed, 97 insertions(+), 10 deletions(-) diff --git a/api/reaction.go b/api/reaction.go index cc1e61efd..85b44b82d 100644 --- a/api/reaction.go +++ b/api/reaction.go @@ -4,12 +4,13 @@ package api import ( + "net/http" + l4g "github.com/alecthomas/log4go" "github.com/gorilla/mux" "github.com/mattermost/platform/app" "github.com/mattermost/platform/model" "github.com/mattermost/platform/utils" - "net/http" ) func InitReaction() { @@ -72,6 +73,8 @@ func saveReaction(c *Context, w http.ResponseWriter, r *http.Request) { reaction := result.Data.(*model.Reaction) + app.InvalidateCacheForReactions(reaction.PostId) + w.Write([]byte(reaction.ToJson())) } } @@ -126,6 +129,8 @@ func deleteReaction(c *Context, w http.ResponseWriter, r *http.Request) { } else { go sendReactionEvent(model.WEBSOCKET_EVENT_REACTION_REMOVED, channelId, reaction, post) + app.InvalidateCacheForReactions(reaction.PostId) + ReturnStatusOK(w) } } @@ -179,7 +184,7 @@ func listReactions(c *Context, w http.ResponseWriter, r *http.Request) { return } - if result := <-app.Srv.Store.Reaction().GetForPost(postId); result.Err != nil { + if result := <-app.Srv.Store.Reaction().GetForPost(postId, true); result.Err != nil { c.Err = result.Err return } else { diff --git a/app/web_hub.go b/app/web_hub.go index 5b7e3623e..65d18481f 100644 --- a/app/web_hub.go +++ b/app/web_hub.go @@ -202,6 +202,18 @@ func InvalidateWebConnSessionCacheForUser(userId string) { } } +func InvalidateCacheForReactions(postId string) { + InvalidateCacheForReactionsSkipClusterSend(postId) + + if cluster := einterfaces.GetClusterInterface(); cluster != nil { + cluster.InvalidateCacheForReactions(postId) + } +} + +func InvalidateCacheForReactionsSkipClusterSend(postId string) { + Srv.Store.Reaction().InvalidateCacheForPost(postId) +} + func (h *Hub) Register(webConn *WebConn) { h.register <- webConn diff --git a/einterfaces/cluster.go b/einterfaces/cluster.go index 389f1f139..b7ba55144 100644 --- a/einterfaces/cluster.go +++ b/einterfaces/cluster.go @@ -20,6 +20,7 @@ type ClusterInterface interface { InvalidateCacheForChannelMembersNotifyProps(channelId string) InvalidateCacheForChannelPosts(channelId string) InvalidateCacheForWebhook(webhookId string) + InvalidateCacheForReactions(postId string) Publish(event *model.WebSocketEvent) UpdateStatus(status *model.Status) GetLogs() ([]string, *model.AppError) diff --git a/store/sql_reaction_store.go b/store/sql_reaction_store.go index 7bd063a15..076710efc 100644 --- a/store/sql_reaction_store.go +++ b/store/sql_reaction_store.go @@ -4,6 +4,7 @@ package store import ( + "github.com/mattermost/platform/einterfaces" "github.com/mattermost/platform/model" "github.com/mattermost/platform/utils" @@ -11,6 +12,13 @@ import ( "github.com/go-gorp/gorp" ) +const ( + REACTION_CACHE_SIZE = 20000 + REACTION_CACHE_SEC = 1800 // 30 minutes +) + +var reactionCache *utils.Cache = utils.NewLru(REACTION_CACHE_SIZE) + type SqlReactionStore struct { *SqlStore } @@ -30,6 +38,8 @@ func NewSqlReactionStore(sqlStore *SqlStore) ReactionStore { func (s SqlReactionStore) CreateIndexesIfNotExists() { s.CreateIndexIfNotExists("idx_reactions_post_id", "Reactions", "PostId") + s.CreateIndexIfNotExists("idx_reactions_user_id", "Reactions", "UserId") + s.CreateIndexIfNotExists("idx_reactions_emoji_name", "Reactions", "EmojiName") } func (s SqlReactionStore) Save(reaction *model.Reaction) StoreChannel { @@ -149,11 +159,40 @@ func updatePostForReactions(transaction *gorp.Transaction, postId string) error return err } -func (s SqlReactionStore) GetForPost(postId string) StoreChannel { +func (s SqlReactionStore) InvalidateCacheForPost(postId string) { + reactionCache.Remove(postId) +} + +func (s SqlReactionStore) InvalidateCache() { + reactionCache.Purge() +} + +func (s SqlReactionStore) GetForPost(postId string, allowFromCache bool) StoreChannel { storeChannel := make(StoreChannel) go func() { result := StoreResult{} + metrics := einterfaces.GetMetricsInterface() + + if allowFromCache { + if cacheItem, ok := reactionCache.Get(postId); ok { + if metrics != nil { + metrics.IncrementMemCacheHitCounter("Reactions") + } + result.Data = cacheItem.([]*model.Reaction) + storeChannel <- result + close(storeChannel) + return + } else { + if metrics != nil { + metrics.IncrementMemCacheMissCounter("Reactions") + } + } + } else { + if metrics != nil { + metrics.IncrementMemCacheMissCounter("Reactions") + } + } var reactions []*model.Reaction @@ -169,6 +208,8 @@ func (s SqlReactionStore) GetForPost(postId string) StoreChannel { result.Err = model.NewLocAppError("SqlReactionStore.GetForPost", "store.sql_reaction.get_for_post.app_error", nil, "") } else { result.Data = reactions + + reactionCache.AddWithExpiresInSecs(postId, reactions, REACTION_CACHE_SEC) } storeChannel <- result diff --git a/store/sql_reaction_store_test.go b/store/sql_reaction_store_test.go index 5a1cb2d67..01ce14e65 100644 --- a/store/sql_reaction_store_test.go +++ b/store/sql_reaction_store_test.go @@ -4,8 +4,9 @@ package store import ( - "github.com/mattermost/platform/model" "testing" + + "github.com/mattermost/platform/model" ) func TestReactionSave(t *testing.T) { @@ -108,7 +109,7 @@ func TestReactionDelete(t *testing.T) { t.Fatal(result.Err) } - if result := <-store.Reaction().GetForPost(post.Id); result.Err != nil { + if result := <-store.Reaction().GetForPost(post.Id, false); result.Err != nil { t.Fatal(result.Err) } else if len(result.Data.([]*model.Reaction)) != 0 { t.Fatal("should've deleted reaction") @@ -155,7 +156,32 @@ func TestReactionGetForPost(t *testing.T) { Must(store.Reaction().Save(reaction)) } - if result := <-store.Reaction().GetForPost(postId); result.Err != nil { + if result := <-store.Reaction().GetForPost(postId, false); result.Err != nil { + t.Fatal(result.Err) + } else if returned := result.Data.([]*model.Reaction); len(returned) != 3 { + t.Fatal("should've returned 3 reactions") + } else { + for _, reaction := range reactions { + found := false + + for _, returnedReaction := range returned { + if returnedReaction.UserId == reaction.UserId && returnedReaction.PostId == reaction.PostId && + returnedReaction.EmojiName == reaction.EmojiName { + found = true + break + } + } + + if !found && reaction.PostId == postId { + t.Fatalf("should've returned reaction for post %v", reaction) + } else if found && reaction.PostId != postId { + t.Fatal("shouldn't have returned reaction for another post") + } + } + } + + // Should return cached item + if result := <-store.Reaction().GetForPost(postId, true); result.Err != nil { t.Fatal(result.Err) } else if returned := result.Data.([]*model.Reaction); len(returned) != 3 { t.Fatal("should've returned 3 reactions") @@ -237,7 +263,7 @@ func TestReactionDeleteAllWithEmojiName(t *testing.T) { } // check that the reactions were deleted - if returned := Must(store.Reaction().GetForPost(post.Id)).([]*model.Reaction); len(returned) != 1 { + if returned := Must(store.Reaction().GetForPost(post.Id, false)).([]*model.Reaction); len(returned) != 1 { t.Fatal("should've only removed reactions with emoji name") } else { for _, reaction := range returned { @@ -247,11 +273,11 @@ func TestReactionDeleteAllWithEmojiName(t *testing.T) { } } - if returned := Must(store.Reaction().GetForPost(post2.Id)).([]*model.Reaction); len(returned) != 1 { + if returned := Must(store.Reaction().GetForPost(post2.Id, false)).([]*model.Reaction); len(returned) != 1 { t.Fatal("should've only removed reactions with emoji name") } - if returned := Must(store.Reaction().GetForPost(post3.Id)).([]*model.Reaction); len(returned) != 0 { + if returned := Must(store.Reaction().GetForPost(post3.Id, false)).([]*model.Reaction); len(returned) != 0 { t.Fatal("should've only removed reactions with emoji name") } diff --git a/store/store.go b/store/store.go index a436f9ee7..7aa903f6f 100644 --- a/store/store.go +++ b/store/store.go @@ -348,6 +348,8 @@ type FileInfoStore interface { type ReactionStore interface { Save(reaction *model.Reaction) StoreChannel Delete(reaction *model.Reaction) StoreChannel - GetForPost(postId string) StoreChannel + InvalidateCacheForPost(postId string) + InvalidateCache() + GetForPost(postId string, allowFromCache bool) StoreChannel DeleteAllWithEmojiName(emojiName string) StoreChannel } -- cgit v1.2.3-1-g7c22 From 2bea17251ef90ab62381ebecaa97fc41c2c94f99 Mon Sep 17 00:00:00 2001 From: enahum Date: Tue, 7 Mar 2017 13:54:25 -0300 Subject: Fix badge count for push notifications (#5672) --- store/sql_user_store.go | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/store/sql_user_store.go b/store/sql_user_store.go index 838c2a80d..23b0c3696 100644 --- a/store/sql_user_store.go +++ b/store/sql_user_store.go @@ -1179,7 +1179,13 @@ func (us SqlUserStore) GetUnreadCount(userId string) StoreChannel { go func() { result := StoreResult{} - if count, err := us.GetReplica().SelectInt("SELECT SUM(CASE WHEN c.Type = 'D' THEN (c.TotalMsgCount - cm.MsgCount) ELSE cm.MentionCount END) FROM Channels c INNER JOIN ChannelMembers cm ON cm.ChannelId = c.Id AND cm.UserId = :UserId", map[string]interface{}{"UserId": userId}); err != nil { + if count, err := us.GetReplica().SelectInt(` + SELECT SUM(CASE WHEN c.Type = 'D' THEN (c.TotalMsgCount - cm.MsgCount) ELSE cm.MentionCount END) + FROM Channels c + INNER JOIN ChannelMembers cm + ON cm.ChannelId = c.Id + AND cm.UserId = :UserId + AND c.DeleteAt = 0`, map[string]interface{}{"UserId": userId}); err != nil { result.Err = model.NewLocAppError("SqlUserStore.GetMentionCount", "store.sql_user.get_unread_count.app_error", nil, err.Error()) } else { result.Data = count -- cgit v1.2.3-1-g7c22 From db7540b111f8b9f983adcfc73fd897e5d83c2fef Mon Sep 17 00:00:00 2001 From: Joram Wilander Date: Wed, 8 Mar 2017 04:13:16 -0500 Subject: Add sync logic for DMs/GMs when network reconnects (#5676) --- webapp/actions/channel_actions.jsx | 29 +++++++++++++++++++++---- webapp/actions/global_actions.jsx | 4 ++-- webapp/actions/websocket_actions.jsx | 20 ++++++++++++++++++ webapp/components/needs_team.jsx | 4 ++++ webapp/utils/async_client.jsx | 41 ++++++++++++++++++++---------------- 5 files changed, 74 insertions(+), 24 deletions(-) diff --git a/webapp/actions/channel_actions.jsx b/webapp/actions/channel_actions.jsx index df7bacac6..e3563d79c 100644 --- a/webapp/actions/channel_actions.jsx +++ b/webapp/actions/channel_actions.jsx @@ -9,14 +9,14 @@ import ChannelStore from 'stores/channel_store.jsx'; import * as ChannelUtils from 'utils/channel_utils.jsx'; import PreferenceStore from 'stores/preference_store.jsx'; -import {loadProfilesForSidebar} from 'actions/user_actions.jsx'; +import {loadProfilesForSidebar, loadNewDMIfNeeded, loadNewGMIfNeeded} from 'actions/user_actions.jsx'; import {trackEvent} from 'actions/diagnostics_actions.jsx'; import Client from 'client/web_client.jsx'; import * as AsyncClient from 'utils/async_client.jsx'; import * as UserAgent from 'utils/user_agent.jsx'; import * as Utils from 'utils/utils.jsx'; -import {Preferences, ActionTypes} from 'utils/constants.jsx'; +import {Constants, Preferences, ActionTypes} from 'utils/constants.jsx'; import {browserHistory} from 'react-router/es6'; @@ -283,8 +283,29 @@ export function unmarkFavorite(channelId) { } export function loadChannelsForCurrentUser() { - AsyncClient.getChannels(); - AsyncClient.getMyChannelMembers(); + AsyncClient.getChannels().then(() => { + AsyncClient.getMyChannelMembers().then(() => { + loadDMsAndGMsForUnreads(); + }); + }); +} + +export function loadDMsAndGMsForUnreads() { + const unreads = ChannelStore.getUnreadCounts(); + for (const id in unreads) { + if (!unreads.hasOwnProperty(id)) { + continue; + } + + if (unreads[id].msgs > 0 || unreads[id].mentions > 0) { + const channel = ChannelStore.get(id); + if (channel && channel.type === Constants.DM_CHANNEL) { + loadNewDMIfNeeded(Utils.getUserIdFromChannelName(channel)); + } else if (channel && channel.type === Constants.GM_CHANNEL) { + loadNewGMIfNeeded(channel.id); + } + } + } } export function joinChannel(channel, success, error) { diff --git a/webapp/actions/global_actions.jsx b/webapp/actions/global_actions.jsx index e22c94294..c81478069 100644 --- a/webapp/actions/global_actions.jsx +++ b/webapp/actions/global_actions.jsx @@ -46,10 +46,10 @@ export function emitChannelClickEvent(channel) { } function switchToChannel(chan) { const channelMember = ChannelStore.getMyMember(chan.id); - const getMyChannelMembersPromise = AsyncClient.getChannelMember(chan.id, UserStore.getCurrentId()); + const getMyChannelMemberPromise = AsyncClient.getChannelMember(chan.id, UserStore.getCurrentId()); const oldChannelId = ChannelStore.getCurrentId(); - getMyChannelMembersPromise.then(() => { + getMyChannelMemberPromise.then(() => { AsyncClient.getChannelStats(chan.id, true); AsyncClient.viewChannel(chan.id, oldChannelId); loadPosts(chan.id); diff --git a/webapp/actions/websocket_actions.jsx b/webapp/actions/websocket_actions.jsx index 913a89221..e36d11fde 100644 --- a/webapp/actions/websocket_actions.jsx +++ b/webapp/actions/websocket_actions.jsx @@ -89,6 +89,26 @@ export function reconnect(includeWebSocket = true) { ErrorStore.emitChange(); } +let intervalId = ''; +const SYNC_INTERVAL_MILLISECONDS = 1000 * 60 * 15; // 15 minutes + +export function startPeriodicSync() { + clearInterval(intervalId); + + intervalId = setInterval( + () => { + if (UserStore.getCurrentUser() != null) { + reconnect(false); + } + }, + SYNC_INTERVAL_MILLISECONDS + ); +} + +export function stopPeriodicSync() { + clearInterval(intervalId); +} + function handleFirstConnect() { ErrorStore.clearLastError(); ErrorStore.emitChange(); diff --git a/webapp/components/needs_team.jsx b/webapp/components/needs_team.jsx index fb6029c2b..5cb714ebc 100644 --- a/webapp/components/needs_team.jsx +++ b/webapp/components/needs_team.jsx @@ -14,6 +14,8 @@ import PreferenceStore from 'stores/preference_store.jsx'; import ChannelStore from 'stores/channel_store.jsx'; import * as GlobalActions from 'actions/global_actions.jsx'; import {startPeriodicStatusUpdates, stopPeriodicStatusUpdates} from 'actions/status_actions.jsx'; +import {startPeriodicSync, stopPeriodicSync} from 'actions/websocket_actions.jsx'; + import Constants from 'utils/constants.jsx'; const TutorialSteps = Constants.TutorialSteps; const Preferences = Constants.Preferences; @@ -94,6 +96,7 @@ export default class NeedsTeam extends React.Component { GlobalActions.viewLoggedIn(); startPeriodicStatusUpdates(); + startPeriodicSync(); // Set up tracking for whether the window is active window.isActive = true; @@ -140,6 +143,7 @@ export default class NeedsTeam extends React.Component { iNoBounce.disable(); } stopPeriodicStatusUpdates(); + stopPeriodicSync(); } render() { diff --git a/webapp/utils/async_client.jsx b/webapp/utils/async_client.jsx index e1449e3c5..9ba853238 100644 --- a/webapp/utils/async_client.jsx +++ b/webapp/utils/async_client.jsx @@ -64,26 +64,31 @@ export function checkVersion() { } export function getChannels() { - if (isCallInProgress('getChannels')) { - return null; - } + return new Promise((resolve, reject) => { + if (isCallInProgress('getChannels')) { + resolve(); + return; + } - callTracker.getChannels = utils.getTimestamp(); + callTracker.getChannels = utils.getTimestamp(); - return Client.getChannels( - (data) => { - callTracker.getChannels = 0; + Client.getChannels( + (data) => { + callTracker.getChannels = 0; - AppDispatcher.handleServerAction({ - type: ActionTypes.RECEIVED_CHANNELS, - channels: data - }); - }, - (err) => { - callTracker.getChannels = 0; - dispatchError(err, 'getChannels'); - } - ); + AppDispatcher.handleServerAction({ + type: ActionTypes.RECEIVED_CHANNELS, + channels: data + }); + resolve(); + }, + (err) => { + callTracker.getChannels = 0; + dispatchError(err, 'getChannels'); + reject(); + } + ); + }); } export function getChannel(id) { @@ -130,7 +135,7 @@ export function getMyChannelMembers() { resolve(); }, (err) => { - callTracker.getChannelsUnread = 0; + callTracker.getMyChannelMembers = 0; dispatchError(err, 'getMyChannelMembers'); reject(); } -- cgit v1.2.3-1-g7c22 From f3a266ee5d25bfff322acd3cc5eef91a6dce8954 Mon Sep 17 00:00:00 2001 From: Asaad Mahmood Date: Wed, 8 Mar 2017 14:13:50 +0500 Subject: Ui improvements and bug fixes (#5677) * PLT-5565 - Fixing theme colors not updating * PLT-4721 - Removing status ind for system messages * PLT-5735 - Fixing ellipsis in firefox * PLT-5010 - Removing extra space in channel modal * PLT-5584 - Inline image overrning edit textarea * PLT-5475 - Fixing tutorials on mobile * PLT-5142 - Disabling poitner events for status * PLT-5728 - Fixing emoji highlight on hover --- webapp/sass/components/_modal.scss | 2 +- webapp/sass/components/_multi-select.scss | 1 - webapp/sass/layout/_post.scss | 9 ++++++++- webapp/sass/responsive/_mobile.scss | 3 +++ webapp/utils/constants.jsx | 4 ++-- webapp/utils/utils.jsx | 14 +++++++------- 6 files changed, 21 insertions(+), 12 deletions(-) diff --git a/webapp/sass/components/_modal.scss b/webapp/sass/components/_modal.scss index 03a8ad1e8..93bd9fda4 100644 --- a/webapp/sass/components/_modal.scss +++ b/webapp/sass/components/_modal.scss @@ -566,7 +566,7 @@ .more-modal__actions { flex-grow: 0; flex-shrink: 0; - margin: 5px 0 10px; + margin: 5px 0; padding-left: 20px; } diff --git a/webapp/sass/components/_multi-select.scss b/webapp/sass/components/_multi-select.scss index a33116aa4..beceb7b9c 100644 --- a/webapp/sass/components/_multi-select.scss +++ b/webapp/sass/components/_multi-select.scss @@ -29,7 +29,6 @@ .Select-value-label { overflow: hidden; - text-overflow: ellipsis; } } diff --git a/webapp/sass/layout/_post.scss b/webapp/sass/layout/_post.scss index de45eedd5..69cbbd712 100644 --- a/webapp/sass/layout/_post.scss +++ b/webapp/sass/layout/_post.scss @@ -3,7 +3,7 @@ .custom-textarea { background: transparent; border: 1px solid #cccccc; - height: auto; + height: 100%; line-height: 20px; min-height: 36px; overflow-x: hidden; @@ -576,6 +576,12 @@ } } + &.post--system { + .status { + visibility: hidden; + } + } + .post__img { padding-top: 0; } @@ -583,6 +589,7 @@ .status-wrapper { cursor: auto; height: 14px; + pointer-events: none; .status { bottom: auto; diff --git a/webapp/sass/responsive/_mobile.scss b/webapp/sass/responsive/_mobile.scss index 37c91846e..f31b325f6 100644 --- a/webapp/sass/responsive/_mobile.scss +++ b/webapp/sass/responsive/_mobile.scss @@ -9,6 +9,7 @@ .Select-value-label { max-width: 190px; + text-overflow: ellipsis; } } @@ -1622,6 +1623,7 @@ } } } + .attachment { .attachment__image { &.attachment__image--openraph { @@ -1635,6 +1637,7 @@ left: 0; position: fixed; top: 0; + z-index: 9999; .tutorial__content { .tutorial__steps { diff --git a/webapp/utils/constants.jsx b/webapp/utils/constants.jsx index cb55da9b8..541fb48ec 100644 --- a/webapp/utils/constants.jsx +++ b/webapp/utils/constants.jsx @@ -440,7 +440,7 @@ export const Constants = { linkColor: '#2f81b7', buttonBg: '#1dacfc', buttonColor: '#FFFFFF', - mentionHighlightBg: '#fff2bb', + mentionHighlightBg: '#f3e197', mentionHighlightLink: '#2f81b7', codeTheme: 'github', image: defaultThemeImage @@ -465,7 +465,7 @@ export const Constants = { linkColor: '#2389d7', buttonBg: '#23A2FF', buttonColor: '#FFFFFF', - mentionHighlightBg: '#fff2bb', + mentionHighlightBg: '#f3e197', mentionHighlightLink: '#2f81b7', codeTheme: 'github', image: mattermostThemeImage diff --git a/webapp/utils/utils.jsx b/webapp/utils/utils.jsx index 384cea752..c860987af 100644 --- a/webapp/utils/utils.jsx +++ b/webapp/utils/utils.jsx @@ -538,14 +538,14 @@ export function applyTheme(theme) { if (theme.mentionBj) { changeCss('.sidebar--left .nav-pills__unread-indicator, .app__body .new-messages__button div', 'background:' + theme.mentionBj); - changeCss('.sidebar--left .badge', 'background:' + theme.mentionBj + '!important;'); - changeCss('.multi-teams .team-sidebar .team-wrapper .team-container .team-btn .badge', 'background:' + theme.mentionBj + '!important;'); + changeCss('.sidebar--left .badge', 'background:' + theme.mentionBj); + changeCss('.multi-teams .team-sidebar .team-wrapper .team-container .team-btn .badge', 'background:' + theme.mentionBj); } if (theme.mentionColor) { - changeCss('.sidebar--left .nav-pills__unread-indicator, .app__body .new-messages__button div', 'color:' + theme.mentionColor); - changeCss('.sidebar--left .badge', 'color:' + theme.mentionColor + '!important;'); - changeCss('.multi-teams .team-sidebar .team-wrapper .team-container .team-btn .badge', 'color:' + theme.mentionColor + '!important;'); + changeCss('.app__body .sidebar--left .nav-pills__unread-indicator, .app__body .new-messages__button div', 'color:' + theme.mentionColor); + changeCss('.app__body .sidebar--left .badge', 'color:' + theme.mentionColor); + changeCss('.app__body .multi-teams .team-sidebar .team-wrapper .team-container .team-btn .badge', 'color:' + theme.mentionColor); } if (theme.centerChannelBg) { @@ -622,7 +622,7 @@ export function applyTheme(theme) { changeCss('@media(min-width: 768px){.app__body .post:hover, .app__body .more-modal__list .more-modal__row:hover, .app__body .modal .settings-modal .settings-table .settings-content .section-min:hover', 'background:' + changeOpacity(theme.centerChannelColor, 0.08)); changeCss('.app__body .more-modal__row.more-modal__row--selected, .app__body .date-separator.hovered--before:after, .app__body .date-separator.hovered--after:before, .app__body .new-separator.hovered--after:before, .app__body .new-separator.hovered--before:after', 'background:' + changeOpacity(theme.centerChannelColor, 0.07)); changeCss('@media(min-width: 768px){.app__body .suggestion-list__content .command:hover, .app__body .mentions__name:hover, .app__body .dropdown-menu>li>a:focus, .app__body .dropdown-menu>li>a:hover', 'background:' + changeOpacity(theme.centerChannelColor, 0.15)); - changeCss('.app__body .suggestion--selected, .app__body .bot-indicator', 'background:' + changeOpacity(theme.centerChannelColor, 0.15), 1); + changeCss('.app__body .suggestion--selected, .app__body .emoticon-suggestion:hover, .app__body .bot-indicator', 'background:' + changeOpacity(theme.centerChannelColor, 0.15), 1); changeCss('code, .app__body .form-control[disabled], .app__body .form-control[readonly], .app__body fieldset[disabled] .form-control', 'background:' + changeOpacity(theme.centerChannelColor, 0.1)); changeCss('@media(min-width: 960px){.app__body .post.current--user:hover .post__body ', 'background: none;'); changeCss('.app__body .sidebar--right', 'color:' + theme.centerChannelColor); @@ -669,7 +669,7 @@ export function applyTheme(theme) { if (theme.mentionHighlightBg) { changeCss('.app__body .mention--highlight, .app__body .search-highlight', 'background:' + theme.mentionHighlightBg); - changeCss('.mention-comment', 'border-color:' + theme.mentionHighlightBg + ' !important'); + changeCss('.app__body .post.post--comment .post__body.mention-comment', 'border-color:' + theme.mentionHighlightBg); changeCss('.app__body .post.post--highlight', 'background:' + changeOpacity(theme.mentionHighlightBg, 0.5)); } -- cgit v1.2.3-1-g7c22 From 5d62b3661bcf4b912e7809ca05082e364e2b34b1 Mon Sep 17 00:00:00 2001 From: Harrison Healey Date: Wed, 8 Mar 2017 04:15:33 -0500 Subject: Added additional validation for slack attachment format on server (#5680) --- app/post.go | 38 ++++++------------------ model/command_response.go | 30 ++++++++++++------- model/command_response_test.go | 65 ++++++++++++++++++++++++++++++++++++++++++ model/incoming_webhook.go | 46 ++++++++++-------------------- model/incoming_webhook_test.go | 31 ++++++++++---------- model/slack_attachment.go | 28 ++++++++++++++++++ 6 files changed, 152 insertions(+), 86 deletions(-) create mode 100644 model/slack_attachment.go diff --git a/app/post.go b/app/post.go index a41da6c90..3d463aade 100644 --- a/app/post.go +++ b/app/post.go @@ -180,40 +180,20 @@ func handlePostEvents(post *model.Post, teamId string, triggerWebhooks bool) *mo // This method only parses and processes the attachments, // all else should be set in the post which is passed -func parseSlackAttachment(post *model.Post, attachments interface{}) { +func parseSlackAttachment(post *model.Post, attachments []*model.SlackAttachment) { post.Type = model.POST_SLACK_ATTACHMENT - if list, success := attachments.([]interface{}); success { - for i, aInt := range list { - attachment := aInt.(map[string]interface{}) - if aText, ok := attachment["text"].(string); ok { - aText = linkWithTextRegex.ReplaceAllString(aText, "[${2}](${1})") - attachment["text"] = aText - list[i] = attachment - } - if aText, ok := attachment["pretext"].(string); ok { - aText = linkWithTextRegex.ReplaceAllString(aText, "[${2}](${1})") - attachment["pretext"] = aText - list[i] = attachment - } - if fVal, ok := attachment["fields"]; ok { - if fields, ok := fVal.([]interface{}); ok { - // parse attachment field links into Markdown format - for j, fInt := range fields { - field := fInt.(map[string]interface{}) - if fValue, ok := field["value"].(string); ok { - fValue = linkWithTextRegex.ReplaceAllString(fValue, "[${2}](${1})") - field["value"] = fValue - fields[j] = field - } - } - attachment["fields"] = fields - list[i] = attachment - } + for _, attachment := range attachments { + attachment.Text = parseSlackLinksToMarkdown(attachment.Text) + attachment.Pretext = parseSlackLinksToMarkdown(attachment.Pretext) + + for _, field := range attachment.Fields { + if value, ok := field.Value.(string); ok { + field.Value = parseSlackLinksToMarkdown(value) } } - post.AddProp("attachments", list) } + post.AddProp("attachments", attachments) } func parseSlackLinksToMarkdown(text string) string { diff --git a/model/command_response.go b/model/command_response.go index bbb70418e..f69772353 100644 --- a/model/command_response.go +++ b/model/command_response.go @@ -5,6 +5,7 @@ package model import ( "encoding/json" + "fmt" "io" ) @@ -14,12 +15,12 @@ const ( ) type CommandResponse struct { - ResponseType string `json:"response_type"` - Text string `json:"text"` - Username string `json:"username"` - IconURL string `json:"icon_url"` - GotoLocation string `json:"goto_location"` - Attachments interface{} `json:"attachments"` + ResponseType string `json:"response_type"` + Text string `json:"text"` + Username string `json:"username"` + IconURL string `json:"icon_url"` + GotoLocation string `json:"goto_location"` + Attachments []*SlackAttachment `json:"attachments"` } func (o *CommandResponse) ToJson() string { @@ -34,10 +35,19 @@ func (o *CommandResponse) ToJson() string { func CommandResponseFromJson(data io.Reader) *CommandResponse { decoder := json.NewDecoder(data) var o CommandResponse - err := decoder.Decode(&o) - if err == nil { - return &o - } else { + + if err := decoder.Decode(&o); err != nil { return nil } + + // Ensure attachment fields are stored as strings + for _, attachment := range o.Attachments { + for _, field := range attachment.Fields { + if field.Value != nil { + field.Value = fmt.Sprintf("%v", field.Value) + } + } + } + + return &o } diff --git a/model/command_response_test.go b/model/command_response_test.go index 7aa3e984b..131d87789 100644 --- a/model/command_response_test.go +++ b/model/command_response_test.go @@ -17,3 +17,68 @@ func TestCommandResponseJson(t *testing.T) { t.Fatal("Ids do not match") } } + +func TestCommandResponseFromJson(t *testing.T) { + json := `{ + "response_type": "ephemeral", + "text": "response text", + "username": "response username", + "icon_url": "response icon url", + "goto_location": "response goto location", + "attachments": [{ + "text": "attachment 1 text", + "pretext": "attachment 1 pretext" + },{ + "text": "attachment 2 text", + "fields": [{ + "title": "field 1", + "value": "value 1", + "short": true + },{ + "title": "field 2", + "value": [], + "short": false + }] + }] + }` + + response := CommandResponseFromJson(strings.NewReader(json)) + + if response == nil { + t.Fatal("should've received non-nil CommandResponse") + } + + if response.ResponseType != "ephemeral" { + t.Fatal("should've received correct response type") + } else if response.Text != "response text" { + t.Fatal("should've received correct response text") + } else if response.Username != "response username" { + t.Fatal("should've received correct response username") + } else if response.IconURL != "response icon url" { + t.Fatal("should've received correct response icon url") + } else if response.GotoLocation != "response goto location" { + t.Fatal("should've received correct response goto location") + } + + attachments := response.Attachments + if len(attachments) != 2 { + t.Fatal("should've received 2 attachments") + } else if attachments[0].Text != "attachment 1 text" { + t.Fatal("should've received correct first attachment text") + } else if attachments[0].Pretext != "attachment 1 pretext" { + t.Fatal("should've received correct first attachment pretext") + } else if attachments[1].Text != "attachment 2 text" { + t.Fatal("should've received correct second attachment text") + } + + fields := attachments[1].Fields + if len(fields) != 2 { + t.Fatal("should've received 2 fields") + } else if fields[0].Value.(string) != "value 1" { + t.Fatal("should've received correct first attachment value") + } else if _, ok := fields[1].Value.(string); !ok { + t.Fatal("should've received second attachment value parsed as a string") + } else if fields[1].Value.(string) != "[]" { + t.Fatal("should've received correct second attachment value") + } +} diff --git a/model/incoming_webhook.go b/model/incoming_webhook.go index 72fa3e54c..2cc26cbca 100644 --- a/model/incoming_webhook.go +++ b/model/incoming_webhook.go @@ -29,13 +29,13 @@ type IncomingWebhook struct { } type IncomingWebhookRequest struct { - Text string `json:"text"` - Username string `json:"username"` - IconURL string `json:"icon_url"` - ChannelName string `json:"channel"` - Props StringInterface `json:"props"` - Attachments interface{} `json:"attachments"` - Type string `json:"type"` + Text string `json:"text"` + Username string `json:"username"` + IconURL string `json:"icon_url"` + ChannelName string `json:"channel"` + Props StringInterface `json:"props"` + Attachments []*SlackAttachment `json:"attachments"` + Type string `json:"type"` } func (o *IncomingWebhook) ToJson() string { @@ -212,31 +212,15 @@ func expandAnnouncement(text string) string { func expandAnnouncements(i *IncomingWebhookRequest) { i.Text = expandAnnouncement(i.Text) - if i.Attachments != nil { - attachments := i.Attachments.([]interface{}) - for _, attachment := range attachments { - a := attachment.(map[string]interface{}) + for _, attachment := range i.Attachments { + attachment.Pretext = expandAnnouncement(attachment.Pretext) + attachment.Text = expandAnnouncement(attachment.Text) + attachment.Title = expandAnnouncement(attachment.Title) - if a["pretext"] != nil { - a["pretext"] = expandAnnouncement(a["pretext"].(string)) - } - - if a["text"] != nil { - a["text"] = expandAnnouncement(a["text"].(string)) - } - - if a["title"] != nil { - a["title"] = expandAnnouncement(a["title"].(string)) - } - - if a["fields"] != nil { - fields := a["fields"].([]interface{}) - for _, field := range fields { - f := field.(map[string]interface{}) - if f["value"] != nil { - f["value"] = expandAnnouncement(fmt.Sprintf("%v", f["value"])) - } - } + for _, field := range attachment.Fields { + if field.Value != nil { + // Ensure the value is set to a string if it is set + field.Value = expandAnnouncement(fmt.Sprintf("%v", field.Value)) } } } diff --git a/model/incoming_webhook_test.go b/model/incoming_webhook_test.go index 8246b6c0a..46e5b6743 100644 --- a/model/incoming_webhook_test.go +++ b/model/incoming_webhook_test.go @@ -142,21 +142,20 @@ func TestIncomingWebhookRequestFromJson_Announcements(t *testing.T) { t.Fatal("IncomingWebhookRequest should not be nil") } - attachments := iwr.Attachments.([]interface{}) - attachment := attachments[0].(map[string]interface{}) - if attachment["pretext"] != expected { - t.Fatalf("Sample attachment pretext should be: %s, got: %s", expected, attachment["pretext"]) + attachment := iwr.Attachments[0] + if attachment.Pretext != expected { + t.Fatalf("Sample attachment pretext should be:%s, got: %s", expected, attachment.Pretext) } - if attachment["text"] != expected { - t.Fatalf("Sample attachment text should be: %s, got: %s", expected, attachment["text"]) + if attachment.Text != expected { + t.Fatalf("Sample attachment text should be: %s, got: %s", expected, attachment.Text) } - if attachment["title"] != expected { - t.Fatalf("Sample attachment title should be: %s, got: %s", expected, attachment["title"]) + if attachment.Title != expected { + t.Fatalf("Sample attachment title should be: %s, got: %s", expected, attachment.Title) } - fields := attachment["fields"].([]interface{}) - field := fields[0].(map[string]interface{}) - if field["value"] != expected { - t.Fatalf("Sample attachment field value should be: %s, got: %s", expected, field["value"]) + + field := attachment.Fields[0] + if field.Value != expected { + t.Fatalf("Sample attachment field value should be: %s, got: %s", expected, field.Value) } } @@ -224,10 +223,10 @@ func TestIncomingWebhookRequestFromJson(t *testing.T) { if iwr.Text != expected { t.Fatalf("Sample %d text should be: %s, got: %s", i, expected, iwr.Text) } - attachments := iwr.Attachments.([]interface{}) - attachment := attachments[0].(map[string]interface{}) - if attachment["text"] != expected { - t.Fatalf("Sample %d attachment text should be: %s, got: %s", i, expected, attachment["text"]) + + attachment := iwr.Attachments[0] + if attachment.Text != expected { + t.Fatalf("Sample %d attachment text should be: %s, got: %s", i, expected, attachment.Text) } } } diff --git a/model/slack_attachment.go b/model/slack_attachment.go new file mode 100644 index 000000000..d68fe406f --- /dev/null +++ b/model/slack_attachment.go @@ -0,0 +1,28 @@ +// Copyright (c) 2017 Mattermost, Inc. All Rights Reserved. +// See License.txt for license information. + +package model + +type SlackAttachment struct { + Fallback string `json:"fallback"` + Color string `json:"color"` + Pretext string `json:"pretext"` + AuthorName string `json:"author_name"` + AuthorLink string `json:"author_link"` + AuthorIcon string `json:"author_icon"` + Title string `json:"title"` + TitleLink string `json:"title_link"` + Text string `json:"text"` + Fields []*SlackAttachmentField `json:"fields"` + ImageURL string `json:"image_url"` + ThumbURL string `json:"thumb_url"` + Footer string `json:"footer"` + FooterIcon string `json:"footer_icon"` + Timestamp int64 `json:"ts"` +} + +type SlackAttachmentField struct { + Title string `json:"title"` + Value interface{} `json:"value"` + Short bool `json:"short"` +} -- cgit v1.2.3-1-g7c22 From afbe5bab1182af8f58da2c33970b7c88f9a55927 Mon Sep 17 00:00:00 2001 From: Asaad Mahmood Date: Wed, 8 Mar 2017 14:16:18 +0500 Subject: Bug fixes (#5682) * PLT-5740 - Fixing overlapping attachment icon * PLT-5748 - Scroll not visible in RHS IE11 --- webapp/sass/layout/_post.scss | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/webapp/sass/layout/_post.scss b/webapp/sass/layout/_post.scss index 69cbbd712..5ecd50468 100644 --- a/webapp/sass/layout/_post.scss +++ b/webapp/sass/layout/_post.scss @@ -359,6 +359,10 @@ } .post-create__container { + .custom-textarea { + overflow: hidden; + } + form { margin: 0 auto; padding: .5em 15px 0; @@ -376,6 +380,8 @@ } .custom-textarea { + -ms-overflow-style: auto; + overflow: auto; padding-right: 43px; } } @@ -523,6 +529,7 @@ .col__reply { min-width: 0; } + .dropdown { margin-right: 0; } -- cgit v1.2.3-1-g7c22 From 609a1148c73f6ddf52a1c3e54e20af88753e6d45 Mon Sep 17 00:00:00 2001 From: enahum Date: Thu, 9 Mar 2017 06:14:26 -0300 Subject: PLT-5769 Translations filenames and values consistent (#5689) --- i18n/zh-CN.json | 5978 ++++++++++++++++++++++++++++++++++++++++++++++++ i18n/zh-TW.json | 5978 ++++++++++++++++++++++++++++++++++++++++++++++++ i18n/zh_CN.json | 5978 ------------------------------------------------ i18n/zh_TW.json | 5978 ------------------------------------------------ webapp/i18n/i18n.jsx | 4 +- webapp/i18n/zh-CN.json | 2279 ++++++++++++++++++ webapp/i18n/zh-TW.json | 2279 ++++++++++++++++++ webapp/i18n/zh_CN.json | 2279 ------------------ webapp/i18n/zh_TW.json | 2279 ------------------ 9 files changed, 16516 insertions(+), 16516 deletions(-) create mode 100644 i18n/zh-CN.json create mode 100644 i18n/zh-TW.json delete mode 100644 i18n/zh_CN.json delete mode 100644 i18n/zh_TW.json create mode 100644 webapp/i18n/zh-CN.json create mode 100644 webapp/i18n/zh-TW.json delete mode 100644 webapp/i18n/zh_CN.json delete mode 100644 webapp/i18n/zh_TW.json diff --git a/i18n/zh-CN.json b/i18n/zh-CN.json new file mode 100644 index 000000000..cef1f7e9d --- /dev/null +++ b/i18n/zh-CN.json @@ -0,0 +1,5978 @@ +[ + { + "id": "April", + "translation": "四月" + }, + { + "id": "August", + "translation": "八月" + }, + { + "id": "December", + "translation": "十二月" + }, + { + "id": "February", + "translation": "二月" + }, + { + "id": "January", + "translation": "一月" + }, + { + "id": "July", + "translation": "七月" + }, + { + "id": "June", + "translation": "六月" + }, + { + "id": "March", + "translation": "三月" + }, + { + "id": "May", + "translation": "五月" + }, + { + "id": "November", + "translation": "十一月" + }, + { + "id": "October", + "translation": "十月" + }, + { + "id": "September", + "translation": "九月" + }, + { + "id": "api.admin.add_certificate.no_file.app_error", + "translation": "请求中'certificate'下的文件不存在" + }, + { + "id": "api.admin.add_certificate.open.app_error", + "translation": "无法打开证书文件" + }, + { + "id": "api.admin.add_certificate.saving.app_error", + "translation": "无法保存证书文件" + }, + { + "id": "api.admin.file_read_error", + "translation": "读取日志文件出错" + }, + { + "id": "api.admin.get_brand_image.not_available.app_error", + "translation": "此服务器不支持或没有正确配置自定义品牌" + }, + { + "id": "api.admin.get_brand_image.storage.app_error", + "translation": "未配置图像存储器。" + }, + { + "id": "api.admin.init.debug", + "translation": "正在初始化管理 API 路由" + }, + { + "id": "api.admin.recycle_db_end.warn", + "translation": "数据库连接重用完成" + }, + { + "id": "api.admin.recycle_db_start.warn", + "translation": "正在尝试重用数据库连接" + }, + { + "id": "api.admin.remove_certificate.delete.app_error", + "translation": "删除证书时发生错误。请确定config/{{.Filename}}文件已存在。" + }, + { + "id": "api.admin.saml.metadata.app_error", + "translation": "创建服务商元数据时发生错误" + }, + { + "id": "api.admin.test_email.body", + "translation": "


看来你的Mattermost邮箱设置成功!" + }, + { + "id": "api.admin.test_email.missing_server", + "translation": "需要SMTP服务器" + }, + { + "id": "api.admin.test_email.reenter_password", + "translation": "SMTP 服务器地址、端口或者用户名已经被修改。请重新输入 SMTP 密码进行连接测试。" + }, + { + "id": "api.admin.test_email.subject", + "translation": "Mattermost - 测试邮箱设置" + }, + { + "id": "api.admin.upload_brand_image.array.app_error", + "translation": "请求中图片为空" + }, + { + "id": "api.admin.upload_brand_image.no_file.app_error", + "translation": "请求中缺失图片文件" + }, + { + "id": "api.admin.upload_brand_image.not_available.app_error", + "translation": "此服务器不支持或没有正确配置自定义品牌" + }, + { + "id": "api.admin.upload_brand_image.parse.app_error", + "translation": "不能解析混合表单" + }, + { + "id": "api.admin.upload_brand_image.storage.app_error", + "translation": "不能上传图片。图片存储没有配置。" + }, + { + "id": "api.admin.upload_brand_image.too_large.app_error", + "translation": "无法上传文件。文件太大。" + }, + { + "id": "api.api.init.parsing_templates.debug", + "translation": "解析服务模板 %v" + }, + { + "id": "api.api.init.parsing_templates.error", + "translation": "解析服务模板出错 %v" + }, + { + "id": "api.api.render.error", + "translation": "渲染模板出错 %v err=%v" + }, + { + "id": "api.auth.unable_to_get_user.app_error", + "translation": "可以让用户查看权限。" + }, + { + "id": "api.channel.add_member.added", + "translation": "%v 由 %v 邀请加入频道" + }, + { + "id": "api.channel.add_member.find_channel.app_error", + "translation": "未找到频道" + }, + { + "id": "api.channel.add_member.find_user.app_error", + "translation": "未找到要添加的用户" + }, + { + "id": "api.channel.add_member.user_adding.app_error", + "translation": "查找用户执行添加时出错" + }, + { + "id": "api.channel.add_user.to.channel.failed.app_error", + "translation": "添加用户到频道出错" + }, + { + "id": "api.channel.add_user.to.channel.failed.deleted.app_error", + "translation": "无法将用户添加到频道,因为用户已从团队中移除。" + }, + { + "id": "api.channel.add_user_to_channel.deleted.app_error", + "translation": "该频道已归档或者被删除" + }, + { + "id": "api.channel.add_user_to_channel.type.app_error", + "translation": "不能添加用户到该频道类型" + }, + { + "id": "api.channel.can_manage_channel.private_restricted_system_admin.app_error", + "translation": "只有系统管理能创建与管理私有群组。" + }, + { + "id": "api.channel.can_manage_channel.private_restricted_team_admin.app_error", + "translation": "只有团体和系统管理员能管理与创建私有群组。" + }, + { + "id": "api.channel.can_manage_channel.public_restricted_system_admin.app_error", + "translation": "只有系统管理员能创建公开频道。" + }, + { + "id": "api.channel.can_manage_channel.public_restricted_team_admin.app_error", + "translation": "只有团队和系统管理员能创建与管理公开频道。" + }, + { + "id": "api.channel.create_channel.direct_channel.app_error", + "translation": "必须使用 createDirectChannel API 创建私信频道" + }, + { + "id": "api.channel.create_channel.invalid_character.app_error", + "translation": "非直接频道的频道名不能出现无效字符 '__'" + }, + { + "id": "api.channel.create_channel.max_channel_limit.app_error", + "translation": "当前团队无法创建超过 {{.MaxChannelsPerTeam}} 个频道。" + }, + { + "id": "api.channel.create_default_channels.off_topic", + "translation": "闲聊频道" + }, + { + "id": "api.channel.create_default_channels.town_square", + "translation": "公共频道" + }, + { + "id": "api.channel.create_direct_channel.invalid_user.app_error", + "translation": "用于创建私信频道的用户 ID 无效" + }, + { + "id": "api.channel.create_group.bad_size.app_error", + "translation": "团体消息频道必须至少包含 3 个但不超过 8 位用户" + }, + { + "id": "api.channel.create_group.bad_user.app_error", + "translation": "有不存在的用户" + }, + { + "id": "api.channel.delete_channel.archived", + "translation": "%v 已归档该频道。" + }, + { + "id": "api.channel.delete_channel.cannot.app_error", + "translation": "不能删除默认频道 {{.Channel}}" + }, + { + "id": "api.channel.delete_channel.deleted.app_error", + "translation": "该频道已归档或者被删除" + }, + { + "id": "api.channel.delete_channel.failed_post.error", + "translation": "发布归档消息失败 %v" + }, + { + "id": "api.channel.delete_channel.failed_send.app_error", + "translation": "发送归档消息失败" + }, + { + "id": "api.channel.delete_channel.incoming_webhook.error", + "translation": "删除传入的webhook出错, id=%v" + }, + { + "id": "api.channel.delete_channel.outgoing_webhook.error", + "translation": "删除传出的webhook出错, id=%v" + }, + { + "id": "api.channel.delete_channel.permissions.app_error", + "translation": "您没有对应的权限" + }, + { + "id": "api.channel.get_channel.wrong_team.app_error", + "translation": "不存在团队team_id={{.TeamId}}, 频道 channel_id={{.ChannelId}}" + }, + { + "id": "api.channel.get_channel_counts.app_error", + "translation": "不能从数据库中获取频道数" + }, + { + "id": "api.channel.get_channel_extra_info.deleted.app_error", + "translation": "该频道已归档或者被删除" + }, + { + "id": "api.channel.get_channel_extra_info.member_limit.app_error", + "translation": "解析成员限制失败" + }, + { + "id": "api.channel.get_channels.error", + "translation": "获取用户配置出错 for id=%v 强制注销" + }, + { + "id": "api.channel.init.debug", + "translation": "正在初始化频道 API 路由" + }, + { + "id": "api.channel.join_channel.permissions.app_error", + "translation": "您没有对应的权限" + }, + { + "id": "api.channel.join_channel.post_and_forget", + "translation": "%v 已经加入到该频道。" + }, + { + "id": "api.channel.leave.default.app_error", + "translation": "不能退出默认频道 {{.Channel}}" + }, + { + "id": "api.channel.leave.direct.app_error", + "translation": "不能退出私信频道" + }, + { + "id": "api.channel.leave.last_member.app_error", + "translation": "你是本组最后一人,请删除私有组而不是离开。" + }, + { + "id": "api.channel.leave.left", + "translation": "%v 已经退出该频道。" + }, + { + "id": "api.channel.post_update_channel_displayname_message_and_forget.create_post.error", + "translation": "发送显示名更新信息时失败" + }, + { + "id": "api.channel.post_update_channel_displayname_message_and_forget.retrieve_user.error", + "translation": "更新频道 DisplayName 字段时获取用户失败" + }, + { + "id": "api.channel.post_update_channel_displayname_message_and_forget.updated_from", + "translation": "%s 将频道显示名从 %s 更新为 %s" + }, + { + "id": "api.channel.post_update_channel_header_message_and_forget.post.error", + "translation": "更新频道标题消息失败" + }, + { + "id": "api.channel.post_update_channel_header_message_and_forget.removed", + "translation": "%s 删除了频道标题 (原为: %s)" + }, + { + "id": "api.channel.post_update_channel_header_message_and_forget.retrieve_user.error", + "translation": "尝试保存更新的频道标题时获取用户信息失败" + }, + { + "id": "api.channel.post_update_channel_header_message_and_forget.updated_from", + "translation": "%s 将频道标题从 %s 更新为 %s" + }, + { + "id": "api.channel.post_update_channel_header_message_and_forget.updated_to", + "translation": "%s 更新频道标题为: %s" + }, + { + "id": "api.channel.post_user_add_remove_message_and_forget.error", + "translation": "发布添加/退出消息失败" + }, + { + "id": "api.channel.remove.default.app_error", + "translation": "不能从默认频道 {{.Channel}} 移出用户" + }, + { + "id": "api.channel.remove_member.permissions.app_error", + "translation": "您没有对应的权限" + }, + { + "id": "api.channel.remove_member.removed", + "translation": "%v 已从频道移出。" + }, + { + "id": "api.channel.remove_member.unable.app_error", + "translation": "无法移除用户。" + }, + { + "id": "api.channel.remove_member.user.app_error", + "translation": "未找到要删除的用户" + }, + { + "id": "api.channel.remove_user_from_channel.deleted.app_error", + "translation": "该频道已归档或者被删除" + }, + { + "id": "api.channel.update_channel.deleted.app_error", + "translation": "该频道已归档或者被删除" + }, + { + "id": "api.channel.update_channel.permission.app_error", + "translation": "您没有对应的权限" + }, + { + "id": "api.channel.update_channel.tried.app_error", + "translation": "对默认频道试图执行一个无效的更新 {{.Channel}}" + }, + { + "id": "api.channel.update_last_viewed_at.get_unread_count_for_channel.errord", + "translation": "无法获取 user_id=%v 以及 channel_id=%v 的未读数量,err=%v" + }, + { + "id": "api.command.admin_only.app_error", + "translation": "集成只限于管理员。" + }, + { + "id": "api.command.delete.app_error", + "translation": "无效删除命令权限" + }, + { + "id": "api.command.disabled.app_error", + "translation": "命令已经被系统管理员禁用。" + }, + { + "id": "api.command.duplicate_trigger.app_error", + "translation": "触发词已经使用。请选择其它单词。" + }, + { + "id": "api.command.execute_command.debug", + "translation": "执行 cmd=%v userId=%v" + }, + { + "id": "api.command.execute_command.failed.app_error", + "translation": "带触发 '{{.Trigger}}' 的命令失败" + }, + { + "id": "api.command.execute_command.failed_empty.app_error", + "translation": "触发 '{{.Trigger}}' 返回一个空响应" + }, + { + "id": "api.command.execute_command.failed_resp.app_error", + "translation": "触发 '{{.Trigger}}' 返回响应状态 {{.Status}}" + }, + { + "id": "api.command.execute_command.not_found.app_error", + "translation": "触发 '{{.Trigger}}' 没有找到" + }, + { + "id": "api.command.execute_command.save.app_error", + "translation": "保存命令响应到频道时出错" + }, + { + "id": "api.command.execute_command.start.app_error", + "translation": "没有找到控制触发器" + }, + { + "id": "api.command.init.debug", + "translation": "正在初始化命令 API 路由" + }, + { + "id": "api.command.invite_people.desc", + "translation": "发送一封邀请邮件给你的Mattermost团队" + }, + { + "id": "api.command.invite_people.email_off", + "translation": "邮件没有配置,没发送邀请" + }, + { + "id": "api.command.invite_people.fail", + "translation": "邀请邮件发送错误" + }, + { + "id": "api.command.invite_people.hint", + "translation": "[name@domain.com ...]" + }, + { + "id": "api.command.invite_people.name", + "translation": "invite_people" + }, + { + "id": "api.command.invite_people.no_email", + "translation": "请输入一个或更多有效的电子邮件地址" + }, + { + "id": "api.command.invite_people.sent", + "translation": "邮件邀请已发送" + }, + { + "id": "api.command.regen.app_error", + "translation": "无效重新生成命令令牌权限" + }, + { + "id": "api.command.team_mismatch.app_error", + "translation": "无法跨团队更新命令" + }, + { + "id": "api.command.update.app_error", + "translation": "无效更新命令权限" + }, + { + "id": "api.command_away.desc", + "translation": "设置您的状态设为离开" + }, + { + "id": "api.command_away.name", + "translation": "离开" + }, + { + "id": "api.command_away.success", + "translation": "您现在离开了" + }, + { + "id": "api.command_collapse.desc", + "translation": "打开图像预览自动折叠" + }, + { + "id": "api.command_collapse.name", + "translation": "折叠" + }, + { + "id": "api.command_collapse.success", + "translation": "图片链接现在默认折叠" + }, + { + "id": "api.command_echo.create.app_error", + "translation": "不能创建 /echo 帖文,err=%v" + }, + { + "id": "api.command_echo.delay.app_error", + "translation": "延迟必须在10000秒内" + }, + { + "id": "api.command_echo.desc", + "translation": "从您的帐号返回文本" + }, + { + "id": "api.command_echo.high_volume.app_error", + "translation": "高容量的回声请求,不能处理请求" + }, + { + "id": "api.command_echo.hint", + "translation": "'信息' [延迟秒数]" + }, + { + "id": "api.command_echo.message.app_error", + "translation": "/echo 命令必须有消息。" + }, + { + "id": "api.command_echo.name", + "translation": "回应" + }, + { + "id": "api.command_expand.desc", + "translation": "关闭图像预览自动折叠" + }, + { + "id": "api.command_expand.name", + "translation": "展开" + }, + { + "id": "api.command_expand.success", + "translation": "图片链接现在默认展开" + }, + { + "id": "api.command_expand_collapse.fail.app_error", + "translation": "展开预览时发生了错误" + }, + { + "id": "api.command_join.desc", + "translation": "添加到公开频道" + }, + { + "id": "api.command_join.fail.app_error", + "translation": "加入频道时发生错误。" + }, + { + "id": "api.command_join.hint", + "translation": "[频道名称]" + }, + { + "id": "api.command_join.list.app_error", + "translation": "列出频道时发生错误。" + }, + { + "id": "api.command_join.missing.app_error", + "translation": "我们没有找到该频道" + }, + { + "id": "api.command_join.name", + "translation": "加入" + }, + { + "id": "api.command_join.success", + "translation": "已加入频道。" + }, + { + "id": "api.command_logout.desc", + "translation": "注销Mattermost" + }, + { + "id": "api.command_logout.fail_message", + "translation": "注销失败" + }, + { + "id": "api.command_logout.name", + "translation": "注销" + }, + { + "id": "api.command_me.desc", + "translation": "执行一个操作" + }, + { + "id": "api.command_me.hint", + "translation": "[信息]" + }, + { + "id": "api.command_me.name", + "translation": "me" + }, + { + "id": "api.command_msg.desc", + "translation": "直接发送消息给用户" + }, + { + "id": "api.command_msg.dm_fail.app_error", + "translation": "创建私信时发生错误。" + }, + { + "id": "api.command_msg.fail.app_error", + "translation": "发送用户消息时发生错误。" + }, + { + "id": "api.command_msg.hint", + "translation": "@[用户名] '消息'" + }, + { + "id": "api.command_msg.list.app_error", + "translation": "列出用户时出错。" + }, + { + "id": "api.command_msg.missing.app_error", + "translation": "无法找到用户" + }, + { + "id": "api.command_msg.name", + "translation": "消息" + }, + { + "id": "api.command_msg.success", + "translation": "消息已发送给用户。" + }, + { + "id": "api.command_offline.desc", + "translation": "设置您的状态设为离线" + }, + { + "id": "api.command_offline.name", + "translation": "离线" + }, + { + "id": "api.command_offline.success", + "translation": "您现在离线了" + }, + { + "id": "api.command_online.desc", + "translation": "设置您的状态设为在线" + }, + { + "id": "api.command_online.name", + "translation": "在线" + }, + { + "id": "api.command_online.success", + "translation": "您现在在线了" + }, + { + "id": "api.command_shortcuts.browser.channel_next", + "translation": "{{.ChannelNextCmd}}:您的历史记录里的下一个频道\n" + }, + { + "id": "api.command_shortcuts.browser.channel_next.cmd", + "translation": "ALT+RIGHT" + }, + { + "id": "api.command_shortcuts.browser.channel_next.cmd_mac", + "translation": "CMD+]" + }, + { + "id": "api.command_shortcuts.browser.channel_prev", + "translation": "{{.ChannelPrevCmd}}:您的历史记录里的上一个频道\n" + }, + { + "id": "api.command_shortcuts.browser.channel_prev.cmd", + "translation": "ALT+LEFT" + }, + { + "id": "api.command_shortcuts.browser.channel_prev.cmd_mac", + "translation": "CMD+[" + }, + { + "id": "api.command_shortcuts.browser.font_decrease", + "translation": "{{.CmdOrCtrl}}+减号:减少字体大小 (缩小)\n" + }, + { + "id": "api.command_shortcuts.browser.font_increase", + "translation": "{{.CmdOrCtrl}}+加号:增加字体大小 (放大)\n" + }, + { + "id": "api.command_shortcuts.browser.header", + "translation": "#### 内置浏览器命令\n\n" + }, + { + "id": "api.command_shortcuts.browser.highlight_next", + "translation": "SHIFT+DOWN (在输入栏):高亮到下一行之间的文字\n" + }, + { + "id": "api.command_shortcuts.browser.highlight_prev", + "translation": "SHIFT+UP (在输入栏):高亮到上一行之间的文字\n" + }, + { + "id": "api.command_shortcuts.browser.newline", + "translation": "SHIFT+ENTER (在输入栏):新增行\n" + }, + { + "id": "api.command_shortcuts.cmd", + "translation": "CMD" + }, + { + "id": "api.command_shortcuts.ctrl", + "translation": "CTRL" + }, + { + "id": "api.command_shortcuts.desc", + "translation": "显示快捷键列表" + }, + { + "id": "api.command_shortcuts.files.header", + "translation": "#### 文件\n\n" + }, + { + "id": "api.command_shortcuts.files.upload", + "translation": "{{.CmdOrCtrl}}+U:上传文件\n\n" + }, + { + "id": "api.command_shortcuts.header", + "translation": "### 键盘快捷键\n\n" + }, + { + "id": "api.command_shortcuts.msgs.comp_channel", + "translation": "~[字符]+TAB:自动完成以[字符]开头的频道\n" + }, + { + "id": "api.command_shortcuts.msgs.comp_emoji", + "translation": ":[字符]+TAB:自动完成以[字符]开头的表情符\n\n" + }, + { + "id": "api.command_shortcuts.msgs.comp_username", + "translation": "@[字符]+TAB:自动完成以[字符]开头的 @用户名\n" + }, + { + "id": "api.command_shortcuts.msgs.edit", + "translation": "向上键 (在空白输入栏):修改您在本频道的上一条消息\n" + }, + { + "id": "api.command_shortcuts.msgs.header", + "translation": "#### 消息\n\n" + }, + { + "id": "api.command_shortcuts.msgs.mark_as_read", + "translation": "ESC:将当前频道所有消息标为已读\n" + }, + { + "id": "api.command_shortcuts.msgs.reprint_next", + "translation": "{{.CmdOrCtrl}}+向下键 (在空白输入栏):重显示您输入的下一条消息或斜杠命令\n" + }, + { + "id": "api.command_shortcuts.msgs.reprint_prev", + "translation": "{{.CmdOrCtrl}}+向上键 (在空白输入栏):重显示您输入的上一条消息或斜杠命令\n" + }, + { + "id": "api.command_shortcuts.name", + "translation": "快捷键" + }, + { + "id": "api.command_shortcuts.nav.header", + "translation": "#### 导航\n\n" + }, + { + "id": "api.command_shortcuts.nav.next", + "translation": "ALT+向下键:左侧栏中的下一个频道或私信\n" + }, + { + "id": "api.command_shortcuts.nav.prev", + "translation": "ALT+向上键:左侧栏中的上一个频道或私信\n" + }, + { + "id": "api.command_shortcuts.nav.recent_mentions", + "translation": "{{.CmdOrCtrl}}+SHIFT+M:打开最近提及\n\n" + }, + { + "id": "api.command_shortcuts.nav.settings", + "translation": "{{.CmdOrCtrl}}+SHIFT+A:打开帐号设置\n" + }, + { + "id": "api.command_shortcuts.nav.switcher", + "translation": "{{.CmdOrCtrl}}+K:打开频道快速切换对话框\n" + }, + { + "id": "api.command_shortcuts.nav.unread_next", + "translation": "ALT+SHIFT+向下键:左侧栏中的下一个有未读消息的频道或私信\n" + }, + { + "id": "api.command_shortcuts.nav.unread_prev", + "translation": "ALT+SHIFT+向上键:左侧栏中的上一个有未读消息的频道或私信\n" + }, + { + "id": "api.command_shrug.desc", + "translation": "添加 ¯\\_(ツ)_/¯ 到你的消息" + }, + { + "id": "api.command_shrug.hint", + "translation": "[信息]" + }, + { + "id": "api.command_shrug.name", + "translation": "shrug" + }, + { + "id": "api.context.404.app_error", + "translation": "对不起,我们找不到该页面。" + }, + { + "id": "api.context.invalid_body_param.app_error", + "translation": "请求消息体有无效或缺少 {{.Name}}" + }, + { + "id": "api.context.invalid_param.app_error", + "translation": "无效 {{.Name}} 参数" + }, + { + "id": "api.context.invalid_session.error", + "translation": "无效会话 err=%v" + }, + { + "id": "api.context.invalid_team_url.debug", + "translation": "团队URL访问无效。团队URL不能在API函数或者和不相干的团队中使用" + }, + { + "id": "api.context.invalid_token.error", + "translation": "无效会话令牌 token={{.Token}}, err={{.Error}}" + }, + { + "id": "api.context.invalid_url_param.app_error", + "translation": "请求网址有无效或缺少 {{.Name}}" + }, + { + "id": "api.context.invalidate_all_caches", + "translation": "清除所有缓存" + }, + { + "id": "api.context.last_activity_at.error", + "translation": "不能更新LastActivityAt user_id=%v and session_id=%v, err=%v" + }, + { + "id": "api.context.log.error", + "translation": "%v:%v code=%v rid=%v uid=%v ip=%v %v [详情: %v]" + }, + { + "id": "api.context.mfa_required.app_error", + "translation": "此服务器要求多重验证。" + }, + { + "id": "api.context.missing_teamid.app_error", + "translation": "缺少团队 Id" + }, + { + "id": "api.context.permissions.app_error", + "translation": "您没有对应的权限" + }, + { + "id": "api.context.session_expired.app_error", + "translation": "无效或过期的会话,请重新登录。" + }, + { + "id": "api.context.system_permissions.app_error", + "translation": "您没有对应的权限 (系统)" + }, + { + "id": "api.context.token_provided.app_error", + "translation": "会话不是OAuth但是查询字符串中提供的令牌" + }, + { + "id": "api.context.unknown.app_error", + "translation": "发生未知错误。请联系我们。" + }, + { + "id": "api.email_batching.add_notification_email_to_batch.channel_full.app_error", + "translation": "批量电子邮件任务接收频道已满。请提高EmailBatchingBufferSize。" + }, + { + "id": "api.email_batching.add_notification_email_to_batch.disabled.app_error", + "translation": "系统管理员禁用了批量电子邮件" + }, + { + "id": "api.email_batching.check_pending_emails.finished_running", + "translation": "批量电子邮件已运行。%v 位用户仍有通知未定。" + }, + { + "id": "api.email_batching.check_pending_emails.status.app_error", + "translation": "无法找到批量电子邮件通知收件人状态" + }, + { + "id": "api.email_batching.render_batched_post.channel.app_error", + "translation": "无法找到批量电子邮件通知信息的频道" + }, + { + "id": "api.email_batching.render_batched_post.date", + "translation": "{{.Hour}}:{{.Minute}} {{.Timezone}}, {{.Month}} {{.Day}}" + }, + { + "id": "api.email_batching.render_batched_post.direct_message", + "translation": "私信" + }, + { + "id": "api.email_batching.render_batched_post.go_to_post", + "translation": "转至发文" + }, + { + "id": "api.email_batching.render_batched_post.group_message", + "translation": "团体消息" + }, + { + "id": "api.email_batching.render_batched_post.sender.app_error", + "translation": "无法找到批量电子邮件通知发送人" + }, + { + "id": "api.email_batching.send_batched_email_notification.body_text", + "translation": { + "one": "你有一条新消息。您有{{.Count}}条新消息。", + "other": "" + } + }, + { + "id": "api.email_batching.send_batched_email_notification.preferences.app_error", + "translation": "无法找到批量电子邮件通知收件人显示偏好" + }, + { + "id": "api.email_batching.send_batched_email_notification.send.app_error", + "translation": "发送批量电子邮件通知到 %v 失败: %v" + }, + { + "id": "api.email_batching.send_batched_email_notification.subject", + "translation": { + "one": "[{{.SiteName}}] {{.Month}} {{.Day}}, {{.Year}} 的新通知[{{.SiteName}}] {{.Month}} {{.Day}}, {{.Year}} 的新通知", + "other": "" + } + }, + { + "id": "api.email_batching.send_batched_email_notification.user.app_error", + "translation": "无法找到批量电子邮件通知收件人" + }, + { + "id": "api.email_batching.start.starting", + "translation": "批量电子邮件任务已开始。每 %v 秒检查待发电子邮件中。" + }, + { + "id": "api.emoji.create.duplicate.app_error", + "translation": "无法创建表情符号。另一个具有相同名称的表情符号已存在。" + }, + { + "id": "api.emoji.create.parse.app_error", + "translation": "无法创建表情符。无法理解请求。" + }, + { + "id": "api.emoji.create.permissions.app_error", + "translation": "无效创建表情符权限。" + }, + { + "id": "api.emoji.create.too_large.app_error", + "translation": "无法创建表情符。图片必须小于 1MB。" + }, + { + "id": "api.emoji.delete.delete_reactions.app_error", + "translation": "无法删除表情符 %v 时删除反应" + }, + { + "id": "api.emoji.delete.permissions.app_error", + "translation": "无效删除表情符权限。" + }, + { + "id": "api.emoji.disabled.app_error", + "translation": "自定义表情符号已被系统管理员禁用。" + }, + { + "id": "api.emoji.get_image.decode.app_error", + "translation": "无法解码表情符号图像文件。" + }, + { + "id": "api.emoji.get_image.read.app_error", + "translation": "无法读取表情图像文件。" + }, + { + "id": "api.emoji.init.debug", + "translation": "正在初始化表情符 API 路由" + }, + { + "id": "api.emoji.storage.app_error", + "translation": "文件存储没有正确配置。请配置S3或本地文件存储服务。" + }, + { + "id": "api.emoji.upload.image.app_error", + "translation": "无法创建表情符号。文件类型必须是PNG,JPEG,或GIF。" + }, + { + "id": "api.emoji.upload.large_image.decode_error", + "translation": "无法创建表情符。解码图片时遇到错误。" + }, + { + "id": "api.emoji.upload.large_image.encode_error", + "translation": "无法创建表情符。编码图片时遇到错误。" + }, + { + "id": "api.emoji.upload.large_image.gif_decode_error", + "translation": "无法创建表情符。解码 GIF 图片时遇到错误。" + }, + { + "id": "api.emoji.upload.large_image.gif_encode_error", + "translation": "无法创建表情符。编码 GIF 图片时遇到错误。" + }, + { + "id": "api.file.get_file.public_disabled.app_error", + "translation": "系统管理员禁用了公开的链接" + }, + { + "id": "api.file.get_file.public_invalid.app_error", + "translation": "公共链接不显示是有效的" + }, + { + "id": "api.file.get_file_preview.no_thumbnail.app_error", + "translation": "文件没有预览图" + }, + { + "id": "api.file.get_file_thumbnail.no_thumbnail.app_error", + "translation": "文件没用缩略图" + }, + { + "id": "api.file.get_info_for_request.no_post.app_error", + "translation": "无法获取文件公开链接。文件必须附在当前用户可读的信息上。" + }, + { + "id": "api.file.get_info_for_request.storage.app_error", + "translation": "无法获得文件信息。图片存储没有配置。" + }, + { + "id": "api.file.get_public_file_old.storage.app_error", + "translation": "无法上传文件。图片存储没有配置。" + }, + { + "id": "api.file.get_public_file_old.storage.app_error", + "translation": "无法上传文件。图片存储没有配置。" + }, + { + "id": "api.file.get_public_link.disabled.app_error", + "translation": "公共链接已经被禁用" + }, + { + "id": "api.file.get_public_link.no_post.app_error", + "translation": "无法获取文件公开链接。文件必须附在当前用户可读的信息上。" + }, + { + "id": "api.file.handle_images_forget.decode.error", + "translation": "无法解码图片 err=%v" + }, + { + "id": "api.file.handle_images_forget.encode_jpeg.error", + "translation": "无法编码图片成 jpeg path=%v err=%v" + }, + { + "id": "api.file.handle_images_forget.encode_preview.error", + "translation": "无法编码图片成预览 jpeg path=%v err=%v" + }, + { + "id": "api.file.handle_images_forget.upload_preview.error", + "translation": "无法上传预览 path=%v err=%v" + }, + { + "id": "api.file.handle_images_forget.upload_thumb.error", + "translation": "无法上传缩略图 path=%v err=%v" + }, + { + "id": "api.file.init.debug", + "translation": "正在初始化文件 API 路由" + }, + { + "id": "api.file.migrate_filenames_to_file_infos.channel.app_error", + "translation": "无法转换信息到 FileInfos 时获取频道, post_id=%v, channel_id=%v, err=%v" + }, + { + "id": "api.file.migrate_filenames_to_file_infos.file_not_found.warn", + "translation": "转换信息到 FileInfos 时未找到文件, post_id=%v, filename=%v, path=%v, err=%v" + }, + { + "id": "api.file.migrate_filenames_to_file_infos.get_file_infos_again.warn", + "translation": "转移数据后未能获取消息 FileInfos, post_id=%v, err=%v" + }, + { + "id": "api.file.migrate_filenames_to_file_infos.get_post_again.warn", + "translation": "无法在转换信息到 FileInfos 时找到信息, post_id=%v, err=%v" + }, + { + "id": "api.file.migrate_filenames_to_file_infos.info.app_error", + "translation": "无法转换信息到 FileInfos 时解码文件信息, post_id=%v, filename=%v, err=%v" + }, + { + "id": "api.file.migrate_filenames_to_file_infos.migrating_post.debug", + "translation": "转换信息到使用 FileInfos, post_id=%v, err=%v" + }, + { + "id": "api.file.migrate_filenames_to_file_infos.mismatched_filename.warn", + "translation": "将信息转换到 FileInfos 时遇到不寻常文件名, post_id=%v, channel_id=%v, user_id=%v, filename=%v" + }, + { + "id": "api.file.migrate_filenames_to_file_infos.no_filenames.warn", + "translation": "无法转换拥有空 Filenames 栏的信息到 FileInfos, post_id=%v" + }, + { + "id": "api.file.migrate_filenames_to_file_infos.not_migrating_post.debug", + "translation": "信息已经转换到使用 FileInfos, post_id=%v, err=%v" + }, + { + "id": "api.file.migrate_filenames_to_file_infos.save_file_info.warn", + "translation": "转换信息到 FileInfos 时无法保存信息, post_id=%v, filename=%v, path=%v, err=%v" + }, + { + "id": "api.file.migrate_filenames_to_file_infos.save_post.warn", + "translation": "无法转换信息到 FileInfos 时保存文件信息, post_id=%v, file_id=%v, filename=%v, err=%v" + }, + { + "id": "api.file.migrate_filenames_to_file_infos.team_id.app_error", + "translation": "无法为 FileInfos 找到团队, post_id=%v, filenames=%v" + }, + { + "id": "api.file.migrate_filenames_to_file_infos.teams.app_error", + "translation": "无法在转换信息到 FileInfos 时找到团队, post_id=%v, err=%v" + }, + { + "id": "api.file.migrate_filenames_to_file_infos.unexpected_filename.error", + "translation": "无法在转换信息到 FileInfos 时解码文件名, post_id=%v, filename=%v" + }, + { + "id": "api.file.move_file.configured.app_error", + "translation": "文件存储没有正确配置。请配置S3或本地文件存储服务。" + }, + { + "id": "api.file.move_file.delete_from_s3.app_error", + "translation": "不能从S3上删除文件。" + }, + { + "id": "api.file.move_file.get_from_s3.app_error", + "translation": "不能从S3上获取文件。" + }, + { + "id": "api.file.move_file.rename.app_error", + "translation": "无法移动本地文件。" + }, + { + "id": "api.file.open_file_write_stream.configured.app_error", + "translation": "没有配置文件存储。请配置S3或本地服务器的文件存储。" + }, + { + "id": "api.file.open_file_write_stream.creating_dir.app_error", + "translation": "创建新文件的目录时遇到错误" + }, + { + "id": "api.file.open_file_write_stream.local_server.app_error", + "translation": "写入本地存储时遇到错误" + }, + { + "id": "api.file.open_file_write_stream.s3.app_error", + "translation": "不支持 S3。" + }, + { + "id": "api.file.read_file.configured.app_error", + "translation": "没有配置文件存储。请配置S3或本地服务器的文件存储。" + }, + { + "id": "api.file.read_file.get.app_error", + "translation": "不能从S3上获取文件" + }, + { + "id": "api.file.read_file.reading_local.app_error", + "translation": "读取本地存储时遇到错误" + }, + { + "id": "api.file.upload_file.bad_parse.app_error", + "translation": "无法上传文件。标题无法被解析。" + }, + { + "id": "api.file.upload_file.large_image.app_error", + "translation": "无法上传超过最大尺寸的文件:{{.Filename}}" + }, + { + "id": "api.file.upload_file.storage.app_error", + "translation": "不能上传文件。图片存储没有配置。" + }, + { + "id": "api.file.upload_file.too_large.app_error", + "translation": "不能上传文件。文件太大。" + }, + { + "id": "api.file.write_file.configured.app_error", + "translation": "没有配置文件存储。请配置S3或本地服务器的文件存储。" + }, + { + "id": "api.file.write_file.s3.app_error", + "translation": "写入到S3时遇到错误" + }, + { + "id": "api.file.write_file_locally.create_dir.app_error", + "translation": "创建新文件的目录时遇到错误" + }, + { + "id": "api.file.write_file_locally.writing.app_error", + "translation": "写入本地存储时遇到错误" + }, + { + "id": "api.general.init.debug", + "translation": "正在初始化常规 API 路由" + }, + { + "id": "api.import.import_post.attach_files.error", + "translation": "给消息添加附件时失败。postId=%v, fileIds=%v, message=%v" + }, + { + "id": "api.import.import_post.saving.debug", + "translation": "保存信息时出错。user=%v,message=%v" + }, + { + "id": "api.import.import_user.join_team.error", + "translation": "导入时加入团队错误 err=%v" + }, + { + "id": "api.import.import_user.joining_default.error", + "translation": "加入默认频道时遇到一个问题 user_id=%s, team_id=%s, err=%v" + }, + { + "id": "api.import.import_user.saving.error", + "translation": "保存用户出错. err=%v" + }, + { + "id": "api.import.import_user.set_email.error", + "translation": "设置电子邮件验证失败 err=%v" + }, + { + "id": "api.incoming_webhook.disabled.app_errror", + "translation": "传入的 webhooks 已被系统管理员禁用。" + }, + { + "id": "api.license.add_license.array.app_error", + "translation": "请求中‘许可证’空数组" + }, + { + "id": "api.license.add_license.expired.app_error", + "translation": "许可证已经过期或者尚未启用。" + }, + { + "id": "api.license.add_license.invalid.app_error", + "translation": "无效的授权文件。" + }, + { + "id": "api.license.add_license.invalid_count.app_error", + "translation": "不能计算不重复用户总数。" + }, + { + "id": "api.license.add_license.no_file.app_error", + "translation": "请求中没有'许可证'文件" + }, + { + "id": "api.license.add_license.open.app_error", + "translation": "不能打开许可证文件" + }, + { + "id": "api.license.add_license.save.app_error", + "translation": "许可证没有正确保存。" + }, + { + "id": "api.license.add_license.save_active.app_error", + "translation": "有效许可证ID没有正确保存。" + }, + { + "id": "api.license.add_license.unique_users.app_error", + "translation": "该许可证只支持 {{.Users}} 用户,当你的系统有 {{.Count}} 唯一用户。唯一用户通过邮件地址计算。你可以从站点报告 -> 查看统计查看总数量。" + }, + { + "id": "api.license.init.debug", + "translation": "正在初始化许可证 API 路由" + }, + { + "id": "api.license.remove_license.remove.app_error", + "translation": "许可证未正确删除。" + }, + { + "id": "api.oauth.allow_oauth.bad_client.app_error", + "translation": "invalid_request:错误的 client_id" + }, + { + "id": "api.oauth.allow_oauth.bad_redirect.app_error", + "translation": "invalid_request:丢失或者错误的 redirect_uri" + }, + { + "id": "api.oauth.allow_oauth.bad_response.app_error", + "translation": "invalid_request:错误的 response_type" + }, + { + "id": "api.oauth.allow_oauth.database.app_error", + "translation": "server_error:访问数据库时出错" + }, + { + "id": "api.oauth.allow_oauth.redirect_callback.app_error", + "translation": "invalid_request:提供的 redirect_uri 不匹配注册的 callback_url" + }, + { + "id": "api.oauth.allow_oauth.turn_off.app_error", + "translation": "系统管理员已经关闭了 OAuth2 验证服务商。" + }, + { + "id": "api.oauth.authorize_oauth.disabled.app_error", + "translation": "系统管理员已经关闭了 OAuth2 验证服务商。" + }, + { + "id": "api.oauth.authorize_oauth.missing.app_error", + "translation": "response_type, client_id, 或 redirect_uri 至少却一项" + }, + { + "id": "api.oauth.complete_oauth.missing_code.app_error", + "translation": "服务提供商 {{.service}} 没有在重指向网址中提供授权码。\n\n如使用 [Google Apps](https://docs.mattermost.com/deployment/sso-google.html),请确定您的管理员在 Google+ API 已启用。\n\n如使用 [Office 365](https://docs.mattermost.com/deployment/sso-office.html),请确定您微软组织管理员已启用 Mattermost 应用。\n\n如使用 [GitLab](https://docs.mattermost.com/deployment/sso-gitlab.html),请确定您根据设置说明完成设定。\n\n如果您已确认上面说明但仍由配置问题,您可以发帖到[故障排除论坛](https://forum.mattermost.org/c/general/trouble-shoot) ,我们会很乐意帮你排除设置问题。" + }, + { + "id": "api.oauth.delete.permissions.app_error", + "translation": "无效删除 OAuth2 应用权限" + }, + { + "id": "api.oauth.get_access_token.bad_client_id.app_error", + "translation": "invalid_request:错误的 client_id" + }, + { + "id": "api.oauth.get_access_token.bad_client_secret.app_error", + "translation": "invalid_request:缺少 client_secret" + }, + { + "id": "api.oauth.get_access_token.bad_grant.app_error", + "translation": "invalid_request:错误的 grant_type" + }, + { + "id": "api.oauth.get_access_token.credentials.app_error", + "translation": "invalid_client:无效的用户凭证" + }, + { + "id": "api.oauth.get_access_token.disabled.app_error", + "translation": "系统管理员已经关闭了 OAuth2 验证服务商。" + }, + { + "id": "api.oauth.get_access_token.expired_code.app_error", + "translation": "invalid_grant:无效或过期授权码" + }, + { + "id": "api.oauth.get_access_token.internal.app_error", + "translation": "server_error:访问数据库时遇到了内部服务器错误" + }, + { + "id": "api.oauth.get_access_token.internal_saving.app_error", + "translation": "server_error:在保存访问令牌到数据库时遇到了内部服务器错误" + }, + { + "id": "api.oauth.get_access_token.internal_session.app_error", + "translation": "server_error:在保存会话到数据库时遇到了内部服务器错误" + }, + { + "id": "api.oauth.get_access_token.internal_user.app_error", + "translation": "server_error:从数据库中读取用户时遇到了内部服务器错误" + }, + { + "id": "api.oauth.get_access_token.missing_code.app_error", + "translation": "invalid_request:缺少编号" + }, + { + "id": "api.oauth.get_access_token.missing_refresh_token.app_error", + "translation": "invalid_request:缺少 refresh_token" + }, + { + "id": "api.oauth.get_access_token.redirect_uri.app_error", + "translation": "invalid_request:提供的 redirect_uri 不匹配授权码 redirect_uri" + }, + { + "id": "api.oauth.get_access_token.refresh_token.app_error", + "translation": "invalid_grant:无效的续期令牌" + }, + { + "id": "api.oauth.get_auth_data.find.error", + "translation": "不能找到认证码 code=%s" + }, + { + "id": "api.oauth.init.debug", + "translation": "正在初始化 OAuth API 路由" + }, + { + "id": "api.oauth.regenerate_secret.app_error", + "translation": "无效重新生成 OAuth2 应用秘钥权限" + }, + { + "id": "api.oauth.register_oauth_app.turn_off.app_error", + "translation": "系统管理员已经关闭的 OAuth2 服务商。" + }, + { + "id": "api.oauth.revoke_access_token.del_session.app_error", + "translation": "从数据库删除会话出错Error deleting session from DB" + }, + { + "id": "api.oauth.revoke_access_token.del_token.app_error", + "translation": "从数据库删除访问令牌遇到错误" + }, + { + "id": "api.oauth.revoke_access_token.get.app_error", + "translation": "删除前从数据库获取访问令牌遇到错误" + }, + { + "id": "api.oauth.singup_with_oauth.disabled.app_error", + "translation": "用户注册已停用。" + }, + { + "id": "api.oauth.singup_with_oauth.expired_link.app_error", + "translation": "注册链接已过期" + }, + { + "id": "api.oauth.singup_with_oauth.invalid_link.app_error", + "translation": "注册链接无效" + }, + { + "id": "api.post.check_for_out_of_channel_mentions.message.multiple", + "translation": "{{.Usernames}}和{{.LastUsername}}被提到了,但是他们不会收到通知,因为他们不在这个频道。" + }, + { + "id": "api.post.check_for_out_of_channel_mentions.message.one", + "translation": "{{.Username}}被提到了,但是他因不在此频道而不会收到通知。" + }, + { + "id": "api.post.create_post.attach_files.error", + "translation": "附加文件到信息时遇到错误, post_id=%s, user_id=%s, file_ids=%v, err=%v" + }, + { + "id": "api.post.create_post.bad_filename.error", + "translation": "坏文件名已去除,filename=%v" + }, + { + "id": "api.post.create_post.can_not_post_to_deleted.error", + "translation": "无法发信息到已删除的频道。" + }, + { + "id": "api.post.create_post.channel_root_id.app_error", + "translation": "RootId参数无效ChannelId" + }, + { + "id": "api.post.create_post.last_viewed.error", + "translation": "更新最近浏览记录遇到错误,channel_id=%s, user_id=%s, err=%v" + }, + { + "id": "api.post.create_post.parent_id.app_error", + "translation": "无效的ParentId参数" + }, + { + "id": "api.post.create_post.root_id.app_error", + "translation": "无效的RootId参数" + }, + { + "id": "api.post.create_webhook_post.creating.app_error", + "translation": "创建信息时出错" + }, + { + "id": "api.post.delete_flagged_post.app_error.warn", + "translation": "无法在删除信息时删除标记偏好,err=%v" + }, + { + "id": "api.post.delete_post.permissions.app_error", + "translation": "您没有对应的权限" + }, + { + "id": "api.post.delete_post_files.app_error.warn", + "translation": "删除信息的文件时遇到错误, post_id=%v, err=%v" + }, + { + "id": "api.post.disabled_all", + "translation": "@all has been disabled because the channel has more than {{.Users}} users." + }, + { + "id": "api.post.disabled_channel", + "translation": "@channel has been disabled because the channel has more than {{.Users}} users." + }, + { + "id": "api.post.disabled_here", + "translation": "@here 已禁用因为频道超过 {{.Users}} 位用户。" + }, + { + "id": "api.post.get_message_for_notification.files_sent", + "translation": { + "one": "{{.Count}} 文件已发送:{{.Filenames}}{{.Count}} 文件已发送:{{.Filenames}}", + "other": "" + } + }, + { + "id": "api.post.get_message_for_notification.get_files.error", + "translation": "为通知信息获取文件时遇到错误, post_id=%v, err=%v" + }, + { + "id": "api.post.get_message_for_notification.images_sent", + "translation": { + "one": "{{.Count}} 图片已发送:{{.Filenames}}{{.Count}} 图片已发送:{{.Filenames}}", + "other": "" + } + }, + { + "id": "api.post.get_out_of_channel_mentions.regex.error", + "translation": "编译 @提到 正则表达式出错 user_id=%v, err=%v" + }, + { + "id": "api.post.get_post.permissions.app_error", + "translation": "您没有对应的权限" + }, + { + "id": "api.post.handle_post_events_and_forget.members.error", + "translation": "未获取到频道成员 channel_id=%v err=%v" + }, + { + "id": "api.post.handle_webhook_events_and_forget.create_post.error", + "translation": "创建响应请求失败, err=%v" + }, + { + "id": "api.post.handle_webhook_events_and_forget.event_post.error", + "translation": "事件发布失败, err=%s" + }, + { + "id": "api.post.init.debug", + "translation": "正在初始化发文 API 路由" + }, + { + "id": "api.post.make_direct_channel_visible.get_2_members.error", + "translation": "获取私聊频道的2个用户失败 channel_id={{.ChannelId}}" + }, + { + "id": "api.post.make_direct_channel_visible.get_members.error", + "translation": "获取频道成员失败 channel_id=%v err=%v" + }, + { + "id": "api.post.make_direct_channel_visible.save_pref.error", + "translation": "保存私信频道设置失败 user_id=%v other_user_id=%v err=%v" + }, + { + "id": "api.post.make_direct_channel_visible.update_pref.error", + "translation": "更新私信频道设置失败 user_id=%v other_user_id=%v err=%v" + }, + { + "id": "api.post.notification.member_profile.warn", + "translation": "无法获取频道成员个人资料,user_id=%v" + }, + { + "id": "api.post.send_notifications.user_id.debug", + "translation": "消息创建者不在频道中,未发送推送 post_id=%v channel_id=%v user_id=%v" + }, + { + "id": "api.post.send_notifications_and_forget.clear_push_notification.debug", + "translation": "清除 %v 拥有 channel_id %v 的通知中" + }, + { + "id": "api.post.send_notifications_and_forget.files.error", + "translation": "无法为信息通知获取文件 post_id=%v, err=%v" + }, + { + "id": "api.post.send_notifications_and_forget.get_teams.error", + "translation": "发送跨团队私信时获取团队失败 user_id=%v,err=%v" + }, + { + "id": "api.post.send_notifications_and_forget.mention_body", + "translation": "您有一个新的提及。" + }, + { + "id": "api.post.send_notifications_and_forget.mention_subject", + "translation": "新的提及" + }, + { + "id": "api.post.send_notifications_and_forget.message_body", + "translation": "你有一个新消息。" + }, + { + "id": "api.post.send_notifications_and_forget.message_subject", + "translation": "新私信" + }, + { + "id": "api.post.send_notifications_and_forget.push_in", + "translation": " 在 " + }, + { + "id": "api.post.send_notifications_and_forget.push_mention", + "translation": " 提到你在 " + }, + { + "id": "api.post.send_notifications_and_forget.push_message", + "translation": " 发送给你一个私信" + }, + { + "id": "api.post.send_notifications_and_forget.push_non_mention", + "translation": "发布在" + }, + { + "id": "api.post.send_notifications_and_forget.push_notification.debug", + "translation": "发送拥有信息 '%v' 的推送通知到 %v" + }, + { + "id": "api.post.send_notifications_and_forget.push_notification.error", + "translation": "发送推送失败 device_id={{.DeviceId}}, err={{.Error}}" + }, + { + "id": "api.post.send_notifications_and_forget.sent", + "translation": "{{.Prefix}} {{.Filenames}} 发送" + }, + { + "id": "api.post.update_mention_count_and_forget.update_error", + "translation": "更新提及数失败 user_id=%v channel_id=%v err=%v" + }, + { + "id": "api.post.update_post.find.app_error", + "translation": "我们找不到现有的信息或评论去更新。" + }, + { + "id": "api.post.update_post.permissions.app_error", + "translation": "您没有对应的权限" + }, + { + "id": "api.post.update_post.permissions_denied.app_error", + "translation": "消息修改已禁用。详细请询问您的系统管理员。" + }, + { + "id": "api.post.update_post.permissions_details.app_error", + "translation": "已经删除 id={{.PostId}}" + }, + { + "id": "api.post.update_post.permissions_time_limit.app_error", + "translation": "消息只允许在 {{.limeLimit}} 秒内编辑。详情请咨询您的系统管理员。" + }, + { + "id": "api.post.update_post.system_message.app_error", + "translation": "无法更新系统消息" + }, + { + "id": "api.post_get_post_by_id.get.app_error", + "translation": "不能获取一个请求" + }, + { + "id": "api.preference.delete_preferences.decode.app_error", + "translation": "无法解码偏好请求" + }, + { + "id": "api.preference.delete_preferences.user_id.app_error", + "translation": "不能删除其他用户偏好" + }, + { + "id": "api.preference.init.debug", + "translation": "正在初始化偏好 API 路由" + }, + { + "id": "api.preference.save_preferences.decode.app_error", + "translation": "不能从请求中解码优先级" + }, + { + "id": "api.preference.save_preferences.set.app_error", + "translation": "不能对其他用户设置优先级" + }, + { + "id": "api.preference.save_preferences.set_details.app_error", + "translation": "session.user_id={{.SessionUserId}}, preference.user_id={{.PreferenceUserId}}" + }, + { + "id": "api.reaction.delete_reaction.mismatched_channel_id.app_error", + "translation": "因网址中频道 ID 与消息 ID不符而删除反应失败" + }, + { + "id": "api.reaction.init.debug", + "translation": "正在初始化反应 API 路由" + }, + { + "id": "api.reaction.list_reactions.mismatched_channel_id.app_error", + "translation": "因网址中频道 ID 与消息 ID不符而获取反应失败" + }, + { + "id": "api.reaction.save_reaction.mismatched_channel_id.app_error", + "translation": "因网址中频道 ID 与消息 ID不符而保存反应失败" + }, + { + "id": "api.reaction.send_reaction_event.post.app_error", + "translation": "发送 websocket 反应事件时获取消息失败" + }, + { + "id": "api.saml.save_certificate.app_error", + "translation": "证书没有正确保存。" + }, + { + "id": "api.server.new_server.init.info", + "translation": "服务正在初始化..." + }, + { + "id": "api.server.start_server.listening.info", + "translation": "服务正在监听 %v" + }, + { + "id": "api.server.start_server.rate.info", + "translation": "RateLimiter 已启用" + }, + { + "id": "api.server.start_server.rate.warn", + "translation": "RateLimitSettings配置没有正确使用VaryByHeader并禁用VaryByRemoteAddr" + }, + { + "id": "api.server.start_server.rate_limiting_memory_store", + "translation": "无法初始化频率限制内存储存。检查 MemoryStoreSize 设置。" + }, + { + "id": "api.server.start_server.rate_limiting_rate_limiter", + "translation": "无法初始化频率限制。" + }, + { + "id": "api.server.start_server.starting.critical", + "translation": "启动服务出错, err:%v" + }, + { + "id": "api.server.start_server.starting.info", + "translation": "启动服务..." + }, + { + "id": "api.server.start_server.starting.panic", + "translation": "启动服务出错 " + }, + { + "id": "api.server.stop_server.stopped.info", + "translation": "服务器已停止" + }, + { + "id": "api.server.stop_server.stopping.info", + "translation": "正在停止服务..." + }, + { + "id": "api.slackimport.slack_add_bot_user.email_pwd", + "translation": "Slack 机器人/整合消息导入用户:邮箱地址,密码: {{.Email}}, {{.Password}}\r\n" + }, + { + "id": "api.slackimport.slack_add_bot_user.unable_import", + "translation": "无法导入 Slack 机器人/整合消息导入用户:{{.Username}}\r\n" + }, + { + "id": "api.slackimport.slack_add_channels.added", + "translation": "\r\n 频道已添加 \r\n" + }, + { + "id": "api.slackimport.slack_add_channels.failed_to_add_user", + "translation": "加入频道错误:{{.Username}}\r\n" + }, + { + "id": "api.slackimport.slack_add_channels.import_failed", + "translation": "导入失败: {{.DisplayName}}\r\n" + }, + { + "id": "api.slackimport.slack_add_channels.import_failed.warn", + "translation": "Slack 导入:导入频道失败:%s" + }, + { + "id": "api.slackimport.slack_add_channels.merge", + "translation": "合并现有频道: {{.DisplayName}}\r\n" + }, + { + "id": "api.slackimport.slack_add_posts.attach_files.error", + "translation": "附加文件到信息时遇到错误, post_id=%s, file_ids=%v, err=%v" + }, + { + "id": "api.slackimport.slack_add_posts.bot.warn", + "translation": "Slack 机器人的信息未被导入" + }, + { + "id": "api.slackimport.slack_add_posts.bot_user_no_exists.warn", + "translation": "Slack 导入:未导入机器人消息因为机器人导入用户不存在。" + }, + { + "id": "api.slackimport.slack_add_posts.msg_no_comment.debug", + "translation": "文件评论未定义" + }, + { + "id": "api.slackimport.slack_add_posts.msg_no_usr.debug", + "translation": "未知用户消息" + }, + { + "id": "api.slackimport.slack_add_posts.no_bot_id.warn", + "translation": "Slack 导入:未导入机器人消息因为缺少 BotId 字段。" + }, + { + "id": "api.slackimport.slack_add_posts.unsupported.warn", + "translation": "不支持的邮件类型: %v, %v" + }, + { + "id": "api.slackimport.slack_add_posts.upload_file_not_found.warn", + "translation": "没有在 Slack 导出中找到文件上传信息的文件 ID {{.FileId}}" + }, + { + "id": "api.slackimport.slack_add_posts.upload_file_not_in_json.warn", + "translation": "无法导入没有 \"file\" 段的上传信息导出。" + }, + { + "id": "api.slackimport.slack_add_posts.upload_file_open_failed.warn", + "translation": "无法打开导出归档中的上传文件 ID {{.FileId}},错误:{{.Error}}" + }, + { + "id": "api.slackimport.slack_add_posts.upload_file_upload_failed.warn", + "translation": "上传信息文件 ID {{.FileId}} 失败,错误:{{.Error}}" + }, + { + "id": "api.slackimport.slack_add_posts.user_no_exists.debug", + "translation": "用户:%v 不存在!" + }, + { + "id": "api.slackimport.slack_add_posts.without_user.debug", + "translation": "未知用户消息" + }, + { + "id": "api.slackimport.slack_add_users.created", + "translation": "\r\n 用户创建 \r\n" + }, + { + "id": "api.slackimport.slack_add_users.email_pwd", + "translation": "Email, 密码: {{.Email}}, {{.Password}}\r\n" + }, + { + "id": "api.slackimport.slack_add_users.merge_existing", + "translation": "合并用户到现有帐号:{{.Email}}, {{.Username}}\r\n" + }, + { + "id": "api.slackimport.slack_add_users.merge_existing_failed", + "translation": "尝试将用户合并到已存在的帐号:{{.Email}},{{.Username}},但是无法添加该用户到本团队。\r\n" + }, + { + "id": "api.slackimport.slack_add_users.missing_email_address", + "translation": "用户 {{.Username}} 在 Slack 导入里没有电子邮箱地址。暂使用 {{.Email}} 代替。用户需要在登入系统后更新他们的邮箱地址。\r\n" + }, + { + "id": "api.slackimport.slack_add_users.missing_email_address.warn", + "translation": "用户 {{.Username}} 在 Slack 导入里没有电子邮箱地址。暂使用 {{.Email}} 代替。用户需要在登入系统后更新他们的邮箱地址。" + }, + { + "id": "api.slackimport.slack_add_users.unable_import", + "translation": "不能导入用户: {{.Username}}\r\n" + }, + { + "id": "api.slackimport.slack_convert_channel_mentions.compile_regexp_failed.warn", + "translation": "给 Slack 频道 {{.ChannelID}} {{.ChannelName}} 编译 !频道 正规表达式时失败" + }, + { + "id": "api.slackimport.slack_convert_timestamp.bad.warn", + "translation": "检测到错误的时间" + }, + { + "id": "api.slackimport.slack_convert_user_mentions.compile_regexp_failed.warn", + "translation": "给 Slack 用户 {{.UserID}} {{.Username}} 编译 @提及 正规表达式时失败" + }, + { + "id": "api.slackimport.slack_deactivate_bot_user.failed_to_deactivate", + "translation": "Slack 导入:停用机器人导入用户失败。" + }, + { + "id": "api.slackimport.slack_import.log", + "translation": "Mattermost Slack 导入日志 \r\n" + }, + { + "id": "api.slackimport.slack_import.note1", + "translation": "- 有些信息可能未被导入因为导入程序不支持他们。\r\n" + }, + { + "id": "api.slackimport.slack_import.note2", + "translation": "- Slack 机器人信息现在不支持。\r\n" + }, + { + "id": "api.slackimport.slack_import.note3", + "translation": "- 更多错误可以到服务器日志查看。\r\n" + }, + { + "id": "api.slackimport.slack_import.notes", + "translation": "\r\n 注释 \r\n" + }, + { + "id": "api.slackimport.slack_import.open.app_error", + "translation": "不能打开: {{.Filename}}" + }, + { + "id": "api.slackimport.slack_import.team_fail", + "translation": "导入时无法获取团队。\r\n" + }, + { + "id": "api.slackimport.slack_import.zip.app_error", + "translation": "不能打开zip文件" + }, + { + "id": "api.slackimport.slack_parse_channels.error", + "translation": "解析 slack 频道时出错。导入可能仍然可用。" + }, + { + "id": "api.slackimport.slack_parse_posts.error", + "translation": "解析 slack 消息时出错。导入可能仍然可用。" + }, + { + "id": "api.slackimport.slack_sanitise_channel_properties.display_name_too_long.warn", + "translation": "Slack 导入:频道 {{.ChannelName}} 的显示名过长。导入时会被截断。" + }, + { + "id": "api.slackimport.slack_sanitise_channel_properties.header_too_long.warn", + "translation": "Slack 导入:频道 {{.ChannelName}} 的标题过长。导入时会被截断。" + }, + { + "id": "api.slackimport.slack_sanitise_channel_properties.name_too_long.warn", + "translation": "Slack 导入:频道 {{.ChannelName}} 的名称过长。导入时会被截断。" + }, + { + "id": "api.slackimport.slack_sanitise_channel_properties.purpose_too_long.warn", + "translation": "Slack 导入:频道 {{.ChannelName}} 的作用过长。导入时会被截断。" + }, + { + "id": "api.status.init.debug", + "translation": "正在初始化状态 API 路由" + }, + { + "id": "api.status.last_activity.error", + "translation": "更新 user_id=%v 和 session_id=%v 的 LastActivityAt 失败,err=%v" + }, + { + "id": "api.status.save_status.error", + "translation": "保存 user_id=%v 状态时失败,err=%v" + }, + { + "id": "api.team.create_team.email_disabled.app_error", + "translation": "使用电子邮件注册团队被禁用。" + }, + { + "id": "api.team.create_team_from_signup.email_disabled.app_error", + "translation": "使用电子邮件注册团队被禁用。" + }, + { + "id": "api.team.create_team_from_signup.expired_link.app_error", + "translation": "注册链接已过期" + }, + { + "id": "api.team.create_team_from_signup.invalid_link.app_error", + "translation": "注册链接无效" + }, + { + "id": "api.team.create_team_from_signup.unavailable.app_error", + "translation": "该URL无效。请尝试其他。" + }, + { + "id": "api.team.email_teams.sending.error", + "translation": "邮件团队发送email时出现错误 err=%v" + }, + { + "id": "api.team.get_invite_info.not_open_team", + "translation": "不能邀请进入非开放团队。" + }, + { + "id": "api.team.import_team.admin.app_error", + "translation": "只有团队管理员才能导入数据。" + }, + { + "id": "api.team.import_team.array.app_error", + "translation": "请求中 'file' 为空数组" + }, + { + "id": "api.team.import_team.integer.app_error", + "translation": "文件大小不是一个整数" + }, + { + "id": "api.team.import_team.no_file.app_error", + "translation": "请求中‘file’,文件不存在" + }, + { + "id": "api.team.import_team.open.app_error", + "translation": "不能打开文件" + }, + { + "id": "api.team.import_team.parse.app_error", + "translation": "不能解析混合表单" + }, + { + "id": "api.team.import_team.unavailable.app_error", + "translation": "错误请求:缺少 filesize 字段。" + }, + { + "id": "api.team.init.debug", + "translation": "正在初始化团队 API 路由" + }, + { + "id": "api.team.invite_members.admin", + "translation": "管理员" + }, + { + "id": "api.team.invite_members.already.app_error", + "translation": "此人已经在你的团队中" + }, + { + "id": "api.team.invite_members.member", + "translation": "成员" + }, + { + "id": "api.team.invite_members.no_one.app_error", + "translation": "没有人可邀请。" + }, + { + "id": "api.team.invite_members.restricted_system_admin.app_error", + "translation": "只有系统管理员能邀请新用户至团队。" + }, + { + "id": "api.team.invite_members.restricted_team_admin.app_error", + "translation": "只有团队管理员或系统管理员能邀请新用户至团队。" + }, + { + "id": "api.team.invite_members.send.error", + "translation": "发送邀请邮件失败 err=%v" + }, + { + "id": "api.team.invite_members.sending.info", + "translation": "发送邀请给 %v %v" + }, + { + "id": "api.team.is_team_creation_allowed.disabled.app_error", + "translation": "团队创建被禁用。详细请询问您的系统管理员。" + }, + { + "id": "api.team.is_team_creation_allowed.domain.app_error", + "translation": "电子邮件必须来自指定域名 (例如 @example.com)。详情请询问您的系统管理员。" + }, + { + "id": "api.team.permanent_delete_team.attempting.warn", + "translation": "试图永久删除团队 %v id=%v" + }, + { + "id": "api.team.permanent_delete_team.deleted.warn", + "translation": "永久删除团队 %v id=%v" + }, + { + "id": "api.team.remove_user_from_team.missing.app_error", + "translation": "此用户似乎不属于此团队。" + }, + { + "id": "api.team.signup_team.email_disabled.app_error", + "translation": "使用电子邮件注册团队被禁用。" + }, + { + "id": "api.team.update_member_roles.not_a_member", + "translation": "指定的用户不属于指定的团队。" + }, + { + "id": "api.team.update_team.permissions.app_error", + "translation": "您没有对应的权限" + }, + { + "id": "api.templates.channel_name.group", + "translation": "团体消息" + }, + { + "id": "api.templates.email_change_body.info", + "translation": "您的邮箱地址从 {{.TeamDisplayName}} 修改为 {{.NewEmail}}。
如果您没有做过这个修改,请联系系统管理员。" + }, + { + "id": "api.templates.email_change_body.title", + "translation": "您更新了您的邮箱" + }, + { + "id": "api.templates.email_change_subject", + "translation": "[{{ .SiteName }}] 您的邮箱地址已更改" + }, + { + "id": "api.templates.email_change_verify_body.button", + "translation": "校验邮箱" + }, + { + "id": "api.templates.email_change_verify_body.info", + "translation": "请点击下面的链接确认这是正确的地址,以完成在{{.TeamDisplayName}}的电子邮件地址更新。" + }, + { + "id": "api.templates.email_change_verify_body.title", + "translation": "您已更新电子邮件地址" + }, + { + "id": "api.templates.email_change_verify_subject", + "translation": "[{{ .SiteName }}] 验证新邮件地址" + }, + { + "id": "api.templates.email_footer", + "translation": "要更改您的通知偏好设定,登录到您的团队站点后至帐号设置 > 通知。" + }, + { + "id": "api.templates.email_info", + "translation": "有任何问题请随时给我们发送电子邮件: {{.SupportEmail}}.
最美好的祝福,
{{.SiteName}} 团队
" + }, + { + "id": "api.templates.email_organization", + "translation": "发送人 " + }, + { + "id": "api.templates.error.link", + "translation": "返回到Mattermost" + }, + { + "id": "api.templates.error.title", + "translation": "{{ .SiteName }} 需要你的帮助:" + }, + { + "id": "api.templates.find_teams_body.found", + "translation": "查找跟您电子邮件有关的团队如下:" + }, + { + "id": "api.templates.find_teams_body.not_found", + "translation": "我们没找从提供的电子邮件找到任何团队。" + }, + { + "id": "api.templates.find_teams_body.title", + "translation": "查找团队" + }, + { + "id": "api.templates.find_teams_subject", + "translation": "你在 {{ .SiteName }} 的团队" + }, + { + "id": "api.templates.invite_body.button", + "translation": "加入团队" + }, + { + "id": "api.templates.invite_body.extra_info", + "translation": "Mattermost允许您通过电脑、电话分享消息和文件,即时查找和归档. 当你加入 {{.TeamDisplayName}}后, 你可以登录到你的新团队,并在任何时候从网络地址访问这些功能:

{{.TeamURL}}" + }, + { + "id": "api.templates.invite_body.info", + "translation": "团队 {{.SenderStatus}} {{.SenderName}},邀请您加入 {{.TeamDisplayName}}。" + }, + { + "id": "api.templates.invite_body.title", + "translation": "您已经被邀请" + }, + { + "id": "api.templates.invite_subject", + "translation": "[{{ .SiteName }}] {{ .SenderName }} 邀请您加入 {{ .TeamDisplayName }} 团队" + }, + { + "id": "api.templates.mfa_activated_body.info", + "translation": "你在 {{ .SiteURL }} 的帐号已添加多重验证。
如果此操作不是您操作的,请联系您的系统管理员。" + }, + { + "id": "api.templates.mfa_activated_body.title", + "translation": "多重验证已添加" + }, + { + "id": "api.templates.mfa_change_subject", + "translation": "[{{ .SiteName }}] 您的多重验证已更新" + }, + { + "id": "api.templates.mfa_deactivated_body.info", + "translation": "你在 {{ .SiteURL }} 的帐号已删除多重验证。
如果此操作不是您操作的,请联系您的系统管理员。" + }, + { + "id": "api.templates.mfa_deactivated_body.title", + "translation": "多重验证已移除" + }, + { + "id": "api.templates.password_change_body.info", + "translation": "您的密码已经被更新 {{.TeamDisplayName}} 在 {{ .TeamURL }} 通过 {{.Method}}.
如果这个变更不是由你发起的,请联系你的系统管理员." + }, + { + "id": "api.templates.password_change_body.title", + "translation": "您更新了您的密码" + }, + { + "id": "api.templates.password_change_subject", + "translation": "[{{ .SiteName }}] 您的密码已更新" + }, + { + "id": "api.templates.post_body.button", + "translation": "转至发文" + }, + { + "id": "api.templates.post_body.info", + "translation": "频道: {{.ChannelName}}
{{.SenderName}} - {{.Hour}}:{{.Minute}} {{.TimeZone}}, {{.Month}} {{.Day}}" + }, + { + "id": "api.templates.post_subject_in_channel", + "translation": "{{.SubjectText}} 在 {{.TeamDisplayName}} ({{.ChannelName}}) 于 {{.Month}} {{.Day}}, {{.Year}}" + }, + { + "id": "api.templates.post_subject_in_direct_message", + "translation": "{{.SubjectText}} {{.SenderDisplayName}} 于 {{.Month}} {{.Day}}, {{.Year}}" + }, + { + "id": "api.templates.post_subject_in_group_message", + "translation": "新团体消息来自 {{ .SenderDisplayName}} 于 {{.Month}} {{.Day}}, {{.Year}}" + }, + { + "id": "api.templates.reset_body.button", + "translation": "重设密码" + }, + { + "id": "api.templates.reset_body.info", + "translation": "修改您的密码, 点击 \"重设密码\" 下面.
如果你不打算重置您的密码,请忽略此电子邮件和您的密码将保持不变。密码重置链接在24小时内到期." + }, + { + "id": "api.templates.reset_body.title", + "translation": "您请求密码重设" + }, + { + "id": "api.templates.reset_subject", + "translation": "[{{ .SiteName }}] 重置您的密码" + }, + { + "id": "api.templates.signin_change_email.body.info", + "translation": "您在 {{.SiteName}} 更新了登录方式为 {{.Method}}。
如果这个变更不是由您发起的,请联系您的系统管理员。" + }, + { + "id": "api.templates.signin_change_email.body.method_email", + "translation": "邮箱和密码" + }, + { + "id": "api.templates.signin_change_email.body.title", + "translation": "您更新了您的登录方式" + }, + { + "id": "api.templates.signin_change_email.subject", + "translation": "[{{ .SiteName }}] 您在 {{ .SiteName }} 更新了您的登入方式" + }, + { + "id": "api.templates.signup_team_body.button", + "translation": "设置您的团队" + }, + { + "id": "api.templates.signup_team_body.info", + "translation": "{{ .SiteName }} 是所有团队沟通的一个地方, 可在任何地方搜索和有效.
您会得到更多的 {{ .SiteName }} 当您的团队在不断沟通--在看板上获取." + }, + { + "id": "api.templates.signup_team_body.title", + "translation": "感谢创造一个团队!" + }, + { + "id": "api.templates.signup_team_subject", + "translation": "{{ .SiteName }} 团队设置" + }, + { + "id": "api.templates.upgrade_30_body.info", + "translation": "

您的多重帐号已更新

您的 Mattermost 伺服器正在升级到版本 3.0,从此您可以在多个团队中使用同一个帐号。

您收到此邮件因为升级过程中发现您的邮箱地址或用户名和另外个帐号重复。

改动如下:

{{if .EmailChanged }}- 在 `/{{.TeamName}}` 团队中重复电子邮件已改为 `{{.Email}}`。你可以使用此新的电子邮件地址和密码登入。

{{end}}{{if .UsernameChanged }}- 在 `/{{.TeamName}}` 团队中重复用户名已改为 `{{.Username}}` 亿避免与其他帐号混淆。

{{end}} 建议操作:

建议您登入重复帐号的团队并将主帐号添加到想继续使用的团队,公开频道以及私有群组。

这样您可以用主帐号访问所有公开频道以及私有群组的历史。您可以继续登入重复帐号来获取私信历史。

更多咨询:

关于更多升级到 Mattermost 3.0 的相关咨询,请参见:http://www.mattermost.org/upgrading-to-mattermost-3-0/

" + }, + { + "id": "api.templates.upgrade_30_subject.info", + "translation": "[MATTERMOST]更改你的账号,以便升级到3.0" + }, + { + "id": "api.templates.username_change_body.info", + "translation": "您在 {{.TeamDisplayName}} 的用户名已更改为 {{.NewUsername}}。
如果这个变更不是由您发起的,请联系系统管理员。" + }, + { + "id": "api.templates.username_change_body.title", + "translation": "您更新了您的用户名" + }, + { + "id": "api.templates.username_change_subject", + "translation": "[{{ .SiteName }}] 您的用户名已更改" + }, + { + "id": "api.templates.verify_body.button", + "translation": "验证邮箱" + }, + { + "id": "api.templates.verify_body.info", + "translation": "请通过以下链接来验证您的电子邮件地址。" + }, + { + "id": "api.templates.verify_body.title", + "translation": "您已加入 {{ .ServerURL }}" + }, + { + "id": "api.templates.verify_subject", + "translation": "[{{ .SiteName }}] 电子邮件地址验证" + }, + { + "id": "api.templates.welcome_body.app_download_info", + "translation": "为了更好的体验,请下载 PC、Mac、iOS、安卓平台应用:" + }, + { + "id": "api.templates.welcome_body.button", + "translation": "验证邮箱" + }, + { + "id": "api.templates.welcome_body.info", + "translation": "请通过以下链接来验证您的电子邮件地址。" + }, + { + "id": "api.templates.welcome_body.info2", + "translation": "你可以登入从:" + }, + { + "id": "api.templates.welcome_body.info3", + "translation": "Mattermost 允许您通过PC或手机分享信息和文件,即时搜索和归档。" + }, + { + "id": "api.templates.welcome_body.title", + "translation": "您已加入 {{ .ServerURL }}" + }, + { + "id": "api.templates.welcome_subject", + "translation": "[{{ .SiteName }}] 您加入了 {{ .ServerURL }}" + }, + { + "id": "api.user.activate_mfa.email_and_ldap_only.app_error", + "translation": "此帐户类型不支持多重验证" + }, + { + "id": "api.user.add_direct_channels_and_forget.failed.error", + "translation": "添加用户直接频道偏好设定失败 user_id={{.UserId}}, team_id={{.TeamId}}, err={{.Error}}" + }, + { + "id": "api.user.authorize_oauth_user.bad_response.app_error", + "translation": "令牌请求得到错误的回复" + }, + { + "id": "api.user.authorize_oauth_user.bad_token.app_error", + "translation": "错误的令牌类型" + }, + { + "id": "api.user.authorize_oauth_user.invalid_state.app_error", + "translation": "无效状态" + }, + { + "id": "api.user.authorize_oauth_user.invalid_state_team.app_error", + "translation": "无效状态; 缺少团队名称" + }, + { + "id": "api.user.authorize_oauth_user.missing.app_error", + "translation": "缺少访问令牌" + }, + { + "id": "api.user.authorize_oauth_user.service.app_error", + "translation": "令牌请求到 {{.Service}} 失败" + }, + { + "id": "api.user.authorize_oauth_user.token_failed.app_error", + "translation": "令牌请求失败" + }, + { + "id": "api.user.authorize_oauth_user.unsupported.app_error", + "translation": "不支持的认证服务商" + }, + { + "id": "api.user.check_user_login_attempts.too_many.app_error", + "translation": "您的账号因为多次的密码尝试而被锁定。请重设您的密码。" + }, + { + "id": "api.user.check_user_mfa.bad_code.app_error", + "translation": "无效的多重验证令牌。" + }, + { + "id": "api.user.check_user_mfa.not_available.app_error", + "translation": "此服务器没有配置或者不支持多重验证" + }, + { + "id": "api.user.check_user_password.invalid.app_error", + "translation": "无效密码登录失败" + }, + { + "id": "api.user.complete_switch_with_oauth.blank_email.app_error", + "translation": "空白电子邮件" + }, + { + "id": "api.user.complete_switch_with_oauth.parse.app_error", + "translation": "无法解析数据验证 {{.Service}} 用户对象" + }, + { + "id": "api.user.complete_switch_with_oauth.unavailable.app_error", + "translation": "本服务器不支持通过 OAuth 2.0 的 {{.Service}} SSO" + }, + { + "id": "api.user.create_oauth_user.already_attached.app_error", + "translation": "已经有一个电子邮件帐号使用了不同于{{.Service}}的方法进行登录。请使用{{.Auth}}进行登录。" + }, + { + "id": "api.user.create_oauth_user.already_used.app_error", + "translation": "这个{{.Service}}账号已经使用" + }, + { + "id": "api.user.create_oauth_user.create.app_error", + "translation": "无法创建用户 {{.Service}} 用户对象" + }, + { + "id": "api.user.create_oauth_user.not_available.app_error", + "translation": "本服务器不支持通过 OAuth 2.0 的 {{.Service}} SSO" + }, + { + "id": "api.user.create_profile_image.default_font.app_error", + "translation": "无法创建默认配置文件的字体" + }, + { + "id": "api.user.create_profile_image.encode.app_error", + "translation": "无法编码默认配置文件" + }, + { + "id": "api.user.create_profile_image.initial.app_error", + "translation": "不能添加用户初始默认配置文件" + }, + { + "id": "api.user.create_user.accepted_domain.app_error", + "translation": "您提供的电子邮件不属于允许的域名。请与您的管理员联系或使用一个不同的电子邮件注册。" + }, + { + "id": "api.user.create_user.disabled.app_error", + "translation": "用户创建已停用。" + }, + { + "id": "api.user.create_user.joining.error", + "translation": "加入默认通道遇到一个问题 user_id=%s, team_id=%s, err=%v" + }, + { + "id": "api.user.create_user.no_open_server", + "translation": "这个服务员不允许注册。请与管理员联系,获取邀请。" + }, + { + "id": "api.user.create_user.save.error", + "translation": "无法保存这个用户 err=%v" + }, + { + "id": "api.user.create_user.signup_email_disabled.app_error", + "translation": "已停用电子邮件注册。" + }, + { + "id": "api.user.create_user.signup_link_expired.app_error", + "translation": "注册连接已经失效" + }, + { + "id": "api.user.create_user.signup_link_invalid.app_error", + "translation": "注册链接无效" + }, + { + "id": "api.user.create_user.team_name.app_error", + "translation": "无效团队名称" + }, + { + "id": "api.user.create_user.tutorial.error", + "translation": "保存偏好设置指南出错, err=%v" + }, + { + "id": "api.user.create_user.verified.error", + "translation": "未能设置电子邮件验证 err=%v" + }, + { + "id": "api.user.email_to_ldap.not_available.app_error", + "translation": "AD/LDAP 在本服务器上不可用" + }, + { + "id": "api.user.generate_mfa_qr.not_available.app_error", + "translation": "此服务器没有配置或者不支持多重验证" + }, + { + "id": "api.user.get_authorization_code.unsupported.app_error", + "translation": "不支持的 OAuth 服务商" + }, + { + "id": "api.user.get_me.getting.error", + "translation": "获取用户配置文件中的错误 id=%v 强制注销" + }, + { + "id": "api.user.init.debug", + "translation": "正在初始化用户 API 路由" + }, + { + "id": "api.user.ldap_to_email.not_available.app_error", + "translation": "AD/LDAP 在本服务器上不可用" + }, + { + "id": "api.user.ldap_to_email.not_ldap_account.app_error", + "translation": "此账户没有使用 AD/LDAP" + }, + { + "id": "api.user.login.blank_pwd.app_error", + "translation": "密码字段不能为空白" + }, + { + "id": "api.user.login.inactive.app_error", + "translation": "您的帐号因被停用而登入失败。请联系系统管理员。" + }, + { + "id": "api.user.login.invalid_credentials", + "translation": "用户ID或密码错误。" + }, + { + "id": "api.user.login.not_provided.app_error", + "translation": "必须提供用户 ID 或团队名和用户邮箱地址" + }, + { + "id": "api.user.login.not_verified.app_error", + "translation": "登录失败,因为电子邮件地址没有被验证" + }, + { + "id": "api.user.login.revoking.app_error", + "translation": "撤销 sessionId=%v 为 userId=%v 同一个设备id重登陆" + }, + { + "id": "api.user.login.use_auth_service.app_error", + "translation": "请使用 {{.AuthService}} 登录" + }, + { + "id": "api.user.login_by_oauth.not_available.app_error", + "translation": "本服务器不支持通过 OAuth 2.0 的 {{.Service}} SSO" + }, + { + "id": "api.user.login_by_oauth.parse.app_error", + "translation": "无法解析数据验证 {{.Service}} 用户对象" + }, + { + "id": "api.user.login_ldap.blank_pwd.app_error", + "translation": "密码字段不能为空白" + }, + { + "id": "api.user.login_ldap.disabled.app_error", + "translation": "AD/LDAP 未在本服务器上不开启" + }, + { + "id": "api.user.login_ldap.need_id.app_error", + "translation": "需要ID" + }, + { + "id": "api.user.login_ldap.not_available.app_error", + "translation": "AD/LDAP 在本服务器上不可用" + }, + { + "id": "api.user.oauth_to_email.context.app_error", + "translation": "更新密码失败因为 user_id 不匹配用户ID" + }, + { + "id": "api.user.permanent_delete_user.attempting.warn", + "translation": "试图永久删除帐户 %v id=%v" + }, + { + "id": "api.user.permanent_delete_user.deleted.warn", + "translation": "永久删除帐户 %v id=%v" + }, + { + "id": "api.user.permanent_delete_user.system_admin.warn", + "translation": "你在删除系统管理员 %v。您可能需要使用命令行工具设置另一个帐户作为系统管理员。" + }, + { + "id": "api.user.reset_password.invalid_link.app_error", + "translation": "重置密码链接不显示有效" + }, + { + "id": "api.user.reset_password.link_expired.app_error", + "translation": "密码重置链接已过期" + }, + { + "id": "api.user.reset_password.method", + "translation": "使用重置密码链接" + }, + { + "id": "api.user.reset_password.sso.app_error", + "translation": "不能重置SSO账户密码" + }, + { + "id": "api.user.reset_password.wrong_team.app_error", + "translation": "试图在错误的团队上重置密码。" + }, + { + "id": "api.user.saml.not_available.app_error", + "translation": "此服务器没有正确配置或者不支持 SAML。" + }, + { + "id": "api.user.send_email_change_email_and_forget.error", + "translation": "未能发送电子邮件通知电子邮件成功" + }, + { + "id": "api.user.send_email_change_username_and_forget.error", + "translation": "未能发送用户名更改通知邮件" + }, + { + "id": "api.user.send_email_change_verify_email_and_forget.error", + "translation": "未能发送电子邮件更改验证电子邮件成功" + }, + { + "id": "api.user.send_password_change_email_and_forget.error", + "translation": "未能发送更新密码电子邮件成功" + }, + { + "id": "api.user.send_password_reset.find.app_error", + "translation": "我们无法找该地址的帐号。" + }, + { + "id": "api.user.send_password_reset.send.app_error", + "translation": "未能发送密码重置电子邮件成功" + }, + { + "id": "api.user.send_password_reset.sso.app_error", + "translation": "不能重置SSO账户密码" + }, + { + "id": "api.user.send_sign_in_change_email_and_forget.error", + "translation": "未能发送更新密码电子邮件成功" + }, + { + "id": "api.user.send_verify_email_and_forget.failed.error", + "translation": "未能发送验证电子邮件成功" + }, + { + "id": "api.user.send_welcome_email_and_forget.failed.error", + "translation": "未能成功发送欢迎电子邮件" + }, + { + "id": "api.user.update_active.no_deactivate_ldap.app_error", + "translation": "您无法修改 AD/LDAP 帐号的激活状态。请到 AD/LDAP 服务器上修改。" + }, + { + "id": "api.user.update_active.permissions.app_error", + "translation": "您没有对应的权限" + }, + { + "id": "api.user.update_mfa.not_available.app_error", + "translation": "此服务器没有配置或者不支持多重验证" + }, + { + "id": "api.user.update_oauth_user_attrs.get_user.app_error", + "translation": "无法从 {{.Service}} 用户对象获取用户" + }, + { + "id": "api.user.update_password.context.app_error", + "translation": "更新密码失败因为 user_id 提供用户ID不匹配" + }, + { + "id": "api.user.update_password.failed.app_error", + "translation": "更新密码失败" + }, + { + "id": "api.user.update_password.incorrect.app_error", + "translation": "\"当前密码\" 输入有误。请检查大写锁是否关闭后再试一次。" + }, + { + "id": "api.user.update_password.menu", + "translation": "使用设置菜单" + }, + { + "id": "api.user.update_password.oauth.app_error", + "translation": "因为用户登录通过OAuth服务更新密码失败" + }, + { + "id": "api.user.update_password.valid_account.app_error", + "translation": "更新密码失败,因为我们无法找到有效的帐户" + }, + { + "id": "api.user.update_roles.one_admin.app_error", + "translation": "必须至少有一个启用的管理" + }, + { + "id": "api.user.update_roles.permissions.app_error", + "translation": "您没有合适的权限" + }, + { + "id": "api.user.update_roles.system_admin_needed.app_error", + "translation": "此操作需要系统管理员" + }, + { + "id": "api.user.update_roles.system_admin_set.app_error", + "translation": "系统管理员的角色只能由另一个系统管理员设置" + }, + { + "id": "api.user.update_roles.team_admin_needed.app_error", + "translation": "此操作需要团队系统管理员" + }, + { + "id": "api.user.upload_profile_user.array.app_error", + "translation": "根据“图像”请求的空数组" + }, + { + "id": "api.user.upload_profile_user.decode.app_error", + "translation": "无法解码配置文件" + }, + { + "id": "api.user.upload_profile_user.decode_config.app_error", + "translation": "无法解码头像设定。" + }, + { + "id": "api.user.upload_profile_user.encode.app_error", + "translation": "无法编码图像" + }, + { + "id": "api.user.upload_profile_user.no_file.app_error", + "translation": "请求中图像不是文件" + }, + { + "id": "api.user.upload_profile_user.open.app_error", + "translation": "无法打开图像文件" + }, + { + "id": "api.user.upload_profile_user.parse.app_error", + "translation": "无法解析多形式表单" + }, + { + "id": "api.user.upload_profile_user.storage.app_error", + "translation": "无法上传文件。未配置图像存储。" + }, + { + "id": "api.user.upload_profile_user.too_large.app_error", + "translation": "无法上传头像。文件太大。" + }, + { + "id": "api.user.upload_profile_user.upload_profile.app_error", + "translation": "无法上传配置文件" + }, + { + "id": "api.user.verify_email.bad_link.app_error", + "translation": "非法确认邮件链接。" + }, + { + "id": "api.web_hub.start.starting.debug", + "translation": "启动 %v websocket 集线器中" + }, + { + "id": "api.web_hub.start.stopping.debug", + "translation": "停止 websocket 集线器连接中" + }, + { + "id": "api.web_socket.connect.error", + "translation": "websocket连接 err: %v" + }, + { + "id": "api.web_socket.connect.upgrade.app_error", + "translation": "未能升级WebSocket连接" + }, + { + "id": "api.web_socket.init.debug", + "translation": "正在初始化 Web Socket API 路由" + }, + { + "id": "api.web_socket_handler.log.error", + "translation": "%v:%v seq=%v uid=%v %v [详情: %v]" + }, + { + "id": "api.web_socket_router.log.error", + "translation": "websocket 路由错误: seq=%v uid=%v %v [详情: %v]" + }, + { + "id": "api.web_team_hun.start.debug", + "translation": "团队枢纽停止 teamId=%v" + }, + { + "id": "api.webhook.create_outgoing.disabled.app_error", + "translation": "传出的 webhooks 已被系统管理员禁用。" + }, + { + "id": "api.webhook.create_outgoing.intersect.app_error", + "translation": "同一频道的传出 webhooks 不能具有同样的触发词/回调URLs。" + }, + { + "id": "api.webhook.create_outgoing.not_open.app_error", + "translation": "只有公共频道可以创建传出 webhooks。" + }, + { + "id": "api.webhook.create_outgoing.permissions.app_error", + "translation": "无效的创建传出的 webhook 权限。" + }, + { + "id": "api.webhook.create_outgoing.triggers.app_error", + "translation": "无论是trigger_words或channel_id必须设置" + }, + { + "id": "api.webhook.delete_incoming.disabled.app_error", + "translation": "传入的webhooks已被系统管理员禁用。" + }, + { + "id": "api.webhook.delete_incoming.permissions.app_error", + "translation": "无效的删除传入的 webhook 权限" + }, + { + "id": "api.webhook.delete_outgoing.disabled.app_error", + "translation": "传出的webhooks已被系统管理员禁用。" + }, + { + "id": "api.webhook.delete_outgoing.permissions.app_error", + "translation": "无效的删除传出的 webhook 权限" + }, + { + "id": "api.webhook.incoming.debug", + "translation": "收到传入的webhook。内容=" + }, + { + "id": "api.webhook.incoming.debug.error", + "translation": "不能读取传入的webhook的负载。" + }, + { + "id": "api.webhook.init.debug", + "translation": "正在初始化 webhook API 路由" + }, + { + "id": "api.webhook.regen_outgoing_token.permissions.app_error", + "translation": "无效的重新生成传出的 webhook 令牌权限" + }, + { + "id": "api.webhook.team_mismatch.app_error", + "translation": "无法跨团队更新 webhook" + }, + { + "id": "api.webhook.update_incoming.disabled.app_error", + "translation": "传入的webhooks已被系统管理员禁用。" + }, + { + "id": "api.webhook.update_incoming.permissions.app_error", + "translation": "无效的更新传入的 webhook 权限" + }, + { + "id": "api.webhook.update_outgoing.disabled.app_error", + "translation": "传出的webhooks已被系统管理员禁用。" + }, + { + "id": "api.webhook.update_outgoing.intersect.app_error", + "translation": "同一频道的传出 webhooks 不能具有同样的触发词/回调URLs。" + }, + { + "id": "api.webhook.update_outgoing.not_open.app_error", + "translation": "只有公共频道可以更新传出 webhooks。" + }, + { + "id": "api.webhook.update_outgoing.permissions.app_error", + "translation": "无效的更新传出的 webhook 权限。" + }, + { + "id": "api.webhook.update_outgoing.triggers.app_error", + "translation": "必须设置 rigger_words 或 channel_id" + }, + { + "id": "api.webrtc.disabled.app_error", + "translation": "WebRTC 未在本服务器开启。" + }, + { + "id": "api.webrtc.init.debug", + "translation": "正在初始化 WebRTC API 路由" + }, + { + "id": "api.webrtc.register_token.app_error", + "translation": "我们在注册 WebRTC 令牌时遇到个错误" + }, + { + "id": "api.websocket.invalid_session.error", + "translation": "无效会话 err=%v" + }, + { + "id": "api.websocket_handler.invalid_param.app_error", + "translation": "无效的参数 {{.Name}}" + }, + { + "id": "app.channel.create_channel.no_team_id.app_error", + "translation": "必须指定团队ID才能创建频道" + }, + { + "id": "app.channel.post_update_channel_purpose_message.post.error", + "translation": "发送频道作用消息失败" + }, + { + "id": "app.channel.post_update_channel_purpose_message.removed", + "translation": "%s 删除了频道作用 (原为: %s)" + }, + { + "id": "app.channel.post_update_channel_purpose_message.retrieve_user.error", + "translation": "尝试保存更新的频道作用消息 %v 时获取用户信息失败" + }, + { + "id": "app.channel.post_update_channel_purpose_message.updated_from", + "translation": "%s 将频道作用从: %s 更新为: %s" + }, + { + "id": "app.channel.post_update_channel_purpose_message.updated_to", + "translation": "%s 更新了频道作用为: %s" + }, + { + "id": "app.import.bulk_import.file_scan.error", + "translation": "读取数据导入文件错误。" + }, + { + "id": "app.import.bulk_import.json_decode.error", + "translation": "JSON 解码行失败。" + }, + { + "id": "app.import.import_channel.team_not_found.error", + "translation": "导入频道失败。团队名 \"{{.TeamName}}\" 无法找到。" + }, + { + "id": "app.import.import_line.null_channel.error", + "translation": "导入数据行有类型 \"channel\" 但频道对象是无。" + }, + { + "id": "app.import.import_line.null_post.error", + "translation": "导入数据行有类型 \"post\" 但消息对象是无。" + }, + { + "id": "app.import.import_line.null_team.error", + "translation": "导入数据行有类型 \"team\" 但团队对象是无。" + }, + { + "id": "app.import.import_line.null_user.error", + "translation": "导入数据行有类型 \"user\" 但用户对象是无。" + }, + { + "id": "app.import.import_line.unknown_line_type.error", + "translation": "导入数据行有无效的类型 \"{{.Type}}\"。" + }, + { + "id": "app.import.import_post.channel_not_found.error", + "translation": "导入消息失败。无法找到频道 \"{{.ChannelName}}\"。" + }, + { + "id": "app.import.import_post.team_not_found.error", + "translation": "导入消息失败。无法找到团队 \"{{.TeamName}}\"。" + }, + { + "id": "app.import.import_post.user_not_found.error", + "translation": "导入消息失败。无法找到用户 \"{{.Username}}\"。" + }, + { + "id": "app.import.validate_channel_import_data.create_at_zero.error", + "translation": "如果提供频道 create_at 则不能为 0。" + }, + { + "id": "app.import.validate_channel_import_data.display_name_length.error", + "translation": "频道 display_name 不在允许的长度范围内。" + }, + { + "id": "app.import.validate_channel_import_data.display_name_missing.error", + "translation": "缺少频道必须属性:display_name。" + }, + { + "id": "app.import.validate_channel_import_data.header_length.error", + "translation": "频道标题过长。" + }, + { + "id": "app.import.validate_channel_import_data.name_characters.error", + "translation": "频道名称包含无效字符。" + }, + { + "id": "app.import.validate_channel_import_data.name_length.error", + "translation": "频道名称过长。" + }, + { + "id": "app.import.validate_channel_import_data.name_missing.error", + "translation": "缺少频道必须属性:name" + }, + { + "id": "app.import.validate_channel_import_data.purpose_length.error", + "translation": "频道作用过长。" + }, + { + "id": "app.import.validate_channel_import_data.team_missing.error", + "translation": "缺少频道必须属性:team" + }, + { + "id": "app.import.validate_channel_import_data.type_invalid.error", + "translation": "无效频道类型。" + }, + { + "id": "app.import.validate_channel_import_data.type_missing.error", + "translation": "缺少频道必须属性:type。" + }, + { + "id": "app.import.validate_post_import_data.channel_missing.error", + "translation": "缺少消息必须属性:Channel。" + }, + { + "id": "app.import.validate_post_import_data.create_at_missing.error", + "translation": "缺少消息必须属性:create_at。" + }, + { + "id": "app.import.validate_post_import_data.create_at_zero.error", + "translation": "如果提供消息 CreateAt 则不能为零。" + }, + { + "id": "app.import.validate_post_import_data.message_length.error", + "translation": "消息属性超过允许的最大长度。" + }, + { + "id": "app.import.validate_post_import_data.message_missing.error", + "translation": "缺少消息必须属性:Message。" + }, + { + "id": "app.import.validate_post_import_data.team_missing.error", + "translation": "缺少消息必须属性:Team。" + }, + { + "id": "app.import.validate_post_import_data.user_missing.error", + "translation": "缺少消息必须属性:User。" + }, + { + "id": "app.import.validate_team_import_data.allowed_domains_length.error", + "translation": "团队 allowed_domains 过长。" + }, + { + "id": "app.import.validate_team_import_data.create_at_zero.error", + "translation": "如果提供团队 create_at 则不能为 0。" + }, + { + "id": "app.import.validate_team_import_data.description_length.error", + "translation": "团队简介过长。" + }, + { + "id": "app.import.validate_team_import_data.display_name_length.error", + "translation": "团队 display_name 不在允许的长度范围内。" + }, + { + "id": "app.import.validate_team_import_data.display_name_missing.error", + "translation": "缺少频道必须属性:display_name" + }, + { + "id": "app.import.validate_team_import_data.name_characters.error", + "translation": "团队名包含非法字符。" + }, + { + "id": "app.import.validate_team_import_data.name_length.error", + "translation": "团队名过长。" + }, + { + "id": "app.import.validate_team_import_data.name_missing.error", + "translation": "缺少频道必须属性:name。" + }, + { + "id": "app.import.validate_team_import_data.name_reserved.error", + "translation": "团队名含有预留词。" + }, + { + "id": "app.import.validate_team_import_data.type_invalid.error", + "translation": "无效团队类型。" + }, + { + "id": "app.import.validate_team_import_data.type_missing.error", + "translation": "缺少频道必须属性:type" + }, + { + "id": "app.import.validate_user_channels_import_data.channel_name_missing.error", + "translation": "用户频道会员资格中缺少频道名称。" + }, + { + "id": "app.import.validate_user_channels_import_data.invalid_notify_props_desktop.error", + "translation": "用户的频道身份的桌面 NotifyProps 无效。" + }, + { + "id": "app.import.validate_user_channels_import_data.invalid_notify_props_mark_unread.error", + "translation": "用户的频道身份的 MarkUnread NotifyProps 无效。" + }, + { + "id": "app.import.validate_user_channels_import_data.invalid_roles.error", + "translation": "用户频道成员资格的角色无效。" + }, + { + "id": "app.import.validate_user_import_data.auth_data_length.error", + "translation": "用户 AuthData 过长。" + }, + { + "id": "app.import.validate_user_import_data.auth_service_length.error", + "translation": "如果提供用户 AuthService 则不能留空。" + }, + { + "id": "app.import.validate_user_import_data.email_length.error", + "translation": "用户邮箱地址拥有无效长度。" + }, + { + "id": "app.import.validate_user_import_data.email_missing.error", + "translation": "缺少用户必须属性:email。" + }, + { + "id": "app.import.validate_user_import_data.first_name_length.error", + "translation": "用户名子过长。" + }, + { + "id": "app.import.validate_user_import_data.last_name_length.error", + "translation": "用户姓氏过长。" + }, + { + "id": "app.import.validate_user_import_data.nickname_length.error", + "translation": "用户昵称过长。" + }, + { + "id": "app.import.validate_user_import_data.position_length.error", + "translation": "用户职位过长。" + }, + { + "id": "app.import.validate_user_import_data.roles_invalid.error", + "translation": "无效用户角色。" + }, + { + "id": "app.import.validate_user_import_data.username_invalid.error", + "translation": "无效的用户名。" + }, + { + "id": "app.import.validate_user_import_data.username_missing.error", + "translation": "缺少用户必须属性:username。" + }, + { + "id": "app.import.validate_user_teams_import_data.invalid_roles.error", + "translation": "用户团队成员资格的角色无效。" + }, + { + "id": "app.import.validate_user_teams_import_data.team_name_missing.error", + "translation": "用户的团队成员资格中缺少团队名称。" + }, + { + "id": "authentication.permissions.create_group_channel.description", + "translation": "允许新建团体消息频道" + }, + { + "id": "authentication.permissions.create_group_channel.name", + "translation": "创建团体消息" + }, + { + "id": "authentication.permissions.create_team_roles.description", + "translation": "能创建新团队" + }, + { + "id": "authentication.permissions.create_team_roles.name", + "translation": "创建团队" + }, + { + "id": "authentication.permissions.manage_team_roles.description", + "translation": "能修改团队成员的角色" + }, + { + "id": "authentication.permissions.manage_team_roles.name", + "translation": "管理团队角色" + }, + { + "id": "authentication.permissions.team_invite_user.description", + "translation": "可以邀请用户到团队" + }, + { + "id": "authentication.permissions.team_invite_user.name", + "translation": "邀请用户" + }, + { + "id": "authentication.permissions.team_use_slash_commands.description", + "translation": "可以使用斜杠命令" + }, + { + "id": "authentication.permissions.team_use_slash_commands.name", + "translation": "使用斜杠命令" + }, + { + "id": "cli.license.critical", + "translation": "此功能需要企业授权。请联系您的系统管理员关于升级您的企业许可证。" + }, + { + "id": "ent.brand.save_brand_image.decode.app_error", + "translation": "无法解码图像。" + }, + { + "id": "ent.brand.save_brand_image.decode_config.app_error", + "translation": "无法解码图像配置。" + }, + { + "id": "ent.brand.save_brand_image.encode.app_error", + "translation": "无法解码PNG格式图像。" + }, + { + "id": "ent.brand.save_brand_image.open.app_error", + "translation": "无法打开图片文件。" + }, + { + "id": "ent.brand.save_brand_image.save_image.app_error", + "translation": "无法保存图片" + }, + { + "id": "ent.brand.save_brand_image.too_large.app_error", + "translation": "无法打开图像文件。图像过大。" + }, + { + "id": "ent.cluster.config_changed.info", + "translation": "id=%v 的机群设定已更改。尝试重启机群服务中。为了确保机群设置正确您不应该依赖此重启因为我们检测到一核心配置改动。" + }, + { + "id": "ent.cluster.debug_fail.debug", + "translation": "机群发送失败在 `%v` detail=%v, extra=%v, retry number=%v" + }, + { + "id": "ent.cluster.final_fail.error", + "translation": "机群发送最终失败在 `%v` detail=%v, extra=%v, retry number=%v" + }, + { + "id": "ent.cluster.incompatible.warn", + "translation": "%v 的机群检测到可能不兼容的版本" + }, + { + "id": "ent.cluster.incompatible_config.warn", + "translation": "%v 的机群检测到可能不兼容的设置" + }, + { + "id": "ent.cluster.licence_disable.app_error", + "translation": "当前许可证禁用了机群功能。请联系您的系统管理员关于升级您的企业许可证。" + }, + { + "id": "ent.cluster.ping_failed.info", + "translation": "机群ping失败 hostname=%v on=%v id=%v" + }, + { + "id": "ent.cluster.ping_success.info", + "translation": "机群ping成功 hostname=%v on=%v id=%v self=%v" + }, + { + "id": "ent.cluster.save_config.error", + "translation": "系统控制台在高可用性开启时设为只读。" + }, + { + "id": "ent.cluster.starting.info", + "translation": "机群互连节点通讯以 hostname=%v id=%v 监听在 %v" + }, + { + "id": "ent.cluster.stopping.info", + "translation": "机群互连节点通讯以 hostname=%v id=%v 在 %v 停止中" + }, + { + "id": "ent.compliance.licence_disable.app_error", + "translation": "当前许可证禁用了合规功能。请联系您的系统管理员关于升级您的企业许可证。" + }, + { + "id": "ent.compliance.run_failed.error", + "translation": "导出合规的'{{.JobName}}'在'{{.FilePath}}'的任务失败" + }, + { + "id": "ent.compliance.run_finished.info", + "translation": "合规导出任务 '{{.JobName}}' 已导出 {{.Count}} 条记录到 '{{.FilePath}}'" + }, + { + "id": "ent.compliance.run_limit.warning", + "translation": "任务'{{.JobName}}'的导出审核警告:'{{.FilePath}}'过多行返回截断至第30,000行" + }, + { + "id": "ent.compliance.run_started.info", + "translation": "导出审核自'{{.FilePath}}'的'{{.JobName}}'任务开始" + }, + { + "id": "ent.emoji.licence_disable.app_error", + "translation": "当前许可证禁用了自定义表情符。请联系您的系统管理员关于升级您的企业许可证。" + }, + { + "id": "ent.ldap.create_fail", + "translation": "无法创建 LDAP 用户。" + }, + { + "id": "ent.ldap.disabled.app_error", + "translation": "AD/LDAP 已禁用或许可证不支持 AD/LDAP。" + }, + { + "id": "ent.ldap.do_login.bind_admin_user.app_error", + "translation": "无法绑定到 AD/LDAP 服务器。请检查 BindUsername 和 BindPassword。" + }, + { + "id": "ent.ldap.do_login.invalid_password.app_error", + "translation": "无效的密码" + }, + { + "id": "ent.ldap.do_login.licence_disable.app_error", + "translation": "当前许可证无法使用 AD/LDAP 功能,请联系您的系统管理员关于升级您的企业许可证。" + }, + { + "id": "ent.ldap.do_login.matched_to_many_users.app_error", + "translation": "提供的用户名有多个用户" + }, + { + "id": "ent.ldap.do_login.search_ldap_server.app_error", + "translation": "搜索 AD/LDAP 服务器失败" + }, + { + "id": "ent.ldap.do_login.unable_to_connect.app_error", + "translation": "无法连接到 AD/LDAP 服务" + }, + { + "id": "ent.ldap.do_login.unable_to_create_user.app_error", + "translation": "凭据有效但无法创建用户。" + }, + { + "id": "ent.ldap.do_login.user_filtered.app_error", + "translation": "您的 AD/LDAP 账号没有使用此 Mattermost 服务器的权限。请向您的系统管理员询问确认 AD/LDAP 用户过滤器。" + }, + { + "id": "ent.ldap.do_login.user_not_registered.app_error", + "translation": "用户没有在 AD/LDAP 服务器注册" + }, + { + "id": "ent.ldap.mattermost_user_update", + "translation": "Mattermost 用户已被 AD/LDAP 服务器更新。" + }, + { + "id": "ent.ldap.syncdone.info", + "translation": "AD/LDAP 同步完成" + }, + { + "id": "ent.ldap.syncronize.get_all.app_error", + "translation": "无法使用 AD/LDAP 得到所有用户" + }, + { + "id": "ent.ldap.validate_filter.app_error", + "translation": "无效的 AD/LDAP 筛选器" + }, + { + "id": "ent.metrics.starting.info", + "translation": "指标和分析服务端监听在 %v" + }, + { + "id": "ent.metrics.stopping.info", + "translation": "指标和分析服务端在 %v 停止中" + }, + { + "id": "ent.mfa.activate.authenticate.app_error", + "translation": "尝试验证多重验证令牌时出现错误" + }, + { + "id": "ent.mfa.activate.bad_token.app_error", + "translation": "无效的多重验证令牌" + }, + { + "id": "ent.mfa.activate.save_active.app_erro", + "translation": "无法为用户更新多重验证启用状态" + }, + { + "id": "ent.mfa.deactivate.save_active.app_erro", + "translation": "无法为用户更新多重验证启用状态" + }, + { + "id": "ent.mfa.deactivate.save_secret.app_error", + "translation": "清除多重验证密码时出错" + }, + { + "id": "ent.mfa.generate_qr_code.create_code.app_error", + "translation": "QR 码生成出错" + }, + { + "id": "ent.mfa.generate_qr_code.save_secret.app_error", + "translation": "多重验证密码保存时出错" + }, + { + "id": "ent.mfa.license_disable.app_error", + "translation": "您的许可证不支持使用多重因素认证" + }, + { + "id": "ent.mfa.validate_token.authenticate.app_error", + "translation": "尝试验证多重验证令牌时出现错误" + }, + { + "id": "ent.migration.migratetoldap.duplicate_field", + "translation": "无法移植拥有制定栏的 AD/LDAP 用户。发现重复条目。请删除所有重复后再试。" + }, + { + "id": "ent.migration.migratetoldap.user_not_found", + "translation": "未在 AD/LDAP 服务器上找到用户:" + }, + { + "id": "ent.saml.attribute.app_error", + "translation": "SAML登入因不正确属性而失败。请联系您的系统管理员。" + }, + { + "id": "ent.saml.build_request.app_error", + "translation": "尝试向身份提供商请求时发生错误。请联系您的系统管理员。" + }, + { + "id": "ent.saml.build_request.encoding.app_error", + "translation": "尝试编码身份提供商请求时发生错误。请联系您的系统管理员。" + }, + { + "id": "ent.saml.build_request.encoding_signed.app_error", + "translation": "尝试编码签名的身份提供商请求时发生错误。请联系您的系统管理员。" + }, + { + "id": "ent.saml.configure.app_error", + "translation": "设置SAML服务提供商时发生错误,err=%v" + }, + { + "id": "ent.saml.configure.encryption_not_enabled.app_error", + "translation": "SAML登入因加密未开启而失败。请联系您的系统管理员。" + }, + { + "id": "ent.saml.configure.load_idp_cert.app_error", + "translation": "身份认证提供商公共证书文件没有被发现。请与系统管理员联系。" + }, + { + "id": "ent.saml.configure.load_private_key.app_error", + "translation": "SAML登录失败,因为服务提供商私钥没有被发现。请与系统管理员联系。" + }, + { + "id": "ent.saml.configure.load_public_cert.app_error", + "translation": "无法找到身份认证提供商公共证书文件。请联系您的系统管理员。" + }, + { + "id": "ent.saml.configure.not_encrypted_response.app_error", + "translation": "SAML登录因身份服务提供商回应未加密而失败。请联系您的系统管理员。" + }, + { + "id": "ent.saml.do_login.decrypt.app_error", + "translation": "SAML登入因解码身份服务提供商回复发生错误而失败。请联系您的系统管理员。" + }, + { + "id": "ent.saml.do_login.empty_response.app_error", + "translation": "我们收到留一份来自身份提供商的空白请求" + }, + { + "id": "ent.saml.do_login.parse.app_error", + "translation": "尝试解析身份提供商回复时发生错误。请联系您的系统管理员。" + }, + { + "id": "ent.saml.do_login.validate.app_error", + "translation": "尝试验证身份提供商回复时发生错误。请联系您的系统管理员。" + }, + { + "id": "ent.saml.license_disable.app_error", + "translation": "您的证书不支持 SAML 验证。" + }, + { + "id": "ent.saml.metadata.app_error", + "translation": "创建服务商元数据时发生错误。" + }, + { + "id": "ent.saml.service_disable.app_error", + "translation": "本服务器未设定或支持 SAML。" + }, + { + "id": "ent.saml.update_saml_user.unable_error", + "translation": "无法更新现有SAML用户。仍允许登入。err=%v" + }, + { + "id": "error.generic.link_message", + "translation": "返回到 Mattermost" + }, + { + "id": "error.generic.message", + "translation": "发生一个错误。" + }, + { + "id": "error.generic.title", + "translation": "出错" + }, + { + "id": "error.not_found.link_message", + "translation": "返回到Mattermost" + }, + { + "id": "error.not_found.message", + "translation": "您试图访问的页面不存在。" + }, + { + "id": "error.not_found.title", + "translation": "未找到该页面" + }, + { + "id": "leave_team_modal.desc", + "translation": "您将会从所有公开频道和私有组中移除。如果团队是私有的你将无法再加入。您确定吗?" + }, + { + "id": "leave_team_modal.no", + "translation": "不" + }, + { + "id": "leave_team_modal.title", + "translation": "退出团队?" + }, + { + "id": "leave_team_modal.yes", + "translation": "是" + }, + { + "id": "manaultesting.get_channel_id.no_found.debug", + "translation": "找不到频道:%v,已搜索 %v 可能性" + }, + { + "id": "manaultesting.get_channel_id.unable.debug", + "translation": "无法获得频道" + }, + { + "id": "manaultesting.manual_test.create.info", + "translation": "创建用户和团队" + }, + { + "id": "manaultesting.manual_test.parse.app_error", + "translation": "无法解析网址" + }, + { + "id": "manaultesting.manual_test.setup.info", + "translation": "手动测试的设置..." + }, + { + "id": "manaultesting.manual_test.uid.debug", + "translation": "网址中没有 uid" + }, + { + "id": "manaultesting.test_autolink.info", + "translation": "手动自动连接测试" + }, + { + "id": "manaultesting.test_autolink.unable.app_error", + "translation": "无法获得频道" + }, + { + "id": "mattermost.bulletin.subject", + "translation": "Mattermost 安全公告" + }, + { + "id": "mattermost.config_file", + "translation": "从 %v 加载配置文件" + }, + { + "id": "mattermost.current_version", + "translation": "当前版本是 %v (%v/%v/%v/%v)" + }, + { + "id": "mattermost.entreprise_enabled", + "translation": "企业启用: %v" + }, + { + "id": "mattermost.load_license.find.warn", + "translation": "需要从 https://mattermost.com 获得许可证以解锁企业功能。" + }, + { + "id": "mattermost.security_bulletin.error", + "translation": "未能获得安全公告详细信息" + }, + { + "id": "mattermost.security_bulletin_read.error", + "translation": "未能读取安全公告详细信息" + }, + { + "id": "mattermost.security_checks.debug", + "translation": "检查 Mattermost 安全更新中" + }, + { + "id": "mattermost.security_info.error", + "translation": "未能从 Mattermost 获得安全更新信息。" + }, + { + "id": "mattermost.send_bulletin.info", + "translation": "发送安全公告从 %v 到 %v" + }, + { + "id": "mattermost.system_admins.error", + "translation": "未能从Mattermost安全更新信息获取系统管理员。" + }, + { + "id": "mattermost.working_dir", + "translation": "当前工作目录是 %v" + }, + { + "id": "model.access.is_valid.access_token.app_error", + "translation": "无效的访问令牌" + }, + { + "id": "model.access.is_valid.client_id.app_error", + "translation": "无效客户端id" + }, + { + "id": "model.access.is_valid.redirect_uri.app_error", + "translation": "无效重定向uri" + }, + { + "id": "model.access.is_valid.refresh_token.app_error", + "translation": "无效刷新令牌" + }, + { + "id": "model.access.is_valid.user_id.app_error", + "translation": "无效用户id" + }, + { + "id": "model.authorize.is_valid.auth_code.app_error", + "translation": "无效的授权码" + }, + { + "id": "model.authorize.is_valid.client_id.app_error", + "translation": "无效客户端id" + }, + { + "id": "model.authorize.is_valid.create_at.app_error", + "translation": "创建时必须有效时间" + }, + { + "id": "model.authorize.is_valid.expires.app_error", + "translation": "过期必须设置" + }, + { + "id": "model.authorize.is_valid.redirect_uri.app_error", + "translation": "无效重定向uri" + }, + { + "id": "model.authorize.is_valid.scope.app_error", + "translation": "无效范围" + }, + { + "id": "model.authorize.is_valid.state.app_error", + "translation": "无效状态" + }, + { + "id": "model.authorize.is_valid.user_id.app_error", + "translation": "无效用户id" + }, + { + "id": "model.channel.is_valid.2_or_more.app_error", + "translation": "名称必须是2个或以上的小写字母" + }, + { + "id": "model.channel.is_valid.create_at.app_error", + "translation": "创建时必须是有效时间" + }, + { + "id": "model.channel.is_valid.creator_id.app_error", + "translation": "无效创建者id" + }, + { + "id": "model.channel.is_valid.display_name.app_error", + "translation": "无效显示名" + }, + { + "id": "model.channel.is_valid.header.app_error", + "translation": "无效标题" + }, + { + "id": "model.channel.is_valid.id.app_error", + "translation": "无效Id" + }, + { + "id": "model.channel.is_valid.name.app_error", + "translation": "无效名称" + }, + { + "id": "model.channel.is_valid.purpose.app_error", + "translation": "无效用途" + }, + { + "id": "model.channel.is_valid.type.app_error", + "translation": "无效类型" + }, + { + "id": "model.channel.is_valid.update_at.app_error", + "translation": "更新时必须是有效时间" + }, + { + "id": "model.channel_member.is_valid.channel_id.app_error", + "translation": "无效的频道id" + }, + { + "id": "model.channel_member.is_valid.email_value.app_error", + "translation": "无效的电子邮件通知值" + }, + { + "id": "model.channel_member.is_valid.notify_level.app_error", + "translation": "无效通知级别" + }, + { + "id": "model.channel_member.is_valid.push_level.app_error", + "translation": "无效的推送通知等级" + }, + { + "id": "model.channel_member.is_valid.role.app_error", + "translation": "无效角色" + }, + { + "id": "model.channel_member.is_valid.unread_level.app_error", + "translation": "无效的未读标记级别" + }, + { + "id": "model.channel_member.is_valid.user_id.app_error", + "translation": "无效用户id" + }, + { + "id": "model.client.connecting.app_error", + "translation": "在连接到服务器时,我们遇到了一个错误" + }, + { + "id": "model.client.create_emoji.emoji.app_error", + "translation": "无法附加表情符号数据请求" + }, + { + "id": "model.client.create_emoji.image.app_error", + "translation": "无法请求附加图像" + }, + { + "id": "model.client.create_emoji.writer.app_error", + "translation": "无法写入请求" + }, + { + "id": "model.client.login.app_error", + "translation": "认证令牌不匹配" + }, + { + "id": "model.client.read_file.app_error", + "translation": "我们在读取文件时遇到了一个错误" + }, + { + "id": "model.client.set_profile_user.no_file.app_error", + "translation": "缺少请求中的 '图片' 文件" + }, + { + "id": "model.client.set_profile_user.writer.app_error", + "translation": "无法写入请求" + }, + { + "id": "model.command.is_valid.create_at.app_error", + "translation": "创建时必须是有效时间" + }, + { + "id": "model.command.is_valid.description.app_error", + "translation": "无效的描述" + }, + { + "id": "model.command.is_valid.display_name.app_error", + "translation": "无效的显示名称" + }, + { + "id": "model.command.is_valid.id.app_error", + "translation": "无效Id" + }, + { + "id": "model.command.is_valid.method.app_error", + "translation": "无效方式" + }, + { + "id": "model.command.is_valid.team_id.app_error", + "translation": "无效的团队 ID" + }, + { + "id": "model.command.is_valid.token.app_error", + "translation": "无效的令牌" + }, + { + "id": "model.command.is_valid.trigger.app_error", + "translation": "无效的触发" + }, + { + "id": "model.command.is_valid.update_at.app_error", + "translation": "更新时必须是有效时间" + }, + { + "id": "model.command.is_valid.url.app_error", + "translation": "无效的 URL" + }, + { + "id": "model.command.is_valid.url_http.app_error", + "translation": "无效URL. URL必须以http:// or https://开头" + }, + { + "id": "model.command.is_valid.user_id.app_error", + "translation": "无效用户id" + }, + { + "id": "model.compliance.is_valid.create_at.app_error", + "translation": "创建时间必须为有效时间" + }, + { + "id": "model.compliance.is_valid.desc.app_error", + "translation": "无效的描述" + }, + { + "id": "model.compliance.is_valid.end_at.app_error", + "translation": "必须是一个有效时间" + }, + { + "id": "model.compliance.is_valid.id.app_error", + "translation": "无效Id" + }, + { + "id": "model.compliance.is_valid.start_at.app_error", + "translation": "必须来自一个有效的时间" + }, + { + "id": "model.compliance.is_valid.start_end_at.app_error", + "translation": "必须比From参数大" + }, + { + "id": "model.config.is_valid.cluster_email_batching.app_error", + "translation": "当机群启用时没法启动批量电子邮件。" + }, + { + "id": "model.config.is_valid.email_batching_buffer_size.app_error", + "translation": "无效的批量电子邮件缓存大小设定。必须为零或者正整数。" + }, + { + "id": "model.config.is_valid.email_batching_interval.app_error", + "translation": "无效的批量电子邮件间隔设定。必须至少30秒。" + }, + { + "id": "model.config.is_valid.email_reset_salt.app_error", + "translation": "邮箱设定中无效的密码重置盐值。至少32位及以上字符。" + }, + { + "id": "model.config.is_valid.email_salt.app_error", + "translation": "邮箱设定中无效的邀请盐值。至少32位及以上字符。" + }, + { + "id": "model.config.is_valid.email_security.app_error", + "translation": "电子邮件设置的无效连接安全性. 必须 '', 'TLS', 或者 'STARTTLS'" + }, + { + "id": "model.config.is_valid.encrypt_sql.app_error", + "translation": "无效的SQL加密秘钥设置。至少32位及以上字符。" + }, + { + "id": "model.config.is_valid.file_driver.app_error", + "translation": "文件设置中驱动名无效。必须为 'local' 或 'amazons3'" + }, + { + "id": "model.config.is_valid.file_preview_height.app_error", + "translation": "文件设置中文件预览高度无效。必须是0或者正整数。" + }, + { + "id": "model.config.is_valid.file_preview_width.app_error", + "translation": "文件设置中文件预览宽度无效。必须是正整数。" + }, + { + "id": "model.config.is_valid.file_profile_height.app_error", + "translation": "文件设置中个人档案高度无效。必须是正整数。" + }, + { + "id": "model.config.is_valid.file_profile_width.app_error", + "translation": "文件设置中个人档案宽度无效。必须是正整数。" + }, + { + "id": "model.config.is_valid.file_salt.app_error", + "translation": "文件设置中的公共链接盐无效。必须至少32位字符。" + }, + { + "id": "model.config.is_valid.file_thumb_height.app_error", + "translation": "文件设置中无效的缩略图高度。必须是正数。" + }, + { + "id": "model.config.is_valid.file_thumb_width.app_error", + "translation": "文件设置时缩略图宽度无效。必须是正数。" + }, + { + "id": "model.config.is_valid.ldap_basedn", + "translation": "AD/LDAP 栏 \"BaseDN\" 为必须。" + }, + { + "id": "model.config.is_valid.ldap_bind_password", + "translation": "AD/LDAP 栏 \"绑定密码\" 为必填。" + }, + { + "id": "model.config.is_valid.ldap_bind_username", + "translation": "AD/LDAP 栏 \"绑定用户名\" 为必填。" + }, + { + "id": "model.config.is_valid.ldap_email", + "translation": "AD/LDAP 栏 \"电子邮件\" 为必填。" + }, + { + "id": "model.config.is_valid.ldap_firstname", + "translation": "AD/LDAP 栏 \"名\" 为必填。" + }, + { + "id": "model.config.is_valid.ldap_id", + "translation": "AD/LDAP 栏 \"ID\" 为必填。" + }, + { + "id": "model.config.is_valid.ldap_lastname", + "translation": "AD/LDAP 栏 \"姓氏\" 为必填。" + }, + { + "id": "model.config.is_valid.ldap_max_page_size.app_error", + "translation": "无效的最大页面值。" + }, + { + "id": "model.config.is_valid.ldap_required.app_error", + "translation": "缺少必需 AD/LDAP 栏。" + }, + { + "id": "model.config.is_valid.ldap_required.app_error", + "translation": "缺少必需 AD/LDAP 栏。" + }, + { + "id": "model.config.is_valid.ldap_security.app_error", + "translation": "无效的 AD/LDAP 安全连接设置,必须是\"TLS\"或者\"STARTTLS\"" + }, + { + "id": "model.config.is_valid.ldap_server", + "translation": "AD/LDAP 栏 \"AD/LDAP 服务器\" 为必填。" + }, + { + "id": "model.config.is_valid.ldap_sync_interval.app_error", + "translation": "无效的同步间隔时间。同步时间必须至少一分钟。" + }, + { + "id": "model.config.is_valid.ldap_username", + "translation": "AD/LDAP 栏 \"用户名\" 为必填。" + }, + { + "id": "model.config.is_valid.listen_address.app_error", + "translation": "无效的服务设置时监听地址,必须设置此项。" + }, + { + "id": "model.config.is_valid.login_attempts.app_error", + "translation": "无效的最大尝试登录数服务设置。必须是正整数。" + }, + { + "id": "model.config.is_valid.max_burst.app_error", + "translation": "最大过载必须大于零。" + }, + { + "id": "model.config.is_valid.max_channels.app_error", + "translation": "团队设置中频道最大用户数无效,必须是正整数。" + }, + { + "id": "model.config.is_valid.max_file_size.app_error", + "translation": "文件设置中最大大小无效。必须是0或者正整数。" + }, + { + "id": "model.config.is_valid.max_notify_per_channel.app_error", + "translation": "无效团队设置中每频道最大通知数。必须是正整数。" + }, + { + "id": "model.config.is_valid.max_users.app_error", + "translation": "团队设置中每团队的最大用户数无效。必须是正整数。" + }, + { + "id": "model.config.is_valid.password_length.app_error", + "translation": "最短密码长度必须为整数大于或等于 {{.MinLength}} 以及小于或等于 {{.MaxLength}}。" + }, + { + "id": "model.config.is_valid.password_length_max_min.app_error", + "translation": "密码最大长度必须大于或等于最短长度。" + }, + { + "id": "model.config.is_valid.rate_mem.app_error", + "translation": "用于速率的内存大小设置无效。必须是正整数" + }, + { + "id": "model.config.is_valid.rate_sec.app_error", + "translation": "速率限制设置无效。必须是正整数" + }, + { + "id": "model.config.is_valid.read_timeout.app_error", + "translation": "错误的读取超时值。" + }, + { + "id": "model.config.is_valid.restrict_direct_message.app_error", + "translation": "无效的私信限制。必须为 'any' 或 'team'" + }, + { + "id": "model.config.is_valid.saml_assertion_consumer_service_url.app_error", + "translation": "服务提供商登入网址必须为有效URL并且以 http:// 或 https:// 开头。" + }, + { + "id": "model.config.is_valid.saml_email_attribute.app_error", + "translation": "无效的电子邮件属性。此属性必须设定。" + }, + { + "id": "model.config.is_valid.saml_idp_cert.app_error", + "translation": "找不到身份识别提供商公开凭证。您忘了上传?" + }, + { + "id": "model.config.is_valid.saml_idp_descriptor_url.app_error", + "translation": "身份提供商签发网址必须为有效URL并且以 http:// 或 https:// 开头。" + }, + { + "id": "model.config.is_valid.saml_idp_url.app_error", + "translation": "SAML SSO网址必须为有效URL并且以 http:// 或 https:// 开头。" + }, + { + "id": "model.config.is_valid.saml_private_key.app_error", + "translation": "找不到服务提供商私钥。您忘了上传?" + }, + { + "id": "model.config.is_valid.saml_public_cert.app_error", + "translation": "找不到服务提供商公开凭证。您忘了上传?" + }, + { + "id": "model.config.is_valid.saml_username_attribute.app_error", + "translation": "无效的用户名属性。此属性必须设定。" + }, + { + "id": "model.config.is_valid.site_url.app_error", + "translation": "站点网址必须为有效URL并且以 http:// 或 https:// 开头" + }, + { + "id": "model.config.is_valid.site_url_email_batching.app_error", + "translation": "当SiteURL未设置时没法启动批量电子邮件。" + }, + { + "id": "model.config.is_valid.sitename_length.app_error", + "translation": "站点名必须小于或等于 {{.MaxLength}} 个字符。" + }, + { + "id": "model.config.is_valid.sql_data_src.app_error", + "translation": "SQL 设置中的数据源无效。必须设定。" + }, + { + "id": "model.config.is_valid.sql_driver.app_error", + "translation": "SQL 设置中的驱动名无效。必须是 'mysql' 或者 'postgres'" + }, + { + "id": "model.config.is_valid.sql_idle.app_error", + "translation": "SQL 设置中的最大的空闲连接数无效。必须是正整数。" + }, + { + "id": "model.config.is_valid.sql_max_conn.app_error", + "translation": "SQL 设置中最大开启连接数无效。必须是正整数。" + }, + { + "id": "model.config.is_valid.time_between_user_typing.app_error", + "translation": "用户键入更新间隔不应设置为小于1000毫秒。" + }, + { + "id": "model.config.is_valid.webrtc_gateway_admin_secret.app_error", + "translation": "WebRTC 网关管理密码必须设定。" + }, + { + "id": "model.config.is_valid.webrtc_gateway_admin_url.app_error", + "translation": "WebRTC 网关管理网址必须时有效的网址并且以 http:// 或 https:// 开头。" + }, + { + "id": "model.config.is_valid.webrtc_gateway_ws_url.app_error", + "translation": "WebRTC 网关 Websocket 网址必须是有效的网址并且以 ws:// 或 wss:// 开头。" + }, + { + "id": "model.config.is_valid.webrtc_stun_uri.app_error", + "translation": "WebRTC STUN URI 必须为有效的 URL 并且以 stun: 开头" + }, + { + "id": "model.config.is_valid.webrtc_turn_shared_key.app_error", + "translation": "如果已设 TURN 网址则 WebRTC TURN 共享密钥不能留空。" + }, + { + "id": "model.config.is_valid.webrtc_turn_uri.app_error", + "translation": "WebRTC TURN 网址必须时有效的网址并且以 turn: 开头" + }, + { + "id": "model.config.is_valid.webrtc_turn_username.app_error", + "translation": "如果已设 TURN 网址则 WebRTC TURN 用户名不能留空。" + }, + { + "id": "model.config.is_valid.webserver_security.app_error", + "translation": "错误的网页服务器连接安全值。" + }, + { + "id": "model.config.is_valid.write_timeout.app_error", + "translation": "错误的写入超时值。" + }, + { + "id": "model.emoji.create_at.app_error", + "translation": "创建日期必须为效时间" + }, + { + "id": "model.emoji.creator_id.app_error", + "translation": "无效创建者id" + }, + { + "id": "model.emoji.id.app_error", + "translation": "无效的表情符 ID" + }, + { + "id": "model.emoji.name.app_error", + "translation": "名称必须在1至64个的小写英文数字" + }, + { + "id": "model.emoji.update_at.app_error", + "translation": "更新时必须是有效时间" + }, + { + "id": "model.file_info.get.gif.app_error", + "translation": "不能解码gif。" + }, + { + "id": "model.incoming_hook.channel_id.app_error", + "translation": "无效的频道id" + }, + { + "id": "model.incoming_hook.create_at.app_error", + "translation": "创建时必须是有效时间" + }, + { + "id": "model.incoming_hook.description.app_error", + "translation": "无效描述" + }, + { + "id": "model.incoming_hook.display_name.app_error", + "translation": "无效显示名" + }, + { + "id": "model.incoming_hook.id.app_error", + "translation": "无效Id" + }, + { + "id": "model.incoming_hook.team_id.app_error", + "translation": "无效的团队 ID" + }, + { + "id": "model.incoming_hook.update_at.app_error", + "translation": "更新时必须是有效时间" + }, + { + "id": "model.incoming_hook.user_id.app_error", + "translation": "无效用户id" + }, + { + "id": "model.oauth.is_valid.app_id.app_error", + "translation": "无效应用 id" + }, + { + "id": "model.oauth.is_valid.callback.app_error", + "translation": "回调网址必须为有效URL并且以 http:// 或 https:// 开头。" + }, + { + "id": "model.oauth.is_valid.client_secret.app_error", + "translation": "无效客户端秘钥" + }, + { + "id": "model.oauth.is_valid.create_at.app_error", + "translation": "创建时必须是有效时间" + }, + { + "id": "model.oauth.is_valid.creator_id.app_error", + "translation": "无效创建者id" + }, + { + "id": "model.oauth.is_valid.description.app_error", + "translation": "无效描述" + }, + { + "id": "model.oauth.is_valid.homepage.app_error", + "translation": "首页网址必须为有效URL并且以 http:// 或 https:// 开头。" + }, + { + "id": "model.oauth.is_valid.icon_url.app_error", + "translation": "图标网址必须为有效URL并且以 http:// 或 https:// 开头。" + }, + { + "id": "model.oauth.is_valid.name.app_error", + "translation": "无效名称" + }, + { + "id": "model.oauth.is_valid.update_at.app_error", + "translation": "更新时必须是有效时间" + }, + { + "id": "model.outgoing_hook.is_valid.callback.app_error", + "translation": "无效的回调网址" + }, + { + "id": "model.outgoing_hook.is_valid.channel_id.app_error", + "translation": "无效的频道id" + }, + { + "id": "model.outgoing_hook.is_valid.create_at.app_error", + "translation": "创建时必须是有效时间" + }, + { + "id": "model.outgoing_hook.is_valid.description.app_error", + "translation": "无效描述" + }, + { + "id": "model.outgoing_hook.is_valid.display_name.app_error", + "translation": "无效显示名" + }, + { + "id": "model.outgoing_hook.is_valid.id.app_error", + "translation": "无效Id" + }, + { + "id": "model.outgoing_hook.is_valid.team_id.app_error", + "translation": "无效的团队 ID" + }, + { + "id": "model.outgoing_hook.is_valid.token.app_error", + "translation": "无效的令牌" + }, + { + "id": "model.outgoing_hook.is_valid.trigger_words.app_error", + "translation": "无效的触发关键词" + }, + { + "id": "model.outgoing_hook.is_valid.update_at.app_error", + "translation": "更新时必须是有效时间" + }, + { + "id": "model.outgoing_hook.is_valid.url.app_error", + "translation": "无效回调urls. 正确的URL必须是以http:// 或者 https://开始" + }, + { + "id": "model.outgoing_hook.is_valid.user_id.app_error", + "translation": "无效用户id" + }, + { + "id": "model.outgoing_hook.is_valid.words.app_error", + "translation": "无效的触发关键词" + }, + { + "id": "model.post.is_valid.channel_id.app_error", + "translation": "无效的频道id" + }, + { + "id": "model.post.is_valid.create_at.app_error", + "translation": "创建时必须是有效时间" + }, + { + "id": "model.post.is_valid.file_ids.app_error", + "translation": "无效文件 id" + }, + { + "id": "model.post.is_valid.filenames.app_error", + "translation": "无效文件名" + }, + { + "id": "model.post.is_valid.hashtags.app_error", + "translation": "无效标签" + }, + { + "id": "model.post.is_valid.id.app_error", + "translation": "无效Id" + }, + { + "id": "model.post.is_valid.msg.app_error", + "translation": "无效消息" + }, + { + "id": "model.post.is_valid.original_id.app_error", + "translation": "无效原始id" + }, + { + "id": "model.post.is_valid.parent_id.app_error", + "translation": "无效父id" + }, + { + "id": "model.post.is_valid.props.app_error", + "translation": "无效属性" + }, + { + "id": "model.post.is_valid.root_id.app_error", + "translation": "无效根id" + }, + { + "id": "model.post.is_valid.root_parent.app_error", + "translation": "如果父 ID 已设置则必须设置无效根 ID" + }, + { + "id": "model.post.is_valid.type.app_error", + "translation": "无效类型" + }, + { + "id": "model.post.is_valid.update_at.app_error", + "translation": "更新时必须是有效时间" + }, + { + "id": "model.post.is_valid.user_id.app_error", + "translation": "无效用户id" + }, + { + "id": "model.preference.is_valid.category.app_error", + "translation": "无效分类" + }, + { + "id": "model.preference.is_valid.id.app_error", + "translation": "无效用户id" + }, + { + "id": "model.preference.is_valid.name.app_error", + "translation": "无效名称" + }, + { + "id": "model.preference.is_valid.theme.app_error", + "translation": "无效主题" + }, + { + "id": "model.preference.is_valid.value.app_error", + "translation": "值过长" + }, + { + "id": "model.reaction.is_valid.create_at.app_error", + "translation": "创建时必须是有效时间" + }, + { + "id": "model.reaction.is_valid.emoji_name.app_error", + "translation": "无效的表情符名" + }, + { + "id": "model.reaction.is_valid.post_id.app_error", + "translation": "无效消息id" + }, + { + "id": "model.reaction.is_valid.user_id.app_error", + "translation": "无效用户id" + }, + { + "id": "model.team.is_valid.characters.app_error", + "translation": "名称必须是2个或以上的小写字母" + }, + { + "id": "model.team.is_valid.company.app_error", + "translation": "无效的公司名" + }, + { + "id": "model.team.is_valid.create_at.app_error", + "translation": "创建时必须是有效时间" + }, + { + "id": "model.team.is_valid.description.app_error", + "translation": "无效的描述" + }, + { + "id": "model.team.is_valid.domains.app_error", + "translation": "无效允许域" + }, + { + "id": "model.team.is_valid.email.app_error", + "translation": "无效邮箱" + }, + { + "id": "model.team.is_valid.id.app_error", + "translation": "无效Id" + }, + { + "id": "model.team.is_valid.name.app_error", + "translation": "无效名称" + }, + { + "id": "model.team.is_valid.reserved.app_error", + "translation": "这个网址是不可用。请尝试另一个。" + }, + { + "id": "model.team.is_valid.type.app_error", + "translation": "无效类型" + }, + { + "id": "model.team.is_valid.update_at.app_error", + "translation": "更新时必须是有效时间" + }, + { + "id": "model.team.is_valid.url.app_error", + "translation": "无效的网址标识" + }, + { + "id": "model.team_member.is_valid.role.app_error", + "translation": "无效角色" + }, + { + "id": "model.team_member.is_valid.team_id.app_error", + "translation": "无效的团队 ID" + }, + { + "id": "model.team_member.is_valid.user_id.app_error", + "translation": "无效用户id" + }, + { + "id": "model.user.is_valid.auth_data.app_error", + "translation": "无效的认证数据" + }, + { + "id": "model.user.is_valid.auth_data_pwd.app_error", + "translation": "无效的用户名,密码和验证数据不能都设置" + }, + { + "id": "model.user.is_valid.auth_data_type.app_error", + "translation": "无效的用户,认证数据必须设置认证类型" + }, + { + "id": "model.user.is_valid.create_at.app_error", + "translation": "创建时必须是有效时间" + }, + { + "id": "model.user.is_valid.email.app_error", + "translation": "无效邮箱" + }, + { + "id": "model.user.is_valid.first_name.app_error", + "translation": "无效的名字" + }, + { + "id": "model.user.is_valid.id.app_error", + "translation": "无效用户id" + }, + { + "id": "model.user.is_valid.last_name.app_error", + "translation": "无效的姓氏" + }, + { + "id": "model.user.is_valid.nickname.app_error", + "translation": "无效的昵称" + }, + { + "id": "model.user.is_valid.position.app_error", + "translation": "无效位置:不能超过 35 个字符。" + }, + { + "id": "model.user.is_valid.pwd.app_error", + "translation": "你的密码需要至少 {{.Min}} 字符。" + }, + { + "id": "model.user.is_valid.pwd_lowercase.app_error", + "translation": "您的密码必须包含至少 {{.Min}} 字符元且至少有一个小写字母。" + }, + { + "id": "model.user.is_valid.pwd_lowercase_number.app_error", + "translation": "您的密码必须包含至少 {{.Min}} 个字符且至少有一个小写字母以及一个数字。" + }, + { + "id": "model.user.is_valid.pwd_lowercase_number_symbol.app_error", + "translation": "您的密码必须包含至少 {{.Min}} 个字符且至少有一个小写字母,一个数字,以及一个符号(如\"~!@#$%^&*()\")。" + }, + { + "id": "model.user.is_valid.pwd_lowercase_symbol.app_error", + "translation": "您的密码必须包含至少 {{.Min}} 个字符且至少有一个小写字母以及一个符号(如\"~!@#$%^&*()\")。" + }, + { + "id": "model.user.is_valid.pwd_lowercase_uppercase.app_error", + "translation": "您的密码必须包含至少 {{.Min}} 个字符且至少有一个小写字母以及一个大写字母。" + }, + { + "id": "model.user.is_valid.pwd_lowercase_uppercase_number.app_error", + "translation": "您的密码必须包含至少 {{.Min}} 个字符且至少有一个小写字母,一个大写字母,以及一个数字。" + }, + { + "id": "model.user.is_valid.pwd_lowercase_uppercase_number_symbol.app_error", + "translation": "您的密码必须包含至少 {{.Min}} 个字符且至少有一个小写字母,一个大写字母,一个数字,以及一个符号(如\"~!@#$%^&*()\")。" + }, + { + "id": "model.user.is_valid.pwd_lowercase_uppercase_symbol.app_error", + "translation": "您的密码必须包含至少 {{.Min}} 个字符且至少有一个小写字母,一个大写字母,以及一个符号(如\"~!@#$%^&*()\")。" + }, + { + "id": "model.user.is_valid.pwd_number.app_error", + "translation": "您的密码必须包含至少 {{.Min}} 个字符且至少有一个数字。" + }, + { + "id": "model.user.is_valid.pwd_number_symbol.app_error", + "translation": "您的密码必须包含至少 {{.Min}} 个字符且至少有一个数字以及一个符号(如\"~!@#$%^&*()\")。" + }, + { + "id": "model.user.is_valid.pwd_symbol.app_error", + "translation": "您的密码必须包含至少 {{.Min}} 个字符且至少有一个符号(如\"~!@#$%^&*()\")。" + }, + { + "id": "model.user.is_valid.pwd_uppercase.app_error", + "translation": "您的密码必须包含至少 {{.Min}} 个字符且至少有一个大写字母。" + }, + { + "id": "model.user.is_valid.pwd_uppercase_number.app_error", + "translation": "您的密码必须包含至少 {{.Min}} 个字符且至少有一个大写字母以及一个数字。" + }, + { + "id": "model.user.is_valid.pwd_uppercase_number_symbol.app_error", + "translation": "您的密码必须包含至少 {{.Min}} 个字符且至少有一个大写字母,一个数字,以及一个符号(如\"~!@#$%^&*()\")。" + }, + { + "id": "model.user.is_valid.pwd_uppercase_symbol.app_error", + "translation": "您的密码必须包含至少 {{.Min}} 个字元且至少有一个大写字母以及一个符号(如\"~!@#$%^&*()\")。" + }, + { + "id": "model.user.is_valid.team_id.app_error", + "translation": "无效的团队 ID" + }, + { + "id": "model.user.is_valid.update_at.app_error", + "translation": "更新时必须是有效时间" + }, + { + "id": "model.user.is_valid.username.app_error", + "translation": "无效用户名" + }, + { + "id": "model.utils.decode_json.app_error", + "translation": "无法解码" + }, + { + "id": "store.sql.alter_column_type.critical", + "translation": "栏目类型%v修改失败" + }, + { + "id": "store.sql.check_index.critical", + "translation": "检查索引失败 %v" + }, + { + "id": "store.sql.closing.info", + "translation": "关闭 SqlStore" + }, + { + "id": "store.sql.column_exists.critical", + "translation": "未能检查列是否存在 %v" + }, + { + "id": "store.sql.column_exists_missing_driver.critical", + "translation": "未能检查因为缺少驱动程序列是否存在" + }, + { + "id": "store.sql.convert_encrypt_string_map", + "translation": "来自数据库:不能从 EncryptStringMap 转换到 *string" + }, + { + "id": "store.sql.convert_string_array", + "translation": "来自数据库:不能从 StringArray 转换到 *string" + }, + { + "id": "store.sql.convert_string_interface", + "translation": "来自数据库:不能从 StringInterface 转换到 *string" + }, + { + "id": "store.sql.convert_string_map", + "translation": "来自数据库:不能从 StringMap 转换到 *string" + }, + { + "id": "store.sql.create_column.critical", + "translation": "创建列 %v 失败" + }, + { + "id": "store.sql.create_column_missing_driver.critical", + "translation": "未能创建列,因为缺少驱动程序" + }, + { + "id": "store.sql.create_index.critical", + "translation": "创建索引失败 %v" + }, + { + "id": "store.sql.create_index_missing_driver.critical", + "translation": "未能创建索引,因为缺少驱动程序" + }, + { + "id": "store.sql.creating_tables.critical", + "translation": "创建数据库表出错:%v" + }, + { + "id": "store.sql.dialect_driver.critical", + "translation": "创建方言专用驱动程序失败" + }, + { + "id": "store.sql.dialect_driver.panic", + "translation": "创建方言专用驱动程序失败 %v" + }, + { + "id": "store.sql.drop_column.critical", + "translation": "未能删除列 %v" + }, + { + "id": "store.sql.incorrect_mac", + "translation": "对于给定的密文不正确的MAC" + }, + { + "id": "store.sql.maxlength_column.critical", + "translation": "未能获取列的最大长度%v" + }, + { + "id": "store.sql.open_conn.critical", + "translation": "打开数据库连接失败 err:%v" + }, + { + "id": "store.sql.open_conn.panic", + "translation": "打开数据库连接失败 %v" + }, + { + "id": "store.sql.ping.critical", + "translation": "ping 数据库失败 err:%v" + }, + { + "id": "store.sql.pinging.info", + "translation": "Pinging sql %v 数据库" + }, + { + "id": "store.sql.read_replicas_not_licensed.critical", + "translation": "当前许可证禁止大于1个读取复制。请联系您的系统管理员关于升级您的企业许可证。" + }, + { + "id": "store.sql.remove_index.critical", + "translation": "删除索引 %v 失败" + }, + { + "id": "store.sql.rename_column.critical", + "translation": "列重命名失败 %v" + }, + { + "id": "store.sql.schema_out_of_date.warn", + "translation": "数据库结构版本 %v 似乎过旧" + }, + { + "id": "store.sql.schema_set.info", + "translation": "数据库结构版本设为 %v" + }, + { + "id": "store.sql.schema_upgrade_attempt.warn", + "translation": "试图将数据库结构版本升级到 %v" + }, + { + "id": "store.sql.schema_version.critical", + "translation": "数据库结构版本 %v 不能升级。你不能跳过一个版本。" + }, + { + "id": "store.sql.short_ciphertext", + "translation": "短密文" + }, + { + "id": "store.sql.table_column_type.critical", + "translation": "未能获得列的数据类型 %s 从表 %s: %v" + }, + { + "id": "store.sql.table_exists.critical", + "translation": "未能检查表是否存在 %v" + }, + { + "id": "store.sql.too_short_ciphertext", + "translation": "密文太短" + }, + { + "id": "store.sql.upgraded.warn", + "translation": "数据库模式版本已经升级到 %v" + }, + { + "id": "store.sql_audit.get.finding.app_error", + "translation": "我们查找审计时遇到一个错误" + }, + { + "id": "store.sql_audit.get.limit.app_error", + "translation": "已达到分页限制" + }, + { + "id": "store.sql_audit.permanent_delete_by_user.app_error", + "translation": "我们删除审核时遇到了一个错误" + }, + { + "id": "store.sql_audit.save.saving.app_error", + "translation": "我们保持审核时出错" + }, + { + "id": "store.sql_channel.analytics_deleted_type_count.app_error", + "translation": "我们无法获取已删除的频道类型数" + }, + { + "id": "store.sql_channel.analytics_type_count.app_error", + "translation": "我们无法获取频道类型数" + }, + { + "id": "store.sql_channel.check_open_channel_permissions.app_error", + "translation": "我们不能检查权限" + }, + { + "id": "store.sql_channel.check_permissions.app_error", + "translation": "我们不能检查权限" + }, + { + "id": "store.sql_channel.check_permissions_by_name.app_error", + "translation": "我们不能检查权限" + }, + { + "id": "store.sql_channel.delete.channel.app_error", + "translation": "我们无法删除频道" + }, + { + "id": "store.sql_channel.extra_updated.app_error", + "translation": "更新成员上次更新时间出现问题" + }, + { + "id": "store.sql_channel.get.existing.app_error", + "translation": "我们找不到现有的频道" + }, + { + "id": "store.sql_channel.get.find.app_error", + "translation": "我们查找该频道时遇到了一个错误" + }, + { + "id": "store.sql_channel.get_all.app_error", + "translation": "我们无法获取所有的频道" + }, + { + "id": "store.sql_channel.get_by_name.existing.app_error", + "translation": "找不到现有的频道" + }, + { + "id": "store.sql_channel.get_by_name.missing.app_error", + "translation": "频道不存在" + }, + { + "id": "store.sql_channel.get_channel_counts.get.app_error", + "translation": "我们无法获取频道数" + }, + { + "id": "store.sql_channel.get_channels.get.app_error", + "translation": "我们无法获取频道" + }, + { + "id": "store.sql_channel.get_channels.not_found.app_error", + "translation": "没有找到频道" + }, + { + "id": "store.sql_channel.get_deleted_by_name.existing.app_error", + "translation": "我们找不到存在的已删除频道" + }, + { + "id": "store.sql_channel.get_deleted_by_name.missing.app_error", + "translation": "没有用于此名的已删频道" + }, + { + "id": "store.sql_channel.get_extra_members.app_error", + "translation": "我们无法获得额外的信息频道成员" + }, + { + "id": "store.sql_channel.get_for_post.app_error", + "translation": "我们无法从提供的信息获得频道" + }, + { + "id": "store.sql_channel.get_member.app_error", + "translation": "我们无法获得该频道成员" + }, + { + "id": "store.sql_channel.get_member.missing.app_error", + "translation": "无法找到与此用户id和频道id相关联的频道成员" + }, + { + "id": "store.sql_channel.get_member_count.app_error", + "translation": "我们无法获得该频道成员数" + }, + { + "id": "store.sql_channel.get_member_for_post.app_error", + "translation": "我们无法从提供的信息获得频道成员" + }, + { + "id": "store.sql_channel.get_members.app_error", + "translation": "我们无法获得该频道成员" + }, + { + "id": "store.sql_channel.get_members_by_ids.app_error", + "translation": "我们无法获得频道成员" + }, + { + "id": "store.sql_channel.get_more_channels.get.app_error", + "translation": "我们无法获得该频道" + }, + { + "id": "store.sql_channel.increment_mention_count.app_error", + "translation": "我们不能增加提及数" + }, + { + "id": "store.sql_channel.permanent_delete.app_error", + "translation": "我们无法删除这个频道" + }, + { + "id": "store.sql_channel.permanent_delete_by_team.app_error", + "translation": "我们无法删除频道" + }, + { + "id": "store.sql_channel.permanent_delete_members_by_user.app_error", + "translation": "我们无法删除频道成员" + }, + { + "id": "store.sql_channel.remove_member.app_error", + "translation": "我们无法删除频道成员" + }, + { + "id": "store.sql_channel.save.commit_transaction.app_error", + "translation": "不能提交事务" + }, + { + "id": "store.sql_channel.save.direct_channel.app_error", + "translation": "使用 SaveDirectChannel 创建私聊频道" + }, + { + "id": "store.sql_channel.save.open_transaction.app_error", + "translation": "不能打开事务" + }, + { + "id": "store.sql_channel.save_channel.current_count.app_error", + "translation": "获取当前频道数失败" + }, + { + "id": "store.sql_channel.save_channel.existing.app_error", + "translation": "必须对现有的频道执行更新" + }, + { + "id": "store.sql_channel.save_channel.exists.app_error", + "translation": "频道名称在团队中已存在" + }, + { + "id": "store.sql_channel.save_channel.limit.app_error", + "translation": "您已经达到了允许的频道数量上限。" + }, + { + "id": "store.sql_channel.save_channel.previously.app_error", + "translation": "先前已创建使用该 URL 的频道" + }, + { + "id": "store.sql_channel.save_channel.save.app_error", + "translation": "我们无法保存该频道" + }, + { + "id": "store.sql_channel.save_direct_channel.add_members.app_error", + "translation": "不能添加私聊频道成员" + }, + { + "id": "store.sql_channel.save_direct_channel.commit.app_error", + "translation": "不能提交事务" + }, + { + "id": "store.sql_channel.save_direct_channel.not_direct.app_error", + "translation": "不能试图用SaveDirectChannel创建私聊频道" + }, + { + "id": "store.sql_channel.save_direct_channel.open_transaction.app_error", + "translation": "不能开启事务" + }, + { + "id": "store.sql_channel.save_member.commit_transaction.app_error", + "translation": "不能提交事务" + }, + { + "id": "store.sql_channel.save_member.exists.app_error", + "translation": "该频道已存在拥有此 ID 的成员" + }, + { + "id": "store.sql_channel.save_member.open_transaction.app_error", + "translation": "不能开启事务" + }, + { + "id": "store.sql_channel.save_member.save.app_error", + "translation": "我们无法保存这个频道成员" + }, + { + "id": "store.sql_channel.search.app_error", + "translation": "我们搜索频道时遇到错误" + }, + { + "id": "store.sql_channel.set_last_viewed_at.app_error", + "translation": "我们不能更新最后查看时间" + }, + { + "id": "store.sql_channel.update.app_error", + "translation": "我们无法更新这个频道" + }, + { + "id": "store.sql_channel.update.exists.app_error", + "translation": "已存在使用该识别名的频道" + }, + { + "id": "store.sql_channel.update.previously.app_error", + "translation": "先前已创建过使用该识别名的频道" + }, + { + "id": "store.sql_channel.update.updating.app_error", + "translation": "我们无法更新这个频道" + }, + { + "id": "store.sql_channel.update_last_viewed_at.app_error", + "translation": "我们不能更新最后查看时间" + }, + { + "id": "store.sql_channel.update_member.app_error", + "translation": "我们更新频道成员遇到了一个错误" + }, + { + "id": "store.sql_command.analytics_command_count.app_error", + "translation": "我们无法计算指令数量" + }, + { + "id": "store.sql_command.save.delete.app_error", + "translation": "我们无法删除命令" + }, + { + "id": "store.sql_command.save.delete_perm.app_error", + "translation": "我们无法删除命令" + }, + { + "id": "store.sql_command.save.get.app_error", + "translation": "我们无法获取这个命令" + }, + { + "id": "store.sql_command.save.get_team.app_error", + "translation": "我们无法获取这个命令" + }, + { + "id": "store.sql_command.save.saving.app_error", + "translation": "我们无法保存这个命令" + }, + { + "id": "store.sql_command.save.saving_overwrite.app_error", + "translation": "您不能覆盖一个已存在的命令" + }, + { + "id": "store.sql_command.save.update.app_error", + "translation": "我们无法更新这个命令" + }, + { + "id": "store.sql_compliance.get.finding.app_error", + "translation": "我们获取合规报告时遇到错误" + }, + { + "id": "store.sql_compliance.save.saving.app_error", + "translation": "我们保存合规报告时遇到错误" + }, + { + "id": "store.sql_emoji.delete.app_error", + "translation": "我们无法删除此表情符" + }, + { + "id": "store.sql_emoji.delete.no_results", + "translation": "找不到要删除的表情符号" + }, + { + "id": "store.sql_emoji.get.app_error", + "translation": "我们无法获取此表情符" + }, + { + "id": "store.sql_emoji.get_all.app_error", + "translation": "我们无法获取此表情符" + }, + { + "id": "store.sql_emoji.get_by_name.app_error", + "translation": "我们无法获取此表情符" + }, + { + "id": "store.sql_emoji.save.app_error", + "translation": "我们无法保存此表情符" + }, + { + "id": "store.sql_file_info.attach_to_post.app_error", + "translation": "我们没法附文件信息到信息" + }, + { + "id": "store.sql_file_info.delete_for_post.app_error", + "translation": "我们没法从信息删除文件信息" + }, + { + "id": "store.sql_file_info.get.app_error", + "translation": "我们无法获取文件信息" + }, + { + "id": "store.sql_file_info.get_by_path.app_error", + "translation": "我们无法从路径获取文件信息" + }, + { + "id": "store.sql_file_info.get_for_post.app_error", + "translation": "我们没法从信息获取文件信息" + }, + { + "id": "store.sql_file_info.save.app_error", + "translation": "我们无法保存文件信息" + }, + { + "id": "store.sql_license.get.app_error", + "translation": "我们获取许可证时出现一个错误" + }, + { + "id": "store.sql_license.get.missing.app_error", + "translation": "许可证ID未找到" + }, + { + "id": "store.sql_license.save.app_error", + "translation": "我们保存许可证时出现一个错误" + }, + { + "id": "store.sql_oauth.delete.commit_transaction.app_error", + "translation": "无法提交事务" + }, + { + "id": "store.sql_oauth.delete.open_transaction.app_error", + "translation": "无法开启删除 OAuth2 应用事物" + }, + { + "id": "store.sql_oauth.delete.rollback_transaction.app_error", + "translation": "无法回滚删除 OAuth2 应用事物" + }, + { + "id": "store.sql_oauth.delete_app.app_error", + "translation": "删除 OAuth2 应用时遇到错误" + }, + { + "id": "store.sql_oauth.get_access_data.app_error", + "translation": "我们查找访问令牌时遇到一个错误" + }, + { + "id": "store.sql_oauth.get_access_data_by_user_for_app.app_error", + "translation": "我们查找访问令牌时遇到一个错误" + }, + { + "id": "store.sql_oauth.get_app.find.app_error", + "translation": "我们无法查找请求的应用" + }, + { + "id": "store.sql_oauth.get_app.finding.app_error", + "translation": "我们查找这个app出现错误" + }, + { + "id": "store.sql_oauth.get_app_by_user.find.app_error", + "translation": "我们无法查找一些存在的apps" + }, + { + "id": "store.sql_oauth.get_apps.find.app_error", + "translation": "寻找 OAuth2 应用时遇到错误" + }, + { + "id": "store.sql_oauth.get_auth_data.find.app_error", + "translation": "我们找不到现有的授权码" + }, + { + "id": "store.sql_oauth.get_auth_data.finding.app_error", + "translation": "我们查找授权码遇到了一个错误" + }, + { + "id": "store.sql_oauth.get_previous_access_data.app_error", + "translation": "我们查找访问令牌时遇到一个错误" + }, + { + "id": "store.sql_oauth.permanent_delete_auth_data_by_user.app_error", + "translation": "我们无法删除授权码" + }, + { + "id": "store.sql_oauth.remove_access_data.app_error", + "translation": "我们无法删除这个访问令牌" + }, + { + "id": "store.sql_oauth.remove_auth_data.app_error", + "translation": "我们无法删除授权码" + }, + { + "id": "store.sql_oauth.save_access_data.app_error", + "translation": "我们无法保存这个访问令牌。" + }, + { + "id": "store.sql_oauth.save_app.existing.app_error", + "translation": "必须对现有的应用执行更新" + }, + { + "id": "store.sql_oauth.save_app.save.app_error", + "translation": "我们不能保存这个应用。" + }, + { + "id": "store.sql_oauth.save_auth_data.app_error", + "translation": "我们无法保存授权码。" + }, + { + "id": "store.sql_oauth.update_access_data.app_error", + "translation": "我们更新访问令牌时遇到一个错误" + }, + { + "id": "store.sql_oauth.update_app.find.app_error", + "translation": "我们找不到现有的app更新" + }, + { + "id": "store.sql_oauth.update_app.finding.app_error", + "translation": "我们查找app遇到了一个错误" + }, + { + "id": "store.sql_oauth.update_app.update.app_error", + "translation": "我们不能更新这个app" + }, + { + "id": "store.sql_oauth.update_app.updating.app_error", + "translation": "我们更新这个app出现一个错误" + }, + { + "id": "store.sql_post.analytics_posts_count.app_error", + "translation": "我们无法获取邮件数" + }, + { + "id": "store.sql_post.analytics_posts_count_by_day.app_error", + "translation": "我们无法通过天获取邮件数" + }, + { + "id": "store.sql_post.analytics_user_counts_posts_by_day.app_error", + "translation": "我们无法通过邮件获取用户数" + }, + { + "id": "store.sql_post.delete.app_error", + "translation": "我们不能删除这个邮件" + }, + { + "id": "store.sql_post.get.app_error", + "translation": "我们无法获取这个邮件" + }, + { + "id": "store.sql_post.get_parents_posts.app_error", + "translation": "我们无法获取这个频道的父信息" + }, + { + "id": "store.sql_post.get_posts.app_error", + "translation": "分页限制" + }, + { + "id": "store.sql_post.get_posts_around.get.app_error", + "translation": "我们无法获取这个频道的信息" + }, + { + "id": "store.sql_post.get_posts_around.get_parent.app_error", + "translation": "我们无法获取这个频道的父信息" + }, + { + "id": "store.sql_post.get_posts_created_att.app_error", + "translation": "我们无法获取这个频道的消息" + }, + { + "id": "store.sql_post.get_posts_since.app_error", + "translation": "我们无法获取这个频道的信息" + }, + { + "id": "store.sql_post.get_root_posts.app_error", + "translation": "我们无法获取这个频道的信息" + }, + { + "id": "store.sql_post.overwrite.app_error", + "translation": "我们无法覆盖消息" + }, + { + "id": "store.sql_post.permanent_delete.app_error", + "translation": "我们无法删除这个邮件" + }, + { + "id": "store.sql_post.permanent_delete_all_comments_by_user.app_error", + "translation": "我们不能删除用户的评论" + }, + { + "id": "store.sql_post.permanent_delete_by_channel.app_error", + "translation": "我们无法在频道中删除这些消息" + }, + { + "id": "store.sql_post.permanent_delete_by_user.app_error", + "translation": "我们不能为用户选择要删除的信息" + }, + { + "id": "store.sql_post.permanent_delete_by_user.too_many.app_error", + "translation": "我们不能为用户选择要删除的信息(数量太多),请重新运行" + }, + { + "id": "store.sql_post.save.app_error", + "translation": "我们无法保存这个邮件" + }, + { + "id": "store.sql_post.save.existing.app_error", + "translation": "您不能更新一个村庄的邮件" + }, + { + "id": "store.sql_post.search.warn", + "translation": "搜索消息查询错误:%v" + }, + { + "id": "store.sql_post.update.app_error", + "translation": "我们不能更新这个邮件" + }, + { + "id": "store.sql_preference.delete.app_error", + "translation": "我们删除偏好设置时出现错误" + }, + { + "id": "store.sql_preference.delete_unused_features.debug", + "translation": "删除任何未使用的预发行功能" + }, + { + "id": "store.sql_preference.get.app_error", + "translation": "我们在查找偏好设置时遇到了一个错误" + }, + { + "id": "store.sql_preference.get_all.app_error", + "translation": "我们在查找偏好设置时遇到了一个错误" + }, + { + "id": "store.sql_preference.get_category.app_error", + "translation": "我们在查找偏好设置时遇到了一个错误" + }, + { + "id": "store.sql_preference.insert.exists.app_error", + "translation": "一个带用户id,分类,名称的偏好设置已经存在" + }, + { + "id": "store.sql_preference.insert.save.app_error", + "translation": "我们无法保存这个偏好设置We couldn't save the preference" + }, + { + "id": "store.sql_preference.is_feature_enabled.app_error", + "translation": "我们查找一个预发布偏好设置时出现问题" + }, + { + "id": "store.sql_preference.permanent_delete_by_user.app_error", + "translation": "我们删除偏好设置时出现一个错误" + }, + { + "id": "store.sql_preference.save.commit_transaction.app_error", + "translation": "保存偏好设置时无法提交事务" + }, + { + "id": "store.sql_preference.save.missing_driver.app_error", + "translation": "我们更新偏好设置时出现一个错误" + }, + { + "id": "store.sql_preference.save.open_transaction.app_error", + "translation": "保存偏好设置时不能打开事务" + }, + { + "id": "store.sql_preference.save.rollback_transaction.app_error", + "translation": "保存偏好设置时不能回滚事务" + }, + { + "id": "store.sql_preference.save.updating.app_error", + "translation": "我们更新偏好设置时出现一个错误" + }, + { + "id": "store.sql_preference.update.app_error", + "translation": "我们无法更新这个偏好设置" + }, + { + "id": "store.sql_reaction.delete.begin.app_error", + "translation": "删除反应时无法打开事务" + }, + { + "id": "store.sql_reaction.delete.commit.app_error", + "translation": "删除反应时无法提交事务" + }, + { + "id": "store.sql_reaction.delete.save.app_error", + "translation": "无法删除反应" + }, + { + "id": "store.sql_reaction.delete_all_with_emoj_name.delete_reactions.app_error", + "translation": "无法用提供的表情符删除反应" + }, + { + "id": "store.sql_reaction.delete_all_with_emoj_name.get_reactions.app_error", + "translation": "无法用提供的表情符获取反应" + }, + { + "id": "store.sql_reaction.delete_all_with_emoji_name.update_post.warn", + "translation": "无法删除反应时更新 Post.HasReactions post_id=%v, error=%v" + }, + { + "id": "store.sql_reaction.get_for_post.app_error", + "translation": "无法获取消息的反应" + }, + { + "id": "store.sql_reaction.save.begin.app_error", + "translation": "无法保存反应时打开事务" + }, + { + "id": "store.sql_reaction.save.commit.app_error", + "translation": "无法保存反应时提交事务" + }, + { + "id": "store.sql_reaction.save.save.app_error", + "translation": "无法保存反应" + }, + { + "id": "store.sql_session.analytics_session_count.app_error", + "translation": "我们无法计算会话数量" + }, + { + "id": "store.sql_session.cleanup_expired_sessions.app_error", + "translation": "我们删除过期用户会话时出错" + }, + { + "id": "store.sql_session.get.app_error", + "translation": "我们查找这个会话时出错" + }, + { + "id": "store.sql_session.get_sessions.app_error", + "translation": "我们查找用户会话时出错" + }, + { + "id": "store.sql_session.get_sessions.error", + "translation": "清空会话失败 err=%v" + }, + { + "id": "store.sql_session.permanent_delete_sessions_by_user.app_error", + "translation": "我们无法删除该用户所有的会话" + }, + { + "id": "store.sql_session.remove.app_error", + "translation": "我们无法删除这个会话" + }, + { + "id": "store.sql_session.remove_all_sessions_for_team.app_error", + "translation": "我们无法删除所有会话" + }, + { + "id": "store.sql_session.save.app_error", + "translation": "我们无法保存这个会话" + }, + { + "id": "store.sql_session.save.cleanup.error", + "translation": "保存时清空会话失败 err=%v" + }, + { + "id": "store.sql_session.save.existing.app_error", + "translation": "不能更新现有会话" + }, + { + "id": "store.sql_session.update_device_id.app_error", + "translation": "我们无法更新这个设备id" + }, + { + "id": "store.sql_session.update_last_activity.app_error", + "translation": "我们无法更新 last_activity_at" + }, + { + "id": "store.sql_session.update_roles.app_error", + "translation": "我们无法更新角色" + }, + { + "id": "store.sql_status.get.app_error", + "translation": "获取状态时遇到错误" + }, + { + "id": "store.sql_status.get.missing.app_error", + "translation": "该状态没有对应的数据" + }, + { + "id": "store.sql_status.get_online.app_error", + "translation": "获取所有在线状态时发生错误" + }, + { + "id": "store.sql_status.get_online_away.app_error", + "translation": "获取所有在线/离开状态时遇到错误" + }, + { + "id": "store.sql_status.get_team_statuses.app_error", + "translation": "获取所有团队成员状态时遇到错误" + }, + { + "id": "store.sql_status.get_total_active_users_count.app_error", + "translation": "我们无法计算启用的用户数" + }, + { + "id": "store.sql_status.reset_all.app_error", + "translation": "重置所有状态时遇到错误" + }, + { + "id": "store.sql_status.save.app_error", + "translation": "保存状态时遇到错误" + }, + { + "id": "store.sql_status.update.app_error", + "translation": "更新状态时遇到错误" + }, + { + "id": "store.sql_system.get.app_error", + "translation": "我们再查找系统属性遇到了一个错误" + }, + { + "id": "store.sql_system.get_by_name.app_error", + "translation": "我们找不到该系统变量。" + }, + { + "id": "store.sql_system.get_version.app_error", + "translation": "我们无法获得数据库版本" + }, + { + "id": "store.sql_system.save.app_error", + "translation": "我们保存系统属性时遇到了一个错误" + }, + { + "id": "store.sql_system.update.app_error", + "translation": "我们更新系统属性时遇到了一个错误" + }, + { + "id": "store.sql_team.analytics_team_count.app_error", + "translation": "我们无法计算团队数" + }, + { + "id": "store.sql_team.get.find.app_error", + "translation": "我们找不到已存在的团队" + }, + { + "id": "store.sql_team.get.finding.app_error", + "translation": "我们查找团队时遇到错误" + }, + { + "id": "store.sql_team.get_all.app_error", + "translation": "我们无法获取所有的团队" + }, + { + "id": "store.sql_team.get_all_team_listing.app_error", + "translation": "我们无法获取所有的团队" + }, + { + "id": "store.sql_team.get_by_invite_id.find.app_error", + "translation": "我们无法查找这个存在的团队" + }, + { + "id": "store.sql_team.get_by_invite_id.finding.app_error", + "translation": "我们无法查找这个存在的团队" + }, + { + "id": "store.sql_team.get_by_name.app_error", + "translation": "我们无法查找这个存在的团队" + }, + { + "id": "store.sql_team.get_member.app_error", + "translation": "我们无法获得频道成员" + }, + { + "id": "store.sql_team.get_member.missing.app_error", + "translation": "无法找到此用户id和团队id相关联的团队成员" + }, + { + "id": "store.sql_team.get_member_count.app_error", + "translation": "我们无法计算团队成员数" + }, + { + "id": "store.sql_team.get_members.app_error", + "translation": "我们无法获得频道成员" + }, + { + "id": "store.sql_team.get_members_by_ids.app_error", + "translation": "我们无法获得团队成员" + }, + { + "id": "store.sql_team.get_teams_for_email.app_error", + "translation": "我们查找团队时遇到了一个问题" + }, + { + "id": "store.sql_team.get_unread.app_error", + "translation": "我们无法获取团队未读消息" + }, + { + "id": "store.sql_team.permanent_delete.app_error", + "translation": "我们不能删除现有的团队" + }, + { + "id": "store.sql_team.remove_member.app_error", + "translation": "我们无法删除频道成员" + }, + { + "id": "store.sql_team.save.app_error", + "translation": "我们无法保存团队" + }, + { + "id": "store.sql_team.save.domain_exists.app_error", + "translation": "已有团队拥有此名称" + }, + { + "id": "store.sql_team.save.existing.app_error", + "translation": "必须对现有的团队执行更新" + }, + { + "id": "store.sql_team.save_member.exists.app_error", + "translation": "拥有此ID的团队成员已存在" + }, + { + "id": "store.sql_team.save_member.save.app_error", + "translation": "我们无法保存该频道成员" + }, + { + "id": "store.sql_team.update.app_error", + "translation": "我们无法更新该团队" + }, + { + "id": "store.sql_team.update.find.app_error", + "translation": "我们没找到已存在的团队来更新" + }, + { + "id": "store.sql_team.update.finding.app_error", + "translation": "我们查找该团队时遇到一个错误" + }, + { + "id": "store.sql_team.update.updating.app_error", + "translation": "我们更新该团队时遇到一个错误" + }, + { + "id": "store.sql_team.update_display_name.app_error", + "translation": "我们无法更新团队名称" + }, + { + "id": "store.sql_user.analytics_get_inactive_users_count.app_error", + "translation": "我们无法计算未活动的用户数" + }, + { + "id": "store.sql_user.analytics_get_system_admin_count.app_error", + "translation": "我们无法获取系统管理数" + }, + { + "id": "store.sql_user.analytics_unique_user_count.app_error", + "translation": "我们无法获得不重复的用户数量" + }, + { + "id": "store.sql_user.get.app_error", + "translation": "我们查找帐户遇到了一个错误" + }, + { + "id": "store.sql_user.get_all_using_auth_service.other.app_error", + "translation": "我们查找使用特定验证方式的帐号时遇到错误。" + }, + { + "id": "store.sql_user.get_by_auth.missing_account.app_error", + "translation": "我们没找到符合您的验证方式的帐号。此团队或许需要从团队拥有者获得邀请才可加入。" + }, + { + "id": "store.sql_user.get_by_auth.other.app_error", + "translation": "我们在尝试通过身份验证类型找到账户时遇到一个问题。" + }, + { + "id": "store.sql_user.get_by_username.app_error", + "translation": "我们无法在这个团队中找到一个匹配您用户名的现有帐户。此团队或许需要从团队拥有者获得邀请才可加入。" + }, + { + "id": "store.sql_user.get_for_login.app_error", + "translation": "我们无法在这个团队中找到一个匹配您帐号的用户。此团队或许需要从团队拥有者获得邀请才可加入。" + }, + { + "id": "store.sql_user.get_for_login.multiple_users", + "translation": "我们发现多个用户的登陆凭据与你匹配,因此禁用了你的登陆权限。请与管理员联系。" + }, + { + "id": "store.sql_user.get_profiles.app_error", + "translation": "我们查找用户配置文件遇到了一个错误" + }, + { + "id": "store.sql_user.get_recently_active_users.app_error", + "translation": "查找最近活动的用户时遇到错误" + }, + { + "id": "store.sql_user.get_sysadmin_profiles.app_error", + "translation": "我们查找用户配置文件遇到了一个错误" + }, + { + "id": "store.sql_user.get_total_users_count.app_error", + "translation": "我们无法计算用户数" + }, + { + "id": "store.sql_user.get_unread_count.app_error", + "translation": "我们无法为用户获取到未读信息数量" + }, + { + "id": "store.sql_user.get_unread_count_for_channel.app_error", + "translation": "我们无法为用户和频道获取未读信息数量" + }, + { + "id": "store.sql_user.migrate_theme.critical", + "translation": "移植 User.ThemeProps 到 Preferences 表 %v 时失败" + }, + { + "id": "store.sql_user.missing_account.const", + "translation": "无法找到该用户。" + }, + { + "id": "store.sql_user.permanent_delete.app_error", + "translation": "我们无法删除现有的用户" + }, + { + "id": "store.sql_user.save.app_error", + "translation": "我们无法保存用户。" + }, + { + "id": "store.sql_user.save.email_exists.app_error", + "translation": "已有帐号使用该电子邮件。" + }, + { + "id": "store.sql_user.save.email_exists.ldap_app_error", + "translation": "这个账号不使用 AD/LDAP 验证。请使用电子邮件和密码登陆。" + }, + { + "id": "store.sql_user.save.email_exists.saml_app_error", + "translation": "这个账号不使用LDAP验证。请使用电子邮件和密码登陆。" + }, + { + "id": "store.sql_user.save.existing.app_error", + "translation": "必须对现有的用户执行更新" + }, + { + "id": "store.sql_user.save.max_accounts.app_error", + "translation": "这个团队已经达到允许的最大用户数量。请与系统管理员联系以设置更高的限制。" + }, + { + "id": "store.sql_user.save.member_count.app_error", + "translation": "未能获得当前的团队成员计数" + }, + { + "id": "store.sql_user.save.username_exists.app_error", + "translation": "使用该用户名的账户已存在。" + }, + { + "id": "store.sql_user.save.username_exists.ldap_app_error", + "translation": "使用此用户名的帐号已经存在。请与您的管理员联系。" + }, + { + "id": "store.sql_user.save.username_exists.saml_app_error", + "translation": "已有帐号使用该用户名。请联系您的管理员。" + }, + { + "id": "store.sql_user.update.app_error", + "translation": "我们无法更新用户" + }, + { + "id": "store.sql_user.update.can_not_change_ldap.app_error", + "translation": "无法更改 AD/LDAP 设定的字段" + }, + { + "id": "store.sql_user.update.email_taken.app_error", + "translation": "该邮箱已被使用。请重新选择。" + }, + { + "id": "store.sql_user.update.find.app_error", + "translation": "我们没法查找已存在的帐号以更新" + }, + { + "id": "store.sql_user.update.finding.app_error", + "translation": "我们查找该用户时遇到一个错误" + }, + { + "id": "store.sql_user.update.updating.app_error", + "translation": "我们更新用户时遇到了一个错误" + }, + { + "id": "store.sql_user.update.username_taken.app_error", + "translation": "这个用户名已被使用。请重新选择。" + }, + { + "id": "store.sql_user.update_auth_data.app_error", + "translation": "我们无法更新认证数据" + }, + { + "id": "store.sql_user.update_auth_data.email_exists.app_error", + "translation": "不能切换至 {{.Service}}账号。 使用此邮件{{.Email}}的账号已经存在。" + }, + { + "id": "store.sql_user.update_failed_pwd_attempts.app_error", + "translation": "我们无法更新 failed_attempts" + }, + { + "id": "store.sql_user.update_last_activity.app_error", + "translation": "我们无法更新 last_activity_at" + }, + { + "id": "store.sql_user.update_last_picture_update.app_error", + "translation": "我们无法更新 update_at" + }, + { + "id": "store.sql_user.update_last_ping.app_error", + "translation": "我们无法更新 last_ping_at" + }, + { + "id": "store.sql_user.update_mfa_active.app_error", + "translation": "我们在更新用户的多重验证使用状态时遇到一个错误" + }, + { + "id": "store.sql_user.update_mfa_secret.app_error", + "translation": "我们在更新用户的多重验证密码时遇到一个错误" + }, + { + "id": "store.sql_user.update_password.app_error", + "translation": "我们无法更新用户密码" + }, + { + "id": "store.sql_user.verify_email.app_error", + "translation": "无法更新验证电子邮件字段" + }, + { + "id": "store.sql_webhooks.analytics_incoming_count.app_error", + "translation": "我们无法计算传入的 webhooks" + }, + { + "id": "store.sql_webhooks.analytics_outgoing_count.app_error", + "translation": "我们无法计算传出的 webhooks" + }, + { + "id": "store.sql_webhooks.delete_incoming.app_error", + "translation": "我们无法删除 webhook" + }, + { + "id": "store.sql_webhooks.delete_outgoing.app_error", + "translation": "我们无法删除 webhook" + }, + { + "id": "store.sql_webhooks.get_incoming.app_error", + "translation": "我们不能获取 webhook" + }, + { + "id": "store.sql_webhooks.get_incoming_by_channel.app_error", + "translation": "我们不能获取 webhooks" + }, + { + "id": "store.sql_webhooks.get_incoming_by_user.app_error", + "translation": "我们不能获取 webhook" + }, + { + "id": "store.sql_webhooks.get_outgoing.app_error", + "translation": "我们不能获取 webhook" + }, + { + "id": "store.sql_webhooks.get_outgoing_by_channel.app_error", + "translation": "我们不能获取 webhooks" + }, + { + "id": "store.sql_webhooks.get_outgoing_by_team.app_error", + "translation": "我们不能获取 webhooks" + }, + { + "id": "store.sql_webhooks.permanent_delete_incoming_by_user.app_error", + "translation": "我们无法删除 webhook" + }, + { + "id": "store.sql_webhooks.permanent_delete_outgoing_by_user.app_error", + "translation": "我们无法删除 webhook" + }, + { + "id": "store.sql_webhooks.save_incoming.app_error", + "translation": "我们不能保存传入的 webhook" + }, + { + "id": "store.sql_webhooks.save_incoming.existing.app_error", + "translation": "您不能覆盖现有的传入的 webhook" + }, + { + "id": "store.sql_webhooks.save_outgoing.app_error", + "translation": "我们不能保存传出的 webhook" + }, + { + "id": "store.sql_webhooks.save_outgoing.override.app_error", + "translation": "你不能覆盖现有的传出的 webhook" + }, + { + "id": "store.sql_webhooks.update_incoming.app_error", + "translation": "我们无法更新 IncomingWebhook" + }, + { + "id": "store.sql_webhooks.update_outgoing.app_error", + "translation": "我们不能更新 webhook" + }, + { + "id": "system.message.name", + "translation": "系统" + }, + { + "id": "utils.config.load_config.decoding.panic", + "translation": "解码配置出错 file={{.Filename}}, err={{.Error}}" + }, + { + "id": "utils.config.load_config.getting.panic", + "translation": "获取配置信息时出错 file={{.Filename}}, err={{.Error}}" + }, + { + "id": "utils.config.load_config.opening.panic", + "translation": "打开配置错误 file={{.Filename}}, err={{.Error}}" + }, + { + "id": "utils.config.load_config.validating.panic", + "translation": "验证配置错误 file={{.Filename}}, err={{.Error}}" + }, + { + "id": "utils.config.save_config.saving.app_error", + "translation": "保存文件时出错 {{.Filename}}" + }, + { + "id": "utils.config.supported_client_locale.app_error", + "translation": "无法加载 Mattermost 配置文件:DefaultClientLocale 必须为支持的区域" + }, + { + "id": "utils.config.supported_server_locale.app_error", + "translation": "无法加载 Mattermost 配置文件:DefaultServerLocale 必须为支持的区域" + }, + { + "id": "utils.config.validate_locale.app_error", + "translation": "无法加载 Mattermost 配置文件:AvailableLocales 必须包含 DefaultClientLocale" + }, + { + "id": "utils.diagnostic.analytics_not_found.app_error", + "translation": "解析未初始化" + }, + { + "id": "utils.i18n.loaded", + "translation": "加载系统翻译 '%v' 从 '%v'" + }, + { + "id": "utils.iru.with_evict", + "translation": "必须提供一个正数大小" + }, + { + "id": "utils.license.load_license.invalid.warn", + "translation": "未发现有效企业许可证" + }, + { + "id": "utils.license.remove_license.unable.error", + "translation": "无法删除许可证文件, err=%v" + }, + { + "id": "utils.license.validate_license.decode.error", + "translation": "解码许可证遇到错误, err=%v" + }, + { + "id": "utils.license.validate_license.invalid.error", + "translation": "无效签名, err=%v" + }, + { + "id": "utils.license.validate_license.not_long.error", + "translation": "签名许可证长度不够" + }, + { + "id": "utils.license.validate_license.signing.error", + "translation": "遇到错误签名许可证, err=%v" + }, + { + "id": "utils.mail.connect_smtp.open.app_error", + "translation": "打开连接失败" + }, + { + "id": "utils.mail.connect_smtp.open_tls.app_error", + "translation": "未能打开TLS连接" + }, + { + "id": "utils.mail.new_client.auth.app_error", + "translation": "无法验证SMTP服务器" + }, + { + "id": "utils.mail.new_client.open.error", + "translation": "无法打开一个SMTP服务器连接 %v" + }, + { + "id": "utils.mail.send_mail.close.app_error", + "translation": "未能关闭连接到SMTP服务器" + }, + { + "id": "utils.mail.send_mail.from_address.app_error", + "translation": "未能从电子邮件地址添加" + }, + { + "id": "utils.mail.send_mail.msg.app_error", + "translation": "写电子邮件失败" + }, + { + "id": "utils.mail.send_mail.msg_data.app_error", + "translation": "添加电子邮件信息数据失败" + }, + { + "id": "utils.mail.send_mail.sending.debug", + "translation": "发送邮件到 %v 主题 '%v'" + }, + { + "id": "utils.mail.send_mail.to_address.app_error", + "translation": "添加邮箱地址失败" + }, + { + "id": "utils.mail.test.configured.error", + "translation": "SMTP服务器设置配置错误 err=%v details=%v" + }, + { + "id": "utils.mail.test.configured.error", + "translation": "SMTP服务器设置配置错误 err=%v details=%v" + }, + { + "id": "web.admin_console.title", + "translation": "管理控制台" + }, + { + "id": "web.authorize_oauth.title", + "translation": "授权申请" + }, + { + "id": "web.check_browser_compatibility.app_error", + "translation": "您当前的浏览器不支持,请升级到下列浏览器之一:Chrome 21 或以上、Internet Explorer 11 或以上、火狐 14 或以上、Safari 9 或以上" + }, + { + "id": "web.claim_account.team.error", + "translation": "不能找到团队 name=%v, err=%v" + }, + { + "id": "web.claim_account.title", + "translation": "认领账户" + }, + { + "id": "web.claim_account.user.error", + "translation": "不能找到用户 teamid=%v, email=%v, err=%v" + }, + { + "id": "web.create_dir.error", + "translation": "创建目录监视器失败 %v" + }, + { + "id": "web.dir_fail.error", + "translation": "目录中的监视器失败 %v" + }, + { + "id": "web.do_load_channel.error", + "translation": "获取用户配置文件时出错 id=%v 强制注销" + }, + { + "id": "web.doc.title", + "translation": "文档" + }, + { + "id": "web.email_verified.title", + "translation": "邮箱验证" + }, + { + "id": "web.find_team.title", + "translation": "查找团队" + }, + { + "id": "web.header.back", + "translation": "返回" + }, + { + "id": "web.incoming_webhook.attachment.app_error", + "translation": "最大附件长度为 {{.Max}} 字,已收到大小为 {{.Actual}}" + }, + { + "id": "web.incoming_webhook.channel.app_error", + "translation": "找不到该频道" + }, + { + "id": "web.incoming_webhook.disabled.app_error", + "translation": "传入webhooks已经被系统管理员禁用。" + }, + { + "id": "web.incoming_webhook.invalid.app_error", + "translation": "无效webhook" + }, + { + "id": "web.incoming_webhook.parse.app_error", + "translation": "无法解析传入数据" + }, + { + "id": "web.incoming_webhook.permissions.app_error", + "translation": "不合适的频道权限" + }, + { + "id": "web.incoming_webhook.text.app_error", + "translation": "未指定文本" + }, + { + "id": "web.incoming_webhook.text.length.app_error", + "translation": "最大文字长度位 {{.Max}} 字,已收到大小为 {{.Actual}}" + }, + { + "id": "web.incoming_webhook.user.app_error", + "translation": "不能找到用户" + }, + { + "id": "web.init.debug", + "translation": "初始化web routes" + }, + { + "id": "web.login.error", + "translation": "不能找到团队 name=%v, err=%v" + }, + { + "id": "web.login.login_title", + "translation": "登录" + }, + { + "id": "web.login_with_oauth.invalid_team.app_error", + "translation": "无效团队名称" + }, + { + "id": "web.parsing_templates.debug", + "translation": "解析模板 %v" + }, + { + "id": "web.parsing_templates.error", + "translation": "解析模板失败 %v" + }, + { + "id": "web.post_permalink.app_error", + "translation": "无效Post ID" + }, + { + "id": "web.reparse_templates.info", + "translation": "修改文件后重新解析模板 %v" + }, + { + "id": "web.reset_password.expired_link.app_error", + "translation": "密码重置链接已过期" + }, + { + "id": "web.reset_password.invalid_link.app_error", + "translation": "重置链接不会生效" + }, + { + "id": "web.root.home_title", + "translation": "首页" + }, + { + "id": "web.root.singup_title", + "translation": "注册" + }, + { + "id": "web.signup_team_complete.invalid_link.app_error", + "translation": "注册链接无效" + }, + { + "id": "web.signup_team_complete.link_expired.app_error", + "translation": "注册链接已过期" + }, + { + "id": "web.signup_team_complete.title", + "translation": "完成的团队注册" + }, + { + "id": "web.signup_team_confirm.title", + "translation": "注册电子邮件发送" + }, + { + "id": "web.signup_user_complete.link_expired.app_error", + "translation": "注册链接已过期" + }, + { + "id": "web.signup_user_complete.link_invalid.app_error", + "translation": "注册链接无效" + }, + { + "id": "web.signup_user_complete.no_invites.app_error", + "translation": "团队类型不允许公开邀请" + }, + { + "id": "web.signup_user_complete.title", + "translation": "完成用户注册" + }, + { + "id": "web.singup_with_oauth.invalid_team.app_error", + "translation": "无效团队名称" + }, + { + "id": "web.watcher_fail.error", + "translation": "无法添加目录给观察者 %v" + } +] diff --git a/i18n/zh-TW.json b/i18n/zh-TW.json new file mode 100644 index 000000000..7eeb068c3 --- /dev/null +++ b/i18n/zh-TW.json @@ -0,0 +1,5978 @@ +[ + { + "id": "April", + "translation": "四月" + }, + { + "id": "August", + "translation": "八月" + }, + { + "id": "December", + "translation": "十二月" + }, + { + "id": "February", + "translation": "二月" + }, + { + "id": "January", + "translation": "一月" + }, + { + "id": "July", + "translation": "七月" + }, + { + "id": "June", + "translation": "六月" + }, + { + "id": "March", + "translation": "三月" + }, + { + "id": "May", + "translation": "五月" + }, + { + "id": "November", + "translation": "十一月" + }, + { + "id": "October", + "translation": "十月" + }, + { + "id": "September", + "translation": "九月" + }, + { + "id": "api.admin.add_certificate.no_file.app_error", + "translation": "要求中的 'certificate' 欄位沒有檔案" + }, + { + "id": "api.admin.add_certificate.open.app_error", + "translation": "無法開啟憑證檔案" + }, + { + "id": "api.admin.add_certificate.saving.app_error", + "translation": "無法儲存憑證檔案" + }, + { + "id": "api.admin.file_read_error", + "translation": "讀取記錄檔時遇到錯誤" + }, + { + "id": "api.admin.get_brand_image.not_available.app_error", + "translation": "自訂品牌於此伺服器未設定或不支援" + }, + { + "id": "api.admin.get_brand_image.storage.app_error", + "translation": "影像儲存位置尚未設定。" + }, + { + "id": "api.admin.init.debug", + "translation": "初始化管理 API 路徑" + }, + { + "id": "api.admin.recycle_db_end.warn", + "translation": "資料庫連線回收完成" + }, + { + "id": "api.admin.recycle_db_start.warn", + "translation": "嘗試回收資料庫連線" + }, + { + "id": "api.admin.remove_certificate.delete.app_error", + "translation": "嘗試刪除憑證時發生錯誤。請確定位於 config/{{.Filename}} 的檔案存在。" + }, + { + "id": "api.admin.saml.metadata.app_error", + "translation": "在建立服務提供者的中繼資料時發生錯誤" + }, + { + "id": "api.admin.test_email.body", + "translation": "


看起來您的 Mattermost 電子郵件設定正確!" + }, + { + "id": "api.admin.test_email.missing_server", + "translation": "須填入 SMTP 伺服器" + }, + { + "id": "api.admin.test_email.reenter_password", + "translation": "SMTP 伺服器連線參數有所變更,請重新輸入 SMTP 密碼以測試連線。" + }, + { + "id": "api.admin.test_email.subject", + "translation": "Mattermost - 測試電子郵件設定" + }, + { + "id": "api.admin.upload_brand_image.array.app_error", + "translation": "要求的 'image' 欄位為空陣列" + }, + { + "id": "api.admin.upload_brand_image.no_file.app_error", + "translation": "要求的 'image' 欄位沒有檔案" + }, + { + "id": "api.admin.upload_brand_image.not_available.app_error", + "translation": "自訂品牌於此伺服器未設定或不支援" + }, + { + "id": "api.admin.upload_brand_image.parse.app_error", + "translation": "無法解析 multipart 表單" + }, + { + "id": "api.admin.upload_brand_image.storage.app_error", + "translation": "無法上傳圖片。尚未設定圖片儲存位置。" + }, + { + "id": "api.admin.upload_brand_image.too_large.app_error", + "translation": "無法上傳檔案。檔案過大。" + }, + { + "id": "api.api.init.parsing_templates.debug", + "translation": "解析伺服器樣版:%v" + }, + { + "id": "api.api.init.parsing_templates.error", + "translation": "解析伺服器樣板 %v 失敗" + }, + { + "id": "api.api.render.error", + "translation": "樣板 %v 產生時遇到錯誤 err=%v" + }, + { + "id": "api.auth.unable_to_get_user.app_error", + "translation": "無法取得使用者以檢查權限。" + }, + { + "id": "api.channel.add_member.added", + "translation": "%v 由 %v 邀請加入頻道" + }, + { + "id": "api.channel.add_member.find_channel.app_error", + "translation": "尋找頻道失敗" + }, + { + "id": "api.channel.add_member.find_user.app_error", + "translation": "尋找將被加入的使用者失敗" + }, + { + "id": "api.channel.add_member.user_adding.app_error", + "translation": "尋找新增中的使用者失敗" + }, + { + "id": "api.channel.add_user.to.channel.failed.app_error", + "translation": "新增使用者至頻道失敗" + }, + { + "id": "api.channel.add_user.to.channel.failed.deleted.app_error", + "translation": "無法將使用者新增到頻道。使用者已從團隊中移除。" + }, + { + "id": "api.channel.add_user_to_channel.deleted.app_error", + "translation": "頻道已被封存或刪除" + }, + { + "id": "api.channel.add_user_to_channel.type.app_error", + "translation": "無法加入使用者至此類型頻道" + }, + { + "id": "api.channel.can_manage_channel.private_restricted_system_admin.app_error", + "translation": "只有系統管理員能建立與管理私人群組。" + }, + { + "id": "api.channel.can_manage_channel.private_restricted_team_admin.app_error", + "translation": "只有團隊和系統管理員能建立與管理私人群組。" + }, + { + "id": "api.channel.can_manage_channel.public_restricted_system_admin.app_error", + "translation": "只有系統管理員能建立與管理公開頻道。" + }, + { + "id": "api.channel.can_manage_channel.public_restricted_team_admin.app_error", + "translation": "只有團隊和系統管理員能建立與管理公開頻道。" + }, + { + "id": "api.channel.create_channel.direct_channel.app_error", + "translation": "必須使用 createDirectChannel API 服務來建立直接訊息頻道" + }, + { + "id": "api.channel.create_channel.invalid_character.app_error", + "translation": "在非直接訊息的頻道不可使用字元'__'作為頻道名稱" + }, + { + "id": "api.channel.create_channel.max_channel_limit.app_error", + "translation": "無法為當前團隊建立超過 {{.MaxChannelsPerTeam}} 個頻道" + }, + { + "id": "api.channel.create_default_channels.off_topic", + "translation": "閒聊" + }, + { + "id": "api.channel.create_default_channels.town_square", + "translation": "公眾大廳" + }, + { + "id": "api.channel.create_direct_channel.invalid_user.app_error", + "translation": "建立直接傳訊頻道的使用者 ID 無效" + }, + { + "id": "api.channel.create_group.bad_size.app_error", + "translation": "群組訊息頻道必須含有至少三個至多八個使用者" + }, + { + "id": "api.channel.create_group.bad_user.app_error", + "translation": "有不存在的使用者" + }, + { + "id": "api.channel.delete_channel.archived", + "translation": "%v 已封存頻道。" + }, + { + "id": "api.channel.delete_channel.cannot.app_error", + "translation": "無法刪除預設的頻道 {{.Channel}}" + }, + { + "id": "api.channel.delete_channel.deleted.app_error", + "translation": "頻道已被封存或刪除" + }, + { + "id": "api.channel.delete_channel.failed_post.error", + "translation": "張貼封存訊息失敗 %v" + }, + { + "id": "api.channel.delete_channel.failed_send.app_error", + "translation": "傳送封存訊息失敗" + }, + { + "id": "api.channel.delete_channel.incoming_webhook.error", + "translation": "刪除傳入的 Webhook 遇到錯誤 id=%v" + }, + { + "id": "api.channel.delete_channel.outgoing_webhook.error", + "translation": "刪除傳出的 Webhook 遇到錯誤 id=%v" + }, + { + "id": "api.channel.delete_channel.permissions.app_error", + "translation": "您沒有適當的權限" + }, + { + "id": "api.channel.get_channel.wrong_team.app_error", + "translation": "在 team_id={{.TeamId}} 中不存在 channel_id={{.ChannelId}} 的頻道" + }, + { + "id": "api.channel.get_channel_counts.app_error", + "translation": "無法從資料庫取得頻道數量" + }, + { + "id": "api.channel.get_channel_extra_info.deleted.app_error", + "translation": "頻道已被封存或刪除" + }, + { + "id": "api.channel.get_channel_extra_info.member_limit.app_error", + "translation": "解析成員限制失敗" + }, + { + "id": "api.channel.get_channels.error", + "translation": "取得使用者 id=%v 資訊時遇到錯誤,強制登出" + }, + { + "id": "api.channel.init.debug", + "translation": "正在初始化頻道 API 路徑" + }, + { + "id": "api.channel.join_channel.permissions.app_error", + "translation": "您沒有適當的權限" + }, + { + "id": "api.channel.join_channel.post_and_forget", + "translation": "%v 加入頻道。" + }, + { + "id": "api.channel.leave.default.app_error", + "translation": "無法退出預設的頻道 {{.Channel}}" + }, + { + "id": "api.channel.leave.direct.app_error", + "translation": "無法退出直接訊息頻道" + }, + { + "id": "api.channel.leave.last_member.app_error", + "translation": "您是最後一位成員,請移除私人群組而不是退出。" + }, + { + "id": "api.channel.leave.left", + "translation": "%v 退出頻道。" + }, + { + "id": "api.channel.post_update_channel_displayname_message_and_forget.create_post.error", + "translation": "發送顯示名稱更新訊息時失敗" + }, + { + "id": "api.channel.post_update_channel_displayname_message_and_forget.retrieve_user.error", + "translation": "在更新頻道顯示名稱時無法取得使用者資訊" + }, + { + "id": "api.channel.post_update_channel_displayname_message_and_forget.updated_from", + "translation": "%s 將原頻道標題由 %s 改為 %s" + }, + { + "id": "api.channel.post_update_channel_header_message_and_forget.post.error", + "translation": "發送更新頻道標題訊息時失敗" + }, + { + "id": "api.channel.post_update_channel_header_message_and_forget.removed", + "translation": "%s 已移除了頻道標題 (原為: %s)" + }, + { + "id": "api.channel.post_update_channel_header_message_and_forget.retrieve_user.error", + "translation": "在更新頻道標題時無法取得使用者資訊" + }, + { + "id": "api.channel.post_update_channel_header_message_and_forget.updated_from", + "translation": "%s 將原頻道標題由 %s 改為 %s" + }, + { + "id": "api.channel.post_update_channel_header_message_and_forget.updated_to", + "translation": "%s 已更新頻道標題為:%s" + }, + { + "id": "api.channel.post_user_add_remove_message_and_forget.error", + "translation": "發送加入/退出 訊息失敗" + }, + { + "id": "api.channel.remove.default.app_error", + "translation": "無法將使用者從預設的頻道移除 {{.Channel}}" + }, + { + "id": "api.channel.remove_member.permissions.app_error", + "translation": "您沒有適當的權限 " + }, + { + "id": "api.channel.remove_member.removed", + "translation": "%v 已從頻道中移除。" + }, + { + "id": "api.channel.remove_member.unable.app_error", + "translation": "無法刪除使用者。" + }, + { + "id": "api.channel.remove_member.user.app_error", + "translation": "找不到要移除的使用者" + }, + { + "id": "api.channel.remove_user_from_channel.deleted.app_error", + "translation": "頻道已被封存或刪除" + }, + { + "id": "api.channel.update_channel.deleted.app_error", + "translation": "頻道已被封存或刪除" + }, + { + "id": "api.channel.update_channel.permission.app_error", + "translation": "您沒有適當的權限" + }, + { + "id": "api.channel.update_channel.tried.app_error", + "translation": "已對預設頻道 {{.Channel}} 嘗試執行無效的更新" + }, + { + "id": "api.channel.update_last_viewed_at.get_unread_count_for_channel.errord", + "translation": "無法計算未讀訊息數量:user_id=%v, channel_id=%v, err=%v" + }, + { + "id": "api.command.admin_only.app_error", + "translation": "整合功能被限定為只有管理員可以設定。" + }, + { + "id": "api.command.delete.app_error", + "translation": "沒有適當的權限刪除命令" + }, + { + "id": "api.command.disabled.app_error", + "translation": "命令已被系統管理員停用。" + }, + { + "id": "api.command.duplicate_trigger.app_error", + "translation": "此觸發關鍵字已被使用。請選擇另外的關鍵字。" + }, + { + "id": "api.command.execute_command.debug", + "translation": "執行 cmd=%v userId=%v" + }, + { + "id": "api.command.execute_command.failed.app_error", + "translation": "附帶觸發器 '{{.Trigger}}' 的命令執行失敗" + }, + { + "id": "api.command.execute_command.failed_empty.app_error", + "translation": "附帶觸發器 '{{.Trigger}}' 的命令回傳了空回應" + }, + { + "id": "api.command.execute_command.failed_resp.app_error", + "translation": "附帶觸發器 '{{.Trigger}}' 的命令回傳了 {{.Status}}" + }, + { + "id": "api.command.execute_command.not_found.app_error", + "translation": "找不到附帶觸發器 '{{.Trigger}}' 的命令" + }, + { + "id": "api.command.execute_command.save.app_error", + "translation": "儲存命令回傳值至頻道時發生錯誤" + }, + { + "id": "api.command.execute_command.start.app_error", + "translation": "找不到附帶觸發器的命令" + }, + { + "id": "api.command.init.debug", + "translation": "正在初始化命令 API 路徑" + }, + { + "id": "api.command.invite_people.desc", + "translation": "送個邀請函給您的 Mattermost 團隊" + }, + { + "id": "api.command.invite_people.email_off", + "translation": "電子郵件還沒設定好,沒有任何邀請被送出" + }, + { + "id": "api.command.invite_people.fail", + "translation": "寄送邀請函時遇到錯誤" + }, + { + "id": "api.command.invite_people.hint", + "translation": "[name@domain.com ...]" + }, + { + "id": "api.command.invite_people.name", + "translation": "invite_people" + }, + { + "id": "api.command.invite_people.no_email", + "translation": "請輸入一個或多個有效的電子郵件地址" + }, + { + "id": "api.command.invite_people.sent", + "translation": "邀請函已送出" + }, + { + "id": "api.command.regen.app_error", + "translation": "沒有適當的權限重新產生命令 Token" + }, + { + "id": "api.command.team_mismatch.app_error", + "translation": "無法更新不同團隊的指令" + }, + { + "id": "api.command.update.app_error", + "translation": "沒有適當的權限刪除命令" + }, + { + "id": "api.command_away.desc", + "translation": "將狀態設定為「離開」" + }, + { + "id": "api.command_away.name", + "translation": "離開" + }, + { + "id": "api.command_away.success", + "translation": "現在狀態為「離開」" + }, + { + "id": "api.command_collapse.desc", + "translation": "開啟圖片預覽的自動折疊功能" + }, + { + "id": "api.command_collapse.name", + "translation": "折疊" + }, + { + "id": "api.command_collapse.success", + "translation": "圖片連結現在預設為折疊起來" + }, + { + "id": "api.command_echo.create.app_error", + "translation": "無法建立 /echo 訊息 err=%v" + }, + { + "id": "api.command_echo.delay.app_error", + "translation": "延遲必須在10000秒以內" + }, + { + "id": "api.command_echo.desc", + "translation": "從您的帳號回應文字" + }, + { + "id": "api.command_echo.high_volume.app_error", + "translation": "過量的回應要求, 無法處理" + }, + { + "id": "api.command_echo.hint", + "translation": "'訊息' [延遲秒數]" + }, + { + "id": "api.command_echo.message.app_error", + "translation": "使用 /echo 命令必須提供訊息。" + }, + { + "id": "api.command_echo.name", + "translation": "回應" + }, + { + "id": "api.command_expand.desc", + "translation": "關閉圖片預覽的自動折疊功能" + }, + { + "id": "api.command_expand.name", + "translation": "展開" + }, + { + "id": "api.command_expand.success", + "translation": "圖片連結現在預設為展開" + }, + { + "id": "api.command_expand_collapse.fail.app_error", + "translation": "展開預覽時發生錯誤" + }, + { + "id": "api.command_join.desc", + "translation": "加入公開頻道" + }, + { + "id": "api.command_join.fail.app_error", + "translation": "加入頻道時發生錯誤。" + }, + { + "id": "api.command_join.hint", + "translation": "[頻道名稱]" + }, + { + "id": "api.command_join.list.app_error", + "translation": "列表頻道時發生錯誤。" + }, + { + "id": "api.command_join.missing.app_error", + "translation": "找不到頻道" + }, + { + "id": "api.command_join.name", + "translation": "加入" + }, + { + "id": "api.command_join.success", + "translation": "已加入頻道。" + }, + { + "id": "api.command_logout.desc", + "translation": "登出 Mattermost" + }, + { + "id": "api.command_logout.fail_message", + "translation": "登出失敗" + }, + { + "id": "api.command_logout.name", + "translation": "登出" + }, + { + "id": "api.command_me.desc", + "translation": "執行動作" + }, + { + "id": "api.command_me.hint", + "translation": "[訊息]" + }, + { + "id": "api.command_me.name", + "translation": "我" + }, + { + "id": "api.command_msg.desc", + "translation": "直接傳訊給使用者" + }, + { + "id": "api.command_msg.dm_fail.app_error", + "translation": "建立直接傳訊時遇到錯誤。" + }, + { + "id": "api.command_msg.fail.app_error", + "translation": "傳訊使用者時遇到錯誤。" + }, + { + "id": "api.command_msg.hint", + "translation": "@[使用者帳號] '訊息'" + }, + { + "id": "api.command_msg.list.app_error", + "translation": "列表使用者時遇到錯誤。" + }, + { + "id": "api.command_msg.missing.app_error", + "translation": "找不到使用者" + }, + { + "id": "api.command_msg.name", + "translation": "訊息" + }, + { + "id": "api.command_msg.success", + "translation": "已傳訊給使用者。" + }, + { + "id": "api.command_offline.desc", + "translation": "將狀態設定為「離線」" + }, + { + "id": "api.command_offline.name", + "translation": "離線" + }, + { + "id": "api.command_offline.success", + "translation": "現在狀態為「離線」" + }, + { + "id": "api.command_online.desc", + "translation": "將狀態設定為「上線」" + }, + { + "id": "api.command_online.name", + "translation": "上線" + }, + { + "id": "api.command_online.success", + "translation": "現在狀態為「上線」" + }, + { + "id": "api.command_shortcuts.browser.channel_next", + "translation": "{{.ChannelNextCmd}}:紀錄的下一個頻道\n" + }, + { + "id": "api.command_shortcuts.browser.channel_next.cmd", + "translation": "ALT+RIGHT" + }, + { + "id": "api.command_shortcuts.browser.channel_next.cmd_mac", + "translation": "CMD+]" + }, + { + "id": "api.command_shortcuts.browser.channel_prev", + "translation": "{{.ChannelPrevCmd}}:紀錄的前一個頻道\n" + }, + { + "id": "api.command_shortcuts.browser.channel_prev.cmd", + "translation": "ALT+LEFT" + }, + { + "id": "api.command_shortcuts.browser.channel_prev.cmd_mac", + "translation": "CMD+[" + }, + { + "id": "api.command_shortcuts.browser.font_decrease", + "translation": "{{.CmdOrCtrl}}+MINUS:減少字體尺寸(縮小)\n" + }, + { + "id": "api.command_shortcuts.browser.font_increase", + "translation": "{{.CmdOrCtrl}}+PLUS:增加字體尺寸(放大)\n" + }, + { + "id": "api.command_shortcuts.browser.header", + "translation": "#### 瀏覽器內建命令\n\n" + }, + { + "id": "api.command_shortcuts.browser.highlight_next", + "translation": "SHIFT+DOWN (在輸入欄):標記現在到下一行同位置之間的文字\n" + }, + { + "id": "api.command_shortcuts.browser.highlight_prev", + "translation": "SHIFT+UP (在輸入欄):標記現在到上一行同位置之間的文字\n" + }, + { + "id": "api.command_shortcuts.browser.newline", + "translation": "SHIFT+ENTER (在輸入欄):新增一行\n" + }, + { + "id": "api.command_shortcuts.cmd", + "translation": "CMD" + }, + { + "id": "api.command_shortcuts.ctrl", + "translation": "CTRL" + }, + { + "id": "api.command_shortcuts.desc", + "translation": "顯示鍵盤快捷鍵列表" + }, + { + "id": "api.command_shortcuts.files.header", + "translation": "#### 檔案\n\n" + }, + { + "id": "api.command_shortcuts.files.upload", + "translation": "{{.CmdOrCtrl}}+U:上傳檔案\n\n" + }, + { + "id": "api.command_shortcuts.header", + "translation": "### 鍵盤快捷鍵\n\n" + }, + { + "id": "api.command_shortcuts.msgs.comp_channel", + "translation": "~[文字]+TAB:自動完成以[文字]起始的頻道\n" + }, + { + "id": "api.command_shortcuts.msgs.comp_emoji", + "translation": ":[文字]+TAB:自動完成以[文字]起始的顏文字\n\n" + }, + { + "id": "api.command_shortcuts.msgs.comp_username", + "translation": "@[文字]+TAB:自動完成以[文字]起始的@使用者帳號\n" + }, + { + "id": "api.command_shortcuts.msgs.edit", + "translation": "UP (在空的輸入欄):編輯當前頻道您的上一個訊息\n" + }, + { + "id": "api.command_shortcuts.msgs.header", + "translation": "#### 訊息\n\n" + }, + { + "id": "api.command_shortcuts.msgs.mark_as_read", + "translation": "ESC:將當前頻道所有訊息設為已讀\n" + }, + { + "id": "api.command_shortcuts.msgs.reprint_next", + "translation": "{{.CmdOrCtrl}}+DOWN (在空的輸入欄):顯示下一個您輸入的訊息或是斜線命令\n" + }, + { + "id": "api.command_shortcuts.msgs.reprint_prev", + "translation": "{{.CmdOrCtrl}}+UP (在空的輸入欄):顯示上一個您輸入的訊息或是斜線命令\n" + }, + { + "id": "api.command_shortcuts.name", + "translation": "快捷鍵" + }, + { + "id": "api.command_shortcuts.nav.header", + "translation": "#### 瀏覽\n\n" + }, + { + "id": "api.command_shortcuts.nav.next", + "translation": "ALT+DOWN:側邊欄裡面下一個頻道或直接訊息\n" + }, + { + "id": "api.command_shortcuts.nav.prev", + "translation": "ALT+UP:側邊欄裡面上一個頻道或直接訊息\n" + }, + { + "id": "api.command_shortcuts.nav.recent_mentions", + "translation": "{{.CmdOrCtrl}}+SHIFT+M:開啟最近提及您的訊息\n\n" + }, + { + "id": "api.command_shortcuts.nav.settings", + "translation": "{{.CmdOrCtrl}}+SHIFT+A:開啟帳號設定\n" + }, + { + "id": "api.command_shortcuts.nav.switcher", + "translation": "{{.CmdOrCtrl}}+K:開啟快速切換頻道對話框\n" + }, + { + "id": "api.command_shortcuts.nav.unread_next", + "translation": "ALT+SHIFT+DOWN:側邊欄裡面下一個有未讀訊息的頻道或直接訊息\n" + }, + { + "id": "api.command_shortcuts.nav.unread_prev", + "translation": "ALT+SHIFT+UP:側邊欄裡面上一個有未讀訊息的頻道或直接訊息\n" + }, + { + "id": "api.command_shrug.desc", + "translation": "把 ¯\\_(ツ)_/¯ 加到訊息內" + }, + { + "id": "api.command_shrug.hint", + "translation": "[訊息]" + }, + { + "id": "api.command_shrug.name", + "translation": "聳肩" + }, + { + "id": "api.context.404.app_error", + "translation": "抱歉,無法找到頁面。" + }, + { + "id": "api.context.invalid_body_param.app_error", + "translation": "要求內容中缺少 {{.Name}} 或是該值為無效" + }, + { + "id": "api.context.invalid_param.app_error", + "translation": "無效的 {{.Name}} 參數" + }, + { + "id": "api.context.invalid_session.error", + "translation": "無效工作階段 err=%v" + }, + { + "id": "api.context.invalid_team_url.debug", + "translation": "團隊網址在不正確的時機被存取。團隊網址不應於在 API 函式或與團隊無關的用途中被使用" + }, + { + "id": "api.context.invalid_token.error", + "translation": "無效工作階段 token={{.Token}}, err={{.Error}}" + }, + { + "id": "api.context.invalid_url_param.app_error", + "translation": "要求網址中缺少 {{.Name}} 參數或是該值為無效 " + }, + { + "id": "api.context.invalidate_all_caches", + "translation": "清除所有的快取" + }, + { + "id": "api.context.last_activity_at.error", + "translation": "更新 user_id=%v 與 session_id=%v 的 LastActivityAt 失敗, 錯誤=%v" + }, + { + "id": "api.context.log.error", + "translation": "%v:%v code=%v rid=%v uid=%v ip=%v %v [細節: %v]" + }, + { + "id": "api.context.mfa_required.app_error", + "translation": "此伺服器要求多重要素驗證。" + }, + { + "id": "api.context.missing_teamid.app_error", + "translation": "找不到團隊 ID" + }, + { + "id": "api.context.permissions.app_error", + "translation": "您沒有適當的權限" + }, + { + "id": "api.context.session_expired.app_error", + "translation": "無效或逾期的工作階段,請重新登入。" + }, + { + "id": "api.context.system_permissions.app_error", + "translation": "您沒有適當的權限 (系統)" + }, + { + "id": "api.context.token_provided.app_error", + "translation": "工作階段並非使用 OAuth 協定,查詢字串中卻出現了 Token" + }, + { + "id": "api.context.unknown.app_error", + "translation": "發生未知的錯誤。請聯繫支援單位。" + }, + { + "id": "api.email_batching.add_notification_email_to_batch.channel_full.app_error", + "translation": "批次郵件的接收頻道已滿。請增加 EmailBatchingBufferSize。" + }, + { + "id": "api.email_batching.add_notification_email_to_batch.disabled.app_error", + "translation": "批次郵件已被系統管理員停用" + }, + { + "id": "api.email_batching.check_pending_emails.finished_running", + "translation": "完成批次郵件處理。尚有 %v 使用者的通知等待處理。" + }, + { + "id": "api.email_batching.check_pending_emails.status.app_error", + "translation": "找不到批次郵件通知收件人的狀態" + }, + { + "id": "api.email_batching.render_batched_post.channel.app_error", + "translation": "找不到批次郵件通知文章的頻道" + }, + { + "id": "api.email_batching.render_batched_post.date", + "translation": "{{.Month}} {{.Day}},{{.Hour}}:{{.Minute}} {{.Timezone}}" + }, + { + "id": "api.email_batching.render_batched_post.direct_message", + "translation": "直接訊息" + }, + { + "id": "api.email_batching.render_batched_post.go_to_post", + "translation": "前往發文" + }, + { + "id": "api.email_batching.render_batched_post.group_message", + "translation": "群組訊息" + }, + { + "id": "api.email_batching.render_batched_post.sender.app_error", + "translation": "找不到批次郵件通知文章的發文者" + }, + { + "id": "api.email_batching.send_batched_email_notification.body_text", + "translation": { + "one": "您有 1 筆新的訊息。您有 {{.Count}} 筆新的訊息。", + "other": "" + } + }, + { + "id": "api.email_batching.send_batched_email_notification.preferences.app_error", + "translation": "找不到批次郵件通知收件人的顯示偏好" + }, + { + "id": "api.email_batching.send_batched_email_notification.send.app_error", + "translation": "無法寄送批次通知郵件給 %v: %v" + }, + { + "id": "api.email_batching.send_batched_email_notification.subject", + "translation": { + "one": "[{{.SiteName}}] {{.Year}} {{.Month}} {{.Day}} 的新通知[{{.SiteName}}] {{.Year}} {{.Month}} {{.Day}} 的新通知", + "other": "" + } + }, + { + "id": "api.email_batching.send_batched_email_notification.user.app_error", + "translation": "找不到批次郵件通知的收件人" + }, + { + "id": "api.email_batching.start.starting", + "translation": "開始批次郵件處理。每 %v 秒檢查未處理郵件。" + }, + { + "id": "api.emoji.create.duplicate.app_error", + "translation": "無法建立繪文字,已存在相同名稱的繪文字。" + }, + { + "id": "api.emoji.create.parse.app_error", + "translation": "無法新增繪文字。無法理解要求。" + }, + { + "id": "api.emoji.create.permissions.app_error", + "translation": "沒有適當的權限建立繪文字。" + }, + { + "id": "api.emoji.create.too_large.app_error", + "translation": "無法建立繪文字。圖片必須小於1 MB。" + }, + { + "id": "api.emoji.delete.delete_reactions.app_error", + "translation": "刪除名為 %v 的繪文字時無法刪除互動" + }, + { + "id": "api.emoji.delete.permissions.app_error", + "translation": "沒有適當的權限刪除繪文字。" + }, + { + "id": "api.emoji.disabled.app_error", + "translation": "自訂繪文字已被系統管理員停用。" + }, + { + "id": "api.emoji.get_image.decode.app_error", + "translation": "無法解碼繪文字圖像檔案。" + }, + { + "id": "api.emoji.get_image.read.app_error", + "translation": "無法讀取繪文字圖像檔案。" + }, + { + "id": "api.emoji.init.debug", + "translation": "正在初始化繪文字 API 路徑" + }, + { + "id": "api.emoji.storage.app_error", + "translation": "檔案儲存位置設定不正確。請設定為 S3 或是本地儲存。" + }, + { + "id": "api.emoji.upload.image.app_error", + "translation": "無法新增繪文字。檔案必須是PNG、JPEG或GIF。" + }, + { + "id": "api.emoji.upload.large_image.decode_error", + "translation": "無法建立繪文字。嘗試解碼圖片時發生錯誤。" + }, + { + "id": "api.emoji.upload.large_image.encode_error", + "translation": "無法建立繪文字。嘗試編碼圖片時發生錯誤。" + }, + { + "id": "api.emoji.upload.large_image.gif_decode_error", + "translation": "無法建立繪文字。嘗試解碼 gif 圖片時發生錯誤。" + }, + { + "id": "api.emoji.upload.large_image.gif_encode_error", + "translation": "無法建立繪文字。嘗試編碼 gif 圖片時發生錯誤。" + }, + { + "id": "api.file.get_file.public_disabled.app_error", + "translation": "公開連結已被系統管理員停用" + }, + { + "id": "api.file.get_file.public_invalid.app_error", + "translation": "此公開連結不是有效連結" + }, + { + "id": "api.file.get_file_preview.no_thumbnail.app_error", + "translation": "檔案沒有預覽圖像" + }, + { + "id": "api.file.get_file_thumbnail.no_thumbnail.app_error", + "translation": "檔案沒有縮圖" + }, + { + "id": "api.file.get_info_for_request.no_post.app_error", + "translation": "無法取得檔案資料。檔案必須附加在可以被當前使用者讀取的發文。" + }, + { + "id": "api.file.get_info_for_request.storage.app_error", + "translation": "無法取得檔案資料。尚未設定圖片儲存位置。" + }, + { + "id": "api.file.get_public_file_old.storage.app_error", + "translation": "無法取得檔案。尚未設定圖片儲存位置。" + }, + { + "id": "api.file.get_public_file_old.storage.app_error", + "translation": "無法取得檔案。尚未設定圖片儲存位置。" + }, + { + "id": "api.file.get_public_link.disabled.app_error", + "translation": "公開連結已停用" + }, + { + "id": "api.file.get_public_link.no_post.app_error", + "translation": "無法取得檔案公開連結。檔案必須附加在可以被當前使用者讀取的發文。" + }, + { + "id": "api.file.handle_images_forget.decode.error", + "translation": "無法解碼圖片:err=%v" + }, + { + "id": "api.file.handle_images_forget.encode_jpeg.error", + "translation": "無法將圖片編碼成 JPEG:path=%v err=%v" + }, + { + "id": "api.file.handle_images_forget.encode_preview.error", + "translation": "無法將圖片編碼成預覽 JPEG:path=%v err=%v" + }, + { + "id": "api.file.handle_images_forget.upload_preview.error", + "translation": "無法上傳預覽檔:path=%v err=%v" + }, + { + "id": "api.file.handle_images_forget.upload_thumb.error", + "translation": "無法上傳縮圖:path=%v err=%v" + }, + { + "id": "api.file.init.debug", + "translation": "正在初始化檔案 API 路徑" + }, + { + "id": "api.file.migrate_filenames_to_file_infos.channel.app_error", + "translation": "將文章轉移成使用 FileInfos 時無法取得頻道:post_id=%v, channel_id=%v, err=%v" + }, + { + "id": "api.file.migrate_filenames_to_file_infos.file_not_found.warn", + "translation": "將文章轉移成使用 FileInfos 時無法搜尋到檔案:post_id=%v, filename=%v, path=%v, err=%v" + }, + { + "id": "api.file.migrate_filenames_to_file_infos.get_file_infos_again.warn", + "translation": "轉移成使用 FileInfos 後無法取得文章的 FileInfos:post_id=%v, err=%v" + }, + { + "id": "api.file.migrate_filenames_to_file_infos.get_post_again.warn", + "translation": "將文章轉移成使用 FileInfos 時無法取得文章:post_id=%v, err=%v" + }, + { + "id": "api.file.migrate_filenames_to_file_infos.info.app_error", + "translation": "將文章轉移成使用 FileInfos 時無法解碼檔案資料:post_id=%v, filename=%v, err=%v" + }, + { + "id": "api.file.migrate_filenames_to_file_infos.migrating_post.debug", + "translation": "轉移文章為使用 FileInfos:post_id=%v, err=%v" + }, + { + "id": "api.file.migrate_filenames_to_file_infos.mismatched_filename.warn", + "translation": "將文章轉移成使用 FileInfos 時發現不尋常的檔案名稱:post_id=%v, channel_id=%v, user_id=%v, filename=%v" + }, + { + "id": "api.file.migrate_filenames_to_file_infos.no_filenames.warn", + "translation": "將文章轉移成使用 FileInfos 時發現欄位 Filenames 為空:post_id=%v" + }, + { + "id": "api.file.migrate_filenames_to_file_infos.not_migrating_post.debug", + "translation": "文章以轉移至使用 FileInfos:post_id=%v, err=%v" + }, + { + "id": "api.file.migrate_filenames_to_file_infos.save_file_info.warn", + "translation": "將文章轉移成使用 FileInfos 時無法儲存檔案:post_id=%v, file_id=%v, path=%v, err=%v" + }, + { + "id": "api.file.migrate_filenames_to_file_infos.save_post.warn", + "translation": "將文章轉移成使用 FileInfos 時無法儲存檔案:post_id=%v, file_id=%v, filename=%v, err=%v" + }, + { + "id": "api.file.migrate_filenames_to_file_infos.team_id.app_error", + "translation": "無法尋找團隊給 FileInfos 使用:post_id=%v, filenames=%v" + }, + { + "id": "api.file.migrate_filenames_to_file_infos.teams.app_error", + "translation": "將文章轉移成使用 FileInfos 時無法取得團隊:post_id=%v, err=%v" + }, + { + "id": "api.file.migrate_filenames_to_file_infos.unexpected_filename.error", + "translation": "將文章轉移成使用 FileInfos 時無法解碼檔案名稱:post_id=%v, filename=%v" + }, + { + "id": "api.file.move_file.configured.app_error", + "translation": "檔案儲存位置設定不正確。請設定為 S3 或是本地儲存。" + }, + { + "id": "api.file.move_file.delete_from_s3.app_error", + "translation": "無法從 S3 刪除檔案。" + }, + { + "id": "api.file.move_file.get_from_s3.app_error", + "translation": "無法從 S3 取得檔案。" + }, + { + "id": "api.file.move_file.rename.app_error", + "translation": "無法移動本地端的檔案。" + }, + { + "id": "api.file.open_file_write_stream.configured.app_error", + "translation": "檔案儲存位置設定不正確。請設定為 S3 或是本地儲存。" + }, + { + "id": "api.file.open_file_write_stream.creating_dir.app_error", + "translation": "建立新檔案的目錄時遇到錯誤" + }, + { + "id": "api.file.open_file_write_stream.local_server.app_error", + "translation": "寫入本地儲存時遇到錯誤" + }, + { + "id": "api.file.open_file_write_stream.s3.app_error", + "translation": "不支援 S3。" + }, + { + "id": "api.file.read_file.configured.app_error", + "translation": "檔案儲存位置設定不正確。請設定為 S3 或是本地儲存。" + }, + { + "id": "api.file.read_file.get.app_error", + "translation": "無法從 S3 取得檔案" + }, + { + "id": "api.file.read_file.reading_local.app_error", + "translation": "從本地儲存讀取時遇到錯誤" + }, + { + "id": "api.file.upload_file.bad_parse.app_error", + "translation": "無法上傳檔案。無法解析標頭。" + }, + { + "id": "api.file.upload_file.large_image.app_error", + "translation": "無法上傳超過最大尺寸的檔案:{{.Filename}}" + }, + { + "id": "api.file.upload_file.storage.app_error", + "translation": "無法上傳檔案。尚未設定圖片儲存位置。" + }, + { + "id": "api.file.upload_file.too_large.app_error", + "translation": "檔案太大無法上傳。" + }, + { + "id": "api.file.write_file.configured.app_error", + "translation": "檔案儲存位置設定不正確。請設定為 S3 或是本地儲存。" + }, + { + "id": "api.file.write_file.s3.app_error", + "translation": "寫入 S3 時遇到錯誤" + }, + { + "id": "api.file.write_file_locally.create_dir.app_error", + "translation": "建立新檔案的目錄時遇到錯誤" + }, + { + "id": "api.file.write_file_locally.writing.app_error", + "translation": "寫入本地儲存時遇到錯誤" + }, + { + "id": "api.general.init.debug", + "translation": "正在初始化一般 API 路徑" + }, + { + "id": "api.import.import_post.attach_files.error", + "translation": "附加檔案於文章時錯誤:postId=%v, fileIds=%v, message=%v" + }, + { + "id": "api.import.import_post.saving.debug", + "translation": "儲存訊息時遇到錯誤。user=%v, message=%v" + }, + { + "id": "api.import.import_user.join_team.error", + "translation": "匯入過程於加入團隊時失敗 err=%v" + }, + { + "id": "api.import.import_user.joining_default.error", + "translation": "加入預設頻道時遇到錯誤 user_id=%s, team_id=%s, err=%v" + }, + { + "id": "api.import.import_user.saving.error", + "translation": "儲存使用者時遇到錯誤 err=%v" + }, + { + "id": "api.import.import_user.set_email.error", + "translation": "設定電子郵件為已驗證時失敗 err=%v" + }, + { + "id": "api.incoming_webhook.disabled.app_errror", + "translation": "傳入的 Webhook 已被系統管理員停用。" + }, + { + "id": "api.license.add_license.array.app_error", + "translation": "要求中的 'license' 欄位為空陣列" + }, + { + "id": "api.license.add_license.expired.app_error", + "translation": "授權不是已過期就是還沒啟用。" + }, + { + "id": "api.license.add_license.invalid.app_error", + "translation": "無效的授權檔案。" + }, + { + "id": "api.license.add_license.invalid_count.app_error", + "translation": "無法計算使用者總人數。" + }, + { + "id": "api.license.add_license.no_file.app_error", + "translation": "要求中的 'license' 欄位沒有檔案" + }, + { + "id": "api.license.add_license.open.app_error", + "translation": "無法開啟授權檔案" + }, + { + "id": "api.license.add_license.save.app_error", + "translation": "授權沒有正確的儲存。" + }, + { + "id": "api.license.add_license.save_active.app_error", + "translation": "啟用授權 ID 無法正確儲存。" + }, + { + "id": "api.license.add_license.unique_users.app_error", + "translation": "此授權只支援 {{.Users}} 位使用者,而您的系統有 {{.Count}} 位使用者。使用者人數是根據電子郵件位址計算。使用者總數量在 站台報告 -> 顯示統計。" + }, + { + "id": "api.license.init.debug", + "translation": "正在初始化授權 API 路徑" + }, + { + "id": "api.license.remove_license.remove.app_error", + "translation": "授權沒有正確的移除。" + }, + { + "id": "api.oauth.allow_oauth.bad_client.app_error", + "translation": "invalid_request: 錯誤的 client_id" + }, + { + "id": "api.oauth.allow_oauth.bad_redirect.app_error", + "translation": "invalid_request: 遺漏或錯誤的 redirect_uri" + }, + { + "id": "api.oauth.allow_oauth.bad_response.app_error", + "translation": "invalid_request: 錯誤的 response_type" + }, + { + "id": "api.oauth.allow_oauth.database.app_error", + "translation": "server_error: 存取資料庫時發生錯誤" + }, + { + "id": "api.oauth.allow_oauth.redirect_callback.app_error", + "translation": "invalid_reques:提供的 redirect_uri 對不上已註冊的 callback_url" + }, + { + "id": "api.oauth.allow_oauth.turn_off.app_error", + "translation": "系統管理員已關閉 OAuth2 服務提供者。" + }, + { + "id": "api.oauth.authorize_oauth.disabled.app_error", + "translation": "系統管理員已關閉 OAuth2 服務提供者。" + }, + { + "id": "api.oauth.authorize_oauth.missing.app_error", + "translation": "response_type、client_id 或 redirect_uri 中缺少一個以上" + }, + { + "id": "api.oauth.complete_oauth.missing_code.app_error", + "translation": "服務提供者 {{.service}} 在重導向網址中沒有提供授權碼。\n\n若使用 [Google Apps](https://docs.mattermost.com/deployment/sso-google.html),請確定管理員有啟用 Google+ API。\n\n若使用 [Office 365](https://docs.mattermost.com/deployment/sso-office.html),請確定微軟雲端服務的組織管理員有啟用 Mattermost 應用程式。\n\n若使用 [GitLab](https://docs.mattermost.com/deployment/sso-gitlab.html),請確定有根據設定指示完成設定。\n\n如果重新確認過上面的文件且還是有設定上的問題,請至[障礙排除論壇](https://forum.mattermost.org/c/general/trouble-shoot)發文,我們很樂意在那邊為您排除設定上的問題。" + }, + { + "id": "api.oauth.delete.permissions.app_error", + "translation": "權限不足以刪除 OAuth2 應用程式" + }, + { + "id": "api.oauth.get_access_token.bad_client_id.app_error", + "translation": "invalid_request:錯誤的 client_id" + }, + { + "id": "api.oauth.get_access_token.bad_client_secret.app_error", + "translation": "invalid_request:缺少 client_secret" + }, + { + "id": "api.oauth.get_access_token.bad_grant.app_error", + "translation": "invalid_request:錯誤的 grant_type" + }, + { + "id": "api.oauth.get_access_token.credentials.app_error", + "translation": "invalid_client:無效的用戶端認證" + }, + { + "id": "api.oauth.get_access_token.disabled.app_error", + "translation": "系統管理員已關閉 OAuth2 服務提供者。" + }, + { + "id": "api.oauth.get_access_token.expired_code.app_error", + "translation": "invalid_grant:無效或是過期的授權碼" + }, + { + "id": "api.oauth.get_access_token.internal.app_error", + "translation": "server_error:存取資料庫時遇到伺服器內部錯誤" + }, + { + "id": "api.oauth.get_access_token.internal_saving.app_error", + "translation": "server_error:儲存存取 Token 至資料庫時遇到伺服器內部錯誤" + }, + { + "id": "api.oauth.get_access_token.internal_session.app_error", + "translation": "server_error:儲存工作階段至資料庫時遇到伺服器內部錯誤" + }, + { + "id": "api.oauth.get_access_token.internal_user.app_error", + "translation": "server_error:從資料庫提取使用者資料時遇到伺服器內部錯誤" + }, + { + "id": "api.oauth.get_access_token.missing_code.app_error", + "translation": "invalid_request:缺少代碼" + }, + { + "id": "api.oauth.get_access_token.missing_refresh_token.app_error", + "translation": "invalid_request:缺少 refresh_token" + }, + { + "id": "api.oauth.get_access_token.redirect_uri.app_error", + "translation": "invalid_request:提供的 redirect_uri 無法對應授權碼 redirect_uri" + }, + { + "id": "api.oauth.get_access_token.refresh_token.app_error", + "translation": "invalid_grant:無效的 refresh_token" + }, + { + "id": "api.oauth.get_auth_data.find.error", + "translation": "找不到 code=%s 的認證碼" + }, + { + "id": "api.oauth.init.debug", + "translation": "正在初始化 OAuth API 路徑" + }, + { + "id": "api.oauth.regenerate_secret.app_error", + "translation": "權限不足以重新產生 OAuth2 應用程式密碼" + }, + { + "id": "api.oauth.register_oauth_app.turn_off.app_error", + "translation": "系統管理員已關閉 OAuth2 服務提供者。" + }, + { + "id": "api.oauth.revoke_access_token.del_session.app_error", + "translation": "從資料庫刪除工作階段時遇到錯誤" + }, + { + "id": "api.oauth.revoke_access_token.del_token.app_error", + "translation": "從資料庫刪除存取 Token 時遇到錯誤" + }, + { + "id": "api.oauth.revoke_access_token.get.app_error", + "translation": "刪除前從資料庫取得存取 Token 時遇到錯誤" + }, + { + "id": "api.oauth.singup_with_oauth.disabled.app_error", + "translation": "使用者註冊已被停用。" + }, + { + "id": "api.oauth.singup_with_oauth.expired_link.app_error", + "translation": "註冊連結已過期" + }, + { + "id": "api.oauth.singup_with_oauth.invalid_link.app_error", + "translation": "此註冊連結不是有效連結" + }, + { + "id": "api.post.check_for_out_of_channel_mentions.message.multiple", + "translation": "無法傳送通知給{{.Usernames}} 與 {{.LastUsername}},因為他們並未加入此頻道。" + }, + { + "id": "api.post.check_for_out_of_channel_mentions.message.one", + "translation": "無法傳送通知給未加入此頻道的{{.Username}}。" + }, + { + "id": "api.post.create_post.attach_files.error", + "translation": "附加檔案於文章時遭遇錯誤:post_id=%s, user_id=%s, file_ids=%v, err=%v" + }, + { + "id": "api.post.create_post.bad_filename.error", + "translation": "無效的檔名,filename=%v" + }, + { + "id": "api.post.create_post.can_not_post_to_deleted.error", + "translation": "無法發文至已刪除的頻道。" + }, + { + "id": "api.post.create_post.channel_root_id.app_error", + "translation": "RootId 參數的 ChannelId 無效" + }, + { + "id": "api.post.create_post.last_viewed.error", + "translation": "更新最新的訊息檢視遇到錯誤 channel_id=%s, user_id=%s, err=%v" + }, + { + "id": "api.post.create_post.parent_id.app_error", + "translation": "無效的 ParentId 參數" + }, + { + "id": "api.post.create_post.root_id.app_error", + "translation": "無效的 RootId 參數" + }, + { + "id": "api.post.create_webhook_post.creating.app_error", + "translation": "建立訊息時遇到錯誤" + }, + { + "id": "api.post.delete_flagged_post.app_error.warn", + "translation": "刪除發文時無法刪除發文的標記設定:err=%v" + }, + { + "id": "api.post.delete_post.permissions.app_error", + "translation": "您沒有適當的權限" + }, + { + "id": "api.post.delete_post_files.app_error.warn", + "translation": "刪除文章的檔案時遭遇錯誤:post_id=%v, err=%v" + }, + { + "id": "api.post.disabled_all", + "translation": "由於頻道使用者超過 {{.Users}} 人,已停用@all。" + }, + { + "id": "api.post.disabled_channel", + "translation": "由於頻道使用者超過 {{.Users}} 人,已停用@channel。" + }, + { + "id": "api.post.disabled_here", + "translation": "由於頻道使用者超過 {{.Users}} 人,已停用@here。" + }, + { + "id": "api.post.get_message_for_notification.files_sent", + "translation": { + "one": "已送出 {{.Count}} 個檔案:{{.Filenames}}已送出 {{.Count}} 個檔案:{{.Filenames}}", + "other": "" + } + }, + { + "id": "api.post.get_message_for_notification.get_files.error", + "translation": "為通知訊息取得檔案於文章時遭遇錯誤:post_id=%v, err=%v" + }, + { + "id": "api.post.get_message_for_notification.images_sent", + "translation": { + "one": "已送出 {{.Count}} 個圖片:{{.Filenames}}已送出 {{.Count}} 個圖片:{{.Filenames}}", + "other": "" + } + }, + { + "id": "api.post.get_out_of_channel_mentions.regex.error", + "translation": "編譯 @mention 正規表示式失敗 user_id=%v, err=%v" + }, + { + "id": "api.post.get_post.permissions.app_error", + "translation": "您沒有適當的權限" + }, + { + "id": "api.post.handle_post_events_and_forget.members.error", + "translation": "取得頻道成員失敗 channel_id=%v err=%v" + }, + { + "id": "api.post.handle_webhook_events_and_forget.create_post.error", + "translation": "建立回應貼文失敗 err=%v" + }, + { + "id": "api.post.handle_webhook_events_and_forget.event_post.error", + "translation": "POST 事件失敗 err=%s" + }, + { + "id": "api.post.init.debug", + "translation": "正在初始化貼文 API 路徑" + }, + { + "id": "api.post.make_direct_channel_visible.get_2_members.error", + "translation": "取得直接訊息頻道的兩位成員失敗 channel_id={{.ChannelId}}" + }, + { + "id": "api.post.make_direct_channel_visible.get_members.error", + "translation": "取得頻道成員失敗 channel_id=%v err=%v" + }, + { + "id": "api.post.make_direct_channel_visible.save_pref.error", + "translation": "儲存直接訊息頻道的偏好設定失敗 user_id=%v other_user_id=%v err=%v" + }, + { + "id": "api.post.make_direct_channel_visible.update_pref.error", + "translation": "更新直接訊息頻道的偏好設定失敗 user_id=%v other_user_id=%v err=%v" + }, + { + "id": "api.post.notification.member_profile.warn", + "translation": "無法取得頻道成員資訊 user_id=%v" + }, + { + "id": "api.post.send_notifications.user_id.debug", + "translation": "此訊息的發起人不在頻道,將不發送通知 post_id=%v channel_id=%v user_id=%v" + }, + { + "id": "api.post.send_notifications_and_forget.clear_push_notification.debug", + "translation": "正在清除至 %v 的推播通知,channel_id %v" + }, + { + "id": "api.post.send_notifications_and_forget.files.error", + "translation": "無法為貼文通知取得檔案: post_id=%v, err=%v" + }, + { + "id": "api.post.send_notifications_and_forget.get_teams.error", + "translation": "發送跨團隊直接訊移時無法取得團隊:user_id=%v, err=%v" + }, + { + "id": "api.post.send_notifications_and_forget.mention_body", + "translation": "有新的訊息提到您。" + }, + { + "id": "api.post.send_notifications_and_forget.mention_subject", + "translation": "新的提及" + }, + { + "id": "api.post.send_notifications_and_forget.message_body", + "translation": "您有一筆新的訊息。" + }, + { + "id": "api.post.send_notifications_and_forget.message_subject", + "translation": "新的直接訊息" + }, + { + "id": "api.post.send_notifications_and_forget.push_in", + "translation": " 於 " + }, + { + "id": "api.post.send_notifications_and_forget.push_mention", + "translation": " 提及您於 " + }, + { + "id": "api.post.send_notifications_and_forget.push_message", + "translation": " 已傳送直接訊息給您" + }, + { + "id": "api.post.send_notifications_and_forget.push_non_mention", + "translation": " 張貼於 " + }, + { + "id": "api.post.send_notifications_and_forget.push_notification.debug", + "translation": "正在傳送推播通知至 %v,訊息為 '%v'" + }, + { + "id": "api.post.send_notifications_and_forget.push_notification.error", + "translation": "發送推播失敗 device_id={{.DeviceId}}, err={{.Error}}" + }, + { + "id": "api.post.send_notifications_and_forget.sent", + "translation": "{{.Prefix}} {{.Filenames}} 已送出" + }, + { + "id": "api.post.update_mention_count_and_forget.update_error", + "translation": "更新提及的計數失敗 post_id=%v channel_id=%v err=%v" + }, + { + "id": "api.post.update_post.find.app_error", + "translation": "找不到可更新的訊息或註解。" + }, + { + "id": "api.post.update_post.permissions.app_error", + "translation": "您沒有適當的權限" + }, + { + "id": "api.post.update_post.permissions_denied.app_error", + "translation": "編輯訊息已被停用。請洽詢系統管理員了解詳情。" + }, + { + "id": "api.post.update_post.permissions_details.app_error", + "translation": "已刪除 id={{.PostId}}" + }, + { + "id": "api.post.update_post.permissions_time_limit.app_error", + "translation": "僅在 {{.timeLimit}} 秒內可以編輯訊息。請洽詢系統管理員了解詳情。 " + }, + { + "id": "api.post.update_post.system_message.app_error", + "translation": "無法更新系統訊息" + }, + { + "id": "api.post_get_post_by_id.get.app_error", + "translation": "無法取得訊息" + }, + { + "id": "api.preference.delete_preferences.decode.app_error", + "translation": "無法從要求中解碼出偏好設定" + }, + { + "id": "api.preference.delete_preferences.user_id.app_error", + "translation": "無法為其他使用者刪除偏好設定" + }, + { + "id": "api.preference.init.debug", + "translation": "正在初始化偏好設定 API 路徑" + }, + { + "id": "api.preference.save_preferences.decode.app_error", + "translation": "無法從上傳表單中解碼出偏好設定" + }, + { + "id": "api.preference.save_preferences.set.app_error", + "translation": "無法為其他使用調整偏好設定" + }, + { + "id": "api.preference.save_preferences.set_details.app_error", + "translation": "session.user_id={{.SessionUserId}}, preference.user_id={{.PreferenceUserId}}" + }, + { + "id": "api.reaction.delete_reaction.mismatched_channel_id.app_error", + "translation": "由於URL中的頻道 ID 與文章 ID 不相符,刪除互動失敗" + }, + { + "id": "api.reaction.init.debug", + "translation": "初始化互動 API 路徑" + }, + { + "id": "api.reaction.list_reactions.mismatched_channel_id.app_error", + "translation": "由於URL中的頻道 ID 與文章 ID 不相符,讀取互動失敗" + }, + { + "id": "api.reaction.save_reaction.mismatched_channel_id.app_error", + "translation": "由於URL中的頻道 ID 與文章 ID 不相符,儲存互動失敗" + }, + { + "id": "api.reaction.send_reaction_event.post.app_error", + "translation": "為了反應發送 Websocket 事件時,無法取得文章" + }, + { + "id": "api.saml.save_certificate.app_error", + "translation": "憑證沒有正確的儲存。" + }, + { + "id": "api.server.new_server.init.info", + "translation": "伺服器正在初始化..." + }, + { + "id": "api.server.start_server.listening.info", + "translation": "伺服器正在監聽於 %v" + }, + { + "id": "api.server.start_server.rate.info", + "translation": "張貼速率限制已啟用" + }, + { + "id": "api.server.start_server.rate.warn", + "translation": "張貼速率限制沒有正確的設定,請使用 VaryByHeader 並停用 VaryByRemoteAddr" + }, + { + "id": "api.server.start_server.rate_limiting_memory_store", + "translation": "無法初始化張貼速率限制所需的記憶體儲存。請確定 MemoryStoreSize 的設定值。" + }, + { + "id": "api.server.start_server.rate_limiting_rate_limiter", + "translation": "無法初始化張貼速率限制。" + }, + { + "id": "api.server.start_server.starting.critical", + "translation": "啟動伺服器時遇到錯誤 err:%v" + }, + { + "id": "api.server.start_server.starting.info", + "translation": "正在啟動伺服器..." + }, + { + "id": "api.server.start_server.starting.panic", + "translation": "啟動伺服器時遇到錯誤 " + }, + { + "id": "api.server.stop_server.stopped.info", + "translation": "伺服器已停止" + }, + { + "id": "api.server.stop_server.stopping.info", + "translation": "正在停止伺服器..." + }, + { + "id": "api.slackimport.slack_add_bot_user.email_pwd", + "translation": "Slack 機器人/外部整合發文匯入使用者:電子郵件,密碼:{{.Email}},{{.Password}}\r\n" + }, + { + "id": "api.slackimport.slack_add_bot_user.unable_import", + "translation": "無法匯入Slack 機器人/外部整合發文匯入使用者:{{.Username}}\r\n" + }, + { + "id": "api.slackimport.slack_add_channels.added", + "translation": "\r\n 頻道已加入 \r\n" + }, + { + "id": "api.slackimport.slack_add_channels.failed_to_add_user", + "translation": "新增使用者至頻道失敗:{{.Username}}\r\n" + }, + { + "id": "api.slackimport.slack_add_channels.import_failed", + "translation": "匯入失敗:{{.DisplayName}}\r\n" + }, + { + "id": "api.slackimport.slack_add_channels.import_failed.warn", + "translation": "Slack 匯入:無法匯入頻道:%s" + }, + { + "id": "api.slackimport.slack_add_channels.merge", + "translation": "已與頻道 {{.DisplayName}} 合併\r\n" + }, + { + "id": "api.slackimport.slack_add_posts.attach_files.error", + "translation": "附加檔案於文章時遭遇錯誤:post_id=%s, file_ids=%v, err=%v" + }, + { + "id": "api.slackimport.slack_add_posts.bot.warn", + "translation": "Slack 機器人的訊息還未被匯入" + }, + { + "id": "api.slackimport.slack_add_posts.bot_user_no_exists.warn", + "translation": "Slack 匯入:由於匯入機器人使用者不存在,將不匯入機器人訊息。" + }, + { + "id": "api.slackimport.slack_add_posts.msg_no_comment.debug", + "translation": "檔案註解未定義" + }, + { + "id": "api.slackimport.slack_add_posts.msg_no_usr.debug", + "translation": "訊息沒有使用者" + }, + { + "id": "api.slackimport.slack_add_posts.no_bot_id.warn", + "translation": "Slack 匯入:BotId 欄位缺失,將不匯入機器人訊息。" + }, + { + "id": "api.slackimport.slack_add_posts.unsupported.warn", + "translation": "不支援的文章類型: %v, %v" + }, + { + "id": "api.slackimport.slack_add_posts.upload_file_not_found.warn", + "translation": "由 Slack 匯出的檔案上傳訊息中找不到檔案:檔案 ID {{.Field}}" + }, + { + "id": "api.slackimport.slack_add_posts.upload_file_not_in_json.warn", + "translation": "由於匯出資料中沒有 \"file\" 欄位,無法為上傳訊息匯入檔案。" + }, + { + "id": "api.slackimport.slack_add_posts.upload_file_open_failed.warn", + "translation": "無法從匯出檔中開啟上傳檔案:檔案 ID {{.Field}}, 錯誤 {{.Error}}" + }, + { + "id": "api.slackimport.slack_add_posts.upload_file_upload_failed.warn", + "translation": "為上傳訊息上傳檔案失敗:檔案 ID {{.Field}}, 錯誤 {{.Error}}" + }, + { + "id": "api.slackimport.slack_add_posts.user_no_exists.debug", + "translation": "使用者:%v 不存在!" + }, + { + "id": "api.slackimport.slack_add_posts.without_user.debug", + "translation": "訊息沒有使用者" + }, + { + "id": "api.slackimport.slack_add_users.created", + "translation": "\r\n 使用者已建立\r\n" + }, + { + "id": "api.slackimport.slack_add_users.email_pwd", + "translation": "電子郵件,密碼: {{.Email}},{{.Password}}\r\n" + }, + { + "id": "api.slackimport.slack_add_users.merge_existing", + "translation": "將使用者與現有帳號合併:{{.Email}},{{.Username}}\r\n" + }, + { + "id": "api.slackimport.slack_add_users.merge_existing_failed", + "translation": "嘗試與現有帳號整合使用者:{{.Email}}、{{.Username}},但是無法將此使用者加入此團隊。\r\n" + }, + { + "id": "api.slackimport.slack_add_users.missing_email_address", + "translation": "使用者{{.Username}}在Slack匯出資料中沒有電子郵件地址。{{.Email}}將會被用作預留地址。使用者在登入系統後應更新電子郵件地址。\r\n" + }, + { + "id": "api.slackimport.slack_add_users.missing_email_address.warn", + "translation": "使用者{{.Username}}在Slack匯出資料中沒有電子郵件地址。{{.Email}}將會被用作預留地址。使用者在登入系統後應更新電子郵件地址。" + }, + { + "id": "api.slackimport.slack_add_users.unable_import", + "translation": "無法匯入使用者: {{.Username}}\r\n" + }, + { + "id": "api.slackimport.slack_convert_channel_mentions.compile_regexp_failed.warn", + "translation": "無法為 Slack 頻道 {{.ChannelD}} {{.ChannelName}} 編譯匹配!頻道的正規表示式" + }, + { + "id": "api.slackimport.slack_convert_timestamp.bad.warn", + "translation": "發現錯誤的時間戳記" + }, + { + "id": "api.slackimport.slack_convert_user_mentions.compile_regexp_failed.warn", + "translation": "無法為 Slack 使用者 {{.UserID}} {{.Username}} 編譯匹配@提及的正規表示式" + }, + { + "id": "api.slackimport.slack_deactivate_bot_user.failed_to_deactivate", + "translation": "Slack 匯入:無法停用匯入機器人使用者。" + }, + { + "id": "api.slackimport.slack_import.log", + "translation": "Mattermost Slack 匯入記錄\r\n" + }, + { + "id": "api.slackimport.slack_import.note1", + "translation": "- 由於匯入程式尚未支援,部分訊息可能無法匯入。\r\n" + }, + { + "id": "api.slackimport.slack_import.note2", + "translation": "- 目前尚未支援 Slack bot 張貼訊息。\r\n" + }, + { + "id": "api.slackimport.slack_import.note3", + "translation": "- 伺服器紀錄也許有紀錄到額外的錯誤。\r\n" + }, + { + "id": "api.slackimport.slack_import.notes", + "translation": "\r\n 附註 \r\n" + }, + { + "id": "api.slackimport.slack_import.open.app_error", + "translation": "無法開啟:{{.Filename}}" + }, + { + "id": "api.slackimport.slack_import.team_fail", + "translation": "取得團隊以匯入失敗。\r\n" + }, + { + "id": "api.slackimport.slack_import.zip.app_error", + "translation": "無法開啟 zip 檔案" + }, + { + "id": "api.slackimport.slack_parse_channels.error", + "translation": "解析 Slack 頻道時發生錯誤。匯入功能有可能照樣運作。" + }, + { + "id": "api.slackimport.slack_parse_posts.error", + "translation": "解析 Slack 訊息時發生錯誤。匯入功能有可能照樣運作。" + }, + { + "id": "api.slackimport.slack_sanitise_channel_properties.display_name_too_long.warn", + "translation": "Slack 匯入:頻道 {{.ChannelName}} 的顯示名稱過長,將會在匯入時被截短。" + }, + { + "id": "api.slackimport.slack_sanitise_channel_properties.header_too_long.warn", + "translation": "Slack 匯入:頻道 {{.ChannelName}} 的標題過長,將會在匯入時被截短。" + }, + { + "id": "api.slackimport.slack_sanitise_channel_properties.name_too_long.warn", + "translation": "Slack 匯入:頻道 {{.ChannelName}} 的名字過長,將會在匯入時被截短。" + }, + { + "id": "api.slackimport.slack_sanitise_channel_properties.purpose_too_long.warn", + "translation": "Slack 匯入:頻道 {{.ChannelName}} 的用途過長,將會在匯入時被截短。" + }, + { + "id": "api.status.init.debug", + "translation": "正在初始化狀態 API 路徑" + }, + { + "id": "api.status.last_activity.error", + "translation": "更新 user_id=%v 與 session_id=%v 的 LastActivityAt 失敗 err=%v" + }, + { + "id": "api.status.save_status.error", + "translation": "儲存使用者狀態失敗 user_id=%v err=%v" + }, + { + "id": "api.team.create_team.email_disabled.app_error", + "translation": "使用電子郵件註冊團隊已被停用。" + }, + { + "id": "api.team.create_team_from_signup.email_disabled.app_error", + "translation": "使用電子郵件註冊團隊已被停用。" + }, + { + "id": "api.team.create_team_from_signup.expired_link.app_error", + "translation": "註冊連結已過期" + }, + { + "id": "api.team.create_team_from_signup.invalid_link.app_error", + "translation": "此註冊連結不是有效連結" + }, + { + "id": "api.team.create_team_from_signup.unavailable.app_error", + "translation": "這個網址不存在。請嘗試其他的。" + }, + { + "id": "api.team.email_teams.sending.error", + "translation": "在 emailTeams 中寄送一封電子郵件時發生錯誤 err=%v" + }, + { + "id": "api.team.get_invite_info.not_open_team", + "translation": "無法在非公開的團隊使用邀請。" + }, + { + "id": "api.team.import_team.admin.app_error", + "translation": "僅有團隊管理員能匯入資料。" + }, + { + "id": "api.team.import_team.array.app_error", + "translation": "要求中的 'file' 欄位是空陣列" + }, + { + "id": "api.team.import_team.integer.app_error", + "translation": "Filesize 不是一個整數" + }, + { + "id": "api.team.import_team.no_file.app_error", + "translation": "要求中的 'file' 欄位沒有檔案" + }, + { + "id": "api.team.import_team.open.app_error", + "translation": "無法開啟檔案" + }, + { + "id": "api.team.import_team.parse.app_error", + "translation": "無法解析 multipart 表單" + }, + { + "id": "api.team.import_team.unavailable.app_error", + "translation": "要求格式錯誤:沒有檔案大小欄位。" + }, + { + "id": "api.team.init.debug", + "translation": "正在初始化團隊 API 路徑" + }, + { + "id": "api.team.invite_members.admin", + "translation": "管理員" + }, + { + "id": "api.team.invite_members.already.app_error", + "translation": "此人已在您的團隊中" + }, + { + "id": "api.team.invite_members.member", + "translation": "成員" + }, + { + "id": "api.team.invite_members.no_one.app_error", + "translation": "無人可邀請。" + }, + { + "id": "api.team.invite_members.restricted_system_admin.app_error", + "translation": "只有系統管理能邀請新使用者至團隊" + }, + { + "id": "api.team.invite_members.restricted_team_admin.app_error", + "translation": "只有系統管理以及團隊管理能邀請新使用者至團隊" + }, + { + "id": "api.team.invite_members.send.error", + "translation": "邀請電子郵件傳送失敗 err=%v" + }, + { + "id": "api.team.invite_members.sending.info", + "translation": "正在向 %v %v 寄送邀請" + }, + { + "id": "api.team.is_team_creation_allowed.disabled.app_error", + "translation": "建立團隊已被停用。請洽詢系統管理員了解詳情。" + }, + { + "id": "api.team.is_team_creation_allowed.domain.app_error", + "translation": "電子郵件地址必須來自一個指定的網域 (例如 @example.com)。請洽詢系統管理員了解詳情。" + }, + { + "id": "api.team.permanent_delete_team.attempting.warn", + "translation": "正在嘗試永久刪除團隊 %v id=%v" + }, + { + "id": "api.team.permanent_delete_team.deleted.warn", + "translation": "已永久刪除團隊 %v id=%v" + }, + { + "id": "api.team.remove_user_from_team.missing.app_error", + "translation": "此使用者似乎不屬於此團隊。" + }, + { + "id": "api.team.signup_team.email_disabled.app_error", + "translation": "使用電子郵件註冊團隊已被停用。" + }, + { + "id": "api.team.update_member_roles.not_a_member", + "translation": "指定的使用者不是指定團隊的成員。" + }, + { + "id": "api.team.update_team.permissions.app_error", + "translation": "您沒有適當的權限" + }, + { + "id": "api.templates.channel_name.group", + "translation": "群組訊息" + }, + { + "id": "api.templates.email_change_body.info", + "translation": "您在 {{.TeamDisplayName}} 上的電子郵件地址已經變更為 {{.NewEmail}}。
如果這不是您所變更的,請聯繫系統管理員。" + }, + { + "id": "api.templates.email_change_body.title", + "translation": "已經變更電子郵件地址" + }, + { + "id": "api.templates.email_change_subject", + "translation": "[{{ .SiteName }}] 電子郵件地址已變更" + }, + { + "id": "api.templates.email_change_verify_body.button", + "translation": "驗證電子郵件地址" + }, + { + "id": "api.templates.email_change_verify_body.info", + "translation": "請按下方的連結確認地址正確來完成變更 {{.TeamDisplayName}} 上的電子郵件地址。" + }, + { + "id": "api.templates.email_change_verify_body.title", + "translation": "已經變更電子郵件地址" + }, + { + "id": "api.templates.email_change_verify_subject", + "translation": "[{{ .SiteName }}] 驗證新的電子郵件地址" + }, + { + "id": "api.templates.email_footer", + "translation": "要更改通知偏好設定,請登入團隊網站並且至 帳號設定 > 通知。" + }, + { + "id": "api.templates.email_info", + "translation": "不論有任何問題,請隨時寫信給我們:{{.SupportEmail}}
祝您萬事如意,
{{.SiteName}} 團隊
" + }, + { + "id": "api.templates.email_organization", + "translation": "寄件者:" + }, + { + "id": "api.templates.error.link", + "translation": "回到 Mattermost" + }, + { + "id": "api.templates.error.title", + "translation": "{{ .SiteName }} 需要您的協助:" + }, + { + "id": "api.templates.find_teams_body.found", + "translation": "尋找到與您的電子信箱有關聯的團隊如下列:" + }, + { + "id": "api.templates.find_teams_body.not_found", + "translation": "無法經由提供的電子郵件地址尋找到任何團隊。" + }, + { + "id": "api.templates.find_teams_body.title", + "translation": "正在尋找團隊" + }, + { + "id": "api.templates.find_teams_subject", + "translation": "您的 {{ .SiteName }} 團隊" + }, + { + "id": "api.templates.invite_body.button", + "translation": "加入團隊" + }, + { + "id": "api.templates.invite_body.extra_info", + "translation": "Mattermost 能讓您透過個人電腦與手機分享訊息與檔案,包括快速搜尋以及封存功能。當加入 {{.TeamDisplayName}} 後,您能夠透過下列網址隨時登入到新團隊來使用這些功能:

{{.TeamURL}}" + }, + { + "id": "api.templates.invite_body.info", + "translation": "團隊 {{.SenderStatus}} {{.SenderName}},已經邀請您加入 {{.TeamDisplayName}}。" + }, + { + "id": "api.templates.invite_body.title", + "translation": "您已經被邀請" + }, + { + "id": "api.templates.invite_subject", + "translation": "[{{ .SiteName }}] {{ .SenderName }} 邀請您加入團隊 {{ .TeamDisplayName }}" + }, + { + "id": "api.templates.mfa_activated_body.info", + "translation": "您的{{ .SiteURL }}帳號已增加多重要素驗證。
如果此項變更不是由您改動的,請聯絡系統管理員。" + }, + { + "id": "api.templates.mfa_activated_body.title", + "translation": "已新增多重要素驗證" + }, + { + "id": "api.templates.mfa_change_subject", + "translation": "[{{ .SiteName }}] 多重要素驗證已更新" + }, + { + "id": "api.templates.mfa_deactivated_body.info", + "translation": "您的{{ .SiteURL }}帳號已移除多重要素驗證。
如果此項變更不是由您改動的,請聯絡系統管理員。" + }, + { + "id": "api.templates.mfa_deactivated_body.title", + "translation": "已移除多重要素驗證" + }, + { + "id": "api.templates.password_change_body.info", + "translation": "您在 {{ .TeamURL }} 上的 {{.TeamDisplayName}} 密碼已經由 {{.Method}} 更新。
如果這不是您所變更的,請聯繫系統管理員。" + }, + { + "id": "api.templates.password_change_body.title", + "translation": "密碼已更新" + }, + { + "id": "api.templates.password_change_subject", + "translation": "[{{ .SiteName }}] 密碼已更新" + }, + { + "id": "api.templates.post_body.button", + "translation": "前往發文" + }, + { + "id": "api.templates.post_body.info", + "translation": "頻道:{{.ChannelName}}
{{.SenderName}} - {{.Hour}}:{{.Minute}} {{.TimeZone}}, {{.Month}} {{.Day}}" + }, + { + "id": "api.templates.post_subject_in_channel", + "translation": "{{.SubjectText}},在{{.TeamDisplayName}}團隊,發於 {{.Year}} {{.Month}} {{.Day}}" + }, + { + "id": "api.templates.post_subject_in_direct_message", + "translation": "{{.SubjectText}},來自{{.SenderDisplayName}},發於 {{.Year}} {{.Month}} {{.Day}}" + }, + { + "id": "api.templates.post_subject_in_group_message", + "translation": "來自 {{.SenderDisplayName}} 的群組訊息,發於 {{.Year}} {{.Month}} {{.Day}}" + }, + { + "id": "api.templates.reset_body.button", + "translation": "重設密碼" + }, + { + "id": "api.templates.reset_body.info", + "translation": "按下方的 \"重設密碼\"來更改您的密碼。
如果您並沒有想要重設密碼,請不要理會這封郵件,密碼依然維持不變。密碼重設的連結將在 24 小時之後過期。" + }, + { + "id": "api.templates.reset_body.title", + "translation": "已提出重設密碼" + }, + { + "id": "api.templates.reset_subject", + "translation": "[{{ .SiteName }}] 重置密碼" + }, + { + "id": "api.templates.signin_change_email.body.info", + "translation": "您已經將 {{ .SiteName }} 上的登入方式變更為 {{.Method}}。
如果這項變更不是您做的,請聯繫系統管理員。" + }, + { + "id": "api.templates.signin_change_email.body.method_email", + "translation": "電子郵件地址與密碼" + }, + { + "id": "api.templates.signin_change_email.body.title", + "translation": "已變更登入方式" + }, + { + "id": "api.templates.signin_change_email.subject", + "translation": "[{{ .SiteName }}] 在{{ .SiteName}}的登入方式已更新" + }, + { + "id": "api.templates.signup_team_body.button", + "translation": "設定團隊" + }, + { + "id": "api.templates.signup_team_body.info", + "translation": "{{ .SiteName }} 是一個讓所有團隊隨時隨地都能溝通、搜尋與取用的地方。
當團隊持續不斷的溝通時, 善用 {{ .SiteName }} 能讓您獲益良多--讓我們呼朋引伴吧。" + }, + { + "id": "api.templates.signup_team_body.title", + "translation": "感謝您建立了一個團隊!" + }, + { + "id": "api.templates.signup_team_subject", + "translation": "{{ .SiteName }} 團隊設定" + }, + { + "id": "api.templates.upgrade_30_body.info", + "translation": "

您的多重帳號已更新

Mattermost 伺服器已升級到版本3.0,從此可以在多個團隊中使用同一帳號。

升級程式發現伺服器上有您的帳號所以寄信給您。

更新如下:

{{if .EmailChanged }}- `/{{.TeamName}}`帳號中重覆的電子郵件已變更為`{{.Email}}`。您必須使用電子郵件與密碼登入,可用此新的電子郵件進行登入。

{{end}}{{if .UsernameChanged }}- `/{{.TeamName}}`站台重覆的使用者名稱變更為`{{.Username}}`以避免與其它的帳號混淆。

{{end}} 建議動作:

建議您用重覆的帳號登入並把主要帳號加到要繼續使用的團隊、公開頻道與私有群組。

這樣方可使用主要帳號存取所有公開頻道與私有群組的歷史。可以用其它重覆的帳號登入存取之前的直接傳送訊息。

詳細訊息:

如需關於升到到 Mattermost 3.0 的詳細資訊,請參閱:http://www.mattermost.org/upgrading-to-mattermost-3-0/

" + }, + { + "id": "api.templates.upgrade_30_subject.info", + "translation": "[MATTERMOST] 升級至 Mattermost 3.0 後帳號的變更" + }, + { + "id": "api.templates.username_change_body.info", + "translation": "您在{{.TeamDisplayName}}的使用者名稱已變更為{{.NewUsername}}。
如果您未進行此變更,請速聯繫系統管理員。" + }, + { + "id": "api.templates.username_change_body.title", + "translation": "使用者名稱已變更" + }, + { + "id": "api.templates.username_change_subject", + "translation": "[{{ .SiteName }}] 使用者名稱已變更" + }, + { + "id": "api.templates.verify_body.button", + "translation": "驗證電子郵件地址" + }, + { + "id": "api.templates.verify_body.info", + "translation": "請按下方連結來驗證電子郵件地址。" + }, + { + "id": "api.templates.verify_body.title", + "translation": "已加入{{ .ServerURL }}" + }, + { + "id": "api.templates.verify_subject", + "translation": "{{ .SiteName }}] 電子郵件地址驗證" + }, + { + "id": "api.templates.welcome_body.app_download_info", + "translation": "為了更好的體驗,請從以下連結下載 PC、Mac、iOS、Android 等平台的應用程式:" + }, + { + "id": "api.templates.welcome_body.button", + "translation": "驗證電子郵件地址" + }, + { + "id": "api.templates.welcome_body.info", + "translation": "請按下方連結來驗證電子郵件地址。" + }, + { + "id": "api.templates.welcome_body.info2", + "translation": "現在可以登入:" + }, + { + "id": "api.templates.welcome_body.info3", + "translation": "Mattermost 能讓您透過個人電腦與手機分享訊息與檔案,包括快速搜尋以及封存功能。" + }, + { + "id": "api.templates.welcome_body.title", + "translation": "已加入{{ .ServerURL }}" + }, + { + "id": "api.templates.welcome_subject", + "translation": "[{{ .SiteName }}] 已加入 {{ .ServerURL }}" + }, + { + "id": "api.user.activate_mfa.email_and_ldap_only.app_error", + "translation": "多重要素驗證不支援此帳號類型" + }, + { + "id": "api.user.add_direct_channels_and_forget.failed.error", + "translation": "為使用者增加直接訊息頻道設定時失敗 user_id={{.UserId}}, team_id={{.TeamId}}, err={{.Error}}" + }, + { + "id": "api.user.authorize_oauth_user.bad_response.app_error", + "translation": "錯誤的 Token 要求回應" + }, + { + "id": "api.user.authorize_oauth_user.bad_token.app_error", + "translation": "錯誤的 Token 類型" + }, + { + "id": "api.user.authorize_oauth_user.invalid_state.app_error", + "translation": "無效的狀態" + }, + { + "id": "api.user.authorize_oauth_user.invalid_state_team.app_error", + "translation": "無效的狀態;沒有團隊名稱" + }, + { + "id": "api.user.authorize_oauth_user.missing.app_error", + "translation": "沒有存取 Token" + }, + { + "id": "api.user.authorize_oauth_user.service.app_error", + "translation": " {{.Service}} Token 要求失敗" + }, + { + "id": "api.user.authorize_oauth_user.token_failed.app_error", + "translation": "Token 要求失敗" + }, + { + "id": "api.user.authorize_oauth_user.unsupported.app_error", + "translation": "不支援的 OAuth 服務供應者" + }, + { + "id": "api.user.check_user_login_attempts.too_many.app_error", + "translation": "您的帳號已經因為嘗試太多次的錯誤密碼而被鎖定。請重設密碼。" + }, + { + "id": "api.user.check_user_mfa.bad_code.app_error", + "translation": "無效的多重要素驗證 Token。" + }, + { + "id": "api.user.check_user_mfa.not_available.app_error", + "translation": "本機不支援或未設定多重要素驗證" + }, + { + "id": "api.user.check_user_password.invalid.app_error", + "translation": "登入失敗,密碼無效" + }, + { + "id": "api.user.complete_switch_with_oauth.blank_email.app_error", + "translation": "空白的電子郵件" + }, + { + "id": "api.user.complete_switch_with_oauth.parse.app_error", + "translation": "無法解析 {{.Service}} 使用者物件的認證資料" + }, + { + "id": "api.user.complete_switch_with_oauth.unavailable.app_error", + "translation": "本伺服器不支援經由 OAuth 2.0 的 {{.Service}} SSO" + }, + { + "id": "api.user.create_oauth_user.already_attached.app_error", + "translation": "此電子郵件位址已有帳號使用且設定使用{{.Service}}以外的登入方法。請用{{.Auth}}登入。" + }, + { + "id": "api.user.create_oauth_user.already_used.app_error", + "translation": "這個 {{.Service}} 帳號已被用於註冊過了" + }, + { + "id": "api.user.create_oauth_user.create.app_error", + "translation": "無法建立用於 {{.Service}} 的使用者物件" + }, + { + "id": "api.user.create_oauth_user.not_available.app_error", + "translation": "本伺服器不支援經由 OAuth 2.0 的 {{.Service}} SSO" + }, + { + "id": "api.user.create_profile_image.default_font.app_error", + "translation": "無法建立預設個人頭像字型" + }, + { + "id": "api.user.create_profile_image.encode.app_error", + "translation": "無法編碼預設個人頭像" + }, + { + "id": "api.user.create_profile_image.initial.app_error", + "translation": "無法增加使用者預設的個人圖像" + }, + { + "id": "api.user.create_user.accepted_domain.app_error", + "translation": "您提供的電子郵件地址不屬於一個可接受的網域。請聯繫系統管理員或使用另一個不同的電子郵件地址註冊。" + }, + { + "id": "api.user.create_user.disabled.app_error", + "translation": "建立使用者已被停用" + }, + { + "id": "api.user.create_user.joining.error", + "translation": "加入預設頻道時遇到錯誤 user_id=%s, team_id=%s, err=%v" + }, + { + "id": "api.user.create_user.no_open_server", + "translation": "本機不開放自由註冊,請從管理員處取得邀請。" + }, + { + "id": "api.user.create_user.save.error", + "translation": "無法儲存使用者 err=%v" + }, + { + "id": "api.user.create_user.signup_email_disabled.app_error", + "translation": "已停用電子郵件註冊。" + }, + { + "id": "api.user.create_user.signup_link_expired.app_error", + "translation": "註冊連結已過期" + }, + { + "id": "api.user.create_user.signup_link_invalid.app_error", + "translation": "此註冊連結不是有效連結" + }, + { + "id": "api.user.create_user.team_name.app_error", + "translation": "無效的團隊名稱" + }, + { + "id": "api.user.create_user.tutorial.error", + "translation": "儲存教學偏好設定時遇到錯誤 err=%v" + }, + { + "id": "api.user.create_user.verified.error", + "translation": "設定電子郵件為已驗證時失敗 err=%v" + }, + { + "id": "api.user.email_to_ldap.not_available.app_error", + "translation": "此伺服器不支援 AD/LDAP" + }, + { + "id": "api.user.generate_mfa_qr.not_available.app_error", + "translation": "本機不支援或尚未設定多重要素驗證" + }, + { + "id": "api.user.get_authorization_code.unsupported.app_error", + "translation": "不支援的 OAuth 服務供應者" + }, + { + "id": "api.user.get_me.getting.error", + "translation": "取得使用者 id=%v 資訊時遇到錯誤,強制登出" + }, + { + "id": "api.user.init.debug", + "translation": "正在初始化使用者 API 路徑" + }, + { + "id": "api.user.ldap_to_email.not_available.app_error", + "translation": "此伺服器不支援 AD/LDAP" + }, + { + "id": "api.user.ldap_to_email.not_ldap_account.app_error", + "translation": "此使用者帳號並沒有使用 AD/LDAP" + }, + { + "id": "api.user.login.blank_pwd.app_error", + "translation": "密碼欄位不得空白" + }, + { + "id": "api.user.login.inactive.app_error", + "translation": "登入失敗,您的帳號已被設定為停用。請向系統管理員聯繫." + }, + { + "id": "api.user.login.invalid_credentials", + "translation": "使用者 ID 或密碼錯誤。" + }, + { + "id": "api.user.login.not_provided.app_error", + "translation": "必須提供使用者 ID 或團隊名稱與使用者電子郵件" + }, + { + "id": "api.user.login.not_verified.app_error", + "translation": "登入失敗,電子郵件地址尚未經驗証" + }, + { + "id": "api.user.login.revoking.app_error", + "translation": "sessionId=%v 已被取消,屬於 userId=%v。請用同樣的設備 ID 再次登入。" + }, + { + "id": "api.user.login.use_auth_service.app_error", + "translation": "請用 {{.AuthService}} 登入" + }, + { + "id": "api.user.login_by_oauth.not_available.app_error", + "translation": "本伺服器不支援經由 OAuth 2.0 的 {{.Service}} SSO" + }, + { + "id": "api.user.login_by_oauth.parse.app_error", + "translation": "無法解析 {{.Service}} 使用者物件的認證資料" + }, + { + "id": "api.user.login_ldap.blank_pwd.app_error", + "translation": "密碼欄位不得空白" + }, + { + "id": "api.user.login_ldap.disabled.app_error", + "translation": "此伺服器未啟用 AD/LDAP" + }, + { + "id": "api.user.login_ldap.need_id.app_error", + "translation": "需要一個 ID" + }, + { + "id": "api.user.login_ldap.not_available.app_error", + "translation": "此伺服器不支援 AD/LDAP" + }, + { + "id": "api.user.oauth_to_email.context.app_error", + "translation": "更新密碼失敗,目前的 user_id 與要變更的使用者 ID 不符" + }, + { + "id": "api.user.permanent_delete_user.attempting.warn", + "translation": "試圖將 %v id=%v 帳號永久刪除" + }, + { + "id": "api.user.permanent_delete_user.deleted.warn", + "translation": "已永久刪除帳號 %v id=%v" + }, + { + "id": "api.user.permanent_delete_user.system_admin.warn", + "translation": "正在刪除系統管理員 %v。刪除後您可能需要用命令列工具將另一個帳號設定為系統管理員。" + }, + { + "id": "api.user.reset_password.invalid_link.app_error", + "translation": "此密碼重設連結不是有效連結" + }, + { + "id": "api.user.reset_password.link_expired.app_error", + "translation": "密碼重設連結已過期" + }, + { + "id": "api.user.reset_password.method", + "translation": "正在使用一個重設密碼連結" + }, + { + "id": "api.user.reset_password.sso.app_error", + "translation": "SSO 帳號無法重設密碼" + }, + { + "id": "api.user.reset_password.wrong_team.app_error", + "translation": "正在嘗試將錯誤團隊中的使用者重設密碼。" + }, + { + "id": "api.user.saml.not_available.app_error", + "translation": "本機不支援或未設定 SAML" + }, + { + "id": "api.user.send_email_change_email_and_forget.error", + "translation": "更改通知電子郵件傳送失敗" + }, + { + "id": "api.user.send_email_change_username_and_forget.error", + "translation": "使用者名稱變更通知電子郵件以傳送失敗" + }, + { + "id": "api.user.send_email_change_verify_email_and_forget.error", + "translation": "更改驗證電子郵件傳送失敗" + }, + { + "id": "api.user.send_password_change_email_and_forget.error", + "translation": "更新密碼電子郵件傳送失敗" + }, + { + "id": "api.user.send_password_reset.find.app_error", + "translation": "無法找到該地址相對應的帳號" + }, + { + "id": "api.user.send_password_reset.send.app_error", + "translation": "密碼重設電子郵件傳送失敗" + }, + { + "id": "api.user.send_password_reset.sso.app_error", + "translation": "SSO 帳號無法重設密碼" + }, + { + "id": "api.user.send_sign_in_change_email_and_forget.error", + "translation": "更新密碼電子郵件傳送失敗" + }, + { + "id": "api.user.send_verify_email_and_forget.failed.error", + "translation": "認證電子郵件傳送失敗" + }, + { + "id": "api.user.send_welcome_email_and_forget.failed.error", + "translation": "歡迎電子郵件傳送失敗" + }, + { + "id": "api.user.update_active.no_deactivate_ldap.app_error", + "translation": "不能變更 AD/LDAP 帳號的啟用狀態。請變更 AD/LDAP 伺服器上對應的帳號狀態。" + }, + { + "id": "api.user.update_active.permissions.app_error", + "translation": "您沒有適當的權限" + }, + { + "id": "api.user.update_mfa.not_available.app_error", + "translation": "本機不支援或尚未設定多重要素驗證" + }, + { + "id": "api.user.update_oauth_user_attrs.get_user.app_error", + "translation": "無法從 {{.Service}} 使用者物件取得使用者" + }, + { + "id": "api.user.update_password.context.app_error", + "translation": "更新密碼失敗,目前的 user_id 與要變更的使用者 ID 不符" + }, + { + "id": "api.user.update_password.failed.app_error", + "translation": "更新密碼失敗" + }, + { + "id": "api.user.update_password.incorrect.app_error", + "translation": "輸入的 \"目前密碼\" 不正確。請檢查 Caps Lock 是關的並再試一次。" + }, + { + "id": "api.user.update_password.menu", + "translation": "使用設定選單" + }, + { + "id": "api.user.update_password.oauth.app_error", + "translation": "更新密碼失敗,因為使用者利用 OAuth 服務登入" + }, + { + "id": "api.user.update_password.valid_account.app_error", + "translation": "更新密碼失敗,無法找到有效的帳號" + }, + { + "id": "api.user.update_roles.one_admin.app_error", + "translation": "至少要有一個啟用的管理員" + }, + { + "id": "api.user.update_roles.permissions.app_error", + "translation": "您沒有適當的權限" + }, + { + "id": "api.user.update_roles.system_admin_needed.app_error", + "translation": "限系統管理員方可進行本項作業" + }, + { + "id": "api.user.update_roles.system_admin_set.app_error", + "translation": "僅有系統管理員才能設定另一位系統管理員的角色" + }, + { + "id": "api.user.update_roles.team_admin_needed.app_error", + "translation": "限團隊管理員方可進行本項作業" + }, + { + "id": "api.user.upload_profile_user.array.app_error", + "translation": "要求中的 'image' 欄位為空陣列" + }, + { + "id": "api.user.upload_profile_user.decode.app_error", + "translation": "無法解碼個人頭像" + }, + { + "id": "api.user.upload_profile_user.decode_config.app_error", + "translation": "無法解碼個人頭像設定" + }, + { + "id": "api.user.upload_profile_user.encode.app_error", + "translation": "無法編碼個人頭像" + }, + { + "id": "api.user.upload_profile_user.no_file.app_error", + "translation": "要求中的 'image' 欄位沒有檔案" + }, + { + "id": "api.user.upload_profile_user.open.app_error", + "translation": "無法開啟圖片檔案" + }, + { + "id": "api.user.upload_profile_user.parse.app_error", + "translation": "無法解析 multipart 表單" + }, + { + "id": "api.user.upload_profile_user.storage.app_error", + "translation": "無法上傳檔案。尚未設定圖片儲存位置。" + }, + { + "id": "api.user.upload_profile_user.too_large.app_error", + "translation": "無法上傳個人資訊圖片。檔案太大。" + }, + { + "id": "api.user.upload_profile_user.upload_profile.app_error", + "translation": "無法上傳個人頭像" + }, + { + "id": "api.user.verify_email.bad_link.app_error", + "translation": "錯誤的驗證電子郵件連結。" + }, + { + "id": "api.web_hub.start.starting.debug", + "translation": "啟動 %v Websocket 中樞" + }, + { + "id": "api.web_hub.start.stopping.debug", + "translation": "停止 Websocket 中樞連線" + }, + { + "id": "api.web_socket.connect.error", + "translation": "Websocket 連接錯誤:%v" + }, + { + "id": "api.web_socket.connect.upgrade.app_error", + "translation": "更新 Websocket 連線失敗" + }, + { + "id": "api.web_socket.init.debug", + "translation": "正在初始化 web socket API 路徑" + }, + { + "id": "api.web_socket_handler.log.error", + "translation": "%v:%v seq=%v uid=%v %v [詳細:%v]" + }, + { + "id": "api.web_socket_router.log.error", + "translation": "Websocket 路由錯誤:seq=%v uid=%v %v [詳細:%v]" + }, + { + "id": "api.web_team_hun.start.debug", + "translation": "正在停止團隊中心 teamId=%v" + }, + { + "id": "api.webhook.create_outgoing.disabled.app_error", + "translation": "傳出的 Webhook 已被系統管理員停用。" + }, + { + "id": "api.webhook.create_outgoing.intersect.app_error", + "translation": "同一頻道的傳出的 Webhook 不可以使用相同的觸發關鍵字/回呼網址。" + }, + { + "id": "api.webhook.create_outgoing.not_open.app_error", + "translation": "只有公開頻道可以建立傳出的 Webhook。" + }, + { + "id": "api.webhook.create_outgoing.permissions.app_error", + "translation": "沒有適當的權限建立傳出的 Webhook。" + }, + { + "id": "api.webhook.create_outgoing.triggers.app_error", + "translation": "必須設定觸發詞或者頻道 ID" + }, + { + "id": "api.webhook.delete_incoming.disabled.app_error", + "translation": "傳入的 Webhook 已被系統管理員停用。" + }, + { + "id": "api.webhook.delete_incoming.permissions.app_error", + "translation": "沒有權限刪除傳入的 Webhook" + }, + { + "id": "api.webhook.delete_outgoing.disabled.app_error", + "translation": "傳出的 Webhook 已被系統管理員停用" + }, + { + "id": "api.webhook.delete_outgoing.permissions.app_error", + "translation": "沒有適當的權限刪除傳出的 Webhook" + }, + { + "id": "api.webhook.incoming.debug", + "translation": "收到傳入的 Webhook。內容=" + }, + { + "id": "api.webhook.incoming.debug.error", + "translation": "無法讀取傳入的 Webhook 的內容。" + }, + { + "id": "api.webhook.init.debug", + "translation": "正在初始化 Webhook API 路徑" + }, + { + "id": "api.webhook.regen_outgoing_token.permissions.app_error", + "translation": "沒有適當的權限重新產生傳出的 Webhook Token" + }, + { + "id": "api.webhook.team_mismatch.app_error", + "translation": "無法更新不同團隊的 Webhook" + }, + { + "id": "api.webhook.update_incoming.disabled.app_error", + "translation": "傳入的 Webhook 已被系統管理員停用。" + }, + { + "id": "api.webhook.update_incoming.permissions.app_error", + "translation": "沒有適當的權限更新傳入的 Webhook" + }, + { + "id": "api.webhook.update_outgoing.disabled.app_error", + "translation": "傳出的 Webhook 已被系統管理員停用。" + }, + { + "id": "api.webhook.update_outgoing.intersect.app_error", + "translation": "同一頻道的傳出的 Webhook 不可以使用相同的觸發關鍵字/回呼網址。" + }, + { + "id": "api.webhook.update_outgoing.not_open.app_error", + "translation": "只有公開頻道可以更新傳出的 Webhook。" + }, + { + "id": "api.webhook.update_outgoing.permissions.app_error", + "translation": "沒有適當的權限更新傳出的 Webhook。" + }, + { + "id": "api.webhook.update_outgoing.triggers.app_error", + "translation": "必須設定觸發詞或者頻道 ID" + }, + { + "id": "api.webrtc.disabled.app_error", + "translation": "此伺服器未啟用 WebRTC。" + }, + { + "id": "api.webrtc.init.debug", + "translation": "正在初始化 WebRTC API 路徑" + }, + { + "id": "api.webrtc.register_token.app_error", + "translation": "嘗試註冊 WebRTC Token時發生錯誤" + }, + { + "id": "api.websocket.invalid_session.error", + "translation": "無效的工作階段 err=%v" + }, + { + "id": "api.websocket_handler.invalid_param.app_error", + "translation": "無效的參數 {{.Name}}" + }, + { + "id": "app.channel.create_channel.no_team_id.app_error", + "translation": "建立頻道時必須指定團隊 ID" + }, + { + "id": "app.channel.post_update_channel_purpose_message.post.error", + "translation": "發送頻道用途訊息失敗" + }, + { + "id": "app.channel.post_update_channel_purpose_message.removed", + "translation": "%s 已移除了頻道用途 (原為: %s)" + }, + { + "id": "app.channel.post_update_channel_purpose_message.retrieve_user.error", + "translation": "嘗試儲存更新的頻道用途訊息 %v 時取得使用者資訊失敗" + }, + { + "id": "app.channel.post_update_channel_purpose_message.updated_from", + "translation": "%s 將原頻道用途由 %s 改為 %s" + }, + { + "id": "app.channel.post_update_channel_purpose_message.updated_to", + "translation": "%s 已更新頻道用途為:%s" + }, + { + "id": "app.import.bulk_import.file_scan.error", + "translation": "讀取匯入資料檔失敗。" + }, + { + "id": "app.import.bulk_import.json_decode.error", + "translation": "JSON 解碼失敗。" + }, + { + "id": "app.import.import_channel.team_not_found.error", + "translation": "匯入頻道失敗。不存在名字為 \"{{.TeamName}}\" 的團隊。" + }, + { + "id": "app.import.import_line.null_channel.error", + "translation": "匯入資料行資料型別為\"頻道\"但頻道物件為 null" + }, + { + "id": "app.import.import_line.null_post.error", + "translation": "匯入資料行資料型別為\"訊息\"但訊息物件為 null" + }, + { + "id": "app.import.import_line.null_team.error", + "translation": "匯入資料行資料型別為\"團隊\"但團隊物件為 null" + }, + { + "id": "app.import.import_line.null_user.error", + "translation": "匯入資料行資料型別為\"使用者\"但使用者物件為 null" + }, + { + "id": "app.import.import_line.unknown_line_type.error", + "translation": "匯入資料行型別為未知型別 \"{{.Type}}\"。" + }, + { + "id": "app.import.import_post.channel_not_found.error", + "translation": "匯入訊息失敗。不存在名字為 \"{{.Channelame}}\" 的頻道。" + }, + { + "id": "app.import.import_post.team_not_found.error", + "translation": "匯入訊息失敗。不存在名字為 \"{{.TeamName}}\" 的團隊。" + }, + { + "id": "app.import.import_post.user_not_found.error", + "translation": "匯入訊息失敗。不存在名字為 \"{{.Username}}\" 的使用者。" + }, + { + "id": "app.import.validate_channel_import_data.create_at_zero.error", + "translation": "如果有提供頻道建立時間,該值不能為 0。" + }, + { + "id": "app.import.validate_channel_import_data.display_name_length.error", + "translation": "頻道顯示名稱長度不符要求。" + }, + { + "id": "app.import.validate_channel_import_data.display_name_missing.error", + "translation": "缺少必要的頻道屬性:顯示名稱。" + }, + { + "id": "app.import.validate_channel_import_data.header_length.error", + "translation": "頻道標題過長。" + }, + { + "id": "app.import.validate_channel_import_data.name_characters.error", + "translation": "頻道名稱包含無效的字元。" + }, + { + "id": "app.import.validate_channel_import_data.name_length.error", + "translation": "頻道名稱過長。" + }, + { + "id": "app.import.validate_channel_import_data.name_missing.error", + "translation": "缺少必要的頻道屬性:名字。" + }, + { + "id": "app.import.validate_channel_import_data.purpose_length.error", + "translation": "頻道用途過長。" + }, + { + "id": "app.import.validate_channel_import_data.team_missing.error", + "translation": "缺少必要的頻道屬性:團隊。" + }, + { + "id": "app.import.validate_channel_import_data.type_invalid.error", + "translation": "無效的頻道類型。" + }, + { + "id": "app.import.validate_channel_import_data.type_missing.error", + "translation": "缺少必要的頻道屬性:類型。" + }, + { + "id": "app.import.validate_post_import_data.channel_missing.error", + "translation": "缺少必要的訊息屬性:頻道。" + }, + { + "id": "app.import.validate_post_import_data.create_at_missing.error", + "translation": "缺少必要的訊息屬性:建立日期。" + }, + { + "id": "app.import.validate_post_import_data.create_at_zero.error", + "translation": "如果有提供,訊息建立日期不能為零。" + }, + { + "id": "app.import.validate_post_import_data.message_length.error", + "translation": "訊息屬性長度超過允許的最大長度" + }, + { + "id": "app.import.validate_post_import_data.message_missing.error", + "translation": "缺少必要的訊息屬性:訊息。" + }, + { + "id": "app.import.validate_post_import_data.team_missing.error", + "translation": "缺少必要的訊息屬性:團隊。" + }, + { + "id": "app.import.validate_post_import_data.user_missing.error", + "translation": "缺少必要的訊息屬性:使用者。" + }, + { + "id": "app.import.validate_team_import_data.allowed_domains_length.error", + "translation": "團隊允許網域過長。" + }, + { + "id": "app.import.validate_team_import_data.create_at_zero.error", + "translation": "如果有提供團隊建立時間,該值不能為 0。" + }, + { + "id": "app.import.validate_team_import_data.description_length.error", + "translation": "團隊描述過長。" + }, + { + "id": "app.import.validate_team_import_data.display_name_length.error", + "translation": "團隊顯示名稱長度不符要求。" + }, + { + "id": "app.import.validate_team_import_data.display_name_missing.error", + "translation": "缺少必要的團隊屬性:顯示名稱。" + }, + { + "id": "app.import.validate_team_import_data.name_characters.error", + "translation": "使用者名稱帶有無效字元。" + }, + { + "id": "app.import.validate_team_import_data.name_length.error", + "translation": "團隊名稱過長。" + }, + { + "id": "app.import.validate_team_import_data.name_missing.error", + "translation": "缺少必要的團隊屬性:名字。" + }, + { + "id": "app.import.validate_team_import_data.name_reserved.error", + "translation": "團隊名稱帶有保留字。" + }, + { + "id": "app.import.validate_team_import_data.type_invalid.error", + "translation": "無效的團隊類型。" + }, + { + "id": "app.import.validate_team_import_data.type_missing.error", + "translation": "缺少必要的團隊屬性:類型。" + }, + { + "id": "app.import.validate_user_channels_import_data.channel_name_missing.error", + "translation": "使用者頻道資料中缺少頻道名字。" + }, + { + "id": "app.import.validate_user_channels_import_data.invalid_notify_props_desktop.error", + "translation": "使用者頻道成員身份的桌面 NotifyProps 無效" + }, + { + "id": "app.import.validate_user_channels_import_data.invalid_notify_props_mark_unread.error", + "translation": "使用者頻道成員身份的標注未讀 NotifyProps 無效" + }, + { + "id": "app.import.validate_user_channels_import_data.invalid_roles.error", + "translation": "使用者頻道資料的角色為無效資料。" + }, + { + "id": "app.import.validate_user_import_data.auth_data_length.error", + "translation": "使用者認證資料過長。" + }, + { + "id": "app.import.validate_user_import_data.auth_service_length.error", + "translation": "如果有提供使用者認證服務,該值不能為空。" + }, + { + "id": "app.import.validate_user_import_data.email_length.error", + "translation": "使用者電子郵件的長度無效。" + }, + { + "id": "app.import.validate_user_import_data.email_missing.error", + "translation": "缺少必要的使用者屬性:電子郵件。" + }, + { + "id": "app.import.validate_user_import_data.first_name_length.error", + "translation": "使用者名字過長。" + }, + { + "id": "app.import.validate_user_import_data.last_name_length.error", + "translation": "使用者姓氏過長。" + }, + { + "id": "app.import.validate_user_import_data.nickname_length.error", + "translation": "使用者暱稱過長。" + }, + { + "id": "app.import.validate_user_import_data.position_length.error", + "translation": "使用者職位過長。" + }, + { + "id": "app.import.validate_user_import_data.roles_invalid.error", + "translation": "無效的使用者角色。" + }, + { + "id": "app.import.validate_user_import_data.username_invalid.error", + "translation": "無效的使用者名稱。" + }, + { + "id": "app.import.validate_user_import_data.username_missing.error", + "translation": "缺少必要的使用者屬性:名字。" + }, + { + "id": "app.import.validate_user_teams_import_data.invalid_roles.error", + "translation": "使用者團隊資料的角色為無效資料。" + }, + { + "id": "app.import.validate_user_teams_import_data.team_name_missing.error", + "translation": "使用者團隊資料中缺少團隊名字。" + }, + { + "id": "authentication.permissions.create_group_channel.description", + "translation": "允許建立新的群組訊息頻道" + }, + { + "id": "authentication.permissions.create_group_channel.name", + "translation": "建立群組訊息" + }, + { + "id": "authentication.permissions.create_team_roles.description", + "translation": "允許建立團隊" + }, + { + "id": "authentication.permissions.create_team_roles.name", + "translation": "建立團隊" + }, + { + "id": "authentication.permissions.manage_team_roles.description", + "translation": "允許改變團隊成員的角色" + }, + { + "id": "authentication.permissions.manage_team_roles.name", + "translation": "管理團隊角色" + }, + { + "id": "authentication.permissions.team_invite_user.description", + "translation": "允許邀請使用者至團隊" + }, + { + "id": "authentication.permissions.team_invite_user.name", + "translation": "邀請使用者" + }, + { + "id": "authentication.permissions.team_use_slash_commands.description", + "translation": "允許使用斜線命令" + }, + { + "id": "authentication.permissions.team_use_slash_commands.name", + "translation": "使用斜線命令" + }, + { + "id": "cli.license.critical", + "translation": "此功能需要企業版授權,請聯繫系統管理員將系統升級為企業版授權。" + }, + { + "id": "ent.brand.save_brand_image.decode.app_error", + "translation": "無法解碼圖片。" + }, + { + "id": "ent.brand.save_brand_image.decode_config.app_error", + "translation": "無法解碼圖片設定。" + }, + { + "id": "ent.brand.save_brand_image.encode.app_error", + "translation": "無法將圖片編碼成 PNG。" + }, + { + "id": "ent.brand.save_brand_image.open.app_error", + "translation": "無法開啟圖片。" + }, + { + "id": "ent.brand.save_brand_image.save_image.app_error", + "translation": "無法儲存圖片" + }, + { + "id": "ent.brand.save_brand_image.too_large.app_error", + "translation": "圖片過大無法開啟。" + }, + { + "id": "ent.cluster.config_changed.info", + "translation": "叢集設定已變更(id=%v)。 正在嘗試重新啟動叢集服務。 由於偵測到了核心設定的變更,為了保證叢集被正確的組態,您不應該依賴這次重新啟動。" + }, + { + "id": "ent.cluster.debug_fail.debug", + "translation": "在 `%v` 叢集發送失敗:detail=%v extra=%v retry number=%v" + }, + { + "id": "ent.cluster.final_fail.error", + "translation": "在 `%v` 叢集發送最終失敗:detail=%v extra=%v retry number=%v" + }, + { + "id": "ent.cluster.incompatible.warn", + "translation": "偵測到叢集可能不相容的版本 %v" + }, + { + "id": "ent.cluster.incompatible_config.warn", + "translation": "偵測到叢集可能不相容的設定 %v" + }, + { + "id": "ent.cluster.licence_disable.app_error", + "translation": "目前授權不提供叢集功能,請聯繫系統管理員將系統升級為企業版授權。" + }, + { + "id": "ent.cluster.ping_failed.info", + "translation": "叢集偵測失敗:hostname=%v on=%v id=%v" + }, + { + "id": "ent.cluster.ping_success.info", + "translation": "叢集偵測成功:hostname=%v on=%v id=%v self=%v" + }, + { + "id": "ent.cluster.save_config.error", + "translation": "啟用高可用性時系統控制台被設定為唯讀。" + }, + { + "id": "ent.cluster.starting.info", + "translation": "在 %v 上開始監聽叢集節點間通訊:hostname=%v id=%v" + }, + { + "id": "ent.cluster.stopping.info", + "translation": "在 %v 上的叢集節點間通訊正在停止:hostname=%v id=%v" + }, + { + "id": "ent.compliance.licence_disable.app_error", + "translation": "目前授權不提供規範功能,請聯繫系統管理員將系統升級為企業版授權。" + }, + { + "id": "ent.compliance.run_failed.error", + "translation": "規範匯出作業'{{.JobName}}'失敗。路徑為'{{.FilePath}}'" + }, + { + "id": "ent.compliance.run_finished.info", + "translation": "規範匯出作業'{{.JobName}}'完成。{{.Count}}筆紀錄已匯出至'{{.FilePath}}'" + }, + { + "id": "ent.compliance.run_limit.warning", + "translation": "警告,規範匯出作業 '{{.JobName}}' 行數過多,將只會輸出到第3萬行至'{{.FilePath}}' " + }, + { + "id": "ent.compliance.run_started.info", + "translation": "規範匯出作業 '{{.JobName}}' 開始,匯出到 '{{.FilePath}}'" + }, + { + "id": "ent.emoji.licence_disable.app_error", + "translation": "目前授權不提供限制自訂繪文字,請聯繫系統管理員將系統升級為企業版授權。" + }, + { + "id": "ent.ldap.create_fail", + "translation": "無法建立 LDAP 使用者。" + }, + { + "id": "ent.ldap.disabled.app_error", + "translation": "已停用 AD/LDAP 或授權不支援 AD/LDAP。" + }, + { + "id": "ent.ldap.do_login.bind_admin_user.app_error", + "translation": "無法綁定 AD/LDAP 伺服器,請檢查綁定使用者帳號與綁定密碼。" + }, + { + "id": "ent.ldap.do_login.invalid_password.app_error", + "translation": "無效的密碼" + }, + { + "id": "ent.ldap.do_login.licence_disable.app_error", + "translation": "目前的授權無法使用 AD/LDAP 功能。請聯繫系統管理員升級為企業授權。" + }, + { + "id": "ent.ldap.do_login.matched_to_many_users.app_error", + "translation": "提供的使用者名稱比對到多個使用者" + }, + { + "id": "ent.ldap.do_login.search_ldap_server.app_error", + "translation": "搜尋 AD/LDAP 伺服器失敗" + }, + { + "id": "ent.ldap.do_login.unable_to_connect.app_error", + "translation": "無法連線到 AD/LDAP 伺服器" + }, + { + "id": "ent.ldap.do_login.unable_to_create_user.app_error", + "translation": "認證有效,但無法建立使用者" + }, + { + "id": "ent.ldap.do_login.user_filtered.app_error", + "translation": "您的 AD/LDAP 帳號沒有使用此 Mattermost 伺服器的權限。請向系統管理員詢問確認 AD/LDAP 使用者過濾條件。" + }, + { + "id": "ent.ldap.do_login.user_not_registered.app_error", + "translation": "使用者尚未於 AD/LDAP 伺服器註冊" + }, + { + "id": "ent.ldap.mattermost_user_update", + "translation": "Mattermost 使用者已根據 AD/LDAP 伺服器更新。" + }, + { + "id": "ent.ldap.syncdone.info", + "translation": "AD/LDAP 同步完成" + }, + { + "id": "ent.ldap.syncronize.get_all.app_error", + "translation": "無法用 AD/LDAP 取得所有使用者" + }, + { + "id": "ent.ldap.validate_filter.app_error", + "translation": "無效的 AD/LDAP Filter" + }, + { + "id": "ent.metrics.starting.info", + "translation": "計量與分析伺服器正在 %v 上監聽" + }, + { + "id": "ent.metrics.stopping.info", + "translation": "%v 上的計量與分析伺服器正在停止" + }, + { + "id": "ent.mfa.activate.authenticate.app_error", + "translation": "嘗試認證多重要素驗證 Token 時遇到錯誤" + }, + { + "id": "ent.mfa.activate.bad_token.app_error", + "translation": "無效的多重要素驗證 Token" + }, + { + "id": "ent.mfa.activate.save_active.app_erro", + "translation": "無法為使用者更新多重要素驗證使用狀態" + }, + { + "id": "ent.mfa.deactivate.save_active.app_erro", + "translation": "無法為使用者更新多重要素驗證使用狀態" + }, + { + "id": "ent.mfa.deactivate.save_secret.app_error", + "translation": "清除多重要素驗證密碼時遇到錯誤" + }, + { + "id": "ent.mfa.generate_qr_code.create_code.app_error", + "translation": "產生 QR code 時遇到錯誤" + }, + { + "id": "ent.mfa.generate_qr_code.save_secret.app_error", + "translation": "儲存多重要素驗證密碼時遇到錯誤" + }, + { + "id": "ent.mfa.license_disable.app_error", + "translation": "您的授權不支援多重要素驗證" + }, + { + "id": "ent.mfa.validate_token.authenticate.app_error", + "translation": "嘗試認證多重要素驗證 Token 時遇到錯誤" + }, + { + "id": "ent.migration.migratetoldap.duplicate_field", + "translation": "無法根據指定的欄位移轉至 AD/LDAP 使用者。偵測到重複的項目。請移除所有重複項目然後再次嚐試。" + }, + { + "id": "ent.migration.migratetoldap.user_not_found", + "translation": "找不到使用者,AD/LDAP 伺服器:" + }, + { + "id": "ent.saml.attribute.app_error", + "translation": "由於不正確的屬性,SAML 登入失敗。請聯繫系統管理員。" + }, + { + "id": "ent.saml.build_request.app_error", + "translation": "建立與身分識別提供者連接的要求時發生錯誤。請聯繫系統管理員。" + }, + { + "id": "ent.saml.build_request.encoding.app_error", + "translation": "對與身分識別提供者連接的要求編碼時發生錯誤。請聯繫系統管理員。" + }, + { + "id": "ent.saml.build_request.encoding_signed.app_error", + "translation": "對與身分識別提供者連接的已簽章要求編碼時發生錯誤。請聯繫系統管理員。" + }, + { + "id": "ent.saml.configure.app_error", + "translation": "設定 SAML 服務提供者時發生錯誤,err=%v" + }, + { + "id": "ent.saml.configure.encryption_not_enabled.app_error", + "translation": "由於沒有啟用加密,SAML 登入失敗。請聯繫系統管理員。" + }, + { + "id": "ent.saml.configure.load_idp_cert.app_error", + "translation": "找不到身份識別提供者公開憑證檔案。請聯繫系統管理員。" + }, + { + "id": "ent.saml.configure.load_private_key.app_error", + "translation": "由於找不到服務提供者私鑰,SAML 登入失敗。請聯繫系統管理員。" + }, + { + "id": "ent.saml.configure.load_public_cert.app_error", + "translation": "找不到服務提供者公開憑證檔案。請聯繫系統管理員。" + }, + { + "id": "ent.saml.configure.not_encrypted_response.app_error", + "translation": "由於身份識別提供者的回應未加密,SAML 登入失敗。請聯繫系統管理員。" + }, + { + "id": "ent.saml.do_login.decrypt.app_error", + "translation": "由於解碼身份識別提供者的回應時發生錯誤,SAML 登入失敗。請聯繫系統管理員。" + }, + { + "id": "ent.saml.do_login.empty_response.app_error", + "translation": "身份識別提供者的回應為空值" + }, + { + "id": "ent.saml.do_login.parse.app_error", + "translation": "解析身份識別提供者的回應時發生錯誤。請聯繫系統管理員。" + }, + { + "id": "ent.saml.do_login.validate.app_error", + "translation": "驗證身份識別提供者的回應時發生錯誤。請聯繫系統管理員。" + }, + { + "id": "ent.saml.license_disable.app_error", + "translation": "您的授權不支援 SAML 認證。" + }, + { + "id": "ent.saml.metadata.app_error", + "translation": "在建立服務提供者的中繼資料時發生錯誤。" + }, + { + "id": "ent.saml.service_disable.app_error", + "translation": "本機不支援或未設定SAML" + }, + { + "id": "ent.saml.update_saml_user.unable_error", + "translation": "無法更新現有的 SAML 使用者。總之先允許登入。err=%v" + }, + { + "id": "error.generic.link_message", + "translation": "回到 Mattermost" + }, + { + "id": "error.generic.message", + "translation": "發生錯誤。" + }, + { + "id": "error.generic.title", + "translation": "錯誤" + }, + { + "id": "error.not_found.link_message", + "translation": "回到 Mattermost" + }, + { + "id": "error.not_found.message", + "translation": "您要造訪的頁面不存在。" + }, + { + "id": "error.not_found.title", + "translation": "找不到頁面" + }, + { + "id": "leave_team_modal.desc", + "translation": "將離開所有的公開頻道與私人群組。如果團隊是私人團隊,將無法重新加入。您確定嘛?" + }, + { + "id": "leave_team_modal.no", + "translation": "不" + }, + { + "id": "leave_team_modal.title", + "translation": "退出團隊?" + }, + { + "id": "leave_team_modal.yes", + "translation": "是" + }, + { + "id": "manaultesting.get_channel_id.no_found.debug", + "translation": "找不到: %v 頻道,已搜尋 %v 的可能性" + }, + { + "id": "manaultesting.get_channel_id.unable.debug", + "translation": "無法取得頻道" + }, + { + "id": "manaultesting.manual_test.create.info", + "translation": "建立使用者與團隊" + }, + { + "id": "manaultesting.manual_test.parse.app_error", + "translation": "無法解析網址" + }, + { + "id": "manaultesting.manual_test.setup.info", + "translation": "正在進行手動測試的設定..." + }, + { + "id": "manaultesting.manual_test.uid.debug", + "translation": "網址中找不到 uid" + }, + { + "id": "manaultesting.test_autolink.info", + "translation": "手動自動連結測試" + }, + { + "id": "manaultesting.test_autolink.unable.app_error", + "translation": "無法取得頻道" + }, + { + "id": "mattermost.bulletin.subject", + "translation": "Mattermost 安全性公告" + }, + { + "id": "mattermost.config_file", + "translation": "從 %v 讀取設定檔" + }, + { + "id": "mattermost.current_version", + "translation": "目前的版本為 %v (%v/%v/%v/%v)" + }, + { + "id": "mattermost.entreprise_enabled", + "translation": "企業版已啟用: %v" + }, + { + "id": "mattermost.load_license.find.warn", + "translation": "需要來自 https://mattermost.com 的授權金鑰以解鎖企業功能。" + }, + { + "id": "mattermost.security_bulletin.error", + "translation": "取得安全性公告詳情失敗" + }, + { + "id": "mattermost.security_bulletin_read.error", + "translation": "讀取安全性公告詳情失敗" + }, + { + "id": "mattermost.security_checks.debug", + "translation": "正在檢查來自 Mattermost 的安全性更新" + }, + { + "id": "mattermost.security_info.error", + "translation": "從 Mattermost 抓取安全性更新資訊失敗" + }, + { + "id": "mattermost.send_bulletin.info", + "translation": "正在傳送 %v 至 %v 的安全性公告" + }, + { + "id": "mattermost.system_admins.error", + "translation": "為抓取 Mattermost 上的安全性更新資訊獲取系統管理員失敗。" + }, + { + "id": "mattermost.working_dir", + "translation": "目前的工作目錄為 %v" + }, + { + "id": "model.access.is_valid.access_token.app_error", + "translation": "無效的存取 Token" + }, + { + "id": "model.access.is_valid.client_id.app_error", + "translation": "無效的用戶 ID" + }, + { + "id": "model.access.is_valid.redirect_uri.app_error", + "translation": "無效的重新導向網址" + }, + { + "id": "model.access.is_valid.refresh_token.app_error", + "translation": "無效的重新整理 Token" + }, + { + "id": "model.access.is_valid.user_id.app_error", + "translation": "無效的使用者 ID" + }, + { + "id": "model.authorize.is_valid.auth_code.app_error", + "translation": "無效的授權碼" + }, + { + "id": "model.authorize.is_valid.client_id.app_error", + "translation": "無效的用戶 ID" + }, + { + "id": "model.authorize.is_valid.create_at.app_error", + "translation": "\"新增時間\"必須是一個有效時間" + }, + { + "id": "model.authorize.is_valid.expires.app_error", + "translation": "必須設定到期時間" + }, + { + "id": "model.authorize.is_valid.redirect_uri.app_error", + "translation": "無效的重新導向網址" + }, + { + "id": "model.authorize.is_valid.scope.app_error", + "translation": "無效的範圍" + }, + { + "id": "model.authorize.is_valid.state.app_error", + "translation": "無效的狀態" + }, + { + "id": "model.authorize.is_valid.user_id.app_error", + "translation": "無效的使用者 ID" + }, + { + "id": "model.channel.is_valid.2_or_more.app_error", + "translation": "名稱必須是2個以上的小寫英數字元" + }, + { + "id": "model.channel.is_valid.create_at.app_error", + "translation": "\"新增時間\"必須是一個有效時間" + }, + { + "id": "model.channel.is_valid.creator_id.app_error", + "translation": "無效的建立者 ID" + }, + { + "id": "model.channel.is_valid.display_name.app_error", + "translation": "無效的顯示名稱" + }, + { + "id": "model.channel.is_valid.header.app_error", + "translation": "無效的標題" + }, + { + "id": "model.channel.is_valid.id.app_error", + "translation": "無效的 ID" + }, + { + "id": "model.channel.is_valid.name.app_error", + "translation": "無效的名稱" + }, + { + "id": "model.channel.is_valid.purpose.app_error", + "translation": "無效的目的" + }, + { + "id": "model.channel.is_valid.type.app_error", + "translation": "無效的類型" + }, + { + "id": "model.channel.is_valid.update_at.app_error", + "translation": "\"更新時間\"必須是一個有效的時間" + }, + { + "id": "model.channel_member.is_valid.channel_id.app_error", + "translation": "無效的頻道 ID" + }, + { + "id": "model.channel_member.is_valid.email_value.app_error", + "translation": "無效的電子郵件通知值" + }, + { + "id": "model.channel_member.is_valid.notify_level.app_error", + "translation": "無效的通知等級" + }, + { + "id": "model.channel_member.is_valid.push_level.app_error", + "translation": "無效的推播通知等級" + }, + { + "id": "model.channel_member.is_valid.role.app_error", + "translation": "無效的角色" + }, + { + "id": "model.channel_member.is_valid.unread_level.app_error", + "translation": "無效的未讀標記等級" + }, + { + "id": "model.channel_member.is_valid.user_id.app_error", + "translation": "無效的使用者 ID" + }, + { + "id": "model.client.connecting.app_error", + "translation": "連接伺服器時遇到錯誤" + }, + { + "id": "model.client.create_emoji.emoji.app_error", + "translation": "無法附加繪文字資料於要求" + }, + { + "id": "model.client.create_emoji.image.app_error", + "translation": "無法附加圖片於要求" + }, + { + "id": "model.client.create_emoji.writer.app_error", + "translation": "無法寫入要求" + }, + { + "id": "model.client.login.app_error", + "translation": "認證 Token 不合" + }, + { + "id": "model.client.read_file.app_error", + "translation": "讀取檔案時遇到錯誤" + }, + { + "id": "model.client.set_profile_user.no_file.app_error", + "translation": "要求的 'image' 欄位沒有檔案" + }, + { + "id": "model.client.set_profile_user.writer.app_error", + "translation": "無法寫入要求" + }, + { + "id": "model.command.is_valid.create_at.app_error", + "translation": "\"新增時間\"必須是一個有效時間" + }, + { + "id": "model.command.is_valid.description.app_error", + "translation": "無效的敘述" + }, + { + "id": "model.command.is_valid.display_name.app_error", + "translation": "無效的顯示名稱" + }, + { + "id": "model.command.is_valid.id.app_error", + "translation": "無效的 ID" + }, + { + "id": "model.command.is_valid.method.app_error", + "translation": "無效的方法" + }, + { + "id": "model.command.is_valid.team_id.app_error", + "translation": "無效的團隊 ID" + }, + { + "id": "model.command.is_valid.token.app_error", + "translation": "無效的 Token" + }, + { + "id": "model.command.is_valid.trigger.app_error", + "translation": "無效的觸發指令" + }, + { + "id": "model.command.is_valid.update_at.app_error", + "translation": "\"更新時間\"必須是一個有效的時間" + }, + { + "id": "model.command.is_valid.url.app_error", + "translation": "無效的 URL" + }, + { + "id": "model.command.is_valid.url_http.app_error", + "translation": "無效的網址。必須使用以 http:// 或 https:// 開頭的有效網址" + }, + { + "id": "model.command.is_valid.user_id.app_error", + "translation": "無效的使用者 ID" + }, + { + "id": "model.compliance.is_valid.create_at.app_error", + "translation": "\"新增時間\"必須是一個有效時間" + }, + { + "id": "model.compliance.is_valid.desc.app_error", + "translation": "無效的敘述" + }, + { + "id": "model.compliance.is_valid.end_at.app_error", + "translation": "\"到\"必須是一個有效的時間" + }, + { + "id": "model.compliance.is_valid.id.app_error", + "translation": "無效的 ID" + }, + { + "id": "model.compliance.is_valid.start_at.app_error", + "translation": "\"起始\"必須是一個有效的時間" + }, + { + "id": "model.compliance.is_valid.start_end_at.app_error", + "translation": "\"到\"必須大於\"起始\"" + }, + { + "id": "model.config.is_valid.cluster_email_batching.app_error", + "translation": "啟用叢集時無法啟用批次郵件" + }, + { + "id": "model.config.is_valid.email_batching_buffer_size.app_error", + "translation": "電子郵件設定的批次郵件緩衝大小值無效。必須大於等於零。" + }, + { + "id": "model.config.is_valid.email_batching_interval.app_error", + "translation": "電子郵件設定的批次郵件間隔值無效。必須大於等於30秒。" + }, + { + "id": "model.config.is_valid.email_reset_salt.app_error", + "translation": "電子郵件設定中的密碼重設 Salt 無效。必須在32個字元以上。" + }, + { + "id": "model.config.is_valid.email_salt.app_error", + "translation": "電子郵件設定中的邀請 Salt 無效。必須在32個字元以上。" + }, + { + "id": "model.config.is_valid.email_security.app_error", + "translation": "電子郵件設定中的連線安全性設定無效。必須為 '', 'TLS', 或 'STARTTLS'" + }, + { + "id": "model.config.is_valid.encrypt_sql.app_error", + "translation": "無效的 SQL 設定 REST 加密金鑰。必須在32個字元以上." + }, + { + "id": "model.config.is_valid.file_driver.app_error", + "translation": "檔案設定中的驅動名稱無效。必須為 'local' 或 'amazons3'" + }, + { + "id": "model.config.is_valid.file_preview_height.app_error", + "translation": "檔案設定中的預覽高度無效。必須為0或者正數。" + }, + { + "id": "model.config.is_valid.file_preview_width.app_error", + "translation": "檔案設定中的預覽寬度無效。必須為正數。" + }, + { + "id": "model.config.is_valid.file_profile_height.app_error", + "translation": "檔案設定中的個人資訊高度無效。必須為正數。" + }, + { + "id": "model.config.is_valid.file_profile_width.app_error", + "translation": "檔案設定中的個人資訊寬度無效。必須為正數。" + }, + { + "id": "model.config.is_valid.file_salt.app_error", + "translation": "檔案設定中的公開連結 Salt 無效。必須在32個字元以上。" + }, + { + "id": "model.config.is_valid.file_thumb_height.app_error", + "translation": "檔案設定中縮圖高度無效。必須為正數。" + }, + { + "id": "model.config.is_valid.file_thumb_width.app_error", + "translation": "檔案設定中縮圖寬度無效。必須為正數。" + }, + { + "id": "model.config.is_valid.ldap_basedn", + "translation": "AD/LDAP 欄位 \"BaseDN\" 為必須欄位。" + }, + { + "id": "model.config.is_valid.ldap_bind_password", + "translation": "AD/LDAP 欄位 \"綁定使用者密碼\" 為必須欄位。" + }, + { + "id": "model.config.is_valid.ldap_bind_username", + "translation": "AD/LDAP 欄位 \"綁定使用者帳號\" 為必須欄位。" + }, + { + "id": "model.config.is_valid.ldap_email", + "translation": "AD/LDAP 欄位 \"電子郵件位址屬性\" 為必須欄位。" + }, + { + "id": "model.config.is_valid.ldap_firstname", + "translation": "AD/LDAP 欄位 \"名字屬性\" 為必須欄位。" + }, + { + "id": "model.config.is_valid.ldap_id", + "translation": "AD/LDAP 欄位 \"ID 的屬性\" 為必須欄位。" + }, + { + "id": "model.config.is_valid.ldap_lastname", + "translation": "AD/LDAP 欄位 \"姓氏屬性\" 為必須欄位。" + }, + { + "id": "model.config.is_valid.ldap_max_page_size.app_error", + "translation": "無效的最大分頁大小。" + }, + { + "id": "model.config.is_valid.ldap_required.app_error", + "translation": "遺漏 AD/LDAP 必填欄位" + }, + { + "id": "model.config.is_valid.ldap_required.app_error", + "translation": "遺漏 AD/LDAP 必填欄位" + }, + { + "id": "model.config.is_valid.ldap_security.app_error", + "translation": "AD/LDAP 設定中的連線安全性設定無效. 必須為 '', 'TLS', 或 'STARTTLS'" + }, + { + "id": "model.config.is_valid.ldap_server", + "translation": "AD/LDAP 欄位 \"LDAP 伺服器\" 為必須欄位。" + }, + { + "id": "model.config.is_valid.ldap_sync_interval.app_error", + "translation": "無效的同步間隔。最短為一分鐘。" + }, + { + "id": "model.config.is_valid.ldap_username", + "translation": "AD/LDAP 欄位 \"使用者名稱的屬性\" 為必須欄位。" + }, + { + "id": "model.config.is_valid.listen_address.app_error", + "translation": "服務設定中的聆聽位址無效。此項目必須設定" + }, + { + "id": "model.config.is_valid.login_attempts.app_error", + "translation": "服務設定中的最多登入嘗試次數無效。必須為正數." + }, + { + "id": "model.config.is_valid.max_burst.app_error", + "translation": "最大高載值必須大於0。" + }, + { + "id": "model.config.is_valid.max_channels.app_error", + "translation": "團隊設定中的單一團隊最高頻道數無效。必須為正數。" + }, + { + "id": "model.config.is_valid.max_file_size.app_error", + "translation": "檔案設定中的最大大小無效。必須為0或者正數。" + }, + { + "id": "model.config.is_valid.max_notify_per_channel.app_error", + "translation": "團隊設定中的單一團隊最高通知數無效。必須為正數。" + }, + { + "id": "model.config.is_valid.max_users.app_error", + "translation": "團隊設定中的單一團隊最高使用者數無效。必須為正數。" + }, + { + "id": "model.config.is_valid.password_length.app_error", + "translation": "密碼最小長度必須是一個整數且大於或等於{{.MinLength}}同時小於或等於{{.MaxLength}}。" + }, + { + "id": "model.config.is_valid.password_length_max_min.app_error", + "translation": "密碼最大長度必須大於等於最小長度。" + }, + { + "id": "model.config.is_valid.rate_mem.app_error", + "translation": "張貼速率限制設定中的記憶體儲存大小無效。必須為正數。" + }, + { + "id": "model.config.is_valid.rate_sec.app_error", + "translation": "張貼速率限制設定中的每秒設定無效。必須為正數。" + }, + { + "id": "model.config.is_valid.read_timeout.app_error", + "translation": "讀取逾時的值不正確。" + }, + { + "id": "model.config.is_valid.restrict_direct_message.app_error", + "translation": "無效的直接訊息限制。必須為 'any', 或 'team'" + }, + { + "id": "model.config.is_valid.saml_assertion_consumer_service_url.app_error", + "translation": "無效的網址。服務提供者登入網址必須使用以 http:// 或 https:// 開頭的有效網址。" + }, + { + "id": "model.config.is_valid.saml_email_attribute.app_error", + "translation": "無效的電子郵件屬性。此屬性必須設定。" + }, + { + "id": "model.config.is_valid.saml_idp_cert.app_error", + "translation": "找不到身份識別提供者公開憑證。是否忘記上傳?" + }, + { + "id": "model.config.is_valid.saml_idp_descriptor_url.app_error", + "translation": "身份識別提供者的簽發者網址必須是有效且以 http:// 或 https:// 開頭的網址。" + }, + { + "id": "model.config.is_valid.saml_idp_url.app_error", + "translation": "SAML SSO 網址必須使用以 http:// 或 https:// 開頭的有效網址。" + }, + { + "id": "model.config.is_valid.saml_private_key.app_error", + "translation": "找不到身份識別提供者私鑰。是否忘記上傳?" + }, + { + "id": "model.config.is_valid.saml_public_cert.app_error", + "translation": "找不到服務提供者公開憑證。是否忘記上傳?" + }, + { + "id": "model.config.is_valid.saml_username_attribute.app_error", + "translation": "無效的使用者名稱屬性。此屬性必須設定。" + }, + { + "id": "model.config.is_valid.site_url.app_error", + "translation": "站台網址必須使用以 http:// 或 https:// 開頭的有效網址。" + }, + { + "id": "model.config.is_valid.site_url_email_batching.app_error", + "translation": "站台網址設定完畢之前無法啟用批次郵件" + }, + { + "id": "model.config.is_valid.sitename_length.app_error", + "translation": "站台名稱至多{{.MaxLength}}個字" + }, + { + "id": "model.config.is_valid.sql_data_src.app_error", + "translation": "SQL 設定中的資料來源無效。此項目必須設定." + }, + { + "id": "model.config.is_valid.sql_driver.app_error", + "translation": "SQL 設定中的驅動名稱無效。必須為 'mysql' 或 'postgres'" + }, + { + "id": "model.config.is_valid.sql_idle.app_error", + "translation": "SQL 設定中的最高閒置連線數無效。必須為正數。" + }, + { + "id": "model.config.is_valid.sql_max_conn.app_error", + "translation": "SQL 設定中的最高開啟連線數無效。必須為正數。" + }, + { + "id": "model.config.is_valid.time_between_user_typing.app_error", + "translation": "使用者輸入更新間隔不應該設定為低於 1000 毫秒。" + }, + { + "id": "model.config.is_valid.webrtc_gateway_admin_secret.app_error", + "translation": "必須設定 WebRTC 閘道管理員密碼。" + }, + { + "id": "model.config.is_valid.webrtc_gateway_admin_url.app_error", + "translation": "WebRTC 閘道管理員網址必須是以 http:// 或 https:// 起始的有效網址。" + }, + { + "id": "model.config.is_valid.webrtc_gateway_ws_url.app_error", + "translation": "WebRTC 閘道 Websocket 網址必須是以 ws:// 或 wss:// 起始的有效網址。" + }, + { + "id": "model.config.is_valid.webrtc_stun_uri.app_error", + "translation": "WebRTC STUN URI 必須是以 stun: 的有效 URI。" + }, + { + "id": "model.config.is_valid.webrtc_turn_shared_key.app_error", + "translation": "如果已設定 TURN URI,WebRTC TURN 共享金鑰不能為空。" + }, + { + "id": "model.config.is_valid.webrtc_turn_uri.app_error", + "translation": "WebRTC TURN URI 必須是以 turn: 的有效 URI。" + }, + { + "id": "model.config.is_valid.webrtc_turn_username.app_error", + "translation": "如果已設定 TURN URI,WebRTC TURN 使用者名稱不能為空。" + }, + { + "id": "model.config.is_valid.webserver_security.app_error", + "translation": "網頁伺服器連線安全的值不正確。" + }, + { + "id": "model.config.is_valid.write_timeout.app_error", + "translation": "寫入逾時的值不正確。" + }, + { + "id": "model.emoji.create_at.app_error", + "translation": "\"新增時間\"必須是一個有效時間" + }, + { + "id": "model.emoji.creator_id.app_error", + "translation": "無效的建立者 ID" + }, + { + "id": "model.emoji.id.app_error", + "translation": "無效的繪文字 ID" + }, + { + "id": "model.emoji.name.app_error", + "translation": "名稱必須是長度為1到64之間的小寫英數字元" + }, + { + "id": "model.emoji.update_at.app_error", + "translation": "\"更新時間\"必須是一個有效的時間" + }, + { + "id": "model.file_info.get.gif.app_error", + "translation": "無法將 gif 解碼." + }, + { + "id": "model.incoming_hook.channel_id.app_error", + "translation": "無效的頻道 ID" + }, + { + "id": "model.incoming_hook.create_at.app_error", + "translation": "\"新增時間\"必須是一個有效時間" + }, + { + "id": "model.incoming_hook.description.app_error", + "translation": "無效的敘述" + }, + { + "id": "model.incoming_hook.display_name.app_error", + "translation": "無效的顯示名稱" + }, + { + "id": "model.incoming_hook.id.app_error", + "translation": "無效的 ID" + }, + { + "id": "model.incoming_hook.team_id.app_error", + "translation": "無效的團隊 ID" + }, + { + "id": "model.incoming_hook.update_at.app_error", + "translation": "\"更新時間\"必須是一個有效的時間" + }, + { + "id": "model.incoming_hook.user_id.app_error", + "translation": "無效的使用者 ID" + }, + { + "id": "model.oauth.is_valid.app_id.app_error", + "translation": "無效的應用程式 ID" + }, + { + "id": "model.oauth.is_valid.callback.app_error", + "translation": "回呼網址必須使用以 http:// 或 https:// 開頭的有效網址。" + }, + { + "id": "model.oauth.is_valid.client_secret.app_error", + "translation": "無效的用戶密碼" + }, + { + "id": "model.oauth.is_valid.create_at.app_error", + "translation": "\"新增時間\"必須是一個有效時間" + }, + { + "id": "model.oauth.is_valid.creator_id.app_error", + "translation": "無效的建立者 ID" + }, + { + "id": "model.oauth.is_valid.description.app_error", + "translation": "無效的敘述" + }, + { + "id": "model.oauth.is_valid.homepage.app_error", + "translation": "首頁網址必須使用以 http:// 或 https:// 開頭的有效網址。" + }, + { + "id": "model.oauth.is_valid.icon_url.app_error", + "translation": "圖示網址必須使用以 http:// 或 https:// 開頭的有效網址。" + }, + { + "id": "model.oauth.is_valid.name.app_error", + "translation": "無效的名稱" + }, + { + "id": "model.oauth.is_valid.update_at.app_error", + "translation": "\"更新時間\"必須是一個有效的時間" + }, + { + "id": "model.outgoing_hook.is_valid.callback.app_error", + "translation": "無效的回呼網址" + }, + { + "id": "model.outgoing_hook.is_valid.channel_id.app_error", + "translation": "無效的頻道 ID" + }, + { + "id": "model.outgoing_hook.is_valid.create_at.app_error", + "translation": "\"新增時間\"必須是一個有效時間" + }, + { + "id": "model.outgoing_hook.is_valid.description.app_error", + "translation": "無效的敘述" + }, + { + "id": "model.outgoing_hook.is_valid.display_name.app_error", + "translation": "無效的顯示名稱" + }, + { + "id": "model.outgoing_hook.is_valid.id.app_error", + "translation": "無效的 ID" + }, + { + "id": "model.outgoing_hook.is_valid.team_id.app_error", + "translation": "無效的團隊 ID" + }, + { + "id": "model.outgoing_hook.is_valid.token.app_error", + "translation": "無效的 Token" + }, + { + "id": "model.outgoing_hook.is_valid.trigger_words.app_error", + "translation": "無效的觸發關鍵字" + }, + { + "id": "model.outgoing_hook.is_valid.update_at.app_error", + "translation": "\"更新時間\"必須是一個有效的時間" + }, + { + "id": "model.outgoing_hook.is_valid.url.app_error", + "translation": "無效的回呼網址。每一個都必須是有效的網址並以 http:// or https:// 開頭" + }, + { + "id": "model.outgoing_hook.is_valid.user_id.app_error", + "translation": "無效的使用者 ID" + }, + { + "id": "model.outgoing_hook.is_valid.words.app_error", + "translation": "無效的觸發關鍵字" + }, + { + "id": "model.post.is_valid.channel_id.app_error", + "translation": "無效的頻道 id" + }, + { + "id": "model.post.is_valid.create_at.app_error", + "translation": "\"新增時間\"必須是一個有效時間" + }, + { + "id": "model.post.is_valid.file_ids.app_error", + "translation": "無效的檔名 ID" + }, + { + "id": "model.post.is_valid.filenames.app_error", + "translation": "無效的檔名" + }, + { + "id": "model.post.is_valid.hashtags.app_error", + "translation": "無效的 hashtags" + }, + { + "id": "model.post.is_valid.id.app_error", + "translation": "無效的 ID" + }, + { + "id": "model.post.is_valid.msg.app_error", + "translation": "無效的訊息" + }, + { + "id": "model.post.is_valid.original_id.app_error", + "translation": "無效的原始 ID" + }, + { + "id": "model.post.is_valid.parent_id.app_error", + "translation": "無效的上層 ID" + }, + { + "id": "model.post.is_valid.props.app_error", + "translation": "無效的屬性" + }, + { + "id": "model.post.is_valid.root_id.app_error", + "translation": "無效的根 ID" + }, + { + "id": "model.post.is_valid.root_parent.app_error", + "translation": "若上層 ID 已設定則根 ID 也必須設定否則無效" + }, + { + "id": "model.post.is_valid.type.app_error", + "translation": "無效的類型" + }, + { + "id": "model.post.is_valid.update_at.app_error", + "translation": "\"更新時間\"必須是一個有效的時間" + }, + { + "id": "model.post.is_valid.user_id.app_error", + "translation": "無效的使用者 ID" + }, + { + "id": "model.preference.is_valid.category.app_error", + "translation": "無效的類別" + }, + { + "id": "model.preference.is_valid.id.app_error", + "translation": "無效的使用者 ID" + }, + { + "id": "model.preference.is_valid.name.app_error", + "translation": "無效的名稱" + }, + { + "id": "model.preference.is_valid.theme.app_error", + "translation": "無效的佈景主題" + }, + { + "id": "model.preference.is_valid.value.app_error", + "translation": "值過長" + }, + { + "id": "model.reaction.is_valid.create_at.app_error", + "translation": "\"新增時間\"必須是一個有效時間" + }, + { + "id": "model.reaction.is_valid.emoji_name.app_error", + "translation": "無效的繪文字名稱" + }, + { + "id": "model.reaction.is_valid.post_id.app_error", + "translation": "無效的文章 ID" + }, + { + "id": "model.reaction.is_valid.user_id.app_error", + "translation": "無效的使用者 ID" + }, + { + "id": "model.team.is_valid.characters.app_error", + "translation": "名稱必須是2個以上的小寫英數字元" + }, + { + "id": "model.team.is_valid.company.app_error", + "translation": "無效的公司名稱" + }, + { + "id": "model.team.is_valid.create_at.app_error", + "translation": "\"新增時間\"必須是一個有效時間" + }, + { + "id": "model.team.is_valid.description.app_error", + "translation": "無效的敘述" + }, + { + "id": "model.team.is_valid.domains.app_error", + "translation": "無效的許可網域" + }, + { + "id": "model.team.is_valid.email.app_error", + "translation": "無效的電子郵件" + }, + { + "id": "model.team.is_valid.id.app_error", + "translation": "無效的 ID" + }, + { + "id": "model.team.is_valid.name.app_error", + "translation": "無效的名稱" + }, + { + "id": "model.team.is_valid.reserved.app_error", + "translation": "這個網址不存在。請嘗試其他的。" + }, + { + "id": "model.team.is_valid.type.app_error", + "translation": "無效的類型" + }, + { + "id": "model.team.is_valid.update_at.app_error", + "translation": "\"更新時間\"必須是一個有效的時間" + }, + { + "id": "model.team.is_valid.url.app_error", + "translation": "無效的 URL 識別碼" + }, + { + "id": "model.team_member.is_valid.role.app_error", + "translation": "無效的角色" + }, + { + "id": "model.team_member.is_valid.team_id.app_error", + "translation": "無效的團隊 ID" + }, + { + "id": "model.team_member.is_valid.user_id.app_error", + "translation": "無效的使用者 ID" + }, + { + "id": "model.user.is_valid.auth_data.app_error", + "translation": "無效的驗證資料" + }, + { + "id": "model.user.is_valid.auth_data_pwd.app_error", + "translation": "無效的使用者,密碼與認證資料不能同時被設定" + }, + { + "id": "model.user.is_valid.auth_data_type.app_error", + "translation": "無效的使用者,認證資料必須與認證類別一起被設定" + }, + { + "id": "model.user.is_valid.create_at.app_error", + "translation": "\"新增時間\"必須是一個有效時間" + }, + { + "id": "model.user.is_valid.email.app_error", + "translation": "無效的電子郵件地址" + }, + { + "id": "model.user.is_valid.first_name.app_error", + "translation": "無效的名字" + }, + { + "id": "model.user.is_valid.id.app_error", + "translation": "無效的使用者 ID" + }, + { + "id": "model.user.is_valid.last_name.app_error", + "translation": "無效的姓氏" + }, + { + "id": "model.user.is_valid.nickname.app_error", + "translation": "無效的暱稱" + }, + { + "id": "model.user.is_valid.position.app_error", + "translation": "無效的位置:不能超過35個字元。" + }, + { + "id": "model.user.is_valid.pwd.app_error", + "translation": "密碼最短必須有{{.Min}}個字元。" + }, + { + "id": "model.user.is_valid.pwd_lowercase.app_error", + "translation": "密碼最短必須有{{.Min}}個字元且至少有一個小寫英文字母。" + }, + { + "id": "model.user.is_valid.pwd_lowercase_number.app_error", + "translation": "密碼最短必須有{{.Min}}個字元且至少有一個小寫英文字母和一個數字。" + }, + { + "id": "model.user.is_valid.pwd_lowercase_number_symbol.app_error", + "translation": "密碼最短必須有{{.Min}}個字元且至少有一個小寫英文字母、一個數字和一個符號(\"~!@#$%^&*()\")。" + }, + { + "id": "model.user.is_valid.pwd_lowercase_symbol.app_error", + "translation": "密碼最短必須有{{.Min}}個字元且至少有一個小寫英文字母和一個符號(\"~!@#$%^&*()\")。" + }, + { + "id": "model.user.is_valid.pwd_lowercase_uppercase.app_error", + "translation": "密碼最短必須有{{.Min}}個字元且至少有一個小寫英文字母和一個大寫英文字母。" + }, + { + "id": "model.user.is_valid.pwd_lowercase_uppercase_number.app_error", + "translation": "密碼最短必須有{{.Min}}個字元且至少有一個小寫英文字母、一個大寫英文字母和一個數字。" + }, + { + "id": "model.user.is_valid.pwd_lowercase_uppercase_number_symbol.app_error", + "translation": "密碼最短必須有{{.Min}}個字元且至少有一個小寫英文字母、一個大寫英文字母、一個數字和一個符號(\"~!@#$%^&*()\")。" + }, + { + "id": "model.user.is_valid.pwd_lowercase_uppercase_symbol.app_error", + "translation": "密碼最短必須有{{.Min}}個字元且至少有一個小寫英文字母、一個大寫英文字母和一個符號(\"~!@#$%^&*()\")。" + }, + { + "id": "model.user.is_valid.pwd_number.app_error", + "translation": "密碼最短必須有{{.Min}}個字元且至少有一個數字。" + }, + { + "id": "model.user.is_valid.pwd_number_symbol.app_error", + "translation": "密碼最短必須有{{.Min}}個字元且至少有一個數字和一個符號(\"~!@#$%^&*()\")。" + }, + { + "id": "model.user.is_valid.pwd_symbol.app_error", + "translation": "密碼最短必須有{{.Min}}個字元且至少有一個符號(\"~!@#$%^&*()\")。" + }, + { + "id": "model.user.is_valid.pwd_uppercase.app_error", + "translation": "密碼最短必須有{{.Min}}個字元且至少有一個大寫英文字母。" + }, + { + "id": "model.user.is_valid.pwd_uppercase_number.app_error", + "translation": "密碼最短必須有{{.Min}}個字元且至少有一個大寫英文字母和一個數字。" + }, + { + "id": "model.user.is_valid.pwd_uppercase_number_symbol.app_error", + "translation": "密碼最短必須有{{.Min}}個字元且至少有一個大寫英文字母、一個數字和一個符號(\"~!@#$%^&*()\")。" + }, + { + "id": "model.user.is_valid.pwd_uppercase_symbol.app_error", + "translation": "密碼最短必須有{{.Min}}個字元且至少有一個大寫英文字母和一個符號(\"~!@#$%^&*()\")。" + }, + { + "id": "model.user.is_valid.team_id.app_error", + "translation": "無效的團隊 ID" + }, + { + "id": "model.user.is_valid.update_at.app_error", + "translation": "\"更新時間\"必須是一個有效的時間" + }, + { + "id": "model.user.is_valid.username.app_error", + "translation": "無效的使用者名稱" + }, + { + "id": "model.utils.decode_json.app_error", + "translation": "無法解碼" + }, + { + "id": "store.sql.alter_column_type.critical", + "translation": "更動欄位類型 %v 失敗" + }, + { + "id": "store.sql.check_index.critical", + "translation": "檢查索引 %v 失敗" + }, + { + "id": "store.sql.closing.info", + "translation": "正在關閉 SqlStore" + }, + { + "id": "store.sql.column_exists.critical", + "translation": "檢查欄位是否存在失敗 %v" + }, + { + "id": "store.sql.column_exists_missing_driver.critical", + "translation": "因為找不到驅動,檢查欄位是否存在失敗" + }, + { + "id": "store.sql.convert_encrypt_string_map", + "translation": "FromDb: 無法將 EncryptStringMap 轉換為 *string" + }, + { + "id": "store.sql.convert_string_array", + "translation": "FromDb: 無法將 StringArray 轉換為 *string" + }, + { + "id": "store.sql.convert_string_interface", + "translation": "FromDb: 無法將 StringInterface 轉換為 *string" + }, + { + "id": "store.sql.convert_string_map", + "translation": "FromDb: 無法將 StringMap 轉換為 *string" + }, + { + "id": "store.sql.create_column.critical", + "translation": "建立欄位 %v 失敗" + }, + { + "id": "store.sql.create_column_missing_driver.critical", + "translation": "因為找不到驅動,建立欄位失敗" + }, + { + "id": "store.sql.create_index.critical", + "translation": "建立索引 %v 失敗" + }, + { + "id": "store.sql.create_index_missing_driver.critical", + "translation": "因為找不到驅動,建立索引失敗" + }, + { + "id": "store.sql.creating_tables.critical", + "translation": "建立資料表時遇到錯誤: %v" + }, + { + "id": "store.sql.dialect_driver.critical", + "translation": "建立 SQL 方言專屬驅動失敗" + }, + { + "id": "store.sql.dialect_driver.panic", + "translation": "建立 SQL 方言專屬驅動 %v 失敗" + }, + { + "id": "store.sql.drop_column.critical", + "translation": "刪除欄位 %v 失敗" + }, + { + "id": "store.sql.incorrect_mac", + "translation": "密文對應的 MAC 不正確" + }, + { + "id": "store.sql.maxlength_column.critical", + "translation": "取得欄位 %v 最大長度失敗" + }, + { + "id": "store.sql.open_conn.critical", + "translation": "開啟 SQL 連線失敗 err:%v" + }, + { + "id": "store.sql.open_conn.panic", + "translation": "開啟 SQL 連線失敗 %v" + }, + { + "id": "store.sql.ping.critical", + "translation": "偵測資料庫失敗 err:%v" + }, + { + "id": "store.sql.pinging.info", + "translation": "正在偵測 sql %v 資料庫" + }, + { + "id": "store.sql.read_replicas_not_licensed.critical", + "translation": "目前授權不支援超過一個以上的讀取用複製機,請聯繫系統管理員升級到企業授權。" + }, + { + "id": "store.sql.remove_index.critical", + "translation": "移除索引 %v 失敗" + }, + { + "id": "store.sql.rename_column.critical", + "translation": "更名欄位 %v 失敗" + }, + { + "id": "store.sql.schema_out_of_date.warn", + "translation": "%v 的資料庫結構描述版本似乎過期了" + }, + { + "id": "store.sql.schema_set.info", + "translation": "資料庫結構描述已被設定為版本 %v" + }, + { + "id": "store.sql.schema_upgrade_attempt.warn", + "translation": "正在嘗試將資料庫結構描述版本升級至 %v" + }, + { + "id": "store.sql.schema_version.critical", + "translation": "%v 的資料庫結構描述版本無法升級。請不要跳過中間版本。" + }, + { + "id": "store.sql.short_ciphertext", + "translation": "短密文" + }, + { + "id": "store.sql.table_column_type.critical", + "translation": "取得資料類型失敗,欄位 %s 資料表 %s : %v" + }, + { + "id": "store.sql.table_exists.critical", + "translation": "檢查資料表是否存在失敗 %v" + }, + { + "id": "store.sql.too_short_ciphertext", + "translation": "密文太短" + }, + { + "id": "store.sql.upgraded.warn", + "translation": "資料庫結構描述已被升級至版本 %v" + }, + { + "id": "store.sql_audit.get.finding.app_error", + "translation": "尋找稽核紀錄時遇到錯誤" + }, + { + "id": "store.sql_audit.get.limit.app_error", + "translation": "分頁已達限制" + }, + { + "id": "store.sql_audit.permanent_delete_by_user.app_error", + "translation": "刪除稽核紀錄時遇到錯誤" + }, + { + "id": "store.sql_audit.save.saving.app_error", + "translation": "儲存稽核紀錄時遇到錯誤" + }, + { + "id": "store.sql_channel.analytics_deleted_type_count.app_error", + "translation": "無法取得已刪除的頻道類別數量" + }, + { + "id": "store.sql_channel.analytics_type_count.app_error", + "translation": "無法取得頻道類別數量" + }, + { + "id": "store.sql_channel.check_open_channel_permissions.app_error", + "translation": "無法檢查權限" + }, + { + "id": "store.sql_channel.check_permissions.app_error", + "translation": "無法檢查權限" + }, + { + "id": "store.sql_channel.check_permissions_by_name.app_error", + "translation": "無法檢查權限" + }, + { + "id": "store.sql_channel.delete.channel.app_error", + "translation": "無法刪除頻道" + }, + { + "id": "store.sql_channel.extra_updated.app_error", + "translation": "更新成員的最後更新時間時遇到問題" + }, + { + "id": "store.sql_channel.get.existing.app_error", + "translation": "找不到現有的頻道" + }, + { + "id": "store.sql_channel.get.find.app_error", + "translation": "尋找頻道時遇到錯誤" + }, + { + "id": "store.sql_channel.get_all.app_error", + "translation": "無法取得所有的頻道" + }, + { + "id": "store.sql_channel.get_by_name.existing.app_error", + "translation": "找不到現有的頻道" + }, + { + "id": "store.sql_channel.get_by_name.missing.app_error", + "translation": "頻道不存在" + }, + { + "id": "store.sql_channel.get_channel_counts.get.app_error", + "translation": "無法取得頻道數" + }, + { + "id": "store.sql_channel.get_channels.get.app_error", + "translation": "無法取得這些頻道" + }, + { + "id": "store.sql_channel.get_channels.not_found.app_error", + "translation": "找不到頻道" + }, + { + "id": "store.sql_channel.get_deleted_by_name.existing.app_error", + "translation": "找不到現有的已刪除頻道" + }, + { + "id": "store.sql_channel.get_deleted_by_name.missing.app_error", + "translation": "沒有該名字的已刪除頻道" + }, + { + "id": "store.sql_channel.get_extra_members.app_error", + "translation": "無法取得頻道成員的更多資訊" + }, + { + "id": "store.sql_channel.get_for_post.app_error", + "translation": "無法取得此發文的頻道" + }, + { + "id": "store.sql_channel.get_member.app_error", + "translation": "無法取得頻道的成員" + }, + { + "id": "store.sql_channel.get_member.missing.app_error", + "translation": "相關的使用者 ID 與頻道 ID 找不到任何頻道成員" + }, + { + "id": "store.sql_channel.get_member_count.app_error", + "translation": "無法取得頻道成員數" + }, + { + "id": "store.sql_channel.get_member_for_post.app_error", + "translation": "無法取得此發文的頻道成員" + }, + { + "id": "store.sql_channel.get_members.app_error", + "translation": "無法取得頻道成員" + }, + { + "id": "store.sql_channel.get_members_by_ids.app_error", + "translation": "無法取得頻道成員" + }, + { + "id": "store.sql_channel.get_more_channels.get.app_error", + "translation": "無法取得這些頻道" + }, + { + "id": "store.sql_channel.increment_mention_count.app_error", + "translation": "無法遞增提及計數" + }, + { + "id": "store.sql_channel.permanent_delete.app_error", + "translation": "無法刪除頻道" + }, + { + "id": "store.sql_channel.permanent_delete_by_team.app_error", + "translation": "無法刪除這些頻道" + }, + { + "id": "store.sql_channel.permanent_delete_members_by_user.app_error", + "translation": "無法移除頻道成員" + }, + { + "id": "store.sql_channel.remove_member.app_error", + "translation": "無法移除頻道成員" + }, + { + "id": "store.sql_channel.save.commit_transaction.app_error", + "translation": "無法提交交易" + }, + { + "id": "store.sql_channel.save.direct_channel.app_error", + "translation": "使用 SaveDirectChannel 建立一個直接訊息頻道" + }, + { + "id": "store.sql_channel.save.open_transaction.app_error", + "translation": "無法開啟交易" + }, + { + "id": "store.sql_channel.save_channel.current_count.app_error", + "translation": "取得目前的頻道數量失敗" + }, + { + "id": "store.sql_channel.save_channel.existing.app_error", + "translation": "必須為已存在的頻道執行更新" + }, + { + "id": "store.sql_channel.save_channel.exists.app_error", + "translation": "相同名字的頻道已存在於同團隊" + }, + { + "id": "store.sql_channel.save_channel.limit.app_error", + "translation": "已達允許加入的頻道總數量限制。" + }, + { + "id": "store.sql_channel.save_channel.previously.app_error", + "translation": "該網址先前已有建立頻道" + }, + { + "id": "store.sql_channel.save_channel.save.app_error", + "translation": "無法儲存頻道" + }, + { + "id": "store.sql_channel.save_direct_channel.add_members.app_error", + "translation": "無法新增直接訊息頻道的成員" + }, + { + "id": "store.sql_channel.save_direct_channel.commit.app_error", + "translation": "無法提交交易" + }, + { + "id": "store.sql_channel.save_direct_channel.not_direct.app_error", + "translation": "嘗試使用 SaveDirectChannel 建立的不是直接訊息頻道" + }, + { + "id": "store.sql_channel.save_direct_channel.open_transaction.app_error", + "translation": "無法開啟交易" + }, + { + "id": "store.sql_channel.save_member.commit_transaction.app_error", + "translation": "無法提交交易" + }, + { + "id": "store.sql_channel.save_member.exists.app_error", + "translation": "該 ID 的頻道使用者已存在" + }, + { + "id": "store.sql_channel.save_member.open_transaction.app_error", + "translation": "無法開啟交易" + }, + { + "id": "store.sql_channel.save_member.save.app_error", + "translation": "無法儲存頻道成員" + }, + { + "id": "store.sql_channel.search.app_error", + "translation": "搜尋頻道時遇到錯誤" + }, + { + "id": "store.sql_channel.set_last_viewed_at.app_error", + "translation": "無法更新最後瀏覽時間" + }, + { + "id": "store.sql_channel.update.app_error", + "translation": "無法更新頻道" + }, + { + "id": "store.sql_channel.update.exists.app_error", + "translation": "該識別名已經被其他頻道使用" + }, + { + "id": "store.sql_channel.update.previously.app_error", + "translation": "該識別名先前已有建立頻道" + }, + { + "id": "store.sql_channel.update.updating.app_error", + "translation": "更新頻道時遇到錯誤" + }, + { + "id": "store.sql_channel.update_last_viewed_at.app_error", + "translation": "無法更新最後瀏覽時間" + }, + { + "id": "store.sql_channel.update_member.app_error", + "translation": "更新頻道成員時遇到錯誤" + }, + { + "id": "store.sql_command.analytics_command_count.app_error", + "translation": "無法計算命令數量" + }, + { + "id": "store.sql_command.save.delete.app_error", + "translation": "無法刪除命令" + }, + { + "id": "store.sql_command.save.delete_perm.app_error", + "translation": "無法刪除命令" + }, + { + "id": "store.sql_command.save.get.app_error", + "translation": "無法取得命令" + }, + { + "id": "store.sql_command.save.get_team.app_error", + "translation": "無法取得命令" + }, + { + "id": "store.sql_command.save.saving.app_error", + "translation": "無法儲存命令" + }, + { + "id": "store.sql_command.save.saving_overwrite.app_error", + "translation": "無法覆蓋已存在的命令" + }, + { + "id": "store.sql_command.save.update.app_error", + "translation": "無法更新命令" + }, + { + "id": "store.sql_compliance.get.finding.app_error", + "translation": "取得規範報告時遇到錯誤" + }, + { + "id": "store.sql_compliance.save.saving.app_error", + "translation": "儲存規範報告時遇到錯誤" + }, + { + "id": "store.sql_emoji.delete.app_error", + "translation": "無法刪除繪文字" + }, + { + "id": "store.sql_emoji.delete.no_results", + "translation": "找不到要刪除的繪文字" + }, + { + "id": "store.sql_emoji.get.app_error", + "translation": "無法取得繪文字" + }, + { + "id": "store.sql_emoji.get_all.app_error", + "translation": "無法取得繪文字" + }, + { + "id": "store.sql_emoji.get_by_name.app_error", + "translation": "無法取得繪文字" + }, + { + "id": "store.sql_emoji.save.app_error", + "translation": "無法儲存繪文字" + }, + { + "id": "store.sql_file_info.attach_to_post.app_error", + "translation": "無法添加檔案訊息到發文上" + }, + { + "id": "store.sql_file_info.delete_for_post.app_error", + "translation": "無法從發文刪除檔案訊息" + }, + { + "id": "store.sql_file_info.get.app_error", + "translation": "無法取得檔案訊息" + }, + { + "id": "store.sql_file_info.get_by_path.app_error", + "translation": "無法根據路徑取得檔案訊息" + }, + { + "id": "store.sql_file_info.get_for_post.app_error", + "translation": "無法取得發文的檔案訊息" + }, + { + "id": "store.sql_file_info.save.app_error", + "translation": "無法儲存檔案訊息" + }, + { + "id": "store.sql_license.get.app_error", + "translation": "取得授權時遇到錯誤" + }, + { + "id": "store.sql_license.get.missing.app_error", + "translation": "找不到該授權 ID" + }, + { + "id": "store.sql_license.save.app_error", + "translation": "儲存授權時遇到錯誤" + }, + { + "id": "store.sql_oauth.delete.commit_transaction.app_error", + "translation": "無法提交交易" + }, + { + "id": "store.sql_oauth.delete.open_transaction.app_error", + "translation": "無法開啟交易以刪除 OAuth2 應用程式" + }, + { + "id": "store.sql_oauth.delete.rollback_transaction.app_error", + "translation": "無法回復交易以刪除 OAuth2 應用程式" + }, + { + "id": "store.sql_oauth.delete_app.app_error", + "translation": "刪除 OAuth2 應用程式時發生錯誤" + }, + { + "id": "store.sql_oauth.get_access_data.app_error", + "translation": "尋找存取 Token 時遇到錯誤" + }, + { + "id": "store.sql_oauth.get_access_data_by_user_for_app.app_error", + "translation": "尋找存取 Token 時遇到錯誤" + }, + { + "id": "store.sql_oauth.get_app.find.app_error", + "translation": "找不到要求的應用程式" + }, + { + "id": "store.sql_oauth.get_app.finding.app_error", + "translation": "尋找應用程式時遇到錯誤" + }, + { + "id": "store.sql_oauth.get_app_by_user.find.app_error", + "translation": "找不到任何已存在的應用程式" + }, + { + "id": "store.sql_oauth.get_apps.find.app_error", + "translation": "尋找 OAuth2 應用程式時發生錯誤" + }, + { + "id": "store.sql_oauth.get_auth_data.find.app_error", + "translation": "找不到授權碼" + }, + { + "id": "store.sql_oauth.get_auth_data.finding.app_error", + "translation": "尋找授權碼時遇到錯誤" + }, + { + "id": "store.sql_oauth.get_previous_access_data.app_error", + "translation": "尋找存取 Token 時遇到錯誤" + }, + { + "id": "store.sql_oauth.permanent_delete_auth_data_by_user.app_error", + "translation": "無法移除授權碼" + }, + { + "id": "store.sql_oauth.remove_access_data.app_error", + "translation": "無法移除存取 Token" + }, + { + "id": "store.sql_oauth.remove_auth_data.app_error", + "translation": "無法移除授權碼" + }, + { + "id": "store.sql_oauth.save_access_data.app_error", + "translation": "無法儲存存取 Token。" + }, + { + "id": "store.sql_oauth.save_app.existing.app_error", + "translation": "必須為已存在的應用程式執行更新" + }, + { + "id": "store.sql_oauth.save_app.save.app_error", + "translation": "無法儲存應用程式。" + }, + { + "id": "store.sql_oauth.save_auth_data.app_error", + "translation": "無法儲存授權碼。" + }, + { + "id": "store.sql_oauth.update_access_data.app_error", + "translation": "更新存取 Token 時遇到錯誤" + }, + { + "id": "store.sql_oauth.update_app.find.app_error", + "translation": "找不到已存在的應用程式以更新" + }, + { + "id": "store.sql_oauth.update_app.finding.app_error", + "translation": "尋找應用程式時遇到錯誤" + }, + { + "id": "store.sql_oauth.update_app.update.app_error", + "translation": "無法更新應用程式" + }, + { + "id": "store.sql_oauth.update_app.updating.app_error", + "translation": "更新應用程式時遇到錯誤" + }, + { + "id": "store.sql_post.analytics_posts_count.app_error", + "translation": "無法取得訊息數量" + }, + { + "id": "store.sql_post.analytics_posts_count_by_day.app_error", + "translation": "無法取得以日期為依據的訊息計數" + }, + { + "id": "store.sql_post.analytics_user_counts_posts_by_day.app_error", + "translation": "無法取得訊息的使用者數量" + }, + { + "id": "store.sql_post.delete.app_error", + "translation": "無法刪除訊息" + }, + { + "id": "store.sql_post.get.app_error", + "translation": "無法取得訊息" + }, + { + "id": "store.sql_post.get_parents_posts.app_error", + "translation": "無法取得該頻道的上層訊息" + }, + { + "id": "store.sql_post.get_posts.app_error", + "translation": "分頁已達限制" + }, + { + "id": "store.sql_post.get_posts_around.get.app_error", + "translation": "無法取得該頻道的訊息" + }, + { + "id": "store.sql_post.get_posts_around.get_parent.app_error", + "translation": "無法取得該頻道的上層訊息" + }, + { + "id": "store.sql_post.get_posts_created_att.app_error", + "translation": "無法取得該頻道的訊息" + }, + { + "id": "store.sql_post.get_posts_since.app_error", + "translation": "無法取得該頻道的訊息" + }, + { + "id": "store.sql_post.get_root_posts.app_error", + "translation": "無法取得該頻道的訊息" + }, + { + "id": "store.sql_post.overwrite.app_error", + "translation": "無法覆蓋訊息" + }, + { + "id": "store.sql_post.permanent_delete.app_error", + "translation": "無法刪除訊息" + }, + { + "id": "store.sql_post.permanent_delete_all_comments_by_user.app_error", + "translation": "無法刪除使用者的註解" + }, + { + "id": "store.sql_post.permanent_delete_by_channel.app_error", + "translation": "無法根據頻道刪除訊息" + }, + { + "id": "store.sql_post.permanent_delete_by_user.app_error", + "translation": "無法選擇該使用者的訊息以刪除" + }, + { + "id": "store.sql_post.permanent_delete_by_user.too_many.app_error", + "translation": "無法選擇該使用者的訊息以刪除 (數量太多),請重新執行" + }, + { + "id": "store.sql_post.save.app_error", + "translation": "無法儲存訊息" + }, + { + "id": "store.sql_post.save.existing.app_error", + "translation": "無法更新已存在的訊息" + }, + { + "id": "store.sql_post.search.warn", + "translation": "搜尋訊息查詢錯誤:%v" + }, + { + "id": "store.sql_post.update.app_error", + "translation": "無法更新訊息" + }, + { + "id": "store.sql_preference.delete.app_error", + "translation": "刪除偏好設定時遇到錯誤" + }, + { + "id": "store.sql_preference.delete_unused_features.debug", + "translation": "正在刪除所有沒有使用的預先發佈功能" + }, + { + "id": "store.sql_preference.get.app_error", + "translation": "尋找偏好設定時遇到錯誤" + }, + { + "id": "store.sql_preference.get_all.app_error", + "translation": "尋找偏好設定時遇到錯誤" + }, + { + "id": "store.sql_preference.get_category.app_error", + "translation": "尋找偏好設定時遇到錯誤" + }, + { + "id": "store.sql_preference.insert.exists.app_error", + "translation": "包含該使用者 ID、類別以及名稱的偏好設定已存在" + }, + { + "id": "store.sql_preference.insert.save.app_error", + "translation": "無法儲存偏好設定" + }, + { + "id": "store.sql_preference.is_feature_enabled.app_error", + "translation": "尋找預先發佈功能的偏好設定時遇到錯誤" + }, + { + "id": "store.sql_preference.permanent_delete_by_user.app_error", + "translation": "刪除偏好設定時遇到錯誤" + }, + { + "id": "store.sql_preference.save.commit_transaction.app_error", + "translation": "無法提交交易去儲存偏好設定" + }, + { + "id": "store.sql_preference.save.missing_driver.app_error", + "translation": "更新偏好設定時遇到錯誤" + }, + { + "id": "store.sql_preference.save.open_transaction.app_error", + "translation": "無法開啟交易去儲存偏好設定" + }, + { + "id": "store.sql_preference.save.rollback_transaction.app_error", + "translation": "無法撤銷交易去儲存偏好設定" + }, + { + "id": "store.sql_preference.save.updating.app_error", + "translation": "更新偏好設定時遇到錯誤" + }, + { + "id": "store.sql_preference.update.app_error", + "translation": "無法更新偏好設定" + }, + { + "id": "store.sql_reaction.delete.begin.app_error", + "translation": "刪除互動時無法開啟交易" + }, + { + "id": "store.sql_reaction.delete.commit.app_error", + "translation": "刪除互動時無法交付交易" + }, + { + "id": "store.sql_reaction.delete.save.app_error", + "translation": "無法刪除互動" + }, + { + "id": "store.sql_reaction.delete_all_with_emoj_name.delete_reactions.app_error", + "translation": "無法刪除指定繪文字名稱的互動" + }, + { + "id": "store.sql_reaction.delete_all_with_emoj_name.get_reactions.app_error", + "translation": "無法取得指定繪文字名稱的互動" + }, + { + "id": "store.sql_reaction.delete_all_with_emoji_name.update_post.warn", + "translation": "刪除互動時無法更新 Post.HasReactions:post_id=%v, error=%v" + }, + { + "id": "store.sql_reaction.get_for_post.app_error", + "translation": "無法取得對於文章的互動" + }, + { + "id": "store.sql_reaction.save.begin.app_error", + "translation": "儲存互動時無法開啟交易" + }, + { + "id": "store.sql_reaction.save.commit.app_error", + "translation": "儲存互動時無法交付交易" + }, + { + "id": "store.sql_reaction.save.save.app_error", + "translation": "無法儲存互動" + }, + { + "id": "store.sql_session.analytics_session_count.app_error", + "translation": "無法計算有多少工作階段" + }, + { + "id": "store.sql_session.cleanup_expired_sessions.app_error", + "translation": "刪除過期的使用者工作階段時遇到錯誤" + }, + { + "id": "store.sql_session.get.app_error", + "translation": "尋找工作階段時遇到錯誤" + }, + { + "id": "store.sql_session.get_sessions.app_error", + "translation": "尋找使用者工作階段時遇到錯誤" + }, + { + "id": "store.sql_session.get_sessions.error", + "translation": "於 getSessions 清除工作階段失敗 err=%v" + }, + { + "id": "store.sql_session.permanent_delete_sessions_by_user.app_error", + "translation": "無法移除使用者所有的工作階段" + }, + { + "id": "store.sql_session.remove.app_error", + "translation": "無法移除工作階段" + }, + { + "id": "store.sql_session.remove_all_sessions_for_team.app_error", + "translation": "無法移除所有的工作階段" + }, + { + "id": "store.sql_session.save.app_error", + "translation": "無法儲存工作階段" + }, + { + "id": "store.sql_session.save.cleanup.error", + "translation": "儲存過程中清理工作階段失敗 err=%v" + }, + { + "id": "store.sql_session.save.existing.app_error", + "translation": "無法更新已存在的工作階段" + }, + { + "id": "store.sql_session.update_device_id.app_error", + "translation": "無法更新裝置 ID" + }, + { + "id": "store.sql_session.update_last_activity.app_error", + "translation": "無法更新 last_activity_at" + }, + { + "id": "store.sql_session.update_roles.app_error", + "translation": "無法更新角色" + }, + { + "id": "store.sql_status.get.app_error", + "translation": "嘗試取得狀態時遇到錯誤" + }, + { + "id": "store.sql_status.get.missing.app_error", + "translation": "該狀態沒有對應的資料存在" + }, + { + "id": "store.sql_status.get_online.app_error", + "translation": "嘗試取得所有使用者的在線狀態時遇到錯誤" + }, + { + "id": "store.sql_status.get_online_away.app_error", + "translation": "嘗試取得所有使用者的在線/離開狀態時遇到錯誤" + }, + { + "id": "store.sql_status.get_team_statuses.app_error", + "translation": "嘗試取得團隊成員狀態時遇到錯誤" + }, + { + "id": "store.sql_status.get_total_active_users_count.app_error", + "translation": "無法計算活躍使用者的數量" + }, + { + "id": "store.sql_status.reset_all.app_error", + "translation": "重置所有狀態時遇到錯誤" + }, + { + "id": "store.sql_status.save.app_error", + "translation": "儲存狀態時遇到錯誤" + }, + { + "id": "store.sql_status.update.app_error", + "translation": "更新狀態時遇到錯誤" + }, + { + "id": "store.sql_system.get.app_error", + "translation": "尋找系統參數時遇到錯誤" + }, + { + "id": "store.sql_system.get_by_name.app_error", + "translation": "找不到該系統參數。" + }, + { + "id": "store.sql_system.get_version.app_error", + "translation": "無法取得資料庫版本" + }, + { + "id": "store.sql_system.save.app_error", + "translation": "儲存系統參數時遇到錯誤" + }, + { + "id": "store.sql_system.update.app_error", + "translation": "更新系統參數時遇到錯誤" + }, + { + "id": "store.sql_team.analytics_team_count.app_error", + "translation": "無法計算團隊數" + }, + { + "id": "store.sql_team.get.find.app_error", + "translation": "找不到已存在的團隊" + }, + { + "id": "store.sql_team.get.finding.app_error", + "translation": "尋找團隊時遇到錯誤" + }, + { + "id": "store.sql_team.get_all.app_error", + "translation": "無法取得全部的團隊" + }, + { + "id": "store.sql_team.get_all_team_listing.app_error", + "translation": "無法取得全部的團隊" + }, + { + "id": "store.sql_team.get_by_invite_id.find.app_error", + "translation": "找不到已存在的團隊" + }, + { + "id": "store.sql_team.get_by_invite_id.finding.app_error", + "translation": "找不到已存在的團隊" + }, + { + "id": "store.sql_team.get_by_name.app_error", + "translation": "找不到已存在的團隊" + }, + { + "id": "store.sql_team.get_member.app_error", + "translation": "無法取得團隊成員" + }, + { + "id": "store.sql_team.get_member.missing.app_error", + "translation": "相關的使用者 ID 與團隊 ID 找不到任何團隊成員" + }, + { + "id": "store.sql_team.get_member_count.app_error", + "translation": "無法計算團隊成員數量" + }, + { + "id": "store.sql_team.get_members.app_error", + "translation": "無法取得團隊成員" + }, + { + "id": "store.sql_team.get_members_by_ids.app_error", + "translation": "無法取得團隊成員" + }, + { + "id": "store.sql_team.get_teams_for_email.app_error", + "translation": "查詢團隊時遇到錯誤" + }, + { + "id": "store.sql_team.get_unread.app_error", + "translation": "無法取得團隊未讀訊息" + }, + { + "id": "store.sql_team.permanent_delete.app_error", + "translation": "無法刪除已存在的團隊" + }, + { + "id": "store.sql_team.remove_member.app_error", + "translation": "無法移除團隊成員" + }, + { + "id": "store.sql_team.save.app_error", + "translation": "無法儲存團隊" + }, + { + "id": "store.sql_team.save.domain_exists.app_error", + "translation": "已經存在相同名稱的團隊" + }, + { + "id": "store.sql_team.save.existing.app_error", + "translation": "必須為已存在的團隊執行更新" + }, + { + "id": "store.sql_team.save_member.exists.app_error", + "translation": "該 ID 的團隊成員已存在" + }, + { + "id": "store.sql_team.save_member.save.app_error", + "translation": "無法儲存該團隊成員" + }, + { + "id": "store.sql_team.update.app_error", + "translation": "無法更新團隊" + }, + { + "id": "store.sql_team.update.find.app_error", + "translation": "找不到已存在的團隊來更新" + }, + { + "id": "store.sql_team.update.finding.app_error", + "translation": "尋找團隊時遇到錯誤" + }, + { + "id": "store.sql_team.update.updating.app_error", + "translation": "更新團隊時遇到錯誤" + }, + { + "id": "store.sql_team.update_display_name.app_error", + "translation": "無法更新團隊名稱" + }, + { + "id": "store.sql_user.analytics_get_inactive_users_count.app_error", + "translation": "無法計算非活躍使用者的數量" + }, + { + "id": "store.sql_user.analytics_get_system_admin_count.app_error", + "translation": "無法計算系統管理員的數量" + }, + { + "id": "store.sql_user.analytics_unique_user_count.app_error", + "translation": "無法取得不重複的帳戶數量" + }, + { + "id": "store.sql_user.get.app_error", + "translation": "尋找帳號時遇到錯誤" + }, + { + "id": "store.sql_user.get_all_using_auth_service.other.app_error", + "translation": "尋找全部使用特定認證方式的帳號時遇到錯誤。" + }, + { + "id": "store.sql_user.get_by_auth.missing_account.app_error", + "translation": "在此團隊中找不到符合您認證型態的帳號,此團隊需要從團隊擁有者取得邀請才可加入。" + }, + { + "id": "store.sql_user.get_by_auth.other.app_error", + "translation": "根據認證型態尋找帳號時遇到錯誤。" + }, + { + "id": "store.sql_user.get_by_username.app_error", + "translation": "在此團隊中找不到符合您的使用者名稱之帳號,此團隊需要從團隊擁有者取得邀請才可加入。" + }, + { + "id": "store.sql_user.get_for_login.app_error", + "translation": "找不到符合您的認證之帳號,此團隊需要從團隊擁有者取得邀請才可加入。" + }, + { + "id": "store.sql_user.get_for_login.multiple_users", + "translation": "找到數個相符於您的認證之帳號,所以無法讓您登入,請聯繫系統管理員。" + }, + { + "id": "store.sql_user.get_profiles.app_error", + "translation": "尋找使用者資訊時遇到錯誤" + }, + { + "id": "store.sql_user.get_recently_active_users.app_error", + "translation": "在尋找近期活躍使用者時遭遇錯誤" + }, + { + "id": "store.sql_user.get_sysadmin_profiles.app_error", + "translation": "尋找使用者資訊時遇到錯誤" + }, + { + "id": "store.sql_user.get_total_users_count.app_error", + "translation": "無法計算使用者數量" + }, + { + "id": "store.sql_user.get_unread_count.app_error", + "translation": "無法計算該使用者的未讀訊息數量" + }, + { + "id": "store.sql_user.get_unread_count_for_channel.app_error", + "translation": "無法取得使用者跟頻道的未讀訊息數量" + }, + { + "id": "store.sql_user.migrate_theme.critical", + "translation": "轉移 User.ThemeProps 到偏好設定表格 %v 時失敗" + }, + { + "id": "store.sql_user.missing_account.const", + "translation": "找不到使用者" + }, + { + "id": "store.sql_user.permanent_delete.app_error", + "translation": "無法刪除已存在的帳戶" + }, + { + "id": "store.sql_user.save.app_error", + "translation": "無法儲存帳號." + }, + { + "id": "store.sql_user.save.email_exists.app_error", + "translation": "有帳號已經使用這個電子郵件。" + }, + { + "id": "store.sql_user.save.email_exists.ldap_app_error", + "translation": "該帳號未使用 AD/LDAP 認證。請用電子郵件地址與密碼登入。" + }, + { + "id": "store.sql_user.save.email_exists.saml_app_error", + "translation": "該帳號未使用 SAML 認證。請用電子郵件地址與密碼登入。" + }, + { + "id": "store.sql_user.save.existing.app_error", + "translation": "必須為已存在的使用者執行更新" + }, + { + "id": "store.sql_user.save.max_accounts.app_error", + "translation": "此團隊已達最大使用者數量上限。請聯絡系統管理員調大數量限制。" + }, + { + "id": "store.sql_user.save.member_count.app_error", + "translation": "取得目前團隊成員數量失敗" + }, + { + "id": "store.sql_user.save.username_exists.app_error", + "translation": "有帳號已經使用這個使用者名稱。" + }, + { + "id": "store.sql_user.save.username_exists.ldap_app_error", + "translation": "有帳號已經使用這個使用者名稱,請聯繫系統管理員。" + }, + { + "id": "store.sql_user.save.username_exists.saml_app_error", + "translation": "有帳號已經使用這個使用者名稱,請聯繫系統管理員。" + }, + { + "id": "store.sql_user.update.app_error", + "translation": "無法更新這個帳號" + }, + { + "id": "store.sql_user.update.can_not_change_ldap.app_error", + "translation": "不能變更經由 AD/LDAP 設定的欄位資料" + }, + { + "id": "store.sql_user.update.email_taken.app_error", + "translation": "這個電子郵件已經被使用。請選擇其他的。" + }, + { + "id": "store.sql_user.update.find.app_error", + "translation": "找不到已存在的帳號以更新" + }, + { + "id": "store.sql_user.update.finding.app_error", + "translation": "尋找帳號時遇到錯誤" + }, + { + "id": "store.sql_user.update.updating.app_error", + "translation": "更新帳號時發生錯誤" + }, + { + "id": "store.sql_user.update.username_taken.app_error", + "translation": "使用者名稱已被使用。請選擇其他的。" + }, + { + "id": "store.sql_user.update_auth_data.app_error", + "translation": "無法更新認證資料" + }, + { + "id": "store.sql_user.update_auth_data.email_exists.app_error", + "translation": "無法變更帳號至{{.Service}}。已經有使用此電子郵件地址{{.Email}}的帳號。" + }, + { + "id": "store.sql_user.update_failed_pwd_attempts.app_error", + "translation": "無法更新 failed_attempts" + }, + { + "id": "store.sql_user.update_last_activity.app_error", + "translation": "無法更新 last_activity_at" + }, + { + "id": "store.sql_user.update_last_picture_update.app_error", + "translation": "無法更新 update_at" + }, + { + "id": "store.sql_user.update_last_ping.app_error", + "translation": "無法更新 last_ping_at" + }, + { + "id": "store.sql_user.update_mfa_active.app_error", + "translation": "更新使用者多重要素驗證使用狀態時遇到錯誤" + }, + { + "id": "store.sql_user.update_mfa_secret.app_error", + "translation": "更新使用者多重要素驗證密碼時遇到錯誤" + }, + { + "id": "store.sql_user.update_password.app_error", + "translation": "無法更新使用者密碼" + }, + { + "id": "store.sql_user.verify_email.app_error", + "translation": "無法更新驗證電子郵件欄位" + }, + { + "id": "store.sql_webhooks.analytics_incoming_count.app_error", + "translation": "無法計算傳入的 Webhook" + }, + { + "id": "store.sql_webhooks.analytics_outgoing_count.app_error", + "translation": "無法計算傳出的 Webhook" + }, + { + "id": "store.sql_webhooks.delete_incoming.app_error", + "translation": "無法刪除 Webhook" + }, + { + "id": "store.sql_webhooks.delete_outgoing.app_error", + "translation": "無法刪除 Webhook" + }, + { + "id": "store.sql_webhooks.get_incoming.app_error", + "translation": "無法取得 Webhook" + }, + { + "id": "store.sql_webhooks.get_incoming_by_channel.app_error", + "translation": "無法取得 Webhook" + }, + { + "id": "store.sql_webhooks.get_incoming_by_user.app_error", + "translation": "無法取得 Webhook" + }, + { + "id": "store.sql_webhooks.get_outgoing.app_error", + "translation": "無法取得 Webhook" + }, + { + "id": "store.sql_webhooks.get_outgoing_by_channel.app_error", + "translation": "無法取得 Webhook" + }, + { + "id": "store.sql_webhooks.get_outgoing_by_team.app_error", + "translation": "無法取得 Webhook" + }, + { + "id": "store.sql_webhooks.permanent_delete_incoming_by_user.app_error", + "translation": "無法刪除 Webhook" + }, + { + "id": "store.sql_webhooks.permanent_delete_outgoing_by_user.app_error", + "translation": "無法刪除 Webhook" + }, + { + "id": "store.sql_webhooks.save_incoming.app_error", + "translation": "無法儲存傳入的 Webhook" + }, + { + "id": "store.sql_webhooks.save_incoming.existing.app_error", + "translation": "無法覆蓋一個已存在的傳入的 Webhook" + }, + { + "id": "store.sql_webhooks.save_outgoing.app_error", + "translation": "無法儲存傳出的 Webhook" + }, + { + "id": "store.sql_webhooks.save_outgoing.override.app_error", + "translation": "無法複蓋一個已存在的傳出的 Webhook" + }, + { + "id": "store.sql_webhooks.update_incoming.app_error", + "translation": "無法更新傳入的 Webhook" + }, + { + "id": "store.sql_webhooks.update_outgoing.app_error", + "translation": "無法更新 Webhook" + }, + { + "id": "system.message.name", + "translation": "系統" + }, + { + "id": "utils.config.load_config.decoding.panic", + "translation": "解碼設定時遇到錯誤 file={{.Filename}}, err={{.Error}}" + }, + { + "id": "utils.config.load_config.getting.panic", + "translation": "取得設定資訊時遇到錯誤 file={{.Filename}}, err={{.Error}}" + }, + { + "id": "utils.config.load_config.opening.panic", + "translation": "開啟設定時遇到錯誤 file={{.Filename}}, err={{.Error}}" + }, + { + "id": "utils.config.load_config.validating.panic", + "translation": "驗證設定時遇到錯誤 file={{.Filename}}, err={{.Error}}" + }, + { + "id": "utils.config.save_config.saving.app_error", + "translation": "儲存檔案到 {{.Filename}} 時發生錯誤" + }, + { + "id": "utils.config.supported_client_locale.app_error", + "translation": "無法讀入 Mattermost 設定檔: DefaultClientLocale 必須為支援的地域" + }, + { + "id": "utils.config.supported_server_locale.app_error", + "translation": "無法讀入 Mattermost 設定檔: DefaultServerLocale 必須為支援的地域" + }, + { + "id": "utils.config.validate_locale.app_error", + "translation": "無法讀入 Mattermost 設定檔: AvaiableLocales 必須為包含 DefaultClientLocale" + }, + { + "id": "utils.diagnostic.analytics_not_found.app_error", + "translation": "分析尚未初始化" + }, + { + "id": "utils.i18n.loaded", + "translation": "已載入系統翻譯 '%v' 來自 '%v'" + }, + { + "id": "utils.iru.with_evict", + "translation": "必須提供正數的大小" + }, + { + "id": "utils.license.load_license.invalid.warn", + "translation": "找不到有效的企業版授權" + }, + { + "id": "utils.license.remove_license.unable.error", + "translation": "無法移除授權檔案, err=%v" + }, + { + "id": "utils.license.validate_license.decode.error", + "translation": "解碼授權時遇到錯誤, err=%v" + }, + { + "id": "utils.license.validate_license.invalid.error", + "translation": "無效的簽章, err=%v" + }, + { + "id": "utils.license.validate_license.not_long.error", + "translation": "簽章授權長度不夠" + }, + { + "id": "utils.license.validate_license.signing.error", + "translation": "簽章授權時遇到錯誤, err=%v" + }, + { + "id": "utils.mail.connect_smtp.open.app_error", + "translation": "開啟連線失敗" + }, + { + "id": "utils.mail.connect_smtp.open_tls.app_error", + "translation": "開啟 TLS 連線失敗" + }, + { + "id": "utils.mail.new_client.auth.app_error", + "translation": "SMTP 伺服器驗證失敗" + }, + { + "id": "utils.mail.new_client.open.error", + "translation": "開啟對 SMTP 伺服器 %v 的連線時失敗" + }, + { + "id": "utils.mail.send_mail.close.app_error", + "translation": "關閉對 SMTP 伺服器的連線失敗" + }, + { + "id": "utils.mail.send_mail.from_address.app_error", + "translation": "新增送信人失敗" + }, + { + "id": "utils.mail.send_mail.msg.app_error", + "translation": "撰寫電子郵件訊息失敗" + }, + { + "id": "utils.mail.send_mail.msg_data.app_error", + "translation": "新增電子郵件訊息失敗" + }, + { + "id": "utils.mail.send_mail.sending.debug", + "translation": "發送電子郵件到 %v 標題為 '%v'" + }, + { + "id": "utils.mail.send_mail.to_address.app_error", + "translation": "新增收件人失敗" + }, + { + "id": "utils.mail.test.configured.error", + "translation": "SMTP 伺服器並未設定正確 err=%v details=%v" + }, + { + "id": "utils.mail.test.configured.error", + "translation": "SMTP 伺服器並未設定正確 err=%v details=%v" + }, + { + "id": "web.admin_console.title", + "translation": "管理控制台" + }, + { + "id": "web.authorize_oauth.title", + "translation": "授權應用程式" + }, + { + "id": "web.check_browser_compatibility.app_error", + "translation": "無法支援目前的瀏覽器,請升級到下列任一瀏覽器: Google Chrome 21 以上版本、Internet Explorer 11 以上版本、FireFox 14 以上版本、Safari 9 以上版本" + }, + { + "id": "web.claim_account.team.error", + "translation": "找不到團隊 name=%v, err=%v" + }, + { + "id": "web.claim_account.title", + "translation": "宣告帳戶" + }, + { + "id": "web.claim_account.user.error", + "translation": "找不到使用者 teamid=%v, email=%v, err=%v" + }, + { + "id": "web.create_dir.error", + "translation": "建立目錄監控 %v 失敗" + }, + { + "id": "web.dir_fail.error", + "translation": "建立目錄監控 %v 失敗" + }, + { + "id": "web.do_load_channel.error", + "translation": "取得使用者 id=%v 資訊時遇到錯誤,強制登出" + }, + { + "id": "web.doc.title", + "translation": "文件" + }, + { + "id": "web.email_verified.title", + "translation": "電子郵件地址已驗證" + }, + { + "id": "web.find_team.title", + "translation": "尋找團隊" + }, + { + "id": "web.header.back", + "translation": "回上一步" + }, + { + "id": "web.incoming_webhook.attachment.app_error", + "translation": "附件最大大小為 {{.Max}} 字元,已接收大小為 {{.Actual}}" + }, + { + "id": "web.incoming_webhook.channel.app_error", + "translation": "找不到頻道" + }, + { + "id": "web.incoming_webhook.disabled.app_error", + "translation": "傳入的 Webhook已被系統管理員停用" + }, + { + "id": "web.incoming_webhook.invalid.app_error", + "translation": "無效的 Webhook" + }, + { + "id": "web.incoming_webhook.parse.app_error", + "translation": "無法解析流入的資料" + }, + { + "id": "web.incoming_webhook.permissions.app_error", + "translation": "不適當的頻道權限" + }, + { + "id": "web.incoming_webhook.text.app_error", + "translation": "沒有指定文字" + }, + { + "id": "web.incoming_webhook.text.length.app_error", + "translation": "文字最長可為 {{.Max}} 字元,已接收大小為 {{.Actual}}" + }, + { + "id": "web.incoming_webhook.user.app_error", + "translation": "找不到使用者" + }, + { + "id": "web.init.debug", + "translation": "正在初始化網站路徑" + }, + { + "id": "web.login.error", + "translation": "找不到團隊 name=%v, err=%v" + }, + { + "id": "web.login.login_title", + "translation": "登入" + }, + { + "id": "web.login_with_oauth.invalid_team.app_error", + "translation": "無效的團隊名稱" + }, + { + "id": "web.parsing_templates.debug", + "translation": "於 %v 解析樣板" + }, + { + "id": "web.parsing_templates.error", + "translation": "解析樣板 %v 失敗" + }, + { + "id": "web.post_permalink.app_error", + "translation": "無效的張貼 ID" + }, + { + "id": "web.reparse_templates.info", + "translation": "因檔案 %v 變動因此重新解析樣板" + }, + { + "id": "web.reset_password.expired_link.app_error", + "translation": "密碼重設連結已過期" + }, + { + "id": "web.reset_password.invalid_link.app_error", + "translation": "此密碼重設連結不是有效連結" + }, + { + "id": "web.root.home_title", + "translation": "首頁" + }, + { + "id": "web.root.singup_title", + "translation": "註冊" + }, + { + "id": "web.signup_team_complete.invalid_link.app_error", + "translation": "此註冊連結不是有效連結" + }, + { + "id": "web.signup_team_complete.link_expired.app_error", + "translation": "註冊連結已過期" + }, + { + "id": "web.signup_team_complete.title", + "translation": "完成團隊註冊" + }, + { + "id": "web.signup_team_confirm.title", + "translation": "註冊電子郵件已寄出" + }, + { + "id": "web.signup_user_complete.link_expired.app_error", + "translation": "註冊連結已過期" + }, + { + "id": "web.signup_user_complete.link_invalid.app_error", + "translation": "此註冊連結不是有效連結" + }, + { + "id": "web.signup_user_complete.no_invites.app_error", + "translation": "此團隊類型不允許自由加入" + }, + { + "id": "web.signup_user_complete.title", + "translation": "完成使用者註冊" + }, + { + "id": "web.singup_with_oauth.invalid_team.app_error", + "translation": "無效的團隊名稱" + }, + { + "id": "web.watcher_fail.error", + "translation": "新增目錄至監控 %v 失敗" + } +] diff --git a/i18n/zh_CN.json b/i18n/zh_CN.json deleted file mode 100644 index cef1f7e9d..000000000 --- a/i18n/zh_CN.json +++ /dev/null @@ -1,5978 +0,0 @@ -[ - { - "id": "April", - "translation": "四月" - }, - { - "id": "August", - "translation": "八月" - }, - { - "id": "December", - "translation": "十二月" - }, - { - "id": "February", - "translation": "二月" - }, - { - "id": "January", - "translation": "一月" - }, - { - "id": "July", - "translation": "七月" - }, - { - "id": "June", - "translation": "六月" - }, - { - "id": "March", - "translation": "三月" - }, - { - "id": "May", - "translation": "五月" - }, - { - "id": "November", - "translation": "十一月" - }, - { - "id": "October", - "translation": "十月" - }, - { - "id": "September", - "translation": "九月" - }, - { - "id": "api.admin.add_certificate.no_file.app_error", - "translation": "请求中'certificate'下的文件不存在" - }, - { - "id": "api.admin.add_certificate.open.app_error", - "translation": "无法打开证书文件" - }, - { - "id": "api.admin.add_certificate.saving.app_error", - "translation": "无法保存证书文件" - }, - { - "id": "api.admin.file_read_error", - "translation": "读取日志文件出错" - }, - { - "id": "api.admin.get_brand_image.not_available.app_error", - "translation": "此服务器不支持或没有正确配置自定义品牌" - }, - { - "id": "api.admin.get_brand_image.storage.app_error", - "translation": "未配置图像存储器。" - }, - { - "id": "api.admin.init.debug", - "translation": "正在初始化管理 API 路由" - }, - { - "id": "api.admin.recycle_db_end.warn", - "translation": "数据库连接重用完成" - }, - { - "id": "api.admin.recycle_db_start.warn", - "translation": "正在尝试重用数据库连接" - }, - { - "id": "api.admin.remove_certificate.delete.app_error", - "translation": "删除证书时发生错误。请确定config/{{.Filename}}文件已存在。" - }, - { - "id": "api.admin.saml.metadata.app_error", - "translation": "创建服务商元数据时发生错误" - }, - { - "id": "api.admin.test_email.body", - "translation": "


看来你的Mattermost邮箱设置成功!" - }, - { - "id": "api.admin.test_email.missing_server", - "translation": "需要SMTP服务器" - }, - { - "id": "api.admin.test_email.reenter_password", - "translation": "SMTP 服务器地址、端口或者用户名已经被修改。请重新输入 SMTP 密码进行连接测试。" - }, - { - "id": "api.admin.test_email.subject", - "translation": "Mattermost - 测试邮箱设置" - }, - { - "id": "api.admin.upload_brand_image.array.app_error", - "translation": "请求中图片为空" - }, - { - "id": "api.admin.upload_brand_image.no_file.app_error", - "translation": "请求中缺失图片文件" - }, - { - "id": "api.admin.upload_brand_image.not_available.app_error", - "translation": "此服务器不支持或没有正确配置自定义品牌" - }, - { - "id": "api.admin.upload_brand_image.parse.app_error", - "translation": "不能解析混合表单" - }, - { - "id": "api.admin.upload_brand_image.storage.app_error", - "translation": "不能上传图片。图片存储没有配置。" - }, - { - "id": "api.admin.upload_brand_image.too_large.app_error", - "translation": "无法上传文件。文件太大。" - }, - { - "id": "api.api.init.parsing_templates.debug", - "translation": "解析服务模板 %v" - }, - { - "id": "api.api.init.parsing_templates.error", - "translation": "解析服务模板出错 %v" - }, - { - "id": "api.api.render.error", - "translation": "渲染模板出错 %v err=%v" - }, - { - "id": "api.auth.unable_to_get_user.app_error", - "translation": "可以让用户查看权限。" - }, - { - "id": "api.channel.add_member.added", - "translation": "%v 由 %v 邀请加入频道" - }, - { - "id": "api.channel.add_member.find_channel.app_error", - "translation": "未找到频道" - }, - { - "id": "api.channel.add_member.find_user.app_error", - "translation": "未找到要添加的用户" - }, - { - "id": "api.channel.add_member.user_adding.app_error", - "translation": "查找用户执行添加时出错" - }, - { - "id": "api.channel.add_user.to.channel.failed.app_error", - "translation": "添加用户到频道出错" - }, - { - "id": "api.channel.add_user.to.channel.failed.deleted.app_error", - "translation": "无法将用户添加到频道,因为用户已从团队中移除。" - }, - { - "id": "api.channel.add_user_to_channel.deleted.app_error", - "translation": "该频道已归档或者被删除" - }, - { - "id": "api.channel.add_user_to_channel.type.app_error", - "translation": "不能添加用户到该频道类型" - }, - { - "id": "api.channel.can_manage_channel.private_restricted_system_admin.app_error", - "translation": "只有系统管理能创建与管理私有群组。" - }, - { - "id": "api.channel.can_manage_channel.private_restricted_team_admin.app_error", - "translation": "只有团体和系统管理员能管理与创建私有群组。" - }, - { - "id": "api.channel.can_manage_channel.public_restricted_system_admin.app_error", - "translation": "只有系统管理员能创建公开频道。" - }, - { - "id": "api.channel.can_manage_channel.public_restricted_team_admin.app_error", - "translation": "只有团队和系统管理员能创建与管理公开频道。" - }, - { - "id": "api.channel.create_channel.direct_channel.app_error", - "translation": "必须使用 createDirectChannel API 创建私信频道" - }, - { - "id": "api.channel.create_channel.invalid_character.app_error", - "translation": "非直接频道的频道名不能出现无效字符 '__'" - }, - { - "id": "api.channel.create_channel.max_channel_limit.app_error", - "translation": "当前团队无法创建超过 {{.MaxChannelsPerTeam}} 个频道。" - }, - { - "id": "api.channel.create_default_channels.off_topic", - "translation": "闲聊频道" - }, - { - "id": "api.channel.create_default_channels.town_square", - "translation": "公共频道" - }, - { - "id": "api.channel.create_direct_channel.invalid_user.app_error", - "translation": "用于创建私信频道的用户 ID 无效" - }, - { - "id": "api.channel.create_group.bad_size.app_error", - "translation": "团体消息频道必须至少包含 3 个但不超过 8 位用户" - }, - { - "id": "api.channel.create_group.bad_user.app_error", - "translation": "有不存在的用户" - }, - { - "id": "api.channel.delete_channel.archived", - "translation": "%v 已归档该频道。" - }, - { - "id": "api.channel.delete_channel.cannot.app_error", - "translation": "不能删除默认频道 {{.Channel}}" - }, - { - "id": "api.channel.delete_channel.deleted.app_error", - "translation": "该频道已归档或者被删除" - }, - { - "id": "api.channel.delete_channel.failed_post.error", - "translation": "发布归档消息失败 %v" - }, - { - "id": "api.channel.delete_channel.failed_send.app_error", - "translation": "发送归档消息失败" - }, - { - "id": "api.channel.delete_channel.incoming_webhook.error", - "translation": "删除传入的webhook出错, id=%v" - }, - { - "id": "api.channel.delete_channel.outgoing_webhook.error", - "translation": "删除传出的webhook出错, id=%v" - }, - { - "id": "api.channel.delete_channel.permissions.app_error", - "translation": "您没有对应的权限" - }, - { - "id": "api.channel.get_channel.wrong_team.app_error", - "translation": "不存在团队team_id={{.TeamId}}, 频道 channel_id={{.ChannelId}}" - }, - { - "id": "api.channel.get_channel_counts.app_error", - "translation": "不能从数据库中获取频道数" - }, - { - "id": "api.channel.get_channel_extra_info.deleted.app_error", - "translation": "该频道已归档或者被删除" - }, - { - "id": "api.channel.get_channel_extra_info.member_limit.app_error", - "translation": "解析成员限制失败" - }, - { - "id": "api.channel.get_channels.error", - "translation": "获取用户配置出错 for id=%v 强制注销" - }, - { - "id": "api.channel.init.debug", - "translation": "正在初始化频道 API 路由" - }, - { - "id": "api.channel.join_channel.permissions.app_error", - "translation": "您没有对应的权限" - }, - { - "id": "api.channel.join_channel.post_and_forget", - "translation": "%v 已经加入到该频道。" - }, - { - "id": "api.channel.leave.default.app_error", - "translation": "不能退出默认频道 {{.Channel}}" - }, - { - "id": "api.channel.leave.direct.app_error", - "translation": "不能退出私信频道" - }, - { - "id": "api.channel.leave.last_member.app_error", - "translation": "你是本组最后一人,请删除私有组而不是离开。" - }, - { - "id": "api.channel.leave.left", - "translation": "%v 已经退出该频道。" - }, - { - "id": "api.channel.post_update_channel_displayname_message_and_forget.create_post.error", - "translation": "发送显示名更新信息时失败" - }, - { - "id": "api.channel.post_update_channel_displayname_message_and_forget.retrieve_user.error", - "translation": "更新频道 DisplayName 字段时获取用户失败" - }, - { - "id": "api.channel.post_update_channel_displayname_message_and_forget.updated_from", - "translation": "%s 将频道显示名从 %s 更新为 %s" - }, - { - "id": "api.channel.post_update_channel_header_message_and_forget.post.error", - "translation": "更新频道标题消息失败" - }, - { - "id": "api.channel.post_update_channel_header_message_and_forget.removed", - "translation": "%s 删除了频道标题 (原为: %s)" - }, - { - "id": "api.channel.post_update_channel_header_message_and_forget.retrieve_user.error", - "translation": "尝试保存更新的频道标题时获取用户信息失败" - }, - { - "id": "api.channel.post_update_channel_header_message_and_forget.updated_from", - "translation": "%s 将频道标题从 %s 更新为 %s" - }, - { - "id": "api.channel.post_update_channel_header_message_and_forget.updated_to", - "translation": "%s 更新频道标题为: %s" - }, - { - "id": "api.channel.post_user_add_remove_message_and_forget.error", - "translation": "发布添加/退出消息失败" - }, - { - "id": "api.channel.remove.default.app_error", - "translation": "不能从默认频道 {{.Channel}} 移出用户" - }, - { - "id": "api.channel.remove_member.permissions.app_error", - "translation": "您没有对应的权限" - }, - { - "id": "api.channel.remove_member.removed", - "translation": "%v 已从频道移出。" - }, - { - "id": "api.channel.remove_member.unable.app_error", - "translation": "无法移除用户。" - }, - { - "id": "api.channel.remove_member.user.app_error", - "translation": "未找到要删除的用户" - }, - { - "id": "api.channel.remove_user_from_channel.deleted.app_error", - "translation": "该频道已归档或者被删除" - }, - { - "id": "api.channel.update_channel.deleted.app_error", - "translation": "该频道已归档或者被删除" - }, - { - "id": "api.channel.update_channel.permission.app_error", - "translation": "您没有对应的权限" - }, - { - "id": "api.channel.update_channel.tried.app_error", - "translation": "对默认频道试图执行一个无效的更新 {{.Channel}}" - }, - { - "id": "api.channel.update_last_viewed_at.get_unread_count_for_channel.errord", - "translation": "无法获取 user_id=%v 以及 channel_id=%v 的未读数量,err=%v" - }, - { - "id": "api.command.admin_only.app_error", - "translation": "集成只限于管理员。" - }, - { - "id": "api.command.delete.app_error", - "translation": "无效删除命令权限" - }, - { - "id": "api.command.disabled.app_error", - "translation": "命令已经被系统管理员禁用。" - }, - { - "id": "api.command.duplicate_trigger.app_error", - "translation": "触发词已经使用。请选择其它单词。" - }, - { - "id": "api.command.execute_command.debug", - "translation": "执行 cmd=%v userId=%v" - }, - { - "id": "api.command.execute_command.failed.app_error", - "translation": "带触发 '{{.Trigger}}' 的命令失败" - }, - { - "id": "api.command.execute_command.failed_empty.app_error", - "translation": "触发 '{{.Trigger}}' 返回一个空响应" - }, - { - "id": "api.command.execute_command.failed_resp.app_error", - "translation": "触发 '{{.Trigger}}' 返回响应状态 {{.Status}}" - }, - { - "id": "api.command.execute_command.not_found.app_error", - "translation": "触发 '{{.Trigger}}' 没有找到" - }, - { - "id": "api.command.execute_command.save.app_error", - "translation": "保存命令响应到频道时出错" - }, - { - "id": "api.command.execute_command.start.app_error", - "translation": "没有找到控制触发器" - }, - { - "id": "api.command.init.debug", - "translation": "正在初始化命令 API 路由" - }, - { - "id": "api.command.invite_people.desc", - "translation": "发送一封邀请邮件给你的Mattermost团队" - }, - { - "id": "api.command.invite_people.email_off", - "translation": "邮件没有配置,没发送邀请" - }, - { - "id": "api.command.invite_people.fail", - "translation": "邀请邮件发送错误" - }, - { - "id": "api.command.invite_people.hint", - "translation": "[name@domain.com ...]" - }, - { - "id": "api.command.invite_people.name", - "translation": "invite_people" - }, - { - "id": "api.command.invite_people.no_email", - "translation": "请输入一个或更多有效的电子邮件地址" - }, - { - "id": "api.command.invite_people.sent", - "translation": "邮件邀请已发送" - }, - { - "id": "api.command.regen.app_error", - "translation": "无效重新生成命令令牌权限" - }, - { - "id": "api.command.team_mismatch.app_error", - "translation": "无法跨团队更新命令" - }, - { - "id": "api.command.update.app_error", - "translation": "无效更新命令权限" - }, - { - "id": "api.command_away.desc", - "translation": "设置您的状态设为离开" - }, - { - "id": "api.command_away.name", - "translation": "离开" - }, - { - "id": "api.command_away.success", - "translation": "您现在离开了" - }, - { - "id": "api.command_collapse.desc", - "translation": "打开图像预览自动折叠" - }, - { - "id": "api.command_collapse.name", - "translation": "折叠" - }, - { - "id": "api.command_collapse.success", - "translation": "图片链接现在默认折叠" - }, - { - "id": "api.command_echo.create.app_error", - "translation": "不能创建 /echo 帖文,err=%v" - }, - { - "id": "api.command_echo.delay.app_error", - "translation": "延迟必须在10000秒内" - }, - { - "id": "api.command_echo.desc", - "translation": "从您的帐号返回文本" - }, - { - "id": "api.command_echo.high_volume.app_error", - "translation": "高容量的回声请求,不能处理请求" - }, - { - "id": "api.command_echo.hint", - "translation": "'信息' [延迟秒数]" - }, - { - "id": "api.command_echo.message.app_error", - "translation": "/echo 命令必须有消息。" - }, - { - "id": "api.command_echo.name", - "translation": "回应" - }, - { - "id": "api.command_expand.desc", - "translation": "关闭图像预览自动折叠" - }, - { - "id": "api.command_expand.name", - "translation": "展开" - }, - { - "id": "api.command_expand.success", - "translation": "图片链接现在默认展开" - }, - { - "id": "api.command_expand_collapse.fail.app_error", - "translation": "展开预览时发生了错误" - }, - { - "id": "api.command_join.desc", - "translation": "添加到公开频道" - }, - { - "id": "api.command_join.fail.app_error", - "translation": "加入频道时发生错误。" - }, - { - "id": "api.command_join.hint", - "translation": "[频道名称]" - }, - { - "id": "api.command_join.list.app_error", - "translation": "列出频道时发生错误。" - }, - { - "id": "api.command_join.missing.app_error", - "translation": "我们没有找到该频道" - }, - { - "id": "api.command_join.name", - "translation": "加入" - }, - { - "id": "api.command_join.success", - "translation": "已加入频道。" - }, - { - "id": "api.command_logout.desc", - "translation": "注销Mattermost" - }, - { - "id": "api.command_logout.fail_message", - "translation": "注销失败" - }, - { - "id": "api.command_logout.name", - "translation": "注销" - }, - { - "id": "api.command_me.desc", - "translation": "执行一个操作" - }, - { - "id": "api.command_me.hint", - "translation": "[信息]" - }, - { - "id": "api.command_me.name", - "translation": "me" - }, - { - "id": "api.command_msg.desc", - "translation": "直接发送消息给用户" - }, - { - "id": "api.command_msg.dm_fail.app_error", - "translation": "创建私信时发生错误。" - }, - { - "id": "api.command_msg.fail.app_error", - "translation": "发送用户消息时发生错误。" - }, - { - "id": "api.command_msg.hint", - "translation": "@[用户名] '消息'" - }, - { - "id": "api.command_msg.list.app_error", - "translation": "列出用户时出错。" - }, - { - "id": "api.command_msg.missing.app_error", - "translation": "无法找到用户" - }, - { - "id": "api.command_msg.name", - "translation": "消息" - }, - { - "id": "api.command_msg.success", - "translation": "消息已发送给用户。" - }, - { - "id": "api.command_offline.desc", - "translation": "设置您的状态设为离线" - }, - { - "id": "api.command_offline.name", - "translation": "离线" - }, - { - "id": "api.command_offline.success", - "translation": "您现在离线了" - }, - { - "id": "api.command_online.desc", - "translation": "设置您的状态设为在线" - }, - { - "id": "api.command_online.name", - "translation": "在线" - }, - { - "id": "api.command_online.success", - "translation": "您现在在线了" - }, - { - "id": "api.command_shortcuts.browser.channel_next", - "translation": "{{.ChannelNextCmd}}:您的历史记录里的下一个频道\n" - }, - { - "id": "api.command_shortcuts.browser.channel_next.cmd", - "translation": "ALT+RIGHT" - }, - { - "id": "api.command_shortcuts.browser.channel_next.cmd_mac", - "translation": "CMD+]" - }, - { - "id": "api.command_shortcuts.browser.channel_prev", - "translation": "{{.ChannelPrevCmd}}:您的历史记录里的上一个频道\n" - }, - { - "id": "api.command_shortcuts.browser.channel_prev.cmd", - "translation": "ALT+LEFT" - }, - { - "id": "api.command_shortcuts.browser.channel_prev.cmd_mac", - "translation": "CMD+[" - }, - { - "id": "api.command_shortcuts.browser.font_decrease", - "translation": "{{.CmdOrCtrl}}+减号:减少字体大小 (缩小)\n" - }, - { - "id": "api.command_shortcuts.browser.font_increase", - "translation": "{{.CmdOrCtrl}}+加号:增加字体大小 (放大)\n" - }, - { - "id": "api.command_shortcuts.browser.header", - "translation": "#### 内置浏览器命令\n\n" - }, - { - "id": "api.command_shortcuts.browser.highlight_next", - "translation": "SHIFT+DOWN (在输入栏):高亮到下一行之间的文字\n" - }, - { - "id": "api.command_shortcuts.browser.highlight_prev", - "translation": "SHIFT+UP (在输入栏):高亮到上一行之间的文字\n" - }, - { - "id": "api.command_shortcuts.browser.newline", - "translation": "SHIFT+ENTER (在输入栏):新增行\n" - }, - { - "id": "api.command_shortcuts.cmd", - "translation": "CMD" - }, - { - "id": "api.command_shortcuts.ctrl", - "translation": "CTRL" - }, - { - "id": "api.command_shortcuts.desc", - "translation": "显示快捷键列表" - }, - { - "id": "api.command_shortcuts.files.header", - "translation": "#### 文件\n\n" - }, - { - "id": "api.command_shortcuts.files.upload", - "translation": "{{.CmdOrCtrl}}+U:上传文件\n\n" - }, - { - "id": "api.command_shortcuts.header", - "translation": "### 键盘快捷键\n\n" - }, - { - "id": "api.command_shortcuts.msgs.comp_channel", - "translation": "~[字符]+TAB:自动完成以[字符]开头的频道\n" - }, - { - "id": "api.command_shortcuts.msgs.comp_emoji", - "translation": ":[字符]+TAB:自动完成以[字符]开头的表情符\n\n" - }, - { - "id": "api.command_shortcuts.msgs.comp_username", - "translation": "@[字符]+TAB:自动完成以[字符]开头的 @用户名\n" - }, - { - "id": "api.command_shortcuts.msgs.edit", - "translation": "向上键 (在空白输入栏):修改您在本频道的上一条消息\n" - }, - { - "id": "api.command_shortcuts.msgs.header", - "translation": "#### 消息\n\n" - }, - { - "id": "api.command_shortcuts.msgs.mark_as_read", - "translation": "ESC:将当前频道所有消息标为已读\n" - }, - { - "id": "api.command_shortcuts.msgs.reprint_next", - "translation": "{{.CmdOrCtrl}}+向下键 (在空白输入栏):重显示您输入的下一条消息或斜杠命令\n" - }, - { - "id": "api.command_shortcuts.msgs.reprint_prev", - "translation": "{{.CmdOrCtrl}}+向上键 (在空白输入栏):重显示您输入的上一条消息或斜杠命令\n" - }, - { - "id": "api.command_shortcuts.name", - "translation": "快捷键" - }, - { - "id": "api.command_shortcuts.nav.header", - "translation": "#### 导航\n\n" - }, - { - "id": "api.command_shortcuts.nav.next", - "translation": "ALT+向下键:左侧栏中的下一个频道或私信\n" - }, - { - "id": "api.command_shortcuts.nav.prev", - "translation": "ALT+向上键:左侧栏中的上一个频道或私信\n" - }, - { - "id": "api.command_shortcuts.nav.recent_mentions", - "translation": "{{.CmdOrCtrl}}+SHIFT+M:打开最近提及\n\n" - }, - { - "id": "api.command_shortcuts.nav.settings", - "translation": "{{.CmdOrCtrl}}+SHIFT+A:打开帐号设置\n" - }, - { - "id": "api.command_shortcuts.nav.switcher", - "translation": "{{.CmdOrCtrl}}+K:打开频道快速切换对话框\n" - }, - { - "id": "api.command_shortcuts.nav.unread_next", - "translation": "ALT+SHIFT+向下键:左侧栏中的下一个有未读消息的频道或私信\n" - }, - { - "id": "api.command_shortcuts.nav.unread_prev", - "translation": "ALT+SHIFT+向上键:左侧栏中的上一个有未读消息的频道或私信\n" - }, - { - "id": "api.command_shrug.desc", - "translation": "添加 ¯\\_(ツ)_/¯ 到你的消息" - }, - { - "id": "api.command_shrug.hint", - "translation": "[信息]" - }, - { - "id": "api.command_shrug.name", - "translation": "shrug" - }, - { - "id": "api.context.404.app_error", - "translation": "对不起,我们找不到该页面。" - }, - { - "id": "api.context.invalid_body_param.app_error", - "translation": "请求消息体有无效或缺少 {{.Name}}" - }, - { - "id": "api.context.invalid_param.app_error", - "translation": "无效 {{.Name}} 参数" - }, - { - "id": "api.context.invalid_session.error", - "translation": "无效会话 err=%v" - }, - { - "id": "api.context.invalid_team_url.debug", - "translation": "团队URL访问无效。团队URL不能在API函数或者和不相干的团队中使用" - }, - { - "id": "api.context.invalid_token.error", - "translation": "无效会话令牌 token={{.Token}}, err={{.Error}}" - }, - { - "id": "api.context.invalid_url_param.app_error", - "translation": "请求网址有无效或缺少 {{.Name}}" - }, - { - "id": "api.context.invalidate_all_caches", - "translation": "清除所有缓存" - }, - { - "id": "api.context.last_activity_at.error", - "translation": "不能更新LastActivityAt user_id=%v and session_id=%v, err=%v" - }, - { - "id": "api.context.log.error", - "translation": "%v:%v code=%v rid=%v uid=%v ip=%v %v [详情: %v]" - }, - { - "id": "api.context.mfa_required.app_error", - "translation": "此服务器要求多重验证。" - }, - { - "id": "api.context.missing_teamid.app_error", - "translation": "缺少团队 Id" - }, - { - "id": "api.context.permissions.app_error", - "translation": "您没有对应的权限" - }, - { - "id": "api.context.session_expired.app_error", - "translation": "无效或过期的会话,请重新登录。" - }, - { - "id": "api.context.system_permissions.app_error", - "translation": "您没有对应的权限 (系统)" - }, - { - "id": "api.context.token_provided.app_error", - "translation": "会话不是OAuth但是查询字符串中提供的令牌" - }, - { - "id": "api.context.unknown.app_error", - "translation": "发生未知错误。请联系我们。" - }, - { - "id": "api.email_batching.add_notification_email_to_batch.channel_full.app_error", - "translation": "批量电子邮件任务接收频道已满。请提高EmailBatchingBufferSize。" - }, - { - "id": "api.email_batching.add_notification_email_to_batch.disabled.app_error", - "translation": "系统管理员禁用了批量电子邮件" - }, - { - "id": "api.email_batching.check_pending_emails.finished_running", - "translation": "批量电子邮件已运行。%v 位用户仍有通知未定。" - }, - { - "id": "api.email_batching.check_pending_emails.status.app_error", - "translation": "无法找到批量电子邮件通知收件人状态" - }, - { - "id": "api.email_batching.render_batched_post.channel.app_error", - "translation": "无法找到批量电子邮件通知信息的频道" - }, - { - "id": "api.email_batching.render_batched_post.date", - "translation": "{{.Hour}}:{{.Minute}} {{.Timezone}}, {{.Month}} {{.Day}}" - }, - { - "id": "api.email_batching.render_batched_post.direct_message", - "translation": "私信" - }, - { - "id": "api.email_batching.render_batched_post.go_to_post", - "translation": "转至发文" - }, - { - "id": "api.email_batching.render_batched_post.group_message", - "translation": "团体消息" - }, - { - "id": "api.email_batching.render_batched_post.sender.app_error", - "translation": "无法找到批量电子邮件通知发送人" - }, - { - "id": "api.email_batching.send_batched_email_notification.body_text", - "translation": { - "one": "你有一条新消息。您有{{.Count}}条新消息。", - "other": "" - } - }, - { - "id": "api.email_batching.send_batched_email_notification.preferences.app_error", - "translation": "无法找到批量电子邮件通知收件人显示偏好" - }, - { - "id": "api.email_batching.send_batched_email_notification.send.app_error", - "translation": "发送批量电子邮件通知到 %v 失败: %v" - }, - { - "id": "api.email_batching.send_batched_email_notification.subject", - "translation": { - "one": "[{{.SiteName}}] {{.Month}} {{.Day}}, {{.Year}} 的新通知[{{.SiteName}}] {{.Month}} {{.Day}}, {{.Year}} 的新通知", - "other": "" - } - }, - { - "id": "api.email_batching.send_batched_email_notification.user.app_error", - "translation": "无法找到批量电子邮件通知收件人" - }, - { - "id": "api.email_batching.start.starting", - "translation": "批量电子邮件任务已开始。每 %v 秒检查待发电子邮件中。" - }, - { - "id": "api.emoji.create.duplicate.app_error", - "translation": "无法创建表情符号。另一个具有相同名称的表情符号已存在。" - }, - { - "id": "api.emoji.create.parse.app_error", - "translation": "无法创建表情符。无法理解请求。" - }, - { - "id": "api.emoji.create.permissions.app_error", - "translation": "无效创建表情符权限。" - }, - { - "id": "api.emoji.create.too_large.app_error", - "translation": "无法创建表情符。图片必须小于 1MB。" - }, - { - "id": "api.emoji.delete.delete_reactions.app_error", - "translation": "无法删除表情符 %v 时删除反应" - }, - { - "id": "api.emoji.delete.permissions.app_error", - "translation": "无效删除表情符权限。" - }, - { - "id": "api.emoji.disabled.app_error", - "translation": "自定义表情符号已被系统管理员禁用。" - }, - { - "id": "api.emoji.get_image.decode.app_error", - "translation": "无法解码表情符号图像文件。" - }, - { - "id": "api.emoji.get_image.read.app_error", - "translation": "无法读取表情图像文件。" - }, - { - "id": "api.emoji.init.debug", - "translation": "正在初始化表情符 API 路由" - }, - { - "id": "api.emoji.storage.app_error", - "translation": "文件存储没有正确配置。请配置S3或本地文件存储服务。" - }, - { - "id": "api.emoji.upload.image.app_error", - "translation": "无法创建表情符号。文件类型必须是PNG,JPEG,或GIF。" - }, - { - "id": "api.emoji.upload.large_image.decode_error", - "translation": "无法创建表情符。解码图片时遇到错误。" - }, - { - "id": "api.emoji.upload.large_image.encode_error", - "translation": "无法创建表情符。编码图片时遇到错误。" - }, - { - "id": "api.emoji.upload.large_image.gif_decode_error", - "translation": "无法创建表情符。解码 GIF 图片时遇到错误。" - }, - { - "id": "api.emoji.upload.large_image.gif_encode_error", - "translation": "无法创建表情符。编码 GIF 图片时遇到错误。" - }, - { - "id": "api.file.get_file.public_disabled.app_error", - "translation": "系统管理员禁用了公开的链接" - }, - { - "id": "api.file.get_file.public_invalid.app_error", - "translation": "公共链接不显示是有效的" - }, - { - "id": "api.file.get_file_preview.no_thumbnail.app_error", - "translation": "文件没有预览图" - }, - { - "id": "api.file.get_file_thumbnail.no_thumbnail.app_error", - "translation": "文件没用缩略图" - }, - { - "id": "api.file.get_info_for_request.no_post.app_error", - "translation": "无法获取文件公开链接。文件必须附在当前用户可读的信息上。" - }, - { - "id": "api.file.get_info_for_request.storage.app_error", - "translation": "无法获得文件信息。图片存储没有配置。" - }, - { - "id": "api.file.get_public_file_old.storage.app_error", - "translation": "无法上传文件。图片存储没有配置。" - }, - { - "id": "api.file.get_public_file_old.storage.app_error", - "translation": "无法上传文件。图片存储没有配置。" - }, - { - "id": "api.file.get_public_link.disabled.app_error", - "translation": "公共链接已经被禁用" - }, - { - "id": "api.file.get_public_link.no_post.app_error", - "translation": "无法获取文件公开链接。文件必须附在当前用户可读的信息上。" - }, - { - "id": "api.file.handle_images_forget.decode.error", - "translation": "无法解码图片 err=%v" - }, - { - "id": "api.file.handle_images_forget.encode_jpeg.error", - "translation": "无法编码图片成 jpeg path=%v err=%v" - }, - { - "id": "api.file.handle_images_forget.encode_preview.error", - "translation": "无法编码图片成预览 jpeg path=%v err=%v" - }, - { - "id": "api.file.handle_images_forget.upload_preview.error", - "translation": "无法上传预览 path=%v err=%v" - }, - { - "id": "api.file.handle_images_forget.upload_thumb.error", - "translation": "无法上传缩略图 path=%v err=%v" - }, - { - "id": "api.file.init.debug", - "translation": "正在初始化文件 API 路由" - }, - { - "id": "api.file.migrate_filenames_to_file_infos.channel.app_error", - "translation": "无法转换信息到 FileInfos 时获取频道, post_id=%v, channel_id=%v, err=%v" - }, - { - "id": "api.file.migrate_filenames_to_file_infos.file_not_found.warn", - "translation": "转换信息到 FileInfos 时未找到文件, post_id=%v, filename=%v, path=%v, err=%v" - }, - { - "id": "api.file.migrate_filenames_to_file_infos.get_file_infos_again.warn", - "translation": "转移数据后未能获取消息 FileInfos, post_id=%v, err=%v" - }, - { - "id": "api.file.migrate_filenames_to_file_infos.get_post_again.warn", - "translation": "无法在转换信息到 FileInfos 时找到信息, post_id=%v, err=%v" - }, - { - "id": "api.file.migrate_filenames_to_file_infos.info.app_error", - "translation": "无法转换信息到 FileInfos 时解码文件信息, post_id=%v, filename=%v, err=%v" - }, - { - "id": "api.file.migrate_filenames_to_file_infos.migrating_post.debug", - "translation": "转换信息到使用 FileInfos, post_id=%v, err=%v" - }, - { - "id": "api.file.migrate_filenames_to_file_infos.mismatched_filename.warn", - "translation": "将信息转换到 FileInfos 时遇到不寻常文件名, post_id=%v, channel_id=%v, user_id=%v, filename=%v" - }, - { - "id": "api.file.migrate_filenames_to_file_infos.no_filenames.warn", - "translation": "无法转换拥有空 Filenames 栏的信息到 FileInfos, post_id=%v" - }, - { - "id": "api.file.migrate_filenames_to_file_infos.not_migrating_post.debug", - "translation": "信息已经转换到使用 FileInfos, post_id=%v, err=%v" - }, - { - "id": "api.file.migrate_filenames_to_file_infos.save_file_info.warn", - "translation": "转换信息到 FileInfos 时无法保存信息, post_id=%v, filename=%v, path=%v, err=%v" - }, - { - "id": "api.file.migrate_filenames_to_file_infos.save_post.warn", - "translation": "无法转换信息到 FileInfos 时保存文件信息, post_id=%v, file_id=%v, filename=%v, err=%v" - }, - { - "id": "api.file.migrate_filenames_to_file_infos.team_id.app_error", - "translation": "无法为 FileInfos 找到团队, post_id=%v, filenames=%v" - }, - { - "id": "api.file.migrate_filenames_to_file_infos.teams.app_error", - "translation": "无法在转换信息到 FileInfos 时找到团队, post_id=%v, err=%v" - }, - { - "id": "api.file.migrate_filenames_to_file_infos.unexpected_filename.error", - "translation": "无法在转换信息到 FileInfos 时解码文件名, post_id=%v, filename=%v" - }, - { - "id": "api.file.move_file.configured.app_error", - "translation": "文件存储没有正确配置。请配置S3或本地文件存储服务。" - }, - { - "id": "api.file.move_file.delete_from_s3.app_error", - "translation": "不能从S3上删除文件。" - }, - { - "id": "api.file.move_file.get_from_s3.app_error", - "translation": "不能从S3上获取文件。" - }, - { - "id": "api.file.move_file.rename.app_error", - "translation": "无法移动本地文件。" - }, - { - "id": "api.file.open_file_write_stream.configured.app_error", - "translation": "没有配置文件存储。请配置S3或本地服务器的文件存储。" - }, - { - "id": "api.file.open_file_write_stream.creating_dir.app_error", - "translation": "创建新文件的目录时遇到错误" - }, - { - "id": "api.file.open_file_write_stream.local_server.app_error", - "translation": "写入本地存储时遇到错误" - }, - { - "id": "api.file.open_file_write_stream.s3.app_error", - "translation": "不支持 S3。" - }, - { - "id": "api.file.read_file.configured.app_error", - "translation": "没有配置文件存储。请配置S3或本地服务器的文件存储。" - }, - { - "id": "api.file.read_file.get.app_error", - "translation": "不能从S3上获取文件" - }, - { - "id": "api.file.read_file.reading_local.app_error", - "translation": "读取本地存储时遇到错误" - }, - { - "id": "api.file.upload_file.bad_parse.app_error", - "translation": "无法上传文件。标题无法被解析。" - }, - { - "id": "api.file.upload_file.large_image.app_error", - "translation": "无法上传超过最大尺寸的文件:{{.Filename}}" - }, - { - "id": "api.file.upload_file.storage.app_error", - "translation": "不能上传文件。图片存储没有配置。" - }, - { - "id": "api.file.upload_file.too_large.app_error", - "translation": "不能上传文件。文件太大。" - }, - { - "id": "api.file.write_file.configured.app_error", - "translation": "没有配置文件存储。请配置S3或本地服务器的文件存储。" - }, - { - "id": "api.file.write_file.s3.app_error", - "translation": "写入到S3时遇到错误" - }, - { - "id": "api.file.write_file_locally.create_dir.app_error", - "translation": "创建新文件的目录时遇到错误" - }, - { - "id": "api.file.write_file_locally.writing.app_error", - "translation": "写入本地存储时遇到错误" - }, - { - "id": "api.general.init.debug", - "translation": "正在初始化常规 API 路由" - }, - { - "id": "api.import.import_post.attach_files.error", - "translation": "给消息添加附件时失败。postId=%v, fileIds=%v, message=%v" - }, - { - "id": "api.import.import_post.saving.debug", - "translation": "保存信息时出错。user=%v,message=%v" - }, - { - "id": "api.import.import_user.join_team.error", - "translation": "导入时加入团队错误 err=%v" - }, - { - "id": "api.import.import_user.joining_default.error", - "translation": "加入默认频道时遇到一个问题 user_id=%s, team_id=%s, err=%v" - }, - { - "id": "api.import.import_user.saving.error", - "translation": "保存用户出错. err=%v" - }, - { - "id": "api.import.import_user.set_email.error", - "translation": "设置电子邮件验证失败 err=%v" - }, - { - "id": "api.incoming_webhook.disabled.app_errror", - "translation": "传入的 webhooks 已被系统管理员禁用。" - }, - { - "id": "api.license.add_license.array.app_error", - "translation": "请求中‘许可证’空数组" - }, - { - "id": "api.license.add_license.expired.app_error", - "translation": "许可证已经过期或者尚未启用。" - }, - { - "id": "api.license.add_license.invalid.app_error", - "translation": "无效的授权文件。" - }, - { - "id": "api.license.add_license.invalid_count.app_error", - "translation": "不能计算不重复用户总数。" - }, - { - "id": "api.license.add_license.no_file.app_error", - "translation": "请求中没有'许可证'文件" - }, - { - "id": "api.license.add_license.open.app_error", - "translation": "不能打开许可证文件" - }, - { - "id": "api.license.add_license.save.app_error", - "translation": "许可证没有正确保存。" - }, - { - "id": "api.license.add_license.save_active.app_error", - "translation": "有效许可证ID没有正确保存。" - }, - { - "id": "api.license.add_license.unique_users.app_error", - "translation": "该许可证只支持 {{.Users}} 用户,当你的系统有 {{.Count}} 唯一用户。唯一用户通过邮件地址计算。你可以从站点报告 -> 查看统计查看总数量。" - }, - { - "id": "api.license.init.debug", - "translation": "正在初始化许可证 API 路由" - }, - { - "id": "api.license.remove_license.remove.app_error", - "translation": "许可证未正确删除。" - }, - { - "id": "api.oauth.allow_oauth.bad_client.app_error", - "translation": "invalid_request:错误的 client_id" - }, - { - "id": "api.oauth.allow_oauth.bad_redirect.app_error", - "translation": "invalid_request:丢失或者错误的 redirect_uri" - }, - { - "id": "api.oauth.allow_oauth.bad_response.app_error", - "translation": "invalid_request:错误的 response_type" - }, - { - "id": "api.oauth.allow_oauth.database.app_error", - "translation": "server_error:访问数据库时出错" - }, - { - "id": "api.oauth.allow_oauth.redirect_callback.app_error", - "translation": "invalid_request:提供的 redirect_uri 不匹配注册的 callback_url" - }, - { - "id": "api.oauth.allow_oauth.turn_off.app_error", - "translation": "系统管理员已经关闭了 OAuth2 验证服务商。" - }, - { - "id": "api.oauth.authorize_oauth.disabled.app_error", - "translation": "系统管理员已经关闭了 OAuth2 验证服务商。" - }, - { - "id": "api.oauth.authorize_oauth.missing.app_error", - "translation": "response_type, client_id, 或 redirect_uri 至少却一项" - }, - { - "id": "api.oauth.complete_oauth.missing_code.app_error", - "translation": "服务提供商 {{.service}} 没有在重指向网址中提供授权码。\n\n如使用 [Google Apps](https://docs.mattermost.com/deployment/sso-google.html),请确定您的管理员在 Google+ API 已启用。\n\n如使用 [Office 365](https://docs.mattermost.com/deployment/sso-office.html),请确定您微软组织管理员已启用 Mattermost 应用。\n\n如使用 [GitLab](https://docs.mattermost.com/deployment/sso-gitlab.html),请确定您根据设置说明完成设定。\n\n如果您已确认上面说明但仍由配置问题,您可以发帖到[故障排除论坛](https://forum.mattermost.org/c/general/trouble-shoot) ,我们会很乐意帮你排除设置问题。" - }, - { - "id": "api.oauth.delete.permissions.app_error", - "translation": "无效删除 OAuth2 应用权限" - }, - { - "id": "api.oauth.get_access_token.bad_client_id.app_error", - "translation": "invalid_request:错误的 client_id" - }, - { - "id": "api.oauth.get_access_token.bad_client_secret.app_error", - "translation": "invalid_request:缺少 client_secret" - }, - { - "id": "api.oauth.get_access_token.bad_grant.app_error", - "translation": "invalid_request:错误的 grant_type" - }, - { - "id": "api.oauth.get_access_token.credentials.app_error", - "translation": "invalid_client:无效的用户凭证" - }, - { - "id": "api.oauth.get_access_token.disabled.app_error", - "translation": "系统管理员已经关闭了 OAuth2 验证服务商。" - }, - { - "id": "api.oauth.get_access_token.expired_code.app_error", - "translation": "invalid_grant:无效或过期授权码" - }, - { - "id": "api.oauth.get_access_token.internal.app_error", - "translation": "server_error:访问数据库时遇到了内部服务器错误" - }, - { - "id": "api.oauth.get_access_token.internal_saving.app_error", - "translation": "server_error:在保存访问令牌到数据库时遇到了内部服务器错误" - }, - { - "id": "api.oauth.get_access_token.internal_session.app_error", - "translation": "server_error:在保存会话到数据库时遇到了内部服务器错误" - }, - { - "id": "api.oauth.get_access_token.internal_user.app_error", - "translation": "server_error:从数据库中读取用户时遇到了内部服务器错误" - }, - { - "id": "api.oauth.get_access_token.missing_code.app_error", - "translation": "invalid_request:缺少编号" - }, - { - "id": "api.oauth.get_access_token.missing_refresh_token.app_error", - "translation": "invalid_request:缺少 refresh_token" - }, - { - "id": "api.oauth.get_access_token.redirect_uri.app_error", - "translation": "invalid_request:提供的 redirect_uri 不匹配授权码 redirect_uri" - }, - { - "id": "api.oauth.get_access_token.refresh_token.app_error", - "translation": "invalid_grant:无效的续期令牌" - }, - { - "id": "api.oauth.get_auth_data.find.error", - "translation": "不能找到认证码 code=%s" - }, - { - "id": "api.oauth.init.debug", - "translation": "正在初始化 OAuth API 路由" - }, - { - "id": "api.oauth.regenerate_secret.app_error", - "translation": "无效重新生成 OAuth2 应用秘钥权限" - }, - { - "id": "api.oauth.register_oauth_app.turn_off.app_error", - "translation": "系统管理员已经关闭的 OAuth2 服务商。" - }, - { - "id": "api.oauth.revoke_access_token.del_session.app_error", - "translation": "从数据库删除会话出错Error deleting session from DB" - }, - { - "id": "api.oauth.revoke_access_token.del_token.app_error", - "translation": "从数据库删除访问令牌遇到错误" - }, - { - "id": "api.oauth.revoke_access_token.get.app_error", - "translation": "删除前从数据库获取访问令牌遇到错误" - }, - { - "id": "api.oauth.singup_with_oauth.disabled.app_error", - "translation": "用户注册已停用。" - }, - { - "id": "api.oauth.singup_with_oauth.expired_link.app_error", - "translation": "注册链接已过期" - }, - { - "id": "api.oauth.singup_with_oauth.invalid_link.app_error", - "translation": "注册链接无效" - }, - { - "id": "api.post.check_for_out_of_channel_mentions.message.multiple", - "translation": "{{.Usernames}}和{{.LastUsername}}被提到了,但是他们不会收到通知,因为他们不在这个频道。" - }, - { - "id": "api.post.check_for_out_of_channel_mentions.message.one", - "translation": "{{.Username}}被提到了,但是他因不在此频道而不会收到通知。" - }, - { - "id": "api.post.create_post.attach_files.error", - "translation": "附加文件到信息时遇到错误, post_id=%s, user_id=%s, file_ids=%v, err=%v" - }, - { - "id": "api.post.create_post.bad_filename.error", - "translation": "坏文件名已去除,filename=%v" - }, - { - "id": "api.post.create_post.can_not_post_to_deleted.error", - "translation": "无法发信息到已删除的频道。" - }, - { - "id": "api.post.create_post.channel_root_id.app_error", - "translation": "RootId参数无效ChannelId" - }, - { - "id": "api.post.create_post.last_viewed.error", - "translation": "更新最近浏览记录遇到错误,channel_id=%s, user_id=%s, err=%v" - }, - { - "id": "api.post.create_post.parent_id.app_error", - "translation": "无效的ParentId参数" - }, - { - "id": "api.post.create_post.root_id.app_error", - "translation": "无效的RootId参数" - }, - { - "id": "api.post.create_webhook_post.creating.app_error", - "translation": "创建信息时出错" - }, - { - "id": "api.post.delete_flagged_post.app_error.warn", - "translation": "无法在删除信息时删除标记偏好,err=%v" - }, - { - "id": "api.post.delete_post.permissions.app_error", - "translation": "您没有对应的权限" - }, - { - "id": "api.post.delete_post_files.app_error.warn", - "translation": "删除信息的文件时遇到错误, post_id=%v, err=%v" - }, - { - "id": "api.post.disabled_all", - "translation": "@all has been disabled because the channel has more than {{.Users}} users." - }, - { - "id": "api.post.disabled_channel", - "translation": "@channel has been disabled because the channel has more than {{.Users}} users." - }, - { - "id": "api.post.disabled_here", - "translation": "@here 已禁用因为频道超过 {{.Users}} 位用户。" - }, - { - "id": "api.post.get_message_for_notification.files_sent", - "translation": { - "one": "{{.Count}} 文件已发送:{{.Filenames}}{{.Count}} 文件已发送:{{.Filenames}}", - "other": "" - } - }, - { - "id": "api.post.get_message_for_notification.get_files.error", - "translation": "为通知信息获取文件时遇到错误, post_id=%v, err=%v" - }, - { - "id": "api.post.get_message_for_notification.images_sent", - "translation": { - "one": "{{.Count}} 图片已发送:{{.Filenames}}{{.Count}} 图片已发送:{{.Filenames}}", - "other": "" - } - }, - { - "id": "api.post.get_out_of_channel_mentions.regex.error", - "translation": "编译 @提到 正则表达式出错 user_id=%v, err=%v" - }, - { - "id": "api.post.get_post.permissions.app_error", - "translation": "您没有对应的权限" - }, - { - "id": "api.post.handle_post_events_and_forget.members.error", - "translation": "未获取到频道成员 channel_id=%v err=%v" - }, - { - "id": "api.post.handle_webhook_events_and_forget.create_post.error", - "translation": "创建响应请求失败, err=%v" - }, - { - "id": "api.post.handle_webhook_events_and_forget.event_post.error", - "translation": "事件发布失败, err=%s" - }, - { - "id": "api.post.init.debug", - "translation": "正在初始化发文 API 路由" - }, - { - "id": "api.post.make_direct_channel_visible.get_2_members.error", - "translation": "获取私聊频道的2个用户失败 channel_id={{.ChannelId}}" - }, - { - "id": "api.post.make_direct_channel_visible.get_members.error", - "translation": "获取频道成员失败 channel_id=%v err=%v" - }, - { - "id": "api.post.make_direct_channel_visible.save_pref.error", - "translation": "保存私信频道设置失败 user_id=%v other_user_id=%v err=%v" - }, - { - "id": "api.post.make_direct_channel_visible.update_pref.error", - "translation": "更新私信频道设置失败 user_id=%v other_user_id=%v err=%v" - }, - { - "id": "api.post.notification.member_profile.warn", - "translation": "无法获取频道成员个人资料,user_id=%v" - }, - { - "id": "api.post.send_notifications.user_id.debug", - "translation": "消息创建者不在频道中,未发送推送 post_id=%v channel_id=%v user_id=%v" - }, - { - "id": "api.post.send_notifications_and_forget.clear_push_notification.debug", - "translation": "清除 %v 拥有 channel_id %v 的通知中" - }, - { - "id": "api.post.send_notifications_and_forget.files.error", - "translation": "无法为信息通知获取文件 post_id=%v, err=%v" - }, - { - "id": "api.post.send_notifications_and_forget.get_teams.error", - "translation": "发送跨团队私信时获取团队失败 user_id=%v,err=%v" - }, - { - "id": "api.post.send_notifications_and_forget.mention_body", - "translation": "您有一个新的提及。" - }, - { - "id": "api.post.send_notifications_and_forget.mention_subject", - "translation": "新的提及" - }, - { - "id": "api.post.send_notifications_and_forget.message_body", - "translation": "你有一个新消息。" - }, - { - "id": "api.post.send_notifications_and_forget.message_subject", - "translation": "新私信" - }, - { - "id": "api.post.send_notifications_and_forget.push_in", - "translation": " 在 " - }, - { - "id": "api.post.send_notifications_and_forget.push_mention", - "translation": " 提到你在 " - }, - { - "id": "api.post.send_notifications_and_forget.push_message", - "translation": " 发送给你一个私信" - }, - { - "id": "api.post.send_notifications_and_forget.push_non_mention", - "translation": "发布在" - }, - { - "id": "api.post.send_notifications_and_forget.push_notification.debug", - "translation": "发送拥有信息 '%v' 的推送通知到 %v" - }, - { - "id": "api.post.send_notifications_and_forget.push_notification.error", - "translation": "发送推送失败 device_id={{.DeviceId}}, err={{.Error}}" - }, - { - "id": "api.post.send_notifications_and_forget.sent", - "translation": "{{.Prefix}} {{.Filenames}} 发送" - }, - { - "id": "api.post.update_mention_count_and_forget.update_error", - "translation": "更新提及数失败 user_id=%v channel_id=%v err=%v" - }, - { - "id": "api.post.update_post.find.app_error", - "translation": "我们找不到现有的信息或评论去更新。" - }, - { - "id": "api.post.update_post.permissions.app_error", - "translation": "您没有对应的权限" - }, - { - "id": "api.post.update_post.permissions_denied.app_error", - "translation": "消息修改已禁用。详细请询问您的系统管理员。" - }, - { - "id": "api.post.update_post.permissions_details.app_error", - "translation": "已经删除 id={{.PostId}}" - }, - { - "id": "api.post.update_post.permissions_time_limit.app_error", - "translation": "消息只允许在 {{.limeLimit}} 秒内编辑。详情请咨询您的系统管理员。" - }, - { - "id": "api.post.update_post.system_message.app_error", - "translation": "无法更新系统消息" - }, - { - "id": "api.post_get_post_by_id.get.app_error", - "translation": "不能获取一个请求" - }, - { - "id": "api.preference.delete_preferences.decode.app_error", - "translation": "无法解码偏好请求" - }, - { - "id": "api.preference.delete_preferences.user_id.app_error", - "translation": "不能删除其他用户偏好" - }, - { - "id": "api.preference.init.debug", - "translation": "正在初始化偏好 API 路由" - }, - { - "id": "api.preference.save_preferences.decode.app_error", - "translation": "不能从请求中解码优先级" - }, - { - "id": "api.preference.save_preferences.set.app_error", - "translation": "不能对其他用户设置优先级" - }, - { - "id": "api.preference.save_preferences.set_details.app_error", - "translation": "session.user_id={{.SessionUserId}}, preference.user_id={{.PreferenceUserId}}" - }, - { - "id": "api.reaction.delete_reaction.mismatched_channel_id.app_error", - "translation": "因网址中频道 ID 与消息 ID不符而删除反应失败" - }, - { - "id": "api.reaction.init.debug", - "translation": "正在初始化反应 API 路由" - }, - { - "id": "api.reaction.list_reactions.mismatched_channel_id.app_error", - "translation": "因网址中频道 ID 与消息 ID不符而获取反应失败" - }, - { - "id": "api.reaction.save_reaction.mismatched_channel_id.app_error", - "translation": "因网址中频道 ID 与消息 ID不符而保存反应失败" - }, - { - "id": "api.reaction.send_reaction_event.post.app_error", - "translation": "发送 websocket 反应事件时获取消息失败" - }, - { - "id": "api.saml.save_certificate.app_error", - "translation": "证书没有正确保存。" - }, - { - "id": "api.server.new_server.init.info", - "translation": "服务正在初始化..." - }, - { - "id": "api.server.start_server.listening.info", - "translation": "服务正在监听 %v" - }, - { - "id": "api.server.start_server.rate.info", - "translation": "RateLimiter 已启用" - }, - { - "id": "api.server.start_server.rate.warn", - "translation": "RateLimitSettings配置没有正确使用VaryByHeader并禁用VaryByRemoteAddr" - }, - { - "id": "api.server.start_server.rate_limiting_memory_store", - "translation": "无法初始化频率限制内存储存。检查 MemoryStoreSize 设置。" - }, - { - "id": "api.server.start_server.rate_limiting_rate_limiter", - "translation": "无法初始化频率限制。" - }, - { - "id": "api.server.start_server.starting.critical", - "translation": "启动服务出错, err:%v" - }, - { - "id": "api.server.start_server.starting.info", - "translation": "启动服务..." - }, - { - "id": "api.server.start_server.starting.panic", - "translation": "启动服务出错 " - }, - { - "id": "api.server.stop_server.stopped.info", - "translation": "服务器已停止" - }, - { - "id": "api.server.stop_server.stopping.info", - "translation": "正在停止服务..." - }, - { - "id": "api.slackimport.slack_add_bot_user.email_pwd", - "translation": "Slack 机器人/整合消息导入用户:邮箱地址,密码: {{.Email}}, {{.Password}}\r\n" - }, - { - "id": "api.slackimport.slack_add_bot_user.unable_import", - "translation": "无法导入 Slack 机器人/整合消息导入用户:{{.Username}}\r\n" - }, - { - "id": "api.slackimport.slack_add_channels.added", - "translation": "\r\n 频道已添加 \r\n" - }, - { - "id": "api.slackimport.slack_add_channels.failed_to_add_user", - "translation": "加入频道错误:{{.Username}}\r\n" - }, - { - "id": "api.slackimport.slack_add_channels.import_failed", - "translation": "导入失败: {{.DisplayName}}\r\n" - }, - { - "id": "api.slackimport.slack_add_channels.import_failed.warn", - "translation": "Slack 导入:导入频道失败:%s" - }, - { - "id": "api.slackimport.slack_add_channels.merge", - "translation": "合并现有频道: {{.DisplayName}}\r\n" - }, - { - "id": "api.slackimport.slack_add_posts.attach_files.error", - "translation": "附加文件到信息时遇到错误, post_id=%s, file_ids=%v, err=%v" - }, - { - "id": "api.slackimport.slack_add_posts.bot.warn", - "translation": "Slack 机器人的信息未被导入" - }, - { - "id": "api.slackimport.slack_add_posts.bot_user_no_exists.warn", - "translation": "Slack 导入:未导入机器人消息因为机器人导入用户不存在。" - }, - { - "id": "api.slackimport.slack_add_posts.msg_no_comment.debug", - "translation": "文件评论未定义" - }, - { - "id": "api.slackimport.slack_add_posts.msg_no_usr.debug", - "translation": "未知用户消息" - }, - { - "id": "api.slackimport.slack_add_posts.no_bot_id.warn", - "translation": "Slack 导入:未导入机器人消息因为缺少 BotId 字段。" - }, - { - "id": "api.slackimport.slack_add_posts.unsupported.warn", - "translation": "不支持的邮件类型: %v, %v" - }, - { - "id": "api.slackimport.slack_add_posts.upload_file_not_found.warn", - "translation": "没有在 Slack 导出中找到文件上传信息的文件 ID {{.FileId}}" - }, - { - "id": "api.slackimport.slack_add_posts.upload_file_not_in_json.warn", - "translation": "无法导入没有 \"file\" 段的上传信息导出。" - }, - { - "id": "api.slackimport.slack_add_posts.upload_file_open_failed.warn", - "translation": "无法打开导出归档中的上传文件 ID {{.FileId}},错误:{{.Error}}" - }, - { - "id": "api.slackimport.slack_add_posts.upload_file_upload_failed.warn", - "translation": "上传信息文件 ID {{.FileId}} 失败,错误:{{.Error}}" - }, - { - "id": "api.slackimport.slack_add_posts.user_no_exists.debug", - "translation": "用户:%v 不存在!" - }, - { - "id": "api.slackimport.slack_add_posts.without_user.debug", - "translation": "未知用户消息" - }, - { - "id": "api.slackimport.slack_add_users.created", - "translation": "\r\n 用户创建 \r\n" - }, - { - "id": "api.slackimport.slack_add_users.email_pwd", - "translation": "Email, 密码: {{.Email}}, {{.Password}}\r\n" - }, - { - "id": "api.slackimport.slack_add_users.merge_existing", - "translation": "合并用户到现有帐号:{{.Email}}, {{.Username}}\r\n" - }, - { - "id": "api.slackimport.slack_add_users.merge_existing_failed", - "translation": "尝试将用户合并到已存在的帐号:{{.Email}},{{.Username}},但是无法添加该用户到本团队。\r\n" - }, - { - "id": "api.slackimport.slack_add_users.missing_email_address", - "translation": "用户 {{.Username}} 在 Slack 导入里没有电子邮箱地址。暂使用 {{.Email}} 代替。用户需要在登入系统后更新他们的邮箱地址。\r\n" - }, - { - "id": "api.slackimport.slack_add_users.missing_email_address.warn", - "translation": "用户 {{.Username}} 在 Slack 导入里没有电子邮箱地址。暂使用 {{.Email}} 代替。用户需要在登入系统后更新他们的邮箱地址。" - }, - { - "id": "api.slackimport.slack_add_users.unable_import", - "translation": "不能导入用户: {{.Username}}\r\n" - }, - { - "id": "api.slackimport.slack_convert_channel_mentions.compile_regexp_failed.warn", - "translation": "给 Slack 频道 {{.ChannelID}} {{.ChannelName}} 编译 !频道 正规表达式时失败" - }, - { - "id": "api.slackimport.slack_convert_timestamp.bad.warn", - "translation": "检测到错误的时间" - }, - { - "id": "api.slackimport.slack_convert_user_mentions.compile_regexp_failed.warn", - "translation": "给 Slack 用户 {{.UserID}} {{.Username}} 编译 @提及 正规表达式时失败" - }, - { - "id": "api.slackimport.slack_deactivate_bot_user.failed_to_deactivate", - "translation": "Slack 导入:停用机器人导入用户失败。" - }, - { - "id": "api.slackimport.slack_import.log", - "translation": "Mattermost Slack 导入日志 \r\n" - }, - { - "id": "api.slackimport.slack_import.note1", - "translation": "- 有些信息可能未被导入因为导入程序不支持他们。\r\n" - }, - { - "id": "api.slackimport.slack_import.note2", - "translation": "- Slack 机器人信息现在不支持。\r\n" - }, - { - "id": "api.slackimport.slack_import.note3", - "translation": "- 更多错误可以到服务器日志查看。\r\n" - }, - { - "id": "api.slackimport.slack_import.notes", - "translation": "\r\n 注释 \r\n" - }, - { - "id": "api.slackimport.slack_import.open.app_error", - "translation": "不能打开: {{.Filename}}" - }, - { - "id": "api.slackimport.slack_import.team_fail", - "translation": "导入时无法获取团队。\r\n" - }, - { - "id": "api.slackimport.slack_import.zip.app_error", - "translation": "不能打开zip文件" - }, - { - "id": "api.slackimport.slack_parse_channels.error", - "translation": "解析 slack 频道时出错。导入可能仍然可用。" - }, - { - "id": "api.slackimport.slack_parse_posts.error", - "translation": "解析 slack 消息时出错。导入可能仍然可用。" - }, - { - "id": "api.slackimport.slack_sanitise_channel_properties.display_name_too_long.warn", - "translation": "Slack 导入:频道 {{.ChannelName}} 的显示名过长。导入时会被截断。" - }, - { - "id": "api.slackimport.slack_sanitise_channel_properties.header_too_long.warn", - "translation": "Slack 导入:频道 {{.ChannelName}} 的标题过长。导入时会被截断。" - }, - { - "id": "api.slackimport.slack_sanitise_channel_properties.name_too_long.warn", - "translation": "Slack 导入:频道 {{.ChannelName}} 的名称过长。导入时会被截断。" - }, - { - "id": "api.slackimport.slack_sanitise_channel_properties.purpose_too_long.warn", - "translation": "Slack 导入:频道 {{.ChannelName}} 的作用过长。导入时会被截断。" - }, - { - "id": "api.status.init.debug", - "translation": "正在初始化状态 API 路由" - }, - { - "id": "api.status.last_activity.error", - "translation": "更新 user_id=%v 和 session_id=%v 的 LastActivityAt 失败,err=%v" - }, - { - "id": "api.status.save_status.error", - "translation": "保存 user_id=%v 状态时失败,err=%v" - }, - { - "id": "api.team.create_team.email_disabled.app_error", - "translation": "使用电子邮件注册团队被禁用。" - }, - { - "id": "api.team.create_team_from_signup.email_disabled.app_error", - "translation": "使用电子邮件注册团队被禁用。" - }, - { - "id": "api.team.create_team_from_signup.expired_link.app_error", - "translation": "注册链接已过期" - }, - { - "id": "api.team.create_team_from_signup.invalid_link.app_error", - "translation": "注册链接无效" - }, - { - "id": "api.team.create_team_from_signup.unavailable.app_error", - "translation": "该URL无效。请尝试其他。" - }, - { - "id": "api.team.email_teams.sending.error", - "translation": "邮件团队发送email时出现错误 err=%v" - }, - { - "id": "api.team.get_invite_info.not_open_team", - "translation": "不能邀请进入非开放团队。" - }, - { - "id": "api.team.import_team.admin.app_error", - "translation": "只有团队管理员才能导入数据。" - }, - { - "id": "api.team.import_team.array.app_error", - "translation": "请求中 'file' 为空数组" - }, - { - "id": "api.team.import_team.integer.app_error", - "translation": "文件大小不是一个整数" - }, - { - "id": "api.team.import_team.no_file.app_error", - "translation": "请求中‘file’,文件不存在" - }, - { - "id": "api.team.import_team.open.app_error", - "translation": "不能打开文件" - }, - { - "id": "api.team.import_team.parse.app_error", - "translation": "不能解析混合表单" - }, - { - "id": "api.team.import_team.unavailable.app_error", - "translation": "错误请求:缺少 filesize 字段。" - }, - { - "id": "api.team.init.debug", - "translation": "正在初始化团队 API 路由" - }, - { - "id": "api.team.invite_members.admin", - "translation": "管理员" - }, - { - "id": "api.team.invite_members.already.app_error", - "translation": "此人已经在你的团队中" - }, - { - "id": "api.team.invite_members.member", - "translation": "成员" - }, - { - "id": "api.team.invite_members.no_one.app_error", - "translation": "没有人可邀请。" - }, - { - "id": "api.team.invite_members.restricted_system_admin.app_error", - "translation": "只有系统管理员能邀请新用户至团队。" - }, - { - "id": "api.team.invite_members.restricted_team_admin.app_error", - "translation": "只有团队管理员或系统管理员能邀请新用户至团队。" - }, - { - "id": "api.team.invite_members.send.error", - "translation": "发送邀请邮件失败 err=%v" - }, - { - "id": "api.team.invite_members.sending.info", - "translation": "发送邀请给 %v %v" - }, - { - "id": "api.team.is_team_creation_allowed.disabled.app_error", - "translation": "团队创建被禁用。详细请询问您的系统管理员。" - }, - { - "id": "api.team.is_team_creation_allowed.domain.app_error", - "translation": "电子邮件必须来自指定域名 (例如 @example.com)。详情请询问您的系统管理员。" - }, - { - "id": "api.team.permanent_delete_team.attempting.warn", - "translation": "试图永久删除团队 %v id=%v" - }, - { - "id": "api.team.permanent_delete_team.deleted.warn", - "translation": "永久删除团队 %v id=%v" - }, - { - "id": "api.team.remove_user_from_team.missing.app_error", - "translation": "此用户似乎不属于此团队。" - }, - { - "id": "api.team.signup_team.email_disabled.app_error", - "translation": "使用电子邮件注册团队被禁用。" - }, - { - "id": "api.team.update_member_roles.not_a_member", - "translation": "指定的用户不属于指定的团队。" - }, - { - "id": "api.team.update_team.permissions.app_error", - "translation": "您没有对应的权限" - }, - { - "id": "api.templates.channel_name.group", - "translation": "团体消息" - }, - { - "id": "api.templates.email_change_body.info", - "translation": "您的邮箱地址从 {{.TeamDisplayName}} 修改为 {{.NewEmail}}。
如果您没有做过这个修改,请联系系统管理员。" - }, - { - "id": "api.templates.email_change_body.title", - "translation": "您更新了您的邮箱" - }, - { - "id": "api.templates.email_change_subject", - "translation": "[{{ .SiteName }}] 您的邮箱地址已更改" - }, - { - "id": "api.templates.email_change_verify_body.button", - "translation": "校验邮箱" - }, - { - "id": "api.templates.email_change_verify_body.info", - "translation": "请点击下面的链接确认这是正确的地址,以完成在{{.TeamDisplayName}}的电子邮件地址更新。" - }, - { - "id": "api.templates.email_change_verify_body.title", - "translation": "您已更新电子邮件地址" - }, - { - "id": "api.templates.email_change_verify_subject", - "translation": "[{{ .SiteName }}] 验证新邮件地址" - }, - { - "id": "api.templates.email_footer", - "translation": "要更改您的通知偏好设定,登录到您的团队站点后至帐号设置 > 通知。" - }, - { - "id": "api.templates.email_info", - "translation": "有任何问题请随时给我们发送电子邮件: {{.SupportEmail}}.
最美好的祝福,
{{.SiteName}} 团队
" - }, - { - "id": "api.templates.email_organization", - "translation": "发送人 " - }, - { - "id": "api.templates.error.link", - "translation": "返回到Mattermost" - }, - { - "id": "api.templates.error.title", - "translation": "{{ .SiteName }} 需要你的帮助:" - }, - { - "id": "api.templates.find_teams_body.found", - "translation": "查找跟您电子邮件有关的团队如下:" - }, - { - "id": "api.templates.find_teams_body.not_found", - "translation": "我们没找从提供的电子邮件找到任何团队。" - }, - { - "id": "api.templates.find_teams_body.title", - "translation": "查找团队" - }, - { - "id": "api.templates.find_teams_subject", - "translation": "你在 {{ .SiteName }} 的团队" - }, - { - "id": "api.templates.invite_body.button", - "translation": "加入团队" - }, - { - "id": "api.templates.invite_body.extra_info", - "translation": "Mattermost允许您通过电脑、电话分享消息和文件,即时查找和归档. 当你加入 {{.TeamDisplayName}}后, 你可以登录到你的新团队,并在任何时候从网络地址访问这些功能:

{{.TeamURL}}" - }, - { - "id": "api.templates.invite_body.info", - "translation": "团队 {{.SenderStatus}} {{.SenderName}},邀请您加入 {{.TeamDisplayName}}。" - }, - { - "id": "api.templates.invite_body.title", - "translation": "您已经被邀请" - }, - { - "id": "api.templates.invite_subject", - "translation": "[{{ .SiteName }}] {{ .SenderName }} 邀请您加入 {{ .TeamDisplayName }} 团队" - }, - { - "id": "api.templates.mfa_activated_body.info", - "translation": "你在 {{ .SiteURL }} 的帐号已添加多重验证。
如果此操作不是您操作的,请联系您的系统管理员。" - }, - { - "id": "api.templates.mfa_activated_body.title", - "translation": "多重验证已添加" - }, - { - "id": "api.templates.mfa_change_subject", - "translation": "[{{ .SiteName }}] 您的多重验证已更新" - }, - { - "id": "api.templates.mfa_deactivated_body.info", - "translation": "你在 {{ .SiteURL }} 的帐号已删除多重验证。
如果此操作不是您操作的,请联系您的系统管理员。" - }, - { - "id": "api.templates.mfa_deactivated_body.title", - "translation": "多重验证已移除" - }, - { - "id": "api.templates.password_change_body.info", - "translation": "您的密码已经被更新 {{.TeamDisplayName}} 在 {{ .TeamURL }} 通过 {{.Method}}.
如果这个变更不是由你发起的,请联系你的系统管理员." - }, - { - "id": "api.templates.password_change_body.title", - "translation": "您更新了您的密码" - }, - { - "id": "api.templates.password_change_subject", - "translation": "[{{ .SiteName }}] 您的密码已更新" - }, - { - "id": "api.templates.post_body.button", - "translation": "转至发文" - }, - { - "id": "api.templates.post_body.info", - "translation": "频道: {{.ChannelName}}
{{.SenderName}} - {{.Hour}}:{{.Minute}} {{.TimeZone}}, {{.Month}} {{.Day}}" - }, - { - "id": "api.templates.post_subject_in_channel", - "translation": "{{.SubjectText}} 在 {{.TeamDisplayName}} ({{.ChannelName}}) 于 {{.Month}} {{.Day}}, {{.Year}}" - }, - { - "id": "api.templates.post_subject_in_direct_message", - "translation": "{{.SubjectText}} {{.SenderDisplayName}} 于 {{.Month}} {{.Day}}, {{.Year}}" - }, - { - "id": "api.templates.post_subject_in_group_message", - "translation": "新团体消息来自 {{ .SenderDisplayName}} 于 {{.Month}} {{.Day}}, {{.Year}}" - }, - { - "id": "api.templates.reset_body.button", - "translation": "重设密码" - }, - { - "id": "api.templates.reset_body.info", - "translation": "修改您的密码, 点击 \"重设密码\" 下面.
如果你不打算重置您的密码,请忽略此电子邮件和您的密码将保持不变。密码重置链接在24小时内到期." - }, - { - "id": "api.templates.reset_body.title", - "translation": "您请求密码重设" - }, - { - "id": "api.templates.reset_subject", - "translation": "[{{ .SiteName }}] 重置您的密码" - }, - { - "id": "api.templates.signin_change_email.body.info", - "translation": "您在 {{.SiteName}} 更新了登录方式为 {{.Method}}。
如果这个变更不是由您发起的,请联系您的系统管理员。" - }, - { - "id": "api.templates.signin_change_email.body.method_email", - "translation": "邮箱和密码" - }, - { - "id": "api.templates.signin_change_email.body.title", - "translation": "您更新了您的登录方式" - }, - { - "id": "api.templates.signin_change_email.subject", - "translation": "[{{ .SiteName }}] 您在 {{ .SiteName }} 更新了您的登入方式" - }, - { - "id": "api.templates.signup_team_body.button", - "translation": "设置您的团队" - }, - { - "id": "api.templates.signup_team_body.info", - "translation": "{{ .SiteName }} 是所有团队沟通的一个地方, 可在任何地方搜索和有效.
您会得到更多的 {{ .SiteName }} 当您的团队在不断沟通--在看板上获取." - }, - { - "id": "api.templates.signup_team_body.title", - "translation": "感谢创造一个团队!" - }, - { - "id": "api.templates.signup_team_subject", - "translation": "{{ .SiteName }} 团队设置" - }, - { - "id": "api.templates.upgrade_30_body.info", - "translation": "

您的多重帐号已更新

您的 Mattermost 伺服器正在升级到版本 3.0,从此您可以在多个团队中使用同一个帐号。

您收到此邮件因为升级过程中发现您的邮箱地址或用户名和另外个帐号重复。

改动如下:

{{if .EmailChanged }}- 在 `/{{.TeamName}}` 团队中重复电子邮件已改为 `{{.Email}}`。你可以使用此新的电子邮件地址和密码登入。

{{end}}{{if .UsernameChanged }}- 在 `/{{.TeamName}}` 团队中重复用户名已改为 `{{.Username}}` 亿避免与其他帐号混淆。

{{end}} 建议操作:

建议您登入重复帐号的团队并将主帐号添加到想继续使用的团队,公开频道以及私有群组。

这样您可以用主帐号访问所有公开频道以及私有群组的历史。您可以继续登入重复帐号来获取私信历史。

更多咨询:

关于更多升级到 Mattermost 3.0 的相关咨询,请参见:http://www.mattermost.org/upgrading-to-mattermost-3-0/

" - }, - { - "id": "api.templates.upgrade_30_subject.info", - "translation": "[MATTERMOST]更改你的账号,以便升级到3.0" - }, - { - "id": "api.templates.username_change_body.info", - "translation": "您在 {{.TeamDisplayName}} 的用户名已更改为 {{.NewUsername}}。
如果这个变更不是由您发起的,请联系系统管理员。" - }, - { - "id": "api.templates.username_change_body.title", - "translation": "您更新了您的用户名" - }, - { - "id": "api.templates.username_change_subject", - "translation": "[{{ .SiteName }}] 您的用户名已更改" - }, - { - "id": "api.templates.verify_body.button", - "translation": "验证邮箱" - }, - { - "id": "api.templates.verify_body.info", - "translation": "请通过以下链接来验证您的电子邮件地址。" - }, - { - "id": "api.templates.verify_body.title", - "translation": "您已加入 {{ .ServerURL }}" - }, - { - "id": "api.templates.verify_subject", - "translation": "[{{ .SiteName }}] 电子邮件地址验证" - }, - { - "id": "api.templates.welcome_body.app_download_info", - "translation": "为了更好的体验,请下载 PC、Mac、iOS、安卓平台应用:" - }, - { - "id": "api.templates.welcome_body.button", - "translation": "验证邮箱" - }, - { - "id": "api.templates.welcome_body.info", - "translation": "请通过以下链接来验证您的电子邮件地址。" - }, - { - "id": "api.templates.welcome_body.info2", - "translation": "你可以登入从:" - }, - { - "id": "api.templates.welcome_body.info3", - "translation": "Mattermost 允许您通过PC或手机分享信息和文件,即时搜索和归档。" - }, - { - "id": "api.templates.welcome_body.title", - "translation": "您已加入 {{ .ServerURL }}" - }, - { - "id": "api.templates.welcome_subject", - "translation": "[{{ .SiteName }}] 您加入了 {{ .ServerURL }}" - }, - { - "id": "api.user.activate_mfa.email_and_ldap_only.app_error", - "translation": "此帐户类型不支持多重验证" - }, - { - "id": "api.user.add_direct_channels_and_forget.failed.error", - "translation": "添加用户直接频道偏好设定失败 user_id={{.UserId}}, team_id={{.TeamId}}, err={{.Error}}" - }, - { - "id": "api.user.authorize_oauth_user.bad_response.app_error", - "translation": "令牌请求得到错误的回复" - }, - { - "id": "api.user.authorize_oauth_user.bad_token.app_error", - "translation": "错误的令牌类型" - }, - { - "id": "api.user.authorize_oauth_user.invalid_state.app_error", - "translation": "无效状态" - }, - { - "id": "api.user.authorize_oauth_user.invalid_state_team.app_error", - "translation": "无效状态; 缺少团队名称" - }, - { - "id": "api.user.authorize_oauth_user.missing.app_error", - "translation": "缺少访问令牌" - }, - { - "id": "api.user.authorize_oauth_user.service.app_error", - "translation": "令牌请求到 {{.Service}} 失败" - }, - { - "id": "api.user.authorize_oauth_user.token_failed.app_error", - "translation": "令牌请求失败" - }, - { - "id": "api.user.authorize_oauth_user.unsupported.app_error", - "translation": "不支持的认证服务商" - }, - { - "id": "api.user.check_user_login_attempts.too_many.app_error", - "translation": "您的账号因为多次的密码尝试而被锁定。请重设您的密码。" - }, - { - "id": "api.user.check_user_mfa.bad_code.app_error", - "translation": "无效的多重验证令牌。" - }, - { - "id": "api.user.check_user_mfa.not_available.app_error", - "translation": "此服务器没有配置或者不支持多重验证" - }, - { - "id": "api.user.check_user_password.invalid.app_error", - "translation": "无效密码登录失败" - }, - { - "id": "api.user.complete_switch_with_oauth.blank_email.app_error", - "translation": "空白电子邮件" - }, - { - "id": "api.user.complete_switch_with_oauth.parse.app_error", - "translation": "无法解析数据验证 {{.Service}} 用户对象" - }, - { - "id": "api.user.complete_switch_with_oauth.unavailable.app_error", - "translation": "本服务器不支持通过 OAuth 2.0 的 {{.Service}} SSO" - }, - { - "id": "api.user.create_oauth_user.already_attached.app_error", - "translation": "已经有一个电子邮件帐号使用了不同于{{.Service}}的方法进行登录。请使用{{.Auth}}进行登录。" - }, - { - "id": "api.user.create_oauth_user.already_used.app_error", - "translation": "这个{{.Service}}账号已经使用" - }, - { - "id": "api.user.create_oauth_user.create.app_error", - "translation": "无法创建用户 {{.Service}} 用户对象" - }, - { - "id": "api.user.create_oauth_user.not_available.app_error", - "translation": "本服务器不支持通过 OAuth 2.0 的 {{.Service}} SSO" - }, - { - "id": "api.user.create_profile_image.default_font.app_error", - "translation": "无法创建默认配置文件的字体" - }, - { - "id": "api.user.create_profile_image.encode.app_error", - "translation": "无法编码默认配置文件" - }, - { - "id": "api.user.create_profile_image.initial.app_error", - "translation": "不能添加用户初始默认配置文件" - }, - { - "id": "api.user.create_user.accepted_domain.app_error", - "translation": "您提供的电子邮件不属于允许的域名。请与您的管理员联系或使用一个不同的电子邮件注册。" - }, - { - "id": "api.user.create_user.disabled.app_error", - "translation": "用户创建已停用。" - }, - { - "id": "api.user.create_user.joining.error", - "translation": "加入默认通道遇到一个问题 user_id=%s, team_id=%s, err=%v" - }, - { - "id": "api.user.create_user.no_open_server", - "translation": "这个服务员不允许注册。请与管理员联系,获取邀请。" - }, - { - "id": "api.user.create_user.save.error", - "translation": "无法保存这个用户 err=%v" - }, - { - "id": "api.user.create_user.signup_email_disabled.app_error", - "translation": "已停用电子邮件注册。" - }, - { - "id": "api.user.create_user.signup_link_expired.app_error", - "translation": "注册连接已经失效" - }, - { - "id": "api.user.create_user.signup_link_invalid.app_error", - "translation": "注册链接无效" - }, - { - "id": "api.user.create_user.team_name.app_error", - "translation": "无效团队名称" - }, - { - "id": "api.user.create_user.tutorial.error", - "translation": "保存偏好设置指南出错, err=%v" - }, - { - "id": "api.user.create_user.verified.error", - "translation": "未能设置电子邮件验证 err=%v" - }, - { - "id": "api.user.email_to_ldap.not_available.app_error", - "translation": "AD/LDAP 在本服务器上不可用" - }, - { - "id": "api.user.generate_mfa_qr.not_available.app_error", - "translation": "此服务器没有配置或者不支持多重验证" - }, - { - "id": "api.user.get_authorization_code.unsupported.app_error", - "translation": "不支持的 OAuth 服务商" - }, - { - "id": "api.user.get_me.getting.error", - "translation": "获取用户配置文件中的错误 id=%v 强制注销" - }, - { - "id": "api.user.init.debug", - "translation": "正在初始化用户 API 路由" - }, - { - "id": "api.user.ldap_to_email.not_available.app_error", - "translation": "AD/LDAP 在本服务器上不可用" - }, - { - "id": "api.user.ldap_to_email.not_ldap_account.app_error", - "translation": "此账户没有使用 AD/LDAP" - }, - { - "id": "api.user.login.blank_pwd.app_error", - "translation": "密码字段不能为空白" - }, - { - "id": "api.user.login.inactive.app_error", - "translation": "您的帐号因被停用而登入失败。请联系系统管理员。" - }, - { - "id": "api.user.login.invalid_credentials", - "translation": "用户ID或密码错误。" - }, - { - "id": "api.user.login.not_provided.app_error", - "translation": "必须提供用户 ID 或团队名和用户邮箱地址" - }, - { - "id": "api.user.login.not_verified.app_error", - "translation": "登录失败,因为电子邮件地址没有被验证" - }, - { - "id": "api.user.login.revoking.app_error", - "translation": "撤销 sessionId=%v 为 userId=%v 同一个设备id重登陆" - }, - { - "id": "api.user.login.use_auth_service.app_error", - "translation": "请使用 {{.AuthService}} 登录" - }, - { - "id": "api.user.login_by_oauth.not_available.app_error", - "translation": "本服务器不支持通过 OAuth 2.0 的 {{.Service}} SSO" - }, - { - "id": "api.user.login_by_oauth.parse.app_error", - "translation": "无法解析数据验证 {{.Service}} 用户对象" - }, - { - "id": "api.user.login_ldap.blank_pwd.app_error", - "translation": "密码字段不能为空白" - }, - { - "id": "api.user.login_ldap.disabled.app_error", - "translation": "AD/LDAP 未在本服务器上不开启" - }, - { - "id": "api.user.login_ldap.need_id.app_error", - "translation": "需要ID" - }, - { - "id": "api.user.login_ldap.not_available.app_error", - "translation": "AD/LDAP 在本服务器上不可用" - }, - { - "id": "api.user.oauth_to_email.context.app_error", - "translation": "更新密码失败因为 user_id 不匹配用户ID" - }, - { - "id": "api.user.permanent_delete_user.attempting.warn", - "translation": "试图永久删除帐户 %v id=%v" - }, - { - "id": "api.user.permanent_delete_user.deleted.warn", - "translation": "永久删除帐户 %v id=%v" - }, - { - "id": "api.user.permanent_delete_user.system_admin.warn", - "translation": "你在删除系统管理员 %v。您可能需要使用命令行工具设置另一个帐户作为系统管理员。" - }, - { - "id": "api.user.reset_password.invalid_link.app_error", - "translation": "重置密码链接不显示有效" - }, - { - "id": "api.user.reset_password.link_expired.app_error", - "translation": "密码重置链接已过期" - }, - { - "id": "api.user.reset_password.method", - "translation": "使用重置密码链接" - }, - { - "id": "api.user.reset_password.sso.app_error", - "translation": "不能重置SSO账户密码" - }, - { - "id": "api.user.reset_password.wrong_team.app_error", - "translation": "试图在错误的团队上重置密码。" - }, - { - "id": "api.user.saml.not_available.app_error", - "translation": "此服务器没有正确配置或者不支持 SAML。" - }, - { - "id": "api.user.send_email_change_email_and_forget.error", - "translation": "未能发送电子邮件通知电子邮件成功" - }, - { - "id": "api.user.send_email_change_username_and_forget.error", - "translation": "未能发送用户名更改通知邮件" - }, - { - "id": "api.user.send_email_change_verify_email_and_forget.error", - "translation": "未能发送电子邮件更改验证电子邮件成功" - }, - { - "id": "api.user.send_password_change_email_and_forget.error", - "translation": "未能发送更新密码电子邮件成功" - }, - { - "id": "api.user.send_password_reset.find.app_error", - "translation": "我们无法找该地址的帐号。" - }, - { - "id": "api.user.send_password_reset.send.app_error", - "translation": "未能发送密码重置电子邮件成功" - }, - { - "id": "api.user.send_password_reset.sso.app_error", - "translation": "不能重置SSO账户密码" - }, - { - "id": "api.user.send_sign_in_change_email_and_forget.error", - "translation": "未能发送更新密码电子邮件成功" - }, - { - "id": "api.user.send_verify_email_and_forget.failed.error", - "translation": "未能发送验证电子邮件成功" - }, - { - "id": "api.user.send_welcome_email_and_forget.failed.error", - "translation": "未能成功发送欢迎电子邮件" - }, - { - "id": "api.user.update_active.no_deactivate_ldap.app_error", - "translation": "您无法修改 AD/LDAP 帐号的激活状态。请到 AD/LDAP 服务器上修改。" - }, - { - "id": "api.user.update_active.permissions.app_error", - "translation": "您没有对应的权限" - }, - { - "id": "api.user.update_mfa.not_available.app_error", - "translation": "此服务器没有配置或者不支持多重验证" - }, - { - "id": "api.user.update_oauth_user_attrs.get_user.app_error", - "translation": "无法从 {{.Service}} 用户对象获取用户" - }, - { - "id": "api.user.update_password.context.app_error", - "translation": "更新密码失败因为 user_id 提供用户ID不匹配" - }, - { - "id": "api.user.update_password.failed.app_error", - "translation": "更新密码失败" - }, - { - "id": "api.user.update_password.incorrect.app_error", - "translation": "\"当前密码\" 输入有误。请检查大写锁是否关闭后再试一次。" - }, - { - "id": "api.user.update_password.menu", - "translation": "使用设置菜单" - }, - { - "id": "api.user.update_password.oauth.app_error", - "translation": "因为用户登录通过OAuth服务更新密码失败" - }, - { - "id": "api.user.update_password.valid_account.app_error", - "translation": "更新密码失败,因为我们无法找到有效的帐户" - }, - { - "id": "api.user.update_roles.one_admin.app_error", - "translation": "必须至少有一个启用的管理" - }, - { - "id": "api.user.update_roles.permissions.app_error", - "translation": "您没有合适的权限" - }, - { - "id": "api.user.update_roles.system_admin_needed.app_error", - "translation": "此操作需要系统管理员" - }, - { - "id": "api.user.update_roles.system_admin_set.app_error", - "translation": "系统管理员的角色只能由另一个系统管理员设置" - }, - { - "id": "api.user.update_roles.team_admin_needed.app_error", - "translation": "此操作需要团队系统管理员" - }, - { - "id": "api.user.upload_profile_user.array.app_error", - "translation": "根据“图像”请求的空数组" - }, - { - "id": "api.user.upload_profile_user.decode.app_error", - "translation": "无法解码配置文件" - }, - { - "id": "api.user.upload_profile_user.decode_config.app_error", - "translation": "无法解码头像设定。" - }, - { - "id": "api.user.upload_profile_user.encode.app_error", - "translation": "无法编码图像" - }, - { - "id": "api.user.upload_profile_user.no_file.app_error", - "translation": "请求中图像不是文件" - }, - { - "id": "api.user.upload_profile_user.open.app_error", - "translation": "无法打开图像文件" - }, - { - "id": "api.user.upload_profile_user.parse.app_error", - "translation": "无法解析多形式表单" - }, - { - "id": "api.user.upload_profile_user.storage.app_error", - "translation": "无法上传文件。未配置图像存储。" - }, - { - "id": "api.user.upload_profile_user.too_large.app_error", - "translation": "无法上传头像。文件太大。" - }, - { - "id": "api.user.upload_profile_user.upload_profile.app_error", - "translation": "无法上传配置文件" - }, - { - "id": "api.user.verify_email.bad_link.app_error", - "translation": "非法确认邮件链接。" - }, - { - "id": "api.web_hub.start.starting.debug", - "translation": "启动 %v websocket 集线器中" - }, - { - "id": "api.web_hub.start.stopping.debug", - "translation": "停止 websocket 集线器连接中" - }, - { - "id": "api.web_socket.connect.error", - "translation": "websocket连接 err: %v" - }, - { - "id": "api.web_socket.connect.upgrade.app_error", - "translation": "未能升级WebSocket连接" - }, - { - "id": "api.web_socket.init.debug", - "translation": "正在初始化 Web Socket API 路由" - }, - { - "id": "api.web_socket_handler.log.error", - "translation": "%v:%v seq=%v uid=%v %v [详情: %v]" - }, - { - "id": "api.web_socket_router.log.error", - "translation": "websocket 路由错误: seq=%v uid=%v %v [详情: %v]" - }, - { - "id": "api.web_team_hun.start.debug", - "translation": "团队枢纽停止 teamId=%v" - }, - { - "id": "api.webhook.create_outgoing.disabled.app_error", - "translation": "传出的 webhooks 已被系统管理员禁用。" - }, - { - "id": "api.webhook.create_outgoing.intersect.app_error", - "translation": "同一频道的传出 webhooks 不能具有同样的触发词/回调URLs。" - }, - { - "id": "api.webhook.create_outgoing.not_open.app_error", - "translation": "只有公共频道可以创建传出 webhooks。" - }, - { - "id": "api.webhook.create_outgoing.permissions.app_error", - "translation": "无效的创建传出的 webhook 权限。" - }, - { - "id": "api.webhook.create_outgoing.triggers.app_error", - "translation": "无论是trigger_words或channel_id必须设置" - }, - { - "id": "api.webhook.delete_incoming.disabled.app_error", - "translation": "传入的webhooks已被系统管理员禁用。" - }, - { - "id": "api.webhook.delete_incoming.permissions.app_error", - "translation": "无效的删除传入的 webhook 权限" - }, - { - "id": "api.webhook.delete_outgoing.disabled.app_error", - "translation": "传出的webhooks已被系统管理员禁用。" - }, - { - "id": "api.webhook.delete_outgoing.permissions.app_error", - "translation": "无效的删除传出的 webhook 权限" - }, - { - "id": "api.webhook.incoming.debug", - "translation": "收到传入的webhook。内容=" - }, - { - "id": "api.webhook.incoming.debug.error", - "translation": "不能读取传入的webhook的负载。" - }, - { - "id": "api.webhook.init.debug", - "translation": "正在初始化 webhook API 路由" - }, - { - "id": "api.webhook.regen_outgoing_token.permissions.app_error", - "translation": "无效的重新生成传出的 webhook 令牌权限" - }, - { - "id": "api.webhook.team_mismatch.app_error", - "translation": "无法跨团队更新 webhook" - }, - { - "id": "api.webhook.update_incoming.disabled.app_error", - "translation": "传入的webhooks已被系统管理员禁用。" - }, - { - "id": "api.webhook.update_incoming.permissions.app_error", - "translation": "无效的更新传入的 webhook 权限" - }, - { - "id": "api.webhook.update_outgoing.disabled.app_error", - "translation": "传出的webhooks已被系统管理员禁用。" - }, - { - "id": "api.webhook.update_outgoing.intersect.app_error", - "translation": "同一频道的传出 webhooks 不能具有同样的触发词/回调URLs。" - }, - { - "id": "api.webhook.update_outgoing.not_open.app_error", - "translation": "只有公共频道可以更新传出 webhooks。" - }, - { - "id": "api.webhook.update_outgoing.permissions.app_error", - "translation": "无效的更新传出的 webhook 权限。" - }, - { - "id": "api.webhook.update_outgoing.triggers.app_error", - "translation": "必须设置 rigger_words 或 channel_id" - }, - { - "id": "api.webrtc.disabled.app_error", - "translation": "WebRTC 未在本服务器开启。" - }, - { - "id": "api.webrtc.init.debug", - "translation": "正在初始化 WebRTC API 路由" - }, - { - "id": "api.webrtc.register_token.app_error", - "translation": "我们在注册 WebRTC 令牌时遇到个错误" - }, - { - "id": "api.websocket.invalid_session.error", - "translation": "无效会话 err=%v" - }, - { - "id": "api.websocket_handler.invalid_param.app_error", - "translation": "无效的参数 {{.Name}}" - }, - { - "id": "app.channel.create_channel.no_team_id.app_error", - "translation": "必须指定团队ID才能创建频道" - }, - { - "id": "app.channel.post_update_channel_purpose_message.post.error", - "translation": "发送频道作用消息失败" - }, - { - "id": "app.channel.post_update_channel_purpose_message.removed", - "translation": "%s 删除了频道作用 (原为: %s)" - }, - { - "id": "app.channel.post_update_channel_purpose_message.retrieve_user.error", - "translation": "尝试保存更新的频道作用消息 %v 时获取用户信息失败" - }, - { - "id": "app.channel.post_update_channel_purpose_message.updated_from", - "translation": "%s 将频道作用从: %s 更新为: %s" - }, - { - "id": "app.channel.post_update_channel_purpose_message.updated_to", - "translation": "%s 更新了频道作用为: %s" - }, - { - "id": "app.import.bulk_import.file_scan.error", - "translation": "读取数据导入文件错误。" - }, - { - "id": "app.import.bulk_import.json_decode.error", - "translation": "JSON 解码行失败。" - }, - { - "id": "app.import.import_channel.team_not_found.error", - "translation": "导入频道失败。团队名 \"{{.TeamName}}\" 无法找到。" - }, - { - "id": "app.import.import_line.null_channel.error", - "translation": "导入数据行有类型 \"channel\" 但频道对象是无。" - }, - { - "id": "app.import.import_line.null_post.error", - "translation": "导入数据行有类型 \"post\" 但消息对象是无。" - }, - { - "id": "app.import.import_line.null_team.error", - "translation": "导入数据行有类型 \"team\" 但团队对象是无。" - }, - { - "id": "app.import.import_line.null_user.error", - "translation": "导入数据行有类型 \"user\" 但用户对象是无。" - }, - { - "id": "app.import.import_line.unknown_line_type.error", - "translation": "导入数据行有无效的类型 \"{{.Type}}\"。" - }, - { - "id": "app.import.import_post.channel_not_found.error", - "translation": "导入消息失败。无法找到频道 \"{{.ChannelName}}\"。" - }, - { - "id": "app.import.import_post.team_not_found.error", - "translation": "导入消息失败。无法找到团队 \"{{.TeamName}}\"。" - }, - { - "id": "app.import.import_post.user_not_found.error", - "translation": "导入消息失败。无法找到用户 \"{{.Username}}\"。" - }, - { - "id": "app.import.validate_channel_import_data.create_at_zero.error", - "translation": "如果提供频道 create_at 则不能为 0。" - }, - { - "id": "app.import.validate_channel_import_data.display_name_length.error", - "translation": "频道 display_name 不在允许的长度范围内。" - }, - { - "id": "app.import.validate_channel_import_data.display_name_missing.error", - "translation": "缺少频道必须属性:display_name。" - }, - { - "id": "app.import.validate_channel_import_data.header_length.error", - "translation": "频道标题过长。" - }, - { - "id": "app.import.validate_channel_import_data.name_characters.error", - "translation": "频道名称包含无效字符。" - }, - { - "id": "app.import.validate_channel_import_data.name_length.error", - "translation": "频道名称过长。" - }, - { - "id": "app.import.validate_channel_import_data.name_missing.error", - "translation": "缺少频道必须属性:name" - }, - { - "id": "app.import.validate_channel_import_data.purpose_length.error", - "translation": "频道作用过长。" - }, - { - "id": "app.import.validate_channel_import_data.team_missing.error", - "translation": "缺少频道必须属性:team" - }, - { - "id": "app.import.validate_channel_import_data.type_invalid.error", - "translation": "无效频道类型。" - }, - { - "id": "app.import.validate_channel_import_data.type_missing.error", - "translation": "缺少频道必须属性:type。" - }, - { - "id": "app.import.validate_post_import_data.channel_missing.error", - "translation": "缺少消息必须属性:Channel。" - }, - { - "id": "app.import.validate_post_import_data.create_at_missing.error", - "translation": "缺少消息必须属性:create_at。" - }, - { - "id": "app.import.validate_post_import_data.create_at_zero.error", - "translation": "如果提供消息 CreateAt 则不能为零。" - }, - { - "id": "app.import.validate_post_import_data.message_length.error", - "translation": "消息属性超过允许的最大长度。" - }, - { - "id": "app.import.validate_post_import_data.message_missing.error", - "translation": "缺少消息必须属性:Message。" - }, - { - "id": "app.import.validate_post_import_data.team_missing.error", - "translation": "缺少消息必须属性:Team。" - }, - { - "id": "app.import.validate_post_import_data.user_missing.error", - "translation": "缺少消息必须属性:User。" - }, - { - "id": "app.import.validate_team_import_data.allowed_domains_length.error", - "translation": "团队 allowed_domains 过长。" - }, - { - "id": "app.import.validate_team_import_data.create_at_zero.error", - "translation": "如果提供团队 create_at 则不能为 0。" - }, - { - "id": "app.import.validate_team_import_data.description_length.error", - "translation": "团队简介过长。" - }, - { - "id": "app.import.validate_team_import_data.display_name_length.error", - "translation": "团队 display_name 不在允许的长度范围内。" - }, - { - "id": "app.import.validate_team_import_data.display_name_missing.error", - "translation": "缺少频道必须属性:display_name" - }, - { - "id": "app.import.validate_team_import_data.name_characters.error", - "translation": "团队名包含非法字符。" - }, - { - "id": "app.import.validate_team_import_data.name_length.error", - "translation": "团队名过长。" - }, - { - "id": "app.import.validate_team_import_data.name_missing.error", - "translation": "缺少频道必须属性:name。" - }, - { - "id": "app.import.validate_team_import_data.name_reserved.error", - "translation": "团队名含有预留词。" - }, - { - "id": "app.import.validate_team_import_data.type_invalid.error", - "translation": "无效团队类型。" - }, - { - "id": "app.import.validate_team_import_data.type_missing.error", - "translation": "缺少频道必须属性:type" - }, - { - "id": "app.import.validate_user_channels_import_data.channel_name_missing.error", - "translation": "用户频道会员资格中缺少频道名称。" - }, - { - "id": "app.import.validate_user_channels_import_data.invalid_notify_props_desktop.error", - "translation": "用户的频道身份的桌面 NotifyProps 无效。" - }, - { - "id": "app.import.validate_user_channels_import_data.invalid_notify_props_mark_unread.error", - "translation": "用户的频道身份的 MarkUnread NotifyProps 无效。" - }, - { - "id": "app.import.validate_user_channels_import_data.invalid_roles.error", - "translation": "用户频道成员资格的角色无效。" - }, - { - "id": "app.import.validate_user_import_data.auth_data_length.error", - "translation": "用户 AuthData 过长。" - }, - { - "id": "app.import.validate_user_import_data.auth_service_length.error", - "translation": "如果提供用户 AuthService 则不能留空。" - }, - { - "id": "app.import.validate_user_import_data.email_length.error", - "translation": "用户邮箱地址拥有无效长度。" - }, - { - "id": "app.import.validate_user_import_data.email_missing.error", - "translation": "缺少用户必须属性:email。" - }, - { - "id": "app.import.validate_user_import_data.first_name_length.error", - "translation": "用户名子过长。" - }, - { - "id": "app.import.validate_user_import_data.last_name_length.error", - "translation": "用户姓氏过长。" - }, - { - "id": "app.import.validate_user_import_data.nickname_length.error", - "translation": "用户昵称过长。" - }, - { - "id": "app.import.validate_user_import_data.position_length.error", - "translation": "用户职位过长。" - }, - { - "id": "app.import.validate_user_import_data.roles_invalid.error", - "translation": "无效用户角色。" - }, - { - "id": "app.import.validate_user_import_data.username_invalid.error", - "translation": "无效的用户名。" - }, - { - "id": "app.import.validate_user_import_data.username_missing.error", - "translation": "缺少用户必须属性:username。" - }, - { - "id": "app.import.validate_user_teams_import_data.invalid_roles.error", - "translation": "用户团队成员资格的角色无效。" - }, - { - "id": "app.import.validate_user_teams_import_data.team_name_missing.error", - "translation": "用户的团队成员资格中缺少团队名称。" - }, - { - "id": "authentication.permissions.create_group_channel.description", - "translation": "允许新建团体消息频道" - }, - { - "id": "authentication.permissions.create_group_channel.name", - "translation": "创建团体消息" - }, - { - "id": "authentication.permissions.create_team_roles.description", - "translation": "能创建新团队" - }, - { - "id": "authentication.permissions.create_team_roles.name", - "translation": "创建团队" - }, - { - "id": "authentication.permissions.manage_team_roles.description", - "translation": "能修改团队成员的角色" - }, - { - "id": "authentication.permissions.manage_team_roles.name", - "translation": "管理团队角色" - }, - { - "id": "authentication.permissions.team_invite_user.description", - "translation": "可以邀请用户到团队" - }, - { - "id": "authentication.permissions.team_invite_user.name", - "translation": "邀请用户" - }, - { - "id": "authentication.permissions.team_use_slash_commands.description", - "translation": "可以使用斜杠命令" - }, - { - "id": "authentication.permissions.team_use_slash_commands.name", - "translation": "使用斜杠命令" - }, - { - "id": "cli.license.critical", - "translation": "此功能需要企业授权。请联系您的系统管理员关于升级您的企业许可证。" - }, - { - "id": "ent.brand.save_brand_image.decode.app_error", - "translation": "无法解码图像。" - }, - { - "id": "ent.brand.save_brand_image.decode_config.app_error", - "translation": "无法解码图像配置。" - }, - { - "id": "ent.brand.save_brand_image.encode.app_error", - "translation": "无法解码PNG格式图像。" - }, - { - "id": "ent.brand.save_brand_image.open.app_error", - "translation": "无法打开图片文件。" - }, - { - "id": "ent.brand.save_brand_image.save_image.app_error", - "translation": "无法保存图片" - }, - { - "id": "ent.brand.save_brand_image.too_large.app_error", - "translation": "无法打开图像文件。图像过大。" - }, - { - "id": "ent.cluster.config_changed.info", - "translation": "id=%v 的机群设定已更改。尝试重启机群服务中。为了确保机群设置正确您不应该依赖此重启因为我们检测到一核心配置改动。" - }, - { - "id": "ent.cluster.debug_fail.debug", - "translation": "机群发送失败在 `%v` detail=%v, extra=%v, retry number=%v" - }, - { - "id": "ent.cluster.final_fail.error", - "translation": "机群发送最终失败在 `%v` detail=%v, extra=%v, retry number=%v" - }, - { - "id": "ent.cluster.incompatible.warn", - "translation": "%v 的机群检测到可能不兼容的版本" - }, - { - "id": "ent.cluster.incompatible_config.warn", - "translation": "%v 的机群检测到可能不兼容的设置" - }, - { - "id": "ent.cluster.licence_disable.app_error", - "translation": "当前许可证禁用了机群功能。请联系您的系统管理员关于升级您的企业许可证。" - }, - { - "id": "ent.cluster.ping_failed.info", - "translation": "机群ping失败 hostname=%v on=%v id=%v" - }, - { - "id": "ent.cluster.ping_success.info", - "translation": "机群ping成功 hostname=%v on=%v id=%v self=%v" - }, - { - "id": "ent.cluster.save_config.error", - "translation": "系统控制台在高可用性开启时设为只读。" - }, - { - "id": "ent.cluster.starting.info", - "translation": "机群互连节点通讯以 hostname=%v id=%v 监听在 %v" - }, - { - "id": "ent.cluster.stopping.info", - "translation": "机群互连节点通讯以 hostname=%v id=%v 在 %v 停止中" - }, - { - "id": "ent.compliance.licence_disable.app_error", - "translation": "当前许可证禁用了合规功能。请联系您的系统管理员关于升级您的企业许可证。" - }, - { - "id": "ent.compliance.run_failed.error", - "translation": "导出合规的'{{.JobName}}'在'{{.FilePath}}'的任务失败" - }, - { - "id": "ent.compliance.run_finished.info", - "translation": "合规导出任务 '{{.JobName}}' 已导出 {{.Count}} 条记录到 '{{.FilePath}}'" - }, - { - "id": "ent.compliance.run_limit.warning", - "translation": "任务'{{.JobName}}'的导出审核警告:'{{.FilePath}}'过多行返回截断至第30,000行" - }, - { - "id": "ent.compliance.run_started.info", - "translation": "导出审核自'{{.FilePath}}'的'{{.JobName}}'任务开始" - }, - { - "id": "ent.emoji.licence_disable.app_error", - "translation": "当前许可证禁用了自定义表情符。请联系您的系统管理员关于升级您的企业许可证。" - }, - { - "id": "ent.ldap.create_fail", - "translation": "无法创建 LDAP 用户。" - }, - { - "id": "ent.ldap.disabled.app_error", - "translation": "AD/LDAP 已禁用或许可证不支持 AD/LDAP。" - }, - { - "id": "ent.ldap.do_login.bind_admin_user.app_error", - "translation": "无法绑定到 AD/LDAP 服务器。请检查 BindUsername 和 BindPassword。" - }, - { - "id": "ent.ldap.do_login.invalid_password.app_error", - "translation": "无效的密码" - }, - { - "id": "ent.ldap.do_login.licence_disable.app_error", - "translation": "当前许可证无法使用 AD/LDAP 功能,请联系您的系统管理员关于升级您的企业许可证。" - }, - { - "id": "ent.ldap.do_login.matched_to_many_users.app_error", - "translation": "提供的用户名有多个用户" - }, - { - "id": "ent.ldap.do_login.search_ldap_server.app_error", - "translation": "搜索 AD/LDAP 服务器失败" - }, - { - "id": "ent.ldap.do_login.unable_to_connect.app_error", - "translation": "无法连接到 AD/LDAP 服务" - }, - { - "id": "ent.ldap.do_login.unable_to_create_user.app_error", - "translation": "凭据有效但无法创建用户。" - }, - { - "id": "ent.ldap.do_login.user_filtered.app_error", - "translation": "您的 AD/LDAP 账号没有使用此 Mattermost 服务器的权限。请向您的系统管理员询问确认 AD/LDAP 用户过滤器。" - }, - { - "id": "ent.ldap.do_login.user_not_registered.app_error", - "translation": "用户没有在 AD/LDAP 服务器注册" - }, - { - "id": "ent.ldap.mattermost_user_update", - "translation": "Mattermost 用户已被 AD/LDAP 服务器更新。" - }, - { - "id": "ent.ldap.syncdone.info", - "translation": "AD/LDAP 同步完成" - }, - { - "id": "ent.ldap.syncronize.get_all.app_error", - "translation": "无法使用 AD/LDAP 得到所有用户" - }, - { - "id": "ent.ldap.validate_filter.app_error", - "translation": "无效的 AD/LDAP 筛选器" - }, - { - "id": "ent.metrics.starting.info", - "translation": "指标和分析服务端监听在 %v" - }, - { - "id": "ent.metrics.stopping.info", - "translation": "指标和分析服务端在 %v 停止中" - }, - { - "id": "ent.mfa.activate.authenticate.app_error", - "translation": "尝试验证多重验证令牌时出现错误" - }, - { - "id": "ent.mfa.activate.bad_token.app_error", - "translation": "无效的多重验证令牌" - }, - { - "id": "ent.mfa.activate.save_active.app_erro", - "translation": "无法为用户更新多重验证启用状态" - }, - { - "id": "ent.mfa.deactivate.save_active.app_erro", - "translation": "无法为用户更新多重验证启用状态" - }, - { - "id": "ent.mfa.deactivate.save_secret.app_error", - "translation": "清除多重验证密码时出错" - }, - { - "id": "ent.mfa.generate_qr_code.create_code.app_error", - "translation": "QR 码生成出错" - }, - { - "id": "ent.mfa.generate_qr_code.save_secret.app_error", - "translation": "多重验证密码保存时出错" - }, - { - "id": "ent.mfa.license_disable.app_error", - "translation": "您的许可证不支持使用多重因素认证" - }, - { - "id": "ent.mfa.validate_token.authenticate.app_error", - "translation": "尝试验证多重验证令牌时出现错误" - }, - { - "id": "ent.migration.migratetoldap.duplicate_field", - "translation": "无法移植拥有制定栏的 AD/LDAP 用户。发现重复条目。请删除所有重复后再试。" - }, - { - "id": "ent.migration.migratetoldap.user_not_found", - "translation": "未在 AD/LDAP 服务器上找到用户:" - }, - { - "id": "ent.saml.attribute.app_error", - "translation": "SAML登入因不正确属性而失败。请联系您的系统管理员。" - }, - { - "id": "ent.saml.build_request.app_error", - "translation": "尝试向身份提供商请求时发生错误。请联系您的系统管理员。" - }, - { - "id": "ent.saml.build_request.encoding.app_error", - "translation": "尝试编码身份提供商请求时发生错误。请联系您的系统管理员。" - }, - { - "id": "ent.saml.build_request.encoding_signed.app_error", - "translation": "尝试编码签名的身份提供商请求时发生错误。请联系您的系统管理员。" - }, - { - "id": "ent.saml.configure.app_error", - "translation": "设置SAML服务提供商时发生错误,err=%v" - }, - { - "id": "ent.saml.configure.encryption_not_enabled.app_error", - "translation": "SAML登入因加密未开启而失败。请联系您的系统管理员。" - }, - { - "id": "ent.saml.configure.load_idp_cert.app_error", - "translation": "身份认证提供商公共证书文件没有被发现。请与系统管理员联系。" - }, - { - "id": "ent.saml.configure.load_private_key.app_error", - "translation": "SAML登录失败,因为服务提供商私钥没有被发现。请与系统管理员联系。" - }, - { - "id": "ent.saml.configure.load_public_cert.app_error", - "translation": "无法找到身份认证提供商公共证书文件。请联系您的系统管理员。" - }, - { - "id": "ent.saml.configure.not_encrypted_response.app_error", - "translation": "SAML登录因身份服务提供商回应未加密而失败。请联系您的系统管理员。" - }, - { - "id": "ent.saml.do_login.decrypt.app_error", - "translation": "SAML登入因解码身份服务提供商回复发生错误而失败。请联系您的系统管理员。" - }, - { - "id": "ent.saml.do_login.empty_response.app_error", - "translation": "我们收到留一份来自身份提供商的空白请求" - }, - { - "id": "ent.saml.do_login.parse.app_error", - "translation": "尝试解析身份提供商回复时发生错误。请联系您的系统管理员。" - }, - { - "id": "ent.saml.do_login.validate.app_error", - "translation": "尝试验证身份提供商回复时发生错误。请联系您的系统管理员。" - }, - { - "id": "ent.saml.license_disable.app_error", - "translation": "您的证书不支持 SAML 验证。" - }, - { - "id": "ent.saml.metadata.app_error", - "translation": "创建服务商元数据时发生错误。" - }, - { - "id": "ent.saml.service_disable.app_error", - "translation": "本服务器未设定或支持 SAML。" - }, - { - "id": "ent.saml.update_saml_user.unable_error", - "translation": "无法更新现有SAML用户。仍允许登入。err=%v" - }, - { - "id": "error.generic.link_message", - "translation": "返回到 Mattermost" - }, - { - "id": "error.generic.message", - "translation": "发生一个错误。" - }, - { - "id": "error.generic.title", - "translation": "出错" - }, - { - "id": "error.not_found.link_message", - "translation": "返回到Mattermost" - }, - { - "id": "error.not_found.message", - "translation": "您试图访问的页面不存在。" - }, - { - "id": "error.not_found.title", - "translation": "未找到该页面" - }, - { - "id": "leave_team_modal.desc", - "translation": "您将会从所有公开频道和私有组中移除。如果团队是私有的你将无法再加入。您确定吗?" - }, - { - "id": "leave_team_modal.no", - "translation": "不" - }, - { - "id": "leave_team_modal.title", - "translation": "退出团队?" - }, - { - "id": "leave_team_modal.yes", - "translation": "是" - }, - { - "id": "manaultesting.get_channel_id.no_found.debug", - "translation": "找不到频道:%v,已搜索 %v 可能性" - }, - { - "id": "manaultesting.get_channel_id.unable.debug", - "translation": "无法获得频道" - }, - { - "id": "manaultesting.manual_test.create.info", - "translation": "创建用户和团队" - }, - { - "id": "manaultesting.manual_test.parse.app_error", - "translation": "无法解析网址" - }, - { - "id": "manaultesting.manual_test.setup.info", - "translation": "手动测试的设置..." - }, - { - "id": "manaultesting.manual_test.uid.debug", - "translation": "网址中没有 uid" - }, - { - "id": "manaultesting.test_autolink.info", - "translation": "手动自动连接测试" - }, - { - "id": "manaultesting.test_autolink.unable.app_error", - "translation": "无法获得频道" - }, - { - "id": "mattermost.bulletin.subject", - "translation": "Mattermost 安全公告" - }, - { - "id": "mattermost.config_file", - "translation": "从 %v 加载配置文件" - }, - { - "id": "mattermost.current_version", - "translation": "当前版本是 %v (%v/%v/%v/%v)" - }, - { - "id": "mattermost.entreprise_enabled", - "translation": "企业启用: %v" - }, - { - "id": "mattermost.load_license.find.warn", - "translation": "需要从 https://mattermost.com 获得许可证以解锁企业功能。" - }, - { - "id": "mattermost.security_bulletin.error", - "translation": "未能获得安全公告详细信息" - }, - { - "id": "mattermost.security_bulletin_read.error", - "translation": "未能读取安全公告详细信息" - }, - { - "id": "mattermost.security_checks.debug", - "translation": "检查 Mattermost 安全更新中" - }, - { - "id": "mattermost.security_info.error", - "translation": "未能从 Mattermost 获得安全更新信息。" - }, - { - "id": "mattermost.send_bulletin.info", - "translation": "发送安全公告从 %v 到 %v" - }, - { - "id": "mattermost.system_admins.error", - "translation": "未能从Mattermost安全更新信息获取系统管理员。" - }, - { - "id": "mattermost.working_dir", - "translation": "当前工作目录是 %v" - }, - { - "id": "model.access.is_valid.access_token.app_error", - "translation": "无效的访问令牌" - }, - { - "id": "model.access.is_valid.client_id.app_error", - "translation": "无效客户端id" - }, - { - "id": "model.access.is_valid.redirect_uri.app_error", - "translation": "无效重定向uri" - }, - { - "id": "model.access.is_valid.refresh_token.app_error", - "translation": "无效刷新令牌" - }, - { - "id": "model.access.is_valid.user_id.app_error", - "translation": "无效用户id" - }, - { - "id": "model.authorize.is_valid.auth_code.app_error", - "translation": "无效的授权码" - }, - { - "id": "model.authorize.is_valid.client_id.app_error", - "translation": "无效客户端id" - }, - { - "id": "model.authorize.is_valid.create_at.app_error", - "translation": "创建时必须有效时间" - }, - { - "id": "model.authorize.is_valid.expires.app_error", - "translation": "过期必须设置" - }, - { - "id": "model.authorize.is_valid.redirect_uri.app_error", - "translation": "无效重定向uri" - }, - { - "id": "model.authorize.is_valid.scope.app_error", - "translation": "无效范围" - }, - { - "id": "model.authorize.is_valid.state.app_error", - "translation": "无效状态" - }, - { - "id": "model.authorize.is_valid.user_id.app_error", - "translation": "无效用户id" - }, - { - "id": "model.channel.is_valid.2_or_more.app_error", - "translation": "名称必须是2个或以上的小写字母" - }, - { - "id": "model.channel.is_valid.create_at.app_error", - "translation": "创建时必须是有效时间" - }, - { - "id": "model.channel.is_valid.creator_id.app_error", - "translation": "无效创建者id" - }, - { - "id": "model.channel.is_valid.display_name.app_error", - "translation": "无效显示名" - }, - { - "id": "model.channel.is_valid.header.app_error", - "translation": "无效标题" - }, - { - "id": "model.channel.is_valid.id.app_error", - "translation": "无效Id" - }, - { - "id": "model.channel.is_valid.name.app_error", - "translation": "无效名称" - }, - { - "id": "model.channel.is_valid.purpose.app_error", - "translation": "无效用途" - }, - { - "id": "model.channel.is_valid.type.app_error", - "translation": "无效类型" - }, - { - "id": "model.channel.is_valid.update_at.app_error", - "translation": "更新时必须是有效时间" - }, - { - "id": "model.channel_member.is_valid.channel_id.app_error", - "translation": "无效的频道id" - }, - { - "id": "model.channel_member.is_valid.email_value.app_error", - "translation": "无效的电子邮件通知值" - }, - { - "id": "model.channel_member.is_valid.notify_level.app_error", - "translation": "无效通知级别" - }, - { - "id": "model.channel_member.is_valid.push_level.app_error", - "translation": "无效的推送通知等级" - }, - { - "id": "model.channel_member.is_valid.role.app_error", - "translation": "无效角色" - }, - { - "id": "model.channel_member.is_valid.unread_level.app_error", - "translation": "无效的未读标记级别" - }, - { - "id": "model.channel_member.is_valid.user_id.app_error", - "translation": "无效用户id" - }, - { - "id": "model.client.connecting.app_error", - "translation": "在连接到服务器时,我们遇到了一个错误" - }, - { - "id": "model.client.create_emoji.emoji.app_error", - "translation": "无法附加表情符号数据请求" - }, - { - "id": "model.client.create_emoji.image.app_error", - "translation": "无法请求附加图像" - }, - { - "id": "model.client.create_emoji.writer.app_error", - "translation": "无法写入请求" - }, - { - "id": "model.client.login.app_error", - "translation": "认证令牌不匹配" - }, - { - "id": "model.client.read_file.app_error", - "translation": "我们在读取文件时遇到了一个错误" - }, - { - "id": "model.client.set_profile_user.no_file.app_error", - "translation": "缺少请求中的 '图片' 文件" - }, - { - "id": "model.client.set_profile_user.writer.app_error", - "translation": "无法写入请求" - }, - { - "id": "model.command.is_valid.create_at.app_error", - "translation": "创建时必须是有效时间" - }, - { - "id": "model.command.is_valid.description.app_error", - "translation": "无效的描述" - }, - { - "id": "model.command.is_valid.display_name.app_error", - "translation": "无效的显示名称" - }, - { - "id": "model.command.is_valid.id.app_error", - "translation": "无效Id" - }, - { - "id": "model.command.is_valid.method.app_error", - "translation": "无效方式" - }, - { - "id": "model.command.is_valid.team_id.app_error", - "translation": "无效的团队 ID" - }, - { - "id": "model.command.is_valid.token.app_error", - "translation": "无效的令牌" - }, - { - "id": "model.command.is_valid.trigger.app_error", - "translation": "无效的触发" - }, - { - "id": "model.command.is_valid.update_at.app_error", - "translation": "更新时必须是有效时间" - }, - { - "id": "model.command.is_valid.url.app_error", - "translation": "无效的 URL" - }, - { - "id": "model.command.is_valid.url_http.app_error", - "translation": "无效URL. URL必须以http:// or https://开头" - }, - { - "id": "model.command.is_valid.user_id.app_error", - "translation": "无效用户id" - }, - { - "id": "model.compliance.is_valid.create_at.app_error", - "translation": "创建时间必须为有效时间" - }, - { - "id": "model.compliance.is_valid.desc.app_error", - "translation": "无效的描述" - }, - { - "id": "model.compliance.is_valid.end_at.app_error", - "translation": "必须是一个有效时间" - }, - { - "id": "model.compliance.is_valid.id.app_error", - "translation": "无效Id" - }, - { - "id": "model.compliance.is_valid.start_at.app_error", - "translation": "必须来自一个有效的时间" - }, - { - "id": "model.compliance.is_valid.start_end_at.app_error", - "translation": "必须比From参数大" - }, - { - "id": "model.config.is_valid.cluster_email_batching.app_error", - "translation": "当机群启用时没法启动批量电子邮件。" - }, - { - "id": "model.config.is_valid.email_batching_buffer_size.app_error", - "translation": "无效的批量电子邮件缓存大小设定。必须为零或者正整数。" - }, - { - "id": "model.config.is_valid.email_batching_interval.app_error", - "translation": "无效的批量电子邮件间隔设定。必须至少30秒。" - }, - { - "id": "model.config.is_valid.email_reset_salt.app_error", - "translation": "邮箱设定中无效的密码重置盐值。至少32位及以上字符。" - }, - { - "id": "model.config.is_valid.email_salt.app_error", - "translation": "邮箱设定中无效的邀请盐值。至少32位及以上字符。" - }, - { - "id": "model.config.is_valid.email_security.app_error", - "translation": "电子邮件设置的无效连接安全性. 必须 '', 'TLS', 或者 'STARTTLS'" - }, - { - "id": "model.config.is_valid.encrypt_sql.app_error", - "translation": "无效的SQL加密秘钥设置。至少32位及以上字符。" - }, - { - "id": "model.config.is_valid.file_driver.app_error", - "translation": "文件设置中驱动名无效。必须为 'local' 或 'amazons3'" - }, - { - "id": "model.config.is_valid.file_preview_height.app_error", - "translation": "文件设置中文件预览高度无效。必须是0或者正整数。" - }, - { - "id": "model.config.is_valid.file_preview_width.app_error", - "translation": "文件设置中文件预览宽度无效。必须是正整数。" - }, - { - "id": "model.config.is_valid.file_profile_height.app_error", - "translation": "文件设置中个人档案高度无效。必须是正整数。" - }, - { - "id": "model.config.is_valid.file_profile_width.app_error", - "translation": "文件设置中个人档案宽度无效。必须是正整数。" - }, - { - "id": "model.config.is_valid.file_salt.app_error", - "translation": "文件设置中的公共链接盐无效。必须至少32位字符。" - }, - { - "id": "model.config.is_valid.file_thumb_height.app_error", - "translation": "文件设置中无效的缩略图高度。必须是正数。" - }, - { - "id": "model.config.is_valid.file_thumb_width.app_error", - "translation": "文件设置时缩略图宽度无效。必须是正数。" - }, - { - "id": "model.config.is_valid.ldap_basedn", - "translation": "AD/LDAP 栏 \"BaseDN\" 为必须。" - }, - { - "id": "model.config.is_valid.ldap_bind_password", - "translation": "AD/LDAP 栏 \"绑定密码\" 为必填。" - }, - { - "id": "model.config.is_valid.ldap_bind_username", - "translation": "AD/LDAP 栏 \"绑定用户名\" 为必填。" - }, - { - "id": "model.config.is_valid.ldap_email", - "translation": "AD/LDAP 栏 \"电子邮件\" 为必填。" - }, - { - "id": "model.config.is_valid.ldap_firstname", - "translation": "AD/LDAP 栏 \"名\" 为必填。" - }, - { - "id": "model.config.is_valid.ldap_id", - "translation": "AD/LDAP 栏 \"ID\" 为必填。" - }, - { - "id": "model.config.is_valid.ldap_lastname", - "translation": "AD/LDAP 栏 \"姓氏\" 为必填。" - }, - { - "id": "model.config.is_valid.ldap_max_page_size.app_error", - "translation": "无效的最大页面值。" - }, - { - "id": "model.config.is_valid.ldap_required.app_error", - "translation": "缺少必需 AD/LDAP 栏。" - }, - { - "id": "model.config.is_valid.ldap_required.app_error", - "translation": "缺少必需 AD/LDAP 栏。" - }, - { - "id": "model.config.is_valid.ldap_security.app_error", - "translation": "无效的 AD/LDAP 安全连接设置,必须是\"TLS\"或者\"STARTTLS\"" - }, - { - "id": "model.config.is_valid.ldap_server", - "translation": "AD/LDAP 栏 \"AD/LDAP 服务器\" 为必填。" - }, - { - "id": "model.config.is_valid.ldap_sync_interval.app_error", - "translation": "无效的同步间隔时间。同步时间必须至少一分钟。" - }, - { - "id": "model.config.is_valid.ldap_username", - "translation": "AD/LDAP 栏 \"用户名\" 为必填。" - }, - { - "id": "model.config.is_valid.listen_address.app_error", - "translation": "无效的服务设置时监听地址,必须设置此项。" - }, - { - "id": "model.config.is_valid.login_attempts.app_error", - "translation": "无效的最大尝试登录数服务设置。必须是正整数。" - }, - { - "id": "model.config.is_valid.max_burst.app_error", - "translation": "最大过载必须大于零。" - }, - { - "id": "model.config.is_valid.max_channels.app_error", - "translation": "团队设置中频道最大用户数无效,必须是正整数。" - }, - { - "id": "model.config.is_valid.max_file_size.app_error", - "translation": "文件设置中最大大小无效。必须是0或者正整数。" - }, - { - "id": "model.config.is_valid.max_notify_per_channel.app_error", - "translation": "无效团队设置中每频道最大通知数。必须是正整数。" - }, - { - "id": "model.config.is_valid.max_users.app_error", - "translation": "团队设置中每团队的最大用户数无效。必须是正整数。" - }, - { - "id": "model.config.is_valid.password_length.app_error", - "translation": "最短密码长度必须为整数大于或等于 {{.MinLength}} 以及小于或等于 {{.MaxLength}}。" - }, - { - "id": "model.config.is_valid.password_length_max_min.app_error", - "translation": "密码最大长度必须大于或等于最短长度。" - }, - { - "id": "model.config.is_valid.rate_mem.app_error", - "translation": "用于速率的内存大小设置无效。必须是正整数" - }, - { - "id": "model.config.is_valid.rate_sec.app_error", - "translation": "速率限制设置无效。必须是正整数" - }, - { - "id": "model.config.is_valid.read_timeout.app_error", - "translation": "错误的读取超时值。" - }, - { - "id": "model.config.is_valid.restrict_direct_message.app_error", - "translation": "无效的私信限制。必须为 'any' 或 'team'" - }, - { - "id": "model.config.is_valid.saml_assertion_consumer_service_url.app_error", - "translation": "服务提供商登入网址必须为有效URL并且以 http:// 或 https:// 开头。" - }, - { - "id": "model.config.is_valid.saml_email_attribute.app_error", - "translation": "无效的电子邮件属性。此属性必须设定。" - }, - { - "id": "model.config.is_valid.saml_idp_cert.app_error", - "translation": "找不到身份识别提供商公开凭证。您忘了上传?" - }, - { - "id": "model.config.is_valid.saml_idp_descriptor_url.app_error", - "translation": "身份提供商签发网址必须为有效URL并且以 http:// 或 https:// 开头。" - }, - { - "id": "model.config.is_valid.saml_idp_url.app_error", - "translation": "SAML SSO网址必须为有效URL并且以 http:// 或 https:// 开头。" - }, - { - "id": "model.config.is_valid.saml_private_key.app_error", - "translation": "找不到服务提供商私钥。您忘了上传?" - }, - { - "id": "model.config.is_valid.saml_public_cert.app_error", - "translation": "找不到服务提供商公开凭证。您忘了上传?" - }, - { - "id": "model.config.is_valid.saml_username_attribute.app_error", - "translation": "无效的用户名属性。此属性必须设定。" - }, - { - "id": "model.config.is_valid.site_url.app_error", - "translation": "站点网址必须为有效URL并且以 http:// 或 https:// 开头" - }, - { - "id": "model.config.is_valid.site_url_email_batching.app_error", - "translation": "当SiteURL未设置时没法启动批量电子邮件。" - }, - { - "id": "model.config.is_valid.sitename_length.app_error", - "translation": "站点名必须小于或等于 {{.MaxLength}} 个字符。" - }, - { - "id": "model.config.is_valid.sql_data_src.app_error", - "translation": "SQL 设置中的数据源无效。必须设定。" - }, - { - "id": "model.config.is_valid.sql_driver.app_error", - "translation": "SQL 设置中的驱动名无效。必须是 'mysql' 或者 'postgres'" - }, - { - "id": "model.config.is_valid.sql_idle.app_error", - "translation": "SQL 设置中的最大的空闲连接数无效。必须是正整数。" - }, - { - "id": "model.config.is_valid.sql_max_conn.app_error", - "translation": "SQL 设置中最大开启连接数无效。必须是正整数。" - }, - { - "id": "model.config.is_valid.time_between_user_typing.app_error", - "translation": "用户键入更新间隔不应设置为小于1000毫秒。" - }, - { - "id": "model.config.is_valid.webrtc_gateway_admin_secret.app_error", - "translation": "WebRTC 网关管理密码必须设定。" - }, - { - "id": "model.config.is_valid.webrtc_gateway_admin_url.app_error", - "translation": "WebRTC 网关管理网址必须时有效的网址并且以 http:// 或 https:// 开头。" - }, - { - "id": "model.config.is_valid.webrtc_gateway_ws_url.app_error", - "translation": "WebRTC 网关 Websocket 网址必须是有效的网址并且以 ws:// 或 wss:// 开头。" - }, - { - "id": "model.config.is_valid.webrtc_stun_uri.app_error", - "translation": "WebRTC STUN URI 必须为有效的 URL 并且以 stun: 开头" - }, - { - "id": "model.config.is_valid.webrtc_turn_shared_key.app_error", - "translation": "如果已设 TURN 网址则 WebRTC TURN 共享密钥不能留空。" - }, - { - "id": "model.config.is_valid.webrtc_turn_uri.app_error", - "translation": "WebRTC TURN 网址必须时有效的网址并且以 turn: 开头" - }, - { - "id": "model.config.is_valid.webrtc_turn_username.app_error", - "translation": "如果已设 TURN 网址则 WebRTC TURN 用户名不能留空。" - }, - { - "id": "model.config.is_valid.webserver_security.app_error", - "translation": "错误的网页服务器连接安全值。" - }, - { - "id": "model.config.is_valid.write_timeout.app_error", - "translation": "错误的写入超时值。" - }, - { - "id": "model.emoji.create_at.app_error", - "translation": "创建日期必须为效时间" - }, - { - "id": "model.emoji.creator_id.app_error", - "translation": "无效创建者id" - }, - { - "id": "model.emoji.id.app_error", - "translation": "无效的表情符 ID" - }, - { - "id": "model.emoji.name.app_error", - "translation": "名称必须在1至64个的小写英文数字" - }, - { - "id": "model.emoji.update_at.app_error", - "translation": "更新时必须是有效时间" - }, - { - "id": "model.file_info.get.gif.app_error", - "translation": "不能解码gif。" - }, - { - "id": "model.incoming_hook.channel_id.app_error", - "translation": "无效的频道id" - }, - { - "id": "model.incoming_hook.create_at.app_error", - "translation": "创建时必须是有效时间" - }, - { - "id": "model.incoming_hook.description.app_error", - "translation": "无效描述" - }, - { - "id": "model.incoming_hook.display_name.app_error", - "translation": "无效显示名" - }, - { - "id": "model.incoming_hook.id.app_error", - "translation": "无效Id" - }, - { - "id": "model.incoming_hook.team_id.app_error", - "translation": "无效的团队 ID" - }, - { - "id": "model.incoming_hook.update_at.app_error", - "translation": "更新时必须是有效时间" - }, - { - "id": "model.incoming_hook.user_id.app_error", - "translation": "无效用户id" - }, - { - "id": "model.oauth.is_valid.app_id.app_error", - "translation": "无效应用 id" - }, - { - "id": "model.oauth.is_valid.callback.app_error", - "translation": "回调网址必须为有效URL并且以 http:// 或 https:// 开头。" - }, - { - "id": "model.oauth.is_valid.client_secret.app_error", - "translation": "无效客户端秘钥" - }, - { - "id": "model.oauth.is_valid.create_at.app_error", - "translation": "创建时必须是有效时间" - }, - { - "id": "model.oauth.is_valid.creator_id.app_error", - "translation": "无效创建者id" - }, - { - "id": "model.oauth.is_valid.description.app_error", - "translation": "无效描述" - }, - { - "id": "model.oauth.is_valid.homepage.app_error", - "translation": "首页网址必须为有效URL并且以 http:// 或 https:// 开头。" - }, - { - "id": "model.oauth.is_valid.icon_url.app_error", - "translation": "图标网址必须为有效URL并且以 http:// 或 https:// 开头。" - }, - { - "id": "model.oauth.is_valid.name.app_error", - "translation": "无效名称" - }, - { - "id": "model.oauth.is_valid.update_at.app_error", - "translation": "更新时必须是有效时间" - }, - { - "id": "model.outgoing_hook.is_valid.callback.app_error", - "translation": "无效的回调网址" - }, - { - "id": "model.outgoing_hook.is_valid.channel_id.app_error", - "translation": "无效的频道id" - }, - { - "id": "model.outgoing_hook.is_valid.create_at.app_error", - "translation": "创建时必须是有效时间" - }, - { - "id": "model.outgoing_hook.is_valid.description.app_error", - "translation": "无效描述" - }, - { - "id": "model.outgoing_hook.is_valid.display_name.app_error", - "translation": "无效显示名" - }, - { - "id": "model.outgoing_hook.is_valid.id.app_error", - "translation": "无效Id" - }, - { - "id": "model.outgoing_hook.is_valid.team_id.app_error", - "translation": "无效的团队 ID" - }, - { - "id": "model.outgoing_hook.is_valid.token.app_error", - "translation": "无效的令牌" - }, - { - "id": "model.outgoing_hook.is_valid.trigger_words.app_error", - "translation": "无效的触发关键词" - }, - { - "id": "model.outgoing_hook.is_valid.update_at.app_error", - "translation": "更新时必须是有效时间" - }, - { - "id": "model.outgoing_hook.is_valid.url.app_error", - "translation": "无效回调urls. 正确的URL必须是以http:// 或者 https://开始" - }, - { - "id": "model.outgoing_hook.is_valid.user_id.app_error", - "translation": "无效用户id" - }, - { - "id": "model.outgoing_hook.is_valid.words.app_error", - "translation": "无效的触发关键词" - }, - { - "id": "model.post.is_valid.channel_id.app_error", - "translation": "无效的频道id" - }, - { - "id": "model.post.is_valid.create_at.app_error", - "translation": "创建时必须是有效时间" - }, - { - "id": "model.post.is_valid.file_ids.app_error", - "translation": "无效文件 id" - }, - { - "id": "model.post.is_valid.filenames.app_error", - "translation": "无效文件名" - }, - { - "id": "model.post.is_valid.hashtags.app_error", - "translation": "无效标签" - }, - { - "id": "model.post.is_valid.id.app_error", - "translation": "无效Id" - }, - { - "id": "model.post.is_valid.msg.app_error", - "translation": "无效消息" - }, - { - "id": "model.post.is_valid.original_id.app_error", - "translation": "无效原始id" - }, - { - "id": "model.post.is_valid.parent_id.app_error", - "translation": "无效父id" - }, - { - "id": "model.post.is_valid.props.app_error", - "translation": "无效属性" - }, - { - "id": "model.post.is_valid.root_id.app_error", - "translation": "无效根id" - }, - { - "id": "model.post.is_valid.root_parent.app_error", - "translation": "如果父 ID 已设置则必须设置无效根 ID" - }, - { - "id": "model.post.is_valid.type.app_error", - "translation": "无效类型" - }, - { - "id": "model.post.is_valid.update_at.app_error", - "translation": "更新时必须是有效时间" - }, - { - "id": "model.post.is_valid.user_id.app_error", - "translation": "无效用户id" - }, - { - "id": "model.preference.is_valid.category.app_error", - "translation": "无效分类" - }, - { - "id": "model.preference.is_valid.id.app_error", - "translation": "无效用户id" - }, - { - "id": "model.preference.is_valid.name.app_error", - "translation": "无效名称" - }, - { - "id": "model.preference.is_valid.theme.app_error", - "translation": "无效主题" - }, - { - "id": "model.preference.is_valid.value.app_error", - "translation": "值过长" - }, - { - "id": "model.reaction.is_valid.create_at.app_error", - "translation": "创建时必须是有效时间" - }, - { - "id": "model.reaction.is_valid.emoji_name.app_error", - "translation": "无效的表情符名" - }, - { - "id": "model.reaction.is_valid.post_id.app_error", - "translation": "无效消息id" - }, - { - "id": "model.reaction.is_valid.user_id.app_error", - "translation": "无效用户id" - }, - { - "id": "model.team.is_valid.characters.app_error", - "translation": "名称必须是2个或以上的小写字母" - }, - { - "id": "model.team.is_valid.company.app_error", - "translation": "无效的公司名" - }, - { - "id": "model.team.is_valid.create_at.app_error", - "translation": "创建时必须是有效时间" - }, - { - "id": "model.team.is_valid.description.app_error", - "translation": "无效的描述" - }, - { - "id": "model.team.is_valid.domains.app_error", - "translation": "无效允许域" - }, - { - "id": "model.team.is_valid.email.app_error", - "translation": "无效邮箱" - }, - { - "id": "model.team.is_valid.id.app_error", - "translation": "无效Id" - }, - { - "id": "model.team.is_valid.name.app_error", - "translation": "无效名称" - }, - { - "id": "model.team.is_valid.reserved.app_error", - "translation": "这个网址是不可用。请尝试另一个。" - }, - { - "id": "model.team.is_valid.type.app_error", - "translation": "无效类型" - }, - { - "id": "model.team.is_valid.update_at.app_error", - "translation": "更新时必须是有效时间" - }, - { - "id": "model.team.is_valid.url.app_error", - "translation": "无效的网址标识" - }, - { - "id": "model.team_member.is_valid.role.app_error", - "translation": "无效角色" - }, - { - "id": "model.team_member.is_valid.team_id.app_error", - "translation": "无效的团队 ID" - }, - { - "id": "model.team_member.is_valid.user_id.app_error", - "translation": "无效用户id" - }, - { - "id": "model.user.is_valid.auth_data.app_error", - "translation": "无效的认证数据" - }, - { - "id": "model.user.is_valid.auth_data_pwd.app_error", - "translation": "无效的用户名,密码和验证数据不能都设置" - }, - { - "id": "model.user.is_valid.auth_data_type.app_error", - "translation": "无效的用户,认证数据必须设置认证类型" - }, - { - "id": "model.user.is_valid.create_at.app_error", - "translation": "创建时必须是有效时间" - }, - { - "id": "model.user.is_valid.email.app_error", - "translation": "无效邮箱" - }, - { - "id": "model.user.is_valid.first_name.app_error", - "translation": "无效的名字" - }, - { - "id": "model.user.is_valid.id.app_error", - "translation": "无效用户id" - }, - { - "id": "model.user.is_valid.last_name.app_error", - "translation": "无效的姓氏" - }, - { - "id": "model.user.is_valid.nickname.app_error", - "translation": "无效的昵称" - }, - { - "id": "model.user.is_valid.position.app_error", - "translation": "无效位置:不能超过 35 个字符。" - }, - { - "id": "model.user.is_valid.pwd.app_error", - "translation": "你的密码需要至少 {{.Min}} 字符。" - }, - { - "id": "model.user.is_valid.pwd_lowercase.app_error", - "translation": "您的密码必须包含至少 {{.Min}} 字符元且至少有一个小写字母。" - }, - { - "id": "model.user.is_valid.pwd_lowercase_number.app_error", - "translation": "您的密码必须包含至少 {{.Min}} 个字符且至少有一个小写字母以及一个数字。" - }, - { - "id": "model.user.is_valid.pwd_lowercase_number_symbol.app_error", - "translation": "您的密码必须包含至少 {{.Min}} 个字符且至少有一个小写字母,一个数字,以及一个符号(如\"~!@#$%^&*()\")。" - }, - { - "id": "model.user.is_valid.pwd_lowercase_symbol.app_error", - "translation": "您的密码必须包含至少 {{.Min}} 个字符且至少有一个小写字母以及一个符号(如\"~!@#$%^&*()\")。" - }, - { - "id": "model.user.is_valid.pwd_lowercase_uppercase.app_error", - "translation": "您的密码必须包含至少 {{.Min}} 个字符且至少有一个小写字母以及一个大写字母。" - }, - { - "id": "model.user.is_valid.pwd_lowercase_uppercase_number.app_error", - "translation": "您的密码必须包含至少 {{.Min}} 个字符且至少有一个小写字母,一个大写字母,以及一个数字。" - }, - { - "id": "model.user.is_valid.pwd_lowercase_uppercase_number_symbol.app_error", - "translation": "您的密码必须包含至少 {{.Min}} 个字符且至少有一个小写字母,一个大写字母,一个数字,以及一个符号(如\"~!@#$%^&*()\")。" - }, - { - "id": "model.user.is_valid.pwd_lowercase_uppercase_symbol.app_error", - "translation": "您的密码必须包含至少 {{.Min}} 个字符且至少有一个小写字母,一个大写字母,以及一个符号(如\"~!@#$%^&*()\")。" - }, - { - "id": "model.user.is_valid.pwd_number.app_error", - "translation": "您的密码必须包含至少 {{.Min}} 个字符且至少有一个数字。" - }, - { - "id": "model.user.is_valid.pwd_number_symbol.app_error", - "translation": "您的密码必须包含至少 {{.Min}} 个字符且至少有一个数字以及一个符号(如\"~!@#$%^&*()\")。" - }, - { - "id": "model.user.is_valid.pwd_symbol.app_error", - "translation": "您的密码必须包含至少 {{.Min}} 个字符且至少有一个符号(如\"~!@#$%^&*()\")。" - }, - { - "id": "model.user.is_valid.pwd_uppercase.app_error", - "translation": "您的密码必须包含至少 {{.Min}} 个字符且至少有一个大写字母。" - }, - { - "id": "model.user.is_valid.pwd_uppercase_number.app_error", - "translation": "您的密码必须包含至少 {{.Min}} 个字符且至少有一个大写字母以及一个数字。" - }, - { - "id": "model.user.is_valid.pwd_uppercase_number_symbol.app_error", - "translation": "您的密码必须包含至少 {{.Min}} 个字符且至少有一个大写字母,一个数字,以及一个符号(如\"~!@#$%^&*()\")。" - }, - { - "id": "model.user.is_valid.pwd_uppercase_symbol.app_error", - "translation": "您的密码必须包含至少 {{.Min}} 个字元且至少有一个大写字母以及一个符号(如\"~!@#$%^&*()\")。" - }, - { - "id": "model.user.is_valid.team_id.app_error", - "translation": "无效的团队 ID" - }, - { - "id": "model.user.is_valid.update_at.app_error", - "translation": "更新时必须是有效时间" - }, - { - "id": "model.user.is_valid.username.app_error", - "translation": "无效用户名" - }, - { - "id": "model.utils.decode_json.app_error", - "translation": "无法解码" - }, - { - "id": "store.sql.alter_column_type.critical", - "translation": "栏目类型%v修改失败" - }, - { - "id": "store.sql.check_index.critical", - "translation": "检查索引失败 %v" - }, - { - "id": "store.sql.closing.info", - "translation": "关闭 SqlStore" - }, - { - "id": "store.sql.column_exists.critical", - "translation": "未能检查列是否存在 %v" - }, - { - "id": "store.sql.column_exists_missing_driver.critical", - "translation": "未能检查因为缺少驱动程序列是否存在" - }, - { - "id": "store.sql.convert_encrypt_string_map", - "translation": "来自数据库:不能从 EncryptStringMap 转换到 *string" - }, - { - "id": "store.sql.convert_string_array", - "translation": "来自数据库:不能从 StringArray 转换到 *string" - }, - { - "id": "store.sql.convert_string_interface", - "translation": "来自数据库:不能从 StringInterface 转换到 *string" - }, - { - "id": "store.sql.convert_string_map", - "translation": "来自数据库:不能从 StringMap 转换到 *string" - }, - { - "id": "store.sql.create_column.critical", - "translation": "创建列 %v 失败" - }, - { - "id": "store.sql.create_column_missing_driver.critical", - "translation": "未能创建列,因为缺少驱动程序" - }, - { - "id": "store.sql.create_index.critical", - "translation": "创建索引失败 %v" - }, - { - "id": "store.sql.create_index_missing_driver.critical", - "translation": "未能创建索引,因为缺少驱动程序" - }, - { - "id": "store.sql.creating_tables.critical", - "translation": "创建数据库表出错:%v" - }, - { - "id": "store.sql.dialect_driver.critical", - "translation": "创建方言专用驱动程序失败" - }, - { - "id": "store.sql.dialect_driver.panic", - "translation": "创建方言专用驱动程序失败 %v" - }, - { - "id": "store.sql.drop_column.critical", - "translation": "未能删除列 %v" - }, - { - "id": "store.sql.incorrect_mac", - "translation": "对于给定的密文不正确的MAC" - }, - { - "id": "store.sql.maxlength_column.critical", - "translation": "未能获取列的最大长度%v" - }, - { - "id": "store.sql.open_conn.critical", - "translation": "打开数据库连接失败 err:%v" - }, - { - "id": "store.sql.open_conn.panic", - "translation": "打开数据库连接失败 %v" - }, - { - "id": "store.sql.ping.critical", - "translation": "ping 数据库失败 err:%v" - }, - { - "id": "store.sql.pinging.info", - "translation": "Pinging sql %v 数据库" - }, - { - "id": "store.sql.read_replicas_not_licensed.critical", - "translation": "当前许可证禁止大于1个读取复制。请联系您的系统管理员关于升级您的企业许可证。" - }, - { - "id": "store.sql.remove_index.critical", - "translation": "删除索引 %v 失败" - }, - { - "id": "store.sql.rename_column.critical", - "translation": "列重命名失败 %v" - }, - { - "id": "store.sql.schema_out_of_date.warn", - "translation": "数据库结构版本 %v 似乎过旧" - }, - { - "id": "store.sql.schema_set.info", - "translation": "数据库结构版本设为 %v" - }, - { - "id": "store.sql.schema_upgrade_attempt.warn", - "translation": "试图将数据库结构版本升级到 %v" - }, - { - "id": "store.sql.schema_version.critical", - "translation": "数据库结构版本 %v 不能升级。你不能跳过一个版本。" - }, - { - "id": "store.sql.short_ciphertext", - "translation": "短密文" - }, - { - "id": "store.sql.table_column_type.critical", - "translation": "未能获得列的数据类型 %s 从表 %s: %v" - }, - { - "id": "store.sql.table_exists.critical", - "translation": "未能检查表是否存在 %v" - }, - { - "id": "store.sql.too_short_ciphertext", - "translation": "密文太短" - }, - { - "id": "store.sql.upgraded.warn", - "translation": "数据库模式版本已经升级到 %v" - }, - { - "id": "store.sql_audit.get.finding.app_error", - "translation": "我们查找审计时遇到一个错误" - }, - { - "id": "store.sql_audit.get.limit.app_error", - "translation": "已达到分页限制" - }, - { - "id": "store.sql_audit.permanent_delete_by_user.app_error", - "translation": "我们删除审核时遇到了一个错误" - }, - { - "id": "store.sql_audit.save.saving.app_error", - "translation": "我们保持审核时出错" - }, - { - "id": "store.sql_channel.analytics_deleted_type_count.app_error", - "translation": "我们无法获取已删除的频道类型数" - }, - { - "id": "store.sql_channel.analytics_type_count.app_error", - "translation": "我们无法获取频道类型数" - }, - { - "id": "store.sql_channel.check_open_channel_permissions.app_error", - "translation": "我们不能检查权限" - }, - { - "id": "store.sql_channel.check_permissions.app_error", - "translation": "我们不能检查权限" - }, - { - "id": "store.sql_channel.check_permissions_by_name.app_error", - "translation": "我们不能检查权限" - }, - { - "id": "store.sql_channel.delete.channel.app_error", - "translation": "我们无法删除频道" - }, - { - "id": "store.sql_channel.extra_updated.app_error", - "translation": "更新成员上次更新时间出现问题" - }, - { - "id": "store.sql_channel.get.existing.app_error", - "translation": "我们找不到现有的频道" - }, - { - "id": "store.sql_channel.get.find.app_error", - "translation": "我们查找该频道时遇到了一个错误" - }, - { - "id": "store.sql_channel.get_all.app_error", - "translation": "我们无法获取所有的频道" - }, - { - "id": "store.sql_channel.get_by_name.existing.app_error", - "translation": "找不到现有的频道" - }, - { - "id": "store.sql_channel.get_by_name.missing.app_error", - "translation": "频道不存在" - }, - { - "id": "store.sql_channel.get_channel_counts.get.app_error", - "translation": "我们无法获取频道数" - }, - { - "id": "store.sql_channel.get_channels.get.app_error", - "translation": "我们无法获取频道" - }, - { - "id": "store.sql_channel.get_channels.not_found.app_error", - "translation": "没有找到频道" - }, - { - "id": "store.sql_channel.get_deleted_by_name.existing.app_error", - "translation": "我们找不到存在的已删除频道" - }, - { - "id": "store.sql_channel.get_deleted_by_name.missing.app_error", - "translation": "没有用于此名的已删频道" - }, - { - "id": "store.sql_channel.get_extra_members.app_error", - "translation": "我们无法获得额外的信息频道成员" - }, - { - "id": "store.sql_channel.get_for_post.app_error", - "translation": "我们无法从提供的信息获得频道" - }, - { - "id": "store.sql_channel.get_member.app_error", - "translation": "我们无法获得该频道成员" - }, - { - "id": "store.sql_channel.get_member.missing.app_error", - "translation": "无法找到与此用户id和频道id相关联的频道成员" - }, - { - "id": "store.sql_channel.get_member_count.app_error", - "translation": "我们无法获得该频道成员数" - }, - { - "id": "store.sql_channel.get_member_for_post.app_error", - "translation": "我们无法从提供的信息获得频道成员" - }, - { - "id": "store.sql_channel.get_members.app_error", - "translation": "我们无法获得该频道成员" - }, - { - "id": "store.sql_channel.get_members_by_ids.app_error", - "translation": "我们无法获得频道成员" - }, - { - "id": "store.sql_channel.get_more_channels.get.app_error", - "translation": "我们无法获得该频道" - }, - { - "id": "store.sql_channel.increment_mention_count.app_error", - "translation": "我们不能增加提及数" - }, - { - "id": "store.sql_channel.permanent_delete.app_error", - "translation": "我们无法删除这个频道" - }, - { - "id": "store.sql_channel.permanent_delete_by_team.app_error", - "translation": "我们无法删除频道" - }, - { - "id": "store.sql_channel.permanent_delete_members_by_user.app_error", - "translation": "我们无法删除频道成员" - }, - { - "id": "store.sql_channel.remove_member.app_error", - "translation": "我们无法删除频道成员" - }, - { - "id": "store.sql_channel.save.commit_transaction.app_error", - "translation": "不能提交事务" - }, - { - "id": "store.sql_channel.save.direct_channel.app_error", - "translation": "使用 SaveDirectChannel 创建私聊频道" - }, - { - "id": "store.sql_channel.save.open_transaction.app_error", - "translation": "不能打开事务" - }, - { - "id": "store.sql_channel.save_channel.current_count.app_error", - "translation": "获取当前频道数失败" - }, - { - "id": "store.sql_channel.save_channel.existing.app_error", - "translation": "必须对现有的频道执行更新" - }, - { - "id": "store.sql_channel.save_channel.exists.app_error", - "translation": "频道名称在团队中已存在" - }, - { - "id": "store.sql_channel.save_channel.limit.app_error", - "translation": "您已经达到了允许的频道数量上限。" - }, - { - "id": "store.sql_channel.save_channel.previously.app_error", - "translation": "先前已创建使用该 URL 的频道" - }, - { - "id": "store.sql_channel.save_channel.save.app_error", - "translation": "我们无法保存该频道" - }, - { - "id": "store.sql_channel.save_direct_channel.add_members.app_error", - "translation": "不能添加私聊频道成员" - }, - { - "id": "store.sql_channel.save_direct_channel.commit.app_error", - "translation": "不能提交事务" - }, - { - "id": "store.sql_channel.save_direct_channel.not_direct.app_error", - "translation": "不能试图用SaveDirectChannel创建私聊频道" - }, - { - "id": "store.sql_channel.save_direct_channel.open_transaction.app_error", - "translation": "不能开启事务" - }, - { - "id": "store.sql_channel.save_member.commit_transaction.app_error", - "translation": "不能提交事务" - }, - { - "id": "store.sql_channel.save_member.exists.app_error", - "translation": "该频道已存在拥有此 ID 的成员" - }, - { - "id": "store.sql_channel.save_member.open_transaction.app_error", - "translation": "不能开启事务" - }, - { - "id": "store.sql_channel.save_member.save.app_error", - "translation": "我们无法保存这个频道成员" - }, - { - "id": "store.sql_channel.search.app_error", - "translation": "我们搜索频道时遇到错误" - }, - { - "id": "store.sql_channel.set_last_viewed_at.app_error", - "translation": "我们不能更新最后查看时间" - }, - { - "id": "store.sql_channel.update.app_error", - "translation": "我们无法更新这个频道" - }, - { - "id": "store.sql_channel.update.exists.app_error", - "translation": "已存在使用该识别名的频道" - }, - { - "id": "store.sql_channel.update.previously.app_error", - "translation": "先前已创建过使用该识别名的频道" - }, - { - "id": "store.sql_channel.update.updating.app_error", - "translation": "我们无法更新这个频道" - }, - { - "id": "store.sql_channel.update_last_viewed_at.app_error", - "translation": "我们不能更新最后查看时间" - }, - { - "id": "store.sql_channel.update_member.app_error", - "translation": "我们更新频道成员遇到了一个错误" - }, - { - "id": "store.sql_command.analytics_command_count.app_error", - "translation": "我们无法计算指令数量" - }, - { - "id": "store.sql_command.save.delete.app_error", - "translation": "我们无法删除命令" - }, - { - "id": "store.sql_command.save.delete_perm.app_error", - "translation": "我们无法删除命令" - }, - { - "id": "store.sql_command.save.get.app_error", - "translation": "我们无法获取这个命令" - }, - { - "id": "store.sql_command.save.get_team.app_error", - "translation": "我们无法获取这个命令" - }, - { - "id": "store.sql_command.save.saving.app_error", - "translation": "我们无法保存这个命令" - }, - { - "id": "store.sql_command.save.saving_overwrite.app_error", - "translation": "您不能覆盖一个已存在的命令" - }, - { - "id": "store.sql_command.save.update.app_error", - "translation": "我们无法更新这个命令" - }, - { - "id": "store.sql_compliance.get.finding.app_error", - "translation": "我们获取合规报告时遇到错误" - }, - { - "id": "store.sql_compliance.save.saving.app_error", - "translation": "我们保存合规报告时遇到错误" - }, - { - "id": "store.sql_emoji.delete.app_error", - "translation": "我们无法删除此表情符" - }, - { - "id": "store.sql_emoji.delete.no_results", - "translation": "找不到要删除的表情符号" - }, - { - "id": "store.sql_emoji.get.app_error", - "translation": "我们无法获取此表情符" - }, - { - "id": "store.sql_emoji.get_all.app_error", - "translation": "我们无法获取此表情符" - }, - { - "id": "store.sql_emoji.get_by_name.app_error", - "translation": "我们无法获取此表情符" - }, - { - "id": "store.sql_emoji.save.app_error", - "translation": "我们无法保存此表情符" - }, - { - "id": "store.sql_file_info.attach_to_post.app_error", - "translation": "我们没法附文件信息到信息" - }, - { - "id": "store.sql_file_info.delete_for_post.app_error", - "translation": "我们没法从信息删除文件信息" - }, - { - "id": "store.sql_file_info.get.app_error", - "translation": "我们无法获取文件信息" - }, - { - "id": "store.sql_file_info.get_by_path.app_error", - "translation": "我们无法从路径获取文件信息" - }, - { - "id": "store.sql_file_info.get_for_post.app_error", - "translation": "我们没法从信息获取文件信息" - }, - { - "id": "store.sql_file_info.save.app_error", - "translation": "我们无法保存文件信息" - }, - { - "id": "store.sql_license.get.app_error", - "translation": "我们获取许可证时出现一个错误" - }, - { - "id": "store.sql_license.get.missing.app_error", - "translation": "许可证ID未找到" - }, - { - "id": "store.sql_license.save.app_error", - "translation": "我们保存许可证时出现一个错误" - }, - { - "id": "store.sql_oauth.delete.commit_transaction.app_error", - "translation": "无法提交事务" - }, - { - "id": "store.sql_oauth.delete.open_transaction.app_error", - "translation": "无法开启删除 OAuth2 应用事物" - }, - { - "id": "store.sql_oauth.delete.rollback_transaction.app_error", - "translation": "无法回滚删除 OAuth2 应用事物" - }, - { - "id": "store.sql_oauth.delete_app.app_error", - "translation": "删除 OAuth2 应用时遇到错误" - }, - { - "id": "store.sql_oauth.get_access_data.app_error", - "translation": "我们查找访问令牌时遇到一个错误" - }, - { - "id": "store.sql_oauth.get_access_data_by_user_for_app.app_error", - "translation": "我们查找访问令牌时遇到一个错误" - }, - { - "id": "store.sql_oauth.get_app.find.app_error", - "translation": "我们无法查找请求的应用" - }, - { - "id": "store.sql_oauth.get_app.finding.app_error", - "translation": "我们查找这个app出现错误" - }, - { - "id": "store.sql_oauth.get_app_by_user.find.app_error", - "translation": "我们无法查找一些存在的apps" - }, - { - "id": "store.sql_oauth.get_apps.find.app_error", - "translation": "寻找 OAuth2 应用时遇到错误" - }, - { - "id": "store.sql_oauth.get_auth_data.find.app_error", - "translation": "我们找不到现有的授权码" - }, - { - "id": "store.sql_oauth.get_auth_data.finding.app_error", - "translation": "我们查找授权码遇到了一个错误" - }, - { - "id": "store.sql_oauth.get_previous_access_data.app_error", - "translation": "我们查找访问令牌时遇到一个错误" - }, - { - "id": "store.sql_oauth.permanent_delete_auth_data_by_user.app_error", - "translation": "我们无法删除授权码" - }, - { - "id": "store.sql_oauth.remove_access_data.app_error", - "translation": "我们无法删除这个访问令牌" - }, - { - "id": "store.sql_oauth.remove_auth_data.app_error", - "translation": "我们无法删除授权码" - }, - { - "id": "store.sql_oauth.save_access_data.app_error", - "translation": "我们无法保存这个访问令牌。" - }, - { - "id": "store.sql_oauth.save_app.existing.app_error", - "translation": "必须对现有的应用执行更新" - }, - { - "id": "store.sql_oauth.save_app.save.app_error", - "translation": "我们不能保存这个应用。" - }, - { - "id": "store.sql_oauth.save_auth_data.app_error", - "translation": "我们无法保存授权码。" - }, - { - "id": "store.sql_oauth.update_access_data.app_error", - "translation": "我们更新访问令牌时遇到一个错误" - }, - { - "id": "store.sql_oauth.update_app.find.app_error", - "translation": "我们找不到现有的app更新" - }, - { - "id": "store.sql_oauth.update_app.finding.app_error", - "translation": "我们查找app遇到了一个错误" - }, - { - "id": "store.sql_oauth.update_app.update.app_error", - "translation": "我们不能更新这个app" - }, - { - "id": "store.sql_oauth.update_app.updating.app_error", - "translation": "我们更新这个app出现一个错误" - }, - { - "id": "store.sql_post.analytics_posts_count.app_error", - "translation": "我们无法获取邮件数" - }, - { - "id": "store.sql_post.analytics_posts_count_by_day.app_error", - "translation": "我们无法通过天获取邮件数" - }, - { - "id": "store.sql_post.analytics_user_counts_posts_by_day.app_error", - "translation": "我们无法通过邮件获取用户数" - }, - { - "id": "store.sql_post.delete.app_error", - "translation": "我们不能删除这个邮件" - }, - { - "id": "store.sql_post.get.app_error", - "translation": "我们无法获取这个邮件" - }, - { - "id": "store.sql_post.get_parents_posts.app_error", - "translation": "我们无法获取这个频道的父信息" - }, - { - "id": "store.sql_post.get_posts.app_error", - "translation": "分页限制" - }, - { - "id": "store.sql_post.get_posts_around.get.app_error", - "translation": "我们无法获取这个频道的信息" - }, - { - "id": "store.sql_post.get_posts_around.get_parent.app_error", - "translation": "我们无法获取这个频道的父信息" - }, - { - "id": "store.sql_post.get_posts_created_att.app_error", - "translation": "我们无法获取这个频道的消息" - }, - { - "id": "store.sql_post.get_posts_since.app_error", - "translation": "我们无法获取这个频道的信息" - }, - { - "id": "store.sql_post.get_root_posts.app_error", - "translation": "我们无法获取这个频道的信息" - }, - { - "id": "store.sql_post.overwrite.app_error", - "translation": "我们无法覆盖消息" - }, - { - "id": "store.sql_post.permanent_delete.app_error", - "translation": "我们无法删除这个邮件" - }, - { - "id": "store.sql_post.permanent_delete_all_comments_by_user.app_error", - "translation": "我们不能删除用户的评论" - }, - { - "id": "store.sql_post.permanent_delete_by_channel.app_error", - "translation": "我们无法在频道中删除这些消息" - }, - { - "id": "store.sql_post.permanent_delete_by_user.app_error", - "translation": "我们不能为用户选择要删除的信息" - }, - { - "id": "store.sql_post.permanent_delete_by_user.too_many.app_error", - "translation": "我们不能为用户选择要删除的信息(数量太多),请重新运行" - }, - { - "id": "store.sql_post.save.app_error", - "translation": "我们无法保存这个邮件" - }, - { - "id": "store.sql_post.save.existing.app_error", - "translation": "您不能更新一个村庄的邮件" - }, - { - "id": "store.sql_post.search.warn", - "translation": "搜索消息查询错误:%v" - }, - { - "id": "store.sql_post.update.app_error", - "translation": "我们不能更新这个邮件" - }, - { - "id": "store.sql_preference.delete.app_error", - "translation": "我们删除偏好设置时出现错误" - }, - { - "id": "store.sql_preference.delete_unused_features.debug", - "translation": "删除任何未使用的预发行功能" - }, - { - "id": "store.sql_preference.get.app_error", - "translation": "我们在查找偏好设置时遇到了一个错误" - }, - { - "id": "store.sql_preference.get_all.app_error", - "translation": "我们在查找偏好设置时遇到了一个错误" - }, - { - "id": "store.sql_preference.get_category.app_error", - "translation": "我们在查找偏好设置时遇到了一个错误" - }, - { - "id": "store.sql_preference.insert.exists.app_error", - "translation": "一个带用户id,分类,名称的偏好设置已经存在" - }, - { - "id": "store.sql_preference.insert.save.app_error", - "translation": "我们无法保存这个偏好设置We couldn't save the preference" - }, - { - "id": "store.sql_preference.is_feature_enabled.app_error", - "translation": "我们查找一个预发布偏好设置时出现问题" - }, - { - "id": "store.sql_preference.permanent_delete_by_user.app_error", - "translation": "我们删除偏好设置时出现一个错误" - }, - { - "id": "store.sql_preference.save.commit_transaction.app_error", - "translation": "保存偏好设置时无法提交事务" - }, - { - "id": "store.sql_preference.save.missing_driver.app_error", - "translation": "我们更新偏好设置时出现一个错误" - }, - { - "id": "store.sql_preference.save.open_transaction.app_error", - "translation": "保存偏好设置时不能打开事务" - }, - { - "id": "store.sql_preference.save.rollback_transaction.app_error", - "translation": "保存偏好设置时不能回滚事务" - }, - { - "id": "store.sql_preference.save.updating.app_error", - "translation": "我们更新偏好设置时出现一个错误" - }, - { - "id": "store.sql_preference.update.app_error", - "translation": "我们无法更新这个偏好设置" - }, - { - "id": "store.sql_reaction.delete.begin.app_error", - "translation": "删除反应时无法打开事务" - }, - { - "id": "store.sql_reaction.delete.commit.app_error", - "translation": "删除反应时无法提交事务" - }, - { - "id": "store.sql_reaction.delete.save.app_error", - "translation": "无法删除反应" - }, - { - "id": "store.sql_reaction.delete_all_with_emoj_name.delete_reactions.app_error", - "translation": "无法用提供的表情符删除反应" - }, - { - "id": "store.sql_reaction.delete_all_with_emoj_name.get_reactions.app_error", - "translation": "无法用提供的表情符获取反应" - }, - { - "id": "store.sql_reaction.delete_all_with_emoji_name.update_post.warn", - "translation": "无法删除反应时更新 Post.HasReactions post_id=%v, error=%v" - }, - { - "id": "store.sql_reaction.get_for_post.app_error", - "translation": "无法获取消息的反应" - }, - { - "id": "store.sql_reaction.save.begin.app_error", - "translation": "无法保存反应时打开事务" - }, - { - "id": "store.sql_reaction.save.commit.app_error", - "translation": "无法保存反应时提交事务" - }, - { - "id": "store.sql_reaction.save.save.app_error", - "translation": "无法保存反应" - }, - { - "id": "store.sql_session.analytics_session_count.app_error", - "translation": "我们无法计算会话数量" - }, - { - "id": "store.sql_session.cleanup_expired_sessions.app_error", - "translation": "我们删除过期用户会话时出错" - }, - { - "id": "store.sql_session.get.app_error", - "translation": "我们查找这个会话时出错" - }, - { - "id": "store.sql_session.get_sessions.app_error", - "translation": "我们查找用户会话时出错" - }, - { - "id": "store.sql_session.get_sessions.error", - "translation": "清空会话失败 err=%v" - }, - { - "id": "store.sql_session.permanent_delete_sessions_by_user.app_error", - "translation": "我们无法删除该用户所有的会话" - }, - { - "id": "store.sql_session.remove.app_error", - "translation": "我们无法删除这个会话" - }, - { - "id": "store.sql_session.remove_all_sessions_for_team.app_error", - "translation": "我们无法删除所有会话" - }, - { - "id": "store.sql_session.save.app_error", - "translation": "我们无法保存这个会话" - }, - { - "id": "store.sql_session.save.cleanup.error", - "translation": "保存时清空会话失败 err=%v" - }, - { - "id": "store.sql_session.save.existing.app_error", - "translation": "不能更新现有会话" - }, - { - "id": "store.sql_session.update_device_id.app_error", - "translation": "我们无法更新这个设备id" - }, - { - "id": "store.sql_session.update_last_activity.app_error", - "translation": "我们无法更新 last_activity_at" - }, - { - "id": "store.sql_session.update_roles.app_error", - "translation": "我们无法更新角色" - }, - { - "id": "store.sql_status.get.app_error", - "translation": "获取状态时遇到错误" - }, - { - "id": "store.sql_status.get.missing.app_error", - "translation": "该状态没有对应的数据" - }, - { - "id": "store.sql_status.get_online.app_error", - "translation": "获取所有在线状态时发生错误" - }, - { - "id": "store.sql_status.get_online_away.app_error", - "translation": "获取所有在线/离开状态时遇到错误" - }, - { - "id": "store.sql_status.get_team_statuses.app_error", - "translation": "获取所有团队成员状态时遇到错误" - }, - { - "id": "store.sql_status.get_total_active_users_count.app_error", - "translation": "我们无法计算启用的用户数" - }, - { - "id": "store.sql_status.reset_all.app_error", - "translation": "重置所有状态时遇到错误" - }, - { - "id": "store.sql_status.save.app_error", - "translation": "保存状态时遇到错误" - }, - { - "id": "store.sql_status.update.app_error", - "translation": "更新状态时遇到错误" - }, - { - "id": "store.sql_system.get.app_error", - "translation": "我们再查找系统属性遇到了一个错误" - }, - { - "id": "store.sql_system.get_by_name.app_error", - "translation": "我们找不到该系统变量。" - }, - { - "id": "store.sql_system.get_version.app_error", - "translation": "我们无法获得数据库版本" - }, - { - "id": "store.sql_system.save.app_error", - "translation": "我们保存系统属性时遇到了一个错误" - }, - { - "id": "store.sql_system.update.app_error", - "translation": "我们更新系统属性时遇到了一个错误" - }, - { - "id": "store.sql_team.analytics_team_count.app_error", - "translation": "我们无法计算团队数" - }, - { - "id": "store.sql_team.get.find.app_error", - "translation": "我们找不到已存在的团队" - }, - { - "id": "store.sql_team.get.finding.app_error", - "translation": "我们查找团队时遇到错误" - }, - { - "id": "store.sql_team.get_all.app_error", - "translation": "我们无法获取所有的团队" - }, - { - "id": "store.sql_team.get_all_team_listing.app_error", - "translation": "我们无法获取所有的团队" - }, - { - "id": "store.sql_team.get_by_invite_id.find.app_error", - "translation": "我们无法查找这个存在的团队" - }, - { - "id": "store.sql_team.get_by_invite_id.finding.app_error", - "translation": "我们无法查找这个存在的团队" - }, - { - "id": "store.sql_team.get_by_name.app_error", - "translation": "我们无法查找这个存在的团队" - }, - { - "id": "store.sql_team.get_member.app_error", - "translation": "我们无法获得频道成员" - }, - { - "id": "store.sql_team.get_member.missing.app_error", - "translation": "无法找到此用户id和团队id相关联的团队成员" - }, - { - "id": "store.sql_team.get_member_count.app_error", - "translation": "我们无法计算团队成员数" - }, - { - "id": "store.sql_team.get_members.app_error", - "translation": "我们无法获得频道成员" - }, - { - "id": "store.sql_team.get_members_by_ids.app_error", - "translation": "我们无法获得团队成员" - }, - { - "id": "store.sql_team.get_teams_for_email.app_error", - "translation": "我们查找团队时遇到了一个问题" - }, - { - "id": "store.sql_team.get_unread.app_error", - "translation": "我们无法获取团队未读消息" - }, - { - "id": "store.sql_team.permanent_delete.app_error", - "translation": "我们不能删除现有的团队" - }, - { - "id": "store.sql_team.remove_member.app_error", - "translation": "我们无法删除频道成员" - }, - { - "id": "store.sql_team.save.app_error", - "translation": "我们无法保存团队" - }, - { - "id": "store.sql_team.save.domain_exists.app_error", - "translation": "已有团队拥有此名称" - }, - { - "id": "store.sql_team.save.existing.app_error", - "translation": "必须对现有的团队执行更新" - }, - { - "id": "store.sql_team.save_member.exists.app_error", - "translation": "拥有此ID的团队成员已存在" - }, - { - "id": "store.sql_team.save_member.save.app_error", - "translation": "我们无法保存该频道成员" - }, - { - "id": "store.sql_team.update.app_error", - "translation": "我们无法更新该团队" - }, - { - "id": "store.sql_team.update.find.app_error", - "translation": "我们没找到已存在的团队来更新" - }, - { - "id": "store.sql_team.update.finding.app_error", - "translation": "我们查找该团队时遇到一个错误" - }, - { - "id": "store.sql_team.update.updating.app_error", - "translation": "我们更新该团队时遇到一个错误" - }, - { - "id": "store.sql_team.update_display_name.app_error", - "translation": "我们无法更新团队名称" - }, - { - "id": "store.sql_user.analytics_get_inactive_users_count.app_error", - "translation": "我们无法计算未活动的用户数" - }, - { - "id": "store.sql_user.analytics_get_system_admin_count.app_error", - "translation": "我们无法获取系统管理数" - }, - { - "id": "store.sql_user.analytics_unique_user_count.app_error", - "translation": "我们无法获得不重复的用户数量" - }, - { - "id": "store.sql_user.get.app_error", - "translation": "我们查找帐户遇到了一个错误" - }, - { - "id": "store.sql_user.get_all_using_auth_service.other.app_error", - "translation": "我们查找使用特定验证方式的帐号时遇到错误。" - }, - { - "id": "store.sql_user.get_by_auth.missing_account.app_error", - "translation": "我们没找到符合您的验证方式的帐号。此团队或许需要从团队拥有者获得邀请才可加入。" - }, - { - "id": "store.sql_user.get_by_auth.other.app_error", - "translation": "我们在尝试通过身份验证类型找到账户时遇到一个问题。" - }, - { - "id": "store.sql_user.get_by_username.app_error", - "translation": "我们无法在这个团队中找到一个匹配您用户名的现有帐户。此团队或许需要从团队拥有者获得邀请才可加入。" - }, - { - "id": "store.sql_user.get_for_login.app_error", - "translation": "我们无法在这个团队中找到一个匹配您帐号的用户。此团队或许需要从团队拥有者获得邀请才可加入。" - }, - { - "id": "store.sql_user.get_for_login.multiple_users", - "translation": "我们发现多个用户的登陆凭据与你匹配,因此禁用了你的登陆权限。请与管理员联系。" - }, - { - "id": "store.sql_user.get_profiles.app_error", - "translation": "我们查找用户配置文件遇到了一个错误" - }, - { - "id": "store.sql_user.get_recently_active_users.app_error", - "translation": "查找最近活动的用户时遇到错误" - }, - { - "id": "store.sql_user.get_sysadmin_profiles.app_error", - "translation": "我们查找用户配置文件遇到了一个错误" - }, - { - "id": "store.sql_user.get_total_users_count.app_error", - "translation": "我们无法计算用户数" - }, - { - "id": "store.sql_user.get_unread_count.app_error", - "translation": "我们无法为用户获取到未读信息数量" - }, - { - "id": "store.sql_user.get_unread_count_for_channel.app_error", - "translation": "我们无法为用户和频道获取未读信息数量" - }, - { - "id": "store.sql_user.migrate_theme.critical", - "translation": "移植 User.ThemeProps 到 Preferences 表 %v 时失败" - }, - { - "id": "store.sql_user.missing_account.const", - "translation": "无法找到该用户。" - }, - { - "id": "store.sql_user.permanent_delete.app_error", - "translation": "我们无法删除现有的用户" - }, - { - "id": "store.sql_user.save.app_error", - "translation": "我们无法保存用户。" - }, - { - "id": "store.sql_user.save.email_exists.app_error", - "translation": "已有帐号使用该电子邮件。" - }, - { - "id": "store.sql_user.save.email_exists.ldap_app_error", - "translation": "这个账号不使用 AD/LDAP 验证。请使用电子邮件和密码登陆。" - }, - { - "id": "store.sql_user.save.email_exists.saml_app_error", - "translation": "这个账号不使用LDAP验证。请使用电子邮件和密码登陆。" - }, - { - "id": "store.sql_user.save.existing.app_error", - "translation": "必须对现有的用户执行更新" - }, - { - "id": "store.sql_user.save.max_accounts.app_error", - "translation": "这个团队已经达到允许的最大用户数量。请与系统管理员联系以设置更高的限制。" - }, - { - "id": "store.sql_user.save.member_count.app_error", - "translation": "未能获得当前的团队成员计数" - }, - { - "id": "store.sql_user.save.username_exists.app_error", - "translation": "使用该用户名的账户已存在。" - }, - { - "id": "store.sql_user.save.username_exists.ldap_app_error", - "translation": "使用此用户名的帐号已经存在。请与您的管理员联系。" - }, - { - "id": "store.sql_user.save.username_exists.saml_app_error", - "translation": "已有帐号使用该用户名。请联系您的管理员。" - }, - { - "id": "store.sql_user.update.app_error", - "translation": "我们无法更新用户" - }, - { - "id": "store.sql_user.update.can_not_change_ldap.app_error", - "translation": "无法更改 AD/LDAP 设定的字段" - }, - { - "id": "store.sql_user.update.email_taken.app_error", - "translation": "该邮箱已被使用。请重新选择。" - }, - { - "id": "store.sql_user.update.find.app_error", - "translation": "我们没法查找已存在的帐号以更新" - }, - { - "id": "store.sql_user.update.finding.app_error", - "translation": "我们查找该用户时遇到一个错误" - }, - { - "id": "store.sql_user.update.updating.app_error", - "translation": "我们更新用户时遇到了一个错误" - }, - { - "id": "store.sql_user.update.username_taken.app_error", - "translation": "这个用户名已被使用。请重新选择。" - }, - { - "id": "store.sql_user.update_auth_data.app_error", - "translation": "我们无法更新认证数据" - }, - { - "id": "store.sql_user.update_auth_data.email_exists.app_error", - "translation": "不能切换至 {{.Service}}账号。 使用此邮件{{.Email}}的账号已经存在。" - }, - { - "id": "store.sql_user.update_failed_pwd_attempts.app_error", - "translation": "我们无法更新 failed_attempts" - }, - { - "id": "store.sql_user.update_last_activity.app_error", - "translation": "我们无法更新 last_activity_at" - }, - { - "id": "store.sql_user.update_last_picture_update.app_error", - "translation": "我们无法更新 update_at" - }, - { - "id": "store.sql_user.update_last_ping.app_error", - "translation": "我们无法更新 last_ping_at" - }, - { - "id": "store.sql_user.update_mfa_active.app_error", - "translation": "我们在更新用户的多重验证使用状态时遇到一个错误" - }, - { - "id": "store.sql_user.update_mfa_secret.app_error", - "translation": "我们在更新用户的多重验证密码时遇到一个错误" - }, - { - "id": "store.sql_user.update_password.app_error", - "translation": "我们无法更新用户密码" - }, - { - "id": "store.sql_user.verify_email.app_error", - "translation": "无法更新验证电子邮件字段" - }, - { - "id": "store.sql_webhooks.analytics_incoming_count.app_error", - "translation": "我们无法计算传入的 webhooks" - }, - { - "id": "store.sql_webhooks.analytics_outgoing_count.app_error", - "translation": "我们无法计算传出的 webhooks" - }, - { - "id": "store.sql_webhooks.delete_incoming.app_error", - "translation": "我们无法删除 webhook" - }, - { - "id": "store.sql_webhooks.delete_outgoing.app_error", - "translation": "我们无法删除 webhook" - }, - { - "id": "store.sql_webhooks.get_incoming.app_error", - "translation": "我们不能获取 webhook" - }, - { - "id": "store.sql_webhooks.get_incoming_by_channel.app_error", - "translation": "我们不能获取 webhooks" - }, - { - "id": "store.sql_webhooks.get_incoming_by_user.app_error", - "translation": "我们不能获取 webhook" - }, - { - "id": "store.sql_webhooks.get_outgoing.app_error", - "translation": "我们不能获取 webhook" - }, - { - "id": "store.sql_webhooks.get_outgoing_by_channel.app_error", - "translation": "我们不能获取 webhooks" - }, - { - "id": "store.sql_webhooks.get_outgoing_by_team.app_error", - "translation": "我们不能获取 webhooks" - }, - { - "id": "store.sql_webhooks.permanent_delete_incoming_by_user.app_error", - "translation": "我们无法删除 webhook" - }, - { - "id": "store.sql_webhooks.permanent_delete_outgoing_by_user.app_error", - "translation": "我们无法删除 webhook" - }, - { - "id": "store.sql_webhooks.save_incoming.app_error", - "translation": "我们不能保存传入的 webhook" - }, - { - "id": "store.sql_webhooks.save_incoming.existing.app_error", - "translation": "您不能覆盖现有的传入的 webhook" - }, - { - "id": "store.sql_webhooks.save_outgoing.app_error", - "translation": "我们不能保存传出的 webhook" - }, - { - "id": "store.sql_webhooks.save_outgoing.override.app_error", - "translation": "你不能覆盖现有的传出的 webhook" - }, - { - "id": "store.sql_webhooks.update_incoming.app_error", - "translation": "我们无法更新 IncomingWebhook" - }, - { - "id": "store.sql_webhooks.update_outgoing.app_error", - "translation": "我们不能更新 webhook" - }, - { - "id": "system.message.name", - "translation": "系统" - }, - { - "id": "utils.config.load_config.decoding.panic", - "translation": "解码配置出错 file={{.Filename}}, err={{.Error}}" - }, - { - "id": "utils.config.load_config.getting.panic", - "translation": "获取配置信息时出错 file={{.Filename}}, err={{.Error}}" - }, - { - "id": "utils.config.load_config.opening.panic", - "translation": "打开配置错误 file={{.Filename}}, err={{.Error}}" - }, - { - "id": "utils.config.load_config.validating.panic", - "translation": "验证配置错误 file={{.Filename}}, err={{.Error}}" - }, - { - "id": "utils.config.save_config.saving.app_error", - "translation": "保存文件时出错 {{.Filename}}" - }, - { - "id": "utils.config.supported_client_locale.app_error", - "translation": "无法加载 Mattermost 配置文件:DefaultClientLocale 必须为支持的区域" - }, - { - "id": "utils.config.supported_server_locale.app_error", - "translation": "无法加载 Mattermost 配置文件:DefaultServerLocale 必须为支持的区域" - }, - { - "id": "utils.config.validate_locale.app_error", - "translation": "无法加载 Mattermost 配置文件:AvailableLocales 必须包含 DefaultClientLocale" - }, - { - "id": "utils.diagnostic.analytics_not_found.app_error", - "translation": "解析未初始化" - }, - { - "id": "utils.i18n.loaded", - "translation": "加载系统翻译 '%v' 从 '%v'" - }, - { - "id": "utils.iru.with_evict", - "translation": "必须提供一个正数大小" - }, - { - "id": "utils.license.load_license.invalid.warn", - "translation": "未发现有效企业许可证" - }, - { - "id": "utils.license.remove_license.unable.error", - "translation": "无法删除许可证文件, err=%v" - }, - { - "id": "utils.license.validate_license.decode.error", - "translation": "解码许可证遇到错误, err=%v" - }, - { - "id": "utils.license.validate_license.invalid.error", - "translation": "无效签名, err=%v" - }, - { - "id": "utils.license.validate_license.not_long.error", - "translation": "签名许可证长度不够" - }, - { - "id": "utils.license.validate_license.signing.error", - "translation": "遇到错误签名许可证, err=%v" - }, - { - "id": "utils.mail.connect_smtp.open.app_error", - "translation": "打开连接失败" - }, - { - "id": "utils.mail.connect_smtp.open_tls.app_error", - "translation": "未能打开TLS连接" - }, - { - "id": "utils.mail.new_client.auth.app_error", - "translation": "无法验证SMTP服务器" - }, - { - "id": "utils.mail.new_client.open.error", - "translation": "无法打开一个SMTP服务器连接 %v" - }, - { - "id": "utils.mail.send_mail.close.app_error", - "translation": "未能关闭连接到SMTP服务器" - }, - { - "id": "utils.mail.send_mail.from_address.app_error", - "translation": "未能从电子邮件地址添加" - }, - { - "id": "utils.mail.send_mail.msg.app_error", - "translation": "写电子邮件失败" - }, - { - "id": "utils.mail.send_mail.msg_data.app_error", - "translation": "添加电子邮件信息数据失败" - }, - { - "id": "utils.mail.send_mail.sending.debug", - "translation": "发送邮件到 %v 主题 '%v'" - }, - { - "id": "utils.mail.send_mail.to_address.app_error", - "translation": "添加邮箱地址失败" - }, - { - "id": "utils.mail.test.configured.error", - "translation": "SMTP服务器设置配置错误 err=%v details=%v" - }, - { - "id": "utils.mail.test.configured.error", - "translation": "SMTP服务器设置配置错误 err=%v details=%v" - }, - { - "id": "web.admin_console.title", - "translation": "管理控制台" - }, - { - "id": "web.authorize_oauth.title", - "translation": "授权申请" - }, - { - "id": "web.check_browser_compatibility.app_error", - "translation": "您当前的浏览器不支持,请升级到下列浏览器之一:Chrome 21 或以上、Internet Explorer 11 或以上、火狐 14 或以上、Safari 9 或以上" - }, - { - "id": "web.claim_account.team.error", - "translation": "不能找到团队 name=%v, err=%v" - }, - { - "id": "web.claim_account.title", - "translation": "认领账户" - }, - { - "id": "web.claim_account.user.error", - "translation": "不能找到用户 teamid=%v, email=%v, err=%v" - }, - { - "id": "web.create_dir.error", - "translation": "创建目录监视器失败 %v" - }, - { - "id": "web.dir_fail.error", - "translation": "目录中的监视器失败 %v" - }, - { - "id": "web.do_load_channel.error", - "translation": "获取用户配置文件时出错 id=%v 强制注销" - }, - { - "id": "web.doc.title", - "translation": "文档" - }, - { - "id": "web.email_verified.title", - "translation": "邮箱验证" - }, - { - "id": "web.find_team.title", - "translation": "查找团队" - }, - { - "id": "web.header.back", - "translation": "返回" - }, - { - "id": "web.incoming_webhook.attachment.app_error", - "translation": "最大附件长度为 {{.Max}} 字,已收到大小为 {{.Actual}}" - }, - { - "id": "web.incoming_webhook.channel.app_error", - "translation": "找不到该频道" - }, - { - "id": "web.incoming_webhook.disabled.app_error", - "translation": "传入webhooks已经被系统管理员禁用。" - }, - { - "id": "web.incoming_webhook.invalid.app_error", - "translation": "无效webhook" - }, - { - "id": "web.incoming_webhook.parse.app_error", - "translation": "无法解析传入数据" - }, - { - "id": "web.incoming_webhook.permissions.app_error", - "translation": "不合适的频道权限" - }, - { - "id": "web.incoming_webhook.text.app_error", - "translation": "未指定文本" - }, - { - "id": "web.incoming_webhook.text.length.app_error", - "translation": "最大文字长度位 {{.Max}} 字,已收到大小为 {{.Actual}}" - }, - { - "id": "web.incoming_webhook.user.app_error", - "translation": "不能找到用户" - }, - { - "id": "web.init.debug", - "translation": "初始化web routes" - }, - { - "id": "web.login.error", - "translation": "不能找到团队 name=%v, err=%v" - }, - { - "id": "web.login.login_title", - "translation": "登录" - }, - { - "id": "web.login_with_oauth.invalid_team.app_error", - "translation": "无效团队名称" - }, - { - "id": "web.parsing_templates.debug", - "translation": "解析模板 %v" - }, - { - "id": "web.parsing_templates.error", - "translation": "解析模板失败 %v" - }, - { - "id": "web.post_permalink.app_error", - "translation": "无效Post ID" - }, - { - "id": "web.reparse_templates.info", - "translation": "修改文件后重新解析模板 %v" - }, - { - "id": "web.reset_password.expired_link.app_error", - "translation": "密码重置链接已过期" - }, - { - "id": "web.reset_password.invalid_link.app_error", - "translation": "重置链接不会生效" - }, - { - "id": "web.root.home_title", - "translation": "首页" - }, - { - "id": "web.root.singup_title", - "translation": "注册" - }, - { - "id": "web.signup_team_complete.invalid_link.app_error", - "translation": "注册链接无效" - }, - { - "id": "web.signup_team_complete.link_expired.app_error", - "translation": "注册链接已过期" - }, - { - "id": "web.signup_team_complete.title", - "translation": "完成的团队注册" - }, - { - "id": "web.signup_team_confirm.title", - "translation": "注册电子邮件发送" - }, - { - "id": "web.signup_user_complete.link_expired.app_error", - "translation": "注册链接已过期" - }, - { - "id": "web.signup_user_complete.link_invalid.app_error", - "translation": "注册链接无效" - }, - { - "id": "web.signup_user_complete.no_invites.app_error", - "translation": "团队类型不允许公开邀请" - }, - { - "id": "web.signup_user_complete.title", - "translation": "完成用户注册" - }, - { - "id": "web.singup_with_oauth.invalid_team.app_error", - "translation": "无效团队名称" - }, - { - "id": "web.watcher_fail.error", - "translation": "无法添加目录给观察者 %v" - } -] diff --git a/i18n/zh_TW.json b/i18n/zh_TW.json deleted file mode 100644 index 7eeb068c3..000000000 --- a/i18n/zh_TW.json +++ /dev/null @@ -1,5978 +0,0 @@ -[ - { - "id": "April", - "translation": "四月" - }, - { - "id": "August", - "translation": "八月" - }, - { - "id": "December", - "translation": "十二月" - }, - { - "id": "February", - "translation": "二月" - }, - { - "id": "January", - "translation": "一月" - }, - { - "id": "July", - "translation": "七月" - }, - { - "id": "June", - "translation": "六月" - }, - { - "id": "March", - "translation": "三月" - }, - { - "id": "May", - "translation": "五月" - }, - { - "id": "November", - "translation": "十一月" - }, - { - "id": "October", - "translation": "十月" - }, - { - "id": "September", - "translation": "九月" - }, - { - "id": "api.admin.add_certificate.no_file.app_error", - "translation": "要求中的 'certificate' 欄位沒有檔案" - }, - { - "id": "api.admin.add_certificate.open.app_error", - "translation": "無法開啟憑證檔案" - }, - { - "id": "api.admin.add_certificate.saving.app_error", - "translation": "無法儲存憑證檔案" - }, - { - "id": "api.admin.file_read_error", - "translation": "讀取記錄檔時遇到錯誤" - }, - { - "id": "api.admin.get_brand_image.not_available.app_error", - "translation": "自訂品牌於此伺服器未設定或不支援" - }, - { - "id": "api.admin.get_brand_image.storage.app_error", - "translation": "影像儲存位置尚未設定。" - }, - { - "id": "api.admin.init.debug", - "translation": "初始化管理 API 路徑" - }, - { - "id": "api.admin.recycle_db_end.warn", - "translation": "資料庫連線回收完成" - }, - { - "id": "api.admin.recycle_db_start.warn", - "translation": "嘗試回收資料庫連線" - }, - { - "id": "api.admin.remove_certificate.delete.app_error", - "translation": "嘗試刪除憑證時發生錯誤。請確定位於 config/{{.Filename}} 的檔案存在。" - }, - { - "id": "api.admin.saml.metadata.app_error", - "translation": "在建立服務提供者的中繼資料時發生錯誤" - }, - { - "id": "api.admin.test_email.body", - "translation": "


看起來您的 Mattermost 電子郵件設定正確!" - }, - { - "id": "api.admin.test_email.missing_server", - "translation": "須填入 SMTP 伺服器" - }, - { - "id": "api.admin.test_email.reenter_password", - "translation": "SMTP 伺服器連線參數有所變更,請重新輸入 SMTP 密碼以測試連線。" - }, - { - "id": "api.admin.test_email.subject", - "translation": "Mattermost - 測試電子郵件設定" - }, - { - "id": "api.admin.upload_brand_image.array.app_error", - "translation": "要求的 'image' 欄位為空陣列" - }, - { - "id": "api.admin.upload_brand_image.no_file.app_error", - "translation": "要求的 'image' 欄位沒有檔案" - }, - { - "id": "api.admin.upload_brand_image.not_available.app_error", - "translation": "自訂品牌於此伺服器未設定或不支援" - }, - { - "id": "api.admin.upload_brand_image.parse.app_error", - "translation": "無法解析 multipart 表單" - }, - { - "id": "api.admin.upload_brand_image.storage.app_error", - "translation": "無法上傳圖片。尚未設定圖片儲存位置。" - }, - { - "id": "api.admin.upload_brand_image.too_large.app_error", - "translation": "無法上傳檔案。檔案過大。" - }, - { - "id": "api.api.init.parsing_templates.debug", - "translation": "解析伺服器樣版:%v" - }, - { - "id": "api.api.init.parsing_templates.error", - "translation": "解析伺服器樣板 %v 失敗" - }, - { - "id": "api.api.render.error", - "translation": "樣板 %v 產生時遇到錯誤 err=%v" - }, - { - "id": "api.auth.unable_to_get_user.app_error", - "translation": "無法取得使用者以檢查權限。" - }, - { - "id": "api.channel.add_member.added", - "translation": "%v 由 %v 邀請加入頻道" - }, - { - "id": "api.channel.add_member.find_channel.app_error", - "translation": "尋找頻道失敗" - }, - { - "id": "api.channel.add_member.find_user.app_error", - "translation": "尋找將被加入的使用者失敗" - }, - { - "id": "api.channel.add_member.user_adding.app_error", - "translation": "尋找新增中的使用者失敗" - }, - { - "id": "api.channel.add_user.to.channel.failed.app_error", - "translation": "新增使用者至頻道失敗" - }, - { - "id": "api.channel.add_user.to.channel.failed.deleted.app_error", - "translation": "無法將使用者新增到頻道。使用者已從團隊中移除。" - }, - { - "id": "api.channel.add_user_to_channel.deleted.app_error", - "translation": "頻道已被封存或刪除" - }, - { - "id": "api.channel.add_user_to_channel.type.app_error", - "translation": "無法加入使用者至此類型頻道" - }, - { - "id": "api.channel.can_manage_channel.private_restricted_system_admin.app_error", - "translation": "只有系統管理員能建立與管理私人群組。" - }, - { - "id": "api.channel.can_manage_channel.private_restricted_team_admin.app_error", - "translation": "只有團隊和系統管理員能建立與管理私人群組。" - }, - { - "id": "api.channel.can_manage_channel.public_restricted_system_admin.app_error", - "translation": "只有系統管理員能建立與管理公開頻道。" - }, - { - "id": "api.channel.can_manage_channel.public_restricted_team_admin.app_error", - "translation": "只有團隊和系統管理員能建立與管理公開頻道。" - }, - { - "id": "api.channel.create_channel.direct_channel.app_error", - "translation": "必須使用 createDirectChannel API 服務來建立直接訊息頻道" - }, - { - "id": "api.channel.create_channel.invalid_character.app_error", - "translation": "在非直接訊息的頻道不可使用字元'__'作為頻道名稱" - }, - { - "id": "api.channel.create_channel.max_channel_limit.app_error", - "translation": "無法為當前團隊建立超過 {{.MaxChannelsPerTeam}} 個頻道" - }, - { - "id": "api.channel.create_default_channels.off_topic", - "translation": "閒聊" - }, - { - "id": "api.channel.create_default_channels.town_square", - "translation": "公眾大廳" - }, - { - "id": "api.channel.create_direct_channel.invalid_user.app_error", - "translation": "建立直接傳訊頻道的使用者 ID 無效" - }, - { - "id": "api.channel.create_group.bad_size.app_error", - "translation": "群組訊息頻道必須含有至少三個至多八個使用者" - }, - { - "id": "api.channel.create_group.bad_user.app_error", - "translation": "有不存在的使用者" - }, - { - "id": "api.channel.delete_channel.archived", - "translation": "%v 已封存頻道。" - }, - { - "id": "api.channel.delete_channel.cannot.app_error", - "translation": "無法刪除預設的頻道 {{.Channel}}" - }, - { - "id": "api.channel.delete_channel.deleted.app_error", - "translation": "頻道已被封存或刪除" - }, - { - "id": "api.channel.delete_channel.failed_post.error", - "translation": "張貼封存訊息失敗 %v" - }, - { - "id": "api.channel.delete_channel.failed_send.app_error", - "translation": "傳送封存訊息失敗" - }, - { - "id": "api.channel.delete_channel.incoming_webhook.error", - "translation": "刪除傳入的 Webhook 遇到錯誤 id=%v" - }, - { - "id": "api.channel.delete_channel.outgoing_webhook.error", - "translation": "刪除傳出的 Webhook 遇到錯誤 id=%v" - }, - { - "id": "api.channel.delete_channel.permissions.app_error", - "translation": "您沒有適當的權限" - }, - { - "id": "api.channel.get_channel.wrong_team.app_error", - "translation": "在 team_id={{.TeamId}} 中不存在 channel_id={{.ChannelId}} 的頻道" - }, - { - "id": "api.channel.get_channel_counts.app_error", - "translation": "無法從資料庫取得頻道數量" - }, - { - "id": "api.channel.get_channel_extra_info.deleted.app_error", - "translation": "頻道已被封存或刪除" - }, - { - "id": "api.channel.get_channel_extra_info.member_limit.app_error", - "translation": "解析成員限制失敗" - }, - { - "id": "api.channel.get_channels.error", - "translation": "取得使用者 id=%v 資訊時遇到錯誤,強制登出" - }, - { - "id": "api.channel.init.debug", - "translation": "正在初始化頻道 API 路徑" - }, - { - "id": "api.channel.join_channel.permissions.app_error", - "translation": "您沒有適當的權限" - }, - { - "id": "api.channel.join_channel.post_and_forget", - "translation": "%v 加入頻道。" - }, - { - "id": "api.channel.leave.default.app_error", - "translation": "無法退出預設的頻道 {{.Channel}}" - }, - { - "id": "api.channel.leave.direct.app_error", - "translation": "無法退出直接訊息頻道" - }, - { - "id": "api.channel.leave.last_member.app_error", - "translation": "您是最後一位成員,請移除私人群組而不是退出。" - }, - { - "id": "api.channel.leave.left", - "translation": "%v 退出頻道。" - }, - { - "id": "api.channel.post_update_channel_displayname_message_and_forget.create_post.error", - "translation": "發送顯示名稱更新訊息時失敗" - }, - { - "id": "api.channel.post_update_channel_displayname_message_and_forget.retrieve_user.error", - "translation": "在更新頻道顯示名稱時無法取得使用者資訊" - }, - { - "id": "api.channel.post_update_channel_displayname_message_and_forget.updated_from", - "translation": "%s 將原頻道標題由 %s 改為 %s" - }, - { - "id": "api.channel.post_update_channel_header_message_and_forget.post.error", - "translation": "發送更新頻道標題訊息時失敗" - }, - { - "id": "api.channel.post_update_channel_header_message_and_forget.removed", - "translation": "%s 已移除了頻道標題 (原為: %s)" - }, - { - "id": "api.channel.post_update_channel_header_message_and_forget.retrieve_user.error", - "translation": "在更新頻道標題時無法取得使用者資訊" - }, - { - "id": "api.channel.post_update_channel_header_message_and_forget.updated_from", - "translation": "%s 將原頻道標題由 %s 改為 %s" - }, - { - "id": "api.channel.post_update_channel_header_message_and_forget.updated_to", - "translation": "%s 已更新頻道標題為:%s" - }, - { - "id": "api.channel.post_user_add_remove_message_and_forget.error", - "translation": "發送加入/退出 訊息失敗" - }, - { - "id": "api.channel.remove.default.app_error", - "translation": "無法將使用者從預設的頻道移除 {{.Channel}}" - }, - { - "id": "api.channel.remove_member.permissions.app_error", - "translation": "您沒有適當的權限 " - }, - { - "id": "api.channel.remove_member.removed", - "translation": "%v 已從頻道中移除。" - }, - { - "id": "api.channel.remove_member.unable.app_error", - "translation": "無法刪除使用者。" - }, - { - "id": "api.channel.remove_member.user.app_error", - "translation": "找不到要移除的使用者" - }, - { - "id": "api.channel.remove_user_from_channel.deleted.app_error", - "translation": "頻道已被封存或刪除" - }, - { - "id": "api.channel.update_channel.deleted.app_error", - "translation": "頻道已被封存或刪除" - }, - { - "id": "api.channel.update_channel.permission.app_error", - "translation": "您沒有適當的權限" - }, - { - "id": "api.channel.update_channel.tried.app_error", - "translation": "已對預設頻道 {{.Channel}} 嘗試執行無效的更新" - }, - { - "id": "api.channel.update_last_viewed_at.get_unread_count_for_channel.errord", - "translation": "無法計算未讀訊息數量:user_id=%v, channel_id=%v, err=%v" - }, - { - "id": "api.command.admin_only.app_error", - "translation": "整合功能被限定為只有管理員可以設定。" - }, - { - "id": "api.command.delete.app_error", - "translation": "沒有適當的權限刪除命令" - }, - { - "id": "api.command.disabled.app_error", - "translation": "命令已被系統管理員停用。" - }, - { - "id": "api.command.duplicate_trigger.app_error", - "translation": "此觸發關鍵字已被使用。請選擇另外的關鍵字。" - }, - { - "id": "api.command.execute_command.debug", - "translation": "執行 cmd=%v userId=%v" - }, - { - "id": "api.command.execute_command.failed.app_error", - "translation": "附帶觸發器 '{{.Trigger}}' 的命令執行失敗" - }, - { - "id": "api.command.execute_command.failed_empty.app_error", - "translation": "附帶觸發器 '{{.Trigger}}' 的命令回傳了空回應" - }, - { - "id": "api.command.execute_command.failed_resp.app_error", - "translation": "附帶觸發器 '{{.Trigger}}' 的命令回傳了 {{.Status}}" - }, - { - "id": "api.command.execute_command.not_found.app_error", - "translation": "找不到附帶觸發器 '{{.Trigger}}' 的命令" - }, - { - "id": "api.command.execute_command.save.app_error", - "translation": "儲存命令回傳值至頻道時發生錯誤" - }, - { - "id": "api.command.execute_command.start.app_error", - "translation": "找不到附帶觸發器的命令" - }, - { - "id": "api.command.init.debug", - "translation": "正在初始化命令 API 路徑" - }, - { - "id": "api.command.invite_people.desc", - "translation": "送個邀請函給您的 Mattermost 團隊" - }, - { - "id": "api.command.invite_people.email_off", - "translation": "電子郵件還沒設定好,沒有任何邀請被送出" - }, - { - "id": "api.command.invite_people.fail", - "translation": "寄送邀請函時遇到錯誤" - }, - { - "id": "api.command.invite_people.hint", - "translation": "[name@domain.com ...]" - }, - { - "id": "api.command.invite_people.name", - "translation": "invite_people" - }, - { - "id": "api.command.invite_people.no_email", - "translation": "請輸入一個或多個有效的電子郵件地址" - }, - { - "id": "api.command.invite_people.sent", - "translation": "邀請函已送出" - }, - { - "id": "api.command.regen.app_error", - "translation": "沒有適當的權限重新產生命令 Token" - }, - { - "id": "api.command.team_mismatch.app_error", - "translation": "無法更新不同團隊的指令" - }, - { - "id": "api.command.update.app_error", - "translation": "沒有適當的權限刪除命令" - }, - { - "id": "api.command_away.desc", - "translation": "將狀態設定為「離開」" - }, - { - "id": "api.command_away.name", - "translation": "離開" - }, - { - "id": "api.command_away.success", - "translation": "現在狀態為「離開」" - }, - { - "id": "api.command_collapse.desc", - "translation": "開啟圖片預覽的自動折疊功能" - }, - { - "id": "api.command_collapse.name", - "translation": "折疊" - }, - { - "id": "api.command_collapse.success", - "translation": "圖片連結現在預設為折疊起來" - }, - { - "id": "api.command_echo.create.app_error", - "translation": "無法建立 /echo 訊息 err=%v" - }, - { - "id": "api.command_echo.delay.app_error", - "translation": "延遲必須在10000秒以內" - }, - { - "id": "api.command_echo.desc", - "translation": "從您的帳號回應文字" - }, - { - "id": "api.command_echo.high_volume.app_error", - "translation": "過量的回應要求, 無法處理" - }, - { - "id": "api.command_echo.hint", - "translation": "'訊息' [延遲秒數]" - }, - { - "id": "api.command_echo.message.app_error", - "translation": "使用 /echo 命令必須提供訊息。" - }, - { - "id": "api.command_echo.name", - "translation": "回應" - }, - { - "id": "api.command_expand.desc", - "translation": "關閉圖片預覽的自動折疊功能" - }, - { - "id": "api.command_expand.name", - "translation": "展開" - }, - { - "id": "api.command_expand.success", - "translation": "圖片連結現在預設為展開" - }, - { - "id": "api.command_expand_collapse.fail.app_error", - "translation": "展開預覽時發生錯誤" - }, - { - "id": "api.command_join.desc", - "translation": "加入公開頻道" - }, - { - "id": "api.command_join.fail.app_error", - "translation": "加入頻道時發生錯誤。" - }, - { - "id": "api.command_join.hint", - "translation": "[頻道名稱]" - }, - { - "id": "api.command_join.list.app_error", - "translation": "列表頻道時發生錯誤。" - }, - { - "id": "api.command_join.missing.app_error", - "translation": "找不到頻道" - }, - { - "id": "api.command_join.name", - "translation": "加入" - }, - { - "id": "api.command_join.success", - "translation": "已加入頻道。" - }, - { - "id": "api.command_logout.desc", - "translation": "登出 Mattermost" - }, - { - "id": "api.command_logout.fail_message", - "translation": "登出失敗" - }, - { - "id": "api.command_logout.name", - "translation": "登出" - }, - { - "id": "api.command_me.desc", - "translation": "執行動作" - }, - { - "id": "api.command_me.hint", - "translation": "[訊息]" - }, - { - "id": "api.command_me.name", - "translation": "我" - }, - { - "id": "api.command_msg.desc", - "translation": "直接傳訊給使用者" - }, - { - "id": "api.command_msg.dm_fail.app_error", - "translation": "建立直接傳訊時遇到錯誤。" - }, - { - "id": "api.command_msg.fail.app_error", - "translation": "傳訊使用者時遇到錯誤。" - }, - { - "id": "api.command_msg.hint", - "translation": "@[使用者帳號] '訊息'" - }, - { - "id": "api.command_msg.list.app_error", - "translation": "列表使用者時遇到錯誤。" - }, - { - "id": "api.command_msg.missing.app_error", - "translation": "找不到使用者" - }, - { - "id": "api.command_msg.name", - "translation": "訊息" - }, - { - "id": "api.command_msg.success", - "translation": "已傳訊給使用者。" - }, - { - "id": "api.command_offline.desc", - "translation": "將狀態設定為「離線」" - }, - { - "id": "api.command_offline.name", - "translation": "離線" - }, - { - "id": "api.command_offline.success", - "translation": "現在狀態為「離線」" - }, - { - "id": "api.command_online.desc", - "translation": "將狀態設定為「上線」" - }, - { - "id": "api.command_online.name", - "translation": "上線" - }, - { - "id": "api.command_online.success", - "translation": "現在狀態為「上線」" - }, - { - "id": "api.command_shortcuts.browser.channel_next", - "translation": "{{.ChannelNextCmd}}:紀錄的下一個頻道\n" - }, - { - "id": "api.command_shortcuts.browser.channel_next.cmd", - "translation": "ALT+RIGHT" - }, - { - "id": "api.command_shortcuts.browser.channel_next.cmd_mac", - "translation": "CMD+]" - }, - { - "id": "api.command_shortcuts.browser.channel_prev", - "translation": "{{.ChannelPrevCmd}}:紀錄的前一個頻道\n" - }, - { - "id": "api.command_shortcuts.browser.channel_prev.cmd", - "translation": "ALT+LEFT" - }, - { - "id": "api.command_shortcuts.browser.channel_prev.cmd_mac", - "translation": "CMD+[" - }, - { - "id": "api.command_shortcuts.browser.font_decrease", - "translation": "{{.CmdOrCtrl}}+MINUS:減少字體尺寸(縮小)\n" - }, - { - "id": "api.command_shortcuts.browser.font_increase", - "translation": "{{.CmdOrCtrl}}+PLUS:增加字體尺寸(放大)\n" - }, - { - "id": "api.command_shortcuts.browser.header", - "translation": "#### 瀏覽器內建命令\n\n" - }, - { - "id": "api.command_shortcuts.browser.highlight_next", - "translation": "SHIFT+DOWN (在輸入欄):標記現在到下一行同位置之間的文字\n" - }, - { - "id": "api.command_shortcuts.browser.highlight_prev", - "translation": "SHIFT+UP (在輸入欄):標記現在到上一行同位置之間的文字\n" - }, - { - "id": "api.command_shortcuts.browser.newline", - "translation": "SHIFT+ENTER (在輸入欄):新增一行\n" - }, - { - "id": "api.command_shortcuts.cmd", - "translation": "CMD" - }, - { - "id": "api.command_shortcuts.ctrl", - "translation": "CTRL" - }, - { - "id": "api.command_shortcuts.desc", - "translation": "顯示鍵盤快捷鍵列表" - }, - { - "id": "api.command_shortcuts.files.header", - "translation": "#### 檔案\n\n" - }, - { - "id": "api.command_shortcuts.files.upload", - "translation": "{{.CmdOrCtrl}}+U:上傳檔案\n\n" - }, - { - "id": "api.command_shortcuts.header", - "translation": "### 鍵盤快捷鍵\n\n" - }, - { - "id": "api.command_shortcuts.msgs.comp_channel", - "translation": "~[文字]+TAB:自動完成以[文字]起始的頻道\n" - }, - { - "id": "api.command_shortcuts.msgs.comp_emoji", - "translation": ":[文字]+TAB:自動完成以[文字]起始的顏文字\n\n" - }, - { - "id": "api.command_shortcuts.msgs.comp_username", - "translation": "@[文字]+TAB:自動完成以[文字]起始的@使用者帳號\n" - }, - { - "id": "api.command_shortcuts.msgs.edit", - "translation": "UP (在空的輸入欄):編輯當前頻道您的上一個訊息\n" - }, - { - "id": "api.command_shortcuts.msgs.header", - "translation": "#### 訊息\n\n" - }, - { - "id": "api.command_shortcuts.msgs.mark_as_read", - "translation": "ESC:將當前頻道所有訊息設為已讀\n" - }, - { - "id": "api.command_shortcuts.msgs.reprint_next", - "translation": "{{.CmdOrCtrl}}+DOWN (在空的輸入欄):顯示下一個您輸入的訊息或是斜線命令\n" - }, - { - "id": "api.command_shortcuts.msgs.reprint_prev", - "translation": "{{.CmdOrCtrl}}+UP (在空的輸入欄):顯示上一個您輸入的訊息或是斜線命令\n" - }, - { - "id": "api.command_shortcuts.name", - "translation": "快捷鍵" - }, - { - "id": "api.command_shortcuts.nav.header", - "translation": "#### 瀏覽\n\n" - }, - { - "id": "api.command_shortcuts.nav.next", - "translation": "ALT+DOWN:側邊欄裡面下一個頻道或直接訊息\n" - }, - { - "id": "api.command_shortcuts.nav.prev", - "translation": "ALT+UP:側邊欄裡面上一個頻道或直接訊息\n" - }, - { - "id": "api.command_shortcuts.nav.recent_mentions", - "translation": "{{.CmdOrCtrl}}+SHIFT+M:開啟最近提及您的訊息\n\n" - }, - { - "id": "api.command_shortcuts.nav.settings", - "translation": "{{.CmdOrCtrl}}+SHIFT+A:開啟帳號設定\n" - }, - { - "id": "api.command_shortcuts.nav.switcher", - "translation": "{{.CmdOrCtrl}}+K:開啟快速切換頻道對話框\n" - }, - { - "id": "api.command_shortcuts.nav.unread_next", - "translation": "ALT+SHIFT+DOWN:側邊欄裡面下一個有未讀訊息的頻道或直接訊息\n" - }, - { - "id": "api.command_shortcuts.nav.unread_prev", - "translation": "ALT+SHIFT+UP:側邊欄裡面上一個有未讀訊息的頻道或直接訊息\n" - }, - { - "id": "api.command_shrug.desc", - "translation": "把 ¯\\_(ツ)_/¯ 加到訊息內" - }, - { - "id": "api.command_shrug.hint", - "translation": "[訊息]" - }, - { - "id": "api.command_shrug.name", - "translation": "聳肩" - }, - { - "id": "api.context.404.app_error", - "translation": "抱歉,無法找到頁面。" - }, - { - "id": "api.context.invalid_body_param.app_error", - "translation": "要求內容中缺少 {{.Name}} 或是該值為無效" - }, - { - "id": "api.context.invalid_param.app_error", - "translation": "無效的 {{.Name}} 參數" - }, - { - "id": "api.context.invalid_session.error", - "translation": "無效工作階段 err=%v" - }, - { - "id": "api.context.invalid_team_url.debug", - "translation": "團隊網址在不正確的時機被存取。團隊網址不應於在 API 函式或與團隊無關的用途中被使用" - }, - { - "id": "api.context.invalid_token.error", - "translation": "無效工作階段 token={{.Token}}, err={{.Error}}" - }, - { - "id": "api.context.invalid_url_param.app_error", - "translation": "要求網址中缺少 {{.Name}} 參數或是該值為無效 " - }, - { - "id": "api.context.invalidate_all_caches", - "translation": "清除所有的快取" - }, - { - "id": "api.context.last_activity_at.error", - "translation": "更新 user_id=%v 與 session_id=%v 的 LastActivityAt 失敗, 錯誤=%v" - }, - { - "id": "api.context.log.error", - "translation": "%v:%v code=%v rid=%v uid=%v ip=%v %v [細節: %v]" - }, - { - "id": "api.context.mfa_required.app_error", - "translation": "此伺服器要求多重要素驗證。" - }, - { - "id": "api.context.missing_teamid.app_error", - "translation": "找不到團隊 ID" - }, - { - "id": "api.context.permissions.app_error", - "translation": "您沒有適當的權限" - }, - { - "id": "api.context.session_expired.app_error", - "translation": "無效或逾期的工作階段,請重新登入。" - }, - { - "id": "api.context.system_permissions.app_error", - "translation": "您沒有適當的權限 (系統)" - }, - { - "id": "api.context.token_provided.app_error", - "translation": "工作階段並非使用 OAuth 協定,查詢字串中卻出現了 Token" - }, - { - "id": "api.context.unknown.app_error", - "translation": "發生未知的錯誤。請聯繫支援單位。" - }, - { - "id": "api.email_batching.add_notification_email_to_batch.channel_full.app_error", - "translation": "批次郵件的接收頻道已滿。請增加 EmailBatchingBufferSize。" - }, - { - "id": "api.email_batching.add_notification_email_to_batch.disabled.app_error", - "translation": "批次郵件已被系統管理員停用" - }, - { - "id": "api.email_batching.check_pending_emails.finished_running", - "translation": "完成批次郵件處理。尚有 %v 使用者的通知等待處理。" - }, - { - "id": "api.email_batching.check_pending_emails.status.app_error", - "translation": "找不到批次郵件通知收件人的狀態" - }, - { - "id": "api.email_batching.render_batched_post.channel.app_error", - "translation": "找不到批次郵件通知文章的頻道" - }, - { - "id": "api.email_batching.render_batched_post.date", - "translation": "{{.Month}} {{.Day}},{{.Hour}}:{{.Minute}} {{.Timezone}}" - }, - { - "id": "api.email_batching.render_batched_post.direct_message", - "translation": "直接訊息" - }, - { - "id": "api.email_batching.render_batched_post.go_to_post", - "translation": "前往發文" - }, - { - "id": "api.email_batching.render_batched_post.group_message", - "translation": "群組訊息" - }, - { - "id": "api.email_batching.render_batched_post.sender.app_error", - "translation": "找不到批次郵件通知文章的發文者" - }, - { - "id": "api.email_batching.send_batched_email_notification.body_text", - "translation": { - "one": "您有 1 筆新的訊息。您有 {{.Count}} 筆新的訊息。", - "other": "" - } - }, - { - "id": "api.email_batching.send_batched_email_notification.preferences.app_error", - "translation": "找不到批次郵件通知收件人的顯示偏好" - }, - { - "id": "api.email_batching.send_batched_email_notification.send.app_error", - "translation": "無法寄送批次通知郵件給 %v: %v" - }, - { - "id": "api.email_batching.send_batched_email_notification.subject", - "translation": { - "one": "[{{.SiteName}}] {{.Year}} {{.Month}} {{.Day}} 的新通知[{{.SiteName}}] {{.Year}} {{.Month}} {{.Day}} 的新通知", - "other": "" - } - }, - { - "id": "api.email_batching.send_batched_email_notification.user.app_error", - "translation": "找不到批次郵件通知的收件人" - }, - { - "id": "api.email_batching.start.starting", - "translation": "開始批次郵件處理。每 %v 秒檢查未處理郵件。" - }, - { - "id": "api.emoji.create.duplicate.app_error", - "translation": "無法建立繪文字,已存在相同名稱的繪文字。" - }, - { - "id": "api.emoji.create.parse.app_error", - "translation": "無法新增繪文字。無法理解要求。" - }, - { - "id": "api.emoji.create.permissions.app_error", - "translation": "沒有適當的權限建立繪文字。" - }, - { - "id": "api.emoji.create.too_large.app_error", - "translation": "無法建立繪文字。圖片必須小於1 MB。" - }, - { - "id": "api.emoji.delete.delete_reactions.app_error", - "translation": "刪除名為 %v 的繪文字時無法刪除互動" - }, - { - "id": "api.emoji.delete.permissions.app_error", - "translation": "沒有適當的權限刪除繪文字。" - }, - { - "id": "api.emoji.disabled.app_error", - "translation": "自訂繪文字已被系統管理員停用。" - }, - { - "id": "api.emoji.get_image.decode.app_error", - "translation": "無法解碼繪文字圖像檔案。" - }, - { - "id": "api.emoji.get_image.read.app_error", - "translation": "無法讀取繪文字圖像檔案。" - }, - { - "id": "api.emoji.init.debug", - "translation": "正在初始化繪文字 API 路徑" - }, - { - "id": "api.emoji.storage.app_error", - "translation": "檔案儲存位置設定不正確。請設定為 S3 或是本地儲存。" - }, - { - "id": "api.emoji.upload.image.app_error", - "translation": "無法新增繪文字。檔案必須是PNG、JPEG或GIF。" - }, - { - "id": "api.emoji.upload.large_image.decode_error", - "translation": "無法建立繪文字。嘗試解碼圖片時發生錯誤。" - }, - { - "id": "api.emoji.upload.large_image.encode_error", - "translation": "無法建立繪文字。嘗試編碼圖片時發生錯誤。" - }, - { - "id": "api.emoji.upload.large_image.gif_decode_error", - "translation": "無法建立繪文字。嘗試解碼 gif 圖片時發生錯誤。" - }, - { - "id": "api.emoji.upload.large_image.gif_encode_error", - "translation": "無法建立繪文字。嘗試編碼 gif 圖片時發生錯誤。" - }, - { - "id": "api.file.get_file.public_disabled.app_error", - "translation": "公開連結已被系統管理員停用" - }, - { - "id": "api.file.get_file.public_invalid.app_error", - "translation": "此公開連結不是有效連結" - }, - { - "id": "api.file.get_file_preview.no_thumbnail.app_error", - "translation": "檔案沒有預覽圖像" - }, - { - "id": "api.file.get_file_thumbnail.no_thumbnail.app_error", - "translation": "檔案沒有縮圖" - }, - { - "id": "api.file.get_info_for_request.no_post.app_error", - "translation": "無法取得檔案資料。檔案必須附加在可以被當前使用者讀取的發文。" - }, - { - "id": "api.file.get_info_for_request.storage.app_error", - "translation": "無法取得檔案資料。尚未設定圖片儲存位置。" - }, - { - "id": "api.file.get_public_file_old.storage.app_error", - "translation": "無法取得檔案。尚未設定圖片儲存位置。" - }, - { - "id": "api.file.get_public_file_old.storage.app_error", - "translation": "無法取得檔案。尚未設定圖片儲存位置。" - }, - { - "id": "api.file.get_public_link.disabled.app_error", - "translation": "公開連結已停用" - }, - { - "id": "api.file.get_public_link.no_post.app_error", - "translation": "無法取得檔案公開連結。檔案必須附加在可以被當前使用者讀取的發文。" - }, - { - "id": "api.file.handle_images_forget.decode.error", - "translation": "無法解碼圖片:err=%v" - }, - { - "id": "api.file.handle_images_forget.encode_jpeg.error", - "translation": "無法將圖片編碼成 JPEG:path=%v err=%v" - }, - { - "id": "api.file.handle_images_forget.encode_preview.error", - "translation": "無法將圖片編碼成預覽 JPEG:path=%v err=%v" - }, - { - "id": "api.file.handle_images_forget.upload_preview.error", - "translation": "無法上傳預覽檔:path=%v err=%v" - }, - { - "id": "api.file.handle_images_forget.upload_thumb.error", - "translation": "無法上傳縮圖:path=%v err=%v" - }, - { - "id": "api.file.init.debug", - "translation": "正在初始化檔案 API 路徑" - }, - { - "id": "api.file.migrate_filenames_to_file_infos.channel.app_error", - "translation": "將文章轉移成使用 FileInfos 時無法取得頻道:post_id=%v, channel_id=%v, err=%v" - }, - { - "id": "api.file.migrate_filenames_to_file_infos.file_not_found.warn", - "translation": "將文章轉移成使用 FileInfos 時無法搜尋到檔案:post_id=%v, filename=%v, path=%v, err=%v" - }, - { - "id": "api.file.migrate_filenames_to_file_infos.get_file_infos_again.warn", - "translation": "轉移成使用 FileInfos 後無法取得文章的 FileInfos:post_id=%v, err=%v" - }, - { - "id": "api.file.migrate_filenames_to_file_infos.get_post_again.warn", - "translation": "將文章轉移成使用 FileInfos 時無法取得文章:post_id=%v, err=%v" - }, - { - "id": "api.file.migrate_filenames_to_file_infos.info.app_error", - "translation": "將文章轉移成使用 FileInfos 時無法解碼檔案資料:post_id=%v, filename=%v, err=%v" - }, - { - "id": "api.file.migrate_filenames_to_file_infos.migrating_post.debug", - "translation": "轉移文章為使用 FileInfos:post_id=%v, err=%v" - }, - { - "id": "api.file.migrate_filenames_to_file_infos.mismatched_filename.warn", - "translation": "將文章轉移成使用 FileInfos 時發現不尋常的檔案名稱:post_id=%v, channel_id=%v, user_id=%v, filename=%v" - }, - { - "id": "api.file.migrate_filenames_to_file_infos.no_filenames.warn", - "translation": "將文章轉移成使用 FileInfos 時發現欄位 Filenames 為空:post_id=%v" - }, - { - "id": "api.file.migrate_filenames_to_file_infos.not_migrating_post.debug", - "translation": "文章以轉移至使用 FileInfos:post_id=%v, err=%v" - }, - { - "id": "api.file.migrate_filenames_to_file_infos.save_file_info.warn", - "translation": "將文章轉移成使用 FileInfos 時無法儲存檔案:post_id=%v, file_id=%v, path=%v, err=%v" - }, - { - "id": "api.file.migrate_filenames_to_file_infos.save_post.warn", - "translation": "將文章轉移成使用 FileInfos 時無法儲存檔案:post_id=%v, file_id=%v, filename=%v, err=%v" - }, - { - "id": "api.file.migrate_filenames_to_file_infos.team_id.app_error", - "translation": "無法尋找團隊給 FileInfos 使用:post_id=%v, filenames=%v" - }, - { - "id": "api.file.migrate_filenames_to_file_infos.teams.app_error", - "translation": "將文章轉移成使用 FileInfos 時無法取得團隊:post_id=%v, err=%v" - }, - { - "id": "api.file.migrate_filenames_to_file_infos.unexpected_filename.error", - "translation": "將文章轉移成使用 FileInfos 時無法解碼檔案名稱:post_id=%v, filename=%v" - }, - { - "id": "api.file.move_file.configured.app_error", - "translation": "檔案儲存位置設定不正確。請設定為 S3 或是本地儲存。" - }, - { - "id": "api.file.move_file.delete_from_s3.app_error", - "translation": "無法從 S3 刪除檔案。" - }, - { - "id": "api.file.move_file.get_from_s3.app_error", - "translation": "無法從 S3 取得檔案。" - }, - { - "id": "api.file.move_file.rename.app_error", - "translation": "無法移動本地端的檔案。" - }, - { - "id": "api.file.open_file_write_stream.configured.app_error", - "translation": "檔案儲存位置設定不正確。請設定為 S3 或是本地儲存。" - }, - { - "id": "api.file.open_file_write_stream.creating_dir.app_error", - "translation": "建立新檔案的目錄時遇到錯誤" - }, - { - "id": "api.file.open_file_write_stream.local_server.app_error", - "translation": "寫入本地儲存時遇到錯誤" - }, - { - "id": "api.file.open_file_write_stream.s3.app_error", - "translation": "不支援 S3。" - }, - { - "id": "api.file.read_file.configured.app_error", - "translation": "檔案儲存位置設定不正確。請設定為 S3 或是本地儲存。" - }, - { - "id": "api.file.read_file.get.app_error", - "translation": "無法從 S3 取得檔案" - }, - { - "id": "api.file.read_file.reading_local.app_error", - "translation": "從本地儲存讀取時遇到錯誤" - }, - { - "id": "api.file.upload_file.bad_parse.app_error", - "translation": "無法上傳檔案。無法解析標頭。" - }, - { - "id": "api.file.upload_file.large_image.app_error", - "translation": "無法上傳超過最大尺寸的檔案:{{.Filename}}" - }, - { - "id": "api.file.upload_file.storage.app_error", - "translation": "無法上傳檔案。尚未設定圖片儲存位置。" - }, - { - "id": "api.file.upload_file.too_large.app_error", - "translation": "檔案太大無法上傳。" - }, - { - "id": "api.file.write_file.configured.app_error", - "translation": "檔案儲存位置設定不正確。請設定為 S3 或是本地儲存。" - }, - { - "id": "api.file.write_file.s3.app_error", - "translation": "寫入 S3 時遇到錯誤" - }, - { - "id": "api.file.write_file_locally.create_dir.app_error", - "translation": "建立新檔案的目錄時遇到錯誤" - }, - { - "id": "api.file.write_file_locally.writing.app_error", - "translation": "寫入本地儲存時遇到錯誤" - }, - { - "id": "api.general.init.debug", - "translation": "正在初始化一般 API 路徑" - }, - { - "id": "api.import.import_post.attach_files.error", - "translation": "附加檔案於文章時錯誤:postId=%v, fileIds=%v, message=%v" - }, - { - "id": "api.import.import_post.saving.debug", - "translation": "儲存訊息時遇到錯誤。user=%v, message=%v" - }, - { - "id": "api.import.import_user.join_team.error", - "translation": "匯入過程於加入團隊時失敗 err=%v" - }, - { - "id": "api.import.import_user.joining_default.error", - "translation": "加入預設頻道時遇到錯誤 user_id=%s, team_id=%s, err=%v" - }, - { - "id": "api.import.import_user.saving.error", - "translation": "儲存使用者時遇到錯誤 err=%v" - }, - { - "id": "api.import.import_user.set_email.error", - "translation": "設定電子郵件為已驗證時失敗 err=%v" - }, - { - "id": "api.incoming_webhook.disabled.app_errror", - "translation": "傳入的 Webhook 已被系統管理員停用。" - }, - { - "id": "api.license.add_license.array.app_error", - "translation": "要求中的 'license' 欄位為空陣列" - }, - { - "id": "api.license.add_license.expired.app_error", - "translation": "授權不是已過期就是還沒啟用。" - }, - { - "id": "api.license.add_license.invalid.app_error", - "translation": "無效的授權檔案。" - }, - { - "id": "api.license.add_license.invalid_count.app_error", - "translation": "無法計算使用者總人數。" - }, - { - "id": "api.license.add_license.no_file.app_error", - "translation": "要求中的 'license' 欄位沒有檔案" - }, - { - "id": "api.license.add_license.open.app_error", - "translation": "無法開啟授權檔案" - }, - { - "id": "api.license.add_license.save.app_error", - "translation": "授權沒有正確的儲存。" - }, - { - "id": "api.license.add_license.save_active.app_error", - "translation": "啟用授權 ID 無法正確儲存。" - }, - { - "id": "api.license.add_license.unique_users.app_error", - "translation": "此授權只支援 {{.Users}} 位使用者,而您的系統有 {{.Count}} 位使用者。使用者人數是根據電子郵件位址計算。使用者總數量在 站台報告 -> 顯示統計。" - }, - { - "id": "api.license.init.debug", - "translation": "正在初始化授權 API 路徑" - }, - { - "id": "api.license.remove_license.remove.app_error", - "translation": "授權沒有正確的移除。" - }, - { - "id": "api.oauth.allow_oauth.bad_client.app_error", - "translation": "invalid_request: 錯誤的 client_id" - }, - { - "id": "api.oauth.allow_oauth.bad_redirect.app_error", - "translation": "invalid_request: 遺漏或錯誤的 redirect_uri" - }, - { - "id": "api.oauth.allow_oauth.bad_response.app_error", - "translation": "invalid_request: 錯誤的 response_type" - }, - { - "id": "api.oauth.allow_oauth.database.app_error", - "translation": "server_error: 存取資料庫時發生錯誤" - }, - { - "id": "api.oauth.allow_oauth.redirect_callback.app_error", - "translation": "invalid_reques:提供的 redirect_uri 對不上已註冊的 callback_url" - }, - { - "id": "api.oauth.allow_oauth.turn_off.app_error", - "translation": "系統管理員已關閉 OAuth2 服務提供者。" - }, - { - "id": "api.oauth.authorize_oauth.disabled.app_error", - "translation": "系統管理員已關閉 OAuth2 服務提供者。" - }, - { - "id": "api.oauth.authorize_oauth.missing.app_error", - "translation": "response_type、client_id 或 redirect_uri 中缺少一個以上" - }, - { - "id": "api.oauth.complete_oauth.missing_code.app_error", - "translation": "服務提供者 {{.service}} 在重導向網址中沒有提供授權碼。\n\n若使用 [Google Apps](https://docs.mattermost.com/deployment/sso-google.html),請確定管理員有啟用 Google+ API。\n\n若使用 [Office 365](https://docs.mattermost.com/deployment/sso-office.html),請確定微軟雲端服務的組織管理員有啟用 Mattermost 應用程式。\n\n若使用 [GitLab](https://docs.mattermost.com/deployment/sso-gitlab.html),請確定有根據設定指示完成設定。\n\n如果重新確認過上面的文件且還是有設定上的問題,請至[障礙排除論壇](https://forum.mattermost.org/c/general/trouble-shoot)發文,我們很樂意在那邊為您排除設定上的問題。" - }, - { - "id": "api.oauth.delete.permissions.app_error", - "translation": "權限不足以刪除 OAuth2 應用程式" - }, - { - "id": "api.oauth.get_access_token.bad_client_id.app_error", - "translation": "invalid_request:錯誤的 client_id" - }, - { - "id": "api.oauth.get_access_token.bad_client_secret.app_error", - "translation": "invalid_request:缺少 client_secret" - }, - { - "id": "api.oauth.get_access_token.bad_grant.app_error", - "translation": "invalid_request:錯誤的 grant_type" - }, - { - "id": "api.oauth.get_access_token.credentials.app_error", - "translation": "invalid_client:無效的用戶端認證" - }, - { - "id": "api.oauth.get_access_token.disabled.app_error", - "translation": "系統管理員已關閉 OAuth2 服務提供者。" - }, - { - "id": "api.oauth.get_access_token.expired_code.app_error", - "translation": "invalid_grant:無效或是過期的授權碼" - }, - { - "id": "api.oauth.get_access_token.internal.app_error", - "translation": "server_error:存取資料庫時遇到伺服器內部錯誤" - }, - { - "id": "api.oauth.get_access_token.internal_saving.app_error", - "translation": "server_error:儲存存取 Token 至資料庫時遇到伺服器內部錯誤" - }, - { - "id": "api.oauth.get_access_token.internal_session.app_error", - "translation": "server_error:儲存工作階段至資料庫時遇到伺服器內部錯誤" - }, - { - "id": "api.oauth.get_access_token.internal_user.app_error", - "translation": "server_error:從資料庫提取使用者資料時遇到伺服器內部錯誤" - }, - { - "id": "api.oauth.get_access_token.missing_code.app_error", - "translation": "invalid_request:缺少代碼" - }, - { - "id": "api.oauth.get_access_token.missing_refresh_token.app_error", - "translation": "invalid_request:缺少 refresh_token" - }, - { - "id": "api.oauth.get_access_token.redirect_uri.app_error", - "translation": "invalid_request:提供的 redirect_uri 無法對應授權碼 redirect_uri" - }, - { - "id": "api.oauth.get_access_token.refresh_token.app_error", - "translation": "invalid_grant:無效的 refresh_token" - }, - { - "id": "api.oauth.get_auth_data.find.error", - "translation": "找不到 code=%s 的認證碼" - }, - { - "id": "api.oauth.init.debug", - "translation": "正在初始化 OAuth API 路徑" - }, - { - "id": "api.oauth.regenerate_secret.app_error", - "translation": "權限不足以重新產生 OAuth2 應用程式密碼" - }, - { - "id": "api.oauth.register_oauth_app.turn_off.app_error", - "translation": "系統管理員已關閉 OAuth2 服務提供者。" - }, - { - "id": "api.oauth.revoke_access_token.del_session.app_error", - "translation": "從資料庫刪除工作階段時遇到錯誤" - }, - { - "id": "api.oauth.revoke_access_token.del_token.app_error", - "translation": "從資料庫刪除存取 Token 時遇到錯誤" - }, - { - "id": "api.oauth.revoke_access_token.get.app_error", - "translation": "刪除前從資料庫取得存取 Token 時遇到錯誤" - }, - { - "id": "api.oauth.singup_with_oauth.disabled.app_error", - "translation": "使用者註冊已被停用。" - }, - { - "id": "api.oauth.singup_with_oauth.expired_link.app_error", - "translation": "註冊連結已過期" - }, - { - "id": "api.oauth.singup_with_oauth.invalid_link.app_error", - "translation": "此註冊連結不是有效連結" - }, - { - "id": "api.post.check_for_out_of_channel_mentions.message.multiple", - "translation": "無法傳送通知給{{.Usernames}} 與 {{.LastUsername}},因為他們並未加入此頻道。" - }, - { - "id": "api.post.check_for_out_of_channel_mentions.message.one", - "translation": "無法傳送通知給未加入此頻道的{{.Username}}。" - }, - { - "id": "api.post.create_post.attach_files.error", - "translation": "附加檔案於文章時遭遇錯誤:post_id=%s, user_id=%s, file_ids=%v, err=%v" - }, - { - "id": "api.post.create_post.bad_filename.error", - "translation": "無效的檔名,filename=%v" - }, - { - "id": "api.post.create_post.can_not_post_to_deleted.error", - "translation": "無法發文至已刪除的頻道。" - }, - { - "id": "api.post.create_post.channel_root_id.app_error", - "translation": "RootId 參數的 ChannelId 無效" - }, - { - "id": "api.post.create_post.last_viewed.error", - "translation": "更新最新的訊息檢視遇到錯誤 channel_id=%s, user_id=%s, err=%v" - }, - { - "id": "api.post.create_post.parent_id.app_error", - "translation": "無效的 ParentId 參數" - }, - { - "id": "api.post.create_post.root_id.app_error", - "translation": "無效的 RootId 參數" - }, - { - "id": "api.post.create_webhook_post.creating.app_error", - "translation": "建立訊息時遇到錯誤" - }, - { - "id": "api.post.delete_flagged_post.app_error.warn", - "translation": "刪除發文時無法刪除發文的標記設定:err=%v" - }, - { - "id": "api.post.delete_post.permissions.app_error", - "translation": "您沒有適當的權限" - }, - { - "id": "api.post.delete_post_files.app_error.warn", - "translation": "刪除文章的檔案時遭遇錯誤:post_id=%v, err=%v" - }, - { - "id": "api.post.disabled_all", - "translation": "由於頻道使用者超過 {{.Users}} 人,已停用@all。" - }, - { - "id": "api.post.disabled_channel", - "translation": "由於頻道使用者超過 {{.Users}} 人,已停用@channel。" - }, - { - "id": "api.post.disabled_here", - "translation": "由於頻道使用者超過 {{.Users}} 人,已停用@here。" - }, - { - "id": "api.post.get_message_for_notification.files_sent", - "translation": { - "one": "已送出 {{.Count}} 個檔案:{{.Filenames}}已送出 {{.Count}} 個檔案:{{.Filenames}}", - "other": "" - } - }, - { - "id": "api.post.get_message_for_notification.get_files.error", - "translation": "為通知訊息取得檔案於文章時遭遇錯誤:post_id=%v, err=%v" - }, - { - "id": "api.post.get_message_for_notification.images_sent", - "translation": { - "one": "已送出 {{.Count}} 個圖片:{{.Filenames}}已送出 {{.Count}} 個圖片:{{.Filenames}}", - "other": "" - } - }, - { - "id": "api.post.get_out_of_channel_mentions.regex.error", - "translation": "編譯 @mention 正規表示式失敗 user_id=%v, err=%v" - }, - { - "id": "api.post.get_post.permissions.app_error", - "translation": "您沒有適當的權限" - }, - { - "id": "api.post.handle_post_events_and_forget.members.error", - "translation": "取得頻道成員失敗 channel_id=%v err=%v" - }, - { - "id": "api.post.handle_webhook_events_and_forget.create_post.error", - "translation": "建立回應貼文失敗 err=%v" - }, - { - "id": "api.post.handle_webhook_events_and_forget.event_post.error", - "translation": "POST 事件失敗 err=%s" - }, - { - "id": "api.post.init.debug", - "translation": "正在初始化貼文 API 路徑" - }, - { - "id": "api.post.make_direct_channel_visible.get_2_members.error", - "translation": "取得直接訊息頻道的兩位成員失敗 channel_id={{.ChannelId}}" - }, - { - "id": "api.post.make_direct_channel_visible.get_members.error", - "translation": "取得頻道成員失敗 channel_id=%v err=%v" - }, - { - "id": "api.post.make_direct_channel_visible.save_pref.error", - "translation": "儲存直接訊息頻道的偏好設定失敗 user_id=%v other_user_id=%v err=%v" - }, - { - "id": "api.post.make_direct_channel_visible.update_pref.error", - "translation": "更新直接訊息頻道的偏好設定失敗 user_id=%v other_user_id=%v err=%v" - }, - { - "id": "api.post.notification.member_profile.warn", - "translation": "無法取得頻道成員資訊 user_id=%v" - }, - { - "id": "api.post.send_notifications.user_id.debug", - "translation": "此訊息的發起人不在頻道,將不發送通知 post_id=%v channel_id=%v user_id=%v" - }, - { - "id": "api.post.send_notifications_and_forget.clear_push_notification.debug", - "translation": "正在清除至 %v 的推播通知,channel_id %v" - }, - { - "id": "api.post.send_notifications_and_forget.files.error", - "translation": "無法為貼文通知取得檔案: post_id=%v, err=%v" - }, - { - "id": "api.post.send_notifications_and_forget.get_teams.error", - "translation": "發送跨團隊直接訊移時無法取得團隊:user_id=%v, err=%v" - }, - { - "id": "api.post.send_notifications_and_forget.mention_body", - "translation": "有新的訊息提到您。" - }, - { - "id": "api.post.send_notifications_and_forget.mention_subject", - "translation": "新的提及" - }, - { - "id": "api.post.send_notifications_and_forget.message_body", - "translation": "您有一筆新的訊息。" - }, - { - "id": "api.post.send_notifications_and_forget.message_subject", - "translation": "新的直接訊息" - }, - { - "id": "api.post.send_notifications_and_forget.push_in", - "translation": " 於 " - }, - { - "id": "api.post.send_notifications_and_forget.push_mention", - "translation": " 提及您於 " - }, - { - "id": "api.post.send_notifications_and_forget.push_message", - "translation": " 已傳送直接訊息給您" - }, - { - "id": "api.post.send_notifications_and_forget.push_non_mention", - "translation": " 張貼於 " - }, - { - "id": "api.post.send_notifications_and_forget.push_notification.debug", - "translation": "正在傳送推播通知至 %v,訊息為 '%v'" - }, - { - "id": "api.post.send_notifications_and_forget.push_notification.error", - "translation": "發送推播失敗 device_id={{.DeviceId}}, err={{.Error}}" - }, - { - "id": "api.post.send_notifications_and_forget.sent", - "translation": "{{.Prefix}} {{.Filenames}} 已送出" - }, - { - "id": "api.post.update_mention_count_and_forget.update_error", - "translation": "更新提及的計數失敗 post_id=%v channel_id=%v err=%v" - }, - { - "id": "api.post.update_post.find.app_error", - "translation": "找不到可更新的訊息或註解。" - }, - { - "id": "api.post.update_post.permissions.app_error", - "translation": "您沒有適當的權限" - }, - { - "id": "api.post.update_post.permissions_denied.app_error", - "translation": "編輯訊息已被停用。請洽詢系統管理員了解詳情。" - }, - { - "id": "api.post.update_post.permissions_details.app_error", - "translation": "已刪除 id={{.PostId}}" - }, - { - "id": "api.post.update_post.permissions_time_limit.app_error", - "translation": "僅在 {{.timeLimit}} 秒內可以編輯訊息。請洽詢系統管理員了解詳情。 " - }, - { - "id": "api.post.update_post.system_message.app_error", - "translation": "無法更新系統訊息" - }, - { - "id": "api.post_get_post_by_id.get.app_error", - "translation": "無法取得訊息" - }, - { - "id": "api.preference.delete_preferences.decode.app_error", - "translation": "無法從要求中解碼出偏好設定" - }, - { - "id": "api.preference.delete_preferences.user_id.app_error", - "translation": "無法為其他使用者刪除偏好設定" - }, - { - "id": "api.preference.init.debug", - "translation": "正在初始化偏好設定 API 路徑" - }, - { - "id": "api.preference.save_preferences.decode.app_error", - "translation": "無法從上傳表單中解碼出偏好設定" - }, - { - "id": "api.preference.save_preferences.set.app_error", - "translation": "無法為其他使用調整偏好設定" - }, - { - "id": "api.preference.save_preferences.set_details.app_error", - "translation": "session.user_id={{.SessionUserId}}, preference.user_id={{.PreferenceUserId}}" - }, - { - "id": "api.reaction.delete_reaction.mismatched_channel_id.app_error", - "translation": "由於URL中的頻道 ID 與文章 ID 不相符,刪除互動失敗" - }, - { - "id": "api.reaction.init.debug", - "translation": "初始化互動 API 路徑" - }, - { - "id": "api.reaction.list_reactions.mismatched_channel_id.app_error", - "translation": "由於URL中的頻道 ID 與文章 ID 不相符,讀取互動失敗" - }, - { - "id": "api.reaction.save_reaction.mismatched_channel_id.app_error", - "translation": "由於URL中的頻道 ID 與文章 ID 不相符,儲存互動失敗" - }, - { - "id": "api.reaction.send_reaction_event.post.app_error", - "translation": "為了反應發送 Websocket 事件時,無法取得文章" - }, - { - "id": "api.saml.save_certificate.app_error", - "translation": "憑證沒有正確的儲存。" - }, - { - "id": "api.server.new_server.init.info", - "translation": "伺服器正在初始化..." - }, - { - "id": "api.server.start_server.listening.info", - "translation": "伺服器正在監聽於 %v" - }, - { - "id": "api.server.start_server.rate.info", - "translation": "張貼速率限制已啟用" - }, - { - "id": "api.server.start_server.rate.warn", - "translation": "張貼速率限制沒有正確的設定,請使用 VaryByHeader 並停用 VaryByRemoteAddr" - }, - { - "id": "api.server.start_server.rate_limiting_memory_store", - "translation": "無法初始化張貼速率限制所需的記憶體儲存。請確定 MemoryStoreSize 的設定值。" - }, - { - "id": "api.server.start_server.rate_limiting_rate_limiter", - "translation": "無法初始化張貼速率限制。" - }, - { - "id": "api.server.start_server.starting.critical", - "translation": "啟動伺服器時遇到錯誤 err:%v" - }, - { - "id": "api.server.start_server.starting.info", - "translation": "正在啟動伺服器..." - }, - { - "id": "api.server.start_server.starting.panic", - "translation": "啟動伺服器時遇到錯誤 " - }, - { - "id": "api.server.stop_server.stopped.info", - "translation": "伺服器已停止" - }, - { - "id": "api.server.stop_server.stopping.info", - "translation": "正在停止伺服器..." - }, - { - "id": "api.slackimport.slack_add_bot_user.email_pwd", - "translation": "Slack 機器人/外部整合發文匯入使用者:電子郵件,密碼:{{.Email}},{{.Password}}\r\n" - }, - { - "id": "api.slackimport.slack_add_bot_user.unable_import", - "translation": "無法匯入Slack 機器人/外部整合發文匯入使用者:{{.Username}}\r\n" - }, - { - "id": "api.slackimport.slack_add_channels.added", - "translation": "\r\n 頻道已加入 \r\n" - }, - { - "id": "api.slackimport.slack_add_channels.failed_to_add_user", - "translation": "新增使用者至頻道失敗:{{.Username}}\r\n" - }, - { - "id": "api.slackimport.slack_add_channels.import_failed", - "translation": "匯入失敗:{{.DisplayName}}\r\n" - }, - { - "id": "api.slackimport.slack_add_channels.import_failed.warn", - "translation": "Slack 匯入:無法匯入頻道:%s" - }, - { - "id": "api.slackimport.slack_add_channels.merge", - "translation": "已與頻道 {{.DisplayName}} 合併\r\n" - }, - { - "id": "api.slackimport.slack_add_posts.attach_files.error", - "translation": "附加檔案於文章時遭遇錯誤:post_id=%s, file_ids=%v, err=%v" - }, - { - "id": "api.slackimport.slack_add_posts.bot.warn", - "translation": "Slack 機器人的訊息還未被匯入" - }, - { - "id": "api.slackimport.slack_add_posts.bot_user_no_exists.warn", - "translation": "Slack 匯入:由於匯入機器人使用者不存在,將不匯入機器人訊息。" - }, - { - "id": "api.slackimport.slack_add_posts.msg_no_comment.debug", - "translation": "檔案註解未定義" - }, - { - "id": "api.slackimport.slack_add_posts.msg_no_usr.debug", - "translation": "訊息沒有使用者" - }, - { - "id": "api.slackimport.slack_add_posts.no_bot_id.warn", - "translation": "Slack 匯入:BotId 欄位缺失,將不匯入機器人訊息。" - }, - { - "id": "api.slackimport.slack_add_posts.unsupported.warn", - "translation": "不支援的文章類型: %v, %v" - }, - { - "id": "api.slackimport.slack_add_posts.upload_file_not_found.warn", - "translation": "由 Slack 匯出的檔案上傳訊息中找不到檔案:檔案 ID {{.Field}}" - }, - { - "id": "api.slackimport.slack_add_posts.upload_file_not_in_json.warn", - "translation": "由於匯出資料中沒有 \"file\" 欄位,無法為上傳訊息匯入檔案。" - }, - { - "id": "api.slackimport.slack_add_posts.upload_file_open_failed.warn", - "translation": "無法從匯出檔中開啟上傳檔案:檔案 ID {{.Field}}, 錯誤 {{.Error}}" - }, - { - "id": "api.slackimport.slack_add_posts.upload_file_upload_failed.warn", - "translation": "為上傳訊息上傳檔案失敗:檔案 ID {{.Field}}, 錯誤 {{.Error}}" - }, - { - "id": "api.slackimport.slack_add_posts.user_no_exists.debug", - "translation": "使用者:%v 不存在!" - }, - { - "id": "api.slackimport.slack_add_posts.without_user.debug", - "translation": "訊息沒有使用者" - }, - { - "id": "api.slackimport.slack_add_users.created", - "translation": "\r\n 使用者已建立\r\n" - }, - { - "id": "api.slackimport.slack_add_users.email_pwd", - "translation": "電子郵件,密碼: {{.Email}},{{.Password}}\r\n" - }, - { - "id": "api.slackimport.slack_add_users.merge_existing", - "translation": "將使用者與現有帳號合併:{{.Email}},{{.Username}}\r\n" - }, - { - "id": "api.slackimport.slack_add_users.merge_existing_failed", - "translation": "嘗試與現有帳號整合使用者:{{.Email}}、{{.Username}},但是無法將此使用者加入此團隊。\r\n" - }, - { - "id": "api.slackimport.slack_add_users.missing_email_address", - "translation": "使用者{{.Username}}在Slack匯出資料中沒有電子郵件地址。{{.Email}}將會被用作預留地址。使用者在登入系統後應更新電子郵件地址。\r\n" - }, - { - "id": "api.slackimport.slack_add_users.missing_email_address.warn", - "translation": "使用者{{.Username}}在Slack匯出資料中沒有電子郵件地址。{{.Email}}將會被用作預留地址。使用者在登入系統後應更新電子郵件地址。" - }, - { - "id": "api.slackimport.slack_add_users.unable_import", - "translation": "無法匯入使用者: {{.Username}}\r\n" - }, - { - "id": "api.slackimport.slack_convert_channel_mentions.compile_regexp_failed.warn", - "translation": "無法為 Slack 頻道 {{.ChannelD}} {{.ChannelName}} 編譯匹配!頻道的正規表示式" - }, - { - "id": "api.slackimport.slack_convert_timestamp.bad.warn", - "translation": "發現錯誤的時間戳記" - }, - { - "id": "api.slackimport.slack_convert_user_mentions.compile_regexp_failed.warn", - "translation": "無法為 Slack 使用者 {{.UserID}} {{.Username}} 編譯匹配@提及的正規表示式" - }, - { - "id": "api.slackimport.slack_deactivate_bot_user.failed_to_deactivate", - "translation": "Slack 匯入:無法停用匯入機器人使用者。" - }, - { - "id": "api.slackimport.slack_import.log", - "translation": "Mattermost Slack 匯入記錄\r\n" - }, - { - "id": "api.slackimport.slack_import.note1", - "translation": "- 由於匯入程式尚未支援,部分訊息可能無法匯入。\r\n" - }, - { - "id": "api.slackimport.slack_import.note2", - "translation": "- 目前尚未支援 Slack bot 張貼訊息。\r\n" - }, - { - "id": "api.slackimport.slack_import.note3", - "translation": "- 伺服器紀錄也許有紀錄到額外的錯誤。\r\n" - }, - { - "id": "api.slackimport.slack_import.notes", - "translation": "\r\n 附註 \r\n" - }, - { - "id": "api.slackimport.slack_import.open.app_error", - "translation": "無法開啟:{{.Filename}}" - }, - { - "id": "api.slackimport.slack_import.team_fail", - "translation": "取得團隊以匯入失敗。\r\n" - }, - { - "id": "api.slackimport.slack_import.zip.app_error", - "translation": "無法開啟 zip 檔案" - }, - { - "id": "api.slackimport.slack_parse_channels.error", - "translation": "解析 Slack 頻道時發生錯誤。匯入功能有可能照樣運作。" - }, - { - "id": "api.slackimport.slack_parse_posts.error", - "translation": "解析 Slack 訊息時發生錯誤。匯入功能有可能照樣運作。" - }, - { - "id": "api.slackimport.slack_sanitise_channel_properties.display_name_too_long.warn", - "translation": "Slack 匯入:頻道 {{.ChannelName}} 的顯示名稱過長,將會在匯入時被截短。" - }, - { - "id": "api.slackimport.slack_sanitise_channel_properties.header_too_long.warn", - "translation": "Slack 匯入:頻道 {{.ChannelName}} 的標題過長,將會在匯入時被截短。" - }, - { - "id": "api.slackimport.slack_sanitise_channel_properties.name_too_long.warn", - "translation": "Slack 匯入:頻道 {{.ChannelName}} 的名字過長,將會在匯入時被截短。" - }, - { - "id": "api.slackimport.slack_sanitise_channel_properties.purpose_too_long.warn", - "translation": "Slack 匯入:頻道 {{.ChannelName}} 的用途過長,將會在匯入時被截短。" - }, - { - "id": "api.status.init.debug", - "translation": "正在初始化狀態 API 路徑" - }, - { - "id": "api.status.last_activity.error", - "translation": "更新 user_id=%v 與 session_id=%v 的 LastActivityAt 失敗 err=%v" - }, - { - "id": "api.status.save_status.error", - "translation": "儲存使用者狀態失敗 user_id=%v err=%v" - }, - { - "id": "api.team.create_team.email_disabled.app_error", - "translation": "使用電子郵件註冊團隊已被停用。" - }, - { - "id": "api.team.create_team_from_signup.email_disabled.app_error", - "translation": "使用電子郵件註冊團隊已被停用。" - }, - { - "id": "api.team.create_team_from_signup.expired_link.app_error", - "translation": "註冊連結已過期" - }, - { - "id": "api.team.create_team_from_signup.invalid_link.app_error", - "translation": "此註冊連結不是有效連結" - }, - { - "id": "api.team.create_team_from_signup.unavailable.app_error", - "translation": "這個網址不存在。請嘗試其他的。" - }, - { - "id": "api.team.email_teams.sending.error", - "translation": "在 emailTeams 中寄送一封電子郵件時發生錯誤 err=%v" - }, - { - "id": "api.team.get_invite_info.not_open_team", - "translation": "無法在非公開的團隊使用邀請。" - }, - { - "id": "api.team.import_team.admin.app_error", - "translation": "僅有團隊管理員能匯入資料。" - }, - { - "id": "api.team.import_team.array.app_error", - "translation": "要求中的 'file' 欄位是空陣列" - }, - { - "id": "api.team.import_team.integer.app_error", - "translation": "Filesize 不是一個整數" - }, - { - "id": "api.team.import_team.no_file.app_error", - "translation": "要求中的 'file' 欄位沒有檔案" - }, - { - "id": "api.team.import_team.open.app_error", - "translation": "無法開啟檔案" - }, - { - "id": "api.team.import_team.parse.app_error", - "translation": "無法解析 multipart 表單" - }, - { - "id": "api.team.import_team.unavailable.app_error", - "translation": "要求格式錯誤:沒有檔案大小欄位。" - }, - { - "id": "api.team.init.debug", - "translation": "正在初始化團隊 API 路徑" - }, - { - "id": "api.team.invite_members.admin", - "translation": "管理員" - }, - { - "id": "api.team.invite_members.already.app_error", - "translation": "此人已在您的團隊中" - }, - { - "id": "api.team.invite_members.member", - "translation": "成員" - }, - { - "id": "api.team.invite_members.no_one.app_error", - "translation": "無人可邀請。" - }, - { - "id": "api.team.invite_members.restricted_system_admin.app_error", - "translation": "只有系統管理能邀請新使用者至團隊" - }, - { - "id": "api.team.invite_members.restricted_team_admin.app_error", - "translation": "只有系統管理以及團隊管理能邀請新使用者至團隊" - }, - { - "id": "api.team.invite_members.send.error", - "translation": "邀請電子郵件傳送失敗 err=%v" - }, - { - "id": "api.team.invite_members.sending.info", - "translation": "正在向 %v %v 寄送邀請" - }, - { - "id": "api.team.is_team_creation_allowed.disabled.app_error", - "translation": "建立團隊已被停用。請洽詢系統管理員了解詳情。" - }, - { - "id": "api.team.is_team_creation_allowed.domain.app_error", - "translation": "電子郵件地址必須來自一個指定的網域 (例如 @example.com)。請洽詢系統管理員了解詳情。" - }, - { - "id": "api.team.permanent_delete_team.attempting.warn", - "translation": "正在嘗試永久刪除團隊 %v id=%v" - }, - { - "id": "api.team.permanent_delete_team.deleted.warn", - "translation": "已永久刪除團隊 %v id=%v" - }, - { - "id": "api.team.remove_user_from_team.missing.app_error", - "translation": "此使用者似乎不屬於此團隊。" - }, - { - "id": "api.team.signup_team.email_disabled.app_error", - "translation": "使用電子郵件註冊團隊已被停用。" - }, - { - "id": "api.team.update_member_roles.not_a_member", - "translation": "指定的使用者不是指定團隊的成員。" - }, - { - "id": "api.team.update_team.permissions.app_error", - "translation": "您沒有適當的權限" - }, - { - "id": "api.templates.channel_name.group", - "translation": "群組訊息" - }, - { - "id": "api.templates.email_change_body.info", - "translation": "您在 {{.TeamDisplayName}} 上的電子郵件地址已經變更為 {{.NewEmail}}。
如果這不是您所變更的,請聯繫系統管理員。" - }, - { - "id": "api.templates.email_change_body.title", - "translation": "已經變更電子郵件地址" - }, - { - "id": "api.templates.email_change_subject", - "translation": "[{{ .SiteName }}] 電子郵件地址已變更" - }, - { - "id": "api.templates.email_change_verify_body.button", - "translation": "驗證電子郵件地址" - }, - { - "id": "api.templates.email_change_verify_body.info", - "translation": "請按下方的連結確認地址正確來完成變更 {{.TeamDisplayName}} 上的電子郵件地址。" - }, - { - "id": "api.templates.email_change_verify_body.title", - "translation": "已經變更電子郵件地址" - }, - { - "id": "api.templates.email_change_verify_subject", - "translation": "[{{ .SiteName }}] 驗證新的電子郵件地址" - }, - { - "id": "api.templates.email_footer", - "translation": "要更改通知偏好設定,請登入團隊網站並且至 帳號設定 > 通知。" - }, - { - "id": "api.templates.email_info", - "translation": "不論有任何問題,請隨時寫信給我們:{{.SupportEmail}}
祝您萬事如意,
{{.SiteName}} 團隊
" - }, - { - "id": "api.templates.email_organization", - "translation": "寄件者:" - }, - { - "id": "api.templates.error.link", - "translation": "回到 Mattermost" - }, - { - "id": "api.templates.error.title", - "translation": "{{ .SiteName }} 需要您的協助:" - }, - { - "id": "api.templates.find_teams_body.found", - "translation": "尋找到與您的電子信箱有關聯的團隊如下列:" - }, - { - "id": "api.templates.find_teams_body.not_found", - "translation": "無法經由提供的電子郵件地址尋找到任何團隊。" - }, - { - "id": "api.templates.find_teams_body.title", - "translation": "正在尋找團隊" - }, - { - "id": "api.templates.find_teams_subject", - "translation": "您的 {{ .SiteName }} 團隊" - }, - { - "id": "api.templates.invite_body.button", - "translation": "加入團隊" - }, - { - "id": "api.templates.invite_body.extra_info", - "translation": "Mattermost 能讓您透過個人電腦與手機分享訊息與檔案,包括快速搜尋以及封存功能。當加入 {{.TeamDisplayName}} 後,您能夠透過下列網址隨時登入到新團隊來使用這些功能:

{{.TeamURL}}" - }, - { - "id": "api.templates.invite_body.info", - "translation": "團隊 {{.SenderStatus}} {{.SenderName}},已經邀請您加入 {{.TeamDisplayName}}。" - }, - { - "id": "api.templates.invite_body.title", - "translation": "您已經被邀請" - }, - { - "id": "api.templates.invite_subject", - "translation": "[{{ .SiteName }}] {{ .SenderName }} 邀請您加入團隊 {{ .TeamDisplayName }}" - }, - { - "id": "api.templates.mfa_activated_body.info", - "translation": "您的{{ .SiteURL }}帳號已增加多重要素驗證。
如果此項變更不是由您改動的,請聯絡系統管理員。" - }, - { - "id": "api.templates.mfa_activated_body.title", - "translation": "已新增多重要素驗證" - }, - { - "id": "api.templates.mfa_change_subject", - "translation": "[{{ .SiteName }}] 多重要素驗證已更新" - }, - { - "id": "api.templates.mfa_deactivated_body.info", - "translation": "您的{{ .SiteURL }}帳號已移除多重要素驗證。
如果此項變更不是由您改動的,請聯絡系統管理員。" - }, - { - "id": "api.templates.mfa_deactivated_body.title", - "translation": "已移除多重要素驗證" - }, - { - "id": "api.templates.password_change_body.info", - "translation": "您在 {{ .TeamURL }} 上的 {{.TeamDisplayName}} 密碼已經由 {{.Method}} 更新。
如果這不是您所變更的,請聯繫系統管理員。" - }, - { - "id": "api.templates.password_change_body.title", - "translation": "密碼已更新" - }, - { - "id": "api.templates.password_change_subject", - "translation": "[{{ .SiteName }}] 密碼已更新" - }, - { - "id": "api.templates.post_body.button", - "translation": "前往發文" - }, - { - "id": "api.templates.post_body.info", - "translation": "頻道:{{.ChannelName}}
{{.SenderName}} - {{.Hour}}:{{.Minute}} {{.TimeZone}}, {{.Month}} {{.Day}}" - }, - { - "id": "api.templates.post_subject_in_channel", - "translation": "{{.SubjectText}},在{{.TeamDisplayName}}團隊,發於 {{.Year}} {{.Month}} {{.Day}}" - }, - { - "id": "api.templates.post_subject_in_direct_message", - "translation": "{{.SubjectText}},來自{{.SenderDisplayName}},發於 {{.Year}} {{.Month}} {{.Day}}" - }, - { - "id": "api.templates.post_subject_in_group_message", - "translation": "來自 {{.SenderDisplayName}} 的群組訊息,發於 {{.Year}} {{.Month}} {{.Day}}" - }, - { - "id": "api.templates.reset_body.button", - "translation": "重設密碼" - }, - { - "id": "api.templates.reset_body.info", - "translation": "按下方的 \"重設密碼\"來更改您的密碼。
如果您並沒有想要重設密碼,請不要理會這封郵件,密碼依然維持不變。密碼重設的連結將在 24 小時之後過期。" - }, - { - "id": "api.templates.reset_body.title", - "translation": "已提出重設密碼" - }, - { - "id": "api.templates.reset_subject", - "translation": "[{{ .SiteName }}] 重置密碼" - }, - { - "id": "api.templates.signin_change_email.body.info", - "translation": "您已經將 {{ .SiteName }} 上的登入方式變更為 {{.Method}}。
如果這項變更不是您做的,請聯繫系統管理員。" - }, - { - "id": "api.templates.signin_change_email.body.method_email", - "translation": "電子郵件地址與密碼" - }, - { - "id": "api.templates.signin_change_email.body.title", - "translation": "已變更登入方式" - }, - { - "id": "api.templates.signin_change_email.subject", - "translation": "[{{ .SiteName }}] 在{{ .SiteName}}的登入方式已更新" - }, - { - "id": "api.templates.signup_team_body.button", - "translation": "設定團隊" - }, - { - "id": "api.templates.signup_team_body.info", - "translation": "{{ .SiteName }} 是一個讓所有團隊隨時隨地都能溝通、搜尋與取用的地方。
當團隊持續不斷的溝通時, 善用 {{ .SiteName }} 能讓您獲益良多--讓我們呼朋引伴吧。" - }, - { - "id": "api.templates.signup_team_body.title", - "translation": "感謝您建立了一個團隊!" - }, - { - "id": "api.templates.signup_team_subject", - "translation": "{{ .SiteName }} 團隊設定" - }, - { - "id": "api.templates.upgrade_30_body.info", - "translation": "

您的多重帳號已更新

Mattermost 伺服器已升級到版本3.0,從此可以在多個團隊中使用同一帳號。

升級程式發現伺服器上有您的帳號所以寄信給您。

更新如下:

{{if .EmailChanged }}- `/{{.TeamName}}`帳號中重覆的電子郵件已變更為`{{.Email}}`。您必須使用電子郵件與密碼登入,可用此新的電子郵件進行登入。

{{end}}{{if .UsernameChanged }}- `/{{.TeamName}}`站台重覆的使用者名稱變更為`{{.Username}}`以避免與其它的帳號混淆。

{{end}} 建議動作:

建議您用重覆的帳號登入並把主要帳號加到要繼續使用的團隊、公開頻道與私有群組。

這樣方可使用主要帳號存取所有公開頻道與私有群組的歷史。可以用其它重覆的帳號登入存取之前的直接傳送訊息。

詳細訊息:

如需關於升到到 Mattermost 3.0 的詳細資訊,請參閱:http://www.mattermost.org/upgrading-to-mattermost-3-0/

" - }, - { - "id": "api.templates.upgrade_30_subject.info", - "translation": "[MATTERMOST] 升級至 Mattermost 3.0 後帳號的變更" - }, - { - "id": "api.templates.username_change_body.info", - "translation": "您在{{.TeamDisplayName}}的使用者名稱已變更為{{.NewUsername}}。
如果您未進行此變更,請速聯繫系統管理員。" - }, - { - "id": "api.templates.username_change_body.title", - "translation": "使用者名稱已變更" - }, - { - "id": "api.templates.username_change_subject", - "translation": "[{{ .SiteName }}] 使用者名稱已變更" - }, - { - "id": "api.templates.verify_body.button", - "translation": "驗證電子郵件地址" - }, - { - "id": "api.templates.verify_body.info", - "translation": "請按下方連結來驗證電子郵件地址。" - }, - { - "id": "api.templates.verify_body.title", - "translation": "已加入{{ .ServerURL }}" - }, - { - "id": "api.templates.verify_subject", - "translation": "{{ .SiteName }}] 電子郵件地址驗證" - }, - { - "id": "api.templates.welcome_body.app_download_info", - "translation": "為了更好的體驗,請從以下連結下載 PC、Mac、iOS、Android 等平台的應用程式:" - }, - { - "id": "api.templates.welcome_body.button", - "translation": "驗證電子郵件地址" - }, - { - "id": "api.templates.welcome_body.info", - "translation": "請按下方連結來驗證電子郵件地址。" - }, - { - "id": "api.templates.welcome_body.info2", - "translation": "現在可以登入:" - }, - { - "id": "api.templates.welcome_body.info3", - "translation": "Mattermost 能讓您透過個人電腦與手機分享訊息與檔案,包括快速搜尋以及封存功能。" - }, - { - "id": "api.templates.welcome_body.title", - "translation": "已加入{{ .ServerURL }}" - }, - { - "id": "api.templates.welcome_subject", - "translation": "[{{ .SiteName }}] 已加入 {{ .ServerURL }}" - }, - { - "id": "api.user.activate_mfa.email_and_ldap_only.app_error", - "translation": "多重要素驗證不支援此帳號類型" - }, - { - "id": "api.user.add_direct_channels_and_forget.failed.error", - "translation": "為使用者增加直接訊息頻道設定時失敗 user_id={{.UserId}}, team_id={{.TeamId}}, err={{.Error}}" - }, - { - "id": "api.user.authorize_oauth_user.bad_response.app_error", - "translation": "錯誤的 Token 要求回應" - }, - { - "id": "api.user.authorize_oauth_user.bad_token.app_error", - "translation": "錯誤的 Token 類型" - }, - { - "id": "api.user.authorize_oauth_user.invalid_state.app_error", - "translation": "無效的狀態" - }, - { - "id": "api.user.authorize_oauth_user.invalid_state_team.app_error", - "translation": "無效的狀態;沒有團隊名稱" - }, - { - "id": "api.user.authorize_oauth_user.missing.app_error", - "translation": "沒有存取 Token" - }, - { - "id": "api.user.authorize_oauth_user.service.app_error", - "translation": " {{.Service}} Token 要求失敗" - }, - { - "id": "api.user.authorize_oauth_user.token_failed.app_error", - "translation": "Token 要求失敗" - }, - { - "id": "api.user.authorize_oauth_user.unsupported.app_error", - "translation": "不支援的 OAuth 服務供應者" - }, - { - "id": "api.user.check_user_login_attempts.too_many.app_error", - "translation": "您的帳號已經因為嘗試太多次的錯誤密碼而被鎖定。請重設密碼。" - }, - { - "id": "api.user.check_user_mfa.bad_code.app_error", - "translation": "無效的多重要素驗證 Token。" - }, - { - "id": "api.user.check_user_mfa.not_available.app_error", - "translation": "本機不支援或未設定多重要素驗證" - }, - { - "id": "api.user.check_user_password.invalid.app_error", - "translation": "登入失敗,密碼無效" - }, - { - "id": "api.user.complete_switch_with_oauth.blank_email.app_error", - "translation": "空白的電子郵件" - }, - { - "id": "api.user.complete_switch_with_oauth.parse.app_error", - "translation": "無法解析 {{.Service}} 使用者物件的認證資料" - }, - { - "id": "api.user.complete_switch_with_oauth.unavailable.app_error", - "translation": "本伺服器不支援經由 OAuth 2.0 的 {{.Service}} SSO" - }, - { - "id": "api.user.create_oauth_user.already_attached.app_error", - "translation": "此電子郵件位址已有帳號使用且設定使用{{.Service}}以外的登入方法。請用{{.Auth}}登入。" - }, - { - "id": "api.user.create_oauth_user.already_used.app_error", - "translation": "這個 {{.Service}} 帳號已被用於註冊過了" - }, - { - "id": "api.user.create_oauth_user.create.app_error", - "translation": "無法建立用於 {{.Service}} 的使用者物件" - }, - { - "id": "api.user.create_oauth_user.not_available.app_error", - "translation": "本伺服器不支援經由 OAuth 2.0 的 {{.Service}} SSO" - }, - { - "id": "api.user.create_profile_image.default_font.app_error", - "translation": "無法建立預設個人頭像字型" - }, - { - "id": "api.user.create_profile_image.encode.app_error", - "translation": "無法編碼預設個人頭像" - }, - { - "id": "api.user.create_profile_image.initial.app_error", - "translation": "無法增加使用者預設的個人圖像" - }, - { - "id": "api.user.create_user.accepted_domain.app_error", - "translation": "您提供的電子郵件地址不屬於一個可接受的網域。請聯繫系統管理員或使用另一個不同的電子郵件地址註冊。" - }, - { - "id": "api.user.create_user.disabled.app_error", - "translation": "建立使用者已被停用" - }, - { - "id": "api.user.create_user.joining.error", - "translation": "加入預設頻道時遇到錯誤 user_id=%s, team_id=%s, err=%v" - }, - { - "id": "api.user.create_user.no_open_server", - "translation": "本機不開放自由註冊,請從管理員處取得邀請。" - }, - { - "id": "api.user.create_user.save.error", - "translation": "無法儲存使用者 err=%v" - }, - { - "id": "api.user.create_user.signup_email_disabled.app_error", - "translation": "已停用電子郵件註冊。" - }, - { - "id": "api.user.create_user.signup_link_expired.app_error", - "translation": "註冊連結已過期" - }, - { - "id": "api.user.create_user.signup_link_invalid.app_error", - "translation": "此註冊連結不是有效連結" - }, - { - "id": "api.user.create_user.team_name.app_error", - "translation": "無效的團隊名稱" - }, - { - "id": "api.user.create_user.tutorial.error", - "translation": "儲存教學偏好設定時遇到錯誤 err=%v" - }, - { - "id": "api.user.create_user.verified.error", - "translation": "設定電子郵件為已驗證時失敗 err=%v" - }, - { - "id": "api.user.email_to_ldap.not_available.app_error", - "translation": "此伺服器不支援 AD/LDAP" - }, - { - "id": "api.user.generate_mfa_qr.not_available.app_error", - "translation": "本機不支援或尚未設定多重要素驗證" - }, - { - "id": "api.user.get_authorization_code.unsupported.app_error", - "translation": "不支援的 OAuth 服務供應者" - }, - { - "id": "api.user.get_me.getting.error", - "translation": "取得使用者 id=%v 資訊時遇到錯誤,強制登出" - }, - { - "id": "api.user.init.debug", - "translation": "正在初始化使用者 API 路徑" - }, - { - "id": "api.user.ldap_to_email.not_available.app_error", - "translation": "此伺服器不支援 AD/LDAP" - }, - { - "id": "api.user.ldap_to_email.not_ldap_account.app_error", - "translation": "此使用者帳號並沒有使用 AD/LDAP" - }, - { - "id": "api.user.login.blank_pwd.app_error", - "translation": "密碼欄位不得空白" - }, - { - "id": "api.user.login.inactive.app_error", - "translation": "登入失敗,您的帳號已被設定為停用。請向系統管理員聯繫." - }, - { - "id": "api.user.login.invalid_credentials", - "translation": "使用者 ID 或密碼錯誤。" - }, - { - "id": "api.user.login.not_provided.app_error", - "translation": "必須提供使用者 ID 或團隊名稱與使用者電子郵件" - }, - { - "id": "api.user.login.not_verified.app_error", - "translation": "登入失敗,電子郵件地址尚未經驗証" - }, - { - "id": "api.user.login.revoking.app_error", - "translation": "sessionId=%v 已被取消,屬於 userId=%v。請用同樣的設備 ID 再次登入。" - }, - { - "id": "api.user.login.use_auth_service.app_error", - "translation": "請用 {{.AuthService}} 登入" - }, - { - "id": "api.user.login_by_oauth.not_available.app_error", - "translation": "本伺服器不支援經由 OAuth 2.0 的 {{.Service}} SSO" - }, - { - "id": "api.user.login_by_oauth.parse.app_error", - "translation": "無法解析 {{.Service}} 使用者物件的認證資料" - }, - { - "id": "api.user.login_ldap.blank_pwd.app_error", - "translation": "密碼欄位不得空白" - }, - { - "id": "api.user.login_ldap.disabled.app_error", - "translation": "此伺服器未啟用 AD/LDAP" - }, - { - "id": "api.user.login_ldap.need_id.app_error", - "translation": "需要一個 ID" - }, - { - "id": "api.user.login_ldap.not_available.app_error", - "translation": "此伺服器不支援 AD/LDAP" - }, - { - "id": "api.user.oauth_to_email.context.app_error", - "translation": "更新密碼失敗,目前的 user_id 與要變更的使用者 ID 不符" - }, - { - "id": "api.user.permanent_delete_user.attempting.warn", - "translation": "試圖將 %v id=%v 帳號永久刪除" - }, - { - "id": "api.user.permanent_delete_user.deleted.warn", - "translation": "已永久刪除帳號 %v id=%v" - }, - { - "id": "api.user.permanent_delete_user.system_admin.warn", - "translation": "正在刪除系統管理員 %v。刪除後您可能需要用命令列工具將另一個帳號設定為系統管理員。" - }, - { - "id": "api.user.reset_password.invalid_link.app_error", - "translation": "此密碼重設連結不是有效連結" - }, - { - "id": "api.user.reset_password.link_expired.app_error", - "translation": "密碼重設連結已過期" - }, - { - "id": "api.user.reset_password.method", - "translation": "正在使用一個重設密碼連結" - }, - { - "id": "api.user.reset_password.sso.app_error", - "translation": "SSO 帳號無法重設密碼" - }, - { - "id": "api.user.reset_password.wrong_team.app_error", - "translation": "正在嘗試將錯誤團隊中的使用者重設密碼。" - }, - { - "id": "api.user.saml.not_available.app_error", - "translation": "本機不支援或未設定 SAML" - }, - { - "id": "api.user.send_email_change_email_and_forget.error", - "translation": "更改通知電子郵件傳送失敗" - }, - { - "id": "api.user.send_email_change_username_and_forget.error", - "translation": "使用者名稱變更通知電子郵件以傳送失敗" - }, - { - "id": "api.user.send_email_change_verify_email_and_forget.error", - "translation": "更改驗證電子郵件傳送失敗" - }, - { - "id": "api.user.send_password_change_email_and_forget.error", - "translation": "更新密碼電子郵件傳送失敗" - }, - { - "id": "api.user.send_password_reset.find.app_error", - "translation": "無法找到該地址相對應的帳號" - }, - { - "id": "api.user.send_password_reset.send.app_error", - "translation": "密碼重設電子郵件傳送失敗" - }, - { - "id": "api.user.send_password_reset.sso.app_error", - "translation": "SSO 帳號無法重設密碼" - }, - { - "id": "api.user.send_sign_in_change_email_and_forget.error", - "translation": "更新密碼電子郵件傳送失敗" - }, - { - "id": "api.user.send_verify_email_and_forget.failed.error", - "translation": "認證電子郵件傳送失敗" - }, - { - "id": "api.user.send_welcome_email_and_forget.failed.error", - "translation": "歡迎電子郵件傳送失敗" - }, - { - "id": "api.user.update_active.no_deactivate_ldap.app_error", - "translation": "不能變更 AD/LDAP 帳號的啟用狀態。請變更 AD/LDAP 伺服器上對應的帳號狀態。" - }, - { - "id": "api.user.update_active.permissions.app_error", - "translation": "您沒有適當的權限" - }, - { - "id": "api.user.update_mfa.not_available.app_error", - "translation": "本機不支援或尚未設定多重要素驗證" - }, - { - "id": "api.user.update_oauth_user_attrs.get_user.app_error", - "translation": "無法從 {{.Service}} 使用者物件取得使用者" - }, - { - "id": "api.user.update_password.context.app_error", - "translation": "更新密碼失敗,目前的 user_id 與要變更的使用者 ID 不符" - }, - { - "id": "api.user.update_password.failed.app_error", - "translation": "更新密碼失敗" - }, - { - "id": "api.user.update_password.incorrect.app_error", - "translation": "輸入的 \"目前密碼\" 不正確。請檢查 Caps Lock 是關的並再試一次。" - }, - { - "id": "api.user.update_password.menu", - "translation": "使用設定選單" - }, - { - "id": "api.user.update_password.oauth.app_error", - "translation": "更新密碼失敗,因為使用者利用 OAuth 服務登入" - }, - { - "id": "api.user.update_password.valid_account.app_error", - "translation": "更新密碼失敗,無法找到有效的帳號" - }, - { - "id": "api.user.update_roles.one_admin.app_error", - "translation": "至少要有一個啟用的管理員" - }, - { - "id": "api.user.update_roles.permissions.app_error", - "translation": "您沒有適當的權限" - }, - { - "id": "api.user.update_roles.system_admin_needed.app_error", - "translation": "限系統管理員方可進行本項作業" - }, - { - "id": "api.user.update_roles.system_admin_set.app_error", - "translation": "僅有系統管理員才能設定另一位系統管理員的角色" - }, - { - "id": "api.user.update_roles.team_admin_needed.app_error", - "translation": "限團隊管理員方可進行本項作業" - }, - { - "id": "api.user.upload_profile_user.array.app_error", - "translation": "要求中的 'image' 欄位為空陣列" - }, - { - "id": "api.user.upload_profile_user.decode.app_error", - "translation": "無法解碼個人頭像" - }, - { - "id": "api.user.upload_profile_user.decode_config.app_error", - "translation": "無法解碼個人頭像設定" - }, - { - "id": "api.user.upload_profile_user.encode.app_error", - "translation": "無法編碼個人頭像" - }, - { - "id": "api.user.upload_profile_user.no_file.app_error", - "translation": "要求中的 'image' 欄位沒有檔案" - }, - { - "id": "api.user.upload_profile_user.open.app_error", - "translation": "無法開啟圖片檔案" - }, - { - "id": "api.user.upload_profile_user.parse.app_error", - "translation": "無法解析 multipart 表單" - }, - { - "id": "api.user.upload_profile_user.storage.app_error", - "translation": "無法上傳檔案。尚未設定圖片儲存位置。" - }, - { - "id": "api.user.upload_profile_user.too_large.app_error", - "translation": "無法上傳個人資訊圖片。檔案太大。" - }, - { - "id": "api.user.upload_profile_user.upload_profile.app_error", - "translation": "無法上傳個人頭像" - }, - { - "id": "api.user.verify_email.bad_link.app_error", - "translation": "錯誤的驗證電子郵件連結。" - }, - { - "id": "api.web_hub.start.starting.debug", - "translation": "啟動 %v Websocket 中樞" - }, - { - "id": "api.web_hub.start.stopping.debug", - "translation": "停止 Websocket 中樞連線" - }, - { - "id": "api.web_socket.connect.error", - "translation": "Websocket 連接錯誤:%v" - }, - { - "id": "api.web_socket.connect.upgrade.app_error", - "translation": "更新 Websocket 連線失敗" - }, - { - "id": "api.web_socket.init.debug", - "translation": "正在初始化 web socket API 路徑" - }, - { - "id": "api.web_socket_handler.log.error", - "translation": "%v:%v seq=%v uid=%v %v [詳細:%v]" - }, - { - "id": "api.web_socket_router.log.error", - "translation": "Websocket 路由錯誤:seq=%v uid=%v %v [詳細:%v]" - }, - { - "id": "api.web_team_hun.start.debug", - "translation": "正在停止團隊中心 teamId=%v" - }, - { - "id": "api.webhook.create_outgoing.disabled.app_error", - "translation": "傳出的 Webhook 已被系統管理員停用。" - }, - { - "id": "api.webhook.create_outgoing.intersect.app_error", - "translation": "同一頻道的傳出的 Webhook 不可以使用相同的觸發關鍵字/回呼網址。" - }, - { - "id": "api.webhook.create_outgoing.not_open.app_error", - "translation": "只有公開頻道可以建立傳出的 Webhook。" - }, - { - "id": "api.webhook.create_outgoing.permissions.app_error", - "translation": "沒有適當的權限建立傳出的 Webhook。" - }, - { - "id": "api.webhook.create_outgoing.triggers.app_error", - "translation": "必須設定觸發詞或者頻道 ID" - }, - { - "id": "api.webhook.delete_incoming.disabled.app_error", - "translation": "傳入的 Webhook 已被系統管理員停用。" - }, - { - "id": "api.webhook.delete_incoming.permissions.app_error", - "translation": "沒有權限刪除傳入的 Webhook" - }, - { - "id": "api.webhook.delete_outgoing.disabled.app_error", - "translation": "傳出的 Webhook 已被系統管理員停用" - }, - { - "id": "api.webhook.delete_outgoing.permissions.app_error", - "translation": "沒有適當的權限刪除傳出的 Webhook" - }, - { - "id": "api.webhook.incoming.debug", - "translation": "收到傳入的 Webhook。內容=" - }, - { - "id": "api.webhook.incoming.debug.error", - "translation": "無法讀取傳入的 Webhook 的內容。" - }, - { - "id": "api.webhook.init.debug", - "translation": "正在初始化 Webhook API 路徑" - }, - { - "id": "api.webhook.regen_outgoing_token.permissions.app_error", - "translation": "沒有適當的權限重新產生傳出的 Webhook Token" - }, - { - "id": "api.webhook.team_mismatch.app_error", - "translation": "無法更新不同團隊的 Webhook" - }, - { - "id": "api.webhook.update_incoming.disabled.app_error", - "translation": "傳入的 Webhook 已被系統管理員停用。" - }, - { - "id": "api.webhook.update_incoming.permissions.app_error", - "translation": "沒有適當的權限更新傳入的 Webhook" - }, - { - "id": "api.webhook.update_outgoing.disabled.app_error", - "translation": "傳出的 Webhook 已被系統管理員停用。" - }, - { - "id": "api.webhook.update_outgoing.intersect.app_error", - "translation": "同一頻道的傳出的 Webhook 不可以使用相同的觸發關鍵字/回呼網址。" - }, - { - "id": "api.webhook.update_outgoing.not_open.app_error", - "translation": "只有公開頻道可以更新傳出的 Webhook。" - }, - { - "id": "api.webhook.update_outgoing.permissions.app_error", - "translation": "沒有適當的權限更新傳出的 Webhook。" - }, - { - "id": "api.webhook.update_outgoing.triggers.app_error", - "translation": "必須設定觸發詞或者頻道 ID" - }, - { - "id": "api.webrtc.disabled.app_error", - "translation": "此伺服器未啟用 WebRTC。" - }, - { - "id": "api.webrtc.init.debug", - "translation": "正在初始化 WebRTC API 路徑" - }, - { - "id": "api.webrtc.register_token.app_error", - "translation": "嘗試註冊 WebRTC Token時發生錯誤" - }, - { - "id": "api.websocket.invalid_session.error", - "translation": "無效的工作階段 err=%v" - }, - { - "id": "api.websocket_handler.invalid_param.app_error", - "translation": "無效的參數 {{.Name}}" - }, - { - "id": "app.channel.create_channel.no_team_id.app_error", - "translation": "建立頻道時必須指定團隊 ID" - }, - { - "id": "app.channel.post_update_channel_purpose_message.post.error", - "translation": "發送頻道用途訊息失敗" - }, - { - "id": "app.channel.post_update_channel_purpose_message.removed", - "translation": "%s 已移除了頻道用途 (原為: %s)" - }, - { - "id": "app.channel.post_update_channel_purpose_message.retrieve_user.error", - "translation": "嘗試儲存更新的頻道用途訊息 %v 時取得使用者資訊失敗" - }, - { - "id": "app.channel.post_update_channel_purpose_message.updated_from", - "translation": "%s 將原頻道用途由 %s 改為 %s" - }, - { - "id": "app.channel.post_update_channel_purpose_message.updated_to", - "translation": "%s 已更新頻道用途為:%s" - }, - { - "id": "app.import.bulk_import.file_scan.error", - "translation": "讀取匯入資料檔失敗。" - }, - { - "id": "app.import.bulk_import.json_decode.error", - "translation": "JSON 解碼失敗。" - }, - { - "id": "app.import.import_channel.team_not_found.error", - "translation": "匯入頻道失敗。不存在名字為 \"{{.TeamName}}\" 的團隊。" - }, - { - "id": "app.import.import_line.null_channel.error", - "translation": "匯入資料行資料型別為\"頻道\"但頻道物件為 null" - }, - { - "id": "app.import.import_line.null_post.error", - "translation": "匯入資料行資料型別為\"訊息\"但訊息物件為 null" - }, - { - "id": "app.import.import_line.null_team.error", - "translation": "匯入資料行資料型別為\"團隊\"但團隊物件為 null" - }, - { - "id": "app.import.import_line.null_user.error", - "translation": "匯入資料行資料型別為\"使用者\"但使用者物件為 null" - }, - { - "id": "app.import.import_line.unknown_line_type.error", - "translation": "匯入資料行型別為未知型別 \"{{.Type}}\"。" - }, - { - "id": "app.import.import_post.channel_not_found.error", - "translation": "匯入訊息失敗。不存在名字為 \"{{.Channelame}}\" 的頻道。" - }, - { - "id": "app.import.import_post.team_not_found.error", - "translation": "匯入訊息失敗。不存在名字為 \"{{.TeamName}}\" 的團隊。" - }, - { - "id": "app.import.import_post.user_not_found.error", - "translation": "匯入訊息失敗。不存在名字為 \"{{.Username}}\" 的使用者。" - }, - { - "id": "app.import.validate_channel_import_data.create_at_zero.error", - "translation": "如果有提供頻道建立時間,該值不能為 0。" - }, - { - "id": "app.import.validate_channel_import_data.display_name_length.error", - "translation": "頻道顯示名稱長度不符要求。" - }, - { - "id": "app.import.validate_channel_import_data.display_name_missing.error", - "translation": "缺少必要的頻道屬性:顯示名稱。" - }, - { - "id": "app.import.validate_channel_import_data.header_length.error", - "translation": "頻道標題過長。" - }, - { - "id": "app.import.validate_channel_import_data.name_characters.error", - "translation": "頻道名稱包含無效的字元。" - }, - { - "id": "app.import.validate_channel_import_data.name_length.error", - "translation": "頻道名稱過長。" - }, - { - "id": "app.import.validate_channel_import_data.name_missing.error", - "translation": "缺少必要的頻道屬性:名字。" - }, - { - "id": "app.import.validate_channel_import_data.purpose_length.error", - "translation": "頻道用途過長。" - }, - { - "id": "app.import.validate_channel_import_data.team_missing.error", - "translation": "缺少必要的頻道屬性:團隊。" - }, - { - "id": "app.import.validate_channel_import_data.type_invalid.error", - "translation": "無效的頻道類型。" - }, - { - "id": "app.import.validate_channel_import_data.type_missing.error", - "translation": "缺少必要的頻道屬性:類型。" - }, - { - "id": "app.import.validate_post_import_data.channel_missing.error", - "translation": "缺少必要的訊息屬性:頻道。" - }, - { - "id": "app.import.validate_post_import_data.create_at_missing.error", - "translation": "缺少必要的訊息屬性:建立日期。" - }, - { - "id": "app.import.validate_post_import_data.create_at_zero.error", - "translation": "如果有提供,訊息建立日期不能為零。" - }, - { - "id": "app.import.validate_post_import_data.message_length.error", - "translation": "訊息屬性長度超過允許的最大長度" - }, - { - "id": "app.import.validate_post_import_data.message_missing.error", - "translation": "缺少必要的訊息屬性:訊息。" - }, - { - "id": "app.import.validate_post_import_data.team_missing.error", - "translation": "缺少必要的訊息屬性:團隊。" - }, - { - "id": "app.import.validate_post_import_data.user_missing.error", - "translation": "缺少必要的訊息屬性:使用者。" - }, - { - "id": "app.import.validate_team_import_data.allowed_domains_length.error", - "translation": "團隊允許網域過長。" - }, - { - "id": "app.import.validate_team_import_data.create_at_zero.error", - "translation": "如果有提供團隊建立時間,該值不能為 0。" - }, - { - "id": "app.import.validate_team_import_data.description_length.error", - "translation": "團隊描述過長。" - }, - { - "id": "app.import.validate_team_import_data.display_name_length.error", - "translation": "團隊顯示名稱長度不符要求。" - }, - { - "id": "app.import.validate_team_import_data.display_name_missing.error", - "translation": "缺少必要的團隊屬性:顯示名稱。" - }, - { - "id": "app.import.validate_team_import_data.name_characters.error", - "translation": "使用者名稱帶有無效字元。" - }, - { - "id": "app.import.validate_team_import_data.name_length.error", - "translation": "團隊名稱過長。" - }, - { - "id": "app.import.validate_team_import_data.name_missing.error", - "translation": "缺少必要的團隊屬性:名字。" - }, - { - "id": "app.import.validate_team_import_data.name_reserved.error", - "translation": "團隊名稱帶有保留字。" - }, - { - "id": "app.import.validate_team_import_data.type_invalid.error", - "translation": "無效的團隊類型。" - }, - { - "id": "app.import.validate_team_import_data.type_missing.error", - "translation": "缺少必要的團隊屬性:類型。" - }, - { - "id": "app.import.validate_user_channels_import_data.channel_name_missing.error", - "translation": "使用者頻道資料中缺少頻道名字。" - }, - { - "id": "app.import.validate_user_channels_import_data.invalid_notify_props_desktop.error", - "translation": "使用者頻道成員身份的桌面 NotifyProps 無效" - }, - { - "id": "app.import.validate_user_channels_import_data.invalid_notify_props_mark_unread.error", - "translation": "使用者頻道成員身份的標注未讀 NotifyProps 無效" - }, - { - "id": "app.import.validate_user_channels_import_data.invalid_roles.error", - "translation": "使用者頻道資料的角色為無效資料。" - }, - { - "id": "app.import.validate_user_import_data.auth_data_length.error", - "translation": "使用者認證資料過長。" - }, - { - "id": "app.import.validate_user_import_data.auth_service_length.error", - "translation": "如果有提供使用者認證服務,該值不能為空。" - }, - { - "id": "app.import.validate_user_import_data.email_length.error", - "translation": "使用者電子郵件的長度無效。" - }, - { - "id": "app.import.validate_user_import_data.email_missing.error", - "translation": "缺少必要的使用者屬性:電子郵件。" - }, - { - "id": "app.import.validate_user_import_data.first_name_length.error", - "translation": "使用者名字過長。" - }, - { - "id": "app.import.validate_user_import_data.last_name_length.error", - "translation": "使用者姓氏過長。" - }, - { - "id": "app.import.validate_user_import_data.nickname_length.error", - "translation": "使用者暱稱過長。" - }, - { - "id": "app.import.validate_user_import_data.position_length.error", - "translation": "使用者職位過長。" - }, - { - "id": "app.import.validate_user_import_data.roles_invalid.error", - "translation": "無效的使用者角色。" - }, - { - "id": "app.import.validate_user_import_data.username_invalid.error", - "translation": "無效的使用者名稱。" - }, - { - "id": "app.import.validate_user_import_data.username_missing.error", - "translation": "缺少必要的使用者屬性:名字。" - }, - { - "id": "app.import.validate_user_teams_import_data.invalid_roles.error", - "translation": "使用者團隊資料的角色為無效資料。" - }, - { - "id": "app.import.validate_user_teams_import_data.team_name_missing.error", - "translation": "使用者團隊資料中缺少團隊名字。" - }, - { - "id": "authentication.permissions.create_group_channel.description", - "translation": "允許建立新的群組訊息頻道" - }, - { - "id": "authentication.permissions.create_group_channel.name", - "translation": "建立群組訊息" - }, - { - "id": "authentication.permissions.create_team_roles.description", - "translation": "允許建立團隊" - }, - { - "id": "authentication.permissions.create_team_roles.name", - "translation": "建立團隊" - }, - { - "id": "authentication.permissions.manage_team_roles.description", - "translation": "允許改變團隊成員的角色" - }, - { - "id": "authentication.permissions.manage_team_roles.name", - "translation": "管理團隊角色" - }, - { - "id": "authentication.permissions.team_invite_user.description", - "translation": "允許邀請使用者至團隊" - }, - { - "id": "authentication.permissions.team_invite_user.name", - "translation": "邀請使用者" - }, - { - "id": "authentication.permissions.team_use_slash_commands.description", - "translation": "允許使用斜線命令" - }, - { - "id": "authentication.permissions.team_use_slash_commands.name", - "translation": "使用斜線命令" - }, - { - "id": "cli.license.critical", - "translation": "此功能需要企業版授權,請聯繫系統管理員將系統升級為企業版授權。" - }, - { - "id": "ent.brand.save_brand_image.decode.app_error", - "translation": "無法解碼圖片。" - }, - { - "id": "ent.brand.save_brand_image.decode_config.app_error", - "translation": "無法解碼圖片設定。" - }, - { - "id": "ent.brand.save_brand_image.encode.app_error", - "translation": "無法將圖片編碼成 PNG。" - }, - { - "id": "ent.brand.save_brand_image.open.app_error", - "translation": "無法開啟圖片。" - }, - { - "id": "ent.brand.save_brand_image.save_image.app_error", - "translation": "無法儲存圖片" - }, - { - "id": "ent.brand.save_brand_image.too_large.app_error", - "translation": "圖片過大無法開啟。" - }, - { - "id": "ent.cluster.config_changed.info", - "translation": "叢集設定已變更(id=%v)。 正在嘗試重新啟動叢集服務。 由於偵測到了核心設定的變更,為了保證叢集被正確的組態,您不應該依賴這次重新啟動。" - }, - { - "id": "ent.cluster.debug_fail.debug", - "translation": "在 `%v` 叢集發送失敗:detail=%v extra=%v retry number=%v" - }, - { - "id": "ent.cluster.final_fail.error", - "translation": "在 `%v` 叢集發送最終失敗:detail=%v extra=%v retry number=%v" - }, - { - "id": "ent.cluster.incompatible.warn", - "translation": "偵測到叢集可能不相容的版本 %v" - }, - { - "id": "ent.cluster.incompatible_config.warn", - "translation": "偵測到叢集可能不相容的設定 %v" - }, - { - "id": "ent.cluster.licence_disable.app_error", - "translation": "目前授權不提供叢集功能,請聯繫系統管理員將系統升級為企業版授權。" - }, - { - "id": "ent.cluster.ping_failed.info", - "translation": "叢集偵測失敗:hostname=%v on=%v id=%v" - }, - { - "id": "ent.cluster.ping_success.info", - "translation": "叢集偵測成功:hostname=%v on=%v id=%v self=%v" - }, - { - "id": "ent.cluster.save_config.error", - "translation": "啟用高可用性時系統控制台被設定為唯讀。" - }, - { - "id": "ent.cluster.starting.info", - "translation": "在 %v 上開始監聽叢集節點間通訊:hostname=%v id=%v" - }, - { - "id": "ent.cluster.stopping.info", - "translation": "在 %v 上的叢集節點間通訊正在停止:hostname=%v id=%v" - }, - { - "id": "ent.compliance.licence_disable.app_error", - "translation": "目前授權不提供規範功能,請聯繫系統管理員將系統升級為企業版授權。" - }, - { - "id": "ent.compliance.run_failed.error", - "translation": "規範匯出作業'{{.JobName}}'失敗。路徑為'{{.FilePath}}'" - }, - { - "id": "ent.compliance.run_finished.info", - "translation": "規範匯出作業'{{.JobName}}'完成。{{.Count}}筆紀錄已匯出至'{{.FilePath}}'" - }, - { - "id": "ent.compliance.run_limit.warning", - "translation": "警告,規範匯出作業 '{{.JobName}}' 行數過多,將只會輸出到第3萬行至'{{.FilePath}}' " - }, - { - "id": "ent.compliance.run_started.info", - "translation": "規範匯出作業 '{{.JobName}}' 開始,匯出到 '{{.FilePath}}'" - }, - { - "id": "ent.emoji.licence_disable.app_error", - "translation": "目前授權不提供限制自訂繪文字,請聯繫系統管理員將系統升級為企業版授權。" - }, - { - "id": "ent.ldap.create_fail", - "translation": "無法建立 LDAP 使用者。" - }, - { - "id": "ent.ldap.disabled.app_error", - "translation": "已停用 AD/LDAP 或授權不支援 AD/LDAP。" - }, - { - "id": "ent.ldap.do_login.bind_admin_user.app_error", - "translation": "無法綁定 AD/LDAP 伺服器,請檢查綁定使用者帳號與綁定密碼。" - }, - { - "id": "ent.ldap.do_login.invalid_password.app_error", - "translation": "無效的密碼" - }, - { - "id": "ent.ldap.do_login.licence_disable.app_error", - "translation": "目前的授權無法使用 AD/LDAP 功能。請聯繫系統管理員升級為企業授權。" - }, - { - "id": "ent.ldap.do_login.matched_to_many_users.app_error", - "translation": "提供的使用者名稱比對到多個使用者" - }, - { - "id": "ent.ldap.do_login.search_ldap_server.app_error", - "translation": "搜尋 AD/LDAP 伺服器失敗" - }, - { - "id": "ent.ldap.do_login.unable_to_connect.app_error", - "translation": "無法連線到 AD/LDAP 伺服器" - }, - { - "id": "ent.ldap.do_login.unable_to_create_user.app_error", - "translation": "認證有效,但無法建立使用者" - }, - { - "id": "ent.ldap.do_login.user_filtered.app_error", - "translation": "您的 AD/LDAP 帳號沒有使用此 Mattermost 伺服器的權限。請向系統管理員詢問確認 AD/LDAP 使用者過濾條件。" - }, - { - "id": "ent.ldap.do_login.user_not_registered.app_error", - "translation": "使用者尚未於 AD/LDAP 伺服器註冊" - }, - { - "id": "ent.ldap.mattermost_user_update", - "translation": "Mattermost 使用者已根據 AD/LDAP 伺服器更新。" - }, - { - "id": "ent.ldap.syncdone.info", - "translation": "AD/LDAP 同步完成" - }, - { - "id": "ent.ldap.syncronize.get_all.app_error", - "translation": "無法用 AD/LDAP 取得所有使用者" - }, - { - "id": "ent.ldap.validate_filter.app_error", - "translation": "無效的 AD/LDAP Filter" - }, - { - "id": "ent.metrics.starting.info", - "translation": "計量與分析伺服器正在 %v 上監聽" - }, - { - "id": "ent.metrics.stopping.info", - "translation": "%v 上的計量與分析伺服器正在停止" - }, - { - "id": "ent.mfa.activate.authenticate.app_error", - "translation": "嘗試認證多重要素驗證 Token 時遇到錯誤" - }, - { - "id": "ent.mfa.activate.bad_token.app_error", - "translation": "無效的多重要素驗證 Token" - }, - { - "id": "ent.mfa.activate.save_active.app_erro", - "translation": "無法為使用者更新多重要素驗證使用狀態" - }, - { - "id": "ent.mfa.deactivate.save_active.app_erro", - "translation": "無法為使用者更新多重要素驗證使用狀態" - }, - { - "id": "ent.mfa.deactivate.save_secret.app_error", - "translation": "清除多重要素驗證密碼時遇到錯誤" - }, - { - "id": "ent.mfa.generate_qr_code.create_code.app_error", - "translation": "產生 QR code 時遇到錯誤" - }, - { - "id": "ent.mfa.generate_qr_code.save_secret.app_error", - "translation": "儲存多重要素驗證密碼時遇到錯誤" - }, - { - "id": "ent.mfa.license_disable.app_error", - "translation": "您的授權不支援多重要素驗證" - }, - { - "id": "ent.mfa.validate_token.authenticate.app_error", - "translation": "嘗試認證多重要素驗證 Token 時遇到錯誤" - }, - { - "id": "ent.migration.migratetoldap.duplicate_field", - "translation": "無法根據指定的欄位移轉至 AD/LDAP 使用者。偵測到重複的項目。請移除所有重複項目然後再次嚐試。" - }, - { - "id": "ent.migration.migratetoldap.user_not_found", - "translation": "找不到使用者,AD/LDAP 伺服器:" - }, - { - "id": "ent.saml.attribute.app_error", - "translation": "由於不正確的屬性,SAML 登入失敗。請聯繫系統管理員。" - }, - { - "id": "ent.saml.build_request.app_error", - "translation": "建立與身分識別提供者連接的要求時發生錯誤。請聯繫系統管理員。" - }, - { - "id": "ent.saml.build_request.encoding.app_error", - "translation": "對與身分識別提供者連接的要求編碼時發生錯誤。請聯繫系統管理員。" - }, - { - "id": "ent.saml.build_request.encoding_signed.app_error", - "translation": "對與身分識別提供者連接的已簽章要求編碼時發生錯誤。請聯繫系統管理員。" - }, - { - "id": "ent.saml.configure.app_error", - "translation": "設定 SAML 服務提供者時發生錯誤,err=%v" - }, - { - "id": "ent.saml.configure.encryption_not_enabled.app_error", - "translation": "由於沒有啟用加密,SAML 登入失敗。請聯繫系統管理員。" - }, - { - "id": "ent.saml.configure.load_idp_cert.app_error", - "translation": "找不到身份識別提供者公開憑證檔案。請聯繫系統管理員。" - }, - { - "id": "ent.saml.configure.load_private_key.app_error", - "translation": "由於找不到服務提供者私鑰,SAML 登入失敗。請聯繫系統管理員。" - }, - { - "id": "ent.saml.configure.load_public_cert.app_error", - "translation": "找不到服務提供者公開憑證檔案。請聯繫系統管理員。" - }, - { - "id": "ent.saml.configure.not_encrypted_response.app_error", - "translation": "由於身份識別提供者的回應未加密,SAML 登入失敗。請聯繫系統管理員。" - }, - { - "id": "ent.saml.do_login.decrypt.app_error", - "translation": "由於解碼身份識別提供者的回應時發生錯誤,SAML 登入失敗。請聯繫系統管理員。" - }, - { - "id": "ent.saml.do_login.empty_response.app_error", - "translation": "身份識別提供者的回應為空值" - }, - { - "id": "ent.saml.do_login.parse.app_error", - "translation": "解析身份識別提供者的回應時發生錯誤。請聯繫系統管理員。" - }, - { - "id": "ent.saml.do_login.validate.app_error", - "translation": "驗證身份識別提供者的回應時發生錯誤。請聯繫系統管理員。" - }, - { - "id": "ent.saml.license_disable.app_error", - "translation": "您的授權不支援 SAML 認證。" - }, - { - "id": "ent.saml.metadata.app_error", - "translation": "在建立服務提供者的中繼資料時發生錯誤。" - }, - { - "id": "ent.saml.service_disable.app_error", - "translation": "本機不支援或未設定SAML" - }, - { - "id": "ent.saml.update_saml_user.unable_error", - "translation": "無法更新現有的 SAML 使用者。總之先允許登入。err=%v" - }, - { - "id": "error.generic.link_message", - "translation": "回到 Mattermost" - }, - { - "id": "error.generic.message", - "translation": "發生錯誤。" - }, - { - "id": "error.generic.title", - "translation": "錯誤" - }, - { - "id": "error.not_found.link_message", - "translation": "回到 Mattermost" - }, - { - "id": "error.not_found.message", - "translation": "您要造訪的頁面不存在。" - }, - { - "id": "error.not_found.title", - "translation": "找不到頁面" - }, - { - "id": "leave_team_modal.desc", - "translation": "將離開所有的公開頻道與私人群組。如果團隊是私人團隊,將無法重新加入。您確定嘛?" - }, - { - "id": "leave_team_modal.no", - "translation": "不" - }, - { - "id": "leave_team_modal.title", - "translation": "退出團隊?" - }, - { - "id": "leave_team_modal.yes", - "translation": "是" - }, - { - "id": "manaultesting.get_channel_id.no_found.debug", - "translation": "找不到: %v 頻道,已搜尋 %v 的可能性" - }, - { - "id": "manaultesting.get_channel_id.unable.debug", - "translation": "無法取得頻道" - }, - { - "id": "manaultesting.manual_test.create.info", - "translation": "建立使用者與團隊" - }, - { - "id": "manaultesting.manual_test.parse.app_error", - "translation": "無法解析網址" - }, - { - "id": "manaultesting.manual_test.setup.info", - "translation": "正在進行手動測試的設定..." - }, - { - "id": "manaultesting.manual_test.uid.debug", - "translation": "網址中找不到 uid" - }, - { - "id": "manaultesting.test_autolink.info", - "translation": "手動自動連結測試" - }, - { - "id": "manaultesting.test_autolink.unable.app_error", - "translation": "無法取得頻道" - }, - { - "id": "mattermost.bulletin.subject", - "translation": "Mattermost 安全性公告" - }, - { - "id": "mattermost.config_file", - "translation": "從 %v 讀取設定檔" - }, - { - "id": "mattermost.current_version", - "translation": "目前的版本為 %v (%v/%v/%v/%v)" - }, - { - "id": "mattermost.entreprise_enabled", - "translation": "企業版已啟用: %v" - }, - { - "id": "mattermost.load_license.find.warn", - "translation": "需要來自 https://mattermost.com 的授權金鑰以解鎖企業功能。" - }, - { - "id": "mattermost.security_bulletin.error", - "translation": "取得安全性公告詳情失敗" - }, - { - "id": "mattermost.security_bulletin_read.error", - "translation": "讀取安全性公告詳情失敗" - }, - { - "id": "mattermost.security_checks.debug", - "translation": "正在檢查來自 Mattermost 的安全性更新" - }, - { - "id": "mattermost.security_info.error", - "translation": "從 Mattermost 抓取安全性更新資訊失敗" - }, - { - "id": "mattermost.send_bulletin.info", - "translation": "正在傳送 %v 至 %v 的安全性公告" - }, - { - "id": "mattermost.system_admins.error", - "translation": "為抓取 Mattermost 上的安全性更新資訊獲取系統管理員失敗。" - }, - { - "id": "mattermost.working_dir", - "translation": "目前的工作目錄為 %v" - }, - { - "id": "model.access.is_valid.access_token.app_error", - "translation": "無效的存取 Token" - }, - { - "id": "model.access.is_valid.client_id.app_error", - "translation": "無效的用戶 ID" - }, - { - "id": "model.access.is_valid.redirect_uri.app_error", - "translation": "無效的重新導向網址" - }, - { - "id": "model.access.is_valid.refresh_token.app_error", - "translation": "無效的重新整理 Token" - }, - { - "id": "model.access.is_valid.user_id.app_error", - "translation": "無效的使用者 ID" - }, - { - "id": "model.authorize.is_valid.auth_code.app_error", - "translation": "無效的授權碼" - }, - { - "id": "model.authorize.is_valid.client_id.app_error", - "translation": "無效的用戶 ID" - }, - { - "id": "model.authorize.is_valid.create_at.app_error", - "translation": "\"新增時間\"必須是一個有效時間" - }, - { - "id": "model.authorize.is_valid.expires.app_error", - "translation": "必須設定到期時間" - }, - { - "id": "model.authorize.is_valid.redirect_uri.app_error", - "translation": "無效的重新導向網址" - }, - { - "id": "model.authorize.is_valid.scope.app_error", - "translation": "無效的範圍" - }, - { - "id": "model.authorize.is_valid.state.app_error", - "translation": "無效的狀態" - }, - { - "id": "model.authorize.is_valid.user_id.app_error", - "translation": "無效的使用者 ID" - }, - { - "id": "model.channel.is_valid.2_or_more.app_error", - "translation": "名稱必須是2個以上的小寫英數字元" - }, - { - "id": "model.channel.is_valid.create_at.app_error", - "translation": "\"新增時間\"必須是一個有效時間" - }, - { - "id": "model.channel.is_valid.creator_id.app_error", - "translation": "無效的建立者 ID" - }, - { - "id": "model.channel.is_valid.display_name.app_error", - "translation": "無效的顯示名稱" - }, - { - "id": "model.channel.is_valid.header.app_error", - "translation": "無效的標題" - }, - { - "id": "model.channel.is_valid.id.app_error", - "translation": "無效的 ID" - }, - { - "id": "model.channel.is_valid.name.app_error", - "translation": "無效的名稱" - }, - { - "id": "model.channel.is_valid.purpose.app_error", - "translation": "無效的目的" - }, - { - "id": "model.channel.is_valid.type.app_error", - "translation": "無效的類型" - }, - { - "id": "model.channel.is_valid.update_at.app_error", - "translation": "\"更新時間\"必須是一個有效的時間" - }, - { - "id": "model.channel_member.is_valid.channel_id.app_error", - "translation": "無效的頻道 ID" - }, - { - "id": "model.channel_member.is_valid.email_value.app_error", - "translation": "無效的電子郵件通知值" - }, - { - "id": "model.channel_member.is_valid.notify_level.app_error", - "translation": "無效的通知等級" - }, - { - "id": "model.channel_member.is_valid.push_level.app_error", - "translation": "無效的推播通知等級" - }, - { - "id": "model.channel_member.is_valid.role.app_error", - "translation": "無效的角色" - }, - { - "id": "model.channel_member.is_valid.unread_level.app_error", - "translation": "無效的未讀標記等級" - }, - { - "id": "model.channel_member.is_valid.user_id.app_error", - "translation": "無效的使用者 ID" - }, - { - "id": "model.client.connecting.app_error", - "translation": "連接伺服器時遇到錯誤" - }, - { - "id": "model.client.create_emoji.emoji.app_error", - "translation": "無法附加繪文字資料於要求" - }, - { - "id": "model.client.create_emoji.image.app_error", - "translation": "無法附加圖片於要求" - }, - { - "id": "model.client.create_emoji.writer.app_error", - "translation": "無法寫入要求" - }, - { - "id": "model.client.login.app_error", - "translation": "認證 Token 不合" - }, - { - "id": "model.client.read_file.app_error", - "translation": "讀取檔案時遇到錯誤" - }, - { - "id": "model.client.set_profile_user.no_file.app_error", - "translation": "要求的 'image' 欄位沒有檔案" - }, - { - "id": "model.client.set_profile_user.writer.app_error", - "translation": "無法寫入要求" - }, - { - "id": "model.command.is_valid.create_at.app_error", - "translation": "\"新增時間\"必須是一個有效時間" - }, - { - "id": "model.command.is_valid.description.app_error", - "translation": "無效的敘述" - }, - { - "id": "model.command.is_valid.display_name.app_error", - "translation": "無效的顯示名稱" - }, - { - "id": "model.command.is_valid.id.app_error", - "translation": "無效的 ID" - }, - { - "id": "model.command.is_valid.method.app_error", - "translation": "無效的方法" - }, - { - "id": "model.command.is_valid.team_id.app_error", - "translation": "無效的團隊 ID" - }, - { - "id": "model.command.is_valid.token.app_error", - "translation": "無效的 Token" - }, - { - "id": "model.command.is_valid.trigger.app_error", - "translation": "無效的觸發指令" - }, - { - "id": "model.command.is_valid.update_at.app_error", - "translation": "\"更新時間\"必須是一個有效的時間" - }, - { - "id": "model.command.is_valid.url.app_error", - "translation": "無效的 URL" - }, - { - "id": "model.command.is_valid.url_http.app_error", - "translation": "無效的網址。必須使用以 http:// 或 https:// 開頭的有效網址" - }, - { - "id": "model.command.is_valid.user_id.app_error", - "translation": "無效的使用者 ID" - }, - { - "id": "model.compliance.is_valid.create_at.app_error", - "translation": "\"新增時間\"必須是一個有效時間" - }, - { - "id": "model.compliance.is_valid.desc.app_error", - "translation": "無效的敘述" - }, - { - "id": "model.compliance.is_valid.end_at.app_error", - "translation": "\"到\"必須是一個有效的時間" - }, - { - "id": "model.compliance.is_valid.id.app_error", - "translation": "無效的 ID" - }, - { - "id": "model.compliance.is_valid.start_at.app_error", - "translation": "\"起始\"必須是一個有效的時間" - }, - { - "id": "model.compliance.is_valid.start_end_at.app_error", - "translation": "\"到\"必須大於\"起始\"" - }, - { - "id": "model.config.is_valid.cluster_email_batching.app_error", - "translation": "啟用叢集時無法啟用批次郵件" - }, - { - "id": "model.config.is_valid.email_batching_buffer_size.app_error", - "translation": "電子郵件設定的批次郵件緩衝大小值無效。必須大於等於零。" - }, - { - "id": "model.config.is_valid.email_batching_interval.app_error", - "translation": "電子郵件設定的批次郵件間隔值無效。必須大於等於30秒。" - }, - { - "id": "model.config.is_valid.email_reset_salt.app_error", - "translation": "電子郵件設定中的密碼重設 Salt 無效。必須在32個字元以上。" - }, - { - "id": "model.config.is_valid.email_salt.app_error", - "translation": "電子郵件設定中的邀請 Salt 無效。必須在32個字元以上。" - }, - { - "id": "model.config.is_valid.email_security.app_error", - "translation": "電子郵件設定中的連線安全性設定無效。必須為 '', 'TLS', 或 'STARTTLS'" - }, - { - "id": "model.config.is_valid.encrypt_sql.app_error", - "translation": "無效的 SQL 設定 REST 加密金鑰。必須在32個字元以上." - }, - { - "id": "model.config.is_valid.file_driver.app_error", - "translation": "檔案設定中的驅動名稱無效。必須為 'local' 或 'amazons3'" - }, - { - "id": "model.config.is_valid.file_preview_height.app_error", - "translation": "檔案設定中的預覽高度無效。必須為0或者正數。" - }, - { - "id": "model.config.is_valid.file_preview_width.app_error", - "translation": "檔案設定中的預覽寬度無效。必須為正數。" - }, - { - "id": "model.config.is_valid.file_profile_height.app_error", - "translation": "檔案設定中的個人資訊高度無效。必須為正數。" - }, - { - "id": "model.config.is_valid.file_profile_width.app_error", - "translation": "檔案設定中的個人資訊寬度無效。必須為正數。" - }, - { - "id": "model.config.is_valid.file_salt.app_error", - "translation": "檔案設定中的公開連結 Salt 無效。必須在32個字元以上。" - }, - { - "id": "model.config.is_valid.file_thumb_height.app_error", - "translation": "檔案設定中縮圖高度無效。必須為正數。" - }, - { - "id": "model.config.is_valid.file_thumb_width.app_error", - "translation": "檔案設定中縮圖寬度無效。必須為正數。" - }, - { - "id": "model.config.is_valid.ldap_basedn", - "translation": "AD/LDAP 欄位 \"BaseDN\" 為必須欄位。" - }, - { - "id": "model.config.is_valid.ldap_bind_password", - "translation": "AD/LDAP 欄位 \"綁定使用者密碼\" 為必須欄位。" - }, - { - "id": "model.config.is_valid.ldap_bind_username", - "translation": "AD/LDAP 欄位 \"綁定使用者帳號\" 為必須欄位。" - }, - { - "id": "model.config.is_valid.ldap_email", - "translation": "AD/LDAP 欄位 \"電子郵件位址屬性\" 為必須欄位。" - }, - { - "id": "model.config.is_valid.ldap_firstname", - "translation": "AD/LDAP 欄位 \"名字屬性\" 為必須欄位。" - }, - { - "id": "model.config.is_valid.ldap_id", - "translation": "AD/LDAP 欄位 \"ID 的屬性\" 為必須欄位。" - }, - { - "id": "model.config.is_valid.ldap_lastname", - "translation": "AD/LDAP 欄位 \"姓氏屬性\" 為必須欄位。" - }, - { - "id": "model.config.is_valid.ldap_max_page_size.app_error", - "translation": "無效的最大分頁大小。" - }, - { - "id": "model.config.is_valid.ldap_required.app_error", - "translation": "遺漏 AD/LDAP 必填欄位" - }, - { - "id": "model.config.is_valid.ldap_required.app_error", - "translation": "遺漏 AD/LDAP 必填欄位" - }, - { - "id": "model.config.is_valid.ldap_security.app_error", - "translation": "AD/LDAP 設定中的連線安全性設定無效. 必須為 '', 'TLS', 或 'STARTTLS'" - }, - { - "id": "model.config.is_valid.ldap_server", - "translation": "AD/LDAP 欄位 \"LDAP 伺服器\" 為必須欄位。" - }, - { - "id": "model.config.is_valid.ldap_sync_interval.app_error", - "translation": "無效的同步間隔。最短為一分鐘。" - }, - { - "id": "model.config.is_valid.ldap_username", - "translation": "AD/LDAP 欄位 \"使用者名稱的屬性\" 為必須欄位。" - }, - { - "id": "model.config.is_valid.listen_address.app_error", - "translation": "服務設定中的聆聽位址無效。此項目必須設定" - }, - { - "id": "model.config.is_valid.login_attempts.app_error", - "translation": "服務設定中的最多登入嘗試次數無效。必須為正數." - }, - { - "id": "model.config.is_valid.max_burst.app_error", - "translation": "最大高載值必須大於0。" - }, - { - "id": "model.config.is_valid.max_channels.app_error", - "translation": "團隊設定中的單一團隊最高頻道數無效。必須為正數。" - }, - { - "id": "model.config.is_valid.max_file_size.app_error", - "translation": "檔案設定中的最大大小無效。必須為0或者正數。" - }, - { - "id": "model.config.is_valid.max_notify_per_channel.app_error", - "translation": "團隊設定中的單一團隊最高通知數無效。必須為正數。" - }, - { - "id": "model.config.is_valid.max_users.app_error", - "translation": "團隊設定中的單一團隊最高使用者數無效。必須為正數。" - }, - { - "id": "model.config.is_valid.password_length.app_error", - "translation": "密碼最小長度必須是一個整數且大於或等於{{.MinLength}}同時小於或等於{{.MaxLength}}。" - }, - { - "id": "model.config.is_valid.password_length_max_min.app_error", - "translation": "密碼最大長度必須大於等於最小長度。" - }, - { - "id": "model.config.is_valid.rate_mem.app_error", - "translation": "張貼速率限制設定中的記憶體儲存大小無效。必須為正數。" - }, - { - "id": "model.config.is_valid.rate_sec.app_error", - "translation": "張貼速率限制設定中的每秒設定無效。必須為正數。" - }, - { - "id": "model.config.is_valid.read_timeout.app_error", - "translation": "讀取逾時的值不正確。" - }, - { - "id": "model.config.is_valid.restrict_direct_message.app_error", - "translation": "無效的直接訊息限制。必須為 'any', 或 'team'" - }, - { - "id": "model.config.is_valid.saml_assertion_consumer_service_url.app_error", - "translation": "無效的網址。服務提供者登入網址必須使用以 http:// 或 https:// 開頭的有效網址。" - }, - { - "id": "model.config.is_valid.saml_email_attribute.app_error", - "translation": "無效的電子郵件屬性。此屬性必須設定。" - }, - { - "id": "model.config.is_valid.saml_idp_cert.app_error", - "translation": "找不到身份識別提供者公開憑證。是否忘記上傳?" - }, - { - "id": "model.config.is_valid.saml_idp_descriptor_url.app_error", - "translation": "身份識別提供者的簽發者網址必須是有效且以 http:// 或 https:// 開頭的網址。" - }, - { - "id": "model.config.is_valid.saml_idp_url.app_error", - "translation": "SAML SSO 網址必須使用以 http:// 或 https:// 開頭的有效網址。" - }, - { - "id": "model.config.is_valid.saml_private_key.app_error", - "translation": "找不到身份識別提供者私鑰。是否忘記上傳?" - }, - { - "id": "model.config.is_valid.saml_public_cert.app_error", - "translation": "找不到服務提供者公開憑證。是否忘記上傳?" - }, - { - "id": "model.config.is_valid.saml_username_attribute.app_error", - "translation": "無效的使用者名稱屬性。此屬性必須設定。" - }, - { - "id": "model.config.is_valid.site_url.app_error", - "translation": "站台網址必須使用以 http:// 或 https:// 開頭的有效網址。" - }, - { - "id": "model.config.is_valid.site_url_email_batching.app_error", - "translation": "站台網址設定完畢之前無法啟用批次郵件" - }, - { - "id": "model.config.is_valid.sitename_length.app_error", - "translation": "站台名稱至多{{.MaxLength}}個字" - }, - { - "id": "model.config.is_valid.sql_data_src.app_error", - "translation": "SQL 設定中的資料來源無效。此項目必須設定." - }, - { - "id": "model.config.is_valid.sql_driver.app_error", - "translation": "SQL 設定中的驅動名稱無效。必須為 'mysql' 或 'postgres'" - }, - { - "id": "model.config.is_valid.sql_idle.app_error", - "translation": "SQL 設定中的最高閒置連線數無效。必須為正數。" - }, - { - "id": "model.config.is_valid.sql_max_conn.app_error", - "translation": "SQL 設定中的最高開啟連線數無效。必須為正數。" - }, - { - "id": "model.config.is_valid.time_between_user_typing.app_error", - "translation": "使用者輸入更新間隔不應該設定為低於 1000 毫秒。" - }, - { - "id": "model.config.is_valid.webrtc_gateway_admin_secret.app_error", - "translation": "必須設定 WebRTC 閘道管理員密碼。" - }, - { - "id": "model.config.is_valid.webrtc_gateway_admin_url.app_error", - "translation": "WebRTC 閘道管理員網址必須是以 http:// 或 https:// 起始的有效網址。" - }, - { - "id": "model.config.is_valid.webrtc_gateway_ws_url.app_error", - "translation": "WebRTC 閘道 Websocket 網址必須是以 ws:// 或 wss:// 起始的有效網址。" - }, - { - "id": "model.config.is_valid.webrtc_stun_uri.app_error", - "translation": "WebRTC STUN URI 必須是以 stun: 的有效 URI。" - }, - { - "id": "model.config.is_valid.webrtc_turn_shared_key.app_error", - "translation": "如果已設定 TURN URI,WebRTC TURN 共享金鑰不能為空。" - }, - { - "id": "model.config.is_valid.webrtc_turn_uri.app_error", - "translation": "WebRTC TURN URI 必須是以 turn: 的有效 URI。" - }, - { - "id": "model.config.is_valid.webrtc_turn_username.app_error", - "translation": "如果已設定 TURN URI,WebRTC TURN 使用者名稱不能為空。" - }, - { - "id": "model.config.is_valid.webserver_security.app_error", - "translation": "網頁伺服器連線安全的值不正確。" - }, - { - "id": "model.config.is_valid.write_timeout.app_error", - "translation": "寫入逾時的值不正確。" - }, - { - "id": "model.emoji.create_at.app_error", - "translation": "\"新增時間\"必須是一個有效時間" - }, - { - "id": "model.emoji.creator_id.app_error", - "translation": "無效的建立者 ID" - }, - { - "id": "model.emoji.id.app_error", - "translation": "無效的繪文字 ID" - }, - { - "id": "model.emoji.name.app_error", - "translation": "名稱必須是長度為1到64之間的小寫英數字元" - }, - { - "id": "model.emoji.update_at.app_error", - "translation": "\"更新時間\"必須是一個有效的時間" - }, - { - "id": "model.file_info.get.gif.app_error", - "translation": "無法將 gif 解碼." - }, - { - "id": "model.incoming_hook.channel_id.app_error", - "translation": "無效的頻道 ID" - }, - { - "id": "model.incoming_hook.create_at.app_error", - "translation": "\"新增時間\"必須是一個有效時間" - }, - { - "id": "model.incoming_hook.description.app_error", - "translation": "無效的敘述" - }, - { - "id": "model.incoming_hook.display_name.app_error", - "translation": "無效的顯示名稱" - }, - { - "id": "model.incoming_hook.id.app_error", - "translation": "無效的 ID" - }, - { - "id": "model.incoming_hook.team_id.app_error", - "translation": "無效的團隊 ID" - }, - { - "id": "model.incoming_hook.update_at.app_error", - "translation": "\"更新時間\"必須是一個有效的時間" - }, - { - "id": "model.incoming_hook.user_id.app_error", - "translation": "無效的使用者 ID" - }, - { - "id": "model.oauth.is_valid.app_id.app_error", - "translation": "無效的應用程式 ID" - }, - { - "id": "model.oauth.is_valid.callback.app_error", - "translation": "回呼網址必須使用以 http:// 或 https:// 開頭的有效網址。" - }, - { - "id": "model.oauth.is_valid.client_secret.app_error", - "translation": "無效的用戶密碼" - }, - { - "id": "model.oauth.is_valid.create_at.app_error", - "translation": "\"新增時間\"必須是一個有效時間" - }, - { - "id": "model.oauth.is_valid.creator_id.app_error", - "translation": "無效的建立者 ID" - }, - { - "id": "model.oauth.is_valid.description.app_error", - "translation": "無效的敘述" - }, - { - "id": "model.oauth.is_valid.homepage.app_error", - "translation": "首頁網址必須使用以 http:// 或 https:// 開頭的有效網址。" - }, - { - "id": "model.oauth.is_valid.icon_url.app_error", - "translation": "圖示網址必須使用以 http:// 或 https:// 開頭的有效網址。" - }, - { - "id": "model.oauth.is_valid.name.app_error", - "translation": "無效的名稱" - }, - { - "id": "model.oauth.is_valid.update_at.app_error", - "translation": "\"更新時間\"必須是一個有效的時間" - }, - { - "id": "model.outgoing_hook.is_valid.callback.app_error", - "translation": "無效的回呼網址" - }, - { - "id": "model.outgoing_hook.is_valid.channel_id.app_error", - "translation": "無效的頻道 ID" - }, - { - "id": "model.outgoing_hook.is_valid.create_at.app_error", - "translation": "\"新增時間\"必須是一個有效時間" - }, - { - "id": "model.outgoing_hook.is_valid.description.app_error", - "translation": "無效的敘述" - }, - { - "id": "model.outgoing_hook.is_valid.display_name.app_error", - "translation": "無效的顯示名稱" - }, - { - "id": "model.outgoing_hook.is_valid.id.app_error", - "translation": "無效的 ID" - }, - { - "id": "model.outgoing_hook.is_valid.team_id.app_error", - "translation": "無效的團隊 ID" - }, - { - "id": "model.outgoing_hook.is_valid.token.app_error", - "translation": "無效的 Token" - }, - { - "id": "model.outgoing_hook.is_valid.trigger_words.app_error", - "translation": "無效的觸發關鍵字" - }, - { - "id": "model.outgoing_hook.is_valid.update_at.app_error", - "translation": "\"更新時間\"必須是一個有效的時間" - }, - { - "id": "model.outgoing_hook.is_valid.url.app_error", - "translation": "無效的回呼網址。每一個都必須是有效的網址並以 http:// or https:// 開頭" - }, - { - "id": "model.outgoing_hook.is_valid.user_id.app_error", - "translation": "無效的使用者 ID" - }, - { - "id": "model.outgoing_hook.is_valid.words.app_error", - "translation": "無效的觸發關鍵字" - }, - { - "id": "model.post.is_valid.channel_id.app_error", - "translation": "無效的頻道 id" - }, - { - "id": "model.post.is_valid.create_at.app_error", - "translation": "\"新增時間\"必須是一個有效時間" - }, - { - "id": "model.post.is_valid.file_ids.app_error", - "translation": "無效的檔名 ID" - }, - { - "id": "model.post.is_valid.filenames.app_error", - "translation": "無效的檔名" - }, - { - "id": "model.post.is_valid.hashtags.app_error", - "translation": "無效的 hashtags" - }, - { - "id": "model.post.is_valid.id.app_error", - "translation": "無效的 ID" - }, - { - "id": "model.post.is_valid.msg.app_error", - "translation": "無效的訊息" - }, - { - "id": "model.post.is_valid.original_id.app_error", - "translation": "無效的原始 ID" - }, - { - "id": "model.post.is_valid.parent_id.app_error", - "translation": "無效的上層 ID" - }, - { - "id": "model.post.is_valid.props.app_error", - "translation": "無效的屬性" - }, - { - "id": "model.post.is_valid.root_id.app_error", - "translation": "無效的根 ID" - }, - { - "id": "model.post.is_valid.root_parent.app_error", - "translation": "若上層 ID 已設定則根 ID 也必須設定否則無效" - }, - { - "id": "model.post.is_valid.type.app_error", - "translation": "無效的類型" - }, - { - "id": "model.post.is_valid.update_at.app_error", - "translation": "\"更新時間\"必須是一個有效的時間" - }, - { - "id": "model.post.is_valid.user_id.app_error", - "translation": "無效的使用者 ID" - }, - { - "id": "model.preference.is_valid.category.app_error", - "translation": "無效的類別" - }, - { - "id": "model.preference.is_valid.id.app_error", - "translation": "無效的使用者 ID" - }, - { - "id": "model.preference.is_valid.name.app_error", - "translation": "無效的名稱" - }, - { - "id": "model.preference.is_valid.theme.app_error", - "translation": "無效的佈景主題" - }, - { - "id": "model.preference.is_valid.value.app_error", - "translation": "值過長" - }, - { - "id": "model.reaction.is_valid.create_at.app_error", - "translation": "\"新增時間\"必須是一個有效時間" - }, - { - "id": "model.reaction.is_valid.emoji_name.app_error", - "translation": "無效的繪文字名稱" - }, - { - "id": "model.reaction.is_valid.post_id.app_error", - "translation": "無效的文章 ID" - }, - { - "id": "model.reaction.is_valid.user_id.app_error", - "translation": "無效的使用者 ID" - }, - { - "id": "model.team.is_valid.characters.app_error", - "translation": "名稱必須是2個以上的小寫英數字元" - }, - { - "id": "model.team.is_valid.company.app_error", - "translation": "無效的公司名稱" - }, - { - "id": "model.team.is_valid.create_at.app_error", - "translation": "\"新增時間\"必須是一個有效時間" - }, - { - "id": "model.team.is_valid.description.app_error", - "translation": "無效的敘述" - }, - { - "id": "model.team.is_valid.domains.app_error", - "translation": "無效的許可網域" - }, - { - "id": "model.team.is_valid.email.app_error", - "translation": "無效的電子郵件" - }, - { - "id": "model.team.is_valid.id.app_error", - "translation": "無效的 ID" - }, - { - "id": "model.team.is_valid.name.app_error", - "translation": "無效的名稱" - }, - { - "id": "model.team.is_valid.reserved.app_error", - "translation": "這個網址不存在。請嘗試其他的。" - }, - { - "id": "model.team.is_valid.type.app_error", - "translation": "無效的類型" - }, - { - "id": "model.team.is_valid.update_at.app_error", - "translation": "\"更新時間\"必須是一個有效的時間" - }, - { - "id": "model.team.is_valid.url.app_error", - "translation": "無效的 URL 識別碼" - }, - { - "id": "model.team_member.is_valid.role.app_error", - "translation": "無效的角色" - }, - { - "id": "model.team_member.is_valid.team_id.app_error", - "translation": "無效的團隊 ID" - }, - { - "id": "model.team_member.is_valid.user_id.app_error", - "translation": "無效的使用者 ID" - }, - { - "id": "model.user.is_valid.auth_data.app_error", - "translation": "無效的驗證資料" - }, - { - "id": "model.user.is_valid.auth_data_pwd.app_error", - "translation": "無效的使用者,密碼與認證資料不能同時被設定" - }, - { - "id": "model.user.is_valid.auth_data_type.app_error", - "translation": "無效的使用者,認證資料必須與認證類別一起被設定" - }, - { - "id": "model.user.is_valid.create_at.app_error", - "translation": "\"新增時間\"必須是一個有效時間" - }, - { - "id": "model.user.is_valid.email.app_error", - "translation": "無效的電子郵件地址" - }, - { - "id": "model.user.is_valid.first_name.app_error", - "translation": "無效的名字" - }, - { - "id": "model.user.is_valid.id.app_error", - "translation": "無效的使用者 ID" - }, - { - "id": "model.user.is_valid.last_name.app_error", - "translation": "無效的姓氏" - }, - { - "id": "model.user.is_valid.nickname.app_error", - "translation": "無效的暱稱" - }, - { - "id": "model.user.is_valid.position.app_error", - "translation": "無效的位置:不能超過35個字元。" - }, - { - "id": "model.user.is_valid.pwd.app_error", - "translation": "密碼最短必須有{{.Min}}個字元。" - }, - { - "id": "model.user.is_valid.pwd_lowercase.app_error", - "translation": "密碼最短必須有{{.Min}}個字元且至少有一個小寫英文字母。" - }, - { - "id": "model.user.is_valid.pwd_lowercase_number.app_error", - "translation": "密碼最短必須有{{.Min}}個字元且至少有一個小寫英文字母和一個數字。" - }, - { - "id": "model.user.is_valid.pwd_lowercase_number_symbol.app_error", - "translation": "密碼最短必須有{{.Min}}個字元且至少有一個小寫英文字母、一個數字和一個符號(\"~!@#$%^&*()\")。" - }, - { - "id": "model.user.is_valid.pwd_lowercase_symbol.app_error", - "translation": "密碼最短必須有{{.Min}}個字元且至少有一個小寫英文字母和一個符號(\"~!@#$%^&*()\")。" - }, - { - "id": "model.user.is_valid.pwd_lowercase_uppercase.app_error", - "translation": "密碼最短必須有{{.Min}}個字元且至少有一個小寫英文字母和一個大寫英文字母。" - }, - { - "id": "model.user.is_valid.pwd_lowercase_uppercase_number.app_error", - "translation": "密碼最短必須有{{.Min}}個字元且至少有一個小寫英文字母、一個大寫英文字母和一個數字。" - }, - { - "id": "model.user.is_valid.pwd_lowercase_uppercase_number_symbol.app_error", - "translation": "密碼最短必須有{{.Min}}個字元且至少有一個小寫英文字母、一個大寫英文字母、一個數字和一個符號(\"~!@#$%^&*()\")。" - }, - { - "id": "model.user.is_valid.pwd_lowercase_uppercase_symbol.app_error", - "translation": "密碼最短必須有{{.Min}}個字元且至少有一個小寫英文字母、一個大寫英文字母和一個符號(\"~!@#$%^&*()\")。" - }, - { - "id": "model.user.is_valid.pwd_number.app_error", - "translation": "密碼最短必須有{{.Min}}個字元且至少有一個數字。" - }, - { - "id": "model.user.is_valid.pwd_number_symbol.app_error", - "translation": "密碼最短必須有{{.Min}}個字元且至少有一個數字和一個符號(\"~!@#$%^&*()\")。" - }, - { - "id": "model.user.is_valid.pwd_symbol.app_error", - "translation": "密碼最短必須有{{.Min}}個字元且至少有一個符號(\"~!@#$%^&*()\")。" - }, - { - "id": "model.user.is_valid.pwd_uppercase.app_error", - "translation": "密碼最短必須有{{.Min}}個字元且至少有一個大寫英文字母。" - }, - { - "id": "model.user.is_valid.pwd_uppercase_number.app_error", - "translation": "密碼最短必須有{{.Min}}個字元且至少有一個大寫英文字母和一個數字。" - }, - { - "id": "model.user.is_valid.pwd_uppercase_number_symbol.app_error", - "translation": "密碼最短必須有{{.Min}}個字元且至少有一個大寫英文字母、一個數字和一個符號(\"~!@#$%^&*()\")。" - }, - { - "id": "model.user.is_valid.pwd_uppercase_symbol.app_error", - "translation": "密碼最短必須有{{.Min}}個字元且至少有一個大寫英文字母和一個符號(\"~!@#$%^&*()\")。" - }, - { - "id": "model.user.is_valid.team_id.app_error", - "translation": "無效的團隊 ID" - }, - { - "id": "model.user.is_valid.update_at.app_error", - "translation": "\"更新時間\"必須是一個有效的時間" - }, - { - "id": "model.user.is_valid.username.app_error", - "translation": "無效的使用者名稱" - }, - { - "id": "model.utils.decode_json.app_error", - "translation": "無法解碼" - }, - { - "id": "store.sql.alter_column_type.critical", - "translation": "更動欄位類型 %v 失敗" - }, - { - "id": "store.sql.check_index.critical", - "translation": "檢查索引 %v 失敗" - }, - { - "id": "store.sql.closing.info", - "translation": "正在關閉 SqlStore" - }, - { - "id": "store.sql.column_exists.critical", - "translation": "檢查欄位是否存在失敗 %v" - }, - { - "id": "store.sql.column_exists_missing_driver.critical", - "translation": "因為找不到驅動,檢查欄位是否存在失敗" - }, - { - "id": "store.sql.convert_encrypt_string_map", - "translation": "FromDb: 無法將 EncryptStringMap 轉換為 *string" - }, - { - "id": "store.sql.convert_string_array", - "translation": "FromDb: 無法將 StringArray 轉換為 *string" - }, - { - "id": "store.sql.convert_string_interface", - "translation": "FromDb: 無法將 StringInterface 轉換為 *string" - }, - { - "id": "store.sql.convert_string_map", - "translation": "FromDb: 無法將 StringMap 轉換為 *string" - }, - { - "id": "store.sql.create_column.critical", - "translation": "建立欄位 %v 失敗" - }, - { - "id": "store.sql.create_column_missing_driver.critical", - "translation": "因為找不到驅動,建立欄位失敗" - }, - { - "id": "store.sql.create_index.critical", - "translation": "建立索引 %v 失敗" - }, - { - "id": "store.sql.create_index_missing_driver.critical", - "translation": "因為找不到驅動,建立索引失敗" - }, - { - "id": "store.sql.creating_tables.critical", - "translation": "建立資料表時遇到錯誤: %v" - }, - { - "id": "store.sql.dialect_driver.critical", - "translation": "建立 SQL 方言專屬驅動失敗" - }, - { - "id": "store.sql.dialect_driver.panic", - "translation": "建立 SQL 方言專屬驅動 %v 失敗" - }, - { - "id": "store.sql.drop_column.critical", - "translation": "刪除欄位 %v 失敗" - }, - { - "id": "store.sql.incorrect_mac", - "translation": "密文對應的 MAC 不正確" - }, - { - "id": "store.sql.maxlength_column.critical", - "translation": "取得欄位 %v 最大長度失敗" - }, - { - "id": "store.sql.open_conn.critical", - "translation": "開啟 SQL 連線失敗 err:%v" - }, - { - "id": "store.sql.open_conn.panic", - "translation": "開啟 SQL 連線失敗 %v" - }, - { - "id": "store.sql.ping.critical", - "translation": "偵測資料庫失敗 err:%v" - }, - { - "id": "store.sql.pinging.info", - "translation": "正在偵測 sql %v 資料庫" - }, - { - "id": "store.sql.read_replicas_not_licensed.critical", - "translation": "目前授權不支援超過一個以上的讀取用複製機,請聯繫系統管理員升級到企業授權。" - }, - { - "id": "store.sql.remove_index.critical", - "translation": "移除索引 %v 失敗" - }, - { - "id": "store.sql.rename_column.critical", - "translation": "更名欄位 %v 失敗" - }, - { - "id": "store.sql.schema_out_of_date.warn", - "translation": "%v 的資料庫結構描述版本似乎過期了" - }, - { - "id": "store.sql.schema_set.info", - "translation": "資料庫結構描述已被設定為版本 %v" - }, - { - "id": "store.sql.schema_upgrade_attempt.warn", - "translation": "正在嘗試將資料庫結構描述版本升級至 %v" - }, - { - "id": "store.sql.schema_version.critical", - "translation": "%v 的資料庫結構描述版本無法升級。請不要跳過中間版本。" - }, - { - "id": "store.sql.short_ciphertext", - "translation": "短密文" - }, - { - "id": "store.sql.table_column_type.critical", - "translation": "取得資料類型失敗,欄位 %s 資料表 %s : %v" - }, - { - "id": "store.sql.table_exists.critical", - "translation": "檢查資料表是否存在失敗 %v" - }, - { - "id": "store.sql.too_short_ciphertext", - "translation": "密文太短" - }, - { - "id": "store.sql.upgraded.warn", - "translation": "資料庫結構描述已被升級至版本 %v" - }, - { - "id": "store.sql_audit.get.finding.app_error", - "translation": "尋找稽核紀錄時遇到錯誤" - }, - { - "id": "store.sql_audit.get.limit.app_error", - "translation": "分頁已達限制" - }, - { - "id": "store.sql_audit.permanent_delete_by_user.app_error", - "translation": "刪除稽核紀錄時遇到錯誤" - }, - { - "id": "store.sql_audit.save.saving.app_error", - "translation": "儲存稽核紀錄時遇到錯誤" - }, - { - "id": "store.sql_channel.analytics_deleted_type_count.app_error", - "translation": "無法取得已刪除的頻道類別數量" - }, - { - "id": "store.sql_channel.analytics_type_count.app_error", - "translation": "無法取得頻道類別數量" - }, - { - "id": "store.sql_channel.check_open_channel_permissions.app_error", - "translation": "無法檢查權限" - }, - { - "id": "store.sql_channel.check_permissions.app_error", - "translation": "無法檢查權限" - }, - { - "id": "store.sql_channel.check_permissions_by_name.app_error", - "translation": "無法檢查權限" - }, - { - "id": "store.sql_channel.delete.channel.app_error", - "translation": "無法刪除頻道" - }, - { - "id": "store.sql_channel.extra_updated.app_error", - "translation": "更新成員的最後更新時間時遇到問題" - }, - { - "id": "store.sql_channel.get.existing.app_error", - "translation": "找不到現有的頻道" - }, - { - "id": "store.sql_channel.get.find.app_error", - "translation": "尋找頻道時遇到錯誤" - }, - { - "id": "store.sql_channel.get_all.app_error", - "translation": "無法取得所有的頻道" - }, - { - "id": "store.sql_channel.get_by_name.existing.app_error", - "translation": "找不到現有的頻道" - }, - { - "id": "store.sql_channel.get_by_name.missing.app_error", - "translation": "頻道不存在" - }, - { - "id": "store.sql_channel.get_channel_counts.get.app_error", - "translation": "無法取得頻道數" - }, - { - "id": "store.sql_channel.get_channels.get.app_error", - "translation": "無法取得這些頻道" - }, - { - "id": "store.sql_channel.get_channels.not_found.app_error", - "translation": "找不到頻道" - }, - { - "id": "store.sql_channel.get_deleted_by_name.existing.app_error", - "translation": "找不到現有的已刪除頻道" - }, - { - "id": "store.sql_channel.get_deleted_by_name.missing.app_error", - "translation": "沒有該名字的已刪除頻道" - }, - { - "id": "store.sql_channel.get_extra_members.app_error", - "translation": "無法取得頻道成員的更多資訊" - }, - { - "id": "store.sql_channel.get_for_post.app_error", - "translation": "無法取得此發文的頻道" - }, - { - "id": "store.sql_channel.get_member.app_error", - "translation": "無法取得頻道的成員" - }, - { - "id": "store.sql_channel.get_member.missing.app_error", - "translation": "相關的使用者 ID 與頻道 ID 找不到任何頻道成員" - }, - { - "id": "store.sql_channel.get_member_count.app_error", - "translation": "無法取得頻道成員數" - }, - { - "id": "store.sql_channel.get_member_for_post.app_error", - "translation": "無法取得此發文的頻道成員" - }, - { - "id": "store.sql_channel.get_members.app_error", - "translation": "無法取得頻道成員" - }, - { - "id": "store.sql_channel.get_members_by_ids.app_error", - "translation": "無法取得頻道成員" - }, - { - "id": "store.sql_channel.get_more_channels.get.app_error", - "translation": "無法取得這些頻道" - }, - { - "id": "store.sql_channel.increment_mention_count.app_error", - "translation": "無法遞增提及計數" - }, - { - "id": "store.sql_channel.permanent_delete.app_error", - "translation": "無法刪除頻道" - }, - { - "id": "store.sql_channel.permanent_delete_by_team.app_error", - "translation": "無法刪除這些頻道" - }, - { - "id": "store.sql_channel.permanent_delete_members_by_user.app_error", - "translation": "無法移除頻道成員" - }, - { - "id": "store.sql_channel.remove_member.app_error", - "translation": "無法移除頻道成員" - }, - { - "id": "store.sql_channel.save.commit_transaction.app_error", - "translation": "無法提交交易" - }, - { - "id": "store.sql_channel.save.direct_channel.app_error", - "translation": "使用 SaveDirectChannel 建立一個直接訊息頻道" - }, - { - "id": "store.sql_channel.save.open_transaction.app_error", - "translation": "無法開啟交易" - }, - { - "id": "store.sql_channel.save_channel.current_count.app_error", - "translation": "取得目前的頻道數量失敗" - }, - { - "id": "store.sql_channel.save_channel.existing.app_error", - "translation": "必須為已存在的頻道執行更新" - }, - { - "id": "store.sql_channel.save_channel.exists.app_error", - "translation": "相同名字的頻道已存在於同團隊" - }, - { - "id": "store.sql_channel.save_channel.limit.app_error", - "translation": "已達允許加入的頻道總數量限制。" - }, - { - "id": "store.sql_channel.save_channel.previously.app_error", - "translation": "該網址先前已有建立頻道" - }, - { - "id": "store.sql_channel.save_channel.save.app_error", - "translation": "無法儲存頻道" - }, - { - "id": "store.sql_channel.save_direct_channel.add_members.app_error", - "translation": "無法新增直接訊息頻道的成員" - }, - { - "id": "store.sql_channel.save_direct_channel.commit.app_error", - "translation": "無法提交交易" - }, - { - "id": "store.sql_channel.save_direct_channel.not_direct.app_error", - "translation": "嘗試使用 SaveDirectChannel 建立的不是直接訊息頻道" - }, - { - "id": "store.sql_channel.save_direct_channel.open_transaction.app_error", - "translation": "無法開啟交易" - }, - { - "id": "store.sql_channel.save_member.commit_transaction.app_error", - "translation": "無法提交交易" - }, - { - "id": "store.sql_channel.save_member.exists.app_error", - "translation": "該 ID 的頻道使用者已存在" - }, - { - "id": "store.sql_channel.save_member.open_transaction.app_error", - "translation": "無法開啟交易" - }, - { - "id": "store.sql_channel.save_member.save.app_error", - "translation": "無法儲存頻道成員" - }, - { - "id": "store.sql_channel.search.app_error", - "translation": "搜尋頻道時遇到錯誤" - }, - { - "id": "store.sql_channel.set_last_viewed_at.app_error", - "translation": "無法更新最後瀏覽時間" - }, - { - "id": "store.sql_channel.update.app_error", - "translation": "無法更新頻道" - }, - { - "id": "store.sql_channel.update.exists.app_error", - "translation": "該識別名已經被其他頻道使用" - }, - { - "id": "store.sql_channel.update.previously.app_error", - "translation": "該識別名先前已有建立頻道" - }, - { - "id": "store.sql_channel.update.updating.app_error", - "translation": "更新頻道時遇到錯誤" - }, - { - "id": "store.sql_channel.update_last_viewed_at.app_error", - "translation": "無法更新最後瀏覽時間" - }, - { - "id": "store.sql_channel.update_member.app_error", - "translation": "更新頻道成員時遇到錯誤" - }, - { - "id": "store.sql_command.analytics_command_count.app_error", - "translation": "無法計算命令數量" - }, - { - "id": "store.sql_command.save.delete.app_error", - "translation": "無法刪除命令" - }, - { - "id": "store.sql_command.save.delete_perm.app_error", - "translation": "無法刪除命令" - }, - { - "id": "store.sql_command.save.get.app_error", - "translation": "無法取得命令" - }, - { - "id": "store.sql_command.save.get_team.app_error", - "translation": "無法取得命令" - }, - { - "id": "store.sql_command.save.saving.app_error", - "translation": "無法儲存命令" - }, - { - "id": "store.sql_command.save.saving_overwrite.app_error", - "translation": "無法覆蓋已存在的命令" - }, - { - "id": "store.sql_command.save.update.app_error", - "translation": "無法更新命令" - }, - { - "id": "store.sql_compliance.get.finding.app_error", - "translation": "取得規範報告時遇到錯誤" - }, - { - "id": "store.sql_compliance.save.saving.app_error", - "translation": "儲存規範報告時遇到錯誤" - }, - { - "id": "store.sql_emoji.delete.app_error", - "translation": "無法刪除繪文字" - }, - { - "id": "store.sql_emoji.delete.no_results", - "translation": "找不到要刪除的繪文字" - }, - { - "id": "store.sql_emoji.get.app_error", - "translation": "無法取得繪文字" - }, - { - "id": "store.sql_emoji.get_all.app_error", - "translation": "無法取得繪文字" - }, - { - "id": "store.sql_emoji.get_by_name.app_error", - "translation": "無法取得繪文字" - }, - { - "id": "store.sql_emoji.save.app_error", - "translation": "無法儲存繪文字" - }, - { - "id": "store.sql_file_info.attach_to_post.app_error", - "translation": "無法添加檔案訊息到發文上" - }, - { - "id": "store.sql_file_info.delete_for_post.app_error", - "translation": "無法從發文刪除檔案訊息" - }, - { - "id": "store.sql_file_info.get.app_error", - "translation": "無法取得檔案訊息" - }, - { - "id": "store.sql_file_info.get_by_path.app_error", - "translation": "無法根據路徑取得檔案訊息" - }, - { - "id": "store.sql_file_info.get_for_post.app_error", - "translation": "無法取得發文的檔案訊息" - }, - { - "id": "store.sql_file_info.save.app_error", - "translation": "無法儲存檔案訊息" - }, - { - "id": "store.sql_license.get.app_error", - "translation": "取得授權時遇到錯誤" - }, - { - "id": "store.sql_license.get.missing.app_error", - "translation": "找不到該授權 ID" - }, - { - "id": "store.sql_license.save.app_error", - "translation": "儲存授權時遇到錯誤" - }, - { - "id": "store.sql_oauth.delete.commit_transaction.app_error", - "translation": "無法提交交易" - }, - { - "id": "store.sql_oauth.delete.open_transaction.app_error", - "translation": "無法開啟交易以刪除 OAuth2 應用程式" - }, - { - "id": "store.sql_oauth.delete.rollback_transaction.app_error", - "translation": "無法回復交易以刪除 OAuth2 應用程式" - }, - { - "id": "store.sql_oauth.delete_app.app_error", - "translation": "刪除 OAuth2 應用程式時發生錯誤" - }, - { - "id": "store.sql_oauth.get_access_data.app_error", - "translation": "尋找存取 Token 時遇到錯誤" - }, - { - "id": "store.sql_oauth.get_access_data_by_user_for_app.app_error", - "translation": "尋找存取 Token 時遇到錯誤" - }, - { - "id": "store.sql_oauth.get_app.find.app_error", - "translation": "找不到要求的應用程式" - }, - { - "id": "store.sql_oauth.get_app.finding.app_error", - "translation": "尋找應用程式時遇到錯誤" - }, - { - "id": "store.sql_oauth.get_app_by_user.find.app_error", - "translation": "找不到任何已存在的應用程式" - }, - { - "id": "store.sql_oauth.get_apps.find.app_error", - "translation": "尋找 OAuth2 應用程式時發生錯誤" - }, - { - "id": "store.sql_oauth.get_auth_data.find.app_error", - "translation": "找不到授權碼" - }, - { - "id": "store.sql_oauth.get_auth_data.finding.app_error", - "translation": "尋找授權碼時遇到錯誤" - }, - { - "id": "store.sql_oauth.get_previous_access_data.app_error", - "translation": "尋找存取 Token 時遇到錯誤" - }, - { - "id": "store.sql_oauth.permanent_delete_auth_data_by_user.app_error", - "translation": "無法移除授權碼" - }, - { - "id": "store.sql_oauth.remove_access_data.app_error", - "translation": "無法移除存取 Token" - }, - { - "id": "store.sql_oauth.remove_auth_data.app_error", - "translation": "無法移除授權碼" - }, - { - "id": "store.sql_oauth.save_access_data.app_error", - "translation": "無法儲存存取 Token。" - }, - { - "id": "store.sql_oauth.save_app.existing.app_error", - "translation": "必須為已存在的應用程式執行更新" - }, - { - "id": "store.sql_oauth.save_app.save.app_error", - "translation": "無法儲存應用程式。" - }, - { - "id": "store.sql_oauth.save_auth_data.app_error", - "translation": "無法儲存授權碼。" - }, - { - "id": "store.sql_oauth.update_access_data.app_error", - "translation": "更新存取 Token 時遇到錯誤" - }, - { - "id": "store.sql_oauth.update_app.find.app_error", - "translation": "找不到已存在的應用程式以更新" - }, - { - "id": "store.sql_oauth.update_app.finding.app_error", - "translation": "尋找應用程式時遇到錯誤" - }, - { - "id": "store.sql_oauth.update_app.update.app_error", - "translation": "無法更新應用程式" - }, - { - "id": "store.sql_oauth.update_app.updating.app_error", - "translation": "更新應用程式時遇到錯誤" - }, - { - "id": "store.sql_post.analytics_posts_count.app_error", - "translation": "無法取得訊息數量" - }, - { - "id": "store.sql_post.analytics_posts_count_by_day.app_error", - "translation": "無法取得以日期為依據的訊息計數" - }, - { - "id": "store.sql_post.analytics_user_counts_posts_by_day.app_error", - "translation": "無法取得訊息的使用者數量" - }, - { - "id": "store.sql_post.delete.app_error", - "translation": "無法刪除訊息" - }, - { - "id": "store.sql_post.get.app_error", - "translation": "無法取得訊息" - }, - { - "id": "store.sql_post.get_parents_posts.app_error", - "translation": "無法取得該頻道的上層訊息" - }, - { - "id": "store.sql_post.get_posts.app_error", - "translation": "分頁已達限制" - }, - { - "id": "store.sql_post.get_posts_around.get.app_error", - "translation": "無法取得該頻道的訊息" - }, - { - "id": "store.sql_post.get_posts_around.get_parent.app_error", - "translation": "無法取得該頻道的上層訊息" - }, - { - "id": "store.sql_post.get_posts_created_att.app_error", - "translation": "無法取得該頻道的訊息" - }, - { - "id": "store.sql_post.get_posts_since.app_error", - "translation": "無法取得該頻道的訊息" - }, - { - "id": "store.sql_post.get_root_posts.app_error", - "translation": "無法取得該頻道的訊息" - }, - { - "id": "store.sql_post.overwrite.app_error", - "translation": "無法覆蓋訊息" - }, - { - "id": "store.sql_post.permanent_delete.app_error", - "translation": "無法刪除訊息" - }, - { - "id": "store.sql_post.permanent_delete_all_comments_by_user.app_error", - "translation": "無法刪除使用者的註解" - }, - { - "id": "store.sql_post.permanent_delete_by_channel.app_error", - "translation": "無法根據頻道刪除訊息" - }, - { - "id": "store.sql_post.permanent_delete_by_user.app_error", - "translation": "無法選擇該使用者的訊息以刪除" - }, - { - "id": "store.sql_post.permanent_delete_by_user.too_many.app_error", - "translation": "無法選擇該使用者的訊息以刪除 (數量太多),請重新執行" - }, - { - "id": "store.sql_post.save.app_error", - "translation": "無法儲存訊息" - }, - { - "id": "store.sql_post.save.existing.app_error", - "translation": "無法更新已存在的訊息" - }, - { - "id": "store.sql_post.search.warn", - "translation": "搜尋訊息查詢錯誤:%v" - }, - { - "id": "store.sql_post.update.app_error", - "translation": "無法更新訊息" - }, - { - "id": "store.sql_preference.delete.app_error", - "translation": "刪除偏好設定時遇到錯誤" - }, - { - "id": "store.sql_preference.delete_unused_features.debug", - "translation": "正在刪除所有沒有使用的預先發佈功能" - }, - { - "id": "store.sql_preference.get.app_error", - "translation": "尋找偏好設定時遇到錯誤" - }, - { - "id": "store.sql_preference.get_all.app_error", - "translation": "尋找偏好設定時遇到錯誤" - }, - { - "id": "store.sql_preference.get_category.app_error", - "translation": "尋找偏好設定時遇到錯誤" - }, - { - "id": "store.sql_preference.insert.exists.app_error", - "translation": "包含該使用者 ID、類別以及名稱的偏好設定已存在" - }, - { - "id": "store.sql_preference.insert.save.app_error", - "translation": "無法儲存偏好設定" - }, - { - "id": "store.sql_preference.is_feature_enabled.app_error", - "translation": "尋找預先發佈功能的偏好設定時遇到錯誤" - }, - { - "id": "store.sql_preference.permanent_delete_by_user.app_error", - "translation": "刪除偏好設定時遇到錯誤" - }, - { - "id": "store.sql_preference.save.commit_transaction.app_error", - "translation": "無法提交交易去儲存偏好設定" - }, - { - "id": "store.sql_preference.save.missing_driver.app_error", - "translation": "更新偏好設定時遇到錯誤" - }, - { - "id": "store.sql_preference.save.open_transaction.app_error", - "translation": "無法開啟交易去儲存偏好設定" - }, - { - "id": "store.sql_preference.save.rollback_transaction.app_error", - "translation": "無法撤銷交易去儲存偏好設定" - }, - { - "id": "store.sql_preference.save.updating.app_error", - "translation": "更新偏好設定時遇到錯誤" - }, - { - "id": "store.sql_preference.update.app_error", - "translation": "無法更新偏好設定" - }, - { - "id": "store.sql_reaction.delete.begin.app_error", - "translation": "刪除互動時無法開啟交易" - }, - { - "id": "store.sql_reaction.delete.commit.app_error", - "translation": "刪除互動時無法交付交易" - }, - { - "id": "store.sql_reaction.delete.save.app_error", - "translation": "無法刪除互動" - }, - { - "id": "store.sql_reaction.delete_all_with_emoj_name.delete_reactions.app_error", - "translation": "無法刪除指定繪文字名稱的互動" - }, - { - "id": "store.sql_reaction.delete_all_with_emoj_name.get_reactions.app_error", - "translation": "無法取得指定繪文字名稱的互動" - }, - { - "id": "store.sql_reaction.delete_all_with_emoji_name.update_post.warn", - "translation": "刪除互動時無法更新 Post.HasReactions:post_id=%v, error=%v" - }, - { - "id": "store.sql_reaction.get_for_post.app_error", - "translation": "無法取得對於文章的互動" - }, - { - "id": "store.sql_reaction.save.begin.app_error", - "translation": "儲存互動時無法開啟交易" - }, - { - "id": "store.sql_reaction.save.commit.app_error", - "translation": "儲存互動時無法交付交易" - }, - { - "id": "store.sql_reaction.save.save.app_error", - "translation": "無法儲存互動" - }, - { - "id": "store.sql_session.analytics_session_count.app_error", - "translation": "無法計算有多少工作階段" - }, - { - "id": "store.sql_session.cleanup_expired_sessions.app_error", - "translation": "刪除過期的使用者工作階段時遇到錯誤" - }, - { - "id": "store.sql_session.get.app_error", - "translation": "尋找工作階段時遇到錯誤" - }, - { - "id": "store.sql_session.get_sessions.app_error", - "translation": "尋找使用者工作階段時遇到錯誤" - }, - { - "id": "store.sql_session.get_sessions.error", - "translation": "於 getSessions 清除工作階段失敗 err=%v" - }, - { - "id": "store.sql_session.permanent_delete_sessions_by_user.app_error", - "translation": "無法移除使用者所有的工作階段" - }, - { - "id": "store.sql_session.remove.app_error", - "translation": "無法移除工作階段" - }, - { - "id": "store.sql_session.remove_all_sessions_for_team.app_error", - "translation": "無法移除所有的工作階段" - }, - { - "id": "store.sql_session.save.app_error", - "translation": "無法儲存工作階段" - }, - { - "id": "store.sql_session.save.cleanup.error", - "translation": "儲存過程中清理工作階段失敗 err=%v" - }, - { - "id": "store.sql_session.save.existing.app_error", - "translation": "無法更新已存在的工作階段" - }, - { - "id": "store.sql_session.update_device_id.app_error", - "translation": "無法更新裝置 ID" - }, - { - "id": "store.sql_session.update_last_activity.app_error", - "translation": "無法更新 last_activity_at" - }, - { - "id": "store.sql_session.update_roles.app_error", - "translation": "無法更新角色" - }, - { - "id": "store.sql_status.get.app_error", - "translation": "嘗試取得狀態時遇到錯誤" - }, - { - "id": "store.sql_status.get.missing.app_error", - "translation": "該狀態沒有對應的資料存在" - }, - { - "id": "store.sql_status.get_online.app_error", - "translation": "嘗試取得所有使用者的在線狀態時遇到錯誤" - }, - { - "id": "store.sql_status.get_online_away.app_error", - "translation": "嘗試取得所有使用者的在線/離開狀態時遇到錯誤" - }, - { - "id": "store.sql_status.get_team_statuses.app_error", - "translation": "嘗試取得團隊成員狀態時遇到錯誤" - }, - { - "id": "store.sql_status.get_total_active_users_count.app_error", - "translation": "無法計算活躍使用者的數量" - }, - { - "id": "store.sql_status.reset_all.app_error", - "translation": "重置所有狀態時遇到錯誤" - }, - { - "id": "store.sql_status.save.app_error", - "translation": "儲存狀態時遇到錯誤" - }, - { - "id": "store.sql_status.update.app_error", - "translation": "更新狀態時遇到錯誤" - }, - { - "id": "store.sql_system.get.app_error", - "translation": "尋找系統參數時遇到錯誤" - }, - { - "id": "store.sql_system.get_by_name.app_error", - "translation": "找不到該系統參數。" - }, - { - "id": "store.sql_system.get_version.app_error", - "translation": "無法取得資料庫版本" - }, - { - "id": "store.sql_system.save.app_error", - "translation": "儲存系統參數時遇到錯誤" - }, - { - "id": "store.sql_system.update.app_error", - "translation": "更新系統參數時遇到錯誤" - }, - { - "id": "store.sql_team.analytics_team_count.app_error", - "translation": "無法計算團隊數" - }, - { - "id": "store.sql_team.get.find.app_error", - "translation": "找不到已存在的團隊" - }, - { - "id": "store.sql_team.get.finding.app_error", - "translation": "尋找團隊時遇到錯誤" - }, - { - "id": "store.sql_team.get_all.app_error", - "translation": "無法取得全部的團隊" - }, - { - "id": "store.sql_team.get_all_team_listing.app_error", - "translation": "無法取得全部的團隊" - }, - { - "id": "store.sql_team.get_by_invite_id.find.app_error", - "translation": "找不到已存在的團隊" - }, - { - "id": "store.sql_team.get_by_invite_id.finding.app_error", - "translation": "找不到已存在的團隊" - }, - { - "id": "store.sql_team.get_by_name.app_error", - "translation": "找不到已存在的團隊" - }, - { - "id": "store.sql_team.get_member.app_error", - "translation": "無法取得團隊成員" - }, - { - "id": "store.sql_team.get_member.missing.app_error", - "translation": "相關的使用者 ID 與團隊 ID 找不到任何團隊成員" - }, - { - "id": "store.sql_team.get_member_count.app_error", - "translation": "無法計算團隊成員數量" - }, - { - "id": "store.sql_team.get_members.app_error", - "translation": "無法取得團隊成員" - }, - { - "id": "store.sql_team.get_members_by_ids.app_error", - "translation": "無法取得團隊成員" - }, - { - "id": "store.sql_team.get_teams_for_email.app_error", - "translation": "查詢團隊時遇到錯誤" - }, - { - "id": "store.sql_team.get_unread.app_error", - "translation": "無法取得團隊未讀訊息" - }, - { - "id": "store.sql_team.permanent_delete.app_error", - "translation": "無法刪除已存在的團隊" - }, - { - "id": "store.sql_team.remove_member.app_error", - "translation": "無法移除團隊成員" - }, - { - "id": "store.sql_team.save.app_error", - "translation": "無法儲存團隊" - }, - { - "id": "store.sql_team.save.domain_exists.app_error", - "translation": "已經存在相同名稱的團隊" - }, - { - "id": "store.sql_team.save.existing.app_error", - "translation": "必須為已存在的團隊執行更新" - }, - { - "id": "store.sql_team.save_member.exists.app_error", - "translation": "該 ID 的團隊成員已存在" - }, - { - "id": "store.sql_team.save_member.save.app_error", - "translation": "無法儲存該團隊成員" - }, - { - "id": "store.sql_team.update.app_error", - "translation": "無法更新團隊" - }, - { - "id": "store.sql_team.update.find.app_error", - "translation": "找不到已存在的團隊來更新" - }, - { - "id": "store.sql_team.update.finding.app_error", - "translation": "尋找團隊時遇到錯誤" - }, - { - "id": "store.sql_team.update.updating.app_error", - "translation": "更新團隊時遇到錯誤" - }, - { - "id": "store.sql_team.update_display_name.app_error", - "translation": "無法更新團隊名稱" - }, - { - "id": "store.sql_user.analytics_get_inactive_users_count.app_error", - "translation": "無法計算非活躍使用者的數量" - }, - { - "id": "store.sql_user.analytics_get_system_admin_count.app_error", - "translation": "無法計算系統管理員的數量" - }, - { - "id": "store.sql_user.analytics_unique_user_count.app_error", - "translation": "無法取得不重複的帳戶數量" - }, - { - "id": "store.sql_user.get.app_error", - "translation": "尋找帳號時遇到錯誤" - }, - { - "id": "store.sql_user.get_all_using_auth_service.other.app_error", - "translation": "尋找全部使用特定認證方式的帳號時遇到錯誤。" - }, - { - "id": "store.sql_user.get_by_auth.missing_account.app_error", - "translation": "在此團隊中找不到符合您認證型態的帳號,此團隊需要從團隊擁有者取得邀請才可加入。" - }, - { - "id": "store.sql_user.get_by_auth.other.app_error", - "translation": "根據認證型態尋找帳號時遇到錯誤。" - }, - { - "id": "store.sql_user.get_by_username.app_error", - "translation": "在此團隊中找不到符合您的使用者名稱之帳號,此團隊需要從團隊擁有者取得邀請才可加入。" - }, - { - "id": "store.sql_user.get_for_login.app_error", - "translation": "找不到符合您的認證之帳號,此團隊需要從團隊擁有者取得邀請才可加入。" - }, - { - "id": "store.sql_user.get_for_login.multiple_users", - "translation": "找到數個相符於您的認證之帳號,所以無法讓您登入,請聯繫系統管理員。" - }, - { - "id": "store.sql_user.get_profiles.app_error", - "translation": "尋找使用者資訊時遇到錯誤" - }, - { - "id": "store.sql_user.get_recently_active_users.app_error", - "translation": "在尋找近期活躍使用者時遭遇錯誤" - }, - { - "id": "store.sql_user.get_sysadmin_profiles.app_error", - "translation": "尋找使用者資訊時遇到錯誤" - }, - { - "id": "store.sql_user.get_total_users_count.app_error", - "translation": "無法計算使用者數量" - }, - { - "id": "store.sql_user.get_unread_count.app_error", - "translation": "無法計算該使用者的未讀訊息數量" - }, - { - "id": "store.sql_user.get_unread_count_for_channel.app_error", - "translation": "無法取得使用者跟頻道的未讀訊息數量" - }, - { - "id": "store.sql_user.migrate_theme.critical", - "translation": "轉移 User.ThemeProps 到偏好設定表格 %v 時失敗" - }, - { - "id": "store.sql_user.missing_account.const", - "translation": "找不到使用者" - }, - { - "id": "store.sql_user.permanent_delete.app_error", - "translation": "無法刪除已存在的帳戶" - }, - { - "id": "store.sql_user.save.app_error", - "translation": "無法儲存帳號." - }, - { - "id": "store.sql_user.save.email_exists.app_error", - "translation": "有帳號已經使用這個電子郵件。" - }, - { - "id": "store.sql_user.save.email_exists.ldap_app_error", - "translation": "該帳號未使用 AD/LDAP 認證。請用電子郵件地址與密碼登入。" - }, - { - "id": "store.sql_user.save.email_exists.saml_app_error", - "translation": "該帳號未使用 SAML 認證。請用電子郵件地址與密碼登入。" - }, - { - "id": "store.sql_user.save.existing.app_error", - "translation": "必須為已存在的使用者執行更新" - }, - { - "id": "store.sql_user.save.max_accounts.app_error", - "translation": "此團隊已達最大使用者數量上限。請聯絡系統管理員調大數量限制。" - }, - { - "id": "store.sql_user.save.member_count.app_error", - "translation": "取得目前團隊成員數量失敗" - }, - { - "id": "store.sql_user.save.username_exists.app_error", - "translation": "有帳號已經使用這個使用者名稱。" - }, - { - "id": "store.sql_user.save.username_exists.ldap_app_error", - "translation": "有帳號已經使用這個使用者名稱,請聯繫系統管理員。" - }, - { - "id": "store.sql_user.save.username_exists.saml_app_error", - "translation": "有帳號已經使用這個使用者名稱,請聯繫系統管理員。" - }, - { - "id": "store.sql_user.update.app_error", - "translation": "無法更新這個帳號" - }, - { - "id": "store.sql_user.update.can_not_change_ldap.app_error", - "translation": "不能變更經由 AD/LDAP 設定的欄位資料" - }, - { - "id": "store.sql_user.update.email_taken.app_error", - "translation": "這個電子郵件已經被使用。請選擇其他的。" - }, - { - "id": "store.sql_user.update.find.app_error", - "translation": "找不到已存在的帳號以更新" - }, - { - "id": "store.sql_user.update.finding.app_error", - "translation": "尋找帳號時遇到錯誤" - }, - { - "id": "store.sql_user.update.updating.app_error", - "translation": "更新帳號時發生錯誤" - }, - { - "id": "store.sql_user.update.username_taken.app_error", - "translation": "使用者名稱已被使用。請選擇其他的。" - }, - { - "id": "store.sql_user.update_auth_data.app_error", - "translation": "無法更新認證資料" - }, - { - "id": "store.sql_user.update_auth_data.email_exists.app_error", - "translation": "無法變更帳號至{{.Service}}。已經有使用此電子郵件地址{{.Email}}的帳號。" - }, - { - "id": "store.sql_user.update_failed_pwd_attempts.app_error", - "translation": "無法更新 failed_attempts" - }, - { - "id": "store.sql_user.update_last_activity.app_error", - "translation": "無法更新 last_activity_at" - }, - { - "id": "store.sql_user.update_last_picture_update.app_error", - "translation": "無法更新 update_at" - }, - { - "id": "store.sql_user.update_last_ping.app_error", - "translation": "無法更新 last_ping_at" - }, - { - "id": "store.sql_user.update_mfa_active.app_error", - "translation": "更新使用者多重要素驗證使用狀態時遇到錯誤" - }, - { - "id": "store.sql_user.update_mfa_secret.app_error", - "translation": "更新使用者多重要素驗證密碼時遇到錯誤" - }, - { - "id": "store.sql_user.update_password.app_error", - "translation": "無法更新使用者密碼" - }, - { - "id": "store.sql_user.verify_email.app_error", - "translation": "無法更新驗證電子郵件欄位" - }, - { - "id": "store.sql_webhooks.analytics_incoming_count.app_error", - "translation": "無法計算傳入的 Webhook" - }, - { - "id": "store.sql_webhooks.analytics_outgoing_count.app_error", - "translation": "無法計算傳出的 Webhook" - }, - { - "id": "store.sql_webhooks.delete_incoming.app_error", - "translation": "無法刪除 Webhook" - }, - { - "id": "store.sql_webhooks.delete_outgoing.app_error", - "translation": "無法刪除 Webhook" - }, - { - "id": "store.sql_webhooks.get_incoming.app_error", - "translation": "無法取得 Webhook" - }, - { - "id": "store.sql_webhooks.get_incoming_by_channel.app_error", - "translation": "無法取得 Webhook" - }, - { - "id": "store.sql_webhooks.get_incoming_by_user.app_error", - "translation": "無法取得 Webhook" - }, - { - "id": "store.sql_webhooks.get_outgoing.app_error", - "translation": "無法取得 Webhook" - }, - { - "id": "store.sql_webhooks.get_outgoing_by_channel.app_error", - "translation": "無法取得 Webhook" - }, - { - "id": "store.sql_webhooks.get_outgoing_by_team.app_error", - "translation": "無法取得 Webhook" - }, - { - "id": "store.sql_webhooks.permanent_delete_incoming_by_user.app_error", - "translation": "無法刪除 Webhook" - }, - { - "id": "store.sql_webhooks.permanent_delete_outgoing_by_user.app_error", - "translation": "無法刪除 Webhook" - }, - { - "id": "store.sql_webhooks.save_incoming.app_error", - "translation": "無法儲存傳入的 Webhook" - }, - { - "id": "store.sql_webhooks.save_incoming.existing.app_error", - "translation": "無法覆蓋一個已存在的傳入的 Webhook" - }, - { - "id": "store.sql_webhooks.save_outgoing.app_error", - "translation": "無法儲存傳出的 Webhook" - }, - { - "id": "store.sql_webhooks.save_outgoing.override.app_error", - "translation": "無法複蓋一個已存在的傳出的 Webhook" - }, - { - "id": "store.sql_webhooks.update_incoming.app_error", - "translation": "無法更新傳入的 Webhook" - }, - { - "id": "store.sql_webhooks.update_outgoing.app_error", - "translation": "無法更新 Webhook" - }, - { - "id": "system.message.name", - "translation": "系統" - }, - { - "id": "utils.config.load_config.decoding.panic", - "translation": "解碼設定時遇到錯誤 file={{.Filename}}, err={{.Error}}" - }, - { - "id": "utils.config.load_config.getting.panic", - "translation": "取得設定資訊時遇到錯誤 file={{.Filename}}, err={{.Error}}" - }, - { - "id": "utils.config.load_config.opening.panic", - "translation": "開啟設定時遇到錯誤 file={{.Filename}}, err={{.Error}}" - }, - { - "id": "utils.config.load_config.validating.panic", - "translation": "驗證設定時遇到錯誤 file={{.Filename}}, err={{.Error}}" - }, - { - "id": "utils.config.save_config.saving.app_error", - "translation": "儲存檔案到 {{.Filename}} 時發生錯誤" - }, - { - "id": "utils.config.supported_client_locale.app_error", - "translation": "無法讀入 Mattermost 設定檔: DefaultClientLocale 必須為支援的地域" - }, - { - "id": "utils.config.supported_server_locale.app_error", - "translation": "無法讀入 Mattermost 設定檔: DefaultServerLocale 必須為支援的地域" - }, - { - "id": "utils.config.validate_locale.app_error", - "translation": "無法讀入 Mattermost 設定檔: AvaiableLocales 必須為包含 DefaultClientLocale" - }, - { - "id": "utils.diagnostic.analytics_not_found.app_error", - "translation": "分析尚未初始化" - }, - { - "id": "utils.i18n.loaded", - "translation": "已載入系統翻譯 '%v' 來自 '%v'" - }, - { - "id": "utils.iru.with_evict", - "translation": "必須提供正數的大小" - }, - { - "id": "utils.license.load_license.invalid.warn", - "translation": "找不到有效的企業版授權" - }, - { - "id": "utils.license.remove_license.unable.error", - "translation": "無法移除授權檔案, err=%v" - }, - { - "id": "utils.license.validate_license.decode.error", - "translation": "解碼授權時遇到錯誤, err=%v" - }, - { - "id": "utils.license.validate_license.invalid.error", - "translation": "無效的簽章, err=%v" - }, - { - "id": "utils.license.validate_license.not_long.error", - "translation": "簽章授權長度不夠" - }, - { - "id": "utils.license.validate_license.signing.error", - "translation": "簽章授權時遇到錯誤, err=%v" - }, - { - "id": "utils.mail.connect_smtp.open.app_error", - "translation": "開啟連線失敗" - }, - { - "id": "utils.mail.connect_smtp.open_tls.app_error", - "translation": "開啟 TLS 連線失敗" - }, - { - "id": "utils.mail.new_client.auth.app_error", - "translation": "SMTP 伺服器驗證失敗" - }, - { - "id": "utils.mail.new_client.open.error", - "translation": "開啟對 SMTP 伺服器 %v 的連線時失敗" - }, - { - "id": "utils.mail.send_mail.close.app_error", - "translation": "關閉對 SMTP 伺服器的連線失敗" - }, - { - "id": "utils.mail.send_mail.from_address.app_error", - "translation": "新增送信人失敗" - }, - { - "id": "utils.mail.send_mail.msg.app_error", - "translation": "撰寫電子郵件訊息失敗" - }, - { - "id": "utils.mail.send_mail.msg_data.app_error", - "translation": "新增電子郵件訊息失敗" - }, - { - "id": "utils.mail.send_mail.sending.debug", - "translation": "發送電子郵件到 %v 標題為 '%v'" - }, - { - "id": "utils.mail.send_mail.to_address.app_error", - "translation": "新增收件人失敗" - }, - { - "id": "utils.mail.test.configured.error", - "translation": "SMTP 伺服器並未設定正確 err=%v details=%v" - }, - { - "id": "utils.mail.test.configured.error", - "translation": "SMTP 伺服器並未設定正確 err=%v details=%v" - }, - { - "id": "web.admin_console.title", - "translation": "管理控制台" - }, - { - "id": "web.authorize_oauth.title", - "translation": "授權應用程式" - }, - { - "id": "web.check_browser_compatibility.app_error", - "translation": "無法支援目前的瀏覽器,請升級到下列任一瀏覽器: Google Chrome 21 以上版本、Internet Explorer 11 以上版本、FireFox 14 以上版本、Safari 9 以上版本" - }, - { - "id": "web.claim_account.team.error", - "translation": "找不到團隊 name=%v, err=%v" - }, - { - "id": "web.claim_account.title", - "translation": "宣告帳戶" - }, - { - "id": "web.claim_account.user.error", - "translation": "找不到使用者 teamid=%v, email=%v, err=%v" - }, - { - "id": "web.create_dir.error", - "translation": "建立目錄監控 %v 失敗" - }, - { - "id": "web.dir_fail.error", - "translation": "建立目錄監控 %v 失敗" - }, - { - "id": "web.do_load_channel.error", - "translation": "取得使用者 id=%v 資訊時遇到錯誤,強制登出" - }, - { - "id": "web.doc.title", - "translation": "文件" - }, - { - "id": "web.email_verified.title", - "translation": "電子郵件地址已驗證" - }, - { - "id": "web.find_team.title", - "translation": "尋找團隊" - }, - { - "id": "web.header.back", - "translation": "回上一步" - }, - { - "id": "web.incoming_webhook.attachment.app_error", - "translation": "附件最大大小為 {{.Max}} 字元,已接收大小為 {{.Actual}}" - }, - { - "id": "web.incoming_webhook.channel.app_error", - "translation": "找不到頻道" - }, - { - "id": "web.incoming_webhook.disabled.app_error", - "translation": "傳入的 Webhook已被系統管理員停用" - }, - { - "id": "web.incoming_webhook.invalid.app_error", - "translation": "無效的 Webhook" - }, - { - "id": "web.incoming_webhook.parse.app_error", - "translation": "無法解析流入的資料" - }, - { - "id": "web.incoming_webhook.permissions.app_error", - "translation": "不適當的頻道權限" - }, - { - "id": "web.incoming_webhook.text.app_error", - "translation": "沒有指定文字" - }, - { - "id": "web.incoming_webhook.text.length.app_error", - "translation": "文字最長可為 {{.Max}} 字元,已接收大小為 {{.Actual}}" - }, - { - "id": "web.incoming_webhook.user.app_error", - "translation": "找不到使用者" - }, - { - "id": "web.init.debug", - "translation": "正在初始化網站路徑" - }, - { - "id": "web.login.error", - "translation": "找不到團隊 name=%v, err=%v" - }, - { - "id": "web.login.login_title", - "translation": "登入" - }, - { - "id": "web.login_with_oauth.invalid_team.app_error", - "translation": "無效的團隊名稱" - }, - { - "id": "web.parsing_templates.debug", - "translation": "於 %v 解析樣板" - }, - { - "id": "web.parsing_templates.error", - "translation": "解析樣板 %v 失敗" - }, - { - "id": "web.post_permalink.app_error", - "translation": "無效的張貼 ID" - }, - { - "id": "web.reparse_templates.info", - "translation": "因檔案 %v 變動因此重新解析樣板" - }, - { - "id": "web.reset_password.expired_link.app_error", - "translation": "密碼重設連結已過期" - }, - { - "id": "web.reset_password.invalid_link.app_error", - "translation": "此密碼重設連結不是有效連結" - }, - { - "id": "web.root.home_title", - "translation": "首頁" - }, - { - "id": "web.root.singup_title", - "translation": "註冊" - }, - { - "id": "web.signup_team_complete.invalid_link.app_error", - "translation": "此註冊連結不是有效連結" - }, - { - "id": "web.signup_team_complete.link_expired.app_error", - "translation": "註冊連結已過期" - }, - { - "id": "web.signup_team_complete.title", - "translation": "完成團隊註冊" - }, - { - "id": "web.signup_team_confirm.title", - "translation": "註冊電子郵件已寄出" - }, - { - "id": "web.signup_user_complete.link_expired.app_error", - "translation": "註冊連結已過期" - }, - { - "id": "web.signup_user_complete.link_invalid.app_error", - "translation": "此註冊連結不是有效連結" - }, - { - "id": "web.signup_user_complete.no_invites.app_error", - "translation": "此團隊類型不允許自由加入" - }, - { - "id": "web.signup_user_complete.title", - "translation": "完成使用者註冊" - }, - { - "id": "web.singup_with_oauth.invalid_team.app_error", - "translation": "無效的團隊名稱" - }, - { - "id": "web.watcher_fail.error", - "translation": "新增目錄至監控 %v 失敗" - } -] diff --git a/webapp/i18n/i18n.jsx b/webapp/i18n/i18n.jsx index 4eda91198..fd4e42a32 100644 --- a/webapp/i18n/i18n.jsx +++ b/webapp/i18n/i18n.jsx @@ -9,8 +9,8 @@ const ko = require('!!file-loader?name=i18n/[name].[hash].[ext]!./ko.json'); const nl = require('!!file-loader?name=i18n/[name].[hash].[ext]!./nl.json'); const pt_BR = require('!!file-loader?name=i18n/[name].[hash].[ext]!./pt-BR.json'); //eslint-disable-line camelcase const ru = require('!!file-loader?name=i18n/[name].[hash].[ext]!./ru.json'); -const zh_TW = require('!!file-loader?name=i18n/[name].[hash].[ext]!./zh_TW.json'); //eslint-disable-line camelcase -const zh_CN = require('!!file-loader?name=i18n/[name].[hash].[ext]!./zh_CN.json'); //eslint-disable-line camelcase +const zh_TW = require('!!file-loader?name=i18n/[name].[hash].[ext]!./zh-TW.json'); //eslint-disable-line camelcase +const zh_CN = require('!!file-loader?name=i18n/[name].[hash].[ext]!./zh-CN.json'); //eslint-disable-line camelcase import {addLocaleData} from 'react-intl'; import deLocaleData from 'react-intl/locale-data/de'; diff --git a/webapp/i18n/zh-CN.json b/webapp/i18n/zh-CN.json new file mode 100644 index 000000000..ad35efe10 --- /dev/null +++ b/webapp/i18n/zh-CN.json @@ -0,0 +1,2279 @@ +{ + "about.close": "关闭", + "about.copyright": "版权所有 2016 Mattermost, Inc. 保留所有权利", + "about.database": "数据库:", + "about.date": "创建日期:", + "about.enterpriseEditionLearn": "了解更多关于企业版:", + "about.enterpriseEditionSt": "位于防火墙后的现代通讯方式。", + "about.enterpriseEditione1": "企业版本", + "about.hash": "构建哈希:", + "about.hashee": "构建EE哈希:", + "about.licensed": "授权于:", + "about.number": "编译号:", + "about.teamEditionLearn": "加入Mattermost社区", + "about.teamEditionSt": "所有团队的通讯一站式解决,随时随地可搜索和访问。", + "about.teamEditiont0": "团队版本", + "about.teamEditiont1": "企业版本", + "about.title": "关于Mattermost", + "about.version": "版本:", + "access_history.title": "访问历史", + "activity_log.activeSessions": "活动会话", + "activity_log.browser": "浏览器: {browser}", + "activity_log.firstTime": "首次登录时间: {date}, {time}", + "activity_log.lastActivity": "最后操作: {date}, {time}", + "activity_log.logout": "注销", + "activity_log.moreInfo": "更多信息", + "activity_log.os": "系统: {os}", + "activity_log.sessionId": "会话ID: {id}", + "activity_log.sessionsDescription": "当您在设备的新浏览器中登录时,将创建会话。会话让您使用Mattermost时无需在系统管理员限定的时间段内重新登录。如果您希望早些退出,点击下方的‘注销’按钮结束会话。", + "activity_log_modal.android": "安卓", + "activity_log_modal.androidNativeApp": "Android本地App", + "activity_log_modal.desktop": "电脑应用", + "activity_log_modal.iphoneNativeApp": "iPhone本地App", + "add_command.autocomplete": "自动完成", + "add_command.autocomplete.help": "(可选) 在自动完成列表显示斜杠命令。", + "add_command.autocompleteDescription": "自动完成描述", + "add_command.autocompleteDescription.help": "(可选) 在自动补全列表中显示斜杠命令的简述。", + "add_command.autocompleteDescription.placeholder": "例如:\"返回病人记录搜索结果\"", + "add_command.autocompleteHint": "自动完成提示", + "add_command.autocompleteHint.help": "(可选) 你的斜杠命令在自动完成列表中显示的参数。", + "add_command.autocompleteHint.placeholder": "例如: [患者姓名]", + "add_command.cancel": "取消", + "add_command.description": "描述", + "add_command.description.help": "传入 webhook 的简述。", + "add_command.displayName": "显示名称", + "add_command.displayName.help": "您的斜杠命令显示名,最多64字。", + "add_command.doneHelp": "您的斜杠命令已设定。以下令牌将包含在传出负载。请用这来验证请求是否来自您的Mattermost团队(详见文档)。", + "add_command.iconUrl": "回复图标", + "add_command.iconUrl.help": "(可选) 选择一个头像覆盖此斜杠命令产生的信息。输入的.png或.jpg文件URL至少128像素x128像素。", + "add_command.iconUrl.placeholder": "https://www.example.com/myicon.png", + "add_command.method": "请求方式", + "add_command.method.get": "GET", + "add_command.method.help": "命令的类型发给请求URL的请求。", + "add_command.method.post": "POST", + "add_command.save": "保存", + "add_command.token": "令牌:{token}", + "add_command.trigger": "命令触发词", + "add_command.trigger.help": "触发关键字必须唯一,且不能以斜杠开头或含空格。", + "add_command.trigger.helpExamples": "例:client, employee, patient, weather", + "add_command.trigger.helpReserved": "预留:{link}", + "add_command.trigger.helpReservedLinkText": "查看内置斜杠指令列表", + "add_command.trigger.placeholder": "命令触发关键字,例如 \"hello\"", + "add_command.triggerInvalidLength": "触发器关键词必须包含 {min} 至 {max} 个字", + "add_command.triggerInvalidSlash": "触发器关键词不能以 / 开头", + "add_command.triggerInvalidSpace": "触发器关键词不能包含空格", + "add_command.triggerRequired": "需要一个触发关键词", + "add_command.url": "请求URL", + "add_command.url.help": "接收HTTP POST或GET斜杠命令运行时事件请求的回调URL。", + "add_command.url.placeholder": "必须以http://或https://开始", + "add_command.urlRequired": "需要一个请求的URL", + "add_command.username": "回复用户名", + "add_command.username.help": "(可选) 选择一个用户名用于覆盖这个命令回应。用户名可以包含多达22个小写字母,数字以及符号 \"-\",\"_\" 和 \".\" 字符。", + "add_command.username.placeholder": "用户名", + "add_emoji.cancel": "取消", + "add_emoji.header": "添加", + "add_emoji.image": "图像", + "add_emoji.image.button": "选择", + "add_emoji.image.help": "选择个文件做为您的表情符。图库可为最大 1 MB 的 gif, png 或 jpeg 文件。如果尺寸超过 128 像素长 128 像素高将自动缩小但将保留比例。", + "add_emoji.imageRequired": "表情符号需要个图片", + "add_emoji.name": "名称", + "add_emoji.name.help": "选择一个多达64个小写字母,数字以及符号 '-' 和 '_' 字符组成的用户名用于表情符号。", + "add_emoji.nameInvalid": "表情符号的名称只能包含数字,字母和符号' - '和'_'。", + "add_emoji.nameRequired": "表情符号需要个名称", + "add_emoji.nameTaken": "此名称已被系统表情符号使用。请重新选个名称。", + "add_emoji.preview": "预览", + "add_emoji.preview.sentence": "这句话带有 {image} 。", + "add_emoji.save": "保存", + "add_incoming_webhook.cancel": "取消", + "add_incoming_webhook.channel": "频道", + "add_incoming_webhook.channel.help": "接收 webhook 的公开频道或私有组。您必须属于该私有组才能设定webhook。", + "add_incoming_webhook.channelRequired": "需要是有效的频道", + "add_incoming_webhook.description": "描述", + "add_incoming_webhook.description.help": "传入webhook的简述。", + "add_incoming_webhook.displayName": "显示名称", + "add_incoming_webhook.displayName.help": "传入webhook的显示名,最多64字。", + "add_incoming_webhook.doneHelp": "您的传入webhook已设定。请传数据至此网址(详见文档)。", + "add_incoming_webhook.name": "名称", + "add_incoming_webhook.save": "保存", + "add_incoming_webhook.url": "网址:{url}", + "add_oauth_app.callbackUrls.help": "用户在接收或拒绝授权您的应用后重转向的网址,同时用来处理授权码或访问令牌。比为以 http:// 或 https:// 开头的有效网址。", + "add_oauth_app.callbackUrlsRequired": "需要一个或多个回调URL", + "add_oauth_app.clientId": "客户端ID:{id}", + "add_oauth_app.clientSecret": "客户端秘密:{secret}", + "add_oauth_app.description.help": "您的 OAuth 2.0 应用描述。", + "add_oauth_app.descriptionRequired": "OAuth 2.0 应用描述为必填。", + "add_oauth_app.doneHelp": "您的 OAuth 2.0 应用已设置。请在您应用申请授权时使用以下客户端 ID 和客户端秘密 (参见文档了解详情)。", + "add_oauth_app.doneUrlHelp": "以下是您许可的重指向网址。", + "add_oauth_app.header": "添加", + "add_oauth_app.homepage.help": "OAuth 2.0 应用首页网址。请您确认有根据服务器设置使用 HTTP 或 HTTPS 网址。", + "add_oauth_app.homepageRequired": "OAuth 2.0 应用首页网址为必填。", + "add_oauth_app.icon.help": "(可选) 指向您的 OAuth 2.0 应用的图片网址。请您确认您的网址使用 HTTP 或 HTTPS。", + "add_oauth_app.name.help": "您的 OAuth 2.0 应用显示名,最多64字。", + "add_oauth_app.nameRequired": "OAuth 2.0 应用名为必填。", + "add_oauth_app.trusted.help": "当设为是时,OAuth 2.0 应用将被 Mattermost 服务器信任且不需用户同意授权。当设为否时,将会弹出新窗口询问用户同意或拒绝授权。", + "add_oauth_app.url": "网址:{url}", + "add_outgoing_webhook.callbackUrls": "回调URL(每行一个)", + "add_outgoing_webhook.callbackUrls.help": "信息传输到的网址。", + "add_outgoing_webhook.callbackUrlsRequired": "需要一个或多个回调URL", + "add_outgoing_webhook.cancel": "取消", + "add_outgoing_webhook.channel": "频道", + "add_outgoing_webhook.channel.help": "接收webhook的公开频道。设定一个以上的触发关键字时此项为可选。", + "add_outgoing_webhook.contentType.help1": "选择发送的回复时的内容类型。", + "add_outgoing_webhook.contentType.help2": "如果选择了 application/x-www-form-urlencoded,服务器将认为您会将参数以URL格式编码。", + "add_outgoing_webhook.contentType.help3": "如果选择了 application/json,服务器将认为您会传送 JSON 数据。", + "add_outgoing_webhook.content_Type": "内容类型", + "add_outgoing_webhook.description": "描述", + "add_outgoing_webhook.description.help": "您的传出webhook简述。", + "add_outgoing_webhook.displayName": "显示名称", + "add_outgoing_webhook.displayName.help": "传出webhook的显示名,最多64字。", + "add_outgoing_webhook.doneHelp": "您的传出webhook已设定。以下令牌将包含在传出负载。请用这来验证请求是否来自您的Mattermost团队(详见文档)。", + "add_outgoing_webhook.name": "名称", + "add_outgoing_webhook.save": "保存", + "add_outgoing_webhook.token": "令牌:{token}", + "add_outgoing_webhook.triggerWords": "触发词(一行一个)", + "add_outgoing_webhook.triggerWords.help": "以设定关键字开头的信息将触发传出webhook。如果有选择频道此项则为可选。", + "add_outgoing_webhook.triggerWordsOrChannelRequired": "需要一个有效的频道或一个触发关键字列表", + "add_outgoing_webhook.triggerWordsTriggerWhen": "触发时机", + "add_outgoing_webhook.triggerWordsTriggerWhen.help": "选择何时触发传出webhook:信息第一个词符合触发关键字或时以触发关键字开头。", + "add_outgoing_webhook.triggerWordsTriggerWhenFullWord": "第一个完全符合触发关键字", + "add_outgoing_webhook.triggerWordsTriggerWhenStartsWith": "第一字以触发关键字为开头", + "admin.advance.cluster": "高可用性 (Beta)", + "admin.advance.metrics": "性能监视", + "admin.audits.reload": "重新载入用户活动日志", + "admin.audits.title": "用户活动日志", + "admin.authentication.email": "邮件验证", + "admin.authentication.gitlab": "GitLab", + "admin.authentication.ldap": "AD/LDAP", + "admin.authentication.oauth": "OAuth 2.0", + "admin.authentication.saml": "SAML", + "admin.banner.heading": "注释:", + "admin.cluster.enableDescription": "当设为是时,Mattermost 将以高可用性模式运行。请参考文档了解 Mattermost 的高可用性。", + "admin.cluster.enableTitle": "开启高可用性模式:", + "admin.cluster.interNodeListenAddressDesc": "服务器与其他服务器通讯的监听地址。", + "admin.cluster.interNodeListenAddressEx": "例如 \":8075\"", + "admin.cluster.interNodeListenAddressTitle": "互连节点监听地址:", + "admin.cluster.interNodeUrlsDesc": "所有Mattermost服务器的内部/私有网址用逗号分开。", + "admin.cluster.interNodeUrlsEx": "例如 \"http://10.10.10.30, http://10.10.10.31\"", + "admin.cluster.interNodeUrlsTitle": "互连节点网址:", + "admin.cluster.loadedFrom": "此配置文件是从节点 ID {clusterId} 加载的。如果您在通过负载均衡服务器访问系统控制时遇到问题,请参考我们的文档中的排错手册。", + "admin.cluster.noteDescription": "修改此分类中的属性需要重启服务器才能生效。当高可用性模式开启时,系统控制台将设为只读且只能通过修改配置文件进行改动。", + "admin.cluster.should_not_change": "警告:这些设定可能不会与其他机群服务器同步。高可用性互连节点通讯只会在您确保所有服务器中的config.json一致并重启Mattermost后开启。请见文档了解如何从机群里添加或删除服务器。如果您在通过负载均衡服务器访问系统控制且遇到问题,请见我们的文档中的排错手册。", + "admin.cluster.status_table.config_hash": "配置文件MD5", + "admin.cluster.status_table.hostname": "主机名", + "admin.cluster.status_table.id": "节点 ID", + "admin.cluster.status_table.reload": "重加载机群状态", + "admin.cluster.status_table.status": "状态", + "admin.cluster.status_table.url": "互连节点网址", + "admin.cluster.status_table.version": "版本:", + "admin.compliance.directoryDescription": "用户保存守规报告。如果为空,将被设置为 ./data/。", + "admin.compliance.directoryExample": "例如 \"./data/\"", + "admin.compliance.directoryTitle": "守规报告目录:", + "admin.compliance.enableDailyDesc": "如果是正确的,Mattermost将生成一个每日合规报告。", + "admin.compliance.enableDailyTitle": "启用每日报告", + "admin.compliance.enableDesc": "当设为是时,Mattermost 允许从合规和审计标签进行合规报告。参见文档了解详情。", + "admin.compliance.enableTitle": "启动守规报告:", + "admin.compliance.false": "否", + "admin.compliance.noLicense": "

提示:

守规是一个企业平台特性。您当前的证书不支持守规。请点击这里获取企业证书的信息和价格。

", + "admin.compliance.save": "保存", + "admin.compliance.saving": "保存配置中...", + "admin.compliance.title": "合规性设置", + "admin.compliance.true": "是", + "admin.compliance_reports.desc": "职位名称", + "admin.compliance_reports.desc_placeholder": "例如 \"Audit 445 for HR\"", + "admin.compliance_reports.emails": "电子邮件:", + "admin.compliance_reports.emails_placeholder": "例如 \"bill@example.com,bob@example.com\"", + "admin.compliance_reports.from": "来自:", + "admin.compliance_reports.from_placeholder": "例如 \"2016-03-11\"", + "admin.compliance_reports.keywords": "关键字:", + "admin.compliance_reports.keywords_placeholder": "例如 \"shorting stock\"", + "admin.compliance_reports.reload": "重新载入任务报告", + "admin.compliance_reports.run": "守规报告", + "admin.compliance_reports.title": "合规性报告", + "admin.compliance_reports.to": "To:", + "admin.compliance_reports.to_placeholder": "例如 \"2016-03-15\"", + "admin.compliance_table.desc": "描述", + "admin.compliance_table.download": "下载", + "admin.compliance_table.params": "参数", + "admin.compliance_table.records": "记录", + "admin.compliance_table.status": "状态", + "admin.compliance_table.timestamp": "时间戳", + "admin.compliance_table.type": "类型", + "admin.compliance_table.userId": "被...要求", + "admin.connectionSecurityNone": "无", + "admin.connectionSecurityNoneDescription": "Mattermost 将创建一个不安全的连接。", + "admin.connectionSecurityPlain": "PLAIN", + "admin.connectionSecurityPlainDescription": "Mattermost 将会连接并验证一个不安全的连接。", + "admin.connectionSecurityStart": "STARTTLS", + "admin.connectionSecurityStartDescription": "将一现有不安全的连接尝试使用TLS升级值一个安全的连接。", + "admin.connectionSecurityTest": "测试连接", + "admin.connectionSecurityTitle": "连接安全:", + "admin.connectionSecurityTls": "TLS", + "admin.connectionSecurityTlsDescription": "加密Mattermost和您的服务器之间的通信。", + "admin.customization.androidAppDownloadLinkDesc": "添加安卓应用下载链接。用移动设备访问的用户将看到应用下载提示页面。此栏留空将不显示。", + "admin.customization.androidAppDownloadLinkTitle": "安卓应用下载链接:", + "admin.customization.appDownloadLinkDesc": "添加Mattermost应用下载链接。当链接存在时,主菜单将有“下载Mattermost应用”选项让用户找到下载页面。此栏留空将隐藏此选项。", + "admin.customization.appDownloadLinkTitle": "Mattermost 应用下载页面网址:", + "admin.customization.customBrand": "自定义品牌", + "admin.customization.customEmoji": "自定义表情", + "admin.customization.enableCustomEmojiDesc": "允许用户创建在消息中使用的自定义表情符。启用后,自定义的表情符的设置方式为:切换到一个团队,在侧边栏单击频道上面的三个点,然后选择“自定义表情符”。", + "admin.customization.enableCustomEmojiTitle": "启用自定义表情:", + "admin.customization.iosAppDownloadLinkDesc": "添加iOS应用下载链接。用移动设备访问的用户将看到应用下载提示页面。此栏留空将不显示。", + "admin.customization.iosAppDownloadLinkTitle": "iOS应用下载网址:", + "admin.customization.nativeAppLinks": "Mattermost 应用链接", + "admin.customization.restrictCustomEmojiCreationAdmin": "允许系统和团队管理员创建表情符号", + "admin.customization.restrictCustomEmojiCreationAll": "允许每个人可以创建自定义表情", + "admin.customization.restrictCustomEmojiCreationDesc": "限制某些用户创建自定义表情符号。", + "admin.customization.restrictCustomEmojiCreationSystemAdmin": "只允许系统管理员创建自定义表情符号", + "admin.customization.restrictCustomEmojiCreationTitle": "限制创建自定义表情符号:", + "admin.customization.support": "法律和支持", + "admin.database.title": "数据库设置", + "admin.developer.title": "开发人员设置", + "admin.email.agreeHPNS": " 我理解并同意 Mattermost 推送提醒服务服务条款隐私策略。", + "admin.email.allowEmailSignInDescription": "当设置为是时,Mattermost允许用户使用电子邮件地址和密码登入。", + "admin.email.allowEmailSignInTitle": "开启使用邮件地址登入:", + "admin.email.allowSignupDescription": "当设置为是时,Mattermost允许团队创建和使用电子邮件地址和密码注册帐户。此值唯一设为否的情况是你想使用 OAuth 或者 AD/LDAP 这种单点登录服务注册。", + "admin.email.allowSignupTitle": "开启使用邮件地址创建帐号:", + "admin.email.allowUsernameSignInDescription": "当设置为是时,Mattermost允许用户使用用户名和密码登录。此设置通常只用于当电子邮件验证被禁用时。", + "admin.email.allowUsernameSignInTitle": "开启使用用户名登入:", + "admin.email.connectionSecurityTest": "测试连接", + "admin.email.easHelp": "了解更多关于编译和部署您自己的移动应用程序从一个Enterprise App Store。", + "admin.email.emailFail": "连接失败: {error}", + "admin.email.emailSuccess": "发送电子邮件时没有发生错误。请检查您的收件箱并确认。", + "admin.email.enableEmailBatching.clusterEnabled": "批量电子邮件无法在高可用性下开启。", + "admin.email.enableEmailBatching.siteURL": "设置 > 站点网址中的站点网址配置后才能开启批量电子邮件。", + "admin.email.enableEmailBatchingDesc": "当设为是时,用户可以将多条私信和提及合并到一条电子邮件通知,可在帐号设置 > 通知里设定。", + "admin.email.enableEmailBatchingTitle": "开启批量电子邮件:", + "admin.email.fullPushNotification": "发送完整的消息片段", + "admin.email.genericPushNotification": "发送包含用户名称和频道名称的一般性描述", + "admin.email.inviteSaltDescription": "32字符的盐值用于签署电子邮件邀请。安装时随机生成。点击 \"重新生成\" 生成新的盐值。", + "admin.email.inviteSaltExample": "例如 \"bjlSR4QqkXFBr7TP4oDzlfZmcNuH9Yo\"", + "admin.email.inviteSaltTitle": "电子邮件邀请盐值:", + "admin.email.mhpns": "使用加密的,产品及质量的HPNS连接到iOS和Android应用程序", + "admin.email.mhpnsHelp": "从 iTunes下载 Mattermost iOS app。从 Google Play 下载 Mattermost Android app。 了解更多 HPNS。", + "admin.email.mtpns": "在iTunes和TPNS的谷歌Play使用iOS和Android应用程序", + "admin.email.mtpnsHelp": "从 iTunes下载 Mattermost iOS app。从 Google Play 下载 Mattermost Android app。 了解更多 TPNS。", + "admin.email.nofificationOrganizationExample": "例如:\"© ABC Corporation, 565 Knight Way, Palo Alto, California, 94305, USA\"", + "admin.email.notificationDisplayDescription": "从 Mattermost 发送的电子邮件通知时显示的电子邮件帐号名。", + "admin.email.notificationDisplayExample": "例如:\"Mattermost通知\", \"系统\", \"无答复\"", + "admin.email.notificationDisplayTitle": "通知显示名称:", + "admin.email.notificationEmailDescription": "从 Mattermost 发送的电子邮件通知时显示的电子邮件地址。", + "admin.email.notificationEmailExample": "例如:\"mattermost@yourcompany.com\", \"admin@yourcompany.com\"", + "admin.email.notificationEmailTitle": "通知邮件地址:", + "admin.email.notificationOrganization": "通知页脚地址:", + "admin.email.notificationOrganizationDescription": "从mattermost电子邮件通知显示组织机构名称和地址,如“©ABC Corporation, 565 Knight Way, Palo Alto, California, 94305, USA\"。如果字段为空,则将不显示该组织的名称和地址。", + "admin.email.notificationOrganizationExample": "例如:\"© ABC Corporation, 565 Knight Way, Palo Alto, California, 94305, USA\"", + "admin.email.notificationsDescription": "通常在正式环境中设置为是。当设为是时,Mattermost 将尝试发送电子邮件通知。开发人员可以设置为否以跳过电子邮件设置来加快开发速度。
置此为是时将删除预览模式横幅 (设置后需要注销后重新登录才生效)。", + "admin.email.notificationsTitle": "启用发送邮件通知:", + "admin.email.passwordSaltDescription": "32字盐值用来签署重置密码邮件。由安装时随机生成。点击 \"重新生成\" 生成新的盐。", + "admin.email.passwordSaltExample": "例如 \"bjlSR4QqkXFBr7TP4oDzlfZmcNuH9Yo\"", + "admin.email.passwordSaltTitle": "密码重设盐值:", + "admin.email.pushContentDesc": "选择“发送包含用户名称和频道名称的一般性描述”提供一般性的推送通知,包括用户名称和频道名称,但不包含具体信息内容。

选择“发送完整的信息片段”,则推送详细的消息摘要,可能包括发送信息中的敏感数据。如果您的推送通知服务在防火墙之外,强烈建议此选项仅在使用 \"https\"加密连接协议时启用。", + "admin.email.pushContentTitle": "推送通知内容:", + "admin.email.pushDesc": "通常在正式环境中设置为是。当设为是时,Mattermost尝试给iOS和安卓从推送通知服务器发送通知。", + "admin.email.pushOff": "不发送推送通知", + "admin.email.pushOffHelp": "请参考 文件推送通知了解更多关于安装选项。", + "admin.email.pushServerDesc": "Mattermost推送消息服务时可以设置防火墙使用代理 https://github.com/mattermost/push-proxy。你可以使用 http://push-test.mattermost.com 测试,连接AppStore中Mattermost iOS演示版。请不要使用行生产机上测试服务。", + "admin.email.pushServerEx": "例如: \"http://push-test.mattermost.com\"", + "admin.email.pushServerTitle": "推送通知服务器:", + "admin.email.pushTitle": "启动发送推送通知:", + "admin.email.requireVerificationDescription": "通常在正式环境中设置为是。当设为是时,Mattermost要求账户创建后先邮件验证通过才能登录。开发人员可以将此字段设置为否,跳过电子邮件验证以加快开发。", + "admin.email.requireVerificationTitle": "要求电子邮件验证:", + "admin.email.selfPush": "手动输入推送通知服务位置", + "admin.email.smtpPasswordDescription": "从邮件服务器管理员获得此凭据。", + "admin.email.smtpPasswordExample": "例如:\"yourpassword\", \"jcuS8PuvcpGhpgHhlcpT1Mx42pnqMxQY\"", + "admin.email.smtpPasswordTitle": "SMTP服务器密码:", + "admin.email.smtpPortDescription": "SMTP邮件服务器端口。", + "admin.email.smtpPortExample": "例如:\"25\", \"465\", \"587\"", + "admin.email.smtpPortTitle": "SMTP服务器端口:", + "admin.email.smtpServerDescription": "SMTP邮件服务器的位置。", + "admin.email.smtpServerExample": "例如:\"smtp.yourcompany.com\", \"email-smtp.us-east-1.amazonaws.com\"", + "admin.email.smtpServerTitle": "SMTP服务器:", + "admin.email.smtpUsernameDescription": "从邮件服务器管理员获得此凭据。", + "admin.email.smtpUsernameExample": "例如:\"admin@yourcompany.com\", \"AKIADTOVBGERKLCBV\"", + "admin.email.smtpUsernameTitle": "SMTP服务器用户名:", + "admin.email.testing": "测试中...", + "admin.false": "否", + "admin.file_upload.chooseFile": "选择文件", + "admin.file_upload.noFile": "没有上传文件", + "admin.file_upload.uploadFile": "上传", + "admin.files.images": "图像", + "admin.files.storage": "储存", + "admin.general.configuration": "配置", + "admin.general.localization": "本地化", + "admin.general.localization.availableLocalesDescription": "设置用户在帐号设置可用的语言(留空将可用所有语言)。如果您手动添加新语言,必须在保存钱先添加默认客户端语言

想要帮忙翻译吗?加入Mattermost 翻译服务器。", + "admin.general.localization.availableLocalesNoResults": "未找到结果", + "admin.general.localization.availableLocalesNotPresent": "默认客户端语言必须包含在可用列表里", + "admin.general.localization.availableLocalesTitle": "可用的语言:", + "admin.general.localization.clientLocaleDescription": "新创建的用户以及未登入的用户的默认语言。", + "admin.general.localization.clientLocaleTitle": "默认客户端语言:", + "admin.general.localization.serverLocaleDescription": "系统消息和日志的默认语言。此设定需要重新启动服务器才生效。", + "admin.general.localization.serverLocaleTitle": "默认服务器语言:", + "admin.general.log": "日志", + "admin.general.policy": "策略", + "admin.general.policy.allowEditPostAlways": "任何时间", + "admin.general.policy.allowEditPostDescription": "设定作者发布消息后可编辑的时长的策略。", + "admin.general.policy.allowEditPostNever": "从不", + "admin.general.policy.allowEditPostTimeLimit": "发布后秒数", + "admin.general.policy.allowEditPostTitle": "允许用户修改他们的消息:", + "admin.general.policy.permissionsAdmin": "团队和系统管理员", + "admin.general.policy.permissionsAll": "所有团队成员", + "admin.general.policy.permissionsAllChannel": "所有频道成员", + "admin.general.policy.permissionsChannelAdmin": "频道,团队和系统管理员", + "admin.general.policy.permissionsDeletePostAdmin": "团队和系统管理员", + "admin.general.policy.permissionsDeletePostAll": "消息作者可以删除他们自己的消息,同时管理员可以删除任何消息", + "admin.general.policy.permissionsDeletePostSystemAdmin": "系统管理员", + "admin.general.policy.permissionsSystemAdmin": "系统管理员", + "admin.general.policy.restrictPostDeleteDescription": "设置谁可以删除消息的策略。", + "admin.general.policy.restrictPostDeleteTitle": "允许哪些用户删除消息:", + "admin.general.policy.restrictPrivateChannelCreationDescription": "设置谁可以创建私有组的策略。", + "admin.general.policy.restrictPrivateChannelCreationTitle": "开启创建私有组:", + "admin.general.policy.restrictPrivateChannelDeletionCommandLineToolLink": "命令符工具", + "admin.general.policy.restrictPrivateChannelDeletionDescription": "设置谁可以删除私有组的策略。已删除的组可以使用 {commandLineToolLink} 从数据库中恢复。", + "admin.general.policy.restrictPrivateChannelDeletionTitle": "开启删除私有组:", + "admin.general.policy.restrictPrivateChannelManagementDescription": "设置谁可以重命名以及设置标题或私有组用途的策略。", + "admin.general.policy.restrictPrivateChannelManagementTitle": "开启私有组重命名:", + "admin.general.policy.restrictPublicChannelCreationDescription": "设置谁可以创建公开频道的策略。", + "admin.general.policy.restrictPublicChannelCreationTitle": "允许创建公开频道:", + "admin.general.policy.restrictPublicChannelDeletionCommandLineToolLink": "命令符工具", + "admin.general.policy.restrictPublicChannelDeletionDescription": "设置谁可以删除公共频道的策略。已删除的频道可以使用 {commandLineToolLink} 从数据库中恢复。", + "admin.general.policy.restrictPublicChannelDeletionTitle": "开启删除公开频道:", + "admin.general.policy.restrictPublicChannelManagementDescription": "设置谁可以重命名和设置标题或公共频道用途的策略。", + "admin.general.policy.restrictPublicChannelManagementTitle": "开启公开频道重命名:", + "admin.general.policy.teamInviteDescription": "设置谁可以用邀请新成员发送邮件邀请他人到团队,或用主菜单的获取团队邀请链接的策略。如果使用了获取团队邀请链接,您可以在用户加入到团队后到团队设定 > 邀请码废除邀请码。", + "admin.general.policy.teamInviteTitle": "启用发送团队邀请的使用者:", + "admin.general.privacy": "隐私", + "admin.general.usersAndTeams": "成员和团队", + "admin.gitab.clientSecretDescription": "通过上述指令登录GitLab获取该值。", + "admin.gitlab.EnableHtmlDesc": "
  1. 登入您的GitLab账户并去档案设定 -> 应用程序。
  2. 输入重定向地址 \"/login/gitlab/complete\" (例如: http://localhost:8065/login/gitlab/complete) 和 \"/signup/gitlab/complete\"。
  3. 然后使用GitLab中 \"Application Secret Key\" 和 \"Application ID\" 完成下面的选项。
  4. 完成以下端点网址。
", + "admin.gitlab.authDescription": "输入 https:///oauth/authorize (例如 https://example.com:3000/oauth/authorize)。根据于您的服务器设定而决定网址中使用HTTP或HTTPS。", + "admin.gitlab.authExample": "例如 \"https:///oauth/authorize\"", + "admin.gitlab.authTitle": "认证端点:", + "admin.gitlab.clientIdDescription": "通过上述指令登录gitlab获取该值", + "admin.gitlab.clientIdExample": "例如 \"jcuS8PuvcpGhpgHhlcpT1Mx42pnqMxQY\"", + "admin.gitlab.clientIdTitle": "应用程序 ID", + "admin.gitlab.clientSecretExample": "例如 \"jcuS8PuvcpGhpgHhlcpT1Mx42pnqMxQY\"", + "admin.gitlab.clientSecretTitle": "应用程序密钥:", + "admin.gitlab.enableDescription": "当设置为是时,Mattermost允许使用GitLab OAuth创建团队和注册账户。", + "admin.gitlab.enableTitle": "启用GitLab认证:", + "admin.gitlab.settingsTitle": "GitLab设置", + "admin.gitlab.tokenDescription": "输入 https:///oauth/token。根据于您的服务器设定而决定网址中使用HTTP或HTTPS。", + "admin.gitlab.tokenExample": "例如 \"https:///oauth/token\"", + "admin.gitlab.tokenTitle": "令牌端点:", + "admin.gitlab.userDescription": "输入 https:///api/v3/user。根据于您的服务器设定而决定网址中使用HTTP或HTTPS。", + "admin.gitlab.userExample": "例如 \"https:///api/v3/user\"", + "admin.gitlab.userTitle": "用户API 端点:", + "admin.google.EnableHtmlDesc": "
  1. 登入到您的谷歌帐号。
  2. https://console.developers.google.com,在左边导航点击凭证后输入\"Mattermost - your-company-name\"为项目名,然后点击创建
  3. 点击OAuth 同意页面标题并输入\"Mattermost\" 做为显示给用户的产品名,然后点击保存
  4. 凭证标题下,点击创建凭证,选择OAuth客户端ID并选择网页应用
  5. 限制经认可的重指向网址下输入your-mattermost-url/signup/google/complete (例: http://localhost:8065/signup/google/complete)。点击创建
  6. 粘贴客户端ID客户端秘密到以下栏,然后点击保存
  7. 最后,到Google+ API并点击启用。这可能需要几分钟时间让谷歌服务器同步数据。
", + "admin.google.authTitle": "认证端点:", + "admin.google.clientIdDescription": "您在谷歌注册您的应用时收到的客户端ID。", + "admin.google.clientIdExample": "例如 \"7602141235235-url0fhs1mayfasbmop5qlfns8dh4.apps.googleusercontent.com\"", + "admin.google.clientIdTitle": "客户端ID:", + "admin.google.clientSecretDescription": "您在谷歌注册您的应用时收到的客户端秘密。", + "admin.google.clientSecretExample": "例如 \"H8sz0Az-dDs2p15-7QzD231\"", + "admin.google.clientSecretTitle": "客户端秘密:", + "admin.google.tokenTitle": "令牌端点:", + "admin.google.userTitle": "用户API 端点:", + "admin.image.amazonS3BucketDescription": "您在AWS S3 存储桶中的名字。", + "admin.image.amazonS3BucketExample": "例如 \"mattermost-media\"", + "admin.image.amazonS3BucketTitle": "Amazon S3 存储桶:", + "admin.image.amazonS3EndpointDescription": "您的 S3 兼容储存提供商的主机名称。默认为 `s3.amazonaws.com`。", + "admin.image.amazonS3EndpointExample": "例如:\"s3.amazonaws.com\"", + "admin.image.amazonS3EndpointTitle": "亚马逊 S3 连接点:", + "admin.image.amazonS3IdDescription": "从您的Amazon EC2管理员获得此证书。", + "admin.image.amazonS3IdExample": "例如 \"AKIADTOVBGERKLCBV\"", + "admin.image.amazonS3IdTitle": "Amazon S3 访问密钥 ID:", + "admin.image.amazonS3RegionDescription": "您创建S3 存储桶选中的AWS区域。", + "admin.image.amazonS3RegionExample": "例如 \"us-east-1\"", + "admin.image.amazonS3RegionTitle": "Amazon S3区域:", + "admin.image.amazonS3SSLDescription": "当设为否时,允许创建非安全连接到亚马逊 S3。默认只允许安全连接。", + "admin.image.amazonS3SSLTitle": "开启安全亚马逊 S3 连接:", + "admin.image.amazonS3SecretDescription": "从你的Amazon EC2管理员获得此证书。", + "admin.image.amazonS3SecretExample": "例如 \"jcuS8PuvcpGhpgHhlcpT1Mx42pnqMxQY\"", + "admin.image.amazonS3SecretTitle": "Amazon S3 秘密访问密钥:", + "admin.image.localDescription": "存储文件和图像的目录。如果为空则默认为./data/。", + "admin.image.localExample": "例如 \"./data/\"", + "admin.image.localTitle": "本地存储目录:", + "admin.image.maxFileSizeDescription": "最大允许的讯息附件文件大小(MB)。注意:请确认服务器内存能够承受您的设定。过大的文件大小会增加服务器崩溃和因网路问题而上传失败的风险。", + "admin.image.maxFileSizeExample": "50", + "admin.image.maxFileSizeTitle": "最大文件大小:", + "admin.image.previewHeightDescription": "预览图最大高度(\"0\": 设置为自动)。更新这个值改变之后的预览图显示,但不改变在过去创建的图片。", + "admin.image.previewHeightExample": "例如 \"0\"", + "admin.image.previewHeightTitle": "预览图像高度:", + "admin.image.previewWidthDescription": "预览图最大宽度。更新这个值改变之后的预览图显示,但不改变在过去创建的图片。", + "admin.image.previewWidthExample": "例如 \"1024\"", + "admin.image.previewWidthTitle": "预览图像宽度:", + "admin.image.profileHeightDescription": "个人头像高度。", + "admin.image.profileHeightExample": "例如 \"0\"", + "admin.image.profileHeightTitle": "个人头像高度:", + "admin.image.profileWidthDescription": "个人头像宽度。", + "admin.image.profileWidthExample": "例如 \"1024\"", + "admin.image.profileWidthTitle": "个人头像宽度:", + "admin.image.publicLinkDescription": "32字盐值用来签署公开的图片链接。由安装时随机生成。点击 \"重新生成\" 生成新的盐。", + "admin.image.publicLinkExample": "例如 \"gxHVDcKUyP2y1eiyW8S8na1UYQAfq6J6\"", + "admin.image.publicLinkTitle": "公共链接盐值:", + "admin.image.shareDescription": "允许用户分享文件和图片的公共链接。", + "admin.image.shareTitle": "分享公共文件链接:", + "admin.image.storeAmazonS3": "Amazon S3", + "admin.image.storeDescription": "文件和图片所存放的储存系统。

选择 \"Amazon S3\" 会启用对应栏位让您填入 Amazon 的认证跟储存贮体的详细资料。

选择 \"本地文件系统\" 会启用对应栏位让您填入本地文件目录。", + "admin.image.storeLocal": "本地文件系统", + "admin.image.storeTitle": "文件存储系统:", + "admin.image.thumbHeightDescription": "上传图片时生成缩略图高度。更新这个值改变之后的缩略图显示,但不改变在过去创建的图片。", + "admin.image.thumbHeightExample": "例如 \"100\"", + "admin.image.thumbHeightTitle": "附件缩略图高度:", + "admin.image.thumbWidthDescription": "上传图片时生成缩略图宽度。更新这个值改变之后的缩略图显示,但不改变在过去创建的图片。", + "admin.image.thumbWidthExample": "例如 \"120\"", + "admin.image.thumbWidthTitle": "附件缩略图宽度:", + "admin.integrations.custom": "自定义集成", + "admin.integrations.external": "外部服务", + "admin.integrations.webrtc": "Mattermost WebRTC", + "admin.ldap.baseDesc": "Base DN 是 Mattermost 在 AD/LDAP 树中搜索用户开始的专有名称路径。", + "admin.ldap.baseEx": "例如 \"ou=Unit Name,dc=corp,dc=example,dc=com\"", + "admin.ldap.baseTitle": "BaseDN:", + "admin.ldap.bindPwdDesc": "\"绑定用户名\"的密码。", + "admin.ldap.bindPwdTitle": "绑定密码:", + "admin.ldap.bindUserDesc": "用来 AD/LDAP 搜索的用户名。通常用一个专门给 Mattermost 使用的帐号。此帐号应该只有访问 BaseDN 栏指定 AD/LDAP 树只读权限。", + "admin.ldap.bindUserTitle": "绑定用户名:", + "admin.ldap.emailAttrDesc": "AD/LDAP 服务器中属性用于填充 Mattermost 用户电子邮箱地址属性。", + "admin.ldap.emailAttrEx": "例如 \"mail\" 或 \"userPrincipalName\"", + "admin.ldap.emailAttrTitle": "电子邮箱属性:", + "admin.ldap.enableDesc": "当设置为是时,Mattermost 允许使用 AD/LDAP 登录", + "admin.ldap.enableTitle": "开启 AD/LDAP 登入:", + "admin.ldap.firstnameAttrDesc": "(可选) AD/LDAP服务器中的属性用来填充 Mattermost 用户的名字。当设置后,用户将没法修改他们的名字,因为它时和 LDAP 服务器同步的。当留空时,用户可以在帐号设置里修改名字。", + "admin.ldap.firstnameAttrEx": "例如 \"givenName\"", + "admin.ldap.firstnameAttrTitle": "姓属性", + "admin.ldap.idAttrDesc": "此属性在 AD/LDAP 服务器作为 Mattermost 中一个被用于做唯一标识符值。它将不可被修改,比如用户名或 uid。如果一个用户的 ID 属性被修改,它将创建一个新的 Mattermost 账户并且与之前的用户无关。它被用于在 Mattermost 登录时“AD/LDAP 用户名”字段在登录页面。一般该属性字段与上面的“用户名属性”字段相同。如果你的团队通常使用 域名\\\\用户名 登录到其他 AD/LDAP 服务,你可以选择在本栏使用 域名\\\\用户名 以跟其他站点保持一致。", + "admin.ldap.idAttrEx": "例如 \"sAMAccountName\"", + "admin.ldap.idAttrTitle": "ID属性:", + "admin.ldap.lastnameAttrDesc": "(可选) AD/LDAP服务器中的属性用来填充 Mattermost 用户的姓氏。当设置后,用户将没法修改他们的姓氏,因为它时和 LDAP 服务器同步的。当留空时,用户可以在帐号设置里修改姓氏。", + "admin.ldap.lastnameAttrEx": "例如 \"sn\"", + "admin.ldap.lastnameAttrTitle": "姓氏属性:", + "admin.ldap.ldap_test_button": "AD/LDAP 测试", + "admin.ldap.loginNameDesc": "出现在登录页面登录框的占位符文本。默认为 \"AD/LDAP 用户名\"。", + "admin.ldap.loginNameEx": "例如 \"AD/LDAP 用户名\"", + "admin.ldap.loginNameTitle": "域名登录:", + "admin.ldap.maxPageSizeEx": "例如 \"2000\"", + "admin.ldap.maxPageSizeHelpText": "Mattermost 向 AD/LDAP 服务器请求使用者资料时单次最多的数量。0 表示无上限。", + "admin.ldap.maxPageSizeTitle": "最大页面大小:", + "admin.ldap.nicknameAttrDesc": "(可选) AD/LDAP服务器中的属性用来填充 Mattermost 用户的昵称。当设置后,用户将没法修改他们的昵称,因为它时和 LDAP 服务器同步的。当留空时,用户可以在帐号设置里修改昵称。", + "admin.ldap.nicknameAttrEx": "例如 \"昵称\"", + "admin.ldap.nicknameAttrTitle": "昵称:", + "admin.ldap.noLicense": "

提示:

AD/LDAP 是一个企业平台特性。您当前的证书不支持 AD/LDAP。请点击这里获取企业证书的信息和价格。

", + "admin.ldap.portDesc": "该端口将连接到 AD/LDAP 服务器。默认389。", + "admin.ldap.portEx": "例如 \"389\"", + "admin.ldap.portTitle": "AD/LDAP 端口:", + "admin.ldap.positionAttrDesc": "(可选) AD/LDAP 服务器属性用于填充 Mattermost 位置属性。", + "admin.ldap.positionAttrEx": "例如:\"title\"", + "admin.ldap.positionAttrTitle": "职位属性:", + "admin.ldap.queryDesc": "查询 AD/LDAP 服务器超时值。增加此值如果你遇到查询一个缓慢 AD/LDAP 服务器时发生超时错误。", + "admin.ldap.queryEx": "例如 \"60\"", + "admin.ldap.queryTitle": "查询时限(秒):", + "admin.ldap.serverDesc": "AD/LDAP 服务器的域名或IP地址。", + "admin.ldap.serverEx": "例如 \"10.0.0.23\"", + "admin.ldap.serverTitle": "AD/LDAP 服务器:", + "admin.ldap.skipCertificateVerification": "跳过证书验证:", + "admin.ldap.skipCertificateVerificationDesc": "跳过TLS或STARTTLS连接的证书验证。不建议用在需要TLS的正式环境下。仅限测试。", + "admin.ldap.syncFailure": "同步失败:{error}", + "admin.ldap.syncIntervalHelpText": "AD/LDAP 的同步机制会将 Mattermost 中的用户信息同步以反映在 AD/LDAP 服务器上进行的更新。例如,当 AD/LDAP 服务器上一个用户姓名更改时,这一改变将在 Mattermost 同步执行。在 AD/LDAP 服务器中删除或禁用账户时将他们的 Mattermost 账号设置为\"停用\"并且已撤走会话。Mattermost 会按照一定的时间频率定期进行同步。例如, 如果设置为60,那么会在每60分钟进行同步。", + "admin.ldap.syncIntervalTitle": "同步间隔(分钟):", + "admin.ldap.syncNowHelpText": "立即启动一个 AD/LDAP 同步。", + "admin.ldap.sync_button": "开始 AD/LDAP 同步", + "admin.ldap.testFailure": "AD/LDAP 测试失败:{error}", + "admin.ldap.testHelpText": "测试 Mattermost 服务器是否能连接到指定的 AD/LDAP 服务器。详细错误信息请见日志文件。", + "admin.ldap.testSuccess": "AD/LDAP 测试成功", + "admin.ldap.uernameAttrDesc": "AD/LDAP 服务器中属性用于填充 Mattermost 用户名属性。这可以和 ID 属性一致。", + "admin.ldap.userFilterDisc": "(可选) 输入个AD/LDAP筛选器用在搜索用户对象。只有被查询条件选中的用户才能访问 Mattermost。对于活动目录,过滤禁用用户的查询是(&(objectCategory=Person)(!(UserAccountControl:1.2.840.113556.1.4.803:=2)))。", + "admin.ldap.userFilterEx": "例如:\"(objectClass=user)\"", + "admin.ldap.userFilterTitle": "用户筛选器:", + "admin.ldap.usernameAttrEx": "例如 \"sAMAccountName\"", + "admin.ldap.usernameAttrTitle": "用户名属性:", + "admin.license.choose": "选择文件", + "admin.license.chooseFile": "选择文件", + "admin.license.edition": "版本:", + "admin.license.key": "许可证钥匙:", + "admin.license.keyRemove": "删除企业许可证和降级服务器", + "admin.license.noFile": "没有上传的文件", + "admin.license.removing": "删除许可证...", + "admin.license.title": "版本和许可证", + "admin.license.type": "授权:", + "admin.license.upload": "上传", + "admin.license.uploadDesc": "上传许可证来升级 Mattermost 至企业版本。访问我们了解企业版的好处或购买许可证。", + "admin.license.uploading": "上传许可证...", + "admin.log.consoleDescription": "通常在正式环境中设置为是。开发人员应该设置为是来根据控制台日志级别显示日志信息到控制台。如果设置为是,服务器将消息写入到标准输出流 (stdout)。", + "admin.log.consoleTitle": "日志输出到控制台:", + "admin.log.enableDiagnostics": "开启诊断和错误报告:", + "admin.log.enableDiagnosticsDescription": "开启此功能将发送错误报告和诊断信息到 Mattermost, Inc. 以帮助提高 Mattermost 的质量和性能。请阅读我们的隐私政策了解更多。", + "admin.log.enableWebhookDebugging": "启用Webhook调试:", + "admin.log.enableWebhookDebuggingDescription": "您可以设置为false来禁用所有传入的webhook请求主体的调试日志记录。", + "admin.log.fileDescription": "通常在正式环境中设置为是。当设置为是时,日志文件写入到下面指定日志文件位置。", + "admin.log.fileLevelDescription": "此设置确定日志事件写入到控制台的级别详情.ERROR: 只输出错误信息.INFO: 输出错误消息和在启动和初始化的信息.DEBUG: 打印开发者调试问题的细节.", + "admin.log.fileLevelTitle": "文件日志级别:", + "admin.log.fileTitle": "日志输出到文件:", + "admin.log.formatDateLong": "日期(2006/01/02)", + "admin.log.formatDateShort": "日期(01/02/06)", + "admin.log.formatDescription": "日志输出信息格式化.如果没有设置默认为\"[ %D%T ][%L]%M\",如下: ", + "admin.log.formatLevel": "级别(DEBG,INFO,EROR)", + "admin.log.formatMessage": "信息", + "admin.log.formatPlaceholder": "输入文件格式", + "admin.log.formatSource": "源", + "admin.log.formatTime": "时间(15: 04: 05MST)", + "admin.log.formatTitle": "日志文件格式:", + "admin.log.levelDescription": "此设置确定日志事件写入到控制台的级别详情.ERROR: 只输出错误信息.INFO: 输出错误消息和在启动和初始化的信息.DEBUG: 打印开发者调试问题的细节.", + "admin.log.levelTitle": "控制台日志级别:", + "admin.log.locationDescription": "日志文件写入位置.如果没有设置,默认位置为./logs/mattermost,写入到日志文件mattermost.log.启用日志轮转每10000行的日志信息写入新的文件存储在同一目录, 例如mattermost.2015-09-23.001,mattermost.2015-09-23.002,等等.", + "admin.log.locationPlaceholder": "输入你的文件位置", + "admin.log.locationTitle": "日志文件目录:", + "admin.log.logSettings": "日志设置", + "admin.logs.reload": "重载", + "admin.logs.title": "服务器日志", + "admin.metrics.enableDescription": "当设置为是时,Mattermost 会启用性能监控收集和分析。请查看文档了解更多Mattermost 性能监控配置信息。", + "admin.metrics.enableTitle": "开启性能监视:", + "admin.metrics.listenAddressDesc": "服务端监听的地址以公开性能指标数据。", + "admin.metrics.listenAddressEx": "例如:\":8065\"", + "admin.metrics.listenAddressTitle": "监听地址:", + "admin.mfa.bannerDesc": "多重验证可以在使用 AD/LDAP 或邮箱地址登入的帐号使用。如果使用其他登入方式,多重验证需要在验证提供商设置。", + "admin.mfa.cluster": "高", + "admin.mfa.title": "多重验证", + "admin.nav.help": "帮助", + "admin.nav.logout": "注销", + "admin.nav.report": "报告问题", + "admin.nav.switch": "团队选择", + "admin.notifications.email": "电子邮件", + "admin.notifications.push": "移动推送", + "admin.notifications.title": "通知设置", + "admin.oauth.gitlab": "GitLab", + "admin.oauth.google": "Google Apps", + "admin.oauth.off": "不允许通过 OAuth 2.0 提供商登入", + "admin.oauth.office365": "Office 365 (Beta)", + "admin.oauth.providerDescription": "当设为是时,Mattermost 可以做为 OAuth 2.0 服务提供商允许 Mattermost 给外部应用 API 请求授权。参见文档了解更多。", + "admin.oauth.providerTitle": "启动 OAuth 2.0 服务提供商:", + "admin.oauth.select": "选择 OAuth 2.0 服务提供商:", + "admin.office365.EnableHtmlDesc": "
  1. 登入到您的微软或Office 365帐号。确定是和您想让用户登入的同一个租户
  2. https://apps.dev.microsoft.com,点击转到应用列表 > 添加应用然后用\"Mattermost - your-company-name\"做为应用名
  3. 应用秘密下,点击生成新密码后粘贴到以下应用密码栏。
  4. 平台下,点击添加平台,选择网页并在重指向网址下输入your-mattermost-url/signup/office365/complete (例: http://localhost:8065/signup/office365/complete)。同时反选择允许隐含流程
  5. 最后,点击保存并粘贴应用ID到下方。
", + "admin.office365.authTitle": "认证端点:", + "admin.office365.clientIdDescription": "您在微软注册您的应用时收到的应用/客户端ID。", + "admin.office365.clientIdExample": "例如 \"adf3sfa2-ag3f-sn4n-ids0-sh1hdax192qq\"", + "admin.office365.clientIdTitle": "应用程序 ID:", + "admin.office365.clientSecretDescription": "您在微软注册您的应用时收到的应用密码。", + "admin.office365.clientSecretExample": "例如 \"shAieM47sNBfgl20f8ci294\"", + "admin.office365.clientSecretTitle": "应用密码:", + "admin.office365.tokenTitle": "令牌端点:", + "admin.office365.userTitle": "用户API 端点:", + "admin.password.lowercase": "至少有一个小写字母", + "admin.password.minimumLength": "最小密码长度:", + "admin.password.minimumLengthDescription": "有效密码字符的长度必须是大于或等于{min}且小于或等于{max}的整数。", + "admin.password.minimumLengthExample": "例如 \"5\"", + "admin.password.number": "至少有一个数字", + "admin.password.preview": "错误消息预览", + "admin.password.requirements": "密码要求:", + "admin.password.requirementsDescription": "有效的密码所需的字符类型。", + "admin.password.symbol": "至少有一个符号 (例如:\"~!@#$%^&*()\")", + "admin.password.uppercase": "至少有一个大写字母", + "admin.privacy.showEmailDescription": "当设为否时,从除了系统管理员外隐藏成员的电子邮件。", + "admin.privacy.showEmailTitle": "显示电子邮箱地址:", + "admin.privacy.showFullNameDescription": "当设为否时,从除了系统管理员外隐藏成员的姓名。姓名将被用户名取代。", + "admin.privacy.showFullNameTitle": "显示全名:", + "admin.purge.button": "清除所有缓存", + "admin.purge.loading": " 加载中...", + "admin.purge.purgeDescription": "这将清除所有内存中的缓存如会话、帐号、频道等。部署高高可用性将尝试清除机群中所有服务器。清除缓存将可能严重影响性能。", + "admin.purge.purgeFail": "清除失败: {error}", + "admin.rate.enableLimiterDescription": "当设置为是时,API使用率被限制到以下值。", + "admin.rate.enableLimiterTitle": "启用频率限制:", + "admin.rate.httpHeaderDescription": "填充时,变化率限制通过HTTP头字段指定(例如当配置NGINX\"X-Real-IP\",当配置AmazonELB为\"X-Forwarded-For\").", + "admin.rate.httpHeaderExample": "例如 \"X-Real-IP\", \"X-Forwarded-For\"", + "admin.rate.httpHeaderTitle": "通过HTTP头变化频率限制:", + "admin.rate.maxBurst": "最大过载大小:", + "admin.rate.maxBurstDescription": "超过每秒查询限制的最大请求数。", + "admin.rate.maxBurstExample": "例如 \"100\"", + "admin.rate.memoryDescription": "连接到系统的最大用户会话数由以下 \"根据远程地址改变频率限制\" 以及 \"通过HTTP头变化频率限制\" 设定而决定。", + "admin.rate.memoryExample": "例如 \"10000\"", + "admin.rate.memoryTitle": "内存存储大小:", + "admin.rate.noteDescription": "修改了这部分属性需要重启服务器才能生效。", + "admin.rate.noteTitle": "注释:", + "admin.rate.queriesDescription": "限制每秒API请求数。", + "admin.rate.queriesExample": "例如 \"10\"", + "admin.rate.queriesTitle": "每秒最大查询:", + "admin.rate.remoteDescription": "当设置为是,使用基于IP的API速率限制。", + "admin.rate.remoteTitle": "根据远程地址改变频率限制:", + "admin.rate.title": "速度限制设置", + "admin.recycle.button": "回收数据库连接", + "admin.recycle.loading": "回收中...", + "admin.recycle.recycleDescription": "在部署使用多数据库时可以在服务器运行情况下修改\"config.json\"且使用设定 > 重新从磁盘载入配置 来切换Mattermost主数据库至另外个。之后管理员需使用回收数据库连接功能来根据新设定回收数据库连接。", + "admin.recycle.reloadFail": "回收失败: {error}", + "admin.regenerate": "重新生成", + "admin.reload.button": "重新从磁盘载入配置", + "admin.reload.loading": "加载中...", + "admin.reload.reloadDescription": "在部署使用多数据库时可以在服务器运行情况下修改\"config.json\"且使用 重新从磁盘载入配置 来切换Mattermost主数据库至另外个。之后管理员需使用数据库 > 回收数据库链接 功能来根据新设定回收数据库连接。", + "admin.reload.reloadFail": "重载失败:{error}", + "admin.reset_password.close": "关闭", + "admin.reset_password.newPassword": "新密码", + "admin.reset_password.select": "选择", + "admin.reset_password.submit": "请输入至少{chars}个字符。", + "admin.reset_password.titleReset": "重置密码", + "admin.reset_password.titleSwitch": "切换到电子邮件/密码的账户", + "admin.saml.assertionConsumerServiceURLDesc": "输入 https:///login/sso/saml。确保您使用服务器设定的HTTP或HTTPS网址。此栏又名断言消耗服务网址。", + "admin.saml.assertionConsumerServiceURLEx": "例如 \"https:///login/sso/saml\"", + "admin.saml.assertionConsumerServiceURLTitle": "服务提供商登入URL:", + "admin.saml.bannerDesc": "SAML 服务器中的用户属性,包括用户停用或移除,将在用户登入时 Mattermost 更新。了解更多:https://docs.mattermost.com/deployment/sso-saml.html", + "admin.saml.emailAttrDesc": "使用SAML断言中的属性做为Mattermost中用户的电子邮箱地址。", + "admin.saml.emailAttrEx": "例如 \"Email\" 或 \"PrimaryEmail\"", + "admin.saml.emailAttrTitle": "邮箱属性:", + "admin.saml.enableDescription": "当设为是时,Mattermost允许通过SAML登陆。请参考文档了解Mattermost配置SAML。", + "admin.saml.enableTitle": "开启SAML登入:", + "admin.saml.encryptDescription": "当设置为是时,Mattermost 将会使用您的服务提供商证书来解密SAML断言。", + "admin.saml.encryptTitle": "开启加密:", + "admin.saml.firstnameAttrDesc": "(可选) 使用SAML断言中的属性做为 Mattermost 中用户的昵称。", + "admin.saml.firstnameAttrEx": "例如 \"FirstName\"", + "admin.saml.firstnameAttrTitle": "名字属性:", + "admin.saml.idpCertificateFileDesc": "由可信任的身份认证系统提供商所提供的证书公钥", + "admin.saml.idpCertificateFileRemoveDesc": "从身份提供商中移除公钥认证信息。", + "admin.saml.idpCertificateFileTitle": "身份认证商公钥证书", + "admin.saml.idpDescriptorUrlDesc": "在使用SAML请求时所访问的身份提供商的核发者网址。", + "admin.saml.idpDescriptorUrlEx": "例如 https://idp.example.org/SAML2/issuer\"", + "admin.saml.idpDescriptorUrlTitle": "身份提供商核发地址:", + "admin.saml.idpUrlDesc": "Mattermost发送SAML登入启动初始网址。", + "admin.saml.idpUrlEx": "例如 \"https://idp.example.org/SAML2/SSO/Login\"", + "admin.saml.idpUrlTitle": "SAML SSO 网址:", + "admin.saml.lastnameAttrDesc": "(可选) 使用SAML断言中的属性做为 Mattermost 中用户的姓氏。", + "admin.saml.lastnameAttrEx": "例如 \"LastName\"", + "admin.saml.lastnameAttrTitle": "姓氏属性:", + "admin.saml.localeAttrDesc": "(可选)使用SAML断言中的属性做为Mattermost中用户的语言。", + "admin.saml.localeAttrEx": "例如 \"Locale\" 或 \"PrimaryLanguage\"", + "admin.saml.localeAttrTitle": "优先语言属性:", + "admin.saml.loginButtonTextDesc": "(可选)登入页面中的登入按钮文字。默认为\"With SAML\"。", + "admin.saml.loginButtonTextEx": "例如 \"With OKTA\"", + "admin.saml.loginButtonTextTitle": "登入按钮文字:", + "admin.saml.nicknameAttrDesc": "(可选)使用SAML断言中的属性做为Mattermost中用户的昵称。", + "admin.saml.nicknameAttrEx": "例如 \"昵称\"", + "admin.saml.nicknameAttrTitle": "昵称属性:", + "admin.saml.positionAttrDesc": "(可选) 使用SAML断言中的属性做为 Mattermost 中用户的职位。", + "admin.saml.positionAttrEx": "例如:\"Role\"", + "admin.saml.positionAttrTitle": "职位属性:", + "admin.saml.privateKeyFileFileDesc": "用于解密从身份认证商中返回的 SAML 断言的私钥。", + "admin.saml.privateKeyFileFileRemoveDesc": "移除用于解析从身份认证商中返回的SAML数据的私钥。", + "admin.saml.privateKeyFileTitle": "服务提供商密钥:", + "admin.saml.publicCertificateFileDesc": "当Mattermost是服务提供商时,用来生成从服务提供者到身份提供者产生的SAML请求使用的证书。", + "admin.saml.publicCertificateFileRemoveDesc": "当Mattermost是服务提供商时,删除用来生成从服务提供者到身份提供者产生的SAML请求使用的证书。", + "admin.saml.publicCertificateFileTitle": "服务提供商公开证书:", + "admin.saml.remove.idp_certificate": "删除身份提供商证书", + "admin.saml.remove.privKey": "移除服务提供商密钥", + "admin.saml.remove.sp_certificate": "删除服务提供商证书", + "admin.saml.removing.certificate": "删除证书中...", + "admin.saml.removing.privKey": "删除密钥中...", + "admin.saml.uploading.certificate": "上传证书中...", + "admin.saml.uploading.privateKey": "上传密钥中...", + "admin.saml.usernameAttrDesc": "使用SAML断言中的属性做为Mattermost中用户的用户名。", + "admin.saml.usernameAttrEx": "例如 \"Username\"", + "admin.saml.usernameAttrTitle": "用户名:", + "admin.saml.verifyDescription": "设为是时,Mattermost会核实SAML回复签字与服务提供商登入网址一致", + "admin.saml.verifyTitle": "校验签名:", + "admin.save": "保存", + "admin.saving": "保存配置中...", + "admin.security.connection": "连接", + "admin.security.inviteSalt.disabled": "邀请盐值无法在邮件寄送关闭下修改。", + "admin.security.login": "登录", + "admin.security.password": "密码", + "admin.security.passwordResetSalt.disabled": "重置密码盐值无法在邮件寄送关闭下修改。", + "admin.security.public_links": "公开链接", + "admin.security.requireEmailVerification.disabled": "邮件验证无法在邮件寄送关闭下修改。", + "admin.security.session": "会话", + "admin.security.signup": "注册", + "admin.select_team.close": "关闭", + "admin.select_team.select": "选择", + "admin.select_team.selectTeam": "选择团队", + "admin.service.attemptDescription": "用户必须通过电子邮件重置密码前允许用户登录尝试的次数。", + "admin.service.attemptExample": "例如 \"10\"", + "admin.service.attemptTitle": "最大登录尝试次数:", + "admin.service.cmdsDesc": "当设为是时,允许自定义斜杠命令。详情参见文档。", + "admin.service.cmdsTitle": "启用自定义斜杠命令:", + "admin.service.corsDescription": "启用一个特定域的HTTP跨起源请求。如果您想允许来自任何域的CORS请求,使用“*”,或者将其保留为空禁用请求。", + "admin.service.corsEx": "http://example.com", + "admin.service.corsTitle": "允许来自以下跨源请求网址:", + "admin.service.developerDesc": "开启时,Javascript错误将显示在页面顶端红条里。不推荐在正式环境使用。", + "admin.service.developerTitle": "开启开发者模式:", + "admin.service.enforcMfaTitle": "强制多重身份验证:", + "admin.service.enforceMfaDesc": "当设为是时,必须需要多重验证登入。新用户将在注册时候设置多重验证。已登入并未设置多重验证的用户将重指向多重验证设置页面直到配置完成。

如果您的系统有 AD/LDAP 或电子邮件登入方式以外的用户,多重验证必须在 Mattermost 外的验证提供商设置。", + "admin.service.forward80To443": "映射端口 80 到 443:", + "admin.service.forward80To443Description": "映射所有非安全流量从端口 80 到安全端口 443", + "admin.service.googleDescription": "设置此钥匙以开启内嵌YouTube视频预览。如果没有此钥匙,YouTube预览仍然会在消息或评论中显示但不会显示视频标题。参见Google Developers Tutorial教程以获得钥匙。", + "admin.service.googleExample": "例如 \"7rAh6iwQCkV4cA1Gsg3fgGOXJAQ43QV\"", + "admin.service.googleTitle": "Google API 钥匙:", + "admin.service.iconDescription": "当设为是时,webhooks、斜杠命令以及其他整合比如 Zapier 会允许修改发出信息的头像。注意:和允许整合覆盖用户名配合将可能造成用户被钓鱼攻击。", + "admin.service.iconTitle": "允许整合覆盖头像:", + "admin.service.insecureTlsDesc": "当设为是时,所有对外的 HTTPS 请求将接受未验证,自签名的证书。例如,对外 webhooks 到任意域名用自签名 TLS 证书的服务器将被允许。注意,这会使得这些连接产生中间人攻击危险。", + "admin.service.insecureTlsTitle": "启用不安全的对外连接:", + "admin.service.integrationAdmin": "限制只有管理员能管理整合:", + "admin.service.integrationAdminDesc": "当设为是时,webhhoks 和斜杠命令只由团队和系统管理员可以创建、修改和查看,同时只有系统管理员可以操作 OAuth 2.0 应用。整合在管理员创建后所有人可以使用。", + "admin.service.letsEncryptCertificateCacheFile": "Let's Encrypt 证书缓存文件:", + "admin.service.letsEncryptCertificateCacheFileDescription": "从 Let's Encrypt 服务获取的证书和其他数据将储存于此文件。", + "admin.service.listenAddress": "监听地址:", + "admin.service.listenDescription": "绑定和监听的地址和端口。指定 \":8065\" 将会绑定所有网络接口。指定 \"127.0.0.1:8065\" 将只绑定拥有此 IP 的网络接口。如果您选择一个低级端口 (叫 \"system ports\" 或 \"well-known ports\" 于 0-1023 之间),您必须要拥有权限才能绑定到此端口。在 Linux 上您可以使用:\"sudo setcap cap_net_bind_service=+ep ./bin/platform\" 以允许 Mattermost 绑定知名端口。", + "admin.service.listenExample": "例如 \":8065\"", + "admin.service.mfaDesc": "当设为是时,使用 AD/LDAP 或电子邮件登入的用户可以使用添加 Google Authenticator 多重验证到他们的帐号。", + "admin.service.mfaTitle": "启用多重身份验证:", + "admin.service.mobileSessionDays": "移动应用会话时长 (天):", + "admin.service.mobileSessionDaysDesc": "从用户上一次输入他们的认证到会话过期的天数。修改此设定后,新的会话时常将在用户下一次输入认证后生效。", + "admin.service.outWebhooksDesc": "当设为是时,允许传出webhooks。详情参见文档。", + "admin.service.outWebhooksTitle": "启用对外 Webhooks:", + "admin.service.overrideDescription": "当设为是时,webhooks、斜杠命令以及其他整合比如 Zapier 会允许修改发出信息的用户名。注意:和允许整合覆盖头像配合将可能造成用户被钓鱼攻击。", + "admin.service.overrideTitle": "允许整合覆盖用户名:", + "admin.service.readTimeout": "读取超时:", + "admin.service.readTimeoutDescription": "从连接接收到请求本体完全读取的时间限制。", + "admin.service.securityDesc": "当设置为是时,如果在过去12小时内有发布安全修正将会发送通知给系统管理员。需要启用电子邮件。", + "admin.service.securityTitle": "启用安全警报:", + "admin.service.sessionCache": "会话缓存(分钟):", + "admin.service.sessionCacheDesc": "会话在内存缓存的分钟数。", + "admin.service.sessionDaysEx": "例如 \"30\"", + "admin.service.siteURL": "站点网址:", + "admin.service.siteURLDescription": "用户访问 Mattermost 的包含端口和协议的网址。此栏可以留空除非您要在通知 > 电子邮件里设置批量邮件。当留空时,网址将自动根据访问请求设定。", + "admin.service.siteURLExample": "例如 \"https://mattermost.example.com:1234\"", + "admin.service.ssoSessionDays": "SSO会话时长 (天):", + "admin.service.ssoSessionDaysDesc": "从用户上一次输入他们的认证到会话过期的天数。如果验证方式时SAML或GitLab,用户将会自动登入到Mattermost如果他们已经登入到SAML或GitLab。修改此设定后,新的会话时常将在用户下一次输入认证后生效。", + "admin.service.testingDescription": "当设为是时,/loadtest 斜杠命令能载入测试账号,数据和文字格式。修改这个设置需要重启服务器才能生效。", + "admin.service.testingTitle": "启动测试指令:", + "admin.service.tlsCertFile": "TLS 证书文件:", + "admin.service.tlsCertFileDescription": "使用的证书文件。", + "admin.service.tlsKeyFile": "TLS 密钥文件:", + "admin.service.tlsKeyFileDescription": "使用的私钥文件。", + "admin.service.useLetsEncrypt": "使用 Let's Encrypt:", + "admin.service.useLetsEncryptDescription": "开启自动从 Let's Encrypt 获取证书。证书将在客户端尝试从新的域名连接时获取。此功能可以在多域名使用。", + "admin.service.webSessionDays": "AD/LDAP 和电子邮件的会话时长 (天):", + "admin.service.webSessionDaysDesc": "从用户上一次输入他们的认证到会话过期的天数。修改此设定后,新的会话时常将在用户下一次输入认证后生效。", + "admin.service.webhooksDescription": "设为是时,允许传入webhooks。为了避免钓鱼攻击,所有webhooks的帖文会标上BOT标签。参见 文档 了解详情。", + "admin.service.webhooksTitle": "启用传出的 Webhooks:", + "admin.service.writeTimeout": "写入超时:", + "admin.service.writeTimeoutDescription": "如果使用 HTTP (不安全),这是从读取请求头结尾到写入完响应最大允许的时间。如果使用 HTTPS,这将是从接受连接到写入完响应的总时间。", + "admin.sidebar.addTeamSidebar": "从侧边栏菜单添加团队", + "admin.sidebar.advanced": "高级", + "admin.sidebar.audits": "合规性与审计", + "admin.sidebar.authentication": "验证", + "admin.sidebar.cluster": "高可用性 (Beta)", + "admin.sidebar.compliance": "合规", + "admin.sidebar.configuration": "配置", + "admin.sidebar.connections": "连接", + "admin.sidebar.customBrand": "自定义品牌", + "admin.sidebar.customEmoji": "自定义表情符", + "admin.sidebar.customIntegrations": "自定义集成", + "admin.sidebar.customization": "自定义", + "admin.sidebar.database": "数据库", + "admin.sidebar.developer": "开发人员", + "admin.sidebar.email": "电子邮件", + "admin.sidebar.external": "外部服务", + "admin.sidebar.files": "文件", + "admin.sidebar.general": "常规", + "admin.sidebar.gitlab": "GitLab", + "admin.sidebar.images": "图像", + "admin.sidebar.integrations": "集成", + "admin.sidebar.ldap": "AD/LDAP", + "admin.sidebar.legalAndSupport": "法律和支持", + "admin.sidebar.license": "版本和许可证", + "admin.sidebar.localization": "本地化", + "admin.sidebar.logging": "日志", + "admin.sidebar.login": "登录", + "admin.sidebar.logs": "日志", + "admin.sidebar.metrics": "性能监视", + "admin.sidebar.nativeAppLinks": "Mattermost 应用链接", + "admin.sidebar.notifications": "通知", + "admin.sidebar.oauth": "OAuth 2.0", + "admin.sidebar.other": "其他", + "admin.sidebar.password": "密码", + "admin.sidebar.policy": "策略", + "admin.sidebar.privacy": "隐私", + "admin.sidebar.publicLinks": "公开链接", + "admin.sidebar.push": "移动推送", + "admin.sidebar.rateLimiting": "速率限制", + "admin.sidebar.reports": "报告", + "admin.sidebar.rmTeamSidebar": "从侧边栏菜单移除团队", + "admin.sidebar.saml": "SAML", + "admin.sidebar.security": "安全", + "admin.sidebar.sessions": "会话", + "admin.sidebar.settings": "设置", + "admin.sidebar.signUp": "注册", + "admin.sidebar.sign_up": "注册", + "admin.sidebar.statistics": "团队统计", + "admin.sidebar.storage": "储存", + "admin.sidebar.support": "法律和支持", + "admin.sidebar.teams": "团队 ({count, number})", + "admin.sidebar.users": "用户", + "admin.sidebar.usersAndTeams": "成员和团队", + "admin.sidebar.view_statistics": "站点统计", + "admin.sidebar.webrtc": "WebRTC (Beta)", + "admin.sidebarHeader.systemConsole": "系统控制台", + "admin.sql.dataSource": "数据源:", + "admin.sql.driverName": "驱动名:", + "admin.sql.keyDescription": "32位盐值字符用于加密和解密数据库敏感字段。", + "admin.sql.keyExample": "例如 \"gxHVDcKUyP2y1eiyW8S8na1UYQAfq6J6\"", + "admin.sql.keyTitle": "储存加密密钥:", + "admin.sql.maxConnectionsDescription": "数据库最大闲置连接数。", + "admin.sql.maxConnectionsExample": "例如 \"10\"", + "admin.sql.maxConnectionsTitle": "最大空闲连接数:", + "admin.sql.maxOpenDescription": "数据库最大连接数。", + "admin.sql.maxOpenExample": "例如 \"10\"", + "admin.sql.maxOpenTitle": "最大的开放连接: ", + "admin.sql.noteDescription": "修改这段属性需要重启服务器才能生效。", + "admin.sql.noteTitle": "注释:", + "admin.sql.replicas": "数据源副本:", + "admin.sql.traceDescription": "(开发模式) 当设为是时,SQL 语句会被写入到日志。", + "admin.sql.traceTitle": "追踪:", + "admin.sql.warning": "警告:重新生成盐值可能导致一些列在数据库中返回空。", + "admin.support.aboutDesc": "连接到关于 Mattermost 部署的很多内容的页面,例如您的组织的用途和受众群体。默认是 Mattermost 信息页面。", + "admin.support.aboutTitle": "关于链接:", + "admin.support.emailHelp": "显示在邮件通知和教学上让最终用户提问支持的电子邮件地址。", + "admin.support.emailTitle": "支持邮箱:", + "admin.support.helpDesc": "团队主菜单的帮助文档链接。除非您的组织有创建自己的文档,否则通常不需要去修改它。", + "admin.support.helpTitle": "帮助链接:", + "admin.support.noteDescription": "如果连接到一个外部站点,网址应该以 http:// 或https:// 开头。", + "admin.support.noteTitle": "注释:", + "admin.support.privacyDesc": "为桌面用户和移动设备用户提供隐私策略的链接.如果是空值将隐藏该项来显示通知.", + "admin.support.privacyTitle": "隐私策略链接:", + "admin.support.problemDesc": "该链接是团队网站主菜单帮助文档.默认情况下,这个链接到对等的疑难解答论坛,用户可以搜索,求助技术难题.", + "admin.support.problemTitle": "报告问题链接:", + "admin.support.termsDesc": "用户使用您的在线服务的条款链接。默认情况下,此链接指向 \"Mattermost 使用条款 (最终用户)\" 解释Mattermost软件提供给最终用户的条款。如果您修改默认链接来添加您自己的服务条款,您的新条款必须包含链接到默认条款让用户知道Mattermost软件的最终用户条款。", + "admin.support.termsTitle": "服务条款链接:", + "admin.system_analytics.activeUsers": "有发信息的活跃用户", + "admin.system_analytics.title": "系统", + "admin.system_analytics.totalPosts": "信息总数", + "admin.team.brandDesc": "启用自定义形象,以在登录页上显示一张自选图片,以及一些已经设定好的文本。", + "admin.team.brandDescriptionExample": "所有团队的通讯一站式解决,随时随地可访问和搜索", + "admin.team.brandDescriptionHelp": "登入界面显示的服务描述。未设定时会显示 \"所有团队的通讯一站式解决,随时随地可访问和搜索\"。", + "admin.team.brandDescriptionTitle": "站点描述:", + "admin.team.brandImageTitle": "自定义品牌图片:", + "admin.team.brandTextDescription": "显示在登入界面里自定义品牌图片下的文字。支持 Markdown 格式排版。最多允许 500 字。", + "admin.team.brandTextTitle": "自定义品牌文本:", + "admin.team.brandTitle": "启用自定义品牌:", + "admin.team.chooseImage": "选择新图像:", + "admin.team.dirDesc": "当设置为是时,设置为显示在团队目录里的团队会在主页显示并替代创建新的团队的位置。", + "admin.team.dirTitle": "启用团队目录:", + "admin.team.maxChannelsDescription": "每个团队最多频道数,包括活动的和已删除的频道。", + "admin.team.maxChannelsExample": "例如:\"100\"", + "admin.team.maxChannelsTitle": "每团队最多频道数:", + "admin.team.maxNotificationsPerChannelDescription": "因性能限制输入消息、@all、@here 以及 @channel 发通知的最大频道总用户数 。", + "admin.team.maxNotificationsPerChannelExample": "例如:\"10000\"", + "admin.team.maxNotificationsPerChannelTitle": "每频道最大通知数:", + "admin.team.maxUsersDescription": "每个团队最多用户数,包括启用的和停用的用户。", + "admin.team.maxUsersExample": "例如 \"25\"", + "admin.team.maxUsersTitle": "每个团队最多用户数:", + "admin.team.noBrandImage": "无上传的品牌图片", + "admin.team.openServerDescription": "设为是时,任何人可以无需邀请在本服务器上注册帐号。", + "admin.team.openServerTitle": "启用开放服务器:", + "admin.team.restrictDescription": "团队和用户帐户只能从一个特定的域创建(例如: \"mattermost.org\")或逗号分隔域列表(例如: \"corp.mattermost.com, mattermost.org\")。", + "admin.team.restrictDirectMessage": "允许用户私信的频道:", + "admin.team.restrictDirectMessageDesc": "'任何Mattermost服务器上的用户'让用户对任何用户发起直接通讯频道,就算他们不在同一个团队。'任何团队成员'限制用户只能对同一团队开启直接通讯频道。", + "admin.team.restrictExample": "例如 \"corp.mattermost.com, mattermost.org\"", + "admin.team.restrictNameDesc": "当设置为是时,你不能以保留字如 www,admin,support,test,channel 等创建团队", + "admin.team.restrictNameTitle": "限制团队名称:", + "admin.team.restrictTitle": "只允许特定电子邮件域名创建帐号:", + "admin.team.restrict_direct_message_any": "在Mattermost服务器上的任何用户", + "admin.team.restrict_direct_message_team": "任何团队成员", + "admin.team.siteNameDescription": "登录画面和界面所显示的服务名称。", + "admin.team.siteNameExample": "例如 \"Mattermost\"", + "admin.team.siteNameTitle": "网站名称:", + "admin.team.teamCreationDescription": "当设为否时,只有系统管理能创建团队。", + "admin.team.teamCreationTitle": "开启创建团队:", + "admin.team.upload": "上传", + "admin.team.uploadDesc": "添加一个自定义图片到登入界面以定制用户体验。推荐图片小于 2 MB。", + "admin.team.uploaded": "已上传!", + "admin.team.uploading": "上传中...", + "admin.team.userCreationDescription": "当设置为否时,创建帐户功能被禁用。点击创建账户按钮时会显示错误信息。", + "admin.team.userCreationTitle": "开启帐号创建:", + "admin.team_analytics.activeUsers": "有发信息的的正常用户", + "admin.team_analytics.totalPosts": "信息总数", + "admin.true": "是", + "admin.userList.title": "用户 {team}", + "admin.userList.title2": "用户{team} ({count})", + "admin.user_item.authServiceEmail": "登入方式: 电子邮件", + "admin.user_item.authServiceNotEmail": "登入方式: {service}", + "admin.user_item.confirmDemoteDescription": "如果您从系统管理角色降级且没有另一个用户拥有系统管理员权限,您则需要通过终端访问 Mattermost 服务器并运行以下命令以重新指定一个系统管理员。", + "admin.user_item.confirmDemoteRoleTitle": "确认从系统管理角色降级", + "admin.user_item.confirmDemotion": "确认降级", + "admin.user_item.confirmDemotionCmd": "platform roles system_admin {username}", + "admin.user_item.emailTitle": "电子邮件: {email}", + "admin.user_item.inactive": "停用", + "admin.user_item.makeActive": "设置为启用", + "admin.user_item.makeInactive": "设置为停用", + "admin.user_item.makeMember": "设置为成员", + "admin.user_item.makeSysAdmin": "设置为系统管理员", + "admin.user_item.makeTeamAdmin": "设置为团队管理员", + "admin.user_item.member": "成员", + "admin.user_item.mfaNo": "多重验证:否", + "admin.user_item.mfaYes": "多重验证:是", + "admin.user_item.resetMfa": "移除多重验证", + "admin.user_item.resetPwd": "重置密码", + "admin.user_item.switchToEmail": "切换到电子邮件/密码", + "admin.user_item.sysAdmin": "系统管理员", + "admin.user_item.teamAdmin": "团队管理员", + "admin.webrtc.enableDescription": "当设为是时,Mattermost 允许一对一视频通话。WebRTC 通话可在 Chrome,火狐以及 Mattermost 桌面应用使用。", + "admin.webrtc.enableTitle": "开启 Mattermost WebRTC:", + "admin.webrtc.gatewayAdminSecretDescription": "输入您访问网关管理网址的管理密码。", + "admin.webrtc.gatewayAdminSecretExample": "例如 \"PVRzWNN1Tg6szn7IQWvhpAvLByScWxdy\"", + "admin.webrtc.gatewayAdminSecretTitle": "网关管理密码:", + "admin.webrtc.gatewayAdminUrlDescription": "输入 https://:/admin。请根据您服务器设定使用 HTTP 或 HTTPS 的网址。Mattermost WebRTC 用此网址给每个用户获取创建连接的有效令牌。", + "admin.webrtc.gatewayAdminUrlExample": "例如 \"https://webrtc.mattermost.com:7089/admin\"", + "admin.webrtc.gatewayAdminUrlTitle": "网关管理网址:", + "admin.webrtc.gatewayWebsocketUrlDescription": "输入 wss://:。请根据您服务器设定使用 WS 的 WSS 网址。此 WebSocket 用于用户之间的信号和创建通讯。", + "admin.webrtc.gatewayWebsocketUrlExample": "例如 \"wss://webrtc.mattermost.com:8189\"", + "admin.webrtc.gatewayWebsocketUrlTitle": "网关 Websocket 网址:", + "admin.webrtc.stunUriDescription": "输入您的 STUN 网址 stun::。STUN 是一个网络协议标准用于让一个主机帮助双方都在 NAT 背后的用户连接到公网 IP。", + "admin.webrtc.stunUriExample": "例如 \"stun:webrtc.mattermost.com:5349\"", + "admin.webrtc.stunUriTitle": "STUN URI:", + "admin.webrtc.turnSharedKeyDescription": "输入您的 TURN 服务器共享密钥。此用来生成动态密码来创建连接。每个密码只有短暂有效期。", + "admin.webrtc.turnSharedKeyExample": "例如 \"bXdkOWQxc3d0Ynk3emY5ZmsxZ3NtazRjaWg=\"", + "admin.webrtc.turnSharedKeyTitle": "TURN 共享密钥:", + "admin.webrtc.turnUriDescription": "输入您的 TURN 网址以格式 turn::。TURN 是个标准的网络协议能协助双方都在NAT后时创建连接。", + "admin.webrtc.turnUriExample": "例如 \"turn:webrtc.mattermost.com:5349\"", + "admin.webrtc.turnUriTitle": "TURN URI:", + "admin.webrtc.turnUsernameDescription": "输入您的 TURN 服务器用户名。", + "admin.webrtc.turnUsernameExample": "例如 \"myusername\"", + "admin.webrtc.turnUsernameTitle": "TURN 用户名:", + "admin.webserverModeDisabled": "已禁用", + "admin.webserverModeDisabledDescription": "Mattermost 服务器不会提供静态文件。", + "admin.webserverModeGzip": "gzip", + "admin.webserverModeGzipDescription": "Mattermost 服务器将传输gzip压缩过的静态文件。", + "admin.webserverModeHelpText": "gzip压缩会应用到静态文件。建议开启gzip来增强性能除非您的环境有特殊限制,比如网页代理于gzip文件不兼容。", + "admin.webserverModeTitle": "网页服务器模式:", + "admin.webserverModeUncompressed": "未压缩", + "admin.webserverModeUncompressedDescription": "Mattermost 服务器将传输未压缩过的静态文件。", + "analytics.chart.loading": "加载中...", + "analytics.chart.meaningful": "没有足够的数据进行有意义的表示。", + "analytics.system.activeUsers": "有发信息的的正常用户", + "analytics.system.channelTypes": "频道类型", + "analytics.system.dailyActiveUsers": "每日活动用户", + "analytics.system.expiredBanner": "企业授权已在 {date} 过期。您在即日起有15天时间更新授权,请联系 commercial@mattermost.com。", + "analytics.system.expiringBanner": "企业授权已在 {date} 过期。请更新授权,详情请联系 commercial@mattermost.com。", + "analytics.system.monthlyActiveUsers": "每月活动用户", + "analytics.system.postTypes": "发文,文件和标签", + "analytics.system.privateGroups": "私有组", + "analytics.system.publicChannels": "公共频道", + "analytics.system.skippedIntensiveQueries": "为了最大化性能,部分统计已屏蔽。您可以在 config.json 中重新开启他们。参见:https://docs.mattermost.com/administration/statistics.html", + "analytics.system.textPosts": "纯文字帖文", + "analytics.system.title": "系统统计", + "analytics.system.totalChannels": "频道总数", + "analytics.system.totalCommands": "命令总数", + "analytics.system.totalFilePosts": "有文件的发文", + "analytics.system.totalHashtagPosts": "有标签的发文", + "analytics.system.totalIncomingWebhooks": "传入 Webhooks", + "analytics.system.totalMasterDbConnections": "父数据库连接数", + "analytics.system.totalOutgoingWebhooks": "传出 Webhooks", + "analytics.system.totalPosts": "全部信息", + "analytics.system.totalReadDbConnections": "复制数据库连接数", + "analytics.system.totalSessions": "会话总数", + "analytics.system.totalTeams": "团队总数", + "analytics.system.totalUsers": "用户总数", + "analytics.system.totalWebsockets": "Websocket 连接", + "analytics.team.activeUsers": "有发信息的的正常用户", + "analytics.team.newlyCreated": "新建的用户", + "analytics.team.privateGroups": "私有组", + "analytics.team.publicChannels": "公共频道", + "analytics.team.recentActive": "最近活跃用户", + "analytics.team.recentUsers": "最近活跃用户", + "analytics.team.title": "{team}的团队统计数据", + "analytics.team.totalPosts": "信息总数", + "analytics.team.totalUsers": "用户总数", + "api.channel.add_member.added": "{addedUsername} 被 {username} 添加到频道", + "api.channel.delete_channel.archived": "{username} 归档了频道。", + "api.channel.join_channel.post_and_forget": "{username} 加入了频道。", + "api.channel.leave.left": "{username} 离开了频道。", + "api.channel.post_update_channel_displayname_message_and_forget.updated_from": "{username} 更新了频道显示名从:{old} 到:{new}", + "api.channel.post_update_channel_header_message_and_forget.removed": "{username} 删除了频道标题 (曾是:{old})", + "api.channel.post_update_channel_header_message_and_forget.updated_from": "{username} 更新了频道标题从:{old} 到:{new}", + "api.channel.post_update_channel_header_message_and_forget.updated_to": "{username} 更新了频道标题到:{new}", + "api.channel.remove_member.removed": "{removedUsername} 被移出频道", + "app.channel.post_update_channel_purpose_message.removed": "{username} 移除了频道作用 (曾是:{old})", + "app.channel.post_update_channel_purpose_message.updated_from": "{username} 更新了频道作用从:{old} 到:{new}", + "app.channel.post_update_channel_purpose_message.updated_to": "{username} 更新了频道作用到:{new}", + "audit_table.accountActive": "账户激活", + "audit_table.accountInactive": "停用帐号", + "audit_table.action": "操作", + "audit_table.attemptedAllowOAuthAccess": "试图允许一个新的OAuth服务访问", + "audit_table.attemptedLicenseAdd": "试图添加新的许可证", + "audit_table.attemptedLogin": "试图登录", + "audit_table.attemptedOAuthToken": "试图得到一个OAuth访问令牌", + "audit_table.attemptedPassword": "试图修改密码", + "audit_table.attemptedRegisterApp": "试图注册一个新ID{id}的OAuth应用", + "audit_table.attemptedReset": "试图重置密码", + "audit_table.attemptedWebhookCreate": "试图创建一个webhook", + "audit_table.attemptedWebhookDelete": "试图删除webhook", + "audit_table.by": "由 {username}", + "audit_table.byAdmin": "由管理员", + "audit_table.channelCreated": "创建了 {channelName} 频道/组", + "audit_table.channelDeleted": "删除了网址为 {url} 的频道/组", + "audit_table.establishedDM": "与 {username} 建立了一个私聊频道", + "audit_table.failedExpiredLicenseAdd": "许可证由于已过期或未开始而无法添加", + "audit_table.failedInvalidLicenseAdd": "无法添加无效的许可证", + "audit_table.failedLogin": "登录尝试失败", + "audit_table.failedOAuthAccess": "允许新OAuth服务访问失败-重定向URL不匹配以前注册的回调", + "audit_table.failedPassword": "修改密码失败 - 试图通过 OAuth 登录的用户更新密码", + "audit_table.failedWebhookCreate": "创建一个webhook失败-没有频道权限", + "audit_table.failedWebhookDelete": "删除webhook失败-不合适的条件", + "audit_table.headerUpdated": "更新了 {channelName} 频道/组标题", + "audit_table.ip": "IP地址", + "audit_table.licenseRemoved": "成功删除许可证", + "audit_table.loginAttempt": " (登录尝试)", + "audit_table.loginFailure": " (登录失败)", + "audit_table.logout": "注销你的账户", + "audit_table.member": "成员", + "audit_table.nameUpdated": "更新了 {channelName} 频道/组名称", + "audit_table.oauthTokenFailed": "获取OAuth令牌 - {token}", + "audit_table.revokedAll": "撤销团队所有当前会话", + "audit_table.sentEmail": "已发送电子邮件到 {email} 以重置您的密码", + "audit_table.session": "会话ID", + "audit_table.sessionRevoked": "ID {sessionId} 的会话被撤销", + "audit_table.successfullLicenseAdd": "成功添加新的许可证", + "audit_table.successfullLogin": "登录成功", + "audit_table.successfullOAuthAccess": "成功开启新OAuth服务访问", + "audit_table.successfullOAuthToken": "成功添加了一个新的OAuth服务", + "audit_table.successfullPassword": "修改密码成功", + "audit_table.successfullReset": "重置密码成功", + "audit_table.successfullWebhookCreate": "成功地创建了一个webhook", + "audit_table.successfullWebhookDelete": "删除webhook成功", + "audit_table.timestamp": "时间戳", + "audit_table.updateGeneral": "更新您帐户的基本设置", + "audit_table.updateGlobalNotifications": "更新全局通知设置", + "audit_table.updatePicture": "更新你的个人资料照片", + "audit_table.updatedRol": "更新用户角色为", + "audit_table.userAdded": "已添加 {username} 到 {channelName}频道/组", + "audit_table.userId": "用户ID", + "audit_table.userRemoved": "已从 {channelName} 频道/组删除 {username}", + "audit_table.verified": "您的电子邮件地址验证成功", + "authorize.access": "允许{appName}访问?", + "authorize.allow": "允许", + "authorize.app": "应用{appName}想要能访问和修改您的基本资料。", + "authorize.deny": "拒绝", + "authorize.title": "{appName} 想要链接到您的 Mattermost 用户帐号", + "backstage_list.search": "搜索", + "backstage_navbar.backToMattermost": "返回{siteName}", + "backstage_sidebar.emoji": "自定义表情", + "backstage_sidebar.integrations": "集成", + "backstage_sidebar.integrations.commands": "斜杠命令", + "backstage_sidebar.integrations.incoming_webhooks": "引入Webhooks", + "backstage_sidebar.integrations.oauthApps": "OAuth 2.0 应用", + "backstage_sidebar.integrations.outgoing_webhooks": "对外Webhooks", + "calling_screen": "呼叫中", + "center_panel.recent": "点击这里跳转到最近的消息。", + "change_url.close": "关闭", + "change_url.endWithLetter": "网址必须以字母或数字结尾。", + "change_url.invalidUrl": "无效的网址", + "change_url.longer": "网址必须两个或更多字符。", + "change_url.noUnderscore": "网址不能包含两个连续的下划线。", + "change_url.startWithLetter": "网址必须以字母或数字开始。", + "channelHeader.addToFavorites": "添加到收藏", + "channelHeader.removeFromFavorites": "从收藏中移除", + "channel_flow.alreadyExist": "已存在使用该 URL 的频道", + "channel_flow.changeUrlDescription": "某些字符不允许出现在url中,可能被删除。", + "channel_flow.changeUrlTitle": "修改{term}URL", + "channel_flow.channel": "频道", + "channel_flow.create": "创建 {term}", + "channel_flow.group": "群组", + "channel_flow.handleTooShort": "频道网址必须为至少2个小写英文数字字符", + "channel_flow.invalidName": "无效的频道名称", + "channel_flow.set_url_title": "设置{term}URL", + "channel_header.addMembers": "添加成员", + "channel_header.addToFavorites": "添加到收藏", + "channel_header.channel": "频道", + "channel_header.channelHeader": "编辑频道标题", + "channel_header.delete": "删除 {term}", + "channel_header.flagged": "已标记的信息", + "channel_header.group": "群组", + "channel_header.leave": "离开{term}", + "channel_header.manageMembers": "成员管理", + "channel_header.notificationPreferences": "消息通知设置", + "channel_header.recentMentions": "最近提及", + "channel_header.removeFromFavorites": "从收藏中移除", + "channel_header.rename": "重命名 {term}", + "channel_header.setHeader": "修改 {term} 标题", + "channel_header.setPurpose": "修改 {term} 用途", + "channel_header.viewInfo": "查看信息", + "channel_header.viewMembers": "查看成员", + "channel_header.webrtc.call": "开始视频通话", + "channel_header.webrtc.offline": "此用户已离线", + "channel_header.webrtc.unavailable": "不能在结束当前通话前开新通话", + "channel_info.about": "关于", + "channel_info.close": "关闭", + "channel_info.header": "标题:", + "channel_info.id": "ID:", + "channel_info.name": "名称:", + "channel_info.notFound": "没有发现频道", + "channel_info.purpose": "用途:", + "channel_info.url": "URL:", + "channel_invite.add": "添加", + "channel_invite.addNewMembers": "添加新成员到", + "channel_invite.close": "关闭", + "channel_loader.connection_error": "您的网络连接似乎出现一个问题。", + "channel_loader.posted": "已发布", + "channel_loader.socketError": "请检查连接,无法连接到 Mattermost。如果问题持续存在,请管理员检查 WebSocket 端口。", + "channel_loader.someone": "有人", + "channel_loader.something": "新事物", + "channel_loader.unknown_error": "我们从服务器上接收到一个异常状态码。", + "channel_loader.uploadedFile": "上传文件", + "channel_loader.uploadedImage": "上传图片", + "channel_loader.wrote": "写到:", + "channel_members_dropdown.channel_admin": "频道管理员", + "channel_members_dropdown.channel_member": "频道成员", + "channel_members_dropdown.make_channel_admin": "成为频道管理员", + "channel_members_dropdown.make_channel_member": "成为频道成员", + "channel_members_dropdown.remove_from_channel": "从频道移除", + "channel_members_dropdown.remove_member": "移除成员", + "channel_members_modal.addNew": "添加新成员", + "channel_members_modal.members": " 位成员", + "channel_modal.cancel": "取消", + "channel_modal.channel": "频道", + "channel_modal.createNew": "创建新", + "channel_modal.descriptionHelp": "描述{term}如何被使用。", + "channel_modal.displayNameError": "此栏必须填写", + "channel_modal.edit": "编辑", + "channel_modal.group": "群组", + "channel_modal.header": "标题", + "channel_modal.headerEx": "例如:\"[链接标题](http://example.com)\"", + "channel_modal.headerHelp": "设定在 {term} 标题里在 {term} 旁边的文字。举例,输入常见链接 [链接标题](http://example.com)。", + "channel_modal.modalTitle": "新建", + "channel_modal.name": "名称", + "channel_modal.nameEx": "如: \"错误\",\"营销\",\"客户支持\"", + "channel_modal.optional": "(可选)", + "channel_modal.privateGroup1": "创建一个具有限制成员资格的私人组。", + "channel_modal.privateGroup2": "创建一个私有组", + "channel_modal.publicChannel1": "创建一个公共频道", + "channel_modal.publicChannel2": "创建一个任何人都能加入的新公共频道。", + "channel_modal.purpose": "用途", + "channel_modal.purposeEx": "例如:\"用于提交问题和建议的频道\"", + "channel_notification.push": "发送手机推送通知", + "channel_notifications.allActivity": "所有操作", + "channel_notifications.allUnread": "所有未读消息", + "channel_notifications.globalDefault": "默认全局({notifyLevel})", + "channel_notifications.markUnread": "标记频道为未读", + "channel_notifications.never": "从不", + "channel_notifications.onlyMentions": "仅对提及", + "channel_notifications.override": "选择一个“默认”以外的选项将会重写全局通知设置。桌面通知在Firefox、Safari和Chrome中有效。", + "channel_notifications.overridePush": "选择 \"全局默认\" 以外的选项将覆盖帐号设定中的移动推送通知全局通知设定。推送通知必须由系统管理员启用。", + "channel_notifications.preferences": "通知偏好 ", + "channel_notifications.sendDesktop": "发送桌面通知", + "channel_notifications.unreadInfo": "有未读消息时,侧边栏的频道名称粗体显示。只有当您被提及时选择“仅对提及”会加粗频道名称。", + "channel_select.placeholder": "--- 选择一个频道 ---", + "channel_switch_modal.dm": "(私信)", + "channel_switch_modal.failed_to_open": "打开频道失败。", + "channel_switch_modal.help": "输入频道名。↑↓浏览,TAB选择,↵确认,ESC取消", + "channel_switch_modal.not_found": "无匹配项。", + "channel_switch_modal.submit": "切换", + "channel_switch_modal.title": "切换频道", + "claim.account.noEmail": "没有指定电子邮件", + "claim.email_to_ldap.enterLdapPwd": "输入您 AD/LDAP 账户的ID和密码", + "claim.email_to_ldap.enterPwd": "输入你的{site}账户密码", + "claim.email_to_ldap.ldapId": "AD/LDAP ID", + "claim.email_to_ldap.ldapIdError": "请输入您的 AD/LDAP ID。", + "claim.email_to_ldap.ldapPasswordError": "请输入您的 AD/LDAP 密码。", + "claim.email_to_ldap.ldapPwd": "AD/LDAP 密码", + "claim.email_to_ldap.pwd": "密码", + "claim.email_to_ldap.pwdError": "请输入您的密码。", + "claim.email_to_ldap.ssoNote": "您必须已经拥有一个有效的 AD/LDAP 账户", + "claim.email_to_ldap.ssoType": "领取您的帐号后,您只能通过 AD/LDAP 登陆", + "claim.email_to_ldap.switchTo": "切换帐号到 AD/LDAP", + "claim.email_to_ldap.title": "切换邮箱/密码账号到 AD/LDAP", + "claim.email_to_oauth.enterPwd": "输入你的{site}账户密码", + "claim.email_to_oauth.pwd": "密码", + "claim.email_to_oauth.pwdError": "请输入您的密码。", + "claim.email_to_oauth.ssoNote": "您必须已经拥有一个有效的{type}账户", + "claim.email_to_oauth.ssoType": "领取您的帐号后,您只能通过 {type} SSO 登陆", + "claim.email_to_oauth.switchTo": "切换账户到 {uiType}", + "claim.email_to_oauth.title": "切换邮箱/密码账号到 {uiType}", + "claim.ldap_to_email.confirm": "确认密码", + "claim.ldap_to_email.email": "您将使用电子邮件{email}登录", + "claim.ldap_to_email.enterLdapPwd": "输入 {site} 电子邮件帐号的 {ldapPassword}", + "claim.ldap_to_email.enterPwd": "输入您的新电子邮件帐号密码", + "claim.ldap_to_email.ldapPasswordError": "请输入您的 AD/LDAP 密码。", + "claim.ldap_to_email.ldapPwd": "AD/LDAP 密码", + "claim.ldap_to_email.pwd": "密码", + "claim.ldap_to_email.pwdError": "请输入您的密码。", + "claim.ldap_to_email.pwdNotMatch": "密码不匹配。", + "claim.ldap_to_email.ssoType": "领取您的帐号后,您只能用您的电子邮箱地址和密码登入", + "claim.ldap_to_email.switchTo": "切换到电子邮件/密码的账户", + "claim.ldap_to_email.title": "切换到电子邮件/密码的 AD/LDAP 账户", + "claim.oauth_to_email.confirm": "确认密码", + "claim.oauth_to_email.description": "在改变您的账户类型后,您只能用您的电子邮箱地址和密码登入。", + "claim.oauth_to_email.enterNewPwd": "输入您在 {site} 的电子邮箱账户新密码", + "claim.oauth_to_email.enterPwd": "请输入密码。", + "claim.oauth_to_email.newPwd": "新密码", + "claim.oauth_to_email.pwdNotMatch": "密码不匹配。", + "claim.oauth_to_email.switchTo": "切换{type}为邮箱和密码", + "claim.oauth_to_email.title": "切换{type}账户为邮箱", + "confirm_modal.cancel": "取消", + "connecting_screen": "正在连接", + "create_comment.addComment": "添加一个评论...", + "create_comment.comment": "添加评论", + "create_comment.commentLength": "评论长度至少{max}字符。", + "create_comment.commentTitle": "评论", + "create_comment.file": "文件上传", + "create_comment.files": "文件上传", + "create_post.comment": "评论", + "create_post.error_message": "您的消息太长。字数:{length}/{limit}", + "create_post.post": "发布", + "create_post.shortcutsNotSupported": "您的设备不支持键盘快捷键。", + "create_post.tutorialTip": "

发送信息

在这输入信息并按回车发送。

点击附件按钮上传图片或文件。

", + "create_post.write": "写一个消息...", + "create_team.agreement": "如果继续创建您的帐户和使用{siteName},您需要同意服务条款隐私政策。如果不同意,您将不能使用{siteName}。", + "create_team.display_name.back": "返回上一步", + "create_team.display_name.charLength": "名称必须在 {min} 于 {max} 个字符之间。您可以之后添加更长的团队描述。", + "create_team.display_name.nameHelp": "您可以使用任何语言命名您的团队。您的团队名称将显示在菜单和标题栏上。", + "create_team.display_name.next": "下一步", + "create_team.display_name.required": "此栏必须填写", + "create_team.display_name.teamName": "团队名称", + "create_team.team_url.back": "返回上一步", + "create_team.team_url.charLength": "名称必须是 {min} 到 {max} 个字符", + "create_team.team_url.creatingTeam": "创建团队...", + "create_team.team_url.finish": "完成", + "create_team.team_url.hint": "
  • 简短和易记为最好的
  • 使用小写字母,数字和连字符
  • 必须以字母开头且不能以连字符结尾
  • ", + "create_team.team_url.regex": "只使用小写字母,数字和连字符。必须以字母开头且不能以连字符结尾。", + "create_team.team_url.required": "此栏必须填写", + "create_team.team_url.taken": "URL已被使用或含有预留词", + "create_team.team_url.teamUrl": "团队URL", + "create_team.team_url.unavailable": "此网址不可用。请重新尝试。", + "create_team.team_url.webAddress": "选择您的新团队网址:", + "custom_emoji.empty": "未找到自定义表情符", + "custom_emoji.header": "自定义表情符", + "custom_emoji.search": "搜索自定义表情符", + "delete_channel.cancel": "取消", + "delete_channel.channel": "频道", + "delete_channel.confirm": "确认删除频道", + "delete_channel.del": "删除", + "delete_channel.group": "群组", + "delete_channel.question": "这会从团队删除此频道并且没有用户可以读取其数据。您确定要删除 {display_name} {term}?", + "delete_post.cancel": "取消", + "delete_post.comment": "评论", + "delete_post.confirm": "确认{term}删除", + "delete_post.del": "删除", + "delete_post.post": "发布", + "delete_post.question": "您确认要删除{term}?", + "delete_post.warning": "这个信息有{count}条评论。", + "edit_channel_header_modal.cancel": "取消", + "edit_channel_header_modal.description": "编辑在频道标题上显示在名称旁的文本。", + "edit_channel_header_modal.error": "频道标题太长,请长话短说", + "edit_channel_header_modal.save": "保存", + "edit_channel_header_modal.title": "编辑{channel}的标题", + "edit_channel_header_modal.title_dm": "编辑标题", + "edit_channel_purpose_modal.body": "描述{type}的用途。此文本出现在频道列表的“更多...”菜单中,帮助他人决定是否加入。", + "edit_channel_purpose_modal.cancel": "取消", + "edit_channel_purpose_modal.channel": "频道", + "edit_channel_purpose_modal.error": "频道用途过长,请长话短说", + "edit_channel_purpose_modal.group": "群组", + "edit_channel_purpose_modal.save": "保存", + "edit_channel_purpose_modal.title1": "编辑用途", + "edit_channel_purpose_modal.title2": "编辑用途", + "edit_command.save": "更新", + "edit_post.cancel": "取消", + "edit_post.edit": "编辑{title}", + "edit_post.editPost": "编辑信息...", + "edit_post.save": "保存", + "email_signup.address": "电子邮件地址", + "email_signup.createTeam": "创建团队", + "email_signup.emailError": "请输入一个有效的电子邮件地址。", + "email_signup.find": "查找我的团队", + "email_verify.almost": "{siteName}: 你几乎完成了", + "email_verify.failed": "验证电子邮件发送失败。", + "email_verify.notVerifiedBody": "请验证您的电子邮件地址。检查你的收件箱。", + "email_verify.resend": "发送电子邮件", + "email_verify.sent": "发送验证邮件已发送。", + "email_verify.verified": "{siteName}邮件验证", + "email_verify.verifiedBody": "

    摸的邮件已经验证通过!点击这里登录.

    ", + "email_verify.verifyFailed": "无法验证您的电子邮件。", + "emoji_list.actions": "操作", + "emoji_list.add": "添加自定义表情符", + "emoji_list.creator": "创建者", + "emoji_list.delete": "删除", + "emoji_list.empty": "未找到自定义表情符", + "emoji_list.header": "自定义表情", + "emoji_list.help": "自定义表情符对所有在您服务器上的用户开放。在信息框输入 ':' 会显示表情符选择菜单。其他用户可能需要刷新页面才能看见新的表情符。", + "emoji_list.help2": "提示:如果您用 #,##,或 ### 作为含有表情符的新一行开头,你可以使用大尺寸表情符。输入 '# :smile:' 来体验此功能。", + "emoji_list.image": "图像", + "emoji_list.name": "名称", + "emoji_list.search": "搜索自定义表情符", + "emoji_list.somebody": "其他团队某人", + "error.not_found.link_message": "返回Mattermost", + "error.not_found.message": "您访问的页面不存在", + "error.not_found.title": "页面未找到", + "error.not_supported.message": "私隐浏览不支持", + "error.not_supported.title": "不支持的浏览器", + "error_bar.expired": "企业授权已过期;您在即日起有15天时间更新授权,详情请联系 commercial@mattermost.com", + "error_bar.expiring": "企业授权将在 {date} 过期。需要更新授权,详情请联系 commercial@mattermost.com", + "error_bar.past_grace": "企业授权已过期,详情请联系您的系统管理员", + "error_bar.preview_mode": "预览模式: 未配置邮件通知", + "file_attachment.download": "下载", + "file_info_preview.size": "大小", + "file_info_preview.type": "文件类型", + "file_upload.fileAbove": "文件超过{max}MB不能被上传:{filename}", + "file_upload.filesAbove": "文件超过{max}MB不能被上传:{filenames}", + "file_upload.limited": "最大上传文件数限制为 {count}。请使用新信息来上传更多文件。", + "file_upload.pasted": "图片已粘贴至", + "filtered_channels_list.count": "{count} 个频道", + "filtered_channels_list.countTotal": "{count} 个频道,共 {total} 个频道", + "filtered_channels_list.search": "搜索频道", + "filtered_user_list.any_team": "所有用户", + "filtered_user_list.count": "{count} 位成员", + "filtered_user_list.countTotal": "{count} 位,共 {total} 位成员", + "filtered_user_list.countTotalPage": "{startCount, number} - {endCount, number} {count} 位成员,共 {total} 位", + "filtered_user_list.member": "成员", + "filtered_user_list.next": "下一页", + "filtered_user_list.prev": "上一页", + "filtered_user_list.search": "搜索用户", + "filtered_user_list.searchButton": "搜索", + "filtered_user_list.show": "过滤器:", + "filtered_user_list.team_only": "本团队成员", + "find_team.email": "电子邮件", + "find_team.findDescription": "已发送一份电子邮件含有所有您是成员的团队的链接。", + "find_team.findTitle": "找到您的团队", + "find_team.getLinks": "获取一封电子邮件,通过链接您可到任何所在的团队。", + "find_team.placeholder": "you@domain.com", + "find_team.send": "发送", + "find_team.submitError": "请输入一个有效的电子邮件地址", + "flag_post.flag": "标记以跟进", + "flag_post.unflag": "取消标记", + "general_tab.chooseDescription": "请为您的团队选个新的描述", + "general_tab.chooseName": "请选择一个新的名称为你的团队", + "general_tab.codeDesc": "点击 \"编辑\" 重新生成邀请码。", + "general_tab.codeLongDesc": "作为团队邀请链接中URL的一部分,邀请码在主菜单中由 {getTeamInviteLink} 创建。重新生成创建一个新的团队邀请链接将使之前的链接无效。", + "general_tab.codeTitle": "邀请码", + "general_tab.emptyDescription": "点击 '修改' 添加团队描述。", + "general_tab.getTeamInviteLink": "获取团队邀请链接", + "general_tab.includeDirDesc": "包含此团队将在首页的团队目录里显示该团队名,并提供一个链接到登陆页面。", + "general_tab.no": "否", + "general_tab.openInviteDesc": "允许时,此团队的链接将会显示在首页让任何有帐号的用户可以加入此团队。", + "general_tab.openInviteTitle": "允许任何在本服务器上的用户加入此团队", + "general_tab.regenerate": "重新生成", + "general_tab.required": "该字段不能为空", + "general_tab.teamDescription": "团队描述", + "general_tab.teamDescriptionInfo": "团队描述提供更多信息帮助用户选择何时的团队。最多 50 字符。", + "general_tab.teamName": "团队名称", + "general_tab.teamNameInfo": "设置出现在您登录界面左侧边栏顶部的团队名称。", + "general_tab.title": "基本设置", + "general_tab.yes": "是的", + "get_app.alreadyHaveIt": "已经拥有?", + "get_app.androidAppName": "安卓版Mattermost", + "get_app.androidHeader": "使用安卓应用获得Mattermost最好的表现", + "get_app.continue": "继续", + "get_app.continueWithBrowser": "或 {link}", + "get_app.continueWithBrowserLink": "继续使用浏览器", + "get_app.iosHeader": "使用iPhone应用获得Mattermost最好的表现", + "get_app.mattermostInc": "Mattermost, Inc", + "get_app.openMattermost": "打开 Mattermost", + "get_link.clipboard": "链接已复制", + "get_link.close": "关闭", + "get_link.copy": "复制链接", + "get_post_link_modal.help": "下方的链接允许授权用户查看您的信息。", + "get_post_link_modal.title": "复制永久链接", + "get_public_link_modal.help": "以下链接允许任何人不需要在本服务器注册可查看此文件。", + "get_public_link_modal.title": "复制公开链接", + "get_team_invite_link_modal.help": "向队友发送下方的链接以便其在此团队站点注册。团队邀请链接可以与多个队友分享,因为它不会改变,除非团队管理员在团队设置中重新生成。", + "get_team_invite_link_modal.helpDisabled": "您的团队已禁止创建用户。详情请联系您的团队管理员。", + "get_team_invite_link_modal.title": "团队邀请链接", + "help.attaching.downloading": "#### 下载文件\n点击文件预览图旁边的下载图标或者打开文件预览后点击**下载**。", + "help.attaching.dragdrop": "#### 拖放\n从电脑拖动一个或多个文件到右侧栏或中间栏上传文件。拖放文件到消息输入框,您也可以附加消息并按**回车**发送。", + "help.attaching.icon": "#### 附件图标\n除此之外,也可以点击消息输入框里的回形针来上传文件。当您在系统的文件选择对话框里选择想要上传的文件后点击**打开**以上传文件到输入框。另外可以附加信息后按**回车**发布。", + "help.attaching.limitations": "## 文件大小限制\nMattermost支持最多每贴5个附件,每个文件最大50MB。", + "help.attaching.methods": "## 附件方式\n用拖放或点击消息输入框里的附件图标以附上文件。", + "help.attaching.notSupported": "文档预览 (Word, Excel, PPT) 目前不支持。", + "help.attaching.pasting": "#### 粘贴图片\n在Chrome和Edge浏览器里,图片也可以通过粘贴来上传。目前此功能暂不支持其他浏览器。", + "help.attaching.previewer": "## File Previewer\nMattermost有自带的文件预览来预览媒体,下载文件和共享的公共链接。点击附件预览图打开文件预览。", + "help.attaching.publicLinks": "#### 分享公开链接\n公开链接能让您共享附件到您Mattermost团队外的人。点击附件的缩略图以打开文件阅览器,然后点击**获取公开链接**。这将打开一个带链接的对话框。当链接被分享并被他人打开时,文件将自动开始下载。", + "help.attaching.publicLinks2": "如果**获取公开链接**没在文件预览器里显示并且您想要此功能,您可以向您的系统管理请求在系统控制台里的**安全** > **公开链接**开启此功能。", + "help.attaching.supported": "#### 支持的媒体类型\n如果您尝试预览一个不支持的媒体类型,文件预览器将显示标准媒体附件图标。支持的媒体格式跟您的浏览器和系统有关,不过以下是在大部分浏览器上Mattermost支持的格式:", + "help.attaching.supportedList": "- 图片:BMP, GIF, JPG, JPEG, PNG\n- 视频:MP4\n- 音频:MP3, M4A\n- 文档:PDF", + "help.attaching.title": "# 附件\n_____", + "help.commands.builtin": "## 自带命令\n以下是Mattermost自带的斜杠命令:", + "help.commands.builtin2": "在开始输入 `/` 时将会在输入框上方显示斜杠命令列表。此自动完成建议列表将以黑色字体显示例子以及灰色字体显示说明。", + "help.commands.custom": "## 自定义命令\n自定义斜杠命令于外部应用整合。比如,一个团队可以设定自定义斜杠命令检查内部健康资料 `/patient joe smith` 或检查一城市的天气周报 `/weather toronto week`。向系统管理员确认或输入 `/` 打开自动完成列表确认您的团队是否有设置任何自定义斜杠命令。", + "help.commands.custom2": "自定义斜杠命令是默认关闭的,系统管理员可以在 **系统控制台** > **整合** > **Webhooks 与命令** 中开启。了解更多设置自定义斜杠命令到 [developer slash command documentation page](http://docs.mattermost.com/developer/slash-commands.html)。", + "help.commands.intro": "斜杠命令可以在 Mattermost 里的文本输入框内进行操作。输入 `/` 紧接着命令以及一些参数进行操作。\n\n自带的斜杠指令在所有Mattermost可以使用并且自定义斜杠命令可以用来设定与外部应用互动。了解更多设置自定义斜杠命令到 [developer slash command documentation page](http://docs.mattermost.com/developer/slash-commands.html)。", + "help.commands.title": "# 执行命令\n___", + "help.composing.deleting": "## 删除消息\n点击您在自己发送的消息中想删除的消息旁的 **[...]** 文字图标,然后点击 **删除**。系统或团队管理员可以删除任何在系统或团队中的消息。", + "help.composing.editing": "## 修改消息\n点击您在自己发送的消息中想删除的消息旁的 **[...]** 文字图标,然后点击 **修改**。在修改消息内容后,按 **回车** 以保存改动。消息内容不触发新的 @mention 通知,桌面通知或通知声音。", + "help.composing.linking": "## 消息链接\n**永久链接** 功能可以给任何消息创建链接。共享此链接给此频道的其他用户让他们直接访问消息归档里的消息。不在此频道的成员无法看永久链接。点任何消息旁边 **[...]** 图标 > **永久链接** > **复制链接** 来获取链接。", + "help.composing.posting": "## 发布消息\n在文字输入框里打入消息,然后按 ENTER 发送。用 Shift + ENTER 将在不发送消息下换行。如果想使用 Ctrl+ENTER 发信息,请到 **主菜单 > 帐号设定 > 用 Ctrl + Enter 发消息**。", + "help.composing.posts": "#### 发文\n发文被视为母消息。它们通常时回复串的开头。发文是从中间面板下方的输入框发送。", + "help.composing.replies": "#### 回复\n点击任意消息旁的回复图标来回复该消息。此操作将打开显示消息串的右边栏,然后您可以编写并发送您的回复。回复会有少许的缩进来标识它们时回复母消息的子消息。\n\n当在右边栏编写回复时,在上方点击展开/合并图标以便更容易阅读。", + "help.composing.title": "# 发送信息\n_____", + "help.composing.types": "## 消息类型\n回复发文以串整理对话。", + "help.formatting.checklist": "用半形方括号创建个任务列表:", + "help.formatting.checklistExample": "- [ ] 第一条\n- [ ] 第二条\n- [x] 完成的条目", + "help.formatting.code": "## 代码块\n\n用四个空格缩进每行,或在代码上下方放上 ``` 创建代码块。", + "help.formatting.codeBlock": "代码块", + "help.formatting.emojiExample": ":smile: :+1: :sheep:", + "help.formatting.emojis": "## 表情符\n\n输入 `:` 打开表情符自动完成。完整的表情符列表在[这里](http://www.emoji-cheat-sheet.com/)。您页可以创建您自己的[自定义表情符](http://docs.mattermost.com/help/settings/custom-emoji.html)如果您想用的表情符不存在。", + "help.formatting.example": "示例:", + "help.formatting.githubTheme": "**GitHub 主题风格**", + "help.formatting.headings": "## 标题\n\n在标题前输入#和一个空格创建标题。用更多 # 创建子标题。", + "help.formatting.headings2": "另外,您可以在文字下一行用 `===` 或 `---` 来创建标题。", + "help.formatting.headings2Example": "大标题\n-------------", + "help.formatting.headingsExample": "## 大标题\n### 小标题\n#### 更加小标题", + "help.formatting.images": "## 内嵌图片\n\n在 `!` 后面加方括号里带替代文字以及括号里带链接以创建内嵌图片。在链接后用带双引号的文字以添加悬浮文字。", + "help.formatting.imagesExample": "![替代文字](链接 \"悬浮文字\")\n\n以及\n\n[![Build Status](https://travis-ci.org/mattermost/platform.svg?branch=master)](https://travis-ci.org/mattermost/platform) [![Github](https://assets-cdn.github.com/favicon.ico)](https://github.com/mattermost/platform)", + "help.formatting.inline": "## 嵌入代码\n\n用反引号包围文字创建等宽文字。", + "help.formatting.intro": "Markdown能轻松改变消息格式。您如常输入消息,然后用以下规则给予指定的格式。", + "help.formatting.lines": "## 分界线\n\n用三个 `*`, `_` 或 `-` 创建一条分界线。", + "help.formatting.linkEx": "[来看下Mattermost!](https://about.mattermost.com/)", + "help.formatting.links": "## 链接\n\n将想显示的文字放进方括号和对应的链接到括号。", + "help.formatting.listExample": "* 列表项一\n* 列表项二\n * 列表项二子项", + "help.formatting.lists": "## 列表\n\n用 `*` 或 `-` 创建项目。在前面添加两个空格以缩进项目。", + "help.formatting.monokaiTheme": "**Monoka 主题风格**", + "help.formatting.ordered": "用数字表示有序列表:", + "help.formatting.orderedExample": "1. 第一项\n2. 第二项", + "help.formatting.quotes": "## 块引用\n\n用 `>` 创建块引用。", + "help.formatting.quotesExample": "`> 块引用` 显示为:", + "help.formatting.quotesRender": "> 块引用", + "help.formatting.renders": "显示为:", + "help.formatting.solirizedDarkTheme": "**Solarized Dark 主题风格**", + "help.formatting.solirizedLightTheme": "**Solarized Light 主题风格**", + "help.formatting.style": "## 文字风格\n\n您可以用 `_` 或 `*` 包围一个词来让它变斜体。用两个则是粗体。\n\n* `_斜体_` 显示为 _斜体_\n* `**粗体**` 显示为 **粗体**\n* `**_粗斜体_**` 显示为 **_粗斜体_**\n* `~~删除线~~` 显示为 ~~删除线~~", + "help.formatting.supportedSyntax": "支持的语言:\n`as`, `applescript`, `osascript`, `scpt`, `bash`, `sh`, `zsh`, `clj`, `boot`, `cl2`, `cljc`, `cljs`, `cljs.hl`, `cljscm`, `cljx`, `hic`, `coffee`, `_coffee`, `cake`, `cjsx`, `cson`, `iced`, `cpp`, `c`, `cc`, `h`, `c++`, `h++`, `hpp`, `cs`, `csharp`, `css`, `d`, `di`, `dart`, `delphi`, `dpr`, `dfm`, `pas`, `pascal`, `freepascal`, `lazarus`, `lpr`, `lfm`, `diff`, `django`, `jinja`, `dockerfile`, `docker`, `erl`, `f90`, `f95`, `fsharp`, `fs`, `gcode`, `nc`, `go`, `groovy`, `handlebars`, `hbs`, `html.hbs`, `html.handlebars`, `hs`, `hx`, `java`, `jsp`, `js`, `jsx`, `json`, `jl`, `kt`, `ktm`, `kts`, `less`, `lisp`, `lua`, `mk`, `mak`, `md`, `mkdown`, `mkd`, `matlab`, `m`, `mm`, `objc`, `obj-c`, `ml`, `perl`, `pl`, `php`, `php3`, `php4`, `php5`, `php6`, `ps`, `ps1`, `pp`, `py`, `gyp`, `r`, `ruby`, `rb`, `gemspec`, `podspec`, `thor`, `irb`, `rs`, `scala`, `scm`, `sld`, `scss`, `st`, `sql`, `swift`, `tex`, `vbnet`, `vb`, `bas`, `vbs`, `v`, `veo`, `xml`, `html`, `xhtml`, `rss`, `atom`, `xsl`, `plist`, `yaml`", + "help.formatting.syntax": "### 语法高亮\n\n在代码块开头 ``` 之后输入想高亮的语言以开启高亮。Mattermost 同时提供四种代码风格 (GitHub, Solarized Dark, Solarized Light, Monokai) 可以在 **帐号设定** > **显示** > **主题** > **自定义主题** > **中央频道样式** 里修改", + "help.formatting.syntaxEx": " package main\n import \"fmt\"\n func main() {\n fmt.Println(\"Hello, 世界\")\n }", + "help.formatting.tableExample": "| 靠左对齐 | 置中对齐 | 靠右对齐 |\n| :------ |:-------:| --------:|\n| 左列 1 | 此文字 | $100 |\n| 左列 2 | 是 | $10 |\n| 左列 3 | 居中的 | $1 |", + "help.formatting.tables": "## 表格\n\n在标题下行放一个虚线并用竖线 `|` 分割列来建立表格(列不需要精准对齐)。在标题里用冒号 `:` 来设定列对齐。", + "help.formatting.title": "# 文字格式\n_____", + "help.learnMore": "了解更多:", + "help.link.attaching": "附加文件", + "help.link.commands": "执行命令", + "help.link.composing": "编写消息和回复", + "help.link.formatting": "用Markdown排版消息", + "help.link.mentioning": "提及团友", + "help.link.messaging": "基本消息", + "help.mentioning.channel": "#### @频道\n您可以输入 `@channel` 来提及整个频道。所有频道成员将和单独被提及一样收到提及通知。", + "help.mentioning.channelExample": "@channel 这周的面试做得很好。我觉得我们找到了些非常有潜力的候选人!", + "help.mentioning.mentions": "## @提及\n用 @提及 来引起特定团队成员的注意。", + "help.mentioning.recent": "## 最近提及\n点击搜索栏旁边的 `@` 以查询您最近的 @提及 以及触发提及的词。点击右边栏搜索结果旁的 **跳转** 将中间栏跳转到提及的频道和消息的位置。", + "help.mentioning.title": "# 提及团友\n_____", + "help.mentioning.triggers": "## 触发提及的词\n除了被 @用户名 和 @频道 通知意外,您可以在 **帐号设定** > **通知** > **触发提及的词** 自定义被触发提及通知的词。默认情况下,您会收到您名字的通知,但您可以添加用逗号分开的触发词。这在您想要在收到特定主题的通知时很有帮助,比如,\"面试\" 或 \"市场\"。", + "help.mentioning.username": "#### @用户名\n您可以用 `@` 符号紧接着他们的用户名来发送提及通知给他们。\n\n输入 `@` 来打开可以被提及的团队成员。输入用户名,名字,姓氏,或昵称开头几个字来过滤列表。用 **上** 和 **下** 方向键可以从列表中选择项目,然后用 **回车** 确认选择。一旦选中,全名或昵称将自动被代替为用户名。\n以下例子将发送特殊提及通知给 **alice** 告诉她被提及到的频道和消息内容。如果 **alice** 在 Mattermost 为离开并且开启[电子邮件通知](http://docs.mattermost.com/help/getting-started/configuring-notifications.html#email-notifications),那么她会收到带有提及和消息的电子邮件通知。", + "help.mentioning.usernameCont": "如果您提及的用户不属于这频道,系统会发信息告知您。这只是个临时的信息且只有触发的人看见。如想添加提及的用户到频道,点击频道名旁的下拉菜单中的 **添加成员**。", + "help.mentioning.usernameExample": "@alice 新候选人的面试怎么样?", + "help.messaging.attach": "用拖放或点击消息输入框里的附件图标以**附上文件**。", + "help.messaging.emoji": "输入 \":\" 打开表情符自动完成以 **快速添加表情符**。如果现有的表情符不够,您也可以创建您自己的[自定义表情符](http://docs.mattermost.com/help/settings/custom-emoji.html)。", + "help.messaging.format": "使用 Markdown 来 **格式您的消息**,它支持文字样式,标题,链接,表情符,代码块,块引用,表格,列表和内嵌图片。", + "help.messaging.notify": "**通知团友** 当他们需要时输入 `@用户名`。", + "help.messaging.reply": "点击消息文字旁的的回复图标来**回复消息**。", + "help.messaging.title": "# 消息基础\n_____", + "help.messaging.write": "用 Mattermost 底部的文字输入框 **编写消息**。按 回车 来发送消息。用 SHIFT+回车 以不发消息情况下换行。", + "installed_command.header": "斜杠命令", + "installed_commands.add": "添加斜杠命令", + "installed_commands.delete.confirm": "此操作降永久删除斜杠命令并让依赖的集成无法工作。您确定要删除它吗?", + "installed_commands.empty": "未找到命令", + "installed_commands.header": "斜杠命令", + "installed_commands.help": "创建与外部系统集成的斜杠命令。详情请见 {link} 。", + "installed_commands.helpLink": "文档", + "installed_commands.search": "搜索斜杠命令", + "installed_commands.unnamed_command": "未命名斜杠命令", + "installed_incoming_webhooks.add": "添加引入勾子", + "installed_incoming_webhooks.delete.confirm": "此操作降永久删除传入的 webhook 并让依赖的集成无法工作。您确定要删除它吗?", + "installed_incoming_webhooks.empty": "没有找到传入webhooks", + "installed_incoming_webhooks.header": "引入Webhooks", + "installed_incoming_webhooks.help": "创建对内的网络钩子链接以便与内部系统集成。想了解更多请参考 {link}", + "installed_incoming_webhooks.helpLink": "文档", + "installed_incoming_webhooks.search": "搜索传入Webhooks", + "installed_incoming_webhooks.unknown_channel": "私有Webhook", + "installed_integrations.callback_urls": "回调地址:{urls}", + "installed_integrations.client_id": "客户端ID:{clientId}", + "installed_integrations.client_secret": "客户端密码:{clientSecret}", + "installed_integrations.content_type": "Content-Type: {contentType}", + "installed_integrations.creation": "{creator}在{createAt, date, full}中创建", + "installed_integrations.delete": "删除", + "installed_integrations.edit": "编辑", + "installed_integrations.hideSecret": "隐藏密码", + "installed_integrations.regenSecret": "重生成盐", + "installed_integrations.regenToken": "重新生成Token", + "installed_integrations.showSecret": "显示密码", + "installed_integrations.token": "令牌:{token}", + "installed_integrations.triggerWhen": "触发于:{triggerWhen}", + "installed_integrations.triggerWords": "触发关键词:{triggerWords}", + "installed_integrations.unnamed_oauth_app": "未命名 OAuth 2.0 应用", + "installed_integrations.url": "网址:{url}", + "installed_oauth_apps.add": "添加 OAuth 2.0 应用", + "installed_oauth_apps.callbackUrls": "回调网址 (每行一个)", + "installed_oauth_apps.cancel": "取消", + "installed_oauth_apps.delete.confirm": "此操作降永久删除 OAuth 2.0 应用并让依赖的集成无法工作。您确定要删除它吗?", + "installed_oauth_apps.description": "描述", + "installed_oauth_apps.empty": "没有找到 OAuth 2.0 应用", + "installed_oauth_apps.header": "OAuth 2.0 应用", + "installed_oauth_apps.help": "创建 OAuth 2.0 应用以安全得与 Mattermost 整合机器人和第三方应用。详情请见 {link}。", + "installed_oauth_apps.helpLink": "文档", + "installed_oauth_apps.homepage": "首頁", + "installed_oauth_apps.iconUrl": "图标网址", + "installed_oauth_apps.is_trusted": "是受信任的:{isTrusted}", + "installed_oauth_apps.name": "显示名称", + "installed_oauth_apps.save": "保存", + "installed_oauth_apps.search": "搜索 OAuth 2.0 应用", + "installed_oauth_apps.trusted": "是受信任", + "installed_oauth_apps.trusted.no": "否", + "installed_oauth_apps.trusted.yes": "是", + "installed_outgoing_webhooks.add": "添加对外Webhooks", + "installed_outgoing_webhooks.delete.confirm": "此操作降永久删除传出的 webhook 并让依赖的集成无法工作。您确定要删除它吗?", + "installed_outgoing_webhooks.empty": "没找到传出webhooks", + "installed_outgoing_webhooks.header": "对外Webhooks", + "installed_outgoing_webhooks.help": "创建对外的网络钩子链接以便与外部部系统集成。想了解更多请参考 {link}", + "installed_outgoing_webhooks.helpLink": "文档", + "installed_outgoing_webhooks.search": "搜索传入Webhooks", + "installed_outgoing_webhooks.unknown_channel": "私有Webhook", + "integrations.add": "添加", + "integrations.command.description": "发送事件到外部整合的斜杠命令", + "integrations.command.title": "斜线命令", + "integrations.delete.confirm.button": "删除", + "integrations.delete.confirm.title": "删除集成", + "integrations.done": "完成", + "integrations.edit": "编辑", + "integrations.header": "集成", + "integrations.incomingWebhook.description": "传入的webhooks允许外部集成发送信息", + "integrations.incomingWebhook.title": "引入Webhook", + "integrations.oauthApps.description": "OAuth 2.0 允许外部引用向 Mattermost API 发出已授权的请求。", + "integrations.oauthApps.title": "OAuth 2.0 应用", + "integrations.outgoingWebhook.description": "传出的网络挂接允许外部集成接收和响应信息", + "integrations.outgoingWebhook.title": "引出Webhook", + "integrations.successful": "设置成功", + "intro_messages.DM": "这是您和{teammate}私信记录的开端。
    此区域外的人不能看到这里共享的私信和文件。", + "intro_messages.anyMember": " 任何成员可以加入和查看这个频道。", + "intro_messages.beginning": "{name} 的开端", + "intro_messages.channel": "频道", + "intro_messages.creator": "这是{name}{type}的开端,由{creator}于{date}建立。", + "intro_messages.default": "

    {display_name}的开端

    欢迎进入{display_name}!

    这是团队成员登录后看到的第一个频道—使用它来发布每个人需要知道的更新信息。

    ", + "intro_messages.group": "私有组", + "intro_messages.invite": "邀请其他人到{type}", + "intro_messages.inviteOthers": "邀请其他人入组", + "intro_messages.noCreator": "这是{name}{type}的开端,于{date}建立。", + "intro_messages.offTopic": "

    {display_name}的开端

    这是{display_name}的开始,一个用于非工作的频道.

    ", + "intro_messages.onlyInvited": "只有受邀的人才能看到这个私有组。", + "intro_messages.purpose": "此{type}的用途是:{purpose}。", + "intro_messages.setHeader": "设置标题", + "intro_messages.teammate": "这是您与此团队成员私信记录的开端。在这里的直接消息和文件共享除了在此的人外无法看到。", + "invite_member.addAnother": "添加另一个", + "invite_member.autoJoin": "被邀请人将自动加入频道{channel}。", + "invite_member.cancel": "取消", + "invite_member.content": "您团队的电子邮件目前已被禁用,不能发送电子邮件邀请。请联系您的系统管理员启用电子邮件和邮件邀请。", + "invite_member.disabled": "您的团队已禁止创建用户。详情请联系您的团队管理员。", + "invite_member.emailError": "请输入一个有效的电子邮件地址", + "invite_member.firstname": "名字", + "invite_member.inviteLink": "团队邀请链接", + "invite_member.lastname": "姓氏", + "invite_member.modalButton": "是的,抛弃", + "invite_member.modalMessage": "你有未寄出的邀请函,您确定你想要放弃它们吗?", + "invite_member.modalTitle": "丢弃邀请?", + "invite_member.newMember": "邀请新成员", + "invite_member.send": "发送邀请", + "invite_member.send2": "邀请函", + "invite_member.sending": "发送", + "invite_member.teamInviteLink": "你可以使用链接{link}邀请别人。", + "ldap_signup.find": "寻找我的团队", + "ldap_signup.ldap": "用 AD/LDAP 帐号建立团队", + "ldap_signup.length_error": "名称必须为3至15个字母", + "ldap_signup.teamName": "输入新团队名", + "ldap_signup.team_error": "请输入团队名", + "leave_team_modal.desc": "您将会从所有公共频道和私有组移除。如果团队是私有的,您将无法再加入。您确定吗?", + "leave_team_modal.no": "否", + "leave_team_modal.title": "退出团队?", + "leave_team_modal.yes": "是", + "loading_screen.loading": "加载中", + "login.changed": "登录方式修改成功", + "login.create": "现在创建一个", + "login.createTeam": "创建一个新的团队", + "login.createTeamAdminOnly": "此选项只对系统管理员开放,其他用户不会显示。", + "login.email": "电子邮件", + "login.find": "查找您的其他团队", + "login.forgot": "我忘记了密码", + "login.gitlab": "GitLab", + "login.google": "Google Apps", + "login.invalidPassword": "您的密码是错误的。", + "login.ldapUsername": "AD/LDAP 用户名", + "login.ldapUsernameLower": "AD/LDAP 用户名", + "login.noAccount": "没有帐户吗?", + "login.noEmail": "请输入您的电子邮件", + "login.noEmailLdapUsername": "请输入您的电子邮件或 {ldapUsername}", + "login.noEmailUsername": "请输入您的电子邮件或用户名", + "login.noEmailUsernameLdapUsername": "请输入您的电子邮件,用户名或 {ldapUsername}", + "login.noLdapUsername": "请输入您的 {ldapUsername}", + "login.noMethods": "没有开启任何登入方式。请联系您的系统管理员。", + "login.noPassword": "请输入您的密码", + "login.noUsername": "请输入您的用户名", + "login.noUsernameLdapUsername": "请输入您的用户名或 {ldapUsername}", + "login.office365": "Office 365", + "login.on": "在{siteName}", + "login.or": "或", + "login.password": "密码", + "login.passwordChanged": "成功更新密码", + "login.session_expired": "您的会话已过期,请重新登录。", + "login.signIn": "登录", + "login.signInLoading": "登入中...", + "login.signInWith": "登录使用:", + "login.userNotFound": "我们找不到现有的帐户匹配您的凭证。", + "login.username": "用户名", + "login.verified": "验证电子邮件", + "login_mfa.enterToken": "请输入您智能手机的验证令牌以便完成登录", + "login_mfa.submit": "提交", + "login_mfa.token": "多重验证令牌", + "login_mfa.tokenReq": "请输入多重验证令牌", + "member_item.makeAdmin": "Admin", + "member_item.member": "成员", + "member_list.noUsersAdd": "没有用户可添加。", + "members_popover.manageMembers": "成员管理", + "members_popover.msg": "消息", + "members_popover.title": "成员", + "members_popover.viewMembers": "查看成员", + "mfa.confirm.complete": "设置完成!", + "mfa.confirm.okay": "确定", + "mfa.confirm.secure": "您的帐号现在安全了。下次登入时,您将要求输入 Google Authenticator 应用提供的令牌。", + "mfa.setup.badCode": "无效令牌。如果此问题持续,请联系您的系统管理器。", + "mfa.setup.code": "MFA 令牌", + "mfa.setup.codeError": "请输入来自 Google Authenticator 的令牌。", + "mfa.setup.required": "{siteName} 强制要求使用多重验证。 ", + "mfa.setup.save": "保存", + "mfa.setup.secret": "密码:{secret}", + "mfa.setup.step1": "第一步:在您的手机上,从iTunesGoogle Play下载 Google Authenticator", + "mfa.setup.step2": "第二布:使用 Google Authenticator 扫描此 QR 码,或手动输入密码", + "mfa.setup.step3": "第三步:输入 Google Authenticator 生成的令牌", + "mfa.setupTitle": "多重验证设置", + "mobile.components.channels_list_view.yourChannels": "您的频道:", + "mobile.components.select_server_view.enterServerUrl": "输入服务器网址", + "mobile.components.select_server_view.proceed": "继续", + "mobile.components.select_server_view.siteUrlPlaceholder": "https://mattermost.example.com", + "mobile.routes.channels": "频道", + "mobile.routes.enterServerUrl": "输入服务器网址", + "mobile.routes.login": "登录", + "mobile.routes.postsList": "信息列表", + "mobile.routes.selectTeam": "选择团队", + "more_channels.close": "关闭", + "more_channels.create": "创建新频道", + "more_channels.createClick": "点击'创建新频道'创建一个新的频道", + "more_channels.join": "加入", + "more_channels.next": "下一页", + "more_channels.noMore": "没有更多可加入的频道", + "more_channels.prev": "上一页", + "more_channels.title": "更多频道", + "more_direct_channels.close": "关闭", + "more_direct_channels.message": "消息", + "more_direct_channels.new_convo_note": "这将创建新对话。如果你在添加很多用户,请考虑创建私有租。", + "more_direct_channels.new_convo_note.full": "您已达到此对话的最多人数。请考虑创建私有租。", + "more_direct_channels.title": "私信", + "msg_typing.areTyping": "{users}和{last}正在输入...", + "msg_typing.isTyping": "{user}正在输入...", + "msg_typing.someone": "有人", + "multiselect.go": "转到", + "multiselect.instructions": "使用上/下键选择并用回车做选择", + "multiselect.numPeopleRemaining": "您还可以添加 {num, number} 位用户。", + "multiselect.numRemaining": "您还可以添加 {num, number} 位", + "multiselect.placeholder": "搜索并添加成员", + "navbar.addMembers": "添加成员", + "navbar.click": "请点击这里", + "navbar.delete": "删除频道...", + "navbar.leave": "离开频道", + "navbar.manageMembers": "成员管理", + "navbar.noHeader": "没有频道标题。{newline}{link}去添加。", + "navbar.preferences": "通知偏好", + "navbar.rename": "重命名频道...", + "navbar.setHeader": "设置频道标题...", + "navbar.setPurpose": "设置频道的用途...", + "navbar.toggle1": "切换侧边栏", + "navbar.toggle2": "切换侧边栏", + "navbar.viewInfo": "查看信息", + "navbar_dropdown.about": "关于Mattermost", + "navbar_dropdown.accountSettings": "账户设置", + "navbar_dropdown.console": "系统控制台", + "navbar_dropdown.create": "创建一个新的团队", + "navbar_dropdown.emoji": "自定义表情符", + "navbar_dropdown.help": "帮助", + "navbar_dropdown.integrations": "集成", + "navbar_dropdown.inviteMember": "邀请新成员", + "navbar_dropdown.join": "加入另一个团队", + "navbar_dropdown.leave": "离开团队", + "navbar_dropdown.logout": "注销", + "navbar_dropdown.manageMembers": "成员管理", + "navbar_dropdown.nativeApps": "下载应用", + "navbar_dropdown.report": "报告问题", + "navbar_dropdown.switchTeam": "切换到{team}", + "navbar_dropdown.switchTo": "切换到", + "navbar_dropdown.teamLink": "获取团队邀请链接", + "navbar_dropdown.teamSettings": "团队设置", + "navbar_dropdown.viewMembers": "查看成员", + "notification.dm": "私信", + "passwordRequirements": "密码要求:", + "password_form.change": "修改我的密码", + "password_form.click": "点击这里去登录。", + "password_form.enter": "输入您的 {siteName} 账户新密码。", + "password_form.error": "请输入至少{chars}个字符。", + "password_form.pwd": "密码", + "password_form.title": "密码重置", + "password_form.update": "你的密码已经更新成功。", + "password_send.checkInbox": "请检查您的收件箱。", + "password_send.description": "重置您的密码,输入您用于注册的电子邮件地址", + "password_send.email": "电子邮件", + "password_send.error": "请输入一个有效的电子邮件地址。", + "password_send.link": "如果帐号是已存在的,密码重置邮件会发送到:
    {email}

    ", + "password_send.reset": "重置我的密码", + "password_send.title": "密码重置", + "pdf_preview.max_pages": "下载以阅读更多页", + "pending_post_actions.cancel": "取消", + "pending_post_actions.retry": "重试", + "permalink.error.access": "此永久链接指向已删除的消息或者您没有权限访问的频道。", + "post_attachment.collapse": "收起...", + "post_attachment.more": "展开...", + "post_body.commentedOn": "对 {name}{apostrophe} 的信息评论:", + "post_body.deleted": "(消息被删除)", + "post_body.plusMore": "添加{count}文件", + "post_body.plusOne": "添加1个文件", + "post_delete.notPosted": "无法发布评论", + "post_delete.okay": "确定", + "post_delete.someone": "有人删除了你想评论的信息。", + "post_focus_view.beginning": "开始频道归档", + "post_info.del": "删除", + "post_info.edit": "编辑", + "post_info.mobile.flag": "标记", + "post_info.mobile.unflag": "取消标记", + "post_info.permalink": "永久链接", + "post_info.reply": "回复", + "post_info.system": "系统", + "post_message_view.edited": "(已编辑)", + "posts_view.loadMore": "载入更多消息", + "posts_view.newMsg": "新消息", + "posts_view.newMsgBelow": "以下有 {count} 个新消息", + "reaction.clickToAdd": "(点击添加)", + "reaction.clickToRemove": "(点击删除)", + "reaction.othersReacted": "{otherUsers, number} 位用户", + "reaction.reacted": "{users} {reactionVerb} 表示 {emoji}", + "reaction.reactionVerb.user": "反应了", + "reaction.reactionVerb.users": "反应了", + "reaction.reactionVerb.you": "反应了", + "reaction.reactionVerb.youAndUsers": "反应了", + "reaction.usersAndOthersReacted": "{users} 以及 {otherUsers, number} 位其他用户", + "reaction.usersReacted": "{users} 以及 {lastUser}", + "reaction.you": "您", + "removed_channel.channelName": "频道", + "removed_channel.from": "删除从", + "removed_channel.okay": "确定", + "removed_channel.remover": "{remover}删除从{channel}", + "removed_channel.someone": "有人", + "rename_channel.cancel": "取消", + "rename_channel.defaultError": "-不能改变默认频道", + "rename_channel.displayName": "显示名称", + "rename_channel.displayNameHolder": "输入显示名", + "rename_channel.handleHolder": "小写字母符", + "rename_channel.lowercase": "必须小写字母数字字符", + "rename_channel.maxLength": "这个字段必须少于22个字符", + "rename_channel.required": "该字段不能为空", + "rename_channel.save": "保存", + "rename_channel.title": "重命名频道", + "rename_channel.url": "URL:", + "rhs_comment.comment": "评论", + "rhs_comment.del": "删除", + "rhs_comment.edit": "编辑", + "rhs_comment.mobile.flag": "标记", + "rhs_comment.mobile.unflag": "取消标记", + "rhs_comment.permalink": "永久链接", + "rhs_header.backToCallTooltip": "回到通话", + "rhs_header.backToFlaggedTooltip": "回到已标记的信息", + "rhs_header.backToResultsTooltip": "回到搜索结果", + "rhs_header.closeSidebarTooltip": "关闭侧栏", + "rhs_header.closeTooltip": "关闭侧栏", + "rhs_header.details": "消息详情", + "rhs_header.expandSidebarTooltip": "扩展侧边栏", + "rhs_header.expandTooltip": "关闭侧栏", + "rhs_header.shrinkSidebarTooltip": "关闭侧栏", + "rhs_root.del": "删除", + "rhs_root.direct": "私信", + "rhs_root.edit": "编辑", + "rhs_root.mobile.flag": "标记", + "rhs_root.mobile.unflag": "取消标记", + "rhs_root.permalink": "永久链接", + "search_bar.search": "搜索", + "search_bar.usage": "

    搜索选项

    • 使用\"双引号\"搜索词组
    • 使用from:查找来自特定用户的信息,使用in:查找特定频道的信息
    ", + "search_header.results": "搜索结果", + "search_header.title2": "最近提及", + "search_header.title3": "已标记的信息", + "search_item.direct": "私信 (与 {username})", + "search_item.jump": "跳转", + "search_results.because": "
    • 如果您需搜索一个部分词组(例如搜索 \"rea\",查找 \"reach\" 或 \"reaction\"),请在结尾附上 *。
    • 由于搜索结果的数量限制,双字母的搜索和 \"this\",\"a\" 及 \"is\" 等常用词不会出现在搜索结果中。
    ", + "search_results.noResults": "没任何结果。重试?", + "search_results.usage": "
    • 使用\"双引号\"搜索词组
    • 使用from:查找来自特定用户的信息;使用in:查找特定频道中的信息
    ", + "search_results.usageFlag1": "您还没标记任何信息。", + "search_results.usageFlag2": "您可以点击时间戳旁的", + "search_results.usageFlag3": "图标来标记信息和评论。", + "search_results.usageFlag4": "标记信息以便之后更进。您的标记是个人的,不会被他人看到。", + "setting_item_max.cancel": "取消", + "setting_item_max.save": "保存", + "setting_item_min.edit": "编辑", + "setting_picture.cancel": "取消", + "setting_picture.help": "上传一张JPG或PNG格式的个人资料照片,宽度至少为{width}px,高度至少为{height}px。", + "setting_picture.save": "保存", + "setting_picture.select": "选择", + "setting_upload.import": "导入", + "setting_upload.noFile": "未选择文件。", + "setting_upload.select": "选择文件", + "sidebar.channels": "频道", + "sidebar.createChannel": "创建新的频道", + "sidebar.createGroup": "创建新组", + "sidebar.direct": "私信", + "sidebar.favorite": "收藏", + "sidebar.more": "更多", + "sidebar.moreElips": "更多...", + "sidebar.otherMembers": "此团队之外", + "sidebar.pg": "私有组", + "sidebar.removeList": "从列表删除", + "sidebar.tutorialScreen1": "

    频道

    频道组织不同主题的会话。他们对您所在团队的每一个人开放。针对单人发送私人消息使用私信针对多人使用私人组

    ", + "sidebar.tutorialScreen2": "

    “{townsquare}”和“{offtopic}”频道

    这里启用了两个公共频道:

    公共频道是一个团队范围内沟通的地方。团队中的每一个人都是这个频道的一个成员。

    闲聊频道是一个娱乐幽默与工作无关的频道。您和您的团队可以决定创建其他频道。

    ", + "sidebar.tutorialScreen3": "

    创建和加入频道

    点击“更多...”创建一个新频道或加入一个现有频道。

    您还可以通过点击频道或私人组旁的“+”符号,创建一个新频道或私人组。

    ", + "sidebar.unreadAbove": "上面有未读信息", + "sidebar.unreadBelow": "下面有未读信息", + "sidebar_header.tutorial": "

    主菜单

    在主菜单中您可以邀请新成员,访问您的账户设置和设置您的主题颜色

    团队管理员也能通过此菜单访问他们的团队设置

    系统管理员将找到一个系统控制台选项管理整个系统。

    ", + "sidebar_right_menu.accountSettings": "账户设置", + "sidebar_right_menu.console": "系统控制台", + "sidebar_right_menu.flagged": "已标记的信息", + "sidebar_right_menu.help": "帮助", + "sidebar_right_menu.inviteNew": "邀请新成员", + "sidebar_right_menu.logout": "注销", + "sidebar_right_menu.manageMembers": "成员管理", + "sidebar_right_menu.nativeApps": "下载应用", + "sidebar_right_menu.recentMentions": "最近提及", + "sidebar_right_menu.report": "报告问题", + "sidebar_right_menu.teamLink": "获取团队邀请链接", + "sidebar_right_menu.teamSettings": "团队设置", + "sidebar_right_menu.viewMembers": "查看成员", + "signup.email": "电子邮箱和密码", + "signup.gitlab": "GitLab 单一登入", + "signup.google": "谷歌帐号", + "signup.ldap": "AD/LDAP 登录身份", + "signup.office365": "Office 365", + "signup.title": "创建一个账户以:", + "signup_team.createTeam": "或者创建一个团队", + "signup_team.disabled": "团队创建已被禁用。请联系管理员获得权限。", + "signup_team.join_open": "您可以加入的团队:", + "signup_team.noTeams": "团队目录中没有该团队且创建团队功能已经禁用。", + "signup_team.no_open_teams": "没有可加入的团队。请联系您的管理员询问邀请。", + "signup_team.no_open_teams_canCreate": "没有可加入的团队。请创建个新的团队或联系您的管理员询问邀请。", + "signup_team.no_teams": "没有已创建的团队。请联系您的管理员。", + "signup_team.no_teams_canCreate": "没有已创建的团队。您可以点击 \"创建新团队\" 创建一个。", + "signup_team.none": "没有一个没有团队创建方法启用。请联系管理员。", + "signup_team_complete.completed": "您已经用此邀请完成了注册或者邀请已过期。", + "signup_team_confirm.checkEmail": "请检查您的邮箱: {email}
    您的电子邮件包含一个链接,以建立您的团队", + "signup_team_confirm.title": "完成注册", + "signup_team_system_console": "转到系统控制台", + "signup_user_completed.choosePwd": "选择您的密码", + "signup_user_completed.chooseUser": "选择您的用户名", + "signup_user_completed.create": "创建帐户", + "signup_user_completed.emailHelp": "注册所需的有效电子邮箱", + "signup_user_completed.emailIs": "您的邮箱地址是{email}。您可以使用该邮箱地址登录到{siteName}。", + "signup_user_completed.expired": "您已经用此邀请完成了注册或者邀请已过期。", + "signup_user_completed.gitlab": "用gitlab", + "signup_user_completed.google": "用Google", + "signup_user_completed.haveAccount": "已有帐号?", + "signup_user_completed.invalid_invite": "无效邀请链接。请询问您的管理员获得邀请。", + "signup_user_completed.lets": "让我们创建您的帐户", + "signup_user_completed.no_open_server": "服务器不开放注册。请联系您的管理员询问邀请。", + "signup_user_completed.none": "没有启用用户创建方法。请联系管理员。", + "signup_user_completed.office365": "和Office 365", + "signup_user_completed.onSite": "在{siteName}", + "signup_user_completed.or": "或", + "signup_user_completed.passwordLength": "请输入至少{min}个字符", + "signup_user_completed.required": "该字段不能为空", + "signup_user_completed.reserved": "此用户名为预留,请选择一个新的。", + "signup_user_completed.signIn": "点这里登入。", + "signup_user_completed.userHelp": "用户名必须以字母开头,并且包含{min}到{max}个小写字母, '.', '-'和'_'.", + "signup_user_completed.usernameLength": "用户名必须以字母开头,并且包含{min}到{max}个小写字母,'.','-'和'_'.", + "signup_user_completed.validEmail": "请输入一个有效的电子邮件地址", + "signup_user_completed.welcome": "欢迎来到:", + "signup_user_completed.whatis": "您的电子邮箱地址是什么?", + "signup_user_completed.withLdap": "您的 AD/LDAP 凭证", + "sso_signup.find": "查找我的团队", + "sso_signup.gitlab": "用GitLabAccount建立团队", + "sso_signup.google": "用GoogleAppsAccount建立团队", + "sso_signup.length_error": "团队名必须为3-15个字母", + "sso_signup.teamName": "输入新团队名", + "sso_signup.team_error": "输入团队名", + "suggestion.mention.all": "通知频道全员,使用在 {townsquare} 来通知团队", + "suggestion.mention.channel": "通知每个频道", + "suggestion.mention.channels": "我的频道", + "suggestion.mention.here": "通知所有在此频道在线的人", + "suggestion.mention.members": "频道成员", + "suggestion.mention.morechannels": "其他频道", + "suggestion.mention.nonmembers": "不在频道中", + "suggestion.mention.special": "特别提及", + "suggestion.search.private": "私有组", + "suggestion.search.public": "公共频道", + "team_export_tab.download": "下载", + "team_export_tab.export": "导出", + "team_export_tab.exportTeam": "导出您的团队", + "team_export_tab.exporting": "导出...", + "team_export_tab.ready": "准备", + "team_export_tab.unable": "不能导出: {error}", + "team_import_tab.failure": "导入失败:", + "team_import_tab.import": "导入", + "team_import_tab.importHelpDocsLink": "文档", + "team_import_tab.importHelpExportInstructions": "Slack > Team Settings > Import/Export Data > Export > Start Export", + "team_import_tab.importHelpExporterLink": "Slack 高级导出", + "team_import_tab.importHelpLine1": "导入 Slack 到 Mattermost 支持导入您 Slack 团队的公开频道中的信息。", + "team_import_tab.importHelpLine2": "要想导入 Slack 团队,请至 {exportInstructions}。请见 {uploadDocsLink} 了解详情。", + "team_import_tab.importHelpLine3": "想导入带附件的消息,请见 {slackAdvancedExporterLink} 了解详情。", + "team_import_tab.importSlack": "从Slack(Beta)导入", + "team_import_tab.importing": "导入...", + "team_import_tab.successful": "导入成功:", + "team_import_tab.summary": "查看汇总", + "team_member_modal.close": "关闭", + "team_member_modal.members": "{team}成员", + "team_members_dropdown.confirmDemoteDescription": "如果你从系统管理角色降级且没有另一个用户有系统管理员权限,你需要通过一个终端访问Mattermost服务器并运行以下命令来重新指定一个系统管理员。", + "team_members_dropdown.confirmDemoteRoleTitle": "确认从系统管理角色降级", + "team_members_dropdown.confirmDemotion": "确认降级", + "team_members_dropdown.confirmDemotionCmd": "platform roles system_admin {username}", + "team_members_dropdown.inactive": "停用", + "team_members_dropdown.leave_team": "从团队删除", + "team_members_dropdown.makeActive": "设置活跃", + "team_members_dropdown.makeAdmin": "设置团队管理员", + "team_members_dropdown.makeInactive": "设置为停用状态", + "team_members_dropdown.makeMember": "设置成员", + "team_members_dropdown.member": "成员", + "team_members_dropdown.systemAdmin": "系统管理员", + "team_members_dropdown.teamAdmin": "团队管理员", + "team_settings_modal.exportTab": "导出", + "team_settings_modal.generalTab": "基本", + "team_settings_modal.importTab": "导入", + "team_settings_modal.title": "团队设置", + "team_sidebar.join": "您可以加入的其他团队。", + "textbox.bold": "**加粗**", + "textbox.edit": "编辑消息", + "textbox.help": "帮助", + "textbox.inlinecode": "`内嵌代码`", + "textbox.italic": "_斜体_", + "textbox.preformatted": "```预格式化```", + "textbox.preview": "预览", + "textbox.quote": ">引用", + "textbox.strike": "删除线", + "tutorial_intro.allSet": "您已经创建好了", + "tutorial_intro.end": "点击“Next”进入{channel}。这是团队成员登录后看到的第一个频道。使用它来发布每个人需要知道的更新信息。", + "tutorial_intro.invite": "邀请团队成员", + "tutorial_intro.mobileApps": "安装 {link} 上的应用以便随时访问和获得通知。", + "tutorial_intro.mobileAppsLinkText": "PC, Mac, iOS 以及安卓", + "tutorial_intro.next": "下一步", + "tutorial_intro.screenOne": "

    欢迎来到:

    Mattermost

    您所有的团队会话都在这里,可在任何地方即时搜索。

    随时和您的团队保持联系,帮助他们完成最重要的事情。

    ", + "tutorial_intro.screenTwo": "

    Mattermost是如何工作的:

    交流发生在公共频道,私人组和私信中。

    所有信息都能在任何联网的台式机、笔记本或手机中存档和搜索。

    ", + "tutorial_intro.skip": "跳过教程", + "tutorial_intro.support": "如有任何需求,请邮件我们到", + "tutorial_intro.teamInvite": "邀请团队成员", + "tutorial_intro.whenReady": " 当您准备完毕。", + "tutorial_tip.next": "下一步", + "tutorial_tip.ok": "确定", + "tutorial_tip.out": "选择退出这些提示。", + "tutorial_tip.seen": "之前见过这吗?", + "update_command.cancel": "取消", + "update_command.confirm": "编辑斜杠命令", + "update_command.question": "您的修改可能破坏现有的斜杠命令。您确定要更新吗?", + "update_command.update": "更新", + "update_incoming_webhook.update": "更新", + "update_outgoing_webhook.confirm": "修改对外的 Webhooks", + "update_outgoing_webhook.question": "您的修改可能破坏现有的对外的 webhook。您确定要更新吗?", + "update_outgoing_webhook.update": "更新", + "upload_overlay.info": "拖动文件上传。", + "user.settings.advance.embed_preview": "如果邮件中的第一个网络链接可用,在邮件下方会显示网站内容的预览", + "user.settings.advance.embed_toggle": "显示切换所有嵌入预览", + "user.settings.advance.enabledFeatures": "已启用 {count, number} 项功能", + "user.settings.advance.formattingDesc": "开启时,文章会显示链接,表情符,格式,以及添加断行。默认下,此选项时开启的。修改此设定需要刷新页面。", + "user.settings.advance.formattingTitle": "启用帖文格式", + "user.settings.advance.joinLeaveDesc": "当 \"开启\" 时,用户加入或退出频道将会显示系统消息。当 \"关闭\" 时,用户加入或退出频道将不会显示系统消息。不过您加入到一个频道时仍然会显示系统消息而收到通知。", + "user.settings.advance.joinLeaveTitle": "开启加入/退出信息", + "user.settings.advance.markdown_preview": "在消息输入框中显示markdown预览选项", + "user.settings.advance.off": "关闭", + "user.settings.advance.on": "开启", + "user.settings.advance.preReleaseDesc": "检查您想预览的任何预发布功能。在设置生效前,您可能还需要刷新页面。", + "user.settings.advance.preReleaseTitle": "预览预发布功能", + "user.settings.advance.sendDesc": "启用时,回车键插入行而按 Ctrl+回车 键提交消息。", + "user.settings.advance.sendTitle": "按 CTRL+ENTER 发送消息", + "user.settings.advance.slashCmd_autocmp": "启用外部应用程序提供斜杠命令的自动补全功能", + "user.settings.advance.title": "高级设置", + "user.settings.advance.webrtc_preview": "开启使用 WebRTC 的一对一通话", + "user.settings.custom_theme.awayIndicator": "离开显示", + "user.settings.custom_theme.buttonBg": "按钮BG", + "user.settings.custom_theme.buttonColor": "文本按钮", + "user.settings.custom_theme.centerChannelBg": "中间栏 BG", + "user.settings.custom_theme.centerChannelColor": "中间栏文本", + "user.settings.custom_theme.centerChannelTitle": "中间栏样式", + "user.settings.custom_theme.codeTheme": "代码主题", + "user.settings.custom_theme.copyPaste": "复制和粘贴分享主题颜色: ", + "user.settings.custom_theme.linkButtonTitle": "链接已经按钮样式", + "user.settings.custom_theme.linkColor": "链接颜色", + "user.settings.custom_theme.mentionBj": "被提及重要人BG", + "user.settings.custom_theme.mentionColor": "被提及重要人文本", + "user.settings.custom_theme.mentionHighlightBg": "被提及高亮BG", + "user.settings.custom_theme.mentionHighlightLink": "被提及高亮链接", + "user.settings.custom_theme.newMessageSeparator": "新消息分隔符", + "user.settings.custom_theme.onlineIndicator": "在线显示", + "user.settings.custom_theme.sidebarBg": "侧边栏BG", + "user.settings.custom_theme.sidebarHeaderBg": "侧边栏标题背景", + "user.settings.custom_theme.sidebarHeaderTextColor": "侧边栏标题文字", + "user.settings.custom_theme.sidebarText": "侧边栏文本", + "user.settings.custom_theme.sidebarTextActiveBorder": "侧边栏文本活动边框", + "user.settings.custom_theme.sidebarTextActiveColor": "侧边栏文本活跃的颜色”", + "user.settings.custom_theme.sidebarTextHoverBg": "侧边栏文本HoverBG", + "user.settings.custom_theme.sidebarTitle": "侧栏风格", + "user.settings.custom_theme.sidebarUnreadText": "侧边栏未读文本", + "user.settings.display.channelDisplayTitle": "频道显示模式", + "user.settings.display.channeldisplaymode": "选择中间栏的宽度。", + "user.settings.display.clockDisplay": "时钟显示", + "user.settings.display.collapseDesc": "设置默认情况下图片链接的预览是展开还是折叠。此设置也可以使用斜杠命令 /expand 和 /collapse 控制。", + "user.settings.display.collapseDisplay": "图片链接预览默认显示", + "user.settings.display.collapseOff": "已折叠", + "user.settings.display.collapseOn": "已展开", + "user.settings.display.fixedWidthCentered": "固定宽度,居中", + "user.settings.display.fontDesc": "选择在Mattermost用户界面显示的字体。", + "user.settings.display.fontTitle": "显示字体", + "user.settings.display.fullScreen": "完整宽度", + "user.settings.display.language": "语言", + "user.settings.display.messageDisplayClean": "标准", + "user.settings.display.messageDisplayCleanDes": "容易浏览与阅读。", + "user.settings.display.messageDisplayCompact": "紧凑", + "user.settings.display.messageDisplayCompactDes": "显示尽可能多的信息。", + "user.settings.display.messageDisplayDescription": "选择在频道里信息如何显示。", + "user.settings.display.messageDisplayTitle": "信息显示", + "user.settings.display.militaryClock": "24小时格式(例如:16:00)", + "user.settings.display.nameOptsDesc": "设置在信息和私信列表中如何显示其他用户的名字。", + "user.settings.display.normalClock": "12小时格式(例如:4:00 PM)", + "user.settings.display.preferTime": "选择您喜欢的时间显示格式。", + "user.settings.display.showFullname": "显示姓名", + "user.settings.display.showNickname": "若存在昵称显示昵称,否则显示姓名", + "user.settings.display.showUsername": "显示用户名(默认)", + "user.settings.display.teammateDisplay": "团队队友的名字显示", + "user.settings.display.theme.applyToAllTeams": "应用新主题到所有我的团队", + "user.settings.display.theme.customTheme": "自定义主题", + "user.settings.display.theme.describe": "打开管理您的主题", + "user.settings.display.theme.import": "从Slack中导入主题颜色", + "user.settings.display.theme.otherThemes": "查看其他的主题", + "user.settings.display.theme.themeColors": "主题颜色", + "user.settings.display.theme.title": "主题", + "user.settings.display.title": "显示设置", + "user.settings.general.checkEmail": "在{email}查看你的邮件以验证这个地址。", + "user.settings.general.checkEmailNoAddress": "查看你的电子邮件来验证你的新地址", + "user.settings.general.close": "关闭", + "user.settings.general.confirmEmail": "确认电子邮件", + "user.settings.general.email": "电子邮件", + "user.settings.general.emailGitlabCantUpdate": "通过GitLab进行登录。电子邮件不能被更新,用于通知的电子邮件地址是{email}。", + "user.settings.general.emailGoogleCantUpdate": "通过Google进行登录。电子邮件不能被更新。用于通知的电子邮件地址是{email}。", + "user.settings.general.emailHelp1": "电子邮件地址用于登录,通知以及密码重置。如果修改电子邮件需要重新验证。", + "user.settings.general.emailHelp2": "电子邮件已被您的系统管理员禁用。未启用前将无法发送电子邮件通知。", + "user.settings.general.emailHelp3": "电子邮件地址用于登录,通知以及密码重置。", + "user.settings.general.emailHelp4": "验证邮件已发送到{email}。", + "user.settings.general.emailLdapCantUpdate": "通过 AD/LDAP 进行登录。电子邮件不能被更新,用于通知的电子邮件地址是{email}。", + "user.settings.general.emailMatch": "您输入的新邮件不匹配。", + "user.settings.general.emailOffice365CantUpdate": "通过Office 365进行登录。电子邮件不能被更新。用于通知的电子邮件地址是{email}。", + "user.settings.general.emailSamlCantUpdate": "通过LDAP进行登录。电子邮件不能被更新。用于通知的电子邮件地址是{email}。", + "user.settings.general.emailUnchanged": "您的新电子邮件地址和旧的电子邮件地址一致。", + "user.settings.general.emptyName": "点击 '编辑' 添加您的全名", + "user.settings.general.emptyNickname": "点击 '编辑' 添加一个昵称", + "user.settings.general.emptyPosition": "点击 '更改' 添加您的工作标题/职位", + "user.settings.general.field_handled_externally": "此栏由您的登入提供商决定。如果您想更改,您需要到您的登入提供者改动。", + "user.settings.general.firstName": "名字", + "user.settings.general.fullName": "全名", + "user.settings.general.imageTooLarge": "无法上传头像。文件太大。", + "user.settings.general.imageUpdated": "图片上次更新日期{date}", + "user.settings.general.lastName": "姓氏", + "user.settings.general.loginGitlab": "通过GitLab({email})登录", + "user.settings.general.loginGoogle": "通过Google ({email})登录", + "user.settings.general.loginLdap": "通过 AD/LDAP ({email}) 登录", + "user.settings.general.loginOffice365": "通过Office 365({email})登录", + "user.settings.general.loginSaml": "通过SAML ({email}) 登录", + "user.settings.general.newAddress": "新地址:{email}
    查看您的邮箱来验证上面的地址。", + "user.settings.general.nickname": "昵称", + "user.settings.general.nicknameExtra": "使用一个您可能会称呼的与您的名字和用户名不同的昵称作为名字。此方法最常用于两个或多个人有类似的名字和用户名时。", + "user.settings.general.notificationsExtra": "默认情况下,当有人输入您的名字时,您将收到提及通知。您可在{notify}设置中更改此默认设置。", + "user.settings.general.notificationsLink": "通知", + "user.settings.general.position": "职位", + "user.settings.general.positionExtra": "使用职位表示您的角色或职称。这将会在个人资料提示中显示。", + "user.settings.general.primaryEmail": "主要电子邮件", + "user.settings.general.profilePicture": "照片", + "user.settings.general.title": "基本设置", + "user.settings.general.uploadImage": "点击 '编辑' 上传图片。", + "user.settings.general.username": "用户名", + "user.settings.general.usernameInfo": "选择某些团队成员容易识别和记忆的名字。", + "user.settings.general.usernameReserved": "该用户名已存在,请选择一个新的。", + "user.settings.general.usernameRestrictions": "用户名必须以字母开头,并且包含{min}到{max}个小写字母,'.','-'和'_'.", + "user.settings.general.validEmail": "请输入一个有效的电子邮件地址", + "user.settings.general.validImage": "只能上传JPG和PNG图片", + "user.settings.import_theme.cancel": "取消", + "user.settings.import_theme.importBody": "如想导入主题,去 Slack 团队并寻找 \"Preferences -> Sidebar Theme\"。打开自定义主题选项,复制主题颜色值并粘贴至此:", + "user.settings.import_theme.importHeader": "导入Slack主题", + "user.settings.import_theme.submit": "发送", + "user.settings.import_theme.submitError": "无效格式,请尝试再次复制粘贴。", + "user.settings.languages.change": "更改界面语言", + "user.settings.languages.promote": "选择 Mattermost 界面显示的语言。

    想要帮忙翻译吗?加入Mattermost 翻译服务器。", + "user.settings.mfa.add": "向您的账户添加多重验证", + "user.settings.mfa.addHelp": "添加多重验证将需要每次登入时获取手机令牌使您的帐号更安全。", + "user.settings.mfa.addHelpQr": "请用您智能手机上的 Google Authenticator 应用扫描 QR 码后填写应用提供的令牌。如果您无法扫描 QR 码,您可以手动输入提供的密钥。", + "user.settings.mfa.enterToken": "令牌(仅限数字)", + "user.settings.mfa.qrCode": "条形码", + "user.settings.mfa.remove": "从您的账户中删除多重验证", + "user.settings.mfa.removeHelp": "删除多重验证意味着您不再需要基于手机的密码来登入您的帐号。", + "user.settings.mfa.requiredHelp": "此服务器要求强制多重验证。重置只推荐在转移到新移动设备时使用。随后您将立刻被要求重新设置。", + "user.settings.mfa.reset": "重置多重验证", + "user.settings.mfa.secret": "秘钥:", + "user.settings.mfa.title": "启用多重验证:", + "user.settings.modal.advanced": "高级", + "user.settings.modal.confirmBtns": "是的,放弃", + "user.settings.modal.confirmMsg": "您有未保存的更改,您确定你想要放弃他们吗?", + "user.settings.modal.confirmTitle": "放弃修改?", + "user.settings.modal.display": "显示", + "user.settings.modal.general": "基本", + "user.settings.modal.notifications": "通知", + "user.settings.modal.security": "安全", + "user.settings.modal.title": "账户设置", + "user.settings.notifications.allActivity": "所有活动", + "user.settings.notifications.channelWide": "频道范围提及 \"@channel\", \"@all\"", + "user.settings.notifications.close": "关闭", + "user.settings.notifications.comments": "回复通知", + "user.settings.notifications.commentsAny": "在我开头或回复过的消息串触发通知", + "user.settings.notifications.commentsInfo": "除了您被提及的通知外,选择如果您想收到串回复通知。", + "user.settings.notifications.commentsNever": "回复串信息只有在我被提及时触发通知", + "user.settings.notifications.commentsRoot": "在我开头的消息串触发通知", + "user.settings.notifications.desktop": "发送桌面通知", + "user.settings.notifications.desktop.allFirefoxForever": "所有活动,一直显示", + "user.settings.notifications.desktop.allFirefoxTimed": "所有活动,显示 {seconds} 秒", + "user.settings.notifications.desktop.allNoSoundForever": "所有活动,无声,一直显示", + "user.settings.notifications.desktop.allNoSoundTimed": "所有活动,无声,显示 {seconds} 秒", + "user.settings.notifications.desktop.allSoundForever": "所有活动,有声,一直显示", + "user.settings.notifications.desktop.allSoundTimed": "所有活动,有声,显示 {seconds} 秒", + "user.settings.notifications.desktop.duration": "通知时长", + "user.settings.notifications.desktop.durationInfo": "设置在火狐或 Chrome 下桌面通知在屏幕显示的时间。在 Edge 以及 Safari 下只能最多 5 秒。", + "user.settings.notifications.desktop.mentionsFirefoxForever": "提及和私信,一直显示", + "user.settings.notifications.desktop.mentionsFirefoxTimed": "提及和私信,显示 {seconds} 秒", + "user.settings.notifications.desktop.mentionsNoSoundForever": "提及和私信,无声,一直显示", + "user.settings.notifications.desktop.mentionsNoSoundTimed": "提及和私信,无声,显示 {seconds} 秒", + "user.settings.notifications.desktop.mentionsSoundForever": "提及和私信,有声,一直显示", + "user.settings.notifications.desktop.mentionsSoundTimed": "提及和私信,有声,显示 {seconds} 秒", + "user.settings.notifications.desktop.seconds": "{seconds} 秒", + "user.settings.notifications.desktop.sound": "通知声音", + "user.settings.notifications.desktop.title": "桌面通知", + "user.settings.notifications.desktop.unlimited": "无限制", + "user.settings.notifications.desktopSounds": "桌面通知声音", + "user.settings.notifications.email.everyHour": "每小时", + "user.settings.notifications.email.everyXMinutes": "每 {count} 分钟", + "user.settings.notifications.email.immediately": "立刻", + "user.settings.notifications.email.never": "从不", + "user.settings.notifications.email.send": "发送电子邮件通知", + "user.settings.notifications.emailBatchingInfo": "一段时间内收到的通知将合并到一封电子邮件。", + "user.settings.notifications.emailInfo": "当您离开{siteName}超过5分钟或离线,系统将发送提及和私信的电子邮件通知。", + "user.settings.notifications.emailNotifications": "邮件通知", + "user.settings.notifications.header": "通知", + "user.settings.notifications.info": "桌面通知可在 IE11、Edge、Safari、Chrome 以及 Mattermost 桌面应用使用。", + "user.settings.notifications.mentionsInfo": "提及会在某人发送含有您的用户名 (\"@{username}\") 或者任何以上选项的消息时被触发。", + "user.settings.notifications.never": "从不", + "user.settings.notifications.noWords": "敏感词没有配置", + "user.settings.notifications.off": "关闭", + "user.settings.notifications.on": "开启", + "user.settings.notifications.onlyMentions": "只在提及和私信中", + "user.settings.notifications.push": "手机推送信息提示", + "user.settings.notifications.push_notification.status": "触发推送通知当", + "user.settings.notifications.sensitiveName": "您的敏感姓\"{first_name}\"", + "user.settings.notifications.sensitiveUsername": "不区分大小写的用户名\"{username}\"", + "user.settings.notifications.sensitiveWords": "其他不区分大小写的词汇,以逗号分隔:", + "user.settings.notifications.soundConfig": "请在您的浏览器中配置消息通知声音设置", + "user.settings.notifications.sounds_info": "通知声音可在 IE11、Edge、Safari、Chrome 以及 Mattermost 桌面应用使用。", + "user.settings.notifications.teamWide": "团队范围的提及\"@all\"", + "user.settings.notifications.title": "通知设置", + "user.settings.notifications.wordsTrigger": "触发提及词", + "user.settings.push_notification.allActivity": "所有活动", + "user.settings.push_notification.allActivityAway": "所有离开或离线时的活动", + "user.settings.push_notification.allActivityOffline": "所有离线时的活动", + "user.settings.push_notification.allActivityOnline": "所有在线,离开或离线时的活动", + "user.settings.push_notification.away": "离开或离线", + "user.settings.push_notification.disabled": "被系统管理员禁用", + "user.settings.push_notification.disabled_long": "移动设备推送通知已被系统管理员停用。", + "user.settings.push_notification.info": "当 Mattermost 有活动时会推送通知到您的移动设备。", + "user.settings.push_notification.off": "关闭", + "user.settings.push_notification.offline": "离线", + "user.settings.push_notification.online": "在线,离开或离线", + "user.settings.push_notification.onlyMentions": "仅限提及和私信中", + "user.settings.push_notification.onlyMentionsAway": "所有离开或离线时的提及和私信", + "user.settings.push_notification.onlyMentionsOffline": "所有离线时的提及和私信", + "user.settings.push_notification.onlyMentionsOnline": "所有在线,离开或离线时的提及和私信", + "user.settings.push_notification.send": "发送手机推送", + "user.settings.push_notification.status": "触发推送通知当", + "user.settings.push_notification.status_info": "通知只有在您的在线状态符合以上选择时才发送推送。", + "user.settings.security.close": "关闭", + "user.settings.security.currentPassword": "当前密码", + "user.settings.security.currentPasswordError": "请输入您当前密码。", + "user.settings.security.deauthorize": "解除授权", + "user.settings.security.emailPwd": "邮箱和密码", + "user.settings.security.gitlab": "GitLab", + "user.settings.security.google": "谷歌", + "user.settings.security.lastUpdated": "上次更新时间{date}{time}", + "user.settings.security.ldap": "AD/LDAP", + "user.settings.security.loginGitlab": "用 GitLab 登录", + "user.settings.security.loginGoogle": "从 Google Apps 登入", + "user.settings.security.loginLdap": "用 AD/LDAP 登录", + "user.settings.security.loginOffice365": "从 Office 365 登入", + "user.settings.security.loginSaml": "用 SAML 登录", + "user.settings.security.logoutActiveSessions": "查看并退出正在执行的会话", + "user.settings.security.method": "登录方式", + "user.settings.security.newPassword": "新密码", + "user.settings.security.noApps": "没有任何授权的 OAuth 2.0 应用。", + "user.settings.security.oauthApps": "OAuth 2.0 应用", + "user.settings.security.oauthAppsDescription": "点击 '编辑' 来管理您的 OAuth 2.0 应用", + "user.settings.security.oauthAppsHelp": "应用以您的名义根据您设定的权限读取您的数据。", + "user.settings.security.office365": "Office 365", + "user.settings.security.oneSignin": "同时间只能用一种方式登录。切换登录方式会有邮件告知您改动是否成功。", + "user.settings.security.password": "密码", + "user.settings.security.passwordError": "您的密码必须包含至少 {min} 个字符。", + "user.settings.security.passwordErrorLowercase": "您的密码必须包含至少 {min} 个字符且至少有一个小写字母。", + "user.settings.security.passwordErrorLowercaseNumber": "您的密码必须包含至少 {min} 个字符且至少有一个小写字母以及一个数字。", + "user.settings.security.passwordErrorLowercaseNumberSymbol": "您的密码必须包含至少 {min} 个字符且至少有一个小写字母,一个数字,以及一个符号(如\"~!@#$%^&*()\")。", + "user.settings.security.passwordErrorLowercaseSymbol": "您的密码必须包含至少 {min} 个字符且至少有一个小写字母以及一个符号(如\"~!@#$%^&*()\")。", + "user.settings.security.passwordErrorLowercaseUppercase": "您的密码必须包含至少 {min} 个字符且至少有一个小写字母以及一个大写字母。", + "user.settings.security.passwordErrorLowercaseUppercaseNumber": "您的密码必须包含至少 {min} 个字符且至少有一个小写字母,一个大写字母,以及一个数字。", + "user.settings.security.passwordErrorLowercaseUppercaseNumberSymbol": "您的密码必须包含至少 {min} 个字符且至少有一个小写字母,一个大写字母,一个数字,以及一个符号(如\"~!@#$%^&*()\")。", + "user.settings.security.passwordErrorLowercaseUppercaseSymbol": "您的密码必须包含至少 {min} 个字符且至少有一个小写字母,一个大写字母,以及一个符号(如\"~!@#$%^&*()\")。", + "user.settings.security.passwordErrorNumber": "您的密码必须包含至少 {min} 个字符且至少有一个数字。", + "user.settings.security.passwordErrorNumberSymbol": "您的密码必须包含至少 {min} 个字符且至少有一个数字以及一个符号(如\"~!@#$%^&*()\")。", + "user.settings.security.passwordErrorSymbol": "您的密码必须包含至少 {min} 个字符且至少有一个符号(如\"~!@#$%^&*()\")。", + "user.settings.security.passwordErrorUppercase": "您的密码必须包含至少 {min} 个字符且至少有一个大写字母。", + "user.settings.security.passwordErrorUppercaseNumber": "您的密码必须包含至少 {min} 个字符且至少有一个大写字母以及一个数字。", + "user.settings.security.passwordErrorUppercaseNumberSymbol": "您的密码必须包含至少 {min} 个字符且至少有一个大写字母,一个数字,以及一个符号(如\"~!@#$%^&*()\")。", + "user.settings.security.passwordErrorUppercaseSymbol": "您的密码必须包含至少 {min} 个字符且至少有一个大写字母以及一个符号(如\"~!@#$%^&*()\")。", + "user.settings.security.passwordGitlabCantUpdate": "通过GitLab登录。电子邮件不能被更新。", + "user.settings.security.passwordGoogleCantUpdate": "通过 Google Apps 登录。密码不能被更新。", + "user.settings.security.passwordLdapCantUpdate": "通过 AD/LDAP 登录。密码不能被更新。", + "user.settings.security.passwordMatchError": "您输入的新密码不一致。", + "user.settings.security.passwordMinLength": "无效最小长度,无法显示预览。", + "user.settings.security.passwordOffice365CantUpdate": "通过 Office 365 登录。密码不能被更新。", + "user.settings.security.passwordSamlCantUpdate": "此栏由您的登入提供商决定。如果您想更改,您需要到您的登入提供者改动。", + "user.settings.security.retypePassword": "再次输入新密码", + "user.settings.security.saml": "SAML", + "user.settings.security.switchEmail": "切换到使用邮箱和密码登录", + "user.settings.security.switchGitlab": "切换到使用 GitLab SSO", + "user.settings.security.switchGoogle": "切换到使用 Google SSO", + "user.settings.security.switchLdap": "切换到使用 AD/LDAP", + "user.settings.security.switchOffice365": "切换到使用 Office 365 SSO", + "user.settings.security.switchSaml": "切换到使用 SAML SSO", + "user.settings.security.title": "安全设置", + "user.settings.security.viewHistory": "查看访问历史", + "user_list.notFound": "没有找到用户", + "user_profile.send.dm": "发送消息", + "user_profile.webrtc.call": "开始视频通话", + "user_profile.webrtc.offline": "此用户已离线", + "user_profile.webrtc.unavailable": "不能在结束当前通话前开新通话", + "view_image.loading": "加载中 ", + "view_image_popover.download": "下载", + "view_image_popover.file": "文件 {total}/{count}", + "view_image_popover.publicLink": "获取公开链接", + "web.footer.about": "关于", + "web.footer.help": "帮助", + "web.footer.privacy": "隐私", + "web.footer.terms": "条款", + "web.header.back": "返回", + "web.header.logout": "注销", + "web.root.signup_info": "所有团队的通讯一站式解决,随时随地可访问和搜索", + "webrtc.busy": "{username} 繁忙中。", + "webrtc.call": "通话", + "webrtc.callEnded": "已结束与 {username} 的通话。", + "webrtc.cancel": "取消通话", + "webrtc.cancelled": "{username} 已取消通话。", + "webrtc.declined": "您的呼叫被 {username} 拒绝。", + "webrtc.disabled": "{username} 已禁用 WebRTC,因此无法接听。如想开启此功能,他们需要到帐号设定 > 高级 > 预览预发布功能并开启 WebRTC。", + "webrtc.failed": "连接视频通话出现问题。", + "webrtc.hangup": "挂断", + "webrtc.header": "与 {username} 的通话", + "webrtc.inProgress": "您已经有通话。请先挂断。", + "webrtc.mediaError": "无法连接摄像头或麦克风。", + "webrtc.mute_audio": "静音麦克风", + "webrtc.noAnswer": "{username} 没有回应。", + "webrtc.notification.answer": "接听", + "webrtc.notification.decline": "拒接", + "webrtc.notification.incoming_call": "{username} 正在呼叫您。", + "webrtc.notification.returnToCall": "返回到与 {username} 的通话", + "webrtc.offline": "{username} 离线中。", + "webrtc.pause_video": "关闭摄像头", + "webrtc.unmute_audio": "取消静音麦克风", + "webrtc.unpause_video": "开启摄像头", + "webrtc.unsupported": "{username} 客户端不支持视频通话。", + "youtube_video.notFound": "视频未找到" +} diff --git a/webapp/i18n/zh-TW.json b/webapp/i18n/zh-TW.json new file mode 100644 index 000000000..320af58c5 --- /dev/null +++ b/webapp/i18n/zh-TW.json @@ -0,0 +1,2279 @@ +{ + "about.close": "關閉", + "about.copyright": "版權所有 2016 Mattermost, Inc. 保留所有權利", + "about.database": "資料庫:", + "about.date": "編譯日期:", + "about.enterpriseEditionLearn": "學習更多關於企業版:", + "about.enterpriseEditionSt": "防火牆內側也可運行的溝通模式。", + "about.enterpriseEditione1": "企業版", + "about.hash": "編譯 Hash:", + "about.hashee": "企業版編譯 Hash:", + "about.licensed": "授權給:", + "about.number": "編譯序號:", + "about.teamEditionLearn": "加入 Mattermost 社群:", + "about.teamEditionSt": "您的團隊溝通皆在同處,隨時隨地皆可搜尋與存取。", + "about.teamEditiont0": "團隊版", + "about.teamEditiont1": "企業版", + "about.title": "關於 Mattermost", + "about.version": "版本:", + "access_history.title": "存取紀錄", + "activity_log.activeSessions": "使用中的工作階段", + "activity_log.browser": "瀏覽器:{browser}", + "activity_log.firstTime": "第一次活動:{date}, {time}", + "activity_log.lastActivity": "最後一次活動紀錄:{date}, {time}", + "activity_log.logout": "登出", + "activity_log.moreInfo": "更多資訊", + "activity_log.os": "作業系統:{os}", + "activity_log.sessionId": "工作階段 ID:{id}", + "activity_log.sessionsDescription": "當使用新的瀏覽器登入時工作階段會被建立。工作階段讓您可以在系統管理員設定的時間內不用重複登入。如果想先行登出,請使用下方的 '登出' 按鈕以結束工作階段。", + "activity_log_modal.android": "Android", + "activity_log_modal.androidNativeApp": "Android 原生應用程式", + "activity_log_modal.desktop": "原生桌面應用程式", + "activity_log_modal.iphoneNativeApp": "iPhone 原生應用程式", + "add_command.autocomplete": "自動完成", + "add_command.autocomplete.help": "在自動完成列表上顯示斜線命令(非必須)。", + "add_command.autocompleteDescription": "自動完成的描述", + "add_command.autocompleteDescription.help": "斜線命令在自動完成列表上的簡短敘述(非必須)。", + "add_command.autocompleteDescription.placeholder": "例如:\"回傳病歷搜尋結果\"", + "add_command.autocompleteHint": "自動完成的提示", + "add_command.autocompleteHint.help": "斜線命令的參數,在自動完成列表上顯示為說明。(非必須)", + "add_command.autocompleteHint.placeholder": "例如:[患者名字]", + "add_command.cancel": "取消", + "add_command.description": "說明", + "add_command.description.help": "傳入的 Webhook 的敘述。", + "add_command.displayName": "顯示名稱", + "add_command.displayName.help": "斜線命令的名字,最多64個字元。", + "add_command.doneHelp": "已設定斜線命令。以下的 Token 將會隨著外送資料一起送出。請用它來確認該要求來自您的 Mattermost 團隊 (如需詳細資訊,請參閱說明文件)。", + "add_command.iconUrl": "回應圖示", + "add_command.iconUrl.help": "選擇圖片以置換此斜線命令回應貼文時所用的個人圖像(非必須)。輸入.png或.jpg檔案(長寬皆至少為128像素)的網址。", + "add_command.iconUrl.placeholder": "https://www.example.com/myicon.png", + "add_command.method": "要求方法", + "add_command.method.get": "GET", + "add_command.method.help": "發送給要求請的命令要求類型。", + "add_command.method.post": "POST", + "add_command.save": "儲存", + "add_command.token": "Token: {token}", + "add_command.trigger": "命令觸發關鍵字", + "add_command.trigger.help": "觸發關鍵字必須是唯一的,且不能以斜線開頭或包含空白。", + "add_command.trigger.helpExamples": "如:client、employee、patient、weather", + "add_command.trigger.helpReserved": "保留字:{link}", + "add_command.trigger.helpReservedLinkText": "請看內建斜線命令", + "add_command.trigger.placeholder": "命令觸發,例如\"hello\"", + "add_command.triggerInvalidLength": "觸發關鍵字必須包含{min}到{max}個字", + "add_command.triggerInvalidSlash": "觸發關鍵字不可用/(斜線)開頭", + "add_command.triggerInvalidSpace": "觸發關鍵字不可包含空白", + "add_command.triggerRequired": "需要填入觸發關鍵字", + "add_command.url": "要求網址", + "add_command.url.help": "當斜線命令執行時,用以接收 HTTP POST 或 GET 事件請求的回呼網址。", + "add_command.url.placeholder": "開頭必須是 http:// 或 https://", + "add_command.urlRequired": "要求網址為必填", + "add_command.username": "回應使用者名稱", + "add_command.username.help": "填入名稱以置換此斜線命令回應貼文時所用的使用者名稱(非必須),使用者名稱最多包含22個小寫、數字、\"-\"、\"_\"或\".\"等字元。", + "add_command.username.placeholder": "使用者名稱", + "add_emoji.cancel": "取消", + "add_emoji.header": "新增", + "add_emoji.image": "圖片", + "add_emoji.image.button": "選擇", + "add_emoji.image.help": "為繪文字選取圖片。圖片格式為 gif、png 或 jpeg,檔案大小不超過 1 MB。尺寸會在保持長寬比下自動調整為符合 128x128 像素。", + "add_emoji.imageRequired": "繪文字需要圖片", + "add_emoji.name": "名字", + "add_emoji.name.help": "為繪文字選擇名稱,名稱以最多64個小寫英數字跟'-'和'_'組成。", + "add_emoji.nameInvalid": "繪文字的名字只能含有小寫英數跟'-'和'_'。", + "add_emoji.nameRequired": "繪文字需要名字。", + "add_emoji.nameTaken": "這個名字已被系統繪文字所使用。請選其他的名字。", + "add_emoji.preview": "預覽", + "add_emoji.preview.sentence": "這句話帶有 {image} 。", + "add_emoji.save": "儲存", + "add_incoming_webhook.cancel": "取消", + "add_incoming_webhook.channel": "頻道", + "add_incoming_webhook.channel.help": "接收 Webhook 的公開頻道或私人群組。設定 Webhook 時您必須屬於該私人群組。", + "add_incoming_webhook.channelRequired": "必須是有效的頻道", + "add_incoming_webhook.description": "說明", + "add_incoming_webhook.description.help": "傳入的 Webhook 的敘述。", + "add_incoming_webhook.displayName": "顯示名稱", + "add_incoming_webhook.displayName.help": "傳入的 Webhook 的名字,最多64個字元。", + "add_incoming_webhook.doneHelp": "已設定傳入的 Webhook。請發送資料至以下的網址 (如需詳細資訊,請參閱說明文件)。", + "add_incoming_webhook.name": "名字", + "add_incoming_webhook.save": "儲存", + "add_incoming_webhook.url": "網址: {url}", + "add_oauth_app.callbackUrls.help": "在使用者同意或是拒絕授權給應用程式之後使用者將會被重導向至此重導向網址,同時該網址將會處理授權碼或是存取 Token。必須是以 http:// 或 https:// 開頭的有效網址。", + "add_oauth_app.callbackUrlsRequired": "請填入一或多個回呼網址", + "add_oauth_app.clientId": "用戶端 ID:{id}", + "add_oauth_app.clientSecret": "用戶端密碼:{secret}", + "add_oauth_app.description.help": "OAuth 2.0 應用程式的敘述。", + "add_oauth_app.descriptionRequired": "請填入 OAuth 2.0 應用程式的敘述。", + "add_oauth_app.doneHelp": "OAuth 2.0 應用程式設定完畢。當應用程式要求授權時,請用下面的用戶端 ID 跟密碼 (詳請參閱文件)。", + "add_oauth_app.doneUrlHelp": "以下為您所授權的重導向網址。", + "add_oauth_app.header": "新增", + "add_oauth_app.homepage.help": "OAuth 2.0 應用程式的首頁網址。請根據伺服器設定選擇 HTTP 或 HTTPS。", + "add_oauth_app.homepageRequired": "請填入 OAuth 2.0 應用程式的首頁網址。", + "add_oauth_app.icon.help": "(非必須) 指向 OAuth 2.0 應用程式的圖片的網址。請確定在網址中使用了 HTTP 或 HTTPS。", + "add_oauth_app.name.help": "OAuth 2.0 應用程式的顯示名稱,最多64個字元。", + "add_oauth_app.nameRequired": "請填入 OAuth 2.0 應用程式的名字。", + "add_oauth_app.trusted.help": "信任時,此 OAuth 2.0 應用程式將被 Mattermost 伺服器信任且不需要使用者同意授權。不信任時,將會出現新的視窗詢問使用者同意或是拒絕授權。", + "add_oauth_app.url": "網址:{url}", + "add_outgoing_webhook.callbackUrls": "回呼網址(一行一個)", + "add_outgoing_webhook.callbackUrls.help": "訊息被送達的網址。", + "add_outgoing_webhook.callbackUrlsRequired": "請填入一或多個回呼網址", + "add_outgoing_webhook.cancel": "取消", + "add_outgoing_webhook.channel": "頻道", + "add_outgoing_webhook.channel.help": "接收 Webhook 的公開頻道。有設定一個以上的觸發關鍵字時此項非必須。", + "add_outgoing_webhook.contentType.help1": "選擇回應送出時的內容型態。", + "add_outgoing_webhook.contentType.help2": "如果選了 application/x-www-form-urlencoded,伺服器將假設參數使用 URL 格式編碼。", + "add_outgoing_webhook.contentType.help3": "如果選了 application/json,伺服器將假設發送的是 JSON 資料。", + "add_outgoing_webhook.content_Type": "內容型態", + "add_outgoing_webhook.description": "說明", + "add_outgoing_webhook.description.help": "傳出的 Webhook 的敘述。", + "add_outgoing_webhook.displayName": "顯示名稱", + "add_outgoing_webhook.displayName.help": "傳出的 Webhook 的名字,最多64個字元。", + "add_outgoing_webhook.doneHelp": "已設定傳出的 Webhook。以下的 Token 將會隨著外送資料一起送出。請用它來確認該要求來自您的 Mattermost 團隊 (如需詳細資訊,請參閱說明文件)。", + "add_outgoing_webhook.name": "名字", + "add_outgoing_webhook.save": "儲存", + "add_outgoing_webhook.token": "Token: {token}", + "add_outgoing_webhook.triggerWords": "關鍵觸發字(一行一個)", + "add_outgoing_webhook.triggerWords.help": "以觸發關鍵字開頭的訊息將會觸發傳出的 Webhook。有選擇頻道時此項非必須。", + "add_outgoing_webhook.triggerWordsOrChannelRequired": "請填入有效的頻道或觸發關鍵字清單", + "add_outgoing_webhook.triggerWordsTriggerWhen": "觸發於", + "add_outgoing_webhook.triggerWordsTriggerWhen.help": "選擇何時觸發傳出的 Webook:訊息的第一個字完全符合觸發關鍵字,或是訊息以觸發關鍵字開頭。", + "add_outgoing_webhook.triggerWordsTriggerWhenFullWord": "第一個字完全符合觸發關鍵字", + "add_outgoing_webhook.triggerWordsTriggerWhenStartsWith": "第一個字以觸發關鍵字為開頭", + "admin.advance.cluster": "高可用性 (Beta)", + "admin.advance.metrics": "效能監視", + "admin.audits.reload": "重新載入使用者活動記錄", + "admin.audits.title": "使用者活動記錄", + "admin.authentication.email": "電子郵件認證", + "admin.authentication.gitlab": "GitLab", + "admin.authentication.ldap": "AD/LDAP", + "admin.authentication.oauth": "OAuth 2.0", + "admin.authentication.saml": "SAML", + "admin.banner.heading": "註:", + "admin.cluster.enableDescription": "啟用時,Mattermost 將會運行於高可用性模式。請參閱說明文件以了解如何設定 Mattermost 的高可用性。", + "admin.cluster.enableTitle": "啟用高可用性模式:", + "admin.cluster.interNodeListenAddressDesc": "伺服器將會監聽此位址來跟其他伺服器通訊。", + "admin.cluster.interNodeListenAddressEx": "如:\":8075\"", + "admin.cluster.interNodeListenAddressTitle": "節點間通訊監聽位址:", + "admin.cluster.interNodeUrlsDesc": "所有 Mattermost 伺服器的內部/私人網址,以逗號分離。", + "admin.cluster.interNodeUrlsEx": "如:\"http://10.10.10.30, http://10.10.10.31\"", + "admin.cluster.interNodeUrlsTitle": "節點間網址:", + "admin.cluster.loadedFrom": "此設定檔是從節點 ID {clusterId} 讀取。如果您是經由負載平衡器存取系統控制台且遇到了問題,請參閱文件中的疑難排解指引。", + "admin.cluster.noteDescription": "修改此節的屬性需要重啟伺服器以生效。啟用高可用性模式時,系統控制台會被設成唯讀,只能經由設定檔來修改。", + "admin.cluster.should_not_change": "警告:這些設定可能不會跟此叢集內其他的伺服器同步。高可用性節點間通訊在所有伺服器的 config.json 被修改成一樣並重新啟動 Mattermost 之前不會開始。如何從叢集中增加或移除伺服器請看文件。如果您是經由負載平衡器存取系統控制台且遇到了問題,請參閱文件中的疑難排解指引。", + "admin.cluster.status_table.config_hash": "設定檔 MD5", + "admin.cluster.status_table.hostname": "主機名稱", + "admin.cluster.status_table.id": "節點 ID", + "admin.cluster.status_table.reload": " 重新讀取叢集狀態", + "admin.cluster.status_table.status": "狀態", + "admin.cluster.status_table.url": "節點間網址", + "admin.cluster.status_table.version": "版本", + "admin.compliance.directoryDescription": "規範報告的寫入目錄,若空白,則設定為 ./data/。", + "admin.compliance.directoryExample": "如:\"./data/\"", + "admin.compliance.directoryTitle": "規範報告目錄:", + "admin.compliance.enableDailyDesc": "若啟用,Mattermost 會每日產生規範報告。", + "admin.compliance.enableDailyTitle": "啟用每日報告:", + "admin.compliance.enableDesc": "啟用時,Mattermost 允許從規範與審計分頁使用規範報告。詳請參閱文件。", + "admin.compliance.enableTitle": "啟用規範報告:", + "admin.compliance.false": "否", + "admin.compliance.noLicense": "

    註:

    規範為企業授權功能,您的授權不支援規範。點這裡查看企業授權資訊與價格。

    ", + "admin.compliance.save": "儲存", + "admin.compliance.saving": "儲存設定...", + "admin.compliance.title": "規範設定", + "admin.compliance.true": "是", + "admin.compliance_reports.desc": "工作名稱:", + "admin.compliance_reports.desc_placeholder": "例如:\"人事445號查核\"", + "admin.compliance_reports.emails": "電子郵件地址:", + "admin.compliance_reports.emails_placeholder": "例如:\"bill@example.com, bob@example.com\"", + "admin.compliance_reports.from": "發信人:", + "admin.compliance_reports.from_placeholder": "例如:\"2016-03-11\"", + "admin.compliance_reports.keywords": "關鍵字:", + "admin.compliance_reports.keywords_placeholder": "例如:\"融券\"", + "admin.compliance_reports.reload": "重新讀取規範報告", + "admin.compliance_reports.run": "執行檢查規範", + "admin.compliance_reports.title": "規範報告", + "admin.compliance_reports.to": "收件者:", + "admin.compliance_reports.to_placeholder": "例如:\"2016-03-15\"", + "admin.compliance_table.desc": "說明", + "admin.compliance_table.download": "下載", + "admin.compliance_table.params": "參數", + "admin.compliance_table.records": "記錄", + "admin.compliance_table.status": "狀態", + "admin.compliance_table.timestamp": "時間戳記", + "admin.compliance_table.type": "類型", + "admin.compliance_table.userId": "要求者", + "admin.connectionSecurityNone": "無", + "admin.connectionSecurityNoneDescription": "Mattermost 將使用不安全的連線。", + "admin.connectionSecurityPlain": "PLAIN", + "admin.connectionSecurityPlainDescription": "Mattermost 將使用不安全的連線來連線跟認證。", + "admin.connectionSecurityStart": "STARTTLS", + "admin.connectionSecurityStartDescription": "不安全的連線,嘗試提升為 TLS 安全連線", + "admin.connectionSecurityTest": "測試連線", + "admin.connectionSecurityTitle": "連線安全:", + "admin.connectionSecurityTls": "TLS", + "admin.connectionSecurityTlsDescription": "加密 Mattermost 和伺服器之間的通訊。", + "admin.customization.androidAppDownloadLinkDesc": "新增下載 Android 應用程式的連結。用行動網頁瀏覽器存取站台的使用者將會看到提示頁面以下載應用程式。此欄留空則不會出現提示頁面。", + "admin.customization.androidAppDownloadLinkTitle": "Android 應用程式下載連結:", + "admin.customization.appDownloadLinkDesc": "新增前往 Mattermost 應用程式下載頁面的連結。當有連結時主選單將會新增 \"下載 Mattermost 應用程式\" 讓使用者前往下載頁面。此欄留空則主選單不會出現該選項。", + "admin.customization.appDownloadLinkTitle": "Mattermost 應用程式下載頁面連結:", + "admin.customization.customBrand": "自訂品牌", + "admin.customization.customEmoji": "自訂繪文字", + "admin.customization.enableCustomEmojiDesc": "允許使用者新增用於訊息當中的自訂繪文字。允許之後,自訂繪文字設定的檢視方式為:變更到一個團隊,按頻道側邊欄上面的三個點,然後選擇\"自訂繪文字\"。", + "admin.customization.enableCustomEmojiTitle": "啟用自訂繪文字:", + "admin.customization.iosAppDownloadLinkDesc": "新增下載 iOS 應用程式的連結。用行動網頁瀏覽器存取站台的使用者將會看到提示頁面以下載應用程式。此欄留空則不會出現提示頁面。", + "admin.customization.iosAppDownloadLinkTitle": "iOS 應用程式下載連結:", + "admin.customization.nativeAppLinks": "Mattermost 應用程式連結", + "admin.customization.restrictCustomEmojiCreationAdmin": "允許系統及團隊管理員新增自訂繪文字", + "admin.customization.restrictCustomEmojiCreationAll": "允許所有人新增自訂繪文字", + "admin.customization.restrictCustomEmojiCreationDesc": "限制僅特定使用者可以新增自訂繪文字。", + "admin.customization.restrictCustomEmojiCreationSystemAdmin": "只允許系統管理員新增繪文字", + "admin.customization.restrictCustomEmojiCreationTitle": "限制新增繪文字:", + "admin.customization.support": "法律與支援", + "admin.database.title": "資料庫設定", + "admin.developer.title": "開發者設定", + "admin.email.agreeHPNS": " 我理解並接受 Mattermost Hosted 推播通知服務服務條款隱私政策。", + "admin.email.allowEmailSignInDescription": "啟用時 Mattermost 允許使用者用他們的電子郵件與密碼登入。", + "admin.email.allowEmailSignInTitle": "啟用電子郵件登入:", + "admin.email.allowSignupDescription": "啟用時 Mattermost 允許團隊以電子郵件與密碼註冊帳號。應該只在想限制以 OAuth 或 AD/LDAP 一類的單一登入服務註冊時,設為停用。", + "admin.email.allowSignupTitle": "啟用以電子郵件建立帳號:", + "admin.email.allowUsernameSignInDescription": "啟用時 Mattermost 允許使用者用他們的名稱與密碼登入。通常只有停用電子郵件地址驗證時才啟用。", + "admin.email.allowUsernameSignInTitle": "啟用以使用者名稱登入:", + "admin.email.connectionSecurityTest": "測試連線", + "admin.email.easHelp": "從企業 App 商店瞭解編譯與佈署自已的行動應用程式。", + "admin.email.emailFail": "連線失敗:{error}", + "admin.email.emailSuccess": "成功傳送電子郵件。請檢查收件匣並確認。", + "admin.email.enableEmailBatching.clusterEnabled": "高可用性模式啟用時不能啟用批次郵件。", + "admin.email.enableEmailBatching.siteURL": "啟用批次郵件前必須先設定站台網址 (設定 > 站台網址)。", + "admin.email.enableEmailBatchingDesc": "啟用時,使用者可以讓多個直接訊息跟提及合併成單一封郵件,可在帳號設定 > 通知處設定。", + "admin.email.enableEmailBatchingTitle": "啟用批次郵件:", + "admin.email.fullPushNotification": "發送完整的訊息", + "admin.email.genericPushNotification": "以使用者與頻道名稱發送一般說明", + "admin.email.inviteSaltDescription": "32字元的 Salt 用來簽署電子郵件邀請。於安裝時隨機產生。按\"重新產生\"建立新的 Salt。", + "admin.email.inviteSaltExample": "如:\"bjlSR4QqkXFBr7TP4oDzlfZmcNuH9Yo\"", + "admin.email.inviteSaltTitle": "電子郵件邀請 Salt:", + "admin.email.mhpns": "使用有加密、產品品質的 HPNS 連線到 iOS 與 Android 應用程式", + "admin.email.mhpnsHelp": "從iTunes下載 Mattermost iOS 應用程式。從Google Play 下載 Mattermost Android 應用程式。瞭解更多關於HPNS.", + "admin.email.mtpns": "使用 TPNS 以及 iTunes 和 GooglePlay 上的 iOS 與 Android 應用程式", + "admin.email.mtpnsHelp": "從 iTunes 下載 Mattermost iOS 應用程式。從Google Play下載 Mattermost Android 應用程式。瞭解更多關於 TPNS。", + "admin.email.nofificationOrganizationExample": "如:\"© ABC Corporation, 565 Knight Way, Palo Alto, California, 94305, USA\"", + "admin.email.notificationDisplayDescription": "從 Mattermost 傳送通知電子郵件時發件者的顯示名稱。", + "admin.email.notificationDisplayExample": "例如:\"Mattermost 通知\"、\"系統\"、\"勿回信\"", + "admin.email.notificationDisplayTitle": "通知顯示名稱:", + "admin.email.notificationEmailDescription": "從 Mattermost 傳送通知電子郵件時發件者的電子郵件地址。", + "admin.email.notificationEmailExample": "例如:\"mattermost@yourcompany.com\"、\"admin@yourcompany.com\"", + "admin.email.notificationEmailTitle": "通知信寄件人地址:", + "admin.email.notificationOrganization": "通知信信尾地址:", + "admin.email.notificationOrganizationDescription": "顯示於來自 Mattermost 通知信的組織名稱跟地址。如:\"© ABC Corporation, 565 Knight Way, Palo Alto, California, 94305, USA\"。如果這欄為空,信將不會顯示組織名稱跟地址。", + "admin.email.notificationOrganizationExample": "如:\"© ABC Corporation, 565 Knight Way, Palo Alto, California, 94305, USA\"", + "admin.email.notificationsDescription": "正式環境通常設為啟用。啟用時 Mattermost 會傳送電子郵件通知。開發者可以設為停用以跳過設定電子郵件加速開發。
    啟用時移除預覽模式橫幅(變更設定後須重新登入以生效)。", + "admin.email.notificationsTitle": "啟用電子郵件通知:", + "admin.email.passwordSaltDescription": "32字元的 Salt 用來簽署重設密碼之電子郵件。於安裝時隨機產生。按\"重新產生\"建立新的 salt。", + "admin.email.passwordSaltExample": "如:\"bjlSR4QqkXFBr7TP4oDzlfZmcNuH9Yo\"", + "admin.email.passwordSaltTitle": "密碼重設 Salt:", + "admin.email.pushContentDesc": "選取\"發送帶有使用者跟頻道名稱的一般性描述\"時,推播會寄送一般性訊息,包含使用者與頻道名稱,但不包含訊息內容。

    選取\"發送完整的訊息\"時,則會引用觸發通知的訊息內文,有可能會帶有機密資料。如果推播服務在防火牆之外,那麼強烈建議本選項只在協定為 \"https\" 加密連線時使用。", + "admin.email.pushContentTitle": "推播內容:", + "admin.email.pushDesc": "正式環境通常為啟用。啟用時 Mattermost 會嘗試從推播主機發送推播通知。", + "admin.email.pushOff": "不要發送推播通知", + "admin.email.pushOffHelp": "詳細設置請參閱推播通知文件。", + "admin.email.pushServerDesc": "在防火牆後方設置 Mattermost 推播通知服務時請使用 https://github.com/mattermost/push-proxy。可以使用 http://push-test.mattermost.com 測試,這個服務會連接到 Apple AppStore 的 Mattermost iOS 樣本應用程式。請勿在正式環境使用此測試服務。", + "admin.email.pushServerEx": "例如:\"http://push-test.mattermost.com\"", + "admin.email.pushServerTitle": "推播通知伺服器:", + "admin.email.pushTitle": "啟用推播通知:", + "admin.email.requireVerificationDescription": "正式環境通常設為啟用。啟用時 Mattermost 會在帳號建立之後允許登入之前要求驗證電子郵件地址。開發人員可以設為關閉,用以跳過電子郵件驗證加速開發。", + "admin.email.requireVerificationTitle": "需要驗證電子郵件地址:", + "admin.email.selfPush": "手動輸入推播通知服務位址", + "admin.email.smtpPasswordDescription": " 跟電子郵件管理員取得認證。", + "admin.email.smtpPasswordExample": "例如:\"您的密碼\"、\"jcuS8PuvcpGhpgHhlcpT1Mx42pnqMxQY\"", + "admin.email.smtpPasswordTitle": "SMTP 伺服器密碼:", + "admin.email.smtpPortDescription": "SMTP 電子郵件伺服器連接埠:", + "admin.email.smtpPortExample": "如:\"25\", \"465\", \"587\"", + "admin.email.smtpPortTitle": "SMTP 伺服器連接埠:", + "admin.email.smtpServerDescription": "SMTP 電子郵件伺服器位置。", + "admin.email.smtpServerExample": "例如:\"smtp.yourcompany.com\"、\"email-smtp.us-east-1.amazonaws.com\"", + "admin.email.smtpServerTitle": "SMTP 伺服器:", + "admin.email.smtpUsernameDescription": " 跟電子郵件管理員取得認證。", + "admin.email.smtpUsernameExample": "例如:\"admin@yourcompany.com\"、\"AKIADTOVBGERKLCBV\"", + "admin.email.smtpUsernameTitle": "SMTP 伺服器使用者名稱:", + "admin.email.testing": "測試中...", + "admin.false": "否", + "admin.file_upload.chooseFile": "選擇檔案", + "admin.file_upload.noFile": "未上傳任何檔案", + "admin.file_upload.uploadFile": "上傳", + "admin.files.images": "圖片", + "admin.files.storage": "儲存區", + "admin.general.configuration": "設定", + "admin.general.localization": "語言", + "admin.general.localization.availableLocalesDescription": "設定在帳號設定中使用者可以使用哪些語言 (留空則為全部支援的語言) 。如果要手動增加新語言,必須包含預設的用戶端語言在內。

    想要幫忙翻譯嘛?加入 Mattermost 翻譯伺服器 來幫忙。", + "admin.general.localization.availableLocalesNoResults": "找不到任何資料", + "admin.general.localization.availableLocalesNotPresent": "用戶端的預設語言必須包含在可用語言中", + "admin.general.localization.availableLocalesTitle": "可用語言:", + "admin.general.localization.clientLocaleDescription": "新建使用者及未登入頁面的預設語言。", + "admin.general.localization.clientLocaleTitle": "預設的用戶端語言:", + "admin.general.localization.serverLocaleDescription": "系統訊息跟紀錄的預設語言。此設定需要重新啟動伺服器才有效。", + "admin.general.localization.serverLocaleTitle": "預設的伺服器語言:", + "admin.general.log": "記錄", + "admin.general.policy": "政策", + "admin.general.policy.allowEditPostAlways": "任何時間", + "admin.general.policy.allowEditPostDescription": "設定作者在發出訊息後有多少時間可以編輯。", + "admin.general.policy.allowEditPostNever": "永不", + "admin.general.policy.allowEditPostTimeLimit": "發出訊息後幾秒內", + "admin.general.policy.allowEditPostTitle": "允許使用者編輯訊息:", + "admin.general.policy.permissionsAdmin": "團隊跟系統管理員", + "admin.general.policy.permissionsAll": "團隊全員", + "admin.general.policy.permissionsAllChannel": "所有頻道成員", + "admin.general.policy.permissionsChannelAdmin": "頻道、團隊與系統管理員", + "admin.general.policy.permissionsDeletePostAdmin": "團隊跟系統管理員", + "admin.general.policy.permissionsDeletePostAll": "訊息作者可以刪除自己的訊息,管理者可以刪除任意訊息", + "admin.general.policy.permissionsDeletePostSystemAdmin": "系統管理員", + "admin.general.policy.permissionsSystemAdmin": "系統管理員", + "admin.general.policy.restrictPostDeleteDescription": "設定誰擁有刪除訊息的權限", + "admin.general.policy.restrictPostDeleteTitle": "允許哪個使用者刪除訊息:", + "admin.general.policy.restrictPrivateChannelCreationDescription": "設定誰能建立私人群組的政策。", + "admin.general.policy.restrictPrivateChannelCreationTitle": "允許建立私人群組:", + "admin.general.policy.restrictPrivateChannelDeletionCommandLineToolLink": "命令列工具", + "admin.general.policy.restrictPrivateChannelDeletionDescription": "設定誰能刪除私人群組的政策。被刪除的群組可以利用 {commandLineToolLink} 從資料庫中還原。", + "admin.general.policy.restrictPrivateChannelDeletionTitle": "允許刪除私人群組:", + "admin.general.policy.restrictPrivateChannelManagementDescription": "設定誰能更名私人群組與設定其標題的政策。", + "admin.general.policy.restrictPrivateChannelManagementTitle": "允許更名私人群組:", + "admin.general.policy.restrictPublicChannelCreationDescription": "設定誰能建立公開頻道的政策。", + "admin.general.policy.restrictPublicChannelCreationTitle": "允許建立公開頻道:", + "admin.general.policy.restrictPublicChannelDeletionCommandLineToolLink": "命令列工具", + "admin.general.policy.restrictPublicChannelDeletionDescription": "設定誰能刪除公開頻道的政策。被刪除的頻道可以利用 {commandLineToolLink} 從資料庫中還原。", + "admin.general.policy.restrictPublicChannelDeletionTitle": "允許刪除公開頻道:", + "admin.general.policy.restrictPublicChannelManagementDescription": "設定誰能更名公開頻道與設定其標題的政策。", + "admin.general.policy.restrictPublicChannelManagementTitle": "允許更名公開頻道:", + "admin.general.policy.teamInviteDescription": "設定誰能用邀請新成員發送邀請郵件或使用在主選單的取得團隊邀請連結來邀請他人加入團隊的原則。如果取得團隊邀請連結被用來分享邀請連結,可以在希望加入的使用者加入團隊之後從團隊設定 > 邀請碼讓邀請碼過期。", + "admin.general.policy.teamInviteTitle": "允許發出團隊邀請的使用者:", + "admin.general.privacy": "隱私", + "admin.general.usersAndTeams": "使用者與團隊", + "admin.gitab.clientSecretDescription": "經由上方指示登入 GitLab 以取得該值。", + "admin.gitlab.EnableHtmlDesc": "
    1. 登入 GitLab 帳號並至個人檔案設定 -> 應用程式。
    2. 輸入轉址位址 \"<您的 mattermost 網址>/login/gitlab/complete\" (例:http://localhost:8065/login/gitlab/complete) 以及 \"<您的 mattermost 網址>/signup/gitlab/complete\"。
    3. 然後使用 GitLab 的 \"Application Secret Key\" 與 \"Application ID\" 欄位以完成下面的選項。
    4. 完成下面的端點網址。
    ", + "admin.gitlab.authDescription": "輸入 https:///oauth/authorize (例如 https://example.com:3000/oauth/authorize)。請根據伺服器設定選擇 HTTP 或 HTTPS。", + "admin.gitlab.authExample": "如:\"https:///oauth/authorize\"", + "admin.gitlab.authTitle": "認證端點:", + "admin.gitlab.clientIdDescription": "經由上方指示登入 GitLab 以取得該值", + "admin.gitlab.clientIdExample": "如:\"jcuS8PuvcpGhpgHhlcpT1Mx42pnqMxQY\"", + "admin.gitlab.clientIdTitle": "應用程式識別碼:", + "admin.gitlab.clientSecretExample": "如:\"jcuS8PuvcpGhpgHhlcpT1Mx42pnqMxQY\"", + "admin.gitlab.clientSecretTitle": "應用程式金鑰:", + "admin.gitlab.enableDescription": "啟用時,Mattermost 允許使用 GitLab OAuth 建立團隊與註冊帳號。", + "admin.gitlab.enableTitle": "啟用以 GitLab 認證:", + "admin.gitlab.settingsTitle": "GitLab 設定", + "admin.gitlab.tokenDescription": "輸入 https:///oauth/token。請根據伺服器設定選擇 HTTP 或 HTTPS。", + "admin.gitlab.tokenExample": "如:\"https:///oauth/token\"", + "admin.gitlab.tokenTitle": "Token 端點:", + "admin.gitlab.userDescription": "輸入 https:///api/v3/user。請根據伺服器設定選擇 HTTP 或 HTTPS。", + "admin.gitlab.userExample": "如:\"https:///api/v3/user\"", + "admin.gitlab.userTitle": "使用者 API 端點:", + "admin.google.EnableHtmlDesc": "
    1. 登入 Google帳號。
    2. 前往 https://console.developers.google.com,按左側邊列的憑證並輸入\"Mattermost - 您的公司名稱\"作為專案名稱,按建立
    3. OAuth 同意畫面 標題並輸入 \"Mattermost\" 作為 向使用者顯示的產品名稱。 按 儲存
    4. 憑證 標題下,按 建立憑證,選擇 OAuth 用戶端 ID 並選擇 網路應用程式
    5. 限制已授權的重新導向 URI 中輸入 您的 Mattermost 網址/signup/google/complete (如: http://localhost:8065/signup/google/complete)。 按 建立
    6. 用戶端 ID用戶端密鑰 貼至下面的欄位,按下儲存
    7. 最後,前往 Google+ API 並按 啟用。這可能需要花上幾分鐘以在 Google 的系統完成散佈。
    ", + "admin.google.authTitle": "認證端點:", + "admin.google.clientIdDescription": "在 Google 註冊應用程式時收到的用戶端 ID。", + "admin.google.clientIdExample": "如:\"7602141235235-url0fhs1mayfasbmop5qlfns8dh4.apps.googleusercontent.com\"", + "admin.google.clientIdTitle": "用戶端 ID:", + "admin.google.clientSecretDescription": "在 Google 註冊應用程式時收到的用戶端密鑰。", + "admin.google.clientSecretExample": "如:\"H8sz0Az-dDs2p15-7QzD231\"", + "admin.google.clientSecretTitle": "用戶端密碼:", + "admin.google.tokenTitle": "Token 端點:", + "admin.google.userTitle": "使用者 API 端點:", + "admin.image.amazonS3BucketDescription": "輸入 AWS S3 儲存貯體的名稱.", + "admin.image.amazonS3BucketExample": "如:\"mattermost-media\"", + "admin.image.amazonS3BucketTitle": "Amazon S3 儲存貯體:", + "admin.image.amazonS3EndpointDescription": "相容於 S3 的儲存提供者的主機名稱。預設為`s3.amazonaws.com`。", + "admin.image.amazonS3EndpointExample": "如:\"s3.amazonaws.com\"", + "admin.image.amazonS3EndpointTitle": "Amazon S3 端點:", + "admin.image.amazonS3IdDescription": "從 Amazon EC2 管理員取得認證。", + "admin.image.amazonS3IdExample": "如:\"AKIADTOVBGERKLCBV\"", + "admin.image.amazonS3IdTitle": "Amazon S3 存取金鑰識別碼:", + "admin.image.amazonS3RegionDescription": "選擇建立 S3 儲存貯體時選用的 AWS 區域。", + "admin.image.amazonS3RegionExample": "如:\"us-east-1\"", + "admin.image.amazonS3RegionTitle": "Amazon S3 區域:", + "admin.image.amazonS3SSLDescription": "關閉時,允許不安全的連線至 Amazon S3。預設為只允許安全連線。", + "admin.image.amazonS3SSLTitle": "啟用 Amazon S3 安全連線:", + "admin.image.amazonS3SecretDescription": "從 Amazon EC2 管理員取得認證。", + "admin.image.amazonS3SecretExample": "如:\"jcuS8PuvcpGhpgHhlcpT1Mx42pnqMxQY\"", + "admin.image.amazonS3SecretTitle": "Amazon S3 Secret 存取金鑰:", + "admin.image.localDescription": "檔案跟圖片寫入的目錄。如果留白則預設為 ./data/。", + "admin.image.localExample": "如:\"./data/\"", + "admin.image.localTitle": "本地儲存目錄:", + "admin.image.maxFileSizeDescription": "最大所容許的訊息附件檔案大小(MB)。注意:請確認伺服器記憶體能夠承受設定。大檔案會增加伺服器崩潰以及由於網路問題而上傳失敗的風險。", + "admin.image.maxFileSizeExample": "50", + "admin.image.maxFileSizeTitle": "最大檔案大小:", + "admin.image.previewHeightDescription": "預覽圖最大高度(\"0\":自動)。改變這個值只會改變之後的圖片如何顯示,但不會改變以前的圖片。", + "admin.image.previewHeightExample": "如:\"0\"", + "admin.image.previewHeightTitle": "預覽圖片高:", + "admin.image.previewWidthDescription": "預覽圖最大寬度。改變這個值只會改變之後的圖片如何顯示,但不會改變以前的圖片。", + "admin.image.previewWidthExample": "如:\"1024\"", + "admin.image.previewWidthTitle": "預覽圖片寬:", + "admin.image.profileHeightDescription": "個人圖像的高度。", + "admin.image.profileHeightExample": "如:\"0\"", + "admin.image.profileHeightTitle": "個人圖像高:", + "admin.image.profileWidthDescription": "個人圖像的寬度。", + "admin.image.profileWidthExample": "如:\"1024\"", + "admin.image.profileWidthTitle": "個人圖像寬:", + "admin.image.publicLinkDescription": "32字元的 Salt 用來簽署公開的圖片連結。於安裝時隨機產生。按\"重新產生\"建立新的 Salt。", + "admin.image.publicLinkExample": "如:\"gxHVDcKUyP2y1eiyW8S8na1UYQAfq6J6\"", + "admin.image.publicLinkTitle": "公開連結的 Salt:", + "admin.image.shareDescription": "允許使用者分享檔案與照片的公開連結。", + "admin.image.shareTitle": "啟用公開檔案連結:", + "admin.image.storeAmazonS3": "Amazon S3", + "admin.image.storeDescription": "檔案跟圖片所存放的儲存系統。

    選擇 \"Amazon S3\" 會啟用對應欄位以填入 Amazon 的認證跟儲存貯體的詳細資料。

    選擇 \"本地檔案系統\" 會啟用對應欄位以填入本地檔案目錄。", + "admin.image.storeLocal": "本地端檔案系統", + "admin.image.storeTitle": "檔案儲存系統:", + "admin.image.thumbHeightDescription": "上傳圖片的縮圖高度。改變這個值只會改變之後的縮圖如何顯示,但不會改變以前的縮圖。", + "admin.image.thumbHeightExample": "如:\"100\"", + "admin.image.thumbHeightTitle": "附件檔案縮圖高:", + "admin.image.thumbWidthDescription": "上傳圖片的縮圖寬度。改變這個值只會改變之後的縮圖如何顯示,但不會改變以前的縮圖。", + "admin.image.thumbWidthExample": "如:\"120\"", + "admin.image.thumbWidthTitle": "附加檔案縮圖寬:", + "admin.integrations.custom": "自訂整合", + "admin.integrations.external": "外部服務", + "admin.integrations.webrtc": "Mattermost WebRTC", + "admin.ldap.baseDesc": "BaseDN 是 Mattermost 在 AD/LDAP 樹搜尋使用者的起始點的識別名。", + "admin.ldap.baseEx": "如:\"ou=Unit Name,dc=corp,dc=example,dc=com\"", + "admin.ldap.baseTitle": "BaseDN:", + "admin.ldap.bindPwdDesc": "\"綁定使用者名稱\"的密碼:", + "admin.ldap.bindPwdTitle": "綁定密碼:", + "admin.ldap.bindUserDesc": "AD/LDAP 搜尋時使用的使用者名稱。一般這應該是一個專為 Mattermost 而建的帳號。這帳號應該被限制為只能讀取被 BaseDN 欄位所限定的 AD/LDAP 樹。", + "admin.ldap.bindUserTitle": "綁定使用者名稱:", + "admin.ldap.emailAttrDesc": "用於設定 Mattermost 使用者電子郵件位址的 AD/LDAP 伺服器屬性。", + "admin.ldap.emailAttrEx": "如:\"mail\"或\"userPrincipalName\"", + "admin.ldap.emailAttrTitle": "電子郵件位址屬性:", + "admin.ldap.enableDesc": "啟用時,Mattermost 允許使用 AD/LDAP 登入", + "admin.ldap.enableTitle": "啟用 AD/LDAP 登入:", + "admin.ldap.firstnameAttrDesc": "(非必須) 用於設定 Mattermost 使用者名字的 AD/LDAP 伺服器屬性。當設定之後由於將會跟 LDAP 伺服器同步名字,使用者將無法編輯。留白時使用者可以在帳號設定中設定他們自己的名字。", + "admin.ldap.firstnameAttrEx": "如:\"givenName\"", + "admin.ldap.firstnameAttrTitle": "名字屬性", + "admin.ldap.idAttrDesc": "此屬性在 AD/LDAP 伺服器上的值將會被用做 Mattermost 裡獨特、唯一的識別值。此屬性應該選用不會變更的屬性,例如使用者名稱 或 uid。如果一個使用者的這個屬性值有所變更,Mattermost 將會根據新值建立一個跟原本帳戶無關的新帳戶。這將是未來使用者在 Mattermost 登入頁面所要填入\"AD/LDAP 使用者名稱\"欄位的值。通常此屬性設定成與上面的\"用戶名稱\"屬性相同。如果您的團隊習慣用 domain\\\\username 登入其他使用 AD/LDAP 認證的服務,最好在本欄位填入 domain\\\\username 以保持一致性。", + "admin.ldap.idAttrEx": "如:\"sAMAccountName\"", + "admin.ldap.idAttrTitle": "ID 的屬性:", + "admin.ldap.lastnameAttrDesc": "(非必須) 用於設定 Mattermost 使用者姓氏的 AD/LDAP 伺服器屬性。當設定之後由於將會跟 LDAP 伺服器同步姓氏,使用者將無法編輯。留白時使用者可以在帳號設定中設定他們自己的姓氏。", + "admin.ldap.lastnameAttrEx": "如:\"sn\"", + "admin.ldap.lastnameAttrTitle": "姓氏屬性:", + "admin.ldap.ldap_test_button": "AD/LDAP Test", + "admin.ldap.loginNameDesc": "顯示在登入頁面上登入欄位的提示字。預設為\"AD/LDAP 使用者名稱\"。", + "admin.ldap.loginNameEx": "如:\"AD/LDAP 使用者名稱\"", + "admin.ldap.loginNameTitle": "登入欄位名:", + "admin.ldap.maxPageSizeEx": "如:\"2000\"", + "admin.ldap.maxPageSizeHelpText": "Mattermost 向 AD/LDAP 伺服器請求使用者資料時單次最多的數量。0表示無上限。", + "admin.ldap.maxPageSizeTitle": "最大分頁大小:", + "admin.ldap.nicknameAttrDesc": "(非必須) 用於設定 Mattermost 使用者暱稱的 AD/LDAP 伺服器屬性。當設定之後由於將會跟 LDAP 伺服器同步暱稱,使用者將無法編輯。留白時使用者可以在帳號設定中設定他們自己的暱稱。", + "admin.ldap.nicknameAttrEx": "如:\"nickname\"", + "admin.ldap.nicknameAttrTitle": "匿稱的屬性:", + "admin.ldap.noLicense": "

    註:

    AD/LDAP 為企業授權功能,您的授權不支援 AD/LDAP。按這裡查看企業授權資訊與價格。

    ", + "admin.ldap.portDesc": "Masttermost 連接 AD/LDAP 伺服器的連接埠。預設為389。", + "admin.ldap.portEx": "如:\"389\"", + "admin.ldap.portTitle": "AD/LDAP 連接埠:", + "admin.ldap.positionAttrDesc": "(非必須) 用於設定 Mattermost 職位的 AD/LDAP 伺服器屬性。", + "admin.ldap.positionAttrEx": "如:\"title\"", + "admin.ldap.positionAttrTitle": "職位屬性:", + "admin.ldap.queryDesc": "查詢 AD/LDAP 伺服器的逾時設定。如果因為 AD/LDAP 伺服器太慢而出現逾時錯誤,請加大其值。", + "admin.ldap.queryEx": "如:\"60\"", + "admin.ldap.queryTitle": "查詢逾時設定(秒):", + "admin.ldap.serverDesc": "AD/LDAP 伺服器的網域或 IP 位址。", + "admin.ldap.serverEx": "如:\"10.0.0.23\"", + "admin.ldap.serverTitle": "AD/LDAP 伺服器:", + "admin.ldap.skipCertificateVerification": "跳過驗證憑證:", + "admin.ldap.skipCertificateVerificationDesc": "TLS 或 STARTTLS 連線時跳過驗證憑證。不建議使用於需要 TLS 的正式環境。測試用設定。", + "admin.ldap.syncFailure": "同步失敗:{error}", + "admin.ldap.syncIntervalHelpText": "AD/LDAP 同步更新 Mattermost 使用者資料以反應 AD/LDAP 伺服器上的變更。舉例來說,當 AD/LDAP 伺服器上一個使用者名字改變時,在執行同步的時候這個改變會更新 Mattermost。在 AD/LDAP 伺服器上被移除或是停用的帳號,其對應的 Mattermost 帳號會被設定成“停用”,並且撤銷帳號的工作階段。Mattermost 根據輸入的間隔執行同步。如,如果輸入60,Mattermost將會每60分鐘同步一次。", + "admin.ldap.syncIntervalTitle": "同步間隔(分):", + "admin.ldap.syncNowHelpText": "立刻開始 AD/LDAP 同步。", + "admin.ldap.sync_button": "開始 AD/LDAP 同步", + "admin.ldap.testFailure": "AD/LDAP 測試失敗:{error}", + "admin.ldap.testHelpText": "測試 Mattermost 與 AD/LDAP 伺服器間的連線。如需詳細錯誤訊息,請參閱紀錄檔案。", + "admin.ldap.testSuccess": "AD/LDAP Test Successful", + "admin.ldap.uernameAttrDesc": "用於設定 Mattermost 使用者名稱的 AD/LDAP 伺服器屬性。這有可能跟 ID 為同一個屬性。", + "admin.ldap.userFilterDisc": "(非必須)輸入 AD/LDAP 過濾條件用來搜尋使用者。只有該條件找出來的用戶可以存取 Mattermost。對 Active Directory,排除被關閉的使用者的條件為 (&(objectCategory=Person)(!(UserAccountControl:1.2.840.113556.1.4.803:=2)))。", + "admin.ldap.userFilterEx": "例如:\"(objectClass=user)\"", + "admin.ldap.userFilterTitle": "使用者過濾條件:", + "admin.ldap.usernameAttrEx": "如:\"sAMAccountName\"", + "admin.ldap.usernameAttrTitle": "使用者名稱的屬性:", + "admin.license.choose": "選擇檔案", + "admin.license.chooseFile": "選擇檔案", + "admin.license.edition": "版本:", + "admin.license.key": "授權金鑰:", + "admin.license.keyRemove": "移除企業授權並降級伺服器", + "admin.license.noFile": "未上傳任何檔案", + "admin.license.removing": "授權移除中...", + "admin.license.title": "版本與授權", + "admin.license.type": "授權:", + "admin.license.upload": "上傳", + "admin.license.uploadDesc": "上傳授權金鑰讓 Mattermost 升級本機為企業版。造訪我們瞭解更多企業版的優點或採購授權金鑰。", + "admin.license.uploading": "上傳授權中...", + "admin.log.consoleDescription": "正式環境一般設為停用。開發者可以將此設為開啟以根據控制台記錄等級輸出記錄到控制台。開啟時伺服器會將訊息寫到標準輸出(stdout)。", + "admin.log.consoleTitle": "輸出記錄到主控台:", + "admin.log.enableDiagnostics": "啟用診斷與錯誤報告:", + "admin.log.enableDiagnosticsDescription": "啟用此功能以傳送錯誤報告以及診斷訊息給 Mattermost 公司用以改進 Mattermost 的效能跟品質。如需關於隱私政策的詳細資訊,請至 隱私政策。", + "admin.log.enableWebhookDebugging": "啟用 Webhook 除錯:", + "admin.log.enableWebhookDebuggingDescription": "停用這個會停止對於所有傳入的 Webhook 要求內容的除錯記錄。", + "admin.log.fileDescription": "正式環境一般為啟用。啟用時,記錄檔案會輸出至下面的檔案位置欄位所指定的位置。", + "admin.log.fileLevelDescription": "此設定決定怎樣的事件才會輸出到記錄檔案。ERROR:只輸出錯誤訊息。INFO:輸出錯誤訊息以及啟動跟初始化前後的訊息。DEBUG:輸出各種細節以便開發者除錯。", + "admin.log.fileLevelTitle": "檔案記錄等級:", + "admin.log.fileTitle": "輸出記錄到檔案:", + "admin.log.formatDateLong": "日期 (2006/01/02)", + "admin.log.formatDateShort": "日期 (01/02/06)", + "admin.log.formatDescription": "記錄訊息輸出格式(若空白則設為 \"[%D %T] [%L] %M\"):", + "admin.log.formatLevel": "等級 (DEBG, INFO, EROR)", + "admin.log.formatMessage": "訊息", + "admin.log.formatPlaceholder": "輸入檔案格式", + "admin.log.formatSource": "來源", + "admin.log.formatTime": "時間 (15:04:05 MST)", + "admin.log.formatTitle": "記錄檔案格式:", + "admin.log.levelDescription": "本設定決定記錄輸出到控制台的等級,ERROR:只輸出錯誤訊息。INFO:輸出錯誤訊息與啟動到初始化的訊息。 DEBUG:輸出開發時除錯的一切相關訊息。", + "admin.log.levelTitle": "控制台記錄等級:", + "admin.log.locationDescription": "記錄的輸出檔案。若留白則設為 ./logs/mattermost,輸出記錄到 ./logs/mattermost.log 檔案。記錄會自動輪替。每一萬行記錄會寫入同目錄的新檔,例如 mattermost.2015-09-23.001、mattermost.2015-09-23.002 等等。", + "admin.log.locationPlaceholder": "輸入檔案位置", + "admin.log.locationTitle": "記錄檔案目錄:", + "admin.log.logSettings": "記錄檔設定值", + "admin.logs.reload": "重新載入", + "admin.logs.title": "主機記錄", + "admin.metrics.enableDescription": "啟用時,Mattermost 會啟用效能監視的收集與分析。詳細如何設定 Mattermost 的效能監視,請參閱文件。", + "admin.metrics.enableTitle": "啟用效能監視:", + "admin.metrics.listenAddressDesc": "伺服器將監聽以公開效能計量值的位址。", + "admin.metrics.listenAddressEx": "如:\":8065\"", + "admin.metrics.listenAddressTitle": "監聽位址:", + "admin.mfa.bannerDesc": "使用 AD/LDAP 或 電子郵件登入的帳號可以使用多重要素驗證。如果使用了其他登入方式,多重要素驗證必須要在認證提供者處設定。", + "admin.mfa.cluster": "高", + "admin.mfa.title": "多重要素驗證", + "admin.nav.help": "說明", + "admin.nav.logout": "登出", + "admin.nav.report": "回報錯誤", + "admin.nav.switch": "選擇團隊", + "admin.notifications.email": "電子郵件", + "admin.notifications.push": "行動推播", + "admin.notifications.title": "通知設定", + "admin.oauth.gitlab": "GitLab", + "admin.oauth.google": "Google Apps", + "admin.oauth.off": "不允許經由 OAuth 2.0 提供者登入", + "admin.oauth.office365": "Office 365 (Beta)", + "admin.oauth.providerDescription": "啟用時,Mattermost 將可以作為一個 OAuth 2.0 服務提供者以授權外部應用程式的 API 要求。詳請參閱文件。", + "admin.oauth.providerTitle": "啟用 OAuth 2.0 服務提供者:", + "admin.oauth.select": "選擇 OAuth 2.0 服務提供者:", + "admin.office365.EnableHtmlDesc": "
    1. 登入 Microsoft 或 Office 365 帳號。請確定該帳號跟其他使用者的登入帳號在同一個租用戶下。
    2. 前往 https://apps.dev.microsoft.com,按 前往應用程式列表 > 新增應用程式 並用 \"Mattermost - 您的公司名稱\" 作為應用程式名稱
    3. 應用程式密碼 下,按 產生新密碼 並黏貼至底下的應用程式密碼欄位。
    4. 平台 下,按 新增平台 選擇 Web 並在 重新導向 URI 欄位輸入 您的-mattermost-網址/signup/office365/complete (如:http://localhost:8065/signup/office365/complete)。同時取消 允許隱含流程
    5. 最後,按下 儲存 並貼上底下的應用程式識別碼欄位。
    ", + "admin.office365.authTitle": "認證端點:", + "admin.office365.clientIdDescription": "在 Microsoft 註冊應用程式時收到的應用程式/用戶端識別碼。", + "admin.office365.clientIdExample": "如:\"adf3sfa2-ag3f-sn4n-ids0-sh1hdax192qq\"", + "admin.office365.clientIdTitle": "應用程式識別碼:", + "admin.office365.clientSecretDescription": "在 Microsoft 註冊應用程式時收到的應用程式密碼。", + "admin.office365.clientSecretExample": "如:\"shAieM47sNBfgl20f8ci294\"", + "admin.office365.clientSecretTitle": "應用程式密碼:", + "admin.office365.tokenTitle": "Token 端點:", + "admin.office365.userTitle": "使用者 API 端點:", + "admin.password.lowercase": "至少一個小寫英文字母", + "admin.password.minimumLength": "密碼最短長度:", + "admin.password.minimumLengthDescription": "有效密碼所應有的最少字元數目。必須是大於或等於{min}且小於或等於{max}的整數。", + "admin.password.minimumLengthExample": "如:\"5\"", + "admin.password.number": "至少一個數字", + "admin.password.preview": "錯誤訊息預覽", + "admin.password.requirements": "密碼要求:", + "admin.password.requirementsDescription": "有效密碼所應有的字元類型。", + "admin.password.symbol": "至少一個符號(\"~!@#$%^&*()\")", + "admin.password.uppercase": "至少一個大寫英文字母", + "admin.privacy.showEmailDescription": "選擇否時,對系統管理員以外的所有人隱藏成員的電子郵件位址", + "admin.privacy.showEmailTitle": "顯示電子郵件地址:", + "admin.privacy.showFullNameDescription": "選擇否時,對系統管理員以外的所有人隱藏成員的全名。顯示全名處改為顯示使用者名稱。", + "admin.privacy.showFullNameTitle": "顯示全名:", + "admin.purge.button": "清除所有快取", + "admin.purge.loading": " 載入中...", + "admin.purge.purgeDescription": "這將會清除記憶體中所有的快取資料,如工作階段、帳號、頻道等等。高可用性下的佈署將會嘗試清除叢集裡所有伺服器的快取。 清除快取可能會嚴重影響效能。", + "admin.purge.purgeFail": "清除失敗:{error}", + "admin.rate.enableLimiterDescription": "若啟用,API 使用頻率會被限制成下面所指定的值。", + "admin.rate.enableLimiterTitle": "啟用張貼頻率限制:", + "admin.rate.httpHeaderDescription": "當有內容的時候,會根據內容指定的 HTTP 標頭欄位(如 NGINX的情況設定 \"X-Real-IP\"、AmazonELB的情況設定\"X-Forwarded-For\")改變張貼頻率限制。", + "admin.rate.httpHeaderExample": "如:\"X-Real-IP\", \"X-Forwarded-For\"", + "admin.rate.httpHeaderTitle": "根據 HTTP 標頭改變張貼頻率限制:", + "admin.rate.maxBurst": "最大高載值:", + "admin.rate.maxBurstDescription": "允許暫時超過每秒查詢限制的最大要求數量。", + "admin.rate.maxBurstExample": "如:\"100\"", + "admin.rate.memoryDescription": "能連到此系統的最大使用者工作階段數由下面\"根據遠端位址改變張貼頻率限制\"跟\"根據 HTTP 標頭改變張貼頻率限制\"設定所決定", + "admin.rate.memoryExample": "如:\"10000\"", + "admin.rate.memoryTitle": "記憶體儲存體大小:", + "admin.rate.noteDescription": "變更此段落的設定值必須重啟伺服器以生效。", + "admin.rate.noteTitle": "註:", + "admin.rate.queriesDescription": "限制 API 使用速率為每秒\"這邊指定的數量\"次要求。", + "admin.rate.queriesExample": "如:\"10\"", + "admin.rate.queriesTitle": "每秒最多查詢數量:", + "admin.rate.remoteDescription": "若啟用,則根據 IP 位址限制 API 使用速率。", + "admin.rate.remoteTitle": "根據遠端位址改變發文頻率限制:", + "admin.rate.title": "張貼速率限制設定", + "admin.recycle.button": "回收資料庫連線", + "admin.recycle.loading": " 回收中...", + "admin.recycle.recycleDescription": "在使用多個資料庫的情況下,可以經由修改\"config.json\"、在伺服器啟動的時候執行設定 > 重新從磁碟載入設定,來在無須重啟伺服器之下切換主要資料庫。系統管理員應該執行回收資料庫連線以根據新的設定回收資料庫連線。", + "admin.recycle.reloadFail": "回收失敗:{error}", + "admin.regenerate": "重新產生", + "admin.reload.button": "重新從磁碟載入設定", + "admin.reload.loading": " 載入中...", + "admin.reload.reloadDescription": "在使用多個資料庫的情況下,可以經由修改\"config.json\"、在伺服器啟動的時候執行重新從磁碟載入設定,來在無須重啟伺服器之下切換主要資料庫。系統管理員應該執行資料庫 > 回收資料庫連線以根據新的設定回收資料庫連線。", + "admin.reload.reloadFail": "重新載入失敗:{error}", + "admin.reset_password.close": "關閉", + "admin.reset_password.newPassword": "新密碼", + "admin.reset_password.select": "選擇", + "admin.reset_password.submit": "請輸入至少{chars}個字。", + "admin.reset_password.titleReset": "重置密碼", + "admin.reset_password.titleSwitch": "切換帳戶到電子郵件地址/密碼", + "admin.saml.assertionConsumerServiceURLDesc": "輸入 https://<您的 mattermost 網址>/login/sso/saml。請根據伺服器設定選擇 HTTP 或 HTTPS。此欄位又被稱為宣告取用者服務網址。", + "admin.saml.assertionConsumerServiceURLEx": "如:\"https://<您的 mattermost 網址>/login/sso/saml\"", + "admin.saml.assertionConsumerServiceURLTitle": "服務提供者登入網址:", + "admin.saml.bannerDesc": "SAML 伺服器中的使用者屬性將在使用者登入時於 Mattermost 更新,包括移除或停用使用者。詳請參閱 https://docs.mattermost.com/deployment/sso-saml.html", + "admin.saml.emailAttrDesc": "用於設定 Mattermost 使用者電子郵件位址的 SAML 宣告屬性。", + "admin.saml.emailAttrEx": "如:\"Email\"或\"PrimaryEmail\"", + "admin.saml.emailAttrTitle": "電子郵件位址屬性:", + "admin.saml.enableDescription": "啟用時,Mattermost 允許用 SAML 登入。詳細如何設定 Mattermost 和 SAML,請參閱文件。", + "admin.saml.enableTitle": "啟用 SAML 登入:", + "admin.saml.encryptDescription": "啟用時,Mattermost 會解密利用您的服務提供者的公開憑證所加密的 SAML 宣告。", + "admin.saml.encryptTitle": "啟用加密:", + "admin.saml.firstnameAttrDesc": "(非必須) 用於設定 Mattermost 使用者名字的 SAML 宣告屬性。", + "admin.saml.firstnameAttrEx": "如:\"FirstName\"", + "admin.saml.firstnameAttrTitle": "名字屬性:", + "admin.saml.idpCertificateFileDesc": "身分識別提供者所簽發的公開認證憑證。", + "admin.saml.idpCertificateFileRemoveDesc": "移除身分識別提供者所簽發的公開認證憑證。", + "admin.saml.idpCertificateFileTitle": "身分識別提供者公開憑證:", + "admin.saml.idpDescriptorUrlDesc": "身分識別提供者進行 SAML 要求用的核發者網址。", + "admin.saml.idpDescriptorUrlEx": "如:\"https://idp.example.org/SAML2/issuer\"", + "admin.saml.idpDescriptorUrlTitle": "身分識別提供者核發者網址:", + "admin.saml.idpUrlDesc": "Mattermost 發送 SAML 要求以開始登入程序的網址。", + "admin.saml.idpUrlEx": "如:\"https://idp.example.org/SAML2/SSO/Login\"", + "admin.saml.idpUrlTitle": "SAML SSO 網址:", + "admin.saml.lastnameAttrDesc": "(非必須) 用於設定 Mattermost 使用者姓氏的 SAML 宣告屬性。", + "admin.saml.lastnameAttrEx": "如:\"LastName\"", + "admin.saml.lastnameAttrTitle": "姓氏屬性:", + "admin.saml.localeAttrDesc": "(非必須) 用於設定 Mattermost 使用者暱稱的 SAML 宣告屬性。", + "admin.saml.localeAttrEx": "如:\"Locale\" 或 \"PrimaryLanguage\"", + "admin.saml.localeAttrTitle": "偏好語言屬性:", + "admin.saml.loginButtonTextDesc": "(非必須) 登入頁面登入按鈕上的文字。預設為\"With SAML\"。", + "admin.saml.loginButtonTextEx": "如:\"With OKTA\"", + "admin.saml.loginButtonTextTitle": "登入按鈕文字:", + "admin.saml.nicknameAttrDesc": "(非必須) 用於設定 Mattermost 使用者暱稱的 SAML 宣告屬性。", + "admin.saml.nicknameAttrEx": "如:\"Nickname\"", + "admin.saml.nicknameAttrTitle": "匿稱的屬性:", + "admin.saml.positionAttrDesc": "(非必須) 用於設定 Mattermost 使用者職位的 SAML 宣告屬性。", + "admin.saml.positionAttrEx": "如:\"Role\"", + "admin.saml.positionAttrTitle": "職位屬性:", + "admin.saml.privateKeyFileFileDesc": "用以解密來自身份識別提供者的 SAML 宣告的私鑰。", + "admin.saml.privateKeyFileFileRemoveDesc": "移除用以解密來自身份識別提供者的 SAML 宣告的私鑰。", + "admin.saml.privateKeyFileTitle": "服務提供者私鑰:", + "admin.saml.publicCertificateFileDesc": "當使用 Mattermost 作為身份識別提供者,在初始化 SAML 的登入要求時會使用此憑證來產生簽章。", + "admin.saml.publicCertificateFileRemoveDesc": "當使用 Mattermost 作為身份識別提供者,在初始化 SAML 的登入要求時會使用此憑證來產生簽章。移除該憑證。", + "admin.saml.publicCertificateFileTitle": "服務提供者公開憑證:", + "admin.saml.remove.idp_certificate": "移除身份識別提供者憑證", + "admin.saml.remove.privKey": "移除服務提供者私鑰", + "admin.saml.remove.sp_certificate": "移除服務提供者憑證", + "admin.saml.removing.certificate": "移除憑證中...", + "admin.saml.removing.privKey": "移除私鑰中...", + "admin.saml.uploading.certificate": "上傳憑證中...", + "admin.saml.uploading.privateKey": "上傳私鑰中...", + "admin.saml.usernameAttrDesc": "用於設定 Mattermost 使用者名稱的 SAML 宣告屬性。", + "admin.saml.usernameAttrEx": "如:\"Username\"", + "admin.saml.usernameAttrTitle": "使用者名稱的屬性:", + "admin.saml.verifyDescription": "啟用時,Mattermost 會核對 SAML 回應中的簽章跟服務提供者登入網址一致", + "admin.saml.verifyTitle": "核對簽章:", + "admin.save": "儲存", + "admin.saving": "儲存設定...", + "admin.security.connection": "連線", + "admin.security.inviteSalt.disabled": "當寄送電子郵件被停用時,無法更改邀請 Salt。", + "admin.security.login": "登入", + "admin.security.password": "密碼", + "admin.security.passwordResetSalt.disabled": "當寄送電子郵件被停用時,無法更改密碼重置 Salt 。", + "admin.security.public_links": "公開連結", + "admin.security.requireEmailVerification.disabled": "當寄送電子郵件被停用時,無法更改驗證電子郵件設定。", + "admin.security.session": "工作階段", + "admin.security.signup": "註冊", + "admin.select_team.close": "關閉", + "admin.select_team.select": "選擇", + "admin.select_team.selectTeam": "選擇團隊", + "admin.service.attemptDescription": "於幾次登入失敗之後鎖定使用者,並要求使用者經由電子郵件重設密碼。", + "admin.service.attemptExample": "如:\"10\"", + "admin.service.attemptTitle": "最大登入嘗試次數:", + "admin.service.cmdsDesc": "啟用時,允許自訂斜線命令。請參閱文件。", + "admin.service.cmdsTitle": "啟用自訂斜線命令:", + "admin.service.corsDescription": "允許從特定的網域進行 HTTP 跨站請求。輸入\"*\" 開放所有網域的跨站請求,不輸入則不允許任何跨站請求。", + "admin.service.corsEx": "http://example.com", + "admin.service.corsTitle": "允許來自下列網址的跨站請求:", + "admin.service.developerDesc": "啟用時,Javascript 錯誤會顯示在使用者界面頂端上的紅色橫欄。不建議在正式環境中使用。", + "admin.service.developerTitle": "啟用開發者模式:", + "admin.service.enforcMfaTitle": "強制使用多重要素驗證:", + "admin.service.enforceMfaDesc": "啟用時,登入必須使用多重要素驗證。新的使用者將會在登錄時被要求設定多重要素驗證。已登入但沒有設定多重要素驗證的使用者將會被重新導向至多重要素驗證設定頁面直到完成設定為止。

    如果使用了 AD/LDAP 與電子郵件以外的登入方式,多重要素驗證必須要在認證提供者處設定。 ", + "admin.service.forward80To443": "轉送80通訊埠至443:", + "admin.service.forward80To443Description": "轉送所有經由80通訊埠的不安全連線至安全的443通訊埠", + "admin.service.googleDescription": "設定此金鑰以啟用顯示內嵌預覽 YouTube 影片的標題。即使沒有金鑰,訊息或註解有連結一樣會建立 YouTube 影片預覽,但是這些預覽無法顯示影片標題。請看 Google Developers Tutorial 的指示以取得金鑰。", + "admin.service.googleExample": "例:\"7rAh6iwQCkV4cA1Gsg3fgGOXJAQ43QV\"", + "admin.service.googleTitle": "Google API 金鑰:", + "admin.service.iconDescription": "啟用時,將允許 Webhook 以及斜線命令還有其他整合功能 (如 Zapier) 修改發文時的圖示。註:此功能跟允許覆蓋使用者名稱並用時有導致釣魚攻擊的可能性。", + "admin.service.iconTitle": "允許外部整合功能置換個人圖像:", + "admin.service.insecureTlsDesc": "允許時,所有的對外 HTTPS 請求將會接受未驗證、自簽章的憑證。如:將允許傳出的 Webhook 連至任意網域下使用自簽章的 TLS 憑證的伺服器。註:這樣將產生中間人攻擊的危險性。", + "admin.service.insecureTlsTitle": "啟用不安全的對外連線:", + "admin.service.integrationAdmin": "限制只有管理員能管理外部整合:", + "admin.service.integrationAdminDesc": "啟用時,Webhook 跟斜線命令將只有團隊與系統管理員能夠建立、編輯跟觀看,OAuth 2.0 應用程式將只有系統管理員能夠操作。外部整合在被管理員建立之後將會對所有使用者開放。", + "admin.service.letsEncryptCertificateCacheFile": "Let's Encrypt 憑證快取檔案:", + "admin.service.letsEncryptCertificateCacheFileDescription": "取得的憑證以及其他關於 Let's Encrypt 服務的資料將會儲存於這個檔案。", + "admin.service.listenAddress": "監聽位址:", + "admin.service.listenDescription": "綁定並監聽的位址與通訊埠。輸入\":8065\"會跟所有的網路界面綁定。輸入\"127.0.0.1:8065\"會僅與擁有該 IP 位址的網路界面綁定。如果選取了較低的通訊埠(稱為\"系統通訊埠\"或是\"常見通訊埠\",介於 0 到 1023 之間),您必須擁有與該通訊埠綁定的權限。在 Linux 上可以用 \"sudo setcap cap_net_bind_service=+ep ./bin/platform\" 來允許 Mattermost 與那些通訊埠綁定。", + "admin.service.listenExample": "如:\":8065\"", + "admin.service.mfaDesc": "啟用時,使用 AD/LDAP 或 電子郵件登入的使用者可以使用 Google Authenticator 將多重要素驗證加入帳號。", + "admin.service.mfaTitle": "啟用多重要素驗證:", + "admin.service.mobileSessionDays": "行動裝置的工作階段長度(以天計):", + "admin.service.mobileSessionDaysDesc": "從使用者最後一次輸入他們的認證到工作階段過期之間的天數。修改設定之後新的工作階段長度會在下次使用者輸入認證之後開始生效。", + "admin.service.outWebhooksDesc": "啟用時,允許傳出的 Webhook。請參閱文件。", + "admin.service.outWebhooksTitle": "啟用傳出的 Webhook:", + "admin.service.overrideDescription": "啟用時,將允許 Webhook 以及斜線命令還有其他整合功能 (如 Zapier) 修改發文時的使用者名稱。註:此功能跟允許覆蓋圖示並用時有導致釣魚攻擊的可能性。", + "admin.service.overrideTitle": "允許外部整合功能置換使用者名稱:", + "admin.service.readTimeout": "讀取逾時:", + "admin.service.readTimeoutDescription": "從連線被接受後到請求主體被完整的讀取之間最多所能使用的時間。", + "admin.service.securityDesc": "啟用時,如果過去12小時內有發布相關的安全性修正,將會寄發通知信給系統管理者。需要啟用電子郵件功能。", + "admin.service.securityTitle": "啟用安全性示警: ", + "admin.service.sessionCache": "工作階段快取有效時間(分):", + "admin.service.sessionCacheDesc": "要將工作階段快取在記憶體中多久(分鐘)。", + "admin.service.sessionDaysEx": "如:\"30\"", + "admin.service.siteURL": "站台網址:", + "admin.service.siteURLDescription": "使用者用來存取 Mattermost 的網址,應包含通訊協定跟連接埠。除非正在通知 > 電子郵件中設定批次郵件,否則此欄位可以留白。留白則會自動根據傳入資料設定。", + "admin.service.siteURLExample": "如:\"https://mattermost.example.com:1234\"", + "admin.service.ssoSessionDays": "SSO 的工作階段長度(以天計):", + "admin.service.ssoSessionDaysDesc": "從使用者最後一次輸入他們的認證到工作階段過期之間的天數。如果認證方式是 SAML 或 GitLab 且他們已經登入 SAML 或 GitLab,使用者將會自動再次登入 Mattermost。修改設定之後新的工作階段長度會在下次使用者輸入認證之後開始生效。", + "admin.service.testingDescription": "啟用時,將啟用 /loadtest 斜線命令,該命令會載入測試帳號、資料以及文字格式。修改此項需要重啟伺服器以生效。", + "admin.service.testingTitle": "啟用測試指令:", + "admin.service.tlsCertFile": "TLS 憑證檔案:", + "admin.service.tlsCertFileDescription": "TLS 將使用的憑證檔案。", + "admin.service.tlsKeyFile": "TLS 金鑰檔案:", + "admin.service.tlsKeyFileDescription": "TLS 將使用的私有金鑰檔案。", + "admin.service.useLetsEncrypt": "使用 Let's Encrypt:", + "admin.service.useLetsEncryptDescription": "啟用自動擷取 Let's Encrypt 的憑證。將會在來自新網域的用戶端嘗試連線時擷取憑證。此功能可以跟多個網域同時運作。", + "admin.service.webSessionDays": "AD/LDAP 和電子郵件的工作階段長度(以天計):", + "admin.service.webSessionDaysDesc": "從使用者最後一次輸入他們的認證到工作階段過期之間的天數。修改設定之後新的工作階段長度會在下次使用者輸入認證之後開始生效。", + "admin.service.webhooksDescription": "啟用時,允許傳入的 Webhook。為了避免釣魚攻擊,所有來自 Webhook 的貼文都會被標上 BOT 標籤。請參閱文件。", + "admin.service.webhooksTitle": "啟用傳出的 Webhook:", + "admin.service.writeTimeout": "寫入逾時:", + "admin.service.writeTimeoutDescription": "如果使用 HTTP (不安全),這是從讀取請求完畢後到寫入回應之間最多所能使用的時間。如果使用 HTTPS,這是從連線被接受後到寫入回應之間最多所能使用的時間。", + "admin.sidebar.addTeamSidebar": "從側邊欄選單加入團隊", + "admin.sidebar.advanced": "進階", + "admin.sidebar.audits": "規範與審計", + "admin.sidebar.authentication": "認證", + "admin.sidebar.cluster": "高可用性 (Beta)", + "admin.sidebar.compliance": "規範", + "admin.sidebar.configuration": "設定", + "admin.sidebar.connections": "連線", + "admin.sidebar.customBrand": "自訂品牌", + "admin.sidebar.customEmoji": "自訂繪文字", + "admin.sidebar.customIntegrations": "自訂整合", + "admin.sidebar.customization": "自訂", + "admin.sidebar.database": "資料庫", + "admin.sidebar.developer": "開發者", + "admin.sidebar.email": "電子郵件", + "admin.sidebar.external": "外部服務", + "admin.sidebar.files": "檔案", + "admin.sidebar.general": "一般", + "admin.sidebar.gitlab": "GitLab", + "admin.sidebar.images": "圖片", + "admin.sidebar.integrations": "整合", + "admin.sidebar.ldap": "AD/LDAP", + "admin.sidebar.legalAndSupport": "法律與支援", + "admin.sidebar.license": "版本與授權", + "admin.sidebar.localization": "語言", + "admin.sidebar.logging": "記錄", + "admin.sidebar.login": "登入", + "admin.sidebar.logs": "記錄", + "admin.sidebar.metrics": "效能監視", + "admin.sidebar.nativeAppLinks": "Mattermost 應用程式連結", + "admin.sidebar.notifications": "通知", + "admin.sidebar.oauth": "OAuth 2.0", + "admin.sidebar.other": "其它", + "admin.sidebar.password": "密碼", + "admin.sidebar.policy": "政策", + "admin.sidebar.privacy": "隱私", + "admin.sidebar.publicLinks": "公開連結", + "admin.sidebar.push": "行動推播", + "admin.sidebar.rateLimiting": "張貼速率限制", + "admin.sidebar.reports": "報告", + "admin.sidebar.rmTeamSidebar": "從側邊欄選單移除團隊", + "admin.sidebar.saml": "SAML", + "admin.sidebar.security": "安全", + "admin.sidebar.sessions": "工作階段", + "admin.sidebar.settings": "設定", + "admin.sidebar.signUp": "註冊", + "admin.sidebar.sign_up": "註冊", + "admin.sidebar.statistics": "團隊統計", + "admin.sidebar.storage": "儲存區", + "admin.sidebar.support": "法律與支援", + "admin.sidebar.teams": "團隊 ({count, number})", + "admin.sidebar.users": "使用者", + "admin.sidebar.usersAndTeams": "使用者與團隊", + "admin.sidebar.view_statistics": "系統統計", + "admin.sidebar.webrtc": "WebRTC (Beta)", + "admin.sidebarHeader.systemConsole": "系統控制台", + "admin.sql.dataSource": "資料來源:", + "admin.sql.driverName": "驅動程式名稱:", + "admin.sql.keyDescription": "32個字元的 Salt 以加密資料庫敏感欄位。", + "admin.sql.keyExample": "如:\"gxHVDcKUyP2y1eiyW8S8na1UYQAfq6J6\"", + "admin.sql.keyTitle": "封存資料的加密金鑰:", + "admin.sql.maxConnectionsDescription": "資料庫最大閒置連線", + "admin.sql.maxConnectionsExample": "如:\"10\"", + "admin.sql.maxConnectionsTitle": "最大閒置連線:", + "admin.sql.maxOpenDescription": "資料庫最大開啟連線。", + "admin.sql.maxOpenExample": "如:\"10\"", + "admin.sql.maxOpenTitle": "最大開啟連線:", + "admin.sql.noteDescription": "變更此段落設定必須重啟伺服器以生效。", + "admin.sql.noteTitle": "註:", + "admin.sql.replicas": "資料來源複本:", + "admin.sql.traceDescription": "(開發模式)若啟用,執行的 SQL 指令會寫入記錄。", + "admin.sql.traceTitle": "Trace:", + "admin.sql.warning": "警告:重新產生 Salt 可能導致某些資料庫欄位回傳空值。", + "admin.support.aboutDesc": "連結到關於頁以取得 Mattermost 的部署資訊,例如關於您組織內部的用戶與用途。預設是連到 Mattermost 的資訊頁面。", + "admin.support.aboutTitle": "關於連結:", + "admin.support.emailHelp": "顯示在電子郵件通知跟教學上給使用者詢問支援問題的電子郵件地址。", + "admin.support.emailTitle": "技術支援信箱:", + "admin.support.helpDesc": "團隊主選單的幫助文件連結。除非您的組織有自己建立文件,不然一般沒有變更的需要。", + "admin.support.helpTitle": "說明連結:", + "admin.support.noteDescription": "若是連到外部網站,網址應以 http:// 或 https:// 起頭:", + "admin.support.noteTitle": "註:", + "admin.support.privacyDesc": "電腦跟手機上所看到的隱私政策連結。這欄留空則不會顯示。", + "admin.support.privacyTitle": "隱私政策連結:", + "admin.support.problemDesc": "團隊主選單的幫助文件連結。預設連往使用者之間互助的論壇。在那邊可以搜尋跟詢問技術相關的問題。", + "admin.support.problemTitle": "回報錯誤連結:", + "admin.support.termsDesc": "連結到使用者使用您的線上服務時的條款。預設情況下這會連到 \"Mattermost 使用條款 (終端使用者)\" 解釋使用者是在怎樣的條款下使用 Mattermost。如果您改變了預設連結以增加自己的條款,新的條款必須包含連往預設條款的連結以讓使用者知道關於 Mattermost 軟體的使用條款。", + "admin.support.termsTitle": "服務條款連結:", + "admin.system_analytics.activeUsers": "有發文的活躍使用者", + "admin.system_analytics.title": "系統", + "admin.system_analytics.totalPosts": "全部發文", + "admin.team.brandDesc": "啟動自訂品牌,下面上傳的圖片跟寫下的文字會顯示在登入頁面。", + "admin.team.brandDescriptionExample": "團隊溝通皆在同處,隨時隨地皆可搜尋與存取。", + "admin.team.brandDescriptionHelp": "登入畫面跟使用者界面上顯示的服務描述。當沒有設定時將會顯示 \"團隊溝通皆在同處,隨時隨地皆可搜尋與存取。\"。", + "admin.team.brandDescriptionTitle": "站台敘述:", + "admin.team.brandImageTitle": "自訂品牌圖片:", + "admin.team.brandTextDescription": "顯示在登入畫面中自訂品牌圖片下方的文字。可使用 Markdown 以設定文字樣式與排版。最多允許 500 個字元。", + "admin.team.brandTextTitle": "自訂品牌文字:", + "admin.team.brandTitle": "啟用自訂品牌:", + "admin.team.chooseImage": "選擇新圖", + "admin.team.dirDesc": "啟用時,設定為顯示在團隊列表的團隊將會顯示在主頁並取代原本建立團隊的位置。", + "admin.team.dirTitle": "啟用團隊列表:", + "admin.team.maxChannelsDescription": "每個團隊最大頻道數,包含啟用跟被刪除的頻道。", + "admin.team.maxChannelsExample": "如:\"100\"", + "admin.team.maxChannelsTitle": "團隊最大頻道數:", + "admin.team.maxNotificationsPerChannelDescription": "頻道使用者人數在超過此數量後,由於效能考量,使用者輸入訊息、@all、@here 以及 @channel 將不再發送通知。", + "admin.team.maxNotificationsPerChannelExample": "如:\"1000\"", + "admin.team.maxNotificationsPerChannelTitle": "單一頻道最大通知數:", + "admin.team.maxUsersDescription": "每個團隊最大人數,包含活躍與不活躍的使用者。", + "admin.team.maxUsersExample": "如:\"25\"", + "admin.team.maxUsersTitle": "每個團隊最大人數:", + "admin.team.noBrandImage": "尚未上傳品牌圖片", + "admin.team.openServerDescription": "啟用時,任可人都無需邀請直接註冊帳號。", + "admin.team.openServerTitle": "啟用開放伺服器:", + "admin.team.restrictDescription": "團隊跟使用者帳號只能從特定的網域建立。可以是單個(例:\"mattermost.org\")或是用逗號分隔的網域列表(例:\"corp.mattermost.com, mattermost.org\")。", + "admin.team.restrictDirectMessage": "允許直接訊息的對象為:", + "admin.team.restrictDirectMessageDesc": "'任何 Mattermost 伺服器上的使用者'讓使用者能對任何在這伺服器上的使用者開啟直接訊息頻道,即便他們沒有任何共通的團隊。'任何團隊成員'限制只能對在同一團隊的使用者開啟直接訊息頻道。", + "admin.team.restrictExample": "如:\"corp.mattermost.com, mattermost.org\"", + "admin.team.restrictNameDesc": "若啟用,則無法用如 www, admin, support, test, channel 等保留字建立團隊。", + "admin.team.restrictNameTitle": "限制團隊名稱:", + "admin.team.restrictTitle": "限制僅有特定的電子郵件網域能建立帳號:", + "admin.team.restrict_direct_message_any": "任何 Mattermost 伺服器上的使用者", + "admin.team.restrict_direct_message_team": "任何團隊成員", + "admin.team.siteNameDescription": "顯示於登入畫面與界面上的服務名稱.", + "admin.team.siteNameExample": "如:\"Mattermost\"", + "admin.team.siteNameTitle": "站台名稱:", + "admin.team.teamCreationDescription": "停用時,只有系統管理者能建立團隊。", + "admin.team.teamCreationTitle": "啟用建立團隊::", + "admin.team.upload": "上傳", + "admin.team.uploadDesc": "增加自訂圖片到登入畫面以客製使用者體驗。建議影像檔案小於 2 MB。", + "admin.team.uploaded": "已上傳!", + "admin.team.uploading": "上傳中...", + "admin.team.userCreationDescription": "若停用,則停用建立帳戶功能。按建立帳號按鈕會顯示錯誤。", + "admin.team.userCreationTitle": "啟用建立帳號:", + "admin.team_analytics.activeUsers": "有發文的活躍使用者", + "admin.team_analytics.totalPosts": "全部發文", + "admin.true": "是", + "admin.userList.title": "{team}的使用者", + "admin.userList.title2": "{team} ({count})的使用者", + "admin.user_item.authServiceEmail": "登入方式:電子郵件", + "admin.user_item.authServiceNotEmail": "登入方式:{service}", + "admin.user_item.confirmDemoteDescription": "如果將自己從系統管理員降級且不存在其它有管理員權限的使用者。則必須以終端機方式存取 Mattermost 伺服器並執行下列命令以重新指定新的系統管理員。", + "admin.user_item.confirmDemoteRoleTitle": "確認從系統管理員降級", + "admin.user_item.confirmDemotion": "降級確認", + "admin.user_item.confirmDemotionCmd": "platform roles system_admin {username}", + "admin.user_item.emailTitle": "電子郵件: {email}", + "admin.user_item.inactive": "停用", + "admin.user_item.makeActive": "啟用", + "admin.user_item.makeInactive": "停用", + "admin.user_item.makeMember": "設為成員", + "admin.user_item.makeSysAdmin": "設為系統管理員", + "admin.user_item.makeTeamAdmin": "設為團隊管理員", + "admin.user_item.member": "成員", + "admin.user_item.mfaNo": "多重要素驗證:無", + "admin.user_item.mfaYes": "多重要素驗證:是", + "admin.user_item.resetMfa": "移除多重要素驗證", + "admin.user_item.resetPwd": "重置我的密碼", + "admin.user_item.switchToEmail": "切換帳戶到電子郵件地址/密碼", + "admin.user_item.sysAdmin": "系統管理員", + "admin.user_item.teamAdmin": "團隊管理員", + "admin.webrtc.enableDescription": "啟用時,Mattermost 將可以展開一對一的視訊通話。WebRTC 通話可在 Chrome, Firefox 和 Mattermost 桌面應用程式上使用。", + "admin.webrtc.enableTitle": "啟用 Mattermost WebRTC:", + "admin.webrtc.gatewayAdminSecretDescription": "輸入管理員密碼以存取閘道管理員網址。", + "admin.webrtc.gatewayAdminSecretExample": "如:\"PVRzWNN1Tg6szn7IQWvhpAvLByScWxdy\"", + "admin.webrtc.gatewayAdminSecretTitle": "閘道管理員密碼:", + "admin.webrtc.gatewayAdminUrlDescription": "請輸入 https://:/admin。請根據伺服器設定選擇 HTTP 或 HTTPS。Mattermost WebRTC 將使用此網址來取得有效 Token 用以為每個端點建立連線。", + "admin.webrtc.gatewayAdminUrlExample": "如:\"https://webrtc.mattermost.com:7089/admin\"", + "admin.webrtc.gatewayAdminUrlTitle": "閘道管理員網址:", + "admin.webrtc.gatewayWebsocketUrlDescription": "請輸入 wss://:。請根據伺服器設定選擇 WS 或 WSS。這將是用來在端點間發送訊號以及建立通訊的 Websocket。", + "admin.webrtc.gatewayWebsocketUrlExample": "如:\"wss://webrtc.mattermost.com:8189\"", + "admin.webrtc.gatewayWebsocketUrlTitle": "閘道 Websocket 網址:", + "admin.webrtc.stunUriDescription": "輸入 stun:: 作為 STUN URI。STUN 是個讓位於 NAT 後方的裝置取得公開 IP 位置的標準網路協定。", + "admin.webrtc.stunUriExample": "如:\"stun:webrtc.mattermost.com:5349\"", + "admin.webrtc.stunUriTitle": "STUN URI:", + "admin.webrtc.turnSharedKeyDescription": "輸入 TURN 伺服器共用金鑰。這將用來產生動態密碼以建立連線。每個密碼只在短期內有效。", + "admin.webrtc.turnSharedKeyExample": "如:\"bXdkOWQxc3d0Ynk3emY5ZmsxZ3NtazRjaWg=\"", + "admin.webrtc.turnSharedKeyTitle": "TURN 共用金鑰:", + "admin.webrtc.turnUriDescription": "輸入 turn:: 作為 TURN URI。TURN 是個讓位於對稱性 NAT 後方的裝置透過公開 IP 轉發以建立連線的標準網路協定。", + "admin.webrtc.turnUriExample": "如:\"turn:webrtc.mattermost.com:5349\"", + "admin.webrtc.turnUriTitle": "TURN URI:", + "admin.webrtc.turnUsernameDescription": "如入 TURN 伺服器使用者名稱。", + "admin.webrtc.turnUsernameExample": "如:\"myusername\"", + "admin.webrtc.turnUsernameTitle": "TURN 使用者名稱:", + "admin.webserverModeDisabled": "停用", + "admin.webserverModeDisabledDescription": "Mattermost 不會傳送靜態檔案。", + "admin.webserverModeGzip": "gzip", + "admin.webserverModeGzipDescription": "Mattermost 伺服器將會傳送用 gzip 壓縮過的靜態檔案。", + "admin.webserverModeHelpText": "gzip 壓縮會用於靜態內容檔案。一般建議啟用 gzip 以增進效能,除非環境有特定限制,像是不適合使用 gzip 的網頁代理。", + "admin.webserverModeTitle": "網頁伺服器模式:", + "admin.webserverModeUncompressed": "不壓縮", + "admin.webserverModeUncompressedDescription": "Mattermost 伺服器將會傳送不壓縮的靜態檔案。", + "analytics.chart.loading": "載入中…", + "analytics.chart.meaningful": "沒有足夠有意義的資料可顯示。", + "analytics.system.activeUsers": "有發文的活躍使用者", + "analytics.system.channelTypes": "頻道類型", + "analytics.system.dailyActiveUsers": "每日活躍使用者", + "analytics.system.expiredBanner": "企業版授權將在{date}過期。請在該日起15天內更新授權。詳情請洽commercial@mattermost.com。", + "analytics.system.expiringBanner": "企業版授權將在{date}過期。請洽commercial@mattermost.com以更新授權。", + "analytics.system.monthlyActiveUsers": "每月活躍使用者", + "analytics.system.postTypes": "發文,檔案與#標籤", + "analytics.system.privateGroups": "私人群組", + "analytics.system.publicChannels": "公開頻道", + "analytics.system.skippedIntensiveQueries": "部份統計已被停用以獲得最大的效能。可以在 config.json 中重新啟用它們。詳請參閱 https://docs.mattermost.com/administration/statistics.html", + "analytics.system.textPosts": "以純文字發文", + "analytics.system.title": "系統統計", + "analytics.system.totalChannels": "全部頻道", + "analytics.system.totalCommands": "全部命令", + "analytics.system.totalFilePosts": "發文含檔案", + "analytics.system.totalHashtagPosts": "發文含#標籤", + "analytics.system.totalIncomingWebhooks": "傳入的 Webhook", + "analytics.system.totalMasterDbConnections": "主資料庫連線", + "analytics.system.totalOutgoingWebhooks": "傳出的 Webhook", + "analytics.system.totalPosts": "全部發文", + "analytics.system.totalReadDbConnections": "複本資料庫連線", + "analytics.system.totalSessions": "總工作階段數", + "analytics.system.totalTeams": "全部團隊", + "analytics.system.totalUsers": "全部使用者", + "analytics.system.totalWebsockets": "Websocket 連線", + "analytics.team.activeUsers": "有發文的活躍使用者", + "analytics.team.newlyCreated": "新建的使用者", + "analytics.team.privateGroups": "私人群組", + "analytics.team.publicChannels": "公開頻道", + "analytics.team.recentActive": "最近的活躍使用者", + "analytics.team.recentUsers": "最近的活躍使用者", + "analytics.team.title": "{team}的團隊統計", + "analytics.team.totalPosts": "全部發文", + "analytics.team.totalUsers": "全部使用者", + "api.channel.add_member.added": "{username} 已將 {addedUsername} 加入頻道", + "api.channel.delete_channel.archived": "{username} 已封存頻道。", + "api.channel.join_channel.post_and_forget": "{username} 已加入頻道。", + "api.channel.leave.left": "{username} 已離開頻道。", + "api.channel.post_update_channel_displayname_message_and_forget.updated_from": "{username} 已更新頻道顯示名稱:從 {old} 改為 {new}", + "api.channel.post_update_channel_header_message_and_forget.removed": "{username} 已移除頻道標題(原為:{old})", + "api.channel.post_update_channel_header_message_and_forget.updated_from": "{username} 已更新頻道標題:從 {old} 改為 {new}", + "api.channel.post_update_channel_header_message_and_forget.updated_to": "{username} 已更新頻道標題為:{new}", + "api.channel.remove_member.removed": "{removedUsername} 已被從頻道中移除", + "app.channel.post_update_channel_purpose_message.removed": "{username} 已移除頻道用途(原為:{old})", + "app.channel.post_update_channel_purpose_message.updated_from": "{username} 已更新頻道用途:從 {old} 改為 {new}", + "app.channel.post_update_channel_purpose_message.updated_to": "{username} 已更新頻道用途為:{new}", + "audit_table.accountActive": "啟用帳號", + "audit_table.accountInactive": "停用帳號", + "audit_table.action": "動作", + "audit_table.attemptedAllowOAuthAccess": "嘗試允許新的 OAuth 服務存取", + "audit_table.attemptedLicenseAdd": "嘗試加入新的授權", + "audit_table.attemptedLogin": "嘗試登入", + "audit_table.attemptedOAuthToken": "嘗試取得 OAuth 存取 Token", + "audit_table.attemptedPassword": "嘗試變更密碼", + "audit_table.attemptedRegisterApp": "嘗試以 ID {id}登記一個新的 OAuth 應用程式", + "audit_table.attemptedReset": "嘗試重設密碼", + "audit_table.attemptedWebhookCreate": "嘗試建立 Webhook", + "audit_table.attemptedWebhookDelete": "嘗試刪除 Webhook", + "audit_table.by": "由 {username}", + "audit_table.byAdmin": "由管理員", + "audit_table.channelCreated": "建立 {channelName} 頻道/群組", + "audit_table.channelDeleted": "刪除網址為 {url} 的頻道/群組", + "audit_table.establishedDM": "和 {username} 建立直接訊息頻道", + "audit_table.failedExpiredLicenseAdd": "授權由於過期或未開始,無法新增", + "audit_table.failedInvalidLicenseAdd": "無法新增無效的授權", + "audit_table.failedLogin": "嘗試登入失敗", + "audit_table.failedOAuthAccess": "無法允許新的 OAuth 服務存取 - 重導向位址與先前登記的回呼不一致", + "audit_table.failedPassword": "無法變更密碼 - 用 OAuth 登入的使用者嘗試更新使用者密碼", + "audit_table.failedWebhookCreate": "無法建立 Webhook - 不符頻道權限", + "audit_table.failedWebhookDelete": "無法刪除 Webhook - 不恰當的條件", + "audit_table.headerUpdated": "更新 {channelName} 頻道/群組標題", + "audit_table.ip": "IP 位址", + "audit_table.licenseRemoved": "成功移除授權", + "audit_table.loginAttempt": " (嘗試登入)", + "audit_table.loginFailure": " (登入失敗)", + "audit_table.logout": "登出帳號", + "audit_table.member": "成員", + "audit_table.nameUpdated": "更新 {channelName} 頻道/群組 名稱", + "audit_table.oauthTokenFailed": "無法取得 OAuth 存取 Token - {token}", + "audit_table.revokedAll": "撤消團隊現在所有的工作階段", + "audit_table.sentEmail": "傳送郵件到 {email} 以重設密碼", + "audit_table.session": "工作階段 ID", + "audit_table.sessionRevoked": "已撤消 id 為 {sessionId} 的工作階段", + "audit_table.successfullLicenseAdd": "成功加入新授權", + "audit_table.successfullLogin": "成功登入", + "audit_table.successfullOAuthAccess": "成功讓新的 OAuth 服務存取", + "audit_table.successfullOAuthToken": "成功加入新的 OAuth 服務", + "audit_table.successfullPassword": "成功變更密碼", + "audit_table.successfullReset": "成功重置密碼", + "audit_table.successfullWebhookCreate": "成功建立 Webhook", + "audit_table.successfullWebhookDelete": "成功刪除 Webhook", + "audit_table.timestamp": "時間戳記", + "audit_table.updateGeneral": "已更新帳戶的一般設定", + "audit_table.updateGlobalNotifications": "已更新全域通知設定", + "audit_table.updatePicture": "已更新個人圖像", + "audit_table.updatedRol": "已更新使用者角色為:", + "audit_table.userAdded": "新增用戶 {username} 到 {channelName} 頻道/群組", + "audit_table.userId": "使用者 ID", + "audit_table.userRemoved": "將用戶 {username} 從 {channelName} 頻道/群組 移除", + "audit_table.verified": "已確認電子郵件地址", + "authorize.access": "是否允許 {appName} 存取?", + "authorize.allow": "允許", + "authorize.app": "應用程式 {appName} 想要能夠存取並修改您的基本資料。", + "authorize.deny": "禁止", + "authorize.title": "{appName} 想要連接到您的 Mattermost 使用者帳號", + "backstage_list.search": "搜尋", + "backstage_navbar.backToMattermost": "回到 {siteName}", + "backstage_sidebar.emoji": "自訂繪文字", + "backstage_sidebar.integrations": "整合", + "backstage_sidebar.integrations.commands": "斜線命令", + "backstage_sidebar.integrations.incoming_webhooks": "傳入的 Webhook", + "backstage_sidebar.integrations.oauthApps": "OAuth 2.0 應用程式", + "backstage_sidebar.integrations.outgoing_webhooks": "傳出的 Webhook", + "calling_screen": "撥打中", + "center_panel.recent": "按這裡跳到最新的訊息。", + "change_url.close": "關閉", + "change_url.endWithLetter": "網址必須以字元或數字做結尾", + "change_url.invalidUrl": "錯誤的網址", + "change_url.longer": "網址必須為兩個或兩個以上的字元", + "change_url.noUnderscore": "網址不能包含兩個連續的底線", + "change_url.startWithLetter": "網址必須以字元或數字開頭", + "channelHeader.addToFavorites": "新增至我的最愛", + "channelHeader.removeFromFavorites": "從我的最愛中移除", + "channel_flow.alreadyExist": "該網址的頻道已經存在", + "channel_flow.changeUrlDescription": "有網址不允許使用的字元時會自動移除。", + "channel_flow.changeUrlTitle": "變更 {term} 網址", + "channel_flow.channel": "頻道", + "channel_flow.create": "建立 {term}", + "channel_flow.group": "群組", + "channel_flow.handleTooShort": "頻道網址必須為小寫英數字、至少兩個字元", + "channel_flow.invalidName": "無效的頻道名稱", + "channel_flow.set_url_title": "設定 {term} 網址", + "channel_header.addMembers": "新增成員", + "channel_header.addToFavorites": "新增至我的最愛", + "channel_header.channel": "頻道", + "channel_header.channelHeader": "編輯頻道標題", + "channel_header.delete": "刪除{term}", + "channel_header.flagged": "被標記的訊息", + "channel_header.group": "群組", + "channel_header.leave": "退出{term}", + "channel_header.manageMembers": "成員管理", + "channel_header.notificationPreferences": "通知喜好設定", + "channel_header.recentMentions": "最近提及", + "channel_header.removeFromFavorites": "從我的最愛中移除", + "channel_header.rename": "變更{term}名稱", + "channel_header.setHeader": "編輯{term}標題", + "channel_header.setPurpose": "編輯{term}用途", + "channel_header.viewInfo": "檢視資訊", + "channel_header.viewMembers": "檢視成員", + "channel_header.webrtc.call": "開始視訊通話", + "channel_header.webrtc.offline": "使用者離線中", + "channel_header.webrtc.unavailable": "在當前通訊結束前不能建立新的通訊", + "channel_info.about": "關於", + "channel_info.close": "關閉", + "channel_info.header": "標題:", + "channel_info.id": "ID:", + "channel_info.name": "名字", + "channel_info.notFound": "找不到頻道", + "channel_info.purpose": "用途", + "channel_info.url": "網址:", + "channel_invite.add": "新增", + "channel_invite.addNewMembers": "新增成員到:", + "channel_invite.close": "關閉", + "channel_loader.connection_error": "您的網路似乎有問題。", + "channel_loader.posted": "已發文", + "channel_loader.socketError": "無法連線到 Mattermost。如果問題持續存在,請系統管理員檢查 WebSocket 連接埠。", + "channel_loader.someone": "某人", + "channel_loader.something": " 做了新事", + "channel_loader.unknown_error": "從伺服器收到不在預期內的狀態碼。", + "channel_loader.uploadedFile": " 已上傳一個檔案", + "channel_loader.uploadedImage": " 已上傳一張圖片", + "channel_loader.wrote": " 寫下: ", + "channel_members_dropdown.channel_admin": "頻道管理員", + "channel_members_dropdown.channel_member": "頻道成員", + "channel_members_dropdown.make_channel_admin": "成為頻道管理員", + "channel_members_dropdown.make_channel_member": "成為頻道成員", + "channel_members_dropdown.remove_from_channel": "從頻道中移除", + "channel_members_dropdown.remove_member": "移除成員", + "channel_members_modal.addNew": " 增加新成員", + "channel_members_modal.members": " 成員", + "channel_modal.cancel": "取消", + "channel_modal.channel": "頻道", + "channel_modal.createNew": "建立新的", + "channel_modal.descriptionHelp": "說明{term}如何使用。", + "channel_modal.displayNameError": "此欄位是必需的", + "channel_modal.edit": "編輯", + "channel_modal.group": "群組", + "channel_modal.header": "標題", + "channel_modal.headerEx": "如:\"[連結標題](http://example.com)\"", + "channel_modal.headerHelp": "設定除了{term}名字以外還會顯示在{term}標題的文字。舉例來說,可以輸入 [Link Title](http://example.com) 以顯示常用連結。", + "channel_modal.modalTitle": "新增", + "channel_modal.name": "名字", + "channel_modal.nameEx": "例如:\"Bugs\"、\"市場\"、\"客户支持\"", + "channel_modal.optional": "(非必須)", + "channel_modal.privateGroup1": "建立非開放的私人群組。 ", + "channel_modal.privateGroup2": "建立私人群組", + "channel_modal.publicChannel1": "建立公開頻道", + "channel_modal.publicChannel2": "建立一個人人可加入的頻道。 ", + "channel_modal.purpose": "用途", + "channel_modal.purposeEx": "如:\"用於歸檔錯誤跟改善的頻道\"", + "channel_notification.push": "發送行動推播通知", + "channel_notifications.allActivity": "所有的活動所有的活動", + "channel_notifications.allUnread": "全部的未讀訊息", + "channel_notifications.globalDefault": "系統預設({notifyLevel})", + "channel_notifications.markUnread": "標記頻道為未讀", + "channel_notifications.never": "永不", + "channel_notifications.onlyMentions": "僅限於提及您的", + "channel_notifications.override": "選擇\"預設\"以外會覆蓋系統的通知設定。Firefox、Safari 跟 Chrome可以使用桌面通知。", + "channel_notifications.overridePush": "選擇\"系統預設\"以外的選項將會覆蓋帳號設定中行動推播通知的全域通知設定。推播通知必須由系統管理員啟用。", + "channel_notifications.preferences": "通知喜好設定", + "channel_notifications.sendDesktop": "發送桌面通知", + "channel_notifications.unreadInfo": "當有未讀訊息時,側邊欄的頻道名字會用粗體表示。選擇\"僅限於提及您的\"將只有您被提及的頻道會用粗體。", + "channel_select.placeholder": "--- 選擇頻道 ---", + "channel_switch_modal.dm": "(直接傳訊)", + "channel_switch_modal.failed_to_open": "開啟頻道失敗。", + "channel_switch_modal.help": "請輸入頻道名。↑↓可以瀏覽、TAB 選擇、↵ 確認、ESC 取消", + "channel_switch_modal.not_found": "找不到符合的。", + "channel_switch_modal.submit": "切換", + "channel_switch_modal.title": "切換頻道", + "claim.account.noEmail": "沒有指定電子郵件", + "claim.email_to_ldap.enterLdapPwd": "輸入 AD/LDAP 帳號的使用者 ID 與密碼", + "claim.email_to_ldap.enterPwd": "輸入 {site} 的電子郵件帳戶密碼", + "claim.email_to_ldap.ldapId": "AD/LDAP ID", + "claim.email_to_ldap.ldapIdError": "請輸入 AD/LDAP ID。", + "claim.email_to_ldap.ldapPasswordError": "請輸入 AD/LDAP 密碼。", + "claim.email_to_ldap.ldapPwd": "AD/LDAP 密碼", + "claim.email_to_ldap.pwd": "密碼", + "claim.email_to_ldap.pwdError": "請輸入密碼", + "claim.email_to_ldap.ssoNote": "您必須已經有有效的 AD/LDAP 帳號", + "claim.email_to_ldap.ssoType": "設定完成後,將只能用 AD/LDAP 登入", + "claim.email_to_ldap.switchTo": "切換帳號至 AD/LDAP", + "claim.email_to_ldap.title": "由電子郵件地址/密碼帳號切換成 AD/LDAP 帳號", + "claim.email_to_oauth.enterPwd": "輸入 {site} 帳戶的密碼", + "claim.email_to_oauth.pwd": "密碼", + "claim.email_to_oauth.pwdError": "請輸入密碼", + "claim.email_to_oauth.ssoNote": "您必須已經有有效的 {type} 帳號", + "claim.email_to_oauth.ssoType": "設定完成後,將只能用 {type} SSO 登入", + "claim.email_to_oauth.switchTo": "切換帳號至 {uiType}", + "claim.email_to_oauth.title": "由電子郵件地址/密碼帳號切換成 {uiType} 帳號", + "claim.ldap_to_email.confirm": "密碼確認", + "claim.ldap_to_email.email": "用電子郵件地址 {email} 登入", + "claim.ldap_to_email.enterLdapPwd": "輸入 {site} 電子郵件帳戶的 {ldapPassword}", + "claim.ldap_to_email.enterPwd": "輸入電子郵件帳戶新密碼", + "claim.ldap_to_email.ldapPasswordError": "請輸入 AD/LDAP 密碼。", + "claim.ldap_to_email.ldapPwd": "AD/LDAP 密碼", + "claim.ldap_to_email.pwd": "密碼", + "claim.ldap_to_email.pwdError": "請輸入密碼。", + "claim.ldap_to_email.pwdNotMatch": "密碼不相符。", + "claim.ldap_to_email.ssoType": "設定完成後,將只能用電子郵件地址/密碼登入", + "claim.ldap_to_email.switchTo": "切換帳戶到電子郵件地址/密碼", + "claim.ldap_to_email.title": "切換 AD/LDAP 帳戶到電子郵件地址/密碼", + "claim.oauth_to_email.confirm": "密碼確認", + "claim.oauth_to_email.description": "更改帳號類別後,將只能用電子郵件地址/密碼登入。", + "claim.oauth_to_email.enterNewPwd": "為 {site} 的電子郵件帳戶輸入新密碼", + "claim.oauth_to_email.enterPwd": "請輸入密碼。", + "claim.oauth_to_email.newPwd": "新密碼", + "claim.oauth_to_email.pwdNotMatch": "密碼不相符。", + "claim.oauth_to_email.switchTo": "切換 {type} 至電子郵件地址及密碼", + "claim.oauth_to_email.title": "由 {type} 帳號切換成電子郵件地址", + "confirm_modal.cancel": "取消", + "connecting_screen": "連線中", + "create_comment.addComment": "新增註解...", + "create_comment.comment": "新增註解", + "create_comment.commentLength": "註解長度請少於 {max} 字元。", + "create_comment.commentTitle": "註解", + "create_comment.file": "上傳檔案", + "create_comment.files": "上傳多個檔案", + "create_post.comment": "註解", + "create_post.error_message": "訊息過長。字數:{length}/{limit}", + "create_post.post": "訊息", + "create_post.shortcutsNotSupported": "此裝置不支援鍵盤快速鍵。", + "create_post.tutorialTip": "

    發送訊息

    在這邊輸入訊息並按下 Enter 來發文。

    按下附件按鈕來上傳圖片或是檔案。

    ", + "create_post.write": "輸入訊息...", + "create_team.agreement": "一旦建立帳號使用{siteName},即表示您同意服務條款以及隱私政策。如果您不同意,請停止使用{siteName}。", + "create_team.display_name.back": "回到上一步", + "create_team.display_name.charLength": "名字必須至少有{min}個字、最多{max}。等等有增加較長團隊敘述的方法。", + "create_team.display_name.nameHelp": "團隊可以用任何語言取名。團隊名稱將會顯示在選單跟畫面上方。", + "create_team.display_name.next": "下一步", + "create_team.display_name.required": "此欄位是必需的", + "create_team.display_name.teamName": "團隊名稱", + "create_team.team_url.back": "回到上一步", + "create_team.team_url.charLength": "名稱長度為{min}到{max}字元", + "create_team.team_url.creatingTeam": "建立團隊中...", + "create_team.team_url.finish": "完成", + "create_team.team_url.hint": "
  • 短且好記憶是最好的
  • 請用小寫英字母、數字及連接號(-)
  • 請以小寫英字母開頭,請不要以連接號結尾
  • ", + "create_team.team_url.regex": "請只用小寫英字母、數字及連接號。必須以小寫英字母開頭且不能以連接號結尾。", + "create_team.team_url.required": "此欄位是必需的", + "create_team.team_url.taken": "網址已被使用或是含有保留字", + "create_team.team_url.teamUrl": "團隊網址", + "create_team.team_url.unavailable": "不能使用這網址。請嘗試其他的。", + "create_team.team_url.webAddress": "為新團隊選取網址:", + "custom_emoji.empty": "沒有自訂繪文字", + "custom_emoji.header": "自訂繪文字", + "custom_emoji.search": "搜尋自訂繪文字", + "delete_channel.cancel": "取消", + "delete_channel.channel": "頻道", + "delete_channel.confirm": "請確認刪除頻道", + "delete_channel.del": "刪除", + "delete_channel.group": "群組", + "delete_channel.question": "這將會從團隊刪除頻道並且禁止所有使用者存取頻道內容。您確定要刪除{display_name}{term}?", + "delete_post.cancel": "取消", + "delete_post.comment": "註解", + "delete_post.confirm": "請確認刪除{term}", + "delete_post.del": "刪除", + "delete_post.post": "訊息", + "delete_post.question": "確定要刪除{term}嘛?", + "delete_post.warning": "這篇文章有{count}個註解。", + "edit_channel_header_modal.cancel": "取消", + "edit_channel_header_modal.description": "修改頻道標題上面名字旁邊的文字。", + "edit_channel_header_modal.error": "頻道標語太長,請長話短說", + "edit_channel_header_modal.save": "儲存", + "edit_channel_header_modal.title": "修改{channel}的標題", + "edit_channel_header_modal.title_dm": "修改標題", + "edit_channel_purpose_modal.body": "描述 {type} 的用途。這敘述會顯示在頻道列表的\"更多...\"選單當中,其他人可以以此決定要不要加入。", + "edit_channel_purpose_modal.cancel": "取消", + "edit_channel_purpose_modal.channel": "頻道", + "edit_channel_purpose_modal.error": "頻道用途太長,請長話短說", + "edit_channel_purpose_modal.group": "群組", + "edit_channel_purpose_modal.save": "儲存", + "edit_channel_purpose_modal.title1": "編輯用途", + "edit_channel_purpose_modal.title2": "編輯用途。目標:", + "edit_command.save": "更新", + "edit_post.cancel": "取消", + "edit_post.edit": "修改 {title}", + "edit_post.editPost": "修改訊息...", + "edit_post.save": "儲存", + "email_signup.address": "電子郵件位址", + "email_signup.createTeam": "建立團隊", + "email_signup.emailError": "請輸入有效的電子郵件地址。", + "email_signup.find": "尋找我的團隊", + "email_verify.almost": "{siteName}:即將完成", + "email_verify.failed": "傳送驗證電子郵件失敗。", + "email_verify.notVerifiedBody": "電子郵件地址驗證。請檢查收信夾收信。", + "email_verify.resend": "重新發送電子郵件", + "email_verify.sent": " 驗證電子郵件已發送", + "email_verify.verified": "{siteName} 電子郵件已驗證", + "email_verify.verifiedBody": "

    您的電子郵件已驗證!按這邊登入。

    ", + "email_verify.verifyFailed": "無法驗證電子郵件地址。", + "emoji_list.actions": "處理方式", + "emoji_list.add": "新增自訂繪文字", + "emoji_list.creator": "建立者", + "emoji_list.delete": "刪除", + "emoji_list.empty": "沒有自訂繪文字", + "emoji_list.header": "自訂繪文字", + "emoji_list.help": "自訂繪文字對此伺服器上的所有使用者開放。在訊息輸入框輸入 ':' 會叫出繪文字選單。其他使用者可能需要重新讀取頁面才會看見新的繪文字。", + "emoji_list.help2": "提示:如果在含有繪文字該行增加 #、## 或 ### 當作第一個字元,可以使用較大尺寸的繪文字。傳送如 '# :smile:' 的訊息來嘗試此功能。", + "emoji_list.image": "圖片", + "emoji_list.name": "名稱", + "emoji_list.search": "搜尋自訂繪文字", + "emoji_list.somebody": "其他團隊的某人", + "error.not_found.link_message": "回到 Mattermost", + "error.not_found.message": "您所存取的頁面不存在", + "error.not_found.title": "找不到頁面", + "error.not_supported.message": "不支援隱私瀏覽", + "error.not_supported.title": "不支援此瀏覽器", + "error_bar.expired": "企業版授權已過期。請在過期日起15天內更新授權。詳情請洽 commercial@mattermost.com", + "error_bar.expiring": "企業版授權將在 {date} 過期。請聯繫 commercial@mattermost.com 更新授權。", + "error_bar.past_grace": "企業版授權已過期,詳情請洽系統管理員。", + "error_bar.preview_mode": "預覽模式:電子郵件通知尚未設定", + "file_attachment.download": "下載", + "file_info_preview.size": "大小 ", + "file_info_preview.type": "檔案類型 ", + "file_upload.fileAbove": "無法上傳超過{max}MB 的檔案:{filename}", + "file_upload.filesAbove": "無法上傳超過{max}MB 的檔案:{filenames}", + "file_upload.limited": "同時只能上傳{count}個檔案。請用新訊息來上傳更多的檔案。", + "file_upload.pasted": "圖片已上傳至:", + "filtered_channels_list.count": "{count}個頻道", + "filtered_channels_list.countTotal": "{total}中{count}個頻道", + "filtered_channels_list.search": "搜尋頻道", + "filtered_user_list.any_team": "所有使用者", + "filtered_user_list.count": "{count}位成員", + "filtered_user_list.countTotal": "{total}位中{count}位成員", + "filtered_user_list.countTotalPage": "{total}位中{startCount, number} - {endCount, number}位成員", + "filtered_user_list.member": "成員", + "filtered_user_list.next": "下一頁", + "filtered_user_list.prev": "上一頁", + "filtered_user_list.search": "搜尋使用者", + "filtered_user_list.searchButton": "搜尋", + "filtered_user_list.show": "過濾條件:", + "filtered_user_list.team_only": "此團隊的成員", + "find_team.email": "電子郵件地址", + "find_team.findDescription": "含有前往所有您為成員的團隊的連結的郵件已經寄出。", + "find_team.findTitle": "找到團隊", + "find_team.getLinks": "取得含有前往所有您為成員的團隊的連結的郵件。", + "find_team.placeholder": "you@domain.com", + "find_team.send": "送出", + "find_team.submitError": "請輸入一個有效的電子郵件位址", + "flag_post.flag": "標記以追蹤", + "flag_post.unflag": "取消標記", + "general_tab.chooseDescription": "為團隊寫新的敘述", + "general_tab.chooseName": "為團隊取名", + "general_tab.codeDesc": "按下'修改'來重新產生邀請碼。", + "general_tab.codeLongDesc": "邀請碼用來當作主選單中{getTeamInviteLink}所產生的團隊邀請連結的一部分。重新產生會建立一個新的招待連結並且讓舊的連結失效。", + "general_tab.codeTitle": "邀請碼", + "general_tab.emptyDescription": "按下'編輯'以增加團隊敘述。", + "general_tab.getTeamInviteLink": "取得團隊邀請連結", + "general_tab.includeDirDesc": "在首頁的團隊列表顯示此團隊名字、提供通往登入頁面的連結。", + "general_tab.no": "否", + "general_tab.openInviteDesc": "允許時,往此團隊的連結將會出現在首頁,有帳號的人皆可以此連結加入此團隊。", + "general_tab.openInviteTitle": "允許任何在此服務器有帳號的使用者加入此團隊", + "general_tab.regenerate": "重新產生", + "general_tab.required": "此欄位是必需的", + "general_tab.teamDescription": "團隊敘述", + "general_tab.teamDescriptionInfo": "團隊敘述提供額外的訊息幫助使用者選擇正確的團隊。最多為50個字。", + "general_tab.teamName": "團隊名稱", + "general_tab.teamNameInfo": "設定出現於登入畫面跟側邊欄左上的團隊名稱。", + "general_tab.title": "一般設定", + "general_tab.yes": "是", + "get_app.alreadyHaveIt": "已經擁有了?", + "get_app.androidAppName": "Mattermost for Android", + "get_app.androidHeader": "使用 Android 應用程式時 Mattermost 能有最好的表現", + "get_app.continue": "繼續", + "get_app.continueWithBrowser": "或 {link}", + "get_app.continueWithBrowserLink": "繼續使用瀏覽器", + "get_app.iosHeader": "使用 iPhone 應用程式時 Mattermost 能有最好的表現", + "get_app.mattermostInc": "Mattermost, Inc", + "get_app.openMattermost": "開啟 Mattermost", + "get_link.clipboard": " 連結已複製", + "get_link.close": "關閉", + "get_link.copy": "複製連結", + "get_post_link_modal.help": "下面的連結讓已登入的使用者看您的發文。", + "get_post_link_modal.title": "複製永久連結", + "get_public_link_modal.help": "底下的連結允許任何人不需要於本伺服器註冊即可觀看此檔案。", + "get_public_link_modal.title": "取得公開連結", + "get_team_invite_link_modal.help": "傳送下面的連結給團隊成員,讓他們註冊此團隊站台。此連結可以讓多個團隊成員共用,在團隊管理員到團隊設定當中重新產生之前,這連結都不會改變。", + "get_team_invite_link_modal.helpDisabled": "在您的團隊新增成員已經被關閉。請跟團隊管理員詢問詳情。", + "get_team_invite_link_modal.title": "團隊邀請連結", + "help.attaching.downloading": "#### 下載檔案\n按檔案縮圖旁邊的下載圖示以下載附加檔案,或是打開檔案預覽並按**下載**。", + "help.attaching.dragdrop": "#### 拖放功能\n從電腦拖拉檔案到右側邊欄或是中間來上傳檔案。拖放功能會將檔案附加至訊息輸入框,接著你可以輸入訊息或是直接按下**ENTER**發文。", + "help.attaching.icon": "#### 附件檔案圖示\n或者您也可以藉由按訊息輸入框裡面的灰色迴紋針以上傳檔案。這將會開啟系統的檔案瀏覽器,您可以在此尋找想要的檔案並按下**開啟**將檔案上傳至訊息輸入框。接著輸入訊息或是直接按下**ENTER**發文。", + "help.attaching.limitations": "## 檔案大小限制\n在 Mattermost 中,每個訊息最多可以附加五個檔案,每個檔案最大為 50Mb。", + "help.attaching.methods": "## 如何附加檔案\n拖放檔案或是按下訊息輸入框的附件檔案圖示。", + "help.attaching.notSupported": "尚未支援文件預覽 (Word, Excel, PPT)。", + "help.attaching.pasting": "#### 貼上\n使用 Chrome 跟 Edge 瀏覽器時,您也可以直接從剪貼簿貼上以上傳檔案。此功能尚未支援其他瀏覽器。", + "help.attaching.previewer": "## 檔案預覽器\nMattermost 有內建檔案預覽器用來觀看、下載檔案並分享公開連結。按附加檔案的縮圖便可以用檔案預覽器打開。", + "help.attaching.publicLinks": "#### 分享公開連結\n公開連結讓您可以分享附件檔案給 Mattermost 團隊以外的人。按下附件檔案縮圖以打開檔案預覽器然後按**取得公開連結**。這會開啟一個帶有連結的對話框。當分享這個連結給他人並被他人打開的時候,會自動開始下載檔案。", + "help.attaching.publicLinks2": "如果檔案預覽器裡面找不到**取得公開連結**但想要啟用這功能,您可以詢問系統管理員請他在系統主控台裡的**安全** > **公開連結**處開啟。", + "help.attaching.supported": "#### 支援的媒體類型\n如果您嘗試預覽預覽器不支援的媒體,檔案預覽器會顯示附件檔案的標準圖示。支援的媒體格式跟瀏覽器以及作業系統高度相關,不過在大部分瀏覽器上使用 Mattermost 支援下列的格式:", + "help.attaching.supportedList": "- 圖片:BMP, GIF, JPG, JPEG, PNG\n- 影像:MP4\n- 聲音:MP3, M4A\n- 文件:PDF", + "help.attaching.title": "# 附加檔案\n_____", + "help.commands.builtin": "## 內建命令\n下列的斜線命令在所有的 Mattermost 上都可以使用:", + "help.commands.builtin2": "在訊息輸入框開頭輸入 `/` 將會顯示斜線命令列表。此列表會提供命令範例以及灰色的命令敘述。", + "help.commands.custom": "## 自訂命令\n自訂斜線命令以跟外部應用程式整合。舉例來說,團隊可以設定自訂斜線命令來看內部的健康資料 `/patient joe smith` 或看某城市的天氣周報 `/weather toronto week`。向系統管理員確認或是輸入 `/` 開啟自動完成列表來確認團隊有無設定任何自訂斜線命令。", + "help.commands.custom2": "自訂斜線命令預設為關閉,系統管理員可以在 **系統主控台** > **整合** > **Webhook 與命令** 中開啟。如需設定自訂斜線命令的詳細資訊,請參閱[開發者文件:斜線命令](http://docs.mattermost.com/developer/slash-commands.html)", + "help.commands.intro": "斜線命令讓使用者能在 Mattermost 內藉由打字輸入進行操作。輸入 `/` 接著輸入命令跟一些參數來執行動作。\n\n所有的 Mattermost 都有內建斜線命令,自訂斜線命令可以設定以跟外部應用程式互動。如需設定自訂斜線命令的詳細資訊,請參閱[開發者文件:斜線命令](http://docs.mattermost.com/developer/slash-commands.html)", + "help.commands.title": "# 執行指令\n___", + "help.composing.deleting": "## 刪除訊息\n按下您所輸入之任何文字訊息邊上的 **[...]** 圖示然後按**刪除**來刪除訊息。系統跟團隊管理員可以刪除他們系統或團隊中的任何訊息。", + "help.composing.editing": "## 編輯訊息\n按下您所輸入之任何文字訊息邊上的 **[...]** 圖示然後按**編輯**來編輯訊息。在完成變更之後按下 **ENTER** 以儲存。編輯訊息不會觸發新的@提及、桌面通知或是通知音效。", + "help.composing.linking": "## 訊息連結\n**永久網址**會建立連至訊息的連結。分享此連結給其他同頻道內的使用者可以讓他們觀看封存訊息中此連結所指向的訊息。不是訊息張貼頻道成員的使用者將無法觀看訊息。按下任何文字訊息邊上的 **[...]** 圖示然後按**永久網址** > **複製連結**來取得網址。", + "help.composing.posting": "## 張貼訊息\n在訊息輸入欄打字寫訊息然後按下 **ENTER** 發送。用 **Shift + ENTER** 在不發送訊息下新增行。**主選單 > 帳號設定 > 用 Ctrl + Enter 貼文**可以改成按 **Ctrl + Enter** 發送訊息。", + "help.composing.posts": "#### 發文\n發文可以視為母訊息。它們通常是回覆串起始的訊息。發文是在中間欄底部的文字輸入框編輯跟發送。", + "help.composing.replies": "#### 回覆\n按任意訊息文字邊上的回覆圖示來回覆該訊息。這個動作會展開右側邊欄,在那邊可以看到訊息串並編輯與發送回覆。在中央欄裡回覆會稍微的被縮排用以標示它們是某母發文的子訊息。\n\n當在右側邊欄編輯回覆時,按下邊欄頂端雙箭頭的展開/關閉圖示以取得較好的觀看方式。", + "help.composing.title": "# 發送訊息\n_____", + "help.composing.types": "## 訊息類別\n回覆發文以利用回覆串來整理對話。", + "help.formatting.checklist": "用方括號建立工作清單:", + "help.formatting.checklistExample": "- [ ] 第一項\n- [ ] 第二項\n- [x] 已完成事項", + "help.formatting.code": "## 程式碼區塊\n\n以 4 個空白縮排每一行或是在程式碼的上下方放上 ``` 以建立程式碼區塊", + "help.formatting.codeBlock": "程式碼區塊", + "help.formatting.emojiExample": ":smile: :+1: :sheep:", + "help.formatting.emojis": "## 繪文字\n\n輸入 `:` 打開繪文字自動完成。完整的繪文字列表在[這裡](http://www.emoji-cheat-sheet.com/)。如果您想要用的繪文字不存在,也可以自己建立[自訂繪文字](http://docs.mattermost.com/help/settings/custom-emoji.html)。", + "help.formatting.example": "如:", + "help.formatting.githubTheme": "**GitHub 主題配色**", + "help.formatting.headings": "## 標題\n\n在標題前輸入 # 跟一個空白以建立標題。用多一點的 # 以建立小一點的標題。", + "help.formatting.headings2": "或是用 `===` 或 `---` 在文字的下一行劃線來建立標題。", + "help.formatting.headings2Example": "大標題\n-------------", + "help.formatting.headingsExample": "## 大標題\n### 小點的標題\n#### 更小的標題", + "help.formatting.images": "## 嵌入圖片\n\n建立嵌入圖片:在 `!` 後接著方括號再接著括號,方括號內放替代文字,括號內放圖片連結。在連結後加入用雙引號括起來的文字則可增加動態顯示文字。", + "help.formatting.imagesExample": "![替代文字](連結 \"動態顯示文字\")\n\n跟\n\n[![Build Status](https://travis-ci.org/mattermost/platform.svg?branch=master)](https://travis-ci.org/mattermost/platform) [![Github](https://assets-cdn.github.com/favicon.ico)](https://github.com/mattermost/platform)", + "help.formatting.inline": "## 嵌入程式碼\n\n用反引號括起文字用來將等寬文字嵌入普通文字中。", + "help.formatting.intro": "Markdown 讓設定訊息格式變得非常輕鬆。您只須如同平時一樣的輸入訊息,然後用以下的規則賦予其特定格式。", + "help.formatting.lines": "## 線\n\n用 3 個 `*`、`_` 或 `-` 來建立一條線。", + "help.formatting.linkEx": "[看看 Mattermost!](https://about.mattermost.com/)", + "help.formatting.links": "## 連結\n\n將想顯示的文字放入方括號跟對應的連結放入括號以建立連結。", + "help.formatting.listExample": "* 列表項目一\n* 列表項目二\n * 項目二子項目", + "help.formatting.lists": "## 清單\n\n用 `*` 或 `-` 當作項目符號來產生清單。可以在項目符號前面加上 2 個空白來縮排。", + "help.formatting.monokaiTheme": "**Monokai 主題配色**", + "help.formatting.ordered": "改用數字來建立順序清單:", + "help.formatting.orderedExample": "1. 項目一\n2. 項目二", + "help.formatting.quotes": "## 引述區塊\n\n用 `>` 建立像是引述的區塊。", + "help.formatting.quotesExample": "`> 引述區塊` 顯示為:", + "help.formatting.quotesRender": "> 引述區塊", + "help.formatting.renders": "顯示為:", + "help.formatting.solirizedDarkTheme": "**Solarized Dark 主題配色**", + "help.formatting.solirizedLightTheme": "**Solarized Light 主題配色**", + "help.formatting.style": "## 文字樣式\n\n用 `_` 或 `*` 將文字括起來以使用斜體,用 2 個則顯示粗體。\n\n* `_斜體_` 顯示為 _斜體_\n* `**粗體**` 顯示為 **粗體**\n* `**_粗斜_**` 顯示為 **_粗斜_**\n* `~~刪除線~~` 顯示為 ~~刪除線~~", + "help.formatting.supportedSyntax": "支援的語言:\n`as`, `applescript`, `osascript`, `scpt`, `bash`, `sh`, `zsh`, `clj`, `boot`, `cl2`, `cljc`, `cljs`, `cljs.hl`, `cljscm`, `cljx`, `hic`, `coffee`, `_coffee`, `cake`, `cjsx`, `cson`, `iced`, `cpp`, `c`, `cc`, `h`, `c++`, `h++`, `hpp`, `cs`, `csharp`, `css`, `d`, `di`, `dart`, `delphi`, `dpr`, `dfm`, `pas`, `pascal`, `freepascal`, `lazarus`, `lpr`, `lfm`, `diff`, `django`, `jinja`, `dockerfile`, `docker`, `erl`, `f90`, `f95`, `fsharp`, `fs`, `gcode`, `nc`, `go`, `groovy`, `handlebars`, `hbs`, `html.hbs`, `html.handlebars`, `hs`, `hx`, `java`, `jsp`, `js`, `jsx`, `json`, `jl`, `kt`, `ktm`, `kts`, `less`, `lisp`, `lua`, `mk`, `mak`, `md`, `mkdown`, `mkd`, `matlab`, `m`, `mm`, `objc`, `obj-c`, `ml`, `perl`, `pl`, `php`, `php3`, `php4`, `php5`, `php6`, `ps`, `ps1`, `pp`, `py`, `gyp`, `r`, `ruby`, `rb`, `gemspec`, `podspec`, `thor`, `irb`, `rs`, `scala`, `scm`, `sld`, `scss`, `st`, `sql`, `swift`, `tex`, `vbnet`, `vb`, `bas`, `vbs`, `v`, `veo`, `xml`, `html`, `xhtml`, `rss`, `atom`, `xsl`, `plist`, `yaml`", + "help.formatting.syntax": "### 標示語法\n\n在程式碼區塊起始的 ``` 後面輸入想標示的語言以標示語法。Mattermost 提供四種不同的主題配色 (GitHub, Solarized Dark, Solarized Light, Monokai) ,可在 **帳號設定** > **顯示** > **主題** > **自訂主題** > **中央頻道樣式** 變更設定。", + "help.formatting.syntaxEx": " package main\n import \"fmt\"\n func main() {\n fmt.Println(\"Hello, 世界\")\n }", + "help.formatting.tableExample": "| 靠左對齊 | 置中對齊 | 靠右對齊 |\n| :------- |:---------:| --------:|\n| 左欄位 1 | 這文字 | $100 |\n| 左欄位 2 | 為 | $10 |\n| 左欄位 3 | 置中 | $1 |", + "help.formatting.tables": "## 表格\n\n在標頭列底下放上虛線並用直立線符號 `|` 分隔欄位來建立表格 (欄位不需要精準的對齊)。在標頭列加入冒號 `:` 來設定欄位該如何對齊。", + "help.formatting.title": "# 設定文字格式\n_____", + "help.learnMore": "獲取更多訊息:", + "help.link.attaching": "附加檔案", + "help.link.commands": "執行指令", + "help.link.composing": "編寫訊息跟回覆", + "help.link.formatting": "用 Markdown 設定訊息文字", + "help.link.mentioning": "提及團隊成員", + "help.link.messaging": "基本傳訊", + "help.mentioning.channel": "#### @頻道\n輸入 `@channel` 來提及整個頻道。頻道的所有成員都會像被單獨提及一樣收到提及通知。", + "help.mentioning.channelExample": "@channel 這周的面試大家做的好,我覺得我們應該找到了些很有潛力的應徵者!", + "help.mentioning.mentions": "## @提及\n用 @提及 來引起特定團隊成員的注意。", + "help.mentioning.recent": "## 最近提及\n按下搜尋欄旁邊的 `@` 查詢最近的 @提及跟觸發提及的字。按右側邊欄裡搜尋結果旁的**跳至**來將中間欄移動至提及的頻道跟提及訊息的位置。", + "help.mentioning.title": "# 提及團隊成員\n_____", + "help.mentioning.triggers": "## 觸發提及的字\n除了被 @使用者名稱 跟 @頻道 通知以外,您還可以在 **帳號設定** > **通知** > **觸發提及的字** 自訂觸發提及的字。預設為您的名字,在輸入欄輸入更多的字並用逗號分隔來增加觸發字。在想要接收所有關於某主題的訊息時這功能特別有用,如:\"面試\"或\"行銷\"。", + "help.mentioning.username": "#### @使用者名稱\n用 `@` 符號加上他們的使用者名稱來發送提及通知給團隊成員。\n\n輸入 `@` 打開可以提及的團隊成員清單。輸入使用者名稱、名字、姓氏或暱稱的前幾個字母以過濾清單。用**上** 跟 **下** 方向鍵來捲動清單,按 **ENTER** 選擇要提及的使用者。一旦選取,使用者名稱會自動取代全名或是暱稱。\n以下的例子將發送提及通知給 **alice** ,該通知將會告訴她被提及的訊息跟頻道。如果 **alice** 正好離開 Mattermost 且有啟用[電子郵件通知](http://docs.mattermost.com/help/getting-started/configuring-notifications.html#email-notifications),她將會收到帶有訊息的電子郵件通知。", + "help.mentioning.usernameCont": "如果提及的使用者不屬於這頻道,系統將會發出訊息讓您知道。這會是個暫時訊息且只有您看的到。按頻道名稱旁邊的下拉選單並選**新增成員**將提及的使用者加進頻道。", + "help.mentioning.usernameExample": "@alice 你跟應徵者的面試過得怎樣?", + "help.messaging.attach": "拖放檔案到 Mattermost 或是按文字輸入框旁邊的附件圖示來**附加檔案**。", + "help.messaging.emoji": "輸入 \":\" 開啟繪文字的自動完成以**快速增加繪文字**。如果已有的繪文字不夠用,可以建立新的[自訂繪文字](http://docs.mattermost.com/help/settings/custom-emoji.html)。", + "help.messaging.format": "使用 Markdown 來**設定訊息格式**,它支援文字樣式、標題、連結、表情符號、程式碼區塊、引述區塊、表格、清單跟內嵌圖片。", + "help.messaging.notify": "當需要團隊成員時輸入 `@使用者名稱` 來**通知團隊成員**。", + "help.messaging.reply": "按訊息文字旁邊的回覆箭頭以**回覆訊息**。", + "help.messaging.title": "# 傳訊基礎\n_____", + "help.messaging.write": "用 Mattermost 底部的文字輸入框來**編寫訊息**。按 **ENTER** 發送訊息。用 **Shift+ENTER** 在不發送訊息下插入新行。", + "installed_command.header": "斜線命令", + "installed_commands.add": "新增斜線命令", + "installed_commands.delete.confirm": "此動作將永久刪除該斜線命令,並中斷任何使用它的整合。確定要刪除嘛?", + "installed_commands.empty": "沒有命令", + "installed_commands.header": "斜線命令", + "installed_commands.help": "建立給外部整合功能使用的斜線命令。詳情請看{link}。", + "installed_commands.helpLink": "說明文件", + "installed_commands.search": "搜尋斜線命令", + "installed_commands.unnamed_command": "沒有名字的斜線命令", + "installed_incoming_webhooks.add": "增加傳入的 Webhook", + "installed_incoming_webhooks.delete.confirm": "此動作將永久刪除該傳入的 Webhook,並中斷任何使用它的整合。確定要刪除嘛?", + "installed_incoming_webhooks.empty": "沒有傳入的 Webhook", + "installed_incoming_webhooks.header": "傳入的 Webhook", + "installed_incoming_webhooks.help": "建立給外部整合功能使用的傳入的 Webhook 網址。詳情請看{link}。", + "installed_incoming_webhooks.helpLink": "說明文件", + "installed_incoming_webhooks.search": "搜尋傳入的 Webhook", + "installed_incoming_webhooks.unknown_channel": "私人 Webhook", + "installed_integrations.callback_urls": "回呼網址:{urls}", + "installed_integrations.client_id": "使用者 ID:{clientId}", + "installed_integrations.client_secret": "使用者密碼:{clientSecret}", + "installed_integrations.content_type": "內容類型:{contentType}", + "installed_integrations.creation": "由{creator}在{createAt, date, full}所建立", + "installed_integrations.delete": "刪除", + "installed_integrations.edit": "編輯", + "installed_integrations.hideSecret": "隱藏密碼", + "installed_integrations.regenSecret": "重新產生密碼", + "installed_integrations.regenToken": "重新產生 Token", + "installed_integrations.showSecret": "顯示密碼", + "installed_integrations.token": "Token:{token}", + "installed_integrations.triggerWhen": "觸發於:{triggerWhen}", + "installed_integrations.triggerWords": "觸發關鍵字:{triggerWords}", + "installed_integrations.unnamed_oauth_app": "沒有命名的 OAuth 2.0 應用程式", + "installed_integrations.url": "網址:{url}", + "installed_oauth_apps.add": "新增 OAuth 2.0 應用程式", + "installed_oauth_apps.callbackUrls": "回呼網址(一行一個)", + "installed_oauth_apps.cancel": "取消", + "installed_oauth_apps.delete.confirm": "此動作將永久刪除該 OAuth 2.0 應用程式,並中斷任何使用它的整合。確定要刪除嘛?", + "installed_oauth_apps.description": "敘述", + "installed_oauth_apps.empty": "沒有找到 OAuth 2.0 應用程式", + "installed_oauth_apps.header": "OAuth 2.0 應用程式", + "installed_oauth_apps.help": "建立 OAuth 2.0 應用程式以安全的將 Mattermost 與機器人跟第三方應用程式整合。詳請參閱{link}。", + "installed_oauth_apps.helpLink": "說明文件", + "installed_oauth_apps.homepage": "首頁", + "installed_oauth_apps.iconUrl": "圖示網址", + "installed_oauth_apps.is_trusted": "是受信任的:{isTrusted}", + "installed_oauth_apps.name": "顯示名稱", + "installed_oauth_apps.save": "儲存", + "installed_oauth_apps.search": "搜尋 OAuth 2.0 應用程式", + "installed_oauth_apps.trusted": "是受信任", + "installed_oauth_apps.trusted.no": "否", + "installed_oauth_apps.trusted.yes": "是", + "installed_outgoing_webhooks.add": "增加傳出的 Webhook", + "installed_outgoing_webhooks.delete.confirm": "此動作將永久刪除該傳出的 Webhook,並中斷任何使用它的整合。確定要刪除嘛?", + "installed_outgoing_webhooks.empty": "沒有傳出的 Webhook", + "installed_outgoing_webhooks.header": "傳出的 Webhook", + "installed_outgoing_webhooks.help": "建立給外部整合功能使用的傳出的 Webhook 網址。詳情請看{link}。", + "installed_outgoing_webhooks.helpLink": "說明文件", + "installed_outgoing_webhooks.search": "搜尋傳出的 Webhook", + "installed_outgoing_webhooks.unknown_channel": "私人 Webhook", + "integrations.add": "新增", + "integrations.command.description": "斜線命令用來傳送事件給外部整合功能", + "integrations.command.title": "斜線命令", + "integrations.delete.confirm.button": "刪除", + "integrations.delete.confirm.title": "刪除整合", + "integrations.done": "完成", + "integrations.edit": "編輯", + "integrations.header": "整合", + "integrations.incomingWebhook.description": "傳入的 Webhook 讓外部整合功能可以傳送訊息", + "integrations.incomingWebhook.title": "傳入的 Webhook", + "integrations.oauthApps.description": "OAuth 2.0 允許外部應用程式向 Mattermost API 提出授權過的要求。", + "integrations.oauthApps.title": "OAuth 2.0 應用程式", + "integrations.outgoingWebhook.description": "傳出的 Webhook 讓外部整合功能可以收訊並回應", + "integrations.outgoingWebhook.title": "傳出的 Webhook", + "integrations.successful": "設定成功", + "intro_messages.DM": "這是跟{teammate}之間直接訊息的起頭。
    直接訊息跟在這邊分享的檔案除了在此處以外的人都看不到。", + "intro_messages.anyMember": " 任何成員可以加入並閱讀此頻道。", + "intro_messages.beginning": "{name}的開頭", + "intro_messages.channel": "頻道", + "intro_messages.creator": "這是{name}{type}的開頭,由{creator}建立於{date}。", + "intro_messages.default": "

    {display_name}的開頭

    歡迎來到{display_name}!

    這裡是團隊成員加入後的第一個頻道。善用這邊來發布所有人都應該知道的新事項。

    ", + "intro_messages.group": "私有群組", + "intro_messages.invite": "邀請他人來此{type}", + "intro_messages.inviteOthers": "邀請他人來此團隊", + "intro_messages.noCreator": "這是{name}{type}的開頭,建立於{date}。", + "intro_messages.offTopic": "

    {display_name}的開頭

    這是{display_name}的最上面,這是個用來聊天的頻道。

    ", + "intro_messages.onlyInvited": " 只有受邀請的成員能看見此私人群組", + "intro_messages.purpose": "此{type}的用途為:{purpose}。", + "intro_messages.setHeader": "設定標題", + "intro_messages.teammate": "這是您跟這位團隊成員之間直接訊息的起頭。直接訊息跟在這邊分享的檔案除了在此處以外的人都看不到。", + "invite_member.addAnother": "增加其他人", + "invite_member.autoJoin": "被邀請的人會自動加入{channel}頻道。", + "invite_member.cancel": "取消", + "invite_member.content": "目前此團隊的電子郵件功能被停用,沒有辦法寄送電子郵件邀請。請聯絡系統管理員以啟用電子郵件跟電子郵件邀請。", + "invite_member.disabled": "在您的團隊新增成員已經被關閉。請跟團隊管理員詢問詳情。", + "invite_member.emailError": "請輸入一個有效的電子郵件位址", + "invite_member.firstname": "名字", + "invite_member.inviteLink": "團隊邀請連結", + "invite_member.lastname": "姓氏", + "invite_member.modalButton": "是,放棄它們", + "invite_member.modalMessage": "還有尚未寄送的邀請,確定要放棄它們嘛?", + "invite_member.modalTitle": "放棄邀請?", + "invite_member.newMember": "邀請新成員", + "invite_member.send": "發送邀請", + "invite_member.send2": "發送邀請", + "invite_member.sending": " 傳送中", + "invite_member.teamInviteLink": "可以用{link}來邀請他人。", + "ldap_signup.find": "尋找我的團隊", + "ldap_signup.ldap": "用 AD/LDAP 帳號建立團隊", + "ldap_signup.length_error": "名稱長度為3到15字元", + "ldap_signup.teamName": "輸入新團隊名稱", + "ldap_signup.team_error": "請輸入團隊名稱", + "leave_team_modal.desc": "將離開所有的公開頻道與私人群組。如果團隊是私人團隊,將無法重新加入。您確定嘛?", + "leave_team_modal.no": "否", + "leave_team_modal.title": "離開團隊?", + "leave_team_modal.yes": "是", + "loading_screen.loading": "載入中", + "login.changed": " 已成功更改登入方法", + "login.create": "建立帳號", + "login.createTeam": "建立團隊", + "login.createTeamAdminOnly": "此選項只對系統管理員開放,其他使用者不會看到。", + "login.email": "電子郵件", + "login.find": "尋找其他您有參與的團隊", + "login.forgot": "忘記密碼了", + "login.gitlab": "GitLab", + "login.google": "用 Google Apps 登入", + "login.invalidPassword": "密碼不正確。", + "login.ldapUsername": "AD/LDAP 使用者名稱", + "login.ldapUsernameLower": "AD/LDAP 使用者名稱", + "login.noAccount": "沒有帳號嘛?", + "login.noEmail": "請輸入電子郵件地址", + "login.noEmailLdapUsername": "請輸入電子郵件地址或{ldapUsername}", + "login.noEmailUsername": "請輸入電子郵件地址或使用者名稱", + "login.noEmailUsernameLdapUsername": "請輸入電子郵件地址、使用者名稱或 {ldapUsername}", + "login.noLdapUsername": "請輸入 {ldapUsername}", + "login.noMethods": "沒有啟用的登入方法。請聯絡系統管理員。", + "login.noPassword": "請輸入密碼", + "login.noUsername": "請輸入使用者名稱", + "login.noUsernameLdapUsername": "請輸入使用者名稱或 {ldapUsername}", + "login.office365": "Office 365", + "login.on": "在 {siteName}", + "login.or": "或", + "login.password": "密碼", + "login.passwordChanged": " 已成功更新密碼", + "login.session_expired": " 工作階段已逾期,請重新登入。", + "login.signIn": "登入", + "login.signInLoading": "登入中...", + "login.signInWith": "登入方法:", + "login.userNotFound": "無法找到與您輸入的認證相符的帳號。", + "login.username": "使用者名稱", + "login.verified": " 電子郵件地址已驗證", + "login_mfa.enterToken": "請輸入智慧型手機上認證器的 Token 以完成登入", + "login_mfa.submit": "送出", + "login_mfa.token": "多重要素驗證 Token", + "login_mfa.tokenReq": "請輸入多重要素驗證 Token", + "member_item.makeAdmin": "設為管理員", + "member_item.member": "成員", + "member_list.noUsersAdd": "沒有可增加的使用者。", + "members_popover.manageMembers": "成員管理", + "members_popover.msg": "訊息", + "members_popover.title": "成員", + "members_popover.viewMembers": "檢視成員", + "mfa.confirm.complete": "完成設定!", + "mfa.confirm.okay": "確定", + "mfa.confirm.secure": "您的帳號現在安全了。下一次登入時,將會被要求輸入手機上 Google Authenticator 所提供的代碼。", + "mfa.setup.badCode": "無效的代碼。如果此問題持續,請聯絡系統管理員。", + "mfa.setup.code": "MFA 代碼", + "mfa.setup.codeError": "請輸入來自 Google Authenticator 的代碼。", + "mfa.setup.required": "{siteName}要求使用多重要素驗證。", + "mfa.setup.save": "儲存", + "mfa.setup.secret": "密碼:{secret}", + "mfa.setup.step1": "步驟一:在手機上從 iTunesGoogle Play 下載 Google Authenticator", + "mfa.setup.step2": "步驟二:使用 Google Authenticator 掃描此 QR 碼或是手動輸入密碼", + "mfa.setup.step3": "步驟三:輸入 Google Authenticator 產生的代碼", + "mfa.setupTitle": "多重要素驗證設定", + "mobile.components.channels_list_view.yourChannels": "您的頻道:", + "mobile.components.select_server_view.enterServerUrl": "輸入伺服器網址", + "mobile.components.select_server_view.proceed": "繼續", + "mobile.components.select_server_view.siteUrlPlaceholder": "\"https://mattermost.example.com\"", + "mobile.routes.channels": "頻道", + "mobile.routes.enterServerUrl": "輸入伺服器網址", + "mobile.routes.login": "登入", + "mobile.routes.postsList": "文章列表", + "mobile.routes.selectTeam": "選擇團隊", + "more_channels.close": "關閉", + "more_channels.create": "建立頻道", + "more_channels.createClick": "按下'建立頻道'來建立新頻道", + "more_channels.join": "加入", + "more_channels.next": "下一頁", + "more_channels.noMore": "沒有可參加的頻道", + "more_channels.prev": "上一頁", + "more_channels.title": "更多頻道", + "more_direct_channels.close": "關閉", + "more_direct_channels.message": "訊息", + "more_direct_channels.new_convo_note": "這會起始新的對話。如果要加入大量的成員,請考慮改成建立新的私人群組。", + "more_direct_channels.new_convo_note.full": "已達到此對話的最大人數。請考慮改成建立新的私人群組。", + "more_direct_channels.title": "直接傳訊", + "msg_typing.areTyping": "{users}跟{last}正在打字...", + "msg_typing.isTyping": "{user}正在打字...", + "msg_typing.someone": "某人", + "multiselect.go": "前往", + "multiselect.instructions": "用上/下方向鍵來瀏覽,ENTER鍵選擇", + "multiselect.numPeopleRemaining": "還可以加 {num, number} 個人。", + "multiselect.numRemaining": "還可以加 {num, number} 個", + "multiselect.placeholder": "搜尋與新增成員", + "navbar.addMembers": "新增成員", + "navbar.click": "請按此處", + "navbar.delete": "刪除頻道...", + "navbar.leave": "離開頻道", + "navbar.manageMembers": "成員管理", + "navbar.noHeader": "沒有頻道標語。{newline}{link}來增加。", + "navbar.preferences": "通知喜好設定", + "navbar.rename": "變更頻道名稱…", + "navbar.setHeader": "設定頻道標題...", + "navbar.setPurpose": "設定頻道用途...", + "navbar.toggle1": "切換側邊欄", + "navbar.toggle2": "切換側邊欄", + "navbar.viewInfo": "檢視資訊", + "navbar_dropdown.about": "關於 Mattermost", + "navbar_dropdown.accountSettings": "帳號設定", + "navbar_dropdown.console": "系統控制台", + "navbar_dropdown.create": "建立團隊", + "navbar_dropdown.emoji": "自訂繪文字", + "navbar_dropdown.help": "說明", + "navbar_dropdown.integrations": "整合", + "navbar_dropdown.inviteMember": "邀請新成員", + "navbar_dropdown.join": "加入其他團隊", + "navbar_dropdown.leave": "離開團隊", + "navbar_dropdown.logout": "登出", + "navbar_dropdown.manageMembers": "會員管理", + "navbar_dropdown.nativeApps": "下載應用程式", + "navbar_dropdown.report": "回報錯誤", + "navbar_dropdown.switchTeam": "切換至 {team}", + "navbar_dropdown.switchTo": "切換至:", + "navbar_dropdown.teamLink": "取得團隊邀請連結", + "navbar_dropdown.teamSettings": "團隊設定", + "navbar_dropdown.viewMembers": "檢視成員", + "notification.dm": "直接傳訊", + "passwordRequirements": "密碼要求:", + "password_form.change": "變更密碼", + "password_form.click": "按 這裡登入", + "password_form.enter": "輸入 {siteName} 帳戶的新密碼", + "password_form.error": "請至少輸入{chars} 個字", + "password_form.pwd": "密碼", + "password_form.title": "密碼重設", + "password_form.update": "密碼已成功變更。", + "password_send.checkInbox": "請檢查收件夾。", + "password_send.description": "輸入註冊的電子郵件地址以重設密碼。", + "password_send.email": "電子郵件地址", + "password_send.error": "請輸入一個有效的電子郵件地址", + "password_send.link": "如果該帳號存在,將會發送一封密碼重置郵件至:
    {email}

    ", + "password_send.reset": "重置我的密碼", + "password_send.title": "密碼重設", + "pdf_preview.max_pages": "請下載以閱讀更多頁", + "pending_post_actions.cancel": "取消", + "pending_post_actions.retry": "重試", + "permalink.error.access": "此永久連結通往被刪除的訊息或是您沒有觀看權限的頻道。", + "post_attachment.collapse": "收起...", + "post_attachment.more": "展開...", + "post_body.commentedOn": "對 {name}{apostrophe} 訊息的註解:", + "post_body.deleted": "(訊息已刪除)", + "post_body.plusMore": " 跟另外{count}個檔案", + "post_body.plusOne": " 跟另外一個檔案", + "post_delete.notPosted": "無法發布註解", + "post_delete.okay": "確定", + "post_delete.someone": "您嘗試註解的訊息已經被刪除。", + "post_focus_view.beginning": "頻道封存的開頭", + "post_info.del": "刪除", + "post_info.edit": "編輯", + "post_info.mobile.flag": "標記", + "post_info.mobile.unflag": "取消標記", + "post_info.permalink": "永久網址", + "post_info.reply": "回覆", + "post_info.system": "系統", + "post_message_view.edited": "(被編輯過)", + "posts_view.loadMore": "載入更多訊息", + "posts_view.newMsg": "新訊息", + "posts_view.newMsgBelow": "下面還有 {count} 個新訊息", + "reaction.clickToAdd": "(請按這裡增加)", + "reaction.clickToRemove": "(請按這裡移除)", + "reaction.othersReacted": "{otherUsers, number} 位使用者", + "reaction.reacted": "{users} 與 {emoji} {reactionVerb}", + "reaction.reactionVerb.user": "已互動", + "reaction.reactionVerb.users": "已互動", + "reaction.reactionVerb.you": "已互動", + "reaction.reactionVerb.youAndUsers": "已互動", + "reaction.usersAndOthersReacted": "{users} 與 其他 {otherUsers, number} 位使用者", + "reaction.usersReacted": "{users} 與 {lastUser}", + "reaction.you": "您", + "removed_channel.channelName": "頻道", + "removed_channel.from": "從下者中被移除:", + "removed_channel.okay": "確定", + "removed_channel.remover": "您被 {remover} 從 {channel} 移除了", + "removed_channel.someone": "某人", + "rename_channel.cancel": "取消", + "rename_channel.defaultError": " - 預設頻道不能更改", + "rename_channel.displayName": "顯示名稱", + "rename_channel.displayNameHolder": "請輸入顯示名稱", + "rename_channel.handleHolder": "請用小寫英數字", + "rename_channel.lowercase": "請用小寫英數字", + "rename_channel.maxLength": "此欄位必須少於22個字元", + "rename_channel.required": "此欄位是必需的", + "rename_channel.save": "儲存", + "rename_channel.title": "變更頻道名稱", + "rename_channel.url": "網址:", + "rhs_comment.comment": "註解", + "rhs_comment.del": "刪除", + "rhs_comment.edit": "編輯", + "rhs_comment.mobile.flag": "標記", + "rhs_comment.mobile.unflag": "取消標記", + "rhs_comment.permalink": "永久網址", + "rhs_header.backToCallTooltip": "回到通話", + "rhs_header.backToFlaggedTooltip": "回到被標記的訊息", + "rhs_header.backToResultsTooltip": "回到搜尋結果", + "rhs_header.closeSidebarTooltip": "關閉側邊欄", + "rhs_header.closeTooltip": "關閉側邊欄", + "rhs_header.details": "詳細訊息", + "rhs_header.expandSidebarTooltip": "展開側邊欄", + "rhs_header.expandTooltip": "關閉側邊欄", + "rhs_header.shrinkSidebarTooltip": "關閉側邊欄", + "rhs_root.del": "刪除", + "rhs_root.direct": "直接訊息", + "rhs_root.edit": "編輯", + "rhs_root.mobile.flag": "標記", + "rhs_root.mobile.unflag": "取消標記", + "rhs_root.permalink": "永久網址", + "search_bar.search": "搜尋", + "search_bar.usage": "

    搜尋選項

    • \"雙引號\"來搜尋語句
    • from:來搜尋特定使用者的訊息,用in:來搜尋特定頻道
    ", + "search_header.results": "搜尋結果", + "search_header.title2": "最近提及", + "search_header.title3": "被標記的訊息", + "search_item.direct": "直接訊息 (與{username})", + "search_item.jump": "跳至", + "search_results.because": "
    • 如果要搜尋部份語句(如搜尋\"rea\"以尋找\"reach\"或\"reaction\"),請在搜尋詞尾附上*。
    • 為了減少收尋結果,兩個字母的搜尋跟常用字像\"this\"、\"a\"跟\"is\"不會顯示在結果當中。
    ", + "search_results.noResults": "沒有任何結果。再嘗試一次?", + "search_results.usage": "
    • \"雙引號\"來搜尋語句
    • from:來搜尋特定使用者的訊息,用in:來搜尋特定頻道
    ", + "search_results.usageFlag1": "尚未標記任何訊息。", + "search_results.usageFlag2": "可以藉由按下位於時間戳記旁邊的這 ", + "search_results.usageFlag3": " 圖示來標記訊息跟註解。", + "search_results.usageFlag4": "標記是標注訊息以追蹤後續的功能。您的標記是屬於個人的,不會被其他使用者看到。", + "setting_item_max.cancel": "取消", + "setting_item_max.save": "儲存", + "setting_item_min.edit": "編輯", + "setting_picture.cancel": "取消", + "setting_picture.help": "請上傳個人圖像,格式為JPG或PNG,至少寬{width}像素、高{height}像素。", + "setting_picture.save": "儲存", + "setting_picture.select": "選擇", + "setting_upload.import": "匯入", + "setting_upload.noFile": "未選取任何檔案。", + "setting_upload.select": "選取檔案", + "sidebar.channels": "頻道", + "sidebar.createChannel": "建立頻道", + "sidebar.createGroup": "建立群組", + "sidebar.direct": "直接訊息", + "sidebar.favorite": "我的最愛", + "sidebar.more": "更多", + "sidebar.moreElips": "更多...", + "sidebar.otherMembers": "此團隊以外", + "sidebar.pg": "私人群組", + "sidebar.removeList": "從清單中移除", + "sidebar.tutorialScreen1": "

    頻道

    頻道用來展開關於各種話題的對話。頻道對團隊全體都是開放可以任意讀寫的。需要私密通訊時,對單獨一人時使用直接訊息,對多人時使用私人群組

    ", + "sidebar.tutorialScreen2": "

    \"{townsquare}\"跟\"{offtopic}\"頻道

    以下為兩個一開始就建立好的公開頻道:

    {townsquare}是個給團隊之間溝通的地方,您的團隊全員都是這個頻道的成員。

    {offtopic}是個放鬆心情、聊與工作無關事情的地方。您和團隊可以決定要建立其他怎樣的頻道。

    ", + "sidebar.tutorialScreen3": "

    建立和加入頻道

    \"更多...\"來建立新頻道或是加入現有的頻道。

    您也可以藉由按在頻道或是私人群組標題旁邊的\"+\"符號來建立新頻道或是私人群組。

    ", + "sidebar.unreadAbove": "上面有未讀訊息", + "sidebar.unreadBelow": "下面有未讀訊息", + "sidebar_header.tutorial": "

    主選單

    主選單可以邀請新成員,存取帳號設定並設定主題顏色

    團隊管理員也可以在此存取團隊設定

    系統管理員會在此看到系統控制台以管理整個系統。

    ", + "sidebar_right_menu.accountSettings": "帳號設定", + "sidebar_right_menu.console": "系統控制台", + "sidebar_right_menu.flagged": "被標記的訊息", + "sidebar_right_menu.help": "說明", + "sidebar_right_menu.inviteNew": "邀請新成員", + "sidebar_right_menu.logout": "登出", + "sidebar_right_menu.manageMembers": "成員管理", + "sidebar_right_menu.nativeApps": "下載應用程式", + "sidebar_right_menu.recentMentions": "最近提及", + "sidebar_right_menu.report": "回報錯誤", + "sidebar_right_menu.teamLink": "取得團隊邀請連結", + "sidebar_right_menu.teamSettings": "團隊設定", + "sidebar_right_menu.viewMembers": "檢視成員", + "signup.email": "電子郵件跟密碼", + "signup.gitlab": "GitLab 單一登入", + "signup.google": "Google 帳號", + "signup.ldap": "AD/LDAP 認證", + "signup.office365": "Office 365", + "signup.title": "用下列之一建立帳號:", + "signup_team.createTeam": "或是建立團隊", + "signup_team.disabled": "建立團隊功能已被停用。如須使用請聯絡系統管理員。", + "signup_team.join_open": "能加入的團隊:", + "signup_team.noTeams": "團隊列表沒有團隊且建立團隊的功能已被停用。", + "signup_team.no_open_teams": "沒有能加入的團隊。請向管理員詢問邀請。", + "signup_team.no_open_teams_canCreate": "沒有能加入的團隊。請建立團隊或是向管理員詢問邀請。", + "signup_team.no_teams": "沒有現成的團隊。請向管理員聯絡。", + "signup_team.no_teams_canCreate": "沒有現成的團隊。請按下\"建立團隊\"以建立。", + "signup_team.none": "沒有啟用的團隊建立方式。請聯絡管理員。", + "signup_team_complete.completed": "已經完成此邀請的註冊程序,或是此邀請已過期。", + "signup_team_confirm.checkEmail": "請檢查電子郵件{email}
    電子郵件中含有建立團隊的連結", + "signup_team_confirm.title": "註冊完成", + "signup_team_system_console": "前往系統控制台", + "signup_user_completed.choosePwd": "輸入密碼", + "signup_user_completed.chooseUser": "輸入使用者名稱", + "signup_user_completed.create": "建立新帳號", + "signup_user_completed.emailHelp": "註冊需要有效的電子郵件", + "signup_user_completed.emailIs": "您的電子郵件是{email}。請使用這個電子郵件來登入{siteName}。", + "signup_user_completed.expired": "已經完成此邀請的註冊程序,或是此邀請已過期。", + "signup_user_completed.gitlab": "使用 GitLab", + "signup_user_completed.google": "使用 Google", + "signup_user_completed.haveAccount": "已經有帳號了?", + "signup_user_completed.invalid_invite": "無效的邀請連結。請聯絡管理員。", + "signup_user_completed.lets": "讓我們來建立帳號吧", + "signup_user_completed.no_open_server": "此伺服器不開放註冊。請聯絡管理員索要邀請。", + "signup_user_completed.none": "沒有啟用的使用者建立方式。請聯絡系統管理員。", + "signup_user_completed.office365": "使用 Office 365", + "signup_user_completed.onSite": "於{siteName}", + "signup_user_completed.or": "或", + "signup_user_completed.passwordLength": "請至少輸入{min}個字", + "signup_user_completed.required": "此欄位是必需的", + "signup_user_completed.reserved": "此使用者名稱為保留名稱,請選新的名稱。", + "signup_user_completed.signIn": "按此處登入。", + "signup_user_completed.userHelp": "使用者名稱必須要以小寫英字母開頭,最少{min}最多{max}個字,只能使用小寫英字母、數字、'.'、'-'跟'_'", + "signup_user_completed.usernameLength": "使用者名稱必須要以小寫英字母開頭,最少{min}最多{max}個字,只能使用小寫英字母、數字、'.'、'-'跟'_'。", + "signup_user_completed.validEmail": "請輸入一個有效的電子郵件位址", + "signup_user_completed.welcome": "歡迎使用:", + "signup_user_completed.whatis": "您的電子郵件地址是?", + "signup_user_completed.withLdap": "使用 AD/LDAP 認證", + "sso_signup.find": "尋找我的團隊", + "sso_signup.gitlab": "用 GitLab 帳號建立團隊", + "sso_signup.google": "用 Google Apps 帳號建立團隊", + "sso_signup.length_error": "名稱長度為3到15字元", + "sso_signup.teamName": "輸入新團隊名稱", + "sso_signup.team_error": "請輸入團隊名稱", + "suggestion.mention.all": "通知頻道全員。在{townsquare}使用來通知全團隊。", + "suggestion.mention.channel": "通知頻道全員", + "suggestion.mention.channels": "我的頻道", + "suggestion.mention.here": "通知此頻道所有在線的人", + "suggestion.mention.members": "頻道成員", + "suggestion.mention.morechannels": "其他頻道", + "suggestion.mention.nonmembers": "不在頻道中", + "suggestion.mention.special": "特別提及", + "suggestion.search.private": "私人群組", + "suggestion.search.public": "公開頻道", + "team_export_tab.download": "下載", + "team_export_tab.export": "匯出", + "team_export_tab.exportTeam": "匯出團隊", + "team_export_tab.exporting": " 匯出中...", + "team_export_tab.ready": " 準備完畢: ", + "team_export_tab.unable": " 無法匯出:{error}", + "team_import_tab.failure": " 匯入失敗:", + "team_import_tab.import": "匯入", + "team_import_tab.importHelpDocsLink": "說明文件", + "team_import_tab.importHelpExportInstructions": "Slack > Team Settings > Import/Export Data > Export > Start Export", + "team_import_tab.importHelpExporterLink": "Slack 進階匯出", + "team_import_tab.importHelpLine1": "由 Slack 匯入 Mattermost 支援匯入 Slack 團隊公開頻道的訊息。", + "team_import_tab.importHelpLine2": "由 Slack 匯入團隊,請至 {exportInstructions}。請參閱{uploadDocsLink}。", + "team_import_tab.importHelpLine3": "匯入帶有檔案的訊息,請參閱{slackAdvancedExporterLink}。", + "team_import_tab.importSlack": "由 Slack 匯入 (Beta)", + "team_import_tab.importing": " 匯入中...", + "team_import_tab.successful": " 匯入成功:", + "team_import_tab.summary": "檢視摘要", + "team_member_modal.close": "關閉", + "team_member_modal.members": "{team} 成員", + "team_members_dropdown.confirmDemoteDescription": "如果將自己從系統管理員降級且不存在其它有管理員權限的使用者。則您必須以終端機方式存取 Mattermost 伺服器並執行下列命令以重新指定新的系統管理員。", + "team_members_dropdown.confirmDemoteRoleTitle": "確認從系統管理員降級", + "team_members_dropdown.confirmDemotion": "降級確認", + "team_members_dropdown.confirmDemotionCmd": "platform roles system_admin {username}", + "team_members_dropdown.inactive": "停用", + "team_members_dropdown.leave_team": "移出團隊", + "team_members_dropdown.makeActive": "啟用", + "team_members_dropdown.makeAdmin": "設為團隊管理員", + "team_members_dropdown.makeInactive": "停用", + "team_members_dropdown.makeMember": "設為成員", + "team_members_dropdown.member": "成員", + "team_members_dropdown.systemAdmin": "系統管理", + "team_members_dropdown.teamAdmin": "團隊管理", + "team_settings_modal.exportTab": "匯出", + "team_settings_modal.generalTab": "一般", + "team_settings_modal.importTab": "匯入", + "team_settings_modal.title": "團隊設定", + "team_sidebar.join": "其他能加入的團隊。", + "textbox.bold": "**粗體**", + "textbox.edit": "編輯訊息", + "textbox.help": "說明", + "textbox.inlinecode": "`行內程式碼`", + "textbox.italic": "_斜體_", + "textbox.preformatted": "```不排版```", + "textbox.preview": "預覽", + "textbox.quote": ">引用", + "textbox.strike": "删除線", + "tutorial_intro.allSet": "準備就緒", + "tutorial_intro.end": "按\"下一步\"來進入{channel}。這是團隊成員註冊之後第一個頻道。善用此處張貼所有人都需要知道的更新事項。", + "tutorial_intro.invite": "邀請團隊成員", + "tutorial_intro.mobileApps": "安裝 {link} 上的應用程式以便在行進間存取並接收通知。", + "tutorial_intro.mobileAppsLinkText": "PC, Mac, iOS 與 Android", + "tutorial_intro.next": "下一步", + "tutorial_intro.screenOne": "

    歡迎來到:

    Mattermost

    您團隊的溝通將可集中在一處、即時可搜尋並隨地都能取用

    讓團隊連結在一起,達成重要的任務。

    ", + "tutorial_intro.screenTwo": "

    如何運用Mattermost:

    利用公開頻道、私人群組以及直接訊息來相互溝通。

    所有的內容都會被記錄下來並且可以經由任何可以瀏覽網站的桌機、筆電或手機來搜尋。

    ", + "tutorial_intro.skip": "跳過教學", + "tutorial_intro.support": "有任何需要,請寄送電子郵件到 ", + "tutorial_intro.teamInvite": "邀請團隊成員", + "tutorial_intro.whenReady": " 當您準備好。", + "tutorial_tip.next": "下一步", + "tutorial_tip.ok": "確定", + "tutorial_tip.out": "不要顯示提示。", + "tutorial_tip.seen": "曾經看過這個嘛?", + "update_command.cancel": "取消", + "update_command.confirm": "編輯斜線命令", + "update_command.question": "變更可能會導致現有的斜線命令無法使用。您確定要更新嘛?", + "update_command.update": "更新", + "update_incoming_webhook.update": "更新", + "update_outgoing_webhook.confirm": "編輯傳出的 Webhook", + "update_outgoing_webhook.question": "變更可能會導致現有的傳出的 Webhook 無法使用。您確定要更新嘛?", + "update_outgoing_webhook.update": "更新", + "upload_overlay.info": "將檔案拖曳到這裡上傳。", + "user.settings.advance.embed_preview": "訊息中第一個網站連結,嘗試顯示網站內容預覽於訊息下方", + "user.settings.advance.embed_toggle": "內嵌預覽顯示開關", + "user.settings.advance.enabledFeatures": "已啟用 {count, number} 項功能", + "user.settings.advance.formattingDesc": "啟用時,文章會顯示連結、顯示繪文字、套用樣式到文字上並自動斷行。此設定預設為開啟。修改此設定後需要重新讀取頁面以生效。", + "user.settings.advance.formattingTitle": "啟用文章格式設定", + "user.settings.advance.joinLeaveDesc": "當\"啟用\"時,頻道會顯示使用者加入或離開的系統訊息。當\"關閉\"時,頻道會隱藏使用者加入或離開的系統訊息。當您被加入頻道時,不論設定如何都會顯示訊息以提醒您。", + "user.settings.advance.joinLeaveTitle": "啟用加入/離開訊息", + "user.settings.advance.markdown_preview": "在訊息輸入方塊顯示 Markdown 預覽選項", + "user.settings.advance.off": "關閉", + "user.settings.advance.on": "啟用", + "user.settings.advance.preReleaseDesc": "選用任何想預覽的預先發佈功能。更改後可能需要重新讀取頁面以生效。", + "user.settings.advance.preReleaseTitle": "預覽預先發佈功能", + "user.settings.advance.sendDesc": "啟用時,'Enter' 是插入新行而 'Ctrl + Enter' 是貼文。", + "user.settings.advance.sendTitle": "用 Ctrl + Enter 貼文", + "user.settings.advance.slashCmd_autocmp": "啟用外部程式以提供自動完成斜線命令", + "user.settings.advance.title": "進階設定", + "user.settings.advance.webrtc_preview": "啟用此功能以撥打或接收一對一的 WebRTC 通訊", + "user.settings.custom_theme.awayIndicator": "離開標識", + "user.settings.custom_theme.buttonBg": "按鈕 BG", + "user.settings.custom_theme.buttonColor": "按鈕文字", + "user.settings.custom_theme.centerChannelBg": "中央頻道 BG", + "user.settings.custom_theme.centerChannelColor": "中央頻道文字", + "user.settings.custom_theme.centerChannelTitle": "中央頻道樣式", + "user.settings.custom_theme.codeTheme": "程式碼主題", + "user.settings.custom_theme.copyPaste": "用複製貼上來分享主題配色:", + "user.settings.custom_theme.linkButtonTitle": "連結與按鈕的樣式", + "user.settings.custom_theme.linkColor": "連結顏色", + "user.settings.custom_theme.mentionBj": "未讀的提及 BG", + "user.settings.custom_theme.mentionColor": "未讀的提及文字", + "user.settings.custom_theme.mentionHighlightBg": "提及醒目提示 BG", + "user.settings.custom_theme.mentionHighlightLink": "提及醒目提示的連結", + "user.settings.custom_theme.newMessageSeparator": "新訊息的分隔符號", + "user.settings.custom_theme.onlineIndicator": "線上標識", + "user.settings.custom_theme.sidebarBg": "側邊欄 BG", + "user.settings.custom_theme.sidebarHeaderBg": "側邊欄標題 BG", + "user.settings.custom_theme.sidebarHeaderTextColor": "側邊欄標題文字", + "user.settings.custom_theme.sidebarText": "側邊欄文字", + "user.settings.custom_theme.sidebarTextActiveBorder": "側邊欄文字作用中邊框", + "user.settings.custom_theme.sidebarTextActiveColor": "側邊欄文字作用中顏色", + "user.settings.custom_theme.sidebarTextHoverBg": "側邊欄文字暫留 BG", + "user.settings.custom_theme.sidebarTitle": "側邊欄樣式", + "user.settings.custom_theme.sidebarUnreadText": "側邊欄未讀文字", + "user.settings.display.channelDisplayTitle": "頻道顯示模式", + "user.settings.display.channeldisplaymode": "選擇中央頻道的寬度。", + "user.settings.display.clockDisplay": "顯示時間", + "user.settings.display.collapseDesc": "設定圖片預覽預設為收折或是展開。此設定也可以經由斜線命令 /expand 與 /collapse 控制。", + "user.settings.display.collapseDisplay": "圖片連結預覽的預設顯示", + "user.settings.display.collapseOff": "已收摺", + "user.settings.display.collapseOn": "已展開", + "user.settings.display.fixedWidthCentered": "固定寬度,置中對齊", + "user.settings.display.fontDesc": "選擇 Mattermost 使用者介面的字型。", + "user.settings.display.fontTitle": "顯示字型", + "user.settings.display.fullScreen": "全寬", + "user.settings.display.language": "語言", + "user.settings.display.messageDisplayClean": "標準", + "user.settings.display.messageDisplayCleanDes": "容易瀏覽與閱讀。", + "user.settings.display.messageDisplayCompact": "密集", + "user.settings.display.messageDisplayCompactDes": "顯示盡可能多的訊息", + "user.settings.display.messageDisplayDescription": "選擇在頻道裡訊息該如何顯示", + "user.settings.display.messageDisplayTitle": "訊息顯示", + "user.settings.display.militaryClock": "24 小時制(如:16:00)", + "user.settings.display.nameOptsDesc": "設定在訊息及直接訊息列表該如何顯示其他使用者的名字。", + "user.settings.display.normalClock": "12 小時制(如:4:00 PM)", + "user.settings.display.preferTime": "選擇時間顯示方式。", + "user.settings.display.showFullname": "顯示姓跟名", + "user.settings.display.showNickname": "有暱稱時顯示暱稱,沒有時顯示姓跟名", + "user.settings.display.showUsername": "顯示使用者名稱(預設)", + "user.settings.display.teammateDisplay": "團隊成員名稱顯示", + "user.settings.display.theme.applyToAllTeams": "將新主題套用到所有的團隊上", + "user.settings.display.theme.customTheme": "自訂主題", + "user.settings.display.theme.describe": "管理主題", + "user.settings.display.theme.import": "從 Slack 匯入主題配色", + "user.settings.display.theme.otherThemes": "瀏覽其他的主題", + "user.settings.display.theme.themeColors": "主題配色", + "user.settings.display.theme.title": "主題", + "user.settings.display.title": "顯示設定", + "user.settings.general.checkEmail": "請檢查電子郵件信箱 {email} 以驗證電子郵件地址。", + "user.settings.general.checkEmailNoAddress": "請檢查電子郵件信箱以驗證新的電子郵件地址。", + "user.settings.general.close": "關閉", + "user.settings.general.confirmEmail": "電子郵件地址確認", + "user.settings.general.email": "電子郵件地址", + "user.settings.general.emailGitlabCantUpdate": "經由 GitLab 登入。無法變更電子郵件地址。通知將會寄送到 {email}。", + "user.settings.general.emailGoogleCantUpdate": "經由 Google 登入。無法變更電子郵件地址。通知將會寄送到 {email}。", + "user.settings.general.emailHelp1": "電子郵件地址將會用在登入、通知跟重置密碼。更改時需要重新驗證。", + "user.settings.general.emailHelp2": "系統管理員已停用電子郵件。在被啟用之前將不會有通知郵件寄出。", + "user.settings.general.emailHelp3": "電子郵件地址將會用在登入、通知跟重置密碼。", + "user.settings.general.emailHelp4": "驗證用電子郵件已寄出到 {email} 。", + "user.settings.general.emailLdapCantUpdate": "經由 AD/LDAP 登入。無法變更電子郵件地址。通知將會寄送到 {email}。", + "user.settings.general.emailMatch": "您輸入的新電子郵件地址不一致。", + "user.settings.general.emailOffice365CantUpdate": "經由 Office 365 登入。無法變更電子郵件地址。通知將會寄送到 {email}。", + "user.settings.general.emailSamlCantUpdate": "經由 SAML 登入。無法變更電子郵件地址。通知將會寄送到 {email}。", + "user.settings.general.emailUnchanged": "您的新電子郵件地址跟舊的一樣。", + "user.settings.general.emptyName": "按'編輯'以增加全名", + "user.settings.general.emptyNickname": "按'編輯'以增加暱稱", + "user.settings.general.emptyPosition": "點選'編輯'以增加工作職稱/職位", + "user.settings.general.field_handled_externally": "此欄位由您的登入提供者決定。如果想變更它,得經由登入提供者變更。", + "user.settings.general.firstName": "名字", + "user.settings.general.fullName": "全名", + "user.settings.general.imageTooLarge": "無法上傳個人圖像。檔案過大。", + "user.settings.general.imageUpdated": "圖像最新更新於 {date}", + "user.settings.general.lastName": "姓氏", + "user.settings.general.loginGitlab": "已經由 GitLab 登入 ({email})", + "user.settings.general.loginGoogle": "已經由 Google 登入 ({email})", + "user.settings.general.loginLdap": "已經由 AD/LDAP 登入 ({email})", + "user.settings.general.loginOffice365": "已經由 Office 365 登入 ({email})", + "user.settings.general.loginSaml": "已經由 SAML 登入 ({email})", + "user.settings.general.newAddress": "新電子郵件地址:{email}
    請檢查電子郵件信箱以驗證上面的地址。", + "user.settings.general.nickname": "匿稱", + "user.settings.general.nicknameExtra": "暱稱讓您有個除了名字跟使用者名稱以外的稱呼。這通常使用在有多個人的名字跟使用者名稱聽起來差不多的情況。", + "user.settings.general.notificationsExtra": "預設情況下當有人輸入您的名字時您將會收到提及通知。請到{notify}以變更設定。", + "user.settings.general.notificationsLink": "通知", + "user.settings.general.position": "職位", + "user.settings.general.positionExtra": "用職位表示您的角色或職稱。這將會顯示於個人資訊中。", + "user.settings.general.primaryEmail": "主要電子郵件地址", + "user.settings.general.profilePicture": "個人圖像", + "user.settings.general.title": "一般設定", + "user.settings.general.uploadImage": "按下'編輯'以上傳圖像。", + "user.settings.general.username": "使用者名稱", + "user.settings.general.usernameInfo": "選個團隊成員容易識別及記憶的名稱。", + "user.settings.general.usernameReserved": "此使用者名稱為保留名稱,請選新的名稱。", + "user.settings.general.usernameRestrictions": "使用者名稱必須要以小寫英字母開頭,最少{min}最多{max}個字,只能使用小寫英字母、數字、'.'、'-'跟'_'。", + "user.settings.general.validEmail": "請輸入一個有效的電子郵件位址", + "user.settings.general.validImage": "個人圖像只能使用 JPG 或 PNG 圖片", + "user.settings.import_theme.cancel": "取消", + "user.settings.import_theme.importBody": "如何匯入主題:前往 Slack 團隊並找尋\"Preferences -> Sidebar Theme\"。開啟自訂主題選項,複製主題配色的值並貼上於此:", + "user.settings.import_theme.importHeader": "匯入 Slack 主題", + "user.settings.import_theme.submit": "送出", + "user.settings.import_theme.submitError": "無效的格式,請再一次嘗試複製貼上。", + "user.settings.languages.change": "變更介面語言", + "user.settings.languages.promote": "選擇 Mattermost 用哪種語言顯示使用者界面。

    想要幫忙翻譯嘛?加入 Mattermost 翻譯伺服器 來幫忙。", + "user.settings.mfa.add": "為您的帳號加上多重要素驗證", + "user.settings.mfa.addHelp": "增加多重要素驗證將會在每次登入時要求輸入來自手機上的代碼,藉此讓您的帳號更為安全。", + "user.settings.mfa.addHelpQr": "請用手機上的 Google Authenticator 應用程式掃描 QR 碼並填入應用程式提供的 Token。如果無法掃描 QR 碼,可以手動輸入密碼。", + "user.settings.mfa.enterToken": "Token (僅限數字)", + "user.settings.mfa.qrCode": "條碼", + "user.settings.mfa.remove": "從您的帳號移除多重要素驗證", + "user.settings.mfa.removeHelp": "刪除多重因子認證後將不再需要一個基於手機的密碼以登入帳戶。", + "user.settings.mfa.requiredHelp": "此伺服器要求多重要素驗證。建議只在需要換新手機以產生代碼時重置。您馬上會被要求再次設定。", + "user.settings.mfa.reset": "重置多重要素驗證", + "user.settings.mfa.secret": "密碼", + "user.settings.mfa.title": "多重要素驗證", + "user.settings.modal.advanced": "進階", + "user.settings.modal.confirmBtns": "是,放棄它們", + "user.settings.modal.confirmMsg": "還有未儲存的變更,要放棄它們嘛?", + "user.settings.modal.confirmTitle": "放棄變更?", + "user.settings.modal.display": "顯示", + "user.settings.modal.general": "一般", + "user.settings.modal.notifications": "通知", + "user.settings.modal.security": "安全", + "user.settings.modal.title": "帳號設定", + "user.settings.notifications.allActivity": "所有的活動", + "user.settings.notifications.channelWide": "對頻道全員的提及 \"@channel\"、\"@all\"", + "user.settings.notifications.close": "關閉", + "user.settings.notifications.comments": "回覆通知", + "user.settings.notifications.commentsAny": "我開啟或是有參與的討論串有回覆時觸發通知", + "user.settings.notifications.commentsInfo": "除了被提及的時候通知外,選擇是否要接受討論串回覆通知。", + "user.settings.notifications.commentsNever": "回覆串訊息只有在提及時觸發通知。", + "user.settings.notifications.commentsRoot": "我開啟的討論串有訊息時觸發通知", + "user.settings.notifications.desktop": "發送桌面通知", + "user.settings.notifications.desktop.allFirefoxForever": "所有的活動,一直顯示", + "user.settings.notifications.desktop.allFirefoxTimed": "所有的活動,顯示 {seconds} 秒", + "user.settings.notifications.desktop.allNoSoundForever": "所有的活動,無通知音效,一直顯示", + "user.settings.notifications.desktop.allNoSoundTimed": "所有的活動,無通知音效,顯示 {seconds} 秒", + "user.settings.notifications.desktop.allSoundForever": "所有的活動,有通知音效,一直顯示", + "user.settings.notifications.desktop.allSoundTimed": "所有的活動,有通知音效,顯示 {seconds} 秒", + "user.settings.notifications.desktop.duration": "通知長度", + "user.settings.notifications.desktop.durationInfo": "設定在 Firefox 或 Chrome 中桌面通知將停留在畫面上多久。Edge 與 Safari 的桌面通知最多僅能停留5秒。", + "user.settings.notifications.desktop.mentionsFirefoxForever": "提及跟直接訊息,一直顯示", + "user.settings.notifications.desktop.mentionsFirefoxTimed": "提及跟直接訊息,顯示 {seconds} 秒", + "user.settings.notifications.desktop.mentionsNoSoundForever": "提及跟直接訊息,無通知音效,一直顯示", + "user.settings.notifications.desktop.mentionsNoSoundTimed": "提及跟直接訊息,無通知音效,顯示 {seconds} 秒", + "user.settings.notifications.desktop.mentionsSoundForever": "提及跟直接訊息,有通知音效,一直顯示", + "user.settings.notifications.desktop.mentionsSoundTimed": "提及跟直接訊息,有通知音效,顯示 {seconds} 秒", + "user.settings.notifications.desktop.seconds": "{seconds} 秒", + "user.settings.notifications.desktop.sound": "通知音效", + "user.settings.notifications.desktop.title": "桌面通知", + "user.settings.notifications.desktop.unlimited": "無限制", + "user.settings.notifications.desktopSounds": "桌面通知音效", + "user.settings.notifications.email.everyHour": "每小時", + "user.settings.notifications.email.everyXMinutes": "每 {count} 分鐘", + "user.settings.notifications.email.immediately": "立即", + "user.settings.notifications.email.never": "永不", + "user.settings.notifications.email.send": "發送電子郵件通知", + "user.settings.notifications.emailBatchingInfo": "於所選的時間間隔內收到的通知將被合併成一封電子郵件寄送。", + "user.settings.notifications.emailInfo": "在離線或是離開 {siteName} 超過 5 分鐘時,會發送電子郵件以通知關於您的提及與直接訊息。", + "user.settings.notifications.emailNotifications": "電子郵件通知", + "user.settings.notifications.header": "通知", + "user.settings.notifications.info": "桌面通知支援 Edge、Firefox、Safari、Chrome 跟 Mattermost 桌面應用程式。", + "user.settings.notifications.mentionsInfo": "提及會在某人發送含有您的使用者名稱(\"@{username}\")或上面任何選取的選項時被觸發。", + "user.settings.notifications.never": "永不", + "user.settings.notifications.noWords": "沒有設定單字", + "user.settings.notifications.off": "關閉", + "user.settings.notifications.on": "啟用", + "user.settings.notifications.onlyMentions": "僅限於提及跟直接訊息", + "user.settings.notifications.push": "行動推播", + "user.settings.notifications.push_notification.status": "何時觸發推播通知", + "user.settings.notifications.sensitiveName": "您的名字,區分大小寫:\"{first_name}\"", + "user.settings.notifications.sensitiveUsername": "您的使用者名稱,不區分大小寫:\"{username}\"", + "user.settings.notifications.sensitiveWords": "其他不區分大小寫的字,用逗號分隔:", + "user.settings.notifications.soundConfig": "請在瀏覽器設置中設定通知聲音", + "user.settings.notifications.sounds_info": "通知音效支援 IE11、Edge、Safari、Chrome 跟 Mattermost 桌面應用程式。", + "user.settings.notifications.teamWide": "對團隊全員的提及 \"@all\"", + "user.settings.notifications.title": "通知設定", + "user.settings.notifications.wordsTrigger": "觸發提及的字", + "user.settings.push_notification.allActivity": "所有的活動", + "user.settings.push_notification.allActivityAway": "離開或離線時的所有活動", + "user.settings.push_notification.allActivityOffline": "離線時的所有活動", + "user.settings.push_notification.allActivityOnline": "線上、離開或離線時的所有活動", + "user.settings.push_notification.away": "離開或離線", + "user.settings.push_notification.disabled": "被系統管理員停用", + "user.settings.push_notification.disabled_long": "行動裝置推播已被系統管理員停用。", + "user.settings.push_notification.info": "當 Mattermost 有活動時會推發通知提醒到您的行動裝置。", + "user.settings.push_notification.off": "關閉", + "user.settings.push_notification.offline": "離線", + "user.settings.push_notification.online": "線上、離開或離線", + "user.settings.push_notification.onlyMentions": "僅限於提及跟直接訊息", + "user.settings.push_notification.onlyMentionsAway": "線上、離開或離線時的提及跟直接訊息", + "user.settings.push_notification.onlyMentionsOffline": "離線時的提及跟直接訊息", + "user.settings.push_notification.onlyMentionsOnline": "線上、離開或離線時的提及跟直接訊息", + "user.settings.push_notification.send": "發送行動推播通知", + "user.settings.push_notification.status": "何時觸發推播通知", + "user.settings.push_notification.status_info": "只有在上線狀態符合上面的選項時才會發送通知到行動裝置上。", + "user.settings.security.close": "關閉", + "user.settings.security.currentPassword": "目前的密碼", + "user.settings.security.currentPasswordError": "請輸入原先的密碼。", + "user.settings.security.deauthorize": "解除授權", + "user.settings.security.emailPwd": "電子郵件跟密碼", + "user.settings.security.gitlab": "GitLab", + "user.settings.security.google": "Google", + "user.settings.security.lastUpdated": "最後一次更新於 {date} {time}", + "user.settings.security.ldap": "AD/LDAP", + "user.settings.security.loginGitlab": "已經由 GitLab 登入", + "user.settings.security.loginGoogle": "經由 Gooel Apps 登入", + "user.settings.security.loginLdap": "已經由 AD/LDAP 登入", + "user.settings.security.loginOffice365": "經由 Office 365 登入", + "user.settings.security.loginSaml": "已經由 SAML 登入", + "user.settings.security.logoutActiveSessions": "觀看並登出使用中的工作階段", + "user.settings.security.method": "登入方式", + "user.settings.security.newPassword": "新密碼", + "user.settings.security.noApps": "尚未授權給任一 OAuth 2.0 應用程式。", + "user.settings.security.oauthApps": "OAuth 2.0 應用程式", + "user.settings.security.oauthAppsDescription": "按'編輯'來管理 OAuth 2.0 應用程式", + "user.settings.security.oauthAppsHelp": "應用程式根據您准許的權限代表您存取個人資料。", + "user.settings.security.office365": "Office 365", + "user.settings.security.oneSignin": "同時間只能只用一種登入方式。如果更換登入方式成功,將會寄送通知信。", + "user.settings.security.password": "密碼", + "user.settings.security.passwordError": "密碼最短必須有{min}個字元。", + "user.settings.security.passwordErrorLowercase": "密碼最短必須有{min}個字元且至少有一個小寫英文字母。", + "user.settings.security.passwordErrorLowercaseNumber": "密碼最短必須有{min}個字元且至少有一個小寫英文字母和一個數字。", + "user.settings.security.passwordErrorLowercaseNumberSymbol": "密碼最短必須有{min}個字元且至少有一個小寫英文字母、一個數字和一個符號(\"~!@#$%^&*()\")。", + "user.settings.security.passwordErrorLowercaseSymbol": "密碼最短必須有{min}個字元且至少有一個小寫英文字母和一個符號(\"~!@#$%^&*()\")。", + "user.settings.security.passwordErrorLowercaseUppercase": "密碼最短必須有{min}個字元且至少有一個小寫英文字母和一個大寫英文字母。", + "user.settings.security.passwordErrorLowercaseUppercaseNumber": "密碼最短必須有{min}個字元且至少有一個小寫英文字母、一個大寫英文字母和一個數字。", + "user.settings.security.passwordErrorLowercaseUppercaseNumberSymbol": "密碼最短必須有{min}個字元且至少有一個小寫英文字母、一個大寫英文字母、一個數字和一個符號(\"~!@#$%^&*()\")。", + "user.settings.security.passwordErrorLowercaseUppercaseSymbol": "密碼最短必須有{min}個字元且至少有一個小寫英文字母、一個大寫英文字母和一個符號(\"~!@#$%^&*()\")。", + "user.settings.security.passwordErrorNumber": "密碼最短必須有{min}個字元且至少有一個數字。", + "user.settings.security.passwordErrorNumberSymbol": "密碼最短必須有{min}個字元且至少有一個數字和一個符號(\"~!@#$%^&*()\")。", + "user.settings.security.passwordErrorSymbol": "密碼最短必須有{min}個字元且至少有一個符號(\"~!@#$%^&*()\")。", + "user.settings.security.passwordErrorUppercase": "密碼最短必須有{min}個字元且至少有一個大寫英文字母。", + "user.settings.security.passwordErrorUppercaseNumber": "密碼最短必須有{min}個字元且至少有一個大寫英文字母和一個數字。", + "user.settings.security.passwordErrorUppercaseNumberSymbol": "密碼最短必須有{min}個字元且至少有一個大寫英文字母、一個數字和一個符號(\"~!@#$%^&*()\")。", + "user.settings.security.passwordErrorUppercaseSymbol": "密碼最短必須有{min}個字元且至少有一個大寫英文字母和一個符號(\"~!@#$%^&*()\")。", + "user.settings.security.passwordGitlabCantUpdate": "經由 GitLab 登入。無法變更密碼。", + "user.settings.security.passwordGoogleCantUpdate": "經由 Gooel Apps 登入。無法變更密碼。", + "user.settings.security.passwordLdapCantUpdate": "經由 AD/LDAP 登入。無法變更密碼。", + "user.settings.security.passwordMatchError": "輸入的新密碼不一致。", + "user.settings.security.passwordMinLength": "無效的最短長度,無法顯示預覽。", + "user.settings.security.passwordOffice365CantUpdate": "經由 Office 365 登入。無法變更密碼。", + "user.settings.security.passwordSamlCantUpdate": "此欄位由您的登入提供者決定。如果想變更它,得經由登入提供者變更。", + "user.settings.security.retypePassword": "再次輸入新密碼", + "user.settings.security.saml": "SAML", + "user.settings.security.switchEmail": "切換至電子郵件地址及密碼", + "user.settings.security.switchGitlab": "改為使用 GitLab SSO", + "user.settings.security.switchGoogle": "改為使用 Google SSO", + "user.settings.security.switchLdap": "改為使用 AD/LDAP", + "user.settings.security.switchOffice365": "改為使用 Office 365 SSO", + "user.settings.security.switchSaml": "改為使用 SAML SSO", + "user.settings.security.title": "安全性設定", + "user.settings.security.viewHistory": "檢視存取紀錄", + "user_list.notFound": "找不到任何使用者", + "user_profile.send.dm": "發送訊息", + "user_profile.webrtc.call": "開始視訊通話", + "user_profile.webrtc.offline": "使用者離線中", + "user_profile.webrtc.unavailable": "在當前通訊結束前不能建立新的通訊", + "view_image.loading": "載入中", + "view_image_popover.download": "下載", + "view_image_popover.file": "檔案 {count} / {total}", + "view_image_popover.publicLink": "取得公開連結", + "web.footer.about": "關於", + "web.footer.help": "說明", + "web.footer.privacy": "隱私", + "web.footer.terms": "條款", + "web.header.back": "返回", + "web.header.logout": "登出", + "web.root.signup_info": "團隊溝通皆在同處,隨時隨地皆可搜尋與存取。", + "webrtc.busy": "{username} 通話中。", + "webrtc.call": "通訊", + "webrtc.callEnded": "與 {username} 的通訊結束了。", + "webrtc.cancel": "取消通訊", + "webrtc.cancelled": "{username} 取消了通訊。", + "webrtc.declined": "{username} 拒絕了通訊。", + "webrtc.disabled": "{username} 停用了 WebRTC,無法接收通訊。他必須到 帳號設定 > 進階 > 預覽預先發佈功能 啟用 WebRTC 以啟用此功能。", + "webrtc.failed": "連接視訊通話時發生錯誤。", + "webrtc.hangup": "掛斷", + "webrtc.header": "與 {username} 的通訊", + "webrtc.inProgress": "通訊中。請先掛斷現在的通訊。", + "webrtc.mediaError": "無法存取攝影機或麥克風。", + "webrtc.mute_audio": "麥克風靜音", + "webrtc.noAnswer": "{username} 沒有接聽呼叫。", + "webrtc.notification.answer": "接聽", + "webrtc.notification.decline": "拒絕", + "webrtc.notification.incoming_call": "{username} 來電。", + "webrtc.notification.returnToCall": "返回到與 {username} 的通訊", + "webrtc.offline": "{username} 不在線上。", + "webrtc.pause_video": "關閉攝影機", + "webrtc.unmute_audio": "解除麥克風靜音", + "webrtc.unpause_video": "開啟攝影機", + "webrtc.unsupported": "{username} 的用戶端不支援視訊通話。", + "youtube_video.notFound": "找不到影片" +} diff --git a/webapp/i18n/zh_CN.json b/webapp/i18n/zh_CN.json deleted file mode 100644 index ad35efe10..000000000 --- a/webapp/i18n/zh_CN.json +++ /dev/null @@ -1,2279 +0,0 @@ -{ - "about.close": "关闭", - "about.copyright": "版权所有 2016 Mattermost, Inc. 保留所有权利", - "about.database": "数据库:", - "about.date": "创建日期:", - "about.enterpriseEditionLearn": "了解更多关于企业版:", - "about.enterpriseEditionSt": "位于防火墙后的现代通讯方式。", - "about.enterpriseEditione1": "企业版本", - "about.hash": "构建哈希:", - "about.hashee": "构建EE哈希:", - "about.licensed": "授权于:", - "about.number": "编译号:", - "about.teamEditionLearn": "加入Mattermost社区", - "about.teamEditionSt": "所有团队的通讯一站式解决,随时随地可搜索和访问。", - "about.teamEditiont0": "团队版本", - "about.teamEditiont1": "企业版本", - "about.title": "关于Mattermost", - "about.version": "版本:", - "access_history.title": "访问历史", - "activity_log.activeSessions": "活动会话", - "activity_log.browser": "浏览器: {browser}", - "activity_log.firstTime": "首次登录时间: {date}, {time}", - "activity_log.lastActivity": "最后操作: {date}, {time}", - "activity_log.logout": "注销", - "activity_log.moreInfo": "更多信息", - "activity_log.os": "系统: {os}", - "activity_log.sessionId": "会话ID: {id}", - "activity_log.sessionsDescription": "当您在设备的新浏览器中登录时,将创建会话。会话让您使用Mattermost时无需在系统管理员限定的时间段内重新登录。如果您希望早些退出,点击下方的‘注销’按钮结束会话。", - "activity_log_modal.android": "安卓", - "activity_log_modal.androidNativeApp": "Android本地App", - "activity_log_modal.desktop": "电脑应用", - "activity_log_modal.iphoneNativeApp": "iPhone本地App", - "add_command.autocomplete": "自动完成", - "add_command.autocomplete.help": "(可选) 在自动完成列表显示斜杠命令。", - "add_command.autocompleteDescription": "自动完成描述", - "add_command.autocompleteDescription.help": "(可选) 在自动补全列表中显示斜杠命令的简述。", - "add_command.autocompleteDescription.placeholder": "例如:\"返回病人记录搜索结果\"", - "add_command.autocompleteHint": "自动完成提示", - "add_command.autocompleteHint.help": "(可选) 你的斜杠命令在自动完成列表中显示的参数。", - "add_command.autocompleteHint.placeholder": "例如: [患者姓名]", - "add_command.cancel": "取消", - "add_command.description": "描述", - "add_command.description.help": "传入 webhook 的简述。", - "add_command.displayName": "显示名称", - "add_command.displayName.help": "您的斜杠命令显示名,最多64字。", - "add_command.doneHelp": "您的斜杠命令已设定。以下令牌将包含在传出负载。请用这来验证请求是否来自您的Mattermost团队(详见文档)。", - "add_command.iconUrl": "回复图标", - "add_command.iconUrl.help": "(可选) 选择一个头像覆盖此斜杠命令产生的信息。输入的.png或.jpg文件URL至少128像素x128像素。", - "add_command.iconUrl.placeholder": "https://www.example.com/myicon.png", - "add_command.method": "请求方式", - "add_command.method.get": "GET", - "add_command.method.help": "命令的类型发给请求URL的请求。", - "add_command.method.post": "POST", - "add_command.save": "保存", - "add_command.token": "令牌:{token}", - "add_command.trigger": "命令触发词", - "add_command.trigger.help": "触发关键字必须唯一,且不能以斜杠开头或含空格。", - "add_command.trigger.helpExamples": "例:client, employee, patient, weather", - "add_command.trigger.helpReserved": "预留:{link}", - "add_command.trigger.helpReservedLinkText": "查看内置斜杠指令列表", - "add_command.trigger.placeholder": "命令触发关键字,例如 \"hello\"", - "add_command.triggerInvalidLength": "触发器关键词必须包含 {min} 至 {max} 个字", - "add_command.triggerInvalidSlash": "触发器关键词不能以 / 开头", - "add_command.triggerInvalidSpace": "触发器关键词不能包含空格", - "add_command.triggerRequired": "需要一个触发关键词", - "add_command.url": "请求URL", - "add_command.url.help": "接收HTTP POST或GET斜杠命令运行时事件请求的回调URL。", - "add_command.url.placeholder": "必须以http://或https://开始", - "add_command.urlRequired": "需要一个请求的URL", - "add_command.username": "回复用户名", - "add_command.username.help": "(可选) 选择一个用户名用于覆盖这个命令回应。用户名可以包含多达22个小写字母,数字以及符号 \"-\",\"_\" 和 \".\" 字符。", - "add_command.username.placeholder": "用户名", - "add_emoji.cancel": "取消", - "add_emoji.header": "添加", - "add_emoji.image": "图像", - "add_emoji.image.button": "选择", - "add_emoji.image.help": "选择个文件做为您的表情符。图库可为最大 1 MB 的 gif, png 或 jpeg 文件。如果尺寸超过 128 像素长 128 像素高将自动缩小但将保留比例。", - "add_emoji.imageRequired": "表情符号需要个图片", - "add_emoji.name": "名称", - "add_emoji.name.help": "选择一个多达64个小写字母,数字以及符号 '-' 和 '_' 字符组成的用户名用于表情符号。", - "add_emoji.nameInvalid": "表情符号的名称只能包含数字,字母和符号' - '和'_'。", - "add_emoji.nameRequired": "表情符号需要个名称", - "add_emoji.nameTaken": "此名称已被系统表情符号使用。请重新选个名称。", - "add_emoji.preview": "预览", - "add_emoji.preview.sentence": "这句话带有 {image} 。", - "add_emoji.save": "保存", - "add_incoming_webhook.cancel": "取消", - "add_incoming_webhook.channel": "频道", - "add_incoming_webhook.channel.help": "接收 webhook 的公开频道或私有组。您必须属于该私有组才能设定webhook。", - "add_incoming_webhook.channelRequired": "需要是有效的频道", - "add_incoming_webhook.description": "描述", - "add_incoming_webhook.description.help": "传入webhook的简述。", - "add_incoming_webhook.displayName": "显示名称", - "add_incoming_webhook.displayName.help": "传入webhook的显示名,最多64字。", - "add_incoming_webhook.doneHelp": "您的传入webhook已设定。请传数据至此网址(详见文档)。", - "add_incoming_webhook.name": "名称", - "add_incoming_webhook.save": "保存", - "add_incoming_webhook.url": "网址:{url}", - "add_oauth_app.callbackUrls.help": "用户在接收或拒绝授权您的应用后重转向的网址,同时用来处理授权码或访问令牌。比为以 http:// 或 https:// 开头的有效网址。", - "add_oauth_app.callbackUrlsRequired": "需要一个或多个回调URL", - "add_oauth_app.clientId": "客户端ID:{id}", - "add_oauth_app.clientSecret": "客户端秘密:{secret}", - "add_oauth_app.description.help": "您的 OAuth 2.0 应用描述。", - "add_oauth_app.descriptionRequired": "OAuth 2.0 应用描述为必填。", - "add_oauth_app.doneHelp": "您的 OAuth 2.0 应用已设置。请在您应用申请授权时使用以下客户端 ID 和客户端秘密 (参见文档了解详情)。", - "add_oauth_app.doneUrlHelp": "以下是您许可的重指向网址。", - "add_oauth_app.header": "添加", - "add_oauth_app.homepage.help": "OAuth 2.0 应用首页网址。请您确认有根据服务器设置使用 HTTP 或 HTTPS 网址。", - "add_oauth_app.homepageRequired": "OAuth 2.0 应用首页网址为必填。", - "add_oauth_app.icon.help": "(可选) 指向您的 OAuth 2.0 应用的图片网址。请您确认您的网址使用 HTTP 或 HTTPS。", - "add_oauth_app.name.help": "您的 OAuth 2.0 应用显示名,最多64字。", - "add_oauth_app.nameRequired": "OAuth 2.0 应用名为必填。", - "add_oauth_app.trusted.help": "当设为是时,OAuth 2.0 应用将被 Mattermost 服务器信任且不需用户同意授权。当设为否时,将会弹出新窗口询问用户同意或拒绝授权。", - "add_oauth_app.url": "网址:{url}", - "add_outgoing_webhook.callbackUrls": "回调URL(每行一个)", - "add_outgoing_webhook.callbackUrls.help": "信息传输到的网址。", - "add_outgoing_webhook.callbackUrlsRequired": "需要一个或多个回调URL", - "add_outgoing_webhook.cancel": "取消", - "add_outgoing_webhook.channel": "频道", - "add_outgoing_webhook.channel.help": "接收webhook的公开频道。设定一个以上的触发关键字时此项为可选。", - "add_outgoing_webhook.contentType.help1": "选择发送的回复时的内容类型。", - "add_outgoing_webhook.contentType.help2": "如果选择了 application/x-www-form-urlencoded,服务器将认为您会将参数以URL格式编码。", - "add_outgoing_webhook.contentType.help3": "如果选择了 application/json,服务器将认为您会传送 JSON 数据。", - "add_outgoing_webhook.content_Type": "内容类型", - "add_outgoing_webhook.description": "描述", - "add_outgoing_webhook.description.help": "您的传出webhook简述。", - "add_outgoing_webhook.displayName": "显示名称", - "add_outgoing_webhook.displayName.help": "传出webhook的显示名,最多64字。", - "add_outgoing_webhook.doneHelp": "您的传出webhook已设定。以下令牌将包含在传出负载。请用这来验证请求是否来自您的Mattermost团队(详见文档)。", - "add_outgoing_webhook.name": "名称", - "add_outgoing_webhook.save": "保存", - "add_outgoing_webhook.token": "令牌:{token}", - "add_outgoing_webhook.triggerWords": "触发词(一行一个)", - "add_outgoing_webhook.triggerWords.help": "以设定关键字开头的信息将触发传出webhook。如果有选择频道此项则为可选。", - "add_outgoing_webhook.triggerWordsOrChannelRequired": "需要一个有效的频道或一个触发关键字列表", - "add_outgoing_webhook.triggerWordsTriggerWhen": "触发时机", - "add_outgoing_webhook.triggerWordsTriggerWhen.help": "选择何时触发传出webhook:信息第一个词符合触发关键字或时以触发关键字开头。", - "add_outgoing_webhook.triggerWordsTriggerWhenFullWord": "第一个完全符合触发关键字", - "add_outgoing_webhook.triggerWordsTriggerWhenStartsWith": "第一字以触发关键字为开头", - "admin.advance.cluster": "高可用性 (Beta)", - "admin.advance.metrics": "性能监视", - "admin.audits.reload": "重新载入用户活动日志", - "admin.audits.title": "用户活动日志", - "admin.authentication.email": "邮件验证", - "admin.authentication.gitlab": "GitLab", - "admin.authentication.ldap": "AD/LDAP", - "admin.authentication.oauth": "OAuth 2.0", - "admin.authentication.saml": "SAML", - "admin.banner.heading": "注释:", - "admin.cluster.enableDescription": "当设为是时,Mattermost 将以高可用性模式运行。请参考文档了解 Mattermost 的高可用性。", - "admin.cluster.enableTitle": "开启高可用性模式:", - "admin.cluster.interNodeListenAddressDesc": "服务器与其他服务器通讯的监听地址。", - "admin.cluster.interNodeListenAddressEx": "例如 \":8075\"", - "admin.cluster.interNodeListenAddressTitle": "互连节点监听地址:", - "admin.cluster.interNodeUrlsDesc": "所有Mattermost服务器的内部/私有网址用逗号分开。", - "admin.cluster.interNodeUrlsEx": "例如 \"http://10.10.10.30, http://10.10.10.31\"", - "admin.cluster.interNodeUrlsTitle": "互连节点网址:", - "admin.cluster.loadedFrom": "此配置文件是从节点 ID {clusterId} 加载的。如果您在通过负载均衡服务器访问系统控制时遇到问题,请参考我们的文档中的排错手册。", - "admin.cluster.noteDescription": "修改此分类中的属性需要重启服务器才能生效。当高可用性模式开启时,系统控制台将设为只读且只能通过修改配置文件进行改动。", - "admin.cluster.should_not_change": "警告:这些设定可能不会与其他机群服务器同步。高可用性互连节点通讯只会在您确保所有服务器中的config.json一致并重启Mattermost后开启。请见文档了解如何从机群里添加或删除服务器。如果您在通过负载均衡服务器访问系统控制且遇到问题,请见我们的文档中的排错手册。", - "admin.cluster.status_table.config_hash": "配置文件MD5", - "admin.cluster.status_table.hostname": "主机名", - "admin.cluster.status_table.id": "节点 ID", - "admin.cluster.status_table.reload": "重加载机群状态", - "admin.cluster.status_table.status": "状态", - "admin.cluster.status_table.url": "互连节点网址", - "admin.cluster.status_table.version": "版本:", - "admin.compliance.directoryDescription": "用户保存守规报告。如果为空,将被设置为 ./data/。", - "admin.compliance.directoryExample": "例如 \"./data/\"", - "admin.compliance.directoryTitle": "守规报告目录:", - "admin.compliance.enableDailyDesc": "如果是正确的,Mattermost将生成一个每日合规报告。", - "admin.compliance.enableDailyTitle": "启用每日报告", - "admin.compliance.enableDesc": "当设为是时,Mattermost 允许从合规和审计标签进行合规报告。参见文档了解详情。", - "admin.compliance.enableTitle": "启动守规报告:", - "admin.compliance.false": "否", - "admin.compliance.noLicense": "

    提示:

    守规是一个企业平台特性。您当前的证书不支持守规。请点击这里获取企业证书的信息和价格。

    ", - "admin.compliance.save": "保存", - "admin.compliance.saving": "保存配置中...", - "admin.compliance.title": "合规性设置", - "admin.compliance.true": "是", - "admin.compliance_reports.desc": "职位名称", - "admin.compliance_reports.desc_placeholder": "例如 \"Audit 445 for HR\"", - "admin.compliance_reports.emails": "电子邮件:", - "admin.compliance_reports.emails_placeholder": "例如 \"bill@example.com,bob@example.com\"", - "admin.compliance_reports.from": "来自:", - "admin.compliance_reports.from_placeholder": "例如 \"2016-03-11\"", - "admin.compliance_reports.keywords": "关键字:", - "admin.compliance_reports.keywords_placeholder": "例如 \"shorting stock\"", - "admin.compliance_reports.reload": "重新载入任务报告", - "admin.compliance_reports.run": "守规报告", - "admin.compliance_reports.title": "合规性报告", - "admin.compliance_reports.to": "To:", - "admin.compliance_reports.to_placeholder": "例如 \"2016-03-15\"", - "admin.compliance_table.desc": "描述", - "admin.compliance_table.download": "下载", - "admin.compliance_table.params": "参数", - "admin.compliance_table.records": "记录", - "admin.compliance_table.status": "状态", - "admin.compliance_table.timestamp": "时间戳", - "admin.compliance_table.type": "类型", - "admin.compliance_table.userId": "被...要求", - "admin.connectionSecurityNone": "无", - "admin.connectionSecurityNoneDescription": "Mattermost 将创建一个不安全的连接。", - "admin.connectionSecurityPlain": "PLAIN", - "admin.connectionSecurityPlainDescription": "Mattermost 将会连接并验证一个不安全的连接。", - "admin.connectionSecurityStart": "STARTTLS", - "admin.connectionSecurityStartDescription": "将一现有不安全的连接尝试使用TLS升级值一个安全的连接。", - "admin.connectionSecurityTest": "测试连接", - "admin.connectionSecurityTitle": "连接安全:", - "admin.connectionSecurityTls": "TLS", - "admin.connectionSecurityTlsDescription": "加密Mattermost和您的服务器之间的通信。", - "admin.customization.androidAppDownloadLinkDesc": "添加安卓应用下载链接。用移动设备访问的用户将看到应用下载提示页面。此栏留空将不显示。", - "admin.customization.androidAppDownloadLinkTitle": "安卓应用下载链接:", - "admin.customization.appDownloadLinkDesc": "添加Mattermost应用下载链接。当链接存在时,主菜单将有“下载Mattermost应用”选项让用户找到下载页面。此栏留空将隐藏此选项。", - "admin.customization.appDownloadLinkTitle": "Mattermost 应用下载页面网址:", - "admin.customization.customBrand": "自定义品牌", - "admin.customization.customEmoji": "自定义表情", - "admin.customization.enableCustomEmojiDesc": "允许用户创建在消息中使用的自定义表情符。启用后,自定义的表情符的设置方式为:切换到一个团队,在侧边栏单击频道上面的三个点,然后选择“自定义表情符”。", - "admin.customization.enableCustomEmojiTitle": "启用自定义表情:", - "admin.customization.iosAppDownloadLinkDesc": "添加iOS应用下载链接。用移动设备访问的用户将看到应用下载提示页面。此栏留空将不显示。", - "admin.customization.iosAppDownloadLinkTitle": "iOS应用下载网址:", - "admin.customization.nativeAppLinks": "Mattermost 应用链接", - "admin.customization.restrictCustomEmojiCreationAdmin": "允许系统和团队管理员创建表情符号", - "admin.customization.restrictCustomEmojiCreationAll": "允许每个人可以创建自定义表情", - "admin.customization.restrictCustomEmojiCreationDesc": "限制某些用户创建自定义表情符号。", - "admin.customization.restrictCustomEmojiCreationSystemAdmin": "只允许系统管理员创建自定义表情符号", - "admin.customization.restrictCustomEmojiCreationTitle": "限制创建自定义表情符号:", - "admin.customization.support": "法律和支持", - "admin.database.title": "数据库设置", - "admin.developer.title": "开发人员设置", - "admin.email.agreeHPNS": " 我理解并同意 Mattermost 推送提醒服务服务条款隐私策略。", - "admin.email.allowEmailSignInDescription": "当设置为是时,Mattermost允许用户使用电子邮件地址和密码登入。", - "admin.email.allowEmailSignInTitle": "开启使用邮件地址登入:", - "admin.email.allowSignupDescription": "当设置为是时,Mattermost允许团队创建和使用电子邮件地址和密码注册帐户。此值唯一设为否的情况是你想使用 OAuth 或者 AD/LDAP 这种单点登录服务注册。", - "admin.email.allowSignupTitle": "开启使用邮件地址创建帐号:", - "admin.email.allowUsernameSignInDescription": "当设置为是时,Mattermost允许用户使用用户名和密码登录。此设置通常只用于当电子邮件验证被禁用时。", - "admin.email.allowUsernameSignInTitle": "开启使用用户名登入:", - "admin.email.connectionSecurityTest": "测试连接", - "admin.email.easHelp": "了解更多关于编译和部署您自己的移动应用程序从一个Enterprise App Store。", - "admin.email.emailFail": "连接失败: {error}", - "admin.email.emailSuccess": "发送电子邮件时没有发生错误。请检查您的收件箱并确认。", - "admin.email.enableEmailBatching.clusterEnabled": "批量电子邮件无法在高可用性下开启。", - "admin.email.enableEmailBatching.siteURL": "设置 > 站点网址中的站点网址配置后才能开启批量电子邮件。", - "admin.email.enableEmailBatchingDesc": "当设为是时,用户可以将多条私信和提及合并到一条电子邮件通知,可在帐号设置 > 通知里设定。", - "admin.email.enableEmailBatchingTitle": "开启批量电子邮件:", - "admin.email.fullPushNotification": "发送完整的消息片段", - "admin.email.genericPushNotification": "发送包含用户名称和频道名称的一般性描述", - "admin.email.inviteSaltDescription": "32字符的盐值用于签署电子邮件邀请。安装时随机生成。点击 \"重新生成\" 生成新的盐值。", - "admin.email.inviteSaltExample": "例如 \"bjlSR4QqkXFBr7TP4oDzlfZmcNuH9Yo\"", - "admin.email.inviteSaltTitle": "电子邮件邀请盐值:", - "admin.email.mhpns": "使用加密的,产品及质量的HPNS连接到iOS和Android应用程序", - "admin.email.mhpnsHelp": "从 iTunes下载 Mattermost iOS app。从 Google Play 下载 Mattermost Android app。 了解更多 HPNS。", - "admin.email.mtpns": "在iTunes和TPNS的谷歌Play使用iOS和Android应用程序", - "admin.email.mtpnsHelp": "从 iTunes下载 Mattermost iOS app。从 Google Play 下载 Mattermost Android app。 了解更多 TPNS。", - "admin.email.nofificationOrganizationExample": "例如:\"© ABC Corporation, 565 Knight Way, Palo Alto, California, 94305, USA\"", - "admin.email.notificationDisplayDescription": "从 Mattermost 发送的电子邮件通知时显示的电子邮件帐号名。", - "admin.email.notificationDisplayExample": "例如:\"Mattermost通知\", \"系统\", \"无答复\"", - "admin.email.notificationDisplayTitle": "通知显示名称:", - "admin.email.notificationEmailDescription": "从 Mattermost 发送的电子邮件通知时显示的电子邮件地址。", - "admin.email.notificationEmailExample": "例如:\"mattermost@yourcompany.com\", \"admin@yourcompany.com\"", - "admin.email.notificationEmailTitle": "通知邮件地址:", - "admin.email.notificationOrganization": "通知页脚地址:", - "admin.email.notificationOrganizationDescription": "从mattermost电子邮件通知显示组织机构名称和地址,如“©ABC Corporation, 565 Knight Way, Palo Alto, California, 94305, USA\"。如果字段为空,则将不显示该组织的名称和地址。", - "admin.email.notificationOrganizationExample": "例如:\"© ABC Corporation, 565 Knight Way, Palo Alto, California, 94305, USA\"", - "admin.email.notificationsDescription": "通常在正式环境中设置为是。当设为是时,Mattermost 将尝试发送电子邮件通知。开发人员可以设置为否以跳过电子邮件设置来加快开发速度。
    置此为是时将删除预览模式横幅 (设置后需要注销后重新登录才生效)。", - "admin.email.notificationsTitle": "启用发送邮件通知:", - "admin.email.passwordSaltDescription": "32字盐值用来签署重置密码邮件。由安装时随机生成。点击 \"重新生成\" 生成新的盐。", - "admin.email.passwordSaltExample": "例如 \"bjlSR4QqkXFBr7TP4oDzlfZmcNuH9Yo\"", - "admin.email.passwordSaltTitle": "密码重设盐值:", - "admin.email.pushContentDesc": "选择“发送包含用户名称和频道名称的一般性描述”提供一般性的推送通知,包括用户名称和频道名称,但不包含具体信息内容。

    选择“发送完整的信息片段”,则推送详细的消息摘要,可能包括发送信息中的敏感数据。如果您的推送通知服务在防火墙之外,强烈建议此选项仅在使用 \"https\"加密连接协议时启用。", - "admin.email.pushContentTitle": "推送通知内容:", - "admin.email.pushDesc": "通常在正式环境中设置为是。当设为是时,Mattermost尝试给iOS和安卓从推送通知服务器发送通知。", - "admin.email.pushOff": "不发送推送通知", - "admin.email.pushOffHelp": "请参考 文件推送通知了解更多关于安装选项。", - "admin.email.pushServerDesc": "Mattermost推送消息服务时可以设置防火墙使用代理 https://github.com/mattermost/push-proxy。你可以使用 http://push-test.mattermost.com 测试,连接AppStore中Mattermost iOS演示版。请不要使用行生产机上测试服务。", - "admin.email.pushServerEx": "例如: \"http://push-test.mattermost.com\"", - "admin.email.pushServerTitle": "推送通知服务器:", - "admin.email.pushTitle": "启动发送推送通知:", - "admin.email.requireVerificationDescription": "通常在正式环境中设置为是。当设为是时,Mattermost要求账户创建后先邮件验证通过才能登录。开发人员可以将此字段设置为否,跳过电子邮件验证以加快开发。", - "admin.email.requireVerificationTitle": "要求电子邮件验证:", - "admin.email.selfPush": "手动输入推送通知服务位置", - "admin.email.smtpPasswordDescription": "从邮件服务器管理员获得此凭据。", - "admin.email.smtpPasswordExample": "例如:\"yourpassword\", \"jcuS8PuvcpGhpgHhlcpT1Mx42pnqMxQY\"", - "admin.email.smtpPasswordTitle": "SMTP服务器密码:", - "admin.email.smtpPortDescription": "SMTP邮件服务器端口。", - "admin.email.smtpPortExample": "例如:\"25\", \"465\", \"587\"", - "admin.email.smtpPortTitle": "SMTP服务器端口:", - "admin.email.smtpServerDescription": "SMTP邮件服务器的位置。", - "admin.email.smtpServerExample": "例如:\"smtp.yourcompany.com\", \"email-smtp.us-east-1.amazonaws.com\"", - "admin.email.smtpServerTitle": "SMTP服务器:", - "admin.email.smtpUsernameDescription": "从邮件服务器管理员获得此凭据。", - "admin.email.smtpUsernameExample": "例如:\"admin@yourcompany.com\", \"AKIADTOVBGERKLCBV\"", - "admin.email.smtpUsernameTitle": "SMTP服务器用户名:", - "admin.email.testing": "测试中...", - "admin.false": "否", - "admin.file_upload.chooseFile": "选择文件", - "admin.file_upload.noFile": "没有上传文件", - "admin.file_upload.uploadFile": "上传", - "admin.files.images": "图像", - "admin.files.storage": "储存", - "admin.general.configuration": "配置", - "admin.general.localization": "本地化", - "admin.general.localization.availableLocalesDescription": "设置用户在帐号设置可用的语言(留空将可用所有语言)。如果您手动添加新语言,必须在保存钱先添加默认客户端语言

    想要帮忙翻译吗?加入Mattermost 翻译服务器。", - "admin.general.localization.availableLocalesNoResults": "未找到结果", - "admin.general.localization.availableLocalesNotPresent": "默认客户端语言必须包含在可用列表里", - "admin.general.localization.availableLocalesTitle": "可用的语言:", - "admin.general.localization.clientLocaleDescription": "新创建的用户以及未登入的用户的默认语言。", - "admin.general.localization.clientLocaleTitle": "默认客户端语言:", - "admin.general.localization.serverLocaleDescription": "系统消息和日志的默认语言。此设定需要重新启动服务器才生效。", - "admin.general.localization.serverLocaleTitle": "默认服务器语言:", - "admin.general.log": "日志", - "admin.general.policy": "策略", - "admin.general.policy.allowEditPostAlways": "任何时间", - "admin.general.policy.allowEditPostDescription": "设定作者发布消息后可编辑的时长的策略。", - "admin.general.policy.allowEditPostNever": "从不", - "admin.general.policy.allowEditPostTimeLimit": "发布后秒数", - "admin.general.policy.allowEditPostTitle": "允许用户修改他们的消息:", - "admin.general.policy.permissionsAdmin": "团队和系统管理员", - "admin.general.policy.permissionsAll": "所有团队成员", - "admin.general.policy.permissionsAllChannel": "所有频道成员", - "admin.general.policy.permissionsChannelAdmin": "频道,团队和系统管理员", - "admin.general.policy.permissionsDeletePostAdmin": "团队和系统管理员", - "admin.general.policy.permissionsDeletePostAll": "消息作者可以删除他们自己的消息,同时管理员可以删除任何消息", - "admin.general.policy.permissionsDeletePostSystemAdmin": "系统管理员", - "admin.general.policy.permissionsSystemAdmin": "系统管理员", - "admin.general.policy.restrictPostDeleteDescription": "设置谁可以删除消息的策略。", - "admin.general.policy.restrictPostDeleteTitle": "允许哪些用户删除消息:", - "admin.general.policy.restrictPrivateChannelCreationDescription": "设置谁可以创建私有组的策略。", - "admin.general.policy.restrictPrivateChannelCreationTitle": "开启创建私有组:", - "admin.general.policy.restrictPrivateChannelDeletionCommandLineToolLink": "命令符工具", - "admin.general.policy.restrictPrivateChannelDeletionDescription": "设置谁可以删除私有组的策略。已删除的组可以使用 {commandLineToolLink} 从数据库中恢复。", - "admin.general.policy.restrictPrivateChannelDeletionTitle": "开启删除私有组:", - "admin.general.policy.restrictPrivateChannelManagementDescription": "设置谁可以重命名以及设置标题或私有组用途的策略。", - "admin.general.policy.restrictPrivateChannelManagementTitle": "开启私有组重命名:", - "admin.general.policy.restrictPublicChannelCreationDescription": "设置谁可以创建公开频道的策略。", - "admin.general.policy.restrictPublicChannelCreationTitle": "允许创建公开频道:", - "admin.general.policy.restrictPublicChannelDeletionCommandLineToolLink": "命令符工具", - "admin.general.policy.restrictPublicChannelDeletionDescription": "设置谁可以删除公共频道的策略。已删除的频道可以使用 {commandLineToolLink} 从数据库中恢复。", - "admin.general.policy.restrictPublicChannelDeletionTitle": "开启删除公开频道:", - "admin.general.policy.restrictPublicChannelManagementDescription": "设置谁可以重命名和设置标题或公共频道用途的策略。", - "admin.general.policy.restrictPublicChannelManagementTitle": "开启公开频道重命名:", - "admin.general.policy.teamInviteDescription": "设置谁可以用邀请新成员发送邮件邀请他人到团队,或用主菜单的获取团队邀请链接的策略。如果使用了获取团队邀请链接,您可以在用户加入到团队后到团队设定 > 邀请码废除邀请码。", - "admin.general.policy.teamInviteTitle": "启用发送团队邀请的使用者:", - "admin.general.privacy": "隐私", - "admin.general.usersAndTeams": "成员和团队", - "admin.gitab.clientSecretDescription": "通过上述指令登录GitLab获取该值。", - "admin.gitlab.EnableHtmlDesc": "
    1. 登入您的GitLab账户并去档案设定 -> 应用程序。
    2. 输入重定向地址 \"/login/gitlab/complete\" (例如: http://localhost:8065/login/gitlab/complete) 和 \"/signup/gitlab/complete\"。
    3. 然后使用GitLab中 \"Application Secret Key\" 和 \"Application ID\" 完成下面的选项。
    4. 完成以下端点网址。
    ", - "admin.gitlab.authDescription": "输入 https:///oauth/authorize (例如 https://example.com:3000/oauth/authorize)。根据于您的服务器设定而决定网址中使用HTTP或HTTPS。", - "admin.gitlab.authExample": "例如 \"https:///oauth/authorize\"", - "admin.gitlab.authTitle": "认证端点:", - "admin.gitlab.clientIdDescription": "通过上述指令登录gitlab获取该值", - "admin.gitlab.clientIdExample": "例如 \"jcuS8PuvcpGhpgHhlcpT1Mx42pnqMxQY\"", - "admin.gitlab.clientIdTitle": "应用程序 ID", - "admin.gitlab.clientSecretExample": "例如 \"jcuS8PuvcpGhpgHhlcpT1Mx42pnqMxQY\"", - "admin.gitlab.clientSecretTitle": "应用程序密钥:", - "admin.gitlab.enableDescription": "当设置为是时,Mattermost允许使用GitLab OAuth创建团队和注册账户。", - "admin.gitlab.enableTitle": "启用GitLab认证:", - "admin.gitlab.settingsTitle": "GitLab设置", - "admin.gitlab.tokenDescription": "输入 https:///oauth/token。根据于您的服务器设定而决定网址中使用HTTP或HTTPS。", - "admin.gitlab.tokenExample": "例如 \"https:///oauth/token\"", - "admin.gitlab.tokenTitle": "令牌端点:", - "admin.gitlab.userDescription": "输入 https:///api/v3/user。根据于您的服务器设定而决定网址中使用HTTP或HTTPS。", - "admin.gitlab.userExample": "例如 \"https:///api/v3/user\"", - "admin.gitlab.userTitle": "用户API 端点:", - "admin.google.EnableHtmlDesc": "
    1. 登入到您的谷歌帐号。
    2. https://console.developers.google.com,在左边导航点击凭证后输入\"Mattermost - your-company-name\"为项目名,然后点击创建
    3. 点击OAuth 同意页面标题并输入\"Mattermost\" 做为显示给用户的产品名,然后点击保存
    4. 凭证标题下,点击创建凭证,选择OAuth客户端ID并选择网页应用
    5. 限制经认可的重指向网址下输入your-mattermost-url/signup/google/complete (例: http://localhost:8065/signup/google/complete)。点击创建
    6. 粘贴客户端ID客户端秘密到以下栏,然后点击保存
    7. 最后,到Google+ API并点击启用。这可能需要几分钟时间让谷歌服务器同步数据。
    ", - "admin.google.authTitle": "认证端点:", - "admin.google.clientIdDescription": "您在谷歌注册您的应用时收到的客户端ID。", - "admin.google.clientIdExample": "例如 \"7602141235235-url0fhs1mayfasbmop5qlfns8dh4.apps.googleusercontent.com\"", - "admin.google.clientIdTitle": "客户端ID:", - "admin.google.clientSecretDescription": "您在谷歌注册您的应用时收到的客户端秘密。", - "admin.google.clientSecretExample": "例如 \"H8sz0Az-dDs2p15-7QzD231\"", - "admin.google.clientSecretTitle": "客户端秘密:", - "admin.google.tokenTitle": "令牌端点:", - "admin.google.userTitle": "用户API 端点:", - "admin.image.amazonS3BucketDescription": "您在AWS S3 存储桶中的名字。", - "admin.image.amazonS3BucketExample": "例如 \"mattermost-media\"", - "admin.image.amazonS3BucketTitle": "Amazon S3 存储桶:", - "admin.image.amazonS3EndpointDescription": "您的 S3 兼容储存提供商的主机名称。默认为 `s3.amazonaws.com`。", - "admin.image.amazonS3EndpointExample": "例如:\"s3.amazonaws.com\"", - "admin.image.amazonS3EndpointTitle": "亚马逊 S3 连接点:", - "admin.image.amazonS3IdDescription": "从您的Amazon EC2管理员获得此证书。", - "admin.image.amazonS3IdExample": "例如 \"AKIADTOVBGERKLCBV\"", - "admin.image.amazonS3IdTitle": "Amazon S3 访问密钥 ID:", - "admin.image.amazonS3RegionDescription": "您创建S3 存储桶选中的AWS区域。", - "admin.image.amazonS3RegionExample": "例如 \"us-east-1\"", - "admin.image.amazonS3RegionTitle": "Amazon S3区域:", - "admin.image.amazonS3SSLDescription": "当设为否时,允许创建非安全连接到亚马逊 S3。默认只允许安全连接。", - "admin.image.amazonS3SSLTitle": "开启安全亚马逊 S3 连接:", - "admin.image.amazonS3SecretDescription": "从你的Amazon EC2管理员获得此证书。", - "admin.image.amazonS3SecretExample": "例如 \"jcuS8PuvcpGhpgHhlcpT1Mx42pnqMxQY\"", - "admin.image.amazonS3SecretTitle": "Amazon S3 秘密访问密钥:", - "admin.image.localDescription": "存储文件和图像的目录。如果为空则默认为./data/。", - "admin.image.localExample": "例如 \"./data/\"", - "admin.image.localTitle": "本地存储目录:", - "admin.image.maxFileSizeDescription": "最大允许的讯息附件文件大小(MB)。注意:请确认服务器内存能够承受您的设定。过大的文件大小会增加服务器崩溃和因网路问题而上传失败的风险。", - "admin.image.maxFileSizeExample": "50", - "admin.image.maxFileSizeTitle": "最大文件大小:", - "admin.image.previewHeightDescription": "预览图最大高度(\"0\": 设置为自动)。更新这个值改变之后的预览图显示,但不改变在过去创建的图片。", - "admin.image.previewHeightExample": "例如 \"0\"", - "admin.image.previewHeightTitle": "预览图像高度:", - "admin.image.previewWidthDescription": "预览图最大宽度。更新这个值改变之后的预览图显示,但不改变在过去创建的图片。", - "admin.image.previewWidthExample": "例如 \"1024\"", - "admin.image.previewWidthTitle": "预览图像宽度:", - "admin.image.profileHeightDescription": "个人头像高度。", - "admin.image.profileHeightExample": "例如 \"0\"", - "admin.image.profileHeightTitle": "个人头像高度:", - "admin.image.profileWidthDescription": "个人头像宽度。", - "admin.image.profileWidthExample": "例如 \"1024\"", - "admin.image.profileWidthTitle": "个人头像宽度:", - "admin.image.publicLinkDescription": "32字盐值用来签署公开的图片链接。由安装时随机生成。点击 \"重新生成\" 生成新的盐。", - "admin.image.publicLinkExample": "例如 \"gxHVDcKUyP2y1eiyW8S8na1UYQAfq6J6\"", - "admin.image.publicLinkTitle": "公共链接盐值:", - "admin.image.shareDescription": "允许用户分享文件和图片的公共链接。", - "admin.image.shareTitle": "分享公共文件链接:", - "admin.image.storeAmazonS3": "Amazon S3", - "admin.image.storeDescription": "文件和图片所存放的储存系统。

    选择 \"Amazon S3\" 会启用对应栏位让您填入 Amazon 的认证跟储存贮体的详细资料。

    选择 \"本地文件系统\" 会启用对应栏位让您填入本地文件目录。", - "admin.image.storeLocal": "本地文件系统", - "admin.image.storeTitle": "文件存储系统:", - "admin.image.thumbHeightDescription": "上传图片时生成缩略图高度。更新这个值改变之后的缩略图显示,但不改变在过去创建的图片。", - "admin.image.thumbHeightExample": "例如 \"100\"", - "admin.image.thumbHeightTitle": "附件缩略图高度:", - "admin.image.thumbWidthDescription": "上传图片时生成缩略图宽度。更新这个值改变之后的缩略图显示,但不改变在过去创建的图片。", - "admin.image.thumbWidthExample": "例如 \"120\"", - "admin.image.thumbWidthTitle": "附件缩略图宽度:", - "admin.integrations.custom": "自定义集成", - "admin.integrations.external": "外部服务", - "admin.integrations.webrtc": "Mattermost WebRTC", - "admin.ldap.baseDesc": "Base DN 是 Mattermost 在 AD/LDAP 树中搜索用户开始的专有名称路径。", - "admin.ldap.baseEx": "例如 \"ou=Unit Name,dc=corp,dc=example,dc=com\"", - "admin.ldap.baseTitle": "BaseDN:", - "admin.ldap.bindPwdDesc": "\"绑定用户名\"的密码。", - "admin.ldap.bindPwdTitle": "绑定密码:", - "admin.ldap.bindUserDesc": "用来 AD/LDAP 搜索的用户名。通常用一个专门给 Mattermost 使用的帐号。此帐号应该只有访问 BaseDN 栏指定 AD/LDAP 树只读权限。", - "admin.ldap.bindUserTitle": "绑定用户名:", - "admin.ldap.emailAttrDesc": "AD/LDAP 服务器中属性用于填充 Mattermost 用户电子邮箱地址属性。", - "admin.ldap.emailAttrEx": "例如 \"mail\" 或 \"userPrincipalName\"", - "admin.ldap.emailAttrTitle": "电子邮箱属性:", - "admin.ldap.enableDesc": "当设置为是时,Mattermost 允许使用 AD/LDAP 登录", - "admin.ldap.enableTitle": "开启 AD/LDAP 登入:", - "admin.ldap.firstnameAttrDesc": "(可选) AD/LDAP服务器中的属性用来填充 Mattermost 用户的名字。当设置后,用户将没法修改他们的名字,因为它时和 LDAP 服务器同步的。当留空时,用户可以在帐号设置里修改名字。", - "admin.ldap.firstnameAttrEx": "例如 \"givenName\"", - "admin.ldap.firstnameAttrTitle": "姓属性", - "admin.ldap.idAttrDesc": "此属性在 AD/LDAP 服务器作为 Mattermost 中一个被用于做唯一标识符值。它将不可被修改,比如用户名或 uid。如果一个用户的 ID 属性被修改,它将创建一个新的 Mattermost 账户并且与之前的用户无关。它被用于在 Mattermost 登录时“AD/LDAP 用户名”字段在登录页面。一般该属性字段与上面的“用户名属性”字段相同。如果你的团队通常使用 域名\\\\用户名 登录到其他 AD/LDAP 服务,你可以选择在本栏使用 域名\\\\用户名 以跟其他站点保持一致。", - "admin.ldap.idAttrEx": "例如 \"sAMAccountName\"", - "admin.ldap.idAttrTitle": "ID属性:", - "admin.ldap.lastnameAttrDesc": "(可选) AD/LDAP服务器中的属性用来填充 Mattermost 用户的姓氏。当设置后,用户将没法修改他们的姓氏,因为它时和 LDAP 服务器同步的。当留空时,用户可以在帐号设置里修改姓氏。", - "admin.ldap.lastnameAttrEx": "例如 \"sn\"", - "admin.ldap.lastnameAttrTitle": "姓氏属性:", - "admin.ldap.ldap_test_button": "AD/LDAP 测试", - "admin.ldap.loginNameDesc": "出现在登录页面登录框的占位符文本。默认为 \"AD/LDAP 用户名\"。", - "admin.ldap.loginNameEx": "例如 \"AD/LDAP 用户名\"", - "admin.ldap.loginNameTitle": "域名登录:", - "admin.ldap.maxPageSizeEx": "例如 \"2000\"", - "admin.ldap.maxPageSizeHelpText": "Mattermost 向 AD/LDAP 服务器请求使用者资料时单次最多的数量。0 表示无上限。", - "admin.ldap.maxPageSizeTitle": "最大页面大小:", - "admin.ldap.nicknameAttrDesc": "(可选) AD/LDAP服务器中的属性用来填充 Mattermost 用户的昵称。当设置后,用户将没法修改他们的昵称,因为它时和 LDAP 服务器同步的。当留空时,用户可以在帐号设置里修改昵称。", - "admin.ldap.nicknameAttrEx": "例如 \"昵称\"", - "admin.ldap.nicknameAttrTitle": "昵称:", - "admin.ldap.noLicense": "

    提示:

    AD/LDAP 是一个企业平台特性。您当前的证书不支持 AD/LDAP。请点击这里获取企业证书的信息和价格。

    ", - "admin.ldap.portDesc": "该端口将连接到 AD/LDAP 服务器。默认389。", - "admin.ldap.portEx": "例如 \"389\"", - "admin.ldap.portTitle": "AD/LDAP 端口:", - "admin.ldap.positionAttrDesc": "(可选) AD/LDAP 服务器属性用于填充 Mattermost 位置属性。", - "admin.ldap.positionAttrEx": "例如:\"title\"", - "admin.ldap.positionAttrTitle": "职位属性:", - "admin.ldap.queryDesc": "查询 AD/LDAP 服务器超时值。增加此值如果你遇到查询一个缓慢 AD/LDAP 服务器时发生超时错误。", - "admin.ldap.queryEx": "例如 \"60\"", - "admin.ldap.queryTitle": "查询时限(秒):", - "admin.ldap.serverDesc": "AD/LDAP 服务器的域名或IP地址。", - "admin.ldap.serverEx": "例如 \"10.0.0.23\"", - "admin.ldap.serverTitle": "AD/LDAP 服务器:", - "admin.ldap.skipCertificateVerification": "跳过证书验证:", - "admin.ldap.skipCertificateVerificationDesc": "跳过TLS或STARTTLS连接的证书验证。不建议用在需要TLS的正式环境下。仅限测试。", - "admin.ldap.syncFailure": "同步失败:{error}", - "admin.ldap.syncIntervalHelpText": "AD/LDAP 的同步机制会将 Mattermost 中的用户信息同步以反映在 AD/LDAP 服务器上进行的更新。例如,当 AD/LDAP 服务器上一个用户姓名更改时,这一改变将在 Mattermost 同步执行。在 AD/LDAP 服务器中删除或禁用账户时将他们的 Mattermost 账号设置为\"停用\"并且已撤走会话。Mattermost 会按照一定的时间频率定期进行同步。例如, 如果设置为60,那么会在每60分钟进行同步。", - "admin.ldap.syncIntervalTitle": "同步间隔(分钟):", - "admin.ldap.syncNowHelpText": "立即启动一个 AD/LDAP 同步。", - "admin.ldap.sync_button": "开始 AD/LDAP 同步", - "admin.ldap.testFailure": "AD/LDAP 测试失败:{error}", - "admin.ldap.testHelpText": "测试 Mattermost 服务器是否能连接到指定的 AD/LDAP 服务器。详细错误信息请见日志文件。", - "admin.ldap.testSuccess": "AD/LDAP 测试成功", - "admin.ldap.uernameAttrDesc": "AD/LDAP 服务器中属性用于填充 Mattermost 用户名属性。这可以和 ID 属性一致。", - "admin.ldap.userFilterDisc": "(可选) 输入个AD/LDAP筛选器用在搜索用户对象。只有被查询条件选中的用户才能访问 Mattermost。对于活动目录,过滤禁用用户的查询是(&(objectCategory=Person)(!(UserAccountControl:1.2.840.113556.1.4.803:=2)))。", - "admin.ldap.userFilterEx": "例如:\"(objectClass=user)\"", - "admin.ldap.userFilterTitle": "用户筛选器:", - "admin.ldap.usernameAttrEx": "例如 \"sAMAccountName\"", - "admin.ldap.usernameAttrTitle": "用户名属性:", - "admin.license.choose": "选择文件", - "admin.license.chooseFile": "选择文件", - "admin.license.edition": "版本:", - "admin.license.key": "许可证钥匙:", - "admin.license.keyRemove": "删除企业许可证和降级服务器", - "admin.license.noFile": "没有上传的文件", - "admin.license.removing": "删除许可证...", - "admin.license.title": "版本和许可证", - "admin.license.type": "授权:", - "admin.license.upload": "上传", - "admin.license.uploadDesc": "上传许可证来升级 Mattermost 至企业版本。访问我们了解企业版的好处或购买许可证。", - "admin.license.uploading": "上传许可证...", - "admin.log.consoleDescription": "通常在正式环境中设置为是。开发人员应该设置为是来根据控制台日志级别显示日志信息到控制台。如果设置为是,服务器将消息写入到标准输出流 (stdout)。", - "admin.log.consoleTitle": "日志输出到控制台:", - "admin.log.enableDiagnostics": "开启诊断和错误报告:", - "admin.log.enableDiagnosticsDescription": "开启此功能将发送错误报告和诊断信息到 Mattermost, Inc. 以帮助提高 Mattermost 的质量和性能。请阅读我们的隐私政策了解更多。", - "admin.log.enableWebhookDebugging": "启用Webhook调试:", - "admin.log.enableWebhookDebuggingDescription": "您可以设置为false来禁用所有传入的webhook请求主体的调试日志记录。", - "admin.log.fileDescription": "通常在正式环境中设置为是。当设置为是时,日志文件写入到下面指定日志文件位置。", - "admin.log.fileLevelDescription": "此设置确定日志事件写入到控制台的级别详情.ERROR: 只输出错误信息.INFO: 输出错误消息和在启动和初始化的信息.DEBUG: 打印开发者调试问题的细节.", - "admin.log.fileLevelTitle": "文件日志级别:", - "admin.log.fileTitle": "日志输出到文件:", - "admin.log.formatDateLong": "日期(2006/01/02)", - "admin.log.formatDateShort": "日期(01/02/06)", - "admin.log.formatDescription": "日志输出信息格式化.如果没有设置默认为\"[ %D%T ][%L]%M\",如下: ", - "admin.log.formatLevel": "级别(DEBG,INFO,EROR)", - "admin.log.formatMessage": "信息", - "admin.log.formatPlaceholder": "输入文件格式", - "admin.log.formatSource": "源", - "admin.log.formatTime": "时间(15: 04: 05MST)", - "admin.log.formatTitle": "日志文件格式:", - "admin.log.levelDescription": "此设置确定日志事件写入到控制台的级别详情.ERROR: 只输出错误信息.INFO: 输出错误消息和在启动和初始化的信息.DEBUG: 打印开发者调试问题的细节.", - "admin.log.levelTitle": "控制台日志级别:", - "admin.log.locationDescription": "日志文件写入位置.如果没有设置,默认位置为./logs/mattermost,写入到日志文件mattermost.log.启用日志轮转每10000行的日志信息写入新的文件存储在同一目录, 例如mattermost.2015-09-23.001,mattermost.2015-09-23.002,等等.", - "admin.log.locationPlaceholder": "输入你的文件位置", - "admin.log.locationTitle": "日志文件目录:", - "admin.log.logSettings": "日志设置", - "admin.logs.reload": "重载", - "admin.logs.title": "服务器日志", - "admin.metrics.enableDescription": "当设置为是时,Mattermost 会启用性能监控收集和分析。请查看文档了解更多Mattermost 性能监控配置信息。", - "admin.metrics.enableTitle": "开启性能监视:", - "admin.metrics.listenAddressDesc": "服务端监听的地址以公开性能指标数据。", - "admin.metrics.listenAddressEx": "例如:\":8065\"", - "admin.metrics.listenAddressTitle": "监听地址:", - "admin.mfa.bannerDesc": "多重验证可以在使用 AD/LDAP 或邮箱地址登入的帐号使用。如果使用其他登入方式,多重验证需要在验证提供商设置。", - "admin.mfa.cluster": "高", - "admin.mfa.title": "多重验证", - "admin.nav.help": "帮助", - "admin.nav.logout": "注销", - "admin.nav.report": "报告问题", - "admin.nav.switch": "团队选择", - "admin.notifications.email": "电子邮件", - "admin.notifications.push": "移动推送", - "admin.notifications.title": "通知设置", - "admin.oauth.gitlab": "GitLab", - "admin.oauth.google": "Google Apps", - "admin.oauth.off": "不允许通过 OAuth 2.0 提供商登入", - "admin.oauth.office365": "Office 365 (Beta)", - "admin.oauth.providerDescription": "当设为是时,Mattermost 可以做为 OAuth 2.0 服务提供商允许 Mattermost 给外部应用 API 请求授权。参见文档了解更多。", - "admin.oauth.providerTitle": "启动 OAuth 2.0 服务提供商:", - "admin.oauth.select": "选择 OAuth 2.0 服务提供商:", - "admin.office365.EnableHtmlDesc": "
    1. 登入到您的微软或Office 365帐号。确定是和您想让用户登入的同一个租户
    2. https://apps.dev.microsoft.com,点击转到应用列表 > 添加应用然后用\"Mattermost - your-company-name\"做为应用名
    3. 应用秘密下,点击生成新密码后粘贴到以下应用密码栏。
    4. 平台下,点击添加平台,选择网页并在重指向网址下输入your-mattermost-url/signup/office365/complete (例: http://localhost:8065/signup/office365/complete)。同时反选择允许隐含流程
    5. 最后,点击保存并粘贴应用ID到下方。
    ", - "admin.office365.authTitle": "认证端点:", - "admin.office365.clientIdDescription": "您在微软注册您的应用时收到的应用/客户端ID。", - "admin.office365.clientIdExample": "例如 \"adf3sfa2-ag3f-sn4n-ids0-sh1hdax192qq\"", - "admin.office365.clientIdTitle": "应用程序 ID:", - "admin.office365.clientSecretDescription": "您在微软注册您的应用时收到的应用密码。", - "admin.office365.clientSecretExample": "例如 \"shAieM47sNBfgl20f8ci294\"", - "admin.office365.clientSecretTitle": "应用密码:", - "admin.office365.tokenTitle": "令牌端点:", - "admin.office365.userTitle": "用户API 端点:", - "admin.password.lowercase": "至少有一个小写字母", - "admin.password.minimumLength": "最小密码长度:", - "admin.password.minimumLengthDescription": "有效密码字符的长度必须是大于或等于{min}且小于或等于{max}的整数。", - "admin.password.minimumLengthExample": "例如 \"5\"", - "admin.password.number": "至少有一个数字", - "admin.password.preview": "错误消息预览", - "admin.password.requirements": "密码要求:", - "admin.password.requirementsDescription": "有效的密码所需的字符类型。", - "admin.password.symbol": "至少有一个符号 (例如:\"~!@#$%^&*()\")", - "admin.password.uppercase": "至少有一个大写字母", - "admin.privacy.showEmailDescription": "当设为否时,从除了系统管理员外隐藏成员的电子邮件。", - "admin.privacy.showEmailTitle": "显示电子邮箱地址:", - "admin.privacy.showFullNameDescription": "当设为否时,从除了系统管理员外隐藏成员的姓名。姓名将被用户名取代。", - "admin.privacy.showFullNameTitle": "显示全名:", - "admin.purge.button": "清除所有缓存", - "admin.purge.loading": " 加载中...", - "admin.purge.purgeDescription": "这将清除所有内存中的缓存如会话、帐号、频道等。部署高高可用性将尝试清除机群中所有服务器。清除缓存将可能严重影响性能。", - "admin.purge.purgeFail": "清除失败: {error}", - "admin.rate.enableLimiterDescription": "当设置为是时,API使用率被限制到以下值。", - "admin.rate.enableLimiterTitle": "启用频率限制:", - "admin.rate.httpHeaderDescription": "填充时,变化率限制通过HTTP头字段指定(例如当配置NGINX\"X-Real-IP\",当配置AmazonELB为\"X-Forwarded-For\").", - "admin.rate.httpHeaderExample": "例如 \"X-Real-IP\", \"X-Forwarded-For\"", - "admin.rate.httpHeaderTitle": "通过HTTP头变化频率限制:", - "admin.rate.maxBurst": "最大过载大小:", - "admin.rate.maxBurstDescription": "超过每秒查询限制的最大请求数。", - "admin.rate.maxBurstExample": "例如 \"100\"", - "admin.rate.memoryDescription": "连接到系统的最大用户会话数由以下 \"根据远程地址改变频率限制\" 以及 \"通过HTTP头变化频率限制\" 设定而决定。", - "admin.rate.memoryExample": "例如 \"10000\"", - "admin.rate.memoryTitle": "内存存储大小:", - "admin.rate.noteDescription": "修改了这部分属性需要重启服务器才能生效。", - "admin.rate.noteTitle": "注释:", - "admin.rate.queriesDescription": "限制每秒API请求数。", - "admin.rate.queriesExample": "例如 \"10\"", - "admin.rate.queriesTitle": "每秒最大查询:", - "admin.rate.remoteDescription": "当设置为是,使用基于IP的API速率限制。", - "admin.rate.remoteTitle": "根据远程地址改变频率限制:", - "admin.rate.title": "速度限制设置", - "admin.recycle.button": "回收数据库连接", - "admin.recycle.loading": "回收中...", - "admin.recycle.recycleDescription": "在部署使用多数据库时可以在服务器运行情况下修改\"config.json\"且使用设定 > 重新从磁盘载入配置 来切换Mattermost主数据库至另外个。之后管理员需使用回收数据库连接功能来根据新设定回收数据库连接。", - "admin.recycle.reloadFail": "回收失败: {error}", - "admin.regenerate": "重新生成", - "admin.reload.button": "重新从磁盘载入配置", - "admin.reload.loading": "加载中...", - "admin.reload.reloadDescription": "在部署使用多数据库时可以在服务器运行情况下修改\"config.json\"且使用 重新从磁盘载入配置 来切换Mattermost主数据库至另外个。之后管理员需使用数据库 > 回收数据库链接 功能来根据新设定回收数据库连接。", - "admin.reload.reloadFail": "重载失败:{error}", - "admin.reset_password.close": "关闭", - "admin.reset_password.newPassword": "新密码", - "admin.reset_password.select": "选择", - "admin.reset_password.submit": "请输入至少{chars}个字符。", - "admin.reset_password.titleReset": "重置密码", - "admin.reset_password.titleSwitch": "切换到电子邮件/密码的账户", - "admin.saml.assertionConsumerServiceURLDesc": "输入 https:///login/sso/saml。确保您使用服务器设定的HTTP或HTTPS网址。此栏又名断言消耗服务网址。", - "admin.saml.assertionConsumerServiceURLEx": "例如 \"https:///login/sso/saml\"", - "admin.saml.assertionConsumerServiceURLTitle": "服务提供商登入URL:", - "admin.saml.bannerDesc": "SAML 服务器中的用户属性,包括用户停用或移除,将在用户登入时 Mattermost 更新。了解更多:https://docs.mattermost.com/deployment/sso-saml.html", - "admin.saml.emailAttrDesc": "使用SAML断言中的属性做为Mattermost中用户的电子邮箱地址。", - "admin.saml.emailAttrEx": "例如 \"Email\" 或 \"PrimaryEmail\"", - "admin.saml.emailAttrTitle": "邮箱属性:", - "admin.saml.enableDescription": "当设为是时,Mattermost允许通过SAML登陆。请参考文档了解Mattermost配置SAML。", - "admin.saml.enableTitle": "开启SAML登入:", - "admin.saml.encryptDescription": "当设置为是时,Mattermost 将会使用您的服务提供商证书来解密SAML断言。", - "admin.saml.encryptTitle": "开启加密:", - "admin.saml.firstnameAttrDesc": "(可选) 使用SAML断言中的属性做为 Mattermost 中用户的昵称。", - "admin.saml.firstnameAttrEx": "例如 \"FirstName\"", - "admin.saml.firstnameAttrTitle": "名字属性:", - "admin.saml.idpCertificateFileDesc": "由可信任的身份认证系统提供商所提供的证书公钥", - "admin.saml.idpCertificateFileRemoveDesc": "从身份提供商中移除公钥认证信息。", - "admin.saml.idpCertificateFileTitle": "身份认证商公钥证书", - "admin.saml.idpDescriptorUrlDesc": "在使用SAML请求时所访问的身份提供商的核发者网址。", - "admin.saml.idpDescriptorUrlEx": "例如 https://idp.example.org/SAML2/issuer\"", - "admin.saml.idpDescriptorUrlTitle": "身份提供商核发地址:", - "admin.saml.idpUrlDesc": "Mattermost发送SAML登入启动初始网址。", - "admin.saml.idpUrlEx": "例如 \"https://idp.example.org/SAML2/SSO/Login\"", - "admin.saml.idpUrlTitle": "SAML SSO 网址:", - "admin.saml.lastnameAttrDesc": "(可选) 使用SAML断言中的属性做为 Mattermost 中用户的姓氏。", - "admin.saml.lastnameAttrEx": "例如 \"LastName\"", - "admin.saml.lastnameAttrTitle": "姓氏属性:", - "admin.saml.localeAttrDesc": "(可选)使用SAML断言中的属性做为Mattermost中用户的语言。", - "admin.saml.localeAttrEx": "例如 \"Locale\" 或 \"PrimaryLanguage\"", - "admin.saml.localeAttrTitle": "优先语言属性:", - "admin.saml.loginButtonTextDesc": "(可选)登入页面中的登入按钮文字。默认为\"With SAML\"。", - "admin.saml.loginButtonTextEx": "例如 \"With OKTA\"", - "admin.saml.loginButtonTextTitle": "登入按钮文字:", - "admin.saml.nicknameAttrDesc": "(可选)使用SAML断言中的属性做为Mattermost中用户的昵称。", - "admin.saml.nicknameAttrEx": "例如 \"昵称\"", - "admin.saml.nicknameAttrTitle": "昵称属性:", - "admin.saml.positionAttrDesc": "(可选) 使用SAML断言中的属性做为 Mattermost 中用户的职位。", - "admin.saml.positionAttrEx": "例如:\"Role\"", - "admin.saml.positionAttrTitle": "职位属性:", - "admin.saml.privateKeyFileFileDesc": "用于解密从身份认证商中返回的 SAML 断言的私钥。", - "admin.saml.privateKeyFileFileRemoveDesc": "移除用于解析从身份认证商中返回的SAML数据的私钥。", - "admin.saml.privateKeyFileTitle": "服务提供商密钥:", - "admin.saml.publicCertificateFileDesc": "当Mattermost是服务提供商时,用来生成从服务提供者到身份提供者产生的SAML请求使用的证书。", - "admin.saml.publicCertificateFileRemoveDesc": "当Mattermost是服务提供商时,删除用来生成从服务提供者到身份提供者产生的SAML请求使用的证书。", - "admin.saml.publicCertificateFileTitle": "服务提供商公开证书:", - "admin.saml.remove.idp_certificate": "删除身份提供商证书", - "admin.saml.remove.privKey": "移除服务提供商密钥", - "admin.saml.remove.sp_certificate": "删除服务提供商证书", - "admin.saml.removing.certificate": "删除证书中...", - "admin.saml.removing.privKey": "删除密钥中...", - "admin.saml.uploading.certificate": "上传证书中...", - "admin.saml.uploading.privateKey": "上传密钥中...", - "admin.saml.usernameAttrDesc": "使用SAML断言中的属性做为Mattermost中用户的用户名。", - "admin.saml.usernameAttrEx": "例如 \"Username\"", - "admin.saml.usernameAttrTitle": "用户名:", - "admin.saml.verifyDescription": "设为是时,Mattermost会核实SAML回复签字与服务提供商登入网址一致", - "admin.saml.verifyTitle": "校验签名:", - "admin.save": "保存", - "admin.saving": "保存配置中...", - "admin.security.connection": "连接", - "admin.security.inviteSalt.disabled": "邀请盐值无法在邮件寄送关闭下修改。", - "admin.security.login": "登录", - "admin.security.password": "密码", - "admin.security.passwordResetSalt.disabled": "重置密码盐值无法在邮件寄送关闭下修改。", - "admin.security.public_links": "公开链接", - "admin.security.requireEmailVerification.disabled": "邮件验证无法在邮件寄送关闭下修改。", - "admin.security.session": "会话", - "admin.security.signup": "注册", - "admin.select_team.close": "关闭", - "admin.select_team.select": "选择", - "admin.select_team.selectTeam": "选择团队", - "admin.service.attemptDescription": "用户必须通过电子邮件重置密码前允许用户登录尝试的次数。", - "admin.service.attemptExample": "例如 \"10\"", - "admin.service.attemptTitle": "最大登录尝试次数:", - "admin.service.cmdsDesc": "当设为是时,允许自定义斜杠命令。详情参见文档。", - "admin.service.cmdsTitle": "启用自定义斜杠命令:", - "admin.service.corsDescription": "启用一个特定域的HTTP跨起源请求。如果您想允许来自任何域的CORS请求,使用“*”,或者将其保留为空禁用请求。", - "admin.service.corsEx": "http://example.com", - "admin.service.corsTitle": "允许来自以下跨源请求网址:", - "admin.service.developerDesc": "开启时,Javascript错误将显示在页面顶端红条里。不推荐在正式环境使用。", - "admin.service.developerTitle": "开启开发者模式:", - "admin.service.enforcMfaTitle": "强制多重身份验证:", - "admin.service.enforceMfaDesc": "当设为是时,必须需要多重验证登入。新用户将在注册时候设置多重验证。已登入并未设置多重验证的用户将重指向多重验证设置页面直到配置完成。

    如果您的系统有 AD/LDAP 或电子邮件登入方式以外的用户,多重验证必须在 Mattermost 外的验证提供商设置。", - "admin.service.forward80To443": "映射端口 80 到 443:", - "admin.service.forward80To443Description": "映射所有非安全流量从端口 80 到安全端口 443", - "admin.service.googleDescription": "设置此钥匙以开启内嵌YouTube视频预览。如果没有此钥匙,YouTube预览仍然会在消息或评论中显示但不会显示视频标题。参见Google Developers Tutorial教程以获得钥匙。", - "admin.service.googleExample": "例如 \"7rAh6iwQCkV4cA1Gsg3fgGOXJAQ43QV\"", - "admin.service.googleTitle": "Google API 钥匙:", - "admin.service.iconDescription": "当设为是时,webhooks、斜杠命令以及其他整合比如 Zapier 会允许修改发出信息的头像。注意:和允许整合覆盖用户名配合将可能造成用户被钓鱼攻击。", - "admin.service.iconTitle": "允许整合覆盖头像:", - "admin.service.insecureTlsDesc": "当设为是时,所有对外的 HTTPS 请求将接受未验证,自签名的证书。例如,对外 webhooks 到任意域名用自签名 TLS 证书的服务器将被允许。注意,这会使得这些连接产生中间人攻击危险。", - "admin.service.insecureTlsTitle": "启用不安全的对外连接:", - "admin.service.integrationAdmin": "限制只有管理员能管理整合:", - "admin.service.integrationAdminDesc": "当设为是时,webhhoks 和斜杠命令只由团队和系统管理员可以创建、修改和查看,同时只有系统管理员可以操作 OAuth 2.0 应用。整合在管理员创建后所有人可以使用。", - "admin.service.letsEncryptCertificateCacheFile": "Let's Encrypt 证书缓存文件:", - "admin.service.letsEncryptCertificateCacheFileDescription": "从 Let's Encrypt 服务获取的证书和其他数据将储存于此文件。", - "admin.service.listenAddress": "监听地址:", - "admin.service.listenDescription": "绑定和监听的地址和端口。指定 \":8065\" 将会绑定所有网络接口。指定 \"127.0.0.1:8065\" 将只绑定拥有此 IP 的网络接口。如果您选择一个低级端口 (叫 \"system ports\" 或 \"well-known ports\" 于 0-1023 之间),您必须要拥有权限才能绑定到此端口。在 Linux 上您可以使用:\"sudo setcap cap_net_bind_service=+ep ./bin/platform\" 以允许 Mattermost 绑定知名端口。", - "admin.service.listenExample": "例如 \":8065\"", - "admin.service.mfaDesc": "当设为是时,使用 AD/LDAP 或电子邮件登入的用户可以使用添加 Google Authenticator 多重验证到他们的帐号。", - "admin.service.mfaTitle": "启用多重身份验证:", - "admin.service.mobileSessionDays": "移动应用会话时长 (天):", - "admin.service.mobileSessionDaysDesc": "从用户上一次输入他们的认证到会话过期的天数。修改此设定后,新的会话时常将在用户下一次输入认证后生效。", - "admin.service.outWebhooksDesc": "当设为是时,允许传出webhooks。详情参见文档。", - "admin.service.outWebhooksTitle": "启用对外 Webhooks:", - "admin.service.overrideDescription": "当设为是时,webhooks、斜杠命令以及其他整合比如 Zapier 会允许修改发出信息的用户名。注意:和允许整合覆盖头像配合将可能造成用户被钓鱼攻击。", - "admin.service.overrideTitle": "允许整合覆盖用户名:", - "admin.service.readTimeout": "读取超时:", - "admin.service.readTimeoutDescription": "从连接接收到请求本体完全读取的时间限制。", - "admin.service.securityDesc": "当设置为是时,如果在过去12小时内有发布安全修正将会发送通知给系统管理员。需要启用电子邮件。", - "admin.service.securityTitle": "启用安全警报:", - "admin.service.sessionCache": "会话缓存(分钟):", - "admin.service.sessionCacheDesc": "会话在内存缓存的分钟数。", - "admin.service.sessionDaysEx": "例如 \"30\"", - "admin.service.siteURL": "站点网址:", - "admin.service.siteURLDescription": "用户访问 Mattermost 的包含端口和协议的网址。此栏可以留空除非您要在通知 > 电子邮件里设置批量邮件。当留空时,网址将自动根据访问请求设定。", - "admin.service.siteURLExample": "例如 \"https://mattermost.example.com:1234\"", - "admin.service.ssoSessionDays": "SSO会话时长 (天):", - "admin.service.ssoSessionDaysDesc": "从用户上一次输入他们的认证到会话过期的天数。如果验证方式时SAML或GitLab,用户将会自动登入到Mattermost如果他们已经登入到SAML或GitLab。修改此设定后,新的会话时常将在用户下一次输入认证后生效。", - "admin.service.testingDescription": "当设为是时,/loadtest 斜杠命令能载入测试账号,数据和文字格式。修改这个设置需要重启服务器才能生效。", - "admin.service.testingTitle": "启动测试指令:", - "admin.service.tlsCertFile": "TLS 证书文件:", - "admin.service.tlsCertFileDescription": "使用的证书文件。", - "admin.service.tlsKeyFile": "TLS 密钥文件:", - "admin.service.tlsKeyFileDescription": "使用的私钥文件。", - "admin.service.useLetsEncrypt": "使用 Let's Encrypt:", - "admin.service.useLetsEncryptDescription": "开启自动从 Let's Encrypt 获取证书。证书将在客户端尝试从新的域名连接时获取。此功能可以在多域名使用。", - "admin.service.webSessionDays": "AD/LDAP 和电子邮件的会话时长 (天):", - "admin.service.webSessionDaysDesc": "从用户上一次输入他们的认证到会话过期的天数。修改此设定后,新的会话时常将在用户下一次输入认证后生效。", - "admin.service.webhooksDescription": "设为是时,允许传入webhooks。为了避免钓鱼攻击,所有webhooks的帖文会标上BOT标签。参见 文档 了解详情。", - "admin.service.webhooksTitle": "启用传出的 Webhooks:", - "admin.service.writeTimeout": "写入超时:", - "admin.service.writeTimeoutDescription": "如果使用 HTTP (不安全),这是从读取请求头结尾到写入完响应最大允许的时间。如果使用 HTTPS,这将是从接受连接到写入完响应的总时间。", - "admin.sidebar.addTeamSidebar": "从侧边栏菜单添加团队", - "admin.sidebar.advanced": "高级", - "admin.sidebar.audits": "合规性与审计", - "admin.sidebar.authentication": "验证", - "admin.sidebar.cluster": "高可用性 (Beta)", - "admin.sidebar.compliance": "合规", - "admin.sidebar.configuration": "配置", - "admin.sidebar.connections": "连接", - "admin.sidebar.customBrand": "自定义品牌", - "admin.sidebar.customEmoji": "自定义表情符", - "admin.sidebar.customIntegrations": "自定义集成", - "admin.sidebar.customization": "自定义", - "admin.sidebar.database": "数据库", - "admin.sidebar.developer": "开发人员", - "admin.sidebar.email": "电子邮件", - "admin.sidebar.external": "外部服务", - "admin.sidebar.files": "文件", - "admin.sidebar.general": "常规", - "admin.sidebar.gitlab": "GitLab", - "admin.sidebar.images": "图像", - "admin.sidebar.integrations": "集成", - "admin.sidebar.ldap": "AD/LDAP", - "admin.sidebar.legalAndSupport": "法律和支持", - "admin.sidebar.license": "版本和许可证", - "admin.sidebar.localization": "本地化", - "admin.sidebar.logging": "日志", - "admin.sidebar.login": "登录", - "admin.sidebar.logs": "日志", - "admin.sidebar.metrics": "性能监视", - "admin.sidebar.nativeAppLinks": "Mattermost 应用链接", - "admin.sidebar.notifications": "通知", - "admin.sidebar.oauth": "OAuth 2.0", - "admin.sidebar.other": "其他", - "admin.sidebar.password": "密码", - "admin.sidebar.policy": "策略", - "admin.sidebar.privacy": "隐私", - "admin.sidebar.publicLinks": "公开链接", - "admin.sidebar.push": "移动推送", - "admin.sidebar.rateLimiting": "速率限制", - "admin.sidebar.reports": "报告", - "admin.sidebar.rmTeamSidebar": "从侧边栏菜单移除团队", - "admin.sidebar.saml": "SAML", - "admin.sidebar.security": "安全", - "admin.sidebar.sessions": "会话", - "admin.sidebar.settings": "设置", - "admin.sidebar.signUp": "注册", - "admin.sidebar.sign_up": "注册", - "admin.sidebar.statistics": "团队统计", - "admin.sidebar.storage": "储存", - "admin.sidebar.support": "法律和支持", - "admin.sidebar.teams": "团队 ({count, number})", - "admin.sidebar.users": "用户", - "admin.sidebar.usersAndTeams": "成员和团队", - "admin.sidebar.view_statistics": "站点统计", - "admin.sidebar.webrtc": "WebRTC (Beta)", - "admin.sidebarHeader.systemConsole": "系统控制台", - "admin.sql.dataSource": "数据源:", - "admin.sql.driverName": "驱动名:", - "admin.sql.keyDescription": "32位盐值字符用于加密和解密数据库敏感字段。", - "admin.sql.keyExample": "例如 \"gxHVDcKUyP2y1eiyW8S8na1UYQAfq6J6\"", - "admin.sql.keyTitle": "储存加密密钥:", - "admin.sql.maxConnectionsDescription": "数据库最大闲置连接数。", - "admin.sql.maxConnectionsExample": "例如 \"10\"", - "admin.sql.maxConnectionsTitle": "最大空闲连接数:", - "admin.sql.maxOpenDescription": "数据库最大连接数。", - "admin.sql.maxOpenExample": "例如 \"10\"", - "admin.sql.maxOpenTitle": "最大的开放连接: ", - "admin.sql.noteDescription": "修改这段属性需要重启服务器才能生效。", - "admin.sql.noteTitle": "注释:", - "admin.sql.replicas": "数据源副本:", - "admin.sql.traceDescription": "(开发模式) 当设为是时,SQL 语句会被写入到日志。", - "admin.sql.traceTitle": "追踪:", - "admin.sql.warning": "警告:重新生成盐值可能导致一些列在数据库中返回空。", - "admin.support.aboutDesc": "连接到关于 Mattermost 部署的很多内容的页面,例如您的组织的用途和受众群体。默认是 Mattermost 信息页面。", - "admin.support.aboutTitle": "关于链接:", - "admin.support.emailHelp": "显示在邮件通知和教学上让最终用户提问支持的电子邮件地址。", - "admin.support.emailTitle": "支持邮箱:", - "admin.support.helpDesc": "团队主菜单的帮助文档链接。除非您的组织有创建自己的文档,否则通常不需要去修改它。", - "admin.support.helpTitle": "帮助链接:", - "admin.support.noteDescription": "如果连接到一个外部站点,网址应该以 http:// 或https:// 开头。", - "admin.support.noteTitle": "注释:", - "admin.support.privacyDesc": "为桌面用户和移动设备用户提供隐私策略的链接.如果是空值将隐藏该项来显示通知.", - "admin.support.privacyTitle": "隐私策略链接:", - "admin.support.problemDesc": "该链接是团队网站主菜单帮助文档.默认情况下,这个链接到对等的疑难解答论坛,用户可以搜索,求助技术难题.", - "admin.support.problemTitle": "报告问题链接:", - "admin.support.termsDesc": "用户使用您的在线服务的条款链接。默认情况下,此链接指向 \"Mattermost 使用条款 (最终用户)\" 解释Mattermost软件提供给最终用户的条款。如果您修改默认链接来添加您自己的服务条款,您的新条款必须包含链接到默认条款让用户知道Mattermost软件的最终用户条款。", - "admin.support.termsTitle": "服务条款链接:", - "admin.system_analytics.activeUsers": "有发信息的活跃用户", - "admin.system_analytics.title": "系统", - "admin.system_analytics.totalPosts": "信息总数", - "admin.team.brandDesc": "启用自定义形象,以在登录页上显示一张自选图片,以及一些已经设定好的文本。", - "admin.team.brandDescriptionExample": "所有团队的通讯一站式解决,随时随地可访问和搜索", - "admin.team.brandDescriptionHelp": "登入界面显示的服务描述。未设定时会显示 \"所有团队的通讯一站式解决,随时随地可访问和搜索\"。", - "admin.team.brandDescriptionTitle": "站点描述:", - "admin.team.brandImageTitle": "自定义品牌图片:", - "admin.team.brandTextDescription": "显示在登入界面里自定义品牌图片下的文字。支持 Markdown 格式排版。最多允许 500 字。", - "admin.team.brandTextTitle": "自定义品牌文本:", - "admin.team.brandTitle": "启用自定义品牌:", - "admin.team.chooseImage": "选择新图像:", - "admin.team.dirDesc": "当设置为是时,设置为显示在团队目录里的团队会在主页显示并替代创建新的团队的位置。", - "admin.team.dirTitle": "启用团队目录:", - "admin.team.maxChannelsDescription": "每个团队最多频道数,包括活动的和已删除的频道。", - "admin.team.maxChannelsExample": "例如:\"100\"", - "admin.team.maxChannelsTitle": "每团队最多频道数:", - "admin.team.maxNotificationsPerChannelDescription": "因性能限制输入消息、@all、@here 以及 @channel 发通知的最大频道总用户数 。", - "admin.team.maxNotificationsPerChannelExample": "例如:\"10000\"", - "admin.team.maxNotificationsPerChannelTitle": "每频道最大通知数:", - "admin.team.maxUsersDescription": "每个团队最多用户数,包括启用的和停用的用户。", - "admin.team.maxUsersExample": "例如 \"25\"", - "admin.team.maxUsersTitle": "每个团队最多用户数:", - "admin.team.noBrandImage": "无上传的品牌图片", - "admin.team.openServerDescription": "设为是时,任何人可以无需邀请在本服务器上注册帐号。", - "admin.team.openServerTitle": "启用开放服务器:", - "admin.team.restrictDescription": "团队和用户帐户只能从一个特定的域创建(例如: \"mattermost.org\")或逗号分隔域列表(例如: \"corp.mattermost.com, mattermost.org\")。", - "admin.team.restrictDirectMessage": "允许用户私信的频道:", - "admin.team.restrictDirectMessageDesc": "'任何Mattermost服务器上的用户'让用户对任何用户发起直接通讯频道,就算他们不在同一个团队。'任何团队成员'限制用户只能对同一团队开启直接通讯频道。", - "admin.team.restrictExample": "例如 \"corp.mattermost.com, mattermost.org\"", - "admin.team.restrictNameDesc": "当设置为是时,你不能以保留字如 www,admin,support,test,channel 等创建团队", - "admin.team.restrictNameTitle": "限制团队名称:", - "admin.team.restrictTitle": "只允许特定电子邮件域名创建帐号:", - "admin.team.restrict_direct_message_any": "在Mattermost服务器上的任何用户", - "admin.team.restrict_direct_message_team": "任何团队成员", - "admin.team.siteNameDescription": "登录画面和界面所显示的服务名称。", - "admin.team.siteNameExample": "例如 \"Mattermost\"", - "admin.team.siteNameTitle": "网站名称:", - "admin.team.teamCreationDescription": "当设为否时,只有系统管理能创建团队。", - "admin.team.teamCreationTitle": "开启创建团队:", - "admin.team.upload": "上传", - "admin.team.uploadDesc": "添加一个自定义图片到登入界面以定制用户体验。推荐图片小于 2 MB。", - "admin.team.uploaded": "已上传!", - "admin.team.uploading": "上传中...", - "admin.team.userCreationDescription": "当设置为否时,创建帐户功能被禁用。点击创建账户按钮时会显示错误信息。", - "admin.team.userCreationTitle": "开启帐号创建:", - "admin.team_analytics.activeUsers": "有发信息的的正常用户", - "admin.team_analytics.totalPosts": "信息总数", - "admin.true": "是", - "admin.userList.title": "用户 {team}", - "admin.userList.title2": "用户{team} ({count})", - "admin.user_item.authServiceEmail": "登入方式: 电子邮件", - "admin.user_item.authServiceNotEmail": "登入方式: {service}", - "admin.user_item.confirmDemoteDescription": "如果您从系统管理角色降级且没有另一个用户拥有系统管理员权限,您则需要通过终端访问 Mattermost 服务器并运行以下命令以重新指定一个系统管理员。", - "admin.user_item.confirmDemoteRoleTitle": "确认从系统管理角色降级", - "admin.user_item.confirmDemotion": "确认降级", - "admin.user_item.confirmDemotionCmd": "platform roles system_admin {username}", - "admin.user_item.emailTitle": "电子邮件: {email}", - "admin.user_item.inactive": "停用", - "admin.user_item.makeActive": "设置为启用", - "admin.user_item.makeInactive": "设置为停用", - "admin.user_item.makeMember": "设置为成员", - "admin.user_item.makeSysAdmin": "设置为系统管理员", - "admin.user_item.makeTeamAdmin": "设置为团队管理员", - "admin.user_item.member": "成员", - "admin.user_item.mfaNo": "多重验证:否", - "admin.user_item.mfaYes": "多重验证:是", - "admin.user_item.resetMfa": "移除多重验证", - "admin.user_item.resetPwd": "重置密码", - "admin.user_item.switchToEmail": "切换到电子邮件/密码", - "admin.user_item.sysAdmin": "系统管理员", - "admin.user_item.teamAdmin": "团队管理员", - "admin.webrtc.enableDescription": "当设为是时,Mattermost 允许一对一视频通话。WebRTC 通话可在 Chrome,火狐以及 Mattermost 桌面应用使用。", - "admin.webrtc.enableTitle": "开启 Mattermost WebRTC:", - "admin.webrtc.gatewayAdminSecretDescription": "输入您访问网关管理网址的管理密码。", - "admin.webrtc.gatewayAdminSecretExample": "例如 \"PVRzWNN1Tg6szn7IQWvhpAvLByScWxdy\"", - "admin.webrtc.gatewayAdminSecretTitle": "网关管理密码:", - "admin.webrtc.gatewayAdminUrlDescription": "输入 https://:/admin。请根据您服务器设定使用 HTTP 或 HTTPS 的网址。Mattermost WebRTC 用此网址给每个用户获取创建连接的有效令牌。", - "admin.webrtc.gatewayAdminUrlExample": "例如 \"https://webrtc.mattermost.com:7089/admin\"", - "admin.webrtc.gatewayAdminUrlTitle": "网关管理网址:", - "admin.webrtc.gatewayWebsocketUrlDescription": "输入 wss://:。请根据您服务器设定使用 WS 的 WSS 网址。此 WebSocket 用于用户之间的信号和创建通讯。", - "admin.webrtc.gatewayWebsocketUrlExample": "例如 \"wss://webrtc.mattermost.com:8189\"", - "admin.webrtc.gatewayWebsocketUrlTitle": "网关 Websocket 网址:", - "admin.webrtc.stunUriDescription": "输入您的 STUN 网址 stun::。STUN 是一个网络协议标准用于让一个主机帮助双方都在 NAT 背后的用户连接到公网 IP。", - "admin.webrtc.stunUriExample": "例如 \"stun:webrtc.mattermost.com:5349\"", - "admin.webrtc.stunUriTitle": "STUN URI:", - "admin.webrtc.turnSharedKeyDescription": "输入您的 TURN 服务器共享密钥。此用来生成动态密码来创建连接。每个密码只有短暂有效期。", - "admin.webrtc.turnSharedKeyExample": "例如 \"bXdkOWQxc3d0Ynk3emY5ZmsxZ3NtazRjaWg=\"", - "admin.webrtc.turnSharedKeyTitle": "TURN 共享密钥:", - "admin.webrtc.turnUriDescription": "输入您的 TURN 网址以格式 turn::。TURN 是个标准的网络协议能协助双方都在NAT后时创建连接。", - "admin.webrtc.turnUriExample": "例如 \"turn:webrtc.mattermost.com:5349\"", - "admin.webrtc.turnUriTitle": "TURN URI:", - "admin.webrtc.turnUsernameDescription": "输入您的 TURN 服务器用户名。", - "admin.webrtc.turnUsernameExample": "例如 \"myusername\"", - "admin.webrtc.turnUsernameTitle": "TURN 用户名:", - "admin.webserverModeDisabled": "已禁用", - "admin.webserverModeDisabledDescription": "Mattermost 服务器不会提供静态文件。", - "admin.webserverModeGzip": "gzip", - "admin.webserverModeGzipDescription": "Mattermost 服务器将传输gzip压缩过的静态文件。", - "admin.webserverModeHelpText": "gzip压缩会应用到静态文件。建议开启gzip来增强性能除非您的环境有特殊限制,比如网页代理于gzip文件不兼容。", - "admin.webserverModeTitle": "网页服务器模式:", - "admin.webserverModeUncompressed": "未压缩", - "admin.webserverModeUncompressedDescription": "Mattermost 服务器将传输未压缩过的静态文件。", - "analytics.chart.loading": "加载中...", - "analytics.chart.meaningful": "没有足够的数据进行有意义的表示。", - "analytics.system.activeUsers": "有发信息的的正常用户", - "analytics.system.channelTypes": "频道类型", - "analytics.system.dailyActiveUsers": "每日活动用户", - "analytics.system.expiredBanner": "企业授权已在 {date} 过期。您在即日起有15天时间更新授权,请联系 commercial@mattermost.com。", - "analytics.system.expiringBanner": "企业授权已在 {date} 过期。请更新授权,详情请联系 commercial@mattermost.com。", - "analytics.system.monthlyActiveUsers": "每月活动用户", - "analytics.system.postTypes": "发文,文件和标签", - "analytics.system.privateGroups": "私有组", - "analytics.system.publicChannels": "公共频道", - "analytics.system.skippedIntensiveQueries": "为了最大化性能,部分统计已屏蔽。您可以在 config.json 中重新开启他们。参见:https://docs.mattermost.com/administration/statistics.html", - "analytics.system.textPosts": "纯文字帖文", - "analytics.system.title": "系统统计", - "analytics.system.totalChannels": "频道总数", - "analytics.system.totalCommands": "命令总数", - "analytics.system.totalFilePosts": "有文件的发文", - "analytics.system.totalHashtagPosts": "有标签的发文", - "analytics.system.totalIncomingWebhooks": "传入 Webhooks", - "analytics.system.totalMasterDbConnections": "父数据库连接数", - "analytics.system.totalOutgoingWebhooks": "传出 Webhooks", - "analytics.system.totalPosts": "全部信息", - "analytics.system.totalReadDbConnections": "复制数据库连接数", - "analytics.system.totalSessions": "会话总数", - "analytics.system.totalTeams": "团队总数", - "analytics.system.totalUsers": "用户总数", - "analytics.system.totalWebsockets": "Websocket 连接", - "analytics.team.activeUsers": "有发信息的的正常用户", - "analytics.team.newlyCreated": "新建的用户", - "analytics.team.privateGroups": "私有组", - "analytics.team.publicChannels": "公共频道", - "analytics.team.recentActive": "最近活跃用户", - "analytics.team.recentUsers": "最近活跃用户", - "analytics.team.title": "{team}的团队统计数据", - "analytics.team.totalPosts": "信息总数", - "analytics.team.totalUsers": "用户总数", - "api.channel.add_member.added": "{addedUsername} 被 {username} 添加到频道", - "api.channel.delete_channel.archived": "{username} 归档了频道。", - "api.channel.join_channel.post_and_forget": "{username} 加入了频道。", - "api.channel.leave.left": "{username} 离开了频道。", - "api.channel.post_update_channel_displayname_message_and_forget.updated_from": "{username} 更新了频道显示名从:{old} 到:{new}", - "api.channel.post_update_channel_header_message_and_forget.removed": "{username} 删除了频道标题 (曾是:{old})", - "api.channel.post_update_channel_header_message_and_forget.updated_from": "{username} 更新了频道标题从:{old} 到:{new}", - "api.channel.post_update_channel_header_message_and_forget.updated_to": "{username} 更新了频道标题到:{new}", - "api.channel.remove_member.removed": "{removedUsername} 被移出频道", - "app.channel.post_update_channel_purpose_message.removed": "{username} 移除了频道作用 (曾是:{old})", - "app.channel.post_update_channel_purpose_message.updated_from": "{username} 更新了频道作用从:{old} 到:{new}", - "app.channel.post_update_channel_purpose_message.updated_to": "{username} 更新了频道作用到:{new}", - "audit_table.accountActive": "账户激活", - "audit_table.accountInactive": "停用帐号", - "audit_table.action": "操作", - "audit_table.attemptedAllowOAuthAccess": "试图允许一个新的OAuth服务访问", - "audit_table.attemptedLicenseAdd": "试图添加新的许可证", - "audit_table.attemptedLogin": "试图登录", - "audit_table.attemptedOAuthToken": "试图得到一个OAuth访问令牌", - "audit_table.attemptedPassword": "试图修改密码", - "audit_table.attemptedRegisterApp": "试图注册一个新ID{id}的OAuth应用", - "audit_table.attemptedReset": "试图重置密码", - "audit_table.attemptedWebhookCreate": "试图创建一个webhook", - "audit_table.attemptedWebhookDelete": "试图删除webhook", - "audit_table.by": "由 {username}", - "audit_table.byAdmin": "由管理员", - "audit_table.channelCreated": "创建了 {channelName} 频道/组", - "audit_table.channelDeleted": "删除了网址为 {url} 的频道/组", - "audit_table.establishedDM": "与 {username} 建立了一个私聊频道", - "audit_table.failedExpiredLicenseAdd": "许可证由于已过期或未开始而无法添加", - "audit_table.failedInvalidLicenseAdd": "无法添加无效的许可证", - "audit_table.failedLogin": "登录尝试失败", - "audit_table.failedOAuthAccess": "允许新OAuth服务访问失败-重定向URL不匹配以前注册的回调", - "audit_table.failedPassword": "修改密码失败 - 试图通过 OAuth 登录的用户更新密码", - "audit_table.failedWebhookCreate": "创建一个webhook失败-没有频道权限", - "audit_table.failedWebhookDelete": "删除webhook失败-不合适的条件", - "audit_table.headerUpdated": "更新了 {channelName} 频道/组标题", - "audit_table.ip": "IP地址", - "audit_table.licenseRemoved": "成功删除许可证", - "audit_table.loginAttempt": " (登录尝试)", - "audit_table.loginFailure": " (登录失败)", - "audit_table.logout": "注销你的账户", - "audit_table.member": "成员", - "audit_table.nameUpdated": "更新了 {channelName} 频道/组名称", - "audit_table.oauthTokenFailed": "获取OAuth令牌 - {token}", - "audit_table.revokedAll": "撤销团队所有当前会话", - "audit_table.sentEmail": "已发送电子邮件到 {email} 以重置您的密码", - "audit_table.session": "会话ID", - "audit_table.sessionRevoked": "ID {sessionId} 的会话被撤销", - "audit_table.successfullLicenseAdd": "成功添加新的许可证", - "audit_table.successfullLogin": "登录成功", - "audit_table.successfullOAuthAccess": "成功开启新OAuth服务访问", - "audit_table.successfullOAuthToken": "成功添加了一个新的OAuth服务", - "audit_table.successfullPassword": "修改密码成功", - "audit_table.successfullReset": "重置密码成功", - "audit_table.successfullWebhookCreate": "成功地创建了一个webhook", - "audit_table.successfullWebhookDelete": "删除webhook成功", - "audit_table.timestamp": "时间戳", - "audit_table.updateGeneral": "更新您帐户的基本设置", - "audit_table.updateGlobalNotifications": "更新全局通知设置", - "audit_table.updatePicture": "更新你的个人资料照片", - "audit_table.updatedRol": "更新用户角色为", - "audit_table.userAdded": "已添加 {username} 到 {channelName}频道/组", - "audit_table.userId": "用户ID", - "audit_table.userRemoved": "已从 {channelName} 频道/组删除 {username}", - "audit_table.verified": "您的电子邮件地址验证成功", - "authorize.access": "允许{appName}访问?", - "authorize.allow": "允许", - "authorize.app": "应用{appName}想要能访问和修改您的基本资料。", - "authorize.deny": "拒绝", - "authorize.title": "{appName} 想要链接到您的 Mattermost 用户帐号", - "backstage_list.search": "搜索", - "backstage_navbar.backToMattermost": "返回{siteName}", - "backstage_sidebar.emoji": "自定义表情", - "backstage_sidebar.integrations": "集成", - "backstage_sidebar.integrations.commands": "斜杠命令", - "backstage_sidebar.integrations.incoming_webhooks": "引入Webhooks", - "backstage_sidebar.integrations.oauthApps": "OAuth 2.0 应用", - "backstage_sidebar.integrations.outgoing_webhooks": "对外Webhooks", - "calling_screen": "呼叫中", - "center_panel.recent": "点击这里跳转到最近的消息。", - "change_url.close": "关闭", - "change_url.endWithLetter": "网址必须以字母或数字结尾。", - "change_url.invalidUrl": "无效的网址", - "change_url.longer": "网址必须两个或更多字符。", - "change_url.noUnderscore": "网址不能包含两个连续的下划线。", - "change_url.startWithLetter": "网址必须以字母或数字开始。", - "channelHeader.addToFavorites": "添加到收藏", - "channelHeader.removeFromFavorites": "从收藏中移除", - "channel_flow.alreadyExist": "已存在使用该 URL 的频道", - "channel_flow.changeUrlDescription": "某些字符不允许出现在url中,可能被删除。", - "channel_flow.changeUrlTitle": "修改{term}URL", - "channel_flow.channel": "频道", - "channel_flow.create": "创建 {term}", - "channel_flow.group": "群组", - "channel_flow.handleTooShort": "频道网址必须为至少2个小写英文数字字符", - "channel_flow.invalidName": "无效的频道名称", - "channel_flow.set_url_title": "设置{term}URL", - "channel_header.addMembers": "添加成员", - "channel_header.addToFavorites": "添加到收藏", - "channel_header.channel": "频道", - "channel_header.channelHeader": "编辑频道标题", - "channel_header.delete": "删除 {term}", - "channel_header.flagged": "已标记的信息", - "channel_header.group": "群组", - "channel_header.leave": "离开{term}", - "channel_header.manageMembers": "成员管理", - "channel_header.notificationPreferences": "消息通知设置", - "channel_header.recentMentions": "最近提及", - "channel_header.removeFromFavorites": "从收藏中移除", - "channel_header.rename": "重命名 {term}", - "channel_header.setHeader": "修改 {term} 标题", - "channel_header.setPurpose": "修改 {term} 用途", - "channel_header.viewInfo": "查看信息", - "channel_header.viewMembers": "查看成员", - "channel_header.webrtc.call": "开始视频通话", - "channel_header.webrtc.offline": "此用户已离线", - "channel_header.webrtc.unavailable": "不能在结束当前通话前开新通话", - "channel_info.about": "关于", - "channel_info.close": "关闭", - "channel_info.header": "标题:", - "channel_info.id": "ID:", - "channel_info.name": "名称:", - "channel_info.notFound": "没有发现频道", - "channel_info.purpose": "用途:", - "channel_info.url": "URL:", - "channel_invite.add": "添加", - "channel_invite.addNewMembers": "添加新成员到", - "channel_invite.close": "关闭", - "channel_loader.connection_error": "您的网络连接似乎出现一个问题。", - "channel_loader.posted": "已发布", - "channel_loader.socketError": "请检查连接,无法连接到 Mattermost。如果问题持续存在,请管理员检查 WebSocket 端口。", - "channel_loader.someone": "有人", - "channel_loader.something": "新事物", - "channel_loader.unknown_error": "我们从服务器上接收到一个异常状态码。", - "channel_loader.uploadedFile": "上传文件", - "channel_loader.uploadedImage": "上传图片", - "channel_loader.wrote": "写到:", - "channel_members_dropdown.channel_admin": "频道管理员", - "channel_members_dropdown.channel_member": "频道成员", - "channel_members_dropdown.make_channel_admin": "成为频道管理员", - "channel_members_dropdown.make_channel_member": "成为频道成员", - "channel_members_dropdown.remove_from_channel": "从频道移除", - "channel_members_dropdown.remove_member": "移除成员", - "channel_members_modal.addNew": "添加新成员", - "channel_members_modal.members": " 位成员", - "channel_modal.cancel": "取消", - "channel_modal.channel": "频道", - "channel_modal.createNew": "创建新", - "channel_modal.descriptionHelp": "描述{term}如何被使用。", - "channel_modal.displayNameError": "此栏必须填写", - "channel_modal.edit": "编辑", - "channel_modal.group": "群组", - "channel_modal.header": "标题", - "channel_modal.headerEx": "例如:\"[链接标题](http://example.com)\"", - "channel_modal.headerHelp": "设定在 {term} 标题里在 {term} 旁边的文字。举例,输入常见链接 [链接标题](http://example.com)。", - "channel_modal.modalTitle": "新建", - "channel_modal.name": "名称", - "channel_modal.nameEx": "如: \"错误\",\"营销\",\"客户支持\"", - "channel_modal.optional": "(可选)", - "channel_modal.privateGroup1": "创建一个具有限制成员资格的私人组。", - "channel_modal.privateGroup2": "创建一个私有组", - "channel_modal.publicChannel1": "创建一个公共频道", - "channel_modal.publicChannel2": "创建一个任何人都能加入的新公共频道。", - "channel_modal.purpose": "用途", - "channel_modal.purposeEx": "例如:\"用于提交问题和建议的频道\"", - "channel_notification.push": "发送手机推送通知", - "channel_notifications.allActivity": "所有操作", - "channel_notifications.allUnread": "所有未读消息", - "channel_notifications.globalDefault": "默认全局({notifyLevel})", - "channel_notifications.markUnread": "标记频道为未读", - "channel_notifications.never": "从不", - "channel_notifications.onlyMentions": "仅对提及", - "channel_notifications.override": "选择一个“默认”以外的选项将会重写全局通知设置。桌面通知在Firefox、Safari和Chrome中有效。", - "channel_notifications.overridePush": "选择 \"全局默认\" 以外的选项将覆盖帐号设定中的移动推送通知全局通知设定。推送通知必须由系统管理员启用。", - "channel_notifications.preferences": "通知偏好 ", - "channel_notifications.sendDesktop": "发送桌面通知", - "channel_notifications.unreadInfo": "有未读消息时,侧边栏的频道名称粗体显示。只有当您被提及时选择“仅对提及”会加粗频道名称。", - "channel_select.placeholder": "--- 选择一个频道 ---", - "channel_switch_modal.dm": "(私信)", - "channel_switch_modal.failed_to_open": "打开频道失败。", - "channel_switch_modal.help": "输入频道名。↑↓浏览,TAB选择,↵确认,ESC取消", - "channel_switch_modal.not_found": "无匹配项。", - "channel_switch_modal.submit": "切换", - "channel_switch_modal.title": "切换频道", - "claim.account.noEmail": "没有指定电子邮件", - "claim.email_to_ldap.enterLdapPwd": "输入您 AD/LDAP 账户的ID和密码", - "claim.email_to_ldap.enterPwd": "输入你的{site}账户密码", - "claim.email_to_ldap.ldapId": "AD/LDAP ID", - "claim.email_to_ldap.ldapIdError": "请输入您的 AD/LDAP ID。", - "claim.email_to_ldap.ldapPasswordError": "请输入您的 AD/LDAP 密码。", - "claim.email_to_ldap.ldapPwd": "AD/LDAP 密码", - "claim.email_to_ldap.pwd": "密码", - "claim.email_to_ldap.pwdError": "请输入您的密码。", - "claim.email_to_ldap.ssoNote": "您必须已经拥有一个有效的 AD/LDAP 账户", - "claim.email_to_ldap.ssoType": "领取您的帐号后,您只能通过 AD/LDAP 登陆", - "claim.email_to_ldap.switchTo": "切换帐号到 AD/LDAP", - "claim.email_to_ldap.title": "切换邮箱/密码账号到 AD/LDAP", - "claim.email_to_oauth.enterPwd": "输入你的{site}账户密码", - "claim.email_to_oauth.pwd": "密码", - "claim.email_to_oauth.pwdError": "请输入您的密码。", - "claim.email_to_oauth.ssoNote": "您必须已经拥有一个有效的{type}账户", - "claim.email_to_oauth.ssoType": "领取您的帐号后,您只能通过 {type} SSO 登陆", - "claim.email_to_oauth.switchTo": "切换账户到 {uiType}", - "claim.email_to_oauth.title": "切换邮箱/密码账号到 {uiType}", - "claim.ldap_to_email.confirm": "确认密码", - "claim.ldap_to_email.email": "您将使用电子邮件{email}登录", - "claim.ldap_to_email.enterLdapPwd": "输入 {site} 电子邮件帐号的 {ldapPassword}", - "claim.ldap_to_email.enterPwd": "输入您的新电子邮件帐号密码", - "claim.ldap_to_email.ldapPasswordError": "请输入您的 AD/LDAP 密码。", - "claim.ldap_to_email.ldapPwd": "AD/LDAP 密码", - "claim.ldap_to_email.pwd": "密码", - "claim.ldap_to_email.pwdError": "请输入您的密码。", - "claim.ldap_to_email.pwdNotMatch": "密码不匹配。", - "claim.ldap_to_email.ssoType": "领取您的帐号后,您只能用您的电子邮箱地址和密码登入", - "claim.ldap_to_email.switchTo": "切换到电子邮件/密码的账户", - "claim.ldap_to_email.title": "切换到电子邮件/密码的 AD/LDAP 账户", - "claim.oauth_to_email.confirm": "确认密码", - "claim.oauth_to_email.description": "在改变您的账户类型后,您只能用您的电子邮箱地址和密码登入。", - "claim.oauth_to_email.enterNewPwd": "输入您在 {site} 的电子邮箱账户新密码", - "claim.oauth_to_email.enterPwd": "请输入密码。", - "claim.oauth_to_email.newPwd": "新密码", - "claim.oauth_to_email.pwdNotMatch": "密码不匹配。", - "claim.oauth_to_email.switchTo": "切换{type}为邮箱和密码", - "claim.oauth_to_email.title": "切换{type}账户为邮箱", - "confirm_modal.cancel": "取消", - "connecting_screen": "正在连接", - "create_comment.addComment": "添加一个评论...", - "create_comment.comment": "添加评论", - "create_comment.commentLength": "评论长度至少{max}字符。", - "create_comment.commentTitle": "评论", - "create_comment.file": "文件上传", - "create_comment.files": "文件上传", - "create_post.comment": "评论", - "create_post.error_message": "您的消息太长。字数:{length}/{limit}", - "create_post.post": "发布", - "create_post.shortcutsNotSupported": "您的设备不支持键盘快捷键。", - "create_post.tutorialTip": "

    发送信息

    在这输入信息并按回车发送。

    点击附件按钮上传图片或文件。

    ", - "create_post.write": "写一个消息...", - "create_team.agreement": "如果继续创建您的帐户和使用{siteName},您需要同意服务条款隐私政策。如果不同意,您将不能使用{siteName}。", - "create_team.display_name.back": "返回上一步", - "create_team.display_name.charLength": "名称必须在 {min} 于 {max} 个字符之间。您可以之后添加更长的团队描述。", - "create_team.display_name.nameHelp": "您可以使用任何语言命名您的团队。您的团队名称将显示在菜单和标题栏上。", - "create_team.display_name.next": "下一步", - "create_team.display_name.required": "此栏必须填写", - "create_team.display_name.teamName": "团队名称", - "create_team.team_url.back": "返回上一步", - "create_team.team_url.charLength": "名称必须是 {min} 到 {max} 个字符", - "create_team.team_url.creatingTeam": "创建团队...", - "create_team.team_url.finish": "完成", - "create_team.team_url.hint": "
  • 简短和易记为最好的
  • 使用小写字母,数字和连字符
  • 必须以字母开头且不能以连字符结尾
  • ", - "create_team.team_url.regex": "只使用小写字母,数字和连字符。必须以字母开头且不能以连字符结尾。", - "create_team.team_url.required": "此栏必须填写", - "create_team.team_url.taken": "URL已被使用或含有预留词", - "create_team.team_url.teamUrl": "团队URL", - "create_team.team_url.unavailable": "此网址不可用。请重新尝试。", - "create_team.team_url.webAddress": "选择您的新团队网址:", - "custom_emoji.empty": "未找到自定义表情符", - "custom_emoji.header": "自定义表情符", - "custom_emoji.search": "搜索自定义表情符", - "delete_channel.cancel": "取消", - "delete_channel.channel": "频道", - "delete_channel.confirm": "确认删除频道", - "delete_channel.del": "删除", - "delete_channel.group": "群组", - "delete_channel.question": "这会从团队删除此频道并且没有用户可以读取其数据。您确定要删除 {display_name} {term}?", - "delete_post.cancel": "取消", - "delete_post.comment": "评论", - "delete_post.confirm": "确认{term}删除", - "delete_post.del": "删除", - "delete_post.post": "发布", - "delete_post.question": "您确认要删除{term}?", - "delete_post.warning": "这个信息有{count}条评论。", - "edit_channel_header_modal.cancel": "取消", - "edit_channel_header_modal.description": "编辑在频道标题上显示在名称旁的文本。", - "edit_channel_header_modal.error": "频道标题太长,请长话短说", - "edit_channel_header_modal.save": "保存", - "edit_channel_header_modal.title": "编辑{channel}的标题", - "edit_channel_header_modal.title_dm": "编辑标题", - "edit_channel_purpose_modal.body": "描述{type}的用途。此文本出现在频道列表的“更多...”菜单中,帮助他人决定是否加入。", - "edit_channel_purpose_modal.cancel": "取消", - "edit_channel_purpose_modal.channel": "频道", - "edit_channel_purpose_modal.error": "频道用途过长,请长话短说", - "edit_channel_purpose_modal.group": "群组", - "edit_channel_purpose_modal.save": "保存", - "edit_channel_purpose_modal.title1": "编辑用途", - "edit_channel_purpose_modal.title2": "编辑用途", - "edit_command.save": "更新", - "edit_post.cancel": "取消", - "edit_post.edit": "编辑{title}", - "edit_post.editPost": "编辑信息...", - "edit_post.save": "保存", - "email_signup.address": "电子邮件地址", - "email_signup.createTeam": "创建团队", - "email_signup.emailError": "请输入一个有效的电子邮件地址。", - "email_signup.find": "查找我的团队", - "email_verify.almost": "{siteName}: 你几乎完成了", - "email_verify.failed": "验证电子邮件发送失败。", - "email_verify.notVerifiedBody": "请验证您的电子邮件地址。检查你的收件箱。", - "email_verify.resend": "发送电子邮件", - "email_verify.sent": "发送验证邮件已发送。", - "email_verify.verified": "{siteName}邮件验证", - "email_verify.verifiedBody": "

    摸的邮件已经验证通过!点击这里登录.

    ", - "email_verify.verifyFailed": "无法验证您的电子邮件。", - "emoji_list.actions": "操作", - "emoji_list.add": "添加自定义表情符", - "emoji_list.creator": "创建者", - "emoji_list.delete": "删除", - "emoji_list.empty": "未找到自定义表情符", - "emoji_list.header": "自定义表情", - "emoji_list.help": "自定义表情符对所有在您服务器上的用户开放。在信息框输入 ':' 会显示表情符选择菜单。其他用户可能需要刷新页面才能看见新的表情符。", - "emoji_list.help2": "提示:如果您用 #,##,或 ### 作为含有表情符的新一行开头,你可以使用大尺寸表情符。输入 '# :smile:' 来体验此功能。", - "emoji_list.image": "图像", - "emoji_list.name": "名称", - "emoji_list.search": "搜索自定义表情符", - "emoji_list.somebody": "其他团队某人", - "error.not_found.link_message": "返回Mattermost", - "error.not_found.message": "您访问的页面不存在", - "error.not_found.title": "页面未找到", - "error.not_supported.message": "私隐浏览不支持", - "error.not_supported.title": "不支持的浏览器", - "error_bar.expired": "企业授权已过期;您在即日起有15天时间更新授权,详情请联系 commercial@mattermost.com", - "error_bar.expiring": "企业授权将在 {date} 过期。需要更新授权,详情请联系 commercial@mattermost.com", - "error_bar.past_grace": "企业授权已过期,详情请联系您的系统管理员", - "error_bar.preview_mode": "预览模式: 未配置邮件通知", - "file_attachment.download": "下载", - "file_info_preview.size": "大小", - "file_info_preview.type": "文件类型", - "file_upload.fileAbove": "文件超过{max}MB不能被上传:{filename}", - "file_upload.filesAbove": "文件超过{max}MB不能被上传:{filenames}", - "file_upload.limited": "最大上传文件数限制为 {count}。请使用新信息来上传更多文件。", - "file_upload.pasted": "图片已粘贴至", - "filtered_channels_list.count": "{count} 个频道", - "filtered_channels_list.countTotal": "{count} 个频道,共 {total} 个频道", - "filtered_channels_list.search": "搜索频道", - "filtered_user_list.any_team": "所有用户", - "filtered_user_list.count": "{count} 位成员", - "filtered_user_list.countTotal": "{count} 位,共 {total} 位成员", - "filtered_user_list.countTotalPage": "{startCount, number} - {endCount, number} {count} 位成员,共 {total} 位", - "filtered_user_list.member": "成员", - "filtered_user_list.next": "下一页", - "filtered_user_list.prev": "上一页", - "filtered_user_list.search": "搜索用户", - "filtered_user_list.searchButton": "搜索", - "filtered_user_list.show": "过滤器:", - "filtered_user_list.team_only": "本团队成员", - "find_team.email": "电子邮件", - "find_team.findDescription": "已发送一份电子邮件含有所有您是成员的团队的链接。", - "find_team.findTitle": "找到您的团队", - "find_team.getLinks": "获取一封电子邮件,通过链接您可到任何所在的团队。", - "find_team.placeholder": "you@domain.com", - "find_team.send": "发送", - "find_team.submitError": "请输入一个有效的电子邮件地址", - "flag_post.flag": "标记以跟进", - "flag_post.unflag": "取消标记", - "general_tab.chooseDescription": "请为您的团队选个新的描述", - "general_tab.chooseName": "请选择一个新的名称为你的团队", - "general_tab.codeDesc": "点击 \"编辑\" 重新生成邀请码。", - "general_tab.codeLongDesc": "作为团队邀请链接中URL的一部分,邀请码在主菜单中由 {getTeamInviteLink} 创建。重新生成创建一个新的团队邀请链接将使之前的链接无效。", - "general_tab.codeTitle": "邀请码", - "general_tab.emptyDescription": "点击 '修改' 添加团队描述。", - "general_tab.getTeamInviteLink": "获取团队邀请链接", - "general_tab.includeDirDesc": "包含此团队将在首页的团队目录里显示该团队名,并提供一个链接到登陆页面。", - "general_tab.no": "否", - "general_tab.openInviteDesc": "允许时,此团队的链接将会显示在首页让任何有帐号的用户可以加入此团队。", - "general_tab.openInviteTitle": "允许任何在本服务器上的用户加入此团队", - "general_tab.regenerate": "重新生成", - "general_tab.required": "该字段不能为空", - "general_tab.teamDescription": "团队描述", - "general_tab.teamDescriptionInfo": "团队描述提供更多信息帮助用户选择何时的团队。最多 50 字符。", - "general_tab.teamName": "团队名称", - "general_tab.teamNameInfo": "设置出现在您登录界面左侧边栏顶部的团队名称。", - "general_tab.title": "基本设置", - "general_tab.yes": "是的", - "get_app.alreadyHaveIt": "已经拥有?", - "get_app.androidAppName": "安卓版Mattermost", - "get_app.androidHeader": "使用安卓应用获得Mattermost最好的表现", - "get_app.continue": "继续", - "get_app.continueWithBrowser": "或 {link}", - "get_app.continueWithBrowserLink": "继续使用浏览器", - "get_app.iosHeader": "使用iPhone应用获得Mattermost最好的表现", - "get_app.mattermostInc": "Mattermost, Inc", - "get_app.openMattermost": "打开 Mattermost", - "get_link.clipboard": "链接已复制", - "get_link.close": "关闭", - "get_link.copy": "复制链接", - "get_post_link_modal.help": "下方的链接允许授权用户查看您的信息。", - "get_post_link_modal.title": "复制永久链接", - "get_public_link_modal.help": "以下链接允许任何人不需要在本服务器注册可查看此文件。", - "get_public_link_modal.title": "复制公开链接", - "get_team_invite_link_modal.help": "向队友发送下方的链接以便其在此团队站点注册。团队邀请链接可以与多个队友分享,因为它不会改变,除非团队管理员在团队设置中重新生成。", - "get_team_invite_link_modal.helpDisabled": "您的团队已禁止创建用户。详情请联系您的团队管理员。", - "get_team_invite_link_modal.title": "团队邀请链接", - "help.attaching.downloading": "#### 下载文件\n点击文件预览图旁边的下载图标或者打开文件预览后点击**下载**。", - "help.attaching.dragdrop": "#### 拖放\n从电脑拖动一个或多个文件到右侧栏或中间栏上传文件。拖放文件到消息输入框,您也可以附加消息并按**回车**发送。", - "help.attaching.icon": "#### 附件图标\n除此之外,也可以点击消息输入框里的回形针来上传文件。当您在系统的文件选择对话框里选择想要上传的文件后点击**打开**以上传文件到输入框。另外可以附加信息后按**回车**发布。", - "help.attaching.limitations": "## 文件大小限制\nMattermost支持最多每贴5个附件,每个文件最大50MB。", - "help.attaching.methods": "## 附件方式\n用拖放或点击消息输入框里的附件图标以附上文件。", - "help.attaching.notSupported": "文档预览 (Word, Excel, PPT) 目前不支持。", - "help.attaching.pasting": "#### 粘贴图片\n在Chrome和Edge浏览器里,图片也可以通过粘贴来上传。目前此功能暂不支持其他浏览器。", - "help.attaching.previewer": "## File Previewer\nMattermost有自带的文件预览来预览媒体,下载文件和共享的公共链接。点击附件预览图打开文件预览。", - "help.attaching.publicLinks": "#### 分享公开链接\n公开链接能让您共享附件到您Mattermost团队外的人。点击附件的缩略图以打开文件阅览器,然后点击**获取公开链接**。这将打开一个带链接的对话框。当链接被分享并被他人打开时,文件将自动开始下载。", - "help.attaching.publicLinks2": "如果**获取公开链接**没在文件预览器里显示并且您想要此功能,您可以向您的系统管理请求在系统控制台里的**安全** > **公开链接**开启此功能。", - "help.attaching.supported": "#### 支持的媒体类型\n如果您尝试预览一个不支持的媒体类型,文件预览器将显示标准媒体附件图标。支持的媒体格式跟您的浏览器和系统有关,不过以下是在大部分浏览器上Mattermost支持的格式:", - "help.attaching.supportedList": "- 图片:BMP, GIF, JPG, JPEG, PNG\n- 视频:MP4\n- 音频:MP3, M4A\n- 文档:PDF", - "help.attaching.title": "# 附件\n_____", - "help.commands.builtin": "## 自带命令\n以下是Mattermost自带的斜杠命令:", - "help.commands.builtin2": "在开始输入 `/` 时将会在输入框上方显示斜杠命令列表。此自动完成建议列表将以黑色字体显示例子以及灰色字体显示说明。", - "help.commands.custom": "## 自定义命令\n自定义斜杠命令于外部应用整合。比如,一个团队可以设定自定义斜杠命令检查内部健康资料 `/patient joe smith` 或检查一城市的天气周报 `/weather toronto week`。向系统管理员确认或输入 `/` 打开自动完成列表确认您的团队是否有设置任何自定义斜杠命令。", - "help.commands.custom2": "自定义斜杠命令是默认关闭的,系统管理员可以在 **系统控制台** > **整合** > **Webhooks 与命令** 中开启。了解更多设置自定义斜杠命令到 [developer slash command documentation page](http://docs.mattermost.com/developer/slash-commands.html)。", - "help.commands.intro": "斜杠命令可以在 Mattermost 里的文本输入框内进行操作。输入 `/` 紧接着命令以及一些参数进行操作。\n\n自带的斜杠指令在所有Mattermost可以使用并且自定义斜杠命令可以用来设定与外部应用互动。了解更多设置自定义斜杠命令到 [developer slash command documentation page](http://docs.mattermost.com/developer/slash-commands.html)。", - "help.commands.title": "# 执行命令\n___", - "help.composing.deleting": "## 删除消息\n点击您在自己发送的消息中想删除的消息旁的 **[...]** 文字图标,然后点击 **删除**。系统或团队管理员可以删除任何在系统或团队中的消息。", - "help.composing.editing": "## 修改消息\n点击您在自己发送的消息中想删除的消息旁的 **[...]** 文字图标,然后点击 **修改**。在修改消息内容后,按 **回车** 以保存改动。消息内容不触发新的 @mention 通知,桌面通知或通知声音。", - "help.composing.linking": "## 消息链接\n**永久链接** 功能可以给任何消息创建链接。共享此链接给此频道的其他用户让他们直接访问消息归档里的消息。不在此频道的成员无法看永久链接。点任何消息旁边 **[...]** 图标 > **永久链接** > **复制链接** 来获取链接。", - "help.composing.posting": "## 发布消息\n在文字输入框里打入消息,然后按 ENTER 发送。用 Shift + ENTER 将在不发送消息下换行。如果想使用 Ctrl+ENTER 发信息,请到 **主菜单 > 帐号设定 > 用 Ctrl + Enter 发消息**。", - "help.composing.posts": "#### 发文\n发文被视为母消息。它们通常时回复串的开头。发文是从中间面板下方的输入框发送。", - "help.composing.replies": "#### 回复\n点击任意消息旁的回复图标来回复该消息。此操作将打开显示消息串的右边栏,然后您可以编写并发送您的回复。回复会有少许的缩进来标识它们时回复母消息的子消息。\n\n当在右边栏编写回复时,在上方点击展开/合并图标以便更容易阅读。", - "help.composing.title": "# 发送信息\n_____", - "help.composing.types": "## 消息类型\n回复发文以串整理对话。", - "help.formatting.checklist": "用半形方括号创建个任务列表:", - "help.formatting.checklistExample": "- [ ] 第一条\n- [ ] 第二条\n- [x] 完成的条目", - "help.formatting.code": "## 代码块\n\n用四个空格缩进每行,或在代码上下方放上 ``` 创建代码块。", - "help.formatting.codeBlock": "代码块", - "help.formatting.emojiExample": ":smile: :+1: :sheep:", - "help.formatting.emojis": "## 表情符\n\n输入 `:` 打开表情符自动完成。完整的表情符列表在[这里](http://www.emoji-cheat-sheet.com/)。您页可以创建您自己的[自定义表情符](http://docs.mattermost.com/help/settings/custom-emoji.html)如果您想用的表情符不存在。", - "help.formatting.example": "示例:", - "help.formatting.githubTheme": "**GitHub 主题风格**", - "help.formatting.headings": "## 标题\n\n在标题前输入#和一个空格创建标题。用更多 # 创建子标题。", - "help.formatting.headings2": "另外,您可以在文字下一行用 `===` 或 `---` 来创建标题。", - "help.formatting.headings2Example": "大标题\n-------------", - "help.formatting.headingsExample": "## 大标题\n### 小标题\n#### 更加小标题", - "help.formatting.images": "## 内嵌图片\n\n在 `!` 后面加方括号里带替代文字以及括号里带链接以创建内嵌图片。在链接后用带双引号的文字以添加悬浮文字。", - "help.formatting.imagesExample": "![替代文字](链接 \"悬浮文字\")\n\n以及\n\n[![Build Status](https://travis-ci.org/mattermost/platform.svg?branch=master)](https://travis-ci.org/mattermost/platform) [![Github](https://assets-cdn.github.com/favicon.ico)](https://github.com/mattermost/platform)", - "help.formatting.inline": "## 嵌入代码\n\n用反引号包围文字创建等宽文字。", - "help.formatting.intro": "Markdown能轻松改变消息格式。您如常输入消息,然后用以下规则给予指定的格式。", - "help.formatting.lines": "## 分界线\n\n用三个 `*`, `_` 或 `-` 创建一条分界线。", - "help.formatting.linkEx": "[来看下Mattermost!](https://about.mattermost.com/)", - "help.formatting.links": "## 链接\n\n将想显示的文字放进方括号和对应的链接到括号。", - "help.formatting.listExample": "* 列表项一\n* 列表项二\n * 列表项二子项", - "help.formatting.lists": "## 列表\n\n用 `*` 或 `-` 创建项目。在前面添加两个空格以缩进项目。", - "help.formatting.monokaiTheme": "**Monoka 主题风格**", - "help.formatting.ordered": "用数字表示有序列表:", - "help.formatting.orderedExample": "1. 第一项\n2. 第二项", - "help.formatting.quotes": "## 块引用\n\n用 `>` 创建块引用。", - "help.formatting.quotesExample": "`> 块引用` 显示为:", - "help.formatting.quotesRender": "> 块引用", - "help.formatting.renders": "显示为:", - "help.formatting.solirizedDarkTheme": "**Solarized Dark 主题风格**", - "help.formatting.solirizedLightTheme": "**Solarized Light 主题风格**", - "help.formatting.style": "## 文字风格\n\n您可以用 `_` 或 `*` 包围一个词来让它变斜体。用两个则是粗体。\n\n* `_斜体_` 显示为 _斜体_\n* `**粗体**` 显示为 **粗体**\n* `**_粗斜体_**` 显示为 **_粗斜体_**\n* `~~删除线~~` 显示为 ~~删除线~~", - "help.formatting.supportedSyntax": "支持的语言:\n`as`, `applescript`, `osascript`, `scpt`, `bash`, `sh`, `zsh`, `clj`, `boot`, `cl2`, `cljc`, `cljs`, `cljs.hl`, `cljscm`, `cljx`, `hic`, `coffee`, `_coffee`, `cake`, `cjsx`, `cson`, `iced`, `cpp`, `c`, `cc`, `h`, `c++`, `h++`, `hpp`, `cs`, `csharp`, `css`, `d`, `di`, `dart`, `delphi`, `dpr`, `dfm`, `pas`, `pascal`, `freepascal`, `lazarus`, `lpr`, `lfm`, `diff`, `django`, `jinja`, `dockerfile`, `docker`, `erl`, `f90`, `f95`, `fsharp`, `fs`, `gcode`, `nc`, `go`, `groovy`, `handlebars`, `hbs`, `html.hbs`, `html.handlebars`, `hs`, `hx`, `java`, `jsp`, `js`, `jsx`, `json`, `jl`, `kt`, `ktm`, `kts`, `less`, `lisp`, `lua`, `mk`, `mak`, `md`, `mkdown`, `mkd`, `matlab`, `m`, `mm`, `objc`, `obj-c`, `ml`, `perl`, `pl`, `php`, `php3`, `php4`, `php5`, `php6`, `ps`, `ps1`, `pp`, `py`, `gyp`, `r`, `ruby`, `rb`, `gemspec`, `podspec`, `thor`, `irb`, `rs`, `scala`, `scm`, `sld`, `scss`, `st`, `sql`, `swift`, `tex`, `vbnet`, `vb`, `bas`, `vbs`, `v`, `veo`, `xml`, `html`, `xhtml`, `rss`, `atom`, `xsl`, `plist`, `yaml`", - "help.formatting.syntax": "### 语法高亮\n\n在代码块开头 ``` 之后输入想高亮的语言以开启高亮。Mattermost 同时提供四种代码风格 (GitHub, Solarized Dark, Solarized Light, Monokai) 可以在 **帐号设定** > **显示** > **主题** > **自定义主题** > **中央频道样式** 里修改", - "help.formatting.syntaxEx": " package main\n import \"fmt\"\n func main() {\n fmt.Println(\"Hello, 世界\")\n }", - "help.formatting.tableExample": "| 靠左对齐 | 置中对齐 | 靠右对齐 |\n| :------ |:-------:| --------:|\n| 左列 1 | 此文字 | $100 |\n| 左列 2 | 是 | $10 |\n| 左列 3 | 居中的 | $1 |", - "help.formatting.tables": "## 表格\n\n在标题下行放一个虚线并用竖线 `|` 分割列来建立表格(列不需要精准对齐)。在标题里用冒号 `:` 来设定列对齐。", - "help.formatting.title": "# 文字格式\n_____", - "help.learnMore": "了解更多:", - "help.link.attaching": "附加文件", - "help.link.commands": "执行命令", - "help.link.composing": "编写消息和回复", - "help.link.formatting": "用Markdown排版消息", - "help.link.mentioning": "提及团友", - "help.link.messaging": "基本消息", - "help.mentioning.channel": "#### @频道\n您可以输入 `@channel` 来提及整个频道。所有频道成员将和单独被提及一样收到提及通知。", - "help.mentioning.channelExample": "@channel 这周的面试做得很好。我觉得我们找到了些非常有潜力的候选人!", - "help.mentioning.mentions": "## @提及\n用 @提及 来引起特定团队成员的注意。", - "help.mentioning.recent": "## 最近提及\n点击搜索栏旁边的 `@` 以查询您最近的 @提及 以及触发提及的词。点击右边栏搜索结果旁的 **跳转** 将中间栏跳转到提及的频道和消息的位置。", - "help.mentioning.title": "# 提及团友\n_____", - "help.mentioning.triggers": "## 触发提及的词\n除了被 @用户名 和 @频道 通知意外,您可以在 **帐号设定** > **通知** > **触发提及的词** 自定义被触发提及通知的词。默认情况下,您会收到您名字的通知,但您可以添加用逗号分开的触发词。这在您想要在收到特定主题的通知时很有帮助,比如,\"面试\" 或 \"市场\"。", - "help.mentioning.username": "#### @用户名\n您可以用 `@` 符号紧接着他们的用户名来发送提及通知给他们。\n\n输入 `@` 来打开可以被提及的团队成员。输入用户名,名字,姓氏,或昵称开头几个字来过滤列表。用 **上** 和 **下** 方向键可以从列表中选择项目,然后用 **回车** 确认选择。一旦选中,全名或昵称将自动被代替为用户名。\n以下例子将发送特殊提及通知给 **alice** 告诉她被提及到的频道和消息内容。如果 **alice** 在 Mattermost 为离开并且开启[电子邮件通知](http://docs.mattermost.com/help/getting-started/configuring-notifications.html#email-notifications),那么她会收到带有提及和消息的电子邮件通知。", - "help.mentioning.usernameCont": "如果您提及的用户不属于这频道,系统会发信息告知您。这只是个临时的信息且只有触发的人看见。如想添加提及的用户到频道,点击频道名旁的下拉菜单中的 **添加成员**。", - "help.mentioning.usernameExample": "@alice 新候选人的面试怎么样?", - "help.messaging.attach": "用拖放或点击消息输入框里的附件图标以**附上文件**。", - "help.messaging.emoji": "输入 \":\" 打开表情符自动完成以 **快速添加表情符**。如果现有的表情符不够,您也可以创建您自己的[自定义表情符](http://docs.mattermost.com/help/settings/custom-emoji.html)。", - "help.messaging.format": "使用 Markdown 来 **格式您的消息**,它支持文字样式,标题,链接,表情符,代码块,块引用,表格,列表和内嵌图片。", - "help.messaging.notify": "**通知团友** 当他们需要时输入 `@用户名`。", - "help.messaging.reply": "点击消息文字旁的的回复图标来**回复消息**。", - "help.messaging.title": "# 消息基础\n_____", - "help.messaging.write": "用 Mattermost 底部的文字输入框 **编写消息**。按 回车 来发送消息。用 SHIFT+回车 以不发消息情况下换行。", - "installed_command.header": "斜杠命令", - "installed_commands.add": "添加斜杠命令", - "installed_commands.delete.confirm": "此操作降永久删除斜杠命令并让依赖的集成无法工作。您确定要删除它吗?", - "installed_commands.empty": "未找到命令", - "installed_commands.header": "斜杠命令", - "installed_commands.help": "创建与外部系统集成的斜杠命令。详情请见 {link} 。", - "installed_commands.helpLink": "文档", - "installed_commands.search": "搜索斜杠命令", - "installed_commands.unnamed_command": "未命名斜杠命令", - "installed_incoming_webhooks.add": "添加引入勾子", - "installed_incoming_webhooks.delete.confirm": "此操作降永久删除传入的 webhook 并让依赖的集成无法工作。您确定要删除它吗?", - "installed_incoming_webhooks.empty": "没有找到传入webhooks", - "installed_incoming_webhooks.header": "引入Webhooks", - "installed_incoming_webhooks.help": "创建对内的网络钩子链接以便与内部系统集成。想了解更多请参考 {link}", - "installed_incoming_webhooks.helpLink": "文档", - "installed_incoming_webhooks.search": "搜索传入Webhooks", - "installed_incoming_webhooks.unknown_channel": "私有Webhook", - "installed_integrations.callback_urls": "回调地址:{urls}", - "installed_integrations.client_id": "客户端ID:{clientId}", - "installed_integrations.client_secret": "客户端密码:{clientSecret}", - "installed_integrations.content_type": "Content-Type: {contentType}", - "installed_integrations.creation": "{creator}在{createAt, date, full}中创建", - "installed_integrations.delete": "删除", - "installed_integrations.edit": "编辑", - "installed_integrations.hideSecret": "隐藏密码", - "installed_integrations.regenSecret": "重生成盐", - "installed_integrations.regenToken": "重新生成Token", - "installed_integrations.showSecret": "显示密码", - "installed_integrations.token": "令牌:{token}", - "installed_integrations.triggerWhen": "触发于:{triggerWhen}", - "installed_integrations.triggerWords": "触发关键词:{triggerWords}", - "installed_integrations.unnamed_oauth_app": "未命名 OAuth 2.0 应用", - "installed_integrations.url": "网址:{url}", - "installed_oauth_apps.add": "添加 OAuth 2.0 应用", - "installed_oauth_apps.callbackUrls": "回调网址 (每行一个)", - "installed_oauth_apps.cancel": "取消", - "installed_oauth_apps.delete.confirm": "此操作降永久删除 OAuth 2.0 应用并让依赖的集成无法工作。您确定要删除它吗?", - "installed_oauth_apps.description": "描述", - "installed_oauth_apps.empty": "没有找到 OAuth 2.0 应用", - "installed_oauth_apps.header": "OAuth 2.0 应用", - "installed_oauth_apps.help": "创建 OAuth 2.0 应用以安全得与 Mattermost 整合机器人和第三方应用。详情请见 {link}。", - "installed_oauth_apps.helpLink": "文档", - "installed_oauth_apps.homepage": "首頁", - "installed_oauth_apps.iconUrl": "图标网址", - "installed_oauth_apps.is_trusted": "是受信任的:{isTrusted}", - "installed_oauth_apps.name": "显示名称", - "installed_oauth_apps.save": "保存", - "installed_oauth_apps.search": "搜索 OAuth 2.0 应用", - "installed_oauth_apps.trusted": "是受信任", - "installed_oauth_apps.trusted.no": "否", - "installed_oauth_apps.trusted.yes": "是", - "installed_outgoing_webhooks.add": "添加对外Webhooks", - "installed_outgoing_webhooks.delete.confirm": "此操作降永久删除传出的 webhook 并让依赖的集成无法工作。您确定要删除它吗?", - "installed_outgoing_webhooks.empty": "没找到传出webhooks", - "installed_outgoing_webhooks.header": "对外Webhooks", - "installed_outgoing_webhooks.help": "创建对外的网络钩子链接以便与外部部系统集成。想了解更多请参考 {link}", - "installed_outgoing_webhooks.helpLink": "文档", - "installed_outgoing_webhooks.search": "搜索传入Webhooks", - "installed_outgoing_webhooks.unknown_channel": "私有Webhook", - "integrations.add": "添加", - "integrations.command.description": "发送事件到外部整合的斜杠命令", - "integrations.command.title": "斜线命令", - "integrations.delete.confirm.button": "删除", - "integrations.delete.confirm.title": "删除集成", - "integrations.done": "完成", - "integrations.edit": "编辑", - "integrations.header": "集成", - "integrations.incomingWebhook.description": "传入的webhooks允许外部集成发送信息", - "integrations.incomingWebhook.title": "引入Webhook", - "integrations.oauthApps.description": "OAuth 2.0 允许外部引用向 Mattermost API 发出已授权的请求。", - "integrations.oauthApps.title": "OAuth 2.0 应用", - "integrations.outgoingWebhook.description": "传出的网络挂接允许外部集成接收和响应信息", - "integrations.outgoingWebhook.title": "引出Webhook", - "integrations.successful": "设置成功", - "intro_messages.DM": "这是您和{teammate}私信记录的开端。
    此区域外的人不能看到这里共享的私信和文件。", - "intro_messages.anyMember": " 任何成员可以加入和查看这个频道。", - "intro_messages.beginning": "{name} 的开端", - "intro_messages.channel": "频道", - "intro_messages.creator": "这是{name}{type}的开端,由{creator}于{date}建立。", - "intro_messages.default": "

    {display_name}的开端

    欢迎进入{display_name}!

    这是团队成员登录后看到的第一个频道—使用它来发布每个人需要知道的更新信息。

    ", - "intro_messages.group": "私有组", - "intro_messages.invite": "邀请其他人到{type}", - "intro_messages.inviteOthers": "邀请其他人入组", - "intro_messages.noCreator": "这是{name}{type}的开端,于{date}建立。", - "intro_messages.offTopic": "

    {display_name}的开端

    这是{display_name}的开始,一个用于非工作的频道.

    ", - "intro_messages.onlyInvited": "只有受邀的人才能看到这个私有组。", - "intro_messages.purpose": "此{type}的用途是:{purpose}。", - "intro_messages.setHeader": "设置标题", - "intro_messages.teammate": "这是您与此团队成员私信记录的开端。在这里的直接消息和文件共享除了在此的人外无法看到。", - "invite_member.addAnother": "添加另一个", - "invite_member.autoJoin": "被邀请人将自动加入频道{channel}。", - "invite_member.cancel": "取消", - "invite_member.content": "您团队的电子邮件目前已被禁用,不能发送电子邮件邀请。请联系您的系统管理员启用电子邮件和邮件邀请。", - "invite_member.disabled": "您的团队已禁止创建用户。详情请联系您的团队管理员。", - "invite_member.emailError": "请输入一个有效的电子邮件地址", - "invite_member.firstname": "名字", - "invite_member.inviteLink": "团队邀请链接", - "invite_member.lastname": "姓氏", - "invite_member.modalButton": "是的,抛弃", - "invite_member.modalMessage": "你有未寄出的邀请函,您确定你想要放弃它们吗?", - "invite_member.modalTitle": "丢弃邀请?", - "invite_member.newMember": "邀请新成员", - "invite_member.send": "发送邀请", - "invite_member.send2": "邀请函", - "invite_member.sending": "发送", - "invite_member.teamInviteLink": "你可以使用链接{link}邀请别人。", - "ldap_signup.find": "寻找我的团队", - "ldap_signup.ldap": "用 AD/LDAP 帐号建立团队", - "ldap_signup.length_error": "名称必须为3至15个字母", - "ldap_signup.teamName": "输入新团队名", - "ldap_signup.team_error": "请输入团队名", - "leave_team_modal.desc": "您将会从所有公共频道和私有组移除。如果团队是私有的,您将无法再加入。您确定吗?", - "leave_team_modal.no": "否", - "leave_team_modal.title": "退出团队?", - "leave_team_modal.yes": "是", - "loading_screen.loading": "加载中", - "login.changed": "登录方式修改成功", - "login.create": "现在创建一个", - "login.createTeam": "创建一个新的团队", - "login.createTeamAdminOnly": "此选项只对系统管理员开放,其他用户不会显示。", - "login.email": "电子邮件", - "login.find": "查找您的其他团队", - "login.forgot": "我忘记了密码", - "login.gitlab": "GitLab", - "login.google": "Google Apps", - "login.invalidPassword": "您的密码是错误的。", - "login.ldapUsername": "AD/LDAP 用户名", - "login.ldapUsernameLower": "AD/LDAP 用户名", - "login.noAccount": "没有帐户吗?", - "login.noEmail": "请输入您的电子邮件", - "login.noEmailLdapUsername": "请输入您的电子邮件或 {ldapUsername}", - "login.noEmailUsername": "请输入您的电子邮件或用户名", - "login.noEmailUsernameLdapUsername": "请输入您的电子邮件,用户名或 {ldapUsername}", - "login.noLdapUsername": "请输入您的 {ldapUsername}", - "login.noMethods": "没有开启任何登入方式。请联系您的系统管理员。", - "login.noPassword": "请输入您的密码", - "login.noUsername": "请输入您的用户名", - "login.noUsernameLdapUsername": "请输入您的用户名或 {ldapUsername}", - "login.office365": "Office 365", - "login.on": "在{siteName}", - "login.or": "或", - "login.password": "密码", - "login.passwordChanged": "成功更新密码", - "login.session_expired": "您的会话已过期,请重新登录。", - "login.signIn": "登录", - "login.signInLoading": "登入中...", - "login.signInWith": "登录使用:", - "login.userNotFound": "我们找不到现有的帐户匹配您的凭证。", - "login.username": "用户名", - "login.verified": "验证电子邮件", - "login_mfa.enterToken": "请输入您智能手机的验证令牌以便完成登录", - "login_mfa.submit": "提交", - "login_mfa.token": "多重验证令牌", - "login_mfa.tokenReq": "请输入多重验证令牌", - "member_item.makeAdmin": "Admin", - "member_item.member": "成员", - "member_list.noUsersAdd": "没有用户可添加。", - "members_popover.manageMembers": "成员管理", - "members_popover.msg": "消息", - "members_popover.title": "成员", - "members_popover.viewMembers": "查看成员", - "mfa.confirm.complete": "设置完成!", - "mfa.confirm.okay": "确定", - "mfa.confirm.secure": "您的帐号现在安全了。下次登入时,您将要求输入 Google Authenticator 应用提供的令牌。", - "mfa.setup.badCode": "无效令牌。如果此问题持续,请联系您的系统管理器。", - "mfa.setup.code": "MFA 令牌", - "mfa.setup.codeError": "请输入来自 Google Authenticator 的令牌。", - "mfa.setup.required": "{siteName} 强制要求使用多重验证。 ", - "mfa.setup.save": "保存", - "mfa.setup.secret": "密码:{secret}", - "mfa.setup.step1": "第一步:在您的手机上,从iTunesGoogle Play下载 Google Authenticator", - "mfa.setup.step2": "第二布:使用 Google Authenticator 扫描此 QR 码,或手动输入密码", - "mfa.setup.step3": "第三步:输入 Google Authenticator 生成的令牌", - "mfa.setupTitle": "多重验证设置", - "mobile.components.channels_list_view.yourChannels": "您的频道:", - "mobile.components.select_server_view.enterServerUrl": "输入服务器网址", - "mobile.components.select_server_view.proceed": "继续", - "mobile.components.select_server_view.siteUrlPlaceholder": "https://mattermost.example.com", - "mobile.routes.channels": "频道", - "mobile.routes.enterServerUrl": "输入服务器网址", - "mobile.routes.login": "登录", - "mobile.routes.postsList": "信息列表", - "mobile.routes.selectTeam": "选择团队", - "more_channels.close": "关闭", - "more_channels.create": "创建新频道", - "more_channels.createClick": "点击'创建新频道'创建一个新的频道", - "more_channels.join": "加入", - "more_channels.next": "下一页", - "more_channels.noMore": "没有更多可加入的频道", - "more_channels.prev": "上一页", - "more_channels.title": "更多频道", - "more_direct_channels.close": "关闭", - "more_direct_channels.message": "消息", - "more_direct_channels.new_convo_note": "这将创建新对话。如果你在添加很多用户,请考虑创建私有租。", - "more_direct_channels.new_convo_note.full": "您已达到此对话的最多人数。请考虑创建私有租。", - "more_direct_channels.title": "私信", - "msg_typing.areTyping": "{users}和{last}正在输入...", - "msg_typing.isTyping": "{user}正在输入...", - "msg_typing.someone": "有人", - "multiselect.go": "转到", - "multiselect.instructions": "使用上/下键选择并用回车做选择", - "multiselect.numPeopleRemaining": "您还可以添加 {num, number} 位用户。", - "multiselect.numRemaining": "您还可以添加 {num, number} 位", - "multiselect.placeholder": "搜索并添加成员", - "navbar.addMembers": "添加成员", - "navbar.click": "请点击这里", - "navbar.delete": "删除频道...", - "navbar.leave": "离开频道", - "navbar.manageMembers": "成员管理", - "navbar.noHeader": "没有频道标题。{newline}{link}去添加。", - "navbar.preferences": "通知偏好", - "navbar.rename": "重命名频道...", - "navbar.setHeader": "设置频道标题...", - "navbar.setPurpose": "设置频道的用途...", - "navbar.toggle1": "切换侧边栏", - "navbar.toggle2": "切换侧边栏", - "navbar.viewInfo": "查看信息", - "navbar_dropdown.about": "关于Mattermost", - "navbar_dropdown.accountSettings": "账户设置", - "navbar_dropdown.console": "系统控制台", - "navbar_dropdown.create": "创建一个新的团队", - "navbar_dropdown.emoji": "自定义表情符", - "navbar_dropdown.help": "帮助", - "navbar_dropdown.integrations": "集成", - "navbar_dropdown.inviteMember": "邀请新成员", - "navbar_dropdown.join": "加入另一个团队", - "navbar_dropdown.leave": "离开团队", - "navbar_dropdown.logout": "注销", - "navbar_dropdown.manageMembers": "成员管理", - "navbar_dropdown.nativeApps": "下载应用", - "navbar_dropdown.report": "报告问题", - "navbar_dropdown.switchTeam": "切换到{team}", - "navbar_dropdown.switchTo": "切换到", - "navbar_dropdown.teamLink": "获取团队邀请链接", - "navbar_dropdown.teamSettings": "团队设置", - "navbar_dropdown.viewMembers": "查看成员", - "notification.dm": "私信", - "passwordRequirements": "密码要求:", - "password_form.change": "修改我的密码", - "password_form.click": "点击这里去登录。", - "password_form.enter": "输入您的 {siteName} 账户新密码。", - "password_form.error": "请输入至少{chars}个字符。", - "password_form.pwd": "密码", - "password_form.title": "密码重置", - "password_form.update": "你的密码已经更新成功。", - "password_send.checkInbox": "请检查您的收件箱。", - "password_send.description": "重置您的密码,输入您用于注册的电子邮件地址", - "password_send.email": "电子邮件", - "password_send.error": "请输入一个有效的电子邮件地址。", - "password_send.link": "如果帐号是已存在的,密码重置邮件会发送到:
    {email}

    ", - "password_send.reset": "重置我的密码", - "password_send.title": "密码重置", - "pdf_preview.max_pages": "下载以阅读更多页", - "pending_post_actions.cancel": "取消", - "pending_post_actions.retry": "重试", - "permalink.error.access": "此永久链接指向已删除的消息或者您没有权限访问的频道。", - "post_attachment.collapse": "收起...", - "post_attachment.more": "展开...", - "post_body.commentedOn": "对 {name}{apostrophe} 的信息评论:", - "post_body.deleted": "(消息被删除)", - "post_body.plusMore": "添加{count}文件", - "post_body.plusOne": "添加1个文件", - "post_delete.notPosted": "无法发布评论", - "post_delete.okay": "确定", - "post_delete.someone": "有人删除了你想评论的信息。", - "post_focus_view.beginning": "开始频道归档", - "post_info.del": "删除", - "post_info.edit": "编辑", - "post_info.mobile.flag": "标记", - "post_info.mobile.unflag": "取消标记", - "post_info.permalink": "永久链接", - "post_info.reply": "回复", - "post_info.system": "系统", - "post_message_view.edited": "(已编辑)", - "posts_view.loadMore": "载入更多消息", - "posts_view.newMsg": "新消息", - "posts_view.newMsgBelow": "以下有 {count} 个新消息", - "reaction.clickToAdd": "(点击添加)", - "reaction.clickToRemove": "(点击删除)", - "reaction.othersReacted": "{otherUsers, number} 位用户", - "reaction.reacted": "{users} {reactionVerb} 表示 {emoji}", - "reaction.reactionVerb.user": "反应了", - "reaction.reactionVerb.users": "反应了", - "reaction.reactionVerb.you": "反应了", - "reaction.reactionVerb.youAndUsers": "反应了", - "reaction.usersAndOthersReacted": "{users} 以及 {otherUsers, number} 位其他用户", - "reaction.usersReacted": "{users} 以及 {lastUser}", - "reaction.you": "您", - "removed_channel.channelName": "频道", - "removed_channel.from": "删除从", - "removed_channel.okay": "确定", - "removed_channel.remover": "{remover}删除从{channel}", - "removed_channel.someone": "有人", - "rename_channel.cancel": "取消", - "rename_channel.defaultError": "-不能改变默认频道", - "rename_channel.displayName": "显示名称", - "rename_channel.displayNameHolder": "输入显示名", - "rename_channel.handleHolder": "小写字母符", - "rename_channel.lowercase": "必须小写字母数字字符", - "rename_channel.maxLength": "这个字段必须少于22个字符", - "rename_channel.required": "该字段不能为空", - "rename_channel.save": "保存", - "rename_channel.title": "重命名频道", - "rename_channel.url": "URL:", - "rhs_comment.comment": "评论", - "rhs_comment.del": "删除", - "rhs_comment.edit": "编辑", - "rhs_comment.mobile.flag": "标记", - "rhs_comment.mobile.unflag": "取消标记", - "rhs_comment.permalink": "永久链接", - "rhs_header.backToCallTooltip": "回到通话", - "rhs_header.backToFlaggedTooltip": "回到已标记的信息", - "rhs_header.backToResultsTooltip": "回到搜索结果", - "rhs_header.closeSidebarTooltip": "关闭侧栏", - "rhs_header.closeTooltip": "关闭侧栏", - "rhs_header.details": "消息详情", - "rhs_header.expandSidebarTooltip": "扩展侧边栏", - "rhs_header.expandTooltip": "关闭侧栏", - "rhs_header.shrinkSidebarTooltip": "关闭侧栏", - "rhs_root.del": "删除", - "rhs_root.direct": "私信", - "rhs_root.edit": "编辑", - "rhs_root.mobile.flag": "标记", - "rhs_root.mobile.unflag": "取消标记", - "rhs_root.permalink": "永久链接", - "search_bar.search": "搜索", - "search_bar.usage": "

    搜索选项

    • 使用\"双引号\"搜索词组
    • 使用from:查找来自特定用户的信息,使用in:查找特定频道的信息
    ", - "search_header.results": "搜索结果", - "search_header.title2": "最近提及", - "search_header.title3": "已标记的信息", - "search_item.direct": "私信 (与 {username})", - "search_item.jump": "跳转", - "search_results.because": "
    • 如果您需搜索一个部分词组(例如搜索 \"rea\",查找 \"reach\" 或 \"reaction\"),请在结尾附上 *。
    • 由于搜索结果的数量限制,双字母的搜索和 \"this\",\"a\" 及 \"is\" 等常用词不会出现在搜索结果中。
    ", - "search_results.noResults": "没任何结果。重试?", - "search_results.usage": "
    • 使用\"双引号\"搜索词组
    • 使用from:查找来自特定用户的信息;使用in:查找特定频道中的信息
    ", - "search_results.usageFlag1": "您还没标记任何信息。", - "search_results.usageFlag2": "您可以点击时间戳旁的", - "search_results.usageFlag3": "图标来标记信息和评论。", - "search_results.usageFlag4": "标记信息以便之后更进。您的标记是个人的,不会被他人看到。", - "setting_item_max.cancel": "取消", - "setting_item_max.save": "保存", - "setting_item_min.edit": "编辑", - "setting_picture.cancel": "取消", - "setting_picture.help": "上传一张JPG或PNG格式的个人资料照片,宽度至少为{width}px,高度至少为{height}px。", - "setting_picture.save": "保存", - "setting_picture.select": "选择", - "setting_upload.import": "导入", - "setting_upload.noFile": "未选择文件。", - "setting_upload.select": "选择文件", - "sidebar.channels": "频道", - "sidebar.createChannel": "创建新的频道", - "sidebar.createGroup": "创建新组", - "sidebar.direct": "私信", - "sidebar.favorite": "收藏", - "sidebar.more": "更多", - "sidebar.moreElips": "更多...", - "sidebar.otherMembers": "此团队之外", - "sidebar.pg": "私有组", - "sidebar.removeList": "从列表删除", - "sidebar.tutorialScreen1": "

    频道

    频道组织不同主题的会话。他们对您所在团队的每一个人开放。针对单人发送私人消息使用私信针对多人使用私人组

    ", - "sidebar.tutorialScreen2": "

    “{townsquare}”和“{offtopic}”频道

    这里启用了两个公共频道:

    公共频道是一个团队范围内沟通的地方。团队中的每一个人都是这个频道的一个成员。

    闲聊频道是一个娱乐幽默与工作无关的频道。您和您的团队可以决定创建其他频道。

    ", - "sidebar.tutorialScreen3": "

    创建和加入频道

    点击“更多...”创建一个新频道或加入一个现有频道。

    您还可以通过点击频道或私人组旁的“+”符号,创建一个新频道或私人组。

    ", - "sidebar.unreadAbove": "上面有未读信息", - "sidebar.unreadBelow": "下面有未读信息", - "sidebar_header.tutorial": "

    主菜单

    在主菜单中您可以邀请新成员,访问您的账户设置和设置您的主题颜色

    团队管理员也能通过此菜单访问他们的团队设置

    系统管理员将找到一个系统控制台选项管理整个系统。

    ", - "sidebar_right_menu.accountSettings": "账户设置", - "sidebar_right_menu.console": "系统控制台", - "sidebar_right_menu.flagged": "已标记的信息", - "sidebar_right_menu.help": "帮助", - "sidebar_right_menu.inviteNew": "邀请新成员", - "sidebar_right_menu.logout": "注销", - "sidebar_right_menu.manageMembers": "成员管理", - "sidebar_right_menu.nativeApps": "下载应用", - "sidebar_right_menu.recentMentions": "最近提及", - "sidebar_right_menu.report": "报告问题", - "sidebar_right_menu.teamLink": "获取团队邀请链接", - "sidebar_right_menu.teamSettings": "团队设置", - "sidebar_right_menu.viewMembers": "查看成员", - "signup.email": "电子邮箱和密码", - "signup.gitlab": "GitLab 单一登入", - "signup.google": "谷歌帐号", - "signup.ldap": "AD/LDAP 登录身份", - "signup.office365": "Office 365", - "signup.title": "创建一个账户以:", - "signup_team.createTeam": "或者创建一个团队", - "signup_team.disabled": "团队创建已被禁用。请联系管理员获得权限。", - "signup_team.join_open": "您可以加入的团队:", - "signup_team.noTeams": "团队目录中没有该团队且创建团队功能已经禁用。", - "signup_team.no_open_teams": "没有可加入的团队。请联系您的管理员询问邀请。", - "signup_team.no_open_teams_canCreate": "没有可加入的团队。请创建个新的团队或联系您的管理员询问邀请。", - "signup_team.no_teams": "没有已创建的团队。请联系您的管理员。", - "signup_team.no_teams_canCreate": "没有已创建的团队。您可以点击 \"创建新团队\" 创建一个。", - "signup_team.none": "没有一个没有团队创建方法启用。请联系管理员。", - "signup_team_complete.completed": "您已经用此邀请完成了注册或者邀请已过期。", - "signup_team_confirm.checkEmail": "请检查您的邮箱: {email}
    您的电子邮件包含一个链接,以建立您的团队", - "signup_team_confirm.title": "完成注册", - "signup_team_system_console": "转到系统控制台", - "signup_user_completed.choosePwd": "选择您的密码", - "signup_user_completed.chooseUser": "选择您的用户名", - "signup_user_completed.create": "创建帐户", - "signup_user_completed.emailHelp": "注册所需的有效电子邮箱", - "signup_user_completed.emailIs": "您的邮箱地址是{email}。您可以使用该邮箱地址登录到{siteName}。", - "signup_user_completed.expired": "您已经用此邀请完成了注册或者邀请已过期。", - "signup_user_completed.gitlab": "用gitlab", - "signup_user_completed.google": "用Google", - "signup_user_completed.haveAccount": "已有帐号?", - "signup_user_completed.invalid_invite": "无效邀请链接。请询问您的管理员获得邀请。", - "signup_user_completed.lets": "让我们创建您的帐户", - "signup_user_completed.no_open_server": "服务器不开放注册。请联系您的管理员询问邀请。", - "signup_user_completed.none": "没有启用用户创建方法。请联系管理员。", - "signup_user_completed.office365": "和Office 365", - "signup_user_completed.onSite": "在{siteName}", - "signup_user_completed.or": "或", - "signup_user_completed.passwordLength": "请输入至少{min}个字符", - "signup_user_completed.required": "该字段不能为空", - "signup_user_completed.reserved": "此用户名为预留,请选择一个新的。", - "signup_user_completed.signIn": "点这里登入。", - "signup_user_completed.userHelp": "用户名必须以字母开头,并且包含{min}到{max}个小写字母, '.', '-'和'_'.", - "signup_user_completed.usernameLength": "用户名必须以字母开头,并且包含{min}到{max}个小写字母,'.','-'和'_'.", - "signup_user_completed.validEmail": "请输入一个有效的电子邮件地址", - "signup_user_completed.welcome": "欢迎来到:", - "signup_user_completed.whatis": "您的电子邮箱地址是什么?", - "signup_user_completed.withLdap": "您的 AD/LDAP 凭证", - "sso_signup.find": "查找我的团队", - "sso_signup.gitlab": "用GitLabAccount建立团队", - "sso_signup.google": "用GoogleAppsAccount建立团队", - "sso_signup.length_error": "团队名必须为3-15个字母", - "sso_signup.teamName": "输入新团队名", - "sso_signup.team_error": "输入团队名", - "suggestion.mention.all": "通知频道全员,使用在 {townsquare} 来通知团队", - "suggestion.mention.channel": "通知每个频道", - "suggestion.mention.channels": "我的频道", - "suggestion.mention.here": "通知所有在此频道在线的人", - "suggestion.mention.members": "频道成员", - "suggestion.mention.morechannels": "其他频道", - "suggestion.mention.nonmembers": "不在频道中", - "suggestion.mention.special": "特别提及", - "suggestion.search.private": "私有组", - "suggestion.search.public": "公共频道", - "team_export_tab.download": "下载", - "team_export_tab.export": "导出", - "team_export_tab.exportTeam": "导出您的团队", - "team_export_tab.exporting": "导出...", - "team_export_tab.ready": "准备", - "team_export_tab.unable": "不能导出: {error}", - "team_import_tab.failure": "导入失败:", - "team_import_tab.import": "导入", - "team_import_tab.importHelpDocsLink": "文档", - "team_import_tab.importHelpExportInstructions": "Slack > Team Settings > Import/Export Data > Export > Start Export", - "team_import_tab.importHelpExporterLink": "Slack 高级导出", - "team_import_tab.importHelpLine1": "导入 Slack 到 Mattermost 支持导入您 Slack 团队的公开频道中的信息。", - "team_import_tab.importHelpLine2": "要想导入 Slack 团队,请至 {exportInstructions}。请见 {uploadDocsLink} 了解详情。", - "team_import_tab.importHelpLine3": "想导入带附件的消息,请见 {slackAdvancedExporterLink} 了解详情。", - "team_import_tab.importSlack": "从Slack(Beta)导入", - "team_import_tab.importing": "导入...", - "team_import_tab.successful": "导入成功:", - "team_import_tab.summary": "查看汇总", - "team_member_modal.close": "关闭", - "team_member_modal.members": "{team}成员", - "team_members_dropdown.confirmDemoteDescription": "如果你从系统管理角色降级且没有另一个用户有系统管理员权限,你需要通过一个终端访问Mattermost服务器并运行以下命令来重新指定一个系统管理员。", - "team_members_dropdown.confirmDemoteRoleTitle": "确认从系统管理角色降级", - "team_members_dropdown.confirmDemotion": "确认降级", - "team_members_dropdown.confirmDemotionCmd": "platform roles system_admin {username}", - "team_members_dropdown.inactive": "停用", - "team_members_dropdown.leave_team": "从团队删除", - "team_members_dropdown.makeActive": "设置活跃", - "team_members_dropdown.makeAdmin": "设置团队管理员", - "team_members_dropdown.makeInactive": "设置为停用状态", - "team_members_dropdown.makeMember": "设置成员", - "team_members_dropdown.member": "成员", - "team_members_dropdown.systemAdmin": "系统管理员", - "team_members_dropdown.teamAdmin": "团队管理员", - "team_settings_modal.exportTab": "导出", - "team_settings_modal.generalTab": "基本", - "team_settings_modal.importTab": "导入", - "team_settings_modal.title": "团队设置", - "team_sidebar.join": "您可以加入的其他团队。", - "textbox.bold": "**加粗**", - "textbox.edit": "编辑消息", - "textbox.help": "帮助", - "textbox.inlinecode": "`内嵌代码`", - "textbox.italic": "_斜体_", - "textbox.preformatted": "```预格式化```", - "textbox.preview": "预览", - "textbox.quote": ">引用", - "textbox.strike": "删除线", - "tutorial_intro.allSet": "您已经创建好了", - "tutorial_intro.end": "点击“Next”进入{channel}。这是团队成员登录后看到的第一个频道。使用它来发布每个人需要知道的更新信息。", - "tutorial_intro.invite": "邀请团队成员", - "tutorial_intro.mobileApps": "安装 {link} 上的应用以便随时访问和获得通知。", - "tutorial_intro.mobileAppsLinkText": "PC, Mac, iOS 以及安卓", - "tutorial_intro.next": "下一步", - "tutorial_intro.screenOne": "

    欢迎来到:

    Mattermost

    您所有的团队会话都在这里,可在任何地方即时搜索。

    随时和您的团队保持联系,帮助他们完成最重要的事情。

    ", - "tutorial_intro.screenTwo": "

    Mattermost是如何工作的:

    交流发生在公共频道,私人组和私信中。

    所有信息都能在任何联网的台式机、笔记本或手机中存档和搜索。

    ", - "tutorial_intro.skip": "跳过教程", - "tutorial_intro.support": "如有任何需求,请邮件我们到", - "tutorial_intro.teamInvite": "邀请团队成员", - "tutorial_intro.whenReady": " 当您准备完毕。", - "tutorial_tip.next": "下一步", - "tutorial_tip.ok": "确定", - "tutorial_tip.out": "选择退出这些提示。", - "tutorial_tip.seen": "之前见过这吗?", - "update_command.cancel": "取消", - "update_command.confirm": "编辑斜杠命令", - "update_command.question": "您的修改可能破坏现有的斜杠命令。您确定要更新吗?", - "update_command.update": "更新", - "update_incoming_webhook.update": "更新", - "update_outgoing_webhook.confirm": "修改对外的 Webhooks", - "update_outgoing_webhook.question": "您的修改可能破坏现有的对外的 webhook。您确定要更新吗?", - "update_outgoing_webhook.update": "更新", - "upload_overlay.info": "拖动文件上传。", - "user.settings.advance.embed_preview": "如果邮件中的第一个网络链接可用,在邮件下方会显示网站内容的预览", - "user.settings.advance.embed_toggle": "显示切换所有嵌入预览", - "user.settings.advance.enabledFeatures": "已启用 {count, number} 项功能", - "user.settings.advance.formattingDesc": "开启时,文章会显示链接,表情符,格式,以及添加断行。默认下,此选项时开启的。修改此设定需要刷新页面。", - "user.settings.advance.formattingTitle": "启用帖文格式", - "user.settings.advance.joinLeaveDesc": "当 \"开启\" 时,用户加入或退出频道将会显示系统消息。当 \"关闭\" 时,用户加入或退出频道将不会显示系统消息。不过您加入到一个频道时仍然会显示系统消息而收到通知。", - "user.settings.advance.joinLeaveTitle": "开启加入/退出信息", - "user.settings.advance.markdown_preview": "在消息输入框中显示markdown预览选项", - "user.settings.advance.off": "关闭", - "user.settings.advance.on": "开启", - "user.settings.advance.preReleaseDesc": "检查您想预览的任何预发布功能。在设置生效前,您可能还需要刷新页面。", - "user.settings.advance.preReleaseTitle": "预览预发布功能", - "user.settings.advance.sendDesc": "启用时,回车键插入行而按 Ctrl+回车 键提交消息。", - "user.settings.advance.sendTitle": "按 CTRL+ENTER 发送消息", - "user.settings.advance.slashCmd_autocmp": "启用外部应用程序提供斜杠命令的自动补全功能", - "user.settings.advance.title": "高级设置", - "user.settings.advance.webrtc_preview": "开启使用 WebRTC 的一对一通话", - "user.settings.custom_theme.awayIndicator": "离开显示", - "user.settings.custom_theme.buttonBg": "按钮BG", - "user.settings.custom_theme.buttonColor": "文本按钮", - "user.settings.custom_theme.centerChannelBg": "中间栏 BG", - "user.settings.custom_theme.centerChannelColor": "中间栏文本", - "user.settings.custom_theme.centerChannelTitle": "中间栏样式", - "user.settings.custom_theme.codeTheme": "代码主题", - "user.settings.custom_theme.copyPaste": "复制和粘贴分享主题颜色: ", - "user.settings.custom_theme.linkButtonTitle": "链接已经按钮样式", - "user.settings.custom_theme.linkColor": "链接颜色", - "user.settings.custom_theme.mentionBj": "被提及重要人BG", - "user.settings.custom_theme.mentionColor": "被提及重要人文本", - "user.settings.custom_theme.mentionHighlightBg": "被提及高亮BG", - "user.settings.custom_theme.mentionHighlightLink": "被提及高亮链接", - "user.settings.custom_theme.newMessageSeparator": "新消息分隔符", - "user.settings.custom_theme.onlineIndicator": "在线显示", - "user.settings.custom_theme.sidebarBg": "侧边栏BG", - "user.settings.custom_theme.sidebarHeaderBg": "侧边栏标题背景", - "user.settings.custom_theme.sidebarHeaderTextColor": "侧边栏标题文字", - "user.settings.custom_theme.sidebarText": "侧边栏文本", - "user.settings.custom_theme.sidebarTextActiveBorder": "侧边栏文本活动边框", - "user.settings.custom_theme.sidebarTextActiveColor": "侧边栏文本活跃的颜色”", - "user.settings.custom_theme.sidebarTextHoverBg": "侧边栏文本HoverBG", - "user.settings.custom_theme.sidebarTitle": "侧栏风格", - "user.settings.custom_theme.sidebarUnreadText": "侧边栏未读文本", - "user.settings.display.channelDisplayTitle": "频道显示模式", - "user.settings.display.channeldisplaymode": "选择中间栏的宽度。", - "user.settings.display.clockDisplay": "时钟显示", - "user.settings.display.collapseDesc": "设置默认情况下图片链接的预览是展开还是折叠。此设置也可以使用斜杠命令 /expand 和 /collapse 控制。", - "user.settings.display.collapseDisplay": "图片链接预览默认显示", - "user.settings.display.collapseOff": "已折叠", - "user.settings.display.collapseOn": "已展开", - "user.settings.display.fixedWidthCentered": "固定宽度,居中", - "user.settings.display.fontDesc": "选择在Mattermost用户界面显示的字体。", - "user.settings.display.fontTitle": "显示字体", - "user.settings.display.fullScreen": "完整宽度", - "user.settings.display.language": "语言", - "user.settings.display.messageDisplayClean": "标准", - "user.settings.display.messageDisplayCleanDes": "容易浏览与阅读。", - "user.settings.display.messageDisplayCompact": "紧凑", - "user.settings.display.messageDisplayCompactDes": "显示尽可能多的信息。", - "user.settings.display.messageDisplayDescription": "选择在频道里信息如何显示。", - "user.settings.display.messageDisplayTitle": "信息显示", - "user.settings.display.militaryClock": "24小时格式(例如:16:00)", - "user.settings.display.nameOptsDesc": "设置在信息和私信列表中如何显示其他用户的名字。", - "user.settings.display.normalClock": "12小时格式(例如:4:00 PM)", - "user.settings.display.preferTime": "选择您喜欢的时间显示格式。", - "user.settings.display.showFullname": "显示姓名", - "user.settings.display.showNickname": "若存在昵称显示昵称,否则显示姓名", - "user.settings.display.showUsername": "显示用户名(默认)", - "user.settings.display.teammateDisplay": "团队队友的名字显示", - "user.settings.display.theme.applyToAllTeams": "应用新主题到所有我的团队", - "user.settings.display.theme.customTheme": "自定义主题", - "user.settings.display.theme.describe": "打开管理您的主题", - "user.settings.display.theme.import": "从Slack中导入主题颜色", - "user.settings.display.theme.otherThemes": "查看其他的主题", - "user.settings.display.theme.themeColors": "主题颜色", - "user.settings.display.theme.title": "主题", - "user.settings.display.title": "显示设置", - "user.settings.general.checkEmail": "在{email}查看你的邮件以验证这个地址。", - "user.settings.general.checkEmailNoAddress": "查看你的电子邮件来验证你的新地址", - "user.settings.general.close": "关闭", - "user.settings.general.confirmEmail": "确认电子邮件", - "user.settings.general.email": "电子邮件", - "user.settings.general.emailGitlabCantUpdate": "通过GitLab进行登录。电子邮件不能被更新,用于通知的电子邮件地址是{email}。", - "user.settings.general.emailGoogleCantUpdate": "通过Google进行登录。电子邮件不能被更新。用于通知的电子邮件地址是{email}。", - "user.settings.general.emailHelp1": "电子邮件地址用于登录,通知以及密码重置。如果修改电子邮件需要重新验证。", - "user.settings.general.emailHelp2": "电子邮件已被您的系统管理员禁用。未启用前将无法发送电子邮件通知。", - "user.settings.general.emailHelp3": "电子邮件地址用于登录,通知以及密码重置。", - "user.settings.general.emailHelp4": "验证邮件已发送到{email}。", - "user.settings.general.emailLdapCantUpdate": "通过 AD/LDAP 进行登录。电子邮件不能被更新,用于通知的电子邮件地址是{email}。", - "user.settings.general.emailMatch": "您输入的新邮件不匹配。", - "user.settings.general.emailOffice365CantUpdate": "通过Office 365进行登录。电子邮件不能被更新。用于通知的电子邮件地址是{email}。", - "user.settings.general.emailSamlCantUpdate": "通过LDAP进行登录。电子邮件不能被更新。用于通知的电子邮件地址是{email}。", - "user.settings.general.emailUnchanged": "您的新电子邮件地址和旧的电子邮件地址一致。", - "user.settings.general.emptyName": "点击 '编辑' 添加您的全名", - "user.settings.general.emptyNickname": "点击 '编辑' 添加一个昵称", - "user.settings.general.emptyPosition": "点击 '更改' 添加您的工作标题/职位", - "user.settings.general.field_handled_externally": "此栏由您的登入提供商决定。如果您想更改,您需要到您的登入提供者改动。", - "user.settings.general.firstName": "名字", - "user.settings.general.fullName": "全名", - "user.settings.general.imageTooLarge": "无法上传头像。文件太大。", - "user.settings.general.imageUpdated": "图片上次更新日期{date}", - "user.settings.general.lastName": "姓氏", - "user.settings.general.loginGitlab": "通过GitLab({email})登录", - "user.settings.general.loginGoogle": "通过Google ({email})登录", - "user.settings.general.loginLdap": "通过 AD/LDAP ({email}) 登录", - "user.settings.general.loginOffice365": "通过Office 365({email})登录", - "user.settings.general.loginSaml": "通过SAML ({email}) 登录", - "user.settings.general.newAddress": "新地址:{email}
    查看您的邮箱来验证上面的地址。", - "user.settings.general.nickname": "昵称", - "user.settings.general.nicknameExtra": "使用一个您可能会称呼的与您的名字和用户名不同的昵称作为名字。此方法最常用于两个或多个人有类似的名字和用户名时。", - "user.settings.general.notificationsExtra": "默认情况下,当有人输入您的名字时,您将收到提及通知。您可在{notify}设置中更改此默认设置。", - "user.settings.general.notificationsLink": "通知", - "user.settings.general.position": "职位", - "user.settings.general.positionExtra": "使用职位表示您的角色或职称。这将会在个人资料提示中显示。", - "user.settings.general.primaryEmail": "主要电子邮件", - "user.settings.general.profilePicture": "照片", - "user.settings.general.title": "基本设置", - "user.settings.general.uploadImage": "点击 '编辑' 上传图片。", - "user.settings.general.username": "用户名", - "user.settings.general.usernameInfo": "选择某些团队成员容易识别和记忆的名字。", - "user.settings.general.usernameReserved": "该用户名已存在,请选择一个新的。", - "user.settings.general.usernameRestrictions": "用户名必须以字母开头,并且包含{min}到{max}个小写字母,'.','-'和'_'.", - "user.settings.general.validEmail": "请输入一个有效的电子邮件地址", - "user.settings.general.validImage": "只能上传JPG和PNG图片", - "user.settings.import_theme.cancel": "取消", - "user.settings.import_theme.importBody": "如想导入主题,去 Slack 团队并寻找 \"Preferences -> Sidebar Theme\"。打开自定义主题选项,复制主题颜色值并粘贴至此:", - "user.settings.import_theme.importHeader": "导入Slack主题", - "user.settings.import_theme.submit": "发送", - "user.settings.import_theme.submitError": "无效格式,请尝试再次复制粘贴。", - "user.settings.languages.change": "更改界面语言", - "user.settings.languages.promote": "选择 Mattermost 界面显示的语言。

    想要帮忙翻译吗?加入Mattermost 翻译服务器。", - "user.settings.mfa.add": "向您的账户添加多重验证", - "user.settings.mfa.addHelp": "添加多重验证将需要每次登入时获取手机令牌使您的帐号更安全。", - "user.settings.mfa.addHelpQr": "请用您智能手机上的 Google Authenticator 应用扫描 QR 码后填写应用提供的令牌。如果您无法扫描 QR 码,您可以手动输入提供的密钥。", - "user.settings.mfa.enterToken": "令牌(仅限数字)", - "user.settings.mfa.qrCode": "条形码", - "user.settings.mfa.remove": "从您的账户中删除多重验证", - "user.settings.mfa.removeHelp": "删除多重验证意味着您不再需要基于手机的密码来登入您的帐号。", - "user.settings.mfa.requiredHelp": "此服务器要求强制多重验证。重置只推荐在转移到新移动设备时使用。随后您将立刻被要求重新设置。", - "user.settings.mfa.reset": "重置多重验证", - "user.settings.mfa.secret": "秘钥:", - "user.settings.mfa.title": "启用多重验证:", - "user.settings.modal.advanced": "高级", - "user.settings.modal.confirmBtns": "是的,放弃", - "user.settings.modal.confirmMsg": "您有未保存的更改,您确定你想要放弃他们吗?", - "user.settings.modal.confirmTitle": "放弃修改?", - "user.settings.modal.display": "显示", - "user.settings.modal.general": "基本", - "user.settings.modal.notifications": "通知", - "user.settings.modal.security": "安全", - "user.settings.modal.title": "账户设置", - "user.settings.notifications.allActivity": "所有活动", - "user.settings.notifications.channelWide": "频道范围提及 \"@channel\", \"@all\"", - "user.settings.notifications.close": "关闭", - "user.settings.notifications.comments": "回复通知", - "user.settings.notifications.commentsAny": "在我开头或回复过的消息串触发通知", - "user.settings.notifications.commentsInfo": "除了您被提及的通知外,选择如果您想收到串回复通知。", - "user.settings.notifications.commentsNever": "回复串信息只有在我被提及时触发通知", - "user.settings.notifications.commentsRoot": "在我开头的消息串触发通知", - "user.settings.notifications.desktop": "发送桌面通知", - "user.settings.notifications.desktop.allFirefoxForever": "所有活动,一直显示", - "user.settings.notifications.desktop.allFirefoxTimed": "所有活动,显示 {seconds} 秒", - "user.settings.notifications.desktop.allNoSoundForever": "所有活动,无声,一直显示", - "user.settings.notifications.desktop.allNoSoundTimed": "所有活动,无声,显示 {seconds} 秒", - "user.settings.notifications.desktop.allSoundForever": "所有活动,有声,一直显示", - "user.settings.notifications.desktop.allSoundTimed": "所有活动,有声,显示 {seconds} 秒", - "user.settings.notifications.desktop.duration": "通知时长", - "user.settings.notifications.desktop.durationInfo": "设置在火狐或 Chrome 下桌面通知在屏幕显示的时间。在 Edge 以及 Safari 下只能最多 5 秒。", - "user.settings.notifications.desktop.mentionsFirefoxForever": "提及和私信,一直显示", - "user.settings.notifications.desktop.mentionsFirefoxTimed": "提及和私信,显示 {seconds} 秒", - "user.settings.notifications.desktop.mentionsNoSoundForever": "提及和私信,无声,一直显示", - "user.settings.notifications.desktop.mentionsNoSoundTimed": "提及和私信,无声,显示 {seconds} 秒", - "user.settings.notifications.desktop.mentionsSoundForever": "提及和私信,有声,一直显示", - "user.settings.notifications.desktop.mentionsSoundTimed": "提及和私信,有声,显示 {seconds} 秒", - "user.settings.notifications.desktop.seconds": "{seconds} 秒", - "user.settings.notifications.desktop.sound": "通知声音", - "user.settings.notifications.desktop.title": "桌面通知", - "user.settings.notifications.desktop.unlimited": "无限制", - "user.settings.notifications.desktopSounds": "桌面通知声音", - "user.settings.notifications.email.everyHour": "每小时", - "user.settings.notifications.email.everyXMinutes": "每 {count} 分钟", - "user.settings.notifications.email.immediately": "立刻", - "user.settings.notifications.email.never": "从不", - "user.settings.notifications.email.send": "发送电子邮件通知", - "user.settings.notifications.emailBatchingInfo": "一段时间内收到的通知将合并到一封电子邮件。", - "user.settings.notifications.emailInfo": "当您离开{siteName}超过5分钟或离线,系统将发送提及和私信的电子邮件通知。", - "user.settings.notifications.emailNotifications": "邮件通知", - "user.settings.notifications.header": "通知", - "user.settings.notifications.info": "桌面通知可在 IE11、Edge、Safari、Chrome 以及 Mattermost 桌面应用使用。", - "user.settings.notifications.mentionsInfo": "提及会在某人发送含有您的用户名 (\"@{username}\") 或者任何以上选项的消息时被触发。", - "user.settings.notifications.never": "从不", - "user.settings.notifications.noWords": "敏感词没有配置", - "user.settings.notifications.off": "关闭", - "user.settings.notifications.on": "开启", - "user.settings.notifications.onlyMentions": "只在提及和私信中", - "user.settings.notifications.push": "手机推送信息提示", - "user.settings.notifications.push_notification.status": "触发推送通知当", - "user.settings.notifications.sensitiveName": "您的敏感姓\"{first_name}\"", - "user.settings.notifications.sensitiveUsername": "不区分大小写的用户名\"{username}\"", - "user.settings.notifications.sensitiveWords": "其他不区分大小写的词汇,以逗号分隔:", - "user.settings.notifications.soundConfig": "请在您的浏览器中配置消息通知声音设置", - "user.settings.notifications.sounds_info": "通知声音可在 IE11、Edge、Safari、Chrome 以及 Mattermost 桌面应用使用。", - "user.settings.notifications.teamWide": "团队范围的提及\"@all\"", - "user.settings.notifications.title": "通知设置", - "user.settings.notifications.wordsTrigger": "触发提及词", - "user.settings.push_notification.allActivity": "所有活动", - "user.settings.push_notification.allActivityAway": "所有离开或离线时的活动", - "user.settings.push_notification.allActivityOffline": "所有离线时的活动", - "user.settings.push_notification.allActivityOnline": "所有在线,离开或离线时的活动", - "user.settings.push_notification.away": "离开或离线", - "user.settings.push_notification.disabled": "被系统管理员禁用", - "user.settings.push_notification.disabled_long": "移动设备推送通知已被系统管理员停用。", - "user.settings.push_notification.info": "当 Mattermost 有活动时会推送通知到您的移动设备。", - "user.settings.push_notification.off": "关闭", - "user.settings.push_notification.offline": "离线", - "user.settings.push_notification.online": "在线,离开或离线", - "user.settings.push_notification.onlyMentions": "仅限提及和私信中", - "user.settings.push_notification.onlyMentionsAway": "所有离开或离线时的提及和私信", - "user.settings.push_notification.onlyMentionsOffline": "所有离线时的提及和私信", - "user.settings.push_notification.onlyMentionsOnline": "所有在线,离开或离线时的提及和私信", - "user.settings.push_notification.send": "发送手机推送", - "user.settings.push_notification.status": "触发推送通知当", - "user.settings.push_notification.status_info": "通知只有在您的在线状态符合以上选择时才发送推送。", - "user.settings.security.close": "关闭", - "user.settings.security.currentPassword": "当前密码", - "user.settings.security.currentPasswordError": "请输入您当前密码。", - "user.settings.security.deauthorize": "解除授权", - "user.settings.security.emailPwd": "邮箱和密码", - "user.settings.security.gitlab": "GitLab", - "user.settings.security.google": "谷歌", - "user.settings.security.lastUpdated": "上次更新时间{date}{time}", - "user.settings.security.ldap": "AD/LDAP", - "user.settings.security.loginGitlab": "用 GitLab 登录", - "user.settings.security.loginGoogle": "从 Google Apps 登入", - "user.settings.security.loginLdap": "用 AD/LDAP 登录", - "user.settings.security.loginOffice365": "从 Office 365 登入", - "user.settings.security.loginSaml": "用 SAML 登录", - "user.settings.security.logoutActiveSessions": "查看并退出正在执行的会话", - "user.settings.security.method": "登录方式", - "user.settings.security.newPassword": "新密码", - "user.settings.security.noApps": "没有任何授权的 OAuth 2.0 应用。", - "user.settings.security.oauthApps": "OAuth 2.0 应用", - "user.settings.security.oauthAppsDescription": "点击 '编辑' 来管理您的 OAuth 2.0 应用", - "user.settings.security.oauthAppsHelp": "应用以您的名义根据您设定的权限读取您的数据。", - "user.settings.security.office365": "Office 365", - "user.settings.security.oneSignin": "同时间只能用一种方式登录。切换登录方式会有邮件告知您改动是否成功。", - "user.settings.security.password": "密码", - "user.settings.security.passwordError": "您的密码必须包含至少 {min} 个字符。", - "user.settings.security.passwordErrorLowercase": "您的密码必须包含至少 {min} 个字符且至少有一个小写字母。", - "user.settings.security.passwordErrorLowercaseNumber": "您的密码必须包含至少 {min} 个字符且至少有一个小写字母以及一个数字。", - "user.settings.security.passwordErrorLowercaseNumberSymbol": "您的密码必须包含至少 {min} 个字符且至少有一个小写字母,一个数字,以及一个符号(如\"~!@#$%^&*()\")。", - "user.settings.security.passwordErrorLowercaseSymbol": "您的密码必须包含至少 {min} 个字符且至少有一个小写字母以及一个符号(如\"~!@#$%^&*()\")。", - "user.settings.security.passwordErrorLowercaseUppercase": "您的密码必须包含至少 {min} 个字符且至少有一个小写字母以及一个大写字母。", - "user.settings.security.passwordErrorLowercaseUppercaseNumber": "您的密码必须包含至少 {min} 个字符且至少有一个小写字母,一个大写字母,以及一个数字。", - "user.settings.security.passwordErrorLowercaseUppercaseNumberSymbol": "您的密码必须包含至少 {min} 个字符且至少有一个小写字母,一个大写字母,一个数字,以及一个符号(如\"~!@#$%^&*()\")。", - "user.settings.security.passwordErrorLowercaseUppercaseSymbol": "您的密码必须包含至少 {min} 个字符且至少有一个小写字母,一个大写字母,以及一个符号(如\"~!@#$%^&*()\")。", - "user.settings.security.passwordErrorNumber": "您的密码必须包含至少 {min} 个字符且至少有一个数字。", - "user.settings.security.passwordErrorNumberSymbol": "您的密码必须包含至少 {min} 个字符且至少有一个数字以及一个符号(如\"~!@#$%^&*()\")。", - "user.settings.security.passwordErrorSymbol": "您的密码必须包含至少 {min} 个字符且至少有一个符号(如\"~!@#$%^&*()\")。", - "user.settings.security.passwordErrorUppercase": "您的密码必须包含至少 {min} 个字符且至少有一个大写字母。", - "user.settings.security.passwordErrorUppercaseNumber": "您的密码必须包含至少 {min} 个字符且至少有一个大写字母以及一个数字。", - "user.settings.security.passwordErrorUppercaseNumberSymbol": "您的密码必须包含至少 {min} 个字符且至少有一个大写字母,一个数字,以及一个符号(如\"~!@#$%^&*()\")。", - "user.settings.security.passwordErrorUppercaseSymbol": "您的密码必须包含至少 {min} 个字符且至少有一个大写字母以及一个符号(如\"~!@#$%^&*()\")。", - "user.settings.security.passwordGitlabCantUpdate": "通过GitLab登录。电子邮件不能被更新。", - "user.settings.security.passwordGoogleCantUpdate": "通过 Google Apps 登录。密码不能被更新。", - "user.settings.security.passwordLdapCantUpdate": "通过 AD/LDAP 登录。密码不能被更新。", - "user.settings.security.passwordMatchError": "您输入的新密码不一致。", - "user.settings.security.passwordMinLength": "无效最小长度,无法显示预览。", - "user.settings.security.passwordOffice365CantUpdate": "通过 Office 365 登录。密码不能被更新。", - "user.settings.security.passwordSamlCantUpdate": "此栏由您的登入提供商决定。如果您想更改,您需要到您的登入提供者改动。", - "user.settings.security.retypePassword": "再次输入新密码", - "user.settings.security.saml": "SAML", - "user.settings.security.switchEmail": "切换到使用邮箱和密码登录", - "user.settings.security.switchGitlab": "切换到使用 GitLab SSO", - "user.settings.security.switchGoogle": "切换到使用 Google SSO", - "user.settings.security.switchLdap": "切换到使用 AD/LDAP", - "user.settings.security.switchOffice365": "切换到使用 Office 365 SSO", - "user.settings.security.switchSaml": "切换到使用 SAML SSO", - "user.settings.security.title": "安全设置", - "user.settings.security.viewHistory": "查看访问历史", - "user_list.notFound": "没有找到用户", - "user_profile.send.dm": "发送消息", - "user_profile.webrtc.call": "开始视频通话", - "user_profile.webrtc.offline": "此用户已离线", - "user_profile.webrtc.unavailable": "不能在结束当前通话前开新通话", - "view_image.loading": "加载中 ", - "view_image_popover.download": "下载", - "view_image_popover.file": "文件 {total}/{count}", - "view_image_popover.publicLink": "获取公开链接", - "web.footer.about": "关于", - "web.footer.help": "帮助", - "web.footer.privacy": "隐私", - "web.footer.terms": "条款", - "web.header.back": "返回", - "web.header.logout": "注销", - "web.root.signup_info": "所有团队的通讯一站式解决,随时随地可访问和搜索", - "webrtc.busy": "{username} 繁忙中。", - "webrtc.call": "通话", - "webrtc.callEnded": "已结束与 {username} 的通话。", - "webrtc.cancel": "取消通话", - "webrtc.cancelled": "{username} 已取消通话。", - "webrtc.declined": "您的呼叫被 {username} 拒绝。", - "webrtc.disabled": "{username} 已禁用 WebRTC,因此无法接听。如想开启此功能,他们需要到帐号设定 > 高级 > 预览预发布功能并开启 WebRTC。", - "webrtc.failed": "连接视频通话出现问题。", - "webrtc.hangup": "挂断", - "webrtc.header": "与 {username} 的通话", - "webrtc.inProgress": "您已经有通话。请先挂断。", - "webrtc.mediaError": "无法连接摄像头或麦克风。", - "webrtc.mute_audio": "静音麦克风", - "webrtc.noAnswer": "{username} 没有回应。", - "webrtc.notification.answer": "接听", - "webrtc.notification.decline": "拒接", - "webrtc.notification.incoming_call": "{username} 正在呼叫您。", - "webrtc.notification.returnToCall": "返回到与 {username} 的通话", - "webrtc.offline": "{username} 离线中。", - "webrtc.pause_video": "关闭摄像头", - "webrtc.unmute_audio": "取消静音麦克风", - "webrtc.unpause_video": "开启摄像头", - "webrtc.unsupported": "{username} 客户端不支持视频通话。", - "youtube_video.notFound": "视频未找到" -} diff --git a/webapp/i18n/zh_TW.json b/webapp/i18n/zh_TW.json deleted file mode 100644 index 320af58c5..000000000 --- a/webapp/i18n/zh_TW.json +++ /dev/null @@ -1,2279 +0,0 @@ -{ - "about.close": "關閉", - "about.copyright": "版權所有 2016 Mattermost, Inc. 保留所有權利", - "about.database": "資料庫:", - "about.date": "編譯日期:", - "about.enterpriseEditionLearn": "學習更多關於企業版:", - "about.enterpriseEditionSt": "防火牆內側也可運行的溝通模式。", - "about.enterpriseEditione1": "企業版", - "about.hash": "編譯 Hash:", - "about.hashee": "企業版編譯 Hash:", - "about.licensed": "授權給:", - "about.number": "編譯序號:", - "about.teamEditionLearn": "加入 Mattermost 社群:", - "about.teamEditionSt": "您的團隊溝通皆在同處,隨時隨地皆可搜尋與存取。", - "about.teamEditiont0": "團隊版", - "about.teamEditiont1": "企業版", - "about.title": "關於 Mattermost", - "about.version": "版本:", - "access_history.title": "存取紀錄", - "activity_log.activeSessions": "使用中的工作階段", - "activity_log.browser": "瀏覽器:{browser}", - "activity_log.firstTime": "第一次活動:{date}, {time}", - "activity_log.lastActivity": "最後一次活動紀錄:{date}, {time}", - "activity_log.logout": "登出", - "activity_log.moreInfo": "更多資訊", - "activity_log.os": "作業系統:{os}", - "activity_log.sessionId": "工作階段 ID:{id}", - "activity_log.sessionsDescription": "當使用新的瀏覽器登入時工作階段會被建立。工作階段讓您可以在系統管理員設定的時間內不用重複登入。如果想先行登出,請使用下方的 '登出' 按鈕以結束工作階段。", - "activity_log_modal.android": "Android", - "activity_log_modal.androidNativeApp": "Android 原生應用程式", - "activity_log_modal.desktop": "原生桌面應用程式", - "activity_log_modal.iphoneNativeApp": "iPhone 原生應用程式", - "add_command.autocomplete": "自動完成", - "add_command.autocomplete.help": "在自動完成列表上顯示斜線命令(非必須)。", - "add_command.autocompleteDescription": "自動完成的描述", - "add_command.autocompleteDescription.help": "斜線命令在自動完成列表上的簡短敘述(非必須)。", - "add_command.autocompleteDescription.placeholder": "例如:\"回傳病歷搜尋結果\"", - "add_command.autocompleteHint": "自動完成的提示", - "add_command.autocompleteHint.help": "斜線命令的參數,在自動完成列表上顯示為說明。(非必須)", - "add_command.autocompleteHint.placeholder": "例如:[患者名字]", - "add_command.cancel": "取消", - "add_command.description": "說明", - "add_command.description.help": "傳入的 Webhook 的敘述。", - "add_command.displayName": "顯示名稱", - "add_command.displayName.help": "斜線命令的名字,最多64個字元。", - "add_command.doneHelp": "已設定斜線命令。以下的 Token 將會隨著外送資料一起送出。請用它來確認該要求來自您的 Mattermost 團隊 (如需詳細資訊,請參閱說明文件)。", - "add_command.iconUrl": "回應圖示", - "add_command.iconUrl.help": "選擇圖片以置換此斜線命令回應貼文時所用的個人圖像(非必須)。輸入.png或.jpg檔案(長寬皆至少為128像素)的網址。", - "add_command.iconUrl.placeholder": "https://www.example.com/myicon.png", - "add_command.method": "要求方法", - "add_command.method.get": "GET", - "add_command.method.help": "發送給要求請的命令要求類型。", - "add_command.method.post": "POST", - "add_command.save": "儲存", - "add_command.token": "Token: {token}", - "add_command.trigger": "命令觸發關鍵字", - "add_command.trigger.help": "觸發關鍵字必須是唯一的,且不能以斜線開頭或包含空白。", - "add_command.trigger.helpExamples": "如:client、employee、patient、weather", - "add_command.trigger.helpReserved": "保留字:{link}", - "add_command.trigger.helpReservedLinkText": "請看內建斜線命令", - "add_command.trigger.placeholder": "命令觸發,例如\"hello\"", - "add_command.triggerInvalidLength": "觸發關鍵字必須包含{min}到{max}個字", - "add_command.triggerInvalidSlash": "觸發關鍵字不可用/(斜線)開頭", - "add_command.triggerInvalidSpace": "觸發關鍵字不可包含空白", - "add_command.triggerRequired": "需要填入觸發關鍵字", - "add_command.url": "要求網址", - "add_command.url.help": "當斜線命令執行時,用以接收 HTTP POST 或 GET 事件請求的回呼網址。", - "add_command.url.placeholder": "開頭必須是 http:// 或 https://", - "add_command.urlRequired": "要求網址為必填", - "add_command.username": "回應使用者名稱", - "add_command.username.help": "填入名稱以置換此斜線命令回應貼文時所用的使用者名稱(非必須),使用者名稱最多包含22個小寫、數字、\"-\"、\"_\"或\".\"等字元。", - "add_command.username.placeholder": "使用者名稱", - "add_emoji.cancel": "取消", - "add_emoji.header": "新增", - "add_emoji.image": "圖片", - "add_emoji.image.button": "選擇", - "add_emoji.image.help": "為繪文字選取圖片。圖片格式為 gif、png 或 jpeg,檔案大小不超過 1 MB。尺寸會在保持長寬比下自動調整為符合 128x128 像素。", - "add_emoji.imageRequired": "繪文字需要圖片", - "add_emoji.name": "名字", - "add_emoji.name.help": "為繪文字選擇名稱,名稱以最多64個小寫英數字跟'-'和'_'組成。", - "add_emoji.nameInvalid": "繪文字的名字只能含有小寫英數跟'-'和'_'。", - "add_emoji.nameRequired": "繪文字需要名字。", - "add_emoji.nameTaken": "這個名字已被系統繪文字所使用。請選其他的名字。", - "add_emoji.preview": "預覽", - "add_emoji.preview.sentence": "這句話帶有 {image} 。", - "add_emoji.save": "儲存", - "add_incoming_webhook.cancel": "取消", - "add_incoming_webhook.channel": "頻道", - "add_incoming_webhook.channel.help": "接收 Webhook 的公開頻道或私人群組。設定 Webhook 時您必須屬於該私人群組。", - "add_incoming_webhook.channelRequired": "必須是有效的頻道", - "add_incoming_webhook.description": "說明", - "add_incoming_webhook.description.help": "傳入的 Webhook 的敘述。", - "add_incoming_webhook.displayName": "顯示名稱", - "add_incoming_webhook.displayName.help": "傳入的 Webhook 的名字,最多64個字元。", - "add_incoming_webhook.doneHelp": "已設定傳入的 Webhook。請發送資料至以下的網址 (如需詳細資訊,請參閱說明文件)。", - "add_incoming_webhook.name": "名字", - "add_incoming_webhook.save": "儲存", - "add_incoming_webhook.url": "網址: {url}", - "add_oauth_app.callbackUrls.help": "在使用者同意或是拒絕授權給應用程式之後使用者將會被重導向至此重導向網址,同時該網址將會處理授權碼或是存取 Token。必須是以 http:// 或 https:// 開頭的有效網址。", - "add_oauth_app.callbackUrlsRequired": "請填入一或多個回呼網址", - "add_oauth_app.clientId": "用戶端 ID:{id}", - "add_oauth_app.clientSecret": "用戶端密碼:{secret}", - "add_oauth_app.description.help": "OAuth 2.0 應用程式的敘述。", - "add_oauth_app.descriptionRequired": "請填入 OAuth 2.0 應用程式的敘述。", - "add_oauth_app.doneHelp": "OAuth 2.0 應用程式設定完畢。當應用程式要求授權時,請用下面的用戶端 ID 跟密碼 (詳請參閱文件)。", - "add_oauth_app.doneUrlHelp": "以下為您所授權的重導向網址。", - "add_oauth_app.header": "新增", - "add_oauth_app.homepage.help": "OAuth 2.0 應用程式的首頁網址。請根據伺服器設定選擇 HTTP 或 HTTPS。", - "add_oauth_app.homepageRequired": "請填入 OAuth 2.0 應用程式的首頁網址。", - "add_oauth_app.icon.help": "(非必須) 指向 OAuth 2.0 應用程式的圖片的網址。請確定在網址中使用了 HTTP 或 HTTPS。", - "add_oauth_app.name.help": "OAuth 2.0 應用程式的顯示名稱,最多64個字元。", - "add_oauth_app.nameRequired": "請填入 OAuth 2.0 應用程式的名字。", - "add_oauth_app.trusted.help": "信任時,此 OAuth 2.0 應用程式將被 Mattermost 伺服器信任且不需要使用者同意授權。不信任時,將會出現新的視窗詢問使用者同意或是拒絕授權。", - "add_oauth_app.url": "網址:{url}", - "add_outgoing_webhook.callbackUrls": "回呼網址(一行一個)", - "add_outgoing_webhook.callbackUrls.help": "訊息被送達的網址。", - "add_outgoing_webhook.callbackUrlsRequired": "請填入一或多個回呼網址", - "add_outgoing_webhook.cancel": "取消", - "add_outgoing_webhook.channel": "頻道", - "add_outgoing_webhook.channel.help": "接收 Webhook 的公開頻道。有設定一個以上的觸發關鍵字時此項非必須。", - "add_outgoing_webhook.contentType.help1": "選擇回應送出時的內容型態。", - "add_outgoing_webhook.contentType.help2": "如果選了 application/x-www-form-urlencoded,伺服器將假設參數使用 URL 格式編碼。", - "add_outgoing_webhook.contentType.help3": "如果選了 application/json,伺服器將假設發送的是 JSON 資料。", - "add_outgoing_webhook.content_Type": "內容型態", - "add_outgoing_webhook.description": "說明", - "add_outgoing_webhook.description.help": "傳出的 Webhook 的敘述。", - "add_outgoing_webhook.displayName": "顯示名稱", - "add_outgoing_webhook.displayName.help": "傳出的 Webhook 的名字,最多64個字元。", - "add_outgoing_webhook.doneHelp": "已設定傳出的 Webhook。以下的 Token 將會隨著外送資料一起送出。請用它來確認該要求來自您的 Mattermost 團隊 (如需詳細資訊,請參閱說明文件)。", - "add_outgoing_webhook.name": "名字", - "add_outgoing_webhook.save": "儲存", - "add_outgoing_webhook.token": "Token: {token}", - "add_outgoing_webhook.triggerWords": "關鍵觸發字(一行一個)", - "add_outgoing_webhook.triggerWords.help": "以觸發關鍵字開頭的訊息將會觸發傳出的 Webhook。有選擇頻道時此項非必須。", - "add_outgoing_webhook.triggerWordsOrChannelRequired": "請填入有效的頻道或觸發關鍵字清單", - "add_outgoing_webhook.triggerWordsTriggerWhen": "觸發於", - "add_outgoing_webhook.triggerWordsTriggerWhen.help": "選擇何時觸發傳出的 Webook:訊息的第一個字完全符合觸發關鍵字,或是訊息以觸發關鍵字開頭。", - "add_outgoing_webhook.triggerWordsTriggerWhenFullWord": "第一個字完全符合觸發關鍵字", - "add_outgoing_webhook.triggerWordsTriggerWhenStartsWith": "第一個字以觸發關鍵字為開頭", - "admin.advance.cluster": "高可用性 (Beta)", - "admin.advance.metrics": "效能監視", - "admin.audits.reload": "重新載入使用者活動記錄", - "admin.audits.title": "使用者活動記錄", - "admin.authentication.email": "電子郵件認證", - "admin.authentication.gitlab": "GitLab", - "admin.authentication.ldap": "AD/LDAP", - "admin.authentication.oauth": "OAuth 2.0", - "admin.authentication.saml": "SAML", - "admin.banner.heading": "註:", - "admin.cluster.enableDescription": "啟用時,Mattermost 將會運行於高可用性模式。請參閱說明文件以了解如何設定 Mattermost 的高可用性。", - "admin.cluster.enableTitle": "啟用高可用性模式:", - "admin.cluster.interNodeListenAddressDesc": "伺服器將會監聽此位址來跟其他伺服器通訊。", - "admin.cluster.interNodeListenAddressEx": "如:\":8075\"", - "admin.cluster.interNodeListenAddressTitle": "節點間通訊監聽位址:", - "admin.cluster.interNodeUrlsDesc": "所有 Mattermost 伺服器的內部/私人網址,以逗號分離。", - "admin.cluster.interNodeUrlsEx": "如:\"http://10.10.10.30, http://10.10.10.31\"", - "admin.cluster.interNodeUrlsTitle": "節點間網址:", - "admin.cluster.loadedFrom": "此設定檔是從節點 ID {clusterId} 讀取。如果您是經由負載平衡器存取系統控制台且遇到了問題,請參閱文件中的疑難排解指引。", - "admin.cluster.noteDescription": "修改此節的屬性需要重啟伺服器以生效。啟用高可用性模式時,系統控制台會被設成唯讀,只能經由設定檔來修改。", - "admin.cluster.should_not_change": "警告:這些設定可能不會跟此叢集內其他的伺服器同步。高可用性節點間通訊在所有伺服器的 config.json 被修改成一樣並重新啟動 Mattermost 之前不會開始。如何從叢集中增加或移除伺服器請看文件。如果您是經由負載平衡器存取系統控制台且遇到了問題,請參閱文件中的疑難排解指引。", - "admin.cluster.status_table.config_hash": "設定檔 MD5", - "admin.cluster.status_table.hostname": "主機名稱", - "admin.cluster.status_table.id": "節點 ID", - "admin.cluster.status_table.reload": " 重新讀取叢集狀態", - "admin.cluster.status_table.status": "狀態", - "admin.cluster.status_table.url": "節點間網址", - "admin.cluster.status_table.version": "版本", - "admin.compliance.directoryDescription": "規範報告的寫入目錄,若空白,則設定為 ./data/。", - "admin.compliance.directoryExample": "如:\"./data/\"", - "admin.compliance.directoryTitle": "規範報告目錄:", - "admin.compliance.enableDailyDesc": "若啟用,Mattermost 會每日產生規範報告。", - "admin.compliance.enableDailyTitle": "啟用每日報告:", - "admin.compliance.enableDesc": "啟用時,Mattermost 允許從規範與審計分頁使用規範報告。詳請參閱文件。", - "admin.compliance.enableTitle": "啟用規範報告:", - "admin.compliance.false": "否", - "admin.compliance.noLicense": "

    註:

    規範為企業授權功能,您的授權不支援規範。點這裡查看企業授權資訊與價格。

    ", - "admin.compliance.save": "儲存", - "admin.compliance.saving": "儲存設定...", - "admin.compliance.title": "規範設定", - "admin.compliance.true": "是", - "admin.compliance_reports.desc": "工作名稱:", - "admin.compliance_reports.desc_placeholder": "例如:\"人事445號查核\"", - "admin.compliance_reports.emails": "電子郵件地址:", - "admin.compliance_reports.emails_placeholder": "例如:\"bill@example.com, bob@example.com\"", - "admin.compliance_reports.from": "發信人:", - "admin.compliance_reports.from_placeholder": "例如:\"2016-03-11\"", - "admin.compliance_reports.keywords": "關鍵字:", - "admin.compliance_reports.keywords_placeholder": "例如:\"融券\"", - "admin.compliance_reports.reload": "重新讀取規範報告", - "admin.compliance_reports.run": "執行檢查規範", - "admin.compliance_reports.title": "規範報告", - "admin.compliance_reports.to": "收件者:", - "admin.compliance_reports.to_placeholder": "例如:\"2016-03-15\"", - "admin.compliance_table.desc": "說明", - "admin.compliance_table.download": "下載", - "admin.compliance_table.params": "參數", - "admin.compliance_table.records": "記錄", - "admin.compliance_table.status": "狀態", - "admin.compliance_table.timestamp": "時間戳記", - "admin.compliance_table.type": "類型", - "admin.compliance_table.userId": "要求者", - "admin.connectionSecurityNone": "無", - "admin.connectionSecurityNoneDescription": "Mattermost 將使用不安全的連線。", - "admin.connectionSecurityPlain": "PLAIN", - "admin.connectionSecurityPlainDescription": "Mattermost 將使用不安全的連線來連線跟認證。", - "admin.connectionSecurityStart": "STARTTLS", - "admin.connectionSecurityStartDescription": "不安全的連線,嘗試提升為 TLS 安全連線", - "admin.connectionSecurityTest": "測試連線", - "admin.connectionSecurityTitle": "連線安全:", - "admin.connectionSecurityTls": "TLS", - "admin.connectionSecurityTlsDescription": "加密 Mattermost 和伺服器之間的通訊。", - "admin.customization.androidAppDownloadLinkDesc": "新增下載 Android 應用程式的連結。用行動網頁瀏覽器存取站台的使用者將會看到提示頁面以下載應用程式。此欄留空則不會出現提示頁面。", - "admin.customization.androidAppDownloadLinkTitle": "Android 應用程式下載連結:", - "admin.customization.appDownloadLinkDesc": "新增前往 Mattermost 應用程式下載頁面的連結。當有連結時主選單將會新增 \"下載 Mattermost 應用程式\" 讓使用者前往下載頁面。此欄留空則主選單不會出現該選項。", - "admin.customization.appDownloadLinkTitle": "Mattermost 應用程式下載頁面連結:", - "admin.customization.customBrand": "自訂品牌", - "admin.customization.customEmoji": "自訂繪文字", - "admin.customization.enableCustomEmojiDesc": "允許使用者新增用於訊息當中的自訂繪文字。允許之後,自訂繪文字設定的檢視方式為:變更到一個團隊,按頻道側邊欄上面的三個點,然後選擇\"自訂繪文字\"。", - "admin.customization.enableCustomEmojiTitle": "啟用自訂繪文字:", - "admin.customization.iosAppDownloadLinkDesc": "新增下載 iOS 應用程式的連結。用行動網頁瀏覽器存取站台的使用者將會看到提示頁面以下載應用程式。此欄留空則不會出現提示頁面。", - "admin.customization.iosAppDownloadLinkTitle": "iOS 應用程式下載連結:", - "admin.customization.nativeAppLinks": "Mattermost 應用程式連結", - "admin.customization.restrictCustomEmojiCreationAdmin": "允許系統及團隊管理員新增自訂繪文字", - "admin.customization.restrictCustomEmojiCreationAll": "允許所有人新增自訂繪文字", - "admin.customization.restrictCustomEmojiCreationDesc": "限制僅特定使用者可以新增自訂繪文字。", - "admin.customization.restrictCustomEmojiCreationSystemAdmin": "只允許系統管理員新增繪文字", - "admin.customization.restrictCustomEmojiCreationTitle": "限制新增繪文字:", - "admin.customization.support": "法律與支援", - "admin.database.title": "資料庫設定", - "admin.developer.title": "開發者設定", - "admin.email.agreeHPNS": " 我理解並接受 Mattermost Hosted 推播通知服務服務條款隱私政策。", - "admin.email.allowEmailSignInDescription": "啟用時 Mattermost 允許使用者用他們的電子郵件與密碼登入。", - "admin.email.allowEmailSignInTitle": "啟用電子郵件登入:", - "admin.email.allowSignupDescription": "啟用時 Mattermost 允許團隊以電子郵件與密碼註冊帳號。應該只在想限制以 OAuth 或 AD/LDAP 一類的單一登入服務註冊時,設為停用。", - "admin.email.allowSignupTitle": "啟用以電子郵件建立帳號:", - "admin.email.allowUsernameSignInDescription": "啟用時 Mattermost 允許使用者用他們的名稱與密碼登入。通常只有停用電子郵件地址驗證時才啟用。", - "admin.email.allowUsernameSignInTitle": "啟用以使用者名稱登入:", - "admin.email.connectionSecurityTest": "測試連線", - "admin.email.easHelp": "從企業 App 商店瞭解編譯與佈署自已的行動應用程式。", - "admin.email.emailFail": "連線失敗:{error}", - "admin.email.emailSuccess": "成功傳送電子郵件。請檢查收件匣並確認。", - "admin.email.enableEmailBatching.clusterEnabled": "高可用性模式啟用時不能啟用批次郵件。", - "admin.email.enableEmailBatching.siteURL": "啟用批次郵件前必須先設定站台網址 (設定 > 站台網址)。", - "admin.email.enableEmailBatchingDesc": "啟用時,使用者可以讓多個直接訊息跟提及合併成單一封郵件,可在帳號設定 > 通知處設定。", - "admin.email.enableEmailBatchingTitle": "啟用批次郵件:", - "admin.email.fullPushNotification": "發送完整的訊息", - "admin.email.genericPushNotification": "以使用者與頻道名稱發送一般說明", - "admin.email.inviteSaltDescription": "32字元的 Salt 用來簽署電子郵件邀請。於安裝時隨機產生。按\"重新產生\"建立新的 Salt。", - "admin.email.inviteSaltExample": "如:\"bjlSR4QqkXFBr7TP4oDzlfZmcNuH9Yo\"", - "admin.email.inviteSaltTitle": "電子郵件邀請 Salt:", - "admin.email.mhpns": "使用有加密、產品品質的 HPNS 連線到 iOS 與 Android 應用程式", - "admin.email.mhpnsHelp": "從iTunes下載 Mattermost iOS 應用程式。從Google Play 下載 Mattermost Android 應用程式。瞭解更多關於HPNS.", - "admin.email.mtpns": "使用 TPNS 以及 iTunes 和 GooglePlay 上的 iOS 與 Android 應用程式", - "admin.email.mtpnsHelp": "從 iTunes 下載 Mattermost iOS 應用程式。從Google Play下載 Mattermost Android 應用程式。瞭解更多關於 TPNS。", - "admin.email.nofificationOrganizationExample": "如:\"© ABC Corporation, 565 Knight Way, Palo Alto, California, 94305, USA\"", - "admin.email.notificationDisplayDescription": "從 Mattermost 傳送通知電子郵件時發件者的顯示名稱。", - "admin.email.notificationDisplayExample": "例如:\"Mattermost 通知\"、\"系統\"、\"勿回信\"", - "admin.email.notificationDisplayTitle": "通知顯示名稱:", - "admin.email.notificationEmailDescription": "從 Mattermost 傳送通知電子郵件時發件者的電子郵件地址。", - "admin.email.notificationEmailExample": "例如:\"mattermost@yourcompany.com\"、\"admin@yourcompany.com\"", - "admin.email.notificationEmailTitle": "通知信寄件人地址:", - "admin.email.notificationOrganization": "通知信信尾地址:", - "admin.email.notificationOrganizationDescription": "顯示於來自 Mattermost 通知信的組織名稱跟地址。如:\"© ABC Corporation, 565 Knight Way, Palo Alto, California, 94305, USA\"。如果這欄為空,信將不會顯示組織名稱跟地址。", - "admin.email.notificationOrganizationExample": "如:\"© ABC Corporation, 565 Knight Way, Palo Alto, California, 94305, USA\"", - "admin.email.notificationsDescription": "正式環境通常設為啟用。啟用時 Mattermost 會傳送電子郵件通知。開發者可以設為停用以跳過設定電子郵件加速開發。
    啟用時移除預覽模式橫幅(變更設定後須重新登入以生效)。", - "admin.email.notificationsTitle": "啟用電子郵件通知:", - "admin.email.passwordSaltDescription": "32字元的 Salt 用來簽署重設密碼之電子郵件。於安裝時隨機產生。按\"重新產生\"建立新的 salt。", - "admin.email.passwordSaltExample": "如:\"bjlSR4QqkXFBr7TP4oDzlfZmcNuH9Yo\"", - "admin.email.passwordSaltTitle": "密碼重設 Salt:", - "admin.email.pushContentDesc": "選取\"發送帶有使用者跟頻道名稱的一般性描述\"時,推播會寄送一般性訊息,包含使用者與頻道名稱,但不包含訊息內容。

    選取\"發送完整的訊息\"時,則會引用觸發通知的訊息內文,有可能會帶有機密資料。如果推播服務在防火牆之外,那麼強烈建議本選項只在協定為 \"https\" 加密連線時使用。", - "admin.email.pushContentTitle": "推播內容:", - "admin.email.pushDesc": "正式環境通常為啟用。啟用時 Mattermost 會嘗試從推播主機發送推播通知。", - "admin.email.pushOff": "不要發送推播通知", - "admin.email.pushOffHelp": "詳細設置請參閱推播通知文件。", - "admin.email.pushServerDesc": "在防火牆後方設置 Mattermost 推播通知服務時請使用 https://github.com/mattermost/push-proxy。可以使用 http://push-test.mattermost.com 測試,這個服務會連接到 Apple AppStore 的 Mattermost iOS 樣本應用程式。請勿在正式環境使用此測試服務。", - "admin.email.pushServerEx": "例如:\"http://push-test.mattermost.com\"", - "admin.email.pushServerTitle": "推播通知伺服器:", - "admin.email.pushTitle": "啟用推播通知:", - "admin.email.requireVerificationDescription": "正式環境通常設為啟用。啟用時 Mattermost 會在帳號建立之後允許登入之前要求驗證電子郵件地址。開發人員可以設為關閉,用以跳過電子郵件驗證加速開發。", - "admin.email.requireVerificationTitle": "需要驗證電子郵件地址:", - "admin.email.selfPush": "手動輸入推播通知服務位址", - "admin.email.smtpPasswordDescription": " 跟電子郵件管理員取得認證。", - "admin.email.smtpPasswordExample": "例如:\"您的密碼\"、\"jcuS8PuvcpGhpgHhlcpT1Mx42pnqMxQY\"", - "admin.email.smtpPasswordTitle": "SMTP 伺服器密碼:", - "admin.email.smtpPortDescription": "SMTP 電子郵件伺服器連接埠:", - "admin.email.smtpPortExample": "如:\"25\", \"465\", \"587\"", - "admin.email.smtpPortTitle": "SMTP 伺服器連接埠:", - "admin.email.smtpServerDescription": "SMTP 電子郵件伺服器位置。", - "admin.email.smtpServerExample": "例如:\"smtp.yourcompany.com\"、\"email-smtp.us-east-1.amazonaws.com\"", - "admin.email.smtpServerTitle": "SMTP 伺服器:", - "admin.email.smtpUsernameDescription": " 跟電子郵件管理員取得認證。", - "admin.email.smtpUsernameExample": "例如:\"admin@yourcompany.com\"、\"AKIADTOVBGERKLCBV\"", - "admin.email.smtpUsernameTitle": "SMTP 伺服器使用者名稱:", - "admin.email.testing": "測試中...", - "admin.false": "否", - "admin.file_upload.chooseFile": "選擇檔案", - "admin.file_upload.noFile": "未上傳任何檔案", - "admin.file_upload.uploadFile": "上傳", - "admin.files.images": "圖片", - "admin.files.storage": "儲存區", - "admin.general.configuration": "設定", - "admin.general.localization": "語言", - "admin.general.localization.availableLocalesDescription": "設定在帳號設定中使用者可以使用哪些語言 (留空則為全部支援的語言) 。如果要手動增加新語言,必須包含預設的用戶端語言在內。

    想要幫忙翻譯嘛?加入 Mattermost 翻譯伺服器 來幫忙。", - "admin.general.localization.availableLocalesNoResults": "找不到任何資料", - "admin.general.localization.availableLocalesNotPresent": "用戶端的預設語言必須包含在可用語言中", - "admin.general.localization.availableLocalesTitle": "可用語言:", - "admin.general.localization.clientLocaleDescription": "新建使用者及未登入頁面的預設語言。", - "admin.general.localization.clientLocaleTitle": "預設的用戶端語言:", - "admin.general.localization.serverLocaleDescription": "系統訊息跟紀錄的預設語言。此設定需要重新啟動伺服器才有效。", - "admin.general.localization.serverLocaleTitle": "預設的伺服器語言:", - "admin.general.log": "記錄", - "admin.general.policy": "政策", - "admin.general.policy.allowEditPostAlways": "任何時間", - "admin.general.policy.allowEditPostDescription": "設定作者在發出訊息後有多少時間可以編輯。", - "admin.general.policy.allowEditPostNever": "永不", - "admin.general.policy.allowEditPostTimeLimit": "發出訊息後幾秒內", - "admin.general.policy.allowEditPostTitle": "允許使用者編輯訊息:", - "admin.general.policy.permissionsAdmin": "團隊跟系統管理員", - "admin.general.policy.permissionsAll": "團隊全員", - "admin.general.policy.permissionsAllChannel": "所有頻道成員", - "admin.general.policy.permissionsChannelAdmin": "頻道、團隊與系統管理員", - "admin.general.policy.permissionsDeletePostAdmin": "團隊跟系統管理員", - "admin.general.policy.permissionsDeletePostAll": "訊息作者可以刪除自己的訊息,管理者可以刪除任意訊息", - "admin.general.policy.permissionsDeletePostSystemAdmin": "系統管理員", - "admin.general.policy.permissionsSystemAdmin": "系統管理員", - "admin.general.policy.restrictPostDeleteDescription": "設定誰擁有刪除訊息的權限", - "admin.general.policy.restrictPostDeleteTitle": "允許哪個使用者刪除訊息:", - "admin.general.policy.restrictPrivateChannelCreationDescription": "設定誰能建立私人群組的政策。", - "admin.general.policy.restrictPrivateChannelCreationTitle": "允許建立私人群組:", - "admin.general.policy.restrictPrivateChannelDeletionCommandLineToolLink": "命令列工具", - "admin.general.policy.restrictPrivateChannelDeletionDescription": "設定誰能刪除私人群組的政策。被刪除的群組可以利用 {commandLineToolLink} 從資料庫中還原。", - "admin.general.policy.restrictPrivateChannelDeletionTitle": "允許刪除私人群組:", - "admin.general.policy.restrictPrivateChannelManagementDescription": "設定誰能更名私人群組與設定其標題的政策。", - "admin.general.policy.restrictPrivateChannelManagementTitle": "允許更名私人群組:", - "admin.general.policy.restrictPublicChannelCreationDescription": "設定誰能建立公開頻道的政策。", - "admin.general.policy.restrictPublicChannelCreationTitle": "允許建立公開頻道:", - "admin.general.policy.restrictPublicChannelDeletionCommandLineToolLink": "命令列工具", - "admin.general.policy.restrictPublicChannelDeletionDescription": "設定誰能刪除公開頻道的政策。被刪除的頻道可以利用 {commandLineToolLink} 從資料庫中還原。", - "admin.general.policy.restrictPublicChannelDeletionTitle": "允許刪除公開頻道:", - "admin.general.policy.restrictPublicChannelManagementDescription": "設定誰能更名公開頻道與設定其標題的政策。", - "admin.general.policy.restrictPublicChannelManagementTitle": "允許更名公開頻道:", - "admin.general.policy.teamInviteDescription": "設定誰能用邀請新成員發送邀請郵件或使用在主選單的取得團隊邀請連結來邀請他人加入團隊的原則。如果取得團隊邀請連結被用來分享邀請連結,可以在希望加入的使用者加入團隊之後從團隊設定 > 邀請碼讓邀請碼過期。", - "admin.general.policy.teamInviteTitle": "允許發出團隊邀請的使用者:", - "admin.general.privacy": "隱私", - "admin.general.usersAndTeams": "使用者與團隊", - "admin.gitab.clientSecretDescription": "經由上方指示登入 GitLab 以取得該值。", - "admin.gitlab.EnableHtmlDesc": "
    1. 登入 GitLab 帳號並至個人檔案設定 -> 應用程式。
    2. 輸入轉址位址 \"<您的 mattermost 網址>/login/gitlab/complete\" (例:http://localhost:8065/login/gitlab/complete) 以及 \"<您的 mattermost 網址>/signup/gitlab/complete\"。
    3. 然後使用 GitLab 的 \"Application Secret Key\" 與 \"Application ID\" 欄位以完成下面的選項。
    4. 完成下面的端點網址。
    ", - "admin.gitlab.authDescription": "輸入 https:///oauth/authorize (例如 https://example.com:3000/oauth/authorize)。請根據伺服器設定選擇 HTTP 或 HTTPS。", - "admin.gitlab.authExample": "如:\"https:///oauth/authorize\"", - "admin.gitlab.authTitle": "認證端點:", - "admin.gitlab.clientIdDescription": "經由上方指示登入 GitLab 以取得該值", - "admin.gitlab.clientIdExample": "如:\"jcuS8PuvcpGhpgHhlcpT1Mx42pnqMxQY\"", - "admin.gitlab.clientIdTitle": "應用程式識別碼:", - "admin.gitlab.clientSecretExample": "如:\"jcuS8PuvcpGhpgHhlcpT1Mx42pnqMxQY\"", - "admin.gitlab.clientSecretTitle": "應用程式金鑰:", - "admin.gitlab.enableDescription": "啟用時,Mattermost 允許使用 GitLab OAuth 建立團隊與註冊帳號。", - "admin.gitlab.enableTitle": "啟用以 GitLab 認證:", - "admin.gitlab.settingsTitle": "GitLab 設定", - "admin.gitlab.tokenDescription": "輸入 https:///oauth/token。請根據伺服器設定選擇 HTTP 或 HTTPS。", - "admin.gitlab.tokenExample": "如:\"https:///oauth/token\"", - "admin.gitlab.tokenTitle": "Token 端點:", - "admin.gitlab.userDescription": "輸入 https:///api/v3/user。請根據伺服器設定選擇 HTTP 或 HTTPS。", - "admin.gitlab.userExample": "如:\"https:///api/v3/user\"", - "admin.gitlab.userTitle": "使用者 API 端點:", - "admin.google.EnableHtmlDesc": "
    1. 登入 Google帳號。
    2. 前往 https://console.developers.google.com,按左側邊列的憑證並輸入\"Mattermost - 您的公司名稱\"作為專案名稱,按建立
    3. OAuth 同意畫面 標題並輸入 \"Mattermost\" 作為 向使用者顯示的產品名稱。 按 儲存
    4. 憑證 標題下,按 建立憑證,選擇 OAuth 用戶端 ID 並選擇 網路應用程式
    5. 限制已授權的重新導向 URI 中輸入 您的 Mattermost 網址/signup/google/complete (如: http://localhost:8065/signup/google/complete)。 按 建立
    6. 用戶端 ID用戶端密鑰 貼至下面的欄位,按下儲存
    7. 最後,前往 Google+ API 並按 啟用。這可能需要花上幾分鐘以在 Google 的系統完成散佈。
    ", - "admin.google.authTitle": "認證端點:", - "admin.google.clientIdDescription": "在 Google 註冊應用程式時收到的用戶端 ID。", - "admin.google.clientIdExample": "如:\"7602141235235-url0fhs1mayfasbmop5qlfns8dh4.apps.googleusercontent.com\"", - "admin.google.clientIdTitle": "用戶端 ID:", - "admin.google.clientSecretDescription": "在 Google 註冊應用程式時收到的用戶端密鑰。", - "admin.google.clientSecretExample": "如:\"H8sz0Az-dDs2p15-7QzD231\"", - "admin.google.clientSecretTitle": "用戶端密碼:", - "admin.google.tokenTitle": "Token 端點:", - "admin.google.userTitle": "使用者 API 端點:", - "admin.image.amazonS3BucketDescription": "輸入 AWS S3 儲存貯體的名稱.", - "admin.image.amazonS3BucketExample": "如:\"mattermost-media\"", - "admin.image.amazonS3BucketTitle": "Amazon S3 儲存貯體:", - "admin.image.amazonS3EndpointDescription": "相容於 S3 的儲存提供者的主機名稱。預設為`s3.amazonaws.com`。", - "admin.image.amazonS3EndpointExample": "如:\"s3.amazonaws.com\"", - "admin.image.amazonS3EndpointTitle": "Amazon S3 端點:", - "admin.image.amazonS3IdDescription": "從 Amazon EC2 管理員取得認證。", - "admin.image.amazonS3IdExample": "如:\"AKIADTOVBGERKLCBV\"", - "admin.image.amazonS3IdTitle": "Amazon S3 存取金鑰識別碼:", - "admin.image.amazonS3RegionDescription": "選擇建立 S3 儲存貯體時選用的 AWS 區域。", - "admin.image.amazonS3RegionExample": "如:\"us-east-1\"", - "admin.image.amazonS3RegionTitle": "Amazon S3 區域:", - "admin.image.amazonS3SSLDescription": "關閉時,允許不安全的連線至 Amazon S3。預設為只允許安全連線。", - "admin.image.amazonS3SSLTitle": "啟用 Amazon S3 安全連線:", - "admin.image.amazonS3SecretDescription": "從 Amazon EC2 管理員取得認證。", - "admin.image.amazonS3SecretExample": "如:\"jcuS8PuvcpGhpgHhlcpT1Mx42pnqMxQY\"", - "admin.image.amazonS3SecretTitle": "Amazon S3 Secret 存取金鑰:", - "admin.image.localDescription": "檔案跟圖片寫入的目錄。如果留白則預設為 ./data/。", - "admin.image.localExample": "如:\"./data/\"", - "admin.image.localTitle": "本地儲存目錄:", - "admin.image.maxFileSizeDescription": "最大所容許的訊息附件檔案大小(MB)。注意:請確認伺服器記憶體能夠承受設定。大檔案會增加伺服器崩潰以及由於網路問題而上傳失敗的風險。", - "admin.image.maxFileSizeExample": "50", - "admin.image.maxFileSizeTitle": "最大檔案大小:", - "admin.image.previewHeightDescription": "預覽圖最大高度(\"0\":自動)。改變這個值只會改變之後的圖片如何顯示,但不會改變以前的圖片。", - "admin.image.previewHeightExample": "如:\"0\"", - "admin.image.previewHeightTitle": "預覽圖片高:", - "admin.image.previewWidthDescription": "預覽圖最大寬度。改變這個值只會改變之後的圖片如何顯示,但不會改變以前的圖片。", - "admin.image.previewWidthExample": "如:\"1024\"", - "admin.image.previewWidthTitle": "預覽圖片寬:", - "admin.image.profileHeightDescription": "個人圖像的高度。", - "admin.image.profileHeightExample": "如:\"0\"", - "admin.image.profileHeightTitle": "個人圖像高:", - "admin.image.profileWidthDescription": "個人圖像的寬度。", - "admin.image.profileWidthExample": "如:\"1024\"", - "admin.image.profileWidthTitle": "個人圖像寬:", - "admin.image.publicLinkDescription": "32字元的 Salt 用來簽署公開的圖片連結。於安裝時隨機產生。按\"重新產生\"建立新的 Salt。", - "admin.image.publicLinkExample": "如:\"gxHVDcKUyP2y1eiyW8S8na1UYQAfq6J6\"", - "admin.image.publicLinkTitle": "公開連結的 Salt:", - "admin.image.shareDescription": "允許使用者分享檔案與照片的公開連結。", - "admin.image.shareTitle": "啟用公開檔案連結:", - "admin.image.storeAmazonS3": "Amazon S3", - "admin.image.storeDescription": "檔案跟圖片所存放的儲存系統。

    選擇 \"Amazon S3\" 會啟用對應欄位以填入 Amazon 的認證跟儲存貯體的詳細資料。

    選擇 \"本地檔案系統\" 會啟用對應欄位以填入本地檔案目錄。", - "admin.image.storeLocal": "本地端檔案系統", - "admin.image.storeTitle": "檔案儲存系統:", - "admin.image.thumbHeightDescription": "上傳圖片的縮圖高度。改變這個值只會改變之後的縮圖如何顯示,但不會改變以前的縮圖。", - "admin.image.thumbHeightExample": "如:\"100\"", - "admin.image.thumbHeightTitle": "附件檔案縮圖高:", - "admin.image.thumbWidthDescription": "上傳圖片的縮圖寬度。改變這個值只會改變之後的縮圖如何顯示,但不會改變以前的縮圖。", - "admin.image.thumbWidthExample": "如:\"120\"", - "admin.image.thumbWidthTitle": "附加檔案縮圖寬:", - "admin.integrations.custom": "自訂整合", - "admin.integrations.external": "外部服務", - "admin.integrations.webrtc": "Mattermost WebRTC", - "admin.ldap.baseDesc": "BaseDN 是 Mattermost 在 AD/LDAP 樹搜尋使用者的起始點的識別名。", - "admin.ldap.baseEx": "如:\"ou=Unit Name,dc=corp,dc=example,dc=com\"", - "admin.ldap.baseTitle": "BaseDN:", - "admin.ldap.bindPwdDesc": "\"綁定使用者名稱\"的密碼:", - "admin.ldap.bindPwdTitle": "綁定密碼:", - "admin.ldap.bindUserDesc": "AD/LDAP 搜尋時使用的使用者名稱。一般這應該是一個專為 Mattermost 而建的帳號。這帳號應該被限制為只能讀取被 BaseDN 欄位所限定的 AD/LDAP 樹。", - "admin.ldap.bindUserTitle": "綁定使用者名稱:", - "admin.ldap.emailAttrDesc": "用於設定 Mattermost 使用者電子郵件位址的 AD/LDAP 伺服器屬性。", - "admin.ldap.emailAttrEx": "如:\"mail\"或\"userPrincipalName\"", - "admin.ldap.emailAttrTitle": "電子郵件位址屬性:", - "admin.ldap.enableDesc": "啟用時,Mattermost 允許使用 AD/LDAP 登入", - "admin.ldap.enableTitle": "啟用 AD/LDAP 登入:", - "admin.ldap.firstnameAttrDesc": "(非必須) 用於設定 Mattermost 使用者名字的 AD/LDAP 伺服器屬性。當設定之後由於將會跟 LDAP 伺服器同步名字,使用者將無法編輯。留白時使用者可以在帳號設定中設定他們自己的名字。", - "admin.ldap.firstnameAttrEx": "如:\"givenName\"", - "admin.ldap.firstnameAttrTitle": "名字屬性", - "admin.ldap.idAttrDesc": "此屬性在 AD/LDAP 伺服器上的值將會被用做 Mattermost 裡獨特、唯一的識別值。此屬性應該選用不會變更的屬性,例如使用者名稱 或 uid。如果一個使用者的這個屬性值有所變更,Mattermost 將會根據新值建立一個跟原本帳戶無關的新帳戶。這將是未來使用者在 Mattermost 登入頁面所要填入\"AD/LDAP 使用者名稱\"欄位的值。通常此屬性設定成與上面的\"用戶名稱\"屬性相同。如果您的團隊習慣用 domain\\\\username 登入其他使用 AD/LDAP 認證的服務,最好在本欄位填入 domain\\\\username 以保持一致性。", - "admin.ldap.idAttrEx": "如:\"sAMAccountName\"", - "admin.ldap.idAttrTitle": "ID 的屬性:", - "admin.ldap.lastnameAttrDesc": "(非必須) 用於設定 Mattermost 使用者姓氏的 AD/LDAP 伺服器屬性。當設定之後由於將會跟 LDAP 伺服器同步姓氏,使用者將無法編輯。留白時使用者可以在帳號設定中設定他們自己的姓氏。", - "admin.ldap.lastnameAttrEx": "如:\"sn\"", - "admin.ldap.lastnameAttrTitle": "姓氏屬性:", - "admin.ldap.ldap_test_button": "AD/LDAP Test", - "admin.ldap.loginNameDesc": "顯示在登入頁面上登入欄位的提示字。預設為\"AD/LDAP 使用者名稱\"。", - "admin.ldap.loginNameEx": "如:\"AD/LDAP 使用者名稱\"", - "admin.ldap.loginNameTitle": "登入欄位名:", - "admin.ldap.maxPageSizeEx": "如:\"2000\"", - "admin.ldap.maxPageSizeHelpText": "Mattermost 向 AD/LDAP 伺服器請求使用者資料時單次最多的數量。0表示無上限。", - "admin.ldap.maxPageSizeTitle": "最大分頁大小:", - "admin.ldap.nicknameAttrDesc": "(非必須) 用於設定 Mattermost 使用者暱稱的 AD/LDAP 伺服器屬性。當設定之後由於將會跟 LDAP 伺服器同步暱稱,使用者將無法編輯。留白時使用者可以在帳號設定中設定他們自己的暱稱。", - "admin.ldap.nicknameAttrEx": "如:\"nickname\"", - "admin.ldap.nicknameAttrTitle": "匿稱的屬性:", - "admin.ldap.noLicense": "

    註:

    AD/LDAP 為企業授權功能,您的授權不支援 AD/LDAP。按這裡查看企業授權資訊與價格。

    ", - "admin.ldap.portDesc": "Masttermost 連接 AD/LDAP 伺服器的連接埠。預設為389。", - "admin.ldap.portEx": "如:\"389\"", - "admin.ldap.portTitle": "AD/LDAP 連接埠:", - "admin.ldap.positionAttrDesc": "(非必須) 用於設定 Mattermost 職位的 AD/LDAP 伺服器屬性。", - "admin.ldap.positionAttrEx": "如:\"title\"", - "admin.ldap.positionAttrTitle": "職位屬性:", - "admin.ldap.queryDesc": "查詢 AD/LDAP 伺服器的逾時設定。如果因為 AD/LDAP 伺服器太慢而出現逾時錯誤,請加大其值。", - "admin.ldap.queryEx": "如:\"60\"", - "admin.ldap.queryTitle": "查詢逾時設定(秒):", - "admin.ldap.serverDesc": "AD/LDAP 伺服器的網域或 IP 位址。", - "admin.ldap.serverEx": "如:\"10.0.0.23\"", - "admin.ldap.serverTitle": "AD/LDAP 伺服器:", - "admin.ldap.skipCertificateVerification": "跳過驗證憑證:", - "admin.ldap.skipCertificateVerificationDesc": "TLS 或 STARTTLS 連線時跳過驗證憑證。不建議使用於需要 TLS 的正式環境。測試用設定。", - "admin.ldap.syncFailure": "同步失敗:{error}", - "admin.ldap.syncIntervalHelpText": "AD/LDAP 同步更新 Mattermost 使用者資料以反應 AD/LDAP 伺服器上的變更。舉例來說,當 AD/LDAP 伺服器上一個使用者名字改變時,在執行同步的時候這個改變會更新 Mattermost。在 AD/LDAP 伺服器上被移除或是停用的帳號,其對應的 Mattermost 帳號會被設定成“停用”,並且撤銷帳號的工作階段。Mattermost 根據輸入的間隔執行同步。如,如果輸入60,Mattermost將會每60分鐘同步一次。", - "admin.ldap.syncIntervalTitle": "同步間隔(分):", - "admin.ldap.syncNowHelpText": "立刻開始 AD/LDAP 同步。", - "admin.ldap.sync_button": "開始 AD/LDAP 同步", - "admin.ldap.testFailure": "AD/LDAP 測試失敗:{error}", - "admin.ldap.testHelpText": "測試 Mattermost 與 AD/LDAP 伺服器間的連線。如需詳細錯誤訊息,請參閱紀錄檔案。", - "admin.ldap.testSuccess": "AD/LDAP Test Successful", - "admin.ldap.uernameAttrDesc": "用於設定 Mattermost 使用者名稱的 AD/LDAP 伺服器屬性。這有可能跟 ID 為同一個屬性。", - "admin.ldap.userFilterDisc": "(非必須)輸入 AD/LDAP 過濾條件用來搜尋使用者。只有該條件找出來的用戶可以存取 Mattermost。對 Active Directory,排除被關閉的使用者的條件為 (&(objectCategory=Person)(!(UserAccountControl:1.2.840.113556.1.4.803:=2)))。", - "admin.ldap.userFilterEx": "例如:\"(objectClass=user)\"", - "admin.ldap.userFilterTitle": "使用者過濾條件:", - "admin.ldap.usernameAttrEx": "如:\"sAMAccountName\"", - "admin.ldap.usernameAttrTitle": "使用者名稱的屬性:", - "admin.license.choose": "選擇檔案", - "admin.license.chooseFile": "選擇檔案", - "admin.license.edition": "版本:", - "admin.license.key": "授權金鑰:", - "admin.license.keyRemove": "移除企業授權並降級伺服器", - "admin.license.noFile": "未上傳任何檔案", - "admin.license.removing": "授權移除中...", - "admin.license.title": "版本與授權", - "admin.license.type": "授權:", - "admin.license.upload": "上傳", - "admin.license.uploadDesc": "上傳授權金鑰讓 Mattermost 升級本機為企業版。造訪我們瞭解更多企業版的優點或採購授權金鑰。", - "admin.license.uploading": "上傳授權中...", - "admin.log.consoleDescription": "正式環境一般設為停用。開發者可以將此設為開啟以根據控制台記錄等級輸出記錄到控制台。開啟時伺服器會將訊息寫到標準輸出(stdout)。", - "admin.log.consoleTitle": "輸出記錄到主控台:", - "admin.log.enableDiagnostics": "啟用診斷與錯誤報告:", - "admin.log.enableDiagnosticsDescription": "啟用此功能以傳送錯誤報告以及診斷訊息給 Mattermost 公司用以改進 Mattermost 的效能跟品質。如需關於隱私政策的詳細資訊,請至 隱私政策。", - "admin.log.enableWebhookDebugging": "啟用 Webhook 除錯:", - "admin.log.enableWebhookDebuggingDescription": "停用這個會停止對於所有傳入的 Webhook 要求內容的除錯記錄。", - "admin.log.fileDescription": "正式環境一般為啟用。啟用時,記錄檔案會輸出至下面的檔案位置欄位所指定的位置。", - "admin.log.fileLevelDescription": "此設定決定怎樣的事件才會輸出到記錄檔案。ERROR:只輸出錯誤訊息。INFO:輸出錯誤訊息以及啟動跟初始化前後的訊息。DEBUG:輸出各種細節以便開發者除錯。", - "admin.log.fileLevelTitle": "檔案記錄等級:", - "admin.log.fileTitle": "輸出記錄到檔案:", - "admin.log.formatDateLong": "日期 (2006/01/02)", - "admin.log.formatDateShort": "日期 (01/02/06)", - "admin.log.formatDescription": "記錄訊息輸出格式(若空白則設為 \"[%D %T] [%L] %M\"):", - "admin.log.formatLevel": "等級 (DEBG, INFO, EROR)", - "admin.log.formatMessage": "訊息", - "admin.log.formatPlaceholder": "輸入檔案格式", - "admin.log.formatSource": "來源", - "admin.log.formatTime": "時間 (15:04:05 MST)", - "admin.log.formatTitle": "記錄檔案格式:", - "admin.log.levelDescription": "本設定決定記錄輸出到控制台的等級,ERROR:只輸出錯誤訊息。INFO:輸出錯誤訊息與啟動到初始化的訊息。 DEBUG:輸出開發時除錯的一切相關訊息。", - "admin.log.levelTitle": "控制台記錄等級:", - "admin.log.locationDescription": "記錄的輸出檔案。若留白則設為 ./logs/mattermost,輸出記錄到 ./logs/mattermost.log 檔案。記錄會自動輪替。每一萬行記錄會寫入同目錄的新檔,例如 mattermost.2015-09-23.001、mattermost.2015-09-23.002 等等。", - "admin.log.locationPlaceholder": "輸入檔案位置", - "admin.log.locationTitle": "記錄檔案目錄:", - "admin.log.logSettings": "記錄檔設定值", - "admin.logs.reload": "重新載入", - "admin.logs.title": "主機記錄", - "admin.metrics.enableDescription": "啟用時,Mattermost 會啟用效能監視的收集與分析。詳細如何設定 Mattermost 的效能監視,請參閱文件。", - "admin.metrics.enableTitle": "啟用效能監視:", - "admin.metrics.listenAddressDesc": "伺服器將監聽以公開效能計量值的位址。", - "admin.metrics.listenAddressEx": "如:\":8065\"", - "admin.metrics.listenAddressTitle": "監聽位址:", - "admin.mfa.bannerDesc": "使用 AD/LDAP 或 電子郵件登入的帳號可以使用多重要素驗證。如果使用了其他登入方式,多重要素驗證必須要在認證提供者處設定。", - "admin.mfa.cluster": "高", - "admin.mfa.title": "多重要素驗證", - "admin.nav.help": "說明", - "admin.nav.logout": "登出", - "admin.nav.report": "回報錯誤", - "admin.nav.switch": "選擇團隊", - "admin.notifications.email": "電子郵件", - "admin.notifications.push": "行動推播", - "admin.notifications.title": "通知設定", - "admin.oauth.gitlab": "GitLab", - "admin.oauth.google": "Google Apps", - "admin.oauth.off": "不允許經由 OAuth 2.0 提供者登入", - "admin.oauth.office365": "Office 365 (Beta)", - "admin.oauth.providerDescription": "啟用時,Mattermost 將可以作為一個 OAuth 2.0 服務提供者以授權外部應用程式的 API 要求。詳請參閱文件。", - "admin.oauth.providerTitle": "啟用 OAuth 2.0 服務提供者:", - "admin.oauth.select": "選擇 OAuth 2.0 服務提供者:", - "admin.office365.EnableHtmlDesc": "
    1. 登入 Microsoft 或 Office 365 帳號。請確定該帳號跟其他使用者的登入帳號在同一個租用戶下。
    2. 前往 https://apps.dev.microsoft.com,按 前往應用程式列表 > 新增應用程式 並用 \"Mattermost - 您的公司名稱\" 作為應用程式名稱
    3. 應用程式密碼 下,按 產生新密碼 並黏貼至底下的應用程式密碼欄位。
    4. 平台 下,按 新增平台 選擇 Web 並在 重新導向 URI 欄位輸入 您的-mattermost-網址/signup/office365/complete (如:http://localhost:8065/signup/office365/complete)。同時取消 允許隱含流程
    5. 最後,按下 儲存 並貼上底下的應用程式識別碼欄位。
    ", - "admin.office365.authTitle": "認證端點:", - "admin.office365.clientIdDescription": "在 Microsoft 註冊應用程式時收到的應用程式/用戶端識別碼。", - "admin.office365.clientIdExample": "如:\"adf3sfa2-ag3f-sn4n-ids0-sh1hdax192qq\"", - "admin.office365.clientIdTitle": "應用程式識別碼:", - "admin.office365.clientSecretDescription": "在 Microsoft 註冊應用程式時收到的應用程式密碼。", - "admin.office365.clientSecretExample": "如:\"shAieM47sNBfgl20f8ci294\"", - "admin.office365.clientSecretTitle": "應用程式密碼:", - "admin.office365.tokenTitle": "Token 端點:", - "admin.office365.userTitle": "使用者 API 端點:", - "admin.password.lowercase": "至少一個小寫英文字母", - "admin.password.minimumLength": "密碼最短長度:", - "admin.password.minimumLengthDescription": "有效密碼所應有的最少字元數目。必須是大於或等於{min}且小於或等於{max}的整數。", - "admin.password.minimumLengthExample": "如:\"5\"", - "admin.password.number": "至少一個數字", - "admin.password.preview": "錯誤訊息預覽", - "admin.password.requirements": "密碼要求:", - "admin.password.requirementsDescription": "有效密碼所應有的字元類型。", - "admin.password.symbol": "至少一個符號(\"~!@#$%^&*()\")", - "admin.password.uppercase": "至少一個大寫英文字母", - "admin.privacy.showEmailDescription": "選擇否時,對系統管理員以外的所有人隱藏成員的電子郵件位址", - "admin.privacy.showEmailTitle": "顯示電子郵件地址:", - "admin.privacy.showFullNameDescription": "選擇否時,對系統管理員以外的所有人隱藏成員的全名。顯示全名處改為顯示使用者名稱。", - "admin.privacy.showFullNameTitle": "顯示全名:", - "admin.purge.button": "清除所有快取", - "admin.purge.loading": " 載入中...", - "admin.purge.purgeDescription": "這將會清除記憶體中所有的快取資料,如工作階段、帳號、頻道等等。高可用性下的佈署將會嘗試清除叢集裡所有伺服器的快取。 清除快取可能會嚴重影響效能。", - "admin.purge.purgeFail": "清除失敗:{error}", - "admin.rate.enableLimiterDescription": "若啟用,API 使用頻率會被限制成下面所指定的值。", - "admin.rate.enableLimiterTitle": "啟用張貼頻率限制:", - "admin.rate.httpHeaderDescription": "當有內容的時候,會根據內容指定的 HTTP 標頭欄位(如 NGINX的情況設定 \"X-Real-IP\"、AmazonELB的情況設定\"X-Forwarded-For\")改變張貼頻率限制。", - "admin.rate.httpHeaderExample": "如:\"X-Real-IP\", \"X-Forwarded-For\"", - "admin.rate.httpHeaderTitle": "根據 HTTP 標頭改變張貼頻率限制:", - "admin.rate.maxBurst": "最大高載值:", - "admin.rate.maxBurstDescription": "允許暫時超過每秒查詢限制的最大要求數量。", - "admin.rate.maxBurstExample": "如:\"100\"", - "admin.rate.memoryDescription": "能連到此系統的最大使用者工作階段數由下面\"根據遠端位址改變張貼頻率限制\"跟\"根據 HTTP 標頭改變張貼頻率限制\"設定所決定", - "admin.rate.memoryExample": "如:\"10000\"", - "admin.rate.memoryTitle": "記憶體儲存體大小:", - "admin.rate.noteDescription": "變更此段落的設定值必須重啟伺服器以生效。", - "admin.rate.noteTitle": "註:", - "admin.rate.queriesDescription": "限制 API 使用速率為每秒\"這邊指定的數量\"次要求。", - "admin.rate.queriesExample": "如:\"10\"", - "admin.rate.queriesTitle": "每秒最多查詢數量:", - "admin.rate.remoteDescription": "若啟用,則根據 IP 位址限制 API 使用速率。", - "admin.rate.remoteTitle": "根據遠端位址改變發文頻率限制:", - "admin.rate.title": "張貼速率限制設定", - "admin.recycle.button": "回收資料庫連線", - "admin.recycle.loading": " 回收中...", - "admin.recycle.recycleDescription": "在使用多個資料庫的情況下,可以經由修改\"config.json\"、在伺服器啟動的時候執行設定 > 重新從磁碟載入設定,來在無須重啟伺服器之下切換主要資料庫。系統管理員應該執行回收資料庫連線以根據新的設定回收資料庫連線。", - "admin.recycle.reloadFail": "回收失敗:{error}", - "admin.regenerate": "重新產生", - "admin.reload.button": "重新從磁碟載入設定", - "admin.reload.loading": " 載入中...", - "admin.reload.reloadDescription": "在使用多個資料庫的情況下,可以經由修改\"config.json\"、在伺服器啟動的時候執行重新從磁碟載入設定,來在無須重啟伺服器之下切換主要資料庫。系統管理員應該執行資料庫 > 回收資料庫連線以根據新的設定回收資料庫連線。", - "admin.reload.reloadFail": "重新載入失敗:{error}", - "admin.reset_password.close": "關閉", - "admin.reset_password.newPassword": "新密碼", - "admin.reset_password.select": "選擇", - "admin.reset_password.submit": "請輸入至少{chars}個字。", - "admin.reset_password.titleReset": "重置密碼", - "admin.reset_password.titleSwitch": "切換帳戶到電子郵件地址/密碼", - "admin.saml.assertionConsumerServiceURLDesc": "輸入 https://<您的 mattermost 網址>/login/sso/saml。請根據伺服器設定選擇 HTTP 或 HTTPS。此欄位又被稱為宣告取用者服務網址。", - "admin.saml.assertionConsumerServiceURLEx": "如:\"https://<您的 mattermost 網址>/login/sso/saml\"", - "admin.saml.assertionConsumerServiceURLTitle": "服務提供者登入網址:", - "admin.saml.bannerDesc": "SAML 伺服器中的使用者屬性將在使用者登入時於 Mattermost 更新,包括移除或停用使用者。詳請參閱 https://docs.mattermost.com/deployment/sso-saml.html", - "admin.saml.emailAttrDesc": "用於設定 Mattermost 使用者電子郵件位址的 SAML 宣告屬性。", - "admin.saml.emailAttrEx": "如:\"Email\"或\"PrimaryEmail\"", - "admin.saml.emailAttrTitle": "電子郵件位址屬性:", - "admin.saml.enableDescription": "啟用時,Mattermost 允許用 SAML 登入。詳細如何設定 Mattermost 和 SAML,請參閱文件。", - "admin.saml.enableTitle": "啟用 SAML 登入:", - "admin.saml.encryptDescription": "啟用時,Mattermost 會解密利用您的服務提供者的公開憑證所加密的 SAML 宣告。", - "admin.saml.encryptTitle": "啟用加密:", - "admin.saml.firstnameAttrDesc": "(非必須) 用於設定 Mattermost 使用者名字的 SAML 宣告屬性。", - "admin.saml.firstnameAttrEx": "如:\"FirstName\"", - "admin.saml.firstnameAttrTitle": "名字屬性:", - "admin.saml.idpCertificateFileDesc": "身分識別提供者所簽發的公開認證憑證。", - "admin.saml.idpCertificateFileRemoveDesc": "移除身分識別提供者所簽發的公開認證憑證。", - "admin.saml.idpCertificateFileTitle": "身分識別提供者公開憑證:", - "admin.saml.idpDescriptorUrlDesc": "身分識別提供者進行 SAML 要求用的核發者網址。", - "admin.saml.idpDescriptorUrlEx": "如:\"https://idp.example.org/SAML2/issuer\"", - "admin.saml.idpDescriptorUrlTitle": "身分識別提供者核發者網址:", - "admin.saml.idpUrlDesc": "Mattermost 發送 SAML 要求以開始登入程序的網址。", - "admin.saml.idpUrlEx": "如:\"https://idp.example.org/SAML2/SSO/Login\"", - "admin.saml.idpUrlTitle": "SAML SSO 網址:", - "admin.saml.lastnameAttrDesc": "(非必須) 用於設定 Mattermost 使用者姓氏的 SAML 宣告屬性。", - "admin.saml.lastnameAttrEx": "如:\"LastName\"", - "admin.saml.lastnameAttrTitle": "姓氏屬性:", - "admin.saml.localeAttrDesc": "(非必須) 用於設定 Mattermost 使用者暱稱的 SAML 宣告屬性。", - "admin.saml.localeAttrEx": "如:\"Locale\" 或 \"PrimaryLanguage\"", - "admin.saml.localeAttrTitle": "偏好語言屬性:", - "admin.saml.loginButtonTextDesc": "(非必須) 登入頁面登入按鈕上的文字。預設為\"With SAML\"。", - "admin.saml.loginButtonTextEx": "如:\"With OKTA\"", - "admin.saml.loginButtonTextTitle": "登入按鈕文字:", - "admin.saml.nicknameAttrDesc": "(非必須) 用於設定 Mattermost 使用者暱稱的 SAML 宣告屬性。", - "admin.saml.nicknameAttrEx": "如:\"Nickname\"", - "admin.saml.nicknameAttrTitle": "匿稱的屬性:", - "admin.saml.positionAttrDesc": "(非必須) 用於設定 Mattermost 使用者職位的 SAML 宣告屬性。", - "admin.saml.positionAttrEx": "如:\"Role\"", - "admin.saml.positionAttrTitle": "職位屬性:", - "admin.saml.privateKeyFileFileDesc": "用以解密來自身份識別提供者的 SAML 宣告的私鑰。", - "admin.saml.privateKeyFileFileRemoveDesc": "移除用以解密來自身份識別提供者的 SAML 宣告的私鑰。", - "admin.saml.privateKeyFileTitle": "服務提供者私鑰:", - "admin.saml.publicCertificateFileDesc": "當使用 Mattermost 作為身份識別提供者,在初始化 SAML 的登入要求時會使用此憑證來產生簽章。", - "admin.saml.publicCertificateFileRemoveDesc": "當使用 Mattermost 作為身份識別提供者,在初始化 SAML 的登入要求時會使用此憑證來產生簽章。移除該憑證。", - "admin.saml.publicCertificateFileTitle": "服務提供者公開憑證:", - "admin.saml.remove.idp_certificate": "移除身份識別提供者憑證", - "admin.saml.remove.privKey": "移除服務提供者私鑰", - "admin.saml.remove.sp_certificate": "移除服務提供者憑證", - "admin.saml.removing.certificate": "移除憑證中...", - "admin.saml.removing.privKey": "移除私鑰中...", - "admin.saml.uploading.certificate": "上傳憑證中...", - "admin.saml.uploading.privateKey": "上傳私鑰中...", - "admin.saml.usernameAttrDesc": "用於設定 Mattermost 使用者名稱的 SAML 宣告屬性。", - "admin.saml.usernameAttrEx": "如:\"Username\"", - "admin.saml.usernameAttrTitle": "使用者名稱的屬性:", - "admin.saml.verifyDescription": "啟用時,Mattermost 會核對 SAML 回應中的簽章跟服務提供者登入網址一致", - "admin.saml.verifyTitle": "核對簽章:", - "admin.save": "儲存", - "admin.saving": "儲存設定...", - "admin.security.connection": "連線", - "admin.security.inviteSalt.disabled": "當寄送電子郵件被停用時,無法更改邀請 Salt。", - "admin.security.login": "登入", - "admin.security.password": "密碼", - "admin.security.passwordResetSalt.disabled": "當寄送電子郵件被停用時,無法更改密碼重置 Salt 。", - "admin.security.public_links": "公開連結", - "admin.security.requireEmailVerification.disabled": "當寄送電子郵件被停用時,無法更改驗證電子郵件設定。", - "admin.security.session": "工作階段", - "admin.security.signup": "註冊", - "admin.select_team.close": "關閉", - "admin.select_team.select": "選擇", - "admin.select_team.selectTeam": "選擇團隊", - "admin.service.attemptDescription": "於幾次登入失敗之後鎖定使用者,並要求使用者經由電子郵件重設密碼。", - "admin.service.attemptExample": "如:\"10\"", - "admin.service.attemptTitle": "最大登入嘗試次數:", - "admin.service.cmdsDesc": "啟用時,允許自訂斜線命令。請參閱文件。", - "admin.service.cmdsTitle": "啟用自訂斜線命令:", - "admin.service.corsDescription": "允許從特定的網域進行 HTTP 跨站請求。輸入\"*\" 開放所有網域的跨站請求,不輸入則不允許任何跨站請求。", - "admin.service.corsEx": "http://example.com", - "admin.service.corsTitle": "允許來自下列網址的跨站請求:", - "admin.service.developerDesc": "啟用時,Javascript 錯誤會顯示在使用者界面頂端上的紅色橫欄。不建議在正式環境中使用。", - "admin.service.developerTitle": "啟用開發者模式:", - "admin.service.enforcMfaTitle": "強制使用多重要素驗證:", - "admin.service.enforceMfaDesc": "啟用時,登入必須使用多重要素驗證。新的使用者將會在登錄時被要求設定多重要素驗證。已登入但沒有設定多重要素驗證的使用者將會被重新導向至多重要素驗證設定頁面直到完成設定為止。

    如果使用了 AD/LDAP 與電子郵件以外的登入方式,多重要素驗證必須要在認證提供者處設定。 ", - "admin.service.forward80To443": "轉送80通訊埠至443:", - "admin.service.forward80To443Description": "轉送所有經由80通訊埠的不安全連線至安全的443通訊埠", - "admin.service.googleDescription": "設定此金鑰以啟用顯示內嵌預覽 YouTube 影片的標題。即使沒有金鑰,訊息或註解有連結一樣會建立 YouTube 影片預覽,但是這些預覽無法顯示影片標題。請看 Google Developers Tutorial 的指示以取得金鑰。", - "admin.service.googleExample": "例:\"7rAh6iwQCkV4cA1Gsg3fgGOXJAQ43QV\"", - "admin.service.googleTitle": "Google API 金鑰:", - "admin.service.iconDescription": "啟用時,將允許 Webhook 以及斜線命令還有其他整合功能 (如 Zapier) 修改發文時的圖示。註:此功能跟允許覆蓋使用者名稱並用時有導致釣魚攻擊的可能性。", - "admin.service.iconTitle": "允許外部整合功能置換個人圖像:", - "admin.service.insecureTlsDesc": "允許時,所有的對外 HTTPS 請求將會接受未驗證、自簽章的憑證。如:將允許傳出的 Webhook 連至任意網域下使用自簽章的 TLS 憑證的伺服器。註:這樣將產生中間人攻擊的危險性。", - "admin.service.insecureTlsTitle": "啟用不安全的對外連線:", - "admin.service.integrationAdmin": "限制只有管理員能管理外部整合:", - "admin.service.integrationAdminDesc": "啟用時,Webhook 跟斜線命令將只有團隊與系統管理員能夠建立、編輯跟觀看,OAuth 2.0 應用程式將只有系統管理員能夠操作。外部整合在被管理員建立之後將會對所有使用者開放。", - "admin.service.letsEncryptCertificateCacheFile": "Let's Encrypt 憑證快取檔案:", - "admin.service.letsEncryptCertificateCacheFileDescription": "取得的憑證以及其他關於 Let's Encrypt 服務的資料將會儲存於這個檔案。", - "admin.service.listenAddress": "監聽位址:", - "admin.service.listenDescription": "綁定並監聽的位址與通訊埠。輸入\":8065\"會跟所有的網路界面綁定。輸入\"127.0.0.1:8065\"會僅與擁有該 IP 位址的網路界面綁定。如果選取了較低的通訊埠(稱為\"系統通訊埠\"或是\"常見通訊埠\",介於 0 到 1023 之間),您必須擁有與該通訊埠綁定的權限。在 Linux 上可以用 \"sudo setcap cap_net_bind_service=+ep ./bin/platform\" 來允許 Mattermost 與那些通訊埠綁定。", - "admin.service.listenExample": "如:\":8065\"", - "admin.service.mfaDesc": "啟用時,使用 AD/LDAP 或 電子郵件登入的使用者可以使用 Google Authenticator 將多重要素驗證加入帳號。", - "admin.service.mfaTitle": "啟用多重要素驗證:", - "admin.service.mobileSessionDays": "行動裝置的工作階段長度(以天計):", - "admin.service.mobileSessionDaysDesc": "從使用者最後一次輸入他們的認證到工作階段過期之間的天數。修改設定之後新的工作階段長度會在下次使用者輸入認證之後開始生效。", - "admin.service.outWebhooksDesc": "啟用時,允許傳出的 Webhook。請參閱文件。", - "admin.service.outWebhooksTitle": "啟用傳出的 Webhook:", - "admin.service.overrideDescription": "啟用時,將允許 Webhook 以及斜線命令還有其他整合功能 (如 Zapier) 修改發文時的使用者名稱。註:此功能跟允許覆蓋圖示並用時有導致釣魚攻擊的可能性。", - "admin.service.overrideTitle": "允許外部整合功能置換使用者名稱:", - "admin.service.readTimeout": "讀取逾時:", - "admin.service.readTimeoutDescription": "從連線被接受後到請求主體被完整的讀取之間最多所能使用的時間。", - "admin.service.securityDesc": "啟用時,如果過去12小時內有發布相關的安全性修正,將會寄發通知信給系統管理者。需要啟用電子郵件功能。", - "admin.service.securityTitle": "啟用安全性示警: ", - "admin.service.sessionCache": "工作階段快取有效時間(分):", - "admin.service.sessionCacheDesc": "要將工作階段快取在記憶體中多久(分鐘)。", - "admin.service.sessionDaysEx": "如:\"30\"", - "admin.service.siteURL": "站台網址:", - "admin.service.siteURLDescription": "使用者用來存取 Mattermost 的網址,應包含通訊協定跟連接埠。除非正在通知 > 電子郵件中設定批次郵件,否則此欄位可以留白。留白則會自動根據傳入資料設定。", - "admin.service.siteURLExample": "如:\"https://mattermost.example.com:1234\"", - "admin.service.ssoSessionDays": "SSO 的工作階段長度(以天計):", - "admin.service.ssoSessionDaysDesc": "從使用者最後一次輸入他們的認證到工作階段過期之間的天數。如果認證方式是 SAML 或 GitLab 且他們已經登入 SAML 或 GitLab,使用者將會自動再次登入 Mattermost。修改設定之後新的工作階段長度會在下次使用者輸入認證之後開始生效。", - "admin.service.testingDescription": "啟用時,將啟用 /loadtest 斜線命令,該命令會載入測試帳號、資料以及文字格式。修改此項需要重啟伺服器以生效。", - "admin.service.testingTitle": "啟用測試指令:", - "admin.service.tlsCertFile": "TLS 憑證檔案:", - "admin.service.tlsCertFileDescription": "TLS 將使用的憑證檔案。", - "admin.service.tlsKeyFile": "TLS 金鑰檔案:", - "admin.service.tlsKeyFileDescription": "TLS 將使用的私有金鑰檔案。", - "admin.service.useLetsEncrypt": "使用 Let's Encrypt:", - "admin.service.useLetsEncryptDescription": "啟用自動擷取 Let's Encrypt 的憑證。將會在來自新網域的用戶端嘗試連線時擷取憑證。此功能可以跟多個網域同時運作。", - "admin.service.webSessionDays": "AD/LDAP 和電子郵件的工作階段長度(以天計):", - "admin.service.webSessionDaysDesc": "從使用者最後一次輸入他們的認證到工作階段過期之間的天數。修改設定之後新的工作階段長度會在下次使用者輸入認證之後開始生效。", - "admin.service.webhooksDescription": "啟用時,允許傳入的 Webhook。為了避免釣魚攻擊,所有來自 Webhook 的貼文都會被標上 BOT 標籤。請參閱文件。", - "admin.service.webhooksTitle": "啟用傳出的 Webhook:", - "admin.service.writeTimeout": "寫入逾時:", - "admin.service.writeTimeoutDescription": "如果使用 HTTP (不安全),這是從讀取請求完畢後到寫入回應之間最多所能使用的時間。如果使用 HTTPS,這是從連線被接受後到寫入回應之間最多所能使用的時間。", - "admin.sidebar.addTeamSidebar": "從側邊欄選單加入團隊", - "admin.sidebar.advanced": "進階", - "admin.sidebar.audits": "規範與審計", - "admin.sidebar.authentication": "認證", - "admin.sidebar.cluster": "高可用性 (Beta)", - "admin.sidebar.compliance": "規範", - "admin.sidebar.configuration": "設定", - "admin.sidebar.connections": "連線", - "admin.sidebar.customBrand": "自訂品牌", - "admin.sidebar.customEmoji": "自訂繪文字", - "admin.sidebar.customIntegrations": "自訂整合", - "admin.sidebar.customization": "自訂", - "admin.sidebar.database": "資料庫", - "admin.sidebar.developer": "開發者", - "admin.sidebar.email": "電子郵件", - "admin.sidebar.external": "外部服務", - "admin.sidebar.files": "檔案", - "admin.sidebar.general": "一般", - "admin.sidebar.gitlab": "GitLab", - "admin.sidebar.images": "圖片", - "admin.sidebar.integrations": "整合", - "admin.sidebar.ldap": "AD/LDAP", - "admin.sidebar.legalAndSupport": "法律與支援", - "admin.sidebar.license": "版本與授權", - "admin.sidebar.localization": "語言", - "admin.sidebar.logging": "記錄", - "admin.sidebar.login": "登入", - "admin.sidebar.logs": "記錄", - "admin.sidebar.metrics": "效能監視", - "admin.sidebar.nativeAppLinks": "Mattermost 應用程式連結", - "admin.sidebar.notifications": "通知", - "admin.sidebar.oauth": "OAuth 2.0", - "admin.sidebar.other": "其它", - "admin.sidebar.password": "密碼", - "admin.sidebar.policy": "政策", - "admin.sidebar.privacy": "隱私", - "admin.sidebar.publicLinks": "公開連結", - "admin.sidebar.push": "行動推播", - "admin.sidebar.rateLimiting": "張貼速率限制", - "admin.sidebar.reports": "報告", - "admin.sidebar.rmTeamSidebar": "從側邊欄選單移除團隊", - "admin.sidebar.saml": "SAML", - "admin.sidebar.security": "安全", - "admin.sidebar.sessions": "工作階段", - "admin.sidebar.settings": "設定", - "admin.sidebar.signUp": "註冊", - "admin.sidebar.sign_up": "註冊", - "admin.sidebar.statistics": "團隊統計", - "admin.sidebar.storage": "儲存區", - "admin.sidebar.support": "法律與支援", - "admin.sidebar.teams": "團隊 ({count, number})", - "admin.sidebar.users": "使用者", - "admin.sidebar.usersAndTeams": "使用者與團隊", - "admin.sidebar.view_statistics": "系統統計", - "admin.sidebar.webrtc": "WebRTC (Beta)", - "admin.sidebarHeader.systemConsole": "系統控制台", - "admin.sql.dataSource": "資料來源:", - "admin.sql.driverName": "驅動程式名稱:", - "admin.sql.keyDescription": "32個字元的 Salt 以加密資料庫敏感欄位。", - "admin.sql.keyExample": "如:\"gxHVDcKUyP2y1eiyW8S8na1UYQAfq6J6\"", - "admin.sql.keyTitle": "封存資料的加密金鑰:", - "admin.sql.maxConnectionsDescription": "資料庫最大閒置連線", - "admin.sql.maxConnectionsExample": "如:\"10\"", - "admin.sql.maxConnectionsTitle": "最大閒置連線:", - "admin.sql.maxOpenDescription": "資料庫最大開啟連線。", - "admin.sql.maxOpenExample": "如:\"10\"", - "admin.sql.maxOpenTitle": "最大開啟連線:", - "admin.sql.noteDescription": "變更此段落設定必須重啟伺服器以生效。", - "admin.sql.noteTitle": "註:", - "admin.sql.replicas": "資料來源複本:", - "admin.sql.traceDescription": "(開發模式)若啟用,執行的 SQL 指令會寫入記錄。", - "admin.sql.traceTitle": "Trace:", - "admin.sql.warning": "警告:重新產生 Salt 可能導致某些資料庫欄位回傳空值。", - "admin.support.aboutDesc": "連結到關於頁以取得 Mattermost 的部署資訊,例如關於您組織內部的用戶與用途。預設是連到 Mattermost 的資訊頁面。", - "admin.support.aboutTitle": "關於連結:", - "admin.support.emailHelp": "顯示在電子郵件通知跟教學上給使用者詢問支援問題的電子郵件地址。", - "admin.support.emailTitle": "技術支援信箱:", - "admin.support.helpDesc": "團隊主選單的幫助文件連結。除非您的組織有自己建立文件,不然一般沒有變更的需要。", - "admin.support.helpTitle": "說明連結:", - "admin.support.noteDescription": "若是連到外部網站,網址應以 http:// 或 https:// 起頭:", - "admin.support.noteTitle": "註:", - "admin.support.privacyDesc": "電腦跟手機上所看到的隱私政策連結。這欄留空則不會顯示。", - "admin.support.privacyTitle": "隱私政策連結:", - "admin.support.problemDesc": "團隊主選單的幫助文件連結。預設連往使用者之間互助的論壇。在那邊可以搜尋跟詢問技術相關的問題。", - "admin.support.problemTitle": "回報錯誤連結:", - "admin.support.termsDesc": "連結到使用者使用您的線上服務時的條款。預設情況下這會連到 \"Mattermost 使用條款 (終端使用者)\" 解釋使用者是在怎樣的條款下使用 Mattermost。如果您改變了預設連結以增加自己的條款,新的條款必須包含連往預設條款的連結以讓使用者知道關於 Mattermost 軟體的使用條款。", - "admin.support.termsTitle": "服務條款連結:", - "admin.system_analytics.activeUsers": "有發文的活躍使用者", - "admin.system_analytics.title": "系統", - "admin.system_analytics.totalPosts": "全部發文", - "admin.team.brandDesc": "啟動自訂品牌,下面上傳的圖片跟寫下的文字會顯示在登入頁面。", - "admin.team.brandDescriptionExample": "團隊溝通皆在同處,隨時隨地皆可搜尋與存取。", - "admin.team.brandDescriptionHelp": "登入畫面跟使用者界面上顯示的服務描述。當沒有設定時將會顯示 \"團隊溝通皆在同處,隨時隨地皆可搜尋與存取。\"。", - "admin.team.brandDescriptionTitle": "站台敘述:", - "admin.team.brandImageTitle": "自訂品牌圖片:", - "admin.team.brandTextDescription": "顯示在登入畫面中自訂品牌圖片下方的文字。可使用 Markdown 以設定文字樣式與排版。最多允許 500 個字元。", - "admin.team.brandTextTitle": "自訂品牌文字:", - "admin.team.brandTitle": "啟用自訂品牌:", - "admin.team.chooseImage": "選擇新圖", - "admin.team.dirDesc": "啟用時,設定為顯示在團隊列表的團隊將會顯示在主頁並取代原本建立團隊的位置。", - "admin.team.dirTitle": "啟用團隊列表:", - "admin.team.maxChannelsDescription": "每個團隊最大頻道數,包含啟用跟被刪除的頻道。", - "admin.team.maxChannelsExample": "如:\"100\"", - "admin.team.maxChannelsTitle": "團隊最大頻道數:", - "admin.team.maxNotificationsPerChannelDescription": "頻道使用者人數在超過此數量後,由於效能考量,使用者輸入訊息、@all、@here 以及 @channel 將不再發送通知。", - "admin.team.maxNotificationsPerChannelExample": "如:\"1000\"", - "admin.team.maxNotificationsPerChannelTitle": "單一頻道最大通知數:", - "admin.team.maxUsersDescription": "每個團隊最大人數,包含活躍與不活躍的使用者。", - "admin.team.maxUsersExample": "如:\"25\"", - "admin.team.maxUsersTitle": "每個團隊最大人數:", - "admin.team.noBrandImage": "尚未上傳品牌圖片", - "admin.team.openServerDescription": "啟用時,任可人都無需邀請直接註冊帳號。", - "admin.team.openServerTitle": "啟用開放伺服器:", - "admin.team.restrictDescription": "團隊跟使用者帳號只能從特定的網域建立。可以是單個(例:\"mattermost.org\")或是用逗號分隔的網域列表(例:\"corp.mattermost.com, mattermost.org\")。", - "admin.team.restrictDirectMessage": "允許直接訊息的對象為:", - "admin.team.restrictDirectMessageDesc": "'任何 Mattermost 伺服器上的使用者'讓使用者能對任何在這伺服器上的使用者開啟直接訊息頻道,即便他們沒有任何共通的團隊。'任何團隊成員'限制只能對在同一團隊的使用者開啟直接訊息頻道。", - "admin.team.restrictExample": "如:\"corp.mattermost.com, mattermost.org\"", - "admin.team.restrictNameDesc": "若啟用,則無法用如 www, admin, support, test, channel 等保留字建立團隊。", - "admin.team.restrictNameTitle": "限制團隊名稱:", - "admin.team.restrictTitle": "限制僅有特定的電子郵件網域能建立帳號:", - "admin.team.restrict_direct_message_any": "任何 Mattermost 伺服器上的使用者", - "admin.team.restrict_direct_message_team": "任何團隊成員", - "admin.team.siteNameDescription": "顯示於登入畫面與界面上的服務名稱.", - "admin.team.siteNameExample": "如:\"Mattermost\"", - "admin.team.siteNameTitle": "站台名稱:", - "admin.team.teamCreationDescription": "停用時,只有系統管理者能建立團隊。", - "admin.team.teamCreationTitle": "啟用建立團隊::", - "admin.team.upload": "上傳", - "admin.team.uploadDesc": "增加自訂圖片到登入畫面以客製使用者體驗。建議影像檔案小於 2 MB。", - "admin.team.uploaded": "已上傳!", - "admin.team.uploading": "上傳中...", - "admin.team.userCreationDescription": "若停用,則停用建立帳戶功能。按建立帳號按鈕會顯示錯誤。", - "admin.team.userCreationTitle": "啟用建立帳號:", - "admin.team_analytics.activeUsers": "有發文的活躍使用者", - "admin.team_analytics.totalPosts": "全部發文", - "admin.true": "是", - "admin.userList.title": "{team}的使用者", - "admin.userList.title2": "{team} ({count})的使用者", - "admin.user_item.authServiceEmail": "登入方式:電子郵件", - "admin.user_item.authServiceNotEmail": "登入方式:{service}", - "admin.user_item.confirmDemoteDescription": "如果將自己從系統管理員降級且不存在其它有管理員權限的使用者。則必須以終端機方式存取 Mattermost 伺服器並執行下列命令以重新指定新的系統管理員。", - "admin.user_item.confirmDemoteRoleTitle": "確認從系統管理員降級", - "admin.user_item.confirmDemotion": "降級確認", - "admin.user_item.confirmDemotionCmd": "platform roles system_admin {username}", - "admin.user_item.emailTitle": "電子郵件: {email}", - "admin.user_item.inactive": "停用", - "admin.user_item.makeActive": "啟用", - "admin.user_item.makeInactive": "停用", - "admin.user_item.makeMember": "設為成員", - "admin.user_item.makeSysAdmin": "設為系統管理員", - "admin.user_item.makeTeamAdmin": "設為團隊管理員", - "admin.user_item.member": "成員", - "admin.user_item.mfaNo": "多重要素驗證:無", - "admin.user_item.mfaYes": "多重要素驗證:是", - "admin.user_item.resetMfa": "移除多重要素驗證", - "admin.user_item.resetPwd": "重置我的密碼", - "admin.user_item.switchToEmail": "切換帳戶到電子郵件地址/密碼", - "admin.user_item.sysAdmin": "系統管理員", - "admin.user_item.teamAdmin": "團隊管理員", - "admin.webrtc.enableDescription": "啟用時,Mattermost 將可以展開一對一的視訊通話。WebRTC 通話可在 Chrome, Firefox 和 Mattermost 桌面應用程式上使用。", - "admin.webrtc.enableTitle": "啟用 Mattermost WebRTC:", - "admin.webrtc.gatewayAdminSecretDescription": "輸入管理員密碼以存取閘道管理員網址。", - "admin.webrtc.gatewayAdminSecretExample": "如:\"PVRzWNN1Tg6szn7IQWvhpAvLByScWxdy\"", - "admin.webrtc.gatewayAdminSecretTitle": "閘道管理員密碼:", - "admin.webrtc.gatewayAdminUrlDescription": "請輸入 https://:/admin。請根據伺服器設定選擇 HTTP 或 HTTPS。Mattermost WebRTC 將使用此網址來取得有效 Token 用以為每個端點建立連線。", - "admin.webrtc.gatewayAdminUrlExample": "如:\"https://webrtc.mattermost.com:7089/admin\"", - "admin.webrtc.gatewayAdminUrlTitle": "閘道管理員網址:", - "admin.webrtc.gatewayWebsocketUrlDescription": "請輸入 wss://:。請根據伺服器設定選擇 WS 或 WSS。這將是用來在端點間發送訊號以及建立通訊的 Websocket。", - "admin.webrtc.gatewayWebsocketUrlExample": "如:\"wss://webrtc.mattermost.com:8189\"", - "admin.webrtc.gatewayWebsocketUrlTitle": "閘道 Websocket 網址:", - "admin.webrtc.stunUriDescription": "輸入 stun:: 作為 STUN URI。STUN 是個讓位於 NAT 後方的裝置取得公開 IP 位置的標準網路協定。", - "admin.webrtc.stunUriExample": "如:\"stun:webrtc.mattermost.com:5349\"", - "admin.webrtc.stunUriTitle": "STUN URI:", - "admin.webrtc.turnSharedKeyDescription": "輸入 TURN 伺服器共用金鑰。這將用來產生動態密碼以建立連線。每個密碼只在短期內有效。", - "admin.webrtc.turnSharedKeyExample": "如:\"bXdkOWQxc3d0Ynk3emY5ZmsxZ3NtazRjaWg=\"", - "admin.webrtc.turnSharedKeyTitle": "TURN 共用金鑰:", - "admin.webrtc.turnUriDescription": "輸入 turn:: 作為 TURN URI。TURN 是個讓位於對稱性 NAT 後方的裝置透過公開 IP 轉發以建立連線的標準網路協定。", - "admin.webrtc.turnUriExample": "如:\"turn:webrtc.mattermost.com:5349\"", - "admin.webrtc.turnUriTitle": "TURN URI:", - "admin.webrtc.turnUsernameDescription": "如入 TURN 伺服器使用者名稱。", - "admin.webrtc.turnUsernameExample": "如:\"myusername\"", - "admin.webrtc.turnUsernameTitle": "TURN 使用者名稱:", - "admin.webserverModeDisabled": "停用", - "admin.webserverModeDisabledDescription": "Mattermost 不會傳送靜態檔案。", - "admin.webserverModeGzip": "gzip", - "admin.webserverModeGzipDescription": "Mattermost 伺服器將會傳送用 gzip 壓縮過的靜態檔案。", - "admin.webserverModeHelpText": "gzip 壓縮會用於靜態內容檔案。一般建議啟用 gzip 以增進效能,除非環境有特定限制,像是不適合使用 gzip 的網頁代理。", - "admin.webserverModeTitle": "網頁伺服器模式:", - "admin.webserverModeUncompressed": "不壓縮", - "admin.webserverModeUncompressedDescription": "Mattermost 伺服器將會傳送不壓縮的靜態檔案。", - "analytics.chart.loading": "載入中…", - "analytics.chart.meaningful": "沒有足夠有意義的資料可顯示。", - "analytics.system.activeUsers": "有發文的活躍使用者", - "analytics.system.channelTypes": "頻道類型", - "analytics.system.dailyActiveUsers": "每日活躍使用者", - "analytics.system.expiredBanner": "企業版授權將在{date}過期。請在該日起15天內更新授權。詳情請洽commercial@mattermost.com。", - "analytics.system.expiringBanner": "企業版授權將在{date}過期。請洽commercial@mattermost.com以更新授權。", - "analytics.system.monthlyActiveUsers": "每月活躍使用者", - "analytics.system.postTypes": "發文,檔案與#標籤", - "analytics.system.privateGroups": "私人群組", - "analytics.system.publicChannels": "公開頻道", - "analytics.system.skippedIntensiveQueries": "部份統計已被停用以獲得最大的效能。可以在 config.json 中重新啟用它們。詳請參閱 https://docs.mattermost.com/administration/statistics.html", - "analytics.system.textPosts": "以純文字發文", - "analytics.system.title": "系統統計", - "analytics.system.totalChannels": "全部頻道", - "analytics.system.totalCommands": "全部命令", - "analytics.system.totalFilePosts": "發文含檔案", - "analytics.system.totalHashtagPosts": "發文含#標籤", - "analytics.system.totalIncomingWebhooks": "傳入的 Webhook", - "analytics.system.totalMasterDbConnections": "主資料庫連線", - "analytics.system.totalOutgoingWebhooks": "傳出的 Webhook", - "analytics.system.totalPosts": "全部發文", - "analytics.system.totalReadDbConnections": "複本資料庫連線", - "analytics.system.totalSessions": "總工作階段數", - "analytics.system.totalTeams": "全部團隊", - "analytics.system.totalUsers": "全部使用者", - "analytics.system.totalWebsockets": "Websocket 連線", - "analytics.team.activeUsers": "有發文的活躍使用者", - "analytics.team.newlyCreated": "新建的使用者", - "analytics.team.privateGroups": "私人群組", - "analytics.team.publicChannels": "公開頻道", - "analytics.team.recentActive": "最近的活躍使用者", - "analytics.team.recentUsers": "最近的活躍使用者", - "analytics.team.title": "{team}的團隊統計", - "analytics.team.totalPosts": "全部發文", - "analytics.team.totalUsers": "全部使用者", - "api.channel.add_member.added": "{username} 已將 {addedUsername} 加入頻道", - "api.channel.delete_channel.archived": "{username} 已封存頻道。", - "api.channel.join_channel.post_and_forget": "{username} 已加入頻道。", - "api.channel.leave.left": "{username} 已離開頻道。", - "api.channel.post_update_channel_displayname_message_and_forget.updated_from": "{username} 已更新頻道顯示名稱:從 {old} 改為 {new}", - "api.channel.post_update_channel_header_message_and_forget.removed": "{username} 已移除頻道標題(原為:{old})", - "api.channel.post_update_channel_header_message_and_forget.updated_from": "{username} 已更新頻道標題:從 {old} 改為 {new}", - "api.channel.post_update_channel_header_message_and_forget.updated_to": "{username} 已更新頻道標題為:{new}", - "api.channel.remove_member.removed": "{removedUsername} 已被從頻道中移除", - "app.channel.post_update_channel_purpose_message.removed": "{username} 已移除頻道用途(原為:{old})", - "app.channel.post_update_channel_purpose_message.updated_from": "{username} 已更新頻道用途:從 {old} 改為 {new}", - "app.channel.post_update_channel_purpose_message.updated_to": "{username} 已更新頻道用途為:{new}", - "audit_table.accountActive": "啟用帳號", - "audit_table.accountInactive": "停用帳號", - "audit_table.action": "動作", - "audit_table.attemptedAllowOAuthAccess": "嘗試允許新的 OAuth 服務存取", - "audit_table.attemptedLicenseAdd": "嘗試加入新的授權", - "audit_table.attemptedLogin": "嘗試登入", - "audit_table.attemptedOAuthToken": "嘗試取得 OAuth 存取 Token", - "audit_table.attemptedPassword": "嘗試變更密碼", - "audit_table.attemptedRegisterApp": "嘗試以 ID {id}登記一個新的 OAuth 應用程式", - "audit_table.attemptedReset": "嘗試重設密碼", - "audit_table.attemptedWebhookCreate": "嘗試建立 Webhook", - "audit_table.attemptedWebhookDelete": "嘗試刪除 Webhook", - "audit_table.by": "由 {username}", - "audit_table.byAdmin": "由管理員", - "audit_table.channelCreated": "建立 {channelName} 頻道/群組", - "audit_table.channelDeleted": "刪除網址為 {url} 的頻道/群組", - "audit_table.establishedDM": "和 {username} 建立直接訊息頻道", - "audit_table.failedExpiredLicenseAdd": "授權由於過期或未開始,無法新增", - "audit_table.failedInvalidLicenseAdd": "無法新增無效的授權", - "audit_table.failedLogin": "嘗試登入失敗", - "audit_table.failedOAuthAccess": "無法允許新的 OAuth 服務存取 - 重導向位址與先前登記的回呼不一致", - "audit_table.failedPassword": "無法變更密碼 - 用 OAuth 登入的使用者嘗試更新使用者密碼", - "audit_table.failedWebhookCreate": "無法建立 Webhook - 不符頻道權限", - "audit_table.failedWebhookDelete": "無法刪除 Webhook - 不恰當的條件", - "audit_table.headerUpdated": "更新 {channelName} 頻道/群組標題", - "audit_table.ip": "IP 位址", - "audit_table.licenseRemoved": "成功移除授權", - "audit_table.loginAttempt": " (嘗試登入)", - "audit_table.loginFailure": " (登入失敗)", - "audit_table.logout": "登出帳號", - "audit_table.member": "成員", - "audit_table.nameUpdated": "更新 {channelName} 頻道/群組 名稱", - "audit_table.oauthTokenFailed": "無法取得 OAuth 存取 Token - {token}", - "audit_table.revokedAll": "撤消團隊現在所有的工作階段", - "audit_table.sentEmail": "傳送郵件到 {email} 以重設密碼", - "audit_table.session": "工作階段 ID", - "audit_table.sessionRevoked": "已撤消 id 為 {sessionId} 的工作階段", - "audit_table.successfullLicenseAdd": "成功加入新授權", - "audit_table.successfullLogin": "成功登入", - "audit_table.successfullOAuthAccess": "成功讓新的 OAuth 服務存取", - "audit_table.successfullOAuthToken": "成功加入新的 OAuth 服務", - "audit_table.successfullPassword": "成功變更密碼", - "audit_table.successfullReset": "成功重置密碼", - "audit_table.successfullWebhookCreate": "成功建立 Webhook", - "audit_table.successfullWebhookDelete": "成功刪除 Webhook", - "audit_table.timestamp": "時間戳記", - "audit_table.updateGeneral": "已更新帳戶的一般設定", - "audit_table.updateGlobalNotifications": "已更新全域通知設定", - "audit_table.updatePicture": "已更新個人圖像", - "audit_table.updatedRol": "已更新使用者角色為:", - "audit_table.userAdded": "新增用戶 {username} 到 {channelName} 頻道/群組", - "audit_table.userId": "使用者 ID", - "audit_table.userRemoved": "將用戶 {username} 從 {channelName} 頻道/群組 移除", - "audit_table.verified": "已確認電子郵件地址", - "authorize.access": "是否允許 {appName} 存取?", - "authorize.allow": "允許", - "authorize.app": "應用程式 {appName} 想要能夠存取並修改您的基本資料。", - "authorize.deny": "禁止", - "authorize.title": "{appName} 想要連接到您的 Mattermost 使用者帳號", - "backstage_list.search": "搜尋", - "backstage_navbar.backToMattermost": "回到 {siteName}", - "backstage_sidebar.emoji": "自訂繪文字", - "backstage_sidebar.integrations": "整合", - "backstage_sidebar.integrations.commands": "斜線命令", - "backstage_sidebar.integrations.incoming_webhooks": "傳入的 Webhook", - "backstage_sidebar.integrations.oauthApps": "OAuth 2.0 應用程式", - "backstage_sidebar.integrations.outgoing_webhooks": "傳出的 Webhook", - "calling_screen": "撥打中", - "center_panel.recent": "按這裡跳到最新的訊息。", - "change_url.close": "關閉", - "change_url.endWithLetter": "網址必須以字元或數字做結尾", - "change_url.invalidUrl": "錯誤的網址", - "change_url.longer": "網址必須為兩個或兩個以上的字元", - "change_url.noUnderscore": "網址不能包含兩個連續的底線", - "change_url.startWithLetter": "網址必須以字元或數字開頭", - "channelHeader.addToFavorites": "新增至我的最愛", - "channelHeader.removeFromFavorites": "從我的最愛中移除", - "channel_flow.alreadyExist": "該網址的頻道已經存在", - "channel_flow.changeUrlDescription": "有網址不允許使用的字元時會自動移除。", - "channel_flow.changeUrlTitle": "變更 {term} 網址", - "channel_flow.channel": "頻道", - "channel_flow.create": "建立 {term}", - "channel_flow.group": "群組", - "channel_flow.handleTooShort": "頻道網址必須為小寫英數字、至少兩個字元", - "channel_flow.invalidName": "無效的頻道名稱", - "channel_flow.set_url_title": "設定 {term} 網址", - "channel_header.addMembers": "新增成員", - "channel_header.addToFavorites": "新增至我的最愛", - "channel_header.channel": "頻道", - "channel_header.channelHeader": "編輯頻道標題", - "channel_header.delete": "刪除{term}", - "channel_header.flagged": "被標記的訊息", - "channel_header.group": "群組", - "channel_header.leave": "退出{term}", - "channel_header.manageMembers": "成員管理", - "channel_header.notificationPreferences": "通知喜好設定", - "channel_header.recentMentions": "最近提及", - "channel_header.removeFromFavorites": "從我的最愛中移除", - "channel_header.rename": "變更{term}名稱", - "channel_header.setHeader": "編輯{term}標題", - "channel_header.setPurpose": "編輯{term}用途", - "channel_header.viewInfo": "檢視資訊", - "channel_header.viewMembers": "檢視成員", - "channel_header.webrtc.call": "開始視訊通話", - "channel_header.webrtc.offline": "使用者離線中", - "channel_header.webrtc.unavailable": "在當前通訊結束前不能建立新的通訊", - "channel_info.about": "關於", - "channel_info.close": "關閉", - "channel_info.header": "標題:", - "channel_info.id": "ID:", - "channel_info.name": "名字", - "channel_info.notFound": "找不到頻道", - "channel_info.purpose": "用途", - "channel_info.url": "網址:", - "channel_invite.add": "新增", - "channel_invite.addNewMembers": "新增成員到:", - "channel_invite.close": "關閉", - "channel_loader.connection_error": "您的網路似乎有問題。", - "channel_loader.posted": "已發文", - "channel_loader.socketError": "無法連線到 Mattermost。如果問題持續存在,請系統管理員檢查 WebSocket 連接埠。", - "channel_loader.someone": "某人", - "channel_loader.something": " 做了新事", - "channel_loader.unknown_error": "從伺服器收到不在預期內的狀態碼。", - "channel_loader.uploadedFile": " 已上傳一個檔案", - "channel_loader.uploadedImage": " 已上傳一張圖片", - "channel_loader.wrote": " 寫下: ", - "channel_members_dropdown.channel_admin": "頻道管理員", - "channel_members_dropdown.channel_member": "頻道成員", - "channel_members_dropdown.make_channel_admin": "成為頻道管理員", - "channel_members_dropdown.make_channel_member": "成為頻道成員", - "channel_members_dropdown.remove_from_channel": "從頻道中移除", - "channel_members_dropdown.remove_member": "移除成員", - "channel_members_modal.addNew": " 增加新成員", - "channel_members_modal.members": " 成員", - "channel_modal.cancel": "取消", - "channel_modal.channel": "頻道", - "channel_modal.createNew": "建立新的", - "channel_modal.descriptionHelp": "說明{term}如何使用。", - "channel_modal.displayNameError": "此欄位是必需的", - "channel_modal.edit": "編輯", - "channel_modal.group": "群組", - "channel_modal.header": "標題", - "channel_modal.headerEx": "如:\"[連結標題](http://example.com)\"", - "channel_modal.headerHelp": "設定除了{term}名字以外還會顯示在{term}標題的文字。舉例來說,可以輸入 [Link Title](http://example.com) 以顯示常用連結。", - "channel_modal.modalTitle": "新增", - "channel_modal.name": "名字", - "channel_modal.nameEx": "例如:\"Bugs\"、\"市場\"、\"客户支持\"", - "channel_modal.optional": "(非必須)", - "channel_modal.privateGroup1": "建立非開放的私人群組。 ", - "channel_modal.privateGroup2": "建立私人群組", - "channel_modal.publicChannel1": "建立公開頻道", - "channel_modal.publicChannel2": "建立一個人人可加入的頻道。 ", - "channel_modal.purpose": "用途", - "channel_modal.purposeEx": "如:\"用於歸檔錯誤跟改善的頻道\"", - "channel_notification.push": "發送行動推播通知", - "channel_notifications.allActivity": "所有的活動所有的活動", - "channel_notifications.allUnread": "全部的未讀訊息", - "channel_notifications.globalDefault": "系統預設({notifyLevel})", - "channel_notifications.markUnread": "標記頻道為未讀", - "channel_notifications.never": "永不", - "channel_notifications.onlyMentions": "僅限於提及您的", - "channel_notifications.override": "選擇\"預設\"以外會覆蓋系統的通知設定。Firefox、Safari 跟 Chrome可以使用桌面通知。", - "channel_notifications.overridePush": "選擇\"系統預設\"以外的選項將會覆蓋帳號設定中行動推播通知的全域通知設定。推播通知必須由系統管理員啟用。", - "channel_notifications.preferences": "通知喜好設定", - "channel_notifications.sendDesktop": "發送桌面通知", - "channel_notifications.unreadInfo": "當有未讀訊息時,側邊欄的頻道名字會用粗體表示。選擇\"僅限於提及您的\"將只有您被提及的頻道會用粗體。", - "channel_select.placeholder": "--- 選擇頻道 ---", - "channel_switch_modal.dm": "(直接傳訊)", - "channel_switch_modal.failed_to_open": "開啟頻道失敗。", - "channel_switch_modal.help": "請輸入頻道名。↑↓可以瀏覽、TAB 選擇、↵ 確認、ESC 取消", - "channel_switch_modal.not_found": "找不到符合的。", - "channel_switch_modal.submit": "切換", - "channel_switch_modal.title": "切換頻道", - "claim.account.noEmail": "沒有指定電子郵件", - "claim.email_to_ldap.enterLdapPwd": "輸入 AD/LDAP 帳號的使用者 ID 與密碼", - "claim.email_to_ldap.enterPwd": "輸入 {site} 的電子郵件帳戶密碼", - "claim.email_to_ldap.ldapId": "AD/LDAP ID", - "claim.email_to_ldap.ldapIdError": "請輸入 AD/LDAP ID。", - "claim.email_to_ldap.ldapPasswordError": "請輸入 AD/LDAP 密碼。", - "claim.email_to_ldap.ldapPwd": "AD/LDAP 密碼", - "claim.email_to_ldap.pwd": "密碼", - "claim.email_to_ldap.pwdError": "請輸入密碼", - "claim.email_to_ldap.ssoNote": "您必須已經有有效的 AD/LDAP 帳號", - "claim.email_to_ldap.ssoType": "設定完成後,將只能用 AD/LDAP 登入", - "claim.email_to_ldap.switchTo": "切換帳號至 AD/LDAP", - "claim.email_to_ldap.title": "由電子郵件地址/密碼帳號切換成 AD/LDAP 帳號", - "claim.email_to_oauth.enterPwd": "輸入 {site} 帳戶的密碼", - "claim.email_to_oauth.pwd": "密碼", - "claim.email_to_oauth.pwdError": "請輸入密碼", - "claim.email_to_oauth.ssoNote": "您必須已經有有效的 {type} 帳號", - "claim.email_to_oauth.ssoType": "設定完成後,將只能用 {type} SSO 登入", - "claim.email_to_oauth.switchTo": "切換帳號至 {uiType}", - "claim.email_to_oauth.title": "由電子郵件地址/密碼帳號切換成 {uiType} 帳號", - "claim.ldap_to_email.confirm": "密碼確認", - "claim.ldap_to_email.email": "用電子郵件地址 {email} 登入", - "claim.ldap_to_email.enterLdapPwd": "輸入 {site} 電子郵件帳戶的 {ldapPassword}", - "claim.ldap_to_email.enterPwd": "輸入電子郵件帳戶新密碼", - "claim.ldap_to_email.ldapPasswordError": "請輸入 AD/LDAP 密碼。", - "claim.ldap_to_email.ldapPwd": "AD/LDAP 密碼", - "claim.ldap_to_email.pwd": "密碼", - "claim.ldap_to_email.pwdError": "請輸入密碼。", - "claim.ldap_to_email.pwdNotMatch": "密碼不相符。", - "claim.ldap_to_email.ssoType": "設定完成後,將只能用電子郵件地址/密碼登入", - "claim.ldap_to_email.switchTo": "切換帳戶到電子郵件地址/密碼", - "claim.ldap_to_email.title": "切換 AD/LDAP 帳戶到電子郵件地址/密碼", - "claim.oauth_to_email.confirm": "密碼確認", - "claim.oauth_to_email.description": "更改帳號類別後,將只能用電子郵件地址/密碼登入。", - "claim.oauth_to_email.enterNewPwd": "為 {site} 的電子郵件帳戶輸入新密碼", - "claim.oauth_to_email.enterPwd": "請輸入密碼。", - "claim.oauth_to_email.newPwd": "新密碼", - "claim.oauth_to_email.pwdNotMatch": "密碼不相符。", - "claim.oauth_to_email.switchTo": "切換 {type} 至電子郵件地址及密碼", - "claim.oauth_to_email.title": "由 {type} 帳號切換成電子郵件地址", - "confirm_modal.cancel": "取消", - "connecting_screen": "連線中", - "create_comment.addComment": "新增註解...", - "create_comment.comment": "新增註解", - "create_comment.commentLength": "註解長度請少於 {max} 字元。", - "create_comment.commentTitle": "註解", - "create_comment.file": "上傳檔案", - "create_comment.files": "上傳多個檔案", - "create_post.comment": "註解", - "create_post.error_message": "訊息過長。字數:{length}/{limit}", - "create_post.post": "訊息", - "create_post.shortcutsNotSupported": "此裝置不支援鍵盤快速鍵。", - "create_post.tutorialTip": "

    發送訊息

    在這邊輸入訊息並按下 Enter 來發文。

    按下附件按鈕來上傳圖片或是檔案。

    ", - "create_post.write": "輸入訊息...", - "create_team.agreement": "一旦建立帳號使用{siteName},即表示您同意服務條款以及隱私政策。如果您不同意,請停止使用{siteName}。", - "create_team.display_name.back": "回到上一步", - "create_team.display_name.charLength": "名字必須至少有{min}個字、最多{max}。等等有增加較長團隊敘述的方法。", - "create_team.display_name.nameHelp": "團隊可以用任何語言取名。團隊名稱將會顯示在選單跟畫面上方。", - "create_team.display_name.next": "下一步", - "create_team.display_name.required": "此欄位是必需的", - "create_team.display_name.teamName": "團隊名稱", - "create_team.team_url.back": "回到上一步", - "create_team.team_url.charLength": "名稱長度為{min}到{max}字元", - "create_team.team_url.creatingTeam": "建立團隊中...", - "create_team.team_url.finish": "完成", - "create_team.team_url.hint": "
  • 短且好記憶是最好的
  • 請用小寫英字母、數字及連接號(-)
  • 請以小寫英字母開頭,請不要以連接號結尾
  • ", - "create_team.team_url.regex": "請只用小寫英字母、數字及連接號。必須以小寫英字母開頭且不能以連接號結尾。", - "create_team.team_url.required": "此欄位是必需的", - "create_team.team_url.taken": "網址已被使用或是含有保留字", - "create_team.team_url.teamUrl": "團隊網址", - "create_team.team_url.unavailable": "不能使用這網址。請嘗試其他的。", - "create_team.team_url.webAddress": "為新團隊選取網址:", - "custom_emoji.empty": "沒有自訂繪文字", - "custom_emoji.header": "自訂繪文字", - "custom_emoji.search": "搜尋自訂繪文字", - "delete_channel.cancel": "取消", - "delete_channel.channel": "頻道", - "delete_channel.confirm": "請確認刪除頻道", - "delete_channel.del": "刪除", - "delete_channel.group": "群組", - "delete_channel.question": "這將會從團隊刪除頻道並且禁止所有使用者存取頻道內容。您確定要刪除{display_name}{term}?", - "delete_post.cancel": "取消", - "delete_post.comment": "註解", - "delete_post.confirm": "請確認刪除{term}", - "delete_post.del": "刪除", - "delete_post.post": "訊息", - "delete_post.question": "確定要刪除{term}嘛?", - "delete_post.warning": "這篇文章有{count}個註解。", - "edit_channel_header_modal.cancel": "取消", - "edit_channel_header_modal.description": "修改頻道標題上面名字旁邊的文字。", - "edit_channel_header_modal.error": "頻道標語太長,請長話短說", - "edit_channel_header_modal.save": "儲存", - "edit_channel_header_modal.title": "修改{channel}的標題", - "edit_channel_header_modal.title_dm": "修改標題", - "edit_channel_purpose_modal.body": "描述 {type} 的用途。這敘述會顯示在頻道列表的\"更多...\"選單當中,其他人可以以此決定要不要加入。", - "edit_channel_purpose_modal.cancel": "取消", - "edit_channel_purpose_modal.channel": "頻道", - "edit_channel_purpose_modal.error": "頻道用途太長,請長話短說", - "edit_channel_purpose_modal.group": "群組", - "edit_channel_purpose_modal.save": "儲存", - "edit_channel_purpose_modal.title1": "編輯用途", - "edit_channel_purpose_modal.title2": "編輯用途。目標:", - "edit_command.save": "更新", - "edit_post.cancel": "取消", - "edit_post.edit": "修改 {title}", - "edit_post.editPost": "修改訊息...", - "edit_post.save": "儲存", - "email_signup.address": "電子郵件位址", - "email_signup.createTeam": "建立團隊", - "email_signup.emailError": "請輸入有效的電子郵件地址。", - "email_signup.find": "尋找我的團隊", - "email_verify.almost": "{siteName}:即將完成", - "email_verify.failed": "傳送驗證電子郵件失敗。", - "email_verify.notVerifiedBody": "電子郵件地址驗證。請檢查收信夾收信。", - "email_verify.resend": "重新發送電子郵件", - "email_verify.sent": " 驗證電子郵件已發送", - "email_verify.verified": "{siteName} 電子郵件已驗證", - "email_verify.verifiedBody": "

    您的電子郵件已驗證!按這邊登入。

    ", - "email_verify.verifyFailed": "無法驗證電子郵件地址。", - "emoji_list.actions": "處理方式", - "emoji_list.add": "新增自訂繪文字", - "emoji_list.creator": "建立者", - "emoji_list.delete": "刪除", - "emoji_list.empty": "沒有自訂繪文字", - "emoji_list.header": "自訂繪文字", - "emoji_list.help": "自訂繪文字對此伺服器上的所有使用者開放。在訊息輸入框輸入 ':' 會叫出繪文字選單。其他使用者可能需要重新讀取頁面才會看見新的繪文字。", - "emoji_list.help2": "提示:如果在含有繪文字該行增加 #、## 或 ### 當作第一個字元,可以使用較大尺寸的繪文字。傳送如 '# :smile:' 的訊息來嘗試此功能。", - "emoji_list.image": "圖片", - "emoji_list.name": "名稱", - "emoji_list.search": "搜尋自訂繪文字", - "emoji_list.somebody": "其他團隊的某人", - "error.not_found.link_message": "回到 Mattermost", - "error.not_found.message": "您所存取的頁面不存在", - "error.not_found.title": "找不到頁面", - "error.not_supported.message": "不支援隱私瀏覽", - "error.not_supported.title": "不支援此瀏覽器", - "error_bar.expired": "企業版授權已過期。請在過期日起15天內更新授權。詳情請洽 commercial@mattermost.com", - "error_bar.expiring": "企業版授權將在 {date} 過期。請聯繫 commercial@mattermost.com 更新授權。", - "error_bar.past_grace": "企業版授權已過期,詳情請洽系統管理員。", - "error_bar.preview_mode": "預覽模式:電子郵件通知尚未設定", - "file_attachment.download": "下載", - "file_info_preview.size": "大小 ", - "file_info_preview.type": "檔案類型 ", - "file_upload.fileAbove": "無法上傳超過{max}MB 的檔案:{filename}", - "file_upload.filesAbove": "無法上傳超過{max}MB 的檔案:{filenames}", - "file_upload.limited": "同時只能上傳{count}個檔案。請用新訊息來上傳更多的檔案。", - "file_upload.pasted": "圖片已上傳至:", - "filtered_channels_list.count": "{count}個頻道", - "filtered_channels_list.countTotal": "{total}中{count}個頻道", - "filtered_channels_list.search": "搜尋頻道", - "filtered_user_list.any_team": "所有使用者", - "filtered_user_list.count": "{count}位成員", - "filtered_user_list.countTotal": "{total}位中{count}位成員", - "filtered_user_list.countTotalPage": "{total}位中{startCount, number} - {endCount, number}位成員", - "filtered_user_list.member": "成員", - "filtered_user_list.next": "下一頁", - "filtered_user_list.prev": "上一頁", - "filtered_user_list.search": "搜尋使用者", - "filtered_user_list.searchButton": "搜尋", - "filtered_user_list.show": "過濾條件:", - "filtered_user_list.team_only": "此團隊的成員", - "find_team.email": "電子郵件地址", - "find_team.findDescription": "含有前往所有您為成員的團隊的連結的郵件已經寄出。", - "find_team.findTitle": "找到團隊", - "find_team.getLinks": "取得含有前往所有您為成員的團隊的連結的郵件。", - "find_team.placeholder": "you@domain.com", - "find_team.send": "送出", - "find_team.submitError": "請輸入一個有效的電子郵件位址", - "flag_post.flag": "標記以追蹤", - "flag_post.unflag": "取消標記", - "general_tab.chooseDescription": "為團隊寫新的敘述", - "general_tab.chooseName": "為團隊取名", - "general_tab.codeDesc": "按下'修改'來重新產生邀請碼。", - "general_tab.codeLongDesc": "邀請碼用來當作主選單中{getTeamInviteLink}所產生的團隊邀請連結的一部分。重新產生會建立一個新的招待連結並且讓舊的連結失效。", - "general_tab.codeTitle": "邀請碼", - "general_tab.emptyDescription": "按下'編輯'以增加團隊敘述。", - "general_tab.getTeamInviteLink": "取得團隊邀請連結", - "general_tab.includeDirDesc": "在首頁的團隊列表顯示此團隊名字、提供通往登入頁面的連結。", - "general_tab.no": "否", - "general_tab.openInviteDesc": "允許時,往此團隊的連結將會出現在首頁,有帳號的人皆可以此連結加入此團隊。", - "general_tab.openInviteTitle": "允許任何在此服務器有帳號的使用者加入此團隊", - "general_tab.regenerate": "重新產生", - "general_tab.required": "此欄位是必需的", - "general_tab.teamDescription": "團隊敘述", - "general_tab.teamDescriptionInfo": "團隊敘述提供額外的訊息幫助使用者選擇正確的團隊。最多為50個字。", - "general_tab.teamName": "團隊名稱", - "general_tab.teamNameInfo": "設定出現於登入畫面跟側邊欄左上的團隊名稱。", - "general_tab.title": "一般設定", - "general_tab.yes": "是", - "get_app.alreadyHaveIt": "已經擁有了?", - "get_app.androidAppName": "Mattermost for Android", - "get_app.androidHeader": "使用 Android 應用程式時 Mattermost 能有最好的表現", - "get_app.continue": "繼續", - "get_app.continueWithBrowser": "或 {link}", - "get_app.continueWithBrowserLink": "繼續使用瀏覽器", - "get_app.iosHeader": "使用 iPhone 應用程式時 Mattermost 能有最好的表現", - "get_app.mattermostInc": "Mattermost, Inc", - "get_app.openMattermost": "開啟 Mattermost", - "get_link.clipboard": " 連結已複製", - "get_link.close": "關閉", - "get_link.copy": "複製連結", - "get_post_link_modal.help": "下面的連結讓已登入的使用者看您的發文。", - "get_post_link_modal.title": "複製永久連結", - "get_public_link_modal.help": "底下的連結允許任何人不需要於本伺服器註冊即可觀看此檔案。", - "get_public_link_modal.title": "取得公開連結", - "get_team_invite_link_modal.help": "傳送下面的連結給團隊成員,讓他們註冊此團隊站台。此連結可以讓多個團隊成員共用,在團隊管理員到團隊設定當中重新產生之前,這連結都不會改變。", - "get_team_invite_link_modal.helpDisabled": "在您的團隊新增成員已經被關閉。請跟團隊管理員詢問詳情。", - "get_team_invite_link_modal.title": "團隊邀請連結", - "help.attaching.downloading": "#### 下載檔案\n按檔案縮圖旁邊的下載圖示以下載附加檔案,或是打開檔案預覽並按**下載**。", - "help.attaching.dragdrop": "#### 拖放功能\n從電腦拖拉檔案到右側邊欄或是中間來上傳檔案。拖放功能會將檔案附加至訊息輸入框,接著你可以輸入訊息或是直接按下**ENTER**發文。", - "help.attaching.icon": "#### 附件檔案圖示\n或者您也可以藉由按訊息輸入框裡面的灰色迴紋針以上傳檔案。這將會開啟系統的檔案瀏覽器,您可以在此尋找想要的檔案並按下**開啟**將檔案上傳至訊息輸入框。接著輸入訊息或是直接按下**ENTER**發文。", - "help.attaching.limitations": "## 檔案大小限制\n在 Mattermost 中,每個訊息最多可以附加五個檔案,每個檔案最大為 50Mb。", - "help.attaching.methods": "## 如何附加檔案\n拖放檔案或是按下訊息輸入框的附件檔案圖示。", - "help.attaching.notSupported": "尚未支援文件預覽 (Word, Excel, PPT)。", - "help.attaching.pasting": "#### 貼上\n使用 Chrome 跟 Edge 瀏覽器時,您也可以直接從剪貼簿貼上以上傳檔案。此功能尚未支援其他瀏覽器。", - "help.attaching.previewer": "## 檔案預覽器\nMattermost 有內建檔案預覽器用來觀看、下載檔案並分享公開連結。按附加檔案的縮圖便可以用檔案預覽器打開。", - "help.attaching.publicLinks": "#### 分享公開連結\n公開連結讓您可以分享附件檔案給 Mattermost 團隊以外的人。按下附件檔案縮圖以打開檔案預覽器然後按**取得公開連結**。這會開啟一個帶有連結的對話框。當分享這個連結給他人並被他人打開的時候,會自動開始下載檔案。", - "help.attaching.publicLinks2": "如果檔案預覽器裡面找不到**取得公開連結**但想要啟用這功能,您可以詢問系統管理員請他在系統主控台裡的**安全** > **公開連結**處開啟。", - "help.attaching.supported": "#### 支援的媒體類型\n如果您嘗試預覽預覽器不支援的媒體,檔案預覽器會顯示附件檔案的標準圖示。支援的媒體格式跟瀏覽器以及作業系統高度相關,不過在大部分瀏覽器上使用 Mattermost 支援下列的格式:", - "help.attaching.supportedList": "- 圖片:BMP, GIF, JPG, JPEG, PNG\n- 影像:MP4\n- 聲音:MP3, M4A\n- 文件:PDF", - "help.attaching.title": "# 附加檔案\n_____", - "help.commands.builtin": "## 內建命令\n下列的斜線命令在所有的 Mattermost 上都可以使用:", - "help.commands.builtin2": "在訊息輸入框開頭輸入 `/` 將會顯示斜線命令列表。此列表會提供命令範例以及灰色的命令敘述。", - "help.commands.custom": "## 自訂命令\n自訂斜線命令以跟外部應用程式整合。舉例來說,團隊可以設定自訂斜線命令來看內部的健康資料 `/patient joe smith` 或看某城市的天氣周報 `/weather toronto week`。向系統管理員確認或是輸入 `/` 開啟自動完成列表來確認團隊有無設定任何自訂斜線命令。", - "help.commands.custom2": "自訂斜線命令預設為關閉,系統管理員可以在 **系統主控台** > **整合** > **Webhook 與命令** 中開啟。如需設定自訂斜線命令的詳細資訊,請參閱[開發者文件:斜線命令](http://docs.mattermost.com/developer/slash-commands.html)", - "help.commands.intro": "斜線命令讓使用者能在 Mattermost 內藉由打字輸入進行操作。輸入 `/` 接著輸入命令跟一些參數來執行動作。\n\n所有的 Mattermost 都有內建斜線命令,自訂斜線命令可以設定以跟外部應用程式互動。如需設定自訂斜線命令的詳細資訊,請參閱[開發者文件:斜線命令](http://docs.mattermost.com/developer/slash-commands.html)", - "help.commands.title": "# 執行指令\n___", - "help.composing.deleting": "## 刪除訊息\n按下您所輸入之任何文字訊息邊上的 **[...]** 圖示然後按**刪除**來刪除訊息。系統跟團隊管理員可以刪除他們系統或團隊中的任何訊息。", - "help.composing.editing": "## 編輯訊息\n按下您所輸入之任何文字訊息邊上的 **[...]** 圖示然後按**編輯**來編輯訊息。在完成變更之後按下 **ENTER** 以儲存。編輯訊息不會觸發新的@提及、桌面通知或是通知音效。", - "help.composing.linking": "## 訊息連結\n**永久網址**會建立連至訊息的連結。分享此連結給其他同頻道內的使用者可以讓他們觀看封存訊息中此連結所指向的訊息。不是訊息張貼頻道成員的使用者將無法觀看訊息。按下任何文字訊息邊上的 **[...]** 圖示然後按**永久網址** > **複製連結**來取得網址。", - "help.composing.posting": "## 張貼訊息\n在訊息輸入欄打字寫訊息然後按下 **ENTER** 發送。用 **Shift + ENTER** 在不發送訊息下新增行。**主選單 > 帳號設定 > 用 Ctrl + Enter 貼文**可以改成按 **Ctrl + Enter** 發送訊息。", - "help.composing.posts": "#### 發文\n發文可以視為母訊息。它們通常是回覆串起始的訊息。發文是在中間欄底部的文字輸入框編輯跟發送。", - "help.composing.replies": "#### 回覆\n按任意訊息文字邊上的回覆圖示來回覆該訊息。這個動作會展開右側邊欄,在那邊可以看到訊息串並編輯與發送回覆。在中央欄裡回覆會稍微的被縮排用以標示它們是某母發文的子訊息。\n\n當在右側邊欄編輯回覆時,按下邊欄頂端雙箭頭的展開/關閉圖示以取得較好的觀看方式。", - "help.composing.title": "# 發送訊息\n_____", - "help.composing.types": "## 訊息類別\n回覆發文以利用回覆串來整理對話。", - "help.formatting.checklist": "用方括號建立工作清單:", - "help.formatting.checklistExample": "- [ ] 第一項\n- [ ] 第二項\n- [x] 已完成事項", - "help.formatting.code": "## 程式碼區塊\n\n以 4 個空白縮排每一行或是在程式碼的上下方放上 ``` 以建立程式碼區塊", - "help.formatting.codeBlock": "程式碼區塊", - "help.formatting.emojiExample": ":smile: :+1: :sheep:", - "help.formatting.emojis": "## 繪文字\n\n輸入 `:` 打開繪文字自動完成。完整的繪文字列表在[這裡](http://www.emoji-cheat-sheet.com/)。如果您想要用的繪文字不存在,也可以自己建立[自訂繪文字](http://docs.mattermost.com/help/settings/custom-emoji.html)。", - "help.formatting.example": "如:", - "help.formatting.githubTheme": "**GitHub 主題配色**", - "help.formatting.headings": "## 標題\n\n在標題前輸入 # 跟一個空白以建立標題。用多一點的 # 以建立小一點的標題。", - "help.formatting.headings2": "或是用 `===` 或 `---` 在文字的下一行劃線來建立標題。", - "help.formatting.headings2Example": "大標題\n-------------", - "help.formatting.headingsExample": "## 大標題\n### 小點的標題\n#### 更小的標題", - "help.formatting.images": "## 嵌入圖片\n\n建立嵌入圖片:在 `!` 後接著方括號再接著括號,方括號內放替代文字,括號內放圖片連結。在連結後加入用雙引號括起來的文字則可增加動態顯示文字。", - "help.formatting.imagesExample": "![替代文字](連結 \"動態顯示文字\")\n\n跟\n\n[![Build Status](https://travis-ci.org/mattermost/platform.svg?branch=master)](https://travis-ci.org/mattermost/platform) [![Github](https://assets-cdn.github.com/favicon.ico)](https://github.com/mattermost/platform)", - "help.formatting.inline": "## 嵌入程式碼\n\n用反引號括起文字用來將等寬文字嵌入普通文字中。", - "help.formatting.intro": "Markdown 讓設定訊息格式變得非常輕鬆。您只須如同平時一樣的輸入訊息,然後用以下的規則賦予其特定格式。", - "help.formatting.lines": "## 線\n\n用 3 個 `*`、`_` 或 `-` 來建立一條線。", - "help.formatting.linkEx": "[看看 Mattermost!](https://about.mattermost.com/)", - "help.formatting.links": "## 連結\n\n將想顯示的文字放入方括號跟對應的連結放入括號以建立連結。", - "help.formatting.listExample": "* 列表項目一\n* 列表項目二\n * 項目二子項目", - "help.formatting.lists": "## 清單\n\n用 `*` 或 `-` 當作項目符號來產生清單。可以在項目符號前面加上 2 個空白來縮排。", - "help.formatting.monokaiTheme": "**Monokai 主題配色**", - "help.formatting.ordered": "改用數字來建立順序清單:", - "help.formatting.orderedExample": "1. 項目一\n2. 項目二", - "help.formatting.quotes": "## 引述區塊\n\n用 `>` 建立像是引述的區塊。", - "help.formatting.quotesExample": "`> 引述區塊` 顯示為:", - "help.formatting.quotesRender": "> 引述區塊", - "help.formatting.renders": "顯示為:", - "help.formatting.solirizedDarkTheme": "**Solarized Dark 主題配色**", - "help.formatting.solirizedLightTheme": "**Solarized Light 主題配色**", - "help.formatting.style": "## 文字樣式\n\n用 `_` 或 `*` 將文字括起來以使用斜體,用 2 個則顯示粗體。\n\n* `_斜體_` 顯示為 _斜體_\n* `**粗體**` 顯示為 **粗體**\n* `**_粗斜_**` 顯示為 **_粗斜_**\n* `~~刪除線~~` 顯示為 ~~刪除線~~", - "help.formatting.supportedSyntax": "支援的語言:\n`as`, `applescript`, `osascript`, `scpt`, `bash`, `sh`, `zsh`, `clj`, `boot`, `cl2`, `cljc`, `cljs`, `cljs.hl`, `cljscm`, `cljx`, `hic`, `coffee`, `_coffee`, `cake`, `cjsx`, `cson`, `iced`, `cpp`, `c`, `cc`, `h`, `c++`, `h++`, `hpp`, `cs`, `csharp`, `css`, `d`, `di`, `dart`, `delphi`, `dpr`, `dfm`, `pas`, `pascal`, `freepascal`, `lazarus`, `lpr`, `lfm`, `diff`, `django`, `jinja`, `dockerfile`, `docker`, `erl`, `f90`, `f95`, `fsharp`, `fs`, `gcode`, `nc`, `go`, `groovy`, `handlebars`, `hbs`, `html.hbs`, `html.handlebars`, `hs`, `hx`, `java`, `jsp`, `js`, `jsx`, `json`, `jl`, `kt`, `ktm`, `kts`, `less`, `lisp`, `lua`, `mk`, `mak`, `md`, `mkdown`, `mkd`, `matlab`, `m`, `mm`, `objc`, `obj-c`, `ml`, `perl`, `pl`, `php`, `php3`, `php4`, `php5`, `php6`, `ps`, `ps1`, `pp`, `py`, `gyp`, `r`, `ruby`, `rb`, `gemspec`, `podspec`, `thor`, `irb`, `rs`, `scala`, `scm`, `sld`, `scss`, `st`, `sql`, `swift`, `tex`, `vbnet`, `vb`, `bas`, `vbs`, `v`, `veo`, `xml`, `html`, `xhtml`, `rss`, `atom`, `xsl`, `plist`, `yaml`", - "help.formatting.syntax": "### 標示語法\n\n在程式碼區塊起始的 ``` 後面輸入想標示的語言以標示語法。Mattermost 提供四種不同的主題配色 (GitHub, Solarized Dark, Solarized Light, Monokai) ,可在 **帳號設定** > **顯示** > **主題** > **自訂主題** > **中央頻道樣式** 變更設定。", - "help.formatting.syntaxEx": " package main\n import \"fmt\"\n func main() {\n fmt.Println(\"Hello, 世界\")\n }", - "help.formatting.tableExample": "| 靠左對齊 | 置中對齊 | 靠右對齊 |\n| :------- |:---------:| --------:|\n| 左欄位 1 | 這文字 | $100 |\n| 左欄位 2 | 為 | $10 |\n| 左欄位 3 | 置中 | $1 |", - "help.formatting.tables": "## 表格\n\n在標頭列底下放上虛線並用直立線符號 `|` 分隔欄位來建立表格 (欄位不需要精準的對齊)。在標頭列加入冒號 `:` 來設定欄位該如何對齊。", - "help.formatting.title": "# 設定文字格式\n_____", - "help.learnMore": "獲取更多訊息:", - "help.link.attaching": "附加檔案", - "help.link.commands": "執行指令", - "help.link.composing": "編寫訊息跟回覆", - "help.link.formatting": "用 Markdown 設定訊息文字", - "help.link.mentioning": "提及團隊成員", - "help.link.messaging": "基本傳訊", - "help.mentioning.channel": "#### @頻道\n輸入 `@channel` 來提及整個頻道。頻道的所有成員都會像被單獨提及一樣收到提及通知。", - "help.mentioning.channelExample": "@channel 這周的面試大家做的好,我覺得我們應該找到了些很有潛力的應徵者!", - "help.mentioning.mentions": "## @提及\n用 @提及 來引起特定團隊成員的注意。", - "help.mentioning.recent": "## 最近提及\n按下搜尋欄旁邊的 `@` 查詢最近的 @提及跟觸發提及的字。按右側邊欄裡搜尋結果旁的**跳至**來將中間欄移動至提及的頻道跟提及訊息的位置。", - "help.mentioning.title": "# 提及團隊成員\n_____", - "help.mentioning.triggers": "## 觸發提及的字\n除了被 @使用者名稱 跟 @頻道 通知以外,您還可以在 **帳號設定** > **通知** > **觸發提及的字** 自訂觸發提及的字。預設為您的名字,在輸入欄輸入更多的字並用逗號分隔來增加觸發字。在想要接收所有關於某主題的訊息時這功能特別有用,如:\"面試\"或\"行銷\"。", - "help.mentioning.username": "#### @使用者名稱\n用 `@` 符號加上他們的使用者名稱來發送提及通知給團隊成員。\n\n輸入 `@` 打開可以提及的團隊成員清單。輸入使用者名稱、名字、姓氏或暱稱的前幾個字母以過濾清單。用**上** 跟 **下** 方向鍵來捲動清單,按 **ENTER** 選擇要提及的使用者。一旦選取,使用者名稱會自動取代全名或是暱稱。\n以下的例子將發送提及通知給 **alice** ,該通知將會告訴她被提及的訊息跟頻道。如果 **alice** 正好離開 Mattermost 且有啟用[電子郵件通知](http://docs.mattermost.com/help/getting-started/configuring-notifications.html#email-notifications),她將會收到帶有訊息的電子郵件通知。", - "help.mentioning.usernameCont": "如果提及的使用者不屬於這頻道,系統將會發出訊息讓您知道。這會是個暫時訊息且只有您看的到。按頻道名稱旁邊的下拉選單並選**新增成員**將提及的使用者加進頻道。", - "help.mentioning.usernameExample": "@alice 你跟應徵者的面試過得怎樣?", - "help.messaging.attach": "拖放檔案到 Mattermost 或是按文字輸入框旁邊的附件圖示來**附加檔案**。", - "help.messaging.emoji": "輸入 \":\" 開啟繪文字的自動完成以**快速增加繪文字**。如果已有的繪文字不夠用,可以建立新的[自訂繪文字](http://docs.mattermost.com/help/settings/custom-emoji.html)。", - "help.messaging.format": "使用 Markdown 來**設定訊息格式**,它支援文字樣式、標題、連結、表情符號、程式碼區塊、引述區塊、表格、清單跟內嵌圖片。", - "help.messaging.notify": "當需要團隊成員時輸入 `@使用者名稱` 來**通知團隊成員**。", - "help.messaging.reply": "按訊息文字旁邊的回覆箭頭以**回覆訊息**。", - "help.messaging.title": "# 傳訊基礎\n_____", - "help.messaging.write": "用 Mattermost 底部的文字輸入框來**編寫訊息**。按 **ENTER** 發送訊息。用 **Shift+ENTER** 在不發送訊息下插入新行。", - "installed_command.header": "斜線命令", - "installed_commands.add": "新增斜線命令", - "installed_commands.delete.confirm": "此動作將永久刪除該斜線命令,並中斷任何使用它的整合。確定要刪除嘛?", - "installed_commands.empty": "沒有命令", - "installed_commands.header": "斜線命令", - "installed_commands.help": "建立給外部整合功能使用的斜線命令。詳情請看{link}。", - "installed_commands.helpLink": "說明文件", - "installed_commands.search": "搜尋斜線命令", - "installed_commands.unnamed_command": "沒有名字的斜線命令", - "installed_incoming_webhooks.add": "增加傳入的 Webhook", - "installed_incoming_webhooks.delete.confirm": "此動作將永久刪除該傳入的 Webhook,並中斷任何使用它的整合。確定要刪除嘛?", - "installed_incoming_webhooks.empty": "沒有傳入的 Webhook", - "installed_incoming_webhooks.header": "傳入的 Webhook", - "installed_incoming_webhooks.help": "建立給外部整合功能使用的傳入的 Webhook 網址。詳情請看{link}。", - "installed_incoming_webhooks.helpLink": "說明文件", - "installed_incoming_webhooks.search": "搜尋傳入的 Webhook", - "installed_incoming_webhooks.unknown_channel": "私人 Webhook", - "installed_integrations.callback_urls": "回呼網址:{urls}", - "installed_integrations.client_id": "使用者 ID:{clientId}", - "installed_integrations.client_secret": "使用者密碼:{clientSecret}", - "installed_integrations.content_type": "內容類型:{contentType}", - "installed_integrations.creation": "由{creator}在{createAt, date, full}所建立", - "installed_integrations.delete": "刪除", - "installed_integrations.edit": "編輯", - "installed_integrations.hideSecret": "隱藏密碼", - "installed_integrations.regenSecret": "重新產生密碼", - "installed_integrations.regenToken": "重新產生 Token", - "installed_integrations.showSecret": "顯示密碼", - "installed_integrations.token": "Token:{token}", - "installed_integrations.triggerWhen": "觸發於:{triggerWhen}", - "installed_integrations.triggerWords": "觸發關鍵字:{triggerWords}", - "installed_integrations.unnamed_oauth_app": "沒有命名的 OAuth 2.0 應用程式", - "installed_integrations.url": "網址:{url}", - "installed_oauth_apps.add": "新增 OAuth 2.0 應用程式", - "installed_oauth_apps.callbackUrls": "回呼網址(一行一個)", - "installed_oauth_apps.cancel": "取消", - "installed_oauth_apps.delete.confirm": "此動作將永久刪除該 OAuth 2.0 應用程式,並中斷任何使用它的整合。確定要刪除嘛?", - "installed_oauth_apps.description": "敘述", - "installed_oauth_apps.empty": "沒有找到 OAuth 2.0 應用程式", - "installed_oauth_apps.header": "OAuth 2.0 應用程式", - "installed_oauth_apps.help": "建立 OAuth 2.0 應用程式以安全的將 Mattermost 與機器人跟第三方應用程式整合。詳請參閱{link}。", - "installed_oauth_apps.helpLink": "說明文件", - "installed_oauth_apps.homepage": "首頁", - "installed_oauth_apps.iconUrl": "圖示網址", - "installed_oauth_apps.is_trusted": "是受信任的:{isTrusted}", - "installed_oauth_apps.name": "顯示名稱", - "installed_oauth_apps.save": "儲存", - "installed_oauth_apps.search": "搜尋 OAuth 2.0 應用程式", - "installed_oauth_apps.trusted": "是受信任", - "installed_oauth_apps.trusted.no": "否", - "installed_oauth_apps.trusted.yes": "是", - "installed_outgoing_webhooks.add": "增加傳出的 Webhook", - "installed_outgoing_webhooks.delete.confirm": "此動作將永久刪除該傳出的 Webhook,並中斷任何使用它的整合。確定要刪除嘛?", - "installed_outgoing_webhooks.empty": "沒有傳出的 Webhook", - "installed_outgoing_webhooks.header": "傳出的 Webhook", - "installed_outgoing_webhooks.help": "建立給外部整合功能使用的傳出的 Webhook 網址。詳情請看{link}。", - "installed_outgoing_webhooks.helpLink": "說明文件", - "installed_outgoing_webhooks.search": "搜尋傳出的 Webhook", - "installed_outgoing_webhooks.unknown_channel": "私人 Webhook", - "integrations.add": "新增", - "integrations.command.description": "斜線命令用來傳送事件給外部整合功能", - "integrations.command.title": "斜線命令", - "integrations.delete.confirm.button": "刪除", - "integrations.delete.confirm.title": "刪除整合", - "integrations.done": "完成", - "integrations.edit": "編輯", - "integrations.header": "整合", - "integrations.incomingWebhook.description": "傳入的 Webhook 讓外部整合功能可以傳送訊息", - "integrations.incomingWebhook.title": "傳入的 Webhook", - "integrations.oauthApps.description": "OAuth 2.0 允許外部應用程式向 Mattermost API 提出授權過的要求。", - "integrations.oauthApps.title": "OAuth 2.0 應用程式", - "integrations.outgoingWebhook.description": "傳出的 Webhook 讓外部整合功能可以收訊並回應", - "integrations.outgoingWebhook.title": "傳出的 Webhook", - "integrations.successful": "設定成功", - "intro_messages.DM": "這是跟{teammate}之間直接訊息的起頭。
    直接訊息跟在這邊分享的檔案除了在此處以外的人都看不到。", - "intro_messages.anyMember": " 任何成員可以加入並閱讀此頻道。", - "intro_messages.beginning": "{name}的開頭", - "intro_messages.channel": "頻道", - "intro_messages.creator": "這是{name}{type}的開頭,由{creator}建立於{date}。", - "intro_messages.default": "

    {display_name}的開頭

    歡迎來到{display_name}!

    這裡是團隊成員加入後的第一個頻道。善用這邊來發布所有人都應該知道的新事項。

    ", - "intro_messages.group": "私有群組", - "intro_messages.invite": "邀請他人來此{type}", - "intro_messages.inviteOthers": "邀請他人來此團隊", - "intro_messages.noCreator": "這是{name}{type}的開頭,建立於{date}。", - "intro_messages.offTopic": "

    {display_name}的開頭

    這是{display_name}的最上面,這是個用來聊天的頻道。

    ", - "intro_messages.onlyInvited": " 只有受邀請的成員能看見此私人群組", - "intro_messages.purpose": "此{type}的用途為:{purpose}。", - "intro_messages.setHeader": "設定標題", - "intro_messages.teammate": "這是您跟這位團隊成員之間直接訊息的起頭。直接訊息跟在這邊分享的檔案除了在此處以外的人都看不到。", - "invite_member.addAnother": "增加其他人", - "invite_member.autoJoin": "被邀請的人會自動加入{channel}頻道。", - "invite_member.cancel": "取消", - "invite_member.content": "目前此團隊的電子郵件功能被停用,沒有辦法寄送電子郵件邀請。請聯絡系統管理員以啟用電子郵件跟電子郵件邀請。", - "invite_member.disabled": "在您的團隊新增成員已經被關閉。請跟團隊管理員詢問詳情。", - "invite_member.emailError": "請輸入一個有效的電子郵件位址", - "invite_member.firstname": "名字", - "invite_member.inviteLink": "團隊邀請連結", - "invite_member.lastname": "姓氏", - "invite_member.modalButton": "是,放棄它們", - "invite_member.modalMessage": "還有尚未寄送的邀請,確定要放棄它們嘛?", - "invite_member.modalTitle": "放棄邀請?", - "invite_member.newMember": "邀請新成員", - "invite_member.send": "發送邀請", - "invite_member.send2": "發送邀請", - "invite_member.sending": " 傳送中", - "invite_member.teamInviteLink": "可以用{link}來邀請他人。", - "ldap_signup.find": "尋找我的團隊", - "ldap_signup.ldap": "用 AD/LDAP 帳號建立團隊", - "ldap_signup.length_error": "名稱長度為3到15字元", - "ldap_signup.teamName": "輸入新團隊名稱", - "ldap_signup.team_error": "請輸入團隊名稱", - "leave_team_modal.desc": "將離開所有的公開頻道與私人群組。如果團隊是私人團隊,將無法重新加入。您確定嘛?", - "leave_team_modal.no": "否", - "leave_team_modal.title": "離開團隊?", - "leave_team_modal.yes": "是", - "loading_screen.loading": "載入中", - "login.changed": " 已成功更改登入方法", - "login.create": "建立帳號", - "login.createTeam": "建立團隊", - "login.createTeamAdminOnly": "此選項只對系統管理員開放,其他使用者不會看到。", - "login.email": "電子郵件", - "login.find": "尋找其他您有參與的團隊", - "login.forgot": "忘記密碼了", - "login.gitlab": "GitLab", - "login.google": "用 Google Apps 登入", - "login.invalidPassword": "密碼不正確。", - "login.ldapUsername": "AD/LDAP 使用者名稱", - "login.ldapUsernameLower": "AD/LDAP 使用者名稱", - "login.noAccount": "沒有帳號嘛?", - "login.noEmail": "請輸入電子郵件地址", - "login.noEmailLdapUsername": "請輸入電子郵件地址或{ldapUsername}", - "login.noEmailUsername": "請輸入電子郵件地址或使用者名稱", - "login.noEmailUsernameLdapUsername": "請輸入電子郵件地址、使用者名稱或 {ldapUsername}", - "login.noLdapUsername": "請輸入 {ldapUsername}", - "login.noMethods": "沒有啟用的登入方法。請聯絡系統管理員。", - "login.noPassword": "請輸入密碼", - "login.noUsername": "請輸入使用者名稱", - "login.noUsernameLdapUsername": "請輸入使用者名稱或 {ldapUsername}", - "login.office365": "Office 365", - "login.on": "在 {siteName}", - "login.or": "或", - "login.password": "密碼", - "login.passwordChanged": " 已成功更新密碼", - "login.session_expired": " 工作階段已逾期,請重新登入。", - "login.signIn": "登入", - "login.signInLoading": "登入中...", - "login.signInWith": "登入方法:", - "login.userNotFound": "無法找到與您輸入的認證相符的帳號。", - "login.username": "使用者名稱", - "login.verified": " 電子郵件地址已驗證", - "login_mfa.enterToken": "請輸入智慧型手機上認證器的 Token 以完成登入", - "login_mfa.submit": "送出", - "login_mfa.token": "多重要素驗證 Token", - "login_mfa.tokenReq": "請輸入多重要素驗證 Token", - "member_item.makeAdmin": "設為管理員", - "member_item.member": "成員", - "member_list.noUsersAdd": "沒有可增加的使用者。", - "members_popover.manageMembers": "成員管理", - "members_popover.msg": "訊息", - "members_popover.title": "成員", - "members_popover.viewMembers": "檢視成員", - "mfa.confirm.complete": "完成設定!", - "mfa.confirm.okay": "確定", - "mfa.confirm.secure": "您的帳號現在安全了。下一次登入時,將會被要求輸入手機上 Google Authenticator 所提供的代碼。", - "mfa.setup.badCode": "無效的代碼。如果此問題持續,請聯絡系統管理員。", - "mfa.setup.code": "MFA 代碼", - "mfa.setup.codeError": "請輸入來自 Google Authenticator 的代碼。", - "mfa.setup.required": "{siteName}要求使用多重要素驗證。", - "mfa.setup.save": "儲存", - "mfa.setup.secret": "密碼:{secret}", - "mfa.setup.step1": "步驟一:在手機上從 iTunesGoogle Play 下載 Google Authenticator", - "mfa.setup.step2": "步驟二:使用 Google Authenticator 掃描此 QR 碼或是手動輸入密碼", - "mfa.setup.step3": "步驟三:輸入 Google Authenticator 產生的代碼", - "mfa.setupTitle": "多重要素驗證設定", - "mobile.components.channels_list_view.yourChannels": "您的頻道:", - "mobile.components.select_server_view.enterServerUrl": "輸入伺服器網址", - "mobile.components.select_server_view.proceed": "繼續", - "mobile.components.select_server_view.siteUrlPlaceholder": "\"https://mattermost.example.com\"", - "mobile.routes.channels": "頻道", - "mobile.routes.enterServerUrl": "輸入伺服器網址", - "mobile.routes.login": "登入", - "mobile.routes.postsList": "文章列表", - "mobile.routes.selectTeam": "選擇團隊", - "more_channels.close": "關閉", - "more_channels.create": "建立頻道", - "more_channels.createClick": "按下'建立頻道'來建立新頻道", - "more_channels.join": "加入", - "more_channels.next": "下一頁", - "more_channels.noMore": "沒有可參加的頻道", - "more_channels.prev": "上一頁", - "more_channels.title": "更多頻道", - "more_direct_channels.close": "關閉", - "more_direct_channels.message": "訊息", - "more_direct_channels.new_convo_note": "這會起始新的對話。如果要加入大量的成員,請考慮改成建立新的私人群組。", - "more_direct_channels.new_convo_note.full": "已達到此對話的最大人數。請考慮改成建立新的私人群組。", - "more_direct_channels.title": "直接傳訊", - "msg_typing.areTyping": "{users}跟{last}正在打字...", - "msg_typing.isTyping": "{user}正在打字...", - "msg_typing.someone": "某人", - "multiselect.go": "前往", - "multiselect.instructions": "用上/下方向鍵來瀏覽,ENTER鍵選擇", - "multiselect.numPeopleRemaining": "還可以加 {num, number} 個人。", - "multiselect.numRemaining": "還可以加 {num, number} 個", - "multiselect.placeholder": "搜尋與新增成員", - "navbar.addMembers": "新增成員", - "navbar.click": "請按此處", - "navbar.delete": "刪除頻道...", - "navbar.leave": "離開頻道", - "navbar.manageMembers": "成員管理", - "navbar.noHeader": "沒有頻道標語。{newline}{link}來增加。", - "navbar.preferences": "通知喜好設定", - "navbar.rename": "變更頻道名稱…", - "navbar.setHeader": "設定頻道標題...", - "navbar.setPurpose": "設定頻道用途...", - "navbar.toggle1": "切換側邊欄", - "navbar.toggle2": "切換側邊欄", - "navbar.viewInfo": "檢視資訊", - "navbar_dropdown.about": "關於 Mattermost", - "navbar_dropdown.accountSettings": "帳號設定", - "navbar_dropdown.console": "系統控制台", - "navbar_dropdown.create": "建立團隊", - "navbar_dropdown.emoji": "自訂繪文字", - "navbar_dropdown.help": "說明", - "navbar_dropdown.integrations": "整合", - "navbar_dropdown.inviteMember": "邀請新成員", - "navbar_dropdown.join": "加入其他團隊", - "navbar_dropdown.leave": "離開團隊", - "navbar_dropdown.logout": "登出", - "navbar_dropdown.manageMembers": "會員管理", - "navbar_dropdown.nativeApps": "下載應用程式", - "navbar_dropdown.report": "回報錯誤", - "navbar_dropdown.switchTeam": "切換至 {team}", - "navbar_dropdown.switchTo": "切換至:", - "navbar_dropdown.teamLink": "取得團隊邀請連結", - "navbar_dropdown.teamSettings": "團隊設定", - "navbar_dropdown.viewMembers": "檢視成員", - "notification.dm": "直接傳訊", - "passwordRequirements": "密碼要求:", - "password_form.change": "變更密碼", - "password_form.click": "按 這裡登入", - "password_form.enter": "輸入 {siteName} 帳戶的新密碼", - "password_form.error": "請至少輸入{chars} 個字", - "password_form.pwd": "密碼", - "password_form.title": "密碼重設", - "password_form.update": "密碼已成功變更。", - "password_send.checkInbox": "請檢查收件夾。", - "password_send.description": "輸入註冊的電子郵件地址以重設密碼。", - "password_send.email": "電子郵件地址", - "password_send.error": "請輸入一個有效的電子郵件地址", - "password_send.link": "如果該帳號存在,將會發送一封密碼重置郵件至:
    {email}

    ", - "password_send.reset": "重置我的密碼", - "password_send.title": "密碼重設", - "pdf_preview.max_pages": "請下載以閱讀更多頁", - "pending_post_actions.cancel": "取消", - "pending_post_actions.retry": "重試", - "permalink.error.access": "此永久連結通往被刪除的訊息或是您沒有觀看權限的頻道。", - "post_attachment.collapse": "收起...", - "post_attachment.more": "展開...", - "post_body.commentedOn": "對 {name}{apostrophe} 訊息的註解:", - "post_body.deleted": "(訊息已刪除)", - "post_body.plusMore": " 跟另外{count}個檔案", - "post_body.plusOne": " 跟另外一個檔案", - "post_delete.notPosted": "無法發布註解", - "post_delete.okay": "確定", - "post_delete.someone": "您嘗試註解的訊息已經被刪除。", - "post_focus_view.beginning": "頻道封存的開頭", - "post_info.del": "刪除", - "post_info.edit": "編輯", - "post_info.mobile.flag": "標記", - "post_info.mobile.unflag": "取消標記", - "post_info.permalink": "永久網址", - "post_info.reply": "回覆", - "post_info.system": "系統", - "post_message_view.edited": "(被編輯過)", - "posts_view.loadMore": "載入更多訊息", - "posts_view.newMsg": "新訊息", - "posts_view.newMsgBelow": "下面還有 {count} 個新訊息", - "reaction.clickToAdd": "(請按這裡增加)", - "reaction.clickToRemove": "(請按這裡移除)", - "reaction.othersReacted": "{otherUsers, number} 位使用者", - "reaction.reacted": "{users} 與 {emoji} {reactionVerb}", - "reaction.reactionVerb.user": "已互動", - "reaction.reactionVerb.users": "已互動", - "reaction.reactionVerb.you": "已互動", - "reaction.reactionVerb.youAndUsers": "已互動", - "reaction.usersAndOthersReacted": "{users} 與 其他 {otherUsers, number} 位使用者", - "reaction.usersReacted": "{users} 與 {lastUser}", - "reaction.you": "您", - "removed_channel.channelName": "頻道", - "removed_channel.from": "從下者中被移除:", - "removed_channel.okay": "確定", - "removed_channel.remover": "您被 {remover} 從 {channel} 移除了", - "removed_channel.someone": "某人", - "rename_channel.cancel": "取消", - "rename_channel.defaultError": " - 預設頻道不能更改", - "rename_channel.displayName": "顯示名稱", - "rename_channel.displayNameHolder": "請輸入顯示名稱", - "rename_channel.handleHolder": "請用小寫英數字", - "rename_channel.lowercase": "請用小寫英數字", - "rename_channel.maxLength": "此欄位必須少於22個字元", - "rename_channel.required": "此欄位是必需的", - "rename_channel.save": "儲存", - "rename_channel.title": "變更頻道名稱", - "rename_channel.url": "網址:", - "rhs_comment.comment": "註解", - "rhs_comment.del": "刪除", - "rhs_comment.edit": "編輯", - "rhs_comment.mobile.flag": "標記", - "rhs_comment.mobile.unflag": "取消標記", - "rhs_comment.permalink": "永久網址", - "rhs_header.backToCallTooltip": "回到通話", - "rhs_header.backToFlaggedTooltip": "回到被標記的訊息", - "rhs_header.backToResultsTooltip": "回到搜尋結果", - "rhs_header.closeSidebarTooltip": "關閉側邊欄", - "rhs_header.closeTooltip": "關閉側邊欄", - "rhs_header.details": "詳細訊息", - "rhs_header.expandSidebarTooltip": "展開側邊欄", - "rhs_header.expandTooltip": "關閉側邊欄", - "rhs_header.shrinkSidebarTooltip": "關閉側邊欄", - "rhs_root.del": "刪除", - "rhs_root.direct": "直接訊息", - "rhs_root.edit": "編輯", - "rhs_root.mobile.flag": "標記", - "rhs_root.mobile.unflag": "取消標記", - "rhs_root.permalink": "永久網址", - "search_bar.search": "搜尋", - "search_bar.usage": "

    搜尋選項

    • \"雙引號\"來搜尋語句
    • from:來搜尋特定使用者的訊息,用in:來搜尋特定頻道
    ", - "search_header.results": "搜尋結果", - "search_header.title2": "最近提及", - "search_header.title3": "被標記的訊息", - "search_item.direct": "直接訊息 (與{username})", - "search_item.jump": "跳至", - "search_results.because": "
    • 如果要搜尋部份語句(如搜尋\"rea\"以尋找\"reach\"或\"reaction\"),請在搜尋詞尾附上*。
    • 為了減少收尋結果,兩個字母的搜尋跟常用字像\"this\"、\"a\"跟\"is\"不會顯示在結果當中。
    ", - "search_results.noResults": "沒有任何結果。再嘗試一次?", - "search_results.usage": "
    • \"雙引號\"來搜尋語句
    • from:來搜尋特定使用者的訊息,用in:來搜尋特定頻道
    ", - "search_results.usageFlag1": "尚未標記任何訊息。", - "search_results.usageFlag2": "可以藉由按下位於時間戳記旁邊的這 ", - "search_results.usageFlag3": " 圖示來標記訊息跟註解。", - "search_results.usageFlag4": "標記是標注訊息以追蹤後續的功能。您的標記是屬於個人的,不會被其他使用者看到。", - "setting_item_max.cancel": "取消", - "setting_item_max.save": "儲存", - "setting_item_min.edit": "編輯", - "setting_picture.cancel": "取消", - "setting_picture.help": "請上傳個人圖像,格式為JPG或PNG,至少寬{width}像素、高{height}像素。", - "setting_picture.save": "儲存", - "setting_picture.select": "選擇", - "setting_upload.import": "匯入", - "setting_upload.noFile": "未選取任何檔案。", - "setting_upload.select": "選取檔案", - "sidebar.channels": "頻道", - "sidebar.createChannel": "建立頻道", - "sidebar.createGroup": "建立群組", - "sidebar.direct": "直接訊息", - "sidebar.favorite": "我的最愛", - "sidebar.more": "更多", - "sidebar.moreElips": "更多...", - "sidebar.otherMembers": "此團隊以外", - "sidebar.pg": "私人群組", - "sidebar.removeList": "從清單中移除", - "sidebar.tutorialScreen1": "

    頻道

    頻道用來展開關於各種話題的對話。頻道對團隊全體都是開放可以任意讀寫的。需要私密通訊時,對單獨一人時使用直接訊息,對多人時使用私人群組

    ", - "sidebar.tutorialScreen2": "

    \"{townsquare}\"跟\"{offtopic}\"頻道

    以下為兩個一開始就建立好的公開頻道:

    {townsquare}是個給團隊之間溝通的地方,您的團隊全員都是這個頻道的成員。

    {offtopic}是個放鬆心情、聊與工作無關事情的地方。您和團隊可以決定要建立其他怎樣的頻道。

    ", - "sidebar.tutorialScreen3": "

    建立和加入頻道

    \"更多...\"來建立新頻道或是加入現有的頻道。

    您也可以藉由按在頻道或是私人群組標題旁邊的\"+\"符號來建立新頻道或是私人群組。

    ", - "sidebar.unreadAbove": "上面有未讀訊息", - "sidebar.unreadBelow": "下面有未讀訊息", - "sidebar_header.tutorial": "

    主選單

    主選單可以邀請新成員,存取帳號設定並設定主題顏色

    團隊管理員也可以在此存取團隊設定

    系統管理員會在此看到系統控制台以管理整個系統。

    ", - "sidebar_right_menu.accountSettings": "帳號設定", - "sidebar_right_menu.console": "系統控制台", - "sidebar_right_menu.flagged": "被標記的訊息", - "sidebar_right_menu.help": "說明", - "sidebar_right_menu.inviteNew": "邀請新成員", - "sidebar_right_menu.logout": "登出", - "sidebar_right_menu.manageMembers": "成員管理", - "sidebar_right_menu.nativeApps": "下載應用程式", - "sidebar_right_menu.recentMentions": "最近提及", - "sidebar_right_menu.report": "回報錯誤", - "sidebar_right_menu.teamLink": "取得團隊邀請連結", - "sidebar_right_menu.teamSettings": "團隊設定", - "sidebar_right_menu.viewMembers": "檢視成員", - "signup.email": "電子郵件跟密碼", - "signup.gitlab": "GitLab 單一登入", - "signup.google": "Google 帳號", - "signup.ldap": "AD/LDAP 認證", - "signup.office365": "Office 365", - "signup.title": "用下列之一建立帳號:", - "signup_team.createTeam": "或是建立團隊", - "signup_team.disabled": "建立團隊功能已被停用。如須使用請聯絡系統管理員。", - "signup_team.join_open": "能加入的團隊:", - "signup_team.noTeams": "團隊列表沒有團隊且建立團隊的功能已被停用。", - "signup_team.no_open_teams": "沒有能加入的團隊。請向管理員詢問邀請。", - "signup_team.no_open_teams_canCreate": "沒有能加入的團隊。請建立團隊或是向管理員詢問邀請。", - "signup_team.no_teams": "沒有現成的團隊。請向管理員聯絡。", - "signup_team.no_teams_canCreate": "沒有現成的團隊。請按下\"建立團隊\"以建立。", - "signup_team.none": "沒有啟用的團隊建立方式。請聯絡管理員。", - "signup_team_complete.completed": "已經完成此邀請的註冊程序,或是此邀請已過期。", - "signup_team_confirm.checkEmail": "請檢查電子郵件{email}
    電子郵件中含有建立團隊的連結", - "signup_team_confirm.title": "註冊完成", - "signup_team_system_console": "前往系統控制台", - "signup_user_completed.choosePwd": "輸入密碼", - "signup_user_completed.chooseUser": "輸入使用者名稱", - "signup_user_completed.create": "建立新帳號", - "signup_user_completed.emailHelp": "註冊需要有效的電子郵件", - "signup_user_completed.emailIs": "您的電子郵件是{email}。請使用這個電子郵件來登入{siteName}。", - "signup_user_completed.expired": "已經完成此邀請的註冊程序,或是此邀請已過期。", - "signup_user_completed.gitlab": "使用 GitLab", - "signup_user_completed.google": "使用 Google", - "signup_user_completed.haveAccount": "已經有帳號了?", - "signup_user_completed.invalid_invite": "無效的邀請連結。請聯絡管理員。", - "signup_user_completed.lets": "讓我們來建立帳號吧", - "signup_user_completed.no_open_server": "此伺服器不開放註冊。請聯絡管理員索要邀請。", - "signup_user_completed.none": "沒有啟用的使用者建立方式。請聯絡系統管理員。", - "signup_user_completed.office365": "使用 Office 365", - "signup_user_completed.onSite": "於{siteName}", - "signup_user_completed.or": "或", - "signup_user_completed.passwordLength": "請至少輸入{min}個字", - "signup_user_completed.required": "此欄位是必需的", - "signup_user_completed.reserved": "此使用者名稱為保留名稱,請選新的名稱。", - "signup_user_completed.signIn": "按此處登入。", - "signup_user_completed.userHelp": "使用者名稱必須要以小寫英字母開頭,最少{min}最多{max}個字,只能使用小寫英字母、數字、'.'、'-'跟'_'", - "signup_user_completed.usernameLength": "使用者名稱必須要以小寫英字母開頭,最少{min}最多{max}個字,只能使用小寫英字母、數字、'.'、'-'跟'_'。", - "signup_user_completed.validEmail": "請輸入一個有效的電子郵件位址", - "signup_user_completed.welcome": "歡迎使用:", - "signup_user_completed.whatis": "您的電子郵件地址是?", - "signup_user_completed.withLdap": "使用 AD/LDAP 認證", - "sso_signup.find": "尋找我的團隊", - "sso_signup.gitlab": "用 GitLab 帳號建立團隊", - "sso_signup.google": "用 Google Apps 帳號建立團隊", - "sso_signup.length_error": "名稱長度為3到15字元", - "sso_signup.teamName": "輸入新團隊名稱", - "sso_signup.team_error": "請輸入團隊名稱", - "suggestion.mention.all": "通知頻道全員。在{townsquare}使用來通知全團隊。", - "suggestion.mention.channel": "通知頻道全員", - "suggestion.mention.channels": "我的頻道", - "suggestion.mention.here": "通知此頻道所有在線的人", - "suggestion.mention.members": "頻道成員", - "suggestion.mention.morechannels": "其他頻道", - "suggestion.mention.nonmembers": "不在頻道中", - "suggestion.mention.special": "特別提及", - "suggestion.search.private": "私人群組", - "suggestion.search.public": "公開頻道", - "team_export_tab.download": "下載", - "team_export_tab.export": "匯出", - "team_export_tab.exportTeam": "匯出團隊", - "team_export_tab.exporting": " 匯出中...", - "team_export_tab.ready": " 準備完畢: ", - "team_export_tab.unable": " 無法匯出:{error}", - "team_import_tab.failure": " 匯入失敗:", - "team_import_tab.import": "匯入", - "team_import_tab.importHelpDocsLink": "說明文件", - "team_import_tab.importHelpExportInstructions": "Slack > Team Settings > Import/Export Data > Export > Start Export", - "team_import_tab.importHelpExporterLink": "Slack 進階匯出", - "team_import_tab.importHelpLine1": "由 Slack 匯入 Mattermost 支援匯入 Slack 團隊公開頻道的訊息。", - "team_import_tab.importHelpLine2": "由 Slack 匯入團隊,請至 {exportInstructions}。請參閱{uploadDocsLink}。", - "team_import_tab.importHelpLine3": "匯入帶有檔案的訊息,請參閱{slackAdvancedExporterLink}。", - "team_import_tab.importSlack": "由 Slack 匯入 (Beta)", - "team_import_tab.importing": " 匯入中...", - "team_import_tab.successful": " 匯入成功:", - "team_import_tab.summary": "檢視摘要", - "team_member_modal.close": "關閉", - "team_member_modal.members": "{team} 成員", - "team_members_dropdown.confirmDemoteDescription": "如果將自己從系統管理員降級且不存在其它有管理員權限的使用者。則您必須以終端機方式存取 Mattermost 伺服器並執行下列命令以重新指定新的系統管理員。", - "team_members_dropdown.confirmDemoteRoleTitle": "確認從系統管理員降級", - "team_members_dropdown.confirmDemotion": "降級確認", - "team_members_dropdown.confirmDemotionCmd": "platform roles system_admin {username}", - "team_members_dropdown.inactive": "停用", - "team_members_dropdown.leave_team": "移出團隊", - "team_members_dropdown.makeActive": "啟用", - "team_members_dropdown.makeAdmin": "設為團隊管理員", - "team_members_dropdown.makeInactive": "停用", - "team_members_dropdown.makeMember": "設為成員", - "team_members_dropdown.member": "成員", - "team_members_dropdown.systemAdmin": "系統管理", - "team_members_dropdown.teamAdmin": "團隊管理", - "team_settings_modal.exportTab": "匯出", - "team_settings_modal.generalTab": "一般", - "team_settings_modal.importTab": "匯入", - "team_settings_modal.title": "團隊設定", - "team_sidebar.join": "其他能加入的團隊。", - "textbox.bold": "**粗體**", - "textbox.edit": "編輯訊息", - "textbox.help": "說明", - "textbox.inlinecode": "`行內程式碼`", - "textbox.italic": "_斜體_", - "textbox.preformatted": "```不排版```", - "textbox.preview": "預覽", - "textbox.quote": ">引用", - "textbox.strike": "删除線", - "tutorial_intro.allSet": "準備就緒", - "tutorial_intro.end": "按\"下一步\"來進入{channel}。這是團隊成員註冊之後第一個頻道。善用此處張貼所有人都需要知道的更新事項。", - "tutorial_intro.invite": "邀請團隊成員", - "tutorial_intro.mobileApps": "安裝 {link} 上的應用程式以便在行進間存取並接收通知。", - "tutorial_intro.mobileAppsLinkText": "PC, Mac, iOS 與 Android", - "tutorial_intro.next": "下一步", - "tutorial_intro.screenOne": "

    歡迎來到:

    Mattermost

    您團隊的溝通將可集中在一處、即時可搜尋並隨地都能取用

    讓團隊連結在一起,達成重要的任務。

    ", - "tutorial_intro.screenTwo": "

    如何運用Mattermost:

    利用公開頻道、私人群組以及直接訊息來相互溝通。

    所有的內容都會被記錄下來並且可以經由任何可以瀏覽網站的桌機、筆電或手機來搜尋。

    ", - "tutorial_intro.skip": "跳過教學", - "tutorial_intro.support": "有任何需要,請寄送電子郵件到 ", - "tutorial_intro.teamInvite": "邀請團隊成員", - "tutorial_intro.whenReady": " 當您準備好。", - "tutorial_tip.next": "下一步", - "tutorial_tip.ok": "確定", - "tutorial_tip.out": "不要顯示提示。", - "tutorial_tip.seen": "曾經看過這個嘛?", - "update_command.cancel": "取消", - "update_command.confirm": "編輯斜線命令", - "update_command.question": "變更可能會導致現有的斜線命令無法使用。您確定要更新嘛?", - "update_command.update": "更新", - "update_incoming_webhook.update": "更新", - "update_outgoing_webhook.confirm": "編輯傳出的 Webhook", - "update_outgoing_webhook.question": "變更可能會導致現有的傳出的 Webhook 無法使用。您確定要更新嘛?", - "update_outgoing_webhook.update": "更新", - "upload_overlay.info": "將檔案拖曳到這裡上傳。", - "user.settings.advance.embed_preview": "訊息中第一個網站連結,嘗試顯示網站內容預覽於訊息下方", - "user.settings.advance.embed_toggle": "內嵌預覽顯示開關", - "user.settings.advance.enabledFeatures": "已啟用 {count, number} 項功能", - "user.settings.advance.formattingDesc": "啟用時,文章會顯示連結、顯示繪文字、套用樣式到文字上並自動斷行。此設定預設為開啟。修改此設定後需要重新讀取頁面以生效。", - "user.settings.advance.formattingTitle": "啟用文章格式設定", - "user.settings.advance.joinLeaveDesc": "當\"啟用\"時,頻道會顯示使用者加入或離開的系統訊息。當\"關閉\"時,頻道會隱藏使用者加入或離開的系統訊息。當您被加入頻道時,不論設定如何都會顯示訊息以提醒您。", - "user.settings.advance.joinLeaveTitle": "啟用加入/離開訊息", - "user.settings.advance.markdown_preview": "在訊息輸入方塊顯示 Markdown 預覽選項", - "user.settings.advance.off": "關閉", - "user.settings.advance.on": "啟用", - "user.settings.advance.preReleaseDesc": "選用任何想預覽的預先發佈功能。更改後可能需要重新讀取頁面以生效。", - "user.settings.advance.preReleaseTitle": "預覽預先發佈功能", - "user.settings.advance.sendDesc": "啟用時,'Enter' 是插入新行而 'Ctrl + Enter' 是貼文。", - "user.settings.advance.sendTitle": "用 Ctrl + Enter 貼文", - "user.settings.advance.slashCmd_autocmp": "啟用外部程式以提供自動完成斜線命令", - "user.settings.advance.title": "進階設定", - "user.settings.advance.webrtc_preview": "啟用此功能以撥打或接收一對一的 WebRTC 通訊", - "user.settings.custom_theme.awayIndicator": "離開標識", - "user.settings.custom_theme.buttonBg": "按鈕 BG", - "user.settings.custom_theme.buttonColor": "按鈕文字", - "user.settings.custom_theme.centerChannelBg": "中央頻道 BG", - "user.settings.custom_theme.centerChannelColor": "中央頻道文字", - "user.settings.custom_theme.centerChannelTitle": "中央頻道樣式", - "user.settings.custom_theme.codeTheme": "程式碼主題", - "user.settings.custom_theme.copyPaste": "用複製貼上來分享主題配色:", - "user.settings.custom_theme.linkButtonTitle": "連結與按鈕的樣式", - "user.settings.custom_theme.linkColor": "連結顏色", - "user.settings.custom_theme.mentionBj": "未讀的提及 BG", - "user.settings.custom_theme.mentionColor": "未讀的提及文字", - "user.settings.custom_theme.mentionHighlightBg": "提及醒目提示 BG", - "user.settings.custom_theme.mentionHighlightLink": "提及醒目提示的連結", - "user.settings.custom_theme.newMessageSeparator": "新訊息的分隔符號", - "user.settings.custom_theme.onlineIndicator": "線上標識", - "user.settings.custom_theme.sidebarBg": "側邊欄 BG", - "user.settings.custom_theme.sidebarHeaderBg": "側邊欄標題 BG", - "user.settings.custom_theme.sidebarHeaderTextColor": "側邊欄標題文字", - "user.settings.custom_theme.sidebarText": "側邊欄文字", - "user.settings.custom_theme.sidebarTextActiveBorder": "側邊欄文字作用中邊框", - "user.settings.custom_theme.sidebarTextActiveColor": "側邊欄文字作用中顏色", - "user.settings.custom_theme.sidebarTextHoverBg": "側邊欄文字暫留 BG", - "user.settings.custom_theme.sidebarTitle": "側邊欄樣式", - "user.settings.custom_theme.sidebarUnreadText": "側邊欄未讀文字", - "user.settings.display.channelDisplayTitle": "頻道顯示模式", - "user.settings.display.channeldisplaymode": "選擇中央頻道的寬度。", - "user.settings.display.clockDisplay": "顯示時間", - "user.settings.display.collapseDesc": "設定圖片預覽預設為收折或是展開。此設定也可以經由斜線命令 /expand 與 /collapse 控制。", - "user.settings.display.collapseDisplay": "圖片連結預覽的預設顯示", - "user.settings.display.collapseOff": "已收摺", - "user.settings.display.collapseOn": "已展開", - "user.settings.display.fixedWidthCentered": "固定寬度,置中對齊", - "user.settings.display.fontDesc": "選擇 Mattermost 使用者介面的字型。", - "user.settings.display.fontTitle": "顯示字型", - "user.settings.display.fullScreen": "全寬", - "user.settings.display.language": "語言", - "user.settings.display.messageDisplayClean": "標準", - "user.settings.display.messageDisplayCleanDes": "容易瀏覽與閱讀。", - "user.settings.display.messageDisplayCompact": "密集", - "user.settings.display.messageDisplayCompactDes": "顯示盡可能多的訊息", - "user.settings.display.messageDisplayDescription": "選擇在頻道裡訊息該如何顯示", - "user.settings.display.messageDisplayTitle": "訊息顯示", - "user.settings.display.militaryClock": "24 小時制(如:16:00)", - "user.settings.display.nameOptsDesc": "設定在訊息及直接訊息列表該如何顯示其他使用者的名字。", - "user.settings.display.normalClock": "12 小時制(如:4:00 PM)", - "user.settings.display.preferTime": "選擇時間顯示方式。", - "user.settings.display.showFullname": "顯示姓跟名", - "user.settings.display.showNickname": "有暱稱時顯示暱稱,沒有時顯示姓跟名", - "user.settings.display.showUsername": "顯示使用者名稱(預設)", - "user.settings.display.teammateDisplay": "團隊成員名稱顯示", - "user.settings.display.theme.applyToAllTeams": "將新主題套用到所有的團隊上", - "user.settings.display.theme.customTheme": "自訂主題", - "user.settings.display.theme.describe": "管理主題", - "user.settings.display.theme.import": "從 Slack 匯入主題配色", - "user.settings.display.theme.otherThemes": "瀏覽其他的主題", - "user.settings.display.theme.themeColors": "主題配色", - "user.settings.display.theme.title": "主題", - "user.settings.display.title": "顯示設定", - "user.settings.general.checkEmail": "請檢查電子郵件信箱 {email} 以驗證電子郵件地址。", - "user.settings.general.checkEmailNoAddress": "請檢查電子郵件信箱以驗證新的電子郵件地址。", - "user.settings.general.close": "關閉", - "user.settings.general.confirmEmail": "電子郵件地址確認", - "user.settings.general.email": "電子郵件地址", - "user.settings.general.emailGitlabCantUpdate": "經由 GitLab 登入。無法變更電子郵件地址。通知將會寄送到 {email}。", - "user.settings.general.emailGoogleCantUpdate": "經由 Google 登入。無法變更電子郵件地址。通知將會寄送到 {email}。", - "user.settings.general.emailHelp1": "電子郵件地址將會用在登入、通知跟重置密碼。更改時需要重新驗證。", - "user.settings.general.emailHelp2": "系統管理員已停用電子郵件。在被啟用之前將不會有通知郵件寄出。", - "user.settings.general.emailHelp3": "電子郵件地址將會用在登入、通知跟重置密碼。", - "user.settings.general.emailHelp4": "驗證用電子郵件已寄出到 {email} 。", - "user.settings.general.emailLdapCantUpdate": "經由 AD/LDAP 登入。無法變更電子郵件地址。通知將會寄送到 {email}。", - "user.settings.general.emailMatch": "您輸入的新電子郵件地址不一致。", - "user.settings.general.emailOffice365CantUpdate": "經由 Office 365 登入。無法變更電子郵件地址。通知將會寄送到 {email}。", - "user.settings.general.emailSamlCantUpdate": "經由 SAML 登入。無法變更電子郵件地址。通知將會寄送到 {email}。", - "user.settings.general.emailUnchanged": "您的新電子郵件地址跟舊的一樣。", - "user.settings.general.emptyName": "按'編輯'以增加全名", - "user.settings.general.emptyNickname": "按'編輯'以增加暱稱", - "user.settings.general.emptyPosition": "點選'編輯'以增加工作職稱/職位", - "user.settings.general.field_handled_externally": "此欄位由您的登入提供者決定。如果想變更它,得經由登入提供者變更。", - "user.settings.general.firstName": "名字", - "user.settings.general.fullName": "全名", - "user.settings.general.imageTooLarge": "無法上傳個人圖像。檔案過大。", - "user.settings.general.imageUpdated": "圖像最新更新於 {date}", - "user.settings.general.lastName": "姓氏", - "user.settings.general.loginGitlab": "已經由 GitLab 登入 ({email})", - "user.settings.general.loginGoogle": "已經由 Google 登入 ({email})", - "user.settings.general.loginLdap": "已經由 AD/LDAP 登入 ({email})", - "user.settings.general.loginOffice365": "已經由 Office 365 登入 ({email})", - "user.settings.general.loginSaml": "已經由 SAML 登入 ({email})", - "user.settings.general.newAddress": "新電子郵件地址:{email}
    請檢查電子郵件信箱以驗證上面的地址。", - "user.settings.general.nickname": "匿稱", - "user.settings.general.nicknameExtra": "暱稱讓您有個除了名字跟使用者名稱以外的稱呼。這通常使用在有多個人的名字跟使用者名稱聽起來差不多的情況。", - "user.settings.general.notificationsExtra": "預設情況下當有人輸入您的名字時您將會收到提及通知。請到{notify}以變更設定。", - "user.settings.general.notificationsLink": "通知", - "user.settings.general.position": "職位", - "user.settings.general.positionExtra": "用職位表示您的角色或職稱。這將會顯示於個人資訊中。", - "user.settings.general.primaryEmail": "主要電子郵件地址", - "user.settings.general.profilePicture": "個人圖像", - "user.settings.general.title": "一般設定", - "user.settings.general.uploadImage": "按下'編輯'以上傳圖像。", - "user.settings.general.username": "使用者名稱", - "user.settings.general.usernameInfo": "選個團隊成員容易識別及記憶的名稱。", - "user.settings.general.usernameReserved": "此使用者名稱為保留名稱,請選新的名稱。", - "user.settings.general.usernameRestrictions": "使用者名稱必須要以小寫英字母開頭,最少{min}最多{max}個字,只能使用小寫英字母、數字、'.'、'-'跟'_'。", - "user.settings.general.validEmail": "請輸入一個有效的電子郵件位址", - "user.settings.general.validImage": "個人圖像只能使用 JPG 或 PNG 圖片", - "user.settings.import_theme.cancel": "取消", - "user.settings.import_theme.importBody": "如何匯入主題:前往 Slack 團隊並找尋\"Preferences -> Sidebar Theme\"。開啟自訂主題選項,複製主題配色的值並貼上於此:", - "user.settings.import_theme.importHeader": "匯入 Slack 主題", - "user.settings.import_theme.submit": "送出", - "user.settings.import_theme.submitError": "無效的格式,請再一次嘗試複製貼上。", - "user.settings.languages.change": "變更介面語言", - "user.settings.languages.promote": "選擇 Mattermost 用哪種語言顯示使用者界面。

    想要幫忙翻譯嘛?加入 Mattermost 翻譯伺服器 來幫忙。", - "user.settings.mfa.add": "為您的帳號加上多重要素驗證", - "user.settings.mfa.addHelp": "增加多重要素驗證將會在每次登入時要求輸入來自手機上的代碼,藉此讓您的帳號更為安全。", - "user.settings.mfa.addHelpQr": "請用手機上的 Google Authenticator 應用程式掃描 QR 碼並填入應用程式提供的 Token。如果無法掃描 QR 碼,可以手動輸入密碼。", - "user.settings.mfa.enterToken": "Token (僅限數字)", - "user.settings.mfa.qrCode": "條碼", - "user.settings.mfa.remove": "從您的帳號移除多重要素驗證", - "user.settings.mfa.removeHelp": "刪除多重因子認證後將不再需要一個基於手機的密碼以登入帳戶。", - "user.settings.mfa.requiredHelp": "此伺服器要求多重要素驗證。建議只在需要換新手機以產生代碼時重置。您馬上會被要求再次設定。", - "user.settings.mfa.reset": "重置多重要素驗證", - "user.settings.mfa.secret": "密碼", - "user.settings.mfa.title": "多重要素驗證", - "user.settings.modal.advanced": "進階", - "user.settings.modal.confirmBtns": "是,放棄它們", - "user.settings.modal.confirmMsg": "還有未儲存的變更,要放棄它們嘛?", - "user.settings.modal.confirmTitle": "放棄變更?", - "user.settings.modal.display": "顯示", - "user.settings.modal.general": "一般", - "user.settings.modal.notifications": "通知", - "user.settings.modal.security": "安全", - "user.settings.modal.title": "帳號設定", - "user.settings.notifications.allActivity": "所有的活動", - "user.settings.notifications.channelWide": "對頻道全員的提及 \"@channel\"、\"@all\"", - "user.settings.notifications.close": "關閉", - "user.settings.notifications.comments": "回覆通知", - "user.settings.notifications.commentsAny": "我開啟或是有參與的討論串有回覆時觸發通知", - "user.settings.notifications.commentsInfo": "除了被提及的時候通知外,選擇是否要接受討論串回覆通知。", - "user.settings.notifications.commentsNever": "回覆串訊息只有在提及時觸發通知。", - "user.settings.notifications.commentsRoot": "我開啟的討論串有訊息時觸發通知", - "user.settings.notifications.desktop": "發送桌面通知", - "user.settings.notifications.desktop.allFirefoxForever": "所有的活動,一直顯示", - "user.settings.notifications.desktop.allFirefoxTimed": "所有的活動,顯示 {seconds} 秒", - "user.settings.notifications.desktop.allNoSoundForever": "所有的活動,無通知音效,一直顯示", - "user.settings.notifications.desktop.allNoSoundTimed": "所有的活動,無通知音效,顯示 {seconds} 秒", - "user.settings.notifications.desktop.allSoundForever": "所有的活動,有通知音效,一直顯示", - "user.settings.notifications.desktop.allSoundTimed": "所有的活動,有通知音效,顯示 {seconds} 秒", - "user.settings.notifications.desktop.duration": "通知長度", - "user.settings.notifications.desktop.durationInfo": "設定在 Firefox 或 Chrome 中桌面通知將停留在畫面上多久。Edge 與 Safari 的桌面通知最多僅能停留5秒。", - "user.settings.notifications.desktop.mentionsFirefoxForever": "提及跟直接訊息,一直顯示", - "user.settings.notifications.desktop.mentionsFirefoxTimed": "提及跟直接訊息,顯示 {seconds} 秒", - "user.settings.notifications.desktop.mentionsNoSoundForever": "提及跟直接訊息,無通知音效,一直顯示", - "user.settings.notifications.desktop.mentionsNoSoundTimed": "提及跟直接訊息,無通知音效,顯示 {seconds} 秒", - "user.settings.notifications.desktop.mentionsSoundForever": "提及跟直接訊息,有通知音效,一直顯示", - "user.settings.notifications.desktop.mentionsSoundTimed": "提及跟直接訊息,有通知音效,顯示 {seconds} 秒", - "user.settings.notifications.desktop.seconds": "{seconds} 秒", - "user.settings.notifications.desktop.sound": "通知音效", - "user.settings.notifications.desktop.title": "桌面通知", - "user.settings.notifications.desktop.unlimited": "無限制", - "user.settings.notifications.desktopSounds": "桌面通知音效", - "user.settings.notifications.email.everyHour": "每小時", - "user.settings.notifications.email.everyXMinutes": "每 {count} 分鐘", - "user.settings.notifications.email.immediately": "立即", - "user.settings.notifications.email.never": "永不", - "user.settings.notifications.email.send": "發送電子郵件通知", - "user.settings.notifications.emailBatchingInfo": "於所選的時間間隔內收到的通知將被合併成一封電子郵件寄送。", - "user.settings.notifications.emailInfo": "在離線或是離開 {siteName} 超過 5 分鐘時,會發送電子郵件以通知關於您的提及與直接訊息。", - "user.settings.notifications.emailNotifications": "電子郵件通知", - "user.settings.notifications.header": "通知", - "user.settings.notifications.info": "桌面通知支援 Edge、Firefox、Safari、Chrome 跟 Mattermost 桌面應用程式。", - "user.settings.notifications.mentionsInfo": "提及會在某人發送含有您的使用者名稱(\"@{username}\")或上面任何選取的選項時被觸發。", - "user.settings.notifications.never": "永不", - "user.settings.notifications.noWords": "沒有設定單字", - "user.settings.notifications.off": "關閉", - "user.settings.notifications.on": "啟用", - "user.settings.notifications.onlyMentions": "僅限於提及跟直接訊息", - "user.settings.notifications.push": "行動推播", - "user.settings.notifications.push_notification.status": "何時觸發推播通知", - "user.settings.notifications.sensitiveName": "您的名字,區分大小寫:\"{first_name}\"", - "user.settings.notifications.sensitiveUsername": "您的使用者名稱,不區分大小寫:\"{username}\"", - "user.settings.notifications.sensitiveWords": "其他不區分大小寫的字,用逗號分隔:", - "user.settings.notifications.soundConfig": "請在瀏覽器設置中設定通知聲音", - "user.settings.notifications.sounds_info": "通知音效支援 IE11、Edge、Safari、Chrome 跟 Mattermost 桌面應用程式。", - "user.settings.notifications.teamWide": "對團隊全員的提及 \"@all\"", - "user.settings.notifications.title": "通知設定", - "user.settings.notifications.wordsTrigger": "觸發提及的字", - "user.settings.push_notification.allActivity": "所有的活動", - "user.settings.push_notification.allActivityAway": "離開或離線時的所有活動", - "user.settings.push_notification.allActivityOffline": "離線時的所有活動", - "user.settings.push_notification.allActivityOnline": "線上、離開或離線時的所有活動", - "user.settings.push_notification.away": "離開或離線", - "user.settings.push_notification.disabled": "被系統管理員停用", - "user.settings.push_notification.disabled_long": "行動裝置推播已被系統管理員停用。", - "user.settings.push_notification.info": "當 Mattermost 有活動時會推發通知提醒到您的行動裝置。", - "user.settings.push_notification.off": "關閉", - "user.settings.push_notification.offline": "離線", - "user.settings.push_notification.online": "線上、離開或離線", - "user.settings.push_notification.onlyMentions": "僅限於提及跟直接訊息", - "user.settings.push_notification.onlyMentionsAway": "線上、離開或離線時的提及跟直接訊息", - "user.settings.push_notification.onlyMentionsOffline": "離線時的提及跟直接訊息", - "user.settings.push_notification.onlyMentionsOnline": "線上、離開或離線時的提及跟直接訊息", - "user.settings.push_notification.send": "發送行動推播通知", - "user.settings.push_notification.status": "何時觸發推播通知", - "user.settings.push_notification.status_info": "只有在上線狀態符合上面的選項時才會發送通知到行動裝置上。", - "user.settings.security.close": "關閉", - "user.settings.security.currentPassword": "目前的密碼", - "user.settings.security.currentPasswordError": "請輸入原先的密碼。", - "user.settings.security.deauthorize": "解除授權", - "user.settings.security.emailPwd": "電子郵件跟密碼", - "user.settings.security.gitlab": "GitLab", - "user.settings.security.google": "Google", - "user.settings.security.lastUpdated": "最後一次更新於 {date} {time}", - "user.settings.security.ldap": "AD/LDAP", - "user.settings.security.loginGitlab": "已經由 GitLab 登入", - "user.settings.security.loginGoogle": "經由 Gooel Apps 登入", - "user.settings.security.loginLdap": "已經由 AD/LDAP 登入", - "user.settings.security.loginOffice365": "經由 Office 365 登入", - "user.settings.security.loginSaml": "已經由 SAML 登入", - "user.settings.security.logoutActiveSessions": "觀看並登出使用中的工作階段", - "user.settings.security.method": "登入方式", - "user.settings.security.newPassword": "新密碼", - "user.settings.security.noApps": "尚未授權給任一 OAuth 2.0 應用程式。", - "user.settings.security.oauthApps": "OAuth 2.0 應用程式", - "user.settings.security.oauthAppsDescription": "按'編輯'來管理 OAuth 2.0 應用程式", - "user.settings.security.oauthAppsHelp": "應用程式根據您准許的權限代表您存取個人資料。", - "user.settings.security.office365": "Office 365", - "user.settings.security.oneSignin": "同時間只能只用一種登入方式。如果更換登入方式成功,將會寄送通知信。", - "user.settings.security.password": "密碼", - "user.settings.security.passwordError": "密碼最短必須有{min}個字元。", - "user.settings.security.passwordErrorLowercase": "密碼最短必須有{min}個字元且至少有一個小寫英文字母。", - "user.settings.security.passwordErrorLowercaseNumber": "密碼最短必須有{min}個字元且至少有一個小寫英文字母和一個數字。", - "user.settings.security.passwordErrorLowercaseNumberSymbol": "密碼最短必須有{min}個字元且至少有一個小寫英文字母、一個數字和一個符號(\"~!@#$%^&*()\")。", - "user.settings.security.passwordErrorLowercaseSymbol": "密碼最短必須有{min}個字元且至少有一個小寫英文字母和一個符號(\"~!@#$%^&*()\")。", - "user.settings.security.passwordErrorLowercaseUppercase": "密碼最短必須有{min}個字元且至少有一個小寫英文字母和一個大寫英文字母。", - "user.settings.security.passwordErrorLowercaseUppercaseNumber": "密碼最短必須有{min}個字元且至少有一個小寫英文字母、一個大寫英文字母和一個數字。", - "user.settings.security.passwordErrorLowercaseUppercaseNumberSymbol": "密碼最短必須有{min}個字元且至少有一個小寫英文字母、一個大寫英文字母、一個數字和一個符號(\"~!@#$%^&*()\")。", - "user.settings.security.passwordErrorLowercaseUppercaseSymbol": "密碼最短必須有{min}個字元且至少有一個小寫英文字母、一個大寫英文字母和一個符號(\"~!@#$%^&*()\")。", - "user.settings.security.passwordErrorNumber": "密碼最短必須有{min}個字元且至少有一個數字。", - "user.settings.security.passwordErrorNumberSymbol": "密碼最短必須有{min}個字元且至少有一個數字和一個符號(\"~!@#$%^&*()\")。", - "user.settings.security.passwordErrorSymbol": "密碼最短必須有{min}個字元且至少有一個符號(\"~!@#$%^&*()\")。", - "user.settings.security.passwordErrorUppercase": "密碼最短必須有{min}個字元且至少有一個大寫英文字母。", - "user.settings.security.passwordErrorUppercaseNumber": "密碼最短必須有{min}個字元且至少有一個大寫英文字母和一個數字。", - "user.settings.security.passwordErrorUppercaseNumberSymbol": "密碼最短必須有{min}個字元且至少有一個大寫英文字母、一個數字和一個符號(\"~!@#$%^&*()\")。", - "user.settings.security.passwordErrorUppercaseSymbol": "密碼最短必須有{min}個字元且至少有一個大寫英文字母和一個符號(\"~!@#$%^&*()\")。", - "user.settings.security.passwordGitlabCantUpdate": "經由 GitLab 登入。無法變更密碼。", - "user.settings.security.passwordGoogleCantUpdate": "經由 Gooel Apps 登入。無法變更密碼。", - "user.settings.security.passwordLdapCantUpdate": "經由 AD/LDAP 登入。無法變更密碼。", - "user.settings.security.passwordMatchError": "輸入的新密碼不一致。", - "user.settings.security.passwordMinLength": "無效的最短長度,無法顯示預覽。", - "user.settings.security.passwordOffice365CantUpdate": "經由 Office 365 登入。無法變更密碼。", - "user.settings.security.passwordSamlCantUpdate": "此欄位由您的登入提供者決定。如果想變更它,得經由登入提供者變更。", - "user.settings.security.retypePassword": "再次輸入新密碼", - "user.settings.security.saml": "SAML", - "user.settings.security.switchEmail": "切換至電子郵件地址及密碼", - "user.settings.security.switchGitlab": "改為使用 GitLab SSO", - "user.settings.security.switchGoogle": "改為使用 Google SSO", - "user.settings.security.switchLdap": "改為使用 AD/LDAP", - "user.settings.security.switchOffice365": "改為使用 Office 365 SSO", - "user.settings.security.switchSaml": "改為使用 SAML SSO", - "user.settings.security.title": "安全性設定", - "user.settings.security.viewHistory": "檢視存取紀錄", - "user_list.notFound": "找不到任何使用者", - "user_profile.send.dm": "發送訊息", - "user_profile.webrtc.call": "開始視訊通話", - "user_profile.webrtc.offline": "使用者離線中", - "user_profile.webrtc.unavailable": "在當前通訊結束前不能建立新的通訊", - "view_image.loading": "載入中", - "view_image_popover.download": "下載", - "view_image_popover.file": "檔案 {count} / {total}", - "view_image_popover.publicLink": "取得公開連結", - "web.footer.about": "關於", - "web.footer.help": "說明", - "web.footer.privacy": "隱私", - "web.footer.terms": "條款", - "web.header.back": "返回", - "web.header.logout": "登出", - "web.root.signup_info": "團隊溝通皆在同處,隨時隨地皆可搜尋與存取。", - "webrtc.busy": "{username} 通話中。", - "webrtc.call": "通訊", - "webrtc.callEnded": "與 {username} 的通訊結束了。", - "webrtc.cancel": "取消通訊", - "webrtc.cancelled": "{username} 取消了通訊。", - "webrtc.declined": "{username} 拒絕了通訊。", - "webrtc.disabled": "{username} 停用了 WebRTC,無法接收通訊。他必須到 帳號設定 > 進階 > 預覽預先發佈功能 啟用 WebRTC 以啟用此功能。", - "webrtc.failed": "連接視訊通話時發生錯誤。", - "webrtc.hangup": "掛斷", - "webrtc.header": "與 {username} 的通訊", - "webrtc.inProgress": "通訊中。請先掛斷現在的通訊。", - "webrtc.mediaError": "無法存取攝影機或麥克風。", - "webrtc.mute_audio": "麥克風靜音", - "webrtc.noAnswer": "{username} 沒有接聽呼叫。", - "webrtc.notification.answer": "接聽", - "webrtc.notification.decline": "拒絕", - "webrtc.notification.incoming_call": "{username} 來電。", - "webrtc.notification.returnToCall": "返回到與 {username} 的通訊", - "webrtc.offline": "{username} 不在線上。", - "webrtc.pause_video": "關閉攝影機", - "webrtc.unmute_audio": "解除麥克風靜音", - "webrtc.unpause_video": "開啟攝影機", - "webrtc.unsupported": "{username} 的用戶端不支援視訊通話。", - "youtube_video.notFound": "找不到影片" -} -- cgit v1.2.3-1-g7c22 From bfc8dafe5eb03d6e4daa8fbc42f8361674474479 Mon Sep 17 00:00:00 2001 From: Joram Wilander Date: Thu, 9 Mar 2017 04:14:51 -0500 Subject: Fix MFA page showing up when not active on account switch (#5687) --- webapp/actions/user_actions.jsx | 2 +- webapp/components/login/login_controller.jsx | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/webapp/actions/user_actions.jsx b/webapp/actions/user_actions.jsx index 0f6ac3e9f..b5f14577f 100644 --- a/webapp/actions/user_actions.jsx +++ b/webapp/actions/user_actions.jsx @@ -645,7 +645,7 @@ export function checkMfa(loginId, success, error) { loginId, (data) => { if (success) { - success(data); + success(data && data.mfa_required === 'true'); } }, (err) => { diff --git a/webapp/components/login/login_controller.jsx b/webapp/components/login/login_controller.jsx index 9bb8a4324..38c594cf7 100644 --- a/webapp/components/login/login_controller.jsx +++ b/webapp/components/login/login_controller.jsx @@ -131,8 +131,8 @@ export default class LoginController extends React.Component { checkMfa( loginId, - (data) => { - if (data && data.mfa_required === 'true') { + (requiresMfa) => { + if (requiresMfa) { this.setState({showMfa: true}); } else { this.submit(loginId, password, ''); -- cgit v1.2.3-1-g7c22 From cbead2d973fb70bf4dc644dd6a8b8c34b49ff6aa Mon Sep 17 00:00:00 2001 From: Joram Wilander Date: Thu, 9 Mar 2017 04:15:38 -0500 Subject: Remove race between clearing lists and search requests (#5686) --- webapp/components/admin_console/team_users.jsx | 5 +++-- webapp/components/channel_invite_modal.jsx | 5 +++-- webapp/components/member_list_channel.jsx | 5 +++-- webapp/components/member_list_team.jsx | 5 +++-- webapp/components/more_channels.jsx | 5 +++-- 5 files changed, 15 insertions(+), 10 deletions(-) diff --git a/webapp/components/admin_console/team_users.jsx b/webapp/components/admin_console/team_users.jsx index 0874e4c8c..5bdaedf6e 100644 --- a/webapp/components/admin_console/team_users.jsx +++ b/webapp/components/admin_console/team_users.jsx @@ -148,16 +148,17 @@ export default class UserList extends React.Component { } search(term) { + clearTimeout(this.searchTimeoutId); + if (term === '') { this.setState({search: false, users: UserStore.getProfileListInTeam(this.props.params.team)}); + this.searchTimeoutId = ''; return; } const options = {}; options[UserSearchOptions.ALLOW_INACTIVE] = true; - clearTimeout(this.searchTimeoutId); - const searchTimeoutId = setTimeout( () => { searchUsers( diff --git a/webapp/components/channel_invite_modal.jsx b/webapp/components/channel_invite_modal.jsx index 5deec0794..2f1a10a75 100644 --- a/webapp/components/channel_invite_modal.jsx +++ b/webapp/components/channel_invite_modal.jsx @@ -107,16 +107,17 @@ export default class ChannelInviteModal extends React.Component { } search(term) { + clearTimeout(this.searchTimeoutId); + this.term = term; if (term === '') { this.onChange(true); this.setState({search: false}); + this.searchTimeoutId = ''; return; } - clearTimeout(this.searchTimeoutId); - const searchTimeoutId = setTimeout( () => { searchUsers( diff --git a/webapp/components/member_list_channel.jsx b/webapp/components/member_list_channel.jsx index 6f8a266ad..d9d28bcd0 100644 --- a/webapp/components/member_list_channel.jsx +++ b/webapp/components/member_list_channel.jsx @@ -91,6 +91,8 @@ export default class MemberListChannel extends React.Component { } search(term) { + clearTimeout(this.searchTimeoutId); + if (term === '') { this.setState({ search: false, @@ -99,11 +101,10 @@ export default class MemberListChannel extends React.Component { teamMembers: Object.assign([], TeamStore.getMembersInTeam()), channelMembers: Object.assign([], ChannelStore.getMembersInChannel()) }); + this.searchTimeoutId = ''; return; } - clearTimeout(this.searchTimeoutId); - const searchTimeoutId = setTimeout( () => { searchUsers( diff --git a/webapp/components/member_list_team.jsx b/webapp/components/member_list_team.jsx index df17d7df2..41057a566 100644 --- a/webapp/components/member_list_team.jsx +++ b/webapp/components/member_list_team.jsx @@ -88,13 +88,14 @@ export default class MemberListTeam extends React.Component { } search(term) { + clearTimeout(this.searchTimeoutId); + if (term === '') { this.setState({search: false, term, users: UserStore.getProfileListInTeam(), teamMembers: Object.assign([], TeamStore.getMembersInTeam())}); + this.searchTimeoutId = ''; return; } - clearTimeout(this.searchTimeoutId); - const searchTimeoutId = setTimeout( () => { searchUsers( diff --git a/webapp/components/more_channels.jsx b/webapp/components/more_channels.jsx index d0b5f5399..10f597ad4 100644 --- a/webapp/components/more_channels.jsx +++ b/webapp/components/more_channels.jsx @@ -99,14 +99,15 @@ export default class MoreChannels extends React.Component { } search(term) { + clearTimeout(this.searchTimeoutId); + if (term === '') { this.onChange(true); this.setState({search: false}); + this.searchTimeoutId = ''; return; } - clearTimeout(this.searchTimeoutId); - const searchTimeoutId = setTimeout( () => { searchMoreChannels( -- cgit v1.2.3-1-g7c22 From 6ff46f30509819d518799561f66358dcd1ec4230 Mon Sep 17 00:00:00 2001 From: Asaad Mahmood Date: Thu, 9 Mar 2017 20:05:11 +0500 Subject: Multiple bug fixes (#5699) * Multiple bug fixes * Fixing modal on mobile --- webapp/components/access_history_modal.jsx | 1 + webapp/components/activity_log_modal.jsx | 1 + webapp/sass/layout/_markdown.scss | 7 ++++--- webapp/sass/responsive/_mobile.scss | 7 +++++++ webapp/sass/routes/_signup.scss | 3 ++- 5 files changed, 15 insertions(+), 4 deletions(-) diff --git a/webapp/components/access_history_modal.jsx b/webapp/components/access_history_modal.jsx index 28a2b6b8f..4e1e69e3e 100644 --- a/webapp/components/access_history_modal.jsx +++ b/webapp/components/access_history_modal.jsx @@ -79,6 +79,7 @@ export default class AccessHistoryModal extends React.Component { return ( li { &.active { diff --git a/webapp/sass/routes/_signup.scss b/webapp/sass/routes/_signup.scss index c73c32656..13ee95e76 100644 --- a/webapp/sass/routes/_signup.scss +++ b/webapp/sass/routes/_signup.scss @@ -450,6 +450,7 @@ .signup-team-dir { background: #fafafa; border-top: 1px solid #d5d5d5; + overflow: hidden; &:first-child { border: none; @@ -458,7 +459,7 @@ .icon { cursor: pointer; float: left; - margin: 18px 7px 0 15px; + margin: 16px 7px 0 15px; opacity: .45; svg { -- cgit v1.2.3-1-g7c22 From 9c13863f484e9741adf4179cb6b95ee4af8ec343 Mon Sep 17 00:00:00 2001 From: Joram Wilander Date: Thu, 9 Mar 2017 14:41:03 -0500 Subject: Fix GMs showing up on refresh after being hidden (#5702) --- app/notification.go | 2 +- webapp/actions/user_actions.jsx | 2 +- webapp/stores/notification_store.jsx | 4 ++++ 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/app/notification.go b/app/notification.go index 469d114ee..1dd3fedb2 100644 --- a/app/notification.go +++ b/app/notification.go @@ -286,7 +286,7 @@ func SendNotifications(post *model.Post, team *model.Team, channel *model.Channe message := model.NewWebSocketEvent(model.WEBSOCKET_EVENT_POSTED, "", post.ChannelId, "", nil) message.Add("post", post.ToJson()) message.Add("channel_type", channel.Type) - message.Add("channel_display_name", channel.DisplayName) + message.Add("channel_display_name", channelName) message.Add("channel_name", channel.Name) message.Add("sender_name", senderUsername) message.Add("team_id", team.Id) diff --git a/webapp/actions/user_actions.jsx b/webapp/actions/user_actions.jsx index b5f14577f..231b09f11 100644 --- a/webapp/actions/user_actions.jsx +++ b/webapp/actions/user_actions.jsx @@ -304,7 +304,7 @@ export function loadProfilesForGM() { if (!isVisible) { const member = ChannelStore.getMyMember(channel.id); - if (!member || (member.mention_count === 0 && member.msg_count < member.total_msg_count)) { + if (!member || (member.mention_count === 0 && member.msg_count >= channel.total_msg_count)) { continue; } diff --git a/webapp/stores/notification_store.jsx b/webapp/stores/notification_store.jsx index f32e71047..f32107ef7 100644 --- a/webapp/stores/notification_store.jsx +++ b/webapp/stores/notification_store.jsx @@ -82,6 +82,10 @@ class NotificationStoreClass extends EventEmitter { title = channel.display_name; } + if (title === '') { + title = msgProps.channel_display_name; + } + let notifyText = post.message.replace(/\n+/g, ' '); if (notifyText.length > 50) { notifyText = notifyText.substring(0, 49) + '...'; -- cgit v1.2.3-1-g7c22 From 270ac113654d17cabf4a92d48de4ca4a9de65c46 Mon Sep 17 00:00:00 2001 From: Joram Wilander Date: Thu, 9 Mar 2017 14:41:23 -0500 Subject: Fix posts from your own webhook not showing as unread until refresh (#5703) --- webapp/stores/channel_store.jsx | 4 ++-- webapp/utils/post_utils.jsx | 4 ++++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/webapp/stores/channel_store.jsx b/webapp/stores/channel_store.jsx index f303b0190..41fa76b39 100644 --- a/webapp/stores/channel_store.jsx +++ b/webapp/stores/channel_store.jsx @@ -10,7 +10,7 @@ import UserStore from 'stores/user_store.jsx'; var ChannelUtils; var Utils; import {ActionTypes, Constants} from 'utils/constants.jsx'; -import {isSystemMessage} from 'utils/post_utils.jsx'; +import {isSystemMessage, isFromWebhook} from 'utils/post_utils.jsx'; const NotificationPrefs = Constants.NotificationPrefs; const CHANGE_EVENT = 'change'; @@ -521,7 +521,7 @@ ChannelStore.dispatchToken = AppDispatcher.register((payload) => { return; } - if (action.post.user_id === UserStore.getCurrentId() && !isSystemMessage(action.post)) { + if (action.post.user_id === UserStore.getCurrentId() && !isSystemMessage(action.post) && !isFromWebhook(action.post)) { return; } diff --git a/webapp/utils/post_utils.jsx b/webapp/utils/post_utils.jsx index 0b908c55b..1f2021e4a 100644 --- a/webapp/utils/post_utils.jsx +++ b/webapp/utils/post_utils.jsx @@ -12,6 +12,10 @@ export function isSystemMessage(post) { return post.type && (post.type.lastIndexOf(Constants.SYSTEM_MESSAGE_PREFIX) === 0); } +export function isFromWebhook(post) { + return post.props && post.props.from_webhook === 'true'; +} + export function isPostOwner(post) { return UserStore.getCurrentId() === post.user_id; } -- cgit v1.2.3-1-g7c22 From d79c40f3307536fc734c135c26032486334657ea Mon Sep 17 00:00:00 2001 From: George Goldberg Date: Thu, 9 Mar 2017 19:41:42 +0000 Subject: PLT-5772: Use standardised javascript method instead of Chrome-only one. (#5708) --- webapp/components/create_comment.jsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/webapp/components/create_comment.jsx b/webapp/components/create_comment.jsx index c7dbd0717..96280bbc1 100644 --- a/webapp/components/create_comment.jsx +++ b/webapp/components/create_comment.jsx @@ -349,7 +349,7 @@ export default class CreateComment extends React.Component { PostStore.storeCommentDraft(this.props.rootId, draft); // Focus on preview if needed - this.refs.preview.refs.container.scrollIntoViewIfNeeded(); + this.refs.preview.refs.container.scrollIntoView(); const enableAddButton = this.handleEnableAddButton(draft.message, draft.fileInfos); -- cgit v1.2.3-1-g7c22 From 43e5bbea372cb2c4a98d00fae19cdabd165a8f48 Mon Sep 17 00:00:00 2001 From: Joram Wilander Date: Fri, 10 Mar 2017 05:17:22 -0500 Subject: Fix user list updating when removing a user from team (#5712) --- webapp/components/member_list_team.jsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/webapp/components/member_list_team.jsx b/webapp/components/member_list_team.jsx index 41057a566..e06d61b0a 100644 --- a/webapp/components/member_list_team.jsx +++ b/webapp/components/member_list_team.jsx @@ -43,7 +43,7 @@ export default class MemberListTeam extends React.Component { } componentDidMount() { - UserStore.addInTeamChangeListener(this.onChange); + UserStore.addInTeamChangeListener(this.onTeamChange); UserStore.addStatusesChangeListener(this.onChange); TeamStore.addChangeListener(this.onTeamChange); TeamStore.addStatsChangeListener(this.onStatsChange); @@ -53,7 +53,7 @@ export default class MemberListTeam extends React.Component { } componentWillUnmount() { - UserStore.removeInTeamChangeListener(this.onChange); + UserStore.removeInTeamChangeListener(this.onTeamChange); UserStore.removeStatusesChangeListener(this.onChange); TeamStore.removeChangeListener(this.onTeamChange); TeamStore.removeStatsChangeListener(this.onStatsChange); -- cgit v1.2.3-1-g7c22 From a8e68bd8905972ae59de90fa33d5b3e3c274dc47 Mon Sep 17 00:00:00 2001 From: Harrison Healey Date: Fri, 10 Mar 2017 05:18:18 -0500 Subject: PLT-5765 Passed SiteURL to SendNotifications (#5705) --- api/apitestlib.go | 2 +- api/channel.go | 16 +++++++-------- api/command.go | 2 +- api/command_echo.go | 2 +- api/command_join.go | 2 +- api/command_loadtest.go | 4 ++-- api/command_msg.go | 2 +- api/oauth.go | 4 ++-- api/post.go | 4 ++-- api/team.go | 8 ++++---- api/user.go | 6 +++--- api/webhook.go | 2 +- api4/apitestlib.go | 2 +- api4/channel.go | 2 +- api4/post.go | 3 +-- api4/team.go | 2 +- api4/user.go | 2 +- app/apptestlib.go | 4 ++-- app/channel.go | 50 ++++++++++++++++++++++----------------------- app/command.go | 4 ++-- app/import.go | 2 +- app/notification.go | 10 ++++----- app/notification_test.go | 5 +++-- app/post.go | 18 ++++++++-------- app/slackimport.go | 2 +- app/team.go | 24 +++++++++++----------- app/team_test.go | 11 +++++----- app/user.go | 10 ++++----- app/user_test.go | 6 +++--- app/webhook.go | 12 +++++------ cmd/platform/channel.go | 2 +- cmd/platform/oldcommands.go | 6 +++--- cmd/platform/team.go | 3 ++- einterfaces/saml.go | 2 +- web/web_test.go | 2 +- 35 files changed, 120 insertions(+), 118 deletions(-) diff --git a/api/apitestlib.go b/api/apitestlib.go index 475469a36..ea0d12d4a 100644 --- a/api/apitestlib.go +++ b/api/apitestlib.go @@ -152,7 +152,7 @@ func (me *TestHelper) CreateUser(client *model.Client) *model.User { func LinkUserToTeam(user *model.User, team *model.Team) { utils.DisableDebugLogForTest() - err := app.JoinUserToTeam(team, user) + err := app.JoinUserToTeam(team, user, utils.GetSiteURL()) if err != nil { l4g.Error(err.Error()) l4g.Close() diff --git a/api/channel.go b/api/channel.go index 9c11f073e..062f582a7 100644 --- a/api/channel.go +++ b/api/channel.go @@ -206,7 +206,7 @@ func updateChannel(c *Context, w http.ResponseWriter, r *http.Request) { return } else { if oldChannelDisplayName != channel.DisplayName { - if err := app.PostUpdateChannelDisplayNameMessage(c.Session.UserId, channel.Id, c.TeamId, oldChannelDisplayName, channel.DisplayName); err != nil { + if err := app.PostUpdateChannelDisplayNameMessage(c.Session.UserId, channel.Id, c.TeamId, oldChannelDisplayName, channel.DisplayName, c.GetSiteURL()); err != nil { l4g.Error(err.Error()) } } @@ -254,7 +254,7 @@ func updateChannelHeader(c *Context, w http.ResponseWriter, r *http.Request) { c.Err = err return } else { - if err := app.PostUpdateChannelHeaderMessage(c.Session.UserId, channel.Id, c.TeamId, oldChannelHeader, channelHeader); err != nil { + if err := app.PostUpdateChannelHeaderMessage(c.Session.UserId, channel.Id, c.TeamId, oldChannelHeader, channelHeader, c.GetSiteURL()); err != nil { l4g.Error(err.Error()) } c.LogAudit("name=" + channel.Name) @@ -300,7 +300,7 @@ func updateChannelPurpose(c *Context, w http.ResponseWriter, r *http.Request) { c.Err = err return } else { - if err := app.PostUpdateChannelPurposeMessage(c.Session.UserId, channel.Id, c.TeamId, oldChannelPurpose, channelPurpose); err != nil { + if err := app.PostUpdateChannelPurposeMessage(c.Session.UserId, channel.Id, c.TeamId, oldChannelPurpose, channelPurpose, c.GetSiteURL()); err != nil { l4g.Error(err.Error()) } c.LogAudit("name=" + channel.Name) @@ -411,7 +411,7 @@ func join(c *Context, w http.ResponseWriter, r *http.Request) { } } - if err = app.JoinChannel(channel, c.Session.UserId); err != nil { + if err = app.JoinChannel(channel, c.Session.UserId, c.GetSiteURL()); err != nil { c.Err = err return } @@ -424,7 +424,7 @@ func leave(c *Context, w http.ResponseWriter, r *http.Request) { params := mux.Vars(r) id := params["channel_id"] - err := app.LeaveChannel(id, c.Session.UserId) + err := app.LeaveChannel(id, c.Session.UserId, c.GetSiteURL()) if err != nil { c.Err = err return @@ -466,7 +466,7 @@ func deleteChannel(c *Context, w http.ResponseWriter, r *http.Request) { } } - err = app.DeleteChannel(channel, c.Session.UserId) + err = app.DeleteChannel(channel, c.Session.UserId, c.GetSiteURL()) if err != nil { c.Err = err return @@ -647,7 +647,7 @@ func addMember(c *Context, w http.ResponseWriter, r *http.Request) { return } - go app.PostAddToChannelMessage(oUser, nUser, channel) + go app.PostAddToChannelMessage(oUser, nUser, channel, c.GetSiteURL()) app.UpdateChannelLastViewedAt([]string{id}, oUser.Id) w.Write([]byte(cm.ToJson())) @@ -682,7 +682,7 @@ func removeMember(c *Context, w http.ResponseWriter, r *http.Request) { return } - if err = app.RemoveUserFromChannel(userIdToRemove, c.Session.UserId, channel); err != nil { + if err = app.RemoveUserFromChannel(userIdToRemove, c.Session.UserId, channel, c.GetSiteURL()); err != nil { c.Err = err return } diff --git a/api/command.go b/api/command.go index c3a64702f..9acc3485c 100644 --- a/api/command.go +++ b/api/command.go @@ -251,7 +251,7 @@ func handleResponse(c *Context, w http.ResponseWriter, response *model.CommandRe } } - if _, err := app.CreateCommandPost(post, c.TeamId, response); err != nil { + if _, err := app.CreateCommandPost(post, c.TeamId, response, c.GetSiteURL()); err != nil { l4g.Error(err.Error()) } diff --git a/api/command_echo.go b/api/command_echo.go index 2e931e414..38e8e07b5 100644 --- a/api/command_echo.go +++ b/api/command_echo.go @@ -88,7 +88,7 @@ func (me *EchoProvider) DoCommand(c *Context, args *model.CommandArgs, message s time.Sleep(time.Duration(delay) * time.Second) - if _, err := app.CreatePost(post, c.TeamId, true); err != nil { + if _, err := app.CreatePost(post, c.TeamId, true, c.GetSiteURL()); err != nil { l4g.Error(c.T("api.command_echo.create.app_error"), err) } }() diff --git a/api/command_join.go b/api/command_join.go index 17deb02b7..25c62d8c9 100644 --- a/api/command_join.go +++ b/api/command_join.go @@ -45,7 +45,7 @@ func (me *JoinProvider) DoCommand(c *Context, args *model.CommandArgs, message s return &model.CommandResponse{Text: c.T("api.command_join.fail.app_error"), ResponseType: model.COMMAND_RESPONSE_TYPE_EPHEMERAL} } - if err := app.JoinChannel(channel, c.Session.UserId); err != nil { + if err := app.JoinChannel(channel, c.Session.UserId, c.GetSiteURL()); err != nil { return &model.CommandResponse{Text: c.T("api.command_join.fail.app_error"), ResponseType: model.COMMAND_RESPONSE_TYPE_EPHEMERAL} } diff --git a/api/command_loadtest.go b/api/command_loadtest.go index dfbbadc3b..cc5c19ab7 100644 --- a/api/command_loadtest.go +++ b/api/command_loadtest.go @@ -359,7 +359,7 @@ func (me *LoadTestProvider) UrlCommand(c *Context, channelId string, message str post.ChannelId = channelId post.UserId = c.Session.UserId - if _, err := app.CreatePost(post, c.TeamId, false); err != nil { + if _, err := app.CreatePost(post, c.TeamId, false, c.GetSiteURL()); err != nil { return &model.CommandResponse{Text: "Unable to create post", ResponseType: model.COMMAND_RESPONSE_TYPE_EPHEMERAL} } } @@ -398,7 +398,7 @@ func (me *LoadTestProvider) JsonCommand(c *Context, channelId string, message st post.Message = message } - if _, err := app.CreatePost(post, c.TeamId, false); err != nil { + if _, err := app.CreatePost(post, c.TeamId, false, c.GetSiteURL()); err != nil { return &model.CommandResponse{Text: "Unable to create post", ResponseType: model.COMMAND_RESPONSE_TYPE_EPHEMERAL} } return &model.CommandResponse{Text: "Loaded data", ResponseType: model.COMMAND_RESPONSE_TYPE_EPHEMERAL} diff --git a/api/command_msg.go b/api/command_msg.go index f8c8fae1c..6ed101004 100644 --- a/api/command_msg.go +++ b/api/command_msg.go @@ -86,7 +86,7 @@ func (me *msgProvider) DoCommand(c *Context, args *model.CommandArgs, message st post.Message = parsedMessage post.ChannelId = targetChannelId post.UserId = c.Session.UserId - if _, err := app.CreatePost(post, c.TeamId, true); err != nil { + if _, err := app.CreatePost(post, c.TeamId, true, c.GetSiteURL()); err != nil { return &model.CommandResponse{Text: c.T("api.command_msg.fail.app_error"), ResponseType: model.COMMAND_RESPONSE_TYPE_EPHEMERAL} } } diff --git a/api/oauth.go b/api/oauth.go index 659d5c129..25d4a89f9 100644 --- a/api/oauth.go +++ b/api/oauth.go @@ -285,7 +285,7 @@ func completeOAuth(c *Context, w http.ResponseWriter, r *http.Request) { action := props["action"] switch action { case model.OAUTH_ACTION_SIGNUP: - if user, err := app.CreateOAuthUser(service, body, teamId); err != nil { + if user, err := app.CreateOAuthUser(service, body, teamId, c.GetSiteURL()); err != nil { c.Err = err } else { doLogin(c, w, r, user, "") @@ -297,7 +297,7 @@ func completeOAuth(c *Context, w http.ResponseWriter, r *http.Request) { case model.OAUTH_ACTION_LOGIN: user := LoginByOAuth(c, w, r, service, body) if len(teamId) > 0 { - c.Err = app.AddUserToTeamByTeamId(teamId, user) + c.Err = app.AddUserToTeamByTeamId(teamId, user, c.GetSiteURL()) } if c.Err == nil { if val, ok := props["redirect_to"]; ok { diff --git a/api/post.go b/api/post.go index 4e7801e2b..f5b551218 100644 --- a/api/post.go +++ b/api/post.go @@ -58,7 +58,7 @@ func createPost(c *Context, w http.ResponseWriter, r *http.Request) { post.CreateAt = 0 } - rp, err := app.CreatePostAsUser(post) + rp, err := app.CreatePostAsUser(post, c.GetSiteURL()) if err != nil { c.Err = err return @@ -284,7 +284,7 @@ func getPermalinkTmp(c *Context, w http.ResponseWriter, r *http.Request) { } } - if list, err := app.GetPermalinkPost(postId, c.Session.UserId); err != nil { + if list, err := app.GetPermalinkPost(postId, c.Session.UserId, c.GetSiteURL()); err != nil { c.Err = err return } else if HandleEtag(list.Etag(), "Get Permalink TMP", w, r) { diff --git a/api/team.go b/api/team.go index 3d6f18714..dda3b9d9d 100644 --- a/api/team.go +++ b/api/team.go @@ -61,7 +61,7 @@ func createTeam(c *Context, w http.ResponseWriter, r *http.Request) { return } - rteam, err := app.CreateTeamWithUser(team, c.Session.UserId) + rteam, err := app.CreateTeamWithUser(team, c.Session.UserId, c.GetSiteURL()) if err != nil { c.Err = err return @@ -153,7 +153,7 @@ func addUserToTeam(c *Context, w http.ResponseWriter, r *http.Request) { return } - if _, err := app.AddUserToTeam(c.TeamId, userId); err != nil { + if _, err := app.AddUserToTeam(c.TeamId, userId, c.GetSiteURL()); err != nil { c.Err = err return } @@ -195,9 +195,9 @@ func addUserToTeamFromInvite(c *Context, w http.ResponseWriter, r *http.Request) var err *model.AppError if len(hash) > 0 { - team, err = app.AddUserToTeamByHash(c.Session.UserId, hash, data) + team, err = app.AddUserToTeamByHash(c.Session.UserId, hash, data, c.GetSiteURL()) } else if len(inviteId) > 0 { - team, err = app.AddUserToTeamByInviteId(inviteId, c.Session.UserId) + team, err = app.AddUserToTeamByInviteId(inviteId, c.Session.UserId, c.GetSiteURL()) } else { c.Err = model.NewLocAppError("addUserToTeamFromInvite", "api.user.create_user.signup_link_invalid.app_error", nil, "") return diff --git a/api/user.go b/api/user.go index 183f4e100..cac6aeade 100644 --- a/api/user.go +++ b/api/user.go @@ -89,7 +89,7 @@ func createUser(c *Context, w http.ResponseWriter, r *http.Request) { var ruser *model.User var err *model.AppError if len(hash) > 0 { - ruser, err = app.CreateUserWithHash(user, hash, r.URL.Query().Get("d")) + ruser, err = app.CreateUserWithHash(user, hash, r.URL.Query().Get("d"), c.GetSiteURL()) } else if len(inviteId) > 0 { ruser, err = app.CreateUserWithInviteId(user, inviteId, c.GetSiteURL()) } else { @@ -158,7 +158,7 @@ func LoginByOAuth(c *Context, w http.ResponseWriter, r *http.Request, service st var err *model.AppError if user, err = app.GetUserByAuth(&authData, service); err != nil { if err.Id == store.MISSING_AUTH_ACCOUNT_ERROR { - if user, err = app.CreateOAuthUser(service, bytes.NewReader(buf.Bytes()), ""); err != nil { + if user, err = app.CreateOAuthUser(service, bytes.NewReader(buf.Bytes()), "", c.GetSiteURL()); err != nil { c.Err = err return nil } @@ -1411,7 +1411,7 @@ func completeSaml(c *Context, w http.ResponseWriter, r *http.Request) { relayProps = model.MapFromJson(strings.NewReader(stateStr)) } - if user, err := samlInterface.DoLogin(encodedXML, relayProps); err != nil { + if user, err := samlInterface.DoLogin(encodedXML, relayProps, c.GetSiteURL()); err != nil { c.Err = err c.Err.StatusCode = http.StatusFound return diff --git a/api/webhook.go b/api/webhook.go index 12751943e..a86af98c0 100644 --- a/api/webhook.go +++ b/api/webhook.go @@ -374,7 +374,7 @@ func incomingWebhook(c *Context, w http.ResponseWriter, r *http.Request) { parsedRequest := model.IncomingWebhookRequestFromJson(payload) - err := app.HandleIncomingWebhook(id, parsedRequest) + err := app.HandleIncomingWebhook(id, parsedRequest, c.GetSiteURL()) if err != nil { c.Err = err return diff --git a/api4/apitestlib.go b/api4/apitestlib.go index 2647f20f6..ffeeb32fa 100644 --- a/api4/apitestlib.go +++ b/api4/apitestlib.go @@ -296,7 +296,7 @@ func (me *TestHelper) UpdateActiveUser(user *model.User, active bool) { func LinkUserToTeam(user *model.User, team *model.Team) { utils.DisableDebugLogForTest() - err := app.JoinUserToTeam(team, user) + err := app.JoinUserToTeam(team, user, utils.GetSiteURL()) if err != nil { l4g.Error(err.Error()) l4g.Close() diff --git a/api4/channel.go b/api4/channel.go index 8be522484..8ac6f2b14 100644 --- a/api4/channel.go +++ b/api4/channel.go @@ -298,7 +298,7 @@ func removeChannelMember(c *Context, w http.ResponseWriter, r *http.Request) { return } - if err = app.RemoveUserFromChannel(c.Params.UserId, c.Session.UserId, channel); err != nil { + if err = app.RemoveUserFromChannel(c.Params.UserId, c.Session.UserId, channel, c.GetSiteURL()); err != nil { c.Err = err return } diff --git a/api4/post.go b/api4/post.go index 4632cb6df..a43f2f20f 100644 --- a/api4/post.go +++ b/api4/post.go @@ -45,7 +45,7 @@ func createPost(c *Context, w http.ResponseWriter, r *http.Request) { post.CreateAt = 0 } - rp, err := app.CreatePostAsUser(post) + rp, err := app.CreatePostAsUser(post, c.GetSiteURL()) if err != nil { c.Err = err return @@ -224,4 +224,3 @@ func getFileInfosForPost(c *Context, w http.ResponseWriter, r *http.Request) { w.Write([]byte(model.FileInfosToJson(infos))) } } - diff --git a/api4/team.go b/api4/team.go index c88c553fb..71046c790 100644 --- a/api4/team.go +++ b/api4/team.go @@ -41,7 +41,7 @@ func createTeam(c *Context, w http.ResponseWriter, r *http.Request) { return } - rteam, err := app.CreateTeamWithUser(team, c.Session.UserId) + rteam, err := app.CreateTeamWithUser(team, c.Session.UserId, c.GetSiteURL()) if err != nil { c.Err = err return diff --git a/api4/user.go b/api4/user.go index 822cd60c4..d2cc1034a 100644 --- a/api4/user.go +++ b/api4/user.go @@ -59,7 +59,7 @@ func createUser(c *Context, w http.ResponseWriter, r *http.Request) { var ruser *model.User var err *model.AppError if len(hash) > 0 { - ruser, err = app.CreateUserWithHash(user, hash, r.URL.Query().Get("d")) + ruser, err = app.CreateUserWithHash(user, hash, r.URL.Query().Get("d"), c.GetSiteURL()) } else if len(inviteId) > 0 { ruser, err = app.CreateUserWithInviteId(user, inviteId, c.GetSiteURL()) } else { diff --git a/app/apptestlib.go b/app/apptestlib.go index 41e234130..561c98ed2 100644 --- a/app/apptestlib.go +++ b/app/apptestlib.go @@ -161,7 +161,7 @@ func (me *TestHelper) CreatePost(channel *model.Channel) *model.Post { utils.DisableDebugLogForTest() var err *model.AppError - if post, err = CreatePost(post, channel.TeamId, false); err != nil { + if post, err = CreatePost(post, channel.TeamId, false, utils.GetSiteURL()); err != nil { l4g.Error(err.Error()) l4g.Close() time.Sleep(time.Second) @@ -174,7 +174,7 @@ func (me *TestHelper) CreatePost(channel *model.Channel) *model.Post { func LinkUserToTeam(user *model.User, team *model.Team) { utils.DisableDebugLogForTest() - err := JoinUserToTeam(team, user) + err := JoinUserToTeam(team, user, utils.GetSiteURL()) if err != nil { l4g.Error(err.Error()) l4g.Close() diff --git a/app/channel.go b/app/channel.go index f037e64c3..7c63cbc6b 100644 --- a/app/channel.go +++ b/app/channel.go @@ -32,7 +32,7 @@ func CreateDefaultChannels(teamId string) ([]*model.Channel, *model.AppError) { return channels, nil } -func JoinDefaultChannels(teamId string, user *model.User, channelRole string) *model.AppError { +func JoinDefaultChannels(teamId string, user *model.User, channelRole string, siteURL string) *model.AppError { var err *model.AppError = nil if result := <-Srv.Store.Channel().GetByName(teamId, "town-square", true); result.Err != nil { @@ -47,7 +47,7 @@ func JoinDefaultChannels(teamId string, user *model.User, channelRole string) *m err = cmResult.Err } - if err := postJoinChannelMessage(user, townSquare); err != nil { + if err := postJoinChannelMessage(user, townSquare, siteURL); err != nil { l4g.Error(utils.T("api.channel.post_user_add_remove_message_and_forget.error"), err) } @@ -66,7 +66,7 @@ func JoinDefaultChannels(teamId string, user *model.User, channelRole string) *m err = cmResult.Err } - if err := postJoinChannelMessage(user, offTopic); err != nil { + if err := postJoinChannelMessage(user, offTopic, siteURL); err != nil { l4g.Error(utils.T("api.channel.post_user_add_remove_message_and_forget.error"), err) } @@ -310,7 +310,7 @@ func UpdateChannelMemberNotifyProps(data map[string]string, channelId string, us } } -func DeleteChannel(channel *model.Channel, userId string) *model.AppError { +func DeleteChannel(channel *model.Channel, userId string, siteURL string) *model.AppError { uc := Srv.Store.User().Get(userId) ihc := Srv.Store.Webhook().GetIncomingByChannel(channel.Id) ohc := Srv.Store.Webhook().GetOutgoingByChannel(channel.Id) @@ -350,7 +350,7 @@ func DeleteChannel(channel *model.Channel, userId string) *model.AppError { }, } - if _, err := CreatePost(post, channel.TeamId, false); err != nil { + if _, err := CreatePost(post, channel.TeamId, false, siteURL); err != nil { l4g.Error(utils.T("api.channel.delete_channel.failed_post.error"), err) } @@ -482,7 +482,7 @@ func AddDirectChannels(teamId string, user *model.User) *model.AppError { return nil } -func PostUpdateChannelHeaderMessage(userId string, channelId string, teamId string, oldChannelHeader, newChannelHeader string) *model.AppError { +func PostUpdateChannelHeaderMessage(userId string, channelId string, teamId string, oldChannelHeader, newChannelHeader string, siteURL string) *model.AppError { uc := Srv.Store.User().Get(userId) if uresult := <-uc; uresult.Err != nil { @@ -511,7 +511,7 @@ func PostUpdateChannelHeaderMessage(userId string, channelId string, teamId stri }, } - if _, err := CreatePost(post, teamId, false); err != nil { + if _, err := CreatePost(post, teamId, false, siteURL); err != nil { return model.NewLocAppError("", "api.channel.post_update_channel_header_message_and_forget.post.error", nil, err.Error()) } } @@ -519,7 +519,7 @@ func PostUpdateChannelHeaderMessage(userId string, channelId string, teamId stri return nil } -func PostUpdateChannelPurposeMessage(userId string, channelId string, teamId string, oldChannelPurpose string, newChannelPurpose string) *model.AppError { +func PostUpdateChannelPurposeMessage(userId string, channelId string, teamId string, oldChannelPurpose string, newChannelPurpose string, siteURL string) *model.AppError { uc := Srv.Store.User().Get(userId) if uresult := <-uc; uresult.Err != nil { @@ -547,7 +547,7 @@ func PostUpdateChannelPurposeMessage(userId string, channelId string, teamId str "new_purpose": newChannelPurpose, }, } - if _, err := CreatePost(post, teamId, false); err != nil { + if _, err := CreatePost(post, teamId, false, siteURL); err != nil { return model.NewLocAppError("", "app.channel.post_update_channel_purpose_message.post.error", nil, err.Error()) } } @@ -555,7 +555,7 @@ func PostUpdateChannelPurposeMessage(userId string, channelId string, teamId str return nil } -func PostUpdateChannelDisplayNameMessage(userId string, channelId string, teamId string, oldChannelDisplayName, newChannelDisplayName string) *model.AppError { +func PostUpdateChannelDisplayNameMessage(userId string, channelId string, teamId string, oldChannelDisplayName, newChannelDisplayName string, siteURL string) *model.AppError { uc := Srv.Store.User().Get(userId) if uresult := <-uc; uresult.Err != nil { @@ -577,7 +577,7 @@ func PostUpdateChannelDisplayNameMessage(userId string, channelId string, teamId }, } - if _, err := CreatePost(post, teamId, false); err != nil { + if _, err := CreatePost(post, teamId, false, siteURL); err != nil { return model.NewLocAppError("PostUpdateChannelDisplayNameMessage", "api.channel.post_update_channel_displayname_message_and_forget.create_post.error", nil, err.Error()) } } @@ -694,7 +694,7 @@ func GetChannelCounts(teamId string, userId string) (*model.ChannelCounts, *mode } } -func JoinChannel(channel *model.Channel, userId string) *model.AppError { +func JoinChannel(channel *model.Channel, userId string, siteURL string) *model.AppError { userChan := Srv.Store.User().Get(userId) memberChan := Srv.Store.Channel().GetMember(channel.Id, userId) @@ -711,7 +711,7 @@ func JoinChannel(channel *model.Channel, userId string) *model.AppError { return err } - if err := postJoinChannelMessage(user, channel); err != nil { + if err := postJoinChannelMessage(user, channel, siteURL); err != nil { return err } } else { @@ -722,7 +722,7 @@ func JoinChannel(channel *model.Channel, userId string) *model.AppError { return nil } -func postJoinChannelMessage(user *model.User, channel *model.Channel) *model.AppError { +func postJoinChannelMessage(user *model.User, channel *model.Channel, siteURL string) *model.AppError { post := &model.Post{ ChannelId: channel.Id, Message: fmt.Sprintf(utils.T("api.channel.join_channel.post_and_forget"), user.Username), @@ -733,14 +733,14 @@ func postJoinChannelMessage(user *model.User, channel *model.Channel) *model.App }, } - if _, err := CreatePost(post, channel.TeamId, false); err != nil { + if _, err := CreatePost(post, channel.TeamId, false, siteURL); err != nil { return model.NewLocAppError("postJoinChannelMessage", "api.channel.post_user_add_remove_message_and_forget.error", nil, err.Error()) } return nil } -func LeaveChannel(channelId string, userId string) *model.AppError { +func LeaveChannel(channelId string, userId string, siteURL string) *model.AppError { sc := Srv.Store.Channel().Get(channelId, true) uc := Srv.Store.User().Get(userId) ccm := Srv.Store.Channel().GetMemberCount(channelId, false) @@ -772,13 +772,13 @@ func LeaveChannel(channelId string, userId string) *model.AppError { return err } - go postLeaveChannelMessage(user, channel) + go postLeaveChannelMessage(user, channel, siteURL) } return nil } -func postLeaveChannelMessage(user *model.User, channel *model.Channel) *model.AppError { +func postLeaveChannelMessage(user *model.User, channel *model.Channel, siteURL string) *model.AppError { post := &model.Post{ ChannelId: channel.Id, Message: fmt.Sprintf(utils.T("api.channel.leave.left"), user.Username), @@ -789,14 +789,14 @@ func postLeaveChannelMessage(user *model.User, channel *model.Channel) *model.Ap }, } - if _, err := CreatePost(post, channel.TeamId, false); err != nil { + if _, err := CreatePost(post, channel.TeamId, false, siteURL); err != nil { return model.NewLocAppError("postLeaveChannelMessage", "api.channel.post_user_add_remove_message_and_forget.error", nil, err.Error()) } return nil } -func PostAddToChannelMessage(user *model.User, addedUser *model.User, channel *model.Channel) *model.AppError { +func PostAddToChannelMessage(user *model.User, addedUser *model.User, channel *model.Channel, siteURL string) *model.AppError { post := &model.Post{ ChannelId: channel.Id, Message: fmt.Sprintf(utils.T("api.channel.add_member.added"), addedUser.Username, user.Username), @@ -808,14 +808,14 @@ func PostAddToChannelMessage(user *model.User, addedUser *model.User, channel *m }, } - if _, err := CreatePost(post, channel.TeamId, false); err != nil { + if _, err := CreatePost(post, channel.TeamId, false, siteURL); err != nil { return model.NewLocAppError("postAddToChannelMessage", "api.channel.post_user_add_remove_message_and_forget.error", nil, err.Error()) } return nil } -func PostRemoveFromChannelMessage(removerUserId string, removedUser *model.User, channel *model.Channel) *model.AppError { +func PostRemoveFromChannelMessage(removerUserId string, removedUser *model.User, channel *model.Channel, siteURL string) *model.AppError { post := &model.Post{ ChannelId: channel.Id, Message: fmt.Sprintf(utils.T("api.channel.remove_member.removed"), removedUser.Username), @@ -826,7 +826,7 @@ func PostRemoveFromChannelMessage(removerUserId string, removedUser *model.User, }, } - if _, err := CreatePost(post, channel.TeamId, false); err != nil { + if _, err := CreatePost(post, channel.TeamId, false, siteURL); err != nil { return model.NewLocAppError("postRemoveFromChannelMessage", "api.channel.post_user_add_remove_message_and_forget.error", nil, err.Error()) } @@ -865,7 +865,7 @@ func removeUserFromChannel(userIdToRemove string, removerUserId string, channel return nil } -func RemoveUserFromChannel(userIdToRemove string, removerUserId string, channel *model.Channel) *model.AppError { +func RemoveUserFromChannel(userIdToRemove string, removerUserId string, channel *model.Channel, siteURL string) *model.AppError { var err *model.AppError if err = removeUserFromChannel(userIdToRemove, removerUserId, channel); err != nil { return err @@ -876,7 +876,7 @@ func RemoveUserFromChannel(userIdToRemove string, removerUserId string, channel return err } - go PostRemoveFromChannelMessage(removerUserId, user, channel) + go PostRemoveFromChannelMessage(removerUserId, user, channel, siteURL) return nil } diff --git a/app/command.go b/app/command.go index 2d5861206..4d344915d 100644 --- a/app/command.go +++ b/app/command.go @@ -7,7 +7,7 @@ import ( "github.com/mattermost/platform/model" ) -func CreateCommandPost(post *model.Post, teamId string, response *model.CommandResponse) (*model.Post, *model.AppError) { +func CreateCommandPost(post *model.Post, teamId string, response *model.CommandResponse, siteURL string) (*model.Post, *model.AppError) { post.Message = parseSlackLinksToMarkdown(response.Text) post.CreateAt = model.GetMillis() @@ -17,7 +17,7 @@ func CreateCommandPost(post *model.Post, teamId string, response *model.CommandR switch response.ResponseType { case model.COMMAND_RESPONSE_TYPE_IN_CHANNEL: - return CreatePost(post, teamId, true) + return CreatePost(post, teamId, true, siteURL) case model.COMMAND_RESPONSE_TYPE_EPHEMERAL: if response.Text == "" { return post, nil diff --git a/app/import.go b/app/import.go index 1ca532902..4d0feb532 100644 --- a/app/import.go +++ b/app/import.go @@ -865,7 +865,7 @@ func OldImportUser(team *model.Team, user *model.User) *model.User { l4g.Error(utils.T("api.import.import_user.set_email.error"), cresult.Err) } - if err := JoinUserToTeam(team, user); err != nil { + if err := JoinUserToTeam(team, user, utils.GetSiteURL()); err != nil { l4g.Error(utils.T("api.import.import_user.join_team.error"), err) } diff --git a/app/notification.go b/app/notification.go index 1dd3fedb2..67959c6bc 100644 --- a/app/notification.go +++ b/app/notification.go @@ -24,7 +24,7 @@ import ( "github.com/nicksnyder/go-i18n/i18n" ) -func SendNotifications(post *model.Post, team *model.Team, channel *model.Channel, sender *model.User) ([]string, *model.AppError) { +func SendNotifications(post *model.Post, team *model.Team, channel *model.Channel, sender *model.User, siteURL string) ([]string, *model.AppError) { pchan := Srv.Store.User().GetAllProfilesInChannel(channel.Id, true) cmnchan := Srv.Store.Channel().GetAllChannelMembersNotifyPropsForChannel(channel.Id, true) var fchan store.StoreChannel @@ -171,7 +171,7 @@ func SendNotifications(post *model.Post, team *model.Team, channel *model.Channe } if userAllowsEmails && status.Status != model.STATUS_ONLINE && profileMap[id].DeleteAt == 0 { - sendNotificationEmail(post, profileMap[id], channel, team, senderName, sender) + sendNotificationEmail(post, profileMap[id], channel, team, senderName, sender, siteURL) } } } @@ -317,7 +317,7 @@ func SendNotifications(post *model.Post, team *model.Team, channel *model.Channe return mentionedUsersList, nil } -func sendNotificationEmail(post *model.Post, user *model.User, channel *model.Channel, team *model.Team, senderName string, sender *model.User) *model.AppError { +func sendNotificationEmail(post *model.Post, user *model.User, channel *model.Channel, team *model.Team, senderName string, sender *model.User, siteURL string) *model.AppError { if channel.IsGroupOrDirect() && channel.TeamId != team.Id { // this message is a cross-team DM/GM so we need to find a team that the recipient is on to use in the link if result := <-Srv.Store.Team().GetTeamsByUserId(user.Id); result.Err != nil { @@ -368,7 +368,7 @@ func sendNotificationEmail(post *model.Post, user *model.User, channel *model.Ch var mailTemplate string var mailParameters map[string]interface{} - teamURL := utils.GetSiteURL() + "/" + team.Name + teamURL := siteURL + "/" + team.Name tm := time.Unix(post.CreateAt/1000, 0) userLocale := utils.GetUserTranslations(user.Locale) @@ -406,7 +406,7 @@ func sendNotificationEmail(post *model.Post, user *model.User, channel *model.Ch subject := fmt.Sprintf("[%v] %v", utils.Cfg.TeamSettings.SiteName, userLocale(mailTemplate, mailParameters)) bodyPage := utils.NewHTMLTemplate("post_body", user.Locale) - bodyPage.Props["SiteURL"] = utils.GetSiteURL() + bodyPage.Props["SiteURL"] = siteURL bodyPage.Props["PostMessage"] = GetMessageForNotification(post, userLocale) if team.Name != "select_team" { bodyPage.Props["TeamLink"] = teamURL + "/pl/" + post.Id diff --git a/app/notification_test.go b/app/notification_test.go index 3768a95c7..fd8c4bf57 100644 --- a/app/notification_test.go +++ b/app/notification_test.go @@ -7,6 +7,7 @@ import ( "testing" "github.com/mattermost/platform/model" + "github.com/mattermost/platform/utils" ) func TestSendNotifications(t *testing.T) { @@ -18,13 +19,13 @@ func TestSendNotifications(t *testing.T) { UserId: th.BasicUser.Id, ChannelId: th.BasicChannel.Id, Message: "@" + th.BasicUser2.Username, - }, th.BasicTeam.Id, true) + }, th.BasicTeam.Id, true, utils.GetSiteURL()) if postErr != nil { t.Fatal(postErr) } - mentions, err := SendNotifications(post1, th.BasicTeam, th.BasicChannel, th.BasicUser) + mentions, err := SendNotifications(post1, th.BasicTeam, th.BasicChannel, th.BasicUser, utils.GetSiteURL()) if err != nil { t.Fatal(err) } else if mentions == nil { diff --git a/app/post.go b/app/post.go index 3d463aade..c4d128399 100644 --- a/app/post.go +++ b/app/post.go @@ -24,7 +24,7 @@ var ( linkWithTextRegex = regexp.MustCompile(`<([^<\|]+)\|([^>]+)>`) ) -func CreatePostAsUser(post *model.Post) (*model.Post, *model.AppError) { +func CreatePostAsUser(post *model.Post, siteURL string) (*model.Post, *model.AppError) { // Check that channel has not been deleted var channel *model.Channel if result := <-Srv.Store.Channel().Get(post.ChannelId, true); result.Err != nil { @@ -41,7 +41,7 @@ func CreatePostAsUser(post *model.Post) (*model.Post, *model.AppError) { return nil, err } - if rp, err := CreatePost(post, channel.TeamId, true); err != nil { + if rp, err := CreatePost(post, channel.TeamId, true, siteURL); err != nil { if err.Id == "api.post.create_post.root_id.app_error" || err.Id == "api.post.create_post.channel_root_id.app_error" || err.Id == "api.post.create_post.parent_id.app_error" { @@ -62,7 +62,7 @@ func CreatePostAsUser(post *model.Post) (*model.Post, *model.AppError) { } -func CreatePost(post *model.Post, teamId string, triggerWebhooks bool) (*model.Post, *model.AppError) { +func CreatePost(post *model.Post, teamId string, triggerWebhooks bool, siteURL string) (*model.Post, *model.AppError) { var pchan store.StoreChannel if len(post.RootId) > 0 { pchan = Srv.Store.Post().Get(post.RootId) @@ -119,14 +119,14 @@ func CreatePost(post *model.Post, teamId string, triggerWebhooks bool) (*model.P } } - if err := handlePostEvents(rpost, teamId, triggerWebhooks); err != nil { + if err := handlePostEvents(rpost, teamId, triggerWebhooks, siteURL); err != nil { return nil, err } return rpost, nil } -func handlePostEvents(post *model.Post, teamId string, triggerWebhooks bool) *model.AppError { +func handlePostEvents(post *model.Post, teamId string, triggerWebhooks bool, siteURL string) *model.AppError { var tchan store.StoreChannel if len(teamId) > 0 { tchan = Srv.Store.Team().Get(teamId) @@ -163,13 +163,13 @@ func handlePostEvents(post *model.Post, teamId string, triggerWebhooks bool) *mo user = result.Data.(*model.User) } - if _, err := SendNotifications(post, team, channel, user); err != nil { + if _, err := SendNotifications(post, team, channel, user, siteURL); err != nil { return err } if triggerWebhooks { go func() { - if err := handleWebhookEvents(post, team, channel, user); err != nil { + if err := handleWebhookEvents(post, team, channel, user, siteURL); err != nil { l4g.Error(err.Error()) } }() @@ -345,7 +345,7 @@ func GetFlaggedPosts(userId string, offset int, limit int) (*model.PostList, *mo } } -func GetPermalinkPost(postId string, userId string) (*model.PostList, *model.AppError) { +func GetPermalinkPost(postId string, userId string, siteURL string) (*model.PostList, *model.AppError) { if result := <-Srv.Store.Post().Get(postId); result.Err != nil { return nil, result.Err } else { @@ -362,7 +362,7 @@ func GetPermalinkPost(postId string, userId string) (*model.PostList, *model.App return nil, err } - if err = JoinChannel(channel, userId); err != nil { + if err = JoinChannel(channel, userId, siteURL); err != nil { return nil, err } diff --git a/app/slackimport.go b/app/slackimport.go index 5512d8c00..ced0f6581 100644 --- a/app/slackimport.go +++ b/app/slackimport.go @@ -167,7 +167,7 @@ func SlackAddUsers(teamId string, slackusers []SlackUser, log *bytes.Buffer) map if result := <-Srv.Store.User().GetByEmail(email); result.Err == nil { existingUser := result.Data.(*model.User) addedUsers[sUser.Id] = existingUser - if err := JoinUserToTeam(team, addedUsers[sUser.Id]); err != nil { + if err := JoinUserToTeam(team, addedUsers[sUser.Id], utils.GetSiteURL()); err != nil { log.WriteString(utils.T("api.slackimport.slack_add_users.merge_existing_failed", map[string]interface{}{"Email": existingUser.Email, "Username": existingUser.Username})) } else { log.WriteString(utils.T("api.slackimport.slack_add_users.merge_existing", map[string]interface{}{"Email": existingUser.Email, "Username": existingUser.Username})) diff --git a/app/team.go b/app/team.go index 60a2f4220..875dedfd0 100644 --- a/app/team.go +++ b/app/team.go @@ -29,7 +29,7 @@ func CreateTeam(team *model.Team) (*model.Team, *model.AppError) { } } -func CreateTeamWithUser(team *model.Team, userId string) (*model.Team, *model.AppError) { +func CreateTeamWithUser(team *model.Team, userId string, siteURL string) (*model.Team, *model.AppError) { var user *model.User var err *model.AppError if user, err = GetUser(userId); err != nil { @@ -47,7 +47,7 @@ func CreateTeamWithUser(team *model.Team, userId string) (*model.Team, *model.Ap return nil, err } - if err = JoinUserToTeam(rteam, user); err != nil { + if err = JoinUserToTeam(rteam, user, siteURL); err != nil { return nil, err } @@ -137,7 +137,7 @@ func UpdateTeamMemberRoles(teamId string, userId string, newRoles string) (*mode return member, nil } -func AddUserToTeam(teamId string, userId string) (*model.Team, *model.AppError) { +func AddUserToTeam(teamId string, userId string, siteURL string) (*model.Team, *model.AppError) { tchan := Srv.Store.Team().Get(teamId) uchan := Srv.Store.User().Get(userId) @@ -155,22 +155,22 @@ func AddUserToTeam(teamId string, userId string) (*model.Team, *model.AppError) user = result.Data.(*model.User) } - if err := JoinUserToTeam(team, user); err != nil { + if err := JoinUserToTeam(team, user, siteURL); err != nil { return nil, err } return team, nil } -func AddUserToTeamByTeamId(teamId string, user *model.User) *model.AppError { +func AddUserToTeamByTeamId(teamId string, user *model.User, siteURL string) *model.AppError { if result := <-Srv.Store.Team().Get(teamId); result.Err != nil { return result.Err } else { - return JoinUserToTeam(result.Data.(*model.Team), user) + return JoinUserToTeam(result.Data.(*model.Team), user, siteURL) } } -func AddUserToTeamByHash(userId string, hash string, data string) (*model.Team, *model.AppError) { +func AddUserToTeamByHash(userId string, hash string, data string, siteURL string) (*model.Team, *model.AppError) { props := model.MapFromJson(strings.NewReader(data)) if !model.ComparePassword(hash, fmt.Sprintf("%v:%v", data, utils.Cfg.EmailSettings.InviteSalt)) { @@ -199,14 +199,14 @@ func AddUserToTeamByHash(userId string, hash string, data string) (*model.Team, user = result.Data.(*model.User) } - if err := JoinUserToTeam(team, user); err != nil { + if err := JoinUserToTeam(team, user, siteURL); err != nil { return nil, err } return team, nil } -func AddUserToTeamByInviteId(inviteId string, userId string) (*model.Team, *model.AppError) { +func AddUserToTeamByInviteId(inviteId string, userId string, siteURL string) (*model.Team, *model.AppError) { tchan := Srv.Store.Team().GetByInviteId(inviteId) uchan := Srv.Store.User().Get(userId) @@ -224,7 +224,7 @@ func AddUserToTeamByInviteId(inviteId string, userId string) (*model.Team, *mode user = result.Data.(*model.User) } - if err := JoinUserToTeam(team, user); err != nil { + if err := JoinUserToTeam(team, user, siteURL); err != nil { return nil, err } @@ -269,7 +269,7 @@ func joinUserToTeam(team *model.Team, user *model.User) (bool, *model.AppError) return false, nil } -func JoinUserToTeam(team *model.Team, user *model.User) *model.AppError { +func JoinUserToTeam(team *model.Team, user *model.User, siteURL string) *model.AppError { if alreadyAdded, err := joinUserToTeam(team, user); err != nil { return err @@ -284,7 +284,7 @@ func JoinUserToTeam(team *model.Team, user *model.User) *model.AppError { } // Soft error if there is an issue joining the default channels - if err := JoinDefaultChannels(team.Id, user, channelRole); err != nil { + if err := JoinDefaultChannels(team.Id, user, channelRole, siteURL); err != nil { l4g.Error(utils.T("api.user.create_user.joining.error"), user.Id, team.Id, err) } diff --git a/app/team_test.go b/app/team_test.go index 64af0c4af..75f09f1ca 100644 --- a/app/team_test.go +++ b/app/team_test.go @@ -8,6 +8,7 @@ import ( "testing" "github.com/mattermost/platform/model" + "github.com/mattermost/platform/utils" ) func TestCreateTeam(t *testing.T) { @@ -42,12 +43,12 @@ func TestCreateTeamWithUser(t *testing.T) { Type: model.TEAM_OPEN, } - if _, err := CreateTeamWithUser(team, th.BasicUser.Id); err != nil { + if _, err := CreateTeamWithUser(team, th.BasicUser.Id, utils.GetSiteURL()); err != nil { t.Log(err) t.Fatal("Should create a new team with existing user") } - if _, err := CreateTeamWithUser(team, model.NewId()); err == nil { + if _, err := CreateTeamWithUser(team, model.NewId(), utils.GetSiteURL()); err == nil { t.Fatal("Should not create a new team - user does not exist") } @@ -63,7 +64,7 @@ func TestCreateTeamWithUser(t *testing.T) { } //Fail to create a team with user when user has set email without domain - if _, err := CreateTeamWithUser(team2, ruser.Id); err == nil { + if _, err := CreateTeamWithUser(team2, ruser.Id, utils.GetSiteURL()); err == nil { t.Log(err.Message) t.Fatal("Should not create a team with user when user has set email without domain") } else { @@ -95,7 +96,7 @@ func TestAddUserToTeam(t *testing.T) { user := model.User{Email: strings.ToLower(model.NewId()) + "success+test@example.com", Nickname: "Darth Vader", Username: "vader" + model.NewId(), Password: "passwd1", AuthService: ""} ruser, _ := CreateUser(&user) - if _, err := AddUserToTeam(th.BasicTeam.Id, ruser.Id); err != nil { + if _, err := AddUserToTeam(th.BasicTeam.Id, ruser.Id, utils.GetSiteURL()); err != nil { t.Log(err) t.Fatal("Should add user to the team") } @@ -107,7 +108,7 @@ func TestAddUserToTeamByTeamId(t *testing.T) { user := model.User{Email: strings.ToLower(model.NewId()) + "success+test@example.com", Nickname: "Darth Vader", Username: "vader" + model.NewId(), Password: "passwd1", AuthService: ""} ruser, _ := CreateUser(&user) - if err := AddUserToTeamByTeamId(th.BasicTeam.Id, ruser); err != nil { + if err := AddUserToTeamByTeamId(th.BasicTeam.Id, ruser, utils.GetSiteURL()); err != nil { t.Log(err) t.Fatal("Should add user to the team") } diff --git a/app/user.go b/app/user.go index d1ddceb23..d050e1524 100644 --- a/app/user.go +++ b/app/user.go @@ -29,7 +29,7 @@ import ( "github.com/mattermost/platform/utils" ) -func CreateUserWithHash(user *model.User, hash string, data string) (*model.User, *model.AppError) { +func CreateUserWithHash(user *model.User, hash string, data string, siteURL string) (*model.User, *model.AppError) { if err := IsUserSignUpAllowed(); err != nil { return nil, err } @@ -62,7 +62,7 @@ func CreateUserWithHash(user *model.User, hash string, data string) (*model.User return nil, err } - if err := JoinUserToTeam(team, ruser); err != nil { + if err := JoinUserToTeam(team, ruser, siteURL); err != nil { return nil, err } @@ -91,7 +91,7 @@ func CreateUserWithInviteId(user *model.User, inviteId string, siteURL string) ( return nil, err } - if err := JoinUserToTeam(team, ruser); err != nil { + if err := JoinUserToTeam(team, ruser, siteURL); err != nil { return nil, err } @@ -216,7 +216,7 @@ func createUser(user *model.User) (*model.User, *model.AppError) { } } -func CreateOAuthUser(service string, userData io.Reader, teamId string) (*model.User, *model.AppError) { +func CreateOAuthUser(service string, userData io.Reader, teamId string, siteURL string) (*model.User, *model.AppError) { if !utils.Cfg.TeamSettings.EnableUserCreation { return nil, model.NewAppError("CreateOAuthUser", "api.user.create_user.disabled.app_error", nil, "", http.StatusNotImplemented) } @@ -268,7 +268,7 @@ func CreateOAuthUser(service string, userData io.Reader, teamId string) (*model. } if len(teamId) > 0 { - err = AddUserToTeamByTeamId(teamId, user) + err = AddUserToTeamByTeamId(teamId, user, siteURL) if err != nil { return nil, err } diff --git a/app/user_test.go b/app/user_test.go index ec0e2b73c..d8d6bdc79 100644 --- a/app/user_test.go +++ b/app/user_test.go @@ -70,7 +70,7 @@ func TestCreateOAuthUser(t *testing.T) { glUser := oauthgitlab.GitLabUser{Id: int64(r.Intn(1000)), Username: "joram" + model.NewId(), Email: model.NewId() + "@simulator.amazonses.com", Name: "Joram Wilander"} json := glUser.ToJson() - user, err := CreateOAuthUser(model.USER_AUTH_SERVICE_GITLAB, strings.NewReader(json), th.BasicTeam.Id) + user, err := CreateOAuthUser(model.USER_AUTH_SERVICE_GITLAB, strings.NewReader(json), th.BasicTeam.Id, utils.GetSiteURL()) if err != nil { t.Fatal(err) } @@ -87,7 +87,7 @@ func TestCreateOAuthUser(t *testing.T) { }() utils.Cfg.TeamSettings.EnableUserCreation = false - _, err = CreateOAuthUser(model.USER_AUTH_SERVICE_GITLAB, strings.NewReader(json), th.BasicTeam.Id) + _, err = CreateOAuthUser(model.USER_AUTH_SERVICE_GITLAB, strings.NewReader(json), th.BasicTeam.Id, utils.GetSiteURL()) if err == nil { t.Fatal("should have failed - user creation disabled") } @@ -253,7 +253,7 @@ func createGitlabUser(t *testing.T, email string, username string) (*model.User, var user *model.User var err *model.AppError - if user, err = CreateOAuthUser("gitlab", bytes.NewReader(gitlabUser), ""); err != nil { + if user, err = CreateOAuthUser("gitlab", bytes.NewReader(gitlabUser), "", utils.GetSiteURL()); err != nil { t.Fatal("unable to create the user") } diff --git a/app/webhook.go b/app/webhook.go index 6f1cec4a8..f58b267b7 100644 --- a/app/webhook.go +++ b/app/webhook.go @@ -24,7 +24,7 @@ const ( TRIGGERWORDS_STARTSWITH = 1 ) -func handleWebhookEvents(post *model.Post, team *model.Team, channel *model.Channel, user *model.User) *model.AppError { +func handleWebhookEvents(post *model.Post, team *model.Team, channel *model.Channel, user *model.User, siteURL string) *model.AppError { if !utils.Cfg.ServiceSettings.EnableOutgoingWebhooks { return nil } @@ -107,7 +107,7 @@ func handleWebhookEvents(post *model.Post, team *model.Team, channel *model.Chan respProps := model.MapFromJson(resp.Body) if text, ok := respProps["text"]; ok { - if _, err := CreateWebhookPost(hook.CreatorId, hook.TeamId, post.ChannelId, text, respProps["username"], respProps["icon_url"], post.Props, post.Type); err != nil { + if _, err := CreateWebhookPost(hook.CreatorId, hook.TeamId, post.ChannelId, text, respProps["username"], respProps["icon_url"], post.Props, post.Type, siteURL); err != nil { l4g.Error(utils.T("api.post.handle_webhook_events_and_forget.create_post.error"), err) } } @@ -121,7 +121,7 @@ func handleWebhookEvents(post *model.Post, team *model.Team, channel *model.Chan return nil } -func CreateWebhookPost(userId, teamId, channelId, text, overrideUsername, overrideIconUrl string, props model.StringInterface, postType string) (*model.Post, *model.AppError) { +func CreateWebhookPost(userId, teamId, channelId, text, overrideUsername, overrideIconUrl string, props model.StringInterface, postType string, siteURL string) (*model.Post, *model.AppError) { // parse links into Markdown format linkWithTextRegex := regexp.MustCompile(`<([^<\|]+)\|([^>]+)>`) text = linkWithTextRegex.ReplaceAllString(text, "[${2}](${1})") @@ -188,7 +188,7 @@ func CreateWebhookPost(userId, teamId, channelId, text, overrideUsername, overri } } - if _, err := CreatePost(post, teamId, false); err != nil { + if _, err := CreatePost(post, teamId, false, siteURL); err != nil { return nil, model.NewLocAppError("CreateWebhookPost", "api.post.create_webhook_post.creating.app_error", nil, "err="+err.Message) } @@ -427,7 +427,7 @@ func RegenOutgoingWebhookToken(hook *model.OutgoingWebhook) (*model.OutgoingWebh } } -func HandleIncomingWebhook(hookId string, req *model.IncomingWebhookRequest) *model.AppError { +func HandleIncomingWebhook(hookId string, req *model.IncomingWebhookRequest, siteURL string) *model.AppError { if !utils.Cfg.ServiceSettings.EnableIncomingWebhooks { return model.NewAppError("HandleIncomingWebhook", "web.incoming_webhook.disabled.app_error", nil, "", http.StatusNotImplemented) } @@ -518,7 +518,7 @@ func HandleIncomingWebhook(hookId string, req *model.IncomingWebhookRequest) *mo return model.NewAppError("HandleIncomingWebhook", "web.incoming_webhook.permissions.app_error", nil, "", http.StatusForbidden) } - if _, err := CreateWebhookPost(hook.UserId, hook.TeamId, channel.Id, text, overrideUsername, overrideIconUrl, req.Props, webhookType); err != nil { + if _, err := CreateWebhookPost(hook.UserId, hook.TeamId, channel.Id, text, overrideUsername, overrideIconUrl, req.Props, webhookType, siteURL); err != nil { return err } diff --git a/cmd/platform/channel.go b/cmd/platform/channel.go index b99486242..2510f90f3 100644 --- a/cmd/platform/channel.go +++ b/cmd/platform/channel.go @@ -168,7 +168,7 @@ func removeUserFromChannel(channel *model.Channel, user *model.User, userArg str CommandPrintErrorln("Can't find user '" + userArg + "'") return } - if err := app.RemoveUserFromChannel(user.Id, "", channel); err != nil { + if err := app.RemoveUserFromChannel(user.Id, "", channel, utils.GetSiteURL()); err != nil { CommandPrintErrorln("Unable to remove '" + userArg + "' from " + channel.Name + ". Error: " + err.Error()) } } diff --git a/cmd/platform/oldcommands.go b/cmd/platform/oldcommands.go index 518dcbaaf..18758cc61 100644 --- a/cmd/platform/oldcommands.go +++ b/cmd/platform/oldcommands.go @@ -274,7 +274,7 @@ func cmdCreateUser() { } if team != nil { - err = app.JoinUserToTeam(team, ruser) + err = app.JoinUserToTeam(team, ruser, utils.GetSiteURL()) if err != nil { l4g.Error("%v", err) flushLogAndExit(1) @@ -546,7 +546,7 @@ func cmdLeaveChannel() { channel = result.Data.(*model.Channel) } - err := app.RemoveUserFromChannel(user.Id, user.Id, channel) + err := app.RemoveUserFromChannel(user.Id, user.Id, channel, utils.GetSiteURL()) if err != nil { l4g.Error("%v", err) flushLogAndExit(1) @@ -673,7 +673,7 @@ func cmdJoinTeam() { user = result.Data.(*model.User) } - err := app.JoinUserToTeam(team, user) + err := app.JoinUserToTeam(team, user, utils.GetSiteURL()) if err != nil { l4g.Error("%v", err) flushLogAndExit(1) diff --git a/cmd/platform/team.go b/cmd/platform/team.go index 1dc5d46eb..6dab2ad16 100644 --- a/cmd/platform/team.go +++ b/cmd/platform/team.go @@ -8,6 +8,7 @@ import ( "github.com/mattermost/platform/app" "github.com/mattermost/platform/model" + "github.com/mattermost/platform/utils" "github.com/spf13/cobra" ) @@ -154,7 +155,7 @@ func addUserToTeam(team *model.Team, user *model.User, userArg string) { CommandPrintErrorln("Can't find user '" + userArg + "'") return } - if err := app.JoinUserToTeam(team, user); err != nil { + if err := app.JoinUserToTeam(team, user, utils.GetSiteURL()); err != nil { CommandPrintErrorln("Unable to add '" + userArg + "' to " + team.Name) } } diff --git a/einterfaces/saml.go b/einterfaces/saml.go index af2e815a5..478cf8a68 100644 --- a/einterfaces/saml.go +++ b/einterfaces/saml.go @@ -10,7 +10,7 @@ import ( type SamlInterface interface { ConfigureSP() *model.AppError BuildRequest(relayState string) (*model.SamlAuthRequest, *model.AppError) - DoLogin(encodedXML string, relayState map[string]string) (*model.User, *model.AppError) + DoLogin(encodedXML string, relayState map[string]string, siteURL string) (*model.User, *model.AppError) GetMetadata() (string, *model.AppError) } diff --git a/web/web_test.go b/web/web_test.go index dd1dcf19c..8db0eb91c 100644 --- a/web/web_test.go +++ b/web/web_test.go @@ -211,7 +211,7 @@ func TestIncomingWebhook(t *testing.T) { team := &model.Team{DisplayName: "Name", Name: "z-z-" + model.NewId() + "a", Email: "test@nowhere.com", Type: model.TEAM_OPEN} team = ApiClient.Must(ApiClient.CreateTeam(team)).Data.(*model.Team) - app.JoinUserToTeam(team, user) + app.JoinUserToTeam(team, user, utils.GetSiteURL()) app.UpdateUserRoles(user.Id, model.ROLE_SYSTEM_ADMIN.Id) ApiClient.SetTeamId(team.Id) -- cgit v1.2.3-1-g7c22 From 89d0087ea486a24d2866a08cff85f4abe7b477a0 Mon Sep 17 00:00:00 2001 From: Harrison Healey Date: Fri, 10 Mar 2017 05:19:07 -0500 Subject: PLT-5792 Fixed all ephemeral posts using system message icons (#5709) --- webapp/components/post_view/components/post.jsx | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/webapp/components/post_view/components/post.jsx b/webapp/components/post_view/components/post.jsx index 913c2af95..fba4ce9eb 100644 --- a/webapp/components/post_view/components/post.jsx +++ b/webapp/components/post_view/components/post.jsx @@ -204,9 +204,7 @@ export default class Post extends React.Component { src={PostUtils.getProfilePicSrcForPost(post, timestamp)} /> ); - } - - if (PostUtils.isSystemMessage(post)) { + } else if (PostUtils.isSystemMessage(post)) { profilePic = ( Date: Fri, 10 Mar 2017 07:19:32 -0300 Subject: translations PR 20170309 (#5710) --- i18n/de.json | 28 ++-- i18n/en.json | 8 +- i18n/es.json | 4 + i18n/fr.json | 366 +++++++++++++++++++++++++------------------------ i18n/ja.json | 4 + i18n/ko.json | 4 + i18n/nl.json | 4 + i18n/pt-BR.json | 30 ++-- i18n/ru.json | 4 + i18n/zh-CN.json | 4 + i18n/zh-TW.json | 4 + webapp/i18n/de.json | 36 ++--- webapp/i18n/en.json | 14 +- webapp/i18n/es.json | 12 +- webapp/i18n/fr.json | 288 +++++++++++++++++++------------------- webapp/i18n/ja.json | 12 +- webapp/i18n/ko.json | 12 +- webapp/i18n/nl.json | 12 +- webapp/i18n/pt-BR.json | 42 +++--- webapp/i18n/ru.json | 12 +- webapp/i18n/zh-CN.json | 12 +- webapp/i18n/zh-TW.json | 12 +- 22 files changed, 489 insertions(+), 435 deletions(-) diff --git a/i18n/de.json b/i18n/de.json index ff4b6016b..083a1ff7a 100644 --- a/i18n/de.json +++ b/i18n/de.json @@ -221,11 +221,11 @@ }, { "id": "api.channel.create_group.bad_size.app_error", - "translation": "Group message channels must contain at least 3 and no more than 8 users" + "translation": "Gruppennachrichtenkanäle müssen aus mindestens 3 und nicht mehr als 8 Benutzer bestehen" }, { "id": "api.channel.create_group.bad_user.app_error", - "translation": "One of the provided users does not exist" + "translation": "Einer der angegebenen Benutzer existiert nicht" }, { "id": "api.channel.delete_channel.archived", @@ -901,7 +901,7 @@ }, { "id": "api.email_batching.render_batched_post.group_message", - "translation": "Group Message" + "translation": "Gruppennachricht" }, { "id": "api.email_batching.render_batched_post.sender.app_error", @@ -1515,6 +1515,10 @@ "id": "api.post.init.debug", "translation": "Initialisiere API-Routen für Nachrichten" }, + { + "id": "api.post.link_preview_disabled.app_error", + "translation": "Link Vorschauen wurden vom Systemadministrator deaktiviert" + }, { "id": "api.post.make_direct_channel_visible.get_2_members.error", "translation": "Fehler beim Abruf der 2 Mitglieder für den Direkt-Kanal channel_id={{.ChannelId}}" @@ -1817,11 +1821,11 @@ }, { "id": "api.slackimport.slack_add_users.missing_email_address", - "translation": "User {{.Username}} does not have an email address in the Slack export. Using {{.Email}} as a placeholder. The user should update their email address once logged in to the system.\r\n" + "translation": "Der Benutzer {{.Username}} hat keine E-Mail-Adresse im Slack Export. Verwende {{.Email}} als Platzhalter. Der Benutzer sollte seine E-Mail-Adresse aktualisieren sobald er sich angemeldet hat.\r\n" }, { "id": "api.slackimport.slack_add_users.missing_email_address.warn", - "translation": "User {{.Username}} does not have an email address in the Slack export. Using {{.Email}} as a placeholder. The user should update their email address once logged in to the system." + "translation": "Der Benutzer {{.Username}} hat keine E-Mail-Adresse im Slack Export. Verwende {{.Email}} als Platzhalter. Der Benutzer sollte seine E-Mail-Adresse aktualisieren sobald er sich angemeldet hat." }, { "id": "api.slackimport.slack_add_users.unable_import", @@ -2037,7 +2041,7 @@ }, { "id": "api.templates.channel_name.group", - "translation": "Group Message" + "translation": "Gruppennachricht" }, { "id": "api.templates.email_change_body.info", @@ -2169,11 +2173,11 @@ }, { "id": "api.templates.post_subject_in_direct_message", - "translation": "{{.SubjectText}} bei {{.TeamDisplayName}} von {{.SenderDisplayName}} am {{.Day}}.{{.Month}}.{{.Year}}" + "translation": "{{.SubjectText}} von {{.SenderDisplayName}} am {{.Day}}.{{.Month}}.{{.Year}}" }, { "id": "api.templates.post_subject_in_group_message", - "translation": "{{.SubjectText}} bei {{.TeamDisplayName}} von {{.SenderDisplayName}} am {{.Day}}.{{.Month}}.{{.Year}}" + "translation": "Neue Gruppennachricht von {{.SenderDisplayName}} am {{.Day}}.{{.Month}}.{{.Year}}" }, { "id": "api.templates.reset_body.button", @@ -2953,7 +2957,7 @@ }, { "id": "app.import.validate_post_import_data.message_length.error", - "translation": "Post Message property is longer than the maximum permitted length." + "translation": "Message Eigenschaft der Nachricht ist länger als die maximal erlaubte Länge." }, { "id": "app.import.validate_post_import_data.message_missing.error", @@ -3081,11 +3085,11 @@ }, { "id": "authentication.permissions.create_group_channel.description", - "translation": "Ability to create new group message channels" + "translation": "Die Möglichkeit, neue Gruppennachrichtenkanäle zu erstellen" }, { "id": "authentication.permissions.create_group_channel.name", - "translation": "Create Group Message" + "translation": "Gruppennachrichten erstellen" }, { "id": "authentication.permissions.create_team_roles.description", @@ -5097,7 +5101,7 @@ }, { "id": "store.sql_post.search.warn", - "translation": "Query error searching posts: %v" + "translation": "Abfragefehler bei der Suche nach Nachrichten: %v" }, { "id": "store.sql_post.update.app_error", diff --git a/i18n/en.json b/i18n/en.json index c013459e2..a975ade79 100644 --- a/i18n/en.json +++ b/i18n/en.json @@ -3,10 +3,6 @@ "id": "April", "translation": "April" }, - { - "id": "api.post.link_preview_disabled.app_error", - "translation": "Link previews have been disabled by the system administrator." - }, { "id": "August", "translation": "August" @@ -1519,6 +1515,10 @@ "id": "api.post.init.debug", "translation": "Initializing post API routes" }, + { + "id": "api.post.link_preview_disabled.app_error", + "translation": "Link previews have been disabled by the system administrator." + }, { "id": "api.post.make_direct_channel_visible.get_2_members.error", "translation": "Failed to get 2 members for a direct channel channel_id={{.ChannelId}}" diff --git a/i18n/es.json b/i18n/es.json index 001ced420..8dc5f28de 100644 --- a/i18n/es.json +++ b/i18n/es.json @@ -1515,6 +1515,10 @@ "id": "api.post.init.debug", "translation": "Inicializando rutas del API para los mensajes" }, + { + "id": "api.post.link_preview_disabled.app_error", + "translation": "Vistas previas de los enlaces han sido deshabilitadas por el administrador del sistema." + }, { "id": "api.post.make_direct_channel_visible.get_2_members.error", "translation": "Falla al obtener 2 miembros para un canal directo channel_id={{.ChannelId}}" diff --git a/i18n/fr.json b/i18n/fr.json index 894edf7e5..847c7decd 100644 --- a/i18n/fr.json +++ b/i18n/fr.json @@ -181,7 +181,7 @@ }, { "id": "api.channel.can_manage_channel.private_restricted_system_admin.app_error", - "translation": "La création et l'administration de groupes privés sont réservées aux administrateurs systèmes." + "translation": "La création et l'administration de groupes privés sont réservées aux administrateurs système." }, { "id": "api.channel.can_manage_channel.private_restricted_team_admin.app_error", @@ -189,7 +189,7 @@ }, { "id": "api.channel.can_manage_channel.public_restricted_system_admin.app_error", - "translation": "La création et l'administration du canal public sont réservées aux administrateurs systèmes." + "translation": "La création et l'administration du canal public sont réservées aux administrateurs système." }, { "id": "api.channel.can_manage_channel.public_restricted_team_admin.app_error", @@ -217,15 +217,15 @@ }, { "id": "api.channel.create_direct_channel.invalid_user.app_error", - "translation": "Invalid user ID for direct channel creation" + "translation": "ID utilisateur invalide pour la création directe du canal" }, { "id": "api.channel.create_group.bad_size.app_error", - "translation": "Group message channels must contain at least 3 and no more than 8 users" + "translation": "Les canaux dédiés aux messages de groupe doivent contenir au moins 3 et pas plus de 8 utilisateurs" }, { "id": "api.channel.create_group.bad_user.app_error", - "translation": "One of the provided users does not exist" + "translation": "Un des utilisateurs fournis n'existe pas" }, { "id": "api.channel.delete_channel.archived", @@ -241,7 +241,7 @@ }, { "id": "api.channel.delete_channel.failed_post.error", - "translation": "Impossible d'envoyer le message archivé %v" + "translation": "Impossible d'envoyer le message d'archive %v" }, { "id": "api.channel.delete_channel.failed_send.app_error", @@ -257,7 +257,7 @@ }, { "id": "api.channel.delete_channel.permissions.app_error", - "translation": "Vous n'avez pas les permissions nécessaires" + "translation": "Vous n'avez pas les permissions requises" }, { "id": "api.channel.get_channel.wrong_team.app_error", @@ -285,7 +285,7 @@ }, { "id": "api.channel.join_channel.permissions.app_error", - "translation": "Vous n'avez pas les droits requis" + "translation": "Vous n'avez pas les permissions requises" }, { "id": "api.channel.join_channel.post_and_forget", @@ -309,19 +309,19 @@ }, { "id": "api.channel.post_update_channel_displayname_message_and_forget.create_post.error", - "translation": "Echec de l'envoi de la mise à jour du message de %v" + "translation": "Impossible de publier le message de mise à jour du nom d'affichage" }, { "id": "api.channel.post_update_channel_displayname_message_and_forget.retrieve_user.error", - "translation": "Impossible de récupérer l'utilisateur lors de l'enregistrement d'un nouveau message de canal %v" + "translation": "Impossible de récupérer l'utilisateur lors de la mise à jour du champ du nom d'affichage du canal" }, { "id": "api.channel.post_update_channel_displayname_message_and_forget.updated_from", - "translation": "%s a mis à jour l'en-tête du canal de : %s en : %s" + "translation": "%s a mis à jour l'entête du canal de : %s en : %s" }, { "id": "api.channel.post_update_channel_header_message_and_forget.post.error", - "translation": "Failed to post update channel header message" + "translation": "Impossible de publier le message de mise à jour de l'entête du canal" }, { "id": "api.channel.post_update_channel_header_message_and_forget.removed", @@ -329,19 +329,19 @@ }, { "id": "api.channel.post_update_channel_header_message_and_forget.retrieve_user.error", - "translation": "Impossible de récupérer l'utilisateur lors de l'enregistrement d'un nouveau message de canal %v" + "translation": "Impossible de récupérer l'utilisateur lors de la mise à jour de l'entête du canal" }, { "id": "api.channel.post_update_channel_header_message_and_forget.updated_from", - "translation": "%s a mis à jour l'en-tête du canal de : %s en : %s" + "translation": "%s a mis à jour l'entête du canal de : %s en : %s" }, { "id": "api.channel.post_update_channel_header_message_and_forget.updated_to", - "translation": "%s a mis à jour l'en-tête du canal en : %s" + "translation": "%s a mis à jour l'entête du canal en : %s" }, { "id": "api.channel.post_user_add_remove_message_and_forget.error", - "translation": "Erreur lors de l'envoi du message joindre/quitter %v" + "translation": "Impossible de publier le message joindre/quitter" }, { "id": "api.channel.remove.default.app_error", @@ -349,7 +349,7 @@ }, { "id": "api.channel.remove_member.permissions.app_error", - "translation": "Vous n'avez pas les droits requis " + "translation": "Vous n'avez pas les permissions requises " }, { "id": "api.channel.remove_member.removed", @@ -373,7 +373,7 @@ }, { "id": "api.channel.update_channel.permission.app_error", - "translation": "Vous n'avez pas les droits requis" + "translation": "Vous n'avez pas les permissions requises" }, { "id": "api.channel.update_channel.tried.app_error", @@ -389,7 +389,7 @@ }, { "id": "api.command.delete.app_error", - "translation": "Droits insuffisants pour supprimer la commande" + "translation": "Permissions insuffisantes pour supprimer la commande" }, { "id": "api.command.disabled.app_error", @@ -461,7 +461,7 @@ }, { "id": "api.command.regen.app_error", - "translation": "Droits insuffisants pour regénérer le jeton de commande" + "translation": "Permissions insuffisantes pour regénérer le jeton de commande" }, { "id": "api.command.team_mismatch.app_error", @@ -469,7 +469,7 @@ }, { "id": "api.command.update.app_error", - "translation": "Droits insuffisants pour mettre à jour la commande" + "translation": "Permissions insuffisantes pour mettre à jour la commande" }, { "id": "api.command_away.desc", @@ -785,7 +785,7 @@ }, { "id": "api.command_shortcuts.nav.unread_prev", - "translation": "ALT+MAJ+HAUT: Canal ou message précédent de la barre latérale gauche comportant des messages non lus\n" + "translation": "ALT+MAJ+HAUT: Canal ou message privé précédents de la barre latérale gauche comportant des messages non lus\n" }, { "id": "api.command_shrug.desc", @@ -805,7 +805,7 @@ }, { "id": "api.context.invalid_body_param.app_error", - "translation": "Invalid or missing {{.Name}} in request body" + "translation": "{{.Name}} invalid ou manquant dans le corps de la requête" }, { "id": "api.context.invalid_param.app_error", @@ -813,7 +813,7 @@ }, { "id": "api.context.invalid_session.error", - "translation": "Invalid session err=%v" + "translation": "Session invalide err=%v" }, { "id": "api.context.invalid_team_url.debug", @@ -821,11 +821,11 @@ }, { "id": "api.context.invalid_token.error", - "translation": "Invalid session token={{.Token}}, err={{.Error}}" + "translation": "Jeton de session invalide={{.Token}}, err={{.Error}}" }, { "id": "api.context.invalid_url_param.app_error", - "translation": "Invalid or missing {{.Name}} parameter in request URL" + "translation": "Paramètre {{.Name}} invalide ou manquant dans l'URL de la requête" }, { "id": "api.context.invalidate_all_caches", @@ -849,7 +849,7 @@ }, { "id": "api.context.permissions.app_error", - "translation": "Vous n'avez pas les permissions appropriées" + "translation": "Vous n'avez pas les permissions requises" }, { "id": "api.context.session_expired.app_error", @@ -857,7 +857,7 @@ }, { "id": "api.context.system_permissions.app_error", - "translation": "Vous n'avez pas les permissions appropriées (système)" + "translation": "Vous n'avez pas les permissions requises (système)" }, { "id": "api.context.token_provided.app_error", @@ -901,7 +901,7 @@ }, { "id": "api.email_batching.render_batched_post.group_message", - "translation": "Group Message" + "translation": "Message de groupe" }, { "id": "api.email_batching.render_batched_post.sender.app_error", @@ -935,7 +935,7 @@ }, { "id": "api.email_batching.start.starting", - "translation": "Début de l'envoi d'e-mails groupés. Vérification des e-mails en attente toutes les %v secondes." + "translation": "Début de l'envoi d'e-mails par lot. Vérification des e-mails en attente toutes les %v secondes." }, { "id": "api.emoji.create.duplicate.app_error", @@ -947,7 +947,7 @@ }, { "id": "api.emoji.create.permissions.app_error", - "translation": "Droits insuffisants pour créer des émoticônes." + "translation": "Permissions insuffisantes pour créer des émoticônes." }, { "id": "api.emoji.create.too_large.app_error", @@ -959,7 +959,7 @@ }, { "id": "api.emoji.delete.permissions.app_error", - "translation": "Droits insuffisants pour supprimer des émoticônes." + "translation": "Permissions insuffisantes pour supprimer des émoticônes." }, { "id": "api.emoji.disabled.app_error", @@ -1167,7 +1167,7 @@ }, { "id": "api.file.upload_file.bad_parse.app_error", - "translation": "Unable to upload file. Header cannot be parsed." + "translation": "Impossible d'envoyer le fichier. L'entête ne peut être analysé." }, { "id": "api.file.upload_file.large_image.app_error", @@ -1307,7 +1307,7 @@ }, { "id": "api.oauth.complete_oauth.missing_code.app_error", - "translation": "Le fournisseur de services {{.service}} n'a pas envoyé un code d'autorisation dans l'URL de redirection.\n\nPour [Google Apps](https://docs.mattermost.com/deployment/sso-google.html) vérifiez que votre administrateur a activé l'API Google+.\n\nPour [Office 365](https://docs.mattermost.com/deployment/sso-office.html) vérifiez que l'administrateur de votre organisation Microsoft a activé l'application Mattermost.\n\nPour [GitLab](https://docs.mattermost.com/deployment/sso-gitlab.html) verifiez que vous avez suivi les instructions d'installation.\n\nSi malgré cela vous avez toujours des problèmes avec votre configuration, postez un message sur le [forum de dépannage](https://forum.mattermost.org/c/general/trouble-shoot) où nous aidons à résoudre les problèmes d'installation." + "translation": "Le fournisseur de services {{.service}} n'a pas envoyé un code d'autorisation dans l'URL de redirection.\n\nPour [Google Apps](https://docs.mattermost.com/deployment/sso-google.html) vérifiez que votre administrateur a activé l'API Google+.\n\nPour [Office 365](https://docs.mattermost.com/deployment/sso-office.html) vérifiez que l'administrateur de votre organisation Microsoft a activé l'application Mattermost.\n\nPour [GitLab](https://docs.mattermost.com/deployment/sso-gitlab.html) verifiez que vous avez suivi les instructions d'installation.\n\nSi malgré cela vous avez toujours des problèmes avec votre configuration, publiez un message sur le [forum de dépannage](https://forum.mattermost.org/c/general/trouble-shoot) où nous aidons à résoudre les problèmes d'installation." }, { "id": "api.oauth.delete.permissions.app_error", @@ -1427,7 +1427,7 @@ }, { "id": "api.post.create_post.can_not_post_to_deleted.error", - "translation": "Impossible de poster un message dans un canal supprimé." + "translation": "Impossible de publier un message dans un canal supprimé." }, { "id": "api.post.create_post.channel_root_id.app_error", @@ -1455,7 +1455,7 @@ }, { "id": "api.post.delete_post.permissions.app_error", - "translation": "Vous n'avez pas les permissions appropriées" + "translation": "Vous n'avez pas les permissions requises" }, { "id": "api.post.delete_post_files.app_error.warn", @@ -1497,7 +1497,7 @@ }, { "id": "api.post.get_post.permissions.app_error", - "translation": "Vous n'avez pas les permissions appropriées" + "translation": "Vous n'avez pas les permissions requises" }, { "id": "api.post.handle_post_events_and_forget.members.error", @@ -1515,9 +1515,13 @@ "id": "api.post.init.debug", "translation": "Initialisation des routes de l'API des messages" }, + { + "id": "api.post.link_preview_disabled.app_error", + "translation": "Les prévisualisations de liens ont été désactivées par l'administrateur système." + }, { "id": "api.post.make_direct_channel_visible.get_2_members.error", - "translation": "Impossible de récupérer 2 membres pour un canal de messages privés channel_id=%v" + "translation": "Impossible de récupérer 2 membres pour un canal de messages privés channel_id={{.ChannelId}}" }, { "id": "api.post.make_direct_channel_visible.get_members.error", @@ -1537,7 +1541,7 @@ }, { "id": "api.post.send_notifications.user_id.debug", - "translation": "Post creator not in channel for the post, no notification sent post_id=%v channel_id=%v user_id=%v" + "translation": "Le créateur du message n'est pas dans le même canal que le message, aucune notification n'a été envoyée post_id=%v channel_id=%v user_id=%v" }, { "id": "api.post.send_notifications_and_forget.clear_push_notification.debug", @@ -1589,7 +1593,7 @@ }, { "id": "api.post.send_notifications_and_forget.push_notification.error", - "translation": "Failed to send push device_id={{.DeviceId}}, err={{.Error}}" + "translation": "Impossible d'envoyer la notification push device_id={{.DeviceId}}, err={{.Error}}" }, { "id": "api.post.send_notifications_and_forget.sent", @@ -1605,11 +1609,11 @@ }, { "id": "api.post.update_post.permissions.app_error", - "translation": "Vous n'avez pas les permissions appropriées" + "translation": "Vous n'avez pas les permissions requises" }, { "id": "api.post.update_post.permissions_denied.app_error", - "translation": "La création d'équipes est désactivée. Veuillez demander les détails à votre administrateur système." + "translation": "L'édition des messages a été désactivée. Pour plus d'infos, veuillez demander à votre administrateur système." }, { "id": "api.post.update_post.permissions_details.app_error", @@ -1617,7 +1621,7 @@ }, { "id": "api.post.update_post.permissions_time_limit.app_error", - "translation": "Post edit is only allowed for {{.timeLimit}} seconds. Please ask your systems administrator for details." + "translation": "L'édition de messages est seulement autorisée pour {{.timeLimit}} secondes. Pour plus d'infos, veuillez demander à votre administrateur système." }, { "id": "api.post.update_post.system_message.app_error", @@ -1817,11 +1821,11 @@ }, { "id": "api.slackimport.slack_add_users.missing_email_address", - "translation": "User {{.Username}} does not have an email address in the Slack export. Using {{.Email}} as a placeholder. The user should update their email address once logged in to the system.\r\n" + "translation": "L'exportation Slack ne dispose pas d'une adresse e-mail pour l'utilisateur {{.Username}}. Utilisation de {{.Email}} comme remplacement. L'utilisateur devra mettre à jour son adresse e-mail une fois connecté au système.\r\n" }, { "id": "api.slackimport.slack_add_users.missing_email_address.warn", - "translation": "User {{.Username}} does not have an email address in the Slack export. Using {{.Email}} as a placeholder. The user should update their email address once logged in to the system." + "translation": "L'exportation Slack ne dispose pas d'une adresse e-mail pour l'utilisateur {{.Username}}. Utilisation de {{.Email}} comme remplacement. L'utilisateur devra mettre à jour son adresse e-mail une fois connecté au système." }, { "id": "api.slackimport.slack_add_users.unable_import", @@ -2033,11 +2037,11 @@ }, { "id": "api.team.update_team.permissions.app_error", - "translation": "Vous n'avez pas les permissions appropriées" + "translation": "Vous n'avez pas les permissions requises" }, { "id": "api.templates.channel_name.group", - "translation": "Group Message" + "translation": "Message de groupe" }, { "id": "api.templates.email_change_body.info", @@ -2049,7 +2053,7 @@ }, { "id": "api.templates.email_change_subject", - "translation": "[{{ .SiteName }}] Your email address has changed" + "translation": "[{{ .SiteName }}] Votre adresse e-mail a été changée" }, { "id": "api.templates.email_change_verify_body.button", @@ -2065,7 +2069,7 @@ }, { "id": "api.templates.email_change_verify_subject", - "translation": "[{{ .SiteName }}] Verify new email address" + "translation": "[{{ .SiteName }}] Vérification de la nouvelle adresse e-mail" }, { "id": "api.templates.email_footer", @@ -2121,7 +2125,7 @@ }, { "id": "api.templates.invite_subject", - "translation": "[{{ .SiteName }}] {{ .SenderName }} invited you to join {{ .TeamDisplayName }} Team" + "translation": "[{{ .SiteName }}] {{ .SenderName }} vous a invité à rejoindre l'équipe {{ .TeamDisplayName }}" }, { "id": "api.templates.mfa_activated_body.info", @@ -2133,7 +2137,7 @@ }, { "id": "api.templates.mfa_change_subject", - "translation": "[{{ .SiteName }}] Your MFA has been updated" + "translation": "[{{ .SiteName }}] Votre authentification multi-facteurs (MFA) a été mise à jour" }, { "id": "api.templates.mfa_deactivated_body.info", @@ -2153,7 +2157,7 @@ }, { "id": "api.templates.password_change_subject", - "translation": "[{{ .SiteName }}] Your password has been updated" + "translation": "[{{ .SiteName }}] Votre mot de passe a été mis à jour" }, { "id": "api.templates.post_body.button", @@ -2169,11 +2173,11 @@ }, { "id": "api.templates.post_subject_in_direct_message", - "translation": "{{.SubjectText}} sur {{.TeamDisplayName}} le {{.Day}} {{.Month}} {{.Year}}" + "translation": "{{.SubjectText}} de {{.SenderDisplayName}} du {{.Day}} {{.Month}} {{.Year}}" }, { "id": "api.templates.post_subject_in_group_message", - "translation": "{{.SubjectText}} sur {{.TeamDisplayName}} le {{.Day}} {{.Month}} {{.Year}}" + "translation": "Nouveau message de groupe de {{.SenderDisplayName}} du {{.Day}} {{.Month}} {{.Year}}" }, { "id": "api.templates.reset_body.button", @@ -2189,11 +2193,11 @@ }, { "id": "api.templates.reset_subject", - "translation": "[{{ .SiteName }}] Reset your password" + "translation": "[{{ .SiteName }}] Réinitialisez votre mot de passe" }, { "id": "api.templates.signin_change_email.body.info", - "translation": "Vous avez mis à jour votre méthode de connexion pour le {{ .SiteName }} à {{.Method}}.
    Si vous n'êtes pas à l'origine de ce changement, veuillez contacter votre administrateur système." + "translation": "Vous avez mis à jour votre méthode de connexion en {{.Method}} pour {{ .SiteName }}.
    Si vous n'êtes pas à l'origine de ce changement, veuillez contacter votre administrateur système." }, { "id": "api.templates.signin_change_email.body.method_email", @@ -2205,7 +2209,7 @@ }, { "id": "api.templates.signin_change_email.subject", - "translation": "[{{ .SiteName }}] You updated your sign-in method on {{ .SiteName }}" + "translation": "[{{ .SiteName }}] Votre méthode de connexion a été mise à jour sur {{ .SiteName }}" }, { "id": "api.templates.signup_team_body.button", @@ -2241,7 +2245,7 @@ }, { "id": "api.templates.username_change_subject", - "translation": "[{{ .SiteName }}] Your username has changed" + "translation": "[{{ .SiteName }}] Votre nom d'utilisateur a changé" }, { "id": "api.templates.verify_body.button", @@ -2285,7 +2289,7 @@ }, { "id": "api.templates.welcome_subject", - "translation": "[{{ .SiteName }}] You joined {{ .ServerURL }}" + "translation": "[{{ .SiteName }}] Vous avez rejoint {{ .ServerURL }}" }, { "id": "api.user.activate_mfa.email_and_ldap_only.app_error", @@ -2293,7 +2297,7 @@ }, { "id": "api.user.add_direct_channels_and_forget.failed.error", - "translation": "Failed to add direct channel preferences for user user_id={{.UserId}}, team_id={{.TeamId}}, err={{.Error}}" + "translation": "Impossible de spécifier les préférences du canal de messages directs pour l'utilisateur user_id={{.UserId}}, team_id={{.TeamId}}, err={{.Error}}" }, { "id": "api.user.authorize_oauth_user.bad_response.app_error", @@ -2389,7 +2393,7 @@ }, { "id": "api.user.create_user.disabled.app_error", - "translation": "User creation is disabled." + "translation": "La création d'utilisateurs est désactivée." }, { "id": "api.user.create_user.joining.error", @@ -2549,19 +2553,19 @@ }, { "id": "api.user.send_email_change_email_and_forget.error", - "translation": "Impossible d'envoyer l'e-mail de notification de changement d'adresse e-mail err=%v" + "translation": "Impossible d'envoyer l'e-mail de notification de changement d'adresse e-mail" }, { "id": "api.user.send_email_change_username_and_forget.error", - "translation": "Impossible d'envoyer l'e-mail de changement de nom d'utilisateur err=%v" + "translation": "Impossible d'envoyer l'e-mail de changement de nom d'utilisateur" }, { "id": "api.user.send_email_change_verify_email_and_forget.error", - "translation": "Impossible d'envoyer l'e-mail de vérification de changement d'adresse e-mail err=%v" + "translation": "Impossible d'envoyer l'e-mail de vérification de changement d'adresse e-mail" }, { "id": "api.user.send_password_change_email_and_forget.error", - "translation": "Impossible d'envoyer l'e-mail de mise à jour du mot de passe err=%v" + "translation": "Impossible d'envoyer l'e-mail de mise à jour du mot de passe" }, { "id": "api.user.send_password_reset.find.app_error", @@ -2577,15 +2581,15 @@ }, { "id": "api.user.send_sign_in_change_email_and_forget.error", - "translation": "Impossible d'envoyer l'e-mail de mise à jour du mot de passe err=%v" + "translation": "Impossible d'envoyer l'e-mail de mise à jour du mot de passe" }, { "id": "api.user.send_verify_email_and_forget.failed.error", - "translation": "Impossible d'envoyer l'e-mail de vérification err=%v" + "translation": "Impossible d'envoyer l'e-mail de vérification" }, { "id": "api.user.send_welcome_email_and_forget.failed.error", - "translation": "Impossible d'envoyer l'e-mail de bienvenue err=%v" + "translation": "Impossible d'envoyer l'e-mail de bienvenue" }, { "id": "api.user.update_active.no_deactivate_ldap.app_error", @@ -2593,7 +2597,7 @@ }, { "id": "api.user.update_active.permissions.app_error", - "translation": "Vous n'avez pas les permissions appropriées" + "translation": "Vous n'avez pas les permissions requises" }, { "id": "api.user.update_mfa.not_available.app_error", @@ -2601,7 +2605,7 @@ }, { "id": "api.user.update_oauth_user_attrs.get_user.app_error", - "translation": "Impossible de créer un utilisateur à partir du user object {{.Service}}" + "translation": "Impossible de récupérer l'utilisateur à partir de l'objet utilisateur {{.Service}}" }, { "id": "api.user.update_password.context.app_error", @@ -2633,7 +2637,7 @@ }, { "id": "api.user.update_roles.permissions.app_error", - "translation": "Vous n'avez pas les permissions appropriées" + "translation": "Vous n'avez pas les permissions requises" }, { "id": "api.user.update_roles.system_admin_needed.app_error", @@ -2725,7 +2729,7 @@ }, { "id": "api.webhook.create_outgoing.disabled.app_error", - "translation": "Les webhooks entrants ont été désactivés par l'administrateur système." + "translation": "Les webhooks sortants ont été désactivés par l'administrateur système." }, { "id": "api.webhook.create_outgoing.intersect.app_error", @@ -2737,7 +2741,7 @@ }, { "id": "api.webhook.create_outgoing.permissions.app_error", - "translation": "Droits insuffisants pour créer le webhook sortant." + "translation": "Permissions insuffisantes pour créer le webhook sortant." }, { "id": "api.webhook.create_outgoing.triggers.app_error", @@ -2749,7 +2753,7 @@ }, { "id": "api.webhook.delete_incoming.permissions.app_error", - "translation": "Droits insuffisants pour supprimer le webhook entrant" + "translation": "Permissions insuffisantes pour supprimer le webhook entrant" }, { "id": "api.webhook.delete_outgoing.disabled.app_error", @@ -2757,7 +2761,7 @@ }, { "id": "api.webhook.delete_outgoing.permissions.app_error", - "translation": "Droits insuffisants pour supprimer le webhook sortant" + "translation": "Permissions insuffisantes pour supprimer le webhook sortant" }, { "id": "api.webhook.incoming.debug", @@ -2773,7 +2777,7 @@ }, { "id": "api.webhook.regen_outgoing_token.permissions.app_error", - "translation": "Droits insuffisants pour regénérer le jeton du webhook sortant" + "translation": "Permissions insuffisantes pour regénérer le jeton du webhook sortant" }, { "id": "api.webhook.team_mismatch.app_error", @@ -2785,11 +2789,11 @@ }, { "id": "api.webhook.update_incoming.permissions.app_error", - "translation": "Droits insuffisants pour supprimer le webhook entrant" + "translation": "Permissions insuffisantes pour mettre à jour le webhook entrant" }, { "id": "api.webhook.update_outgoing.disabled.app_error", - "translation": "Les webhooks entrants ont été désactivés par l'administrateur système." + "translation": "Les webhooks sortants ont été désactivés par l'administrateur système." }, { "id": "api.webhook.update_outgoing.intersect.app_error", @@ -2797,11 +2801,11 @@ }, { "id": "api.webhook.update_outgoing.not_open.app_error", - "translation": "Les webhooks sortants ne peuvent être créés que pour les canaux publics." + "translation": "Les webhooks sortants ne peuvent être mis à jour que pour les canaux publics." }, { "id": "api.webhook.update_outgoing.permissions.app_error", - "translation": "Droits insuffisants pour créer le webhook sortant." + "translation": "Permissions insuffisantes pour mettre à jour le webhook sortant." }, { "id": "api.webhook.update_outgoing.triggers.app_error", @@ -2821,7 +2825,7 @@ }, { "id": "api.websocket.invalid_session.error", - "translation": "Invalid session err=%v" + "translation": "Session invalide err=%v" }, { "id": "api.websocket_handler.invalid_param.app_error", @@ -2829,279 +2833,279 @@ }, { "id": "app.channel.create_channel.no_team_id.app_error", - "translation": "Must specify the team ID to create a channel" + "translation": "Veuillez spécifier l'identifiant d'équipe afin de créer un canal" }, { "id": "app.channel.post_update_channel_purpose_message.post.error", - "translation": "Failed to post channel purpose message" + "translation": "Impossible de publier le message de description du canal" }, { "id": "app.channel.post_update_channel_purpose_message.removed", - "translation": "%s a supprimé le titre du canal (était : %s)" + "translation": "%s a supprimé la description du canal (précédemment : %s)" }, { "id": "app.channel.post_update_channel_purpose_message.retrieve_user.error", - "translation": "Impossible de récupérer l'utilisateur lors de l'enregistrement d'un nouveau message de canal %v" + "translation": "Impossible de récupérer l'utilisateur lors de la mise à jour du message de description du canal %v" }, { "id": "app.channel.post_update_channel_purpose_message.updated_from", - "translation": "%s a mis à jour l'en-tête du canal de : %s en : %s" + "translation": "%s a mis à jour le message de description du canal de : %s en : %s" }, { "id": "app.channel.post_update_channel_purpose_message.updated_to", - "translation": "%s a mis à jour l'en-tête du canal en : %s" + "translation": "%s a mis à jour le message de description du canal en : %s" }, { "id": "app.import.bulk_import.file_scan.error", - "translation": "Error reading import data file." + "translation": "Erreur lors de la lecture du fichier d'importation de données" }, { "id": "app.import.bulk_import.json_decode.error", - "translation": "JSON decode of line failed." + "translation": "Le décodage d'une ligne du fichier JSON a échoué" }, { "id": "app.import.import_channel.team_not_found.error", - "translation": "Error importing channel. Team with name \"{{.TeamName}}\" could not be found." + "translation": "Erreur lors de l'importation du canal. L'équipe portant le nom \"{{.TeamName}}\" n'a pas pu être trouvée." }, { "id": "app.import.import_line.null_channel.error", - "translation": "Import data line has type \"channel\" but the channel object is null." + "translation": "La ligne de données importée dispose d'un type \"channel\", mais l'objet channel est null." }, { "id": "app.import.import_line.null_post.error", - "translation": "Import data line has type \"post\" but the post object is null." + "translation": "La ligne de données importée dispose d'un type \"post\", mais l'objet post est null." }, { "id": "app.import.import_line.null_team.error", - "translation": "Import data line has type \"team\" but the team object is null." + "translation": "La ligne de données importée dispose d'un type \"team\", mais l'objet team est null." }, { "id": "app.import.import_line.null_user.error", - "translation": "Import data line has type \"user\" but the user object is null." + "translation": "La ligne de données importée dispose d'un type \"user\", mais l'objet user est null." }, { "id": "app.import.import_line.unknown_line_type.error", - "translation": "Import data line has unknown type \"{{.Type}}\"." + "translation": "La ligne de données importée dispose d'un type inconnu \"{{.Type}}\"." }, { "id": "app.import.import_post.channel_not_found.error", - "translation": "Error importing post. Channel with name \"{{.ChannelName}}\" could not be found." + "translation": "Erreur lors de l'importation du message. Le canal portant le nom \"{{.ChannelName}}\" n'a pas pu être trouvé." }, { "id": "app.import.import_post.team_not_found.error", - "translation": "Error importing post. Team with name \"{{.TeamName}}\" could not be found." + "translation": "Erreur lors de l'importation du message. L'équipe portant le nom \"{{.TeamName}}\" n'a pas pu être trouvée." }, { "id": "app.import.import_post.user_not_found.error", - "translation": "Error importing post. User with username \"{{.Username}}\" could not be found." + "translation": "Erreur lors de l'importation du message. L'utilisateur portant le nom \"{{.Username}}\" n'a pas pu être trouvé." }, { "id": "app.import.validate_channel_import_data.create_at_zero.error", - "translation": "Channel create_at must not be 0 if provided." + "translation": "La propriété de canal create_at ne doit pas être 0 si ce champ est fourni." }, { "id": "app.import.validate_channel_import_data.display_name_length.error", - "translation": "Channel display_name is not within permitted length constraints." + "translation": "La propriété de canal display_name ne respecte pas les contraintes de longueur autorisées." }, { "id": "app.import.validate_channel_import_data.display_name_missing.error", - "translation": "Missing required channel property: display_name." + "translation": "La propriété de canal requise est manquante: display_name." }, { "id": "app.import.validate_channel_import_data.header_length.error", - "translation": "Channel header is too long." + "translation": "L'entête du canal est trop long." }, { "id": "app.import.validate_channel_import_data.name_characters.error", - "translation": "Channel name contains invalid characters." + "translation": "Le nom du canal contient des caractères invalides." }, { "id": "app.import.validate_channel_import_data.name_length.error", - "translation": "Channel name is too long." + "translation": "Le nom du canal est trop long." }, { "id": "app.import.validate_channel_import_data.name_missing.error", - "translation": "Missing required channel property: name" + "translation": "La propriété de canal requise est manquante: name" }, { "id": "app.import.validate_channel_import_data.purpose_length.error", - "translation": "Channel purpose is too long." + "translation": "La description du canal est trop longue." }, { "id": "app.import.validate_channel_import_data.team_missing.error", - "translation": "Missing required channel property: team" + "translation": "La propriété de canal requise est manquante: team" }, { "id": "app.import.validate_channel_import_data.type_invalid.error", - "translation": "Channel type is invalid." + "translation": "Type de canal invalide." }, { "id": "app.import.validate_channel_import_data.type_missing.error", - "translation": "Missing required channel property: type." + "translation": "La propriété de canal requise est manquante: type." }, { "id": "app.import.validate_post_import_data.channel_missing.error", - "translation": "Missing required Post property: Channel." + "translation": "La propriété de message requise est manquante: Channel." }, { "id": "app.import.validate_post_import_data.create_at_missing.error", - "translation": "Missing required Post property: create_at." + "translation": "La propriété de message requise est manquante: create_at." }, { "id": "app.import.validate_post_import_data.create_at_zero.error", - "translation": "Post CreateAt must not be zero if it is provided." + "translation": "La propriété CreateAt du message ne peut pas être zéro si elle est spécifiée." }, { "id": "app.import.validate_post_import_data.message_length.error", - "translation": "Post Message property is longer than the maximum permitted length." + "translation": "La propriété Message du message est plus longue que la longueur maximale autorisée." }, { "id": "app.import.validate_post_import_data.message_missing.error", - "translation": "Missing required Post property: Message." + "translation": "La propriété de message requise est manquante: Message." }, { "id": "app.import.validate_post_import_data.team_missing.error", - "translation": "Missing required Post property: Team." + "translation": "La propriété de message requise est manquante: Team." }, { "id": "app.import.validate_post_import_data.user_missing.error", - "translation": "Missing required Post property: User." + "translation": "La propriété de message requise est manquante: User." }, { "id": "app.import.validate_team_import_data.allowed_domains_length.error", - "translation": "Team allowed_domains is too long." + "translation": "La propriété d'équipe allowed_domains is trop longue." }, { "id": "app.import.validate_team_import_data.create_at_zero.error", - "translation": "Team create_at must not be 0 if provided." + "translation": "La propriété d'équipe create_at ne doit pas être 0 si ce champ est fourni." }, { "id": "app.import.validate_team_import_data.description_length.error", - "translation": "Team description is too long." + "translation": "La description de l'équipe est trop longue." }, { "id": "app.import.validate_team_import_data.display_name_length.error", - "translation": "Team display_name is not within permitted length constraints." + "translation": "La propriété d'équipe display_name ne respecte pas les contraintes de longueur autorisées." }, { "id": "app.import.validate_team_import_data.display_name_missing.error", - "translation": "Missing required team property: display_name" + "translation": "La propriété d'équipe requise est manquante: display_name." }, { "id": "app.import.validate_team_import_data.name_characters.error", - "translation": "Team name contains invalid characters." + "translation": "Le nom de l'équipe contient des caractères invalides." }, { "id": "app.import.validate_team_import_data.name_length.error", - "translation": "Team name is too long." + "translation": "Le nom de l'équipe est trop long." }, { "id": "app.import.validate_team_import_data.name_missing.error", - "translation": "Missing required team property: name." + "translation": "La propriété d'équipe requise est manquante: name." }, { "id": "app.import.validate_team_import_data.name_reserved.error", - "translation": "Team name contains reserved word." + "translation": "Le nom de l'équipe contient des words réservés." }, { "id": "app.import.validate_team_import_data.type_invalid.error", - "translation": "Team type is not valid." + "translation": "Le type d'équipe est invalide." }, { "id": "app.import.validate_team_import_data.type_missing.error", - "translation": "Missing required team property: type" + "translation": "La propriété d'équipe requise est manquante: type." }, { "id": "app.import.validate_user_channels_import_data.channel_name_missing.error", - "translation": "Channel name missing from User's Channel Membership." + "translation": "Le nom du canal est manquant de la liste des canaux de l'utilisateur." }, { "id": "app.import.validate_user_channels_import_data.invalid_notify_props_desktop.error", - "translation": "Invalid Desktop NotifyProps for User's Channel Membership." + "translation": "La propriété Desktop NotifyProps de la liste des canaux de l'utilisateur est invalide." }, { "id": "app.import.validate_user_channels_import_data.invalid_notify_props_mark_unread.error", - "translation": "Invalid MarkUnread NotifyProps for User's Channel Membership." + "translation": "La propriété MarkUnread NotifyProps de la liste des canaux de l'utilisateur est invalide." }, { "id": "app.import.validate_user_channels_import_data.invalid_roles.error", - "translation": "Invalid roles for User's Channel Membership." + "translation": "Rôles invalides pour la liste des canaux de l'utilisateur." }, { "id": "app.import.validate_user_import_data.auth_data_length.error", - "translation": "User AuthData is too long." + "translation": "Les données d'authentification utilisateur sont trop longues." }, { "id": "app.import.validate_user_import_data.auth_service_length.error", - "translation": "User AuthService should not be empty if it is provided." + "translation": "La propriété User AuthService ne doit pas être vide si celle-ci est fournie." }, { "id": "app.import.validate_user_import_data.email_length.error", - "translation": "User email has an invalid length." + "translation": "L'adresse e-mail de l'utilisateur a une longueur invalide." }, { "id": "app.import.validate_user_import_data.email_missing.error", - "translation": "Missing required user property: email." + "translation": "La propriété de message requise est manquante: email." }, { "id": "app.import.validate_user_import_data.first_name_length.error", - "translation": "User First Name is too long." + "translation": "Le prénom de l'utilisateur est trop long." }, { "id": "app.import.validate_user_import_data.last_name_length.error", - "translation": "User Last Name is too long." + "translation": "Le nom de famille de l'utilisateur est trop long." }, { "id": "app.import.validate_user_import_data.nickname_length.error", - "translation": "User nickname is too long." + "translation": "Le surnom de l'utilisateur est trop long." }, { "id": "app.import.validate_user_import_data.position_length.error", - "translation": "User Position is too long." + "translation": "Le rôle de l'utilisateur est trop long." }, { "id": "app.import.validate_user_import_data.roles_invalid.error", - "translation": "User roles are not valid." + "translation": "Les rôles de l'utilisateur sont invalides." }, { "id": "app.import.validate_user_import_data.username_invalid.error", - "translation": "Username is not valid." + "translation": "Le nom d’utilisateur est invalide." }, { "id": "app.import.validate_user_import_data.username_missing.error", - "translation": "Missing require user property: username." + "translation": "La propriété d'utilisateur requise est manquante: username." }, { "id": "app.import.validate_user_teams_import_data.invalid_roles.error", - "translation": "Invalid roles for User's Team Membership." + "translation": "Rôles invalides pour la liste des canaux de l'utilisateur." }, { "id": "app.import.validate_user_teams_import_data.team_name_missing.error", - "translation": "Team name missing from User's Team Membership." + "translation": "Le nom d'équipe est manquant de la liste des canaux de l'utilisateur." }, { "id": "authentication.permissions.create_group_channel.description", - "translation": "Ability to create new group message channels" + "translation": "Possibilité de créer de nouveaux canaux pour les messages de groupe." }, { "id": "authentication.permissions.create_group_channel.name", - "translation": "Create Group Message" + "translation": "Créer un message de groupe" }, { "id": "authentication.permissions.create_team_roles.description", - "translation": "Ability to create new teams" + "translation": "Possibilité de créer de nouvelles équipes" }, { "id": "authentication.permissions.create_team_roles.name", - "translation": "Create Teams" + "translation": "Créer des équipes" }, { "id": "authentication.permissions.manage_team_roles.description", - "translation": "Ability to change the roles of a team member" + "translation": "Possibilité de changer les rôles d'un membre d'une équipe" }, { "id": "authentication.permissions.manage_team_roles.name", - "translation": "Manage Team Roles" + "translation": "Gérer les rôles d'équipe" }, { "id": "authentication.permissions.team_invite_user.description", @@ -3589,7 +3593,7 @@ }, { "id": "model.channel.is_valid.header.app_error", - "translation": "En-tête invalide" + "translation": "Entête invalide" }, { "id": "model.channel.is_valid.id.app_error", @@ -3617,7 +3621,7 @@ }, { "id": "model.channel_member.is_valid.email_value.app_error", - "translation": "Invalid email notification value" + "translation": "Valeur de la notification e-mail invalide" }, { "id": "model.channel_member.is_valid.notify_level.app_error", @@ -3625,7 +3629,7 @@ }, { "id": "model.channel_member.is_valid.push_level.app_error", - "translation": "Invalid push notification level" + "translation": "Niveau de notification push invalide" }, { "id": "model.channel_member.is_valid.role.app_error", @@ -3661,7 +3665,7 @@ }, { "id": "model.client.read_file.app_error", - "translation": "Nous avons rencontré une erreur lors de la recherche des profils utilisateurs" + "translation": "Une erreur s'est produite lors de la lecture du fichier" }, { "id": "model.client.set_profile_user.no_file.app_error", @@ -3669,7 +3673,7 @@ }, { "id": "model.client.set_profile_user.writer.app_error", - "translation": "Impossible d'écrire la demande" + "translation": "Impossible d'écrire la requête" }, { "id": "model.command.is_valid.create_at.app_error", @@ -3745,15 +3749,15 @@ }, { "id": "model.config.is_valid.cluster_email_batching.app_error", - "translation": "Impossible d'activer l'envoi d'e-mails groupés lorsque le clustering est activé" + "translation": "Impossible d'activer l'envoi d'e-mails par lot lorsque le clustering est activé" }, { "id": "model.config.is_valid.email_batching_buffer_size.app_error", - "translation": "Taille du buffer d'envoi d'e-mails groupés invalide. Doit être 0 ou un nombre positif." + "translation": "Taille du buffer d'envoi d'e-mails par lot invalide. Doit être 0 ou un nombre positif." }, { "id": "model.config.is_valid.email_batching_interval.app_error", - "translation": "Intervalle d'envoi d'e-mails groupés invalide pour les réglages de courriels. Doit être égal ou supérieur à 30 secondes." + "translation": "Intervalle d'envoi d'e-mails par lot invalide pour les réglages de courriels. Doit être égal ou supérieur à 30 secondes." }, { "id": "model.config.is_valid.email_reset_salt.app_error", @@ -3949,7 +3953,7 @@ }, { "id": "model.config.is_valid.site_url_email_batching.app_error", - "translation": "Impossible d'activer l'envoi d'e-mails groupés si SiteURL n'est pas défini." + "translation": "Impossible d'activer l'envoi d'e-mails par lot si SiteURL n'est pas défini." }, { "id": "model.config.is_valid.sitename_length.app_error", @@ -3973,7 +3977,7 @@ }, { "id": "model.config.is_valid.time_between_user_typing.app_error", - "translation": "Time between user typing updates should not be set to less than 1000 milliseconds." + "translation": "Le temps entre chaque utilisateur tapant une mise à jour ne doit pas être inférieur à 1000 millisecondes." }, { "id": "model.config.is_valid.webrtc_gateway_admin_secret.app_error", @@ -4353,7 +4357,7 @@ }, { "id": "model.user.is_valid.position.app_error", - "translation": "Poste invalide : ne doit pas faire plus de 35 caractères." + "translation": "Rôle invalide : ne doit pas faire plus de 35 caractères." }, { "id": "model.user.is_valid.pwd.app_error", @@ -4593,7 +4597,7 @@ }, { "id": "store.sql_channel.analytics_deleted_type_count.app_error", - "translation": "Nous n'avons pas pu obtenir le nombre de type de canaux" + "translation": "Impossible de supprimer le nombre de type de canaux" }, { "id": "store.sql_channel.analytics_type_count.app_error", @@ -4601,15 +4605,15 @@ }, { "id": "store.sql_channel.check_open_channel_permissions.app_error", - "translation": "Nous n'avons pas pu vérifier les droits" + "translation": "Impossible de vérifier les permissions" }, { "id": "store.sql_channel.check_permissions.app_error", - "translation": "Nous n'avons pas pu vérifier les droits" + "translation": "Impossible de vérifier les permissions" }, { "id": "store.sql_channel.check_permissions_by_name.app_error", - "translation": "Nous n'avons pas pu vérifier les droits" + "translation": "Impossible de vérifier les permissions" }, { "id": "store.sql_channel.delete.channel.app_error", @@ -4653,11 +4657,11 @@ }, { "id": "store.sql_channel.get_deleted_by_name.existing.app_error", - "translation": "Nous n'avons pas pu trouver le canal existant" + "translation": "Impossible de trouver le canal supprimé existant" }, { "id": "store.sql_channel.get_deleted_by_name.missing.app_error", - "translation": "No deleted channel exists with that name" + "translation": "Aucun nom de canal supprimé portant ce nom existe" }, { "id": "store.sql_channel.get_extra_members.app_error", @@ -4701,7 +4705,7 @@ }, { "id": "store.sql_channel.permanent_delete.app_error", - "translation": "Nous n'avons pas pu supprimer le canal" + "translation": "Impossible de supprimer le canal" }, { "id": "store.sql_channel.permanent_delete_by_team.app_error", @@ -4737,7 +4741,7 @@ }, { "id": "store.sql_channel.save_channel.exists.app_error", - "translation": "A channel with that name already exists on the same team" + "translation": "Un canal portant ce nom existe déjà dans la même équipe" }, { "id": "store.sql_channel.save_channel.limit.app_error", @@ -5053,7 +5057,7 @@ }, { "id": "store.sql_post.get_posts_created_att.app_error", - "translation": "Nous n'avons pas pu obtenir les messages pour le canal" + "translation": "Impossible de récupérer les messages du canal" }, { "id": "store.sql_post.get_posts_since.app_error", @@ -5065,7 +5069,7 @@ }, { "id": "store.sql_post.overwrite.app_error", - "translation": "Nous n'avons pas pu supprimer le message" + "translation": "Impossible de remplacer le message" }, { "id": "store.sql_post.permanent_delete.app_error", @@ -5077,7 +5081,7 @@ }, { "id": "store.sql_post.permanent_delete_by_channel.app_error", - "translation": "Nous n'avons pas pu supprimer le canal" + "translation": "Impossible de supprimer les messages par canal" }, { "id": "store.sql_post.permanent_delete_by_user.app_error", @@ -5097,7 +5101,7 @@ }, { "id": "store.sql_post.search.warn", - "translation": "Query error searching posts: %v" + "translation": "Erreur de requête lors de la recherche de messages: %v" }, { "id": "store.sql_post.update.app_error", @@ -5389,7 +5393,7 @@ }, { "id": "store.sql_team.save.domain_exists.app_error", - "translation": "Une équipe avec le même domaine existe déjà" + "translation": "Une équipe portant le même nom existe déjà" }, { "id": "store.sql_team.save.existing.app_error", @@ -5425,11 +5429,11 @@ }, { "id": "store.sql_user.analytics_get_inactive_users_count.app_error", - "translation": "Nous n'avons pas pu compter les utilisateurs" + "translation": "Impossible de compter les utilisateurs inactifs" }, { "id": "store.sql_user.analytics_get_system_admin_count.app_error", - "translation": "We couldn't get the system admin count" + "translation": "Impossible de récupérer le nombre d'administrateurs systèmes" }, { "id": "store.sql_user.analytics_unique_user_count.app_error", @@ -5673,7 +5677,7 @@ }, { "id": "store.sql_webhooks.update_incoming.app_error", - "translation": "Nous n'avons pas pu enregistrer le IncomongWebhook" + "translation": "Impossible de mettre à jour le Webhook entrant" }, { "id": "store.sql_webhooks.update_outgoing.app_error", @@ -5705,15 +5709,15 @@ }, { "id": "utils.config.supported_client_locale.app_error", - "translation": "Unable to load mattermost configuration file: DefaultClientLocale must be one of the supported locales" + "translation": "Impossible de charger le fichier de configuration de Mattermost: DefaultClientLocale doit être l'un des paramètres régionaux pris en charge" }, { "id": "utils.config.supported_server_locale.app_error", - "translation": "Unable to load mattermost configuration file: DefaultServerLocale must be one of the supported locales" + "translation": "Impossible de charger le fichier de configuration de Mattermost: DefaultServerLocale doit être l'un des paramètres régionaux pris en charge" }, { "id": "utils.config.validate_locale.app_error", - "translation": "Unable to load mattermost configuration file: AvailableLocales must include DefaultClientLocale" + "translation": "Impossible de charger le fichier de configuration de Mattermost: AvailableLocales doit inclure DefaultClientLocale" }, { "id": "utils.diagnostic.analytics_not_found.app_error", @@ -5873,7 +5877,7 @@ }, { "id": "web.incoming_webhook.permissions.app_error", - "translation": "Autorisations pour le canal insuffisantes" + "translation": "Permissions insuffisantes pour ce canal" }, { "id": "web.incoming_webhook.text.app_error", diff --git a/i18n/ja.json b/i18n/ja.json index 3d63a370c..b1041b33f 100644 --- a/i18n/ja.json +++ b/i18n/ja.json @@ -1515,6 +1515,10 @@ "id": "api.post.init.debug", "translation": "投稿APIルートを初期化しています" }, + { + "id": "api.post.link_preview_disabled.app_error", + "translation": "リンクプレビュー機能はシステム管理者によって無効にされています。" + }, { "id": "api.post.make_direct_channel_visible.get_2_members.error", "translation": "ダイレクトチャンネルの2人のメンバーを取得できませんでした channel_id={{.ChannelId}}" diff --git a/i18n/ko.json b/i18n/ko.json index 89aebcce3..12a75dfb2 100644 --- a/i18n/ko.json +++ b/i18n/ko.json @@ -1515,6 +1515,10 @@ "id": "api.post.init.debug", "translation": "post API 경로 초기화 중" }, + { + "id": "api.post.link_preview_disabled.app_error", + "translation": "시스템 관리자가 개인 링크들 저장을 할 수 없도록 했습니다." + }, { "id": "api.post.make_direct_channel_visible.get_2_members.error", "translation": "다이렉트 채널의 두명의 구성원을 가져올 수 없습니다. channel_id=%v" diff --git a/i18n/nl.json b/i18n/nl.json index d42bfb103..54875f8f1 100644 --- a/i18n/nl.json +++ b/i18n/nl.json @@ -1515,6 +1515,10 @@ "id": "api.post.init.debug", "translation": "Initialisatie van de berichten API routes" }, + { + "id": "api.post.link_preview_disabled.app_error", + "translation": "Publieke links zijn uitgeschakeld door de systeembeheerder" + }, { "id": "api.post.make_direct_channel_visible.get_2_members.error", "translation": "Het is niet gelukt om de 2 deelnemers op te halen van een direct kanaal. channel_id=%v" diff --git a/i18n/pt-BR.json b/i18n/pt-BR.json index 99992efc6..a5377897b 100644 --- a/i18n/pt-BR.json +++ b/i18n/pt-BR.json @@ -221,11 +221,11 @@ }, { "id": "api.channel.create_group.bad_size.app_error", - "translation": "Group message channels must contain at least 3 and no more than 8 users" + "translation": "Os canais de grupo de mensagem deve conter pelo menos 3 e não mais que 8 usuários" }, { "id": "api.channel.create_group.bad_user.app_error", - "translation": "One of the provided users does not exist" + "translation": "Um dos usuários fornecidos não existe" }, { "id": "api.channel.delete_channel.archived", @@ -901,7 +901,7 @@ }, { "id": "api.email_batching.render_batched_post.group_message", - "translation": "Group Message" + "translation": "Grupo de Mensagem" }, { "id": "api.email_batching.render_batched_post.sender.app_error", @@ -1515,6 +1515,10 @@ "id": "api.post.init.debug", "translation": "Inicializando as rotas de API post" }, + { + "id": "api.post.link_preview_disabled.app_error", + "translation": "Pré-visualizações de links foram desabilitados pelo administrador do sistema." + }, { "id": "api.post.make_direct_channel_visible.get_2_members.error", "translation": "Falha ao obter 2 membros para o canal direto channel_id={{.ChannelId}}" @@ -1817,11 +1821,11 @@ }, { "id": "api.slackimport.slack_add_users.missing_email_address", - "translation": "User {{.Username}} does not have an email address in the Slack export. Using {{.Email}} as a placeholder. The user should update their email address once logged in to the system.\r\n" + "translation": "O usuário {{.Username}} não possui um endereço de email na exportação do Slack. Utilizando o {{.Email}} no lugar. O usuário deveria atualizar o seu endereço de email assim que se logar no sistema.\r\n" }, { "id": "api.slackimport.slack_add_users.missing_email_address.warn", - "translation": "User {{.Username}} does not have an email address in the Slack export. Using {{.Email}} as a placeholder. The user should update their email address once logged in to the system." + "translation": "O usuário {{.Username}} não possui um endereço de email na exportação do Slack. Utilizando o {{.Email}} no lugar. O usuário deveria atualizar o seu endereço de email assim que se logar no sistema." }, { "id": "api.slackimport.slack_add_users.unable_import", @@ -2037,7 +2041,7 @@ }, { "id": "api.templates.channel_name.group", - "translation": "Group Message" + "translation": "Grupo de mensagem" }, { "id": "api.templates.email_change_body.info", @@ -2173,7 +2177,7 @@ }, { "id": "api.templates.post_subject_in_group_message", - "translation": "{{.SubjectText}} de {{.SenderDisplayName}} em {{.Day}} {{.Month}}, {{.Year}}" + "translation": "Novo grupo de mensagem de {{.SenderDisplayName}} em {{.Day}} {{.Month}}, {{.Year}}" }, { "id": "api.templates.reset_body.button", @@ -3081,11 +3085,11 @@ }, { "id": "authentication.permissions.create_group_channel.description", - "translation": "Ability to create new group message channels" + "translation": "Capacidade de criar novo canal de grupo de mensagem" }, { "id": "authentication.permissions.create_group_channel.name", - "translation": "Create Group Message" + "translation": "Criar grupo de mensagem" }, { "id": "authentication.permissions.create_team_roles.description", @@ -5097,7 +5101,7 @@ }, { "id": "store.sql_post.search.warn", - "translation": "Query error searching posts: %v" + "translation": "Error na query de procurar os posts: %v" }, { "id": "store.sql_post.update.app_error", @@ -5705,15 +5709,15 @@ }, { "id": "utils.config.supported_client_locale.app_error", - "translation": "Unable to load mattermost configuration file: DefaultClientLocale must be one of the supported locales" + "translation": "Não foi possível carregar o arquivo de configuração do mattermost: O DefaultClientLocale deve ser um dos idiomas suportados" }, { "id": "utils.config.supported_server_locale.app_error", - "translation": "Unable to load mattermost configuration file: DefaultServerLocale must be one of the supported locales" + "translation": "Não foi possível carregar o arquivo de configuração do mattermost: O DefaultServerLocale deve ser um idioma suportado" }, { "id": "utils.config.validate_locale.app_error", - "translation": "Unable to load mattermost configuration file: AvailableLocales must include DefaultClientLocale" + "translation": "Não foi possível carregar o arquivo de configuração do mattermost: AvailableLocales deve ser incluir o DefaultClientLocale" }, { "id": "utils.diagnostic.analytics_not_found.app_error", diff --git a/i18n/ru.json b/i18n/ru.json index 0497f4c22..e229da173 100644 --- a/i18n/ru.json +++ b/i18n/ru.json @@ -1515,6 +1515,10 @@ "id": "api.post.init.debug", "translation": "Инициализация API отправки" }, + { + "id": "api.post.link_preview_disabled.app_error", + "translation": "Предпросмотр ссылок был запрещён системным администратором." + }, { "id": "api.post.make_direct_channel_visible.get_2_members.error", "translation": "Не удалось получить 2 участников для канала личных сообщений channel_id={{.ChannelId}}" diff --git a/i18n/zh-CN.json b/i18n/zh-CN.json index cef1f7e9d..efa7fdc2f 100644 --- a/i18n/zh-CN.json +++ b/i18n/zh-CN.json @@ -1515,6 +1515,10 @@ "id": "api.post.init.debug", "translation": "正在初始化发文 API 路由" }, + { + "id": "api.post.link_preview_disabled.app_error", + "translation": "链接预览已被系统管理员禁用。" + }, { "id": "api.post.make_direct_channel_visible.get_2_members.error", "translation": "获取私聊频道的2个用户失败 channel_id={{.ChannelId}}" diff --git a/i18n/zh-TW.json b/i18n/zh-TW.json index 7eeb068c3..39fe17401 100644 --- a/i18n/zh-TW.json +++ b/i18n/zh-TW.json @@ -1515,6 +1515,10 @@ "id": "api.post.init.debug", "translation": "正在初始化貼文 API 路徑" }, + { + "id": "api.post.link_preview_disabled.app_error", + "translation": "連結預覽已被系統管理員停用" + }, { "id": "api.post.make_direct_channel_visible.get_2_members.error", "translation": "取得直接訊息頻道的兩位成員失敗 channel_id={{.ChannelId}}" diff --git a/webapp/i18n/de.json b/webapp/i18n/de.json index 168233d17..a1ef10c11 100644 --- a/webapp/i18n/de.json +++ b/webapp/i18n/de.json @@ -217,8 +217,11 @@ "admin.customization.customEmoji": "Benutzerdefinierte Emoji", "admin.customization.enableCustomEmojiDesc": "Erlaube es Benutzern eigene Emojis für Nachrichten zu erstellen. Wenn aktiviert, können eigene Emojis durch wechseln zu einem Team, Klicken auf die drei Punkte über der Kanal-Seitenleiste und dem Auswählen von \"Eigene Emoji\" aufgerufen werden.", "admin.customization.enableCustomEmojiTitle": "Eigene Emoji ermöglichen:", + "admin.customization.enableLinkPreviewsDesc": "Erlaube Benutzern eine Vorschau einer Webseite unterhalb der Nachricht anzuzeigen, sofern verfügbar. Wenn wahr, können Webseitenvorschauen über Kontoeinstellungrn > Erweitert > Vorschau auf Features der neuen Version aktiviert werden.", + "admin.customization.enableLinkPreviewsTitle": "Erlaube Link Vorschauen:", "admin.customization.iosAppDownloadLinkDesc": "Einen Link zum Download der iOS App hinzufügen. Benutzer die die Seite über einen mobilen Browser aufrufen werden eine Seite mit der Option die App herunterzuladen angezeigt. Dieses Feld leer lassen um zu verhindern dass die Seite angezeigt wird.", "admin.customization.iosAppDownloadLinkTitle": "iOS App Download Link:", + "admin.customization.linkPreviews": "Link Vorschauen", "admin.customization.nativeAppLinks": "Links zu Mattermost Anwendungen", "admin.customization.restrictCustomEmojiCreationAdmin": "Erlaube System- und Teamadministratoren eigene Emojis zu erstellen", "admin.customization.restrictCustomEmojiCreationAll": "Erlaube jedem eigene Emoji zu erstellen", @@ -764,6 +767,7 @@ "admin.sidebar.ldap": "AD/LDAP", "admin.sidebar.legalAndSupport": "Rechtsabteilung und Support", "admin.sidebar.license": "Edition und Lizenz", + "admin.sidebar.linkPreviews": "Link Vorschauen", "admin.sidebar.localization": "Lokalisation", "admin.sidebar.logging": "Protokollierung", "admin.sidebar.login": "Anmelden", @@ -935,8 +939,6 @@ "analytics.system.activeUsers": "Aktive Nutzer mit Beiträgen", "analytics.system.channelTypes": "Kanal Typen", "analytics.system.dailyActiveUsers": "Tägliche aktive Benutzer", - "analytics.system.expiredBanner": "Die Enterprise Lizenz im am {date} abgelaufen. Sie haben 15 Tage vom genannten Datum an Zeit die Lizenz zu erneuern, bitte kontaktieren Sie commercial@mattermost.com.", - "analytics.system.expiringBanner": "Die Enterprise Lizenz wird am {date} ablaufen. Um sie zu erneuern kontaktieren Sie bitte commercial@mattermost.com.", "analytics.system.monthlyActiveUsers": "Monatliche aktive Benutzer", "analytics.system.postTypes": "Nachrichten, Dateien und Hashtags", "analytics.system.privateGroups": "Private Gruppen", @@ -1287,9 +1289,9 @@ "error.not_found.title": "Seite nicht gefunden", "error.not_supported.message": "Privates Browsing wird nicht unterstützt", "error.not_supported.title": "Browser nicht unterstützt", - "error_bar.expired": "Enterprise Lizenz ist abgelaufen. Sie haben 15 Tage ab Ablaufdatum um Ihre Lizenz zu erneuern. Bitte Kontaktieren Sie commercial@mattermost.com für mehr Details", - "error_bar.expiring": "Die Enterprise Lizenz läuft ab am {date}. Um die Lizenz zu erneuern kontaktieren Sie bitte commercial@mattermost.com", - "error_bar.past_grace": "Enterprise Lizenz ist abgelaufen, bitte kontaktieren Sie Ihren Systemadministrator für Details", + "error_bar.expired": "Enterprise Lizenz ist abgelaufen und einige Funktionen wurden evtl. deaktiviert. Bitte erneuern.", + "error_bar.expiring": "Enterprise Lizenz läuft ab am {Date}. Bitte erneuern.", + "error_bar.past_grace": "Enterprise Lizenz ist abgelaufen und einige Funktionen wurden evtl. deaktiviert. Bitte wenden Sie sich an den Systemadministrator für mehr Details.", "error_bar.preview_mode": "Vorführungsmodus: E-Mail Benachrichtigungen wurden nicht konfiguriert", "file_attachment.download": "Download", "file_info_preview.size": "Größe ", @@ -1448,7 +1450,7 @@ "help.messaging.write": "**Schreiben Sie Nachrichten** indem Sie das Eingabefeld am unteren Ende von Mattermost verwenden. Drücken Sie **Enter* um sie zu versenden. Verwenden Sie **Shift+Enter** um einen Zeilenumbruch einzufügen ohne die Nachricht zu senden.", "installed_command.header": "Slash-Befehle", "installed_commands.add": "Slash-Befehl hinzufügen", - "installed_commands.delete.confirm": "This action permanently deletes the slash command and breaks any integrations using it. Are you sure you want to delete it?", + "installed_commands.delete.confirm": "Diese Aktion wird den Slash-Befehl permanent löschen und wird jede Integration, die ihn verwendet, stoppen. Sind Sie sich sicher dass sie ihn löschen möchten?", "installed_commands.empty": "Keine Befehle gefunden", "installed_commands.header": "Slash-Befehle", "installed_commands.help": "Erstelle Slash-Befehle zur Verwendung in externen Integrationen. Bitte {link} für mehr Informationen ansehen.", @@ -1456,7 +1458,7 @@ "installed_commands.search": "Suche nach Slash-Befehlen", "installed_commands.unnamed_command": "Unbenannter Slash-Befehl", "installed_incoming_webhooks.add": "Eingehenden Webhook hinzufügen", - "installed_incoming_webhooks.delete.confirm": "This action permanently deletes the incoming webhook and breaks any integrations using it. Are you sure you want to delete it?", + "installed_incoming_webhooks.delete.confirm": "Die Aktion wird den eingehenden Webhook permanent löschen und jede Integration, die ihn verwendet, stoppen. Sind Sie sich sicher dass sie ihn löschen möchten?", "installed_incoming_webhooks.empty": "Keine eingehende Webhooks gefunden", "installed_incoming_webhooks.header": "Eingehende Webhooks", "installed_incoming_webhooks.help": "Erstelle eingehende Webhook URLs zur Verwendung in externen Integrationen. Bitte {link} für mehr Informationen ansehen.", @@ -1482,7 +1484,7 @@ "installed_oauth_apps.add": "OAuth 2.0 Applikation hinzufügen", "installed_oauth_apps.callbackUrls": "Callback URLs (eine pro Zeile)", "installed_oauth_apps.cancel": "Abbrechen", - "installed_oauth_apps.delete.confirm": "This action permanently deletes the OAuth 2.0 application and breaks any integrations using it. Are you sure you want to delete it?", + "installed_oauth_apps.delete.confirm": "Die Aktion wird die OAuth 2.0 Applikation permanent löschen und jede Integration, die ihn verwendet, stoppen. Sind Sie sich sicher dass sie ihn löschen möchten?", "installed_oauth_apps.description": "Beschreibung", "installed_oauth_apps.empty": "Keine OAuth 2.0 Applikationen gefunden", "installed_oauth_apps.header": "OAuth 2.0 Applikationen", @@ -1498,7 +1500,7 @@ "installed_oauth_apps.trusted.no": "Nein", "installed_oauth_apps.trusted.yes": "Ja", "installed_outgoing_webhooks.add": "Ausgehenden Webhook hinzufügen", - "installed_outgoing_webhooks.delete.confirm": "This action permanently deletes the outgoing webhook and breaks any integrations using it. Are you sure you want to delete it?", + "installed_outgoing_webhooks.delete.confirm": "Diese Aktion wird den ausgehenden Webhook permanent löschen und und jede Integration, die ihn verwendet, stoppen. Sind Sie sich sicher dass sie ihn löschen möchten?", "installed_outgoing_webhooks.empty": "Keine ausgehenden Webhooks gefunden", "installed_outgoing_webhooks.header": "Ausgehende Webhooks", "installed_outgoing_webhooks.help": "Erstelle ausgehende Webhook URLs zur Verwendung in externen Integrationen. Bitte {link} für mehr Informationen ansehen.", @@ -1639,17 +1641,17 @@ "more_channels.title": "Weitere Kanäle", "more_direct_channels.close": "Schließen", "more_direct_channels.message": "Nachricht", - "more_direct_channels.new_convo_note": "This will start a new conversation. If you’re adding a lot of people, consider creating a private group instead.", - "more_direct_channels.new_convo_note.full": "You’ve reached the maximum number of people for this conversation. Consider creating a private group instead.", + "more_direct_channels.new_convo_note": "Dies wird eine neue Konversation starten, Wenn Sie viele Personen hinzufügen, könnte eine private Gruppe besser geeignet sein.", + "more_direct_channels.new_convo_note.full": "Sie haben die maximale Anzahl an Personen für diese Konversation erreicht. Ziehen Sie in Erwägung eine private Gruppe anzulegen.", "more_direct_channels.title": "Direktnachricht", "msg_typing.areTyping": "{users} und {last} tippen gerade...", "msg_typing.isTyping": "{user} tippt...", "msg_typing.someone": "Jemand", - "multiselect.go": "Go", - "multiselect.instructions": "Use up/down arrows to navigate and enter to select", - "multiselect.numPeopleRemaining": "You can add {num, number} more {num, plural, =0 {people} one {person} other {people}}. ", - "multiselect.numRemaining": "You can add {num, number} more", - "multiselect.placeholder": "Search and add members", + "multiselect.go": "Los", + "multiselect.instructions": "Verwenden Sie die hoch/runter Pfeile zur Navigation und Enter zur Auswahl", + "multiselect.numPeopleRemaining": "Sie können {num, number} weitere {num, plural, =0 {Personen} one {Person} other {Personen}} hinzufügen. ", + "multiselect.numRemaining": "Sie können {num, number} weitere hinzufügen", + "multiselect.placeholder": "Mitglieder suchen und hinzufügen", "navbar.addMembers": "Mitglieder hinzufügen", "navbar.click": "Klicken Sie hier", "navbar.delete": "Kanal löschen...", @@ -1743,7 +1745,7 @@ "rename_channel.defaultError": " - Kann nicht für den Vorgabe-Kanal geändert werden", "rename_channel.displayName": "Angezeigter Name", "rename_channel.displayNameHolder": "Anzeigenamen eingeben", - "rename_channel.handleHolder": "Dürfen nur Kleinbuchstaben oder Ziffern sein", + "rename_channel.handleHolder": "Kleinbuchstaben oder Ziffern", "rename_channel.lowercase": "Dürfen nur Kleinbuchstaben oder Ziffern sein", "rename_channel.maxLength": "Dieses Feld darf nur bis zu 22 Zeichen enthalten", "rename_channel.required": "Dieses Feld wird erforderlich", diff --git a/webapp/i18n/en.json b/webapp/i18n/en.json index de5beaf67..3ef467937 100644 --- a/webapp/i18n/en.json +++ b/webapp/i18n/en.json @@ -1,14 +1,4 @@ { - "admin.customization.enableLinkPreviewsDesc": "Enable users to display a preview of website content below the message, if available. When true, website previews can be enabled from Account Settings > Advanced > Preview pre-release features.", - "admin.customization.enableLinkPreviewsTitle": "Enable Link Previews:", - "admin.customization.linkPreviews": "Link Previews", - "admin.sidebar.linkPreviews": "Link Previews", - "multiselect.go": "Go", - "multiselect.instructions": "Use up/down arrows to navigate and enter to select", - "multiselect.placeholder": "Search and add members", - "multiselect.numRemaining": "You can add {num, number} more", - "multiselect.numPeopleRemaining": "You can add {num, number} more {num, plural, =0 {people} one {person} other {people}}. ", - "filtered_channels_list.count": "{count} {count, plural, =0 {0 channels} one {channel} other {channels}}", "about.close": "Close", "about.copyright": "Copyright 2016 Mattermost, Inc. All rights reserved", "about.database": "Database:", @@ -227,8 +217,11 @@ "admin.customization.customEmoji": "Custom Emoji", "admin.customization.enableCustomEmojiDesc": "Enable users to create custom emoji for use in messages. When enabled, Custom Emoji settings can be accessed by switching to a team and clicking the three dots above the channel sidebar, and selecting \"Custom Emoji\".", "admin.customization.enableCustomEmojiTitle": "Enable Custom Emoji:", + "admin.customization.enableLinkPreviewsDesc": "Enable users to display a preview of website content below the message, if available. When true, website previews can be enabled from Account Settings > Advanced > Preview pre-release features.", + "admin.customization.enableLinkPreviewsTitle": "Enable Link Previews:", "admin.customization.iosAppDownloadLinkDesc": "Add a link to download the iOS app. Users who access the site on a mobile web browser will be prompted with a page giving them the option to download the app. Leave this field blank to prevent the page from appearing.", "admin.customization.iosAppDownloadLinkTitle": "iOS App Download Link:", + "admin.customization.linkPreviews": "Link Previews", "admin.customization.nativeAppLinks": "Mattermost App Links", "admin.customization.restrictCustomEmojiCreationAdmin": "Allow System and Team Admins to create custom emoji", "admin.customization.restrictCustomEmojiCreationAll": "Allow everyone to create custom emoji", @@ -774,6 +767,7 @@ "admin.sidebar.ldap": "AD/LDAP", "admin.sidebar.legalAndSupport": "Legal and Support", "admin.sidebar.license": "Edition and License", + "admin.sidebar.linkPreviews": "Link Previews", "admin.sidebar.localization": "Localization", "admin.sidebar.logging": "Logging", "admin.sidebar.login": "Login", diff --git a/webapp/i18n/es.json b/webapp/i18n/es.json index 643ee0f03..902e75ba8 100644 --- a/webapp/i18n/es.json +++ b/webapp/i18n/es.json @@ -217,8 +217,11 @@ "admin.customization.customEmoji": "Emoticones Personalizados", "admin.customization.enableCustomEmojiDesc": "Permite a los usuarios crear emoticones personalizados para su uso en los mensajes. Cuando se activa, Emoticones Personalizados se puede acceder a los ajustes al ingresar a un equipo y hacer clic en los tres puntos por encima del canal en la barra lateral y seleccionar \"Emoticones Personalizados\".", "admin.customization.enableCustomEmojiTitle": "Habilitar Emoticones Personalizados:", + "admin.customization.enableLinkPreviewsDesc": "Habilitar a los usuarios a mostrar una vista previa del contenido del sitio web a seguido del mensaje, si está disponible. Cuando es verdadero, la vista previa de sitios web se puede activar en la Configuración de la Cuenta > Avanzado > Previsualizar características de pre-lanzamiento.", + "admin.customization.enableLinkPreviewsTitle": "Habilitar Vista Previa del Enlace:", "admin.customization.iosAppDownloadLinkDesc": "Agrega un enlace para descargar la aplicación para iOS. Los usuarios que tienen acceso al sitio en un navegador de web móvil serán presentados con una página que les da la opción de descargar la aplicación. Deja este campo en blanco para evitar que la página aparezca.", "admin.customization.iosAppDownloadLinkTitle": "Enlace de Descarga de la Aplicación para iOS:", + "admin.customization.linkPreviews": "Vista previa del Enlace", "admin.customization.nativeAppLinks": "Enlaces de Mattermost App", "admin.customization.restrictCustomEmojiCreationAdmin": "Permitir la creación de emoticones a los Administradores de Sistema y Equipo", "admin.customization.restrictCustomEmojiCreationAll": "Permitir a todos que puedan crear emoticones personalizados", @@ -764,6 +767,7 @@ "admin.sidebar.ldap": "AD/LDAP", "admin.sidebar.legalAndSupport": "Legal y Soporte", "admin.sidebar.license": "Edición y Licencia", + "admin.sidebar.linkPreviews": "Vista previa del Enlace", "admin.sidebar.localization": "Idiomas", "admin.sidebar.logging": "Registros", "admin.sidebar.login": "Inicio de Sesión", @@ -935,8 +939,6 @@ "analytics.system.activeUsers": "Usuarios Activos con Mensajes", "analytics.system.channelTypes": "Tipos de Canales", "analytics.system.dailyActiveUsers": "Usuarios Activos Diarios", - "analytics.system.expiredBanner": "La licencia Empresarial vence el {date}. Tienes 15 días desde esta notificación para renovar la licencia, por favor contacta a commercial@mattermost.com.", - "analytics.system.expiringBanner": "La licencia Empresarial vence el {date}. Para renovar tu licencia, por favor contacta a commercial@mattermost.com.", "analytics.system.monthlyActiveUsers": "Usuarios Activos Mensuales", "analytics.system.postTypes": "Mesajes, Archivos y Hashtags", "analytics.system.privateGroups": "Grupos Privados", @@ -1287,9 +1289,9 @@ "error.not_found.title": "Página no encontrada", "error.not_supported.message": "La navegación privada no es compatible", "error.not_supported.title": "Navegador no compatible", - "error_bar.expired": "La licencia Empresarial se venció; tienes 15 días desde la fecha de vencimiento para renovar la licencia, por favor contacta a commercial@mattermost.com para más detalles", - "error_bar.expiring": "La licencia Empresarial vence el {date}. Para renovar tu licencia, por favor contacta a commercial@mattermost.com", - "error_bar.past_grace": "La licencia Empresarial se venció, por favor contacta a un Administrador del Sistema para más detalles", + "error_bar.expired": "La licencia para Empresas está vencida y algunas características pueden ser deshabilitadas. Favor renovar.", + "error_bar.expiring": "La licencia para Empresas expira el {date}. Favor renovar.", + "error_bar.past_grace": "La licencia para Empresas está vencida y algunas características pueden ser desbahilitadas. Por favor contacta a tu Adminstrador de Sistema para más detalles.", "error_bar.preview_mode": "Modo de prueba: Las notificaciones por correo electrónico no han sido configuradas", "file_attachment.download": "Descargar", "file_info_preview.size": "Tamaño ", diff --git a/webapp/i18n/fr.json b/webapp/i18n/fr.json index a2a5bf4e7..acbf28516 100644 --- a/webapp/i18n/fr.json +++ b/webapp/i18n/fr.json @@ -28,7 +28,7 @@ "activity_log.sessionsDescription": "Les sessions sont créées lorsque vous vous connectez depuis un nouveau navigateur. Les sessions vous permettent d'utiliser Mattermost sans devoir vous connecter à nouveau durant un temps défini par l'administrateur système. Si vous souhaitez vous déconnecter plus tôt, utilisez le bouton \"Se déconnecter\" ci-dessous pour mettre fin à votre session.", "activity_log_modal.android": "Android", "activity_log_modal.androidNativeApp": "Application Android", - "activity_log_modal.desktop": "Native Desktop App", + "activity_log_modal.desktop": "Application de bureau native", "activity_log_modal.iphoneNativeApp": "Application pour iPhone", "add_command.autocomplete": "Auto-complétion", "add_command.autocomplete.help": "(Facultatif) Afficher les commandes slash dans la liste d'auto-complétion.", @@ -138,7 +138,7 @@ "add_outgoing_webhook.triggerWordsTriggerWhenFullWord": "Premier mot correspond exactement à un mot déclencheur", "add_outgoing_webhook.triggerWordsTriggerWhenStartsWith": "Le premier mot commence avec un mot déclencheur", "admin.advance.cluster": "Haute disponibilité (Bêta)", - "admin.advance.metrics": "Suivi des performances (Beta)", + "admin.advance.metrics": "Suivi des performances", "admin.audits.reload": "Recharger les logs de l'activité utilisateur", "admin.audits.title": "Activité de l'utilisateur", "admin.authentication.email": "Authentification email", @@ -217,8 +217,11 @@ "admin.customization.customEmoji": "Emoji personnalisés", "admin.customization.enableCustomEmojiDesc": "Permet aux utilisateurs de créer leurs propres emoji. Si activé, \"Emoji Personnalisés\" est accessible en sélectionnant une équipe, en cliquant sur les trois points en haut de la barre latérale et en choisissant l'option du menu.", "admin.customization.enableCustomEmojiTitle": "Activer les Emoji personnalisés :", + "admin.customization.enableLinkPreviewsDesc": "Permet aux utilisateurs d'afficher un aperçu du contenu du site web en-dessous du message, si disponible. Lorsqu'activé, les aperçus de sites web peut être activés à partir de Paramètres du compte > Options avancées > Activer les fonctionnalités expérimentales.", + "admin.customization.enableLinkPreviewsTitle": "Activer l'aperçu des liens:", "admin.customization.iosAppDownloadLinkDesc": "Ajouter un lien pour télécharger l'application iOS. Les utilisateurs qui visitent le site avec un navigateur web mobile seront accueils avec une page leur permettant de télécharger l'application. Laissez ce champ vide pour ne pas afficher cette page.", "admin.customization.iosAppDownloadLinkTitle": "Lien de téléchargement de l'app iOS :", + "admin.customization.linkPreviews": "Aperçu des liens", "admin.customization.nativeAppLinks": "Liens des applications Mattermost", "admin.customization.restrictCustomEmojiCreationAdmin": "Permet aux administrateurs système et d'équipe de créer des emoji personnalisés", "admin.customization.restrictCustomEmojiCreationAll": "Permettre à tout le monde de créer des Emoji personnalisés", @@ -252,16 +255,16 @@ "admin.email.mhpnsHelp": "Téléchargez l'application iOS Mattermost depuis iTunes. Téléchargez l'application Android Mattermost depuis le Google Play. Apprenez-en plus sur HPNS.", "admin.email.mtpns": "Utilisez iOS et Android sur iTunes et Google Play avec TPNS", "admin.email.mtpnsHelp": "Téléchargez l'application iOS Mattermost depuis iTunes. Téléchargez l'application Android Mattermost depuis le Google Play. Apprenez-en plus sur TPNS.", - "admin.email.nofificationOrganizationExample": "Exemple : \"(c)MonEntreprise, 12 avenue Niel, 75017 Paris, France\"", + "admin.email.nofificationOrganizationExample": "Ex.: \"© MonEntreprise, 12 avenue Niel, 75017 Paris, France\"", "admin.email.notificationDisplayDescription": "Afficher le nom du compte de messagerie utilisé lors de l'envoi de notifications par Mattermost.", "admin.email.notificationDisplayExample": "Ex. : \"Notification Mattermost\", \"Système\", \"No-reply\"", "admin.email.notificationDisplayTitle": "Nom affiché dans les notifications :", "admin.email.notificationEmailDescription": "L'adresse e-mail affichée sur le compte utilisé lors de l'envoi de notifications e-mails de Mattermost.", - "admin.email.notificationEmailExample": "Ex. : \"mattermost@yourcompany.com\", \"admin@yourcompany.com\"", + "admin.email.notificationEmailExample": "Ex. : \"mattermost@votreentreprise.com\", \"admin@votreentreprise.com\"", "admin.email.notificationEmailTitle": "Notification depuis l'adresse :", "admin.email.notificationOrganization": "Adresse e-mail du pied de page pour les notifications e-mail :", "admin.email.notificationOrganizationDescription": "Nom de société et adresse affichés sur les notifications envoyées par e-mail, comme \"© MonEntreprise, 55 Rue du Faubourg Saint-Honoré, 75008 Paris, France\". Si ce champ est vide, il ne sera pas inclus dans les e-mails.", - "admin.email.notificationOrganizationExample": "Exemple : \"(c)MonEntreprise, 12 avenue Niel, 75017 Paris, France\"", + "admin.email.notificationOrganizationExample": "Ex. : \"© MonEntreprise, 12 avenue Niel, 75017 Paris, France\"", "admin.email.notificationsDescription": "En général, activé en production. Si activé, Mattermost essaye d'envoyer des notifications par courrier électronique. Les développeurs peuvent en revanche désactiver cette option pour gagner du temps.
    Activer cette option retire la bannière \"Mode découverte\" (cela nécessite de se déconnecter puis se re-connecter après avoir activé l'option).", "admin.email.notificationsTitle": "Activer les notifications par e-mail :", "admin.email.passwordSaltDescription": "Clé de salage de 32 caractères utilisé pour générer la clé de réinitialisation du mot de passe. Générée aléatoirement à l'installation. Veuillez cliquer sur \"regénérer\" pour créer une nouvelle clé de salage.", @@ -276,20 +279,20 @@ "admin.email.pushServerEx": "Exemple : \"http://push-test.mattermost.com\"", "admin.email.pushServerTitle": "Serveur de notifications push :", "admin.email.pushTitle": "Envoyer des notifications push : ", - "admin.email.requireVerificationDescription": "En général activé en production. Si activé, Mattermost impose une vérification de l'adresse e-mail avant d'autoriser la connexion. Vous pouvez désactiver cette option en développement.", + "admin.email.requireVerificationDescription": "En général, activé en production. Si activé, Mattermost impose une vérification de l'adresse e-mail avant d'autoriser la connexion. Vous pouvez désactiver cette option en développement.", "admin.email.requireVerificationTitle": "Imposer la vérification de l'adresse e-mail : ", "admin.email.selfPush": "Spécifiez manuellement la configuration du service de notifications Push", "admin.email.smtpPasswordDescription": " Récupérez ces informations de la part de l'administrateur de votre serveur de mails.", - "admin.email.smtpPasswordExample": "Ex. : \"yourpassword\", \"jcuS8PuvcpGhpgHhlcpT1Mx42pnqMxQY\"", + "admin.email.smtpPasswordExample": "Ex. : \"votremotdepasse\", \"jcuS8PuvcpGhpgHhlcpT1Mx42pnqMxQY\"", "admin.email.smtpPasswordTitle": "Mot de passe du serveur SMTP :", "admin.email.smtpPortDescription": "Port du serveur SMTP.", "admin.email.smtpPortExample": "Ex. : \"25\", \"465\", \"587\"", "admin.email.smtpPortTitle": "Port SMTP :", "admin.email.smtpServerDescription": "Adresse de votre serveur SMTP.", - "admin.email.smtpServerExample": "Ex. : \"smtp. yourcompany.com\", \"email-smtp.us-east-1.amazonaws.com\"", + "admin.email.smtpServerExample": "Ex. : \"smtp.votreentreprise.com\", \"email-smtp.us-east-1.amazonaws.com\"", "admin.email.smtpServerTitle": "Serveur SMTP :", "admin.email.smtpUsernameDescription": " Récupérez ces informations de la part de l'administrateur de votre serveur de mails.", - "admin.email.smtpUsernameExample": "Ex. : \"admin@yourcompany.com\", \"AKIADTOVBGERKLCBV\"", + "admin.email.smtpUsernameExample": "Ex. : \"admin@votreentreprise.com\", \"AKIADTOVBGERKLCBV\"", "admin.email.smtpUsernameTitle": "Nom d'utilisateur SMTP :", "admin.email.testing": "Essai en cours...", "admin.false": "non", @@ -310,34 +313,34 @@ "admin.general.localization.serverLocaleTitle": "Langue par défaut du serveur :", "admin.general.log": "Journalisation", "admin.general.policy": "Règles", - "admin.general.policy.allowEditPostAlways": "Any time", - "admin.general.policy.allowEditPostDescription": "Set policy on the length of time authors have to edit their messages after posting.", + "admin.general.policy.allowEditPostAlways": "N'importe quand", + "admin.general.policy.allowEditPostDescription": "Définit la durée durant laquelle l'auteur d'un message pourra modifier son message après l'avoir publié.", "admin.general.policy.allowEditPostNever": "Jamais", - "admin.general.policy.allowEditPostTimeLimit": "seconds after posting", - "admin.general.policy.allowEditPostTitle": "Allow users to edit their messages:", + "admin.general.policy.allowEditPostTimeLimit": "secondes après publication", + "admin.general.policy.allowEditPostTitle": "Autoriser des utilisateurs à éditer leurs messages :", "admin.general.policy.permissionsAdmin": "Administrateurs d'équipe et administrateurs système", "admin.general.policy.permissionsAll": "Tous les membres de l'équipe", "admin.general.policy.permissionsAllChannel": "Tous les membres du canal", - "admin.general.policy.permissionsChannelAdmin": "Channel, Team and System Admins", + "admin.general.policy.permissionsChannelAdmin": "Canal, équipe et administrateurs système", "admin.general.policy.permissionsDeletePostAdmin": "Administrateurs d'équipe et administrateurs système", - "admin.general.policy.permissionsDeletePostAll": "Message authors can delete their own messages, and Administrators can delete any message", + "admin.general.policy.permissionsDeletePostAll": "Les auteurs peuvent supprimer leurs propres messages. Les administrateurs peuvent supprimer n'importe quel message.", "admin.general.policy.permissionsDeletePostSystemAdmin": "Administrateurs système", "admin.general.policy.permissionsSystemAdmin": "Administrateurs système", - "admin.general.policy.restrictPostDeleteDescription": "Set policy on who has permission to delete messages.", - "admin.general.policy.restrictPostDeleteTitle": "Allow which users to delete messages:", + "admin.general.policy.restrictPostDeleteDescription": "Définit quels sont les utilisateurs autorisés à supprimer des messages.", + "admin.general.policy.restrictPostDeleteTitle": "Autorise quels utilisateurs peuvent supprimer des messages :", "admin.general.policy.restrictPrivateChannelCreationDescription": "Choisit qui peut créer des groupes privés.", "admin.general.policy.restrictPrivateChannelCreationTitle": "Activer la création de groupes privés pour :", "admin.general.policy.restrictPrivateChannelDeletionCommandLineToolLink": "outil en ligne de commande", "admin.general.policy.restrictPrivateChannelDeletionDescription": "Choisit qui peut supprimer des groupes privés. Les canaux supprimés peuvent être récupérés de la base de données en utilisant {commandLineToolLink}.", "admin.general.policy.restrictPrivateChannelDeletionTitle": "Activer la suppression de groupes privés pour :", - "admin.general.policy.restrictPrivateChannelManagementDescription": "Choisit qui peut renommer et définir l'en-tête ou la description des groupes privés.", + "admin.general.policy.restrictPrivateChannelManagementDescription": "Choisit qui peut renommer et définir l'entête ou la description des groupes privés.", "admin.general.policy.restrictPrivateChannelManagementTitle": "Activer le renommage de groupes privés pour :", "admin.general.policy.restrictPublicChannelCreationDescription": "Choisit qui peut créer des canaux publics.", "admin.general.policy.restrictPublicChannelCreationTitle": "Activer la création de canaux publics pour :", "admin.general.policy.restrictPublicChannelDeletionCommandLineToolLink": "outil en ligne de commande", "admin.general.policy.restrictPublicChannelDeletionDescription": "Choisit qui peut supprimer des canaux publics. Les canaux supprimés peuvent être récupérés de la base de données en utilisant {commandLineToolLink}.", "admin.general.policy.restrictPublicChannelDeletionTitle": "Activer la suppression de canaux publics pour :", - "admin.general.policy.restrictPublicChannelManagementDescription": "Choisit qui peut renommer et définir l'en-tête ou la description des canaux publics.", + "admin.general.policy.restrictPublicChannelManagementDescription": "Choisit qui peut renommer et définir l'entête ou la description des canaux publics.", "admin.general.policy.restrictPublicChannelManagementTitle": "Activer le renommage de canaux publics pour :", "admin.general.policy.teamInviteDescription": "Choisir qui peut inviter d'autres personnes à une équipe en utilisant Inviter un nouveau membre pour inviter des nouveaux utilisateurs par e-mail, ou l'option Obtenir un lien d'invitation d'équipe du menu principal. Si l'option Obtenir un lien d'invitation d'équipe est utilisée pour partager un lien, vous pouvez faire expirer le code d'invitation depuis Configuration de l'équipe > Code d'invitation une fois que les utilisateurs désirés ont rejoint l'équipe.", "admin.general.policy.teamInviteTitle": "Autoriser l'envoi d'invitation depuis :", @@ -376,7 +379,7 @@ "admin.image.amazonS3BucketExample": "Ex. : \"mattermost-media\"", "admin.image.amazonS3BucketTitle": "Bucket S3 Amazon :", "admin.image.amazonS3EndpointDescription": "Nom d'hôte de votre fournisseur de stockage compatible S3. Par défaut : 's3.amazonaws.com'.", - "admin.image.amazonS3EndpointExample": "E.g.: \"s3.amazonaws.com\"", + "admin.image.amazonS3EndpointExample": "Ex. : \"s3.amazonaws.com\"", "admin.image.amazonS3EndpointTitle": "Endpoint Amazon S3 :", "admin.image.amazonS3IdDescription": "Demandez cette information à votre administrateur AWS.", "admin.image.amazonS3IdExample": "Ex. : \"AKIADTOVBGERKLCBV\"", @@ -460,7 +463,7 @@ "admin.ldap.portDesc": "Le port utilisé par Mattermost pour vous connecter au serveur LDAP. Par défaut : 389.", "admin.ldap.portEx": "Ex. : \"389\"", "admin.ldap.portTitle": "Port du serveur LDAP :", - "admin.ldap.positionAttrDesc": "(Optionnel) L'attribut du serveur AD/LDAP qui sera utilisé pour le champ \"poste\" dans Mattermost.", + "admin.ldap.positionAttrDesc": "(Optionnel) L'attribut du serveur AD/LDAP qui sera utilisé pour le champ \"rôle\" de Mattermost.", "admin.ldap.positionAttrEx": "Ex. : \"titre\"", "admin.ldap.positionAttrTitle": "Attribut de rôle :", "admin.ldap.queryDesc": "Valeur du délai d'attente pour les requêtes au serveur AD/LDAP. Augmentez cette valeur si vous rencontrez des erreurs liées à un serveur AD/LDAP trop lent.", @@ -481,7 +484,7 @@ "admin.ldap.testSuccess": "Test d'AD/LDAP réussi avec succès", "admin.ldap.uernameAttrDesc": "Attribut du serveur LDAP utilisé pour le champ \"nom d'utilisateur\" dans Mattermost. Utilisez de préférence le même champ que l'attribut \"identifiant d'utilisateur\".", "admin.ldap.userFilterDisc": "Entrez éventuellement un filtre LDAP à utiliser lors de la recherche d'objets utilisateur. Seuls les utilisateurs sélectionnés par la requête seront en mesure d'accéder à Mattermost . Pour Active Directory, la requête pour filtrer les utilisateurs désactivés est (&(objectCategory=Person)(!(UserAccountControl:1.2.840.113556.1.4.803:=2))).", - "admin.ldap.userFilterEx": "Ex. : \"(objectClass=utilisateur)\"", + "admin.ldap.userFilterEx": "Ex. : \"(objectClass=user)\"", "admin.ldap.userFilterTitle": "Filtre utilisateur :", "admin.ldap.usernameAttrEx": "Ex. : \"sAMAccountName\"", "admin.ldap.usernameAttrTitle": "Attribut \"nom d'utilisateur\" :", @@ -527,9 +530,9 @@ "admin.metrics.enableDescription": "Lorsqu'activé, Mattermost activera la collecte des rapports de performance et de profilage. Veuillez vous référer à la documentation pour en savoir plus sur la configuration du suivi des performances de Mattermost.", "admin.metrics.enableTitle": "Activer le suivi des performances :", "admin.metrics.listenAddressDesc": "L'adresse d'écoute du serveur pour publier les mesures de performances.", - "admin.metrics.listenAddressEx": "Ex. : \":8065\"", + "admin.metrics.listenAddressEx": "Ex. : \":8067\"", "admin.metrics.listenAddressTitle": "Adresse IP du serveur :", - "admin.mfa.bannerDesc": "Multi-factor authentication is available for accounts with AD/LDAP or email login. If other login methods are used, MFA should be configured with the authentication provider.", + "admin.mfa.bannerDesc": "L'authentification multi-facteurs (MFA) est disponible pour les comptes se connectant à l'aide de AD/LDAP ou d'une adresse e-mail. Si d'autres méthodes d'authentification sont utilisées, MFA doit être configuré avec le fournisseur d'authentification.", "admin.mfa.cluster": "Haute", "admin.mfa.title": "Authentification multi-facteurs", "admin.nav.help": "Aide", @@ -566,9 +569,9 @@ "admin.password.requirementsDescription": "Lettres obligatoires pour un mot de passe valide.", "admin.password.symbol": "Au moins un symbole (ex : \"~!@#$%^&*()\")", "admin.password.uppercase": "Au moins une majuscule", - "admin.privacy.showEmailDescription": "When false, hides the email address of members from everyone except System Administrators.", + "admin.privacy.showEmailDescription": "Si désactivé, cache l'adresse e-mail des membres de tout le monde sauf des administrateurs système.", "admin.privacy.showEmailTitle": "Afficher l'adresse e-mail : ", - "admin.privacy.showFullNameDescription": "When false, hides the full name of members from everyone except System Administrators. Username is shown in place of full name.", + "admin.privacy.showFullNameDescription": "Si désactivé, cache le nom complet des membres de tout le monde sauf des administrateurs système. Le nom d'utilisateur s'affiche alors à la place du nom complet.", "admin.privacy.showFullNameTitle": "Afficher le nom complet : ", "admin.purge.button": "Purger tous les caches", "admin.purge.loading": " Chargement…", @@ -576,13 +579,13 @@ "admin.purge.purgeFail": "Impossible de purger : {error}", "admin.rate.enableLimiterDescription": "Si activé, les APIs sont limitées comme spécifié ci-dessous.", "admin.rate.enableLimiterTitle": "Limiter l'accès aux API : ", - "admin.rate.httpHeaderDescription": "Quand ce champ est rempli, les flux des requêtes sont limités par l'en-tête HTTP spécifié (par exemple \"X-Real-IP\" avec Nginx, \"X-Forwarded-For\" pour AmazonELB)", + "admin.rate.httpHeaderDescription": "Lorsque rempli, fait varier les limites de fréquence par l'entête HTTP spécifié (par exemple lorsque NGINX est configuré avec \"X-Real-IP\", lorsque AmazonELB est configuré avec \"X-Forwarded-For\")", "admin.rate.httpHeaderExample": "Ex. : \"X-Real-IP\", \"X-Forwarded-For\"", - "admin.rate.httpHeaderTitle": "Varier le taux limite par un en-tête HTTP", + "admin.rate.httpHeaderTitle": "Fait varier les limites de fréquence par l'entête HTTP:", "admin.rate.maxBurst": "Limite maximale de dépassement :", "admin.rate.maxBurstDescription": "Nombre maximum de requêtes autorisées à dépasser le seuil limite de requêtes par seconde.", "admin.rate.maxBurstExample": "Ex. : \"100\"", - "admin.rate.memoryDescription": "Nombre maximum de sessions utilisateur connectées au système, comme indiqué dans les paramètres \"Adresse distante Vary By\" et \"En-tête HTTP Vary By\" ci-dessous.", + "admin.rate.memoryDescription": "Nombre maximum de sessions utilisateur connectées au système, comme indiqué dans les paramètres \"Adapter la limite de fréquence en fonction de l'adresse distante\" et \"Fait varier les limites de fréquence par l'entête HTTP\" ci-dessous.", "admin.rate.memoryExample": "Ex. : \"10000\"", "admin.rate.memoryTitle": "Taille du stockage en mémoire :", "admin.rate.noteDescription": "Modifier des paramètres dans cette section nécessite un redémarrage du serveur.", @@ -591,7 +594,7 @@ "admin.rate.queriesExample": "Ex. : \"10\"", "admin.rate.queriesTitle": "Nombre maximum de requêtes par seconde :", "admin.rate.remoteDescription": "Si activé, l'API est limitée au moyen de l'adresse IP du client.", - "admin.rate.remoteTitle": "Adapter la limite en fonction de l'adresse distante : ", + "admin.rate.remoteTitle": "Adapter la limite de fréquence en fonction de l'adresse distante : ", "admin.rate.title": "Configuration des limites de débit", "admin.recycle.button": "Recycler les connexions à la base de données", "admin.recycle.loading": " Recyclage...", @@ -689,7 +692,7 @@ "admin.service.developerDesc": "Si activé, les erreurs Javascript sont affichées dans une barre rouge en haut de l'interface utilisateur. Ceci n'est pas recommandé sur un serveur de production. ", "admin.service.developerTitle": "Activer le mode développeur : ", "admin.service.enforcMfaTitle": "Imposer l'authentification multi-facteurs :", - "admin.service.enforceMfaDesc": "When true, multi-factor authentication is required for login. New users will be required to configure MFA on signup. Logged in users without MFA configured are redirected to the MFA setup page until configuration is complete.

    If your system has users with login methods other than AD/LDAP and email, MFA must be enforced with the authentication provider outside of Mattermost.", + "admin.service.enforceMfaDesc": "Lorsqu'activé, l'authentification multi-facteurs (MFA) est requise pour la connexion. Les nouveaux utilisateurs devront configurer MFA lors de leur inscription. Les utilisateurs connectés sans MFA configuré seront redirigés vers la page de configuration MFA jusqu'à ce que la configuration soit terminée.

    Si votre système dispose d'utilisateurs se connectant autrement que par AD/LDAP ou une adresse e-mail, MFA devra être appliqué avec un fournisseur d'authentification extérieur à Mattermost.", "admin.service.forward80To443": "Transférer le port 80 vers le port 443 :", "admin.service.forward80To443Description": "Faire suivre le trafic non chiffré du port 80 vers le port sécurisé 443", "admin.service.googleDescription": "Définissez cette clé pour activer l'affichage des titres pour les aperçus de vidéos YouTube. Sans la clé, les aperçus YouTube seront créés à partir des liens apparaissant des messages ou commentaires mais ils ne montreront pas le titre de la vidéo. Regardez un tutoriel Google Developers pour des instructions sur comment obtenir une clé.", @@ -706,7 +709,7 @@ "admin.service.listenAddress": "Adresse IP du serveur :", "admin.service.listenDescription": "L'adresse et le port sur laquelle se lier et écouter. Spécifier \":8065\" se liera sur toutes les interfaces réseau. Spécifier \"127.0.0.1:8065\" se liera uniquement sur l'interface réseau disposant de cette adresse IP. Si vous choisissez un port de bas niveau (également appelés \"ports systèmes\" ou \"ports bien connus\", dans l'intervalle 0-1023), vous devez disposer des permissions pour vous lier sur ces ports. Sous Linux, vous pouvez utiliser : \"sudo setcap cap_net_bind_service=+ep ./bin/platform\" pour autoriser Mattermost à se lier sur ces ports bien connus.", "admin.service.listenExample": "Ex. : \":8065\"", - "admin.service.mfaDesc": "When true, users with AD/LDAP or email login can add multi-factor authentication to their account using Google Authenticator.", + "admin.service.mfaDesc": "Si activé, les utilisateurs se connectant à l'aide de AD/LDAP ou d'une adresse e-mail peuvent ajouter l'authentification multi-facteurs (MFA) à leur compte en utilisant Google Authenticator.", "admin.service.mfaTitle": "Activité l’authentification multi-facteurs:", "admin.service.mobileSessionDays": "Durée de la session sur les applis mobiles (en jours) :", "admin.service.mobileSessionDaysDesc": "Le nombre de jours entre la dernière fois qu'un utilisateur a spécifié ses identifiants et l'expiration de la session de l'utilisateur. Après le changement de ce paramètre, la nouvelle durée de session prendra effet la prochaine fois que les utilisateurs saisiront leurs identifiants.", @@ -722,7 +725,7 @@ "admin.service.sessionCacheDesc": "Durée pendant laquelle une session est gardée en mémoire.", "admin.service.sessionDaysEx": "Ex. : \"30\"", "admin.service.siteURL": "URL du site :", - "admin.service.siteURLDescription": "L'URL, incluant le numéro de port et le protocol, que les utilisateurs utilisent pour accéder à Mattermost. Ce champ peut être laissé vide à moins que vous ne configuriez l'envoi d'email par lots dans Notifications > Email. Lorsque le champ est vide, l'URL est configurée automatiquement sur base du trafic entrant.", + "admin.service.siteURLDescription": "L'URL, incluant le numéro de port et le protocol, que les utilisateurs utilisent pour accéder à Mattermost. Ce champ peut être laissé vide à moins que vous ne configuriez l'envoi d'email par lot dans Notifications > Email. Lorsque le champ est vide, l'URL est configurée automatiquement sur base du trafic entrant.", "admin.service.siteURLExample": "Ex. : \"https://mattermost.example.com:1234\"", "admin.service.ssoSessionDays": "Durée de la session SSO (en jours) :", "admin.service.ssoSessionDaysDesc": "Le nombre de jours entre la dernière fois qu'un utilisateur a spécifié ses identifiants et l'expiration de la session de l'utilisateur. Si la méthode d'authentification est SAML ou GitLab, l'utilisateur pourra être automatiquement connecté à nouveau dans Mattermost s'ils sont déjà connectés dans SAML ou GitLab. Après le changement de ce paramètre, il prendra effet la prochaine fois que les utilisateurs saisiront leurs identifiants.", @@ -739,7 +742,7 @@ "admin.service.webhooksDescription": "Si activé, les webhooks entrants seront autorisés. Pour aider à combattre les attaques d'hameçonnage, tous les messages de webhooks seront étiquetés par un label BOT. Consultez la documentation pour en apprendre davantage.", "admin.service.webhooksTitle": "Activer les webhooks entrants : ", "admin.service.writeTimeout": "Délai d'attente d'écriture :", - "admin.service.writeTimeoutDescription": "Si vous utilisez HTTP (non sécurisé), il s'agit du temps maximum autorisé à partir du moment auquel les en-têtes sont lus jusqu'au moment auquel la réponse est écrite. Si vous utilisez le protocole HTTPS, c'est le temps total à partir du moment où la connexion est acceptée jusqu'au moment où la réponse est écrite.", + "admin.service.writeTimeoutDescription": "Si vous utilisez HTTP (non sécurisé), il s'agit du temps maximum autorisé à partir du moment auquel les entêtes sont lus jusqu'au moment auquel la réponse est écrite. Si vous utilisez le protocole HTTPS, c'est le temps total à partir du moment où la connexion est acceptée jusqu'au moment où la réponse est écrite.", "admin.sidebar.addTeamSidebar": "Afficher l'équipe dans le menu", "admin.sidebar.advanced": "Options avancées", "admin.sidebar.audits": "Conformité et vérification", @@ -764,11 +767,12 @@ "admin.sidebar.ldap": "AD/LDAP", "admin.sidebar.legalAndSupport": "Mentions légales", "admin.sidebar.license": "Édition et licence", + "admin.sidebar.linkPreviews": "Aperçu des liens", "admin.sidebar.localization": "Localisation", "admin.sidebar.logging": "Enregistrement", "admin.sidebar.login": "S’identifier", "admin.sidebar.logs": "Journaux", - "admin.sidebar.metrics": "Suivi des performances (Beta)", + "admin.sidebar.metrics": "Suivi des performances", "admin.sidebar.nativeAppLinks": "Liens des applications Mattermost", "admin.sidebar.notifications": "Notifications", "admin.sidebar.oauth": "OAuth 2.0", @@ -845,7 +849,7 @@ "admin.team.maxChannelsExample": "Ex. : \"100\"", "admin.team.maxChannelsTitle": "Nombre maximum de canaux par équipe :", "admin.team.maxNotificationsPerChannelDescription": "Nombre utilisateurs maximum au delà duquel les messages comprenant des mentions @all, @here, et @channel n'engendreront plus l'envoi de notifications à cause des performances.", - "admin.team.maxNotificationsPerChannelExample": "Ex. : \"10000\"", + "admin.team.maxNotificationsPerChannelExample": "Ex. : \"1000\"", "admin.team.maxNotificationsPerChannelTitle": "Nombre maximum de notifications par canal :", "admin.team.maxUsersDescription": "Nombre maximum d'utilisateurs par équipe, actifs et inactifs.", "admin.team.maxUsersExample": "Ex. : \"25\"", @@ -865,13 +869,13 @@ "admin.team.siteNameDescription": "Nom du service affiché dans les écrans de connexion et l'interface.", "admin.team.siteNameExample": "Ex. : \"Mattermost\"", "admin.team.siteNameTitle": "Nom du site :", - "admin.team.teamCreationDescription": "Si faux, seuls les administrateurs système peuvent créer des équipes.", + "admin.team.teamCreationDescription": "Si désactivé, seuls les administrateurs système peuvent créer des équipes.", "admin.team.teamCreationTitle": "Autoriser la création d'équipes : ", "admin.team.upload": "Télécharger", "admin.team.uploadDesc": "Personnalisez votre expérience utilisateur en ajoutant une image personnalisée sur votre écran de connexion. Taille d'image recommandée inférieure à 2Mio.", "admin.team.uploaded": "téléchargement terminé!", "admin.team.uploading": "téléchargement..", - "admin.team.userCreationDescription": "Si désactivé, la possibilité de créer des comptes est désactivée.", + "admin.team.userCreationDescription": "Si désactivé, la possibilité de créer des comptes est désactivée. Appuyer sur le bouton de création de compte affichera une erreur lorsqu'il sera utilisé.", "admin.team.userCreationTitle": "Autoriser la création de comptes : ", "admin.team_analytics.activeUsers": "Utilisateurs actifs avec messages", "admin.team_analytics.totalPosts": "Nombre total de messages", @@ -912,13 +916,13 @@ "admin.webrtc.gatewayWebsocketUrlTitle": "URL de la passerelle WebSocket :", "admin.webrtc.stunUriDescription": "Spécifiez votre URI STUN sous la forme stun::. STUN est un protocole réseau standardisé permettant aux clients finaux de déterminer leur adresse IP publique lorsqu'ils sont situés derrière un NAT.", "admin.webrtc.stunUriExample": "Ex. : \"stun:webrtc.mattermost.com:5349\"", - "admin.webrtc.stunUriTitle": "STUN URI", + "admin.webrtc.stunUriTitle": "URI STUN:", "admin.webrtc.turnSharedKeyDescription": "Spécifiez votre clé partagée pour le serveur TURN. Elle est utilisée pour créer des mots de passe dynamiques pour établir la connexion. Chaque mot de passe est valide pendant une période de temps assez courte.", "admin.webrtc.turnSharedKeyExample": "Ex. : \"bXdkOWQxc3d0Ynk3emY5ZmsxZ3NtazRjaWg=\"", "admin.webrtc.turnSharedKeyTitle": "Clé partagée TURN :", "admin.webrtc.turnUriDescription": "Spécifiez votre URI TURN sous la forme turn::. TURN est un protocole réseau standardisé permettant aux clients finaux d'établir une connexion en utilisant une adresse IP publique comme relai lorsque ces clients sont situés derrière un NAT symétrique.", "admin.webrtc.turnUriExample": "Ex. : \"turn:webrtc.mattermost.com:5349\"", - "admin.webrtc.turnUriTitle": "URI TURN", + "admin.webrtc.turnUriTitle": "URI TURN:", "admin.webrtc.turnUsernameDescription": "Spécifiez votre nom d'utilisateur pour le serveur TURN.", "admin.webrtc.turnUsernameExample": "Ex. : \"monnomdutilisateur\"", "admin.webrtc.turnUsernameTitle": "Nom d'utilisateur TURN :", @@ -934,10 +938,8 @@ "analytics.chart.meaningful": "Pas assez de données pour afficher quelque chose de pertinent.", "analytics.system.activeUsers": "Utilisateurs actifs avec messages", "analytics.system.channelTypes": "Types de canaux", - "analytics.system.dailyActiveUsers": "Daily Active Users", - "analytics.system.expiredBanner": "La licence Entreprise a expiré le {date}. Vous avez 15 jours à compter de cette date pour renouveler la licence, veuillez contacter commercial@mattermost.com.", - "analytics.system.expiringBanner": "La licence Entreprise expire le {date}. Pour renouveler votre licence, veuillez contactercommercial@mattermost.com.", - "analytics.system.monthlyActiveUsers": "Monthly Active Users", + "analytics.system.dailyActiveUsers": "Utilisateurs actifs quotidien", + "analytics.system.monthlyActiveUsers": "Utilisateurs actifs mensuel", "analytics.system.postTypes": "Messages, fichiers et hashtags", "analytics.system.privateGroups": "Groupes privés", "analytics.system.publicChannels": "Canaux publics", @@ -966,18 +968,18 @@ "analytics.team.title": "Statistiques d'équipe pour {team}", "analytics.team.totalPosts": "Nombre de messages", "analytics.team.totalUsers": "Nombre d'utilisateurs", - "api.channel.add_member.added": "{addedUsername} added to the channel by {username}", - "api.channel.delete_channel.archived": "{username} has archived the channel.", - "api.channel.join_channel.post_and_forget": "{username} has joined the channel.", - "api.channel.leave.left": "{username} has left the channel.", - "api.channel.post_update_channel_displayname_message_and_forget.updated_from": "{username} updated the channel display name from: {old} to: {new}", - "api.channel.post_update_channel_header_message_and_forget.removed": "{username} removed the channel header (was: {old})", - "api.channel.post_update_channel_header_message_and_forget.updated_from": "{username} updated the channel header from: {old} to: {new}", - "api.channel.post_update_channel_header_message_and_forget.updated_to": "{username} updated the channel header to: {new}", - "api.channel.remove_member.removed": "{removedUsername} was removed from the channel", - "app.channel.post_update_channel_purpose_message.removed": "{username} removed the channel purpose (was: {old})", - "app.channel.post_update_channel_purpose_message.updated_from": "{username} updated the channel purpose from: {old} to: {new}", - "app.channel.post_update_channel_purpose_message.updated_to": "{username} updated the channel purpose to: {new}", + "api.channel.add_member.added": "{addedUsername} a été ajouté au canal par {username}", + "api.channel.delete_channel.archived": "{username} a archivé le canal.", + "api.channel.join_channel.post_and_forget": "{username} a rejoint le canal.", + "api.channel.leave.left": "{username} a quitté le canal.", + "api.channel.post_update_channel_displayname_message_and_forget.updated_from": "{username} a mis à jour le nom d'affichage du canal de: {old} à: {new}", + "api.channel.post_update_channel_header_message_and_forget.removed": "{username} a supprimé l'entête du canal (précédemment: {old})", + "api.channel.post_update_channel_header_message_and_forget.updated_from": "{username} a mis à jour l'entête du canal de : {old} en : {new}", + "api.channel.post_update_channel_header_message_and_forget.updated_to": "{username} a mis à jour l'entête du canal en : {new}", + "api.channel.remove_member.removed": "{removedUsername} a été retiré du canal", + "app.channel.post_update_channel_purpose_message.removed": "{username} a supprimé la description du canal (précédemment: {old})", + "app.channel.post_update_channel_purpose_message.updated_from": "{username} a mis à jour la description du canal de: {old} en: {new}", + "app.channel.post_update_channel_purpose_message.updated_to": "{username} a mis à jour la description du canal en: {new}", "audit_table.accountActive": "Compte activé", "audit_table.accountInactive": "Compte désactivé", "audit_table.action": "Action", @@ -1000,9 +1002,9 @@ "audit_table.failedLogin": "ÉCHEC de la connexion", "audit_table.failedOAuthAccess": "Impossible d'autoriser un nouvel accès à un service OAuth - L'URI de redirection ne correspond pas à l'URI de callback déjà enregistrée", "audit_table.failedPassword": "Impossible de modifier le mot de passe pour un utilisateur connecté via OAuth", - "audit_table.failedWebhookCreate": "Impossible de créer le webhook - autorisation insuffisante pour ce canal", + "audit_table.failedWebhookCreate": "Impossible de créer le webhook - permissions insuffisantes pour ce canal", "audit_table.failedWebhookDelete": "Impossible de supprimer un webhook - conditions non remplies", - "audit_table.headerUpdated": "En-tête du canal/groupe {channelName} mis à jour", + "audit_table.headerUpdated": "Entête du canal/groupe {channelName} a été mis à jour", "audit_table.ip": "Adresse IP", "audit_table.licenseRemoved": "Licence supprimée avec succès", "audit_table.loginAttempt": " (Tentative de connexion)", @@ -1048,11 +1050,11 @@ "calling_screen": "Appel", "center_panel.recent": "Veuillez cliquer ici pour voir les messages récents. ", "change_url.close": "Fermer", - "change_url.endWithLetter": "Doit se terminer par une lettre ou un nombre", + "change_url.endWithLetter": "l'URL doit se terminer par une lettre ou un nombre.", "change_url.invalidUrl": "URL non valide", - "change_url.longer": "URL must be two or more characters.", - "change_url.noUnderscore": "Ne peux pas contenir deux tirets de suite.", - "change_url.startWithLetter": "Doit commencer par une lettre ou un nombre", + "change_url.longer": "L'URL doit comporter 2 caractères ou plus.", + "change_url.noUnderscore": "L'URL ne peut pas contenir deux tirets de suite.", + "change_url.startWithLetter": "L'URL doit commencer par une lettre ou un nombre.", "channelHeader.addToFavorites": "Ajouter aux favoris", "channelHeader.removeFromFavorites": "Retirer des favoris", "channel_flow.alreadyExist": "Il existe déjà un canal avec cette URL", @@ -1086,7 +1088,7 @@ "channel_header.webrtc.unavailable": "Passer un nouvel appel n'est pas possible tant que l'appel en cours n'a pas été terminé", "channel_info.about": "À propos de", "channel_info.close": "Fermer", - "channel_info.header": "En-tête :", + "channel_info.header": "Entête :", "channel_info.id": "ID : ", "channel_info.name": "Nom", "channel_info.notFound": "Aucun canal", @@ -1104,12 +1106,12 @@ "channel_loader.uploadedFile": " téléchargé un fichier", "channel_loader.uploadedImage": " téléchargé une image", "channel_loader.wrote": " a écrit : ", - "channel_members_dropdown.channel_admin": "Channel Admin", - "channel_members_dropdown.channel_member": "Membres du canal", - "channel_members_dropdown.make_channel_admin": "Make Channel Admin", - "channel_members_dropdown.make_channel_member": "Make Channel Member", - "channel_members_dropdown.remove_from_channel": "Remove From Channel", - "channel_members_dropdown.remove_member": "Remove Member", + "channel_members_dropdown.channel_admin": "Administrateur du canal", + "channel_members_dropdown.channel_member": "Membre du canal", + "channel_members_dropdown.make_channel_admin": "Définir comme administrateur du canal", + "channel_members_dropdown.make_channel_member": "Définir comme membre du canal", + "channel_members_dropdown.remove_from_channel": "Supprimer du canal", + "channel_members_dropdown.remove_member": "Supprimer un membre", "channel_members_modal.addNew": " Ajouter des nouveaux membres", "channel_members_modal.members": " Membres", "channel_modal.cancel": "Annuler", @@ -1119,9 +1121,9 @@ "channel_modal.displayNameError": "Ce champ est obligatoire", "channel_modal.edit": "Modifier", "channel_modal.group": "Groupe", - "channel_modal.header": "En-tête", - "channel_modal.headerEx": "E.g.: \"[Link Title](http://example.com)\"", - "channel_modal.headerHelp": "Définit le texte qui apparaitra en en-tête de {term} en regard du nom du {term}. Par exemple, saisissez des liens fréquemment utilisés en tapant [Lien de titre](http://exemple.com).", + "channel_modal.header": "Entête", + "channel_modal.headerEx": "Ex. : \"[Titre du lien](http://exemple.com)\"", + "channel_modal.headerHelp": "Définit le texte qui apparaîtra comme entête de {term} en regard du nom du {term}. Par exemple, saisissez des liens fréquemment utilisés en tapant [Lien de titre](http://exemple.com).", "channel_modal.modalTitle": "Nouveau ", "channel_modal.name": "Nom", "channel_modal.nameEx": "Exemple : \"Problèmes\", \"Marketing\", \"Éducation\"", @@ -1131,8 +1133,8 @@ "channel_modal.publicChannel1": "Créer un canal public", "channel_modal.publicChannel2": "Crée un canal public que tout le monde peut rejoindre. ", "channel_modal.purpose": "Description", - "channel_modal.purposeEx": "E.g.: \"A channel to file bugs and improvements\"", - "channel_notification.push": "Notifications push mobile", + "channel_modal.purposeEx": "Ex. : \"Un canal pour rapporter des bogues ou des améliorations\"", + "channel_notification.push": "Envoyer des notifications push mobiles", "channel_notifications.allActivity": "Pour toute l'activité", "channel_notifications.allUnread": "Pour les messages non-lus", "channel_notifications.globalDefault": "Par défaut ({notifyLevel})", @@ -1140,13 +1142,13 @@ "channel_notifications.never": "Jamais", "channel_notifications.onlyMentions": "Seulement pour les mentions", "channel_notifications.override": "Choisir une autre option que \"Par défaut\" remplacera le réglage par défaut. Les notifications sur le bureau sont disponibles sur Firefox, Safari et Chrome.", - "channel_notifications.overridePush": "Selecting an option other than \"Global default\" will override the global notification settings for mobile push notifications in account settings. Push notifications must be enabled by the System Admin.", + "channel_notifications.overridePush": "La sélection d'une option autre que \"par défaut\" remplacera les paramètres de notification pour les notifications push mobiles dans les paramètres du compte. Les notifications push doit être activées par l'administrateur système.", "channel_notifications.preferences": "Préférences de notification pour ", "channel_notifications.sendDesktop": "Envoyer des notifications sur le bureau", "channel_notifications.unreadInfo": "Le nom du canal est en gras dans la barre latérale lorsqu'il y a des messages non-plus. Choisir \"Seulement pour les mentions\" mettra en gras le canal seulement si vous être mentionné.", "channel_select.placeholder": "--- Sélectionnez un canal ---", "channel_switch_modal.dm": "(Message privé)", - "channel_switch_modal.failed_to_open": "Failed to open channel.", + "channel_switch_modal.failed_to_open": "Impossible d'ouvrir le canal.", "channel_switch_modal.help": "Saisissez le nom du canal. Utilisez ↑ ↓ pour parcourir, TAB pour sélectionner, ↵ pour confirmer, ESC pour rejeter", "channel_switch_modal.not_found": "Aucune correspondance trouvée.", "channel_switch_modal.submit": "Basculer", @@ -1221,7 +1223,7 @@ "create_team.team_url.required": "Ce champ est obligatoire", "create_team.team_url.taken": "Cette URL est déjà prise ou contient un mot réservé", "create_team.team_url.teamUrl": "URL d’équipe", - "create_team.team_url.unavailable": "cette url est invalide. Essayer en une autre.", + "create_team.team_url.unavailable": "Cette URL est indisponible. Veuillez en spécifier une autre.", "create_team.team_url.webAddress": "Choisissez l’adresse Web de votre nouvelle équipe :", "custom_emoji.empty": "Aucun emoji personnalisé", "custom_emoji.header": "Emoji personnalisés", @@ -1240,11 +1242,11 @@ "delete_post.question": "Voulez-vous vraiment supprimer ce {term} ?", "delete_post.warning": "Ce message a {count} commentaire(s).", "edit_channel_header_modal.cancel": "Annuler", - "edit_channel_header_modal.description": "Modifiez le texte affiché à côté du nom du canal dans l'en-tête du canal.", - "edit_channel_header_modal.error": "L'en-tête du canal est trop long, saisissez un texte plus court", + "edit_channel_header_modal.description": "Modifiez le texte affiché à côté du nom du canal dans l'entête du canal.", + "edit_channel_header_modal.error": "L'entête du canal est trop long, saisissez un texte plus court", "edit_channel_header_modal.save": "Enregistrer", - "edit_channel_header_modal.title": "Modifier l'en-tête de {channel}", - "edit_channel_header_modal.title_dm": "Modifier l'en-tête", + "edit_channel_header_modal.title": "Modifier l'entête de {channel}", + "edit_channel_header_modal.title_dm": "Modifier l'entête", "edit_channel_purpose_modal.body": "Décrit de quelle manière ce {type} devrait être utilisé. Ce texte apparaît dans la liste des canaux dans le menu \"Suite...\" et guide les personnes pour décider si elles devraient le rejoindre ou non.", "edit_channel_purpose_modal.cancel": "Annuler", "edit_channel_purpose_modal.channel": "Canal", @@ -1287,9 +1289,9 @@ "error.not_found.title": "Page non trouvée", "error.not_supported.message": "La navigation privée n'est pas prise en charge.", "error.not_supported.title": "Le navigateur n'est pas pris en charge", - "error_bar.expired": "La licence Entreprise a expiré. Vous disposez de 15 jours à compter de l'expiration pour renouveler la licence, veuillez contacter commercial@mattermost.com pour plus d'informations", - "error_bar.expiring": "La licence Entreprise expire le {date}. Pour renouveler votre licence, veuillez contacter commercial@mattermost.com", - "error_bar.past_grace": "La licence Entreprise a expiré, veuillez contacter votre administrateur système pour plus d'informations", + "error_bar.expired": "La licence entreprise a expiré et certaines fonctionnalités peuvent être désactivées. Veuillez renouveler.", + "error_bar.expiring": "La licence entreprise expire le {date}. Veuillez renouveler.", + "error_bar.past_grace": "La licence entreprise a expiré et certaines fonctionnalités peuvent être désactivées. Veuillez contacter votre administrateur système pour plus d'informations.", "error_bar.preview_mode": "Mode découverte : Les notifications par e-mail ne sont pas configurées", "file_attachment.download": "Télécharger", "file_info_preview.size": "Taille ", @@ -1307,7 +1309,7 @@ "filtered_user_list.countTotalPage": "{startCount, number} - {endCount, number} {count, plural, =0 {0 members} one {member} other {members}} of {total} au total", "filtered_user_list.member": "Membre", "filtered_user_list.next": "Suivant", - "filtered_user_list.prev": "Previous", + "filtered_user_list.prev": "Précédent", "filtered_user_list.search": "Rechercher des utilisateurs", "filtered_user_list.searchButton": "Rechercher", "filtered_user_list.show": "Filtre :", @@ -1321,13 +1323,13 @@ "find_team.submitError": "Veuillez spécifier une adresse e-mail valide", "flag_post.flag": "Marquez le message d'un indicateur pour le suivi", "flag_post.unflag": "Supprimer l'indicateur", - "general_tab.chooseDescription": "Choisissez un nom pour votre équipe", + "general_tab.chooseDescription": "Veuillez choisir une nouvelle description pour votre équipe", "general_tab.chooseName": "Choisissez un nom pour votre équipe", "general_tab.codeDesc": "Veuillez cliquer sur 'Modifier' pour réinitialiser le code d'invitation", - "general_tab.codeLongDesc": "Le code d'invitation est utilisé dans l'URL contenant l'invitation à votre équipe créé depuis le menu principal grâce à Obtenir un lien d’invitation d’équipe. Regénérer cette clé rend toutes les invitations déjà envoyées invalide.", + "general_tab.codeLongDesc": "Le code d'invitation est utilisé dans l'URL du lien d'invitation à l'équipe. Ce lien est créé par {getTeamInviteLink} depuis le menu principal. Regénérer un nouveau lien d'invitation invalidera les invitations déjà envoyées.", "general_tab.codeTitle": "Code d'invitation", "general_tab.emptyDescription": "Veuillez cliquer sur 'Modifier' pour ajouter une description d'équipe.", - "general_tab.getTeamInviteLink": "Créer une d'invitation", + "general_tab.getTeamInviteLink": "Créer un lien d'invitation", "general_tab.includeDirDesc": "Inclure cette équipe affichera le nom de l'équipe dans l'annuaire sur la page d'accueil, ainsi qu'un lien pour rejoindre cette équipe.", "general_tab.no": "Non", "general_tab.openInviteDesc": "Lorsque autorisé, un lien vers cette équipe sera inclus sur la page d'accueil permettant à quiconque avec un compte de rejoindre cette équipe.", @@ -1360,7 +1362,7 @@ "get_team_invite_link_modal.helpDisabled": "La création d'utilisateurs est désactivée pour votre équipe. Veuillez contacter votre administrateur système.", "get_team_invite_link_modal.title": "Lien d'invitation à l'équipe", "help.attaching.downloading": "#### Téléchargement de fichiers\nTéléchargez un fichier joint en cliquant sur l'icône de téléchargement à côté de la miniature de fichier ou en ouvrant l'aperçu du fichier et en cliquant sur **Télécharger**.", - "help.attaching.dragdrop": "#### Glisser-déposer\nEnvoyez un fichier ou une sélection de fichiers en glissant les fichiers de votre ordinateur vers la barre latérale à droite ou dans le panneau central. Glisser-déposer un fichier l'attache à la zone de saisie. Vous pouvez alors optionnellement envoyer un message et presser **ENTREE** pour envoyer.", + "help.attaching.dragdrop": "#### Glisser-déposer\nEnvoyez un fichier ou une sélection de fichiers en glissant les fichiers de votre ordinateur vers la barre latérale à droite ou dans le panneau central. Glisser-déposer un fichier l'attache à la zone de saisie. Vous pouvez alors optionnellement tapper un message et appuyer sur **ENTREE** pour l'envoyer.", "help.attaching.icon": "#### Icône de pièce jointe\nVous pouvez également envoyer des fichiers en cliquant sur l'icône grise représentant une trombone dans la zone de saisie du message. Une boîte de dialogue affichant vos fichiers locaux s'ouvrira alors, vous permettant de sélectionner les fichiers que vous souhaitez envoyer. Cliquez ensuite sur **Ouvrir** pour envoyer les fichiers dans la zone de saisie. Saisissez optionnellement un message et appuyez sur **Entrée** pour envoyer.", "help.attaching.limitations": "## Limitations De Taille De Fichier\nMattermost prend en charge un maximum de cinq fichiers joints par poste, chacun avec une taille maximale de 50Mo.", "help.attaching.methods": "## Méthodes d'envoi de pièces jointes\nEnvoyez un fichier joint en effectuant un glisser-déposer ou en cliquant sur l'icône de pièce jointe dans la zone de saisie du message.", @@ -1381,7 +1383,7 @@ "help.composing.deleting": "## Suppression d'un message\nSupprimez un message en cliquant sur l'icône **[...]** située à côté de chaque message que vous avez saisi, puis cliquez sur **Supprimer**. Les administrateurs système et d'équipe peuvent supprimer n'importe quel message du système ou de l'équipe.", "help.composing.editing": "## Edition d'un message\nEditez un message en cliquant sur l'icône **[...]** située à côté de chaque message que vous avez saisi, puis cliquez sur **Editer**. Après avoir effectué des modifications au message, appuyez sur **ENTREE** pour sauvegarder les modifications. Les éditions de messages ne déclenchent pas de nouvelles notifications de @mention, ni de notifications sur le bureau ni de sons de notifications.", "help.composing.linking": "## Lien vers un message\nLa fonctionnalité de lien permanent permet de créer un lien vers n'importe quel message. Partager ce lien avec d'autres utilisateurs du canal permet à ces utilisateurs du canal de voir le message lié dans les Messages Archivés. Les utilisateurs qui ne sont pas membres du canal à partir duquel le message a été envoyé ne peuvent pas voir le lien permanent. Obtenez le lien vers un message en cliquant sur l'icône **[...]** située à côté de chaque message, > **Lien permanent** > **Copier le lien**.", - "help.composing.posting": "## Envoi d'un message\nÉcrivez un message en tapant dans la zone de saisie de texte, puis appuyez sur **ENTREE** pour l'envoyer. Utilisez la combinaison **MAJ + ENTREE** pour insérer une nouvelle ligne sans envoyer le message. Pour envoyer des messages en utilisant sur **CTRL + ENTREE**, allez dans **Menu principal > Paramètres du compte > Envoi de messages avec CTRL + ENTREE**.", + "help.composing.posting": "## Envoi d'un message\nÉcrivez un message en tapant dans la zone de saisie de texte, puis appuyez sur ENTREE pour l'envoyer. Utilisez la combinaison MAJ + ENTREE pour insérer une nouvelle ligne sans envoyer le message. Pour envoyer des messages en utilisant sur CTRL + ENTREE, allez dans **Menu principal > Paramètres du compte > Envoi de messages avec CTRL + ENTREE**.", "help.composing.posts": "#### Envois\nLes envois sont souvent considérés comme des messages parents. Ce sont les messages qui commencent souvent un fil de réponses. Les envois sont composés et envoyés à partir de la zone de saisie de texte en bas du panneau central.", "help.composing.replies": "#### Réponses\nRépondez à un message en cliquant sur l'icône de réponse à côté de n'importe quel message de texte. Cette action ouvre la barre latérale de droite où vous pouvez voir le fil de messages, puis composer et envoyer votre réponse. Les réponses sont décalées légèrement dans le panneau central pour indiquer qu'elles sont les messages enfants d'un message parent.\n\nLorsque vous composez une réponse dans la barre latérale de droite, cliquez sur l'icône agrandir/réduire avec deux flèches, au-dessus de la barre latérale, de façon à rendre la vue plus facile à lire.", "help.composing.title": "# Envoi de messages\n_____", @@ -1395,7 +1397,7 @@ "help.formatting.example": "Exemple :", "help.formatting.githubTheme": "**Thèmes GitHub**", "help.formatting.headings": "## Titres\n\nCréez un titre en ajoutant # et un espace avant votre titre. Pour des titres de plus bas niveau, ajoutez plus de #.", - "help.formatting.headings2": "Alternativement, vous pouvez souligner le texte à l'aide de `===` ou `---` pour créer des en-têtes.", + "help.formatting.headings2": "Alternativement, vous pouvez souligner le texte à l'aide de `===` ou `---` pour créer des entêtes.", "help.formatting.headings2Example": "Grand en tête\n-------------", "help.formatting.headingsExample": "## Grand en tête\n### Plus petit en tête\n#### Encore plus petit en tête", "help.formatting.images": "## Images intégrées au message\n\nCréez des images intégrées au message en utilisant `!`suivi par le texte alternatif placé entre crochets et le lien placé entre parenthèses. Pour ajouter un texte apparaissant au survol de la souris, placez-le entre guillemets après le lien.", @@ -1433,7 +1435,7 @@ "help.mentioning.channel": "#### @Channel\nVous pouvez mentionner tout un canal en écrivant `@channel`. Tous les membres du canal recevront une notification de mention qui se comporte de la même manière que si chacun avait été mentionné directement.", "help.mentioning.channelExample": "@canal bon travail sur les entretiens cette semaine. Je pense que nous avons trouvé quelques excellents candidats potentiels !", "help.mentioning.mentions": "## @Mentions\nUtiliser les @mentions pour attirer l'attention de certains membres de l'équipe.", - "help.mentioning.recent": "## Mentions récentes\nCliquez sur `@` à côté de la barre de recherche pour rechercher vos @mentions récentes et les mots qui déclenchent les mentions. Cliquez sur **Lien (jump)** à côté d'un résultat de recherche dans le menu vertical à droite pour faire positionner le panneau central sur le canal et la position du message contenant la mention.", + "help.mentioning.recent": "## Mentions récentes\nCliquez sur `@` à côté de la barre de recherche pour rechercher vos @mentions récentes et les mots qui déclenchent les mentions. Cliquez sur **Aller à** à côté d'un résultat de recherche dans la barre latérale de droite pour faire positionner le panneau central sur le canal et l'endroit du message contenant la mention.", "help.mentioning.title": "# Mentionnant Coéquipiers\n_____", "help.mentioning.triggers": "## Mots qui déclenchent des mentions\nEn plus d'être notifié par @nom d'utilisateur et @cannal, vous pouvez personnaliser des mots qui déclenchent des notifications de mention dans **Paramètres du compte** > **Notifications** > **Mots qui déclenchent des mentions**. Par défaut, vous recevrez des notifications de mention sur base de votre prénom, mais vous pouvez ajouter davantage de mots en les tapant, séparés par des virgules, dans la zone de saisie. Ceci est utile si vous souhaitez être notifiés de tous les messages qui concernent certains sujets, par exemple, “interviewing” ou “marketing”.", "help.mentioning.username": "#### @Nom d'utilisateur\nVous pouvez mentionner un coéquipier en utilisant le symbole `@` suivi de son nom d'utilisateur pour lui envoyer une notification de mention.\n\nTapez `@` pour afficher une liste des membres de l'équipe qui peuvent être mentionnés. Pour filtrer la liste, tapez les premières lettres de n'importe quel nom d'utilisateur, prénom, nom de famille, ou surnom. Les flèches du clavier **Haut** et **Bas** peuvent être utilisées pour faire défiler les différentes entrées dans la liste; la touche **Entrée** une fois appuyée sélectionnera l'utilisateur à mentionner. Une fois sélectionné, le nom d'utilisateur va automatiquement remplacer le nom et prénom ou le surnom.\nL'exemple suivant envoie une notification spéciale de mention à **alice** qui l'alerte du canal et du message dans laquelle elle a été citée. Si **alice** est absente de Mattermost et qu'elle a activé les [notifications par e-mail](http://docs.mattermost.com/help/getting-started/configuring-notifications.html#email-notifications), alors elle recevra une alerte par e-mail de sa mention accompagnée du message texte concerné par cette mention.", @@ -1445,10 +1447,10 @@ "help.messaging.notify": "**Avertissez vos coéquipiers** lorsque nécessaire en tapant `@nom d'utilisateur`.", "help.messaging.reply": "**Répondez aux messages** en cliquant sur la flèche de réponse à côté du texte du message.", "help.messaging.title": "# Messagerie de base\n_____", - "help.messaging.write": "**Ecrivez des messages** en utilisant la zone de saisie en bas de l'interface de Mattermost. Appuyez sur **ENTREE** pour envoyer un message. Utilisez *Maj+ENTREE** pour effectuer un retour à la ligne sans envoyer le message.", + "help.messaging.write": "**Ecrivez des messages** en utilisant la zone de saisie en bas de l'interface de Mattermost. Appuyez sur ENTREE pour envoyer un message. Utilisez MAJ + ENTREE pour effectuer un retour à la ligne sans envoyer le message.", "installed_command.header": "Commandes Slash", "installed_commands.add": "Ajout de la commande Slash", - "installed_commands.delete.confirm": "This action permanently deletes the slash command and breaks any integrations using it. Are you sure you want to delete it?", + "installed_commands.delete.confirm": "Cette action supprime définitivement la commande slash et casse toutes les intégrations qui l'utilisent. Voulez-vous vraiment la supprimer ?", "installed_commands.empty": "Pas de commande trouvée", "installed_commands.header": "Commande Slash", "installed_commands.help": "Créez des commandes slash pour les intégrations externes. Vous pouvez consulter la documentation {link}.", @@ -1456,7 +1458,7 @@ "installed_commands.search": "Rechercher les commandes slash", "installed_commands.unnamed_command": "Commande slash sans nom", "installed_incoming_webhooks.add": "Ajouter des Webhooks entrants", - "installed_incoming_webhooks.delete.confirm": "This action permanently deletes the incoming webhook and breaks any integrations using it. Are you sure you want to delete it?", + "installed_incoming_webhooks.delete.confirm": "Cette action supprime définitivement le webhook entrant et casse toutes les intégrations qui l'utilisent. Voulez-vous vraiment le supprimer ?", "installed_incoming_webhooks.empty": "Aucun webhooks entrants trouvés", "installed_incoming_webhooks.header": "Webhooks entrants", "installed_incoming_webhooks.help": "Créer des webhooks entrants pour vos intégrations externes. Vous pouvez consulter la documentation {link}.", @@ -1482,7 +1484,7 @@ "installed_oauth_apps.add": "Ajouter une application OAuth 2.0", "installed_oauth_apps.callbackUrls": "URLs de callback (une par ligne)", "installed_oauth_apps.cancel": "Annuler", - "installed_oauth_apps.delete.confirm": "This action permanently deletes the OAuth 2.0 application and breaks any integrations using it. Are you sure you want to delete it?", + "installed_oauth_apps.delete.confirm": "Cette action supprime définitivement l'application OAuth 2.0 et casse toutes les intégrations qui l'utilisent. Voulez-vous vraiment le supprimer ?", "installed_oauth_apps.description": "Description", "installed_oauth_apps.empty": "Pas d'applications OAuth 2.0 trouvées", "installed_oauth_apps.header": "Applications OAuth 2.0", @@ -1498,7 +1500,7 @@ "installed_oauth_apps.trusted.no": "Non", "installed_oauth_apps.trusted.yes": "Oui", "installed_outgoing_webhooks.add": "Ajouter des Webhooks sortants", - "installed_outgoing_webhooks.delete.confirm": "This action permanently deletes the outgoing webhook and breaks any integrations using it. Are you sure you want to delete it?", + "installed_outgoing_webhooks.delete.confirm": "Cette action supprime définitivement le webhook sortant et casse toutes les intégrations qui l'utilisent. Voulez-vous vraiment le supprimer ?", "installed_outgoing_webhooks.empty": "Aucun webhooks sortants trouvés", "installed_outgoing_webhooks.header": "Webhooks sortants", "installed_outgoing_webhooks.help": "Créer des webhooks sortants pour vos intégrations externes. Vous pouvez consulter la documentation {link}.", @@ -1509,7 +1511,7 @@ "integrations.command.description": "Les commandes Slash envoient des évènements à des intégrations extérieures", "integrations.command.title": "Commande Slash", "integrations.delete.confirm.button": "Supprimer", - "integrations.delete.confirm.title": "Delete Integration", + "integrations.delete.confirm.title": "Supprimer l'intégration", "integrations.done": "Effectué", "integrations.edit": "Modifier", "integrations.header": "Intégrations", @@ -1533,7 +1535,7 @@ "intro_messages.offTopic": "

    Début de {display_name}

    Ceci est le début de {display_name}, un canal destiné aux conversations extra-professionnelles.

    ", "intro_messages.onlyInvited": " Seuls les membres invités peuvent voir ce groupe privé.", "intro_messages.purpose": " L'objectif de {type} est : {purpose}.", - "intro_messages.setHeader": "Définir l'en-tête", + "intro_messages.setHeader": "Définit l'entête", "intro_messages.teammate": "Vous êtes au début de votre historique de messages avec cet utilisateur. Les messages privés et les fichiers partagés ici ne sont pas visibles par les autres utilisateurs.", "invite_member.addAnother": "Ajouter un autre", "invite_member.autoJoin": "Les membres automatiquement invités rejoignent le canal {channel}.", @@ -1591,7 +1593,7 @@ "login.passwordChanged": " Mot de passe mis a jour avec succès", "login.session_expired": " Votre session a expiré. Merci de vous reconnecter.", "login.signIn": "Connexion", - "login.signInLoading": "Signing in...", + "login.signInLoading": "Authentification en cours...", "login.signInWith": "Se connecter avec:", "login.userNotFound": "Nous ne trouvons aucun compte correspondants a vos identifiants de connexions.", "login.username": "Nom d'utilisateur", @@ -1635,30 +1637,30 @@ "more_channels.join": "Rejoindre", "more_channels.next": "Suivant", "more_channels.noMore": "Il n'y a plus d'autre canal que vous pouvez rejoindre", - "more_channels.prev": "Previous", + "more_channels.prev": "Précédent", "more_channels.title": "Plus de canaux", "more_direct_channels.close": "Fermer", "more_direct_channels.message": "Message", - "more_direct_channels.new_convo_note": "This will start a new conversation. If you’re adding a lot of people, consider creating a private group instead.", - "more_direct_channels.new_convo_note.full": "You’ve reached the maximum number of people for this conversation. Consider creating a private group instead.", + "more_direct_channels.new_convo_note": "Ceci va démarrer une nouvelle conversation. Si vous ajoutez beaucoup de personnes, veuillez envisager la création d'un groupe privé à la place.", + "more_direct_channels.new_convo_note.full": "Vous avez atteint le nombre maximum de personnes pour cette conversation. Veuillez envisager la création d'un groupe privé à la place.", "more_direct_channels.title": "Messages privés", "msg_typing.areTyping": "{users} et {last} sont en train d'écrire...", "msg_typing.isTyping": "{user} est en train d'écrire...", "msg_typing.someone": "Quelqu'un", - "multiselect.go": "Go", - "multiselect.instructions": "Use up/down arrows to navigate and enter to select", - "multiselect.numPeopleRemaining": "You can add {num, number} more {num, plural, =0 {people} one {person} other {people}}. ", - "multiselect.numRemaining": "You can add {num, number} more", - "multiselect.placeholder": "Search and add members", + "multiselect.go": "Aller à", + "multiselect.instructions": "Utiliser les flèches haut/bas pour naviguer et la touche enter pour sélectionner", + "multiselect.numPeopleRemaining": "Vous pouvez encore ajouter {num, number} en plus {num, plural, =0 {people} une {person} autre {people}}. ", + "multiselect.numRemaining": "Vous pouvez encore en ajouter {num, number} en plus", + "multiselect.placeholder": "Rechercher et ajouter des membres", "navbar.addMembers": "Ajouter Membres", "navbar.click": "Cliquez ici", "navbar.delete": "Supprimer le canal...", "navbar.leave": "Quitter le canal", "navbar.manageMembers": "Gérer les membres", - "navbar.noHeader": "Pas encore d'en-tête de canal.{newline}{link} pour en ajouter une.", + "navbar.noHeader": "Aucun entête de canal encore défini.{newline}{link} pour en ajouter un.", "navbar.preferences": "Préférences de notifications", "navbar.rename": "Renommer le canal...", - "navbar.setHeader": "Définir l'en-tête du canal...", + "navbar.setHeader": "Définir l'entête du canal...", "navbar.setPurpose": "Définir la description du canal...", "navbar.toggle1": "Basculer la barre latérale", "navbar.toggle2": "Basculer la barre latérale", @@ -1670,16 +1672,16 @@ "navbar_dropdown.emoji": "Emoji personnalisés", "navbar_dropdown.help": "Aide", "navbar_dropdown.integrations": "Intégrations", - "navbar_dropdown.inviteMember": "Inviter un nouveau membre", + "navbar_dropdown.inviteMember": "Inviter un membre", "navbar_dropdown.join": "Rejoindre une autre équipe", "navbar_dropdown.leave": "Quitter l'équipe", "navbar_dropdown.logout": "Se déconnecter", "navbar_dropdown.manageMembers": "Gérer les membres", - "navbar_dropdown.nativeApps": "Télécharger les applications", + "navbar_dropdown.nativeApps": "Télécharger les apps", "navbar_dropdown.report": "Signaler un problème", "navbar_dropdown.switchTeam": "Basculer sur {team}", "navbar_dropdown.switchTo": "Basculer vers ", - "navbar_dropdown.teamLink": "Créer une d'invitation", + "navbar_dropdown.teamLink": "Créer une invitation", "navbar_dropdown.teamSettings": "Configuration de l'équipe", "navbar_dropdown.viewMembers": "Voir les membres", "notification.dm": "Message privé", @@ -1718,11 +1720,11 @@ "post_info.mobile.unflag": "Supprimer l'indicateur", "post_info.permalink": "Lien permanent", "post_info.reply": "Répondre", - "post_info.system": "System", - "post_message_view.edited": "(edited)", + "post_info.system": "Système", + "post_message_view.edited": "(édité)", "posts_view.loadMore": "Charger plus de messages", "posts_view.newMsg": "Nouveaux messages", - "posts_view.newMsgBelow": "Nouveau {count, plural, one {message} other {messages}} dessous", + "posts_view.newMsgBelow": "{count, plural, one {Nouveau message} other {Nouveaux messages}} ci-dessous", "reaction.clickToAdd": "(cliquez pour ajouter)", "reaction.clickToRemove": "(cliquez pour supprimer)", "reaction.othersReacted": "{otherUsers, number} {otherUsers, plural, one {user} other {users}}", @@ -1743,13 +1745,13 @@ "rename_channel.defaultError": " - Ne peut être changé en canal par défaut", "rename_channel.displayName": "Nom d'affichage", "rename_channel.displayNameHolder": "Saisissez le nom d'affichage", - "rename_channel.handleHolder": "Doit être en caractères alphanumériques minuscules", + "rename_channel.handleHolder": "caractères alphanumériques minuscules", "rename_channel.lowercase": "Doit être en caractères alphanumériques minuscules", "rename_channel.maxLength": "Ce champ doit faire moins de 22 caractères", "rename_channel.required": "Ce champ est obligatoire", "rename_channel.save": "Enregistrer", "rename_channel.title": "Renommer le canal", - "rename_channel.url": "URL :", + "rename_channel.url": "URL", "rhs_comment.comment": "Commentaire", "rhs_comment.del": "Supprimer", "rhs_comment.edit": "Éditer", @@ -1777,7 +1779,7 @@ "search_header.title2": "Mentions récentes", "search_header.title3": "Messages marqués d'un indicateur", "search_item.direct": "Message privé (avec {username})", - "search_item.jump": "Lien (jump)", + "search_item.jump": "Aller à", "search_results.because": "
    • Pour rechercher une partie d'un mot (ex. rechercher \"réa\" en souhaitant \"réagir\" ou \"réaction\"), ajoutez un * au terme recherché
    • En raison du nombre de résultats, les recherches sur deux lettres ou sur les mots communs tels que \"ce\", \"un\" et \"est\" n'apparaîtront pas dans les résultats de la recherche
    ", "search_results.noResults": "Aucun résultat. Recommencer ?", "search_results.usage": "
    • Utilisez \"des guillemets\" pour rechercher des phrases
    • Utilisez from: pour rechercher des messages d'utilisateurs spécifiques et in: pour rechercher des messages sur des canaux spécifiques
    ", @@ -1807,7 +1809,7 @@ "sidebar.removeList": "Retirer de la liste", "sidebar.tutorialScreen1": "

    Canaux

    Les canaux organisent les conversations en sujets distincts. Ils sont ouverts à tous les utilisateurs de votre équipe. Pour envoyer des messages privés, utilisez Messages privés pour une personne ou Groupes privés pour plusieurs personnes.

    ", "sidebar.tutorialScreen2": "

    Canaux \"{townsquare}\" et \"{offtopic}\"

    Voici deux canaux publics pour commencer :

    {townsquare} est l'endroit idéal pour communiquer avec toute l'équipe. Tous les membres de votre équipe sont membres de ce canal.

    {offtopic} (est l'endroit pour se détendre et parler d'autre chose que du travail. Vous et votre équipe décidez des autres canaux à créer.

    ", - "sidebar.tutorialScreen3": "

    Créer et rejoindre des canaux

    Cliquez sur \"Plus...\" pour créer un nouveau canal ou rejoindre un canal existant.

    Vous pouvez aussi créer un nouveau canal ou un groupe privé en cliquant sur le symbole \"+\" à côté du nom du canal ou de l'en-tête du groupe privé.

    ", + "sidebar.tutorialScreen3": "

    Créer et rejoindre des canaux

    Cliquez sur \"Plus...\" pour créer un nouveau canal ou rejoindre un canal existant.

    Vous pouvez aussi créer un nouveau canal ou un groupe privé en cliquant sur le symbole \"+\" à côté du nom du canal ou de l'entête du groupe privé.

    ", "sidebar.unreadAbove": "Message(s) non-lu(s) ci-dessus", "sidebar.unreadBelow": "Message(s) non-lu(s) ci-dessous", "sidebar_header.tutorial": "

    Menu principal

    Le Menu Principal est l'endroit où vous pouvez inviter des nouveaux membres, accéder aux paramètres de votre compte et configurer les couleurs de votre thème.

    Les administrateurs d'équipe peuvent aussi accéder aux paramètres de l'équipe.

    Les administrateurs système trouveront la console système pour administrer tout le site.

    ", @@ -1953,11 +1955,11 @@ "update_command.question": "Vos modifications peuvent casser la commande Slash existante. Voulez-vous vraiment la mettre à jour ?", "update_command.update": "Mettre à jour", "update_incoming_webhook.update": "Mettre à jour", - "update_outgoing_webhook.confirm": "Ajouter des Webhooks sortants", - "update_outgoing_webhook.question": "Vos modifications peuvent casser la commande Slash existante. Voulez-vous vraiment la mettre à jour ?", + "update_outgoing_webhook.confirm": "Editer les Webhooks sortants", + "update_outgoing_webhook.question": "Vos modifications peuvent casser le webhook sortant existant. Voulez-vous vraiment le mettre à jour ?", "update_outgoing_webhook.update": "Mettre à jour", "upload_overlay.info": "Faites glisser un fichier pour le télécharger.", - "user.settings.advance.embed_preview": "For the first web link in a message, display a preview of website content below the message, if available", + "user.settings.advance.embed_preview": "Pour le premier lien web dans un message, afficher un aperçu du contenu du site sous le message, si disponible.", "user.settings.advance.embed_toggle": "Voir un aperçu pour tous les messages inclus", "user.settings.advance.enabledFeatures": "{count, number} {count, plural, one {Feature} other {Features}} Activée", "user.settings.advance.formattingDesc": "Si activé, les messages seront formatés pour créer des liens, montrer des emoji, le style du texte et ajouter des sauts de ligne. Par défaut, ce paramètre est activé. La modification de ce paramètre nécessite le rafraîchissement de la page.", @@ -1969,43 +1971,43 @@ "user.settings.advance.on": "Activé", "user.settings.advance.preReleaseDesc": "Évaluez les fonctionnalités en avant-première. Vous devrez peut-être rafraîchir la page pour que ce paramètre soit activé.", "user.settings.advance.preReleaseTitle": "Activer les fonctionnalités expérimentales", - "user.settings.advance.sendDesc": "Si activé, 'Entrée' insère une nouvelle ligne et 'Ctrl + Entrée' envoie le message.", - "user.settings.advance.sendTitle": "Envoyer vos messages avec Ctrl+Entrée", + "user.settings.advance.sendDesc": "Si activé, ENTREE insère une nouvelle ligne et CTRL + ENTREE envoie le message.", + "user.settings.advance.sendTitle": "Envoyer vos messages avec CTRL + ENTREE", "user.settings.advance.slashCmd_autocmp": "Autoriser les applications externes à proposer l'auto-complétion des commandes slash", "user.settings.advance.title": "Paramètres avancés", "user.settings.advance.webrtc_preview": "Activer la possibilité de passer et de recevoir des appels WebRTC en tête-à-tête", "user.settings.custom_theme.awayIndicator": "Indicateur \"absent\"", - "user.settings.custom_theme.buttonBg": "Fond de bouton", + "user.settings.custom_theme.buttonBg": "Arrière-plan du bouton", "user.settings.custom_theme.buttonColor": "Texte de bouton", - "user.settings.custom_theme.centerChannelBg": "Fond de l'espace central", + "user.settings.custom_theme.centerChannelBg": "Arrière-plan de l'espace central", "user.settings.custom_theme.centerChannelColor": "Text du canal central", "user.settings.custom_theme.centerChannelTitle": "Styles de l'espace central", "user.settings.custom_theme.codeTheme": "Code du thème", "user.settings.custom_theme.copyPaste": "Copiez/Collez pour partager les couleurs du thème :", "user.settings.custom_theme.linkButtonTitle": "Styles des boutons et liens", "user.settings.custom_theme.linkColor": "Couleur de lien", - "user.settings.custom_theme.mentionBj": "Arrière-plan bulle de mention", + "user.settings.custom_theme.mentionBj": "Arrière-plan de la bulle de mention", "user.settings.custom_theme.mentionColor": "Texte bulle de mention", - "user.settings.custom_theme.mentionHighlightBg": "Fond de la mise en surbrillance lors d'une mention", + "user.settings.custom_theme.mentionHighlightBg": "Arrière-plan de la mise en surbrillance lors d'une mention", "user.settings.custom_theme.mentionHighlightLink": "Lien de mise en surbrillance lors d'une mention", "user.settings.custom_theme.newMessageSeparator": "Séparateur de nouveau message", "user.settings.custom_theme.onlineIndicator": "Indicateur \"connecté\"", - "user.settings.custom_theme.sidebarBg": "Fond de barre latérale", - "user.settings.custom_theme.sidebarHeaderBg": "Fond d'en-tête de barre latérale", - "user.settings.custom_theme.sidebarHeaderTextColor": "Texte d'en-tête de barre latérale", + "user.settings.custom_theme.sidebarBg": "Arrière-plan de la barre latérale", + "user.settings.custom_theme.sidebarHeaderBg": "Arrière-plan de l'entête de la barre latérale", + "user.settings.custom_theme.sidebarHeaderTextColor": "Texte d'entête de la barre latérale", "user.settings.custom_theme.sidebarText": "Texte de barre latérale", "user.settings.custom_theme.sidebarTextActiveBorder": "Contour de texte de barre latéral actif", "user.settings.custom_theme.sidebarTextActiveColor": "Text de barre latérale actif", - "user.settings.custom_theme.sidebarTextHoverBg": "Fond de survol (hover) de barre latérale", + "user.settings.custom_theme.sidebarTextHoverBg": "Arrière-plan lors du survol de la barre latérale", "user.settings.custom_theme.sidebarTitle": "Style des barres latérales", "user.settings.custom_theme.sidebarUnreadText": "Texte non-lu de barre latérale", "user.settings.display.channelDisplayTitle": "Mode d’affichage du canal", "user.settings.display.channeldisplaymode": "Veuillez spécifier la largeur de l'espace central.", "user.settings.display.clockDisplay": "Affichage de l'horloge", - "user.settings.display.collapseDesc": "Set whether previews of image links show as expanded or collapsed by default. This setting can also be controlled using the slash commands /expand and /collapse.", - "user.settings.display.collapseDisplay": "Default appearance of image link previews", - "user.settings.display.collapseOff": "Collapsed", - "user.settings.display.collapseOn": "Expanded", + "user.settings.display.collapseDesc": "Définit si les aperçus de liens d'images s'affichent étendus ou réduits par défaut. Ce paramètre peut également être contrôlé à l'aide des commandes slash /expand et /collapse.", + "user.settings.display.collapseDisplay": "Apparence par défaut des aperçus de liens d'images", + "user.settings.display.collapseOff": "Réduit", + "user.settings.display.collapseOn": "Etendu", "user.settings.display.fixedWidthCentered": "Largeur fixe, centré", "user.settings.display.fontDesc": "Choisissez la police de caractères utilisée pour l'interface de Mattermost.", "user.settings.display.fontTitle": "Police d'affichage", @@ -2145,7 +2147,7 @@ "user.settings.notifications.emailNotifications": "Notifications par e-mail", "user.settings.notifications.header": "Notifications", "user.settings.notifications.info": "Les notifications de bureau sont disponibles sur Edge, Firefox, Safari, Chrome et les applications desktop Mattermost.", - "user.settings.notifications.mentionsInfo": "Mentions trigger when someone sends a message that includes your username (\"@{username}\") or any of the options selected above.", + "user.settings.notifications.mentionsInfo": "Les mentions se déclenchent lorsque quelqu'un envoie un message qui inclut votre nom d'utilisateur (\"@{username}\") ou l'une des options ci-dessus.", "user.settings.notifications.never": "Jamais", "user.settings.notifications.noWords": "Aucun mot configuré", "user.settings.notifications.off": "Désactivé", @@ -2189,9 +2191,9 @@ "user.settings.security.lastUpdated": "Dernière mise à jour le {date} à {time}", "user.settings.security.ldap": "AD/LDAP", "user.settings.security.loginGitlab": "Connexion avec GitLab", - "user.settings.security.loginGoogle": "Login done through Google Apps", + "user.settings.security.loginGoogle": "Connexion à partir de Google Apps", "user.settings.security.loginLdap": "Connexion avec LDAP", - "user.settings.security.loginOffice365": "Login done through Office 365", + "user.settings.security.loginOffice365": "Connexion à partir d'Office 365", "user.settings.security.loginSaml": "Se connecter par SAML", "user.settings.security.logoutActiveSessions": "Consulter et déconnecter les sessions actives", "user.settings.security.method": "Méthode de connexion", @@ -2199,7 +2201,7 @@ "user.settings.security.noApps": "Aucune application OAuth 2.0 autorisée.", "user.settings.security.oauthApps": "Applications OAuth 2.0", "user.settings.security.oauthAppsDescription": "Veuillez cliquer sur 'Modifier' pour gérer vos applications OAuth 2.0", - "user.settings.security.oauthAppsHelp": "Les applications agissent en votre nom pour accéder à vos données sur la base des autorisations que vous leur accordez.", + "user.settings.security.oauthAppsHelp": "Les applications agissent en votre nom pour accéder à vos données sur base des permissions que vous leur accordez.", "user.settings.security.office365": "Office 365", "user.settings.security.oneSignin": "Vous ne pouvez avoir qu'une seule méthode de connexion à la fois. Changer de méthode de connexion provoquera l'envoi d'un e-mail vous notifiant que le changement a réussi.", "user.settings.security.password": "Mot de passe", @@ -2220,11 +2222,11 @@ "user.settings.security.passwordErrorUppercaseNumberSymbol": "Votre mot de passe doit contenir au moins {min} caractères et au moins une lettre majuscule, un chiffre et un symbole (parmi \"~!@#$%^&*()\").", "user.settings.security.passwordErrorUppercaseSymbol": "Votre mot de passe doit contenir au moins {min} caractères et au moins une lettre majuscule et un symbole (parmi \"~!@#$%^&*()\").", "user.settings.security.passwordGitlabCantUpdate": "La connexion se produit à travers GitLab. Le mot de passe ne peut pas être mis à jour.", - "user.settings.security.passwordGoogleCantUpdate": "La connexion se produit à travers GitLab. Le mot de passe ne peut pas être mis à jour.", + "user.settings.security.passwordGoogleCantUpdate": "La connexion s'effectue par Google Apps. Le mot de passe ne peut pas être mis à jour.", "user.settings.security.passwordLdapCantUpdate": "La connexion se produit via LDAP . Le mot de passe ne peut pas être mis à jour.", "user.settings.security.passwordMatchError": "Les nouveaux mots de passe que vous avez saisis ne correspondent pas.", "user.settings.security.passwordMinLength": "Longueur minimum invalide, impossible d'afficher l'aperçu.", - "user.settings.security.passwordOffice365CantUpdate": "La connexion se produit à travers GitLab. Le mot de passe ne peut pas être mis à jour.", + "user.settings.security.passwordOffice365CantUpdate": "La connexion s'effectue par Office 365. Le mot de passe ne peut pas être mis à jour.", "user.settings.security.passwordSamlCantUpdate": "Ce champ est géré par le service d'authentification. Si vous souhaitez le modifier, vous devez le faire par le biais de votre service d'authentification.", "user.settings.security.retypePassword": "Répéter le nouveau mot de passe", "user.settings.security.saml": "SAML", diff --git a/webapp/i18n/ja.json b/webapp/i18n/ja.json index f72af3026..da92f954e 100644 --- a/webapp/i18n/ja.json +++ b/webapp/i18n/ja.json @@ -217,8 +217,11 @@ "admin.customization.customEmoji": "カスタム絵文字", "admin.customization.enableCustomEmojiDesc": "ユーザーがメッセージ中で使用するカスタム絵文字の作成を有効にします。有効にした場合、カスタム絵文字は、チームに切り替え、チャンネルのサイドバー3点マークをクリックして、「カスタム絵文字」を選択することで設定できます。", "admin.customization.enableCustomEmojiTitle": "カスタム絵文字を有効にする:", + "admin.customization.enableLinkPreviewsDesc": "メッセージの下にウェブサイトのプレビューを表示するようにします。有効な場合、ウェブサイトのプレビューは アカウント設定 > 詳細 > プリリリース機能をプレビューする から設定できます。", + "admin.customization.enableLinkPreviewsTitle": "リンクのプレビューを有効にする:", "admin.customization.iosAppDownloadLinkDesc": "iOSアプリのダウンロードリンクを追加してください。モバイル用ウェブブラウザーでサイトにアクセスしたユーザへ、アプリをダウンロードするか選択するページを表示します。空欄にした場合、そのページは表示されません。", "admin.customization.iosAppDownloadLinkTitle": "iOSアプリダウンロード用リンク:", + "admin.customization.linkPreviews": "リンクのプレビュー", "admin.customization.nativeAppLinks": "Mattermostアプリリンク", "admin.customization.restrictCustomEmojiCreationAdmin": "システム管理者とチーム管理者にカスタム絵文字を作成できるようにする", "admin.customization.restrictCustomEmojiCreationAll": "全員にカスタム絵文字を作成できるようにする", @@ -764,6 +767,7 @@ "admin.sidebar.ldap": "AD/LDAP", "admin.sidebar.legalAndSupport": "法的事項とサポート", "admin.sidebar.license": "Editionとライセンス", + "admin.sidebar.linkPreviews": "リンクのプレビュー", "admin.sidebar.localization": "言語", "admin.sidebar.logging": "ログ", "admin.sidebar.login": "ログイン", @@ -935,8 +939,6 @@ "analytics.system.activeUsers": "投稿実績のあるアクティブユーザー", "analytics.system.channelTypes": "チャンネル形式", "analytics.system.dailyActiveUsers": "日次アクティブユーザー", - "analytics.system.expiredBanner": "エンタープライズライセンスは{date}に期限が切れました。この日から15日以内にライセンスを更新してください。問い合わせはcommercial@mattermost.comまでお願いします。", - "analytics.system.expiringBanner": "エンタープライズライセンスは{date}に期限が切れます。ライセンスを更新するには、commercial@mattermost.comに問い合わせてください。", "analytics.system.monthlyActiveUsers": "月次アクティブユーザー", "analytics.system.postTypes": "投稿、ファイル、ハッシュタグ", "analytics.system.privateGroups": "非公開グループ", @@ -1287,9 +1289,9 @@ "error.not_found.title": "ページが見つかりません", "error.not_supported.message": "プライベートブラウジングはサポートされていません", "error.not_supported.title": "ブラウザーはサポートされていません", - "error_bar.expired": "エンタープライズライセンスは期限が切れました。期限切れの日から15日以内にライセンスを更新してください。問い合わせはcommercial@mattermost.comまでお願いします。", - "error_bar.expiring": "エンタープライズライセンスは{date}に期限が切れます。ライセンスを更新するには、commercial@mattermost.comに問い合わせてください。", - "error_bar.past_grace": "エンタープライズライセンスの期限が切れました。システム管理者に詳細を問い合わせてください。", + "error_bar.expired": "エンタープライズライセンスが期限切れのため、いくつかの機能が無効になります。こちらから更新してください。", + "error_bar.expiring": "エンタープライズライセンスは {date} に有効期限が切れました。こちらから更新してください。", + "error_bar.past_grace": "エンタープライズライセンスが期限切れのため、いくつかの機能が無効になります。詳細についてはシステム管理者に問い合わせてください。", "error_bar.preview_mode": "プレビューモード: 電子メール通知は設定されていません", "file_attachment.download": "ダウンロードする", "file_info_preview.size": "サイズ ", diff --git a/webapp/i18n/ko.json b/webapp/i18n/ko.json index ae72b5f6f..aa668ed14 100644 --- a/webapp/i18n/ko.json +++ b/webapp/i18n/ko.json @@ -217,8 +217,11 @@ "admin.customization.customEmoji": "커스텀 이모티콘", "admin.customization.enableCustomEmojiDesc": "Enable users to create custom emoji for use in messages. When enabled, Custom Emoji settings can be accessed by switching to a team and clicking the three dots above the channel sidebar, and selecting \"Custom Emoji\".", "admin.customization.enableCustomEmojiTitle": "커스텀 이모티콘:", + "admin.customization.enableLinkPreviewsDesc": "Enable users to display a preview of website content below the message, if available. When true, website previews can be enabled from Account Settings > Advanced > Preview pre-release features.", + "admin.customization.enableLinkPreviewsTitle": "Enable Link Previews:", "admin.customization.iosAppDownloadLinkDesc": "Add a link to download the iOS app. Users who access the site on a mobile web browser will be prompted with a page giving them the option to download the app. Leave this field blank to prevent the page from appearing.", "admin.customization.iosAppDownloadLinkTitle": "iOS 앱 다운로드 링크:", + "admin.customization.linkPreviews": "링크 미리보기", "admin.customization.nativeAppLinks": "Mattermost 애플리케이션 링크", "admin.customization.restrictCustomEmojiCreationAdmin": "Allow System and Team Admins to create custom emoji", "admin.customization.restrictCustomEmojiCreationAll": "Allow everyone to create custom emoji", @@ -764,6 +767,7 @@ "admin.sidebar.ldap": "AD/LDAP", "admin.sidebar.legalAndSupport": "지원", "admin.sidebar.license": "라이센스와 에디션", + "admin.sidebar.linkPreviews": "링크 미리보기", "admin.sidebar.localization": "지역화", "admin.sidebar.logging": "로그", "admin.sidebar.login": "로그인", @@ -935,8 +939,6 @@ "analytics.system.activeUsers": "활성 사용자 (글 작성 기준)", "analytics.system.channelTypes": "Channel Types", "analytics.system.dailyActiveUsers": "Daily Active Users", - "analytics.system.expiredBanner": "The Enterprise license expired on {date}. You have 15 days from this date to renew the license, please contact commercial@mattermost.com.", - "analytics.system.expiringBanner": "The Enterprise license is expiring on {date}. To renew your license, please contact commercial@mattermost.com.", "analytics.system.monthlyActiveUsers": "Monthly Active Users", "analytics.system.postTypes": "글, 파일, 해시태그", "analytics.system.privateGroups": "비공개 그룹", @@ -1287,9 +1289,9 @@ "error.not_found.title": "페이지를 찾을 수 없습니다.", "error.not_supported.message": "비밀모드는 지원되지 않습니다.", "error.not_supported.title": "지원되지 않는 브라우저입니다.", - "error_bar.expired": "엔터프라이즈 라이센스가 만료되었습니다; 15일 안에 라이센스를 갱신해야 합니다, 자세한 내용은 commercial@mattermost.com에 문의하세요.", - "error_bar.expiring": "엔터프라이즈 라이센스가 {date}에 만료됩니다. 라이센스를 갱신하려면, commercial@mattermost.com에 문의하세요.", - "error_bar.past_grace": "엔터프라이즈 라이센스가 만료되었습니다, 자세한 내용은 시스템 관리자에게 문의하세요.", + "error_bar.expired": "Enterprise license is expired and some features may be disabled. Please renew.", + "error_bar.expiring": "Enterprise license expires on {date}. Please renew.", + "error_bar.past_grace": "Enterprise license is expired and some features may be disabled. Please contact your System Administrator for details.", "error_bar.preview_mode": "미리보기 모드: 이메일 알림이 설정되지 않았습니다.", "file_attachment.download": "다운로드", "file_info_preview.size": "용량 ", diff --git a/webapp/i18n/nl.json b/webapp/i18n/nl.json index 9c1178a4b..6af442227 100644 --- a/webapp/i18n/nl.json +++ b/webapp/i18n/nl.json @@ -217,8 +217,11 @@ "admin.customization.customEmoji": "Aangepaste emoji", "admin.customization.enableCustomEmojiDesc": "Inschakelen dat gebruikers aangepaste emojis kunnen maken voor in berichten. Wanneer ingeschakeld, Aagepaste Emoji instellingen staan dan bij wisselen van team en dan op de drie puntjes klikken, en selecteer \"Aangepaste Emoji\".", "admin.customization.enableCustomEmojiTitle": "Aangepaste emoji inschakelen:", + "admin.customization.enableLinkPreviewsDesc": "Enable users to display a preview of website content below the message, if available. When true, website previews can be enabled from Account Settings > Advanced > Preview pre-release features.", + "admin.customization.enableLinkPreviewsTitle": "Enable Link Previews:", "admin.customization.iosAppDownloadLinkDesc": "Voeg een link toe naar de iOs app. Gebruikers die via een mobiele webbrowser de site bezoeken zullen een pagina krijgen met de optie om de app te downloaden. Laat dit veld leeg om deze pagina niet weer te geven. ", "admin.customization.iosAppDownloadLinkTitle": "iOS App Download Link:", + "admin.customization.linkPreviews": "Link voorvertoningen", "admin.customization.nativeAppLinks": "Mattermost App Links", "admin.customization.restrictCustomEmojiCreationAdmin": "Sta Systeem en Team beheerders toe om aangepaste emojis te maken", "admin.customization.restrictCustomEmojiCreationAll": "Iedereen toestaan aangepaste emoji te maken", @@ -764,6 +767,7 @@ "admin.sidebar.ldap": "AD/LDAP", "admin.sidebar.legalAndSupport": "Wettelijk en Ondersteuning", "admin.sidebar.license": "Editie en Licentie", + "admin.sidebar.linkPreviews": "Link voorvertoningen", "admin.sidebar.localization": "Lokalisatie", "admin.sidebar.logging": "Loggen", "admin.sidebar.login": "Login", @@ -935,8 +939,6 @@ "analytics.system.activeUsers": "Actieve gebruikers met berichten", "analytics.system.channelTypes": "Kanaal types", "analytics.system.dailyActiveUsers": "Daily Active Users", - "analytics.system.expiredBanner": "De Enterprise licentie is verlopen op {date}. U heeft 15 dagen vanaf deze datum om de licentie te vernieuwen. Neem contact op met commercial@mattermost.com.", - "analytics.system.expiringBanner": "De Enterprise licentie verloop op {date}. Om uw licentie te vernieuwen, neem contact op met commercial@mattermost.com.", "analytics.system.monthlyActiveUsers": "Monthly Active Users", "analytics.system.postTypes": "Berichten, bestanden en hashtags", "analytics.system.privateGroups": "Privé groepen", @@ -1287,9 +1289,9 @@ "error.not_found.title": "Pagina niet gevonden", "error.not_supported.message": "Browsen in \"privé modus\" is niet toegestaan.", "error.not_supported.title": "Browser niet ondersteund", - "error_bar.expired": "De Enterprise licentie is verlopen; u heeft 15 dagen om deze licentie te verlengen, neem contact op met commercial@mattermost.com voor details", - "error_bar.expiring": "De Enterprise licentie zal verlopen op {date}. Voor het verlengen van uw licentie, kunt u contact opnemen met commercial@mattermost.com", - "error_bar.past_grace": "De Enterprise licentie is verlopen, neem contact op met uw Systeembeheerder voor meer informatie", + "error_bar.expired": "Enterprise license is expired and some features may be disabled. Please renew.", + "error_bar.expiring": "Enterprise license expires on {date}. Please renew.", + "error_bar.past_grace": "Enterprise license is expired and some features may be disabled. Please contact your System Administrator for details.", "error_bar.preview_mode": "Preview Modus: Email notificaties zijn niet geconfigureerd", "file_attachment.download": "Downloaden", "file_info_preview.size": "Grootte ", diff --git a/webapp/i18n/pt-BR.json b/webapp/i18n/pt-BR.json index 163a56d29..6b8ec4809 100644 --- a/webapp/i18n/pt-BR.json +++ b/webapp/i18n/pt-BR.json @@ -217,8 +217,11 @@ "admin.customization.customEmoji": "Emoji Personalizado", "admin.customization.enableCustomEmojiDesc": "Habilitar para os usuários a criação de emoji personalizados para usar nas mensagens. Quando habilitado, as configurações dos Emoji personalizados podem ser acessadas trocando para Time e clicando nos três pontos encima do canal, e selecionando \"Emoji Personalizados\".", "admin.customization.enableCustomEmojiTitle": "Ativar Emoji Personalizado:", + "admin.customization.enableLinkPreviewsDesc": "Permitir que os usuários exibam uma visualização do conteúdo do site abaixo da mensagem, se disponível. Quando verdadeiro, as pré-visualizações do site podem ser ativadas em Configurações da conta > Avançado > Visualizar recursos de pré-lançamento.", + "admin.customization.enableLinkPreviewsTitle": "Habilitar Visualizações de Links:", "admin.customization.iosAppDownloadLinkDesc": "Adiciona um link para download do app iOS. Usuários que acessarem o site em um navegador móvel serão perguntados com uma página dando a opção para download do app. Deixe este campo em branco para evitar que a página apareça.", "admin.customization.iosAppDownloadLinkTitle": "App iOS Link para Download:", + "admin.customization.linkPreviews": "Visualizações de Links", "admin.customization.nativeAppLinks": "Links Aplicativo Mattermost", "admin.customization.restrictCustomEmojiCreationAdmin": "Habilitar criação de emoji personalizados para Administradores de Sistema e de Times ", "admin.customization.restrictCustomEmojiCreationAll": "Permitir que todos possam criar emoji personalizados", @@ -529,7 +532,7 @@ "admin.metrics.listenAddressDesc": "O endereço que o servidor irá escutar para expor as métricas de performance.", "admin.metrics.listenAddressEx": "Ex.: \":8067\"", "admin.metrics.listenAddressTitle": "Endereço à escutar:", - "admin.mfa.bannerDesc": "Multi-factor authentication is available for accounts with AD/LDAP or email login. If other login methods are used, MFA should be configured with the authentication provider.", + "admin.mfa.bannerDesc": "Autenticação por Multi-fator está disponível para contas com AD/LDAP ou por login por email. Se outro método de login é utilizado, o MFA deve ser configurado com o provedor de autenticação.", "admin.mfa.cluster": "Alta", "admin.mfa.title": "Autenticação Multi-Fator", "admin.nav.help": "Ajuda", @@ -689,7 +692,7 @@ "admin.service.developerDesc": "Quando verdadeiro, os erros de Javascript serão mostrados em uma barra vermelha no topo da interface de usuário. Não recomendado para uso em produção. ", "admin.service.developerTitle": "Ativar o Modo Desenvolvedor: ", "admin.service.enforcMfaTitle": "Obrigar Autenticação Multi-Fator:", - "admin.service.enforceMfaDesc": "When true, multi-factor authentication is required for login. New users will be required to configure MFA on signup. Logged in users without MFA configured are redirected to the MFA setup page until configuration is complete.

    If your system has users with login methods other than AD/LDAP and email, MFA must be enforced with the authentication provider outside of Mattermost.", + "admin.service.enforceMfaDesc": "Quando verdadeiro, autenticação pode multi-fator será requerida para o login. O configuração do MFA será requerida para os novos usuários na inscrição. Usuários logados sem o MFA configurado serão redirecionados para a página de configuração do MFA até a configuração estiver completa.

    Se o seu sistema tiver usuários com outros métodos de login que não AD/LDAP e por email, o MFA deverá ser aplicado um provedor de autenticação externo ao Mattermost.", "admin.service.forward80To443": "Redirecionamento porta 80 para 443:", "admin.service.forward80To443Description": "Redirecionar todo trafego inseguro da porta 80 para porta segura 443", "admin.service.googleDescription": "Defina esta chave para permitir a exibição de títulos para pré-visualizações de vídeo do YouTube embutidos. Sem a chave, pré-visualizações do YouTube ainda serão criadas com base em hiperlinks que aparecem nas mensagens ou comentários, mas eles não vão mostrar o título do vídeo. Veja o Google Developers Tutorial para instruções sobre como obter uma chave.", @@ -706,7 +709,7 @@ "admin.service.listenAddress": "Endereço à Escutar:", "admin.service.listenDescription": "O endereço e a porta à qual se ligar e ouvir. Especificando \":8065\" irá ligar-se a todas as interfaces de rede. Especificando \"127.0.0.1:8065\" só irá ligar à interface de rede com esse endereço IP. Se você escolher uma porta de um nível mais baixo (chamadas de \"portas do sistema\" ou \"portas conhecidas\", na faixa de 0-1023), você deve ter permissões para se ligar a essa porta. No Linux, você pode usar: \"sudo setcap cap_net_bind_service=+ep ./bin/platform\" para permitir o Mattermost vincular a portas conhecidas.", "admin.service.listenExample": "Ex.: \":8065\"", - "admin.service.mfaDesc": "When true, users with AD/LDAP or email login can add multi-factor authentication to their account using Google Authenticator.", + "admin.service.mfaDesc": "Quando verdadeiro, usuários com AD/LDAP ou login por email poderão adicionar a autenticação multi-fator nas suas contas usando o Google Authenticator.", "admin.service.mfaTitle": "Ativar Autenticação Multi-Fator:", "admin.service.mobileSessionDays": "Tamanho da sessão para app móvel (dias):", "admin.service.mobileSessionDaysDesc": "O número de dias desde a última vez que um usuário entrou suas credenciais para expirar a sessão do usuário. Depois de alterar essa configuração, a nova duração da sessão terá efeito após a próxima vez que o usuário digitar suas credenciais.", @@ -764,6 +767,7 @@ "admin.sidebar.ldap": "AD/LDAP", "admin.sidebar.legalAndSupport": "Legal e Suporte", "admin.sidebar.license": "Edição e Licença", + "admin.sidebar.linkPreviews": "Visualizações de Links", "admin.sidebar.localization": "Regionalização", "admin.sidebar.logging": "Logs", "admin.sidebar.login": "Login", @@ -935,8 +939,6 @@ "analytics.system.activeUsers": "Usuários Ativos Com Posts", "analytics.system.channelTypes": "Tipos de Canal", "analytics.system.dailyActiveUsers": "Usuários Diários Ativos", - "analytics.system.expiredBanner": "A licença Enterprise expirou em {date}. Você tem 15 dias a partir desta data para renovar a licença, por favor contate commercial@mattermost.com.", - "analytics.system.expiringBanner": "A licença Enterprise termina em {date}. Para renovar sua licença, por favor contate commercial@mattermost.com.", "analytics.system.monthlyActiveUsers": "Usuários Mensais Ativos", "analytics.system.postTypes": "Posts, Arquivos e Hashtags", "analytics.system.privateGroups": "Grupos Privados", @@ -1140,7 +1142,7 @@ "channel_notifications.never": "Nunca", "channel_notifications.onlyMentions": "Somente para menções", "channel_notifications.override": "Selecionar uma opção diferente do \"Padrão\" vai substituir as configurações de notificação global. Notificações na área de trabalho estão disponíveis no Firefox, Safari e Chrome.", - "channel_notifications.overridePush": "Selecting an option other than \"Global default\" will override the global notification settings for mobile push notifications in account settings. Push notifications must be enabled by the System Admin.", + "channel_notifications.overridePush": "Selecionando uma opção diferente de \"Global default\" está irá sobrescrever a configurção global de notificação para notificações de push para mobile na configuração de conta. Notificação por push deve ser habilitada pelo administrador do sistema.", "channel_notifications.preferences": "Preferências de Notificação para ", "channel_notifications.sendDesktop": "Enviar notificações de desktop", "channel_notifications.unreadInfo": "O nome do canal fica em negrito na barra lateral quando houver mensagens não lidas. Selecionando \"Apenas menções\" o canal vai ficar em negrito apenas quando você for mencionado.", @@ -1287,9 +1289,9 @@ "error.not_found.title": "Página não encontrada", "error.not_supported.message": "Navegação privada não é suportado", "error.not_supported.title": "Navegador não suportado", - "error_bar.expired": "A licença Enterprise expirou; você tem 15 dias a partir da expiração para renovar a licença, por favor contate commercial@mattermost.com para detalhes", - "error_bar.expiring": "A licença Enterprise termina em {date}. Para renovar sua licença, por favor contate commercial@mattermost.com", - "error_bar.past_grace": "A licença Enterprise está expirada, por favor contate seu Administrador de Sistema para detalhes", + "error_bar.expired": "Licença Enterprise está expirada e alguns recursos podem estar desativados. Por favor, renovar.", + "error_bar.expiring": "Licença Enterprise expirou em {date}. Por favor, renovar.", + "error_bar.past_grace": "Licença Enterprise está expirada e alguns recursos podem estar desativados. Por favor entre em contato com o Administrador do Sistema para detalhes.", "error_bar.preview_mode": "Modo de visualização: Notificações por E-mail não foram configuradas", "file_attachment.download": "Download", "file_info_preview.size": "Tamanho ", @@ -1448,7 +1450,7 @@ "help.messaging.write": "**Escreva mensagens** usando a caixa de texto na parte inferior do Mattermost. Pressione ENTER para enviar a mensagem. Use SHIFT+ENTER para criar uma nova linha sem enviar a mensagem.", "installed_command.header": "Comandos Slash", "installed_commands.add": "Adicionar Comando Slash", - "installed_commands.delete.confirm": "This action permanently deletes the slash command and breaks any integrations using it. Are you sure you want to delete it?", + "installed_commands.delete.confirm": "Esta ação irá apagar permanentemente o comando slash e irá quebrar qualquer integração que a use. Você está certo que deseja apagar?", "installed_commands.empty": "Nenhum comando encotrado", "installed_commands.header": "Comandos Slash", "installed_commands.help": "Criar comandos slash para uso em integrações internas. Por favor veja {link} para aprender mais.", @@ -1456,7 +1458,7 @@ "installed_commands.search": "Pesquisar Comandos Slash", "installed_commands.unnamed_command": "Comando Slash sem Nome", "installed_incoming_webhooks.add": "Adicionar Webhooks Entrada", - "installed_incoming_webhooks.delete.confirm": "This action permanently deletes the incoming webhook and breaks any integrations using it. Are you sure you want to delete it?", + "installed_incoming_webhooks.delete.confirm": "Esta ação irá apagar permanentemente o webhook de entrada e irá quebrar qualquer integração que a use. Você está certo que deseja apagar?", "installed_incoming_webhooks.empty": "Nenhum webhook de entrada encontrado", "installed_incoming_webhooks.header": "Webhooks Entrada", "installed_incoming_webhooks.help": "Criar URLs para webhook de entrada para uso em integrações externas. Por favor veja {link} para aprender mais.", @@ -1482,7 +1484,7 @@ "installed_oauth_apps.add": "Adicionar Aplicativo OAuth 2.0", "installed_oauth_apps.callbackUrls": "URLs Callback (Uma Por Linha)", "installed_oauth_apps.cancel": "Cancelar", - "installed_oauth_apps.delete.confirm": "This action permanently deletes the OAuth 2.0 application and breaks any integrations using it. Are you sure you want to delete it?", + "installed_oauth_apps.delete.confirm": "Esta ação irá apagar permanentemente o OAuth 2.0 e irá quebrar qualquer integração que a use. Você está certo que deseja apagar?", "installed_oauth_apps.description": "Descrição", "installed_oauth_apps.empty": "Nenhum Aplicativo OAuth 2.0 encontrado", "installed_oauth_apps.header": "Aplicativos OAuth 2.0", @@ -1498,7 +1500,7 @@ "installed_oauth_apps.trusted.no": "Não", "installed_oauth_apps.trusted.yes": "Sim", "installed_outgoing_webhooks.add": "Adicionar Webhooks Saída", - "installed_outgoing_webhooks.delete.confirm": "This action permanently deletes the outgoing webhook and breaks any integrations using it. Are you sure you want to delete it?", + "installed_outgoing_webhooks.delete.confirm": "Esta ação irá apagar permanentemente o webhook de saída e irá quebrar qualquer integração que a use. Você está certo que deseja apagar?", "installed_outgoing_webhooks.empty": "Nenhum webhook de saída encontrado", "installed_outgoing_webhooks.header": "Webhooks Saída", "installed_outgoing_webhooks.help": "Criar URLs para webhook de saída para uso em integrações externas. Por favor veja {link} para aprender mais.", @@ -1639,17 +1641,17 @@ "more_channels.title": "Mais Canais", "more_direct_channels.close": "Fechar", "more_direct_channels.message": "Mensagem", - "more_direct_channels.new_convo_note": "This will start a new conversation. If you’re adding a lot of people, consider creating a private group instead.", - "more_direct_channels.new_convo_note.full": "You’ve reached the maximum number of people for this conversation. Consider creating a private group instead.", + "more_direct_channels.new_convo_note": "Isto irá iniciar uma nova conversa. Se você adicionar muitas pessoas, considere em criar um grupo privado.", + "more_direct_channels.new_convo_note.full": "Você atingiu o número máximo de pessoas nesta conversa. Considere em criar um grupo privado.", "more_direct_channels.title": "Mensagens Diretas", "msg_typing.areTyping": "{users} e {last} estão digitando...", "msg_typing.isTyping": "{user} está digitando...", "msg_typing.someone": "Alguém", "multiselect.go": "Ir", - "multiselect.instructions": "Use up/down arrows to navigate and enter to select", - "multiselect.numPeopleRemaining": "You can add {num, number} more {num, plural, =0 {people} one {person} other {people}}. ", - "multiselect.numRemaining": "You can add {num, number} more", - "multiselect.placeholder": "Search and add members", + "multiselect.instructions": "Utilize as setas para cima/baixo para navegar e a tecla enter para selecionar", + "multiselect.numPeopleRemaining": "Você pode adicionar {num, number} {num, plural, =0 {pessoas} uma {pessoa} ou {pessoas}} mais. ", + "multiselect.numRemaining": "Você pode adicionar mais {num, number}", + "multiselect.placeholder": "Procura e adiciona membros", "navbar.addMembers": "Adicionar Membros", "navbar.click": "Clique aqui", "navbar.delete": "Deletar Canal...", @@ -1704,7 +1706,7 @@ "permalink.error.access": "O permalink pertence a uma mensagem deletada ou a um canal o qual você não tem acesso.", "post_attachment.collapse": "Mostrar menos...", "post_attachment.more": "Mostrar mais...", - "post_body.commentedOn": "Comentado da mensagem de {name}: ", + "post_body.commentedOn": "Comentário da mensagem de {name}: ", "post_body.deleted": "(mensagem deletada)", "post_body.plusMore": " mais {count} outros arquivos", "post_body.plusOne": " mais 1 outro arquivo", diff --git a/webapp/i18n/ru.json b/webapp/i18n/ru.json index a3ad7388f..954adc8ba 100644 --- a/webapp/i18n/ru.json +++ b/webapp/i18n/ru.json @@ -217,8 +217,11 @@ "admin.customization.customEmoji": "Пользовательские смайлы", "admin.customization.enableCustomEmojiDesc": "Разрешите пользователя создавать Специальные Эмодзи для использования в сообщениях. После разрешения, настройки Специальных Эмодзи могут быть доступны в разделе Команда, нажатием на три точки над боковой панелью и выбором \"Специальные Эмодзи\".", "admin.customization.enableCustomEmojiTitle": "Включить пользовательские смайлы:", + "admin.customization.enableLinkPreviewsDesc": "Enable users to display a preview of website content below the message, if available. When true, website previews can be enabled from Account Settings > Advanced > Preview pre-release features.", + "admin.customization.enableLinkPreviewsTitle": "Enable Link Previews:", "admin.customization.iosAppDownloadLinkDesc": "Добавляет ссылку для скачивания приложения для IOS. Пользователям, которые посещают сайт через мобильный браузер, на специальной странице будет предложена возможность скачать приложение. Оставьте это поле пустым, чтобы предотвратить появление этой страницы.", "admin.customization.iosAppDownloadLinkTitle": "Ссылка на страницу загрузки приложения для iOS:", + "admin.customization.linkPreviews": "Предварительный просмотр ссылок", "admin.customization.nativeAppLinks": "Ссылки на приложения Mattermost", "admin.customization.restrictCustomEmojiCreationAdmin": "Разрешите администраторам системы и команд создавать собственные смайлики", "admin.customization.restrictCustomEmojiCreationAll": "Разрешить каждому создавать пользовательские смайлы", @@ -764,6 +767,7 @@ "admin.sidebar.ldap": "AD/LDAP", "admin.sidebar.legalAndSupport": "Право и поддержка", "admin.sidebar.license": "Редакция и Лицензия", + "admin.sidebar.linkPreviews": "Предварительный просмотр ссылок", "admin.sidebar.localization": "Локализация", "admin.sidebar.logging": "Журналирование", "admin.sidebar.login": "Login", @@ -935,8 +939,6 @@ "analytics.system.activeUsers": "Активные пользователи с сообщениями", "analytics.system.channelTypes": "Типы канала", "analytics.system.dailyActiveUsers": "Активность пользователей за день", - "analytics.system.expiredBanner": "Лицензия Enterprise истекает {date}. Свяжитесь с commercial@mattermost.com и обновите лицензию в течение 15 дней.", - "analytics.system.expiringBanner": "Лицензия Enterprise истекает {date}. Для обновления лицензии свяжитесь с commercial@mattermost.com.", "analytics.system.monthlyActiveUsers": "Активность пользователей за месяц", "analytics.system.postTypes": "Сообщения, файлы и хештэги", "analytics.system.privateGroups": "Приватные Группы", @@ -1287,9 +1289,9 @@ "error.not_found.title": "Страница не найдена", "error.not_supported.message": "Приватный просмотр не поддерживается", "error.not_supported.title": "Браузер не поддерживается", - "error_bar.expired": "Корпоративная лицензия истекла; у вас есть 15 дней, чтобы обновить лицензию. Свяжитесь с commercial@mattermost.com для получения деталей", - "error_bar.expiring": "Корпоративная лицензия истекает {date}. Чтобы продлить вашу лицензию, свяжитесь с commercial@mattermost.com", - "error_bar.past_grace": "Корпоративная лицензия истекла, пожалуйста, обратитесь к администратору системы для получения деталей", + "error_bar.expired": "Enterprise license is expired and some features may be disabled. Please renew.", + "error_bar.expiring": "Enterprise license expires on {date}. Please renew.", + "error_bar.past_grace": "Enterprise license is expired and some features may be disabled. Please contact your System Administrator for details.", "error_bar.preview_mode": "Режим просмотра: Email уведомления не настроены", "file_attachment.download": "Скачать", "file_info_preview.size": "Размер ", diff --git a/webapp/i18n/zh-CN.json b/webapp/i18n/zh-CN.json index ad35efe10..9212c9e7c 100644 --- a/webapp/i18n/zh-CN.json +++ b/webapp/i18n/zh-CN.json @@ -217,8 +217,11 @@ "admin.customization.customEmoji": "自定义表情", "admin.customization.enableCustomEmojiDesc": "允许用户创建在消息中使用的自定义表情符。启用后,自定义的表情符的设置方式为:切换到一个团队,在侧边栏单击频道上面的三个点,然后选择“自定义表情符”。", "admin.customization.enableCustomEmojiTitle": "启用自定义表情:", + "admin.customization.enableLinkPreviewsDesc": "允许用户在消息下方显示网站预览。当设为是时,网站预览可在帐号设定 > 高级 > 预览先行发布功能开启。", + "admin.customization.enableLinkPreviewsTitle": "启用链接预览:", "admin.customization.iosAppDownloadLinkDesc": "添加iOS应用下载链接。用移动设备访问的用户将看到应用下载提示页面。此栏留空将不显示。", "admin.customization.iosAppDownloadLinkTitle": "iOS应用下载网址:", + "admin.customization.linkPreviews": "链接预览", "admin.customization.nativeAppLinks": "Mattermost 应用链接", "admin.customization.restrictCustomEmojiCreationAdmin": "允许系统和团队管理员创建表情符号", "admin.customization.restrictCustomEmojiCreationAll": "允许每个人可以创建自定义表情", @@ -764,6 +767,7 @@ "admin.sidebar.ldap": "AD/LDAP", "admin.sidebar.legalAndSupport": "法律和支持", "admin.sidebar.license": "版本和许可证", + "admin.sidebar.linkPreviews": "链接预览", "admin.sidebar.localization": "本地化", "admin.sidebar.logging": "日志", "admin.sidebar.login": "登录", @@ -935,8 +939,6 @@ "analytics.system.activeUsers": "有发信息的的正常用户", "analytics.system.channelTypes": "频道类型", "analytics.system.dailyActiveUsers": "每日活动用户", - "analytics.system.expiredBanner": "企业授权已在 {date} 过期。您在即日起有15天时间更新授权,请联系 commercial@mattermost.com。", - "analytics.system.expiringBanner": "企业授权已在 {date} 过期。请更新授权,详情请联系 commercial@mattermost.com。", "analytics.system.monthlyActiveUsers": "每月活动用户", "analytics.system.postTypes": "发文,文件和标签", "analytics.system.privateGroups": "私有组", @@ -1287,9 +1289,9 @@ "error.not_found.title": "页面未找到", "error.not_supported.message": "私隐浏览不支持", "error.not_supported.title": "不支持的浏览器", - "error_bar.expired": "企业授权已过期;您在即日起有15天时间更新授权,详情请联系 commercial@mattermost.com", - "error_bar.expiring": "企业授权将在 {date} 过期。需要更新授权,详情请联系 commercial@mattermost.com", - "error_bar.past_grace": "企业授权已过期,详情请联系您的系统管理员", + "error_bar.expired": "企业版授权已过期,一些功能已停用。请更新授权。", + "error_bar.expiring": "企业版授权将于 {date} 过期。请更新授权。", + "error_bar.past_grace": "企业版授权已过期,一些功能已停用。请联系您的系统管理员了解详情。", "error_bar.preview_mode": "预览模式: 未配置邮件通知", "file_attachment.download": "下载", "file_info_preview.size": "大小", diff --git a/webapp/i18n/zh-TW.json b/webapp/i18n/zh-TW.json index 320af58c5..d9c0cadae 100644 --- a/webapp/i18n/zh-TW.json +++ b/webapp/i18n/zh-TW.json @@ -217,8 +217,11 @@ "admin.customization.customEmoji": "自訂繪文字", "admin.customization.enableCustomEmojiDesc": "允許使用者新增用於訊息當中的自訂繪文字。允許之後,自訂繪文字設定的檢視方式為:變更到一個團隊,按頻道側邊欄上面的三個點,然後選擇\"自訂繪文字\"。", "admin.customization.enableCustomEmojiTitle": "啟用自訂繪文字:", + "admin.customization.enableLinkPreviewsDesc": "允許使用者在可能時訊息下方顯示網站預覽。啟用時,網頁預覽可以在帳號設定 > 進階 > 預覽預先發佈功能開啟", + "admin.customization.enableLinkPreviewsTitle": "啟用連結預覽:", "admin.customization.iosAppDownloadLinkDesc": "新增下載 iOS 應用程式的連結。用行動網頁瀏覽器存取站台的使用者將會看到提示頁面以下載應用程式。此欄留空則不會出現提示頁面。", "admin.customization.iosAppDownloadLinkTitle": "iOS 應用程式下載連結:", + "admin.customization.linkPreviews": "連結預覽", "admin.customization.nativeAppLinks": "Mattermost 應用程式連結", "admin.customization.restrictCustomEmojiCreationAdmin": "允許系統及團隊管理員新增自訂繪文字", "admin.customization.restrictCustomEmojiCreationAll": "允許所有人新增自訂繪文字", @@ -764,6 +767,7 @@ "admin.sidebar.ldap": "AD/LDAP", "admin.sidebar.legalAndSupport": "法律與支援", "admin.sidebar.license": "版本與授權", + "admin.sidebar.linkPreviews": "連結預覽", "admin.sidebar.localization": "語言", "admin.sidebar.logging": "記錄", "admin.sidebar.login": "登入", @@ -935,8 +939,6 @@ "analytics.system.activeUsers": "有發文的活躍使用者", "analytics.system.channelTypes": "頻道類型", "analytics.system.dailyActiveUsers": "每日活躍使用者", - "analytics.system.expiredBanner": "企業版授權將在{date}過期。請在該日起15天內更新授權。詳情請洽commercial@mattermost.com。", - "analytics.system.expiringBanner": "企業版授權將在{date}過期。請洽commercial@mattermost.com以更新授權。", "analytics.system.monthlyActiveUsers": "每月活躍使用者", "analytics.system.postTypes": "發文,檔案與#標籤", "analytics.system.privateGroups": "私人群組", @@ -1287,9 +1289,9 @@ "error.not_found.title": "找不到頁面", "error.not_supported.message": "不支援隱私瀏覽", "error.not_supported.title": "不支援此瀏覽器", - "error_bar.expired": "企業版授權已過期。請在過期日起15天內更新授權。詳情請洽 commercial@mattermost.com", - "error_bar.expiring": "企業版授權將在 {date} 過期。請聯繫 commercial@mattermost.com 更新授權。", - "error_bar.past_grace": "企業版授權已過期,詳情請洽系統管理員。", + "error_bar.expired": "企業版授權已過期,某些功能已被關閉。請由此更新。", + "error_bar.expiring": "企業版授權將於{date}過期。請由此更新。", + "error_bar.past_grace": "企業版授權已過期,某些功能已被關閉。詳請聯絡系統管理員。", "error_bar.preview_mode": "預覽模式:電子郵件通知尚未設定", "file_attachment.download": "下載", "file_info_preview.size": "大小 ", -- cgit v1.2.3-1-g7c22 From 06a7c3ba8e054237c44e8b1586c76d00c1cffb67 Mon Sep 17 00:00:00 2001 From: Harrison Healey Date: Fri, 10 Mar 2017 05:22:14 -0500 Subject: PLT-5800 Cleaned up duplicated code for adding slack attachments to posts (#5711) --- app/import.go | 33 ++------------------------------- app/slackimport.go | 39 ++++++++++++--------------------------- app/webhook.go | 35 +++-------------------------------- model/slack_attachment.go | 3 ++- 4 files changed, 19 insertions(+), 91 deletions(-) diff --git a/app/import.go b/app/import.go index 4d0feb532..a5ed69843 100644 --- a/app/import.go +++ b/app/import.go @@ -915,37 +915,8 @@ func OldImportIncomingWebhookPost(post *model.Post, props model.StringInterface) if len(props) > 0 { for key, val := range props { if key == "attachments" { - if list, success := val.([]interface{}); success { - // parse attachment links into Markdown format - for i, aInt := range list { - attachment := aInt.(map[string]interface{}) - if aText, ok := attachment["text"].(string); ok { - aText = linkWithTextRegex.ReplaceAllString(aText, "[${2}](${1})") - attachment["text"] = aText - list[i] = attachment - } - if aText, ok := attachment["pretext"].(string); ok { - aText = linkWithTextRegex.ReplaceAllString(aText, "[${2}](${1})") - attachment["pretext"] = aText - list[i] = attachment - } - if fVal, ok := attachment["fields"]; ok { - if fields, ok := fVal.([]interface{}); ok { - // parse attachment field links into Markdown format - for j, fInt := range fields { - field := fInt.(map[string]interface{}) - if fValue, ok := field["value"].(string); ok { - fValue = linkWithTextRegex.ReplaceAllString(fValue, "[${2}](${1})") - field["value"] = fValue - fields[j] = field - } - } - attachment["fields"] = fields - list[i] = attachment - } - } - } - post.AddProp(key, list) + if attachments, success := val.([]*model.SlackAttachment); success { + parseSlackAttachment(post, attachments) } } else if key != "from_webhook" { post.AddProp(key, val) diff --git a/app/slackimport.go b/app/slackimport.go index ced0f6581..fcdd765bb 100644 --- a/app/slackimport.go +++ b/app/slackimport.go @@ -40,17 +40,17 @@ type SlackFile struct { } type SlackPost struct { - User string `json:"user"` - BotId string `json:"bot_id"` - BotUsername string `json:"username"` - Text string `json:"text"` - TimeStamp string `json:"ts"` - Type string `json:"type"` - SubType string `json:"subtype"` - Comment *SlackComment `json:"comment"` - Upload bool `json:"upload"` - File *SlackFile `json:"file"` - Attachments []SlackAttachment `json:"attachments"` + User string `json:"user"` + BotId string `json:"bot_id"` + BotUsername string `json:"username"` + Text string `json:"text"` + TimeStamp string `json:"ts"` + Type string `json:"type"` + SubType string `json:"subtype"` + Comment *SlackComment `json:"comment"` + Upload bool `json:"upload"` + File *SlackFile `json:"file"` + Attachments []*model.SlackAttachment `json:"attachments"` } type SlackComment struct { @@ -58,13 +58,6 @@ type SlackComment struct { Comment string `json:"comment"` } -type SlackAttachment struct { - Id int `json:"id"` - Text string `json:"text"` - Pretext string `json:"pretext"` - Fields []map[string]interface{} `json:"fields"` -} - func truncateRunes(s string, i int) string { runes := []rune(s) if len(runes) > i { @@ -284,15 +277,7 @@ func SlackAddPosts(teamId string, channel *model.Channel, posts []SlackPost, use props := make(model.StringInterface) props["override_username"] = sPost.BotUsername if len(sPost.Attachments) > 0 { - var mAttachments []interface{} - for _, attachment := range sPost.Attachments { - mAttachments = append(mAttachments, map[string]interface{}{ - "text": attachment.Text, - "pretext": attachment.Pretext, - "fields": attachment.Fields, - }) - } - props["attachments"] = mAttachments + props["attachments"] = sPost.Attachments } post := &model.Post{ diff --git a/app/webhook.go b/app/webhook.go index f58b267b7..98e1080b6 100644 --- a/app/webhook.go +++ b/app/webhook.go @@ -150,37 +150,8 @@ func CreateWebhookPost(userId, teamId, channelId, text, overrideUsername, overri if len(props) > 0 { for key, val := range props { if key == "attachments" { - if list, success := val.([]interface{}); success { - // parse attachment links into Markdown format - for i, aInt := range list { - attachment := aInt.(map[string]interface{}) - if aText, ok := attachment["text"].(string); ok { - aText = linkWithTextRegex.ReplaceAllString(aText, "[${2}](${1})") - attachment["text"] = aText - list[i] = attachment - } - if aText, ok := attachment["pretext"].(string); ok { - aText = linkWithTextRegex.ReplaceAllString(aText, "[${2}](${1})") - attachment["pretext"] = aText - list[i] = attachment - } - if fVal, ok := attachment["fields"]; ok { - if fields, ok := fVal.([]interface{}); ok { - // parse attachment field links into Markdown format - for j, fInt := range fields { - field := fInt.(map[string]interface{}) - if fValue, ok := field["value"].(string); ok { - fValue = linkWithTextRegex.ReplaceAllString(fValue, "[${2}](${1})") - field["value"] = fValue - fields[j] = field - } - } - attachment["fields"] = fields - list[i] = attachment - } - } - } - post.AddProp(key, list) + if attachments, success := val.([]*model.SlackAttachment); success { + parseSlackAttachment(post, attachments) } } else if key != "override_icon_url" && key != "override_username" && key != "from_webhook" { post.AddProp(key, val) @@ -452,7 +423,7 @@ func HandleIncomingWebhook(hookId string, req *model.IncomingWebhookRequest, sit webhookType := req.Type // attachments is in here for slack compatibility - if req.Attachments != nil { + if len(req.Attachments) > 0 { if len(req.Props) == 0 { req.Props = make(model.StringInterface) } diff --git a/model/slack_attachment.go b/model/slack_attachment.go index d68fe406f..e1639f2af 100644 --- a/model/slack_attachment.go +++ b/model/slack_attachment.go @@ -4,6 +4,7 @@ package model type SlackAttachment struct { + Id int64 `json:"id"` Fallback string `json:"fallback"` Color string `json:"color"` Pretext string `json:"pretext"` @@ -18,7 +19,7 @@ type SlackAttachment struct { ThumbURL string `json:"thumb_url"` Footer string `json:"footer"` FooterIcon string `json:"footer_icon"` - Timestamp int64 `json:"ts"` + Timestamp interface{} `json:"ts"` // This is either a string or an int64 } type SlackAttachmentField struct { -- cgit v1.2.3-1-g7c22 From a8524b648eb5266df0c2c05995dd90d0500e7b49 Mon Sep 17 00:00:00 2001 From: enahum Date: Mon, 13 Mar 2017 06:57:32 -0300 Subject: Report correct session for React Native app (#5734) --- webapp/components/activity_log_modal.jsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/webapp/components/activity_log_modal.jsx b/webapp/components/activity_log_modal.jsx index aeebb56ae..05c09ab88 100644 --- a/webapp/components/activity_log_modal.jsx +++ b/webapp/components/activity_log_modal.jsx @@ -102,7 +102,7 @@ export default class ActivityLogModal extends React.Component { if (currentSession.props.platform === 'Windows') { devicePicture = 'fa fa-windows'; - } else if (currentSession.device_id && currentSession.device_id.indexOf('apple:') === 0) { + } else if (currentSession.device_id && currentSession.device_id.indexOf('apple') === 0) { devicePicture = 'fa fa-apple'; devicePlatform = ( ); - } else if (currentSession.device_id && currentSession.device_id.indexOf('android:') === 0) { + } else if (currentSession.device_id && currentSession.device_id.indexOf('android') === 0) { devicePlatform = ( Date: Mon, 13 Mar 2017 13:20:21 -0400 Subject: Fix permalink in email for DMs/GMs (#5751) --- app/notification.go | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/app/notification.go b/app/notification.go index 67959c6bc..7b61de9ac 100644 --- a/app/notification.go +++ b/app/notification.go @@ -318,8 +318,7 @@ func SendNotifications(post *model.Post, team *model.Team, channel *model.Channe } func sendNotificationEmail(post *model.Post, user *model.User, channel *model.Channel, team *model.Team, senderName string, sender *model.User, siteURL string) *model.AppError { - if channel.IsGroupOrDirect() && channel.TeamId != team.Id { - // this message is a cross-team DM/GM so we need to find a team that the recipient is on to use in the link + if channel.IsGroupOrDirect() { if result := <-Srv.Store.Team().GetTeamsByUserId(user.Id); result.Err != nil { return result.Err } else { -- cgit v1.2.3-1-g7c22 From 8568afe5b4fb4d26b14fbc0d21f088eaa490b314 Mon Sep 17 00:00:00 2001 From: Joram Wilander Date: Tue, 14 Mar 2017 05:29:12 -0400 Subject: PLT-5804 Fix email blue error not showing up (#5749) --- webapp/components/error_bar.jsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/webapp/components/error_bar.jsx b/webapp/components/error_bar.jsx index a1981aa2a..edb929f20 100644 --- a/webapp/components/error_bar.jsx +++ b/webapp/components/error_bar.jsx @@ -30,7 +30,7 @@ export default class ErrorBar extends React.Component { this.onAnalyticsChange = this.onAnalyticsChange.bind(this); this.handleClose = this.handleClose.bind(this); - ErrorStore.clearNotificationError(); + ErrorStore.clearLastError(); let isSystemAdmin = false; const user = UserStore.getCurrentUser(); -- cgit v1.2.3-1-g7c22