summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoram Wilander <jwawilander@gmail.com>2017-06-15 11:05:43 -0400
committerGitHub <noreply@github.com>2017-06-15 11:05:43 -0400
commit528f2dc6c3b7c7a100d9022f4f50dfe337e92f0c (patch)
tree71fa9b677ce72050dca3abc3c9243e6cf39e0278
parentc0a0065472c199166d32b052dd328b0212f5b693 (diff)
downloadchat-528f2dc6c3b7c7a100d9022f4f50dfe337e92f0c.tar.gz
chat-528f2dc6c3b7c7a100d9022f4f50dfe337e92f0c.tar.bz2
chat-528f2dc6c3b7c7a100d9022f4f50dfe337e92f0c.zip
Merge release-3.10 into master (#6654)
* PLT-6787 Fixed being able to send a post before files finished uploading (#6617) * Fix quick switcher for channels/users not stored locally (#6610) * Fix button text on confirm mention modal (#6609) * fix post delete permission of channel admin (#6608) * open comment thread for the most recent reply-able message (#6605) * Use mutex flag with yarn to prevent concurrent builds interfering (#6619) * Use mutex flag with yarn to prevent concurrent builds interfering * Remove yarn mutex file with clean * Minor bug fixes (#6615) * PLT-6774 - Fixing color for offline icon * PLT-6784 - Fixing status icon * Fixing icon margin * Updating caret position * PLT-6070 Have ChannelMentionProvider stop searching after a term returns no results (#6620) * Fixing JS error (#6623) * Minor bug fixes (#6622) * PLT-6808 - Updating channel switcher on mobile * PLT-6743 - Updating scrollbar styling * Login instead of failing if user exists in OAuth sign-up flow (#6627) * PLT-6802 Disable team switcher (#6626) * Disable team switcher * Fix ESLint errors * PLT-6807 Ensured select teams page can scroll on iOS (#6630) * Do not redirect from account switch pages on 401 (#6631) * Fixing loadtest command and renaming to /test (#6624) * PLT-6820 Update mattermost-redux dependency (#6632) * translations PR 20170612 (#6629) * Bump HTTP client timeout to 30 seconds (#6633) * For team unreads return empty array instead of null (#6636) * PLT-6831 Fix status modal localization IDs (#6637) * Fix status modal localization IDs * Update test snapshot
-rw-r--r--api/command_loadtest_test.go16
-rw-r--r--api/command_test.go4
-rw-r--r--api4/command_test.go4
-rw-r--r--app/auto_users.go4
-rw-r--r--app/command_loadtest.go34
-rw-r--r--app/command_shortcuts.go1
-rw-r--r--app/team.go2
-rw-r--r--app/user.go2
-rw-r--r--i18n/de.json6
-rw-r--r--i18n/fr.json182
-rw-r--r--i18n/ja.json2
-rw-r--r--i18n/pl.json6
-rw-r--r--i18n/pt-BR.json2
-rw-r--r--i18n/ru.json38
-rw-r--r--i18n/tr.json4
-rw-r--r--i18n/zh-CN.json24
-rw-r--r--i18n/zh-TW.json2
-rw-r--r--utils/authorization.go5
-rw-r--r--utils/httpclient.go2
-rw-r--r--webapp/Makefile11
-rw-r--r--webapp/client/browser_web_client.jsx2
-rw-r--r--webapp/components/common/comment_icon.jsx16
-rw-r--r--webapp/components/create_comment.jsx6
-rw-r--r--webapp/components/create_post.jsx10
-rw-r--r--webapp/components/navbar.jsx13
-rw-r--r--webapp/components/post_view/components/post_info.jsx2
-rw-r--r--webapp/components/quick_switch_modal/index.js3
-rw-r--r--webapp/components/quick_switch_modal/quick_switch_modal.jsx33
-rw-r--r--webapp/components/reset_status_modal/reset_status_modal.jsx10
-rw-r--r--webapp/components/suggestion/channel_mention_provider.jsx12
-rw-r--r--webapp/components/suggestion/switch_channel_provider.jsx4
-rw-r--r--webapp/i18n/de.json45
-rwxr-xr-xwebapp/i18n/en.json31
-rw-r--r--webapp/i18n/es.json27
-rw-r--r--webapp/i18n/fr.json121
-rw-r--r--webapp/i18n/ja.json49
-rw-r--r--webapp/i18n/ko.json29
-rw-r--r--webapp/i18n/nl.json29
-rw-r--r--webapp/i18n/pl.json121
-rw-r--r--webapp/i18n/pt-BR.json43
-rw-r--r--webapp/i18n/ru.json203
-rw-r--r--webapp/i18n/tr.json43
-rw-r--r--webapp/i18n/zh-CN.json77
-rw-r--r--webapp/i18n/zh-TW.json43
-rw-r--r--webapp/sass/base/_structure.scss1
-rw-r--r--webapp/sass/components/_scrollbar.scss16
-rw-r--r--webapp/sass/components/_status-icon.scss2
-rw-r--r--webapp/sass/layout/_sidebar-left.scss35
-rw-r--r--webapp/sass/responsive/_mobile.scss2
-rw-r--r--webapp/tests/components/__snapshots__/reset_status_modal.test.jsx.snap10
-rw-r--r--webapp/utils/constants.jsx4
-rw-r--r--webapp/utils/utils.jsx3
52 files changed, 784 insertions, 612 deletions
diff --git a/api/command_loadtest_test.go b/api/command_loadtest_test.go
index a02f4f9d3..46fd985d1 100644
--- a/api/command_loadtest_test.go
+++ b/api/command_loadtest_test.go
@@ -25,8 +25,8 @@ func TestLoadTestHelpCommands(t *testing.T) {
utils.Cfg.ServiceSettings.EnableTesting = true
- rs := Client.Must(Client.Command(channel.Id, "/loadtest help")).Data.(*model.CommandResponse)
- if !strings.Contains(rs.Text, "Mattermost load testing commands to help") {
+ rs := Client.Must(Client.Command(channel.Id, "/test help")).Data.(*model.CommandResponse)
+ if !strings.Contains(rs.Text, "Mattermost testing commands to help") {
t.Fatal(rs.Text)
}
@@ -38,7 +38,7 @@ func TestLoadTestSetupCommands(t *testing.T) {
Client := th.BasicClient
channel := th.BasicChannel
- // enable testing to use /loadtest but don't save it since we don't want to overwrite config.json
+ // enable testing to use /test but don't save it since we don't want to overwrite config.json
enableTesting := utils.Cfg.ServiceSettings.EnableTesting
defer func() {
utils.Cfg.ServiceSettings.EnableTesting = enableTesting
@@ -46,7 +46,7 @@ func TestLoadTestSetupCommands(t *testing.T) {
utils.Cfg.ServiceSettings.EnableTesting = true
- rs := Client.Must(Client.Command(channel.Id, "/loadtest setup fuzz 1 1 1")).Data.(*model.CommandResponse)
+ rs := Client.Must(Client.Command(channel.Id, "/test setup fuzz 1 1 1")).Data.(*model.CommandResponse)
if rs.Text != "Created enviroment" {
t.Fatal(rs.Text)
}
@@ -59,7 +59,7 @@ func TestLoadTestUsersCommands(t *testing.T) {
Client := th.BasicClient
channel := th.BasicChannel
- // enable testing to use /loadtest but don't save it since we don't want to overwrite config.json
+ // enable testing to use /test but don't save it since we don't want to overwrite config.json
enableTesting := utils.Cfg.ServiceSettings.EnableTesting
defer func() {
utils.Cfg.ServiceSettings.EnableTesting = enableTesting
@@ -67,7 +67,7 @@ func TestLoadTestUsersCommands(t *testing.T) {
utils.Cfg.ServiceSettings.EnableTesting = true
- rs := Client.Must(Client.Command(channel.Id, "/loadtest users fuzz 1 2")).Data.(*model.CommandResponse)
+ rs := Client.Must(Client.Command(channel.Id, "/test users fuzz 1 2")).Data.(*model.CommandResponse)
if rs.Text != "Added users" {
t.Fatal(rs.Text)
}
@@ -88,7 +88,7 @@ func TestLoadTestChannelsCommands(t *testing.T) {
utils.Cfg.ServiceSettings.EnableTesting = true
- rs := Client.Must(Client.Command(channel.Id, "/loadtest channels fuzz 1 2")).Data.(*model.CommandResponse)
+ rs := Client.Must(Client.Command(channel.Id, "/test channels fuzz 1 2")).Data.(*model.CommandResponse)
if rs.Text != "Added channels" {
t.Fatal(rs.Text)
}
@@ -109,7 +109,7 @@ func TestLoadTestPostsCommands(t *testing.T) {
utils.Cfg.ServiceSettings.EnableTesting = true
- rs := Client.Must(Client.Command(channel.Id, "/loadtest posts fuzz 2 3 2")).Data.(*model.CommandResponse)
+ rs := Client.Must(Client.Command(channel.Id, "/test posts fuzz 2 3 2")).Data.(*model.CommandResponse)
if rs.Text != "Added posts" {
t.Fatal(rs.Text)
}
diff --git a/api/command_test.go b/api/command_test.go
index 6207e6cf5..9e6696d64 100644
--- a/api/command_test.go
+++ b/api/command_test.go
@@ -241,12 +241,12 @@ func TestTestCommand(t *testing.T) {
cmd1 := &model.Command{
URL: "http://localhost" + utils.Cfg.ServiceSettings.ListenAddress + model.API_URL_SUFFIX_V3 + "/teams/command_test",
Method: model.COMMAND_METHOD_POST,
- Trigger: "test",
+ Trigger: "testcommand",
}
cmd1 = Client.Must(Client.CreateCommand(cmd1)).Data.(*model.Command)
- r1 := Client.Must(Client.Command(channel1.Id, "/test")).Data.(*model.CommandResponse)
+ r1 := Client.Must(Client.Command(channel1.Id, "/testcommand")).Data.(*model.CommandResponse)
if r1 == nil {
t.Fatal("Test command failed to execute")
}
diff --git a/api4/command_test.go b/api4/command_test.go
index 4bbf20084..467d45955 100644
--- a/api4/command_test.go
+++ b/api4/command_test.go
@@ -47,14 +47,14 @@ func TestCreateCommand(t *testing.T) {
CheckErrorMessage(t, resp, "api.command.duplicate_trigger.app_error")
newCmd.Method = "Wrong"
- newCmd.Trigger = "test"
+ newCmd.Trigger = "testcommand"
_, resp = th.SystemAdminClient.CreateCommand(newCmd)
CheckInternalErrorStatus(t, resp)
CheckErrorMessage(t, resp, "model.command.is_valid.method.app_error")
*utils.Cfg.ServiceSettings.EnableCommands = false
newCmd.Method = "P"
- newCmd.Trigger = "test"
+ newCmd.Trigger = "testcommand"
_, resp = th.SystemAdminClient.CreateCommand(newCmd)
CheckNotImplementedStatus(t, resp)
CheckErrorMessage(t, resp, "api.command.disabled.app_error")
diff --git a/app/auto_users.go b/app/auto_users.go
index 71e20817d..c96321846 100644
--- a/app/auto_users.go
+++ b/app/auto_users.go
@@ -59,10 +59,10 @@ func (cfg *AutoUserCreator) createRandomUser() (*model.User, bool) {
var userEmail string
var userName string
if cfg.Fuzzy {
- userEmail = "success+" + model.NewId() + "simulator.amazonses.com"
+ userEmail = "success+" + model.NewId() + "@simulator.amazonses.com"
userName = utils.FuzzName()
} else {
- userEmail = "success+" + model.NewId() + "simulator.amazonses.com"
+ userEmail = "success+" + model.NewId() + "@simulator.amazonses.com"
userName = utils.RandomName(cfg.NameLength, cfg.NameCharset)
}
diff --git a/app/command_loadtest.go b/app/command_loadtest.go
index ad64573fc..20e6e0cdd 100644
--- a/app/command_loadtest.go
+++ b/app/command_loadtest.go
@@ -16,50 +16,50 @@ import (
goi18n "github.com/nicksnyder/go-i18n/i18n"
)
-var usage = `Mattermost load testing commands to help configure the system
+var usage = `Mattermost testing commands to help configure the system
COMMANDS:
Setup - Creates a testing environment in current team.
- /loadtest setup [teams] [fuzz] <Num Channels> <Num Users> <NumPosts>
+ /test setup [teams] [fuzz] <Num Channels> <Num Users> <NumPosts>
Example:
- /loadtest setup teams fuzz 10 20 50
+ /test setup teams fuzz 10 20 50
Users - Add a specified number of random users with fuzz text to current team.
- /loadtest users [fuzz] <Min Users> <Max Users>
+ /test users [fuzz] <Min Users> <Max Users>
Example:
- /loadtest users fuzz 5 10
+ /test users fuzz 5 10
Channels - Add a specified number of random channels with fuzz text to current team.
- /loadtest channels [fuzz] <Min Channels> <Max Channels>
+ /test channels [fuzz] <Min Channels> <Max Channels>
Example:
- /loadtest channels fuzz 5 10
+ /test channels fuzz 5 10
Posts - Add some random posts with fuzz text to current channel.
- /loadtest posts [fuzz] <Min Posts> <Max Posts> <Max Images>
+ /test posts [fuzz] <Min Posts> <Max Posts> <Max Images>
Example:
- /loadtest posts fuzz 5 10 3
+ /test posts fuzz 5 10 3
Url - Add a post containing the text from a given url to current channel.
- /loadtest url
+ /test url
Example:
- /loadtest http://www.example.com/sample_file.md
+ /test http://www.example.com/sample_file.md
Json - Add a post using the JSON file as payload to the current channel.
- /loadtest json url
+ /test json url
Example
- /loadtest json http://www.example.com/sample_body.json
+ /test json http://www.example.com/sample_body.json
`
const (
- CMD_LOADTEST = "loadtest"
+ CMD_TEST = "test"
)
type LoadTestProvider struct {
@@ -72,16 +72,16 @@ func init() {
}
func (me *LoadTestProvider) GetTrigger() string {
- return CMD_LOADTEST
+ return CMD_TEST
}
func (me *LoadTestProvider) GetCommand(T goi18n.TranslateFunc) *model.Command {
return &model.Command{
- Trigger: CMD_LOADTEST,
+ Trigger: CMD_TEST,
AutoComplete: false,
AutoCompleteDesc: "Debug Load Testing",
AutoCompleteHint: "help",
- DisplayName: "loadtest",
+ DisplayName: "test",
}
}
diff --git a/app/command_shortcuts.go b/app/command_shortcuts.go
index 9eefb698e..e10ae8a87 100644
--- a/app/command_shortcuts.go
+++ b/app/command_shortcuts.go
@@ -46,7 +46,6 @@ func (me *ShortcutsProvider) DoCommand(args *model.CommandArgs, message string)
"api.command_shortcuts.nav.unread_prev",
"api.command_shortcuts.nav.unread_next",
"api.command_shortcuts.nav.switcher",
- "api.command_shortcuts.nav.switcher_team",
"api.command_shortcuts.nav.direct_messages_menu",
"api.command_shortcuts.nav.settings",
"api.command_shortcuts.nav.recent_mentions",
diff --git a/app/team.go b/app/team.go
index 317315f06..0bed7e9a3 100644
--- a/app/team.go
+++ b/app/team.go
@@ -656,7 +656,7 @@ func GetTeamsUnreadForUser(excludeTeamId string, userId string) ([]*model.TeamUn
return nil, result.Err
} else {
data := result.Data.([]*model.ChannelUnread)
- var members []*model.TeamUnread
+ members := []*model.TeamUnread{}
membersMap := make(map[string]*model.TeamUnread)
unreads := func(cu *model.ChannelUnread, tu *model.TeamUnread) *model.TeamUnread {
diff --git a/app/user.go b/app/user.go
index e5cc20568..6a6050cc8 100644
--- a/app/user.go
+++ b/app/user.go
@@ -269,7 +269,7 @@ func CreateOAuthUser(service string, userData io.Reader, teamId string) (*model.
}
if result := <-suchan; result.Err == nil {
- return nil, model.NewLocAppError("CreateOAuthUser", "api.user.create_oauth_user.already_used.app_error", map[string]interface{}{"Service": service}, "email="+user.Email)
+ return result.Data.(*model.User), nil
}
if result := <-euchan; result.Err == nil {
diff --git a/i18n/de.json b/i18n/de.json
index 5c3664561..df1e65a73 100644
--- a/i18n/de.json
+++ b/i18n/de.json
@@ -225,7 +225,7 @@
},
{
"id": "api.channel.create_group.bad_size.app_error",
- "translation": "Gruppennachrichtenkanäle müssen aus mindestens 3 und nicht mehr als 8 Benutzer bestehen"
+ "translation": "Gruppennachrichtenkanäle müssen aus mindestens 3 und nicht mehr als 8 Benutzern bestehen"
},
{
"id": "api.channel.create_group.bad_user.app_error",
@@ -2345,7 +2345,7 @@
},
{
"id": "api.templates.welcome_body.app_download_info",
- "translation": "Für das beste Erlebnis laden Sie die Anwendungen für PC, macOS, iOS und Android herunter:"
+ "translation": "Für das beste Erlebnis laden Sie die Apps für PC, macOS, iOS und Android herunter:"
},
{
"id": "api.templates.welcome_body.button",
@@ -5217,7 +5217,7 @@
},
{
"id": "store.sql_oauth.save_app.existing.app_error",
- "translation": "Es muss Update für existierende Anwendung aufgerufen werden"
+ "translation": "Es muss Update für existierende App aufgerufen werden"
},
{
"id": "store.sql_oauth.save_app.save.app_error",
diff --git a/i18n/fr.json b/i18n/fr.json
index a5aa83e10..fb20c0b0f 100644
--- a/i18n/fr.json
+++ b/i18n/fr.json
@@ -49,23 +49,23 @@
},
{
"id": "api.admin.add_certificate.no_file.app_error",
- "translation": "Aucun fichier pour les 'certificats' dans la requête"
+ "translation": "Aucun fichier dans le champ 'certificate' de la requête."
},
{
"id": "api.admin.add_certificate.open.app_error",
- "translation": "Impossible d'ouvrir le fichier du certificat"
+ "translation": "Impossible d'ouvrir le certificat."
},
{
"id": "api.admin.add_certificate.saving.app_error",
- "translation": "Impossible d'enregistrer le certificat"
+ "translation": "Impossible d'enregistrer le certificat."
},
{
"id": "api.admin.file_read_error",
- "translation": "Erreur lors de la lecture du fichier de log"
+ "translation": "Erreur lors de la lecture du fichier journal."
},
{
"id": "api.admin.get_brand_image.not_available.app_error",
- "translation": "La personnalisation n'est pas configurée ou supportée par ce serveur"
+ "translation": "La personnalisation n'est pas configurée ou supportée par ce serveur."
},
{
"id": "api.admin.get_brand_image.storage.app_error",
@@ -73,15 +73,15 @@
},
{
"id": "api.admin.init.debug",
- "translation": "Initialisation des routes de l'API administration"
+ "translation": "Initialisation des routes de l'API administration."
},
{
"id": "api.admin.recycle_db_end.warn",
- "translation": "Connexion à la base de données recyclée"
+ "translation": "La connexion à la base de données a été recyclée."
},
{
"id": "api.admin.recycle_db_start.warn",
- "translation": "Essaye de recycler la connexion à la base de données"
+ "translation": "Essai de recyclage de la connexion à la base de données."
},
{
"id": "api.admin.remove_certificate.delete.app_error",
@@ -89,7 +89,7 @@
},
{
"id": "api.admin.saml.metadata.app_error",
- "translation": "Une erreur s'est produite lors de la construction des métadonnées du fournisseur de services"
+ "translation": "Une erreur s'est produite lors de la construction des métadonnées du fournisseur de services."
},
{
"id": "api.admin.test_email.body",
@@ -661,7 +661,7 @@
},
{
"id": "api.command_shortcuts.browser.channel_next",
- "translation": "{{.ChannelNextCmd}}: Canal suivant dans votre historique\n"
+ "translation": "{{.ChannelNextCmd}} : Canal suivant dans votre historique\n"
},
{
"id": "api.command_shortcuts.browser.channel_next.cmd",
@@ -689,7 +689,7 @@
},
{
"id": "api.command_shortcuts.browser.font_increase",
- "translation": "{{.CmdOrCtrl}}+PLUS: Augmente la taille de la police de caractères (zoom avant)\n"
+ "translation": "{{.CmdOrCtrl}}+PLUS : Augmente la taille de la police de caractères (zoom avant)\n"
},
{
"id": "api.command_shortcuts.browser.header",
@@ -733,7 +733,7 @@
},
{
"id": "api.command_shortcuts.msgs.comp_channel",
- "translation": "~[caractère]+TAB: Saisi automatiquement le nom du canal commencant par [caractère]\n"
+ "translation": "~[caractère]+TAB : Saisi automatiquement le nom du canal commencant par [caractère]\n"
},
{
"id": "api.command_shortcuts.msgs.comp_emoji",
@@ -741,11 +741,11 @@
},
{
"id": "api.command_shortcuts.msgs.comp_username",
- "translation": "@[caractère]+TAB: Saisi automatiquement le nom d'@utilisateur commencant par [caractère]\n"
+ "translation": "@[caractère]+TAB : Saisi automatiquement le nom d'@utilisateur commencant par [caractère]\n"
},
{
"id": "api.command_shortcuts.msgs.edit",
- "translation": "HAUT (dans le champ de saisie vide): Édite le denier message du canal en cours\n"
+ "translation": "HAUT (dans le champ de saisie vide) : Édite le denier message du canal en cours\n"
},
{
"id": "api.command_shortcuts.msgs.header",
@@ -753,19 +753,19 @@
},
{
"id": "api.command_shortcuts.msgs.mark_as_read",
- "translation": "ECHAP: Marque tous les messages du canal en cours comme lus\n"
+ "translation": "ECHAP : Marque tous les messages du canal en cours comme lus\n"
},
{
"id": "api.command_shortcuts.msgs.reply",
- "translation": "SHIFT+UP (in empty input field): Reply to the most recent message in the current channel\n"
+ "translation": "MAJ+HAUT (dans le champ de saisie vide) : Répond au message le plus récent dans le canal en cours\n"
},
{
"id": "api.command_shortcuts.msgs.reprint_next",
- "translation": "{{.CmdOrCtrl}}+BAS (dans le champ de saisie vide): Affiche à nouveau le message ou la commande slash suivants que vous avez saisis\n"
+ "translation": "{{.CmdOrCtrl}}+BAS (dans le champ de saisie vide) : Affiche à nouveau le message ou la commande slash suivants que vous avez saisis\n"
},
{
"id": "api.command_shortcuts.msgs.reprint_prev",
- "translation": "{{.CmdOrCtrl}}+HAUT (dans le champ de saisie vide): Affiche à nouveau le message ou la commande slash précédents que vous avez saisis\n"
+ "translation": "{{.CmdOrCtrl}}+HAUT (dans le champ de saisie vide) : Affiche à nouveau le message ou la commande slash précédents que vous avez saisis\n"
},
{
"id": "api.command_shortcuts.name",
@@ -773,7 +773,7 @@
},
{
"id": "api.command_shortcuts.nav.direct_messages_menu",
- "translation": "{{.CmdOrCtrl}}+SHIFT+K: Open direct messages menu\n"
+ "translation": "{{.CmdOrCtrl}}+MAJ+K: Ouvre le menu des messages privés\n"
},
{
"id": "api.command_shortcuts.nav.header",
@@ -781,35 +781,35 @@
},
{
"id": "api.command_shortcuts.nav.next",
- "translation": "ALT+BAS: Canal ou message privé suivants de la barre latérale gauche\n"
+ "translation": "ALT+BAS : Canal ou message privé suivants de la barre latérale gauche\n"
},
{
"id": "api.command_shortcuts.nav.prev",
- "translation": "ALT+HAUT: Canal ou message privé précédents de la barre latérale gauche\n"
+ "translation": "ALT+HAUT : Canal ou message privé précédents de la barre latérale gauche\n"
},
{
"id": "api.command_shortcuts.nav.recent_mentions",
- "translation": "{{.CmdOrCtrl}}+MAJ+M: Ouvre les mentions récentes\n\n"
+ "translation": "{{.CmdOrCtrl}}+MAJ+M : Ouvre les mentions récentes\n\n"
},
{
"id": "api.command_shortcuts.nav.settings",
- "translation": "{{.CmdOrCtrl}}+SHIFT+A: Ouvre les paramètres du compte\n"
+ "translation": "{{.CmdOrCtrl}}+SHIFT+A : Ouvre les paramètres du compte\n"
},
{
"id": "api.command_shortcuts.nav.switcher",
- "translation": "{{.CmdOrCtrl}}+K: Ouvre une une boite de dialogue permettant de passer rapidement d'un canal à l'autre\n"
+ "translation": "{{.CmdOrCtrl}}+K : Ouvre une une boite de dialogue permettant de passer rapidement d'un canal à l'autre\n"
},
{
"id": "api.command_shortcuts.nav.switcher_team",
- "translation": "{{.CmdOrCtrl}}+K: Ouvre une une boite de dialogue permettant de passer rapidement d'un canal à l'autre\n"
+ "translation": "{{.CmdOrCtrl}}+K : Ouvre une boite de dialogue permettant de passer rapidement d'un canal à l'autre\n"
},
{
"id": "api.command_shortcuts.nav.unread_next",
- "translation": "ALT+MAJ+BAS: Canal ou message privé suivants de la barre latérale gauche comportant des messages non lus\n"
+ "translation": "ALT+MAJ+BAS : Canal ou message privé suivants de la barre latérale gauche comportant des messages non lus\n"
},
{
"id": "api.command_shortcuts.nav.unread_prev",
- "translation": "ALT+MAJ+HAUT: Canal ou message privé précédents 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",
@@ -956,7 +956,7 @@
},
{
"id": "api.email_batching.send_batched_email_notification.send.app_error",
- "translation": "Impossible d'envoyer l'e-mail groupé à %v: %v"
+ "translation": "Impossible d'envoyer l'e-mail groupé à %v : %v"
},
{
"id": "api.email_batching.send_batched_email_notification.subject",
@@ -1327,23 +1327,23 @@
},
{
"id": "api.oauth.allow_oauth.bad_client.app_error",
- "translation": "invalid_request: client_id incorrect"
+ "translation": "invalid_request : client_id incorrect"
},
{
"id": "api.oauth.allow_oauth.bad_redirect.app_error",
- "translation": "invalid_request: redirect_uri manquant ou incorrect"
+ "translation": "invalid_request : redirect_uri manquant ou incorrect"
},
{
"id": "api.oauth.allow_oauth.bad_response.app_error",
- "translation": "invalid_request: response_type incorrect"
+ "translation": "invalid_request : response_type incorrect"
},
{
"id": "api.oauth.allow_oauth.database.app_error",
- "translation": "server_error: Error accessing the database"
+ "translation": "server_error : Erreur lors de l'accès à la base de données"
},
{
"id": "api.oauth.allow_oauth.redirect_callback.app_error",
- "translation": "invalid_request: le redirect_uri spécifié ne correspond pas au callback_url enregistré"
+ "translation": "invalid_request : le redirect_uri spécifié ne correspond pas au callback_url enregistré"
},
{
"id": "api.oauth.allow_oauth.turn_off.app_error",
@@ -1367,7 +1367,7 @@
},
{
"id": "api.oauth.get_access_token.bad_client_id.app_error",
- "translation": "invalid_request: Mauvais client_id"
+ "translation": "invalid_request : Mauvais client_id"
},
{
"id": "api.oauth.get_access_token.bad_client_secret.app_error",
@@ -1463,7 +1463,7 @@
},
{
"id": "api.opengraph.init.debug",
- "translation": "Initializing open graph protocol api routes"
+ "translation": "Initialisation des routes de l'API du protocole Open Graph"
},
{
"id": "api.post.check_for_out_of_channel_mentions.message.multiple",
@@ -1532,8 +1532,8 @@
{
"id": "api.post.get_message_for_notification.files_sent",
"translation": {
- "one": "{{.Count}} fichier envoyé: {{.Filenames}}",
- "other": "{{.Count}} fichiers envoyés: {{.Filenames}}"
+ "one": "{{.Count}} fichier envoyé : {{.Filenames}}",
+ "other": "{{.Count}} fichiers envoyés : {{.Filenames}}"
}
},
{
@@ -1869,11 +1869,11 @@
},
{
"id": "api.slackimport.slack_add_users.merge_existing",
- "translation": "L'utilisateur a été fusionné avec le compte existant: {{.Email}}, {{.Username}}\r\n"
+ "translation": "L'utilisateur a été fusionné avec le compte existant : {{.Email}}, {{.Username}}\r\n"
},
{
"id": "api.slackimport.slack_add_users.merge_existing_failed",
- "translation": "Impossible de fusionner l'utilisateur avec le compte existant: {{.Email}}, {{.Username}}, l'utilisateur n'a pas été ajouté à cette équipe.\r\n"
+ "translation": "Impossible de fusionner l'utilisateur avec le compte existant : {{.Email}}, {{.Username}}, l'utilisateur n'a pas été ajouté à cette équipe.\r\n"
},
{
"id": "api.slackimport.slack_add_users.missing_email_address",
@@ -1981,7 +1981,7 @@
},
{
"id": "api.system.go_routines",
- "translation": "The number of running goroutines is over the health threshold %v of %v"
+ "translation": "Le nombre de routines Go en fonctionnement est supérieur à la limite de %v / %v"
},
{
"id": "api.team.add_user_to_team.invalid_data.app_error",
@@ -2245,7 +2245,7 @@
},
{
"id": "api.templates.post_body.info",
- "translation": "CANAL: {{.ChannelName}}<br>{{.SenderName}} - {{.Hour}}:{{.Minute}} {{.TimeZone}}, {{.Month}} {{.Day}}"
+ "translation": "CANAL : {{.ChannelName}}<br>{{.SenderName}} - {{.Hour}}:{{.Minute}} {{.TimeZone}}, {{.Month}} {{.Day}}"
},
{
"id": "api.templates.post_subject_in_channel",
@@ -2289,7 +2289,7 @@
},
{
"id": "api.templates.signin_change_email.subject",
- "translation": "[{{ .SiteName }}] Votre mot de passe a été mis à jour"
+ "translation": "[{{ .SiteName }}] Votre méthode d'authentification a été mise à jour"
},
{
"id": "api.templates.signup_team_body.button",
@@ -2481,11 +2481,11 @@
},
{
"id": "api.user.create_user.missing_hash_or_data.app_error",
- "translation": "Missing Hash or URL query data."
+ "translation": "Hash ou URL de requête manquant."
},
{
"id": "api.user.create_user.missing_invite_id.app_error",
- "translation": "Missing Invite Id."
+ "translation": "Invite Id manquant"
},
{
"id": "api.user.create_user.no_open_server",
@@ -2749,7 +2749,7 @@
},
{
"id": "api.user.upload_profile_user.decode_config.app_error",
- "translation": "Could not save profile image. File does not appear to be a valid image."
+ "translation": "Impossible de sauvegarder l'image de profile. Le fichier ne semble pas être un fichier d'image valide."
},
{
"id": "api.user.upload_profile_user.encode.app_error",
@@ -2997,7 +2997,7 @@
},
{
"id": "app.import.validate_channel_import_data.display_name_missing.error",
- "translation": "La propriété de canal requise est manquante: display_name."
+ "translation": "La propriété de canal requise est manquante : display_name."
},
{
"id": "app.import.validate_channel_import_data.header_length.error",
@@ -3013,7 +3013,7 @@
},
{
"id": "app.import.validate_channel_import_data.name_missing.error",
- "translation": "La propriété de canal requise est manquante: name"
+ "translation": "La propriété de canal requise est manquante : name"
},
{
"id": "app.import.validate_channel_import_data.purpose_length.error",
@@ -3021,7 +3021,7 @@
},
{
"id": "app.import.validate_channel_import_data.team_missing.error",
- "translation": "La propriété de canal requise est manquante: team"
+ "translation": "La propriété de canal requise est manquante : team"
},
{
"id": "app.import.validate_channel_import_data.type_invalid.error",
@@ -3029,19 +3029,19 @@
},
{
"id": "app.import.validate_channel_import_data.type_missing.error",
- "translation": "La propriété de canal requise est manquante: type."
+ "translation": "La propriété de canal requise est manquante : type."
},
{
"id": "app.import.validate_post_import_data.channel_missing.error",
- "translation": "La propriété de message requise est manquante: Channel."
+ "translation": "La propriété de message requise est manquante : Channel."
},
{
"id": "app.import.validate_post_import_data.create_at_missing.error",
- "translation": "La propriété de message requise est manquante: 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 property must not be zero if provided."
+ "translation": "La propriété du message CreateAt ne doit pas être 0 si ce champ est fourni."
},
{
"id": "app.import.validate_post_import_data.message_length.error",
@@ -3049,15 +3049,15 @@
},
{
"id": "app.import.validate_post_import_data.message_missing.error",
- "translation": "La propriété de message requise est manquante: Message."
+ "translation": "La propriété de message requise est manquante : Message."
},
{
"id": "app.import.validate_post_import_data.team_missing.error",
- "translation": "La propriété de message requise est manquante: Team."
+ "translation": "La propriété de message requise est manquante : Team."
},
{
"id": "app.import.validate_post_import_data.user_missing.error",
- "translation": "La propriété de message requise est manquante: User."
+ "translation": "La propriété de message requise est manquante : User."
},
{
"id": "app.import.validate_team_import_data.allowed_domains_length.error",
@@ -3077,7 +3077,7 @@
},
{
"id": "app.import.validate_team_import_data.display_name_missing.error",
- "translation": "La propriété d'équipe requise est manquante: display_name."
+ "translation": "La propriété d'équipe requise est manquante : display_name."
},
{
"id": "app.import.validate_team_import_data.name_characters.error",
@@ -3089,11 +3089,11 @@
},
{
"id": "app.import.validate_team_import_data.name_missing.error",
- "translation": "La propriété d'équipe requise est manquante: name."
+ "translation": "La propriété d'équipe requise est manquante : name."
},
{
"id": "app.import.validate_team_import_data.name_reserved.error",
- "translation": "Le nom de l'équipe contient des words réservés."
+ "translation": "Le nom de l'équipe contient des mots réservés."
},
{
"id": "app.import.validate_team_import_data.type_invalid.error",
@@ -3101,7 +3101,7 @@
},
{
"id": "app.import.validate_team_import_data.type_missing.error",
- "translation": "La propriété d'équipe requise est manquante: type."
+ "translation": "La propriété d'équipe requise est manquante : type."
},
{
"id": "app.import.validate_user_channels_import_data.channel_name_missing.error",
@@ -3137,7 +3137,7 @@
},
{
"id": "app.import.validate_user_import_data.email_missing.error",
- "translation": "La propriété de message requise est manquante: email."
+ "translation": "La propriété de message requise est manquante : email."
},
{
"id": "app.import.validate_user_import_data.first_name_length.error",
@@ -3169,7 +3169,7 @@
},
{
"id": "app.import.validate_user_import_data.username_missing.error",
- "translation": "La propriété d'utilisateur requise est manquante: username."
+ "translation": "La propriété d'utilisateur requise est manquante : username."
},
{
"id": "app.import.validate_user_teams_import_data.invalid_roles.error",
@@ -3321,35 +3321,35 @@
},
{
"id": "ent.elasticsearch.search_posts.disabled",
- "translation": "ElasticSearch searching is disabled on this server"
+ "translation": "La recherche ElasticSearch est désactivée sur ce serveur"
},
{
"id": "ent.elasticsearch.search_posts.search_failed",
- "translation": "Search failed to complete"
+ "translation": "La recherche a échoué"
},
{
"id": "ent.elasticsearch.search_posts.unmarshall_post_failed",
- "translation": "Failed to decode search results"
+ "translation": "Impossible de décoder les résultats de recherche"
},
{
"id": "ent.elasticsearch.start.connect_failed",
- "translation": "Setting up ElasticSearch Client Failed"
+ "translation": "La configuration du client ElasticSearch a échoué"
},
{
"id": "ent.elasticsearch.start.index_create_failed",
- "translation": "Failed to create ElasticSearch index"
+ "translation": "Impossible de créer l'index d'ElasticSearch"
},
{
"id": "ent.elasticsearch.start.index_exists_failed",
- "translation": "Failed to establish whether ElasticSearch index exists"
+ "translation": "Impossible de savoir si l'index d'ElasticSearch existe"
},
{
"id": "ent.elasticsearch.start.index_mapping_failed",
- "translation": "Failed to setup ElasticSearch index mapping"
+ "translation": "Impossible de configurer le mappage de l'index d'ElasticSearch"
},
{
"id": "ent.elasticsearch.start.index_settings_failed",
- "translation": "Failed to set ElasticSearch index settings"
+ "translation": "Impossible de définir les paramètres de l'index d'ElasticSearch"
},
{
"id": "ent.emoji.licence_disable.app_error",
@@ -3909,19 +3909,19 @@
},
{
"id": "model.config.is_valid.elastic_search.connection_url.app_error",
- "translation": "Elastic Search ConnectionUrl setting must be provided when Elastic Search indexing is enabled."
+ "translation": "Le paramètre ConnectionUrl d'ElasticSearch doit être spécifié lorsque l'indexation avec ElasticSearch est activée."
},
{
"id": "model.config.is_valid.elastic_search.enable_searching.app_error",
- "translation": "Elastic Search IndexingEnabled setting must be set to true when Elastic Search SearchEnabled is set to true."
+ "translation": "Le paramètre IndexingEnabled d'ElasticSearch doit être activé lorsque la propriété SearchEnabled d'ElasticSearch est activée."
},
{
"id": "model.config.is_valid.elastic_search.password.app_error",
- "translation": "Elastic Search Password setting must be provided when Elastic Search indexing is enabled."
+ "translation": "Le paramètre Password d'ElasticSearch doit être spécifié lorsque l'indexation avec ElasticSearch est activée."
},
{
"id": "model.config.is_valid.elastic_search.username.app_error",
- "translation": "Elastic Search Username setting must be provided when Elastic Search indexing is enabled."
+ "translation": "Le paramètre Username d'ElasticSearch doit être spécifié lorsque l'indexation avec ElasticSearch est activée."
},
{
"id": "model.config.is_valid.email_batching_buffer_size.app_error",
@@ -4149,7 +4149,7 @@
},
{
"id": "model.config.is_valid.sql_query_timeout.app_error",
- "translation": "Hauteur du profil invalide dans les paramètres de fichiers. Doit être un entier positif."
+ "translation": "Temps d'attente pour la requête SQL invalide. Doit être un entier positif."
},
{
"id": "model.config.is_valid.time_between_user_typing.app_error",
@@ -5113,27 +5113,27 @@
},
{
"id": "store.sql_file_info.save_or_update.app_error",
- "translation": "Impossible de sauvegarder l'information du fichier"
+ "translation": "Impossible de sauvegarder l'information ou modifier l'information du fichier"
},
{
"id": "store.sql_job_status.delete_by_type.app_error",
- "translation": "Nous n'avons pas pu supprimer le message"
+ "translation": "Impossible de supprimer le statut du job"
},
{
"id": "store.sql_job_status.get.app_error",
- "translation": "Nous n'avons pas pu obtenir le message"
+ "translation": "Impossible de récupérer le statut du job"
},
{
"id": "store.sql_job_status.get_all.app_error",
- "translation": "Nous n'avons pas pu obtenir le message"
+ "translation": "Impossible de récupérer l'ensemble des statuts de job"
},
{
"id": "store.sql_job_status.save.app_error",
- "translation": "Nous n'avons pas pu enregistrer le message"
+ "translation": "Impossible de sauvegarder le statut du job"
},
{
"id": "store.sql_job_status.update.app_error",
- "translation": "Nous n'avons pas pu mettre à jour le message"
+ "translation": "Impossible de mettre à jour le statut du job"
},
{
"id": "store.sql_license.get.app_error",
@@ -5285,7 +5285,7 @@
},
{
"id": "store.sql_post.get_posts_by_ids.app_error",
- "translation": "Nous n'avons pas pu obtenir le message"
+ "translation": "Impossible de récupérer les messages"
},
{
"id": "store.sql_post.get_posts_created_att.app_error",
@@ -5337,7 +5337,7 @@
},
{
"id": "store.sql_post.search.warn",
- "translation": "Erreur de requête lors de la recherche de messages: %v"
+ "translation": "Erreur de requête lors de la recherche de messages : %v"
},
{
"id": "store.sql_post.update.app_error",
@@ -5501,7 +5501,7 @@
},
{
"id": "store.sql_status.get.app_error",
- "translation": "Erreur lors de la récupération du status"
+ "translation": "Erreur lors de la récupération du statut"
},
{
"id": "store.sql_status.get.missing.app_error",
@@ -5509,7 +5509,7 @@
},
{
"id": "store.sql_status.get_online.app_error",
- "translation": "Erreur lors de la récupération de tous les status en-ligne"
+ "translation": "Erreur lors de la récupération de tous les statut en-ligne"
},
{
"id": "store.sql_status.get_online_away.app_error",
@@ -5953,15 +5953,15 @@
},
{
"id": "utils.config.supported_client_locale.app_error",
- "translation": "Impossible de charger le fichier de configuration de Mattermost: DefaultClientLocale doit être l'un des paramètres régionaux pris en charge"
+ "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": "Impossible de charger le fichier de configuration de Mattermost: DefaultServerLocale doit être l'un des paramètres régionaux pris en charge"
+ "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": "Impossible de charger le fichier de configuration de Mattermost: AvailableLocales doit inclure DefaultClientLocale"
+ "translation": "Impossible de charger le fichier de configuration de Mattermost : AvailableLocales doit inclure DefaultClientLocale"
},
{
"id": "utils.diagnostic.analytics_not_found.app_error",
@@ -6001,7 +6001,7 @@
},
{
"id": "utils.mail.connect_smtp.helo.app_error",
- "translation": "Failed to set HELO"
+ "translation": "Impossible de définir le HELO"
},
{
"id": "utils.mail.connect_smtp.open.app_error",
@@ -6017,7 +6017,7 @@
},
{
"id": "utils.mail.new_client.helo.error",
- "translation": "Failed to to set the HELO to SMTP server %v"
+ "translation": "Impossible d'envoyer la requête HELO au serveur SMTP %v"
},
{
"id": "utils.mail.new_client.open.error",
@@ -6029,7 +6029,7 @@
},
{
"id": "utils.mail.send_mail.from_address.app_error",
- "translation": "Notification From Address setting is missing or invalid."
+ "translation": "Paramètre de Notification depuis l'adresse manquant ou invalide."
},
{
"id": "utils.mail.send_mail.msg.app_error",
@@ -6045,7 +6045,7 @@
},
{
"id": "utils.mail.send_mail.to_address.app_error",
- "translation": "Notification To Address setting is missing or invalid."
+ "translation": "Paramètre de Notification à l'adresse manquant ou invalide."
},
{
"id": "utils.mail.test.configured.error",
diff --git a/i18n/ja.json b/i18n/ja.json
index c2b9acb2f..6219ea3a4 100644
--- a/i18n/ja.json
+++ b/i18n/ja.json
@@ -773,7 +773,7 @@
},
{
"id": "api.command_shortcuts.nav.direct_messages_menu",
- "translation": "{{.CmdOrCtrl}}+SHIFT+K: Open direct messages menu\n"
+ "translation": "{{.CmdOrCtrl}}+SHIFT+K: ダイレクトメッセージメニューを開く\n"
},
{
"id": "api.command_shortcuts.nav.header",
diff --git a/i18n/pl.json b/i18n/pl.json
index ac17fba70..a9d04872b 100644
--- a/i18n/pl.json
+++ b/i18n/pl.json
@@ -801,7 +801,7 @@
},
{
"id": "api.command_shortcuts.nav.switcher_team",
- "translation": "{{.CmdOrCtrl}}+K: Otwórz okienko szybkiej zmiany kanału\n"
+ "translation": "{{.CmdOrCtrl}}+K: Otwórz okienko szybkiej zmiany zespołu\n"
},
{
"id": "api.command_shortcuts.nav.unread_next",
@@ -1067,7 +1067,7 @@
},
{
"id": "api.file.get_info_for_request.storage.app_error",
- "translation": "Nie można pobrać informacji o pliku. Przechowywanie obrazów nie jest skonfigurowane."
+ "translation": "Nie można pobrać informacji o pliku. Przechowywanie plików nie jest skonfigurowane."
},
{
"id": "api.file.get_public_file_old.storage.app_error",
@@ -2289,7 +2289,7 @@
},
{
"id": "api.templates.signin_change_email.subject",
- "translation": "[{{ .SiteName }}] Twoje hasło zostało zaktualizowane"
+ "translation": "[{{ .SiteName }}] Twoja metoda logowania została zaktualizowana"
},
{
"id": "api.templates.signup_team_body.button",
diff --git a/i18n/pt-BR.json b/i18n/pt-BR.json
index 54cbb2dc0..3849b4382 100644
--- a/i18n/pt-BR.json
+++ b/i18n/pt-BR.json
@@ -773,7 +773,7 @@
},
{
"id": "api.command_shortcuts.nav.direct_messages_menu",
- "translation": "{{.CmdOrCtrl}}+SHIFT+K: Open direct messages menu\n"
+ "translation": "{{.CmdOrCtrl}}+SHIFT+K: Abre o menu the mensagens diretas\n"
},
{
"id": "api.command_shortcuts.nav.header",
diff --git a/i18n/ru.json b/i18n/ru.json
index 734f092aa..2786585d4 100644
--- a/i18n/ru.json
+++ b/i18n/ru.json
@@ -49,23 +49,23 @@
},
{
"id": "api.admin.add_certificate.no_file.app_error",
- "translation": "Нет файла 'certificate' в запросе"
+ "translation": "Нет файла под атрибутом 'certificate' в запросе."
},
{
"id": "api.admin.add_certificate.open.app_error",
- "translation": "Невозможно открыть файл сертификата"
+ "translation": "Невозможно открыть файл сертификата."
},
{
"id": "api.admin.add_certificate.saving.app_error",
- "translation": "Невозможно сохранить файл сертификата"
+ "translation": "Невозможно сохранить файл сертификата."
},
{
"id": "api.admin.file_read_error",
- "translation": "Ошибка чтения лог файла"
+ "translation": "Ошибка чтения лог файла."
},
{
"id": "api.admin.get_brand_image.not_available.app_error",
- "translation": "Фирменная символика не настроена или не поддерживается на этом сервере"
+ "translation": "Фирменная символика не настроена или не поддерживается на этом сервере."
},
{
"id": "api.admin.get_brand_image.storage.app_error",
@@ -73,15 +73,15 @@
},
{
"id": "api.admin.init.debug",
- "translation": "Инициализация административных маршрутов API"
+ "translation": "Инициализация административных маршрутов API."
},
{
"id": "api.admin.recycle_db_end.warn",
- "translation": "Завершение переподключения к базе данных"
+ "translation": "Переподключение к базе данных завершено."
},
{
"id": "api.admin.recycle_db_start.warn",
- "translation": "Попытка восстановления соединения с базой данных"
+ "translation": "Попытка восстановления соединения с базой данных."
},
{
"id": "api.admin.remove_certificate.delete.app_error",
@@ -757,7 +757,7 @@
},
{
"id": "api.command_shortcuts.msgs.reply",
- "translation": "SHIFT+UP (in empty input field): Reply to the most recent message in the current channel\n"
+ "translation": "SHIFT+ВВЕРХ (в пустом поле ввода): Ответить на последнее сообщение в канале\n"
},
{
"id": "api.command_shortcuts.msgs.reprint_next",
@@ -773,7 +773,7 @@
},
{
"id": "api.command_shortcuts.nav.direct_messages_menu",
- "translation": "{{.CmdOrCtrl}}+SHIFT+K: Open direct messages menu\n"
+ "translation": "{{.CmdOrCtrl}}+SHIFT+K: Открыть меню личных сообщений\n"
},
{
"id": "api.command_shortcuts.nav.header",
@@ -801,7 +801,7 @@
},
{
"id": "api.command_shortcuts.nav.switcher_team",
- "translation": "{{.CmdOrCtrl}}+K: Открыть диалог переключения между каналами\n"
+ "translation": "{{.CmdOrCtrl}}+ALT+K: Открыть диалог быстрого переключения между каналами\n"
},
{
"id": "api.command_shortcuts.nav.unread_next",
@@ -2289,7 +2289,7 @@
},
{
"id": "api.templates.signin_change_email.subject",
- "translation": "[{{ .SiteName }}] Ваш пароль обновлён"
+ "translation": "[{{ .SiteName }}] Ваш метод входа обновлён"
},
{
"id": "api.templates.signup_team_body.button",
@@ -2749,7 +2749,7 @@
},
{
"id": "api.user.upload_profile_user.decode_config.app_error",
- "translation": "Could not save profile image. File does not appear to be a valid image."
+ "translation": "Не удалось сохранить изображения профиля. Файл должен быть картинкой."
},
{
"id": "api.user.upload_profile_user.encode.app_error",
@@ -3101,7 +3101,7 @@
},
{
"id": "app.import.validate_team_import_data.type_missing.error",
- "translation": "Пропущено необходимое свойство team: type"
+ "translation": "Пропущено необходимое свойство team: type."
},
{
"id": "app.import.validate_user_channels_import_data.channel_name_missing.error",
@@ -3337,7 +3337,7 @@
},
{
"id": "ent.elasticsearch.start.index_create_failed",
- "translation": "Failed to create ElasticSearch index"
+ "translation": "Ошибка создания индекса ElasticSearch"
},
{
"id": "ent.elasticsearch.start.index_exists_failed",
@@ -5113,7 +5113,7 @@
},
{
"id": "store.sql_file_info.save_or_update.app_error",
- "translation": "Мы не смогли сохранить информацию о файле"
+ "translation": "Не удалсоь сохранить информацию о файле"
},
{
"id": "store.sql_job_status.delete_by_type.app_error",
@@ -5285,7 +5285,7 @@
},
{
"id": "store.sql_post.get_posts_by_ids.app_error",
- "translation": "Не удалось получить пост"
+ "translation": "Не удалось получить сообщения"
},
{
"id": "store.sql_post.get_posts_created_att.app_error",
@@ -5333,7 +5333,7 @@
},
{
"id": "store.sql_post.search.disabled",
- "translation": "Searching has been disabled on this server. Please contact your System Administrator."
+ "translation": "Поиск на этом сервере отключен. Пожалуйста, обратитесь к администратору."
},
{
"id": "store.sql_post.search.warn",
@@ -6001,7 +6001,7 @@
},
{
"id": "utils.mail.connect_smtp.helo.app_error",
- "translation": "Failed to set HELO"
+ "translation": "Не удалось установить HELO"
},
{
"id": "utils.mail.connect_smtp.open.app_error",
diff --git a/i18n/tr.json b/i18n/tr.json
index 319bfd1ee..fd7a77a65 100644
--- a/i18n/tr.json
+++ b/i18n/tr.json
@@ -773,7 +773,7 @@
},
{
"id": "api.command_shortcuts.nav.direct_messages_menu",
- "translation": "{{.CmdOrCtrl}}+SHIFT+K: Open direct messages menu\n"
+ "translation": "{{.CmdOrCtrl}}+SHIFT+K: Doğrudan iletiler menüsünü açar\n"
},
{
"id": "api.command_shortcuts.nav.header",
@@ -2253,7 +2253,7 @@
},
{
"id": "api.templates.post_subject_in_direct_message",
- "translation": "{{.SenderDisplayName}} kullanıcısından {{.SubjectText}} iletisi {{.Month}} {{.Day}}, {{.Year}} tarihinde"
+ "translation": "{{.SenderDisplayName}} kullanıcısından {{.Day}} {{.Month}} {{.Year}} tarihinde {{.SubjectText}}"
},
{
"id": "api.templates.post_subject_in_group_message",
diff --git a/i18n/zh-CN.json b/i18n/zh-CN.json
index 41559d814..3f8ed9b4c 100644
--- a/i18n/zh-CN.json
+++ b/i18n/zh-CN.json
@@ -757,7 +757,7 @@
},
{
"id": "api.command_shortcuts.msgs.reply",
- "translation": "SHIFT+UP (in empty input field): Reply to the most recent message in the current channel\n"
+ "translation": "SHIFT+UP (在空输入栏):回复当前频道最新的消息\n"
},
{
"id": "api.command_shortcuts.msgs.reprint_next",
@@ -773,7 +773,7 @@
},
{
"id": "api.command_shortcuts.nav.direct_messages_menu",
- "translation": "{{.CmdOrCtrl}}+SHIFT+K: Open direct messages menu\n"
+ "translation": "{{.CmdOrCtrl}}+SHIFT+K:打开私信菜单\n"
},
{
"id": "api.command_shortcuts.nav.header",
@@ -801,7 +801,7 @@
},
{
"id": "api.command_shortcuts.nav.switcher_team",
- "translation": "{{.CmdOrCtrl}}+K:打开频道快速切换对话框\n"
+ "translation": "{{.CmdOrCtrl}}+ALT+K:打开团队快速切换对话框\n"
},
{
"id": "api.command_shortcuts.nav.unread_next",
@@ -1463,7 +1463,7 @@
},
{
"id": "api.opengraph.init.debug",
- "translation": "Initializing open graph protocol api routes"
+ "translation": "正在初始化 open graph 协议 api 路由"
},
{
"id": "api.post.check_for_out_of_channel_mentions.message.multiple",
@@ -1981,7 +1981,7 @@
},
{
"id": "api.system.go_routines",
- "translation": "The number of running goroutines is over the health threshold %v of %v"
+ "translation": "运行中的 goroutine 数量 %v 已经超过健康界限 %v"
},
{
"id": "api.team.add_user_to_team.invalid_data.app_error",
@@ -2749,7 +2749,7 @@
},
{
"id": "api.user.upload_profile_user.decode_config.app_error",
- "translation": "Could not save profile image. File does not appear to be a valid image."
+ "translation": "无法保存个人资料图片。文件不是有效的图片。"
},
{
"id": "api.user.upload_profile_user.encode.app_error",
@@ -3909,19 +3909,19 @@
},
{
"id": "model.config.is_valid.elastic_search.connection_url.app_error",
- "translation": "Elastic Search ConnectionUrl setting must be provided when Elastic Search indexing is enabled."
+ "translation": "当 Elastic Search 索引开启时必须提供 Elastic Search ConnectionUrl 设定。"
},
{
"id": "model.config.is_valid.elastic_search.enable_searching.app_error",
- "translation": "Elastic Search IndexingEnabled setting must be set to true when Elastic Search SearchEnabled is set to true."
+ "translation": "当 Elastic Search SearchEnabled 设为是时必须设定 Elastic Search IndexingEnabled 为是。"
},
{
"id": "model.config.is_valid.elastic_search.password.app_error",
- "translation": "Elastic Search Password setting must be provided when Elastic Search indexing is enabled."
+ "translation": "当 Elastic Search 索引开启时必须提供 Elastic Search 密码设定。"
},
{
"id": "model.config.is_valid.elastic_search.username.app_error",
- "translation": "Elastic Search Username setting must be provided when Elastic Search indexing is enabled."
+ "translation": "当 Elastic Search 索引开启时必须提供 Elastic Search 用户名设定。"
},
{
"id": "model.config.is_valid.email_batching_buffer_size.app_error",
@@ -6029,7 +6029,7 @@
},
{
"id": "utils.mail.send_mail.from_address.app_error",
- "translation": "Notification From Address setting is missing or invalid."
+ "translation": "缺少或无效的从寄件人地址通知设定。"
},
{
"id": "utils.mail.send_mail.msg.app_error",
@@ -6045,7 +6045,7 @@
},
{
"id": "utils.mail.send_mail.to_address.app_error",
- "translation": "Notification To Address setting is missing or invalid."
+ "translation": "缺少或无效的通知到收件人地址设定。"
},
{
"id": "utils.mail.test.configured.error",
diff --git a/i18n/zh-TW.json b/i18n/zh-TW.json
index 308b5cd03..184cf9194 100644
--- a/i18n/zh-TW.json
+++ b/i18n/zh-TW.json
@@ -773,7 +773,7 @@
},
{
"id": "api.command_shortcuts.nav.direct_messages_menu",
- "translation": "{{.CmdOrCtrl}}+SHIFT+K: Open direct messages menu\n"
+ "translation": "{{.CmdOrCtrl}}+SHIFT+K: 開啟直接傳訊選單\n"
},
{
"id": "api.command_shortcuts.nav.header",
diff --git a/utils/authorization.go b/utils/authorization.go
index 7dbb0c808..6f01d7820 100644
--- a/utils/authorization.go
+++ b/utils/authorization.go
@@ -258,6 +258,11 @@ func SetDefaultRolesBasedOnConfig() {
model.ROLE_CHANNEL_USER.Permissions,
model.PERMISSION_DELETE_POST.Id,
)
+ model.ROLE_CHANNEL_ADMIN.Permissions = append(
+ model.ROLE_CHANNEL_ADMIN.Permissions,
+ model.PERMISSION_DELETE_POST.Id,
+ model.PERMISSION_DELETE_OTHERS_POSTS.Id,
+ )
model.ROLE_TEAM_ADMIN.Permissions = append(
model.ROLE_TEAM_ADMIN.Permissions,
model.PERMISSION_DELETE_POST.Id,
diff --git a/utils/httpclient.go b/utils/httpclient.go
index da366a29d..a2355d827 100644
--- a/utils/httpclient.go
+++ b/utils/httpclient.go
@@ -12,7 +12,7 @@ import (
const (
connectTimeout = 3 * time.Second
- requestTimeout = 5 * time.Second
+ requestTimeout = 30 * time.Second
)
// HttpClient returns a variation the default implementation of Client.
diff --git a/webapp/Makefile b/webapp/Makefile
index 3d64e6a50..983d078e9 100644
--- a/webapp/Makefile
+++ b/webapp/Makefile
@@ -5,7 +5,7 @@ BUILD_SERVER_DIR = ..
check-style: .yarninstall
@echo Checking for style guide compliance
- yarn run check
+ yarn run check --mutex file:/tmp/.yarn-mutex
test: .yarninstall
cd $(BUILD_SERVER_DIR) && $(MAKE) internal-test-web-client
@@ -13,7 +13,7 @@ test: .yarninstall
.yarninstall: package.json
@echo Getting dependencies using yarn
- yarn install --pure-lockfile
+ yarn install --pure-lockfile --mutex file:/tmp/.yarn-mutex
touch $@
@@ -22,7 +22,7 @@ build: .yarninstall
rm -rf dist
- yarn run build
+ yarn run build --mutex file:/tmp/.yarn-mutex
run: .yarninstall
@echo Running mattermost Webapp for development
@@ -49,8 +49,9 @@ endif
clean:
@echo Cleaning Webapp
+ yarn cache clean --mutex file:/tmp/.yarn-mutex
+
rm -rf dist
rm -rf node_modules
rm -f .yarninstall
-
- yarn cache clean
+ rm -f /tmp/.yarn-mutex
diff --git a/webapp/client/browser_web_client.jsx b/webapp/client/browser_web_client.jsx
index 2ea4ea3d7..398261758 100644
--- a/webapp/client/browser_web_client.jsx
+++ b/webapp/client/browser_web_client.jsx
@@ -58,7 +58,7 @@ class WebClientClass extends Client {
return;
}
- if (err.status === HTTP_UNAUTHORIZED && res.req.url !== this.getUsersRoute() + '/login') {
+ if (err.status === HTTP_UNAUTHORIZED && res.req.url !== this.getUsersRoute() + '/login' && !res.req.url.startsWith(this.getUsersRoute() + '/claim')) {
GlobalActions.emitUserLoggedOutEvent('/login');
}
diff --git a/webapp/components/common/comment_icon.jsx b/webapp/components/common/comment_icon.jsx
index 4505d51bc..e3781a4be 100644
--- a/webapp/components/common/comment_icon.jsx
+++ b/webapp/components/common/comment_icon.jsx
@@ -21,16 +21,18 @@ export default function CommentIcon(props) {
iconStyle = iconStyle + ' ' + props.searchStyle;
}
- let commentIconId = props.channelId + props.idPrefix;
+ let selectorId = props.idPrefix;
if (props.idCount > -1) {
- commentIconId += props.idCount;
+ selectorId += props.idCount;
}
+ const id = Utils.createSafeId(props.idPrefix + '_' + props.id);
+
return (
<a
- id={Utils.createSafeId(commentIconId)}
+ id={id}
href='#'
- className={iconStyle}
+ className={iconStyle + ' ' + selectorId}
onClick={props.handleCommentClick}
>
<span
@@ -48,12 +50,12 @@ CommentIcon.propTypes = {
handleCommentClick: PropTypes.func.isRequired,
searchStyle: PropTypes.string,
commentCount: PropTypes.number,
- channelId: PropTypes.string
+ id: PropTypes.string
};
CommentIcon.defaultProps = {
idCount: -1,
searchStyle: '',
commentCount: 0,
- channelId: ''
-}; \ No newline at end of file
+ id: ''
+};
diff --git a/webapp/components/create_comment.jsx b/webapp/components/create_comment.jsx
index e2ea84c46..175eb03be 100644
--- a/webapp/components/create_comment.jsx
+++ b/webapp/components/create_comment.jsx
@@ -142,11 +142,7 @@ export default class CreateComment extends React.Component {
handleSubmit(e) {
e.preventDefault();
- if (this.state.uploadsInProgress.length > 0) {
- return;
- }
-
- if (this.state.submitting) {
+ if (this.state.uploadsInProgress.length > 0 || this.state.submitting) {
return;
}
diff --git a/webapp/components/create_post.jsx b/webapp/components/create_post.jsx
index 09741706c..d2f64a266 100644
--- a/webapp/components/create_post.jsx
+++ b/webapp/components/create_post.jsx
@@ -115,6 +115,10 @@ export default class CreatePost extends React.Component {
e.preventDefault();
}
+ if (this.state.uploadsInProgress.length > 0 || this.state.submitting) {
+ return;
+ }
+
const post = {};
post.file_ids = [];
post.message = this.state.message;
@@ -493,7 +497,9 @@ export default class CreatePost extends React.Component {
return;
}
- const lastPostEl = document.getElementById(this.state.channelId + 'commentIcon0');
+ const latestNonEphemeralPost = PostStore.getLatestNonEphemeralPost(this.state.channelId);
+ const latestNonEphemeralPostId = latestNonEphemeralPost == null ? '' : latestNonEphemeralPost.id;
+ const lastPostEl = document.getElementById(`commentIcon_${this.state.channelId}_${latestNonEphemeralPostId}`);
if (!e.ctrlKey && !e.metaKey && !e.altKey && !e.shiftKey && e.keyCode === KeyCodes.UP && this.state.message === '') {
e.preventDefault();
@@ -761,7 +767,7 @@ export default class CreatePost extends React.Component {
<ConfirmModal
title={notifyAllTitle}
message={notifyAllMessage}
- confirmButton={notifyAllConfirm}
+ confirmButtonText={notifyAllConfirm}
show={this.state.showConfirmModal}
onConfirm={this.handleNotifyAllConfirmation}
onCancel={this.handleNotifyModalCancel}
diff --git a/webapp/components/navbar.jsx b/webapp/components/navbar.jsx
index e488145e1..0f8de01a3 100644
--- a/webapp/components/navbar.jsx
+++ b/webapp/components/navbar.jsx
@@ -45,8 +45,6 @@ import {Link} from 'react-router/es6';
import PropTypes from 'prop-types';
import React from 'react';
-import store from 'stores/redux_store.jsx';
-import {getMyTeams} from 'mattermost-redux/selectors/entities/teams';
export default class Navbar extends React.Component {
constructor(props) {
@@ -220,14 +218,9 @@ export default class Navbar extends React.Component {
}
handleQuickSwitchKeyPress(e) {
- if (Utils.cmdOrCtrlPressed(e, true) && !e.shiftKey && e.keyCode === Constants.KeyCodes.K) {
- e.preventDefault();
- if (e.altKey) {
- if (getMyTeams(store.getState()).length <= 1) {
- return;
- }
- this.toggleQuickSwitchModal('team');
- } else {
+ if (Utils.cmdOrCtrlPressed(e) && !e.shiftKey && e.keyCode === Constants.KeyCodes.K) {
+ if (!e.altKey) {
+ e.preventDefault();
this.toggleQuickSwitchModal('channel');
}
}
diff --git a/webapp/components/post_view/components/post_info.jsx b/webapp/components/post_view/components/post_info.jsx
index 20c37ee72..502565752 100644
--- a/webapp/components/post_view/components/post_info.jsx
+++ b/webapp/components/post_view/components/post_info.jsx
@@ -94,7 +94,7 @@ export default class PostInfo extends React.Component {
idCount={idCount}
handleCommentClick={this.props.handleCommentClick}
commentCount={this.props.commentCount}
- channelId={ChannelStore.getCurrentId()}
+ id={ChannelStore.getCurrentId() + '_' + post.id}
/>
);
diff --git a/webapp/components/quick_switch_modal/index.js b/webapp/components/quick_switch_modal/index.js
index 7826fd8f5..ad5d1dd7c 100644
--- a/webapp/components/quick_switch_modal/index.js
+++ b/webapp/components/quick_switch_modal/index.js
@@ -2,14 +2,13 @@
// See License.txt for license information.
import {connect} from 'react-redux';
-import {getMyTeams} from 'mattermost-redux/selectors/entities/teams';
import QuickSwitchModal from './quick_switch_modal.jsx';
function mapStateToProps(state, ownProps) {
return {
...ownProps,
- showTeamSwitcher: getMyTeams(state).length > 1
+ showTeamSwitcher: false
};
}
diff --git a/webapp/components/quick_switch_modal/quick_switch_modal.jsx b/webapp/components/quick_switch_modal/quick_switch_modal.jsx
index 24eb8fcba..aed274510 100644
--- a/webapp/components/quick_switch_modal/quick_switch_modal.jsx
+++ b/webapp/components/quick_switch_modal/quick_switch_modal.jsx
@@ -22,7 +22,6 @@ import store from 'stores/redux_store.jsx';
const getState = store.getState;
import {getChannel} from 'mattermost-redux/selectors/entities/channels';
-import {getUserByUsername} from 'mattermost-redux/selectors/entities/users';
const CHANNEL_MODE = 'channel';
const TEAM_MODE = 'team';
@@ -141,24 +140,22 @@ export default class QuickSwitchModal extends React.PureComponent {
if (this.state.mode === CHANNEL_MODE) {
const selectedChannel = selected.channel;
if (selectedChannel.type === Constants.DM_CHANNEL) {
- const user = getUserByUsername(getState(), selectedChannel.name);
-
- if (user) {
- openDirectChannelToUser(
- user.id,
- (ch) => {
- channel = ch;
- this.switchToChannel(channel);
- },
- () => {
- channel = null;
- this.switchToChannel(channel);
- }
- );
- }
- } else {
+ openDirectChannelToUser(
+ selectedChannel.id,
+ (ch) => {
+ channel = ch;
+ this.switchToChannel(channel);
+ },
+ () => {
+ channel = null;
+ this.switchToChannel(channel);
+ }
+ );
+ } else if (selectedChannel.type === Constants.GM_CHANNEL) {
channel = getChannel(getState(), selectedChannel.id);
this.switchToChannel(channel);
+ } else {
+ this.switchToChannel(selectedChannel);
}
} else {
browserHistory.push('/' + selected.name);
@@ -287,7 +284,7 @@ export default class QuickSwitchModal extends React.PureComponent {
help = (
<FormattedMessage
id='quick_switch_modal.help_no_team'
- defaultMessage='Start typing then use ↑↓ to browse, ↵ to select, and ESC to dismiss.'
+ defaultMessage='Type to find a channel. Use ↑↓ to browse, ↵ to select, ESC to dismiss.'
/>
);
}
diff --git a/webapp/components/reset_status_modal/reset_status_modal.jsx b/webapp/components/reset_status_modal/reset_status_modal.jsx
index 4a04d7561..2e9bb8382 100644
--- a/webapp/components/reset_status_modal/reset_status_modal.jsx
+++ b/webapp/components/reset_status_modal/reset_status_modal.jsx
@@ -86,7 +86,7 @@ export default class ResetStatusModal extends React.PureComponent {
const userStatus = toTitleCase(this.state.currentUserStatus.status || '');
const manualStatusTitle = (
<FormattedMessage
- id='modal.manual_status.title'
+ id='modal.manaul_status.title'
defaultMessage='Your status is set to "{status}"'
values={{
status: userStatus
@@ -96,21 +96,21 @@ export default class ResetStatusModal extends React.PureComponent {
const manualStatusMessage = (
<FormattedMessage
- id='modal.manual_status.message'
+ id='modal.manaul_status.message'
defaultMessage='Would you like to switch your status to "Online"?'
/>
);
const manualStatusButton = (
<FormattedMessage
- id='modal.manual_status.button'
+ id='modal.manaul_status.button'
defaultMessage='Yes, set my status to "Online"'
/>
);
const manualStatusCancel = (
<FormattedMessage
- id='modal.manual_status.cancel'
+ id='modal.manaul_status.cancel'
defaultMessage='No, keep it as "{status}"'
values={{
status: userStatus
@@ -120,7 +120,7 @@ export default class ResetStatusModal extends React.PureComponent {
const manualStatusCheckbox = (
<FormattedMessage
- id='modal.manual_status.ask'
+ id='modal.manaul_status.ask'
defaultMessage='Do not ask me again'
/>
);
diff --git a/webapp/components/suggestion/channel_mention_provider.jsx b/webapp/components/suggestion/channel_mention_provider.jsx
index baca006cb..1d85d8082 100644
--- a/webapp/components/suggestion/channel_mention_provider.jsx
+++ b/webapp/components/suggestion/channel_mention_provider.jsx
@@ -54,6 +54,7 @@ export default class ChannelMentionProvider extends Provider {
constructor() {
super();
+ this.lastTermWithNoResults = '';
this.lastCompletedWord = '';
}
@@ -65,6 +66,11 @@ export default class ChannelMentionProvider extends Provider {
return false;
}
+ if (this.lastTermWithNoResults && pretext.startsWith(this.lastTermWithNoResults)) {
+ // Just give up since we know it won't return any results
+ return false;
+ }
+
if (this.lastCompletedWord && captured[0].startsWith(this.lastCompletedWord)) {
// It appears we're still matching a channel handle that we already completed
return false;
@@ -79,12 +85,14 @@ export default class ChannelMentionProvider extends Provider {
autocompleteChannels(
prefix,
- (data) => {
+ (channels) => {
if (this.shouldCancelDispatch(prefix)) {
return;
}
- const channels = data;
+ if (channels.length === 0) {
+ this.lastTermWithNoResults = pretext;
+ }
// Wrap channels in an outer object to avoid overwriting the 'type' property.
const wrappedChannels = [];
diff --git a/webapp/components/suggestion/switch_channel_provider.jsx b/webapp/components/suggestion/switch_channel_provider.jsx
index 98fe21b1a..d4828ead3 100644
--- a/webapp/components/suggestion/switch_channel_provider.jsx
+++ b/webapp/components/suggestion/switch_channel_provider.jsx
@@ -109,7 +109,7 @@ export default class SwitchChannelProvider extends Provider {
// Dispatch suggestions for local data
const channels = getChannelsInCurrentTeam(getState()).concat(getGroupChannels(getState()));
- const users = Object.assign([], searchProfiles(getState(), channelPrefix, true), true);
+ const users = Object.assign([], searchProfiles(getState(), channelPrefix, true));
this.formatChannelsAndDispatch(channelPrefix, suggestionId, channels, users, true);
// Fetch data from the server and dispatch
@@ -141,7 +141,7 @@ export default class SwitchChannelProvider extends Provider {
return;
}
- const users = Object.assign([], searchProfiles(getState(), channelPrefix, true), usersFromServer);
+ const users = Object.assign([], searchProfiles(getState(), channelPrefix, true), usersFromServer.users);
const channels = getChannelsInCurrentTeam(getState()).concat(getGroupChannels(getState())).concat(channelsFromServer);
this.formatChannelsAndDispatch(channelPrefix, suggestionId, channels, users);
}
diff --git a/webapp/i18n/de.json b/webapp/i18n/de.json
index 5de07e2b3..4a35c29e8 100644
--- a/webapp/i18n/de.json
+++ b/webapp/i18n/de.json
@@ -142,7 +142,7 @@
"admin.advance.metrics": "Performance-Überwachung",
"admin.audits.reload": "Benutzeraktivitäten-Logs neuladen",
"admin.audits.title": "Benutzeraktivitäten-Logs",
- "admin.authentication.email": "E-Mail Authentisierung",
+ "admin.authentication.email": "E-Mail-Authentifikation",
"admin.authentication.gitlab": "GitLab",
"admin.authentication.ldap": "AD/LDAP",
"admin.authentication.oauth": "OAuth 2.0",
@@ -211,9 +211,9 @@
"admin.connectionSecurityTitle": "Verbindungssicherheit:",
"admin.connectionSecurityTls": "TLS",
"admin.connectionSecurityTlsDescription": "Verschlüsselt die Kommunikation zwischen Mattermost und Ihrem E-Mail-Server.",
- "admin.customization.androidAppDownloadLinkDesc": "Einen Link zum Download der Android 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.androidAppDownloadLinkDesc": "Einen Link zum Download der Android-App hinzufügen. Benutzer, die die Seite über einen mobilen Browser aufrufen, wird eine Seite mit der Option die App herunterzuladen angezeigt. Dieses Feld leer lassen um zu verhindern, dass die Seite angezeigt wird.",
"admin.customization.androidAppDownloadLinkTitle": "Android-App Downloadlink:",
- "admin.customization.appDownloadLinkDesc": "Einen Link zur Downloadseite für die Mattermost-Apps hinzufügen. Wenn ein Link angegeben wird, wird die Option \"Mattermost-Apps herunterladen\" zum Hauptmenü hinzugefügt sodass Benutzer die Downloadseite finden können. Dieses Feld leer lassen um die Option vom Hauptmenü auszublenden.",
+ "admin.customization.appDownloadLinkDesc": "Einen Link zur Downloadseite für die Mattermost-Apps hinzufügen. Wenn ein Link angegeben wird, wird die Option \"Mattermost-Apps herunterladen\" zum Hauptmenü hinzugefügt sodass Benutzer die Downloadseite finden können. Dieses Feld leer lassen um die Option im Hauptmenü auszublenden.",
"admin.customization.appDownloadLinkTitle": "Link zur Downloadseite der Mattermost-Apps:",
"admin.customization.customBrand": "Eigenes Branding",
"admin.customization.customEmoji": "Benutzerdefiniertes Emoji",
@@ -221,7 +221,7 @@
"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 Kontoeinstellungen > 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.iosAppDownloadLinkDesc": "Einen Link zum Download der iOS-App hinzufügen. Benutzer, die die Seite über einen mobilen Browser aufrufen, wird 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-Downloadlink:",
"admin.customization.linkPreviews": "Link-Vorschauen",
"admin.customization.nativeAppLinks": "Links zu Mattermost-Anwendungen",
@@ -277,7 +277,7 @@
"admin.email.pushDesc": "Normalerweise wahr in Produktionsumgebungen. Wenn wahr, versucht Mattermost iOS- und Android-Push-Nachrichten über den Push Notification Server zu versenden.",
"admin.email.pushOff": "Keine Benachrichtigungen senden",
"admin.email.pushOffHelp": "Schauen Sie in die <a href=\"http://docs.mattermost.com/deployment/push.html#push-notifications-and-mobile-devices\" target=\"_blank\">Dokumentation zu Push-Meldungen</a> um mehr zu den Einrichtungsmöglichkeiten zu erfahren.",
- "admin.email.pushServerDesc": "Adresse des Mattermost Push Notification Servers. Dieser kann hinter einer Firewall mit https://github.com/mattermost/push-proxy betrieben werden. Für Tests können Sie http://push-test.mattermost.com verwenden, welcher mit der Mattermost iOS Beispielanwendung im Apple AppStore zusammenarbeiten. Bitte verwenden Sie den Testdienst nicht für Produktionsumgebungen.",
+ "admin.email.pushServerDesc": "Adresse des Mattermost Push Notification Servers. Dieser kann hinter einer Firewall mit https://github.com/mattermost/push-proxy betrieben werden. Für Tests können Sie http://push-test.mattermost.com verwenden, welcher mit der Mattermost iOS-Beispiel-App im Apple AppStore zusammenarbeiten. Bitte verwenden Sie den Testdienst nicht für Produktionsumgebungen.",
"admin.email.pushServerEx": "Z.B.: \"http://push-test.mattermost.com\"",
"admin.email.pushServerTitle": "Push Notification Server:",
"admin.email.pushTitle": "Aktiviere Push Nachrichten: ",
@@ -746,7 +746,7 @@
"admin.service.sessionCacheDesc": "Die Anzahl von Minuten in denen der Sitzungs-Cache im Speicher gehalten wird.",
"admin.service.sessionDaysEx": "Z.B.: \"30\"",
"admin.service.siteURL": "URL der Seite:",
- "admin.service.siteURLDescription": "Die URL, inklusive Port und Protokoll, welche Benutzer zum Zugriff auf Mattermost verwenden werden. Diese Einstellung ist erforderlich.",
+ "admin.service.siteURLDescription": "Die URL, die Benutzer verwenden um auf Mattermost zuzugreifen. Standard-Ports wie 80 und 443 können ausgelassen werden, aber nicht-Standard-Ports sind erforderlich. Zum Beispiel: http://mattermost.example.com:8065. Diese Einstellung ist erforderlich.",
"admin.service.siteURLExample": "Z.B.: \"https://mattermost.example.com:1234\"",
"admin.service.ssoSessionDays": "Sessiondauer für SSO Anwendungen (Tage):",
"admin.service.ssoSessionDaysDesc": "Die Anzahl der Tage seit der letzten Anmeldung des Benutzers bis zum Ablauf der Sitzung. Wenn die Authentifizierungsmethode SAML oder GitLab ist, wird der Benutzer automatisch wieder angemeldet, sofern er noch bei SAML oder GitLab angemeldet ist. Bei Änderung dieser Einstellung tritt die neue Sitzungsdauer in Kraft nachdem der Benutzer sich das nächste Mal anmeldet.",
@@ -839,17 +839,17 @@
"admin.sql.traceDescription": "(Entwicklermodus) Wenn wahr, werden ausgeführte SQL-Befehle ins Log geschrieben.",
"admin.sql.traceTitle": "Verfolgung: ",
"admin.sql.warning": "Warnung: Neugenerierung dieses Salts kann für einige Spalten der Datenbank leere Ergebnisse zurückgeben.",
- "admin.support.aboutDesc": "Die URL für den \"Über\"-Link auf der Mattermost Anmelde- und Registrierungsseite. Wenn die Feld leer ist, wird der Link für Nutzer versteckt.",
+ "admin.support.aboutDesc": "Die URL für den \"Über\"-Link auf der Mattermost Anmelde- und Registrierungsseite. Wenn das Feld leer ist, wird der Link für Nutzer versteckt.",
"admin.support.aboutTitle": "Über-Link:",
"admin.support.emailHelp": "E-Mail Adresse welche in E-Mail Benachrichtigunen und im Tutorial für Endnutzer für Supportfälle angezeigt werden.",
"admin.support.emailTitle": "Support E-Mail-Adresse:",
- "admin.support.helpDesc": "Die URL für den \"Hilfe\"-Link auf der Mattermost Anmelde- und Registrierungsseite. Wenn die Feld leer ist, wird der \"Hilfe\"-Link für Nutzer versteckt.",
+ "admin.support.helpDesc": "Die URL für den \"Hilfe\"-Link auf der Mattermost Anmelde- und Registrierungsseite. Wenn das Feld leer ist, wird der \"Hilfe\"-Link für Nutzer versteckt.",
"admin.support.helpTitle": "Hilfe Link:",
"admin.support.noteDescription": "Wenn zu einer externen Site verlinkt wird, sollte die URL mit http:// oder https:// beginnen.",
"admin.support.noteTitle": "Notiz:",
- "admin.support.privacyDesc": "Die URL für den \"Privatsphäre\"-Link auf der Mattermost Anmelde- und Registrierungsseite. Wenn die Feld leer ist, wird der \"Privatsphäre\"-Link für Nutzer versteckt.",
+ "admin.support.privacyDesc": "Die URL für den \"Privatsphäre\"-Link auf der Mattermost Anmelde- und Registrierungsseite. Wenn das Feld leer ist, wird der \"Privatsphäre\"-Link für Nutzer versteckt.",
"admin.support.privacyTitle": "Datenschutzerklärung Link:",
- "admin.support.problemDesc": "Die URL für den \"Ein Problem melden\"-Link auf der Mattermost Anmelde- und Registrierungsseite. Wenn die Feld leer ist, wird der Link im Hauptmenü für Nutzer versteckt.",
+ "admin.support.problemDesc": "Die URL für den \"Ein Problem melden\"-Link auf der Mattermost Anmelde- und Registrierungsseite. Wenn das Feld leer ist, wird der Link im Hauptmenü für Nutzer versteckt.",
"admin.support.problemTitle": "Ein Problem melden link:",
"admin.support.termsDesc": "Link zu den Bedingungen unter denen Benutzer diesen Onlinedienst verwenden dürfen. In der Voreinstellung beinhaltet dies die \"Mattermost Nutzungsbedingungen (Endnutzer)\", welche die Konditionen erklärt unter denen die Mattermost Software für die Benutzer bereitgestellt wird. Wenn Sie den voreingestellten Link auf eine angepasste Version ändern, muss diese ebenfalls einen Link zu den voreingestellten Bedingungen enthalten, damit die Benutzer die Mattermost Nutzungsbedingungen (Endnutzer) zur Kenntnis nehmen.",
"admin.support.termsTitle": "AGB Link:",
@@ -1684,6 +1684,7 @@
"mobile.account_notifications.threads_mentions": "Erwähnungen in Antworten",
"mobile.account_notifications.threads_start": "Diskussionen die ich starte",
"mobile.account_notifications.threads_start_participate": "Diskussionen die ich starte oder an denen ich teilnehme",
+ "mobile.channel_drawer.search": "Springe zu einer Konversation",
"mobile.channel_info.alertMessageDeleteChannel": "Sind Sie sicher, dass Sie den {term} {name} löschen möchten?",
"mobile.channel_info.alertMessageLeaveChannel": "Sind Sie sicher, dass Sie den {term} {name} verlassen möchten?",
"mobile.channel_info.alertNo": "Nein",
@@ -1700,6 +1701,7 @@
"mobile.channel_list.closeGM": "Gruppennachricht schließen",
"mobile.channel_list.dm": "Direktnachricht",
"mobile.channel_list.gm": "Gruppennachricht",
+ "mobile.channel_list.not_member": "KEIN MITGLIED",
"mobile.channel_list.open": "{term} öffnen",
"mobile.channel_list.openDM": "Direktnachricht öffen",
"mobile.channel_list.openGM": "Gruppennachricht öffnen",
@@ -1716,6 +1718,7 @@
"mobile.create_channel.private": "Neuer privater Kanal",
"mobile.create_channel.public": "Neuer Öffentlicher Kanal",
"mobile.custom_list.no_results": "Keine Ergebnisse",
+ "mobile.drawer.teamsTitle": "Teams",
"mobile.edit_post.title": "Nachricht bearbeiten",
"mobile.file_upload.camera": "Ein Foto oder ein Video aufnehmen",
"mobile.file_upload.library": "Foto-Bibliothek",
@@ -1768,6 +1771,11 @@
"mobile.server_url.invalid_format": "URL muss mit http:// oder https:// beginnen",
"mobile.session_expired": "Sitzung abgelaufen: Bitte anmelden um weiterhin Benachrichtigungen zu erhalten.",
"mobile.settings.team_selection": "Teamauswahl",
+ "modal.manaul_status.ask": "Nicht wieder nachfragen",
+ "modal.manaul_status.button": "Ja, meinen Status auf \"Online\" setzen",
+ "modal.manaul_status.cancel": "Nein, \"{status}\" beibehalten",
+ "modal.manaul_status.message": "Möchten Sie Ihren Status auf \"Online\" umschalten?",
+ "modal.manaul_status.title": "Ihr Status wurde auf \"{status}\" gesetzt",
"more_channels.close": "Schließen",
"more_channels.create": "Neuen Kanal erstellen",
"more_channels.createClick": "Klicken Sie auf 'Neuen Kanal erstellen' um einen Neuen zu erzeugen",
@@ -1874,13 +1882,13 @@
"posts_view.newMsg": "Neue Nachrichten",
"posts_view.newMsgBelow": "{count} neue {count, plural, one {Mitteilung} other {Mitteilungen}} weiter unten",
"quick_switch_modal.channels": "Kanäle",
- "quick_switch_modal.channelsShortcut.mac": "(CMD+K)",
- "quick_switch_modal.channelsShortcut.windows": "(STRG+K)",
- "quick_switch_modal.help": "Benutzen Sie TAB zum Umschalten zwischen Teams/Kanälen, ↑↓ zum Navigieren, ↵ zum Bestätigen, ESC zum Abbrechen",
- "quick_switch_modal.help_no_team": "Geben Sie den Kanalnamen ein. Verwenden Sie ↑↓ zum Navigieren, TAB zum Auswählen, ↵ zum Bestätigen, ESC zum Verwerfen",
+ "quick_switch_modal.channelsShortcut.mac": "- ⌘K",
+ "quick_switch_modal.channelsShortcut.windows": "- STRG+K",
+ "quick_switch_modal.help": "Beginnen Sie zu schreiben und nutzen dann TAB um zwischen Kanälen/Teams umzuschalten, ↑↓ zum Navigieren, ↵ zum Auswählen, und ESC zum Abbrechen.",
+ "quick_switch_modal.help_no_team": "Beginnen Sie zu schreiben und nutzen dann ↑↓ zum Navigieren, ↵ zum Auswählen, und ESC zum Abbrechen.",
"quick_switch_modal.teams": "Teams",
- "quick_switch_modal.teamsShortcut.mac": "(CMD+ALT+K)",
- "quick_switch_modal.teamsShortcut.windows": "(STRG+ALT+K)",
+ "quick_switch_modal.teamsShortcut.mac": "- ⌘⌥K",
+ "quick_switch_modal.teamsShortcut.windows": "- STRG+ALT+K",
"reaction.clickToAdd": "(Klicken zum Hinzufügen)",
"reaction.clickToRemove": "(Klicken zum Entfernen)",
"reaction.othersReacted": "{otherUsers, number} {otherUsers, plural, one {Benutzer} other {Benutzer}}",
@@ -1971,8 +1979,6 @@
"sidebar.otherMembers": "Außerhalb dieses Teams",
"sidebar.pg": "Private Kanäle",
"sidebar.removeList": "Von Liste entfernen",
- "sidebar.switch_channels": "Kanäle wechseln (STRG + K)",
- "sidebar.switch_channels.mac": "Kanäle wechseln (CMD + K)",
"sidebar.tutorialScreen1": "<h4>Kanäle</h4><p><strong>Kanäle</strong> organisieren die Unterhaltungen über verschiedene Themen. Jeder aus dem Team kann beitreten. Zur privaten, direkten Kommunikation nutzen Sie <strong>Direktnachrichten</strong> mit einer anderen Person oder <strong>Private Kanäle</strong> bei mehreren Personen.</p>",
"sidebar.tutorialScreen2": "<h4>\"{townsquare}\" und \"{offtopic}\" Kanäle</h4><p>Hier sind zwei öffentliche Kanäle zum Start:</p><p><strong>{townsquare}</strong> ist ein Platz für Teamweite Kommunikation. Jeder in Ihrem Team ist ein Mitglied dieses Kanals.</p><p><strong>{offtopic}</strong> ist ein Platz fpr Spaß und Unterhaltungen außerhalb von arbeitsrelevanten Kanälen. Sie und Ihr Team können entscheiden welche weiteren Kanäle erstellt werden müssen.</p>",
"sidebar.tutorialScreen3": "<h4>Erstellen und Beitreten von Kanälen</h4><p>Klicken Sie auf <strong>\"Mehr...\"</strong> um einen neuen Kanal zu erstellen oder einem bestehenden beizutreten.</p><p>Sie können auch einen neuen Kanal über einen Klick auf das <strong>\"+\" Symbol</strong> neben der öffentlichen oder privaten Kanalüberschrift erstellen.</p>",
@@ -2044,6 +2050,9 @@
"sso_signup.length_error": "Der Name muss mindestens 3 bis 15 Zeichen enthalten",
"sso_signup.teamName": "Geben Sie den Namen des neuen Teams ein",
"sso_signup.team_error": "Bitte einen Teamnamen eingeben",
+ "status_dropdown.set_away": "Abwesend",
+ "status_dropdown.set_offline": "Offline",
+ "status_dropdown.set_online": "Online",
"suggestion.loading": "Lade...",
"suggestion.mention.all": "ACHTUNG: Dies erwähnt jeden im Kanal",
"suggestion.mention.channel": "Benachrichtigt jeden in diesem Kanal",
diff --git a/webapp/i18n/en.json b/webapp/i18n/en.json
index 9cb75648c..33d87ce01 100755
--- a/webapp/i18n/en.json
+++ b/webapp/i18n/en.json
@@ -1170,7 +1170,7 @@
"channel_switch_modal.dm": "(Direct Message)",
"channel_switch_modal.failed_to_open": "Failed to open channel.",
"quick_switch_modal.help": "Start typing then use TAB to toggle channels/teams, ↑↓ to browse, ↵ to select, and ESC to dismiss.",
- "quick_switch_modal.help_no_team": "Start typing then use ↑↓ to browse, ↵ to select, and ESC to dismiss.",
+ "quick_switch_modal.help_no_team": "Type to find a channel. Use ↑↓ to browse, ↵ to select, ESC to dismiss.",
"quick_switch_modal.channels": "Channels",
"quick_switch_modal.teams": "Teams",
"quick_switch_modal.teamsShortcut.mac": "- ⌘⌥K",
@@ -1692,6 +1692,7 @@
"mobile.account_notifications.threads_mentions": "Mentions in threads",
"mobile.account_notifications.threads_start": "Threads that I start",
"mobile.account_notifications.threads_start_participate": "Threads that I start or participate in",
+ "mobile.channel_drawer.search": "Jump to a conversation",
"mobile.channel_info.alertMessageDeleteChannel": "Are you sure you want to delete the {term} {name}?",
"mobile.channel_info.alertMessageLeaveChannel": "Are you sure you want to leave the {term} {name}?",
"mobile.channel_info.alertNo": "No",
@@ -1708,6 +1709,7 @@
"mobile.channel_list.closeGM": "Close Group Message",
"mobile.channel_list.dm": "Direct Message",
"mobile.channel_list.gm": "Group Message",
+ "mobile.channel_list.not_member": "NOT A MEMBER",
"mobile.channel_list.open": "Open {term}",
"mobile.channel_list.openDM": "Open Direct Message",
"mobile.channel_list.openGM": "Open Group Message",
@@ -1724,11 +1726,12 @@
"mobile.create_channel.private": "New Private Channel",
"mobile.create_channel.public": "New Public Channel",
"mobile.custom_list.no_results": "No Results",
+ "mobile.drawer.teamsTitle": "Teams",
"mobile.edit_post.title": "Editing Message",
"mobile.file_upload.camera": "Take Photo or Video",
"mobile.file_upload.library": "Photo Library",
"mobile.file_upload.more": "More",
- "mobile.file_upload.video": "Video Libary",
+ "mobile.file_upload.video": "Video Library",
"mobile.help.title": "Help",
"mobile.intro_messages.DM": "This is the start of your direct message history with {teammate}. Direct messages and files shared here are not shown to people outside this area.",
"mobile.intro_messages.default_message": "This is the first channel teammates see when they sign up - use it for posting updates everyone needs to know.",
@@ -1776,6 +1779,11 @@
"mobile.server_url.invalid_format": "URL must start with http:// or https://",
"mobile.session_expired": "Session Expired: Please log in to continue receiving notifications.",
"mobile.settings.team_selection": "Team Selection",
+ "modal.manaul_status.ask": "Do not ask me again",
+ "modal.manaul_status.button": "Yes, set my status to \"Online\"",
+ "modal.manaul_status.cancel": "No, keep it as \"{status}\"",
+ "modal.manaul_status.message": "Would you like to switch your status to \"Online\"?",
+ "modal.manaul_status.title": "Your status is set to \"{status}\"",
"more_channels.close": "Close",
"more_channels.create": "Create New Channel",
"more_channels.createClick": "Click 'Create New Channel' to make a new one",
@@ -1789,11 +1797,6 @@
"more_direct_channels.new_convo_note": "This will start a new conversation. If you’re adding a lot of people, consider creating a private channel instead.",
"more_direct_channels.new_convo_note.full": "You’ve reached the maximum number of people for this conversation. Consider creating a private channel instead.",
"more_direct_channels.title": "Direct Messages",
- "modal.manaul_status.title": "Your status is set to \"{status}\"",
- "modal.manaul_status.message": "Would you like to switch your status to \"Online\"?",
- "modal.manaul_status.button": "Yes, set my status to \"Online\"",
- "modal.manaul_status.cancel": "No, keep it as \"{status}\"",
- "modal.manaul_status.ask": "Do not ask me again",
"msg_typing.areTyping": "{users} and {last} are typing...",
"msg_typing.isTyping": "{user} is typing...",
"msg_typing.someone": "Someone",
@@ -1886,6 +1889,12 @@
"posts_view.loadMore": "Load more messages",
"posts_view.newMsg": "New Messages",
"posts_view.newMsgBelow": "New {count, plural, one {message} other {messages}} below",
+ "quick_switch_modal.channels": "Channels",
+ "quick_switch_modal.channelsShortcut.mac": "- ⌘K",
+ "quick_switch_modal.channelsShortcut.windows": "- CTRL+K",
+ "quick_switch_modal.teams": "Teams",
+ "quick_switch_modal.teamsShortcut.mac": "- ⌘⌥K",
+ "quick_switch_modal.teamsShortcut.windows": "- CTRL+ALT+K",
"reaction.clickToAdd": "(click to add)",
"reaction.clickToRemove": "(click to remove)",
"reaction.othersReacted": "{otherUsers, number} {otherUsers, plural, one {user} other {users}}",
@@ -2047,6 +2056,9 @@
"sso_signup.length_error": "Name must be 3 or more characters up to a maximum of 15",
"sso_signup.teamName": "Enter name of new team",
"sso_signup.team_error": "Please enter a team name",
+ "status_dropdown.set_away": "Away",
+ "status_dropdown.set_offline": "Offline",
+ "status_dropdown.set_online": "Online",
"suggestion.loading": "Loading...",
"suggestion.mention.all": "CAUTION: This mentions everyone in channel",
"suggestion.mention.channel": "Notifies everyone in the channel",
@@ -2459,8 +2471,5 @@
"webrtc.unmute_audio": "Unmute microphone",
"webrtc.unpause_video": "Turn on camera",
"webrtc.unsupported": "{username} client does not support video calls.",
- "youtube_video.notFound": "Video not found",
- "status_dropdown.set_online": "Online",
- "status_dropdown.set_away": "Away",
- "status_dropdown.set_offline": "Offline"
+ "youtube_video.notFound": "Video not found"
}
diff --git a/webapp/i18n/es.json b/webapp/i18n/es.json
index e702b6381..5995f7a64 100644
--- a/webapp/i18n/es.json
+++ b/webapp/i18n/es.json
@@ -746,7 +746,7 @@
"admin.service.sessionCacheDesc": "La cantidad de minutes que el cache de la sesión se guardará en memoria.",
"admin.service.sessionDaysEx": "Ej.: \"30\"",
"admin.service.siteURL": "URL del Sitio:",
- "admin.service.siteURLDescription": "La dirección URL, incluyendo el número de puerto y protocolo, que los usuarios utilizan para acceder a Mattermost. Este ajuste es necesario.",
+ "admin.service.siteURLDescription": "La dirección URL que los usuarios utilizan para acceder a Mattermost. Puertos estándar, como el 80 y 443, pueden ser omitidos, pero los puertos no estándar son necesarios. Por ejemplo: http://mattermost.example.com:8065. Este ajuste es necesario.",
"admin.service.siteURLExample": "Ej.: \"https://mattermost.example.com:1234\"",
"admin.service.ssoSessionDays": "Duración de la sesión para SSO (días):",
"admin.service.ssoSessionDaysDesc": "El número de días desde la última vez que un usuario ingreso sus credenciales para que la sesión del usuario expire. Si el método de autenticación es SAML o GitLab, el usuario puede iniciar su sesión automáticamente en Mattermost si ya cuenta con una sesión activa en SAML o GitLab. Luego de cambiar esta configuración, la nueva duración de la sesión tendrá efecto luego de la próxima vez que el usuario ingrese sus credenciales.",
@@ -1684,6 +1684,7 @@
"mobile.account_notifications.threads_mentions": "Menciones en hilos",
"mobile.account_notifications.threads_start": "Hilos que yo comience",
"mobile.account_notifications.threads_start_participate": "Hilos que yo comience o participe",
+ "mobile.channel_drawer.search": "Saltar a una conversación",
"mobile.channel_info.alertMessageDeleteChannel": "¿Seguro quieres abandonar el {term} {name}?",
"mobile.channel_info.alertMessageLeaveChannel": "¿Seguro quieres abandonar el {term} {name}?",
"mobile.channel_info.alertNo": "No",
@@ -1700,6 +1701,7 @@
"mobile.channel_list.closeGM": "Cerrar Mensaje de Grupo",
"mobile.channel_list.dm": "Mensaje Directo",
"mobile.channel_list.gm": "Mensaje de Grupo",
+ "mobile.channel_list.not_member": "NO MIEMBRO DE",
"mobile.channel_list.open": "Abrir {term}",
"mobile.channel_list.openDM": "Abrir Mensaje Directo",
"mobile.channel_list.openGM": "Abrir Mensaje de Grupo",
@@ -1716,6 +1718,7 @@
"mobile.create_channel.private": "Nuevo Canal Privado",
"mobile.create_channel.public": "Nuevo Canal Público",
"mobile.custom_list.no_results": "Sin resultados",
+ "mobile.drawer.teamsTitle": "Equipos",
"mobile.edit_post.title": "Editando Mensaje",
"mobile.file_upload.camera": "Sacar Foto o Vídeo",
"mobile.file_upload.library": "Librería de Fotos",
@@ -1768,6 +1771,11 @@
"mobile.server_url.invalid_format": "URL debe comenzar con http:// o https://",
"mobile.session_expired": "Sesión Caducada: Por favor, inicia sesión para seguir recibiendo notificaciones.",
"mobile.settings.team_selection": "Seleccionar Equipo",
+ "modal.manaul_status.ask": "No preguntarme de nuevo",
+ "modal.manaul_status.button": "Sí, asigna mi estatus como \"En línea\"",
+ "modal.manaul_status.cancel": "No, mantenerme como \"{status}\"",
+ "modal.manaul_status.message": "¿Quiere cambiar tu estado a \"En línea\"?",
+ "modal.manaul_status.title": "Tu estado es \"{status}\"",
"more_channels.close": "Cerrar",
"more_channels.create": "Crear Nuevo Canal",
"more_channels.createClick": "Haz clic en 'Crear Nuevo Canal' para crear uno nuevo",
@@ -1874,13 +1882,13 @@
"posts_view.newMsg": "Nuevos Mensajes",
"posts_view.newMsgBelow": "{count, plural, one {Nuevo mensaje} other {Nuevos mensajes}} ▼",
"quick_switch_modal.channels": "Canales",
- "quick_switch_modal.channelsShortcut.mac": "(CMD+K)",
- "quick_switch_modal.channelsShortcut.windows": "(CTRL+K)",
- "quick_switch_modal.help": "Usa la tecla TAB para alternar entre los equipos/canales, ↑↓ para navegar, ↵ para confirmar, ESC para descartar",
- "quick_switch_modal.help_no_team": "Escribe el nombre de un canal. Utiliza ↑↓ para navegar, ↵ para confirmar, ESC para descartar",
+ "quick_switch_modal.channelsShortcut.mac": "- ⌘K",
+ "quick_switch_modal.channelsShortcut.windows": "- CTRL+K",
+ "quick_switch_modal.help": "Comienza a escribir, a continuación, usa la tecla TAB para cambiar de canales/equipos, ↑↓ para navegar, ↵ para seleccionar, y ESC para descartar.",
+ "quick_switch_modal.help_no_team": "Comienza a escribir a continuación, utiliza ↑↓ para navegar, ↵ para seleccionar, y ESC para descartar.",
"quick_switch_modal.teams": "Equipos",
- "quick_switch_modal.teamsShortcut.mac": "(CMD+ALT+K)",
- "quick_switch_modal.teamsShortcut.windows": "(CTRL+ALT+K)",
+ "quick_switch_modal.teamsShortcut.mac": "- ⌘⌥K",
+ "quick_switch_modal.teamsShortcut.windows": "- CTRL+ALT+K",
"reaction.clickToAdd": "(clic para agregar)",
"reaction.clickToRemove": "(clic para quitar)",
"reaction.othersReacted": "{otherUsers, number} {otherUsers, plural, one {usuario} other {usuarios}}",
@@ -1971,8 +1979,6 @@
"sidebar.otherMembers": "Fuera de este equipo",
"sidebar.pg": "Canales Privados",
"sidebar.removeList": "Remover de la lista",
- "sidebar.switch_channels": "Cambiar Canales (CTRL + K)",
- "sidebar.switch_channels.mac": "Cambiar Canales (CMD + K)",
"sidebar.tutorialScreen1": "<h4>Canales</h4><p><strong>Canales</strong> organizan las conversaciones en diferentes tópicos. Son abiertos para cualquier persona de tu equipo. Para enviar comunicaciones privadas con una sola persona utiliza <strong>Mensajes Directos</strong> o con multiples personas utilizando <strong>Canales Privados</strong>.</p>",
"sidebar.tutorialScreen2": "<h4>Los canal \"{townsquare}\" y \"{offtopic}\"</h4><p>Estos son dos canales para comenzar:</p><p><strong>{townsquare}</strong> es el lugar para tener comunicación con todo el equipo. Todos los integrantes de tu equipo son miembros de este canal.</p><p><strong>{offtopic}</strong> es un lugar para diversión y humor fuera de los canales relacionados con el trabajo. Tu y tu equipo pueden decidir que otros canales crear.</p>",
"sidebar.tutorialScreen3": "<h4>Creando y Uniéndose a Canales</h4><p>Haz clic en <strong>\"Más...\"</strong> para crear un nuevo canal o unirte a uno existente.</p><p>También puedes crear un nuevo canal al hacer clic en el símbolo de <strong>\"+\"</strong> que se encuentra al lado del encabezado de canales públicos o privados.</p>",
@@ -2044,6 +2050,9 @@
"sso_signup.length_error": "Name must be 3 or more characters up to a maximum of 15",
"sso_signup.teamName": "Ingresa el nombre del nuevo equipo",
"sso_signup.team_error": "Please enter a team name",
+ "status_dropdown.set_away": "Ausente",
+ "status_dropdown.set_offline": "Desconectado",
+ "status_dropdown.set_online": "En línea",
"suggestion.loading": "Cargando...",
"suggestion.mention.all": "PRECAUCIÓN: Esto menciona a todos los usuarios en el canal",
"suggestion.mention.channel": "Notifica a todas las personas en el canal",
diff --git a/webapp/i18n/fr.json b/webapp/i18n/fr.json
index 90f2249df..d7a666213 100644
--- a/webapp/i18n/fr.json
+++ b/webapp/i18n/fr.json
@@ -95,11 +95,11 @@
"add_incoming_webhook.doneHelp": "Votre webhook entrant est installé. Vous pouvez envoyer des données a l'URL suivante (voir la <a href=\"https://docs.mattermost.com/developer/webhooks-incoming.html\">documentation</a> pour plus de détails).",
"add_incoming_webhook.name": "Nom",
"add_incoming_webhook.save": "Enregistrer",
- "add_incoming_webhook.url": "<b>URL</b>: {url}",
+ "add_incoming_webhook.url": "<b>URL</b> : {url}",
"add_oauth_app.callbackUrls.help": "Les URIs de redirection vers lesquelles le service dirigera les utilisateurs après avoir accepté ou refusé l'autorisation de votre application, et qui géreront les codes d'autorisation ou les jeton d'accès. Doit être une URL valide commençant par http:// ou https://.",
"add_oauth_app.callbackUrlsRequired": "Saisissez une ou plusieurs URL de callback",
- "add_oauth_app.clientId": "<b>Identifiant Client</b>: {id}",
- "add_oauth_app.clientSecret": "<b>Clé secrète du client</b>: {secret}",
+ "add_oauth_app.clientId": "<b>Identifiant Client</b> : {id}",
+ "add_oauth_app.clientSecret": "<b>Clé secrète du client</b> : {secret}",
"add_oauth_app.description.help": "Description pour votre application OAuth 2.0.",
"add_oauth_app.descriptionRequired": "Une description pour votre application OAuth 2.0 est requise.",
"add_oauth_app.doneHelp": "Votre application OAuth 2.0 a été mise en place. Veuillez utiliser l'identifiant et la clé secrète client lors de la demande d'autorisation pour votre application (voir la <a href=\"https://docs.mattermost.com/developer/oauth-2-0-applications.html\">documentation</a> pour plus de détails).",
@@ -111,7 +111,7 @@
"add_oauth_app.name.help": "Nom d'affichage pour votre application OAuth 2.0, avec un maximum de 64 caractères.",
"add_oauth_app.nameRequired": "Le nom pour l'application OAuth 2.0 est requis.",
"add_oauth_app.trusted.help": "Si activé, l'application OAuth 2.0 est considérée comme étant de confiance par le serveur Mattermost et ne requerra pas l'approbation de l'utilisateur. Si désactivé, une fenêtre additionnelle apparaîtra, demandant à l'utilisateur d'accepter ou de refuser son autorisation.",
- "add_oauth_app.url": "<b>URL(s)</b>: {url}",
+ "add_oauth_app.url": "<b>URL(s)</b> : {url}",
"add_outgoing_webhook.callbackUrls": "URLs de rappel (une par ligne)",
"add_outgoing_webhook.callbackUrls.help": "L'URL à laquelle les messages seront envoyés.",
"add_outgoing_webhook.callbackUrlsRequired": "Une ou plusieurs URLs de rappel sont requises",
@@ -129,7 +129,7 @@
"add_outgoing_webhook.doneHelp": "Votre webhook sortant est en place. Le token suivant sera envoyé dans le payload sortant. Utilisez-le pour vérifier que la requête provienne bien de votre équipe Mattermost (voir la <a href=\"https://docs.mattermost.com/developer/webhooks-outgoing.html\">docuementation</a> pour plus de détails).",
"add_outgoing_webhook.name": "Nom",
"add_outgoing_webhook.save": "Enregistrer",
- "add_outgoing_webhook.token": "<b>Token</b>: {token}",
+ "add_outgoing_webhook.token": "<b>Token</b> : {token}",
"add_outgoing_webhook.triggerWords": "Mot-clé (Un par ligne)",
"add_outgoing_webhook.triggerWords.help": "Les messages qui débutent par un des mots spécifiés vont déclencher le webhook sortant. Optionnel si Canal est sélectionné.",
"add_outgoing_webhook.triggerWordsOrChannelRequired": "Un canal valide ou une liste de mot-clés est requise",
@@ -192,7 +192,7 @@
"admin.compliance_reports.run": "Exécuter",
"admin.compliance_reports.title": "Rapports de conformité",
"admin.compliance_reports.to": "À :",
- "admin.compliance_reports.to_placeholder": "Ex : \"2016-03-15\"",
+ "admin.compliance_reports.to_placeholder": "Ex. : \"2016-03-15\"",
"admin.compliance_table.desc": "Description",
"admin.compliance_table.download": "Télécharger",
"admin.compliance_table.params": "Paramètres",
@@ -220,7 +220,7 @@
"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.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",
@@ -229,7 +229,7 @@
"admin.customization.restrictCustomEmojiCreationAll": "Permettre à tout le monde de créer des Emoji personnalisés",
"admin.customization.restrictCustomEmojiCreationDesc": "N'autoriser la création d'Emoji personnalisés qu'à certains utilisateurs.",
"admin.customization.restrictCustomEmojiCreationSystemAdmin": "Seuls les administrateurs peuvent créer des Emoji personnalisés",
- "admin.customization.restrictCustomEmojiCreationTitle": "Restreindre la création d'Emoji personnalisés:",
+ "admin.customization.restrictCustomEmojiCreationTitle": "Restreindre la création d'Emoji personnalisés :",
"admin.customization.support": "Mentions légales",
"admin.database.title": "Paramètres de base de données",
"admin.developer.title": "Paramètres de développement",
@@ -257,7 +257,7 @@
"admin.email.mhpnsHelp": "Téléchargez l'<a href=\"https://itunes.apple.com/us/app/mattermost/id984966508?mt=8\" target=\"_blank\">application iOS Mattermost</a> depuis iTunes. Téléchargez l'<a href=\"https://play.google.com/store/apps/details?id=com.mattermost.mattermost&hl=en\" target=\"_blank\">application Android Mattermost</a> depuis le Google Play. Apprenez-en plus sur <a href=\"http://docs.mattermost.com/deployment/push.html#hosted-push-notifications-service-hpns\" target=\"_blank\">HPNS</a>.",
"admin.email.mtpns": "Utilisez iOS et Android sur iTunes et Google Play avec TPNS",
"admin.email.mtpnsHelp": "Téléchargez l'<a href=\"https://itunes.apple.com/us/app/mattermost/id984966508?mt=8\" target=\"_blank\">application iOS Mattermost</a> depuis iTunes. Téléchargez l'<a href=\"https://play.google.com/store/apps/details?id=com.mattermost.mattermost&hl=en\" target=\"_blank\">application Android Mattermost</a> depuis le Google Play. Apprenez-en plus sur <a href=\"http://docs.mattermost.com/deployment/push.html#test-push-notifications-service-tpns\" target='_blank'>TPNS</a>.",
- "admin.email.nofificationOrganizationExample": "Ex.: \"© 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 :",
@@ -319,19 +319,19 @@
"admin.general.localization.serverLocaleTitle": "Langue par défaut du serveur :",
"admin.general.log": "Journalisation",
"admin.general.policy": "Règles",
- "admin.general.policy.allowBannerDismissalDesc": "When true, users can dismiss the banner until its next update. When false, the banner is permanently visible until it is turned off by the System Admin.",
- "admin.general.policy.allowBannerDismissalTitle": "Allow Banner Dismissal:",
+ "admin.general.policy.allowBannerDismissalDesc": "Lorsqu'activé, les utilisateurs peuvent cacher la bannière jusqu'à la prochaine modification apportée à celle-ci. Lorsque désactivé, la bannière restera visible de façon permanente tant qu'elle n'est pas désactivée par l'administrateur système.",
+ "admin.general.policy.allowBannerDismissalTitle": "Autoriser la fermeture de la bannière :",
"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": "secondes après publication",
"admin.general.policy.allowEditPostTitle": "Autoriser des utilisateurs à éditer leurs messages :",
- "admin.general.policy.bannerColorTitle": "Banner Color:",
- "admin.general.policy.bannerTextColorTitle": "Banner Text Color:",
- "admin.general.policy.bannerTextDesc": "Text that will appear in the announcement banner.",
- "admin.general.policy.bannerTextTitle": "Banner Text:",
- "admin.general.policy.enableBannerDesc": "Enable an announcement banner across all teams.",
- "admin.general.policy.enableBannerTitle": "Enable Announcement Banner:",
+ "admin.general.policy.bannerColorTitle": "Couleur de la bannière :",
+ "admin.general.policy.bannerTextColorTitle": "Couleur du texte de la bannière :",
+ "admin.general.policy.bannerTextDesc": "Le texte qui apparaîtra comme bannière d'annonce.",
+ "admin.general.policy.bannerTextTitle": "Texte de la bannière :",
+ "admin.general.policy.enableBannerDesc": "Activer une bannière d'annonce dans toutes les équipes.",
+ "admin.general.policy.enableBannerTitle": "Activer la bannière d'annonce :",
"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",
@@ -507,8 +507,8 @@
"admin.ldap.usernameAttrTitle": "Attribut \"nom d'utilisateur\" :",
"admin.license.choose": "Parcourir",
"admin.license.chooseFile": "Parcourir",
- "admin.license.edition": "Edition: ",
- "admin.license.key": "Clé de licence: ",
+ "admin.license.edition": "Edition : ",
+ "admin.license.key": "Clé de licence : ",
"admin.license.keyRemove": "Supprimer la licence Entreprise et rétrograder le serveur",
"admin.license.noFile": "Aucun fichier chargé",
"admin.license.removing": "Suppression de la licence...",
@@ -553,13 +553,13 @@
"admin.mfa.bannerDesc": "L'<a href='https://docs.mattermost.com/deployment/auth.html' target='_blank'>authentification multi-facteurs (MFA)</a> 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.administratorsGuide": "Administrator's Guide",
- "admin.nav.commercialSupport": "Commercial Support",
+ "admin.nav.administratorsGuide": "Guide de l'administrateur",
+ "admin.nav.commercialSupport": "Support commercial",
"admin.nav.help": "Aide",
"admin.nav.logout": "Se déconnecter",
"admin.nav.report": "Signaler un problème",
"admin.nav.switch": "Sélection de l'équipe",
- "admin.nav.troubleshootingForum": "Troubleshooting Forum",
+ "admin.nav.troubleshootingForum": "Forum de dépannage",
"admin.notifications.email": "Adresse e-mail",
"admin.notifications.push": "notifications Push sur mobile",
"admin.notifications.title": "Paramètres de notification",
@@ -731,7 +731,7 @@
"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": "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.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.",
"admin.service.outWebhooksDesc": "Si activé, les webhooks sortants seront autorisés. Consultez la <a href='http://docs.mattermost.com/developer/webhooks-outgoing.html' target='_blank'>documentation</a> pour en apprendre davantage.",
@@ -746,7 +746,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 protocole, que les utilisateurs vont utiliser pour accéder à Mattermost. Ce paramètre est requis.",
+ "admin.service.siteURLDescription": "L'URL que les utilisateurs vont utiliser pour accéder à Mattermost. Les ports standards comme 80 ou 443 peuvent être omis, mais les ports non standards sont requis. Par exemple : http://mattermost.example.com:8065. Ce paramètre est requis.",
"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.",
@@ -832,24 +832,24 @@
"admin.sql.maxOpenTitle": "Nombre max. de connexions ouvertes :",
"admin.sql.noteDescription": "Modifier ces paramètres nécessite de redémarrer le serveur.",
"admin.sql.noteTitle": "Remarque :",
- "admin.sql.queryTimeoutDescription": "The number of seconds to wait for a response from the database after opening a connection and sending the query. Errors that you see in the UI or in the logs as a result of a query timeout can vary depending on the type of query. This setting has no effect on PostgreSQL databases.",
+ "admin.sql.queryTimeoutDescription": "Le nombre de secondes à attendre une réponse de la base de données après avoir ouvert la connexion et avoir envoyé la requête. Les erreurs que vous voyez dans l'interface graphique ou dans les fichiers journaux du résultat de ce délai d'attente peuvent varier selon le type de quête. Ce paramètre n'a pas effet sur les bases de données PostgreSQL.",
"admin.sql.queryTimeoutExample": "Ex. : \"30\"",
- "admin.sql.queryTimeoutTitle": "Query Timeout:",
+ "admin.sql.queryTimeoutTitle": "Délai d'attente de la requête :",
"admin.sql.replicas": "Replicas de la base de données :",
"admin.sql.traceDescription": "(Mode développeur) Si activé, toutes les commandes SQL sont enregistrées dans le journal.",
"admin.sql.traceTitle": "Tracer : ",
"admin.sql.warning": "Attention : Ré-générer cette clé de salage peut provoquer des valeurs vides dans certaines colonnes de la base de données.",
- "admin.support.aboutDesc": "The URL for the About link on the Mattermost login and sign-up pages. If this field is empty, the About link is hidden from users.",
+ "admin.support.aboutDesc": "L'URL du lien A propos sur les pages de connexion et d'enregistrement de Mattermost. Si ce champ est laissé vide, le lien sera masqué pour les utilisateurs.",
"admin.support.aboutTitle": "Lien \"À propos\" :",
"admin.support.emailHelp": "Adresse e-mail qui apparaît sur les notifications envoyées par e-mail mais également au cours du tutoriel pour permettre aux utilisateurs de poser des questions.",
"admin.support.emailTitle": "Adresse e-mail de support :",
- "admin.support.helpDesc": "The URL for the Help link on the Mattermost login page, sign-up pages, and Main Menu. If this field is empty, the Help link is hidden from users.",
+ "admin.support.helpDesc": "L'URL du lien d'Aide sur les pages de connexion et d'enregistrement ainsi que sur le menu principal de Mattermost. Si ce champ est laissé vide, le lien sera masqué pour les utilisateurs.",
"admin.support.helpTitle": "Lien d'aide :",
"admin.support.noteDescription": "Si vous faites un lien vers un site externe, les URLs doivent commencer par http:// ou https://.",
"admin.support.noteTitle": "Remarque :",
- "admin.support.privacyDesc": "The URL for the Privacy link on the login and sign-up pages. If this field is empty, the Privacy link is hidden from users.",
+ "admin.support.privacyDesc": "L'URL vers la politique de confidentialité sur les pages de connexion et d'enregistrement. Si ce champ est laissé vide, le lien sera masqué pour les utilisateurs.",
"admin.support.privacyTitle": "Lien vers la politique de confidentialité :",
- "admin.support.problemDesc": "The URL for the Report a Problem link in the Main Menu. If this field is empty, the link is removed from the Main Menu.",
+ "admin.support.problemDesc": "L'URL vers la page de signalement de problèmes dans le menu principal. Si ce champ est laissé vide, le lien sera masqué pour les utilisateurs.",
"admin.support.problemTitle": "Lien \"Signaler un problème\" :",
"admin.support.termsDesc": "Lien vers les conditions sous lesquelles les utilisateurs utiliseront votre service. Par défaut, cela inclut les \"Conditions d'Utilisation Mattermost (Utilisateurs Finaux)\" expliquant le termes selon lesquels l'application Mattermost est proposée aux utilisateurs finaux. Si vous changez le lien par défaut pour ajouter vos propres conditions d'utilisation du service que vous proposez, elles devront inclure un lien vers les conditions par défaut pour que les utilisateurs finaux aient connaissance des Conditions d'Utilisation Mattermost (Utilisateurs Finaux) pour l'application Mattermost.",
"admin.support.termsTitle": "Lien \"Conditions d'utilisation\" :",
@@ -881,7 +881,7 @@
"admin.team.maxUsersTitle": "Nombre max. d'utilisateurs par équipe :",
"admin.team.noBrandImage": "Pas de nouvelle image a télécharger",
"admin.team.openServerDescription": "Si activé, tout le monde peut s’enregistrer pour un compte d'utilisateur sur ce serveur sans qu'il soit nécessaire d'être invité.",
- "admin.team.openServerTitle": "Activé le serveur ouvert: ",
+ "admin.team.openServerTitle": "Activer Open Server : ",
"admin.team.restrictDescription": "Les équipes et comptes utilisateur ne peuvent être créés que depuis un domaine spécifique (par ex. \"mattermost.org\") ou une liste de domaines séparés par des virgules (ex \"corp.mattermost.com, mattermost.org\").",
"admin.team.restrictDirectMessage": "Permettre aux utilisateurs d'ouvrir des canaux de message avec :",
"admin.team.restrictDirectMessageDesc": "‘Tout utilisateur sur le serveur Mattermost' permet aux utilisateurs d' ouvrir un canal de message direct avec un utilisateur sur le serveur, même si elles ne sont pas sur les équipes. ‘Tout membre de l'équipe’ limite la capacité d'ouvrir des canaux de messages directs aux seuls utilisateurs qui sont dans la même équipe.",
@@ -911,7 +911,7 @@
"admin.user_item.confirmDemoteRoleTitle": "Confirmez le retrait de votre rôle d'administrateur",
"admin.user_item.confirmDemotion": "Confirmer le retrait",
"admin.user_item.confirmDemotionCmd": "Rôle au sein de la plateforme system_admin {username}",
- "admin.user_item.emailTitle": "<strong>E-mail:</strong> {email}",
+ "admin.user_item.emailTitle": "<strong>E-mail :</strong> {email}",
"admin.user_item.inactive": "Inactif",
"admin.user_item.makeActive": "Activer",
"admin.user_item.makeInactive": "Désactiver",
@@ -940,13 +940,13 @@
"admin.webrtc.gatewayWebsocketUrlTitle": "URL de la passerelle WebSocket :",
"admin.webrtc.stunUriDescription": "Spécifiez votre URI STUN sous la forme stun:<your-stun-url>:<port>. 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": "URI STUN:",
+ "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:<your-turn-url>:<port>. 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 :",
@@ -1262,7 +1262,7 @@
"delete_post.post": "Message",
"delete_post.question": "Voulez-vous vraiment supprimer ce {term} ?",
"delete_post.warning": "Ce message a {count} commentaire(s).",
- "edit_channel_header.editHeader": "Edit the Channel Header...",
+ "edit_channel_header.editHeader": "Modifier l'entête du canal...",
"edit_channel_header.previewHeader": "Modifier l'entête",
"edit_channel_header_modal.cancel": "Annuler",
"edit_channel_header_modal.description": "Modifiez le texte affiché à côté du nom du canal dans l'entête du canal.",
@@ -1416,7 +1416,7 @@
"help.attaching.publicLinks": "#### Partager des liens publics\nLes liens publics vous permettent de partager des fichiers joints avec des personnes situées à l'extérieur de votre équipe Mattermost. Ouvrez l'aperçu de fichier en cliquant sur la miniature d'un fichier joint, et cliquez sur **Obtenir le lien public**. Ceci va ouvrir une boîte de dialogue avec un lien à copier. Lorsque le lien est partagé et est ouvert par un autre utilisateur, le fichier se télécharge automatiquement.",
"help.attaching.publicLinks2": "Si **Obtenir le lien public** n'est pas visible dans l'aperçu de fichier et que vous préférez avoir cette fonctionnalité active, vous pouvez demander à ce que votre administrateur système active cette fonctionnalité à partir de la Console Système dans **Sécurité** > **Liens publics**.",
"help.attaching.supported": "#### Types de média supportés\nSi vous essayez de prévisualiser un type de média qui n'est pas supporté, l'aperçu de fichier va représenter le fichier joint sous forme d'une icône standard. Les formats de fichier supportés dépendent fortement de votre navigateur et de votre système d'exploitation, mais les formats de fichier suivants sont supportés par Mattermost sur la plupart des navigateurs :",
- "help.attaching.supportedList": "- Images: BMP, GIF, JPG, JPEG, PNG\n- Video: MP4\n- Audio: MP3, M4A\n- Documents: PDF",
+ "help.attaching.supportedList": "- Images : BMP, GIF, JPG, JPEG, PNG\n- Video : MP4\n- Audio : MP3, M4A\n- Documents : PDF",
"help.attaching.title": "# Joindre des fichiers\n_____",
"help.commands.builtin": "## Commandes intégrées\nLes commandes slash suivantes sont disponibles sur toutes les installations de Mattermost :",
"help.commands.builtin2": "Commencez par taper `/` et une liste de commandes slash vont apparaître au-dessus de la zone de saisie. Les suggestions de saisie semi-automatique vous aident en fournissant un exemple de format en noir et une courte description de la commande slash en gris.",
@@ -1463,7 +1463,7 @@
"help.formatting.solirizedDarkTheme": "**Thème Solarized Dark**",
"help.formatting.solirizedLightTheme": "**Thème Solarized Light**",
"help.formatting.style": "## Style de texte\n\nVous pouvez utiliser `_` ou `*` autour d'un mot pour le mettre en italique. Utilisez deux de ces caractères consécutivement pour le mettre en gras.\n\n* `_italique_` est rendu _italique_\n* `**gras**` est rendu **gras**\n* `**_gras-italique_**` est rendu **_gras-italiques_**\n* `~~barré~~` est rendu ~~barré~~",
- "help.formatting.supportedSyntax": "Langues prises en charge sont:\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.supportedSyntax": "Langues prises en charge sont :\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": "### Coloration syntaxique\n\nPour ajouter la coloration syntaxique, tapez le nom du langage à colorier après ``` au début du bloc de code. Mattermost fournit également quatre thèmes de code différents (GitHub, Solarized Dark, Solarized Light, Monokai) qui peuvent être définis dans **Paramètres du compte** > **Affichage** > **Thème** > **Thème personnalisé** > **Styles du canal central**",
"help.formatting.syntaxEx": " package main\n import \"fmt\"\n func main() {\n fmt.Println(\"Hello, 世界\")\n }",
"help.formatting.tableExample": "| Aligné à gauche | Centré | Aligné à droite |\n| :------------ |:---------------:| -----:|\n| Colonne de gauche 1 | ce texte | $100 |\n| Colonne de gauche 2 | est | 10 $|\n| Colonne de gauche 3 | centré | $1 |",
@@ -1644,7 +1644,7 @@
"login.session_expired": " Votre session a expiré. Merci de vous reconnecter.",
"login.signIn": "Connexion",
"login.signInLoading": "Authentification en cours...",
- "login.signInWith": "Se connecter avec:",
+ "login.signInWith": "Se connecter avec :",
"login.userNotFound": "Nous ne trouvons aucun compte correspondants a vos identifiants de connexions.",
"login.username": "Nom d'utilisateur",
"login.verified": " Adresse e-mail vérifiée",
@@ -1684,6 +1684,7 @@
"mobile.account_notifications.threads_mentions": "Mentions dans les fils de discussion",
"mobile.account_notifications.threads_start": "Fils de discussion que je démarre",
"mobile.account_notifications.threads_start_participate": "Fils de discussion que je démarre ou auxquels je participe",
+ "mobile.channel_drawer.search": "Aller à la conversation",
"mobile.channel_info.alertMessageDeleteChannel": "Voulez-vous vraiment supprimer le {term} {name} ?",
"mobile.channel_info.alertMessageLeaveChannel": "Voulez-vous vraiment quitter le {term} {name} ?",
"mobile.channel_info.alertNo": "Non",
@@ -1700,12 +1701,13 @@
"mobile.channel_list.closeGM": "Fermer le groupe de message",
"mobile.channel_list.dm": "Message privé",
"mobile.channel_list.gm": "Message de groupe",
+ "mobile.channel_list.not_member": "PAS UN MEMBRE",
"mobile.channel_list.open": "Ouvrir {term}",
"mobile.channel_list.openDM": "Ouvrir le message privé",
"mobile.channel_list.openGM": "Ouvrir le message de groupe",
"mobile.channel_list.privateChannel": "Canal privé",
"mobile.channel_list.publicChannel": "Canal public",
- "mobile.channel_list.unreads": "UNREADS",
+ "mobile.channel_list.unreads": "NON LUS",
"mobile.components.channels_list_view.yourChannels": "Vos canaux :",
"mobile.components.error_list.dismiss_all": "Annuler tout",
"mobile.components.select_server_view.continue": "Continuer",
@@ -1716,11 +1718,12 @@
"mobile.create_channel.private": "Nouveau canal privé",
"mobile.create_channel.public": "Nouveau canal public",
"mobile.custom_list.no_results": "Aucun résultat",
+ "mobile.drawer.teamsTitle": "Équipes",
"mobile.edit_post.title": "Edition du message",
"mobile.file_upload.camera": "Prendre une photo ou une vidéo",
"mobile.file_upload.library": "Bibliothèque de photos",
"mobile.file_upload.more": "Plus…",
- "mobile.file_upload.video": "Video Libary",
+ "mobile.file_upload.video": "Bibliothèque vidéos",
"mobile.help.title": "Aide",
"mobile.intro_messages.DM": "Vous êtes au début de votre historique de messages avec {teammate}. Les messages privés et les fichiers partagés ici ne sont pas visibles par les autres utilisateurs.",
"mobile.intro_messages.default_message": "Il s'agit du premier canal que les utilisateurs voient lorsqu'ils s'inscrivent. Utilisez-le pour poster des informations que tout le monde devrait connaître.",
@@ -1729,7 +1732,7 @@
"mobile.loading_members": "Chargement des membres...",
"mobile.loading_posts": "Chargement des messages...",
"mobile.login_options.choose_title": "Choisissez votre méthode de connexion",
- "mobile.notification.in": " in ",
+ "mobile.notification.in": " dans ",
"mobile.offlineIndicator.connected": "Connecté",
"mobile.offlineIndicator.connecting": "Connexion en cours...",
"mobile.offlineIndicator.offline": "Aucune connexion internet",
@@ -1766,8 +1769,13 @@
"mobile.select_team.join_open": "Les autres équipes que vous pouvez rejoindre.",
"mobile.server_ping_failed": "Impossible de se connecter au serveur. Veuillez vérifier l'URL de votre serveur et votre connexion internet.",
"mobile.server_url.invalid_format": "L'URL doit commencer par http:// ou https://",
- "mobile.session_expired": "Session Expired: Please log in to continue receiving notifications.",
+ "mobile.session_expired": "La session a expiré. Veuillez vous connecter pour continuer à recevoir les notifications.",
"mobile.settings.team_selection": "Sélection d'équipe",
+ "modal.manaul_status.ask": "Ne plus me demander",
+ "modal.manaul_status.button": "Oui, définir mon état en \"En ligne\"",
+ "modal.manaul_status.cancel": "Non, conserver mon état \"{status}\"",
+ "modal.manaul_status.message": "Voulez-vous changer votre statut sur \"En ligne\"?",
+ "modal.manaul_status.title": "Votre statut est défini sur \"{status}\"",
"more_channels.close": "Fermer",
"more_channels.create": "Créer un nouveau canal",
"more_channels.createClick": "Veuillez cliquer sur \"Créer un nouveau canal\" pour en créer un nouveau",
@@ -1826,9 +1834,9 @@
"navbar_dropdown.teamSettings": "Paramètres d'équipe",
"navbar_dropdown.viewMembers": "Voir les membres",
"notification.dm": "Message privé",
- "notify_all.confirm": "Confirm",
- "notify_all.question": "By using @all or @channel you are about to send notifications to {totalMembers} people. Are you sure you want to do this?",
- "notify_all.title.confirm": "Confirm sending notifications to entire channel",
+ "notify_all.confirm": "Confirmer",
+ "notify_all.question": "En utilisant @all ou @channel que vous êtes sur le point d'envoyer des notifications à {totalMembers} personnes. Voulez-vous vraiment continuer ?",
+ "notify_all.title.confirm": "Confirmez l'envoi de notifications au canal entier",
"passwordRequirements": "Pré-requis du mot de passe :",
"password_form.change": "Modifier mon mot de passe",
"password_form.click": "Veuillez cliquer <a href={url}>ici</a> pour vous connecter.",
@@ -1874,13 +1882,13 @@
"posts_view.newMsg": "Nouveaux messages",
"posts_view.newMsgBelow": "{count, plural, one {Nouveau message} other {Nouveaux messages}} ci-dessous",
"quick_switch_modal.channels": "Canaux",
- "quick_switch_modal.channelsShortcut.mac": "(CMD+K)",
- "quick_switch_modal.channelsShortcut.windows": "(CTRL+K)",
- "quick_switch_modal.help": "Use TAB to toggle between teams/channels, ↑↓ to browse, ↵ to confirm, ESC to dismiss",
- "quick_switch_modal.help_no_team": "Saisissez le nom du canal. Utilisez ↑ ↓ pour parcourir, TAB pour sélectionner, ↵ pour confirmer, ESC pour annuler",
- "quick_switch_modal.teams": "Termes",
- "quick_switch_modal.teamsShortcut.mac": "(CMD+ALT+K)",
- "quick_switch_modal.teamsShortcut.windows": "(CTRL+ALT+K)",
+ "quick_switch_modal.channelsShortcut.mac": "- ⌘K",
+ "quick_switch_modal.channelsShortcut.windows": "- CTRL+K",
+ "quick_switch_modal.help": "Commencez à taper, puis utilisez la touche TAB pour basculer entre les canaux/équipes, ↑↓ pour parcourir, ↵ pour sélectionner et la touche ESC pour annuler.",
+ "quick_switch_modal.help_no_team": "Commencez à taper, puis utilisez les flèches ↑↓ pour parcourir, ↵ pour sélectionner et la touche ESC pour annuler.",
+ "quick_switch_modal.teams": "Équipes",
+ "quick_switch_modal.teamsShortcut.mac": "- ⌘⌥K",
+ "quick_switch_modal.teamsShortcut.windows": "- CTRL+ALT+K",
"reaction.clickToAdd": "(cliquez pour ajouter)",
"reaction.clickToRemove": "(cliquez pour supprimer)",
"reaction.othersReacted": "{otherUsers, number} {otherUsers, plural, one {user} other {users}}",
@@ -1971,8 +1979,6 @@
"sidebar.otherMembers": "En dehors de l’équipe",
"sidebar.pg": "Canaux privés",
"sidebar.removeList": "Retirer de la liste",
- "sidebar.switch_channels": "Switch Channels (CTRL + K)",
- "sidebar.switch_channels.mac": "Switch Channels (CMD + K)",
"sidebar.tutorialScreen1": "<h4>Canaux</h4><p><strong>Les canaux</strong> organisent les conversations en sujets distincts. Ils sont ouverts à tous les utilisateurs de votre équipe. Pour envoyer des messages privés, utilisez <strong>Messages privés</strong> pour une personne ou des <strong>Canaux privés</strong> pour plusieurs personnes.</p>",
"sidebar.tutorialScreen2": "<h4>Canaux \"{townsquare}\" et \"{offtopic}\"</h4><p>Voici deux canaux publics pour commencer :</p><p><strong>{townsquare}</strong> est l'endroit idéal pour communiquer avec toute l'équipe. Tous les membres de votre équipe sont membres de ce canal.</p><p><strong>{offtopic}</strong> (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.</p>",
"sidebar.tutorialScreen3": "<h4>Créer et rejoindre des canaux</h4><p>Cliquez sur <strong>\"Plus...\"</strong> pour créer un nouveau canal ou rejoindre un canal existant.</p><p>Vous pouvez aussi créer un nouveau canal ou un groupe privé en cliquant sur le symbole <strong>\"+\"</strong> à côté du nom du canal public ou privé.</p>",
@@ -2044,8 +2050,11 @@
"sso_signup.length_error": "Le nom doit contenir de 3 à 15 caractères",
"sso_signup.teamName": "Entrez le nom de votre nouvelle équipe",
"sso_signup.team_error": "Veuillez spécifier le nom de votre équipe",
+ "status_dropdown.set_away": "Absent",
+ "status_dropdown.set_offline": "Hors ligne",
+ "status_dropdown.set_online": "En ligne",
"suggestion.loading": "Chargement…",
- "suggestion.mention.all": "ATTENTION: Ceci mentionne tout le monde dans le canal",
+ "suggestion.mention.all": "ATTENTION : Ceci mentionne tout le monde dans le canal",
"suggestion.mention.channel": "Notifier tout le monde dans le canal",
"suggestion.mention.channels": "Mes canaux",
"suggestion.mention.here": "Notifier toutes les personnes connectées dans ce canal",
@@ -2285,7 +2294,7 @@
"user.settings.modal.security": "Sécurité",
"user.settings.modal.title": "Paramètres du compte",
"user.settings.notifications.allActivity": "Pour toute l'activité",
- "user.settings.notifications.channelWide": "Mentions globales \"@channel\", \"@all\"",
+ "user.settings.notifications.channelWide": "Mentions globales au canal \"@channel\", \"@all\", \"@here\"",
"user.settings.notifications.close": "Quitter",
"user.settings.notifications.comments": "Notifications de réponse",
"user.settings.notifications.commentsAny": "Recevoir des notifications sur les messages de fils de réponse que je débute ou dans lesquels je participe",
diff --git a/webapp/i18n/ja.json b/webapp/i18n/ja.json
index 5a53e9a44..fa9bf5b2d 100644
--- a/webapp/i18n/ja.json
+++ b/webapp/i18n/ja.json
@@ -319,19 +319,19 @@
"admin.general.localization.serverLocaleTitle": "デフォルトのサーバー言語:",
"admin.general.log": "ログ",
"admin.general.policy": "ポリシー",
- "admin.general.policy.allowBannerDismissalDesc": "When true, users can dismiss the banner until its next update. When false, the banner is permanently visible until it is turned off by the System Admin.",
- "admin.general.policy.allowBannerDismissalTitle": "Allow Banner Dismissal:",
+ "admin.general.policy.allowBannerDismissalDesc": "有効な場合、ユーザーは次のアップデートまでバナーを非表示にできます。無効な場合、バナーはシステム管理者によってオフにされるまで表示され続けます。",
+ "admin.general.policy.allowBannerDismissalTitle": "バナーの非表示を許可する:",
"admin.general.policy.allowEditPostAlways": "いつでも",
"admin.general.policy.allowEditPostDescription": "投稿した後にメッセージを編集できる期間についてのポリシーを設定してください。",
"admin.general.policy.allowEditPostNever": "できない",
"admin.general.policy.allowEditPostTimeLimit": "投稿後数秒",
"admin.general.policy.allowEditPostTitle": "メッセージの編集ができるユーザー:",
- "admin.general.policy.bannerColorTitle": "Banner Color:",
- "admin.general.policy.bannerTextColorTitle": "Banner Text Color:",
- "admin.general.policy.bannerTextDesc": "Text that will appear in the announcement banner.",
- "admin.general.policy.bannerTextTitle": "Banner Text:",
- "admin.general.policy.enableBannerDesc": "Enable an announcement banner across all teams.",
- "admin.general.policy.enableBannerTitle": "Enable Announcement Banner:",
+ "admin.general.policy.bannerColorTitle": "バナーカラー:",
+ "admin.general.policy.bannerTextColorTitle": "バナーのテキストカラー:",
+ "admin.general.policy.bannerTextDesc": "バナーに表示されるテキスト",
+ "admin.general.policy.bannerTextTitle": "バナーテキスト:",
+ "admin.general.policy.enableBannerDesc": "全てのチームでバナーを有効にする",
+ "admin.general.policy.enableBannerTitle": "バナーを有効にする:",
"admin.general.policy.permissionsAdmin": "チーム管理者とシステム管理者",
"admin.general.policy.permissionsAll": "全てのチームメンバー",
"admin.general.policy.permissionsAllChannel": "全てのチャンネルのメンバー",
@@ -559,7 +559,7 @@
"admin.nav.logout": "ログアウト",
"admin.nav.report": "問題を報告する",
"admin.nav.switch": "チームを切り替える",
- "admin.nav.troubleshootingForum": "トラブルシューティングフォーラム",
+ "admin.nav.troubleshootingForum": "トラブルシューティング",
"admin.notifications.email": "電子メールアドレス",
"admin.notifications.push": "モバイルプッシュ",
"admin.notifications.title": "通知の設定",
@@ -746,7 +746,7 @@
"admin.service.sessionCacheDesc": "セッションをメモリーにキャッシュしておく期間(分)です。",
"admin.service.sessionDaysEx": "例: \"30\"",
"admin.service.siteURL": "サイトURL:",
- "admin.service.siteURLDescription": "ユーザーがMattermostにアクセスするために使用するポート番号とプロトコルを含んだURLです。この設定は必須です。",
+ "admin.service.siteURLDescription": "ユーザーがMattermostにアクセスするためのURLです。通常のポート番号(80 と 443)を使用する場合はポート番号を省略できますが、それ以外のポート番号を使用する場合はポート番号の指定が必要です。例: http://mattermost.example.com:8065。 この設定は必須です。",
"admin.service.siteURLExample": "例: \"https://mattermost.example.com:1234\"",
"admin.service.ssoSessionDays": "シングルサインオンのセッション維持期間 (日数):",
"admin.service.ssoSessionDaysDesc": "ユーザーが最後に認証情報を入力したときから、そのユーザーのセッションが期限切れとなるまでの日数です。SAMLかGitLabによる認可の場合、SAMLかGitLabに既にログインしていれば、ユーザーは自動的にMattermostへ再ログインされます。この設定を変更した場合、次にユーザーが認証情報を入力してから有効になります。",
@@ -1171,7 +1171,7 @@
"channel_switch_modal.failed_to_open": "チャンネルを開けませんでした。",
"channel_switch_modal.not_found": "一致するものは見つかりませんでした。",
"channel_switch_modal.submit": "切り替える",
- "channel_switch_modal.title": "チャンネルを切り替える",
+ "channel_switch_modal.title": "チャンネル切替",
"claim.account.noEmail": "電子メールアドレスが指定されていません",
"claim.email_to_ldap.enterLdapPwd": "AD/LDAPアカウントのユーザーIDとパスワードを入力してください",
"claim.email_to_ldap.enterPwd": "{site}の電子メールアカウントのパスワードを入力してください",
@@ -1684,6 +1684,7 @@
"mobile.account_notifications.threads_mentions": "スレッド内のあなたについての投稿",
"mobile.account_notifications.threads_start": "自分で開始したスレッド",
"mobile.account_notifications.threads_start_participate": "開始もしくは参加したスレッド",
+ "mobile.channel_drawer.search": "会話へ移動する",
"mobile.channel_info.alertMessageDeleteChannel": "{term} {name} を本当に削除しますか?",
"mobile.channel_info.alertMessageLeaveChannel": "{term} {name} から本当に脱退しますか?",
"mobile.channel_info.alertNo": "いいえ",
@@ -1700,6 +1701,7 @@
"mobile.channel_list.closeGM": "グループメッセージを閉じる",
"mobile.channel_list.dm": "ダイレクトメッセージ",
"mobile.channel_list.gm": "グループメッセージ",
+ "mobile.channel_list.not_member": "非メンバー",
"mobile.channel_list.open": "{term} を開く",
"mobile.channel_list.openDM": "ダイレクトメッセージを開く",
"mobile.channel_list.openGM": "グループメッセージを開く",
@@ -1716,6 +1718,7 @@
"mobile.create_channel.private": "新しい非公開チャンネル",
"mobile.create_channel.public": "新しい公開チャンネル",
"mobile.custom_list.no_results": "該当するものはありません",
+ "mobile.drawer.teamsTitle": "チーム",
"mobile.edit_post.title": "メッセージ編集中",
"mobile.file_upload.camera": "写真もしくはビデオを撮る",
"mobile.file_upload.library": "フォトライブラリー",
@@ -1768,6 +1771,11 @@
"mobile.server_url.invalid_format": "URLはhttp://またはhttps://から始まらなくてはいけません",
"mobile.session_expired": "セッション有効期限切れ: 通知を受け取るためにログインしてください。",
"mobile.settings.team_selection": "チームを切り替える",
+ "modal.manaul_status.ask": "次回からこのメッセージを表示しない",
+ "modal.manaul_status.button": "はい、ステータスを \"オンライン\" にします",
+ "modal.manaul_status.cancel": "いいえ、\"{status}\" のままにします",
+ "modal.manaul_status.message": "ステータスを \"オンライン\" に変更してもよろしいですか?",
+ "modal.manaul_status.title": "ステータスが \"{status}\" になりました",
"more_channels.close": "閉じる",
"more_channels.create": "新しいチャンネルを作成する",
"more_channels.createClick": "新しいチャンネルを作成するには「新しいチャンネルを作成する」をクリックしてください",
@@ -1787,7 +1795,7 @@
"multiselect.add": "追加",
"multiselect.go": "ジャンプ",
"multiselect.instructions": "up/downキーで移動し、Enterで選択します",
- "multiselect.numPeopleRemaining": "あと{num, number}人追加できます {num, plural, =0 {people} one {person} other {people}}. ",
+ "multiselect.numPeopleRemaining": "あと{num, number}人追加できます。 ",
"multiselect.numRemaining": "あと{num, number}人追加できます",
"multiselect.placeholder": "メンバーを検索し追加します",
"navbar.addMembers": "メンバーを追加する",
@@ -1874,13 +1882,13 @@
"posts_view.newMsg": "新しいメッセージ",
"posts_view.newMsgBelow": "以下に新しい {count, plural, one {message} other {messages}}があります",
"quick_switch_modal.channels": "チャンネル",
- "quick_switch_modal.channelsShortcut.mac": "(CMD+K)",
- "quick_switch_modal.channelsShortcut.windows": "(CTRL+K)",
- "quick_switch_modal.help": "チーム/チャンネルを切り替えるにはTABキーを押してください。↑↓ で閲覧、↵ で切り替え、ESC でキャンセル",
- "quick_switch_modal.help_no_team": "チャンネル名を入力してください。↑↓ で閲覧、↵ で切り替え、ESC でキャンセル",
+ "quick_switch_modal.channelsShortcut.mac": "- ⌘K",
+ "quick_switch_modal.channelsShortcut.windows": "- CTRL+K",
+ "quick_switch_modal.help": "入力を開始した後、TABキーでチーム/チャンネルを切替、 ↑↓で閲覧、 ↵で選択、 ESCでキャンセル。",
+ "quick_switch_modal.help_no_team": "入力を開始した後、↑↓で閲覧、 ↵で選択、 ESCでキャンセル。",
"quick_switch_modal.teams": "チーム",
- "quick_switch_modal.teamsShortcut.mac": "(CMD+ALT+K)",
- "quick_switch_modal.teamsShortcut.windows": "(CTRL+ALT+K)",
+ "quick_switch_modal.teamsShortcut.mac": "- ⌘⌥K",
+ "quick_switch_modal.teamsShortcut.windows": "- CTRL+ALT+K",
"reaction.clickToAdd": "(クリックして追加する)",
"reaction.clickToRemove": "(クリックして削除する)",
"reaction.othersReacted": "{otherUsers, number} {otherUsers, plural, one {user} other {users}}",
@@ -1971,8 +1979,6 @@
"sidebar.otherMembers": "このチームの外側",
"sidebar.pg": "非公開チャンネル",
"sidebar.removeList": "一覧から削除する",
- "sidebar.switch_channels": "チャンネル切り替え(CTRL + K)",
- "sidebar.switch_channels.mac": "チャンネル切り替え(CMD + K)",
"sidebar.tutorialScreen1": "<h4>チャンネル</h4><p><strong>チャンネル</strong>は様々な話題についての会話を扱います。チャンネルはあなたのチームの全員が読み書き可能です。個人的なコミュニケーションを行う場合、特定の一人との場合には<strong>ダイレクトメッセージ</strong>を、複数の人との場合には<strong>非公開チャンネル</strong>を使用してください。</p>",
"sidebar.tutorialScreen2": "<h4>\"{townsquare}\"と\"{offtopic}\"チャンネル</h4><p>以下は最初にふさわしい2つの公開チャンネルです</p><p><strong>{townsquare}</strong>は、チーム内のコミュニケーションのための場所です、あなたのチームの全員が参加しています。</p><p><strong>{offtopic}</strong>は仕事と関係のない楽しみとユーモアのための場所です。あなたとチームは、他のチャンネルを作るか決めることができます。</p>",
"sidebar.tutorialScreen3": "<h4>チャンネルの作成と参加</h4><p><strong>「もっと…」</strong>をクリックすることで新しいチャンネルを作成したり既存のチャンネルに参加することができます。</p><p>公開/非公開チャンネルのヘッダーの隣にある<strong>「+」記号</strong>をクリックすることで、新しいチャンネルを作成することができます。</p>",
@@ -2044,6 +2050,9 @@
"sso_signup.length_error": "名前は3から15文字にしてください",
"sso_signup.teamName": "新しいチーム名を入力してください",
"sso_signup.team_error": "チーム名を入力してください",
+ "status_dropdown.set_away": "離席",
+ "status_dropdown.set_offline": "オフライン",
+ "status_dropdown.set_online": "オンライン",
"suggestion.loading": "読み込み中です...",
"suggestion.mention.all": "注意: チャンネル内の全員に対して投稿します",
"suggestion.mention.channel": "チャンネルの全員に通知します。",
diff --git a/webapp/i18n/ko.json b/webapp/i18n/ko.json
index 26050dd63..ca0755d48 100644
--- a/webapp/i18n/ko.json
+++ b/webapp/i18n/ko.json
@@ -746,7 +746,7 @@
"admin.service.sessionCacheDesc": "The number of minutes to cache a session in memory.",
"admin.service.sessionDaysEx": "예시 \"30\"",
"admin.service.siteURL": "사이트 URL:",
- "admin.service.siteURLDescription": "The URL, including port number and protocol, that users will use to access Mattermost. This setting is required.",
+ "admin.service.siteURLDescription": "The URL that users will use to access Mattermost. Standard ports, such as 80 and 443, can be omitted, but non-standard ports are required. For example: http://mattermost.example.com:8065. This setting is required.",
"admin.service.siteURLExample": "예시 \"https://mattermost.example.com:1234\"",
"admin.service.ssoSessionDays": "Session length for mobile apps (days):",
"admin.service.ssoSessionDaysDesc": "The number of days from the last time a user entered their credentials to the expiry of the user's session. If the authentication method is SAML or GitLab, the user may automatically be logged back in to Mattermost if they are already logged in to SAML or GitLab. After changing this setting, the setting will take effect after the next time the user enters their credentials.",
@@ -1684,6 +1684,7 @@
"mobile.account_notifications.threads_mentions": "Mentions in threads",
"mobile.account_notifications.threads_start": "Threads that I start",
"mobile.account_notifications.threads_start_participate": "Threads that I start or participate in",
+ "mobile.channel_drawer.search": "Jump to a conversation",
"mobile.channel_info.alertMessageDeleteChannel": "정말 {term}을 삭제하시겠습니까?",
"mobile.channel_info.alertMessageLeaveChannel": "정말 {term}을 삭제하시겠습니까?",
"mobile.channel_info.alertNo": "아니요",
@@ -1700,6 +1701,7 @@
"mobile.channel_list.closeGM": "Close Group Message",
"mobile.channel_list.dm": "개인 메시지",
"mobile.channel_list.gm": "Group Message",
+ "mobile.channel_list.not_member": "NOT A MEMBER",
"mobile.channel_list.open": "Open {term}",
"mobile.channel_list.openDM": "Open Direct Message",
"mobile.channel_list.openGM": "Open Group Message",
@@ -1716,11 +1718,12 @@
"mobile.create_channel.private": "채널 떠나기",
"mobile.create_channel.public": "공개 채널",
"mobile.custom_list.no_results": "No Results",
+ "mobile.drawer.teamsTitle": "서비스 약관",
"mobile.edit_post.title": "Editing Message",
"mobile.file_upload.camera": "Take Photo or Video",
"mobile.file_upload.library": "Photo Library",
"mobile.file_upload.more": "더 보기",
- "mobile.file_upload.video": "Video Libary",
+ "mobile.file_upload.video": "Video Library",
"mobile.help.title": "도움말",
"mobile.intro_messages.DM": "{teammate}와 개인 메시지의 시작입니다.<br />개인 메시지나 여기서 공유된 파일들은 외부에서 보여지지 않습니다.",
"mobile.intro_messages.default_message": "This is the first channel teammates see when they sign up - use it for posting updates everyone needs to know.",
@@ -1768,6 +1771,11 @@
"mobile.server_url.invalid_format": "URL 주소는 http:// 또는 https:// 로 시작되어야 합니다",
"mobile.session_expired": "Session Expired: Please log in to continue receiving notifications.",
"mobile.settings.team_selection": "팀 선택",
+ "modal.manaul_status.ask": "Do not ask me again",
+ "modal.manaul_status.button": "Yes, set my status to \"Online\"",
+ "modal.manaul_status.cancel": "No, keep it as \"{status}\"",
+ "modal.manaul_status.message": "Would you like to switch your status to \"Online\"?",
+ "modal.manaul_status.title": "Your status is set to \"{status}\"",
"more_channels.close": "닫기",
"more_channels.create": "새로 만들기",
"more_channels.createClick": "'새로 만들기'를 클릭하여 새로운 채널을 만드세요",
@@ -1874,13 +1882,13 @@
"posts_view.newMsg": "새로운 메시지",
"posts_view.newMsgBelow": "New {count, plural, one {message} other {messages}} below",
"quick_switch_modal.channels": "채널",
- "quick_switch_modal.channelsShortcut.mac": "(CMD+K)",
- "quick_switch_modal.channelsShortcut.windows": "(CTRL+K)",
- "quick_switch_modal.help": "Use TAB to toggle between teams/channels, ↑↓ to browse, ↵ to confirm, ESC to dismiss",
- "quick_switch_modal.help_no_team": "채널 이름을 입력하세요. ↑↓ 방향키와 TAB키를 이용하여 선택하세요, ↵ 엔터키를 누르면 확인, ESC키를 누르면 취소됩니다.",
+ "quick_switch_modal.channelsShortcut.mac": "- ⌘K",
+ "quick_switch_modal.channelsShortcut.windows": "- CTRL+K",
+ "quick_switch_modal.help": "Start typing then use TAB to toggle channels/teams, ↑↓ to browse, ↵ to select, and ESC to dismiss.",
+ "quick_switch_modal.help_no_team": "Start typing then use ↑↓ to browse, ↵ to select, and ESC to dismiss.",
"quick_switch_modal.teams": "서비스 약관",
- "quick_switch_modal.teamsShortcut.mac": "(CMD+ALT+K)",
- "quick_switch_modal.teamsShortcut.windows": "(CTRL+ALT+K)",
+ "quick_switch_modal.teamsShortcut.mac": "- ⌘⌥K",
+ "quick_switch_modal.teamsShortcut.windows": "- CTRL+ALT+K",
"reaction.clickToAdd": "(click to add)",
"reaction.clickToRemove": "(click to remove)",
"reaction.othersReacted": "{otherUsers, number} {otherUsers, plural, one {user} other {users}}",
@@ -1971,8 +1979,6 @@
"sidebar.otherMembers": "팀 외부",
"sidebar.pg": "채널 떠나기",
"sidebar.removeList": "목록에서 제거",
- "sidebar.switch_channels": "Switch Channels (CTRL + K)",
- "sidebar.switch_channels.mac": "Switch Channels (CMD + K)",
"sidebar.tutorialScreen1": "<h4>채널</h4><p><strong>채널</strong>을 통해 주제별로 대화를 구성합니다. 팀의 모든 일원에게 공개되어 있습니다. 공개하고 싶지 않은 메시지는 <strong>개인 메시지</strong>나 <strong>비공개 그룹</strong>으로 전달할 수 있습니다. </p>",
"sidebar.tutorialScreen2": "<h4>\"{townsquare}\" 와 \"{offtopic}\" 채널</h4><p>두 채널과 함께 시작합니다:</p><p><strong>{townsquare}</strong>(은)는 팀 전체의 소통을 위한 공간입니다. 모든 팀의 구성원들이 확인할 수 있습니다.</p><p><strong>{offtopic}</strong> 비업무 대화를 위한 공간입니다. 당신의 팀에 어떤 채널을 만들고 운영할지 결정할 수 있습니다.</p>",
"sidebar.tutorialScreen3": "<h4>채널 만들고 가입하기</h4><p><strong>\"더 보기...\"</strong>를 눌러 새로운 채널을 만들거나 기존 채널에 입장할 수 있습니다.</p><p>채널이나 비공개 그룹의 헤더 옆에 <strong>\"+\" 표시</strong> 를 눌러 새로운 채널이나 비공개 그룹을 만들 수 있습니다.</p>",
@@ -2044,6 +2050,9 @@
"sso_signup.length_error": "이름이 반드시 3글자 이상 15글자 이하가 되어야 합니다.",
"sso_signup.teamName": "팀 이름을 입력하세요.",
"sso_signup.team_error": "팀 이름을 입력하세요.",
+ "status_dropdown.set_away": "Away",
+ "status_dropdown.set_offline": "오프라인",
+ "status_dropdown.set_online": "Online",
"suggestion.loading": "로딩 중...",
"suggestion.mention.all": "CAUTION: This mentions everyone in channel",
"suggestion.mention.channel": "모든 채널 회원들에게 알림을 보냅니다",
diff --git a/webapp/i18n/nl.json b/webapp/i18n/nl.json
index 8a7410509..4ef50f5bf 100644
--- a/webapp/i18n/nl.json
+++ b/webapp/i18n/nl.json
@@ -746,7 +746,7 @@
"admin.service.sessionCacheDesc": "Het aantal minuten dat een sessie in het geheugen wordt gecached.",
"admin.service.sessionDaysEx": "Bijv.: \"30\"",
"admin.service.siteURL": "Site URL:",
- "admin.service.siteURLDescription": "The URL, including port number and protocol, that users will use to access Mattermost. This setting is required.",
+ "admin.service.siteURLDescription": "The URL that users will use to access Mattermost. Standard ports, such as 80 and 443, can be omitted, but non-standard ports are required. For example: http://mattermost.example.com:8065. This setting is required.",
"admin.service.siteURLExample": "Bijv.: \"https://mattermost.example.com:1234\"",
"admin.service.ssoSessionDays": "Sessie duur voor SSO (dagen):",
"admin.service.ssoSessionDaysDesc": "Het aantal dagen dat de gebruiker voor het laatst zijn credentials heeft ingevoerd voordat gebruikers sessie verloopt. Als de authenticatie SAML of GitLab is, kan de gebruiker automatisch worden terug ingelogd in Mattermost omdat ze al waren ingelogd in SAML of GitLab. Nadat deze instelling is gewijzigd, zal de nieuwe sessie lengte plaatsvinden de volgende keer de gebruiker zijn credentials invult. ",
@@ -1684,6 +1684,7 @@
"mobile.account_notifications.threads_mentions": "Mentions in threads",
"mobile.account_notifications.threads_start": "Threads that I start",
"mobile.account_notifications.threads_start_participate": "Threads that I start or participate in",
+ "mobile.channel_drawer.search": "Jump to a conversation",
"mobile.channel_info.alertMessageDeleteChannel": "Weet u zeker dat u deze {term} wilt verwijderen?",
"mobile.channel_info.alertMessageLeaveChannel": "Weet u zeker dat u deze {term} wilt verwijderen?",
"mobile.channel_info.alertNo": "Nee",
@@ -1700,6 +1701,7 @@
"mobile.channel_list.closeGM": "Close Group Message",
"mobile.channel_list.dm": "Privé bericht",
"mobile.channel_list.gm": "Group Message",
+ "mobile.channel_list.not_member": "NOT A MEMBER",
"mobile.channel_list.open": "Open {term}",
"mobile.channel_list.openDM": "Open Direct Message",
"mobile.channel_list.openGM": "Open Group Message",
@@ -1716,11 +1718,12 @@
"mobile.create_channel.private": "Verlaat kanaal",
"mobile.create_channel.public": "Publieke kanalen",
"mobile.custom_list.no_results": "No Results",
+ "mobile.drawer.teamsTitle": "Termen",
"mobile.edit_post.title": "Editing Message",
"mobile.file_upload.camera": "Take Photo or Video",
"mobile.file_upload.library": "Photo Library",
"mobile.file_upload.more": "Meer",
- "mobile.file_upload.video": "Video Libary",
+ "mobile.file_upload.video": "Video Library",
"mobile.help.title": "Help",
"mobile.intro_messages.DM": "Dit is de start van uw privé berichten historiek met teamlid {teammate}.<br /> Privé berichten en bestanden die hier gedeeld worden zijn niet zichtbaar voor anderen.",
"mobile.intro_messages.default_message": "This is the first channel teammates see when they sign up - use it for posting updates everyone needs to know.",
@@ -1768,6 +1771,11 @@
"mobile.server_url.invalid_format": "Moet beginnen met http:// of https://",
"mobile.session_expired": "Session Expired: Please log in to continue receiving notifications.",
"mobile.settings.team_selection": "Team Selectie",
+ "modal.manaul_status.ask": "Do not ask me again",
+ "modal.manaul_status.button": "Yes, set my status to \"Online\"",
+ "modal.manaul_status.cancel": "No, keep it as \"{status}\"",
+ "modal.manaul_status.message": "Would you like to switch your status to \"Online\"?",
+ "modal.manaul_status.title": "Your status is set to \"{status}\"",
"more_channels.close": "Afsluiten",
"more_channels.create": "Maak een nieuw kanaal",
"more_channels.createClick": "Klik 'Maak nieuw kanaal' om een nieuw kanaal te maken",
@@ -1874,13 +1882,13 @@
"posts_view.newMsg": "Nieuwe berichten",
"posts_view.newMsgBelow": "New {count, plural, one {message} other {messages}} below",
"quick_switch_modal.channels": "Kanalen",
- "quick_switch_modal.channelsShortcut.mac": "(CMD+K)",
- "quick_switch_modal.channelsShortcut.windows": "(CTRL+K)",
- "quick_switch_modal.help": "Use TAB to toggle between teams/channels, ↑↓ to browse, ↵ to confirm, ESC to dismiss",
- "quick_switch_modal.help_no_team": "Tik kanaal naam. Gebruik ↑↓ voor bladeren, TAB om te selecteren, ↵ voor bevestiging, ESC voor annuleren",
+ "quick_switch_modal.channelsShortcut.mac": "- ⌘K",
+ "quick_switch_modal.channelsShortcut.windows": "- CTRL+K",
+ "quick_switch_modal.help": "Start typing then use TAB to toggle channels/teams, ↑↓ to browse, ↵ to select, and ESC to dismiss.",
+ "quick_switch_modal.help_no_team": "Start typing then use ↑↓ to browse, ↵ to select, and ESC to dismiss.",
"quick_switch_modal.teams": "Termen",
- "quick_switch_modal.teamsShortcut.mac": "(CMD+ALT+K)",
- "quick_switch_modal.teamsShortcut.windows": "(CTRL+ALT+K)",
+ "quick_switch_modal.teamsShortcut.mac": "- ⌘⌥K",
+ "quick_switch_modal.teamsShortcut.windows": "- CTRL+ALT+K",
"reaction.clickToAdd": "(click to add)",
"reaction.clickToRemove": "(click to remove)",
"reaction.othersReacted": "{otherUsers, number} {otherUsers, plural, one {user} other {users}}",
@@ -1971,8 +1979,6 @@
"sidebar.otherMembers": "Buiten dit team",
"sidebar.pg": "Verlaat kanaal",
"sidebar.removeList": "Uit de lijst verwijderen",
- "sidebar.switch_channels": "Switch Channels (CTRL + K)",
- "sidebar.switch_channels.mac": "Switch Channels (CMD + K)",
"sidebar.tutorialScreen1": "<h4>Kanalen</h4><p><strong>Kanalen</strong> organiseren conversaties in verschillende onderwerpen. Ze zijn open voor iedereen in je team. Om privéberichten te sturen, gebruik <strong>Directe Berichten</strong> voor een enkel persoon of <strong>Privé Groepen</strong> voor meerdere personen.</p>",
"sidebar.tutorialScreen2": "<h4>\"{townsquare}\" en \"{offtopic}\" kanalen</h4><p>Hier zijn 2 publieke kanalen om te starten:</p><p><strong>{townsquare}</strong> is een plaats voor team wijde communicatie. Iedereen in jouw team is lid van dit kanaal.</p><p><strong>{offtopic}</strong> is een plaats voor ontspanning en humor buiten werk gerelateerde zaken en kanalen. Jij en jouw team kunnen beslissen wel andere kanalen er gemaakt moeten worden.</p>",
"sidebar.tutorialScreen3": "<h4>Kanalen maken en lid worden</h4><p>Klik op <strong>\"Meer...\"</strong> om een nieuw kanaal te maken of lid te worden van een bestaand kanaal.</p><p>Je kan ook een nieuw kanaal of privégroep maken door op het <strong>\"+\"-teken</strong> naast het kanaal of de privégroep te drukken.</p>",
@@ -2044,6 +2050,9 @@
"sso_signup.length_error": "De naam moet 3 of meer tekens lang zijn met een maximum van 15",
"sso_signup.teamName": "Voer de naam in van het nieuwe team",
"sso_signup.team_error": "Voer de naam in van het team",
+ "status_dropdown.set_away": "Away",
+ "status_dropdown.set_offline": "Offline",
+ "status_dropdown.set_online": "Online",
"suggestion.loading": "Laden...",
"suggestion.mention.all": "CAUTION: This mentions everyone in channel",
"suggestion.mention.channel": "Notificeer iedereen in het kanaal",
diff --git a/webapp/i18n/pl.json b/webapp/i18n/pl.json
index e31f40f4f..3f425b2c0 100644
--- a/webapp/i18n/pl.json
+++ b/webapp/i18n/pl.json
@@ -326,12 +326,12 @@
"admin.general.policy.allowEditPostNever": "Nigdy",
"admin.general.policy.allowEditPostTimeLimit": "sekund po wysłaniu",
"admin.general.policy.allowEditPostTitle": "Zezwalaj użytkownikom na edycję swoich postów:",
- "admin.general.policy.bannerColorTitle": "Banner Color:",
- "admin.general.policy.bannerTextColorTitle": "Banner Text Color:",
- "admin.general.policy.bannerTextDesc": "Text that will appear in the announcement banner.",
- "admin.general.policy.bannerTextTitle": "Banner Text:",
- "admin.general.policy.enableBannerDesc": "Enable an announcement banner across all teams.",
- "admin.general.policy.enableBannerTitle": "Enable Announcement Banner:",
+ "admin.general.policy.bannerColorTitle": "Kolor baneru:",
+ "admin.general.policy.bannerTextColorTitle": "Kolor tekstu baneru:",
+ "admin.general.policy.bannerTextDesc": "Tekst, który pojawi się w banerze ogłoszenia.",
+ "admin.general.policy.bannerTextTitle": "Tekst baneru:",
+ "admin.general.policy.enableBannerDesc": "Włącz banner ogłoszenia we wszystkich zespołach.",
+ "admin.general.policy.enableBannerTitle": "Włącz baner ogłoszenia:",
"admin.general.policy.permissionsAdmin": "Administratorzy zespołów i serwera",
"admin.general.policy.permissionsAll": "Wszyscy członkowie zespołu",
"admin.general.policy.permissionsAllChannel": "Wszyscy członkowie kanału",
@@ -553,13 +553,13 @@
"admin.mfa.bannerDesc": "<a href='https://docs.mattermost.com/deployment/auth.html' target='_blank'>Wieloczynnikowe uwierzytelnianie</a> jest dostepne dla kont z logowaniem AD/LDAP albo logowaniem email. Jeśli inne metody logowania są używane, Wieloczynnykowe uwierzytelnianie (MFA) powinna być skonfigurowana z dostawcą autoryzacji.",
"admin.mfa.cluster": "Wysoki",
"admin.mfa.title": "Wieloczynnikowe Uwierzytelnianie",
- "admin.nav.administratorsGuide": "Administrator's Guide",
- "admin.nav.commercialSupport": "Commercial Support",
+ "admin.nav.administratorsGuide": "Przewodnik administratora",
+ "admin.nav.commercialSupport": "Pomoc handlowa",
"admin.nav.help": "Pomoc",
"admin.nav.logout": "Wyloguj",
"admin.nav.report": "Zgłoś problem",
"admin.nav.switch": "Wybór zespołu",
- "admin.nav.troubleshootingForum": "Troubleshooting Forum",
+ "admin.nav.troubleshootingForum": "Forum",
"admin.notifications.email": "E-mail",
"admin.notifications.push": "Powiadomienia Push",
"admin.notifications.title": "Ustawienia powiadomień",
@@ -746,7 +746,7 @@
"admin.service.sessionCacheDesc": "Czas trwania sesji (w minutach).",
"admin.service.sessionDaysEx": "Np.: \"30\"",
"admin.service.siteURL": "URL storny:",
- "admin.service.siteURLDescription": "URL, włącznie z portem i protokołem, który użytkownicy będą używali do dostępu do Mattermost. Wymagane.",
+ "admin.service.siteURLDescription": "The URL that users will use to access Mattermost. Standard ports, such as 80 and 443, can be omitted, but non-standard ports are required. For example: http://mattermost.example.com:8065. This setting is required.",
"admin.service.siteURLExample": "Np.: \"https://mattermost.example.com:1234\"",
"admin.service.ssoSessionDays": "Długość sesji SSO (dni):",
"admin.service.ssoSessionDaysDesc": "Ilość dni od momentu, gdy użytkownik się zaloguje do wygaśnięcia jego sesji. Jeśli sposób logowania to SAML lub GitLab, użytkownik może zostać automatycznie ponownie zalogowany do Mattermost, jeśli jest akurat zalogowany w SAML lub GitLab. Po zmianie tej wartości, nowa długość sesji będzie brana pod uwagę po kolejnym zalogowaniu się użytkownika. ",
@@ -834,24 +834,24 @@
"admin.sql.noteTitle": "Notka:",
"admin.sql.queryTimeoutDescription": "The number of seconds to wait for a response from the database after opening a connection and sending the query. Errors that you see in the UI or in the logs as a result of a query timeout can vary depending on the type of query. This setting has no effect on PostgreSQL databases.",
"admin.sql.queryTimeoutExample": "Np.: \"30\"",
- "admin.sql.queryTimeoutTitle": "Query Timeout:",
+ "admin.sql.queryTimeoutTitle": "Limit czasu zapytania:",
"admin.sql.replicas": "Repliki Źródeł Danych:",
"admin.sql.traceDescription": "(Tryb Developerski) Jeśli włączony, wykonane zapytania SQL zostaną zapisane do logu.",
"admin.sql.traceTitle": "Trace:",
"admin.sql.warning": "Uwaga: ponowne generowanie tej soli może sprawić że kolumny w bazie danych będą zwracały puste wartości.",
- "admin.support.aboutDesc": "The URL for the About link on the Mattermost login and sign-up pages. If this field is empty, the About link is hidden from users.",
+ "admin.support.aboutDesc": "Adres URL linku O mnie na stronie logowania i rejestracji. Jeśli to pole jest puste, link O mnie jest ukrywany przed użytkownikami.",
"admin.support.aboutTitle": "Link do \"O programie\":",
"admin.support.emailHelp": "Adres email wyświetlany w powiadomieniach email i podczas instrukcji krok po kroku dla użytkowników, aby zadawać pytania.",
"admin.support.emailTitle": "Email do Wsparcia:",
- "admin.support.helpDesc": "The URL for the Help link on the Mattermost login page, sign-up pages, and Main Menu. If this field is empty, the Help link is hidden from users.",
+ "admin.support.helpDesc": "Adres URL linku Pomoc na stronie logowania i w menu głównym. Jeśli to pole jest puste, link Pomoc jest ukrywany przed użytkownikami",
"admin.support.helpTitle": "Link do pomocy:",
"admin.support.noteDescription": "Jeśli linkujesz do zewnętrznej witryny, adresy URL powinny zaczynać się od http:// lub https://.",
"admin.support.noteTitle": "Notka:",
- "admin.support.privacyDesc": "The URL for the Privacy link on the login and sign-up pages. If this field is empty, the Privacy link is hidden from users.",
+ "admin.support.privacyDesc": "Adres URL linku Ochrona prywatności na stronie logowania i rejestracji. Jeśli to pole jest puste, link Ochrona prywatności jest ukryty przed użytkownikami.",
"admin.support.privacyTitle": "Link do Zasad Prywatności.",
- "admin.support.problemDesc": "The URL for the Report a Problem link in the Main Menu. If this field is empty, the link is removed from the Main Menu.",
+ "admin.support.problemDesc": "Adres URL łącza Zgłoś problem w Menu głównym. Jeśli to pole jest puste, link z menu głównego zostanie usunięty.",
"admin.support.problemTitle": "Zgłoś link z Problemem:",
- "admin.support.termsDesc": "Link to the terms under which users may use your online service. By default, this includes the \"Mattermost Conditions of Use (End Users)\" explaining the terms under which Mattermost software is provided to end users. If you change the default link to add your own terms for using the service you provide, your new terms must include a link to the default terms so end users are aware of the Mattermost Conditions of Use (End User) for Mattermost software.",
+ "admin.support.termsDesc": "Link do warunków korzystania z usługi online przez użytkowników. Domyślnie obejmuje to \"warunki użytkowania (użytkownicy końcowi)\" wyjaśniające warunki, w jakich oprogramowanie Mattermost jest dostarczane użytkownikom końcowym. Jeśli zmienisz łącze domyślne, aby dodać własne warunki korzystania z tej usługi, nowe warunki muszą zawierać link do domyślnych warunków, dzięki czemu użytkownicy końcowi są świadomi warunków użytkowania oprogramowania Mattermost.",
"admin.support.termsTitle": "Linki z warunkami korzystania z serwisu:",
"admin.system_analytics.activeUsers": "Aktywni użytkownicy z wiadomościami",
"admin.system_analytics.title": "System",
@@ -861,7 +861,7 @@
"admin.system_users.title": "{siteName} Użytkownicy",
"admin.team.brandDesc": "Enable custom branding to show an image of your choice, uploaded below, and some help text, written below, on the login page.",
"admin.team.brandDescriptionExample": "Cała komunikacja Twojego zespołu w jednym miejscu, z natychmiastowym przeszukiwaniem i dostępna z każdego miejsca.",
- "admin.team.brandDescriptionHelp": "Description of service shown in login screens and UI. When not specified, \"All team communication in one place, searchable and accessible anywhere\" is displayed.",
+ "admin.team.brandDescriptionHelp": "Opis usługi wyświetlane na ekranie logowania oraz w interfejsie użytkownika. Jeśli nie zostanie podany, zostanie wyświetlona informacja \"Cała komunikacja Twojego zespołu w jednym miejscu, z natychmiastowym przeszukiwaniem i dostępna z każdego miejsca.\".",
"admin.team.brandDescriptionTitle": "Opis strony: ",
"admin.team.brandImageTitle": "Niestandardowy obraz marki:",
"admin.team.brandTextDescription": "Tekst który pojawi się pod wizerunkiem marki na stronie logowania. Wspiera formatowanie Markdown. Maksymalnie 500 znaków.",
@@ -873,7 +873,7 @@
"admin.team.maxChannelsDescription": "Maksymalna liczba kanałów dla zespołu, włącznie z aktywnymi jak i usuniętymi kanałami.",
"admin.team.maxChannelsExample": "Np.: \"100\"",
"admin.team.maxChannelsTitle": "Maksymalna Ilość kanałów Dla Zespołu:",
- "admin.team.maxNotificationsPerChannelDescription": "Maximum total number of users in a channel before users typing messages, @all, @here, and @channel no longer send notifications because of performance.",
+ "admin.team.maxNotificationsPerChannelDescription": "Maksymalna liczba użytkowników po przekroczeniu której użycie, @all, @here i @channel nie wyśle już powiadomień ze względu na wydajność.",
"admin.team.maxNotificationsPerChannelExample": "Np. \"1000\"",
"admin.team.maxNotificationsPerChannelTitle": "Maksymalna Ilość Powiadomień na Kanał:",
"admin.team.maxUsersDescription": "Maksymalna liczba użytkowników dla zespołu, włącznie z aktywnymi jak i nieaktywnymi użytkownikami.",
@@ -1123,7 +1123,7 @@
"channel_loader.posted": "Wysłany",
"channel_loader.socketError": "Proszę, sprawdź połączenie, Mattermost nie jest dostępny. Jeśli problem nie zostanie rozwiązany, skontaktuj się z administratorem.",
"channel_loader.someone": "Ktoś",
- "channel_loader.something": " zrób coś nowego",
+ "channel_loader.something": " zrobił/a coś nowego",
"channel_loader.unknown_error": "Otrzymaliśmy nieoczekiwany kod statusu z serwera.",
"channel_loader.uploadedFile": " dodano plik",
"channel_loader.uploadedImage": " wysłano obraz",
@@ -1262,7 +1262,7 @@
"delete_post.post": "Post",
"delete_post.question": "Jesteś pewien, że chcesz usunąć {term}?",
"delete_post.warning": "Ten post ma {count} komentarze(y).",
- "edit_channel_header.editHeader": "Edit the Channel Header...",
+ "edit_channel_header.editHeader": "Edytuj nagłówek kanału...",
"edit_channel_header.previewHeader": "Edytuj nagłówek",
"edit_channel_header_modal.cancel": "Anuluj",
"edit_channel_header_modal.description": "Edytuj tekst pojawiający w nagłówku kanału, obok jego nazwy.",
@@ -1339,7 +1339,7 @@
"file_attachment.download": "Pobierz",
"file_info_preview.size": "Rozmiar ",
"file_info_preview.type": "Typ pliku ",
- "file_upload.disabled": "File attachments are disabled.",
+ "file_upload.disabled": "Załączniki zostały wyłączone.",
"file_upload.fileAbove": "Plik powyżej {max} MB nie może zostać wysłany: {filename}",
"file_upload.filesAbove": "Pliki powyżej {max} MB nie mogą zostać wysłane: {filenames}",
"file_upload.limited": "Przesyłanie danych jest ograniczone do maksymalnie {count} plików. Proszę użyć dodatkowych postów, aby wysłać więcej plików.",
@@ -1580,7 +1580,7 @@
"intro_messages.noCreator": "To początek {type} {name}, utworzony {date}.",
"intro_messages.offTopic": "<h4 class=\"channel-intro__title\">Początek {display_name}</h4><p class=\"channel-intro__content\">To jest początek {display_name}, kanału przeznaczonego do rozmów niezwiązanych z pracą.<br/></p>",
"intro_messages.onlyInvited": " Tylko zaproszeni użytkownicy mogą zobaczyć ten prywatny kanał.",
- "intro_messages.purpose": " This {type}'s purpose is: {purpose}.",
+ "intro_messages.purpose": " Celem {type}u jest: {purpose}.",
"intro_messages.setHeader": "Ustaw tytuł",
"intro_messages.teammate": "To początek historii wiadomości z użytkownikiem. Bezpośrednie wiadomości i wysłane w nich pliki nie są widoczne dla osób spoza tego obszaru.",
"invite_member.addAnother": "Dodaj jeszcze",
@@ -1680,10 +1680,11 @@
"mobile.account.notifications.email.footer": "W trybie offline lub poza domem przez ponad pięć minut",
"mobile.account_notifications.mentions_footer": "Twoja nazwa użytkownika (\"@{username}\") zawsze wywoła wzmianki.",
"mobile.account_notifications.non-case_sensitive_words": "Other non-case sensitive words...",
- "mobile.account_notifications.reply.header": "Send reply notifications for",
+ "mobile.account_notifications.reply.header": "Wyślij powiadomienia o odpowiedzi do",
"mobile.account_notifications.threads_mentions": "Wzmianki w wątkach",
"mobile.account_notifications.threads_start": "Wątki, które rozpocząłem",
"mobile.account_notifications.threads_start_participate": "Wątki, które rozpocząłem lub w których uczestniczę",
+ "mobile.channel_drawer.search": "Przeskocz do konwersacji",
"mobile.channel_info.alertMessageDeleteChannel": "Jesteś pewien, że chcesz usunąć {term} {name}?",
"mobile.channel_info.alertMessageLeaveChannel": "Jesteś pewien, że chcesz opuścić {term} {name}?",
"mobile.channel_info.alertNo": "Nie",
@@ -1700,6 +1701,7 @@
"mobile.channel_list.closeGM": "Zamknij wiadomość grupową",
"mobile.channel_list.dm": "Wiadomość bezpośrednia",
"mobile.channel_list.gm": "Wiadomość grupowa",
+ "mobile.channel_list.not_member": "NIE JEST UŻYTKOWNIKIEM",
"mobile.channel_list.open": "Otwórz {term}",
"mobile.channel_list.openDM": "Otwórz wiadomość bezpośrednią",
"mobile.channel_list.openGM": "Open Group Message",
@@ -1716,11 +1718,12 @@
"mobile.create_channel.private": "Nowy kanał prywatny",
"mobile.create_channel.public": "Nowy kanał publiczny",
"mobile.custom_list.no_results": "Brak wyników",
+ "mobile.drawer.teamsTitle": "Zespoły",
"mobile.edit_post.title": "Edycja Wiadomości",
"mobile.file_upload.camera": "Zrób Zdjęcie lub nagraj Film",
"mobile.file_upload.library": "Biblioteka Zdjęć",
"mobile.file_upload.more": "Więcej",
- "mobile.file_upload.video": "Video Libary",
+ "mobile.file_upload.video": "Biblioteka wideo",
"mobile.help.title": "Pomoc",
"mobile.intro_messages.DM": "To początek historii wiadomości z użytkownikiem {teammate}. Bezpośrednie wiadomości i wysłane w nich pliki nie są widoczne dla osób spoza tego obszaru.",
"mobile.intro_messages.default_message": "To jest pierwszy kanał który zobaczą członkowie zespołu po zarejestrowaniu się - używaj go do publikowania informacji, o których wszyscy muszą wiedzieć.",
@@ -1729,7 +1732,7 @@
"mobile.loading_members": "Wczytuję członków...",
"mobile.loading_posts": "Wczytuję wiadomości...",
"mobile.login_options.choose_title": "Wybierz metodę logowania",
- "mobile.notification.in": " in ",
+ "mobile.notification.in": " w ",
"mobile.offlineIndicator.connected": "Połączono",
"mobile.offlineIndicator.connecting": "Łączenie...",
"mobile.offlineIndicator.offline": "Brak połączenia z internetem",
@@ -1751,7 +1754,7 @@
"mobile.routes.channels": "Kanały",
"mobile.routes.enterServerUrl": "Wprowadź adres URL serwera",
"mobile.routes.login": "Logowanie",
- "mobile.routes.loginOptions": "Login Chooser",
+ "mobile.routes.loginOptions": "Wybór logowania",
"mobile.routes.mfa": "Uwierzytelnianie wieloskładnikowe",
"mobile.routes.postsList": "Lista wiadomości",
"mobile.routes.saml": "Single SignOn",
@@ -1764,10 +1767,15 @@
"mobile.routes.user_profile.send_message": "Wyślij wiadomość",
"mobile.select_team.choose": "Twóje zespoły:",
"mobile.select_team.join_open": "Inne zespoły, do których możesz dołączyć.",
- "mobile.server_ping_failed": "Cannot connect to the server. Please check your server URL and internet connection.",
+ "mobile.server_ping_failed": "Nie można połączyć się z serwerem. Sprawdź adres serwera i połączenie internetowe.",
"mobile.server_url.invalid_format": "Adres musi zaczynać się od http:// lub https://",
- "mobile.session_expired": "Session Expired: Please log in to continue receiving notifications.",
+ "mobile.session_expired": "Sesja wygasła: zaloguj się, aby kontynuować otrzymywanie powiadomień.",
"mobile.settings.team_selection": "Wybór zespołu",
+ "modal.manaul_status.ask": "Nie pytaj ponownie",
+ "modal.manaul_status.button": "Tak, ustaw mój status na \"Online\"",
+ "modal.manaul_status.cancel": "Nie, pozostaw \"{status}\"",
+ "modal.manaul_status.message": "Czy chcesz zmienić status na \"Online\"?",
+ "modal.manaul_status.title": "Twój status został ustawiony na \"{status}\"",
"more_channels.close": "Zamknij",
"more_channels.create": "Utwórz nowy kanał",
"more_channels.createClick": "Kliknij przycisk 'Utwórz nowy kanał', aby dodać nowy",
@@ -1778,8 +1786,8 @@
"more_channels.title": "Więcej kanałów",
"more_direct_channels.close": "Zamknij",
"more_direct_channels.message": "Wiadomość",
- "more_direct_channels.new_convo_note": "This will start a new conversation. If you’re adding a lot of people, consider creating a private channel instead.",
- "more_direct_channels.new_convo_note.full": "You’ve reached the maximum number of people for this conversation. Consider creating a private channel instead.",
+ "more_direct_channels.new_convo_note": "To rozpocznie nową rozmowę. Jeśli dodasz więcej osób, rozważ utworzenie kanału prywatnego.",
+ "more_direct_channels.new_convo_note.full": "Osiągnąłeś maksymalną liczbę osób dla tej rozmowy. Zastanów się nad utworzeniem kanału prywatnego.",
"more_direct_channels.title": "Wiadomości bezpośrednie",
"msg_typing.areTyping": "{users} i {last} piszą...",
"msg_typing.isTyping": "{user} pisze...",
@@ -1826,9 +1834,9 @@
"navbar_dropdown.teamSettings": "Opcje zespołu",
"navbar_dropdown.viewMembers": "Wyświetl użytkowników",
"notification.dm": "Wiadomość bezpośrednia",
- "notify_all.confirm": "Confirm",
- "notify_all.question": "By using @all or @channel you are about to send notifications to {totalMembers} people. Are you sure you want to do this?",
- "notify_all.title.confirm": "Confirm sending notifications to entire channel",
+ "notify_all.confirm": "Potwierdź",
+ "notify_all.question": "Korzystając z @all lub @channel chcesz wysłać powiadomienia do {totalMembers} ludzi. Czy na pewno chcesz to zrobić?",
+ "notify_all.title.confirm": "Potwierdź wysyłanie powiadomień do całego kanału",
"passwordRequirements": "Wymagania hasła:",
"password_form.change": "Zmień hasło",
"password_form.click": "Kliknij <a href={url}>tutaj</a>, aby się zalogować.",
@@ -1872,15 +1880,15 @@
"post_message_view.edited": "(edytowany)",
"posts_view.loadMore": "Pobierz więcej wiadomości",
"posts_view.newMsg": "Nowe wiadomości",
- "posts_view.newMsgBelow": "New {count, plural, one {message} other {messages}} below",
+ "posts_view.newMsgBelow": "{count, plural, one {Nowa wiadomość} other {Nowe wiadomości}} poniżej",
"quick_switch_modal.channels": "Kanały",
- "quick_switch_modal.channelsShortcut.mac": "(CMD+K)",
- "quick_switch_modal.channelsShortcut.windows": "(CTRL+K)",
- "quick_switch_modal.help": "Use TAB to toggle between teams/channels, ↑↓ to browse, ↵ to confirm, ESC to dismiss",
- "quick_switch_modal.help_no_team": "Wprowadź nazwę kanału. Użyj ↑↓ do przeglądania, TAB aby wybrać, ↵, aby potwierdzić, ESC, aby zamknąć",
+ "quick_switch_modal.channelsShortcut.mac": "- ⌘K",
+ "quick_switch_modal.channelsShortcut.windows": "- CTRL+K",
+ "quick_switch_modal.help": "Start typing then use TAB to toggle channels/teams, ↑↓ to browse, ↵ to select, and ESC to dismiss.",
+ "quick_switch_modal.help_no_team": "Start typing then use ↑↓ to browse, ↵ to select, and ESC to dismiss.",
"quick_switch_modal.teams": "Warunki",
- "quick_switch_modal.teamsShortcut.mac": "(CMD+ALT+K)",
- "quick_switch_modal.teamsShortcut.windows": "(CTRL+ALT+K)",
+ "quick_switch_modal.teamsShortcut.mac": "- ⌘⌥K",
+ "quick_switch_modal.teamsShortcut.windows": "- CTRL+ALT+K",
"reaction.clickToAdd": "(kliknij aby dodać)",
"reaction.clickToRemove": "(kliknij aby usunąć)",
"reaction.othersReacted": "{otherUsers, number} {otherUsers, plural, one {user} other {users}}",
@@ -1971,8 +1979,6 @@
"sidebar.otherMembers": "Poza tym zespołem",
"sidebar.pg": "Kanały prywatne",
"sidebar.removeList": "Usuń z listy",
- "sidebar.switch_channels": "Switch Channels (CTRL + K)",
- "sidebar.switch_channels.mac": "Switch Channels (CMD + K)",
"sidebar.tutorialScreen1": "<h4>Kanały</h4><p><strong>Kanały</strong> organizują rozmowy o różnych tematach. Są dostępne dla wszystkich członków zespołu. Do prywatnych rozmów proszę używać <strong>Wiadomości bezpośrednich</strong> do pojedynczych użytkowników lub <strong>Prywatnych grup</strong> dla rozmów w grupie użytkowników.</p>",
"sidebar.tutorialScreen2": "<h4>\"{townsquare}\" i \"{offtopic}\"</h4><p> oto dwa startowe kanały publiczne:</p><p><strong>{townsquare}</strong> - to miejsce do szerokiej komunikacji. Każda osoba w zespole jest członkiem tego kanału.</p><p><strong>{offtopic}</strong> - jest to miejsce do zabawy poza kanałami związanych z pracą. Ty i Twój zespół zdecydować, jakie inne kanały utworzyć.</p>",
"sidebar.tutorialScreen3": "<h4>Tworzenie i dołączanie do kanałów</h4><p>Kliknij <strong>\"Więcej...\"</strong> aby stworzyć nowy kanał lub dołączyć do istniejącego.</p><p>Możesz również stworzyć nowy kanał lub grupę prywatną poprzez kliknięcie na symbol <strong>\"+\"</strong> obok nagłówka kanałów lub prywatnych kanałów.</p>",
@@ -2044,6 +2050,9 @@
"sso_signup.length_error": "Nazwa musi mieć co najmniej 3 znaków ale nie więcej niż 15",
"sso_signup.teamName": "Wprowadź nazwę nowego zespołu",
"sso_signup.team_error": "Proszę wprowadzić nazwę zespołu.",
+ "status_dropdown.set_away": "Zaraz wracam",
+ "status_dropdown.set_offline": "Offline",
+ "status_dropdown.set_online": "Online",
"suggestion.loading": "Ładowanie...",
"suggestion.mention.all": "OSTRZEŻENIE: wspomina wszystkich na kanale",
"suggestion.mention.channel": "Powiadamia wszystkich na kanale",
@@ -2140,17 +2149,17 @@
"user.settings.advance.formattingTitle": "Włączenie formatowania wiadomości",
"user.settings.advance.joinLeaveDesc": "When \"On\", System Messages saying a user has joined or left a channel will be visible. When \"Off\", the System Messages about joining or leaving a channel will be hidden. A message will still show up when you are added to a channel, so you can receive a notification.",
"user.settings.advance.joinLeaveTitle": "Włącz wiadomoś dołączenia/opuszczenia",
- "user.settings.advance.markdown_preview": "Show markdown preview option in message input box",
+ "user.settings.advance.markdown_preview": "Pokaż opcję podglądu znaczników w polu wprowadzania wiadomości",
"user.settings.advance.off": "Nie",
"user.settings.advance.on": "Tak",
- "user.settings.advance.preReleaseDesc": "Check any pre-released features you'd like to preview. You may also need to refresh the page before the setting will take effect.",
+ "user.settings.advance.preReleaseDesc": "Sprawdź wszystkie wstępnie udostępnione funkcje, które chcesz włączyć. Może również zajść konieczność odświeżenia strony, zanim ustawienie zacznie obowiązywać.",
"user.settings.advance.preReleaseTitle": "Podgląd funkcji w wersji wstępnej",
"user.settings.advance.sendDesc": "Jeśli jest włączone ENTER wstawia nowy wiersz i CTRL+ENTER wysyła wiadomość.",
"user.settings.advance.sendTitle": "Wysyłaj wiadomość przy użyciu Ctrl+Enter",
- "user.settings.advance.slashCmd_autocmp": "Enable external application to offer slash command autocomplete",
+ "user.settings.advance.slashCmd_autocmp": "Włącz zewnętrzną aplikację, aby zaoferować autouzupełnianie poleceń",
"user.settings.advance.title": "Zaawansowane ustawienia",
- "user.settings.advance.webrtc_preview": "Enable the ability to make and receive one-on-one WebRTC calls",
- "user.settings.custom_theme.awayIndicator": "Away Indicator",
+ "user.settings.advance.webrtc_preview": "Włącz możliwość tworzenia i odbierania połączeń WebRTC",
+ "user.settings.custom_theme.awayIndicator": "Wskaźnik obecności",
"user.settings.custom_theme.buttonBg": "Tło przycisku",
"user.settings.custom_theme.buttonColor": "Tekst przycisku",
"user.settings.custom_theme.centerChannelBg": "Tło środkowego kanału",
@@ -2201,9 +2210,9 @@
"user.settings.display.showNickname": "Pokaż nick, jeśli taki istnieje, w przeciwnym przypadku wyświetl imię i nazwisko",
"user.settings.display.showUsername": "Pokaż nazwę użytkownika (domyślnie)",
"user.settings.display.teammateDisplay": "Wyświetlana nazwa",
- "user.settings.display.theme.applyToAllTeams": "Apply new theme to all my teams",
+ "user.settings.display.theme.applyToAllTeams": "Zastosuj nowy motyw do wszystkich moich zespołów",
"user.settings.display.theme.customTheme": "Motyw użytkownika",
- "user.settings.display.theme.describe": "Open to manage your theme",
+ "user.settings.display.theme.describe": "Otwórz, aby zarządzać motywem",
"user.settings.display.theme.import": "Zaimportuj motyw z Slack",
"user.settings.display.theme.otherThemes": "Zobacz inne motywy",
"user.settings.display.theme.themeColors": "Schemat kolorów",
@@ -2218,7 +2227,7 @@
"user.settings.general.emailGitlabCantUpdate": "Logowanie odbywa się poprzez GitLab. E-mail nie może być zaktualizowany. Adres e-mail używany do powiadomień {email}.",
"user.settings.general.emailGoogleCantUpdate": "Logowanie odbywa się przez Google. E-mail nie może być zaktualizowany. Adres e-mail używany do powiadomień {email}.",
"user.settings.general.emailHelp1": "Adres e-mail używany do logowania się do systemu, powiadomień i restartowania hasła. E-mail wymaga weryfikacji po jego zmianie.",
- "user.settings.general.emailHelp2": "Email has been disabled by your System Administrator. No notification emails will be sent until it is enabled.",
+ "user.settings.general.emailHelp2": "Email został wyłączony przez administratora systemu. Żadne powiadomienia nie są wysyłane, dopóki nie zostanie włączone.",
"user.settings.general.emailHelp3": "Adres e-mail używany jest do logowania się do systemu, powiadomień oraz restartowania hasła.",
"user.settings.general.emailHelp4": "List został wysłany na {email}.",
"user.settings.general.emailLdapCantUpdate": "Logowanie odbywa się za pośrednictwem serwera AD/LDAP. E-mail nie może być zaktualizowany. Adres e-mail używany do powiadomień {email}.",
@@ -2285,13 +2294,13 @@
"user.settings.modal.security": "Bezpieczeństwo",
"user.settings.modal.title": "Ustawienia konta",
"user.settings.notifications.allActivity": "Dla wszystkich aktywności",
- "user.settings.notifications.channelWide": "Wspomina na kanale \"@channel\", \"@all\"",
+ "user.settings.notifications.channelWide": "Wspomina na kanale \"@channel\", \"@all\", \"@here\"",
"user.settings.notifications.close": "Zamknij",
"user.settings.notifications.comments": "Powiadomienia o odpowiedzi",
"user.settings.notifications.commentsAny": "Trigger notifications on messages in reply threads that I start or participate in",
"user.settings.notifications.commentsInfo": "In addition to notifications for when you're mentioned, select if you would like to receive notifications on reply threads.",
"user.settings.notifications.commentsNever": "Do not trigger notifications on messages in reply threads unless I'm mentioned",
- "user.settings.notifications.commentsRoot": "Trigger notifications on messages in threads that I start",
+ "user.settings.notifications.commentsRoot": "Wyzwalaj powiadomienia o wiadomościach w wątkach, które rozpocząłem",
"user.settings.notifications.desktop": "Wyświetlanie powiadomień na pulpicie",
"user.settings.notifications.desktop.allFirefoxForever": "Dla wszystkich aktywności, pokazuj zawsze",
"user.settings.notifications.desktop.allFirefoxTimed": "Dla wszystkich aktywności, pokazuj przez {seconds} sekund",
@@ -2326,13 +2335,13 @@
"user.settings.notifications.info": "Powiadomienia na pulpicie są dostępne na EDGE, Firefox, Safari, Chrome i aplikacji Mattermost.",
"user.settings.notifications.mentionsInfo": "Wspomina uruchamiane są, gdy ktoś wysyła wiadomość zawierającą twoją nazwę użytkownika (\"@{username}\") lub któreś z ustawień wybranych powyżej.",
"user.settings.notifications.never": "Nigdy",
- "user.settings.notifications.noWords": "No words configured",
+ "user.settings.notifications.noWords": "Nie skonfigurowano żadnych słów",
"user.settings.notifications.off": "Wyłącz",
"user.settings.notifications.on": "Włącz",
"user.settings.notifications.onlyMentions": "Tylko dla wzmianek i bezpośrednich wiadomości",
"user.settings.notifications.push": "Powiadomienia mobilne push",
"user.settings.notifications.push_notification.status": "Wysyłaj powiadomienia push gdy",
- "user.settings.notifications.sensitiveName": "Your case sensitive first name \"{first_name}\"",
+ "user.settings.notifications.sensitiveName": "Twoje wrażliwe na wielkość liter imię \"{first_name}\"",
"user.settings.notifications.sensitiveUsername": "Twoja nie wrażliwa na wielkość liter nazwa użytkownika \"{username}\"",
"user.settings.notifications.sensitiveWords": "Inne słowa oddzielone przecinkami:",
"user.settings.notifications.soundConfig": "Proszę skonfigurować dźwięki powiadomień w ustawieniach przeglądarki",
@@ -2357,7 +2366,7 @@
"user.settings.push_notification.onlyMentionsOnline": "Dla wzmianek i wiadomości bezpośrednich, zawsze",
"user.settings.push_notification.send": "Wysyłaj powiadomienia push",
"user.settings.push_notification.status": "Wysyłaj powiadomienia push gdy",
- "user.settings.push_notification.status_info": "Notification alerts are only pushed to your mobile device when your online status matches the selection above.",
+ "user.settings.push_notification.status_info": "Alerty powiadomień są przesyłane tylko do urządzenia mobilnego, gdy stan online odpowiada wybranemu powyżej wyborowi.",
"user.settings.security.active": "Aktywuj",
"user.settings.security.close": "Zamknij",
"user.settings.security.currentPassword": "Bieżące hasło",
@@ -2380,7 +2389,7 @@
"user.settings.security.noApps": "Nie autoryzowano żadnej aplikacji OAuth 2.0.",
"user.settings.security.oauthApps": "Aplikacje OAuth 2.0",
"user.settings.security.oauthAppsDescription": "Kliknij przycisk \"Edytuj\" do zarządzania aplikacjami OAuth 2.0",
- "user.settings.security.oauthAppsHelp": "Applications act on your behalf to access your data based on the permissions you grant them.",
+ "user.settings.security.oauthAppsHelp": "Aplikacje działają w Twoim imieniu, aby uzyskać dostęp do danych w oparciu o przyznane im uprawnienia.",
"user.settings.security.office365": "Office 365",
"user.settings.security.oneSignin": "W danej chwili może używać tylko jednej metody logowania.Zamiany metody logowania spowoduje wysłanie wiadomości e-mail z informacją, czy zmiana zakończyła się pomyślnie.",
"user.settings.security.password": "Hasło",
diff --git a/webapp/i18n/pt-BR.json b/webapp/i18n/pt-BR.json
index 4575a5dfe..79b0316bb 100644
--- a/webapp/i18n/pt-BR.json
+++ b/webapp/i18n/pt-BR.json
@@ -319,19 +319,19 @@
"admin.general.localization.serverLocaleTitle": "Idioma Padrão do Servidor:",
"admin.general.log": "Carregando",
"admin.general.policy": "Política",
- "admin.general.policy.allowBannerDismissalDesc": "When true, users can dismiss the banner until its next update. When false, the banner is permanently visible until it is turned off by the System Admin.",
- "admin.general.policy.allowBannerDismissalTitle": "Allow Banner Dismissal:",
+ "admin.general.policy.allowBannerDismissalDesc": "Quando verdadeiro, os usuários podem dispensar o banner até sua próxima atualização. Quando falso, o banner é permanentemente visível até que seja desativado pelo Administrador do Sistema.",
+ "admin.general.policy.allowBannerDismissalTitle": "Permite Dispensar o Banner:",
"admin.general.policy.allowEditPostAlways": "A qualquer momento",
"admin.general.policy.allowEditPostDescription": "Definir a política sobre o período de tempo que os autores têm de editar suas mensagens após a publicação.",
"admin.general.policy.allowEditPostNever": "Nunca",
"admin.general.policy.allowEditPostTimeLimit": "segundos após a postagem",
"admin.general.policy.allowEditPostTitle": "Permitir que os usuários editem suas mensagens:",
- "admin.general.policy.bannerColorTitle": "Banner Color:",
- "admin.general.policy.bannerTextColorTitle": "Banner Text Color:",
- "admin.general.policy.bannerTextDesc": "Text that will appear in the announcement banner.",
- "admin.general.policy.bannerTextTitle": "Banner Text:",
- "admin.general.policy.enableBannerDesc": "Enable an announcement banner across all teams.",
- "admin.general.policy.enableBannerTitle": "Enable Announcement Banner:",
+ "admin.general.policy.bannerColorTitle": "Cor do Banner:",
+ "admin.general.policy.bannerTextColorTitle": "Cor do Texto do Banner:",
+ "admin.general.policy.bannerTextDesc": "Texto que irá aparecer no banner de anuncio.",
+ "admin.general.policy.bannerTextTitle": "Texto do Banner:",
+ "admin.general.policy.enableBannerDesc": "Habilita o banner de anúncios em todos as equipes.",
+ "admin.general.policy.enableBannerTitle": "Habilita o Banner de Anúncios:",
"admin.general.policy.permissionsAdmin": "Administradores de Time e Sistema",
"admin.general.policy.permissionsAll": "Todos os membros da equipe",
"admin.general.policy.permissionsAllChannel": "Todos os membros do canal",
@@ -746,7 +746,7 @@
"admin.service.sessionCacheDesc": "O número de minutos para o cache de uma sessão na memória.",
"admin.service.sessionDaysEx": "Ex.: \"30\"",
"admin.service.siteURL": "Site URL:",
- "admin.service.siteURLDescription": "O URL, incluindo o número da porta e o protocolo, que os usuários usarão para acessar o Mattermost. Essa configuração é necessária.",
+ "admin.service.siteURLDescription": "A URL que os usuários irão usar para acessar o Mattermost. Portas padrão, como 80 e 443, podem ser omitidas, mas portas fora do padrão são obrigatórias. Por exemplo: http://mattermost.example.com:8065. Esta configuração é obrigatória.",
"admin.service.siteURLExample": "Ex.: \"https://mattermost.example.com:1234\"",
"admin.service.ssoSessionDays": "Tamanho da sessão SSO (dias):",
"admin.service.ssoSessionDaysDesc": "O número de dias desde a última vez que um usuário entrou suas credenciais para expirar a sessão do usuário. Se o método de autenticação é SAML ou GitLab, o usuário pode automaticamente ser registrado novamente no Mattermost se já estiver conectado ao SAML ou GitLab. Depois de alterar essa configuração, a configuração terá efeito após a próxima vez que o usuário digitar suas credenciais.",
@@ -1684,6 +1684,7 @@
"mobile.account_notifications.threads_mentions": "Menções em tópicos",
"mobile.account_notifications.threads_start": "Tópicos que eu iniciei",
"mobile.account_notifications.threads_start_participate": "Tópicos que eu iniciei ou participo",
+ "mobile.channel_drawer.search": "Ir para uma conversa",
"mobile.channel_info.alertMessageDeleteChannel": "Você tem certeza que quer excluir o {term} {name}?",
"mobile.channel_info.alertMessageLeaveChannel": "Você tem certeza que quer deixar o {term} {name}?",
"mobile.channel_info.alertNo": "Não",
@@ -1700,6 +1701,7 @@
"mobile.channel_list.closeGM": "Fechar Mensagem em Grupo",
"mobile.channel_list.dm": "Mensagem Direta",
"mobile.channel_list.gm": "Mensagem em Grupo",
+ "mobile.channel_list.not_member": "NÃO É UM MEMBRO",
"mobile.channel_list.open": "Abrir {term}",
"mobile.channel_list.openDM": "Abrir Mensagem Direta",
"mobile.channel_list.openGM": "Abrir Mensagem em Grupo",
@@ -1716,6 +1718,7 @@
"mobile.create_channel.private": "Novo Canal Privado",
"mobile.create_channel.public": "Novo Canal Público",
"mobile.custom_list.no_results": "Nenhum Resultado",
+ "mobile.drawer.teamsTitle": "Equipes",
"mobile.edit_post.title": "Editando a Mensagem",
"mobile.file_upload.camera": "Tirar Foto ou Vídeo",
"mobile.file_upload.library": "Biblioteca de Fotos",
@@ -1768,6 +1771,11 @@
"mobile.server_url.invalid_format": "URL deve começar com http:// ou https://",
"mobile.session_expired": "Sessão Expirada: Por favor faça o login para continuar recebendo as notificações.",
"mobile.settings.team_selection": "Seleção da Equipe",
+ "modal.manaul_status.ask": "Não me pergunte novamente",
+ "modal.manaul_status.button": "Sim, defina meu status para \"Online\"",
+ "modal.manaul_status.cancel": "Não, mantenha como \"{status}\"",
+ "modal.manaul_status.message": "Você deseja alterar o seu status para \"Online\"?",
+ "modal.manaul_status.title": "Seu status está configurado para \"{status}\"",
"more_channels.close": "Fechar",
"more_channels.create": "Criar Novo Canal",
"more_channels.createClick": "Clique em 'Criar Novo Canal' para fazer um novo",
@@ -1874,13 +1882,13 @@
"posts_view.newMsg": "Novas Mensagens",
"posts_view.newMsgBelow": "{count} {count, plural, one {nova mensagem} other {novas mensagens}} abaixo",
"quick_switch_modal.channels": "Canais",
- "quick_switch_modal.channelsShortcut.mac": "(CMD+K)",
- "quick_switch_modal.channelsShortcut.windows": "(CTRL+K)",
- "quick_switch_modal.help": "Utilize TAB para trocar entre equipes/canais, ↑↓ para navegar, ↵ para confirmar e ESC para cancelar",
- "quick_switch_modal.help_no_team": "Digite o nome do canal. Use ↑↓ para navegar, ↵ para confirmar, ESC para cancelar",
+ "quick_switch_modal.channelsShortcut.mac": "- ⌘K",
+ "quick_switch_modal.channelsShortcut.windows": "- CTRL+K",
+ "quick_switch_modal.help": "Comece a digitar e então use TAB para alternar canais/equipes, ↑↓ para navegar, ↵ para selecionar e ESC para descartar.",
+ "quick_switch_modal.help_no_team": "Comece a digitar e então use ↑↓ para navegar, ↵ para selecionar e ESC para descartar.",
"quick_switch_modal.teams": "Equipes",
- "quick_switch_modal.teamsShortcut.mac": "(CMD+ALT+K)",
- "quick_switch_modal.teamsShortcut.windows": "(CTRL+ALT+K)",
+ "quick_switch_modal.teamsShortcut.mac": "- ⌘⌥K",
+ "quick_switch_modal.teamsShortcut.windows": "- CTRL+ALT+K",
"reaction.clickToAdd": "(clique para adicionar)",
"reaction.clickToRemove": "(clique para remover)",
"reaction.othersReacted": "{otherUsers, number} {otherUsers, plural, one {usuário} other {usuários}}",
@@ -1971,8 +1979,6 @@
"sidebar.otherMembers": "Fora desta equipe",
"sidebar.pg": "Canais Privados",
"sidebar.removeList": "Remover da lista",
- "sidebar.switch_channels": "Troca de Canais (CTRL + K)",
- "sidebar.switch_channels.mac": "Troca de Canais (CMD + K)",
"sidebar.tutorialScreen1": "<h4>Canais</h4><p><strong>Canais</strong> organizam conversas em diferentes tópicos. Eles estão abertos a todos em sua equipe. Para enviar comunicações privadas utilize <strong>Mensagens Diretas</strong> para uma única pessoa ou <strong>Canais Privados</strong> para várias pessoas.</p>",
"sidebar.tutorialScreen2": "<h4>Canais \"{townsquare}\" e \"{offtopic}\"</h4><p>Aqui estão dois canais públicos para começar:</p><p><strong>{townsquare}</strong> é um lugar comunicação de toda equipe. Todo mundo em sua equipe é um membro deste canal.</p><p><strong>{offtopic}</strong> é um lugar para diversão e humor fora dos canais relacionados com o trabalho. Você e sua equipe podem decidir qual outros canais serão criados.</p>",
"sidebar.tutorialScreen3": "<h4>Criando e Participando de Canais</h4><p>Clique em <strong>\"Mais...\"</strong> para criar um novo canal ou participar de um já existente.</p><p>Você também pode criar um novo canal ao clicar <strong>no símbolo \"+\"</strong> ao lado do cabeçalho canal público ou privado.</p>",
@@ -2044,6 +2050,9 @@
"sso_signup.length_error": "O nome deve ser de 3 ou mais caracteres até um máximo de 15",
"sso_signup.teamName": "Entre o nome da nova equipe",
"sso_signup.team_error": "Por favor entre o nome da equipe",
+ "status_dropdown.set_away": "Ausente",
+ "status_dropdown.set_offline": "Desconectado",
+ "status_dropdown.set_online": "Conectado",
"suggestion.loading": "Carregando...",
"suggestion.mention.all": "ATENÇÃO: Todos no canal serão mencionados.",
"suggestion.mention.channel": "Notifica todos no canal",
diff --git a/webapp/i18n/ru.json b/webapp/i18n/ru.json
index 7c5edc085..d2474622b 100644
--- a/webapp/i18n/ru.json
+++ b/webapp/i18n/ru.json
@@ -320,14 +320,14 @@
"admin.general.log": "Ведение журнала",
"admin.general.policy": "Policy",
"admin.general.policy.allowBannerDismissalDesc": "When true, users can dismiss the banner until its next update. When false, the banner is permanently visible until it is turned off by the System Admin.",
- "admin.general.policy.allowBannerDismissalTitle": "Allow Banner Dismissal:",
+ "admin.general.policy.allowBannerDismissalTitle": "Включить возможность скрытия баннера:",
"admin.general.policy.allowEditPostAlways": "Время не указано",
"admin.general.policy.allowEditPostDescription": "Установить политику продолжительности времени после публикации сообщений, в течение которого авторы могут их редактировать",
"admin.general.policy.allowEditPostNever": "Никогда",
"admin.general.policy.allowEditPostTimeLimit": "секунд после публикации",
"admin.general.policy.allowEditPostTitle": "Разрешить пользователям редактировать свои сообщения:",
- "admin.general.policy.bannerColorTitle": "Banner Color:",
- "admin.general.policy.bannerTextColorTitle": "Banner Text Color:",
+ "admin.general.policy.bannerColorTitle": "Цвет баннера:",
+ "admin.general.policy.bannerTextColorTitle": "Цвет текста баннера:",
"admin.general.policy.bannerTextDesc": "Text that will appear in the announcement banner.",
"admin.general.policy.bannerTextTitle": "Banner Text:",
"admin.general.policy.enableBannerDesc": "Enable an announcement banner across all teams.",
@@ -746,7 +746,7 @@
"admin.service.sessionCacheDesc": "Продолжительность кеширования сессии в памяти (в минутах).",
"admin.service.sessionDaysEx": "Например: \"30\"",
"admin.service.siteURL": "Адрес сайта:",
- "admin.service.siteURLDescription": "Адрес, включая номер порта и протокол, по которому пользователям доступен Mattermost. Эта опция обязательная.",
+ "admin.service.siteURLDescription": "The URL that users will use to access Mattermost. Standard ports, such as 80 and 443, can be omitted, but non-standard ports are required. For example: http://mattermost.example.com:8065. This setting is required.",
"admin.service.siteURLExample": "Например: \"https://mattermost.example.com:1234\"",
"admin.service.ssoSessionDays": "Длина сессии SSO (дней):",
"admin.service.ssoSessionDaysDesc": "Количество дней с последнего ввода пользователем своих учетных данных до истечения срока пользовательской сессии. Если метод аутентификации - SAML или GitLab, пользователь может быть автоматически впущен обратно в Mattermost, если он уже вошел в SAML или GitLab. После изменения этого параметра он вступит в силу после следующего ввода пользователем своих учетных данных.",
@@ -857,8 +857,8 @@
"admin.system_analytics.title": "эта Cистема",
"admin.system_analytics.totalPosts": "Всего сообщений",
"admin.system_users.allUsers": "Все пользователи",
- "admin.system_users.noTeams": "No Teams",
- "admin.system_users.title": "{siteName} Users",
+ "admin.system_users.noTeams": "Нет команд",
+ "admin.system_users.title": "{siteName} Пользователи",
"admin.team.brandDesc": "Включите фирменный стиль для показа изображения и сопровождающего текста на странице входа.",
"admin.team.brandDescriptionExample": "Все способы общения команды собраны в одном месте, с возможностью мгновенного поиска и доступом отовсюду",
"admin.team.brandDescriptionHelp": "Описание сервиса отображаемое на экранах входа и пользовательского интерфейса. Если не указано, то отображается \"Общение всей команды в одном месте, с возможностью поиска и доступом отовсюду\".",
@@ -914,7 +914,7 @@
"admin.user_item.emailTitle": "<strong>Email:</strong> {email}",
"admin.user_item.inactive": "Неактивен",
"admin.user_item.makeActive": "Активировать",
- "admin.user_item.makeInactive": "Deactivate",
+ "admin.user_item.makeInactive": "Деактивировать",
"admin.user_item.makeMember": "Сделать участником",
"admin.user_item.makeSysAdmin": "Сделать администратором системы",
"admin.user_item.makeTeamAdmin": "Сделать администратором команды",
@@ -1005,8 +1005,8 @@
"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": "Account activated",
- "audit_table.accountInactive": "Account deactivated",
+ "audit_table.accountActive": "Аккаунт активирован",
+ "audit_table.accountInactive": "Аккаунт деактивирован",
"audit_table.action": "Действие",
"audit_table.attemptedAllowOAuthAccess": "Attempted to allow a new OAuth service access",
"audit_table.attemptedLicenseAdd": "Попытка добавления новой лицензии",
@@ -1080,16 +1080,16 @@
"change_url.longer": "Ссылка должна быть от двух символов длиной.",
"change_url.noUnderscore": "URL не может содержать два подчеркивания подряд.",
"change_url.startWithLetter": "URL должен начинаться с буквы или цифры",
- "change_url.urlLabel": "Channel URL",
+ "change_url.urlLabel": "Адрес канала",
"channelHeader.addToFavorites": "Добавить в избранное",
"channelHeader.removeFromFavorites": "Удалить из избранного",
"channel_flow.alreadyExist": "Канал с таким URL уже существует",
"channel_flow.changeUrlDescription": "Некоторые символы не разрешены в URL-адресе и могут быть удалены.",
- "channel_flow.changeUrlTitle": "Change Channel URL",
+ "channel_flow.changeUrlTitle": "Изменить адрес канала",
"channel_flow.create": "Создать Канал",
"channel_flow.handleTooShort": "Ссылка на канал должна быть не короче 2-х буквенных символов",
"channel_flow.invalidName": "Недопустимое имя канала",
- "channel_flow.set_url_title": "Set Channel URL",
+ "channel_flow.set_url_title": "Установить адрес канала",
"channel_header.addMembers": "Добавить участников",
"channel_header.addToFavorites": "Добавить в избранное",
"channel_header.channelHeader": "Изменить заголовок канала",
@@ -1144,7 +1144,7 @@
"channel_modal.header": "Заголовок",
"channel_modal.headerEx": "Например: \"[Заголовок ссылки](http://example.com)\"",
"channel_modal.headerHelp": "Задайте текст, который появится в заголовке канала рядом с названием. К примеру, вы можете включить часто используемые ссылки, введя [Текст ссылки](http://example.com).",
- "channel_modal.modalTitle": "New Channel",
+ "channel_modal.modalTitle": "Новый канал",
"channel_modal.name": "Имя",
"channel_modal.nameEx": "Например: \"Bugs\", \"Маркетинг\", \"客户支持\"",
"channel_modal.optional": "(необязательно)",
@@ -1247,7 +1247,7 @@
"custom_emoji.header": "Пользовательские смайлы",
"custom_emoji.search": "Найти кастомные Emoji",
"deactivate_member_modal.cancel": "Отмена",
- "deactivate_member_modal.deactivate": "Deactivate",
+ "deactivate_member_modal.deactivate": "Деактивировать",
"deactivate_member_modal.desc": "This action deactivates {username}. They will be logged out and not have access to any teams or channels on this system. Are you sure you want to deactivate {username}?",
"deactivate_member_modal.title": "Deactivate {username}",
"default_channel.purpose": "Post messages here that you want everyone to see. Everyone automatically becomes a permanent member of this channel when they join the team.",
@@ -1262,7 +1262,7 @@
"delete_post.post": "Сообщение",
"delete_post.question": "Действительно хотите удалить {term}?",
"delete_post.warning": "Это сообщение имеет {count} комментариев(-ия).",
- "edit_channel_header.editHeader": "Edit the Channel Header...",
+ "edit_channel_header.editHeader": "Изменить заголовок канала...",
"edit_channel_header.previewHeader": "Правка заголовка",
"edit_channel_header_modal.cancel": "Отмена",
"edit_channel_header_modal.description": "Измените текст, который добавится после названия канала в заголовке.",
@@ -1321,16 +1321,16 @@
"emoji_picker.search": "Поиск",
"emoji_picker.symbols": "Символы",
"emoji_picker.travel": "Путешествия",
- "error.local_storage.help1": "Enable cookies",
- "error.local_storage.help2": "Turn off private browsing",
- "error.local_storage.help3": "Use a supported browser (IE 11, Chrome 43+, Firefox 38+, Safari 9, Edge)",
- "error.local_storage.message": "Mattermost was unable to load because a setting in your browser prevents the use of its local storage features. To allow Mattermost to load, try the following actions:",
+ "error.local_storage.help1": "Включить cookies",
+ "error.local_storage.help2": "Отключите режим инкогнито",
+ "error.local_storage.help3": "Воспользуйтесь поддерживаемым браузером (IE 11, Chrome 43+, Firefox 38+, Safari 9, Edge)",
+ "error.local_storage.message": "Mattermost не может сохранить настройки в локальном хранилище, так как браузер предотвращает использование данной возможности. Чтобы позволить Mattermost загрузиться, попробуйте следовать следующим инструкциям:",
"error.not_found.link_message": "Назад в Mattermost",
"error.not_found.message": "Эта страница не существует",
"error.not_found.title": "Страница не найдена",
- "error_bar.expired": "Enterprise license is expired and some features may be disabled. <a href='{link}' target='_blank'>Please renew</a>.",
- "error_bar.expiring": "Enterprise license expires on {date}. <a href='{link}' target='_blank'>Please renew</a>.",
- "error_bar.past_grace": "Enterprise license is expired and some features may be disabled. Please contact your System Administrator for details.",
+ "error_bar.expired": "Корпоративная лицензия истекла и некоторые возможности могут быть отключены. <a href='{link}' target='_blank'>Продлить</a>.",
+ "error_bar.expiring": "Корпоративная лицензия истекает {date}. <a href='{link}' target='_blank'>Продлить</a>.",
+ "error_bar.past_grace": "Корпоративная лицензия истекла и некоторые возможности могут быть отключены. Пожалуйста, обратитесь к администратору.",
"error_bar.preview_mode": "Режим просмотра: Email уведомления не настроены",
"error_bar.site_url": "Please configure your {docsLink} in the {link}.",
"error_bar.site_url.docsLink": "Адрес сайта:",
@@ -1339,7 +1339,7 @@
"file_attachment.download": "Скачать",
"file_info_preview.size": "Размер ",
"file_info_preview.type": "Тип файла ",
- "file_upload.disabled": "File attachments are disabled.",
+ "file_upload.disabled": "Прикрепление файлов отключено.",
"file_upload.fileAbove": "Нельзя загрузить файл больше {max}МБ: {filename}",
"file_upload.filesAbove": "Нельзя загрузить файлы больше {max}МБ: {filenames}",
"file_upload.limited": "Загрузка ограничена максимум {count} файлами(ом). Пожалуйста используйте дополнительные сообщения для отправки большего количества.more files.",
@@ -1579,7 +1579,7 @@
"intro_messages.inviteOthers": "Пригласить других в эту команду",
"intro_messages.noCreator": "Начало общения в {name} {type}, созданная {date}.",
"intro_messages.offTopic": "<h4 class=\"channel-intro__title\">{display_name} - начало общения</h4><p class=\"channel-intro__content\">{display_name}, канал для общения по нерабочим вопросам.<br/></p>",
- "intro_messages.onlyInvited": " Только приглашенные пользователи могут видеть эту приватную группу.",
+ "intro_messages.onlyInvited": " Только приглашенные пользователи могут видеть этот приватный канал.",
"intro_messages.purpose": " Назначение для {type}: {purpose}.",
"intro_messages.setHeader": "Установить заголовок",
"intro_messages.teammate": "Начало истории личных сообщений с участником. Личные сообщения и файлы доступны здесь и не видны за пределами этой области.",
@@ -1605,9 +1605,9 @@
"ldap_signup.length_error": "Имя должно быть длиннее 3 символов и короче 15.",
"ldap_signup.teamName": "Введите название новой команды",
"ldap_signup.team_error": "Пожалуйста, введите имя команды",
- "leave_private_channel_modal.leave": "Yes, leave channel",
+ "leave_private_channel_modal.leave": "Да, покинуть канал",
"leave_private_channel_modal.message": "Are you sure you wish to leave the private channel {channel}? You must be re-invited in order to re-join this channel in the future.",
- "leave_private_channel_modal.title": "Leave Private Channel {channel}",
+ "leave_private_channel_modal.title": "Покинуть приватный канал {channel}",
"leave_team_modal.desc": "Вы будете удалены из всех публичных каналов и приватных групп. Если команда приватная, то вы не сможете вернуться. Вы уверены?",
"leave_team_modal.no": "Нет",
"leave_team_modal.title": "Покинуть команду?",
@@ -1640,7 +1640,7 @@
"login.or": "or",
"login.password": "Пароль",
"login.passwordChanged": " Пароль успешно обновлён",
- "login.placeholderOr": " or ",
+ "login.placeholderOr": " или ",
"login.session_expired": " Сессия истекла. Пожалуйста, войдите заново",
"login.signIn": "Войти",
"login.signInLoading": "Выполняется вход...",
@@ -1679,19 +1679,20 @@
"mobile.about.serverVersionNoBuild": "Версия сервера: {version}",
"mobile.account.notifications.email.footer": "Когда отошел более чем на пять минут",
"mobile.account_notifications.mentions_footer": "Ваше имя (\"@{username}\") всегда вызовет оповещение.",
- "mobile.account_notifications.non-case_sensitive_words": "Other non-case sensitive words...",
+ "mobile.account_notifications.non-case_sensitive_words": "Другие регистронезависимые слова...",
"mobile.account_notifications.reply.header": "Отправлять уведомления об ответе",
"mobile.account_notifications.threads_mentions": "Упоминания в тредах",
"mobile.account_notifications.threads_start": "Ветки начатые мной",
"mobile.account_notifications.threads_start_participate": "Threads that I start or participate in",
- "mobile.channel_info.alertMessageDeleteChannel": "Вы действительно хотите покинуть {term} {name}?",
+ "mobile.channel_drawer.search": "Перейти к беседе",
+ "mobile.channel_info.alertMessageDeleteChannel": "Вы действительно хотите удалить {term} {name}?",
"mobile.channel_info.alertMessageLeaveChannel": "Вы действительно хотите покинуть {term} {name}?",
"mobile.channel_info.alertNo": "Нет",
"mobile.channel_info.alertTitleDeleteChannel": "Удалить {term}",
"mobile.channel_info.alertTitleLeaveChannel": "Покинуть {term}",
"mobile.channel_info.alertYes": "Да",
"mobile.channel_info.privateChannel": "Личный Канал",
- "mobile.channel_info.publicChannel": "Публичные Каналы",
+ "mobile.channel_info.publicChannel": "Публичные каналы",
"mobile.channel_list.alertMessageLeaveChannel": "Вы действительно хотите покинуть {term} {name}?",
"mobile.channel_list.alertNo": "Нет",
"mobile.channel_list.alertTitleLeaveChannel": "Покинуть {term}",
@@ -1700,67 +1701,69 @@
"mobile.channel_list.closeGM": "Close Group Message",
"mobile.channel_list.dm": "Прямое сообщение",
"mobile.channel_list.gm": "Group Message",
- "mobile.channel_list.open": "Open {term}",
+ "mobile.channel_list.not_member": "NOT A MEMBER",
+ "mobile.channel_list.open": "Открыть {term}",
"mobile.channel_list.openDM": "Open Direct Message",
"mobile.channel_list.openGM": "Open Group Message",
"mobile.channel_list.privateChannel": "Личный Канал",
"mobile.channel_list.publicChannel": "Публичные Каналы",
- "mobile.channel_list.unreads": "UNREADS",
+ "mobile.channel_list.unreads": "НЕПРОЧИТАННЫЕ",
"mobile.components.channels_list_view.yourChannels": "Ваши каналы:",
"mobile.components.error_list.dismiss_all": "Dismiss All",
"mobile.components.select_server_view.continue": "Продолжить",
"mobile.components.select_server_view.enterServerUrl": "Введите адрес сервера",
"mobile.components.select_server_view.proceed": "Продолжить",
"mobile.components.select_server_view.siteUrlPlaceholder": "https://mattermost.example.com",
- "mobile.create_channel": "Create",
+ "mobile.create_channel": "Создать",
"mobile.create_channel.private": "Новый Личный Канал",
- "mobile.create_channel.public": "Публичные Каналы",
- "mobile.custom_list.no_results": "No Results",
- "mobile.edit_post.title": "Editing Message",
- "mobile.file_upload.camera": "Take Photo or Video",
- "mobile.file_upload.library": "Photo Library",
+ "mobile.create_channel.public": "Новый публичный канал",
+ "mobile.custom_list.no_results": "Нет результатов",
+ "mobile.drawer.teamsTitle": "Команды",
+ "mobile.edit_post.title": "Редактирование сообщения",
+ "mobile.file_upload.camera": "Сделать фото или видео",
+ "mobile.file_upload.library": "Библиотека изображений",
"mobile.file_upload.more": "Еще",
- "mobile.file_upload.video": "Video Libary",
+ "mobile.file_upload.video": "Библиотека видео",
"mobile.help.title": "Помощь",
"mobile.intro_messages.DM": "Начало истории личных сообщений с {teammate}. Личные сообщения и файлы доступны здесь и не видны за пределами этой области.",
"mobile.intro_messages.default_message": "This is the first channel teammates see when they sign up - use it for posting updates everyone needs to know.",
- "mobile.intro_messages.default_welcome": "Welcome to {name}!",
- "mobile.loading_channels": "Loading Channels...",
- "mobile.loading_members": "Loading Members...",
- "mobile.loading_posts": "Loading Messages...",
- "mobile.login_options.choose_title": "Choose your login method",
- "mobile.notification.in": " in ",
- "mobile.offlineIndicator.connected": "Connected",
- "mobile.offlineIndicator.connecting": "Подключение",
- "mobile.offlineIndicator.offline": "No internet connection",
+ "mobile.intro_messages.default_welcome": "Добро пожаловать в {name}!",
+ "mobile.loading_channels": "Загрузка списка каналов...",
+ "mobile.loading_members": "Загрузка списка участников...",
+ "mobile.loading_posts": "Загрузка сообщений...",
+ "mobile.login_options.choose_title": "Выберите метод входа",
+ "mobile.notification.in": " в ",
+ "mobile.offlineIndicator.connected": "Подключено",
+ "mobile.offlineIndicator.connecting": "Подключение...",
+ "mobile.offlineIndicator.offline": "Нет соединения с интернетом",
"mobile.post.cancel": "Отмена",
"mobile.post.delete_question": "Вы действительно хотите удалить запись?",
- "mobile.post.delete_title": "Delete Post",
- "mobile.post.failed_delete": "Delete Message",
- "mobile.post.failed_retry": "Try Again",
- "mobile.post.failed_title": "Unable to send your message",
- "mobile.post.retry": "Refresh",
- "mobile.request.invalid_response": "Received invalid response from the server.",
- "mobile.routes.channelInfo": "Info",
- "mobile.routes.channelInfo.createdBy": "Created by {creator} on ",
- "mobile.routes.channelInfo.delete_channel": "Удалить канал...",
+ "mobile.post.delete_title": "Удалить пост",
+ "mobile.post.failed_delete": "Удалить сообщение",
+ "mobile.post.failed_retry": "Попробовать ещё раз",
+ "mobile.post.failed_title": "Не удалось отправить сообщение",
+ "mobile.post.retry": "Обновить",
+ "mobile.request.invalid_response": "Получен неверный ответ от сервера",
+ "mobile.routes.channelInfo": "Информация",
+ "mobile.routes.channelInfo.createdBy": "Создан {creator} в ",
+ "mobile.routes.channelInfo.delete_channel": "Удалить канал",
"mobile.routes.channelInfo.favorite": "Избранные",
- "mobile.routes.channel_members.action": "Удалить участника",
- "mobile.routes.channel_members.action_message": "You must select at least one member to remove from the channel.",
- "mobile.routes.channel_members.action_message_confirm": "Are you sure you want to remove the selected members from the channel?",
+ "mobile.routes.channel_members.action": "Удалить участников",
+ "mobile.routes.channel_members.action_message": "Вы должны выбрать хотя бы одного участника для удаления с канала.",
+ "mobile.routes.channel_members.action_message_confirm": "Вы уверены, что хотите удалить выбранных участников с канала?",
"mobile.routes.channels": "Каналы",
"mobile.routes.enterServerUrl": "Введите адрес сервера",
"mobile.routes.login": "Вход",
"mobile.routes.loginOptions": "Login Chooser",
- "mobile.routes.mfa": "Включить многофакторную аутентификацию",
+ "mobile.routes.mfa": "Многофакторная аутентификация",
"mobile.routes.postsList": "Список постов",
"mobile.routes.saml": "Single SignOn",
"mobile.routes.selectTeam": "Выберите команду",
- "mobile.routes.settings": "Settings",
+ "mobile.routes.settings": "Параметры",
"mobile.routes.sso": "Single Sign-On",
- "mobile.routes.thread": "{channelName} Thread",
+ "mobile.routes.thread": "{channelName} Ветка",
"mobile.routes.thread_dm": "Direct Message Thread",
- "mobile.routes.user_profile": "Profile",
+ "mobile.routes.user_profile": "Профиль",
"mobile.routes.user_profile.send_message": "Отправить сообщение",
"mobile.select_team.choose": "Ваши команды: ",
"mobile.select_team.join_open": "Другие команды, к которым вы можете присоединиться.",
@@ -1768,6 +1771,11 @@
"mobile.server_url.invalid_format": "Адрес должен начинаться с http:// или https://",
"mobile.session_expired": "Session Expired: Please log in to continue receiving notifications.",
"mobile.settings.team_selection": "Выбор команды",
+ "modal.manaul_status.ask": "Не задавать больше этот вопрос",
+ "modal.manaul_status.button": "Да, установите мой статус \"В сети\"",
+ "modal.manaul_status.cancel": "Нет, оставьте статус \"{status}\"",
+ "modal.manaul_status.message": "Хотите ли вы изменить свой статус на \"В сети\"?",
+ "modal.manaul_status.title": "Ваш статус установлен в \"{status}\"",
"more_channels.close": "Закрыть",
"more_channels.create": "Создать новый канал",
"more_channels.createClick": "Нажмите 'Создать Новый Канал' для создания нового канала",
@@ -1785,11 +1793,11 @@
"msg_typing.isTyping": "{user} печатает...",
"msg_typing.someone": "Кто-то",
"multiselect.add": "Добавить",
- "multiselect.go": "Go",
+ "multiselect.go": "Перейти",
"multiselect.instructions": "Используйте клавиши вверх/вниз и enter для выбора.",
"multiselect.numPeopleRemaining": "Вы можете добавить ещё {num, number} {num, plural, =0 {людей} one {человека} few {человека} other {людей}}.",
- "multiselect.numRemaining": "You can add {num, number} more",
- "multiselect.placeholder": "Search and add members",
+ "multiselect.numRemaining": "Вы можете добавить ещё {num, number}",
+ "multiselect.placeholder": "Найти и добавить участников",
"navbar.addMembers": "Добавить участников",
"navbar.click": "Щелкните здесь",
"navbar.delete": "Удалить канал...",
@@ -1803,10 +1811,10 @@
"navbar.toggle1": "Свернуть меню",
"navbar.toggle2": "Развернуть меню",
"navbar.viewInfo": "Информация",
- "navbar.viewPinnedPosts": "View Pinned Posts",
+ "navbar.viewPinnedPosts": "Просмотреть прикрепленные посты",
"navbar_dropdown.about": "О Mattermost",
"navbar_dropdown.accountSettings": "Учетная запись",
- "navbar_dropdown.addMemberToTeam": "Add Members to Team",
+ "navbar_dropdown.addMemberToTeam": "Добавить пользователей в команду",
"navbar_dropdown.console": "Системная консоль",
"navbar_dropdown.create": "Создать команду",
"navbar_dropdown.emoji": "Пользовательские смайлы",
@@ -1814,7 +1822,7 @@
"navbar_dropdown.integrations": "Интеграция",
"navbar_dropdown.inviteMember": "Send Email Invite",
"navbar_dropdown.join": "Присоединиться к другой команде",
- "navbar_dropdown.keyboardShortcuts": "Keyboard Shortcuts",
+ "navbar_dropdown.keyboardShortcuts": "Клавиши быстрого доступа",
"navbar_dropdown.leave": "Уйти из команды",
"navbar_dropdown.logout": "Выйти",
"navbar_dropdown.manageMembers": "Участники",
@@ -1826,7 +1834,7 @@
"navbar_dropdown.teamSettings": "Настройки команды",
"navbar_dropdown.viewMembers": "Просмотреть список участников",
"notification.dm": "Прямое сообщение",
- "notify_all.confirm": "Confirm",
+ "notify_all.confirm": "Подтвердить",
"notify_all.question": "By using @all or @channel you are about to send notifications to {totalMembers} people. Are you sure you want to do this?",
"notify_all.title.confirm": "Confirm sending notifications to entire channel",
"passwordRequirements": "Требования к паролю:",
@@ -1848,7 +1856,7 @@
"pending_post_actions.cancel": "Отмена",
"pending_post_actions.retry": "Повторить",
"permalink.error.access": "Постоянная ссылка принадлежит к удалённому сообщению или каналу, к которому у вас нет доступа.",
- "permalink.error.title": "Message Not Found",
+ "permalink.error.title": "Сообщение не найдено",
"post_attachment.collapse": "Скрыть...",
"post_attachment.more": "Ещё…",
"post_body.commentedOn": "Прокомментировал {name}{apostrophe} сообщение: ",
@@ -1865,26 +1873,26 @@
"post_info.mobile.unflag": "Не помечено",
"post_info.permalink": "Постоянная ссылка",
"post_info.pin": "Pin to channel",
- "post_info.pinned": "Pinned",
+ "post_info.pinned": "Прикреплено",
"post_info.reply": "Ответить",
- "post_info.system": "System",
+ "post_info.system": "Система",
"post_info.unpin": "Un-pin from channel",
"post_message_view.edited": "(отредактировано)",
"posts_view.loadMore": "Больше сообщений",
"posts_view.newMsg": "Новые сообщения",
"posts_view.newMsgBelow": "{count, plural, one {Новое сообщение} other {Новые сообщения}} ниже",
"quick_switch_modal.channels": "Каналы",
- "quick_switch_modal.channelsShortcut.mac": "(CMD+K)",
- "quick_switch_modal.channelsShortcut.windows": "(CTRL+K)",
- "quick_switch_modal.help": "Use TAB to toggle between teams/channels, ↑↓ to browse, ↵ to confirm, ESC to dismiss",
- "quick_switch_modal.help_no_team": "Напишите название канала. Используйте ↑↓ для перемещения, TAB для выбора, ↵ для подтверждения и ESC для отказа",
- "quick_switch_modal.teams": "Условия",
- "quick_switch_modal.teamsShortcut.mac": "(CMD+ALT+K)",
- "quick_switch_modal.teamsShortcut.windows": "(CTRL+ALT+K)",
+ "quick_switch_modal.channelsShortcut.mac": "- ⌘K",
+ "quick_switch_modal.channelsShortcut.windows": "- CTRL+K",
+ "quick_switch_modal.help": "Start typing then use TAB to toggle channels/teams, ↑↓ to browse, ↵ to select, and ESC to dismiss.",
+ "quick_switch_modal.help_no_team": "Start typing then use ↑↓ to browse, ↵ to select, and ESC to dismiss.",
+ "quick_switch_modal.teams": "Команды",
+ "quick_switch_modal.teamsShortcut.mac": "- ⌘⌥K",
+ "quick_switch_modal.teamsShortcut.windows": "- CTRL+ALT+K",
"reaction.clickToAdd": "(нажмите, чтобы добавить)",
"reaction.clickToRemove": "(нажмите, чтобы удалить)",
"reaction.othersReacted": "{otherUsers, number} {otherUsers, plural, one {пользователь} few {пользователя} other {пользователей}}",
- "reaction.reacted": "{users} {reactionVerb} with {emoji}",
+ "reaction.reacted": "{users} {reactionVerb} с {emoji}",
"reaction.reactionVerb.user": "reacted",
"reaction.reactionVerb.users": "reacted",
"reaction.reactionVerb.you": "reacted",
@@ -1907,7 +1915,7 @@
"rename_channel.required": "Обязательное поле",
"rename_channel.save": "Сохранить",
"rename_channel.title": "Переименовать канал",
- "rename_channel.url": "URL:",
+ "rename_channel.url": "URL",
"rhs_comment.comment": "Комментарий",
"rhs_comment.del": "Удалить",
"rhs_comment.edit": "Редактировать",
@@ -1962,7 +1970,7 @@
"setting_upload.noFile": "Файл не выбран.",
"setting_upload.select": "Выбрать файл",
"sidebar.channels": "Каналы",
- "sidebar.createChannel": "Создать общедоступный канал",
+ "sidebar.createChannel": "Создать публичный канал",
"sidebar.createGroup": "Создать личный канал",
"sidebar.direct": "Личные сообщения",
"sidebar.favorite": "Избранные",
@@ -1971,8 +1979,6 @@
"sidebar.otherMembers": "За пределами команды",
"sidebar.pg": "Личные Каналы",
"sidebar.removeList": "Удалить из списка",
- "sidebar.switch_channels": "Switch Channels (CTRL + K)",
- "sidebar.switch_channels.mac": "Switch Channels (CMD + K)",
"sidebar.tutorialScreen1": "<h4>Каналы</h4><p><strong>Каналы</strong> предназначены для организации обсуждений на разные темы. Они открыты для всех в вашей команде. Чтобы отправлять приватные сообщения, используйте <strong>личные сообщения</strong> для диалогов или <strong>приватные группы</strong> для бесед.</p>",
"sidebar.tutorialScreen2": "<h4>Каналы \"{townsquare}\" и \"{offtopic}\"</h4><p>Для начала вам будут доступны два публичных канала:</p><p><strong>{townsquare}</strong> используется для внутрикомандного общения. Каждый из вашей команды является участником этого канала.</p><p><strong>{offtopic}</strong> предназначен для юмора и развлечений отдельно от рабочих каналов. Вы и Ваша команда может выбрать какие другие каналы вам потребуются.</p>",
"sidebar.tutorialScreen3": "<h4>Создание и присоединение к каналу</h4><p>Нажмите <strong>\"Больше...\"</strong> для создания или присоединения к одному из каналов.</p><p>Вы также можете создать канал или приватную группу, нажав на <strong>\"+\" symbol</strong>, идущего после заголовка канала или приватной группы.</p>",
@@ -1980,7 +1986,7 @@
"sidebar.unreadBelow": "Непрочтённые сообщения ниже",
"sidebar_header.tutorial": "<h4>Main Menu</h4><p>The <strong>Main Menu</strong> is where you can <strong>Invite New Members</strong>, access your <strong>Account Settings</strong> and set your <strong>Theme Color</strong>.</p><p>Team administrators can also access their <strong>Team Settings</strong> from this menu.</p><p>System administrators will find a <strong>System Console</strong> option to administrate the entire system.</p>",
"sidebar_right_menu.accountSettings": "Учетная запись",
- "sidebar_right_menu.addMemberToTeam": "Add Members to Team",
+ "sidebar_right_menu.addMemberToTeam": "Добавить пользователей в команду",
"sidebar_right_menu.console": "Системная консоль",
"sidebar_right_menu.flagged": "Отмеченные сообщения",
"sidebar_right_menu.help": "Помощь",
@@ -2044,6 +2050,9 @@
"sso_signup.length_error": "Имя должно быть более 3 и менее 15 символов",
"sso_signup.teamName": "Введите название новой команды",
"sso_signup.team_error": "Введите имя команды",
+ "status_dropdown.set_away": "Отошёл",
+ "status_dropdown.set_offline": "Не в сети",
+ "status_dropdown.set_online": "В сети",
"suggestion.loading": "Загрузка...",
"suggestion.mention.all": "CAUTION: This mentions everyone in channel",
"suggestion.mention.channel": "Уведомляет всех на канале",
@@ -2086,9 +2095,9 @@
"team_members_dropdown.confirmDemotionCmd": "Роли платформы system_admin {username}",
"team_members_dropdown.inactive": "Неактивен",
"team_members_dropdown.leave_team": "Удалить из команды",
- "team_members_dropdown.makeActive": "Активность",
+ "team_members_dropdown.makeActive": "Активировать",
"team_members_dropdown.makeAdmin": "Сделать администратором команды",
- "team_members_dropdown.makeInactive": "Deactivate",
+ "team_members_dropdown.makeInactive": "Деактивировать",
"team_members_dropdown.makeMember": "Сделать участником",
"team_members_dropdown.member": "Участник",
"team_members_dropdown.systemAdmin": "Системный администратор",
@@ -2128,7 +2137,7 @@
"update_command.question": "Ваши изменения могут повредить существующую слэш-команду. Вы уверены, что хотите продолжить?",
"update_command.update": "Обновить",
"update_incoming_webhook.update": "Обновить",
- "update_outgoing_webhook.confirm": "Добавить исходящий Webhook",
+ "update_outgoing_webhook.confirm": "Добавить исходящий вебхук",
"update_outgoing_webhook.question": "Ваши изменения могут повредить существующую слэш-команду. Вы уверены, что хотите продолжить?",
"update_outgoing_webhook.update": "Обновить",
"upload_overlay.info": "Бросьте сюда файл, чтобы загрузить его.",
@@ -2180,8 +2189,8 @@
"user.settings.display.clockDisplay": "Отображение времени",
"user.settings.display.collapseDesc": "Настраивает, показываются ли предварительные просмотры ссылок на изображения свёрнутыми или развёрнутыми по умолчанию. Этой настройкой можно так же управлять слэш-командами /expand и /collapse.",
"user.settings.display.collapseDisplay": "Внешний вид изображений ссылок предпросмотра по умолчанию",
- "user.settings.display.collapseOff": "Collapsed",
- "user.settings.display.collapseOn": "Expanded",
+ "user.settings.display.collapseOff": "Свёрнуто",
+ "user.settings.display.collapseOn": "Раскрыто",
"user.settings.display.fixedWidthCentered": "По центру, фиксировано по ширине",
"user.settings.display.fontDesc": "Выберите шрифт пользовательского интерфейса Mattermost.",
"user.settings.display.fontTitle": "Шрифт",
@@ -2213,7 +2222,7 @@
"user.settings.general.checkEmailNoAddress": "Для верификации нового адреса проверьте ваш почтовый ящик",
"user.settings.general.close": "Закрыть",
"user.settings.general.confirmEmail": "Подтвердите Email",
- "user.settings.general.currentEmail": "Current Email",
+ "user.settings.general.currentEmail": "Текущий адрес электронной почты",
"user.settings.general.email": "Email",
"user.settings.general.emailGitlabCantUpdate": "Login occurs through GitLab. Email cannot be updated. Email address used for notifications is {email}.",
"user.settings.general.emailGoogleCantUpdate": "Вход осуществлен через Google. Адрес электронной почты не может быть обновлен. Адрес электронной почты используемый для уведомлений {email}.",
@@ -2241,7 +2250,7 @@
"user.settings.general.loginOffice365": "Вход через Office 365 ({email})",
"user.settings.general.loginSaml": "Вход выполнен через SAML ({email})",
"user.settings.general.newAddress": "Новый адрес: {email}<br />Проверьте ваш E-Mail для подтверждения адреса выше.",
- "user.settings.general.newEmail": "New Email",
+ "user.settings.general.newEmail": "Новый адрес электронной почты",
"user.settings.general.nickname": "Псеводним",
"user.settings.general.nicknameExtra": "Используйте псевдоним в качестве имени, если Вас можно называть отлично от имени или имени пользователя. Псевдоним полезно использовать, когда два или более человека имеют созвучные имена или имена пользователей.",
"user.settings.general.notificationsExtra": "По умолчанию Вы получаете уведомления о упоминаниях, когда кто-либо пишет Ваше имя. Для изменения перейдите в настройки {notify}.",
@@ -2273,7 +2282,7 @@
"user.settings.mfa.removeHelp": "Отключение многофакторной аутентификации означает, что Вам больше не будет требоваться пароль, высылаемый на телефон, при каждом входе в аккаунт.",
"user.settings.mfa.requiredHelp": "Multi-factor authentication is required on this server. Resetting is only recommended when you need to switch code generation to a new mobile device. You will be required to set it up again immediately.",
"user.settings.mfa.reset": "Отключить многофакторную проверку подлинности",
- "user.settings.mfa.secret": "Secret:",
+ "user.settings.mfa.secret": "Секрет",
"user.settings.mfa.title": "Включить многофакторную аутентификацию",
"user.settings.modal.advanced": "Дополнительно",
"user.settings.modal.confirmBtns": "Да, отменить",
@@ -2312,7 +2321,7 @@
"user.settings.notifications.desktop.title": "Оповещения на рабочий стол",
"user.settings.notifications.desktop.unlimited": "Неограниченно",
"user.settings.notifications.desktopSounds": "Звуковые оповещения на рабочий стол",
- "user.settings.notifications.email.disabled": "Отключено системным администратором",
+ "user.settings.notifications.email.disabled": "Отключено администратором",
"user.settings.notifications.email.disabled_long": "Email notifications have been disabled by your System Administrator.",
"user.settings.notifications.email.everyHour": "Каждый час",
"user.settings.notifications.email.everyXMinutes": "Каждые {count, plural, one {minute} other {{count, number} minutes}}",
@@ -2358,7 +2367,7 @@
"user.settings.push_notification.send": "Отправить мобильное push-уведомление",
"user.settings.push_notification.status": "Отправить push-уведомление когда",
"user.settings.push_notification.status_info": "Уведомления на телефон будут присылаться только если ваш статус будет совпадать с выбранным выше.",
- "user.settings.security.active": "Активность",
+ "user.settings.security.active": "Активен",
"user.settings.security.close": "Закрыть",
"user.settings.security.currentPassword": "Текущий пароль",
"user.settings.security.currentPasswordError": "Введите текущий пароль",
diff --git a/webapp/i18n/tr.json b/webapp/i18n/tr.json
index acbf2b055..7facdd988 100644
--- a/webapp/i18n/tr.json
+++ b/webapp/i18n/tr.json
@@ -319,19 +319,19 @@
"admin.general.localization.serverLocaleTitle": "Varsayılan Sunucu Dili:",
"admin.general.log": "Günlük",
"admin.general.policy": "İlke",
- "admin.general.policy.allowBannerDismissalDesc": "When true, users can dismiss the banner until its next update. When false, the banner is permanently visible until it is turned off by the System Admin.",
- "admin.general.policy.allowBannerDismissalTitle": "Allow Banner Dismissal:",
+ "admin.general.policy.allowBannerDismissalDesc": "Bu seçenek etkinleştirildiğinde, kullanıcılar bir sonraki güncellemeye kadar bu bildirimi yoksayabilir. Devre dışı bırakıldığında bildirim Sistem Yöneticisi tarafından kapatılana kadar sürekli görüntülenir.",
+ "admin.general.policy.allowBannerDismissalTitle": "Bildirim Yoksayılabilsin",
"admin.general.policy.allowEditPostAlways": "Herhangi bir zaman",
"admin.general.policy.allowEditPostDescription": "Yazarların gönderdikten sonra iletilerini düzenleyebileceği zaman ilkesini ayarlayın.",
"admin.general.policy.allowEditPostNever": "Asla",
"admin.general.policy.allowEditPostTimeLimit": "gönderikten bu kadar saniye sonra",
"admin.general.policy.allowEditPostTitle": "Kullanıcılar kendi iletilerini düzenleyebilsin:",
- "admin.general.policy.bannerColorTitle": "Banner Color:",
- "admin.general.policy.bannerTextColorTitle": "Banner Text Color:",
- "admin.general.policy.bannerTextDesc": "Text that will appear in the announcement banner.",
- "admin.general.policy.bannerTextTitle": "Banner Text:",
- "admin.general.policy.enableBannerDesc": "Enable an announcement banner across all teams.",
- "admin.general.policy.enableBannerTitle": "Enable Announcement Banner:",
+ "admin.general.policy.bannerColorTitle": "Bildirim Rengi:",
+ "admin.general.policy.bannerTextColorTitle": "Bildirim Metin Rengi:",
+ "admin.general.policy.bannerTextDesc": "Bildirimde görüntülenecek metin.",
+ "admin.general.policy.bannerTextTitle": "Bildirim Metni:",
+ "admin.general.policy.enableBannerDesc": "Tüm takımlar için bildirim kullanılsın.",
+ "admin.general.policy.enableBannerTitle": "Bildirim Kullanılsın:",
"admin.general.policy.permissionsAdmin": "Takım ve Sistem Yöneticileri",
"admin.general.policy.permissionsAll": "Tüm takım üyeleri",
"admin.general.policy.permissionsAllChannel": "Tüm kanal üyeleri",
@@ -746,7 +746,7 @@
"admin.service.sessionCacheDesc": "Bellekteki bir oturumun ön bellekte tutulacağı dakika.",
"admin.service.sessionDaysEx": "Örnek: \"30\"",
"admin.service.siteURL": "Site Adresi:",
- "admin.service.siteURLDescription": "Kullanıcıların Mattermost sitesine erişmek için kullanacağı adres, kapı numarası ve iletişim kuralı. Bu ayar zorunludur.",
+ "admin.service.siteURLDescription": "Kullanıcıların Mattermost üzerine erişebilmesi için kullanacağı adres. 80 ve 443 gibi standart kapı numaraları belirtilmeyebilir ancak http://mattermost.example.com:8065 gibi standart olmayan kapı numaralarının belirtilmesi gerekir. Bu ayarın yapılması zorunludur.",
"admin.service.siteURLExample": "Örnek: \"https://mattermost.kurulus.com:1234\"",
"admin.service.ssoSessionDays": "SSO oturum süresi (gün):",
"admin.service.ssoSessionDaysDesc": "Oturumunun sonlandırılması için bir kullanıcının kimlik bilgilerini son kez yazmasından sonra geçmesi gereken gün sayısı. Kimlik doğrulama yöntemi SAML ya da GitLab ise ve kullanıcı SAML ya da GitLab üzerinde oturum açmış ise Mattermost üzerine geri döndüğünde otomatik olarak kullanıcı oturumu açılabilir. Bu değer değiştirildikten sonra yeni oturum süresi, kullanıcı kimlik bilgileri yeniden yazdıktan sonra geçerli olur.",
@@ -1684,6 +1684,7 @@
"mobile.account_notifications.threads_mentions": "Konulardaki anmalar",
"mobile.account_notifications.threads_start": "Başlattığım konular",
"mobile.account_notifications.threads_start_participate": "Başlattığım ya da katıldığım konular",
+ "mobile.channel_drawer.search": "Bir sohbete geç",
"mobile.channel_info.alertMessageDeleteChannel": "{term} {name} kanalını silmek istediğinize emin misiniz?",
"mobile.channel_info.alertMessageLeaveChannel": "{term} {name} kanalından ayrılmak istediğinize emin misiniz?",
"mobile.channel_info.alertNo": "Hayır",
@@ -1700,6 +1701,7 @@
"mobile.channel_list.closeGM": "Grup İletisini Kapat",
"mobile.channel_list.dm": "Doğrudan İleti",
"mobile.channel_list.gm": "Grup İletisi",
+ "mobile.channel_list.not_member": "ÜYE DEĞİL",
"mobile.channel_list.open": "{term} Kanalını Aç",
"mobile.channel_list.openDM": "Doğrudan İleti Aç",
"mobile.channel_list.openGM": "Grup İletisi Aç",
@@ -1716,6 +1718,7 @@
"mobile.create_channel.private": "Yeni Özel Kanal",
"mobile.create_channel.public": "Yeni Herkese Açık Kanal",
"mobile.custom_list.no_results": "Herhangi bir sonuç bulunamadı",
+ "mobile.drawer.teamsTitle": "Takımlar",
"mobile.edit_post.title": "İleti Düzenleniyor",
"mobile.file_upload.camera": "Fotoğraf ya da Görüntü Çek",
"mobile.file_upload.library": "Fotoğraf Kitaplığı",
@@ -1762,12 +1765,17 @@
"mobile.routes.thread_dm": "Doğrudan İleti Konusu",
"mobile.routes.user_profile": "Profil",
"mobile.routes.user_profile.send_message": "İleti Gönder",
- "mobile.select_team.choose": "Your teams:",
+ "mobile.select_team.choose": "Takımlarınız:",
"mobile.select_team.join_open": "Katılabileceğiniz diğer açık takımlar",
"mobile.server_ping_failed": "Sunucuya bağlanılamadı. Lütfen sunucu adresini ve İnternet bağlantınızı denetleyin.",
"mobile.server_url.invalid_format": "Adres http:// yada https:// ile başlamalıdır",
"mobile.session_expired": "Oturumun Süresi Dolmuş: Lütfen bildirimleri almaya devam etmek için oturum açın.",
"mobile.settings.team_selection": "Takım Seçimi",
+ "modal.manaul_status.ask": "Bir daha sorma",
+ "modal.manaul_status.button": "Evet, durumumu \"Çevrimiçi\" yap",
+ "modal.manaul_status.cancel": "Hayır, durumum \"{status}\" olarak kalsın",
+ "modal.manaul_status.message": "Durumunuzu \"Çevrimiçi\" olarak değiştirmek ister misiniz?",
+ "modal.manaul_status.title": "Durumunuz \"{status}\" olarak değiştirildi",
"more_channels.close": "Kapat",
"more_channels.create": "Yeni Kanal Oluştur",
"more_channels.createClick": "Yeni bir kanal oluşturmak için 'Yeni Kanal Oluştur' üzerine tıklayın",
@@ -1874,12 +1882,12 @@
"posts_view.newMsg": "Yeni İletiler",
"posts_view.newMsgBelow": "Aşağıda yeni {count, plural, bir {message} diğer {messages}} var",
"quick_switch_modal.channels": "Kanallar",
- "quick_switch_modal.channelsShortcut.mac": "(CMD+K)",
- "quick_switch_modal.channelsShortcut.windows": "(CTRL+K)",
- "quick_switch_modal.help": "Takım ve kanalları değiştirmek için TAB tuşunu, gezinmek için ↑↓ tuşlarını, onaylamak için ↵ tuşunu, yoksaymak için ESC tuşunu kullanın",
- "quick_switch_modal.help_no_team": "Kanal adını yazın. Gezinmek için ↑↓, onaylamak için ↵, yoksaymak için ESC tuşunu kullanın",
+ "quick_switch_modal.channelsShortcut.mac": "- ⌘K",
+ "quick_switch_modal.channelsShortcut.windows": "- CTRL+K",
+ "quick_switch_modal.help": "Yazmaya başlayın ve kanal/takım değiştirmek için TAB, gezinmek için ↑↓, seçmek için ↵, iptal etmek için ESC tuşlarını kullanın.",
+ "quick_switch_modal.help_no_team": "Yazmaya başlayın ve gezinmek için ↑↓, seçmek için ↵, iptal etmek için ESC tuşlarını kullanın.",
"quick_switch_modal.teams": "Takımlar",
- "quick_switch_modal.teamsShortcut.mac": "(CMD+ALT+K)",
+ "quick_switch_modal.teamsShortcut.mac": "- ⌘⌥K",
"quick_switch_modal.teamsShortcut.windows": "(CTRL+ALT+K)",
"reaction.clickToAdd": "(eklemek için tıklayın)",
"reaction.clickToRemove": "(silmek için tıklayın)",
@@ -1971,8 +1979,6 @@
"sidebar.otherMembers": "Bu takımın dışında",
"sidebar.pg": "Özel Kanallar",
"sidebar.removeList": "Listeden çıkar",
- "sidebar.switch_channels": "Kanalları Değiştir (CTRL + K)",
- "sidebar.switch_channels.mac": "Kanalları Değiştir (CMD + K)",
"sidebar.tutorialScreen1": "<h4>Kanallar</h4><p><strong>Kanallar</strong> farklı konulardaki konuşmaları düzenlemek için kullanılır. Kanallar takımınızdaki herkese açıktır. Özel iletişim kurmak gerektiğinde bir kişi için <strong>Doğrudan İletileri</strong>, bir kaç kişi için <strong>Özel Kanalları</strong> kullanabilirsiniz.</p>",
"sidebar.tutorialScreen2": "<h4>\"{townsquare}\" ve \"{offtopic}\" kanalları</h4><p>Başlangıçta iki herkese açık kanal bulunur:</p><p><strong>{townsquare}</strong> tüm takımla iletişim kurmak için kullanılır. Takımınızdaki herkes bu kanalın bir üyesidir.</p><p><strong>{offtopic}</strong> iş dışı kanallar dışında eğlence için kullanılır. Siz ve takımınız başka kanallar oluşturmaya karar verebilirsiniz.</p>",
"sidebar.tutorialScreen3": "<h4>Kanal Oluşturmak ve Katılmak</h4><p>Yeni bir kanal oluşturmak ve varolan bir kanala katılmak için <strong>\"Diğer...\"</strong> üzerine tıklayın.</p><p>Ayrıca herkese açık ya da özel bir kanal başlığının yanındaki <strong>\"+\" simgesine</strong> tıklayarak da yeni bir kanal oluşturabilirsiniz.</p>",
@@ -2044,6 +2050,9 @@
"sso_signup.length_error": "Ad en az 3 en fazla 15 karakterden oluşabilir",
"sso_signup.teamName": "Yeni takımın adını yazın",
"sso_signup.team_error": "Lütfen bir takım adı yazın",
+ "status_dropdown.set_away": "Uzakta",
+ "status_dropdown.set_offline": "Çevrimdışı",
+ "status_dropdown.set_online": "Çevrimiçi",
"suggestion.loading": "Yükleniyor...",
"suggestion.mention.all": "DİKKAT: Bu işlem kanaldaki herkesi anacak",
"suggestion.mention.channel": "Kanaldaki herkese bildirilir",
diff --git a/webapp/i18n/zh-CN.json b/webapp/i18n/zh-CN.json
index 9835e68f7..edec5505f 100644
--- a/webapp/i18n/zh-CN.json
+++ b/webapp/i18n/zh-CN.json
@@ -319,19 +319,19 @@
"admin.general.localization.serverLocaleTitle": "默认服务器语言:",
"admin.general.log": "日志",
"admin.general.policy": "策略",
- "admin.general.policy.allowBannerDismissalDesc": "When true, users can dismiss the banner until its next update. When false, the banner is permanently visible until it is turned off by the System Admin.",
- "admin.general.policy.allowBannerDismissalTitle": "Allow Banner Dismissal:",
+ "admin.general.policy.allowBannerDismissalDesc": "当设为是时,用户可以撤掉横幅直到下次更新。当设为否时,横幅将永久显示知道系统管理员关闭。",
+ "admin.general.policy.allowBannerDismissalTitle": "允许撤掉横幅:",
"admin.general.policy.allowEditPostAlways": "任何时间",
"admin.general.policy.allowEditPostDescription": "设定作者发布消息后可编辑的时长的策略。",
"admin.general.policy.allowEditPostNever": "从不",
"admin.general.policy.allowEditPostTimeLimit": "发布后秒数",
"admin.general.policy.allowEditPostTitle": "允许用户修改他们的消息:",
- "admin.general.policy.bannerColorTitle": "Banner Color:",
- "admin.general.policy.bannerTextColorTitle": "Banner Text Color:",
- "admin.general.policy.bannerTextDesc": "Text that will appear in the announcement banner.",
- "admin.general.policy.bannerTextTitle": "Banner Text:",
- "admin.general.policy.enableBannerDesc": "Enable an announcement banner across all teams.",
- "admin.general.policy.enableBannerTitle": "Enable Announcement Banner:",
+ "admin.general.policy.bannerColorTitle": "横幅颜色:",
+ "admin.general.policy.bannerTextColorTitle": "横幅文字颜色:",
+ "admin.general.policy.bannerTextDesc": "公告横幅显示的文字。",
+ "admin.general.policy.bannerTextTitle": "横幅文字:",
+ "admin.general.policy.enableBannerDesc": "在所有团队开启公告横幅。",
+ "admin.general.policy.enableBannerTitle": "开启公告横幅:",
"admin.general.policy.permissionsAdmin": "团队和系统管理员",
"admin.general.policy.permissionsAll": "所有团队成员",
"admin.general.policy.permissionsAllChannel": "所有频道成员",
@@ -542,7 +542,7 @@
"admin.log.locationPlaceholder": "输入你的文件位置",
"admin.log.locationTitle": "日志文件目录:",
"admin.log.logSettings": "日志设置",
- "admin.logs.bannerDesc": "To look up users by User ID, go to Reporting > Users and paste the ID into the search filter.",
+ "admin.logs.bannerDesc": "到 报告 > 用户 并在搜索过滤器输入 ID 以用户 ID 查找用户。",
"admin.logs.reload": "重载",
"admin.logs.title": "服务器日志",
"admin.metrics.enableDescription": "当设置为是时,Mattermost 会启用性能监控收集和分析。请查看<a href=\"http://docs.mattermost.com/deployment/metrics.html\" target='_blank'>文档</a>了解更多Mattermost 性能监控配置信息。",
@@ -641,7 +641,7 @@
"admin.saml.emailAttrTitle": "邮箱属性:",
"admin.saml.enableDescription": "当设为是时,Mattermost允许通过SAML登陆。请参考<a href='http://docs.mattermost.com/deployment/sso-saml.html' target='_blank'>文档</a>了解Mattermost配置SAML。",
"admin.saml.enableTitle": "开启SAML登入:",
- "admin.saml.encryptDescription": "When false, Mattermost will not decrypt SAML Assertions encrypted with your Service Provider Public Certificate. Not recommended for production environments. For testing only.",
+ "admin.saml.encryptDescription": "当设为否时,Mattermost 将不会用使用您的服务提供者公开证书解密 SAML 断言。不推荐在正式环境中使用。仅供测试。",
"admin.saml.encryptTitle": "开启加密:",
"admin.saml.firstnameAttrDesc": "(可选) 使用SAML断言中的属性做为 Mattermost 中用户的昵称。",
"admin.saml.firstnameAttrEx": "例如 \"FirstName\"",
@@ -686,7 +686,7 @@
"admin.saml.usernameAttrDesc": "使用SAML断言中的属性做为Mattermost中用户的用户名。",
"admin.saml.usernameAttrEx": "例如 \"Username\"",
"admin.saml.usernameAttrTitle": "用户名:",
- "admin.saml.verifyDescription": "When false, Mattermost will not verify that the signature sent from a SAML Response matches the Service Provider Login URL. Not recommended for production environments. For testing only.",
+ "admin.saml.verifyDescription": "当设为否时,Mattermost 将不会验证 SAML 回复里的签字是否匹配服务提供商登入网址。不推荐在正式环境中使用。仅供测试。",
"admin.saml.verifyTitle": "校验签名:",
"admin.save": "保存",
"admin.saving": "保存配置中...",
@@ -746,7 +746,7 @@
"admin.service.sessionCacheDesc": "会话在内存缓存的分钟数。",
"admin.service.sessionDaysEx": "例如 \"30\"",
"admin.service.siteURL": "站点网址:",
- "admin.service.siteURLDescription": "用户用来访问 Mattermost 的网址,包括端口和协议。此设定为必须。",
+ "admin.service.siteURLDescription": "用户访问 Mattermost 的网址。标准端口如 80 和 443 可以省略,但非标准端口不能省略。例如:http://mattermost.example.com:8065。此设定必填。",
"admin.service.siteURLExample": "例如 \"https://mattermost.example.com:1234\"",
"admin.service.ssoSessionDays": "SSO会话时长 (天):",
"admin.service.ssoSessionDaysDesc": "从用户上一次输入他们的认证到会话过期的天数。如果验证方式时SAML或GitLab,用户将会自动登入到Mattermost如果他们已经登入到SAML或GitLab。修改此设定后,新的会话时常将在用户下一次输入认证后生效。",
@@ -832,24 +832,24 @@
"admin.sql.maxOpenTitle": "最大的开放连接: ",
"admin.sql.noteDescription": "修改这段属性需要重启服务器才能生效。",
"admin.sql.noteTitle": "注释:",
- "admin.sql.queryTimeoutDescription": "The number of seconds to wait for a response from the database after opening a connection and sending the query. Errors that you see in the UI or in the logs as a result of a query timeout can vary depending on the type of query. This setting has no effect on PostgreSQL databases.",
+ "admin.sql.queryTimeoutDescription": "连接数据库并发送查询后等待的结果秒数。您在 UI 或日志看到的查询超时导致的错误很可能跟不同查询类型有关。此设定不影响 PostgreSQL 数据库。",
"admin.sql.queryTimeoutExample": "例如:\"30\"",
"admin.sql.queryTimeoutTitle": "查询超时:",
"admin.sql.replicas": "数据源副本:",
"admin.sql.traceDescription": "(开发模式) 当设为是时,SQL 语句会被写入到日志。",
"admin.sql.traceTitle": "追踪:",
"admin.sql.warning": "警告:重新生成盐值可能导致一些列在数据库中返回空。",
- "admin.support.aboutDesc": "The URL for the About link on the Mattermost login and sign-up pages. If this field is empty, the About link is hidden from users.",
+ "admin.support.aboutDesc": "在 Mattermost 登入和注册页面上\"关于\"链接地址。如果此栏留空,该链接将被隐藏。",
"admin.support.aboutTitle": "关于链接:",
"admin.support.emailHelp": "显示在邮件通知和教学上让最终用户提问支持的电子邮件地址。",
"admin.support.emailTitle": "支持邮箱:",
- "admin.support.helpDesc": "The URL for the Help link on the Mattermost login page, sign-up pages, and Main Menu. If this field is empty, the Help link is hidden from users.",
+ "admin.support.helpDesc": "在 Mattermost 登入页面、注册页面以及主菜单上\"帮助\"链接地址。如果此栏留空,该链接将被隐藏。",
"admin.support.helpTitle": "帮助链接:",
"admin.support.noteDescription": "如果连接到一个外部站点,网址应该以 http:// 或https:// 开头。",
"admin.support.noteTitle": "注释:",
- "admin.support.privacyDesc": "The URL for the Privacy link on the login and sign-up pages. If this field is empty, the Privacy link is hidden from users.",
+ "admin.support.privacyDesc": "在 Mattermost 登入和注册页面上\"隐私\"链接地址。如果此栏留空,该链接将被隐藏。",
"admin.support.privacyTitle": "隐私策略链接:",
- "admin.support.problemDesc": "The URL for the Report a Problem link in the Main Menu. If this field is empty, the link is removed from the Main Menu.",
+ "admin.support.problemDesc": "在 Mattermost 主菜单上\"错误汇报\"链接地址。如果此栏留空,该链接将被隐藏。",
"admin.support.problemTitle": "报告问题链接:",
"admin.support.termsDesc": "用户使用您的在线服务的条款链接。默认情况下,此链接指向 \"Mattermost 使用条款 (最终用户)\" 解释Mattermost软件提供给最终用户的条款。如果您修改默认链接来添加您自己的服务条款,您的新条款必须包含链接到默认条款让用户知道Mattermost软件的最终用户条款。",
"admin.support.termsTitle": "服务条款链接:",
@@ -1248,7 +1248,7 @@
"custom_emoji.search": "搜索自定义表情符",
"deactivate_member_modal.cancel": "取消",
"deactivate_member_modal.deactivate": "停用",
- "deactivate_member_modal.desc": "This action deactivates {username}. They will be logged out and not have access to any teams or channels on this system. Are you sure you want to deactivate {username}?",
+ "deactivate_member_modal.desc": "此操作将停用 {username}。他们将注销并无法再访问本系统的任何团队或频道。您确定要停用 {username}?",
"deactivate_member_modal.title": "停用 {username}",
"default_channel.purpose": "发表您想所有人看到的消息。所有人在加入团队时候自动成员此频道的永久成员。",
"delete_channel.cancel": "取消",
@@ -1262,7 +1262,7 @@
"delete_post.post": "发布",
"delete_post.question": "您确认要删除{term}?",
"delete_post.warning": "这个信息有{count}条评论。",
- "edit_channel_header.editHeader": "Edit the Channel Header...",
+ "edit_channel_header.editHeader": "修改频道标题...",
"edit_channel_header.previewHeader": "编辑标题",
"edit_channel_header_modal.cancel": "取消",
"edit_channel_header_modal.description": "编辑在频道标题上显示在名称旁的文本。",
@@ -1684,6 +1684,7 @@
"mobile.account_notifications.threads_mentions": "串中的提及",
"mobile.account_notifications.threads_start": "我创建的串",
"mobile.account_notifications.threads_start_participate": "我创建的或参与的串",
+ "mobile.channel_drawer.search": "移至到会话",
"mobile.channel_info.alertMessageDeleteChannel": "您确定要删除{term} {name}?",
"mobile.channel_info.alertMessageLeaveChannel": "您确定要离开{term} {name}?",
"mobile.channel_info.alertNo": "否",
@@ -1700,6 +1701,7 @@
"mobile.channel_list.closeGM": "关闭组消息",
"mobile.channel_list.dm": "私信",
"mobile.channel_list.gm": "组消息",
+ "mobile.channel_list.not_member": "非成员",
"mobile.channel_list.open": "打开 {term}",
"mobile.channel_list.openDM": "打开私信",
"mobile.channel_list.openGM": "打开组消息",
@@ -1716,6 +1718,7 @@
"mobile.create_channel.private": "新私有频道",
"mobile.create_channel.public": "新公共频道",
"mobile.custom_list.no_results": "无结果",
+ "mobile.drawer.teamsTitle": "团队",
"mobile.edit_post.title": "编辑消息",
"mobile.file_upload.camera": "拍照或视频",
"mobile.file_upload.library": "照片库",
@@ -1729,7 +1732,7 @@
"mobile.loading_members": "正在加载成员...",
"mobile.loading_posts": "正在加载消息...",
"mobile.login_options.choose_title": "选择您的登入方式",
- "mobile.notification.in": " in ",
+ "mobile.notification.in": " 在 ",
"mobile.offlineIndicator.connected": "已连接",
"mobile.offlineIndicator.connecting": "正在连接...",
"mobile.offlineIndicator.offline": "无网络连接",
@@ -1763,11 +1766,16 @@
"mobile.routes.user_profile": "个人资料",
"mobile.routes.user_profile.send_message": "发送消息",
"mobile.select_team.choose": "您的团队:",
- "mobile.select_team.join_open": "您可以加入的其他团队。",
+ "mobile.select_team.join_open": "您可以加入的开放团队",
"mobile.server_ping_failed": "无法连接服务器。请检查您的服务器网址和网络连接。",
"mobile.server_url.invalid_format": "每个 URL 必须以 http:// 或 https:// 开头",
"mobile.session_expired": "会话已超时:请登入再继续接收通知。",
"mobile.settings.team_selection": "团队选择",
+ "modal.manaul_status.ask": "不要再次询问",
+ "modal.manaul_status.button": "是,设置我的状态为 \"在线\"",
+ "modal.manaul_status.cancel": "不,保留为 \"{status}\"",
+ "modal.manaul_status.message": "您想要切换状态为 \"在线\" 吗?",
+ "modal.manaul_status.title": "您的状态已设置为 \"{status}\"",
"more_channels.close": "关闭",
"more_channels.create": "创建新频道",
"more_channels.createClick": "点击'创建新频道'创建一个新的频道",
@@ -1826,9 +1834,9 @@
"navbar_dropdown.teamSettings": "团队设置",
"navbar_dropdown.viewMembers": "查看成员",
"notification.dm": "私信",
- "notify_all.confirm": "Confirm",
- "notify_all.question": "By using @all or @channel you are about to send notifications to {totalMembers} people. Are you sure you want to do this?",
- "notify_all.title.confirm": "Confirm sending notifications to entire channel",
+ "notify_all.confirm": "确认",
+ "notify_all.question": "使用 @all 或 @channel 您将发送通知到 {totalMembers} 人。您确定要这样做?",
+ "notify_all.title.confirm": "确定发送通知到整个频道",
"passwordRequirements": "密码要求:",
"password_form.change": "修改我的密码",
"password_form.click": "点击<a href={url}>这里</a>去登录。",
@@ -1874,13 +1882,13 @@
"posts_view.newMsg": "新消息",
"posts_view.newMsgBelow": "以下有 {count} 个新消息",
"quick_switch_modal.channels": "频道",
- "quick_switch_modal.channelsShortcut.mac": "(CMD+K)",
- "quick_switch_modal.channelsShortcut.windows": "(CTRL+K)",
- "quick_switch_modal.help": "Use TAB to toggle between teams/channels, ↑↓ to browse, ↵ to confirm, ESC to dismiss",
- "quick_switch_modal.help_no_team": "输入频道名。↑↓浏览,TAB选择,↵确认,ESC取消",
- "quick_switch_modal.teams": "条款",
- "quick_switch_modal.teamsShortcut.mac": "(CMD+ALT+K)",
- "quick_switch_modal.teamsShortcut.windows": "(CTRL+ALT+K)",
+ "quick_switch_modal.channelsShortcut.mac": "- ⌘K",
+ "quick_switch_modal.channelsShortcut.windows": "- CTRL+K",
+ "quick_switch_modal.help": "开始输入后用 TAB 切换频道/团队,↑↓浏览,↵选择,以及 ESC 退出。",
+ "quick_switch_modal.help_no_team": "开始输入后用 ↑↓浏览,↵选择,以及 ESC 退出。",
+ "quick_switch_modal.teams": "团队",
+ "quick_switch_modal.teamsShortcut.mac": "- ⌘⌥K",
+ "quick_switch_modal.teamsShortcut.windows": "- CTRL+ALT+K",
"reaction.clickToAdd": "(点击添加)",
"reaction.clickToRemove": "(点击删除)",
"reaction.othersReacted": "{otherUsers, number} 位用户",
@@ -1971,8 +1979,6 @@
"sidebar.otherMembers": "此团队之外",
"sidebar.pg": "私有频道",
"sidebar.removeList": "从列表删除",
- "sidebar.switch_channels": "Switch Channels (CTRL + K)",
- "sidebar.switch_channels.mac": "Switch Channels (CMD + K)",
"sidebar.tutorialScreen1": "<h4>频道</h4><p><strong>频道</strong>组织不同主题的会话。他们对您所在团队的每一个人开放。针对单人发送私人消息使用<strong>私信</strong>针对多人使用<strong>私有频道</strong>。</p>",
"sidebar.tutorialScreen2": "<h4>“{townsquare}”和“{offtopic}”频道</h4><p>这里启用了两个公共频道: </p><p><strong>公共频道</strong>是一个团队范围内沟通的地方。团队中的每一个人都是这个频道的一个成员。</p><p><strong>闲聊频道</strong>是一个娱乐幽默与工作无关的频道。您和您的团队可以决定创建其他频道。</p>",
"sidebar.tutorialScreen3": "<h4>创建和加入频道</h4><p>点击<strong>“更多...”</strong>创建一个新频道或加入一个现有频道。</p><p>您还可以通过点击频道或私有频道旁的<strong>“+”符号</strong>,创建一个新频道或私有频道标题。</p>",
@@ -2044,6 +2050,9 @@
"sso_signup.length_error": "团队名必须为3-15个字母",
"sso_signup.teamName": "输入新团队名",
"sso_signup.team_error": "输入团队名",
+ "status_dropdown.set_away": "离开",
+ "status_dropdown.set_offline": "离线",
+ "status_dropdown.set_online": "在线",
"suggestion.loading": "加载中...",
"suggestion.mention.all": "注意:这将提及此频道所有人",
"suggestion.mention.channel": "通知每个频道",
@@ -2285,7 +2294,7 @@
"user.settings.modal.security": "安全",
"user.settings.modal.title": "账户设置",
"user.settings.notifications.allActivity": "所有活动",
- "user.settings.notifications.channelWide": "频道范围提及 \"@channel\", \"@all\"",
+ "user.settings.notifications.channelWide": "频道范围提及 \"@channel\", \"@all\", \"@here\"",
"user.settings.notifications.close": "关闭",
"user.settings.notifications.comments": "回复通知",
"user.settings.notifications.commentsAny": "在我开头或回复过的消息串触发通知",
diff --git a/webapp/i18n/zh-TW.json b/webapp/i18n/zh-TW.json
index 5fe37a8b2..9c679a3f1 100644
--- a/webapp/i18n/zh-TW.json
+++ b/webapp/i18n/zh-TW.json
@@ -319,19 +319,19 @@
"admin.general.localization.serverLocaleTitle": "預設的伺服器語言:",
"admin.general.log": "記錄",
"admin.general.policy": "政策",
- "admin.general.policy.allowBannerDismissalDesc": "When true, users can dismiss the banner until its next update. When false, the banner is permanently visible until it is turned off by the System Admin.",
- "admin.general.policy.allowBannerDismissalTitle": "Allow Banner Dismissal:",
+ "admin.general.policy.allowBannerDismissalDesc": "啟用時,使用者可以關閉橫幅直到有更新。停用時,在系統管理員關閉之前橫幅將保持可視。",
+ "admin.general.policy.allowBannerDismissalTitle": "允許關閉橫幅:",
"admin.general.policy.allowEditPostAlways": "任何時間",
"admin.general.policy.allowEditPostDescription": "設定作者在發出訊息後有多少時間可以編輯。",
"admin.general.policy.allowEditPostNever": "永不",
"admin.general.policy.allowEditPostTimeLimit": "發出訊息後幾秒內",
"admin.general.policy.allowEditPostTitle": "允許使用者編輯訊息:",
- "admin.general.policy.bannerColorTitle": "Banner Color:",
- "admin.general.policy.bannerTextColorTitle": "Banner Text Color:",
- "admin.general.policy.bannerTextDesc": "Text that will appear in the announcement banner.",
- "admin.general.policy.bannerTextTitle": "Banner Text:",
- "admin.general.policy.enableBannerDesc": "Enable an announcement banner across all teams.",
- "admin.general.policy.enableBannerTitle": "Enable Announcement Banner:",
+ "admin.general.policy.bannerColorTitle": "橫幅顏色:",
+ "admin.general.policy.bannerTextColorTitle": "橫幅文字顏色:",
+ "admin.general.policy.bannerTextDesc": "公告橫幅中出現的文字。",
+ "admin.general.policy.bannerTextTitle": "橫幅文字:",
+ "admin.general.policy.enableBannerDesc": "啟用所有團隊都可見的公告橫幅。",
+ "admin.general.policy.enableBannerTitle": "啟用公告橫幅:",
"admin.general.policy.permissionsAdmin": "團隊跟系統管理員",
"admin.general.policy.permissionsAll": "團隊全員",
"admin.general.policy.permissionsAllChannel": "所有頻道成員",
@@ -746,7 +746,7 @@
"admin.service.sessionCacheDesc": "要將工作階段快取在記憶體中多久(分鐘)。",
"admin.service.sessionDaysEx": "如:\"30\"",
"admin.service.siteURL": "站台網址:",
- "admin.service.siteURLDescription": "使用者用來存取 Mattermost 的網址,包含通訊埠與協定。此項為必要設定。",
+ "admin.service.siteURLDescription": "使用者存取 Mattermost 的網址。可忽略如 80 與 443 的標準通訊埠,但非標準通訊埠不可省略。如:http://mattermost.example.com:8065。此為必要設定。",
"admin.service.siteURLExample": "如:\"https://mattermost.example.com:1234\"",
"admin.service.ssoSessionDays": "SSO 的工作階段長度(以天計):",
"admin.service.ssoSessionDaysDesc": "從使用者最後一次輸入他們的認證到工作階段過期之間的天數。如果認證方式是 SAML 或 GitLab 且他們已經登入 SAML 或 GitLab,使用者將會自動再次登入 Mattermost。修改設定之後新的工作階段長度會在下次使用者輸入認證之後開始生效。",
@@ -1684,6 +1684,7 @@
"mobile.account_notifications.threads_mentions": "被提及的討論串",
"mobile.account_notifications.threads_start": "我開啟的討論串",
"mobile.account_notifications.threads_start_participate": "我開啟或參與的討論串",
+ "mobile.channel_drawer.search": "移動至對話",
"mobile.channel_info.alertMessageDeleteChannel": "確定要刪除{term} {name} 嘛?",
"mobile.channel_info.alertMessageLeaveChannel": "確定要離開{term} {name} 嘛?",
"mobile.channel_info.alertNo": "否",
@@ -1700,6 +1701,7 @@
"mobile.channel_list.closeGM": "關閉群組訊息",
"mobile.channel_list.dm": "直接傳訊",
"mobile.channel_list.gm": "群組訊息",
+ "mobile.channel_list.not_member": "非成員",
"mobile.channel_list.open": "開啟{term}",
"mobile.channel_list.openDM": "開啟直接傳訊",
"mobile.channel_list.openGM": "開啟群組訊息",
@@ -1716,6 +1718,7 @@
"mobile.create_channel.private": "新的私人頻道",
"mobile.create_channel.public": "新的公開頻道",
"mobile.custom_list.no_results": "找不到相符的結果",
+ "mobile.drawer.teamsTitle": "團隊",
"mobile.edit_post.title": "編輯訊息",
"mobile.file_upload.camera": "照相或錄影",
"mobile.file_upload.library": "相簿",
@@ -1768,6 +1771,11 @@
"mobile.server_url.invalid_format": "網址開頭必須是 http:// 或 https://",
"mobile.session_expired": "工作階段過期:請登入以繼續接收通知。",
"mobile.settings.team_selection": "選擇團隊",
+ "modal.manaul_status.ask": "別再問我",
+ "modal.manaul_status.button": "是,將狀態設定為\"線上\"",
+ "modal.manaul_status.cancel": "否,保持為\"{status}\"",
+ "modal.manaul_status.message": "要更改狀態為\"線上\"嘛?",
+ "modal.manaul_status.title": "狀態為\"{status}\"",
"more_channels.close": "關閉",
"more_channels.create": "建立頻道",
"more_channels.createClick": "按下'建立頻道'來建立新頻道",
@@ -1874,13 +1882,13 @@
"posts_view.newMsg": "新訊息",
"posts_view.newMsgBelow": "下面還有 {count} 個新訊息",
"quick_switch_modal.channels": "頻道",
- "quick_switch_modal.channelsShortcut.mac": "(CMD+K)",
- "quick_switch_modal.channelsShortcut.windows": "(CTRL+K)",
- "quick_switch_modal.help": "用 TAB 在團隊跟頻道之間切換、↑↓瀏覽、↵確認、ESC取消",
- "quick_switch_modal.help_no_team": "請輸入頻道名。用↑↓瀏覽、↵ 確認、ESC 取消",
+ "quick_switch_modal.channelsShortcut.mac": "- ⌘K",
+ "quick_switch_modal.channelsShortcut.windows": "- CTRL+K",
+ "quick_switch_modal.help": "開始輸入然後用 TAB 切換頻道/團隊、↑↓ 瀏覽、 ↵ 選擇、 ESC 關閉。",
+ "quick_switch_modal.help_no_team": "開始輸入然後用 ↑↓ 瀏覽、 ↵ 選擇、 ESC 關閉。",
"quick_switch_modal.teams": "團隊",
- "quick_switch_modal.teamsShortcut.mac": "(CMD+ALT+K)",
- "quick_switch_modal.teamsShortcut.windows": "(CTRL+ALT+K)",
+ "quick_switch_modal.teamsShortcut.mac": "- ⌘⌥K",
+ "quick_switch_modal.teamsShortcut.windows": "- CTRL+ALT+K",
"reaction.clickToAdd": "(請按這裡增加)",
"reaction.clickToRemove": "(請按這裡移除)",
"reaction.othersReacted": "{otherUsers, number} 位使用者",
@@ -1971,8 +1979,6 @@
"sidebar.otherMembers": "此團隊以外",
"sidebar.pg": "私人頻道",
"sidebar.removeList": "從清單中移除",
- "sidebar.switch_channels": "切換頻道 (CTRL + K)",
- "sidebar.switch_channels.mac": "切換頻道 (CMD + K)",
"sidebar.tutorialScreen1": "<h4>頻道</h4><p><strong>頻道</strong>用來展開關於各種話題的對話。頻道對團隊全體都是開放可以任意讀寫的。需要私密通訊時,對單獨一人時使用<strong>直接訊息</strong>,對多人時使用<strong>私人頻道</strong>。</p>",
"sidebar.tutorialScreen2": "<h4>\"{townsquare}\"跟\"{offtopic}\"頻道</h4><p>以下為兩個一開始就建立好的公開頻道:</p><p><strong>{townsquare}</strong>是個給團隊之間溝通的地方,您的團隊全員都是這個頻道的成員。</p><p><strong>{offtopic}</strong>是個放鬆心情、聊與工作無關事情的地方。您和團隊可以決定要建立其他怎樣的頻道。</p>",
"sidebar.tutorialScreen3": "<h4>建立和加入頻道</h4><p>按<strong>\"更多...\"</strong>來建立新頻道或是加入現有的頻道。</p><p>您也可以藉由按在公開或私人頻道標題旁邊的<strong>\"+\"符號</strong>來建立新的公開或私人頻道。</p>",
@@ -2044,6 +2050,9 @@
"sso_signup.length_error": "名稱長度為3到15字元",
"sso_signup.teamName": "輸入新團隊名稱",
"sso_signup.team_error": "請輸入團隊名稱",
+ "status_dropdown.set_away": "離開",
+ "status_dropdown.set_offline": "離線",
+ "status_dropdown.set_online": "上線",
"suggestion.loading": "載入中…",
"suggestion.mention.all": "注意:這將會提及頻道中的所有人",
"suggestion.mention.channel": "通知頻道全員",
diff --git a/webapp/sass/base/_structure.scss b/webapp/sass/base/_structure.scss
index df7d75329..b29cfa424 100644
--- a/webapp/sass/base/_structure.scss
+++ b/webapp/sass/base/_structure.scss
@@ -52,6 +52,7 @@ body {
@include legacy-pie-clearfix;
height: 100%;
position: relative;
+ -webkit-overflow-scrolling: touch;
}
.channel-view {
diff --git a/webapp/sass/components/_scrollbar.scss b/webapp/sass/components/_scrollbar.scss
index 66b476166..5c8f06a2d 100644
--- a/webapp/sass/components/_scrollbar.scss
+++ b/webapp/sass/components/_scrollbar.scss
@@ -24,6 +24,22 @@ body {
scrollbar-shadow-color: #2D2C4D;
scrollbar-track-color: rgba(0, 0, 0, .1);
}
+
+ .ps {
+ > .ps__scrollbar-y-rail {
+ > .ps__scrollbar-y {
+ width: 6px !important;
+ }
+ }
+
+ &:hover {
+ > .ps__scrollbar-y-rail {
+ &:hover {
+ background: transparent;
+ }
+ }
+ }
+ }
}
.scrollbar--horizontal,
diff --git a/webapp/sass/components/_status-icon.scss b/webapp/sass/components/_status-icon.scss
index ea87461c0..2e1ba61b3 100644
--- a/webapp/sass/components/_status-icon.scss
+++ b/webapp/sass/components/_status-icon.scss
@@ -27,7 +27,7 @@
@include opacity(1);
font-size: 10px;
position: relative;
- top: 2px;
+ top: 4px;
}
}
diff --git a/webapp/sass/layout/_sidebar-left.scss b/webapp/sass/layout/_sidebar-left.scss
index 9323253c7..ed587305a 100644
--- a/webapp/sass/layout/_sidebar-left.scss
+++ b/webapp/sass/layout/_sidebar-left.scss
@@ -47,6 +47,7 @@
border-top: 1px solid;
bottom: 0;
display: block;
+ padding-bottom: 0;
position: absolute;
width: 100%;
@@ -243,7 +244,39 @@
}
}
- @import "../components/status-icon";
+ .status-wrapper {
+ .status {
+ bottom: -9px;
+ height: 18px;
+ right: -5px;
+ width: 18px;
+
+ svg {
+ top: 3px;
+ max-height: 12px;
+ }
+
+ .icon__container {
+ position: relative;
+ top: 3px;
+
+ &:after {
+ border-radius: 20px;
+ content: '';
+ height: 9px;
+ left: 5px;
+ position: absolute;
+ top: 2px;
+ width: 9px;
+ }
+
+ svg {
+ top: 0;
+ z-index: 1;
+ }
+ }
+ }
+ }
}
.channel-loading-gif {
diff --git a/webapp/sass/responsive/_mobile.scss b/webapp/sass/responsive/_mobile.scss
index ce11cf18b..ee1532933 100644
--- a/webapp/sass/responsive/_mobile.scss
+++ b/webapp/sass/responsive/_mobile.scss
@@ -1053,7 +1053,7 @@
}
.nav-pills__container {
- height: calc(100% - 50px);
+ height: calc(100% - 42px);
}
> div {
diff --git a/webapp/tests/components/__snapshots__/reset_status_modal.test.jsx.snap b/webapp/tests/components/__snapshots__/reset_status_modal.test.jsx.snap
index ec992a25e..e27dd0d44 100644
--- a/webapp/tests/components/__snapshots__/reset_status_modal.test.jsx.snap
+++ b/webapp/tests/components/__snapshots__/reset_status_modal.test.jsx.snap
@@ -5,7 +5,7 @@ exports[`components/ResetStatusModal should match snapshot 1`] = `
cancelButtonText={
<FormattedMessage
defaultMessage="No, keep it as \\"{status}\\""
- id="modal.manual_status.cancel"
+ id="modal.manaul_status.cancel"
values={
Object {
"status": "",
@@ -16,7 +16,7 @@ exports[`components/ResetStatusModal should match snapshot 1`] = `
checkboxText={
<FormattedMessage
defaultMessage="Do not ask me again"
- id="modal.manual_status.ask"
+ id="modal.manaul_status.ask"
values={Object {}}
/>
}
@@ -24,14 +24,14 @@ exports[`components/ResetStatusModal should match snapshot 1`] = `
confirmButtonText={
<FormattedMessage
defaultMessage="Yes, set my status to \\"Online\\""
- id="modal.manual_status.button"
+ id="modal.manaul_status.button"
values={Object {}}
/>
}
message={
<FormattedMessage
defaultMessage="Would you like to switch your status to \\"Online\\"?"
- id="modal.manual_status.message"
+ id="modal.manaul_status.message"
values={Object {}}
/>
}
@@ -42,7 +42,7 @@ exports[`components/ResetStatusModal should match snapshot 1`] = `
title={
<FormattedMessage
defaultMessage="Your status is set to \\"{status}\\""
- id="modal.manual_status.title"
+ id="modal.manaul_status.title"
values={
Object {
"status": "",
diff --git a/webapp/utils/constants.jsx b/webapp/utils/constants.jsx
index 7a6dac90e..516c4910c 100644
--- a/webapp/utils/constants.jsx
+++ b/webapp/utils/constants.jsx
@@ -443,8 +443,8 @@ export const Constants = {
ONLINE_AVATAR_SVG: "<svg version='1.1'id='Layer_1' xmlns:dc='http://purl.org/dc/elements/1.1/' xmlns:inkscape='http://www.inkscape.org/namespaces/inkscape' xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#' xmlns:svg='http://www.w3.org/2000/svg' xmlns:sodipodi='http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd' xmlns:cc='http://creativecommons.org/ns#' inkscape:version='0.48.4 r9939' sodipodi:docname='TRASH_1_4.svg'xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='-243 245 12 12'style='enable-background:new -243 245 12 12;' xml:space='preserve'> <sodipodi:namedview inkscape:cx='26.358185' inkscape:zoom='1.18' bordercolor='#666666' pagecolor='#ffffff' borderopacity='1' objecttolerance='10' inkscape:cy='139.7898' gridtolerance='10' guidetolerance='10' showgrid='false' showguides='true' id='namedview6' inkscape:pageopacity='0' inkscape:pageshadow='2' inkscape:guide-bbox='true' inkscape:window-width='1366' inkscape:current-layer='Layer_1' inkscape:window-height='705' inkscape:window-y='-8' inkscape:window-maximized='1' inkscape:window-x='-8'> <sodipodi:guide position='50.036793,85.991376' orientation='1,0' id='guide2986'></sodipodi:guide> <sodipodi:guide position='58.426196,66.216355' orientation='0,1' id='guide3047'></sodipodi:guide> </sodipodi:namedview> <g> <path class='online--icon' d='M-236,250.5C-236,250.5-236,250.5-236,250.5C-236,250.5-236,250.5-236,250.5C-236,250.5-236,250.5-236,250.5z'/> <ellipse class='online--icon' cx='-238.5' cy='248' rx='2.5' ry='2.5'/> </g> <path class='online--icon' d='M-238.9,253.8c0-0.4,0.1-0.9,0.2-1.3c-2.2-0.2-2.2-2-2.2-2s-1,0.1-1.2,0.5c-0.4,0.6-0.6,1.7-0.7,2.5c0,0.1-0.1,0.5,0,0.6 c0.2,1.3,2.2,2.3,4.4,2.4c0,0,0.1,0,0.1,0c0,0,0.1,0,0.1,0c0,0,0.1,0,0.1,0C-238.7,255.7-238.9,254.8-238.9,253.8z'/> <g> <g> <path class='online--icon' d='M-232.3,250.1l1.3,1.3c0,0,0,0.1,0,0.1l-4.1,4.1c0,0,0,0-0.1,0c0,0,0,0,0,0l-2.7-2.7c0,0,0-0.1,0-0.1l1.2-1.2 c0,0,0.1,0,0.1,0l1.4,1.4l2.9-2.9C-232.4,250.1-232.3,250.1-232.3,250.1z'/> </g> </g> </svg>",
AWAY_AVATAR_SVG: "<svg version='1.1'id='Layer_1' xmlns:dc='http://purl.org/dc/elements/1.1/' xmlns:inkscape='http://www.inkscape.org/namespaces/inkscape' xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#' xmlns:svg='http://www.w3.org/2000/svg' xmlns:sodipodi='http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd' xmlns:cc='http://creativecommons.org/ns#' inkscape:version='0.48.4 r9939' sodipodi:docname='TRASH_1_4.svg'xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='-299 391 12 12'style='enable-background:new -299 391 12 12;' xml:space='preserve'> <sodipodi:namedview inkscape:cx='26.358185' inkscape:zoom='1.18' bordercolor='#666666' pagecolor='#ffffff' borderopacity='1' objecttolerance='10' inkscape:cy='139.7898' gridtolerance='10' guidetolerance='10' showgrid='false' showguides='true' id='namedview6' inkscape:pageopacity='0' inkscape:pageshadow='2' inkscape:guide-bbox='true' inkscape:window-width='1366' inkscape:current-layer='Layer_1' inkscape:window-height='705' inkscape:window-y='-8' inkscape:window-maximized='1' inkscape:window-x='-8'> <sodipodi:guide position='50.036793,85.991376' orientation='1,0' id='guide2986'></sodipodi:guide> <sodipodi:guide position='58.426196,66.216355' orientation='0,1' id='guide3047'></sodipodi:guide> </sodipodi:namedview> <g> <ellipse class='away--icon' cx='-294.6' cy='394' rx='2.5' ry='2.5'/> <path class='away--icon' d='M-293.8,399.4c0-0.4,0.1-0.7,0.2-1c-0.3,0.1-0.6,0.2-1,0.2c-2.5,0-2.5-2-2.5-2s-1,0.1-1.2,0.5c-0.4,0.6-0.6,1.7-0.7,2.5 c0,0.1-0.1,0.5,0,0.6c0.2,1.3,2.2,2.3,4.4,2.4c0,0,0.1,0,0.1,0c0,0,0.1,0,0.1,0c0.7,0,1.4-0.1,2-0.3 C-293.3,401.5-293.8,400.5-293.8,399.4z'/> </g> <path class='away--icon' d='M-287,400c0,0.1-0.1,0.1-0.1,0.1l-4.9,0c-0.1,0-0.1-0.1-0.1-0.1v-1.6c0-0.1,0.1-0.1,0.1-0.1l4.9,0c0.1,0,0.1,0.1,0.1,0.1 V400z'/> </svg>",
OFFLINE_AVATAR_SVG: "<svg version='1.1'id='Layer_1' xmlns:dc='http://purl.org/dc/elements/1.1/' xmlns:inkscape='http://www.inkscape.org/namespaces/inkscape' xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#' xmlns:svg='http://www.w3.org/2000/svg' xmlns:sodipodi='http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd' xmlns:cc='http://creativecommons.org/ns#' inkscape:version='0.48.4 r9939' sodipodi:docname='TRASH_1_4.svg'xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='-299 391 12 12'style='enable-background:new -299 391 12 12;' xml:space='preserve'> <sodipodi:namedview inkscape:cx='26.358185' inkscape:zoom='1.18' bordercolor='#666666' pagecolor='#ffffff' borderopacity='1' objecttolerance='10' inkscape:cy='139.7898' gridtolerance='10' guidetolerance='10' showgrid='false' showguides='true' id='namedview6' inkscape:pageopacity='0' inkscape:pageshadow='2' inkscape:guide-bbox='true' inkscape:window-width='1366' inkscape:current-layer='Layer_1' inkscape:window-height='705' inkscape:window-y='-8' inkscape:window-maximized='1' inkscape:window-x='-8'> <sodipodi:guide position='50.036793,85.991376' orientation='1,0' id='guide2986'></sodipodi:guide> <sodipodi:guide position='58.426196,66.216355' orientation='0,1' id='guide3047'></sodipodi:guide> </sodipodi:namedview> <g> <g> <ellipse class='offline--icon' cx='-294.5' cy='394' rx='2.5' ry='2.5'/> <path class='offline--icon' d='M-294.3,399.7c0-0.4,0.1-0.8,0.2-1.2c-0.1,0-0.2,0-0.4,0c-2.5,0-2.5-2-2.5-2s-1,0.1-1.2,0.5c-0.4,0.6-0.6,1.7-0.7,2.5 c0,0.1-0.1,0.5,0,0.6c0.2,1.3,2.2,2.3,4.4,2.4h0.1h0.1c0.3,0,0.7,0,1-0.1C-293.9,401.6-294.3,400.7-294.3,399.7z'/> </g> </g> <g> <path class='offline--icon' d='M-288.9,399.4l1.8-1.8c0.1-0.1,0.1-0.3,0-0.3l-0.7-0.7c-0.1-0.1-0.3-0.1-0.3,0l-1.8,1.8l-1.8-1.8c-0.1-0.1-0.3-0.1-0.3,0 l-0.7,0.7c-0.1,0.1-0.1,0.3,0,0.3l1.8,1.8l-1.8,1.8c-0.1,0.1-0.1,0.3,0,0.3l0.7,0.7c0.1,0.1,0.3,0.1,0.3,0l1.8-1.8l1.8,1.8 c0.1,0.1,0.3,0.1,0.3,0l0.7-0.7c0.1-0.1,0.1-0.3,0-0.3L-288.9,399.4z'/> </g> </svg>",
- ONLINE_ICON_SVG: "<svg width='100%' height='100%' viewBox='0 0 20 20' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' xml:space='preserve' style='fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:1.41421;'><path class='online--icon' d='M10,0c5.519,0 10,4.481 10,10c0,5.519 -4.481,10 -10,10c-5.519,0 -10,-4.481 -10,-10c0,-5.519 4.481,-10 10,-10Zm6.19,7.18c0,0.208 -0.075,0.384 -0.224,0.53l-5.782,5.64l-1.087,1.059c-0.149,0.146 -0.33,0.218 -0.543,0.218c-0.213,0 -0.394,-0.072 -0.543,-0.218l-1.086,-1.059l-2.891,-2.82c-0.149,-0.146 -0.224,-0.322 -0.224,-0.53c0,-0.208 0.075,-0.384 0.224,-0.53l1.086,-1.059c0.149,-0.146 0.33,-0.218 0.543,-0.218c0.213,0 0.394,0.072 0.543,0.218l2.348,2.298l5.24,-5.118c0.149,-0.146 0.33,-0.218 0.543,-0.218c0.213,0 0.394,0.072 0.543,0.218l1.086,1.059c0.149,0.146 0.224,0.322 0.224,0.53Z'/></svg>",
- AWAY_ICON_SVG: "<svg width='100%' height='100%' viewBox='0 0 20 20' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' xml:space='preserve' style='fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:1.41421;'><path class='away--icon' d='M10,0c5.519,0 10,4.481 10,10c0,5.519 -4.481,10 -10,10c-5.519,0 -10,-4.481 -10,-10c0,-5.519 4.481,-10 10,-10Zm5.25,8.5l-10.5,0c-0.414,0 -0.75,0.336 -0.75,0.75l0,1.5c0,0.414 0.336,0.75 0.75,0.75l10.5,0c0.414,0 0.75,-0.336 0.75,-0.75l0,-1.5c0,-0.414 -0.336,-0.75 -0.75,-0.75Z'/></svg>",
+ ONLINE_ICON_SVG: "<div class='icon__container'><svg width='100%' height='100%' viewBox='0 0 20 20' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' xml:space='preserve' style='fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:1.41421;'><path class='online--icon' d='M10,0c5.519,0 10,4.481 10,10c0,5.519 -4.481,10 -10,10c-5.519,0 -10,-4.481 -10,-10c0,-5.519 4.481,-10 10,-10Zm6.19,7.18c0,0.208 -0.075,0.384 -0.224,0.53l-5.782,5.64l-1.087,1.059c-0.149,0.146 -0.33,0.218 -0.543,0.218c-0.213,0 -0.394,-0.072 -0.543,-0.218l-1.086,-1.059l-2.891,-2.82c-0.149,-0.146 -0.224,-0.322 -0.224,-0.53c0,-0.208 0.075,-0.384 0.224,-0.53l1.086,-1.059c0.149,-0.146 0.33,-0.218 0.543,-0.218c0.213,0 0.394,0.072 0.543,0.218l2.348,2.298l5.24,-5.118c0.149,-0.146 0.33,-0.218 0.543,-0.218c0.213,0 0.394,0.072 0.543,0.218l1.086,1.059c0.149,0.146 0.224,0.322 0.224,0.53Z'/></svg></div>",
+ AWAY_ICON_SVG: "<div class='icon__container'><svg width='100%' height='100%' viewBox='0 0 20 20' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' xml:space='preserve' style='fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:1.41421;'><path class='away--icon' d='M10,0c5.519,0 10,4.481 10,10c0,5.519 -4.481,10 -10,10c-5.519,0 -10,-4.481 -10,-10c0,-5.519 4.481,-10 10,-10Zm5.25,8.5l-10.5,0c-0.414,0 -0.75,0.336 -0.75,0.75l0,1.5c0,0.414 0.336,0.75 0.75,0.75l10.5,0c0.414,0 0.75,-0.336 0.75,-0.75l0,-1.5c0,-0.414 -0.336,-0.75 -0.75,-0.75Z'/></svg></div>",
OFFLINE_ICON_SVG: "<svg class='offline--icon' width='100%' height='100%' viewBox='0 0 20 20' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' xml:space='preserve' style='fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:1.41421;'><path d='M10,0c5.519,0 10,4.481 10,10c0,5.519 -4.481,10 -10,10c-5.519,0 -10,-4.481 -10,-10c0,-5.519 4.481,-10 10,-10Zm0,2c4.415,0 8,3.585 8,8c0,4.415 -3.585,8 -8,8c-4.415,0 -8,-3.585 -8,-8c0,-4.415 3.585,-8 8,-8Z'/></svg>",
MENU_ICON: "<svg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px'width='4px' height='16px' viewBox='0 0 8 32' enable-background='new 0 0 8 32' xml:space='preserve'> <g> <circle cx='4' cy='4.062' r='4'/> <circle cx='4' cy='16' r='4'/> <circle cx='4' cy='28' r='4'/> </g> </svg>",
COMMENT_ICON: "<svg version='1.1' id='Layer_2' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px'width='15px' height='15px' viewBox='1 1.5 15 15' enable-background='new 1 1.5 15 15' xml:space='preserve'> <g> <g> <path fill='#211B1B' d='M14,1.5H3c-1.104,0-2,0.896-2,2v8c0,1.104,0.896,2,2,2h1.628l1.884,3l1.866-3H14c1.104,0,2-0.896,2-2v-8 C16,2.396,15.104,1.5,14,1.5z M15,11.5c0,0.553-0.447,1-1,1H8l-1.493,2l-1.504-1.991L5,12.5H3c-0.552,0-1-0.447-1-1v-8 c0-0.552,0.448-1,1-1h11c0.553,0,1,0.448,1,1V11.5z'/> </g> </g> </svg>",
diff --git a/webapp/utils/utils.jsx b/webapp/utils/utils.jsx
index 9254b17e3..015084e7b 100644
--- a/webapp/utils/utils.jsx
+++ b/webapp/utils/utils.jsx
@@ -579,7 +579,7 @@ export function applyTheme(theme) {
if (theme.centerChannelBg) {
changeCss('@media(min-width: 768px){.app__body .post:hover .post__header .col__reply, .app__body .post.post--hovered .post__header .col__reply', 'background:' + theme.centerChannelBg);
changeCss('@media(max-width: 320px){.tutorial-steps__container', 'background:' + theme.centerChannelBg);
- changeCss('.app__body .app__content, .app__body .markdown__table, .app__body .markdown__table tbody tr, .app__body .suggestion-list__content, .app__body .modal .modal-content, .app__body .modal .modal-footer, .app__body .post.post--compact .post-image__column, .app__body .suggestion-list__divider > span, .app__body .status-wrapper .status', 'background:' + theme.centerChannelBg);
+ changeCss('.app__body .status-wrapper .status_dropdown__toggle .status .icon__container:after, .app__body .app__content, .app__body .markdown__table, .app__body .markdown__table tbody tr, .app__body .suggestion-list__content, .app__body .modal .modal-content, .app__body .modal .modal-footer, .app__body .post.post--compact .post-image__column, .app__body .suggestion-list__divider > span, .app__body .status-wrapper .status', 'background:' + theme.centerChannelBg);
changeCss('#post-list .post-list-holder-by-time, .app__body .post .dropdown-menu a', 'background:' + theme.centerChannelBg);
changeCss('#post-create', 'background:' + theme.centerChannelBg);
changeCss('.app__body .date-separator .separator__text, .app__body .new-separator .separator__text', 'background:' + theme.centerChannelBg);
@@ -664,7 +664,6 @@ export function applyTheme(theme) {
}
changeCss('body', 'scrollbar-arrow-color:' + theme.centerChannelColor);
changeCss('.app__body .post-create__container .post-create-body .btn-file svg, .app__body .post.post--compact .post-image__column .post-image__details svg, .app__body .modal .about-modal .about-modal__logo svg, .app__body .post .post__img svg', 'fill:' + theme.centerChannelColor);
- changeCss('.sidebar--left .status .offline--icon', 'fill:' + theme.centerChannelColor);
changeCss('.app__body .scrollbar--horizontal, .app__body .scrollbar--vertical', 'background:' + changeOpacity(theme.centerChannelColor, 0.5));
changeCss('.app__body .post-list__new-messages-below', 'background:' + changeColor(theme.centerChannelColor, 0.5));
changeCss('.app__body .post.post--comment .post__body', 'border-color:' + changeOpacity(theme.centerChannelColor, 0.2));