Merge branch 'dev'
This commit is contained in:
commit
ec87ebf310
61 changed files with 6900 additions and 376 deletions
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "keanuapp-weblite",
|
||||
"version": "0.1.41",
|
||||
"version": "0.1.42",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"serve": "vue-cli-service serve",
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "keanuapp-weblite",
|
||||
"version": "0.1.40",
|
||||
"version": "0.1.41",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"serve": "vue-cli-service serve",
|
||||
|
|
|
|||
266
src/assets/css/channel.scss
Normal file
266
src/assets/css/channel.scss
Normal file
|
|
@ -0,0 +1,266 @@
|
|||
.chat-root.channel {
|
||||
background-color: #f2f2f2;
|
||||
.chat-content {
|
||||
width: 100%;
|
||||
max-width: 700px;
|
||||
align-self: center;
|
||||
background-color: white;
|
||||
padding: 0 0;
|
||||
}
|
||||
|
||||
.messageOut,
|
||||
.messageIn,
|
||||
.messageOut.from-admin,
|
||||
.messageIn.from-admin {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
flex-direction: row;
|
||||
margin: 0 0 8px 0;
|
||||
padding: 16px 0 0 0;
|
||||
text-align: start;
|
||||
.senderAndTime {
|
||||
order: 2;
|
||||
flex: 1 1 auto;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
flex-wrap: wrap;
|
||||
padding: 2px 12px 0 12px;
|
||||
.sender {
|
||||
font-size: 12 * $chat-text-size;
|
||||
font-weight: 700;
|
||||
margin: 0;
|
||||
color: #1c1c31;
|
||||
flex: 0 0 100%;
|
||||
}
|
||||
.time {
|
||||
font-size: 12 * $chat-text-size;
|
||||
margin: 0;
|
||||
color: #5f5f5f;
|
||||
}
|
||||
.status {
|
||||
font-size: 12 * $chat-text-size;
|
||||
margin: 0 0 0 10px;
|
||||
color: #5f5f5f;
|
||||
}
|
||||
}
|
||||
.avatar {
|
||||
order: 1;
|
||||
width: 40px !important;
|
||||
height: 40px !important;
|
||||
min-width: 40px !important;
|
||||
min-height: 40px !important;
|
||||
margin: 0;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
margin-left: 15px;
|
||||
}
|
||||
.pin-icon {
|
||||
order: 3;
|
||||
margin-right: 15px;
|
||||
}
|
||||
.op-button {
|
||||
order: 4;
|
||||
margin-right: 15px;
|
||||
}
|
||||
.content {
|
||||
order: 5;
|
||||
flex: 0 0 100%;
|
||||
margin-top: 24px;
|
||||
.message {
|
||||
color: black !important;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
.more-less-control__content {
|
||||
transition: height 0.3s linear;
|
||||
overflow: hidden;
|
||||
}
|
||||
.more-less-control.collapsed .more-less-control__content {
|
||||
max-height: 4 * 24 * $chat-text-size; // Four lines - font size is 16 and line height 1.5
|
||||
}
|
||||
.more-less-control__read-more, .more-less-control__read-less {
|
||||
font-family: "Inter", sans-serif;
|
||||
font-size: 16 * $chat-text-size;
|
||||
font-weight: 500;
|
||||
line-height: 20.8 * $chat-text-size;
|
||||
letter-spacing: 0.400 * $chat-text-size;
|
||||
text-align: left;
|
||||
color: #6360F0;
|
||||
}
|
||||
}
|
||||
}
|
||||
.bubble {
|
||||
width: 100%;
|
||||
max-width: 100%;
|
||||
color: black !important;
|
||||
background: none !important;
|
||||
border: none !important;
|
||||
border-radius: 0 !important;
|
||||
padding: 0 15px 0 15px;
|
||||
}
|
||||
.bubble.image-bubble, .bubble.audio-bubble {
|
||||
/* full bleed */
|
||||
padding: 0 0 0 0;
|
||||
border-radius: 0 !important;
|
||||
.v-image, video {
|
||||
border-radius: 0 !important;
|
||||
}
|
||||
}
|
||||
.quick-reaction-container {
|
||||
order: 6;
|
||||
flex: 0 0 100%;
|
||||
margin: 24px 7px 0 7px;
|
||||
padding: 0 8px 16px 8px;
|
||||
.emoji {
|
||||
font-size: 12 * $chat-text-size;
|
||||
font-weight: 500;
|
||||
color: #1c1c31;
|
||||
.v-icon {
|
||||
width: 21px;
|
||||
height: 21px;
|
||||
}
|
||||
}
|
||||
border-bottom: 1px solid rgba(0, 0, 0, 0.1);
|
||||
}
|
||||
|
||||
/* Make all images 'cover' */
|
||||
.v-image__image {
|
||||
background-size: cover;
|
||||
}
|
||||
}
|
||||
|
||||
.audio-player {
|
||||
color: #1c1c31 !important;
|
||||
padding: 0 8px;
|
||||
.currentColor {
|
||||
background-color: #000000 !important;
|
||||
}
|
||||
.v-icon {
|
||||
color: black !important;
|
||||
}
|
||||
}
|
||||
|
||||
.poll-bubble svg {
|
||||
color: black;
|
||||
}
|
||||
.poll-answer {
|
||||
|
||||
&.selected {
|
||||
font-weight: 500;
|
||||
}
|
||||
}
|
||||
.poll-check-icon {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.poll-percent-indicator {
|
||||
background: #EBE9E9;
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
.messageOut.pinned,
|
||||
.messageIn.pinned,
|
||||
.messageOut.from-admin.pinned,
|
||||
.messageIn.from-admin.pinned {
|
||||
background-color: #f8f8f8;
|
||||
}
|
||||
|
||||
|
||||
.message-operations {
|
||||
position: absolute;
|
||||
width: fit-content;
|
||||
background-color: white;
|
||||
height: fit-content;
|
||||
border-radius: 8px;
|
||||
box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.15);
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
/* Style file items (i.e. PDF files) */
|
||||
.thumbnail-item.file-item {
|
||||
background-color: rgba(245,245,245,1);
|
||||
border-radius: 8px;
|
||||
padding: 12px 40px 12px 76px;
|
||||
align-items: start;
|
||||
position: relative;
|
||||
font-family: Inter;
|
||||
font-size: 14 * $chat-text-size;
|
||||
font-weight: 400;
|
||||
line-height: 16.8 * $chat-text-size;
|
||||
letter-spacing: 0.4 * $chat-text-size;
|
||||
text-align: left;
|
||||
min-height: 80px;
|
||||
.file-name {
|
||||
font-weight: 700;
|
||||
display: block;
|
||||
display: -webkit-box;
|
||||
-webkit-box-orient: vertical;
|
||||
overflow: hidden;
|
||||
word-break: break-all;
|
||||
text-overflow: ellipsis;
|
||||
max-lines: 2;
|
||||
line-clamp: 2;
|
||||
-webkit-line-clamp: 2;
|
||||
}
|
||||
.v-icon {
|
||||
position: absolute;
|
||||
top: 12px;
|
||||
left: 12px;
|
||||
width: 56px;
|
||||
height: 56px;
|
||||
}
|
||||
svg {
|
||||
position: absolute;
|
||||
width: 56px;
|
||||
height: 56px;
|
||||
}
|
||||
&::after {
|
||||
content: " ";
|
||||
background: url("~@/assets/icons/ic_export.svg") no-repeat;
|
||||
background-position: 0 0;
|
||||
position: absolute;
|
||||
right: 12px;
|
||||
height: 24px;
|
||||
width: 24px;
|
||||
margin: auto 0;
|
||||
}
|
||||
&:hover {
|
||||
opacity: 0.7;
|
||||
}
|
||||
.file-size {
|
||||
font-size: 12 * $chat-text-size;
|
||||
font-weight: 400;
|
||||
line-height: 14.4 * $chat-text-size;
|
||||
}
|
||||
& .zip {
|
||||
color: #0060e5;
|
||||
}
|
||||
}
|
||||
|
||||
.swipeable-thumbnails-view {
|
||||
margin-left: -15px;
|
||||
margin-right: -15px;
|
||||
order: 2;
|
||||
.thumbnail-item.file-item {
|
||||
margin: 15px;
|
||||
width: auto;
|
||||
}
|
||||
.indicator-container {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
margin-top: 12px;
|
||||
.indicator {
|
||||
width: 6px;
|
||||
height: 6px;
|
||||
border-radius: 3px;
|
||||
margin: 0 2.5px;
|
||||
background: #D9D9D9;
|
||||
&.current {
|
||||
background: #6360F0;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -2,6 +2,7 @@
|
|||
@import "@/assets/css/main.scss";
|
||||
@import "@/assets/css/vendors/v-emoji-picker";
|
||||
@import "@/assets/css/filedrop.scss";
|
||||
@import "@/assets/css/channel.scss";
|
||||
|
||||
$admin-bg: black;
|
||||
$admin-fg: white;
|
||||
|
|
@ -250,6 +251,7 @@ body {
|
|||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
display: -webkit-box;
|
||||
line-clamp: 4;
|
||||
-webkit-line-clamp: 4;
|
||||
-webkit-box-orient: vertical;
|
||||
}
|
||||
|
|
@ -341,8 +343,12 @@ body {
|
|||
|
||||
.scroll-to-end {
|
||||
position: absolute;
|
||||
top: -64px;
|
||||
bottom: 20px;
|
||||
right: 16px;
|
||||
&.reversed {
|
||||
top: 120px;
|
||||
transform: rotate(180deg);
|
||||
}
|
||||
}
|
||||
|
||||
.op-button {
|
||||
|
|
@ -1605,4 +1611,18 @@ body {
|
|||
height: $small-button-height !important;
|
||||
margin-top: $chat-standard-padding-xs;
|
||||
margin-bottom: $chat-standard-padding-xs;
|
||||
}
|
||||
}
|
||||
|
||||
.thumbnail-item {
|
||||
line-height: 16.38 * $chat-text-size;
|
||||
.file-name {
|
||||
font-weight: 700;
|
||||
}
|
||||
.file-size {
|
||||
margin-top: 8px;
|
||||
color: #61605F;
|
||||
}
|
||||
.zip {
|
||||
color: #1d1d1d;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@
|
|||
border-radius: 4px;
|
||||
padding: 15px 14px;
|
||||
margin: 0px;
|
||||
height: $min-touch-target;
|
||||
min-height: $min-touch-target;
|
||||
&:hover {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
|
@ -64,6 +64,10 @@
|
|||
position: relative;
|
||||
}
|
||||
|
||||
.poll-answer:not(:last-child) {
|
||||
margin-bottom: 12px;
|
||||
}
|
||||
|
||||
.poll-percent-indicator {
|
||||
position: absolute;
|
||||
bottom: 2px;
|
||||
|
|
@ -161,6 +165,7 @@
|
|||
color: white;
|
||||
text-transform: uppercase;
|
||||
height: 42px;
|
||||
min-width: 132px;
|
||||
}
|
||||
|
||||
.poll-disclose {
|
||||
|
|
|
|||
8
src/assets/icons/ic_channel_apk.vue
Normal file
8
src/assets/icons/ic_channel_apk.vue
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
<template>
|
||||
<svg width="56" height="56" viewBox="0 0 56 56" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<rect width="56" height="56" rx="8" fill="white" />
|
||||
<path
|
||||
d="M18.6672 24.6277C18.6672 23.5554 17.7396 22.6659 16.6673 22.6678C15.593 22.6659 14.6674 23.5553 14.6674 24.6296V32.7701C14.6674 33.8443 15.593 34.6672 16.6673 34.6672C17.7396 34.6672 18.6672 33.8462 18.6672 32.7701V24.6277ZM35.9996 22.6678H20.0004L20.0023 35.2595C20.0023 36.408 20.9299 37.3337 22.0784 37.3337H22.6669V42.0553C22.6669 43.1277 23.6078 44 24.6802 44C25.7544 44 26.6667 43.1277 26.6667 42.0553V37.3337H29.3333V42.0553C29.3333 43.1277 30.278 44 31.3484 44C32.4226 44 33.3331 43.1277 33.3331 42.0553V37.3337H33.9273C35.0701 37.3337 36.0015 36.4061 36.0015 35.2576L35.9996 22.6678ZM35.9996 21.3307C35.9996 18.3232 34.394 16.2567 31.935 14.8796L33.1883 12.4016C33.2531 12.2721 33.2112 12.1083 33.0874 12.034C32.9655 11.9636 32.815 12.0112 32.7483 12.1426L31.4855 14.6453C29.4456 13.6625 26.762 13.5616 24.5126 14.6453L23.2479 12.1407C23.1831 12.0112 23.0326 11.9617 22.9107 12.0321C22.7888 12.1064 22.745 12.2702 22.8117 12.4016L24.065 14.8796C21.606 16.2567 20.0004 18.3251 20.0004 21.3307H35.9996ZM41.3326 24.6277C41.3326 23.5554 40.407 22.6659 39.3327 22.6678C38.2604 22.6659 37.3328 23.5553 37.3328 24.6296V32.7701C37.3328 33.8443 38.2585 34.6672 39.3327 34.6672C40.407 34.6672 41.3326 33.8462 41.3326 32.7701V24.6277Z"
|
||||
fill="#5CE500" />
|
||||
</svg>
|
||||
</template>
|
||||
11
src/assets/icons/ic_channel_pdf.vue
Normal file
11
src/assets/icons/ic_channel_pdf.vue
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
<template>
|
||||
<svg width="56" height="56" viewBox="0 0 56 56" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<rect width="56" height="56" rx="8" fill="white" />
|
||||
<path
|
||||
d="M38.3256 12H17.6814C16.5583 12.0004 15.4815 12.4474 14.6882 13.2423C13.8949 14.0372 13.4502 15.115 13.452 16.2379V39.7532C13.452 40.8764 13.8972 41.9539 14.6898 42.7498C15.4824 43.5459 16.558 43.9953 17.6814 44H33.4577C33.751 43.997 34.0252 43.8533 34.1947 43.6139L42.3373 35.4713C42.4002 35.4063 42.448 35.3286 42.4776 35.2432C42.5258 35.1388 42.55 35.0248 42.5478 34.9099V16.238C42.5497 15.1151 42.105 14.0373 41.3117 13.2424C40.5184 12.4475 39.4416 12.0005 38.3185 12.0001L38.3256 12Z"
|
||||
fill="#E50000" />
|
||||
<path fill-rule="evenodd" clip-rule="evenodd"
|
||||
d="M18.7925 23.6122H21.1529C21.8021 23.605 22.4269 23.8595 22.8866 24.3179C23.3464 24.7763 23.6025 25.4004 23.5973 26.0498C23.5973 26.6993 23.3402 27.3222 22.882 27.7827C22.424 28.2431 21.8022 28.5033 21.1529 28.5066H19.6699V30.7582C19.6699 31.0716 19.5027 31.3612 19.2312 31.5179C18.9597 31.6747 18.6252 31.6747 18.3538 31.5179C18.0823 31.3612 17.915 31.0716 17.915 30.7582V24.4896C17.915 24.2568 18.0074 24.0337 18.1721 23.8691C18.3366 23.7046 18.5598 23.6122 18.7925 23.6122ZM19.6699 26.7463H21.1529L21.1529 26.7516C21.3367 26.7516 21.5129 26.6782 21.6423 26.5478C21.7718 26.4173 21.8439 26.2405 21.8425 26.0567C21.8468 25.8724 21.7755 25.6945 21.6453 25.5641C21.515 25.4339 21.3369 25.3626 21.1529 25.367H19.6699V26.7463ZM25.7049 23.6016H28.074C28.7241 23.6016 29.3476 23.8591 29.808 24.3179C30.2686 24.7768 30.5284 25.3994 30.5308 26.0495V29.1872C30.5308 29.8388 30.2719 30.4637 29.8112 30.9244C29.3504 31.3851 28.7256 31.644 28.074 31.644H25.7049C25.4721 31.644 25.2489 31.5516 25.0844 31.387C24.9198 31.2225 24.8274 30.9992 24.8274 30.7666V24.479C24.8274 24.2464 24.9198 24.0232 25.0844 23.8587C25.2489 23.694 25.4721 23.6016 25.7049 23.6016ZM28.5703 29.6908C28.7019 29.5593 28.7759 29.3806 28.7759 29.1945V26.0583C28.7759 25.8723 28.7019 25.6936 28.5703 25.5621C28.4386 25.4304 28.2602 25.3564 28.074 25.3564H26.5823L26.5822 29.8964H28.0738C28.2601 29.8964 28.4386 29.8225 28.5703 29.6908ZM37.2281 25.0996C37.3928 24.9349 37.4852 24.7118 37.4852 24.479L37.4781 24.479C37.4781 24.2463 37.3856 24.0231 37.2211 23.8586C37.0566 23.694 36.8333 23.6016 36.6007 23.6016H32.661C32.4283 23.6016 32.2051 23.694 32.0406 23.8586C31.8761 24.0231 31.7836 24.2464 31.7836 24.479V30.772C31.7836 31.0855 31.9508 31.3751 32.2223 31.5319C32.4938 31.6886 32.8282 31.6886 33.0997 31.5319C33.3712 31.3751 33.5384 31.0855 33.5384 30.772V28.5065H35.5724C35.8858 28.5065 36.1755 28.3392 36.3323 28.0678C36.4889 27.7963 36.4889 27.4618 36.3323 27.1903C36.1755 26.9188 35.8858 26.7516 35.5724 26.7516H33.5384V25.3565H36.6077C36.8404 25.3565 37.0636 25.2641 37.2281 25.0996Z"
|
||||
fill="white" />
|
||||
</svg>
|
||||
</template>
|
||||
9
src/assets/icons/ic_edit.vue
Normal file
9
src/assets/icons/ic_edit.vue
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
<template>
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M13 6L18 11" stroke="black" stroke-width="1.2" />
|
||||
<path d="M5 14L10 19" stroke="black" stroke-width="1.2" />
|
||||
<path
|
||||
d="M14.4692 4.98995L5.19822 14.2609C5.18642 14.2727 5.17463 14.2845 5.16288 14.2962C5.00326 14.4554 4.84981 14.6084 4.74141 14.7999C4.63302 14.9913 4.58076 15.2016 4.52639 15.4204C4.52239 15.4365 4.51838 15.4526 4.51433 15.4688L3.62003 19.046C3.61762 19.0557 3.61518 19.0654 3.61272 19.0752C3.57411 19.2293 3.53044 19.4035 3.51593 19.5518C3.49978 19.7169 3.50127 20.0162 3.74255 20.2575C3.98384 20.4987 4.28307 20.5002 4.4482 20.4841C4.59644 20.4696 4.77068 20.4259 4.92474 20.3873C4.93457 20.3848 4.94432 20.3824 4.95397 20.38L4.80845 19.7979L4.95397 20.38L8.53117 19.4857C8.54736 19.4816 8.56352 19.4776 8.57962 19.4736C8.79839 19.4192 9.0087 19.367 9.20015 19.2586L8.90453 18.7365L9.20015 19.2586C9.39159 19.1502 9.5446 18.9967 9.70378 18.8371C9.7155 18.8254 9.72725 18.8136 9.73906 18.8018L19.0101 9.53079L19.0369 9.50395C19.3472 9.19367 19.6215 8.91946 19.8128 8.66869C20.0202 8.39688 20.1858 8.08335 20.1858 7.69231C20.1858 7.30127 20.0202 6.98774 19.8128 6.71592C19.6215 6.46516 19.3472 6.19095 19.0369 5.88066L19.0101 5.85383L18.1462 4.98995L18.1193 4.96311C17.8091 4.65278 17.5348 4.37853 17.2841 4.1872C17.0123 3.97981 16.6987 3.81421 16.3077 3.81421C15.9167 3.81421 15.6031 3.97981 15.3313 4.1872C15.0805 4.37853 14.8063 4.6528 14.496 4.96314L14.4692 4.98995Z"
|
||||
stroke="black" stroke-width="1.2" />
|
||||
</svg>
|
||||
</template>
|
||||
4
src/assets/icons/ic_export.svg
Normal file
4
src/assets/icons/ic_export.svg
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none"
|
||||
xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M5.55 3H7.25C7.71944 3 8.1 3.38056 8.1 3.85C8.1 4.28591 7.77187 4.64518 7.34913 4.69428L7.25 4.7H5.55C5.11409 4.7 4.75482 5.02813 4.70572 5.45087L4.7 5.55V17.45C4.7 17.8859 5.02813 18.2452 5.45087 18.2943L5.55 18.3H17.45C17.8859 18.3 18.2452 17.9719 18.2943 17.5491L18.3 17.45V15.75C18.3 15.2806 18.6806 14.9 19.15 14.9C19.5859 14.9 19.9452 15.2281 19.9943 15.6509L20 15.75V17.45C20 18.808 18.9384 19.9181 17.5998 19.9957L17.45 20H5.55C4.19197 20 3.08189 18.9384 3.00433 17.5998L3 17.45V5.55C3 4.19197 4.06158 3.08189 5.40017 3.00433L5.55 3ZM19.15 3L19.2188 3.00255L19.3206 3.0172L19.4153 3.04228L19.5097 3.07962L19.5926 3.1241L19.6742 3.18087L19.751 3.24896L19.8331 3.34399L19.894 3.43855L19.9204 3.49037L19.9491 3.5596L19.9695 3.62391L19.9941 3.74962L20 3.85V8.95C20 9.41944 19.6194 9.8 19.15 9.8C18.6806 9.8 18.3 9.41944 18.3 8.95V5.9019L12.951 11.251C12.6446 11.5575 12.1625 11.581 11.829 11.3218L11.749 11.251C11.4425 10.9446 11.419 10.4625 11.6782 10.129L11.749 10.049L17.0964 4.7H14.05C13.5806 4.7 13.2 4.31944 13.2 3.85C13.2 3.38056 13.5806 3 14.05 3H19.15Z" fill="black"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.2 KiB |
7
src/assets/icons/ic_like.vue
Normal file
7
src/assets/icons/ic_like.vue
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
<template>
|
||||
<svg width="23" height="22" viewBox="0 0 23 22" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path
|
||||
d="M0.937496 8.11875C0.937496 12.4078 4.59281 16.6369 10.3003 20.2444C10.6172 20.4347 10.9941 20.625 11.25 20.625C11.5153 20.625 11.8931 20.4347 12.1997 20.2444C17.9062 16.6369 21.5625 12.4069 21.5625 8.11875C21.5625 4.44 18.9797 1.875 15.63 1.875C13.6903 1.875 12.1687 2.75625 11.25 4.08C10.3519 2.7675 8.82 1.875 6.87 1.875C3.53062 1.875 0.937496 4.44 0.937496 8.11875Z"
|
||||
stroke="#1C1C31" stroke-width="1.875" />
|
||||
</svg>
|
||||
</template>
|
||||
7
src/assets/icons/ic_like_filled.vue
Normal file
7
src/assets/icons/ic_like_filled.vue
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
<template>
|
||||
<svg width="23" height="22" viewBox="0 0 23 22" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path
|
||||
d="M0.937496 8.11875C0.937496 12.4078 4.59281 16.6369 10.3003 20.2444C10.6172 20.4347 10.9941 20.625 11.25 20.625C11.5153 20.625 11.8931 20.4347 12.1997 20.2444C17.9062 16.6369 21.5625 12.4069 21.5625 8.11875C21.5625 4.44 18.9797 1.875 15.63 1.875C13.6903 1.875 12.1687 2.75625 11.25 4.08C10.3519 2.7675 8.82 1.875 6.87 1.875C3.53062 1.875 0.937496 4.44 0.937496 8.11875Z"
|
||||
stroke="currentColor" stroke-width="1.875" fill="currentColor" />
|
||||
</svg>
|
||||
</template>
|
||||
8
src/assets/icons/ic_pin.vue
Normal file
8
src/assets/icons/ic_pin.vue
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
<template>
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path
|
||||
d="M15.7073 13.6872L17.6164 10.9004C17.7545 10.6988 17.9912 10.588 18.2345 10.6111C18.4308 10.6297 18.6254 10.5611 18.7668 10.4236L19.0964 10.1028C19.5543 9.6572 19.7832 9.43441 19.855 9.17105C19.9019 8.9989 19.9019 8.81733 19.855 8.64518C19.7832 8.38182 19.5543 8.15903 19.0964 7.71343L16.4271 5.11574C16.0064 4.7064 15.7961 4.50174 15.5519 4.43288C15.3745 4.38285 15.1866 4.38285 15.0092 4.43288C14.765 4.50174 14.5547 4.7064 14.134 5.11574L13.7465 5.4929C13.5929 5.64236 13.5245 5.85893 13.5645 6.06947C13.613 6.32422 13.5024 6.58294 13.2849 6.72408L10.4028 8.59391L10.4027 8.59393C9.91388 8.91108 9.66945 9.06966 9.41623 9.20907C8.85769 9.51658 8.2644 9.75622 7.64897 9.92288C7.36996 9.99843 7.08396 10.0541 6.51198 10.1654L6.51195 10.1654L5.66826 10.3296C5.08079 10.444 4.80785 11.1271 5.15478 11.6148C7.16198 14.4362 9.66135 16.8728 12.533 18.8075L12.6081 18.858C13.1023 19.191 13.7762 18.9158 13.8962 18.3321L14.0479 17.5941C14.1585 17.0557 14.2138 16.7865 14.2867 16.524C14.4737 15.8504 14.7481 15.2043 15.103 14.6021C15.2414 14.3674 15.3967 14.1406 15.7073 13.6872Z"
|
||||
stroke="#222222" stroke-width="1.2" />
|
||||
<path d="M8.30331 15.668L3.00001 20.9713" stroke="black" stroke-width="1.2" stroke-linecap="round" />
|
||||
</svg>
|
||||
</template>
|
||||
8
src/assets/icons/ic_pin_filled.vue
Normal file
8
src/assets/icons/ic_pin_filled.vue
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
<template>
|
||||
<svg width="25" height="24" viewBox="0 0 25 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path
|
||||
d="M16.2072 13.6872L18.1163 10.9004C18.2545 10.6988 18.4911 10.588 18.7344 10.6111C18.9307 10.6297 19.1254 10.5611 19.2667 10.4236L19.5963 10.1028C20.0542 9.6572 20.2832 9.43441 20.3549 9.17105C20.4018 8.9989 20.4018 8.81733 20.3549 8.64518C20.2832 8.38182 20.0542 8.15903 19.5963 7.71343L16.927 5.11574L16.927 5.11573C16.5063 4.7064 16.296 4.50174 16.0518 4.43288C15.8744 4.38285 15.6865 4.38285 15.5091 4.43288C15.2649 4.50174 15.0546 4.7064 14.6339 5.11574L14.2464 5.4929C14.0928 5.64236 14.0245 5.85893 14.0645 6.06947C14.1129 6.32422 14.0023 6.58294 13.7848 6.72408L10.9027 8.59391C10.4138 8.91107 10.1694 9.06965 9.91614 9.20907C9.3576 9.51658 8.7643 9.75622 8.14887 9.92288C7.86986 9.99843 7.58386 10.0541 7.01186 10.1654L6.16816 10.3296C5.5807 10.444 5.30775 11.1271 5.65469 11.6148C7.66189 14.4362 10.1613 16.8728 13.0329 18.8075L13.108 18.858C13.6022 19.191 14.2761 18.9158 14.3961 18.3321L14.5478 17.5941L14.5478 17.5941C14.6584 17.0557 14.7137 16.7865 14.7866 16.524C14.9736 15.8504 15.248 15.2043 15.603 14.6021C15.7413 14.3674 15.8966 14.1406 16.2072 13.6872L16.2072 13.6872Z"
|
||||
fill="black" stroke="#222222" stroke-width="1.2" />
|
||||
<path d="M8.80322 15.668L3.49992 20.9713" stroke="black" stroke-width="1.2" stroke-linecap="round" />
|
||||
</svg>
|
||||
</template>
|
||||
|
|
@ -3,6 +3,6 @@
|
|||
<rect width="56" height="56" rx="13" fill="#FCFCFC" />
|
||||
<path
|
||||
d="M30.5667 36.6733C30.5667 38.8627 25.4307 38.8453 25.4307 36.6773C25.4307 34.4267 30.5667 34.3747 30.5667 36.6733ZM44 18.6667V37.3333C44 41.0147 41.016 44 37.3333 44H18.6667C14.984 44 12 41.0147 12 37.3333V18.6667C12 14.9853 14.984 12 18.6667 12H37.3333C41.016 12 44 14.9853 44 18.6667ZM25.3333 21.3333H30.6667V20H25.3333V21.3333ZM25.3333 18.6667H30.6667V17.3333H25.3333V18.6667ZM25.3333 16H30.6667V14.6667H25.3333V16ZM25.3333 24H30.6667V22.6667H25.3333V24ZM25.3333 26.6667H30.6667V25.3333H25.3333V26.6667ZM32.1573 35.7147C31.64 33.056 30.668 28 30.668 28H25.3347C25.3347 28 24.3907 32.944 23.8453 35.7147C23.3053 38.4493 25.2173 40 28.0013 40C30.788 40 32.6893 38.4467 32.1573 35.7147Z"
|
||||
fill="#1D1D1D" />
|
||||
fill="currentColor" />
|
||||
</svg>
|
||||
</template>
|
||||
444
src/assets/translations/ar.json
Normal file
444
src/assets/translations/ar.json
Normal file
|
|
@ -0,0 +1,444 @@
|
|||
{
|
||||
"project": {
|
||||
"name": "Convene",
|
||||
"tag_line": "التواصل ببساطة"
|
||||
},
|
||||
"login": {
|
||||
"create_room": "التسجيل وإنشاء غرفة",
|
||||
"title": "تسجيل الدخول",
|
||||
"username": "اسم المستخدم (مثلا: قيس)",
|
||||
"password": "ادخال كلمة السر",
|
||||
"username_required": "اسم المستخدم مطلوب",
|
||||
"password_required": "كلمة السر مطلوبة",
|
||||
"login": "تسجيل الدخول",
|
||||
"or": "* أو *",
|
||||
"accept_terms": "قبول",
|
||||
"invalid_message": "اسم المستخدم أو كلمة السر غير صحيحة",
|
||||
"no_supported_flow": "لا يمكن للتطبيق تسجيل الدخول إلى الخادم المحدد",
|
||||
"terms": "يتطلب منك الخادم الرئيسي مراجعة وقبول السياسات التالية:",
|
||||
"email": "يجب التحقق من عنوان بريدك الإلكتروني",
|
||||
"send_verification": "أرسِل رسالة التحقُّق",
|
||||
"sent_verification": "لقد تم إرسال رسالة إلكترونية إلى {email}. يُرجى استخدام برنامج بريدك الإلكتروني للتحقق من العنوان.",
|
||||
"email_not_valid": "عنوان البريد الإلكتروني غير صالح",
|
||||
"resend_verification": "أعِد إرسال رسالة التحقُّق",
|
||||
"registration_token": "يرجى إدخال شارة التسجيل",
|
||||
"send_token": "إرسال الشارة",
|
||||
"token_not_valid": "الشارة غير صالحة"
|
||||
},
|
||||
"getlink": {
|
||||
"username": "أدخل اسما للشاشة (مثلا: برزخ)",
|
||||
"title": "الحصول على رابط مباشر",
|
||||
"info": "تُوفِّر الروابط المباشرة للناس خطا آمنا للتواصل معك. للبدء، اختر اسم للشاشة يظهر عندما يدخل الأشخاص للتحدث معك.",
|
||||
"next": "التالي",
|
||||
"hello": "مرحبا {user}،\nإليك رابطك المباشر",
|
||||
"ready_to_share": "لقد أصبح جاهزا للمشاركة! سيتم فتح غرفة مباشِرة جديدة في كل مرة يفتح فيها شخص ما الرابط.",
|
||||
"scan_title": "امسح هذا الرمز لبدء محادثة مباشرة",
|
||||
"continue": "المتابعة",
|
||||
"different_link": "احصل على رابط مختلف",
|
||||
"share_qr": "مشاركة الرمز المربع",
|
||||
"qr_image_copied": "تم نسخ الصورة إلى الحافظة"
|
||||
},
|
||||
"room_info": {
|
||||
"message_retention": "تاريخ الرسائل",
|
||||
"title": "تفاصيل الغرفة",
|
||||
"created_by": "تم الإنشاء بواسطة {user}",
|
||||
"permissions": "تراخيص الانضمام",
|
||||
"join_invite": "فقط الأشخاص الذين تم إضافتهم",
|
||||
"join_public": "أي شخص لديه الرابط",
|
||||
"copy_invite_link": "نسخ رابط الدعوة",
|
||||
"copy_link": "نسخ الرابط",
|
||||
"link_copied": "تم نسخ الرابط!",
|
||||
"purge": "حذف الغرفة",
|
||||
"members": "الأعضاء",
|
||||
"user": "{user}",
|
||||
"user_you": "{user} (أنت)",
|
||||
"hide_all": "إخفاء",
|
||||
"show_all": "إظهار الكل >",
|
||||
"leave_room": "مغادرة",
|
||||
"version_info": "مدعوم بواسطة Guardian Project. الإصدار: {version}",
|
||||
"scan_code": "امسح الرمز للانضمام إلى الغرفة",
|
||||
"export_room": "تصدير المحادثة",
|
||||
"user_admin": "مدير",
|
||||
"user_moderator": "مشرف",
|
||||
"moderation": "الإشراف",
|
||||
"experimental_features": "الميزات التجريبية",
|
||||
"room_type": "نوع الغرفة",
|
||||
"room_type_default": "افتراضية",
|
||||
"voice_mode": "وضع الصوت",
|
||||
"voice_mode_info": "يقوم بتبديل واجهة المحادثة إلى وضع 'الاستماع والتسجيل'.",
|
||||
"file_mode": "وضع الملفات",
|
||||
"file_mode_info": "يقوم بتبديل واجهة المحادثة إلى وضع 'إفلات الملفات'.",
|
||||
"download_chat": "تنزيل المحادثة",
|
||||
"read_only_room": "للقراءة فقط",
|
||||
"read_only_room_info": "يُسمح فقط للمديرين والمشرفين بالإرسال إلى الغرفة",
|
||||
"message_retention_info": "إن الرسائل المرسَلة ضمن هذه الفترة الزمنية يمكن مشاهدتها من قبل أي شخص لديه الرابط.",
|
||||
"message_retention_none": "غير مُشغَّل",
|
||||
"message_retention_4_week": "4 أسابيع",
|
||||
"message_retention_2_week": "أسبوعان",
|
||||
"message_retention_1_week": "أسبوع واحد",
|
||||
"message_retention_1_day": "يوم واحد",
|
||||
"message_retention_8_hours": "8 ساعات",
|
||||
"message_retention_1_hour": "ساعة واحدة",
|
||||
"make_public": "اجعلها عمومية",
|
||||
"make_public_warning": "تحذير: سيكون تاريخ الرسائل الكامل مرئيا للمشاركين الجدد",
|
||||
"direct_link": "رابطي المباشر",
|
||||
"direct_link_desc": "لقد أصبح جاهزا للمشاركة! سيتم فتح غرفة مباشِرة جديدة في كل مرة يفتح فيها شخص ما الرابط.",
|
||||
"shared_room_number": "أنت تشارك{count} غرف مع {name}",
|
||||
"shared_room_number_more": "أنت تشارك أكثر من {count} غرف مع {name}"
|
||||
},
|
||||
"poll_create": {
|
||||
"poll_status_closed": "تم إغلاق استطلاع الرأي",
|
||||
"poll_status_disclosed": "سيتم عرض النتائج عند إغلاق استطلاع الرأي.",
|
||||
"poll_status_open": "تم فتح استطلاع الرأي",
|
||||
"poll_status_open_not_voted": "تم فتح استطلاع الرأي - قم بالتصويت لرؤية النتائج",
|
||||
"view_results": "عرض النتائج",
|
||||
"close_poll": "إغلاق استطلاع رأي",
|
||||
"poll_submit": "إرسال",
|
||||
"num_answered": "{count} إجابات",
|
||||
"results_shared": "تمت مشاركة النتائج مع الغرفة.",
|
||||
"title": "إنشاء استطلاع جديد",
|
||||
"create": "نشر",
|
||||
"creating": "يجري إنشاء الاستطلاع",
|
||||
"poll_disclosed": "مفتوح - يتم عرض النتائج الحالية في جميع الأوقات.",
|
||||
"poll_undisclosed": "مغلق - سيرى المستخدمون النتائج عندما يتم إغلاق الاستطلاع.",
|
||||
"add_answer": "إضافة إجابة",
|
||||
"failed": "فشل في إنشاء الاستطلاع، يرجى المحاولة لاحقا.",
|
||||
"question_label": "اطرح سؤالك*",
|
||||
"question_required": "يجب إدخال السؤال!",
|
||||
"answer_label_1": "الإجابة*",
|
||||
"answer_label_n": "الإجابة",
|
||||
"please_complete": "يرجى الإكمال",
|
||||
"answer_required": "لا يمكن ترك الإجابة فارغة. يُرجى إدخال نص أو إزالة هذا الخيار.",
|
||||
"tip_title": "** نصيحة للمحترفين **",
|
||||
"tip_text": "سيتمكن الأعضاء من رؤية نتائج الاستطلاع بعد الإجابة. أغلق الاستطلاع عندما تنتهي لعرض النتائج على الجميع في الغرفة.",
|
||||
"create_poll_menu_option": "إنشاء استطلاع للرأي"
|
||||
},
|
||||
"export": {
|
||||
"exported_date": "تم التصدير بتاريخ {date}",
|
||||
"fetched_n_events": "تم جلب {count} من الأحداث",
|
||||
"fetched_n_of_total_events": "تم جلب {count} من أصل {total} من الأحداث",
|
||||
"processed_n_of_total_events": "تمت معالجة الوسائط لـ {count} من أصل {total} من الأحداث",
|
||||
"export_filename": "تم تصدير المحادثة {date}"
|
||||
},
|
||||
"language_display_name": "الإنجليزية",
|
||||
"global": {
|
||||
"save": "حفظ",
|
||||
"password_didnot_match": "كلمة السر غير متطابقة",
|
||||
"password_hint": "الحد الأدنى 12 حرفًا، تحتوي على الأقل على رقم واحد، وحرف كبير واحد، وحرف صغير واحد",
|
||||
"show_less": "إظهار أقل",
|
||||
"show_more": "إظهار المزيد",
|
||||
"add_reaction": "إضافة رد فعل",
|
||||
"click_to_remove": "الضغط للإزالة.",
|
||||
"time": {
|
||||
"recently": "الآن",
|
||||
"minutes": "منذ دقيقة واحدة | منذ {n} دقيقة/دقائق",
|
||||
"hours": "منذ ساعة واحدة | منذ {n} ساعة/ساعات",
|
||||
"days": "منذ يوم واحد | منذ {n} يوما/أيام"
|
||||
},
|
||||
"close": "إغلاق",
|
||||
"notify": "إشعار",
|
||||
"different_browser_title": "جرّب متصفحا مختلفا",
|
||||
"different_browser_content": "قد تتعطل بعض الميزات. انسخ الرابط وافتحه في متصفح مختلف."
|
||||
},
|
||||
"menu": {
|
||||
"start_private_chat": "إرسال رسالة مباشرة لهذا المستخدم",
|
||||
"direct_chat": "محادثة مباشرة",
|
||||
"reply": "رد",
|
||||
"edit": "تعديل",
|
||||
"delete": "حذف",
|
||||
"download": "تنزيل",
|
||||
"ok": "موافق",
|
||||
"done": "تم",
|
||||
"cancel": "إلغاء",
|
||||
"send": "إرسال",
|
||||
"back": "** السابق **",
|
||||
"login": "تسجيل الدخول",
|
||||
"logout": "تسجيل الخروج",
|
||||
"new_room": "غرفة جديدة",
|
||||
"undo": "تراجع",
|
||||
"delete_now": "حذف الآن",
|
||||
"join": "انضمام",
|
||||
"ignore": "تجاهل",
|
||||
"loading": "يجري تحميل {appName}",
|
||||
"user_kick_and_ban": "طرد",
|
||||
"user_make_admin": "اجعل مديرا",
|
||||
"user_make_moderator": "اجعل مُشرفاً",
|
||||
"user_revoke_moderator": "إزالة امتيازات الإشراف"
|
||||
},
|
||||
"message": {
|
||||
"you": "أنت",
|
||||
"user_created_room": "أنشأ {user} المجموعة",
|
||||
"user_aliased_room": "أنشأ {user} الاسم المستعار للغرفة {alias}",
|
||||
"user_changed_display_name": "غيّر {user} اسم العرض إلى {displayName}",
|
||||
"user_changed_avatar": "غيّر {user} الصورة الرمزية",
|
||||
"user_changed_room_avatar": "غيّر {user} الصورة الرمزية للغرفة",
|
||||
"user_encrypted_room": "جعل {user} الغرفة مُعمّاة",
|
||||
"user_was_invited": "تمت دعوة {user} إلى المحادثة...",
|
||||
"user_was_kicked": "تم طرد {user} من المحادثة.",
|
||||
"user_was_kicked_by_you": "لقد طردت {user} من المحادثة.",
|
||||
"user_was_kicked_you": "لقد تم طردك من المحادثة.",
|
||||
"user_was_banned": "تم طرد {user} وحظره من المحادثة.",
|
||||
"user_was_banned_by_you": "لقد طردت {user} وحظرته من المحادثة.",
|
||||
"user_was_banned_you": "لقد تم طردك وحظرك من المحادثة.",
|
||||
"user_joined": "انضم {user} إلى المحادثة",
|
||||
"user_left": "غادر {user} المحادثة",
|
||||
"someone": "شخص ما",
|
||||
"user_said": "قال {user}:",
|
||||
"sent_media": "أرسل {count} من عناصر الوسائط.",
|
||||
"file_prefix": "ملف: ",
|
||||
"edited": "(تم تعديله)",
|
||||
"download_progress": "تم تنزيل {percentage}%",
|
||||
"preparing_to_upload": "يجري التحضير للتحميل...",
|
||||
"upload_file_too_large": "الملف كبير جدا ولا يمكن تحميله!",
|
||||
"upload_exceeded_file_limit": "لقد تم تجاوز الحد الأقصى لحجم الملف ({configFormattedUploadSize}). ",
|
||||
"upload_progress": "تم تحميل {count}",
|
||||
"upload_progress_with_total": "تم تحميل {count} من أصل {total}",
|
||||
"user_changed_room_history": "جعل {user} تاريخ الغرفة {type}",
|
||||
"room_history_world_readable": "يمكن قراءته من طرف أي شخص",
|
||||
"room_history_shared": "يمكن قراءته من طرف جميع الأعضاء في الغرفة",
|
||||
"room_history_invited": "يمكن قراءته من طرف الأعضاء بدءا من وقت دعوتهم",
|
||||
"room_history_joined": "يمكن قراءته من طرف الأعضاء بدءا من وقت انضمامهم",
|
||||
"user_changed_join_rules": "جعل {user} الغرفة {type}",
|
||||
"room_joinrule_invite": "بالدعوة فقط",
|
||||
"room_joinrule_public": "عمومية",
|
||||
"user_changed_room_name": "غيّر {user} اسم الغرفة إلى {name}",
|
||||
"user_changed_room_topic": "غيّر {user} موضوع الغرفة إلى {topic}",
|
||||
"unread_messages": "رسائل غير مقروءة",
|
||||
"replying_to": "الرد على {user}",
|
||||
"your_message": "رسالتك...",
|
||||
"scale_image": "تغيير أبعاد الصورة",
|
||||
"user_is_typing": "{user} يكتب",
|
||||
"users_are_typing": "{count} من الأعضاء يكتبون",
|
||||
"room_powerlevel_change": "غيّر {user} مستوى الطاقة لـ {changes}",
|
||||
"user_powerlevel_change_from_to": "{user} من {powerOld} إلى {powerNew}",
|
||||
"user_changed_guest_access_closed": "منع {user} الضيوف من الانضمام إلى الغرفة",
|
||||
"user_changed_guest_access_open": "سمح {user} للضيوف بالانضمام إلى الغرفة",
|
||||
"reply_image": "صورة",
|
||||
"reply_audio_message": "رسالة صوتية",
|
||||
"reply_video": "فيديو",
|
||||
"reply_poll": "استطلاع",
|
||||
"time_ago": "اليوم | أمس | منذ {count} أيام",
|
||||
"outgoing_message_deleted_text": "لقد حذفت هذه الرسالة.",
|
||||
"incoming_message_deleted_text": "تم حذف هذه الرسالة.",
|
||||
"not_allowed_to_send": "يُسمح فقط للمديرين والمشرفين بالإرسال إلى الغرفة",
|
||||
"reaction_count_more": "{reactionCount} المزيد",
|
||||
"seen_by_count": "لم يُشاهَد من طرف أي عضو | شوهد من طرف عضو واحد | شوهد من طرف {count} من الأعضاء",
|
||||
"seen_by": "شوهد من طرف",
|
||||
"file": "ملف",
|
||||
"files": "ملفات",
|
||||
"images": "صور",
|
||||
"send_attachements_dialog_title": "هل تريد إرسال المرفقات التالية؟",
|
||||
"download_all": "تنزيل الكل",
|
||||
"failed_to_render": "فشل في تقديم الحدث"
|
||||
},
|
||||
"room": {
|
||||
"invitations": "ليس لديك أي دعوات | لديك دعوة واحدة | لديك {count} دعوات",
|
||||
"unseen_messages": "ليس لديك أي رسائل غير مقروءة | لديك رسالة غير مقروءة واحدة | لديك {count} رسائل غير مقروءة",
|
||||
"members": "لا يوجد أعضاء | عضو واحد | {count} أعضاء",
|
||||
"leave": "مغادرة",
|
||||
"purge_set_room_state": "إعداد حالة الغرفة",
|
||||
"purge_redacting_events": "تنقيح الأحداث ({count} من أصل {total})",
|
||||
"purge_removing_members": "إزالة الأعضاء ({count} من أصل {total})",
|
||||
"purge_failed": "فشل في تطهير الغرفة!",
|
||||
"room_list_invites": "دعوات",
|
||||
"room_list_new_messages": "{count} رسائل جديدة",
|
||||
"room_list_rooms": "غرف",
|
||||
"room_name_required": "اسم الغرفة مطلوب",
|
||||
"room_topic_required": "وصف الغرفة مطلوب"
|
||||
},
|
||||
"room_welcome": {
|
||||
"info": "مرحباً! إليك بعض الأشياء التي يجب أن معرفتها عن غرفتك:",
|
||||
"encrypted": "الرسائل معمّاة من طرف إلى طرف.",
|
||||
"room_history_is": "تاريخ الغرفة هو {type}.",
|
||||
"room_history_joined": "يمكن للأشخاص رؤية الرسائل المرسلة فقط بعد انضمامهم.",
|
||||
"join_public": "يمكن لأي شخص الانضمام عن طريق فتح هذا الرابط: {link}.",
|
||||
"join_invite": "فقط الأشخاص الذين تدعوهم يمكنهم الانضمام.",
|
||||
"info_permissions": "يمكنك تغيير 'تراخيص الانضمام' في أي وقت في إعدادات الغرفة.",
|
||||
"got_it": "مفهوم",
|
||||
"no_past_messages": "مرحبًا! حفاظا على أمانك، الرسائل السابقة غير متوفرة.",
|
||||
"direct_private_chat": "رسالة مباشرة",
|
||||
"direct_info": "مرحبا {you}. إنك في محادثة خاصة مع {user}.",
|
||||
"join_channel": "كل شيء جاهز! قم بدعوة أشخاص للانضمام إليك: {link}",
|
||||
"info_retention": "🕓 يمكن لأي شخص لديه الرابط مشاهدة الرسائل المرسلة خلال {time} .",
|
||||
"info_auto_join": "مرحبًا بك في {room}.\nلقد انضممت باسم {you}.",
|
||||
"change": "تغيير",
|
||||
"info_retention_user": "🕓 سيتم حذف الرسائل الأقدم من {time} من التاريخ."
|
||||
},
|
||||
"new_room": {
|
||||
"new_room": "غرفة جديدة",
|
||||
"create": "إنشاء",
|
||||
"next": "التالي",
|
||||
"name_room": "اسم الغرفة",
|
||||
"room_topic": "أضف وصفا إذا رغبت في ذلك",
|
||||
"join_permissions": "تراخيص الانضمام",
|
||||
"set_join_permissions": "تعيين تراخيص الانضمام",
|
||||
"join_permissions_info": "تحدد هذه التراخيص كيفية انضمام الأشخاص إلى الغرفة ومدى سهولة دعوة آخرين. يمكن تغييرها في أي وقت.",
|
||||
"get_link": "الحصول على رابط",
|
||||
"add_people": "إضافة أشخاص",
|
||||
"link_copied": "تم نسخ الرابط!",
|
||||
"public_info": "أي شخص لديه الرابط",
|
||||
"public_description": "احصل على رابط للمشاركة",
|
||||
"invite_info": "فقط الأشخاص الذين تم إضافتهم",
|
||||
"invite_description": "الاختيار من قائمة أو البحث عن طريق مُعرِّف الحساب",
|
||||
"status_creating": "يجري إنشاء الغرفة",
|
||||
"status_avatar_total": "يجري تحميل الصورة الرمزية: {count} من أصل {total}",
|
||||
"status_avatar": "يجري تحميل الصورة الرمزية: {count}",
|
||||
"room_name_limit_error_msg": "الحد الأقصى المسموح به هو 50 حرفا",
|
||||
"colon_not_allowed": "النقطتان (:) غير مسموح بهما",
|
||||
"options": "الخيارات"
|
||||
},
|
||||
"device_list": {
|
||||
"blocked": "محجوب",
|
||||
"verified": "تم التحقق منه",
|
||||
"not_verified": "لم يتم التحقق منه"
|
||||
},
|
||||
"createchannel": {
|
||||
"title": "إنشاء قناة",
|
||||
"info": "قم ببث الأخبار أو المعارف مهما كانت صيغتها — بفيديو أو بالبث الحي أو بالنصوص أو بالصور أو على هيئة ملفات PDF",
|
||||
"channel_name": "تسمية قناتك",
|
||||
"channel_topic": "وصفها",
|
||||
"name_required": "اسم القناة مطلوب",
|
||||
"error_channel": "فشل إنشاء القناة"
|
||||
},
|
||||
"profile": {
|
||||
"title": "ملفي الشخصي",
|
||||
"temporary_identity": "هذه الهوية مؤقتة. قم بتعيين كلمة السر لاستخدامها مرة أخرى",
|
||||
"set_password": "ضبط كلمة السر",
|
||||
"change_name": "تغيير ألاسم",
|
||||
"change_password": "تغيير كلمة السر",
|
||||
"select_language": "اللغة",
|
||||
"set_language": "ضبط لغتك",
|
||||
"language_description": "Convene متاح بالعديد من اللغات.",
|
||||
"dont_see_yours": "لا ترى لغتك؟",
|
||||
"tell_us": "أخبرنا.",
|
||||
"password_old": "كلمة السر القديمة",
|
||||
"password_new": "كلمة السر الجديدة",
|
||||
"password_repeat": "إعادة كلمة السر الجديدة",
|
||||
"display_name": "اسم العرض",
|
||||
"display_name_required": "اسم العرض مطلوب",
|
||||
"notification_label": "الإشعار"
|
||||
},
|
||||
"profile_info_popup": {
|
||||
"you_are": "أنت",
|
||||
"identity": "{displayName}",
|
||||
"identity_temporary": "{displayName}",
|
||||
"edit_profile": "تعديل الملف الشخصي",
|
||||
"logout": "تسجيل الخروج",
|
||||
"want_more": "هل تريد المزيد؟",
|
||||
"powered_by": "هذه الغرفة مدعومة من {product}. تعرف على المزيد من خلال {productLink} أو واصل ثم أنشئ غرفة أخرى!",
|
||||
"new_room": "غرفة جديدة"
|
||||
},
|
||||
"join": {
|
||||
"title": "مرحبا، لقد تمت دعوتك للانضمام",
|
||||
"title_user": "مرحبا، لقد تمت دعوتك للمحادثة مع",
|
||||
"user_name_label": "اسم المستخدم",
|
||||
"remember_me": "تذكَّرني",
|
||||
"joining_as": "لقد انضممت باسم:",
|
||||
"join": "الإنضمام للغرفة",
|
||||
"join_user": "بدء المحادثة",
|
||||
"enter_room": "دخول الغرفة",
|
||||
"enter_room_user": "بدء المحادثة",
|
||||
"status_logging_in": "يجري تسجيل الدخول...",
|
||||
"status_joining": "يجري الانضمام للغرفة...",
|
||||
"join_failed": "فشل الانضمام للغرفة",
|
||||
"choose_name": "اختيار اسم لاستخدامه",
|
||||
"you_have_been_banned": "لقد تم حظرك من هذه الغرفة."
|
||||
},
|
||||
"leave": {
|
||||
"text_public_lastroom": "إذا رغبت في الانضمام إلى هذه الغرفة مرة أخرى، يمكنك الانضمام بهوية جديدة. للاحتفاظ بـ {user}، {action}.",
|
||||
"title_public": "وداعا، {user}",
|
||||
"text_public": "يمكنك دائما الانضمام إلى هذه الغرفة مرة أخرى إذا كنت تعرف الرابط.",
|
||||
"title_invite": "أأنت على يقين من رغبتك بالمغادرة؟",
|
||||
"text_invite": "هذه الغرفة مقفلة. لا يمكنك الانضمام مرة أخرى دون الحصول على إذن خاص.",
|
||||
"create_account": "إنشاء حساب",
|
||||
"go_back": "العودة",
|
||||
"leave": "مغادرة"
|
||||
},
|
||||
"invite": {
|
||||
"title": "إضافة أصدقاء",
|
||||
"done": "تم",
|
||||
"send_invites_to": "إرسال دعوات إلى",
|
||||
"status_inviting": "دعوة صديق {index} من أصل {count}",
|
||||
"status_error": "فشل في دعوة صديق أو أكثر!"
|
||||
},
|
||||
"logout": {
|
||||
"confirm_text": "هل تريد حقا الخروج؟"
|
||||
},
|
||||
"purge_room": {
|
||||
"title": "حذف الغرفة",
|
||||
"info": "ستتم إزالة جميع الأعضاء والرسائل. لا يمكن التراجع عن هذا الإجراء.",
|
||||
"button": "حذف",
|
||||
"n_seconds": "{seconds} ثانية/ ثوان",
|
||||
"self_destruct": "ستدمر غرفتك نفسها خلال ثوان.",
|
||||
"deleting": "يجري حذف الغرفة:",
|
||||
"notified": "لقد قمنا بإشعار الأعضاء.",
|
||||
"room_deletion_notice": "حان وقت الوداع! تم حذف هذه الغرفة بواسطة {user}. ستدمر نفسها خلال ثوان."
|
||||
},
|
||||
"goodbye": {
|
||||
"room_deleted": "لقد تم حذف الغرفة.",
|
||||
"close_tab": "إغلاق ألسنة المتصفح",
|
||||
"view_other_rooms": "عرض الغرف الأخرى"
|
||||
},
|
||||
"room_info_sheet": {
|
||||
"this_room": "هذه الغرفة",
|
||||
"view_details": "عرض التفاصيل"
|
||||
},
|
||||
"voice_recorder": {
|
||||
"swipe_to_cancel": "اسحب للإلغاء",
|
||||
"release_to_cancel": "أفلِتْ للإلغاء",
|
||||
"failed_to_record": "فشل تسجيل الصوت",
|
||||
"not_supported_title": "غير مدعوم",
|
||||
"not_supported_text": "للأسف، لا يدعم هذا المتصفح تسجيل الصوت."
|
||||
},
|
||||
"power_level": {
|
||||
"admin": "مدير",
|
||||
"moderator": "مشرف",
|
||||
"default": "افتراضي",
|
||||
"custom": "مخصص ({level})",
|
||||
"restricted": "مُقيَّد"
|
||||
},
|
||||
"fallbacks": {
|
||||
"audio_file": "ملف صوتي",
|
||||
"video_file": "ملف مرئي",
|
||||
"original_text": "<original text>",
|
||||
"download_name": "تنزيل"
|
||||
},
|
||||
"notification": {
|
||||
"title": "وصلت رسالة جديدة",
|
||||
"dialog": {
|
||||
"title": "ابق على اتصال مع إشعارات المحادثة!",
|
||||
"body": "لا تُفوِّت أي رسالة أو محادثة هامة بعد الآن! ستحصل على إشعار في كل مرة يرسل لك شخص ما رسالة أو يرد على محادثتك.",
|
||||
"enable": "تفعيل"
|
||||
},
|
||||
"blocked_message": "تم حظر الإشعارات. اذهب إلى إعدادات جهازك أو المتصفح لتفعيل الإشعارات",
|
||||
"not_supported": "الإشعارات غير مدعومة بعد على المحمول",
|
||||
"periodicSync_new_msg_reminder": "قد يكون لديك رسائل جديدة"
|
||||
},
|
||||
"emoji": {
|
||||
"search": "ابحث...",
|
||||
"categories": {
|
||||
"activity": "الأنشطة",
|
||||
"flags": "الأعلام",
|
||||
"foods": "المأكولات",
|
||||
"frequently": "المستخدمة بشكل متكرر",
|
||||
"nature": "الطبيعة",
|
||||
"objects": "الأغراض",
|
||||
"peoples": "الأشخاص",
|
||||
"symbols": "الرموز",
|
||||
"places": "الأماكن"
|
||||
}
|
||||
},
|
||||
"file_mode": {
|
||||
"choose_files": "اختيار الملفات",
|
||||
"any_file_format_accepted": "جميع صيغ الملفات مقبولة",
|
||||
"secure_file_send": "إرسال آمن للملفات",
|
||||
"add_a_message": "أضف رسالة",
|
||||
"files_sent": "تم إرسال ملف واحد! | تم إرسال{count} من الملفات!",
|
||||
"sending_progress": "يجري الإرسال...",
|
||||
"sending": "يجري الإرسال",
|
||||
"files_sent_with_note": "تم إرسال ملف واحد مع ملاحظة! | تم إرسال {count} من الملفات مع ملاحظة!",
|
||||
"send_more_files": "إرسال المزيد من الملفات",
|
||||
"close": "إغلاق",
|
||||
"files": "الملفات"
|
||||
}
|
||||
}
|
||||
444
src/assets/translations/bn.json
Normal file
444
src/assets/translations/bn.json
Normal file
|
|
@ -0,0 +1,444 @@
|
|||
{
|
||||
"global": {
|
||||
"notify": "অবহিত করুন",
|
||||
"different_browser_title": "অন্য ব্রাউজার দিয়ে চেষ্টা করুন",
|
||||
"different_browser_content": "কিছু ফিচার কাজ না করতে পারে। লিংকটি কপি করে অন্য ব্রাউজারে খুলুন।",
|
||||
"save": "সংরক্ষণ",
|
||||
"password_didnot_match": "পাসওয়ার্ড মিলছে না",
|
||||
"password_hint": "ন্যূনতম ১২ অক্ষর, যার মধ্যে অন্তত একটি সংখ্যা, একটি বড় হাতের অক্ষর এবং একটি ছোট হাতের অক্ষর থাকতে হবে",
|
||||
"show_less": "কম দেখান",
|
||||
"show_more": "আরও দেখান",
|
||||
"add_reaction": "প্রতিক্রিয়া যোগ করুন",
|
||||
"click_to_remove": "বাদ দিতে ক্লিক করুন",
|
||||
"time": {
|
||||
"recently": "এইমাত্র",
|
||||
"minutes": "১ মিনিট আগে। {n} মিনিট আগে",
|
||||
"hours": "১ ঘণ্টা আগে। {n} ঘণ্টা আগে",
|
||||
"days": "১ দিন আগে। {n} দিন আগে"
|
||||
},
|
||||
"close": "বন্ধ"
|
||||
},
|
||||
"menu": {
|
||||
"start_private_chat": "এই ব্যবহারকারীর সাথে সরাসরি বার্তা",
|
||||
"direct_chat": "সরাসরি চ্যাট",
|
||||
"reply": "প্রতিউত্তর",
|
||||
"edit": "সম্পাদনা",
|
||||
"delete": "মুছে ফেলুন",
|
||||
"download": "ডাউনলোড",
|
||||
"done": "সম্পন্ন",
|
||||
"cancel": "বাতিল",
|
||||
"send": "পাঠান",
|
||||
"back": "ফিরে যান",
|
||||
"login": "লগইন",
|
||||
"logout": "লগআউট",
|
||||
"new_room": "নতুন রুম",
|
||||
"undo": "ফেরত আনুন",
|
||||
"delete_now": "এখনি মুছে ফেলুন",
|
||||
"join": "যোগ দিন",
|
||||
"ignore": "অগ্রাহ্য করুন",
|
||||
"loading": "{appName} লোড হচ্ছে",
|
||||
"user_kick_and_ban": "বহিষ্কার করুন",
|
||||
"ok": "ওকে",
|
||||
"user_make_admin": "প্রশাসক বানান",
|
||||
"user_make_moderator": "মডারেটর বানান",
|
||||
"user_revoke_moderator": "মডারেটর বাদ দিন"
|
||||
},
|
||||
"language_display_name": "ইংরেজি",
|
||||
"project": {
|
||||
"name": "Convene",
|
||||
"tag_line": "শুধুমাত্র সংযোগ করুন"
|
||||
},
|
||||
"message": {
|
||||
"reply_image": "ছবি",
|
||||
"you": "আপনি",
|
||||
"user_created_room": "{user} এই রুমটি তৈরি করেছে",
|
||||
"user_aliased_room": "{user} এই রুমের নাম {alias} দিয়েছেন",
|
||||
"user_changed_display_name": "{user} তার প্রদর্শিত নাম {displayName}-তে পরিবর্তন করেছেন",
|
||||
"user_changed_avatar": "{user} প্রোফাইলের ছবি পরিবর্তন করেছেন",
|
||||
"user_changed_room_avatar": "{user} রুমের প্রোফাইল ছবি পরিবর্তন করেছেন",
|
||||
"user_encrypted_room": "{user} রুমটিকে এনক্রিপ্টেড করেছেন",
|
||||
"user_was_invited": "{user} কে চ্যাটে আমন্ত্রণ জানানো হয়েছে..।",
|
||||
"user_was_kicked": "{user} কে এই চ্যাট থেকে বহিষ্কার করা হয়েছে।",
|
||||
"user_was_kicked_by_you": "আপনি {user} কে চ্যাট থেকে বহিষ্কার করেছেন।",
|
||||
"user_was_kicked_you": "আপনাকে চ্যাট থেকে বহিষ্কার করা হয়েছে।",
|
||||
"user_was_banned": "{user} কে চ্যাট থেকে বহিষ্কার করা হয়েছে এবং ব্যান করা হয়েছে।",
|
||||
"user_was_banned_by_you": "আপনি {user} কে চ্যাট থেকে বহিষ্কার করেছেন এবং ব্যান করেছেন।",
|
||||
"user_was_banned_you": "আপনাকে চ্যাট থেকে বহিষ্কার করা হয়েছে এবং ব্যান করা হয়েছে।",
|
||||
"user_joined": "{user} চ্যাটে যোগ দিয়েছেন",
|
||||
"user_left": "{user} চ্যাট থেকে বেরিয়ে গেছেন",
|
||||
"someone": "কেউ একজন",
|
||||
"user_said": "{user} বলেছেন:",
|
||||
"sent_media": "{count} টি মিডিয়া আইটেম পাঠিয়েছেন।",
|
||||
"file_prefix": "ফাইল: ",
|
||||
"edited": "(সম্পাদিত)",
|
||||
"download_progress": "{percentage}% ডাউনলোড হয়েছে",
|
||||
"preparing_to_upload": "আপলোডের জন্য প্রস্তুত করা হচ্ছে..।",
|
||||
"upload_file_too_large": "এত বড় সাইজের ফাইল আপলোড করা যাবে না!",
|
||||
"upload_exceeded_file_limit": "সর্বাধিক ফাইল সাইজ ({configFormattedUploadSize}) অতিক্রম করেছে। ",
|
||||
"upload_progress": "{count}টি আপলোড করা হয়েছে",
|
||||
"upload_progress_with_total": "{total} টির মধ্যে {count} টি আপলোড হয়েছে",
|
||||
"user_changed_room_history": "{user} রুমের ইতিহাস {type} সেট করেছেন",
|
||||
"room_history_world_readable": "সবার জন্য পাঠযোগ্য",
|
||||
"room_history_shared": "শুধু মাত্র এই রুমের সদস্যদের জন্য পাঠযোগ্য",
|
||||
"room_history_invited": "আমন্ত্রিত সকল সদ্যসদ্যের জন্য পাঠযোগ্য",
|
||||
"room_history_joined": "সদস্য হিসেবে যোগদানের পরে পাঠযোগ্য",
|
||||
"user_changed_join_rules": "{user} এই রুমকে {type} হিসেবে সেট করেছেন",
|
||||
"room_joinrule_invite": "শুধুমাত্র আমন্ত্রণমূলক",
|
||||
"room_joinrule_public": "সার্বজনীন",
|
||||
"user_changed_room_name": "{user} এই রুমের নাম পরিবর্তন করে {name} রেখেছেন",
|
||||
"user_changed_room_topic": "{user} এই রুমের বিষয় পরিবর্তন করে {topic} রেখেছেন",
|
||||
"unread_messages": "অপঠিত বার্তা",
|
||||
"replying_to": "{user} কে প্রতিউত্তর জানাচ্ছেন",
|
||||
"your_message": "আপনার বার্তা..।",
|
||||
"scale_image": "ছবির আকার পরিবর্তন করুন",
|
||||
"user_is_typing": "{user} কিছু লিখছেন",
|
||||
"users_are_typing": "{count} জন সদস্য কিছু লিখছেন",
|
||||
"room_powerlevel_change": "{user} পাওয়ার লেভেল {changes} সেট করেছেন",
|
||||
"user_powerlevel_change_from_to": "{user} {powerOld} থেকে {powerNew}",
|
||||
"user_changed_guest_access_closed": "{user} অবাঞ্ছিত অতিথিদের রুমে যোগদানের অনুমতি দেওয়া হয়নি",
|
||||
"user_changed_guest_access_open": "{user} অতিথিদের রুমে যোগদানের অনুমতি দিয়েছেন",
|
||||
"reply_audio_message": "অডিও বার্তা",
|
||||
"reply_video": "ভিডিও",
|
||||
"reply_poll": "ভোট",
|
||||
"time_ago": "আজ | গতকাল | {count} দিন পূর্বে",
|
||||
"outgoing_message_deleted_text": "আপনি এই বার্তা মুছে দিয়েছেন।",
|
||||
"incoming_message_deleted_text": "এই বার্তা মুছে ফেলা হয়েছে।",
|
||||
"not_allowed_to_send": "শুধুমাত্র প্রশাসক এবং মডারেটরদের এই কক্ষে লেখার অনুমতি রয়েছে",
|
||||
"reaction_count_more": "আরও {reactionCount} টি",
|
||||
"seen_by_count": "কোন সদস্য দেখেনি | একজন সদস্য দেখেছেন | {count} জন সদস্য দেখেছেন",
|
||||
"seen_by": "দেখেছেন",
|
||||
"file": "ফাইল",
|
||||
"images": "ছবিগুলি",
|
||||
"files": "ফাইলগুলি",
|
||||
"send_attachements_dialog_title": "আপনি কি এই সংযুক্তিগুলি পাঠাতে চান?",
|
||||
"download_all": "সব ডাউনলোড করুন",
|
||||
"failed_to_render": "ইভেন্ট রেন্ডার করতে ব্যর্থ হয়েছে"
|
||||
},
|
||||
"room": {
|
||||
"leave": "প্রস্থান করুন",
|
||||
"invitations": "আপনার কোন আমন্ত্রণ নেই | আপনার ১ টি আমন্ত্রণ আছে | আপনার {count} টি আমন্ত্রণ রয়েছে",
|
||||
"unseen_messages": "কোন অদেখা বার্তা নেই | ১ টি অদেখা বার্তা আছে | {count} টি অদেখা বার্তা আছে",
|
||||
"members": "কোন সদস্য নেই | ১ জন সদস্য | {count} জন সদস্য",
|
||||
"purge_set_room_state": "রুমের অবস্থা সেট করা হচ্ছে",
|
||||
"purge_redacting_events": "ইভেন্টগুলি সম্পাদনা করা হচ্ছে ({total} এর মধ্যে {count} টি)",
|
||||
"purge_removing_members": "সদস্য বাদ দেওয়া হচ্ছে ({total} এর মধ্যে {count}টি)",
|
||||
"purge_failed": "রুম মুছে ফেলতে ব্যর্থ হয়েছে!",
|
||||
"room_list_invites": "আমন্ত্রনসমূহ",
|
||||
"room_list_new_messages": "{count} টি নতুন বার্তা",
|
||||
"room_list_rooms": "রুমসমুহ",
|
||||
"room_name_required": "রুমের নাম আবশ্যক",
|
||||
"room_topic_required": "রুমের বিবরণ আবশ্যক"
|
||||
},
|
||||
"room_welcome": {
|
||||
"info": "স্বাগতম! এখানে রুম সম্পর্কে জানার জন্য কিছু গুরুত্বপূর্ণ তথ্য রয়েছে:",
|
||||
"encrypted": "বার্তাগুলি এন্ড-টু-এন্ড এনক্রিপ্টেড।",
|
||||
"room_history_is": "রুমের ইতিহাস {type}।",
|
||||
"join_channel": "সবকিছু প্রস্তুত! আপনার সাথে যোগ দিতে অন্যদের আমন্ত্রণ জানান: {link}",
|
||||
"room_history_joined": "কেউ শুধুমাত্র তাদের যোগ দেওয়ার পর পাঠানো বার্তাগুলি দেখতে পারবেন।",
|
||||
"join_public": "এই লিংকটি ক্লিক করে যে কেউ যোগ দিতে পারে: {link}।",
|
||||
"info_retention": "🕓 {time} এর মধ্যে পাঠানো বার্তাগুলি এই লিংক রয়েছে এমন যে কেউ দেখতে পারবেন।",
|
||||
"join_invite": "শুধুমাত্র আপনি যাদের আমন্ত্রণ জানাবেন, তারা যোগ দিতে পারবে।",
|
||||
"info_permissions": "আপনি যেকোনো সময় রুম সেটিংসে 'যোগদানের অনুমতি' পরিবর্তন করতে পারেন।",
|
||||
"got_it": "বুঝেছি",
|
||||
"no_past_messages": "স্বাগতম! আপনার নিরাপত্তার জন্য, পূর্ববর্তী বার্তাগুলি গোপন করা হয়েছে।",
|
||||
"direct_info": "এইযে, {you}. আপনি {user} এর সাথে ব্যক্তিগত চ্যাট করছেন।",
|
||||
"direct_private_chat": "সরাসরি বার্তা",
|
||||
"info_retention_user": "🕓 {time} এর বেশি পুরনো বার্তাগুলি ইতিহাস থেকে মুছে ফেলা হবে।",
|
||||
"info_auto_join": "{room} এ স্বাগতম। \nআপনি {you} পরিচয়ে যোগ দিয়েছেন।",
|
||||
"change": "পরিবর্তন"
|
||||
},
|
||||
"new_room": {
|
||||
"name_room": "রুমের নাম",
|
||||
"room_topic": "আপনার পছন্দসই একটি বিবরণ যোগ করুন",
|
||||
"join_permissions": "যোগদানের অনুমতি",
|
||||
"set_join_permissions": "যোগদানের অনুমতি সেট করুন",
|
||||
"join_permissions_info": "এই অনুমতিগুলি নির্ধারণ করে কীভাবে লোকেরা এই রুমে যোগ দিতে পারবে এবং অন্যদের কতটা সহজে আমন্ত্রণ জানানো হবে। এগুলি যেকোনো সময় পরিবর্তন করা যাবে।",
|
||||
"new_room": "নতুন রুম",
|
||||
"create": "তৈরি করুন",
|
||||
"next": "পরবর্তী",
|
||||
"get_link": "লিংক তৈরি করুন",
|
||||
"add_people": "অন্যদের যুক্ত করুন",
|
||||
"link_copied": "লিংক কপি করা হয়েছে!",
|
||||
"public_info": "লিংকের মাধ্যমে যে কেউ",
|
||||
"public_description": "শেয়ার করার জন্য একটি লিংক তৈরি করুন",
|
||||
"invite_info": "শুধুমাত্র যুক্ত আছে এমন সকল",
|
||||
"invite_description": "তালিকা থেকে নির্বাচন করুন বা অ্যাকাউন্ট আইডি দিয়ে খুঁজুন",
|
||||
"status_creating": "রুম তৈরি করা হচ্ছে",
|
||||
"status_avatar_total": "প্রোফাইলের ছবি আপলোড করা হচ্ছে: {total} টির মধ্যে {count}",
|
||||
"status_avatar": "প্রোফাইলের ছবি আপলোড করা হচ্ছে: {count}",
|
||||
"room_name_limit_error_msg": "সর্বাধিক ৫০ অক্ষর লেখা যাবে",
|
||||
"colon_not_allowed": "কোলন দেওয়া যাবেনা",
|
||||
"options": "বিকল্পসমূহ"
|
||||
},
|
||||
"device_list": {
|
||||
"blocked": "ব্লকড",
|
||||
"verified": "যাচাইকৃত",
|
||||
"not_verified": "যাচাই করা হয়নি"
|
||||
},
|
||||
"login": {
|
||||
"title": "লগইন",
|
||||
"username": "ব্যবহারকারীর নাম (ইংরেজিতে লিখুন।উদাঃ ashraf)",
|
||||
"password": "পাসওয়ার্ড লিখুন",
|
||||
"username_required": "ব্যবহারকারীর নাম আবশ্যক",
|
||||
"password_required": "পাসওয়ার্ড আবশ্যক",
|
||||
"login": "লগইন",
|
||||
"create_room": "নিবন্ধন করুন এবং রুম তৈরি করুন",
|
||||
"or": "অথবা",
|
||||
"invalid_message": "ব্যবহারকারীর নাম অথবা পাসওয়ার্ড সঠিক নয়",
|
||||
"no_supported_flow": "অ্যাপটি প্রদত্ত সার্ভারে লগইন করতে পারছে না",
|
||||
"terms": "হোমসার্ভারটি আপনাকে নিম্নলিখিত নীতিমালা পর্যালোচনা এবং সম্মতি প্রদান করতে অনুরোধ করছে:",
|
||||
"accept_terms": "রাজি আছি",
|
||||
"email": "আপনাকে আপনার ইমেইল ঠিকানা যাচাই করতে হবে",
|
||||
"send_verification": "যাচাইকরণ ইমেইল পাঠান",
|
||||
"sent_verification": "{email} ঠিকানায় একটি ইমেইল পাঠানো হয়েছে। দয়া করে আপনার ইমেইল ঠিকানাটি যাচাই করুন।",
|
||||
"resend_verification": "যাচাইকরন ইমেইল পুনরায় পাঠান",
|
||||
"email_not_valid": "ইমেইল ঠিকানা যথার্থ নয়",
|
||||
"registration_token": "অনুগ্রহ করে রেজিস্ট্রেশন টোকেন লিখুন",
|
||||
"send_token": "টোকেন পাঠান",
|
||||
"token_not_valid": "টোকেন সঠিক নয়"
|
||||
},
|
||||
"getlink": {
|
||||
"title": "একটি সরাসরি লিংক তৈরি করুন",
|
||||
"info": "সরাসরি লিংক আপনাকে অন্যদের সঙ্গে একটি নিরাপদ যোগাযোগের সুযোগ দেয়। শুরু করতে, একটি প্রোফাইলের নাম সেট করুন যা চ্যাটে প্রবেশ করার সময় মানুষের কাছে প্রদর্শিত হবে।",
|
||||
"username": "প্রোফাইলের নাম লিখুন (যেমনঃ আশরাফ)",
|
||||
"next": "পরবর্তী",
|
||||
"hello": "হ্যালো {user},\nএটা আপনার সরাসরি লিংক",
|
||||
"ready_to_share": "এটি শেয়ার করার জন্য প্রস্তুত! কেউ লিংকটি ওপেন করলে প্রতিবার একটি নতুন সরাসরি রুম তৈরি হবে।",
|
||||
"scan_title": "একটি সরাসরি চ্যাট শুরু করতে এই কোডটি স্ক্যান করুন",
|
||||
"continue": "চালিয়ে যান",
|
||||
"different_link": "অন্য একটি লিংক তৈরি করুন",
|
||||
"share_qr": "কিউআর কোড শেয়ার করুন",
|
||||
"qr_image_copied": "ছবিটি ক্লিপবোর্ডে কপি করা হয়েছে"
|
||||
},
|
||||
"createchannel": {
|
||||
"title": "একটি চ্যানেল তৈরি করুন",
|
||||
"info": "যে কোনো ফরম্যাটে সংবাদ বা জ্ঞান সম্প্রচার করুন—ভিডিও, পডকাস্ট, টেক্সট, ছবি বা PDF।",
|
||||
"channel_name": "আপনার চ্যানেলের নাম দিন",
|
||||
"channel_topic": "এটার বিবরণ লিখুন",
|
||||
"name_required": "চ্যানেলের নাম আবশ্যক",
|
||||
"error_channel": "চ্যানেল তৈরি করতে ব্যর্থ হয়েছে"
|
||||
},
|
||||
"profile": {
|
||||
"title": "আমার প্রোফাইল",
|
||||
"temporary_identity": "এটি একটি সাময়িক পরিচয়। এটি পুনরায় ব্যবহার করতে পাসওয়ার্ড সেট করুন",
|
||||
"set_password": "পাসওয়ার্ড সেট করুন",
|
||||
"change_name": "নাম পরিবর্তন করুন",
|
||||
"change_password": "পাসওয়ার্ড পরিবর্তন করুন",
|
||||
"select_language": "ভাষা",
|
||||
"set_language": "আপনার ভাষা সেট করুন",
|
||||
"language_description": "Convene নানান ভাষায় ব্যবহার করা যায়।",
|
||||
"dont_see_yours": "আপনার ভাষা এখানে নেই?",
|
||||
"tell_us": "আমাদের জানান।",
|
||||
"password_old": "পুরাতন পাসওয়ার্ড",
|
||||
"password_new": "নতুন পাসওয়ার্ড",
|
||||
"password_repeat": "নতুন পাসওয়ার্ড আবার লিখুন",
|
||||
"display_name": "প্রদর্শিত নাম",
|
||||
"display_name_required": "প্রদর্শিত নাম আবশ্যক",
|
||||
"notification_label": "নোটিফিকেশন"
|
||||
},
|
||||
"profile_info_popup": {
|
||||
"logout": "লগ আউট",
|
||||
"you_are": "আপনি",
|
||||
"identity": "{displayName}",
|
||||
"identity_temporary": "{displayName}",
|
||||
"edit_profile": "প্রোফাইল সম্পাদনা করুন",
|
||||
"want_more": "আরও দরকার?",
|
||||
"powered_by": "এই রুমটি {product} দ্বারা তৈরি করা হয়েছে। আরও জানতে ভিজিট করুন {productLink} বা একটি নতুন রুম তৈরি করুন!",
|
||||
"new_room": "নতুন রুম"
|
||||
},
|
||||
"join": {
|
||||
"title": "স্বাগতম! আপনাকে যোগ দেওয়ার জন্য আমন্ত্রণ জানানো হয়েছে।",
|
||||
"title_user": "স্বাগতম! আপনাকে চ্যাট করার জন্য আমন্ত্রণ জানানো হয়েছে",
|
||||
"user_name_label": "ব্যবহারকারীর নাম",
|
||||
"remember_me": "আমাকে মনে রাখুন",
|
||||
"joining_as": "আপনি যে নামে যোগ দিচ্ছেন:",
|
||||
"join": "রুমে যোগ দিন",
|
||||
"join_user": "চ্যাট শুরু করুন",
|
||||
"enter_room": "রুমে ঢুকুন",
|
||||
"enter_room_user": "চ্যাট শুরু করুন",
|
||||
"status_logging_in": "লগইন করা হচ্ছে..।",
|
||||
"status_joining": "রুমে যোগ দেয়া হচ্ছে..।",
|
||||
"join_failed": "রুমে যোগ দিতে ব্যর্থ হয়েছে।",
|
||||
"choose_name": "শুরু করতে একটি নাম নির্বাচন করুন",
|
||||
"you_have_been_banned": "আপনাকে এই রুম থেকে ব্যান করা হয়েছে।"
|
||||
},
|
||||
"invite": {
|
||||
"title": "বন্ধুদের যোগ করুন",
|
||||
"done": "সম্পন্ন",
|
||||
"send_invites_to": "আমন্ত্রণ পাঠান",
|
||||
"status_inviting": "{count} জনের মধ্যে {index} কে আমন্ত্রণ পাঠানো হচ্ছে",
|
||||
"status_error": "এক বা তার অধিক বন্ধুকে আমন্ত্রণ পাঠানো সম্ভব হয়নি!"
|
||||
},
|
||||
"leave": {
|
||||
"text_invite": "এই রুমটি লক করা হয়েছে। বিশেষ অনুমতি ছাড়া আপনি পুনরায় যোগ দিতে পারবেন না।",
|
||||
"title_public": "বিদায়, {user}",
|
||||
"text_public": "আপনার নিকট লিংকটি থাকলে, এই রুমে আবার যেকোনো সময় যোগ দিতে পারবেন।",
|
||||
"text_public_lastroom": "যদি আপনি আবার এই রুমে যোগ দিতে চান, তাহলে আপনি নতুন পরিচয়ে যোগ দিতে পারেন। {user} রাখতে, {action}।",
|
||||
"title_invite": "আপনি কি সত্যিই রুম থেকে বেরিয়ে যেতে চান?",
|
||||
"create_account": "একটি অ্যাকাউন্ট তৈরি করুন",
|
||||
"go_back": "ফিরে যান",
|
||||
"leave": "প্রস্থান করুন"
|
||||
},
|
||||
"logout": {
|
||||
"confirm_text": "আপনি কি সত্যিই লগআউট করতে চান?"
|
||||
},
|
||||
"purge_room": {
|
||||
"title": "রুম মুছে ফেলবেন?",
|
||||
"info": "সব সদস্য এবং বার্তাগুলি মুছে ফেলা হবে। এটি পূর্বাবস্থায় ফেরানো যাবে না।",
|
||||
"button": "মুছে ফেলুন",
|
||||
"n_seconds": "{seconds} সেকেন্ড",
|
||||
"self_destruct": "আপনার রুমটি কয়েক সেকেন্ডের মধ্যে স্বয়ংক্রিয়ভাবে ধ্বংস হয়ে যাবে।",
|
||||
"deleting": "রুম মুছে ফেলা হচ্ছে:",
|
||||
"notified": "আমরা সদস্যদের জানিয়ে দিয়েছি।",
|
||||
"room_deletion_notice": "বিদায় বলার সময় এসেছে! এই রুমটি {user} মুছে ফেলেছেন। এটি কয়েক সেকেন্ডের মধ্যে স্বয়ংক্রিয়ভাবে ধ্বংস হয়ে যাবে।"
|
||||
},
|
||||
"goodbye": {
|
||||
"room_deleted": "রুম মুছে ফেলা হয়েছে।",
|
||||
"close_tab": "ব্রাউজারের ট্যাব বন্ধ করুন",
|
||||
"view_other_rooms": "অন্য রুমগুলি দেখুন"
|
||||
},
|
||||
"room_info": {
|
||||
"title": "রুমের বিস্তারিত",
|
||||
"created_by": "{user} তৈরি করেছেন",
|
||||
"permissions": "যোগদানের অনুমতি",
|
||||
"join_invite": "শুধুমাত্র যুক্ত করা হয়েছে এমন সকল",
|
||||
"join_public": "লিংকের মাধ্যমে যে কেউ",
|
||||
"copy_invite_link": "আমন্ত্রণের লিংক কপি করুন",
|
||||
"copy_link": "লিংক কপি করুন",
|
||||
"link_copied": "লিংক কপি করা হয়েছে!",
|
||||
"purge": "রুম মুছে ফেলুন",
|
||||
"members": "সদস্যগণ",
|
||||
"user": "{user}",
|
||||
"user_you": "{user} (you)",
|
||||
"hide_all": "লুকান",
|
||||
"show_all": "সব দেখান >",
|
||||
"leave_room": "প্রস্থান করুন",
|
||||
"version_info": "গার্ডিয়ান প্রকল্পের অংশ। সংস্করণ: {version}",
|
||||
"scan_code": "রুমে যোগ দিতে স্ক্যান করুন",
|
||||
"export_room": "চ্যাট এক্সপোর্ট করুন",
|
||||
"user_admin": "প্রশাসক",
|
||||
"user_moderator": "মডারেটর",
|
||||
"moderation": "মডারেশন",
|
||||
"experimental_features": "পরীক্ষামূলক ফিচারস",
|
||||
"room_type": "রুমের ধরণ",
|
||||
"room_type_default": "ডিফল্ট",
|
||||
"voice_mode": "ভয়েস মুড",
|
||||
"voice_mode_info": "চ্যাট ইন্টারফেসটি 'শোনা এবং রেকর্ড' মোডে পরিবর্তন করে",
|
||||
"file_mode": "ফাইল মুড",
|
||||
"file_mode_info": "চ্যাট ইন্টারফেসটি 'ফাইল ড্রপ' মোডে পরিবর্তন করে",
|
||||
"download_chat": "চ্যাট ডাউনলোড করুন",
|
||||
"read_only_room": "শুধুমাত্র পড়ার জন্য",
|
||||
"read_only_room_info": "শুধুমাত্র প্রশাসক এবং মডারেটরদের এই কক্ষে অনুমতি রয়েছে",
|
||||
"message_retention": "বার্তার ইতিহাস",
|
||||
"message_retention_info": "এই সময়সীমার মধ্যে পাঠানো বার্তাগুলি লিংক আছে এমন যে কেউ দেখতে পারবেন।",
|
||||
"message_retention_none": "বন্ধ",
|
||||
"message_retention_4_week": "৪ সপ্তাহ",
|
||||
"message_retention_2_week": "২ সপ্তাহ",
|
||||
"message_retention_1_week": "১ সপ্তাহ",
|
||||
"message_retention_1_day": "১ দিন",
|
||||
"message_retention_8_hours": "৮ ঘণ্টা",
|
||||
"message_retention_1_hour": "১ ঘণ্টা",
|
||||
"make_public": "উন্মুক্ত করুন",
|
||||
"make_public_warning": "সতর্কতা: নতুন অংশগ্রহণকারীগন পূর্বের সকল বার্তা ইতিহাস দেখতে পাবেন।",
|
||||
"direct_link": "আমার সরাসরি লিংক",
|
||||
"direct_link_desc": "এটি শেয়ার করার জন্য প্রস্তুত! কেউ লিংকটি ওপেন করলে প্রতিবার একটি নতুন সরাসরি রুম তৈরি হবে।",
|
||||
"shared_room_number": "আপনি {name} এর সাথে {count} টি রুম শেয়ার করছেন",
|
||||
"shared_room_number_more": "আপনি {name} এর সাথে {count} এর বেশি রুম শেয়ার করছেন"
|
||||
},
|
||||
"room_info_sheet": {
|
||||
"this_room": "এই রুম",
|
||||
"view_details": "বিস্তারিত দেখুন"
|
||||
},
|
||||
"power_level": {
|
||||
"moderator": "মডারেটর",
|
||||
"admin": "প্রশাসক",
|
||||
"default": "ডিফল্ট",
|
||||
"custom": "কাস্টম ({level})",
|
||||
"restricted": "সংরক্ষিত"
|
||||
},
|
||||
"voice_recorder": {
|
||||
"swipe_to_cancel": "বাতিল করতে সোয়াইপ করুন",
|
||||
"release_to_cancel": "বাতিল করতে ছেড়ে দিন",
|
||||
"failed_to_record": "অডিও রেকর্ড করতে ব্যর্থ হয়েছে",
|
||||
"not_supported_title": "সমর্থিত নয়",
|
||||
"not_supported_text": "দুঃখজনকভাবে, এই ব্রাউজারটি অডিও রেকর্ডিং সমর্থন করে না।"
|
||||
},
|
||||
"fallbacks": {
|
||||
"audio_file": "অডিও ফাইল",
|
||||
"video_file": "ভিডিও ফাইল",
|
||||
"original_text": "<original text>",
|
||||
"download_name": "ডাউনলোড"
|
||||
},
|
||||
"poll_create": {
|
||||
"title": "নতুন পোল তৈরি করুন",
|
||||
"create": "প্রকাশ করুন",
|
||||
"creating": "পোল তৈরি করা হচ্ছে",
|
||||
"poll_disclosed": "খোলা - বর্তমান ফলাফল সব সময় প্রদর্শিত হবে।",
|
||||
"poll_undisclosed": "বন্ধ - ব্যবহারকারীরা ফলাফলগুলি ভোটটি বন্ধ হওয়ার পর দেখবে।",
|
||||
"add_answer": "উত্তর যোগ করুন",
|
||||
"failed": "পোল তৈরি করতে ব্যর্থ হয়েছে। দয়া করে পুনরায় চেষ্টা করুন।",
|
||||
"question_label": "আপনার প্রশ্ন জিজ্ঞাসা করুন*",
|
||||
"question_required": "আপনাকে একটি প্রশ্ন করতে হবে!",
|
||||
"answer_label_1": "উত্তর*",
|
||||
"answer_label_n": "উত্তর",
|
||||
"please_complete": "দয়া করে সম্পন্ন করুন",
|
||||
"tip_title": "ওস্তাদি বয়ান",
|
||||
"tip_text": "সদস্যরা তাদের উত্তর দেওয়ার পর ভোটের ফলাফল দেখতে পাবেন। আপনি কাজ শেষ করার পর পোলটি বন্ধ করলে ফলাফলটি সবাইকে রুমে দেখাতে পারবেন।",
|
||||
"create_poll_menu_option": "পোল তৈরি করুন",
|
||||
"poll_status_closed": "ভোট বন্ধ করা হয়েছে",
|
||||
"answer_required": "উত্তর খালি রাখা যাবে না। দয়া করে কিছু লিখুন অথবা এই অপশনটি মুছে ফেলুন।",
|
||||
"poll_status_disclosed": "পোল বন্ধ করা হলে ফলাফল দেখানো হবে",
|
||||
"poll_status_open": "ভোট চালু আছে",
|
||||
"poll_status_open_not_voted": "পোল খোলা আছে - ফলাফল দেখতে ভোট দিন",
|
||||
"view_results": "ফলাফল দেখুন",
|
||||
"poll_submit": "সাবমিট",
|
||||
"close_poll": "পোল বন্ধ করুন",
|
||||
"num_answered": "{count} টি উত্তর",
|
||||
"results_shared": "ফলাফল রুমে প্রকাশ করা হয়েছে।"
|
||||
},
|
||||
"export": {
|
||||
"exported_date": "{date} এ এক্সপোর্ট করা হয়েছে",
|
||||
"fetched_n_events": "{count} ইভেন্ট জড় করা হয়েছে",
|
||||
"fetched_n_of_total_events": "{total} টির মধ্যে {count} টি ইভেন্ট জড় করা হয়েছে",
|
||||
"processed_n_of_total_events": "{count}টি মিডিয়া প্রক্রিয়া করা হয়েছে {total} ইভেন্টের মধ্যে",
|
||||
"export_filename": "এক্সপোর্ট করা চ্যাট {date}"
|
||||
},
|
||||
"notification": {
|
||||
"title": "নতুন বার্তা এসেছে",
|
||||
"dialog": {
|
||||
"title": "চ্যাট নোটিফিকেশনের মাধ্যমে সংযুক্ত থাকুন!",
|
||||
"body": "আর কোনো বার্তা বা গুরুত্বপূর্ণ আলোচনা মিস করবেন না! যখনই কেউ আপনাকে বার্তা পাঠাবে বা আপনার চ্যাটে উত্তর দেবে, আপনি নোটিফিকেশন পাবেন।",
|
||||
"enable": "সচল"
|
||||
},
|
||||
"blocked_message": "নোটিফিকেশন ব্লক করা আছে। এটি চালু করতে আপনার ডিভাইস বা ব্রাউজারের সেটিংসে যান।",
|
||||
"not_supported": "এখন অব্দি মোবাইলে নোটিফিকেশন সমর্থন করে না",
|
||||
"periodicSync_new_msg_reminder": "আপনার জন্য নতুন বার্তা থাকতে পারে"
|
||||
},
|
||||
"emoji": {
|
||||
"search": "খুঁজুন..।",
|
||||
"categories": {
|
||||
"activity": "কার্যকলাপ",
|
||||
"flags": "পতাকা",
|
||||
"foods": "খাবার",
|
||||
"frequently": "সচারচর ব্যবহৃত",
|
||||
"objects": "বস্তু",
|
||||
"nature": "প্রকৃতি",
|
||||
"peoples": "মানুষ",
|
||||
"symbols": "চিহ্ন",
|
||||
"places": "স্থান"
|
||||
}
|
||||
},
|
||||
"file_mode": {
|
||||
"choose_files": "ফাইল নির্বাচন করুন",
|
||||
"any_file_format_accepted": "যেকোনো ধরণের ফাইল সমর্থিত",
|
||||
"secure_file_send": "নিরাপদে ফাইল পাঠান",
|
||||
"add_a_message": "একটি বার্তা যোগ করুন",
|
||||
"sending_progress": "পাঠানো হচ্ছে..।",
|
||||
"sending": "পাঠানো হচ্ছে",
|
||||
"files_sent": "১টি ফাইল পাঠানো হয়েছে | {count} টি ফাইল পাঠানো হয়েছে!",
|
||||
"files_sent_with_note": "নোট সহ ১টি ফাইল পাঠানো হয়েছে | নোট সহ {count} টি ফাইল পাঠানো হয়েছে!",
|
||||
"send_more_files": "আরও ফাইল পাঠান",
|
||||
"close": "বন্ধ করুন",
|
||||
"files": "ফাইলগুলি"
|
||||
}
|
||||
}
|
||||
|
|
@ -23,7 +23,9 @@
|
|||
"delete_now": "Jetzt löschen",
|
||||
"user_make_admin": "Admin erstellen",
|
||||
"user_revoke_moderator": "Moderator widerrufen",
|
||||
"user_make_moderator": "Moderator erstellen"
|
||||
"user_make_moderator": "Moderator erstellen",
|
||||
"pin": "Beitrag anheften",
|
||||
"unpin": "Beitrag lösen"
|
||||
},
|
||||
"message": {
|
||||
"you": "Du",
|
||||
|
|
@ -83,18 +85,27 @@
|
|||
"user_was_banned_by_you": "Du hast {user} aus dem Chat geworfen und gesperrt.",
|
||||
"user_was_banned_you": "Du wurdest aus dem Chat rausgeschmissen und gesperrt.",
|
||||
"user_was_banned": "{user} wurde aus dem Chat geworfen und gesperrt.",
|
||||
"preparing_to_upload": "Vorbereitungen zum Hochladen..."
|
||||
"preparing_to_upload": "Vorbereitungen zum Hochladen...",
|
||||
"send_attachements_dialog_title": "Möchtest du folgende Anhänge senden?",
|
||||
"seen_by_count": "Von keinem Mitglied gesehen | Von 1 Mitglied gesehen | Von {count} Mitgliedern gesehen",
|
||||
"not_allowed_to_send": "Nur Admins und Moderatoren dürfen an diesen Raum senden",
|
||||
"upload_exceeded_file_limit": "Dateihöchstgröße von ({configFormattedUploadSize}) überschritten. ",
|
||||
"reaction_count_more": "{reactionCount} mehr"
|
||||
},
|
||||
"room": {
|
||||
"leave": "Verlassen",
|
||||
"purge_set_room_state": "Einstellung des Raumstatus",
|
||||
"purge_redacting_events": "Redigieren von Ereignissen",
|
||||
"purge_redacting_events": "Redigieren der Ereignisse ({count} von {total})",
|
||||
"room_list_invites": "Einladungen",
|
||||
"members": "keine Mitglieder | 1 Mitglied | {count} Mitglieder",
|
||||
"purge_removing_members": "Entfernen von Mitgliedern",
|
||||
"purge_removing_members": "Entfernen der Mitglieder ({count} von {total})",
|
||||
"purge_failed": "Fehler beim Bereinigen des Raums!",
|
||||
"room_list_rooms": "Räume",
|
||||
"invitations": "Du hast keine Einladungen | Du hast 1 Einladung | Du hast {count} Einladungen"
|
||||
"invitations": "Du hast keine Einladungen | Du hast 1 Einladung | Du hast {count} Einladungen",
|
||||
"room_list_new_messages": "{count} neue Nachrichten",
|
||||
"unseen_messages": "Du hast keine ungesehene Nachrichten | Du hast 1 ungesehene Nachricht | Du hast {count} ungesehene Nachrichten",
|
||||
"room_name_required": "Raumbezeichnung ist erforderlich",
|
||||
"room_topic_required": "Raumbeschreibung ist erforderlich"
|
||||
},
|
||||
"room_welcome": {
|
||||
"info": "Herzlich willkommen! Hier sind ein paar Dinge, die du über deinen Raum wissen solltest:",
|
||||
|
|
@ -106,7 +117,13 @@
|
|||
"got_it": "Verstanden",
|
||||
"encrypted": "Die Nachrichten werden Ende-zu-Ende verschlüsselt.",
|
||||
"change": "Ändern",
|
||||
"direct_private_chat": "Direktnachricht"
|
||||
"direct_private_chat": "Direktnachricht",
|
||||
"no_past_messages": "Willkommen! Zu deiner Sicherheit sind bisherige Nachrichten nicht zugänglich.",
|
||||
"direct_info": "Hallo {you}. Du bist in einem privaten Chat mit {user}.",
|
||||
"join_channel": "Alles eingestellt! Lade Leute ein, sich dir anzuschließen: {link}",
|
||||
"info_retention": "🕓 Innerhalb von {time} gesendete Nachrichten sind für alle mit dem Link sichtbar.",
|
||||
"info_retention_user": "🕓 Nachrichten älter als {time} werden aus dem Verlauf gelöscht.",
|
||||
"info_auto_join": "Willkommen in {room}.\nDu schließt dich als {you} an."
|
||||
},
|
||||
"new_room": {
|
||||
"join_permissions": "Beitrittsberechtigungen",
|
||||
|
|
@ -128,7 +145,8 @@
|
|||
"name_room": "Raum benennen",
|
||||
"room_topic": "Füge eine Beschreibung hinzu, wenn du möchtest",
|
||||
"room_name_limit_error_msg": "Maximal 50 Zeichen erlaubt",
|
||||
"options": "Optionen"
|
||||
"options": "Optionen",
|
||||
"colon_not_allowed": "Doppelpunkt ist nicht erlaubt"
|
||||
},
|
||||
"device_list": {
|
||||
"blocked": "Blockiert",
|
||||
|
|
@ -145,12 +163,17 @@
|
|||
"create_room": "Registrieren und Raum erstellen",
|
||||
"or": "ODER",
|
||||
"invalid_message": "Benutzername oder Passwort falsch",
|
||||
"send_verification": "Sende Bestätigungs-E-Mail",
|
||||
"send_verification": "Bestätigungsmail senden",
|
||||
"resend_verification": "Bestätigungsmail erneut senden",
|
||||
"accept_terms": "Akzeptiere.",
|
||||
"accept_terms": "Akzeptieren",
|
||||
"token_not_valid": "Ungültiges Token",
|
||||
"email_not_valid": "E-Mail-Adresse ist nicht gültig",
|
||||
"send_token": "Token senden"
|
||||
"send_token": "Token senden",
|
||||
"registration_token": "Bitte Registrierungs-Token eingeben",
|
||||
"email": "Du musst deine E-Mail-Adresse bestätigen",
|
||||
"no_supported_flow": "Die App kann sich nicht an dem angegebenen Server anmelden",
|
||||
"terms": "Der Homeserver bittet dich, die folgenden Richtlinien durchzulesen und zu akzeptieren:",
|
||||
"sent_verification": "Es wurde eine E-Mail an {email} gesendet. Verwende bitte deine normale E-Mail-App, um die Adresse zu bestätigen."
|
||||
},
|
||||
"profile": {
|
||||
"title": "Mein Profil",
|
||||
|
|
@ -165,9 +188,10 @@
|
|||
"display_name": "Anzeigename",
|
||||
"set_language": "Stelle deine Sprache ein",
|
||||
"language_description": "Convene ist in vielen Sprachen verfügbar.",
|
||||
"tell_us": "Teile uns mit.",
|
||||
"tell_us": "Sag's uns.",
|
||||
"notification_label": "Benachrichtigung",
|
||||
"display_name_required": "Anzeigename ist erforderlich"
|
||||
"display_name_required": "Anzeigename ist erforderlich",
|
||||
"dont_see_yours": "Deines nicht gesehen?"
|
||||
},
|
||||
"profile_info_popup": {
|
||||
"you_are": "Du bist",
|
||||
|
|
@ -186,12 +210,14 @@
|
|||
"status_logging_in": "Wird angemeldet …",
|
||||
"status_joining": "Raum beitreten …",
|
||||
"join_failed": "Beitritt zum Raum fehlgeschlagen.",
|
||||
"title": "Willkommen in {roomName}",
|
||||
"title": "Willkommen, du wurdest zum Beitritt eingeladen",
|
||||
"enter_room": "Raum betreten",
|
||||
"remember_me": "Mich merken",
|
||||
"choose_name": "Wähle einen zu nutzenden Namen",
|
||||
"join_user": "Chat starten",
|
||||
"enter_room_user": "Chat starten"
|
||||
"enter_room_user": "Chat starten",
|
||||
"title_user": "Willkommen, du wurdest eingeladen mitzuchatten",
|
||||
"you_have_been_banned": "Du wurdest aus diesem Raum verbannt."
|
||||
},
|
||||
"invite": {
|
||||
"title": "Freunde hinzufügen",
|
||||
|
|
@ -214,7 +240,7 @@
|
|||
"info": "Alle Mitglieder und Nachrichten werden entfernt. Diese Aktion kann nicht rückgängig gemacht werden.",
|
||||
"button": "Löschen",
|
||||
"n_seconds": "{seconds} Sekunden",
|
||||
"self_destruct": "Der Raum wird sich in Sekundenschnelle selbst zerstören.",
|
||||
"self_destruct": "Dein Raum wird sich in Sekundenschnelle selbst zerstören.",
|
||||
"deleting": "Raum löschen:",
|
||||
"notified": "Wir haben die Mitglieder benachrichtigt.",
|
||||
"room_deletion_notice": "Zeit auf wiedersehen zu sagen! Dieser Raum wurde von {user} gelöscht. Es wird sich in Sekunden selbst zerstören.",
|
||||
|
|
@ -263,7 +289,15 @@
|
|||
"download_chat": "Chat herunterladen",
|
||||
"message_retention": "Nachrichtenverlauf",
|
||||
"message_retention_none": "Aus",
|
||||
"room_type": "Raumart"
|
||||
"room_type": "Raumart",
|
||||
"make_public_warning": "Achtung: der komplette Nachrichtenverlauf wird für neue Teilnehmer sichtbar",
|
||||
"read_only_room_info": "Nur Admins und Moderatoren dürfen in diesen Raum senden.",
|
||||
"message_retention_info": "Innerhalb dieses Zeitrahmens gesendete Nachrichten sind für alle mit dem Link sichtbar.",
|
||||
"voice_mode_info": "Schaltet die Chat-Schnittstelle in den Modus 'Zuhören und Aufzeichnen'",
|
||||
"file_mode_info": "Schaltet die Chat-Schnittstelle in den Modus 'Datei schicken'",
|
||||
"shared_room_number": "Du teilst {count} Räume mit {name}",
|
||||
"direct_link_desc": "Bereit zum Teilen! Jedes Mal, wenn jemand den Link öffnet, wird ein neuer Direktraum geöffnet.",
|
||||
"shared_room_number_more": "Du teilst mehr als {count} Räume mit {name}"
|
||||
},
|
||||
"room_info_sheet": {
|
||||
"this_room": "Dieser Raum",
|
||||
|
|
@ -315,7 +349,8 @@
|
|||
"answer_label_n": "Antwort",
|
||||
"view_results": "Ergebnisse ansehen",
|
||||
"answer_label_1": "Antwort*",
|
||||
"please_complete": "Bitte vervollständigen"
|
||||
"please_complete": "Bitte vervollständigen",
|
||||
"tip_title": "PRO-TIPP"
|
||||
},
|
||||
"export": {
|
||||
"fetched_n_of_total_events": "{count} von {total} Ereignissen geladen",
|
||||
|
|
@ -339,7 +374,9 @@
|
|||
"notify": "Benachrichtigung",
|
||||
"close": "schlieen",
|
||||
"click_to_remove": "Zum Entfernen klicken",
|
||||
"password_hint": "Mindestens 12 Zeichen, davon mindestens eine Ziffer, ein Großbuchstabe und ein Kleinbuchstabe"
|
||||
"password_hint": "Mindestens 12 Zeichen, davon mindestens eine Ziffer, ein Großbuchstabe und ein Kleinbuchstabe",
|
||||
"different_browser_title": "Anderen Browser ausprobieren",
|
||||
"different_browser_content": "Bestimmte Funktionen könnten nicht mehr funktionieren. Kopiere und öffne den Link in einem anderen Browser."
|
||||
},
|
||||
"emoji": {
|
||||
"categories": {
|
||||
|
|
@ -349,7 +386,9 @@
|
|||
"objects": "Objekte",
|
||||
"symbols": "Symbole",
|
||||
"places": "Orte",
|
||||
"frequently": "Häufig genutzt"
|
||||
"frequently": "Häufig genutzt",
|
||||
"peoples": "Leute",
|
||||
"foods": "Lebensmittel"
|
||||
},
|
||||
"search": "Suche ..."
|
||||
},
|
||||
|
|
@ -360,22 +399,44 @@
|
|||
"files": "Dateien",
|
||||
"files_sent": "1 Datei gesendet! | {count} Dateien gesendet!",
|
||||
"choose_files": "Dateien auswählen",
|
||||
"send_more_files": "Weitere Dateien senden"
|
||||
"send_more_files": "Weitere Dateien senden",
|
||||
"any_file_format_accepted": "Jedes Dateiformat wird akzeptiert",
|
||||
"secure_file_send": "sicheres Senden von Dateien",
|
||||
"add_a_message": "Nachricht hinzufügen",
|
||||
"files_sent_with_note": "1 Datei mit einer Notiz gesendet! | {count} Dateien mit einer Notiz gesendet!"
|
||||
},
|
||||
"notification": {
|
||||
"dialog": {
|
||||
"enable": "Aktiviere"
|
||||
"enable": "Aktivieren",
|
||||
"body": "Verpasse nie wieder eine Nachricht oder ein wichtiges Gespräch! Lass dich benachrichtigen, wenn dir jemand eine Nachricht schickt oder auf deinen Chat antwortet.",
|
||||
"title": "Bleib mit Chat-Benachrichtigungen in Verbindung!"
|
||||
},
|
||||
"title": "Neue Nachricht erhalten"
|
||||
"title": "Neue Nachricht erhalten",
|
||||
"blocked_message": "Benachrichtigung ist blockiert. Gehe zu den Einstellungen deines Geräts oder Browsers, um die Benachrichtigung zu aktivieren",
|
||||
"periodicSync_new_msg_reminder": "Du hast vielleicht neue Nachrichten"
|
||||
},
|
||||
"getlink": {
|
||||
"next": "Nächster",
|
||||
"next": "Weiter",
|
||||
"continue": "Fortfahren",
|
||||
"hello": "Hallo {user},\nhier ist dein Direktlink",
|
||||
"share_qr": "QR teilen",
|
||||
"qr_image_copied": "Bild in die Zwischenablage kopiert"
|
||||
"qr_image_copied": "Bild in die Zwischenablage kopiert",
|
||||
"different_link": "Einen anderen Link erhalten",
|
||||
"title": "Einen Direktlink erhalten",
|
||||
"username": "Gib einen Bildschirmnamen ein (z. B.: waku)",
|
||||
"scan_title": "Scanne diesen Code, um einen direkten Chat zu beginnen",
|
||||
"info": "Direktlinks bieten Leuten einen sicheren Nachrichtenweg zu dir. Wähle als erstes einen Namen für einen Bildschirm aus, der dir anzeigt, wann Leute einem Chat mit dir beitreten.",
|
||||
"ready_to_share": "Bereit zu teilen! Ein neuer Direktraum wird sich jedes Mal öffnen, wenn der Link geöffnet wird."
|
||||
},
|
||||
"createchannel": {
|
||||
"name_required": "Kanalname ist erforderlich"
|
||||
"name_required": "Kanalname ist erforderlich",
|
||||
"channel_name": "Benenne deinen Kanal",
|
||||
"channel_topic": "Beschreibe ihn",
|
||||
"error_channel": "Einrichtung des Kanals fehlgeschlagen",
|
||||
"title": "Einen Kanal einrichten",
|
||||
"info": "Neuigkeiten oder Wissen in jedem Format verbreiten — als Video, Podcast, Text, Bild oder PDF."
|
||||
},
|
||||
"logout": {
|
||||
"confirm_text": "Bist du sicher, dass du dich abmelden möchtest?"
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -46,7 +46,9 @@
|
|||
"user_kick_and_ban": "Kick out",
|
||||
"user_make_admin": "Make admin",
|
||||
"user_make_moderator": "Make moderator",
|
||||
"user_revoke_moderator": "Revoke moderator"
|
||||
"user_revoke_moderator": "Revoke moderator",
|
||||
"pin": "Pin post",
|
||||
"unpin": "Unpin post"
|
||||
},
|
||||
"message": {
|
||||
"you": "You",
|
||||
|
|
@ -110,7 +112,7 @@
|
|||
"file": "File",
|
||||
"files": "Files",
|
||||
"images": "Images",
|
||||
"send_attachements_dialog_title": "Do you want to send following attachments ?",
|
||||
"send_attachements_dialog_title": "Do you want to send following attachments?",
|
||||
"download_all": "Download all",
|
||||
"failed_to_render": "Failed to render event"
|
||||
},
|
||||
|
|
|
|||
|
|
@ -285,7 +285,9 @@
|
|||
"user_revoke_moderator": "Revocar al moderador",
|
||||
"delete_now": "Elimina ahora",
|
||||
"user_kick_and_ban": "Expulsar",
|
||||
"direct_chat": "Chat directo"
|
||||
"direct_chat": "Chat directo",
|
||||
"pin": "Fijar publicación",
|
||||
"unpin": "Desvincular publicación"
|
||||
},
|
||||
"fallbacks": {
|
||||
"download_name": "Descargar",
|
||||
|
|
|
|||
444
src/assets/translations/es_419.json
Normal file
444
src/assets/translations/es_419.json
Normal file
|
|
@ -0,0 +1,444 @@
|
|||
{
|
||||
"global": {
|
||||
"time": {
|
||||
"days": "hace 1 día | hace {n} días",
|
||||
"recently": "justo ahora",
|
||||
"minutes": "hace 1 minuto | hace {n} minutos",
|
||||
"hours": "hace 1 hora | hace {n} horas"
|
||||
},
|
||||
"notify": "Notificar",
|
||||
"different_browser_title": "Prueba un navegador diferente",
|
||||
"different_browser_content": "Algunas funciones pueden fallar. Copia y abre el enlace en un navegador diferente.",
|
||||
"save": "Guardar",
|
||||
"password_didnot_match": "La contraseña no coincidió",
|
||||
"password_hint": "Mínimo 12 caracteres que contengan al menos un número, una letra mayúscula y una minúscula",
|
||||
"show_less": "Mostrar menos",
|
||||
"show_more": "Mostrar más",
|
||||
"add_reaction": "Añadir reacción",
|
||||
"click_to_remove": "Clic para eliminar",
|
||||
"close": "cerrar"
|
||||
},
|
||||
"menu": {
|
||||
"start_private_chat": "Mensaje Directo con esta(e) usuari(a)o",
|
||||
"direct_chat": "Chat directo",
|
||||
"reply": "Responder",
|
||||
"edit": "Editar",
|
||||
"delete": "Eliminar",
|
||||
"download": "Descargar",
|
||||
"ok": "Ok",
|
||||
"done": "Hecho",
|
||||
"cancel": "Cancelar",
|
||||
"send": "Enviar",
|
||||
"back": "ATRÁS",
|
||||
"login": "Iniciar Sesión",
|
||||
"logout": "Cerrar Sesión",
|
||||
"new_room": "Nueva Sala",
|
||||
"undo": "Deshacer",
|
||||
"delete_now": "Eliminar ahora",
|
||||
"join": "Unirse",
|
||||
"ignore": "Ignorar",
|
||||
"loading": "Cargando {appName}",
|
||||
"user_kick_and_ban": "Expulsar",
|
||||
"user_make_admin": "Hacer admin",
|
||||
"user_make_moderator": "Hacer moderador(a)",
|
||||
"user_revoke_moderator": "Revocar moderador(a)"
|
||||
},
|
||||
"language_display_name": "Inglés",
|
||||
"project": {
|
||||
"name": "Convene",
|
||||
"tag_line": "Simplemente conecta"
|
||||
},
|
||||
"message": {
|
||||
"files": "Archivos",
|
||||
"images": "Imágenes",
|
||||
"send_attachements_dialog_title": "¿Deseas enviar los siguientes adjuntos?",
|
||||
"download_all": "Descargar todos",
|
||||
"user_was_banned_by_you": "Eliminaste y restringiste a {user} del chat.",
|
||||
"user_was_banned_you": "Te eliminaron y restringieron del chat.",
|
||||
"you": "Tú",
|
||||
"user_created_room": "{user} creó la sala",
|
||||
"user_aliased_room": "{user} creó el alias de sala {alias}",
|
||||
"user_changed_display_name": "{user} cambió el nombre para mostrar a {displayName}",
|
||||
"user_changed_avatar": "{user} cambió el avatar",
|
||||
"user_changed_room_avatar": "{user} cambió el avatar de la sala",
|
||||
"user_encrypted_room": "{user} cifró la sala",
|
||||
"user_was_invited": "{user} fue invitada(o) al chat...",
|
||||
"user_was_kicked": "Se ha echada(o) {user} del chat.",
|
||||
"user_was_kicked_by_you": "Echaste a {user} del chat.",
|
||||
"user_was_kicked_you": "Te eliminaron del chat.",
|
||||
"user_was_banned": "Se ha eliminado y restringido a {user} del chat.",
|
||||
"user_joined": "{user} se unió al chat",
|
||||
"user_left": "{user} dejó el chat",
|
||||
"someone": "Alguien",
|
||||
"download_progress": "{percentage}% descargado",
|
||||
"user_said": "{user} dijo:",
|
||||
"sent_media": "Envió {count} ítems multimedia.",
|
||||
"file_prefix": "Archivo: ",
|
||||
"edited": "(editado)",
|
||||
"preparing_to_upload": "Peparando para subir...",
|
||||
"upload_file_too_large": "¡Archivo demasiado grande para subir!",
|
||||
"upload_exceeded_file_limit": "Tamaño máximo de archivo de ({configFormattedUploadSize}) excedido. ",
|
||||
"upload_progress": "Subido {count}",
|
||||
"upload_progress_with_total": "Subido {count} de {total}",
|
||||
"user_changed_room_history": "{user} hizo el historial de la sala {type}",
|
||||
"room_history_world_readable": "legible por cualquiera",
|
||||
"room_history_shared": "legible para toda(o)s la(o)s miembros de la sala",
|
||||
"room_history_invited": "legible para miembros desde cuando fueron invitada(o)s",
|
||||
"room_history_joined": "legible para miembros desde cuando se unieron",
|
||||
"user_changed_join_rules": "{user} hizo la sala {type}",
|
||||
"room_joinrule_invite": "sólo por invitación",
|
||||
"room_joinrule_public": "pública",
|
||||
"user_changed_room_name": "{user} cambió el nombe de la sala a {name}",
|
||||
"user_changed_room_topic": "{user} cambió el tema de la sala a {topic}",
|
||||
"unread_messages": "Mensajes sin leer",
|
||||
"replying_to": "Responder a {user}",
|
||||
"your_message": "Tu mensaje...",
|
||||
"time_ago": "Hoy | Ayer | hace {count} días",
|
||||
"scale_image": "Escalar imagen",
|
||||
"user_is_typing": "{user} está escribiendo",
|
||||
"users_are_typing": "{count} miembros están escribiendo",
|
||||
"room_powerlevel_change": "{user} cambió el nivel de poder de {changes}",
|
||||
"user_powerlevel_change_from_to": "{user} de {powerOld} a {powerNew}",
|
||||
"user_changed_guest_access_closed": "{user} prohibió que la(o)s invitada(o)s se unan a la sala",
|
||||
"user_changed_guest_access_open": "{user} permitió que la(o)s invitada(o)s se unan a la sala",
|
||||
"reply_image": "Imagen",
|
||||
"reply_audio_message": "Mensaje de audio",
|
||||
"reply_video": "Video",
|
||||
"reply_poll": "Encuesta",
|
||||
"outgoing_message_deleted_text": "Eliminaste este mensaje.",
|
||||
"incoming_message_deleted_text": "Este mensaje fue eliminado.",
|
||||
"not_allowed_to_send": "Solo se permite a admins y moderadora(e)s enviar a la sala",
|
||||
"reaction_count_more": "{reactionCount} más",
|
||||
"seen_by_count": "Visto por ningún(a) miembro | Visto por 1 miembro | Visto por {count} miembros",
|
||||
"seen_by": "Visto por",
|
||||
"file": "Archivo",
|
||||
"failed_to_render": "Falló al renderizar el evento"
|
||||
},
|
||||
"room": {
|
||||
"purge_set_room_state": "Estableciendo estado de la sala",
|
||||
"invitations": "No tienes invitaciones | Tienes 1 invitación | Tienes {count} invitaciones",
|
||||
"unseen_messages": "No tienes mensajes sin leer | Tienes 1 mensaje sin leer | Tienes {count} mensajes sin leer",
|
||||
"members": "sin miembros | 1 miembro | {count} miembros",
|
||||
"leave": "Salir",
|
||||
"purge_redacting_events": "Redactando eventos ({count} de {total})",
|
||||
"purge_removing_members": "Eliminando miembros ({count} de {total})",
|
||||
"purge_failed": "¡Falló la purga de la sala!",
|
||||
"room_list_invites": "Invitaciones",
|
||||
"room_list_new_messages": "{count} mensajes nuevos",
|
||||
"room_list_rooms": "Salas",
|
||||
"room_name_required": "Se requiere el nombre de la sala",
|
||||
"room_topic_required": "Se requiere la descripción de la sala"
|
||||
},
|
||||
"room_welcome": {
|
||||
"got_it": "Entendido",
|
||||
"info": "¡Bienvenida(o)! Aquí hay algunas cosas a saber sobre tu sala:",
|
||||
"encrypted": "Los mensajes son cifrados de extremo a extremo.",
|
||||
"room_history_is": "El historial de la sala es {type}.",
|
||||
"room_history_joined": "Las personas sólo pueden ver los mensajes enviados después de unirse.",
|
||||
"join_public": "Cualquiera puede unirse abriendo este enlace: {link}.",
|
||||
"join_invite": "Sólo personas que invites pueden unirse.",
|
||||
"info_permissions": "Puedes cambiar los \"permisos para unirse\" en cualquier momento en la configuración de la sala.",
|
||||
"no_past_messages": "¡Bienvenida(o)! Por tu seguridad, los mensajes anteriores no están disponibles.",
|
||||
"direct_info": "Hola, {you}. Estás en un chat privado con {user}.",
|
||||
"direct_private_chat": "Mensaje Directo",
|
||||
"join_channel": "¡Listo! Invita a personas a unirse a ti: {link}",
|
||||
"info_retention": "🕓 Los mensajes enviados entre {time} son visibles para cualquiera con el enlace.",
|
||||
"info_retention_user": "🕓 Los mensajes anteriores a {time} serán eliminados del historial.",
|
||||
"info_auto_join": "Bienvenida(o)s a {room}.\nTe estás uniendo como {you}.",
|
||||
"change": "Cambiar"
|
||||
},
|
||||
"notification": {
|
||||
"dialog": {
|
||||
"title": "¡Mantente Conectada(o) con las Notificaciones de Chat!",
|
||||
"body": "¡Nunca vuelvas a perderte un mensaje o conversación importante! Recibe notificaciones cuando alguien te envíe un mensaje o responda a tu chat.",
|
||||
"enable": "Habilitar"
|
||||
},
|
||||
"title": "Nuevo mensaje recibido",
|
||||
"blocked_message": "La notificación está bloqueada. Ve a la configuración de tu dispositivo o navegador para habilitar Notificación",
|
||||
"not_supported": "La notifiación aún no es admitida en dispositivos móviles",
|
||||
"periodicSync_new_msg_reminder": "Puede que tengas mensajes nuevos"
|
||||
},
|
||||
"file_mode": {
|
||||
"files_sent_with_note": "¡1 archivo enviado con una nota! | ¡{count} archivos enviados con una nota!",
|
||||
"send_more_files": "Enviar más archivos",
|
||||
"close": "Cerrar",
|
||||
"files": "Archivos",
|
||||
"choose_files": "Elegir archivos",
|
||||
"any_file_format_accepted": "Cualquier formato de archivo es aceptado",
|
||||
"secure_file_send": "envío de archivo seguro",
|
||||
"add_a_message": "Añadir un mensaje",
|
||||
"sending_progress": "Enviando...",
|
||||
"sending": "Enviando",
|
||||
"files_sent": "¡1 archivo enviado! | ¡{count} archivos enviados!"
|
||||
},
|
||||
"new_room": {
|
||||
"new_room": "Nueva Sala",
|
||||
"create": "Crear",
|
||||
"next": "Siguiente",
|
||||
"name_room": "Nombre de la sala",
|
||||
"room_topic": "Añade una descripción si deseas",
|
||||
"join_permissions": "Permisos para unirse",
|
||||
"set_join_permissions": "Establecer Permisos para Unirse",
|
||||
"join_permissions_info": "Estos permisos determinan cómo las personas pueden unirse a la sala y qué tan fácil otras pueden ser invitadas. Pueden ser cambiados en cualquier momento.",
|
||||
"get_link": "Obtener enlace",
|
||||
"add_people": "Añadir personas",
|
||||
"link_copied": "¡Enlace copiado!",
|
||||
"public_info": "Cualquiera con un enlace",
|
||||
"public_description": "Obtener un enlace para compartir",
|
||||
"invite_info": "Sólo personas añadidas",
|
||||
"status_avatar_total": "Subiendo avatar: {count} de {total}",
|
||||
"status_avatar": "Subiendo avatar: {count}",
|
||||
"invite_description": "Elegir de una lista o buscar por ID de cuenta",
|
||||
"status_creating": "Creando sala",
|
||||
"room_name_limit_error_msg": "Máximo 50 caracteres permitidos",
|
||||
"colon_not_allowed": "No se permite dos puntos",
|
||||
"options": "Opciones"
|
||||
},
|
||||
"device_list": {
|
||||
"blocked": "Bloqueados",
|
||||
"verified": "Verificado",
|
||||
"not_verified": "No verificado"
|
||||
},
|
||||
"login": {
|
||||
"title": "Iniciar Sesión",
|
||||
"username": "Nombre de Usuaria(o) (ej: marta)",
|
||||
"password": "Introduce la Contraseña",
|
||||
"username_required": "Se requiere nombre de usuaria(o)",
|
||||
"password_required": "Se requiere la contraseña",
|
||||
"login": "Iniciar Sesión",
|
||||
"create_room": "Registrarse y Crear Sala",
|
||||
"or": "O",
|
||||
"invalid_message": "Nombre de usuaria(o) o contraseña inválidos",
|
||||
"no_supported_flow": "La app no puede iniciar sesión en el servidor indicado",
|
||||
"terms": "El servidor doméstico requiere que revises y aceptes las siguientes políticas:",
|
||||
"accept_terms": "Aceptar",
|
||||
"email": "Debes verificar tu dirección de correo electrónico",
|
||||
"send_verification": "Enviar correo de verificación",
|
||||
"sent_verification": "Se ha enviado un correo a {emai}. Por favor usa tu cliente de correo electrónico habitual para verificar la dirección.",
|
||||
"resend_verification": "Volver a enviar el correo de verificación",
|
||||
"email_not_valid": "Dirección de correo no válida",
|
||||
"registration_token": "Por favor introduce el token de registro",
|
||||
"send_token": "Enviar token",
|
||||
"token_not_valid": "Token inválido"
|
||||
},
|
||||
"getlink": {
|
||||
"title": "Obtener un Enlace Directo",
|
||||
"info": "Los enlaces directos proporcionan a las personas una línea de comunicación segura contigo. Para iniciar, elige un nombre de pantalla para mostrar cuando las personas entren a un chat contigo.",
|
||||
"username": "Introduce un nombre de pantalla (ej: waku)",
|
||||
"scan_title": "Escanea este código para iniciar un chat directo",
|
||||
"next": "Siguiente",
|
||||
"hello": "Hola {user},\nAquí está tu Enlace Directo",
|
||||
"ready_to_share": "¡Está listo para compartir! Una nueva sala directa se abrirá cada vez que alguien abra el enlace.",
|
||||
"continue": "Continuar",
|
||||
"different_link": "Obtener un enlace diferente",
|
||||
"share_qr": "Compartir QR",
|
||||
"qr_image_copied": "Imagen copiada al portapapeles"
|
||||
},
|
||||
"createchannel": {
|
||||
"name_required": "Se requiere el nombre del canal",
|
||||
"error_channel": "Falló al crear el canal",
|
||||
"title": "Crear un Canal",
|
||||
"info": "Transmite noticias o conocimientos en cualquier formato—video, podcast, texto, imágenes o PDFs.",
|
||||
"channel_name": "Nombra tu canal",
|
||||
"channel_topic": "Descríbelo"
|
||||
},
|
||||
"profile": {
|
||||
"title": "Mi Perfil",
|
||||
"temporary_identity": "Esta identidad es temporal. Establece una contraseña para volver a usarla",
|
||||
"set_password": "Establecer contraseña",
|
||||
"change_name": "Cambiar nombre",
|
||||
"change_password": "Cambiar contraseña",
|
||||
"select_language": "Idioma",
|
||||
"set_language": "Establece tu idioma",
|
||||
"language_description": "Convene está disponible en muchos idiomas.",
|
||||
"dont_see_yours": "¿No ves el tuyo?",
|
||||
"tell_us": "Cuéntanos.",
|
||||
"password_old": "Contraseña antigua",
|
||||
"password_new": "Nueva contraseña",
|
||||
"password_repeat": "Repite la nueva contraseña",
|
||||
"display_name": "Nombre para mostrar",
|
||||
"display_name_required": "Se requiere el nombre para mostrar",
|
||||
"notification_label": "Notificación"
|
||||
},
|
||||
"profile_info_popup": {
|
||||
"you_are": "Tú eres",
|
||||
"identity": "{displayName}",
|
||||
"identity_temporary": "{displayName}",
|
||||
"edit_profile": "Editar perfil",
|
||||
"logout": "Cerrar Sesión",
|
||||
"want_more": "¿Deseas más?",
|
||||
"powered_by": "Esta sala está impulsada por {product}. ¡Aprende más en {productLink} o continúa y crea otra sala!",
|
||||
"new_room": "Nueva sala"
|
||||
},
|
||||
"leave": {
|
||||
"text_public_lastroom": "Si quieres volver a unirte a esta sala, puedes unirte usando una nueva identidad. Para conservar {user}, {action}.",
|
||||
"title_invite": "¿Segura(o) que deseas salir?",
|
||||
"text_invite": "Esta sala está bloqueada. No puedes volver a unirte sin un permiso especial.",
|
||||
"create_account": "crea una cuenta",
|
||||
"go_back": "Volver",
|
||||
"title_public": "Adiós, {user}",
|
||||
"text_public": "Siempre te puedes volver a unir a esta sala si conoces el enlace.",
|
||||
"leave": "Salir"
|
||||
},
|
||||
"join": {
|
||||
"title": "Bienvenida(o) te han invitado a unirte",
|
||||
"title_user": "Bienvenida(o) se te ha invitado a chatear con",
|
||||
"user_name_label": "Nombre de usuaria(o)",
|
||||
"remember_me": "Recuérdame",
|
||||
"joining_as": "Te estás uniendo como:",
|
||||
"join": "Unirse a sala",
|
||||
"join_user": "Iniciar chat",
|
||||
"enter_room": "Entrar a la sala",
|
||||
"enter_room_user": "Iniciar chat",
|
||||
"status_logging_in": "Iniciando sesión...",
|
||||
"status_joining": "Uniéndose a la sala...",
|
||||
"join_failed": "Falló al unirse a la sala.",
|
||||
"choose_name": "Elige un nombre a usar",
|
||||
"you_have_been_banned": "Se te ha restringido de esta sala"
|
||||
},
|
||||
"invite": {
|
||||
"title": "Añadir Amigos",
|
||||
"done": "Hecho",
|
||||
"send_invites_to": "Enviar invitaciones a",
|
||||
"status_inviting": "Invitando amiga(o) {index} de {count}",
|
||||
"status_error": "¡Falló al invitar a una(o) o más amiga(o)s!"
|
||||
},
|
||||
"logout": {
|
||||
"confirm_text": "¿Segura(o) que deseas cerrar sesión?"
|
||||
},
|
||||
"purge_room": {
|
||||
"title": "¿Eliminar sala?",
|
||||
"info": "Todos la(o)s miembros y mensajes serán eliminados. Esta acción no se puede deshacer.",
|
||||
"button": "Eliminar",
|
||||
"n_seconds": "{seconds} segundos",
|
||||
"self_destruct": "Tu sala se autodestruirá en segundos.",
|
||||
"deleting": "Eliminando sala:",
|
||||
"notified": "Hemos notificado a la(o)s miembros:",
|
||||
"room_deletion_notice": "¡Hora de decir adiós! Esta sala ha sido eliminada por {user}. Se autodestruirá en segundos."
|
||||
},
|
||||
"goodbye": {
|
||||
"room_deleted": "Sala eliminada.",
|
||||
"close_tab": "Cerrar pestaña del navegador",
|
||||
"view_other_rooms": "Ver otras salas"
|
||||
},
|
||||
"room_info": {
|
||||
"title": "Detalles de Sala",
|
||||
"created_by": "Creada por {user}",
|
||||
"permissions": "Permisos para Unirse",
|
||||
"join_invite": "Sólo Personas Añadidas",
|
||||
"join_public": "Cualquiera con un enlace",
|
||||
"copy_invite_link": "Copiar enlace de invitación",
|
||||
"copy_link": "Copiar enlace",
|
||||
"link_copied": "¡Enlace copiado!",
|
||||
"purge": "Eliminar sala",
|
||||
"members": "Miembros",
|
||||
"user": "{user}",
|
||||
"user_you": "{user} (tu)",
|
||||
"hide_all": "Ocultar",
|
||||
"show_all": "Mostrar todos >",
|
||||
"leave_room": "Salir",
|
||||
"version_info": "Impulsada por Guardian Project. Versión: {version}",
|
||||
"scan_code": "Escanea para unirte a la sala",
|
||||
"export_room": "Exportar chat",
|
||||
"user_admin": "Administrador/a",
|
||||
"user_moderator": "Moderador(a)",
|
||||
"moderation": "Moderación",
|
||||
"experimental_features": "Funciones Experimentales",
|
||||
"room_type": "Tipo de sala",
|
||||
"room_type_default": "Por defecto",
|
||||
"voice_mode": "Modo voz",
|
||||
"voice_mode_info": "Cambia la interfaz del chat a un modo \"escuchar y grabar\"",
|
||||
"file_mode": "Modo archivo",
|
||||
"file_mode_info": "Cambia la interfaz del chat a un modo \"soltar archivos\"",
|
||||
"download_chat": "Descargar chat",
|
||||
"read_only_room": "Solo Lectura",
|
||||
"read_only_room_info": "Solo se le permite a adminis y moderadora(e)s enviar a la sala.",
|
||||
"message_retention": "Historial de Mensajes",
|
||||
"message_retention_info": "Los mensajes enviados dentro de este período de tiempo son visibles por cualquiera con el enlace.",
|
||||
"message_retention_none": "Desactivado",
|
||||
"message_retention_4_week": "4 semanas",
|
||||
"message_retention_2_week": "2 semanas",
|
||||
"message_retention_1_week": "1 semana",
|
||||
"message_retention_1_day": "1 día",
|
||||
"message_retention_8_hours": "8 horas",
|
||||
"message_retention_1_hour": "1 hora",
|
||||
"make_public": "Hacer Público",
|
||||
"make_public_warning": "advertencia: El historial de mensajes completo será visible para nueva(o)s participantes",
|
||||
"direct_link": "Mi Enlace Directo",
|
||||
"direct_link_desc": "¡Está listo para compartir! Una nueva sala directa se abrirá cada vez que alguien abra el enlace.",
|
||||
"shared_room_number": "Compartes {count} salas con {name}",
|
||||
"shared_room_number_more": "Compartes más de {count} salas con {name}"
|
||||
},
|
||||
"room_info_sheet": {
|
||||
"this_room": "Esta sala",
|
||||
"view_details": "Ver detalles"
|
||||
},
|
||||
"voice_recorder": {
|
||||
"swipe_to_cancel": "Desliza para cancelar",
|
||||
"release_to_cancel": "Suelta para cancelar",
|
||||
"failed_to_record": "Falló al grabar audio",
|
||||
"not_supported_title": "No admitida",
|
||||
"not_supported_text": "Desafortunadamente, este navegador no admite la grabación de audio."
|
||||
},
|
||||
"power_level": {
|
||||
"admin": "administrador(a)",
|
||||
"moderator": "moderador(a)",
|
||||
"default": "por defecto",
|
||||
"custom": "personalizado ({level})",
|
||||
"restricted": "restringido"
|
||||
},
|
||||
"fallbacks": {
|
||||
"audio_file": "Archivo de audio",
|
||||
"video_file": "Archivo de video",
|
||||
"original_text": "<original text>",
|
||||
"download_name": "Descargar"
|
||||
},
|
||||
"poll_create": {
|
||||
"title": "Crear nueva encuesta",
|
||||
"create": "Publicar",
|
||||
"creating": "Creando encuesta",
|
||||
"poll_disclosed": "Abierta - los resultados actuales se muestran siempre.",
|
||||
"poll_undisclosed": "Cerrada - la(o)s usuari(a)os verán los resultados cuando la encuesta termine.",
|
||||
"add_answer": "Añadir respuesta",
|
||||
"failed": "Falló al crear encuesta, por favor vuelve a intentar luego.",
|
||||
"question_label": "Haz tu pregunta*",
|
||||
"question_required": "¡Debes introducir una pregunta!",
|
||||
"answer_label_1": "Respuesta*",
|
||||
"answer_label_n": "Respuesta",
|
||||
"please_complete": "Por favor completa",
|
||||
"answer_required": "La respuesta no puede estar vacía. Por favor introduce algún texto o elimina esta opción.",
|
||||
"tip_title": "CONSEJO PRO",
|
||||
"tip_text": "La(o)s miembros verán los resultados de la encuesta después de responder. Cierra la encuesta cuando termines para mostrar los resultados a todos en la sala.",
|
||||
"create_poll_menu_option": "Crear encuesta",
|
||||
"poll_status_closed": "La encuesta está cerrada",
|
||||
"poll_status_disclosed": "Los resultados se mostrarán cuando se cierre la encuesta.",
|
||||
"poll_status_open": "La encuesta está abierta",
|
||||
"poll_status_open_not_voted": "La encuesta está abierta - vota para ver los resultados",
|
||||
"view_results": "Ver Resultados",
|
||||
"close_poll": "Cerrar encuesta",
|
||||
"poll_submit": "Enviar",
|
||||
"num_answered": "{count} respuestas",
|
||||
"results_shared": "Resultados compartidos a la sala."
|
||||
},
|
||||
"export": {
|
||||
"exported_date": "Exportado el {date}",
|
||||
"fetched_n_events": "Se obtuvieron {count} eventos",
|
||||
"processed_n_of_total_events": "Medios procesados para {count} de {total} eventos",
|
||||
"export_filename": "Chat exportado {date}",
|
||||
"fetched_n_of_total_events": "Se obtuvieron {count} de {total} eventos"
|
||||
},
|
||||
"emoji": {
|
||||
"search": "Buscar...",
|
||||
"categories": {
|
||||
"activity": "Actividad",
|
||||
"flags": "Banderas",
|
||||
"foods": "Alimentos",
|
||||
"frequently": "Utilizados frecuentemente",
|
||||
"objects": "Objetos",
|
||||
"nature": "Naturaleza",
|
||||
"peoples": "Personas",
|
||||
"symbols": "Símbolos",
|
||||
"places": "Lugares"
|
||||
}
|
||||
}
|
||||
}
|
||||
444
src/assets/translations/es_CU.json
Normal file
444
src/assets/translations/es_CU.json
Normal file
|
|
@ -0,0 +1,444 @@
|
|||
{
|
||||
"message": {
|
||||
"room_history_joined": "legible para los miembros desde que se unieron",
|
||||
"seen_by": "Visto por",
|
||||
"file": "Archivo",
|
||||
"user_changed_avatar": "{usuario} cambió el avatar",
|
||||
"you": "Tu",
|
||||
"user_created_room": "{user} creó la sala",
|
||||
"user_aliased_room": "{user} creó el alias de la sala {alias}",
|
||||
"user_changed_display_name": "{user} cambió el nombre para mostrar a {displayName}",
|
||||
"user_changed_room_avatar": "{user} cambió el avatar de la sala",
|
||||
"user_encrypted_room": "{user} cifró la sala",
|
||||
"room_history_shared": "legible para todos los miembros en la sala",
|
||||
"user_was_invited": "{user} fue invitada(o) al chat...",
|
||||
"user_was_kicked": "{user} fue expulsado del chat.",
|
||||
"user_was_kicked_by_you": "Expulsaste a {user} del chat.",
|
||||
"user_was_kicked_you": "Te expulsaron del chat.",
|
||||
"user_was_banned": "{user} fue expulsado y excluido del chat.",
|
||||
"user_was_banned_by_you": "Eliminaste y prohibiste a {user} del chat.",
|
||||
"user_was_banned_you": "Te expulsaron y te prohibieron el chat.",
|
||||
"user_joined": "{user} se unió al chat",
|
||||
"user_left": "{user} abandonó el chat",
|
||||
"someone": "Alguien",
|
||||
"user_said": "{user} dijo:",
|
||||
"sent_media": "Elementos {count} multimedias enviados.",
|
||||
"file_prefix": "Archivo: ",
|
||||
"edited": "(editado)",
|
||||
"download_progress": "{percentage}% descargado",
|
||||
"preparing_to_upload": "Preparándonos para cargar...",
|
||||
"upload_file_too_large": "¡El archivo es demasiado grande para cargarlo!",
|
||||
"upload_exceeded_file_limit": "Se superó el tamaño máximo de archivo de ({configFormattedUploadSize}). ",
|
||||
"upload_progress": "Cargado a{count}",
|
||||
"upload_progress_with_total": "Cargado{count} de {total}",
|
||||
"user_changed_room_history": "{user} hizo historial de salas {type}",
|
||||
"room_history_world_readable": "legible por cualquiera",
|
||||
"room_history_invited": "legible para los miembros desde que fueron invitados",
|
||||
"user_changed_join_rules": "{user} creó la sala {type}",
|
||||
"room_joinrule_invite": "solo invitar",
|
||||
"room_joinrule_public": "público",
|
||||
"user_changed_room_name": "{user} cambió el nombre de la sala a {name}",
|
||||
"your_message": "Tu mensaje...",
|
||||
"user_changed_room_topic": "{user} cambió el tema de la sala a {topic}",
|
||||
"unread_messages": "Mensajes no leídos",
|
||||
"replying_to": "Respondiendo a {user}",
|
||||
"scale_image": "Imagen a escala",
|
||||
"user_is_typing": "{user} esta escribiendo",
|
||||
"users_are_typing": "{count}Los miembros están escribiendo",
|
||||
"reply_video": "Video",
|
||||
"room_powerlevel_change": "{user} cambió el nivel de potencia de {changes}",
|
||||
"user_powerlevel_change_from_to": "{user} de {powerOld} a {powerNew}",
|
||||
"user_changed_guest_access_closed": "{user} no permitió a los invitados unirse a la sala",
|
||||
"user_changed_guest_access_open": "{user} permitió que los invitados se unieran a la sala",
|
||||
"reply_image": "Imagen",
|
||||
"reply_audio_message": "Mensaje de voz",
|
||||
"reply_poll": "Encuesta",
|
||||
"time_ago": "Hoy | Ayer | {count} hace días",
|
||||
"outgoing_message_deleted_text": "Eliminaste este mensaje.",
|
||||
"incoming_message_deleted_text": "Este mensaje fue eliminado.",
|
||||
"not_allowed_to_send": "Solo los administradores y moderadores pueden enviar a la sala.",
|
||||
"reaction_count_more": "{reactionCount} más",
|
||||
"seen_by_count": "Visto por ningún miembro | Visto por 1 miembro | Visto por{count} miembros",
|
||||
"files": "Archivos",
|
||||
"images": "Imágenes",
|
||||
"send_attachements_dialog_title": "¿Quieres enviar los siguientes archivos adjuntos?",
|
||||
"download_all": "Descargar todos",
|
||||
"failed_to_render": "No se pudo representar el evento"
|
||||
},
|
||||
"room": {
|
||||
"leave": "Dejar",
|
||||
"room_list_rooms": "Salas",
|
||||
"unseen_messages": "No tienes mensajes no vistos | Tienes 1 mensaje no visto | Tienes {count}mensajes sin leer",
|
||||
"invitations": "No tienes invitaciones | Tienes una invitación | Tienes{count} invitaciones",
|
||||
"members": "sin miembros | 1 miembro | {count} miembros",
|
||||
"purge_set_room_state": "Estableciendo estado de la sala",
|
||||
"purge_redacting_events": "Redactando eventos ({count} de {total})",
|
||||
"purge_removing_members": "Eliminando miembros ({count} de {total})",
|
||||
"purge_failed": "¡No se pudo limpiar la sala!",
|
||||
"room_list_invites": "Invitaciones",
|
||||
"room_list_new_messages": "{count} nuevos mensajes",
|
||||
"room_name_required": "Se necesita el nombre de la sala",
|
||||
"room_topic_required": "Se necesita la descripción de la sala"
|
||||
},
|
||||
"join": {
|
||||
"enter_room": "Entrar a la sala",
|
||||
"enter_room_user": "Iniciar conversación",
|
||||
"title": "Bienvenido, te invitaron a unirte.",
|
||||
"title_user": "Bienvenido, te invitaron a conversar con",
|
||||
"user_name_label": "Nombre de usario",
|
||||
"remember_me": "Recuérdame",
|
||||
"joining_as": "Te unes como:",
|
||||
"join": "Unirse a la sala",
|
||||
"join_user": "Iniciar conversación",
|
||||
"status_logging_in": "Iniciando sesión...",
|
||||
"status_joining": "Unirse a la sala",
|
||||
"join_failed": "No se pudo unir a la sala.",
|
||||
"choose_name": "Elige un nombre para usar",
|
||||
"you_have_been_banned": "Te prohibieron entrar a esta sala"
|
||||
},
|
||||
"room_info": {
|
||||
"direct_link": "Mi enlace directo",
|
||||
"title": "Detalles de la sala",
|
||||
"created_by": "Creada por {user}",
|
||||
"permissions": "Permisos para unirse",
|
||||
"join_invite": "Solo personas añadidas",
|
||||
"join_public": "Cualquier persona con el enlace",
|
||||
"copy_invite_link": "Copiar enlace de invitación",
|
||||
"copy_link": "Copiar enlace",
|
||||
"link_copied": "¡Enlace copiado!",
|
||||
"purge": "Eliminar sala",
|
||||
"members": "Miembros",
|
||||
"user": "{user}",
|
||||
"user_you": "{user} (tu)",
|
||||
"hide_all": "Ocultar",
|
||||
"show_all": "Mostrar todo >",
|
||||
"leave_room": "Dejar",
|
||||
"version_info": "Desarrollado por Guardian Project. Versión: {version}",
|
||||
"scan_code": "Escanea para unirte a la sala",
|
||||
"export_room": "Exportar conversación",
|
||||
"user_admin": "Administrador",
|
||||
"user_moderator": "Moderador",
|
||||
"moderation": "Moderación",
|
||||
"experimental_features": "Funciones experimentales",
|
||||
"room_type": "Tipo de sala",
|
||||
"room_type_default": "Predeterminada",
|
||||
"voice_mode": "Modo voz",
|
||||
"voice_mode_info": "Cambia la interfaz de chat al modo \"escuchar y grabar\"",
|
||||
"file_mode": "Modo archivo",
|
||||
"file_mode_info": "Cambia la interfaz de chat a un modo de 'envío de archivos'",
|
||||
"download_chat": "Descargar conversación",
|
||||
"read_only_room": "Sólo lectura",
|
||||
"read_only_room_info": "Solo los administradores y moderadores pueden enviar a la sala.",
|
||||
"message_retention": "Historial de mensajes",
|
||||
"message_retention_info": "Los mensajes enviados dentro de este período de tiempo son visibles para cualquier persona que tenga el enlace.",
|
||||
"message_retention_none": "Desactivado",
|
||||
"message_retention_4_week": "4 semanas",
|
||||
"message_retention_2_week": "2 semanas",
|
||||
"message_retention_1_week": "1 mes",
|
||||
"message_retention_1_day": "1 día",
|
||||
"message_retention_8_hours": "8 horas",
|
||||
"message_retention_1_hour": "1 hora",
|
||||
"make_public": "Hacer público",
|
||||
"make_public_warning": "Advertencia: el historial completo de mensajes será visible para los nuevos participantes.",
|
||||
"direct_link_desc": "¡Está listo para compartir! Se abrirá una nueva sala directa cada vez que alguien abra el enlace.",
|
||||
"shared_room_number": "Compartes {count} salas con {name}",
|
||||
"shared_room_number_more": "Comparte más de{count}salas con {name}"
|
||||
},
|
||||
"export": {
|
||||
"exported_date": "Exportado en {date}",
|
||||
"fetched_n_events": "Eventos{count} recuperados",
|
||||
"fetched_n_of_total_events": "Se recuperaron {count} de {total} eventos",
|
||||
"processed_n_of_total_events": "Medios procesados para {count} de {total} eventos",
|
||||
"export_filename": "Conversación exportada {date}"
|
||||
},
|
||||
"notification": {
|
||||
"title": "Nuevo mensaje recibido",
|
||||
"dialog": {
|
||||
"title": "¡Permanece conectado con las notificaciones de chat!",
|
||||
"enable": "Habilitar",
|
||||
"body": "¡Nunca más te pierdas un mensaje o una conversación importante! Recibe una notificación cada vez que alguien te envíe un mensaje o responda a tu conversación."
|
||||
},
|
||||
"blocked_message": "La notificación está bloqueada. Ve a la configuración de tu dispositivo o navegador para habilitar la Notificación",
|
||||
"not_supported": "La notificación aún no es compatible con dispositivos móviles",
|
||||
"periodicSync_new_msg_reminder": "Es posible que tengas nuevos mensajes"
|
||||
},
|
||||
"emoji": {
|
||||
"search": "Buscar...",
|
||||
"categories": {
|
||||
"activity": "Actividad",
|
||||
"flags": "Banderas",
|
||||
"foods": "Alimentos",
|
||||
"frequently": "De uso frecuente",
|
||||
"objects": "Objetivos",
|
||||
"nature": "Naturaleza",
|
||||
"peoples": "Personas",
|
||||
"symbols": "Símbolos",
|
||||
"places": "Lugares"
|
||||
}
|
||||
},
|
||||
"language_display_name": "Inglés",
|
||||
"project": {
|
||||
"name": "Convene",
|
||||
"tag_line": "Simplemente conéctate"
|
||||
},
|
||||
"global": {
|
||||
"save": "Guardar",
|
||||
"password_didnot_match": "La contraseña no coincide",
|
||||
"password_hint": "Mínimo 12 caracteres que contengan al menos una letra numérica, una mayúscula y una minúscula.",
|
||||
"show_less": "Mostrar menos",
|
||||
"show_more": "Mostrar más",
|
||||
"add_reaction": "Añadir reacción",
|
||||
"click_to_remove": "Click para eliminar",
|
||||
"time": {
|
||||
"recently": "Justo ahora",
|
||||
"minutes": "Hace 1 minuto | Hace {n} minutos",
|
||||
"hours": "Hace 1 hora | Hace {n} horas",
|
||||
"days": "Hace 1 día | Hace {n} días"
|
||||
},
|
||||
"close": "Cerrado",
|
||||
"notify": "Notificar",
|
||||
"different_browser_title": "Intenta con otro navegador",
|
||||
"different_browser_content": "Algunas funciones pueden fallar. Copia y abre el enlace en un navegador diferente."
|
||||
},
|
||||
"menu": {
|
||||
"start_private_chat": "Mensaje directo con este usuario",
|
||||
"direct_chat": "Chat directo",
|
||||
"reply": "Responder",
|
||||
"edit": "Editar",
|
||||
"delete": "Eliminar",
|
||||
"download": "Descargar",
|
||||
"ok": "De auerdo",
|
||||
"done": "Realizado",
|
||||
"cancel": "Cancelado",
|
||||
"send": "Enviado",
|
||||
"back": "ATRÁS",
|
||||
"login": "Iniciar Sesión",
|
||||
"logout": "Cerrar sesión",
|
||||
"new_room": "Nueva sala",
|
||||
"undo": "Deshacer",
|
||||
"delete_now": "Eliminar ahora",
|
||||
"join": "Unirse",
|
||||
"ignore": "Ignorar",
|
||||
"loading": "Cargando {appName}",
|
||||
"user_kick_and_ban": "Expulsar",
|
||||
"user_make_admin": "Hacer administrador",
|
||||
"user_make_moderator": "Hacer moderador",
|
||||
"user_revoke_moderator": "Revocar moderador"
|
||||
},
|
||||
"room_welcome": {
|
||||
"info": "¡Bienvenido! Aquí hay algunas cosas que debes saber sobre tu sala:",
|
||||
"encrypted": "Los mensajes están cifrados de extremo a extremo.",
|
||||
"room_history_is": "El historial de la sala es {type}.",
|
||||
"room_history_joined": "Las personas solo pueden ver los mensajes enviados después de unirse.",
|
||||
"join_public": "Cualquiera puede unirse abriendo este enlace: {link}.",
|
||||
"join_invite": "Solo los personas que invitas pueden unirse.",
|
||||
"info_permissions": "Puedes cambiar los \"permisos para unirse\" en cualquier momento en la configuración de la sala.",
|
||||
"got_it": "Entiendo",
|
||||
"no_past_messages": "¡Bienvenido! Por tu seguridad, los mensajes anteriores no están disponibles.",
|
||||
"direct_info": "Hola, {you}. Estás en una conversación privada con {user}.",
|
||||
"direct_private_chat": "Mensaje directo",
|
||||
"join_channel": "¡Listo! Invita a personas a unirse a ti: {link}",
|
||||
"info_retention": "🕓 Los mensajes enviados dentro de {time} son visibles para cualquier persona que tenga el enlace.",
|
||||
"info_retention_user": "🕓 Los mensajes anteriores a {time} se eliminarán del historial.",
|
||||
"info_auto_join": "Bienvenido a {room}. \nTe unes como {you}.",
|
||||
"change": "Cambiar"
|
||||
},
|
||||
"new_room": {
|
||||
"new_room": "Nueva sala",
|
||||
"create": "Crear",
|
||||
"next": "Siguiente",
|
||||
"name_room": "Nombre de la sala",
|
||||
"room_topic": "Si deseas, añade una descripción",
|
||||
"join_permissions": "Permisos para unirse",
|
||||
"set_join_permissions": "Establecer permisos para unirse",
|
||||
"join_permissions_info": "Estos permisos determinan cómo las personas pueden unirse a la sala y con qué facilidad se puede invitar a otros. Se pueden cambiar en cualquier momento.",
|
||||
"get_link": "Obtener enlace",
|
||||
"add_people": "Agregar personas",
|
||||
"link_copied": "¡Enlace copiado!",
|
||||
"public_info": "Cualquiera con un enlace",
|
||||
"public_description": "Obtén un enlace para compartir",
|
||||
"invite_info": "Solo se agregaron personas",
|
||||
"invite_description": "Elige de una lista o busca por ID de cuenta",
|
||||
"status_creating": "Creando sala",
|
||||
"status_avatar_total": "Cargando avatar:{count} de {total}",
|
||||
"status_avatar": "Cargando avatar: {count}",
|
||||
"room_name_limit_error_msg": "Máximo 50 caracteres permitidos",
|
||||
"colon_not_allowed": "No se permite el uso de dos puntos",
|
||||
"options": "Opciones"
|
||||
},
|
||||
"device_list": {
|
||||
"blocked": "Bloqueado",
|
||||
"verified": "Verificado",
|
||||
"not_verified": "No verificado"
|
||||
},
|
||||
"login": {
|
||||
"title": "Acceder",
|
||||
"username": "Nombre de usuario (ej: marta)",
|
||||
"password": "Introduce contraseña",
|
||||
"username_required": "Se necesita nombre de usuario",
|
||||
"password_required": "Se necesita la contraseña",
|
||||
"login": "Acceder",
|
||||
"create_room": "Registrarse y crear sala",
|
||||
"or": "O",
|
||||
"invalid_message": "Usuario o contraseña incorrectos",
|
||||
"no_supported_flow": "La aplicación no puede iniciar sesión en el servidor determinado.",
|
||||
"terms": "El servidor doméstico requiere que revises y aceptes las siguientes políticas:",
|
||||
"accept_terms": "Aceptar",
|
||||
"email": "Necesitas verificar tu dirección de correo electrónico",
|
||||
"send_verification": "Enviar correo electrónico de confirmación",
|
||||
"sent_verification": "Se ha enviado un correo electrónico a {email}. Utiliza tu cliente de correo electrónico habitual para verificar la dirección.",
|
||||
"resend_verification": "Reenviar correo electrónico de confirmación",
|
||||
"email_not_valid": "Correo electrónico inválido",
|
||||
"registration_token": "Por favor, introduce el token de registro.",
|
||||
"send_token": "Enviar token",
|
||||
"token_not_valid": "Token inválido"
|
||||
},
|
||||
"getlink": {
|
||||
"title": "Obtener enlace directo",
|
||||
"info": "Los enlaces directos brindan a las personas una línea segura de comunicación contigo. Para comenzar, elige un nombre de pantalla para mostrar cuando las personas ingresan a un chat contigo.",
|
||||
"username": "Introduce un nombre de pantalla (ej: waku)",
|
||||
"next": "Siguiente",
|
||||
"hello": "Hola {user},\nAquí está tu enlace directo",
|
||||
"ready_to_share": "¡Está listo para compartir! Se abrirá una nueva sala directa cada vez que alguien abra el enlace.",
|
||||
"scan_title": "Escanea este código para iniciar una conversación directa",
|
||||
"continue": "Continua",
|
||||
"different_link": "Obtén un enlace diferente",
|
||||
"share_qr": "Compartir código QR",
|
||||
"qr_image_copied": "Imagen copiada al portapapeles"
|
||||
},
|
||||
"createchannel": {
|
||||
"title": "Crear canal",
|
||||
"info": "Transmite noticias o conocimientos en cualquier formato: vídeo, podcast, texto, imágenes o archivos PDF.",
|
||||
"channel_name": "Ponle nombre a tu canal",
|
||||
"channel_topic": "Agrega descripción",
|
||||
"name_required": "Tu canal necesita nombre",
|
||||
"error_channel": "Falló la creación del canal"
|
||||
},
|
||||
"profile": {
|
||||
"title": "Mi perfil",
|
||||
"temporary_identity": "Esta identidad es temporal. Establece una contraseña para usarla nuevamente",
|
||||
"set_password": "Establecer contraseña",
|
||||
"change_name": "Cambiar nombre",
|
||||
"change_password": "Cambiar contraseña",
|
||||
"select_language": "Idioma",
|
||||
"set_language": "Establecer tu idioma",
|
||||
"language_description": "Convene está disponible en muchos idiomas.",
|
||||
"dont_see_yours": "¿No ves el tuyo?",
|
||||
"tell_us": "Cuéntanos",
|
||||
"password_old": "Contraseña antigua",
|
||||
"password_new": "Nueva contraseña",
|
||||
"password_repeat": "Repite la contraseña",
|
||||
"display_name": "Nombre para mostrar",
|
||||
"display_name_required": "Se necesita el nombre para mostrar",
|
||||
"notification_label": "Notificación"
|
||||
},
|
||||
"profile_info_popup": {
|
||||
"you_are": "Eres",
|
||||
"identity": "{displayName}",
|
||||
"identity_temporary": "{displayName}",
|
||||
"edit_profile": "Editar tu perfil",
|
||||
"logout": "Cerrar sesión",
|
||||
"want_more": "¿Quieres más?",
|
||||
"powered_by": "Esta sala funciona con {product}. ¡Obtén más información en {productLink} o continúe y crea otra sala!",
|
||||
"new_room": "Nueva sala"
|
||||
},
|
||||
"invite": {
|
||||
"title": "Añadir amigos",
|
||||
"done": "Realizado",
|
||||
"send_invites_to": "Enviar invitaciones a",
|
||||
"status_inviting": "Invitando amigos {index} de {count}",
|
||||
"status_error": "¡No se pudo invitar a uno o más amigos!"
|
||||
},
|
||||
"leave": {
|
||||
"title_public": "Adiós, {user}",
|
||||
"text_public": "Siempre podrás volver a unirte a esta sala si conoces el enlace.",
|
||||
"text_public_lastroom": "Si deseas volver a unirte a esta sala, puedes hacerlo con una nueva identidad. Para conservar a {user}, {action}.",
|
||||
"title_invite": "¿Estás seguro de que quieres irte?",
|
||||
"text_invite": "Esta sala está cerrada con llave. No puedes volver a unirte sin un permiso especial.",
|
||||
"create_account": "Crear una cuenta",
|
||||
"go_back": "Volver",
|
||||
"leave": "Dejar"
|
||||
},
|
||||
"logout": {
|
||||
"confirm_text": "¿Estás seguro de que quieres cerrar sesión?"
|
||||
},
|
||||
"purge_room": {
|
||||
"title": "¿Eliminar sala?",
|
||||
"info": "Todos los miembros y mensajes serán eliminados. Esta acción no se puede deshacer.",
|
||||
"button": "Eliminar",
|
||||
"n_seconds": "{seconds} segundos",
|
||||
"self_destruct": "Tu sala se autodestruirá en segundos.",
|
||||
"deleting": "Elimiando sala:",
|
||||
"notified": "Hemos notificado a los miembros.",
|
||||
"room_deletion_notice": "¡Es hora de decir adiós! Esta sala ha sido eliminada por {user}. Se autodestruirá en unos segundos."
|
||||
},
|
||||
"goodbye": {
|
||||
"room_deleted": "Sala eliminada",
|
||||
"close_tab": "Cerrar pestaña del navegador",
|
||||
"view_other_rooms": "Ver otras salas"
|
||||
},
|
||||
"room_info_sheet": {
|
||||
"this_room": "Esta sala",
|
||||
"view_details": "Ver detalles"
|
||||
},
|
||||
"voice_recorder": {
|
||||
"swipe_to_cancel": "Deslizar para cancelar",
|
||||
"release_to_cancel": "Suelta para cancelar",
|
||||
"failed_to_record": "No se pudo grabar audio",
|
||||
"not_supported_title": "No compatible",
|
||||
"not_supported_text": "Lamentablemente, este navegador no admite la grabación de audio."
|
||||
},
|
||||
"power_level": {
|
||||
"admin": "administrador",
|
||||
"moderator": "moderador",
|
||||
"default": "predeterminado",
|
||||
"custom": "personalizado ({level})",
|
||||
"restricted": "restringido"
|
||||
},
|
||||
"fallbacks": {
|
||||
"audio_file": "Archivo de audio",
|
||||
"video_file": "Archivo de video",
|
||||
"original_text": "<original text>",
|
||||
"download_name": "Descargar"
|
||||
},
|
||||
"poll_create": {
|
||||
"title": "Crear nueva encuesta",
|
||||
"create": "Publicar",
|
||||
"creating": "Creando encuesta",
|
||||
"poll_disclosed": "Abierto: los resultados actuales se muestran en todo momento.",
|
||||
"poll_undisclosed": "Cerrada: los usuarios verán los resultados cuando se cierre la encuesta.",
|
||||
"add_answer": "Añadir respuesta",
|
||||
"failed": "No se pudo crear la encuesta, inténtalo de nuevo más tarde.",
|
||||
"question_label": "Haz tu pregunta*",
|
||||
"question_required": "¡Necesitas ingresar una pregunta!",
|
||||
"answer_label_1": "Respuesta*",
|
||||
"tip_title": "CONSEJO PROFESIONAL",
|
||||
"answer_label_n": "Respuesta",
|
||||
"please_complete": "Por favor, completa",
|
||||
"answer_required": "La respuesta no puede estar vacía. Por favor, ingresa algún texto o elimina esta opción.",
|
||||
"tip_text": "Los miembros verán los resultados de la encuesta después de responder. Cierra la encuesta cuando hayas terminado para mostrar los resultados a todos los presentes en la sala.",
|
||||
"create_poll_menu_option": "Crear encuesta",
|
||||
"poll_status_closed": "La encuesta está cerrada",
|
||||
"poll_status_disclosed": "Los resultados se mostrarán cuando se cierre la encuesta.",
|
||||
"poll_status_open": "La encuesta está abierta",
|
||||
"poll_status_open_not_voted": "La encuesta está abierta: vota para ver los resultados.",
|
||||
"view_results": "Ver resultados",
|
||||
"close_poll": "Cerrar encuesta",
|
||||
"poll_submit": "Enviar",
|
||||
"num_answered": "{count} respuestas",
|
||||
"results_shared": "Resultados compartidos a la sala."
|
||||
},
|
||||
"file_mode": {
|
||||
"files_sent_with_note": "¡1 archivo enviado con una nota! | ¡{count} archivos enviados con una nota!",
|
||||
"send_more_files": "Enviar más archivos",
|
||||
"close": "Cerrar",
|
||||
"files": "Archivos",
|
||||
"choose_files": "Elegir archivos",
|
||||
"secure_file_send": "envío seguro de archivos",
|
||||
"add_a_message": "Agregar un mensaje",
|
||||
"sending_progress": "Enviando...",
|
||||
"sending": "Enviando",
|
||||
"files_sent": "¡1 archivo enviado! | ¡{count} archivos enviados!",
|
||||
"any_file_format_accepted": "Se acepta cualquier formato de archivo"
|
||||
}
|
||||
}
|
||||
444
src/assets/translations/fa.json
Normal file
444
src/assets/translations/fa.json
Normal file
|
|
@ -0,0 +1,444 @@
|
|||
{
|
||||
"menu": {
|
||||
"login": "ورود",
|
||||
"logout": "خروج",
|
||||
"new_room": "اتاق جدید",
|
||||
"start_private_chat": "به این کاربر پیام مستقیم ارسال کنید",
|
||||
"direct_chat": "چت مستقیم",
|
||||
"reply": "پاسخ بدهید",
|
||||
"edit": "ویرایش کنید",
|
||||
"delete": "حذف کنید",
|
||||
"ok": "بسیار خوب",
|
||||
"download": "دانلود",
|
||||
"done": "انجام شد",
|
||||
"cancel": "لغو کنید",
|
||||
"send": "ارسال کنید",
|
||||
"back": "بازگشت",
|
||||
"undo": "واگرد",
|
||||
"delete_now": "هماکنون حذف کنید",
|
||||
"join": "بپیوندید",
|
||||
"ignore": "نادیده بگیرید",
|
||||
"user_make_admin": "ادمین کنید",
|
||||
"loading": "در حال بارگذاری {appName}",
|
||||
"user_make_moderator": "ناظم کنید",
|
||||
"user_kick_and_ban": "اخراج کنید",
|
||||
"user_revoke_moderator": "ناظم را لغو کنید"
|
||||
},
|
||||
"message": {
|
||||
"outgoing_message_deleted_text": "شما این پیام را حذف کردید.",
|
||||
"incoming_message_deleted_text": "این پیام حذف شد.",
|
||||
"you": "شما",
|
||||
"user_created_room": "{user} اتاق را ایجاد کرد",
|
||||
"user_aliased_room": "{user} اتاق را مستعار {alias} ایجاد کرد",
|
||||
"user_changed_display_name": "{user} نام نمایشی خود را به {displayName} تغییر داد",
|
||||
"user_changed_avatar": "{user} آواتار خود را تغییر داد",
|
||||
"user_changed_room_avatar": "{user} آواتار اتاق را تغییر داد",
|
||||
"user_encrypted_room": "{user} اتاق را رمزگذاری کرد",
|
||||
"user_was_invited": "{user} به چت دعوت شد...",
|
||||
"user_was_kicked": "{user} از چت اخراج شد.",
|
||||
"user_was_kicked_by_you": "شما {user} را از چت اخراج کردید.",
|
||||
"user_was_kicked_you": "شما از چت اخراج شدید.",
|
||||
"user_was_banned": "{user} از چت اخراج و مسدود شد.",
|
||||
"user_was_banned_by_you": "شما {user} را از چت اخراج و مسدود کردید.",
|
||||
"user_was_banned_you": "شما از چت اخراج و مسدود شدید.",
|
||||
"user_joined": "{user} به چت پیوست",
|
||||
"user_left": "{user} از چت خارج شد",
|
||||
"someone": "کسی",
|
||||
"user_said": "{user} گفت:",
|
||||
"sent_media": "{count} قطعه مواد رسانهای ارسال شد.",
|
||||
"file_prefix": "فایل: ",
|
||||
"edited": "(ویرایش شده)",
|
||||
"download_progress": "{percentage}% دانلود شد",
|
||||
"preparing_to_upload": "در حال آمادهسازی برای بارگذاری...",
|
||||
"upload_file_too_large": "فایل برای بارگذاری خیلی بزرگ است!",
|
||||
"upload_exceeded_file_limit": "حجم فایل بیشتر از حد مجاز ({configFormattedUploadSize}) است. ",
|
||||
"upload_progress": "{count}بارگذاری شد",
|
||||
"upload_progress_with_total": "{count} از {total} بارگذاری شد",
|
||||
"user_changed_room_history": "{user} تاریخچه اتاق را {type} کرد",
|
||||
"room_history_world_readable": "قابل خواندن توسط همه",
|
||||
"room_history_shared": "قابل خواندن برای همه اعضای اتاق",
|
||||
"room_history_invited": "قابل خواندن برای اعضا از زمانی که دعوت شدند",
|
||||
"room_history_joined": "قابل خواندن برای اعضا از زمانی که پیوستند",
|
||||
"user_changed_join_rules": "{user} اتاق را {type} کرد",
|
||||
"room_joinrule_invite": "فقط با دعوت",
|
||||
"room_joinrule_public": "عمومی",
|
||||
"user_changed_room_name": "{user} نام اتاق را به {name} تغییر داد",
|
||||
"user_changed_room_topic": "{user} موضوع اتاق را به {topic} تغییر داد",
|
||||
"unread_messages": "پیامهای خوانده نشده",
|
||||
"replying_to": "در حال پاسخ دادن به {user}",
|
||||
"your_message": "پیام شما...",
|
||||
"scale_image": "تغییر اندازه تصویر",
|
||||
"user_is_typing": "{user} در حال تایپ کردن است",
|
||||
"users_are_typing": "{count}عضو در حال تایپ کردن است",
|
||||
"room_powerlevel_change": "{user} سطح دسترسی {changes} را تغییر داد",
|
||||
"user_powerlevel_change_from_to": "{user} از {powerOld} به {powerNew} تغییر داد",
|
||||
"user_changed_guest_access_closed": "{user} اجازه پیوستن به اتاق را به مهمانها نداد",
|
||||
"user_changed_guest_access_open": "{user} اجازه پیوستن به اتاق را به مهمانها داد",
|
||||
"reply_image": "تصویر",
|
||||
"reply_audio_message": "پیام صوتی",
|
||||
"reply_video": "ویدیو",
|
||||
"reply_poll": "نظرسنجی",
|
||||
"time_ago": "امروز | دیروز | {count} روز قبل",
|
||||
"not_allowed_to_send": "فقط ادمینها و ناظمین مجاز به ارسال به اتاق هستند",
|
||||
"reaction_count_more": "{reactionCount} بیشتر",
|
||||
"seen_by_count": "دیده شده توسط هیچکدام از اعضا | دیده شده توسط 1 عضو | دیده شده توسط {count} عضو",
|
||||
"seen_by": "دیده شده توسط",
|
||||
"file": "فايل",
|
||||
"files": "فايلها",
|
||||
"images": "تصاویر",
|
||||
"send_attachements_dialog_title": "آیا میخواهید پیوستهای زیر را ارسال کنید؟",
|
||||
"download_all": "دانلود همه",
|
||||
"failed_to_render": "تحویل رویداد با شکست مواجه شد"
|
||||
},
|
||||
"new_room": {
|
||||
"next": "بعدی",
|
||||
"new_room": "اتاق جدید",
|
||||
"create": "ایجاد کنید",
|
||||
"name_room": "نام اتاق",
|
||||
"room_topic": "در صورت تمایل، توضیحی اضافه کنید.",
|
||||
"join_permissions": "مجوزهای پیوستن",
|
||||
"set_join_permissions": "مجوزهای پیوستن را تنظیم کنید",
|
||||
"join_permissions_info": "این مجوزها تعیین میکنند که چگونه افراد میتوانند به اتاق بپیوندند و دیگران چقدر راحت میتوانند دعوت شوند. این تنظیمات در هر زمان قابل تغییر هستند.",
|
||||
"get_link": "دریافت لینک",
|
||||
"add_people": "افراد را اضافه کنید",
|
||||
"link_copied": "لینک کپی شد!",
|
||||
"public_info": "هر کسی که لینک را داشته باشد",
|
||||
"public_description": "لینکی برای به اشتراک گذاشتن دریافت کنید",
|
||||
"invite_info": "فقط افرادی که اضافه شدهاند",
|
||||
"invite_description": "از یک لیست انتخاب کنید یا با شناسه حساب جستجو کنید",
|
||||
"status_creating": "ایجاد اتاق",
|
||||
"status_avatar_total": "در حال بارگذاری آواتار: {count} از {total}",
|
||||
"status_avatar": "در حال بارگذاری آواتار: {count}",
|
||||
"room_name_limit_error_msg": "حداکثر 50 کاراکتر مجاز است",
|
||||
"colon_not_allowed": "دو نقطه مجاز نیست",
|
||||
"options": "گزینهها"
|
||||
},
|
||||
"login": {
|
||||
"title": "ورود",
|
||||
"password": "رمز عبور را وارد کنید",
|
||||
"username": "نام کاربری (مثال: marta)",
|
||||
"username_required": "نام کاربری الزامی است",
|
||||
"password_required": "رمز عبور الزامی است",
|
||||
"login": "ورود",
|
||||
"create_room": "ثبتنام و ایجاد اتاق",
|
||||
"or": "یا",
|
||||
"invalid_message": "نام کاربری یا رمز عبور نامعتبر است",
|
||||
"no_supported_flow": "این برنامه نمیتواند به سرور دادهشده وارد شود",
|
||||
"terms": "سرور اصلی از شما میخواهد که سیاستهای زیر را بررسی کرده و قبول کنید:",
|
||||
"accept_terms": "قبول کنید",
|
||||
"email": "شما باید آدرس ایمیل خود را تأیید کنید",
|
||||
"send_verification": "ایمیل تأیید را ارسال کنید",
|
||||
"sent_verification": "یک ایمیل به آدرس {email} ارسال شده است. لطفاً برای تأیید آدرس، از برنامه ایمیل معمولی خود استفاده کنید.",
|
||||
"resend_verification": "ایمیل تأیید را دوباره ارسال کنید",
|
||||
"email_not_valid": "آدرس ایمیل معتبر نیست",
|
||||
"registration_token": "لطفاً توکن ثبتنام را وارد کنید",
|
||||
"send_token": "توکن را ارسال کنید",
|
||||
"token_not_valid": "توکن نامعتبر است"
|
||||
},
|
||||
"invite": {
|
||||
"title": "دوستان را اضافه کنید",
|
||||
"done": "انجام شد",
|
||||
"send_invites_to": "دعوتنامه را ارسال کنید به",
|
||||
"status_inviting": "دعوت از دوست {index} از {count}",
|
||||
"status_error": "دعوت از یک یا چند دوست ناموفق بود!"
|
||||
},
|
||||
"file_mode": {
|
||||
"send_more_files": "ارسال فایلهای بیشتر",
|
||||
"close": "ببندید",
|
||||
"files": "فايلها",
|
||||
"files_sent_with_note": "1 فایل با یادداشتی ارسال شد! | {count} فایل با یادداشتی ارسال شد!",
|
||||
"choose_files": "فایلها را انتخاب کنید",
|
||||
"any_file_format_accepted": "هر فرمت فایل پذیرفته میشود",
|
||||
"secure_file_send": "ارسال فایل ایمن",
|
||||
"add_a_message": "یک پیام اضافه کنید",
|
||||
"sending_progress": "در حال ارسال...",
|
||||
"sending": "در حال ارسال",
|
||||
"files_sent": "1 فایل ارسال شد! | {count} فایل ارسال شد!"
|
||||
},
|
||||
"language_display_name": "انگلیسی",
|
||||
"project": {
|
||||
"name": "تجمع",
|
||||
"tag_line": "به سادگی متصل شوید"
|
||||
},
|
||||
"global": {
|
||||
"save": "ذخیره کنید",
|
||||
"password_didnot_match": "رمز عبور مطابقت ندارد",
|
||||
"show_more": "نمایش بیشتر",
|
||||
"password_hint": "حداقل 12 کاراکتر که شامل حداقل یک عدد، یک حرف بزرگ و یک حرف کوچک باشد",
|
||||
"show_less": "نمایش کمتر",
|
||||
"add_reaction": "افزودن واکنش",
|
||||
"click_to_remove": "برای حذف کلیک کنید",
|
||||
"time": {
|
||||
"recently": "همین الان",
|
||||
"minutes": "1 دقیقه قبل | {n} دقیقه قبل",
|
||||
"hours": "1 ساعت قبل | {n} ساعت قبل",
|
||||
"days": "1 روز قبل | {n} روز قبل"
|
||||
},
|
||||
"close": "ببندید",
|
||||
"notify": "اطلاع بدهید",
|
||||
"different_browser_title": "مرورگر متفاوتی را امتحان کنید",
|
||||
"different_browser_content": "برخی ویژگیها ممکن است از کار بیفتند. لینک را کپی کرده و در مرورگر دیگری باز کنید."
|
||||
},
|
||||
"room": {
|
||||
"unseen_messages": "شما هیچ پیام نادیدهای ندارید | شما 1 پیام نادیده دارید | شما {count} پیام نادیده دارید",
|
||||
"invitations": "شما هیچ دعوتنامهای ندارید | شما 1 دعوتنامه دارید | شما {count} دعوتنامه دارید",
|
||||
"members": "هیچ عضوی وجود ندارد | 1 عضو وجود دارد | {count} عضو وجود دارند",
|
||||
"leave": "ترک کنید",
|
||||
"purge_set_room_state": "تنظیم وضعیت اتاق",
|
||||
"purge_redacting_events": "ویرایش ({count} از {total}) رویداد",
|
||||
"purge_removing_members": "حذف ({count}از {total}) اعضا",
|
||||
"purge_failed": "پاکسازی اتاق با شکست مواجه شد!",
|
||||
"room_list_invites": "دعوتنامهها",
|
||||
"room_list_new_messages": "{count}پیام جدید",
|
||||
"room_list_rooms": "اتاقها",
|
||||
"room_name_required": "نام اتاق الزامی است",
|
||||
"room_topic_required": "توضیحات اتاق الزامی است"
|
||||
},
|
||||
"room_welcome": {
|
||||
"info": "خوش آمدید! در اینجا به چند نکته اشاره شده که باید در مورد اتاق خود بدانید:",
|
||||
"encrypted": "پیامها به صورت انتها به انتها رمزنگاری شدهاند.",
|
||||
"room_history_is": "تاریخچه اتاق {type} است.",
|
||||
"room_history_joined": "افراد تنها میتوانند پیامهایی را که پس از پیوستن به اتاق ارسال شدهاند مشاهده کنند.",
|
||||
"join_public": "هر کسی میتواند با باز کردن این لینک به اتاق بپیوندد: {link}.",
|
||||
"join_invite": "فقط افرادی که دعوت میکنید میتوانند بپیوندند.",
|
||||
"info_retention": "🕓 پیامهای ارسالشده در {time} برای هر کسی که لینک را داشته باشد قابل مشاهده است.",
|
||||
"info_permissions": "شما میتوانید «مجوزهای پیوستن» را در هر زمانی در تنظیمات اتاق تغییر دهید.",
|
||||
"got_it": "متوجه شدم",
|
||||
"no_past_messages": "خوش آمدید! بهمنظور حفظ امنیت شما، پیامهای گذشته در دسترس نیستند.",
|
||||
"direct_info": "سلام، {you}. شما در یک چت خصوصی با {user} هستید.",
|
||||
"direct_private_chat": "پیام مستقیم",
|
||||
"join_channel": "همه چیز آماده است! افراد را دعوت کنید تا به شما بپیوندند: {link}",
|
||||
"info_retention_user": "🕓 پیامهای قدیمیتر از {time} از تاریخچه حذف خواهند شد.",
|
||||
"info_auto_join": "خوش آمدید به {room}.\nشما به عنوان {you} وارد میشوید.",
|
||||
"change": "تغییر دهید"
|
||||
},
|
||||
"device_list": {
|
||||
"blocked": "مسدود شده",
|
||||
"verified": "تأیید شده",
|
||||
"not_verified": "تأیید نشده"
|
||||
},
|
||||
"getlink": {
|
||||
"title": "دریافت لینک مستقیم",
|
||||
"info": "لینکهای مستقیم به افراد این امکان را میدهند که بهطور ایمن با شما ارتباط برقرار کنند. برای شروع، یک نام انتخاب کنید که وقتی افراد وارد چت با شما میشوند، نمایش داده شود.",
|
||||
"username": "یک نام نمایشی وارد کنید (مثال: waku)",
|
||||
"next": "بعدی",
|
||||
"hello": "سلام {user}،\nاین لینک مستقیم شماست",
|
||||
"ready_to_share": "برای اشتراکگذاری آماده است! هر بار که کسی لینک را باز کند، یک اتاق مستقیم جدید باز خواهد شد.",
|
||||
"scan_title": "برای شروع یک چت مستقیم، این کد را اسکن کنید",
|
||||
"continue": "ادامه دهید",
|
||||
"different_link": "یک لینک متفاوت دریافت کنید",
|
||||
"share_qr": "اشتراکگذاری QR",
|
||||
"qr_image_copied": "تصویر در کلیپبورد کپی شد"
|
||||
},
|
||||
"createchannel": {
|
||||
"title": "یک کانال ایجاد کنید",
|
||||
"info": "اخبار یا اطلاعات را در هر قالبی—ویدیو، پادکست، متن، تصاویر یا پیدیاف—پخش کنید.",
|
||||
"channel_name": "نام کانال خود را وارد کنید",
|
||||
"channel_topic": "آن را شرح دهید",
|
||||
"name_required": "نام کانال الزامی است",
|
||||
"error_channel": "ایجاد کانال ناموفق بود"
|
||||
},
|
||||
"profile": {
|
||||
"title": "پروفایل من",
|
||||
"temporary_identity": "این شناسه موقت است. برای استفاده مجدد از آن، یک رمز عبور تعیین کنید",
|
||||
"set_password": "رمز عبور تعیین کنید",
|
||||
"change_name": "نام را تغییر دهید",
|
||||
"change_password": "رمز عبور را تغییر دهید",
|
||||
"notification_label": "اطلاعیه",
|
||||
"select_language": "زبان",
|
||||
"set_language": "زبان خود را تعیین کنید",
|
||||
"language_description": "تجمع به بسیاری از زبانها در دسترس است.",
|
||||
"dont_see_yours": "زبان خودتان را مشاهده نمیکنید؟",
|
||||
"tell_us": "به ما اطلاع دهید.",
|
||||
"password_old": "رمز عبور قدیمی",
|
||||
"password_new": "رمز عبور جدید",
|
||||
"password_repeat": "رمز عبور جدید را تکرار کنید",
|
||||
"display_name": "نام نمایشی",
|
||||
"display_name_required": "نام نمایشی الزامی است"
|
||||
},
|
||||
"profile_info_popup": {
|
||||
"you_are": "شما هستید",
|
||||
"identity": "{displayName}",
|
||||
"identity_temporary": "{displayName}",
|
||||
"edit_profile": "پروفایل را ویرایش کنید",
|
||||
"logout": "خروج",
|
||||
"want_more": "بیشتر میخواهید؟",
|
||||
"powered_by": "این اتاق توسط {product} پشتیبانی میشود. برای کسب اطلاعات بیشتر به {productLink} مراجعه کنید یا یک اتاق دیگر ایجاد نمایید!",
|
||||
"new_room": "اتاق جدید"
|
||||
},
|
||||
"join": {
|
||||
"title": "خوش آمدید، شما دعوت شدهاید برای پیوستن به",
|
||||
"title_user": "خوش آمدید، شما دعوت شدهاید به چت با",
|
||||
"user_name_label": "نام کاربری",
|
||||
"remember_me": "مرا به خاطر بسپار",
|
||||
"joining_as": "شما میپیوندید به عنوان:",
|
||||
"join": "به اتاق بپیوندید",
|
||||
"join_user": "چت را شروع کنید",
|
||||
"enter_room": "وارد اتاق شوید",
|
||||
"enter_room_user": "چت را شروع کنید",
|
||||
"status_logging_in": "در حال ورود...",
|
||||
"status_joining": "در حال پیوستن به اتاق...",
|
||||
"join_failed": "پیوستن به اتاق ناموفق بود.",
|
||||
"choose_name": "یک نام برای استفاده انتخاب کنید",
|
||||
"you_have_been_banned": "شما برای حضور در این اتاق مسدود شدهاید."
|
||||
},
|
||||
"leave": {
|
||||
"title_public": "خدانگهدار، {user}",
|
||||
"text_public": "اگر لینک این اتاق را بدانید، همیشه میتوانید به آن بپیوندید.",
|
||||
"text_public_lastroom": "اگر میخواهید دوباره به این اتاق بپیوندید، میتوانید با هویت جدید وارد شوید. برای حفظ {user}، {action}.",
|
||||
"title_invite": "آیا مطمئن هستید که میخواهید خارج شوید؟",
|
||||
"text_invite": "این اتاق قفل شده است. بدون مجوز ویژه نمیتوانید دوباره به آن بپیوندید.",
|
||||
"create_account": "یک حساب کاربری ایجاد کنید",
|
||||
"go_back": "برگشت به عقب",
|
||||
"leave": "ترک کنید"
|
||||
},
|
||||
"logout": {
|
||||
"confirm_text": "آیا مطمئن هستید که می خواهید از سیستم خارج شوید؟"
|
||||
},
|
||||
"purge_room": {
|
||||
"title": "اتاق حذف شود؟",
|
||||
"info": "همه اعضا و پیام ها حذف خواهند شد. این عمل قابل لغو نیست.",
|
||||
"button": "حذف کنید",
|
||||
"n_seconds": "{seconds} ثانیه",
|
||||
"self_destruct": "اتاق شما در چند ثانیه به طور خودکار حذف خواهد شد.",
|
||||
"deleting": "حذف اتاق:",
|
||||
"notified": "ما به اعضا اطلاع دادهایم.",
|
||||
"room_deletion_notice": "زمان خداحافظی است! این اتاق توسط {user} حذف شده و در چند ثانیه به طور خودکار از بین خواهد رفت."
|
||||
},
|
||||
"goodbye": {
|
||||
"room_deleted": "اتاق حذف شد.",
|
||||
"close_tab": "زبانه مرورگر را ببندید",
|
||||
"view_other_rooms": "مشاهده اتاقهای دیگر"
|
||||
},
|
||||
"room_info": {
|
||||
"title": "جزئیات اتاق",
|
||||
"created_by": "ایجاد شده توسط {user}",
|
||||
"permissions": "مجوزهای پیوستن",
|
||||
"join_invite": "فقط افرادی که اضافه شدهاند",
|
||||
"join_public": "هر کسی که لینک را داشته باشد",
|
||||
"copy_invite_link": "لینک دعوت را کپی کنید",
|
||||
"copy_link": "لینک را کپی کنید",
|
||||
"link_copied": "لینک کپی شد!",
|
||||
"purge": "اتاق را حذف کنید",
|
||||
"user": "{user}",
|
||||
"user_you": "{user} (شما)",
|
||||
"members": "اعضا",
|
||||
"hide_all": "پنهان کردن",
|
||||
"show_all": "نمایش همه >",
|
||||
"leave_room": "ترک کنید",
|
||||
"version_info": "پشتیبانی شده توسط پروژه Guardian. نسخه: {version}",
|
||||
"scan_code": "برای پیوستن به اتاق اسکن کنید",
|
||||
"export_room": "از چت، خروجی بگیرید",
|
||||
"user_admin": "ادمین",
|
||||
"user_moderator": "ناظم",
|
||||
"moderation": "مدیریت",
|
||||
"experimental_features": "ویژگیهای آزمایشی",
|
||||
"room_type": "نوع اتاق",
|
||||
"room_type_default": "پیشفرض",
|
||||
"voice_mode": "حالت صدا",
|
||||
"voice_mode_info": "رابطِ چت را به حالت «گوش دادن و ضبط» تغییر میدهد.",
|
||||
"file_mode": "حالت فایل",
|
||||
"file_mode_info": "رابطِ چت را به حالت «کشیدن و رها کردن فایل» تغییر میدهد.",
|
||||
"download_chat": "دانلود چت",
|
||||
"read_only_room": "فقط خواندن",
|
||||
"read_only_room_info": "فقط ادمینها و ناظمین مجاز به ارسال پیام به اتاق هستند.",
|
||||
"message_retention": "تاریخچه پیام",
|
||||
"message_retention_info": "پیامهای ارسال شده در این بازه زمانی برای هر کسی که لینک را داشته باشد قابل مشاهده است.",
|
||||
"message_retention_none": "خاموش",
|
||||
"message_retention_4_week": "4 هفته",
|
||||
"message_retention_2_week": "2 هفته",
|
||||
"message_retention_1_week": "1 هفته",
|
||||
"message_retention_1_day": "1 روز",
|
||||
"message_retention_8_hours": "8 ساعت",
|
||||
"message_retention_1_hour": "1 ساعت",
|
||||
"make_public": "عمومی کنید",
|
||||
"make_public_warning": "هشدار: تاریخچه کامل پیامها برای شرکتکنندگان جدید قابل مشاهده خواهد بود.",
|
||||
"direct_link": "لینک مستقیم من",
|
||||
"direct_link_desc": "برای اشتراکگذاری آماده است! هر بار که کسی لینک را باز کند، یک اتاق مستقیم جدید باز خواهد شد.",
|
||||
"shared_room_number": "شما {count} اتاق با نام {name} به اشتراک میگذارید",
|
||||
"shared_room_number_more": "شما بیش از {count} اتاق با نام {name} به اشتراک میگذارید"
|
||||
},
|
||||
"room_info_sheet": {
|
||||
"this_room": "این اتاق",
|
||||
"view_details": "مشاهده جزئیات"
|
||||
},
|
||||
"voice_recorder": {
|
||||
"swipe_to_cancel": "برای لغو، صفحه را بکشید.",
|
||||
"release_to_cancel": "برای لغو، انگشت یا اشارهگر خود را بردارید",
|
||||
"failed_to_record": "ضبط صدا انجام نشد",
|
||||
"not_supported_title": "پشتیبانی نمیشود",
|
||||
"not_supported_text": "متاسفانه، این مرورگر از ضبط صدا پشتیبانی نمیکند."
|
||||
},
|
||||
"power_level": {
|
||||
"admin": "ادمین",
|
||||
"moderator": "ناظم",
|
||||
"default": "پیشفرض",
|
||||
"custom": "({level}) سفارشی",
|
||||
"restricted": "محدود شده"
|
||||
},
|
||||
"fallbacks": {
|
||||
"audio_file": "فایل صوتی",
|
||||
"video_file": "فایل ویدیویی",
|
||||
"original_text": "<original text>",
|
||||
"download_name": "دانلود"
|
||||
},
|
||||
"poll_create": {
|
||||
"title": "نظرسنجی جدید ایجاد کنید",
|
||||
"create": "منتشر کنید",
|
||||
"creating": "نظرسنجی ایجاد کنید",
|
||||
"poll_disclosed": "باز - نتایج جاری در تمام اوقات نمایش داده میشوند.",
|
||||
"poll_undisclosed": "بسته - کاربران نتایج را زمانی که نظرسنجی بسته شود مشاهده خواهند کرد.",
|
||||
"add_answer": "پاسخ اضافه کنید",
|
||||
"failed": "ایجاد نظرسنجی ناموفق بود، لطفاً بعداً دوباره تلاش کنید.",
|
||||
"question_label": "سوال خود را بپرسید*",
|
||||
"question_required": "شما باید یک سوال وارد کنید!",
|
||||
"answer_label_1": "پاسخ*",
|
||||
"answer_label_n": "پاسخ",
|
||||
"please_complete": "لطفاً تکمیل کنید",
|
||||
"answer_required": "پاسخ نمیتواند خالی باشد. لطفاً متنی وارد کنید یا این گزینه را حذف نمایید.",
|
||||
"tip_title": "نکته حرفهای",
|
||||
"tip_text": "اعضا پس از پاسخ دادن به نظرسنجی، نتایج آن را مشاهده خواهند کرد. پس از اتمام، نظرسنجی را ببندید تا نتایج برای همه در اتاق نمایش داده شود.",
|
||||
"create_poll_menu_option": "ایجاد نظرسنجی",
|
||||
"poll_status_closed": "نظرسنجی بسته است",
|
||||
"poll_status_disclosed": "نتایج پس از بسته شدن نظرسنجی نشان داده میشود.",
|
||||
"poll_status_open": "نظرسنجی باز است",
|
||||
"poll_status_open_not_voted": "نظرسنجی باز است - برای دیدن نتایج رأی دهید",
|
||||
"view_results": "مشاهده نتایج",
|
||||
"close_poll": "نظرسنجی را ببندید",
|
||||
"poll_submit": "ارسال",
|
||||
"num_answered": "{count} پاسخ",
|
||||
"results_shared": "نتایج با اتاق به اشتراک گذاشته شد."
|
||||
},
|
||||
"emoji": {
|
||||
"search": "جستجو...",
|
||||
"categories": {
|
||||
"activity": "فعالیت",
|
||||
"flags": "پرچم",
|
||||
"foods": "غذا",
|
||||
"frequently": "مورد استفاده مکرر",
|
||||
"objects": "اشیاء",
|
||||
"nature": "طبیعت",
|
||||
"peoples": "افراد",
|
||||
"symbols": "نمادها",
|
||||
"places": "مکان ها"
|
||||
}
|
||||
},
|
||||
"export": {
|
||||
"exported_date": "خروجی گرفته شد در {date}",
|
||||
"fetched_n_events": "{count} رویداد بازیابی شد",
|
||||
"fetched_n_of_total_events": "{count} از {total} رویداد بازیابی شد",
|
||||
"processed_n_of_total_events": "مواد رسانهای برای {count} از {total} رویداد پردازش شدند",
|
||||
"export_filename": "از چت خروجی گرفته شد در {date}"
|
||||
},
|
||||
"notification": {
|
||||
"title": "پیام جدید دریافت شد",
|
||||
"dialog": {
|
||||
"title": "با اطلاعیه های چت، در ارتباط بمانید!",
|
||||
"body": "دیگر هیچ پیام یا مکالمه مهمی را از دست ندهید! هر بار که کسی به شما پیام ارسال کند یا به چت شما پاسخ دهد، اطلاعیه دریافت خواهید کرد.",
|
||||
"enable": "فعال کنید"
|
||||
},
|
||||
"blocked_message": "اعلان مسدود شده است. به تنظیمات دستگاه یا مرورگر خود بروید تا اطلاعیه ها را فعال کنید.",
|
||||
"not_supported": "اطلاعیه ها هنوز در موبایل پشتیبانی نمیشوند.",
|
||||
"periodicSync_new_msg_reminder": "ممکن است پیامهای جدیدی داشته باشید"
|
||||
}
|
||||
}
|
||||
444
src/assets/translations/fa_AF.json
Normal file
444
src/assets/translations/fa_AF.json
Normal file
|
|
@ -0,0 +1,444 @@
|
|||
{
|
||||
"message": {
|
||||
"someone": "کسی",
|
||||
"room_history_invited": "قابل خواندن برای اعضا از زمانی که دعوت شدند",
|
||||
"user_changed_join_rules": "{user} اطاق را {type} کرد",
|
||||
"not_allowed_to_send": "تنها ادمینها و مدیران مجاز به ارسال به اطاق هستند",
|
||||
"reaction_count_more": "{reactionCount} بیشتر",
|
||||
"seen_by": "دیده شده توسط",
|
||||
"you": "شما",
|
||||
"user_created_room": "{user} اطاق را ایجاد کرد",
|
||||
"user_aliased_room": "{user} اطاق مستعار {alias} را ایجاد کرد",
|
||||
"user_changed_display_name": "{user} نام نمایشی را به {displayName} تغییر داد",
|
||||
"user_changed_avatar": "{user} آواتار را تغییر داد",
|
||||
"user_changed_room_avatar": "{user} آواتار اطاق را تغییر داد",
|
||||
"user_encrypted_room": "{user} اطاق را کود داد",
|
||||
"user_was_invited": "{user} به چت دعوت شد...",
|
||||
"user_was_kicked": "{user} از چت اخراج شد.",
|
||||
"user_was_kicked_by_you": "شما {user} را از چت اخراج کردید.",
|
||||
"user_was_kicked_you": "شما از چت اخراج شدید.",
|
||||
"user_was_banned": "{user} از چت اخراج و ممنوع شد.",
|
||||
"user_was_banned_by_you": "شما {user} را از چت اخراج و ممنوع کردید.",
|
||||
"user_was_banned_you": "شما از چت اخراج و ممنوع شدید.",
|
||||
"user_joined": "{user} با چت یکجا شد",
|
||||
"user_left": "{user} چت را ترک کرد",
|
||||
"user_said": "{user} گفت:",
|
||||
"sent_media": "{count}مواد رسانه ای ارسال شد.",
|
||||
"file_prefix": "فایل: ",
|
||||
"edited": "(تصحیح شده)",
|
||||
"download_progress": "{percentage}% دانلود شده",
|
||||
"preparing_to_upload": "در حال آماده شدن برای اپلود...",
|
||||
"upload_file_too_large": "فایل برای اپلود بسیار بزرگ است!",
|
||||
"upload_exceeded_file_limit": "حجم فایل بیشتر از حد مجاز ({configFormattedUploadSize}) است. ",
|
||||
"upload_progress": "{count} اپلود شد",
|
||||
"upload_progress_with_total": "{count}از {total} اپلود شد",
|
||||
"user_changed_room_history": "{user} سابقه اطاق را {type} کرد",
|
||||
"room_history_world_readable": "قابل خواندن توسط همه",
|
||||
"room_history_shared": "قابل خواندن برای همه اعضای اطاق",
|
||||
"room_history_joined": "قابل خواندن برای اعضا از زمانی که یکجا شدند",
|
||||
"room_joinrule_invite": "تنها با دعوت",
|
||||
"room_joinrule_public": "عمومی",
|
||||
"user_changed_room_name": "{user} نام اطاق را به {name} تغییر داد",
|
||||
"user_changed_room_topic": "{user} موضوع اطاق را به {topic} تغییر داد",
|
||||
"unread_messages": "پیغامهای خوانده نشده",
|
||||
"replying_to": "در حال جواب دادن به {user}",
|
||||
"your_message": "ّپیغام شما...",
|
||||
"scale_image": "تعیین اندازه عکس",
|
||||
"user_is_typing": "{user} در حال تایپ کردن است",
|
||||
"users_are_typing": "{count}عضو در حال تایپ کردن است",
|
||||
"room_powerlevel_change": "{user} سطح توان {changes} را تغییر داد",
|
||||
"user_changed_guest_access_closed": "{user} اجازه یکجاشدن به اطاق را به مهمانها نداد",
|
||||
"user_powerlevel_change_from_to": "{user} از {powerOld} به {powerNew} تغییر داد",
|
||||
"user_changed_guest_access_open": "{user} اجازه یکجاشدن با اطاق را به مهمانها داد",
|
||||
"reply_image": "عکس",
|
||||
"reply_audio_message": "پیغام صوتی",
|
||||
"reply_video": "ویدیو",
|
||||
"reply_poll": "نظرسنجی",
|
||||
"time_ago": "امروز | دیروز | {count} روز پیش",
|
||||
"outgoing_message_deleted_text": "شما این پیغام را حذف کردید.",
|
||||
"incoming_message_deleted_text": "این پیغام حذف شد",
|
||||
"seen_by_count": "دیده شده توسط هیچکدام از اعضا | دیده شده توسط 1 عضو | دیده شده توسط {count} عضو",
|
||||
"file": "فايل",
|
||||
"files": "فايلها",
|
||||
"images": "عکس ها",
|
||||
"send_attachements_dialog_title": "آیا میخواهید ضمایم زیر را ارسال کنید؟",
|
||||
"download_all": "دانلود همه",
|
||||
"failed_to_render": "انجام رویداد با شکست مواجه شد"
|
||||
},
|
||||
"room": {
|
||||
"room_name_required": "نام اطاق لازمی است",
|
||||
"room_topic_required": "تشریحات اطاق لازمی است",
|
||||
"invitations": "شما هیچ دعوتنامۀ ندارید | شما 1 دعوتنامه دارید | شما {count} دعوتنامه دارید",
|
||||
"unseen_messages": "شما هیچ پیغام نادیدۀ ندارید | شما 1 پیغام نادیده دارید | شما {count} پیغام نادیده دارید",
|
||||
"members": "هیچ عضوی وجود ندارد | 1 عضو وجود دارد | {count} عضو وجود دارند",
|
||||
"leave": "ترک کنید",
|
||||
"purge_set_room_state": "تنظیم وضعیت اطاق",
|
||||
"purge_redacting_events": "تصحیح ({count} از {total}) رویداد",
|
||||
"purge_removing_members": "حذف ({count}از {total}) عضو",
|
||||
"purge_failed": "پاکسازی اطاق با شکست روبرو شد!",
|
||||
"room_list_invites": "دعوت نامه ها",
|
||||
"room_list_new_messages": "{count}پیغام جدید",
|
||||
"room_list_rooms": "اطاق ها"
|
||||
},
|
||||
"room_welcome": {
|
||||
"info": "خوش آمدید! در اینجا بعضی از نکاتی است که باید راجع به اطاق خود بدانید:",
|
||||
"room_history_is": "تاریخچه اطاق {type} است.",
|
||||
"info_retention_user": "🕓 پیغامهای قدیمیتر از {time} از تاریخچه حذف خواهند شد.",
|
||||
"encrypted": "پیغامها به صورت انتها به انتها کودگذاری شدهاند.",
|
||||
"room_history_joined": "مردم تنها میتوانند پیغامهایی را که پس از یکجاشدن با اطاق ارسال شدهاند ببینند.",
|
||||
"join_public": "هر کسی میتواند با باز کردن این لینک به اطاق یکجا شوند: {link}.",
|
||||
"join_invite": "تنها کسانی که دعوت میکنید میتوانند یکجا شوند.",
|
||||
"info_permissions": "شما میتوانید «مجوزهای یکجاشدن» را در هر زمانی در تنظیمات اطاق تغییر دهید.",
|
||||
"got_it": "متوجه شدم",
|
||||
"no_past_messages": "خوش آمدید! بخاطر حفظ امنیت شما، پیغامهای گذشته در دسترس نیستند.",
|
||||
"direct_info": "سلام، {you}. شما در یک چت خصوصی با {user} هستید.",
|
||||
"direct_private_chat": "پیغام مستقیم",
|
||||
"join_channel": "همه چیز آماده است! مردم را دعوت کنید تا با شما یکجا شوند: {link}",
|
||||
"info_retention": "🕓 پیغامهای ارسالشده در {time} برای هر کسی که لینک را داشته باشد قابل دیدن است.",
|
||||
"info_auto_join": "خوش آمدید به {room}.\nشما به عنوان {you} داخل میشوید.",
|
||||
"change": "تغییر دهید"
|
||||
},
|
||||
"new_room": {
|
||||
"next": "بعدی",
|
||||
"name_room": "نام اطاق",
|
||||
"room_topic": "اگر می خواهید، توضیحی اضافه کنید",
|
||||
"get_link": "دریافت لینک",
|
||||
"add_people": "مردم را اضافه کنید",
|
||||
"link_copied": "لینک کاپی شد!",
|
||||
"new_room": "اطاق جدید",
|
||||
"create": "ایجاد کنید",
|
||||
"join_permissions": "مجوزهای یکجاشدن",
|
||||
"set_join_permissions": "تنظیم مجوزهای یکجاشدن",
|
||||
"join_permissions_info": "این مجوزها تعیین میکنند که چگونه مردم میتوانند به اطاق یکجا شوند و دیگران چقدر به آسانی میتوانند دعوت شوند. این تنظیمات در هر زمان قابل تغییر هستند.",
|
||||
"public_info": "هر کسی که لینک داشته باشد",
|
||||
"public_description": "لینک را برای به اشتراک گذاشتن دریافت کنید",
|
||||
"invite_info": "تنها مردمانی که اضافه شده اند",
|
||||
"invite_description": "از یک لیست انتخاب کنید یا با ID جستجو کنید",
|
||||
"status_creating": "ایجاد اطاق",
|
||||
"status_avatar_total": "در حال اپلود آواتار: {count} از {total}",
|
||||
"status_avatar": "در حال اپلود آواتار: {count}",
|
||||
"room_name_limit_error_msg": "حداکثر 50 حرف و عدد مجاز است",
|
||||
"colon_not_allowed": "شارحه مجاز نیست",
|
||||
"options": "گزینهها"
|
||||
},
|
||||
"room_info": {
|
||||
"title": "جزئیات اطاق",
|
||||
"created_by": "ایجاد شده توسط {user}",
|
||||
"permissions": "مجوزهای یکجا شدن",
|
||||
"join_invite": "تنها کسانی که اضافه شدهاند",
|
||||
"join_public": "هر کسی که لینک داشته باشد",
|
||||
"copy_invite_link": "لینک دعوت را کاپی کنید",
|
||||
"copy_link": "لینک را کاپی کنید",
|
||||
"link_copied": "لینک کاپی شد!",
|
||||
"purge": "اطاق را حذف کنید",
|
||||
"members": "اعضا",
|
||||
"user": "{user}",
|
||||
"user_you": "{user} (شما)",
|
||||
"hide_all": "پنهان کردن",
|
||||
"show_all": "نمایش همه >",
|
||||
"leave_room": "ترک کنید",
|
||||
"version_info": "پشتیبانی شده توسط پروژه Guardian. نسخه: {version}",
|
||||
"scan_code": "برای یکجا شدن با اطاق اسکن کنید",
|
||||
"export_room": "از چت، خروجی بگیرید",
|
||||
"user_admin": "مدیر",
|
||||
"user_moderator": "مدیریت کننده",
|
||||
"moderation": "مدیریت",
|
||||
"experimental_features": "ویژگیهای آزمایشی",
|
||||
"room_type": "نوع اطاق",
|
||||
"room_type_default": "پیشفرض",
|
||||
"voice_mode": "حالت صدا",
|
||||
"voice_mode_info": "انترفیس چت را به حالت «گوش دادن و ثبت» تغییر میدهد",
|
||||
"file_mode": "حالت فایل",
|
||||
"file_mode_info": "انترفیس چت را به حالت «کشیدن و رها کردن فایل» تغییر میدهد",
|
||||
"download_chat": "دانلود چت",
|
||||
"read_only_room": "فقط خواندن",
|
||||
"read_only_room_info": "فقط ادمینها و مدیران مجاز به ارسال پیام به اطاق هستند.",
|
||||
"message_retention": "تاریخچه پیغام",
|
||||
"message_retention_info": "پیغامهای ارسال شده در این دوره زمانی برای هر کسی که لینک را داشته باشد قابل مشاهده است.",
|
||||
"message_retention_none": "خاموش",
|
||||
"message_retention_4_week": "4 هفته",
|
||||
"message_retention_2_week": "2 هفته",
|
||||
"message_retention_1_week": "1 هفته",
|
||||
"message_retention_1_day": "1 روز",
|
||||
"message_retention_8_hours": "8 ساعت",
|
||||
"message_retention_1_hour": "1 ساعت",
|
||||
"make_public": "عمومی کنید",
|
||||
"make_public_warning": "هشدار: تاریخچه کامل پیغامها برای شرکتکنندگان جدید قابل مشاهده خواهد بود",
|
||||
"direct_link": "لینک مستقیم من",
|
||||
"direct_link_desc": "برای اشتراکگذاری آماده است! هر بار که کسی لینک را باز کند، یک اطاق مستقیم جدید باز خواهد شد.",
|
||||
"shared_room_number": "شما {count} اطاق با نام {name} به اشتراک میگذارید",
|
||||
"shared_room_number_more": "شما بیش از {count} اطاق با نام {name} به اشتراک میگذارید"
|
||||
},
|
||||
"poll_create": {
|
||||
"create_poll_menu_option": "ایجاد نظرسنجی",
|
||||
"results_shared": "نتایج با اطاق به اشتراک گذاشته شد.",
|
||||
"title": "نظرسنجی جدید ایجاد کنید",
|
||||
"create": "منتشر کنید",
|
||||
"creating": "نظرسنجی ایجاد کنید",
|
||||
"poll_disclosed": "باز - نتایج جاری در تمام اوقات نمایش داده میشوند.",
|
||||
"poll_undisclosed": "بسته - کاربران نتایج را زمانی که نظرسنجی بسته شود مشاهده خواهند کرد.",
|
||||
"add_answer": "جواب اضافه کنید",
|
||||
"failed": "ایجاد نظرسنجی ناموفق بود، لطفاً بعداً دوباره تلاش کنید.",
|
||||
"question_label": "سوال خود را بپرسید*",
|
||||
"question_required": "شما باید یک سوال وارد کنید!",
|
||||
"answer_label_1": "جواب*",
|
||||
"answer_label_n": "جواب",
|
||||
"please_complete": "لطفاً تکمیل کنید",
|
||||
"answer_required": "جواب نمیتواند خالی باشد. لطفاً متنی وارد کنید یا این گزینه را حذف نمایید.",
|
||||
"tip_title": "نکته حرفهای",
|
||||
"tip_text": "اعضا پس از جواب دادن به نظرسنجی، نتایج آن را مشاهده خواهند کرد. پس از اتمام، نظرسنجی را ببندید تا نتایج برای همه در اطاق نمایش داده شود.",
|
||||
"poll_status_closed": "نظرسنجی بسته است",
|
||||
"poll_status_disclosed": "نتایج پس از بسته شدن نظرسنجی نشان داده میشود.",
|
||||
"poll_status_open": "نظرسنجی باز است",
|
||||
"poll_status_open_not_voted": "نظرسنجی باز است - برای دیدن نتایج رأی دهید",
|
||||
"view_results": "مشاهده نتایج",
|
||||
"close_poll": "نظرسنجی را ببندید",
|
||||
"poll_submit": "تسلیم کردن",
|
||||
"num_answered": "{count} جواب"
|
||||
},
|
||||
"export": {
|
||||
"exported_date": "خروجی گرفته شد در {date}",
|
||||
"fetched_n_events": "{count} رویداد بازیابی شد",
|
||||
"fetched_n_of_total_events": "{count} از {total} رویداد بازیابی شد",
|
||||
"processed_n_of_total_events": "فایلهای رسانهای برای {count} از {total} رویداد پروسیس شدند",
|
||||
"export_filename": "از چت خروجی گرفته شد در {date}"
|
||||
},
|
||||
"emoji": {
|
||||
"categories": {
|
||||
"activity": "فعالیت",
|
||||
"flags": "پرچم",
|
||||
"peoples": "مردم",
|
||||
"symbols": "سمبول ها",
|
||||
"places": "مکان ها",
|
||||
"foods": "غذا",
|
||||
"frequently": "به کرات استفاده شده",
|
||||
"objects": "اشیاء",
|
||||
"nature": "طبیعت"
|
||||
},
|
||||
"search": "جستجو..."
|
||||
},
|
||||
"language_display_name": "انگلیسی",
|
||||
"project": {
|
||||
"name": "تجمع",
|
||||
"tag_line": "بطور ساده وصل شوید"
|
||||
},
|
||||
"global": {
|
||||
"save": "ثبت کردن",
|
||||
"password_didnot_match": "پسورد مطابقت ندارد",
|
||||
"password_hint": "دست کم 12 حروف حاوی حداقل یک عدد، یک حرف کلان و یک حرف کوچک",
|
||||
"show_less": "نمایش کمتر",
|
||||
"show_more": "نمایش بیشتر",
|
||||
"add_reaction": "افزودن عکس العمل",
|
||||
"time": {
|
||||
"days": "1 روز پیش | {n} روز پیش",
|
||||
"recently": "همین حالا",
|
||||
"minutes": "1 دقیقه پیش | {n} دقیقه پیش",
|
||||
"hours": "1 ساعت پیش | {n} ساعت پیش"
|
||||
},
|
||||
"click_to_remove": "برای برداشتن کلیک کنید",
|
||||
"close": "بستن",
|
||||
"notify": "اطلاع دهی",
|
||||
"different_browser_title": "براوزر متفاوت را امتحان کنید",
|
||||
"different_browser_content": "بعضی از ویژه گی ها ممکن است کار نه کند. لینک را کاپی نموده و در یک براوزر متفاوت باز کنید."
|
||||
},
|
||||
"menu": {
|
||||
"start_private_chat": "به این کاربر پیغام مستقیم بفرستید",
|
||||
"direct_chat": "چت مستقیم",
|
||||
"reply": "جواب دهید",
|
||||
"edit": "تصحیح",
|
||||
"delete": "حذف",
|
||||
"download": "دانلود",
|
||||
"ok": "درست است",
|
||||
"done": "انجام شد",
|
||||
"cancel": "لغو",
|
||||
"send": "ارسال",
|
||||
"back": "عقب",
|
||||
"login": "داخل شدن",
|
||||
"logout": "خارج شدن",
|
||||
"new_room": "اطاق جدید",
|
||||
"undo": "لغو",
|
||||
"delete_now": "هم اکنون حذف کنید",
|
||||
"join": "وصل شوید",
|
||||
"ignore": "نادیده بگیرید",
|
||||
"loading": "در حال لود شدن {appName}",
|
||||
"user_kick_and_ban": "اخراج کنید",
|
||||
"user_make_admin": "ادمین کنید",
|
||||
"user_make_moderator": "مدیر کنید",
|
||||
"user_revoke_moderator": "مدیر را لغو کنید"
|
||||
},
|
||||
"device_list": {
|
||||
"blocked": "ممنوع شده",
|
||||
"verified": "تایید شده",
|
||||
"not_verified": "تایید نشده"
|
||||
},
|
||||
"login": {
|
||||
"title": "داخل شدن",
|
||||
"username": "نام کاربری (مثال: marta)",
|
||||
"password": "پسورد را بنویسید",
|
||||
"username_required": "نام کاربری لازمی است",
|
||||
"password_required": "پسورد لازمی است",
|
||||
"login": "داخل شدن",
|
||||
"create_room": "ثبتنام و ایجاد اطاق",
|
||||
"or": "یا",
|
||||
"invalid_message": "نام کاربری یا پسورد درست نیست",
|
||||
"no_supported_flow": "این اپلیکیشن نمیتواند به سرور دادهشده وارد شود",
|
||||
"terms": "سرور اصلی از شما میخواهد که پالیسی ها زیر را بررسی کرده و قبول کنید:",
|
||||
"accept_terms": "قبول کنید",
|
||||
"email": "شما باید آدرس ایمیل خود را تایید کنید",
|
||||
"send_verification": "ایمیل تایید را ارسال کنید",
|
||||
"send_token": "توکن را بفرست",
|
||||
"token_not_valid": "توکن درست نیست",
|
||||
"sent_verification": "یک ایمیل به آدرس {email} ارسال شده است. لطفاً برای تایید آدرس، از ایمیل معمولی خود استفاده کنید.",
|
||||
"resend_verification": "ایمیل تایید را دوباره ارسال کنید",
|
||||
"email_not_valid": "آدرس ایمیل درست نیست",
|
||||
"registration_token": "لطف نموده توکن ثبت نام را وارد کنید"
|
||||
},
|
||||
"getlink": {
|
||||
"title": "دریافت لینک مستقیم",
|
||||
"info": "لینکهای مستقیم به مردم این امکان را میدهند که بهطور مصوون با شما ارتباط برقرار کنند. برای شروع، یک نام انتخاب کنید که وقتی مردم با شما چت می کنند، نمایش داده شود.",
|
||||
"username": "یک نام نمایشی وارد کنید (مثال: waku)",
|
||||
"next": "بعدی",
|
||||
"hello": "سلام {user}،\nاین لینک مستقیم شماست",
|
||||
"ready_to_share": "برای اشتراکگذاری آماده است! هر بار که کسی لینک را باز کند، یک اطاق مستقیم جدید باز خواهد شد.",
|
||||
"scan_title": "برای شروع یک چت مستقیم، این کود را اسکن کنید",
|
||||
"continue": "ادامه",
|
||||
"different_link": "یک لینک متفاوت دریافت کنید",
|
||||
"share_qr": "اشتراکگذاری QR",
|
||||
"qr_image_copied": "عکس در کلیپبورد کاپی شد"
|
||||
},
|
||||
"createchannel": {
|
||||
"title": "یک کانال ایجاد کنید",
|
||||
"info": "اخبار یا دانش را در هر قالبی—ویدیو، پادکست، متن، تصاویر یا PDFs—پخش کنید.",
|
||||
"channel_name": "به کانال خود نام بدهید",
|
||||
"channel_topic": "آن را شرح دهید",
|
||||
"name_required": "نام کانال لازمی است",
|
||||
"error_channel": "ایجاد کانال با شکست روبرو شد"
|
||||
},
|
||||
"profile": {
|
||||
"title": "پروفایل من",
|
||||
"temporary_identity": "این هویت موقت است. برای استفاده مجدد از آن، یک پسورد تعیین کنید",
|
||||
"set_password": "پسورد را تعیین کنید",
|
||||
"change_name": "نام را تغییر دهید",
|
||||
"change_password": "پسورد را تغییر دهید",
|
||||
"select_language": "زبان",
|
||||
"set_language": "زبان خود را تعیین کنید",
|
||||
"language_description": "تجمع در بسیاری از زبانها در دسترس است.",
|
||||
"dont_see_yours": "زبان خودتان را نمی بینید؟",
|
||||
"tell_us": "به ما اطلاع دهید.",
|
||||
"password_old": "ّپسورد قدیمی",
|
||||
"password_new": "ّپسورد جدید",
|
||||
"password_repeat": "تکرار پسورد جدید",
|
||||
"display_name": "نام نمایشی",
|
||||
"display_name_required": "نام نمایش لازمی است",
|
||||
"notification_label": "اطلاعیه"
|
||||
},
|
||||
"profile_info_popup": {
|
||||
"you_are": "شما هستید",
|
||||
"identity": "{displayName}",
|
||||
"identity_temporary": "{displayName}",
|
||||
"edit_profile": "تصحیح پروفایل",
|
||||
"logout": "خارج شدن",
|
||||
"want_more": "بیشتر می خواهید؟",
|
||||
"powered_by": "این اطاق توسط {product} حمایت میشود. برای دریافت معلومات بیشتر به {productLink} مراجعه کنید یا یک اطاق دیگر را ایجاد نمایید!",
|
||||
"new_room": "اطاق جدید"
|
||||
},
|
||||
"join": {
|
||||
"title": "خوش آمدید شما دعوت شده اید تا یکجا شوید با",
|
||||
"title_user": "خوش آمدید شما دعوت شده اید تا چت کنید با",
|
||||
"user_name_label": "نام کاربری",
|
||||
"remember_me": "مرا به یاد بسپار",
|
||||
"joining_as": "شما یکجا می شوید به عنوان:",
|
||||
"join": "به اطاق یکجاشوید",
|
||||
"join_user": "چت را شروع کنید",
|
||||
"enter_room": "وارد اطاق شوید",
|
||||
"enter_room_user": "چت را شروع کنید",
|
||||
"status_logging_in": "در حال داخل شدن...",
|
||||
"status_joining": "در حال یکجا شدن با اطاق...",
|
||||
"join_failed": "یکجاشدن با اطاق با ناکامی روبرو شد.",
|
||||
"choose_name": "یک نام را برای استفاده انتخاب کنید",
|
||||
"you_have_been_banned": "شما از این اطاق ممنوع شده اید."
|
||||
},
|
||||
"invite": {
|
||||
"title": "دوستان را اضافه کنید",
|
||||
"done": "انجام شد",
|
||||
"send_invites_to": "دعوت نامه را ارسال کنید به",
|
||||
"status_inviting": "دعوت از دوست {index} از {count}",
|
||||
"status_error": "دعوت از یک یا چند دوست با ناکامی روبرو شد!"
|
||||
},
|
||||
"leave": {
|
||||
"title_public": "خدا حافظ، {user}",
|
||||
"text_public": "اگر لینک این اطاق را بدانید، همیشه میتوانید با آن یکجا شوید.",
|
||||
"text_public_lastroom": "اگر میخواهید دوباره با این اطاق یکجاشوید، میتوانید با هویت جدید وارد شوید. برای حفظ {user}، {action}.",
|
||||
"title_invite": "آیا مطمئن هستید که میخواهید این جا را ترک کنید؟",
|
||||
"text_invite": "این اطاق قفل شده است. بدون مجوز ویژه نمیتوانید دوباره با آن یکجا شوید.",
|
||||
"create_account": "یک حساب را ایجاد کنید",
|
||||
"go_back": "به عقب برگرد",
|
||||
"leave": "ترک کنید"
|
||||
},
|
||||
"logout": {
|
||||
"confirm_text": "آیا مطمئن هستید که می خواهید از سیستم خارج شوید؟"
|
||||
},
|
||||
"purge_room": {
|
||||
"title": "اطاق حذف شود؟",
|
||||
"info": "همه اعضا و پیغام ها حذف خواهند شد. این عمل قابل لغو نیست.",
|
||||
"button": "حذف",
|
||||
"n_seconds": "{seconds} ثانیه",
|
||||
"self_destruct": "اطاق شما در چند ثانیه به طور اتومات حذف خواهد شد.",
|
||||
"deleting": "حذف اطاق:",
|
||||
"notified": "ما به اعضا اطلاع دادهایم.",
|
||||
"room_deletion_notice": "زمان خداحافظی است! این اطاق توسط {user} حذف شده و در چند ثانیه به طور اتومات از بین خواهد رفت."
|
||||
},
|
||||
"goodbye": {
|
||||
"room_deleted": "اطاق حذف شد.",
|
||||
"close_tab": "تب براوزر را ببندید",
|
||||
"view_other_rooms": "مشاهده اطاق های دیگر"
|
||||
},
|
||||
"room_info_sheet": {
|
||||
"this_room": "این اطاق",
|
||||
"view_details": "مشاهده جزئیات"
|
||||
},
|
||||
"voice_recorder": {
|
||||
"swipe_to_cancel": "برای لغو، صفحه را کش کنید",
|
||||
"release_to_cancel": "برای لغو، انگشت یا اشارهگر خود را بردارید",
|
||||
"failed_to_record": "ثبت صدا انجام نشد",
|
||||
"not_supported_title": "پشتیبانی نمیشود",
|
||||
"not_supported_text": "متاسفانه، این براوزر از ثبت صدا پشتیبانی نمیکند."
|
||||
},
|
||||
"power_level": {
|
||||
"admin": "مدیر",
|
||||
"moderator": "مدیریت کننده",
|
||||
"default": "پیشفرض",
|
||||
"custom": "({level}) سفارشی",
|
||||
"restricted": "محدود شده"
|
||||
},
|
||||
"fallbacks": {
|
||||
"audio_file": "فایل صوتی",
|
||||
"video_file": "فایل ویدیویی",
|
||||
"original_text": "<original text>",
|
||||
"download_name": "دانلود"
|
||||
},
|
||||
"notification": {
|
||||
"title": "پیغام جدید دریافت شد",
|
||||
"dialog": {
|
||||
"title": "با اطلاعیه های چت، در ارتباط بمانید!",
|
||||
"body": "دیگر هیچ پیغام یا مکالمه مهمی را از دست ندهید! هر بار که کسی به شما پیغام ارسال کند یا به چت شما جواب دهد، اطلاعیه دریافت خواهید کرد.",
|
||||
"enable": "فعال"
|
||||
},
|
||||
"blocked_message": "اطلاعیه ممنوع شده است. به تنظیمات دستگاه یا براوزر خود بروید تا اطلاعیه ها را فعال کنید",
|
||||
"not_supported": "اطلاعیه ها هنوز در موبایل پشتیبانی نمیشوند",
|
||||
"periodicSync_new_msg_reminder": "ممکن است پیغامهای جدیدی داشته باشید"
|
||||
},
|
||||
"file_mode": {
|
||||
"choose_files": "فایلها را انتخاب کنید",
|
||||
"any_file_format_accepted": "هر نوع فرمت فایل پذیرفته میشود",
|
||||
"secure_file_send": "ارسال مصوون فایل",
|
||||
"add_a_message": "یک پیغام اضافه کنید",
|
||||
"sending_progress": "در حال ارسال...",
|
||||
"sending": "در حال ارسال",
|
||||
"files_sent": "1 فایل ارسال شد! | {count} فایل ارسال شد!",
|
||||
"files_sent_with_note": "1 فایل با یادداشتی ارسال شد! | {count} فایل با یادداشتی ارسال شد!",
|
||||
"send_more_files": "ارسال فایلهای بیشتر",
|
||||
"close": "بستن",
|
||||
"files": "فايلها"
|
||||
}
|
||||
}
|
||||
446
src/assets/translations/ga.json
Normal file
446
src/assets/translations/ga.json
Normal file
|
|
@ -0,0 +1,446 @@
|
|||
{
|
||||
"message": {
|
||||
"preparing_to_upload": "Ag ullmhú le uaslódáil...",
|
||||
"upload_progress_with_total": "Uaslódáilte {count} de {total}",
|
||||
"user_changed_room_history": "Stair an tseomra a rinne {user} {type}",
|
||||
"room_history_world_readable": "inléite ag duine ar bith",
|
||||
"room_history_shared": "inléite do gach ball sa seomra",
|
||||
"room_history_invited": "inléite do bhaill ó nuair a tugadh cuireadh dóibh",
|
||||
"room_history_joined": "inléite do bhaill ón nuair a tháinig siad isteach",
|
||||
"user_changed_join_rules": "Rinne {user} an seomra {type}",
|
||||
"user_is_typing": "Tá {user} ag clóscríobh",
|
||||
"users_are_typing": "Tá baill {count} ag clóscríobh",
|
||||
"room_powerlevel_change": "D'athraigh {user} leibhéal cumhachta {changes}",
|
||||
"user_encrypted_room": "Rinne {user} an seomra criptithe",
|
||||
"user_was_invited": "Tugadh cuireadh do {user} chuig an gcomhrá...",
|
||||
"user_was_kicked": "Cuireadh {user} ón gcomhrá.",
|
||||
"user_was_kicked_by_you": "Chuir tú {user} ón gcomhrá.",
|
||||
"user_was_kicked_you": "Cuireadh tús ón gcomhrá.",
|
||||
"user_was_banned": "Cuireadh cosc ar {user} agus cuireadh cosc ar an gcomhrá.",
|
||||
"user_aliased_room": "Rinne {user} an seomra alias {alias}",
|
||||
"user_changed_display_name": "D'athraigh {user} ainm taispeána go {displayName}",
|
||||
"user_was_banned_by_you": "Chuir tú cosc agus cosc ar {user} ón gcomhrá.",
|
||||
"user_was_banned_you": "Cuireadh cosc ort agus cuireadh cosc ort ón gcomhrá.",
|
||||
"user_joined": "Chuaigh {user} isteach sa chomhrá",
|
||||
"user_left": "D'fhág {user} an comhrá",
|
||||
"someone": "Duine éigin",
|
||||
"user_changed_avatar": "D'athraigh {user} an avatar",
|
||||
"user_changed_room_avatar": "D'athraigh {user} avatar an tseomra",
|
||||
"user_said": "{user} a dúirt:",
|
||||
"sent_media": "Seoladh míreanna meán {count}.",
|
||||
"file_prefix": "Comhad: ",
|
||||
"edited": "(curtha in eagar)",
|
||||
"not_allowed_to_send": "Ní cheadaítear ach riarthóirí agus modhnóirí a sheoladh chuig an seomra",
|
||||
"reaction_count_more": "{reactionCount} níos mó",
|
||||
"seen_by_count": "Feiceáilte ag aon bhall | Feiceáilte ag 1 bhall | Feiceáilte ag {count} comhaltaí",
|
||||
"file": "Comhad",
|
||||
"files": "Comhaid",
|
||||
"images": "Íomhánna",
|
||||
"download_progress": "{percentage}% íoslódáilte",
|
||||
"user_changed_guest_access_closed": "Ní cheadaíodh {user} aíonna dul isteach sa seomra",
|
||||
"send_attachements_dialog_title": "Ar mhaith leat na ceangaltáin seo a leanas a sheoladh?",
|
||||
"failed_to_render": "Theip ar imeacht a rinneadh",
|
||||
"user_powerlevel_change_from_to": "{user} ó {powerOld} go {powerNew}",
|
||||
"you": "Tú",
|
||||
"user_created_room": "Chruthaigh {user} an seomra",
|
||||
"upload_file_too_large": "Tá an comhad ró-mhór le uaslódáil!",
|
||||
"upload_exceeded_file_limit": "Sáraigh uasmhéid an chomhaid de ({configFormattedUploadSize}). ",
|
||||
"upload_progress": "Uaslódáilte {count}",
|
||||
"room_joinrule_invite": "cuireadh amháin",
|
||||
"room_joinrule_public": "poiblí",
|
||||
"user_changed_room_name": "D'athraigh {user} ainm an tseomra go {name}",
|
||||
"user_changed_room_topic": "D'athraigh {user} ábhar an tseomra go {topic}",
|
||||
"unread_messages": "Teachtaireachtaí gan léamh",
|
||||
"replying_to": "Ag freagairt {user}",
|
||||
"your_message": "Do theachtaireacht...",
|
||||
"scale_image": "Íomhá scála",
|
||||
"user_changed_guest_access_open": "Ceadaigh {user} d'aíonna dul isteach sa seomra",
|
||||
"reply_image": "Íomhá",
|
||||
"reply_audio_message": "Teachtaireacht fuaime",
|
||||
"reply_video": "Físeán",
|
||||
"reply_poll": "Vótaíocht",
|
||||
"time_ago": "Inniu | Inné | {count} laethanta ó shin",
|
||||
"outgoing_message_deleted_text": "Scrios tú an teachtaireacht seo.",
|
||||
"incoming_message_deleted_text": "Scriosadh an teachtaireacht seo.",
|
||||
"seen_by": "Feiceáilte ag",
|
||||
"download_all": "Íoslódáil go léir"
|
||||
},
|
||||
"room_welcome": {
|
||||
"info_permissions": "Is féidir leat 'ceadanna páirti' a athrú ag am ar bith i socruithe an tseomra.",
|
||||
"no_past_messages": "Fáilte! Ar mhaithe le do shlándáil, níl teachtaireachtaí roimhe seo ar fáil.",
|
||||
"direct_info": "Dia duit, {you}. Tá tú i gcomhrá príobháideach le {user}.",
|
||||
"direct_private_chat": "Teachtaireacht Díreach",
|
||||
"join_channel": "Gach socraithe! Tabhair cuireadh do dhaoine a bheith páirteach leat: {link}",
|
||||
"info_retention": "🕓 Is féidir le duine ar bith leis an nasc teachtaireachtaí a sheoltar laistigh de {time} a fheiceáil.",
|
||||
"info_retention_user": "🕓 Scriosfar teachtaireachtaí níos sine ná {time} ón stair.",
|
||||
"info_auto_join": "Fáilte go dtí {room}.\nTá tú ag dul isteach mar {you}.",
|
||||
"info": "Fáilte! Seo roinnt rudaí atá ar eolas faoi do sheomra:",
|
||||
"encrypted": "Tá teachtaireachtaí criptithe deireadh go deireadh.",
|
||||
"room_history_is": "Is é {type} stair na seomraí.",
|
||||
"room_history_joined": "Ní féidir le daoine na teachtaireachtaí a sheoltar a fheiceáil ach tar éis dóibh dul isteach.",
|
||||
"join_public": "Is féidir le duine ar bith páirt tríd an nasc seo a oscailt: {link}.",
|
||||
"join_invite": "Ní féidir ach daoine a thugann tú cuireadh a bheith páirteach.",
|
||||
"change": "Athraigh",
|
||||
"got_it": "Fuair sé"
|
||||
},
|
||||
"login": {
|
||||
"create_room": "Cláraigh agus Cruthaigh Seomra",
|
||||
"title": "Logáil isteach",
|
||||
"password": "Cuir isteach Pasfhocal",
|
||||
"username_required": "Teastaíonn ainm úsáideora",
|
||||
"password_required": "Tá pasfhocal ag teastáil",
|
||||
"login": "Logáil isteach",
|
||||
"or": "NÓ",
|
||||
"invalid_message": "Ainm úsáideora nó pasfhocal neam",
|
||||
"terms": "Éilíonn an freastalaí baile ort athbhreithniú agus glacadh leis na beartais seo a leanas:",
|
||||
"accept_terms": "Glacadh le",
|
||||
"no_supported_flow": "Ní féidir leis an aip logáil isteach ar an bhfreastalaí tugtha",
|
||||
"email": "Ní mór duit do sheoladh ríomhphoist a fhíorú",
|
||||
"send_verification": "Seol ríomhphost fíoraithe",
|
||||
"sent_verification": "Seoladh ríomhphost chuig {email}. Úsáid do chliant ríomhphoist rialta chun an seoladh a fhíorú.",
|
||||
"resend_verification": "Seol ríomhphost fíoraithe arís",
|
||||
"email_not_valid": "Níl seoladh ríomhphoist bailí",
|
||||
"registration_token": "Cuir isteach comhartha clárúcháin",
|
||||
"send_token": "Seol comhartha",
|
||||
"token_not_valid": "Comhartha míbhailí",
|
||||
"username": "Ainm úsáideora (m.sh.: marta)"
|
||||
},
|
||||
"join": {
|
||||
"you_have_been_banned": "Cuireadh cosc ort ón seomra seo.",
|
||||
"title": "Fáilte cuireadh duit páirt a ghlacadh",
|
||||
"title_user": "Fáilte cuireadh duit comhrá a dhéanamh le",
|
||||
"user_name_label": "Ainm úsáideora",
|
||||
"remember_me": "Cuimhnigh orm",
|
||||
"joining_as": "Tá tú ag teacht isteach mar:",
|
||||
"join": "Bí isteach sa seomra",
|
||||
"join_user": "Tosaigh comhrá",
|
||||
"enter_room": "Téigh isteach sa seomra",
|
||||
"enter_room_user": "Tosaigh comhrá",
|
||||
"status_logging_in": "Logáil isteach...",
|
||||
"status_joining": "Seomra a ghlacadh...",
|
||||
"join_failed": "Theip ar theip ar an seomra.",
|
||||
"choose_name": "Roghnaigh ainm le húsáid"
|
||||
},
|
||||
"invite": {
|
||||
"title": "Cuir Cairde",
|
||||
"done": "Déanta",
|
||||
"send_invites_to": "Seol cuireadh chuig",
|
||||
"status_inviting": "Cuireadh a thabhairt do chara {index} de {count}",
|
||||
"status_error": "Theip ort cuireadh a thabhairt do chairde amháin nó níos mó!"
|
||||
},
|
||||
"leave": {
|
||||
"text_public": "Is féidir leat dul isteach sa seomra seo arís i gcónaí má tá an nasc ar eolas agat.",
|
||||
"title_public": "Slán, a {user}",
|
||||
"text_public_lastroom": "Más mian leat dul isteach sa seomra seo arís, is féidir leat páirt a ghlacadh faoi aitheantas nua. Chun {user}, {action} a choinneáil.",
|
||||
"title_invite": "An bhfuil tú cinnte gur mhaith leat imeacht?",
|
||||
"text_invite": "Tá an seomra seo faoi ghlas. Ní féidir leat teacht ar ais gan cead speisialta.",
|
||||
"create_account": "cruthaigh cuntas",
|
||||
"go_back": "Téigh ar ais",
|
||||
"leave": "Fágáil"
|
||||
},
|
||||
"goodbye": {
|
||||
"room_deleted": "Seomra scriosta.",
|
||||
"close_tab": "Dún táb brabhsálaí",
|
||||
"view_other_rooms": "Féach ar sheomraí eile"
|
||||
},
|
||||
"room_info": {
|
||||
"title": "Sonraí Seomra",
|
||||
"created_by": "Cruthaithe ag {user}",
|
||||
"permissions": "Bí le Ceadanna",
|
||||
"show_all": "Taispeáin go léir >",
|
||||
"message_retention_1_hour": "1 Uair an chloig",
|
||||
"join_invite": "Níl ach Daoine Cuireadh leis",
|
||||
"join_public": "Duine ar bith a bhfuil nasc aige",
|
||||
"copy_invite_link": "Cóipeáil nasc cui",
|
||||
"copy_link": "Cóipeáil nasc",
|
||||
"link_copied": "Nasc cóipeáilte!",
|
||||
"purge": "Scrios seomra",
|
||||
"members": "Comhaltaí",
|
||||
"user": "{user}",
|
||||
"user_you": "{user} (tú)",
|
||||
"hide_all": "Folaigh",
|
||||
"leave_room": "Fágáil",
|
||||
"version_info": "Cumhachtaithe ag Tionscadal Guardian. Leagan: {version}",
|
||||
"scan_code": "Scanadh chun dul isteach sa seomra",
|
||||
"export_room": "Comhrá easpórtá",
|
||||
"user_admin": "Riarthóir",
|
||||
"user_moderator": "Modhnóir",
|
||||
"moderation": "Modhnú",
|
||||
"message_retention_none": "Lasmuigh",
|
||||
"message_retention_4_week": "4 seachtaine",
|
||||
"message_retention_2_week": "2 seachtaine",
|
||||
"message_retention_1_week": "1 seachtain",
|
||||
"message_retention_1_day": "1 lá",
|
||||
"message_retention_8_hours": "8 uair an chloig",
|
||||
"make_public": "Déan Phoiblí",
|
||||
"make_public_warning": "rabhadh: Beidh stair iomlán teachtaireachtaí le feiceáil do rannpháirtithe",
|
||||
"direct_link": "Mo Nasc Díreach",
|
||||
"direct_link_desc": "Tá sé réidh le roinnt! Osclófar seomra díreach nua gach uair a osclaíonn duine an nasc.",
|
||||
"shared_room_number": "Roinneann tú seomraí {count} le {name}",
|
||||
"shared_room_number_more": "Roinneann tú níos mó ná seomraí {count} le {name}",
|
||||
"experimental_features": "Gnéithe Turgnaíocha",
|
||||
"room_type": "Cineál seomra",
|
||||
"room_type_default": "Réamhshocraithe",
|
||||
"voice_mode": "Modh guth",
|
||||
"voice_mode_info": "Athraíonn an comhéadan comhrá go modh 'éisteacht agus taifead'",
|
||||
"file_mode": "Modh comhad",
|
||||
"file_mode_info": "Athraíonn an comhéadan comhrá go modh 'titim comhad'",
|
||||
"download_chat": "Íoslódáil comhrá",
|
||||
"read_only_room": "Léigh Amháin",
|
||||
"read_only_room_info": "Ní cheadaítear ach riarthóirí agus modhnóirí a sheoladh chuig an seomra.",
|
||||
"message_retention": "Stair Teachtaireachtaí",
|
||||
"message_retention_info": "Is féidir le duine ar bith leis an nasc teachtaireachtaí a sheoltar laistigh den fhráma ama seo a fheiceáil."
|
||||
},
|
||||
"poll_create": {
|
||||
"answer_label_1": "Freagra*",
|
||||
"poll_undisclosed": "Dúnta - feicfidh úsáideoirí na torthaí nuair a dhúntar an vótaíocht.",
|
||||
"add_answer": "Cuir freagra leis",
|
||||
"failed": "Theip ar vótaíocht a chruthú, bain triail eile as ar ball.",
|
||||
"question_label": "Cuir do cheiste*",
|
||||
"question_required": "Ní mór duit ceist a iontráil!",
|
||||
"answer_label_n": "Freagra",
|
||||
"please_complete": "Comhlánaigh",
|
||||
"answer_required": "Ní féidir an freagra a bheith folamh. Cuir isteach roinnt téacs nó bain an rogha seo.",
|
||||
"tip_title": "PRO TIP",
|
||||
"tip_text": "Feicfidh baill na torthaí vótaíochta tar éis dóibh freagra a thabhairt. Dún an vótaíocht nuair a bheidh tú críochnaithe chun torthaí a thaispeáint do gach duine sa seomra.",
|
||||
"create_poll_menu_option": "Cruthaigh vótaíocht",
|
||||
"poll_status_closed": "Tá an vótaíocht dúnta",
|
||||
"poll_status_disclosed": "Taispeánfar na torthaí nuair a dhúnfar an vótaíocht.",
|
||||
"poll_status_open": "Tá vótaíocht oscailte",
|
||||
"poll_status_open_not_voted": "Tá an vótaíocht ar oscailt - vótáil chun na torthaí",
|
||||
"view_results": "Féach ar na Torthaí",
|
||||
"close_poll": "Dún vótaíocht",
|
||||
"poll_submit": "Cuir isteach",
|
||||
"num_answered": "Freagraí {count}",
|
||||
"title": "Cruthaigh vótaíocht nua",
|
||||
"create": "Foilsiú",
|
||||
"creating": "Cruthú vótaíocht",
|
||||
"poll_disclosed": "Oscailte - taispeántar torthaí reatha i gcónaí.",
|
||||
"results_shared": "Torthaí roinnte leis an seomra."
|
||||
},
|
||||
"notification": {
|
||||
"blocked_message": "Cuirtear bac ar an bhfógra. Téigh chuig socruithe do ghléas nó do bhrabhsálaí chun Fógra",
|
||||
"not_supported": "Ní thacaítear le fógra fós i Soghluaiste",
|
||||
"periodicSync_new_msg_reminder": "B'fhéidir go mbeadh teachtaireachtaí nua agat",
|
||||
"title": "Teachtaireacht nua fuarthas",
|
||||
"dialog": {
|
||||
"title": "Fan Ceangailte le Fógraí Comhrá!",
|
||||
"body": "Ná caill teachtaireacht nó comhrá tábhachtach arís! Tabhair fógra aon uair a sheolann duine teachtaireacht chugat nó freagraíonn sé ar do chomhrá.",
|
||||
"enable": "Cumasaigh"
|
||||
}
|
||||
},
|
||||
"emoji": {
|
||||
"search": "Cuardaigh...",
|
||||
"categories": {
|
||||
"activity": "Gníomhaíocht",
|
||||
"flags": "Bratacha",
|
||||
"foods": "Bianna",
|
||||
"frequently": "Úsáidtear go minic",
|
||||
"objects": "Cuspóirí",
|
||||
"nature": "Dúlra",
|
||||
"peoples": "Pobail",
|
||||
"symbols": "Siombailí",
|
||||
"places": "Áiteanna"
|
||||
}
|
||||
},
|
||||
"file_mode": {
|
||||
"files": "Comhaid",
|
||||
"choose_files": "Roghnaigh comhaid",
|
||||
"any_file_format_accepted": "Glactar le haon fhormáid comhaid",
|
||||
"secure_file_send": "comhad slán a sheoladh",
|
||||
"add_a_message": "Cuir teachtaireacht leis",
|
||||
"sending_progress": "Ag seoladh...",
|
||||
"sending": "Seoladh",
|
||||
"files_sent": "1 comhad seoladh! | {count} comhaid seolta!",
|
||||
"files_sent_with_note": "1 chomhad seoladh le nóta! | Comhaid {count} seoltar le nóta!",
|
||||
"send_more_files": "Seol níos mó comhaid",
|
||||
"close": "Dún"
|
||||
},
|
||||
"project": {
|
||||
"name": "Tionól",
|
||||
"tag_line": "Níl ort ach ceangal"
|
||||
},
|
||||
"global": {
|
||||
"save": "Sábháil",
|
||||
"password_didnot_match": "Níor mheaitseáil le pasfhocal",
|
||||
"password_hint": "12 charachtar ar a laghad ina bhfuil uimhriúil amháin ar a laghad, uachchlár amháin agus litreacha beaga amháin",
|
||||
"show_less": "Taispeáin níos lú",
|
||||
"show_more": "Taispeáin níos mó",
|
||||
"add_reaction": "Cuir imoibriú leis",
|
||||
"click_to_remove": "Cliceáil chun a bhaint",
|
||||
"time": {
|
||||
"recently": "díreach anois",
|
||||
"minutes": "1 nóiméad ó shin | {n} nóiméad ó shin",
|
||||
"hours": "1 uair an chloig ó shin | {n} uair an chloig ó shin",
|
||||
"days": "1 lá ó shin | {n} laethanta ó shin"
|
||||
},
|
||||
"close": "dún",
|
||||
"notify": "Tabhair fógra",
|
||||
"different_browser_title": "Bain triail as brabhsálaithe",
|
||||
"different_browser_content": "D'fhéadfadh roinnt gnéithe briseadh. Cóipeáil agus oscail nasc i mbrabhsálaí eile."
|
||||
},
|
||||
"language_display_name": "Béarla",
|
||||
"menu": {
|
||||
"start_private_chat": "Teachtaireacht Díreach leis an úsáideoir seo",
|
||||
"direct_chat": "Comhrá díreach",
|
||||
"reply": "Freagra",
|
||||
"edit": "Cuir in eagar",
|
||||
"delete": "Scrios",
|
||||
"download": "Íoslódáil",
|
||||
"ok": "Ceart go leor",
|
||||
"done": "Déanta",
|
||||
"cancel": "Cealaigh",
|
||||
"send": "Seol",
|
||||
"back": "AR AIS",
|
||||
"login": "Logáil isteach",
|
||||
"logout": "Logáil amach",
|
||||
"new_room": "Seomra Nua",
|
||||
"undo": "Cealaigh",
|
||||
"delete_now": "Scrios anois",
|
||||
"join": "Bí páirt",
|
||||
"pin": "Post bioráin",
|
||||
"unpin": "Unpin post",
|
||||
"ignore": "Neamhaird",
|
||||
"loading": "Á lódáil {appName}",
|
||||
"user_kick_and_ban": "Cuir amach",
|
||||
"user_make_admin": "Déan riarachán",
|
||||
"user_make_moderator": "Déan modhnóir",
|
||||
"user_revoke_moderator": "Modhnóir a chúlghairm"
|
||||
},
|
||||
"room": {
|
||||
"invitations": "Níl aon chuireadh agat | Tá cuireadh 1 agat | Tá cuireadh {count} agat",
|
||||
"unseen_messages": "Níl aon teachtaireachtaí neamh-fheicthe agat | Tá 1 teachtaireacht neamh-fheicthe agat | Tá {count} teachtaireachtaí neamh-fheicthe agat",
|
||||
"members": "no comhaltaí | 1 bhall | {count} comhaltaí",
|
||||
"leave": "Fágáil",
|
||||
"purge_set_room_state": "Stáit an tseomra a shocrú",
|
||||
"purge_redacting_events": "Imeachtaí á n-eagarthóireacht ({count} de {total})",
|
||||
"purge_removing_members": "Comhaltaí a bhaint ({count} de {total})",
|
||||
"purge_failed": "Theip ar an seomra a ghlanadh!",
|
||||
"room_list_invites": "Cuireadh",
|
||||
"room_list_new_messages": "{count} teachtaireachtaí nua",
|
||||
"room_list_rooms": "Seomraí",
|
||||
"room_name_required": "Tá ainm an tseomra ag teastáil",
|
||||
"room_topic_required": "Teastaíonn cur síos ar an seom"
|
||||
},
|
||||
"new_room": {
|
||||
"new_room": "Seomra Nua",
|
||||
"create": "Cruthaigh",
|
||||
"room_topic": "Cuir cur síos leis más mian leat",
|
||||
"join_permissions": "Bí le ceadanna",
|
||||
"public_info": "Duine ar bith a bhfuil nasc aige",
|
||||
"public_description": "Faigh nasc le roinnt",
|
||||
"invite_info": "Níor chuir ach daoine leis",
|
||||
"invite_description": "Roghnaigh ó liosta nó cuardaigh de réir ID cuntas",
|
||||
"status_creating": "Seomra a chruthú",
|
||||
"next": "Ar Aghaidh",
|
||||
"name_room": "Ainm an tseomra",
|
||||
"status_avatar_total": "Avatar a uaslódáil: {count} de {total}",
|
||||
"status_avatar": "Avatar a uaslódáil: {count}",
|
||||
"room_name_limit_error_msg": "Uasmhéid 50 carachtar cead",
|
||||
"colon_not_allowed": "Ní cheadaítear colon",
|
||||
"options": "Roghanna",
|
||||
"set_join_permissions": "Socraigh Ceadanna Gabhála",
|
||||
"join_permissions_info": "Cinneann na ceadanna seo conas is féidir le daoine dul isteach sa seomra agus cé chomh héasca is féidir cuireadh a thabhairt do dhaoine Is féidir iad a athrú am ar bith.",
|
||||
"get_link": "Faigh nasc",
|
||||
"add_people": "Cuir daoine leis",
|
||||
"link_copied": "Nasc cóipeáilte!"
|
||||
},
|
||||
"device_list": {
|
||||
"blocked": "Blocáilte",
|
||||
"verified": "Fíoraithe",
|
||||
"not_verified": "Gan fíorú"
|
||||
},
|
||||
"getlink": {
|
||||
"ready_to_share": "Tá sé réidh le roinnt! Osclófar seomra díreach nua gach uair a osclaíonn duine an nasc.",
|
||||
"scan_title": "Scanadh an cód seo chun comhrá díreach a thosú",
|
||||
"continue": "Lean ar aghaidh",
|
||||
"different_link": "Faigh nasc difriúil",
|
||||
"share_qr": "Comhroinn QR",
|
||||
"title": "Faigh Nasc Díreach",
|
||||
"info": "Tugann naisc dhíreacha líne cumarsáide slán do dhaoine leat. Chun tús a chur, roghnaigh ainm scáileáin le taispeáint nuair a théann daoine isteach i gcomhrá leat.",
|
||||
"username": "Cuir isteach ainm scáileáin (m.sh.: waku)",
|
||||
"next": "Ar Aghaidh",
|
||||
"qr_image_copied": "Íomhá a chóipeáiltear",
|
||||
"hello": "Dia duit a {user},\nSeo do Nasc Díreach"
|
||||
},
|
||||
"createchannel": {
|
||||
"title": "Cruthaigh Cainéal",
|
||||
"info": "Craoladh nuacht nó eolas in aon fhormáid — físeán, podchraoladh, téacs, pictiúir nó PDFanna.",
|
||||
"channel_name": "Ainmnigh do chainéal",
|
||||
"channel_topic": "Déan cur síos air",
|
||||
"name_required": "Tá ainm cainéal ag teastáil",
|
||||
"error_channel": "Theip ar chainéal a chruthú"
|
||||
},
|
||||
"profile": {
|
||||
"title": "Mo Phróifíl",
|
||||
"temporary_identity": "Tá an féiniúlacht seo sealadach. Socraigh pasfhocal chun é a úsáid arís",
|
||||
"set_password": "Socraigh pasfhocal",
|
||||
"change_name": "Athraigh ainm",
|
||||
"change_password": "Athraigh pasfhocal",
|
||||
"select_language": "Teanga",
|
||||
"set_language": "Socraigh do theanga",
|
||||
"language_description": "Tá Conve ar fáil i go leor teangacha.",
|
||||
"dont_see_yours": "Ní fheiceann tú féin?",
|
||||
"tell_us": "Inis dúinn.",
|
||||
"password_old": "Sean-phasfhocal",
|
||||
"password_new": "Pasfhocal nua",
|
||||
"password_repeat": "Athraigh pasfhocal nua",
|
||||
"display_name": "Ainm taispeána",
|
||||
"display_name_required": "Tá ainm taispeána ag teastáil",
|
||||
"notification_label": "Fógra"
|
||||
},
|
||||
"profile_info_popup": {
|
||||
"you_are": "Tá tú",
|
||||
"identity": "{displayName}",
|
||||
"new_room": "Seomra nua",
|
||||
"identity_temporary": "{displayName}",
|
||||
"edit_profile": "Athraigh próifíl",
|
||||
"logout": "Logáil amach",
|
||||
"want_more": "Ag iarraidh níos mó?",
|
||||
"powered_by": "Tá an seomra seo faoi thiomáint ag {product}. Foghlaim tuilleadh ag {productLink} nó téigh ar aghaidh agus cruthaigh seomra eile!"
|
||||
},
|
||||
"purge_room": {
|
||||
"button": "Scrios",
|
||||
"n_seconds": "{seconds} soicind",
|
||||
"self_destruct": "Déanfaidh do sheomra féin-scriosadh i soicindí.",
|
||||
"deleting": "Seomra a scriosadh:",
|
||||
"notified": "Tá fógra tugtha againn do bhaill.",
|
||||
"room_deletion_notice": "Am slán a fhágáil! Tá an seomra seo scriosta ag {user}. Déanfaidh sé féin-scrios i soicindí.",
|
||||
"title": "Scrios seomra?",
|
||||
"info": "Bainfear gach ball agus teachtaireacht. Ní féidir an gníomh seo a chur ar ais."
|
||||
},
|
||||
"room_info_sheet": {
|
||||
"this_room": "An seomra seo",
|
||||
"view_details": "Féach ar na sonraí"
|
||||
},
|
||||
"voice_recorder": {
|
||||
"swipe_to_cancel": "Swipe chun cealú",
|
||||
"release_to_cancel": "Scaoileadh le cealú",
|
||||
"failed_to_record": "Theip ar fuaim a thaifeadadh",
|
||||
"not_supported_title": "Níl tacaíocht",
|
||||
"not_supported_text": "Ar an drochuair, ní thacaíonn an brabhsálaí seo le taifeadadh fuaime."
|
||||
},
|
||||
"power_level": {
|
||||
"admin": "riarthóir",
|
||||
"moderator": "modhnóir",
|
||||
"default": "réamhshocraithe",
|
||||
"custom": "saincheaptha ({level})",
|
||||
"restricted": "srianta"
|
||||
},
|
||||
"logout": {
|
||||
"confirm_text": "An bhfuil tú cinnte gur mhaith leat logáil amach?"
|
||||
},
|
||||
"fallbacks": {
|
||||
"audio_file": "Comhad fuaime",
|
||||
"video_file": "Comhad físe",
|
||||
"download_name": "Íoslódáil",
|
||||
"original_text": "<buntéacs>"
|
||||
},
|
||||
"export": {
|
||||
"exported_date": "Onnmhairithe ar {date}",
|
||||
"fetched_n_events": "Imeachtaí {count} faighte",
|
||||
"fetched_n_of_total_events": "Fuarthas {count} de {total} imeacht",
|
||||
"processed_n_of_total_events": "Meáin phróiseáilte le haghaidh {count} de {total} imeacht",
|
||||
"export_filename": "Comhrá onnmhairithe {date}"
|
||||
}
|
||||
}
|
||||
|
|
@ -250,7 +250,8 @@
|
|||
"view_details": "Visualizza i dettagli"
|
||||
},
|
||||
"project": {
|
||||
"name": "Convene"
|
||||
"name": "Convene",
|
||||
"tag_line": "Basta collegare"
|
||||
},
|
||||
"poll_create": {
|
||||
"create": "Pubblicare",
|
||||
|
|
@ -265,7 +266,9 @@
|
|||
},
|
||||
"notify": "Notifica",
|
||||
"show_less": "Mostra meno",
|
||||
"show_more": "Mostra altro"
|
||||
"show_more": "Mostra altro",
|
||||
"password_didnot_match": "La password non corrispondeva",
|
||||
"password_hint": "Minimo 12 carattere contenente almeno un numerico, una maiuscola e una lettera minuscola"
|
||||
},
|
||||
"emoji": {
|
||||
"search": "Cerca...",
|
||||
|
|
|
|||
74
src/assets/translations/km.json
Normal file
74
src/assets/translations/km.json
Normal file
|
|
@ -0,0 +1,74 @@
|
|||
{
|
||||
"language_display_name": "អង់គ្លេស",
|
||||
"global": {
|
||||
"save": "រក្សាទុក"
|
||||
},
|
||||
"menu": {
|
||||
"edit": "កែរ",
|
||||
"delete": "លុប",
|
||||
"download": "ទាញយក",
|
||||
"ok": "យល់ព្រម",
|
||||
"done": "រួចរាល់",
|
||||
"undo": "ត្រឡប់វាវិញ",
|
||||
"join": "ចូលរួម",
|
||||
"cancel": "បោះបង់",
|
||||
"send": "ផ្ញើ",
|
||||
"login": "ចុះឈ្មោះចូល",
|
||||
"logout": "ចាកចេញ"
|
||||
},
|
||||
"room_welcome": {
|
||||
"got_it": "យល់ហើយ",
|
||||
"change": "ផ្លាស់ប្ដូរ"
|
||||
},
|
||||
"new_room": {
|
||||
"options": "ជម្រើស",
|
||||
"create": "បង្កើត",
|
||||
"next": "បន្ទាប់"
|
||||
},
|
||||
"login": {
|
||||
"login": "ចុះឈ្មោះចូល",
|
||||
"accept_terms": "ព្រមទទួល",
|
||||
"title": "ចុះឈ្មោះចូល"
|
||||
},
|
||||
"getlink": {
|
||||
"next": "បន្ទាប់",
|
||||
"continue": "Continue"
|
||||
},
|
||||
"profile": {
|
||||
"password_new": "ពាក្យសម្ងាត់ថ្មី",
|
||||
"change_password": "ផ្លាស់ប្តូរពាក្យសម្ងាត់",
|
||||
"select_language": "ភាសា"
|
||||
},
|
||||
"profile_info_popup": {
|
||||
"logout": "ចាកចេញ"
|
||||
},
|
||||
"invite": {
|
||||
"done": "រួចរាល់"
|
||||
},
|
||||
"purge_room": {
|
||||
"button": "លុប"
|
||||
},
|
||||
"room_info": {
|
||||
"room_type_default": "លំនាំដើម",
|
||||
"message_retention_none": "បិទ",
|
||||
"hide_all": "លាក់"
|
||||
},
|
||||
"fallbacks": {
|
||||
"download_name": "ទាញយក"
|
||||
},
|
||||
"poll_create": {
|
||||
"create": "ដាក់ផ្សាយ",
|
||||
"answer_label_n": "ចម្លើយ",
|
||||
"poll_submit": "បញ្ជូន"
|
||||
},
|
||||
"file_mode": {
|
||||
"close": "បិទ"
|
||||
},
|
||||
"message": {
|
||||
"you": "អ្នក",
|
||||
"reply_image": "រូបភាព",
|
||||
"reply_video": "វីដេអូ",
|
||||
"file": "ឯកសារ",
|
||||
"images": "រូបភាព"
|
||||
}
|
||||
}
|
||||
444
src/assets/translations/ku.json
Normal file
444
src/assets/translations/ku.json
Normal file
|
|
@ -0,0 +1,444 @@
|
|||
{
|
||||
"language_display_name": "ئینگلیزی",
|
||||
"project": {
|
||||
"name": "کۆبوونەوە",
|
||||
"tag_line": "بە ئاسانی پەیوەندی بکە"
|
||||
},
|
||||
"global": {
|
||||
"save": "پاشەکەوتکردن",
|
||||
"password_didnot_match": "دوو تێپەڕوشەکە وەک یەک نین",
|
||||
"password_hint": "لای کەمی 12 پیت کە لانیکەم یەک ژمارە و یەک پیتی گەورە و یەک پیتی بچووکی تێدابێت",
|
||||
"show_less": "کەمتر پیشان بدە",
|
||||
"show_more": "زۆرتر پیشان بدە",
|
||||
"add_reaction": "زیادکردنی کاردانەوە",
|
||||
"click_to_remove": "بۆ لابردنی کرتە بکە",
|
||||
"time": {
|
||||
"recently": "هەر ئێستا",
|
||||
"minutes": "1 خولەک لەمەوپێش | {n} خولەک لەمەوپێش",
|
||||
"hours": "1 کاتژمێر لەمەوپێش | {n} کاتژمێر لەمەوپێش",
|
||||
"days": "1 ڕۆژ لەمەوپێش | {n} ڕۆژ لەمەوپێش"
|
||||
},
|
||||
"close": "داخستن",
|
||||
"notify": "ئاگادارکردنەوە",
|
||||
"different_browser_title": "براوسەرێکی تر تاقی بکەوە",
|
||||
"different_browser_content": "ڕەنگە هەندێک تایبەتمەندی بشکێن. لینکەکە کۆپی بکە و لە براوسەرێکی جیاوازدا بیکەوە."
|
||||
},
|
||||
"room": {
|
||||
"room_list_rooms": "ژوورەکان",
|
||||
"room_name_required": "ناوی ژوور پێویستە",
|
||||
"room_topic_required": "وەسفکردنی ژوور پێویستە",
|
||||
"invitations": "هیچ بانگهێشتێکت نیە | 1 بانگهێشتت هەیە | {count} بانگهێشتت هەیە",
|
||||
"unseen_messages": "هیچ پەیامێکی نەبینراوت نییە | 1 پەیامی نەبینراوت هەیە | {count} پەیامی نەبینراوت هەیە",
|
||||
"members": "هیچ ئەندامێک | 1 ئەندام | {count} ئەندام",
|
||||
"leave": "جێهێشتن",
|
||||
"purge_set_room_state": "دیاریکردنی دۆخی ژوور",
|
||||
"purge_redacting_events": "بژارکردنی ڕووداوەکان ({count} لە {total})",
|
||||
"purge_removing_members": "لابردنی ئەندامان ({count} لە {total})",
|
||||
"purge_failed": "نەیتوانی ژوورکە پاک بکاتەوە!",
|
||||
"room_list_invites": "بانگهێشت",
|
||||
"room_list_new_messages": "{count} پەیامی نوێ"
|
||||
},
|
||||
"room_welcome": {
|
||||
"info": "بەخێر بێیت! پێویستە ئەم چەند شتە لەبارەی ژوورەکەت بزانیت:",
|
||||
"encrypted": "پەیامەکان سەرانسەر کۆد دەکرێن.",
|
||||
"room_history_is": "مێژووی ژوورەکە {type} ـە.",
|
||||
"room_history_joined": "خەڵک تەنیا دەتوانن ئەو پەیامانە ببینن کە دوای بەشداریکردنیان دەنێردرێن.",
|
||||
"join_public": "هەمووکەسێک دەتوانێت بە کردنەوەی ئەم لینکە بەشداری بکات: {link}.",
|
||||
"join_invite": "تەنیا ئەو کەسانەی کە بانگهێشتیان دەکەیت دەتوانن بەشداری بکەن.",
|
||||
"info_permissions": "هەمووکاتێک دەتوانیت لە ڕێکخستنەکانی ژوورەکەدا «مۆڵەتی بەشداریکردن» بگۆڕیت.",
|
||||
"got_it": "وەرمگرت",
|
||||
"no_past_messages": "بەخێربێیت! بۆ ئاسایشی خۆت، پەیامەکانی ڕابردوو لە بەردەست نین.",
|
||||
"direct_info": "سڵاو، {you}. تۆ لە چەتێکی تایبەتدایت لەگەڵ {user}.",
|
||||
"direct_private_chat": "پەیامی ڕاستەوخۆ",
|
||||
"join_channel": "هەمووی ڕێک خرا! بانگهێشتی خەڵک بکە بۆ ئەوەی لەگەڵت بەشداری بکەن: {link}",
|
||||
"info_retention": "🕓 هەرکەسێک کە لینکەکەی هەبێت دەتوانێت ئەو پەیامانە ببینێت کە لە ماوەی {کات}دا دەنێردرێن.",
|
||||
"info_retention_user": "🕓 ئەو پەیامانە کە لە {time} کۆنترن لە مێژوو دەسڕدرێنەوە.",
|
||||
"info_auto_join": "بەخێر بێیت بۆ {room}.\nتۆ وەکوو {you} بەشداری دەکەیت.",
|
||||
"change": "گۆڕین"
|
||||
},
|
||||
"export": {
|
||||
"export_filename": "چەت لە {date} دەرهێنرا",
|
||||
"exported_date": "لە {date} دەرهێنرا",
|
||||
"fetched_n_events": "{count} ڕووداو هێنرا",
|
||||
"fetched_n_of_total_events": "{count} لە {total} ڕووداو هێنرا",
|
||||
"processed_n_of_total_events": "میدیای پڕۆسێسکراو بۆ {count} لە {total} ڕووداو"
|
||||
},
|
||||
"menu": {
|
||||
"start_private_chat": "پەیامی ڕاستەوخۆ لەگەڵ ئەم بەکارهێنەرە",
|
||||
"direct_chat": "چەتی ڕاستەوخۆ",
|
||||
"reply": "وەڵامدانەوە",
|
||||
"edit": "دەستکاری",
|
||||
"delete": "سڕینەوە",
|
||||
"download": "داگرتن",
|
||||
"ok": "باشە",
|
||||
"done": "ئەنجام درا",
|
||||
"cancel": "هەڵوەشاندنەوە",
|
||||
"send": "ناردن",
|
||||
"back": "گەڕانەوە",
|
||||
"login": "چوونەژوورەوە",
|
||||
"logout": "چوونەدەرەوە",
|
||||
"new_room": "ژووری نوێ",
|
||||
"undo": "پاشگەزبوونەوە",
|
||||
"delete_now": "ئێستا بیسڕەوە",
|
||||
"join": "بەشداریکردن",
|
||||
"ignore": "پشتگوێخستن",
|
||||
"loading": "بارکردنی {appName}",
|
||||
"user_kick_and_ban": "کردنە دەرەوە",
|
||||
"user_make_admin": "بیکە بە بەڕێوەبەر",
|
||||
"user_make_moderator": "بیکە بە نێوبژیوان",
|
||||
"user_revoke_moderator": "لە نێوبژیوانی لایببە"
|
||||
},
|
||||
"message": {
|
||||
"you": "تۆ",
|
||||
"user_created_room": "{user} ژوورەکەی دروست کرد",
|
||||
"user_aliased_room": "{user} ژوورەکەی کرد بە ئالیاس {alias}",
|
||||
"user_changed_display_name": "{user} ناوی پیشاندراوی گۆڕا بۆ {displayName}",
|
||||
"user_changed_avatar": "{user} ئاڤاتار گۆڕا",
|
||||
"user_changed_room_avatar": "{user} ئاڤاتاری ژوورەکە گۆڕا",
|
||||
"user_encrypted_room": "{user} ژوورەکەی کردە کۆدکراو",
|
||||
"user_was_invited": "{user} بانگهێشت کرا بۆ چەتەکە...",
|
||||
"user_was_kicked": "{user} لە چەتەکە کرایە دەرەوە.",
|
||||
"user_was_kicked_by_you": "تۆ {user}ت لە چەتەکە کردە دەرەوە.",
|
||||
"user_was_kicked_you": "لە چەتەکە دەرکرایت.",
|
||||
"user_was_banned": "{user} لە چەتەکە کرایە دەرەوە و لیێ قەدەغە کرا.",
|
||||
"user_was_banned_by_you": "تۆ {user}ت لە چەتەکە کردە دەرەوە و لێت قەدەغە کرد.",
|
||||
"user_was_banned_you": "تۆ لە چەتەکە کرایتە دەرەوە و لێت قەدەغە کرا.",
|
||||
"user_joined": "{user} بەشدارە لە چەتەکە",
|
||||
"user_left": "{user} لە چەتەکە چووە دەرەوە",
|
||||
"someone": "کەسێک",
|
||||
"user_said": "{user} وتی:",
|
||||
"sent_media": "{count} بابەتی میدیایی بنێرە.",
|
||||
"file_prefix": "فایل: ",
|
||||
"edited": "(دەستکاری کراوە)",
|
||||
"download_progress": "{percentage}% داگیراوە",
|
||||
"preparing_to_upload": "ئامادە دەکرێت بۆ بارکردن...",
|
||||
"upload_file_too_large": "فایلەکە زۆر گەورەیە بۆ بارکردن!",
|
||||
"upload_exceeded_file_limit": "لە زۆرترین ئەندازەی ڕێگەدراو ({configFormattedUploadSize}) لای داوە. ",
|
||||
"upload_progress": "بارکراو {count}",
|
||||
"upload_progress_with_total": "بارکراو {count} لە {total}",
|
||||
"user_changed_room_history": "{user} مێژووی ژووری دروست کرد {type}",
|
||||
"room_history_world_readable": "هەموو کەسێک دەتوانێت بیخوێنێتەوە",
|
||||
"room_history_shared": "هەموو ئەندامانی نێو ژوورەکە دەتوانن بیخوێننەوە",
|
||||
"room_history_invited": "ئەندامان لەو کاتەوە کە داوەت کراون دەتوانن بیخوێننەوە",
|
||||
"room_history_joined": "ئەندامان لەو کاتەوە کە بەشدار بوونە دەتوانن بیخوێننەوە",
|
||||
"user_changed_join_rules": "{user} ژوورەکەی دروست کرد {type}",
|
||||
"room_joinrule_invite": "تەنیا داوەت بکە",
|
||||
"room_joinrule_public": "گشتی",
|
||||
"user_changed_room_name": "{user} ناوی ژوورەکەی گۆڕی بۆ {name}",
|
||||
"user_changed_room_topic": "{user} بابەتی ژوورەکەی گۆڕی بوو {topic}",
|
||||
"unread_messages": "پەیامە نەخوێنراوەکان",
|
||||
"replying_to": "وەڵامدانەوە بە {user}",
|
||||
"your_message": "پەیامی تۆ...",
|
||||
"scale_image": "وێنەی پێوەر",
|
||||
"user_is_typing": "{user} تایپ دەکات",
|
||||
"users_are_typing": "{count} ئەندام خەریکن تایپ دەکەن",
|
||||
"room_powerlevel_change": "{user} ئاستی هێزی گۆڕی بۆ {changes}",
|
||||
"user_powerlevel_change_from_to": "{user} لە {powerOld} بۆ {powerNew}",
|
||||
"user_changed_guest_access_closed": "{user} ڕێگەی گرت لە بەشداریکردنی میوان لە ژوورەکە",
|
||||
"user_changed_guest_access_open": "{user} ڕێگەی دا بە بەشداریکردنی میوان لە ژوورەکە",
|
||||
"reply_image": "وێنە",
|
||||
"reply_audio_message": "پەیامی دەنگ",
|
||||
"reply_video": "ڤیدیۆ",
|
||||
"reply_poll": "ڕاپرسی",
|
||||
"time_ago": "ئەمڕۆ | دوێنێ | {count} ڕۆژ لەمەوبەر",
|
||||
"outgoing_message_deleted_text": "ئەم پەیامەت سڕیەوە.",
|
||||
"incoming_message_deleted_text": "ئەم پەیامە سڕدرایەوە.",
|
||||
"not_allowed_to_send": "تەنیا بەڕێوەبەر و نێوبژیوانەکان دەتوانن شت بنێرن بۆ ژوورەکە",
|
||||
"reaction_count_more": "{reactionCount} ی تر",
|
||||
"seen_by_count": "لەلایەن هیچ ئەندامێکەوە نەبینراوە | لەلایەن 1 ئەندامەوە بینراوە |لەلایەن {count} ئەندامەوە بینراوە",
|
||||
"seen_by": "بینراوە لەلایەن",
|
||||
"file": "فایل",
|
||||
"files": "فایلەکان",
|
||||
"send_attachements_dialog_title": "دەتەوێت ئەم هاوپێچانەی خوارەوە بنێریت؟",
|
||||
"images": "وێنەکان",
|
||||
"download_all": "هەموویان دابگرە",
|
||||
"failed_to_render": "نەیتوانی کۆتایی بە رەوتی ڕووداوەکە بێنێت"
|
||||
},
|
||||
"new_room": {
|
||||
"new_room": "ژووری نوێ",
|
||||
"create": "دروستکردن",
|
||||
"next": "دواتر",
|
||||
"name_room": "ناوی ژوور",
|
||||
"room_topic": "ئەگەر دتەوێت وەسفێک زیاد بکە",
|
||||
"set_join_permissions": "مۆڵەتەکانی بەشداریی دیاری بکە",
|
||||
"join_permissions": "مۆڵەتەکانی بەشداریی",
|
||||
"join_permissions_info": "ئەم مۆڵەتانە دیاری دەکەن کە چۆن خەڵک دەتوانن بەشداریی ژوورەکە بکەن و چەندە ئاسان دەکرێت کەسانی دیکە بانگهێشت بکرێن. هەموو کاتێک دەکرێت بگۆڕدرێن.",
|
||||
"get_link": "دەستخستنی لینک",
|
||||
"add_people": "زیادکردنی خەڵک",
|
||||
"link_copied": "لینک کۆپی کرا!",
|
||||
"public_info": "هەرکەسێک کە لینکەکەی هەیە",
|
||||
"public_description": "لینکێک دەست بخە بۆ هاوبەشکردن",
|
||||
"invite_info": "تەنیا کەسانی زێدەکراو",
|
||||
"invite_description": "لە لیستێک هەڵبژێرە یان بەپێی ناسنامەی ئەکاونت بگەڕێ",
|
||||
"status_creating": "دروستکردنی ژوور",
|
||||
"status_avatar_total": "بارکردنی ئاڤاتار: {count} لە {total}",
|
||||
"status_avatar": "بارکردنی ئاڤاتار: {count}",
|
||||
"room_name_limit_error_msg": "ئەوپەڕی 50 کاراکتەر ڕێگە دراوە",
|
||||
"colon_not_allowed": "جووتخاڵ ڕێگە نەدراوە",
|
||||
"options": "بژاردەکان"
|
||||
},
|
||||
"device_list": {
|
||||
"blocked": "بلۆککراو",
|
||||
"verified": "پشتڕاستکراو",
|
||||
"not_verified": "پشتڕاستنەکراو"
|
||||
},
|
||||
"login": {
|
||||
"title": "چوونەژوورەوە",
|
||||
"username": "ناوی بەکارهێنەر (بۆ نموونە: مارتا)",
|
||||
"password": "تێپەڕوشە داخڵ بکە",
|
||||
"username_required": "ناوی بەکارهێنەر پێویستە",
|
||||
"password_required": "تێپەڕوشە پێویستە",
|
||||
"login": "چوونەژوورەوە",
|
||||
"create_room": "تۆمارکردن و دروستکردنی ژوور",
|
||||
"or": "یان",
|
||||
"invalid_message": "ناوی بەکارهێنەر یان تێپەڕوشە نادروستە",
|
||||
"no_supported_flow": "ئەپەکە ناتوانێت بچێتە ناو سێرڤەری پێدراو",
|
||||
"terms": "هۆم سێرڤەر داوات لێدەکات پێداچوونەوە بەم سیاسەتانەی خوارەوە بکەیت و پەسەندیان بکەیت:",
|
||||
"accept_terms": "پەسەندکردن",
|
||||
"email": "پێویستە ناوپیشانی ئیمەیلەکەت پشتڕاست بکەیتەوە",
|
||||
"send_verification": "ئیمەیلی پشتڕاستکردنەوە بنێرە",
|
||||
"sent_verification": "ئیمەیلێک بۆ {email} نێردراوە. تکایە بەرنامەی ئیمەیلی ئاسایی خۆت بە کار بهێنە بۆ پشتڕاستکردنەوەی ناوپیشانەکە.",
|
||||
"resend_verification": "دیسان ئیمەیلی پشتڕاستکردنەوە بنێرە",
|
||||
"email_not_valid": "ناوپیشانی ئیمەیل دروست نییە",
|
||||
"registration_token": "تکایە تۆکەنی تۆمارکردن داخڵ بکە",
|
||||
"send_token": "تۆکەن بنێرە",
|
||||
"token_not_valid": "تۆکەن نادروستە"
|
||||
},
|
||||
"getlink": {
|
||||
"username": "ناوێکی سەرشاشە داخڵ بکە (بۆ نموونە: waku)",
|
||||
"next": "دواتر",
|
||||
"title": "لینکی ڕاستەوخۆ وەربگرە",
|
||||
"info": "لینکە ڕاستەوخۆکان هێڵێکی پارێزراوی پەیوەندیکردن لەگەڵ تۆ بە خەڵک دەدەن. بۆ دەستپێکردن، ناوێکی سەرشاشە هەڵبژێرە کە کاتێک خەڵک دێنە نێو چەتێک لەگەڵ تۆ پیشان بدرێت.",
|
||||
"hello": "سڵاو {user}،\nئەمە لینکی ڕاستەوخۆی تۆیە",
|
||||
"ready_to_share": "ئامادەیە بۆ هاوبەشکردن! هەر جارێک کەسێک لینکەکە دەکاتەوە ژوورێکی ڕاستەوخۆی نوێ دەکرێتەوە.",
|
||||
"scan_title": "بۆ دەستپێکردنی چەتی ڕاستەوخۆ ئەم کۆدە سکان بکە",
|
||||
"continue": "بەردەوام بە",
|
||||
"qr_image_copied": "وێنەکە کۆپی کرایە نێو کلیپبۆرد",
|
||||
"different_link": "لینکێکی تر وەربگرە",
|
||||
"share_qr": "کۆدی QR هاوبەش بکە"
|
||||
},
|
||||
"createchannel": {
|
||||
"title": "کەناڵێک دروست بکە",
|
||||
"info": "هەواڵ یان زانیاری بە هەر فۆرماتێک — ڤیدیۆ، پۆدکاست، دەق، وێنە یان PDF.",
|
||||
"channel_name": "ناوێک لە کەناڵەکەت دابنێ",
|
||||
"channel_topic": "وەسفی بکە",
|
||||
"name_required": "ناوی کەناڵ پێویستە",
|
||||
"error_channel": "کەناڵ دروست نەکرا"
|
||||
},
|
||||
"profile": {
|
||||
"title": "پڕۆفایلی من",
|
||||
"temporary_identity": "ئەم ناسنامەیە کاتییە. تێپەڕوشەیەک دروست بکە بۆ ئەوەی دووبارە بە کاری بهێنیت",
|
||||
"change_name": "گۆڕینی ناو",
|
||||
"change_password": "گۆڕینی تێپەڕوشە",
|
||||
"select_language": "زمان",
|
||||
"set_password": "تێپەڕوشە دیاری بکە",
|
||||
"set_language": "زمانەکەت دیاری بکە",
|
||||
"language_description": "کۆنڤێن بە چەندین زمان بەردەستە.",
|
||||
"dont_see_yours": "هی خۆت نابینیت؟",
|
||||
"tell_us": "پێمان بڵێ.",
|
||||
"password_old": "تێپەڕوشەی کۆن",
|
||||
"password_new": "تێپەڕوشەی نوێ",
|
||||
"password_repeat": "تێپەڕوشەی نوێ دووبارە بکەوە",
|
||||
"display_name": "ناوی سەرشاشە",
|
||||
"display_name_required": "ناوی سەرشاشە پێویستە",
|
||||
"notification_label": "ئاگادارکردنەوە"
|
||||
},
|
||||
"profile_info_popup": {
|
||||
"you_are": "تۆ ئەمەیت",
|
||||
"identity": "{displayName}",
|
||||
"identity_temporary": "{displayName}",
|
||||
"edit_profile": "پڕۆفایل دەستکاری بکە",
|
||||
"logout": "چوونەدەرەوە",
|
||||
"want_more": "زیاترت دەوێت؟",
|
||||
"powered_by": "ئەم ژوورە بە {product} کار دەکات. لە {productLink} زیاتر بزانە یان بڕۆ ژوورێکی تر دروست بکە!",
|
||||
"new_room": "ژووری نوێ"
|
||||
},
|
||||
"join": {
|
||||
"title": "بە خێر بێیت، تۆ بانگهێشت کراویت کە بەشداری بکەیت",
|
||||
"title_user": "بە خێر بێیت، بانگهێشت کراویت بۆ چەتکردن لەگەڵ",
|
||||
"user_name_label": "ناوی بەکارهێنەر",
|
||||
"remember_me": "منت لەبیر بێت",
|
||||
"joining_as": "تۆ بەم ناوەوە بەشداری دەکەیت:",
|
||||
"join": "بچۆ نێو ژوورەکە",
|
||||
"join_user": "دەست بکە بە چەتکردن",
|
||||
"enter_room": "بچۆ نێو ژوورەکە",
|
||||
"enter_room_user": "دەست بکە بە چەتکردن",
|
||||
"status_logging_in": "خەریکە دەچێتە ژوورەوە...",
|
||||
"status_joining": "خەریکە دەچێتە نێو ژوورەکە",
|
||||
"join_failed": "نەیتوانی بچێتە ژوورەوە.",
|
||||
"choose_name": "ناوێک هەڵبژێرە بۆ بەکارهێنان",
|
||||
"you_have_been_banned": "تۆ لەم ژوورە بلۆک کراویت."
|
||||
},
|
||||
"invite": {
|
||||
"title": "هاوڕێ زێدە بکە",
|
||||
"done": "ئەنجام درا",
|
||||
"send_invites_to": "بانگهێشت بنێرە بۆ",
|
||||
"status_inviting": "بانگهێشتکردنی هاوڕێ {index} لە {count}",
|
||||
"status_error": "نەیتوانی یەک یان چەند هاوڕێ بانگهێشت بکات!"
|
||||
},
|
||||
"leave": {
|
||||
"title_public": "خوات لەگەڵ، {user}",
|
||||
"text_public_lastroom": "ئەگەر دەتەوێت جارێکی تر بەشداری لەم ژوورەدا بکەیت، دەتوانیت بە ناسنامەیەکی نوێوە بەشداری بکەیت. بۆ هێشتنەوەی {user}، {action}.",
|
||||
"title_invite": "دڵنیایت کە دەتەوێت ئێرە بە جێ بهێڵیت؟",
|
||||
"text_invite": "ئەم ژوورە قوفڵە. بەبێ مۆڵەتی تایبەت ناتوانیت دیسان بەشداریی بکەیتەوە.",
|
||||
"create_account": "هەژمارێک دروست بکە",
|
||||
"go_back": "بگەڕێوە دواوە",
|
||||
"text_public": "هەمیشە دەتوانیت دووبارە بەشداری لەم ژوورەدا بکەیت ئەگەر لینکەکە بزانیت.",
|
||||
"leave": "جێهێشتن"
|
||||
},
|
||||
"logout": {
|
||||
"confirm_text": "دڵنیایت کە دەتەوێت بچیتە دەرەوە ؟"
|
||||
},
|
||||
"purge_room": {
|
||||
"title": "دتەوێت ژوورەکە بسڕیتەوە؟",
|
||||
"info": "هەموو ئەندامان و پەیامەکان لادەبرێن. ئیتر ناتوانیت لەم کردە پاشگەز ببیتەوە.",
|
||||
"button": "سڕینەوە",
|
||||
"n_seconds": "{seconds} چرکە",
|
||||
"self_destruct": "ژوورەکەت تا چەند چرکەی تر خۆی لەناو دەبات.",
|
||||
"deleting": "سڕینەوەی ژوور:",
|
||||
"notified": "ئێمە ئەندامەکانمان ئاگادار کردووەتەوە.",
|
||||
"room_deletion_notice": "کاتی ماڵئاواییە! ئەم ژوورە لەلایەن {user}ـەوە سڕاوەتەوە. تا چەند چرکەی تر خۆی لەناو دەبات."
|
||||
},
|
||||
"room_info": {
|
||||
"created_by": "{user} دروستی کردووە",
|
||||
"title": "وردەکاریی ژوور",
|
||||
"permissions": "مۆڵەتەکانی بەشداریی",
|
||||
"join_invite": "تەنیا کەسانی زێدەکراو",
|
||||
"join_public": "هەرکەسێک کە لینکەکەی هەیە",
|
||||
"copy_invite_link": "لینکی بانگهێشت کۆپی بکە",
|
||||
"copy_link": "کۆپیکردنی لینک",
|
||||
"link_copied": "لینک کۆپی کرا!",
|
||||
"purge": "سڕینەوەی ژوور",
|
||||
"members": "ئەندامەکان",
|
||||
"user": "{user}",
|
||||
"user_you": "{user} (تۆ)",
|
||||
"hide_all": "شاردنەوە",
|
||||
"show_all": "هەمووی پیشان بدە >",
|
||||
"leave_room": "جێهێشتن",
|
||||
"file_mode_info": "ڕووکاری چەتەکە دەگۆڕێت بۆ دۆخی «فایل دراپ»",
|
||||
"version_info": "پڕۆژەی گاردیەن پاڵپشتی دەکات. وەشان: {version}",
|
||||
"scan_code": "بۆ بەشداریکردن لە ژوورەکە سکان بکە",
|
||||
"export_room": "دەرهێنانی چەت",
|
||||
"user_admin": "کارگێڕ",
|
||||
"user_moderator": "نێوبژیوان",
|
||||
"moderation": "نێوبژیوانیی",
|
||||
"experimental_features": "تایبەتمەندییە تاقیکارییەکان",
|
||||
"room_type": "جۆری ژوور",
|
||||
"room_type_default": "گریمانە",
|
||||
"voice_mode": "دۆخی دەنگ",
|
||||
"voice_mode_info": "ڕووکاری چەت دەگۆڕێت بۆ دۆخی «گوێ بگرە و تۆمار بکە»",
|
||||
"file_mode": "دۆخی فایل",
|
||||
"download_chat": "داگرتنی چەت",
|
||||
"read_only_room": "بەس بۆ خوێندنەوە",
|
||||
"read_only_room_info": "تەنیا ئەدمین و نێوبژیوانەکان ڕێگەیان پێدەدرێت شت بنێرن بۆ ژوورەکە.",
|
||||
"message_retention": "مێژووی پەیام",
|
||||
"message_retention_none": "ناچالاک",
|
||||
"message_retention_info": "هەکەسێک لینکەکەی هەبێت دەتوانێت ئەو پەیامانەی لەم ماوەیەدا دەنێردرێن ببینێت.",
|
||||
"message_retention_4_week": "4 حەفتە",
|
||||
"message_retention_2_week": "2 حەفتە",
|
||||
"message_retention_1_week": "1 حەفتە",
|
||||
"message_retention_1_day": "1 ڕۆژ",
|
||||
"message_retention_8_hours": "8 کاتژمێر",
|
||||
"message_retention_1_hour": "1 کاتژمێر",
|
||||
"make_public": "بیکە بە گشتی",
|
||||
"make_public_warning": "ئاگاداری: بەشداربووانی نوێ دەتوانن مێژووی تەواوی پەیامەکان ببینن",
|
||||
"direct_link": "لینکی ڕاستەوخۆی من",
|
||||
"direct_link_desc": "ئامادەیە بۆ هاوبەشکردن! هەر جارێک کەسێک لینکەکە دەکاتەوە ژوورێکی ڕاستەوخۆی نوێ دەکرێتەوە.",
|
||||
"shared_room_number": "تۆ {count} ژوور هاوبەش دەکەیت لەگەڵ {name}",
|
||||
"shared_room_number_more": "زیاتر لە {count} ژوور هاوبەش دەکەیت لەگەڵ {name}"
|
||||
},
|
||||
"goodbye": {
|
||||
"room_deleted": "ژوورەکە سڕدرایەوە.",
|
||||
"close_tab": "تەبی براوسەر دابخە",
|
||||
"view_other_rooms": "ژوورەکانی تر ببینە"
|
||||
},
|
||||
"room_info_sheet": {
|
||||
"this_room": "ئەم ژوورە",
|
||||
"view_details": "بینینی وردەکارییەکان"
|
||||
},
|
||||
"voice_recorder": {
|
||||
"swipe_to_cancel": "بۆ هەڵوەشاندنەوە لایدە",
|
||||
"release_to_cancel": "بۆ هەڵوەشاندنەوە ئازادی بکە",
|
||||
"failed_to_record": "نەیتوانی دەنگ تۆمار بکات",
|
||||
"not_supported_title": "پاڵپشتی ناکرێت",
|
||||
"not_supported_text": "بەداخەوە، ئەم براوسەرە پشتگیریی تۆمارکردنی دەنگ ناکات."
|
||||
},
|
||||
"power_level": {
|
||||
"admin": "کارگێڕ",
|
||||
"moderator": "نێوبژیوان",
|
||||
"default": "گریمانە",
|
||||
"custom": "دڵخواز ({level})",
|
||||
"restricted": "سنووردار"
|
||||
},
|
||||
"fallbacks": {
|
||||
"audio_file": "فایلی دەنگ",
|
||||
"video_file": "فایلی ڤیدیۆ",
|
||||
"original_text": "<original text>",
|
||||
"download_name": "داگرتن"
|
||||
},
|
||||
"poll_create": {
|
||||
"title": "دروستکردنی ڕاپرسیی نوێ",
|
||||
"create": "بڵاوکردنەوە",
|
||||
"creating": "دروستکردنی ڕاپرسی",
|
||||
"poll_disclosed": "کراوە - دەرەنجامەکانی ئێستا لە هەموو کاتێکدا پیشان دەدرێن.",
|
||||
"poll_undisclosed": "داخراو - بەکارهێنەران دوای داخرانی ڕاپرسییەکە دەرەنجامەکان دەبینن.",
|
||||
"add_answer": "زیادکردنی وەڵام",
|
||||
"failed": "ڕاپرسی دروست نەکرا، تکایە دواتر هەوڵ بدەوە.",
|
||||
"question_label": "پرسیارەکەت بکە*",
|
||||
"question_required": "پێویستە پرسیارێک داخڵ بکەیت!",
|
||||
"answer_label_1": "وەڵام*",
|
||||
"answer_label_n": "وەڵام",
|
||||
"please_complete": "تکایە تەواوی بکە",
|
||||
"answer_required": "وەڵام ناکرێت بەتاڵ بێت. تکایە هەندێک دەق دابنێ یان ئەم بژاردەیە لاببە.",
|
||||
"tip_title": "ڕێنمای پسپۆڕ",
|
||||
"tip_text": "ئەندامان دوای وەڵامدانەوە دەرەنجامی ڕاپرسییەکە دەبینن. کاتێک کارت تەواو بوو ڕاپرسییەکە دابخە بۆ ئەوەی دەرەنجامەکان پیشانی هەموو کەسانی نێو ژوورەکە بدەیت.",
|
||||
"create_poll_menu_option": "دروستکردنی ڕاپرسی",
|
||||
"poll_status_closed": "ڕاپرسی داخراوە",
|
||||
"poll_status_disclosed": "دەرەنجامەکان کاتێک پیشان دەدرێن کە ڕاپرسییەکە داخرابێت.",
|
||||
"poll_status_open": "ڕاپرسی کراوەیە",
|
||||
"poll_status_open_not_voted": "ڕاپرسی کراوەیە - بۆ بینینی دەرەنجامەکان دەنگ بدە",
|
||||
"view_results": "بینینی دەرەنجامەکان",
|
||||
"close_poll": "داخستنی ڕاپرسی",
|
||||
"poll_submit": "ناردن",
|
||||
"num_answered": "{count} وەڵام",
|
||||
"results_shared": "دەرەنجامەکان لە ژوورەکە هاوبەش کران."
|
||||
},
|
||||
"notification": {
|
||||
"dialog": {
|
||||
"title": "بە ئاگادارکردنەوەکانی چەت بەردەوام لە پەیوەندیدا بمێنەوە!",
|
||||
"body": "جارێکی تر هەرگیز پەیامێک یان گفتوگۆیەکی گرنگ لەدەست مەدە! هەرکاتێک کەسێک پەیامێکت بۆ دەنێرێت یان وەڵامی چەتەکەت دەداتەوە ئاگادار ببە.",
|
||||
"enable": "چالاککردن"
|
||||
},
|
||||
"title": "پەیامی نوێ وەرگیرا",
|
||||
"blocked_message": "ئاگادارکردنەوە بلۆک کراوە. بۆ چالاککردنی ئاگادارکردنەوە بڕۆ بۆ بەشی ڕێکخستنەکانی ئامێرەکەت یان براوسەرەکەت",
|
||||
"not_supported": "هێشتا ئاگادارکردنەوە لە مۆبایلدا پشتگیری ناکرێت",
|
||||
"periodicSync_new_msg_reminder": "لەوانەیە پەیامی نوێت هەبێت"
|
||||
},
|
||||
"emoji": {
|
||||
"search": "گەڕان...",
|
||||
"categories": {
|
||||
"activity": "چالاکی",
|
||||
"flags": "ئاڵاکان",
|
||||
"foods": "خواردنەکان",
|
||||
"frequently": "زۆر بەکارهێنراو",
|
||||
"objects": "شتەکان",
|
||||
"nature": "سروشت",
|
||||
"peoples": "کەسەکان",
|
||||
"symbols": "هێماکان",
|
||||
"places": "شوێنەکان"
|
||||
}
|
||||
},
|
||||
"file_mode": {
|
||||
"choose_files": "فایل هەڵبژێرە",
|
||||
"any_file_format_accepted": "هەموو فۆرماتێکی فایل پەسەندە",
|
||||
"secure_file_send": "ناردنی فایل بە شێوەی پارێزراو",
|
||||
"add_a_message": "زیادکردنی پەیام",
|
||||
"sending_progress": "خەریکە دەینێرێت...",
|
||||
"sending": "ناردن",
|
||||
"files_sent": "1 فایل نێردرا! | {count} فایل نێردرا!",
|
||||
"files_sent_with_note": "1 فایل نێردرا بە تێبینیەکەوە! | {count} فایل نێردرا بە تێبینیەکەوە!",
|
||||
"send_more_files": "فایلی زیاتر بنێرە",
|
||||
"close": "داخستن",
|
||||
"files": "فایلەکان"
|
||||
}
|
||||
}
|
||||
444
src/assets/translations/lo.json
Normal file
444
src/assets/translations/lo.json
Normal file
|
|
@ -0,0 +1,444 @@
|
|||
{
|
||||
"global": {
|
||||
"save": "ບັນທຶກ",
|
||||
"time": {
|
||||
"recently": "ຕອນນີ້",
|
||||
"minutes": "1 ນາທີກ່ອນນີ້ | {n} ນາທີກ່ອນນີ້",
|
||||
"hours": "1 ຊົ່ວໂມງກ່ອນນີ້ | {n} ຊົ່ວໂມງກ່ອນນີ້",
|
||||
"days": "1 ວັນກ່ອນນີ້ | {n} ວັນກ່ອນນີ້"
|
||||
},
|
||||
"password_didnot_match": "ລະຫັດຜ່ານບໍ່ກົງກັນ",
|
||||
"show_less": "ສະແດງໜ້ອຍລົງ",
|
||||
"password_hint": "ຕ່ຳສຸດ 12 ຕົວອັກສອນທີ່ມີຢ່າງໜ້ອຍໜຶ່ງຕົວເລກ, ຕົວອັກສອນໃຫຍ່ໜຶ່ງຕົວ ແລະ ຕົວອັກສອນນ້ອຍໜຶ່ງຕົວ",
|
||||
"show_more": "ສະແດງເພີ່ມເຕີມ",
|
||||
"add_reaction": "ເພີ່ມປະຕິກິລິຍາ",
|
||||
"click_to_remove": "ຄລິກເພື່ອເອົາອອກ",
|
||||
"close": "ປິດ",
|
||||
"notify": "ແຈ້ງເຕືອນ",
|
||||
"different_browser_title": "ລອງບຣາວເຊີອື່ນ",
|
||||
"different_browser_content": "ບາງຄຸນສົມບັດອາດຈະແຕກ. ສຳເນົາ ແລະ ເປີດລິ້ງໃນບຣາວເຊີອື່ນ"
|
||||
},
|
||||
"language_display_name": "ພາສາອັງກິດ",
|
||||
"menu": {
|
||||
"edit": "ແກ້ໄຂ",
|
||||
"delete": "ລຶບ",
|
||||
"download": "ດາວໂຫຼດ",
|
||||
"cancel": "ຍົກເລີກ",
|
||||
"login": "ເຂົ້າສູ່ລະບົບ",
|
||||
"start_private_chat": "ສົ່ງຂໍ້ຄວາມໂດຍກົງກັບຜູ້ໃຊ້ນີ້",
|
||||
"direct_chat": "ສົນທະນາໂດຍກົງ",
|
||||
"reply": "ຕອບກັບ",
|
||||
"ok": "ຕົກລົງ",
|
||||
"done": "ສຳເລັດແລ້ວ",
|
||||
"send": "ສົ່ງ",
|
||||
"back": "ກັບຄືນ",
|
||||
"logout": "ອອກຈາກລະບົບ",
|
||||
"user_kick_and_ban": "ຖືກໄລ່ອອກ",
|
||||
"new_room": "ຫ້ອງໃໝ່",
|
||||
"user_make_admin": "ເຮັດໃຫ້ເປັນແອັດມິນ",
|
||||
"undo": "ຍົກເລີກ",
|
||||
"delete_now": "ລຶບຕອນນີ້",
|
||||
"join": "ເຂົ້າຮ່ວມ",
|
||||
"ignore": "ບໍ່ສົນໃຈ",
|
||||
"loading": "ກຳລັງໂຫຼດ {appName}",
|
||||
"user_make_moderator": "ເຮັດໃຫ້ເປັນຜູ້ຄວບຄຸມ",
|
||||
"user_revoke_moderator": "ຖອນຜູ້ຄວບຄຸມອອກ"
|
||||
},
|
||||
"message": {
|
||||
"you": "ທ່ານ",
|
||||
"user_created_room": "{user} ສ້າງຫ້ອງແລ້ວ",
|
||||
"user_aliased_room": "{user} ຕັ້ງຊື່ຫ້ອງເປັນ {alias}",
|
||||
"user_changed_display_name": "{user} ປ່ຽນຊື່ທີ່ໃຊ້ສະແດງເປັນ {displayName}",
|
||||
"user_changed_room_avatar": "{user} ປ່ຽນອາວະຕາຫ້ອງແລ້ວ",
|
||||
"user_encrypted_room": "{user} ໄດ້ສ້າງຫ້ອງທີ່ໃສ່ລະຫັດແລ້ວ",
|
||||
"user_was_invited": "{user} ຖືກເຊີນໃຫ້ເຂົ້າຮ່ວມການສົນທະນາ...",
|
||||
"user_changed_avatar": "{user} ປ່ຽນອາວະຕາແລ້ວ",
|
||||
"user_was_kicked": "{user} ຖືກໄລ່ອອກຈາກການສົນທະນາ.",
|
||||
"user_was_kicked_by_you": "ທ່ານໄດ້ໄລ່ {user} ອອກຈາກການສົນທະນາ.",
|
||||
"user_was_kicked_you": "ທ່ານຖືກໄລ່ອອກຈາກການສົນທະນາ.",
|
||||
"user_was_banned": "{user} ຖືກໄລ່ອອກ ແລະ ຖືກຫ້າມຈາກການສົນທະນາ.",
|
||||
"user_was_banned_by_you": "ທ່ານໄດ້ໄລ່ ແລະ ຫ້າມ {user} ຈາກການສົນທະນາ.",
|
||||
"user_was_banned_you": "ທ່ານຖືກໄລ່ອອກ ແລະ ຖືກຫ້າມຈາກການສົນທະນາ.",
|
||||
"user_joined": "{user} ເຂົ້າຮ່ວມການສົນທະນາແລ້ວ",
|
||||
"user_left": "{user} ອອກຈາກການສົນທະນາແລ້ວ",
|
||||
"someone": "ບາງຄົນ",
|
||||
"user_said": "{user} ເວົ້າວ່າ:",
|
||||
"sent_media": "ສົ່ງ {count}ລາຍການມີເດຍ.",
|
||||
"file_prefix": "ໄຟລ໌: ",
|
||||
"edited": "(ແກ້ໄຂແລ້ວ)",
|
||||
"download_progress": "ດາວໂຫຼດແລ້ວ {percentage}%",
|
||||
"preparing_to_upload": "ກຳລັງກຽມດາວໂຫຼດ...",
|
||||
"upload_file_too_large": "ໄຟລ໌ໃຫຍ່ເກີນໄປທີ່ຈະອັບໂຫຼດ!",
|
||||
"upload_exceeded_file_limit": "ຂະໜາດໄຟລ໌ສູງສຸດຂອງ ({configFormattedUploadSize}) ເກີນຂະໜາດ. ",
|
||||
"upload_progress": "ອັບໂຫຼດ {count}",
|
||||
"upload_progress_with_total": "ອັບໂຫຼດ {count} ຈາກ {total}",
|
||||
"user_changed_room_history": "{user} ສ້າງປະຫວັດຫ້ອງ {type}",
|
||||
"room_history_world_readable": "ທຸກຄົນສາມາດອ່ານໄດ້",
|
||||
"room_history_shared": "ສະມາຊິກທຸກຄົນໃນຫ້ອງສາມາດອ່ານໄດ້",
|
||||
"room_history_invited": "ເມື່ອໄດ້ຮັບຄຳເຊີນ, ສະມາຊິກໃນຫ້ອງສາມາດອ່ານໄດ້",
|
||||
"room_history_joined": "ສະມາຊິກສາມາດອ່ານໄດ້ໃນເວລາທີ່ພວກເຂົາເຂົ້າຮ່ວມແລ້ວ",
|
||||
"user_changed_join_rules": "{user} ສ້າງຫ້ອງ {type}",
|
||||
"room_joinrule_invite": "ເຊີນເທົ່ານັ້ນ",
|
||||
"room_joinrule_public": "ສາທາລະນະ",
|
||||
"user_changed_room_name": "{user} ປ່ຽນຊື່ຫ້ອງເປັນ {name}",
|
||||
"user_changed_room_topic": "{user} ປ່ຽນຫົວຂໍ້ຫ້ອງເປັນ {topic}",
|
||||
"unread_messages": "ຂໍ້ຄວາມທີ່ຍັງບໍ່ໄດ້ອ່ານ",
|
||||
"replying_to": "ກຳລັງຕອບກັບ {user}",
|
||||
"your_message": "ຂໍ້ຄວາມຂອງທ່ານ...",
|
||||
"scale_image": "ຂະໜາດຮູບພາບ",
|
||||
"user_is_typing": "{user} ກຳລັງພິມ",
|
||||
"users_are_typing": "ສະມາຊິກ {count} ຄົນກຳລັງພິມ",
|
||||
"room_powerlevel_change": "{user} ໄດ້ປ່ຽນລະດັບການຂັບເຄື່ອນຂອງ {changes}",
|
||||
"user_powerlevel_change_from_to": "{user} ຈາກ {powerOld} ເປັນ {powerNew}",
|
||||
"user_changed_guest_access_closed": "{user} ຍົກເລີກການອະນຸຍາດໃຫ້ແຂກເຂົ້າຮ່ວມໃນຫ້ອງ",
|
||||
"user_changed_guest_access_open": "{user} ໄດ້ອະນຸຍາດໃຫ້ແຂກເຂົ້າຮ່ວມໃນຫ້ອງ",
|
||||
"reply_image": "ຮູບພາບ",
|
||||
"reply_audio_message": "ຂໍ້ຄວາມສຽງ",
|
||||
"reply_video": "ວີດີໂອ",
|
||||
"reply_poll": "ການສຳຫຼວດ",
|
||||
"time_ago": "ມື້ນີ້ | ມື້ວານນີ້ | {count} ວັນກ່ອນນີ້",
|
||||
"outgoing_message_deleted_text": "ທ່ານໄດ້ລຶບຂໍ້ຄວາມນີ້.",
|
||||
"incoming_message_deleted_text": "ຂໍ້ຄວາມນີ້ຖືກລຶບແລ້ວ.",
|
||||
"not_allowed_to_send": "ມີພຽງແຕ່ແອັດມິນ ແລະ ຜູ້ຄວບຄຸມທີ່ໄດ້ຮັບອະນຸຍາດໃຫ້ສົ່ງຫາຫ້ອງ",
|
||||
"reaction_count_more": "{reactionCount} ເພີ່ມເຕີມ",
|
||||
"seen_by_count": "ສະມາຊິກຍັງບໍ່ເຫັນ | ເຫັນໂດຍສະມາຊິກ 1 ຄົນ | ເຫັນໂດຍສະມາຊິກ {count} ຄົນ",
|
||||
"seen_by": "ເຫັນໂດຍ",
|
||||
"file": "ໄຟລ໌",
|
||||
"files": "ໄຟລ໌",
|
||||
"images": "ຮູບພາບ",
|
||||
"send_attachements_dialog_title": "ທ່ານຕ້ອງການສົ່ງເອກະສານຄັດຕິດດັ່ງຕໍ່ໄປນີ້ບໍ?",
|
||||
"download_all": "ດາວໂຫຼດທັງໝົດ",
|
||||
"failed_to_render": "ບໍ່ສາມາດສະແດງກິດຈະກຳໄດ້"
|
||||
},
|
||||
"login": {
|
||||
"title": "ເຂົ້າສູ່ລະບົບ",
|
||||
"login": "ເຂົ້າສູ່ລະບົບ",
|
||||
"accept_terms": "ຍອມຮັບ",
|
||||
"username": "ຊື່ຜູ້ໃຊ້ (ex: marta)",
|
||||
"password": "ປ້ອນລະຫັດຜ່ານ",
|
||||
"username_required": "ຕ້ອງມີຊື່ຜູ້ໃຊ້",
|
||||
"password_required": "ຕ້ອງມີລະຫັດຜ່ານ",
|
||||
"create_room": "ລົງທະບຽນ ແລະ ສ້າງຫ້ອງ",
|
||||
"or": "ຫຼື",
|
||||
"invalid_message": "ຊື້ຜູ້ໃຊ້ ຫຼື ລະຫັດຜ່ານບໍ່ຖືກຕ້ອງ",
|
||||
"no_supported_flow": "ແອັບບໍ່ສາມາດເຂົ້າສູ່ລະບົບໃນເຊີເວີທີ່ມີໃຫ້",
|
||||
"terms": "ເຊີເວີຫຼັກກຳນົດໃຫ້ທ່ານຕ້ອງກວດສອບ ແລະ ຍອມຮັບນະໂຍບາຍດັ່ງຕໍ່ໄປນີ້:",
|
||||
"email": "ທ່ານຕ້ອງຢືນຢັນທີ່ຢູ່ອີເມວຂອງທ່ານ",
|
||||
"send_verification": "ສົ່ງອີເມວການຢືນຢັນ",
|
||||
"sent_verification": "ອີເມວໄດ້ຖືກສົ່ງໄປຫາ {email}. ກະລຸນານຳໃຊ້ໂປຣແກຣມຮັບອີເມວປົກກະຕິຂອງທ່ານເພື່ອຢືນຢັນທີ່ຢູ່.",
|
||||
"resend_verification": "ສົ່ງອີເມວການຢືນຢັນອີກຄັ້ງ",
|
||||
"email_not_valid": "ທີ່ຢູ່ອີເມວບໍ່ຖືກຕ້ອງ",
|
||||
"registration_token": "ກະລຸນາປ້ອນໂທກເກັນການລາອອກ",
|
||||
"send_token": "່ສົ່ງໂທກເກັນ",
|
||||
"token_not_valid": "ໂທກເກັນບໍ່ຖືກຕ້ອງ"
|
||||
},
|
||||
"profile": {
|
||||
"select_language": "ພາສາ",
|
||||
"title": "ໂປຣຟາຍຂອງຂ້ອຍ",
|
||||
"change_name": "ປ່ຽນຊື່",
|
||||
"temporary_identity": "ຕົວຕົນນີ້ແມ່ນຊົ່ວຄາວ. ຕັ້ງລະຫັດຜ່ານເພື່ອນຳໃຊ້ມັນອີກຄັ້ງ",
|
||||
"set_password": "ຕັ້ງລະຫັດຜ່ານ",
|
||||
"change_password": "ປ່ຽນລະຫັດຜ່ານ",
|
||||
"set_language": "ຕັ້ງຄ່າພາສາຂອງທ່ານ",
|
||||
"language_description": "ການປະຊຸມແມ່ນມີໃຫ້ໃນຫຼາຍພາສາ.",
|
||||
"dont_see_yours": "ບໍ່ເຫັນຂອງທ່ານບໍ?",
|
||||
"tell_us": "ແຈ້ງໃຫ້ພວກເຮົາຊາບ.",
|
||||
"password_old": "ລະຫັດຜ່ານເກົ່າ",
|
||||
"password_new": "ລະຫັດຜ່ານໃໝ່",
|
||||
"password_repeat": "ເຮັດຊ້ຳລະຫັດຜ່ານໃໝ່",
|
||||
"display_name": "ຊື່ທີ່ສະແດງ",
|
||||
"display_name_required": "ຕ້ອງມີຊື່ທີ່ສະແດງ",
|
||||
"notification_label": "ການແຈ້ງເຕືອນ"
|
||||
},
|
||||
"join": {
|
||||
"user_name_label": "ຊື່ຜູ້ໃຊ້",
|
||||
"title": "ຍິນດີຕ້ອນຮັບ, ທ່ານໄດ້ຖືກເຊີນເພື່ອເຂົ້າຮ່ວມ",
|
||||
"title_user": "ຍິນດີຕ້ອນຮັບ, ທ່ານໄດ້ຖືກເຊີນໃຫ້ສົນທະນາກັບ",
|
||||
"join": "ເຂົ້າຮ່ວມຫ້ອງ",
|
||||
"join_user": "ເລີ່ມສົນທະນາ",
|
||||
"choose_name": "ເລືອກຊື່ເພື່ອໃຊ້",
|
||||
"remember_me": "ຈື່ຂ້ອຍໄວ້",
|
||||
"joining_as": "່ທ່ານກຳລັງເຂົ້າຮ່ວມເປັນ:",
|
||||
"enter_room": "ເຂົ້າສູ່ຫ້ອງ",
|
||||
"enter_room_user": "ເລີ່ມສົນທະນາ",
|
||||
"status_logging_in": "ກຳລັງເຂົ້າສູ່ລະບົບ...",
|
||||
"status_joining": "ກຳລັງເຂົ້າຮ່ວມຫ້ອງ...",
|
||||
"join_failed": "ເຂົ້າຮ່ວມຫ້ອງບໍ່ສຳເລັດ.",
|
||||
"you_have_been_banned": "ທ່ານໄດ້ຖືກຫ້າມຈາກຫ້ອງນີ້."
|
||||
},
|
||||
"purge_room": {
|
||||
"button": "ລຶບ",
|
||||
"title": "ລຶບຫ້ອງບໍ?",
|
||||
"info": "ສະມາຊິກ ແລະ ຂໍ້ຄວາມທັງໝົດຈະຖືກລຶບອອກ. ການດຳເນີນການນີ້ບໍ່ສາມາດຍ້ອນກັບໄດ້.",
|
||||
"n_seconds": "{seconds} ວິນາທີ",
|
||||
"self_destruct": "ຫ້ອງຂອງທ່ານຈະທຳລາຍຕົວເອງໃນສອງສາມວິນາທີ.",
|
||||
"deleting": "ການລຶບຫ້ອງ:",
|
||||
"notified": "ພວກເຮົາໄດ້ແຈ້ງສະມາຊິກ.",
|
||||
"room_deletion_notice": "ຮອດເວລາທີ່ຕ້ອງອຳລາແລ້ວ! ຫ້ອງນີ້ຖືກລຶບໂດຍ {user}. ມັນຈະທຳລາຍຕົວເອງໃນສອງສາມວິນາທີ."
|
||||
},
|
||||
"room_info": {
|
||||
"hide_all": "ເຊື່ອງ",
|
||||
"copy_link": "ສຳເນົາລິ້ງ",
|
||||
"join_public": "ທຸກຄົນທີ່ມີລິ້ງ",
|
||||
"title": "ລາຍລະອຽດຫ້ອງ",
|
||||
"created_by": "ສ້າງໂດຍ {user}",
|
||||
"permissions": "ການອະນຸຍາດເຂົ້າຮ່ວມ",
|
||||
"join_invite": "ມີພຽງຄົນທີ່ຖືກເພີ່ມເຂົ້າເທົ່ານັ້ນ",
|
||||
"copy_invite_link": "ສຳເນົາລິ້ງການເຊີນ",
|
||||
"link_copied": "ລິ້ງສຳເນົາແລ້ວ!",
|
||||
"purge": "ລຶບຫ້ອງ",
|
||||
"members": "ສະມາຊິກ",
|
||||
"user": "{user}",
|
||||
"user_you": "{user} (ທ່ານ)",
|
||||
"show_all": "ສະແດງທັງໝົດ >",
|
||||
"leave_room": "ອອກ",
|
||||
"version_info": "ຂັບເຄື່ອນໂດຍ Guardian Project. ເວີຊັນ: {version}",
|
||||
"scan_code": "ສະແກນເພື່ອເຂົ້າຮ່ວມຫ້ອງ",
|
||||
"export_room": "ສົ່ງອອກການສົນທະນາ",
|
||||
"user_admin": "ຜູ້ບໍລິຫານ",
|
||||
"user_moderator": "ຜູ້ຄວບຄຸມ",
|
||||
"moderation": "ການຄວບຄຸມ",
|
||||
"experimental_features": "ຄຸນສົມບັດການທົດລອງ",
|
||||
"room_type": "ປະເພດຫ້ອງ",
|
||||
"room_type_default": "ຄ່າເລີ່ມຕົ້ນ",
|
||||
"voice_mode": "ຮູບແບບສຽງ",
|
||||
"voice_mode_info": "ສະຫຼັບໜ້າການສົນທະນາໄປທີ່ຮູບແບບ 'ຟັງ ແລະ ບັນທຶກ'",
|
||||
"file_mode": "ຮູບແບບເອກະສານ",
|
||||
"file_mode_info": "ສະຫຼັບໜ້າການສົນທະນາໄປທີ່ຮູບແບບ 'ການສົ່ງເອກະສານ'",
|
||||
"download_chat": "ການສົນທະນາທີ່ດາວໂຫຼດແລ້ວ",
|
||||
"read_only_room": "ອ່ານເທົ່ານັ້ນ",
|
||||
"read_only_room_info": "ມີພຽງແຕ່ແອັດມິນ ແລະ ຜູ້ຄວບຄຸມທີ່ໄດ້ຮັບອະນຸຍາດໃຫ້ສົ່ງຫາຫ້ອງ.",
|
||||
"message_retention": "ປະຫວັດການສົນທະນາ",
|
||||
"message_retention_info": "ຂໍ້ຄວາມທີ່ຖືກສົ່ງພາຍໃນຊ່ວງເວລານີ້ແມ່ນສາມາດເບິ່ງໄດ້ໂດຍທຸກຄົນທີ່ມີລິ້ງ.",
|
||||
"message_retention_none": "ປິດ",
|
||||
"message_retention_4_week": "4 ອາທິດ",
|
||||
"message_retention_2_week": "2 ອາທິດ",
|
||||
"message_retention_1_week": "1 ອາທິດ",
|
||||
"message_retention_1_day": "1 ວັນ",
|
||||
"message_retention_8_hours": "8 ຊົ່ວໂມງ",
|
||||
"message_retention_1_hour": "1 ຊົ່ວໂມງ",
|
||||
"make_public": "ເປີດເປັນສາທາລະນະ",
|
||||
"make_public_warning": "ຄຳເຕືອນ: ຜູ້ເຂົ້າຮ່ວມໃໝ່ຈະສາມາດເບິ່ງປະຫວັດການສົນທະນາທັງໝົດໄດ້",
|
||||
"direct_link": "ລິ້ງໂດຍກົງຂອງຂ້ອຍ",
|
||||
"direct_link_desc": "ພ້ອມທີ່ຈະແບ່ງປັນແລ້ວ! ຫ້ອງໂດຍກົງຫ້ອງໃໝ່ຈະເປີດຂຶ້ນທຸກຄັ້ງທີ່ມີຄົນເປີດລິ້ງ.",
|
||||
"shared_room_number": "ທ່ານໄດ້ແບ່ງປັນ {count} ຫ້ອງກັບ {name}",
|
||||
"shared_room_number_more": "ທ່ານໄດ້ແບ່ງປັນຫຼາຍກວ່າ {count} ຫ້ອງກັບ {name}"
|
||||
},
|
||||
"fallbacks": {
|
||||
"download_name": "ດາວໂຫຼດ",
|
||||
"video_file": "ໄຟລ໌ວິດີໂອ",
|
||||
"audio_file": "ໄຟລ໌ສຽງ",
|
||||
"original_text": "<original text>"
|
||||
},
|
||||
"file_mode": {
|
||||
"close": "ປິດ",
|
||||
"files_sent_with_note": "ສົ່ງ 1 ໄຟລ໌ແລ້ວພ້ອມຂໍ້ຄວາມ! | ສົ່ງ {count} ໄຟລ໌ແລ້ວພ້ອມຂໍ້ຄວາມ",
|
||||
"send_more_files": "ສົ່ງໄຟລ໌ເພີ່ມເຕີມ",
|
||||
"choose_files": "ເລືອກໄຟລ໌",
|
||||
"any_file_format_accepted": "ຮູບແບບໄຟລ໌ຖືກຍອມຮັບ",
|
||||
"secure_file_send": "ຮັກສາຄວາມປອດໄພໄຟລ໌ທີ່ສົ່ງ",
|
||||
"add_a_message": "ເພີ່ມຂໍ້ຄວາມ",
|
||||
"sending_progress": "ກຳລັງສົ່ງ...",
|
||||
"sending": "ກຳລັງສົ່ງ",
|
||||
"files_sent": "ສົ່ງ 1 ໄຟລ໌ແລ້ວ! | ສົ່ງ {count} ໄຟລ໌ແລ້ວ!",
|
||||
"files": "ໄຟລ໌"
|
||||
},
|
||||
"project": {
|
||||
"name": "ການປະຊຸມ",
|
||||
"tag_line": "ເຊື່ອມຕໍ່ກັນໄດ້ງ່າຍໆ"
|
||||
},
|
||||
"room_welcome": {
|
||||
"no_past_messages": "ຍິນດີຕ້ອນຮັບ! ເພື່ອຄວາມປອດໄພຂອງທ່ານ, ຂໍ້ຄວາມທີ່ຜ່ານມາແມ່ນບໍ່ມີໃຫ້.",
|
||||
"direct_info": "ສະບາຍດີ, {you}. ທ່ານກຳລັງຢູ່ໃນການສົນທະນາສ່ວນຕົວກັບ {user}.",
|
||||
"direct_private_chat": "ຂໍ້ຄວາມໂດຍກົງ",
|
||||
"join_channel": "ພ້ອມແລ້ວ! ເຊີນຄົນໃຫ້ມາເຂົ້າຮ່ວມກັບທ່ານ: {link}",
|
||||
"change": "ປ່ຽນແປງ",
|
||||
"info": "ຍິນດີຕ້ອນຮັບ! ນີ້ແມ່ນບາງຢ່າງທີ່ຕ້ອງຮູ້ກ່ຽວກັບຫ້ອງຂອງທ່ານ:",
|
||||
"encrypted": "ຂໍ້ຄວາມແມ່ນຖືກໃສ່ລະຫັດທັງສອງດ້ານ",
|
||||
"room_history_is": "ປະຫັວດຫ້ອງແມ່ນ {type}.",
|
||||
"room_history_joined": "ຜູ້ຄົນສາມາດເບິ່ງຂໍ້ຄວາມທີ່ສົ່ງແລ້ວຫຼັງຈາກທີ່ພວກເຂົາເຂົ້າຮ່ວມເທົ່ານັ້ນ.",
|
||||
"join_public": "ທຸກຄົນສາມາດເຂົ້າຮ່ວມໄດ້ໂດຍການເປີດລິ້ງນີ້: {link}.",
|
||||
"join_invite": "ມີແຕ່ຄົນທີ່ທ່ານເຊີນເທົ່ານັ້ນທີ່ເຂົ້າຮ່ວມໄດ້.",
|
||||
"info_permissions": "ທ່ານສາມາດປ່ຽນ 'ການອະນຸຍາດເຂົ້າຮ່ວມ' ໄດ້ຕະຫຼອດເວລາໃນການຕັ້ງຄ່າຫ້ອງ.",
|
||||
"got_it": "ເຂົ້າໃຈແລ້ວ",
|
||||
"info_retention": "🕓 ຂໍ້ຄວາມທີ່ສົ່ງພາຍໃນ {time} ແມ່ນສາມາດເບິ່ງໄດ້ໂດຍທຸກຄົນທີ່ມີລີ້ງ.",
|
||||
"info_retention_user": "🕓 ຂໍ້ຄວາມທີ່ດົນກວ່າ {time} ຈະຖືກລຶບອອກຈາກປະຫວັດ.",
|
||||
"info_auto_join": "ຍິນດີຕ້ອນຮັບສູ່ {room}.\nທ່ານກຳລັງເຂົ້າຮ່ວມເປັນ {you}."
|
||||
},
|
||||
"new_room": {
|
||||
"new_room": "ຫ້ອງໃໝ່",
|
||||
"name_room": "ຊື່ຫ້ອງ",
|
||||
"create": "ສ້າງ",
|
||||
"next": "ຕໍ່ໄປ",
|
||||
"room_topic": "ເພີ່ມຄຳອະທິບາຍ, ຖ້າທ່ານມັກ",
|
||||
"join_permissions": "ການອະນຸຍາດເຂົ້າຮ່ວມ",
|
||||
"set_join_permissions": "ກຳນົດການອະນຸຍາດເຂົ້າຮ່ວມ",
|
||||
"join_permissions_info": "ການອະນຸຍາດເຫຼົ່ານີ້ກຳນົດວ່າຄົນຈະເຂົ້າຮ່ວມໃນຫ້ອງແນວໃດ ແລະ ຄົນອື່ນຈະຖືກເຊີນໄດ້ງ່າຍໆແນວໃດ. ສາມາດປ່ຽນພວກມັນໄດ້ຕະຫຼອດເວລາ.",
|
||||
"get_link": "ຮັບເອົາລິ້ງ",
|
||||
"add_people": "ເພີ່ມຄົນ",
|
||||
"link_copied": "ສຳເນົາລິ້ງແລ້ວ!",
|
||||
"public_info": "ທຸກຄົນທີ່ມີລິ້ງ",
|
||||
"public_description": "ຮັບເອົາລີ້ງເພື່ອແບ່ງປັນ",
|
||||
"invite_info": "ຄົນທີ່ຖືກເພີ່ມເຂົ້າເທົ່ານັ້ນ",
|
||||
"invite_description": "ເລືອກຈາກລາຍການ ຫຼື ຄົ້ນຫາໂດຍ ID ບັນຊີ",
|
||||
"status_creating": "ກຳລັງສ້າງຫ້ອງ",
|
||||
"status_avatar_total": "ກຳລັງອັບໂຫຼດອາວະຕາ: {count} ຈາກ {total}",
|
||||
"status_avatar": "ກຳລັງອັບໂຫຼດອາວະຕາ: {count}",
|
||||
"room_name_limit_error_msg": "ອະນຸຍາດໃຫ້ໃຊ້ສູງສຸດ 50 ຕົວອັກສອນ",
|
||||
"colon_not_allowed": "ບໍ່ອະນຸຍາດໃຫ້ໃຊ້ໝາຍສອງຈ້ຳ",
|
||||
"options": "ຕົວເລືອກ"
|
||||
},
|
||||
"room": {
|
||||
"invitations": "ທ່ານບໍ່ມີຄຳເຊີນ | ທ່ານມີ 1 ຄຳເຊີນ | ທ່ານມີ {count} ຄຳເຊີນ",
|
||||
"unseen_messages": "ທ່ານບໍ່ມີຂໍ້ຄວາມທີ່ຍັງບໍ່ໄດ້ເຫັນ | ທ່ານມີ 1 ຂໍ້ຄວາມທີ່ຍັງບໍ່ໄດ້ເຫັນ | ທ່ານມີ {count} ຂໍ້ຄວາມທີ່ຍັງບໍ່ໄດ້ເຫັນ",
|
||||
"members": "ບໍ່ມີສະມາຊິກ | ສະມາຊິກ 1 ຄົນ | ສະມາຊິກ {count} ຄົນ",
|
||||
"leave": "ອອກ",
|
||||
"purge_set_room_state": "ກຳລັງສ້າງສະຖານະຫ້ອງ",
|
||||
"purge_redacting_events": "ກຳລັງແກ້ໄຂກິດຈະກຳ ({count} ຈາກ {total})",
|
||||
"purge_removing_members": "ກຳລັງລຶບສະມາຊິກ ({count} ຈາກ {total})",
|
||||
"purge_failed": "ການລ້າງຫ້ອງບໍ່ສຳເລັດ!",
|
||||
"room_list_invites": "ເຊີນ",
|
||||
"room_list_new_messages": "{count} ຂໍ້ຄວາມໃໝ່",
|
||||
"room_list_rooms": "ຫ້ອງ",
|
||||
"room_name_required": "ຕ້ອງມີຊື່ຫ້ອງ",
|
||||
"room_topic_required": "ຕ້ອງມີຄຳອະທິບາຍຫ້ອງ"
|
||||
},
|
||||
"device_list": {
|
||||
"blocked": "ຖືກປິດກັ້ນແລ້ວ",
|
||||
"verified": "ກວດສອບແລ້ວ",
|
||||
"not_verified": "ບໍ່ໄດ້ຮັບການກວດສອບ"
|
||||
},
|
||||
"getlink": {
|
||||
"share_qr": "ແບ່ງປັນ QR",
|
||||
"qr_image_copied": "ຮູບພາບຖືກສຳເນົາໄປຄລິບບອດແລ້ວ",
|
||||
"title": "ຮັບເອົາລິ້ງໂດຍກົງ",
|
||||
"info": "ລິ້ງໂດຍກົງຊ່ວຍໃຫ້ຄົນຕິດຕໍ່ກັບທ່ານໄດ້ຢ່າງປອດໄພ. ເພື່ອເລີ່ມຕົ້ນ, ເລືອກຊື່ໜ້າຈໍເພື່ອສະແດງເວລາທີ່ຄົນເຂົ້າມາສົນທະນາກັບທ່ານ.",
|
||||
"username": "ປ້ອນຊື່ໜ້າຈໍ (ex: waku)",
|
||||
"next": "ຕໍ່ໄປ",
|
||||
"hello": "ສະບາຍດີ {user},\nນີ້ແມ່ນລິ້ງໂດຍກົງຂອງທ່ານ",
|
||||
"ready_to_share": "ພ້ອມທີ່ຈະແບ່ງປັນແລ້ວ! ຫ້ອງໂດຍກົງຫ້ອງໃໝ່ຈະເປີດຂຶ້ນທຸກຄັ້ງທີ່ມີຄົນເປີດລິ້ງ.",
|
||||
"scan_title": "ສະແກນລະຫັດນີ້ເພື່ອເລີ່ມການສົນທະນາໂດຍກົງ",
|
||||
"continue": "ສືບຕໍ່",
|
||||
"different_link": "ຮັບເອົາລິ້ງອື່ນ"
|
||||
},
|
||||
"createchannel": {
|
||||
"title": "ສ້າງຊ່ອງ",
|
||||
"info": "ເຜີຍແຜ່ຂ່າວສານ ຫຼື ຄວາມຮູ້ໃໝ່ໃນຮູບແບບອື່ນໆ— ວີດີໂອ, ພັອດແຄຊ, ຂໍ້ຄວາມ, ຮູບພາບ ຫຼື PDF.",
|
||||
"channel_name": "ໃສ່ຊື່ຊ່ອງຂອງທ່ານ",
|
||||
"channel_topic": "ອະທິບາຍມັນ",
|
||||
"name_required": "ຕ້ອງມີຊື່ຊ່ອງ",
|
||||
"error_channel": "ການສ້າງຊ່ອງບໍ່ສຳເລັດ"
|
||||
},
|
||||
"profile_info_popup": {
|
||||
"new_room": "ຫ້ອງໃໝ່",
|
||||
"you_are": "ທ່ານແມ່ນ",
|
||||
"identity": "{displayName}",
|
||||
"identity_temporary": "{displayName}",
|
||||
"edit_profile": "ແກ້ໄຂໂປຣຟາຍ",
|
||||
"logout": "ອອກຈາກລະບົບ",
|
||||
"want_more": "ຕ້ອງການເພີ່ມເຕີມບໍ?",
|
||||
"powered_by": "ຫ້ອງນີ້ແມ່ນຂັບເຄື່ອນໂດຍ {product}. ຮຽນຮູ້ເພີ່ມເຕີມທີ່ {productLink} ຫຼື ໄປຕໍ່ເພື່ອສ້າງຫ້ອງອື່ນ!"
|
||||
},
|
||||
"invite": {
|
||||
"title": "ເພີ່ມເພື່ອນ",
|
||||
"done": "ສຳເລັດແລ້ວ",
|
||||
"send_invites_to": "ສົ່ງຄຳເຊີນຫາ",
|
||||
"status_inviting": "ກຳລັງເຊີນເພື່ອນ {index} ຈາກ {count}",
|
||||
"status_error": "ການເຊີນເພື່ອນໜຶ່ງ ຫຼື ຫຼາຍຄົນບໍ່ສຳເລັດ!"
|
||||
},
|
||||
"leave": {
|
||||
"title_public": "ລາກ່ອນ, {user}",
|
||||
"text_public": "ທ່ານສາມາດເຂົ້າຮ່ວມໃນຫ້ອງນີ້ອີກຄັ້ງ, ຖ້າຫາກທ່ານຮູ້ລິ້ງນີ້.",
|
||||
"text_public_lastroom": "ຖ້າຫາກທ່ານຕ້ອງການເຂົ້າຮ່ວມຫ້ອງນີ້ອີກຄັ້ງ, ທ່ານສາມາດເຂົ້າຮ່ວມພາຍໃຕ້ຕົວຕົນໃໝ່. ເພື່ອຮັກສາ {user}, {action}.",
|
||||
"title_invite": "ທ່ານແນ່ໃຈບໍ່ວ່າທ່ານຕ້ອງການອອກ?",
|
||||
"text_invite": "ຫ້ອງນີ້ຖືກລັອກ. ທ່ານບໍ່ສາມາດເຂົ້າຮ່ວມອີກຄັ້ງໂດຍບໍ່ມີການອະນຸຍາດພິເສດ.",
|
||||
"create_account": "ສ້າງບັນຊີ",
|
||||
"go_back": "ກັບຄືນ",
|
||||
"leave": "ອອກ"
|
||||
},
|
||||
"logout": {
|
||||
"confirm_text": "ທ່ານແນ່ໃຈບໍວ່າທ່ານຕ້ອງການອອກຈາກລະບົບ?"
|
||||
},
|
||||
"goodbye": {
|
||||
"room_deleted": "ຫ້ອງຖືກລຶບແລ້ວ.",
|
||||
"close_tab": "ປິດແທັບບຣາວເຊີ",
|
||||
"view_other_rooms": "ເບິ່ງຫ້ອງອື່ນ"
|
||||
},
|
||||
"room_info_sheet": {
|
||||
"this_room": "ຫ້ອງນີ້",
|
||||
"view_details": "ເບິ່ງລາຍລະອຽດ"
|
||||
},
|
||||
"voice_recorder": {
|
||||
"swipe_to_cancel": "ເລື່ອນເພື່ອຍົກເລີກ",
|
||||
"release_to_cancel": "ປ່ອຍເພື່ອຍົກເລີກ",
|
||||
"failed_to_record": "ບັນທຶກສຽງບໍ່ສຳເລັດ",
|
||||
"not_supported_title": "ບໍ່ຮອງຮັບ",
|
||||
"not_supported_text": "ໜ້າເສຍດາຍ, ບຣາວເຊີນີ້ບໍ່ຮອງຮັບການບັນທຶກສຽງ."
|
||||
},
|
||||
"power_level": {
|
||||
"admin": "ຜູ້ບໍລິຫານ",
|
||||
"custom": "ກຳນົດເອງ ({level})",
|
||||
"moderator": "ຜູ້ຄວບຄຸມ",
|
||||
"restricted": "ຈຳກັດ",
|
||||
"default": "ຄ່າເລີ່ມຕົ້ນ"
|
||||
},
|
||||
"poll_create": {
|
||||
"results_shared": "ໄດ້ແບ່ງປັນຜົນສຳຫຼວດໃນຫ້ອງ.",
|
||||
"poll_undisclosed": "ປິດ - ຜູ້ໃຊ້ຈະເຫັນຜົນໄດ້ຮັບໃນເວລາທີ່ການສຳຫຼວດປິດແລ້ວ.",
|
||||
"title": "ສ້າງການສຳຫຼວດໃໝ່",
|
||||
"create": "ເຜີຍແຜ່",
|
||||
"creating": "ກຳລັງສ້າງການສຳຫຼວດ",
|
||||
"poll_disclosed": "ເປີດ - ຜົນໄດຮັບປັດຈຸບັນແມ່ນຖືກສະແດງຕະຫຼອດເວລາ.",
|
||||
"add_answer": "ເພີ່ມຄຳຕອບ",
|
||||
"failed": "ບໍ່ສາມາດສ້າງການສຳຫຼວດໄດ້, ກະລຸນາລອງອີກຄັ້ງພາຍຫຼັງ.",
|
||||
"question_label": "ຖາມຄຳຖາມຂອງທ່ານ*",
|
||||
"question_required": "ທ່ານຕ້ອງປ້ອນຄຳຖາມ!",
|
||||
"answer_label_1": "ຄຳຕອບ*",
|
||||
"answer_label_n": "ຄຳຕອບ",
|
||||
"please_complete": "ກະລຸນາຕື່ມ",
|
||||
"answer_required": "ຄຳຕອບບໍ່ສາມາດເປົ່າຫວ່າງໄດ້. ກະລຸນາປ້ອນຂໍ້ຄວາມ ຫຼື ເອົາຕົວເລືອກນີ້ອອກ.",
|
||||
"tip_title": "ຄຳແນະນຳ",
|
||||
"tip_text": "ສະມາຊິກຈະເຫັນຜົນການສຳຫຼວດຫຼັງຈາກທີ່ພວກເຂົາຕອບ. ປິດການສຳຫຼວດໃນເວລາທີ່ທ່ານເຮັດສຳເລັດເພື່ອສະແດງຜົນໄດ້ຮັບໃຫ້ແກ່ທຸກຄົນໃນຫ້ອງ.",
|
||||
"create_poll_menu_option": "ສ້າງການສຳຫຼວດ",
|
||||
"poll_status_closed": "ການສຳຫຼວດປິດແລ້ວ",
|
||||
"poll_status_disclosed": "ຜົນສຳຫຼວດຈະຖືກສະແດງໃນເວລາທີ່ການສຳຫຼວດປິດແລ້ວ.",
|
||||
"poll_status_open": "ການສຳຫຼວດເປີດແລ້ວ.",
|
||||
"poll_status_open_not_voted": "ການສຳຫຼວດເປີດແລ້ວ - ລົງຄະແນນເພື່ອເບິ່ງຜົນສຳຫຼວດ",
|
||||
"view_results": "ເບິ່ງຜົນສຳຫຼວດ",
|
||||
"close_poll": "ປິດການສຳຫຼວດ",
|
||||
"poll_submit": "ສົ່ງ",
|
||||
"num_answered": "{count} ຄຳຕອບ"
|
||||
},
|
||||
"export": {
|
||||
"exported_date": "ສົ່ງອອກໃນວັນທີ {date}",
|
||||
"fetched_n_events": "ໄດ້ຮັບ {count} ກິດຈະກຳ",
|
||||
"fetched_n_of_total_events": "ໄດ້ຮັບ {count}ຈາກ {total} ກິດຈະກຳ",
|
||||
"processed_n_of_total_events": "ດຳເນີນການມີເດຍແລ້ວສຳລັບ {count} ຈາກ {total} ກິດຈະກຳ",
|
||||
"export_filename": "ສົ່ງອອກການສົນທະນາໃນວັນທີ {date}"
|
||||
},
|
||||
"notification": {
|
||||
"title": "ໄດ້ຮັບຂໍ້ຄວາມໃໝ່",
|
||||
"dialog": {
|
||||
"title": "ເຊື່ອມຕໍ່ກັບການແຈ້ງເຕືອນການສົນທະນາ!",
|
||||
"body": "ບໍ່ພາດຂໍ້ຄວາມ ຫຼື ການສົນທະນາທີ່ສຳຄັນອີກຄັ້ງ! ໄດ້ຮັບການແຈ້ງເຕືອນໃນເວລາທີ່ມີບາງຄົນສົ່ງຂໍ້ຄວາມຫາທ່ານ ຫຼື ຕອບກັບການສົນທະນາຂອງທ່ານ.",
|
||||
"enable": "ເປີດໃຊ້ງານ"
|
||||
},
|
||||
"blocked_message": "ການແຈ້ງເຕືອນຖືກປິດກັ້ນ. ໄປທີ່ການຕັ້ງຄ່າອຸປະກອນ ຫຼື ບຣາວເຊີຂອງທ່ານເພື່ອເປີດໃຊ້ງານການແຈ້ງເຕືອນ",
|
||||
"periodicSync_new_msg_reminder": "ທ່ານອາດຈະມີຂໍ້ຄວາມໃໝ່",
|
||||
"not_supported": "ການແຈ້ງເຕືອນຍັງບໍ່ໄດ້ຮັບການຮອງຮັບໃນມືຖື"
|
||||
},
|
||||
"emoji": {
|
||||
"search": "ຄົ້ນຫາ...",
|
||||
"categories": {
|
||||
"activity": "ກິດຈະກຳ",
|
||||
"flags": "ສ້າງເຄື່ອງໝາຍ",
|
||||
"foods": "ອາຫານ",
|
||||
"frequently": "ທີ່ຖືກໃຊ້ເລື້ອຍໆ",
|
||||
"objects": "ສິ່ງຂອງ",
|
||||
"nature": "ທຳມະຊາດ",
|
||||
"peoples": "ຄົນ",
|
||||
"symbols": "ສັນຍາລັກ",
|
||||
"places": "ສະຖານທີ່"
|
||||
}
|
||||
}
|
||||
}
|
||||
444
src/assets/translations/my.json
Normal file
444
src/assets/translations/my.json
Normal file
|
|
@ -0,0 +1,444 @@
|
|||
{
|
||||
"project": {
|
||||
"name": "Convene",
|
||||
"tag_line": "ရိုးရှင်းစွာ ချိတ်ဆက်လိုက်ပါ"
|
||||
},
|
||||
"global": {
|
||||
"close": "ပိတ်ရန်",
|
||||
"save": "သိမ်းရန်",
|
||||
"password_didnot_match": "စကားဝှက် ကိုက်ညီမှု မရှိပါ",
|
||||
"password_hint": "အနည်းဆုံး ဂဏန်းတစ်လုံး၊ စာလုံးကြီးတစ်လုံးနှင့် စာလုံးသေးတစ်လုံး ပါဝင်သည့် အနည်းဆုံးစာလုံးရေ 12 လုံး",
|
||||
"show_less": "လျှော့ပြရန်",
|
||||
"show_more": "ပိုမိုပြသရန်",
|
||||
"add_reaction": "တုံ့ပြန်မှု ထည့်ရန်",
|
||||
"click_to_remove": "ဖယ်ရှားရန် နှိပ်ပါ",
|
||||
"time": {
|
||||
"recently": "ယခုတင်",
|
||||
"minutes": "လွန်ခဲ့သော 1 မိနစ်က | လွန်ခဲ့သော {n} မိနစ်က",
|
||||
"hours": "လွန်ခဲ့သော 1 နာရီက | လွန်ခဲ့သော {n} နာရီက",
|
||||
"days": "လွန်ခဲ့သော 1 ရက်က | လွန်ခဲ့သော {n} ရက်က"
|
||||
},
|
||||
"notify": "အကြောင်းကြားရန်",
|
||||
"different_browser_title": "အခြားဘရောက်ဇာဖြင့် စမ်းကြည့်ပါ",
|
||||
"different_browser_content": "အချို့လုပ်ဆောင်ချက်များ ပျက်သွားနိုင်သည်။ လင့်ခ်ကို ကူးယူ၍ အခြားဘရောက်ဇာတွင် ဖွင့်ပါ။"
|
||||
},
|
||||
"message": {
|
||||
"user_was_kicked": "{user} ကို ခြက်မှ ထုတ်လိုက်သည်",
|
||||
"user_was_kicked_by_you": "သင်သည် {user} ကို ခြက်မှ ထုတ်လိုက်ပါပြီ။",
|
||||
"you": "သင်",
|
||||
"user_created_room": "{user} သည် အခန်းအား ဖန်တီးခဲ့သည်",
|
||||
"user_aliased_room": "{user} သည် အခန်းအား {alias} ဟု အမည်ပေးခဲ့သည်",
|
||||
"user_changed_display_name": "{user} သည် ပြသမည့်အမည်ကို {displayName} ဟု ပြောင်းခဲ့သည်",
|
||||
"user_changed_avatar": "{user} သည် ကိုယ်စားပြုရုပ်ပုံကို ပြောင်းခဲ့သည်",
|
||||
"user_changed_room_avatar": "{user} သည် အခန်းကိုယ်စားပြုရုပ်ပုံကို ပြောင်းခဲ့သည်",
|
||||
"user_encrypted_room": "{user} သည် အခန်းအား ကုဒ်ပြောင်းဝှက်ခဲ့သည်",
|
||||
"user_was_invited": "{user} ကို ခြက်သို့ ဖိတ်ခဲ့သည်...",
|
||||
"user_was_banned": "{user} ကို ခြက်မှ ထုတ်၍ ပိတ်ပင်လိုက်ပါသည်။",
|
||||
"user_was_kicked_you": "သင့်ကို ခြက်မှ ထုတ်လိုက်ပါသည်။",
|
||||
"user_was_banned_by_you": "သင်သည် {user} ကို ခြက်မှ ထုတ်၍ ပိတ်ပင်လိုက်ပါသည်။",
|
||||
"user_was_banned_you": "သင့်ကို ခြက်မှ ထုတ်၍ ပိတ်ပင်လိုက်ပါသည်။",
|
||||
"user_joined": "{user} က ခြက်တွင် ပါဝင်လာသည်",
|
||||
"user_left": "{user} က ခြက်မှ ထွက်သွားသည်",
|
||||
"someone": "တစ်စုံတစ်ဦး",
|
||||
"user_said": "{user} ပြောခဲ့သည်မှာ-",
|
||||
"sent_media": "မီဒီယာပစ္စည်း {count} ခု ပေးပို့ခဲ့သည်",
|
||||
"file_prefix": "ဖိုင်- ",
|
||||
"edited": "(တည်းဖြတ်ပြီး)",
|
||||
"download_progress": "{percentage}% ဒေါင်းလုဒ်လုပ်ပြီးပါပြီ",
|
||||
"preparing_to_upload": "တင်ရန် ပြင်ဆင်နေသည်...",
|
||||
"upload_exceeded_file_limit": "အကြီးဆုံးဖိုင်အရွယ်အစား ({configFormattedUploadSize}) ထက် ကြီးနေသည်။ ",
|
||||
"upload_file_too_large": "တင်မည့်ဖိုင်သည် အလွန်ကြီးနေသည်။",
|
||||
"upload_progress": "{count} တင်ပြီးပါပြီ",
|
||||
"upload_progress_with_total": "{total} တွင် {count} တင်ပြီးပါပြီ",
|
||||
"user_changed_room_history": "{user} သည် အခန်းမှတ်တမ်း {type} သို့ ပြုလုပ်ခဲ့သည်",
|
||||
"room_history_world_readable": "အားလုံးဖတ်နိုင်သော",
|
||||
"room_history_shared": "အခန်းရှိ အဖွဲ့ဝင်များ ဖတ်နိုင်သော",
|
||||
"room_history_invited": "အဖွဲ့ဝင်ကို ဖိတ်ကြားထားသည့်အချိန်မှစ၍ ဖတ်နိုင်သော",
|
||||
"room_history_joined": "အဖွဲ့ဝင် ပါဝင်သည့်အချိန်မှစ၍ ဖတ်နိုင်သော",
|
||||
"user_changed_join_rules": "{user} သည် အခန်းကို {type} ပြုလုပ်ခဲ့သည်",
|
||||
"room_joinrule_invite": "ဖိတ်ခေါ်ခံရသူများသာ",
|
||||
"room_joinrule_public": "အများမြင်",
|
||||
"user_changed_room_name": "{user} သည် အခန်းအမည်ကို {name} သို့ ပြောင်းခဲ့သည်",
|
||||
"your_message": "သင့်မက်ဆေ့ချ်...",
|
||||
"scale_image": "ရုပ်ပုံအရွယ်အစားပြင်ဆင်ရန်",
|
||||
"user_changed_room_topic": "{user} သည် အခန်းအကြောင်းအရာကို {topic} သို့ ပြောင်းခဲ့သည်",
|
||||
"unread_messages": "မဖတ်ရသေးသော မက်ဆေ့ချ်များ",
|
||||
"replying_to": "{user} ကို စာပြန်နေသည်",
|
||||
"user_is_typing": "{user} စာရိုက်နေသည်",
|
||||
"users_are_typing": "အဖွဲ့ဝင် {count} ဦး စာရိုက်နေသည်",
|
||||
"room_powerlevel_change": "{user} သည် ပါဝါအဆင့် {changes} သို့ ပြောင်းခဲ့သည်",
|
||||
"user_powerlevel_change_from_to": "{user} သည် {powerOld} မှ {powerNew} သို့",
|
||||
"user_changed_guest_access_closed": "{user} သည် ဧည့်သည်များ အခန်းတွင် ပါဝင်ရန် ခွင့်မပြုပါ",
|
||||
"user_changed_guest_access_open": "{user} သည် ဧည့်သည်များ အခန်းတွင် ပါဝင်ရန် ခွင့်ပြုသည်",
|
||||
"reply_image": "ပုံရိပ်",
|
||||
"reply_audio_message": "အသံမက်ဆေ့ချ်",
|
||||
"reply_video": "ဗီဒီယို",
|
||||
"reply_poll": "စစ်တမ်း",
|
||||
"time_ago": "ယနေ့ | မနေ့က | လွန်ခဲ့သော {count} ရက်က",
|
||||
"outgoing_message_deleted_text": "သင်သည် ဤမက်ဆေ့ချ်ကို ဖျက်ခဲ့သည်",
|
||||
"incoming_message_deleted_text": "ဤမက်ဆေ့ချ်ကို ဖျက်ထားသည်",
|
||||
"not_allowed_to_send": "စီမံခန့်ခွဲသူများနှင့် ညှိနှိုင်းပေးသူများသာ ဤအခန်းသို့ ပေးပို့ခွင့်ရှိသည်",
|
||||
"reaction_count_more": "{reactionCount} နောက်ထပ်",
|
||||
"seen_by_count": "အဖွဲ့ဝင်များ မမြင်သေးပါ | အဖွဲ့ဝင် 1 ဦးမြင်သည် | အဖွဲ့ဝင် {count} ဦးမြင်သည်",
|
||||
"seen_by": "မြင်ခဲ့သူများ",
|
||||
"file": "ဖိုင်",
|
||||
"files": "ဖိုင်များ",
|
||||
"images": "ပုံရိပ်များ",
|
||||
"send_attachements_dialog_title": "အောက်ပါပူးတွဲဖိုင်များကို ပေးပို့လိုပါသလား။",
|
||||
"download_all": "အားလုံးကို ဒေါင်းလုဒ်လုပ်ရန်",
|
||||
"failed_to_render": "ပွဲအစီအစဉ်ကို ပြသ၍မရပါ"
|
||||
},
|
||||
"room_welcome": {
|
||||
"join_public": "မည်သူမဆို ဤလင့်ခ် {link} ကိုနှိပ်၍ ပါဝင်နိုင်သည်။",
|
||||
"join_invite": "သင်ဖိတ်ခေါ်သူများသာ ပါဝင်နိုင်သည်။",
|
||||
"got_it": "ရသွားပါပြီ",
|
||||
"encrypted": "မက်ဆေ့ချ်များကို ကြားဖြတ်ဖတ်မရအောင်ပြုလုပ်ထားသည်။",
|
||||
"info": "ကြိုဆိုပါသည်။ သင့်အခန်းအကြောင်း သိရှိထားရမည့် အရာအချို့ဖြစ်ပါသည်-",
|
||||
"room_history_is": "အခန်းမှတ်တမ်းသည် {type} ဖြစ်သည်။",
|
||||
"room_history_joined": "အခန်းတွင် ပါဝင်ပြီးမှသာ ပေးပို့ထားသော မက်ဆေ့ချ်များကို မြင်နိုင်မည်။",
|
||||
"info_permissions": "'ပါဝင်ရန် ခွင့်ပြုချက်' ကို အခန်းဆက်တင်များတွင် အချိန်မရွေးပြောင်းနိုင်သည်။",
|
||||
"no_past_messages": "ကြိုဆိုပါသည်။ သင့်လုံခြုံရေးအတွက် ယခင်မက်ဆေ့ချ်များကို မရနိုင်ပါ။",
|
||||
"direct_info": "မင်္ဂလာပါ {you}။ သင်သည် {user} နှင့် သီးသန့်ခြက်တွင် ရှိနေပါသည်။",
|
||||
"direct_private_chat": "တိုက်ရိုက်မက်ဆေ့ချ်",
|
||||
"join_channel": "အားလုံးအသင့်ဖြစ်ပါပြီ။ သင့်နှင့်အတူ ပါဝင်ရန် ဖိတ်ခေါ်လိုက်ပါ- {link}",
|
||||
"info_retention": "🕓 {time} အတွင်း ပို့ထားသည့် မက်ဆေ့ချ်များကို မည်သူမဆို လင့်ခ်မှတစ်ဆင့် ကြည့်ရှုနိုင်သည်။",
|
||||
"info_retention_user": "🕓 {time} မတိုင်မီ မက်ဆေ့ချ်များကို မှတ်တမ်းမှ ဖျက်ပါမည်။",
|
||||
"info_auto_join": "{room} မှ ကြိုဆိုပါသည် \nသင်သည် {you} အဖြစ် ပါဝင်ပါမည်။",
|
||||
"change": "ပြောင်းလဲမည်"
|
||||
},
|
||||
"getlink": {
|
||||
"next": "ရှေ့သို့",
|
||||
"title": "တိုက်ရိုက်လင့်ခ်ယူမည်",
|
||||
"info": "တိုက်ရိုက်လင့်ခ်များသည် သင်နှင့် ဆက်သွယ်ရန် လုံခြုံသော လိုင်းတစ်ခုပေးသည်။ စတင်ရန် သင်နှင့် ခြက်လုပ်သည့်အခါ ပြသရန် စခရင်အမည်ကို ရွေးပါ။",
|
||||
"username": "စခရင်အမည် (ဥပမာ- waku) ထည့်ပါ",
|
||||
"hello": "မင်္ဂလာပါ {user}၊\nသင့်၏ တိုက်ရိုက်လင့်ခ်ဖြစ်ပါသည်",
|
||||
"ready_to_share": "မျှဝေရန် အသင့်ဖြစ်ပါပြီ။ တစ်စုံတစ်ဦးက လင့်ခ်ကို ဖွင့်တိုင်း တိုက်ရိုက်အခန်းအသစ် ပွင့်ပါမည်။",
|
||||
"scan_title": "တိုက်ရိုက်ခြက်စရန် ဤကုတ်ကို စကင်ဖတ်ပါ",
|
||||
"continue": "ဆက်လုပ်မည်",
|
||||
"different_link": "အခြားလင့်ခ်ယူမည်",
|
||||
"share_qr": "QR ဝေမျှရန်",
|
||||
"qr_image_copied": "clipboard တွင် ကူးယူထားသော ရုပ်ပုံ"
|
||||
},
|
||||
"createchannel": {
|
||||
"name_required": "ချန်နယ်လ်အမည် လိုအပ်သည်",
|
||||
"error_channel": "ချန်နယ်လ်ဖန်တီး၍ မရပါ",
|
||||
"title": "ချန်နယ်လ်ဖွင့်ရန်",
|
||||
"info": "သတင်း သို့မဟုတ် အသိပညာများကို ပုံစံမျိုးစုံဖြင့် ထုတ်လွှင့်ပါ—ဗီဒီယို၊ ပေါ့တ်ကာစ်၊ စာသား၊ ရုပ်ပုံများ သို့မဟုတ် PDF ဖိုင်များ။",
|
||||
"channel_name": "သင့်ချန်နယ်လ်ကို နာမည်ပေးပါ",
|
||||
"channel_topic": "၎င်းကို ဖော်ပြပေးပါ"
|
||||
},
|
||||
"profile": {
|
||||
"dont_see_yours": "သင့်ဘာသာစကားကို မတွေ့ဘူးလား။",
|
||||
"tell_us": "ကျွန်ုပ်တို့ကို ပြောပါ။",
|
||||
"password_old": "စကားဝှက်အဟောင်း",
|
||||
"password_new": "စကားဝှက် အသစ်",
|
||||
"display_name": "ပြသမည့်အမည်",
|
||||
"title": "ကျွန်ုပ်၏ ပရိုဖိုင်",
|
||||
"temporary_identity": "ဤအိုင်ဒီသည် ယာယီဖြစ်သည်။ ၎င်းကို ထပ်မံအသုံးပြုရန် စကားဝှက် သတ်မှတ်ပါ",
|
||||
"set_password": "စကားဝှက် သတ်မှတ်ပါ",
|
||||
"change_name": "နာမည်ပြောင်းရန်",
|
||||
"change_password": "စကားဝှက် ပြောင်းရန်",
|
||||
"select_language": "ဘာသာစကား",
|
||||
"set_language": "သင်၏ ဘာသာစကားကို သတ်မှတ်ရန်",
|
||||
"language_description": "Convene ကို ဘာသာစကားများစွာဖြင့် ရရှိနိုင်ပါသည်။",
|
||||
"password_repeat": "စကားဝှက်အသစ်ကို ထပ်ရေးပါ",
|
||||
"display_name_required": "ပြသမည့်အမည် လိုအပ်သည်",
|
||||
"notification_label": "အသိပေးချက်"
|
||||
},
|
||||
"leave": {
|
||||
"title_public": "နှုတ်ဆက်ပါတယ် {user}",
|
||||
"text_public": "လင့်ခ်ကို သိပါက ဤအခန်းကို အမြဲ ထပ်မံပါဝင်နိုင်ပါသည်။",
|
||||
"text_invite": "ဤအခန်းကို ပိတ်ထားသည်။ အထူးခွင့်ပြုချက်မရှိဘဲ ပြန်လည်မပါဝင်နိုင်ပါ။",
|
||||
"text_public_lastroom": "ဤအခန်းကို ထပ်မံပါဝင်လိုပါက အိုင်ဒီအသစ်ဖြင့် ပါဝင်နိုင်ပါသည်။ {user} ကို ထိန်းသိမ်းရန် {action}။",
|
||||
"title_invite": "ထွက်ရန် သေချာပါသလား။",
|
||||
"create_account": "အကောင့်ဖွင့်မည်",
|
||||
"go_back": "နောက်သို့",
|
||||
"leave": "ထွက်မည်"
|
||||
},
|
||||
"goodbye": {
|
||||
"view_other_rooms": "အခြားအခန်းများကို ကြည့်မည်",
|
||||
"room_deleted": "အခန်းကို ဖျက်ပြီးပါပြီ။",
|
||||
"close_tab": "ဘရောက်ဇာတဘ်ကို ပိတ်ရန်"
|
||||
},
|
||||
"room_info": {
|
||||
"title": "အခန်းအသေးစိတ်များ",
|
||||
"created_by": "{user} က ဖန်တီးခဲ့သည်",
|
||||
"permissions": "ပါဝင်ရန် ခွင့်ပြုချက်များ",
|
||||
"join_invite": "ထည့်ထားသူများသာ",
|
||||
"join_public": "လင့်ခ်ရှိသူ မည်သူမဆို",
|
||||
"user": "{user}",
|
||||
"message_retention_2_week": "2 ပတ်",
|
||||
"message_retention_1_week": "1 ပတ်",
|
||||
"message_retention_1_day": "1 ရက်",
|
||||
"message_retention_8_hours": "8 နာရီ",
|
||||
"message_retention_1_hour": "1 နာရီ",
|
||||
"make_public": "အများမြင်ပြုလုပ်မည်",
|
||||
"copy_invite_link": "ဖိတ်ခေါ်လင့်ခ်ကို ကူးယူမည်",
|
||||
"copy_link": "လင့်ခ်ကို ကူးယူမည်",
|
||||
"link_copied": "လင့်ခ် ကူးပြီးပါပြီ",
|
||||
"read_only_room": "ဖတ်ရှုရန် အတွက်သာ",
|
||||
"purge": "အခန်းဖျက်မည်",
|
||||
"members": "အဖွဲ့ဝင်များ",
|
||||
"user_you": "{user} (သင်)",
|
||||
"hide_all": "ဝှက်ထားရန်",
|
||||
"show_all": "အားလုံးပြသရန် >",
|
||||
"leave_room": "ထွက်မည်",
|
||||
"version_info": "Guardian Project မှ ပံ့ပိုးထားသည်။ ဗားရှင်း- {version}",
|
||||
"scan_code": "အခန်းတွင် ပါဝင်ရန် စကင်ဖတ်ပါ",
|
||||
"export_room": "ခြက်ကို တင်ပို့မည်",
|
||||
"user_admin": "စီမံခန့်ခွဲသူ",
|
||||
"user_moderator": "ညှိနှိုင်းပေးသူ",
|
||||
"moderation": "ညှိနှိုင်းပေးခြင်း",
|
||||
"experimental_features": "စမ်းသပ်ဆဲ လုပ်ဆောင်ချက်များ",
|
||||
"room_type": "အခန်းအမျိုးအစား",
|
||||
"room_type_default": "ပုံသေမူလ",
|
||||
"voice_mode": "အသံစနစ်",
|
||||
"voice_mode_info": "ခြက်အင်တာဖေ့စ်ကို 'နားထောင်ခြင်းနှင့် မှတ်တမ်းတင်ခြင်း' စနစ်သို့ ပြောင်းသည်",
|
||||
"file_mode": "ဖိုင်စနစ်",
|
||||
"file_mode_info": "ခြက်အင်တာဖေ့စ်ကို 'file drop' စနစ်သို့ ပြောင်းသည်",
|
||||
"download_chat": "ခြက်ကို ဒေါင်းလုဒ်လုပ်ရန်",
|
||||
"read_only_room_info": "စီမံခန့်ခွဲသူများနှင့် ညှိနှိုင်းပေးသူများသာ ဤအခန်းသို့ ပေးပို့ခွင့်ရှိသည်။",
|
||||
"message_retention": "မက်ဆေ့ချ်မှတ်တမ်း",
|
||||
"message_retention_info": "ဤအချိန်အတွင်း ပို့ထားသည့် မက်ဆေ့ချ်များကို မည်သူမဆို လင့်ခ်မှတစ်ဆင့် ကြည့်ရှုနိုင်သည်။",
|
||||
"message_retention_none": "ပိတ်",
|
||||
"message_retention_4_week": "4 ပတ်",
|
||||
"direct_link": "ကျွန်ုပ်၏ တိုက်ရိုက်လင့်ခ်",
|
||||
"direct_link_desc": "မျှဝေရန် အသင့်ဖြစ်ပါပြီ။ တစ်စုံတစ်ဦးက လင့်ခ်ကို ဖွင့်တိုင်း တိုက်ရိုက်အခန်းအသစ် ပွင့်ပါမည်။",
|
||||
"make_public_warning": "သတိ- မက်ဆေ့ချ်မှတ်တမ်းအပြည့်အစုံကို ပါဝင်သူအသစ်များ မြင်နိုင်ပါမည်",
|
||||
"shared_room_number": "သင်သည် {name} နှင့် {count} ခန်းကို မျှဝေသည်",
|
||||
"shared_room_number_more": "သင်သည် {name} နှင့် {count} ခန်းထက်ပို၍ မျှဝေသည်"
|
||||
},
|
||||
"poll_create": {
|
||||
"failed": "စစ်တမ်း ဖန်တီး၍ မရပါ၊ နောက်မှ ထပ်မံကြိုးစားကြည့်ပါ။",
|
||||
"question_label": "သင့်မေးခွန်ကို မေးပါ*",
|
||||
"question_required": "မေးခွန်းတစ်ခု ထည့်ရပါမည်။",
|
||||
"answer_label_1": "ဖြေ*",
|
||||
"answer_label_n": "ဖြေမည်",
|
||||
"please_complete": "ဖြည့်စွက်ပါ",
|
||||
"title": "စစ်တမ်းအသစ် ဖန်တီးရန်",
|
||||
"create": "ထုတ်ဝေမည်",
|
||||
"creating": "စစ်တမ်းအသစ် ဖန်တီးနေသည်",
|
||||
"poll_disclosed": "ဖွင့်သည် - လတ်တလောရလဒ်များကို အမြဲပြသထားသည်။",
|
||||
"poll_undisclosed": "ပိတ်သည်- စစ်တမ်းကို ပိတ်လိုက်ပါက အသုံးပြုသူများသည် ရလဒ်ကို မြင်ရမည်။",
|
||||
"add_answer": "အဖြေထည့်ရန်",
|
||||
"answer_required": "အဖြေကို အလွတ်မထားပါနှင့်။ စာသားအချို့ ထည့်ပါ သို့မဟုတ် ဤရွေးချယ်မှုကို ဖယ်ရှားပါ။",
|
||||
"tip_title": "ကျွမ်းကျင်သူအကြံပြုချက်",
|
||||
"tip_text": "အဖွဲ့ဝင်များသည် ဖြေဆိုပြီးနောက် စစ်တမ်းရလဒ်ကို မြင်တွေ့ရမည်ဖြစ်သည်။ အခန်းတွင်းရှိ လူတိုင်းအား ရလဒ်များပြသပြီးသွားသောအခါ စစ်တမ်းကို ပိတ်ပါ။",
|
||||
"create_poll_menu_option": "စစ်တမ်းဖန်တီးရန်",
|
||||
"poll_status_closed": "စစ်တမ်းပိတ်ပါပြီ",
|
||||
"poll_status_disclosed": "စစ်တမ်းပိတ်ပါက ရလဒ်ကို ပြသပါမည်။",
|
||||
"poll_status_open": "စစ်တမ်းပွင့်နေသည်",
|
||||
"poll_status_open_not_voted": "စစ်တမ်းပွင့်နေသည် - ရလဒ်ကို ကြည့်ရှုရန် မဲပေးပါ",
|
||||
"view_results": "ရလဒ်များကို ကြည့်ရှုရန်",
|
||||
"close_poll": "စစ်တမ်း ပိတ်မည်",
|
||||
"poll_submit": "ထည့်သွင်းရန်",
|
||||
"num_answered": "အဖြေ {count}ခု",
|
||||
"results_shared": "ရလဒ်များကို အခန်းသို့ မျှဝေခဲ့သည်။"
|
||||
},
|
||||
"export": {
|
||||
"fetched_n_events": "ပွဲအစီအစဉ် {count} ခု ရရှိခဲ့သည်",
|
||||
"fetched_n_of_total_events": "ပွဲအစီအစဉ် {total} တွင် {count} ခု ရရှိခဲ့သည်",
|
||||
"processed_n_of_total_events": "ပွဲအစီအစဉ် {total} တွင် {count} ခုအတွက် မီဒီယာကို စီမံဆောင်ရွက်ခဲ့သည်",
|
||||
"export_filename": "ခြက်ကို တင်ပို့ခဲ့သည် {date}",
|
||||
"exported_date": "{date} တွင် တင်ပို့ခဲ့သည်"
|
||||
},
|
||||
"notification": {
|
||||
"title": "မက်ဆေ့ချ် အသစ် ရရှိခဲ့သည်",
|
||||
"dialog": {
|
||||
"title": "ခြက်အသိပေးချက်များနှင့် အဆက်အသွယ်မပြတ်ပါစေနှင့်။",
|
||||
"body": "မက်ဆေ့ချ် သို့မဟုတ် အရေးကြီးသော စကားဝိုင်းကို နောက်တစ်ကြိမ် လက်မလွတ်ပါစေနှင့်။ တစ်စုံတစ်ယောက်က သင့်ထံ မက်ဆေ့ချ်ပေးပို့သည့်အခါတိုင်း သို့မဟုတ် သင့်ခြက်သို့ စာပြန်သည့်အခါတိုင်း အသိပေးချက်ရယူမည်။",
|
||||
"enable": "ဖွင့်မည်"
|
||||
},
|
||||
"blocked_message": "အသိပေးချက် ပိတ်ထားသည်။ သင့်စက် သို့မဟုတ် ဘရောက်ဇာ ဆက်တင်များသို့ သွားပြီး အသိပေးချက်ကို ဖွင့်ပါ",
|
||||
"not_supported": "အသိပေးချက်ကို မိုဘိုင်းတွင် မရရှိနိုင်သေးပါ",
|
||||
"periodicSync_new_msg_reminder": "သင့်တွင် မက်ဆေ့ချ်အသစ်များ ရှိနိုင်ပါသည်"
|
||||
},
|
||||
"language_display_name": "အင်္ဂလိပ်",
|
||||
"menu": {
|
||||
"start_private_chat": "သုံးစွဲသူနှင့် တိုက်ရိုက်စာပို့ခြင်း",
|
||||
"direct_chat": "တိုက်ရိုက် ခြက်",
|
||||
"reply": "ပြန်ကြားမည်",
|
||||
"edit": "တည်းဖြတ်မည်",
|
||||
"delete": "ဖျက်မည်",
|
||||
"download": "ဒေါင်းလုဒ်လုပ်ရန်",
|
||||
"ok": "အိုကေ",
|
||||
"done": "ပြီးပါပြီ",
|
||||
"cancel": "ပယ်ဖျက်မည်",
|
||||
"send": "ပို့မည်",
|
||||
"back": "နောက်သို့",
|
||||
"login": "လော့ဂ်အင်ဝင်ရန်",
|
||||
"logout": "အကောင့်ထွက်ရန်",
|
||||
"new_room": "အခန်းအသစ်",
|
||||
"delete_now": "ယခု ဖျက်မည်",
|
||||
"join": "ပါဝင်မည်",
|
||||
"undo": "ပြန်ပြင်ရန်",
|
||||
"ignore": "လျစ်လျူရှုရန်",
|
||||
"loading": "{appName} တင်နေပါသည်",
|
||||
"user_kick_and_ban": "ထုတ်မည်",
|
||||
"user_make_admin": "အက်မင် ပြုလုပ်မည်",
|
||||
"user_make_moderator": "ညှိနှိုင်းပေးသူ ပြုလုပ်မည်",
|
||||
"user_revoke_moderator": "ညှိနှိုင်းပေးသူ ရုပ်သိမ်းမည်"
|
||||
},
|
||||
"room": {
|
||||
"invitations": "သင့်တွင် ဖိတ်ခေါ်မှုမရှိပါ | သင့်တွင် ဖိတ်ခေါ်မှု 1 ခုရှိသည် | သင့်တွင် ဖိတ်ခေါ်မှု {count} ခုရှိသည်",
|
||||
"unseen_messages": "သင့်တွင် မဖတ်ရသေးသော မက်ဆေ့ချ် မရှိပါ | သင့်တွင် မဖတ်ရသေးသော မက်ဆေ့ချ် 1 ခုရှိသည် | သင့်တွင် မဖတ်ရသေးသော မက်ဆေ့ချ် {count} ခုရှိသည်",
|
||||
"members": "အဖွဲ့ဝင်မရှိပါ | အဖွဲ့ဝင် 1 ဦး | အဖွဲ့ဝင် {count} ဦး",
|
||||
"leave": "ထွက်မည်",
|
||||
"purge_redacting_events": "ပွဲအစီအစဉ်ပြင်ဆင်ခြင်း ({total} တွင် {count})",
|
||||
"purge_removing_members": "အဖွဲ့ဝင်များဖယ်ရှားခြင်း ({total} တွင် {count})",
|
||||
"purge_failed": "အခန်းကို ရှင်းရန် မအောင်မြင်ပါ။",
|
||||
"room_list_invites": "ဖိတ်ခေါ်မှုများ",
|
||||
"room_list_new_messages": "မက်ဆေ့ချ်သစ် {count} ခု",
|
||||
"purge_set_room_state": "အခန်းအခြေအနေ သတ်မှတ်ခြင်း",
|
||||
"room_list_rooms": "အခန်းများ",
|
||||
"room_name_required": "အခန်းအမည် လိုအပ်သည်",
|
||||
"room_topic_required": "အခန်းဖော်ပြချက် လိုအပ်ပါသည်"
|
||||
},
|
||||
"new_room": {
|
||||
"new_room": "အခန်းအသစ်",
|
||||
"create": "ဖန်တီးရန်",
|
||||
"next": "ရှေ့သို့",
|
||||
"name_room": "အခန်းအမည်",
|
||||
"room_topic": "သင်နှစ်သက်ပါက ဖော်ပြချက်တစ်ခုထည့်ပါ",
|
||||
"join_permissions": "ပါဝင်ရန် ခွင့်ပြုချက်များ",
|
||||
"set_join_permissions": "ပါဝင်ရန် ခွင့်ပြုချက်များ သတ်မှတ်မည်",
|
||||
"join_permissions_info": "ဤခွင့်ပြုချက်များသည် အခန်းတွင် မည်သို့ပါဝင်နိုင်ပုံနှင့် အခြားသူများကို လွယ်ကူစွာ ဖိတ်ကြားနိုင်ပုံကို ဆုံးဖြတ်ပေးပါသည်။ ၎င်းတို့သည် အချိန်မရွေး ပြောင်းလဲနိုင်သည်။",
|
||||
"get_link": "လင့်ခ်ယူမည်",
|
||||
"add_people": "အဖွဲ့ဝင်ထည့်ရန်",
|
||||
"link_copied": "လင့်ခ် ကူးပြီးပါပြီ",
|
||||
"public_info": "လင့်ခ်ရှိသူ မည်သူမဆို",
|
||||
"public_description": "မျှဝေရန် လင့်ယူမည်",
|
||||
"invite_info": "ထည့်ထားသူများသာ",
|
||||
"invite_description": "စာရင်းတစ်ခုမှ ရွေးမည် သို့မဟုတ် အကောင့်အိုင်ဒီဖြင့် ရှာမည်",
|
||||
"status_creating": "အခန်းဖန်တီးနေသည်",
|
||||
"status_avatar_total": "ကိုယ်စားပြုရုပ်ပုံတင်ခြင်း- {total} တွင် {count}",
|
||||
"status_avatar": "ကိုယ်စားပြုရုပ်ပုံတင်ခြင်း- {count}",
|
||||
"room_name_limit_error_msg": "အများဆုံးစာလုံးရေ 50 ခွင့်ပြုထားသည်",
|
||||
"colon_not_allowed": "ကော်လံသုံး၍ မရပါ",
|
||||
"options": "ရွေးချယ်စရာများ"
|
||||
},
|
||||
"device_list": {
|
||||
"blocked": "ပိတ်ဆို့ထားသည်",
|
||||
"verified": "အတည်ပြုထားပါသည်",
|
||||
"not_verified": "အတည်မပြုထားပါ"
|
||||
},
|
||||
"login": {
|
||||
"title": "လော့ဂ်အင်ဝင်ရန်",
|
||||
"username": "အသုံးပြုသူအမည် (ex: marta)",
|
||||
"password": "စကားဝှက် ရိုက်ထည့်ပါ",
|
||||
"username_required": "အသုံးပြုသူအမည် လိုအပ်သည်",
|
||||
"password_required": "စကားဝှက် လိုအပ်သည်",
|
||||
"login": "လော့ဂ်အင်ဝင်ရန်",
|
||||
"create_room": "အခန်းကို စာရင်းသွင်းပြီး ဖန်တီးပါ",
|
||||
"or": "သို့မဟုတ်",
|
||||
"invalid_message": "အသုံးပြုသူအမည် သို့မဟုတ် စကားဝှက် မှားနေသည်",
|
||||
"no_supported_flow": "အက်ပ်ကို ပေးထားသည့် ဆာဗာတွင် လော့ဂ်အင်ဝင်၍ မရပါ",
|
||||
"terms": "ပင်မဆာဗာသည် သင့်အား အောက်ပါမူဝါဒများကို သုံးသပ်၍ လက်ခံရန် လိုအပ်ပါသည်-",
|
||||
"accept_terms": "လက်ခံမည်",
|
||||
"email": "သင့်အီးမေးလ်လိပ်စာကို အတည်ပြုရပါမည်",
|
||||
"send_verification": "အတည်ပြုအီးမေးလ်ကို ပို့ပါ",
|
||||
"sent_verification": "{email} သို့ အီးမေးလ်တစ်စောင် ပေးပို့ပါ။ လိပ်စာကို အတည်ပြုရန် သင့်ပုံမှန်အီးမေးလ်အက်ပ်ကို အသုံးပြုပါ။",
|
||||
"resend_verification": "အတည်ပြုအီးမေးလ် ပြန်ပို့ရန်",
|
||||
"email_not_valid": "အီးမေးလ်လိပ်စာ မမှန်ကန်ပါ",
|
||||
"registration_token": "စာရင်းသွင်းတိုကင် ထည့်ပါ",
|
||||
"send_token": "တိုကင် ပို့ရန်",
|
||||
"token_not_valid": "တိုကင်မမှန်ကန်ပါ"
|
||||
},
|
||||
"profile_info_popup": {
|
||||
"you_are": "သင်သည်",
|
||||
"identity": "{displayName}",
|
||||
"identity_temporary": "{displayName}",
|
||||
"edit_profile": "ပရိုဖိုင်ကို တည်းဖြတ်မည်",
|
||||
"logout": "အကောင့်ထွက်ရန်",
|
||||
"want_more": "ပို၍ လိုအပ်ပါသလား။",
|
||||
"powered_by": "ဤအခန်းကို {product} မှ ပံ့ပိုးထားသည်။ {productLink} တွင် ပိုမိုလေ့လာပါ သို့မဟုတ် ရှေ့ဆက်ပြီး အခြားအခန်းကို ဖန်တီးပါ။",
|
||||
"new_room": "အခန်းအသစ်"
|
||||
},
|
||||
"join": {
|
||||
"title": "ကြိုဆိုပါသည် သင့်ကို ပါဝင်ရန် ဖိတ်ခေါ်ထားသည်",
|
||||
"title_user": "ကြိုဆိုပါသည် သင့်ကို ခြက်ရန် ဖိတ်ခေါ်ထားသည်",
|
||||
"user_name_label": "အသုံးပြုသူအမည်",
|
||||
"remember_me": "ကျွန်ုပ်ကို မှတ်ထားပါ",
|
||||
"joining_as": "သင်သည် ပါဝင်နေသည်-",
|
||||
"join": "အခန်းတွင် ပါဝင်မည်",
|
||||
"join_user": "ခြက်စမည်",
|
||||
"enter_room": "အခန်းသို့ ဝင်မည်",
|
||||
"enter_room_user": "ခြက်စမည်",
|
||||
"status_logging_in": "အကောင့်ထဲသို့ ဝင်နေသည်...",
|
||||
"status_joining": "အခန်းသို့ ပါဝင်နေသည်...",
|
||||
"join_failed": "အခန်းတွင် ပါဝင်ရန် မအောင်မြင်ပါ။",
|
||||
"choose_name": "အသုံးပြုမည့် အမည်ကို ရွေးပါ",
|
||||
"you_have_been_banned": "သင့်ကို ဤအခန်းမှ ပိတ်ပင်လိုက်ပါသည်။"
|
||||
},
|
||||
"invite": {
|
||||
"title": "မိတ်ဆွေများ ပေါင်းထည့်ရန်",
|
||||
"done": "ပြီးပါပြီ",
|
||||
"send_invites_to": "ဖိတ်ခေါ်မှုများ ပေးပို့မည်",
|
||||
"status_inviting": "မိတ်ဆွေများ ဖိတ်ခေါ်ခြင်း {count} ၏ {index}",
|
||||
"status_error": "မိတ်ဆွေတစ်ဦး သို့မဟုတ် များစွာကို ဖိတ်ခေါ်ရန် မအောင်မြင်ပါ။"
|
||||
},
|
||||
"logout": {
|
||||
"confirm_text": "အကောင့်မှထွက်ရန် သေချာပါသလား။"
|
||||
},
|
||||
"purge_room": {
|
||||
"info": "အဖွဲ့ဝင်များနှင့် မက်ဆေ့ဂျ်အားလုံးကို ဖယ်ရှားပါမည်။ ဤလုပ်ဆောင်ချက်ကို ပြန်ပြင်၍မရပါ။",
|
||||
"button": "ဖျက်မည်",
|
||||
"title": "အခန်းကို ဖျက်မလား။",
|
||||
"n_seconds": "{seconds} စက္ကန့်",
|
||||
"self_destruct": "သင့်အခန်းသည် စက္ကန့်ပိုင်းအတွင်း အလိုအလျောက်ပျက်သွားပါမည်။",
|
||||
"deleting": "အခန်းကို ဖျက်နေသည်-",
|
||||
"notified": "အဖွဲ့ဝင်များကို အသိပေးပြီးပါပြီ။",
|
||||
"room_deletion_notice": "နှုတ်ဆက်ရမယ့်အချိန် ဖြစ်ပါတယ်။ ဤအခန်းကို {user} မှ ဖျက်လိုက်ပါသည်။ စက္ကန့်ပိုင်းအတွင်း အလိုအလျောက်ပျက်သွားပါမည်။"
|
||||
},
|
||||
"room_info_sheet": {
|
||||
"this_room": "ဤအခန်း",
|
||||
"view_details": "အသေးစိတ်များကို ကြည့်မည်"
|
||||
},
|
||||
"voice_recorder": {
|
||||
"swipe_to_cancel": "ပယ်ဖျက်ရန် ပွတ်ဆွဲပါ",
|
||||
"release_to_cancel": "ပယ်ဖျက်ရန် လွှတ်ပေးပါ",
|
||||
"failed_to_record": "အသံဖမ်း၍ မရပါ",
|
||||
"not_supported_title": "မရရှိနိုင်ပါ",
|
||||
"not_supported_text": "ဤဘရောက်ဇာတွင် အသံဖမ်းခြင်းကို ပံ့ပိုးမထားပါ။"
|
||||
},
|
||||
"power_level": {
|
||||
"admin": "စီမံခန့်ခွဲသူ",
|
||||
"moderator": "ညှိနှိုင်းပေးသူ",
|
||||
"default": "ပုံသေမူလ",
|
||||
"custom": "စိတ်ကြိုက် ({level})",
|
||||
"restricted": "ကန့်သတ်ထားသည်"
|
||||
},
|
||||
"fallbacks": {
|
||||
"audio_file": "အသံဖိုင်",
|
||||
"video_file": "ဗီဒီယိုဖိုင်",
|
||||
"original_text": "<original text>",
|
||||
"download_name": "ဒေါင်းလုဒ်လုပ်ရန်"
|
||||
},
|
||||
"emoji": {
|
||||
"search": "ရှာဖွေရန်...",
|
||||
"categories": {
|
||||
"activity": "အသုံးပြုမှု",
|
||||
"flags": "အလံများ",
|
||||
"foods": "အစားအစာများ",
|
||||
"frequently": "အသုံးပြုလေ့ရှိသည်",
|
||||
"objects": "အရာဝတ္ထုများ",
|
||||
"nature": "သဘာဝ",
|
||||
"peoples": "လူများ",
|
||||
"symbols": "သင်္ကေတများ",
|
||||
"places": "နေရာများ"
|
||||
}
|
||||
},
|
||||
"file_mode": {
|
||||
"choose_files": "ဖိုင်များကို ရွေးပါ",
|
||||
"any_file_format_accepted": "ဖိုင်အမျိုးအစားအားလုံးကို လက်ခံသည်",
|
||||
"secure_file_send": "လုံခြုံသောဖိုင် ပေးပို့ရန်",
|
||||
"add_a_message": "မက်ဆေ့ချ် ထည့်ရန်",
|
||||
"sending_progress": "ပေးပို့နေသည်...",
|
||||
"sending": "ပေးပို့နေသည်",
|
||||
"files_sent": "1 ဖိုင် ပို့ပြီးပါပြီ | {count} ဖိုင် ပို့ပြီးပါပြီ",
|
||||
"files_sent_with_note": "မှတ်စုနှင့် 1 ဖိုင် ပို့ပြီးပါပြီ | မှတ်စုနှင့် {count} ဖိုင် ပို့ပြီးပါပြီ",
|
||||
"send_more_files": "ဖိုင်များ ထပ်၍ပို့ရန်",
|
||||
"close": "ပိတ်မည်",
|
||||
"files": "ဖိုင်များ"
|
||||
}
|
||||
}
|
||||
444
src/assets/translations/ps.json
Normal file
444
src/assets/translations/ps.json
Normal file
|
|
@ -0,0 +1,444 @@
|
|||
{
|
||||
"language_display_name": "انګریزې",
|
||||
"project": {
|
||||
"name": "را ټولیدل",
|
||||
"tag_line": "ډېر ساده وصل شئ"
|
||||
},
|
||||
"global": {
|
||||
"save": "ثبت کول",
|
||||
"password_didnot_match": "پټ نوم مو ورته نه دی",
|
||||
"show_less": "کم وښایاست",
|
||||
"show_more": "زیات وښایاست",
|
||||
"password_hint": "لږ تر لږه 12 توري او کم تر کمه پورې یوه شمېره، یو لوی توری او یو کوچنی توری باید ولري",
|
||||
"add_reaction": "غبرګون اضافه کړئ",
|
||||
"click_to_remove": "د لرې کولو لپاره پرې کلیک وکړئ",
|
||||
"time": {
|
||||
"recently": "همدا اوس",
|
||||
"minutes": "1 دقیقه وړاندې | {n} دقیقې وړاندې",
|
||||
"hours": "1 ساعت وړاندې | {n} ساعتونه وړاندې",
|
||||
"days": "1 ورځ وړاندې | {n} ورځې وړاندې"
|
||||
},
|
||||
"close": "بندول",
|
||||
"notify": "خبر ورکول",
|
||||
"different_browser_title": "یو بېل براوزر وکاروئ",
|
||||
"different_browser_content": "ځینې ځانګړنې کېدای شي رانشي، دا لینک کاپي او په یوه بېل براوزر کې یې پرانیزئ."
|
||||
},
|
||||
"message": {
|
||||
"user_changed_display_name": "{user} ښودل کېدونکی نوم {displayName} ته بدل کړی ده",
|
||||
"replying_to": "{user} ته ځواب ورکول",
|
||||
"your_message": "ستاسې پیغام...",
|
||||
"scale_image": "د انځور اندازه ټاکل",
|
||||
"user_is_typing": "{user} لیکل کوي",
|
||||
"you": "تاسې",
|
||||
"user_created_room": "{user} دا خونه جوړه کړې ده",
|
||||
"user_aliased_room": "{user} دا خونه {alias} مستعار جوړه کړې ده",
|
||||
"user_changed_avatar": "{user} اواتار بدل کړی ده",
|
||||
"user_changed_room_avatar": "{user} د خونې اواتار بدل کړی ده",
|
||||
"user_encrypted_room": "{user} دا خونه اینکریپټ کړې ده",
|
||||
"user_was_invited": "{user} چټ ته را بلل شوی ده...",
|
||||
"user_was_kicked": "{user} له چټ څخه اېستل شوی ده.",
|
||||
"user_was_kicked_by_you": "تاسې {user} له چټ څخه واېسته.",
|
||||
"user_was_kicked_you": "تاسې له چټ څخه واېستل شوئ.",
|
||||
"user_was_banned": "{user} له چټ څخه اېستل شوی او منع شوی ده.",
|
||||
"user_was_banned_by_you": "تاسې {user} له چټ څخه اېسته کړی او منع کړی ده.",
|
||||
"user_was_banned_you": "تاسې له چټ څخه اېستل شوي او منع شوي یاست.",
|
||||
"user_joined": "{user} له چټ سره یو ځای شو",
|
||||
"user_left": "{user} چټ پرېښود",
|
||||
"someone": "یو کس",
|
||||
"user_said": "{user} وویل:",
|
||||
"sent_media": "{count}رسنیز توکي ولېږل شول.",
|
||||
"room_powerlevel_change": "{user} د {changes} د بدلولو اندازه بدله کړې ده",
|
||||
"user_powerlevel_change_from_to": "{user} له {powerOld} څخه {powerNew} ته",
|
||||
"file_prefix": "فایل: ",
|
||||
"edited": "(تصحیح شوی)",
|
||||
"download_progress": "{percentage}% ډانلوډ شوی",
|
||||
"preparing_to_upload": "د اپلوډ کېدو لپاره چمتو کېږي",
|
||||
"upload_file_too_large": "فایل د اپلوډ کولو لپاره ډېر ستر دی!",
|
||||
"upload_exceeded_file_limit": "د فایل له اعظمي اندازې ({configFormattedUploadSize}) زیات ده. ",
|
||||
"upload_progress": "{count}اپلوډ شوی",
|
||||
"upload_progress_with_total": "له {total} څخه {count} اپلوډ شوی",
|
||||
"user_changed_room_history": "{user} د خونې تاریخچه {type} کړې ده",
|
||||
"room_history_world_readable": "د هر چا له خوا د لوستلو وړ دی",
|
||||
"user_changed_guest_access_closed": "{user} له خونې سره د میلمنو یو ځای کېدو ته اجازه ور نه کړه",
|
||||
"room_history_shared": "په خونه کې د ټولو غړو لپاره د لوستلو وړ ده",
|
||||
"room_history_invited": "غړو ته له کوم وخت څخه چې دوی را بلل شوي د لوستلو وړ ده",
|
||||
"room_history_joined": "غړو ته له کوم وخت څخه چې دوی یو ځای شوي د لوستلو وړ ده",
|
||||
"user_changed_join_rules": "{user} خونه جوړه کړې ده {type}",
|
||||
"room_joinrule_invite": "یوازې بلنه ورکړه",
|
||||
"room_joinrule_public": "عمومي",
|
||||
"user_changed_room_name": "{user} د خونې نوم {name} ته بدل کړی",
|
||||
"user_changed_room_topic": "{user} د خونې موضوع {topic} ته بدله کړې",
|
||||
"unread_messages": "نالوستلي پیغامونه",
|
||||
"users_are_typing": "{count}غړي لیکل کوي",
|
||||
"user_changed_guest_access_open": "{user} له خونې سره د میلمنو یو ځای کېدو ته اجازه ورکړه",
|
||||
"reply_image": "انځور",
|
||||
"reply_audio_message": "غږیز پیغام",
|
||||
"reply_video": "ویډیو",
|
||||
"reply_poll": "نظرسنجي",
|
||||
"time_ago": "نن ورځ | پرون | {count} ورځې مخکې",
|
||||
"outgoing_message_deleted_text": "تاسې دغه پیغام پاک کړ.",
|
||||
"incoming_message_deleted_text": "دغه پيغام پاک شوی ده.",
|
||||
"not_allowed_to_send": "یوازې اډمینان او مدیریت کوونکي اجازه لري چې خونې ته یې ولیږي",
|
||||
"reaction_count_more": "{reactionCount} زیات",
|
||||
"seen_by_count": "هېڅ یوه غړي نه دی لیدلی | د 1 غړي له خوا لیدل شوی | د {count} غړو له خوا لیدل شوی",
|
||||
"seen_by": "له خوا لیدل شوی",
|
||||
"file": "فایل",
|
||||
"files": "فایلونه",
|
||||
"images": "انځورونه",
|
||||
"send_attachements_dialog_title": "ایا غواړئ چې لاندې ضمیمې ولیږئ؟",
|
||||
"download_all": "ټول ډانلوډ کړئ",
|
||||
"failed_to_render": "د دې غونډې ترسره کول تر سره نه شو"
|
||||
},
|
||||
"room_welcome": {
|
||||
"info": "ښه راغلاست! دلته ځینې موارد شته چې باید د خپلې خونې په اړه پرې پوه شئ:",
|
||||
"encrypted": "پيغامونه د پای-تر-پای بڼې سره انکریپټ شوي دي.",
|
||||
"room_history_is": "د خونې تاریخچه {type} ده.",
|
||||
"room_history_joined": "خلک یوازې کله چې یو ځای شي کولای شي لېږلي پيغامونه وویني.",
|
||||
"join_public": "هر څوک کولای شي د دې لینک په پرانیستلو سره یو ځای شي: {link}.",
|
||||
"join_invite": "یوازې هغه خلک چې تاسې بلنه ورکوئ یو ځای کېدای شي.",
|
||||
"info_permissions": "تاسې هر وخت کولای شئ د خونې په تنظیماتو کې «د یو ځای کېدو مجوزونه» بدل کړئ.",
|
||||
"got_it": "پوه شوم",
|
||||
"direct_info": "سلام، {you}. تاسې له {user} سره په خصوصي چت کې یاست.",
|
||||
"no_past_messages": "ښه راغلاست! ستاسې د امنیت په خاطر، پخواني پیغامونه نشته.",
|
||||
"direct_private_chat": "مستقیم پیغام",
|
||||
"join_channel": "هر څه سم دي! خلکو ته بلنه ورکړئ چې تاسې سره یو ځای شي: {link}",
|
||||
"info_retention": "🕓 هغه پيغامونه چې په {time} کې دننه لېږل شوي دي د هر هغه چا له خوا د لیدلو وړ دي چې دا لینک ولري.",
|
||||
"info_auto_join": "{room} ته ښه راغلاست.\nتاسې د {you} په توګه یو ځای کېږئ.",
|
||||
"info_retention_user": "🕓 هغه پیغامونه چې تر {time} پخواني دي هغه به له تاریخچې څخه پاک شي.",
|
||||
"change": "بدلول"
|
||||
},
|
||||
"new_room": {
|
||||
"set_join_permissions": "د یو ځای کېدو د مجوزونو تنظیم",
|
||||
"options": "غوراوي",
|
||||
"new_room": "نوې خونه",
|
||||
"create": "رامنځته کول",
|
||||
"next": "بل",
|
||||
"name_room": "د خونې نوم",
|
||||
"room_topic": "که غواړئ نو توضیحات اضافه کړئ",
|
||||
"join_permissions": "د یو ځای کېدو مجوزونه",
|
||||
"join_permissions_info": "دا مجوزونه دا په ډاګه کوي چې خلک څرنګه کولای شي له خونې سره یو ځای شي او څومره په اسانۍ سره نورو ته بلنه ورکول کېدای شي. تاسې کولای شئ هغه هر وخت بدل کړئ.",
|
||||
"get_link": "لینک تر لاسه کړئ",
|
||||
"add_people": "خلک اضافه کړئ",
|
||||
"link_copied": "لینک کاپي شو!",
|
||||
"public_info": "هر هغه څوک چې لینک لري",
|
||||
"public_description": "د شریک کولو لپاره یو لینک تر لاسه کړئ",
|
||||
"invite_info": "یوازې اضافه شوي خلک",
|
||||
"invite_description": "له یوه لیست څخه یې وټاکئ یا هم د ګڼون د ID له مخې یې وپلټئ",
|
||||
"status_creating": "د خونې رامنځته کول",
|
||||
"status_avatar_total": "اواتار اپلوډ کوي: {count} له {total} څخه",
|
||||
"status_avatar": "اواتار اپلوډ کوي: {count}",
|
||||
"room_name_limit_error_msg": "تر زیاتې کچې پورې 50 تورو ته اجازه شته",
|
||||
"colon_not_allowed": "شارحې ته اجازه نشته"
|
||||
},
|
||||
"profile": {
|
||||
"tell_us": "موږ ته ووایاست.",
|
||||
"password_old": "پخوانی پټ نوم",
|
||||
"password_new": "نوی پټ نوم",
|
||||
"password_repeat": "نوی پټ نوم تکرار کړئ",
|
||||
"display_name": "د نمایش نوم",
|
||||
"display_name_required": "د نمایش نوم اړین ده",
|
||||
"title": "زما پروفایل",
|
||||
"temporary_identity": "دا پېژند لنډمهاله ده. یو پټ نوم وټاکئ تر څو یې بیا وکاروئ",
|
||||
"set_password": "د پټ نوم ورکول",
|
||||
"change_name": "نوم بدلول",
|
||||
"change_password": "پټ نوم بدلول",
|
||||
"select_language": "ژبه",
|
||||
"set_language": "خپله ژبه وټاکئ",
|
||||
"language_description": "را ټولیدنه په زیاترو ژبو کې شته.",
|
||||
"dont_see_yours": "خپله ژبه نه ویني؟",
|
||||
"notification_label": "خبرتیا"
|
||||
},
|
||||
"poll_create": {
|
||||
"create": "خپرول",
|
||||
"creating": "د نظرسنجې رامنځته کول",
|
||||
"title": "د نوې نظرسنجي رامنځته کول",
|
||||
"poll_disclosed": "پرانیستی - اوسنۍ پایلې هر وخت ښودل کېږي.",
|
||||
"poll_undisclosed": "تړل شوی - کاروونکي به پایلې هغه مهال وویني چې کله نظرسنجي وتړل شي.",
|
||||
"add_answer": "ځواب اضافه کړئ",
|
||||
"failed": "د نظرسنجي رامنځته کول تر سره نه شو، مهرباني وکړئ بیا هڅه وکړئ.",
|
||||
"question_label": "خپله پوښتنه وپوښتئ*",
|
||||
"question_required": "تاسې باید یوه پوښتنه دننه کړئ!",
|
||||
"answer_label_1": "ځواب*",
|
||||
"answer_label_n": "ځواب",
|
||||
"please_complete": "مهرباني وکړئ بشپړ یې کړئ",
|
||||
"answer_required": "ځواب نه باید خالي واوسي. مهرباني وکړئ کوم متن ولیکئ یا دا غوراوی اېسته کړئ.",
|
||||
"tip_title": "مسلکي نکته",
|
||||
"tip_text": "غړي به د نظرسنجي پایلې هغه مهال وویني چې کله ځواب ورکړی. کله چې مو دا کار وکړ، نو نظرسنجي وتړئ تر څو پایلې په خونه کې ټولو ته ښکاره شي.",
|
||||
"create_poll_menu_option": "نظرسنجی رامنځته کړئ",
|
||||
"poll_status_closed": "نظرسنجي تړل شوې ده",
|
||||
"poll_status_disclosed": "پایلې به هغه مهال د ښکاره کېدو وړ شي چې نظرسنجي وتړل شي.",
|
||||
"poll_status_open": "نظرسنجي پرانیستې ده",
|
||||
"poll_status_open_not_voted": "نظرسنجې پرانیستې ده - رایه ورکړئ تر څو پایلې ووینئ",
|
||||
"view_results": "پایلې ووینئ",
|
||||
"close_poll": "نظرسنجي وتړئ",
|
||||
"poll_submit": "سپارل",
|
||||
"num_answered": "{count} ځوابونه",
|
||||
"results_shared": "پایلې له خونې سره شریکې شوي."
|
||||
},
|
||||
"emoji": {
|
||||
"categories": {
|
||||
"nature": "طبیعت",
|
||||
"activity": "فعالیت",
|
||||
"flags": "بیرغونه",
|
||||
"foods": "خواړه",
|
||||
"frequently": "په مکرر ډول کاریدونکی",
|
||||
"objects": "توکي",
|
||||
"peoples": "خلک",
|
||||
"symbols": "سمبولونه",
|
||||
"places": "ځایونه"
|
||||
},
|
||||
"search": "پلټنه..."
|
||||
},
|
||||
"file_mode": {
|
||||
"any_file_format_accepted": "د هر ډول فارمټ لرونکی فایل منل کېږي",
|
||||
"secure_file_send": "د خوندي فایل لېږل",
|
||||
"add_a_message": "یو پیغام اضافه کړئ",
|
||||
"sending_progress": "د لېږلو په حال کې...",
|
||||
"sending": "د لېږلو په حال کې",
|
||||
"files_sent": "1 فایل ولېږل شو! | {count} فایلونه لېږل شوي دي!",
|
||||
"choose_files": "فایلونه وټاکئ",
|
||||
"files_sent_with_note": "1 فایل له یادښت سره ولېږل شو! | {count} فایلونه له یوه یادښت سره ولېږل شول!",
|
||||
"send_more_files": "زیات فایلونه ولېږئ",
|
||||
"close": "بندول",
|
||||
"files": "فایلونه"
|
||||
},
|
||||
"menu": {
|
||||
"start_private_chat": "دغه کارن ته مستقیم پیغام ولېږئ",
|
||||
"direct_chat": "مستقیم چټ",
|
||||
"reply": "ځواب ورکول",
|
||||
"edit": "تصحیح",
|
||||
"delete": "پاک کول",
|
||||
"download": "ډانلوډ",
|
||||
"ok": "هوکې",
|
||||
"done": "وشو",
|
||||
"cancel": "فسخه کول",
|
||||
"send": "لېږل",
|
||||
"back": "شاته",
|
||||
"login": "ننوتل",
|
||||
"logout": "وتل",
|
||||
"new_room": "نوې خونه",
|
||||
"undo": "لغو کول",
|
||||
"delete_now": "همدا اوس یې پاک کړئ",
|
||||
"join": "یو ځای کېدل",
|
||||
"ignore": "ځان تېرول",
|
||||
"loading": "{appName} را ښکته کېږي",
|
||||
"user_kick_and_ban": "اېستل",
|
||||
"user_make_admin": "اډمین جوړول",
|
||||
"user_make_moderator": "مدیر جوړول",
|
||||
"user_revoke_moderator": "د مدیر لغو کول"
|
||||
},
|
||||
"room": {
|
||||
"invitations": "تاسې هېڅ بلنې نه لرئ | تاسې 1 بلنه لرئ | تاسې {count} بلنې لرئ",
|
||||
"unseen_messages": "تاسې هېڅ نالیدل شوي پیغامونه نه لرئ | تاسې 1 نالیدل شوی پيغام لرئ | تاسې {count} نالیدل شوي پيغامونه لرئ",
|
||||
"members": "هېڅ غړی نشته | 1 غړی شته | {count} غړي شته",
|
||||
"leave": "پرېښودل",
|
||||
"purge_set_room_state": "د خونې د حالت تنظیمول",
|
||||
"purge_redacting_events": "د پېښو تحریر ({count} له {total} څخه)",
|
||||
"purge_removing_members": "د غړو لرې کول ({count} له {total} څخه)",
|
||||
"purge_failed": "د خونې پاکول تر سره نه شو!",
|
||||
"room_list_invites": "بلنې",
|
||||
"room_list_rooms": "خونې",
|
||||
"room_name_required": "د خونې نوم اړین ده",
|
||||
"room_list_new_messages": "{count} نوي پيغامونه",
|
||||
"room_topic_required": "د خونې توضیحات اړین دي"
|
||||
},
|
||||
"login": {
|
||||
"invalid_message": "ناسم کارن نوم یا پټ نوم",
|
||||
"title": "ننوتل",
|
||||
"username": "کارن نوم (د بېلګې په توګه: marta)",
|
||||
"password": "پټ نوم دننه کړئ",
|
||||
"username_required": "کارن نوم اړین ده",
|
||||
"password_required": "پټ نوم اړین ده",
|
||||
"login": "ننوتل",
|
||||
"create_room": "د خونې نوملیکنه او رامنځته کول",
|
||||
"or": "یا",
|
||||
"no_supported_flow": "دغه اپلیکیشن په ورکړل شوي سرور کې کې نشي دننه کېدای",
|
||||
"terms": "کورنی سرور له تاسې غواړي چې لاندې تګلارې تر نظر تېرې کړئ او ویې منئ:",
|
||||
"accept_terms": "منل",
|
||||
"email": "تاسې باید خپله برېښنالیک پته تایید کړئ",
|
||||
"send_verification": "د تایید برېښنالیک ولېږئ",
|
||||
"sent_verification": "{email} ته یو برېښنالیک ولېږل شو. مهرباني وکړئ خپل برېښنالیک ته ولاړ شئ تر څو هغه تایید کړئ.",
|
||||
"resend_verification": "د تایید برېښنالیک بیا ولیږئ",
|
||||
"email_not_valid": "برېښنالیک پته مو سهي نه ده",
|
||||
"registration_token": "مهرباني وکړئ د نوملیکنې ټوکین دننه کړئ",
|
||||
"send_token": "ټوکین ولیږئ",
|
||||
"token_not_valid": "ټوکين سهي نه دی"
|
||||
},
|
||||
"device_list": {
|
||||
"blocked": "بلاک شوی",
|
||||
"verified": "تایید شوی",
|
||||
"not_verified": "ناتایید شوی"
|
||||
},
|
||||
"getlink": {
|
||||
"title": "یو مستقیم لینک تر لاسه کړئ",
|
||||
"info": "مستقیم لینکونه خلکو ته له تاسې سره د خبرو اترو لپاره یوه خوندي کرښه ورکوي. د پیلولو لپاره، یو سکرین نوم وټاکئ تر څو کله چې خلک له تاسې سره چت ته راځي هغه وویني.",
|
||||
"username": "د سکرین یو نوم دننه کړئ (د بېلګې په توګه، waku)",
|
||||
"next": "بل",
|
||||
"hello": "سلام {user}،\nدا ستاسې مستقیم لینک ده",
|
||||
"ready_to_share": "دا د شریکولو لپاره چمتو ده! هر کله چې یو کس دا لینک پرانیزي نو یوه نوې مستقیمه خونه به پرانیستل شي.",
|
||||
"scan_title": "دا کوډ سکن کړئ تر څو یو مستقیم چت پیل کړئ",
|
||||
"continue": "ادامه",
|
||||
"different_link": "یو متفاوت لینک تر لاسه کړئ",
|
||||
"share_qr": "QR شریک کړئ",
|
||||
"qr_image_copied": "انځور کلیپ بورډ ته کاپي شو"
|
||||
},
|
||||
"createchannel": {
|
||||
"title": "یو چاینل رامنځته کړئ",
|
||||
"info": "خبرونه یا پوهه په هر فارمټ - ویډیو، پاډکسټ، متن، انځورونه یا PDFs کې خپاره کړئ.",
|
||||
"channel_name": "خپل چاینل ته نوم ورکړئ",
|
||||
"channel_topic": "توضیح یې کړئ",
|
||||
"name_required": "د چاینل نوم اړین ده",
|
||||
"error_channel": "د چاینل جوړول تر سره نه شو"
|
||||
},
|
||||
"profile_info_popup": {
|
||||
"you_are": "تاسې یاست",
|
||||
"identity": "{displayName}",
|
||||
"identity_temporary": "{displayName}",
|
||||
"edit_profile": "پروفایل تصحیح کړئ",
|
||||
"logout": "وتل",
|
||||
"want_more": "زیات غواړئ؟",
|
||||
"powered_by": "دغه خونه د {product} پر مټ ملاتړ کېږي. کولای شئ لا زیات دلته {productLink} زده کړئ یا هم مخکې ولاړ شئ او یوه بله خونه رامنځته کړئ!",
|
||||
"new_room": "نوې خونه"
|
||||
},
|
||||
"leave": {
|
||||
"title_public": "خدای په امان، {user}",
|
||||
"text_public": "تاسې تل کولای شئ له دغې خونې سره بیا یو ځای شئ که چېرې یې لینک پېژنئ.",
|
||||
"text_public_lastroom": "که غواړئ له دې خونې سره بیا یو ځای شئ، نو کولای شئ د یوه نوي پېژند له لارې یو ځای شئ. د {user}، {action} د ساتلو لپاره.",
|
||||
"title_invite": "ایا ډاډه یاست چې غواړئ ولاړ شئ؟",
|
||||
"text_invite": "دا خونه قفل ده. تاسې له ځانګړې اجازې پرته نه شئ کولای بیا یوځای شئ.",
|
||||
"create_account": "یو ګڼون رامنځته کړئ",
|
||||
"go_back": "شا ته ولاړ شئ",
|
||||
"leave": "پرېښودل"
|
||||
},
|
||||
"join": {
|
||||
"title": "ښه راغلاست تاسې ته د دې لپاره بلنه درکړل شوې تر څو یوځای شئ",
|
||||
"title_user": "ښه راغلاست تاسې ته د دې لپاره بلنه درکړل شوې تر څو چت وکړئ له",
|
||||
"user_name_label": "کارن نوم",
|
||||
"remember_me": "ما په یاد وساته",
|
||||
"joining_as": "تاسې یو ځای کېږئ په توګه دي:",
|
||||
"join": "خونې سره یو خای شئ",
|
||||
"join_user": "چت پیل کړئ",
|
||||
"enter_room": "خونې ته دننه شئ",
|
||||
"enter_room_user": "چت پیل کړئ",
|
||||
"status_logging_in": "د ننوتلو په حال کې...",
|
||||
"status_joining": "له خونې سره د یو خای کېدو په حال کې...",
|
||||
"join_failed": "له خونې سره یو ځای کېدل تر سره نه شو.",
|
||||
"choose_name": "د کارولو لپاره یو نوم وټاکئ",
|
||||
"you_have_been_banned": "تاسې له دې خونې څخه منع شوي یاست."
|
||||
},
|
||||
"invite": {
|
||||
"title": "ملګري اضافه کړئ",
|
||||
"done": "وشو",
|
||||
"send_invites_to": "ته بلنې ولېږئ",
|
||||
"status_inviting": "له {count} څخه د ملګري {index} را بلل",
|
||||
"status_error": "د یوه یا زیاتو ملګرو رابلل تر سره نه شو!"
|
||||
},
|
||||
"purge_room": {
|
||||
"deleting": "د خونې له منځه وړل:",
|
||||
"title": "غواړئ خونه له منځه یوسئ؟",
|
||||
"info": "ټول غړي او پیغامونه به له منځه ولاړ شي. دا کار د لغو کېدو وړ نه ده.",
|
||||
"button": "پاک کول",
|
||||
"n_seconds": "{seconds} ثانیې",
|
||||
"self_destruct": "ستاسې خونه به په ثانیو کې په خپله له منځه ولاړه شي.",
|
||||
"notified": "موږ غړو ته خبر ورکړ.",
|
||||
"room_deletion_notice": "د خدای په اماني وخت دی! دا خونه د {user} له خوا له منځه یوړل شوه. په څو ثانیو کې به په خپله له منځه ولاړه شي."
|
||||
},
|
||||
"logout": {
|
||||
"confirm_text": "ایا ډاډه یاست چې غواړئ ووځئ؟"
|
||||
},
|
||||
"goodbye": {
|
||||
"room_deleted": "خونه له منځه ولاړه.",
|
||||
"close_tab": "د براوزر ټب وتړئ",
|
||||
"view_other_rooms": "نورې خونې ووینئ"
|
||||
},
|
||||
"room_info": {
|
||||
"title": "د خونې جزئیات",
|
||||
"permissions": "د یو ځای کېدو مجوزونه",
|
||||
"created_by": "د {user} له خوا رامنځته شوی",
|
||||
"join_invite": "یوازې اضافه شوي خلک",
|
||||
"join_public": "هر هغه څوک چې لینک لري",
|
||||
"copy_invite_link": "د بلنې لینک کاپي کړئ",
|
||||
"copy_link": "لینک کاپي کړئ",
|
||||
"link_copied": "لینک کاپي شو!",
|
||||
"purge": "د خونې له منځه وړل",
|
||||
"members": "غړي",
|
||||
"user": "{user}",
|
||||
"user_you": "{user} (تاسې)",
|
||||
"hide_all": "پټول",
|
||||
"show_all": "ټول ښودل >",
|
||||
"leave_room": "پرېښودل",
|
||||
"version_info": "ملاتړی د ګارډین پروژه. ګڼه: {version}",
|
||||
"scan_code": "له خونې سره د یو ځای کېدو لپاره یې سکن کړئ",
|
||||
"export_room": "د چت خروجي واخلئ",
|
||||
"user_admin": "مدیر",
|
||||
"user_moderator": "مدیریت کوونکی",
|
||||
"moderation": "مدیریت",
|
||||
"experimental_features": "ازمایښتي ځانګړنې",
|
||||
"room_type": "د خونې ډول",
|
||||
"room_type_default": "ډیفالټ",
|
||||
"voice_mode": "غږیز حالت",
|
||||
"voice_mode_info": "د چت انټرفیس د «واوره او ثبت کړه» حالت ته بدلوي",
|
||||
"file_mode": "د فایل حالت",
|
||||
"file_mode_info": "د چت انټرفیس د «فایل اچولو» حالت ته بدلوي",
|
||||
"download_chat": "چت ډانلوډ کړه",
|
||||
"read_only_room": "یوازې ویې لوله",
|
||||
"read_only_room_info": "یوازې اډمینان او مدیریت کوونکي اجازه لري چې خونې ته یې ولیږي.",
|
||||
"message_retention": "د پیغام تاریخچه",
|
||||
"message_retention_info": "په دغه زماني دوره کې لېږل شوي پیغامونه د هر هغه چا له خوا د لیدلو وړ دي چې دا لینک ولري.",
|
||||
"message_retention_none": "خاموش",
|
||||
"message_retention_4_week": "4 اوونۍ",
|
||||
"message_retention_2_week": "2 اوونۍ",
|
||||
"message_retention_1_week": "1 اوونۍ",
|
||||
"message_retention_1_day": "1 اوونۍ",
|
||||
"message_retention_8_hours": "8 ساعتونه",
|
||||
"message_retention_1_hour": "1 ساعت",
|
||||
"make_public": "عمومي یې کړئ",
|
||||
"make_public_warning": "خبرداری: د پیغام بشپړه تاریخچه به نویو ګډونوالو ته د لیدلو وړ وي",
|
||||
"direct_link": "زما مستقیم لینک",
|
||||
"direct_link_desc": "دا د شریکولو لپاره چمتو ده! هر کله چې یو کس دا لینک پرانیزي نو یوه نوې مستقیمه خونه به پرانیستل شي.",
|
||||
"shared_room_number": "تاسې له {name} سره {count} خونې شریکې کړي دي",
|
||||
"shared_room_number_more": "تاسې له {name} سره له {count} زیاتې خونې شریکې کړي دي"
|
||||
},
|
||||
"room_info_sheet": {
|
||||
"this_room": "دغه خونه",
|
||||
"view_details": "جزئیات وګورئ"
|
||||
},
|
||||
"voice_recorder": {
|
||||
"swipe_to_cancel": "د لغو کولو لپاره ګوته پرې کش کړئ",
|
||||
"release_to_cancel": "د لغو کولو لپاره یې پریږدئ",
|
||||
"failed_to_record": "د غږ ثبتول تر سره نه شو",
|
||||
"not_supported_title": "ملاتړ یې نه کېږي",
|
||||
"not_supported_text": "له بده مرغه، دغه براوزر له غږیز ثبت څخه ملاتړ نه کوي."
|
||||
},
|
||||
"power_level": {
|
||||
"admin": "مدیر",
|
||||
"moderator": "مدیریت کوونکی",
|
||||
"default": "ډیفالټ",
|
||||
"custom": "سفارشي ({level})",
|
||||
"restricted": "محدود شوی"
|
||||
},
|
||||
"fallbacks": {
|
||||
"audio_file": "غږیز فایل",
|
||||
"video_file": "ویډیويي فایل",
|
||||
"original_text": "<original text>",
|
||||
"download_name": "ډانلوډ"
|
||||
},
|
||||
"export": {
|
||||
"exported_date": "{date} نېټه خروجې اخیستل شوې ده",
|
||||
"fetched_n_events": "{count} پېښې بېرته تر لاسه شوې دي",
|
||||
"fetched_n_of_total_events": "له {total} پېښو څخه {count} یې بېرته تر لاسه شوې دي",
|
||||
"processed_n_of_total_events": "له {total} پېښو څخه {count} رسنیز مواد پروسیس شوي دي",
|
||||
"export_filename": "له چت څخه خروجي په {date} نېټه اخیستل شوې ده"
|
||||
},
|
||||
"notification": {
|
||||
"title": "نوی پیغام تر لاسه شوی",
|
||||
"dialog": {
|
||||
"title": "د چت له خبرتیاوو سره په اړیکه کې واوسئ!",
|
||||
"body": "نور هېڅکله یو پیغام یا مهمه مکالمه له لاسه ور نه کړئ! هر کله چې څوک تاسې ته یو پیغام لېږي یا ستاسې چت ته ځواب ورکوي نو خبر واوسئ.",
|
||||
"enable": "فعال"
|
||||
},
|
||||
"blocked_message": "خبرتیاووې بندې شوي دی. خپلې دستګاه یا د براوزر تنظیماتو ته ولاړ شئ تر څو خبرتیاووې بېرته فعاله کړئ",
|
||||
"not_supported": "په موبایل کې د خبرتیاوو لا تر اوسه پورې ملاتړ نه کېږي",
|
||||
"periodicSync_new_msg_reminder": "کېدای شي تاسې نوي پیغامونه ولرئ"
|
||||
}
|
||||
}
|
||||
|
|
@ -59,7 +59,9 @@
|
|||
"user_revoke_moderator": "Revogar moderador",
|
||||
"delete_now": "Excluir agora",
|
||||
"direct_chat": "Conversa direta",
|
||||
"user_kick_and_ban": "Expulsar"
|
||||
"user_kick_and_ban": "Expulsar",
|
||||
"pin": "Fixar post",
|
||||
"unpin": "Desafixar post"
|
||||
},
|
||||
"message": {
|
||||
"you": "Você",
|
||||
|
|
|
|||
|
|
@ -1,9 +1,9 @@
|
|||
{
|
||||
"login": {
|
||||
"invalid_message": "Неверное имя пользователя или пароль",
|
||||
"title": "Имя пользователя",
|
||||
"title": "Авторизация",
|
||||
"password": "Введите пароль",
|
||||
"login": "Имя пользователя",
|
||||
"login": "Войти",
|
||||
"resend_verification": "Отправить электронное письмо-подтверждение снова",
|
||||
"token_not_valid": "Недействительный токен",
|
||||
"accept_terms": "Принять",
|
||||
|
|
@ -14,7 +14,7 @@
|
|||
"no_supported_flow": "Приложение не может войти на указанный сервер",
|
||||
"email_not_valid": "Адрес электронной почты недействителен",
|
||||
"or": "ИЛИ",
|
||||
"email": "Вам необходимо подтвердить свой адрес электронной почты",
|
||||
"email": "Вам необходимо подтвердить адрес электронной почты",
|
||||
"send_verification": "Отправить письмо с подтверждением",
|
||||
"send_token": "Отправить токен",
|
||||
"terms": "Домашний сервер требует, чтобы вы ознакомились со следующими правилами и приняли их:",
|
||||
|
|
@ -27,22 +27,22 @@
|
|||
"message_retention_8_hours": "8 часов",
|
||||
"message_retention_1_hour": "1 час",
|
||||
"hide_all": "Скрыть",
|
||||
"leave_room": "Оставить",
|
||||
"leave_room": "Выйти",
|
||||
"user_admin": "Администратор",
|
||||
"user_moderator": "Модератор",
|
||||
"room_type_default": "По умолчанию",
|
||||
"members": "Элементов",
|
||||
"members": "Участники",
|
||||
"read_only_room": "Только чтение",
|
||||
"message_retention_none": "Выключить",
|
||||
"message_retention_none": "Выкл.",
|
||||
"message_retention_2_week": "2 недели",
|
||||
"message_retention_1_week": "1 неделя",
|
||||
"join_public": "У кого-нибудь есть ссылка",
|
||||
"copy_invite_link": "Скопируйте ссылку на приглашение",
|
||||
"join_public": "Любой, у кого есть ссылка",
|
||||
"copy_invite_link": "Скопировать ссылку на приглашение",
|
||||
"scan_code": "Сканировать, чтобы присоединиться к комнате",
|
||||
"message_retention": "История сообщений",
|
||||
"message_retention_info": "Сообщения, отправленные в течение этого срока, могут просматривать все, у кого есть ссылка.",
|
||||
"message_retention_info": "Сообщения, отправленные в этом временном интервале, могут просматривать все, у кого есть пригласительная ссылка.",
|
||||
"direct_link": "Моя прямая ссылка",
|
||||
"title": "Детали комнаты",
|
||||
"title": "Сведения о комнате",
|
||||
"created_by": "Создано {user}",
|
||||
"permissions": "Разрешения на присоединение",
|
||||
"join_invite": "Только добавленные люди",
|
||||
|
|
@ -55,32 +55,32 @@
|
|||
"moderation": "Модерация",
|
||||
"room_type": "Тип комнаты",
|
||||
"voice_mode": "Голосовой режим",
|
||||
"voice_mode_info": "Переключает интерфейс чата в режим \"слушать и записывать\"",
|
||||
"voice_mode_info": "Переключает интерфейс чата в режим \"прослушивания и записи\"",
|
||||
"file_mode": "Файловый режим",
|
||||
"download_chat": "Скачать чат",
|
||||
"read_only_room_info": "Отправлять сообщения в комнату могут только администраторы и модераторы.",
|
||||
"read_only_room_info": "Отправлять сообщения в комнате могут только администраторы и модераторы.",
|
||||
"message_retention_4_week": "4 недели",
|
||||
"make_public_warning": "предупреждение: Полная история сообщений будет видна новым участникам",
|
||||
"make_public_warning": "предупреждение: Вся история сообщений будет доступна новым участникам",
|
||||
"shared_room_number": "Вы делите {count} комнат с {name}",
|
||||
"file_mode_info": "Переключает интерфейс чата в режим \"сброса файлов\"",
|
||||
"make_public": "Сделать публичным",
|
||||
"direct_link_desc": "Он готов к обмену! Каждый раз, когда кто-то открывает ссылку, будет открываться новая прямая комната.",
|
||||
"version_info": "Работает под управлением Guardian Project. Версия: {version}",
|
||||
"file_mode_info": "Переключает интерфейс чата в режим \"передачи файлов\"",
|
||||
"make_public": "Сделать общедоступной",
|
||||
"direct_link_desc": "Она готова к обмену! Каждый раз, когда кто-то переходит по ссылке, будет открываться новая комната с личным чатом.",
|
||||
"version_info": "Разработчик: Guardian Project. Версия: {version}",
|
||||
"shared_room_number_more": "Вы делите более {count} комнат с {name}",
|
||||
"experimental_features": "Экспериментальная функция"
|
||||
"experimental_features": "Экспериментальные возможности"
|
||||
},
|
||||
"file_mode": {
|
||||
"sending": "Отправляем",
|
||||
"sending": "Отправка",
|
||||
"sending_progress": "Отправка...",
|
||||
"close": "Закрыть",
|
||||
"files": "Файлы",
|
||||
"files_sent": "Отправлен 1 файл! | {count} отправленных файлов!",
|
||||
"files_sent": "Отправлен {count} файл! | Отправлены {count} файлов! | Отправлены {count} файлов!",
|
||||
"any_file_format_accepted": "Принимаются файлы любого формата",
|
||||
"send_more_files": "Отправить больше файлов",
|
||||
"secure_file_send": "безопасная отправка файлов",
|
||||
"add_a_message": "Добавить сообщение",
|
||||
"files_sent_with_note": "1 файл отправлен с примечанием! | {count} файлов, отправленных с примечанием!",
|
||||
"choose_files": "Выбрать файл"
|
||||
"files_sent_with_note": "Отправлен {count} файл с примечанием! | Отправлены {count} файлов с примечанием! | Отправлены {count} файлов с примечанием!",
|
||||
"choose_files": "Выбрать файлы"
|
||||
},
|
||||
"global": {
|
||||
"save": "Сохранить",
|
||||
|
|
@ -88,16 +88,18 @@
|
|||
"show_more": "Показать больше",
|
||||
"time": {
|
||||
"recently": "только что",
|
||||
"minutes": "1 минуту назад | {n} минут назад",
|
||||
"hours": "1 час назад | {n} часов назад",
|
||||
"days": "1 день назад | {n} дней назад"
|
||||
"minutes": "{n} минуту назад | {n} минут назад | {n} минут назад",
|
||||
"hours": "{n} час назад | {n} часов назад | {n} часов назад",
|
||||
"days": "{n} день назад | {n} дней назад | {n} дней назад"
|
||||
},
|
||||
"notify": "Оповестить",
|
||||
"password_didnot_match": "Пароль не совпадает",
|
||||
"password_hint": "Минимум 12 символов, содержащих как минимум одну цифру, одну заглавную и одну строчную буквы",
|
||||
"password_didnot_match": "Пароли не совпадают",
|
||||
"password_hint": "Не менее 12 символов, содержащих как минимум одну цифру, одну заглавную и одну строчную буквы",
|
||||
"add_reaction": "Добавить реакцию",
|
||||
"click_to_remove": "Нажмите, чтобы удалить",
|
||||
"close": "закрыть"
|
||||
"close": "закрыть",
|
||||
"different_browser_title": "Попробуйте другой браузер",
|
||||
"different_browser_content": "Некоторые функции могут работать некорректно. Скопируйте ссылку и откройте её в другом браузере."
|
||||
},
|
||||
"message": {
|
||||
"download_all": "Скачать все",
|
||||
|
|
@ -107,12 +109,12 @@
|
|||
"reply_image": "Изображение",
|
||||
"reply_video": "Видео",
|
||||
"reply_poll": "Опрос",
|
||||
"seen_by": "Увиденное",
|
||||
"seen_by": "Просмотрено",
|
||||
"file": "Файл",
|
||||
"files": "Файлы",
|
||||
"images": "Изображения",
|
||||
"you": "Вы",
|
||||
"user_aliased_room": "{user} создал псевдоним {alias} для комнаты",
|
||||
"user_aliased_room": "{user} установил для комнаты псевдоним {alias}",
|
||||
"user_changed_display_name": "{user} изменил отображаемое имя на {displayName}",
|
||||
"user_changed_avatar": "{user} изменил аватар",
|
||||
"user_changed_room_avatar": "{user} изменил аватар комнаты",
|
||||
|
|
@ -123,70 +125,70 @@
|
|||
"user_joined": "{user} присоединился к чату",
|
||||
"user_left": "{user} покинул чат",
|
||||
"user_said": "{user} сказал:",
|
||||
"sent_media": "Отправлено {count} медиаэлементов.",
|
||||
"sent_media": "Отправлено {count} медиафайлов.",
|
||||
"preparing_to_upload": "Подготовка к загрузке...",
|
||||
"upload_file_too_large": "Файл слишком велик для загрузки!",
|
||||
"upload_progress": "Загружено {count}",
|
||||
"upload_progress_with_total": "Загружено {count} из {total}",
|
||||
"user_changed_room_history": "{user} сделал историю номера {type}",
|
||||
"room_history_world_readable": "читаемый всеми",
|
||||
"room_history_shared": "читаемый всеми участниками в комнате",
|
||||
"user_changed_join_rules": "{user} сделал комнату {type}",
|
||||
"user_changed_room_history": "{user} сделал историю сообщений комнаты {type}",
|
||||
"room_history_world_readable": "доступной для всех",
|
||||
"room_history_shared": "доступной для всех участников в комнате",
|
||||
"user_changed_join_rules": "{user} создал комнату {type}",
|
||||
"room_joinrule_invite": "только по приглашению",
|
||||
"user_changed_room_topic": "{user} изменил тему комнаты на {topic}",
|
||||
"unread_messages": "Непрочитанные сообщения",
|
||||
"user_is_typing": "{user} набирает",
|
||||
"users_are_typing": "{count} членов набирают",
|
||||
"room_powerlevel_change": "{user} изменил уровень мощности {changes}",
|
||||
"user_is_typing": "{user} печтатает",
|
||||
"users_are_typing": "{count} участников печатают",
|
||||
"room_powerlevel_change": "{user} изменил статус участника {changes}",
|
||||
"user_powerlevel_change_from_to": "{user} из {powerOld} в {powerNew}",
|
||||
"user_changed_guest_access_closed": "{user} запретил гостям входить в комнату",
|
||||
"user_changed_guest_access_open": "{user} разрешил гостям присоединиться к комнате",
|
||||
"user_changed_guest_access_closed": "{user} запретил гостям присоединяться к комнате",
|
||||
"user_changed_guest_access_open": "{user} разрешил гостям присоединяться к комнате",
|
||||
"reply_audio_message": "Аудиосообщение",
|
||||
"outgoing_message_deleted_text": "Вы удалили это сообщение.",
|
||||
"incoming_message_deleted_text": "Это сообщение было удалено.",
|
||||
"user_created_room": "{user} создал комнату",
|
||||
"user_encrypted_room": "{user} сделал комнату зашифрованной",
|
||||
"user_was_kicked_by_you": "Вы выгнали {user} из чата.",
|
||||
"user_was_kicked_by_you": "Вы удалили {user} из чата.",
|
||||
"user_was_kicked_you": "Вы были удалены из чата.",
|
||||
"user_was_banned_by_you": "Вы выгнали и забанили {user} из чата.",
|
||||
"download_progress": "{percentage}% скачанных",
|
||||
"upload_exceeded_file_limit": "Превышен максимальный размер файла ({configFormattedUploadSize}). ",
|
||||
"room_history_invited": "доступны для чтения членам клуба с того момента, когда они были приглашены",
|
||||
"room_history_joined": "доступны для чтения членам клуба с момента их присоединения",
|
||||
"room_joinrule_public": "публичный",
|
||||
"user_was_banned_by_you": "Вы удалили из чата и заблокировали {user}.",
|
||||
"download_progress": "загружено {percentage}%",
|
||||
"upload_exceeded_file_limit": "Превышен максимально допустимый размер файла ({configFormattedUploadSize}). ",
|
||||
"room_history_invited": "доступной для участников комнаты с момента, когда они были приглашены",
|
||||
"room_history_joined": "доступной для участников комнаты с момента их присоединения",
|
||||
"room_joinrule_public": "общедоступный",
|
||||
"user_changed_room_name": "{user} изменил название комнаты на {name}",
|
||||
"replying_to": "Отвечая на {user}",
|
||||
"replying_to": "В ответ {user}",
|
||||
"your_message": "Ваше сообщение...",
|
||||
"scale_image": "Масштаб изображения",
|
||||
"time_ago": "Сегодня | Вчера | {count} дней назад",
|
||||
"not_allowed_to_send": "Только администраторы и модераторы могут отправлять сообщения в комнату",
|
||||
"scale_image": "Масштабировать изображение",
|
||||
"time_ago": "Сегодня | Вчера | {count} дней назад | {count} дней назад",
|
||||
"not_allowed_to_send": "Только администраторы и модераторы могут отправлять сообщения в комнате",
|
||||
"reaction_count_more": "{reactionCount} больше",
|
||||
"seen_by_count": "Видели ни один участник | Видел 1 участник | Видели {count} участников",
|
||||
"seen_by_count": "Не просмотрено | Просмотрено {count} участником | Просмотрено {count} участниками | Просмотрено {count} участниками",
|
||||
"send_attachements_dialog_title": "Вы хотите отправить следующие вложения?",
|
||||
"failed_to_render": "Не удалось отрендерить событие"
|
||||
"failed_to_render": "Не удалось обработать событие"
|
||||
},
|
||||
"new_room": {
|
||||
"create": "Создание",
|
||||
"next": "Вперёд",
|
||||
"create": "Создать",
|
||||
"next": "Далее",
|
||||
"options": "Параметры",
|
||||
"new_room": "Новая комната",
|
||||
"name_room": "Название комнаты",
|
||||
"join_permissions_info": "Эти разрешения определяют, как люди могут присоединиться к комнате и как легко пригласить других. Они могут быть изменены в любое время.",
|
||||
"join_permissions_info": "Эти разрешения определяют, как присоединиться к комнате и как пригласить новых участников. Они могут быть изменены в любое время.",
|
||||
"set_join_permissions": "Установка разрешений на присоединение",
|
||||
"room_topic": "Добавьте описание, если хотите",
|
||||
"join_permissions": "Разрешения на присоединение",
|
||||
"get_link": "Получить ссылку",
|
||||
"add_people": "Добавить людей",
|
||||
"link_copied": "Ссылка скопирована!",
|
||||
"colon_not_allowed": "Двоеточие запрещено",
|
||||
"public_info": "У кого-нибудь есть ссылка",
|
||||
"colon_not_allowed": "Двоеточие не допускается",
|
||||
"public_info": "Любой, у кого есть ссылка",
|
||||
"public_description": "Получите ссылку, чтобы поделиться",
|
||||
"invite_info": "Добавлены только люди",
|
||||
"invite_description": "Выберите из списка или выполните поиск по идентификатору счета",
|
||||
"invite_info": "Только добавленные участники",
|
||||
"invite_description": "Выберите из списка или выполните поиск по ID пользователя",
|
||||
"status_creating": "Создание комнаты",
|
||||
"status_avatar_total": "Загрузка аватара: {count} из {total}",
|
||||
"status_avatar": "Загрузка аватара: {count}",
|
||||
"room_name_limit_error_msg": "Разрешено не более 50 символов"
|
||||
"room_name_limit_error_msg": "Не более 50 символов"
|
||||
},
|
||||
"room_info_sheet": {
|
||||
"view_details": "Подробнее",
|
||||
|
|
@ -197,74 +199,74 @@
|
|||
"admin": "администратор",
|
||||
"moderator": "модератор",
|
||||
"custom": "пользовательский ({level})",
|
||||
"restricted": "Ограничено"
|
||||
"restricted": "ограничено"
|
||||
},
|
||||
"emoji": {
|
||||
"categories": {
|
||||
"places": "Места",
|
||||
"activity": "Активность",
|
||||
"flags": "Метки",
|
||||
"objects": "Объекты",
|
||||
"nature": "Природа",
|
||||
"places": "Места и путешествия",
|
||||
"activity": "Занятия",
|
||||
"flags": "Флаги",
|
||||
"objects": "Предметы",
|
||||
"nature": "Животные и природа",
|
||||
"symbols": "Символы",
|
||||
"foods": "Продукция",
|
||||
"peoples": "Люди",
|
||||
"frequently": "Часто используемое"
|
||||
"foods": "Еда и напитки",
|
||||
"peoples": "Смайлы и люди",
|
||||
"frequently": "Часто используемые"
|
||||
},
|
||||
"search": "Найти..."
|
||||
"search": "Поиск..."
|
||||
},
|
||||
"menu": {
|
||||
"direct_chat": "Личный чат",
|
||||
"reply": "Ответная",
|
||||
"reply": "Ответить",
|
||||
"edit": "Редактировать",
|
||||
"delete": "Удалить",
|
||||
"download": "Загрузить",
|
||||
"ok": "Ок",
|
||||
"send": "Отправить",
|
||||
"login": "Имя пользователя",
|
||||
"login": "Авторизация",
|
||||
"logout": "Выйти из системы",
|
||||
"undo": "Отменить",
|
||||
"done": "Готово",
|
||||
"cancel": "Отмена",
|
||||
"join": "Присоединяйтесь к",
|
||||
"join": "Присоединиться",
|
||||
"ignore": "Игнорировать",
|
||||
"user_kick_and_ban": "Выгнать",
|
||||
"start_private_chat": "Прямое сообщение с этим пользователем",
|
||||
"start_private_chat": "Личный чат с этим пользователем",
|
||||
"back": "НАЗАД",
|
||||
"new_room": "Новая комната",
|
||||
"delete_now": "Удалить сейчас",
|
||||
"loading": "Загрузка {appName}",
|
||||
"user_revoke_moderator": "Отозвать модератора",
|
||||
"user_make_moderator": "Сделать модератором",
|
||||
"user_make_admin": "Сделать администратором"
|
||||
"user_revoke_moderator": "Отозвать статус модератора",
|
||||
"user_make_moderator": "Назначить модератором",
|
||||
"user_make_admin": "Назначить администратором"
|
||||
},
|
||||
"room": {
|
||||
"leave": "Оставить",
|
||||
"leave": "Выйти",
|
||||
"room_list_invites": "Приглашения",
|
||||
"room_list_rooms": "Комнаты",
|
||||
"unseen_messages": "У вас нет непросмотренных сообщений | У вас 1 непросмотренное сообщение | У вас {count} непросмотренных сообщений",
|
||||
"members": "нет членов | 1 член | {count} членов",
|
||||
"purge_set_room_state": "Установка состояния комнаты",
|
||||
"purge_removing_members": "Удаление членов ({count} из {total})",
|
||||
"unseen_messages": "У вас нет непросмотренных сообщений | У вас {count} непросмотренное сообщение | У вас {count} непросмотренных сообщений | У вас {count} непросмотренных сообщений",
|
||||
"members": "нет участников | {count} участник | {count} участников | {count} участников",
|
||||
"purge_set_room_state": "Установка статуса комнаты",
|
||||
"purge_removing_members": "Удаление участников ({count} из {total})",
|
||||
"purge_failed": "Не удалось очистить комнату!",
|
||||
"room_name_required": "Название комнаты обязательно",
|
||||
"room_topic_required": "Описание номера обязательно",
|
||||
"invitations": "У вас нет приглашений | У вас есть 1 приглашение | У вас есть {count} приглашений",
|
||||
"purge_redacting_events": "Сокращение событий ({count} из {total})",
|
||||
"room_topic_required": "Описание комнаты обязательно",
|
||||
"invitations": "У вас нет приглашений | У вас {count} приглашение | У вас {count} приглашений | У вас {count} приглашений",
|
||||
"purge_redacting_events": "Удаление сообщений ({count} из {total})",
|
||||
"room_list_new_messages": "{count} новых сообщений"
|
||||
},
|
||||
"room_welcome": {
|
||||
"got_it": "Есть",
|
||||
"got_it": "Понятно!",
|
||||
"change": "Изменить",
|
||||
"encrypted": "Сообщения шифруются из конца в конец.",
|
||||
"room_history_is": "История комнаты - {type}.",
|
||||
"encrypted": "Сообщения защищены сквозным шифрованием.",
|
||||
"room_history_is": "История сообщений комнаты - {type}.",
|
||||
"join_invite": "Присоединиться могут только те, кого вы пригласили.",
|
||||
"no_past_messages": "Добро пожаловать! Для вашей безопасности прошлые сообщения недоступны.",
|
||||
"direct_info": "Привет, {you}. Вы находитесь в приватном чате с {user}.",
|
||||
"no_past_messages": "Добро пожаловать! Для вашей безопасности отправленные ранее сообщения недоступны.",
|
||||
"direct_info": "Привет, {you}. Вы в личном чате с {user}.",
|
||||
"join_channel": "Все готово! Пригласите людей присоединиться к вам: {link}",
|
||||
"info_retention": "🕓 Сообщения, отправленные в течение {time}, могут просматривать все, у кого есть ссылка.",
|
||||
"room_history_joined": "Люди могут видеть сообщения, отправленные только после того, как они присоединились.",
|
||||
"join_public": "Любой желающий может присоединиться, открыв эту ссылку: {link}.",
|
||||
"info_retention": "🕓 Сообщения, отправленные в течение {time}, могут просматривать все, у кого есть пригласительная ссылка.",
|
||||
"room_history_joined": "Участники могут видеть сообщения, отправленные только после того, как они присоединились к комнате.",
|
||||
"join_public": "Любой желающий может присоединиться, перейдя по ссылке: {link}.",
|
||||
"info_permissions": "Вы можете в любой момент изменить \"разрешение на присоединение\" в настройках комнаты.",
|
||||
"info": "Добро пожаловать! Вот несколько вещей, которые нужно знать о вашей комнате:",
|
||||
"direct_private_chat": "Личное сообщение",
|
||||
|
|
@ -273,21 +275,21 @@
|
|||
},
|
||||
"device_list": {
|
||||
"blocked": "Заблокированный",
|
||||
"verified": "Проверенные",
|
||||
"not_verified": "Не проверенные"
|
||||
"verified": "Проверенный",
|
||||
"not_verified": "Не проверенный"
|
||||
},
|
||||
"getlink": {
|
||||
"next": "Вперёд",
|
||||
"next": "Далее",
|
||||
"continue": "Продолжить",
|
||||
"hello": "Здравствуйте {user},\nВот ваша прямая ссылка",
|
||||
"scan_title": "Отсканируйте этот код, чтобы начать прямой разговор",
|
||||
"different_link": "Получите другую ссылку",
|
||||
"share_qr": "Поделиться QR",
|
||||
"qr_image_copied": "Изображение копируется в буфер обмена",
|
||||
"scan_title": "Отсканируйте этот код, чтобы начать личный чат",
|
||||
"different_link": "Получить другую ссылку",
|
||||
"share_qr": "Поделиться QR-кодом",
|
||||
"qr_image_copied": "Изображение скопировано в буфер обмена",
|
||||
"title": "Получить прямую ссылку",
|
||||
"info": "Прямые ссылки дают людям возможность безопасно общаться с вами. Для начала выберите экранное имя, которое будет отображаться при входе в чат с вами.",
|
||||
"ready_to_share": "Он готов к обмену! Каждый раз, когда кто-то открывает ссылку, будет открываться новая прямая комната.",
|
||||
"username": "Введите имя экрана (например: waku)"
|
||||
"info": "Прямые ссылки дают людям возможность безопасно общаться с вами. Для начала выберите имя, которое будет видно собеседникам при входе в ваш чат.",
|
||||
"ready_to_share": "Она готова к обмену! Каждый раз, когда кто-то переходит по ссылке, будет открываться новая комната с личнм чатом.",
|
||||
"username": "Введите отображаемое имя (например: waku)"
|
||||
},
|
||||
"profile": {
|
||||
"password_old": "Старый пароль",
|
||||
|
|
@ -295,16 +297,16 @@
|
|||
"password_repeat": "Повторите новый пароль",
|
||||
"display_name": "Отображаемое имя",
|
||||
"notification_label": "Уведомления",
|
||||
"set_password": "Задать пароль",
|
||||
"set_password": "Установить пароль",
|
||||
"change_password": "Изменить пароль",
|
||||
"select_language": "Язык",
|
||||
"title": "Мой профиль",
|
||||
"temporary_identity": "Этот идентификатор является временным. Установите пароль, чтобы использовать ее снова",
|
||||
"temporary_identity": "Этот идентификатор является временным. Установите пароль, чтобы использовать его снова",
|
||||
"change_name": "Изменить имя",
|
||||
"set_language": "Установите свой язык",
|
||||
"language_description": "Convene доступен на многих языках.",
|
||||
"dont_see_yours": "Не видите своего?",
|
||||
"tell_us": "Расскажите нам.",
|
||||
"tell_us": "Сообщите нам.",
|
||||
"display_name_required": "Отображаемое имя обязательно"
|
||||
},
|
||||
"join": {
|
||||
|
|
@ -313,35 +315,35 @@
|
|||
"join": "Присоединиться к комнате",
|
||||
"enter_room": "Войти в комнату",
|
||||
"joining_as": "Вы присоединяетесь как:",
|
||||
"join_user": "Начать общение",
|
||||
"you_have_been_banned": "Вам запрещено посещать эту комнату.",
|
||||
"title": "Добро пожаловать, вы приглашены присоединиться",
|
||||
"title_user": "Добро пожаловать, вас пригласили пообщаться с",
|
||||
"enter_room_user": "Начать общение",
|
||||
"status_joining": "Присоединяюсь к комнате...",
|
||||
"join_user": "Начать чат",
|
||||
"you_have_been_banned": "Вас забанили в этой комнате.",
|
||||
"title": "Добро пожаловать, вас пригласили присоединиться",
|
||||
"title_user": "Добро пожаловать, вас пригласили в чат с",
|
||||
"enter_room_user": "Начать чат",
|
||||
"status_joining": "Присоединение к комнате...",
|
||||
"join_failed": "Не удалось присоединиться к комнате.",
|
||||
"choose_name": "Выберите имя для использования",
|
||||
"choose_name": "Выберите себе имя",
|
||||
"status_logging_in": "Вход…"
|
||||
},
|
||||
"leave": {
|
||||
"title_invite": "Вы уверены, что хотите выйти?",
|
||||
"leave": "Оставить",
|
||||
"leave": "Выйти",
|
||||
"go_back": "Назад",
|
||||
"text_invite": "Эта комната заперта. Вы не сможете войти в нее без специального разрешения.",
|
||||
"create_account": "создать аккаунт",
|
||||
"title_public": "До свидания, {user}",
|
||||
"text_public": "Вы всегда можете присоединиться к этой комнате снова, если знаете ссылку.",
|
||||
"text_public_lastroom": "Если вы хотите присоединиться к этой комнате снова, вы можете присоединиться под новым именем. Чтобы сохранить {user}, {action}."
|
||||
"text_public_lastroom": "Если вы хотите присоединиться к этой комнате снова, вы сможете присоединиться под новым именем. Чтобы сохранить имя {user}, {action}."
|
||||
},
|
||||
"purge_room": {
|
||||
"button": "Удалить",
|
||||
"n_seconds": "{seconds} секунды",
|
||||
"n_seconds": "{seconds} секунд",
|
||||
"title": "Удалить комнату?",
|
||||
"info": "Все пользователи и сообщения будут удалены. Это действие нельзя отменить.",
|
||||
"info": "Все участники и сообщения будут удалены. Это действие нельзя отменить.",
|
||||
"self_destruct": "Ваша комната самоуничтожится в считанные секунды.",
|
||||
"deleting": "Удаление комнаты:",
|
||||
"notified": "Мы уведомили членов клуба.",
|
||||
"room_deletion_notice": "Время прощаться! Эта комната была удалена {user}. Она самоуничтожится через несколько секунд."
|
||||
"notified": "Мы уведомили участников.",
|
||||
"room_deletion_notice": "Время прощаться! Эта комната была удалена участником {user}. Она самоуничтожится через несколько секунд."
|
||||
},
|
||||
"poll_create": {
|
||||
"poll_submit": "Отправить",
|
||||
|
|
@ -349,10 +351,10 @@
|
|||
"answer_label_n": "Ответ",
|
||||
"title": "Создать новый опрос",
|
||||
"answer_label_1": "Ответ*",
|
||||
"tip_title": "СОВЕТ ПРОФЕССИОНАЛА",
|
||||
"creating": "Создайте опрос",
|
||||
"poll_disclosed": "Открыто - текущие результаты отображаются постоянно.",
|
||||
"poll_undisclosed": "Закрыто - пользователи увидят результаты, когда опрос будет закрыт.",
|
||||
"tip_title": "СОВЕТ",
|
||||
"creating": "Создание опроса",
|
||||
"poll_disclosed": "Открытый – текущие результаты отображаются постоянно.",
|
||||
"poll_undisclosed": "Закрытый – пользователи увидят результаты, когда опрос будет закрыт.",
|
||||
"add_answer": "Добавить ответ",
|
||||
"failed": "Не удалось создать опрос, повторите попытку позже.",
|
||||
"question_label": "Задайте свой вопрос*",
|
||||
|
|
@ -361,14 +363,14 @@
|
|||
"poll_status_closed": "Опрос закрыт",
|
||||
"poll_status_disclosed": "Результаты будут показаны после закрытия опроса.",
|
||||
"poll_status_open": "Опрос открыт",
|
||||
"poll_status_open_not_voted": "Опрос открыт - проголосуйте, чтобы увидеть результаты",
|
||||
"poll_status_open_not_voted": "Опрос открыт – проголосуйте, чтобы увидеть результаты",
|
||||
"view_results": "Посмотреть результаты",
|
||||
"close_poll": "Закрытый опрос",
|
||||
"close_poll": "Закрыть опрос",
|
||||
"question_required": "Вам нужно ввести вопрос!",
|
||||
"answer_required": "Ответ не может быть пустым. Пожалуйста, введите текст или удалите этот вариант.",
|
||||
"tip_text": "Участники увидят результаты опроса после того, как ответят. Закройте опрос, когда закончите, чтобы показать результаты всем присутствующим в комнате.",
|
||||
"answer_required": "Ответ не может быть пустым. Пожалуйста, введите текст или удалите этот вариант ответа.",
|
||||
"tip_text": "Участники опроса увидят его результаты сразу после выбора варианта ответа. Чтобы показать результаты всем присутствующим в комнате, закройте опрос.",
|
||||
"num_answered": "{count} ответов",
|
||||
"results_shared": "Результаты переданы в зал."
|
||||
"results_shared": "Результаты опубликованы в комнате."
|
||||
},
|
||||
"profile_info_popup": {
|
||||
"edit_profile": "Редактировать профиль",
|
||||
|
|
@ -377,21 +379,21 @@
|
|||
"identity": "{displayName}",
|
||||
"identity_temporary": "{displayName}",
|
||||
"want_more": "Хотите больше?",
|
||||
"powered_by": "В этой комнате используется {product}. Узнайте больше на {productLink} или создайте другую комнату!",
|
||||
"powered_by": "Эта комната использует {product}. Узнайте больше по ссылке {productLink} или продолжайте, и создайте другую комнату!",
|
||||
"new_room": "Новая комната"
|
||||
},
|
||||
"invite": {
|
||||
"title": "Добавить друзей",
|
||||
"done": "Готово",
|
||||
"send_invites_to": "Присылайте приглашения по адресу",
|
||||
"send_invites_to": "Отправить приглашения",
|
||||
"status_error": "Не удалось пригласить одного или нескольких друзей!",
|
||||
"status_inviting": "Приглашение друга {index} из {count}"
|
||||
},
|
||||
"voice_recorder": {
|
||||
"not_supported_title": "Не поддерживается",
|
||||
"not_supported_text": "К сожалению, этот браузер не поддерживает запись звука.",
|
||||
"swipe_to_cancel": "Проведите пальцем, чтобы отменить",
|
||||
"release_to_cancel": "Отпустить, чтобы отменить",
|
||||
"swipe_to_cancel": "Смахните, чтобы отменить",
|
||||
"release_to_cancel": "Отпустите, чтобы отменить",
|
||||
"failed_to_record": "Не удалось записать звук"
|
||||
},
|
||||
"fallbacks": {
|
||||
|
|
@ -403,18 +405,18 @@
|
|||
"notification": {
|
||||
"dialog": {
|
||||
"enable": "Включить",
|
||||
"body": "Никогда больше не пропустите ни одного сообщения или важного разговора! Получайте уведомления, когда кто-то отправляет вам сообщение или отвечает в вашем чате.",
|
||||
"body": "Не пропускайте ни одного сообщения или важного разговора! Получайте уведомления, когда кто-то отправляет вам сообщение или отвечает вам в чате.",
|
||||
"title": "Оставайтесь на связи с уведомлениями в чате!"
|
||||
},
|
||||
"blocked_message": "Уведомление заблокировано. Перейдите в настройки устройства или браузера, чтобы включить уведомление",
|
||||
"blocked_message": "Уведомление заблокировано. Перейдите в настройки устройства или браузера, чтобы включить уведомления",
|
||||
"not_supported": "Уведомления пока не поддерживаются в мобильной версии",
|
||||
"title": "Получено новое сообщение",
|
||||
"periodicSync_new_msg_reminder": "У вас могут появиться новые сообщения"
|
||||
"periodicSync_new_msg_reminder": "У вас могут быть новые сообщения"
|
||||
},
|
||||
"language_display_name": "Русский",
|
||||
"project": {
|
||||
"name": "Созыв",
|
||||
"tag_line": "Просто подключите"
|
||||
"name": "Convene",
|
||||
"tag_line": "Просто подключись"
|
||||
},
|
||||
"logout": {
|
||||
"confirm_text": "Вы уверены, что хотите выйти из системы?"
|
||||
|
|
@ -426,8 +428,8 @@
|
|||
},
|
||||
"createchannel": {
|
||||
"title": "Создать канал",
|
||||
"info": "Транслируйте новости или знания в любом формате - видео, подкаст, текст, картинки или PDF-файлы.",
|
||||
"channel_name": "Назовите свой канал",
|
||||
"info": "Транслируйте новости или знания в любом формате – видео, подкаст, текст, картинки или PDF-файлы.",
|
||||
"channel_name": "Дайте название вашему каналу",
|
||||
"channel_topic": "Опишите его",
|
||||
"name_required": "Имя канала обязательно",
|
||||
"error_channel": "Не удалось создать канал"
|
||||
|
|
@ -436,7 +438,7 @@
|
|||
"fetched_n_events": "Найдено {count} событий",
|
||||
"fetched_n_of_total_events": "Получено {count} из {total} событий",
|
||||
"export_filename": "Экспортированный чат {date}",
|
||||
"processed_n_of_total_events": "Обработка носителей для {count} из {total} событий",
|
||||
"processed_n_of_total_events": "Обработано {count} из {total} событий",
|
||||
"exported_date": "Экспортировано в {date}"
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -37,7 +37,8 @@
|
|||
"hide_all": "සඟවන්න",
|
||||
"copy_link": "Copy link",
|
||||
"message_retention_none": "ඕෆ් කරන්න",
|
||||
"message_retention_1_day": "දවස් 1"
|
||||
"message_retention_1_day": "දවස් 1",
|
||||
"members": "සාමාජිකයන්"
|
||||
},
|
||||
"leave": {
|
||||
"go_back": "Go back",
|
||||
|
|
@ -68,7 +69,8 @@
|
|||
},
|
||||
"global": {
|
||||
"save": "සුරකින්න",
|
||||
"notify": "දැනුම්දීම්"
|
||||
"notify": "දැනුම්දීම්",
|
||||
"show_more": "තවත් පෙන්වන්න"
|
||||
},
|
||||
"poll_create": {
|
||||
"create": "ප්රකාශයට පත්කරන්න",
|
||||
|
|
|
|||
444
src/assets/translations/tr.json
Normal file
444
src/assets/translations/tr.json
Normal file
|
|
@ -0,0 +1,444 @@
|
|||
{
|
||||
"language_display_name": "İngilizce",
|
||||
"global": {
|
||||
"save": "Kaydet",
|
||||
"show_less": "Ayrıntıları gizle",
|
||||
"show_more": "Ayrıntıları göster",
|
||||
"time": {
|
||||
"recently": "az önce",
|
||||
"minutes": "1 dakika önce | {n} dakika önce",
|
||||
"hours": "1 saat önce | {n} saat önce",
|
||||
"days": "1 gün önce | {n} gün önce"
|
||||
},
|
||||
"close": "kapat",
|
||||
"notify": "Bildirim",
|
||||
"password_didnot_match": "Parolalar eşleşmiyor",
|
||||
"password_hint": "En az 12 karakter uzunluğunda bir sayı, bir büyük ve bir küçük harf içermeli",
|
||||
"add_reaction": "Tepki ekle",
|
||||
"click_to_remove": "Kaldırmak için tıklayın",
|
||||
"different_browser_title": "Başka bir tarayıcı kullan",
|
||||
"different_browser_content": "Bazı özellikler çalışmayabilir. Bağlantıyı kopyalaıp başka bir tarayıcıda aç."
|
||||
},
|
||||
"menu": {
|
||||
"logout": "Oturumu kapat",
|
||||
"undo": "Geri al",
|
||||
"join": "Katıl",
|
||||
"direct_chat": "Sohbet",
|
||||
"reply": "Yanıtla",
|
||||
"edit": "Düzenle",
|
||||
"delete": "Sil",
|
||||
"download": "İndir",
|
||||
"ok": "Tamam",
|
||||
"done": "Tamam",
|
||||
"cancel": "İptal",
|
||||
"send": "Gönder",
|
||||
"login": "Oturum aç",
|
||||
"ignore": "Yoksay",
|
||||
"user_kick_and_ban": "Sohbetten çıkart",
|
||||
"start_private_chat": "Bu kullanıcıya ileti gönder",
|
||||
"back": "GERİ",
|
||||
"new_room": "Yeni Oda",
|
||||
"delete_now": "Şimdi sil",
|
||||
"loading": "{appName} yükleniyor",
|
||||
"user_make_admin": "Yönetici yap",
|
||||
"user_make_moderator": "Sorumlu yap",
|
||||
"user_revoke_moderator": "Sorumluluğu kaldır"
|
||||
},
|
||||
"message": {
|
||||
"file": "Dosya",
|
||||
"someone": "Birisi",
|
||||
"room_joinrule_public": "herkese açık",
|
||||
"reply_image": "Görsel",
|
||||
"reply_video": "Görüntü",
|
||||
"reply_poll": "Anket",
|
||||
"files": "Dosyalar",
|
||||
"images": "Görseller",
|
||||
"user_changed_avatar": "{user} avatarı değiştirdi",
|
||||
"user_changed_room_avatar": "{user} oda avatarını değiştirdi",
|
||||
"user_encrypted_room": "{user} odayı şifreli hale getirdi",
|
||||
"user_was_invited": "{user} sohbete davet edildi...",
|
||||
"user_was_kicked": "{user} sohbetten çıkarıldı.",
|
||||
"user_was_kicked_by_you": "{user} kullanıcısını sohbetten çıkardınız.",
|
||||
"user_was_kicked_you": "Sohbetten çıkarıldınız.",
|
||||
"user_was_banned_by_you": "{user} kullanıcısını sohbetten çıkardınız ve yasakladınız.",
|
||||
"user_was_banned_you": "Sohbetten çıkarıldınız ve yasaklandınız.",
|
||||
"user_was_banned": "{user} sohbetten çıkarıldı ve yasaklandı.",
|
||||
"you": "Siz",
|
||||
"user_created_room": "{user} odayı oluşturdu",
|
||||
"user_aliased_room": "{user} odanın adını {alias} olarak değiştirdi",
|
||||
"user_changed_display_name": "{user} görüntülenen adı {displayName} olarak değiştirdi",
|
||||
"user_joined": "{user} sohbete katıldı",
|
||||
"user_left": "{user} sohbetten ayrıldı",
|
||||
"user_said": "{user} şunu dedi:",
|
||||
"sent_media": "{count} içerik gönderildi.",
|
||||
"file_prefix": "Dosya: ",
|
||||
"edited": "(düzenlenmiş)",
|
||||
"download_progress": "%{percentage} indirildi",
|
||||
"preparing_to_upload": "Yükleme hazırlanıyor...",
|
||||
"upload_file_too_large": "Dosya yükleme için çok büyük!",
|
||||
"upload_exceeded_file_limit": "En yüksek dosya boyutu ({configFormattedUploadSize}) aşıldı. ",
|
||||
"upload_progress": "{count} yüklendi",
|
||||
"upload_progress_with_total": "{count}/{total} yüklendi",
|
||||
"room_history_shared": "odadaki tüm üyeler tarafından okunabilir",
|
||||
"room_history_invited": "üyelerin davet edildikleri ana kadar okunabilir",
|
||||
"room_history_joined": "üyeler katıldıkları ana kadar okuyabilir",
|
||||
"user_changed_join_rules": "{user} oda türünü {type} olarak değiştirdi",
|
||||
"room_joinrule_invite": "davetiyeli",
|
||||
"user_changed_room_history": "{user} oda geçmişini {type} olarak değiştirdi",
|
||||
"room_history_world_readable": "herkes tarafından okunabilir",
|
||||
"user_changed_room_name": "{user} odanın adını {name} olarak değiştirdi",
|
||||
"user_changed_room_topic": "{user} odanın konusunu {topic} olarak değiştirdi",
|
||||
"unread_messages": "Okunmamış iletiler",
|
||||
"replying_to": "{user} yanıtlanıyor",
|
||||
"your_message": "İletiniz...",
|
||||
"scale_image": "Görseli ölçeklendir",
|
||||
"user_is_typing": "{user} yazıyor",
|
||||
"users_are_typing": "{count} üye yazıyor",
|
||||
"room_powerlevel_change": "{user}, {changes} kişisinin güç seviyesini değiştirdi",
|
||||
"user_powerlevel_change_from_to": "{user}, {powerOld} yetkisinden {powerNew} yetkisine",
|
||||
"user_changed_guest_access_closed": "{user} odaya misafirlerin katılmasını kapattı",
|
||||
"user_changed_guest_access_open": "{user} odaya misafirlerin katılmasını açtı",
|
||||
"reply_audio_message": "Sesli ileti",
|
||||
"time_ago": "Bugün | Dün | {count} gün önce",
|
||||
"not_allowed_to_send": "Yalnızca yöneticiler ve sorumlular odaya gönderimde bulunabilir",
|
||||
"seen_by_count": "Hiçkimse tarafından görülmedi | 1 üye tarafından görüldü | {count} üye tarafından görüldü",
|
||||
"outgoing_message_deleted_text": "Bu iletiyi sildiniz.",
|
||||
"incoming_message_deleted_text": "Bu ileti silindi",
|
||||
"seen_by": "Görüldü",
|
||||
"reaction_count_more": "{reactionCount} diğer",
|
||||
"send_attachements_dialog_title": "Şu eklentileri göndermek istiyor musunuz?",
|
||||
"download_all": "Hepsini indir",
|
||||
"failed_to_render": "Eylem oluşturulamadı"
|
||||
},
|
||||
"login": {
|
||||
"accept_terms": "Kabul et",
|
||||
"send_verification": "Doğrulama e-postası gönder",
|
||||
"resend_verification": "Doğrulama e-postasını yeniden gönder",
|
||||
"title": "Oturum aç",
|
||||
"password": "Parola Girin",
|
||||
"login": "Oturum aç",
|
||||
"username": "Kullanıcı adı (örn: orhan)",
|
||||
"username_required": "Kullanıcı adı gereklidir",
|
||||
"password_required": "Parola gereklidir",
|
||||
"create_room": "Kaydol ve Oda Oluştur",
|
||||
"or": "VEYA",
|
||||
"invalid_message": "Geçersiz kullanıcı adı veya parola",
|
||||
"no_supported_flow": "Uygulama bu sunucuda oturum açamaz",
|
||||
"terms": "Ana sunucu şu ilkeleri inceleyip kabul etmenizi gerektiriyor:",
|
||||
"email": "E-posta adresinizi doğrulamanız gerekiyor",
|
||||
"sent_verification": "{email} adresine bir e-posta gönderildi. Lütfen adresi doğrulamak için e-postanızı kontrol edin.",
|
||||
"registration_token": "Lütfen kayıt anahtarını girin",
|
||||
"token_not_valid": "Geçersiz anahtar",
|
||||
"email_not_valid": "E-posta adresi geçersiz",
|
||||
"send_token": "Anahtar gönder"
|
||||
},
|
||||
"getlink": {
|
||||
"next": "İleri",
|
||||
"continue": "İlerle",
|
||||
"title": "Doğrudan bağlantı al",
|
||||
"info": "Doğrudan bağlantılar kişilerin sizle güvenli bir yoldan iletişim kurmalarını sağlar. Başlamak için, görüntülenecek isim belirleyin.",
|
||||
"username": "Görüntülenecek isim girin (örn: karakus)",
|
||||
"hello": "Merhaba {user},\nDoğrudan bağlantınız burada",
|
||||
"ready_to_share": "Paylaşıma hazır! Bu bağlantıyı açan her kişi için yeni bir oda oluşturulacaktır.",
|
||||
"scan_title": "Doğrudan konuşma başlatmak için bu kodu taratın",
|
||||
"different_link": "Farklı bir bağlantı al",
|
||||
"share_qr": "Karekod paylaş",
|
||||
"qr_image_copied": "Görsel panoya kopyalandı"
|
||||
},
|
||||
"profile": {
|
||||
"password_old": "Eski parola",
|
||||
"set_password": "Parola belirle",
|
||||
"change_password": "Parola değiştir",
|
||||
"select_language": "Dil",
|
||||
"password_new": "Yeni parola",
|
||||
"password_repeat": "Yeni parolayı tekrarla",
|
||||
"display_name": "Görüntülenen isim",
|
||||
"notification_label": "Bildirim",
|
||||
"title": "Profilim",
|
||||
"temporary_identity": "Bu kimlik geçicidir. Tekrar kullanabilmek için bir parola belirleyin",
|
||||
"change_name": "İsim değiştir",
|
||||
"set_language": "Dilinizi seçin",
|
||||
"language_description": "Convene bir çok dilde kullanılabilir",
|
||||
"dont_see_yours": "Sizinki yok mu?",
|
||||
"tell_us": "Bize iletin.",
|
||||
"display_name_required": "Görüntülenen isim gereklidir"
|
||||
},
|
||||
"file_mode": {
|
||||
"close": "Kapat",
|
||||
"files": "Dosyalar",
|
||||
"sending_progress": "Gönderiliyor...",
|
||||
"sending": "Gönderiliyor",
|
||||
"secure_file_send": "güvenli dosya gönderimi",
|
||||
"add_a_message": "İleti ekle",
|
||||
"choose_files": "Dosyaları seçin",
|
||||
"any_file_format_accepted": "Tüm dosya türleri kabul edilmektedir",
|
||||
"send_more_files": "Daha fazla dosya gönder",
|
||||
"files_sent": "1 dosya gönderildi! | {count} dosya gönderildi!",
|
||||
"files_sent_with_note": "1 dosya not ile birlikte gönderildi! | {count} dosya not ile birlikte gönderildi!"
|
||||
},
|
||||
"room": {
|
||||
"leave": "Ayrıl",
|
||||
"room_list_invites": "Davetiyeler",
|
||||
"room_list_rooms": "Odalar",
|
||||
"invitations": "Hiç davetiyeniz yok | 1 davetiyeniz var | {count} davetiyeniz var",
|
||||
"members": "üye yok | 1 üye | {count} üye",
|
||||
"unseen_messages": "Görmediğiniz herhangi bir ileti yok | 1 görmediğiniz ileti var | {count} görmediğiniz ileti var",
|
||||
"purge_set_room_state": "Oda durumu ayarlanıyor",
|
||||
"purge_redacting_events": "Eylemler siliniyor ({count} / {total})",
|
||||
"purge_removing_members": "Üyeler siliniyor ({count} / {total})",
|
||||
"purge_failed": "Oda silinemedi!",
|
||||
"room_list_new_messages": "{count} yeni ileti",
|
||||
"room_name_required": "Oda adı gereklidir",
|
||||
"room_topic_required": "Oda açıklaması gereklidir"
|
||||
},
|
||||
"room_welcome": {
|
||||
"got_it": "Anladım",
|
||||
"change": "Değiştir",
|
||||
"info": "Hoşgeldiniz! Odanız hakkında bilmeniz gereken bazı şeyler şunlardır:",
|
||||
"encrypted": "İletiler uçtan uca şifrelenir.",
|
||||
"room_history_is": "Oda geçmişi {type} olarak ayarlanmıştır.",
|
||||
"join_public": "Bu bağlantıyı açan herkes katılabilir: {link}.",
|
||||
"join_invite": "Sadece davet ettiğiniz kişiler katılabilir.",
|
||||
"info_permissions": "'Katılma izinleri'ni oda ayarlarından istediğiniz zaman değiştirebilirsiniz.",
|
||||
"room_history_joined": "Kişiler yalnızca girdiklerinden sonra gönderilen iletileri görebilir.",
|
||||
"no_past_messages": "Hoşgeldiniz! Güvenliğiniz için eski iletiler mevcut değildir.",
|
||||
"direct_info": "Merhaba, {you}. {user} ile gizli sohbettesiniz.",
|
||||
"direct_private_chat": "Özel İleti",
|
||||
"join_channel": "Her şey tamam! Size katılmaları için insanları davet edin: {link}",
|
||||
"info_retention_user": "🕓 {time} önce atılan iletiler geçmişten silinecektir.",
|
||||
"info_auto_join": "{room} odasına hoş geldiniz.\n{you} olarak katılıyorsunuz.",
|
||||
"info_retention": "🕓 {time} içerisinde gönderilen iletiler bağlantıya sahip herkes tarafından görüntülenebilir."
|
||||
},
|
||||
"new_room": {
|
||||
"create": "Oluştur",
|
||||
"next": "İleri",
|
||||
"options": "Seçenekler",
|
||||
"new_room": "Yeni Oda",
|
||||
"name_room": "Oda adı",
|
||||
"room_topic": "İsterseniz açıklama ekleyebilirsiniz",
|
||||
"join_permissions": "Katılma izinleri",
|
||||
"link_copied": "Bağlantı kopyalandı!",
|
||||
"public_info": "Bağlantıya sahip herkes",
|
||||
"public_description": "Paylaşmak için bir bağlantı al",
|
||||
"invite_info": "Yalnızca eklenen kişiler",
|
||||
"invite_description": "Listeden seçin veya hesap kimliği ile arayın",
|
||||
"status_creating": "Oda oluşturuluyor",
|
||||
"status_avatar_total": "Avatar yükleniyor {count}/{total}",
|
||||
"status_avatar": "Avatar yükleniyor: {count}",
|
||||
"room_name_limit_error_msg": "En fazla 50 karaktere izin veriliyor",
|
||||
"colon_not_allowed": "Virgül kullanılamaz",
|
||||
"set_join_permissions": "Katılma izinlerini ayarla",
|
||||
"join_permissions_info": "Bu izinler kişilerin odaya nasıl katılabileceğini ve diğerlerinin nasıl davet edilebileceğini ayarlar. Bu ayarlar her zaman değiştirilebilir.",
|
||||
"get_link": "Bağlantı al",
|
||||
"add_people": "Kişiler ekle"
|
||||
},
|
||||
"device_list": {
|
||||
"blocked": "Engellendi",
|
||||
"verified": "Doğrulanmış",
|
||||
"not_verified": "Doğrulanmamış"
|
||||
},
|
||||
"profile_info_popup": {
|
||||
"edit_profile": "Profili düzenle",
|
||||
"logout": "Oturumu kapat",
|
||||
"identity": "{displayName}",
|
||||
"identity_temporary": "{displayName}",
|
||||
"you_are": "Siz",
|
||||
"want_more": "Dahasını mı istiyorsunuz?",
|
||||
"powered_by": "Bu oda {product} tarafından sağlanmaktadır. Dahasını öğrenmek için {productLink} adresini ziyaret edebilir veya başka bir oda oluşturabilirsiniz!",
|
||||
"new_room": "Yeni oda"
|
||||
},
|
||||
"join": {
|
||||
"user_name_label": "Kullanıcı adı",
|
||||
"remember_me": "Beni hatırla",
|
||||
"join": "Odaya katıl",
|
||||
"enter_room": "Odaya gir",
|
||||
"title": "Hoş geldiniz, şu odaya katılmaya davet edildiniz",
|
||||
"title_user": "Hoş geldiniz, şu kişiyle doğrudan konuşmaya davet edildiniz",
|
||||
"joining_as": "Şu profil ile katılıyorsunuz:",
|
||||
"join_user": "Konuşma başlat",
|
||||
"enter_room_user": "Konuşma başlat",
|
||||
"status_logging_in": "Oturum açılıyor..",
|
||||
"status_joining": "Odaya katılınıyor...",
|
||||
"join_failed": "Odaya katılınamadı.",
|
||||
"choose_name": "Kullanacağınız ismi seçin",
|
||||
"you_have_been_banned": "Bu odadan yasaklandınız."
|
||||
},
|
||||
"invite": {
|
||||
"done": "Bitti",
|
||||
"title": "Arkadaş ekle",
|
||||
"send_invites_to": "Davetiyeler şunlara gönderilsin",
|
||||
"status_inviting": "{count} arkadaştan {index} tanesi davet ediliyor",
|
||||
"status_error": "Bir ya da birden fazla davetiye gönderilemedi!"
|
||||
},
|
||||
"leave": {
|
||||
"title_invite": "Ayrılmak istediğinizden emin misiniz?",
|
||||
"go_back": "Geri git",
|
||||
"leave": "Ayrıl",
|
||||
"title_public": "Hoşçakal, {user}",
|
||||
"text_public": "Bağlantıyı biliyorsanız bu odaya istediğiniz zaman tekrar katılabilirsiniz.",
|
||||
"text_public_lastroom": "Bu odaya tekrar katılmak isterseniz, yeni bir kimlikle katılabilirsiniz. {user} ile devam etmek için, {action}.",
|
||||
"text_invite": "Bu oda kilitli. Özel bir yetki olmadan yeniden katılamazsınız.",
|
||||
"create_account": "bir hesap oluştur"
|
||||
},
|
||||
"purge_room": {
|
||||
"button": "Sil",
|
||||
"title": "Oda silinsin mi?",
|
||||
"info": "Tüm üyeler ve iletiler silinecektir. Bu eylem geri alınamaz.",
|
||||
"n_seconds": "{seconds} saniye",
|
||||
"self_destruct": "Odanız saniyeler içerisinde kendini imha edecektir.",
|
||||
"deleting": "Oda siliniyor:",
|
||||
"notified": "Üyelere haber verildi.",
|
||||
"room_deletion_notice": "Hoşçakal deme vakti! Bu oda {user} tarafından silindi ve saniyeler içerisinde kendini imha edecektir."
|
||||
},
|
||||
"room_info": {
|
||||
"copy_link": "Bağlantıyı kopyala",
|
||||
"members": "Üyeler",
|
||||
"hide_all": "Gizle",
|
||||
"leave_room": "Ayrı",
|
||||
"user_admin": "Yönetici",
|
||||
"user_moderator": "Sorumlu",
|
||||
"moderation": "Yönetim",
|
||||
"room_type_default": "Varsayılan",
|
||||
"read_only_room": "Salt okunur",
|
||||
"message_retention_none": "Kapalı",
|
||||
"message_retention_2_week": "2 hafta",
|
||||
"message_retention_1_week": "1 hafta",
|
||||
"message_retention_1_day": "1 gün",
|
||||
"message_retention_8_hours": "8 saat",
|
||||
"message_retention_1_hour": "1 saat",
|
||||
"title": "Oda Ayrıntıları",
|
||||
"created_by": "{user} tarafından oluşturuldu",
|
||||
"permissions": "Katılma İzinleri",
|
||||
"join_invite": "Yalnızca Eklenen Kişiler",
|
||||
"join_public": "Bağlantıya sahip herkes",
|
||||
"copy_invite_link": "Davetiye bağlantısını kopyala",
|
||||
"link_copied": "Bağlantı kopyalandı!",
|
||||
"purge": "Odayı sil",
|
||||
"user": "{user}",
|
||||
"user_you": "{user} (siz)",
|
||||
"show_all": "Tümünü göster >",
|
||||
"version_info": "Guardian Project tarafından sağlanmaktadır. Sürüm: {version}",
|
||||
"scan_code": "Odaya katılmak için taratın",
|
||||
"export_room": "Konuşmayı dışarı aktar",
|
||||
"experimental_features": "Deneysel Özellikler",
|
||||
"room_type": "Oda türü",
|
||||
"voice_mode": "Ses modu",
|
||||
"voice_mode_info": "Konuşma arayüzünü 'dinleme ve kaydetme' şekline çevirir",
|
||||
"file_mode": "Dosya mod",
|
||||
"file_mode_info": "Konuşma arayüzünü 'dosya bırakma' şekliene çevirir",
|
||||
"download_chat": "Konuşmayı indir",
|
||||
"read_only_room_info": "Yalnızca yönetici ve sorumlular bu odada gönderimde bulunabilir.",
|
||||
"message_retention": "İleti Geçmişi",
|
||||
"message_retention_info": "Bu zaman dilimi içinde gönderilen iletiler, bağlantıya sahip herkes tarafından görüntülenebilir.",
|
||||
"message_retention_4_week": "4 hafta",
|
||||
"make_public_warning": "uyarı: Tüm ileti geçmişi yeni katılımcılara görünür olacaktır",
|
||||
"direct_link": "Benim Doğrudan Bağlantım",
|
||||
"direct_link_desc": "Paylaşıma hazır! Bu bağlantıyı açan her kişi için yeni bir oda oluşturulacaktır.",
|
||||
"shared_room_number": "{name} ile {count} odayı paylaşıyorsunuz",
|
||||
"shared_room_number_more": "{name} ile {count} veya daha fazla odayı paylaşıyorsunuz",
|
||||
"make_public": "Herkese Açık Yap"
|
||||
},
|
||||
"room_info_sheet": {
|
||||
"view_details": "Ayrıntıları görüntüle",
|
||||
"this_room": "Bu oda"
|
||||
},
|
||||
"voice_recorder": {
|
||||
"not_supported_title": "Desteklenmiyor",
|
||||
"swipe_to_cancel": "İptal etmek için kaydırın",
|
||||
"failed_to_record": "Ses kaydedilemedi",
|
||||
"release_to_cancel": "İptal etmek için bırakın",
|
||||
"not_supported_text": "Maalesef bu tarayıcıda ses kaydetme desteklenmiyor."
|
||||
},
|
||||
"power_level": {
|
||||
"admin": "yönetici",
|
||||
"default": "varsayılan",
|
||||
"moderator": "sorumlu",
|
||||
"restricted": "kısıtlı",
|
||||
"custom": "özel ({level})"
|
||||
},
|
||||
"fallbacks": {
|
||||
"download_name": "İndir",
|
||||
"audio_file": "Ses dosyası",
|
||||
"video_file": "Görüntü dosyası",
|
||||
"original_text": "<original text>"
|
||||
},
|
||||
"poll_create": {
|
||||
"create": "Yayınla",
|
||||
"answer_label_n": "Yanıt",
|
||||
"view_results": "Sonuçları göster",
|
||||
"poll_submit": "Gönder",
|
||||
"title": "Yeni bir anket oluştur",
|
||||
"creating": "Anket oluşturuluyor",
|
||||
"poll_disclosed": "Açık - mevcut sonuçlar hep görünür olur.",
|
||||
"poll_undisclosed": "Kapalı - kullanıcılar anket bittikten sonra sonuçları görebilir.",
|
||||
"failed": "Anket oluşturulamadı, lütfen daha sonra yeniden deneyin",
|
||||
"question_label": "Sorunuzu sorun*",
|
||||
"question_required": "Bir soru girmelisiniz!",
|
||||
"answer_label_1": "Yanıt*",
|
||||
"add_answer": "Yanıt ekle",
|
||||
"tip_text": "Üyeler cevap verdikten sonra anket sonuçlarını göreceklerdir. Sonuçları odadaki herkese göstermek için anketi kapatabilirsiniz.",
|
||||
"create_poll_menu_option": "Anket oluştur",
|
||||
"poll_status_closed": "Anket bitti",
|
||||
"poll_status_disclosed": "Sonuçlar anket bittikten sonra gösterilecektir.",
|
||||
"poll_status_open": "Anket açık",
|
||||
"poll_status_open_not_voted": "Anket açık - sonuçları görmek için oy verin",
|
||||
"please_complete": "Lütfen tamamlayın",
|
||||
"answer_required": "Yanıt boş olamaz. Lütfen bir şeyler yazın veya bu seçeneği kaldırın",
|
||||
"tip_title": "İPUCU",
|
||||
"close_poll": "Anketi kapat",
|
||||
"num_answered": "{count} yanıt",
|
||||
"results_shared": "Sonuçlar odada paylaşıldı."
|
||||
},
|
||||
"notification": {
|
||||
"dialog": {
|
||||
"enable": "Etkinleştir",
|
||||
"title": "Sohbet Bildirimleri ile Bağlı Kalın!",
|
||||
"body": "Bir daha asla bir iletiyi veya önemli bir konuşmayı kaçırmayın! Birisi size mesaj gönderdiğinde veya sohbetinize yanıt verdiğinde bildirim alın."
|
||||
},
|
||||
"title": "Yeni ileti alındı",
|
||||
"blocked_message": "Bildirimler kapatılmış. Cihazınızın veya tarayıcınızın ayarlarından bildirimlere izin verin",
|
||||
"periodicSync_new_msg_reminder": "Yeni iletileriniz olabilir",
|
||||
"not_supported": "Bildirimler henüz mobil cihazlarda desteklenmemektedir"
|
||||
},
|
||||
"emoji": {
|
||||
"search": "Ara...",
|
||||
"categories": {
|
||||
"activity": "Etkinlik",
|
||||
"flags": "Bayraklar",
|
||||
"objects": "Objeler",
|
||||
"nature": "Doğa",
|
||||
"symbols": "Semboller",
|
||||
"places": "Yerler",
|
||||
"foods": "Yemekler",
|
||||
"frequently": "Sık kullanılanlar",
|
||||
"peoples": "İnsanlar"
|
||||
}
|
||||
},
|
||||
"project": {
|
||||
"name": "Convene",
|
||||
"tag_line": "Anında bağlanın"
|
||||
},
|
||||
"createchannel": {
|
||||
"title": "Kanal oluştur",
|
||||
"info": "Herhangi bir biçimde haber veya bilgi paylaşın, video, podcast, yazı, görsel veya PDF.",
|
||||
"channel_name": "Kanalınıza isim verin",
|
||||
"channel_topic": "Açıklayın",
|
||||
"name_required": "Kanal adı gereklidir",
|
||||
"error_channel": "Kanal oluşturulamadı"
|
||||
},
|
||||
"logout": {
|
||||
"confirm_text": "Oturumunuzu kapatmak istediğinizden emin misiniz?"
|
||||
},
|
||||
"goodbye": {
|
||||
"room_deleted": "Oda silindi.",
|
||||
"close_tab": "Tarayıcı sekmesini kapat",
|
||||
"view_other_rooms": "Diğer odaları görüntüle"
|
||||
},
|
||||
"export": {
|
||||
"exported_date": "{date} tarihinde dışarı aktarıldı",
|
||||
"fetched_n_events": "{count} eylem toplandı",
|
||||
"fetched_n_of_total_events": "{total} eylemden {count}tanesi toplandı",
|
||||
"processed_n_of_total_events": "{total} eylemden {count} tanesinin içeriği işlendi",
|
||||
"export_filename": "İleti dışarı aktarıldı {date}"
|
||||
}
|
||||
}
|
||||
|
|
@ -258,7 +258,7 @@ export default {
|
|||
}
|
||||
this.updateVisualization();
|
||||
if (this.currentAudioEvent) {
|
||||
this.$emit("mark-read", this.currentAudioEvent.getId(), this.currentAudioEvent.getId());
|
||||
this.$emit("mark-read", [this.currentAudioEvent]);
|
||||
}
|
||||
},
|
||||
audioPlaybackPaused() {
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<template>
|
||||
<div class="chat-root fill-height d-flex flex-column" :style="chatContainerStyle">
|
||||
<div :class="{'chat-root': true, 'fill-height': true, 'd-flex': true, 'flex-column': true, 'channel': roomDisplayType == ROOM_TYPE_CHANNEL}" :style="chatContainerStyle">
|
||||
<ChatHeaderPrivate class="chat-header flex-grow-0 flex-shrink-0"
|
||||
v-on:header-click="onHeaderClick"
|
||||
v-on:view-room-details="viewRoomDetails"
|
||||
|
|
@ -16,8 +16,8 @@
|
|||
:readMarker="readMarker"
|
||||
:recordingMembers="typingMembers"
|
||||
v-on:start-recording="setShowRecorder()"
|
||||
v-on:loadnext="handleScrolledToBottom(false)"
|
||||
v-on:loadprevious="handleScrolledToTop()"
|
||||
v-on:loadnext="handleScrolledToLatest(false)"
|
||||
v-on:loadprevious="handleScrolledToOldest()"
|
||||
v-on:mark-read="sendRR"
|
||||
v-on:sendclap="sendClapReactionAtTime"
|
||||
/>
|
||||
|
|
@ -35,17 +35,28 @@
|
|||
<div v-if="!useVoiceMode && !useFileModeNonAdmin" :class="{'chat-content': true, 'flex-grow-1': true, 'flex-shrink-1': true, 'invisible': !initialLoadDone}" ref="chatContainer"
|
||||
v-on:scroll="onScroll" @click="closeContextMenusIfOpen">
|
||||
<div ref="messageOperationsStrut" class="message-operations-strut">
|
||||
<message-operations ref="messageOperations" :style="opStyle" :emojis="recentEmojis" v-on:close="
|
||||
showContextMenu = false;
|
||||
" v-if="showMessageOperations" v-on:addreaction="addReaction" v-on:addquickreaction="addQuickReaction"
|
||||
v-on:addreply="addReply(selectedEvent)" v-on:edit="edit(selectedEvent)" v-on:redact="redact(selectedEvent)"
|
||||
v-on:download="download(selectedEvent)" v-on:more="
|
||||
<component :is="messageOperationsComponent" ref="messageOperations" :style="opStyle"
|
||||
v-if="showMessageOperations"
|
||||
v-on:close="showContextMenu = false;"
|
||||
:emojis="recentEmojis"
|
||||
:originalEvent="selectedEvent"
|
||||
:timelineSet="timelineSet"
|
||||
v-on:pin="pin(selectedEvent)"
|
||||
v-on:unpin="unpin(selectedEvent)"
|
||||
v-on:addreaction="addReaction"
|
||||
v-on:addquickreaction="addQuickReaction"
|
||||
v-on:addreply="addReply(selectedEvent)"
|
||||
v-on:edit="edit(selectedEvent)"
|
||||
v-on:redact="redact(selectedEvent)"
|
||||
v-on:download="download(selectedEvent)"
|
||||
v-on:more="
|
||||
isEmojiQuickReaction= true
|
||||
showMoreMessageOperations({event: selectedEvent, anchor: $event.anchor})
|
||||
" :originalEvent="selectedEvent" :timelineSet="timelineSet"
|
||||
"
|
||||
:userCanSendReactionAndAnswerPoll="$matrix.userCanSendReactionAndAnswerPollInCurrentRoom"
|
||||
:userCanSendMessage="$matrix.userCanSendMessageInCurrentRoom"
|
||||
/>
|
||||
:userCanPin="canCreatePoll"
|
||||
/>
|
||||
</div>
|
||||
|
||||
<!-- Handle resizes, e.g. when soft keyboard is shown/hidden -->
|
||||
|
|
@ -56,23 +67,25 @@
|
|||
<!-- If we have a retention timer, it means we have active message retention. Show header. -->
|
||||
<WelcomeHeaderChannelUser v-if="retentionTimer && !roomWelcomeHeader && newlyJoinedRoom" />
|
||||
|
||||
<div v-for="(event, index) in filteredEvents" :key="event.getId()" :eventId="event.getId()">
|
||||
<div v-for="(event) in filteredEvents" :key="event.getId()" :eventId="event !== ROOM_READ_MARKER_EVENT_PLACEHOLDER ? event.getId() : undefined">
|
||||
|
||||
<!-- DAY Marker, shown for every new day in the timeline -->
|
||||
<div v-if="showDayMarkerBeforeEvent(event) && !!componentForEvent(event, isForExport = false)" class="day-marker"><div class="line"></div><div class="text">{{ dayForEvent(event) }}</div><div class="line"></div></div>
|
||||
<div v-if="!reverseOrder && showDayMarkerBeforeEvent(event) && !!event.component && event !== ROOM_READ_MARKER_EVENT_PLACEHOLDER" class="day-marker"><div class="line"></div><div class="text">{{ dayForEvent(event) }}</div><div class="line"></div></div>
|
||||
|
||||
<div v-if="!event.isRelation() && !event.isRedaction()" :ref="event.getId()">
|
||||
<div :ref="event.getId()">
|
||||
<MessageErrorHandler>
|
||||
<div class="message-wrapper" v-on:touchstart="
|
||||
(e) => {
|
||||
touchStart(e, event);
|
||||
}
|
||||
" v-on:touchend="touchEnd" v-on:touchcancel="touchCancel" v-on:touchmove="touchMove">
|
||||
<!-- Note: For threaded media messages, IF there is only one item we show that media item as a single component.
|
||||
|
||||
<!-- Note: For threaded media messages, IF there is only one item we show that media item as a single component.
|
||||
We might therefore get calls to v-on:context-menu that has the event set to that single media item, not the top level thread event
|
||||
that is really displayed in the flow. Therefore, we rewrite these events with "{event: event, anchor: $event.anchor}",
|
||||
see below. Otherwise things like context menus won't work as designed.
|
||||
-->
|
||||
<component :is="componentForEvent(event)" :room="room" :originalEvent="event" :nextEvent="filteredEvents[index + 1]"
|
||||
<component :is="event.component" :room="room" :originalEvent="event" :nextEvent="event.nextDisplayedEvent"
|
||||
:timelineSet="timelineSet" v-on:send-quick-reaction.stop="sendQuickReaction"
|
||||
:componentFn="componentForEvent"
|
||||
v-on:context-menu="showContextMenuForEvent({event: event, anchor: $event.anchor})"
|
||||
|
|
@ -89,24 +102,29 @@
|
|||
/>
|
||||
<!-- <div v-if="debugging" style="user-select:text">EventID: {{ event.getId() }}</div> -->
|
||||
<!-- <div v-if="debugging" style="user-select:text">Event: {{ JSON.stringify(event) }}<br /><br /></div> -->
|
||||
<div v-if="event.getId() == readMarker && index < filteredEvents.length - 1" class="read-marker"><div class="line"></div><div class="text">{{ $t('message.unread_messages') }}</div><div class="line"></div></div>
|
||||
</div>
|
||||
</MessageErrorHandler>
|
||||
</div>
|
||||
|
||||
<!-- Day marker when reverseOrder is set -->
|
||||
<div v-if="reverseOrder && showDayMarkerBeforeEvent(event) && !!event.component && event !== ROOM_READ_MARKER_EVENT_PLACEHOLDER" class="day-marker"><div class="line"></div><div class="text">{{ dayForEvent(event) }}</div><div class="line"></div></div>
|
||||
|
||||
</div>
|
||||
|
||||
<NoHistoryRoomWelcomeHeader v-if="showNoHistoryRoomWelcomeHeader" />
|
||||
|
||||
<!-- "Scroll to end"-button -->
|
||||
<v-btn v-if="!useVoiceMode" :class="{'scroll-to-end': true, 'reversed': reverseOrder}" v-show="showScrollToEnd" fab x-small elevation="0" color="black"
|
||||
@click.stop="scrollToEndOfTimeline">
|
||||
<v-icon color="white">arrow_downward</v-icon>
|
||||
</v-btn>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<!-- Input area -->
|
||||
<v-container v-if="!useVoiceMode && !useFileModeNonAdmin && room" fluid :class="['input-area-outer', replyToEvent ? 'reply-to' : '']">
|
||||
<div :class="[replyToEvent ? 'iput-area-inner-box' : '']">
|
||||
<!-- "Scroll to end"-button -->
|
||||
<v-btn v-if="!useVoiceMode" class="scroll-to-end" v-show="showScrollToEnd" fab x-small elevation="0" color="black"
|
||||
@click.stop="scrollToEndOfTimeline">
|
||||
<v-icon color="white">arrow_downward</v-icon>
|
||||
</v-btn>
|
||||
|
||||
<v-row class="ma-0 pa-0">
|
||||
<div v-if="replyToEvent" class="row">
|
||||
<div class="col">
|
||||
|
|
@ -274,6 +292,8 @@
|
|||
</v-card-text>
|
||||
</template>
|
||||
<v-divider></v-divider>
|
||||
<v-textarea v-if="showAttachmentCaptionInput" v-model="attachmentCaption" ref="attachmentCaption" color="black" background-color="transparent"
|
||||
solo full-width auto-grow rows="1" no-resize hide-details :placeholder="$t('file_mode.add_a_message')"></v-textarea>
|
||||
<v-card-actions>
|
||||
<v-spacer>
|
||||
<div v-if="currentSendError">{{ currentSendError }}</div>
|
||||
|
|
@ -281,7 +301,7 @@
|
|||
<v-btn color="primary" text @click="cancelSendAttachment" id="btn-attachment-cancel" :disabled="sendingStatus != sendStatuses.SENDING && sendingStatus != sendStatuses.INITIAL">
|
||||
{{ $t("menu.cancel") }}
|
||||
</v-btn>
|
||||
<v-btn id="btn-attachment-send" color="primary" text @click="sendAttachment(undefined)"
|
||||
<v-btn id="btn-attachment-send" color="primary" text @click="sendAttachment(attachmentCaption)"
|
||||
v-if="currentSendShowSendButton" :disabled="currentSendShowSendButton && sendingStatus != sendStatuses.INITIAL">{{ $t("menu.send") }}</v-btn>
|
||||
</v-card-actions>
|
||||
</template>
|
||||
|
|
@ -360,7 +380,7 @@ import UserProfileDialog from "./UserProfileDialog.vue"
|
|||
import BottomSheet from "./BottomSheet.vue";
|
||||
import ImageResize from "image-resize";
|
||||
import CreatePollDialog from "./CreatePollDialog.vue";
|
||||
import chatMixin from "./chatMixin";
|
||||
import chatMixin, { ROOM_READ_MARKER_EVENT_PLACEHOLDER } from "./chatMixin";
|
||||
import sendAttachmentsMixin from "./sendAttachmentsMixin";
|
||||
import AudioLayout from "./AudioLayout.vue";
|
||||
import FileDropLayout from "./file_mode/FileDropLayout";
|
||||
|
|
@ -368,6 +388,7 @@ import roomTypeMixin from "./roomTypeMixin";
|
|||
import roomMembersMixin from "./roomMembersMixin";
|
||||
import PurgeRoomDialog from "../components/PurgeRoomDialog";
|
||||
import MessageErrorHandler from "./MessageErrorHandler";
|
||||
import MessageOperationsChannel from './messages/channel/MessageOperationsChannel.vue';
|
||||
|
||||
const sizeOf = require("image-size");
|
||||
const dataUriToBuffer = require("data-uri-to-buffer");
|
||||
|
|
@ -422,11 +443,15 @@ export default {
|
|||
UserProfileDialog,
|
||||
PurgeRoomDialog,
|
||||
WelcomeHeaderChannelUser,
|
||||
MessageErrorHandler
|
||||
MessageErrorHandler,
|
||||
MessageOperationsChannel
|
||||
},
|
||||
|
||||
data() {
|
||||
return {
|
||||
ROOM_TYPE_CHANNEL: ROOM_TYPE_CHANNEL,
|
||||
ROOM_READ_MARKER_EVENT_PLACEHOLDER: ROOM_READ_MARKER_EVENT_PLACEHOLDER,
|
||||
|
||||
waitingForRoomObject: false,
|
||||
events: [],
|
||||
currentInput: "",
|
||||
|
|
@ -442,6 +467,7 @@ export default {
|
|||
currentSendShowSendButton: true,
|
||||
currentSendError: null,
|
||||
currentSendErrorExceededFile: null,
|
||||
attachmentCaption: undefined,
|
||||
showEmojiPicker: false,
|
||||
selectedEvent: null,
|
||||
editedEvent: null,
|
||||
|
|
@ -512,7 +538,8 @@ export default {
|
|||
heartPosition: {
|
||||
top: 0,
|
||||
left: 0
|
||||
}
|
||||
},
|
||||
reverseOrder: false
|
||||
};
|
||||
},
|
||||
|
||||
|
|
@ -569,6 +596,12 @@ export default {
|
|||
isCurrentFileInputsAnArray() {
|
||||
return Array.isArray(this.currentFileInputs)
|
||||
},
|
||||
showAttachmentCaptionInput() {
|
||||
// IFF we are sending one PDF, add option to set caption.
|
||||
const imageFiles = this.imageFiles || [];
|
||||
const otherFiles = this.nonImageFiles || [];
|
||||
return imageFiles.length == 0 && otherFiles.length == 1 && (otherFiles[0].type === "application/pdf" || (otherFiles[0].name || "").endsWith(".pdf"));
|
||||
},
|
||||
currentFileInputsDialog: {
|
||||
get() {
|
||||
return this.isCurrentFileInputsAnArray
|
||||
|
|
@ -680,6 +713,8 @@ export default {
|
|||
},
|
||||
|
||||
filteredEvents() {
|
||||
let events = this.events;
|
||||
|
||||
if (this.room && this.$matrix.matrixClient.isRoomEncrypted(this.room.roomId)) {
|
||||
if (this.room.getHistoryVisibility() == "joined") {
|
||||
// For encrypted rooms where history is set to "joined" we can't read old events.
|
||||
|
|
@ -692,12 +727,46 @@ export default {
|
|||
(!e.getPrevContent() || e.getPrevContent().membership != "join") &&
|
||||
e.getStateKey() == this.$matrix.currentUserId) {
|
||||
// Our own join event.
|
||||
return this.events.slice(idx + 1);
|
||||
events = this.events.slice(idx + 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return this.events;
|
||||
|
||||
// Filter out relations and redactions
|
||||
events = this.events.toReversed().filter((e) => !e.isRelation() && !e.isRedaction());
|
||||
|
||||
// If Channel, remove all redacted events as well.
|
||||
if (this.room && this.room.displayType == ROOM_TYPE_CHANNEL) {
|
||||
events = events.filter((e) => !e.isRedacted());
|
||||
}
|
||||
|
||||
// Add read marker, if it is not newer than the "latest" message we are going to display
|
||||
//
|
||||
let showReadMarker = false;
|
||||
let lastDisplayedEvent = undefined;
|
||||
events = events.flatMap((e) => {
|
||||
let result = [];
|
||||
Vue.set(e, "component", this.componentForEvent(e, false));
|
||||
if (e.getId() == this.readMarker && showReadMarker) {
|
||||
const readMarkerEvent = ROOM_READ_MARKER_EVENT_PLACEHOLDER;
|
||||
Vue.set(readMarkerEvent, "component", this.componentForEvent(readMarkerEvent, false));
|
||||
if (readMarkerEvent.component) {
|
||||
Vue.set(e, "nextDisplayedEvent", lastDisplayedEvent);
|
||||
}
|
||||
result.push(readMarkerEvent);
|
||||
}
|
||||
if (e.component) {
|
||||
Vue.set(e, "nextDisplayedEvent", lastDisplayedEvent);
|
||||
lastDisplayedEvent = e;
|
||||
if (e.getSender() !== this.$matrix.currentUserId) {
|
||||
showReadMarker = true;
|
||||
}
|
||||
}
|
||||
result.push(e);
|
||||
return result;
|
||||
})
|
||||
return (this.reverseOrder ? events : events.toReversed()) // Reverse back if needed
|
||||
},
|
||||
|
||||
roomCreatedByUsRecently() {
|
||||
|
|
@ -732,6 +801,12 @@ export default {
|
|||
}
|
||||
return null;
|
||||
},
|
||||
messageOperationsComponent() {
|
||||
if (this.room.displayType == ROOM_TYPE_CHANNEL) {
|
||||
return MessageOperationsChannel;
|
||||
}
|
||||
return MessageOperations;
|
||||
},
|
||||
chatContainerStyle() {
|
||||
if (this.$config.chat_backgrounds && this.room && this.roomId) {
|
||||
const roomType = this.isDirectRoom ? "direct" : this.isPublicRoom ? "public" : "invite";
|
||||
|
|
@ -843,7 +918,7 @@ export default {
|
|||
this.onRoomNotJoined();
|
||||
} else {
|
||||
if (this.room) {
|
||||
this.onRoomJoined(this.readMarker);
|
||||
this.onRoomJoined(this.roomDisplayType == ROOM_TYPE_CHANNEL ? null : this.readMarker);
|
||||
} else {
|
||||
this.waitingForRoomObject = true;
|
||||
return; // no room, wait for it (we know we are joined so need to wait for sync to complete)
|
||||
|
|
@ -860,7 +935,7 @@ export default {
|
|||
// Were we waiting?
|
||||
if (this.room && this.room.roomId == this.roomId && this.waitingForRoomObject) {
|
||||
this.waitingForRoomObject = false;
|
||||
this.onRoomJoined(this.readMarker);
|
||||
this.onRoomJoined(this.roomDisplayType == ROOM_TYPE_CHANNEL ? null : this.readMarker);
|
||||
}
|
||||
},
|
||||
showMessageOperations(show) {
|
||||
|
|
@ -876,6 +951,12 @@ export default {
|
|||
var rectAnchor = this.showContextMenuAnchor.getBoundingClientRect();
|
||||
var rectChat = this.$refs.messageOperationsStrut.getBoundingClientRect();
|
||||
var rectOps = this.$refs.messageOperations.$el.getBoundingClientRect();
|
||||
if (this.room.displayType == ROOM_TYPE_CHANNEL) {
|
||||
top = rectAnchor.top - rectChat.top;
|
||||
let right = rectChat.right - rectAnchor.right;
|
||||
this.opStyle = "top:" + top + "px;right:" + right + "px";
|
||||
return;
|
||||
} else {
|
||||
top = rectAnchor.top - rectChat.top - 50;
|
||||
left = rectAnchor.left - rectChat.left - 75;
|
||||
if (left + rectOps.width + 10 >= rectChat.right) {
|
||||
|
|
@ -884,6 +965,7 @@ export default {
|
|||
left = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
this.opStyle = "top:" + top + "px;left:" + left + "px";
|
||||
});
|
||||
|
|
@ -906,10 +988,33 @@ export default {
|
|||
},
|
||||
|
||||
/**
|
||||
* Set events to display. At the same time, filter out messages that are past rentention period etc.
|
||||
* Set events to display. At the same time, filter out messages that are past rentention period etc. Also, filter pinned events "at the top"
|
||||
*/
|
||||
setEvents(events) {
|
||||
this.events = this.filterOutOldAndInvisible(events);
|
||||
setEvents(events, onlyIfLengthChanges = false) {
|
||||
let updated = this.filterOutOldAndInvisible(events);
|
||||
|
||||
// Handle pinning
|
||||
//
|
||||
if (this.room) {
|
||||
const pinnedEvents = this.$matrix.getPinnedEvents(this.room);
|
||||
updated.forEach((e) => {
|
||||
Vue.set(e, "isPinned", pinnedEvents.includes(e.threadParent ? e.threadParent.getId() : e.getId()));
|
||||
Vue.set(e, "isChannelMessage", (this.room && this.roomDisplayType == ROOM_TYPE_CHANNEL));
|
||||
});
|
||||
|
||||
updated = updated.sort((e1, e2) => {
|
||||
if (!e1.isPinned && !e2.isPinned) return 0;
|
||||
else if (e1.isPinned && !e2.isPinned) return this.reverseOrder ? 1 : -1;
|
||||
else if (e2.isPinned && !e1.isPinned) return this.reverseOrder ? -1 : 1;
|
||||
else {
|
||||
// Look at order in "pinned" value in the m.room.pinned_events event!
|
||||
return pinnedEvents.indexOf(e1.getId()) < pinnedEvents.indexOf(e2.getId()) ? (this.reverseOrder ? 1 : -1) : (this.reverseOrder ? -1 : 1)
|
||||
}
|
||||
});
|
||||
}
|
||||
if (!onlyIfLengthChanges || updated.length != this.events.length) {
|
||||
this.events = updated; // Changed
|
||||
}
|
||||
},
|
||||
|
||||
filterOutOldAndInvisible(events) {
|
||||
|
|
@ -952,10 +1057,7 @@ export default {
|
|||
},
|
||||
|
||||
onRetentionTimer() {
|
||||
const events = this.filterOutOldAndInvisible(this.events);
|
||||
if (events.length != this.events.length) {
|
||||
this.events = events; // Changed
|
||||
}
|
||||
this.setEvents(this.events, true);
|
||||
},
|
||||
|
||||
onRoomJoined(initialEventId) {
|
||||
|
|
@ -969,6 +1071,9 @@ export default {
|
|||
this.newlyJoinedRoom = joinEvent.getLocalAge() < 1 * 60000 /* 1 minute */;
|
||||
}
|
||||
|
||||
this.reverseOrder = (this.room && this.roomDisplayType == ROOM_TYPE_CHANNEL);
|
||||
Vue.set(this.room, "displayType", this.roomDisplayType);
|
||||
|
||||
// Listen to events
|
||||
this.$matrix.on("Room.timeline", this.onEvent);
|
||||
this.$matrix.on("RoomMember.typing", this.onUserTyping);
|
||||
|
|
@ -1080,7 +1185,7 @@ export default {
|
|||
});
|
||||
} else {
|
||||
// Can't paginate, just scroll to bottom of window!
|
||||
this.smoothScrollToEnd();
|
||||
this.smoothScrollToLatest();
|
||||
}
|
||||
},
|
||||
|
||||
|
|
@ -1150,7 +1255,7 @@ export default {
|
|||
this.$nextTick(() => {
|
||||
const container = this.chatContainer;
|
||||
if (container && container.scrollHeight <= container.clientHeight) {
|
||||
this.handleScrolledToTop();
|
||||
this.handleScrolledToOldest();
|
||||
}
|
||||
});
|
||||
},
|
||||
|
|
@ -1162,15 +1267,23 @@ export default {
|
|||
const bufferHeight = container.clientHeight * WINDOW_BUFFER_SIZE;
|
||||
if (container.scrollTop <= bufferHeight) {
|
||||
// Scrolled to top
|
||||
this.handleScrolledToTop();
|
||||
if (this.reverseOrder) {
|
||||
this.handleScrolledToLatest(false);
|
||||
} else {
|
||||
this.handleScrolledToOldest();
|
||||
}
|
||||
} else if (container.scrollHeight - container.scrollTop.toFixed(0) - container.clientHeight <= bufferHeight) {
|
||||
this.handleScrolledToBottom(false);
|
||||
if (this.reverseOrder) {
|
||||
this.handleScrolledToOldest();
|
||||
} else {
|
||||
this.handleScrolledToLatest(false);
|
||||
}
|
||||
}
|
||||
|
||||
this.showScrollToEnd =
|
||||
container.scrollHeight === container.clientHeight
|
||||
? false
|
||||
: container.scrollHeight - container.scrollTop.toFixed(0) > container.clientHeight ||
|
||||
: (this.reverseOrder ? (container.scrollTop.toFixed(0) > 0) : (container.scrollHeight - container.scrollTop.toFixed(0) > container.clientHeight)) ||
|
||||
(this.timelineWindow && this.timelineWindow.canPaginate(EventTimeline.FORWARDS));
|
||||
|
||||
this.restartRRTimer();
|
||||
|
|
@ -1262,14 +1375,17 @@ export default {
|
|||
|
||||
if (loadingDone && event.forwardLooking && (!event.isRelation() || event.isMxThread || event.threadRootId || event.parentThread)) {
|
||||
// If we are at bottom, scroll to see new events...
|
||||
var scrollToSeeNew = event.getSender() == this.$matrix.currentUserId; // When we sent, scroll
|
||||
var scrollToSeeNew = !event.isRedaction() && event.getSender() == this.$matrix.currentUserId; // When we sent, scroll
|
||||
const container = this.chatContainer;
|
||||
if (container) {
|
||||
if (container.scrollHeight - container.scrollTop.toFixed(0) == container.clientHeight) {
|
||||
if (this.reverseOrder && container.scrollTop.toFixed(0) == 0) {
|
||||
scrollToSeeNew = true;
|
||||
}
|
||||
else if (!this.reverseOrder && container.scrollHeight - container.scrollTop.toFixed(0) == container.clientHeight) {
|
||||
scrollToSeeNew = true;
|
||||
}
|
||||
}
|
||||
this.handleScrolledToBottom(scrollToSeeNew);
|
||||
this.handleScrolledToLatest(scrollToSeeNew);
|
||||
|
||||
// If kick or ban event, redirect to "goodbye"...
|
||||
if (event.getType() === "m.room.member" &&
|
||||
|
|
@ -1441,6 +1557,7 @@ export default {
|
|||
const promise = this.sendAttachments(text, this.currentFileInputs);
|
||||
promise.then(() => {
|
||||
this.currentFileInputs = null;
|
||||
this.attachmentCaption = undefined;
|
||||
this.sendingStatus = this.sendStatuses.INITIAL;
|
||||
})
|
||||
.catch((err) => {
|
||||
|
|
@ -1457,8 +1574,11 @@ export default {
|
|||
|
||||
cancelSendAttachment() {
|
||||
this.$refs.attachment.value = null;
|
||||
this.cancelSendAttachments();
|
||||
if (this.sendingStatus != this.sendStatuses.INITIAL) {
|
||||
this.cancelSendAttachments();
|
||||
}
|
||||
this.currentFileInputs = null;
|
||||
this.attachmentCaption = undefined;
|
||||
this.currentSendError = null;
|
||||
this.currentSendErrorExceededFile = null;
|
||||
this.sendingStatus = this.sendStatuses.INITIAL;
|
||||
|
|
@ -1481,7 +1601,7 @@ export default {
|
|||
* @param {*} element Root element for the chat message.
|
||||
*/
|
||||
onLayoutChange(action, element) {
|
||||
if (!element || !element.parentElemen || this.useVoiceMode || this.useFileModeNonAdmin) {
|
||||
if (!element || !element.parentElement || this.useVoiceMode || this.useFileModeNonAdmin) {
|
||||
action();
|
||||
return
|
||||
}
|
||||
|
|
@ -1494,7 +1614,7 @@ export default {
|
|||
});
|
||||
},
|
||||
|
||||
handleScrolledToTop() {
|
||||
handleScrolledToOldest() {
|
||||
if (
|
||||
this.timelineWindow &&
|
||||
this.timelineWindow.canPaginate(EventTimeline.BACKWARDS) &&
|
||||
|
|
@ -1505,7 +1625,7 @@ export default {
|
|||
.paginate(EventTimeline.BACKWARDS, 10, true)
|
||||
.then((success) => {
|
||||
if (success && this.scrollPosition) {
|
||||
this.scrollPosition.prepareFor("up");
|
||||
this.scrollPosition.prepareFor(this.reverseOrder ? "down" : "up");
|
||||
this.setEvents(this.timelineWindow.getEvents());
|
||||
this.$nextTick(() => {
|
||||
// restore scroll position!
|
||||
|
|
@ -1520,7 +1640,7 @@ export default {
|
|||
}
|
||||
},
|
||||
|
||||
handleScrolledToBottom(scrollToEnd) {
|
||||
handleScrolledToLatest(smoothScrollToLatest) {
|
||||
if (
|
||||
this.timelineWindow &&
|
||||
this.timelineWindow.canPaginate(EventTimeline.FORWARDS) &&
|
||||
|
|
@ -1533,13 +1653,13 @@ export default {
|
|||
if (success) {
|
||||
this.setEvents(this.timelineWindow.getEvents());
|
||||
if (!this.useVoiceMode && this.scrollPosition) {
|
||||
this.scrollPosition.prepareFor("down");
|
||||
this.scrollPosition.prepareFor(this.reverseOrder ? "up" : "down");
|
||||
this.$nextTick(() => {
|
||||
// restore scroll position!
|
||||
console.log("Restore scroll!");
|
||||
this.scrollPosition.restore();
|
||||
if (scrollToEnd) {
|
||||
this.smoothScrollToEnd();
|
||||
if (smoothScrollToLatest) {
|
||||
this.smoothScrollToLatest();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
|
@ -1555,6 +1675,7 @@ export default {
|
|||
* Scroll so that the given event is at the middle of the chat view (if more events) or else at the bottom.
|
||||
*/
|
||||
scrollToEvent(eventId) {
|
||||
console.log("Scroll to event", eventId);
|
||||
const container = this.chatContainer;
|
||||
const ref = this.$refs[eventId];
|
||||
if (container && ref) {
|
||||
|
|
@ -1562,7 +1683,7 @@ export default {
|
|||
const item = ref[0].getBoundingClientRect();
|
||||
let offsetY = (parent.bottom - parent.top) / 2;
|
||||
if (ref[0].clientHeight > offsetY) {
|
||||
offsetY = Math.max(0, (parent.bottom - parent.top) - ref[0].clientHeight);
|
||||
offsetY = this.reverseOrder ? 0 : Math.max(0, (parent.bottom - parent.top) - ref[0].clientHeight);
|
||||
}
|
||||
const targetY = parent.top + offsetY;
|
||||
const currentY = item.top;
|
||||
|
|
@ -1573,10 +1694,21 @@ export default {
|
|||
}
|
||||
},
|
||||
|
||||
smoothScrollToEnd() {
|
||||
smoothScrollToLatest() {
|
||||
this.$nextTick(function () {
|
||||
const container = this.chatContainer;
|
||||
if (container && container.children.length > 0) {
|
||||
if (this.reverseOrder) {
|
||||
const firstChild = container.children[0];
|
||||
console.log("Scroll into view", firstChild);
|
||||
window.requestAnimationFrame(() => {
|
||||
firstChild.scrollIntoView({
|
||||
behavior: "smooth",
|
||||
block: "end",
|
||||
inline: "nearest",
|
||||
});
|
||||
});
|
||||
} else {
|
||||
const lastChild = container.children[container.children.length - 1];
|
||||
console.log("Scroll into view", lastChild);
|
||||
window.requestAnimationFrame(() => {
|
||||
|
|
@ -1587,6 +1719,7 @@ export default {
|
|||
});
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
|
|
@ -1668,6 +1801,16 @@ export default {
|
|||
}
|
||||
},
|
||||
|
||||
pin(event) {
|
||||
const eventToPin = event.parentThread ? event.parentThread : event;
|
||||
this.$matrix.setEventPinned(this.room, eventToPin, true);
|
||||
},
|
||||
|
||||
unpin(event) {
|
||||
const eventToUnpin = event.parentThread ? event.parentThread : event;
|
||||
this.$matrix.setEventPinned(this.room, eventToUnpin, false);
|
||||
},
|
||||
|
||||
cancelEditReply() {
|
||||
this.currentInput = "";
|
||||
this.editedEvent = null;
|
||||
|
|
@ -1752,14 +1895,15 @@ export default {
|
|||
showContextMenuForEvent(e) {
|
||||
const event = e.event;
|
||||
if (this.selectedEvent == event) {
|
||||
this.showContextMenuAnchor = e.anchor;
|
||||
this.showContextMenu = !this.showContextMenu;
|
||||
} else {
|
||||
this.showContextMenu = false;
|
||||
this.$nextTick(() => {
|
||||
this.selectedEvent = event;
|
||||
this.updateRecentEmojis();
|
||||
this.showContextMenu = true;
|
||||
this.showContextMenuAnchor = e.anchor;
|
||||
this.showContextMenu = true;
|
||||
})
|
||||
}
|
||||
},
|
||||
|
|
@ -1801,74 +1945,62 @@ export default {
|
|||
if (this.$matrix.currentRoomBeingPurged) {
|
||||
return;
|
||||
}
|
||||
|
||||
let eventIdFirst = null;
|
||||
let eventIdLast = null;
|
||||
if (!this.useVoiceMode && !this.useFileModeNonAdmin) {
|
||||
const container = this.chatContainer;
|
||||
const elFirst = util.getFirstVisibleElement(container, (item) => item.hasAttribute("eventId"));
|
||||
const elLast = util.getLastVisibleElement(container, (item) => item.hasAttribute("eventId"));
|
||||
if (elFirst && elLast) {
|
||||
eventIdFirst = elFirst.getAttribute("eventId");
|
||||
eventIdLast = elLast.getAttribute("eventId");
|
||||
}
|
||||
}
|
||||
if (eventIdFirst && eventIdLast) {
|
||||
this.rrTimer = setTimeout(() => { this.rrTimerElapsed(eventIdFirst, eventIdLast) }, READ_RECEIPT_TIMEOUT);
|
||||
this.rrTimer = setTimeout(() => { this.rrTimerElapsed() }, READ_RECEIPT_TIMEOUT);
|
||||
}
|
||||
},
|
||||
|
||||
rrTimerElapsed(eventIdFirst, eventIdLast) {
|
||||
rrTimerElapsed() {
|
||||
this.rrTimer = null;
|
||||
this.sendRR(eventIdFirst, eventIdLast);
|
||||
this.sendRR();
|
||||
this.restartRRTimer();
|
||||
},
|
||||
|
||||
sendRR(eventIdFirst, eventIdLast) {
|
||||
console.log("SEND RR", eventIdFirst, eventIdLast);
|
||||
if (eventIdLast && this.room) {
|
||||
var event = this.room.findEventById(eventIdLast);
|
||||
const index = this.events.indexOf(event);
|
||||
sendRR(onlyTheseEvents) {
|
||||
let lastTimestamp = 0;
|
||||
if (this.lastRR) {
|
||||
lastTimestamp = this.lastRR.getTs();
|
||||
}
|
||||
|
||||
// Walk backwards through visible events to the first one that is incoming
|
||||
//
|
||||
var lastTimestamp = 0;
|
||||
if (this.lastRR) {
|
||||
lastTimestamp = this.lastRR.getTs();
|
||||
}
|
||||
let eventsToConsider = onlyTheseEvents;
|
||||
if (!eventsToConsider) {
|
||||
// If events to consider is not given (used by Audio layout) then consider all visible events (with some restrictions).
|
||||
let visibleEventIds = util.findVisibleElements(this.chatContainer).filter(el => el.hasAttribute("eventId")).map(el => el.getAttribute("eventId"));
|
||||
|
||||
for (var i = index; i >= 0; i--) {
|
||||
event = this.events[i];
|
||||
if (event == this.lastRR || event.getTs() <= lastTimestamp) {
|
||||
// Already sent this or too old...
|
||||
break;
|
||||
}
|
||||
// Make sure it's not a local echo event...
|
||||
if (!event.getId().startsWith("~")) {
|
||||
// Send read receipt
|
||||
this.$matrix.matrixClient
|
||||
.sendReadReceipt(event)
|
||||
.then(() => {
|
||||
this.$matrix.matrixClient.setRoomReadMarkers(this.room.roomId, event.getId());
|
||||
})
|
||||
.then(() => {
|
||||
console.log("RR sent for event: " + event.getId());
|
||||
this.lastRR = event;
|
||||
})
|
||||
.catch((err) => {
|
||||
console.log("Failed to update read marker: ", err);
|
||||
})
|
||||
.finally(() => {
|
||||
this.restartRRTimer();
|
||||
});
|
||||
return; // Bail out here
|
||||
eventsToConsider = this.events.filter(e => {
|
||||
if (e.getTs() > lastTimestamp &&
|
||||
// Make sure it's not a local echo event...
|
||||
!e.getId().startsWith("~")) {
|
||||
if (e.isRelation()) {
|
||||
return visibleEventIds.includes(e.getAssociatedId());
|
||||
} else if (e.getType() == "m.room.pinned_events") {
|
||||
// Ignore the pin event. If we pin an older message it does not automatically mean we have read the
|
||||
// messages between.
|
||||
return false;
|
||||
} else {
|
||||
return visibleEventIds.includes(e.getId());
|
||||
}
|
||||
}
|
||||
return false;
|
||||
});
|
||||
}
|
||||
|
||||
// Stop iterating at first visible
|
||||
if (event.getId() == eventIdFirst) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
eventsToConsider.sort((a, b) => b.getTs() - a.getTs());
|
||||
if (eventsToConsider.length > 0 && eventsToConsider[0] != this.lastRR) {
|
||||
const eventToSendRRFor = eventsToConsider[0];
|
||||
|
||||
// Send read receipt
|
||||
this.$matrix.matrixClient.setRoomReadMarkers(this.room.roomId, eventToSendRRFor.getId(), eventToSendRRFor)
|
||||
.then(() => {
|
||||
console.log("RR sent for event", eventToSendRRFor.getId(), eventToSendRRFor.getType());
|
||||
this.lastRR = eventToSendRRFor;
|
||||
})
|
||||
.catch((err) => {
|
||||
console.log("Failed to update read marker: ", err);
|
||||
})
|
||||
.finally(() => {
|
||||
this.restartRRTimer();
|
||||
});
|
||||
}
|
||||
},
|
||||
|
||||
|
|
@ -1963,13 +2095,21 @@ export default {
|
|||
audioPlaybackEnded(matrixEventId) {
|
||||
if (!this.useVoiceMode) { // Voice mode has own autoplay handling inside "AudioLayout"!
|
||||
// Auto play consecutive audio messages, either incoming or sent.
|
||||
const filteredEvents = this.filteredEvents;
|
||||
const index = filteredEvents.findIndex(e => e.getId() === matrixEventId);
|
||||
if (index >= 0 && index < (filteredEvents.length - 1)) {
|
||||
const nextEvent = filteredEvents[index + 1];
|
||||
if (nextEvent.getContent().msgtype === "m.audio") {
|
||||
// Yes, audio event!
|
||||
this.$audioPlayer.play(nextEvent, this.timelineSet);
|
||||
let event = this.events.find(e => e.getId() === matrixEventId);
|
||||
if (event) {
|
||||
event = event.parentThread ? event.parentThread : event;
|
||||
if (event.nextDisplayedEvent) {
|
||||
const nextEvent = event.nextDisplayedEvent;
|
||||
if (nextEvent.getContent().msgtype === "m.audio") {
|
||||
// Yes, audio event!
|
||||
this.$audioPlayer.play(nextEvent, this.timelineSet);
|
||||
} else if (nextEvent.isMxThread) {
|
||||
const children = this.timelineSet.relations.getAllChildEventsForEvent(nextEvent.getId());
|
||||
if (children && children.length > 0 && children[0].getContent().msgtype === "m.audio") {
|
||||
// Yes, audio event!
|
||||
this.$audioPlayer.play(children[0], this.timelineSet);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,21 +1,18 @@
|
|||
<template>
|
||||
<div :class="{ 'input-field': true, errored: modelValue !== null && modelValue.length <= 0 }">
|
||||
<input
|
||||
ref="input"
|
||||
type="text"
|
||||
:value="modelValue"
|
||||
@input="$emit('update:modelValue', $event.target.value)"
|
||||
v-on:blur="onBlur"
|
||||
/>
|
||||
<div class="input-wrapper">
|
||||
<input ref="input" type="text" :value="modelValue" @input="$emit('update:modelValue', $event.target.value)"
|
||||
v-on:blur="onBlur" />
|
||||
<div class="slot">
|
||||
<slot></slot>
|
||||
</div>
|
||||
</div>
|
||||
<div class="placeholder-container">
|
||||
<div :class="{ placeholder: true, large: !modelValue || modelValue.length == 0 }">
|
||||
{{ label }}
|
||||
</div>
|
||||
<div class="error-message" v-if="modelValue !== null && modelValue.length <= 0">{{ error }}</div>
|
||||
</div>
|
||||
<div class="slot">
|
||||
<slot></slot>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
|
@ -29,25 +26,25 @@ export default {
|
|||
props: {
|
||||
label: {
|
||||
type: String,
|
||||
default: function() {
|
||||
default: function () {
|
||||
return "";
|
||||
},
|
||||
},
|
||||
error: {
|
||||
type: String,
|
||||
default: function() {
|
||||
default: function () {
|
||||
return "";
|
||||
},
|
||||
},
|
||||
disabled: {
|
||||
type: Boolean,
|
||||
default: function() {
|
||||
default: function () {
|
||||
return false;
|
||||
},
|
||||
},
|
||||
modelValue: {
|
||||
type: String,
|
||||
default: function() {
|
||||
default: function () {
|
||||
return null;
|
||||
},
|
||||
},
|
||||
|
|
@ -73,12 +70,20 @@ export default {
|
|||
width: 100%;
|
||||
display: flex;
|
||||
position: relative;
|
||||
min-height: $min-touch-target;
|
||||
min-height: 58px;
|
||||
|
||||
background: #f5f5f5;
|
||||
border-radius: 4px;
|
||||
transition: background-color 0.4s, box-shadow 0.4s;
|
||||
margin-bottom: 12px;
|
||||
|
||||
.input-wrapper {
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
padding: 22px 16px 0px 16px;
|
||||
}
|
||||
|
||||
&.errored {
|
||||
border: 1px solid #e31b00;
|
||||
}
|
||||
|
|
@ -95,6 +100,7 @@ export default {
|
|||
right: 16px;
|
||||
display: flex;
|
||||
}
|
||||
|
||||
.placeholder {
|
||||
text-align: start;
|
||||
font-family: "Inter";
|
||||
|
|
@ -122,10 +128,11 @@ export default {
|
|||
position: absolute;
|
||||
left: 0px;
|
||||
right: 0px;
|
||||
top: 14px;
|
||||
top: 20px;
|
||||
font-size: 16px;
|
||||
color: rgba(0, 0, 0, 0.7);
|
||||
margin-right: 0px;
|
||||
|
||||
&:only-child {
|
||||
top: 8px;
|
||||
}
|
||||
|
|
@ -139,16 +146,12 @@ export default {
|
|||
line-height: 117%;
|
||||
letter-spacing: 0.4px;
|
||||
color: #000000;
|
||||
position: absolute;
|
||||
top: 20px;
|
||||
left: 16px;
|
||||
right: 16px;
|
||||
bottom: 0;
|
||||
width: 100%;
|
||||
flex: 1 1 100%;
|
||||
|
||||
&:focus {
|
||||
top: 20px;
|
||||
}
|
||||
|
||||
&:focus,
|
||||
&:focus-visible {
|
||||
border: none;
|
||||
|
|
@ -157,14 +160,7 @@ export default {
|
|||
}
|
||||
|
||||
.slot {
|
||||
position: absolute;
|
||||
right: 16px;
|
||||
align-self: center;
|
||||
|
||||
[dir="rtl"] & {
|
||||
left: 16px;
|
||||
right: unset;
|
||||
}
|
||||
flex: 0 0 auto;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
|
|
|||
61
src/components/MoreLessControl.vue
Normal file
61
src/components/MoreLessControl.vue
Normal file
|
|
@ -0,0 +1,61 @@
|
|||
<template>
|
||||
<div :class="{ 'more-less-control': true, 'collapsed': collapsed }">
|
||||
<div ref="content" class="more-less-control__content">
|
||||
<slot></slot>
|
||||
</div>
|
||||
<div class="more-less-control__read-more clickable" v-if="useExpansion && collapsed" @click="readMore">{{
|
||||
$t('global.show_more') }}</div>
|
||||
<div class="more-less-control__read-less clickable" v-else-if="useExpansion" @click="readLess">{{
|
||||
$t('global.show_less') }}</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: "MoreLessControl",
|
||||
props: {
|
||||
event: {
|
||||
type: Object,
|
||||
default: function () {
|
||||
return {};
|
||||
},
|
||||
},
|
||||
},
|
||||
mounted() {
|
||||
if (this.event.isChannelMessage) {
|
||||
const el = this.$refs.content;
|
||||
if (el) {
|
||||
this.useExpansion = el.scrollHeight > el.clientHeight;
|
||||
}
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
collapsed: (this.event.isChannelMessage ? true : false),
|
||||
collapsedSize: 100,
|
||||
useExpansion: false,
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
readMore() {
|
||||
const el = this.$refs.content;
|
||||
this.collapsedSize = el.clientHeight;
|
||||
this.collapsed = false;
|
||||
el.style.height = el.clientHeight + "px";
|
||||
el.style.maxHeight = "unset";
|
||||
requestAnimationFrame(() => {
|
||||
el.style.height = el.scrollHeight + "px";
|
||||
});
|
||||
},
|
||||
readLess() {
|
||||
const el = this.$refs.content;
|
||||
el.style.height = this.collapsedSize + "px";
|
||||
this.collapsed = true;
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
<style lang="scss">
|
||||
@import "@/assets/css/chat.scss";
|
||||
</style>
|
||||
|
|
@ -187,6 +187,7 @@ export default {
|
|||
this.cancelled = true;
|
||||
},
|
||||
async getEvents() {
|
||||
// TODO - Handle pinned messages?
|
||||
const eventsPerBatch = 100;
|
||||
let batchToken = null;
|
||||
var nToFetch = null;
|
||||
|
|
|
|||
|
|
@ -202,7 +202,7 @@
|
|||
}}</span>
|
||||
</v-avatar>
|
||||
<v-avatar circle class="user-badge" size="15" v-if="isAdmin(member) || isModerator(member)">
|
||||
<v-icon>{{ `$vuetify.icons.${isAdmin(member)? 'make_admin' : 'make_moderator'}` }}</v-icon>
|
||||
<v-icon style="min-width: 15px;min-height: 15px;">{{ `$vuetify.icons.${isAdmin(member)? 'make_admin' : 'make_moderator'}` }}</v-icon>
|
||||
</v-avatar>
|
||||
</div>
|
||||
<span class="user-name">
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
import util, { STATE_EVENT_ROOM_DELETION_NOTICE } from "../plugins/utils";
|
||||
import util, { ROOM_TYPE_CHANNEL, STATE_EVENT_ROOM_DELETION_NOTICE } from "../plugins/utils";
|
||||
import MessageIncomingText from "./messages/MessageIncomingText";
|
||||
import MessageIncomingFile from "./messages/MessageIncomingFile";
|
||||
import MessageIncomingImage from "./messages/MessageIncomingImage.vue";
|
||||
|
|
@ -53,10 +53,14 @@ import RoomGuestAccessChanged from "./messages/RoomGuestAccessChanged.vue";
|
|||
import RoomEncrypted from "./messages/RoomEncrypted.vue";
|
||||
import RoomDeletionNotice from "./messages/RoomDeletionNotice.vue";
|
||||
import DebugEvent from "./messages/DebugEvent.vue";
|
||||
import ReadMarker from "./messages/ReadMarker.vue";
|
||||
import roomDisplayOptionsMixin from "./roomDisplayOptionsMixin";
|
||||
import roomTypeMixin from "./roomTypeMixin";
|
||||
|
||||
export const ROOM_READ_MARKER_EVENT_PLACEHOLDER = { getId: () => "ROOM_READ_MARKER" };
|
||||
|
||||
export default {
|
||||
mixins: [ roomDisplayOptionsMixin ],
|
||||
mixins: [ roomDisplayOptionsMixin, roomTypeMixin ],
|
||||
components: {
|
||||
ChatHeader,
|
||||
MessageIncomingText,
|
||||
|
|
@ -100,6 +104,7 @@ export default {
|
|||
StickerPickerBottomSheet,
|
||||
BottomSheet,
|
||||
CreatePollDialog,
|
||||
ReadMarker
|
||||
},
|
||||
methods: {
|
||||
showDayMarkerBeforeEvent(event) {
|
||||
|
|
@ -125,8 +130,13 @@ export default {
|
|||
},
|
||||
|
||||
componentForEvent(event, isForExport = false) {
|
||||
const isChannel = this.roomDisplayType === ROOM_TYPE_CHANNEL;
|
||||
if (event === ROOM_READ_MARKER_EVENT_PLACEHOLDER) {
|
||||
return ReadMarker;
|
||||
}
|
||||
switch (event.getType()) {
|
||||
case "m.room.member":
|
||||
if (isChannel) break;
|
||||
if (event.getContent().membership == "join") {
|
||||
if (event.getPrevContent() && event.getPrevContent().membership == "join") {
|
||||
// We we already joined, so this must be a display name and/or avatar update!
|
||||
|
|
|
|||
|
|
@ -7,9 +7,9 @@
|
|||
</v-responsive>
|
||||
<v-img v-else-if="item.event.getContent().msgtype == 'm.image' && item.src" :aspect-ratio="previewOnly ? (16 / 9) : undefined" :class="{'thumbnail-item': true, 'preview': previewOnly}" :src="item.src" :contain="!previewOnly" :cover="previewOnly" />
|
||||
<div v-else :class="{'thumbnail-item': true, 'preview': previewOnly, 'file-item': true}" >
|
||||
<v-icon>{{ fileTypeIcon }}</v-icon>
|
||||
<b>{{ $sanitize(fileName) }}</b>
|
||||
<div>{{ fileSize }}</div>
|
||||
<v-icon :class="fileTypeIconClass">{{ fileTypeIcon }}</v-icon>
|
||||
<div class="file-name">{{ $sanitize(fileName) }}</div>
|
||||
<div class="file-size">{{ fileSize }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
|
@ -38,16 +38,28 @@ export default {
|
|||
computed: {
|
||||
fileTypeIcon() {
|
||||
if (util.isFileTypeAPK(this.item.event)) {
|
||||
if (this.item.event.isChannelMessage) {
|
||||
return "$vuetify.icons.ic_channel_apk";
|
||||
}
|
||||
return "$vuetify.icons.ic_apk";
|
||||
} else if (util.isFileTypeIPA(this.item.event)) {
|
||||
return "$vuetify.icons.ic_ipa";
|
||||
} else if (util.isFileTypePDF(this.item.event)) {
|
||||
if (this.item.event.isChannelMessage) {
|
||||
return "$vuetify.icons.ic_channel_pdf";
|
||||
}
|
||||
return "$vuetify.icons.ic_pdf";
|
||||
} else if (util.isFileTypeZip(this.item.event)) {
|
||||
return "$vuetify.icons.ic_zip";
|
||||
}
|
||||
return "description"
|
||||
},
|
||||
fileTypeIconClass() {
|
||||
if (util.isFileTypeZip(this.item.event)) {
|
||||
return "zip";
|
||||
}
|
||||
return undefined;
|
||||
},
|
||||
fileName() {
|
||||
return util.getFileName(this.item.event);
|
||||
},
|
||||
|
|
|
|||
|
|
@ -6,15 +6,22 @@
|
|||
<div class="play-time">
|
||||
{{ currentTime }} / {{ totalTime }}
|
||||
</div>
|
||||
<div style="position:relative;flex: 1 1 100%">
|
||||
<v-slider @change="seeked" :disabled="!info.url" color="currentColor" track-color="#cccccc" class="play-progress" :value="info.playPercent" min="0"
|
||||
max="100" />
|
||||
<div style="position:absolute;left:18px;right:18px;top:0;bottom:0;height:100%">
|
||||
<AudioWaveformView :event="event" style="width:100%;height:100%" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import util from "../../plugins/utils";
|
||||
import AudioWaveformView from "./AudioWaveformView.vue";
|
||||
|
||||
export default {
|
||||
components: { AudioWaveformView },
|
||||
props: {
|
||||
event: {
|
||||
type: Object,
|
||||
|
|
|
|||
45
src/components/messages/AudioWaveformView.vue
Normal file
45
src/components/messages/AudioWaveformView.vue
Normal file
|
|
@ -0,0 +1,45 @@
|
|||
<template>
|
||||
<div v-html="content" class="waveform">
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
|
||||
export default {
|
||||
props: {
|
||||
event: {
|
||||
type: Object,
|
||||
default: function () {
|
||||
return null;
|
||||
},
|
||||
},
|
||||
},
|
||||
computed: {
|
||||
content() {
|
||||
return this.$sanitize(
|
||||
this.event ? this.event.getContent().formatted_body : "",
|
||||
{
|
||||
allowedTags: ["svg", "path"],
|
||||
allowedAttributes: {
|
||||
'svg': ["viewbox", "fill", "preserveaspectratio", "xmlns"],
|
||||
'path': ["d", "style"]
|
||||
}
|
||||
}
|
||||
);
|
||||
}
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
<style lang="scss">
|
||||
@import "@/assets/css/chat.scss";
|
||||
|
||||
.waveform svg {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
|
||||
path {
|
||||
stroke: black !important;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
|
@ -1,10 +1,10 @@
|
|||
<template>
|
||||
<!-- BASE CLASS FOR INCOMING MESSAGE -->
|
||||
<div :class="messageClasses">
|
||||
<div v-if="showSenderAndTime" class="senderAndTime">
|
||||
<div v-if="showSenderAndTime || room.displayType == ROOM_TYPE_CHANNEL" class="senderAndTime">
|
||||
<div class="sender">{{ eventSenderDisplayName(event) }}</div>
|
||||
<div class="time">
|
||||
{{ utils.formatTime(event.event.origin_server_ts) }}
|
||||
{{ room.displayType == ROOM_TYPE_CHANNEL ? formatTimeAgo(event.event.origin_server_ts) : utils.formatTime(event.event.origin_server_ts) }}
|
||||
</div>
|
||||
</div>
|
||||
<v-avatar class="avatar" ref="avatar" size="32" color="#ededed" @click.stop="otherAvatarClicked($refs.avatar.$el)">
|
||||
|
|
@ -14,27 +14,34 @@
|
|||
}}</span>
|
||||
</v-avatar>
|
||||
<!-- SLOT FOR CONTENT -->
|
||||
<span ref="messageInOutRef">
|
||||
<span ref="messageInOutRef" class="content">
|
||||
<slot></slot>
|
||||
</span>
|
||||
<div class="op-button" ref="opbutton" v-if="!event.isRedacted()">
|
||||
<div class="pin-icon" v-if="isPinned"><v-icon>$vuetify.icons.ic_pin_filled</v-icon></div>
|
||||
<div class="op-button" ref="opbutton" v-if="!event.isRedacted() && $matrix.userCanSendMessageInCurrentRoom">
|
||||
<v-btn id="btn-more" icon @click.stop="showContextMenu($refs.opbutton)">
|
||||
<v-icon>more_vert</v-icon>
|
||||
</v-btn>
|
||||
</div>
|
||||
<QuickReactions :event="eventForReactions" :timelineSet="timelineSet" v-on="$listeners"/>
|
||||
<SeenBy :room="room" :event="event"/>
|
||||
<QuickReactionsChannel v-if="room.displayType == ROOM_TYPE_CHANNEL" :event="eventForReactions" :timelineSet="timelineSet" v-on="$listeners"/>
|
||||
<QuickReactions v-else :event="eventForReactions" :timelineSet="timelineSet" v-on="$listeners"/>
|
||||
<SeenBy v-if="room.displayType != ROOM_TYPE_CHANNEL" :room="room" :event="event"/>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import SeenBy from "./SeenBy.vue";
|
||||
import messageMixin from "./messageMixin";
|
||||
import util from "../../plugins/utils";
|
||||
import util, { ROOM_TYPE_CHANNEL } from "../../plugins/utils";
|
||||
import QuickReactions from "./QuickReactions.vue";
|
||||
import QuickReactionsChannel from "./channel/QuickReactionsChannel.vue";
|
||||
|
||||
export default {
|
||||
mixins: [messageMixin],
|
||||
components: { SeenBy },
|
||||
components: { QuickReactions, QuickReactionsChannel, SeenBy },
|
||||
data() {
|
||||
return { ROOM_TYPE_CHANNEL: ROOM_TYPE_CHANNEL }
|
||||
},
|
||||
mounted() {
|
||||
if(util.isMobileOrTabletBrowser() && this.$refs.messageInOutRef) {
|
||||
this.initMsgHammerJs(this.$refs.messageInOutRef);
|
||||
|
|
|
|||
|
|
@ -14,10 +14,12 @@
|
|||
<v-icon :color="this.senderIsAdminOrModerator(this.event)?'white':''" size="small">block</v-icon>
|
||||
{{ redactedBySomeoneElse(event) ? $t('message.incoming_message_deleted_text') : $t('message.outgoing_message_deleted_text')}}
|
||||
</i>
|
||||
<span v-html="linkify($sanitize(messageText))" v-else/>
|
||||
<span class="edit-marker" v-if="event.replacingEventId() && !event.isRedacted()">
|
||||
{{ $t('message.edited') }}
|
||||
</span>
|
||||
<more-less-control :event="originalEvent" v-else>
|
||||
<span v-html="linkify($sanitize(messageText))" />
|
||||
<span class="edit-marker" v-if="event.replacingEventId() && !event.isRedacted()">
|
||||
{{ $t('message.edited') }}
|
||||
</span>
|
||||
</more-less-control>
|
||||
</div>
|
||||
<!-- <div>{{ JSON.stringify(event) }}</div> -->
|
||||
</div>
|
||||
|
|
@ -26,11 +28,12 @@
|
|||
|
||||
<script>
|
||||
import MessageIncoming from "./MessageIncoming.vue";
|
||||
import MoreLessControl from '../MoreLessControl.vue';
|
||||
import messageMixin from "./messageMixin";
|
||||
|
||||
export default {
|
||||
extends: MessageIncoming,
|
||||
components: { MessageIncoming },
|
||||
components: { MessageIncoming, MoreLessControl },
|
||||
mixins: [messageMixin],
|
||||
};
|
||||
</script>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<template>
|
||||
<message-incoming v-bind="{ ...$props, ...$attrs }" v-on="$listeners" v-if="items.length > 1 || event.isRedacted()">
|
||||
<message-incoming v-bind="{ ...$props, ...$attrs }" v-on="$listeners" v-if="items.length > 1 || event.isRedacted() || forceMultiview">
|
||||
<div class="bubble">
|
||||
<div class="original-message" v-if="inReplyToText">
|
||||
<div class="original-message-sender">{{ inReplyToSender }}</div>
|
||||
|
|
@ -10,7 +10,8 @@
|
|||
</div>
|
||||
|
||||
<div class="message">
|
||||
<v-container v-if="!event.isRedacted()" fluid class="imageCollection">
|
||||
<SwipeableThumbnailsView :items="items" v-if="!event.isRedacted() && room.displayType == ROOM_TYPE_CHANNEL" v-on="$listeners" />
|
||||
<v-container v-else-if="!event.isRedacted()" fluid class="imageCollection">
|
||||
<v-row wrap>
|
||||
<v-col v-for="({ size, item }) in layoutedItems()" :key="item.event.getId()" :cols="size">
|
||||
<ThumbnailView :item="item" :previewOnly="true" v-on:itemclick="onItemClick($event)" />
|
||||
|
|
@ -21,7 +22,7 @@
|
|||
<v-icon :color="this.senderIsAdminOrModerator(this.event) ? 'white' : ''" size="small">block</v-icon>
|
||||
{{ redactedBySomeoneElse(event) ? $t('message.incoming_message_deleted_text') : $t('message.outgoing_message_deleted_text')}}
|
||||
</i>
|
||||
<span v-html="linkify($sanitize(messageText))" v-else />
|
||||
<span v-html="linkify($sanitize(messageText))" v-else-if="messageText" />
|
||||
<span class="edit-marker" v-if="event.replacingEventId() && !event.isRedacted()">
|
||||
{{ $t('message.edited') }}
|
||||
</span>
|
||||
|
|
@ -38,16 +39,18 @@
|
|||
<script>
|
||||
import MessageIncoming from "./MessageIncoming.vue";
|
||||
import messageMixin from "./messageMixin";
|
||||
import util from "../../plugins/utils";
|
||||
import util, { ROOM_TYPE_CHANNEL } from "../../plugins/utils";
|
||||
import GalleryItemsView from '../file_mode/GalleryItemsView.vue';
|
||||
import ThumbnailView from '../file_mode/ThumbnailView.vue';
|
||||
import SwipeableThumbnailsView from "./channel/SwipeableThumbnailsView.vue";
|
||||
|
||||
export default {
|
||||
extends: MessageIncoming,
|
||||
components: { MessageIncoming, GalleryItemsView, ThumbnailView },
|
||||
components: { MessageIncoming, GalleryItemsView, ThumbnailView, SwipeableThumbnailsView },
|
||||
mixins: [messageMixin],
|
||||
data() {
|
||||
return {
|
||||
ROOM_TYPE_CHANNEL: ROOM_TYPE_CHANNEL,
|
||||
items: [],
|
||||
showItem: null,
|
||||
}
|
||||
|
|
@ -61,6 +64,11 @@ export default {
|
|||
beforeDestroy() {
|
||||
this.event.off("Event.relationsCreated", this.onRelationsCreated);
|
||||
},
|
||||
computed: {
|
||||
forceMultiview() {
|
||||
return this.room.displayType == ROOM_TYPE_CHANNEL && this.items.length == 1 && util.isFileTypePDF(this.items[0].event);
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
onRelationsCreated() {
|
||||
this.thread = this.timelineSet.relations.getChildEventsForEvent(this.event.getId(), util.threadMessageType(), "m.room.message");
|
||||
|
|
|
|||
|
|
@ -1,9 +1,10 @@
|
|||
<template>
|
||||
<!-- BASE CLASS FOR OUTGOING MESSAGE -->
|
||||
<div class="messageOut">
|
||||
<div :class="messageClasses">
|
||||
<div class="senderAndTime">
|
||||
<div class="sender" v-if="room.displayType == ROOM_TYPE_CHANNEL">{{ eventSenderDisplayName(event) }}</div>
|
||||
<div class="time">
|
||||
{{ utils.formatTime(event.event.origin_server_ts) }}
|
||||
{{ room.displayType == ROOM_TYPE_CHANNEL ? formatTimeAgo(event.event.origin_server_ts) : utils.formatTime(event.event.origin_server_ts) }}
|
||||
</div>
|
||||
<div class="status">{{ event.status }}</div>
|
||||
</div>
|
||||
|
|
@ -13,8 +14,10 @@
|
|||
<v-icon>more_vert</v-icon>
|
||||
</v-btn>
|
||||
</div>
|
||||
<div class="pin-icon" v-if="isPinned"><v-icon>$vuetify.icons.ic_pin_filled</v-icon></div>
|
||||
|
||||
<!-- SLOT FOR CONTENT -->
|
||||
<span ref="messageInOutRef">
|
||||
<span ref="messageInOutRef" class="content">
|
||||
<slot></slot>
|
||||
</span>
|
||||
<v-avatar
|
||||
|
|
@ -26,19 +29,25 @@
|
|||
<img v-if="userAvatar" :src="userAvatar" />
|
||||
<span v-else class="white--text headline">{{ userAvatarLetter }}</span>
|
||||
</v-avatar>
|
||||
<QuickReactions :event="eventForReactions" :timelineSet="timelineSet" v-on="$listeners"/>
|
||||
<SeenBy :room="room" :event="event"/>
|
||||
<QuickReactionsChannel v-if="room.displayType == ROOM_TYPE_CHANNEL" :event="eventForReactions" :timelineSet="timelineSet" v-on="$listeners"/>
|
||||
<QuickReactions v-else :event="eventForReactions" :timelineSet="timelineSet" v-on="$listeners"/>
|
||||
<SeenBy v-if="room.displayType != ROOM_TYPE_CHANNEL" :room="room" :event="event"/>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import SeenBy from "./SeenBy.vue";
|
||||
import messageMixin from "./messageMixin";
|
||||
import util from "../../plugins/utils";
|
||||
import util, { ROOM_TYPE_CHANNEL } from "../../plugins/utils";
|
||||
import QuickReactions from "./QuickReactions.vue";
|
||||
import QuickReactionsChannel from "./channel/QuickReactionsChannel.vue";
|
||||
|
||||
export default {
|
||||
mixins: [messageMixin],
|
||||
components: { SeenBy },
|
||||
components: { QuickReactions, QuickReactionsChannel, SeenBy },
|
||||
data() {
|
||||
return { ROOM_TYPE_CHANNEL: ROOM_TYPE_CHANNEL }
|
||||
},
|
||||
mounted() {
|
||||
if(util.isMobileOrTabletBrowser() && this.$refs.messageInOutRef) {
|
||||
this.initMsgHammerJs(this.$refs.messageInOutRef);
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
<template>
|
||||
<message-outgoing v-bind="{ ...$props, ...$attrs }" v-on="$listeners">
|
||||
<div class="audio-bubble">
|
||||
<div class="bubble audio-bubble">
|
||||
<audio-player :event="event" :timelineSet="timelineSet">{{ $t('fallbacks.audio_file')}}</audio-player>
|
||||
</div>
|
||||
</message-outgoing>
|
||||
|
|
|
|||
|
|
@ -14,10 +14,12 @@
|
|||
<v-icon size="small">block</v-icon>
|
||||
{{ redactedBySomeoneElse(event) ? $t('message.incoming_message_deleted_text') : $t('message.outgoing_message_deleted_text')}}
|
||||
</i>
|
||||
<span v-html="linkify($sanitize(messageText))" v-else/>
|
||||
<span class="edit-marker" v-if="event.replacingEventId() && !event.isRedacted()">
|
||||
{{ $t('message.edited') }}
|
||||
</span>
|
||||
<more-less-control :event="originalEvent" v-else>
|
||||
<span v-html="linkify($sanitize(messageText))" />
|
||||
<span class="edit-marker" v-if="event.replacingEventId() && !event.isRedacted()">
|
||||
{{ $t('message.edited') }}
|
||||
</span>
|
||||
</more-less-control>
|
||||
</div>
|
||||
</div>
|
||||
</message-outgoing>
|
||||
|
|
@ -25,10 +27,11 @@
|
|||
|
||||
<script>
|
||||
import MessageOutgoing from "./MessageOutgoing.vue";
|
||||
import MoreLessControl from '../MoreLessControl.vue';
|
||||
|
||||
export default {
|
||||
extends: MessageOutgoing,
|
||||
components: { MessageOutgoing },
|
||||
components: { MessageOutgoing, MoreLessControl },
|
||||
};
|
||||
</script>
|
||||
<style lang="scss">
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<template>
|
||||
<message-outgoing v-bind="{ ...$props, ...$attrs }" v-on="$listeners" v-if="items.length > 1 || event.isRedacted()">
|
||||
<message-outgoing v-bind="{ ...$props, ...$attrs }" v-on="$listeners" v-if="items.length > 1 || event.isRedacted() || forceMultiview">
|
||||
<div class="bubble">
|
||||
<div class="original-message" v-if="inReplyToText">
|
||||
<div class="original-message-sender">{{ inReplyToSender }}</div>
|
||||
|
|
@ -11,7 +11,8 @@
|
|||
|
||||
|
||||
<div class="message">
|
||||
<v-container v-if="!event.isRedacted()" fluid class="imageCollection">
|
||||
<SwipeableThumbnailsView :items="items" v-if="!event.isRedacted() && room.displayType == ROOM_TYPE_CHANNEL" v-on="$listeners" />
|
||||
<v-container v-else-if="!event.isRedacted()" fluid class="imageCollection">
|
||||
<v-row wrap>
|
||||
<v-col v-for="({ size, item }) in layoutedItems()" :key="item.event.getId()" :cols="size">
|
||||
<ThumbnailView :item="item" :previewOnly="true" v-on:itemclick="onItemClick($event)" />
|
||||
|
|
@ -22,7 +23,7 @@
|
|||
<v-icon size="small">block</v-icon>
|
||||
{{ redactedBySomeoneElse(event) ? $t('message.incoming_message_deleted_text') : $t('message.outgoing_message_deleted_text')}}
|
||||
</i>
|
||||
<span v-html="linkify($sanitize(messageText))" v-else />
|
||||
<span v-html="linkify($sanitize(messageText))" v-else-if="messageText" />
|
||||
<span class="edit-marker" v-if="event.replacingEventId() && !event.isRedacted()">
|
||||
{{ $t('message.edited') }}
|
||||
</span>
|
||||
|
|
@ -39,16 +40,18 @@
|
|||
<script>
|
||||
import MessageOutgoing from "./MessageOutgoing.vue";
|
||||
import messageMixin from "./messageMixin";
|
||||
import util from "../../plugins/utils";
|
||||
import util, { ROOM_TYPE_CHANNEL } from "../../plugins/utils";
|
||||
import GalleryItemsView from '../file_mode/GalleryItemsView.vue';
|
||||
import ThumbnailView from '../file_mode/ThumbnailView.vue';
|
||||
import SwipeableThumbnailsView from "./channel/SwipeableThumbnailsView.vue";
|
||||
|
||||
export default {
|
||||
extends: MessageOutgoing,
|
||||
components: { MessageOutgoing, GalleryItemsView, ThumbnailView },
|
||||
components: { MessageOutgoing, GalleryItemsView, ThumbnailView, SwipeableThumbnailsView },
|
||||
mixins: [messageMixin],
|
||||
data() {
|
||||
return {
|
||||
ROOM_TYPE_CHANNEL: ROOM_TYPE_CHANNEL,
|
||||
items: [],
|
||||
showItem: null,
|
||||
}
|
||||
|
|
@ -62,6 +65,11 @@ export default {
|
|||
beforeDestroy() {
|
||||
this.event.off("Event.relationsCreated", this.onRelationsCreated);
|
||||
},
|
||||
computed: {
|
||||
forceMultiview() {
|
||||
return this.room.displayType == ROOM_TYPE_CHANNEL && this.items.length == 1 && util.isFileTypePDF(this.items[0].event);
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
onRelationsCreated() {
|
||||
this.thread = this.timelineSet.relations.getChildEventsForEvent(this.event.getId(), util.threadMessageType(), "m.room.message");
|
||||
|
|
|
|||
17
src/components/messages/ReadMarker.vue
Normal file
17
src/components/messages/ReadMarker.vue
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
<template>
|
||||
<div class="read-marker">
|
||||
<div class="line"></div>
|
||||
<div class="text">{{ $t('message.unread_messages') }}</div>
|
||||
<div class="line"></div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
|
||||
export default {
|
||||
};
|
||||
</script>
|
||||
|
||||
<style lang="scss">
|
||||
@import "@/assets/css/chat.scss";
|
||||
</style>
|
||||
54
src/components/messages/channel/MessageOperationsChannel.vue
Normal file
54
src/components/messages/channel/MessageOperationsChannel.vue
Normal file
|
|
@ -0,0 +1,54 @@
|
|||
<template>
|
||||
<div :class="{ 'message-operations': true, 'incoming': incoming, 'outgoing': !incoming }">
|
||||
<v-list dense>
|
||||
<v-list-item key="edit" v-if="isEditable" @click.stop="edit">
|
||||
<v-list-item-icon><v-icon>$vuetify.icons.ic_edit</v-icon></v-list-item-icon>
|
||||
<v-list-item-content>
|
||||
<v-list-item-title>{{ $t("menu.edit") }}</v-list-item-title>
|
||||
</v-list-item-content>
|
||||
</v-list-item>
|
||||
<v-list-item key="pin" v-if="userCanPin && !event.isPinned" @click.stop="pin">
|
||||
<v-list-item-icon><v-icon>$vuetify.icons.ic_pin</v-icon></v-list-item-icon>
|
||||
<v-list-item-content>
|
||||
<v-list-item-title>{{ $t("menu.pin") }}</v-list-item-title>
|
||||
</v-list-item-content>
|
||||
</v-list-item>
|
||||
<v-list-item key="unpin" v-if="userCanPin && event.isPinned" @click.stop="unpin">
|
||||
<v-list-item-icon><v-icon>$vuetify.icons.ic_pin</v-icon></v-list-item-icon>
|
||||
<v-list-item-content>
|
||||
<v-list-item-title>{{ $t("menu.unpin") }}</v-list-item-title>
|
||||
</v-list-item-content>
|
||||
</v-list-item>
|
||||
<v-list-item key="redact" v-if="isRedactable" @click.stop="redact">
|
||||
<v-list-item-icon><v-icon color="#222222">delete_outline</v-icon></v-list-item-icon>
|
||||
<v-list-item-content>
|
||||
<v-list-item-title>{{ $t("menu.delete") }}</v-list-item-title>
|
||||
</v-list-item-content>
|
||||
</v-list-item>
|
||||
</v-list>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import messageMixin from "../messageMixin";
|
||||
import messageOperationsMixin from "../messageOperationsMixin";
|
||||
|
||||
export default {
|
||||
mixins: [messageMixin, messageOperationsMixin],
|
||||
data() {
|
||||
return {}
|
||||
},
|
||||
props: {
|
||||
userCanPin: {
|
||||
type: Boolean,
|
||||
default: function () {
|
||||
return false;
|
||||
}
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
<style lang="scss">
|
||||
@import "@/assets/css/chat.scss";
|
||||
</style>
|
||||
127
src/components/messages/channel/QuickReactionsChannel.vue
Normal file
127
src/components/messages/channel/QuickReactionsChannel.vue
Normal file
|
|
@ -0,0 +1,127 @@
|
|||
<template>
|
||||
<div class="quick-reaction-container">
|
||||
<div
|
||||
class="emoji"
|
||||
v-for="(value, name) in reactionMap"
|
||||
:key="name"
|
||||
v-show="name == '❤️'"
|
||||
>
|
||||
<v-tooltip top v-if="value.includes($matrix.currentUserId)">
|
||||
<template v-slot:activator="{ on, attrs }">
|
||||
<v-icon class="ma-1 ml-0 clickable" v-bind="attrs" v-on="on" @click="onClickEmoji(name)" color="#ff3300">$vuetify.icons.ic_like_filled</v-icon>
|
||||
</template>
|
||||
<span>{{ $t("global.click_to_remove") }}</span>
|
||||
</v-tooltip>
|
||||
<v-icon v-else class="ma-1 ml-0 clickable" @click="onClickEmoji(name)">$vuetify.icons.ic_like</v-icon> {{ value.length }}
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import messageOperationsMixin from "../messageOperationsMixin";
|
||||
|
||||
export default {
|
||||
mixins: [messageOperationsMixin],
|
||||
props: {
|
||||
event: {
|
||||
type: Object,
|
||||
default: function () {
|
||||
return {}
|
||||
}
|
||||
},
|
||||
timelineSet: {
|
||||
type: Object,
|
||||
default: function () {
|
||||
return null
|
||||
}
|
||||
},
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
reactionMap: {"❤️": []},
|
||||
reactions: null,
|
||||
REACTION_LIMIT: 5,
|
||||
showAllReaction: false
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.reactions = this.timelineSet.relations.getChildEventsForEvent(this.event.getId(), 'm.annotation', 'm.reaction');
|
||||
this.event.on("Event.relationsCreated", this.onRelationsCreated);
|
||||
},
|
||||
beforeDestroy() {
|
||||
this.event.off("Event.relationsCreated", this.onRelationsCreated);
|
||||
if (this.reactions) {
|
||||
this.reactions.off('Relations.add', this.onAddRelation);
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
totalReaction() {
|
||||
return Object.keys(this.reactionMap).length
|
||||
},
|
||||
otherReactionText() {
|
||||
return this.showAllReaction ? this.$t("global.show_less") : this.$t("message.reaction_count_more", { reactionCount: this.totalReaction - this.REACTION_LIMIT })
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
onRelationsCreated() {
|
||||
this.reactions = this.timelineSet.relations.getChildEventsForEvent(this.event.getId(), 'm.annotation', 'm.reaction');
|
||||
},
|
||||
onClickEmoji(emoji) {
|
||||
this.$bubble('send-quick-reaction', {reaction:emoji, event:this.event});
|
||||
},
|
||||
onAddRelation(ignoredevent) {
|
||||
this.processReactions();
|
||||
},
|
||||
onRemoveRelation(ignoredevent) {
|
||||
this.processReactions();
|
||||
},
|
||||
onRedactRelation(ignoredevent) {
|
||||
this.processReactions();
|
||||
},
|
||||
processReactions() {
|
||||
var reactionMap = {"❤️": []};
|
||||
if (this.reactions && this.reactions._eventsCount > 0) {
|
||||
const relations = this.reactions.getRelations();
|
||||
for (const r of relations) {
|
||||
const emoji = r.getRelation().key;
|
||||
const sender = r.getSender();
|
||||
if (reactionMap[emoji]) {
|
||||
const array = reactionMap[emoji];
|
||||
if (r.isRedacted()) {
|
||||
delete array[sender];
|
||||
}
|
||||
if (!array.includes(sender)) {
|
||||
array.push(sender)
|
||||
}
|
||||
} else if (!r.isRedacted()) {
|
||||
reactionMap[emoji] = [sender];
|
||||
}
|
||||
}
|
||||
}
|
||||
this.reactionMap = reactionMap;
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
reactions: {
|
||||
handler(newValue, oldValue) {
|
||||
if (oldValue) {
|
||||
oldValue.off('Relations.add', this.onAddRelation);
|
||||
oldValue.off('Relations.remove', this.onRemoveRelation);
|
||||
oldValue.off('Relations.redaction', this.onRedactRelation);
|
||||
}
|
||||
if (newValue) {
|
||||
newValue.on('Relations.add', this.onAddRelation);
|
||||
newValue.on('Relations.remove', this.onRemoveRelation);
|
||||
newValue.on('Relations.redaction', this.onRedactRelation);
|
||||
}
|
||||
this.processReactions();
|
||||
},
|
||||
immediate: true
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
<style lang="scss">
|
||||
@import "@/assets/css/chat.scss";
|
||||
</style>
|
||||
57
src/components/messages/channel/SwipeableThumbnailsView.vue
Normal file
57
src/components/messages/channel/SwipeableThumbnailsView.vue
Normal file
|
|
@ -0,0 +1,57 @@
|
|||
<template>
|
||||
<div class="swipeable-thumbnails-view">
|
||||
<v-responsive :aspect-ratio="aspectRatio" class="ma-0 pa-0">
|
||||
<v-carousel height="100%" hide-delimiters :show-arrows="items.length > 1" :show-arrows-on-hover="items.length > 1" v-model="currentIndex">
|
||||
<v-carousel-item v-for="(item,index) in items" :key="item.event.getId()">
|
||||
<ThumbnailView :item="items[index]" :previewOnly="true" v-on:itemclick="itemClicked" />
|
||||
</v-carousel-item>
|
||||
</v-carousel>
|
||||
</v-responsive>
|
||||
<div class="indicator-container" v-show="items.length > 1">
|
||||
<div v-for="(item,index) in items" :key="index" :class="{'indicator': true, 'current': index == currentIndex}" />
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import messageMixin from "../../messages/messageMixin";
|
||||
import ThumbnailView from '../../file_mode/ThumbnailView.vue';
|
||||
import util from "../../../plugins/utils";
|
||||
|
||||
export default {
|
||||
mixins: [messageMixin],
|
||||
components: { ThumbnailView },
|
||||
props: {
|
||||
items: {
|
||||
type: Array,
|
||||
default: function () {
|
||||
return []
|
||||
}
|
||||
},
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
currentIndex: 0,
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
aspectRatio() {
|
||||
return this.items.some((item) =>['m.video','m.image'].includes(item.event.getContent().msgtype)) ? 16/9 : undefined;
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
itemClicked() {
|
||||
if (this.items.length > 0 && this.currentIndex < this.items.length) {
|
||||
const item = this.items[this.currentIndex];
|
||||
if (util.isFileTypePDF(item.event)) {
|
||||
this.$emit("download", {event: item.event});
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
<style lang="scss">
|
||||
@import "@/assets/css/chat.scss";
|
||||
</style>
|
||||
|
|
@ -109,7 +109,7 @@ export default {
|
|||
* Don't show sender and time if the next event is within 2 minutes and also from us (= back to back messages)
|
||||
*/
|
||||
showSenderAndTime() {
|
||||
if (this.nextEvent && this.nextEvent.getSender() == this.event.getSender()) {
|
||||
if (!this.isPinned && this.nextEvent && this.nextEvent.getSender() == this.event.getSender()) {
|
||||
const ts1 = this.nextEvent.event.origin_server_ts;
|
||||
const ts2 = this.event.event.origin_server_ts;
|
||||
return ts1 - ts2 < 2 * 60 * 1000; // less than 2 minutes
|
||||
|
|
@ -180,12 +180,20 @@ export default {
|
|||
return this.event.getContent().body;
|
||||
},
|
||||
|
||||
isPinned() {
|
||||
return this.event.parentThread ? this.event.parentThread.isPinned : this.event.isPinned;
|
||||
},
|
||||
|
||||
/**
|
||||
* Classes to set for the message. Currently only for "messageIn", TODO: - detect messageIn or messageOut.
|
||||
* Classes to set for the message. Currently only for "messageIn"
|
||||
*/
|
||||
|
||||
messageClasses() {
|
||||
return { messageIn: true, "from-admin": this.senderIsAdminOrModerator(this.event) };
|
||||
if (this.incoming) {
|
||||
return { messageIn: true, "from-admin": this.senderIsAdminOrModerator(this.event), "pinned": this.isPinned };
|
||||
} else {
|
||||
return { messageOut: true, "pinned": this.isPinned };
|
||||
}
|
||||
},
|
||||
|
||||
userAvatar() {
|
||||
|
|
|
|||
|
|
@ -50,5 +50,13 @@ export default {
|
|||
this.$emit("close");
|
||||
this.$emit("more", {event:this.event});
|
||||
},
|
||||
pin() {
|
||||
this.$emit("close");
|
||||
this.$emit("pin", {event:this.event});
|
||||
},
|
||||
unpin() {
|
||||
this.$emit("close");
|
||||
this.$emit("unpin", {event:this.event});
|
||||
},
|
||||
}
|
||||
}
|
||||
|
|
@ -123,6 +123,8 @@ export default {
|
|||
})
|
||||
.then(() => {
|
||||
this.sendingStatus = this.sendStatuses.SENT;
|
||||
this.sendingAttachments = [];
|
||||
this.sendingRootEventId = null;
|
||||
})
|
||||
.catch((err) => {
|
||||
console.error("ERROR", err);
|
||||
|
|
|
|||
|
|
@ -20,5 +20,35 @@ export default new VueI18n({
|
|||
locale: 'en',
|
||||
fallbackLocale: 'en',
|
||||
silentFallbackWarn: true,
|
||||
messages: messages
|
||||
messages: messages,
|
||||
pluralizationRules: {
|
||||
/**
|
||||
* @param choice {number} a choice index given by the input to $tc: `$tc('path.to.rule', choiceIndex)`
|
||||
* @param choicesLength {number} an overall amount of available choices
|
||||
* @returns a final choice index to select plural word by
|
||||
*/
|
||||
'ru': function(choice, choicesLength) {
|
||||
// this === VueI18n instance, so the locale property also exists here
|
||||
|
||||
if (choice === 0) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
const zeroChoiseOffset = (choicesLength == 4) ? 1 : 0;
|
||||
|
||||
const teen = choice > 10 && choice < 20;
|
||||
const endsWithOne = choice % 10 === 1;
|
||||
|
||||
if (!teen && endsWithOne) {
|
||||
console.log("Not teen, ends with one", zeroChoiseOffset, choice);
|
||||
return zeroChoiseOffset + 0;
|
||||
}
|
||||
if (!teen && choice % 10 >= 2 && choice % 10 <= 4) {
|
||||
console.log("Ends with 2-4", zeroChoiseOffset, choice);
|
||||
return zeroChoiseOffset + 1;
|
||||
}
|
||||
console.log("Other", choice);
|
||||
return (choicesLength < 4) ? 2 : 3;
|
||||
}
|
||||
}
|
||||
})
|
||||
|
|
@ -424,6 +424,9 @@ class Util {
|
|||
promise
|
||||
.then((response) => {
|
||||
messageContent.url = response.content_uri;
|
||||
return (msgtype == 'm.audio' ? this.generateWaveform(fileContents, messageContent) : true);
|
||||
})
|
||||
.then(() => {
|
||||
return this.sendMessage(matrixClient, roomId, "m.room.message", messageContent)
|
||||
})
|
||||
.then(result => {
|
||||
|
|
@ -478,6 +481,9 @@ class Util {
|
|||
return reject(response.error);
|
||||
}
|
||||
encryptedFile.url = response.content_uri;
|
||||
return (msgtype == 'm.audio' ? this.generateWaveform(fileContents, messageContent) : true);
|
||||
})
|
||||
.then(() => {
|
||||
return this.sendMessage(matrixClient, roomId, "m.room.message", messageContent)
|
||||
})
|
||||
.then(result => {
|
||||
|
|
@ -495,6 +501,51 @@ class Util {
|
|||
return uploadPromise;
|
||||
}
|
||||
|
||||
generateWaveform(data, messageContent) {
|
||||
if (!(window.AudioContext || window.webkitAudioContext)) {
|
||||
return; // No support
|
||||
}
|
||||
const audioCtx = new (window.AudioContext || window.webkitAudioContext)();
|
||||
if (audioCtx) {
|
||||
return audioCtx.decodeAudioData(data)
|
||||
.then((audioBuffer) => {
|
||||
const rawData = audioBuffer.getChannelData(0); // TODO - currently using only 1 channel
|
||||
const samples = 1000; // Number of samples
|
||||
const blockSize = Math.floor(rawData.length / samples);
|
||||
let filteredData = [];
|
||||
for (let i = 0; i < samples; i++) {
|
||||
let blockStart = blockSize * i; // the location of the first sample in the block
|
||||
let sum = 0;
|
||||
for (let j = 0; j < blockSize; j++) {
|
||||
sum = sum + Math.abs(rawData[blockStart + j]) // find the sum of all the samples in the block
|
||||
}
|
||||
filteredData.push(sum / blockSize); // divide the sum by the block size to get the average
|
||||
}
|
||||
|
||||
// Normalize
|
||||
const multiplier = Math.pow(Math.max(...filteredData), -1);
|
||||
filteredData = filteredData.map(n => n * multiplier);
|
||||
|
||||
// Integerize
|
||||
filteredData = filteredData.map(n => parseInt((n * 255).toFixed()));
|
||||
|
||||
|
||||
// Generate SVG of waveform
|
||||
let svg = `<svg viewBox="0 0 ${samples} 255" fill="none" preserveAspectRatio="none" xmlns="http://www.w3.org/2000/svg">`;
|
||||
svg += `<path d="`;
|
||||
filteredData.forEach((d, i) => {
|
||||
const delta = d / 2;
|
||||
svg += `M${i} ${128 - delta}V${128 + delta}`;
|
||||
});
|
||||
svg += `" style="fill:none;stroke:green;stroke-width:1" />`;
|
||||
svg += "</svg>";
|
||||
|
||||
messageContent.format = "org.matrix.custom.html";
|
||||
messageContent.formatted_body = svg;
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Return what "mode" to use for the given room.
|
||||
*
|
||||
|
|
@ -914,6 +965,7 @@ class Util {
|
|||
}
|
||||
|
||||
download(matrixClient, event) {
|
||||
console.log("DOWNLOAD");
|
||||
this
|
||||
.getAttachment(matrixClient, event)
|
||||
.then((url) => {
|
||||
|
|
@ -924,6 +976,7 @@ class Util {
|
|||
// PDFs are shown inline, not downloaded
|
||||
link.download = event.getContent().body || this.$t("fallbacks.download_name");
|
||||
}
|
||||
console.log("LINK", link);
|
||||
document.body.appendChild(link);
|
||||
link.click();
|
||||
setTimeout(function () {
|
||||
|
|
|
|||
|
|
@ -1292,6 +1292,33 @@ export default {
|
|||
});
|
||||
this.notificationCount = count;
|
||||
},
|
||||
|
||||
setEventPinned(room, event, pinned) {
|
||||
if (room && room.currentState && event) {
|
||||
const pinnedMessagesEvent = room.currentState.getStateEvents("m.room.pinned_events", "");
|
||||
const content = pinnedMessagesEvent ? pinnedMessagesEvent.getContent() : {}
|
||||
let pinnedEvents = content["pinned"] || [];
|
||||
if (pinned && !pinnedEvents.includes(event.getId())) {
|
||||
pinnedEvents.push(event.getId());
|
||||
} else if (!pinned && pinnedEvents.includes(event.getId())) {
|
||||
pinnedEvents = pinnedEvents.filter((e) => e != event.getId());
|
||||
} else {
|
||||
return; // no change
|
||||
}
|
||||
content.pinned = pinnedEvents;
|
||||
this.matrixClient.sendStateEvent(room.roomId, "m.room.pinned_events", content);
|
||||
}
|
||||
},
|
||||
|
||||
getPinnedEvents(room) {
|
||||
if (room && room.currentState) {
|
||||
const pinnedMessagesEvent = room.currentState.getStateEvents("m.room.pinned_events", "");
|
||||
const content = pinnedMessagesEvent ? pinnedMessagesEvent.getContent() : {}
|
||||
return content["pinned"] || [];
|
||||
} else {
|
||||
return [];
|
||||
}
|
||||
},
|
||||
},
|
||||
});
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue