diff --git a/css/base.css b/css/base.css
index 9db532a9..698d196d 100644
--- a/css/base.css
+++ b/css/base.css
@@ -20,6 +20,7 @@ html, body {
tt {
font-family: 'Roboto Mono', Courier, monospace;
+ white-space: nowrap;
}
a {
@@ -68,8 +69,8 @@ a.gray:focus {
height: 1.4em;
line-height: 1.4em;
text-transform: none;
- padding-left: .35rem;
- padding-right: .35rem;
+ padding: 0 .35rem;
+ margin: 0.15rem;
border: 1px solid #999;
border-radius: 3px;
background-color: #eee;
@@ -248,6 +249,11 @@ textarea {
resize: none;
padding-top: 0.45rem;
}
+
+textarea.inplace-edit {
+ height: unset;
+}
+
/* END of input and buttons */
/* BEGIN scrollbar styling. */
@@ -326,6 +332,10 @@ li:hover .menuTrigger a {
color: #757575;
}
+ul.contact-box .menuTrigger {
+ background-image: radial-gradient(#eceff1 40%, transparent 75%);
+}
+
li.left:hover .menuTrigger {
background-image: radial-gradient(#c5e1a5 40%, transparent 75%);
}
@@ -333,6 +343,10 @@ li.right:hover .menuTrigger {
background-image: radial-gradient(#fafafa 40%, transparent 75%);
}
+li.selected .menuTrigger {
+ background-image: radial-gradient(#cfd8dc 40%, transparent 75%);
+}
+
/* END popup/dropdown menu */
/* Begin Alert: modal window with message and buttons. */
@@ -368,9 +382,34 @@ div.alert .content {
}
/* END Alert */
+/* BEGIN trusted badges with legend */
+div.trusted-badge {
+ margin: 0.25rem 0;
+}
+/* END trusted badges */
+
/* Generic text colors */
.blue {
- color: #2196f3; /* blue 500 */
+ color: #2196f3!important; /* blue 500 */
+}
+.lt-blue {
+ color: #64b5f6!important; /* blue 300 */
+}
+
+.verified-color {
+ color: #03A9F4!important; /* lt-blue 500 */
+}
+
+.staff-color {
+ color: #689f38!important; /* light green 700 */
+}
+
+.danger-color {
+ color: #FFC107!important; /* amber 500 */
+}
+
+.green {
+ color: #388e3c; /* green 700 */
}
.green {
@@ -378,19 +417,20 @@ div.alert .content {
}
.red {
- color: #D32F2F; /* red 700 */
+ color: #D32F2F!important; /* red 700 */
}
-.amber {
- color: #FFC107; /* amber 500 */
+/* Color of an inverted icon badges */
+.badge-inv {
+ color: #fffd!important;
}
.gray {
- color: #757575;
+ color: #757575!important;
}
.light-gray {
- color: #bbb;
+ color: #bbb!important;
}
.large {
@@ -402,8 +442,8 @@ div.alert .content {
}
.float-right {
- margin-left: auto;
- float: right;
+ position: absolute;
+ right: 0.5rem;
}
.hr {
@@ -420,6 +460,12 @@ div.alert .content {
height: 0.015rem;
}
+.ellipsized {
+ overflow-x: hidden;
+ white-space: nowrap;
+ text-overflow: ellipsis;
+}
+
/* Element which can take focus but shows no outline */
.group-focus {
outline: none;
@@ -566,30 +612,39 @@ div.alert .content {
.in-place-edit {
display: inline-block;
font-family: inherit;
- font-size: 1.1rem;
- height: 2.5rem;
- line-height: 2.25;
- margin: 0.25rem 0.125rem;
+ font-size: 1rem;
+ margin: 0.25rem 0.125rem 0 0.125rem;
width: 100%;
vertical-align: baseline;
border-bottom: 1px dashed #ddd;
cursor: pointer;
}
+.in-place-edit.short {
+ font-size: 1.1rem;
+ height: 2.5rem;
+ line-height: 2.25;
+}
+
.in-place-edit.disabled {
border-bottom: none;
cursor: default;
+ color: #888;
}
.in-place-edit.placeholder {
color: #bbb;
}
-.in-place-edit .content {
+.in-place-edit span {
+ display: inline-block;
+}
+
+.in-place-edit.short span {
display: block;
white-space: nowrap;
text-overflow: ellipsis;
- overflow: hidden
+ overflow-x: hidden;
}
/* END of InPlaceEdit styles */
@@ -609,8 +664,8 @@ table.permission-editor td.checkbox {
}
.permission-editor .material-icons {
- font-size: 1.1rem;
- line-height: 1.1rem;
+ font-size: 1.3rem;
+ line-height: 1.3rem;
}
.material-icons.clickable {
@@ -762,6 +817,11 @@ i.search {
overflow: hidden;
padding: 1rem 1.5rem 1rem 0.5rem;
}
+
+.info-box > span {
+ line-height: 1.5rem;
+}
+
.info-box .cancel {
position: absolute;
right: 0.25rem;
@@ -786,6 +846,7 @@ i.search {
border-bottom: 1px solid #b3e5fc;
color: #0288d1;
}
+
.info-box .cancel .material-icons {
font-size: 1rem;
color: #757575;
@@ -814,7 +875,7 @@ i.search {
display: flex;
flex-direction: column;
height: 100%;
- overflow: hidden;
+ overflow-x: hidden;
}
.flex-column.narrow {
@@ -822,6 +883,7 @@ i.search {
}
.scrollable-panel {
+ overflow-x: hidden;
overflow-y: auto;
margin-top: 0.25rem;
margin-bottom: auto;
@@ -845,6 +907,12 @@ i.search {
background: linear-gradient(to right, transparent 3.5rem, #eee 1px, #eee 100%) 0 100% / 100% 1px no-repeat, #fff;
overflow-x: hidden;
}
+
+.contact-box.small > li {
+ padding: 0.25rem 0.25rem 0.35rem 0.35rem;
+ min-height: 2.5rem;
+}
+
.contact-box > li:last-child {
/* remove border from the last contact */
background: #fff;
@@ -867,16 +935,23 @@ i.search {
.contact-box .contact-title {
font-size: 1.05rem;
text-overflow: ellipsis;
- overflow: hidden
+ overflow-x: hidden;
+ white-space: nowrap;
}
.contact-box .contact-comment {
text-overflow: ellipsis;
- overflow: hidden;
+ overflow-x: hidden;
white-space: nowrap;
font-weight: lighter;
}
+.contact-box .contact-comment > span {
+ overflow-x: hidden;
+ white-space: nowrap;
+ text-overflow: ellipsis;
+}
+
.contact-box .contact-comment b {
font-weight: bolder;
}
@@ -902,6 +977,19 @@ i.search {
height: 3rem;
border-radius: 50%;
}
+
+.contact-box.small .avatar-box {
+ width: 2rem;
+ min-width: 2rem;
+ height: 2rem;
+ min-height: 2rem;
+ font-size: 1.2rem;
+}
+.contact-box.small .avatar {
+ width: 2rem;
+ height: 2rem;
+}
+
.contact-box .avatar-box > .material-icons {
display: flex;
flex-direction: column;
@@ -909,11 +997,20 @@ i.search {
font-size: 2.4rem;
line-height: 3rem;
}
+.contact-box.small .avatar-box > .material-icons {
+ font-size: 1.6rem;
+ line-height: 2rem;
+}
.contact-box .text-box {
display: flex;
flex-direction: column;
justify-content: space-around;
}
+.contact-box .text-box > div {
+ display: flex;
+ flex-direction: row;
+ align-items: center;
+}
.contact-box .action-text {
text-align: center;
@@ -923,11 +1020,19 @@ i.search {
cursor: pointer;
}
-.contact-box img.channel {
+img.channel {
width: 1rem;
height: 1rem;
vertical-align: middle;
margin-left: 0.3rem;
+ margin-bottom: 0.1rem;
+}
+
+.large img.channel {
+ width: 1.35rem;
+ height: 1.35rem;
+ margin-left: 0.5rem;
+ margin-bottom: 0.15rem;
}
/* Online-offline indicator positioned inside avatar-box */
@@ -986,12 +1091,14 @@ i.search {
/* Various forms inside a panel (signup form, new topic form) */
.panel-form {
display: flex;
+ position: relative;
flex-direction: column;
padding: 0;
}
.panel-form-row {
display: flex;
+ position: relative;
align-items: center;
padding: 0.5rem 0.75rem;
line-height: 1.5;
@@ -1001,15 +1108,15 @@ i.search {
.panel-form-column {
display: flex;
+ position: relative;
flex-direction: column;
flex-grow: 0;
- flex-shrink: 0;
padding: 0.5rem 0.75rem;
line-height: 1.5;
+ overflow-x: hidden;
}
-/* Make sure padding is only applied at
- the top level panel */
+/* Make sure padding is only applied at the top level panel */
.panel-form-row > .panel-form-column,
.panel-form-column > .panel-form-column {
padding: 0!important;
@@ -1020,15 +1127,19 @@ i.search {
padding: 0!important;
}
+.panel-form-column > .group {
+ margin-top: 0.25rem;
+ margin-bottom: 0.25rem;
+}
+
/* Styling of avatar upload control */
.avatar-upload {
position: relative;
display: flex;
flex-direction: column;
flex-shrink: 0;
- width: 7rem;
- height: 9rem;
- margin-left: 0.5rem;
+ width: 10rem;
+ height: 10.5rem;
font-size: 4.5rem;
padding: 0;
}
@@ -1052,14 +1163,14 @@ i.search {
.avatar-upload .avatar-box {
position: relative;
- width: 7rem;
- height: 7rem;
+ width: 10rem;
+ height: 10rem;
}
.avatar-upload .avatar-box > .material-icons {
position: relative;
font-size: 4rem;
- line-height: 7rem;
+ line-height: 10rem;
vertical-align: middle;
}
@@ -1078,21 +1189,37 @@ i.search {
border: 1px dashed #999;
font-size: 1rem;
flex-shrink: 0;
- width: 7rem;
- height: 7rem;
+ width: 10rem;
+ height: 10rem;
overflow: hidden;
color: #999;
- line-height: 7rem;
+ line-height: 10rem;
border-radius: 50%;
}
-.avatar-upload .preview {
- width: 7rem;
- height: 7rem;
+.avatar-upload img.preview {
+ width: 10rem;
+ height: 10rem;
overflow: hidden;
border-radius: 50%;
}
+.avatar-upload img.preview::before {
+ position: absolute;
+ content: " ";
+ display: flex;
+ font-size: 0.9rem;
+ font-weight: lighter;
+ color: #666;
+ top: 0;
+ left: 0;
+ width: 10rem;
+ height: 10rem;
+ justify-content: center;
+ background: center no-repeat url("../img/broken_image.png");
+ border-radius: 50%;
+}
+
.avatar-upload .inputfile.hidden {
width: 0.1px;
height: 0.1px;
@@ -1103,6 +1230,7 @@ i.search {
.avatar-upload .inputfile + label.round {
display: flex;
+ position: absolute;
align-items: center;
justify-content: center;
cursor: pointer;
@@ -1111,11 +1239,10 @@ i.search {
line-height: 3rem;
border-radius: 50%;
box-shadow: 0 1px 4px rgba(0,0,0,0.4);
- margin-left: auto;
- margin-right: auto;
- margin-top: -1rem;
bottom: 0;
+ right: 0;
background-color: #fafafa;
+ z-index: 1;
}
.avatar-upload .inputfile:focus + label.round {
@@ -1257,7 +1384,6 @@ i.search {
flex: none;
padding: 0.4rem 0.4rem 0.4rem 0.6rem;
background-color: #eceff1;
- box-shadow: 0px -2px 3px -1px rgba(0,0,0,0.1); /* Faint shadow above panel */
z-index: 2;
height: 4rem;
}
@@ -1268,6 +1394,12 @@ i.search {
font-size: 1.2rem;
}
+#send-message-wrapper {
+ background-color: #eceff1;
+ box-shadow: 0px -2px 3px -1px rgba(0,0,0,0.1); /* Faint shadow above panel */
+ z-index: 2;
+}
+
#sendMessage {
overflow: hidden;
overflow-wrap: break-word;
@@ -1405,6 +1537,7 @@ i.search {
margin: 0;
padding: 0;
align-items: flex-end;
+ transition: background-color 1s ease-out;
}
.chat-box .right {
@@ -1604,7 +1737,7 @@ img.inline-image::before {
img.image-preview::before {
content: " ";
- background-size: 8rem 8rem;
+ background-size: 10rem 10rem;
}
/* Attachment styles */
@@ -1745,7 +1878,7 @@ ul.tabbar li.active > a {
width: 1.35rem;
height: 1.35rem;
margin-left: 0.5rem;
- line-height: 1.35rem;
+ line-height: 1.45rem;
text-align: center;
vertical-align: middle;
}
@@ -1771,7 +1904,7 @@ ul.tabbar li.active > a {
}
.badge.green {
- border-color: #9c9;
+ border-color: #aca;
background-color: #efe;
color: #383;
}
@@ -1783,7 +1916,7 @@ ul.tabbar li.active > a {
}
.badge.blue {
- border-color: #99c;
+ border-color: #aad;
background-color: #eef;
color: #339;
}
@@ -1820,6 +1953,7 @@ ul.tabbar li.active > a {
text-align: center;
border-radius: 50%;
line-height: 1;
+ padding-top: 0.1em;
color: rgba(250, 250, 250, 0.8); /* default text color #FAFAFA, gray 50 */
}
@@ -1828,105 +1962,304 @@ ul.tabbar li.active > a {
}
/* Colors of letter tiles */
-.light-color0 {
+.lt-bg-0 {
background-color: #ef9a9a;
}
-.light-color1 {
+.lt-bg-1 {
background-color: #90caf9;
}
-.light-color2 {
+.lt-bg-2 {
background-color: #b0bec5;
}
-.light-color3 {
+.lt-bg-3 {
background-color: #b39ddb;
}
-.light-color4 {
+.lt-bg-4 {
background-color: #ffab91;
}
-.light-color5 {
+.lt-bg-5 {
background-color: #a5d6a7;
}
-.light-color6 {
+.lt-bg-6 {
background-color: #eeeeee;
}
-.light-color7 {
+.lt-bg-7 {
background-color: #e6ee9c;
}
-.light-color8 {
+.lt-bg-8 {
background-color: #c5e1a5;
}
-.light-color9 {
+.lt-bg-9 {
background-color: #f0e57d;
}
-.light-color10 {
+.lt-bg-10 {
background-color: #f48fb1;
}
-.light-color11 {
+.lt-bg-11 {
background-color: #9fa8da;
}
-.light-color12 {
+.lt-bg-12 {
background-color: #ffe082;
}
-.light-color13 {
+.lt-bg-13 {
background-color: #bcaaa4;
}
-.light-color14 {
+.lt-bg-14 {
background-color: #80deea;
}
-.light-color15 {
+.lt-bg-15 {
background-color: #ce93d8;
}
/* Darker version of letter tile colors */
-.dark-color0 {
+.dk-bg-0 {
background-color: #C62828;
}
-.dark-color1 {
+.dk-bg-1 {
background-color: #AD1457;
}
-.dark-color2 {
+.dk-bg-2 {
background-color: #6A1B9A;
}
-.dark-color3 {
+.dk-bg-3 {
background-color: #4527A0;
}
-.dark-color4 {
+.dk-bg-4 {
background-color: #283593;
}
-.dark-color5 {
+.dk-bg-5 {
background-color: #1565C0;
}
-.dark-color6 {
+.dk-bg-6 {
background-color: #0277BD;
}
-.dark-color7 {
+.dk-bg-7 {
background-color: #00838F;
}
-.dark-color8 {
+.dk-bg-8 {
background-color: #00695C;
}
-.dark-color9 {
+.dk-bg-9 {
background-color: #2E7D32;
}
-.dark-color10 {
+.dk-bg-10 {
background-color: #558B2F;
}
-.dark-color11 {
+.dk-bg-11 {
background-color: #9E9D24;
}
-.dark-color12 {
+.dk-bg-12 {
background-color: #F9A825;
}
-.dark-color13 {
+.dk-bg-13 {
background-color: #FF8F00;
}
-.dark-color14 {
+.dk-bg-14 {
background-color: #EF6C00;
}
-.dark-color15 {
+.dk-bg-15 {
background-color: #D84315;
}
+/* Same colors as above but for text as opposite to background */
+.lt-fg-0 {
+ color: #ef9a9a!important;
+}
+.lt-fg-1 {
+ color: #90caf9!important;
+}
+.lt-fg-2 {
+ color: #b0bec5!important;
+}
+.lt-fg-3 {
+ color: #b39ddb!important;
+}
+.lt-fg-4 {
+ color: #ffab91!important;
+}
+.lt-fg-5 {
+ color: #a5d6a7!important;
+}
+.lt-fg-6 {
+ color: #eeeeee!important;
+}
+.lt-fg-7 {
+ color: #e6ee9c!important;
+}
+.lt-fg-8 {
+ color: #c5e1a5!important;
+}
+.lt-fg-9 {
+ color: #f0e57d!important;
+}
+.lt-fg-10 {
+ color: #f48fb1!important;
+}
+.lt-fg-11 {
+ color: #9fa8da!important;
+}
+.lt-fg-12 {
+ color: #ffe082!important;
+}
+.lt-fg-13 {
+ color: #bcaaa4!important;
+}
+.lt-fg-14 {
+ color: #80deea!important;
+}
+.lt-fg-15 {
+ color: #ce93d8!important;
+}
+
+.dk-fg-0 {
+ color: #C62828!important;
+}
+.dk-fg-1 {
+ color: #AD1457!important;
+}
+.dk-fg-2 {
+ color: #6A1B9A!important;
+}
+.dk-fg-3 {
+ color: #4527A0!important;
+}
+.dk-fg-4 {
+ color: #283593!important;
+}
+.dk-fg-5 {
+ color: #1565C0!important;
+}
+.dk-fg-6 {
+ color: #0277BD!important;
+}
+.dk-fg-7 {
+ color: #00838F!important;
+}
+.dk-fg-8 {
+ color: #00695C!important;
+}
+.dk-fg-9 {
+ color: #2E7D32!important;
+}
+.dk-fg-10 {
+ color: #558B2F!important;
+}
+.dk-fg-11 {
+ color: #9E9D24!important;
+}
+.dk-fg-12 {
+ color: #F9A825!important;
+}
+.dk-fg-13 {
+ color: #FF8F00!important;
+}
+.dk-fg-14 {
+ color: #EF6C00!important;
+}
+.dk-fg-15 {
+ color: #D84315!important;
+}
+
+/* Colors of user mentions */
+.mn-light-color0 {
+ color: #ef9a9a;
+}
+.mn-light-color1 {
+ color: #90caf9;
+}
+.mn-light-color2 {
+ color: #b0bec5;
+}
+.mn-light-color3 {
+ color: #b39ddb;
+}
+.mn-light-color4 {
+ color: #ffab91;
+}
+.mn-light-color5 {
+ color: #a5d6a7;
+}
+.mn-light-color6 {
+ color: #eeeeee;
+}
+.mn-light-color7 {
+ color: #e6ee9c;
+}
+.mn-light-color8 {
+ color: #c5e1a5;
+}
+.mn-light-color9 {
+ color: #f0e57d;
+}
+.mn-light-color10 {
+ color: #f48fb1;
+}
+.mn-light-color11 {
+ color: #9fa8da;
+}
+.mn-light-color12 {
+ color: #ffe082;
+}
+.mn-light-color13 {
+ color: #bcaaa4;
+}
+.mn-light-color14 {
+ color: #80deea;
+}
+.mn-light-color15 {
+ color: #ce93d8;
+}
+
+/* Darker version of user mention colors */
+.mn-dark-color0 {
+ color: #C62828;
+}
+.mn-dark-color1 {
+ color: #AD1457;
+}
+.mn-dark-color2 {
+ color: #6A1B9A;
+}
+.mn-dark-color3 {
+ color: #4527A0;
+}
+.mn-dark-color4 {
+ color: #283593;
+}
+.mn-dark-color5 {
+ color: #1565C0;
+}
+.mn-dark-color6 {
+ color: #0277BD;
+}
+.mn-dark-color7 {
+ color: #00838F;
+}
+.mn-dark-color8 {
+ color: #00695C;
+}
+.mn-dark-color9 {
+ color: #2E7D32;
+}
+.mn-dark-color10 {
+ color: #558B2F;
+}
+.mn-dark-color11 {
+ color: #9E9D24;
+}
+.mn-dark-color12 {
+ color: #F9A825;
+}
+.mn-dark-color13 {
+ color: #FF8F00;
+}
+.mn-dark-color14 {
+ color: #EF6C00;
+}
+.mn-dark-color15 {
+ color: #D84315;
+}
+
/* Material icons resized from the default 24pt */
.material-icons {
font-size: 1.4rem;
@@ -2005,6 +2338,15 @@ ul.tabbar li.active > a {
background-color: #eee;
white-space: nowrap;
font-size: 90%;
+ max-width: 12rem;
+ overflow-x: hidden;
+ text-overflow: ellipsis;
+}
+
+.chip > span {
+ white-space: nowrap;
+ overflow-x: hidden;
+ text-overflow: ellipsis;
}
.chip.invalid {
@@ -2019,6 +2361,7 @@ ul.tabbar li.active > a {
border-radius: 50%;
margin: 0.3rem;
width: 1.175rem;
+ min-width: 1.175rem;
height: 1.175rem;
line-height: 1.15;
text-decoration: none;
@@ -2054,12 +2397,14 @@ ul.tabbar li.active > a {
}
.load-spinner-box {
+ --size-small: 2.5rem;
+ --size-large: 4rem;
position: absolute;
box-shadow: 0.1rem 0.1rem 0.15rem 1px rgba(0,0,0,0.25);
border-radius: 50%;
padding: 0.25rem;
- width: 2.5rem;
- height: 2.5rem;
+ width: var(--size-small);
+ height: var(--size-small);
left: 0;
right: 0;
top: 5rem;
@@ -2069,6 +2414,25 @@ ul.tabbar li.active > a {
z-index: 2;
}
+.load-spinner-box.large {
+ width: var(--size-large);
+ height: var(--size-large);
+}
+
+.load-spinner-box.clear {
+ -x-box-shadow: none;
+ box-shadow: 0.1rem 0.1rem 0.15rem 1px rgba(0,0,0,0.12);
+ background-color: #fff8;
+}
+
+.load-spinner-box.centered {
+ top: calc(var(--size-small)/2 - 0.25rem);
+}
+
+.load-spinner-box.large.centered {
+ top: calc(var(--size-large)/2 - 0.25rem);
+}
+
.loader-spinner {
border: 0.35rem solid #f3f3f3;
border-radius: 50%;
@@ -2078,6 +2442,11 @@ ul.tabbar li.active > a {
animation: spin 1.5s linear infinite;
}
+.load-spinner-box.large .loader-spinner {
+ width: 3.5rem;
+ height: 3.5rem;
+}
+
@keyframes spin {
0% { transform: rotate(0deg); }
100% { transform: rotate(360deg); }
@@ -2116,3 +2485,121 @@ ul.tabbar li.active > a {
color: #5f9ea0;
font-weight: inherit;
}
+
+/* Image cropping widget */
+
+.cropper {
+ position: relative;
+ width: 18rem;
+ height: 21rem;
+ margin: auto;
+ margin-top: 1rem;
+ align-self: center;
+ transform: translateZ(0);
+ border-radius: 0.25rem;
+}
+
+.cropper .bounding-box {
+ position: relative;
+ width: 18rem;
+ height: 18rem;
+ overflow: hidden;
+ z-index: 1;
+ border-radius: 0.25rem;
+ border: solid 2px #1e88e5;
+ box-shadow: 1px 1px 3px grey;
+ background-color: #999;
+}
+
+.cropper .preview {
+ position: absolute;
+ max-height: none;
+ max-width: none;
+ z-index: -1;
+}
+
+.cropper .cutout {
+ position: absolute;
+ width: 17rem;
+ height: 17rem;
+ border: 1px dashed #999;
+ margin: auto;
+ top: 0;
+ bottom: 0;
+ right: 0;
+ left: 0;
+ box-shadow: 0 0 150rem 150rem rgb(230 246 255 / 66%);
+ z-index: 0;
+}
+
+.cropper .cutout.circle {
+ border-radius: 50%;
+}
+
+.cropper .overlay {
+ position: absolute;
+ cursor: move;
+ touch-action: none;
+ z-index: 1;
+}
+
+.cropper .zoom-wrapper {
+ height: 2rem;
+ width: 80%;
+ margin: 1rem auto;
+ text-align: center;
+}
+
+.cropper .zoom {
+ box-shadow: none;
+ pointer-events: none;
+ z-index: 2;
+}
+
+.cropper .zoom:focus {
+ outline: none;
+}
+
+/* Quoted (cited) content */
+.reply-quote {
+ position: relative;
+ padding: 0.15rem 0.5rem 0.15rem 0.5rem;
+ border-left: 0.25rem solid #039be5;
+ line-height: 1.5em;
+ font-weight: lighter;
+ border-radius: 0.25rem;
+ color: #666;
+}
+
+.chat-box .bubble .reply-quote {
+ margin: -0.25rem -0.75rem 0.35rem -0.75rem;
+}
+
+.chat-box .left .reply-quote {
+ background-color: #daebc6;
+}
+
+.chat-box .right .reply-quote {
+ background-color: #eee;
+}
+
+.reply-quote-header {
+ color: #039be5;
+}
+
+#reply-quote-preview {
+ display: flex;
+ align-items: center;
+}
+
+#reply-quote-preview .reply-quote {
+ width: 100%;
+ background-color: #fafafa;
+ margin: 0.35rem 0.5rem 0 0;
+ cursor: initial;
+}
+
+#reply-quote-preview .cancel {
+ min-width: 2.4rem;
+ text-align: center;
+}
diff --git a/css/base.min.css b/css/base.min.css
index 581420ce..9750e8bf 100644
--- a/css/base.min.css
+++ b/css/base.min.css
@@ -1 +1 @@
-*{text-rendering:optimizeLegibility;box-sizing:border-box;font-family:Roboto,Arial,sans-serif;margin:0;padding:0}body,html{background-color:silver;box-shadow:inset 0 10rem #3949ab;color:#666;font-size:10pt;height:100%;overflow:hidden;width:100%}tt{font-family:Roboto Mono,Courier,monospace}a{color:#2196f3;text-decoration:none}a:focus,a:hover{color:#0a6ebd;text-decoration:underline}a.danger{color:#d32f2f}a.danger:focus,a.danger:hover{color:#f44336}a.gray:focus,a.gray:hover{color:#999}.flat-button{align-items:center;display:flex;font-weight:400;height:2em;line-height:2em;margin:.15rem .35rem;text-align:center;text-transform:uppercase;touch-action:manipulation;vertical-align:middle;white-space:nowrap}.flat-button:focus,.flat-button:hover{text-decoration:none}.flat-button.faux{background-color:#eee;border:1px solid #999;border-radius:3px;display:inline-block;height:1.4em;line-height:1.4em;padding-left:.35rem;padding-right:.35rem;text-transform:none}form{line-height:1.5;padding:.5rem .75rem}form,label{font-size:1.1rem}label{margin-right:auto}label.small{color:#1e88e5;font-size:.95rem}img.avatar{border-radius:50%;height:100%;width:100%}button{border:1px solid #0000;border-radius:4px;box-shadow:0 1px 3px 0 #00000040;cursor:pointer;display:inline-block;font-family:inherit;font-size:1.05rem;font-weight:400;height:2.2rem;line-height:2.2rem;margin:0 .35rem;min-width:5rem;padding-left:1.2rem;padding-right:1.2rem;text-align:center;text-transform:uppercase;touch-action:manipulation;vertical-align:middle;white-space:nowrap}button[disabled],html input[disabled]{box-shadow:none;cursor:default;opacity:.65}button.round{border-radius:50%;box-shadow:0 2px .5rem 0 #00000040;height:3rem;line-height:3.5rem;margin:0;outline:none;padding:0;width:3rem;z-index:2}button.round.small{box-shadow:0 2px .35rem 0 #00000040;height:2rem;line-height:2rem;width:2rem}button:active,button:focus,button:hover{color:#fff}button:active{box-shadow:inset 0 3px .5rem rgba(0,0,0,.125)}button:active.round.small{box-shadow:inset 0 2px .35rem rgba(0,0,0,.125)}button.primary{background-color:#1e88e5;color:#fff}button.primary:active,button.primary:focus,button.primary:hover{background-color:#2962ff}button.secondary{background-color:#fff;color:#2196f3}button.secondary:active,button.secondary:focus,button.secondary:hover{background-color:#e3f2fd}button.outline{background-color:initial;border:1px solid silver;box-shadow:none;color:#2196f3}button.outline:active,button.outline:focus,button.outline:hover{background-color:#e8eaf6}input,textarea{background:#0000;border:none;color:#666;font-family:inherit;font-size:1.1rem;margin:.25rem 0;outline:none;padding:0 .125rem}input[type=email],input[type=password],input[type=search],input[type=text],textarea{border-bottom:1px solid #ccc;box-shadow:0 1px 0 #0000001a;height:2.5rem;transition:all .1s ease-in-out}input[type=email],input[type=password],input[type=text],textarea{width:100%}input[type=email]:focus,input[type=password]:focus,input[type=search]:focus,input[type=text]:focus,textarea:focus{border-bottom:1px solid #2196f3;box-shadow:0 1px 0 #2196f340}input[type=email].invalid,input[type=password].invalid,input[type=search].invalid,input[type=text].invalid,textarea.invalid{border-bottom:1px solid #e57373;box-shadow:0 1px 0 #e5737340}input[type=email]::placeholder,input[type=password]::placeholder,input[type=search]::placeholder,input[type=text]::placeholder,textarea::placeholder{color:#bbb;font-weight:lighter}input[type=password].with-visibility,input[type=text].with-visibility{margin-right:-2rem;padding-right:2rem}textarea{padding-top:.45rem;resize:none}::-webkit-scrollbar{width:.6rem}::-webkit-scrollbar-track{background-color:#ffffff1a;-webkit-box-shadow:inset 0 0 6px #0003}::-webkit-scrollbar-thumb{background-color:#0000004d}*{scrollbar-color:silver;scrollbar-width:thin}ul.menu{background-color:#fff;border-radius:.2rem;box-shadow:0 1px 6px #00000073;list-style:none;padding-bottom:.35rem;padding-top:.35rem;position:absolute;width:12rem;z-index:4}ul.menu>li{padding:.75rem .75rem .75rem 1.25rem}ul.menu>li:hover{background-color:#f5f5f5}ul.menu>li.separator{height:1px;margin:2px;padding:0}ul.menu>li.separator,ul.menu>li.separator:hover{background-color:#ccc}li .menuTrigger{border-radius:.6rem;height:1.2rem;line-height:1.2rem;opacity:0;position:absolute;right:.25rem;text-align:center;top:.25rem;width:1.5rem}li:hover .menuTrigger{opacity:1}li:hover .menuTrigger a{color:#757575}li.left:hover .menuTrigger{background-image:radial-gradient(#c5e1a5 40%,#0000 75%)}li.right:hover .menuTrigger{background-image:radial-gradient(#fafafa 40%,#0000 75%)}div.alert-container{align-items:center;background:#00000054;display:flex;height:100%;justify-content:center;position:absolute;width:100%;z-index:3}div.alert{background-color:#fff;border-radius:4px;box-shadow:0 1px 6px #00000073;margin:auto 2rem;max-width:24rem;min-width:16rem;padding:1rem;width:content}div.alert .title{color:#2196f3;font-size:1.2rem;font-weight:500;padding:0 0 .35rem;width:100%}div.alert .content{padding:.5rem 0}.blue{color:#2196f3}.green{color:#388e3c}.red{color:#d32f2f}.amber{color:#ffc107}.gray{color:#757575}.light-gray{color:#bbb}.large{font-size:120%}.small{font-size:90%}.float-right{float:right;margin-left:auto}.hr{background-color:#f0f0f0;box-shadow:inset 0 .25rem .25rem -.25rem #00000026,inset 0 -.25rem .25rem -.25rem #00000026;display:block;height:.45rem;min-height:.3rem;width:100%}.hr.thin{height:.015rem}.group-focus{outline:none}#mountPoint{height:100%;padding-bottom:3rem;padding-top:1rem}#noscript-message{background-color:#fff;border-radius:.25rem;box-shadow:1px 2px .3rem gray;display:flex;flex-direction:column;margin-left:auto;margin-right:auto;margin-top:5rem;max-width:30rem;overflow:hidden;position:relative}#noscript-title{background-color:#2196f3;color:#bbdefb;font-size:120%;font-weight:bolder;padding:1rem}#noscript-content{padding:1rem}#app-container{background-color:#fff;border-radius:.25rem;box-shadow:1px 2px .3rem gray;display:flex;height:100%;margin-left:auto;margin-right:auto;max-width:84rem;overflow:hidden;position:relative}#sidepanel{flex-grow:0;flex-shrink:0.3;min-width:18rem;width:24rem}#sidepanel,#topic-view{display:flex;flex-direction:column;height:100%;position:relative}#topic-view{overflow-x:hidden;width:100%}#info-view{display:flex;flex-direction:column;flex-grow:0;flex-shrink:0.3;height:100%;min-width:18rem;width:24rem}@media (max-width:960px){#mountPoint{padding:0}}@media (max-width:640px){#app-container{border-radius:0;box-shadow:none;width:100%}#info-view,#sidepanel{width:100%}}.center-medium-text{align-items:center;display:flex;font-size:1.4rem;height:100%;justify-content:center;text-align:center;width:100%}.nodisplay{display:none!important}.quoted{margin-left:1rem}.space-right{margin-right:.25rem}.rounded-container{background-color:#fafafa;border-radius:.1rem;margin:.25rem;padding:.25rem;position:relative}.in-place-edit{border-bottom:1px dashed #ddd;cursor:pointer;display:inline-block;font-family:inherit;font-size:1.1rem;height:2.5rem;line-height:2.25;margin:.25rem .125rem;vertical-align:initial;width:100%}.in-place-edit.disabled{border-bottom:none;cursor:default}.in-place-edit.placeholder{color:#bbb}.in-place-edit .content{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}table.permission-editor{width:100%}table.permission-editor td{font-size:1.1rem;margin:.35rem 0;vertical-align:middle}table.permission-editor td.checkbox{color:#999;text-align:center}.permission-editor .material-icons{font-size:1.1rem;line-height:1.1rem}.material-icons.clickable{border-bottom:none;cursor:pointer}.clickable{border-bottom:1px dashed #ddd}.clean-clickable,.clickable,.image-clickable{cursor:pointer}.panel-title{font-size:1.4rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.caption-panel{align-items:center;box-shadow:0 1px 2px gray;display:flex;flex:none;height:4rem;overflow-x:hidden;padding:.5rem;white-space:nowrap;z-index:1}.dialog-buttons{display:flex;justify-content:flex-end;padding:.5rem}.dialog-buttons button{margin:0 .5rem}.avatar-box{flex-grow:0;flex-shrink:0;position:relative}.bot-form{display:flex;flex-direction:column;line-height:2rem;min-width:8rem;overflow:hidden}.bot-form div{min-height:2rem;vertical-align:middle}.bot-form button{background-color:#eef;color:#2196f3;display:inline-block;font-size:inherit;height:2rem;line-height:2rem;margin:.15rem;text-transform:none}.bot-form>div>button{width:auto}.bot-form button:active,.bot-form button:focus,.bot-form button:hover{background-color:#e3f2fd;outline:0}#side-caption-panel{background-color:#2196f3;color:#bbdefb}#side-caption-panel a{color:#bbdefb;line-height:1;padding-left:.5rem}#side-caption-panel :hover{color:#fff}#sidepanel-title{margin-left:.5rem;margin-right:auto}#self-avatar{border-radius:50%;flex:none;height:3rem;min-width:3rem;width:3rem}#self-avatar.avatar-box{font-size:1.8rem}#settings-form ul{list-style:none}#settings-form li{vertical-align:middle}#settings-form label{display:inline-block;padding-left:.5rem}input.search{text-indent:1.4rem}i.search{left:.6rem;position:absolute}.info-box{display:none;overflow:hidden;padding:1rem 1.5rem 1rem .5rem;position:relative}.info-box .cancel{position:absolute;right:.25rem;top:.5rem}.info-box.error{background-color:#ffcdd2;border-bottom:1px solid #ffbfc8;color:#b71c1c;display:flex}.info-box.warning{background-color:#fff9c4;border-bottom:1px solid #fff59d;color:#6d4c41;display:flex}.info-box.info{background-color:#e1f5fe;border-bottom:1px solid #b3e5fc;color:#0288d1;display:flex}.info-box .cancel .material-icons{color:#757575;font-size:1rem}.info-box.error .cancel .material-icons{color:#b71c1c}.info-box .icon{display:block;margin-right:.5rem}.info-box .icon .material-icons{font-size:1.5rem}.info-box.warning .icon .material-icons{color:#fbc02d}.info-box.error .icon .material-icons{color:#ef5350}.info-box.info .icon .material-icons{color:#0288d1}.flex-column{display:flex;flex-direction:column;height:100%;overflow:hidden}.flex-column.narrow{height:auto}.scrollable-panel{height:100%;margin-bottom:auto;margin-top:.25rem;overflow-y:auto;scroll-behavior:smooth}.contact-box{list-style:none;overflow-x:hidden}.contact-box>li{background:linear-gradient(90deg,#0000 3.5rem,#eee 1px,#eee) 0 100% /100% 1px no-repeat,#fff;display:flex;flex-grow:0;flex-shrink:0;min-height:3.75rem;overflow-x:hidden;padding:.35rem .25rem .5rem .35rem;position:relative}.contact-box>li:last-child{background:#fff}.contact-box>li:hover{background-color:#eceff1}.contact-box>li.selected{background-color:#cfd8dc}.contact-box>li.action{border-bottom:none;min-height:2.5rem}.contact-box .text-box{overflow-x:hidden}.contact-box .contact-title{font-size:1.05rem;overflow:hidden;text-overflow:ellipsis}.contact-box .contact-comment{font-weight:lighter;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.contact-box .contact-comment b{font-weight:bolder}.contact-box .contact-comment .material-icons{margin-bottom:.2rem}.contact-box .avatar-box{font-size:1.8rem;height:3rem;margin-right:.35rem;min-height:3rem;min-width:3rem;overflow:hidden;padding:0;position:relative;width:3rem}.contact-box .avatar{border-radius:50%;height:3rem;width:3rem}.contact-box .avatar-box>.material-icons{font-size:2.4rem;line-height:3rem}.contact-box .avatar-box>.material-icons,.contact-box .text-box{display:flex;flex-direction:column;justify-content:space-around}.contact-box .action-text{cursor:pointer;font-size:.95rem;line-height:2.5rem;margin:0 auto;text-align:center}.contact-box img.channel{height:1rem;margin-left:.3rem;vertical-align:middle;width:1rem}.avatar-box .online,.offline{border-radius:50%;bottom:.1rem;flex-shrink:0;height:.75rem;min-height:.75rem;min-width:.75rem;position:absolute;right:0;width:.75rem}.avatar-box .online{background-color:#4caf50}.avatar-box .offline{background-color:silver}.online.typing{animation:typing .5s infinite}@keyframes typing{0%,to{transform:translateX(0)}50%{transform:translateX(-.3rem)}}.contact-box .checkmark.material-icons{background-color:#fff;border:0 solid #0000;bottom:.05rem;color:#0097a7;font-size:1.5rem;height:1.5rem;line-height:1.5rem;overflow:visible;position:absolute;right:.05rem;width:1.5rem}#add-topic{bottom:1rem;position:absolute;right:1rem}.panel-form{display:flex;flex-direction:column;padding:0}.panel-form-row{align-items:center}.panel-form-column,.panel-form-row{display:flex;flex-grow:0;flex-shrink:0;line-height:1.5;padding:.5rem .75rem}.panel-form-column{flex-direction:column}.panel-form-column>.panel-form-column,.panel-form-row>.panel-form-column{flex-grow:1;padding:0!important}.panel-form-column>.panel-form-row,.panel-form-row>.panel-form-row{padding:0!important}.avatar-upload{display:flex;flex-direction:column;flex-shrink:0;font-size:4.5rem;height:9rem;margin-left:.5rem;padding:0;position:relative;width:7rem}.avatar-upload.read-only{height:auto}.avatar-upload .clear-avatar{background-image:radial-gradient(#fff 40%,#0000 75%);font-size:1rem;opacity:0;position:absolute;right:0;top:0}.avatar-upload:hover .clear-avatar{opacity:1}.avatar-upload .avatar-box{height:7rem;position:relative;width:7rem}.avatar-upload .avatar-box>.material-icons{font-size:4rem;line-height:7rem;position:relative;vertical-align:middle}.avatar-upload:after{clear:both;content:".";display:block;height:0;visibility:hidden}.avatar-upload .blank{border:1px dashed #999;color:#999;flex-shrink:0;font-size:1rem;line-height:7rem;text-align:center;vertical-align:middle}.avatar-upload .blank,.avatar-upload .preview{border-radius:50%;height:7rem;overflow:hidden;width:7rem}.avatar-upload .inputfile.hidden{height:.1px;opacity:0;overflow:hidden;position:absolute;width:.1px}.avatar-upload .inputfile+label.round{align-items:center;background-color:#fafafa;border-radius:50%;bottom:0;box-shadow:0 1px 4px #0006;cursor:pointer;display:flex;height:3rem;justify-content:center;line-height:3rem;margin-left:auto;margin-right:auto;margin-top:-1rem;width:3rem}.avatar-upload .inputfile:focus+label.round{outline:none}.avatar-upload .inputfile+label:hover,.avatar-upload .inputfile:focus+label{background-color:#e3f2fd;color:#42a5f5}#topic-caption-panel{background-color:#b0bec5}#topic-caption-panel a{color:#757575;text-decoration:none}#topic-caption-panel :hover{color:#000}#topic-caption-panel .avatar-box{font-size:1.8rem;height:3rem;margin-right:.35rem;min-width:3rem;position:relative;width:3rem}#topic-caption-panel .avatar-box>.material-icons{font-size:2.4rem;line-height:3rem}#topic-title-group{overflow-x:hidden}#hide-message-view{display:block;margin-right:.35rem}#topic-users{margin-left:auto;margin-right:1rem}#topic-users .avatar-box{display:inline-block;font-size:1rem;height:1.8rem;margin-right:.2rem;min-height:1.8rem;min-width:1.8rem;width:1.8rem}#topic-users .avatar-box>.material-icons{font-size:1.4rem;line-height:1.8rem}#topic-users>span{line-height:2rem;vertical-align:top}#messages-panel{background-color:#eceff1;background-image:url(../img/bg_messages.png);height:100%;overflow-y:scroll;padding:.75rem;position:relative}#messages-container{height:100%;overflow-y:hidden;position:relative}#write-only-background{background-image:repeating-linear-gradient(45deg,#ffffff80,#ffffff80 .5rem,#fffc 0,#fffc 1rem);height:100%;left:0;position:absolute;top:0;width:100%}#write-only-note{height:auto;top:50%;transform:translate(-50%,-50%);width:auto}#peer-messaging-disabled-note,#write-only-note{background-color:#fff;border-radius:.5rem;box-shadow:0 1px .5px #0000001f;color:#666;left:50%;line-height:2rem;padding:.75rem 1.25rem;position:absolute;text-align:center}#peer-messaging-disabled-note{bottom:4.3rem;transform:translate(-50%);width:fit-content}#send-message-panel{align-items:center;background-color:#eceff1;box-shadow:0 -2px 3px -1px #0000001a;display:flex;flex:none;height:4rem;padding:.4rem .4rem .4rem .6rem;z-index:2}#send-message-panel #writing-disabled{font-size:1.2rem;text-align:center;width:100%}#sendMessage{overflow:hidden;overflow-wrap:break-word}#send-message-panel .material-icons{min-width:1.75rem}#send-message-panel .material-icons.secondary,.material-icons.disabled{color:#999!important}#send-message-panel .material-icons.secondary:hover{color:#2196f3!important}.accept-invite-panel{background-color:#eceff1;box-shadow:0 -2px 3px -1px #0000001a;width:100%;z-index:1}.accept-invite-panel .title{font-size:1.2rem;padding:.75rem}.accept-invite-panel .footer{background-color:#fafafa;padding-bottom:.35rem;text-align:center;white-space:nowrap}.accept-invite-panel button{border:1px solid #0000;box-shadow:0 1px 2px 0 #00000040;font-size:1rem;height:2em;line-height:2em;margin:.25rem}#dummy-view{align-items:center;background-color:#e0f7fa;display:flex;height:100%;justify-content:center;width:100%}#dummy-view a{display:block;text-align:center;text-decoration:none;vertical-align:middle}#image-preview{background-color:#ffffffe6;display:flex;flex-direction:column;height:100%;left:0;position:absolute;top:0;width:100%;z-index:2}#image-preview-caption-panel{background-color:#eceff1;box-shadow:0 1px 2px silver;display:flex;height:4.6rem;justify-content:space-between;line-height:2.5rem;padding:1rem .75rem 0;z-index:3}#image-preview-caption-panel a{color:#757575;text-decoration:none}#image-preview-caption-panel a:hover{color:#000}#image-preview-container{align-items:center;display:flex;height:100%;justify-content:space-around;overflow:hidden;width:100%}#image-preview-footer{background-color:#eceff1;box-shadow:0 -2px 3px -1px #0000001a;display:flex;height:3.2rem;justify-content:space-around;line-height:1.5rem}#image-preview-container .material-icons{font-size:6rem}.chat-box{list-style:none;margin:0 .5rem;padding:0 0 3.5rem;scroll-behavior:smooth}.chat-box.group{margin-left:-.4rem}.chat-box li{align-items:flex-end;display:flex;margin:0;padding:0}.chat-box .right{justify-content:flex-end}.chat-box .center{justify-content:center;margin-bottom:.5rem;margin-top:.5rem}.chat-box .bubble{border-radius:.5rem;box-shadow:0 1px .5px #0000001f;display:flex;height:auto;margin:0;max-width:36rem;min-width:9rem;padding:.75rem .5rem;position:relative;text-align:left}.chat-box li.single{margin-bottom:.75rem;margin-top:.25rem}.chat-box li.first{margin-bottom:.15rem;margin-top:.25rem}.chat-box li.middle{margin-bottom:.15rem;margin-top:.15rem}.chat-box li.last{margin-bottom:.75rem;margin-top:.15rem}.chat-box .left .bubble{background-color:#c5e1a5;margin-right:.5rem}.chat-box .right .bubble{background-color:#fafafa;margin-left:1.75rem}.chat-box .center .bubble{background-color:#e3f2fd;padding:.75rem .75rem .5rem}.chat-box .left .tip:before{border-color:#0000 #c5e1a5 #c5e1a5 #0000;color:#c5e1a5;left:-.8rem;right:auto}.chat-box .left .tip:before,.chat-box .right .tip:before{border-style:solid;border-width:.62rem;bottom:0;box-shadow:0 1.6px .5px -.8px #0000001f;content:"";height:0;position:absolute;top:auto;width:0}.chat-box .right .tip:before{border-color:#0000 #0000 #fafafa #fafafa;color:#fafafa;display:flex;justify-content:space-between;left:auto;right:-.8rem}.chat-box .avatar-box{font-size:.8rem;height:1.4rem;margin-bottom:.8rem;margin-right:.8rem;min-height:1.4rem;min-width:1.4rem;position:relative;width:1.4rem}.chat-box .bubble div.content-meta{width:100%}.chat-box .bubble div.message-content{color:#212121;margin:0;max-width:36rem;overflow-wrap:break-word;padding:0 .75rem;position:relative;width:100%}.chat-box .bubble div.message-content:after{clear:both;content:".";display:block;height:0;visibility:hidden}.chat-box .timestamp-padding{display:inline-block;height:0;width:4rem}.chat-box .timestamp{float:right;position:relative;top:.35rem;white-space:nowrap}.chat-box .author,.chat-box .timestamp{color:#777;font-size:80%}.image-preview,.inline-image{border-radius:.1rem;overflow:hidden;position:relative}.inline-image{max-height:24rem;max-width:36rem}.inline-image>.rounded-container{border-left:.25rem solid #0000;border-right:.25rem solid #0000;bottom:2rem;margin:.25rem auto;position:relative}img.image-preview:before,img.inline-image:before{background:50% no-repeat #ccc url(../img/broken_image.png);color:#666;display:flex;font-size:.9rem;font-weight:lighter;height:100%;justify-content:center;left:0;position:absolute;top:0;width:100%}img.inline-image:before{background-size:2rem 2rem;content:attr(alt)}img.image-preview:before{background-size:8rem 8rem;content:" "}.attachment{display:flex}.attachment:last-of-type{margin-bottom:-.45rem}#info-caption-panel{background-color:#b0bec5}#info-caption-panel a{color:#757575;line-height:1;text-decoration:none}#info-caption-panel :hover{color:#000}#info-title{margin-right:auto}#group-manager{display:flex;flex-direction:column;height:100%;overflow-y:hidden;position:relative}#group-manager-buttons{background-color:#eceff1;border-left:1px solid #ccc;box-shadow:0 -1px #0000001a;display:flex;height:4rem;justify-content:space-around;padding:.4rem;z-index:2}ul.tabbar{background:#eee;display:flex;flex-grow:0;flex-shrink:0;list-style:none;margin:0;overflow:hidden;padding:0 0 0 1rem;width:100%}ul.tabbar>li{box-shadow:inset 0 -2px 2.5px -1px #00000040;height:2.4rem;position:relative}ul.tabbar li.active{background:#fff}ul.tabbar li:after{background:#ccc;bottom:0;content:"";height:.1rem;left:0;position:absolute;width:100%}ul.tabbar li.active:after{animation:tabbar-border-expand .2s cubic-bezier(.4,0,.4,1) 0s alternate forwards;background:#2196f3;bottom:0;content:"";height:.15rem;left:0;position:absolute}@keyframes tabbar-border-expand{0%{opacity:0;width:0}to{opacity:1;width:100%}}ul.tabbar>li>a{color:#2196f399;font-size:1.3rem;font-variant:small-caps;font-weight:400;line-height:2.4rem;overflow:hidden;padding-left:1rem;padding-right:1rem;position:relative;text-align:center;text-decoration:none}ul.tabbar li.active>a{color:#2196f3}.unread{background-color:#0097a7;border-radius:50%;color:#fff;display:inline-block;font-size:.75rem;font-weight:bolder;height:1.35rem;line-height:1.35rem;margin-left:.5rem;text-align:center;vertical-align:middle;width:1.35rem}.material-icons.as-badge{color:#bbb;font-size:1.25rem;padding-left:.2rem}.badge{align-self:flex-start;background-color:#e8e8e8;border:1px solid silver;border-radius:.2rem;color:#666;display:inline-block;font-family:Roboto Mono,Courier,monospace,sans-serif;font-size:.8rem;margin:.05rem .1rem;padding:.05rem .25rem}.badge.green{background-color:#efe;border-color:#9c9;color:#383}.badge.yellow{background-color:#ffe;border-color:#cc9;color:#660}.badge.blue{background-color:#eef;border-color:#99c;color:#339}.badge.red{background-color:#fee;border-color:#c99;color:#933}.badge.magenta{background-color:#fef;border-color:#c9c;color:#939}.lettertile{border-radius:50%;padding-bottom:100%;width:100%}.lettertile>div{align-items:center;border-radius:50%;bottom:0;color:#fafafacc;display:flex;flex-grow:0;flex-shrink:0;justify-content:center;left:0;line-height:1;position:absolute;right:0;text-align:center;text-transform:uppercase;top:0}.lettertile:hover{color:#fff}.light-color0{background-color:#ef9a9a}.light-color1{background-color:#90caf9}.light-color2{background-color:#b0bec5}.light-color3{background-color:#b39ddb}.light-color4{background-color:#ffab91}.light-color5{background-color:#a5d6a7}.light-color6{background-color:#eee}.light-color7{background-color:#e6ee9c}.light-color8{background-color:#c5e1a5}.light-color9{background-color:#f0e57d}.light-color10{background-color:#f48fb1}.light-color11{background-color:#9fa8da}.light-color12{background-color:#ffe082}.light-color13{background-color:#bcaaa4}.light-color14{background-color:#80deea}.light-color15{background-color:#ce93d8}.dark-color0{background-color:#c62828}.dark-color1{background-color:#ad1457}.dark-color2{background-color:#6a1b9a}.dark-color3{background-color:#4527a0}.dark-color4{background-color:#283593}.dark-color5{background-color:#1565c0}.dark-color6{background-color:#0277bd}.dark-color7{background-color:#00838f}.dark-color8{background-color:#00695c}.dark-color9{background-color:#2e7d32}.dark-color10{background-color:#558b2f}.dark-color11{background-color:#9e9d24}.dark-color12{background-color:#f9a825}.dark-color13{background-color:#ff8f00}.dark-color14{background-color:#ef6c00}.dark-color15{background-color:#d84315}.material-icons{font-size:1.4rem;line-height:1;text-align:center;vertical-align:middle}.material-icons.small{font-size:1rem}.material-icons.big{font-size:2.4rem}.material-icons.huge{font-size:4rem}#self-avatar .material-icons{font-size:2.4rem;line-height:3rem}.avatar-box .material-icons{border-radius:50%;color:#fafafacc;height:inherit;width:inherit}.chip-input{align-items:center;background:#0000;border-bottom:1px solid #ccc;box-shadow:0 1px 0 #0000001a;color:#666;cursor:text;display:flex;flex-grow:1;flex-wrap:wrap;font-size:1.1rem;font-weight:400;justify-content:flex-start;margin:.25rem 0;max-height:10rem;min-height:4rem;outline:none;overflow-y:scroll;text-align:center;transition:all .1s ease-in-out}.chip-input.focused{border-bottom:1px solid #2196f3;box-shadow:0 1px 0 #2196f340}.chip-input>input[type=text]{border:none;box-shadow:none;display:inline-block;flex:1 0 auto;min-width:4rem;width:auto}.chip,.chip-input>input[type=text]{height:1.8rem;line-height:1.8;margin:.125rem}.chip{align-items:center;background-color:#eee;border-radius:.9rem;display:flex;flex:0 0 auto;font-size:90%;white-space:nowrap}.chip.invalid{background-color:#fee;color:#c66}.chip>a{background-color:#aaa;border-radius:50%;color:#ccc;display:inline-block;height:1.175rem;line-height:1.15;margin:.3rem;text-decoration:none;width:1.175rem}.chip>a:focus,.chip>a:hover{background-color:#bbb;color:#ddd;text-decoration:none}.chip .avatar-box{font-size:1rem;height:1.8rem;margin-right:.2rem;min-height:1.8rem;min-width:1.8rem;position:relative;width:1.8rem}.chip .avatar-box .material-icons{font-size:1.4rem;line-height:1.8rem}.chip .spacer{display:inline-block;height:1.175rem;margin:.3rem;width:.25rem}.load-spinner-box{background-color:#fff;border-radius:50%;box-shadow:.1rem .1rem .15rem 1px #00000040;height:2.5rem;left:0;margin-left:auto;margin-right:auto;padding:.25rem;position:absolute;right:0;top:5rem;width:2.5rem;z-index:2}.loader-spinner{animation:spin 1.5s linear infinite;border:.35rem solid #f3f3f3;border-radius:50%;border-top-color:#1e88e5;height:2rem;width:2rem}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.uploader{display:flex}.uploader>div{background-color:#cfd8dc;border-radius:.1rem;height:.6rem;line-height:0;margin:.35rem;padding:.15rem;position:relative;width:6rem}.uploader>div>span{background-color:#1e88e5;border-radius:.08rem;display:inline-block;height:.3rem}.highlight{color:teal;font-weight:bolder}.highlight .preview{color:#5f9ea0;font-weight:inherit}
\ No newline at end of file
+*{text-rendering:optimizeLegibility;box-sizing:border-box;font-family:Roboto,Arial,sans-serif;margin:0;padding:0}body,html{background-color:silver;box-shadow:inset 0 10rem #3949ab;color:#666;font-size:10pt;height:100%;overflow:hidden;width:100%}tt{font-family:Roboto Mono,Courier,monospace;white-space:nowrap}a{color:#2196f3;text-decoration:none}a:focus,a:hover{color:#0a6ebd;text-decoration:underline}a.danger{color:#d32f2f}a.danger:focus,a.danger:hover{color:#f44336}a.gray:focus,a.gray:hover{color:#999}.flat-button{align-items:center;display:flex;font-weight:400;height:2em;line-height:2em;margin:.15rem .35rem;text-align:center;text-transform:uppercase;touch-action:manipulation;vertical-align:middle;white-space:nowrap}.flat-button:focus,.flat-button:hover{text-decoration:none}.flat-button.faux{background-color:#eee;border:1px solid #999;border-radius:3px;display:inline-block;height:1.4em;line-height:1.4em;margin:.15rem;padding:0 .35rem;text-transform:none}form{line-height:1.5;padding:.5rem .75rem}form,label{font-size:1.1rem}label{margin-right:auto}label.small{color:#1e88e5;font-size:.95rem}img.avatar{border-radius:50%;height:100%;width:100%}button{border:1px solid #0000;border-radius:4px;box-shadow:0 1px 3px 0 #00000040;cursor:pointer;display:inline-block;font-family:inherit;font-size:1.05rem;font-weight:400;height:2.2rem;line-height:2.2rem;margin:0 .35rem;min-width:5rem;padding-left:1.2rem;padding-right:1.2rem;text-align:center;text-transform:uppercase;touch-action:manipulation;vertical-align:middle;white-space:nowrap}button[disabled],html input[disabled]{box-shadow:none;cursor:default;opacity:.65}button.round{border-radius:50%;box-shadow:0 2px .5rem 0 #00000040;height:3rem;line-height:3.5rem;margin:0;outline:none;padding:0;width:3rem;z-index:2}button.round.small{box-shadow:0 2px .35rem 0 #00000040;height:2rem;line-height:2rem;width:2rem}button:active,button:focus,button:hover{color:#fff}button:active{box-shadow:inset 0 3px .5rem rgba(0,0,0,.125)}button:active.round.small{box-shadow:inset 0 2px .35rem rgba(0,0,0,.125)}button.primary{background-color:#1e88e5;color:#fff}button.primary:active,button.primary:focus,button.primary:hover{background-color:#2962ff}button.secondary{background-color:#fff;color:#2196f3}button.secondary:active,button.secondary:focus,button.secondary:hover{background-color:#e3f2fd}button.outline{background-color:initial;border:1px solid silver;box-shadow:none;color:#2196f3}button.outline:active,button.outline:focus,button.outline:hover{background-color:#e8eaf6}input,textarea{background:#0000;border:none;color:#666;font-family:inherit;font-size:1.1rem;margin:.25rem 0;outline:none;padding:0 .125rem}input[type=email],input[type=password],input[type=search],input[type=text],textarea{border-bottom:1px solid #ccc;box-shadow:0 1px 0 #0000001a;height:2.5rem;transition:all .1s ease-in-out}input[type=email],input[type=password],input[type=text],textarea{width:100%}input[type=email]:focus,input[type=password]:focus,input[type=search]:focus,input[type=text]:focus,textarea:focus{border-bottom:1px solid #2196f3;box-shadow:0 1px 0 #2196f340}input[type=email].invalid,input[type=password].invalid,input[type=search].invalid,input[type=text].invalid,textarea.invalid{border-bottom:1px solid #e57373;box-shadow:0 1px 0 #e5737340}input[type=email]::placeholder,input[type=password]::placeholder,input[type=search]::placeholder,input[type=text]::placeholder,textarea::placeholder{color:#bbb;font-weight:lighter}input[type=password].with-visibility,input[type=text].with-visibility{margin-right:-2rem;padding-right:2rem}textarea{padding-top:.45rem;resize:none}textarea.inplace-edit{height:unset}::-webkit-scrollbar{width:.6rem}::-webkit-scrollbar-track{background-color:#ffffff1a;-webkit-box-shadow:inset 0 0 6px #0003}::-webkit-scrollbar-thumb{background-color:#0000004d}*{scrollbar-color:silver;scrollbar-width:thin}ul.menu{background-color:#fff;border-radius:.2rem;box-shadow:0 1px 6px #00000073;list-style:none;padding-bottom:.35rem;padding-top:.35rem;position:absolute;width:12rem;z-index:4}ul.menu>li{padding:.75rem .75rem .75rem 1.25rem}ul.menu>li:hover{background-color:#f5f5f5}ul.menu>li.separator{height:1px;margin:2px;padding:0}ul.menu>li.separator,ul.menu>li.separator:hover{background-color:#ccc}li .menuTrigger{border-radius:.6rem;height:1.2rem;line-height:1.2rem;opacity:0;position:absolute;right:.25rem;text-align:center;top:.25rem;width:1.5rem}li:hover .menuTrigger{opacity:1}li:hover .menuTrigger a{color:#757575}ul.contact-box .menuTrigger{background-image:radial-gradient(#eceff1 40%,#0000 75%)}li.left:hover .menuTrigger{background-image:radial-gradient(#c5e1a5 40%,#0000 75%)}li.right:hover .menuTrigger{background-image:radial-gradient(#fafafa 40%,#0000 75%)}li.selected .menuTrigger{background-image:radial-gradient(#cfd8dc 40%,#0000 75%)}div.alert-container{align-items:center;background:#00000054;display:flex;height:100%;justify-content:center;position:absolute;width:100%;z-index:3}div.alert{background-color:#fff;border-radius:4px;box-shadow:0 1px 6px #00000073;margin:auto 2rem;max-width:24rem;min-width:16rem;padding:1rem;width:content}div.alert .title{color:#2196f3;font-size:1.2rem;font-weight:500;padding:0 0 .35rem;width:100%}div.alert .content{padding:.5rem 0}div.trusted-badge{margin:.25rem 0}.blue{color:#2196f3!important}.lt-blue{color:#64b5f6!important}.verified-color{color:#03a9f4!important}.staff-color{color:#689f38!important}.danger-color{color:#ffc107!important}.green{color:#388e3c}.red{color:#d32f2f!important}.badge-inv{color:#fffd!important}.gray{color:#757575!important}.light-gray{color:#bbb!important}.large{font-size:120%}.small{font-size:90%}.float-right{position:absolute;right:.5rem}.hr{background-color:#f0f0f0;box-shadow:inset 0 .25rem .25rem -.25rem #00000026,inset 0 -.25rem .25rem -.25rem #00000026;display:block;height:.45rem;min-height:.3rem;width:100%}.hr.thin{height:.015rem}.ellipsized{overflow-x:hidden;text-overflow:ellipsis;white-space:nowrap}.group-focus{outline:none}#mountPoint{height:100%;padding-bottom:3rem;padding-top:1rem}#noscript-message{background-color:#fff;border-radius:.25rem;box-shadow:1px 2px .3rem gray;display:flex;flex-direction:column;margin-left:auto;margin-right:auto;margin-top:5rem;max-width:30rem;overflow:hidden;position:relative}#noscript-title{background-color:#2196f3;color:#bbdefb;font-size:120%;font-weight:bolder;padding:1rem}#noscript-content{padding:1rem}#app-container{background-color:#fff;border-radius:.25rem;box-shadow:1px 2px .3rem gray;display:flex;height:100%;margin-left:auto;margin-right:auto;max-width:84rem;overflow:hidden;position:relative}#sidepanel{flex-grow:0;flex-shrink:0.3;min-width:18rem;width:24rem}#sidepanel,#topic-view{display:flex;flex-direction:column;height:100%;position:relative}#topic-view{overflow-x:hidden;width:100%}#info-view{display:flex;flex-direction:column;flex-grow:0;flex-shrink:0.3;height:100%;min-width:18rem;width:24rem}@media (max-width:960px){#mountPoint{padding:0}}@media (max-width:640px){#app-container{border-radius:0;box-shadow:none;width:100%}#info-view,#sidepanel{width:100%}}.center-medium-text{align-items:center;display:flex;font-size:1.4rem;height:100%;justify-content:center;text-align:center;width:100%}.nodisplay{display:none!important}.quoted{margin-left:1rem}.space-right{margin-right:.25rem}.rounded-container{background-color:#fafafa;border-radius:.1rem;margin:.25rem;padding:.25rem;position:relative}.in-place-edit{border-bottom:1px dashed #ddd;cursor:pointer;display:inline-block;font-family:inherit;font-size:1rem;margin:.25rem .125rem 0;vertical-align:initial;width:100%}.in-place-edit.short{font-size:1.1rem;height:2.5rem;line-height:2.25}.in-place-edit.disabled{border-bottom:none;color:#888;cursor:default}.in-place-edit.placeholder{color:#bbb}.in-place-edit span{display:inline-block}.in-place-edit.short span{display:block;overflow-x:hidden;text-overflow:ellipsis;white-space:nowrap}table.permission-editor{width:100%}table.permission-editor td{font-size:1.1rem;margin:.35rem 0;vertical-align:middle}table.permission-editor td.checkbox{color:#999;text-align:center}.permission-editor .material-icons{font-size:1.3rem;line-height:1.3rem}.material-icons.clickable{border-bottom:none;cursor:pointer}.clickable{border-bottom:1px dashed #ddd}.clean-clickable,.clickable,.image-clickable{cursor:pointer}.panel-title{font-size:1.4rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.caption-panel{align-items:center;box-shadow:0 1px 2px gray;display:flex;flex:none;height:4rem;overflow-x:hidden;padding:.5rem;white-space:nowrap;z-index:1}.dialog-buttons{display:flex;justify-content:flex-end;padding:.5rem}.dialog-buttons button{margin:0 .5rem}.avatar-box{flex-grow:0;flex-shrink:0;position:relative}.bot-form{display:flex;flex-direction:column;line-height:2rem;min-width:8rem;overflow:hidden}.bot-form div{min-height:2rem;vertical-align:middle}.bot-form button{background-color:#eef;color:#2196f3;display:inline-block;font-size:inherit;height:2rem;line-height:2rem;margin:.15rem;text-transform:none}.bot-form>div>button{width:auto}.bot-form button:active,.bot-form button:focus,.bot-form button:hover{background-color:#e3f2fd;outline:0}#side-caption-panel{background-color:#2196f3;color:#bbdefb}#side-caption-panel a{color:#bbdefb;line-height:1;padding-left:.5rem}#side-caption-panel :hover{color:#fff}#sidepanel-title{margin-left:.5rem;margin-right:auto}#self-avatar{border-radius:50%;flex:none;height:3rem;min-width:3rem;width:3rem}#self-avatar.avatar-box{font-size:1.8rem}#settings-form ul{list-style:none}#settings-form li{vertical-align:middle}#settings-form label{display:inline-block;padding-left:.5rem}input.search{text-indent:1.4rem}i.search{left:.6rem;position:absolute}.info-box{display:none;overflow:hidden;padding:1rem 1.5rem 1rem .5rem;position:relative}.info-box>span{line-height:1.5rem}.info-box .cancel{position:absolute;right:.25rem;top:.5rem}.info-box.error{background-color:#ffcdd2;border-bottom:1px solid #ffbfc8;color:#b71c1c;display:flex}.info-box.warning{background-color:#fff9c4;border-bottom:1px solid #fff59d;color:#6d4c41;display:flex}.info-box.info{background-color:#e1f5fe;border-bottom:1px solid #b3e5fc;color:#0288d1;display:flex}.info-box .cancel .material-icons{color:#757575;font-size:1rem}.info-box.error .cancel .material-icons{color:#b71c1c}.info-box .icon{display:block;margin-right:.5rem}.info-box .icon .material-icons{font-size:1.5rem}.info-box.warning .icon .material-icons{color:#fbc02d}.info-box.error .icon .material-icons{color:#ef5350}.info-box.info .icon .material-icons{color:#0288d1}.flex-column{display:flex;flex-direction:column;height:100%;overflow-x:hidden}.flex-column.narrow{height:auto}.scrollable-panel{height:100%;margin-bottom:auto;margin-top:.25rem;overflow-x:hidden;overflow-y:auto;scroll-behavior:smooth}.contact-box{list-style:none;overflow-x:hidden}.contact-box>li{background:linear-gradient(90deg,#0000 3.5rem,#eee 1px,#eee) 0 100% /100% 1px no-repeat,#fff;display:flex;flex-grow:0;flex-shrink:0;min-height:3.75rem;overflow-x:hidden;padding:.35rem .25rem .5rem .35rem;position:relative}.contact-box.small>li{min-height:2.5rem;padding:.25rem .25rem .35rem .35rem}.contact-box>li:last-child{background:#fff}.contact-box>li:hover{background-color:#eceff1}.contact-box>li.selected{background-color:#cfd8dc}.contact-box>li.action{border-bottom:none;min-height:2.5rem}.contact-box .text-box{overflow-x:hidden}.contact-box .contact-title{font-size:1.05rem}.contact-box .contact-comment,.contact-box .contact-title{overflow-x:hidden;text-overflow:ellipsis;white-space:nowrap}.contact-box .contact-comment{font-weight:lighter}.contact-box .contact-comment>span{overflow-x:hidden;text-overflow:ellipsis;white-space:nowrap}.contact-box .contact-comment b{font-weight:bolder}.contact-box .contact-comment .material-icons{margin-bottom:.2rem}.contact-box .avatar-box{font-size:1.8rem;height:3rem;margin-right:.35rem;min-height:3rem;min-width:3rem;overflow:hidden;padding:0;position:relative;width:3rem}.contact-box .avatar{border-radius:50%;height:3rem;width:3rem}.contact-box.small .avatar-box{font-size:1.2rem;height:2rem;min-height:2rem;min-width:2rem;width:2rem}.contact-box.small .avatar{height:2rem;width:2rem}.contact-box .avatar-box>.material-icons{display:flex;flex-direction:column;font-size:2.4rem;justify-content:space-around;line-height:3rem}.contact-box.small .avatar-box>.material-icons{font-size:1.6rem;line-height:2rem}.contact-box .text-box{display:flex;flex-direction:column;justify-content:space-around}.contact-box .text-box>div{align-items:center;display:flex;flex-direction:row}.contact-box .action-text{cursor:pointer;font-size:.95rem;line-height:2.5rem;margin:0 auto;text-align:center}img.channel{height:1rem;margin-bottom:.1rem;margin-left:.3rem;vertical-align:middle;width:1rem}.large img.channel{height:1.35rem;margin-bottom:.15rem;margin-left:.5rem;width:1.35rem}.avatar-box .online,.offline{border-radius:50%;bottom:.1rem;flex-shrink:0;height:.75rem;min-height:.75rem;min-width:.75rem;position:absolute;right:0;width:.75rem}.avatar-box .online{background-color:#4caf50}.avatar-box .offline{background-color:silver}.online.typing{animation:typing .5s infinite}@keyframes typing{0%,to{transform:translateX(0)}50%{transform:translateX(-.3rem)}}.contact-box .checkmark.material-icons{background-color:#fff;border:0 solid #0000;bottom:.05rem;color:#0097a7;font-size:1.5rem;height:1.5rem;line-height:1.5rem;overflow:visible;position:absolute;right:.05rem;width:1.5rem}#add-topic{bottom:1rem;position:absolute;right:1rem}.panel-form{display:flex;flex-direction:column;padding:0;position:relative}.panel-form-row{align-items:center;flex-shrink:0}.panel-form-column,.panel-form-row{display:flex;flex-grow:0;line-height:1.5;padding:.5rem .75rem;position:relative}.panel-form-column{flex-direction:column;overflow-x:hidden}.panel-form-column>.panel-form-column,.panel-form-row>.panel-form-column{flex-grow:1;padding:0!important}.panel-form-column>.panel-form-row,.panel-form-row>.panel-form-row{padding:0!important}.panel-form-column>.group{margin-bottom:.25rem;margin-top:.25rem}.avatar-upload{display:flex;flex-direction:column;flex-shrink:0;font-size:4.5rem;height:10.5rem;padding:0;position:relative;width:10rem}.avatar-upload.read-only{height:auto}.avatar-upload .clear-avatar{background-image:radial-gradient(#fff 40%,#0000 75%);font-size:1rem;opacity:0;position:absolute;right:0;top:0}.avatar-upload:hover .clear-avatar{opacity:1}.avatar-upload .avatar-box{height:10rem;position:relative;width:10rem}.avatar-upload .avatar-box>.material-icons{font-size:4rem;line-height:10rem;position:relative;vertical-align:middle}.avatar-upload:after{clear:both;content:".";display:block;height:0;visibility:hidden}.avatar-upload .blank{border:1px dashed #999;color:#999;flex-shrink:0;font-size:1rem;line-height:10rem;text-align:center;vertical-align:middle}.avatar-upload .blank,.avatar-upload img.preview{border-radius:50%;height:10rem;overflow:hidden;width:10rem}.avatar-upload img.preview:before{background:50% no-repeat url(../img/broken_image.png);border-radius:50%;color:#666;content:" ";display:flex;font-size:.9rem;font-weight:lighter;height:10rem;justify-content:center;left:0;position:absolute;top:0;width:10rem}.avatar-upload .inputfile.hidden{height:.1px;opacity:0;overflow:hidden;position:absolute;width:.1px}.avatar-upload .inputfile+label.round{align-items:center;background-color:#fafafa;border-radius:50%;bottom:0;box-shadow:0 1px 4px #0006;cursor:pointer;display:flex;height:3rem;justify-content:center;line-height:3rem;position:absolute;right:0;width:3rem;z-index:1}.avatar-upload .inputfile:focus+label.round{outline:none}.avatar-upload .inputfile+label:hover,.avatar-upload .inputfile:focus+label{background-color:#e3f2fd;color:#42a5f5}#topic-caption-panel{background-color:#b0bec5}#topic-caption-panel a{color:#757575;text-decoration:none}#topic-caption-panel :hover{color:#000}#topic-caption-panel .avatar-box{font-size:1.8rem;height:3rem;margin-right:.35rem;min-width:3rem;position:relative;width:3rem}#topic-caption-panel .avatar-box>.material-icons{font-size:2.4rem;line-height:3rem}#topic-title-group{overflow-x:hidden}#hide-message-view{display:block;margin-right:.35rem}#topic-users{margin-left:auto;margin-right:1rem}#topic-users .avatar-box{display:inline-block;font-size:1rem;height:1.8rem;margin-right:.2rem;min-height:1.8rem;min-width:1.8rem;width:1.8rem}#topic-users .avatar-box>.material-icons{font-size:1.4rem;line-height:1.8rem}#topic-users>span{line-height:2rem;vertical-align:top}#messages-panel{background-color:#eceff1;background-image:url(../img/bg_messages.png);height:100%;overflow-y:scroll;padding:.75rem;position:relative}#messages-container{height:100%;overflow-y:hidden;position:relative}#write-only-background{background-image:repeating-linear-gradient(45deg,#ffffff80,#ffffff80 .5rem,#fffc 0,#fffc 1rem);height:100%;left:0;position:absolute;top:0;width:100%}#write-only-note{height:auto;top:50%;transform:translate(-50%,-50%);width:auto}#peer-messaging-disabled-note,#write-only-note{background-color:#fff;border-radius:.5rem;box-shadow:0 1px .5px #0000001f;color:#666;left:50%;line-height:2rem;padding:.75rem 1.25rem;position:absolute;text-align:center}#peer-messaging-disabled-note{bottom:4.3rem;transform:translate(-50%);width:fit-content}#send-message-panel{align-items:center;background-color:#eceff1;display:flex;flex:none;height:4rem;padding:.4rem .4rem .4rem .6rem;z-index:2}#send-message-panel #writing-disabled{font-size:1.2rem;text-align:center;width:100%}#send-message-wrapper{background-color:#eceff1;box-shadow:0 -2px 3px -1px #0000001a;z-index:2}#sendMessage{overflow:hidden;overflow-wrap:break-word}#send-message-panel .material-icons{min-width:1.75rem}#send-message-panel .material-icons.secondary,.material-icons.disabled{color:#999!important}#send-message-panel .material-icons.secondary:hover{color:#2196f3!important}.accept-invite-panel{background-color:#eceff1;box-shadow:0 -2px 3px -1px #0000001a;width:100%;z-index:1}.accept-invite-panel .title{font-size:1.2rem;padding:.75rem}.accept-invite-panel .footer{background-color:#fafafa;padding-bottom:.35rem;text-align:center;white-space:nowrap}.accept-invite-panel button{border:1px solid #0000;box-shadow:0 1px 2px 0 #00000040;font-size:1rem;height:2em;line-height:2em;margin:.25rem}#dummy-view{align-items:center;background-color:#e0f7fa;display:flex;height:100%;justify-content:center;width:100%}#dummy-view a{display:block;text-align:center;text-decoration:none;vertical-align:middle}#image-preview{background-color:#ffffffe6;display:flex;flex-direction:column;height:100%;left:0;position:absolute;top:0;width:100%;z-index:2}#image-preview-caption-panel{background-color:#eceff1;box-shadow:0 1px 2px silver;display:flex;height:4.6rem;justify-content:space-between;line-height:2.5rem;padding:1rem .75rem 0;z-index:3}#image-preview-caption-panel a{color:#757575;text-decoration:none}#image-preview-caption-panel a:hover{color:#000}#image-preview-container{align-items:center;display:flex;height:100%;justify-content:space-around;overflow:hidden;width:100%}#image-preview-footer{background-color:#eceff1;box-shadow:0 -2px 3px -1px #0000001a;display:flex;height:3.2rem;justify-content:space-around;line-height:1.5rem}#image-preview-container .material-icons{font-size:6rem}.chat-box{list-style:none;margin:0 .5rem;padding:0 0 3.5rem;scroll-behavior:smooth}.chat-box.group{margin-left:-.4rem}.chat-box li{align-items:flex-end;display:flex;margin:0;padding:0;transition:background-color 1s ease-out}.chat-box .right{justify-content:flex-end}.chat-box .center{justify-content:center;margin-bottom:.5rem;margin-top:.5rem}.chat-box .bubble{border-radius:.5rem;box-shadow:0 1px .5px #0000001f;display:flex;height:auto;margin:0;max-width:36rem;min-width:9rem;padding:.75rem .5rem;position:relative;text-align:left}.chat-box li.single{margin-bottom:.75rem;margin-top:.25rem}.chat-box li.first{margin-bottom:.15rem;margin-top:.25rem}.chat-box li.middle{margin-bottom:.15rem;margin-top:.15rem}.chat-box li.last{margin-bottom:.75rem;margin-top:.15rem}.chat-box .left .bubble{background-color:#c5e1a5;margin-right:.5rem}.chat-box .right .bubble{background-color:#fafafa;margin-left:1.75rem}.chat-box .center .bubble{background-color:#e3f2fd;padding:.75rem .75rem .5rem}.chat-box .left .tip:before{border-color:#0000 #c5e1a5 #c5e1a5 #0000;color:#c5e1a5;left:-.8rem;right:auto}.chat-box .left .tip:before,.chat-box .right .tip:before{border-style:solid;border-width:.62rem;bottom:0;box-shadow:0 1.6px .5px -.8px #0000001f;content:"";height:0;position:absolute;top:auto;width:0}.chat-box .right .tip:before{border-color:#0000 #0000 #fafafa #fafafa;color:#fafafa;display:flex;justify-content:space-between;left:auto;right:-.8rem}.chat-box .avatar-box{font-size:.8rem;height:1.4rem;margin-bottom:.8rem;margin-right:.8rem;min-height:1.4rem;min-width:1.4rem;position:relative;width:1.4rem}.chat-box .bubble div.content-meta{width:100%}.chat-box .bubble div.message-content{color:#212121;margin:0;max-width:36rem;overflow-wrap:break-word;padding:0 .75rem;position:relative;width:100%}.chat-box .bubble div.message-content:after{clear:both;content:".";display:block;height:0;visibility:hidden}.chat-box .timestamp-padding{display:inline-block;height:0;width:4rem}.chat-box .timestamp{float:right;position:relative;top:.35rem;white-space:nowrap}.chat-box .author,.chat-box .timestamp{color:#777;font-size:80%}.image-preview,.inline-image{border-radius:.1rem;overflow:hidden;position:relative}.inline-image{max-height:24rem;max-width:36rem}.inline-image>.rounded-container{border-left:.25rem solid #0000;border-right:.25rem solid #0000;bottom:2rem;margin:.25rem auto;position:relative}img.image-preview:before,img.inline-image:before{background:50% no-repeat #ccc url(../img/broken_image.png);color:#666;display:flex;font-size:.9rem;font-weight:lighter;height:100%;justify-content:center;left:0;position:absolute;top:0;width:100%}img.inline-image:before{background-size:2rem 2rem;content:attr(alt)}img.image-preview:before{background-size:10rem 10rem;content:" "}.attachment{display:flex}.attachment:last-of-type{margin-bottom:-.45rem}#info-caption-panel{background-color:#b0bec5}#info-caption-panel a{color:#757575;line-height:1;text-decoration:none}#info-caption-panel :hover{color:#000}#info-title{margin-right:auto}#group-manager{display:flex;flex-direction:column;height:100%;overflow-y:hidden;position:relative}#group-manager-buttons{background-color:#eceff1;border-left:1px solid #ccc;box-shadow:0 -1px #0000001a;display:flex;height:4rem;justify-content:space-around;padding:.4rem;z-index:2}ul.tabbar{background:#eee;display:flex;flex-grow:0;flex-shrink:0;list-style:none;margin:0;overflow:hidden;padding:0 0 0 1rem;width:100%}ul.tabbar>li{box-shadow:inset 0 -2px 2.5px -1px #00000040;height:2.4rem;position:relative}ul.tabbar li.active{background:#fff}ul.tabbar li:after{background:#ccc;bottom:0;content:"";height:.1rem;left:0;position:absolute;width:100%}ul.tabbar li.active:after{animation:tabbar-border-expand .2s cubic-bezier(.4,0,.4,1) 0s alternate forwards;background:#2196f3;bottom:0;content:"";height:.15rem;left:0;position:absolute}@keyframes tabbar-border-expand{0%{opacity:0;width:0}to{opacity:1;width:100%}}ul.tabbar>li>a{color:#2196f399;font-size:1.3rem;font-variant:small-caps;font-weight:400;line-height:2.4rem;overflow:hidden;padding-left:1rem;padding-right:1rem;position:relative;text-align:center;text-decoration:none}ul.tabbar li.active>a{color:#2196f3}.unread{background-color:#0097a7;border-radius:50%;color:#fff;display:inline-block;font-size:.75rem;font-weight:bolder;height:1.35rem;line-height:1.45rem;margin-left:.5rem;text-align:center;vertical-align:middle;width:1.35rem}.material-icons.as-badge{color:#bbb;font-size:1.25rem;padding-left:.2rem}.badge{align-self:flex-start;background-color:#e8e8e8;border:1px solid silver;border-radius:.2rem;color:#666;display:inline-block;font-family:Roboto Mono,Courier,monospace,sans-serif;font-size:.8rem;margin:.05rem .1rem;padding:.05rem .25rem}.badge.green{background-color:#efe;border-color:#aca;color:#383}.badge.yellow{background-color:#ffe;border-color:#cc9;color:#660}.badge.blue{background-color:#eef;border-color:#aad;color:#339}.badge.red{background-color:#fee;border-color:#c99;color:#933}.badge.magenta{background-color:#fef;border-color:#c9c;color:#939}.lettertile{border-radius:50%;padding-bottom:100%;width:100%}.lettertile>div{align-items:center;border-radius:50%;bottom:0;color:#fafafacc;display:flex;flex-grow:0;flex-shrink:0;justify-content:center;left:0;line-height:1;padding-top:.1em;position:absolute;right:0;text-align:center;text-transform:uppercase;top:0}.lettertile:hover{color:#fff}.lt-bg-0{background-color:#ef9a9a}.lt-bg-1{background-color:#90caf9}.lt-bg-2{background-color:#b0bec5}.lt-bg-3{background-color:#b39ddb}.lt-bg-4{background-color:#ffab91}.lt-bg-5{background-color:#a5d6a7}.lt-bg-6{background-color:#eee}.lt-bg-7{background-color:#e6ee9c}.lt-bg-8{background-color:#c5e1a5}.lt-bg-9{background-color:#f0e57d}.lt-bg-10{background-color:#f48fb1}.lt-bg-11{background-color:#9fa8da}.lt-bg-12{background-color:#ffe082}.lt-bg-13{background-color:#bcaaa4}.lt-bg-14{background-color:#80deea}.lt-bg-15{background-color:#ce93d8}.dk-bg-0{background-color:#c62828}.dk-bg-1{background-color:#ad1457}.dk-bg-2{background-color:#6a1b9a}.dk-bg-3{background-color:#4527a0}.dk-bg-4{background-color:#283593}.dk-bg-5{background-color:#1565c0}.dk-bg-6{background-color:#0277bd}.dk-bg-7{background-color:#00838f}.dk-bg-8{background-color:#00695c}.dk-bg-9{background-color:#2e7d32}.dk-bg-10{background-color:#558b2f}.dk-bg-11{background-color:#9e9d24}.dk-bg-12{background-color:#f9a825}.dk-bg-13{background-color:#ff8f00}.dk-bg-14{background-color:#ef6c00}.dk-bg-15{background-color:#d84315}.lt-fg-0{color:#ef9a9a!important}.lt-fg-1{color:#90caf9!important}.lt-fg-2{color:#b0bec5!important}.lt-fg-3{color:#b39ddb!important}.lt-fg-4{color:#ffab91!important}.lt-fg-5{color:#a5d6a7!important}.lt-fg-6{color:#eee!important}.lt-fg-7{color:#e6ee9c!important}.lt-fg-8{color:#c5e1a5!important}.lt-fg-9{color:#f0e57d!important}.lt-fg-10{color:#f48fb1!important}.lt-fg-11{color:#9fa8da!important}.lt-fg-12{color:#ffe082!important}.lt-fg-13{color:#bcaaa4!important}.lt-fg-14{color:#80deea!important}.lt-fg-15{color:#ce93d8!important}.dk-fg-0{color:#c62828!important}.dk-fg-1{color:#ad1457!important}.dk-fg-2{color:#6a1b9a!important}.dk-fg-3{color:#4527a0!important}.dk-fg-4{color:#283593!important}.dk-fg-5{color:#1565c0!important}.dk-fg-6{color:#0277bd!important}.dk-fg-7{color:#00838f!important}.dk-fg-8{color:#00695c!important}.dk-fg-9{color:#2e7d32!important}.dk-fg-10{color:#558b2f!important}.dk-fg-11{color:#9e9d24!important}.dk-fg-12{color:#f9a825!important}.dk-fg-13{color:#ff8f00!important}.dk-fg-14{color:#ef6c00!important}.dk-fg-15{color:#d84315!important}.mn-light-color0{color:#ef9a9a}.mn-light-color1{color:#90caf9}.mn-light-color2{color:#b0bec5}.mn-light-color3{color:#b39ddb}.mn-light-color4{color:#ffab91}.mn-light-color5{color:#a5d6a7}.mn-light-color6{color:#eee}.mn-light-color7{color:#e6ee9c}.mn-light-color8{color:#c5e1a5}.mn-light-color9{color:#f0e57d}.mn-light-color10{color:#f48fb1}.mn-light-color11{color:#9fa8da}.mn-light-color12{color:#ffe082}.mn-light-color13{color:#bcaaa4}.mn-light-color14{color:#80deea}.mn-light-color15{color:#ce93d8}.mn-dark-color0{color:#c62828}.mn-dark-color1{color:#ad1457}.mn-dark-color2{color:#6a1b9a}.mn-dark-color3{color:#4527a0}.mn-dark-color4{color:#283593}.mn-dark-color5{color:#1565c0}.mn-dark-color6{color:#0277bd}.mn-dark-color7{color:#00838f}.mn-dark-color8{color:#00695c}.mn-dark-color9{color:#2e7d32}.mn-dark-color10{color:#558b2f}.mn-dark-color11{color:#9e9d24}.mn-dark-color12{color:#f9a825}.mn-dark-color13{color:#ff8f00}.mn-dark-color14{color:#ef6c00}.mn-dark-color15{color:#d84315}.material-icons{font-size:1.4rem;line-height:1;text-align:center;vertical-align:middle}.material-icons.small{font-size:1rem}.material-icons.big{font-size:2.4rem}.material-icons.huge{font-size:4rem}#self-avatar .material-icons{font-size:2.4rem;line-height:3rem}.avatar-box .material-icons{border-radius:50%;color:#fafafacc;height:inherit;width:inherit}.chip-input{align-items:center;background:#0000;border-bottom:1px solid #ccc;box-shadow:0 1px 0 #0000001a;color:#666;cursor:text;display:flex;flex-grow:1;flex-wrap:wrap;font-size:1.1rem;font-weight:400;justify-content:flex-start;margin:.25rem 0;max-height:10rem;min-height:4rem;outline:none;overflow-y:scroll;text-align:center;transition:all .1s ease-in-out}.chip-input.focused{border-bottom:1px solid #2196f3;box-shadow:0 1px 0 #2196f340}.chip-input>input[type=text]{border:none;box-shadow:none;display:inline-block;flex:1 0 auto;min-width:4rem;width:auto}.chip,.chip-input>input[type=text]{height:1.8rem;line-height:1.8;margin:.125rem}.chip{align-items:center;background-color:#eee;border-radius:.9rem;display:flex;flex:0 0 auto;font-size:90%;max-width:12rem}.chip,.chip>span{overflow-x:hidden;text-overflow:ellipsis;white-space:nowrap}.chip.invalid{background-color:#fee;color:#c66}.chip>a{background-color:#aaa;border-radius:50%;color:#ccc;display:inline-block;height:1.175rem;line-height:1.15;margin:.3rem;min-width:1.175rem;text-decoration:none;width:1.175rem}.chip>a:focus,.chip>a:hover{background-color:#bbb;color:#ddd;text-decoration:none}.chip .avatar-box{font-size:1rem;height:1.8rem;margin-right:.2rem;min-height:1.8rem;min-width:1.8rem;position:relative;width:1.8rem}.chip .avatar-box .material-icons{font-size:1.4rem;line-height:1.8rem}.chip .spacer{display:inline-block;height:1.175rem;margin:.3rem;width:.25rem}.load-spinner-box{--size-small:2.5rem;--size-large:4rem;background-color:#fff;border-radius:50%;box-shadow:.1rem .1rem .15rem 1px #00000040;height:var(--size-small);left:0;margin-left:auto;margin-right:auto;padding:.25rem;position:absolute;right:0;top:5rem;width:var(--size-small);z-index:2}.load-spinner-box.large{height:var(--size-large);width:var(--size-large)}.load-spinner-box.clear{background-color:#fff8;-x-box-shadow:none;box-shadow:.1rem .1rem .15rem 1px #0000001f}.load-spinner-box.centered{top:calc(var(--size-small)/2 - .25rem)}.load-spinner-box.large.centered{top:calc(var(--size-large)/2 - .25rem)}.loader-spinner{animation:spin 1.5s linear infinite;border:.35rem solid #f3f3f3;border-radius:50%;border-top-color:#1e88e5;height:2rem;width:2rem}.load-spinner-box.large .loader-spinner{height:3.5rem;width:3.5rem}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.uploader{display:flex}.uploader>div{background-color:#cfd8dc;border-radius:.1rem;height:.6rem;line-height:0;margin:.35rem;padding:.15rem;position:relative;width:6rem}.uploader>div>span{background-color:#1e88e5;border-radius:.08rem;display:inline-block;height:.3rem}.highlight{color:teal;font-weight:bolder}.highlight .preview{color:#5f9ea0;font-weight:inherit}.cropper{align-self:center;height:21rem;margin:1rem auto auto;transform:translateZ(0)}.cropper,.cropper .bounding-box{border-radius:.25rem;position:relative;width:18rem}.cropper .bounding-box{background-color:#999;border:2px solid #1e88e5;box-shadow:1px 1px 3px grey;height:18rem;overflow:hidden;z-index:1}.cropper .preview{max-height:none;max-width:none;position:absolute;z-index:-1}.cropper .cutout{border:1px dashed #999;bottom:0;box-shadow:0 0 150rem 150rem #e6f6ffa8;height:17rem;left:0;margin:auto;position:absolute;right:0;top:0;width:17rem;z-index:0}.cropper .cutout.circle{border-radius:50%}.cropper .overlay{cursor:move;position:absolute;touch-action:none;z-index:1}.cropper .zoom-wrapper{height:2rem;margin:1rem auto;text-align:center;width:80%}.cropper .zoom{box-shadow:none;pointer-events:none;z-index:2}.cropper .zoom:focus{outline:none}.reply-quote{border-left:.25rem solid #039be5;border-radius:.25rem;color:#666;font-weight:lighter;line-height:1.5em;padding:.15rem .5rem;position:relative}.chat-box .bubble .reply-quote{margin:-.25rem -.75rem .35rem}.chat-box .left .reply-quote{background-color:#daebc6}.chat-box .right .reply-quote{background-color:#eee}.reply-quote-header{color:#039be5}#reply-quote-preview{align-items:center;display:flex}#reply-quote-preview .reply-quote{background-color:#fafafa;cursor:auto;margin:.35rem .5rem 0 0;width:100%}#reply-quote-preview .cancel{min-width:2.4rem;text-align:center}
\ No newline at end of file
diff --git a/img/broken_image.png b/img/broken_image.png
old mode 100755
new mode 100644
index 446c665a..058954b8
Binary files a/img/broken_image.png and b/img/broken_image.png differ
diff --git a/package-lock.json b/package-lock.json
index ebd30660..bdff2b76 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,19 +1,19 @@
{
"name": "tinode-webapp",
- "version": "0.17.8-rc1",
+ "version": "0.18.0-alpha1",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "tinode-webapp",
- "version": "0.17.8-rc1",
+ "version": "0.18.0-alpha1",
"license": "Apache-2.0",
"dependencies": {
"firebase": "^8.7.1",
"react": "^17.0.1",
"react-dom": "^17.0.1",
"react-intl": "^5.20.2",
- "tinode-sdk": "^0.17.7"
+ "tinode-sdk": "^0.18.0-alpha1"
},
"devDependencies": {
"@babel/core": "^7.14.5",
@@ -46,29 +46,29 @@
}
},
"node_modules/@babel/compat-data": {
- "version": "7.15.0",
- "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.15.0.tgz",
- "integrity": "sha512-0NqAC1IJE0S0+lL1SWFMxMkz1pKCNCjI4tr2Zx4LJSXxCLAdr6KyArnY+sno5m3yH9g737ygOyPABDsnXkpxiA==",
+ "version": "7.14.7",
+ "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.14.7.tgz",
+ "integrity": "sha512-nS6dZaISCXJ3+518CWiBfEr//gHyMO02uDxBkXTKZDN5POruCnOZ1N4YBRZDCabwF8nZMWBpRxIicmXtBs+fvw==",
"dev": true,
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/core": {
- "version": "7.15.0",
- "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.15.0.tgz",
- "integrity": "sha512-tXtmTminrze5HEUPn/a0JtOzzfp0nk+UEXQ/tqIJo3WDGypl/2OFQEMll/zSFU8f/lfmfLXvTaORHF3cfXIQMw==",
+ "version": "7.14.6",
+ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.14.6.tgz",
+ "integrity": "sha512-gJnOEWSqTk96qG5BoIrl5bVtc23DCycmIePPYnamY9RboYdI4nFy5vAQMSl81O5K/W0sLDWfGysnOECC+KUUCA==",
"dev": true,
"dependencies": {
"@babel/code-frame": "^7.14.5",
- "@babel/generator": "^7.15.0",
- "@babel/helper-compilation-targets": "^7.15.0",
- "@babel/helper-module-transforms": "^7.15.0",
- "@babel/helpers": "^7.14.8",
- "@babel/parser": "^7.15.0",
+ "@babel/generator": "^7.14.5",
+ "@babel/helper-compilation-targets": "^7.14.5",
+ "@babel/helper-module-transforms": "^7.14.5",
+ "@babel/helpers": "^7.14.6",
+ "@babel/parser": "^7.14.6",
"@babel/template": "^7.14.5",
- "@babel/traverse": "^7.15.0",
- "@babel/types": "^7.15.0",
+ "@babel/traverse": "^7.14.5",
+ "@babel/types": "^7.14.5",
"convert-source-map": "^1.7.0",
"debug": "^4.1.0",
"gensync": "^1.0.0-beta.2",
@@ -85,12 +85,12 @@
}
},
"node_modules/@babel/generator": {
- "version": "7.15.0",
- "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.15.0.tgz",
- "integrity": "sha512-eKl4XdMrbpYvuB505KTta4AV9g+wWzmVBW69tX0H2NwKVKd2YJbKgyK6M8j/rgLbmHOYJn6rUklV677nOyJrEQ==",
+ "version": "7.14.5",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.14.5.tgz",
+ "integrity": "sha512-y3rlP+/G25OIX3mYKKIOlQRcqj7YgrvHxOLbVmyLJ9bPmi5ttvUmpydVjcFjZphOktWuA7ovbx91ECloWTfjIA==",
"dev": true,
"dependencies": {
- "@babel/types": "^7.15.0",
+ "@babel/types": "^7.14.5",
"jsesc": "^2.5.1",
"source-map": "^0.5.0"
},
@@ -124,12 +124,12 @@
}
},
"node_modules/@babel/helper-compilation-targets": {
- "version": "7.15.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.15.0.tgz",
- "integrity": "sha512-h+/9t0ncd4jfZ8wsdAsoIxSa61qhBYlycXiHWqJaQBCXAhDCMbPRSMTGnZIkkmt1u4ag+UQmuqcILwqKzZ4N2A==",
+ "version": "7.14.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.14.5.tgz",
+ "integrity": "sha512-v+QtZqXEiOnpO6EYvlImB6zCD2Lel06RzOPzmkz/D/XgQiUu3C/Jb1LOqSt/AIA34TYi/Q+KlT8vTQrgdxkbLw==",
"dev": true,
"dependencies": {
- "@babel/compat-data": "^7.15.0",
+ "@babel/compat-data": "^7.14.5",
"@babel/helper-validator-option": "^7.14.5",
"browserslist": "^4.16.6",
"semver": "^6.3.0"
@@ -142,16 +142,16 @@
}
},
"node_modules/@babel/helper-create-class-features-plugin": {
- "version": "7.15.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.15.0.tgz",
- "integrity": "sha512-MdmDXgvTIi4heDVX/e9EFfeGpugqm9fobBVg/iioE8kueXrOHdRDe36FAY7SnE9xXLVeYCoJR/gdrBEIHRC83Q==",
+ "version": "7.14.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.14.6.tgz",
+ "integrity": "sha512-Z6gsfGofTxH/+LQXqYEK45kxmcensbzmk/oi8DmaQytlQCgqNZt9XQF8iqlI/SeXWVjaMNxvYvzaYw+kh42mDg==",
"dev": true,
"dependencies": {
"@babel/helper-annotate-as-pure": "^7.14.5",
"@babel/helper-function-name": "^7.14.5",
- "@babel/helper-member-expression-to-functions": "^7.15.0",
+ "@babel/helper-member-expression-to-functions": "^7.14.5",
"@babel/helper-optimise-call-expression": "^7.14.5",
- "@babel/helper-replace-supers": "^7.15.0",
+ "@babel/helper-replace-supers": "^7.14.5",
"@babel/helper-split-export-declaration": "^7.14.5"
},
"engines": {
@@ -247,12 +247,12 @@
}
},
"node_modules/@babel/helper-member-expression-to-functions": {
- "version": "7.15.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.15.0.tgz",
- "integrity": "sha512-Jq8H8U2kYiafuj2xMTPQwkTBnEEdGKpT35lJEQsRRjnG0LW3neucsaMWLgKcwu3OHKNeYugfw+Z20BXBSEs2Lg==",
+ "version": "7.14.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.14.7.tgz",
+ "integrity": "sha512-TMUt4xKxJn6ccjcOW7c4hlwyJArizskAhoSTOCkA0uZ+KghIaci0Qg9R043kUMWI9mtQfgny+NQ5QATnZ+paaA==",
"dev": true,
"dependencies": {
- "@babel/types": "^7.15.0"
+ "@babel/types": "^7.14.5"
},
"engines": {
"node": ">=6.9.0"
@@ -271,19 +271,19 @@
}
},
"node_modules/@babel/helper-module-transforms": {
- "version": "7.15.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.15.0.tgz",
- "integrity": "sha512-RkGiW5Rer7fpXv9m1B3iHIFDZdItnO2/BLfWVW/9q7+KqQSDY5kUfQEbzdXM1MVhJGcugKV7kRrNVzNxmk7NBg==",
+ "version": "7.14.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.14.5.tgz",
+ "integrity": "sha512-iXpX4KW8LVODuAieD7MzhNjmM6dzYY5tfRqT+R9HDXWl0jPn/djKmA+G9s/2C2T9zggw5tK1QNqZ70USfedOwA==",
"dev": true,
"dependencies": {
"@babel/helper-module-imports": "^7.14.5",
- "@babel/helper-replace-supers": "^7.15.0",
- "@babel/helper-simple-access": "^7.14.8",
+ "@babel/helper-replace-supers": "^7.14.5",
+ "@babel/helper-simple-access": "^7.14.5",
"@babel/helper-split-export-declaration": "^7.14.5",
- "@babel/helper-validator-identifier": "^7.14.9",
+ "@babel/helper-validator-identifier": "^7.14.5",
"@babel/template": "^7.14.5",
- "@babel/traverse": "^7.15.0",
- "@babel/types": "^7.15.0"
+ "@babel/traverse": "^7.14.5",
+ "@babel/types": "^7.14.5"
},
"engines": {
"node": ">=6.9.0"
@@ -325,27 +325,27 @@
}
},
"node_modules/@babel/helper-replace-supers": {
- "version": "7.15.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.15.0.tgz",
- "integrity": "sha512-6O+eWrhx+HEra/uJnifCwhwMd6Bp5+ZfZeJwbqUTuqkhIT6YcRhiZCOOFChRypOIe0cV46kFrRBlm+t5vHCEaA==",
+ "version": "7.14.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.14.5.tgz",
+ "integrity": "sha512-3i1Qe9/8x/hCHINujn+iuHy+mMRLoc77b2nI9TB0zjH1hvn9qGlXjWlggdwUcju36PkPCy/lpM7LLUdcTyH4Ow==",
"dev": true,
"dependencies": {
- "@babel/helper-member-expression-to-functions": "^7.15.0",
+ "@babel/helper-member-expression-to-functions": "^7.14.5",
"@babel/helper-optimise-call-expression": "^7.14.5",
- "@babel/traverse": "^7.15.0",
- "@babel/types": "^7.15.0"
+ "@babel/traverse": "^7.14.5",
+ "@babel/types": "^7.14.5"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-simple-access": {
- "version": "7.14.8",
- "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.14.8.tgz",
- "integrity": "sha512-TrFN4RHh9gnWEU+s7JloIho2T76GPwRHhdzOWLqTrMnlas8T9O7ec+oEDNsRXndOmru9ymH9DFrEOxpzPoSbdg==",
+ "version": "7.14.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.14.5.tgz",
+ "integrity": "sha512-nfBN9xvmCt6nrMZjfhkl7i0oTV3yxR4/FztsbOASyTvVcoYd0TRHh7eMLdlEcCqobydC0LAF3LtC92Iwxo0wyw==",
"dev": true,
"dependencies": {
- "@babel/types": "^7.14.8"
+ "@babel/types": "^7.14.5"
},
"engines": {
"node": ">=6.9.0"
@@ -376,9 +376,9 @@
}
},
"node_modules/@babel/helper-validator-identifier": {
- "version": "7.14.9",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.9.tgz",
- "integrity": "sha512-pQYxPY0UP6IHISRitNe8bsijHex4TWZXi2HwKVsjPiltzlhse2znVcm9Ace510VT1kxIHjGJCZZQBX2gJDbo0g==",
+ "version": "7.14.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.5.tgz",
+ "integrity": "sha512-5lsetuxCLilmVGyiLEfoHBRX8UCFD+1m2x3Rj97WrW3V7H3u4RWRXA4evMjImCsin2J2YT0QaVDGf+z8ondbAg==",
"dev": true,
"engines": {
"node": ">=6.9.0"
@@ -409,14 +409,14 @@
}
},
"node_modules/@babel/helpers": {
- "version": "7.15.3",
- "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.15.3.tgz",
- "integrity": "sha512-HwJiz52XaS96lX+28Tnbu31VeFSQJGOeKHJeaEPQlTl7PnlhFElWPj8tUXtqFIzeN86XxXoBr+WFAyK2PPVz6g==",
+ "version": "7.14.6",
+ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.14.6.tgz",
+ "integrity": "sha512-yesp1ENQBiLI+iYHSJdoZKUtRpfTlL1grDIX9NRlAVppljLw/4tTyYupIB7uIYmC3stW/imAv8EqaKaS/ibmeA==",
"dev": true,
"dependencies": {
"@babel/template": "^7.14.5",
- "@babel/traverse": "^7.15.0",
- "@babel/types": "^7.15.0"
+ "@babel/traverse": "^7.14.5",
+ "@babel/types": "^7.14.5"
},
"engines": {
"node": ">=6.9.0"
@@ -437,9 +437,9 @@
}
},
"node_modules/@babel/parser": {
- "version": "7.15.3",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.3.tgz",
- "integrity": "sha512-O0L6v/HvqbdJawj0iBEfVQMc3/6WP+AeOsovsIgBFyJaG+W2w7eqvZB7puddATmWuARlm1SX7DwxJ/JJUnDpEA==",
+ "version": "7.14.7",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.14.7.tgz",
+ "integrity": "sha512-X67Z5y+VBJuHB/RjwECp8kSl5uYi0BvRbNeWqkaJCVh+LiTPl19WBUfG627psSgp9rSf6ojuXghQM3ha6qHHdA==",
"dev": true,
"bin": {
"parser": "bin/babel-parser.js"
@@ -466,9 +466,9 @@
}
},
"node_modules/@babel/plugin-proposal-async-generator-functions": {
- "version": "7.14.9",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.14.9.tgz",
- "integrity": "sha512-d1lnh+ZnKrFKwtTYdw320+sQWCTwgkB9fmUhNXRADA4akR6wLjaruSGnIEUjpt9HCOwTr4ynFTKu19b7rFRpmw==",
+ "version": "7.14.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.14.7.tgz",
+ "integrity": "sha512-RK8Wj7lXLY3bqei69/cc25gwS5puEc3dknoFPFbqfy3XxYQBQFvu4ioWpafMBAB+L9NyptQK4nMOa5Xz16og8Q==",
"dev": true,
"dependencies": {
"@babel/helper-plugin-utils": "^7.14.5",
@@ -953,9 +953,9 @@
}
},
"node_modules/@babel/plugin-transform-block-scoping": {
- "version": "7.15.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.15.3.tgz",
- "integrity": "sha512-nBAzfZwZb4DkaGtOes1Up1nOAp9TDRRFw4XBzBBSG9QK7KVFmYzgj9o9sbPv7TX5ofL4Auq4wZnxCoPnI/lz2Q==",
+ "version": "7.14.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.14.5.tgz",
+ "integrity": "sha512-LBYm4ZocNgoCqyxMLoOnwpsmQ18HWTQvql64t3GvMUzLQrNoV1BDG0lNftC8QKYERkZgCCT/7J5xWGObGAyHDw==",
"dev": true,
"dependencies": {
"@babel/helper-plugin-utils": "^7.14.5"
@@ -968,9 +968,9 @@
}
},
"node_modules/@babel/plugin-transform-classes": {
- "version": "7.14.9",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.14.9.tgz",
- "integrity": "sha512-NfZpTcxU3foGWbl4wxmZ35mTsYJy8oQocbeIMoDAGGFarAmSQlL+LWMkDx/tj6pNotpbX3rltIA4dprgAPOq5A==",
+ "version": "7.14.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.14.5.tgz",
+ "integrity": "sha512-J4VxKAMykM06K/64z9rwiL6xnBHgB1+FVspqvlgCdwD1KUbQNfszeKVVOMh59w3sztHYIZDgnhOC4WbdEfHFDA==",
"dev": true,
"dependencies": {
"@babel/helper-annotate-as-pure": "^7.14.5",
@@ -1144,14 +1144,14 @@
}
},
"node_modules/@babel/plugin-transform-modules-commonjs": {
- "version": "7.15.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.15.0.tgz",
- "integrity": "sha512-3H/R9s8cXcOGE8kgMlmjYYC9nqr5ELiPkJn4q0mypBrjhYQoc+5/Maq69vV4xRPWnkzZuwJPf5rArxpB/35Cig==",
+ "version": "7.14.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.14.5.tgz",
+ "integrity": "sha512-en8GfBtgnydoao2PS+87mKyw62k02k7kJ9ltbKe0fXTHrQmG6QZZflYuGI1VVG7sVpx4E1n7KBpNlPb8m78J+A==",
"dev": true,
"dependencies": {
- "@babel/helper-module-transforms": "^7.15.0",
+ "@babel/helper-module-transforms": "^7.14.5",
"@babel/helper-plugin-utils": "^7.14.5",
- "@babel/helper-simple-access": "^7.14.8",
+ "@babel/helper-simple-access": "^7.14.5",
"babel-plugin-dynamic-import-node": "^2.3.3"
},
"engines": {
@@ -1197,9 +1197,9 @@
}
},
"node_modules/@babel/plugin-transform-named-capturing-groups-regex": {
- "version": "7.14.9",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.14.9.tgz",
- "integrity": "sha512-l666wCVYO75mlAtGFfyFwnWmIXQm3kSH0C3IRnJqWcZbWkoihyAdDhFm2ZWaxWTqvBvhVFfJjMRQ0ez4oN1yYA==",
+ "version": "7.14.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.14.7.tgz",
+ "integrity": "sha512-DTNOTaS7TkW97xsDMrp7nycUVh6sn/eq22VaxWfEdzuEbRsiaOU0pqU7DlyUGHVsbQbSghvjKRpEl+nUCKGQSg==",
"dev": true,
"dependencies": {
"@babel/helper-create-regexp-features-plugin": "^7.14.5"
@@ -1273,9 +1273,9 @@
}
},
"node_modules/@babel/plugin-transform-react-display-name": {
- "version": "7.15.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.15.1.tgz",
- "integrity": "sha512-yQZ/i/pUCJAHI/LbtZr413S3VT26qNrEm0M5RRxQJA947/YNYwbZbBaXGDrq6CG5QsZycI1VIP6d7pQaBfP+8Q==",
+ "version": "7.14.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.14.5.tgz",
+ "integrity": "sha512-07aqY1ChoPgIxsuDviptRpVkWCSbXWmzQqcgy65C6YSFOfPFvb/DX3bBRHh7pCd/PMEEYHYWUTSVkCbkVainYQ==",
"dev": true,
"dependencies": {
"@babel/helper-plugin-utils": "^7.14.5"
@@ -1288,16 +1288,16 @@
}
},
"node_modules/@babel/plugin-transform-react-jsx": {
- "version": "7.14.9",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.14.9.tgz",
- "integrity": "sha512-30PeETvS+AeD1f58i1OVyoDlVYQhap/K20ZrMjLmmzmC2AYR/G43D4sdJAaDAqCD3MYpSWbmrz3kES158QSLjw==",
+ "version": "7.14.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.14.5.tgz",
+ "integrity": "sha512-7RylxNeDnxc1OleDm0F5Q/BSL+whYRbOAR+bwgCxIr0L32v7UFh/pz1DLMZideAUxKT6eMoS2zQH6fyODLEi8Q==",
"dev": true,
"dependencies": {
"@babel/helper-annotate-as-pure": "^7.14.5",
"@babel/helper-module-imports": "^7.14.5",
"@babel/helper-plugin-utils": "^7.14.5",
"@babel/plugin-syntax-jsx": "^7.14.5",
- "@babel/types": "^7.14.9"
+ "@babel/types": "^7.14.5"
},
"engines": {
"node": ">=6.9.0"
@@ -1475,17 +1475,17 @@
}
},
"node_modules/@babel/preset-env": {
- "version": "7.15.0",
- "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.15.0.tgz",
- "integrity": "sha512-FhEpCNFCcWW3iZLg0L2NPE9UerdtsCR6ZcsGHUX6Om6kbCQeL5QZDqFDmeNHC6/fy6UH3jEge7K4qG5uC9In0Q==",
+ "version": "7.14.7",
+ "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.14.7.tgz",
+ "integrity": "sha512-itOGqCKLsSUl0Y+1nSfhbuuOlTs0MJk2Iv7iSH+XT/mR8U1zRLO7NjWlYXB47yhK4J/7j+HYty/EhFZDYKa/VA==",
"dev": true,
"dependencies": {
- "@babel/compat-data": "^7.15.0",
- "@babel/helper-compilation-targets": "^7.15.0",
+ "@babel/compat-data": "^7.14.7",
+ "@babel/helper-compilation-targets": "^7.14.5",
"@babel/helper-plugin-utils": "^7.14.5",
"@babel/helper-validator-option": "^7.14.5",
"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.14.5",
- "@babel/plugin-proposal-async-generator-functions": "^7.14.9",
+ "@babel/plugin-proposal-async-generator-functions": "^7.14.7",
"@babel/plugin-proposal-class-properties": "^7.14.5",
"@babel/plugin-proposal-class-static-block": "^7.14.5",
"@babel/plugin-proposal-dynamic-import": "^7.14.5",
@@ -1518,7 +1518,7 @@
"@babel/plugin-transform-async-to-generator": "^7.14.5",
"@babel/plugin-transform-block-scoped-functions": "^7.14.5",
"@babel/plugin-transform-block-scoping": "^7.14.5",
- "@babel/plugin-transform-classes": "^7.14.9",
+ "@babel/plugin-transform-classes": "^7.14.5",
"@babel/plugin-transform-computed-properties": "^7.14.5",
"@babel/plugin-transform-destructuring": "^7.14.7",
"@babel/plugin-transform-dotall-regex": "^7.14.5",
@@ -1529,10 +1529,10 @@
"@babel/plugin-transform-literals": "^7.14.5",
"@babel/plugin-transform-member-expression-literals": "^7.14.5",
"@babel/plugin-transform-modules-amd": "^7.14.5",
- "@babel/plugin-transform-modules-commonjs": "^7.15.0",
+ "@babel/plugin-transform-modules-commonjs": "^7.14.5",
"@babel/plugin-transform-modules-systemjs": "^7.14.5",
"@babel/plugin-transform-modules-umd": "^7.14.5",
- "@babel/plugin-transform-named-capturing-groups-regex": "^7.14.9",
+ "@babel/plugin-transform-named-capturing-groups-regex": "^7.14.7",
"@babel/plugin-transform-new-target": "^7.14.5",
"@babel/plugin-transform-object-super": "^7.14.5",
"@babel/plugin-transform-parameters": "^7.14.5",
@@ -1547,11 +1547,11 @@
"@babel/plugin-transform-unicode-escapes": "^7.14.5",
"@babel/plugin-transform-unicode-regex": "^7.14.5",
"@babel/preset-modules": "^0.1.4",
- "@babel/types": "^7.15.0",
+ "@babel/types": "^7.14.5",
"babel-plugin-polyfill-corejs2": "^0.2.2",
"babel-plugin-polyfill-corejs3": "^0.2.2",
"babel-plugin-polyfill-regenerator": "^0.2.2",
- "core-js-compat": "^3.16.0",
+ "core-js-compat": "^3.15.0",
"semver": "^6.3.0"
},
"engines": {
@@ -1598,9 +1598,9 @@
}
},
"node_modules/@babel/runtime": {
- "version": "7.15.3",
- "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.15.3.tgz",
- "integrity": "sha512-OvwMLqNXkCXSz1kSm58sEsNuhqOx/fKpnUnKnFB5v8uDda5bLNEHNgKPvhDN6IU0LDcnHQ90LlJ0Q6jnyBSIBA==",
+ "version": "7.14.6",
+ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.14.6.tgz",
+ "integrity": "sha512-/PCB2uJ7oM44tz8YhC4Z/6PeOKXp4K588f+5M3clr1M4zbqztlo0XEfJ2LEzj/FgwfgGcIdl8n7YYjTCI0BYwg==",
"dev": true,
"dependencies": {
"regenerator-runtime": "^0.13.4"
@@ -1624,18 +1624,18 @@
}
},
"node_modules/@babel/traverse": {
- "version": "7.15.0",
- "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.15.0.tgz",
- "integrity": "sha512-392d8BN0C9eVxVWd8H6x9WfipgVH5IaIoLp23334Sc1vbKKWINnvwRpb4us0xtPaCumlwbTtIYNA0Dv/32sVFw==",
+ "version": "7.14.7",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.14.7.tgz",
+ "integrity": "sha512-9vDr5NzHu27wgwejuKL7kIOm4bwEtaPQ4Z6cpCmjSuaRqpH/7xc4qcGEscwMqlkwgcXl6MvqoAjZkQ24uSdIZQ==",
"dev": true,
"dependencies": {
"@babel/code-frame": "^7.14.5",
- "@babel/generator": "^7.15.0",
+ "@babel/generator": "^7.14.5",
"@babel/helper-function-name": "^7.14.5",
"@babel/helper-hoist-variables": "^7.14.5",
"@babel/helper-split-export-declaration": "^7.14.5",
- "@babel/parser": "^7.15.0",
- "@babel/types": "^7.15.0",
+ "@babel/parser": "^7.14.7",
+ "@babel/types": "^7.14.5",
"debug": "^4.1.0",
"globals": "^11.1.0"
},
@@ -1644,12 +1644,12 @@
}
},
"node_modules/@babel/types": {
- "version": "7.15.0",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.0.tgz",
- "integrity": "sha512-OBvfqnllOIdX4ojTHpwZbpvz4j3EWyjkZEdmjH0/cgsd6QOdSgU8rLSk6ard/pcW7rlmjdVSX/AWOaORR1uNOQ==",
+ "version": "7.14.5",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.14.5.tgz",
+ "integrity": "sha512-M/NzBpEL95I5Hh4dwhin5JlE7EzO5PHMAuzjxss3tiOBD46KfQvVedN/3jEPZvdRvtsK2222XfdHogNIttFgcg==",
"dev": true,
"dependencies": {
- "@babel/helper-validator-identifier": "^7.14.9",
+ "@babel/helper-validator-identifier": "^7.14.5",
"to-fast-properties": "^2.0.0"
},
"engines": {
@@ -1666,15 +1666,15 @@
}
},
"node_modules/@firebase/analytics": {
- "version": "0.6.17",
- "resolved": "https://registry.npmjs.org/@firebase/analytics/-/analytics-0.6.17.tgz",
- "integrity": "sha512-Iiip24vQw7p+dBxoGWP2WvVqV2tOdLPjWw6OP6a+8vgss9PRsjKE2AAskruqveMUO4Ox5uPW65wdgeJxoFoMvQ==",
+ "version": "0.6.14",
+ "resolved": "https://registry.npmjs.org/@firebase/analytics/-/analytics-0.6.14.tgz",
+ "integrity": "sha512-u7e9MreZOuv6VHhJvfp2UzNvNXac5QL2ofNhcQmwxUrMyHX80LUJrTLUCoaCpQvv3HJHX8WVj897a9LoB4OO1g==",
"dependencies": {
- "@firebase/analytics-types": "0.6.0",
- "@firebase/component": "0.5.5",
- "@firebase/installations": "0.4.31",
+ "@firebase/analytics-types": "0.4.0",
+ "@firebase/component": "0.5.4",
+ "@firebase/installations": "0.4.30",
"@firebase/logger": "0.2.6",
- "@firebase/util": "1.2.0",
+ "@firebase/util": "1.1.0",
"tslib": "^2.1.0"
},
"peerDependencies": {
@@ -1683,34 +1683,34 @@
}
},
"node_modules/@firebase/analytics-types": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/@firebase/analytics-types/-/analytics-types-0.6.0.tgz",
- "integrity": "sha512-kbMawY0WRPyL/lbknBkme4CNLl+Gw+E9G4OpNeXAauqoQiNkBgpIvZYy7BRT4sNGhZbxdxXxXbruqUwDzLmvTw=="
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/@firebase/analytics-types/-/analytics-types-0.4.0.tgz",
+ "integrity": "sha512-Jj2xW+8+8XPfWGkv9HPv/uR+Qrmq37NPYT352wf7MvE9LrstpLVmFg3LqG6MCRr5miLAom5sen2gZ+iOhVDeRA=="
},
"node_modules/@firebase/app": {
- "version": "0.6.29",
- "resolved": "https://registry.npmjs.org/@firebase/app/-/app-0.6.29.tgz",
- "integrity": "sha512-duCzk9/BSVVsb5Y9b0rnvGSuD5zQA/JghiQsccRl+lA4xiUYjFudTU4cVFftkw+0zzeYBHn4KiVxchsva1O9dA==",
+ "version": "0.6.28",
+ "resolved": "https://registry.npmjs.org/@firebase/app/-/app-0.6.28.tgz",
+ "integrity": "sha512-ZsR5372bNDfY9aGMg+0zgoxwUg/Upf8Mq1M82XCByCVdn6krnPwGr486UssiYFCVANweiOR1Mrhrg2y5O01RRw==",
"dependencies": {
- "@firebase/app-types": "0.6.3",
- "@firebase/component": "0.5.5",
+ "@firebase/app-types": "0.6.2",
+ "@firebase/component": "0.5.4",
"@firebase/logger": "0.2.6",
- "@firebase/util": "1.2.0",
+ "@firebase/util": "1.1.0",
"dom-storage": "2.1.0",
"tslib": "^2.1.0",
"xmlhttprequest": "1.8.0"
}
},
"node_modules/@firebase/app-check": {
- "version": "0.3.1",
- "resolved": "https://registry.npmjs.org/@firebase/app-check/-/app-check-0.3.1.tgz",
- "integrity": "sha512-5OWXzhXdtrmOqn2aN44FyNTwjlZJrip/3WC7UlMeUBPi3apuUgChHTolZ1oITszGdw52lP3r5SOCDtRsNtbkJg==",
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/@firebase/app-check/-/app-check-0.2.0.tgz",
+ "integrity": "sha512-h5eNSYf4ZU9FGawDSLGSGBcaYzdkydVBCGzbQW5urAd7czhB5QF+T4nnTOQ0Gto5upqPGuUH9s9CbQ4Gf49OEw==",
"dependencies": {
"@firebase/app-check-interop-types": "0.1.0",
- "@firebase/app-check-types": "0.3.1",
- "@firebase/component": "0.5.5",
+ "@firebase/app-check-types": "0.2.0",
+ "@firebase/component": "0.5.4",
"@firebase/logger": "0.2.6",
- "@firebase/util": "1.2.0",
+ "@firebase/util": "1.1.0",
"tslib": "^2.1.0"
},
"peerDependencies": {
@@ -1724,14 +1724,14 @@
"integrity": "sha512-uZfn9s4uuRsaX5Lwx+gFP3B6YsyOKUE+Rqa6z9ojT4VSRAsZFko9FRn6OxQUA1z5t5d08fY4pf+/+Dkd5wbdbA=="
},
"node_modules/@firebase/app-check-types": {
- "version": "0.3.1",
- "resolved": "https://registry.npmjs.org/@firebase/app-check-types/-/app-check-types-0.3.1.tgz",
- "integrity": "sha512-KJ+BqJbdNsx4QT/JIT1yDj5p6D+QN97iJs3GuHnORrqL+DU3RWc9nSYQsrY6Tv9jVWcOkMENXAgDT484vzsm2w=="
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/@firebase/app-check-types/-/app-check-types-0.2.0.tgz",
+ "integrity": "sha512-CfZhWtChLK9uNmrxbJyTg1BPtROiwc/VJGu3f39KjS0F5ZvZjHmyRFMrDiSoXDoybM4B6X0pQhJYi9rifT2wpQ=="
},
"node_modules/@firebase/app-types": {
- "version": "0.6.3",
- "resolved": "https://registry.npmjs.org/@firebase/app-types/-/app-types-0.6.3.tgz",
- "integrity": "sha512-/M13DPPati7FQHEQ9Minjk1HGLm/4K4gs9bR4rzLCWJg64yGtVC0zNg9gDpkw9yc2cvol/mNFxqTtd4geGrwdw=="
+ "version": "0.6.2",
+ "resolved": "https://registry.npmjs.org/@firebase/app-types/-/app-types-0.6.2.tgz",
+ "integrity": "sha512-2VXvq/K+n8XMdM4L2xy5bYp2ZXMawJXluUIDzUBvMthVR+lhxK4pfFiqr1mmDbv9ydXvEAuFsD+6DpcZuJcSSw=="
},
"node_modules/@firebase/auth": {
"version": "0.16.8",
@@ -1763,45 +1763,45 @@
}
},
"node_modules/@firebase/component": {
- "version": "0.5.5",
- "resolved": "https://registry.npmjs.org/@firebase/component/-/component-0.5.5.tgz",
- "integrity": "sha512-L41SdS/4a164jx2iGfakJgaBUPPBI3DI+RrUlmh3oHSUljTeCwfj/Nhcv3S7e2lyXsGFJtAyepfPUx4IQ05crw==",
+ "version": "0.5.4",
+ "resolved": "https://registry.npmjs.org/@firebase/component/-/component-0.5.4.tgz",
+ "integrity": "sha512-KoLDPTsvxWr6FT9kn/snffJItaWXZLHLJlZVKiiw+flKE6MVA8Eec+ctvM2zcsMZzC2Z47gFnVqywfBlOevmpQ==",
"dependencies": {
- "@firebase/util": "1.2.0",
+ "@firebase/util": "1.1.0",
"tslib": "^2.1.0"
}
},
"node_modules/@firebase/database": {
- "version": "0.10.9",
- "resolved": "https://registry.npmjs.org/@firebase/database/-/database-0.10.9.tgz",
- "integrity": "sha512-Jxi9SiE4cNOftO9YKlG71ccyWFw4kSM9AG/xYu6vWXUGBr39Uw1TvYougANOcU21Q0TP4J08VPGnOnpXk/FGbQ==",
+ "version": "0.10.7",
+ "resolved": "https://registry.npmjs.org/@firebase/database/-/database-0.10.7.tgz",
+ "integrity": "sha512-7BFj8LFhGL+TmLiPOffOVfkrO2wm44mGcT0jqrkTkt1KydapmjABFJBRvONvlLij5LoWrJK1cSuE8wYDQrDq2Q==",
"dependencies": {
"@firebase/auth-interop-types": "0.1.6",
- "@firebase/component": "0.5.5",
- "@firebase/database-types": "0.7.3",
+ "@firebase/component": "0.5.4",
+ "@firebase/database-types": "0.7.2",
"@firebase/logger": "0.2.6",
- "@firebase/util": "1.2.0",
+ "@firebase/util": "1.1.0",
"faye-websocket": "0.11.3",
"tslib": "^2.1.0"
}
},
"node_modules/@firebase/database-types": {
- "version": "0.7.3",
- "resolved": "https://registry.npmjs.org/@firebase/database-types/-/database-types-0.7.3.tgz",
- "integrity": "sha512-dSOJmhKQ0nL8O4EQMRNGpSExWCXeHtH57gGg0BfNAdWcKhC8/4Y+qfKLfWXzyHvrSecpLmO0SmAi/iK2D5fp5A==",
+ "version": "0.7.2",
+ "resolved": "https://registry.npmjs.org/@firebase/database-types/-/database-types-0.7.2.tgz",
+ "integrity": "sha512-cdAd/dgwvC0r3oLEDUR+ULs1vBsEvy0b27nlzKhU6LQgm9fCDzgaH9nFGv8x+S9dly4B0egAXkONkVoWcOAisg==",
"dependencies": {
- "@firebase/app-types": "0.6.3"
+ "@firebase/app-types": "0.6.2"
}
},
"node_modules/@firebase/firestore": {
- "version": "2.3.10",
- "resolved": "https://registry.npmjs.org/@firebase/firestore/-/firestore-2.3.10.tgz",
- "integrity": "sha512-O+XpaZVhDIBK2fMwBUBR2BuhaXF6zTmz+afAuXAx18DK+2rFfLefbALZLaUYw0Aabe9pryy0c7OenzRbHA8n4Q==",
+ "version": "2.3.8",
+ "resolved": "https://registry.npmjs.org/@firebase/firestore/-/firestore-2.3.8.tgz",
+ "integrity": "sha512-76uA4czK+JM7rNbJXWrzA2gZQMGopQOvkQ7EffBfe9d921gvZ+W6naXaih+jYZn6BwuE7no9fx3RdZDszG5u+g==",
"dependencies": {
- "@firebase/component": "0.5.5",
+ "@firebase/component": "0.5.4",
"@firebase/firestore-types": "2.3.0",
"@firebase/logger": "0.2.6",
- "@firebase/util": "1.2.0",
+ "@firebase/util": "1.1.0",
"@firebase/webchannel-wrapper": "0.5.1",
"@grpc/grpc-js": "^1.3.2",
"@grpc/proto-loader": "^0.6.0",
@@ -1826,11 +1826,11 @@
}
},
"node_modules/@firebase/functions": {
- "version": "0.6.14",
- "resolved": "https://registry.npmjs.org/@firebase/functions/-/functions-0.6.14.tgz",
- "integrity": "sha512-Gthru/wHPQqkn651MenVM+qKVFFqIyFcNT3qfJUacibqrKlvDtYtaCMjFGAkChuGnYzNVnXJIaNrIHkEIII4Hg==",
+ "version": "0.6.13",
+ "resolved": "https://registry.npmjs.org/@firebase/functions/-/functions-0.6.13.tgz",
+ "integrity": "sha512-BSMXjcGXfe33Tdb/a6esYGndMPY7bhMTRlP1si5W0oL8ovsHpiAllrrECbcqp7VU1qQtAZlC7U/pWF733yIRuw==",
"dependencies": {
- "@firebase/component": "0.5.5",
+ "@firebase/component": "0.5.4",
"@firebase/functions-types": "0.4.0",
"@firebase/messaging-types": "0.5.0",
"node-fetch": "2.6.1",
@@ -1847,13 +1847,13 @@
"integrity": "sha512-3KElyO3887HNxtxNF1ytGFrNmqD+hheqjwmT3sI09FaDCuaxGbOnsXAXH2eQ049XRXw9YQpHMgYws/aUNgXVyQ=="
},
"node_modules/@firebase/installations": {
- "version": "0.4.31",
- "resolved": "https://registry.npmjs.org/@firebase/installations/-/installations-0.4.31.tgz",
- "integrity": "sha512-qWolhAgMHvD3avsNCl+K8+untzoDDFQIRR8At8kyWMKKosy0vttdWTWzjvDoZbyKU6r0RNlxDUWAgV88Q8EudQ==",
+ "version": "0.4.30",
+ "resolved": "https://registry.npmjs.org/@firebase/installations/-/installations-0.4.30.tgz",
+ "integrity": "sha512-7Ci8UVIkeb+V5BzZiA2dfjTYDIeKS4cW7EXit5ZGnd4J9d9NZW9Fnyx/XpvlhrODleBKhXuip/3rF1pfJq+/5Q==",
"dependencies": {
- "@firebase/component": "0.5.5",
+ "@firebase/component": "0.5.4",
"@firebase/installations-types": "0.3.4",
- "@firebase/util": "1.2.0",
+ "@firebase/util": "1.1.0",
"idb": "3.0.2",
"tslib": "^2.1.0"
},
@@ -1876,14 +1876,14 @@
"integrity": "sha512-KIxcUvW/cRGWlzK9Vd2KB864HlUnCfdTH0taHE0sXW5Xl7+W68suaeau1oKNEqmc3l45azkd4NzXTCWZRZdXrw=="
},
"node_modules/@firebase/messaging": {
- "version": "0.7.15",
- "resolved": "https://registry.npmjs.org/@firebase/messaging/-/messaging-0.7.15.tgz",
- "integrity": "sha512-81t6iJtqMBJF5LHTjDhlHUpbPZOV6dKhW0TueAoON4omc0SaDXgf4nnk6JkvZRfdcuOaP8848Cv53tvZPFFAYQ==",
+ "version": "0.7.14",
+ "resolved": "https://registry.npmjs.org/@firebase/messaging/-/messaging-0.7.14.tgz",
+ "integrity": "sha512-qWaaGaDAFA/QejkHXPTRbA17KUi1+Rvip7XMo8Oqrh14E8o0VQwR2e7n54qTkngl4hphOv1YMuM8uXRKU5fVGQ==",
"dependencies": {
- "@firebase/component": "0.5.5",
- "@firebase/installations": "0.4.31",
+ "@firebase/component": "0.5.4",
+ "@firebase/installations": "0.4.30",
"@firebase/messaging-types": "0.5.0",
- "@firebase/util": "1.2.0",
+ "@firebase/util": "1.1.0",
"idb": "3.0.2",
"tslib": "^2.1.0"
},
@@ -1901,15 +1901,15 @@
}
},
"node_modules/@firebase/performance": {
- "version": "0.4.17",
- "resolved": "https://registry.npmjs.org/@firebase/performance/-/performance-0.4.17.tgz",
- "integrity": "sha512-uhDs9rhdMrGraYHcd3CTRkGtcNap4hp6rAHTwJNIX56Z3RzQ1VW2ea9vvesl7EjFtEIPU0jfdrS32wV+qer5DQ==",
+ "version": "0.4.16",
+ "resolved": "https://registry.npmjs.org/@firebase/performance/-/performance-0.4.16.tgz",
+ "integrity": "sha512-todNreR+HPedqPul0FXalKzJYzYIs5Q9jba9ulqKo19vqTRX9YO+8EOmqwS445CgBghCZxeXkKmKm9p//JNZtg==",
"dependencies": {
- "@firebase/component": "0.5.5",
- "@firebase/installations": "0.4.31",
+ "@firebase/component": "0.5.4",
+ "@firebase/installations": "0.4.30",
"@firebase/logger": "0.2.6",
"@firebase/performance-types": "0.0.13",
- "@firebase/util": "1.2.0",
+ "@firebase/util": "1.1.0",
"tslib": "^2.1.0"
},
"peerDependencies": {
@@ -1933,15 +1933,15 @@
}
},
"node_modules/@firebase/remote-config": {
- "version": "0.1.42",
- "resolved": "https://registry.npmjs.org/@firebase/remote-config/-/remote-config-0.1.42.tgz",
- "integrity": "sha512-hWwtAZmYLB274bxjV2cdMYhyBCUUqbYErihGx3rMyab76D+VbIxOuKJb2z0DS67jQG+SA3pr9/MtWsTPHV/l9g==",
+ "version": "0.1.41",
+ "resolved": "https://registry.npmjs.org/@firebase/remote-config/-/remote-config-0.1.41.tgz",
+ "integrity": "sha512-ixySdhripxOz/wUiGxjVwU9hhxPkRy1N9YzLZmbQK9zrD6HPmyIRFRGp9Uh3PukD+gMqrHAwPPdkkwt6I35k9A==",
"dependencies": {
- "@firebase/component": "0.5.5",
- "@firebase/installations": "0.4.31",
+ "@firebase/component": "0.5.4",
+ "@firebase/installations": "0.4.30",
"@firebase/logger": "0.2.6",
"@firebase/remote-config-types": "0.1.9",
- "@firebase/util": "1.2.0",
+ "@firebase/util": "1.1.0",
"tslib": "^2.1.0"
},
"peerDependencies": {
@@ -1955,13 +1955,13 @@
"integrity": "sha512-G96qnF3RYGbZsTRut7NBX0sxyczxt1uyCgXQuH/eAfUCngxjEGcZQnBdy6mvSdqdJh5mC31rWPO4v9/s7HwtzA=="
},
"node_modules/@firebase/storage": {
- "version": "0.6.2",
- "resolved": "https://registry.npmjs.org/@firebase/storage/-/storage-0.6.2.tgz",
- "integrity": "sha512-qbYx+KOxnD5andWAtVPgMHFa/62jdLCgPGdfIRQIEgBoYibk3KigRYVdnfKRLcCO3Vip63BRUvyeqfiUHNNu2g==",
+ "version": "0.5.6",
+ "resolved": "https://registry.npmjs.org/@firebase/storage/-/storage-0.5.6.tgz",
+ "integrity": "sha512-T18/BvLTuuFaNSDxpojr7T0g07aO+q+hJjk03HFwQbifJxyxdsYZIwKu1Bdo+t48Qyh+l2tOjN4TiidIydUN2w==",
"dependencies": {
- "@firebase/component": "0.5.5",
+ "@firebase/component": "0.5.4",
"@firebase/storage-types": "0.4.1",
- "@firebase/util": "1.2.0",
+ "@firebase/util": "1.1.0",
"node-fetch": "2.6.1",
"tslib": "^2.1.0"
},
@@ -1980,9 +1980,9 @@
}
},
"node_modules/@firebase/util": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/@firebase/util/-/util-1.2.0.tgz",
- "integrity": "sha512-8W9TTGImXr9cu+oyjBJ7yjoEd/IVAv0pBZA4c1uIuKrpGZi2ee38m+8xlZOBRmsAaOU/tR9DXz1WF/oeM6Fb7Q==",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@firebase/util/-/util-1.1.0.tgz",
+ "integrity": "sha512-lfuSASuPKNdfebuFR8rjFamMQUPH9iiZHcKS755Rkm/5gRT0qC7BMhCh3ZkHf7NVbplzIc/GhmX2jM+igDRCag==",
"dependencies": {
"tslib": "^2.1.0"
}
@@ -1993,27 +1993,27 @@
"integrity": "sha512-dZMzN0uAjwJXWYYAcnxIwXqRTZw3o14hGe7O6uhwjD1ZQWPVYA5lASgnNskEBra0knVBsOXB4KXg+HnlKewN/A=="
},
"node_modules/@formatjs/cli": {
- "version": "4.2.30",
- "resolved": "https://registry.npmjs.org/@formatjs/cli/-/cli-4.2.30.tgz",
- "integrity": "sha512-kmikjX2ahC7ymyh4kG09ZkVIZpTVY93LS7NJI2PtLpWwp4YNvbI3Ii/4a1bQLVGbIUwZwzq5Fo58nfoXEjLekA==",
+ "version": "4.2.27",
+ "resolved": "https://registry.npmjs.org/@formatjs/cli/-/cli-4.2.27.tgz",
+ "integrity": "sha512-P+y3nIBa+IMfv8dKPdZ38xhF/l9AghsU8kKi2onUJLpvjjDdjTEUTleaPpVghZKhe6BqNbso+anludxlZUdKoA==",
"dev": true,
"dependencies": {
- "@formatjs/icu-messageformat-parser": "2.0.9",
- "@formatjs/ts-transformer": "3.4.7",
- "@types/estree": "^0.0.50",
- "@types/fs-extra": "^9.0.1",
+ "@formatjs/icu-messageformat-parser": "2.0.7",
+ "@formatjs/ts-transformer": "3.4.5",
"@types/json-stable-stringify": "^1.0.32",
+ "@types/lodash": "^4.14.150",
"@types/node": "14",
- "@vue/compiler-core": "^3.0.5",
+ "@vue/compiler-core": "^3.0.0",
"@vue/compiler-sfc": "^3.0.5",
"chalk": "^4.0.0",
"commander": "8",
- "fast-glob": "^3.2.7",
- "fs-extra": "10",
+ "fast-glob": "^3.2.4",
+ "fs-extra": "^9.0.0",
"json-stable-stringify": "^1.0.1",
+ "lodash": "^4.17.15",
"loud-rejection": "^2.2.0",
"tslib": "^2.1.0",
- "typescript": "4"
+ "typescript": "^4.0"
},
"bin": {
"formatjs": "bin/formatjs"
@@ -2035,9 +2035,9 @@
}
},
"node_modules/@formatjs/cli/node_modules/chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz",
+ "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==",
"dev": true,
"dependencies": {
"ansi-styles": "^4.1.0",
@@ -2090,55 +2090,51 @@
}
},
"node_modules/@formatjs/ecma402-abstract": {
- "version": "1.9.6",
- "resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-1.9.6.tgz",
- "integrity": "sha512-fgXUydhzng3JCSm3HB1bt01m1otnMybX4b/CEI/fJRPvzgtq5XwV2qW/WQQdOLTr29/ttRHCEk2Mb9IP5K/PjQ==",
+ "version": "1.9.4",
+ "resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-1.9.4.tgz",
+ "integrity": "sha512-ePJXI7tWC9PBxQxS7jtbkCLGVmpC8MH8n9Yjmg8dsh9wXK9svu7nAbq76Oiu5Zb+5GVkLkeTVerlSvHCbNImlA==",
"dependencies": {
- "@formatjs/intl-localematcher": "0.2.19",
"tslib": "^2.1.0"
}
},
"node_modules/@formatjs/fast-memoize": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/@formatjs/fast-memoize/-/fast-memoize-1.1.2.tgz",
- "integrity": "sha512-HfN6D9yd9vhypWwTVpJHqoSb50KFuoxZ2ZS6AM1XNSyihWk7JJXjZ3mgvboJU4eNSsdxAWwR1ke5KIOobEVwBA==",
- "dependencies": {
- "tslib": "^2.1.0"
- }
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/@formatjs/fast-memoize/-/fast-memoize-1.1.1.tgz",
+ "integrity": "sha512-mIqBr5uigIlx13eZTOPSEh2buDiy3BCdMYUtewICREQjbb4xarDiVWoXSnrERM7NanZ+0TAHNXSqDe6HpEFQUg=="
},
"node_modules/@formatjs/icu-messageformat-parser": {
- "version": "2.0.9",
- "resolved": "https://registry.npmjs.org/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.0.9.tgz",
- "integrity": "sha512-L1a4W7Tbk41EjENYLLeYy1B9mX85kP6Wx2bzF/VLkGOk2bkFSEFzyb2XtYuklMzWhgka665LhxyPyJy3Ktpq6A==",
+ "version": "2.0.7",
+ "resolved": "https://registry.npmjs.org/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.0.7.tgz",
+ "integrity": "sha512-gduYfh/YdBTmb1XzLueNaofiGZVMrkaDg0RSa0GNztKWs4QXIRS+28cjcuWNpV0q5S8aiLMkP7SHQpZKnPCHLw==",
"dependencies": {
- "@formatjs/ecma402-abstract": "1.9.6",
- "@formatjs/icu-skeleton-parser": "1.2.10",
+ "@formatjs/ecma402-abstract": "1.9.4",
+ "@formatjs/icu-skeleton-parser": "1.2.8",
"tslib": "^2.1.0"
}
},
"node_modules/@formatjs/icu-skeleton-parser": {
- "version": "1.2.10",
- "resolved": "https://registry.npmjs.org/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.2.10.tgz",
- "integrity": "sha512-S96jf8V2SLBhjN7zTJ9xsroOOxS+STKtrjKKmF84+PAEGYAn5qlP62k9mbR0ir2cY80WNB5ehUmeDbo0plAkqg==",
+ "version": "1.2.8",
+ "resolved": "https://registry.npmjs.org/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.2.8.tgz",
+ "integrity": "sha512-KLSSAA7Q2Uv7msij8saaOE5rpsHK/2WkfS3737JnDyVTFOYe8l2OarIBUoTC5gi1BnCgiN/1icZlqXwyUX6obA==",
"dependencies": {
- "@formatjs/ecma402-abstract": "1.9.6",
+ "@formatjs/ecma402-abstract": "1.9.4",
"tslib": "^2.1.0"
}
},
"node_modules/@formatjs/intl": {
- "version": "1.13.5",
- "resolved": "https://registry.npmjs.org/@formatjs/intl/-/intl-1.13.5.tgz",
- "integrity": "sha512-Xp9GVwwQTGHRnkvSYZJ3nVqyOoMMqu8BCFVg07ycav4mpg3qLZn4QkO76fKvFkwmcYQssUN2b+ArVuaEoPNEYw==",
+ "version": "1.13.2",
+ "resolved": "https://registry.npmjs.org/@formatjs/intl/-/intl-1.13.2.tgz",
+ "integrity": "sha512-aonTXXaI/Guqr4t87m/XWfmgE9aPefDTLRnCwadxBDkUHw1/HQeUV+lp/3BgiPZfemIdBq9UgdigDCwrpEwrTA==",
"dependencies": {
- "@formatjs/ecma402-abstract": "1.9.6",
- "@formatjs/fast-memoize": "1.1.2",
- "@formatjs/intl-displaynames": "5.2.1",
- "@formatjs/intl-listformat": "6.3.1",
- "intl-messageformat": "9.8.2",
+ "@formatjs/ecma402-abstract": "1.9.4",
+ "@formatjs/fast-memoize": "1.1.1",
+ "@formatjs/icu-messageformat-parser": "2.0.7",
+ "@formatjs/intl-displaynames": "5.1.6",
+ "@formatjs/intl-listformat": "6.2.6",
+ "intl-messageformat": "9.7.1",
"tslib": "^2.1.0"
},
"peerDependencies": {
- "@types/node": "14 || 16",
"typescript": "^4.2"
},
"peerDependenciesMeta": {
@@ -2148,44 +2144,34 @@
}
},
"node_modules/@formatjs/intl-displaynames": {
- "version": "5.2.1",
- "resolved": "https://registry.npmjs.org/@formatjs/intl-displaynames/-/intl-displaynames-5.2.1.tgz",
- "integrity": "sha512-sASYPnWHbEm6eLKzLWvt6CInlmxVJjdwc1GP/PwPgopwFiVaTqs62FRRt4xODJBo7QBL/Xdpx5pXBFUbAkyeqA==",
+ "version": "5.1.6",
+ "resolved": "https://registry.npmjs.org/@formatjs/intl-displaynames/-/intl-displaynames-5.1.6.tgz",
+ "integrity": "sha512-s0eDyQFM2gQIPgn+MyaH+UcCvp6ui2ft9UW1gsIkjBkaprRlzKMd3fjxcUFO/I7oyXXA6FYR4qHR8u1I0+PvXA==",
"dependencies": {
- "@formatjs/ecma402-abstract": "1.9.6",
- "@formatjs/intl-localematcher": "0.2.19",
+ "@formatjs/ecma402-abstract": "1.9.4",
"tslib": "^2.1.0"
}
},
"node_modules/@formatjs/intl-listformat": {
- "version": "6.3.1",
- "resolved": "https://registry.npmjs.org/@formatjs/intl-listformat/-/intl-listformat-6.3.1.tgz",
- "integrity": "sha512-Oxssy7nx2e86TDMHGYJ1kjX/sJlTzemLqLpV6IRIeJ2wuVuQQyVXNyWMYBPx+1SDN0j9YigsFQ/b4bhdsOWn0w==",
- "dependencies": {
- "@formatjs/ecma402-abstract": "1.9.6",
- "@formatjs/intl-localematcher": "0.2.19",
- "tslib": "^2.1.0"
- }
- },
- "node_modules/@formatjs/intl-localematcher": {
- "version": "0.2.19",
- "resolved": "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.2.19.tgz",
- "integrity": "sha512-eyrTiqciBSBfwx6PyyVJCEhXeAOXVJWWlvyR0Lx7OkTikWIrqhl8VIifyq3wwBiCMPOyCDN1ccik9VBdGcDiHA==",
+ "version": "6.2.6",
+ "resolved": "https://registry.npmjs.org/@formatjs/intl-listformat/-/intl-listformat-6.2.6.tgz",
+ "integrity": "sha512-6FMdQY1+QKqJW5IhsVPFuEaR/uRiBKP+Y1oDvamZKzDfJ2vQmk9jqSF51VztlZH8XSfdO0IgvBzeRPHahKChQA==",
"dependencies": {
+ "@formatjs/ecma402-abstract": "1.9.4",
"tslib": "^2.1.0"
}
},
"node_modules/@formatjs/ts-transformer": {
- "version": "3.4.7",
- "resolved": "https://registry.npmjs.org/@formatjs/ts-transformer/-/ts-transformer-3.4.7.tgz",
- "integrity": "sha512-Krt8s1glGkWDSPbEEutPM4MY2Xu8ppdvkOMLwLmYqQ64qU9ucUMM9xXtMV4GsBJR3Q+CUKd1xm3HusstjyvvFQ==",
+ "version": "3.4.5",
+ "resolved": "https://registry.npmjs.org/@formatjs/ts-transformer/-/ts-transformer-3.4.5.tgz",
+ "integrity": "sha512-VzjT9jbpizZhwvtX/jaoTOeHQ/nvEx9ttzDrRXcFIGXyxupBZKTxr/+v6j3NjUmeiuN3JfaXhZUYmG+zsS0kxw==",
"dev": true,
"dependencies": {
- "@formatjs/icu-messageformat-parser": "2.0.9",
+ "@formatjs/icu-messageformat-parser": "2.0.7",
+ "chalk": "^4.1.1",
"tslib": "^2.1.0"
},
"peerDependencies": {
- "@types/node": "14 || 16",
"ts-jest": "27",
"typescript": "4"
},
@@ -2195,10 +2181,80 @@
}
}
},
+ "node_modules/@formatjs/ts-transformer/node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dev": true,
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/@formatjs/ts-transformer/node_modules/chalk": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz",
+ "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==",
+ "dev": true,
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "node_modules/@formatjs/ts-transformer/node_modules/color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/@formatjs/ts-transformer/node_modules/color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ },
+ "node_modules/@formatjs/ts-transformer/node_modules/has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@formatjs/ts-transformer/node_modules/supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "dev": true,
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/@grpc/grpc-js": {
- "version": "1.3.7",
- "resolved": "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.3.7.tgz",
- "integrity": "sha512-CKQVuwuSPh40tgOkR7c0ZisxYRiN05PcKPW72mQL5y++qd7CwBRoaJZvU5xfXnCJDFBmS3qZGQ71Frx6Ofo2XA==",
+ "version": "1.3.4",
+ "resolved": "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.3.4.tgz",
+ "integrity": "sha512-AxtZcm0mArQhY9z8T3TynCYVEaSKxNCa9mVhVwBCUnsuUEe8Zn94bPYYKVQSLt+hJJ1y0ukr3mUvtWfcATL/IQ==",
"dependencies": {
"@types/node": ">=12.12.47"
},
@@ -2373,9 +2429,9 @@
}
},
"node_modules/@types/eslint": {
- "version": "7.28.0",
- "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-7.28.0.tgz",
- "integrity": "sha512-07XlgzX0YJUn4iG1ocY4IX9DzKSmMGUs6ESKlxWhZRaa0fatIWaHWUVapcuGa8r5HFnTqzj+4OCjd5f7EZ/i/A==",
+ "version": "7.2.14",
+ "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-7.2.14.tgz",
+ "integrity": "sha512-pESyhSbUOskqrGcaN+bCXIQDyT5zTaRWfj5ZjjSlMatgGjIn3QQPfocAu4WSabUR7CGyLZ2CQaZyISOEX7/saw==",
"dev": true,
"dependencies": {
"@types/estree": "*",
@@ -2393,20 +2449,11 @@
}
},
"node_modules/@types/estree": {
- "version": "0.0.50",
- "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.50.tgz",
- "integrity": "sha512-C6N5s2ZFtuZRj54k2/zyRhNDjJwwcViAM3Nbm8zjBpbqAdZ00mr0CFxvSKeO8Y/e03WVFLpQMdHYVfUd6SB+Hw==",
+ "version": "0.0.48",
+ "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.48.tgz",
+ "integrity": "sha512-LfZwXoGUDo0C3me81HXgkBg5CTQYb6xzEl+fNmbO4JdRiSKQ8A0GD1OBBvKAIsbCUgoyAty7m99GqqMQe784ew==",
"dev": true
},
- "node_modules/@types/fs-extra": {
- "version": "9.0.12",
- "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-9.0.12.tgz",
- "integrity": "sha512-I+bsBr67CurCGnSenZZ7v94gd3tc3+Aj2taxMT4yu4ABLuOgOjeFxX3dokG24ztSRg5tnT00sL8BszO7gSMoIw==",
- "dev": true,
- "dependencies": {
- "@types/node": "*"
- }
- },
"node_modules/@types/hoist-non-react-statics": {
"version": "3.3.1",
"resolved": "https://registry.npmjs.org/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.1.tgz",
@@ -2417,9 +2464,9 @@
}
},
"node_modules/@types/json-schema": {
- "version": "7.0.9",
- "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.9.tgz",
- "integrity": "sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==",
+ "version": "7.0.8",
+ "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.8.tgz",
+ "integrity": "sha512-YSBPTLTVm2e2OoQIDYx8HaeWJ5tTToLH67kXR7zYNGupXMEHa2++G8k+DczX2cFVgalypqtyZIcU19AFcmOpmg==",
"dev": true
},
"node_modules/@types/json-stable-stringify": {
@@ -2428,15 +2475,27 @@
"integrity": "sha512-qEWiQff6q2tA5gcJGWwzplQcXdJtm+0oy6IHGHzlOf3eFAkGE/FIPXZK9ofWgNSHVp8AFFI33PJJshS0ei3Gvw==",
"dev": true
},
+ "node_modules/@types/lodash": {
+ "version": "4.14.171",
+ "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.171.tgz",
+ "integrity": "sha512-7eQ2xYLLI/LsicL2nejW9Wyko3lcpN6O/z0ZLHrEQsg280zIdCv1t/0m6UtBjUHokCGBQ3gYTbHzDkZ1xOBwwg==",
+ "dev": true
+ },
"node_modules/@types/long": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.1.tgz",
"integrity": "sha512-5tXH6Bx/kNGd3MgffdmP4dy2Z+G4eaXw0SE81Tq3BNadtnMR5/ySMzX4SLEzHJzSmPNn4HIdpQsBvXMUykr58w=="
},
"node_modules/@types/node": {
- "version": "14.17.9",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-14.17.9.tgz",
- "integrity": "sha512-CMjgRNsks27IDwI785YMY0KLt3co/c0cQ5foxHYv/shC2w8oOnVwz5Ubq1QG5KzrcW+AXk6gzdnxIkDnTvzu3g=="
+ "version": "14.17.5",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-14.17.5.tgz",
+ "integrity": "sha512-bjqH2cX/O33jXT/UmReo2pM7DIJREPMnarixbQ57DOOzzFaI6D2+IcwaJQaJpv0M1E9TIhPCYVxrkcityLjlqA=="
+ },
+ "node_modules/@types/parse-json": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz",
+ "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==",
+ "dev": true
},
"node_modules/@types/prop-types": {
"version": "15.7.4",
@@ -2444,9 +2503,9 @@
"integrity": "sha512-rZ5drC/jWjrArrS8BR6SIr4cWpW09RNTYt9AMZo3Jwwif+iacXAqgVjm0B0Bv/S1jhDXKHqRVNCbACkJ89RAnQ=="
},
"node_modules/@types/react": {
- "version": "17.0.17",
- "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.17.tgz",
- "integrity": "sha512-nrfi7I13cAmrd0wje8czYpf5SFbryczCtPzFc6ijqvdjKcyA3tCvGxwchOUlxb2ucBPuJ9Y3oUqKrRqZvrz0lw==",
+ "version": "17.0.14",
+ "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.14.tgz",
+ "integrity": "sha512-0WwKHUbWuQWOce61UexYuWTGuGY/8JvtUe/dtQ6lR4sZ3UiylHotJeWpf3ArP9+DSGUoLY3wbU59VyMrJps5VQ==",
"dependencies": {
"@types/prop-types": "*",
"@types/scheduler": "*",
@@ -2459,14 +2518,14 @@
"integrity": "sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew=="
},
"node_modules/@vue/compiler-core": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.2.2.tgz",
- "integrity": "sha512-QhCI0ZU5nAR0LMcLgzW3v75374tIrHGp8XG5CzJS7Nsy+iuignbE4MZ2XJfh5TGIrtpuzfWA4eTIfukZf/cRdg==",
+ "version": "3.1.4",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.1.4.tgz",
+ "integrity": "sha512-TnUz+1z0y74O/A4YKAbzsdUfamyHV73MihrEfvettWpm9bQKVoZd1nEmR1cGN9LsXWlwAvVQBetBlWdOjmQO5Q==",
"dev": true,
"dependencies": {
"@babel/parser": "^7.12.0",
"@babel/types": "^7.12.0",
- "@vue/shared": "3.2.2",
+ "@vue/shared": "3.1.4",
"estree-walker": "^2.0.1",
"source-map": "^0.6.1"
}
@@ -2481,28 +2540,28 @@
}
},
"node_modules/@vue/compiler-dom": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.2.2.tgz",
- "integrity": "sha512-ggcc+NV/ENIE0Uc3TxVE/sKrhYVpLepMAAmEiQ047332mbKOvUkowz4TTFZ+YkgOIuBOPP0XpCxmCMg7p874mA==",
+ "version": "3.1.4",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.1.4.tgz",
+ "integrity": "sha512-3tG2ScHkghhUBuFwl9KgyZhrS8CPFZsO7hUDekJgIp5b1OMkROr4AvxHu6rRMl4WkyvYkvidFNBS2VfOnwa6Kw==",
"dev": true,
"dependencies": {
- "@vue/compiler-core": "3.2.2",
- "@vue/shared": "3.2.2"
+ "@vue/compiler-core": "3.1.4",
+ "@vue/shared": "3.1.4"
}
},
"node_modules/@vue/compiler-sfc": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.2.2.tgz",
- "integrity": "sha512-hrtqpQ5L6IPn5v7yVRo7uvLcQxv0z1+KBjZBWMBOcrXz4t+PKUxU/SWd6Tl9T8FDmYlunzKUh6lcx+2CLo6f5A==",
+ "version": "3.1.4",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.1.4.tgz",
+ "integrity": "sha512-4KDQg60Khy3SgnF+V/TB2NZqzmM4TyGRmzsxqG1SebGdMSecCweFDSlI/F1vDYk6dKiCHgmpoT9A1sLxswkJ0A==",
"dev": true,
"dependencies": {
"@babel/parser": "^7.13.9",
"@babel/types": "^7.13.0",
"@types/estree": "^0.0.48",
- "@vue/compiler-core": "3.2.2",
- "@vue/compiler-dom": "3.2.2",
- "@vue/compiler-ssr": "3.2.2",
- "@vue/shared": "3.2.2",
+ "@vue/compiler-core": "3.1.4",
+ "@vue/compiler-dom": "3.1.4",
+ "@vue/compiler-ssr": "3.1.4",
+ "@vue/shared": "3.1.4",
"consolidate": "^0.16.0",
"estree-walker": "^2.0.1",
"hash-sum": "^2.0.0",
@@ -2513,14 +2572,11 @@
"postcss-modules": "^4.0.0",
"postcss-selector-parser": "^6.0.4",
"source-map": "^0.6.1"
+ },
+ "peerDependencies": {
+ "vue": "3.1.4"
}
},
- "node_modules/@vue/compiler-sfc/node_modules/@types/estree": {
- "version": "0.0.48",
- "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.48.tgz",
- "integrity": "sha512-LfZwXoGUDo0C3me81HXgkBg5CTQYb6xzEl+fNmbO4JdRiSKQ8A0GD1OBBvKAIsbCUgoyAty7m99GqqMQe784ew==",
- "dev": true
- },
"node_modules/@vue/compiler-sfc/node_modules/source-map": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
@@ -2531,19 +2587,59 @@
}
},
"node_modules/@vue/compiler-ssr": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.2.2.tgz",
- "integrity": "sha512-rVl1agMFhdEN3Go0bCriXo+3cysxKIuRP0yh1Wd8ysRrKfAmokyDhUA8PrGSq2Ymj/LdZTh+4OKfj3p2+C+hlA==",
+ "version": "3.1.4",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.1.4.tgz",
+ "integrity": "sha512-Box8fCuCFPp0FuimIswjDkjwiSDCBkHvt/xVALyFkYCiIMWv2eR53fIjmlsnEHhcBuZ+VgRC+UanCTcKvSA1gA==",
"dev": true,
"dependencies": {
- "@vue/compiler-dom": "3.2.2",
- "@vue/shared": "3.2.2"
+ "@vue/compiler-dom": "3.1.4",
+ "@vue/shared": "3.1.4"
}
},
+ "node_modules/@vue/reactivity": {
+ "version": "3.1.4",
+ "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.1.4.tgz",
+ "integrity": "sha512-YDlgii2Cr9yAoKVZFzgY4j0mYlVT73986X3e5SPp6ifqckSEoFSUWXZK2Tb53TB/9qO29BEEbspnKD3m3wAwkA==",
+ "dev": true,
+ "peer": true,
+ "dependencies": {
+ "@vue/shared": "3.1.4"
+ }
+ },
+ "node_modules/@vue/runtime-core": {
+ "version": "3.1.4",
+ "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.1.4.tgz",
+ "integrity": "sha512-qmVJgJuFxfT7M4qHQ4M6KqhKC66fjuswK+aBivE8dWiZ2rtIGl9gtJGpwqwjQEcKEBTOfvvrtrwBncYArJUO8Q==",
+ "dev": true,
+ "peer": true,
+ "dependencies": {
+ "@vue/reactivity": "3.1.4",
+ "@vue/shared": "3.1.4"
+ }
+ },
+ "node_modules/@vue/runtime-dom": {
+ "version": "3.1.4",
+ "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.1.4.tgz",
+ "integrity": "sha512-vbmwgTxku1BU87Kw7r29adv0OIrDXCW0PslOPQT0O/9R5SqcXgS94Yj6zsztDjvghegenwIAPNLlDR1Auh5s+w==",
+ "dev": true,
+ "peer": true,
+ "dependencies": {
+ "@vue/runtime-core": "3.1.4",
+ "@vue/shared": "3.1.4",
+ "csstype": "^2.6.8"
+ }
+ },
+ "node_modules/@vue/runtime-dom/node_modules/csstype": {
+ "version": "2.6.17",
+ "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.17.tgz",
+ "integrity": "sha512-u1wmTI1jJGzCJzWndZo8mk4wnPTZd1eOIYTYvuEyOQGfmDl3TrabCCfKnOC86FZwW/9djqTl933UF/cS425i9A==",
+ "dev": true,
+ "peer": true
+ },
"node_modules/@vue/shared": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.2.tgz",
- "integrity": "sha512-dvYb318tk9uOzHtSaT3WII/HscQSIRzoCZ5GyxEb3JlkEXASpAUAQwKnvSe2CudnF8XHFRTB7VITWSnWNLZUtA==",
+ "version": "3.1.4",
+ "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.1.4.tgz",
+ "integrity": "sha512-6O45kZAmkLvzGLToBxEz4lR2W6kXohCtebV2UxjH9GXjd8X9AhEn68FN9eNanFtWNzvgw1hqd6HkPRVQalqf7Q==",
"dev": true
},
"node_modules/@webassemblyjs/ast": {
@@ -2752,15 +2848,6 @@
"node": ">=0.4.0"
}
},
- "node_modules/acorn-import-assertions": {
- "version": "1.7.6",
- "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.7.6.tgz",
- "integrity": "sha512-FlVvVFA1TX6l3lp8VjDnYYq7R1nyW6x3svAt4nDgrWQ9SBaSh9CnbwgSUTasgfNfOG5HlM1ehugCvM+hjo56LA==",
- "dev": true,
- "peerDependencies": {
- "acorn": "^8"
- }
- },
"node_modules/ajv": {
"version": "6.12.6",
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
@@ -2881,20 +2968,20 @@
}
},
"node_modules/babel-plugin-formatjs": {
- "version": "10.3.4",
- "resolved": "https://registry.npmjs.org/babel-plugin-formatjs/-/babel-plugin-formatjs-10.3.4.tgz",
- "integrity": "sha512-LKclx8R1pexzdl1PMx1G4+l7u59V7psxSc098vS0E7BQtMLah6gfwy4Tbzy51kIjAJMuhcpC4orKZQGT9GQp/Q==",
+ "version": "10.3.2",
+ "resolved": "https://registry.npmjs.org/babel-plugin-formatjs/-/babel-plugin-formatjs-10.3.2.tgz",
+ "integrity": "sha512-u1A6/PpwGD4xb3X+egEb6BQ2QbumHFgJYduGCxMiRhONfEsVeD2SdvDlOsS1CWOr/03SFIB/U5j+QbUM1lh7sw==",
"dev": true,
"dependencies": {
- "@babel/core": "^7.10.4",
- "@babel/helper-plugin-utils": "^7.10.4",
+ "@babel/core": "^7.9.0",
+ "@babel/helper-plugin-utils": "^7.8.3",
"@babel/plugin-syntax-jsx": "7",
"@babel/traverse": "7",
- "@babel/types": "^7.12.11",
- "@formatjs/icu-messageformat-parser": "2.0.9",
- "@formatjs/ts-transformer": "3.4.7",
+ "@babel/types": "^7.9.5",
+ "@formatjs/icu-messageformat-parser": "2.0.7",
+ "@formatjs/ts-transformer": "3.4.5",
"@types/babel__core": "^7.1.7",
- "@types/babel__helper-plugin-utils": "^7.10.0",
+ "@types/babel__helper-plugin-utils": "7",
"tslib": "^2.1.0"
}
},
@@ -2913,9 +3000,9 @@
}
},
"node_modules/babel-plugin-polyfill-corejs3": {
- "version": "0.2.4",
- "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.2.4.tgz",
- "integrity": "sha512-z3HnJE5TY/j4EFEa/qpQMSbcUJZ5JQi+3UFjXzn6pQCmIKc5Ug5j98SuYyH+m4xQnvKlMDIW4plLfgyVnd0IcQ==",
+ "version": "0.2.3",
+ "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.2.3.tgz",
+ "integrity": "sha512-rCOFzEIJpJEAU14XCcV/erIf/wZQMmMT5l5vXOpL5uoznyOGfDIjPj6FVytMvtzaKSTSVKouOCTPJ5OMUZH30g==",
"dev": true,
"dependencies": {
"@babel/helper-define-polyfill-provider": "^0.2.2",
@@ -2996,16 +3083,16 @@
}
},
"node_modules/browserslist": {
- "version": "4.16.7",
- "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.7.tgz",
- "integrity": "sha512-7I4qVwqZltJ7j37wObBe3SoTz+nS8APaNcrBOlgoirb6/HbEU2XxW/LpUDTCngM6iauwFqmRTuOMfyKnFGY5JA==",
+ "version": "4.16.6",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.6.tgz",
+ "integrity": "sha512-Wspk/PqO+4W9qp5iUTJsa1B/QrYn1keNCcEP5OvP7WBwT4KaDly0uONYmC6Xa3Z5IqnUgS0KcgLYu1l74x0ZXQ==",
"dev": true,
"dependencies": {
- "caniuse-lite": "^1.0.30001248",
+ "caniuse-lite": "^1.0.30001219",
"colorette": "^1.2.2",
- "electron-to-chromium": "^1.3.793",
+ "electron-to-chromium": "^1.3.723",
"escalade": "^3.1.1",
- "node-releases": "^1.1.73"
+ "node-releases": "^1.1.71"
},
"bin": {
"browserslist": "cli.js"
@@ -3019,9 +3106,9 @@
}
},
"node_modules/buffer-from": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
- "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==",
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz",
+ "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==",
"dev": true
},
"node_modules/call-bind": {
@@ -3037,6 +3124,15 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/callsites": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
+ "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
"node_modules/caniuse-api": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz",
@@ -3050,9 +3146,9 @@
}
},
"node_modules/caniuse-lite": {
- "version": "1.0.30001251",
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001251.tgz",
- "integrity": "sha512-HOe1r+9VkU4TFmnU70z+r7OLmtR+/chB1rdcJUeQlAinjEeb0cKL20tlAtOagNZhbrtLnCvV19B4FmF1rgzl6A==",
+ "version": "1.0.30001243",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001243.tgz",
+ "integrity": "sha512-vNxw9mkTBtkmLFnJRv/2rhs1yufpDfCkBZexG3Y0xdOH2Z/eE/85E4Dl5j1YUN34nZVsSp6vVRFQRrez9wJMRA==",
"dev": true,
"funding": {
"type": "opencollective",
@@ -3155,21 +3251,21 @@
"dev": true
},
"node_modules/colord": {
- "version": "2.7.0",
- "resolved": "https://registry.npmjs.org/colord/-/colord-2.7.0.tgz",
- "integrity": "sha512-pZJBqsHz+pYyw3zpX6ZRXWoCHM1/cvFikY9TV8G3zcejCaKE0lhankoj8iScyrrePA8C7yJ5FStfA9zbcOnw7Q==",
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/colord/-/colord-2.1.0.tgz",
+ "integrity": "sha512-H5sDP9XDk2uP+x/xSGkgB9SEFc1bojdI5DMKU0jmSXQtml2GIe48dj1DcSS0e53QQAHn+JKqUXbGeGX24xWD7w==",
"dev": true
},
"node_modules/colorette": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.3.0.tgz",
- "integrity": "sha512-ecORCqbSFP7Wm8Y6lyqMJjexBQqXSF7SSeaTyGGphogUjBlFP9m9o08wy86HL2uB7fMTxtOUzLMk7ogKcxMg1w==",
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.2.tgz",
+ "integrity": "sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==",
"dev": true
},
"node_modules/commander": {
- "version": "8.1.0",
- "resolved": "https://registry.npmjs.org/commander/-/commander-8.1.0.tgz",
- "integrity": "sha512-mf45ldcuHSYShkplHHGKWb4TrmwQadxOn7v4WuhDJy0ZVoY5JFajaRDKD0PNe5qXzBX0rhovjTnP6Kz9LETcuA==",
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-8.0.0.tgz",
+ "integrity": "sha512-Xvf85aAtu6v22+E5hfVoLHqyul/jyxh91zvqk/ioJTQuJR7Z78n7H558vMPKanPSRgIEeZemT92I2g9Y8LPbSQ==",
"dev": true,
"engines": {
"node": ">= 12"
@@ -3234,12 +3330,12 @@
}
},
"node_modules/copy-webpack-plugin/node_modules/schema-utils": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz",
- "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==",
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.0.tgz",
+ "integrity": "sha512-tTEaeYkyIhEZ9uWgAjDerWov3T9MgX8dhhy2r0IGeeX4W8ngtGl1++dUve/RUqzuaASSh7shwCDJjEzthxki8w==",
"dev": true,
"dependencies": {
- "@types/json-schema": "^7.0.8",
+ "@types/json-schema": "^7.0.7",
"ajv": "^6.12.5",
"ajv-keywords": "^3.5.2"
},
@@ -3262,12 +3358,12 @@
}
},
"node_modules/core-js-compat": {
- "version": "3.16.1",
- "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.16.1.tgz",
- "integrity": "sha512-NHXQXvRbd4nxp9TEmooTJLUf94ySUG6+DSsscBpTftN1lQLQ4LjnWvc7AoIo4UjDsFF3hB8Uh5LLCRRdaiT5MQ==",
+ "version": "3.15.2",
+ "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.15.2.tgz",
+ "integrity": "sha512-Wp+BJVvwopjI+A1EFqm2dwUmWYXrvucmtIB2LgXn/Rb+gWPKYxtmb4GKHGKG/KGF1eK9jfjzT38DITbTOCX/SQ==",
"dev": true,
"dependencies": {
- "browserslist": "^4.16.7",
+ "browserslist": "^4.16.6",
"semver": "7.0.0"
},
"funding": {
@@ -3284,6 +3380,22 @@
"semver": "bin/semver.js"
}
},
+ "node_modules/cosmiconfig": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.0.tgz",
+ "integrity": "sha512-pondGvTuVYDk++upghXJabWzL6Kxu6f26ljFw64Swq9v6sQPUL3EUlVDV56diOjpCayKihL6hVe8exIACU4XcA==",
+ "dev": true,
+ "dependencies": {
+ "@types/parse-json": "^4.0.0",
+ "import-fresh": "^3.2.1",
+ "parse-json": "^5.0.0",
+ "path-type": "^4.0.0",
+ "yaml": "^1.10.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
"node_modules/cross-spawn": {
"version": "7.0.3",
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
@@ -3308,9 +3420,9 @@
}
},
"node_modules/css-declaration-sorter": {
- "version": "6.1.1",
- "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.1.1.tgz",
- "integrity": "sha512-BZ1aOuif2Sb7tQYY1GeCjG7F++8ggnwUkH5Ictw0mrdpqpEd+zWmcPdstnH2TItlb74FqR0DrVEieon221T/1Q==",
+ "version": "6.0.3",
+ "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.0.3.tgz",
+ "integrity": "sha512-52P95mvW1SMzuRZegvpluT6yEv0FqQusydKQPZsNN5Q7hh8EwQvN8E2nwuJ16BBvNN6LcoIZXu/Bk58DAhrrxw==",
"dev": true,
"dependencies": {
"timsort": "^0.3.0"
@@ -3385,15 +3497,14 @@
}
},
"node_modules/cssnano": {
- "version": "5.0.7",
- "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.0.7.tgz",
- "integrity": "sha512-7C0tbb298hef3rq+TtBbMuezBQ9VrFtrQEsPNuBKNVgWny/67vdRsnq8EoNu7TRjAHURgYvWlRIpCUmcMZkRzw==",
+ "version": "5.0.6",
+ "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.0.6.tgz",
+ "integrity": "sha512-NiaLH/7yqGksFGsFNvSRe2IV/qmEBAeDE64dYeD8OBrgp6lE8YoMeQJMtsv5ijo6MPyhuoOvFhI94reahBRDkw==",
"dev": true,
"dependencies": {
+ "cosmiconfig": "^7.0.0",
"cssnano-preset-default": "^5.1.3",
- "is-resolvable": "^1.1.0",
- "lilconfig": "^2.0.3",
- "yaml": "^1.10.2"
+ "is-resolvable": "^1.1.0"
},
"engines": {
"node": "^10 || ^12 || >=14.0"
@@ -3604,9 +3715,9 @@
}
},
"node_modules/electron-to-chromium": {
- "version": "1.3.805",
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.805.tgz",
- "integrity": "sha512-uUJF59M6pNSRHQaXwdkaNB4BhSQ9lldRdG1qCjlrAFkynPGDc5wPoUcYEQQeQGmKyAWJPvGkYAWmtVrxWmDAkg==",
+ "version": "1.3.772",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.772.tgz",
+ "integrity": "sha512-X/6VRCXWALzdX+RjCtBU6cyg8WZgoxm9YA02COmDOiNJEZ59WkQggDbWZ4t/giHi/3GS+cvdrP6gbLISANAGYA==",
"dev": true
},
"node_modules/emoji-regex": {
@@ -3657,6 +3768,15 @@
"node": ">=4"
}
},
+ "node_modules/error-ex": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
+ "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
+ "dev": true,
+ "dependencies": {
+ "is-arrayish": "^0.2.1"
+ }
+ },
"node_modules/es-module-lexer": {
"version": "0.7.1",
"resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.7.1.tgz",
@@ -3879,42 +3999,43 @@
}
},
"node_modules/firebase": {
- "version": "8.9.1",
- "resolved": "https://registry.npmjs.org/firebase/-/firebase-8.9.1.tgz",
- "integrity": "sha512-4aKRynB0LSWneYTPwWlAUbcJbgSS11lZRIo9MLNQh1uCo9BxRIYq/r3CCDJOx59tI2nwyv4RXf7hdkgSTF5FYw==",
+ "version": "8.7.1",
+ "resolved": "https://registry.npmjs.org/firebase/-/firebase-8.7.1.tgz",
+ "integrity": "sha512-OM+pUxIAqd5+XQMGux8InhhWmHDqlzQij67ljomMNblrxGiFOh8bMe+DGU9r8dh7CDaBYNtT6L0KR859BqhkDQ==",
"dependencies": {
- "@firebase/analytics": "0.6.17",
- "@firebase/app": "0.6.29",
- "@firebase/app-check": "0.3.1",
- "@firebase/app-types": "0.6.3",
+ "@firebase/analytics": "0.6.14",
+ "@firebase/app": "0.6.28",
+ "@firebase/app-check": "0.2.0",
+ "@firebase/app-types": "0.6.2",
"@firebase/auth": "0.16.8",
- "@firebase/database": "0.10.9",
- "@firebase/firestore": "2.3.10",
- "@firebase/functions": "0.6.14",
- "@firebase/installations": "0.4.31",
- "@firebase/messaging": "0.7.15",
- "@firebase/performance": "0.4.17",
+ "@firebase/database": "0.10.7",
+ "@firebase/firestore": "2.3.8",
+ "@firebase/functions": "0.6.13",
+ "@firebase/installations": "0.4.30",
+ "@firebase/messaging": "0.7.14",
+ "@firebase/performance": "0.4.16",
"@firebase/polyfill": "0.3.36",
- "@firebase/remote-config": "0.1.42",
- "@firebase/storage": "0.6.2",
- "@firebase/util": "1.2.0"
+ "@firebase/remote-config": "0.1.41",
+ "@firebase/storage": "0.5.6",
+ "@firebase/util": "1.1.0"
},
"engines": {
"node": "^8.13.0 || >=10.10.0"
}
},
"node_modules/fs-extra": {
- "version": "10.0.0",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.0.tgz",
- "integrity": "sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ==",
+ "version": "9.1.0",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz",
+ "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==",
"dev": true,
"dependencies": {
+ "at-least-node": "^1.0.0",
"graceful-fs": "^4.2.0",
"jsonfile": "^6.0.1",
"universalify": "^2.0.0"
},
"engines": {
- "node": ">=12"
+ "node": ">=10"
}
},
"node_modules/fs.realpath": {
@@ -4028,9 +4149,9 @@
}
},
"node_modules/glob-parent": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.1.tgz",
- "integrity": "sha512-kEVjS71mQazDBHKcsq4E9u/vUzaLcw1A8EtUeydawvIWQCJM0qQ08G1H7/XTjFUulla6XQiDOG6MXSaG0HDKog==",
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.0.tgz",
+ "integrity": "sha512-Hdd4287VEJcZXUwv1l8a+vXC1GjOQqXe+VS30w/ypihpcnu9M1n3xeYeJu5CBpeEQj2nAab2xxz28GuA3vp4Ww==",
"dev": true,
"dependencies": {
"is-glob": "^4.0.1"
@@ -4075,9 +4196,9 @@
}
},
"node_modules/graceful-fs": {
- "version": "4.2.8",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.8.tgz",
- "integrity": "sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==",
+ "version": "4.2.6",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz",
+ "integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==",
"dev": true
},
"node_modules/has": {
@@ -4203,6 +4324,22 @@
"node": ">=8"
}
},
+ "node_modules/import-fresh": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
+ "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==",
+ "dev": true,
+ "dependencies": {
+ "parent-module": "^1.0.0",
+ "resolve-from": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/import-from": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/import-from/-/import-from-3.0.0.tgz",
@@ -4215,6 +4352,15 @@
"node": ">=8"
}
},
+ "node_modules/import-from/node_modules/resolve-from": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
+ "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/import-local": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/import-local/-/import-local-3.0.2.tgz",
@@ -4257,12 +4403,12 @@
}
},
"node_modules/intl-messageformat": {
- "version": "9.8.2",
- "resolved": "https://registry.npmjs.org/intl-messageformat/-/intl-messageformat-9.8.2.tgz",
- "integrity": "sha512-Qjefia3jFUML9XWRl0G3VAeiMUX7GiWvKcY9EQZJCkX8eLbe1HvLOPQvMQ5UlQLrnis1qk1BcQqbpPPvWnM2iw==",
+ "version": "9.7.1",
+ "resolved": "https://registry.npmjs.org/intl-messageformat/-/intl-messageformat-9.7.1.tgz",
+ "integrity": "sha512-DNiuD+/59G9qaYu3U0KgwCV0zpN9XRoUvc8izSNCNAA5MknhiIUONFE0WtScP+E/7JfoENu+CX57P/SURRbI0A==",
"dependencies": {
- "@formatjs/fast-memoize": "1.1.2",
- "@formatjs/icu-messageformat-parser": "2.0.9",
+ "@formatjs/fast-memoize": "1.1.1",
+ "@formatjs/icu-messageformat-parser": "2.0.7",
"tslib": "^2.1.0"
}
},
@@ -4275,6 +4421,12 @@
"node": ">=8"
}
},
+ "node_modules/is-arrayish": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
+ "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=",
+ "dev": true
+ },
"node_modules/is-binary-path": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
@@ -4311,9 +4463,9 @@
}
},
"node_modules/is-core-module": {
- "version": "2.5.0",
- "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.5.0.tgz",
- "integrity": "sha512-TXCMSDsEHMEEZ6eCA8rwRDbLu55MRGmrctljsBX/2v1d9/GzqHOxW5c5oPSgrUt2vBFXebu9rGqckXGPWOlYpg==",
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.4.0.tgz",
+ "integrity": "sha512-6A2fkfq1rfeQZjxrZJGerpLCTHRNEBiSgnu0+obeJpEPZRUooHgsizvzv0ZjJwOz3iWIHdJtVWJ/tmPr3D21/A==",
"dev": true,
"dependencies": {
"has": "^1.0.3"
@@ -4379,15 +4531,12 @@
"dev": true
},
"node_modules/is-stream": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz",
- "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz",
+ "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==",
"dev": true,
"engines": {
"node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/isexe": {
@@ -4466,6 +4615,12 @@
"integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==",
"dev": true
},
+ "node_modules/json-parse-even-better-errors": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
+ "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==",
+ "dev": true
+ },
"node_modules/json-schema-traverse": {
"version": "0.4.1",
"resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
@@ -4535,6 +4690,12 @@
"node": ">=10"
}
},
+ "node_modules/lines-and-columns": {
+ "version": "1.1.6",
+ "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz",
+ "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=",
+ "dev": true
+ },
"node_modules/loader-runner": {
"version": "4.2.0",
"resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.2.0.tgz",
@@ -4582,6 +4743,12 @@
"node": ">=8"
}
},
+ "node_modules/lodash": {
+ "version": "4.17.21",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
+ "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
+ "dev": true
+ },
"node_modules/lodash.camelcase": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz",
@@ -4750,21 +4917,21 @@
}
},
"node_modules/mime-db": {
- "version": "1.49.0",
- "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.49.0.tgz",
- "integrity": "sha512-CIc8j9URtOVApSFCQIF+VBkX1RwXp/oMMOrqdyXSBXq5RWNEsRfyj1kiRnQgmNXmHxPoFIxOroKA3zcU9P+nAA==",
+ "version": "1.48.0",
+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.48.0.tgz",
+ "integrity": "sha512-FM3QwxV+TnZYQ2aRqhlKBMHxk10lTbMt3bBkMAp54ddrNeVSfcQYOOKuGuy3Ddrm38I04If834fOUSq1yzslJQ==",
"dev": true,
"engines": {
"node": ">= 0.6"
}
},
"node_modules/mime-types": {
- "version": "2.1.32",
- "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.32.tgz",
- "integrity": "sha512-hJGaVS4G4c9TSMYh2n6SQAGrC4RnfU+daP8G7cSCmaqNjiOoUY0VHCMS42pxnQmVF1GWwFhbHWn3RIxCqTmZ9A==",
+ "version": "2.1.31",
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.31.tgz",
+ "integrity": "sha512-XGZnNzm3QvgKxa8dpzyhFTHmpP3l5YNusmne07VUOXxou9CqUqYa/HBy124RqtVh/O2pECas/MOcsDgpilPOPg==",
"dev": true,
"dependencies": {
- "mime-db": "1.49.0"
+ "mime-db": "1.48.0"
},
"engines": {
"node": ">= 0.6"
@@ -4816,9 +4983,9 @@
"dev": true
},
"node_modules/nanoid": {
- "version": "3.1.25",
- "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.25.tgz",
- "integrity": "sha512-rdwtIXaXCLFAQbnfqDRnI6jaRHp9fTcYBjtFKE8eezcZ7LuLjhUaQGNeMXf1HmRoCH32CLz6XwX0TtxEOS/A3Q==",
+ "version": "3.1.23",
+ "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.23.tgz",
+ "integrity": "sha512-FiB0kzdP0FFVGDKlRLEQ1BgDzU87dy5NnzjeW9YZNt+/c3+q82EQDUwniSAUxp/F0gFNI1ZhKU1FqYsMuqZVnw==",
"dev": true,
"bin": {
"nanoid": "bin/nanoid.cjs"
@@ -4842,9 +5009,9 @@
}
},
"node_modules/node-releases": {
- "version": "1.1.74",
- "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.74.tgz",
- "integrity": "sha512-caJBVempXZPepZoZAPCWRTNxYQ+xtG/KAi4ozTA5A+nJ7IU+kLQCbqaUjb5Rwy14M9upBWiQ4NutcmW04LJSRw==",
+ "version": "1.1.73",
+ "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.73.tgz",
+ "integrity": "sha512-uW7fodD6pyW2FZNZnp/Z3hvWKeEW1Y8R1+1CnErE8cXFXzl5blBOoVB41CvMer6P6Q0S5FXDwcHgFd1Wj0U9zg==",
"dev": true
},
"node_modules/normalize-path": {
@@ -5002,6 +5169,36 @@
"node": ">=6"
}
},
+ "node_modules/parent-module": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
+ "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
+ "dev": true,
+ "dependencies": {
+ "callsites": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/parse-json": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz",
+ "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==",
+ "dev": true,
+ "dependencies": {
+ "@babel/code-frame": "^7.0.0",
+ "error-ex": "^1.3.1",
+ "json-parse-even-better-errors": "^2.3.0",
+ "lines-and-columns": "^1.1.6"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/path-exists": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
@@ -5078,9 +5275,9 @@
}
},
"node_modules/postcss": {
- "version": "8.3.6",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.3.6.tgz",
- "integrity": "sha512-wG1cc/JhRgdqB6WHEuyLTedf3KIRuD0hG6ldkFEZNCjRxiC+3i6kkWUUbiJQayP28iwG35cEmAbe98585BYV0A==",
+ "version": "8.3.5",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.3.5.tgz",
+ "integrity": "sha512-NxTuJocUhYGsMiMFHDUkmjSKT3EdH4/WbGF6GCi1NDGk+vbcUTun4fpbOqaPtD8IIsztA2ilZm2DhYCuyN58gA==",
"dev": true,
"dependencies": {
"colorette": "^1.2.2",
@@ -5153,9 +5350,9 @@
}
},
"node_modules/postcss-cli/node_modules/chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz",
+ "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==",
"dev": true,
"dependencies": {
"ansi-styles": "^4.1.0",
@@ -5186,21 +5383,6 @@
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
"dev": true
},
- "node_modules/postcss-cli/node_modules/fs-extra": {
- "version": "9.1.0",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz",
- "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==",
- "dev": true,
- "dependencies": {
- "at-least-node": "^1.0.0",
- "graceful-fs": "^4.2.0",
- "jsonfile": "^6.0.1",
- "universalify": "^2.0.0"
- },
- "engines": {
- "node": ">=10"
- }
- },
"node_modules/postcss-cli/node_modules/has-flag": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
@@ -5433,9 +5615,9 @@
}
},
"node_modules/postcss-modules": {
- "version": "4.2.2",
- "resolved": "https://registry.npmjs.org/postcss-modules/-/postcss-modules-4.2.2.tgz",
- "integrity": "sha512-/H08MGEmaalv/OU8j6bUKi/kZr2kqGF6huAW8m9UAgOLWtpFdhA14+gPBoymtqyv+D4MLsmqaF2zvIegdCxJXg==",
+ "version": "4.1.3",
+ "resolved": "https://registry.npmjs.org/postcss-modules/-/postcss-modules-4.1.3.tgz",
+ "integrity": "sha512-dBT39hrXe4OAVYJe/2ZuIZ9BzYhOe7t+IhedYeQ2OxKwDpAGlkEN/fR0fGnrbx4BvgbMReRX4hCubYK9cE/pJQ==",
"dev": true,
"dependencies": {
"generic-names": "^2.0.1",
@@ -5875,17 +6057,18 @@
}
},
"node_modules/react-intl": {
- "version": "5.20.7",
- "resolved": "https://registry.npmjs.org/react-intl/-/react-intl-5.20.7.tgz",
- "integrity": "sha512-SnNNua7JS6ZM+AafvlgNKT/w7DjQqXFRG3ne3+dWuA+RBKfVYwk3XmGa10muFFruA+B5+o9LJ51XEKYq6zn81Q==",
+ "version": "5.20.4",
+ "resolved": "https://registry.npmjs.org/react-intl/-/react-intl-5.20.4.tgz",
+ "integrity": "sha512-lYUL8hWkRHbpVtedGSjpQ1kK/x2AAGZHGgOHsU0SFDufHo2aS7xdvRcaxXD3PMVDuh53KcU+vTaun+bcrwKpbA==",
"dependencies": {
- "@formatjs/intl": "1.13.5",
- "@formatjs/intl-displaynames": "5.2.1",
- "@formatjs/intl-listformat": "6.3.1",
+ "@formatjs/ecma402-abstract": "1.9.4",
+ "@formatjs/icu-messageformat-parser": "2.0.7",
+ "@formatjs/intl": "1.13.2",
+ "@formatjs/intl-displaynames": "5.1.6",
+ "@formatjs/intl-listformat": "6.2.6",
"@types/hoist-non-react-statics": "^3.3.1",
- "@types/react": "17",
"hoist-non-react-statics": "^3.3.2",
- "intl-messageformat": "9.8.2",
+ "intl-messageformat": "9.7.1",
"tslib": "^2.1.0"
},
"peerDependencies": {
@@ -5925,9 +6108,9 @@
}
},
"node_modules/rechoir": {
- "version": "0.7.1",
- "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.7.1.tgz",
- "integrity": "sha512-/njmZ8s1wVeR6pjTZ+0nCnv8SpZNRMT2D1RLOJQESlYFDBvwpTA4KWJpZ+sBJ4+vhjILRcK7JIFdGCdxEAAitg==",
+ "version": "0.7.0",
+ "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.7.0.tgz",
+ "integrity": "sha512-ADsDEH2bvbjltXEP+hTIAmeFekTFK0V2BTxMkok6qILyAJEXV0AFfoWcAq4yfll5VdIMd/RVXq0lR+wQi5ZU3Q==",
"dev": true,
"dependencies": {
"resolve": "^1.9.0"
@@ -5955,9 +6138,9 @@
}
},
"node_modules/regenerator-runtime": {
- "version": "0.13.9",
- "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz",
- "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==",
+ "version": "0.13.7",
+ "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz",
+ "integrity": "sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew==",
"dev": true
},
"node_modules/regenerator-transform": {
@@ -6046,7 +6229,7 @@
"node": ">=8"
}
},
- "node_modules/resolve-from": {
+ "node_modules/resolve-cwd/node_modules/resolve-from": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
"integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
@@ -6055,6 +6238,15 @@
"node": ">=8"
}
},
+ "node_modules/resolve-from": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
+ "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
+ "dev": true,
+ "engines": {
+ "node": ">=4"
+ }
+ },
"node_modules/reusify": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
@@ -6198,6 +6390,12 @@
"node": ">=8"
}
},
+ "node_modules/source-list-map": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz",
+ "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==",
+ "dev": true
+ },
"node_modules/source-map": {
"version": "0.5.7",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
@@ -6315,13 +6513,13 @@
}
},
"node_modules/svgo": {
- "version": "2.4.0",
- "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.4.0.tgz",
- "integrity": "sha512-W25S1UUm9Lm9VnE0TvCzL7aso/NCzDEaXLaElCUO/KaVitw0+IBicSVfM1L1c0YHK5TOFh73yQ2naCpVHEQ/OQ==",
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.3.1.tgz",
+ "integrity": "sha512-riDDIQgXpEnn0BEl9Gvhh1LNLIyiusSpt64IR8upJu7MwxnzetmF/Y57pXQD2NMX2lVyMRzXt5f2M5rO4wG7Dw==",
"dev": true,
"dependencies": {
"@trysound/sax": "0.1.1",
- "colorette": "^1.2.2",
+ "chalk": "^4.1.0",
"commander": "^7.1.0",
"css-select": "^4.1.3",
"css-tree": "^1.1.2",
@@ -6335,6 +6533,55 @@
"node": ">=10.13.0"
}
},
+ "node_modules/svgo/node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dev": true,
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/svgo/node_modules/chalk": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz",
+ "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==",
+ "dev": true,
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "node_modules/svgo/node_modules/color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/svgo/node_modules/color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ },
"node_modules/svgo/node_modules/commander": {
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz",
@@ -6344,6 +6591,27 @@
"node": ">= 10"
}
},
+ "node_modules/svgo/node_modules/has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/svgo/node_modules/supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "dev": true,
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/tapable": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.0.tgz",
@@ -6395,12 +6663,12 @@
}
},
"node_modules/terser-webpack-plugin/node_modules/schema-utils": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz",
- "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==",
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.0.tgz",
+ "integrity": "sha512-tTEaeYkyIhEZ9uWgAjDerWov3T9MgX8dhhy2r0IGeeX4W8ngtGl1++dUve/RUqzuaASSh7shwCDJjEzthxki8w==",
"dev": true,
"dependencies": {
- "@types/json-schema": "^7.0.8",
+ "@types/json-schema": "^7.0.7",
"ajv": "^6.12.5",
"ajv-keywords": "^3.5.2"
},
@@ -6443,9 +6711,9 @@
"dev": true
},
"node_modules/tinode-sdk": {
- "version": "0.17.7",
- "resolved": "https://registry.npmjs.org/tinode-sdk/-/tinode-sdk-0.17.7.tgz",
- "integrity": "sha512-eq2fN2QiQz8ifslW+wppCwqV3LG8VlnWMIjnfDqxAla6AzapwvTsklFHx2SwgkigBAzHTcWLbWlCl0ciw2cTUg=="
+ "version": "0.18.0-alpha1",
+ "resolved": "https://registry.npmjs.org/tinode-sdk/-/tinode-sdk-0.18.0-alpha1.tgz",
+ "integrity": "sha512-950u+qIPb42GGo8EDSjBKYS+d0z5a9tg/Eu/WV8h5f81XXW3p7W5KcZCacx6Lt27oa+jL5rNAK18Vhl3WBUwnQ=="
},
"node_modules/to-fast-properties": {
"version": "2.0.0",
@@ -6469,9 +6737,9 @@
}
},
"node_modules/tslib": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz",
- "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw=="
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz",
+ "integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg=="
},
"node_modules/typescript": {
"version": "4.3.5",
@@ -6572,6 +6840,18 @@
"url": "https://github.com/sponsors/wooorm"
}
},
+ "node_modules/vue": {
+ "version": "3.1.4",
+ "resolved": "https://registry.npmjs.org/vue/-/vue-3.1.4.tgz",
+ "integrity": "sha512-p8dcdyeCgmaAiZsbLyDkmOLcFGZb/jEVdCLW65V68LRCXTNX8jKsgah2F7OZ/v/Ai2V0Fb1MNO0vz/GFqsPVMA==",
+ "dev": true,
+ "peer": true,
+ "dependencies": {
+ "@vue/compiler-dom": "3.1.4",
+ "@vue/runtime-dom": "3.1.4",
+ "@vue/shared": "3.1.4"
+ }
+ },
"node_modules/watchpack": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.2.0.tgz",
@@ -6586,9 +6866,9 @@
}
},
"node_modules/webpack": {
- "version": "5.50.0",
- "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.50.0.tgz",
- "integrity": "sha512-hqxI7t/KVygs0WRv/kTgUW8Kl3YC81uyWQSo/7WUs5LsuRw0htH/fCwbVBGCuiX/t4s7qzjXFcf41O8Reiypag==",
+ "version": "5.45.1",
+ "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.45.1.tgz",
+ "integrity": "sha512-68VT2ZgG9EHs6h6UxfV2SEYewA9BA3SOLSnC2NEbJJiEwbAiueDL033R1xX0jzjmXvMh0oSeKnKgbO2bDXIEyQ==",
"dev": true,
"dependencies": {
"@types/eslint-scope": "^3.7.0",
@@ -6597,7 +6877,6 @@
"@webassemblyjs/wasm-edit": "1.11.1",
"@webassemblyjs/wasm-parser": "1.11.1",
"acorn": "^8.4.1",
- "acorn-import-assertions": "^1.7.6",
"browserslist": "^4.14.5",
"chrome-trace-event": "^1.0.2",
"enhanced-resolve": "^5.8.0",
@@ -6614,7 +6893,7 @@
"tapable": "^2.1.1",
"terser-webpack-plugin": "^5.1.3",
"watchpack": "^2.2.0",
- "webpack-sources": "^3.2.0"
+ "webpack-sources": "^2.3.0"
},
"bin": {
"webpack": "bin/webpack.js"
@@ -6699,21 +6978,40 @@
}
},
"node_modules/webpack-sources": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.0.tgz",
- "integrity": "sha512-fahN08Et7P9trej8xz/Z7eRu8ltyiygEo/hnRi9KqBUs80KeDcnf96ZJo++ewWd84fEf3xSX9bp4ZS9hbw0OBw==",
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-2.3.0.tgz",
+ "integrity": "sha512-WyOdtwSvOML1kbgtXbTDnEW0jkJ7hZr/bDByIwszhWd/4XX1A3XMkrbFMsuH4+/MfLlZCUzlAdg4r7jaGKEIgQ==",
"dev": true,
+ "dependencies": {
+ "source-list-map": "^2.0.1",
+ "source-map": "^0.6.1"
+ },
"engines": {
"node": ">=10.13.0"
}
},
+ "node_modules/webpack-sources/node_modules/source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/webpack/node_modules/@types/estree": {
+ "version": "0.0.50",
+ "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.50.tgz",
+ "integrity": "sha512-C6N5s2ZFtuZRj54k2/zyRhNDjJwwcViAM3Nbm8zjBpbqAdZ00mr0CFxvSKeO8Y/e03WVFLpQMdHYVfUd6SB+Hw==",
+ "dev": true
+ },
"node_modules/webpack/node_modules/schema-utils": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz",
- "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==",
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.0.tgz",
+ "integrity": "sha512-tTEaeYkyIhEZ9uWgAjDerWov3T9MgX8dhhy2r0IGeeX4W8ngtGl1++dUve/RUqzuaASSh7shwCDJjEzthxki8w==",
"dev": true,
"dependencies": {
- "@types/json-schema": "^7.0.8",
+ "@types/json-schema": "^7.0.7",
"ajv": "^6.12.5",
"ajv-keywords": "^3.5.2"
},
@@ -6904,26 +7202,26 @@
}
},
"@babel/compat-data": {
- "version": "7.15.0",
- "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.15.0.tgz",
- "integrity": "sha512-0NqAC1IJE0S0+lL1SWFMxMkz1pKCNCjI4tr2Zx4LJSXxCLAdr6KyArnY+sno5m3yH9g737ygOyPABDsnXkpxiA==",
+ "version": "7.14.7",
+ "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.14.7.tgz",
+ "integrity": "sha512-nS6dZaISCXJ3+518CWiBfEr//gHyMO02uDxBkXTKZDN5POruCnOZ1N4YBRZDCabwF8nZMWBpRxIicmXtBs+fvw==",
"dev": true
},
"@babel/core": {
- "version": "7.15.0",
- "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.15.0.tgz",
- "integrity": "sha512-tXtmTminrze5HEUPn/a0JtOzzfp0nk+UEXQ/tqIJo3WDGypl/2OFQEMll/zSFU8f/lfmfLXvTaORHF3cfXIQMw==",
+ "version": "7.14.6",
+ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.14.6.tgz",
+ "integrity": "sha512-gJnOEWSqTk96qG5BoIrl5bVtc23DCycmIePPYnamY9RboYdI4nFy5vAQMSl81O5K/W0sLDWfGysnOECC+KUUCA==",
"dev": true,
"requires": {
"@babel/code-frame": "^7.14.5",
- "@babel/generator": "^7.15.0",
- "@babel/helper-compilation-targets": "^7.15.0",
- "@babel/helper-module-transforms": "^7.15.0",
- "@babel/helpers": "^7.14.8",
- "@babel/parser": "^7.15.0",
+ "@babel/generator": "^7.14.5",
+ "@babel/helper-compilation-targets": "^7.14.5",
+ "@babel/helper-module-transforms": "^7.14.5",
+ "@babel/helpers": "^7.14.6",
+ "@babel/parser": "^7.14.6",
"@babel/template": "^7.14.5",
- "@babel/traverse": "^7.15.0",
- "@babel/types": "^7.15.0",
+ "@babel/traverse": "^7.14.5",
+ "@babel/types": "^7.14.5",
"convert-source-map": "^1.7.0",
"debug": "^4.1.0",
"gensync": "^1.0.0-beta.2",
@@ -6933,12 +7231,12 @@
}
},
"@babel/generator": {
- "version": "7.15.0",
- "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.15.0.tgz",
- "integrity": "sha512-eKl4XdMrbpYvuB505KTta4AV9g+wWzmVBW69tX0H2NwKVKd2YJbKgyK6M8j/rgLbmHOYJn6rUklV677nOyJrEQ==",
+ "version": "7.14.5",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.14.5.tgz",
+ "integrity": "sha512-y3rlP+/G25OIX3mYKKIOlQRcqj7YgrvHxOLbVmyLJ9bPmi5ttvUmpydVjcFjZphOktWuA7ovbx91ECloWTfjIA==",
"dev": true,
"requires": {
- "@babel/types": "^7.15.0",
+ "@babel/types": "^7.14.5",
"jsesc": "^2.5.1",
"source-map": "^0.5.0"
}
@@ -6963,28 +7261,28 @@
}
},
"@babel/helper-compilation-targets": {
- "version": "7.15.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.15.0.tgz",
- "integrity": "sha512-h+/9t0ncd4jfZ8wsdAsoIxSa61qhBYlycXiHWqJaQBCXAhDCMbPRSMTGnZIkkmt1u4ag+UQmuqcILwqKzZ4N2A==",
+ "version": "7.14.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.14.5.tgz",
+ "integrity": "sha512-v+QtZqXEiOnpO6EYvlImB6zCD2Lel06RzOPzmkz/D/XgQiUu3C/Jb1LOqSt/AIA34TYi/Q+KlT8vTQrgdxkbLw==",
"dev": true,
"requires": {
- "@babel/compat-data": "^7.15.0",
+ "@babel/compat-data": "^7.14.5",
"@babel/helper-validator-option": "^7.14.5",
"browserslist": "^4.16.6",
"semver": "^6.3.0"
}
},
"@babel/helper-create-class-features-plugin": {
- "version": "7.15.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.15.0.tgz",
- "integrity": "sha512-MdmDXgvTIi4heDVX/e9EFfeGpugqm9fobBVg/iioE8kueXrOHdRDe36FAY7SnE9xXLVeYCoJR/gdrBEIHRC83Q==",
+ "version": "7.14.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.14.6.tgz",
+ "integrity": "sha512-Z6gsfGofTxH/+LQXqYEK45kxmcensbzmk/oi8DmaQytlQCgqNZt9XQF8iqlI/SeXWVjaMNxvYvzaYw+kh42mDg==",
"dev": true,
"requires": {
"@babel/helper-annotate-as-pure": "^7.14.5",
"@babel/helper-function-name": "^7.14.5",
- "@babel/helper-member-expression-to-functions": "^7.15.0",
+ "@babel/helper-member-expression-to-functions": "^7.14.5",
"@babel/helper-optimise-call-expression": "^7.14.5",
- "@babel/helper-replace-supers": "^7.15.0",
+ "@babel/helper-replace-supers": "^7.14.5",
"@babel/helper-split-export-declaration": "^7.14.5"
}
},
@@ -7053,12 +7351,12 @@
}
},
"@babel/helper-member-expression-to-functions": {
- "version": "7.15.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.15.0.tgz",
- "integrity": "sha512-Jq8H8U2kYiafuj2xMTPQwkTBnEEdGKpT35lJEQsRRjnG0LW3neucsaMWLgKcwu3OHKNeYugfw+Z20BXBSEs2Lg==",
+ "version": "7.14.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.14.7.tgz",
+ "integrity": "sha512-TMUt4xKxJn6ccjcOW7c4hlwyJArizskAhoSTOCkA0uZ+KghIaci0Qg9R043kUMWI9mtQfgny+NQ5QATnZ+paaA==",
"dev": true,
"requires": {
- "@babel/types": "^7.15.0"
+ "@babel/types": "^7.14.5"
}
},
"@babel/helper-module-imports": {
@@ -7071,19 +7369,19 @@
}
},
"@babel/helper-module-transforms": {
- "version": "7.15.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.15.0.tgz",
- "integrity": "sha512-RkGiW5Rer7fpXv9m1B3iHIFDZdItnO2/BLfWVW/9q7+KqQSDY5kUfQEbzdXM1MVhJGcugKV7kRrNVzNxmk7NBg==",
+ "version": "7.14.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.14.5.tgz",
+ "integrity": "sha512-iXpX4KW8LVODuAieD7MzhNjmM6dzYY5tfRqT+R9HDXWl0jPn/djKmA+G9s/2C2T9zggw5tK1QNqZ70USfedOwA==",
"dev": true,
"requires": {
"@babel/helper-module-imports": "^7.14.5",
- "@babel/helper-replace-supers": "^7.15.0",
- "@babel/helper-simple-access": "^7.14.8",
+ "@babel/helper-replace-supers": "^7.14.5",
+ "@babel/helper-simple-access": "^7.14.5",
"@babel/helper-split-export-declaration": "^7.14.5",
- "@babel/helper-validator-identifier": "^7.14.9",
+ "@babel/helper-validator-identifier": "^7.14.5",
"@babel/template": "^7.14.5",
- "@babel/traverse": "^7.15.0",
- "@babel/types": "^7.15.0"
+ "@babel/traverse": "^7.14.5",
+ "@babel/types": "^7.14.5"
}
},
"@babel/helper-optimise-call-expression": {
@@ -7113,24 +7411,24 @@
}
},
"@babel/helper-replace-supers": {
- "version": "7.15.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.15.0.tgz",
- "integrity": "sha512-6O+eWrhx+HEra/uJnifCwhwMd6Bp5+ZfZeJwbqUTuqkhIT6YcRhiZCOOFChRypOIe0cV46kFrRBlm+t5vHCEaA==",
+ "version": "7.14.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.14.5.tgz",
+ "integrity": "sha512-3i1Qe9/8x/hCHINujn+iuHy+mMRLoc77b2nI9TB0zjH1hvn9qGlXjWlggdwUcju36PkPCy/lpM7LLUdcTyH4Ow==",
"dev": true,
"requires": {
- "@babel/helper-member-expression-to-functions": "^7.15.0",
+ "@babel/helper-member-expression-to-functions": "^7.14.5",
"@babel/helper-optimise-call-expression": "^7.14.5",
- "@babel/traverse": "^7.15.0",
- "@babel/types": "^7.15.0"
+ "@babel/traverse": "^7.14.5",
+ "@babel/types": "^7.14.5"
}
},
"@babel/helper-simple-access": {
- "version": "7.14.8",
- "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.14.8.tgz",
- "integrity": "sha512-TrFN4RHh9gnWEU+s7JloIho2T76GPwRHhdzOWLqTrMnlas8T9O7ec+oEDNsRXndOmru9ymH9DFrEOxpzPoSbdg==",
+ "version": "7.14.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.14.5.tgz",
+ "integrity": "sha512-nfBN9xvmCt6nrMZjfhkl7i0oTV3yxR4/FztsbOASyTvVcoYd0TRHh7eMLdlEcCqobydC0LAF3LtC92Iwxo0wyw==",
"dev": true,
"requires": {
- "@babel/types": "^7.14.8"
+ "@babel/types": "^7.14.5"
}
},
"@babel/helper-skip-transparent-expression-wrappers": {
@@ -7152,9 +7450,9 @@
}
},
"@babel/helper-validator-identifier": {
- "version": "7.14.9",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.9.tgz",
- "integrity": "sha512-pQYxPY0UP6IHISRitNe8bsijHex4TWZXi2HwKVsjPiltzlhse2znVcm9Ace510VT1kxIHjGJCZZQBX2gJDbo0g==",
+ "version": "7.14.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.5.tgz",
+ "integrity": "sha512-5lsetuxCLilmVGyiLEfoHBRX8UCFD+1m2x3Rj97WrW3V7H3u4RWRXA4evMjImCsin2J2YT0QaVDGf+z8ondbAg==",
"dev": true
},
"@babel/helper-validator-option": {
@@ -7176,14 +7474,14 @@
}
},
"@babel/helpers": {
- "version": "7.15.3",
- "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.15.3.tgz",
- "integrity": "sha512-HwJiz52XaS96lX+28Tnbu31VeFSQJGOeKHJeaEPQlTl7PnlhFElWPj8tUXtqFIzeN86XxXoBr+WFAyK2PPVz6g==",
+ "version": "7.14.6",
+ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.14.6.tgz",
+ "integrity": "sha512-yesp1ENQBiLI+iYHSJdoZKUtRpfTlL1grDIX9NRlAVppljLw/4tTyYupIB7uIYmC3stW/imAv8EqaKaS/ibmeA==",
"dev": true,
"requires": {
"@babel/template": "^7.14.5",
- "@babel/traverse": "^7.15.0",
- "@babel/types": "^7.15.0"
+ "@babel/traverse": "^7.14.5",
+ "@babel/types": "^7.14.5"
}
},
"@babel/highlight": {
@@ -7198,9 +7496,9 @@
}
},
"@babel/parser": {
- "version": "7.15.3",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.3.tgz",
- "integrity": "sha512-O0L6v/HvqbdJawj0iBEfVQMc3/6WP+AeOsovsIgBFyJaG+W2w7eqvZB7puddATmWuARlm1SX7DwxJ/JJUnDpEA==",
+ "version": "7.14.7",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.14.7.tgz",
+ "integrity": "sha512-X67Z5y+VBJuHB/RjwECp8kSl5uYi0BvRbNeWqkaJCVh+LiTPl19WBUfG627psSgp9rSf6ojuXghQM3ha6qHHdA==",
"dev": true
},
"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": {
@@ -7215,9 +7513,9 @@
}
},
"@babel/plugin-proposal-async-generator-functions": {
- "version": "7.14.9",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.14.9.tgz",
- "integrity": "sha512-d1lnh+ZnKrFKwtTYdw320+sQWCTwgkB9fmUhNXRADA4akR6wLjaruSGnIEUjpt9HCOwTr4ynFTKu19b7rFRpmw==",
+ "version": "7.14.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.14.7.tgz",
+ "integrity": "sha512-RK8Wj7lXLY3bqei69/cc25gwS5puEc3dknoFPFbqfy3XxYQBQFvu4ioWpafMBAB+L9NyptQK4nMOa5Xz16og8Q==",
"dev": true,
"requires": {
"@babel/helper-plugin-utils": "^7.14.5",
@@ -7537,18 +7835,18 @@
}
},
"@babel/plugin-transform-block-scoping": {
- "version": "7.15.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.15.3.tgz",
- "integrity": "sha512-nBAzfZwZb4DkaGtOes1Up1nOAp9TDRRFw4XBzBBSG9QK7KVFmYzgj9o9sbPv7TX5ofL4Auq4wZnxCoPnI/lz2Q==",
+ "version": "7.14.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.14.5.tgz",
+ "integrity": "sha512-LBYm4ZocNgoCqyxMLoOnwpsmQ18HWTQvql64t3GvMUzLQrNoV1BDG0lNftC8QKYERkZgCCT/7J5xWGObGAyHDw==",
"dev": true,
"requires": {
"@babel/helper-plugin-utils": "^7.14.5"
}
},
"@babel/plugin-transform-classes": {
- "version": "7.14.9",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.14.9.tgz",
- "integrity": "sha512-NfZpTcxU3foGWbl4wxmZ35mTsYJy8oQocbeIMoDAGGFarAmSQlL+LWMkDx/tj6pNotpbX3rltIA4dprgAPOq5A==",
+ "version": "7.14.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.14.5.tgz",
+ "integrity": "sha512-J4VxKAMykM06K/64z9rwiL6xnBHgB1+FVspqvlgCdwD1KUbQNfszeKVVOMh59w3sztHYIZDgnhOC4WbdEfHFDA==",
"dev": true,
"requires": {
"@babel/helper-annotate-as-pure": "^7.14.5",
@@ -7656,14 +7954,14 @@
}
},
"@babel/plugin-transform-modules-commonjs": {
- "version": "7.15.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.15.0.tgz",
- "integrity": "sha512-3H/R9s8cXcOGE8kgMlmjYYC9nqr5ELiPkJn4q0mypBrjhYQoc+5/Maq69vV4xRPWnkzZuwJPf5rArxpB/35Cig==",
+ "version": "7.14.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.14.5.tgz",
+ "integrity": "sha512-en8GfBtgnydoao2PS+87mKyw62k02k7kJ9ltbKe0fXTHrQmG6QZZflYuGI1VVG7sVpx4E1n7KBpNlPb8m78J+A==",
"dev": true,
"requires": {
- "@babel/helper-module-transforms": "^7.15.0",
+ "@babel/helper-module-transforms": "^7.14.5",
"@babel/helper-plugin-utils": "^7.14.5",
- "@babel/helper-simple-access": "^7.14.8",
+ "@babel/helper-simple-access": "^7.14.5",
"babel-plugin-dynamic-import-node": "^2.3.3"
}
},
@@ -7691,9 +7989,9 @@
}
},
"@babel/plugin-transform-named-capturing-groups-regex": {
- "version": "7.14.9",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.14.9.tgz",
- "integrity": "sha512-l666wCVYO75mlAtGFfyFwnWmIXQm3kSH0C3IRnJqWcZbWkoihyAdDhFm2ZWaxWTqvBvhVFfJjMRQ0ez4oN1yYA==",
+ "version": "7.14.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.14.7.tgz",
+ "integrity": "sha512-DTNOTaS7TkW97xsDMrp7nycUVh6sn/eq22VaxWfEdzuEbRsiaOU0pqU7DlyUGHVsbQbSghvjKRpEl+nUCKGQSg==",
"dev": true,
"requires": {
"@babel/helper-create-regexp-features-plugin": "^7.14.5"
@@ -7737,25 +8035,25 @@
}
},
"@babel/plugin-transform-react-display-name": {
- "version": "7.15.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.15.1.tgz",
- "integrity": "sha512-yQZ/i/pUCJAHI/LbtZr413S3VT26qNrEm0M5RRxQJA947/YNYwbZbBaXGDrq6CG5QsZycI1VIP6d7pQaBfP+8Q==",
+ "version": "7.14.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.14.5.tgz",
+ "integrity": "sha512-07aqY1ChoPgIxsuDviptRpVkWCSbXWmzQqcgy65C6YSFOfPFvb/DX3bBRHh7pCd/PMEEYHYWUTSVkCbkVainYQ==",
"dev": true,
"requires": {
"@babel/helper-plugin-utils": "^7.14.5"
}
},
"@babel/plugin-transform-react-jsx": {
- "version": "7.14.9",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.14.9.tgz",
- "integrity": "sha512-30PeETvS+AeD1f58i1OVyoDlVYQhap/K20ZrMjLmmzmC2AYR/G43D4sdJAaDAqCD3MYpSWbmrz3kES158QSLjw==",
+ "version": "7.14.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.14.5.tgz",
+ "integrity": "sha512-7RylxNeDnxc1OleDm0F5Q/BSL+whYRbOAR+bwgCxIr0L32v7UFh/pz1DLMZideAUxKT6eMoS2zQH6fyODLEi8Q==",
"dev": true,
"requires": {
"@babel/helper-annotate-as-pure": "^7.14.5",
"@babel/helper-module-imports": "^7.14.5",
"@babel/helper-plugin-utils": "^7.14.5",
"@babel/plugin-syntax-jsx": "^7.14.5",
- "@babel/types": "^7.14.9"
+ "@babel/types": "^7.14.5"
}
},
"@babel/plugin-transform-react-jsx-development": {
@@ -7861,17 +8159,17 @@
}
},
"@babel/preset-env": {
- "version": "7.15.0",
- "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.15.0.tgz",
- "integrity": "sha512-FhEpCNFCcWW3iZLg0L2NPE9UerdtsCR6ZcsGHUX6Om6kbCQeL5QZDqFDmeNHC6/fy6UH3jEge7K4qG5uC9In0Q==",
+ "version": "7.14.7",
+ "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.14.7.tgz",
+ "integrity": "sha512-itOGqCKLsSUl0Y+1nSfhbuuOlTs0MJk2Iv7iSH+XT/mR8U1zRLO7NjWlYXB47yhK4J/7j+HYty/EhFZDYKa/VA==",
"dev": true,
"requires": {
- "@babel/compat-data": "^7.15.0",
- "@babel/helper-compilation-targets": "^7.15.0",
+ "@babel/compat-data": "^7.14.7",
+ "@babel/helper-compilation-targets": "^7.14.5",
"@babel/helper-plugin-utils": "^7.14.5",
"@babel/helper-validator-option": "^7.14.5",
"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.14.5",
- "@babel/plugin-proposal-async-generator-functions": "^7.14.9",
+ "@babel/plugin-proposal-async-generator-functions": "^7.14.7",
"@babel/plugin-proposal-class-properties": "^7.14.5",
"@babel/plugin-proposal-class-static-block": "^7.14.5",
"@babel/plugin-proposal-dynamic-import": "^7.14.5",
@@ -7904,7 +8202,7 @@
"@babel/plugin-transform-async-to-generator": "^7.14.5",
"@babel/plugin-transform-block-scoped-functions": "^7.14.5",
"@babel/plugin-transform-block-scoping": "^7.14.5",
- "@babel/plugin-transform-classes": "^7.14.9",
+ "@babel/plugin-transform-classes": "^7.14.5",
"@babel/plugin-transform-computed-properties": "^7.14.5",
"@babel/plugin-transform-destructuring": "^7.14.7",
"@babel/plugin-transform-dotall-regex": "^7.14.5",
@@ -7915,10 +8213,10 @@
"@babel/plugin-transform-literals": "^7.14.5",
"@babel/plugin-transform-member-expression-literals": "^7.14.5",
"@babel/plugin-transform-modules-amd": "^7.14.5",
- "@babel/plugin-transform-modules-commonjs": "^7.15.0",
+ "@babel/plugin-transform-modules-commonjs": "^7.14.5",
"@babel/plugin-transform-modules-systemjs": "^7.14.5",
"@babel/plugin-transform-modules-umd": "^7.14.5",
- "@babel/plugin-transform-named-capturing-groups-regex": "^7.14.9",
+ "@babel/plugin-transform-named-capturing-groups-regex": "^7.14.7",
"@babel/plugin-transform-new-target": "^7.14.5",
"@babel/plugin-transform-object-super": "^7.14.5",
"@babel/plugin-transform-parameters": "^7.14.5",
@@ -7933,11 +8231,11 @@
"@babel/plugin-transform-unicode-escapes": "^7.14.5",
"@babel/plugin-transform-unicode-regex": "^7.14.5",
"@babel/preset-modules": "^0.1.4",
- "@babel/types": "^7.15.0",
+ "@babel/types": "^7.14.5",
"babel-plugin-polyfill-corejs2": "^0.2.2",
"babel-plugin-polyfill-corejs3": "^0.2.2",
"babel-plugin-polyfill-regenerator": "^0.2.2",
- "core-js-compat": "^3.16.0",
+ "core-js-compat": "^3.15.0",
"semver": "^6.3.0"
}
},
@@ -7969,9 +8267,9 @@
}
},
"@babel/runtime": {
- "version": "7.15.3",
- "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.15.3.tgz",
- "integrity": "sha512-OvwMLqNXkCXSz1kSm58sEsNuhqOx/fKpnUnKnFB5v8uDda5bLNEHNgKPvhDN6IU0LDcnHQ90LlJ0Q6jnyBSIBA==",
+ "version": "7.14.6",
+ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.14.6.tgz",
+ "integrity": "sha512-/PCB2uJ7oM44tz8YhC4Z/6PeOKXp4K588f+5M3clr1M4zbqztlo0XEfJ2LEzj/FgwfgGcIdl8n7YYjTCI0BYwg==",
"dev": true,
"requires": {
"regenerator-runtime": "^0.13.4"
@@ -7989,29 +8287,29 @@
}
},
"@babel/traverse": {
- "version": "7.15.0",
- "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.15.0.tgz",
- "integrity": "sha512-392d8BN0C9eVxVWd8H6x9WfipgVH5IaIoLp23334Sc1vbKKWINnvwRpb4us0xtPaCumlwbTtIYNA0Dv/32sVFw==",
+ "version": "7.14.7",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.14.7.tgz",
+ "integrity": "sha512-9vDr5NzHu27wgwejuKL7kIOm4bwEtaPQ4Z6cpCmjSuaRqpH/7xc4qcGEscwMqlkwgcXl6MvqoAjZkQ24uSdIZQ==",
"dev": true,
"requires": {
"@babel/code-frame": "^7.14.5",
- "@babel/generator": "^7.15.0",
+ "@babel/generator": "^7.14.5",
"@babel/helper-function-name": "^7.14.5",
"@babel/helper-hoist-variables": "^7.14.5",
"@babel/helper-split-export-declaration": "^7.14.5",
- "@babel/parser": "^7.15.0",
- "@babel/types": "^7.15.0",
+ "@babel/parser": "^7.14.7",
+ "@babel/types": "^7.14.5",
"debug": "^4.1.0",
"globals": "^11.1.0"
}
},
"@babel/types": {
- "version": "7.15.0",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.0.tgz",
- "integrity": "sha512-OBvfqnllOIdX4ojTHpwZbpvz4j3EWyjkZEdmjH0/cgsd6QOdSgU8rLSk6ard/pcW7rlmjdVSX/AWOaORR1uNOQ==",
+ "version": "7.14.5",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.14.5.tgz",
+ "integrity": "sha512-M/NzBpEL95I5Hh4dwhin5JlE7EzO5PHMAuzjxss3tiOBD46KfQvVedN/3jEPZvdRvtsK2222XfdHogNIttFgcg==",
"dev": true,
"requires": {
- "@babel/helper-validator-identifier": "^7.14.9",
+ "@babel/helper-validator-identifier": "^7.14.5",
"to-fast-properties": "^2.0.0"
}
},
@@ -8022,47 +8320,47 @@
"dev": true
},
"@firebase/analytics": {
- "version": "0.6.17",
- "resolved": "https://registry.npmjs.org/@firebase/analytics/-/analytics-0.6.17.tgz",
- "integrity": "sha512-Iiip24vQw7p+dBxoGWP2WvVqV2tOdLPjWw6OP6a+8vgss9PRsjKE2AAskruqveMUO4Ox5uPW65wdgeJxoFoMvQ==",
+ "version": "0.6.14",
+ "resolved": "https://registry.npmjs.org/@firebase/analytics/-/analytics-0.6.14.tgz",
+ "integrity": "sha512-u7e9MreZOuv6VHhJvfp2UzNvNXac5QL2ofNhcQmwxUrMyHX80LUJrTLUCoaCpQvv3HJHX8WVj897a9LoB4OO1g==",
"requires": {
- "@firebase/analytics-types": "0.6.0",
- "@firebase/component": "0.5.5",
- "@firebase/installations": "0.4.31",
+ "@firebase/analytics-types": "0.4.0",
+ "@firebase/component": "0.5.4",
+ "@firebase/installations": "0.4.30",
"@firebase/logger": "0.2.6",
- "@firebase/util": "1.2.0",
+ "@firebase/util": "1.1.0",
"tslib": "^2.1.0"
}
},
"@firebase/analytics-types": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/@firebase/analytics-types/-/analytics-types-0.6.0.tgz",
- "integrity": "sha512-kbMawY0WRPyL/lbknBkme4CNLl+Gw+E9G4OpNeXAauqoQiNkBgpIvZYy7BRT4sNGhZbxdxXxXbruqUwDzLmvTw=="
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/@firebase/analytics-types/-/analytics-types-0.4.0.tgz",
+ "integrity": "sha512-Jj2xW+8+8XPfWGkv9HPv/uR+Qrmq37NPYT352wf7MvE9LrstpLVmFg3LqG6MCRr5miLAom5sen2gZ+iOhVDeRA=="
},
"@firebase/app": {
- "version": "0.6.29",
- "resolved": "https://registry.npmjs.org/@firebase/app/-/app-0.6.29.tgz",
- "integrity": "sha512-duCzk9/BSVVsb5Y9b0rnvGSuD5zQA/JghiQsccRl+lA4xiUYjFudTU4cVFftkw+0zzeYBHn4KiVxchsva1O9dA==",
+ "version": "0.6.28",
+ "resolved": "https://registry.npmjs.org/@firebase/app/-/app-0.6.28.tgz",
+ "integrity": "sha512-ZsR5372bNDfY9aGMg+0zgoxwUg/Upf8Mq1M82XCByCVdn6krnPwGr486UssiYFCVANweiOR1Mrhrg2y5O01RRw==",
"requires": {
- "@firebase/app-types": "0.6.3",
- "@firebase/component": "0.5.5",
+ "@firebase/app-types": "0.6.2",
+ "@firebase/component": "0.5.4",
"@firebase/logger": "0.2.6",
- "@firebase/util": "1.2.0",
+ "@firebase/util": "1.1.0",
"dom-storage": "2.1.0",
"tslib": "^2.1.0",
"xmlhttprequest": "1.8.0"
}
},
"@firebase/app-check": {
- "version": "0.3.1",
- "resolved": "https://registry.npmjs.org/@firebase/app-check/-/app-check-0.3.1.tgz",
- "integrity": "sha512-5OWXzhXdtrmOqn2aN44FyNTwjlZJrip/3WC7UlMeUBPi3apuUgChHTolZ1oITszGdw52lP3r5SOCDtRsNtbkJg==",
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/@firebase/app-check/-/app-check-0.2.0.tgz",
+ "integrity": "sha512-h5eNSYf4ZU9FGawDSLGSGBcaYzdkydVBCGzbQW5urAd7czhB5QF+T4nnTOQ0Gto5upqPGuUH9s9CbQ4Gf49OEw==",
"requires": {
"@firebase/app-check-interop-types": "0.1.0",
- "@firebase/app-check-types": "0.3.1",
- "@firebase/component": "0.5.5",
+ "@firebase/app-check-types": "0.2.0",
+ "@firebase/component": "0.5.4",
"@firebase/logger": "0.2.6",
- "@firebase/util": "1.2.0",
+ "@firebase/util": "1.1.0",
"tslib": "^2.1.0"
}
},
@@ -8072,14 +8370,14 @@
"integrity": "sha512-uZfn9s4uuRsaX5Lwx+gFP3B6YsyOKUE+Rqa6z9ojT4VSRAsZFko9FRn6OxQUA1z5t5d08fY4pf+/+Dkd5wbdbA=="
},
"@firebase/app-check-types": {
- "version": "0.3.1",
- "resolved": "https://registry.npmjs.org/@firebase/app-check-types/-/app-check-types-0.3.1.tgz",
- "integrity": "sha512-KJ+BqJbdNsx4QT/JIT1yDj5p6D+QN97iJs3GuHnORrqL+DU3RWc9nSYQsrY6Tv9jVWcOkMENXAgDT484vzsm2w=="
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/@firebase/app-check-types/-/app-check-types-0.2.0.tgz",
+ "integrity": "sha512-CfZhWtChLK9uNmrxbJyTg1BPtROiwc/VJGu3f39KjS0F5ZvZjHmyRFMrDiSoXDoybM4B6X0pQhJYi9rifT2wpQ=="
},
"@firebase/app-types": {
- "version": "0.6.3",
- "resolved": "https://registry.npmjs.org/@firebase/app-types/-/app-types-0.6.3.tgz",
- "integrity": "sha512-/M13DPPati7FQHEQ9Minjk1HGLm/4K4gs9bR4rzLCWJg64yGtVC0zNg9gDpkw9yc2cvol/mNFxqTtd4geGrwdw=="
+ "version": "0.6.2",
+ "resolved": "https://registry.npmjs.org/@firebase/app-types/-/app-types-0.6.2.tgz",
+ "integrity": "sha512-2VXvq/K+n8XMdM4L2xy5bYp2ZXMawJXluUIDzUBvMthVR+lhxK4pfFiqr1mmDbv9ydXvEAuFsD+6DpcZuJcSSw=="
},
"@firebase/auth": {
"version": "0.16.8",
@@ -8102,45 +8400,45 @@
"requires": {}
},
"@firebase/component": {
- "version": "0.5.5",
- "resolved": "https://registry.npmjs.org/@firebase/component/-/component-0.5.5.tgz",
- "integrity": "sha512-L41SdS/4a164jx2iGfakJgaBUPPBI3DI+RrUlmh3oHSUljTeCwfj/Nhcv3S7e2lyXsGFJtAyepfPUx4IQ05crw==",
+ "version": "0.5.4",
+ "resolved": "https://registry.npmjs.org/@firebase/component/-/component-0.5.4.tgz",
+ "integrity": "sha512-KoLDPTsvxWr6FT9kn/snffJItaWXZLHLJlZVKiiw+flKE6MVA8Eec+ctvM2zcsMZzC2Z47gFnVqywfBlOevmpQ==",
"requires": {
- "@firebase/util": "1.2.0",
+ "@firebase/util": "1.1.0",
"tslib": "^2.1.0"
}
},
"@firebase/database": {
- "version": "0.10.9",
- "resolved": "https://registry.npmjs.org/@firebase/database/-/database-0.10.9.tgz",
- "integrity": "sha512-Jxi9SiE4cNOftO9YKlG71ccyWFw4kSM9AG/xYu6vWXUGBr39Uw1TvYougANOcU21Q0TP4J08VPGnOnpXk/FGbQ==",
+ "version": "0.10.7",
+ "resolved": "https://registry.npmjs.org/@firebase/database/-/database-0.10.7.tgz",
+ "integrity": "sha512-7BFj8LFhGL+TmLiPOffOVfkrO2wm44mGcT0jqrkTkt1KydapmjABFJBRvONvlLij5LoWrJK1cSuE8wYDQrDq2Q==",
"requires": {
"@firebase/auth-interop-types": "0.1.6",
- "@firebase/component": "0.5.5",
- "@firebase/database-types": "0.7.3",
+ "@firebase/component": "0.5.4",
+ "@firebase/database-types": "0.7.2",
"@firebase/logger": "0.2.6",
- "@firebase/util": "1.2.0",
+ "@firebase/util": "1.1.0",
"faye-websocket": "0.11.3",
"tslib": "^2.1.0"
}
},
"@firebase/database-types": {
- "version": "0.7.3",
- "resolved": "https://registry.npmjs.org/@firebase/database-types/-/database-types-0.7.3.tgz",
- "integrity": "sha512-dSOJmhKQ0nL8O4EQMRNGpSExWCXeHtH57gGg0BfNAdWcKhC8/4Y+qfKLfWXzyHvrSecpLmO0SmAi/iK2D5fp5A==",
+ "version": "0.7.2",
+ "resolved": "https://registry.npmjs.org/@firebase/database-types/-/database-types-0.7.2.tgz",
+ "integrity": "sha512-cdAd/dgwvC0r3oLEDUR+ULs1vBsEvy0b27nlzKhU6LQgm9fCDzgaH9nFGv8x+S9dly4B0egAXkONkVoWcOAisg==",
"requires": {
- "@firebase/app-types": "0.6.3"
+ "@firebase/app-types": "0.6.2"
}
},
"@firebase/firestore": {
- "version": "2.3.10",
- "resolved": "https://registry.npmjs.org/@firebase/firestore/-/firestore-2.3.10.tgz",
- "integrity": "sha512-O+XpaZVhDIBK2fMwBUBR2BuhaXF6zTmz+afAuXAx18DK+2rFfLefbALZLaUYw0Aabe9pryy0c7OenzRbHA8n4Q==",
+ "version": "2.3.8",
+ "resolved": "https://registry.npmjs.org/@firebase/firestore/-/firestore-2.3.8.tgz",
+ "integrity": "sha512-76uA4czK+JM7rNbJXWrzA2gZQMGopQOvkQ7EffBfe9d921gvZ+W6naXaih+jYZn6BwuE7no9fx3RdZDszG5u+g==",
"requires": {
- "@firebase/component": "0.5.5",
+ "@firebase/component": "0.5.4",
"@firebase/firestore-types": "2.3.0",
"@firebase/logger": "0.2.6",
- "@firebase/util": "1.2.0",
+ "@firebase/util": "1.1.0",
"@firebase/webchannel-wrapper": "0.5.1",
"@grpc/grpc-js": "^1.3.2",
"@grpc/proto-loader": "^0.6.0",
@@ -8155,11 +8453,11 @@
"requires": {}
},
"@firebase/functions": {
- "version": "0.6.14",
- "resolved": "https://registry.npmjs.org/@firebase/functions/-/functions-0.6.14.tgz",
- "integrity": "sha512-Gthru/wHPQqkn651MenVM+qKVFFqIyFcNT3qfJUacibqrKlvDtYtaCMjFGAkChuGnYzNVnXJIaNrIHkEIII4Hg==",
+ "version": "0.6.13",
+ "resolved": "https://registry.npmjs.org/@firebase/functions/-/functions-0.6.13.tgz",
+ "integrity": "sha512-BSMXjcGXfe33Tdb/a6esYGndMPY7bhMTRlP1si5W0oL8ovsHpiAllrrECbcqp7VU1qQtAZlC7U/pWF733yIRuw==",
"requires": {
- "@firebase/component": "0.5.5",
+ "@firebase/component": "0.5.4",
"@firebase/functions-types": "0.4.0",
"@firebase/messaging-types": "0.5.0",
"node-fetch": "2.6.1",
@@ -8172,13 +8470,13 @@
"integrity": "sha512-3KElyO3887HNxtxNF1ytGFrNmqD+hheqjwmT3sI09FaDCuaxGbOnsXAXH2eQ049XRXw9YQpHMgYws/aUNgXVyQ=="
},
"@firebase/installations": {
- "version": "0.4.31",
- "resolved": "https://registry.npmjs.org/@firebase/installations/-/installations-0.4.31.tgz",
- "integrity": "sha512-qWolhAgMHvD3avsNCl+K8+untzoDDFQIRR8At8kyWMKKosy0vttdWTWzjvDoZbyKU6r0RNlxDUWAgV88Q8EudQ==",
+ "version": "0.4.30",
+ "resolved": "https://registry.npmjs.org/@firebase/installations/-/installations-0.4.30.tgz",
+ "integrity": "sha512-7Ci8UVIkeb+V5BzZiA2dfjTYDIeKS4cW7EXit5ZGnd4J9d9NZW9Fnyx/XpvlhrODleBKhXuip/3rF1pfJq+/5Q==",
"requires": {
- "@firebase/component": "0.5.5",
+ "@firebase/component": "0.5.4",
"@firebase/installations-types": "0.3.4",
- "@firebase/util": "1.2.0",
+ "@firebase/util": "1.1.0",
"idb": "3.0.2",
"tslib": "^2.1.0"
}
@@ -8195,14 +8493,14 @@
"integrity": "sha512-KIxcUvW/cRGWlzK9Vd2KB864HlUnCfdTH0taHE0sXW5Xl7+W68suaeau1oKNEqmc3l45azkd4NzXTCWZRZdXrw=="
},
"@firebase/messaging": {
- "version": "0.7.15",
- "resolved": "https://registry.npmjs.org/@firebase/messaging/-/messaging-0.7.15.tgz",
- "integrity": "sha512-81t6iJtqMBJF5LHTjDhlHUpbPZOV6dKhW0TueAoON4omc0SaDXgf4nnk6JkvZRfdcuOaP8848Cv53tvZPFFAYQ==",
+ "version": "0.7.14",
+ "resolved": "https://registry.npmjs.org/@firebase/messaging/-/messaging-0.7.14.tgz",
+ "integrity": "sha512-qWaaGaDAFA/QejkHXPTRbA17KUi1+Rvip7XMo8Oqrh14E8o0VQwR2e7n54qTkngl4hphOv1YMuM8uXRKU5fVGQ==",
"requires": {
- "@firebase/component": "0.5.5",
- "@firebase/installations": "0.4.31",
+ "@firebase/component": "0.5.4",
+ "@firebase/installations": "0.4.30",
"@firebase/messaging-types": "0.5.0",
- "@firebase/util": "1.2.0",
+ "@firebase/util": "1.1.0",
"idb": "3.0.2",
"tslib": "^2.1.0"
}
@@ -8214,15 +8512,15 @@
"requires": {}
},
"@firebase/performance": {
- "version": "0.4.17",
- "resolved": "https://registry.npmjs.org/@firebase/performance/-/performance-0.4.17.tgz",
- "integrity": "sha512-uhDs9rhdMrGraYHcd3CTRkGtcNap4hp6rAHTwJNIX56Z3RzQ1VW2ea9vvesl7EjFtEIPU0jfdrS32wV+qer5DQ==",
+ "version": "0.4.16",
+ "resolved": "https://registry.npmjs.org/@firebase/performance/-/performance-0.4.16.tgz",
+ "integrity": "sha512-todNreR+HPedqPul0FXalKzJYzYIs5Q9jba9ulqKo19vqTRX9YO+8EOmqwS445CgBghCZxeXkKmKm9p//JNZtg==",
"requires": {
- "@firebase/component": "0.5.5",
- "@firebase/installations": "0.4.31",
+ "@firebase/component": "0.5.4",
+ "@firebase/installations": "0.4.30",
"@firebase/logger": "0.2.6",
"@firebase/performance-types": "0.0.13",
- "@firebase/util": "1.2.0",
+ "@firebase/util": "1.1.0",
"tslib": "^2.1.0"
}
},
@@ -8242,15 +8540,15 @@
}
},
"@firebase/remote-config": {
- "version": "0.1.42",
- "resolved": "https://registry.npmjs.org/@firebase/remote-config/-/remote-config-0.1.42.tgz",
- "integrity": "sha512-hWwtAZmYLB274bxjV2cdMYhyBCUUqbYErihGx3rMyab76D+VbIxOuKJb2z0DS67jQG+SA3pr9/MtWsTPHV/l9g==",
+ "version": "0.1.41",
+ "resolved": "https://registry.npmjs.org/@firebase/remote-config/-/remote-config-0.1.41.tgz",
+ "integrity": "sha512-ixySdhripxOz/wUiGxjVwU9hhxPkRy1N9YzLZmbQK9zrD6HPmyIRFRGp9Uh3PukD+gMqrHAwPPdkkwt6I35k9A==",
"requires": {
- "@firebase/component": "0.5.5",
- "@firebase/installations": "0.4.31",
+ "@firebase/component": "0.5.4",
+ "@firebase/installations": "0.4.30",
"@firebase/logger": "0.2.6",
"@firebase/remote-config-types": "0.1.9",
- "@firebase/util": "1.2.0",
+ "@firebase/util": "1.1.0",
"tslib": "^2.1.0"
}
},
@@ -8260,13 +8558,13 @@
"integrity": "sha512-G96qnF3RYGbZsTRut7NBX0sxyczxt1uyCgXQuH/eAfUCngxjEGcZQnBdy6mvSdqdJh5mC31rWPO4v9/s7HwtzA=="
},
"@firebase/storage": {
- "version": "0.6.2",
- "resolved": "https://registry.npmjs.org/@firebase/storage/-/storage-0.6.2.tgz",
- "integrity": "sha512-qbYx+KOxnD5andWAtVPgMHFa/62jdLCgPGdfIRQIEgBoYibk3KigRYVdnfKRLcCO3Vip63BRUvyeqfiUHNNu2g==",
+ "version": "0.5.6",
+ "resolved": "https://registry.npmjs.org/@firebase/storage/-/storage-0.5.6.tgz",
+ "integrity": "sha512-T18/BvLTuuFaNSDxpojr7T0g07aO+q+hJjk03HFwQbifJxyxdsYZIwKu1Bdo+t48Qyh+l2tOjN4TiidIydUN2w==",
"requires": {
- "@firebase/component": "0.5.5",
+ "@firebase/component": "0.5.4",
"@firebase/storage-types": "0.4.1",
- "@firebase/util": "1.2.0",
+ "@firebase/util": "1.1.0",
"node-fetch": "2.6.1",
"tslib": "^2.1.0"
}
@@ -8278,9 +8576,9 @@
"requires": {}
},
"@firebase/util": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/@firebase/util/-/util-1.2.0.tgz",
- "integrity": "sha512-8W9TTGImXr9cu+oyjBJ7yjoEd/IVAv0pBZA4c1uIuKrpGZi2ee38m+8xlZOBRmsAaOU/tR9DXz1WF/oeM6Fb7Q==",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@firebase/util/-/util-1.1.0.tgz",
+ "integrity": "sha512-lfuSASuPKNdfebuFR8rjFamMQUPH9iiZHcKS755Rkm/5gRT0qC7BMhCh3ZkHf7NVbplzIc/GhmX2jM+igDRCag==",
"requires": {
"tslib": "^2.1.0"
}
@@ -8291,27 +8589,27 @@
"integrity": "sha512-dZMzN0uAjwJXWYYAcnxIwXqRTZw3o14hGe7O6uhwjD1ZQWPVYA5lASgnNskEBra0knVBsOXB4KXg+HnlKewN/A=="
},
"@formatjs/cli": {
- "version": "4.2.30",
- "resolved": "https://registry.npmjs.org/@formatjs/cli/-/cli-4.2.30.tgz",
- "integrity": "sha512-kmikjX2ahC7ymyh4kG09ZkVIZpTVY93LS7NJI2PtLpWwp4YNvbI3Ii/4a1bQLVGbIUwZwzq5Fo58nfoXEjLekA==",
+ "version": "4.2.27",
+ "resolved": "https://registry.npmjs.org/@formatjs/cli/-/cli-4.2.27.tgz",
+ "integrity": "sha512-P+y3nIBa+IMfv8dKPdZ38xhF/l9AghsU8kKi2onUJLpvjjDdjTEUTleaPpVghZKhe6BqNbso+anludxlZUdKoA==",
"dev": true,
"requires": {
- "@formatjs/icu-messageformat-parser": "2.0.9",
- "@formatjs/ts-transformer": "3.4.7",
- "@types/estree": "^0.0.50",
- "@types/fs-extra": "^9.0.1",
+ "@formatjs/icu-messageformat-parser": "2.0.7",
+ "@formatjs/ts-transformer": "3.4.5",
"@types/json-stable-stringify": "^1.0.32",
+ "@types/lodash": "^4.14.150",
"@types/node": "14",
- "@vue/compiler-core": "^3.0.5",
+ "@vue/compiler-core": "^3.0.0",
"@vue/compiler-sfc": "^3.0.5",
"chalk": "^4.0.0",
"commander": "8",
- "fast-glob": "^3.2.7",
- "fs-extra": "10",
+ "fast-glob": "^3.2.4",
+ "fs-extra": "^9.0.0",
"json-stable-stringify": "^1.0.1",
+ "lodash": "^4.17.15",
"loud-rejection": "^2.2.0",
"tslib": "^2.1.0",
- "typescript": "4"
+ "typescript": "^4.0"
},
"dependencies": {
"ansi-styles": {
@@ -8324,9 +8622,9 @@
}
},
"chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz",
+ "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==",
"dev": true,
"requires": {
"ansi-styles": "^4.1.0",
@@ -8366,96 +8664,135 @@
}
},
"@formatjs/ecma402-abstract": {
- "version": "1.9.6",
- "resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-1.9.6.tgz",
- "integrity": "sha512-fgXUydhzng3JCSm3HB1bt01m1otnMybX4b/CEI/fJRPvzgtq5XwV2qW/WQQdOLTr29/ttRHCEk2Mb9IP5K/PjQ==",
+ "version": "1.9.4",
+ "resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-1.9.4.tgz",
+ "integrity": "sha512-ePJXI7tWC9PBxQxS7jtbkCLGVmpC8MH8n9Yjmg8dsh9wXK9svu7nAbq76Oiu5Zb+5GVkLkeTVerlSvHCbNImlA==",
"requires": {
- "@formatjs/intl-localematcher": "0.2.19",
"tslib": "^2.1.0"
}
},
"@formatjs/fast-memoize": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/@formatjs/fast-memoize/-/fast-memoize-1.1.2.tgz",
- "integrity": "sha512-HfN6D9yd9vhypWwTVpJHqoSb50KFuoxZ2ZS6AM1XNSyihWk7JJXjZ3mgvboJU4eNSsdxAWwR1ke5KIOobEVwBA==",
- "requires": {
- "tslib": "^2.1.0"
- }
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/@formatjs/fast-memoize/-/fast-memoize-1.1.1.tgz",
+ "integrity": "sha512-mIqBr5uigIlx13eZTOPSEh2buDiy3BCdMYUtewICREQjbb4xarDiVWoXSnrERM7NanZ+0TAHNXSqDe6HpEFQUg=="
},
"@formatjs/icu-messageformat-parser": {
- "version": "2.0.9",
- "resolved": "https://registry.npmjs.org/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.0.9.tgz",
- "integrity": "sha512-L1a4W7Tbk41EjENYLLeYy1B9mX85kP6Wx2bzF/VLkGOk2bkFSEFzyb2XtYuklMzWhgka665LhxyPyJy3Ktpq6A==",
+ "version": "2.0.7",
+ "resolved": "https://registry.npmjs.org/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.0.7.tgz",
+ "integrity": "sha512-gduYfh/YdBTmb1XzLueNaofiGZVMrkaDg0RSa0GNztKWs4QXIRS+28cjcuWNpV0q5S8aiLMkP7SHQpZKnPCHLw==",
"requires": {
- "@formatjs/ecma402-abstract": "1.9.6",
- "@formatjs/icu-skeleton-parser": "1.2.10",
+ "@formatjs/ecma402-abstract": "1.9.4",
+ "@formatjs/icu-skeleton-parser": "1.2.8",
"tslib": "^2.1.0"
}
},
"@formatjs/icu-skeleton-parser": {
- "version": "1.2.10",
- "resolved": "https://registry.npmjs.org/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.2.10.tgz",
- "integrity": "sha512-S96jf8V2SLBhjN7zTJ9xsroOOxS+STKtrjKKmF84+PAEGYAn5qlP62k9mbR0ir2cY80WNB5ehUmeDbo0plAkqg==",
+ "version": "1.2.8",
+ "resolved": "https://registry.npmjs.org/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.2.8.tgz",
+ "integrity": "sha512-KLSSAA7Q2Uv7msij8saaOE5rpsHK/2WkfS3737JnDyVTFOYe8l2OarIBUoTC5gi1BnCgiN/1icZlqXwyUX6obA==",
"requires": {
- "@formatjs/ecma402-abstract": "1.9.6",
+ "@formatjs/ecma402-abstract": "1.9.4",
"tslib": "^2.1.0"
}
},
"@formatjs/intl": {
- "version": "1.13.5",
- "resolved": "https://registry.npmjs.org/@formatjs/intl/-/intl-1.13.5.tgz",
- "integrity": "sha512-Xp9GVwwQTGHRnkvSYZJ3nVqyOoMMqu8BCFVg07ycav4mpg3qLZn4QkO76fKvFkwmcYQssUN2b+ArVuaEoPNEYw==",
+ "version": "1.13.2",
+ "resolved": "https://registry.npmjs.org/@formatjs/intl/-/intl-1.13.2.tgz",
+ "integrity": "sha512-aonTXXaI/Guqr4t87m/XWfmgE9aPefDTLRnCwadxBDkUHw1/HQeUV+lp/3BgiPZfemIdBq9UgdigDCwrpEwrTA==",
"requires": {
- "@formatjs/ecma402-abstract": "1.9.6",
- "@formatjs/fast-memoize": "1.1.2",
- "@formatjs/intl-displaynames": "5.2.1",
- "@formatjs/intl-listformat": "6.3.1",
- "intl-messageformat": "9.8.2",
+ "@formatjs/ecma402-abstract": "1.9.4",
+ "@formatjs/fast-memoize": "1.1.1",
+ "@formatjs/icu-messageformat-parser": "2.0.7",
+ "@formatjs/intl-displaynames": "5.1.6",
+ "@formatjs/intl-listformat": "6.2.6",
+ "intl-messageformat": "9.7.1",
"tslib": "^2.1.0"
}
},
"@formatjs/intl-displaynames": {
- "version": "5.2.1",
- "resolved": "https://registry.npmjs.org/@formatjs/intl-displaynames/-/intl-displaynames-5.2.1.tgz",
- "integrity": "sha512-sASYPnWHbEm6eLKzLWvt6CInlmxVJjdwc1GP/PwPgopwFiVaTqs62FRRt4xODJBo7QBL/Xdpx5pXBFUbAkyeqA==",
+ "version": "5.1.6",
+ "resolved": "https://registry.npmjs.org/@formatjs/intl-displaynames/-/intl-displaynames-5.1.6.tgz",
+ "integrity": "sha512-s0eDyQFM2gQIPgn+MyaH+UcCvp6ui2ft9UW1gsIkjBkaprRlzKMd3fjxcUFO/I7oyXXA6FYR4qHR8u1I0+PvXA==",
"requires": {
- "@formatjs/ecma402-abstract": "1.9.6",
- "@formatjs/intl-localematcher": "0.2.19",
+ "@formatjs/ecma402-abstract": "1.9.4",
"tslib": "^2.1.0"
}
},
"@formatjs/intl-listformat": {
- "version": "6.3.1",
- "resolved": "https://registry.npmjs.org/@formatjs/intl-listformat/-/intl-listformat-6.3.1.tgz",
- "integrity": "sha512-Oxssy7nx2e86TDMHGYJ1kjX/sJlTzemLqLpV6IRIeJ2wuVuQQyVXNyWMYBPx+1SDN0j9YigsFQ/b4bhdsOWn0w==",
- "requires": {
- "@formatjs/ecma402-abstract": "1.9.6",
- "@formatjs/intl-localematcher": "0.2.19",
- "tslib": "^2.1.0"
- }
- },
- "@formatjs/intl-localematcher": {
- "version": "0.2.19",
- "resolved": "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.2.19.tgz",
- "integrity": "sha512-eyrTiqciBSBfwx6PyyVJCEhXeAOXVJWWlvyR0Lx7OkTikWIrqhl8VIifyq3wwBiCMPOyCDN1ccik9VBdGcDiHA==",
+ "version": "6.2.6",
+ "resolved": "https://registry.npmjs.org/@formatjs/intl-listformat/-/intl-listformat-6.2.6.tgz",
+ "integrity": "sha512-6FMdQY1+QKqJW5IhsVPFuEaR/uRiBKP+Y1oDvamZKzDfJ2vQmk9jqSF51VztlZH8XSfdO0IgvBzeRPHahKChQA==",
"requires": {
+ "@formatjs/ecma402-abstract": "1.9.4",
"tslib": "^2.1.0"
}
},
"@formatjs/ts-transformer": {
- "version": "3.4.7",
- "resolved": "https://registry.npmjs.org/@formatjs/ts-transformer/-/ts-transformer-3.4.7.tgz",
- "integrity": "sha512-Krt8s1glGkWDSPbEEutPM4MY2Xu8ppdvkOMLwLmYqQ64qU9ucUMM9xXtMV4GsBJR3Q+CUKd1xm3HusstjyvvFQ==",
+ "version": "3.4.5",
+ "resolved": "https://registry.npmjs.org/@formatjs/ts-transformer/-/ts-transformer-3.4.5.tgz",
+ "integrity": "sha512-VzjT9jbpizZhwvtX/jaoTOeHQ/nvEx9ttzDrRXcFIGXyxupBZKTxr/+v6j3NjUmeiuN3JfaXhZUYmG+zsS0kxw==",
"dev": true,
"requires": {
- "@formatjs/icu-messageformat-parser": "2.0.9",
+ "@formatjs/icu-messageformat-parser": "2.0.7",
+ "chalk": "^4.1.1",
"tslib": "^2.1.0"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dev": true,
+ "requires": {
+ "color-convert": "^2.0.1"
+ }
+ },
+ "chalk": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz",
+ "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ }
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ },
+ "has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^4.0.0"
+ }
+ }
}
},
"@grpc/grpc-js": {
- "version": "1.3.7",
- "resolved": "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.3.7.tgz",
- "integrity": "sha512-CKQVuwuSPh40tgOkR7c0ZisxYRiN05PcKPW72mQL5y++qd7CwBRoaJZvU5xfXnCJDFBmS3qZGQ71Frx6Ofo2XA==",
+ "version": "1.3.4",
+ "resolved": "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.3.4.tgz",
+ "integrity": "sha512-AxtZcm0mArQhY9z8T3TynCYVEaSKxNCa9mVhVwBCUnsuUEe8Zn94bPYYKVQSLt+hJJ1y0ukr3mUvtWfcATL/IQ==",
"requires": {
"@types/node": ">=12.12.47"
}
@@ -8609,9 +8946,9 @@
}
},
"@types/eslint": {
- "version": "7.28.0",
- "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-7.28.0.tgz",
- "integrity": "sha512-07XlgzX0YJUn4iG1ocY4IX9DzKSmMGUs6ESKlxWhZRaa0fatIWaHWUVapcuGa8r5HFnTqzj+4OCjd5f7EZ/i/A==",
+ "version": "7.2.14",
+ "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-7.2.14.tgz",
+ "integrity": "sha512-pESyhSbUOskqrGcaN+bCXIQDyT5zTaRWfj5ZjjSlMatgGjIn3QQPfocAu4WSabUR7CGyLZ2CQaZyISOEX7/saw==",
"dev": true,
"requires": {
"@types/estree": "*",
@@ -8629,20 +8966,11 @@
}
},
"@types/estree": {
- "version": "0.0.50",
- "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.50.tgz",
- "integrity": "sha512-C6N5s2ZFtuZRj54k2/zyRhNDjJwwcViAM3Nbm8zjBpbqAdZ00mr0CFxvSKeO8Y/e03WVFLpQMdHYVfUd6SB+Hw==",
+ "version": "0.0.48",
+ "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.48.tgz",
+ "integrity": "sha512-LfZwXoGUDo0C3me81HXgkBg5CTQYb6xzEl+fNmbO4JdRiSKQ8A0GD1OBBvKAIsbCUgoyAty7m99GqqMQe784ew==",
"dev": true
},
- "@types/fs-extra": {
- "version": "9.0.12",
- "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-9.0.12.tgz",
- "integrity": "sha512-I+bsBr67CurCGnSenZZ7v94gd3tc3+Aj2taxMT4yu4ABLuOgOjeFxX3dokG24ztSRg5tnT00sL8BszO7gSMoIw==",
- "dev": true,
- "requires": {
- "@types/node": "*"
- }
- },
"@types/hoist-non-react-statics": {
"version": "3.3.1",
"resolved": "https://registry.npmjs.org/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.1.tgz",
@@ -8653,9 +8981,9 @@
}
},
"@types/json-schema": {
- "version": "7.0.9",
- "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.9.tgz",
- "integrity": "sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==",
+ "version": "7.0.8",
+ "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.8.tgz",
+ "integrity": "sha512-YSBPTLTVm2e2OoQIDYx8HaeWJ5tTToLH67kXR7zYNGupXMEHa2++G8k+DczX2cFVgalypqtyZIcU19AFcmOpmg==",
"dev": true
},
"@types/json-stable-stringify": {
@@ -8664,15 +8992,27 @@
"integrity": "sha512-qEWiQff6q2tA5gcJGWwzplQcXdJtm+0oy6IHGHzlOf3eFAkGE/FIPXZK9ofWgNSHVp8AFFI33PJJshS0ei3Gvw==",
"dev": true
},
+ "@types/lodash": {
+ "version": "4.14.171",
+ "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.171.tgz",
+ "integrity": "sha512-7eQ2xYLLI/LsicL2nejW9Wyko3lcpN6O/z0ZLHrEQsg280zIdCv1t/0m6UtBjUHokCGBQ3gYTbHzDkZ1xOBwwg==",
+ "dev": true
+ },
"@types/long": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.1.tgz",
"integrity": "sha512-5tXH6Bx/kNGd3MgffdmP4dy2Z+G4eaXw0SE81Tq3BNadtnMR5/ySMzX4SLEzHJzSmPNn4HIdpQsBvXMUykr58w=="
},
"@types/node": {
- "version": "14.17.9",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-14.17.9.tgz",
- "integrity": "sha512-CMjgRNsks27IDwI785YMY0KLt3co/c0cQ5foxHYv/shC2w8oOnVwz5Ubq1QG5KzrcW+AXk6gzdnxIkDnTvzu3g=="
+ "version": "14.17.5",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-14.17.5.tgz",
+ "integrity": "sha512-bjqH2cX/O33jXT/UmReo2pM7DIJREPMnarixbQ57DOOzzFaI6D2+IcwaJQaJpv0M1E9TIhPCYVxrkcityLjlqA=="
+ },
+ "@types/parse-json": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz",
+ "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==",
+ "dev": true
},
"@types/prop-types": {
"version": "15.7.4",
@@ -8680,9 +9020,9 @@
"integrity": "sha512-rZ5drC/jWjrArrS8BR6SIr4cWpW09RNTYt9AMZo3Jwwif+iacXAqgVjm0B0Bv/S1jhDXKHqRVNCbACkJ89RAnQ=="
},
"@types/react": {
- "version": "17.0.17",
- "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.17.tgz",
- "integrity": "sha512-nrfi7I13cAmrd0wje8czYpf5SFbryczCtPzFc6ijqvdjKcyA3tCvGxwchOUlxb2ucBPuJ9Y3oUqKrRqZvrz0lw==",
+ "version": "17.0.14",
+ "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.14.tgz",
+ "integrity": "sha512-0WwKHUbWuQWOce61UexYuWTGuGY/8JvtUe/dtQ6lR4sZ3UiylHotJeWpf3ArP9+DSGUoLY3wbU59VyMrJps5VQ==",
"requires": {
"@types/prop-types": "*",
"@types/scheduler": "*",
@@ -8695,14 +9035,14 @@
"integrity": "sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew=="
},
"@vue/compiler-core": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.2.2.tgz",
- "integrity": "sha512-QhCI0ZU5nAR0LMcLgzW3v75374tIrHGp8XG5CzJS7Nsy+iuignbE4MZ2XJfh5TGIrtpuzfWA4eTIfukZf/cRdg==",
+ "version": "3.1.4",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.1.4.tgz",
+ "integrity": "sha512-TnUz+1z0y74O/A4YKAbzsdUfamyHV73MihrEfvettWpm9bQKVoZd1nEmR1cGN9LsXWlwAvVQBetBlWdOjmQO5Q==",
"dev": true,
"requires": {
"@babel/parser": "^7.12.0",
"@babel/types": "^7.12.0",
- "@vue/shared": "3.2.2",
+ "@vue/shared": "3.1.4",
"estree-walker": "^2.0.1",
"source-map": "^0.6.1"
},
@@ -8716,28 +9056,28 @@
}
},
"@vue/compiler-dom": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.2.2.tgz",
- "integrity": "sha512-ggcc+NV/ENIE0Uc3TxVE/sKrhYVpLepMAAmEiQ047332mbKOvUkowz4TTFZ+YkgOIuBOPP0XpCxmCMg7p874mA==",
+ "version": "3.1.4",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.1.4.tgz",
+ "integrity": "sha512-3tG2ScHkghhUBuFwl9KgyZhrS8CPFZsO7hUDekJgIp5b1OMkROr4AvxHu6rRMl4WkyvYkvidFNBS2VfOnwa6Kw==",
"dev": true,
"requires": {
- "@vue/compiler-core": "3.2.2",
- "@vue/shared": "3.2.2"
+ "@vue/compiler-core": "3.1.4",
+ "@vue/shared": "3.1.4"
}
},
"@vue/compiler-sfc": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.2.2.tgz",
- "integrity": "sha512-hrtqpQ5L6IPn5v7yVRo7uvLcQxv0z1+KBjZBWMBOcrXz4t+PKUxU/SWd6Tl9T8FDmYlunzKUh6lcx+2CLo6f5A==",
+ "version": "3.1.4",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.1.4.tgz",
+ "integrity": "sha512-4KDQg60Khy3SgnF+V/TB2NZqzmM4TyGRmzsxqG1SebGdMSecCweFDSlI/F1vDYk6dKiCHgmpoT9A1sLxswkJ0A==",
"dev": true,
"requires": {
"@babel/parser": "^7.13.9",
"@babel/types": "^7.13.0",
"@types/estree": "^0.0.48",
- "@vue/compiler-core": "3.2.2",
- "@vue/compiler-dom": "3.2.2",
- "@vue/compiler-ssr": "3.2.2",
- "@vue/shared": "3.2.2",
+ "@vue/compiler-core": "3.1.4",
+ "@vue/compiler-dom": "3.1.4",
+ "@vue/compiler-ssr": "3.1.4",
+ "@vue/shared": "3.1.4",
"consolidate": "^0.16.0",
"estree-walker": "^2.0.1",
"hash-sum": "^2.0.0",
@@ -8750,12 +9090,6 @@
"source-map": "^0.6.1"
},
"dependencies": {
- "@types/estree": {
- "version": "0.0.48",
- "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.48.tgz",
- "integrity": "sha512-LfZwXoGUDo0C3me81HXgkBg5CTQYb6xzEl+fNmbO4JdRiSKQ8A0GD1OBBvKAIsbCUgoyAty7m99GqqMQe784ew==",
- "dev": true
- },
"source-map": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
@@ -8765,19 +9099,61 @@
}
},
"@vue/compiler-ssr": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.2.2.tgz",
- "integrity": "sha512-rVl1agMFhdEN3Go0bCriXo+3cysxKIuRP0yh1Wd8ysRrKfAmokyDhUA8PrGSq2Ymj/LdZTh+4OKfj3p2+C+hlA==",
+ "version": "3.1.4",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.1.4.tgz",
+ "integrity": "sha512-Box8fCuCFPp0FuimIswjDkjwiSDCBkHvt/xVALyFkYCiIMWv2eR53fIjmlsnEHhcBuZ+VgRC+UanCTcKvSA1gA==",
"dev": true,
"requires": {
- "@vue/compiler-dom": "3.2.2",
- "@vue/shared": "3.2.2"
+ "@vue/compiler-dom": "3.1.4",
+ "@vue/shared": "3.1.4"
+ }
+ },
+ "@vue/reactivity": {
+ "version": "3.1.4",
+ "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.1.4.tgz",
+ "integrity": "sha512-YDlgii2Cr9yAoKVZFzgY4j0mYlVT73986X3e5SPp6ifqckSEoFSUWXZK2Tb53TB/9qO29BEEbspnKD3m3wAwkA==",
+ "dev": true,
+ "peer": true,
+ "requires": {
+ "@vue/shared": "3.1.4"
+ }
+ },
+ "@vue/runtime-core": {
+ "version": "3.1.4",
+ "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.1.4.tgz",
+ "integrity": "sha512-qmVJgJuFxfT7M4qHQ4M6KqhKC66fjuswK+aBivE8dWiZ2rtIGl9gtJGpwqwjQEcKEBTOfvvrtrwBncYArJUO8Q==",
+ "dev": true,
+ "peer": true,
+ "requires": {
+ "@vue/reactivity": "3.1.4",
+ "@vue/shared": "3.1.4"
+ }
+ },
+ "@vue/runtime-dom": {
+ "version": "3.1.4",
+ "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.1.4.tgz",
+ "integrity": "sha512-vbmwgTxku1BU87Kw7r29adv0OIrDXCW0PslOPQT0O/9R5SqcXgS94Yj6zsztDjvghegenwIAPNLlDR1Auh5s+w==",
+ "dev": true,
+ "peer": true,
+ "requires": {
+ "@vue/runtime-core": "3.1.4",
+ "@vue/shared": "3.1.4",
+ "csstype": "^2.6.8"
+ },
+ "dependencies": {
+ "csstype": {
+ "version": "2.6.17",
+ "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.17.tgz",
+ "integrity": "sha512-u1wmTI1jJGzCJzWndZo8mk4wnPTZd1eOIYTYvuEyOQGfmDl3TrabCCfKnOC86FZwW/9djqTl933UF/cS425i9A==",
+ "dev": true,
+ "peer": true
+ }
}
},
"@vue/shared": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.2.tgz",
- "integrity": "sha512-dvYb318tk9uOzHtSaT3WII/HscQSIRzoCZ5GyxEb3JlkEXASpAUAQwKnvSe2CudnF8XHFRTB7VITWSnWNLZUtA==",
+ "version": "3.1.4",
+ "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.1.4.tgz",
+ "integrity": "sha512-6O45kZAmkLvzGLToBxEz4lR2W6kXohCtebV2UxjH9GXjd8X9AhEn68FN9eNanFtWNzvgw1hqd6HkPRVQalqf7Q==",
"dev": true
},
"@webassemblyjs/ast": {
@@ -8967,13 +9343,6 @@
"integrity": "sha512-asabaBSkEKosYKMITunzX177CXxQ4Q8BSSzMTKD+FefUhipQC70gfW5SiUDhYQ3vk8G+81HqQk7Fv9OXwwn9KA==",
"dev": true
},
- "acorn-import-assertions": {
- "version": "1.7.6",
- "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.7.6.tgz",
- "integrity": "sha512-FlVvVFA1TX6l3lp8VjDnYYq7R1nyW6x3svAt4nDgrWQ9SBaSh9CnbwgSUTasgfNfOG5HlM1ehugCvM+hjo56LA==",
- "dev": true,
- "requires": {}
- },
"ajv": {
"version": "6.12.6",
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
@@ -9063,20 +9432,20 @@
}
},
"babel-plugin-formatjs": {
- "version": "10.3.4",
- "resolved": "https://registry.npmjs.org/babel-plugin-formatjs/-/babel-plugin-formatjs-10.3.4.tgz",
- "integrity": "sha512-LKclx8R1pexzdl1PMx1G4+l7u59V7psxSc098vS0E7BQtMLah6gfwy4Tbzy51kIjAJMuhcpC4orKZQGT9GQp/Q==",
+ "version": "10.3.2",
+ "resolved": "https://registry.npmjs.org/babel-plugin-formatjs/-/babel-plugin-formatjs-10.3.2.tgz",
+ "integrity": "sha512-u1A6/PpwGD4xb3X+egEb6BQ2QbumHFgJYduGCxMiRhONfEsVeD2SdvDlOsS1CWOr/03SFIB/U5j+QbUM1lh7sw==",
"dev": true,
"requires": {
- "@babel/core": "^7.10.4",
- "@babel/helper-plugin-utils": "^7.10.4",
+ "@babel/core": "^7.9.0",
+ "@babel/helper-plugin-utils": "^7.8.3",
"@babel/plugin-syntax-jsx": "7",
"@babel/traverse": "7",
- "@babel/types": "^7.12.11",
- "@formatjs/icu-messageformat-parser": "2.0.9",
- "@formatjs/ts-transformer": "3.4.7",
+ "@babel/types": "^7.9.5",
+ "@formatjs/icu-messageformat-parser": "2.0.7",
+ "@formatjs/ts-transformer": "3.4.5",
"@types/babel__core": "^7.1.7",
- "@types/babel__helper-plugin-utils": "^7.10.0",
+ "@types/babel__helper-plugin-utils": "7",
"tslib": "^2.1.0"
}
},
@@ -9092,9 +9461,9 @@
}
},
"babel-plugin-polyfill-corejs3": {
- "version": "0.2.4",
- "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.2.4.tgz",
- "integrity": "sha512-z3HnJE5TY/j4EFEa/qpQMSbcUJZ5JQi+3UFjXzn6pQCmIKc5Ug5j98SuYyH+m4xQnvKlMDIW4plLfgyVnd0IcQ==",
+ "version": "0.2.3",
+ "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.2.3.tgz",
+ "integrity": "sha512-rCOFzEIJpJEAU14XCcV/erIf/wZQMmMT5l5vXOpL5uoznyOGfDIjPj6FVytMvtzaKSTSVKouOCTPJ5OMUZH30g==",
"dev": true,
"requires": {
"@babel/helper-define-polyfill-provider": "^0.2.2",
@@ -9160,22 +9529,22 @@
}
},
"browserslist": {
- "version": "4.16.7",
- "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.7.tgz",
- "integrity": "sha512-7I4qVwqZltJ7j37wObBe3SoTz+nS8APaNcrBOlgoirb6/HbEU2XxW/LpUDTCngM6iauwFqmRTuOMfyKnFGY5JA==",
+ "version": "4.16.6",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.6.tgz",
+ "integrity": "sha512-Wspk/PqO+4W9qp5iUTJsa1B/QrYn1keNCcEP5OvP7WBwT4KaDly0uONYmC6Xa3Z5IqnUgS0KcgLYu1l74x0ZXQ==",
"dev": true,
"requires": {
- "caniuse-lite": "^1.0.30001248",
+ "caniuse-lite": "^1.0.30001219",
"colorette": "^1.2.2",
- "electron-to-chromium": "^1.3.793",
+ "electron-to-chromium": "^1.3.723",
"escalade": "^3.1.1",
- "node-releases": "^1.1.73"
+ "node-releases": "^1.1.71"
}
},
"buffer-from": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
- "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==",
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz",
+ "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==",
"dev": true
},
"call-bind": {
@@ -9188,6 +9557,12 @@
"get-intrinsic": "^1.0.2"
}
},
+ "callsites": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
+ "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
+ "dev": true
+ },
"caniuse-api": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz",
@@ -9201,9 +9576,9 @@
}
},
"caniuse-lite": {
- "version": "1.0.30001251",
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001251.tgz",
- "integrity": "sha512-HOe1r+9VkU4TFmnU70z+r7OLmtR+/chB1rdcJUeQlAinjEeb0cKL20tlAtOagNZhbrtLnCvV19B4FmF1rgzl6A==",
+ "version": "1.0.30001243",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001243.tgz",
+ "integrity": "sha512-vNxw9mkTBtkmLFnJRv/2rhs1yufpDfCkBZexG3Y0xdOH2Z/eE/85E4Dl5j1YUN34nZVsSp6vVRFQRrez9wJMRA==",
"dev": true
},
"chalk": {
@@ -9287,21 +9662,21 @@
"dev": true
},
"colord": {
- "version": "2.7.0",
- "resolved": "https://registry.npmjs.org/colord/-/colord-2.7.0.tgz",
- "integrity": "sha512-pZJBqsHz+pYyw3zpX6ZRXWoCHM1/cvFikY9TV8G3zcejCaKE0lhankoj8iScyrrePA8C7yJ5FStfA9zbcOnw7Q==",
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/colord/-/colord-2.1.0.tgz",
+ "integrity": "sha512-H5sDP9XDk2uP+x/xSGkgB9SEFc1bojdI5DMKU0jmSXQtml2GIe48dj1DcSS0e53QQAHn+JKqUXbGeGX24xWD7w==",
"dev": true
},
"colorette": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.3.0.tgz",
- "integrity": "sha512-ecORCqbSFP7Wm8Y6lyqMJjexBQqXSF7SSeaTyGGphogUjBlFP9m9o08wy86HL2uB7fMTxtOUzLMk7ogKcxMg1w==",
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.2.tgz",
+ "integrity": "sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==",
"dev": true
},
"commander": {
- "version": "8.1.0",
- "resolved": "https://registry.npmjs.org/commander/-/commander-8.1.0.tgz",
- "integrity": "sha512-mf45ldcuHSYShkplHHGKWb4TrmwQadxOn7v4WuhDJy0ZVoY5JFajaRDKD0PNe5qXzBX0rhovjTnP6Kz9LETcuA==",
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-8.0.0.tgz",
+ "integrity": "sha512-Xvf85aAtu6v22+E5hfVoLHqyul/jyxh91zvqk/ioJTQuJR7Z78n7H558vMPKanPSRgIEeZemT92I2g9Y8LPbSQ==",
"dev": true
},
"commondir": {
@@ -9350,12 +9725,12 @@
},
"dependencies": {
"schema-utils": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz",
- "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==",
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.0.tgz",
+ "integrity": "sha512-tTEaeYkyIhEZ9uWgAjDerWov3T9MgX8dhhy2r0IGeeX4W8ngtGl1++dUve/RUqzuaASSh7shwCDJjEzthxki8w==",
"dev": true,
"requires": {
- "@types/json-schema": "^7.0.8",
+ "@types/json-schema": "^7.0.7",
"ajv": "^6.12.5",
"ajv-keywords": "^3.5.2"
}
@@ -9368,12 +9743,12 @@
"integrity": "sha512-vZVEEwZoIsI+vPEuoF9Iqf5H7/M3eeQqWlQnYa8FSKKePuYTf5MWnxb5SDAzCa60b3JBRS5g9b+Dq7b1y/RCrA=="
},
"core-js-compat": {
- "version": "3.16.1",
- "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.16.1.tgz",
- "integrity": "sha512-NHXQXvRbd4nxp9TEmooTJLUf94ySUG6+DSsscBpTftN1lQLQ4LjnWvc7AoIo4UjDsFF3hB8Uh5LLCRRdaiT5MQ==",
+ "version": "3.15.2",
+ "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.15.2.tgz",
+ "integrity": "sha512-Wp+BJVvwopjI+A1EFqm2dwUmWYXrvucmtIB2LgXn/Rb+gWPKYxtmb4GKHGKG/KGF1eK9jfjzT38DITbTOCX/SQ==",
"dev": true,
"requires": {
- "browserslist": "^4.16.7",
+ "browserslist": "^4.16.6",
"semver": "7.0.0"
},
"dependencies": {
@@ -9385,6 +9760,19 @@
}
}
},
+ "cosmiconfig": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.0.tgz",
+ "integrity": "sha512-pondGvTuVYDk++upghXJabWzL6Kxu6f26ljFw64Swq9v6sQPUL3EUlVDV56diOjpCayKihL6hVe8exIACU4XcA==",
+ "dev": true,
+ "requires": {
+ "@types/parse-json": "^4.0.0",
+ "import-fresh": "^3.2.1",
+ "parse-json": "^5.0.0",
+ "path-type": "^4.0.0",
+ "yaml": "^1.10.0"
+ }
+ },
"cross-spawn": {
"version": "7.0.3",
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
@@ -9403,9 +9791,9 @@
"dev": true
},
"css-declaration-sorter": {
- "version": "6.1.1",
- "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.1.1.tgz",
- "integrity": "sha512-BZ1aOuif2Sb7tQYY1GeCjG7F++8ggnwUkH5Ictw0mrdpqpEd+zWmcPdstnH2TItlb74FqR0DrVEieon221T/1Q==",
+ "version": "6.0.3",
+ "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.0.3.tgz",
+ "integrity": "sha512-52P95mvW1SMzuRZegvpluT6yEv0FqQusydKQPZsNN5Q7hh8EwQvN8E2nwuJ16BBvNN6LcoIZXu/Bk58DAhrrxw==",
"dev": true,
"requires": {
"timsort": "^0.3.0"
@@ -9455,15 +9843,14 @@
"dev": true
},
"cssnano": {
- "version": "5.0.7",
- "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.0.7.tgz",
- "integrity": "sha512-7C0tbb298hef3rq+TtBbMuezBQ9VrFtrQEsPNuBKNVgWny/67vdRsnq8EoNu7TRjAHURgYvWlRIpCUmcMZkRzw==",
+ "version": "5.0.6",
+ "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.0.6.tgz",
+ "integrity": "sha512-NiaLH/7yqGksFGsFNvSRe2IV/qmEBAeDE64dYeD8OBrgp6lE8YoMeQJMtsv5ijo6MPyhuoOvFhI94reahBRDkw==",
"dev": true,
"requires": {
+ "cosmiconfig": "^7.0.0",
"cssnano-preset-default": "^5.1.3",
- "is-resolvable": "^1.1.0",
- "lilconfig": "^2.0.3",
- "yaml": "^1.10.2"
+ "is-resolvable": "^1.1.0"
}
},
"cssnano-preset-default": {
@@ -9609,9 +9996,9 @@
}
},
"electron-to-chromium": {
- "version": "1.3.805",
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.805.tgz",
- "integrity": "sha512-uUJF59M6pNSRHQaXwdkaNB4BhSQ9lldRdG1qCjlrAFkynPGDc5wPoUcYEQQeQGmKyAWJPvGkYAWmtVrxWmDAkg==",
+ "version": "1.3.772",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.772.tgz",
+ "integrity": "sha512-X/6VRCXWALzdX+RjCtBU6cyg8WZgoxm9YA02COmDOiNJEZ59WkQggDbWZ4t/giHi/3GS+cvdrP6gbLISANAGYA==",
"dev": true
},
"emoji-regex": {
@@ -9647,6 +10034,15 @@
"integrity": "sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==",
"dev": true
},
+ "error-ex": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
+ "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
+ "dev": true,
+ "requires": {
+ "is-arrayish": "^0.2.1"
+ }
+ },
"es-module-lexer": {
"version": "0.7.1",
"resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.7.1.tgz",
@@ -9822,33 +10218,34 @@
}
},
"firebase": {
- "version": "8.9.1",
- "resolved": "https://registry.npmjs.org/firebase/-/firebase-8.9.1.tgz",
- "integrity": "sha512-4aKRynB0LSWneYTPwWlAUbcJbgSS11lZRIo9MLNQh1uCo9BxRIYq/r3CCDJOx59tI2nwyv4RXf7hdkgSTF5FYw==",
+ "version": "8.7.1",
+ "resolved": "https://registry.npmjs.org/firebase/-/firebase-8.7.1.tgz",
+ "integrity": "sha512-OM+pUxIAqd5+XQMGux8InhhWmHDqlzQij67ljomMNblrxGiFOh8bMe+DGU9r8dh7CDaBYNtT6L0KR859BqhkDQ==",
"requires": {
- "@firebase/analytics": "0.6.17",
- "@firebase/app": "0.6.29",
- "@firebase/app-check": "0.3.1",
- "@firebase/app-types": "0.6.3",
+ "@firebase/analytics": "0.6.14",
+ "@firebase/app": "0.6.28",
+ "@firebase/app-check": "0.2.0",
+ "@firebase/app-types": "0.6.2",
"@firebase/auth": "0.16.8",
- "@firebase/database": "0.10.9",
- "@firebase/firestore": "2.3.10",
- "@firebase/functions": "0.6.14",
- "@firebase/installations": "0.4.31",
- "@firebase/messaging": "0.7.15",
- "@firebase/performance": "0.4.17",
+ "@firebase/database": "0.10.7",
+ "@firebase/firestore": "2.3.8",
+ "@firebase/functions": "0.6.13",
+ "@firebase/installations": "0.4.30",
+ "@firebase/messaging": "0.7.14",
+ "@firebase/performance": "0.4.16",
"@firebase/polyfill": "0.3.36",
- "@firebase/remote-config": "0.1.42",
- "@firebase/storage": "0.6.2",
- "@firebase/util": "1.2.0"
+ "@firebase/remote-config": "0.1.41",
+ "@firebase/storage": "0.5.6",
+ "@firebase/util": "1.1.0"
}
},
"fs-extra": {
- "version": "10.0.0",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.0.tgz",
- "integrity": "sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ==",
+ "version": "9.1.0",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz",
+ "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==",
"dev": true,
"requires": {
+ "at-least-node": "^1.0.0",
"graceful-fs": "^4.2.0",
"jsonfile": "^6.0.1",
"universalify": "^2.0.0"
@@ -9931,9 +10328,9 @@
}
},
"glob-parent": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.1.tgz",
- "integrity": "sha512-kEVjS71mQazDBHKcsq4E9u/vUzaLcw1A8EtUeydawvIWQCJM0qQ08G1H7/XTjFUulla6XQiDOG6MXSaG0HDKog==",
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.0.tgz",
+ "integrity": "sha512-Hdd4287VEJcZXUwv1l8a+vXC1GjOQqXe+VS30w/ypihpcnu9M1n3xeYeJu5CBpeEQj2nAab2xxz28GuA3vp4Ww==",
"dev": true,
"requires": {
"is-glob": "^4.0.1"
@@ -9966,9 +10363,9 @@
}
},
"graceful-fs": {
- "version": "4.2.8",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.8.tgz",
- "integrity": "sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==",
+ "version": "4.2.6",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz",
+ "integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==",
"dev": true
},
"has": {
@@ -10068,6 +10465,16 @@
"import-from": "^3.0.0"
}
},
+ "import-fresh": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
+ "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==",
+ "dev": true,
+ "requires": {
+ "parent-module": "^1.0.0",
+ "resolve-from": "^4.0.0"
+ }
+ },
"import-from": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/import-from/-/import-from-3.0.0.tgz",
@@ -10075,6 +10482,14 @@
"dev": true,
"requires": {
"resolve-from": "^5.0.0"
+ },
+ "dependencies": {
+ "resolve-from": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
+ "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
+ "dev": true
+ }
}
},
"import-local": {
@@ -10110,12 +10525,12 @@
"dev": true
},
"intl-messageformat": {
- "version": "9.8.2",
- "resolved": "https://registry.npmjs.org/intl-messageformat/-/intl-messageformat-9.8.2.tgz",
- "integrity": "sha512-Qjefia3jFUML9XWRl0G3VAeiMUX7GiWvKcY9EQZJCkX8eLbe1HvLOPQvMQ5UlQLrnis1qk1BcQqbpPPvWnM2iw==",
+ "version": "9.7.1",
+ "resolved": "https://registry.npmjs.org/intl-messageformat/-/intl-messageformat-9.7.1.tgz",
+ "integrity": "sha512-DNiuD+/59G9qaYu3U0KgwCV0zpN9XRoUvc8izSNCNAA5MknhiIUONFE0WtScP+E/7JfoENu+CX57P/SURRbI0A==",
"requires": {
- "@formatjs/fast-memoize": "1.1.2",
- "@formatjs/icu-messageformat-parser": "2.0.9",
+ "@formatjs/fast-memoize": "1.1.1",
+ "@formatjs/icu-messageformat-parser": "2.0.7",
"tslib": "^2.1.0"
}
},
@@ -10125,6 +10540,12 @@
"integrity": "sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q==",
"dev": true
},
+ "is-arrayish": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
+ "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=",
+ "dev": true
+ },
"is-binary-path": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
@@ -10157,9 +10578,9 @@
}
},
"is-core-module": {
- "version": "2.5.0",
- "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.5.0.tgz",
- "integrity": "sha512-TXCMSDsEHMEEZ6eCA8rwRDbLu55MRGmrctljsBX/2v1d9/GzqHOxW5c5oPSgrUt2vBFXebu9rGqckXGPWOlYpg==",
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.4.0.tgz",
+ "integrity": "sha512-6A2fkfq1rfeQZjxrZJGerpLCTHRNEBiSgnu0+obeJpEPZRUooHgsizvzv0ZjJwOz3iWIHdJtVWJ/tmPr3D21/A==",
"dev": true,
"requires": {
"has": "^1.0.3"
@@ -10207,9 +10628,9 @@
"dev": true
},
"is-stream": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz",
- "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz",
+ "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==",
"dev": true
},
"isexe": {
@@ -10269,6 +10690,12 @@
"integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==",
"dev": true
},
+ "json-parse-even-better-errors": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
+ "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==",
+ "dev": true
+ },
"json-schema-traverse": {
"version": "0.4.1",
"resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
@@ -10321,6 +10748,12 @@
"integrity": "sha512-EHKqr/+ZvdKCifpNrJCKxBTgk5XupZA3y/aCPY9mxfgBzmgh93Mt/WqjjQ38oMxXuvDokaKiM3lAgvSH2sjtHg==",
"dev": true
},
+ "lines-and-columns": {
+ "version": "1.1.6",
+ "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz",
+ "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=",
+ "dev": true
+ },
"loader-runner": {
"version": "4.2.0",
"resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.2.0.tgz",
@@ -10358,6 +10791,12 @@
"p-locate": "^4.1.0"
}
},
+ "lodash": {
+ "version": "4.17.21",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
+ "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
+ "dev": true
+ },
"lodash.camelcase": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz",
@@ -10507,18 +10946,18 @@
}
},
"mime-db": {
- "version": "1.49.0",
- "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.49.0.tgz",
- "integrity": "sha512-CIc8j9URtOVApSFCQIF+VBkX1RwXp/oMMOrqdyXSBXq5RWNEsRfyj1kiRnQgmNXmHxPoFIxOroKA3zcU9P+nAA==",
+ "version": "1.48.0",
+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.48.0.tgz",
+ "integrity": "sha512-FM3QwxV+TnZYQ2aRqhlKBMHxk10lTbMt3bBkMAp54ddrNeVSfcQYOOKuGuy3Ddrm38I04If834fOUSq1yzslJQ==",
"dev": true
},
"mime-types": {
- "version": "2.1.32",
- "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.32.tgz",
- "integrity": "sha512-hJGaVS4G4c9TSMYh2n6SQAGrC4RnfU+daP8G7cSCmaqNjiOoUY0VHCMS42pxnQmVF1GWwFhbHWn3RIxCqTmZ9A==",
+ "version": "2.1.31",
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.31.tgz",
+ "integrity": "sha512-XGZnNzm3QvgKxa8dpzyhFTHmpP3l5YNusmne07VUOXxou9CqUqYa/HBy124RqtVh/O2pECas/MOcsDgpilPOPg==",
"dev": true,
"requires": {
- "mime-db": "1.49.0"
+ "mime-db": "1.48.0"
}
},
"mimic-fn": {
@@ -10555,9 +10994,9 @@
"dev": true
},
"nanoid": {
- "version": "3.1.25",
- "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.25.tgz",
- "integrity": "sha512-rdwtIXaXCLFAQbnfqDRnI6jaRHp9fTcYBjtFKE8eezcZ7LuLjhUaQGNeMXf1HmRoCH32CLz6XwX0TtxEOS/A3Q==",
+ "version": "3.1.23",
+ "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.23.tgz",
+ "integrity": "sha512-FiB0kzdP0FFVGDKlRLEQ1BgDzU87dy5NnzjeW9YZNt+/c3+q82EQDUwniSAUxp/F0gFNI1ZhKU1FqYsMuqZVnw==",
"dev": true
},
"neo-async": {
@@ -10572,9 +11011,9 @@
"integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw=="
},
"node-releases": {
- "version": "1.1.74",
- "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.74.tgz",
- "integrity": "sha512-caJBVempXZPepZoZAPCWRTNxYQ+xtG/KAi4ozTA5A+nJ7IU+kLQCbqaUjb5Rwy14M9upBWiQ4NutcmW04LJSRw==",
+ "version": "1.1.73",
+ "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.73.tgz",
+ "integrity": "sha512-uW7fodD6pyW2FZNZnp/Z3hvWKeEW1Y8R1+1CnErE8cXFXzl5blBOoVB41CvMer6P6Q0S5FXDwcHgFd1Wj0U9zg==",
"dev": true
},
"normalize-path": {
@@ -10683,6 +11122,27 @@
"integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
"dev": true
},
+ "parent-module": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
+ "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
+ "dev": true,
+ "requires": {
+ "callsites": "^3.0.0"
+ }
+ },
+ "parse-json": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz",
+ "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==",
+ "dev": true,
+ "requires": {
+ "@babel/code-frame": "^7.0.0",
+ "error-ex": "^1.3.1",
+ "json-parse-even-better-errors": "^2.3.0",
+ "lines-and-columns": "^1.1.6"
+ }
+ },
"path-exists": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
@@ -10735,9 +11195,9 @@
}
},
"postcss": {
- "version": "8.3.6",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.3.6.tgz",
- "integrity": "sha512-wG1cc/JhRgdqB6WHEuyLTedf3KIRuD0hG6ldkFEZNCjRxiC+3i6kkWUUbiJQayP28iwG35cEmAbe98585BYV0A==",
+ "version": "8.3.5",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.3.5.tgz",
+ "integrity": "sha512-NxTuJocUhYGsMiMFHDUkmjSKT3EdH4/WbGF6GCi1NDGk+vbcUTun4fpbOqaPtD8IIsztA2ilZm2DhYCuyN58gA==",
"dev": true,
"requires": {
"colorette": "^1.2.2",
@@ -10785,9 +11245,9 @@
}
},
"chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz",
+ "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==",
"dev": true,
"requires": {
"ansi-styles": "^4.1.0",
@@ -10809,18 +11269,6 @@
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
"dev": true
},
- "fs-extra": {
- "version": "9.1.0",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz",
- "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==",
- "dev": true,
- "requires": {
- "at-least-node": "^1.0.0",
- "graceful-fs": "^4.2.0",
- "jsonfile": "^6.0.1",
- "universalify": "^2.0.0"
- }
- },
"has-flag": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
@@ -10966,9 +11414,9 @@
}
},
"postcss-modules": {
- "version": "4.2.2",
- "resolved": "https://registry.npmjs.org/postcss-modules/-/postcss-modules-4.2.2.tgz",
- "integrity": "sha512-/H08MGEmaalv/OU8j6bUKi/kZr2kqGF6huAW8m9UAgOLWtpFdhA14+gPBoymtqyv+D4MLsmqaF2zvIegdCxJXg==",
+ "version": "4.1.3",
+ "resolved": "https://registry.npmjs.org/postcss-modules/-/postcss-modules-4.1.3.tgz",
+ "integrity": "sha512-dBT39hrXe4OAVYJe/2ZuIZ9BzYhOe7t+IhedYeQ2OxKwDpAGlkEN/fR0fGnrbx4BvgbMReRX4hCubYK9cE/pJQ==",
"dev": true,
"requires": {
"generic-names": "^2.0.1",
@@ -11255,17 +11703,18 @@
}
},
"react-intl": {
- "version": "5.20.7",
- "resolved": "https://registry.npmjs.org/react-intl/-/react-intl-5.20.7.tgz",
- "integrity": "sha512-SnNNua7JS6ZM+AafvlgNKT/w7DjQqXFRG3ne3+dWuA+RBKfVYwk3XmGa10muFFruA+B5+o9LJ51XEKYq6zn81Q==",
+ "version": "5.20.4",
+ "resolved": "https://registry.npmjs.org/react-intl/-/react-intl-5.20.4.tgz",
+ "integrity": "sha512-lYUL8hWkRHbpVtedGSjpQ1kK/x2AAGZHGgOHsU0SFDufHo2aS7xdvRcaxXD3PMVDuh53KcU+vTaun+bcrwKpbA==",
"requires": {
- "@formatjs/intl": "1.13.5",
- "@formatjs/intl-displaynames": "5.2.1",
- "@formatjs/intl-listformat": "6.3.1",
+ "@formatjs/ecma402-abstract": "1.9.4",
+ "@formatjs/icu-messageformat-parser": "2.0.7",
+ "@formatjs/intl": "1.13.2",
+ "@formatjs/intl-displaynames": "5.1.6",
+ "@formatjs/intl-listformat": "6.2.6",
"@types/hoist-non-react-statics": "^3.3.1",
- "@types/react": "17",
"hoist-non-react-statics": "^3.3.2",
- "intl-messageformat": "9.8.2",
+ "intl-messageformat": "9.7.1",
"tslib": "^2.1.0"
}
},
@@ -11293,9 +11742,9 @@
}
},
"rechoir": {
- "version": "0.7.1",
- "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.7.1.tgz",
- "integrity": "sha512-/njmZ8s1wVeR6pjTZ+0nCnv8SpZNRMT2D1RLOJQESlYFDBvwpTA4KWJpZ+sBJ4+vhjILRcK7JIFdGCdxEAAitg==",
+ "version": "0.7.0",
+ "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.7.0.tgz",
+ "integrity": "sha512-ADsDEH2bvbjltXEP+hTIAmeFekTFK0V2BTxMkok6qILyAJEXV0AFfoWcAq4yfll5VdIMd/RVXq0lR+wQi5ZU3Q==",
"dev": true,
"requires": {
"resolve": "^1.9.0"
@@ -11317,9 +11766,9 @@
}
},
"regenerator-runtime": {
- "version": "0.13.9",
- "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz",
- "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==",
+ "version": "0.13.7",
+ "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz",
+ "integrity": "sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew==",
"dev": true
},
"regenerator-transform": {
@@ -11390,12 +11839,20 @@
"dev": true,
"requires": {
"resolve-from": "^5.0.0"
+ },
+ "dependencies": {
+ "resolve-from": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
+ "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
+ "dev": true
+ }
}
},
"resolve-from": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
- "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
+ "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
"dev": true
},
"reusify": {
@@ -11501,6 +11958,12 @@
"integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
"dev": true
},
+ "source-list-map": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz",
+ "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==",
+ "dev": true
+ },
"source-map": {
"version": "0.5.7",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
@@ -11593,13 +12056,13 @@
}
},
"svgo": {
- "version": "2.4.0",
- "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.4.0.tgz",
- "integrity": "sha512-W25S1UUm9Lm9VnE0TvCzL7aso/NCzDEaXLaElCUO/KaVitw0+IBicSVfM1L1c0YHK5TOFh73yQ2naCpVHEQ/OQ==",
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.3.1.tgz",
+ "integrity": "sha512-riDDIQgXpEnn0BEl9Gvhh1LNLIyiusSpt64IR8upJu7MwxnzetmF/Y57pXQD2NMX2lVyMRzXt5f2M5rO4wG7Dw==",
"dev": true,
"requires": {
"@trysound/sax": "0.1.1",
- "colorette": "^1.2.2",
+ "chalk": "^4.1.0",
"commander": "^7.1.0",
"css-select": "^4.1.3",
"css-tree": "^1.1.2",
@@ -11607,11 +12070,60 @@
"stable": "^0.1.8"
},
"dependencies": {
+ "ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dev": true,
+ "requires": {
+ "color-convert": "^2.0.1"
+ }
+ },
+ "chalk": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz",
+ "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ }
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ },
"commander": {
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz",
"integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==",
"dev": true
+ },
+ "has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^4.0.0"
+ }
}
}
},
@@ -11661,12 +12173,12 @@
},
"dependencies": {
"schema-utils": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz",
- "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==",
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.0.tgz",
+ "integrity": "sha512-tTEaeYkyIhEZ9uWgAjDerWov3T9MgX8dhhy2r0IGeeX4W8ngtGl1++dUve/RUqzuaASSh7shwCDJjEzthxki8w==",
"dev": true,
"requires": {
- "@types/json-schema": "^7.0.8",
+ "@types/json-schema": "^7.0.7",
"ajv": "^6.12.5",
"ajv-keywords": "^3.5.2"
}
@@ -11686,9 +12198,9 @@
"dev": true
},
"tinode-sdk": {
- "version": "0.17.7",
- "resolved": "https://registry.npmjs.org/tinode-sdk/-/tinode-sdk-0.17.7.tgz",
- "integrity": "sha512-eq2fN2QiQz8ifslW+wppCwqV3LG8VlnWMIjnfDqxAla6AzapwvTsklFHx2SwgkigBAzHTcWLbWlCl0ciw2cTUg=="
+ "version": "0.18.0-alpha1",
+ "resolved": "https://registry.npmjs.org/tinode-sdk/-/tinode-sdk-0.18.0-alpha1.tgz",
+ "integrity": "sha512-950u+qIPb42GGo8EDSjBKYS+d0z5a9tg/Eu/WV8h5f81XXW3p7W5KcZCacx6Lt27oa+jL5rNAK18Vhl3WBUwnQ=="
},
"to-fast-properties": {
"version": "2.0.0",
@@ -11706,9 +12218,9 @@
}
},
"tslib": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz",
- "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw=="
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz",
+ "integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg=="
},
"typescript": {
"version": "4.3.5",
@@ -11783,6 +12295,18 @@
"integrity": "sha512-/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w==",
"dev": true
},
+ "vue": {
+ "version": "3.1.4",
+ "resolved": "https://registry.npmjs.org/vue/-/vue-3.1.4.tgz",
+ "integrity": "sha512-p8dcdyeCgmaAiZsbLyDkmOLcFGZb/jEVdCLW65V68LRCXTNX8jKsgah2F7OZ/v/Ai2V0Fb1MNO0vz/GFqsPVMA==",
+ "dev": true,
+ "peer": true,
+ "requires": {
+ "@vue/compiler-dom": "3.1.4",
+ "@vue/runtime-dom": "3.1.4",
+ "@vue/shared": "3.1.4"
+ }
+ },
"watchpack": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.2.0.tgz",
@@ -11794,9 +12318,9 @@
}
},
"webpack": {
- "version": "5.50.0",
- "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.50.0.tgz",
- "integrity": "sha512-hqxI7t/KVygs0WRv/kTgUW8Kl3YC81uyWQSo/7WUs5LsuRw0htH/fCwbVBGCuiX/t4s7qzjXFcf41O8Reiypag==",
+ "version": "5.45.1",
+ "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.45.1.tgz",
+ "integrity": "sha512-68VT2ZgG9EHs6h6UxfV2SEYewA9BA3SOLSnC2NEbJJiEwbAiueDL033R1xX0jzjmXvMh0oSeKnKgbO2bDXIEyQ==",
"dev": true,
"requires": {
"@types/eslint-scope": "^3.7.0",
@@ -11805,7 +12329,6 @@
"@webassemblyjs/wasm-edit": "1.11.1",
"@webassemblyjs/wasm-parser": "1.11.1",
"acorn": "^8.4.1",
- "acorn-import-assertions": "^1.7.6",
"browserslist": "^4.14.5",
"chrome-trace-event": "^1.0.2",
"enhanced-resolve": "^5.8.0",
@@ -11822,16 +12345,22 @@
"tapable": "^2.1.1",
"terser-webpack-plugin": "^5.1.3",
"watchpack": "^2.2.0",
- "webpack-sources": "^3.2.0"
+ "webpack-sources": "^2.3.0"
},
"dependencies": {
+ "@types/estree": {
+ "version": "0.0.50",
+ "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.50.tgz",
+ "integrity": "sha512-C6N5s2ZFtuZRj54k2/zyRhNDjJwwcViAM3Nbm8zjBpbqAdZ00mr0CFxvSKeO8Y/e03WVFLpQMdHYVfUd6SB+Hw==",
+ "dev": true
+ },
"schema-utils": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz",
- "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==",
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.0.tgz",
+ "integrity": "sha512-tTEaeYkyIhEZ9uWgAjDerWov3T9MgX8dhhy2r0IGeeX4W8ngtGl1++dUve/RUqzuaASSh7shwCDJjEzthxki8w==",
"dev": true,
"requires": {
- "@types/json-schema": "^7.0.8",
+ "@types/json-schema": "^7.0.7",
"ajv": "^6.12.5",
"ajv-keywords": "^3.5.2"
}
@@ -11878,10 +12407,22 @@
}
},
"webpack-sources": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.0.tgz",
- "integrity": "sha512-fahN08Et7P9trej8xz/Z7eRu8ltyiygEo/hnRi9KqBUs80KeDcnf96ZJo++ewWd84fEf3xSX9bp4ZS9hbw0OBw==",
- "dev": true
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-2.3.0.tgz",
+ "integrity": "sha512-WyOdtwSvOML1kbgtXbTDnEW0jkJ7hZr/bDByIwszhWd/4XX1A3XMkrbFMsuH4+/MfLlZCUzlAdg4r7jaGKEIgQ==",
+ "dev": true,
+ "requires": {
+ "source-list-map": "^2.0.1",
+ "source-map": "^0.6.1"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true
+ }
+ }
},
"websocket-driver": {
"version": "0.7.4",
diff --git a/package.json b/package.json
index c6981d37..455f45c3 100644
--- a/package.json
+++ b/package.json
@@ -1,7 +1,7 @@
{
"name": "tinode-webapp",
"description": "Tinode messenger for the web",
- "version": "0.17.10-rc1",
+ "version": "0.18.0-alpha1",
"repository": {
"type": "git",
"url": "https://github.com/tinode/example-react-js.git"
@@ -11,7 +11,9 @@
"build:css": "postcss css/base.css > css/base.min.css",
"build:dev": "webpack --mode development",
"build:prod": "webpack --mode production",
- "build:i18n": "node scripts/pack-messages.js",
+ "build:i18n": "node scripts/i18n.js",
+ "i18n:missing": "node scripts/i18n.js missing",
+ "i18n:obsolete": "node scripts/i18n.js obsolete",
"vers": "node scripts/gen-version.js",
"extract": "formatjs extract src/**/*.jsx --out-file src/i18n/ex/base-en.json --id-interpolation-pattern '[sha512:contenthash:base64:6]'",
"compile": "formatjs compile"
@@ -68,7 +70,7 @@
"react": "^17.0.2",
"react-dom": "^17.0.2",
"react-intl": "^5.20.2",
- "tinode-sdk": "^0.17.10-rc1"
+ "tinode-sdk": "^0.18.0-alpha1"
},
"devDependencies": {
"@babel/core": "^7.14.5",
diff --git a/scripts/i18n.js b/scripts/i18n.js
new file mode 100644
index 00000000..487648d3
--- /dev/null
+++ b/scripts/i18n.js
@@ -0,0 +1,127 @@
+// 1. Updates translations files with new messages, mark no longer needed translations as obsolete.
+// 2. Takes all translations and groups them into a single file.
+// 3. When called with parameters 'missing' or 'obsolete' writes missing and obsolete translations to console.
+
+const fs = require('fs');
+const path = require('path');
+const globSync = require('glob').sync;
+const mkdirpSync = require('mkdirp').sync;
+
+const EXTRACTED_STRINGS = './src/i18n/ex/base-en.json';
+const BASE_LANG = 'en';
+const LANG_DIR = './src/i18n/';
+const LANG_PATTERN = './src/i18n/*.json';
+const LANG_PATTERN_ONE = './src/i18n/%s.json';
+const FINAL_FILE = './src/messages.json';
+
+const args = process.argv.slice(2);
+
+function getLocaleFromFileName(filename) {
+ const parts = filename.split('/');
+ return parts[parts.length - 1].split('.json')[0];
+}
+
+function printf(str) {
+ const args = [].slice.call(arguments, 1);
+ let i = 0;
+ return str.replace(/%s/g, () => args[i++]);
+}
+
+// Called with one or two parameters?
+if (args[0] == 'missing' || args[0] == 'obsolete') {
+ // Extract missing or obsolete translations as requested.
+ // Read either all or just one translation.
+ const pattern = args[1] ? printf(LANG_PATTERN_ONE, args[1]) : LANG_PATTERN;
+ const extracted = globSync(pattern)
+ .map((filename) => {
+ const locale = getLocaleFromFileName(filename);
+ const translated = JSON.parse(fs.readFileSync(filename, 'utf8'));
+
+ const dest = {};
+ // Copy messages while skipping missing and obsolete ones.
+ for (let key in translated) {
+ if ((args[0] == 'missing' && translated[key].missing) ||
+ (args[0] == 'obsolete' && translated[key].obsolete)) {
+ dest[key] = translated[key];
+ }
+ }
+
+ return { [locale]: dest };
+ })
+ .reduce((collection, descriptors) => {
+ return { ...collection, ...descriptors };
+ }, {});
+
+ console.log(JSON.stringify(extracted, null, 2)+"\n");
+ return;
+}
+
+// The formatjs/cli saves extracted messages into a file {'message_id': {defaultMessage: 'default message text', description: '...'}, ...}.
+// Rewrite them into a single file en.json {'message_id': 'default message text', }.
+
+// Read master-set of messages in default language.
+const baseMessages = JSON.parse(fs.readFileSync(EXTRACTED_STRINGS, 'utf8'));
+
+// Find messages present in baseMessages but missing in translations and vice versa.
+// Mark missing or obsolete messages as such.
+globSync(LANG_PATTERN)
+ .map((filename) => {
+ const translated = JSON.parse(fs.readFileSync(filename, 'utf8'));
+ const locale = getLocaleFromFileName(filename);
+
+ // Refresh existing entries with possible new descriptions and default messages, add missing.
+ Object.entries(baseMessages).forEach((ent) => {
+ const [key, value] = ent;
+ let translation = translated[key] ? translated[key].translation : "";
+ if (!translation && locale == BASE_LANG) {
+ translation = value.defaultMessage;
+ }
+
+ translated[key] = {
+ translation: translation,
+ defaultMessage: value.defaultMessage,
+ description: value.description,
+ missing: !translation,
+ obsolete: false
+ };
+ });
+
+ // Find no longer needed messages.
+ Object.entries(translated).forEach((ent) => {
+ const [key, value] = ent;
+ if (!baseMessages[key] && translated[key]) {
+ // Obsolete, no longer missing.
+ translated[key].missing = !translated[key].translation;
+ translated[key].obsolete = true;
+ }
+ });
+
+ fs.writeFileSync(filename, JSON.stringify(translated, null, 2)+"\n");
+ });
+
+// Combine all translations into a single json {"lang_1": {...}, "lang_2: {...}"}
+// while removing messages marked as missing or obsolete.
+
+// Read all translations.
+const messages = globSync(LANG_PATTERN)
+ .map((filename) => {
+ const locale = getLocaleFromFileName(filename);
+ const translated = JSON.parse(fs.readFileSync(filename, 'utf8'));
+
+ const dest = {};
+ // Copy messages while skipping missing and obsolete ones.
+ for (let key in translated) {
+ if (!translated[key].missing && !translated[key].obsolete) {
+ dest[key] = translated[key].translation;
+ }
+ }
+
+ return { [locale]: dest };
+ })
+ .reduce((collection, descriptors) => {
+ return { ...collection, ...descriptors };
+ }, {});
+
+// Write a file with all translations combined.
+mkdirpSync(path.dirname(FINAL_FILE));
+fs.writeFileSync(FINAL_FILE, JSON.stringify(messages));
diff --git a/scripts/pack-messages.js b/scripts/pack-messages.js
deleted file mode 100644
index 3a134748..00000000
--- a/scripts/pack-messages.js
+++ /dev/null
@@ -1,100 +0,0 @@
-// 1. Takes file with messages extracted via the React Intl Babel plugin and converts it into a file containing
-// `id: message` pairs in "en" locale.
-//
-// 2. Takes all translations and groups them into a single file.
-const fs = require('fs');
-const path = require('path');
-const globSync = require('glob').sync;
-const mkdirpSync = require('mkdirp').sync;
-
-const EXTRACTED_STRINGS = './src/i18n/ex/base-en.json';
-const DEFAULT_TRANSLATION = 'en.json';
-const LANG_DIR = './src/i18n/';
-const LANG_PATTERN = './src/i18n/*.json';
-const FINAL_FILE = './src/messages.json';
-const TRANSLATIONS = './src/translations.js'
-
-const MISSING_MARKER = ':!![MISSING]!!:';
-const OBSOLETE_MARKER = ':!![OBSOLETE]!!:';
-
-// The formatjs/cli saves extracted messages into a file {'message_id': {defaultMessage: 'default message text', description: '...'}, ...}.
-// Rewrite them into a single file en.json {'message_id': 'default message text', }.
-
-// Read master-set of messages in default language.
-const baseMessages = JSON.parse(fs.readFileSync(EXTRACTED_STRINGS, 'utf8'));
-// Convert.
-const en = {};
-for (const [id, msg] of Object.entries(baseMessages)) {
- en[id] = msg.defaultMessage;
-}
-
-// Write extracted strings into default language file.
-let filename = path.join(LANG_DIR, DEFAULT_TRANSLATION);
-mkdirpSync(path.dirname(filename));
-fs.writeFileSync(filename, JSON.stringify(en, null, 2)+"\n");
-
-// Find messages present in en.json but missing in translations and vice versa.
-// Mark missing or obsolete messages as such in translation files.
-globSync(LANG_PATTERN)
- .map((filename) => {
- const parts = filename.split('/');
- if (parts[parts.length-1] != DEFAULT_TRANSLATION) {
- const translated = JSON.parse(fs.readFileSync(filename, 'utf8'));
- // Find missing messages.
- Object.entries(baseMessages).forEach((ent) => {
- if (!translated.hasOwnProperty(ent[0])) {
- // Missing translation.
- translated[ent[0]] = MISSING_MARKER + ent[1];
- } else if (translated[ent[0]].indexOf(OBSOLETE_MARKER) === 0) {
- // No longer obsolete. Remove obsolete marker.
- translated[ent[0]] = translated[ent[0]].substring(0, OBSOLETE_MARKER.length);
- }
- });
- // Find no longer needed messages.
- Object.entries(translated).forEach((ent) => {
- if (!baseMessages.hasOwnProperty(ent[0]) && translated.hasOwnProperty(ent[0])) {
- let val = translated[ent[0]];
- if (val.indexOf(MISSING_MARKER) === 0) {
- // No longer missing.
- val = val.substring(0, MISSING_MARKER.length);
- }
- if (val.indexOf(OBSOLETE_MARKER) !== 0) {
- val = OBSOLETE_MARKER + val;
- }
- translated[ent[0]] = val;
- }
- });
- fs.writeFileSync(filename, JSON.stringify(translated, null, 2)+"\n");
- }
- });
-
-// List of all available translations.
-const languageList = {};
-// Combine all translations into a single json {"lang_1": {...}, "lang_2: {...}"}
-// while removing messages marked as missing or obsolete.
-
-// Read all translations.
-const messages = globSync(LANG_PATTERN)
- .map((filename) => {
- const parts = filename.split('/');
- const locale = parts[parts.length - 1].split('.json')[0];
- const translated = JSON.parse(fs.readFileSync(filename, 'utf8'));
- languageList[locale] = locale;
- // Strip messages prefixed with MISSING or OBSOLETE markers.
- for (let id in translated) {
- // process.stdout.write("-- handling translation " + id + "; "+ String(translated[id]) + "; in " + String(filename) + "; --\n");
- if (translated[id].indexOf(OBSOLETE_MARKER) == 0 ||
- translated[id].indexOf(MISSING_MARKER) == 0) {
- delete translated[id];
- }
- }
-
- return { [locale]: translated };
- })
- .reduce((collection, descriptors) => {
- return { ...collection, ...descriptors };
- }, {});
-
-// Write file with all translations combined.
-mkdirpSync(path.dirname(FINAL_FILE));
-fs.writeFileSync(FINAL_FILE, JSON.stringify(messages, null, 2)+"\n");
diff --git a/service-worker.js b/service-worker.js
index 4a0e0937..8309fee5 100644
--- a/service-worker.js
+++ b/service-worker.js
@@ -57,6 +57,7 @@ const fbMessaging = firebase.messaging();
// This method shows the push notifications while the window is in background.
fbMessaging.onBackgroundMessage((payload) => {
if (payload.data.silent == 'true') {
+ // TODO: if this is an 'msg', fetch the new message in the background.
return;
}
@@ -68,8 +69,8 @@ fbMessaging.onBackgroundMessage((payload) => {
const pushType = payload.data.what || 'msg';
const title = payload.data.title || self.i18nMessage(pushType == 'msg' ? 'new_message' : 'new_chat');
const options = {
- body: payload.data.content || '',
- icon: '/img/logo96.png',
+ body: payload.data.content || '', // TODO: content for 'sub' should be topic's or user's title.
+ icon: '/img/logo96.png', // TODO: use topic's or user's avatar (would have to fetch for 'sub', read from db for 'msg').
badge: '/img/badge96.png',
tag: payload.data.topic || undefined,
data: {
@@ -135,7 +136,10 @@ self.addEventListener('fetch', event => {
event.respondWith((async () => {
// Try to find the response in the cache.
const cache = await caches.open(PACKAGE_VERSION);
- const cachedResponse = await cache.match(event.request);
+
+ const reqUrl = new URL(event.request.url);
+ // Using ignoreSearch=true to read cached images and docs despite different auth signatures.
+ const cachedResponse = await cache.match(event.request, {ignoreSearch: (self.location.origin == reqUrl.origin)});
if (cachedResponse) {
return cachedResponse;
}
@@ -144,7 +148,7 @@ self.addEventListener('fetch', event => {
if (!response || response.status != 200 || response.type != 'basic') {
return response;
}
- if (event.request.url && (event.request.url.startsWith('http://') || event.request.url.startsWith('https://'))) {
+ if (reqUrl.protocol == 'http:' || reqUrl.protocol == 'https:') {
await cache.put(event.request, response.clone());
}
return response;
diff --git a/src/config.js b/src/config.js
index 1ef4345b..ac381ddc 100644
--- a/src/config.js
+++ b/src/config.js
@@ -45,9 +45,12 @@ export const MEDIA_BREAKPOINT = 640;
// Size of css 'rem' unit in pixels. Default 1rem = 10pt = 13px.
export const REM_SIZE = 13;
-// Size of the avatar image: When an avatar image is uploaded, it's resized to
-// a square of this size.
-export const AVATAR_SIZE = 128;
+// Size of the avatar image: when image dimensions are greater or the image is not square, it's resized to
+// a square of this size or less.
+export const AVATAR_SIZE = 384;
+
+// Maximum size of an avatar in bytes for sending in-band. Bigger avatars will be sent out of band (as uploads).
+export const MAX_AVATAR_BYTES = 4096;
// Size of the broken_image shown in MessagesView
export const BROKEN_IMAGE_SIZE = 32;
@@ -75,12 +78,17 @@ export const MAX_IMAGE_DIM = 1024;
// Linear dimensions of image preview: shrink image under this size for previews.
export const IMAGE_PREVIEW_DIM = 64;
+// Linear dimensions of image thumbnail: shrink image under this size for thumbnails in reply quote previews.
+export const IMAGE_THUMBNAIL_DIM = 25;
+
// Maximum number of online users to be shown in a topic title bar. Others will be
// hidden under "+X more"
export const MAX_ONLINE_IN_TOPIC = 4;
// Maximum length of user name, topic title, and private comment.
export const MAX_TITLE_LENGTH = 60;
+// Maximum length of topic description.
+export const MAX_TOPIC_DESCRIPTION_LENGTH = 360;
// Length of message previews in chat list, in characters.
export const MESSAGE_PREVIEW_LENGTH = 80;
diff --git a/src/i18n/de.json b/src/i18n/de.json
index 607005a4..877d2a13 100644
--- a/src/i18n/de.json
+++ b/src/i18n/de.json
@@ -1,182 +1,1337 @@
{
- "validate_credential_action": "bestätigen",
- "title_tag_manager": "Schlagworte (Nutzer entdecken)",
- "label_user_contacts": "Kontakte:",
- "button_add_another": "Hinzufügen",
- "label_message_sound": "Benachrichtigungston:",
- "label_push_notifications": "Benachrichtigungsmeldungen:",
- "label_push_notifications_disabled": "Benachrichtigungsmeldungen (erfordert HTTPS):",
- "label_incognito_mode": "inkognito-Modus:",
- "delete_account": "Konto löschen",
- "delete_account_arning": "Möchten Sie das Konto wirklich löschen? Das kann nicht rückgängig gemacht werden",
- "label_password": "Passwort",
- "password_unchanged_prompt": "unverändert",
- "button_logout": "Abmelden",
- "button_delete_account": "Konto löschen",
- "label_default_access_mode": "Standard Zugriffsmodus:",
- "blocked_contacts_link": "Blockierte Kontakte ({count})",
- "link_contact_us": "Kontakt",
- "link_terms_of_service": "Nutzungsbedingungen",
- "link_privacy_policy": "Datenschutzerklärung",
- "label_sdk": "SDK:",
- "label_server_address": "Server Adresse:",
- "archived_contacts": "Archivierte Kontakte ({count})",
- "contacts_not_found": "Sie haben keine Unterhaltungen
¯∖_(ツ)_/¯",
- "full_name_prompt": "Vollständiger Name, z.B. Lisa Musterfrau",
- "email_prompt": "E-Mail, z.B. lisam@beispiel.de",
- "button_sign_up": "Anmelden",
- "label_your_name": "Ihr Name",
- "label_user_id": "ID:",
- "button_edit": "Bearbeiten",
- "requested_permissions": "Angefordert",
- "granted_permissions": "Erteilt",
- "menu_item_edit_permissions": "Berechtigungen ändern",
- "label_other_user": "Andere",
- "action_clear_messages": "Nachrichten leeren",
- "clear_messages_warning": "Sind Sie sicher, dass Sie diese Unterhaltung für alle leeren wollen? Das kann nicht rückgängig gemacht werden.",
- "action_delete_messages": "Nachrichten für alle löschen",
- "delete_messages_warning": "Sind Sie sicher, dass Sie diese Unterhaltung für alle löschen wollen? Das kann nicht rückgängig gemacht werden.",
- "action_leave_chat": "Unterhaltung verlassen",
- "leave_chat_warning": "Möchten Sie diese Unterhaltung wirklich verlassen?",
- "action_block_contact": "Kontakt blockieren",
- "block_contact_warning": "Möchten Sie diesen Kontakt wirklich blockieren?",
- "action_report_chat": "Unterhaltung melden",
- "report_chat_warning": "Möchten Sie diese Unterhaltung wirklich blockieren und melden?",
- "title_info": "Info",
- "label_topic_name": "Name",
- "label_private": "Privater Kommentar",
- "private_editing_placeholder": "Nur für Sie sichtbar",
- "label_muting_topic": "Stumm geschaltet:",
- "action_more": "Mehr",
- "label_your_permissions": "Ihre Berechtigungen:",
- "label_permissions": "Berechtigungen:",
- "label_you": "Sie:",
- "label_default_access": "Standard Zugriffsmodus:",
- "label_group_members": "Gruppenmitglieder:",
- "button_add_members": "Mitglieder hinzufügen",
- "group_has_no_members": "Keine Mitglieder",
- "login_prompt": "Anmelden",
- "password_prompt": "Passwort",
- "stay_logged_in": "Angemeldet bleiben",
- "forgot_password_link": "Passwort vergessen?",
- "button_sign_in": "Anmelden",
- "label_client": "Client:",
- "label_server": "Server:",
- "online_now": "jetzt online",
- "last_seen_timestamp": "Zuletzt gesehen",
- "title_not_found": "Nicht gefunden",
- "unnamed_topic": "Unbenannt",
- "messages_not_readable": "Neue Nachrichten können nicht gelesen werden",
- "peers_messaging_disabled": "Gruppennachrichten sind deaktiviert",
- "enable_peers_messaging": "Aktivieren",
- "search_for_contacts": "Nutzen Sie die Suche um Kontakte zu finden",
- "search_no_results": "Die Suche hatte keine Ergebnisse",
- "tabtitle_find_user": "Suchen",
- "tabtitle_new_group": "Neue Gruppe",
- "tabtitle_group_by_id": "nach ID",
- "new_password_placeholder": "Geben Sie ein neues Passwort ein",
- "label_reset_password": "Passwort per E-Mail wiederherstellen:",
- "credential_email_prompt": "E-Mail Adresse für Registrierung",
- "button_reset": "Zurücksetzen",
- "button_send_request": "Anfrage senden",
- "label_server_to_use": "Server verwenden:",
- "label_wire_transport": "Übertragung per Kabel:",
- "button_update": "Aktualisieren",
- "sidepanel_title_login": "Anmelden",
- "sidepanel_title_register": "Konto erstellen",
- "sidepanel_title_settings": "Einstellungen",
- "sidepanel_title_account_settings": "Konto-Einstellungen",
- "sidepanel_title_acc_general": "Allgemein",
- "sidepanel_title_acc_security": "Sicherheit",
- "sidepanel_title_acc_notifications": "Benachrichtigungen",
- "sidepanel_title_acc_support": "Unterstützung",
- "sidepanel_title_newtpk": "Neue Unterhaltung starten",
- "sidepanel_title_cred": "Anmeldeinformationen bestätigen",
- "sidepanel_title_reset": "Passwort zurücksetzen",
- "sidepanel_title_archive": "Archivierte Unterhaltungen",
- "sidepanel_title_blocked": "Blockierte Unterhaltungen",
- "reconnect_countdown": "Getrennt. Wiederverbinden in {seconds}…",
- "reconnect_now": "Jetzt probieren",
- "push_init_failed": "Initialisierung von Push-Benachrichtigungen fehlgeschlagen",
- "invalid_security_token": "Ungültiger Sicherheitsschlüssel",
- "no_connection": "Keine Verbindung",
- "code_doesnot_match": "Code stimmt nicht überein",
- "update_available": "Aktualisierung verfügbar.",
- "reload_update": "Neu laden",
- "phone_dative": "Telefon",
- "email_dative": "E-Mail",
- "enter_confirmation_code_prompt": "Geben Sie den Bestätigungscode ein, der per {method} geschickt wurde:",
- "numeric_confirmation_code_prompt": "Nur zahlen",
- "button_confirm": "Bestätigen",
- "save_attachment": "Speichern",
- "deleted_content": "Inhalt gelöscht",
- "invalid_content": "ungültiger Inhalt",
- "user_not_found": "Nicht gefunden",
- "badge_you": "Sie",
- "badge_owner": "Besitzer",
- "menu_item_info": "Info",
- "menu_item_clear_messages": "Nachrichten leeren",
- "menu_item_clear_messages_for_all": "Für alle leeren",
- "menu_item_delete": "Löschen",
- "menu_item_delete_for_all": "Für alle löschen",
- "menu_item_send_retry": "Wiederholen",
- "menu_item_mute": "Unterhaltung stumm schalten",
- "menu_item_unmute": "Stumm schalten beenden",
- "menu_item_delete_topic": "Entfernen",
- "topic_delete_warning": "Möchten Sie diese Unterhaltung wirklich löschen?",
- "menu_item_unblock": "Blockierung aufheben",
- "menu_item_block": "Blockieren",
- "topic_block_warning": "Möchten Sie diese Unterhaltung wirklich blockieren?",
- "menu_item_member_delete": "Entfernen",
- "menu_item_archive_topic": "Archivieren",
- "action_cancel": "Abbrechen",
- "upload_finishing": "wird abgeschlossen...",
- "no_contacts": "Sie haben keine Kontakte :-(",
- "contacts_not_found_short": "Keine Kontakte für ''{query}''",
- "title_group_members": "Gruppenmitglieder",
- "title_all_contacts": "Alle Kontakte",
- "button_ok": "OK",
- "button_cancel": "Abbrechen",
- "more_online_members": "+{overflow} mehr",
- "download_action": "herunterladen",
- "label_file_name": "Dateiname:",
- "label_content_type": "Inhaltsart:",
- "label_size": "Größe:",
- "chat_invitation": "Sie sind eingeladen, an einem neuen Chat teilzunehmen. Was möchten Sie tun?",
- "chat_invitation_accept": "Akzeptieren",
- "chat_invitation_ignore": "Ignorieren",
- "chat_invitation_block": "Blockieren",
- "error_invalid_id": "ungültige ID",
- "group_user_id_prompt": "Gruppe oder Benutzer ID",
- "button_subscribe": "Abbonieren",
- "topic_name_editing_placeholder": "Freiform Name der Gruppe",
- "button_create": "Erstellen",
- "permission_join": "Beitreten ({val})",
- "permission_read": "Lesen ({val})",
- "permission_write": "Schreiben ({val})",
- "permission_pres": "Benachrichtigt werden ({val})",
- "permission_admin": "Bestätigen ({val})",
- "permission_share": "Teilen ({val})",
- "permission_delete": "Entfernen ({val})",
- "permission_owner": "Besitzer ({val})",
- "title_permissions": "Berechtigungen",
- "message_sending": "wird gesendet...",
- "message_sending_failed": "fehlgeschlagen",
- "search_placeholder": "Liste: email:lisa@beispiel.de, tel:17025550003...",
- "messaging_disabled_prompt": "Nachrichtenübermittlung deaktiviert",
- "new_message_prompt": "Neue Nachricht",
- "image_caption_prompt": "Bildunterschrift",
- "file_attachment_too_large": "Die Dateigröße {size} überschreitet das Limit von {limit}.",
- "cannot_initiate_file_upload": "Datei kann nicht hochgeladen werden.",
- "tags_not_found": "Keine Schlagworte definiert. Erstellen Sie welche.",
- "tags_editor_no_tags": "Schlagworte hinzufügen",
- "title_manage_tags": "Verwalten",
- "channel_prompt": "Dies ist ein Sender",
- "channel": "Sender",
- "drafty_attachment": "Dateianhang",
- "drafty_form": "Formular:",
- "drafty_image": "Bild",
- "topic_delete": "Chat löschen",
- "password_reset_email_sent": "Eine E-Mail wurde an {email} gesendet. Folgen Sie den Anweisungen in der E-Mail, um Ihr Passwort zurückzusetzen.",
- "menu_item_restore_topic": "Wiederherstellen"
+ "action_block_contact": {
+ "translation": "Kontakt blockieren",
+ "defaultMessage": "Block Contact",
+ "description": "Flat button [Block Contact]",
+ "missing": false,
+ "obsolete": false
+ },
+ "action_cancel": {
+ "translation": "Abbrechen",
+ "defaultMessage": "cancel",
+ "description": "Call to action [cancel]",
+ "missing": false,
+ "obsolete": false
+ },
+ "action_clear_messages": {
+ "translation": "Nachrichten leeren",
+ "defaultMessage": "Clear Messages",
+ "description": "Flat button [Clear Messages] (soft-delete messages)",
+ "missing": false,
+ "obsolete": false
+ },
+ "action_delete_messages": {
+ "translation": "Nachrichten für alle löschen",
+ "defaultMessage": "Clear Messages for All",
+ "description": "Flat button [Clear for All] (hard-delete all messages)",
+ "missing": false,
+ "obsolete": false
+ },
+ "action_leave_chat": {
+ "translation": "Unterhaltung verlassen",
+ "defaultMessage": "Leave Conversation",
+ "description": "Flat button [Leave Conversation]",
+ "missing": false,
+ "obsolete": false
+ },
+ "action_report_chat": {
+ "translation": "Unterhaltung melden",
+ "defaultMessage": "Report Conversation",
+ "description": "Flat button [Report Group]",
+ "missing": false,
+ "obsolete": false
+ },
+ "archived_contacts": {
+ "translation": "Archivierte Kontakte ({count})",
+ "defaultMessage": "Archived contacts ({count})",
+ "description": "Label for archived chats",
+ "missing": false,
+ "obsolete": false
+ },
+ "badge_danger": {
+ "translation": "Verdächtig",
+ "defaultMessage": "Untrustworthy",
+ "description": "Suspicious or untrustworthy account or topic badge",
+ "missing": false,
+ "obsolete": false
+ },
+ "badge_owner": {
+ "translation": "Besitzer",
+ "defaultMessage": "owner",
+ "description": "Badge for indicating the owner",
+ "missing": false,
+ "obsolete": false
+ },
+ "badge_staff": {
+ "translation": "Verwaltung",
+ "defaultMessage": "Staff-managed",
+ "description": "Explanation of a staff-managed account or topic badge",
+ "missing": false,
+ "obsolete": false
+ },
+ "badge_verified": {
+ "translation": "Verifiziert",
+ "defaultMessage": "Verified/official",
+ "description": "Explanation of a verified account or topic badge",
+ "missing": false,
+ "obsolete": false
+ },
+ "badge_you": {
+ "translation": "Sie",
+ "defaultMessage": "you",
+ "description": "Badge for indicating the current user",
+ "missing": false,
+ "obsolete": false
+ },
+ "block_contact_warning": {
+ "translation": "Möchten Sie diesen Kontakt wirklich blockieren?",
+ "defaultMessage": "Are you sure you want to block this contact?",
+ "description": "Alert dialog warning when blocking a contact.",
+ "missing": false,
+ "obsolete": false
+ },
+ "blocked_contacts_link": {
+ "translation": "Blockierte Kontakte ({count})",
+ "defaultMessage": "Blocked contacts ({count})",
+ "description": "Blocked contacts link",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_add_another": {
+ "translation": "Hinzufügen",
+ "defaultMessage": "Add another",
+ "description": "Call to action [+ add another]",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_add_members": {
+ "translation": "Mitglieder hinzufügen",
+ "defaultMessage": "Add members",
+ "description": "Flat button [Add members] (to topic)",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_cancel": {
+ "translation": "Abbrechen",
+ "defaultMessage": "Cancel",
+ "description": "Button [Cancel]",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_confirm": {
+ "translation": "Bestätigen",
+ "defaultMessage": "Confirm",
+ "description": "Button [Confirm]",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_create": {
+ "translation": "Erstellen",
+ "defaultMessage": "Create",
+ "description": "Button [Create]",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_delete_account": {
+ "translation": "Konto löschen",
+ "defaultMessage": "Delete account",
+ "description": "Button [Delete account]",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_edit": {
+ "translation": "Bearbeiten",
+ "defaultMessage": "Edit",
+ "description": "Call to action [Edit]",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_logout": {
+ "translation": "Abmelden",
+ "defaultMessage": "Logout",
+ "description": "Button [Logout]",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_ok": {
+ "translation": "OK",
+ "defaultMessage": "OK",
+ "description": "Button [OK]",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_reset": {
+ "translation": "Zurücksetzen",
+ "defaultMessage": "Reset",
+ "description": "Button [Reset]",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_send_request": {
+ "translation": "Anfrage senden",
+ "defaultMessage": "Send request",
+ "description": "Button [Send request]",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_sign_in": {
+ "translation": "Anmelden",
+ "defaultMessage": "Sign in",
+ "description": "Button [Sign In]",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_sign_up": {
+ "translation": "Anmelden",
+ "defaultMessage": "Sign up",
+ "description": "Create account button [Sign Up]",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_subscribe": {
+ "translation": "Abbonieren",
+ "defaultMessage": "Subscribe",
+ "description": "Button [Subscribe]",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_update": {
+ "translation": "Aktualisieren",
+ "defaultMessage": "Update",
+ "description": "Button [Update]",
+ "missing": false,
+ "obsolete": false
+ },
+ "cannot_initiate_file_upload": {
+ "translation": "Datei kann nicht hochgeladen werden.",
+ "defaultMessage": "Cannot initiate file upload.",
+ "description": "Generic error messagewhen attachment fails",
+ "missing": false,
+ "obsolete": false
+ },
+ "channel": {
+ "translation": "Sender",
+ "defaultMessage": "channel",
+ "description": "Subtitle shown for channels in MessagesView instead of last seen",
+ "missing": false,
+ "obsolete": false
+ },
+ "channel_prompt": {
+ "translation": "Dies ist ein Sender",
+ "defaultMessage": "This is a channel",
+ "description": "Checkbox label when creating a channel",
+ "missing": false,
+ "obsolete": false
+ },
+ "chat_invitation": {
+ "translation": "Sie sind eingeladen, an einem neuen Chat teilzunehmen. Was möchten Sie tun?",
+ "defaultMessage": "You are invited to start a new chat. What would you like to do?",
+ "description": "New chat invitation message: [Accept] [Ignore] [Block].",
+ "missing": false,
+ "obsolete": false
+ },
+ "chat_invitation_accept": {
+ "translation": "Akzeptieren",
+ "defaultMessage": "Accept",
+ "description": "Action [Accept] for chat invitation.",
+ "missing": false,
+ "obsolete": false
+ },
+ "chat_invitation_block": {
+ "translation": "Blockieren",
+ "defaultMessage": "Block",
+ "description": "Action [Block] for chat invitation.",
+ "missing": false,
+ "obsolete": false
+ },
+ "chat_invitation_ignore": {
+ "translation": "Ignorieren",
+ "defaultMessage": "Ignore",
+ "description": "Action [Ignore] for chat invitation.",
+ "missing": false,
+ "obsolete": false
+ },
+ "clear_messages_warning": {
+ "translation": "Sind Sie sicher, dass Sie diese Unterhaltung für alle leeren wollen? Das kann nicht rückgängig gemacht werden.",
+ "defaultMessage": "Are you sure you want to clear all messages? It cannot be undone.",
+ "description": "Alert dialog warning when deleting all messages.",
+ "missing": false,
+ "obsolete": false
+ },
+ "code_doesnot_match": {
+ "translation": "Code stimmt nicht überein",
+ "defaultMessage": "Code does not match",
+ "description": "Error message when the credential validation code is incorrect.",
+ "missing": false,
+ "obsolete": false
+ },
+ "contacts_not_found": {
+ "translation": "Sie haben keine Unterhaltungen
¯∖_(ツ)_/¯",
+ "defaultMessage": "You have no chats
¯∖_(ツ)_/¯",
+ "description": "HTML message shown in ContactList when no contacts are found",
+ "missing": false,
+ "obsolete": false
+ },
+ "contacts_not_found_short": {
+ "translation": "Keine Kontakte für ''{query}''",
+ "defaultMessage": "No contacts match ''{query}''",
+ "description": "Shown in ContactsView when search returned no results",
+ "missing": false,
+ "obsolete": false
+ },
+ "credential_email_prompt": {
+ "translation": "E-Mail Adresse für Registrierung",
+ "defaultMessage": "Your registration email",
+ "description": "Placeholder for entering email",
+ "missing": false,
+ "obsolete": false
+ },
+ "delete_account": {
+ "translation": "Konto löschen",
+ "defaultMessage": "Delete account",
+ "description": "Title for delete account warning",
+ "missing": false,
+ "obsolete": false
+ },
+ "delete_account_warning": {
+ "translation": "Möchten Sie das Konto wirklich löschen? Das kann nicht rückgängig gemacht werden",
+ "defaultMessage": "Are you sure you want to delete your account? It cannot be undone.",
+ "description": "Warning message when deleting an account",
+ "missing": false,
+ "obsolete": false
+ },
+ "delete_messages_warning": {
+ "translation": "Sind Sie sicher, dass Sie diese Unterhaltung für alle löschen wollen? Das kann nicht rückgängig gemacht werden.",
+ "defaultMessage": "Are you sure you want to delete all messages for everyone? It cannot be undone.",
+ "description": "Alert dialog warning when hard-deleting all messages.",
+ "missing": false,
+ "obsolete": false
+ },
+ "deleted_content": {
+ "translation": "Inhalt gelöscht",
+ "defaultMessage": "content deleted",
+ "description": "Shown when messages are deleted",
+ "missing": false,
+ "obsolete": false
+ },
+ "download_action": {
+ "translation": "herunterladen",
+ "defaultMessage": "download",
+ "description": "Call to action [download]",
+ "missing": false,
+ "obsolete": false
+ },
+ "drafty_attachment": {
+ "translation": "Dateianhang",
+ "defaultMessage": "Attachment",
+ "description": "Comment for attachment in drafty preview",
+ "missing": false,
+ "obsolete": false
+ },
+ "drafty_form": {
+ "translation": "Formular:",
+ "defaultMessage": "Form:",
+ "description": "Comment for form in drafty preview",
+ "missing": false,
+ "obsolete": false
+ },
+ "drafty_image": {
+ "translation": "Bild",
+ "defaultMessage": "Picture",
+ "description": "Comment for embedded images in drafty preview",
+ "missing": false,
+ "obsolete": false
+ },
+ "email_dative": {
+ "translation": "E-Mail",
+ "defaultMessage": "email",
+ "description": "Dative case of 'email', i.e. 'email' in 'by email'",
+ "missing": false,
+ "obsolete": false
+ },
+ "email_prompt": {
+ "translation": "E-Mail, z.B. lisam@beispiel.de",
+ "defaultMessage": "Email, e.g. jdoe@example.com",
+ "description": "Input placeholder for email entry",
+ "missing": false,
+ "obsolete": false
+ },
+ "enable_peers_messaging": {
+ "translation": "Aktivieren",
+ "defaultMessage": "Enable",
+ "description": "Call to action to enable peer's messaging",
+ "missing": false,
+ "obsolete": false
+ },
+ "enter_confirmation_code_prompt": {
+ "translation": "Geben Sie den Bestätigungscode ein, der per {method} geschickt wurde:",
+ "defaultMessage": "Enter confirmation code sent to you by {method}:",
+ "description": "Request to enter confirmation code",
+ "missing": false,
+ "obsolete": false
+ },
+ "error_invalid_id": {
+ "translation": "ungültige ID",
+ "defaultMessage": "Invalid ID",
+ "description": "Error message",
+ "missing": false,
+ "obsolete": false
+ },
+ "file_attachment_too_large": {
+ "translation": "Die Dateigröße {size} überschreitet das Limit von {limit}.",
+ "defaultMessage": "The file size {size} exceeds the {limit} limit.",
+ "description": "Error message when attachment is too large",
+ "missing": false,
+ "obsolete": false
+ },
+ "forgot_password_link": {
+ "translation": "Passwort vergessen?",
+ "defaultMessage": "Forgot password?",
+ "description": "Link to Reset password form",
+ "missing": false,
+ "obsolete": false
+ },
+ "full_name_prompt": {
+ "translation": "Vollständiger Name, z.B. Lisa Musterfrau",
+ "defaultMessage": "Full name, e.g. John Doe",
+ "description": "Input placeholder for person's full name",
+ "missing": false,
+ "obsolete": false
+ },
+ "granted_permissions": {
+ "translation": "Erteilt",
+ "defaultMessage": "Granted",
+ "description": "Title for permissions",
+ "missing": false,
+ "obsolete": false
+ },
+ "group_has_no_members": {
+ "translation": "Keine Mitglieder",
+ "defaultMessage": "No members",
+ "description": "Shown in place of group members",
+ "missing": false,
+ "obsolete": false
+ },
+ "group_user_id_prompt": {
+ "translation": "Gruppe oder Benutzer ID",
+ "defaultMessage": "Group or User ID",
+ "description": "Prompt for entering user or group ID",
+ "missing": false,
+ "obsolete": false
+ },
+ "image_caption_prompt": {
+ "translation": "Bildunterschrift",
+ "defaultMessage": "Image caption",
+ "description": "Prompt in SendMessage for attached image",
+ "missing": false,
+ "obsolete": false
+ },
+ "invalid_content": {
+ "translation": "ungültiger Inhalt",
+ "defaultMessage": "invalid content",
+ "description": "Shown when message is unreadable",
+ "missing": false,
+ "obsolete": false
+ },
+ "invalid_security_token": {
+ "translation": "Ungültiger Sicherheitsschlüssel",
+ "defaultMessage": "Invalid security token",
+ "description": "Error message when resetting password.",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_client": {
+ "translation": "Client:",
+ "defaultMessage": "Client:",
+ "description": "Label for a client version",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_content_type": {
+ "translation": "Inhaltsart:",
+ "defaultMessage": "Content type:",
+ "description": "Label for file content type (mime)",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_default_access_mode": {
+ "translation": "Standard Zugriffsmodus:",
+ "defaultMessage": "Default access mode:",
+ "description": "Label for default access mode",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_file_name": {
+ "translation": "Dateiname:",
+ "defaultMessage": "File name:",
+ "description": "Label for a file name",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_group_members": {
+ "translation": "Gruppenmitglieder:",
+ "defaultMessage": "Group members:",
+ "description": "Section title or label",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_incognito_mode": {
+ "translation": "inkognito-Modus:",
+ "defaultMessage": "Incognito mode:",
+ "description": "Label for incognito mode toggle",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_message_sound": {
+ "translation": "Benachrichtigungston:",
+ "defaultMessage": "Message sound:",
+ "description": "Label for message sounds toggle",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_muting_topic": {
+ "translation": "Stumm geschaltet:",
+ "defaultMessage": "Muted:",
+ "description": "Label for Muting/unmuting the topic",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_other_user": {
+ "translation": "Andere",
+ "defaultMessage": "Other",
+ "description": "Label for the other user when the user is unnamed",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_password": {
+ "translation": "Passwort",
+ "defaultMessage": "Password",
+ "description": "Label for password editing",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_permissions": {
+ "translation": "Berechtigungen:",
+ "defaultMessage": "Permissions:",
+ "description": "Section title",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_private": {
+ "translation": "Privater Kommentar",
+ "defaultMessage": "Private comment",
+ "description": "Label for editing 'private'",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_push_notifications": {
+ "translation": "Benachrichtigungsmeldungen:",
+ "defaultMessage": "Notification alerts:",
+ "description": "Label for push notifications switch",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_push_notifications_disabled": {
+ "translation": "Benachrichtigungsmeldungen (erfordert HTTPS):",
+ "defaultMessage": "Notification alerts (requires HTTPS):",
+ "description": "Label for push notifications switch",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_reset_password": {
+ "translation": "Passwort per E-Mail wiederherstellen:",
+ "defaultMessage": "Send a password reset email:",
+ "description": "Label for password reset field",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_sdk": {
+ "translation": "SDK:",
+ "defaultMessage": "SDK:",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_server": {
+ "translation": "Server:",
+ "defaultMessage": "Server:",
+ "description": "Label for a server version",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_server_address": {
+ "translation": "Server Adresse:",
+ "defaultMessage": "Server address:",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_server_to_use": {
+ "translation": "Server verwenden:",
+ "defaultMessage": "Server to use:",
+ "description": "Label for server selector in SettingsView",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_size": {
+ "translation": "Größe:",
+ "defaultMessage": "Size:",
+ "description": "Label for file size",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_topic_name": {
+ "translation": "Name",
+ "defaultMessage": "Name",
+ "description": "Label for editing topic name",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_user_contacts": {
+ "translation": "Kontakte:",
+ "defaultMessage": "Contacts:",
+ "description": "Label for user contacts",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_user_id": {
+ "translation": "ID:",
+ "defaultMessage": "ID:",
+ "description": "Label for user address (ID)",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_wire_transport": {
+ "translation": "Übertragung per Kabel:",
+ "defaultMessage": "Wire transport:",
+ "description": "Label for wire transport selection in SettingsView",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_you": {
+ "translation": "Sie:",
+ "defaultMessage": "You:",
+ "description": "Label for the current user",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_your_name": {
+ "translation": "Ihr Name",
+ "defaultMessage": "Your name",
+ "description": "Label for full name editing",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_your_permissions": {
+ "translation": "Ihre Berechtigungen:",
+ "defaultMessage": "Your permissions:",
+ "description": "Label for current user permissions",
+ "missing": false,
+ "obsolete": false
+ },
+ "last_seen_timestamp": {
+ "translation": "Zuletzt gesehen",
+ "defaultMessage": "Last seen",
+ "description": "Label for the timestamp of when the user or topic was last online",
+ "missing": false,
+ "obsolete": false
+ },
+ "leave_chat_warning": {
+ "translation": "Möchten Sie diese Unterhaltung wirklich verlassen?",
+ "defaultMessage": "Are you sure you want to leave this conversation?",
+ "description": "Alert dialog warning when unsubscribing from a chat.",
+ "missing": false,
+ "obsolete": false
+ },
+ "link_contact_us": {
+ "translation": "Kontakt",
+ "defaultMessage": "Contact Us",
+ "description": "Ancor text for contacting us by email",
+ "missing": false,
+ "obsolete": false
+ },
+ "link_privacy_policy": {
+ "translation": "Datenschutzerklärung",
+ "defaultMessage": "Privacy Policy",
+ "description": "Ancor text for privacy policy link",
+ "missing": false,
+ "obsolete": false
+ },
+ "link_terms_of_service": {
+ "translation": "Nutzungsbedingungen",
+ "defaultMessage": "Terms of Service",
+ "description": "Ancor text for terms of service link",
+ "missing": false,
+ "obsolete": false
+ },
+ "login_prompt": {
+ "translation": "Anmelden",
+ "defaultMessage": "Login",
+ "description": "Placeholer for username/login",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_archive_topic": {
+ "translation": "Archivieren",
+ "defaultMessage": "Archive",
+ "description": "Move topic from the list of active chats to archive",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_block": {
+ "translation": "Blockieren",
+ "defaultMessage": "Block",
+ "description": "Block topic or user",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_clear_messages": {
+ "translation": "Nachrichten leeren",
+ "defaultMessage": "Clear messages",
+ "description": "Delete all messages",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_clear_messages_for_all": {
+ "translation": "Für alle leeren",
+ "defaultMessage": "Clear for All",
+ "description": "Delete all message(s) for all members",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_delete": {
+ "translation": "Löschen",
+ "defaultMessage": "Delete",
+ "description": "Delete selected messages",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_delete_for_all": {
+ "translation": "Für alle löschen",
+ "defaultMessage": "Delete for All",
+ "description": "Delete selected message(s) for all members",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_delete_topic": {
+ "translation": "Entfernen",
+ "defaultMessage": "Delete",
+ "description": "Delete entire topic",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_edit_permissions": {
+ "translation": "Berechtigungen ändern",
+ "defaultMessage": "Edit permissions",
+ "description": "Menu item [Edit permissions]",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_info": {
+ "translation": "Info",
+ "defaultMessage": "Info",
+ "description": "Show extended topic information",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_member_delete": {
+ "translation": "Entfernen",
+ "defaultMessage": "Remove",
+ "description": "Remove user from topic",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_mute": {
+ "translation": "Unterhaltung stumm schalten",
+ "defaultMessage": "Mute",
+ "description": "Turn off notifications",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_restore_topic": {
+ "translation": "Wiederherstellen",
+ "defaultMessage": "Restore",
+ "description": "Restore topic from archive",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_send_retry": {
+ "translation": "Wiederholen",
+ "defaultMessage": "Retry",
+ "description": "Retry sending message",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_unblock": {
+ "translation": "Blockierung aufheben",
+ "defaultMessage": "Unblock",
+ "description": "Unblock topic or user",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_unmute": {
+ "translation": "Stumm schalten beenden",
+ "defaultMessage": "Unmute",
+ "description": "Turn notifications on",
+ "missing": false,
+ "obsolete": false
+ },
+ "message_sending": {
+ "translation": "wird gesendet...",
+ "defaultMessage": "sending...",
+ "description": "Message being sent, in place of time stamp",
+ "missing": false,
+ "obsolete": false
+ },
+ "message_sending_failed": {
+ "translation": "fehlgeschlagen",
+ "defaultMessage": "failed",
+ "description": "Failed to send message, in place of time stamp",
+ "missing": false,
+ "obsolete": false
+ },
+ "messages_not_readable": {
+ "translation": "Neue Nachrichten können nicht gelesen werden",
+ "defaultMessage": "no access to messages",
+ "description": "Message shown in topic without the read access",
+ "missing": false,
+ "obsolete": false
+ },
+ "messaging_disabled_prompt": {
+ "translation": "Nachrichtenübermittlung deaktiviert",
+ "defaultMessage": "Messaging disabled",
+ "description": "Prompt in SendMessage in read-only topic",
+ "missing": false,
+ "obsolete": false
+ },
+ "more_online_members": {
+ "translation": "+{overflow} mehr",
+ "defaultMessage": "+{overflow} more",
+ "description": "Shown in MessagesView title bar when the number of online subscribers exceeds MAX_ONLINE_IN_TOPIC",
+ "missing": false,
+ "obsolete": false
+ },
+ "new_message_prompt": {
+ "translation": "Neue Nachricht",
+ "defaultMessage": "New message",
+ "description": "Prompt in send message field",
+ "missing": false,
+ "obsolete": false
+ },
+ "new_password_placeholder": {
+ "translation": "Geben Sie ein neues Passwort ein",
+ "defaultMessage": "Enter new password",
+ "description": "Placeholder for entering new password",
+ "missing": false,
+ "obsolete": false
+ },
+ "no_connection": {
+ "translation": "Keine Verbindung",
+ "defaultMessage": "No connection",
+ "description": "Warning that the user is offline.",
+ "missing": false,
+ "obsolete": false
+ },
+ "no_contacts": {
+ "translation": "Sie haben keine Kontakte :-(",
+ "defaultMessage": "You have no contacts :-(",
+ "description": "Shown in ContactsView when the user has no contacts",
+ "missing": false,
+ "obsolete": false
+ },
+ "numeric_confirmation_code_prompt": {
+ "translation": "Nur zahlen",
+ "defaultMessage": "Numbers only",
+ "description": "Prompt for numeric conformation code",
+ "missing": false,
+ "obsolete": false
+ },
+ "online_now": {
+ "translation": "jetzt online",
+ "defaultMessage": "online now",
+ "description": "Indicator that the user or topic is currently online",
+ "missing": false,
+ "obsolete": false
+ },
+ "password_prompt": {
+ "translation": "Passwort",
+ "defaultMessage": "Password",
+ "description": "Placeholder/prompt for entering password",
+ "missing": false,
+ "obsolete": false
+ },
+ "password_unchanged_prompt": {
+ "translation": "unverändert",
+ "defaultMessage": "Unchanged",
+ "description": "Message in editor while password is unchanged",
+ "missing": false,
+ "obsolete": false
+ },
+ "peers_messaging_disabled": {
+ "translation": "Gruppennachrichten sind deaktiviert",
+ "defaultMessage": "Peer's messaging is disabled.",
+ "description": "Shown when the p2p peer's messaging is disabled",
+ "missing": false,
+ "obsolete": false
+ },
+ "permission_admin": {
+ "translation": "Bestätigen ({val})",
+ "defaultMessage": "Approve ({val})",
+ "description": "Name of A permission",
+ "missing": false,
+ "obsolete": false
+ },
+ "permission_delete": {
+ "translation": "Entfernen ({val})",
+ "defaultMessage": "Delete ({val})",
+ "description": "Name of D permission",
+ "missing": false,
+ "obsolete": false
+ },
+ "permission_join": {
+ "translation": "Beitreten ({val})",
+ "defaultMessage": "Join ({val})",
+ "description": "Name of J permission",
+ "missing": false,
+ "obsolete": false
+ },
+ "permission_owner": {
+ "translation": "Besitzer ({val})",
+ "defaultMessage": "Owner ({val})",
+ "description": "Name of O permission",
+ "missing": false,
+ "obsolete": false
+ },
+ "permission_pres": {
+ "translation": "Benachrichtigt werden ({val})",
+ "defaultMessage": "Get notified ({val})",
+ "description": "Name of P permission",
+ "missing": false,
+ "obsolete": false
+ },
+ "permission_read": {
+ "translation": "Lesen ({val})",
+ "defaultMessage": "Read ({val})",
+ "description": "Name of R permission",
+ "missing": false,
+ "obsolete": false
+ },
+ "permission_share": {
+ "translation": "Teilen ({val})",
+ "defaultMessage": "Share ({val})",
+ "description": "Name of S permission",
+ "missing": false,
+ "obsolete": false
+ },
+ "permission_write": {
+ "translation": "Schreiben ({val})",
+ "defaultMessage": "Write ({val})",
+ "description": "Name of W permission",
+ "missing": false,
+ "obsolete": false
+ },
+ "phone_dative": {
+ "translation": "Telefon",
+ "defaultMessage": "phone",
+ "description": "Dative case of 'phone', i.e. 'phone' in 'by phone'",
+ "missing": false,
+ "obsolete": false
+ },
+ "private_editing_placeholder": {
+ "translation": "Nur für Sie sichtbar",
+ "defaultMessage": "Visible to you only",
+ "description": "Placeholder for editing 'private'",
+ "missing": false,
+ "obsolete": false
+ },
+ "push_init_failed": {
+ "translation": "Initialisierung von Push-Benachrichtigungen fehlgeschlagen",
+ "defaultMessage": "Failed to initialize push notifications",
+ "description": "Error message when push notifications have failed to initialize.",
+ "missing": false,
+ "obsolete": false
+ },
+ "reconnect_countdown": {
+ "translation": "Getrennt. Wiederverbinden in {seconds}…",
+ "defaultMessage": "Disconnected. Reconnecting in {seconds}…",
+ "description": "Message shown when an app update is available.",
+ "missing": false,
+ "obsolete": false
+ },
+ "reconnect_now": {
+ "translation": "Jetzt probieren",
+ "defaultMessage": "Try now",
+ "description": "Prompt for reconnecting now",
+ "missing": false,
+ "obsolete": false
+ },
+ "reload_update": {
+ "translation": "Neu laden",
+ "defaultMessage": "Reload",
+ "description": "Call to action to reload application when update is available.",
+ "missing": false,
+ "obsolete": false
+ },
+ "report_chat_warning": {
+ "translation": "Möchten Sie diese Unterhaltung wirklich blockieren und melden?",
+ "defaultMessage": "Are you sure you want to block and report this conversation?",
+ "description": "Alert dialog warning when reporting a conversation for abuse",
+ "missing": false,
+ "obsolete": false
+ },
+ "requested_permissions": {
+ "translation": "Angefordert",
+ "defaultMessage": "Requested",
+ "description": "Title for permissions",
+ "missing": false,
+ "obsolete": false
+ },
+ "save_attachment": {
+ "translation": "Speichern",
+ "defaultMessage": "save",
+ "description": "Call to save an attachment",
+ "missing": false,
+ "obsolete": false
+ },
+ "search_for_contacts": {
+ "translation": "Nutzen Sie die Suche um Kontakte zu finden",
+ "defaultMessage": "Use search to find contacts",
+ "description": "Text shown in contacts view when user entered no search query.",
+ "missing": false,
+ "obsolete": false
+ },
+ "search_no_results": {
+ "translation": "Die Suche hatte keine Ergebnisse",
+ "defaultMessage": "Search returned no results",
+ "description": "Text shown in contacts view when query returned no results.",
+ "missing": false,
+ "obsolete": false
+ },
+ "search_placeholder": {
+ "translation": "Liste: email:lisa@beispiel.de, tel:17025550003...",
+ "defaultMessage": "List like email:alice@example.com, tel:17025550003...",
+ "description": "Placeholder in contacts search field",
+ "missing": false,
+ "obsolete": false
+ },
+ "sidepanel_title_acc_notifications": {
+ "translation": "Benachrichtigungen",
+ "defaultMessage": "Notifications",
+ "description": "Sidepanel title for AccNotificationsView.",
+ "missing": false,
+ "obsolete": false
+ },
+ "sidepanel_title_acc_support": {
+ "translation": "Unterstützung",
+ "defaultMessage": "Support",
+ "description": "Sidepanel title for AccSupportView.",
+ "missing": false,
+ "obsolete": false
+ },
+ "sidepanel_title_account_settings": {
+ "translation": "Konto-Einstellungen",
+ "defaultMessage": "Account Settings",
+ "description": "Sidepanel title for AccountSettingsView.",
+ "missing": false,
+ "obsolete": false
+ },
+ "sidepanel_title_archive": {
+ "translation": "Archivierte Unterhaltungen",
+ "defaultMessage": "Archived Chats",
+ "description": "Sidepanel title for ContactsView-Archive.",
+ "missing": false,
+ "obsolete": false
+ },
+ "sidepanel_title_blocked": {
+ "translation": "Blockierte Unterhaltungen",
+ "defaultMessage": "Blocked Chats",
+ "description": "Sidepanel title for ContactsView-Blocked.",
+ "missing": false,
+ "obsolete": false
+ },
+ "sidepanel_title_cred": {
+ "translation": "Anmeldeinformationen bestätigen",
+ "defaultMessage": "Confirm Credentials",
+ "description": "Sidepanel title for ValidationView.",
+ "missing": false,
+ "obsolete": false
+ },
+ "sidepanel_title_login": {
+ "translation": "Anmelden",
+ "defaultMessage": "Sign In",
+ "description": "Sidepanel title for LoginView.",
+ "missing": false,
+ "obsolete": false
+ },
+ "sidepanel_title_newtpk": {
+ "translation": "Neue Unterhaltung starten",
+ "defaultMessage": "Start New Chat",
+ "description": "Sidepanel title for NewTopicView.",
+ "missing": false,
+ "obsolete": false
+ },
+ "sidepanel_title_register": {
+ "translation": "Konto erstellen",
+ "defaultMessage": "Create Account",
+ "description": "Sidepanel title for CreateAccountView.",
+ "missing": false,
+ "obsolete": false
+ },
+ "sidepanel_title_reset": {
+ "translation": "Passwort zurücksetzen",
+ "defaultMessage": "Reset Password",
+ "description": "Sidepanel title for PasswordResetView.",
+ "missing": false,
+ "obsolete": false
+ },
+ "sidepanel_title_settings": {
+ "translation": "Einstellungen",
+ "defaultMessage": "Settings",
+ "description": "Sidepanel title for SettingsView.",
+ "missing": false,
+ "obsolete": false
+ },
+ "stay_logged_in": {
+ "translation": "Angemeldet bleiben",
+ "defaultMessage": "Stay logged in",
+ "description": "Label for a checkbox",
+ "missing": false,
+ "obsolete": false
+ },
+ "tabtitle_find_user": {
+ "translation": "Suchen",
+ "defaultMessage": "find",
+ "description": "Tab title Find",
+ "missing": false,
+ "obsolete": false
+ },
+ "tabtitle_group_by_id": {
+ "translation": "nach ID",
+ "defaultMessage": "by id",
+ "description": "Tab title Find topic by ID",
+ "missing": false,
+ "obsolete": false
+ },
+ "tabtitle_new_group": {
+ "translation": "Neue Gruppe",
+ "defaultMessage": "new group",
+ "description": "Tab title New Group",
+ "missing": false,
+ "obsolete": false
+ },
+ "tags_editor_no_tags": {
+ "translation": "Schlagworte hinzufügen",
+ "defaultMessage": "Add some tags",
+ "description": "Tag editor prompt when no tags are found.",
+ "missing": false,
+ "obsolete": false
+ },
+ "tags_not_found": {
+ "translation": "Keine Schlagworte definiert. Erstellen Sie welche.",
+ "defaultMessage": "No tags defined. Add some.",
+ "description": "",
+ "missing": false,
+ "obsolete": false
+ },
+ "title_all_contacts": {
+ "translation": "Alle Kontakte",
+ "defaultMessage": "All Contacts",
+ "description": "Section title [All Contacts]",
+ "missing": false,
+ "obsolete": false
+ },
+ "title_group_members": {
+ "translation": "Gruppenmitglieder",
+ "defaultMessage": "Group Members",
+ "description": "Section title",
+ "missing": false,
+ "obsolete": false
+ },
+ "panel_title_info": {
+ "translation": "Info",
+ "defaultMessage": "Info",
+ "description": "Title for InfoView",
+ "missing": false,
+ "obsolete": false
+ },
+ "title_manage_tags": {
+ "translation": "Verwalten",
+ "defaultMessage": "Manage",
+ "description": "Section title for the list of tags",
+ "missing": false,
+ "obsolete": false
+ },
+ "title_not_found": {
+ "translation": "Nicht gefunden",
+ "defaultMessage": "Not found",
+ "description": "Title shown when topic is not found",
+ "missing": false,
+ "obsolete": false
+ },
+ "title_permissions": {
+ "translation": "Berechtigungen",
+ "defaultMessage": "Permissions",
+ "description": "Section title",
+ "missing": false,
+ "obsolete": false
+ },
+ "title_tag_manager": {
+ "translation": "Schlagworte (Nutzer entdecken)",
+ "defaultMessage": "Tags (search & discovery)",
+ "description": "Section title for TagManager",
+ "missing": false,
+ "obsolete": false
+ },
+ "topic_block_warning": {
+ "translation": "Möchten Sie diese Unterhaltung wirklich blockieren?",
+ "defaultMessage": "Are you sure you want to block this conversation?",
+ "description": "Alert warning when blocking a topic.",
+ "missing": false,
+ "obsolete": false
+ },
+ "topic_delete_warning": {
+ "translation": "Möchten Sie diese Unterhaltung wirklich löschen?",
+ "defaultMessage": "Are you sure you want to delete this conversation? It cannot be undone.",
+ "description": "Alert warning when deleting entire topic",
+ "missing": false,
+ "obsolete": false
+ },
+ "topic_name_editing_placeholder": {
+ "translation": "Freiform Name der Gruppe",
+ "defaultMessage": "Freeform name of the group",
+ "description": "Prompt for entering topic name",
+ "missing": false,
+ "obsolete": false
+ },
+ "unnamed_topic": {
+ "translation": "Unbenannt",
+ "defaultMessage": "Unnamed",
+ "description": "Title shown when the topic has no name",
+ "missing": false,
+ "obsolete": false
+ },
+ "update_available": {
+ "translation": "Aktualisierung verfügbar.",
+ "defaultMessage": "Update available.",
+ "description": "Message shown when an app update is available.",
+ "missing": false,
+ "obsolete": false
+ },
+ "upload_finishing": {
+ "translation": "wird abgeschlossen...",
+ "defaultMessage": "finishing...",
+ "description": "Notification that upload is finishing",
+ "missing": false,
+ "obsolete": false
+ },
+ "user_not_found": {
+ "translation": "Nicht gefunden",
+ "defaultMessage": "Not found",
+ "description": "In place of a user's full name when the user is not found.",
+ "missing": false,
+ "obsolete": false
+ },
+ "validate_credential_action": {
+ "translation": "bestätigen",
+ "defaultMessage": "confirm",
+ "description": "Validate credentail call to action",
+ "missing": false,
+ "obsolete": false
+ },
+ "description_editing_placeholder": {
+ "translation": "Beschreibung (optional)",
+ "defaultMessage": "Description (optional)",
+ "description": "Placeholder for editing topic description",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_description": {
+ "translation": "Beschreibung",
+ "defaultMessage": "Description",
+ "description": "Label for editing topic description",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_security": {
+ "translation": "Sicherheit",
+ "defaultMessage": "Security",
+ "description": "Navigaton button for security panel.",
+ "missing": false,
+ "obsolete": false
+ },
+ "panel_title_general": {
+ "translation": "Allgemein",
+ "defaultMessage": "General",
+ "description": "Title for TopicCommon.",
+ "missing": false,
+ "obsolete": false
+ },
+ "panel_title_security": {
+ "translation": "Sicherheit",
+ "defaultMessage": "Security",
+ "description": "Title for TopicSecirity and AccSecurity.",
+ "missing": false,
+ "obsolete": false
+ },
+ "panel_title_crop": {
+ "translation": "Zum Anpassen ziehen",
+ "defaultMessage": "Drag to Adjust",
+ "description": "Title for AvatarCropView.",
+ "missing": false,
+ "obsolete": false
+ },
+ "panel_title_members": {
+ "translation": "Mitglieder",
+ "defaultMessage": "Members",
+ "description": "Title for managing group members view.",
+ "missing": false,
+ "obsolete": false
+ },
+ "permissions_anonymous": {
+ "translation": "Anonym",
+ "defaultMessage": "Anonymous",
+ "description": "Title for editing default anonymous permissions",
+ "missing": false,
+ "obsolete": false
+ },
+ "permissions_authenticated": {
+ "translation": "Authentifiziert",
+ "defaultMessage": "Authenticated",
+ "description": "Title for editing default authenticated permissions",
+ "missing": false,
+ "obsolete": false
+ },
+ "topic_delete": {
+ "translation": "Chat löschen",
+ "defaultMessage": "Delete Conversation",
+ "description": "Alert title when deleting the topic.",
+ "missing": false,
+ "obsolete": false
+ },
+ "permissions_user": {
+ "translation": "Benutzerberechtigungen",
+ "defaultMessage": "User's Permissions",
+ "description": "Title for editing user's permissions",
+ "missing": false,
+ "obsolete": false
+ },
+ "password_reset_email_sent": {
+ "translation": "Eine E-Mail wurde an {email} gesendet. Folgen Sie den Anweisungen in der E-Mail, um Ihr Passwort zurückzusetzen.",
+ "defaultMessage": "An email has been sent to {email}. Follow the directions in the email to reset your password.",
+ "description": "Notification that the email with password reset instructions has been sent",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_unarchive_topic": {
+ "translation": "Archiviert:",
+ "defaultMessage": "Archived:",
+ "description": "Label for unarchiving the topic",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_reply": {
+ "translation": "",
+ "defaultMessage": "Reply",
+ "description": "Reply to message",
+ "missing": true,
+ "obsolete": false
+ }
}
diff --git a/src/i18n/en.json b/src/i18n/en.json
index a1e0f7d2..7528558a 100644
--- a/src/i18n/en.json
+++ b/src/i18n/en.json
@@ -1,182 +1,1393 @@
{
- "action_block_contact": "Block Contact",
- "action_cancel": "cancel",
- "action_clear_messages": "Clear Messages",
- "action_delete_messages": "Clear Messages for All",
- "action_leave_chat": "Leave Conversation",
- "action_more": "More",
- "action_report_chat": "Report Conversation",
- "archived_contacts": "Archived contacts ({count})",
- "badge_owner": "owner",
- "badge_you": "you",
- "block_contact_warning": "Are you sure you want to block this contact?",
- "blocked_contacts_link": "Blocked contacts ({count})",
- "button_add_another": "Add another",
- "button_add_members": "Add members",
- "button_cancel": "Cancel",
- "button_confirm": "Confirm",
- "button_create": "Create",
- "button_delete_account": "Delete account",
- "button_edit": "Edit",
- "button_logout": "Logout",
- "button_ok": "OK",
- "button_reset": "Reset",
- "button_send_request": "Send request",
- "button_sign_in": "Sign in",
- "button_sign_up": "Sign up",
- "button_subscribe": "Subscribe",
- "button_update": "Update",
- "cannot_initiate_file_upload": "Cannot initiate file upload.",
- "channel": "channel",
- "channel_prompt": "This is a channel",
- "chat_invitation": "You are invited to start a new chat. What would you like to do?",
- "chat_invitation_accept": "Accept",
- "chat_invitation_block": "Block",
- "chat_invitation_ignore": "Ignore",
- "clear_messages_warning": "Are you sure you want to clear all messages? It cannot be undone.",
- "code_doesnot_match": "Code does not match",
- "contacts_not_found": "You have no chats
¯∖_(ツ)_/¯",
- "contacts_not_found_short": "No contacts match ''{query}''",
- "credential_email_prompt": "Your registration email",
- "delete_account": "Delete account",
- "delete_account_arning": "Are you sure you want to delete your account? It cannot be undone.",
- "delete_messages_warning": "Are you sure you want to delete all messages for everyone? It cannot be undone.",
- "deleted_content": "content deleted",
- "download_action": "download",
- "drafty_attachment": "Attachment",
- "drafty_form": "Form:",
- "drafty_image": "Picture",
- "email_dative": "email",
- "email_prompt": "Email, e.g. jdoe@example.com",
- "enable_peers_messaging": "Enable",
- "enter_confirmation_code_prompt": "Enter confirmation code sent to you by {method}:",
- "error_invalid_id": "Invalid ID",
- "file_attachment_too_large": "The file size {size} exceeds the {limit} limit.",
- "forgot_password_link": "Forgot password?",
- "full_name_prompt": "Full name, e.g. John Doe",
- "granted_permissions": "Granted",
- "group_has_no_members": "No members",
- "group_user_id_prompt": "Group or User ID",
- "image_caption_prompt": "Image caption",
- "invalid_content": "invalid content",
- "invalid_security_token": "Invalid security token",
- "label_client": "Client:",
- "label_content_type": "Content type:",
- "label_default_access": "Default access mode:",
- "label_default_access_mode": "Default access mode:",
- "label_file_name": "File name:",
- "label_group_members": "Group members:",
- "label_incognito_mode": "Incognito mode:",
- "label_message_sound": "Message sound:",
- "label_muting_topic": "Muted:",
- "label_other_user": "Other",
- "label_password": "Password",
- "label_permissions": "Permissions:",
- "label_private": "Private comment",
- "label_push_notifications": "Notification alerts:",
- "label_push_notifications_disabled": "Notification alerts (requires HTTPS):",
- "label_reset_password": "Send a password reset email:",
- "label_sdk": "SDK:",
- "label_server": "Server:",
- "label_server_address": "Server address:",
- "label_server_to_use": "Server to use:",
- "label_size": "Size:",
- "label_topic_name": "Name",
- "label_user_contacts": "Contacts:",
- "label_user_id": "ID:",
- "label_wire_transport": "Wire transport:",
- "label_you": "You:",
- "label_your_name": "Your name",
- "label_your_permissions": "Your permissions:",
- "last_seen_timestamp": "Last seen",
- "leave_chat_warning": "Are you sure you want to leave this conversation?",
- "link_contact_us": "Contact Us",
- "link_privacy_policy": "Privacy Policy",
- "link_terms_of_service": "Terms of Service",
- "login_prompt": "Login",
- "menu_item_archive_topic": "Archive",
- "menu_item_block": "Block",
- "menu_item_clear_messages": "Clear messages",
- "menu_item_clear_messages_for_all": "Clear for All",
- "menu_item_delete": "Delete",
- "menu_item_delete_for_all": "Delete for All",
- "menu_item_delete_topic": "Delete",
- "menu_item_edit_permissions": "Edit permissions",
- "menu_item_info": "Info",
- "menu_item_member_delete": "Remove",
- "menu_item_mute": "Mute",
- "menu_item_restore_topic": "Restore",
- "menu_item_send_retry": "Retry",
- "menu_item_unblock": "Unblock",
- "menu_item_unmute": "Unmute",
- "message_sending": "sending...",
- "message_sending_failed": "failed",
- "messages_not_readable": "no access to messages",
- "messaging_disabled_prompt": "Messaging disabled",
- "more_online_members": "+{overflow} more",
- "new_message_prompt": "New message",
- "new_password_placeholder": "Enter new password",
- "no_connection": "No connection",
- "no_contacts": "You have no contacts :-(",
- "numeric_confirmation_code_prompt": "Numbers only",
- "online_now": "online now",
- "password_prompt": "Password",
- "password_reset_email_sent": "An email has been sent to {email}. Follow the directions in the email to reset your password.",
- "password_unchanged_prompt": "Unchanged",
- "peers_messaging_disabled": "Peer's messaging is disabled.",
- "permission_admin": "Approve ({val})",
- "permission_delete": "Delete ({val})",
- "permission_join": "Join ({val})",
- "permission_owner": "Owner ({val})",
- "permission_pres": "Get notified ({val})",
- "permission_read": "Read ({val})",
- "permission_share": "Share ({val})",
- "permission_write": "Write ({val})",
- "phone_dative": "phone",
- "private_editing_placeholder": "Visible to you only",
- "push_init_failed": "Failed to initialize push notifications",
- "reconnect_countdown": "Disconnected. Reconnecting in {seconds}…",
- "reconnect_now": "Try now",
- "reload_update": "Reload",
- "report_chat_warning": "Are you sure you want to block and report this conversation?",
- "requested_permissions": "Requested",
- "save_attachment": "save",
- "search_for_contacts": "Use search to find contacts",
- "search_no_results": "Search returned no results",
- "search_placeholder": "List like email:alice@example.com, tel:17025550003...",
- "sidepanel_title_acc_general": "General",
- "sidepanel_title_acc_notifications": "Notifications",
- "sidepanel_title_acc_security": "Security",
- "sidepanel_title_acc_support": "Support",
- "sidepanel_title_account_settings": "Account Settings",
- "sidepanel_title_archive": "Archived Chats",
- "sidepanel_title_blocked": "Blocked Chats",
- "sidepanel_title_cred": "Confirm Credentials",
- "sidepanel_title_login": "Sign In",
- "sidepanel_title_newtpk": "Start New Chat",
- "sidepanel_title_register": "Create Account",
- "sidepanel_title_reset": "Reset Password",
- "sidepanel_title_settings": "Settings",
- "stay_logged_in": "Stay logged in",
- "tabtitle_find_user": "find",
- "tabtitle_group_by_id": "by id",
- "tabtitle_new_group": "new group",
- "tags_editor_no_tags": "Add some tags",
- "tags_not_found": "No tags defined. Add some.",
- "title_all_contacts": "All Contacts",
- "title_group_members": "Group Members",
- "title_info": "Info",
- "title_manage_tags": "Manage",
- "title_not_found": "Not found",
- "title_permissions": "Permissions",
- "title_tag_manager": "Tags (user discovery)",
- "topic_block_warning": "Are you sure you want to block this conversation?",
- "topic_delete": "Delete Conversation",
- "topic_delete_warning": "Are you sure you want to delete this conversation? It cannot be undone.",
- "topic_name_editing_placeholder": "Freeform name of the group",
- "unnamed_topic": "Unnamed",
- "update_available": "Update available.",
- "upload_finishing": "finishing...",
- "user_not_found": "Not found",
- "validate_credential_action": "confirm"
+ "action_block_contact": {
+ "translation": "Block Contact",
+ "defaultMessage": "Block Contact",
+ "description": "Flat button [Block Contact]",
+ "missing": false,
+ "obsolete": false
+ },
+ "action_cancel": {
+ "translation": "cancel",
+ "defaultMessage": "cancel",
+ "description": "Call to action [cancel]",
+ "missing": false,
+ "obsolete": false
+ },
+ "action_clear_messages": {
+ "translation": "Clear Messages",
+ "defaultMessage": "Clear Messages",
+ "description": "Flat button [Clear Messages] (soft-delete messages)",
+ "missing": false,
+ "obsolete": false
+ },
+ "action_delete_messages": {
+ "translation": "Clear Messages for All",
+ "defaultMessage": "Clear Messages for All",
+ "description": "Flat button [Clear for All] (hard-delete all messages)",
+ "missing": false,
+ "obsolete": false
+ },
+ "action_leave_chat": {
+ "translation": "Leave Conversation",
+ "defaultMessage": "Leave Conversation",
+ "description": "Flat button [Leave Conversation]",
+ "missing": false,
+ "obsolete": false
+ },
+ "action_more": {
+ "translation": "More",
+ "defaultMessage": "More",
+ "description": "Action for showing more content",
+ "missing": false,
+ "obsolete": true
+ },
+ "action_report_chat": {
+ "translation": "Report Conversation",
+ "defaultMessage": "Report Conversation",
+ "description": "Flat button [Report Group]",
+ "missing": false,
+ "obsolete": false
+ },
+ "archived_contacts": {
+ "translation": "Archived contacts ({count})",
+ "defaultMessage": "Archived contacts ({count})",
+ "description": "Label for archived chats",
+ "missing": false,
+ "obsolete": false
+ },
+ "badge_danger": {
+ "translation": "Untrustworthy",
+ "defaultMessage": "Untrustworthy",
+ "description": "Suspicious or untrustworthy account or topic badge",
+ "missing": false,
+ "obsolete": false
+ },
+ "badge_owner": {
+ "translation": "owner",
+ "defaultMessage": "owner",
+ "description": "Badge for indicating the owner",
+ "missing": false,
+ "obsolete": false
+ },
+ "badge_staff": {
+ "translation": "Staff-managed",
+ "defaultMessage": "Staff-managed",
+ "description": "Explanation of a staff-managed account or topic badge",
+ "missing": false,
+ "obsolete": false
+ },
+ "badge_verified": {
+ "translation": "Verified/official",
+ "defaultMessage": "Verified/official",
+ "description": "Explanation of a verified account or topic badge",
+ "missing": false,
+ "obsolete": false
+ },
+ "badge_you": {
+ "translation": "you",
+ "defaultMessage": "you",
+ "description": "Badge for indicating the current user",
+ "missing": false,
+ "obsolete": false
+ },
+ "block_contact_warning": {
+ "translation": "Are you sure you want to block this contact?",
+ "defaultMessage": "Are you sure you want to block this contact?",
+ "description": "Alert dialog warning when blocking a contact.",
+ "missing": false,
+ "obsolete": false
+ },
+ "blocked_contacts_link": {
+ "translation": "Blocked contacts ({count})",
+ "defaultMessage": "Blocked contacts ({count})",
+ "description": "Blocked contacts link",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_add_another": {
+ "translation": "Add another",
+ "defaultMessage": "Add another",
+ "description": "Call to action [+ add another]",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_add_members": {
+ "translation": "Add members",
+ "defaultMessage": "Add members",
+ "description": "Flat button [Add members] (to topic)",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_cancel": {
+ "translation": "Cancel",
+ "defaultMessage": "Cancel",
+ "description": "Button [Cancel]",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_confirm": {
+ "translation": "Confirm",
+ "defaultMessage": "Confirm",
+ "description": "Button [Confirm]",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_create": {
+ "translation": "Create",
+ "defaultMessage": "Create",
+ "description": "Button [Create]",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_delete_account": {
+ "translation": "Delete account",
+ "defaultMessage": "Delete account",
+ "description": "Button [Delete account]",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_edit": {
+ "translation": "Edit",
+ "defaultMessage": "Edit",
+ "description": "Call to action [Edit]",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_logout": {
+ "translation": "Logout",
+ "defaultMessage": "Logout",
+ "description": "Button [Logout]",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_ok": {
+ "translation": "OK",
+ "defaultMessage": "OK",
+ "description": "Button [OK]",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_reset": {
+ "translation": "Reset",
+ "defaultMessage": "Reset",
+ "description": "Button [Reset]",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_send_request": {
+ "translation": "Send request",
+ "defaultMessage": "Send request",
+ "description": "Button [Send request]",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_sign_in": {
+ "translation": "Sign in",
+ "defaultMessage": "Sign in",
+ "description": "Button [Sign In]",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_sign_up": {
+ "translation": "Sign up",
+ "defaultMessage": "Sign up",
+ "description": "Create account button [Sign Up]",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_subscribe": {
+ "translation": "Subscribe",
+ "defaultMessage": "Subscribe",
+ "description": "Button [Subscribe]",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_update": {
+ "translation": "Update",
+ "defaultMessage": "Update",
+ "description": "Button [Update]",
+ "missing": false,
+ "obsolete": false
+ },
+ "cannot_initiate_file_upload": {
+ "translation": "Cannot initiate file upload.",
+ "defaultMessage": "Cannot initiate file upload.",
+ "description": "Generic error messagewhen attachment fails",
+ "missing": false,
+ "obsolete": false
+ },
+ "channel": {
+ "translation": "channel",
+ "defaultMessage": "channel",
+ "description": "Subtitle shown for channels in MessagesView instead of last seen",
+ "missing": false,
+ "obsolete": false
+ },
+ "channel_prompt": {
+ "translation": "This is a channel",
+ "defaultMessage": "This is a channel",
+ "description": "Checkbox label when creating a channel",
+ "missing": false,
+ "obsolete": false
+ },
+ "chat_invitation": {
+ "translation": "You are invited to start a new chat. What would you like to do?",
+ "defaultMessage": "You are invited to start a new chat. What would you like to do?",
+ "description": "New chat invitation message: [Accept] [Ignore] [Block].",
+ "missing": false,
+ "obsolete": false
+ },
+ "chat_invitation_accept": {
+ "translation": "Accept",
+ "defaultMessage": "Accept",
+ "description": "Action [Accept] for chat invitation.",
+ "missing": false,
+ "obsolete": false
+ },
+ "chat_invitation_block": {
+ "translation": "Block",
+ "defaultMessage": "Block",
+ "description": "Action [Block] for chat invitation.",
+ "missing": false,
+ "obsolete": false
+ },
+ "chat_invitation_ignore": {
+ "translation": "Ignore",
+ "defaultMessage": "Ignore",
+ "description": "Action [Ignore] for chat invitation.",
+ "missing": false,
+ "obsolete": false
+ },
+ "clear_messages_warning": {
+ "translation": "Are you sure you want to clear all messages? It cannot be undone.",
+ "defaultMessage": "Are you sure you want to clear all messages? It cannot be undone.",
+ "description": "Alert dialog warning when deleting all messages.",
+ "missing": false,
+ "obsolete": false
+ },
+ "code_doesnot_match": {
+ "translation": "Code does not match",
+ "defaultMessage": "Code does not match",
+ "description": "Error message when the credential validation code is incorrect.",
+ "missing": false,
+ "obsolete": false
+ },
+ "contacts_not_found": {
+ "translation": "You have no chats
¯∖_(ツ)_/¯",
+ "defaultMessage": "You have no chats
¯∖_(ツ)_/¯",
+ "description": "HTML message shown in ContactList when no contacts are found",
+ "missing": false,
+ "obsolete": false
+ },
+ "contacts_not_found_short": {
+ "translation": "No contacts match ''{query}''",
+ "defaultMessage": "No contacts match ''{query}''",
+ "description": "Shown in ContactsView when search returned no results",
+ "missing": false,
+ "obsolete": false
+ },
+ "credential_email_prompt": {
+ "translation": "Your registration email",
+ "defaultMessage": "Your registration email",
+ "description": "Placeholder for entering email",
+ "missing": false,
+ "obsolete": false
+ },
+ "delete_account": {
+ "translation": "Delete account",
+ "defaultMessage": "Delete account",
+ "description": "Title for delete account warning",
+ "missing": false,
+ "obsolete": false
+ },
+ "delete_account_warning": {
+ "translation": "Are you sure you want to delete your account? It cannot be undone.",
+ "defaultMessage": "Are you sure you want to delete your account? It cannot be undone.",
+ "description": "Warning message when deleting an account",
+ "missing": false,
+ "obsolete": false
+ },
+ "delete_messages_warning": {
+ "translation": "Are you sure you want to delete all messages for everyone? It cannot be undone.",
+ "defaultMessage": "Are you sure you want to delete all messages for everyone? It cannot be undone.",
+ "description": "Alert dialog warning when hard-deleting all messages.",
+ "missing": false,
+ "obsolete": false
+ },
+ "deleted_content": {
+ "translation": "content deleted",
+ "defaultMessage": "content deleted",
+ "description": "Shown when messages are deleted",
+ "missing": false,
+ "obsolete": false
+ },
+ "download_action": {
+ "translation": "download",
+ "defaultMessage": "download",
+ "description": "Call to action [download]",
+ "missing": false,
+ "obsolete": false
+ },
+ "drafty_attachment": {
+ "translation": "Attachment",
+ "defaultMessage": "Attachment",
+ "description": "Comment for attachment in drafty preview",
+ "missing": false,
+ "obsolete": false
+ },
+ "drafty_form": {
+ "translation": "Form:",
+ "defaultMessage": "Form:",
+ "description": "Comment for form in drafty preview",
+ "missing": false,
+ "obsolete": false
+ },
+ "drafty_image": {
+ "translation": "Picture",
+ "defaultMessage": "Picture",
+ "description": "Comment for embedded images in drafty preview",
+ "missing": false,
+ "obsolete": false
+ },
+ "email_dative": {
+ "translation": "email",
+ "defaultMessage": "email",
+ "description": "Dative case of 'email', i.e. 'email' in 'by email'",
+ "missing": false,
+ "obsolete": false
+ },
+ "email_prompt": {
+ "translation": "Email, e.g. jdoe@example.com",
+ "defaultMessage": "Email, e.g. jdoe@example.com",
+ "description": "Input placeholder for email entry",
+ "missing": false,
+ "obsolete": false
+ },
+ "enable_peers_messaging": {
+ "translation": "Enable",
+ "defaultMessage": "Enable",
+ "description": "Call to action to enable peer's messaging",
+ "missing": false,
+ "obsolete": false
+ },
+ "enter_confirmation_code_prompt": {
+ "translation": "Enter confirmation code sent to you by {method}:",
+ "defaultMessage": "Enter confirmation code sent to you by {method}:",
+ "description": "Request to enter confirmation code",
+ "missing": false,
+ "obsolete": false
+ },
+ "error_invalid_id": {
+ "translation": "Invalid ID",
+ "defaultMessage": "Invalid ID",
+ "description": "Error message",
+ "missing": false,
+ "obsolete": false
+ },
+ "file_attachment_too_large": {
+ "translation": "The file size {size} exceeds the {limit} limit.",
+ "defaultMessage": "The file size {size} exceeds the {limit} limit.",
+ "description": "Error message when attachment is too large",
+ "missing": false,
+ "obsolete": false
+ },
+ "forgot_password_link": {
+ "translation": "Forgot password?",
+ "defaultMessage": "Forgot password?",
+ "description": "Link to Reset password form",
+ "missing": false,
+ "obsolete": false
+ },
+ "full_name_prompt": {
+ "translation": "Full name, e.g. John Doe",
+ "defaultMessage": "Full name, e.g. John Doe",
+ "description": "Input placeholder for person's full name",
+ "missing": false,
+ "obsolete": false
+ },
+ "granted_permissions": {
+ "translation": "Granted",
+ "defaultMessage": "Granted",
+ "description": "Title for permissions",
+ "missing": false,
+ "obsolete": false
+ },
+ "group_has_no_members": {
+ "translation": "No members",
+ "defaultMessage": "No members",
+ "description": "Shown in place of group members",
+ "missing": false,
+ "obsolete": false
+ },
+ "group_user_id_prompt": {
+ "translation": "Group or User ID",
+ "defaultMessage": "Group or User ID",
+ "description": "Prompt for entering user or group ID",
+ "missing": false,
+ "obsolete": false
+ },
+ "image_caption_prompt": {
+ "translation": "Image caption",
+ "defaultMessage": "Image caption",
+ "description": "Prompt in SendMessage for attached image",
+ "missing": false,
+ "obsolete": false
+ },
+ "invalid_content": {
+ "translation": "invalid content",
+ "defaultMessage": "invalid content",
+ "description": "Shown when message is unreadable",
+ "missing": false,
+ "obsolete": false
+ },
+ "invalid_security_token": {
+ "translation": "Invalid security token",
+ "defaultMessage": "Invalid security token",
+ "description": "Error message when resetting password.",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_client": {
+ "translation": "Client:",
+ "defaultMessage": "Client:",
+ "description": "Label for a client version",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_content_type": {
+ "translation": "Content type:",
+ "defaultMessage": "Content type:",
+ "description": "Label for file content type (mime)",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_default_access": {
+ "translation": "Default access mode:",
+ "defaultMessage": "Default access mode:",
+ "description": "Section title",
+ "missing": false,
+ "obsolete": true
+ },
+ "label_default_access_mode": {
+ "translation": "Default access mode:",
+ "defaultMessage": "Default access mode:",
+ "description": "Label for default access mode",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_file_name": {
+ "translation": "File name:",
+ "defaultMessage": "File name:",
+ "description": "Label for a file name",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_group_members": {
+ "translation": "Group members:",
+ "defaultMessage": "Group members:",
+ "description": "Section title or label",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_incognito_mode": {
+ "translation": "Incognito mode:",
+ "defaultMessage": "Incognito mode:",
+ "description": "Label for incognito mode toggle",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_message_sound": {
+ "translation": "Message sound:",
+ "defaultMessage": "Message sound:",
+ "description": "Label for message sounds toggle",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_muting_topic": {
+ "translation": "Muted:",
+ "defaultMessage": "Muted:",
+ "description": "Label for Muting/unmuting the topic",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_other_user": {
+ "translation": "Other",
+ "defaultMessage": "Other",
+ "description": "Label for the other user when the user is unnamed",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_password": {
+ "translation": "Password",
+ "defaultMessage": "Password",
+ "description": "Label for password editing",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_permissions": {
+ "translation": "Permissions:",
+ "defaultMessage": "Permissions:",
+ "description": "Section title",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_private": {
+ "translation": "Private comment",
+ "defaultMessage": "Private comment",
+ "description": "Label for editing 'private'",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_push_notifications": {
+ "translation": "Notification alerts:",
+ "defaultMessage": "Notification alerts:",
+ "description": "Label for push notifications switch",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_push_notifications_disabled": {
+ "translation": "Notification alerts (requires HTTPS):",
+ "defaultMessage": "Notification alerts (requires HTTPS):",
+ "description": "Label for push notifications switch",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_reset_password": {
+ "translation": "Send a password reset email:",
+ "defaultMessage": "Send a password reset email:",
+ "description": "Label for password reset field",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_sdk": {
+ "translation": "SDK:",
+ "defaultMessage": "SDK:",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_server": {
+ "translation": "Server:",
+ "defaultMessage": "Server:",
+ "description": "Label for a server version",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_server_address": {
+ "translation": "Server address:",
+ "defaultMessage": "Server address:",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_server_to_use": {
+ "translation": "Server to use:",
+ "defaultMessage": "Server to use:",
+ "description": "Label for server selector in SettingsView",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_size": {
+ "translation": "Size:",
+ "defaultMessage": "Size:",
+ "description": "Label for file size",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_topic_name": {
+ "translation": "Name",
+ "defaultMessage": "Name",
+ "description": "Label for editing topic name",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_user_contacts": {
+ "translation": "Contacts:",
+ "defaultMessage": "Contacts:",
+ "description": "Label for user contacts",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_user_id": {
+ "translation": "ID:",
+ "defaultMessage": "ID:",
+ "description": "Label for user address (ID)",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_wire_transport": {
+ "translation": "Wire transport:",
+ "defaultMessage": "Wire transport:",
+ "description": "Label for wire transport selection in SettingsView",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_you": {
+ "translation": "You:",
+ "defaultMessage": "You:",
+ "description": "Label for the current user",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_your_name": {
+ "translation": "Your name",
+ "defaultMessage": "Your name",
+ "description": "Label for full name editing",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_your_permissions": {
+ "translation": "Your permissions:",
+ "defaultMessage": "Your permissions:",
+ "description": "Label for current user permissions",
+ "missing": false,
+ "obsolete": false
+ },
+ "last_seen_timestamp": {
+ "translation": "Last seen",
+ "defaultMessage": "Last seen",
+ "description": "Label for the timestamp of when the user or topic was last online",
+ "missing": false,
+ "obsolete": false
+ },
+ "leave_chat_warning": {
+ "translation": "Are you sure you want to leave this conversation?",
+ "defaultMessage": "Are you sure you want to leave this conversation?",
+ "description": "Alert dialog warning when unsubscribing from a chat.",
+ "missing": false,
+ "obsolete": false
+ },
+ "link_contact_us": {
+ "translation": "Contact Us",
+ "defaultMessage": "Contact Us",
+ "description": "Ancor text for contacting us by email",
+ "missing": false,
+ "obsolete": false
+ },
+ "link_privacy_policy": {
+ "translation": "Privacy Policy",
+ "defaultMessage": "Privacy Policy",
+ "description": "Ancor text for privacy policy link",
+ "missing": false,
+ "obsolete": false
+ },
+ "link_terms_of_service": {
+ "translation": "Terms of Service",
+ "defaultMessage": "Terms of Service",
+ "description": "Ancor text for terms of service link",
+ "missing": false,
+ "obsolete": false
+ },
+ "login_prompt": {
+ "translation": "Login",
+ "defaultMessage": "Login",
+ "description": "Placeholer for username/login",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_archive_topic": {
+ "translation": "Archive",
+ "defaultMessage": "Archive",
+ "description": "Move topic from the list of active chats to archive",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_block": {
+ "translation": "Block",
+ "defaultMessage": "Block",
+ "description": "Block topic or user",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_clear_messages": {
+ "translation": "Clear messages",
+ "defaultMessage": "Clear messages",
+ "description": "Delete all messages",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_clear_messages_for_all": {
+ "translation": "Clear for All",
+ "defaultMessage": "Clear for All",
+ "description": "Delete all message(s) for all members",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_delete": {
+ "translation": "Delete",
+ "defaultMessage": "Delete",
+ "description": "Delete selected messages",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_delete_for_all": {
+ "translation": "Delete for All",
+ "defaultMessage": "Delete for All",
+ "description": "Delete selected message(s) for all members",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_delete_topic": {
+ "translation": "Delete",
+ "defaultMessage": "Delete",
+ "description": "Delete entire topic",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_edit_permissions": {
+ "translation": "Edit permissions",
+ "defaultMessage": "Edit permissions",
+ "description": "Menu item [Edit permissions]",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_info": {
+ "translation": "Info",
+ "defaultMessage": "Info",
+ "description": "Show extended topic information",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_member_delete": {
+ "translation": "Remove",
+ "defaultMessage": "Remove",
+ "description": "Remove user from topic",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_mute": {
+ "translation": "Mute",
+ "defaultMessage": "Mute",
+ "description": "Turn off notifications",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_reply": {
+ "translation": "Reply",
+ "defaultMessage": "Reply",
+ "description": "Reply to message",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_restore_topic": {
+ "translation": "Restore",
+ "defaultMessage": "Restore",
+ "description": "Restore topic from archive",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_send_retry": {
+ "translation": "Retry",
+ "defaultMessage": "Retry",
+ "description": "Retry sending message",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_unblock": {
+ "translation": "Unblock",
+ "defaultMessage": "Unblock",
+ "description": "Unblock topic or user",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_unmute": {
+ "translation": "Unmute",
+ "defaultMessage": "Unmute",
+ "description": "Turn notifications on",
+ "missing": false,
+ "obsolete": false
+ },
+ "message_sending": {
+ "translation": "sending...",
+ "defaultMessage": "sending...",
+ "description": "Message being sent, in place of time stamp",
+ "missing": false,
+ "obsolete": false
+ },
+ "message_sending_failed": {
+ "translation": "failed",
+ "defaultMessage": "failed",
+ "description": "Failed to send message, in place of time stamp",
+ "missing": false,
+ "obsolete": false
+ },
+ "messages_not_readable": {
+ "translation": "no access to messages",
+ "defaultMessage": "no access to messages",
+ "description": "Message shown in topic without the read access",
+ "missing": false,
+ "obsolete": false
+ },
+ "messaging_disabled_prompt": {
+ "translation": "Messaging disabled",
+ "defaultMessage": "Messaging disabled",
+ "description": "Prompt in SendMessage in read-only topic",
+ "missing": false,
+ "obsolete": false
+ },
+ "more_online_members": {
+ "translation": "+{overflow} more",
+ "defaultMessage": "+{overflow} more",
+ "description": "Shown in MessagesView title bar when the number of online subscribers exceeds MAX_ONLINE_IN_TOPIC",
+ "missing": false,
+ "obsolete": false
+ },
+ "new_message_prompt": {
+ "translation": "New message",
+ "defaultMessage": "New message",
+ "description": "Prompt in send message field",
+ "missing": false,
+ "obsolete": false
+ },
+ "new_password_placeholder": {
+ "translation": "Enter new password",
+ "defaultMessage": "Enter new password",
+ "description": "Placeholder for entering new password",
+ "missing": false,
+ "obsolete": false
+ },
+ "no_connection": {
+ "translation": "No connection",
+ "defaultMessage": "No connection",
+ "description": "Warning that the user is offline.",
+ "missing": false,
+ "obsolete": false
+ },
+ "no_contacts": {
+ "translation": "You have no contacts :-(",
+ "defaultMessage": "You have no contacts :-(",
+ "description": "Shown in ContactsView when the user has no contacts",
+ "missing": false,
+ "obsolete": false
+ },
+ "numeric_confirmation_code_prompt": {
+ "translation": "Numbers only",
+ "defaultMessage": "Numbers only",
+ "description": "Prompt for numeric conformation code",
+ "missing": false,
+ "obsolete": false
+ },
+ "online_now": {
+ "translation": "online now",
+ "defaultMessage": "online now",
+ "description": "Indicator that the user or topic is currently online",
+ "missing": false,
+ "obsolete": false
+ },
+ "password_prompt": {
+ "translation": "Password",
+ "defaultMessage": "Password",
+ "description": "Placeholder/prompt for entering password",
+ "missing": false,
+ "obsolete": false
+ },
+ "password_unchanged_prompt": {
+ "translation": "Unchanged",
+ "defaultMessage": "Unchanged",
+ "description": "Message in editor while password is unchanged",
+ "missing": false,
+ "obsolete": false
+ },
+ "peers_messaging_disabled": {
+ "translation": "Peer's messaging is disabled.",
+ "defaultMessage": "Peer's messaging is disabled.",
+ "description": "Shown when the p2p peer's messaging is disabled",
+ "missing": false,
+ "obsolete": false
+ },
+ "permission_admin": {
+ "translation": "Approve ({val})",
+ "defaultMessage": "Approve ({val})",
+ "description": "Name of A permission",
+ "missing": false,
+ "obsolete": false
+ },
+ "permission_delete": {
+ "translation": "Delete ({val})",
+ "defaultMessage": "Delete ({val})",
+ "description": "Name of D permission",
+ "missing": false,
+ "obsolete": false
+ },
+ "permission_join": {
+ "translation": "Join ({val})",
+ "defaultMessage": "Join ({val})",
+ "description": "Name of J permission",
+ "missing": false,
+ "obsolete": false
+ },
+ "permission_owner": {
+ "translation": "Owner ({val})",
+ "defaultMessage": "Owner ({val})",
+ "description": "Name of O permission",
+ "missing": false,
+ "obsolete": false
+ },
+ "permission_pres": {
+ "translation": "Get notified ({val})",
+ "defaultMessage": "Get notified ({val})",
+ "description": "Name of P permission",
+ "missing": false,
+ "obsolete": false
+ },
+ "permission_read": {
+ "translation": "Read ({val})",
+ "defaultMessage": "Read ({val})",
+ "description": "Name of R permission",
+ "missing": false,
+ "obsolete": false
+ },
+ "permission_share": {
+ "translation": "Share ({val})",
+ "defaultMessage": "Share ({val})",
+ "description": "Name of S permission",
+ "missing": false,
+ "obsolete": false
+ },
+ "permission_write": {
+ "translation": "Write ({val})",
+ "defaultMessage": "Write ({val})",
+ "description": "Name of W permission",
+ "missing": false,
+ "obsolete": false
+ },
+ "phone_dative": {
+ "translation": "phone",
+ "defaultMessage": "phone",
+ "description": "Dative case of 'phone', i.e. 'phone' in 'by phone'",
+ "missing": false,
+ "obsolete": false
+ },
+ "private_editing_placeholder": {
+ "translation": "Visible to you only",
+ "defaultMessage": "Visible to you only",
+ "description": "Placeholder for editing 'private'",
+ "missing": false,
+ "obsolete": false
+ },
+ "push_init_failed": {
+ "translation": "Failed to initialize push notifications",
+ "defaultMessage": "Failed to initialize push notifications",
+ "description": "Error message when push notifications have failed to initialize.",
+ "missing": false,
+ "obsolete": false
+ },
+ "reconnect_countdown": {
+ "translation": "Disconnected. Reconnecting in {seconds}…",
+ "defaultMessage": "Disconnected. Reconnecting in {seconds}…",
+ "description": "Message shown when an app update is available.",
+ "missing": false,
+ "obsolete": false
+ },
+ "reconnect_now": {
+ "translation": "Try now",
+ "defaultMessage": "Try now",
+ "description": "Prompt for reconnecting now",
+ "missing": false,
+ "obsolete": false
+ },
+ "reload_update": {
+ "translation": "Reload",
+ "defaultMessage": "Reload",
+ "description": "Call to action to reload application when update is available.",
+ "missing": false,
+ "obsolete": false
+ },
+ "report_chat_warning": {
+ "translation": "Are you sure you want to block and report this conversation?",
+ "defaultMessage": "Are you sure you want to block and report this conversation?",
+ "description": "Alert dialog warning when reporting a conversation for abuse",
+ "missing": false,
+ "obsolete": false
+ },
+ "requested_permissions": {
+ "translation": "Requested",
+ "defaultMessage": "Requested",
+ "description": "Title for permissions",
+ "missing": false,
+ "obsolete": false
+ },
+ "save_attachment": {
+ "translation": "save",
+ "defaultMessage": "save",
+ "description": "Call to save an attachment",
+ "missing": false,
+ "obsolete": false
+ },
+ "search_for_contacts": {
+ "translation": "Use search to find contacts",
+ "defaultMessage": "Use search to find contacts",
+ "description": "Text shown in contacts view when user entered no search query.",
+ "missing": false,
+ "obsolete": false
+ },
+ "search_no_results": {
+ "translation": "Search returned no results",
+ "defaultMessage": "Search returned no results",
+ "description": "Text shown in contacts view when query returned no results.",
+ "missing": false,
+ "obsolete": false
+ },
+ "search_placeholder": {
+ "translation": "List like email:alice@example.com, tel:17025550003...",
+ "defaultMessage": "List like email:alice@example.com, tel:17025550003...",
+ "description": "Placeholder in contacts search field",
+ "missing": false,
+ "obsolete": false
+ },
+ "sidepanel_title_acc_general": {
+ "translation": "General",
+ "defaultMessage": "General",
+ "description": "Sidepanel title for TopicCommonView.",
+ "missing": false,
+ "obsolete": true
+ },
+ "sidepanel_title_acc_notifications": {
+ "translation": "Notifications",
+ "defaultMessage": "Notifications",
+ "description": "Sidepanel title for AccNotificationsView.",
+ "missing": false,
+ "obsolete": false
+ },
+ "sidepanel_title_acc_security": {
+ "translation": "Security",
+ "defaultMessage": "Security",
+ "description": "Sidepanel title for AccSecurityView.",
+ "missing": false,
+ "obsolete": true
+ },
+ "sidepanel_title_acc_support": {
+ "translation": "Support",
+ "defaultMessage": "Support",
+ "description": "Sidepanel title for AccSupportView.",
+ "missing": false,
+ "obsolete": false
+ },
+ "sidepanel_title_account_settings": {
+ "translation": "Account Settings",
+ "defaultMessage": "Account Settings",
+ "description": "Sidepanel title for AccountSettingsView.",
+ "missing": false,
+ "obsolete": false
+ },
+ "sidepanel_title_archive": {
+ "translation": "Archived Chats",
+ "defaultMessage": "Archived Chats",
+ "description": "Sidepanel title for ContactsView-Archive.",
+ "missing": false,
+ "obsolete": false
+ },
+ "sidepanel_title_blocked": {
+ "translation": "Blocked Chats",
+ "defaultMessage": "Blocked Chats",
+ "description": "Sidepanel title for ContactsView-Blocked.",
+ "missing": false,
+ "obsolete": false
+ },
+ "sidepanel_title_cred": {
+ "translation": "Confirm Credentials",
+ "defaultMessage": "Confirm Credentials",
+ "description": "Sidepanel title for ValidationView.",
+ "missing": false,
+ "obsolete": false
+ },
+ "sidepanel_title_crop": {
+ "translation": "Drag to Adjust",
+ "defaultMessage": "Drag to Adjust",
+ "description": "Sidepanel title for AvatarCropView.",
+ "missing": false,
+ "obsolete": true
+ },
+ "sidepanel_title_login": {
+ "translation": "Sign In",
+ "defaultMessage": "Sign In",
+ "description": "Sidepanel title for LoginView.",
+ "missing": false,
+ "obsolete": false
+ },
+ "sidepanel_title_newtpk": {
+ "translation": "Start New Chat",
+ "defaultMessage": "Start New Chat",
+ "description": "Sidepanel title for NewTopicView.",
+ "missing": false,
+ "obsolete": false
+ },
+ "sidepanel_title_register": {
+ "translation": "Create Account",
+ "defaultMessage": "Create Account",
+ "description": "Sidepanel title for CreateAccountView.",
+ "missing": false,
+ "obsolete": false
+ },
+ "sidepanel_title_reset": {
+ "translation": "Reset Password",
+ "defaultMessage": "Reset Password",
+ "description": "Sidepanel title for PasswordResetView.",
+ "missing": false,
+ "obsolete": false
+ },
+ "sidepanel_title_settings": {
+ "translation": "Settings",
+ "defaultMessage": "Settings",
+ "description": "Sidepanel title for SettingsView.",
+ "missing": false,
+ "obsolete": false
+ },
+ "stay_logged_in": {
+ "translation": "Stay logged in",
+ "defaultMessage": "Stay logged in",
+ "description": "Label for a checkbox",
+ "missing": false,
+ "obsolete": false
+ },
+ "tabtitle_find_user": {
+ "translation": "find",
+ "defaultMessage": "find",
+ "description": "Tab title Find",
+ "missing": false,
+ "obsolete": false
+ },
+ "tabtitle_group_by_id": {
+ "translation": "by id",
+ "defaultMessage": "by id",
+ "description": "Tab title Find topic by ID",
+ "missing": false,
+ "obsolete": false
+ },
+ "tabtitle_new_group": {
+ "translation": "new group",
+ "defaultMessage": "new group",
+ "description": "Tab title New Group",
+ "missing": false,
+ "obsolete": false
+ },
+ "tags_editor_no_tags": {
+ "translation": "Add some tags",
+ "defaultMessage": "Add some tags",
+ "description": "Tag editor prompt when no tags are found.",
+ "missing": false,
+ "obsolete": false
+ },
+ "tags_not_found": {
+ "translation": "No tags defined. Add some.",
+ "defaultMessage": "No tags defined. Add some.",
+ "description": "",
+ "missing": false,
+ "obsolete": false
+ },
+ "title_all_contacts": {
+ "translation": "All Contacts",
+ "defaultMessage": "All Contacts",
+ "description": "Section title [All Contacts]",
+ "missing": false,
+ "obsolete": false
+ },
+ "title_group_members": {
+ "translation": "Group Members",
+ "defaultMessage": "Group Members",
+ "description": "Section title",
+ "missing": false,
+ "obsolete": false
+ },
+ "title_info": {
+ "translation": "Info",
+ "defaultMessage": "Info",
+ "description": "Title for InfoView",
+ "missing": false,
+ "obsolete": true
+ },
+ "title_manage_tags": {
+ "translation": "Manage",
+ "defaultMessage": "Manage",
+ "description": "Section title for the list of tags",
+ "missing": false,
+ "obsolete": false
+ },
+ "title_not_found": {
+ "translation": "Not found",
+ "defaultMessage": "Not found",
+ "description": "Title shown when topic is not found",
+ "missing": false,
+ "obsolete": false
+ },
+ "title_permissions": {
+ "translation": "Permissions",
+ "defaultMessage": "Permissions",
+ "description": "Section title",
+ "missing": false,
+ "obsolete": false
+ },
+ "title_tag_manager": {
+ "translation": "Tags (search & discovery)",
+ "defaultMessage": "Tags (search & discovery)",
+ "description": "Section title for TagManager",
+ "missing": false,
+ "obsolete": false
+ },
+ "topic_block_warning": {
+ "translation": "Are you sure you want to block this conversation?",
+ "defaultMessage": "Are you sure you want to block this conversation?",
+ "description": "Alert warning when blocking a topic.",
+ "missing": false,
+ "obsolete": false
+ },
+ "topic_delete_warning": {
+ "translation": "Are you sure you want to delete this conversation?",
+ "defaultMessage": "Are you sure you want to delete this conversation? It cannot be undone.",
+ "description": "Alert warning when deleting entire topic",
+ "missing": false,
+ "obsolete": false
+ },
+ "topic_name_editing_placeholder": {
+ "translation": "Freeform name of the group",
+ "defaultMessage": "Freeform name of the group",
+ "description": "Prompt for entering topic name",
+ "missing": false,
+ "obsolete": false
+ },
+ "unnamed_topic": {
+ "translation": "Unnamed",
+ "defaultMessage": "Unnamed",
+ "description": "Title shown when the topic has no name",
+ "missing": false,
+ "obsolete": false
+ },
+ "update_available": {
+ "translation": "Update available.",
+ "defaultMessage": "Update available.",
+ "description": "Message shown when an app update is available.",
+ "missing": false,
+ "obsolete": false
+ },
+ "upload_finishing": {
+ "translation": "finishing...",
+ "defaultMessage": "finishing...",
+ "description": "Notification that upload is finishing",
+ "missing": false,
+ "obsolete": false
+ },
+ "user_not_found": {
+ "translation": "Not found",
+ "defaultMessage": "Not found",
+ "description": "In place of a user's full name when the user is not found.",
+ "missing": false,
+ "obsolete": false
+ },
+ "validate_credential_action": {
+ "translation": "confirm",
+ "defaultMessage": "confirm",
+ "description": "Validate credentail call to action",
+ "missing": false,
+ "obsolete": false
+ },
+ "description_editing_placeholder": {
+ "translation": "Optional description",
+ "defaultMessage": "Description (optional)",
+ "description": "Placeholder for editing topic description",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_description": {
+ "translation": "Description",
+ "defaultMessage": "Description",
+ "description": "Label for editing topic description",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_security": {
+ "translation": "Security",
+ "defaultMessage": "Security",
+ "description": "Navigaton button for security panel.",
+ "missing": false,
+ "obsolete": false
+ },
+ "panel_title_acc_general": {
+ "translation": "General",
+ "defaultMessage": "General",
+ "description": "Title for TopicCommonView.",
+ "missing": false,
+ "obsolete": true
+ },
+ "panel_title_acc_security": {
+ "translation": "Security",
+ "defaultMessage": "Security",
+ "description": "Title for TopicSecirityView and AccSecurityView.",
+ "missing": false,
+ "obsolete": true
+ },
+ "panel_title_crop": {
+ "translation": "Drag to Adjust",
+ "defaultMessage": "Drag to Adjust",
+ "description": "Title for AvatarCropView.",
+ "missing": false,
+ "obsolete": false
+ },
+ "panel_title_general": {
+ "translation": "General",
+ "defaultMessage": "General",
+ "description": "Title for TopicCommon.",
+ "missing": false,
+ "obsolete": false
+ },
+ "panel_title_members": {
+ "translation": "Members",
+ "defaultMessage": "Members",
+ "description": "Title for managing group members view.",
+ "missing": false,
+ "obsolete": false
+ },
+ "panel_title_security": {
+ "translation": "Security",
+ "defaultMessage": "Security",
+ "description": "Title for TopicSecirity and AccSecurity.",
+ "missing": false,
+ "obsolete": false
+ },
+ "panel_title_info": {
+ "translation": "Info",
+ "defaultMessage": "Info",
+ "description": "Title for InfoView",
+ "missing": false,
+ "obsolete": false
+ },
+ "permissions_anonymous": {
+ "translation": "Anonymous",
+ "defaultMessage": "Anonymous",
+ "description": "Title for editing default anonymous permissions",
+ "missing": false,
+ "obsolete": false
+ },
+ "permissions_authenticated": {
+ "translation": "Authenticated",
+ "defaultMessage": "Authenticated",
+ "description": "Title for editing default authenticated permissions",
+ "missing": false,
+ "obsolete": false
+ },
+ "topic_delete": {
+ "translation": "Delete Conversation",
+ "defaultMessage": "Delete Conversation",
+ "description": "Alert title when deleting the topic.",
+ "missing": false,
+ "obsolete": false
+ },
+ "permissions_user": {
+ "translation": "User's Permissions",
+ "defaultMessage": "User's Permissions",
+ "description": "Title for editing user's permissions",
+ "missing": false,
+ "obsolete": false
+ },
+ "password_reset_email_sent": {
+ "translation": "An email has been sent to {email}. Follow the directions in the email to reset your password.",
+ "defaultMessage": "An email has been sent to {email}. Follow the directions in the email to reset your password.",
+ "description": "Notification that the email with password reset instructions has been sent",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_unarchive_topic": {
+ "translation": "Archived:",
+ "defaultMessage": "Archived:",
+ "description": "Label for unarchiving the topic",
+ "missing": false,
+ "obsolete": false
+ }
}
diff --git a/src/i18n/es.json b/src/i18n/es.json
index f88e16f0..5251e95f 100644
--- a/src/i18n/es.json
+++ b/src/i18n/es.json
@@ -1,182 +1,1337 @@
{
- "validate_credential_action": "confirmar",
- "title_tag_manager": "Etiquetas (descubrimiento de usuarios)",
- "label_user_contacts": "Contactos:",
- "button_add_another": "Añadir contacto",
- "label_message_sound": "Sonido de mensaje:",
- "label_push_notifications": "Alertas de notificaciones:",
- "label_push_notifications_disabled": "Alertas de notificaciones (requiere HTTPS):",
- "label_incognito_mode": "Modo incógnito:",
- "delete_account": "Eliminar cuenta",
- "delete_account_arning": "¿Estás seguro de que deseas eliminar permanentemente tu cuenta? Esta acción es irreversible.",
- "label_password": "Contraseña",
- "password_unchanged_prompt": "Sin cambios",
- "button_logout": "Cerrar sesión",
- "button_delete_account": "Eliminar cuenta",
- "label_default_access_mode": "Modo de acceso predeterminado:",
- "blocked_contacts_link": "Contactos bloqueados ({count})",
- "link_contact_us": "Contáctanos",
- "link_terms_of_service": "Términos de uso",
- "link_privacy_policy": "Política de privacidad",
- "label_sdk": "SDK:",
- "label_server_address": "Dirección del servidor:",
- "archived_contacts": "Contactos archivados ({count})",
- "contacts_not_found": "No tienes chats
¯∖_(ツ)_/¯",
- "full_name_prompt": "Nombre completo, p.ej. Juan González Hernández",
- "email_prompt": "Correo electrónico, p.ej. juan@example.com",
- "button_sign_up": "Regístrate",
- "label_your_name": "Tu nombre",
- "label_user_id": "ID:",
- "button_edit": "Editar",
- "requested_permissions": "Solicitados",
- "granted_permissions": "Otorgados",
- "menu_item_edit_permissions": "Editar permisos",
- "label_other_user": "Otros",
- "action_clear_messages": "Borrar mensajes",
- "clear_messages_warning": "¿Estás seguro de que quieres eliminar todos los mensajes? Esta acción es irreversible.",
- "action_delete_messages": "Borrar mensajes para todos",
- "delete_messages_warning": "¿Estás seguro de que quieres eliminar todos los mensajes para todos? Esta acción es irreversible.",
- "action_leave_chat": "Dejar conversación",
- "leave_chat_warning": "¿Estás seguro de que quieres dejar esta conversación?",
- "action_block_contact": "Bloquear contacto",
- "block_contact_warning": "¿Estás seguro de que quieres bloquear a este contacto?",
- "action_report_chat": "Reportar conversación",
- "report_chat_warning": "¿Estás seguro de que quieres bloquear y reportar a esta conversación?",
- "title_info": "Información",
- "label_topic_name": "Nombre del tema",
- "label_private": "Comentario privado",
- "private_editing_placeholder": "Sólo visible para tí",
- "label_muting_topic": "Silenciado:",
- "action_more": "Más",
- "label_your_permissions": "Tus permisos:",
- "label_permissions": "Permisos:",
- "label_you": "Tú:",
- "label_default_access": "Modo de acceso predeterminado:",
- "label_group_members": "Miembros del grupo:",
- "button_add_members": "Añadir miembros",
- "group_has_no_members": "No hay miembros",
- "login_prompt": "Nombre de usuario",
- "password_prompt": "Contraseña",
- "stay_logged_in": "Permanecer conectado",
- "forgot_password_link": "¿Olvidaste tu contraseña?",
- "button_sign_in": "Entrar",
- "label_client": "Cliente:",
- "label_server": "Servidor:",
- "online_now": "en línea",
- "last_seen_timestamp": "Últ. vez",
- "title_not_found": "No encontrado",
- "unnamed_topic": "Sin nombre",
- "messages_not_readable": "sin acceso a mensajes",
- "peers_messaging_disabled": "La mensajería Peer está deshabilitada.",
- "enable_peers_messaging": "Habilitar",
- "search_for_contacts": "Usa la búsqueda para encontrar contactos",
- "search_no_results": "La búsqueda no arrojó resultados",
- "tabtitle_find_user": "encontrar",
- "tabtitle_new_group": "nuevo grupo",
- "tabtitle_group_by_id": "por ID",
- "new_password_placeholder": "Introduzca una nueva contraseña",
- "label_reset_password": "Enviar un correo electrónico de restablecimiento de contraseña:",
- "credential_email_prompt": "Tu correo electrónico de registro",
- "button_reset": "Restablecer",
- "button_send_request": "Enviar petición",
- "label_server_to_use": "Servidor para usar:",
- "label_wire_transport": "Transporte de alambre:",
- "button_update": "Actualizar",
- "sidepanel_title_login": "Iniciar sesión",
- "sidepanel_title_register": "Crear cuenta",
- "sidepanel_title_settings": "Ajustes",
- "sidepanel_title_account_settings": "Ajustes de la cuenta",
- "sidepanel_title_acc_general": "General",
- "sidepanel_title_acc_security": "Seguridad",
- "sidepanel_title_acc_notifications": "Notificaciones",
- "sidepanel_title_acc_support": "Soporte",
- "sidepanel_title_newtpk": "Iniciar un nuevo chat",
- "sidepanel_title_cred": "Confirmar credenciales",
- "sidepanel_title_reset": "Restablecer contraseña",
- "sidepanel_title_archive": "Chats archivados",
- "sidepanel_title_blocked": "Chats bloqueados",
- "update_available": "Actualización disponible.",
- "reload_update": "Recargar",
- "reconnect_countdown": "Desconectado. Reconectando en {seconds}…",
- "reconnect_now": "Reintentar",
- "push_init_failed": "Error al inicializar las notificaciones push",
- "invalid_security_token": "Token de seguridad inválido",
- "no_connection": "Sin conexión",
- "code_doesnot_match": "El código no coincide",
- "phone_dative": "teléfono",
- "email_dative": "correo electrónico",
- "enter_confirmation_code_prompt": "Introduzca el código de confirmación enviado a tu {method}:",
- "numeric_confirmation_code_prompt": "Sólo números",
- "button_confirm": "Confirmar",
- "save_attachment": "guardar",
- "deleted_content": "este mensaje fue eliminado",
- "invalid_content": "contenido inválido",
- "user_not_found": "Usuario no encontrado",
- "badge_you": "tú",
- "badge_owner": "propietario",
- "menu_item_info": "Información",
- "menu_item_clear_messages": "Borrar mensajes",
- "menu_item_clear_messages_for_all": "Borrar para todos",
- "menu_item_delete": "Eliminar",
- "menu_item_delete_for_all": "Eliminar para todos",
- "menu_item_send_retry": "Inténtalo de nuevo",
- "menu_item_mute": "Silenciar",
- "menu_item_unmute": "Anular el silencio",
- "menu_item_delete_topic": "Eliminar",
- "topic_delete_warning": "¿Estás seguro de que quieres eliminar esta conversación?",
- "menu_item_unblock": "Desbloquear",
- "menu_item_block": "Bloquear",
- "topic_block_warning": "¿Estás seguro de que quieres bloquear esta conversación",
- "menu_item_member_delete": "Eliminar",
- "menu_item_archive_topic": "Archivar",
- "action_cancel": "cancelar",
- "upload_finishing": "terminando...",
- "no_contacts": "No tienes contactos :-(",
- "contacts_not_found_short": "Ningún contacto coincide con ''{query}''",
- "title_group_members": "Miembros del grupo",
- "title_all_contacts": "Todos los contactos",
- "button_ok": "OK",
- "button_cancel": "Cancelar",
- "more_online_members": "+{overflow} más",
- "download_action": "descargar",
- "label_file_name": "Nombre del archivo:",
- "label_content_type": "Tipo de contenido:",
- "label_size": "Tamaño:",
- "chat_invitation": "Estás invitado a participar en un nuevo chat. ¿Qué te gustaría hacer?",
- "chat_invitation_accept": "Aceptar",
- "chat_invitation_ignore": "Ignorar",
- "chat_invitation_block": "Bloquear",
- "error_invalid_id": "ID inválido",
- "group_user_id_prompt": "ID del grupo o usuario",
- "button_subscribe": "Suscribirse",
- "topic_name_editing_placeholder": "Nombre del grupo",
- "button_create": "Crear",
- "permission_join": "Unirse ({val})",
- "permission_read": "Leer ({val})",
- "permission_write": "Escribir ({val})",
- "permission_pres": "Ser notificado ({val})",
- "permission_admin": "Approbar ({val})",
- "permission_share": "Compartir ({val})",
- "permission_delete": "Eliminar ({val})",
- "permission_owner": "Propietario ({val})",
- "title_permissions": "Permisos",
- "message_sending": "enviando...",
- "message_sending_failed": "no se pudo enviar el mensaje",
- "search_placeholder": "Ej. email:alba@example.com, tel:17025550003...",
- "messaging_disabled_prompt": "El envío de mensajes está deshabilitado",
- "new_message_prompt": "Nuevo mensaje",
- "image_caption_prompt": "Añade un comentario",
- "file_attachment_too_large": "El tamaño del archivo {size} excede el límite de {limit}.",
- "cannot_initiate_file_upload": "No se pudo iniciar la carga del archivo.",
- "tags_not_found": "No hay etiquetas definidas. Añade unas.",
- "tags_editor_no_tags": "Añadir etiquetas",
- "title_manage_tags": "Gestionar",
- "channel_prompt": "Este es un canal",
- "channel": "canal",
- "drafty_attachment": "Archivo",
- "drafty_form": "Formulario:",
- "drafty_image": "Imagen",
- "topic_delete": "Eliminar chat",
- "password_reset_email_sent": "Se ha enviado un correo electrónico a {email}. Siga las instrucciones del correo electrónico para restablecer su contraseña.",
- "menu_item_restore_topic": "Restaurar"
+ "action_block_contact": {
+ "translation": "Bloquear contacto",
+ "defaultMessage": "Block Contact",
+ "description": "Flat button [Block Contact]",
+ "missing": false,
+ "obsolete": false
+ },
+ "action_cancel": {
+ "translation": "cancelar",
+ "defaultMessage": "cancel",
+ "description": "Call to action [cancel]",
+ "missing": false,
+ "obsolete": false
+ },
+ "action_clear_messages": {
+ "translation": "Borrar mensajes",
+ "defaultMessage": "Clear Messages",
+ "description": "Flat button [Clear Messages] (soft-delete messages)",
+ "missing": false,
+ "obsolete": false
+ },
+ "action_delete_messages": {
+ "translation": "Borrar mensajes para todos",
+ "defaultMessage": "Clear Messages for All",
+ "description": "Flat button [Clear for All] (hard-delete all messages)",
+ "missing": false,
+ "obsolete": false
+ },
+ "action_leave_chat": {
+ "translation": "Dejar conversación",
+ "defaultMessage": "Leave Conversation",
+ "description": "Flat button [Leave Conversation]",
+ "missing": false,
+ "obsolete": false
+ },
+ "action_report_chat": {
+ "translation": "Reportar conversación",
+ "defaultMessage": "Report Conversation",
+ "description": "Flat button [Report Group]",
+ "missing": false,
+ "obsolete": false
+ },
+ "archived_contacts": {
+ "translation": "Contactos archivados ({count})",
+ "defaultMessage": "Archived contacts ({count})",
+ "description": "Label for archived chats",
+ "missing": false,
+ "obsolete": false
+ },
+ "badge_danger": {
+ "translation": "Suspicaz",
+ "defaultMessage": "Untrustworthy",
+ "description": "Suspicious or untrustworthy account or topic badge",
+ "missing": false,
+ "obsolete": false
+ },
+ "badge_owner": {
+ "translation": "propietario",
+ "defaultMessage": "owner",
+ "description": "Badge for indicating the owner",
+ "missing": false,
+ "obsolete": false
+ },
+ "badge_staff": {
+ "translation": "Administración",
+ "defaultMessage": "Staff-managed",
+ "description": "Explanation of a staff-managed account or topic badge",
+ "missing": false,
+ "obsolete": false
+ },
+ "badge_verified": {
+ "translation": "Verificado",
+ "defaultMessage": "Verified/official",
+ "description": "Explanation of a verified account or topic badge",
+ "missing": false,
+ "obsolete": false
+ },
+ "badge_you": {
+ "translation": "tú",
+ "defaultMessage": "you",
+ "description": "Badge for indicating the current user",
+ "missing": false,
+ "obsolete": false
+ },
+ "block_contact_warning": {
+ "translation": "¿Estás seguro de que quieres bloquear a este contacto?",
+ "defaultMessage": "Are you sure you want to block this contact?",
+ "description": "Alert dialog warning when blocking a contact.",
+ "missing": false,
+ "obsolete": false
+ },
+ "blocked_contacts_link": {
+ "translation": "Contactos bloqueados ({count})",
+ "defaultMessage": "Blocked contacts ({count})",
+ "description": "Blocked contacts link",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_add_another": {
+ "translation": "Añadir contacto",
+ "defaultMessage": "Add another",
+ "description": "Call to action [+ add another]",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_add_members": {
+ "translation": "Añadir miembros",
+ "defaultMessage": "Add members",
+ "description": "Flat button [Add members] (to topic)",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_cancel": {
+ "translation": "Cancelar",
+ "defaultMessage": "Cancel",
+ "description": "Button [Cancel]",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_confirm": {
+ "translation": "Confirmar",
+ "defaultMessage": "Confirm",
+ "description": "Button [Confirm]",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_create": {
+ "translation": "Crear",
+ "defaultMessage": "Create",
+ "description": "Button [Create]",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_delete_account": {
+ "translation": "Eliminar cuenta",
+ "defaultMessage": "Delete account",
+ "description": "Button [Delete account]",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_edit": {
+ "translation": "Editar",
+ "defaultMessage": "Edit",
+ "description": "Call to action [Edit]",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_logout": {
+ "translation": "Cerrar sesión",
+ "defaultMessage": "Logout",
+ "description": "Button [Logout]",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_ok": {
+ "translation": "OK",
+ "defaultMessage": "OK",
+ "description": "Button [OK]",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_reset": {
+ "translation": "Restablecer",
+ "defaultMessage": "Reset",
+ "description": "Button [Reset]",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_send_request": {
+ "translation": "Enviar petición",
+ "defaultMessage": "Send request",
+ "description": "Button [Send request]",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_sign_in": {
+ "translation": "Entrar",
+ "defaultMessage": "Sign in",
+ "description": "Button [Sign In]",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_sign_up": {
+ "translation": "Regístrate",
+ "defaultMessage": "Sign up",
+ "description": "Create account button [Sign Up]",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_subscribe": {
+ "translation": "Suscribirse",
+ "defaultMessage": "Subscribe",
+ "description": "Button [Subscribe]",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_update": {
+ "translation": "Actualizar",
+ "defaultMessage": "Update",
+ "description": "Button [Update]",
+ "missing": false,
+ "obsolete": false
+ },
+ "cannot_initiate_file_upload": {
+ "translation": "No se pudo iniciar la carga del archivo.",
+ "defaultMessage": "Cannot initiate file upload.",
+ "description": "Generic error messagewhen attachment fails",
+ "missing": false,
+ "obsolete": false
+ },
+ "channel": {
+ "translation": "canal",
+ "defaultMessage": "channel",
+ "description": "Subtitle shown for channels in MessagesView instead of last seen",
+ "missing": false,
+ "obsolete": false
+ },
+ "channel_prompt": {
+ "translation": "Este es un canal",
+ "defaultMessage": "This is a channel",
+ "description": "Checkbox label when creating a channel",
+ "missing": false,
+ "obsolete": false
+ },
+ "chat_invitation": {
+ "translation": "Estás invitado a participar en un nuevo chat. ¿Qué te gustaría hacer?",
+ "defaultMessage": "You are invited to start a new chat. What would you like to do?",
+ "description": "New chat invitation message: [Accept] [Ignore] [Block].",
+ "missing": false,
+ "obsolete": false
+ },
+ "chat_invitation_accept": {
+ "translation": "Aceptar",
+ "defaultMessage": "Accept",
+ "description": "Action [Accept] for chat invitation.",
+ "missing": false,
+ "obsolete": false
+ },
+ "chat_invitation_block": {
+ "translation": "Bloquear",
+ "defaultMessage": "Block",
+ "description": "Action [Block] for chat invitation.",
+ "missing": false,
+ "obsolete": false
+ },
+ "chat_invitation_ignore": {
+ "translation": "Ignorar",
+ "defaultMessage": "Ignore",
+ "description": "Action [Ignore] for chat invitation.",
+ "missing": false,
+ "obsolete": false
+ },
+ "clear_messages_warning": {
+ "translation": "¿Estás seguro de que quieres eliminar todos los mensajes? Esta acción es irreversible.",
+ "defaultMessage": "Are you sure you want to clear all messages? It cannot be undone.",
+ "description": "Alert dialog warning when deleting all messages.",
+ "missing": false,
+ "obsolete": false
+ },
+ "code_doesnot_match": {
+ "translation": "El código no coincide",
+ "defaultMessage": "Code does not match",
+ "description": "Error message when the credential validation code is incorrect.",
+ "missing": false,
+ "obsolete": false
+ },
+ "contacts_not_found": {
+ "translation": "No tienes chats
¯∖_(ツ)_/¯",
+ "defaultMessage": "You have no chats
¯∖_(ツ)_/¯",
+ "description": "HTML message shown in ContactList when no contacts are found",
+ "missing": false,
+ "obsolete": false
+ },
+ "contacts_not_found_short": {
+ "translation": "Ningún contacto coincide con ''{query}''",
+ "defaultMessage": "No contacts match ''{query}''",
+ "description": "Shown in ContactsView when search returned no results",
+ "missing": false,
+ "obsolete": false
+ },
+ "credential_email_prompt": {
+ "translation": "Tu correo electrónico de registro",
+ "defaultMessage": "Your registration email",
+ "description": "Placeholder for entering email",
+ "missing": false,
+ "obsolete": false
+ },
+ "delete_account": {
+ "translation": "Eliminar cuenta",
+ "defaultMessage": "Delete account",
+ "description": "Title for delete account warning",
+ "missing": false,
+ "obsolete": false
+ },
+ "delete_account_warning": {
+ "translation": "¿Estás seguro de que deseas eliminar permanentemente tu cuenta? Esta acción es irreversible.",
+ "defaultMessage": "Are you sure you want to delete your account? It cannot be undone.",
+ "description": "Warning message when deleting an account",
+ "missing": false,
+ "obsolete": false
+ },
+ "delete_messages_warning": {
+ "translation": "¿Estás seguro de que quieres eliminar todos los mensajes para todos? Esta acción es irreversible.",
+ "defaultMessage": "Are you sure you want to delete all messages for everyone? It cannot be undone.",
+ "description": "Alert dialog warning when hard-deleting all messages.",
+ "missing": false,
+ "obsolete": false
+ },
+ "deleted_content": {
+ "translation": "este mensaje fue eliminado",
+ "defaultMessage": "content deleted",
+ "description": "Shown when messages are deleted",
+ "missing": false,
+ "obsolete": false
+ },
+ "download_action": {
+ "translation": "descargar",
+ "defaultMessage": "download",
+ "description": "Call to action [download]",
+ "missing": false,
+ "obsolete": false
+ },
+ "drafty_attachment": {
+ "translation": "Archivo",
+ "defaultMessage": "Attachment",
+ "description": "Comment for attachment in drafty preview",
+ "missing": false,
+ "obsolete": false
+ },
+ "drafty_form": {
+ "translation": "Formulario:",
+ "defaultMessage": "Form:",
+ "description": "Comment for form in drafty preview",
+ "missing": false,
+ "obsolete": false
+ },
+ "drafty_image": {
+ "translation": "Imagen",
+ "defaultMessage": "Picture",
+ "description": "Comment for embedded images in drafty preview",
+ "missing": false,
+ "obsolete": false
+ },
+ "email_dative": {
+ "translation": "correo electrónico",
+ "defaultMessage": "email",
+ "description": "Dative case of 'email', i.e. 'email' in 'by email'",
+ "missing": false,
+ "obsolete": false
+ },
+ "email_prompt": {
+ "translation": "Correo electrónico, p.ej. juan@example.com",
+ "defaultMessage": "Email, e.g. jdoe@example.com",
+ "description": "Input placeholder for email entry",
+ "missing": false,
+ "obsolete": false
+ },
+ "enable_peers_messaging": {
+ "translation": "Habilitar",
+ "defaultMessage": "Enable",
+ "description": "Call to action to enable peer's messaging",
+ "missing": false,
+ "obsolete": false
+ },
+ "enter_confirmation_code_prompt": {
+ "translation": "Introduzca el código de confirmación enviado a tu {method}:",
+ "defaultMessage": "Enter confirmation code sent to you by {method}:",
+ "description": "Request to enter confirmation code",
+ "missing": false,
+ "obsolete": false
+ },
+ "error_invalid_id": {
+ "translation": "ID inválido",
+ "defaultMessage": "Invalid ID",
+ "description": "Error message",
+ "missing": false,
+ "obsolete": false
+ },
+ "file_attachment_too_large": {
+ "translation": "El tamaño del archivo {size} excede el límite de {limit}.",
+ "defaultMessage": "The file size {size} exceeds the {limit} limit.",
+ "description": "Error message when attachment is too large",
+ "missing": false,
+ "obsolete": false
+ },
+ "forgot_password_link": {
+ "translation": "¿Olvidaste tu contraseña?",
+ "defaultMessage": "Forgot password?",
+ "description": "Link to Reset password form",
+ "missing": false,
+ "obsolete": false
+ },
+ "full_name_prompt": {
+ "translation": "Nombre completo, p.ej. Juan González Hernández",
+ "defaultMessage": "Full name, e.g. John Doe",
+ "description": "Input placeholder for person's full name",
+ "missing": false,
+ "obsolete": false
+ },
+ "granted_permissions": {
+ "translation": "Otorgados",
+ "defaultMessage": "Granted",
+ "description": "Title for permissions",
+ "missing": false,
+ "obsolete": false
+ },
+ "group_has_no_members": {
+ "translation": "No hay miembros",
+ "defaultMessage": "No members",
+ "description": "Shown in place of group members",
+ "missing": false,
+ "obsolete": false
+ },
+ "group_user_id_prompt": {
+ "translation": "ID del grupo o usuario",
+ "defaultMessage": "Group or User ID",
+ "description": "Prompt for entering user or group ID",
+ "missing": false,
+ "obsolete": false
+ },
+ "image_caption_prompt": {
+ "translation": "Añade un comentario",
+ "defaultMessage": "Image caption",
+ "description": "Prompt in SendMessage for attached image",
+ "missing": false,
+ "obsolete": false
+ },
+ "invalid_content": {
+ "translation": "contenido inválido",
+ "defaultMessage": "invalid content",
+ "description": "Shown when message is unreadable",
+ "missing": false,
+ "obsolete": false
+ },
+ "invalid_security_token": {
+ "translation": "Token de seguridad inválido",
+ "defaultMessage": "Invalid security token",
+ "description": "Error message when resetting password.",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_client": {
+ "translation": "Cliente:",
+ "defaultMessage": "Client:",
+ "description": "Label for a client version",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_content_type": {
+ "translation": "Tipo de contenido:",
+ "defaultMessage": "Content type:",
+ "description": "Label for file content type (mime)",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_default_access_mode": {
+ "translation": "Modo de acceso predeterminado:",
+ "defaultMessage": "Default access mode:",
+ "description": "Label for default access mode",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_file_name": {
+ "translation": "Nombre del archivo:",
+ "defaultMessage": "File name:",
+ "description": "Label for a file name",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_group_members": {
+ "translation": "Miembros del grupo:",
+ "defaultMessage": "Group members:",
+ "description": "Section title or label",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_incognito_mode": {
+ "translation": "Modo incógnito:",
+ "defaultMessage": "Incognito mode:",
+ "description": "Label for incognito mode toggle",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_message_sound": {
+ "translation": "Sonido de mensaje:",
+ "defaultMessage": "Message sound:",
+ "description": "Label for message sounds toggle",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_muting_topic": {
+ "translation": "Silenciado:",
+ "defaultMessage": "Muted:",
+ "description": "Label for Muting/unmuting the topic",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_other_user": {
+ "translation": "Otros",
+ "defaultMessage": "Other",
+ "description": "Label for the other user when the user is unnamed",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_password": {
+ "translation": "Contraseña",
+ "defaultMessage": "Password",
+ "description": "Label for password editing",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_permissions": {
+ "translation": "Permisos:",
+ "defaultMessage": "Permissions:",
+ "description": "Section title",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_private": {
+ "translation": "Comentario privado",
+ "defaultMessage": "Private comment",
+ "description": "Label for editing 'private'",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_push_notifications": {
+ "translation": "Alertas de notificaciones:",
+ "defaultMessage": "Notification alerts:",
+ "description": "Label for push notifications switch",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_push_notifications_disabled": {
+ "translation": "Alertas de notificaciones (requiere HTTPS):",
+ "defaultMessage": "Notification alerts (requires HTTPS):",
+ "description": "Label for push notifications switch",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_reset_password": {
+ "translation": "Enviar un correo electrónico de restablecimiento de contraseña:",
+ "defaultMessage": "Send a password reset email:",
+ "description": "Label for password reset field",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_sdk": {
+ "translation": "SDK:",
+ "defaultMessage": "SDK:",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_server": {
+ "translation": "Servidor:",
+ "defaultMessage": "Server:",
+ "description": "Label for a server version",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_server_address": {
+ "translation": "Dirección del servidor:",
+ "defaultMessage": "Server address:",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_server_to_use": {
+ "translation": "Servidor para usar:",
+ "defaultMessage": "Server to use:",
+ "description": "Label for server selector in SettingsView",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_size": {
+ "translation": "Tamaño:",
+ "defaultMessage": "Size:",
+ "description": "Label for file size",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_topic_name": {
+ "translation": "Nombre del tema",
+ "defaultMessage": "Name",
+ "description": "Label for editing topic name",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_user_contacts": {
+ "translation": "Contactos:",
+ "defaultMessage": "Contacts:",
+ "description": "Label for user contacts",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_user_id": {
+ "translation": "ID:",
+ "defaultMessage": "ID:",
+ "description": "Label for user address (ID)",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_wire_transport": {
+ "translation": "Transporte de alambre:",
+ "defaultMessage": "Wire transport:",
+ "description": "Label for wire transport selection in SettingsView",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_you": {
+ "translation": "Tú:",
+ "defaultMessage": "You:",
+ "description": "Label for the current user",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_your_name": {
+ "translation": "Tu nombre",
+ "defaultMessage": "Your name",
+ "description": "Label for full name editing",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_your_permissions": {
+ "translation": "Tus permisos:",
+ "defaultMessage": "Your permissions:",
+ "description": "Label for current user permissions",
+ "missing": false,
+ "obsolete": false
+ },
+ "last_seen_timestamp": {
+ "translation": "Últ. vez",
+ "defaultMessage": "Last seen",
+ "description": "Label for the timestamp of when the user or topic was last online",
+ "missing": false,
+ "obsolete": false
+ },
+ "leave_chat_warning": {
+ "translation": "¿Estás seguro de que quieres dejar esta conversación?",
+ "defaultMessage": "Are you sure you want to leave this conversation?",
+ "description": "Alert dialog warning when unsubscribing from a chat.",
+ "missing": false,
+ "obsolete": false
+ },
+ "link_contact_us": {
+ "translation": "Contáctanos",
+ "defaultMessage": "Contact Us",
+ "description": "Ancor text for contacting us by email",
+ "missing": false,
+ "obsolete": false
+ },
+ "link_privacy_policy": {
+ "translation": "Política de privacidad",
+ "defaultMessage": "Privacy Policy",
+ "description": "Ancor text for privacy policy link",
+ "missing": false,
+ "obsolete": false
+ },
+ "link_terms_of_service": {
+ "translation": "Términos de uso",
+ "defaultMessage": "Terms of Service",
+ "description": "Ancor text for terms of service link",
+ "missing": false,
+ "obsolete": false
+ },
+ "login_prompt": {
+ "translation": "Nombre de usuario",
+ "defaultMessage": "Login",
+ "description": "Placeholer for username/login",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_archive_topic": {
+ "translation": "Archivar",
+ "defaultMessage": "Archive",
+ "description": "Move topic from the list of active chats to archive",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_block": {
+ "translation": "Bloquear",
+ "defaultMessage": "Block",
+ "description": "Block topic or user",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_clear_messages": {
+ "translation": "Borrar mensajes",
+ "defaultMessage": "Clear messages",
+ "description": "Delete all messages",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_clear_messages_for_all": {
+ "translation": "Borrar para todos",
+ "defaultMessage": "Clear for All",
+ "description": "Delete all message(s) for all members",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_delete": {
+ "translation": "Eliminar",
+ "defaultMessage": "Delete",
+ "description": "Delete selected messages",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_delete_for_all": {
+ "translation": "Eliminar para todos",
+ "defaultMessage": "Delete for All",
+ "description": "Delete selected message(s) for all members",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_delete_topic": {
+ "translation": "Eliminar",
+ "defaultMessage": "Delete",
+ "description": "Delete entire topic",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_edit_permissions": {
+ "translation": "Editar permisos",
+ "defaultMessage": "Edit permissions",
+ "description": "Menu item [Edit permissions]",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_info": {
+ "translation": "Información",
+ "defaultMessage": "Info",
+ "description": "Show extended topic information",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_member_delete": {
+ "translation": "Eliminar",
+ "defaultMessage": "Remove",
+ "description": "Remove user from topic",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_mute": {
+ "translation": "Silenciar",
+ "defaultMessage": "Mute",
+ "description": "Turn off notifications",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_restore_topic": {
+ "translation": "Restaurar",
+ "defaultMessage": "Restore",
+ "description": "Restore topic from archive",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_send_retry": {
+ "translation": "Inténtalo de nuevo",
+ "defaultMessage": "Retry",
+ "description": "Retry sending message",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_unblock": {
+ "translation": "Desbloquear",
+ "defaultMessage": "Unblock",
+ "description": "Unblock topic or user",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_unmute": {
+ "translation": "Anular el silencio",
+ "defaultMessage": "Unmute",
+ "description": "Turn notifications on",
+ "missing": false,
+ "obsolete": false
+ },
+ "message_sending": {
+ "translation": "enviando...",
+ "defaultMessage": "sending...",
+ "description": "Message being sent, in place of time stamp",
+ "missing": false,
+ "obsolete": false
+ },
+ "message_sending_failed": {
+ "translation": "no se pudo enviar el mensaje",
+ "defaultMessage": "failed",
+ "description": "Failed to send message, in place of time stamp",
+ "missing": false,
+ "obsolete": false
+ },
+ "messages_not_readable": {
+ "translation": "sin acceso a mensajes",
+ "defaultMessage": "no access to messages",
+ "description": "Message shown in topic without the read access",
+ "missing": false,
+ "obsolete": false
+ },
+ "messaging_disabled_prompt": {
+ "translation": "El envío de mensajes está deshabilitado",
+ "defaultMessage": "Messaging disabled",
+ "description": "Prompt in SendMessage in read-only topic",
+ "missing": false,
+ "obsolete": false
+ },
+ "more_online_members": {
+ "translation": "+{overflow} más",
+ "defaultMessage": "+{overflow} more",
+ "description": "Shown in MessagesView title bar when the number of online subscribers exceeds MAX_ONLINE_IN_TOPIC",
+ "missing": false,
+ "obsolete": false
+ },
+ "new_message_prompt": {
+ "translation": "Nuevo mensaje",
+ "defaultMessage": "New message",
+ "description": "Prompt in send message field",
+ "missing": false,
+ "obsolete": false
+ },
+ "new_password_placeholder": {
+ "translation": "Introduzca una nueva contraseña",
+ "defaultMessage": "Enter new password",
+ "description": "Placeholder for entering new password",
+ "missing": false,
+ "obsolete": false
+ },
+ "no_connection": {
+ "translation": "Sin conexión",
+ "defaultMessage": "No connection",
+ "description": "Warning that the user is offline.",
+ "missing": false,
+ "obsolete": false
+ },
+ "no_contacts": {
+ "translation": "No tienes contactos :-(",
+ "defaultMessage": "You have no contacts :-(",
+ "description": "Shown in ContactsView when the user has no contacts",
+ "missing": false,
+ "obsolete": false
+ },
+ "numeric_confirmation_code_prompt": {
+ "translation": "Sólo números",
+ "defaultMessage": "Numbers only",
+ "description": "Prompt for numeric conformation code",
+ "missing": false,
+ "obsolete": false
+ },
+ "online_now": {
+ "translation": "en línea",
+ "defaultMessage": "online now",
+ "description": "Indicator that the user or topic is currently online",
+ "missing": false,
+ "obsolete": false
+ },
+ "password_prompt": {
+ "translation": "Contraseña",
+ "defaultMessage": "Password",
+ "description": "Placeholder/prompt for entering password",
+ "missing": false,
+ "obsolete": false
+ },
+ "password_unchanged_prompt": {
+ "translation": "Sin cambios",
+ "defaultMessage": "Unchanged",
+ "description": "Message in editor while password is unchanged",
+ "missing": false,
+ "obsolete": false
+ },
+ "peers_messaging_disabled": {
+ "translation": "La mensajería Peer está deshabilitada.",
+ "defaultMessage": "Peer's messaging is disabled.",
+ "description": "Shown when the p2p peer's messaging is disabled",
+ "missing": false,
+ "obsolete": false
+ },
+ "permission_admin": {
+ "translation": "Approbar ({val})",
+ "defaultMessage": "Approve ({val})",
+ "description": "Name of A permission",
+ "missing": false,
+ "obsolete": false
+ },
+ "permission_delete": {
+ "translation": "Eliminar ({val})",
+ "defaultMessage": "Delete ({val})",
+ "description": "Name of D permission",
+ "missing": false,
+ "obsolete": false
+ },
+ "permission_join": {
+ "translation": "Unirse ({val})",
+ "defaultMessage": "Join ({val})",
+ "description": "Name of J permission",
+ "missing": false,
+ "obsolete": false
+ },
+ "permission_owner": {
+ "translation": "Propietario ({val})",
+ "defaultMessage": "Owner ({val})",
+ "description": "Name of O permission",
+ "missing": false,
+ "obsolete": false
+ },
+ "permission_pres": {
+ "translation": "Ser notificado ({val})",
+ "defaultMessage": "Get notified ({val})",
+ "description": "Name of P permission",
+ "missing": false,
+ "obsolete": false
+ },
+ "permission_read": {
+ "translation": "Leer ({val})",
+ "defaultMessage": "Read ({val})",
+ "description": "Name of R permission",
+ "missing": false,
+ "obsolete": false
+ },
+ "permission_share": {
+ "translation": "Compartir ({val})",
+ "defaultMessage": "Share ({val})",
+ "description": "Name of S permission",
+ "missing": false,
+ "obsolete": false
+ },
+ "permission_write": {
+ "translation": "Escribir ({val})",
+ "defaultMessage": "Write ({val})",
+ "description": "Name of W permission",
+ "missing": false,
+ "obsolete": false
+ },
+ "phone_dative": {
+ "translation": "teléfono",
+ "defaultMessage": "phone",
+ "description": "Dative case of 'phone', i.e. 'phone' in 'by phone'",
+ "missing": false,
+ "obsolete": false
+ },
+ "private_editing_placeholder": {
+ "translation": "Sólo visible para tí",
+ "defaultMessage": "Visible to you only",
+ "description": "Placeholder for editing 'private'",
+ "missing": false,
+ "obsolete": false
+ },
+ "push_init_failed": {
+ "translation": "Error al inicializar las notificaciones push",
+ "defaultMessage": "Failed to initialize push notifications",
+ "description": "Error message when push notifications have failed to initialize.",
+ "missing": false,
+ "obsolete": false
+ },
+ "reconnect_countdown": {
+ "translation": "Desconectado. Reconectando en {seconds}…",
+ "defaultMessage": "Disconnected. Reconnecting in {seconds}…",
+ "description": "Message shown when an app update is available.",
+ "missing": false,
+ "obsolete": false
+ },
+ "reconnect_now": {
+ "translation": "Reintentar",
+ "defaultMessage": "Try now",
+ "description": "Prompt for reconnecting now",
+ "missing": false,
+ "obsolete": false
+ },
+ "reload_update": {
+ "translation": "Recargar",
+ "defaultMessage": "Reload",
+ "description": "Call to action to reload application when update is available.",
+ "missing": false,
+ "obsolete": false
+ },
+ "report_chat_warning": {
+ "translation": "¿Estás seguro de que quieres bloquear y reportar a esta conversación?",
+ "defaultMessage": "Are you sure you want to block and report this conversation?",
+ "description": "Alert dialog warning when reporting a conversation for abuse",
+ "missing": false,
+ "obsolete": false
+ },
+ "requested_permissions": {
+ "translation": "Solicitados",
+ "defaultMessage": "Requested",
+ "description": "Title for permissions",
+ "missing": false,
+ "obsolete": false
+ },
+ "save_attachment": {
+ "translation": "guardar",
+ "defaultMessage": "save",
+ "description": "Call to save an attachment",
+ "missing": false,
+ "obsolete": false
+ },
+ "search_for_contacts": {
+ "translation": "Usa la búsqueda para encontrar contactos",
+ "defaultMessage": "Use search to find contacts",
+ "description": "Text shown in contacts view when user entered no search query.",
+ "missing": false,
+ "obsolete": false
+ },
+ "search_no_results": {
+ "translation": "La búsqueda no arrojó resultados",
+ "defaultMessage": "Search returned no results",
+ "description": "Text shown in contacts view when query returned no results.",
+ "missing": false,
+ "obsolete": false
+ },
+ "search_placeholder": {
+ "translation": "Ej. email:alice@example.com, tel:17025550003...",
+ "defaultMessage": "List like email:alice@example.com, tel:17025550003...",
+ "description": "Placeholder in contacts search field",
+ "missing": false,
+ "obsolete": false
+ },
+ "sidepanel_title_acc_notifications": {
+ "translation": "Notificaciones",
+ "defaultMessage": "Notifications",
+ "description": "Sidepanel title for AccNotificationsView.",
+ "missing": false,
+ "obsolete": false
+ },
+ "sidepanel_title_acc_support": {
+ "translation": "Soporte",
+ "defaultMessage": "Support",
+ "description": "Sidepanel title for AccSupportView.",
+ "missing": false,
+ "obsolete": false
+ },
+ "sidepanel_title_account_settings": {
+ "translation": "Ajustes de la cuenta",
+ "defaultMessage": "Account Settings",
+ "description": "Sidepanel title for AccountSettingsView.",
+ "missing": false,
+ "obsolete": false
+ },
+ "sidepanel_title_archive": {
+ "translation": "Chats archivados",
+ "defaultMessage": "Archived Chats",
+ "description": "Sidepanel title for ContactsView-Archive.",
+ "missing": false,
+ "obsolete": false
+ },
+ "sidepanel_title_blocked": {
+ "translation": "Chats bloqueados",
+ "defaultMessage": "Blocked Chats",
+ "description": "Sidepanel title for ContactsView-Blocked.",
+ "missing": false,
+ "obsolete": false
+ },
+ "sidepanel_title_cred": {
+ "translation": "Confirmar credenciales",
+ "defaultMessage": "Confirm Credentials",
+ "description": "Sidepanel title for ValidationView.",
+ "missing": false,
+ "obsolete": false
+ },
+ "sidepanel_title_login": {
+ "translation": "Iniciar sesión",
+ "defaultMessage": "Sign In",
+ "description": "Sidepanel title for LoginView.",
+ "missing": false,
+ "obsolete": false
+ },
+ "sidepanel_title_newtpk": {
+ "translation": "Iniciar un nuevo chat",
+ "defaultMessage": "Start New Chat",
+ "description": "Sidepanel title for NewTopicView.",
+ "missing": false,
+ "obsolete": false
+ },
+ "sidepanel_title_register": {
+ "translation": "Crear cuenta",
+ "defaultMessage": "Create Account",
+ "description": "Sidepanel title for CreateAccountView.",
+ "missing": false,
+ "obsolete": false
+ },
+ "sidepanel_title_reset": {
+ "translation": "Restablecer contraseña",
+ "defaultMessage": "Reset Password",
+ "description": "Sidepanel title for PasswordResetView.",
+ "missing": false,
+ "obsolete": false
+ },
+ "sidepanel_title_settings": {
+ "translation": "Ajustes",
+ "defaultMessage": "Settings",
+ "description": "Sidepanel title for SettingsView.",
+ "missing": false,
+ "obsolete": false
+ },
+ "stay_logged_in": {
+ "translation": "Permanecer conectado",
+ "defaultMessage": "Stay logged in",
+ "description": "Label for a checkbox",
+ "missing": false,
+ "obsolete": false
+ },
+ "tabtitle_find_user": {
+ "translation": "encontrar",
+ "defaultMessage": "find",
+ "description": "Tab title Find",
+ "missing": false,
+ "obsolete": false
+ },
+ "tabtitle_group_by_id": {
+ "translation": "por ID",
+ "defaultMessage": "by id",
+ "description": "Tab title Find topic by ID",
+ "missing": false,
+ "obsolete": false
+ },
+ "tabtitle_new_group": {
+ "translation": "nuevo grupo",
+ "defaultMessage": "new group",
+ "description": "Tab title New Group",
+ "missing": false,
+ "obsolete": false
+ },
+ "tags_editor_no_tags": {
+ "translation": "Añadir etiquetas",
+ "defaultMessage": "Add some tags",
+ "description": "Tag editor prompt when no tags are found.",
+ "missing": false,
+ "obsolete": false
+ },
+ "tags_not_found": {
+ "translation": "No hay etiquetas definidas. Añade unas.",
+ "defaultMessage": "No tags defined. Add some.",
+ "description": "",
+ "missing": false,
+ "obsolete": false
+ },
+ "title_all_contacts": {
+ "translation": "Todos los contactos",
+ "defaultMessage": "All Contacts",
+ "description": "Section title [All Contacts]",
+ "missing": false,
+ "obsolete": false
+ },
+ "title_group_members": {
+ "translation": "Miembros del grupo",
+ "defaultMessage": "Group Members",
+ "description": "Section title",
+ "missing": false,
+ "obsolete": false
+ },
+ "title_manage_tags": {
+ "translation": "Gestionar",
+ "defaultMessage": "Manage",
+ "description": "Section title for the list of tags",
+ "missing": false,
+ "obsolete": false
+ },
+ "title_not_found": {
+ "translation": "No encontrado",
+ "defaultMessage": "Not found",
+ "description": "Title shown when topic is not found",
+ "missing": false,
+ "obsolete": false
+ },
+ "title_permissions": {
+ "translation": "Permisos",
+ "defaultMessage": "Permissions",
+ "description": "Section title",
+ "missing": false,
+ "obsolete": false
+ },
+ "title_tag_manager": {
+ "translation": "Etiquetas (descubrimiento de usuarios)",
+ "defaultMessage": "Tags (search & discovery)",
+ "description": "Section title for TagManager",
+ "missing": false,
+ "obsolete": false
+ },
+ "topic_block_warning": {
+ "translation": "¿Estás seguro de que quieres bloquear esta conversación",
+ "defaultMessage": "Are you sure you want to block this conversation?",
+ "description": "Alert warning when blocking a topic.",
+ "missing": false,
+ "obsolete": false
+ },
+ "topic_delete_warning": {
+ "translation": "¿Estás seguro de que quieres eliminar esta conversación?",
+ "defaultMessage": "Are you sure you want to delete this conversation? It cannot be undone.",
+ "description": "Alert warning when deleting entire topic",
+ "missing": false,
+ "obsolete": false
+ },
+ "topic_name_editing_placeholder": {
+ "translation": "Nombre del grupo",
+ "defaultMessage": "Freeform name of the group",
+ "description": "Prompt for entering topic name",
+ "missing": false,
+ "obsolete": false
+ },
+ "unnamed_topic": {
+ "translation": "Sin nombre",
+ "defaultMessage": "Unnamed",
+ "description": "Title shown when the topic has no name",
+ "missing": false,
+ "obsolete": false
+ },
+ "update_available": {
+ "translation": "Actualización disponible.",
+ "defaultMessage": "Update available.",
+ "description": "Message shown when an app update is available.",
+ "missing": false,
+ "obsolete": false
+ },
+ "upload_finishing": {
+ "translation": "terminando...",
+ "defaultMessage": "finishing...",
+ "description": "Notification that upload is finishing",
+ "missing": false,
+ "obsolete": false
+ },
+ "user_not_found": {
+ "translation": "Usuario no encontrado",
+ "defaultMessage": "Not found",
+ "description": "In place of a user's full name when the user is not found.",
+ "missing": false,
+ "obsolete": false
+ },
+ "validate_credential_action": {
+ "translation": "confirmar",
+ "defaultMessage": "confirm",
+ "description": "Validate credentail call to action",
+ "missing": false,
+ "obsolete": false
+ },
+ "description_editing_placeholder": {
+ "translation": "Descripción (opcional)",
+ "defaultMessage": "Description (optional)",
+ "description": "Placeholder for editing topic description",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_description": {
+ "translation": "Descripción",
+ "defaultMessage": "Description",
+ "description": "Label for editing topic description",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_security": {
+ "translation": "Seguridad",
+ "defaultMessage": "Security",
+ "description": "Navigaton button for security panel.",
+ "missing": false,
+ "obsolete": false
+ },
+ "panel_title_crop": {
+ "translation": "Arrastra para ajustar",
+ "defaultMessage": "Drag to Adjust",
+ "description": "Title for AvatarCropView.",
+ "missing": false,
+ "obsolete": false
+ },
+ "panel_title_general": {
+ "translation": "General",
+ "defaultMessage": "General",
+ "description": "Title for TopicCommon.",
+ "missing": false,
+ "obsolete": false
+ },
+ "panel_title_members": {
+ "translation": "Miembros",
+ "defaultMessage": "Members",
+ "description": "Title for managing group members view.",
+ "missing": false,
+ "obsolete": false
+ },
+ "panel_title_security": {
+ "translation": "Seguridad",
+ "defaultMessage": "Security",
+ "description": "Title for TopicSecirity and AccSecurity.",
+ "missing": false,
+ "obsolete": false
+ },
+ "panel_title_info": {
+ "translation": "Información",
+ "defaultMessage": "Info",
+ "description": "Title for InfoView",
+ "missing": false,
+ "obsolete": false
+ },
+ "permissions_anonymous": {
+ "translation": "Anónimo",
+ "defaultMessage": "Anonymous",
+ "description": "Title for editing default anonymous permissions",
+ "missing": false,
+ "obsolete": false
+ },
+ "permissions_authenticated": {
+ "translation": "Autenticado",
+ "defaultMessage": "Authenticated",
+ "description": "Title for editing default authenticated permissions",
+ "missing": false,
+ "obsolete": false
+ },
+ "topic_delete": {
+ "translation": "Eliminar chat",
+ "defaultMessage": "Delete Conversation",
+ "description": "Alert title when deleting the topic.",
+ "missing": false,
+ "obsolete": false
+ },
+ "permissions_user": {
+ "translation": "Permisos del usuario",
+ "defaultMessage": "User's Permissions",
+ "description": "Title for editing user's permissions",
+ "missing": false,
+ "obsolete": false
+ },
+ "password_reset_email_sent": {
+ "translation": "Se ha enviado un correo electrónico a {email}. Siga las instrucciones del correo electrónico para restablecer su contraseña.",
+ "defaultMessage": "An email has been sent to {email}. Follow the directions in the email to reset your password.",
+ "description": "Notification that the email with password reset instructions has been sent",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_unarchive_topic": {
+ "translation": "Archivado:",
+ "defaultMessage": "Archived:",
+ "description": "Label for unarchiving the topic",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_reply": {
+ "translation": "",
+ "defaultMessage": "Reply",
+ "description": "Reply to message",
+ "missing": true,
+ "obsolete": false
+ }
}
diff --git a/src/i18n/ex/base-en.json b/src/i18n/ex/base-en.json
index ecb4a408..4500f7f6 100644
--- a/src/i18n/ex/base-en.json
+++ b/src/i18n/ex/base-en.json
@@ -19,10 +19,6 @@
"defaultMessage": "Leave Conversation",
"description": "Flat button [Leave Conversation]"
},
- "action_more": {
- "defaultMessage": "More",
- "description": "Action for showing more content"
- },
"action_report_chat": {
"defaultMessage": "Report Conversation",
"description": "Flat button [Report Group]"
@@ -31,10 +27,22 @@
"defaultMessage": "Archived contacts ({count})",
"description": "Label for archived chats"
},
+ "badge_danger": {
+ "defaultMessage": "Untrustworthy",
+ "description": "Suspicious or untrustworthy account or topic badge"
+ },
"badge_owner": {
"defaultMessage": "owner",
"description": "Badge for indicating the owner"
},
+ "badge_staff": {
+ "defaultMessage": "Staff-managed",
+ "description": "Explanation of a staff-managed account or topic badge"
+ },
+ "badge_verified": {
+ "defaultMessage": "Verified/official",
+ "description": "Explanation of a verified account or topic badge"
+ },
"badge_you": {
"defaultMessage": "you",
"description": "Badge for indicating the current user"
@@ -87,6 +95,10 @@
"defaultMessage": "Reset",
"description": "Button [Reset]"
},
+ "button_security": {
+ "defaultMessage": "Security",
+ "description": "Navigaton button for security panel."
+ },
"button_send_request": {
"defaultMessage": "Send request",
"description": "Button [Send request]"
@@ -159,7 +171,7 @@
"defaultMessage": "Delete account",
"description": "Title for delete account warning"
},
- "delete_account_arning": {
+ "delete_account_warning": {
"defaultMessage": "Are you sure you want to delete your account? It cannot be undone.",
"description": "Warning message when deleting an account"
},
@@ -171,6 +183,10 @@
"defaultMessage": "content deleted",
"description": "Shown when messages are deleted"
},
+ "description_editing_placeholder": {
+ "defaultMessage": "Description (optional)",
+ "description": "Placeholder for editing topic description"
+ },
"download_action": {
"defaultMessage": "download",
"description": "Call to action [download]"
@@ -251,14 +267,14 @@
"defaultMessage": "Content type:",
"description": "Label for file content type (mime)"
},
- "label_default_access": {
- "defaultMessage": "Default access mode:",
- "description": "Section title"
- },
"label_default_access_mode": {
"defaultMessage": "Default access mode:",
"description": "Label for default access mode"
},
+ "label_description": {
+ "defaultMessage": "Description",
+ "description": "Label for editing topic description"
+ },
"label_file_name": {
"defaultMessage": "File name:",
"description": "Label for a file name"
@@ -329,6 +345,10 @@
"defaultMessage": "Name",
"description": "Label for editing topic name"
},
+ "label_unarchive_topic": {
+ "defaultMessage": "Archived:",
+ "description": "Label for unarchiving the topic"
+ },
"label_user_contacts": {
"defaultMessage": "Contacts:",
"description": "Label for user contacts"
@@ -421,6 +441,10 @@
"defaultMessage": "Mute",
"description": "Turn off notifications"
},
+ "menu_item_reply": {
+ "defaultMessage": "Reply",
+ "description": "Reply to message"
+ },
"menu_item_restore_topic": {
"defaultMessage": "Restore",
"description": "Restore topic from archive"
@@ -481,6 +505,26 @@
"defaultMessage": "online now",
"description": "Indicator that the user or topic is currently online"
},
+ "panel_title_crop": {
+ "defaultMessage": "Drag to Adjust",
+ "description": "Title for AvatarCropView."
+ },
+ "panel_title_general": {
+ "defaultMessage": "General",
+ "description": "Title for TopicCommon."
+ },
+ "panel_title_info": {
+ "defaultMessage": "Info",
+ "description": "Title for InfoView"
+ },
+ "panel_title_members": {
+ "defaultMessage": "Members",
+ "description": "Title for managing group members view."
+ },
+ "panel_title_security": {
+ "defaultMessage": "Security",
+ "description": "Title for TopicSecirity and AccSecurity."
+ },
"password_prompt": {
"defaultMessage": "Password",
"description": "Placeholder/prompt for entering password"
@@ -529,6 +573,18 @@
"defaultMessage": "Write ({val})",
"description": "Name of W permission"
},
+ "permissions_anonymous": {
+ "defaultMessage": "Anonymous",
+ "description": "Title for editing default anonymous permissions"
+ },
+ "permissions_authenticated": {
+ "defaultMessage": "Authenticated",
+ "description": "Title for editing default authenticated permissions"
+ },
+ "permissions_user": {
+ "defaultMessage": "User's Permissions",
+ "description": "Title for editing user's permissions"
+ },
"phone_dative": {
"defaultMessage": "phone",
"description": "Dative case of 'phone', i.e. 'phone' in 'by phone'"
@@ -577,25 +633,17 @@
"defaultMessage": "List like email:alice@example.com, tel:17025550003...",
"description": "Placeholder in contacts search field"
},
- "sidepanel_title_acc_general": {
- "defaultMessage": "General",
- "description": "Sidepanel title for AccGeneralView."
- },
"sidepanel_title_acc_notifications": {
"defaultMessage": "Notifications",
"description": "Sidepanel title for AccNotificationsView."
},
- "sidepanel_title_acc_security": {
- "defaultMessage": "Security",
- "description": "Sidepanel title for AccSecurityView."
- },
"sidepanel_title_acc_support": {
"defaultMessage": "Support",
"description": "Sidepanel title for AccSupportView."
},
"sidepanel_title_account_settings": {
"defaultMessage": "Account Settings",
- "description": "Sidepanel title for EditAccountView."
+ "description": "Sidepanel title for AccountSettingsView."
},
"sidepanel_title_archive": {
"defaultMessage": "Archived Chats",
@@ -661,10 +709,6 @@
"defaultMessage": "Group Members",
"description": "Section title"
},
- "title_info": {
- "defaultMessage": "Info",
- "description": "Title for InfoView"
- },
"title_manage_tags": {
"defaultMessage": "Manage",
"description": "Section title for the list of tags"
@@ -678,7 +722,7 @@
"description": "Section title"
},
"title_tag_manager": {
- "defaultMessage": "Tags (user discovery)",
+ "defaultMessage": "Tags (search & discovery)",
"description": "Section title for TagManager"
},
"topic_block_warning": {
diff --git a/src/i18n/ko.json b/src/i18n/ko.json
index 9406235a..814c2f10 100644
--- a/src/i18n/ko.json
+++ b/src/i18n/ko.json
@@ -1,185 +1,1337 @@
{
- "validate_credential_action": "확인",
- "title_tag_manager": "태그(사용자검색)",
- "label_user_contacts": "연락처: ",
- "button_add_another": "다른항목추가",
- "label_message_sound": "메시지소리: ",
- "label_push_notifications": "통지경보: ",
- "label_push_notifications_disabled": "통지경보(HTTPS필요): ",
- "label_incognito_mode": "시크릿모드: ",
- "delete_account": "계정삭제",
- "delete_account_arning": "계정을삭제하시겠습니까?실행취소할수없습니다.",
- "label_password": "비밀번호",
- "password_unchanged_prompt": "변경되지않음",
- "button_logout": "로그아웃",
- "button_delete_account": "계정삭제",
- "label_default_access_mode": "기본액세스모드: ",
- "blocked_contacts_link": "차단된연락처({수})",
- "link_contact_us": "문의처",
- "link_terms_of_service": "서비스약관",
- "link_privacy_policy": "개인정보보호정책",
- "label_sdk": "SDK:",
- "label_server_address": "서버주소: ",
- "archived_contacts": "보관된연락처({수})",
- "contacts_not_found": "채팅이없습니다
¯∖_(ツ)_/¯",
- "full_name_prompt": "전체이름(예:홍길동)",
- "email_prompt": "이메일(예:hong@example.com)",
- "button_sign_up": "가입",
- "label_your_name": "이름",
- "label_user_id": "ID:",
- "button_edit": "편집",
- "requested_permissions": "요청",
- "grant_permissions": ":!![OBSOLETE]!!:승인",
- "menu_item_edit_permissions": "편집권한",
- "label_other_user": "기타",
- "action_clear_messages": "메시지지우기",
- "clear_messages_warning": "모든메시지를지우시겠습니까?실행취소할수없습니다.",
- "action_delete_messages": "모든메시지지우기",
- "delete_messages_warning": "모든사람의모든메시지를삭제하시겠습니까?실행취소할수없습니다.",
- "action_leave_chat": "대화나누기",
- "leave_chat_warning": "이대화를나가시겠습니까?",
- "action_block_contact": "연락차단",
- "block_contact_warning": "이연락처를차단하시겠습니까?",
- "action_report_chat": "대화기록",
- "report_chat_warning": "이대화를차단하고기록하시겠습니까?",
- "title_info": "정보",
- "label_topic_name": "이름",
- "label_private": "개인코멘트",
- "private_editing_placeholder": "나만볼수있습니다",
- "label_muting_topic": "음소거: ",
- "action_more": "더보기",
- "label_your_permissions": "권한: ",
- "label_permissions": "권한: ",
- "label_you": "당신: ",
- "label_default_access": "기본액세스모드: ",
- "label_group_members": "그룹회원: ",
- "button_add_members": "회원추가",
- "group_has_no_members": "회원없음",
- "login_prompt": "로그인",
- "password_prompt": "비밀번호",
- "stay_logged_in": "로그인상태유지",
- "forgot_password_link": "비밀번호를잊으셨습니까?",
- "button_sign_in": "로그인",
- "label_client": "클라이언트: ",
- "label_server": "서버: ",
- "online_now": "현재접속중",
- "last_seen_timestamp": "마지막으로본",
- "title_not_found": "찾을수없음",
- "unnamed_topic": "이름없는",
- "message_not_readable": ":!![OBSOLETE]!!:메시지에접근할수없음",
- "peers_messaging_disabled": "동료의메시지가비활성화되었습니다.",
- "enable_peers_messaging": "활성화",
- "search_for_contacts": "검색을사용하여연락처찾기",
- "search_no_results": "검색결과가없습니다",
- "tabtitle_find_user": "찾기",
- "tabtitle_new_group": "새그룹",
- "tabtitle_group_by_id": "id로",
- "new_password_placeholder": "새비밀번호입력",
- "label_reset_password": "비밀번호재설정이메일보내기: ",
- "credential_email_prompt": "등록이메일",
- "button_reset": "재설정",
- "button_send_request": "요청보내기",
- "label_server_to_use": "사용할서버:",
- "label_wire_transport": "와이어수송:",
- "button_update": "업데이트",
- "sidepanel_title_login": "로그인",
- "sidepanel_title_register": "계정만들기",
- "sidepanel_title_settings": "설정",
- "sidepanel_title_account_settings": "계정설정",
- "sidepanel_title_acc_general": "일반",
- "sidepanel_title_acc_security": "보안",
- "sidepanel_title_acc_notifications": "알림",
- "sidepanel_title_acc_support": "지원",
- "sidepanel_title_newtpk": "새채팅시작",
- "sidepanel_title_cred": "자격증명확인",
- "sidepanel_title_reset": "비밀번호재설정",
- "sidepanel_title_archive": "보관된채팅",
- "sidepanel_title_blocked": "차단된채팅",
- "update_available": "업데이트가능.",
- "reload_update": "재로드",
- "reconnect_countdown": "연결이끊어졌습니다.다시연결하는중{초}…",
- "reconnect_now": "지금시도",
- "push_init_failed": "푸시알림을초기화하지못했습니다",
- "invalid_security_token": "유효하지않은보안토큰",
- "no_connection": "연결없음",
- "code_doesnot_match": "코드가일치하지않습니다",
- "phone_dative": "전화",
- "email_dative": "이메일",
- "enter_confirmation_code_prompt": "{방법}으로보낸확인코드를입력하십시오:",
- "numeric_confirmation_code_prompt": "숫자만",
- "button_confirm": "확인",
- "save_attachment": "저장",
- "delete_content": ":!![OBSOLETE]!!:컨텐츠삭제",
- "invalid_content": "잘못된내용",
- "user_not_found": "찾을수없음",
- "badge_you": "당신",
- "badge_owner": "소유자",
- "menu_item_info": "정보",
- "menu_item_clear_messages": "메시지지우기",
- "menu_item_clear_messages_for_all": "모두지우기",
- "menu_item_delete": "삭제",
- "menu_item_delete_for_all": "모두삭제",
- "menu_item_send_retry": "다시시도",
- "menu_item_mute": "음소거",
- "menu_item_unmute": "음소거해제",
- "menu_item_delete_topic": "삭제",
- "topic_delete_warning": "이대화를삭제하시겠습니까?",
- "menu_item_unblock": "차단해제",
- "menu_item_block": "차단",
- "topic_block_warning": "이대화를차단하시겠습니까?",
- "menu_item_member_delete": "제거",
- "menu_item_archive_topic": "보관",
- "action_cancel": "취소",
- "upload_finishing": "마무리...",
- "no_contacts": "연락처가없습니다 (._.)",
- "contacts_not_found_short": "'{문의}'와일치하는연락처가없습니다.",
- "title_group_members": "그룹구성원",
- "title_all_contacts": "모든연락처",
- "button_ok": "OK",
- "button_cancel": "취소",
- "more_online_members": "+{넘침}더보기",
- "download_action": "다운로드",
- "label_file_name": "파일이름: ",
- "label_content_type": "컨텐츠유형: ",
- "label_size": "크기: ",
- "chat_invitation": "새로운대화를시작하도록초대되었습니다.무엇을하시겠습니까?",
- "chat_invitation_accept": "수락",
- "chat_invitation_ignore": "무시",
- "chat_invitation_block": "차단",
- "error_invalid_id": "잘못된ID",
- "group_user_id_prompt": "그룹또는사용자ID",
- "button_subscribe": "구독",
- "topic_name_editing_placeholder": "그룹의자유형이름",
- "button_create": "작성",
- "permission_join": "참여({val})",
- "permission_read": "읽기({val})",
- "permission_write": "쓰기({val})",
- "permission_pres": "알림받기({val})",
- "permission_admin": "승인({val})",
- "permission_share": "공유({val})",
- "permission_delete": "삭제({val})",
- "permission_owner": "소유자({val})",
- "title_permissions": "권한",
- "message_sending": "보내기...",
- "message_sending_failed": "실패",
- "search_placeholder": "email:kim@example.com,tel:17025550003...와같은목록",
- "messaging_disabled_prompt": "메시지비활성화",
- "new_message_prompt": "새메시지",
- "image_caption_prompt": "이미지설명",
- "file_attachment_too_large": "파일크기{크기}이(가){제한}제한을초과합니다.",
- "cannot_initiate_file_upload": "파일업로드를시작할수없습니다.",
- "tags_not_found": "태그가정의되지않았습니다.일부를추가하십시오.",
- "tags_editor_no_tags": "일부태그추가",
- "title_manage_tags": "관리",
- "granted_permissions": "승낙하다",
- "messages_not_readable": "메시지에 액세스 할 수 없습니다",
- "deleted_content": "내용이 삭제되었습니다",
- "channel_prompt": "이 채널입니다",
- "channel": "채널",
- "drafty_attachment": "부착",
- "drafty_form": "형태:",
- "drafty_image": "이미지",
- "topic_delete": "채팅 삭제",
- "password_reset_email_sent": "이메일이 {email}(으)로 전송되었습니다. 이메일의 지침에 따라 비밀번호를 재설정하세요.",
- "menu_item_restore_topic": "복원"
+ "action_block_contact": {
+ "translation": "연락차단",
+ "defaultMessage": "Block Contact",
+ "description": "Flat button [Block Contact]",
+ "missing": false,
+ "obsolete": false
+ },
+ "action_cancel": {
+ "translation": "취소",
+ "defaultMessage": "cancel",
+ "description": "Call to action [cancel]",
+ "missing": false,
+ "obsolete": false
+ },
+ "action_clear_messages": {
+ "translation": "메시지지우기",
+ "defaultMessage": "Clear Messages",
+ "description": "Flat button [Clear Messages] (soft-delete messages)",
+ "missing": false,
+ "obsolete": false
+ },
+ "action_delete_messages": {
+ "translation": "모든메시지지우기",
+ "defaultMessage": "Clear Messages for All",
+ "description": "Flat button [Clear for All] (hard-delete all messages)",
+ "missing": false,
+ "obsolete": false
+ },
+ "action_leave_chat": {
+ "translation": "대화나누기",
+ "defaultMessage": "Leave Conversation",
+ "description": "Flat button [Leave Conversation]",
+ "missing": false,
+ "obsolete": false
+ },
+ "action_report_chat": {
+ "translation": "대화기록",
+ "defaultMessage": "Report Conversation",
+ "description": "Flat button [Report Group]",
+ "missing": false,
+ "obsolete": false
+ },
+ "archived_contacts": {
+ "translation": "보관된연락처({수})",
+ "defaultMessage": "Archived contacts ({count})",
+ "description": "Label for archived chats",
+ "missing": false,
+ "obsolete": false
+ },
+ "badge_danger": {
+ "translation": "의심 많은",
+ "defaultMessage": "Untrustworthy",
+ "description": "Suspicious or untrustworthy account or topic badge",
+ "missing": false,
+ "obsolete": false
+ },
+ "badge_owner": {
+ "translation": "소유자",
+ "defaultMessage": "owner",
+ "description": "Badge for indicating the owner",
+ "missing": false,
+ "obsolete": false
+ },
+ "badge_staff": {
+ "translation": "직원 관리하에",
+ "defaultMessage": "Staff-managed",
+ "description": "Explanation of a staff-managed account or topic badge",
+ "missing": false,
+ "obsolete": false
+ },
+ "badge_verified": {
+ "translation": "확인 됨",
+ "defaultMessage": "Verified/official",
+ "description": "Explanation of a verified account or topic badge",
+ "missing": false,
+ "obsolete": false
+ },
+ "badge_you": {
+ "translation": "당신",
+ "defaultMessage": "you",
+ "description": "Badge for indicating the current user",
+ "missing": false,
+ "obsolete": false
+ },
+ "block_contact_warning": {
+ "translation": "이연락처를차단하시겠습니까?",
+ "defaultMessage": "Are you sure you want to block this contact?",
+ "description": "Alert dialog warning when blocking a contact.",
+ "missing": false,
+ "obsolete": false
+ },
+ "blocked_contacts_link": {
+ "translation": "차단된연락처({수})",
+ "defaultMessage": "Blocked contacts ({count})",
+ "description": "Blocked contacts link",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_add_another": {
+ "translation": "다른항목추가",
+ "defaultMessage": "Add another",
+ "description": "Call to action [+ add another]",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_add_members": {
+ "translation": "회원추가",
+ "defaultMessage": "Add members",
+ "description": "Flat button [Add members] (to topic)",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_cancel": {
+ "translation": "취소",
+ "defaultMessage": "Cancel",
+ "description": "Button [Cancel]",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_confirm": {
+ "translation": "확인",
+ "defaultMessage": "Confirm",
+ "description": "Button [Confirm]",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_create": {
+ "translation": "작성",
+ "defaultMessage": "Create",
+ "description": "Button [Create]",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_delete_account": {
+ "translation": "계정삭제",
+ "defaultMessage": "Delete account",
+ "description": "Button [Delete account]",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_edit": {
+ "translation": "편집",
+ "defaultMessage": "Edit",
+ "description": "Call to action [Edit]",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_logout": {
+ "translation": "로그아웃",
+ "defaultMessage": "Logout",
+ "description": "Button [Logout]",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_ok": {
+ "translation": "OK",
+ "defaultMessage": "OK",
+ "description": "Button [OK]",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_reset": {
+ "translation": "재설정",
+ "defaultMessage": "Reset",
+ "description": "Button [Reset]",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_send_request": {
+ "translation": "요청보내기",
+ "defaultMessage": "Send request",
+ "description": "Button [Send request]",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_sign_in": {
+ "translation": "로그인",
+ "defaultMessage": "Sign in",
+ "description": "Button [Sign In]",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_sign_up": {
+ "translation": "가입",
+ "defaultMessage": "Sign up",
+ "description": "Create account button [Sign Up]",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_subscribe": {
+ "translation": "구독",
+ "defaultMessage": "Subscribe",
+ "description": "Button [Subscribe]",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_update": {
+ "translation": "업데이트",
+ "defaultMessage": "Update",
+ "description": "Button [Update]",
+ "missing": false,
+ "obsolete": false
+ },
+ "cannot_initiate_file_upload": {
+ "translation": "파일업로드를시작할수없습니다.",
+ "defaultMessage": "Cannot initiate file upload.",
+ "description": "Generic error messagewhen attachment fails",
+ "missing": false,
+ "obsolete": false
+ },
+ "channel": {
+ "translation": "채널",
+ "defaultMessage": "channel",
+ "description": "Subtitle shown for channels in MessagesView instead of last seen",
+ "missing": false,
+ "obsolete": false
+ },
+ "channel_prompt": {
+ "translation": "이 채널입니다",
+ "defaultMessage": "This is a channel",
+ "description": "Checkbox label when creating a channel",
+ "missing": false,
+ "obsolete": false
+ },
+ "chat_invitation": {
+ "translation": "새로운대화를시작하도록초대되었습니다.무엇을하시겠습니까?",
+ "defaultMessage": "You are invited to start a new chat. What would you like to do?",
+ "description": "New chat invitation message: [Accept] [Ignore] [Block].",
+ "missing": false,
+ "obsolete": false
+ },
+ "chat_invitation_accept": {
+ "translation": "수락",
+ "defaultMessage": "Accept",
+ "description": "Action [Accept] for chat invitation.",
+ "missing": false,
+ "obsolete": false
+ },
+ "chat_invitation_block": {
+ "translation": "차단",
+ "defaultMessage": "Block",
+ "description": "Action [Block] for chat invitation.",
+ "missing": false,
+ "obsolete": false
+ },
+ "chat_invitation_ignore": {
+ "translation": "무시",
+ "defaultMessage": "Ignore",
+ "description": "Action [Ignore] for chat invitation.",
+ "missing": false,
+ "obsolete": false
+ },
+ "clear_messages_warning": {
+ "translation": "모든메시지를지우시겠습니까?실행취소할수없습니다.",
+ "defaultMessage": "Are you sure you want to clear all messages? It cannot be undone.",
+ "description": "Alert dialog warning when deleting all messages.",
+ "missing": false,
+ "obsolete": false
+ },
+ "code_doesnot_match": {
+ "translation": "코드가일치하지않습니다",
+ "defaultMessage": "Code does not match",
+ "description": "Error message when the credential validation code is incorrect.",
+ "missing": false,
+ "obsolete": false
+ },
+ "contacts_not_found": {
+ "translation": "채팅이없습니다
¯∖_(ツ)_/¯",
+ "defaultMessage": "You have no chats
¯∖_(ツ)_/¯",
+ "description": "HTML message shown in ContactList when no contacts are found",
+ "missing": false,
+ "obsolete": false
+ },
+ "contacts_not_found_short": {
+ "translation": "'{문의}'와일치하는연락처가없습니다.",
+ "defaultMessage": "No contacts match ''{query}''",
+ "description": "Shown in ContactsView when search returned no results",
+ "missing": false,
+ "obsolete": false
+ },
+ "credential_email_prompt": {
+ "translation": "등록이메일",
+ "defaultMessage": "Your registration email",
+ "description": "Placeholder for entering email",
+ "missing": false,
+ "obsolete": false
+ },
+ "delete_account": {
+ "translation": "계정삭제",
+ "defaultMessage": "Delete account",
+ "description": "Title for delete account warning",
+ "missing": false,
+ "obsolete": false
+ },
+ "delete_account_warning": {
+ "translation": "계정을삭제하시겠습니까?실행취소할수없습니다.",
+ "defaultMessage": "Are you sure you want to delete your account? It cannot be undone.",
+ "description": "Warning message when deleting an account",
+ "missing": false,
+ "obsolete": false
+ },
+ "delete_messages_warning": {
+ "translation": "모든사람의모든메시지를삭제하시겠습니까?실행취소할수없습니다.",
+ "defaultMessage": "Are you sure you want to delete all messages for everyone? It cannot be undone.",
+ "description": "Alert dialog warning when hard-deleting all messages.",
+ "missing": false,
+ "obsolete": false
+ },
+ "deleted_content": {
+ "translation": "내용이 삭제되었습니다",
+ "defaultMessage": "content deleted",
+ "description": "Shown when messages are deleted",
+ "missing": false,
+ "obsolete": false
+ },
+ "download_action": {
+ "translation": "다운로드",
+ "defaultMessage": "download",
+ "description": "Call to action [download]",
+ "missing": false,
+ "obsolete": false
+ },
+ "drafty_attachment": {
+ "translation": "부착",
+ "defaultMessage": "Attachment",
+ "description": "Comment for attachment in drafty preview",
+ "missing": false,
+ "obsolete": false
+ },
+ "drafty_form": {
+ "translation": "형태:",
+ "defaultMessage": "Form:",
+ "description": "Comment for form in drafty preview",
+ "missing": false,
+ "obsolete": false
+ },
+ "drafty_image": {
+ "translation": "이미지",
+ "defaultMessage": "Picture",
+ "description": "Comment for embedded images in drafty preview",
+ "missing": false,
+ "obsolete": false
+ },
+ "email_dative": {
+ "translation": "이메일",
+ "defaultMessage": "email",
+ "description": "Dative case of 'email', i.e. 'email' in 'by email'",
+ "missing": false,
+ "obsolete": false
+ },
+ "email_prompt": {
+ "translation": "이메일(예:hong@example.com)",
+ "defaultMessage": "Email, e.g. jdoe@example.com",
+ "description": "Input placeholder for email entry",
+ "missing": false,
+ "obsolete": false
+ },
+ "enable_peers_messaging": {
+ "translation": "활성화",
+ "defaultMessage": "Enable",
+ "description": "Call to action to enable peer's messaging",
+ "missing": false,
+ "obsolete": false
+ },
+ "enter_confirmation_code_prompt": {
+ "translation": "{방법}으로보낸확인코드를입력하십시오:",
+ "defaultMessage": "Enter confirmation code sent to you by {method}:",
+ "description": "Request to enter confirmation code",
+ "missing": false,
+ "obsolete": false
+ },
+ "error_invalid_id": {
+ "translation": "잘못된ID",
+ "defaultMessage": "Invalid ID",
+ "description": "Error message",
+ "missing": false,
+ "obsolete": false
+ },
+ "file_attachment_too_large": {
+ "translation": "파일크기{크기}이(가){제한}제한을초과합니다.",
+ "defaultMessage": "The file size {size} exceeds the {limit} limit.",
+ "description": "Error message when attachment is too large",
+ "missing": false,
+ "obsolete": false
+ },
+ "forgot_password_link": {
+ "translation": "비밀번호를잊으셨습니까?",
+ "defaultMessage": "Forgot password?",
+ "description": "Link to Reset password form",
+ "missing": false,
+ "obsolete": false
+ },
+ "full_name_prompt": {
+ "translation": "전체이름(예:홍길동)",
+ "defaultMessage": "Full name, e.g. John Doe",
+ "description": "Input placeholder for person's full name",
+ "missing": false,
+ "obsolete": false
+ },
+ "granted_permissions": {
+ "translation": "승낙하다",
+ "defaultMessage": "Granted",
+ "description": "Title for permissions",
+ "missing": false,
+ "obsolete": false
+ },
+ "group_has_no_members": {
+ "translation": "회원없음",
+ "defaultMessage": "No members",
+ "description": "Shown in place of group members",
+ "missing": false,
+ "obsolete": false
+ },
+ "group_user_id_prompt": {
+ "translation": "그룹또는사용자ID",
+ "defaultMessage": "Group or User ID",
+ "description": "Prompt for entering user or group ID",
+ "missing": false,
+ "obsolete": false
+ },
+ "image_caption_prompt": {
+ "translation": "이미지설명",
+ "defaultMessage": "Image caption",
+ "description": "Prompt in SendMessage for attached image",
+ "missing": false,
+ "obsolete": false
+ },
+ "invalid_content": {
+ "translation": "잘못된내용",
+ "defaultMessage": "invalid content",
+ "description": "Shown when message is unreadable",
+ "missing": false,
+ "obsolete": false
+ },
+ "invalid_security_token": {
+ "translation": "유효하지않은보안토큰",
+ "defaultMessage": "Invalid security token",
+ "description": "Error message when resetting password.",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_client": {
+ "translation": "클라이언트: ",
+ "defaultMessage": "Client:",
+ "description": "Label for a client version",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_content_type": {
+ "translation": "컨텐츠유형: ",
+ "defaultMessage": "Content type:",
+ "description": "Label for file content type (mime)",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_default_access_mode": {
+ "translation": "기본액세스모드: ",
+ "defaultMessage": "Default access mode:",
+ "description": "Label for default access mode",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_file_name": {
+ "translation": "파일이름: ",
+ "defaultMessage": "File name:",
+ "description": "Label for a file name",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_group_members": {
+ "translation": "그룹회원: ",
+ "defaultMessage": "Group members:",
+ "description": "Section title or label",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_incognito_mode": {
+ "translation": "시크릿모드: ",
+ "defaultMessage": "Incognito mode:",
+ "description": "Label for incognito mode toggle",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_message_sound": {
+ "translation": "메시지소리: ",
+ "defaultMessage": "Message sound:",
+ "description": "Label for message sounds toggle",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_muting_topic": {
+ "translation": "음소거: ",
+ "defaultMessage": "Muted:",
+ "description": "Label for Muting/unmuting the topic",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_other_user": {
+ "translation": "기타",
+ "defaultMessage": "Other",
+ "description": "Label for the other user when the user is unnamed",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_password": {
+ "translation": "비밀번호",
+ "defaultMessage": "Password",
+ "description": "Label for password editing",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_permissions": {
+ "translation": "권한: ",
+ "defaultMessage": "Permissions:",
+ "description": "Section title",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_private": {
+ "translation": "개인코멘트",
+ "defaultMessage": "Private comment",
+ "description": "Label for editing 'private'",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_push_notifications": {
+ "translation": "통지경보: ",
+ "defaultMessage": "Notification alerts:",
+ "description": "Label for push notifications switch",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_push_notifications_disabled": {
+ "translation": "통지경보(HTTPS필요): ",
+ "defaultMessage": "Notification alerts (requires HTTPS):",
+ "description": "Label for push notifications switch",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_reset_password": {
+ "translation": "비밀번호재설정이메일보내기: ",
+ "defaultMessage": "Send a password reset email:",
+ "description": "Label for password reset field",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_sdk": {
+ "translation": "SDK:",
+ "defaultMessage": "SDK:",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_server": {
+ "translation": "서버: ",
+ "defaultMessage": "Server:",
+ "description": "Label for a server version",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_server_address": {
+ "translation": "서버주소: ",
+ "defaultMessage": "Server address:",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_server_to_use": {
+ "translation": "사용할서버:",
+ "defaultMessage": "Server to use:",
+ "description": "Label for server selector in SettingsView",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_size": {
+ "translation": "크기: ",
+ "defaultMessage": "Size:",
+ "description": "Label for file size",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_topic_name": {
+ "translation": "이름",
+ "defaultMessage": "Name",
+ "description": "Label for editing topic name",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_user_contacts": {
+ "translation": "연락처: ",
+ "defaultMessage": "Contacts:",
+ "description": "Label for user contacts",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_user_id": {
+ "translation": "ID:",
+ "defaultMessage": "ID:",
+ "description": "Label for user address (ID)",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_wire_transport": {
+ "translation": "와이어수송:",
+ "defaultMessage": "Wire transport:",
+ "description": "Label for wire transport selection in SettingsView",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_you": {
+ "translation": "당신: ",
+ "defaultMessage": "You:",
+ "description": "Label for the current user",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_your_name": {
+ "translation": "이름",
+ "defaultMessage": "Your name",
+ "description": "Label for full name editing",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_your_permissions": {
+ "translation": "권한: ",
+ "defaultMessage": "Your permissions:",
+ "description": "Label for current user permissions",
+ "missing": false,
+ "obsolete": false
+ },
+ "last_seen_timestamp": {
+ "translation": "마지막으로본",
+ "defaultMessage": "Last seen",
+ "description": "Label for the timestamp of when the user or topic was last online",
+ "missing": false,
+ "obsolete": false
+ },
+ "leave_chat_warning": {
+ "translation": "이대화를나가시겠습니까?",
+ "defaultMessage": "Are you sure you want to leave this conversation?",
+ "description": "Alert dialog warning when unsubscribing from a chat.",
+ "missing": false,
+ "obsolete": false
+ },
+ "link_contact_us": {
+ "translation": "문의처",
+ "defaultMessage": "Contact Us",
+ "description": "Ancor text for contacting us by email",
+ "missing": false,
+ "obsolete": false
+ },
+ "link_privacy_policy": {
+ "translation": "개인정보보호정책",
+ "defaultMessage": "Privacy Policy",
+ "description": "Ancor text for privacy policy link",
+ "missing": false,
+ "obsolete": false
+ },
+ "link_terms_of_service": {
+ "translation": "서비스약관",
+ "defaultMessage": "Terms of Service",
+ "description": "Ancor text for terms of service link",
+ "missing": false,
+ "obsolete": false
+ },
+ "login_prompt": {
+ "translation": "로그인",
+ "defaultMessage": "Login",
+ "description": "Placeholer for username/login",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_archive_topic": {
+ "translation": "보관",
+ "defaultMessage": "Archive",
+ "description": "Move topic from the list of active chats to archive",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_block": {
+ "translation": "차단",
+ "defaultMessage": "Block",
+ "description": "Block topic or user",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_clear_messages": {
+ "translation": "메시지지우기",
+ "defaultMessage": "Clear messages",
+ "description": "Delete all messages",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_clear_messages_for_all": {
+ "translation": "모두지우기",
+ "defaultMessage": "Clear for All",
+ "description": "Delete all message(s) for all members",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_delete": {
+ "translation": "삭제",
+ "defaultMessage": "Delete",
+ "description": "Delete selected messages",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_delete_for_all": {
+ "translation": "모두삭제",
+ "defaultMessage": "Delete for All",
+ "description": "Delete selected message(s) for all members",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_delete_topic": {
+ "translation": "삭제",
+ "defaultMessage": "Delete",
+ "description": "Delete entire topic",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_edit_permissions": {
+ "translation": "편집권한",
+ "defaultMessage": "Edit permissions",
+ "description": "Menu item [Edit permissions]",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_info": {
+ "translation": "정보",
+ "defaultMessage": "Info",
+ "description": "Show extended topic information",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_member_delete": {
+ "translation": "제거",
+ "defaultMessage": "Remove",
+ "description": "Remove user from topic",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_mute": {
+ "translation": "음소거",
+ "defaultMessage": "Mute",
+ "description": "Turn off notifications",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_restore_topic": {
+ "translation": "복원",
+ "defaultMessage": "Restore",
+ "description": "Restore topic from archive",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_send_retry": {
+ "translation": "다시시도",
+ "defaultMessage": "Retry",
+ "description": "Retry sending message",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_unblock": {
+ "translation": "차단해제",
+ "defaultMessage": "Unblock",
+ "description": "Unblock topic or user",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_unmute": {
+ "translation": "음소거해제",
+ "defaultMessage": "Unmute",
+ "description": "Turn notifications on",
+ "missing": false,
+ "obsolete": false
+ },
+ "message_sending": {
+ "translation": "보내기...",
+ "defaultMessage": "sending...",
+ "description": "Message being sent, in place of time stamp",
+ "missing": false,
+ "obsolete": false
+ },
+ "message_sending_failed": {
+ "translation": "실패",
+ "defaultMessage": "failed",
+ "description": "Failed to send message, in place of time stamp",
+ "missing": false,
+ "obsolete": false
+ },
+ "messages_not_readable": {
+ "translation": "메시지에 액세스 할 수 없습니다",
+ "defaultMessage": "no access to messages",
+ "description": "Message shown in topic without the read access",
+ "missing": false,
+ "obsolete": false
+ },
+ "messaging_disabled_prompt": {
+ "translation": "메시지비활성화",
+ "defaultMessage": "Messaging disabled",
+ "description": "Prompt in SendMessage in read-only topic",
+ "missing": false,
+ "obsolete": false
+ },
+ "more_online_members": {
+ "translation": "+{넘침}더보기",
+ "defaultMessage": "+{overflow} more",
+ "description": "Shown in MessagesView title bar when the number of online subscribers exceeds MAX_ONLINE_IN_TOPIC",
+ "missing": false,
+ "obsolete": false
+ },
+ "new_message_prompt": {
+ "translation": "새메시지",
+ "defaultMessage": "New message",
+ "description": "Prompt in send message field",
+ "missing": false,
+ "obsolete": false
+ },
+ "new_password_placeholder": {
+ "translation": "새비밀번호입력",
+ "defaultMessage": "Enter new password",
+ "description": "Placeholder for entering new password",
+ "missing": false,
+ "obsolete": false
+ },
+ "no_connection": {
+ "translation": "연결없음",
+ "defaultMessage": "No connection",
+ "description": "Warning that the user is offline.",
+ "missing": false,
+ "obsolete": false
+ },
+ "no_contacts": {
+ "translation": "연락처가없습니다 (._.)",
+ "defaultMessage": "You have no contacts :-(",
+ "description": "Shown in ContactsView when the user has no contacts",
+ "missing": false,
+ "obsolete": false
+ },
+ "numeric_confirmation_code_prompt": {
+ "translation": "숫자만",
+ "defaultMessage": "Numbers only",
+ "description": "Prompt for numeric conformation code",
+ "missing": false,
+ "obsolete": false
+ },
+ "online_now": {
+ "translation": "현재접속중",
+ "defaultMessage": "online now",
+ "description": "Indicator that the user or topic is currently online",
+ "missing": false,
+ "obsolete": false
+ },
+ "password_prompt": {
+ "translation": "비밀번호",
+ "defaultMessage": "Password",
+ "description": "Placeholder/prompt for entering password",
+ "missing": false,
+ "obsolete": false
+ },
+ "password_unchanged_prompt": {
+ "translation": "변경되지않음",
+ "defaultMessage": "Unchanged",
+ "description": "Message in editor while password is unchanged",
+ "missing": false,
+ "obsolete": false
+ },
+ "peers_messaging_disabled": {
+ "translation": "동료의메시지가비활성화되었습니다.",
+ "defaultMessage": "Peer's messaging is disabled.",
+ "description": "Shown when the p2p peer's messaging is disabled",
+ "missing": false,
+ "obsolete": false
+ },
+ "permission_admin": {
+ "translation": "승인({val})",
+ "defaultMessage": "Approve ({val})",
+ "description": "Name of A permission",
+ "missing": false,
+ "obsolete": false
+ },
+ "permission_delete": {
+ "translation": "삭제({val})",
+ "defaultMessage": "Delete ({val})",
+ "description": "Name of D permission",
+ "missing": false,
+ "obsolete": false
+ },
+ "permission_join": {
+ "translation": "참여({val})",
+ "defaultMessage": "Join ({val})",
+ "description": "Name of J permission",
+ "missing": false,
+ "obsolete": false
+ },
+ "permission_owner": {
+ "translation": "소유자({val})",
+ "defaultMessage": "Owner ({val})",
+ "description": "Name of O permission",
+ "missing": false,
+ "obsolete": false
+ },
+ "permission_pres": {
+ "translation": "알림받기({val})",
+ "defaultMessage": "Get notified ({val})",
+ "description": "Name of P permission",
+ "missing": false,
+ "obsolete": false
+ },
+ "permission_read": {
+ "translation": "읽기({val})",
+ "defaultMessage": "Read ({val})",
+ "description": "Name of R permission",
+ "missing": false,
+ "obsolete": false
+ },
+ "permission_share": {
+ "translation": "공유({val})",
+ "defaultMessage": "Share ({val})",
+ "description": "Name of S permission",
+ "missing": false,
+ "obsolete": false
+ },
+ "permission_write": {
+ "translation": "쓰기({val})",
+ "defaultMessage": "Write ({val})",
+ "description": "Name of W permission",
+ "missing": false,
+ "obsolete": false
+ },
+ "phone_dative": {
+ "translation": "전화",
+ "defaultMessage": "phone",
+ "description": "Dative case of 'phone', i.e. 'phone' in 'by phone'",
+ "missing": false,
+ "obsolete": false
+ },
+ "private_editing_placeholder": {
+ "translation": "나만볼수있습니다",
+ "defaultMessage": "Visible to you only",
+ "description": "Placeholder for editing 'private'",
+ "missing": false,
+ "obsolete": false
+ },
+ "push_init_failed": {
+ "translation": "푸시알림을초기화하지못했습니다",
+ "defaultMessage": "Failed to initialize push notifications",
+ "description": "Error message when push notifications have failed to initialize.",
+ "missing": false,
+ "obsolete": false
+ },
+ "reconnect_countdown": {
+ "translation": "연결이끊어졌습니다.다시연결하는중{초}…",
+ "defaultMessage": "Disconnected. Reconnecting in {seconds}…",
+ "description": "Message shown when an app update is available.",
+ "missing": false,
+ "obsolete": false
+ },
+ "reconnect_now": {
+ "translation": "지금시도",
+ "defaultMessage": "Try now",
+ "description": "Prompt for reconnecting now",
+ "missing": false,
+ "obsolete": false
+ },
+ "reload_update": {
+ "translation": "재로드",
+ "defaultMessage": "Reload",
+ "description": "Call to action to reload application when update is available.",
+ "missing": false,
+ "obsolete": false
+ },
+ "report_chat_warning": {
+ "translation": "이대화를차단하고기록하시겠습니까?",
+ "defaultMessage": "Are you sure you want to block and report this conversation?",
+ "description": "Alert dialog warning when reporting a conversation for abuse",
+ "missing": false,
+ "obsolete": false
+ },
+ "requested_permissions": {
+ "translation": "요청",
+ "defaultMessage": "Requested",
+ "description": "Title for permissions",
+ "missing": false,
+ "obsolete": false
+ },
+ "save_attachment": {
+ "translation": "저장",
+ "defaultMessage": "save",
+ "description": "Call to save an attachment",
+ "missing": false,
+ "obsolete": false
+ },
+ "search_for_contacts": {
+ "translation": "검색을사용하여연락처찾기",
+ "defaultMessage": "Use search to find contacts",
+ "description": "Text shown in contacts view when user entered no search query.",
+ "missing": false,
+ "obsolete": false
+ },
+ "search_no_results": {
+ "translation": "검색결과가없습니다",
+ "defaultMessage": "Search returned no results",
+ "description": "Text shown in contacts view when query returned no results.",
+ "missing": false,
+ "obsolete": false
+ },
+ "search_placeholder": {
+ "translation": "email:alice@example.com,tel:17025550003...와같은목록",
+ "defaultMessage": "List like email:alice@example.com, tel:17025550003...",
+ "description": "Placeholder in contacts search field",
+ "missing": false,
+ "obsolete": false
+ },
+ "sidepanel_title_acc_notifications": {
+ "translation": "알림",
+ "defaultMessage": "Notifications",
+ "description": "Sidepanel title for AccNotificationsView.",
+ "missing": false,
+ "obsolete": false
+ },
+ "sidepanel_title_acc_support": {
+ "translation": "지원",
+ "defaultMessage": "Support",
+ "description": "Sidepanel title for AccSupportView.",
+ "missing": false,
+ "obsolete": false
+ },
+ "sidepanel_title_account_settings": {
+ "translation": "계정설정",
+ "defaultMessage": "Account Settings",
+ "description": "Sidepanel title for AccountSettingsView.",
+ "missing": false,
+ "obsolete": false
+ },
+ "sidepanel_title_archive": {
+ "translation": "보관된채팅",
+ "defaultMessage": "Archived Chats",
+ "description": "Sidepanel title for ContactsView-Archive.",
+ "missing": false,
+ "obsolete": false
+ },
+ "sidepanel_title_blocked": {
+ "translation": "차단된채팅",
+ "defaultMessage": "Blocked Chats",
+ "description": "Sidepanel title for ContactsView-Blocked.",
+ "missing": false,
+ "obsolete": false
+ },
+ "sidepanel_title_cred": {
+ "translation": "자격증명확인",
+ "defaultMessage": "Confirm Credentials",
+ "description": "Sidepanel title for ValidationView.",
+ "missing": false,
+ "obsolete": false
+ },
+ "sidepanel_title_login": {
+ "translation": "로그인",
+ "defaultMessage": "Sign In",
+ "description": "Sidepanel title for LoginView.",
+ "missing": false,
+ "obsolete": false
+ },
+ "sidepanel_title_newtpk": {
+ "translation": "새채팅시작",
+ "defaultMessage": "Start New Chat",
+ "description": "Sidepanel title for NewTopicView.",
+ "missing": false,
+ "obsolete": false
+ },
+ "sidepanel_title_register": {
+ "translation": "계정만들기",
+ "defaultMessage": "Create Account",
+ "description": "Sidepanel title for CreateAccountView.",
+ "missing": false,
+ "obsolete": false
+ },
+ "sidepanel_title_reset": {
+ "translation": "비밀번호재설정",
+ "defaultMessage": "Reset Password",
+ "description": "Sidepanel title for PasswordResetView.",
+ "missing": false,
+ "obsolete": false
+ },
+ "sidepanel_title_settings": {
+ "translation": "설정",
+ "defaultMessage": "Settings",
+ "description": "Sidepanel title for SettingsView.",
+ "missing": false,
+ "obsolete": false
+ },
+ "stay_logged_in": {
+ "translation": "로그인상태유지",
+ "defaultMessage": "Stay logged in",
+ "description": "Label for a checkbox",
+ "missing": false,
+ "obsolete": false
+ },
+ "tabtitle_find_user": {
+ "translation": "찾기",
+ "defaultMessage": "find",
+ "description": "Tab title Find",
+ "missing": false,
+ "obsolete": false
+ },
+ "tabtitle_group_by_id": {
+ "translation": "id로",
+ "defaultMessage": "by id",
+ "description": "Tab title Find topic by ID",
+ "missing": false,
+ "obsolete": false
+ },
+ "tabtitle_new_group": {
+ "translation": "새그룹",
+ "defaultMessage": "new group",
+ "description": "Tab title New Group",
+ "missing": false,
+ "obsolete": false
+ },
+ "tags_editor_no_tags": {
+ "translation": "일부태그추가",
+ "defaultMessage": "Add some tags",
+ "description": "Tag editor prompt when no tags are found.",
+ "missing": false,
+ "obsolete": false
+ },
+ "tags_not_found": {
+ "translation": "태그가정의되지않았습니다.일부를추가하십시오.",
+ "defaultMessage": "No tags defined. Add some.",
+ "description": "",
+ "missing": false,
+ "obsolete": false
+ },
+ "title_all_contacts": {
+ "translation": "모든연락처",
+ "defaultMessage": "All Contacts",
+ "description": "Section title [All Contacts]",
+ "missing": false,
+ "obsolete": false
+ },
+ "title_group_members": {
+ "translation": "그룹구성원",
+ "defaultMessage": "Group Members",
+ "description": "Section title",
+ "missing": false,
+ "obsolete": false
+ },
+ "title_manage_tags": {
+ "translation": "관리",
+ "defaultMessage": "Manage",
+ "description": "Section title for the list of tags",
+ "missing": false,
+ "obsolete": false
+ },
+ "title_not_found": {
+ "translation": "찾을수없음",
+ "defaultMessage": "Not found",
+ "description": "Title shown when topic is not found",
+ "missing": false,
+ "obsolete": false
+ },
+ "title_permissions": {
+ "translation": "권한",
+ "defaultMessage": "Permissions",
+ "description": "Section title",
+ "missing": false,
+ "obsolete": false
+ },
+ "title_tag_manager": {
+ "translation": "태그(사용자검색)",
+ "defaultMessage": "Tags (search & discovery)",
+ "description": "Section title for TagManager",
+ "missing": false,
+ "obsolete": false
+ },
+ "topic_block_warning": {
+ "translation": "이대화를차단하시겠습니까?",
+ "defaultMessage": "Are you sure you want to block this conversation?",
+ "description": "Alert warning when blocking a topic.",
+ "missing": false,
+ "obsolete": false
+ },
+ "topic_delete_warning": {
+ "translation": "이대화를삭제하시겠습니까?",
+ "defaultMessage": "Are you sure you want to delete this conversation? It cannot be undone.",
+ "description": "Alert warning when deleting entire topic",
+ "missing": false,
+ "obsolete": false
+ },
+ "topic_name_editing_placeholder": {
+ "translation": "그룹의자유형이름",
+ "defaultMessage": "Freeform name of the group",
+ "description": "Prompt for entering topic name",
+ "missing": false,
+ "obsolete": false
+ },
+ "unnamed_topic": {
+ "translation": "이름없는",
+ "defaultMessage": "Unnamed",
+ "description": "Title shown when the topic has no name",
+ "missing": false,
+ "obsolete": false
+ },
+ "update_available": {
+ "translation": "업데이트가능.",
+ "defaultMessage": "Update available.",
+ "description": "Message shown when an app update is available.",
+ "missing": false,
+ "obsolete": false
+ },
+ "upload_finishing": {
+ "translation": "마무리...",
+ "defaultMessage": "finishing...",
+ "description": "Notification that upload is finishing",
+ "missing": false,
+ "obsolete": false
+ },
+ "user_not_found": {
+ "translation": "찾을수없음",
+ "defaultMessage": "Not found",
+ "description": "In place of a user's full name when the user is not found.",
+ "missing": false,
+ "obsolete": false
+ },
+ "validate_credential_action": {
+ "translation": "확인",
+ "defaultMessage": "confirm",
+ "description": "Validate credentail call to action",
+ "missing": false,
+ "obsolete": false
+ },
+ "description_editing_placeholder": {
+ "translation": "설명(선택 사항)",
+ "defaultMessage": "Description (optional)",
+ "description": "Placeholder for editing topic description",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_description": {
+ "translation": "설명",
+ "defaultMessage": "Description",
+ "description": "Label for editing topic description",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_security": {
+ "translation": "보안",
+ "defaultMessage": "Security",
+ "description": "Navigaton button for security panel.",
+ "missing": false,
+ "obsolete": false
+ },
+ "panel_title_crop": {
+ "translation": "드래그하여 조정",
+ "defaultMessage": "Drag to Adjust",
+ "description": "Title for AvatarCropView.",
+ "missing": false,
+ "obsolete": false
+ },
+ "panel_title_general": {
+ "translation": "일반",
+ "defaultMessage": "General",
+ "description": "Title for TopicCommon.",
+ "missing": false,
+ "obsolete": false
+ },
+ "panel_title_members": {
+ "translation": "구성원",
+ "defaultMessage": "Members",
+ "description": "Title for managing group members view.",
+ "missing": false,
+ "obsolete": false
+ },
+ "panel_title_security": {
+ "translation": "보안",
+ "defaultMessage": "Security",
+ "description": "Title for TopicSecirity and AccSecurity.",
+ "missing": false,
+ "obsolete": false
+ },
+ "panel_title_info": {
+ "translation": "정보",
+ "defaultMessage": "Info",
+ "description": "Title for InfoView",
+ "missing": false,
+ "obsolete": false
+ },
+ "permissions_anonymous": {
+ "translation": "익명",
+ "defaultMessage": "Anonymous",
+ "description": "Title for editing default anonymous permissions",
+ "missing": false,
+ "obsolete": false
+ },
+ "permissions_authenticated": {
+ "translation": "인증됨",
+ "defaultMessage": "Authenticated",
+ "description": "Title for editing default authenticated permissions",
+ "missing": false,
+ "obsolete": false
+ },
+ "topic_delete": {
+ "translation": "채팅 삭제",
+ "defaultMessage": "Delete Conversation",
+ "description": "Alert title when deleting the topic.",
+ "missing": false,
+ "obsolete": false
+ },
+ "permissions_user": {
+ "translation": "사용자 권한",
+ "defaultMessage": "User's Permissions",
+ "description": "Title for editing user's permissions",
+ "missing": false,
+ "obsolete": false
+ },
+ "password_reset_email_sent": {
+ "translation": "이메일이 {email}(으)로 전송되었습니다. 이메일의 지침에 따라 비밀번호를 재설정하세요.",
+ "defaultMessage": "An email has been sent to {email}. Follow the directions in the email to reset your password.",
+ "description": "Notification that the email with password reset instructions has been sent",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_unarchive_topic": {
+ "translation": "보관됨:",
+ "defaultMessage": "Archived:",
+ "description": "Label for unarchiving the topic",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_reply": {
+ "translation": "",
+ "defaultMessage": "Reply",
+ "description": "Reply to message",
+ "missing": true,
+ "obsolete": false
+ }
}
diff --git a/src/i18n/ro.json b/src/i18n/ro.json
index ac2a9a33..04cb7e5c 100644
--- a/src/i18n/ro.json
+++ b/src/i18n/ro.json
@@ -1,182 +1,1337 @@
{
- "validate_credential_action": "confirmă",
- "title_tag_manager": "Tag-uri (user discovery)",
- "label_user_contacts": "Contacte:",
- "button_add_another": "Adaugă",
- "label_message_sound": "Sunet de mesaj:",
- "label_push_notifications": "Alerte de notificare:",
- "label_push_notifications_disabled": "Alerte de notificare (necesită HTTPS):",
- "label_incognito_mode": "Mod incognito:",
- "delete_account": "Șterge contul",
- "delete_account_arning": "Ești sigur că dorești să ștergi contul? Acesta nu va putea fi recuperat.",
- "label_password": "Parola",
- "password_unchanged_prompt": "Neschimbată",
- "button_logout": "Deconectare",
- "button_delete_account": "Șterge cont",
- "label_default_access_mode": "Default access mode:",
- "blocked_contacts_link": "Contact blocate ({count})",
- "link_contact_us": "Contactează-ne",
- "link_terms_of_service": "Termenii Serviciului",
- "link_privacy_policy": "Politica de Confidențialitate",
- "label_sdk": "SDK:",
- "label_server_address": "Adresa serverului:",
- "archived_contacts": "Contacte arhivate ({count})",
- "contacts_not_found": "Nu ai contacte salvate
¯∖_(ツ)_/¯",
- "full_name_prompt": "Numele tău",
- "email_prompt": "Adresa de e-mail",
- "button_sign_up": "Creează cont",
- "label_your_name": "Numele tău",
- "label_user_id": "ID:",
- "button_edit": "Editează",
- "requested_permissions": "Necesare",
- "granted_permissions": "Oferite",
- "menu_item_edit_permissions": "Editează permisiuni",
- "label_other_user": "Altele",
- "action_clear_messages": "Șterge mesajele",
- "clear_messages_warning": "Ești sigur că dorești să ștergi mesajele? Acestea nu pot fi recuperate.",
- "action_delete_messages": "Șterge toate mesajele",
- "delete_messages_warning": "Ești sigur că dorești să șterge mesajele din toate conversațiile? Acestea nu pot fi recuperate.",
- "action_leave_chat": "Ieși din conversație",
- "leave_chat_warning": "Ești sigur că dorești să ieși din conersație?",
- "action_block_contact": "Blochează contact",
- "block_contact_warning": "Ești sigur că dorești să blochezi acest contact?",
- "action_report_chat": "Raportează conversația",
- "report_chat_warning": "Ești sigur că dorești să blochezi și să raportezi această conversație?",
- "title_info": "Info",
- "label_topic_name": "Nume",
- "label_private": "Comentariu privat",
- "private_editing_placeholder": "Vizibil doar ție",
- "label_muting_topic": "Mod silențios (muted):",
- "action_more": "Mai multe",
- "label_your_permissions": "Permisiuniile tale:",
- "label_permissions": "Permisiuni:",
- "label_you": "Tu:",
- "label_default_access": "Modul default:",
- "label_group_members": "Membrii grupului:",
- "button_add_members": "Adaugă persoane",
- "group_has_no_members": "În acest grup nu se află persoane",
- "login_prompt": "Conectează-te",
- "password_prompt": "Parola",
- "stay_logged_in": "Rămâi conectat",
- "forgot_password_link": "Ți-ai uitat parola?",
- "button_sign_in": "Conectează-te",
- "label_client": "Client:",
- "label_server": "Server:",
- "online_now": "online acum",
- "last_seen_timestamp": "Văzut ultima dată",
- "title_not_found": "Nu a fost găsit",
- "channel": "canal",
- "unnamed_topic": "Nedenumit",
- "messages_not_readable": "Mesajele nu pot fi citite",
- "peers_messaging_disabled": "Mesageria de tip Peer este dezactivată.",
- "enable_peers_messaging": "Activează",
- "search_for_contacts": "Caută în contacte",
- "search_no_results": "Nu s-au găsit rezultate",
- "tabtitle_find_user": "caută",
- "tabtitle_new_group": "grup nou",
- "tabtitle_group_by_id": "după id",
- "new_password_placeholder": "Introdu parolă",
- "label_reset_password": "Resetează parola:",
- "credential_email_prompt": "Adresa de e-mail",
- "button_reset": "Resetează",
- "button_send_request": "Trimite cerere",
- "label_server_to_use": "Server de utilizat:",
- "label_wire_transport": "Transportul legat:",
- "button_update": "Actualizează",
- "sidepanel_title_login": "Conectează-te",
- "sidepanel_title_register": "Creează Cont",
- "sidepanel_title_settings": "Setări",
- "sidepanel_title_account_settings": "Setările Contului",
- "sidepanel_title_acc_general": "Generale",
- "sidepanel_title_acc_security": "Securitate",
- "sidepanel_title_acc_notifications": "Notificări",
- "sidepanel_title_acc_support": "Ajutor",
- "sidepanel_title_newtpk": "Creeză un nou Chat",
- "sidepanel_title_cred": "Confirmă credențiale",
- "sidepanel_title_reset": "Resetează Parola",
- "sidepanel_title_archive": "Conversații Arhivate",
- "sidepanel_title_blocked": "Conversații Blocate",
- "reconnect_countdown": "Deconectat. Se încearcă conectarea în {seconds}…",
- "reconnect_now": "Încearcă din nou",
- "push_init_failed": "Nu s-a reușit inițializarea tip push notifications",
- "invalid_security_token": "Codul de securitate este invalid",
- "no_connection": "Nu există conexiune",
- "code_doesnot_match": "Codul furnizat nu este valid",
- "update_available": "Actualizare disponibilă.",
- "reload_update": "Reîncarcă",
- "phone_dative": "telefon",
- "email_dative": "email",
- "enter_confirmation_code_prompt": "Introu codul de confirmare trimis pe {method}:",
- "numeric_confirmation_code_prompt": "Doar cifre",
- "button_confirm": "Confirmă",
- "save_attachment": "salvează",
- "deleted_content": "conținut șters",
- "invalid_content": "conținut invalid",
- "user_not_found": "Utilizatorul nu a fost găsit",
- "badge_you": "tu",
- "badge_owner": "owner",
- "menu_item_info": "Info",
- "menu_item_clear_messages": "Șterge mesajele",
- "menu_item_clear_messages_for_all": "Ștergele pe toate",
- "menu_item_delete": "Șterge",
- "menu_item_delete_for_all": "Ștergele pe toate",
- "menu_item_send_retry": "Reîncearcă",
- "menu_item_mute": "Mute",
- "menu_item_unmute": "Unmute",
- "menu_item_delete_topic": "Șterge",
- "topic_delete_warning": "Ești sigur că dorești să șterge această conversație?",
- "menu_item_unblock": "Deblochează",
- "menu_item_block": "Blochează",
- "topic_block_warning": "Ești sigur că dorești să blochezi această conversație?",
- "menu_item_member_delete": "Șterge persoană",
- "menu_item_archive_topic": "Arhivează",
- "action_cancel": "anulează",
- "upload_finishing": "se încarcă...",
- "no_contacts": "Nu ai contacte adăugate :-(",
- "contacts_not_found_short": "Niciun contact găsit după criteriile ''{query}''",
- "title_group_members": "Persoanele din grup",
- "title_all_contacts": "Toate Contactele",
- "button_ok": "OK",
- "button_cancel": "Anulează",
- "more_online_members": "+{overflow} mai mult",
- "download_action": "download",
- "label_file_name": "Nume fișier:",
- "label_content_type": "Tip conținut:",
- "label_size": "Size:",
- "chat_invitation": "Ai primit invitație într-o conversație. Accepți?",
- "chat_invitation_accept": "Da, accept",
- "chat_invitation_ignore": "Ignoră",
- "chat_invitation_block": "Blochează",
- "error_invalid_id": "ID Invalid",
- "group_user_id_prompt": "Grup sau user ID",
- "button_subscribe": "Subscribe",
- "topic_name_editing_placeholder": "Numele grupului",
- "channel_prompt": "Acesta este un canal",
- "button_create": "Creează",
- "permission_join": "Participare ({val})",
- "permission_read": "Citire ({val})",
- "permission_write": "Scriere ({val})",
- "permission_pres": "Notificare ({val})",
- "permission_admin": "Aprobare ({val})",
- "permission_share": "Distribuire ({val})",
- "permission_delete": "Ștergere ({val})",
- "permission_owner": "Deținător ({val})",
- "title_permissions": "Permisiuni",
- "message_sending": "se trimite...",
- "message_sending_failed": "eroare",
- "search_placeholder": "Caută după e-mail sau număr telefon...",
- "messaging_disabled_prompt": "Mesageria este dezactivată",
- "new_message_prompt": "Mesaj nou",
- "image_caption_prompt": "Titlul imaginii",
- "file_attachment_too_large": "Dimensiunea fișiterului {size} depășește limita de {limit}.",
- "cannot_initiate_file_upload": "Nu se poate face încărcarea.",
- "tags_not_found": "Niciun tag definit. Adaugă.",
- "tags_editor_no_tags": "Adaugă tag-uri",
- "title_manage_tags": "Administrează",
- "drafty_attachment": "Atasament",
- "drafty_form": "Formă:",
- "drafty_image": "Imagine",
- "topic_delete": "Ștergeți Chat",
- "password_reset_email_sent": "Un e-mail a fost trimis către {email}. Urmați instrucțiunile din e-mail pentru a vă reseta parola.",
- "menu_item_restore_topic": "Restabili"
+ "action_block_contact": {
+ "translation": "Blochează contact",
+ "defaultMessage": "Block Contact",
+ "description": "Flat button [Block Contact]",
+ "missing": false,
+ "obsolete": false
+ },
+ "action_cancel": {
+ "translation": "anulează",
+ "defaultMessage": "cancel",
+ "description": "Call to action [cancel]",
+ "missing": false,
+ "obsolete": false
+ },
+ "action_clear_messages": {
+ "translation": "Șterge mesajele",
+ "defaultMessage": "Clear Messages",
+ "description": "Flat button [Clear Messages] (soft-delete messages)",
+ "missing": false,
+ "obsolete": false
+ },
+ "action_delete_messages": {
+ "translation": "Șterge toate mesajele",
+ "defaultMessage": "Clear Messages for All",
+ "description": "Flat button [Clear for All] (hard-delete all messages)",
+ "missing": false,
+ "obsolete": false
+ },
+ "action_leave_chat": {
+ "translation": "Ieși din conversație",
+ "defaultMessage": "Leave Conversation",
+ "description": "Flat button [Leave Conversation]",
+ "missing": false,
+ "obsolete": false
+ },
+ "action_report_chat": {
+ "translation": "Raportează conversația",
+ "defaultMessage": "Report Conversation",
+ "description": "Flat button [Report Group]",
+ "missing": false,
+ "obsolete": false
+ },
+ "archived_contacts": {
+ "translation": "Contacte arhivate ({count})",
+ "defaultMessage": "Archived contacts ({count})",
+ "description": "Label for archived chats",
+ "missing": false,
+ "obsolete": false
+ },
+ "badge_danger": {
+ "translation": "Suspicios",
+ "defaultMessage": "Untrustworthy",
+ "description": "Suspicious or untrustworthy account or topic badge",
+ "missing": false,
+ "obsolete": false
+ },
+ "badge_owner": {
+ "translation": "owner",
+ "defaultMessage": "owner",
+ "description": "Badge for indicating the owner",
+ "missing": false,
+ "obsolete": false
+ },
+ "badge_staff": {
+ "translation": "Administrare",
+ "defaultMessage": "Staff-managed",
+ "description": "Explanation of a staff-managed account or topic badge",
+ "missing": false,
+ "obsolete": false
+ },
+ "badge_verified": {
+ "translation": "Verificat",
+ "defaultMessage": "Verified/official",
+ "description": "Explanation of a verified account or topic badge",
+ "missing": false,
+ "obsolete": false
+ },
+ "badge_you": {
+ "translation": "tu",
+ "defaultMessage": "you",
+ "description": "Badge for indicating the current user",
+ "missing": false,
+ "obsolete": false
+ },
+ "block_contact_warning": {
+ "translation": "Ești sigur că dorești să blochezi acest contact?",
+ "defaultMessage": "Are you sure you want to block this contact?",
+ "description": "Alert dialog warning when blocking a contact.",
+ "missing": false,
+ "obsolete": false
+ },
+ "blocked_contacts_link": {
+ "translation": "Contact blocate ({count})",
+ "defaultMessage": "Blocked contacts ({count})",
+ "description": "Blocked contacts link",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_add_another": {
+ "translation": "Adaugă",
+ "defaultMessage": "Add another",
+ "description": "Call to action [+ add another]",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_add_members": {
+ "translation": "Adaugă persoane",
+ "defaultMessage": "Add members",
+ "description": "Flat button [Add members] (to topic)",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_cancel": {
+ "translation": "Anulează",
+ "defaultMessage": "Cancel",
+ "description": "Button [Cancel]",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_confirm": {
+ "translation": "Confirmă",
+ "defaultMessage": "Confirm",
+ "description": "Button [Confirm]",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_create": {
+ "translation": "Creează",
+ "defaultMessage": "Create",
+ "description": "Button [Create]",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_delete_account": {
+ "translation": "Șterge cont",
+ "defaultMessage": "Delete account",
+ "description": "Button [Delete account]",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_edit": {
+ "translation": "Editează",
+ "defaultMessage": "Edit",
+ "description": "Call to action [Edit]",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_logout": {
+ "translation": "Deconectare",
+ "defaultMessage": "Logout",
+ "description": "Button [Logout]",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_ok": {
+ "translation": "OK",
+ "defaultMessage": "OK",
+ "description": "Button [OK]",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_reset": {
+ "translation": "Resetează",
+ "defaultMessage": "Reset",
+ "description": "Button [Reset]",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_send_request": {
+ "translation": "Trimite cerere",
+ "defaultMessage": "Send request",
+ "description": "Button [Send request]",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_sign_in": {
+ "translation": "Conectează-te",
+ "defaultMessage": "Sign in",
+ "description": "Button [Sign In]",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_sign_up": {
+ "translation": "Creează cont",
+ "defaultMessage": "Sign up",
+ "description": "Create account button [Sign Up]",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_subscribe": {
+ "translation": "Subscribe",
+ "defaultMessage": "Subscribe",
+ "description": "Button [Subscribe]",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_update": {
+ "translation": "Actualizează",
+ "defaultMessage": "Update",
+ "description": "Button [Update]",
+ "missing": false,
+ "obsolete": false
+ },
+ "cannot_initiate_file_upload": {
+ "translation": "Nu se poate face încărcarea.",
+ "defaultMessage": "Cannot initiate file upload.",
+ "description": "Generic error messagewhen attachment fails",
+ "missing": false,
+ "obsolete": false
+ },
+ "channel": {
+ "translation": "canal",
+ "defaultMessage": "channel",
+ "description": "Subtitle shown for channels in MessagesView instead of last seen",
+ "missing": false,
+ "obsolete": false
+ },
+ "channel_prompt": {
+ "translation": "Acesta este un canal",
+ "defaultMessage": "This is a channel",
+ "description": "Checkbox label when creating a channel",
+ "missing": false,
+ "obsolete": false
+ },
+ "chat_invitation": {
+ "translation": "Ai primit invitație într-o conversație. Accepți?",
+ "defaultMessage": "You are invited to start a new chat. What would you like to do?",
+ "description": "New chat invitation message: [Accept] [Ignore] [Block].",
+ "missing": false,
+ "obsolete": false
+ },
+ "chat_invitation_accept": {
+ "translation": "Da, accept",
+ "defaultMessage": "Accept",
+ "description": "Action [Accept] for chat invitation.",
+ "missing": false,
+ "obsolete": false
+ },
+ "chat_invitation_block": {
+ "translation": "Blochează",
+ "defaultMessage": "Block",
+ "description": "Action [Block] for chat invitation.",
+ "missing": false,
+ "obsolete": false
+ },
+ "chat_invitation_ignore": {
+ "translation": "Ignoră",
+ "defaultMessage": "Ignore",
+ "description": "Action [Ignore] for chat invitation.",
+ "missing": false,
+ "obsolete": false
+ },
+ "clear_messages_warning": {
+ "translation": "Ești sigur că dorești să ștergi mesajele? Acestea nu pot fi recuperate.",
+ "defaultMessage": "Are you sure you want to clear all messages? It cannot be undone.",
+ "description": "Alert dialog warning when deleting all messages.",
+ "missing": false,
+ "obsolete": false
+ },
+ "code_doesnot_match": {
+ "translation": "Codul furnizat nu este valid",
+ "defaultMessage": "Code does not match",
+ "description": "Error message when the credential validation code is incorrect.",
+ "missing": false,
+ "obsolete": false
+ },
+ "contacts_not_found": {
+ "translation": "Nu ai contacte salvate
¯∖_(ツ)_/¯",
+ "defaultMessage": "You have no chats
¯∖_(ツ)_/¯",
+ "description": "HTML message shown in ContactList when no contacts are found",
+ "missing": false,
+ "obsolete": false
+ },
+ "contacts_not_found_short": {
+ "translation": "Niciun contact găsit după criteriile ''{query}''",
+ "defaultMessage": "No contacts match ''{query}''",
+ "description": "Shown in ContactsView when search returned no results",
+ "missing": false,
+ "obsolete": false
+ },
+ "credential_email_prompt": {
+ "translation": "Adresa de e-mail",
+ "defaultMessage": "Your registration email",
+ "description": "Placeholder for entering email",
+ "missing": false,
+ "obsolete": false
+ },
+ "delete_account": {
+ "translation": "Șterge contul",
+ "defaultMessage": "Delete account",
+ "description": "Title for delete account warning",
+ "missing": false,
+ "obsolete": false
+ },
+ "delete_account_warning": {
+ "translation": "Ești sigur că dorești să ștergi contul? Acesta nu va putea fi recuperat.",
+ "defaultMessage": "Are you sure you want to delete your account? It cannot be undone.",
+ "description": "Warning message when deleting an account",
+ "missing": false,
+ "obsolete": false
+ },
+ "delete_messages_warning": {
+ "translation": "Ești sigur că dorești să șterge mesajele din toate conversațiile? Acestea nu pot fi recuperate.",
+ "defaultMessage": "Are you sure you want to delete all messages for everyone? It cannot be undone.",
+ "description": "Alert dialog warning when hard-deleting all messages.",
+ "missing": false,
+ "obsolete": false
+ },
+ "deleted_content": {
+ "translation": "conținut șters",
+ "defaultMessage": "content deleted",
+ "description": "Shown when messages are deleted",
+ "missing": false,
+ "obsolete": false
+ },
+ "download_action": {
+ "translation": "download",
+ "defaultMessage": "download",
+ "description": "Call to action [download]",
+ "missing": false,
+ "obsolete": false
+ },
+ "drafty_attachment": {
+ "translation": "Atasament",
+ "defaultMessage": "Attachment",
+ "description": "Comment for attachment in drafty preview",
+ "missing": false,
+ "obsolete": false
+ },
+ "drafty_form": {
+ "translation": "Formă:",
+ "defaultMessage": "Form:",
+ "description": "Comment for form in drafty preview",
+ "missing": false,
+ "obsolete": false
+ },
+ "drafty_image": {
+ "translation": "Imagine",
+ "defaultMessage": "Picture",
+ "description": "Comment for embedded images in drafty preview",
+ "missing": false,
+ "obsolete": false
+ },
+ "email_dative": {
+ "translation": "email",
+ "defaultMessage": "email",
+ "description": "Dative case of 'email', i.e. 'email' in 'by email'",
+ "missing": false,
+ "obsolete": false
+ },
+ "email_prompt": {
+ "translation": "Adresa de e-mail",
+ "defaultMessage": "Email, e.g. jdoe@example.com",
+ "description": "Input placeholder for email entry",
+ "missing": false,
+ "obsolete": false
+ },
+ "enable_peers_messaging": {
+ "translation": "Activează",
+ "defaultMessage": "Enable",
+ "description": "Call to action to enable peer's messaging",
+ "missing": false,
+ "obsolete": false
+ },
+ "enter_confirmation_code_prompt": {
+ "translation": "Introu codul de confirmare trimis pe {method}:",
+ "defaultMessage": "Enter confirmation code sent to you by {method}:",
+ "description": "Request to enter confirmation code",
+ "missing": false,
+ "obsolete": false
+ },
+ "error_invalid_id": {
+ "translation": "ID Invalid",
+ "defaultMessage": "Invalid ID",
+ "description": "Error message",
+ "missing": false,
+ "obsolete": false
+ },
+ "file_attachment_too_large": {
+ "translation": "Dimensiunea fișiterului {size} depășește limita de {limit}.",
+ "defaultMessage": "The file size {size} exceeds the {limit} limit.",
+ "description": "Error message when attachment is too large",
+ "missing": false,
+ "obsolete": false
+ },
+ "forgot_password_link": {
+ "translation": "Ți-ai uitat parola?",
+ "defaultMessage": "Forgot password?",
+ "description": "Link to Reset password form",
+ "missing": false,
+ "obsolete": false
+ },
+ "full_name_prompt": {
+ "translation": "Numele tău",
+ "defaultMessage": "Full name, e.g. John Doe",
+ "description": "Input placeholder for person's full name",
+ "missing": false,
+ "obsolete": false
+ },
+ "granted_permissions": {
+ "translation": "Oferite",
+ "defaultMessage": "Granted",
+ "description": "Title for permissions",
+ "missing": false,
+ "obsolete": false
+ },
+ "group_has_no_members": {
+ "translation": "În acest grup nu se află persoane",
+ "defaultMessage": "No members",
+ "description": "Shown in place of group members",
+ "missing": false,
+ "obsolete": false
+ },
+ "group_user_id_prompt": {
+ "translation": "Grup sau user ID",
+ "defaultMessage": "Group or User ID",
+ "description": "Prompt for entering user or group ID",
+ "missing": false,
+ "obsolete": false
+ },
+ "image_caption_prompt": {
+ "translation": "Titlul imaginii",
+ "defaultMessage": "Image caption",
+ "description": "Prompt in SendMessage for attached image",
+ "missing": false,
+ "obsolete": false
+ },
+ "invalid_content": {
+ "translation": "conținut invalid",
+ "defaultMessage": "invalid content",
+ "description": "Shown when message is unreadable",
+ "missing": false,
+ "obsolete": false
+ },
+ "invalid_security_token": {
+ "translation": "Codul de securitate este invalid",
+ "defaultMessage": "Invalid security token",
+ "description": "Error message when resetting password.",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_client": {
+ "translation": "Client:",
+ "defaultMessage": "Client:",
+ "description": "Label for a client version",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_content_type": {
+ "translation": "Tip conținut:",
+ "defaultMessage": "Content type:",
+ "description": "Label for file content type (mime)",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_default_access_mode": {
+ "translation": "Default access mode:",
+ "defaultMessage": "Default access mode:",
+ "description": "Label for default access mode",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_file_name": {
+ "translation": "Nume fișier:",
+ "defaultMessage": "File name:",
+ "description": "Label for a file name",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_group_members": {
+ "translation": "Membrii grupului:",
+ "defaultMessage": "Group members:",
+ "description": "Section title or label",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_incognito_mode": {
+ "translation": "Mod incognito:",
+ "defaultMessage": "Incognito mode:",
+ "description": "Label for incognito mode toggle",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_message_sound": {
+ "translation": "Sunet de mesaj:",
+ "defaultMessage": "Message sound:",
+ "description": "Label for message sounds toggle",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_muting_topic": {
+ "translation": "Mod silențios (muted):",
+ "defaultMessage": "Muted:",
+ "description": "Label for Muting/unmuting the topic",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_other_user": {
+ "translation": "Altele",
+ "defaultMessage": "Other",
+ "description": "Label for the other user when the user is unnamed",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_password": {
+ "translation": "Parola",
+ "defaultMessage": "Password",
+ "description": "Label for password editing",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_permissions": {
+ "translation": "Permisiuni:",
+ "defaultMessage": "Permissions:",
+ "description": "Section title",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_private": {
+ "translation": "Comentariu privat",
+ "defaultMessage": "Private comment",
+ "description": "Label for editing 'private'",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_push_notifications": {
+ "translation": "Alerte de notificare:",
+ "defaultMessage": "Notification alerts:",
+ "description": "Label for push notifications switch",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_push_notifications_disabled": {
+ "translation": "Alerte de notificare (necesită HTTPS):",
+ "defaultMessage": "Notification alerts (requires HTTPS):",
+ "description": "Label for push notifications switch",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_reset_password": {
+ "translation": "Resetează parola:",
+ "defaultMessage": "Send a password reset email:",
+ "description": "Label for password reset field",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_sdk": {
+ "translation": "SDK:",
+ "defaultMessage": "SDK:",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_server": {
+ "translation": "Server:",
+ "defaultMessage": "Server:",
+ "description": "Label for a server version",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_server_address": {
+ "translation": "Adresa serverului:",
+ "defaultMessage": "Server address:",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_server_to_use": {
+ "translation": "Server de utilizat:",
+ "defaultMessage": "Server to use:",
+ "description": "Label for server selector in SettingsView",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_size": {
+ "translation": "Size:",
+ "defaultMessage": "Size:",
+ "description": "Label for file size",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_topic_name": {
+ "translation": "Nume",
+ "defaultMessage": "Name",
+ "description": "Label for editing topic name",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_user_contacts": {
+ "translation": "Contacte:",
+ "defaultMessage": "Contacts:",
+ "description": "Label for user contacts",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_user_id": {
+ "translation": "ID:",
+ "defaultMessage": "ID:",
+ "description": "Label for user address (ID)",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_wire_transport": {
+ "translation": "Transportul legat:",
+ "defaultMessage": "Wire transport:",
+ "description": "Label for wire transport selection in SettingsView",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_you": {
+ "translation": "Tu:",
+ "defaultMessage": "You:",
+ "description": "Label for the current user",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_your_name": {
+ "translation": "Numele tău",
+ "defaultMessage": "Your name",
+ "description": "Label for full name editing",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_your_permissions": {
+ "translation": "Permisiuniile tale:",
+ "defaultMessage": "Your permissions:",
+ "description": "Label for current user permissions",
+ "missing": false,
+ "obsolete": false
+ },
+ "last_seen_timestamp": {
+ "translation": "Văzut ultima dată",
+ "defaultMessage": "Last seen",
+ "description": "Label for the timestamp of when the user or topic was last online",
+ "missing": false,
+ "obsolete": false
+ },
+ "leave_chat_warning": {
+ "translation": "Ești sigur că dorești să ieși din conersație?",
+ "defaultMessage": "Are you sure you want to leave this conversation?",
+ "description": "Alert dialog warning when unsubscribing from a chat.",
+ "missing": false,
+ "obsolete": false
+ },
+ "link_contact_us": {
+ "translation": "Contactează-ne",
+ "defaultMessage": "Contact Us",
+ "description": "Ancor text for contacting us by email",
+ "missing": false,
+ "obsolete": false
+ },
+ "link_privacy_policy": {
+ "translation": "Politica de Confidențialitate",
+ "defaultMessage": "Privacy Policy",
+ "description": "Ancor text for privacy policy link",
+ "missing": false,
+ "obsolete": false
+ },
+ "link_terms_of_service": {
+ "translation": "Termenii Serviciului",
+ "defaultMessage": "Terms of Service",
+ "description": "Ancor text for terms of service link",
+ "missing": false,
+ "obsolete": false
+ },
+ "login_prompt": {
+ "translation": "Conectează-te",
+ "defaultMessage": "Login",
+ "description": "Placeholer for username/login",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_archive_topic": {
+ "translation": "Arhivează",
+ "defaultMessage": "Archive",
+ "description": "Move topic from the list of active chats to archive",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_block": {
+ "translation": "Blochează",
+ "defaultMessage": "Block",
+ "description": "Block topic or user",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_clear_messages": {
+ "translation": "Șterge mesajele",
+ "defaultMessage": "Clear messages",
+ "description": "Delete all messages",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_clear_messages_for_all": {
+ "translation": "Ștergele pe toate",
+ "defaultMessage": "Clear for All",
+ "description": "Delete all message(s) for all members",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_delete": {
+ "translation": "Șterge",
+ "defaultMessage": "Delete",
+ "description": "Delete selected messages",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_delete_for_all": {
+ "translation": "Ștergele pe toate",
+ "defaultMessage": "Delete for All",
+ "description": "Delete selected message(s) for all members",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_delete_topic": {
+ "translation": "Șterge",
+ "defaultMessage": "Delete",
+ "description": "Delete entire topic",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_edit_permissions": {
+ "translation": "Editează permisiuni",
+ "defaultMessage": "Edit permissions",
+ "description": "Menu item [Edit permissions]",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_info": {
+ "translation": "Info",
+ "defaultMessage": "Info",
+ "description": "Show extended topic information",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_member_delete": {
+ "translation": "Șterge persoană",
+ "defaultMessage": "Remove",
+ "description": "Remove user from topic",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_mute": {
+ "translation": "Mute",
+ "defaultMessage": "Mute",
+ "description": "Turn off notifications",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_restore_topic": {
+ "translation": "Restabili",
+ "defaultMessage": "Restore",
+ "description": "Restore topic from archive",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_send_retry": {
+ "translation": "Reîncearcă",
+ "defaultMessage": "Retry",
+ "description": "Retry sending message",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_unblock": {
+ "translation": "Deblochează",
+ "defaultMessage": "Unblock",
+ "description": "Unblock topic or user",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_unmute": {
+ "translation": "Unmute",
+ "defaultMessage": "Unmute",
+ "description": "Turn notifications on",
+ "missing": false,
+ "obsolete": false
+ },
+ "message_sending": {
+ "translation": "se trimite...",
+ "defaultMessage": "sending...",
+ "description": "Message being sent, in place of time stamp",
+ "missing": false,
+ "obsolete": false
+ },
+ "message_sending_failed": {
+ "translation": "eroare",
+ "defaultMessage": "failed",
+ "description": "Failed to send message, in place of time stamp",
+ "missing": false,
+ "obsolete": false
+ },
+ "messages_not_readable": {
+ "translation": "Mesajele nu pot fi citite",
+ "defaultMessage": "no access to messages",
+ "description": "Message shown in topic without the read access",
+ "missing": false,
+ "obsolete": false
+ },
+ "messaging_disabled_prompt": {
+ "translation": "Mesageria este dezactivată",
+ "defaultMessage": "Messaging disabled",
+ "description": "Prompt in SendMessage in read-only topic",
+ "missing": false,
+ "obsolete": false
+ },
+ "more_online_members": {
+ "translation": "+{overflow} mai mult",
+ "defaultMessage": "+{overflow} more",
+ "description": "Shown in MessagesView title bar when the number of online subscribers exceeds MAX_ONLINE_IN_TOPIC",
+ "missing": false,
+ "obsolete": false
+ },
+ "new_message_prompt": {
+ "translation": "Mesaj nou",
+ "defaultMessage": "New message",
+ "description": "Prompt in send message field",
+ "missing": false,
+ "obsolete": false
+ },
+ "new_password_placeholder": {
+ "translation": "Introdu parolă",
+ "defaultMessage": "Enter new password",
+ "description": "Placeholder for entering new password",
+ "missing": false,
+ "obsolete": false
+ },
+ "no_connection": {
+ "translation": "Nu există conexiune",
+ "defaultMessage": "No connection",
+ "description": "Warning that the user is offline.",
+ "missing": false,
+ "obsolete": false
+ },
+ "no_contacts": {
+ "translation": "Nu ai contacte adăugate :-(",
+ "defaultMessage": "You have no contacts :-(",
+ "description": "Shown in ContactsView when the user has no contacts",
+ "missing": false,
+ "obsolete": false
+ },
+ "numeric_confirmation_code_prompt": {
+ "translation": "Doar cifre",
+ "defaultMessage": "Numbers only",
+ "description": "Prompt for numeric conformation code",
+ "missing": false,
+ "obsolete": false
+ },
+ "online_now": {
+ "translation": "online acum",
+ "defaultMessage": "online now",
+ "description": "Indicator that the user or topic is currently online",
+ "missing": false,
+ "obsolete": false
+ },
+ "password_prompt": {
+ "translation": "Parola",
+ "defaultMessage": "Password",
+ "description": "Placeholder/prompt for entering password",
+ "missing": false,
+ "obsolete": false
+ },
+ "password_unchanged_prompt": {
+ "translation": "Neschimbată",
+ "defaultMessage": "Unchanged",
+ "description": "Message in editor while password is unchanged",
+ "missing": false,
+ "obsolete": false
+ },
+ "peers_messaging_disabled": {
+ "translation": "Mesageria de tip Peer este dezactivată.",
+ "defaultMessage": "Peer's messaging is disabled.",
+ "description": "Shown when the p2p peer's messaging is disabled",
+ "missing": false,
+ "obsolete": false
+ },
+ "permission_admin": {
+ "translation": "Aprobare ({val})",
+ "defaultMessage": "Approve ({val})",
+ "description": "Name of A permission",
+ "missing": false,
+ "obsolete": false
+ },
+ "permission_delete": {
+ "translation": "Ștergere ({val})",
+ "defaultMessage": "Delete ({val})",
+ "description": "Name of D permission",
+ "missing": false,
+ "obsolete": false
+ },
+ "permission_join": {
+ "translation": "Participare ({val})",
+ "defaultMessage": "Join ({val})",
+ "description": "Name of J permission",
+ "missing": false,
+ "obsolete": false
+ },
+ "permission_owner": {
+ "translation": "Deținător ({val})",
+ "defaultMessage": "Owner ({val})",
+ "description": "Name of O permission",
+ "missing": false,
+ "obsolete": false
+ },
+ "permission_pres": {
+ "translation": "Notificare ({val})",
+ "defaultMessage": "Get notified ({val})",
+ "description": "Name of P permission",
+ "missing": false,
+ "obsolete": false
+ },
+ "permission_read": {
+ "translation": "Citire ({val})",
+ "defaultMessage": "Read ({val})",
+ "description": "Name of R permission",
+ "missing": false,
+ "obsolete": false
+ },
+ "permission_share": {
+ "translation": "Distribuire ({val})",
+ "defaultMessage": "Share ({val})",
+ "description": "Name of S permission",
+ "missing": false,
+ "obsolete": false
+ },
+ "permission_write": {
+ "translation": "Scriere ({val})",
+ "defaultMessage": "Write ({val})",
+ "description": "Name of W permission",
+ "missing": false,
+ "obsolete": false
+ },
+ "phone_dative": {
+ "translation": "telefon",
+ "defaultMessage": "phone",
+ "description": "Dative case of 'phone', i.e. 'phone' in 'by phone'",
+ "missing": false,
+ "obsolete": false
+ },
+ "private_editing_placeholder": {
+ "translation": "Vizibil doar ție",
+ "defaultMessage": "Visible to you only",
+ "description": "Placeholder for editing 'private'",
+ "missing": false,
+ "obsolete": false
+ },
+ "push_init_failed": {
+ "translation": "Nu s-a reușit inițializarea tip push notifications",
+ "defaultMessage": "Failed to initialize push notifications",
+ "description": "Error message when push notifications have failed to initialize.",
+ "missing": false,
+ "obsolete": false
+ },
+ "reconnect_countdown": {
+ "translation": "Deconectat. Se încearcă conectarea în {seconds}…",
+ "defaultMessage": "Disconnected. Reconnecting in {seconds}…",
+ "description": "Message shown when an app update is available.",
+ "missing": false,
+ "obsolete": false
+ },
+ "reconnect_now": {
+ "translation": "Încearcă din nou",
+ "defaultMessage": "Try now",
+ "description": "Prompt for reconnecting now",
+ "missing": false,
+ "obsolete": false
+ },
+ "reload_update": {
+ "translation": "Reîncarcă",
+ "defaultMessage": "Reload",
+ "description": "Call to action to reload application when update is available.",
+ "missing": false,
+ "obsolete": false
+ },
+ "report_chat_warning": {
+ "translation": "Ești sigur că dorești să blochezi și să raportezi această conversație?",
+ "defaultMessage": "Are you sure you want to block and report this conversation?",
+ "description": "Alert dialog warning when reporting a conversation for abuse",
+ "missing": false,
+ "obsolete": false
+ },
+ "requested_permissions": {
+ "translation": "Necesare",
+ "defaultMessage": "Requested",
+ "description": "Title for permissions",
+ "missing": false,
+ "obsolete": false
+ },
+ "save_attachment": {
+ "translation": "salvează",
+ "defaultMessage": "save",
+ "description": "Call to save an attachment",
+ "missing": false,
+ "obsolete": false
+ },
+ "search_for_contacts": {
+ "translation": "Caută în contacte",
+ "defaultMessage": "Use search to find contacts",
+ "description": "Text shown in contacts view when user entered no search query.",
+ "missing": false,
+ "obsolete": false
+ },
+ "search_no_results": {
+ "translation": "Nu s-au găsit rezultate",
+ "defaultMessage": "Search returned no results",
+ "description": "Text shown in contacts view when query returned no results.",
+ "missing": false,
+ "obsolete": false
+ },
+ "search_placeholder": {
+ "translation": "Caută după e-mail sau număr telefon...",
+ "defaultMessage": "List like email:alice@example.com, tel:17025550003...",
+ "description": "Placeholder in contacts search field",
+ "missing": false,
+ "obsolete": false
+ },
+ "sidepanel_title_acc_notifications": {
+ "translation": "Notificări",
+ "defaultMessage": "Notifications",
+ "description": "Sidepanel title for AccNotificationsView.",
+ "missing": false,
+ "obsolete": false
+ },
+ "sidepanel_title_acc_support": {
+ "translation": "Ajutor",
+ "defaultMessage": "Support",
+ "description": "Sidepanel title for AccSupportView.",
+ "missing": false,
+ "obsolete": false
+ },
+ "sidepanel_title_account_settings": {
+ "translation": "Setările Contului",
+ "defaultMessage": "Account Settings",
+ "description": "Sidepanel title for AccountSettingsView.",
+ "missing": false,
+ "obsolete": false
+ },
+ "sidepanel_title_archive": {
+ "translation": "Conversații Arhivate",
+ "defaultMessage": "Archived Chats",
+ "description": "Sidepanel title for ContactsView-Archive.",
+ "missing": false,
+ "obsolete": false
+ },
+ "sidepanel_title_blocked": {
+ "translation": "Conversații Blocate",
+ "defaultMessage": "Blocked Chats",
+ "description": "Sidepanel title for ContactsView-Blocked.",
+ "missing": false,
+ "obsolete": false
+ },
+ "sidepanel_title_cred": {
+ "translation": "Confirmă credențiale",
+ "defaultMessage": "Confirm Credentials",
+ "description": "Sidepanel title for ValidationView.",
+ "missing": false,
+ "obsolete": false
+ },
+ "sidepanel_title_login": {
+ "translation": "Conectează-te",
+ "defaultMessage": "Sign In",
+ "description": "Sidepanel title for LoginView.",
+ "missing": false,
+ "obsolete": false
+ },
+ "sidepanel_title_newtpk": {
+ "translation": "Creeză un nou Chat",
+ "defaultMessage": "Start New Chat",
+ "description": "Sidepanel title for NewTopicView.",
+ "missing": false,
+ "obsolete": false
+ },
+ "sidepanel_title_register": {
+ "translation": "Creează Cont",
+ "defaultMessage": "Create Account",
+ "description": "Sidepanel title for CreateAccountView.",
+ "missing": false,
+ "obsolete": false
+ },
+ "sidepanel_title_reset": {
+ "translation": "Resetează Parola",
+ "defaultMessage": "Reset Password",
+ "description": "Sidepanel title for PasswordResetView.",
+ "missing": false,
+ "obsolete": false
+ },
+ "sidepanel_title_settings": {
+ "translation": "Setări",
+ "defaultMessage": "Settings",
+ "description": "Sidepanel title for SettingsView.",
+ "missing": false,
+ "obsolete": false
+ },
+ "stay_logged_in": {
+ "translation": "Rămâi conectat",
+ "defaultMessage": "Stay logged in",
+ "description": "Label for a checkbox",
+ "missing": false,
+ "obsolete": false
+ },
+ "tabtitle_find_user": {
+ "translation": "caută",
+ "defaultMessage": "find",
+ "description": "Tab title Find",
+ "missing": false,
+ "obsolete": false
+ },
+ "tabtitle_group_by_id": {
+ "translation": "după id",
+ "defaultMessage": "by id",
+ "description": "Tab title Find topic by ID",
+ "missing": false,
+ "obsolete": false
+ },
+ "tabtitle_new_group": {
+ "translation": "grup nou",
+ "defaultMessage": "new group",
+ "description": "Tab title New Group",
+ "missing": false,
+ "obsolete": false
+ },
+ "tags_editor_no_tags": {
+ "translation": "Adaugă tag-uri",
+ "defaultMessage": "Add some tags",
+ "description": "Tag editor prompt when no tags are found.",
+ "missing": false,
+ "obsolete": false
+ },
+ "tags_not_found": {
+ "translation": "Niciun tag definit. Adaugă.",
+ "defaultMessage": "No tags defined. Add some.",
+ "description": "",
+ "missing": false,
+ "obsolete": false
+ },
+ "title_all_contacts": {
+ "translation": "Toate Contactele",
+ "defaultMessage": "All Contacts",
+ "description": "Section title [All Contacts]",
+ "missing": false,
+ "obsolete": false
+ },
+ "title_group_members": {
+ "translation": "Persoanele din grup",
+ "defaultMessage": "Group Members",
+ "description": "Section title",
+ "missing": false,
+ "obsolete": false
+ },
+ "title_manage_tags": {
+ "translation": "Administrează",
+ "defaultMessage": "Manage",
+ "description": "Section title for the list of tags",
+ "missing": false,
+ "obsolete": false
+ },
+ "title_not_found": {
+ "translation": "Nu a fost găsit",
+ "defaultMessage": "Not found",
+ "description": "Title shown when topic is not found",
+ "missing": false,
+ "obsolete": false
+ },
+ "title_permissions": {
+ "translation": "Permisiuni",
+ "defaultMessage": "Permissions",
+ "description": "Section title",
+ "missing": false,
+ "obsolete": false
+ },
+ "title_tag_manager": {
+ "translation": "Tag-uri (user discovery)",
+ "defaultMessage": "Tags (search & discovery)",
+ "description": "Section title for TagManager",
+ "missing": false,
+ "obsolete": false
+ },
+ "topic_block_warning": {
+ "translation": "Ești sigur că dorești să blochezi această conversație?",
+ "defaultMessage": "Are you sure you want to block this conversation?",
+ "description": "Alert warning when blocking a topic.",
+ "missing": false,
+ "obsolete": false
+ },
+ "topic_delete_warning": {
+ "translation": "Ești sigur că dorești să șterge această conversație?",
+ "defaultMessage": "Are you sure you want to delete this conversation? It cannot be undone.",
+ "description": "Alert warning when deleting entire topic",
+ "missing": false,
+ "obsolete": false
+ },
+ "topic_name_editing_placeholder": {
+ "translation": "Numele grupului",
+ "defaultMessage": "Freeform name of the group",
+ "description": "Prompt for entering topic name",
+ "missing": false,
+ "obsolete": false
+ },
+ "unnamed_topic": {
+ "translation": "Nedenumit",
+ "defaultMessage": "Unnamed",
+ "description": "Title shown when the topic has no name",
+ "missing": false,
+ "obsolete": false
+ },
+ "update_available": {
+ "translation": "Actualizare disponibilă.",
+ "defaultMessage": "Update available.",
+ "description": "Message shown when an app update is available.",
+ "missing": false,
+ "obsolete": false
+ },
+ "upload_finishing": {
+ "translation": "se încarcă...",
+ "defaultMessage": "finishing...",
+ "description": "Notification that upload is finishing",
+ "missing": false,
+ "obsolete": false
+ },
+ "user_not_found": {
+ "translation": "Utilizatorul nu a fost găsit",
+ "defaultMessage": "Not found",
+ "description": "In place of a user's full name when the user is not found.",
+ "missing": false,
+ "obsolete": false
+ },
+ "validate_credential_action": {
+ "translation": "confirmă",
+ "defaultMessage": "confirm",
+ "description": "Validate credentail call to action",
+ "missing": false,
+ "obsolete": false
+ },
+ "description_editing_placeholder": {
+ "translation": "Descriere (opțional)",
+ "defaultMessage": "Description (optional)",
+ "description": "Placeholder for editing topic description",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_description": {
+ "translation": "Descriere",
+ "defaultMessage": "Description",
+ "description": "Label for editing topic description",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_security": {
+ "translation": "Securitate",
+ "defaultMessage": "Security",
+ "description": "Navigaton button for security panel.",
+ "missing": false,
+ "obsolete": false
+ },
+ "panel_title_crop": {
+ "translation": "Trageți pentru a ajusta",
+ "defaultMessage": "Drag to Adjust",
+ "description": "Title for AvatarCropView.",
+ "missing": false,
+ "obsolete": false
+ },
+ "panel_title_general": {
+ "translation": "Generale",
+ "defaultMessage": "General",
+ "description": "Title for TopicCommon.",
+ "missing": false,
+ "obsolete": false
+ },
+ "panel_title_members": {
+ "translation": "Membri",
+ "defaultMessage": "Members",
+ "description": "Title for managing group members view.",
+ "missing": false,
+ "obsolete": false
+ },
+ "panel_title_security": {
+ "translation": "Securitate",
+ "defaultMessage": "Security",
+ "description": "Title for TopicSecirity and AccSecurity.",
+ "missing": false,
+ "obsolete": false
+ },
+ "panel_title_info": {
+ "translation": "Info",
+ "defaultMessage": "Info",
+ "description": "Title for InfoView",
+ "missing": false,
+ "obsolete": false
+ },
+ "permissions_anonymous": {
+ "translation": "Anonim",
+ "defaultMessage": "Anonymous",
+ "description": "Title for editing default anonymous permissions",
+ "missing": false,
+ "obsolete": false
+ },
+ "permissions_authenticated": {
+ "translation": "Autentificat",
+ "defaultMessage": "Authenticated",
+ "description": "Title for editing default authenticated permissions",
+ "missing": false,
+ "obsolete": false
+ },
+ "topic_delete": {
+ "translation": "Ștergeți Chat",
+ "defaultMessage": "Delete Conversation",
+ "description": "Alert title when deleting the topic.",
+ "missing": false,
+ "obsolete": false
+ },
+ "permissions_user": {
+ "translation": "Permisiunile utilizatorului",
+ "defaultMessage": "User's Permissions",
+ "description": "Title for editing user's permissions",
+ "missing": false,
+ "obsolete": false
+ },
+ "password_reset_email_sent": {
+ "translation": "Un e-mail a fost trimis către {email}. Urmați instrucțiunile din e-mail pentru a vă reseta parola.",
+ "defaultMessage": "An email has been sent to {email}. Follow the directions in the email to reset your password.",
+ "description": "Notification that the email with password reset instructions has been sent",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_unarchive_topic": {
+ "translation": "Arhivat:",
+ "defaultMessage": "Archived:",
+ "description": "Label for unarchiving the topic",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_reply": {
+ "translation": "",
+ "defaultMessage": "Reply",
+ "description": "Reply to message",
+ "missing": true,
+ "obsolete": false
+ }
}
diff --git a/src/i18n/ru.json b/src/i18n/ru.json
index 76d0af26..79bda9b1 100644
--- a/src/i18n/ru.json
+++ b/src/i18n/ru.json
@@ -1,182 +1,1337 @@
{
- "contacts_not_found": "Чатов нет
¯∖_(ツ)_/¯",
- "full_name_prompt": "Полное имя, напр. Иван Петров",
- "email_prompt": "Email, напр. ivan@example.com",
- "button_sign_up": "Создать аккаунт",
- "label_your_name": "Ваше имя",
- "label_password": "Пароль",
- "password_unchanged_prompt": "Не изменен",
- "label_user_id": "ID:",
- "label_default_access_mode": "Доступ по умолчанию:",
- "label_message_sound": "Звук нового сообщения:",
- "label_push_notifications": "Уведомления:",
- "label_push_notifications_disabled": "Уведомления (требуют HTTPS):",
- "title_tag_manager": "Теги для поиска",
- "button_logout": "Выйти",
- "login_prompt": "Логин",
- "password_prompt": "Пароль",
- "stay_logged_in": "Запомнить",
- "forgot_password_link": "Напомнить пароль",
- "button_sign_in": "Войти",
- "label_client": "Клиент:",
- "label_server": "Сервер:",
- "online_now": "онлайн",
- "last_seen_timestamp": "Был активен",
- "title_not_found": "Не найден",
- "unnamed_topic": "Без названия",
- "messages_not_readable": "нет доступа к сообщениям",
- "tabtitle_find_user": "найти",
- "tabtitle_new_group": "создать",
- "tabtitle_group_by_id": "по id",
- "label_server_to_use": "Использовать сервер:",
- "label_wire_transport": "Соединение:",
- "button_update": "Применить",
- "sidepanel_title_login": "Авторизация",
- "sidepanel_title_register": "Зарегистрироваться",
- "sidepanel_title_settings": "Настройки",
- "sidepanel_title_account_settings": "Настройки аккаунта",
- "sidepanel_title_newtpk": "Новый чат",
- "sidepanel_title_cred": "Подтвердить",
- "sidepanel_title_reset": "Сменить пароль",
- "tags_not_found": "Тегов нет. Добавьте",
- "tags_editor_no_tags": "Добавьте теги",
- "title_manage_tags": "Редактировать",
- "message_sending": "в пути...",
- "message_sending_failed": "ошибка",
- "search_placeholder": "Список, напр. email:alice@example.com, tel:+17025550003...",
- "messaging_disabled_prompt": "Отправка недоступна",
- "new_message_prompt": "Новое сообщение",
- "file_attachment_too_large": "Размер файла {size} превышает {limit} лимит.",
- "cannot_initiate_file_upload": "Ошибка загрузки файла.",
- "search_for_contacts": "Поиск контактов",
- "enter_confirmation_code_prompt": "Код подтверждения, полученный по {method}:",
- "numeric_confirmation_code_prompt": "Только цифры",
- "button_confirm": "Подтвердить",
- "button_ok": "OK",
- "button_cancel": "Отменить",
- "invalid_content": "сообщение не читается",
- "label_file_name": "Имя файла:",
- "label_content_type": "Тип:",
- "label_size": "Размер:",
- "phone_dative": "телефону",
- "email_dative": "емейлу",
- "title_group_members": "Участники",
- "download_action": "скачать",
- "permission_join": "Подписываться ({val})",
- "permission_read": "Читать ({val})",
- "permission_write": "Писать ({val})",
- "permission_pres": "Уведомлять ({val})",
- "permission_admin": "Подтверждать ({val})",
- "permission_share": "Приглашать ({val})",
- "permission_delete": "Удалять ({val})",
- "permission_owner": "Владелец ({val})",
- "title_permissions": "Права доступа",
- "requested_permissions": "Требуются",
- "granted_permissions": "Получены",
- "menu_item_edit_permissions": "Права доступа",
- "label_other_user": "Второй",
- "label_topic_name": "Название",
- "label_private": "Комментарий",
- "private_editing_placeholder": "Виден только вам",
- "label_muting_topic": "Без уведомлений",
- "action_more": "Ещё",
- "label_your_permissions": "Ваши права доступа:",
- "label_permissions": "Права доступа:",
- "label_you": "Вы:",
- "label_default_access": "Права по умолчанию:",
- "label_group_members": "Участники чата:",
- "button_add_members": "Добавить",
- "group_has_no_members": "Нет участников",
- "action_leave_chat": "Уйти из чата",
- "menu_item_info": "Информация",
- "menu_item_clear_messages": "Удалить сообщения",
- "menu_item_clear_messages_for_all": "Удалить для всех",
- "menu_item_delete": "Удалить",
- "menu_item_delete_for_all": "Удалить для всех",
- "menu_item_send_retry": "Отправить заново",
- "menu_item_mute": "Не уведомлять",
- "menu_item_unmute": "Уведомлять",
- "menu_item_delete_topic": "Удалить чат",
- "menu_item_unblock": "Разблокировать",
- "menu_item_block": "Заблокировать",
- "menu_item_member_delete": "Отписать",
- "title_info": "Подробности",
- "new_password_placeholder": "Введите новый пароль",
- "label_reset_password": "Отправить емейл для смены пароля:",
- "credential_email_prompt": "Регистрационный емейл",
- "button_reset": "Изменить",
- "button_send_request": "Отправить",
- "action_cancel": "отменить",
- "upload_finishing": "завершение...",
- "no_contacts": "Ничего нет :-(",
- "contacts_not_found_short": "Нет контактов для запроса ''{query}''",
- "title_all_contacts": "Все контакты",
- "error_invalid_id": "Неверный ID",
- "group_user_id_prompt": "ID чата или пользователя",
- "button_subscribe": "Подписаться",
- "topic_name_editing_placeholder": "Название чата",
- "button_create": "Создать",
- "badge_you": "вы",
- "badge_owner": "влад.",
- "update_available": "Есть новая версия приложения.",
- "reload_update": "Обновить",
- "user_not_found": "Не найден",
- "reconnect_countdown": "Нет связи. Подключение через {seconds}…",
- "reconnect_now": "Подключить сейчас.",
- "save_attachment": "сохранить",
- "menu_item_archive_topic": "В архив",
- "archived_contacts": "Чаты в архиве ({count})",
- "sidepanel_title_archive": "Архив чатов",
- "chat_invitation": "Вас пригласили начать новый чат. Как вы хотите поступить?",
- "chat_invitation_accept": "Принять",
- "chat_invitation_ignore": "Игнорировать",
- "chat_invitation_block": "Заблокировать",
- "peers_messaging_disabled": "Чат заблокирован у корреспондента.",
- "enable_peers_messaging": "Разблокировать.",
- "more_online_members": "+еще {overflow}",
- "label_user_contacts": "Конакты:",
- "validate_credential_action": "подтвердить",
- "link_contact_us": "Связаться с нами",
- "link_terms_of_service": "Условия сервиса",
- "link_privacy_policy": "Политика конфиденциальности",
- "action_delete_messages": "Удалить сообщения",
- "action_block_contact": "Заблокировать контакт",
- "action_report_chat": "Сообщить о нарушении",
- "delete_messages_warning": "Вы действительно хотите удалить все сообщения?",
- "leave_chat_warning": "Вы действительно хотите покинуть этот чат?",
- "block_contact_warning": "Вы действительно заблокировать этот контакт?",
- "report_chat_warning": "Вы действительно хотите сообщить о нарушении и заблокировать этот чат?",
- "action_clear_messages": "Удалить сообщения",
- "clear_messages_warning": "Вы действительно хотите удалить все сообщения в чате? Их будет невозможно восстановить.",
- "topic_delete_warning": "Вы действительно хотите удалить этот чат?",
- "topic_block_warning": "Вы действительно хотите заблокировать этот чат?",
- "search_no_results": "Ничего не найдено",
- "deleted_content": "удалено",
- "image_caption_prompt": "Подпись к фото",
- "label_incognito_mode": "Режим инкогнито:",
- "delete_account": "Удалить аккаунт",
- "delete_account_arning": "Вы уверены, что ходите удалить свой аккаунт? Его невозможно будет восстановить.",
- "button_delete_account": "Удалить аккаунт",
- "sidepanel_title_acc_security": "Безопасность",
- "sidepanel_title_acc_notifications": "Уведомления",
- "sidepanel_title_acc_support": "Поддержка",
- "label_sdk": "SDK:",
- "label_server_address": "Адрес сервера:",
- "button_edit": "Редактировать",
- "button_add_another": "Добавить",
- "sidepanel_title_acc_general": "Общие настройки",
- "blocked_contacts_link": "Заблокированные ({count})",
- "sidepanel_title_blocked": "Заблокированные чаты",
- "push_init_failed": "Ошибка инициализации пуш уведомлений",
- "invalid_security_token": "Токен некорректен",
- "no_connection": "Нет связи",
- "code_doesnot_match": "Код не совпадает",
- "channel_prompt": "Создать канал",
- "channel": "канал",
- "drafty_attachment": "Аттачмент",
- "drafty_form": "Форма:",
- "drafty_image": "Картинка",
- "topic_delete": "Удалить чат",
- "password_reset_email_sent": "Сообщение было отправлено на адрес {email}. Следуйте инструкциям в сообщении, чтобы изменить пароль.",
- "menu_item_restore_topic": "Восстановить"
+ "action_block_contact": {
+ "translation": "Заблокировать контакт",
+ "defaultMessage": "Block Contact",
+ "description": "Flat button [Block Contact]",
+ "missing": false,
+ "obsolete": false
+ },
+ "action_cancel": {
+ "translation": "отменить",
+ "defaultMessage": "cancel",
+ "description": "Call to action [cancel]",
+ "missing": false,
+ "obsolete": false
+ },
+ "action_clear_messages": {
+ "translation": "Удалить сообщения",
+ "defaultMessage": "Clear Messages",
+ "description": "Flat button [Clear Messages] (soft-delete messages)",
+ "missing": false,
+ "obsolete": false
+ },
+ "action_delete_messages": {
+ "translation": "Удалить сообщения",
+ "defaultMessage": "Clear Messages for All",
+ "description": "Flat button [Clear for All] (hard-delete all messages)",
+ "missing": false,
+ "obsolete": false
+ },
+ "action_leave_chat": {
+ "translation": "Уйти из чата",
+ "defaultMessage": "Leave Conversation",
+ "description": "Flat button [Leave Conversation]",
+ "missing": false,
+ "obsolete": false
+ },
+ "action_report_chat": {
+ "translation": "Сообщить о нарушении",
+ "defaultMessage": "Report Conversation",
+ "description": "Flat button [Report Group]",
+ "missing": false,
+ "obsolete": false
+ },
+ "archived_contacts": {
+ "translation": "Чаты в архиве ({count})",
+ "defaultMessage": "Archived contacts ({count})",
+ "description": "Label for archived chats",
+ "missing": false,
+ "obsolete": false
+ },
+ "badge_danger": {
+ "translation": "Подозрительный",
+ "defaultMessage": "Untrustworthy",
+ "description": "Suspicious or untrustworthy account or topic badge",
+ "missing": false,
+ "obsolete": false
+ },
+ "badge_owner": {
+ "translation": "влад.",
+ "defaultMessage": "owner",
+ "description": "Badge for indicating the owner",
+ "missing": false,
+ "obsolete": false
+ },
+ "badge_staff": {
+ "translation": "Администрация",
+ "defaultMessage": "Staff-managed",
+ "description": "Explanation of a staff-managed account or topic badge",
+ "missing": false,
+ "obsolete": false
+ },
+ "badge_verified": {
+ "translation": "Верифицированный",
+ "defaultMessage": "Verified/official",
+ "description": "Explanation of a verified account or topic badge",
+ "missing": false,
+ "obsolete": false
+ },
+ "badge_you": {
+ "translation": "вы",
+ "defaultMessage": "you",
+ "description": "Badge for indicating the current user",
+ "missing": false,
+ "obsolete": false
+ },
+ "block_contact_warning": {
+ "translation": "Вы действительно заблокировать этот контакт?",
+ "defaultMessage": "Are you sure you want to block this contact?",
+ "description": "Alert dialog warning when blocking a contact.",
+ "missing": false,
+ "obsolete": false
+ },
+ "blocked_contacts_link": {
+ "translation": "Заблокированные ({count})",
+ "defaultMessage": "Blocked contacts ({count})",
+ "description": "Blocked contacts link",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_add_another": {
+ "translation": "Добавить",
+ "defaultMessage": "Add another",
+ "description": "Call to action [+ add another]",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_add_members": {
+ "translation": "Добавить",
+ "defaultMessage": "Add members",
+ "description": "Flat button [Add members] (to topic)",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_cancel": {
+ "translation": "Отменить",
+ "defaultMessage": "Cancel",
+ "description": "Button [Cancel]",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_confirm": {
+ "translation": "Подтвердить",
+ "defaultMessage": "Confirm",
+ "description": "Button [Confirm]",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_create": {
+ "translation": "Создать",
+ "defaultMessage": "Create",
+ "description": "Button [Create]",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_delete_account": {
+ "translation": "Удалить аккаунт",
+ "defaultMessage": "Delete account",
+ "description": "Button [Delete account]",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_edit": {
+ "translation": "Редактировать",
+ "defaultMessage": "Edit",
+ "description": "Call to action [Edit]",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_logout": {
+ "translation": "Выйти",
+ "defaultMessage": "Logout",
+ "description": "Button [Logout]",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_ok": {
+ "translation": "OK",
+ "defaultMessage": "OK",
+ "description": "Button [OK]",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_reset": {
+ "translation": "Изменить",
+ "defaultMessage": "Reset",
+ "description": "Button [Reset]",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_send_request": {
+ "translation": "Отправить",
+ "defaultMessage": "Send request",
+ "description": "Button [Send request]",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_sign_in": {
+ "translation": "Войти",
+ "defaultMessage": "Sign in",
+ "description": "Button [Sign In]",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_sign_up": {
+ "translation": "Создать аккаунт",
+ "defaultMessage": "Sign up",
+ "description": "Create account button [Sign Up]",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_subscribe": {
+ "translation": "Подписаться",
+ "defaultMessage": "Subscribe",
+ "description": "Button [Subscribe]",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_update": {
+ "translation": "Применить",
+ "defaultMessage": "Update",
+ "description": "Button [Update]",
+ "missing": false,
+ "obsolete": false
+ },
+ "cannot_initiate_file_upload": {
+ "translation": "Ошибка загрузки файла.",
+ "defaultMessage": "Cannot initiate file upload.",
+ "description": "Generic error messagewhen attachment fails",
+ "missing": false,
+ "obsolete": false
+ },
+ "channel": {
+ "translation": "канал",
+ "defaultMessage": "channel",
+ "description": "Subtitle shown for channels in MessagesView instead of last seen",
+ "missing": false,
+ "obsolete": false
+ },
+ "channel_prompt": {
+ "translation": "Создать канал",
+ "defaultMessage": "This is a channel",
+ "description": "Checkbox label when creating a channel",
+ "missing": false,
+ "obsolete": false
+ },
+ "chat_invitation": {
+ "translation": "Вас пригласили начать новый чат. Как вы хотите поступить?",
+ "defaultMessage": "You are invited to start a new chat. What would you like to do?",
+ "description": "New chat invitation message: [Accept] [Ignore] [Block].",
+ "missing": false,
+ "obsolete": false
+ },
+ "chat_invitation_accept": {
+ "translation": "Принять",
+ "defaultMessage": "Accept",
+ "description": "Action [Accept] for chat invitation.",
+ "missing": false,
+ "obsolete": false
+ },
+ "chat_invitation_block": {
+ "translation": "Заблокировать",
+ "defaultMessage": "Block",
+ "description": "Action [Block] for chat invitation.",
+ "missing": false,
+ "obsolete": false
+ },
+ "chat_invitation_ignore": {
+ "translation": "Игнорировать",
+ "defaultMessage": "Ignore",
+ "description": "Action [Ignore] for chat invitation.",
+ "missing": false,
+ "obsolete": false
+ },
+ "clear_messages_warning": {
+ "translation": "Вы действительно хотите удалить все сообщения в чате? Их будет невозможно восстановить.",
+ "defaultMessage": "Are you sure you want to clear all messages? It cannot be undone.",
+ "description": "Alert dialog warning when deleting all messages.",
+ "missing": false,
+ "obsolete": false
+ },
+ "code_doesnot_match": {
+ "translation": "Код не совпадает",
+ "defaultMessage": "Code does not match",
+ "description": "Error message when the credential validation code is incorrect.",
+ "missing": false,
+ "obsolete": false
+ },
+ "contacts_not_found": {
+ "translation": "Чатов нет
¯∖_(ツ)_/¯",
+ "defaultMessage": "You have no chats
¯∖_(ツ)_/¯",
+ "description": "HTML message shown in ContactList when no contacts are found",
+ "missing": false,
+ "obsolete": false
+ },
+ "contacts_not_found_short": {
+ "translation": "Нет контактов для запроса ''{query}''",
+ "defaultMessage": "No contacts match ''{query}''",
+ "description": "Shown in ContactsView when search returned no results",
+ "missing": false,
+ "obsolete": false
+ },
+ "credential_email_prompt": {
+ "translation": "Регистрационный емейл",
+ "defaultMessage": "Your registration email",
+ "description": "Placeholder for entering email",
+ "missing": false,
+ "obsolete": false
+ },
+ "delete_account": {
+ "translation": "Удалить аккаунт",
+ "defaultMessage": "Delete account",
+ "description": "Title for delete account warning",
+ "missing": false,
+ "obsolete": false
+ },
+ "delete_account_warning": {
+ "translation": "Вы уверены, что ходите удалить свой аккаунт? Его невозможно будет восстановить.",
+ "defaultMessage": "Are you sure you want to delete your account? It cannot be undone.",
+ "description": "Warning message when deleting an account",
+ "missing": false,
+ "obsolete": false
+ },
+ "delete_messages_warning": {
+ "translation": "Вы действительно хотите удалить все сообщения?",
+ "defaultMessage": "Are you sure you want to delete all messages for everyone? It cannot be undone.",
+ "description": "Alert dialog warning when hard-deleting all messages.",
+ "missing": false,
+ "obsolete": false
+ },
+ "deleted_content": {
+ "translation": "удалено",
+ "defaultMessage": "content deleted",
+ "description": "Shown when messages are deleted",
+ "missing": false,
+ "obsolete": false
+ },
+ "download_action": {
+ "translation": "скачать",
+ "defaultMessage": "download",
+ "description": "Call to action [download]",
+ "missing": false,
+ "obsolete": false
+ },
+ "drafty_attachment": {
+ "translation": "Аттачмент",
+ "defaultMessage": "Attachment",
+ "description": "Comment for attachment in drafty preview",
+ "missing": false,
+ "obsolete": false
+ },
+ "drafty_form": {
+ "translation": "Форма:",
+ "defaultMessage": "Form:",
+ "description": "Comment for form in drafty preview",
+ "missing": false,
+ "obsolete": false
+ },
+ "drafty_image": {
+ "translation": "Картинка",
+ "defaultMessage": "Picture",
+ "description": "Comment for embedded images in drafty preview",
+ "missing": false,
+ "obsolete": false
+ },
+ "email_dative": {
+ "translation": "емейлу",
+ "defaultMessage": "email",
+ "description": "Dative case of 'email', i.e. 'email' in 'by email'",
+ "missing": false,
+ "obsolete": false
+ },
+ "email_prompt": {
+ "translation": "Email, напр. ivan@example.com",
+ "defaultMessage": "Email, e.g. jdoe@example.com",
+ "description": "Input placeholder for email entry",
+ "missing": false,
+ "obsolete": false
+ },
+ "enable_peers_messaging": {
+ "translation": "Разблокировать.",
+ "defaultMessage": "Enable",
+ "description": "Call to action to enable peer's messaging",
+ "missing": false,
+ "obsolete": false
+ },
+ "enter_confirmation_code_prompt": {
+ "translation": "Код подтверждения, полученный по {method}:",
+ "defaultMessage": "Enter confirmation code sent to you by {method}:",
+ "description": "Request to enter confirmation code",
+ "missing": false,
+ "obsolete": false
+ },
+ "error_invalid_id": {
+ "translation": "Неверный ID",
+ "defaultMessage": "Invalid ID",
+ "description": "Error message",
+ "missing": false,
+ "obsolete": false
+ },
+ "file_attachment_too_large": {
+ "translation": "Размер файла {size} превышает {limit} лимит.",
+ "defaultMessage": "The file size {size} exceeds the {limit} limit.",
+ "description": "Error message when attachment is too large",
+ "missing": false,
+ "obsolete": false
+ },
+ "forgot_password_link": {
+ "translation": "Напомнить пароль",
+ "defaultMessage": "Forgot password?",
+ "description": "Link to Reset password form",
+ "missing": false,
+ "obsolete": false
+ },
+ "full_name_prompt": {
+ "translation": "Полное имя, напр. Иван Петров",
+ "defaultMessage": "Full name, e.g. John Doe",
+ "description": "Input placeholder for person's full name",
+ "missing": false,
+ "obsolete": false
+ },
+ "granted_permissions": {
+ "translation": "Получены",
+ "defaultMessage": "Granted",
+ "description": "Title for permissions",
+ "missing": false,
+ "obsolete": false
+ },
+ "group_has_no_members": {
+ "translation": "Нет участников",
+ "defaultMessage": "No members",
+ "description": "Shown in place of group members",
+ "missing": false,
+ "obsolete": false
+ },
+ "group_user_id_prompt": {
+ "translation": "ID чата или пользователя",
+ "defaultMessage": "Group or User ID",
+ "description": "Prompt for entering user or group ID",
+ "missing": false,
+ "obsolete": false
+ },
+ "image_caption_prompt": {
+ "translation": "Подпись к фото",
+ "defaultMessage": "Image caption",
+ "description": "Prompt in SendMessage for attached image",
+ "missing": false,
+ "obsolete": false
+ },
+ "invalid_content": {
+ "translation": "сообщение не читается",
+ "defaultMessage": "invalid content",
+ "description": "Shown when message is unreadable",
+ "missing": false,
+ "obsolete": false
+ },
+ "invalid_security_token": {
+ "translation": "Токен некорректен",
+ "defaultMessage": "Invalid security token",
+ "description": "Error message when resetting password.",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_client": {
+ "translation": "Клиент:",
+ "defaultMessage": "Client:",
+ "description": "Label for a client version",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_content_type": {
+ "translation": "Тип:",
+ "defaultMessage": "Content type:",
+ "description": "Label for file content type (mime)",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_default_access_mode": {
+ "translation": "Доступ по умолчанию:",
+ "defaultMessage": "Default access mode:",
+ "description": "Label for default access mode",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_file_name": {
+ "translation": "Имя файла:",
+ "defaultMessage": "File name:",
+ "description": "Label for a file name",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_group_members": {
+ "translation": "Участники чата:",
+ "defaultMessage": "Group members:",
+ "description": "Section title or label",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_incognito_mode": {
+ "translation": "Режим инкогнито:",
+ "defaultMessage": "Incognito mode:",
+ "description": "Label for incognito mode toggle",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_message_sound": {
+ "translation": "Звук нового сообщения:",
+ "defaultMessage": "Message sound:",
+ "description": "Label for message sounds toggle",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_muting_topic": {
+ "translation": "Без уведомлений",
+ "defaultMessage": "Muted:",
+ "description": "Label for Muting/unmuting the topic",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_other_user": {
+ "translation": "Второй",
+ "defaultMessage": "Other",
+ "description": "Label for the other user when the user is unnamed",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_password": {
+ "translation": "Пароль",
+ "defaultMessage": "Password",
+ "description": "Label for password editing",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_permissions": {
+ "translation": "Права доступа:",
+ "defaultMessage": "Permissions:",
+ "description": "Section title",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_private": {
+ "translation": "Комментарий",
+ "defaultMessage": "Private comment",
+ "description": "Label for editing 'private'",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_push_notifications": {
+ "translation": "Уведомления:",
+ "defaultMessage": "Notification alerts:",
+ "description": "Label for push notifications switch",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_push_notifications_disabled": {
+ "translation": "Уведомления (требуют HTTPS):",
+ "defaultMessage": "Notification alerts (requires HTTPS):",
+ "description": "Label for push notifications switch",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_reset_password": {
+ "translation": "Отправить емейл для смены пароля:",
+ "defaultMessage": "Send a password reset email:",
+ "description": "Label for password reset field",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_sdk": {
+ "translation": "SDK:",
+ "defaultMessage": "SDK:",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_server": {
+ "translation": "Сервер:",
+ "defaultMessage": "Server:",
+ "description": "Label for a server version",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_server_address": {
+ "translation": "Адрес сервера:",
+ "defaultMessage": "Server address:",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_server_to_use": {
+ "translation": "Использовать сервер:",
+ "defaultMessage": "Server to use:",
+ "description": "Label for server selector in SettingsView",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_size": {
+ "translation": "Размер:",
+ "defaultMessage": "Size:",
+ "description": "Label for file size",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_topic_name": {
+ "translation": "Название",
+ "defaultMessage": "Name",
+ "description": "Label for editing topic name",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_user_contacts": {
+ "translation": "Конакты:",
+ "defaultMessage": "Contacts:",
+ "description": "Label for user contacts",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_user_id": {
+ "translation": "ID:",
+ "defaultMessage": "ID:",
+ "description": "Label for user address (ID)",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_wire_transport": {
+ "translation": "Соединение:",
+ "defaultMessage": "Wire transport:",
+ "description": "Label for wire transport selection in SettingsView",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_you": {
+ "translation": "Вы:",
+ "defaultMessage": "You:",
+ "description": "Label for the current user",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_your_name": {
+ "translation": "Ваше имя",
+ "defaultMessage": "Your name",
+ "description": "Label for full name editing",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_your_permissions": {
+ "translation": "Ваши права доступа:",
+ "defaultMessage": "Your permissions:",
+ "description": "Label for current user permissions",
+ "missing": false,
+ "obsolete": false
+ },
+ "last_seen_timestamp": {
+ "translation": "Был активен",
+ "defaultMessage": "Last seen",
+ "description": "Label for the timestamp of when the user or topic was last online",
+ "missing": false,
+ "obsolete": false
+ },
+ "leave_chat_warning": {
+ "translation": "Вы действительно хотите покинуть этот чат?",
+ "defaultMessage": "Are you sure you want to leave this conversation?",
+ "description": "Alert dialog warning when unsubscribing from a chat.",
+ "missing": false,
+ "obsolete": false
+ },
+ "link_contact_us": {
+ "translation": "Связаться с нами",
+ "defaultMessage": "Contact Us",
+ "description": "Ancor text for contacting us by email",
+ "missing": false,
+ "obsolete": false
+ },
+ "link_privacy_policy": {
+ "translation": "Политика конфиденциальности",
+ "defaultMessage": "Privacy Policy",
+ "description": "Ancor text for privacy policy link",
+ "missing": false,
+ "obsolete": false
+ },
+ "link_terms_of_service": {
+ "translation": "Условия сервиса",
+ "defaultMessage": "Terms of Service",
+ "description": "Ancor text for terms of service link",
+ "missing": false,
+ "obsolete": false
+ },
+ "login_prompt": {
+ "translation": "Логин",
+ "defaultMessage": "Login",
+ "description": "Placeholer for username/login",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_archive_topic": {
+ "translation": "В архив",
+ "defaultMessage": "Archive",
+ "description": "Move topic from the list of active chats to archive",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_block": {
+ "translation": "Заблокировать",
+ "defaultMessage": "Block",
+ "description": "Block topic or user",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_clear_messages": {
+ "translation": "Удалить сообщения",
+ "defaultMessage": "Clear messages",
+ "description": "Delete all messages",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_clear_messages_for_all": {
+ "translation": "Удалить для всех",
+ "defaultMessage": "Clear for All",
+ "description": "Delete all message(s) for all members",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_delete": {
+ "translation": "Удалить",
+ "defaultMessage": "Delete",
+ "description": "Delete selected messages",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_delete_for_all": {
+ "translation": "Удалить для всех",
+ "defaultMessage": "Delete for All",
+ "description": "Delete selected message(s) for all members",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_delete_topic": {
+ "translation": "Удалить чат",
+ "defaultMessage": "Delete",
+ "description": "Delete entire topic",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_edit_permissions": {
+ "translation": "Права доступа",
+ "defaultMessage": "Edit permissions",
+ "description": "Menu item [Edit permissions]",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_info": {
+ "translation": "Информация",
+ "defaultMessage": "Info",
+ "description": "Show extended topic information",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_member_delete": {
+ "translation": "Отписать",
+ "defaultMessage": "Remove",
+ "description": "Remove user from topic",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_mute": {
+ "translation": "Не уведомлять",
+ "defaultMessage": "Mute",
+ "description": "Turn off notifications",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_restore_topic": {
+ "translation": "Разархивировать",
+ "defaultMessage": "Restore",
+ "description": "Restore topic from archive",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_send_retry": {
+ "translation": "Отправить заново",
+ "defaultMessage": "Retry",
+ "description": "Retry sending message",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_unblock": {
+ "translation": "Разблокировать",
+ "defaultMessage": "Unblock",
+ "description": "Unblock topic or user",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_unmute": {
+ "translation": "Уведомлять",
+ "defaultMessage": "Unmute",
+ "description": "Turn notifications on",
+ "missing": false,
+ "obsolete": false
+ },
+ "message_sending": {
+ "translation": "в пути...",
+ "defaultMessage": "sending...",
+ "description": "Message being sent, in place of time stamp",
+ "missing": false,
+ "obsolete": false
+ },
+ "message_sending_failed": {
+ "translation": "ошибка",
+ "defaultMessage": "failed",
+ "description": "Failed to send message, in place of time stamp",
+ "missing": false,
+ "obsolete": false
+ },
+ "messages_not_readable": {
+ "translation": "нет доступа к сообщениям",
+ "defaultMessage": "no access to messages",
+ "description": "Message shown in topic without the read access",
+ "missing": false,
+ "obsolete": false
+ },
+ "messaging_disabled_prompt": {
+ "translation": "Отправка недоступна",
+ "defaultMessage": "Messaging disabled",
+ "description": "Prompt in SendMessage in read-only topic",
+ "missing": false,
+ "obsolete": false
+ },
+ "more_online_members": {
+ "translation": "+еще {overflow}",
+ "defaultMessage": "+{overflow} more",
+ "description": "Shown in MessagesView title bar when the number of online subscribers exceeds MAX_ONLINE_IN_TOPIC",
+ "missing": false,
+ "obsolete": false
+ },
+ "new_message_prompt": {
+ "translation": "Новое сообщение",
+ "defaultMessage": "New message",
+ "description": "Prompt in send message field",
+ "missing": false,
+ "obsolete": false
+ },
+ "new_password_placeholder": {
+ "translation": "Введите новый пароль",
+ "defaultMessage": "Enter new password",
+ "description": "Placeholder for entering new password",
+ "missing": false,
+ "obsolete": false
+ },
+ "no_connection": {
+ "translation": "Нет связи",
+ "defaultMessage": "No connection",
+ "description": "Warning that the user is offline.",
+ "missing": false,
+ "obsolete": false
+ },
+ "no_contacts": {
+ "translation": "Ничего нет :-(",
+ "defaultMessage": "You have no contacts :-(",
+ "description": "Shown in ContactsView when the user has no contacts",
+ "missing": false,
+ "obsolete": false
+ },
+ "numeric_confirmation_code_prompt": {
+ "translation": "Только цифры",
+ "defaultMessage": "Numbers only",
+ "description": "Prompt for numeric conformation code",
+ "missing": false,
+ "obsolete": false
+ },
+ "online_now": {
+ "translation": "онлайн",
+ "defaultMessage": "online now",
+ "description": "Indicator that the user or topic is currently online",
+ "missing": false,
+ "obsolete": false
+ },
+ "password_prompt": {
+ "translation": "Пароль",
+ "defaultMessage": "Password",
+ "description": "Placeholder/prompt for entering password",
+ "missing": false,
+ "obsolete": false
+ },
+ "password_unchanged_prompt": {
+ "translation": "Не изменен",
+ "defaultMessage": "Unchanged",
+ "description": "Message in editor while password is unchanged",
+ "missing": false,
+ "obsolete": false
+ },
+ "peers_messaging_disabled": {
+ "translation": "Чат заблокирован у корреспондента.",
+ "defaultMessage": "Peer's messaging is disabled.",
+ "description": "Shown when the p2p peer's messaging is disabled",
+ "missing": false,
+ "obsolete": false
+ },
+ "permission_admin": {
+ "translation": "Подтверждать ({val})",
+ "defaultMessage": "Approve ({val})",
+ "description": "Name of A permission",
+ "missing": false,
+ "obsolete": false
+ },
+ "permission_delete": {
+ "translation": "Удалять ({val})",
+ "defaultMessage": "Delete ({val})",
+ "description": "Name of D permission",
+ "missing": false,
+ "obsolete": false
+ },
+ "permission_join": {
+ "translation": "Подписываться ({val})",
+ "defaultMessage": "Join ({val})",
+ "description": "Name of J permission",
+ "missing": false,
+ "obsolete": false
+ },
+ "permission_owner": {
+ "translation": "Владелец ({val})",
+ "defaultMessage": "Owner ({val})",
+ "description": "Name of O permission",
+ "missing": false,
+ "obsolete": false
+ },
+ "permission_pres": {
+ "translation": "Уведомлять ({val})",
+ "defaultMessage": "Get notified ({val})",
+ "description": "Name of P permission",
+ "missing": false,
+ "obsolete": false
+ },
+ "permission_read": {
+ "translation": "Читать ({val})",
+ "defaultMessage": "Read ({val})",
+ "description": "Name of R permission",
+ "missing": false,
+ "obsolete": false
+ },
+ "permission_share": {
+ "translation": "Приглашать ({val})",
+ "defaultMessage": "Share ({val})",
+ "description": "Name of S permission",
+ "missing": false,
+ "obsolete": false
+ },
+ "permission_write": {
+ "translation": "Писать ({val})",
+ "defaultMessage": "Write ({val})",
+ "description": "Name of W permission",
+ "missing": false,
+ "obsolete": false
+ },
+ "phone_dative": {
+ "translation": "телефону",
+ "defaultMessage": "phone",
+ "description": "Dative case of 'phone', i.e. 'phone' in 'by phone'",
+ "missing": false,
+ "obsolete": false
+ },
+ "private_editing_placeholder": {
+ "translation": "Виден только вам",
+ "defaultMessage": "Visible to you only",
+ "description": "Placeholder for editing 'private'",
+ "missing": false,
+ "obsolete": false
+ },
+ "push_init_failed": {
+ "translation": "Ошибка инициализации пуш уведомлений",
+ "defaultMessage": "Failed to initialize push notifications",
+ "description": "Error message when push notifications have failed to initialize.",
+ "missing": false,
+ "obsolete": false
+ },
+ "reconnect_countdown": {
+ "translation": "Нет связи. Подключение через {seconds}…",
+ "defaultMessage": "Disconnected. Reconnecting in {seconds}…",
+ "description": "Message shown when an app update is available.",
+ "missing": false,
+ "obsolete": false
+ },
+ "reconnect_now": {
+ "translation": "Подключить сейчас.",
+ "defaultMessage": "Try now",
+ "description": "Prompt for reconnecting now",
+ "missing": false,
+ "obsolete": false
+ },
+ "reload_update": {
+ "translation": "Обновить",
+ "defaultMessage": "Reload",
+ "description": "Call to action to reload application when update is available.",
+ "missing": false,
+ "obsolete": false
+ },
+ "report_chat_warning": {
+ "translation": "Вы действительно хотите сообщить о нарушении и заблокировать этот чат?",
+ "defaultMessage": "Are you sure you want to block and report this conversation?",
+ "description": "Alert dialog warning when reporting a conversation for abuse",
+ "missing": false,
+ "obsolete": false
+ },
+ "requested_permissions": {
+ "translation": "Требуются",
+ "defaultMessage": "Requested",
+ "description": "Title for permissions",
+ "missing": false,
+ "obsolete": false
+ },
+ "save_attachment": {
+ "translation": "сохранить",
+ "defaultMessage": "save",
+ "description": "Call to save an attachment",
+ "missing": false,
+ "obsolete": false
+ },
+ "search_for_contacts": {
+ "translation": "Поиск контактов",
+ "defaultMessage": "Use search to find contacts",
+ "description": "Text shown in contacts view when user entered no search query.",
+ "missing": false,
+ "obsolete": false
+ },
+ "search_no_results": {
+ "translation": "Ничего не найдено",
+ "defaultMessage": "Search returned no results",
+ "description": "Text shown in contacts view when query returned no results.",
+ "missing": false,
+ "obsolete": false
+ },
+ "search_placeholder": {
+ "translation": "Список, напр. email:alice@example.com, tel:+17025550003...",
+ "defaultMessage": "List like email:alice@example.com, tel:17025550003...",
+ "description": "Placeholder in contacts search field",
+ "missing": false,
+ "obsolete": false
+ },
+ "sidepanel_title_acc_notifications": {
+ "translation": "Уведомления",
+ "defaultMessage": "Notifications",
+ "description": "Sidepanel title for AccNotificationsView.",
+ "missing": false,
+ "obsolete": false
+ },
+ "sidepanel_title_acc_support": {
+ "translation": "Поддержка",
+ "defaultMessage": "Support",
+ "description": "Sidepanel title for AccSupportView.",
+ "missing": false,
+ "obsolete": false
+ },
+ "sidepanel_title_account_settings": {
+ "translation": "Настройки аккаунта",
+ "defaultMessage": "Account Settings",
+ "description": "Sidepanel title for AccountSettingsView.",
+ "missing": false,
+ "obsolete": false
+ },
+ "sidepanel_title_archive": {
+ "translation": "Архив чатов",
+ "defaultMessage": "Archived Chats",
+ "description": "Sidepanel title for ContactsView-Archive.",
+ "missing": false,
+ "obsolete": false
+ },
+ "sidepanel_title_blocked": {
+ "translation": "Заблокированные чаты",
+ "defaultMessage": "Blocked Chats",
+ "description": "Sidepanel title for ContactsView-Blocked.",
+ "missing": false,
+ "obsolete": false
+ },
+ "sidepanel_title_cred": {
+ "translation": "Подтвердить",
+ "defaultMessage": "Confirm Credentials",
+ "description": "Sidepanel title for ValidationView.",
+ "missing": false,
+ "obsolete": false
+ },
+ "sidepanel_title_login": {
+ "translation": "Авторизация",
+ "defaultMessage": "Sign In",
+ "description": "Sidepanel title for LoginView.",
+ "missing": false,
+ "obsolete": false
+ },
+ "sidepanel_title_newtpk": {
+ "translation": "Новый чат",
+ "defaultMessage": "Start New Chat",
+ "description": "Sidepanel title for NewTopicView.",
+ "missing": false,
+ "obsolete": false
+ },
+ "sidepanel_title_register": {
+ "translation": "Зарегистрироваться",
+ "defaultMessage": "Create Account",
+ "description": "Sidepanel title for CreateAccountView.",
+ "missing": false,
+ "obsolete": false
+ },
+ "sidepanel_title_reset": {
+ "translation": "Сменить пароль",
+ "defaultMessage": "Reset Password",
+ "description": "Sidepanel title for PasswordResetView.",
+ "missing": false,
+ "obsolete": false
+ },
+ "sidepanel_title_settings": {
+ "translation": "Настройки",
+ "defaultMessage": "Settings",
+ "description": "Sidepanel title for SettingsView.",
+ "missing": false,
+ "obsolete": false
+ },
+ "stay_logged_in": {
+ "translation": "Запомнить",
+ "defaultMessage": "Stay logged in",
+ "description": "Label for a checkbox",
+ "missing": false,
+ "obsolete": false
+ },
+ "tabtitle_find_user": {
+ "translation": "найти",
+ "defaultMessage": "find",
+ "description": "Tab title Find",
+ "missing": false,
+ "obsolete": false
+ },
+ "tabtitle_group_by_id": {
+ "translation": "по id",
+ "defaultMessage": "by id",
+ "description": "Tab title Find topic by ID",
+ "missing": false,
+ "obsolete": false
+ },
+ "tabtitle_new_group": {
+ "translation": "создать",
+ "defaultMessage": "new group",
+ "description": "Tab title New Group",
+ "missing": false,
+ "obsolete": false
+ },
+ "tags_editor_no_tags": {
+ "translation": "Добавьте теги",
+ "defaultMessage": "Add some tags",
+ "description": "Tag editor prompt when no tags are found.",
+ "missing": false,
+ "obsolete": false
+ },
+ "tags_not_found": {
+ "translation": "Тегов нет. Добавьте",
+ "defaultMessage": "No tags defined. Add some.",
+ "description": "",
+ "missing": false,
+ "obsolete": false
+ },
+ "title_all_contacts": {
+ "translation": "Все контакты",
+ "defaultMessage": "All Contacts",
+ "description": "Section title [All Contacts]",
+ "missing": false,
+ "obsolete": false
+ },
+ "title_group_members": {
+ "translation": "Участники",
+ "defaultMessage": "Group Members",
+ "description": "Section title",
+ "missing": false,
+ "obsolete": false
+ },
+ "title_manage_tags": {
+ "translation": "Редактировать",
+ "defaultMessage": "Manage",
+ "description": "Section title for the list of tags",
+ "missing": false,
+ "obsolete": false
+ },
+ "title_not_found": {
+ "translation": "Не найден",
+ "defaultMessage": "Not found",
+ "description": "Title shown when topic is not found",
+ "missing": false,
+ "obsolete": false
+ },
+ "title_permissions": {
+ "translation": "Права доступа",
+ "defaultMessage": "Permissions",
+ "description": "Section title",
+ "missing": false,
+ "obsolete": false
+ },
+ "title_tag_manager": {
+ "translation": "Теги для поиска",
+ "defaultMessage": "Tags (search & discovery)",
+ "description": "Section title for TagManager",
+ "missing": false,
+ "obsolete": false
+ },
+ "topic_block_warning": {
+ "translation": "Вы действительно хотите заблокировать этот чат?",
+ "defaultMessage": "Are you sure you want to block this conversation?",
+ "description": "Alert warning when blocking a topic.",
+ "missing": false,
+ "obsolete": false
+ },
+ "topic_delete_warning": {
+ "translation": "Вы действительно хотите удалить этот чат?",
+ "defaultMessage": "Are you sure you want to delete this conversation? It cannot be undone.",
+ "description": "Alert warning when deleting entire topic",
+ "missing": false,
+ "obsolete": false
+ },
+ "topic_name_editing_placeholder": {
+ "translation": "Название чата",
+ "defaultMessage": "Freeform name of the group",
+ "description": "Prompt for entering topic name",
+ "missing": false,
+ "obsolete": false
+ },
+ "unnamed_topic": {
+ "translation": "Без названия",
+ "defaultMessage": "Unnamed",
+ "description": "Title shown when the topic has no name",
+ "missing": false,
+ "obsolete": false
+ },
+ "update_available": {
+ "translation": "Есть новая версия приложения.",
+ "defaultMessage": "Update available.",
+ "description": "Message shown when an app update is available.",
+ "missing": false,
+ "obsolete": false
+ },
+ "upload_finishing": {
+ "translation": "завершение...",
+ "defaultMessage": "finishing...",
+ "description": "Notification that upload is finishing",
+ "missing": false,
+ "obsolete": false
+ },
+ "user_not_found": {
+ "translation": "Не найден",
+ "defaultMessage": "Not found",
+ "description": "In place of a user's full name when the user is not found.",
+ "missing": false,
+ "obsolete": false
+ },
+ "validate_credential_action": {
+ "translation": "подтвердить",
+ "defaultMessage": "confirm",
+ "description": "Validate credentail call to action",
+ "missing": false,
+ "obsolete": false
+ },
+ "description_editing_placeholder": {
+ "translation": "Описание (не обязательно)",
+ "defaultMessage": "Description (optional)",
+ "description": "Placeholder for editing topic description",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_description": {
+ "translation": "Описание",
+ "defaultMessage": "Description",
+ "description": "Label for editing topic description",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_security": {
+ "translation": "Безопасность",
+ "defaultMessage": "Security",
+ "description": "Navigaton button for security panel.",
+ "missing": false,
+ "obsolete": false
+ },
+ "panel_title_crop": {
+ "translation": "Обрезать картинку",
+ "defaultMessage": "Drag to Adjust",
+ "description": "Title for AvatarCropView.",
+ "missing": false,
+ "obsolete": false
+ },
+ "panel_title_general": {
+ "translation": "Общие настройки",
+ "defaultMessage": "General",
+ "description": "Title for TopicCommon.",
+ "missing": false,
+ "obsolete": false
+ },
+ "panel_title_members": {
+ "translation": "Участники",
+ "defaultMessage": "Members",
+ "description": "Title for managing group members view.",
+ "missing": false,
+ "obsolete": false
+ },
+ "panel_title_security": {
+ "translation": "Безопасность",
+ "defaultMessage": "Security",
+ "description": "Title for TopicSecirity and AccSecurity.",
+ "missing": false,
+ "obsolete": false
+ },
+ "panel_title_info": {
+ "translation": "Подробности",
+ "defaultMessage": "Info",
+ "description": "Title for InfoView",
+ "missing": false,
+ "obsolete": false
+ },
+ "permissions_anonymous": {
+ "translation": "Анонимный",
+ "defaultMessage": "Anonymous",
+ "description": "Title for editing default anonymous permissions",
+ "missing": false,
+ "obsolete": false
+ },
+ "permissions_authenticated": {
+ "translation": "Авторизованный",
+ "defaultMessage": "Authenticated",
+ "description": "Title for editing default authenticated permissions",
+ "missing": false,
+ "obsolete": false
+ },
+ "topic_delete": {
+ "translation": "Удалить чат",
+ "defaultMessage": "Delete Conversation",
+ "description": "Alert title when deleting the topic.",
+ "missing": false,
+ "obsolete": false
+ },
+ "permissions_user": {
+ "translation": "Права доступа",
+ "defaultMessage": "User's Permissions",
+ "description": "Title for editing user's permissions",
+ "missing": false,
+ "obsolete": false
+ },
+ "password_reset_email_sent": {
+ "translation": "Сообщение было отправлено на адрес {email}. Следуйте инструкциям в сообщении, чтобы изменить пароль.",
+ "defaultMessage": "An email has been sent to {email}. Follow the directions in the email to reset your password.",
+ "description": "Notification that the email with password reset instructions has been sent",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_unarchive_topic": {
+ "translation": "Архивирован:",
+ "defaultMessage": "Archived:",
+ "description": "Label for unarchiving the topic",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_reply": {
+ "translation": "",
+ "defaultMessage": "Reply",
+ "description": "Reply to message",
+ "missing": true,
+ "obsolete": false
+ }
}
diff --git a/src/i18n/zh-TW.json b/src/i18n/zh-TW.json
index 62a9d846..5fd032ca 100644
--- a/src/i18n/zh-TW.json
+++ b/src/i18n/zh-TW.json
@@ -1,182 +1,1337 @@
{
- "action_block_contact": "封鎖聯絡人",
- "action_cancel": "取消",
- "action_clear_messages": "清除訊息",
- "action_delete_messages": "為所有人清除訊息",
- "action_leave_chat": "離開對話",
- "action_more": "更多",
- "action_report_chat": "檢舉對話",
- "archived_contacts": "已封存的聯絡人 ({count})",
- "badge_owner": "擁有者",
- "badge_you": "您",
- "block_contact_warning": "您確定要封鎖此聯絡人嗎?",
- "blocked_contacts_link": "已封鎖的聯絡人 ({count})",
- "button_add_another": "新增其他人",
- "button_add_members": "新增成員",
- "button_cancel": "取消",
- "button_confirm": "確認",
- "button_create": "建立",
- "button_delete_account": "刪除帳號",
- "button_edit": "編輯",
- "button_logout": "登出",
- "button_ok": "OK",
- "button_reset": "重設",
- "button_send_request": "傳送要求",
- "button_sign_in": "登入",
- "button_sign_up": "註冊",
- "button_subscribe": "訂閱",
- "button_update": "更新",
- "cannot_initiate_file_upload": "無法為檔案上傳初始化。",
- "channel": "頻道",
- "channel_prompt": "這是頻道",
- "chat_invitation": "您已被邀請開始新對話。您接下來要做什麼呢?",
- "chat_invitation_accept": "接受",
- "chat_invitation_block": "封鎖",
- "chat_invitation_ignore": "忽略",
- "clear_messages_warning": "您確定要清除所有訊息嗎?此操作無法復原。",
- "code_doesnot_match": "代碼不相符",
- "contacts_not_found": "您沒有任何對話
¯∖_(ツ)_/¯",
- "contacts_not_found_short": "沒有符合 ''{query}'' 的聯絡人",
- "credential_email_prompt": "您的註冊電子郵件地址",
- "delete_account": "刪除帳號",
- "delete_account_arning": "您確定要刪除您的帳號嗎?此操作無法復原。",
- "delete_messages_warning": "您確定要為所有人刪除所有訊息嗎?此操作無法復原。",
- "deleted_content": "內容已被刪除",
- "download_action": "下載",
- "drafty_attachment": "附加檔案",
- "drafty_form": "表單:",
- "drafty_image": "圖片",
- "email_dative": "電子郵件地址",
- "email_prompt": "電子郵件地址,例如:jdoe@example.com",
- "enable_peers_messaging": "啟用",
- "enter_confirmation_code_prompt": "輸入透過 {method} 傳送給您的確認碼:",
- "error_invalid_id": "ID 無效",
- "file_attachment_too_large": "檔案大小 {size} 超出 {limit} 限制。",
- "forgot_password_link": "忘記密碼?",
- "full_name_prompt": "全名,例如:王小明",
- "granted_permissions": "已授權",
- "group_has_no_members": "無成員",
- "group_user_id_prompt": "群組或使用者 ID",
- "image_caption_prompt": "圖片說明",
- "invalid_content": "內容無效",
- "invalid_security_token": "安全權杖無效",
- "label_client": "客戶端:",
- "label_content_type": "類型:",
- "label_default_access": "預設存取模式:",
- "label_default_access_mode": "預設存取模式:",
- "label_file_name": "檔名:",
- "label_group_members": "群組成員:",
- "label_incognito_mode": "無痕模式:",
- "label_message_sound": "訊息提示聲:",
- "label_muting_topic": "靜音:",
- "label_other_user": "其他",
- "label_password": "密碼",
- "label_permissions": "權限:",
- "label_private": "私人留言",
- "label_push_notifications": "通知:",
- "label_push_notifications_disabled": "通知 (需要 HTTPS):",
- "label_reset_password": "傳送重設密碼郵件:",
- "label_sdk": "SDK:",
- "label_server": "伺服器:",
- "label_server_address": "伺服器位址:",
- "label_server_to_use": "使用的伺服器:",
- "label_size": "大小:",
- "label_topic_name": "名稱",
- "label_user_contacts": "聯絡人:",
- "label_user_id": "ID:",
- "label_wire_transport": "Wire transport:",
- "label_you": "您:",
- "label_your_name": "您的名字",
- "label_your_permissions": "您的權限:",
- "last_seen_timestamp": "最後上線",
- "leave_chat_warning": "您確定要離開此對話嗎?",
- "link_contact_us": "聯絡我們",
- "link_privacy_policy": "隱私權政策",
- "link_terms_of_service": "服務條款",
- "login_prompt": "登入",
- "menu_item_archive_topic": "封存",
- "menu_item_block": "封鎖",
- "menu_item_clear_messages": "清除訊息",
- "menu_item_clear_messages_for_all": "為所有人清除訊息",
- "menu_item_delete": "刪除",
- "menu_item_delete_for_all": "為所有人刪除",
- "menu_item_delete_topic": "刪除",
- "menu_item_edit_permissions": "編輯權限",
- "menu_item_info": "Info",
- "menu_item_member_delete": "移除",
- "menu_item_mute": "靜音",
- "menu_item_send_retry": "重試",
- "menu_item_unblock": "解除封鎖",
- "menu_item_unmute": "解除靜音",
- "message_sending": "正在傳送...",
- "message_sending_failed": "失敗",
- "messages_not_readable": "沒有存取訊息的權限",
- "messaging_disabled_prompt": "停用訊息",
- "more_online_members": "+{overflow}",
- "new_message_prompt": "新訊息",
- "new_password_placeholder": "輸入新的密碼",
- "no_connection": "無連線",
- "no_contacts": "您沒有任何聯絡人 :-(",
- "numeric_confirmation_code_prompt": "僅數字",
- "online_now": "上線中",
- "password_prompt": "密碼",
- "password_unchanged_prompt": "未修改",
- "peers_messaging_disabled": "Peer 已停用訊息。",
- "permission_admin": "核可 ({val})",
- "permission_delete": "刪除 ({val})",
- "permission_join": "加入 ({val})",
- "permission_owner": "擁有者 ({val})",
- "permission_pres": "收到通知 ({val})",
- "permission_read": "讀取 ({val})",
- "permission_share": "分享 ({val})",
- "permission_write": "撰寫 ({val})",
- "phone_dative": "phone",
- "private_editing_placeholder": "僅您可見",
- "push_init_failed": "初始化通知失敗。",
- "reconnect_countdown": "已斷線。將在 {seconds} 秒後重新連線…",
- "reconnect_now": "現在重試",
- "reload_update": "重新載入",
- "report_chat_warning": "您確定要封鎖並檢舉此對話嗎?",
- "requested_permissions": "重新請求",
- "save_attachment": "儲存",
- "search_for_contacts": "使用搜尋來尋找聯絡人",
- "search_no_results": "搜尋無結果",
- "search_placeholder": "例如 email:alice@example.com, tel:17025550003... 的清單",
- "sidepanel_title_acc_general": "一般",
- "sidepanel_title_acc_notifications": "通知",
- "sidepanel_title_acc_security": "安全性",
- "sidepanel_title_acc_support": "支援",
- "sidepanel_title_account_settings": "帳號設定",
- "sidepanel_title_archive": "已封存的對話",
- "sidepanel_title_blocked": "已封鎖的對話",
- "sidepanel_title_cred": "確認認證",
- "sidepanel_title_login": "登入",
- "sidepanel_title_newtpk": "開始新對話",
- "sidepanel_title_register": "建立帳號",
- "sidepanel_title_reset": "重設密碼",
- "sidepanel_title_settings": "設定",
- "stay_logged_in": "保持登入",
- "tabtitle_find_user": "尋找",
- "tabtitle_group_by_id": "以 id",
- "tabtitle_new_group": "新群組",
- "tags_editor_no_tags": "新增一些標籤",
- "tags_not_found": "未定義任何標籤。請新增一些標籤。",
- "title_all_contacts": "所有聯絡人",
- "title_group_members": "群組成員",
- "title_info": "資訊",
- "title_manage_tags": "管理",
- "title_not_found": "找不到",
- "title_permissions": "權限",
- "title_tag_manager": "標籤 (使用者探索)",
- "topic_block_warning": "您確定要封鎖此對話嗎?",
- "topic_delete_warning": "您確定要刪除此對話嗎?",
- "topic_name_editing_placeholder": "群組的任意名稱",
- "unnamed_topic": "未命名",
- "update_available": "有可用的更新。",
- "upload_finishing": "正在完成...",
- "user_not_found": "找不到",
- "validate_credential_action": "確認",
- "topic_delete": "刪除聊天",
- "password_reset_email_sent": "一封電子郵件已發送至 {email}。按照電子郵件中的說明重置密碼。",
- "menu_item_restore_topic": "恢復"
+ "action_block_contact": {
+ "translation": "封鎖聯絡人",
+ "defaultMessage": "Block Contact",
+ "description": "Flat button [Block Contact]",
+ "missing": false,
+ "obsolete": false
+ },
+ "action_cancel": {
+ "translation": "取消",
+ "defaultMessage": "cancel",
+ "description": "Call to action [cancel]",
+ "missing": false,
+ "obsolete": false
+ },
+ "action_clear_messages": {
+ "translation": "清除訊息",
+ "defaultMessage": "Clear Messages",
+ "description": "Flat button [Clear Messages] (soft-delete messages)",
+ "missing": false,
+ "obsolete": false
+ },
+ "action_delete_messages": {
+ "translation": "為所有人清除訊息",
+ "defaultMessage": "Clear Messages for All",
+ "description": "Flat button [Clear for All] (hard-delete all messages)",
+ "missing": false,
+ "obsolete": false
+ },
+ "action_leave_chat": {
+ "translation": "離開對話",
+ "defaultMessage": "Leave Conversation",
+ "description": "Flat button [Leave Conversation]",
+ "missing": false,
+ "obsolete": false
+ },
+ "action_report_chat": {
+ "translation": "檢舉對話",
+ "defaultMessage": "Report Conversation",
+ "description": "Flat button [Report Group]",
+ "missing": false,
+ "obsolete": false
+ },
+ "archived_contacts": {
+ "translation": "已封存的聯絡人 ({count})",
+ "defaultMessage": "Archived contacts ({count})",
+ "description": "Label for archived chats",
+ "missing": false,
+ "obsolete": false
+ },
+ "badge_danger": {
+ "translation": "不可信",
+ "defaultMessage": "Untrustworthy",
+ "description": "Suspicious or untrustworthy account or topic badge",
+ "missing": false,
+ "obsolete": false
+ },
+ "badge_owner": {
+ "translation": "擁有者",
+ "defaultMessage": "owner",
+ "description": "Badge for indicating the owner",
+ "missing": false,
+ "obsolete": false
+ },
+ "badge_staff": {
+ "translation": "員工管理",
+ "defaultMessage": "Staff-managed",
+ "description": "Explanation of a staff-managed account or topic badge",
+ "missing": false,
+ "obsolete": false
+ },
+ "badge_verified": {
+ "translation": "已驗證/官方",
+ "defaultMessage": "Verified/official",
+ "description": "Explanation of a verified account or topic badge",
+ "missing": false,
+ "obsolete": false
+ },
+ "badge_you": {
+ "translation": "您",
+ "defaultMessage": "you",
+ "description": "Badge for indicating the current user",
+ "missing": false,
+ "obsolete": false
+ },
+ "block_contact_warning": {
+ "translation": "您確定要封鎖此聯絡人嗎?",
+ "defaultMessage": "Are you sure you want to block this contact?",
+ "description": "Alert dialog warning when blocking a contact.",
+ "missing": false,
+ "obsolete": false
+ },
+ "blocked_contacts_link": {
+ "translation": "已封鎖的聯絡人 ({count})",
+ "defaultMessage": "Blocked contacts ({count})",
+ "description": "Blocked contacts link",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_add_another": {
+ "translation": "新增其他人",
+ "defaultMessage": "Add another",
+ "description": "Call to action [+ add another]",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_add_members": {
+ "translation": "新增成員",
+ "defaultMessage": "Add members",
+ "description": "Flat button [Add members] (to topic)",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_cancel": {
+ "translation": "取消",
+ "defaultMessage": "Cancel",
+ "description": "Button [Cancel]",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_confirm": {
+ "translation": "確認",
+ "defaultMessage": "Confirm",
+ "description": "Button [Confirm]",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_create": {
+ "translation": "建立",
+ "defaultMessage": "Create",
+ "description": "Button [Create]",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_delete_account": {
+ "translation": "刪除帳號",
+ "defaultMessage": "Delete account",
+ "description": "Button [Delete account]",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_edit": {
+ "translation": "編輯",
+ "defaultMessage": "Edit",
+ "description": "Call to action [Edit]",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_logout": {
+ "translation": "登出",
+ "defaultMessage": "Logout",
+ "description": "Button [Logout]",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_ok": {
+ "translation": "OK",
+ "defaultMessage": "OK",
+ "description": "Button [OK]",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_reset": {
+ "translation": "重設",
+ "defaultMessage": "Reset",
+ "description": "Button [Reset]",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_send_request": {
+ "translation": "傳送要求",
+ "defaultMessage": "Send request",
+ "description": "Button [Send request]",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_sign_in": {
+ "translation": "登入",
+ "defaultMessage": "Sign in",
+ "description": "Button [Sign In]",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_sign_up": {
+ "translation": "註冊",
+ "defaultMessage": "Sign up",
+ "description": "Create account button [Sign Up]",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_subscribe": {
+ "translation": "訂閱",
+ "defaultMessage": "Subscribe",
+ "description": "Button [Subscribe]",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_update": {
+ "translation": "更新",
+ "defaultMessage": "Update",
+ "description": "Button [Update]",
+ "missing": false,
+ "obsolete": false
+ },
+ "cannot_initiate_file_upload": {
+ "translation": "無法為檔案上傳初始化。",
+ "defaultMessage": "Cannot initiate file upload.",
+ "description": "Generic error messagewhen attachment fails",
+ "missing": false,
+ "obsolete": false
+ },
+ "channel": {
+ "translation": "頻道",
+ "defaultMessage": "channel",
+ "description": "Subtitle shown for channels in MessagesView instead of last seen",
+ "missing": false,
+ "obsolete": false
+ },
+ "channel_prompt": {
+ "translation": "這是頻道",
+ "defaultMessage": "This is a channel",
+ "description": "Checkbox label when creating a channel",
+ "missing": false,
+ "obsolete": false
+ },
+ "chat_invitation": {
+ "translation": "您已被邀請開始新對話。您接下來要做什麼呢?",
+ "defaultMessage": "You are invited to start a new chat. What would you like to do?",
+ "description": "New chat invitation message: [Accept] [Ignore] [Block].",
+ "missing": false,
+ "obsolete": false
+ },
+ "chat_invitation_accept": {
+ "translation": "接受",
+ "defaultMessage": "Accept",
+ "description": "Action [Accept] for chat invitation.",
+ "missing": false,
+ "obsolete": false
+ },
+ "chat_invitation_block": {
+ "translation": "封鎖",
+ "defaultMessage": "Block",
+ "description": "Action [Block] for chat invitation.",
+ "missing": false,
+ "obsolete": false
+ },
+ "chat_invitation_ignore": {
+ "translation": "忽略",
+ "defaultMessage": "Ignore",
+ "description": "Action [Ignore] for chat invitation.",
+ "missing": false,
+ "obsolete": false
+ },
+ "clear_messages_warning": {
+ "translation": "您確定要清除所有訊息嗎?此操作無法復原。",
+ "defaultMessage": "Are you sure you want to clear all messages? It cannot be undone.",
+ "description": "Alert dialog warning when deleting all messages.",
+ "missing": false,
+ "obsolete": false
+ },
+ "code_doesnot_match": {
+ "translation": "代碼不相符",
+ "defaultMessage": "Code does not match",
+ "description": "Error message when the credential validation code is incorrect.",
+ "missing": false,
+ "obsolete": false
+ },
+ "contacts_not_found": {
+ "translation": "您沒有任何對話
¯∖_(ツ)_/¯",
+ "defaultMessage": "You have no chats
¯∖_(ツ)_/¯",
+ "description": "HTML message shown in ContactList when no contacts are found",
+ "missing": false,
+ "obsolete": false
+ },
+ "contacts_not_found_short": {
+ "translation": "沒有符合 ''{query}'' 的聯絡人",
+ "defaultMessage": "No contacts match ''{query}''",
+ "description": "Shown in ContactsView when search returned no results",
+ "missing": false,
+ "obsolete": false
+ },
+ "credential_email_prompt": {
+ "translation": "您的註冊電子郵件地址",
+ "defaultMessage": "Your registration email",
+ "description": "Placeholder for entering email",
+ "missing": false,
+ "obsolete": false
+ },
+ "delete_account": {
+ "translation": "刪除帳號",
+ "defaultMessage": "Delete account",
+ "description": "Title for delete account warning",
+ "missing": false,
+ "obsolete": false
+ },
+ "delete_account_warning": {
+ "translation": "您確定要刪除您的帳戶嗎?此操作無法撤消。",
+ "defaultMessage": "Are you sure you want to delete your account? It cannot be undone.",
+ "description": "Warning message when deleting an account",
+ "missing": false,
+ "obsolete": false
+ },
+ "delete_messages_warning": {
+ "translation": "您確定要為所有人刪除所有訊息嗎?此操作無法復原。",
+ "defaultMessage": "Are you sure you want to delete all messages for everyone? It cannot be undone.",
+ "description": "Alert dialog warning when hard-deleting all messages.",
+ "missing": false,
+ "obsolete": false
+ },
+ "deleted_content": {
+ "translation": "內容已被刪除",
+ "defaultMessage": "content deleted",
+ "description": "Shown when messages are deleted",
+ "missing": false,
+ "obsolete": false
+ },
+ "download_action": {
+ "translation": "下載",
+ "defaultMessage": "download",
+ "description": "Call to action [download]",
+ "missing": false,
+ "obsolete": false
+ },
+ "drafty_attachment": {
+ "translation": "附加檔案",
+ "defaultMessage": "Attachment",
+ "description": "Comment for attachment in drafty preview",
+ "missing": false,
+ "obsolete": false
+ },
+ "drafty_form": {
+ "translation": "表單:",
+ "defaultMessage": "Form:",
+ "description": "Comment for form in drafty preview",
+ "missing": false,
+ "obsolete": false
+ },
+ "drafty_image": {
+ "translation": "圖片",
+ "defaultMessage": "Picture",
+ "description": "Comment for embedded images in drafty preview",
+ "missing": false,
+ "obsolete": false
+ },
+ "email_dative": {
+ "translation": "電子郵件地址",
+ "defaultMessage": "email",
+ "description": "Dative case of 'email', i.e. 'email' in 'by email'",
+ "missing": false,
+ "obsolete": false
+ },
+ "email_prompt": {
+ "translation": "電子郵件地址,例如:jdoe@example.com",
+ "defaultMessage": "Email, e.g. jdoe@example.com",
+ "description": "Input placeholder for email entry",
+ "missing": false,
+ "obsolete": false
+ },
+ "enable_peers_messaging": {
+ "translation": "啟用",
+ "defaultMessage": "Enable",
+ "description": "Call to action to enable peer's messaging",
+ "missing": false,
+ "obsolete": false
+ },
+ "enter_confirmation_code_prompt": {
+ "translation": "輸入透過 {method} 傳送給您的確認碼:",
+ "defaultMessage": "Enter confirmation code sent to you by {method}:",
+ "description": "Request to enter confirmation code",
+ "missing": false,
+ "obsolete": false
+ },
+ "error_invalid_id": {
+ "translation": "ID 無效",
+ "defaultMessage": "Invalid ID",
+ "description": "Error message",
+ "missing": false,
+ "obsolete": false
+ },
+ "file_attachment_too_large": {
+ "translation": "檔案大小 {size} 超出 {limit} 限制。",
+ "defaultMessage": "The file size {size} exceeds the {limit} limit.",
+ "description": "Error message when attachment is too large",
+ "missing": false,
+ "obsolete": false
+ },
+ "forgot_password_link": {
+ "translation": "忘記密碼?",
+ "defaultMessage": "Forgot password?",
+ "description": "Link to Reset password form",
+ "missing": false,
+ "obsolete": false
+ },
+ "full_name_prompt": {
+ "translation": "全名,例如:王小明",
+ "defaultMessage": "Full name, e.g. John Doe",
+ "description": "Input placeholder for person's full name",
+ "missing": false,
+ "obsolete": false
+ },
+ "granted_permissions": {
+ "translation": "已授權",
+ "defaultMessage": "Granted",
+ "description": "Title for permissions",
+ "missing": false,
+ "obsolete": false
+ },
+ "group_has_no_members": {
+ "translation": "無成員",
+ "defaultMessage": "No members",
+ "description": "Shown in place of group members",
+ "missing": false,
+ "obsolete": false
+ },
+ "group_user_id_prompt": {
+ "translation": "群組或使用者 ID",
+ "defaultMessage": "Group or User ID",
+ "description": "Prompt for entering user or group ID",
+ "missing": false,
+ "obsolete": false
+ },
+ "image_caption_prompt": {
+ "translation": "圖片說明",
+ "defaultMessage": "Image caption",
+ "description": "Prompt in SendMessage for attached image",
+ "missing": false,
+ "obsolete": false
+ },
+ "invalid_content": {
+ "translation": "內容無效",
+ "defaultMessage": "invalid content",
+ "description": "Shown when message is unreadable",
+ "missing": false,
+ "obsolete": false
+ },
+ "invalid_security_token": {
+ "translation": "安全權杖無效",
+ "defaultMessage": "Invalid security token",
+ "description": "Error message when resetting password.",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_client": {
+ "translation": "客戶端:",
+ "defaultMessage": "Client:",
+ "description": "Label for a client version",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_content_type": {
+ "translation": "類型:",
+ "defaultMessage": "Content type:",
+ "description": "Label for file content type (mime)",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_default_access_mode": {
+ "translation": "預設存取模式:",
+ "defaultMessage": "Default access mode:",
+ "description": "Label for default access mode",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_file_name": {
+ "translation": "檔名:",
+ "defaultMessage": "File name:",
+ "description": "Label for a file name",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_group_members": {
+ "translation": "群組成員:",
+ "defaultMessage": "Group members:",
+ "description": "Section title or label",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_incognito_mode": {
+ "translation": "無痕模式:",
+ "defaultMessage": "Incognito mode:",
+ "description": "Label for incognito mode toggle",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_message_sound": {
+ "translation": "訊息提示聲:",
+ "defaultMessage": "Message sound:",
+ "description": "Label for message sounds toggle",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_muting_topic": {
+ "translation": "靜音:",
+ "defaultMessage": "Muted:",
+ "description": "Label for Muting/unmuting the topic",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_other_user": {
+ "translation": "其他",
+ "defaultMessage": "Other",
+ "description": "Label for the other user when the user is unnamed",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_password": {
+ "translation": "密碼",
+ "defaultMessage": "Password",
+ "description": "Label for password editing",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_permissions": {
+ "translation": "權限:",
+ "defaultMessage": "Permissions:",
+ "description": "Section title",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_private": {
+ "translation": "私人留言",
+ "defaultMessage": "Private comment",
+ "description": "Label for editing 'private'",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_push_notifications": {
+ "translation": "通知:",
+ "defaultMessage": "Notification alerts:",
+ "description": "Label for push notifications switch",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_push_notifications_disabled": {
+ "translation": "通知 (需要 HTTPS):",
+ "defaultMessage": "Notification alerts (requires HTTPS):",
+ "description": "Label for push notifications switch",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_reset_password": {
+ "translation": "傳送重設密碼郵件:",
+ "defaultMessage": "Send a password reset email:",
+ "description": "Label for password reset field",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_sdk": {
+ "translation": "SDK:",
+ "defaultMessage": "SDK:",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_server": {
+ "translation": "伺服器:",
+ "defaultMessage": "Server:",
+ "description": "Label for a server version",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_server_address": {
+ "translation": "伺服器位址:",
+ "defaultMessage": "Server address:",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_server_to_use": {
+ "translation": "使用的伺服器:",
+ "defaultMessage": "Server to use:",
+ "description": "Label for server selector in SettingsView",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_size": {
+ "translation": "大小:",
+ "defaultMessage": "Size:",
+ "description": "Label for file size",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_topic_name": {
+ "translation": "名稱",
+ "defaultMessage": "Name",
+ "description": "Label for editing topic name",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_user_contacts": {
+ "translation": "聯絡人:",
+ "defaultMessage": "Contacts:",
+ "description": "Label for user contacts",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_user_id": {
+ "translation": "ID:",
+ "defaultMessage": "ID:",
+ "description": "Label for user address (ID)",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_wire_transport": {
+ "translation": "Wire transport:",
+ "defaultMessage": "Wire transport:",
+ "description": "Label for wire transport selection in SettingsView",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_you": {
+ "translation": "您:",
+ "defaultMessage": "You:",
+ "description": "Label for the current user",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_your_name": {
+ "translation": "您的名字",
+ "defaultMessage": "Your name",
+ "description": "Label for full name editing",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_your_permissions": {
+ "translation": "您的權限:",
+ "defaultMessage": "Your permissions:",
+ "description": "Label for current user permissions",
+ "missing": false,
+ "obsolete": false
+ },
+ "last_seen_timestamp": {
+ "translation": "最後上線",
+ "defaultMessage": "Last seen",
+ "description": "Label for the timestamp of when the user or topic was last online",
+ "missing": false,
+ "obsolete": false
+ },
+ "leave_chat_warning": {
+ "translation": "您確定要離開此對話嗎?",
+ "defaultMessage": "Are you sure you want to leave this conversation?",
+ "description": "Alert dialog warning when unsubscribing from a chat.",
+ "missing": false,
+ "obsolete": false
+ },
+ "link_contact_us": {
+ "translation": "聯絡我們",
+ "defaultMessage": "Contact Us",
+ "description": "Ancor text for contacting us by email",
+ "missing": false,
+ "obsolete": false
+ },
+ "link_privacy_policy": {
+ "translation": "隱私權政策",
+ "defaultMessage": "Privacy Policy",
+ "description": "Ancor text for privacy policy link",
+ "missing": false,
+ "obsolete": false
+ },
+ "link_terms_of_service": {
+ "translation": "服務條款",
+ "defaultMessage": "Terms of Service",
+ "description": "Ancor text for terms of service link",
+ "missing": false,
+ "obsolete": false
+ },
+ "login_prompt": {
+ "translation": "登入",
+ "defaultMessage": "Login",
+ "description": "Placeholer for username/login",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_archive_topic": {
+ "translation": "封存",
+ "defaultMessage": "Archive",
+ "description": "Move topic from the list of active chats to archive",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_block": {
+ "translation": "封鎖",
+ "defaultMessage": "Block",
+ "description": "Block topic or user",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_clear_messages": {
+ "translation": "清除訊息",
+ "defaultMessage": "Clear messages",
+ "description": "Delete all messages",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_clear_messages_for_all": {
+ "translation": "為所有人清除訊息",
+ "defaultMessage": "Clear for All",
+ "description": "Delete all message(s) for all members",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_delete": {
+ "translation": "刪除",
+ "defaultMessage": "Delete",
+ "description": "Delete selected messages",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_delete_for_all": {
+ "translation": "為所有人刪除",
+ "defaultMessage": "Delete for All",
+ "description": "Delete selected message(s) for all members",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_delete_topic": {
+ "translation": "刪除",
+ "defaultMessage": "Delete",
+ "description": "Delete entire topic",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_edit_permissions": {
+ "translation": "編輯權限",
+ "defaultMessage": "Edit permissions",
+ "description": "Menu item [Edit permissions]",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_info": {
+ "translation": "Info",
+ "defaultMessage": "Info",
+ "description": "Show extended topic information",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_member_delete": {
+ "translation": "移除",
+ "defaultMessage": "Remove",
+ "description": "Remove user from topic",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_mute": {
+ "translation": "靜音",
+ "defaultMessage": "Mute",
+ "description": "Turn off notifications",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_restore_topic": {
+ "translation": "恢復",
+ "defaultMessage": "Restore",
+ "description": "Restore topic from archive",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_send_retry": {
+ "translation": "重試",
+ "defaultMessage": "Retry",
+ "description": "Retry sending message",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_unblock": {
+ "translation": "解除封鎖",
+ "defaultMessage": "Unblock",
+ "description": "Unblock topic or user",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_unmute": {
+ "translation": "解除靜音",
+ "defaultMessage": "Unmute",
+ "description": "Turn notifications on",
+ "missing": false,
+ "obsolete": false
+ },
+ "message_sending": {
+ "translation": "正在傳送...",
+ "defaultMessage": "sending...",
+ "description": "Message being sent, in place of time stamp",
+ "missing": false,
+ "obsolete": false
+ },
+ "message_sending_failed": {
+ "translation": "失敗",
+ "defaultMessage": "failed",
+ "description": "Failed to send message, in place of time stamp",
+ "missing": false,
+ "obsolete": false
+ },
+ "messages_not_readable": {
+ "translation": "沒有存取訊息的權限",
+ "defaultMessage": "no access to messages",
+ "description": "Message shown in topic without the read access",
+ "missing": false,
+ "obsolete": false
+ },
+ "messaging_disabled_prompt": {
+ "translation": "停用訊息",
+ "defaultMessage": "Messaging disabled",
+ "description": "Prompt in SendMessage in read-only topic",
+ "missing": false,
+ "obsolete": false
+ },
+ "more_online_members": {
+ "translation": "+{overflow}",
+ "defaultMessage": "+{overflow} more",
+ "description": "Shown in MessagesView title bar when the number of online subscribers exceeds MAX_ONLINE_IN_TOPIC",
+ "missing": false,
+ "obsolete": false
+ },
+ "new_message_prompt": {
+ "translation": "新訊息",
+ "defaultMessage": "New message",
+ "description": "Prompt in send message field",
+ "missing": false,
+ "obsolete": false
+ },
+ "new_password_placeholder": {
+ "translation": "輸入新的密碼",
+ "defaultMessage": "Enter new password",
+ "description": "Placeholder for entering new password",
+ "missing": false,
+ "obsolete": false
+ },
+ "no_connection": {
+ "translation": "無連線",
+ "defaultMessage": "No connection",
+ "description": "Warning that the user is offline.",
+ "missing": false,
+ "obsolete": false
+ },
+ "no_contacts": {
+ "translation": "您沒有任何聯絡人 :-(",
+ "defaultMessage": "You have no contacts :-(",
+ "description": "Shown in ContactsView when the user has no contacts",
+ "missing": false,
+ "obsolete": false
+ },
+ "numeric_confirmation_code_prompt": {
+ "translation": "僅數字",
+ "defaultMessage": "Numbers only",
+ "description": "Prompt for numeric conformation code",
+ "missing": false,
+ "obsolete": false
+ },
+ "online_now": {
+ "translation": "上線中",
+ "defaultMessage": "online now",
+ "description": "Indicator that the user or topic is currently online",
+ "missing": false,
+ "obsolete": false
+ },
+ "password_prompt": {
+ "translation": "密碼",
+ "defaultMessage": "Password",
+ "description": "Placeholder/prompt for entering password",
+ "missing": false,
+ "obsolete": false
+ },
+ "password_unchanged_prompt": {
+ "translation": "未修改",
+ "defaultMessage": "Unchanged",
+ "description": "Message in editor while password is unchanged",
+ "missing": false,
+ "obsolete": false
+ },
+ "peers_messaging_disabled": {
+ "translation": "Peer 已停用訊息。",
+ "defaultMessage": "Peer's messaging is disabled.",
+ "description": "Shown when the p2p peer's messaging is disabled",
+ "missing": false,
+ "obsolete": false
+ },
+ "permission_admin": {
+ "translation": "核可 ({val})",
+ "defaultMessage": "Approve ({val})",
+ "description": "Name of A permission",
+ "missing": false,
+ "obsolete": false
+ },
+ "permission_delete": {
+ "translation": "刪除 ({val})",
+ "defaultMessage": "Delete ({val})",
+ "description": "Name of D permission",
+ "missing": false,
+ "obsolete": false
+ },
+ "permission_join": {
+ "translation": "加入 ({val})",
+ "defaultMessage": "Join ({val})",
+ "description": "Name of J permission",
+ "missing": false,
+ "obsolete": false
+ },
+ "permission_owner": {
+ "translation": "擁有者 ({val})",
+ "defaultMessage": "Owner ({val})",
+ "description": "Name of O permission",
+ "missing": false,
+ "obsolete": false
+ },
+ "permission_pres": {
+ "translation": "收到通知 ({val})",
+ "defaultMessage": "Get notified ({val})",
+ "description": "Name of P permission",
+ "missing": false,
+ "obsolete": false
+ },
+ "permission_read": {
+ "translation": "讀取 ({val})",
+ "defaultMessage": "Read ({val})",
+ "description": "Name of R permission",
+ "missing": false,
+ "obsolete": false
+ },
+ "permission_share": {
+ "translation": "分享 ({val})",
+ "defaultMessage": "Share ({val})",
+ "description": "Name of S permission",
+ "missing": false,
+ "obsolete": false
+ },
+ "permission_write": {
+ "translation": "撰寫 ({val})",
+ "defaultMessage": "Write ({val})",
+ "description": "Name of W permission",
+ "missing": false,
+ "obsolete": false
+ },
+ "phone_dative": {
+ "translation": "phone",
+ "defaultMessage": "phone",
+ "description": "Dative case of 'phone', i.e. 'phone' in 'by phone'",
+ "missing": false,
+ "obsolete": false
+ },
+ "private_editing_placeholder": {
+ "translation": "僅您可見",
+ "defaultMessage": "Visible to you only",
+ "description": "Placeholder for editing 'private'",
+ "missing": false,
+ "obsolete": false
+ },
+ "push_init_failed": {
+ "translation": "初始化通知失敗。",
+ "defaultMessage": "Failed to initialize push notifications",
+ "description": "Error message when push notifications have failed to initialize.",
+ "missing": false,
+ "obsolete": false
+ },
+ "reconnect_countdown": {
+ "translation": "已斷線。將在 {seconds} 秒後重新連線…",
+ "defaultMessage": "Disconnected. Reconnecting in {seconds}…",
+ "description": "Message shown when an app update is available.",
+ "missing": false,
+ "obsolete": false
+ },
+ "reconnect_now": {
+ "translation": "現在重試",
+ "defaultMessage": "Try now",
+ "description": "Prompt for reconnecting now",
+ "missing": false,
+ "obsolete": false
+ },
+ "reload_update": {
+ "translation": "重新載入",
+ "defaultMessage": "Reload",
+ "description": "Call to action to reload application when update is available.",
+ "missing": false,
+ "obsolete": false
+ },
+ "report_chat_warning": {
+ "translation": "您確定要封鎖並檢舉此對話嗎?",
+ "defaultMessage": "Are you sure you want to block and report this conversation?",
+ "description": "Alert dialog warning when reporting a conversation for abuse",
+ "missing": false,
+ "obsolete": false
+ },
+ "requested_permissions": {
+ "translation": "重新請求",
+ "defaultMessage": "Requested",
+ "description": "Title for permissions",
+ "missing": false,
+ "obsolete": false
+ },
+ "save_attachment": {
+ "translation": "儲存",
+ "defaultMessage": "save",
+ "description": "Call to save an attachment",
+ "missing": false,
+ "obsolete": false
+ },
+ "search_for_contacts": {
+ "translation": "使用搜尋來尋找聯絡人",
+ "defaultMessage": "Use search to find contacts",
+ "description": "Text shown in contacts view when user entered no search query.",
+ "missing": false,
+ "obsolete": false
+ },
+ "search_no_results": {
+ "translation": "搜尋無結果",
+ "defaultMessage": "Search returned no results",
+ "description": "Text shown in contacts view when query returned no results.",
+ "missing": false,
+ "obsolete": false
+ },
+ "search_placeholder": {
+ "translation": "例如 email:alice@example.com, tel:17025550003... 的清單",
+ "defaultMessage": "List like email:alice@example.com, tel:17025550003...",
+ "description": "Placeholder in contacts search field",
+ "missing": false,
+ "obsolete": false
+ },
+ "sidepanel_title_acc_notifications": {
+ "translation": "通知",
+ "defaultMessage": "Notifications",
+ "description": "Sidepanel title for AccNotificationsView.",
+ "missing": false,
+ "obsolete": false
+ },
+ "sidepanel_title_acc_support": {
+ "translation": "支援",
+ "defaultMessage": "Support",
+ "description": "Sidepanel title for AccSupportView.",
+ "missing": false,
+ "obsolete": false
+ },
+ "sidepanel_title_account_settings": {
+ "translation": "帳號設定",
+ "defaultMessage": "Account Settings",
+ "description": "Sidepanel title for AccountSettingsView.",
+ "missing": false,
+ "obsolete": false
+ },
+ "sidepanel_title_archive": {
+ "translation": "已封存的對話",
+ "defaultMessage": "Archived Chats",
+ "description": "Sidepanel title for ContactsView-Archive.",
+ "missing": false,
+ "obsolete": false
+ },
+ "sidepanel_title_blocked": {
+ "translation": "已封鎖的對話",
+ "defaultMessage": "Blocked Chats",
+ "description": "Sidepanel title for ContactsView-Blocked.",
+ "missing": false,
+ "obsolete": false
+ },
+ "sidepanel_title_cred": {
+ "translation": "確認認證",
+ "defaultMessage": "Confirm Credentials",
+ "description": "Sidepanel title for ValidationView.",
+ "missing": false,
+ "obsolete": false
+ },
+ "sidepanel_title_login": {
+ "translation": "登入",
+ "defaultMessage": "Sign In",
+ "description": "Sidepanel title for LoginView.",
+ "missing": false,
+ "obsolete": false
+ },
+ "sidepanel_title_newtpk": {
+ "translation": "開始新對話",
+ "defaultMessage": "Start New Chat",
+ "description": "Sidepanel title for NewTopicView.",
+ "missing": false,
+ "obsolete": false
+ },
+ "sidepanel_title_register": {
+ "translation": "建立帳號",
+ "defaultMessage": "Create Account",
+ "description": "Sidepanel title for CreateAccountView.",
+ "missing": false,
+ "obsolete": false
+ },
+ "sidepanel_title_reset": {
+ "translation": "重設密碼",
+ "defaultMessage": "Reset Password",
+ "description": "Sidepanel title for PasswordResetView.",
+ "missing": false,
+ "obsolete": false
+ },
+ "sidepanel_title_settings": {
+ "translation": "設定",
+ "defaultMessage": "Settings",
+ "description": "Sidepanel title for SettingsView.",
+ "missing": false,
+ "obsolete": false
+ },
+ "stay_logged_in": {
+ "translation": "保持登入",
+ "defaultMessage": "Stay logged in",
+ "description": "Label for a checkbox",
+ "missing": false,
+ "obsolete": false
+ },
+ "tabtitle_find_user": {
+ "translation": "尋找",
+ "defaultMessage": "find",
+ "description": "Tab title Find",
+ "missing": false,
+ "obsolete": false
+ },
+ "tabtitle_group_by_id": {
+ "translation": "以 id",
+ "defaultMessage": "by id",
+ "description": "Tab title Find topic by ID",
+ "missing": false,
+ "obsolete": false
+ },
+ "tabtitle_new_group": {
+ "translation": "新群組",
+ "defaultMessage": "new group",
+ "description": "Tab title New Group",
+ "missing": false,
+ "obsolete": false
+ },
+ "tags_editor_no_tags": {
+ "translation": "新增一些標籤",
+ "defaultMessage": "Add some tags",
+ "description": "Tag editor prompt when no tags are found.",
+ "missing": false,
+ "obsolete": false
+ },
+ "tags_not_found": {
+ "translation": "未定義任何標籤。請新增一些標籤。",
+ "defaultMessage": "No tags defined. Add some.",
+ "description": "",
+ "missing": false,
+ "obsolete": false
+ },
+ "title_all_contacts": {
+ "translation": "所有聯絡人",
+ "defaultMessage": "All Contacts",
+ "description": "Section title [All Contacts]",
+ "missing": false,
+ "obsolete": false
+ },
+ "title_group_members": {
+ "translation": "群組成員",
+ "defaultMessage": "Group Members",
+ "description": "Section title",
+ "missing": false,
+ "obsolete": false
+ },
+ "title_manage_tags": {
+ "translation": "管理",
+ "defaultMessage": "Manage",
+ "description": "Section title for the list of tags",
+ "missing": false,
+ "obsolete": false
+ },
+ "title_not_found": {
+ "translation": "找不到",
+ "defaultMessage": "Not found",
+ "description": "Title shown when topic is not found",
+ "missing": false,
+ "obsolete": false
+ },
+ "title_permissions": {
+ "translation": "權限",
+ "defaultMessage": "Permissions",
+ "description": "Section title",
+ "missing": false,
+ "obsolete": false
+ },
+ "title_tag_manager": {
+ "translation": "標籤 (使用者探索)",
+ "defaultMessage": "Tags (search & discovery)",
+ "description": "Section title for TagManager",
+ "missing": false,
+ "obsolete": false
+ },
+ "topic_block_warning": {
+ "translation": "您確定要封鎖此對話嗎?",
+ "defaultMessage": "Are you sure you want to block this conversation?",
+ "description": "Alert warning when blocking a topic.",
+ "missing": false,
+ "obsolete": false
+ },
+ "topic_delete_warning": {
+ "translation": "您確定要刪除此對話嗎?",
+ "defaultMessage": "Are you sure you want to delete this conversation? It cannot be undone.",
+ "description": "Alert warning when deleting entire topic",
+ "missing": false,
+ "obsolete": false
+ },
+ "topic_name_editing_placeholder": {
+ "translation": "群組的任意名稱",
+ "defaultMessage": "Freeform name of the group",
+ "description": "Prompt for entering topic name",
+ "missing": false,
+ "obsolete": false
+ },
+ "unnamed_topic": {
+ "translation": "未命名",
+ "defaultMessage": "Unnamed",
+ "description": "Title shown when the topic has no name",
+ "missing": false,
+ "obsolete": false
+ },
+ "update_available": {
+ "translation": "有可用的更新。",
+ "defaultMessage": "Update available.",
+ "description": "Message shown when an app update is available.",
+ "missing": false,
+ "obsolete": false
+ },
+ "upload_finishing": {
+ "translation": "正在完成...",
+ "defaultMessage": "finishing...",
+ "description": "Notification that upload is finishing",
+ "missing": false,
+ "obsolete": false
+ },
+ "user_not_found": {
+ "translation": "找不到",
+ "defaultMessage": "Not found",
+ "description": "In place of a user's full name when the user is not found.",
+ "missing": false,
+ "obsolete": false
+ },
+ "validate_credential_action": {
+ "translation": "確認",
+ "defaultMessage": "confirm",
+ "description": "Validate credentail call to action",
+ "missing": false,
+ "obsolete": false
+ },
+ "description_editing_placeholder": {
+ "translation": "說明(可選)",
+ "defaultMessage": "Description (optional)",
+ "description": "Placeholder for editing topic description",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_description": {
+ "translation": "說明",
+ "defaultMessage": "Description",
+ "description": "Label for editing topic description",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_security": {
+ "translation": "安全性",
+ "defaultMessage": "Security",
+ "description": "Navigaton button for security panel.",
+ "missing": false,
+ "obsolete": false
+ },
+ "panel_title_crop": {
+ "translation": "拖動調整",
+ "defaultMessage": "Drag to Adjust",
+ "description": "Title for AvatarCropView.",
+ "missing": false,
+ "obsolete": false
+ },
+ "panel_title_general": {
+ "translation": "一般",
+ "defaultMessage": "General",
+ "description": "Title for TopicCommon.",
+ "missing": false,
+ "obsolete": false
+ },
+ "panel_title_members": {
+ "translation": "成員",
+ "defaultMessage": "Members",
+ "description": "Title for managing group members view.",
+ "missing": false,
+ "obsolete": false
+ },
+ "panel_title_security": {
+ "translation": "安全性",
+ "defaultMessage": "Security",
+ "description": "Title for TopicSecirity and AccSecurity.",
+ "missing": false,
+ "obsolete": false
+ },
+ "panel_title_info": {
+ "translation": "資訊",
+ "defaultMessage": "Info",
+ "description": "Title for InfoView",
+ "missing": false,
+ "obsolete": false
+ },
+ "permissions_anonymous": {
+ "translation": "匿名",
+ "defaultMessage": "Anonymous",
+ "description": "Title for editing default anonymous permissions",
+ "missing": false,
+ "obsolete": false
+ },
+ "permissions_authenticated": {
+ "translation": "已認證",
+ "defaultMessage": "Authenticated",
+ "description": "Title for editing default authenticated permissions",
+ "missing": false,
+ "obsolete": false
+ },
+ "topic_delete": {
+ "translation": "刪除聊天",
+ "defaultMessage": "Delete Conversation",
+ "description": "Alert title when deleting the topic.",
+ "missing": false,
+ "obsolete": false
+ },
+ "permissions_user": {
+ "translation": "用戶權限",
+ "defaultMessage": "User's Permissions",
+ "description": "Title for editing user's permissions",
+ "missing": false,
+ "obsolete": false
+ },
+ "password_reset_email_sent": {
+ "translation": "一封電子郵件已發送至 {email}。按照電子郵件中的說明重置密碼。",
+ "defaultMessage": "An email has been sent to {email}. Follow the directions in the email to reset your password.",
+ "description": "Notification that the email with password reset instructions has been sent",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_unarchive_topic": {
+ "translation": "存檔聊天:",
+ "defaultMessage": "Archived:",
+ "description": "Label for unarchiving the topic",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_reply": {
+ "translation": "",
+ "defaultMessage": "Reply",
+ "description": "Reply to message",
+ "missing": true,
+ "obsolete": false
+ }
}
diff --git a/src/i18n/zh.json b/src/i18n/zh.json
index ff781aa3..fd1d83a4 100644
--- a/src/i18n/zh.json
+++ b/src/i18n/zh.json
@@ -1,182 +1,1337 @@
{
- "archived_contacts": "已归档联系人 ({count})",
- "contacts_not_found": "你尚无会话
¯∖_(ツ)_/¯",
- "full_name_prompt": "全名,例如张伟",
- "email_prompt": "电子邮件,例如 zhang@example.com",
- "button_sign_up": "注册",
- "label_your_name": "你的姓名",
- "label_password": "密码",
- "password_unchanged_prompt": "未改变",
- "label_user_id": "地址:",
- "label_default_access_mode": "蓦然访问模式:",
- "label_message_sound": "消息提示音:",
- "label_push_notifications": "通知提醒:",
- "label_push_notifications_disabled": "通知提醒(需要 HTTPS):",
- "title_tag_manager": "标签(用户发现)",
- "button_logout": "登出",
- "requested_permissions": "已请求",
- "granted_permissions": "已授予",
- "menu_item_edit_permissions": "编辑权限",
- "label_other_user": "其他",
- "title_info": "信息",
- "label_topic_name": "名称",
- "label_private": "私人评论",
- "private_editing_placeholder": "仅自己可见",
- "label_muting_topic": "已静音:",
- "action_more": "更多",
- "label_your_permissions": "你的权限:",
- "label_permissions": "权限:",
- "label_you": "你:",
- "label_default_access": "默认权限模式:",
- "label_group_members": "群组成员:",
- "button_add_members": "添加成员",
- "group_has_no_members": "无成员",
- "action_leave_chat": "离开",
- "login_prompt": "登录",
- "password_prompt": "密码",
- "stay_logged_in": "保持登录",
- "forgot_password_link": "忘记密码?",
- "button_sign_in": "登录",
- "label_client": "客户端:",
- "label_server": "服务器:",
- "online_now": "在线",
- "last_seen_timestamp": "最后可见",
- "title_not_found": "无法找到",
- "unnamed_topic": "未命名",
- "messages_not_readable": "无消息访问权限",
- "peers_messaging_disabled": "成员间消息已禁用。",
- "enable_peers_messaging": "启用",
- "tabtitle_find_user": "搜索",
- "tabtitle_new_group": "新群组",
- "tabtitle_group_by_id": "通过 id",
- "search_for_contacts": "使用搜索寻找联系人",
- "new_password_placeholder": "输入新密码",
- "label_reset_password": "发送密码重置邮件:",
- "credential_email_prompt": "你的注册邮箱",
- "button_reset": "重置",
- "button_send_request": "发送请求",
- "label_server_to_use": "使用的服务器:",
- "label_wire_transport": "线路传输:",
- "button_update": "更新",
- "sidepanel_title_login": "登录",
- "sidepanel_title_register": "创建账户",
- "sidepanel_title_settings": "设置",
- "sidepanel_title_account_settings": "帐号设定",
- "sidepanel_title_newtpk": "开始新会话",
- "sidepanel_title_cred": "确认凭据",
- "sidepanel_title_reset": "重置密码",
- "sidepanel_title_archive": "已存档会话",
- "update_available": "更新可用。",
- "reload_update": "重新载入",
- "reconnect_countdown": "连接已断开。{seconds} 秒后重新连接…",
- "reconnect_now": "立即尝试",
- "phone_dative": "电话",
- "email_dative": "电子邮件",
- "enter_confirmation_code_prompt": "输入通过{method}发送的验证码:",
- "numeric_confirmation_code_prompt": "仅数字",
- "button_confirm": "确认",
- "save_attachment": "保存",
- "invalid_content": "无效内容",
- "user_not_found": "未找到",
- "badge_you": "你",
- "badge_owner": "所有者",
- "menu_item_info": "信息",
- "menu_item_clear_messages": "清空消息",
- "menu_item_clear_messages_for_all": "全部清除",
- "menu_item_delete": "删除",
- "menu_item_delete_for_all": "全部删除",
- "menu_item_mute": "静音",
- "menu_item_unmute": "取消静音",
- "menu_item_delete_topic": "删除",
- "menu_item_unblock": "取消屏蔽",
- "menu_item_block": "屏蔽",
- "menu_item_member_delete": "移除",
- "menu_item_archive_topic": "归档",
- "action_cancel": "取消",
- "upload_finishing": "正在结束...",
- "no_contacts": "你尚无联系人 (._.)",
- "contacts_not_found_short": "无联系人匹配''{query}''",
- "title_group_members": "群组成员",
- "title_all_contacts": "全部联系人",
- "button_ok": "好",
- "button_cancel": "取消",
- "download_action": "下载",
- "label_file_name": "文件名:",
- "label_content_type": "内容类型:",
- "label_size": "大小:",
- "chat_invitation": "你受邀开始新会话。你想怎么做?",
- "chat_invitation_accept": "接受",
- "chat_invitation_ignore": "忽略",
- "chat_invitation_block": "屏蔽",
- "error_invalid_id": "无效 ID",
- "group_user_id_prompt": "群组或用户 ID",
- "button_subscribe": "订阅",
- "topic_name_editing_placeholder": "群组自由格式名称",
- "button_create": "创建",
- "permission_join": "加入 ({val})",
- "permission_read": "读取 ({val})",
- "permission_write": "写入 ({val})",
- "permission_pres": "获取通知 ({val})",
- "permission_admin": "批准 ({val})",
- "permission_share": "分享 ({val})",
- "permission_delete": "删除 ({val})",
- "permission_owner": "所有者 ({val})",
- "title_permissions": "权限",
- "message_sending": "正在发送...",
- "message_sending_failed": "发送失败",
- "search_placeholder": "列表如 email:alice@example.com, tel:+17025550003...",
- "messaging_disabled_prompt": "消息已禁用",
- "new_message_prompt": "新消息",
- "file_attachment_too_large": "文件大小 {size} 超过 {limit} 限制。",
- "cannot_initiate_file_upload": "无法初始化文件上传。",
- "tags_not_found": "尚未定义标签。添加一些。",
- "tags_editor_no_tags": "添加一些标签",
- "title_manage_tags": "管理标签",
- "more_online_members": "还有{overflow}个",
- "label_user_contacts": "往来:",
- "validate_credential_action": "确认",
- "link_contact_us": "联系我们",
- "link_terms_of_service": "条款和条件",
- "link_privacy_policy": "隐私政策",
- "action_delete_messages": "删除所有帖子",
- "action_block_contact": "屏蔽联系人",
- "delete_messages_warning": "您确定要删除所有消息吗?无法撤消。",
- "leave_chat_warning": "您确定要退出此对话吗?",
- "block_contact_warning": "您确定要阻止此联系人吗?",
- "action_report_chat": "检举垃圾邮件",
- "report_chat_warning": "您确定要停止并报告此对话吗?",
- "action_clear_messages": "删除讯息",
- "clear_messages_warning": "您确定要清除所有消息吗?无法撤消。",
- "topic_delete_warning": "您确定要删除此对话吗?",
- "topic_block_warning": "您确定要阻止此对话吗?",
- "search_no_results": "搜索返回任何结果",
- "deleted_content": "内容已删除",
- "image_caption_prompt": "图片标题",
- "menu_item_send_retry": "重试",
- "label_incognito_mode": "无痕模式:",
- "delete_account": "删除帐户",
- "delete_account_arning": "您确定要删除您的帐户吗?无法撤消。",
- "button_delete_account": "删除帐户",
- "sidepanel_title_acc_security": "安全",
- "sidepanel_title_acc_notifications": "通知",
- "sidepanel_title_acc_support": "支持",
- "label_sdk": "开发包:",
- "label_server_address": "服务器地址:",
- "button_edit": "编辑",
- "button_add_another": "加上另一个",
- "sidepanel_title_acc_general": "常用设定",
- "blocked_contacts_link": "封锁的联络人 ({count})",
- "sidepanel_title_blocked": "被阻止的聊天",
- "push_init_failed": "初始化推送通知失败",
- "invalid_security_token": "无效的安全令牌",
- "no_connection": "无连接",
- "code_doesnot_match": "代码不匹配",
- "channel_prompt": "这是一个频道",
- "channel": "频道",
- "drafty_attachment": "附件",
- "drafty_form": "形式:",
- "drafty_image": "图像",
- "topic_delete": "删除聊天",
- "password_reset_email_sent": "一封电子邮件已发送至 {email}。按照电子邮件中的说明重置密码。",
- "menu_item_restore_topic": "从存档中恢复"
+ "action_block_contact": {
+ "translation": "屏蔽联系人",
+ "defaultMessage": "Block Contact",
+ "description": "Flat button [Block Contact]",
+ "missing": false,
+ "obsolete": false
+ },
+ "action_cancel": {
+ "translation": "取消",
+ "defaultMessage": "cancel",
+ "description": "Call to action [cancel]",
+ "missing": false,
+ "obsolete": false
+ },
+ "action_clear_messages": {
+ "translation": "删除讯息",
+ "defaultMessage": "Clear Messages",
+ "description": "Flat button [Clear Messages] (soft-delete messages)",
+ "missing": false,
+ "obsolete": false
+ },
+ "action_delete_messages": {
+ "translation": "删除所有帖子",
+ "defaultMessage": "Clear Messages for All",
+ "description": "Flat button [Clear for All] (hard-delete all messages)",
+ "missing": false,
+ "obsolete": false
+ },
+ "action_leave_chat": {
+ "translation": "离开",
+ "defaultMessage": "Leave Conversation",
+ "description": "Flat button [Leave Conversation]",
+ "missing": false,
+ "obsolete": false
+ },
+ "action_report_chat": {
+ "translation": "检举垃圾邮件",
+ "defaultMessage": "Report Conversation",
+ "description": "Flat button [Report Group]",
+ "missing": false,
+ "obsolete": false
+ },
+ "archived_contacts": {
+ "translation": "已归档联系人 ({count})",
+ "defaultMessage": "Archived contacts ({count})",
+ "description": "Label for archived chats",
+ "missing": false,
+ "obsolete": false
+ },
+ "badge_danger": {
+ "translation": "可疑的",
+ "defaultMessage": "Untrustworthy",
+ "description": "Suspicious or untrustworthy account or topic badge",
+ "missing": false,
+ "obsolete": false
+ },
+ "badge_owner": {
+ "translation": "所有者",
+ "defaultMessage": "owner",
+ "description": "Badge for indicating the owner",
+ "missing": false,
+ "obsolete": false
+ },
+ "badge_staff": {
+ "translation": "在员工管理下",
+ "defaultMessage": "Staff-managed",
+ "description": "Explanation of a staff-managed account or topic badge",
+ "missing": false,
+ "obsolete": false
+ },
+ "badge_verified": {
+ "translation": "值得信赖",
+ "defaultMessage": "Verified/official",
+ "description": "Explanation of a verified account or topic badge",
+ "missing": false,
+ "obsolete": false
+ },
+ "badge_you": {
+ "translation": "你",
+ "defaultMessage": "you",
+ "description": "Badge for indicating the current user",
+ "missing": false,
+ "obsolete": false
+ },
+ "block_contact_warning": {
+ "translation": "您确定要阻止此联系人吗?",
+ "defaultMessage": "Are you sure you want to block this contact?",
+ "description": "Alert dialog warning when blocking a contact.",
+ "missing": false,
+ "obsolete": false
+ },
+ "blocked_contacts_link": {
+ "translation": "封锁的联络人 ({count})",
+ "defaultMessage": "Blocked contacts ({count})",
+ "description": "Blocked contacts link",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_add_another": {
+ "translation": "加上另一个",
+ "defaultMessage": "Add another",
+ "description": "Call to action [+ add another]",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_add_members": {
+ "translation": "添加成员",
+ "defaultMessage": "Add members",
+ "description": "Flat button [Add members] (to topic)",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_cancel": {
+ "translation": "取消",
+ "defaultMessage": "Cancel",
+ "description": "Button [Cancel]",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_confirm": {
+ "translation": "确认",
+ "defaultMessage": "Confirm",
+ "description": "Button [Confirm]",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_create": {
+ "translation": "创建",
+ "defaultMessage": "Create",
+ "description": "Button [Create]",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_delete_account": {
+ "translation": "删除帐户",
+ "defaultMessage": "Delete account",
+ "description": "Button [Delete account]",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_edit": {
+ "translation": "编辑",
+ "defaultMessage": "Edit",
+ "description": "Call to action [Edit]",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_logout": {
+ "translation": "登出",
+ "defaultMessage": "Logout",
+ "description": "Button [Logout]",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_ok": {
+ "translation": "好",
+ "defaultMessage": "OK",
+ "description": "Button [OK]",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_reset": {
+ "translation": "重置",
+ "defaultMessage": "Reset",
+ "description": "Button [Reset]",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_send_request": {
+ "translation": "发送请求",
+ "defaultMessage": "Send request",
+ "description": "Button [Send request]",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_sign_in": {
+ "translation": "登录",
+ "defaultMessage": "Sign in",
+ "description": "Button [Sign In]",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_sign_up": {
+ "translation": "注册",
+ "defaultMessage": "Sign up",
+ "description": "Create account button [Sign Up]",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_subscribe": {
+ "translation": "订阅",
+ "defaultMessage": "Subscribe",
+ "description": "Button [Subscribe]",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_update": {
+ "translation": "更新",
+ "defaultMessage": "Update",
+ "description": "Button [Update]",
+ "missing": false,
+ "obsolete": false
+ },
+ "cannot_initiate_file_upload": {
+ "translation": "无法初始化文件上传。",
+ "defaultMessage": "Cannot initiate file upload.",
+ "description": "Generic error messagewhen attachment fails",
+ "missing": false,
+ "obsolete": false
+ },
+ "channel": {
+ "translation": "频道",
+ "defaultMessage": "channel",
+ "description": "Subtitle shown for channels in MessagesView instead of last seen",
+ "missing": false,
+ "obsolete": false
+ },
+ "channel_prompt": {
+ "translation": "这是一个频道",
+ "defaultMessage": "This is a channel",
+ "description": "Checkbox label when creating a channel",
+ "missing": false,
+ "obsolete": false
+ },
+ "chat_invitation": {
+ "translation": "你受邀开始新会话。你想怎么做?",
+ "defaultMessage": "You are invited to start a new chat. What would you like to do?",
+ "description": "New chat invitation message: [Accept] [Ignore] [Block].",
+ "missing": false,
+ "obsolete": false
+ },
+ "chat_invitation_accept": {
+ "translation": "接受",
+ "defaultMessage": "Accept",
+ "description": "Action [Accept] for chat invitation.",
+ "missing": false,
+ "obsolete": false
+ },
+ "chat_invitation_block": {
+ "translation": "屏蔽",
+ "defaultMessage": "Block",
+ "description": "Action [Block] for chat invitation.",
+ "missing": false,
+ "obsolete": false
+ },
+ "chat_invitation_ignore": {
+ "translation": "忽略",
+ "defaultMessage": "Ignore",
+ "description": "Action [Ignore] for chat invitation.",
+ "missing": false,
+ "obsolete": false
+ },
+ "clear_messages_warning": {
+ "translation": "您确定要清除所有消息吗?无法撤消。",
+ "defaultMessage": "Are you sure you want to clear all messages? It cannot be undone.",
+ "description": "Alert dialog warning when deleting all messages.",
+ "missing": false,
+ "obsolete": false
+ },
+ "code_doesnot_match": {
+ "translation": "代码不匹配",
+ "defaultMessage": "Code does not match",
+ "description": "Error message when the credential validation code is incorrect.",
+ "missing": false,
+ "obsolete": false
+ },
+ "contacts_not_found": {
+ "translation": "你尚无会话
¯∖_(ツ)_/¯",
+ "defaultMessage": "You have no chats
¯∖_(ツ)_/¯",
+ "description": "HTML message shown in ContactList when no contacts are found",
+ "missing": false,
+ "obsolete": false
+ },
+ "contacts_not_found_short": {
+ "translation": "无联系人匹配''{query}''",
+ "defaultMessage": "No contacts match ''{query}''",
+ "description": "Shown in ContactsView when search returned no results",
+ "missing": false,
+ "obsolete": false
+ },
+ "credential_email_prompt": {
+ "translation": "你的注册邮箱",
+ "defaultMessage": "Your registration email",
+ "description": "Placeholder for entering email",
+ "missing": false,
+ "obsolete": false
+ },
+ "delete_account": {
+ "translation": "删除帐户",
+ "defaultMessage": "Delete account",
+ "description": "Title for delete account warning",
+ "missing": false,
+ "obsolete": false
+ },
+ "delete_account_warning": {
+ "translation": "您确定要删除您的帐户吗?无法撤消。",
+ "defaultMessage": "Are you sure you want to delete your account? It cannot be undone.",
+ "description": "Warning message when deleting an account",
+ "missing": false,
+ "obsolete": false
+ },
+ "delete_messages_warning": {
+ "translation": "您确定要删除所有消息吗?无法撤消。",
+ "defaultMessage": "Are you sure you want to delete all messages for everyone? It cannot be undone.",
+ "description": "Alert dialog warning when hard-deleting all messages.",
+ "missing": false,
+ "obsolete": false
+ },
+ "deleted_content": {
+ "translation": "内容已删除",
+ "defaultMessage": "content deleted",
+ "description": "Shown when messages are deleted",
+ "missing": false,
+ "obsolete": false
+ },
+ "download_action": {
+ "translation": "下载",
+ "defaultMessage": "download",
+ "description": "Call to action [download]",
+ "missing": false,
+ "obsolete": false
+ },
+ "drafty_attachment": {
+ "translation": "附件",
+ "defaultMessage": "Attachment",
+ "description": "Comment for attachment in drafty preview",
+ "missing": false,
+ "obsolete": false
+ },
+ "drafty_form": {
+ "translation": "形式:",
+ "defaultMessage": "Form:",
+ "description": "Comment for form in drafty preview",
+ "missing": false,
+ "obsolete": false
+ },
+ "drafty_image": {
+ "translation": "图像",
+ "defaultMessage": "Picture",
+ "description": "Comment for embedded images in drafty preview",
+ "missing": false,
+ "obsolete": false
+ },
+ "email_dative": {
+ "translation": "电子邮件",
+ "defaultMessage": "email",
+ "description": "Dative case of 'email', i.e. 'email' in 'by email'",
+ "missing": false,
+ "obsolete": false
+ },
+ "email_prompt": {
+ "translation": "电子邮件,例如 zhang@example.com",
+ "defaultMessage": "Email, e.g. jdoe@example.com",
+ "description": "Input placeholder for email entry",
+ "missing": false,
+ "obsolete": false
+ },
+ "enable_peers_messaging": {
+ "translation": "启用",
+ "defaultMessage": "Enable",
+ "description": "Call to action to enable peer's messaging",
+ "missing": false,
+ "obsolete": false
+ },
+ "enter_confirmation_code_prompt": {
+ "translation": "输入通过{method}发送的验证码:",
+ "defaultMessage": "Enter confirmation code sent to you by {method}:",
+ "description": "Request to enter confirmation code",
+ "missing": false,
+ "obsolete": false
+ },
+ "error_invalid_id": {
+ "translation": "无效 ID",
+ "defaultMessage": "Invalid ID",
+ "description": "Error message",
+ "missing": false,
+ "obsolete": false
+ },
+ "file_attachment_too_large": {
+ "translation": "文件大小 {size} 超过 {limit} 限制。",
+ "defaultMessage": "The file size {size} exceeds the {limit} limit.",
+ "description": "Error message when attachment is too large",
+ "missing": false,
+ "obsolete": false
+ },
+ "forgot_password_link": {
+ "translation": "忘记密码?",
+ "defaultMessage": "Forgot password?",
+ "description": "Link to Reset password form",
+ "missing": false,
+ "obsolete": false
+ },
+ "full_name_prompt": {
+ "translation": "全名,例如张伟",
+ "defaultMessage": "Full name, e.g. John Doe",
+ "description": "Input placeholder for person's full name",
+ "missing": false,
+ "obsolete": false
+ },
+ "granted_permissions": {
+ "translation": "已授予",
+ "defaultMessage": "Granted",
+ "description": "Title for permissions",
+ "missing": false,
+ "obsolete": false
+ },
+ "group_has_no_members": {
+ "translation": "无成员",
+ "defaultMessage": "No members",
+ "description": "Shown in place of group members",
+ "missing": false,
+ "obsolete": false
+ },
+ "group_user_id_prompt": {
+ "translation": "群组或用户 ID",
+ "defaultMessage": "Group or User ID",
+ "description": "Prompt for entering user or group ID",
+ "missing": false,
+ "obsolete": false
+ },
+ "image_caption_prompt": {
+ "translation": "图片标题",
+ "defaultMessage": "Image caption",
+ "description": "Prompt in SendMessage for attached image",
+ "missing": false,
+ "obsolete": false
+ },
+ "invalid_content": {
+ "translation": "无效内容",
+ "defaultMessage": "invalid content",
+ "description": "Shown when message is unreadable",
+ "missing": false,
+ "obsolete": false
+ },
+ "invalid_security_token": {
+ "translation": "无效的安全令牌",
+ "defaultMessage": "Invalid security token",
+ "description": "Error message when resetting password.",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_client": {
+ "translation": "客户端:",
+ "defaultMessage": "Client:",
+ "description": "Label for a client version",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_content_type": {
+ "translation": "内容类型:",
+ "defaultMessage": "Content type:",
+ "description": "Label for file content type (mime)",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_default_access_mode": {
+ "translation": "蓦然访问模式:",
+ "defaultMessage": "Default access mode:",
+ "description": "Label for default access mode",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_file_name": {
+ "translation": "文件名:",
+ "defaultMessage": "File name:",
+ "description": "Label for a file name",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_group_members": {
+ "translation": "群组成员:",
+ "defaultMessage": "Group members:",
+ "description": "Section title or label",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_incognito_mode": {
+ "translation": "无痕模式:",
+ "defaultMessage": "Incognito mode:",
+ "description": "Label for incognito mode toggle",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_message_sound": {
+ "translation": "消息提示音:",
+ "defaultMessage": "Message sound:",
+ "description": "Label for message sounds toggle",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_muting_topic": {
+ "translation": "已静音:",
+ "defaultMessage": "Muted:",
+ "description": "Label for Muting/unmuting the topic",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_other_user": {
+ "translation": "其他",
+ "defaultMessage": "Other",
+ "description": "Label for the other user when the user is unnamed",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_password": {
+ "translation": "密码",
+ "defaultMessage": "Password",
+ "description": "Label for password editing",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_permissions": {
+ "translation": "权限:",
+ "defaultMessage": "Permissions:",
+ "description": "Section title",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_private": {
+ "translation": "私人评论",
+ "defaultMessage": "Private comment",
+ "description": "Label for editing 'private'",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_push_notifications": {
+ "translation": "通知提醒:",
+ "defaultMessage": "Notification alerts:",
+ "description": "Label for push notifications switch",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_push_notifications_disabled": {
+ "translation": "通知提醒(需要 HTTPS):",
+ "defaultMessage": "Notification alerts (requires HTTPS):",
+ "description": "Label for push notifications switch",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_reset_password": {
+ "translation": "发送密码重置邮件:",
+ "defaultMessage": "Send a password reset email:",
+ "description": "Label for password reset field",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_sdk": {
+ "translation": "开发包:",
+ "defaultMessage": "SDK:",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_server": {
+ "translation": "服务器:",
+ "defaultMessage": "Server:",
+ "description": "Label for a server version",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_server_address": {
+ "translation": "服务器地址:",
+ "defaultMessage": "Server address:",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_server_to_use": {
+ "translation": "使用的服务器:",
+ "defaultMessage": "Server to use:",
+ "description": "Label for server selector in SettingsView",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_size": {
+ "translation": "大小:",
+ "defaultMessage": "Size:",
+ "description": "Label for file size",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_topic_name": {
+ "translation": "名称",
+ "defaultMessage": "Name",
+ "description": "Label for editing topic name",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_user_contacts": {
+ "translation": "往来:",
+ "defaultMessage": "Contacts:",
+ "description": "Label for user contacts",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_user_id": {
+ "translation": "地址:",
+ "defaultMessage": "ID:",
+ "description": "Label for user address (ID)",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_wire_transport": {
+ "translation": "线路传输:",
+ "defaultMessage": "Wire transport:",
+ "description": "Label for wire transport selection in SettingsView",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_you": {
+ "translation": "你:",
+ "defaultMessage": "You:",
+ "description": "Label for the current user",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_your_name": {
+ "translation": "你的姓名",
+ "defaultMessage": "Your name",
+ "description": "Label for full name editing",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_your_permissions": {
+ "translation": "你的权限:",
+ "defaultMessage": "Your permissions:",
+ "description": "Label for current user permissions",
+ "missing": false,
+ "obsolete": false
+ },
+ "last_seen_timestamp": {
+ "translation": "最后可见",
+ "defaultMessage": "Last seen",
+ "description": "Label for the timestamp of when the user or topic was last online",
+ "missing": false,
+ "obsolete": false
+ },
+ "leave_chat_warning": {
+ "translation": "您确定要退出此对话吗?",
+ "defaultMessage": "Are you sure you want to leave this conversation?",
+ "description": "Alert dialog warning when unsubscribing from a chat.",
+ "missing": false,
+ "obsolete": false
+ },
+ "link_contact_us": {
+ "translation": "联系我们",
+ "defaultMessage": "Contact Us",
+ "description": "Ancor text for contacting us by email",
+ "missing": false,
+ "obsolete": false
+ },
+ "link_privacy_policy": {
+ "translation": "隐私政策",
+ "defaultMessage": "Privacy Policy",
+ "description": "Ancor text for privacy policy link",
+ "missing": false,
+ "obsolete": false
+ },
+ "link_terms_of_service": {
+ "translation": "条款和条件",
+ "defaultMessage": "Terms of Service",
+ "description": "Ancor text for terms of service link",
+ "missing": false,
+ "obsolete": false
+ },
+ "login_prompt": {
+ "translation": "登录",
+ "defaultMessage": "Login",
+ "description": "Placeholer for username/login",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_archive_topic": {
+ "translation": "归档",
+ "defaultMessage": "Archive",
+ "description": "Move topic from the list of active chats to archive",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_block": {
+ "translation": "屏蔽",
+ "defaultMessage": "Block",
+ "description": "Block topic or user",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_clear_messages": {
+ "translation": "清空消息",
+ "defaultMessage": "Clear messages",
+ "description": "Delete all messages",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_clear_messages_for_all": {
+ "translation": "全部清除",
+ "defaultMessage": "Clear for All",
+ "description": "Delete all message(s) for all members",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_delete": {
+ "translation": "删除",
+ "defaultMessage": "Delete",
+ "description": "Delete selected messages",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_delete_for_all": {
+ "translation": "全部删除",
+ "defaultMessage": "Delete for All",
+ "description": "Delete selected message(s) for all members",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_delete_topic": {
+ "translation": "删除",
+ "defaultMessage": "Delete",
+ "description": "Delete entire topic",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_edit_permissions": {
+ "translation": "编辑权限",
+ "defaultMessage": "Edit permissions",
+ "description": "Menu item [Edit permissions]",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_info": {
+ "translation": "信息",
+ "defaultMessage": "Info",
+ "description": "Show extended topic information",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_member_delete": {
+ "translation": "移除",
+ "defaultMessage": "Remove",
+ "description": "Remove user from topic",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_mute": {
+ "translation": "静音",
+ "defaultMessage": "Mute",
+ "description": "Turn off notifications",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_restore_topic": {
+ "translation": "从存档中恢复",
+ "defaultMessage": "Restore",
+ "description": "Restore topic from archive",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_send_retry": {
+ "translation": "重试",
+ "defaultMessage": "Retry",
+ "description": "Retry sending message",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_unblock": {
+ "translation": "取消屏蔽",
+ "defaultMessage": "Unblock",
+ "description": "Unblock topic or user",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_unmute": {
+ "translation": "取消静音",
+ "defaultMessage": "Unmute",
+ "description": "Turn notifications on",
+ "missing": false,
+ "obsolete": false
+ },
+ "message_sending": {
+ "translation": "正在发送...",
+ "defaultMessage": "sending...",
+ "description": "Message being sent, in place of time stamp",
+ "missing": false,
+ "obsolete": false
+ },
+ "message_sending_failed": {
+ "translation": "发送失败",
+ "defaultMessage": "failed",
+ "description": "Failed to send message, in place of time stamp",
+ "missing": false,
+ "obsolete": false
+ },
+ "messages_not_readable": {
+ "translation": "无消息访问权限",
+ "defaultMessage": "no access to messages",
+ "description": "Message shown in topic without the read access",
+ "missing": false,
+ "obsolete": false
+ },
+ "messaging_disabled_prompt": {
+ "translation": "消息已禁用",
+ "defaultMessage": "Messaging disabled",
+ "description": "Prompt in SendMessage in read-only topic",
+ "missing": false,
+ "obsolete": false
+ },
+ "more_online_members": {
+ "translation": "还有{overflow}个",
+ "defaultMessage": "+{overflow} more",
+ "description": "Shown in MessagesView title bar when the number of online subscribers exceeds MAX_ONLINE_IN_TOPIC",
+ "missing": false,
+ "obsolete": false
+ },
+ "new_message_prompt": {
+ "translation": "新消息",
+ "defaultMessage": "New message",
+ "description": "Prompt in send message field",
+ "missing": false,
+ "obsolete": false
+ },
+ "new_password_placeholder": {
+ "translation": "输入新密码",
+ "defaultMessage": "Enter new password",
+ "description": "Placeholder for entering new password",
+ "missing": false,
+ "obsolete": false
+ },
+ "no_connection": {
+ "translation": "无连接",
+ "defaultMessage": "No connection",
+ "description": "Warning that the user is offline.",
+ "missing": false,
+ "obsolete": false
+ },
+ "no_contacts": {
+ "translation": "你尚无联系人 (._.)",
+ "defaultMessage": "You have no contacts :-(",
+ "description": "Shown in ContactsView when the user has no contacts",
+ "missing": false,
+ "obsolete": false
+ },
+ "numeric_confirmation_code_prompt": {
+ "translation": "仅数字",
+ "defaultMessage": "Numbers only",
+ "description": "Prompt for numeric conformation code",
+ "missing": false,
+ "obsolete": false
+ },
+ "online_now": {
+ "translation": "在线",
+ "defaultMessage": "online now",
+ "description": "Indicator that the user or topic is currently online",
+ "missing": false,
+ "obsolete": false
+ },
+ "password_prompt": {
+ "translation": "密码",
+ "defaultMessage": "Password",
+ "description": "Placeholder/prompt for entering password",
+ "missing": false,
+ "obsolete": false
+ },
+ "password_unchanged_prompt": {
+ "translation": "未改变",
+ "defaultMessage": "Unchanged",
+ "description": "Message in editor while password is unchanged",
+ "missing": false,
+ "obsolete": false
+ },
+ "peers_messaging_disabled": {
+ "translation": "成员间消息已禁用。",
+ "defaultMessage": "Peer's messaging is disabled.",
+ "description": "Shown when the p2p peer's messaging is disabled",
+ "missing": false,
+ "obsolete": false
+ },
+ "permission_admin": {
+ "translation": "批准 ({val})",
+ "defaultMessage": "Approve ({val})",
+ "description": "Name of A permission",
+ "missing": false,
+ "obsolete": false
+ },
+ "permission_delete": {
+ "translation": "删除 ({val})",
+ "defaultMessage": "Delete ({val})",
+ "description": "Name of D permission",
+ "missing": false,
+ "obsolete": false
+ },
+ "permission_join": {
+ "translation": "加入 ({val})",
+ "defaultMessage": "Join ({val})",
+ "description": "Name of J permission",
+ "missing": false,
+ "obsolete": false
+ },
+ "permission_owner": {
+ "translation": "所有者 ({val})",
+ "defaultMessage": "Owner ({val})",
+ "description": "Name of O permission",
+ "missing": false,
+ "obsolete": false
+ },
+ "permission_pres": {
+ "translation": "获取通知 ({val})",
+ "defaultMessage": "Get notified ({val})",
+ "description": "Name of P permission",
+ "missing": false,
+ "obsolete": false
+ },
+ "permission_read": {
+ "translation": "读取 ({val})",
+ "defaultMessage": "Read ({val})",
+ "description": "Name of R permission",
+ "missing": false,
+ "obsolete": false
+ },
+ "permission_share": {
+ "translation": "分享 ({val})",
+ "defaultMessage": "Share ({val})",
+ "description": "Name of S permission",
+ "missing": false,
+ "obsolete": false
+ },
+ "permission_write": {
+ "translation": "写入 ({val})",
+ "defaultMessage": "Write ({val})",
+ "description": "Name of W permission",
+ "missing": false,
+ "obsolete": false
+ },
+ "phone_dative": {
+ "translation": "电话",
+ "defaultMessage": "phone",
+ "description": "Dative case of 'phone', i.e. 'phone' in 'by phone'",
+ "missing": false,
+ "obsolete": false
+ },
+ "private_editing_placeholder": {
+ "translation": "仅自己可见",
+ "defaultMessage": "Visible to you only",
+ "description": "Placeholder for editing 'private'",
+ "missing": false,
+ "obsolete": false
+ },
+ "push_init_failed": {
+ "translation": "初始化推送通知失败",
+ "defaultMessage": "Failed to initialize push notifications",
+ "description": "Error message when push notifications have failed to initialize.",
+ "missing": false,
+ "obsolete": false
+ },
+ "reconnect_countdown": {
+ "translation": "连接已断开。{seconds} 秒后重新连接…",
+ "defaultMessage": "Disconnected. Reconnecting in {seconds}…",
+ "description": "Message shown when an app update is available.",
+ "missing": false,
+ "obsolete": false
+ },
+ "reconnect_now": {
+ "translation": "立即尝试",
+ "defaultMessage": "Try now",
+ "description": "Prompt for reconnecting now",
+ "missing": false,
+ "obsolete": false
+ },
+ "reload_update": {
+ "translation": "重新载入",
+ "defaultMessage": "Reload",
+ "description": "Call to action to reload application when update is available.",
+ "missing": false,
+ "obsolete": false
+ },
+ "report_chat_warning": {
+ "translation": "您确定要停止并报告此对话吗?",
+ "defaultMessage": "Are you sure you want to block and report this conversation?",
+ "description": "Alert dialog warning when reporting a conversation for abuse",
+ "missing": false,
+ "obsolete": false
+ },
+ "requested_permissions": {
+ "translation": "已请求",
+ "defaultMessage": "Requested",
+ "description": "Title for permissions",
+ "missing": false,
+ "obsolete": false
+ },
+ "save_attachment": {
+ "translation": "保存",
+ "defaultMessage": "save",
+ "description": "Call to save an attachment",
+ "missing": false,
+ "obsolete": false
+ },
+ "search_for_contacts": {
+ "translation": "使用搜索寻找联系人",
+ "defaultMessage": "Use search to find contacts",
+ "description": "Text shown in contacts view when user entered no search query.",
+ "missing": false,
+ "obsolete": false
+ },
+ "search_no_results": {
+ "translation": "搜索返回任何结果",
+ "defaultMessage": "Search returned no results",
+ "description": "Text shown in contacts view when query returned no results.",
+ "missing": false,
+ "obsolete": false
+ },
+ "search_placeholder": {
+ "translation": "列表如 email:alice@example.com, tel:+17025550003...",
+ "defaultMessage": "List like email:alice@example.com, tel:17025550003...",
+ "description": "Placeholder in contacts search field",
+ "missing": false,
+ "obsolete": false
+ },
+ "sidepanel_title_acc_notifications": {
+ "translation": "通知",
+ "defaultMessage": "Notifications",
+ "description": "Sidepanel title for AccNotificationsView.",
+ "missing": false,
+ "obsolete": false
+ },
+ "sidepanel_title_acc_support": {
+ "translation": "支持",
+ "defaultMessage": "Support",
+ "description": "Sidepanel title for AccSupportView.",
+ "missing": false,
+ "obsolete": false
+ },
+ "sidepanel_title_account_settings": {
+ "translation": "帐号设定",
+ "defaultMessage": "Account Settings",
+ "description": "Sidepanel title for AccountSettingsView.",
+ "missing": false,
+ "obsolete": false
+ },
+ "sidepanel_title_archive": {
+ "translation": "已存档会话",
+ "defaultMessage": "Archived Chats",
+ "description": "Sidepanel title for ContactsView-Archive.",
+ "missing": false,
+ "obsolete": false
+ },
+ "sidepanel_title_blocked": {
+ "translation": "被阻止的聊天",
+ "defaultMessage": "Blocked Chats",
+ "description": "Sidepanel title for ContactsView-Blocked.",
+ "missing": false,
+ "obsolete": false
+ },
+ "sidepanel_title_cred": {
+ "translation": "确认凭据",
+ "defaultMessage": "Confirm Credentials",
+ "description": "Sidepanel title for ValidationView.",
+ "missing": false,
+ "obsolete": false
+ },
+ "sidepanel_title_login": {
+ "translation": "登录",
+ "defaultMessage": "Sign In",
+ "description": "Sidepanel title for LoginView.",
+ "missing": false,
+ "obsolete": false
+ },
+ "sidepanel_title_newtpk": {
+ "translation": "开始新会话",
+ "defaultMessage": "Start New Chat",
+ "description": "Sidepanel title for NewTopicView.",
+ "missing": false,
+ "obsolete": false
+ },
+ "sidepanel_title_register": {
+ "translation": "创建账户",
+ "defaultMessage": "Create Account",
+ "description": "Sidepanel title for CreateAccountView.",
+ "missing": false,
+ "obsolete": false
+ },
+ "sidepanel_title_reset": {
+ "translation": "重置密码",
+ "defaultMessage": "Reset Password",
+ "description": "Sidepanel title for PasswordResetView.",
+ "missing": false,
+ "obsolete": false
+ },
+ "sidepanel_title_settings": {
+ "translation": "设置",
+ "defaultMessage": "Settings",
+ "description": "Sidepanel title for SettingsView.",
+ "missing": false,
+ "obsolete": false
+ },
+ "stay_logged_in": {
+ "translation": "保持登录",
+ "defaultMessage": "Stay logged in",
+ "description": "Label for a checkbox",
+ "missing": false,
+ "obsolete": false
+ },
+ "tabtitle_find_user": {
+ "translation": "搜索",
+ "defaultMessage": "find",
+ "description": "Tab title Find",
+ "missing": false,
+ "obsolete": false
+ },
+ "tabtitle_group_by_id": {
+ "translation": "通过 id",
+ "defaultMessage": "by id",
+ "description": "Tab title Find topic by ID",
+ "missing": false,
+ "obsolete": false
+ },
+ "tabtitle_new_group": {
+ "translation": "新群组",
+ "defaultMessage": "new group",
+ "description": "Tab title New Group",
+ "missing": false,
+ "obsolete": false
+ },
+ "tags_editor_no_tags": {
+ "translation": "添加一些标签",
+ "defaultMessage": "Add some tags",
+ "description": "Tag editor prompt when no tags are found.",
+ "missing": false,
+ "obsolete": false
+ },
+ "tags_not_found": {
+ "translation": "尚未定义标签。添加一些。",
+ "defaultMessage": "No tags defined. Add some.",
+ "description": "",
+ "missing": false,
+ "obsolete": false
+ },
+ "title_all_contacts": {
+ "translation": "全部联系人",
+ "defaultMessage": "All Contacts",
+ "description": "Section title [All Contacts]",
+ "missing": false,
+ "obsolete": false
+ },
+ "title_group_members": {
+ "translation": "群组成员",
+ "defaultMessage": "Group Members",
+ "description": "Section title",
+ "missing": false,
+ "obsolete": false
+ },
+ "title_manage_tags": {
+ "translation": "管理标签",
+ "defaultMessage": "Manage",
+ "description": "Section title for the list of tags",
+ "missing": false,
+ "obsolete": false
+ },
+ "title_not_found": {
+ "translation": "无法找到",
+ "defaultMessage": "Not found",
+ "description": "Title shown when topic is not found",
+ "missing": false,
+ "obsolete": false
+ },
+ "title_permissions": {
+ "translation": "权限",
+ "defaultMessage": "Permissions",
+ "description": "Section title",
+ "missing": false,
+ "obsolete": false
+ },
+ "title_tag_manager": {
+ "translation": "标签(用户发现)",
+ "defaultMessage": "Tags (search & discovery)",
+ "description": "Section title for TagManager",
+ "missing": false,
+ "obsolete": false
+ },
+ "topic_block_warning": {
+ "translation": "您确定要阻止此对话吗?",
+ "defaultMessage": "Are you sure you want to block this conversation?",
+ "description": "Alert warning when blocking a topic.",
+ "missing": false,
+ "obsolete": false
+ },
+ "topic_delete_warning": {
+ "translation": "您确定要删除此对话吗?",
+ "defaultMessage": "Are you sure you want to delete this conversation? It cannot be undone.",
+ "description": "Alert warning when deleting entire topic",
+ "missing": false,
+ "obsolete": false
+ },
+ "topic_name_editing_placeholder": {
+ "translation": "群组自由格式名称",
+ "defaultMessage": "Freeform name of the group",
+ "description": "Prompt for entering topic name",
+ "missing": false,
+ "obsolete": false
+ },
+ "unnamed_topic": {
+ "translation": "未命名",
+ "defaultMessage": "Unnamed",
+ "description": "Title shown when the topic has no name",
+ "missing": false,
+ "obsolete": false
+ },
+ "update_available": {
+ "translation": "更新可用。",
+ "defaultMessage": "Update available.",
+ "description": "Message shown when an app update is available.",
+ "missing": false,
+ "obsolete": false
+ },
+ "upload_finishing": {
+ "translation": "正在结束...",
+ "defaultMessage": "finishing...",
+ "description": "Notification that upload is finishing",
+ "missing": false,
+ "obsolete": false
+ },
+ "user_not_found": {
+ "translation": "未找到",
+ "defaultMessage": "Not found",
+ "description": "In place of a user's full name when the user is not found.",
+ "missing": false,
+ "obsolete": false
+ },
+ "validate_credential_action": {
+ "translation": "确认",
+ "defaultMessage": "confirm",
+ "description": "Validate credentail call to action",
+ "missing": false,
+ "obsolete": false
+ },
+ "description_editing_placeholder": {
+ "translation": "说明(可选)",
+ "defaultMessage": "Description (optional)",
+ "description": "Placeholder for editing topic description",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_description": {
+ "translation": "说明",
+ "defaultMessage": "Description",
+ "description": "Label for editing topic description",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_security": {
+ "translation": "安全",
+ "defaultMessage": "Security",
+ "description": "Navigaton button for security panel.",
+ "missing": false,
+ "obsolete": false
+ },
+ "panel_title_crop": {
+ "translation": "拖动调整",
+ "defaultMessage": "Drag to Adjust",
+ "description": "Title for AvatarCropView.",
+ "missing": false,
+ "obsolete": false
+ },
+ "panel_title_general": {
+ "translation": "常用设定",
+ "defaultMessage": "General",
+ "description": "Title for TopicCommon.",
+ "missing": false,
+ "obsolete": false
+ },
+ "panel_title_members": {
+ "translation": "成员",
+ "defaultMessage": "Members",
+ "description": "Title for managing group members view.",
+ "missing": false,
+ "obsolete": false
+ },
+ "panel_title_security": {
+ "translation": "安全",
+ "defaultMessage": "Security",
+ "description": "Title for TopicSecirity and AccSecurity.",
+ "missing": false,
+ "obsolete": false
+ },
+ "panel_title_info": {
+ "translation": "信息",
+ "defaultMessage": "Info",
+ "description": "Title for InfoView",
+ "missing": false,
+ "obsolete": false
+ },
+ "permissions_anonymous": {
+ "translation": "匿名",
+ "defaultMessage": "Anonymous",
+ "description": "Title for editing default anonymous permissions",
+ "missing": false,
+ "obsolete": false
+ },
+ "permissions_authenticated": {
+ "translation": "已认证",
+ "defaultMessage": "Authenticated",
+ "description": "Title for editing default authenticated permissions",
+ "missing": false,
+ "obsolete": false
+ },
+ "topic_delete": {
+ "translation": "删除聊天",
+ "defaultMessage": "Delete Conversation",
+ "description": "Alert title when deleting the topic.",
+ "missing": false,
+ "obsolete": false
+ },
+ "permissions_user": {
+ "translation": "用户权限",
+ "defaultMessage": "User's Permissions",
+ "description": "Title for editing user's permissions",
+ "missing": false,
+ "obsolete": false
+ },
+ "password_reset_email_sent": {
+ "translation": "一封电子邮件已发送至 {email}。按照电子邮件中的说明重置密码。",
+ "defaultMessage": "An email has been sent to {email}. Follow the directions in the email to reset your password.",
+ "description": "Notification that the email with password reset instructions has been sent",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_unarchive_topic": {
+ "translation": "存档:",
+ "defaultMessage": "Archived:",
+ "description": "Label for unarchiving the topic",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_reply": {
+ "translation": "",
+ "defaultMessage": "Reply",
+ "description": "Reply to message",
+ "missing": true,
+ "obsolete": false
+ }
}
diff --git a/src/lib/blob-helpers.js b/src/lib/blob-helpers.js
index eeeb7920..c598ea9b 100644
--- a/src/lib/blob-helpers.js
+++ b/src/lib/blob-helpers.js
@@ -6,9 +6,9 @@ import { bytesToHumanSize } from './strformat.js'
export const SUPPORTED_IMAGE_FORMATS = ['image/jpeg', 'image/gif', 'image/png', 'image/svg', 'image/svg+xml'];
export const MIME_EXTENSIONS = ['jpg', 'gif', 'png', 'svg', 'svg'];
-// Make a data: URL from public.photo
-export function makeImageDataUrl(photo) {
- if (photo) {
+// Get an URL from a theCard photo: either create a data: URL or return reference URL.
+export function makeImageUrl(photo) {
+ if (photo && typeof photo == 'object') {
if (photo.data && photo.type) {
const mime = photo.type.startsWith('image/') ? photo.type : ('image/' + photo.type);
return 'data:' + mime + ';base64,' + photo.data;
@@ -130,6 +130,39 @@ export function imageScaled(fileOrBlob, maxWidth, maxHeight, maxSize, forceSquar
img.src = URL.createObjectURL(fileOrBlob);
}
+// Scale and crop image according to specified dimensions.
+// The coordinates are in unscaled image pixels, i.e. cut the rectangle first then scale it.
+export function imageCrop(mime, objURL, left, top, width, height, scale, onSuccess, onError) {
+ const img = new Image();
+ img.crossOrigin = 'Anonymous';
+ img.onerror = function(err) {
+ onError("Image format unrecognized");
+ }
+ img.onload = async function() {
+ // Once the image is loaded, the URL is no longer needed.
+ URL.revokeObjectURL(img.src);
+
+ let canvas = document.createElement('canvas');
+ canvas.width = width * scale;
+ canvas.height = height * scale;
+ let ctx = canvas.getContext('2d');
+ ctx.imageSmoothingEnabled = true;
+ ctx.drawImage(this, left, top, width, height, 0, 0, canvas.width, canvas.height);
+
+ mime = SUPPORTED_IMAGE_FORMATS.includes(mime) ? mime : 'image/jpeg';
+ // Generate blob to check size of the image.
+ let blob = await new Promise(resolve => canvas.toBlob(resolve, mime));
+ if (!blob) {
+ onError("Unsupported image format");
+ return;
+ }
+ // Allow GC.
+ canvas = null;
+ onSuccess(mime, blob, width, height);
+ };
+ img.src = objURL;
+}
+
// Convert File to base64 string.
export function fileToBase64(file, onSuccess) {
const reader = new FileReader();
@@ -157,7 +190,7 @@ export function filePasted(event, onImageSuccess, onAttachmentSuccess, onError)
if (item.kind === 'file') {
var file = item.getAsFile();
if (!file) {
- console.log("Failed to get file object from pasted file item", item.kind, item.type);
+ console.error("Failed to get file object from pasted file item", item.kind, item.type);
continue;
}
if (file.type && file.type.split('/')[0] == 'image') {
@@ -205,9 +238,33 @@ export function base64ReEncode(str) {
try {
str = btoa(atob(str));
} catch(err) {
- console.log("Failed to base64 re-encode string.", err);
+ console.error("Failed to base64 re-encode string.", err);
str = null;
}
}
return str;
}
+
+// Convert a base64 encoded string with the provided mime type into a Blob.
+export function base64ToBlob(str, mime) {
+ if (!str) {
+ return null;
+ }
+
+ try {
+ // Make blob.
+ const bin = atob(str);
+ const length = bin.length;
+ const buf = new ArrayBuffer(length);
+ const arr = new Uint8Array(buf);
+ for (let i = 0; i < length; i++) {
+ arr[i] = bin.charCodeAt(i);
+ }
+
+ return new Blob([buf], { type: mime });
+ } catch(err) {
+ console.log("Failed to convert base64 to blob: ", err);
+ }
+
+ return null;
+}
diff --git a/src/lib/navigation.js b/src/lib/navigation.js
index aa9cadf1..3511d653 100644
--- a/src/lib/navigation.js
+++ b/src/lib/navigation.js
@@ -9,11 +9,11 @@ export default class HashNavigation {
const params = {};
let path = [];
if (parts[0]) {
- path = parts[0].substr(1).split('/');
+ path = parts[0].replace('#', '').split('/');
}
if (parts[1]) {
parts[1].split('&').forEach(function(part) {
- let item = part.split('=');
+ const item = part.split('=');
if (item[0]) {
params[decodeURIComponent(item[0])] = decodeURIComponent(item[1]);
}
@@ -58,6 +58,16 @@ export default class HashNavigation {
return this.composeUrlHash(parsed.path, parsed.params);
}
+ static setUrlInfoPanel(hash, infopanel) {
+ const parsed = this.parseUrlHash(hash);
+ if (infopanel) {
+ parsed.params.info = infopanel;
+ } else {
+ delete parsed.params.info;
+ }
+ return this.composeUrlHash(parsed.path, parsed.params);
+ }
+
static setUrlTopic(hash, topic) {
const parsed = this.parseUrlHash(hash);
parsed.path[1] = topic;
diff --git a/src/lib/strformat.js b/src/lib/strformat.js
index bd1a77e7..b0b30c54 100644
--- a/src/lib/strformat.js
+++ b/src/lib/strformat.js
@@ -39,7 +39,7 @@ export function bytesToHumanSize(bytes) {
// Get 32 bit integer hash value for a string. Ideally it should produce the same value
// as Java's String#hash().
-export function stringHash(value) {
+function stringToColorHash(value) {
let hash = 0;
value = '' + value;
for (let i = 0; i < value.length; i++) {
@@ -48,3 +48,17 @@ export function stringHash(value) {
}
return hash;
}
+
+// User avatar letter color id.
+export function letterTileColorId(userId) {
+ return Math.abs(stringToColorHash(userId)) % 16;
+}
+
+// Converts user or topic ID to a CSS color class. Ideally it should produce the same color value as Java version.
+// params:
+// - {string} id: user or topic ID
+// - {boolean} light: light or dark version of the color.
+// - {boolean} fg: foreground or background color.
+export function idToColorClass(id, light, fg) {
+ return (light ? 'lt-' : 'dk-') + (fg ? 'fg-' : 'bg-') + letterTileColorId(id);
+}
diff --git a/src/lib/utils.js b/src/lib/utils.js
index 947c2309..168ad323 100644
--- a/src/lib/utils.js
+++ b/src/lib/utils.js
@@ -20,9 +20,10 @@ export function updateFavicon(count) {
}
// Create theCard which represents user's or topic's "public" info.
-export function theCard(fn, imageUrl, imageMimeType) {
+export function theCard(fn, imageUrl, imageMimeType, note) {
let card = null;
fn = fn && fn.trim();
+ note = note && note.trim();
if (fn) {
card = {
@@ -30,6 +31,11 @@ export function theCard(fn, imageUrl, imageMimeType) {
};
}
+ if (typeof note == 'string') {
+ card = card || {};
+ card.note = note ? note : Tinode.DEL_CHAR;
+ }
+
if (imageUrl) {
card = card || {};
let mimeType = imageMimeType;
@@ -38,10 +44,12 @@ export function theCard(fn, imageUrl, imageMimeType) {
if (matches) {
mimeType = matches[1];
card.photo = {
- data: imageUrl.substring(imageUrl.indexOf(',') + 1)
+ data: imageUrl.substring(imageUrl.indexOf(',') + 1),
+ ref: Tinode.DEL_CHAR
};
} else {
card.photo = {
+ data: Tinode.DEL_CHAR,
ref: imageUrl
};
}
@@ -107,10 +115,9 @@ export function isUrlRelative(url) {
// Ensure URL does not present an XSS risk. Optional allowedSchemes may contain an array of
// strings with permitted URL schemes, such as ['ftp', 'ftps']; otherwise accept http and https only.
-// If apikey and/or token is defined, it's appended to relative URL.
export function sanitizeUrl(url, allowedSchemes) {
- if (!url) {
- return null;
+ if (typeof url != 'string') {
+ return url;
}
// Strip control characters and whitespace. They are not valid URL characters anyway.
@@ -139,7 +146,6 @@ export function sanitizeUrl(url, allowedSchemes) {
// Ensure URL is suitable for field: the URL must be a relative URL or
// have http:, https:, blob: or data: scheme.
-// The relative URL is appended with the API key and/or auth token.
// In case of data: scheme, the URL must start with a 'data:image/XXXX;base64,'.
export function sanitizeImageUrl(url) {
if (!url) {
@@ -165,7 +171,7 @@ export function deliveryMarker(received) {
case Tinode.MESSAGE_STATUS_SENDING:
return { name: 'access_time' }; // watch face
case Tinode.MESSAGE_STATUS_FAILED:
- return { name: 'warning', color: 'amber' }; // yellow icon /!\
+ return { name: 'warning', color: 'danger-color' }; // yellow icon /!\
case Tinode.MESSAGE_STATUS_SENT:
return { name: 'done' }; // checkmark
case Tinode.MESSAGE_STATUS_RECEIVED:
diff --git a/src/messages.json b/src/messages.json
index 65a86285..f26f90db 100644
--- a/src/messages.json
+++ b/src/messages.json
@@ -1,1459 +1 @@
-{
- "de": {
- "validate_credential_action": "bestätigen",
- "title_tag_manager": "Schlagworte (Nutzer entdecken)",
- "label_user_contacts": "Kontakte:",
- "button_add_another": "Hinzufügen",
- "label_message_sound": "Benachrichtigungston:",
- "label_push_notifications": "Benachrichtigungsmeldungen:",
- "label_push_notifications_disabled": "Benachrichtigungsmeldungen (erfordert HTTPS):",
- "label_incognito_mode": "inkognito-Modus:",
- "delete_account": "Konto löschen",
- "delete_account_arning": "Möchten Sie das Konto wirklich löschen? Das kann nicht rückgängig gemacht werden",
- "label_password": "Passwort",
- "password_unchanged_prompt": "unverändert",
- "button_logout": "Abmelden",
- "button_delete_account": "Konto löschen",
- "label_default_access_mode": "Standard Zugriffsmodus:",
- "blocked_contacts_link": "Blockierte Kontakte ({count})",
- "link_contact_us": "Kontakt",
- "link_terms_of_service": "Nutzungsbedingungen",
- "link_privacy_policy": "Datenschutzerklärung",
- "label_sdk": "SDK:",
- "label_server_address": "Server Adresse:",
- "archived_contacts": "Archivierte Kontakte ({count})",
- "contacts_not_found": "Sie haben keine Unterhaltungen
¯∖_(ツ)_/¯",
- "full_name_prompt": "Vollständiger Name, z.B. Lisa Musterfrau",
- "email_prompt": "E-Mail, z.B. lisam@beispiel.de",
- "button_sign_up": "Anmelden",
- "label_your_name": "Ihr Name",
- "label_user_id": "ID:",
- "button_edit": "Bearbeiten",
- "requested_permissions": "Angefordert",
- "granted_permissions": "Erteilt",
- "menu_item_edit_permissions": "Berechtigungen ändern",
- "label_other_user": "Andere",
- "action_clear_messages": "Nachrichten leeren",
- "clear_messages_warning": "Sind Sie sicher, dass Sie diese Unterhaltung für alle leeren wollen? Das kann nicht rückgängig gemacht werden.",
- "action_delete_messages": "Nachrichten für alle löschen",
- "delete_messages_warning": "Sind Sie sicher, dass Sie diese Unterhaltung für alle löschen wollen? Das kann nicht rückgängig gemacht werden.",
- "action_leave_chat": "Unterhaltung verlassen",
- "leave_chat_warning": "Möchten Sie diese Unterhaltung wirklich verlassen?",
- "action_block_contact": "Kontakt blockieren",
- "block_contact_warning": "Möchten Sie diesen Kontakt wirklich blockieren?",
- "action_report_chat": "Unterhaltung melden",
- "report_chat_warning": "Möchten Sie diese Unterhaltung wirklich blockieren und melden?",
- "title_info": "Info",
- "label_topic_name": "Name",
- "label_private": "Privater Kommentar",
- "private_editing_placeholder": "Nur für Sie sichtbar",
- "label_muting_topic": "Stumm geschaltet:",
- "action_more": "Mehr",
- "label_your_permissions": "Ihre Berechtigungen:",
- "label_permissions": "Berechtigungen:",
- "label_you": "Sie:",
- "label_default_access": "Standard Zugriffsmodus:",
- "label_group_members": "Gruppenmitglieder:",
- "button_add_members": "Mitglieder hinzufügen",
- "group_has_no_members": "Keine Mitglieder",
- "login_prompt": "Anmelden",
- "password_prompt": "Passwort",
- "stay_logged_in": "Angemeldet bleiben",
- "forgot_password_link": "Passwort vergessen?",
- "button_sign_in": "Anmelden",
- "label_client": "Client:",
- "label_server": "Server:",
- "online_now": "jetzt online",
- "last_seen_timestamp": "Zuletzt gesehen",
- "title_not_found": "Nicht gefunden",
- "unnamed_topic": "Unbenannt",
- "messages_not_readable": "Neue Nachrichten können nicht gelesen werden",
- "peers_messaging_disabled": "Gruppennachrichten sind deaktiviert",
- "enable_peers_messaging": "Aktivieren",
- "search_for_contacts": "Nutzen Sie die Suche um Kontakte zu finden",
- "search_no_results": "Die Suche hatte keine Ergebnisse",
- "tabtitle_find_user": "Suchen",
- "tabtitle_new_group": "Neue Gruppe",
- "tabtitle_group_by_id": "nach ID",
- "new_password_placeholder": "Geben Sie ein neues Passwort ein",
- "label_reset_password": "Passwort per E-Mail wiederherstellen:",
- "credential_email_prompt": "E-Mail Adresse für Registrierung",
- "button_reset": "Zurücksetzen",
- "button_send_request": "Anfrage senden",
- "label_server_to_use": "Server verwenden:",
- "label_wire_transport": "Übertragung per Kabel:",
- "button_update": "Aktualisieren",
- "sidepanel_title_login": "Anmelden",
- "sidepanel_title_register": "Konto erstellen",
- "sidepanel_title_settings": "Einstellungen",
- "sidepanel_title_account_settings": "Konto-Einstellungen",
- "sidepanel_title_acc_general": "Allgemein",
- "sidepanel_title_acc_security": "Sicherheit",
- "sidepanel_title_acc_notifications": "Benachrichtigungen",
- "sidepanel_title_acc_support": "Unterstützung",
- "sidepanel_title_newtpk": "Neue Unterhaltung starten",
- "sidepanel_title_cred": "Anmeldeinformationen bestätigen",
- "sidepanel_title_reset": "Passwort zurücksetzen",
- "sidepanel_title_archive": "Archivierte Unterhaltungen",
- "sidepanel_title_blocked": "Blockierte Unterhaltungen",
- "reconnect_countdown": "Getrennt. Wiederverbinden in {seconds}…",
- "reconnect_now": "Jetzt probieren",
- "push_init_failed": "Initialisierung von Push-Benachrichtigungen fehlgeschlagen",
- "invalid_security_token": "Ungültiger Sicherheitsschlüssel",
- "no_connection": "Keine Verbindung",
- "code_doesnot_match": "Code stimmt nicht überein",
- "update_available": "Aktualisierung verfügbar.",
- "reload_update": "Neu laden",
- "phone_dative": "Telefon",
- "email_dative": "E-Mail",
- "enter_confirmation_code_prompt": "Geben Sie den Bestätigungscode ein, der per {method} geschickt wurde:",
- "numeric_confirmation_code_prompt": "Nur zahlen",
- "button_confirm": "Bestätigen",
- "save_attachment": "Speichern",
- "deleted_content": "Inhalt gelöscht",
- "invalid_content": "ungültiger Inhalt",
- "user_not_found": "Nicht gefunden",
- "badge_you": "Sie",
- "badge_owner": "Besitzer",
- "menu_item_info": "Info",
- "menu_item_clear_messages": "Nachrichten leeren",
- "menu_item_clear_messages_for_all": "Für alle leeren",
- "menu_item_delete": "Löschen",
- "menu_item_delete_for_all": "Für alle löschen",
- "menu_item_send_retry": "Wiederholen",
- "menu_item_mute": "Unterhaltung stumm schalten",
- "menu_item_unmute": "Stumm schalten beenden",
- "menu_item_delete_topic": "Entfernen",
- "topic_delete_warning": "Möchten Sie diese Unterhaltung wirklich löschen?",
- "menu_item_unblock": "Blockierung aufheben",
- "menu_item_block": "Blockieren",
- "topic_block_warning": "Möchten Sie diese Unterhaltung wirklich blockieren?",
- "menu_item_member_delete": "Entfernen",
- "menu_item_archive_topic": "Archivieren",
- "action_cancel": "Abbrechen",
- "upload_finishing": "wird abgeschlossen...",
- "no_contacts": "Sie haben keine Kontakte :-(",
- "contacts_not_found_short": "Keine Kontakte für ''{query}''",
- "title_group_members": "Gruppenmitglieder",
- "title_all_contacts": "Alle Kontakte",
- "button_ok": "OK",
- "button_cancel": "Abbrechen",
- "more_online_members": "+{overflow} mehr",
- "download_action": "herunterladen",
- "label_file_name": "Dateiname:",
- "label_content_type": "Inhaltsart:",
- "label_size": "Größe:",
- "chat_invitation": "Sie sind eingeladen, an einem neuen Chat teilzunehmen. Was möchten Sie tun?",
- "chat_invitation_accept": "Akzeptieren",
- "chat_invitation_ignore": "Ignorieren",
- "chat_invitation_block": "Blockieren",
- "error_invalid_id": "ungültige ID",
- "group_user_id_prompt": "Gruppe oder Benutzer ID",
- "button_subscribe": "Abbonieren",
- "topic_name_editing_placeholder": "Freiform Name der Gruppe",
- "button_create": "Erstellen",
- "permission_join": "Beitreten ({val})",
- "permission_read": "Lesen ({val})",
- "permission_write": "Schreiben ({val})",
- "permission_pres": "Benachrichtigt werden ({val})",
- "permission_admin": "Bestätigen ({val})",
- "permission_share": "Teilen ({val})",
- "permission_delete": "Entfernen ({val})",
- "permission_owner": "Besitzer ({val})",
- "title_permissions": "Berechtigungen",
- "message_sending": "wird gesendet...",
- "message_sending_failed": "fehlgeschlagen",
- "search_placeholder": "Liste: email:lisa@beispiel.de, tel:17025550003...",
- "messaging_disabled_prompt": "Nachrichtenübermittlung deaktiviert",
- "new_message_prompt": "Neue Nachricht",
- "image_caption_prompt": "Bildunterschrift",
- "file_attachment_too_large": "Die Dateigröße {size} überschreitet das Limit von {limit}.",
- "cannot_initiate_file_upload": "Datei kann nicht hochgeladen werden.",
- "tags_not_found": "Keine Schlagworte definiert. Erstellen Sie welche.",
- "tags_editor_no_tags": "Schlagworte hinzufügen",
- "title_manage_tags": "Verwalten",
- "channel_prompt": "Dies ist ein Sender",
- "channel": "Sender",
- "drafty_attachment": "Dateianhang",
- "drafty_form": "Formular:",
- "drafty_image": "Bild",
- "topic_delete": "Chat löschen",
- "password_reset_email_sent": "Eine E-Mail wurde an {email} gesendet. Folgen Sie den Anweisungen in der E-Mail, um Ihr Passwort zurückzusetzen.",
- "menu_item_restore_topic": "Wiederherstellen"
- },
- "en": {
- "action_block_contact": "Block Contact",
- "action_cancel": "cancel",
- "action_clear_messages": "Clear Messages",
- "action_delete_messages": "Clear Messages for All",
- "action_leave_chat": "Leave Conversation",
- "action_more": "More",
- "action_report_chat": "Report Conversation",
- "archived_contacts": "Archived contacts ({count})",
- "badge_owner": "owner",
- "badge_you": "you",
- "block_contact_warning": "Are you sure you want to block this contact?",
- "blocked_contacts_link": "Blocked contacts ({count})",
- "button_add_another": "Add another",
- "button_add_members": "Add members",
- "button_cancel": "Cancel",
- "button_confirm": "Confirm",
- "button_create": "Create",
- "button_delete_account": "Delete account",
- "button_edit": "Edit",
- "button_logout": "Logout",
- "button_ok": "OK",
- "button_reset": "Reset",
- "button_send_request": "Send request",
- "button_sign_in": "Sign in",
- "button_sign_up": "Sign up",
- "button_subscribe": "Subscribe",
- "button_update": "Update",
- "cannot_initiate_file_upload": "Cannot initiate file upload.",
- "channel": "channel",
- "channel_prompt": "This is a channel",
- "chat_invitation": "You are invited to start a new chat. What would you like to do?",
- "chat_invitation_accept": "Accept",
- "chat_invitation_block": "Block",
- "chat_invitation_ignore": "Ignore",
- "clear_messages_warning": "Are you sure you want to clear all messages? It cannot be undone.",
- "code_doesnot_match": "Code does not match",
- "contacts_not_found": "You have no chats
¯∖_(ツ)_/¯",
- "contacts_not_found_short": "No contacts match ''{query}''",
- "credential_email_prompt": "Your registration email",
- "delete_account": "Delete account",
- "delete_account_arning": "Are you sure you want to delete your account? It cannot be undone.",
- "delete_messages_warning": "Are you sure you want to delete all messages for everyone? It cannot be undone.",
- "deleted_content": "content deleted",
- "download_action": "download",
- "drafty_attachment": "Attachment",
- "drafty_form": "Form:",
- "drafty_image": "Picture",
- "email_dative": "email",
- "email_prompt": "Email, e.g. jdoe@example.com",
- "enable_peers_messaging": "Enable",
- "enter_confirmation_code_prompt": "Enter confirmation code sent to you by {method}:",
- "error_invalid_id": "Invalid ID",
- "file_attachment_too_large": "The file size {size} exceeds the {limit} limit.",
- "forgot_password_link": "Forgot password?",
- "full_name_prompt": "Full name, e.g. John Doe",
- "granted_permissions": "Granted",
- "group_has_no_members": "No members",
- "group_user_id_prompt": "Group or User ID",
- "image_caption_prompt": "Image caption",
- "invalid_content": "invalid content",
- "invalid_security_token": "Invalid security token",
- "label_client": "Client:",
- "label_content_type": "Content type:",
- "label_default_access": "Default access mode:",
- "label_default_access_mode": "Default access mode:",
- "label_file_name": "File name:",
- "label_group_members": "Group members:",
- "label_incognito_mode": "Incognito mode:",
- "label_message_sound": "Message sound:",
- "label_muting_topic": "Muted:",
- "label_other_user": "Other",
- "label_password": "Password",
- "label_permissions": "Permissions:",
- "label_private": "Private comment",
- "label_push_notifications": "Notification alerts:",
- "label_push_notifications_disabled": "Notification alerts (requires HTTPS):",
- "label_reset_password": "Send a password reset email:",
- "label_sdk": "SDK:",
- "label_server": "Server:",
- "label_server_address": "Server address:",
- "label_server_to_use": "Server to use:",
- "label_size": "Size:",
- "label_topic_name": "Name",
- "label_user_contacts": "Contacts:",
- "label_user_id": "ID:",
- "label_wire_transport": "Wire transport:",
- "label_you": "You:",
- "label_your_name": "Your name",
- "label_your_permissions": "Your permissions:",
- "last_seen_timestamp": "Last seen",
- "leave_chat_warning": "Are you sure you want to leave this conversation?",
- "link_contact_us": "Contact Us",
- "link_privacy_policy": "Privacy Policy",
- "link_terms_of_service": "Terms of Service",
- "login_prompt": "Login",
- "menu_item_archive_topic": "Archive",
- "menu_item_block": "Block",
- "menu_item_clear_messages": "Clear messages",
- "menu_item_clear_messages_for_all": "Clear for All",
- "menu_item_delete": "Delete",
- "menu_item_delete_for_all": "Delete for All",
- "menu_item_delete_topic": "Delete",
- "menu_item_edit_permissions": "Edit permissions",
- "menu_item_info": "Info",
- "menu_item_member_delete": "Remove",
- "menu_item_mute": "Mute",
- "menu_item_reply": "Reply",
- "menu_item_restore_topic": "Restore",
- "menu_item_send_retry": "Retry",
- "menu_item_unblock": "Unblock",
- "menu_item_unmute": "Unmute",
- "message_sending": "sending...",
- "message_sending_failed": "failed",
- "messages_not_readable": "no access to messages",
- "messaging_disabled_prompt": "Messaging disabled",
- "more_online_members": "+{overflow} more",
- "new_message_prompt": "New message",
- "new_password_placeholder": "Enter new password",
- "no_connection": "No connection",
- "no_contacts": "You have no contacts :-(",
- "numeric_confirmation_code_prompt": "Numbers only",
- "online_now": "online now",
- "password_prompt": "Password",
- "password_reset_email_sent": "An email has been sent to {email}. Follow the directions in the email to reset your password.",
- "password_unchanged_prompt": "Unchanged",
- "peers_messaging_disabled": "Peer's messaging is disabled.",
- "permission_admin": "Approve ({val})",
- "permission_delete": "Delete ({val})",
- "permission_join": "Join ({val})",
- "permission_owner": "Owner ({val})",
- "permission_pres": "Get notified ({val})",
- "permission_read": "Read ({val})",
- "permission_share": "Share ({val})",
- "permission_write": "Write ({val})",
- "phone_dative": "phone",
- "private_editing_placeholder": "Visible to you only",
- "push_init_failed": "Failed to initialize push notifications",
- "reconnect_countdown": "Disconnected. Reconnecting in {seconds}…",
- "reconnect_now": "Try now",
- "reload_update": "Reload",
- "report_chat_warning": "Are you sure you want to block and report this conversation?",
- "requested_permissions": "Requested",
- "save_attachment": "save",
- "search_for_contacts": "Use search to find contacts",
- "search_no_results": "Search returned no results",
- "search_placeholder": "List like email:alice@example.com, tel:17025550003...",
- "sidepanel_title_acc_general": "General",
- "sidepanel_title_acc_notifications": "Notifications",
- "sidepanel_title_acc_security": "Security",
- "sidepanel_title_acc_support": "Support",
- "sidepanel_title_account_settings": "Account Settings",
- "sidepanel_title_archive": "Archived Chats",
- "sidepanel_title_blocked": "Blocked Chats",
- "sidepanel_title_cred": "Confirm Credentials",
- "sidepanel_title_login": "Sign In",
- "sidepanel_title_newtpk": "Start New Chat",
- "sidepanel_title_register": "Create Account",
- "sidepanel_title_reset": "Reset Password",
- "sidepanel_title_settings": "Settings",
- "stay_logged_in": "Stay logged in",
- "tabtitle_find_user": "find",
- "tabtitle_group_by_id": "by id",
- "tabtitle_new_group": "new group",
- "tags_editor_no_tags": "Add some tags",
- "tags_not_found": "No tags defined. Add some.",
- "title_all_contacts": "All Contacts",
- "title_group_members": "Group Members",
- "title_info": "Info",
- "title_manage_tags": "Manage",
- "title_not_found": "Not found",
- "title_permissions": "Permissions",
- "title_tag_manager": "Tags (user discovery)",
- "topic_block_warning": "Are you sure you want to block this conversation?",
- "topic_delete": "Delete Conversation",
- "topic_delete_warning": "Are you sure you want to delete this conversation? It cannot be undone.",
- "topic_name_editing_placeholder": "Freeform name of the group",
- "unnamed_topic": "Unnamed",
- "update_available": "Update available.",
- "upload_finishing": "finishing...",
- "user_not_found": "Not found",
- "validate_credential_action": "confirm"
- },
- "es": {
- "validate_credential_action": "confirmar",
- "title_tag_manager": "Etiquetas (descubrimiento de usuarios)",
- "label_user_contacts": "Contactos:",
- "button_add_another": "Añadir contacto",
- "label_message_sound": "Sonido de mensaje:",
- "label_push_notifications": "Alertas de notificaciones:",
- "label_push_notifications_disabled": "Alertas de notificaciones (requiere HTTPS):",
- "label_incognito_mode": "Modo incógnito:",
- "delete_account": "Eliminar cuenta",
- "delete_account_arning": "¿Estás seguro de que deseas eliminar permanentemente tu cuenta? Esta acción es irreversible.",
- "label_password": "Contraseña",
- "password_unchanged_prompt": "Sin cambios",
- "button_logout": "Cerrar sesión",
- "button_delete_account": "Eliminar cuenta",
- "label_default_access_mode": "Modo de acceso predeterminado:",
- "blocked_contacts_link": "Contactos bloqueados ({count})",
- "link_contact_us": "Contáctanos",
- "link_terms_of_service": "Términos de uso",
- "link_privacy_policy": "Política de privacidad",
- "label_sdk": "SDK:",
- "label_server_address": "Dirección del servidor:",
- "archived_contacts": "Contactos archivados ({count})",
- "contacts_not_found": "No tienes chats
¯∖_(ツ)_/¯",
- "full_name_prompt": "Nombre completo, p.ej. Juan González Hernández",
- "email_prompt": "Correo electrónico, p.ej. juan@example.com",
- "button_sign_up": "Regístrate",
- "label_your_name": "Tu nombre",
- "label_user_id": "ID:",
- "button_edit": "Editar",
- "requested_permissions": "Solicitados",
- "granted_permissions": "Otorgados",
- "menu_item_edit_permissions": "Editar permisos",
- "label_other_user": "Otros",
- "action_clear_messages": "Borrar mensajes",
- "clear_messages_warning": "¿Estás seguro de que quieres eliminar todos los mensajes? Esta acción es irreversible.",
- "action_delete_messages": "Borrar mensajes para todos",
- "delete_messages_warning": "¿Estás seguro de que quieres eliminar todos los mensajes para todos? Esta acción es irreversible.",
- "action_leave_chat": "Dejar conversación",
- "leave_chat_warning": "¿Estás seguro de que quieres dejar esta conversación?",
- "action_block_contact": "Bloquear contacto",
- "block_contact_warning": "¿Estás seguro de que quieres bloquear a este contacto?",
- "action_report_chat": "Reportar conversación",
- "report_chat_warning": "¿Estás seguro de que quieres bloquear y reportar a esta conversación?",
- "title_info": "Información",
- "label_topic_name": "Nombre del tema",
- "label_private": "Comentario privado",
- "private_editing_placeholder": "Sólo visible para tí",
- "label_muting_topic": "Silenciado:",
- "action_more": "Más",
- "label_your_permissions": "Tus permisos:",
- "label_permissions": "Permisos:",
- "label_you": "Tú:",
- "label_default_access": "Modo de acceso predeterminado:",
- "label_group_members": "Miembros del grupo:",
- "button_add_members": "Añadir miembros",
- "group_has_no_members": "No hay miembros",
- "login_prompt": "Nombre de usuario",
- "password_prompt": "Contraseña",
- "stay_logged_in": "Permanecer conectado",
- "forgot_password_link": "¿Olvidaste tu contraseña?",
- "button_sign_in": "Entrar",
- "label_client": "Cliente:",
- "label_server": "Servidor:",
- "online_now": "en línea",
- "last_seen_timestamp": "Últ. vez",
- "title_not_found": "No encontrado",
- "unnamed_topic": "Sin nombre",
- "messages_not_readable": "sin acceso a mensajes",
- "peers_messaging_disabled": "La mensajería Peer está deshabilitada.",
- "enable_peers_messaging": "Habilitar",
- "search_for_contacts": "Usa la búsqueda para encontrar contactos",
- "search_no_results": "La búsqueda no arrojó resultados",
- "tabtitle_find_user": "encontrar",
- "tabtitle_new_group": "nuevo grupo",
- "tabtitle_group_by_id": "por ID",
- "new_password_placeholder": "Introduzca una nueva contraseña",
- "label_reset_password": "Enviar un correo electrónico de restablecimiento de contraseña:",
- "credential_email_prompt": "Tu correo electrónico de registro",
- "button_reset": "Restablecer",
- "button_send_request": "Enviar petición",
- "label_server_to_use": "Servidor para usar:",
- "label_wire_transport": "Transporte de alambre:",
- "button_update": "Actualizar",
- "sidepanel_title_login": "Iniciar sesión",
- "sidepanel_title_register": "Crear cuenta",
- "sidepanel_title_settings": "Ajustes",
- "sidepanel_title_account_settings": "Ajustes de la cuenta",
- "sidepanel_title_acc_general": "General",
- "sidepanel_title_acc_security": "Seguridad",
- "sidepanel_title_acc_notifications": "Notificaciones",
- "sidepanel_title_acc_support": "Soporte",
- "sidepanel_title_newtpk": "Iniciar un nuevo chat",
- "sidepanel_title_cred": "Confirmar credenciales",
- "sidepanel_title_reset": "Restablecer contraseña",
- "sidepanel_title_archive": "Chats archivados",
- "sidepanel_title_blocked": "Chats bloqueados",
- "update_available": "Actualización disponible.",
- "reload_update": "Recargar",
- "reconnect_countdown": "Desconectado. Reconectando en {seconds}…",
- "reconnect_now": "Reintentar",
- "push_init_failed": "Error al inicializar las notificaciones push",
- "invalid_security_token": "Token de seguridad inválido",
- "no_connection": "Sin conexión",
- "code_doesnot_match": "El código no coincide",
- "phone_dative": "teléfono",
- "email_dative": "correo electrónico",
- "enter_confirmation_code_prompt": "Introduzca el código de confirmación enviado a tu {method}:",
- "numeric_confirmation_code_prompt": "Sólo números",
- "button_confirm": "Confirmar",
- "save_attachment": "guardar",
- "deleted_content": "este mensaje fue eliminado",
- "invalid_content": "contenido inválido",
- "user_not_found": "Usuario no encontrado",
- "badge_you": "tú",
- "badge_owner": "propietario",
- "menu_item_info": "Información",
- "menu_item_clear_messages": "Borrar mensajes",
- "menu_item_clear_messages_for_all": "Borrar para todos",
- "menu_item_delete": "Eliminar",
- "menu_item_delete_for_all": "Eliminar para todos",
- "menu_item_send_retry": "Inténtalo de nuevo",
- "menu_item_mute": "Silenciar",
- "menu_item_unmute": "Anular el silencio",
- "menu_item_delete_topic": "Eliminar",
- "topic_delete_warning": "¿Estás seguro de que quieres eliminar esta conversación?",
- "menu_item_unblock": "Desbloquear",
- "menu_item_block": "Bloquear",
- "topic_block_warning": "¿Estás seguro de que quieres bloquear esta conversación",
- "menu_item_member_delete": "Eliminar",
- "menu_item_archive_topic": "Archivar",
- "action_cancel": "cancelar",
- "upload_finishing": "terminando...",
- "no_contacts": "No tienes contactos :-(",
- "contacts_not_found_short": "Ningún contacto coincide con ''{query}''",
- "title_group_members": "Miembros del grupo",
- "title_all_contacts": "Todos los contactos",
- "button_ok": "OK",
- "button_cancel": "Cancelar",
- "more_online_members": "+{overflow} más",
- "download_action": "descargar",
- "label_file_name": "Nombre del archivo:",
- "label_content_type": "Tipo de contenido:",
- "label_size": "Tamaño:",
- "chat_invitation": "Estás invitado a participar en un nuevo chat. ¿Qué te gustaría hacer?",
- "chat_invitation_accept": "Aceptar",
- "chat_invitation_ignore": "Ignorar",
- "chat_invitation_block": "Bloquear",
- "error_invalid_id": "ID inválido",
- "group_user_id_prompt": "ID del grupo o usuario",
- "button_subscribe": "Suscribirse",
- "topic_name_editing_placeholder": "Nombre del grupo",
- "button_create": "Crear",
- "permission_join": "Unirse ({val})",
- "permission_read": "Leer ({val})",
- "permission_write": "Escribir ({val})",
- "permission_pres": "Ser notificado ({val})",
- "permission_admin": "Approbar ({val})",
- "permission_share": "Compartir ({val})",
- "permission_delete": "Eliminar ({val})",
- "permission_owner": "Propietario ({val})",
- "title_permissions": "Permisos",
- "message_sending": "enviando...",
- "message_sending_failed": "no se pudo enviar el mensaje",
- "search_placeholder": "Ej. email:alba@example.com, tel:17025550003...",
- "messaging_disabled_prompt": "El envío de mensajes está deshabilitado",
- "new_message_prompt": "Nuevo mensaje",
- "image_caption_prompt": "Añade un comentario",
- "file_attachment_too_large": "El tamaño del archivo {size} excede el límite de {limit}.",
- "cannot_initiate_file_upload": "No se pudo iniciar la carga del archivo.",
- "tags_not_found": "No hay etiquetas definidas. Añade unas.",
- "tags_editor_no_tags": "Añadir etiquetas",
- "title_manage_tags": "Gestionar",
- "channel_prompt": "Este es un canal",
- "channel": "canal",
- "drafty_attachment": "Archivo",
- "drafty_form": "Formulario:",
- "drafty_image": "Imagen",
- "topic_delete": "Eliminar chat",
- "password_reset_email_sent": "Se ha enviado un correo electrónico a {email}. Siga las instrucciones del correo electrónico para restablecer su contraseña.",
- "menu_item_restore_topic": "Restaurar"
- },
- "ko": {
- "validate_credential_action": "확인",
- "title_tag_manager": "태그(사용자검색)",
- "label_user_contacts": "연락처: ",
- "button_add_another": "다른항목추가",
- "label_message_sound": "메시지소리: ",
- "label_push_notifications": "통지경보: ",
- "label_push_notifications_disabled": "통지경보(HTTPS필요): ",
- "label_incognito_mode": "시크릿모드: ",
- "delete_account": "계정삭제",
- "delete_account_arning": "계정을삭제하시겠습니까?실행취소할수없습니다.",
- "label_password": "비밀번호",
- "password_unchanged_prompt": "변경되지않음",
- "button_logout": "로그아웃",
- "button_delete_account": "계정삭제",
- "label_default_access_mode": "기본액세스모드: ",
- "blocked_contacts_link": "차단된연락처({수})",
- "link_contact_us": "문의처",
- "link_terms_of_service": "서비스약관",
- "link_privacy_policy": "개인정보보호정책",
- "label_sdk": "SDK:",
- "label_server_address": "서버주소: ",
- "archived_contacts": "보관된연락처({수})",
- "contacts_not_found": "채팅이없습니다
¯∖_(ツ)_/¯",
- "full_name_prompt": "전체이름(예:홍길동)",
- "email_prompt": "이메일(예:hong@example.com)",
- "button_sign_up": "가입",
- "label_your_name": "이름",
- "label_user_id": "ID:",
- "button_edit": "편집",
- "requested_permissions": "요청",
- "menu_item_edit_permissions": "편집권한",
- "label_other_user": "기타",
- "action_clear_messages": "메시지지우기",
- "clear_messages_warning": "모든메시지를지우시겠습니까?실행취소할수없습니다.",
- "action_delete_messages": "모든메시지지우기",
- "delete_messages_warning": "모든사람의모든메시지를삭제하시겠습니까?실행취소할수없습니다.",
- "action_leave_chat": "대화나누기",
- "leave_chat_warning": "이대화를나가시겠습니까?",
- "action_block_contact": "연락차단",
- "block_contact_warning": "이연락처를차단하시겠습니까?",
- "action_report_chat": "대화기록",
- "report_chat_warning": "이대화를차단하고기록하시겠습니까?",
- "title_info": "정보",
- "label_topic_name": "이름",
- "label_private": "개인코멘트",
- "private_editing_placeholder": "나만볼수있습니다",
- "label_muting_topic": "음소거: ",
- "action_more": "더보기",
- "label_your_permissions": "권한: ",
- "label_permissions": "권한: ",
- "label_you": "당신: ",
- "label_default_access": "기본액세스모드: ",
- "label_group_members": "그룹회원: ",
- "button_add_members": "회원추가",
- "group_has_no_members": "회원없음",
- "login_prompt": "로그인",
- "password_prompt": "비밀번호",
- "stay_logged_in": "로그인상태유지",
- "forgot_password_link": "비밀번호를잊으셨습니까?",
- "button_sign_in": "로그인",
- "label_client": "클라이언트: ",
- "label_server": "서버: ",
- "online_now": "현재접속중",
- "last_seen_timestamp": "마지막으로본",
- "title_not_found": "찾을수없음",
- "unnamed_topic": "이름없는",
- "peers_messaging_disabled": "동료의메시지가비활성화되었습니다.",
- "enable_peers_messaging": "활성화",
- "search_for_contacts": "검색을사용하여연락처찾기",
- "search_no_results": "검색결과가없습니다",
- "tabtitle_find_user": "찾기",
- "tabtitle_new_group": "새그룹",
- "tabtitle_group_by_id": "id로",
- "new_password_placeholder": "새비밀번호입력",
- "label_reset_password": "비밀번호재설정이메일보내기: ",
- "credential_email_prompt": "등록이메일",
- "button_reset": "재설정",
- "button_send_request": "요청보내기",
- "label_server_to_use": "사용할서버:",
- "label_wire_transport": "와이어수송:",
- "button_update": "업데이트",
- "sidepanel_title_login": "로그인",
- "sidepanel_title_register": "계정만들기",
- "sidepanel_title_settings": "설정",
- "sidepanel_title_account_settings": "계정설정",
- "sidepanel_title_acc_general": "일반",
- "sidepanel_title_acc_security": "보안",
- "sidepanel_title_acc_notifications": "알림",
- "sidepanel_title_acc_support": "지원",
- "sidepanel_title_newtpk": "새채팅시작",
- "sidepanel_title_cred": "자격증명확인",
- "sidepanel_title_reset": "비밀번호재설정",
- "sidepanel_title_archive": "보관된채팅",
- "sidepanel_title_blocked": "차단된채팅",
- "update_available": "업데이트가능.",
- "reload_update": "재로드",
- "reconnect_countdown": "연결이끊어졌습니다.다시연결하는중{초}…",
- "reconnect_now": "지금시도",
- "push_init_failed": "푸시알림을초기화하지못했습니다",
- "invalid_security_token": "유효하지않은보안토큰",
- "no_connection": "연결없음",
- "code_doesnot_match": "코드가일치하지않습니다",
- "phone_dative": "전화",
- "email_dative": "이메일",
- "enter_confirmation_code_prompt": "{방법}으로보낸확인코드를입력하십시오:",
- "numeric_confirmation_code_prompt": "숫자만",
- "button_confirm": "확인",
- "save_attachment": "저장",
- "invalid_content": "잘못된내용",
- "user_not_found": "찾을수없음",
- "badge_you": "당신",
- "badge_owner": "소유자",
- "menu_item_info": "정보",
- "menu_item_clear_messages": "메시지지우기",
- "menu_item_clear_messages_for_all": "모두지우기",
- "menu_item_delete": "삭제",
- "menu_item_delete_for_all": "모두삭제",
- "menu_item_send_retry": "다시시도",
- "menu_item_mute": "음소거",
- "menu_item_unmute": "음소거해제",
- "menu_item_delete_topic": "삭제",
- "topic_delete_warning": "이대화를삭제하시겠습니까?",
- "menu_item_unblock": "차단해제",
- "menu_item_block": "차단",
- "topic_block_warning": "이대화를차단하시겠습니까?",
- "menu_item_member_delete": "제거",
- "menu_item_archive_topic": "보관",
- "action_cancel": "취소",
- "upload_finishing": "마무리...",
- "no_contacts": "연락처가없습니다 (._.)",
- "contacts_not_found_short": "'{문의}'와일치하는연락처가없습니다.",
- "title_group_members": "그룹구성원",
- "title_all_contacts": "모든연락처",
- "button_ok": "OK",
- "button_cancel": "취소",
- "more_online_members": "+{넘침}더보기",
- "download_action": "다운로드",
- "label_file_name": "파일이름: ",
- "label_content_type": "컨텐츠유형: ",
- "label_size": "크기: ",
- "chat_invitation": "새로운대화를시작하도록초대되었습니다.무엇을하시겠습니까?",
- "chat_invitation_accept": "수락",
- "chat_invitation_ignore": "무시",
- "chat_invitation_block": "차단",
- "error_invalid_id": "잘못된ID",
- "group_user_id_prompt": "그룹또는사용자ID",
- "button_subscribe": "구독",
- "topic_name_editing_placeholder": "그룹의자유형이름",
- "button_create": "작성",
- "permission_join": "참여({val})",
- "permission_read": "읽기({val})",
- "permission_write": "쓰기({val})",
- "permission_pres": "알림받기({val})",
- "permission_admin": "승인({val})",
- "permission_share": "공유({val})",
- "permission_delete": "삭제({val})",
- "permission_owner": "소유자({val})",
- "title_permissions": "권한",
- "message_sending": "보내기...",
- "message_sending_failed": "실패",
- "search_placeholder": "email:kim@example.com,tel:17025550003...와같은목록",
- "messaging_disabled_prompt": "메시지비활성화",
- "new_message_prompt": "새메시지",
- "image_caption_prompt": "이미지설명",
- "file_attachment_too_large": "파일크기{크기}이(가){제한}제한을초과합니다.",
- "cannot_initiate_file_upload": "파일업로드를시작할수없습니다.",
- "tags_not_found": "태그가정의되지않았습니다.일부를추가하십시오.",
- "tags_editor_no_tags": "일부태그추가",
- "title_manage_tags": "관리",
- "granted_permissions": "승낙하다",
- "messages_not_readable": "메시지에 액세스 할 수 없습니다",
- "deleted_content": "내용이 삭제되었습니다",
- "channel_prompt": "이 채널입니다",
- "channel": "채널",
- "drafty_attachment": "부착",
- "drafty_form": "형태:",
- "drafty_image": "이미지",
- "topic_delete": "채팅 삭제",
- "password_reset_email_sent": "이메일이 {email}(으)로 전송되었습니다. 이메일의 지침에 따라 비밀번호를 재설정하세요.",
- "menu_item_restore_topic": "복원"
- },
- "ro": {
- "validate_credential_action": "confirmă",
- "title_tag_manager": "Tag-uri (user discovery)",
- "label_user_contacts": "Contacte:",
- "button_add_another": "Adaugă",
- "label_message_sound": "Sunet de mesaj:",
- "label_push_notifications": "Alerte de notificare:",
- "label_push_notifications_disabled": "Alerte de notificare (necesită HTTPS):",
- "label_incognito_mode": "Mod incognito:",
- "delete_account": "Șterge contul",
- "delete_account_arning": "Ești sigur că dorești să ștergi contul? Acesta nu va putea fi recuperat.",
- "label_password": "Parola",
- "password_unchanged_prompt": "Neschimbată",
- "button_logout": "Deconectare",
- "button_delete_account": "Șterge cont",
- "label_default_access_mode": "Default access mode:",
- "blocked_contacts_link": "Contact blocate ({count})",
- "link_contact_us": "Contactează-ne",
- "link_terms_of_service": "Termenii Serviciului",
- "link_privacy_policy": "Politica de Confidențialitate",
- "label_sdk": "SDK:",
- "label_server_address": "Adresa serverului:",
- "archived_contacts": "Contacte arhivate ({count})",
- "contacts_not_found": "Nu ai contacte salvate
¯∖_(ツ)_/¯",
- "full_name_prompt": "Numele tău",
- "email_prompt": "Adresa de e-mail",
- "button_sign_up": "Creează cont",
- "label_your_name": "Numele tău",
- "label_user_id": "ID:",
- "button_edit": "Editează",
- "requested_permissions": "Necesare",
- "granted_permissions": "Oferite",
- "menu_item_edit_permissions": "Editează permisiuni",
- "label_other_user": "Altele",
- "action_clear_messages": "Șterge mesajele",
- "clear_messages_warning": "Ești sigur că dorești să ștergi mesajele? Acestea nu pot fi recuperate.",
- "action_delete_messages": "Șterge toate mesajele",
- "delete_messages_warning": "Ești sigur că dorești să șterge mesajele din toate conversațiile? Acestea nu pot fi recuperate.",
- "action_leave_chat": "Ieși din conversație",
- "leave_chat_warning": "Ești sigur că dorești să ieși din conersație?",
- "action_block_contact": "Blochează contact",
- "block_contact_warning": "Ești sigur că dorești să blochezi acest contact?",
- "action_report_chat": "Raportează conversația",
- "report_chat_warning": "Ești sigur că dorești să blochezi și să raportezi această conversație?",
- "title_info": "Info",
- "label_topic_name": "Nume",
- "label_private": "Comentariu privat",
- "private_editing_placeholder": "Vizibil doar ție",
- "label_muting_topic": "Mod silențios (muted):",
- "action_more": "Mai multe",
- "label_your_permissions": "Permisiuniile tale:",
- "label_permissions": "Permisiuni:",
- "label_you": "Tu:",
- "label_default_access": "Modul default:",
- "label_group_members": "Membrii grupului:",
- "button_add_members": "Adaugă persoane",
- "group_has_no_members": "În acest grup nu se află persoane",
- "login_prompt": "Conectează-te",
- "password_prompt": "Parola",
- "stay_logged_in": "Rămâi conectat",
- "forgot_password_link": "Ți-ai uitat parola?",
- "button_sign_in": "Conectează-te",
- "label_client": "Client:",
- "label_server": "Server:",
- "online_now": "online acum",
- "last_seen_timestamp": "Văzut ultima dată",
- "title_not_found": "Nu a fost găsit",
- "channel": "canal",
- "unnamed_topic": "Nedenumit",
- "messages_not_readable": "Mesajele nu pot fi citite",
- "peers_messaging_disabled": "Mesageria de tip Peer este dezactivată.",
- "enable_peers_messaging": "Activează",
- "search_for_contacts": "Caută în contacte",
- "search_no_results": "Nu s-au găsit rezultate",
- "tabtitle_find_user": "caută",
- "tabtitle_new_group": "grup nou",
- "tabtitle_group_by_id": "după id",
- "new_password_placeholder": "Introdu parolă",
- "label_reset_password": "Resetează parola:",
- "credential_email_prompt": "Adresa de e-mail",
- "button_reset": "Resetează",
- "button_send_request": "Trimite cerere",
- "label_server_to_use": "Server de utilizat:",
- "label_wire_transport": "Transportul legat:",
- "button_update": "Actualizează",
- "sidepanel_title_login": "Conectează-te",
- "sidepanel_title_register": "Creează Cont",
- "sidepanel_title_settings": "Setări",
- "sidepanel_title_account_settings": "Setările Contului",
- "sidepanel_title_acc_general": "Generale",
- "sidepanel_title_acc_security": "Securitate",
- "sidepanel_title_acc_notifications": "Notificări",
- "sidepanel_title_acc_support": "Ajutor",
- "sidepanel_title_newtpk": "Creeză un nou Chat",
- "sidepanel_title_cred": "Confirmă credențiale",
- "sidepanel_title_reset": "Resetează Parola",
- "sidepanel_title_archive": "Conversații Arhivate",
- "sidepanel_title_blocked": "Conversații Blocate",
- "reconnect_countdown": "Deconectat. Se încearcă conectarea în {seconds}…",
- "reconnect_now": "Încearcă din nou",
- "push_init_failed": "Nu s-a reușit inițializarea tip push notifications",
- "invalid_security_token": "Codul de securitate este invalid",
- "no_connection": "Nu există conexiune",
- "code_doesnot_match": "Codul furnizat nu este valid",
- "update_available": "Actualizare disponibilă.",
- "reload_update": "Reîncarcă",
- "phone_dative": "telefon",
- "email_dative": "email",
- "enter_confirmation_code_prompt": "Introu codul de confirmare trimis pe {method}:",
- "numeric_confirmation_code_prompt": "Doar cifre",
- "button_confirm": "Confirmă",
- "save_attachment": "salvează",
- "deleted_content": "conținut șters",
- "invalid_content": "conținut invalid",
- "user_not_found": "Utilizatorul nu a fost găsit",
- "badge_you": "tu",
- "badge_owner": "owner",
- "menu_item_info": "Info",
- "menu_item_clear_messages": "Șterge mesajele",
- "menu_item_clear_messages_for_all": "Ștergele pe toate",
- "menu_item_delete": "Șterge",
- "menu_item_delete_for_all": "Ștergele pe toate",
- "menu_item_send_retry": "Reîncearcă",
- "menu_item_mute": "Mute",
- "menu_item_unmute": "Unmute",
- "menu_item_delete_topic": "Șterge",
- "topic_delete_warning": "Ești sigur că dorești să șterge această conversație?",
- "menu_item_unblock": "Deblochează",
- "menu_item_block": "Blochează",
- "topic_block_warning": "Ești sigur că dorești să blochezi această conversație?",
- "menu_item_member_delete": "Șterge persoană",
- "menu_item_archive_topic": "Arhivează",
- "action_cancel": "anulează",
- "upload_finishing": "se încarcă...",
- "no_contacts": "Nu ai contacte adăugate :-(",
- "contacts_not_found_short": "Niciun contact găsit după criteriile ''{query}''",
- "title_group_members": "Persoanele din grup",
- "title_all_contacts": "Toate Contactele",
- "button_ok": "OK",
- "button_cancel": "Anulează",
- "more_online_members": "+{overflow} mai mult",
- "download_action": "download",
- "label_file_name": "Nume fișier:",
- "label_content_type": "Tip conținut:",
- "label_size": "Size:",
- "chat_invitation": "Ai primit invitație într-o conversație. Accepți?",
- "chat_invitation_accept": "Da, accept",
- "chat_invitation_ignore": "Ignoră",
- "chat_invitation_block": "Blochează",
- "error_invalid_id": "ID Invalid",
- "group_user_id_prompt": "Grup sau user ID",
- "button_subscribe": "Subscribe",
- "topic_name_editing_placeholder": "Numele grupului",
- "channel_prompt": "Acesta este un canal",
- "button_create": "Creează",
- "permission_join": "Participare ({val})",
- "permission_read": "Citire ({val})",
- "permission_write": "Scriere ({val})",
- "permission_pres": "Notificare ({val})",
- "permission_admin": "Aprobare ({val})",
- "permission_share": "Distribuire ({val})",
- "permission_delete": "Ștergere ({val})",
- "permission_owner": "Deținător ({val})",
- "title_permissions": "Permisiuni",
- "message_sending": "se trimite...",
- "message_sending_failed": "eroare",
- "search_placeholder": "Caută după e-mail sau număr telefon...",
- "messaging_disabled_prompt": "Mesageria este dezactivată",
- "new_message_prompt": "Mesaj nou",
- "image_caption_prompt": "Titlul imaginii",
- "file_attachment_too_large": "Dimensiunea fișiterului {size} depășește limita de {limit}.",
- "cannot_initiate_file_upload": "Nu se poate face încărcarea.",
- "tags_not_found": "Niciun tag definit. Adaugă.",
- "tags_editor_no_tags": "Adaugă tag-uri",
- "title_manage_tags": "Administrează",
- "drafty_attachment": "Atasament",
- "drafty_form": "Formă:",
- "drafty_image": "Imagine",
- "topic_delete": "Ștergeți Chat",
- "password_reset_email_sent": "Un e-mail a fost trimis către {email}. Urmați instrucțiunile din e-mail pentru a vă reseta parola.",
- "menu_item_restore_topic": "Restabili"
- },
- "ru": {
- "contacts_not_found": "Чатов нет
¯∖_(ツ)_/¯",
- "full_name_prompt": "Полное имя, напр. Иван Петров",
- "email_prompt": "Email, напр. ivan@example.com",
- "button_sign_up": "Создать аккаунт",
- "label_your_name": "Ваше имя",
- "label_password": "Пароль",
- "password_unchanged_prompt": "Не изменен",
- "label_user_id": "ID:",
- "label_default_access_mode": "Доступ по умолчанию:",
- "label_message_sound": "Звук нового сообщения:",
- "label_push_notifications": "Уведомления:",
- "label_push_notifications_disabled": "Уведомления (требуют HTTPS):",
- "title_tag_manager": "Теги для поиска",
- "button_logout": "Выйти",
- "login_prompt": "Логин",
- "password_prompt": "Пароль",
- "stay_logged_in": "Запомнить",
- "forgot_password_link": "Напомнить пароль",
- "button_sign_in": "Войти",
- "label_client": "Клиент:",
- "label_server": "Сервер:",
- "online_now": "онлайн",
- "last_seen_timestamp": "Был активен",
- "title_not_found": "Не найден",
- "unnamed_topic": "Без названия",
- "messages_not_readable": "нет доступа к сообщениям",
- "tabtitle_find_user": "найти",
- "tabtitle_new_group": "создать",
- "tabtitle_group_by_id": "по id",
- "label_server_to_use": "Использовать сервер:",
- "label_wire_transport": "Соединение:",
- "button_update": "Применить",
- "sidepanel_title_login": "Авторизация",
- "sidepanel_title_register": "Зарегистрироваться",
- "sidepanel_title_settings": "Настройки",
- "sidepanel_title_account_settings": "Настройки аккаунта",
- "sidepanel_title_newtpk": "Новый чат",
- "sidepanel_title_cred": "Подтвердить",
- "sidepanel_title_reset": "Сменить пароль",
- "tags_not_found": "Тегов нет. Добавьте",
- "tags_editor_no_tags": "Добавьте теги",
- "title_manage_tags": "Редактировать",
- "message_sending": "в пути...",
- "message_sending_failed": "ошибка",
- "search_placeholder": "Список, напр. email:alice@example.com, tel:+17025550003...",
- "messaging_disabled_prompt": "Отправка недоступна",
- "new_message_prompt": "Новое сообщение",
- "file_attachment_too_large": "Размер файла {size} превышает {limit} лимит.",
- "cannot_initiate_file_upload": "Ошибка загрузки файла.",
- "search_for_contacts": "Поиск контактов",
- "enter_confirmation_code_prompt": "Код подтверждения, полученный по {method}:",
- "numeric_confirmation_code_prompt": "Только цифры",
- "button_confirm": "Подтвердить",
- "button_ok": "OK",
- "button_cancel": "Отменить",
- "invalid_content": "сообщение не читается",
- "label_file_name": "Имя файла:",
- "label_content_type": "Тип:",
- "label_size": "Размер:",
- "phone_dative": "телефону",
- "email_dative": "емейлу",
- "title_group_members": "Участники",
- "download_action": "скачать",
- "permission_join": "Подписываться ({val})",
- "permission_read": "Читать ({val})",
- "permission_write": "Писать ({val})",
- "permission_pres": "Уведомлять ({val})",
- "permission_admin": "Подтверждать ({val})",
- "permission_share": "Приглашать ({val})",
- "permission_delete": "Удалять ({val})",
- "permission_owner": "Владелец ({val})",
- "title_permissions": "Права доступа",
- "requested_permissions": "Требуются",
- "granted_permissions": "Получены",
- "menu_item_edit_permissions": "Права доступа",
- "label_other_user": "Второй",
- "label_topic_name": "Название",
- "label_private": "Комментарий",
- "private_editing_placeholder": "Виден только вам",
- "label_muting_topic": "Без уведомлений",
- "action_more": "Ещё",
- "label_your_permissions": "Ваши права доступа:",
- "label_permissions": "Права доступа:",
- "label_you": "Вы:",
- "label_default_access": "Права по умолчанию:",
- "label_group_members": "Участники чата:",
- "button_add_members": "Добавить",
- "group_has_no_members": "Нет участников",
- "action_leave_chat": "Уйти из чата",
- "menu_item_info": "Информация",
- "menu_item_clear_messages": "Удалить сообщения",
- "menu_item_clear_messages_for_all": "Удалить для всех",
- "menu_item_delete": "Удалить",
- "menu_item_delete_for_all": "Удалить для всех",
- "menu_item_send_retry": "Отправить заново",
- "menu_item_mute": "Не уведомлять",
- "menu_item_unmute": "Уведомлять",
- "menu_item_delete_topic": "Удалить чат",
- "menu_item_unblock": "Разблокировать",
- "menu_item_block": "Заблокировать",
- "menu_item_member_delete": "Отписать",
- "title_info": "Подробности",
- "new_password_placeholder": "Введите новый пароль",
- "label_reset_password": "Отправить емейл для смены пароля:",
- "credential_email_prompt": "Регистрационный емейл",
- "button_reset": "Изменить",
- "button_send_request": "Отправить",
- "action_cancel": "отменить",
- "upload_finishing": "завершение...",
- "no_contacts": "Ничего нет :-(",
- "contacts_not_found_short": "Нет контактов для запроса ''{query}''",
- "title_all_contacts": "Все контакты",
- "error_invalid_id": "Неверный ID",
- "group_user_id_prompt": "ID чата или пользователя",
- "button_subscribe": "Подписаться",
- "topic_name_editing_placeholder": "Название чата",
- "button_create": "Создать",
- "badge_you": "вы",
- "badge_owner": "влад.",
- "update_available": "Есть новая версия приложения.",
- "reload_update": "Обновить",
- "user_not_found": "Не найден",
- "reconnect_countdown": "Нет связи. Подключение через {seconds}…",
- "reconnect_now": "Подключить сейчас.",
- "save_attachment": "сохранить",
- "menu_item_archive_topic": "В архив",
- "archived_contacts": "Чаты в архиве ({count})",
- "sidepanel_title_archive": "Архив чатов",
- "chat_invitation": "Вас пригласили начать новый чат. Как вы хотите поступить?",
- "chat_invitation_accept": "Принять",
- "chat_invitation_ignore": "Игнорировать",
- "chat_invitation_block": "Заблокировать",
- "peers_messaging_disabled": "Чат заблокирован у корреспондента.",
- "enable_peers_messaging": "Разблокировать.",
- "more_online_members": "+еще {overflow}",
- "label_user_contacts": "Конакты:",
- "validate_credential_action": "подтвердить",
- "link_contact_us": "Связаться с нами",
- "link_terms_of_service": "Условия сервиса",
- "link_privacy_policy": "Политика конфиденциальности",
- "action_delete_messages": "Удалить сообщения",
- "action_block_contact": "Заблокировать контакт",
- "action_report_chat": "Сообщить о нарушении",
- "delete_messages_warning": "Вы действительно хотите удалить все сообщения?",
- "leave_chat_warning": "Вы действительно хотите покинуть этот чат?",
- "block_contact_warning": "Вы действительно заблокировать этот контакт?",
- "report_chat_warning": "Вы действительно хотите сообщить о нарушении и заблокировать этот чат?",
- "action_clear_messages": "Удалить сообщения",
- "clear_messages_warning": "Вы действительно хотите удалить все сообщения в чате? Их будет невозможно восстановить.",
- "topic_delete_warning": "Вы действительно хотите удалить этот чат?",
- "topic_block_warning": "Вы действительно хотите заблокировать этот чат?",
- "search_no_results": "Ничего не найдено",
- "deleted_content": "удалено",
- "image_caption_prompt": "Подпись к фото",
- "label_incognito_mode": "Режим инкогнито:",
- "delete_account": "Удалить аккаунт",
- "delete_account_arning": "Вы уверены, что ходите удалить свой аккаунт? Его невозможно будет восстановить.",
- "button_delete_account": "Удалить аккаунт",
- "sidepanel_title_acc_security": "Безопасность",
- "sidepanel_title_acc_notifications": "Уведомления",
- "sidepanel_title_acc_support": "Поддержка",
- "label_sdk": "SDK:",
- "label_server_address": "Адрес сервера:",
- "button_edit": "Редактировать",
- "button_add_another": "Добавить",
- "sidepanel_title_acc_general": "Общие настройки",
- "blocked_contacts_link": "Заблокированные ({count})",
- "sidepanel_title_blocked": "Заблокированные чаты",
- "push_init_failed": "Ошибка инициализации пуш уведомлений",
- "invalid_security_token": "Токен некорректен",
- "no_connection": "Нет связи",
- "code_doesnot_match": "Код не совпадает",
- "channel_prompt": "Создать канал",
- "channel": "канал",
- "drafty_attachment": "Аттачмент",
- "drafty_form": "Форма:",
- "drafty_image": "Картинка",
- "topic_delete": "Удалить чат",
- "password_reset_email_sent": "Сообщение было отправлено на адрес {email}. Следуйте инструкциям в сообщении, чтобы изменить пароль.",
- "menu_item_restore_topic": "Восстановить"
- },
- "zh-TW": {
- "action_block_contact": "封鎖聯絡人",
- "action_cancel": "取消",
- "action_clear_messages": "清除訊息",
- "action_delete_messages": "為所有人清除訊息",
- "action_leave_chat": "離開對話",
- "action_more": "更多",
- "action_report_chat": "檢舉對話",
- "archived_contacts": "已封存的聯絡人 ({count})",
- "badge_owner": "擁有者",
- "badge_you": "您",
- "block_contact_warning": "您確定要封鎖此聯絡人嗎?",
- "blocked_contacts_link": "已封鎖的聯絡人 ({count})",
- "button_add_another": "新增其他人",
- "button_add_members": "新增成員",
- "button_cancel": "取消",
- "button_confirm": "確認",
- "button_create": "建立",
- "button_delete_account": "刪除帳號",
- "button_edit": "編輯",
- "button_logout": "登出",
- "button_ok": "OK",
- "button_reset": "重設",
- "button_send_request": "傳送要求",
- "button_sign_in": "登入",
- "button_sign_up": "註冊",
- "button_subscribe": "訂閱",
- "button_update": "更新",
- "cannot_initiate_file_upload": "無法為檔案上傳初始化。",
- "channel": "頻道",
- "channel_prompt": "這是頻道",
- "chat_invitation": "您已被邀請開始新對話。您接下來要做什麼呢?",
- "chat_invitation_accept": "接受",
- "chat_invitation_block": "封鎖",
- "chat_invitation_ignore": "忽略",
- "clear_messages_warning": "您確定要清除所有訊息嗎?此操作無法復原。",
- "code_doesnot_match": "代碼不相符",
- "contacts_not_found": "您沒有任何對話
¯∖_(ツ)_/¯",
- "contacts_not_found_short": "沒有符合 ''{query}'' 的聯絡人",
- "credential_email_prompt": "您的註冊電子郵件地址",
- "delete_account": "刪除帳號",
- "delete_account_arning": "您確定要刪除您的帳號嗎?此操作無法復原。",
- "delete_messages_warning": "您確定要為所有人刪除所有訊息嗎?此操作無法復原。",
- "deleted_content": "內容已被刪除",
- "download_action": "下載",
- "drafty_attachment": "附加檔案",
- "drafty_form": "表單:",
- "drafty_image": "圖片",
- "email_dative": "電子郵件地址",
- "email_prompt": "電子郵件地址,例如:jdoe@example.com",
- "enable_peers_messaging": "啟用",
- "enter_confirmation_code_prompt": "輸入透過 {method} 傳送給您的確認碼:",
- "error_invalid_id": "ID 無效",
- "file_attachment_too_large": "檔案大小 {size} 超出 {limit} 限制。",
- "forgot_password_link": "忘記密碼?",
- "full_name_prompt": "全名,例如:王小明",
- "granted_permissions": "已授權",
- "group_has_no_members": "無成員",
- "group_user_id_prompt": "群組或使用者 ID",
- "image_caption_prompt": "圖片說明",
- "invalid_content": "內容無效",
- "invalid_security_token": "安全權杖無效",
- "label_client": "客戶端:",
- "label_content_type": "類型:",
- "label_default_access": "預設存取模式:",
- "label_default_access_mode": "預設存取模式:",
- "label_file_name": "檔名:",
- "label_group_members": "群組成員:",
- "label_incognito_mode": "無痕模式:",
- "label_message_sound": "訊息提示聲:",
- "label_muting_topic": "靜音:",
- "label_other_user": "其他",
- "label_password": "密碼",
- "label_permissions": "權限:",
- "label_private": "私人留言",
- "label_push_notifications": "通知:",
- "label_push_notifications_disabled": "通知 (需要 HTTPS):",
- "label_reset_password": "傳送重設密碼郵件:",
- "label_sdk": "SDK:",
- "label_server": "伺服器:",
- "label_server_address": "伺服器位址:",
- "label_server_to_use": "使用的伺服器:",
- "label_size": "大小:",
- "label_topic_name": "名稱",
- "label_user_contacts": "聯絡人:",
- "label_user_id": "ID:",
- "label_wire_transport": "Wire transport:",
- "label_you": "您:",
- "label_your_name": "您的名字",
- "label_your_permissions": "您的權限:",
- "last_seen_timestamp": "最後上線",
- "leave_chat_warning": "您確定要離開此對話嗎?",
- "link_contact_us": "聯絡我們",
- "link_privacy_policy": "隱私權政策",
- "link_terms_of_service": "服務條款",
- "login_prompt": "登入",
- "menu_item_archive_topic": "封存",
- "menu_item_block": "封鎖",
- "menu_item_clear_messages": "清除訊息",
- "menu_item_clear_messages_for_all": "為所有人清除訊息",
- "menu_item_delete": "刪除",
- "menu_item_delete_for_all": "為所有人刪除",
- "menu_item_delete_topic": "刪除",
- "menu_item_edit_permissions": "編輯權限",
- "menu_item_info": "Info",
- "menu_item_member_delete": "移除",
- "menu_item_mute": "靜音",
- "menu_item_send_retry": "重試",
- "menu_item_unblock": "解除封鎖",
- "menu_item_unmute": "解除靜音",
- "message_sending": "正在傳送...",
- "message_sending_failed": "失敗",
- "messages_not_readable": "沒有存取訊息的權限",
- "messaging_disabled_prompt": "停用訊息",
- "more_online_members": "+{overflow}",
- "new_message_prompt": "新訊息",
- "new_password_placeholder": "輸入新的密碼",
- "no_connection": "無連線",
- "no_contacts": "您沒有任何聯絡人 :-(",
- "numeric_confirmation_code_prompt": "僅數字",
- "online_now": "上線中",
- "password_prompt": "密碼",
- "password_unchanged_prompt": "未修改",
- "peers_messaging_disabled": "Peer 已停用訊息。",
- "permission_admin": "核可 ({val})",
- "permission_delete": "刪除 ({val})",
- "permission_join": "加入 ({val})",
- "permission_owner": "擁有者 ({val})",
- "permission_pres": "收到通知 ({val})",
- "permission_read": "讀取 ({val})",
- "permission_share": "分享 ({val})",
- "permission_write": "撰寫 ({val})",
- "phone_dative": "phone",
- "private_editing_placeholder": "僅您可見",
- "push_init_failed": "初始化通知失敗。",
- "reconnect_countdown": "已斷線。將在 {seconds} 秒後重新連線…",
- "reconnect_now": "現在重試",
- "reload_update": "重新載入",
- "report_chat_warning": "您確定要封鎖並檢舉此對話嗎?",
- "requested_permissions": "重新請求",
- "save_attachment": "儲存",
- "search_for_contacts": "使用搜尋來尋找聯絡人",
- "search_no_results": "搜尋無結果",
- "search_placeholder": "例如 email:alice@example.com, tel:17025550003... 的清單",
- "sidepanel_title_acc_general": "一般",
- "sidepanel_title_acc_notifications": "通知",
- "sidepanel_title_acc_security": "安全性",
- "sidepanel_title_acc_support": "支援",
- "sidepanel_title_account_settings": "帳號設定",
- "sidepanel_title_archive": "已封存的對話",
- "sidepanel_title_blocked": "已封鎖的對話",
- "sidepanel_title_cred": "確認認證",
- "sidepanel_title_login": "登入",
- "sidepanel_title_newtpk": "開始新對話",
- "sidepanel_title_register": "建立帳號",
- "sidepanel_title_reset": "重設密碼",
- "sidepanel_title_settings": "設定",
- "stay_logged_in": "保持登入",
- "tabtitle_find_user": "尋找",
- "tabtitle_group_by_id": "以 id",
- "tabtitle_new_group": "新群組",
- "tags_editor_no_tags": "新增一些標籤",
- "tags_not_found": "未定義任何標籤。請新增一些標籤。",
- "title_all_contacts": "所有聯絡人",
- "title_group_members": "群組成員",
- "title_info": "資訊",
- "title_manage_tags": "管理",
- "title_not_found": "找不到",
- "title_permissions": "權限",
- "title_tag_manager": "標籤 (使用者探索)",
- "topic_block_warning": "您確定要封鎖此對話嗎?",
- "topic_delete_warning": "您確定要刪除此對話嗎?",
- "topic_name_editing_placeholder": "群組的任意名稱",
- "unnamed_topic": "未命名",
- "update_available": "有可用的更新。",
- "upload_finishing": "正在完成...",
- "user_not_found": "找不到",
- "validate_credential_action": "確認",
- "topic_delete": "刪除聊天",
- "password_reset_email_sent": "一封電子郵件已發送至 {email}。按照電子郵件中的說明重置密碼。",
- "menu_item_restore_topic": "恢復"
- },
- "zh": {
- "archived_contacts": "已归档联系人 ({count})",
- "contacts_not_found": "你尚无会话
¯∖_(ツ)_/¯",
- "full_name_prompt": "全名,例如张伟",
- "email_prompt": "电子邮件,例如 zhang@example.com",
- "button_sign_up": "注册",
- "label_your_name": "你的姓名",
- "label_password": "密码",
- "password_unchanged_prompt": "未改变",
- "label_user_id": "地址:",
- "label_default_access_mode": "蓦然访问模式:",
- "label_message_sound": "消息提示音:",
- "label_push_notifications": "通知提醒:",
- "label_push_notifications_disabled": "通知提醒(需要 HTTPS):",
- "title_tag_manager": "标签(用户发现)",
- "button_logout": "登出",
- "requested_permissions": "已请求",
- "granted_permissions": "已授予",
- "menu_item_edit_permissions": "编辑权限",
- "label_other_user": "其他",
- "title_info": "信息",
- "label_topic_name": "名称",
- "label_private": "私人评论",
- "private_editing_placeholder": "仅自己可见",
- "label_muting_topic": "已静音:",
- "action_more": "更多",
- "label_your_permissions": "你的权限:",
- "label_permissions": "权限:",
- "label_you": "你:",
- "label_default_access": "默认权限模式:",
- "label_group_members": "群组成员:",
- "button_add_members": "添加成员",
- "group_has_no_members": "无成员",
- "action_leave_chat": "离开",
- "login_prompt": "登录",
- "password_prompt": "密码",
- "stay_logged_in": "保持登录",
- "forgot_password_link": "忘记密码?",
- "button_sign_in": "登录",
- "label_client": "客户端:",
- "label_server": "服务器:",
- "online_now": "在线",
- "last_seen_timestamp": "最后可见",
- "title_not_found": "无法找到",
- "unnamed_topic": "未命名",
- "messages_not_readable": "无消息访问权限",
- "peers_messaging_disabled": "成员间消息已禁用。",
- "enable_peers_messaging": "启用",
- "tabtitle_find_user": "搜索",
- "tabtitle_new_group": "新群组",
- "tabtitle_group_by_id": "通过 id",
- "search_for_contacts": "使用搜索寻找联系人",
- "new_password_placeholder": "输入新密码",
- "label_reset_password": "发送密码重置邮件:",
- "credential_email_prompt": "你的注册邮箱",
- "button_reset": "重置",
- "button_send_request": "发送请求",
- "label_server_to_use": "使用的服务器:",
- "label_wire_transport": "线路传输:",
- "button_update": "更新",
- "sidepanel_title_login": "登录",
- "sidepanel_title_register": "创建账户",
- "sidepanel_title_settings": "设置",
- "sidepanel_title_account_settings": "帐号设定",
- "sidepanel_title_newtpk": "开始新会话",
- "sidepanel_title_cred": "确认凭据",
- "sidepanel_title_reset": "重置密码",
- "sidepanel_title_archive": "已存档会话",
- "update_available": "更新可用。",
- "reload_update": "重新载入",
- "reconnect_countdown": "连接已断开。{seconds} 秒后重新连接…",
- "reconnect_now": "立即尝试",
- "phone_dative": "电话",
- "email_dative": "电子邮件",
- "enter_confirmation_code_prompt": "输入通过{method}发送的验证码:",
- "numeric_confirmation_code_prompt": "仅数字",
- "button_confirm": "确认",
- "save_attachment": "保存",
- "invalid_content": "无效内容",
- "user_not_found": "未找到",
- "badge_you": "你",
- "badge_owner": "所有者",
- "menu_item_info": "信息",
- "menu_item_clear_messages": "清空消息",
- "menu_item_clear_messages_for_all": "全部清除",
- "menu_item_delete": "删除",
- "menu_item_delete_for_all": "全部删除",
- "menu_item_mute": "静音",
- "menu_item_unmute": "取消静音",
- "menu_item_delete_topic": "删除",
- "menu_item_unblock": "取消屏蔽",
- "menu_item_block": "屏蔽",
- "menu_item_member_delete": "移除",
- "menu_item_archive_topic": "归档",
- "action_cancel": "取消",
- "upload_finishing": "正在结束...",
- "no_contacts": "你尚无联系人 (._.)",
- "contacts_not_found_short": "无联系人匹配''{query}''",
- "title_group_members": "群组成员",
- "title_all_contacts": "全部联系人",
- "button_ok": "好",
- "button_cancel": "取消",
- "download_action": "下载",
- "label_file_name": "文件名:",
- "label_content_type": "内容类型:",
- "label_size": "大小:",
- "chat_invitation": "你受邀开始新会话。你想怎么做?",
- "chat_invitation_accept": "接受",
- "chat_invitation_ignore": "忽略",
- "chat_invitation_block": "屏蔽",
- "error_invalid_id": "无效 ID",
- "group_user_id_prompt": "群组或用户 ID",
- "button_subscribe": "订阅",
- "topic_name_editing_placeholder": "群组自由格式名称",
- "button_create": "创建",
- "permission_join": "加入 ({val})",
- "permission_read": "读取 ({val})",
- "permission_write": "写入 ({val})",
- "permission_pres": "获取通知 ({val})",
- "permission_admin": "批准 ({val})",
- "permission_share": "分享 ({val})",
- "permission_delete": "删除 ({val})",
- "permission_owner": "所有者 ({val})",
- "title_permissions": "权限",
- "message_sending": "正在发送...",
- "message_sending_failed": "发送失败",
- "search_placeholder": "列表如 email:alice@example.com, tel:+17025550003...",
- "messaging_disabled_prompt": "消息已禁用",
- "new_message_prompt": "新消息",
- "file_attachment_too_large": "文件大小 {size} 超过 {limit} 限制。",
- "cannot_initiate_file_upload": "无法初始化文件上传。",
- "tags_not_found": "尚未定义标签。添加一些。",
- "tags_editor_no_tags": "添加一些标签",
- "title_manage_tags": "管理标签",
- "more_online_members": "还有{overflow}个",
- "label_user_contacts": "往来:",
- "validate_credential_action": "确认",
- "link_contact_us": "联系我们",
- "link_terms_of_service": "条款和条件",
- "link_privacy_policy": "隐私政策",
- "action_delete_messages": "删除所有帖子",
- "action_block_contact": "屏蔽联系人",
- "delete_messages_warning": "您确定要删除所有消息吗?无法撤消。",
- "leave_chat_warning": "您确定要退出此对话吗?",
- "block_contact_warning": "您确定要阻止此联系人吗?",
- "action_report_chat": "检举垃圾邮件",
- "report_chat_warning": "您确定要停止并报告此对话吗?",
- "action_clear_messages": "删除讯息",
- "clear_messages_warning": "您确定要清除所有消息吗?无法撤消。",
- "topic_delete_warning": "您确定要删除此对话吗?",
- "topic_block_warning": "您确定要阻止此对话吗?",
- "search_no_results": "搜索返回任何结果",
- "deleted_content": "内容已删除",
- "image_caption_prompt": "图片标题",
- "menu_item_send_retry": "重试",
- "label_incognito_mode": "无痕模式:",
- "delete_account": "删除帐户",
- "delete_account_arning": "您确定要删除您的帐户吗?无法撤消。",
- "button_delete_account": "删除帐户",
- "sidepanel_title_acc_security": "安全",
- "sidepanel_title_acc_notifications": "通知",
- "sidepanel_title_acc_support": "支持",
- "label_sdk": "开发包:",
- "label_server_address": "服务器地址:",
- "button_edit": "编辑",
- "button_add_another": "加上另一个",
- "sidepanel_title_acc_general": "常用设定",
- "blocked_contacts_link": "封锁的联络人 ({count})",
- "sidepanel_title_blocked": "被阻止的聊天",
- "push_init_failed": "初始化推送通知失败",
- "invalid_security_token": "无效的安全令牌",
- "no_connection": "无连接",
- "code_doesnot_match": "代码不匹配",
- "channel_prompt": "这是一个频道",
- "channel": "频道",
- "drafty_attachment": "附件",
- "drafty_form": "形式:",
- "drafty_image": "图像",
- "topic_delete": "删除聊天",
- "password_reset_email_sent": "一封电子邮件已发送至 {email}。按照电子邮件中的说明重置密码。",
- "menu_item_restore_topic": "从存档中恢复"
- }
-}
+{"de":{"action_block_contact":"Kontakt blockieren","action_cancel":"Abbrechen","action_clear_messages":"Nachrichten leeren","action_delete_messages":"Nachrichten für alle löschen","action_leave_chat":"Unterhaltung verlassen","action_report_chat":"Unterhaltung melden","archived_contacts":"Archivierte Kontakte ({count})","badge_danger":"Verdächtig","badge_owner":"Besitzer","badge_staff":"Verwaltung","badge_verified":"Verifiziert","badge_you":"Sie","block_contact_warning":"Möchten Sie diesen Kontakt wirklich blockieren?","blocked_contacts_link":"Blockierte Kontakte ({count})","button_add_another":"Hinzufügen","button_add_members":"Mitglieder hinzufügen","button_cancel":"Abbrechen","button_confirm":"Bestätigen","button_create":"Erstellen","button_delete_account":"Konto löschen","button_edit":"Bearbeiten","button_logout":"Abmelden","button_ok":"OK","button_reset":"Zurücksetzen","button_send_request":"Anfrage senden","button_sign_in":"Anmelden","button_sign_up":"Anmelden","button_subscribe":"Abbonieren","button_update":"Aktualisieren","cannot_initiate_file_upload":"Datei kann nicht hochgeladen werden.","channel":"Sender","channel_prompt":"Dies ist ein Sender","chat_invitation":"Sie sind eingeladen, an einem neuen Chat teilzunehmen. Was möchten Sie tun?","chat_invitation_accept":"Akzeptieren","chat_invitation_block":"Blockieren","chat_invitation_ignore":"Ignorieren","clear_messages_warning":"Sind Sie sicher, dass Sie diese Unterhaltung für alle leeren wollen? Das kann nicht rückgängig gemacht werden.","code_doesnot_match":"Code stimmt nicht überein","contacts_not_found":"Sie haben keine Unterhaltungen
¯∖_(ツ)_/¯","contacts_not_found_short":"Keine Kontakte für ''{query}''","credential_email_prompt":"E-Mail Adresse für Registrierung","delete_account":"Konto löschen","delete_account_warning":"Möchten Sie das Konto wirklich löschen? Das kann nicht rückgängig gemacht werden","delete_messages_warning":"Sind Sie sicher, dass Sie diese Unterhaltung für alle löschen wollen? Das kann nicht rückgängig gemacht werden.","deleted_content":"Inhalt gelöscht","download_action":"herunterladen","drafty_attachment":"Dateianhang","drafty_form":"Formular:","drafty_image":"Bild","email_dative":"E-Mail","email_prompt":"E-Mail, z.B. lisam@beispiel.de","enable_peers_messaging":"Aktivieren","enter_confirmation_code_prompt":"Geben Sie den Bestätigungscode ein, der per {method} geschickt wurde:","error_invalid_id":"ungültige ID","file_attachment_too_large":"Die Dateigröße {size} überschreitet das Limit von {limit}.","forgot_password_link":"Passwort vergessen?","full_name_prompt":"Vollständiger Name, z.B. Lisa Musterfrau","granted_permissions":"Erteilt","group_has_no_members":"Keine Mitglieder","group_user_id_prompt":"Gruppe oder Benutzer ID","image_caption_prompt":"Bildunterschrift","invalid_content":"ungültiger Inhalt","invalid_security_token":"Ungültiger Sicherheitsschlüssel","label_client":"Client:","label_content_type":"Inhaltsart:","label_default_access_mode":"Standard Zugriffsmodus:","label_file_name":"Dateiname:","label_group_members":"Gruppenmitglieder:","label_incognito_mode":"inkognito-Modus:","label_message_sound":"Benachrichtigungston:","label_muting_topic":"Stumm geschaltet:","label_other_user":"Andere","label_password":"Passwort","label_permissions":"Berechtigungen:","label_private":"Privater Kommentar","label_push_notifications":"Benachrichtigungsmeldungen:","label_push_notifications_disabled":"Benachrichtigungsmeldungen (erfordert HTTPS):","label_reset_password":"Passwort per E-Mail wiederherstellen:","label_sdk":"SDK:","label_server":"Server:","label_server_address":"Server Adresse:","label_server_to_use":"Server verwenden:","label_size":"Größe:","label_topic_name":"Name","label_user_contacts":"Kontakte:","label_user_id":"ID:","label_wire_transport":"Übertragung per Kabel:","label_you":"Sie:","label_your_name":"Ihr Name","label_your_permissions":"Ihre Berechtigungen:","last_seen_timestamp":"Zuletzt gesehen","leave_chat_warning":"Möchten Sie diese Unterhaltung wirklich verlassen?","link_contact_us":"Kontakt","link_privacy_policy":"Datenschutzerklärung","link_terms_of_service":"Nutzungsbedingungen","login_prompt":"Anmelden","menu_item_archive_topic":"Archivieren","menu_item_block":"Blockieren","menu_item_clear_messages":"Nachrichten leeren","menu_item_clear_messages_for_all":"Für alle leeren","menu_item_delete":"Löschen","menu_item_delete_for_all":"Für alle löschen","menu_item_delete_topic":"Entfernen","menu_item_edit_permissions":"Berechtigungen ändern","menu_item_info":"Info","menu_item_member_delete":"Entfernen","menu_item_mute":"Unterhaltung stumm schalten","menu_item_restore_topic":"Wiederherstellen","menu_item_send_retry":"Wiederholen","menu_item_unblock":"Blockierung aufheben","menu_item_unmute":"Stumm schalten beenden","message_sending":"wird gesendet...","message_sending_failed":"fehlgeschlagen","messages_not_readable":"Neue Nachrichten können nicht gelesen werden","messaging_disabled_prompt":"Nachrichtenübermittlung deaktiviert","more_online_members":"+{overflow} mehr","new_message_prompt":"Neue Nachricht","new_password_placeholder":"Geben Sie ein neues Passwort ein","no_connection":"Keine Verbindung","no_contacts":"Sie haben keine Kontakte :-(","numeric_confirmation_code_prompt":"Nur zahlen","online_now":"jetzt online","password_prompt":"Passwort","password_unchanged_prompt":"unverändert","peers_messaging_disabled":"Gruppennachrichten sind deaktiviert","permission_admin":"Bestätigen ({val})","permission_delete":"Entfernen ({val})","permission_join":"Beitreten ({val})","permission_owner":"Besitzer ({val})","permission_pres":"Benachrichtigt werden ({val})","permission_read":"Lesen ({val})","permission_share":"Teilen ({val})","permission_write":"Schreiben ({val})","phone_dative":"Telefon","private_editing_placeholder":"Nur für Sie sichtbar","push_init_failed":"Initialisierung von Push-Benachrichtigungen fehlgeschlagen","reconnect_countdown":"Getrennt. Wiederverbinden in {seconds}…","reconnect_now":"Jetzt probieren","reload_update":"Neu laden","report_chat_warning":"Möchten Sie diese Unterhaltung wirklich blockieren und melden?","requested_permissions":"Angefordert","save_attachment":"Speichern","search_for_contacts":"Nutzen Sie die Suche um Kontakte zu finden","search_no_results":"Die Suche hatte keine Ergebnisse","search_placeholder":"Liste: email:lisa@beispiel.de, tel:17025550003...","sidepanel_title_acc_notifications":"Benachrichtigungen","sidepanel_title_acc_support":"Unterstützung","sidepanel_title_account_settings":"Konto-Einstellungen","sidepanel_title_archive":"Archivierte Unterhaltungen","sidepanel_title_blocked":"Blockierte Unterhaltungen","sidepanel_title_cred":"Anmeldeinformationen bestätigen","sidepanel_title_login":"Anmelden","sidepanel_title_newtpk":"Neue Unterhaltung starten","sidepanel_title_register":"Konto erstellen","sidepanel_title_reset":"Passwort zurücksetzen","sidepanel_title_settings":"Einstellungen","stay_logged_in":"Angemeldet bleiben","tabtitle_find_user":"Suchen","tabtitle_group_by_id":"nach ID","tabtitle_new_group":"Neue Gruppe","tags_editor_no_tags":"Schlagworte hinzufügen","tags_not_found":"Keine Schlagworte definiert. Erstellen Sie welche.","title_all_contacts":"Alle Kontakte","title_group_members":"Gruppenmitglieder","panel_title_info":"Info","title_manage_tags":"Verwalten","title_not_found":"Nicht gefunden","title_permissions":"Berechtigungen","title_tag_manager":"Schlagworte (Nutzer entdecken)","topic_block_warning":"Möchten Sie diese Unterhaltung wirklich blockieren?","topic_delete_warning":"Möchten Sie diese Unterhaltung wirklich löschen?","topic_name_editing_placeholder":"Freiform Name der Gruppe","unnamed_topic":"Unbenannt","update_available":"Aktualisierung verfügbar.","upload_finishing":"wird abgeschlossen...","user_not_found":"Nicht gefunden","validate_credential_action":"bestätigen","description_editing_placeholder":"Beschreibung (optional)","label_description":"Beschreibung","button_security":"Sicherheit","panel_title_general":"Allgemein","panel_title_security":"Sicherheit","panel_title_crop":"Zum Anpassen ziehen","panel_title_members":"Mitglieder","permissions_anonymous":"Anonym","permissions_authenticated":"Authentifiziert","topic_delete":"Chat löschen","permissions_user":"Benutzerberechtigungen","password_reset_email_sent":"Eine E-Mail wurde an {email} gesendet. Folgen Sie den Anweisungen in der E-Mail, um Ihr Passwort zurückzusetzen.","label_unarchive_topic":"Archiviert:"},"en":{"action_block_contact":"Block Contact","action_cancel":"cancel","action_clear_messages":"Clear Messages","action_delete_messages":"Clear Messages for All","action_leave_chat":"Leave Conversation","action_report_chat":"Report Conversation","archived_contacts":"Archived contacts ({count})","badge_danger":"Untrustworthy","badge_owner":"owner","badge_staff":"Staff-managed","badge_verified":"Verified/official","badge_you":"you","block_contact_warning":"Are you sure you want to block this contact?","blocked_contacts_link":"Blocked contacts ({count})","button_add_another":"Add another","button_add_members":"Add members","button_cancel":"Cancel","button_confirm":"Confirm","button_create":"Create","button_delete_account":"Delete account","button_edit":"Edit","button_logout":"Logout","button_ok":"OK","button_reset":"Reset","button_send_request":"Send request","button_sign_in":"Sign in","button_sign_up":"Sign up","button_subscribe":"Subscribe","button_update":"Update","cannot_initiate_file_upload":"Cannot initiate file upload.","channel":"channel","channel_prompt":"This is a channel","chat_invitation":"You are invited to start a new chat. What would you like to do?","chat_invitation_accept":"Accept","chat_invitation_block":"Block","chat_invitation_ignore":"Ignore","clear_messages_warning":"Are you sure you want to clear all messages? It cannot be undone.","code_doesnot_match":"Code does not match","contacts_not_found":"You have no chats
¯∖_(ツ)_/¯","contacts_not_found_short":"No contacts match ''{query}''","credential_email_prompt":"Your registration email","delete_account":"Delete account","delete_account_warning":"Are you sure you want to delete your account? It cannot be undone.","delete_messages_warning":"Are you sure you want to delete all messages for everyone? It cannot be undone.","deleted_content":"content deleted","download_action":"download","drafty_attachment":"Attachment","drafty_form":"Form:","drafty_image":"Picture","email_dative":"email","email_prompt":"Email, e.g. jdoe@example.com","enable_peers_messaging":"Enable","enter_confirmation_code_prompt":"Enter confirmation code sent to you by {method}:","error_invalid_id":"Invalid ID","file_attachment_too_large":"The file size {size} exceeds the {limit} limit.","forgot_password_link":"Forgot password?","full_name_prompt":"Full name, e.g. John Doe","granted_permissions":"Granted","group_has_no_members":"No members","group_user_id_prompt":"Group or User ID","image_caption_prompt":"Image caption","invalid_content":"invalid content","invalid_security_token":"Invalid security token","label_client":"Client:","label_content_type":"Content type:","label_default_access_mode":"Default access mode:","label_file_name":"File name:","label_group_members":"Group members:","label_incognito_mode":"Incognito mode:","label_message_sound":"Message sound:","label_muting_topic":"Muted:","label_other_user":"Other","label_password":"Password","label_permissions":"Permissions:","label_private":"Private comment","label_push_notifications":"Notification alerts:","label_push_notifications_disabled":"Notification alerts (requires HTTPS):","label_reset_password":"Send a password reset email:","label_sdk":"SDK:","label_server":"Server:","label_server_address":"Server address:","label_server_to_use":"Server to use:","label_size":"Size:","label_topic_name":"Name","label_user_contacts":"Contacts:","label_user_id":"ID:","label_wire_transport":"Wire transport:","label_you":"You:","label_your_name":"Your name","label_your_permissions":"Your permissions:","last_seen_timestamp":"Last seen","leave_chat_warning":"Are you sure you want to leave this conversation?","link_contact_us":"Contact Us","link_privacy_policy":"Privacy Policy","link_terms_of_service":"Terms of Service","login_prompt":"Login","menu_item_archive_topic":"Archive","menu_item_block":"Block","menu_item_clear_messages":"Clear messages","menu_item_clear_messages_for_all":"Clear for All","menu_item_delete":"Delete","menu_item_delete_for_all":"Delete for All","menu_item_delete_topic":"Delete","menu_item_edit_permissions":"Edit permissions","menu_item_info":"Info","menu_item_member_delete":"Remove","menu_item_mute":"Mute","menu_item_reply":"Reply","menu_item_restore_topic":"Restore","menu_item_send_retry":"Retry","menu_item_unblock":"Unblock","menu_item_unmute":"Unmute","message_sending":"sending...","message_sending_failed":"failed","messages_not_readable":"no access to messages","messaging_disabled_prompt":"Messaging disabled","more_online_members":"+{overflow} more","new_message_prompt":"New message","new_password_placeholder":"Enter new password","no_connection":"No connection","no_contacts":"You have no contacts :-(","numeric_confirmation_code_prompt":"Numbers only","online_now":"online now","password_prompt":"Password","password_unchanged_prompt":"Unchanged","peers_messaging_disabled":"Peer's messaging is disabled.","permission_admin":"Approve ({val})","permission_delete":"Delete ({val})","permission_join":"Join ({val})","permission_owner":"Owner ({val})","permission_pres":"Get notified ({val})","permission_read":"Read ({val})","permission_share":"Share ({val})","permission_write":"Write ({val})","phone_dative":"phone","private_editing_placeholder":"Visible to you only","push_init_failed":"Failed to initialize push notifications","reconnect_countdown":"Disconnected. Reconnecting in {seconds}…","reconnect_now":"Try now","reload_update":"Reload","report_chat_warning":"Are you sure you want to block and report this conversation?","requested_permissions":"Requested","save_attachment":"save","search_for_contacts":"Use search to find contacts","search_no_results":"Search returned no results","search_placeholder":"List like email:alice@example.com, tel:17025550003...","sidepanel_title_acc_notifications":"Notifications","sidepanel_title_acc_support":"Support","sidepanel_title_account_settings":"Account Settings","sidepanel_title_archive":"Archived Chats","sidepanel_title_blocked":"Blocked Chats","sidepanel_title_cred":"Confirm Credentials","sidepanel_title_login":"Sign In","sidepanel_title_newtpk":"Start New Chat","sidepanel_title_register":"Create Account","sidepanel_title_reset":"Reset Password","sidepanel_title_settings":"Settings","stay_logged_in":"Stay logged in","tabtitle_find_user":"find","tabtitle_group_by_id":"by id","tabtitle_new_group":"new group","tags_editor_no_tags":"Add some tags","tags_not_found":"No tags defined. Add some.","title_all_contacts":"All Contacts","title_group_members":"Group Members","title_manage_tags":"Manage","title_not_found":"Not found","title_permissions":"Permissions","title_tag_manager":"Tags (search & discovery)","topic_block_warning":"Are you sure you want to block this conversation?","topic_delete_warning":"Are you sure you want to delete this conversation?","topic_name_editing_placeholder":"Freeform name of the group","unnamed_topic":"Unnamed","update_available":"Update available.","upload_finishing":"finishing...","user_not_found":"Not found","validate_credential_action":"confirm","description_editing_placeholder":"Optional description","label_description":"Description","button_security":"Security","panel_title_crop":"Drag to Adjust","panel_title_general":"General","panel_title_members":"Members","panel_title_security":"Security","panel_title_info":"Info","permissions_anonymous":"Anonymous","permissions_authenticated":"Authenticated","topic_delete":"Delete Conversation","permissions_user":"User's Permissions","password_reset_email_sent":"An email has been sent to {email}. Follow the directions in the email to reset your password.","label_unarchive_topic":"Archived:"},"es":{"action_block_contact":"Bloquear contacto","action_cancel":"cancelar","action_clear_messages":"Borrar mensajes","action_delete_messages":"Borrar mensajes para todos","action_leave_chat":"Dejar conversación","action_report_chat":"Reportar conversación","archived_contacts":"Contactos archivados ({count})","badge_danger":"Suspicaz","badge_owner":"propietario","badge_staff":"Administración","badge_verified":"Verificado","badge_you":"tú","block_contact_warning":"¿Estás seguro de que quieres bloquear a este contacto?","blocked_contacts_link":"Contactos bloqueados ({count})","button_add_another":"Añadir contacto","button_add_members":"Añadir miembros","button_cancel":"Cancelar","button_confirm":"Confirmar","button_create":"Crear","button_delete_account":"Eliminar cuenta","button_edit":"Editar","button_logout":"Cerrar sesión","button_ok":"OK","button_reset":"Restablecer","button_send_request":"Enviar petición","button_sign_in":"Entrar","button_sign_up":"Regístrate","button_subscribe":"Suscribirse","button_update":"Actualizar","cannot_initiate_file_upload":"No se pudo iniciar la carga del archivo.","channel":"canal","channel_prompt":"Este es un canal","chat_invitation":"Estás invitado a participar en un nuevo chat. ¿Qué te gustaría hacer?","chat_invitation_accept":"Aceptar","chat_invitation_block":"Bloquear","chat_invitation_ignore":"Ignorar","clear_messages_warning":"¿Estás seguro de que quieres eliminar todos los mensajes? Esta acción es irreversible.","code_doesnot_match":"El código no coincide","contacts_not_found":"No tienes chats
¯∖_(ツ)_/¯","contacts_not_found_short":"Ningún contacto coincide con ''{query}''","credential_email_prompt":"Tu correo electrónico de registro","delete_account":"Eliminar cuenta","delete_account_warning":"¿Estás seguro de que deseas eliminar permanentemente tu cuenta? Esta acción es irreversible.","delete_messages_warning":"¿Estás seguro de que quieres eliminar todos los mensajes para todos? Esta acción es irreversible.","deleted_content":"este mensaje fue eliminado","download_action":"descargar","drafty_attachment":"Archivo","drafty_form":"Formulario:","drafty_image":"Imagen","email_dative":"correo electrónico","email_prompt":"Correo electrónico, p.ej. juan@example.com","enable_peers_messaging":"Habilitar","enter_confirmation_code_prompt":"Introduzca el código de confirmación enviado a tu {method}:","error_invalid_id":"ID inválido","file_attachment_too_large":"El tamaño del archivo {size} excede el límite de {limit}.","forgot_password_link":"¿Olvidaste tu contraseña?","full_name_prompt":"Nombre completo, p.ej. Juan González Hernández","granted_permissions":"Otorgados","group_has_no_members":"No hay miembros","group_user_id_prompt":"ID del grupo o usuario","image_caption_prompt":"Añade un comentario","invalid_content":"contenido inválido","invalid_security_token":"Token de seguridad inválido","label_client":"Cliente:","label_content_type":"Tipo de contenido:","label_default_access_mode":"Modo de acceso predeterminado:","label_file_name":"Nombre del archivo:","label_group_members":"Miembros del grupo:","label_incognito_mode":"Modo incógnito:","label_message_sound":"Sonido de mensaje:","label_muting_topic":"Silenciado:","label_other_user":"Otros","label_password":"Contraseña","label_permissions":"Permisos:","label_private":"Comentario privado","label_push_notifications":"Alertas de notificaciones:","label_push_notifications_disabled":"Alertas de notificaciones (requiere HTTPS):","label_reset_password":"Enviar un correo electrónico de restablecimiento de contraseña:","label_sdk":"SDK:","label_server":"Servidor:","label_server_address":"Dirección del servidor:","label_server_to_use":"Servidor para usar:","label_size":"Tamaño:","label_topic_name":"Nombre del tema","label_user_contacts":"Contactos:","label_user_id":"ID:","label_wire_transport":"Transporte de alambre:","label_you":"Tú:","label_your_name":"Tu nombre","label_your_permissions":"Tus permisos:","last_seen_timestamp":"Últ. vez","leave_chat_warning":"¿Estás seguro de que quieres dejar esta conversación?","link_contact_us":"Contáctanos","link_privacy_policy":"Política de privacidad","link_terms_of_service":"Términos de uso","login_prompt":"Nombre de usuario","menu_item_archive_topic":"Archivar","menu_item_block":"Bloquear","menu_item_clear_messages":"Borrar mensajes","menu_item_clear_messages_for_all":"Borrar para todos","menu_item_delete":"Eliminar","menu_item_delete_for_all":"Eliminar para todos","menu_item_delete_topic":"Eliminar","menu_item_edit_permissions":"Editar permisos","menu_item_info":"Información","menu_item_member_delete":"Eliminar","menu_item_mute":"Silenciar","menu_item_restore_topic":"Restaurar","menu_item_send_retry":"Inténtalo de nuevo","menu_item_unblock":"Desbloquear","menu_item_unmute":"Anular el silencio","message_sending":"enviando...","message_sending_failed":"no se pudo enviar el mensaje","messages_not_readable":"sin acceso a mensajes","messaging_disabled_prompt":"El envío de mensajes está deshabilitado","more_online_members":"+{overflow} más","new_message_prompt":"Nuevo mensaje","new_password_placeholder":"Introduzca una nueva contraseña","no_connection":"Sin conexión","no_contacts":"No tienes contactos :-(","numeric_confirmation_code_prompt":"Sólo números","online_now":"en línea","password_prompt":"Contraseña","password_unchanged_prompt":"Sin cambios","peers_messaging_disabled":"La mensajería Peer está deshabilitada.","permission_admin":"Approbar ({val})","permission_delete":"Eliminar ({val})","permission_join":"Unirse ({val})","permission_owner":"Propietario ({val})","permission_pres":"Ser notificado ({val})","permission_read":"Leer ({val})","permission_share":"Compartir ({val})","permission_write":"Escribir ({val})","phone_dative":"teléfono","private_editing_placeholder":"Sólo visible para tí","push_init_failed":"Error al inicializar las notificaciones push","reconnect_countdown":"Desconectado. Reconectando en {seconds}…","reconnect_now":"Reintentar","reload_update":"Recargar","report_chat_warning":"¿Estás seguro de que quieres bloquear y reportar a esta conversación?","requested_permissions":"Solicitados","save_attachment":"guardar","search_for_contacts":"Usa la búsqueda para encontrar contactos","search_no_results":"La búsqueda no arrojó resultados","search_placeholder":"Ej. email:alice@example.com, tel:17025550003...","sidepanel_title_acc_notifications":"Notificaciones","sidepanel_title_acc_support":"Soporte","sidepanel_title_account_settings":"Ajustes de la cuenta","sidepanel_title_archive":"Chats archivados","sidepanel_title_blocked":"Chats bloqueados","sidepanel_title_cred":"Confirmar credenciales","sidepanel_title_login":"Iniciar sesión","sidepanel_title_newtpk":"Iniciar un nuevo chat","sidepanel_title_register":"Crear cuenta","sidepanel_title_reset":"Restablecer contraseña","sidepanel_title_settings":"Ajustes","stay_logged_in":"Permanecer conectado","tabtitle_find_user":"encontrar","tabtitle_group_by_id":"por ID","tabtitle_new_group":"nuevo grupo","tags_editor_no_tags":"Añadir etiquetas","tags_not_found":"No hay etiquetas definidas. Añade unas.","title_all_contacts":"Todos los contactos","title_group_members":"Miembros del grupo","title_manage_tags":"Gestionar","title_not_found":"No encontrado","title_permissions":"Permisos","title_tag_manager":"Etiquetas (descubrimiento de usuarios)","topic_block_warning":"¿Estás seguro de que quieres bloquear esta conversación","topic_delete_warning":"¿Estás seguro de que quieres eliminar esta conversación?","topic_name_editing_placeholder":"Nombre del grupo","unnamed_topic":"Sin nombre","update_available":"Actualización disponible.","upload_finishing":"terminando...","user_not_found":"Usuario no encontrado","validate_credential_action":"confirmar","description_editing_placeholder":"Descripción (opcional)","label_description":"Descripción","button_security":"Seguridad","panel_title_crop":"Arrastra para ajustar","panel_title_general":"General","panel_title_members":"Miembros","panel_title_security":"Seguridad","panel_title_info":"Información","permissions_anonymous":"Anónimo","permissions_authenticated":"Autenticado","topic_delete":"Eliminar chat","permissions_user":"Permisos del usuario","password_reset_email_sent":"Se ha enviado un correo electrónico a {email}. Siga las instrucciones del correo electrónico para restablecer su contraseña.","label_unarchive_topic":"Archivado:"},"ko":{"action_block_contact":"연락차단","action_cancel":"취소","action_clear_messages":"메시지지우기","action_delete_messages":"모든메시지지우기","action_leave_chat":"대화나누기","action_report_chat":"대화기록","archived_contacts":"보관된연락처({수})","badge_danger":"의심 많은","badge_owner":"소유자","badge_staff":"직원 관리하에","badge_verified":"확인 됨","badge_you":"당신","block_contact_warning":"이연락처를차단하시겠습니까?","blocked_contacts_link":"차단된연락처({수})","button_add_another":"다른항목추가","button_add_members":"회원추가","button_cancel":"취소","button_confirm":"확인","button_create":"작성","button_delete_account":"계정삭제","button_edit":"편집","button_logout":"로그아웃","button_ok":"OK","button_reset":"재설정","button_send_request":"요청보내기","button_sign_in":"로그인","button_sign_up":"가입","button_subscribe":"구독","button_update":"업데이트","cannot_initiate_file_upload":"파일업로드를시작할수없습니다.","channel":"채널","channel_prompt":"이 채널입니다","chat_invitation":"새로운대화를시작하도록초대되었습니다.무엇을하시겠습니까?","chat_invitation_accept":"수락","chat_invitation_block":"차단","chat_invitation_ignore":"무시","clear_messages_warning":"모든메시지를지우시겠습니까?실행취소할수없습니다.","code_doesnot_match":"코드가일치하지않습니다","contacts_not_found":"채팅이없습니다
¯∖_(ツ)_/¯","contacts_not_found_short":"'{문의}'와일치하는연락처가없습니다.","credential_email_prompt":"등록이메일","delete_account":"계정삭제","delete_account_warning":"계정을삭제하시겠습니까?실행취소할수없습니다.","delete_messages_warning":"모든사람의모든메시지를삭제하시겠습니까?실행취소할수없습니다.","deleted_content":"내용이 삭제되었습니다","download_action":"다운로드","drafty_attachment":"부착","drafty_form":"형태:","drafty_image":"이미지","email_dative":"이메일","email_prompt":"이메일(예:hong@example.com)","enable_peers_messaging":"활성화","enter_confirmation_code_prompt":"{방법}으로보낸확인코드를입력하십시오:","error_invalid_id":"잘못된ID","file_attachment_too_large":"파일크기{크기}이(가){제한}제한을초과합니다.","forgot_password_link":"비밀번호를잊으셨습니까?","full_name_prompt":"전체이름(예:홍길동)","granted_permissions":"승낙하다","group_has_no_members":"회원없음","group_user_id_prompt":"그룹또는사용자ID","image_caption_prompt":"이미지설명","invalid_content":"잘못된내용","invalid_security_token":"유효하지않은보안토큰","label_client":"클라이언트: ","label_content_type":"컨텐츠유형: ","label_default_access_mode":"기본액세스모드: ","label_file_name":"파일이름: ","label_group_members":"그룹회원: ","label_incognito_mode":"시크릿모드: ","label_message_sound":"메시지소리: ","label_muting_topic":"음소거: ","label_other_user":"기타","label_password":"비밀번호","label_permissions":"권한: ","label_private":"개인코멘트","label_push_notifications":"통지경보: ","label_push_notifications_disabled":"통지경보(HTTPS필요): ","label_reset_password":"비밀번호재설정이메일보내기: ","label_sdk":"SDK:","label_server":"서버: ","label_server_address":"서버주소: ","label_server_to_use":"사용할서버:","label_size":"크기: ","label_topic_name":"이름","label_user_contacts":"연락처: ","label_user_id":"ID:","label_wire_transport":"와이어수송:","label_you":"당신: ","label_your_name":"이름","label_your_permissions":"권한: ","last_seen_timestamp":"마지막으로본","leave_chat_warning":"이대화를나가시겠습니까?","link_contact_us":"문의처","link_privacy_policy":"개인정보보호정책","link_terms_of_service":"서비스약관","login_prompt":"로그인","menu_item_archive_topic":"보관","menu_item_block":"차단","menu_item_clear_messages":"메시지지우기","menu_item_clear_messages_for_all":"모두지우기","menu_item_delete":"삭제","menu_item_delete_for_all":"모두삭제","menu_item_delete_topic":"삭제","menu_item_edit_permissions":"편집권한","menu_item_info":"정보","menu_item_member_delete":"제거","menu_item_mute":"음소거","menu_item_restore_topic":"복원","menu_item_send_retry":"다시시도","menu_item_unblock":"차단해제","menu_item_unmute":"음소거해제","message_sending":"보내기...","message_sending_failed":"실패","messages_not_readable":"메시지에 액세스 할 수 없습니다","messaging_disabled_prompt":"메시지비활성화","more_online_members":"+{넘침}더보기","new_message_prompt":"새메시지","new_password_placeholder":"새비밀번호입력","no_connection":"연결없음","no_contacts":"연락처가없습니다 (._.)","numeric_confirmation_code_prompt":"숫자만","online_now":"현재접속중","password_prompt":"비밀번호","password_unchanged_prompt":"변경되지않음","peers_messaging_disabled":"동료의메시지가비활성화되었습니다.","permission_admin":"승인({val})","permission_delete":"삭제({val})","permission_join":"참여({val})","permission_owner":"소유자({val})","permission_pres":"알림받기({val})","permission_read":"읽기({val})","permission_share":"공유({val})","permission_write":"쓰기({val})","phone_dative":"전화","private_editing_placeholder":"나만볼수있습니다","push_init_failed":"푸시알림을초기화하지못했습니다","reconnect_countdown":"연결이끊어졌습니다.다시연결하는중{초}…","reconnect_now":"지금시도","reload_update":"재로드","report_chat_warning":"이대화를차단하고기록하시겠습니까?","requested_permissions":"요청","save_attachment":"저장","search_for_contacts":"검색을사용하여연락처찾기","search_no_results":"검색결과가없습니다","search_placeholder":"email:alice@example.com,tel:17025550003...와같은목록","sidepanel_title_acc_notifications":"알림","sidepanel_title_acc_support":"지원","sidepanel_title_account_settings":"계정설정","sidepanel_title_archive":"보관된채팅","sidepanel_title_blocked":"차단된채팅","sidepanel_title_cred":"자격증명확인","sidepanel_title_login":"로그인","sidepanel_title_newtpk":"새채팅시작","sidepanel_title_register":"계정만들기","sidepanel_title_reset":"비밀번호재설정","sidepanel_title_settings":"설정","stay_logged_in":"로그인상태유지","tabtitle_find_user":"찾기","tabtitle_group_by_id":"id로","tabtitle_new_group":"새그룹","tags_editor_no_tags":"일부태그추가","tags_not_found":"태그가정의되지않았습니다.일부를추가하십시오.","title_all_contacts":"모든연락처","title_group_members":"그룹구성원","title_manage_tags":"관리","title_not_found":"찾을수없음","title_permissions":"권한","title_tag_manager":"태그(사용자검색)","topic_block_warning":"이대화를차단하시겠습니까?","topic_delete_warning":"이대화를삭제하시겠습니까?","topic_name_editing_placeholder":"그룹의자유형이름","unnamed_topic":"이름없는","update_available":"업데이트가능.","upload_finishing":"마무리...","user_not_found":"찾을수없음","validate_credential_action":"확인","description_editing_placeholder":"설명(선택 사항)","label_description":"설명","button_security":"보안","panel_title_crop":"드래그하여 조정","panel_title_general":"일반","panel_title_members":"구성원","panel_title_security":"보안","panel_title_info":"정보","permissions_anonymous":"익명","permissions_authenticated":"인증됨","topic_delete":"채팅 삭제","permissions_user":"사용자 권한","password_reset_email_sent":"이메일이 {email}(으)로 전송되었습니다. 이메일의 지침에 따라 비밀번호를 재설정하세요.","label_unarchive_topic":"보관됨:"},"ro":{"action_block_contact":"Blochează contact","action_cancel":"anulează","action_clear_messages":"Șterge mesajele","action_delete_messages":"Șterge toate mesajele","action_leave_chat":"Ieși din conversație","action_report_chat":"Raportează conversația","archived_contacts":"Contacte arhivate ({count})","badge_danger":"Suspicios","badge_owner":"owner","badge_staff":"Administrare","badge_verified":"Verificat","badge_you":"tu","block_contact_warning":"Ești sigur că dorești să blochezi acest contact?","blocked_contacts_link":"Contact blocate ({count})","button_add_another":"Adaugă","button_add_members":"Adaugă persoane","button_cancel":"Anulează","button_confirm":"Confirmă","button_create":"Creează","button_delete_account":"Șterge cont","button_edit":"Editează","button_logout":"Deconectare","button_ok":"OK","button_reset":"Resetează","button_send_request":"Trimite cerere","button_sign_in":"Conectează-te","button_sign_up":"Creează cont","button_subscribe":"Subscribe","button_update":"Actualizează","cannot_initiate_file_upload":"Nu se poate face încărcarea.","channel":"canal","channel_prompt":"Acesta este un canal","chat_invitation":"Ai primit invitație într-o conversație. Accepți?","chat_invitation_accept":"Da, accept","chat_invitation_block":"Blochează","chat_invitation_ignore":"Ignoră","clear_messages_warning":"Ești sigur că dorești să ștergi mesajele? Acestea nu pot fi recuperate.","code_doesnot_match":"Codul furnizat nu este valid","contacts_not_found":"Nu ai contacte salvate
¯∖_(ツ)_/¯","contacts_not_found_short":"Niciun contact găsit după criteriile ''{query}''","credential_email_prompt":"Adresa de e-mail","delete_account":"Șterge contul","delete_account_warning":"Ești sigur că dorești să ștergi contul? Acesta nu va putea fi recuperat.","delete_messages_warning":"Ești sigur că dorești să șterge mesajele din toate conversațiile? Acestea nu pot fi recuperate.","deleted_content":"conținut șters","download_action":"download","drafty_attachment":"Atasament","drafty_form":"Formă:","drafty_image":"Imagine","email_dative":"email","email_prompt":"Adresa de e-mail","enable_peers_messaging":"Activează","enter_confirmation_code_prompt":"Introu codul de confirmare trimis pe {method}:","error_invalid_id":"ID Invalid","file_attachment_too_large":"Dimensiunea fișiterului {size} depășește limita de {limit}.","forgot_password_link":"Ți-ai uitat parola?","full_name_prompt":"Numele tău","granted_permissions":"Oferite","group_has_no_members":"În acest grup nu se află persoane","group_user_id_prompt":"Grup sau user ID","image_caption_prompt":"Titlul imaginii","invalid_content":"conținut invalid","invalid_security_token":"Codul de securitate este invalid","label_client":"Client:","label_content_type":"Tip conținut:","label_default_access_mode":"Default access mode:","label_file_name":"Nume fișier:","label_group_members":"Membrii grupului:","label_incognito_mode":"Mod incognito:","label_message_sound":"Sunet de mesaj:","label_muting_topic":"Mod silențios (muted):","label_other_user":"Altele","label_password":"Parola","label_permissions":"Permisiuni:","label_private":"Comentariu privat","label_push_notifications":"Alerte de notificare:","label_push_notifications_disabled":"Alerte de notificare (necesită HTTPS):","label_reset_password":"Resetează parola:","label_sdk":"SDK:","label_server":"Server:","label_server_address":"Adresa serverului:","label_server_to_use":"Server de utilizat:","label_size":"Size:","label_topic_name":"Nume","label_user_contacts":"Contacte:","label_user_id":"ID:","label_wire_transport":"Transportul legat:","label_you":"Tu:","label_your_name":"Numele tău","label_your_permissions":"Permisiuniile tale:","last_seen_timestamp":"Văzut ultima dată","leave_chat_warning":"Ești sigur că dorești să ieși din conersație?","link_contact_us":"Contactează-ne","link_privacy_policy":"Politica de Confidențialitate","link_terms_of_service":"Termenii Serviciului","login_prompt":"Conectează-te","menu_item_archive_topic":"Arhivează","menu_item_block":"Blochează","menu_item_clear_messages":"Șterge mesajele","menu_item_clear_messages_for_all":"Ștergele pe toate","menu_item_delete":"Șterge","menu_item_delete_for_all":"Ștergele pe toate","menu_item_delete_topic":"Șterge","menu_item_edit_permissions":"Editează permisiuni","menu_item_info":"Info","menu_item_member_delete":"Șterge persoană","menu_item_mute":"Mute","menu_item_restore_topic":"Restabili","menu_item_send_retry":"Reîncearcă","menu_item_unblock":"Deblochează","menu_item_unmute":"Unmute","message_sending":"se trimite...","message_sending_failed":"eroare","messages_not_readable":"Mesajele nu pot fi citite","messaging_disabled_prompt":"Mesageria este dezactivată","more_online_members":"+{overflow} mai mult","new_message_prompt":"Mesaj nou","new_password_placeholder":"Introdu parolă","no_connection":"Nu există conexiune","no_contacts":"Nu ai contacte adăugate :-(","numeric_confirmation_code_prompt":"Doar cifre","online_now":"online acum","password_prompt":"Parola","password_unchanged_prompt":"Neschimbată","peers_messaging_disabled":"Mesageria de tip Peer este dezactivată.","permission_admin":"Aprobare ({val})","permission_delete":"Ștergere ({val})","permission_join":"Participare ({val})","permission_owner":"Deținător ({val})","permission_pres":"Notificare ({val})","permission_read":"Citire ({val})","permission_share":"Distribuire ({val})","permission_write":"Scriere ({val})","phone_dative":"telefon","private_editing_placeholder":"Vizibil doar ție","push_init_failed":"Nu s-a reușit inițializarea tip push notifications","reconnect_countdown":"Deconectat. Se încearcă conectarea în {seconds}…","reconnect_now":"Încearcă din nou","reload_update":"Reîncarcă","report_chat_warning":"Ești sigur că dorești să blochezi și să raportezi această conversație?","requested_permissions":"Necesare","save_attachment":"salvează","search_for_contacts":"Caută în contacte","search_no_results":"Nu s-au găsit rezultate","search_placeholder":"Caută după e-mail sau număr telefon...","sidepanel_title_acc_notifications":"Notificări","sidepanel_title_acc_support":"Ajutor","sidepanel_title_account_settings":"Setările Contului","sidepanel_title_archive":"Conversații Arhivate","sidepanel_title_blocked":"Conversații Blocate","sidepanel_title_cred":"Confirmă credențiale","sidepanel_title_login":"Conectează-te","sidepanel_title_newtpk":"Creeză un nou Chat","sidepanel_title_register":"Creează Cont","sidepanel_title_reset":"Resetează Parola","sidepanel_title_settings":"Setări","stay_logged_in":"Rămâi conectat","tabtitle_find_user":"caută","tabtitle_group_by_id":"după id","tabtitle_new_group":"grup nou","tags_editor_no_tags":"Adaugă tag-uri","tags_not_found":"Niciun tag definit. Adaugă.","title_all_contacts":"Toate Contactele","title_group_members":"Persoanele din grup","title_manage_tags":"Administrează","title_not_found":"Nu a fost găsit","title_permissions":"Permisiuni","title_tag_manager":"Tag-uri (user discovery)","topic_block_warning":"Ești sigur că dorești să blochezi această conversație?","topic_delete_warning":"Ești sigur că dorești să șterge această conversație?","topic_name_editing_placeholder":"Numele grupului","unnamed_topic":"Nedenumit","update_available":"Actualizare disponibilă.","upload_finishing":"se încarcă...","user_not_found":"Utilizatorul nu a fost găsit","validate_credential_action":"confirmă","description_editing_placeholder":"Descriere (opțional)","label_description":"Descriere","button_security":"Securitate","panel_title_crop":"Trageți pentru a ajusta","panel_title_general":"Generale","panel_title_members":"Membri","panel_title_security":"Securitate","panel_title_info":"Info","permissions_anonymous":"Anonim","permissions_authenticated":"Autentificat","topic_delete":"Ștergeți Chat","permissions_user":"Permisiunile utilizatorului","password_reset_email_sent":"Un e-mail a fost trimis către {email}. Urmați instrucțiunile din e-mail pentru a vă reseta parola.","label_unarchive_topic":"Arhivat:"},"ru":{"action_block_contact":"Заблокировать контакт","action_cancel":"отменить","action_clear_messages":"Удалить сообщения","action_delete_messages":"Удалить сообщения","action_leave_chat":"Уйти из чата","action_report_chat":"Сообщить о нарушении","archived_contacts":"Чаты в архиве ({count})","badge_danger":"Подозрительный","badge_owner":"влад.","badge_staff":"Администрация","badge_verified":"Верифицированный","badge_you":"вы","block_contact_warning":"Вы действительно заблокировать этот контакт?","blocked_contacts_link":"Заблокированные ({count})","button_add_another":"Добавить","button_add_members":"Добавить","button_cancel":"Отменить","button_confirm":"Подтвердить","button_create":"Создать","button_delete_account":"Удалить аккаунт","button_edit":"Редактировать","button_logout":"Выйти","button_ok":"OK","button_reset":"Изменить","button_send_request":"Отправить","button_sign_in":"Войти","button_sign_up":"Создать аккаунт","button_subscribe":"Подписаться","button_update":"Применить","cannot_initiate_file_upload":"Ошибка загрузки файла.","channel":"канал","channel_prompt":"Создать канал","chat_invitation":"Вас пригласили начать новый чат. Как вы хотите поступить?","chat_invitation_accept":"Принять","chat_invitation_block":"Заблокировать","chat_invitation_ignore":"Игнорировать","clear_messages_warning":"Вы действительно хотите удалить все сообщения в чате? Их будет невозможно восстановить.","code_doesnot_match":"Код не совпадает","contacts_not_found":"Чатов нет
¯∖_(ツ)_/¯","contacts_not_found_short":"Нет контактов для запроса ''{query}''","credential_email_prompt":"Регистрационный емейл","delete_account":"Удалить аккаунт","delete_account_warning":"Вы уверены, что ходите удалить свой аккаунт? Его невозможно будет восстановить.","delete_messages_warning":"Вы действительно хотите удалить все сообщения?","deleted_content":"удалено","download_action":"скачать","drafty_attachment":"Аттачмент","drafty_form":"Форма:","drafty_image":"Картинка","email_dative":"емейлу","email_prompt":"Email, напр. ivan@example.com","enable_peers_messaging":"Разблокировать.","enter_confirmation_code_prompt":"Код подтверждения, полученный по {method}:","error_invalid_id":"Неверный ID","file_attachment_too_large":"Размер файла {size} превышает {limit} лимит.","forgot_password_link":"Напомнить пароль","full_name_prompt":"Полное имя, напр. Иван Петров","granted_permissions":"Получены","group_has_no_members":"Нет участников","group_user_id_prompt":"ID чата или пользователя","image_caption_prompt":"Подпись к фото","invalid_content":"сообщение не читается","invalid_security_token":"Токен некорректен","label_client":"Клиент:","label_content_type":"Тип:","label_default_access_mode":"Доступ по умолчанию:","label_file_name":"Имя файла:","label_group_members":"Участники чата:","label_incognito_mode":"Режим инкогнито:","label_message_sound":"Звук нового сообщения:","label_muting_topic":"Без уведомлений","label_other_user":"Второй","label_password":"Пароль","label_permissions":"Права доступа:","label_private":"Комментарий","label_push_notifications":"Уведомления:","label_push_notifications_disabled":"Уведомления (требуют HTTPS):","label_reset_password":"Отправить емейл для смены пароля:","label_sdk":"SDK:","label_server":"Сервер:","label_server_address":"Адрес сервера:","label_server_to_use":"Использовать сервер:","label_size":"Размер:","label_topic_name":"Название","label_user_contacts":"Конакты:","label_user_id":"ID:","label_wire_transport":"Соединение:","label_you":"Вы:","label_your_name":"Ваше имя","label_your_permissions":"Ваши права доступа:","last_seen_timestamp":"Был активен","leave_chat_warning":"Вы действительно хотите покинуть этот чат?","link_contact_us":"Связаться с нами","link_privacy_policy":"Политика конфиденциальности","link_terms_of_service":"Условия сервиса","login_prompt":"Логин","menu_item_archive_topic":"В архив","menu_item_block":"Заблокировать","menu_item_clear_messages":"Удалить сообщения","menu_item_clear_messages_for_all":"Удалить для всех","menu_item_delete":"Удалить","menu_item_delete_for_all":"Удалить для всех","menu_item_delete_topic":"Удалить чат","menu_item_edit_permissions":"Права доступа","menu_item_info":"Информация","menu_item_member_delete":"Отписать","menu_item_mute":"Не уведомлять","menu_item_restore_topic":"Разархивировать","menu_item_send_retry":"Отправить заново","menu_item_unblock":"Разблокировать","menu_item_unmute":"Уведомлять","message_sending":"в пути...","message_sending_failed":"ошибка","messages_not_readable":"нет доступа к сообщениям","messaging_disabled_prompt":"Отправка недоступна","more_online_members":"+еще {overflow}","new_message_prompt":"Новое сообщение","new_password_placeholder":"Введите новый пароль","no_connection":"Нет связи","no_contacts":"Ничего нет :-(","numeric_confirmation_code_prompt":"Только цифры","online_now":"онлайн","password_prompt":"Пароль","password_unchanged_prompt":"Не изменен","peers_messaging_disabled":"Чат заблокирован у корреспондента.","permission_admin":"Подтверждать ({val})","permission_delete":"Удалять ({val})","permission_join":"Подписываться ({val})","permission_owner":"Владелец ({val})","permission_pres":"Уведомлять ({val})","permission_read":"Читать ({val})","permission_share":"Приглашать ({val})","permission_write":"Писать ({val})","phone_dative":"телефону","private_editing_placeholder":"Виден только вам","push_init_failed":"Ошибка инициализации пуш уведомлений","reconnect_countdown":"Нет связи. Подключение через {seconds}…","reconnect_now":"Подключить сейчас.","reload_update":"Обновить","report_chat_warning":"Вы действительно хотите сообщить о нарушении и заблокировать этот чат?","requested_permissions":"Требуются","save_attachment":"сохранить","search_for_contacts":"Поиск контактов","search_no_results":"Ничего не найдено","search_placeholder":"Список, напр. email:alice@example.com, tel:+17025550003...","sidepanel_title_acc_notifications":"Уведомления","sidepanel_title_acc_support":"Поддержка","sidepanel_title_account_settings":"Настройки аккаунта","sidepanel_title_archive":"Архив чатов","sidepanel_title_blocked":"Заблокированные чаты","sidepanel_title_cred":"Подтвердить","sidepanel_title_login":"Авторизация","sidepanel_title_newtpk":"Новый чат","sidepanel_title_register":"Зарегистрироваться","sidepanel_title_reset":"Сменить пароль","sidepanel_title_settings":"Настройки","stay_logged_in":"Запомнить","tabtitle_find_user":"найти","tabtitle_group_by_id":"по id","tabtitle_new_group":"создать","tags_editor_no_tags":"Добавьте теги","tags_not_found":"Тегов нет. Добавьте","title_all_contacts":"Все контакты","title_group_members":"Участники","title_manage_tags":"Редактировать","title_not_found":"Не найден","title_permissions":"Права доступа","title_tag_manager":"Теги для поиска","topic_block_warning":"Вы действительно хотите заблокировать этот чат?","topic_delete_warning":"Вы действительно хотите удалить этот чат?","topic_name_editing_placeholder":"Название чата","unnamed_topic":"Без названия","update_available":"Есть новая версия приложения.","upload_finishing":"завершение...","user_not_found":"Не найден","validate_credential_action":"подтвердить","description_editing_placeholder":"Описание (не обязательно)","label_description":"Описание","button_security":"Безопасность","panel_title_crop":"Обрезать картинку","panel_title_general":"Общие настройки","panel_title_members":"Участники","panel_title_security":"Безопасность","panel_title_info":"Подробности","permissions_anonymous":"Анонимный","permissions_authenticated":"Авторизованный","topic_delete":"Удалить чат","permissions_user":"Права доступа","password_reset_email_sent":"Сообщение было отправлено на адрес {email}. Следуйте инструкциям в сообщении, чтобы изменить пароль.","label_unarchive_topic":"Архивирован:"},"zh-TW":{"action_block_contact":"封鎖聯絡人","action_cancel":"取消","action_clear_messages":"清除訊息","action_delete_messages":"為所有人清除訊息","action_leave_chat":"離開對話","action_report_chat":"檢舉對話","archived_contacts":"已封存的聯絡人 ({count})","badge_danger":"不可信","badge_owner":"擁有者","badge_staff":"員工管理","badge_verified":"已驗證/官方","badge_you":"您","block_contact_warning":"您確定要封鎖此聯絡人嗎?","blocked_contacts_link":"已封鎖的聯絡人 ({count})","button_add_another":"新增其他人","button_add_members":"新增成員","button_cancel":"取消","button_confirm":"確認","button_create":"建立","button_delete_account":"刪除帳號","button_edit":"編輯","button_logout":"登出","button_ok":"OK","button_reset":"重設","button_send_request":"傳送要求","button_sign_in":"登入","button_sign_up":"註冊","button_subscribe":"訂閱","button_update":"更新","cannot_initiate_file_upload":"無法為檔案上傳初始化。","channel":"頻道","channel_prompt":"這是頻道","chat_invitation":"您已被邀請開始新對話。您接下來要做什麼呢?","chat_invitation_accept":"接受","chat_invitation_block":"封鎖","chat_invitation_ignore":"忽略","clear_messages_warning":"您確定要清除所有訊息嗎?此操作無法復原。","code_doesnot_match":"代碼不相符","contacts_not_found":"您沒有任何對話
¯∖_(ツ)_/¯","contacts_not_found_short":"沒有符合 ''{query}'' 的聯絡人","credential_email_prompt":"您的註冊電子郵件地址","delete_account":"刪除帳號","delete_account_warning":"您確定要刪除您的帳戶嗎?此操作無法撤消。","delete_messages_warning":"您確定要為所有人刪除所有訊息嗎?此操作無法復原。","deleted_content":"內容已被刪除","download_action":"下載","drafty_attachment":"附加檔案","drafty_form":"表單:","drafty_image":"圖片","email_dative":"電子郵件地址","email_prompt":"電子郵件地址,例如:jdoe@example.com","enable_peers_messaging":"啟用","enter_confirmation_code_prompt":"輸入透過 {method} 傳送給您的確認碼:","error_invalid_id":"ID 無效","file_attachment_too_large":"檔案大小 {size} 超出 {limit} 限制。","forgot_password_link":"忘記密碼?","full_name_prompt":"全名,例如:王小明","granted_permissions":"已授權","group_has_no_members":"無成員","group_user_id_prompt":"群組或使用者 ID","image_caption_prompt":"圖片說明","invalid_content":"內容無效","invalid_security_token":"安全權杖無效","label_client":"客戶端:","label_content_type":"類型:","label_default_access_mode":"預設存取模式:","label_file_name":"檔名:","label_group_members":"群組成員:","label_incognito_mode":"無痕模式:","label_message_sound":"訊息提示聲:","label_muting_topic":"靜音:","label_other_user":"其他","label_password":"密碼","label_permissions":"權限:","label_private":"私人留言","label_push_notifications":"通知:","label_push_notifications_disabled":"通知 (需要 HTTPS):","label_reset_password":"傳送重設密碼郵件:","label_sdk":"SDK:","label_server":"伺服器:","label_server_address":"伺服器位址:","label_server_to_use":"使用的伺服器:","label_size":"大小:","label_topic_name":"名稱","label_user_contacts":"聯絡人:","label_user_id":"ID:","label_wire_transport":"Wire transport:","label_you":"您:","label_your_name":"您的名字","label_your_permissions":"您的權限:","last_seen_timestamp":"最後上線","leave_chat_warning":"您確定要離開此對話嗎?","link_contact_us":"聯絡我們","link_privacy_policy":"隱私權政策","link_terms_of_service":"服務條款","login_prompt":"登入","menu_item_archive_topic":"封存","menu_item_block":"封鎖","menu_item_clear_messages":"清除訊息","menu_item_clear_messages_for_all":"為所有人清除訊息","menu_item_delete":"刪除","menu_item_delete_for_all":"為所有人刪除","menu_item_delete_topic":"刪除","menu_item_edit_permissions":"編輯權限","menu_item_info":"Info","menu_item_member_delete":"移除","menu_item_mute":"靜音","menu_item_restore_topic":"恢復","menu_item_send_retry":"重試","menu_item_unblock":"解除封鎖","menu_item_unmute":"解除靜音","message_sending":"正在傳送...","message_sending_failed":"失敗","messages_not_readable":"沒有存取訊息的權限","messaging_disabled_prompt":"停用訊息","more_online_members":"+{overflow}","new_message_prompt":"新訊息","new_password_placeholder":"輸入新的密碼","no_connection":"無連線","no_contacts":"您沒有任何聯絡人 :-(","numeric_confirmation_code_prompt":"僅數字","online_now":"上線中","password_prompt":"密碼","password_unchanged_prompt":"未修改","peers_messaging_disabled":"Peer 已停用訊息。","permission_admin":"核可 ({val})","permission_delete":"刪除 ({val})","permission_join":"加入 ({val})","permission_owner":"擁有者 ({val})","permission_pres":"收到通知 ({val})","permission_read":"讀取 ({val})","permission_share":"分享 ({val})","permission_write":"撰寫 ({val})","phone_dative":"phone","private_editing_placeholder":"僅您可見","push_init_failed":"初始化通知失敗。","reconnect_countdown":"已斷線。將在 {seconds} 秒後重新連線…","reconnect_now":"現在重試","reload_update":"重新載入","report_chat_warning":"您確定要封鎖並檢舉此對話嗎?","requested_permissions":"重新請求","save_attachment":"儲存","search_for_contacts":"使用搜尋來尋找聯絡人","search_no_results":"搜尋無結果","search_placeholder":"例如 email:alice@example.com, tel:17025550003... 的清單","sidepanel_title_acc_notifications":"通知","sidepanel_title_acc_support":"支援","sidepanel_title_account_settings":"帳號設定","sidepanel_title_archive":"已封存的對話","sidepanel_title_blocked":"已封鎖的對話","sidepanel_title_cred":"確認認證","sidepanel_title_login":"登入","sidepanel_title_newtpk":"開始新對話","sidepanel_title_register":"建立帳號","sidepanel_title_reset":"重設密碼","sidepanel_title_settings":"設定","stay_logged_in":"保持登入","tabtitle_find_user":"尋找","tabtitle_group_by_id":"以 id","tabtitle_new_group":"新群組","tags_editor_no_tags":"新增一些標籤","tags_not_found":"未定義任何標籤。請新增一些標籤。","title_all_contacts":"所有聯絡人","title_group_members":"群組成員","title_manage_tags":"管理","title_not_found":"找不到","title_permissions":"權限","title_tag_manager":"標籤 (使用者探索)","topic_block_warning":"您確定要封鎖此對話嗎?","topic_delete_warning":"您確定要刪除此對話嗎?","topic_name_editing_placeholder":"群組的任意名稱","unnamed_topic":"未命名","update_available":"有可用的更新。","upload_finishing":"正在完成...","user_not_found":"找不到","validate_credential_action":"確認","description_editing_placeholder":"說明(可選)","label_description":"說明","button_security":"安全性","panel_title_crop":"拖動調整","panel_title_general":"一般","panel_title_members":"成員","panel_title_security":"安全性","panel_title_info":"資訊","permissions_anonymous":"匿名","permissions_authenticated":"已認證","topic_delete":"刪除聊天","permissions_user":"用戶權限","password_reset_email_sent":"一封電子郵件已發送至 {email}。按照電子郵件中的說明重置密碼。","label_unarchive_topic":"存檔聊天:"},"zh":{"action_block_contact":"屏蔽联系人","action_cancel":"取消","action_clear_messages":"删除讯息","action_delete_messages":"删除所有帖子","action_leave_chat":"离开","action_report_chat":"检举垃圾邮件","archived_contacts":"已归档联系人 ({count})","badge_danger":"可疑的","badge_owner":"所有者","badge_staff":"在员工管理下","badge_verified":"值得信赖","badge_you":"你","block_contact_warning":"您确定要阻止此联系人吗?","blocked_contacts_link":"封锁的联络人 ({count})","button_add_another":"加上另一个","button_add_members":"添加成员","button_cancel":"取消","button_confirm":"确认","button_create":"创建","button_delete_account":"删除帐户","button_edit":"编辑","button_logout":"登出","button_ok":"好","button_reset":"重置","button_send_request":"发送请求","button_sign_in":"登录","button_sign_up":"注册","button_subscribe":"订阅","button_update":"更新","cannot_initiate_file_upload":"无法初始化文件上传。","channel":"频道","channel_prompt":"这是一个频道","chat_invitation":"你受邀开始新会话。你想怎么做?","chat_invitation_accept":"接受","chat_invitation_block":"屏蔽","chat_invitation_ignore":"忽略","clear_messages_warning":"您确定要清除所有消息吗?无法撤消。","code_doesnot_match":"代码不匹配","contacts_not_found":"你尚无会话
¯∖_(ツ)_/¯","contacts_not_found_short":"无联系人匹配''{query}''","credential_email_prompt":"你的注册邮箱","delete_account":"删除帐户","delete_account_warning":"您确定要删除您的帐户吗?无法撤消。","delete_messages_warning":"您确定要删除所有消息吗?无法撤消。","deleted_content":"内容已删除","download_action":"下载","drafty_attachment":"附件","drafty_form":"形式:","drafty_image":"图像","email_dative":"电子邮件","email_prompt":"电子邮件,例如 zhang@example.com","enable_peers_messaging":"启用","enter_confirmation_code_prompt":"输入通过{method}发送的验证码:","error_invalid_id":"无效 ID","file_attachment_too_large":"文件大小 {size} 超过 {limit} 限制。","forgot_password_link":"忘记密码?","full_name_prompt":"全名,例如张伟","granted_permissions":"已授予","group_has_no_members":"无成员","group_user_id_prompt":"群组或用户 ID","image_caption_prompt":"图片标题","invalid_content":"无效内容","invalid_security_token":"无效的安全令牌","label_client":"客户端:","label_content_type":"内容类型:","label_default_access_mode":"蓦然访问模式:","label_file_name":"文件名:","label_group_members":"群组成员:","label_incognito_mode":"无痕模式:","label_message_sound":"消息提示音:","label_muting_topic":"已静音:","label_other_user":"其他","label_password":"密码","label_permissions":"权限:","label_private":"私人评论","label_push_notifications":"通知提醒:","label_push_notifications_disabled":"通知提醒(需要 HTTPS):","label_reset_password":"发送密码重置邮件:","label_sdk":"开发包:","label_server":"服务器:","label_server_address":"服务器地址:","label_server_to_use":"使用的服务器:","label_size":"大小:","label_topic_name":"名称","label_user_contacts":"往来:","label_user_id":"地址:","label_wire_transport":"线路传输:","label_you":"你:","label_your_name":"你的姓名","label_your_permissions":"你的权限:","last_seen_timestamp":"最后可见","leave_chat_warning":"您确定要退出此对话吗?","link_contact_us":"联系我们","link_privacy_policy":"隐私政策","link_terms_of_service":"条款和条件","login_prompt":"登录","menu_item_archive_topic":"归档","menu_item_block":"屏蔽","menu_item_clear_messages":"清空消息","menu_item_clear_messages_for_all":"全部清除","menu_item_delete":"删除","menu_item_delete_for_all":"全部删除","menu_item_delete_topic":"删除","menu_item_edit_permissions":"编辑权限","menu_item_info":"信息","menu_item_member_delete":"移除","menu_item_mute":"静音","menu_item_restore_topic":"从存档中恢复","menu_item_send_retry":"重试","menu_item_unblock":"取消屏蔽","menu_item_unmute":"取消静音","message_sending":"正在发送...","message_sending_failed":"发送失败","messages_not_readable":"无消息访问权限","messaging_disabled_prompt":"消息已禁用","more_online_members":"还有{overflow}个","new_message_prompt":"新消息","new_password_placeholder":"输入新密码","no_connection":"无连接","no_contacts":"你尚无联系人 (._.)","numeric_confirmation_code_prompt":"仅数字","online_now":"在线","password_prompt":"密码","password_unchanged_prompt":"未改变","peers_messaging_disabled":"成员间消息已禁用。","permission_admin":"批准 ({val})","permission_delete":"删除 ({val})","permission_join":"加入 ({val})","permission_owner":"所有者 ({val})","permission_pres":"获取通知 ({val})","permission_read":"读取 ({val})","permission_share":"分享 ({val})","permission_write":"写入 ({val})","phone_dative":"电话","private_editing_placeholder":"仅自己可见","push_init_failed":"初始化推送通知失败","reconnect_countdown":"连接已断开。{seconds} 秒后重新连接…","reconnect_now":"立即尝试","reload_update":"重新载入","report_chat_warning":"您确定要停止并报告此对话吗?","requested_permissions":"已请求","save_attachment":"保存","search_for_contacts":"使用搜索寻找联系人","search_no_results":"搜索返回任何结果","search_placeholder":"列表如 email:alice@example.com, tel:+17025550003...","sidepanel_title_acc_notifications":"通知","sidepanel_title_acc_support":"支持","sidepanel_title_account_settings":"帐号设定","sidepanel_title_archive":"已存档会话","sidepanel_title_blocked":"被阻止的聊天","sidepanel_title_cred":"确认凭据","sidepanel_title_login":"登录","sidepanel_title_newtpk":"开始新会话","sidepanel_title_register":"创建账户","sidepanel_title_reset":"重置密码","sidepanel_title_settings":"设置","stay_logged_in":"保持登录","tabtitle_find_user":"搜索","tabtitle_group_by_id":"通过 id","tabtitle_new_group":"新群组","tags_editor_no_tags":"添加一些标签","tags_not_found":"尚未定义标签。添加一些。","title_all_contacts":"全部联系人","title_group_members":"群组成员","title_manage_tags":"管理标签","title_not_found":"无法找到","title_permissions":"权限","title_tag_manager":"标签(用户发现)","topic_block_warning":"您确定要阻止此对话吗?","topic_delete_warning":"您确定要删除此对话吗?","topic_name_editing_placeholder":"群组自由格式名称","unnamed_topic":"未命名","update_available":"更新可用。","upload_finishing":"正在结束...","user_not_found":"未找到","validate_credential_action":"确认","description_editing_placeholder":"说明(可选)","label_description":"说明","button_security":"安全","panel_title_crop":"拖动调整","panel_title_general":"常用设定","panel_title_members":"成员","panel_title_security":"安全","panel_title_info":"信息","permissions_anonymous":"匿名","permissions_authenticated":"已认证","topic_delete":"删除聊天","permissions_user":"用户权限","password_reset_email_sent":"一封电子邮件已发送至 {email}。按照电子邮件中的说明重置密码。","label_unarchive_topic":"存档:"}}
\ No newline at end of file
diff --git a/src/version.js b/src/version.js
index f1f7ba9d..e285364d 100644
--- a/src/version.js
+++ b/src/version.js
@@ -1,3 +1,3 @@
// This is a generated file. Don't edit.
-export const PACKAGE_VERSION = "0.17.10-rc1";
+export const PACKAGE_VERSION = "0.18.0-alpha1";
diff --git a/src/views/acc-general-view.jsx b/src/views/acc-general-view.jsx
deleted file mode 100644
index dbacbd12..00000000
--- a/src/views/acc-general-view.jsx
+++ /dev/null
@@ -1,189 +0,0 @@
-// Edit account parameters.
-import React from 'react';
-import { FormattedMessage } from 'react-intl';
-
-import Tinode from 'tinode-sdk';
-
-import AvatarUpload from '../widgets/avatar-upload.jsx';
-import InPlaceEdit from '../widgets/in-place-edit.jsx';
-import TagManager from '../widgets/tag-manager.jsx';
-
-import { MAX_TITLE_LENGTH } from '../config.js';
-import { makeImageDataUrl } from '../lib/blob-helpers.js';
-import { arrayEqual, asEmail, asPhone, theCard } from '../lib/utils.js';
-
-export default class AccGeneralView extends React.Component {
- constructor(props) {
- super(props);
-
- const me = this.props.tinode.getMeTopic();
- this.state = {
- fullName: me.public ? me.public.fn : undefined,
- avatar: makeImageDataUrl(me.public ? me.public.photo : null),
- tags: me.tags(),
- credentials: me.getCredentials() || [],
- addCredActive: false,
- addCredInvalid: false,
- newCred: '',
- previousOnTags: me.onTagsUpdated
- };
-
- this.tnNewTags = this.tnNewTags.bind(this);
- this.tnCredsUpdated = this.tnCredsUpdated.bind(this);
- this.handleFullNameUpdate = this.handleFullNameUpdate.bind(this);
- this.handleImageChanged = this.handleImageChanged.bind(this);
- this.handleCredChange = this.handleCredChange.bind(this);
- this.handleCredKeyDown = this.handleCredKeyDown.bind(this);
- this.handleCredEntered = this.handleCredEntered.bind(this);
- this.handleTagsUpdated = this.handleTagsUpdated.bind(this);
- }
-
- componentDidMount() {
- const me = this.props.tinode.getMeTopic();
- me.onCredsUpdated = this.tnCredsUpdated;
- me.onTagsUpdated = this.tnNewTags;
- }
-
- componentWillUnmount() {
- const me = this.props.tinode.getMeTopic();
- me.onTagsUpdated = this.state.previousOnTags;
- me.onCredsUpdated = undefined;
- }
-
- tnNewTags(tags) {
- this.setState({tags: tags});
- }
-
- tnCredsUpdated(creds) {
- this.setState({credentials: creds || []});
- }
-
- handleFullNameUpdate(fn) {
- fn = fn.trim().substring(0, MAX_TITLE_LENGTH);
- if (fn) {
- this.setState({fullName: fn});
- this.props.onUpdateAccount(undefined, theCard(fn, null));
- }
- }
-
- handleImageChanged(img) {
- this.setState({avatar: img});
- this.props.onUpdateAccount(undefined, theCard(null, img || Tinode.DEL_CHAR));
- }
-
- handleCredChange(e) {
- this.setState({newCred: e.target.value, addCredInvalid: false});
- }
-
- handleCredKeyDown(e) {
- if (e.keyCode === 27) {
- // Escape pressed
- this.setState({newCred: '', addCredActive: false});
- } else if (e.keyCode === 13) {
- // Enter pressed
- this.handleCredEntered(e);
- }
- }
-
- handleCredEntered(e) {
- let value = this.state.newCred.trim();
- if (!value) {
- this.setState({addCredActive: false, addCredInvalid: false});
- return;
- }
-
- let val = asPhone(value);
- let method;
- if (val) {
- method = 'tel';
- } else {
- val = asEmail(value);
- if (val) {
- method = 'email';
- }
- }
- if (method) {
- this.props.onCredAdd(method, val);
- this.setState({addCredActive: false, newCred: ''});
- } else {
- this.setState({addCredInvalid: true});
- }
- }
-
- handleTagsUpdated(tags) {
- // Check if tags have actually changed.
- if (arrayEqual(this.state.tags.slice(0), tags.slice(0))) {
- return;
- }
- this.props.onUpdateTags(tags);
- }
-
- render() {
- const credentials = [];
- this.state.credentials.map((cred) => {
- credentials.push(
: null}
-