diff --git a/README.md b/README.md index 525bb3b..1eb2c6e 100644 --- a/README.md +++ b/README.md @@ -53,6 +53,9 @@ The app loads runtime configutation from the server at "./config.json" and merge * **accentColor** - The accent color of the app UI. Use a HTML-style color value string, like "#ff0080". * **show_status_messages** - Whether to show only user joins/leaves and display name updates, or the full range of room status updates. Possible values are "never" (only the above), "moderators" (moderators will see all status updates) or "always" (everyone will see all status updates). Defaults to "always". * **maxSizeAutoDownloads** - Attachments smaller than this will be auto downloaded. Default is 10Mb. +* **roomTypes** - Available room types. This affects what is shown on the /create route, as well as access to routes /createroom, /createchannel and /createfiledrop. It should be an array with possible values "group_chat", "channel" or "file_drop". + + Defaults to all values, ["group_chat", "channel", "file_drop"]. ### Sticker short codes - To enable sticker short codes, follow these steps: * Run the "create sticker config" script using "npm run create-sticker-config " diff --git a/package.json b/package.json index 095a8d0..8bd5290 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "keanuapp-weblite", - "version": "0.1.42", + "version": "0.1.43", "private": true, "scripts": { "serve": "vue-cli-service serve", diff --git a/package.json.bak b/package.json.bak index 531ed2a..095a8d0 100644 --- a/package.json.bak +++ b/package.json.bak @@ -1,6 +1,6 @@ { "name": "keanuapp-weblite", - "version": "0.1.41", + "version": "0.1.42", "private": true, "scripts": { "serve": "vue-cli-service serve", diff --git a/public/ua.html b/public/ua.html new file mode 100644 index 0000000..6ca8695 --- /dev/null +++ b/public/ua.html @@ -0,0 +1,87 @@ + + + + + + Convene User Agreement + + + +

Convene User Agreement

+

Effective Date: March 11, 2025

+ +

1. Your Access to the Services

+

No one under 13 is allowed to use or access the Services. By using the Services, you state that:

+ + +

2. Privacy

+

Convene’s Privacy Policy explains how and why we collect, use, and share information about you when you access or use our Services.

+ +

3. Your Use of the Services

+

Subject to compliance with these Terms, Convene grants you a non-transferable, non-exclusive, revocable, limited license to:

+ + +

4. Your Convene Account and Account Security

+

You are responsible for maintaining the security of your Account and immediately notifying Convene of unauthorized access.

+ +

5. Your Content

+

By submitting Your Content, you represent that you have the necessary rights and agree that Convene may store, display, or distribute it as needed.

+ +

6. Third-Party Content

+

Convene does not control or endorse third-party content and is not responsible for their availability or accuracy.

+ +

7. Prohibited Conduct

+ + +

8. Intellectual Property

+

All materials within the Services are owned by Convene or its licensors.

+ +

9. Indemnity

+

You agree to indemnify and hold Convene harmless from any claims, damages, or expenses arising from your use of the Services.

+ +

10. Limitation of Liability

+

Convene is not liable for indirect, incidental, special, or consequential damages arising from your use of the Services.

+ +

11. Governing Law

+

These Terms are governed by the laws of the State of New York, United States. Any disputes shall be resolved in the courts of New York.

+ +

12. Changes to These Terms

+

We may update these Terms and will provide notice of significant changes.

+ +

13. Termination

+

You may terminate these Terms by deleting your Account. Convene reserves the right to suspend accounts that violate these Terms.

+ +

14. Miscellaneous

+

If any provision of these Terms is deemed invalid, the remaining provisions will remain in effect.

+ +

For questions or concerns, contact us at info@letsconvene.im.

+ + + diff --git a/src/assets/css/_variables.scss b/src/assets/css/_variables.scss index 88fa7b5..50c55e4 100644 --- a/src/assets/css/_variables.scss +++ b/src/assets/css/_variables.scss @@ -4,6 +4,7 @@ $app-background: #f6f6f6; $main-desktop-width: 900px; $dialog-desktop-width: 940px; $very-very-purple: #536dfe; +$light-purple: #8E9FF8; $lighter-gray: #FDFBF9; $chat-background: $background; diff --git a/src/assets/css/chat.scss b/src/assets/css/chat.scss index c355851..9a501df 100644 --- a/src/assets/css/chat.scss +++ b/src/assets/css/chat.scss @@ -1066,7 +1066,7 @@ body { .option-text { font-size: 13 * $chat-text-size; - border-top: 1px solid #e1e1e1; + // border-top: 1px solid #e1e1e1; padding-top: 8px; } @@ -1075,6 +1075,17 @@ body { font-size: 16 * $chat-text-size; } +.back-button { + font-weight: bold; + font-size: 12 * $chat-text-size; + [dir="rtl"] & { + .v-icon { + // Mirror the icon + transform: scale(-1, 1); + } + } +} + .header-button-left { position: absolute; top: 0px; @@ -1281,57 +1292,6 @@ body { } } -.create-room { - background-color: $background; - - .v-avatar { - border: 1px solid #808080 !important; - } - - .section { - background-color: white; - border-radius: 20px; - padding: 20px; - border: 1px solid #808080 !important; - position: relative; - } - - .options { - display: flex; - width: 100%; - justify-content: flex-end; - color: black; - font-size: 14 * $chat-text-size; - font-weight: bold; - margin-left: 10px; - [dir="rtl"] & { - margin-left: initial; - margin-right: 10px; - } - text-transform: none !important; - } - - .room-option { - .v-input { - margin: 0px; - } - } - - .option-warning { - background: linear-gradient(0deg, #FFF3F3, #FFF3F3), #FFFBED; - border-radius: 8px; - padding: 18px; - font-family: 'Inter', sans-serif; - font-style: normal; - font-weight: 400; - font-size: 14px; - line-height: 17px; - .v-icon { - margin-right: 16px; - } - } -} - .room-link .v-input__slot::before { /* Remove text underline */ border-style: none !important; diff --git a/src/assets/css/create.scss b/src/assets/css/create.scss index 5e696f8..aab863d 100644 --- a/src/assets/css/create.scss +++ b/src/assets/css/create.scss @@ -1,8 +1,64 @@ @import "@/assets/css/main.scss"; + .create-root { background-color: $background; + user-select: none; + .v-avatar { + border: 1px solid #808080 !important; + } + + .section { + background-color: white; + border-radius: 20px; + padding: 20px; + border: 1px solid #808080 !important; + position: relative; + } + + .options { + display: flex; + width: 100%; + justify-content: flex-end; + color: black; + font-size: 14 * $chat-text-size; + font-weight: bold; + margin-left: 10px; + [dir="rtl"] & { + margin-left: initial; + margin-right: 10px; + } + text-transform: none !important; + } + + .room-option { + .v-input { + margin: 0px; + } + } + + .option-warning { + background: linear-gradient(0deg, #FFF3F3, #FFF3F3), #FFFBED; + border-radius: 8px; + padding: 18px; + font-family: 'Inter', sans-serif; + font-style: normal; + font-weight: 400; + font-size: 14px; + line-height: 17px; + .v-icon { + margin-right: 16px; + } + } + + + /* Make secondary inputs (e.g. topic) */ + .v-input.v-text-field--filled.v-text-field--rounded .v-input__slot { + background-color: #f5f5f5; + border-radius: 4px; + } + .create-loggedin { text-align: center; button { @@ -34,15 +90,12 @@ .create-title { color: #000; - text-align: center; - font-family: "Poppins"; - font-size: 28px; - font-style: normal; - font-weight: 700; - line-height: 108.5%; /* 30.38px */ letter-spacing: -0.8px; white-space: pre-line; margin-top: 50px; + &.no-icon { + margin-top: 122px; + } } .create-info { @@ -135,4 +188,10 @@ flex-direction: column; margin-top: -20px; } + + .v-btn:not(.back-button) { + border-radius: 24px; + min-height: 48px !important; + min-width: 200px !important; + } } diff --git a/src/assets/css/typography.scss b/src/assets/css/typography.scss new file mode 100644 index 0000000..050656f --- /dev/null +++ b/src/assets/css/typography.scss @@ -0,0 +1,76 @@ +@import "@/assets/css/main.scss"; + +.h3-bold { + font-family: "Poppins"; + font-style: normal; + font-size: 24 * $chat-text-size; + font-weight: 700; + line-height: 28.8 * $chat-text-size; + text-align: center; + text-underline-position: from-font; + text-decoration-skip-ink: none; +} + +.paragraph { + font-family: "Inter"; + font-size: 16 * $chat-text-size; + font-weight: 400; + line-height: 18.72 * $chat-text-size; + letter-spacing: 0.40 * $chat-text-size; + text-align: left; + text-underline-position: from-font; + text-decoration-skip-ink: none; + color: rgba(0,0,0, 0.7); + &.paragraph-button { + color: $very-very-purple; + } +} + +.paragraph-bold { + font-family: "Inter"; + font-size: 16 * $chat-text-size; + font-weight: 600; + line-height: 18.72 * $chat-text-size; + letter-spacing: 0.40 * $chat-text-size; + text-align: left; + text-underline-position: from-font; + text-decoration-skip-ink: none; + color: rgba(0,0,0); + margin-bottom: 3 * $chat-text-size; +} + +.caption-1 { + font-family: "Inter"; + font-size: 14 * $chat-text-size; + font-weight: 400; + line-height: 16.38 * $chat-text-size; + letter-spacing: 0.40 * $chat-text-size; + text-align: left; + text-underline-position: from-font; + text-decoration-skip-ink: none; + color: rgba(0,0,0,0.65); +} + +.caption-1-gray { + font-family: "Inter"; + font-size: 14 * $chat-text-size; + font-weight: 400; + line-height: 16.38 * $chat-text-size; + letter-spacing: 0.40 * $chat-text-size; + text-align: left; + text-underline-position: from-font; + text-decoration-skip-ink: none; + color: rgba(0,0,0,0.65); +} + +.caption-2 { + font-family: "Inter"; + font-size: 10 * $chat-text-size; + font-weight: 400; + line-height: 11.7 * $chat-text-size; + letter-spacing: 0.40 * $chat-text-size; + text-align: left; + text-underline-position: from-font; + text-decoration-skip-ink: none; + color: rgba(0,0,0,0.60); +} diff --git a/src/assets/icons/ic_camera.vue b/src/assets/icons/ic_camera.vue new file mode 100644 index 0000000..34c6516 --- /dev/null +++ b/src/assets/icons/ic_camera.vue @@ -0,0 +1,17 @@ + \ No newline at end of file diff --git a/src/assets/icons/room_avatar_placeholder.vue b/src/assets/icons/room_avatar_placeholder.vue new file mode 100644 index 0000000..9e11596 --- /dev/null +++ b/src/assets/icons/room_avatar_placeholder.vue @@ -0,0 +1,12 @@ + diff --git a/src/assets/icons/room_type_channel.vue b/src/assets/icons/room_type_channel.vue new file mode 100644 index 0000000..8a6fb84 --- /dev/null +++ b/src/assets/icons/room_type_channel.vue @@ -0,0 +1,21 @@ + \ No newline at end of file diff --git a/src/assets/icons/room_type_filedrop.vue b/src/assets/icons/room_type_filedrop.vue new file mode 100644 index 0000000..d5aaa5a --- /dev/null +++ b/src/assets/icons/room_type_filedrop.vue @@ -0,0 +1,10 @@ + \ No newline at end of file diff --git a/src/assets/icons/room_type_room.vue b/src/assets/icons/room_type_room.vue new file mode 100644 index 0000000..639751b --- /dev/null +++ b/src/assets/icons/room_type_room.vue @@ -0,0 +1,9 @@ + diff --git a/src/assets/translations/ar.json b/src/assets/translations/ar.json index 66ac1be..f8f2247 100644 --- a/src/assets/translations/ar.json +++ b/src/assets/translations/ar.json @@ -79,12 +79,14 @@ "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}" + "shared_room_number_more": "أنت تشارك أكثر من {count} غرف مع {name}", + "message_history": "تاريخ الرسائل", + "message_history_warning": "تحذير: سيكون تاريخ الرسائل الكامل مرئيا للمشاركين الجدد", + "report": "تقرير", + "report_reason": "سبب" }, "poll_create": { "poll_status_closed": "تم إغلاق استطلاع الرأي", @@ -281,7 +283,6 @@ "invite_info": "فقط الأشخاص الذين تم إضافتهم", "invite_description": "الاختيار من قائمة أو البحث عن طريق مُعرِّف الحساب", "status_creating": "يجري إنشاء الغرفة", - "status_avatar_total": "يجري تحميل الصورة الرمزية: {count} من أصل {total}", "status_avatar": "يجري تحميل الصورة الرمزية: {count}", "room_name_limit_error_msg": "الحد الأقصى المسموح به هو 50 حرفا", "colon_not_allowed": "النقطتان (:) غير مسموح بهما", @@ -297,7 +298,6 @@ "info": "قم ببث الأخبار أو المعارف مهما كانت صيغتها — بفيديو أو بالبث الحي أو بالنصوص أو بالصور أو على هيئة ملفات PDF", "channel_name": "تسمية قناتك", "channel_topic": "وصفها", - "name_required": "اسم القناة مطلوب", "error_channel": "فشل إنشاء القناة" }, "profile": { @@ -440,5 +440,9 @@ "send_more_files": "إرسال المزيد من الملفات", "close": "إغلاق", "files": "الملفات" + }, + "create": { + "room_type_channel_name": "قناة", + "field_required": "هذا الحقل مطلوب" } } diff --git a/src/assets/translations/bn.json b/src/assets/translations/bn.json index d3efb0b..8a5f4c8 100644 --- a/src/assets/translations/bn.json +++ b/src/assets/translations/bn.json @@ -164,7 +164,6 @@ "invite_info": "শুধুমাত্র যুক্ত আছে এমন সকল", "invite_description": "তালিকা থেকে নির্বাচন করুন বা অ্যাকাউন্ট আইডি দিয়ে খুঁজুন", "status_creating": "রুম তৈরি করা হচ্ছে", - "status_avatar_total": "প্রোফাইলের ছবি আপলোড করা হচ্ছে: {total} টির মধ্যে {count}", "status_avatar": "প্রোফাইলের ছবি আপলোড করা হচ্ছে: {count}", "room_name_limit_error_msg": "সর্বাধিক ৫০ অক্ষর লেখা যাবে", "colon_not_allowed": "কোলন দেওয়া যাবেনা", @@ -215,7 +214,6 @@ "info": "যে কোনো ফরম্যাটে সংবাদ বা জ্ঞান সম্প্রচার করুন—ভিডিও, পডকাস্ট, টেক্সট, ছবি বা PDF।", "channel_name": "আপনার চ্যানেলের নাম দিন", "channel_topic": "এটার বিবরণ লিখুন", - "name_required": "চ্যানেলের নাম আবশ্যক", "error_channel": "চ্যানেল তৈরি করতে ব্যর্থ হয়েছে" }, "profile": { @@ -338,12 +336,13 @@ "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} এর বেশি রুম শেয়ার করছেন" + "shared_room_number_more": "আপনি {name} এর সাথে {count} এর বেশি রুম শেয়ার করছেন", + "message_history": "বার্তার ইতিহাস", + "message_history_warning": "সতর্কতা: নতুন অংশগ্রহণকারীগন পূর্বের সকল বার্তা ইতিহাস দেখতে পাবেন।", + "report": "প্রতিবেদন" }, "room_info_sheet": { "this_room": "এই রুম", @@ -440,5 +439,9 @@ "send_more_files": "আরও ফাইল পাঠান", "close": "বন্ধ করুন", "files": "ফাইলগুলি" + }, + "create": { + "room_type_channel_name": "Channel", + "field_required": "এটি প্রয়োজনীয় ক্ষেত্র" } } diff --git a/src/assets/translations/bo.json b/src/assets/translations/bo.json index acbac19..cab7733 100644 --- a/src/assets/translations/bo.json +++ b/src/assets/translations/bo.json @@ -36,17 +36,15 @@ "download_chat": "ཁ་བརྡ་ཕབ་ལེན།", "read_only_room": "ལྟ་ཀློག་ཁོ་ན།", "direct_link": "ང་དང་ཐད་ཀར་ཁ་བརྡ་བྱེད་སའི་འབྲེལ་ཐག", - "make_public_warning": "ཉེན་བརྡ།: ཆ་འཕྲིན་གྱི་ལོ་རྒྱུས་ཡོངས་རྫོགས་འཛུལ་ཞུགས་པ་གསར་པ་ཚོས་མཐོང་ཐུབ།", "room_type": "ཁ་བརྡ་ཁང་གི་དབྱེ་བ།", "file_mode_info": "གླེང་མོལ་གྱི་མཐུད་ངོས་ཡིག་ཆ་བརྒྱུད་གཏོང་གི་རྣམ་པར་བསྒྱུར།", "room_type_default": "སྔར་ཡོད།", "file_mode": "ཡིག་ཆའི་རྣམ་པ།", "direct_link_desc": "བརྒྱུད་སྐུར་བྱེད་པར་གྲ་སྒྲིག་ཡིན། མི་ཞིག་གིས་འབྲེལ་ཐག་དེ་ཁ་འབྱེད་ཐེངས་རེར། ང་དང་ཐད་ཀར་གླེང་མོལ་བྱ་སའི་ཁ་བརྡ་ཁང་ཞིག་གི་སྒོ་འབྱེད་ངེས།", "copy_link": "འབྲེལ་ཐག་པར་བཤུས་རྒྱོབས།", - "make_public": "ཡོངས་ཁྱབ་བཟོས།", "message_retention_1_hour": "ཆུ་ཚོད་ ༡", - "message_retention_info": "དུས་ཡུན་འདིའི་ནང་དུ་བཏང་བའི་ཆ་འཕྲིན་ཁག་འབྲེལ་ཐག་བརྒྱུད་ནས་ཚང་མས་མཐོང་ཐུབ།", - "message_retention": "ཆ་འཕྲིན་གྱི་ལོ་རྒྱུས།", + "message_retention_info": "ཆ་འཕྲིན་ཁག་དུས་ཡུན་ག་ཚོད་རིང་ཉར་དགོས་མིན་ཚད་བཀག་བཟོས།", + "message_retention": "ཁ་བརྡའི་ཟིན་ཐོ་ཚད་བཀག་བཟོས།", "message_retention_none": "སྒོ་རྒྱོབ།", "message_retention_4_week": "གཟའ་འཁོར་༤", "message_retention_2_week": "གཟའ་འཁོར་༢", @@ -55,7 +53,14 @@ "message_retention_8_hours": "ཆུ་ཚོད་༨", "shared_room_number": "ཁྱེད་ཀྱིས་{name}་དང་མཉམ་དུ་ཁ་བརྡ་ཁང་ {count}་མཉམ་སྤྱོད་བྱེད་ཀྱི་འདུག", "shared_room_number_more": "ཁྱེད་ཀྱིས་{name}་དང་མཉམ་དུ་ཁ་བརྡ་ཁང་ {count}་ལས་མང་བ་མཉམ་སྤྱོད་བྱེད་ཀྱི་འདུག", - "moderation": "དོ་དམ།" + "moderation": "དོ་དམ།", + "message_history": "ཆ་འཕྲིན་གྱི་ལོ་རྒྱུས།", + "message_history_warning": "ཉེན་བརྡ།: ཆ་འཕྲིན་གྱི་ལོ་རྒྱུས་ཡོངས་རྫོགས་འཛུལ་ཞུགས་པ་གསར་པ་ཚོས་མཐོང་ཐུབ།", + "report_reason": "རྒྱུ་མཚན།", + "message_history_info": "ཚོགས་མི་གསར་པ་ཚོར་ཚོགས་པའི་ནང་མ་ཞུགས་པའི་སྔོན་དུ་བཏང་ཡོད་པའི་ཆ་འཕྲིན་ཁག་མཐོང་དུ་བཅུག", + "limit_history_info": "{period}་རིང་ལ་ཆ་འཕྲིན་ཁག་ཉར།", + "report_info": "ཁྲིམས་འགལ་དང་ལོག་སྤྱོད། ཡང་ན་གནོད་འཚེ་ཅན་གྱི་ནང་དོན་ལྡན་པའི་ཚོགས་པ་འདི་ཞབས་ཞུའི་དོ་དམ་པར་སྙན་སེང་ཞུས།", + "report": "སྙན་སེང་ཞུས།" }, "invite": { "done": "ལེགས་འགྲུབ།", @@ -88,8 +93,7 @@ }, "new_room": { "next": "རྗེས་མ།", - "status_avatar": "མགོ་པར་ཡར་འཇུག་བྱེད་བཞིན་པ།: {count}", - "status_avatar_total": "མགོ་པར་ཡར་འཇུག་བྱེད་བཞིན་པ། {total} ཡི་{count}", + "status_avatar": "མགོ་པར་ཡར་འཇུག་བྱེད་བཞིན་པ།", "status_creating": "ཁ་བརྡ་ཁང་བཟོ་བཞིན་པ།", "invite_description": "ཐོ་ཁོངས་ID བརྒྱུད་ནས། འཚོལ་བཤེར་རམ་ཐོ་གཞུང་གི་ཁོངས་ནས་འདེམས།", "invite_info": "ཁ་སྣོན་བྱས་པའི་མི་རྣམས་ཁོ་ན།", @@ -103,11 +107,12 @@ "join_permissions": "ནང་འཛུལ་གྱི་ཆོག་མཆན་ཁག", "new_room": "ཁ་བརྡ་ཁང་གསར་པ།", "name_room": "ཁ་བརྡ་ཁང་གི་མིང་།", - "room_topic": "གལ་ཏེ་འདོད་པ་ཡོད་ན། ཚོགས་པའི་སྐོར་གྱི་འགྲེལ་བཤད་ཐུང་ངུ་ཞིག་འབྲི་ཆོག", + "room_topic": "ཁྱེད་ལ་འདོད་པ་ཡོད་ན། ཚོགས་པའི་སྐོར་གྱི་འགྲེལ་བཤད་ཅིག་འབྲི་ཆོག", "create": "བཟོས།", "colon_not_allowed": ": རྟགས་འདི་བཀོལ་མི་ཆོག", "options": "གདམ་ག", - "room_name_limit_error_msg": "ཡིག་འབྲུ་གྲངས་༥༠ ལས་བརྒལ་མི་ཆོག" + "room_name_limit_error_msg": "ཡིག་འབྲུ་གྲངས་༥༠ ལས་བརྒལ་མི་ཆོག", + "title": "ཚོགས་པའི་གླེང་མོལ་གསར་པ།" }, "menu": { "logout": "ཕྱིར་ཐོན།", @@ -132,7 +137,9 @@ "user_revoke_moderator": "གཙོ་སྐྱོང་བའི་དབང་ཚད་མེད་པར་བཟོས།", "delete_now": "བསུབ་རོགས།", "direct_chat": "ཐད་ཀར་གླེང་མོལ།", - "user_kick_and_ban": "སྒོར་ཕུད།" + "user_kick_and_ban": "སྒོར་ཕུད།", + "pin": "སྤེལ་གཏམ་རྩེ་རུ་ཞོག", + "unpin": "རྩེ་རུ་བཞག་པའི་སྤེལ་གཏམ་ཕྱིར་འཐེན།" }, "profile": { "change_password": "གསང་ཚིག་རྗེས།", @@ -181,7 +188,7 @@ "room_list_rooms": "ཁ་བརྡ་ཁང་།", "room_list_invites": "གདན་ཞུ་ཁག", "purge_failed": "ཁ་བརྡ་ཁང་བཤིག་ཐུབ་མ་སོང་།", - "purge_removing_members": "ཚོགས་མི་ཁག་ཕྱིར་འདོན། {total})་ཀྱི་({members}", + "purge_removing_members": "ཚོགས་མི་ཕྱིར་འབུད། ({total})་ཀྱི་{count} )", "purge_redacting_events": "ཁ་བརྡ་གཙང་གསུབ། {total})་ཀྱི་({count}", "purge_set_room_state": "ཁ་བརྡ་ཁང་གི་རྣམ་པ་སྒྲིག་འགོད།", "room_list_new_messages": "{count} ཆ་འཕྲིན་གསར་པ།", @@ -308,7 +315,9 @@ "enter_room_user": "ཁ་བརྡ་འགོ་རྩོམ།", "choose_name": "མིང་ཞིག་འདེམས་ཏེ་བཀོལ།", "title_user": "དགའ་བསུ་ཞུ། ཁྱེད་རང་ཁ་བརྡ་བྱེད་པར་གདན་ཞུ་གནང་སོང་།", - "you_have_been_banned": "ཁྱེད་རང་ཚོགས་པ་འདིའི་ནང་ནས་བཀག་འདུག" + "you_have_been_banned": "ཁྱེད་རང་ཚོགས་པ་འདིའི་ནང་ནས་བཀག་འདུག", + "ua": "ཞབས་ཞུ་སྤྱོད་མཁན་གྱི་གྲོས་མཐུན།", + "accept_ua": "ང་ {agreement}་ལ་མོས་མཐུན་ཡོད།" }, "profile_info_popup": { "powered_by": "ཁ་བརྡ་ཁང་འདི་{product} ནུས་ཤུགས་བསྩལ་ཡོད། {productLink} ནས་དེ་ལས་མང་བ་སྦྱོང་ཆོག་ལ། མདུན་དུ་བསྐྱོད་དེ་ཁ་བརྡ་ཁང་གཞན་ཞིག་བསྐྲུན་ཆོག", @@ -318,7 +327,8 @@ "edit_profile": "སྒེར་གྱི་ཡིག་ཆ་བཅོས་སྒྲིག", "identity_temporary": "{displayName}", "identity": "{displayName}", - "you_are": "ཁྱེད་ནི།" + "you_are": "ཁྱེད་ནི།", + "review_ua": "ཞབས་ཞུ་སྤྱོད་མཁན་གྱི་གྲོས་མཐུན་བསྐྱར་ཞིབ།" }, "goodbye": { "view_other_rooms": "ཁ་བརྡ་ཁང་གཞན་དག་ལ་གཟིགས།", @@ -434,11 +444,30 @@ "different_link": "འབྲེལ་ཐག་གཞན་པ་ཞིག་རག་པར་བྱོས།" }, "createchannel": { - "error_channel": "བརྒྱུད་ལམ་བཟོ་ཐུབ་མ་སོང་།", - "name_required": "བརྒྱུད་ལམ་གྱི་མིང་ངེས་པར་དུ་དགོས།", - "title": "བརྒྱུད་ལམ་ཞིག་བཟོས།", + "error_channel": "རྒྱུ་ལམ་བཟོ་ཐུབ་མ་སོང་།", + "title": "རྒྱུ་ལམ་ཞིག་བཟོས།", "channel_topic": "དེར་འགྲེལ་བཤད་བྱོས།", - "channel_name": "རང་གི་བརྒྱུད་ལམ་ལ་མིང་ཞིག་ཐོགས།", - "info": "ཤེས་བྱ་དང་གསར་འགྱུར་ཅི་རིགས་བརྙན་དང་། གཏམ་བཤད་གྱི་ལེ་ཚན། དཔེ་དེབ། པར་རིས། PDF སོགས་ཀྱི་རྣམ་པའི་ཐོག་བརྒྱུད་གཏོང་བྱོས།" + "channel_name": "རང་གི་རྒྱུ་ལམ་ལ་མིང་ཞིག་ཐོགས།", + "info": "ཤེས་བྱ་དང་གསར་འགྱུར་ཅི་རིགས་བརྙན་དང་། གཏམ་བཤད་གྱི་ལེ་ཚན། དཔེ་དེབ། པར་རིས། PDF སོགས་ཀྱི་རྣམ་པའི་ཐོག་བརྒྱུད་གཏོང་བྱོས།", + "status_creating": "རྒྱུ་ལམ་གསར་བཟོ།", + "channel_topic_label": "དྲ་གྲོགས་ཚོ་རྒྱུ་ལམ་དུ་ཞུགས་སྐབས་ཁྱེད་ཀྱི་འགྲེལ་བཤད་དེ་མཐོང་གི་ཡོད།" + }, + "create": { + "title": "མྱོང་ཚོར་ཞིག་འདེམས།", + "room_type_filedrop_description": "ཡིག་ཆ་དང་ལམ་སྟོན་ལེན་པ།", + "field_required": "ཡིག་དུམ་འདི་ངེས་པར་དགོས།", + "topic_too_long": "ཡིག་འབྲུ500་ལས་བརྒལ་མི་ཆོག", + "room_type_room_name": "ཚོགས་པའི་ཁ་བརྡ།", + "room_type_channel_name": "རྒྱུ་ལམ།", + "room_type_channel_description": "གསར་འགྱུར་དང་བསམ་ཚུལ་བརྒྱུད་སྤེལ།", + "room_type_filedrop_name": "ཡིག་ཆ་འཇོག་སྒྲོམ།", + "room_type_room_description": "མི་ཁག་ཅིག་ལ་འབྲེལ་མཐུད་བྱོས།" + }, + "createfiledrop": { + "title": "ཡིག་ཆ་འཇོག་སྒྲོམ་ཞིག་བཟོས།", + "info": "ཡིག་ཆ་འཇོག་སྒྲོམ་ནི་མི་གང་རུང་གི་ཕྱོགས་ནས་ཡིག་ཆ་སྣ་ཚོགས་ལེན་ཆོག་སའི་བདེ་འཇགས་ཀྱི་བར་སྟོང་ཞིག་ཡིན།", + "filedrop_name": "ཁྱེད་ཀྱི་ཡིག་ཆ་འཇོག་སྒྲོམ་ལ་མིང་ཞིག་ཐོགས།", + "status_creating": "ཡིག་ཆ་འཇོག་སྒྲོམ་བཟོ་བཞིན་པ།", + "error_filedrop": "ཡིག་ཆ་འཇོག་སྒྲོམ་བཟོ་ཐུབ་མ་སོང་།" } } diff --git a/src/assets/translations/de.json b/src/assets/translations/de.json index 02c2e31..b748089 100644 --- a/src/assets/translations/de.json +++ b/src/assets/translations/de.json @@ -90,7 +90,8 @@ "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" + "reaction_count_more": "{reactionCount} mehr", + "failed_to_render": "Ereignis konnte nicht gerendert werden" }, "room": { "leave": "Verlassen", @@ -137,8 +138,7 @@ "invite_info": "Nur hinzugefügte Personen", "invite_description": "Wähle aus einer Liste oder suche nach der Konto-ID", "status_creating": "Erstellung des Raums", - "status_avatar_total": "Avatar wird hochgeladen: {count} von {total}", - "status_avatar": "Avatar wird hochgeladen: {count}", + "status_avatar": "Avatar wird hochgeladen", "new_room": "Neuer Raum", "create": "Erstellen", "next": "Nächste", @@ -146,7 +146,8 @@ "room_topic": "Füge eine Beschreibung hinzu, wenn du möchtest", "room_name_limit_error_msg": "Maximal 50 Zeichen erlaubt", "options": "Optionen", - "colon_not_allowed": "Doppelpunkt ist nicht erlaubt" + "colon_not_allowed": "Doppelpunkt ist nicht erlaubt", + "title": "Neuer Gruppen-Chat" }, "device_list": { "blocked": "Blockiert", @@ -283,21 +284,25 @@ "experimental_features": "Experimentelle Funktionen", "file_mode": "Dateimodus", "message_retention_4_week": "4 Wochen", - "make_public": "Öffentlich machen", "direct_link": "Mein Direktlink", "voice_mode": "Sprachmodus", "download_chat": "Chat herunterladen", - "message_retention": "Nachrichtenverlauf", + "message_retention": "History begrenzen", "message_retention_none": "Aus", "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.", + "message_retention_info": "Festlegen eines Zeitlimits für die Aufbewahrung von Nachrichten", "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}" + "shared_room_number_more": "Du teilst mehr als {count} Räume mit {name}", + "message_history": "Nachrichtenverlauf", + "message_history_warning": "Achtung: der komplette Nachrichtenverlauf wird für neue Teilnehmer sichtbar", + "limit_history_info": "Nachrichten aufbewahren für {period}", + "message_history_info": "Erlaube Personen, Nachrichten zu sehen, die vor ihrem Beitritt gesendet wurden", + "report": "Bericht", + "report_reason": "Grund" }, "room_info_sheet": { "this_room": "Dieser Raum", @@ -350,7 +355,9 @@ "view_results": "Ergebnisse ansehen", "answer_label_1": "Antwort*", "please_complete": "Bitte vervollständigen", - "tip_title": "PRO-TIPP" + "tip_title": "PRO-TIPP", + "results_shared": "Die Ergebnisse werden dem Raum mitgeteilt.", + "tip_text": "Die Mitglieder sehen die Umfrageergebnisse, nachdem sie geantwortet haben. Schließe die Umfrage, wenn du fertig bist, um die Ergebnisse für alle im Raum anzuzeigen." }, "export": { "fetched_n_of_total_events": "{count} von {total} Ereignissen geladen", @@ -413,7 +420,8 @@ }, "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" + "periodicSync_new_msg_reminder": "Du hast vielleicht neue Nachrichten", + "not_supported": "Die Benachrichtigung wird in Mobile noch nicht unterstützt" }, "getlink": { "next": "Weiter", @@ -429,14 +437,33 @@ "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", "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." + "info": "Neuigkeiten oder Wissen in jedem Format verbreiten — als Video, Podcast, Text, Bild oder PDF.", + "status_creating": "Kanal erstellen", + "channel_topic_label": "Deine Beschreibung wird angezeigt, wenn Personen deinem Kanal beitreten." }, "logout": { "confirm_text": "Bist du sicher, dass du dich abmelden möchtest?" + }, + "create": { + "room_type_channel_name": "Kanal", + "field_required": "Pflichtfeld", + "topic_too_long": "Maximal 500 Zeichen erlaubt", + "title": "Wähle eine Erfahrung", + "room_type_room_name": "Gruppen-Chat", + "room_type_room_description": "Verbinde eine Gruppe von Menschen", + "room_type_channel_description": "Nachrichten und Ideen verbreiten", + "room_type_filedrop_name": "Dateiablage", + "room_type_filedrop_description": "Erhalte Dateien und Tipps" + }, + "createfiledrop": { + "title": "Erstelle eine Dateiablage", + "info": "Dateiablagen sind ein sicherer Ort, um Dateien von jedermann zu erhalten.", + "filedrop_name": "Benenne deine Dateiablage", + "error_filedrop": "Dateiablage konnte nicht erstellt werden", + "status_creating": "Erstelle Dateiablage" } } diff --git a/src/assets/translations/en.json b/src/assets/translations/en.json index 2bf8494..8fe143d 100644 --- a/src/assets/translations/en.json +++ b/src/assets/translations/en.json @@ -150,11 +150,12 @@ "change": "Change" }, "new_room": { + "title": "New Group Chat", "new_room": "New Room", "create": "Create", "next": "Next", "name_room": "Room name", - "room_topic": "Add a description if you like", + "room_topic": "Add a description if you'd like", "join_permissions": "Join permissions", "set_join_permissions": "Set Join Permissions", "join_permissions_info": "These permissions determine how people can join the room and how easily others can be invited. They can be changed anytime.", @@ -166,8 +167,7 @@ "invite_info": "Only people added", "invite_description": "Choose from a list or search by account ID", "status_creating": "Creating room", - "status_avatar_total": "Uploading avatar: {count} of {total}", - "status_avatar": "Uploading avatar: {count}", + "status_avatar": "Uploading avatar", "room_name_limit_error_msg": "Maximum 50 characters allowed", "colon_not_allowed": "Colon is not allowed", "options": "Options" @@ -212,13 +212,32 @@ "share_qr": "Share QR", "qr_image_copied": "Image copied to clipboard" }, + "create": { + "title": "Choose an experience", + "room_type_room_name": "Group Chat", + "room_type_room_description": "Connect a group of people", + "room_type_channel_name": "Channel", + "room_type_channel_description": "Broadcast news and ideas", + "room_type_filedrop_name": "File Drop", + "room_type_filedrop_description": "Receive files and tips", + "field_required": "This field is required", + "topic_too_long": "Maximum 500 characters allowed" + }, "createchannel": { "title": "Create a Channel", "info": "Broadcast news or knowledge in any format—video, podcast, text, pictures or PDFs.", "channel_name": "Name your channel", "channel_topic": "Describe it", - "name_required": "Channel name is required", - "error_channel": "Failed to create channel" + "channel_topic_label": "Your description will be displayed when people join your channel.", + "error_channel": "Failed to create channel", + "status_creating": "Creating channel" + }, + "createfiledrop": { + "title": "Create a File Drop", + "info": "File drops are a safe space to receive files from anyone.", + "filedrop_name": "Name your file drop", + "error_filedrop": "Failed to create file drop", + "status_creating": "Creating file drop" }, "profile": { "title": "My Profile", @@ -246,7 +265,8 @@ "logout": "Logout", "want_more": "Want more?", "powered_by": "This room is powered by {product}. Learn more at {productLink} or go ahead and create another room!", - "new_room": "New room" + "new_room": "New room", + "review_ua": "Review the Service User Agreement" }, "join": { "title": "Welcome you have been invited to join", @@ -262,7 +282,9 @@ "status_joining": "Joining room...", "join_failed": "Failed to join room.", "choose_name": "Choose a name to use", - "you_have_been_banned": "You have been banned from this room." + "you_have_been_banned": "You have been banned from this room.", + "accept_ua": "I agree to the {agreement}", + "ua": "service user agreement" }, "invite": { "title": "Add Friends", @@ -331,8 +353,9 @@ "download_chat": "Download chat", "read_only_room": "Read Only", "read_only_room_info": "Only admins and moderators are allowed to send to the room.", - "message_retention": "Message History", - "message_retention_info": "Messages sent within this time frame are viewable by anyone with the link.", + "message_retention": "Limit History", + "message_retention_info": "Set a limit for how long to keep messages", + "limit_history_info": "Keep messages for {period}", "message_retention_none": "Off", "message_retention_4_week": "4 weeks", "message_retention_2_week": "2 weeks", @@ -340,12 +363,16 @@ "message_retention_1_day": "1 day", "message_retention_8_hours": "8 hours", "message_retention_1_hour": "1 Hour", - "make_public": "Make Public", - "make_public_warning": "warning: Full message history will be visible to new participants", "direct_link": "My Direct Link", "direct_link_desc": "It's ready to share! A new direct room will open each time someone opens the link.", "shared_room_number": "You share {count} rooms with {name}", - "shared_room_number_more": "You share more than {count} rooms with {name}" + "shared_room_number_more": "You share more than {count} rooms with {name}", + "message_history": "Message History", + "message_history_info": "Allow people to see messages sent before they joined", + "message_history_warning": "warning: Full message history will be visible to new participants", + "report": "Report", + "report_info": "Report this room to service administrators for illegal, abusive or otherwise harmful content", + "report_reason": "Reason" }, "room_info_sheet": { "this_room": "This room", diff --git a/src/assets/translations/es.json b/src/assets/translations/es.json index d9bcc77..9545bf2 100644 --- a/src/assets/translations/es.json +++ b/src/assets/translations/es.json @@ -28,7 +28,6 @@ "direct_link": "Mi enlace directo", "read_only_room": "Solo lectura", "voice_mode": "Por voz", - "make_public_warning": "Advertencia: El historial completo de mensajes será visible para los nuevos participantes", "room_type": "Genero de la sala", "experimental_features": "Funciones experimentales", "file_mode_info": "Cambia la interfaz del chat al modo \"soltar archivos\"", @@ -36,7 +35,6 @@ "file_mode": "Modo del archivo", "direct_link_desc": "¡Ya está listo para compartir! Se abrirá una nueva sala privada cada vez que alguien abra el enlace.", "download_chat": "Descargar el chat", - "make_public": "Hacer público", "voice_mode_info": "Cambia la interfaz del chat al modo \"escuchar y grabar\"", "export_room": "Exportar el chat", "message_retention_none": "Apagado", @@ -50,7 +48,11 @@ "shared_room_number_more": "Compartes más de {count} y salas con {name}", "message_retention": "Historial de mensajes", "message_retention_info": "Los mensajes enviados dentro de este plazo pueden ser vistos por cualquiera que tenga el enlace.", - "moderation": "Moderado" + "moderation": "Moderado", + "message_history_warning": "Advertencia: El historial completo de mensajes será visible para los nuevos participantes", + "message_history": "Historial de mensajes", + "report": "Informe", + "report_reason": "Razón" }, "purge_room": { "button": "Borrar", @@ -142,7 +144,6 @@ }, "new_room": { "status_avatar": "Subiendo avatar: {count}", - "status_avatar_total": "Subiendo Avatar: {count} de {total}", "status_creating": "Creando Sala", "invite_description": "Escoge de una lista o busca por ID de cuenta", "invite_info": "Solo personas agregadas", @@ -440,7 +441,10 @@ "info": "Difunde noticias o conocimientos en cualquier formato: vídeo, podcast, texto, imágenes o PDF.", "channel_name": "Nombre de tu canal", "channel_topic": "Descríbelo", - "name_required": "El nombre del canal es obligatorio", "error_channel": "Error al crear el canal" + }, + "create": { + "room_type_channel_name": "Canal", + "field_required": "Este campo es obligatorio" } } diff --git a/src/assets/translations/es_419.json b/src/assets/translations/es_419.json index 2180d92..050add6 100644 --- a/src/assets/translations/es_419.json +++ b/src/assets/translations/es_419.json @@ -186,7 +186,6 @@ "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", @@ -235,7 +234,6 @@ "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.", @@ -362,12 +360,12 @@ "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}" + "shared_room_number_more": "Compartes más de {count} salas con {name}", + "message_history": "Historial de Mensajes", + "message_history_warning": "advertencia: El historial de mensajes completo será visible para nueva(o)s participantes" }, "room_info_sheet": { "this_room": "Esta sala", diff --git a/src/assets/translations/es_CU.json b/src/assets/translations/es_CU.json index 6a3b41b..a96d7ce 100644 --- a/src/assets/translations/es_CU.json +++ b/src/assets/translations/es_CU.json @@ -138,11 +138,11 @@ "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}" + "shared_room_number_more": "Comparte más de{count}salas con {name}", + "message_history_warning": "Advertencia: el historial completo de mensajes será visible para los nuevos participantes.", + "message_history": "Historial de mensajes" }, "export": { "exported_date": "Exportado en {date}", @@ -260,7 +260,6 @@ "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", @@ -311,7 +310,6 @@ "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": { diff --git a/src/assets/translations/fa.json b/src/assets/translations/fa.json index 37d09c9..1daff5d 100644 --- a/src/assets/translations/fa.json +++ b/src/assets/translations/fa.json @@ -107,7 +107,6 @@ "invite_info": "فقط افرادی که اضافه شده‌اند", "invite_description": "از یک لیست انتخاب کنید یا با شناسه حساب جستجو کنید", "status_creating": "ایجاد اتاق", - "status_avatar_total": "در حال بارگذاری آواتار: {count} از {total}", "status_avatar": "در حال بارگذاری آواتار: {count}", "room_name_limit_error_msg": "حداکثر 50 کاراکتر مجاز است", "colon_not_allowed": "دو نقطه مجاز نیست", @@ -235,7 +234,6 @@ "info": "اخبار یا اطلاعات را در هر قالبی—ویدیو، پادکست، متن، تصاویر یا پی‌دی‌اف‌—پخش کنید.", "channel_name": "نام کانال خود را وارد کنید", "channel_topic": "آن را شرح دهید", - "name_required": "نام کانال الزامی است", "error_channel": "ایجاد کانال ناموفق بود" }, "profile": { @@ -351,12 +349,14 @@ "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} به اشتراک می‌گذارید" + "shared_room_number_more": "شما بیش از {count} اتاق با نام {name} به اشتراک می‌گذارید", + "message_history_warning": "هشدار: تاریخچه کامل پیام‌ها برای شرکت‌کنندگان جدید قابل مشاهده خواهد بود.", + "message_history": "تاریخچه پیام", + "report_reason": "دلیل", + "report": "گزارش" }, "room_info_sheet": { "this_room": "این اتاق", @@ -440,5 +440,10 @@ "blocked_message": "اعلان مسدود شده است. به تنظیمات دستگاه یا مرورگر خود بروید تا اطلاعیه ها را فعال کنید.", "not_supported": "اطلاعیه ها هنوز در موبایل پشتیبانی نمی‌شوند.", "periodicSync_new_msg_reminder": "ممکن است پیام‌های جدیدی داشته باشید" + }, + "create": { + "field_required": "این فیلد ضروری است", + "room_type_channel_name": "کانال", + "topic_too_long": "بیشینه ۵۰ نویسه مجاز است" } } diff --git a/src/assets/translations/fa_AF.json b/src/assets/translations/fa_AF.json index 7d7c9e3..2812153 100644 --- a/src/assets/translations/fa_AF.json +++ b/src/assets/translations/fa_AF.json @@ -115,7 +115,6 @@ "invite_info": "تنها مردمانی که اضافه شده اند", "invite_description": "از یک لیست انتخاب کنید یا با ID جستجو کنید", "status_creating": "ایجاد اطاق", - "status_avatar_total": "در حال اپلود آواتار: {count} از {total}", "status_avatar": "در حال اپلود آواتار: {count}", "room_name_limit_error_msg": "حداکثر 50 حرف و عدد مجاز است", "colon_not_allowed": "شارحه مجاز نیست", @@ -162,12 +161,12 @@ "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} به اشتراک می‌گذارید" + "shared_room_number_more": "شما بیش از {count} اطاق با نام {name} به اشتراک می‌گذارید", + "message_history": "تاریخچه پیغام", + "message_history_warning": "هشدار: تاریخچه کامل پیغام‌ها برای شرکت‌کنندگان جدید قابل مشاهده خواهد بود" }, "poll_create": { "create_poll_menu_option": "ایجاد نظرسنجی", @@ -311,7 +310,6 @@ "info": "اخبار یا دانش را در هر قالبی—ویدیو، پادکست، متن، تصاویر یا PDFs—پخش کنید.", "channel_name": "به کانال خود نام بدهید", "channel_topic": "آن را شرح دهید", - "name_required": "نام کانال لازمی است", "error_channel": "ایجاد کانال با شکست روبرو شد" }, "profile": { diff --git a/src/assets/translations/fi.json b/src/assets/translations/fi.json index 02ae77a..445ddef 100644 --- a/src/assets/translations/fi.json +++ b/src/assets/translations/fi.json @@ -65,10 +65,11 @@ "password_required": "Salasana vaaditaan", "create_room": "Rekisteröidy ja luo huone", "accept_terms": "Hyväksy", - "token_not_valid": "Virheellinen koodi" + "token_not_valid": "Virheellinen koodi", + "send_verification": "Lähetä vahvistussähköposti" }, "join": { - "title": "Tervetuloa huoneen {roomName}", + "title": "Tervetuloa, sinut on kutsuttu mukaan", "user_name_label": "Käyttäjätunnus", "joining_as": "Liityt jäsenenä:", "join": "Liity huoneeseen", @@ -175,7 +176,9 @@ "message_retention_8_hours": "8 tuntia", "message_retention_1_hour": "1 tunti", "read_only_room": "Lue Ainoastaan", - "moderation": "Moderointi" + "moderation": "Moderointi", + "report": "Raportoi", + "report_reason": "Syy" }, "power_level": { "restricted": "rajoitettu", @@ -196,7 +199,11 @@ }, "notify": "Ilmoitus", "show_less": "Näytä vähemmän", - "show_more": "Näytä lisää" + "show_more": "Näytä lisää", + "password_didnot_match": "Salasana ei täsmäänyt", + "password_hint": "Vähintään 12 merkkiä, jotka sisältävät vähintään yhden numeron, yhden ison ja yhden pienen kirjaimen", + "click_to_remove": "Napsauta poistaaksesi", + "add_reaction": "Lisää reaktio" }, "poll_create": { "create": "Julkaise", @@ -227,5 +234,13 @@ "sending_progress": "Lähetetään…", "close": "Sulje", "files": "Tiedostot" + }, + "project": { + "name": "Kokoonnu", + "tag_line": "Yhdistä vain" + }, + "create": { + "field_required": "Tämä kenttä on vaadittu", + "room_type_channel_name": "Kanava" } } diff --git a/src/assets/translations/fr.json b/src/assets/translations/fr.json index 4962f73..887f09b 100644 --- a/src/assets/translations/fr.json +++ b/src/assets/translations/fr.json @@ -100,7 +100,6 @@ "public_description": "Obtenir un lien à partager", "invite_info": "Seules les peronnes ajoutées", "invite_description": "Choisissez dans une liste ou recherchez par identifiant de compte", - "status_avatar_total": "Téléversement d’avatar : {count} sur {total}", "status_avatar": "Téléversement d’avatar : {count}", "new_room": "Nouveau salon", "create": "Créer", @@ -224,7 +223,9 @@ "message_retention_8_hours": "8 heures", "message_retention_1_hour": "1 heure", "read_only_room": "Lecture seule", - "moderation": "Modération" + "moderation": "Modération", + "report": "Signaler", + "report_reason": "Motif" }, "room_info_sheet": { "this_room": "Ce salon", @@ -293,5 +294,9 @@ "sending": "Envoi", "close": "Fermer", "files": "Fichier" + }, + "create": { + "room_type_channel_name": "Canal", + "field_required": "Ce champ est requis" } } diff --git a/src/assets/translations/ga.json b/src/assets/translations/ga.json index 3fcf946..468b490 100644 --- a/src/assets/translations/ga.json +++ b/src/assets/translations/ga.json @@ -119,7 +119,9 @@ "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" + "choose_name": "Roghnaigh ainm le húsáid", + "accept_ua": "Aontaím leis an {agreement}", + "ua": "comhaontú úsáideora seirbhíse" }, "invite": { "title": "Cuir Cairde", @@ -172,8 +174,6 @@ "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}", @@ -188,8 +188,15 @@ "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." + "message_retention": "Stair Teorainn", + "message_retention_info": "Socraigh teorainn maidir le cé chomh fada agus is féidir teachtaireachtaí a choinneáil", + "message_history": "Stair Teachtaireachtaí", + "message_history_warning": "rabhadh: Beidh stair iomlán teachtaireachtaí le feiceáil do rannpháirtithe", + "limit_history_info": "Coinnigh teachtaireachtaí ar feadh {period}", + "message_history_info": "Lig do dhaoine teachtaireachtaí a seoladh a fheiceáil sula ndeachaigh siad isteach ann", + "report": "Tuairisc", + "report_reason": "Cúis", + "report_info": "Tuairiscigh an seomra seo do riarthóirí seirbhíse maidir le hábhar mídhleathach, maslach nó díobhálach eile" }, "poll_create": { "answer_label_1": "Freagra*", @@ -299,7 +306,7 @@ "delete_now": "Scrios anois", "join": "Bí páirt", "pin": "Post bioráin", - "unpin": "Unpin post", + "unpin": "Díphionnáil an postáil", "ignore": "Neamhaird", "loading": "Á lódáil {appName}", "user_kick_and_ban": "Cuir amach", @@ -334,8 +341,7 @@ "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}", + "status_avatar": "Avatar íoslódáil", "room_name_limit_error_msg": "Uasmhéid 50 carachtar cead", "colon_not_allowed": "Ní cheadaítear colon", "options": "Roghanna", @@ -343,7 +349,8 @@ "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!" + "link_copied": "Nasc cóipeáilte!", + "title": "Comhrá Grúpa Nua" }, "device_list": { "blocked": "Blocáilte", @@ -368,8 +375,9 @@ "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ú" + "error_channel": "Theip ar chainéal a chruthú", + "status_creating": "Cainéal a chruthú", + "channel_topic_label": "Taispeánfar do chur síos nuair a théann daoine isteach i do chainéal." }, "profile": { "title": "Mo Phróifíl", @@ -397,7 +405,8 @@ "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!" + "powered_by": "Tá an seomra seo faoi thiomáint ag {product}. Foghlaim tuilleadh ag {productLink} nó téigh ar aghaidh agus cruthaigh seomra eile!", + "review_ua": "Athbhreithniú a dhéanamh ar an gComhaontú Úsáideoir Seirbhíse" }, "purge_room": { "button": "Scrios", @@ -442,5 +451,23 @@ "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}" + }, + "create": { + "room_type_channel_name": "Cainéal", + "title": "Roghnaigh taithí", + "room_type_room_name": "Comhrá Grúpa", + "room_type_room_description": "Ceangail grúpa daoine", + "room_type_channel_description": "Craoladh nuacht agus smaointe", + "room_type_filedrop_name": "Buail Comhad", + "room_type_filedrop_description": "Faigh comhaid agus leideanna", + "field_required": "Tá an réimse seo ag teastáil", + "topic_too_long": "500 carachtar ar a mhéad a cheadaítear" + }, + "createfiledrop": { + "title": "Cruthaigh Buail Comhad", + "info": "Is spás sábháilte iad titeann comhad chun comhaid a fháil ó aon duine.", + "error_filedrop": "Theip ar chruthú anuas comhaid", + "status_creating": "Titim comhaid a chruthú", + "filedrop_name": "Ainmnigh do chomhad anuas" } } diff --git a/src/assets/translations/it.json b/src/assets/translations/it.json index 3a4718e..abc3f35 100644 --- a/src/assets/translations/it.json +++ b/src/assets/translations/it.json @@ -98,7 +98,6 @@ "link_copied": "Collegamento copiato!", "invite_description": "Scegli da un elenco o cerca per identificativo di account", "status_creating": "Creazione della stanza", - "status_avatar_total": "Caricamento dell’avatar: {count} di {total}", "status_avatar": "Caricamento dell’avatar: {count}", "create": "Crea", "public_description": "Ottieni un collegamento da condividere", @@ -222,7 +221,9 @@ "read_only_room": "Sola lettura", "moderation": "Moderazione", "message_retention_1_week": "1 settimana", - "message_retention_2_week": "2 settimane" + "message_retention_2_week": "2 settimane", + "report": "Segnala", + "report_reason": "Motivo" }, "voice_recorder": { "failed_to_record": "Impossibile registrare l’audio", @@ -295,5 +296,9 @@ "getlink": { "next": "Prossimo", "continue": "Continua" + }, + "create": { + "room_type_channel_name": "Canale", + "field_required": "Questo campo è richiesto" } } diff --git a/src/assets/translations/ku.json b/src/assets/translations/ku.json index 11231de..6415e3b 100644 --- a/src/assets/translations/ku.json +++ b/src/assets/translations/ku.json @@ -171,7 +171,6 @@ "invite_info": "تەنیا کەسانی زێدەکراو", "invite_description": "لە لیستێک هەڵبژێرە یان بەپێی ناسنامەی ئەکاونت بگەڕێ", "status_creating": "دروستکردنی ژوور", - "status_avatar_total": "بارکردنی ئاڤاتار: {count} لە {total}", "status_avatar": "بارکردنی ئاڤاتار: {count}", "room_name_limit_error_msg": "ئەوپەڕی 50 کاراکتەر ڕێگە دراوە", "colon_not_allowed": "جووتخاڵ ڕێگە نەدراوە", @@ -222,7 +221,6 @@ "info": "هەواڵ یان زانیاری بە هەر فۆرماتێک — ڤیدیۆ، پۆدکاست، دەق، وێنە یان PDF.", "channel_name": "ناوێک لە کەناڵەکەت دابنێ", "channel_topic": "وەسفی بکە", - "name_required": "ناوی کەناڵ پێویستە", "error_channel": "کەناڵ دروست نەکرا" }, "profile": { @@ -340,12 +338,13 @@ "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}" + "shared_room_number_more": "زیاتر لە {count} ژوور هاوبەش دەکەیت لەگەڵ {name}", + "message_history_warning": "ئاگاداری: بەشداربووانی نوێ دەتوانن مێژووی تەواوی پەیامەکان ببینن", + "message_history": "مێژووی پەیام", + "report": "سکاڵا" }, "goodbye": { "room_deleted": "ژوورەکە سڕدرایەوە.", @@ -440,5 +439,8 @@ "send_more_files": "فایلی زیاتر بنێرە", "close": "داخستن", "files": "فایلەکان" + }, + "create": { + "room_type_channel_name": "کەناڵ" } } diff --git a/src/assets/translations/lo.json b/src/assets/translations/lo.json index 0b4f346..3294f82 100644 --- a/src/assets/translations/lo.json +++ b/src/assets/translations/lo.json @@ -217,12 +217,12 @@ "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}" + "shared_room_number_more": "ທ່ານໄດ້ແບ່ງປັນຫຼາຍກວ່າ {count} ຫ້ອງກັບ {name}", + "message_history": "ປະຫວັດການສົນທະນາ", + "message_history_warning": "ຄຳເຕືອນ: ຜູ້ເຂົ້າຮ່ວມໃໝ່ຈະສາມາດເບິ່ງປະຫວັດການສົນທະນາທັງໝົດໄດ້" }, "fallbacks": { "download_name": "ດາວໂຫຼດ", @@ -282,7 +282,6 @@ "invite_info": "ຄົນທີ່ຖືກເພີ່ມເຂົ້າເທົ່ານັ້ນ", "invite_description": "ເລືອກຈາກລາຍການ ຫຼື ຄົ້ນຫາໂດຍ ID ບັນຊີ", "status_creating": "ກຳລັງສ້າງຫ້ອງ", - "status_avatar_total": "ກຳລັງອັບໂຫຼດອາວະຕາ: {count} ຈາກ {total}", "status_avatar": "ກຳລັງອັບໂຫຼດອາວະຕາ: {count}", "room_name_limit_error_msg": "ອະນຸຍາດໃຫ້ໃຊ້ສູງສຸດ 50 ຕົວອັກສອນ", "colon_not_allowed": "ບໍ່ອະນຸຍາດໃຫ້ໃຊ້ໝາຍສອງຈ້ຳ", @@ -326,7 +325,6 @@ "info": "ເຜີຍແຜ່ຂ່າວສານ ຫຼື ຄວາມຮູ້ໃໝ່ໃນຮູບແບບອື່ນໆ— ວີດີໂອ, ພັອດແຄຊ, ຂໍ້ຄວາມ, ຮູບພາບ ຫຼື PDF.", "channel_name": "ໃສ່ຊື່ຊ່ອງຂອງທ່ານ", "channel_topic": "ອະທິບາຍມັນ", - "name_required": "ຕ້ອງມີຊື່ຊ່ອງ", "error_channel": "ການສ້າງຊ່ອງບໍ່ສຳເລັດ" }, "profile_info_popup": { diff --git a/src/assets/translations/my.json b/src/assets/translations/my.json index a63766b..640b55d 100644 --- a/src/assets/translations/my.json +++ b/src/assets/translations/my.json @@ -120,7 +120,6 @@ "qr_image_copied": "clipboard တွင် ကူးယူထားသော ရုပ်ပုံ" }, "createchannel": { - "name_required": "ချန်နယ်လ်အမည် လိုအပ်သည်", "error_channel": "ချန်နယ်လ်ဖန်တီး၍ မရပါ", "title": "ချန်နယ်လ်ဖွင့်ရန်", "info": "သတင်း သို့မဟုတ် အသိပညာများကို ပုံစံမျိုးစုံဖြင့် ထုတ်လွှင့်ပါ—ဗီဒီယို၊ ပေါ့တ်ကာစ်၊ စာသား၊ ရုပ်ပုံများ သို့မဟုတ် PDF ဖိုင်များ။", @@ -172,7 +171,6 @@ "message_retention_1_day": "1 ရက်", "message_retention_8_hours": "8 နာရီ", "message_retention_1_hour": "1 နာရီ", - "make_public": "အများမြင်ပြုလုပ်မည်", "copy_invite_link": "ဖိတ်ခေါ်လင့်ခ်ကို ကူးယူမည်", "copy_link": "လင့်ခ်ကို ကူးယူမည်", "link_copied": "လင့်ခ် ကူးပြီးပါပြီ", @@ -204,9 +202,11 @@ "message_retention_4_week": "4 ပတ်", "direct_link": "ကျွန်ုပ်၏ တိုက်ရိုက်လင့်ခ်", "direct_link_desc": "မျှဝေရန် အသင့်ဖြစ်ပါပြီ။ တစ်စုံတစ်ဦးက လင့်ခ်ကို ဖွင့်တိုင်း တိုက်ရိုက်အခန်းအသစ် ပွင့်ပါမည်။", - "make_public_warning": "သတိ- မက်ဆေ့ချ်မှတ်တမ်းအပြည့်အစုံကို ပါဝင်သူအသစ်များ မြင်နိုင်ပါမည်", "shared_room_number": "သင်သည် {name} နှင့် {count} ခန်းကို မျှဝေသည်", - "shared_room_number_more": "သင်သည် {name} နှင့် {count} ခန်းထက်ပို၍ မျှဝေသည်" + "shared_room_number_more": "သင်သည် {name} နှင့် {count} ခန်းထက်ပို၍ မျှဝေသည်", + "message_history": "မက်ဆေ့ချ်မှတ်တမ်း", + "message_history_warning": "သတိ- မက်ဆေ့ချ်မှတ်တမ်းအပြည့်အစုံကို ပါဝင်သူအသစ်များ မြင်နိုင်ပါမည်", + "report": "တိုင်ကြားမည်" }, "poll_create": { "failed": "စစ်တမ်း ဖန်တီး၍ မရပါ၊ နောက်မှ ထပ်မံကြိုးစားကြည့်ပါ။", @@ -311,7 +311,6 @@ "invite_info": "ထည့်ထားသူများသာ", "invite_description": "စာရင်းတစ်ခုမှ ရွေးမည် သို့မဟုတ် အကောင့်အိုင်ဒီဖြင့် ရှာမည်", "status_creating": "အခန်းဖန်တီးနေသည်", - "status_avatar_total": "ကိုယ်စားပြုရုပ်ပုံတင်ခြင်း- {total} တွင် {count}", "status_avatar": "ကိုယ်စားပြုရုပ်ပုံတင်ခြင်း- {count}", "room_name_limit_error_msg": "အများဆုံးစာလုံးရေ 50 ခွင့်ပြုထားသည်", "colon_not_allowed": "ကော်လံသုံး၍ မရပါ", diff --git a/src/assets/translations/nb_NO.json b/src/assets/translations/nb_NO.json index f734c0e..840313b 100644 --- a/src/assets/translations/nb_NO.json +++ b/src/assets/translations/nb_NO.json @@ -81,7 +81,9 @@ "message_retention_1_day": "1 dag", "message_retention_8_hours": "åtte timer", "message_retention_1_hour": "Én time", - "read_only_room": "Skrivebeskyttet" + "read_only_room": "Skrivebeskyttet", + "report": "Rapporter", + "report_reason": "Grunn" }, "goodbye": { "view_other_rooms": "Vis andre rom", @@ -226,5 +228,9 @@ "getlink": { "next": "Neste", "continue": "Fortsett" + }, + "create": { + "room_type_channel_name": "Kanal", + "field_required": "Dette feltet er obligatorisk" } } diff --git a/src/assets/translations/ps.json b/src/assets/translations/ps.json index 968dd08..5a44407 100644 --- a/src/assets/translations/ps.json +++ b/src/assets/translations/ps.json @@ -125,7 +125,6 @@ "invite_info": "یوازې اضافه شوي خلک", "invite_description": "له یوه لیست څخه یې وټاکئ یا هم د ګڼون د ID له مخې یې وپلټئ", "status_creating": "د خونې رامنځته کول", - "status_avatar_total": "اواتار اپلوډ کوي: {count} له {total} څخه", "status_avatar": "اواتار اپلوډ کوي: {count}", "room_name_limit_error_msg": "تر زیاتې کچې پورې 50 تورو ته اجازه شته", "colon_not_allowed": "شارحې ته اجازه نشته" @@ -287,7 +286,6 @@ "info": "خبرونه یا پوهه په هر فارمټ - ویډیو، پاډکسټ، متن، انځورونه یا PDFs کې خپاره کړئ.", "channel_name": "خپل چاینل ته نوم ورکړئ", "channel_topic": "توضیح یې کړئ", - "name_required": "د چاینل نوم اړین ده", "error_channel": "د چاینل جوړول تر سره نه شو" }, "profile_info_popup": { @@ -392,12 +390,12 @@ "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} زیاتې خونې شریکې کړي دي" + "shared_room_number_more": "تاسې له {name} سره له {count} زیاتې خونې شریکې کړي دي", + "message_history": "د پیغام تاریخچه", + "message_history_warning": "خبرداری: د پیغام بشپړه تاریخچه به نویو ګډونوالو ته د لیدلو وړ وي" }, "room_info_sheet": { "this_room": "دغه خونه", diff --git a/src/assets/translations/pt_BR.json b/src/assets/translations/pt_BR.json index 90a54f6..c87b03f 100644 --- a/src/assets/translations/pt_BR.json +++ b/src/assets/translations/pt_BR.json @@ -179,11 +179,11 @@ "invite_info": "Apenas pessoas que foram adicionadas", "invite_description": "Escolha numa lista ou busque pelo ID da conta", "status_creating": "Criando a sala", - "status_avatar_total": "Enviando o avatar: {count} de {total}", - "status_avatar": "Enviando avatar: {count}", + "status_avatar": "Enviando avatar", "room_name_limit_error_msg": "O máximo de 50 caracteres são permitidos", "colon_not_allowed": "Dois pontos não são permitidos", - "options": "Opções" + "options": "Opções", + "title": "Novo bate-papo em grupo" }, "device_list": { "blocked": "Bloqueado", @@ -238,7 +238,8 @@ "logout": "Sair", "want_more": "Quer mais?", "powered_by": "Esta sala é oferecida por {product}. Saiba mais em {productLink} ou vá em frente e crie outra sala!", - "new_room": "Nova sala" + "new_room": "Nova sala", + "review_ua": "Analise o contrato de uso do serviço" }, "join": { "title": "Bem-vindo, você foi convidado a participar", @@ -254,7 +255,9 @@ "status_joining": "Entrando na sala...", "join_failed": "Houve uma falha ao entrar na sala.", "choose_name": "Escolha um nome para usar", - "you_have_been_banned": "Você foi banido desta sala." + "you_have_been_banned": "Você foi banido desta sala.", + "accept_ua": "Eu concordo com o {agreement}", + "ua": "contrato de serviço do usuário" }, "leave": { "title_public": "Adeus, {user}", @@ -311,10 +314,8 @@ "download_chat": "Baixar o chat", "read_only_room_info": "Apenas os administradores e os moderadores podem postar na sala.", "copy_link": "Copiar o link", - "make_public": "Tornar público", "room_type": "Tipo de sala", "file_mode_info": "Alterna a interface de bate-papo para um modo de 'baixa de arquivo'", - "make_public_warning": "aviso: o histórico completo das mensagens ficará visível para os novos participantes", "room_type_default": "Padrão", "file_mode": "Modo de arquivo", "direct_link": "Meu link direto", @@ -325,12 +326,19 @@ "message_retention_1_week": "1 semana", "message_retention_8_hours": "8 horas", "message_retention_1_hour": "1 hora", - "message_retention": "Histórico da mensagem", - "message_retention_info": "As mensagens enviadas dentro desse período podem ser visualizadas por qualquer pessoa que tenha o link.", + "message_retention": "Histórico de limites", + "message_retention_info": "Estipule um limite de tempo para manter as mensagens", "message_retention_4_week": "4 semanas", "shared_room_number": "Você compartilha {count} quartos com {name}", "shared_room_number_more": "Você compartilha mais de {count} quartos com {name}", - "moderation": "Moderação" + "moderation": "Moderação", + "message_history": "Histórico da mensagem", + "message_history_warning": "aviso: o histórico completo das mensagens ficará visível para os novos participantes", + "limit_history_info": "Manter as mensagens por {period}", + "message_history_info": "Permitir que as pessoas vejam as mensagens enviadas antes de se associarem", + "report": "Relatório", + "report_reason": "Motivo", + "report_info": "Denunciar esta sala aos administradores do serviço por conteúdo ilegal, abusivo ou prejudicial" }, "room_info_sheet": { "this_room": "Esta sala", @@ -437,10 +445,29 @@ }, "createchannel": { "channel_topic": "Descreva-o", - "name_required": "O nome do canal é obrigatório", "info": "Transmita notícias ou conhecimento em qualquer formato: vídeo, podcast, texto, imagens ou PDFs.", "error_channel": "Houve uma falha ao criar o canal", "title": "Criar um canal", - "channel_name": "Dê um nome ao seu canal" + "channel_name": "Dê um nome ao seu canal", + "channel_topic_label": "Sua descrição será exibida quando as pessoas entrarem no seu canal.", + "status_creating": "Criando canal" + }, + "create": { + "room_type_channel_name": "Canal", + "field_required": "Este campo é obrigatório", + "title": "Escolha uma experiência", + "room_type_room_name": "Bate-papo em grupo", + "room_type_room_description": "Conectar um grupo de pessoas", + "room_type_channel_description": "Transmitir notícias e ideias", + "room_type_filedrop_name": "Entregar arquivo", + "room_type_filedrop_description": "Receber arquivos e dicas", + "topic_too_long": "O limite é de 500 caracteres" + }, + "createfiledrop": { + "title": "Criar um file drop", + "info": "O File drops é um espaço seguro para receber arquivos de qualquer pessoa.", + "error_filedrop": "Houve uma falha ao criar o file drop", + "filedrop_name": "Nomeie o seu file drop", + "status_creating": "Criando um file drop" } } diff --git a/src/assets/translations/ro.json b/src/assets/translations/ro.json index 348ef91..5107acd 100644 --- a/src/assets/translations/ro.json +++ b/src/assets/translations/ro.json @@ -64,7 +64,9 @@ "message_retention_none": "Dezactivat", "message_retention_1_day": "1 zi", "message_retention_1_hour": "O oră", - "message_retention_8_hours": "8 ore" + "message_retention_8_hours": "8 ore", + "report": "Raportați", + "report_reason": "Motiv" }, "goodbye": { "view_other_rooms": "Vezi alte camere", @@ -155,7 +157,6 @@ }, "new_room": { "status_avatar": "Încărcarea avatarului: {count}", - "status_avatar_total": "Încărcarea avatarului: {count} din {total}", "status_creating": "Crearea camerei", "invite_description": "Alegeți dintr-o listă sau căutați după ID-ul contului", "invite_info": "Numai persoanele adăugate", @@ -285,5 +286,8 @@ "dialog": { "enable": "Activează" } + }, + "create": { + "room_type_channel_name": "Channel" } } diff --git a/src/assets/translations/ru.json b/src/assets/translations/ru.json index ea414b9..4fe9ce0 100644 --- a/src/assets/translations/ru.json +++ b/src/assets/translations/ru.json @@ -60,26 +60,28 @@ "download_chat": "Скачать чат", "read_only_room_info": "Отправлять сообщения в комнате могут только администраторы и модераторы.", "message_retention_4_week": "4 недели", - "make_public_warning": "предупреждение: Вся история сообщений будет доступна новым участникам", "shared_room_number": "Вы делите {count} комнат с {name}", "file_mode_info": "Переключает интерфейс чата в режим \"передачи файлов\"", - "make_public": "Сделать общедоступной", "direct_link_desc": "Она готова к обмену! Каждый раз, когда кто-то переходит по ссылке, будет открываться новая комната с личным чатом.", "version_info": "Разработчик: Guardian Project. Версия: {version}", "shared_room_number_more": "Вы делите более {count} комнат с {name}", - "experimental_features": "Экспериментальные возможности" + "experimental_features": "Экспериментальные возможности", + "message_history": "История сообщений", + "message_history_warning": "предупреждение: Вся история сообщений будет доступна новым участникам", + "report_reason": "Причина", + "report": "Сообщить об ошибке" }, "file_mode": { "sending": "Отправка", "sending_progress": "Отправка...", "close": "Закрыть", "files": "Файлы", - "files_sent": "Отправлен {count} файл! | Отправлены {count} файлов! | Отправлены {count} файлов!", + "files_sent": "Отправлен 1 файл! | Отправлены {count} файлов!", "any_file_format_accepted": "Принимаются файлы любого формата", "send_more_files": "Отправить больше файлов", "secure_file_send": "безопасная отправка файлов", "add_a_message": "Добавить сообщение", - "files_sent_with_note": "Отправлен {count} файл с примечанием! | Отправлены {count} файлов с примечанием! | Отправлены {count} файлов с примечанием!", + "files_sent_with_note": "Отправлен 1 файл с примечанием! | Отправлены {count} файлов с примечанием!", "choose_files": "Выбрать файлы" }, "global": { @@ -163,7 +165,7 @@ "time_ago": "Сегодня | Вчера | {count} дней назад | {count} дней назад", "not_allowed_to_send": "Только администраторы и модераторы могут отправлять сообщения в комнате", "reaction_count_more": "{reactionCount} больше", - "seen_by_count": "Не просмотрено | Просмотрено {count} участником | Просмотрено {count} участниками | Просмотрено {count} участниками", + "seen_by_count": "Не просмотрено | Просмотрено 1 участником | Просмотрено {count} участниками", "send_attachements_dialog_title": "Вы хотите отправить следующие вложения?", "failed_to_render": "Не удалось обработать событие" }, @@ -186,7 +188,6 @@ "invite_info": "Только добавленные участники", "invite_description": "Выберите из списка или выполните поиск по ID пользователя", "status_creating": "Создание комнаты", - "status_avatar_total": "Загрузка аватара: {count} из {total}", "status_avatar": "Загрузка аватара: {count}", "room_name_limit_error_msg": "Не более 50 символов" }, @@ -245,13 +246,13 @@ "room_list_invites": "Приглашения", "room_list_rooms": "Комнаты", "unseen_messages": "У вас нет непросмотренных сообщений | У вас {count} непросмотренное сообщение | У вас {count} непросмотренных сообщений | У вас {count} непросмотренных сообщений", - "members": "нет участников | {count} участник | {count} участников | {count} участников", + "members": "нет участников | 1 участник | {count} участников", "purge_set_room_state": "Установка статуса комнаты", "purge_removing_members": "Удаление участников ({count} из {total})", "purge_failed": "Не удалось очистить комнату!", "room_name_required": "Название комнаты обязательно", "room_topic_required": "Описание комнаты обязательно", - "invitations": "У вас нет приглашений | У вас {count} приглашение | У вас {count} приглашений | У вас {count} приглашений", + "invitations": "У вас нет приглашений | У вас 1 приглашение | У вас {count} приглашений", "purge_redacting_events": "Удаление сообщений ({count} из {total})", "room_list_new_messages": "{count} новых сообщений" }, @@ -431,7 +432,6 @@ "info": "Транслируйте новости или знания в любом формате – видео, подкаст, текст, картинки или PDF-файлы.", "channel_name": "Дайте название вашему каналу", "channel_topic": "Опишите его", - "name_required": "Имя канала обязательно", "error_channel": "Не удалось создать канал" }, "export": { @@ -440,5 +440,9 @@ "export_filename": "Экспортированный чат {date}", "processed_n_of_total_events": "Обработано {count} из {total} событий", "exported_date": "Экспортировано в {date}" + }, + "create": { + "room_type_channel_name": "Канал", + "field_required": "Поле обязательно" } } diff --git a/src/assets/translations/si.json b/src/assets/translations/si.json index 77299bb..f616684 100644 --- a/src/assets/translations/si.json +++ b/src/assets/translations/si.json @@ -38,7 +38,8 @@ "copy_link": "Copy link", "message_retention_none": "ඕෆ් කරන්න", "message_retention_1_day": "දවස් 1", - "members": "සාමාජිකයන්" + "members": "සාමාජිකයන්", + "report": "වාර්තා කරන්න" }, "leave": { "go_back": "Go back", @@ -119,5 +120,8 @@ }, "room_welcome": { "change": "වෙනස් කරන්න" + }, + "create": { + "room_type_channel_name": "නාලිකාව" } } diff --git a/src/assets/translations/tr.json b/src/assets/translations/tr.json index 69005ae..fb7f91e 100644 --- a/src/assets/translations/tr.json +++ b/src/assets/translations/tr.json @@ -223,7 +223,6 @@ "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", @@ -331,12 +330,14 @@ "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" + "message_history": "İleti Geçmişi", + "message_history_warning": "uyarı: Tüm ileti geçmişi yeni katılımcılara görünür olacaktır", + "report": "Rapor", + "report_reason": "Sebep" }, "room_info_sheet": { "view_details": "Ayrıntıları görüntüle", @@ -423,7 +424,6 @@ "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": { @@ -440,5 +440,9 @@ "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}" + }, + "create": { + "room_type_channel_name": "Kanal", + "field_required": "Bu alan gereklidir" } } diff --git a/src/assets/translations/ug.json b/src/assets/translations/ug.json index 7f3c373..bef5fb5 100644 --- a/src/assets/translations/ug.json +++ b/src/assets/translations/ug.json @@ -67,7 +67,6 @@ "new_room": { "link_copied": "ئۇلىنىش كۆچۈرۈلدى!", "status_avatar": "باش سۈرىتى يۈكلىنىۋاتىدۇ: {count}", - "status_avatar_total": "باش سۈرىتىنى يۈكلەش: {count} نىڭ {total}", "status_creating": "مۇنازىرە ئۆيى قۇرۇڭ", "invite_description": "تىزىملىكتىن تاللاڭ ياكى ھېسابات كىملىكى ئارقىلىق ئىزدەڭ", "invite_info": "پەقەت ئەزالارنى قوشۇش", @@ -167,7 +166,8 @@ "created_by": "{ئىشلەتكۈچى قۇرغان", "title": "ياتاق تەپسىلاتلىرى", "room_type_default": "كۆڭۈلدىكى", - "message_retention_none": "تاقاق" + "message_retention_none": "تاقاق", + "message_retention_8_hours": "8 سائەت" }, "goodbye": { "view_other_rooms": "باشقا ئۆيلەرنى كۆرۈڭ", @@ -230,7 +230,8 @@ }, "global": { "save": "ساقلاش", - "close": "ياپماق" + "close": "ياپماق", + "notify": "ئۇقتۇر" }, "emoji": { "categories": { diff --git a/src/assets/translations/zh_Hans.json b/src/assets/translations/zh_Hans.json index ad1cc82..801522b 100644 --- a/src/assets/translations/zh_Hans.json +++ b/src/assets/translations/zh_Hans.json @@ -36,14 +36,12 @@ "user_moderator": "版主", "experimental_features": "实验功能", "direct_link": "我的直接链接", - "make_public_warning": "警告:新参与者将可见完整的信息历史记录", "room_type": "聊天室种类", "file_mode_info": "将聊天界面切换到“文件投送”模式", "room_type_default": "默认", "file_mode": "文件模式", "direct_link_desc": "已准备好分享了! 每次有人打开链接时,会打开一个新的直接聊天室。", "copy_link": "复制链接", - "make_public": "公开", "message_retention_none": "关闭", "message_retention_1_day": "1 天", "message_retention_8_hours": "8 小时", @@ -51,11 +49,18 @@ "message_retention_2_week": "2周", "message_retention_1_week": "1周", "moderation": "调节面板", - "message_retention_info": "有链接的任何人都可以查看在此时间范围内发送的信息。", + "message_retention_info": "设置信息保留时长限制", "shared_room_number_more": "您与 {name} 共享 {count} 个以上的聊天室。", - "message_retention": "信息历史记录", + "message_retention": "限制历史记录", "shared_room_number": "您与 {name} 共享 {count} 个聊天室。", - "message_retention_4_week": "4 周" + "message_retention_4_week": "4 周", + "message_history": "信息历史记录", + "message_history_warning": "警告:新参与者将可见完整的信息历史记录", + "report": "报告", + "report_reason": "理由", + "limit_history_info": "保留信息 {period}", + "message_history_info": "允许用户查看他们加入群聊之前发送的信息", + "report_info": "向服务管理员举报此房间存在非法、辱骂或其他有害内容" }, "leave": { "leave": "离开", @@ -162,7 +167,7 @@ "not_allowed_to_send": "只允许管理员和版主发送到聊天室", "reaction_count_more": "{reactionCount} 更多", "images": "图片", - "send_attachements_dialog_title": "您想发送以下附件吗?", + "send_attachements_dialog_title": "您想要发送以下附件吗?", "preparing_to_upload": "准备上传...", "seen_by": "查看者", "seen_by_count": "没有被群成员看到 |已被 1 位成员查看 | 已被 {count} 位成员查看", @@ -198,7 +203,9 @@ "user_revoke_moderator": "撤销版主身份", "direct_chat": "私聊", "user_kick_and_ban": "退出", - "delete_now": "立即删除" + "delete_now": "立即删除", + "pin": "置顶帖", + "unpin": "取消置顶帖子" }, "power_level": { "restricted": "被限制", @@ -249,7 +256,9 @@ "join_user": "开始聊天", "enter_room_user": "开始聊天", "choose_name": "选择要使用的名称", - "you_have_been_banned": "您已被禁止进入该聊天室。" + "you_have_been_banned": "您已被禁止进入该聊天室。", + "accept_ua": "我同意 {agreement}", + "ua": "服务使用协议" }, "profile": { "display_name": "显示名称", @@ -270,8 +279,7 @@ "notification_label": "通知" }, "new_room": { - "status_avatar": "正在上传头像:{count}", - "status_avatar_total": "正在上传头像:{total}的 {count}", + "status_avatar": "正在上传头像", "status_creating": "创建聊天室", "invite_description": "从列表中选择或者按帐户 ID 搜索", "invite_info": "仅添加人员", @@ -286,11 +294,12 @@ "name_room": "聊天室名称", "next": "下一步", "new_room": "新的聊天室", - "room_topic": "如果您愿意,请添加说明", + "room_topic": "如果您愿意,请添加描述", "create": "创建", "colon_not_allowed": "冒号是不允许的", "options": "选项", - "room_name_limit_error_msg": "最多允许 50 个字符" + "room_name_limit_error_msg": "最多允许 50 个字符", + "title": "新群聊" }, "room_welcome": { "got_it": "知道了", @@ -318,7 +327,8 @@ "edit_profile": "编辑个人资料", "identity_temporary": "{displayName}", "identity": "{displayName}", - "you_are": "您是" + "you_are": "您是", + "review_ua": "查看服务用户协议" }, "goodbye": { "view_other_rooms": "查看其它聊天室", @@ -437,8 +447,27 @@ "title": "创建频道", "info": "以任何格式广播新闻或知识—视频、播客、文本、图片或 PDF。", "channel_topic": "描述一下", - "name_required": "频道名称必填", "channel_name": "命名您的频道", - "error_channel": "创建频道失败" + "error_channel": "创建频道失败", + "channel_topic_label": "当有人加入您的频道时,将显示您的描述。", + "status_creating": "创建频道" + }, + "create": { + "room_type_channel_name": "频道", + "field_required": "此项必填", + "room_type_room_description": "连接一群人", + "room_type_channel_description": "传播新闻和观点", + "room_type_filedrop_description": "接收文件和提示", + "topic_too_long": "最多允许 500 个字符", + "room_type_room_name": "群聊", + "title": "选择一种体验", + "room_type_filedrop_name": "文件投递" + }, + "createfiledrop": { + "title": "创建文件投递", + "info": "文件投递是接收来自任何人的文件的安全空间。", + "filedrop_name": "命名您的文件投递", + "error_filedrop": "无法创建文件投递", + "status_creating": "正在创建文件投递" } } diff --git a/src/components/Chat.vue b/src/components/Chat.vue index 76de6bc..46b6aba 100644 --- a/src/components/Chat.vue +++ b/src/components/Chat.vue @@ -30,6 +30,7 @@ v-on:remove-file="currentFileInputs.splice($event, 1)" v-on:reset="resetAttachments" :attachments="currentFileInputs" + v-on:close="closeFileMode" />
{ + this.sendingAttachments = []; this.currentFileInputs = null; this.attachmentCaption = undefined; this.sendingStatus = this.sendStatuses.INITIAL; @@ -1965,7 +1966,7 @@ export default { 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")); + let visibleEventIds = (util.findVisibleElements(this.chatContainer) || []).filter(el => el.hasAttribute("eventId")).map(el => el.getAttribute("eventId")); eventsToConsider = this.events.filter(e => { if (e.getTs() > lastTimestamp && @@ -2113,6 +2114,14 @@ export default { } } } + }, + + closeFileMode() { + this.resetAttachments(); + this.$matrix.leaveRoomAndNavigate(this.room.roomId) + .catch((err) => { + console.log("Error leaving", err); + }); } }, }; diff --git a/src/components/Create.vue b/src/components/Create.vue new file mode 100644 index 0000000..4c71e98 --- /dev/null +++ b/src/components/Create.vue @@ -0,0 +1,135 @@ + + + + + \ No newline at end of file diff --git a/src/components/CreateChannel.vue b/src/components/CreateChannel.vue index 4a42063..dd24da6 100644 --- a/src/components/CreateChannel.vue +++ b/src/components/CreateChannel.vue @@ -1,39 +1,46 @@ @@ -47,14 +54,19 @@ import util, { ROOM_TYPE_CHANNEL } from "../plugins/utils"; import YouAre from "../components/YouAre.vue"; import User from "../models/user"; import { CHANNEL_POWER_LEVELS } from "../services/matrix.service"; +import createRoomMixin from "./createRoomMixin"; +import CreateRoomAvatar from "./create/CreateRoomAvatar.vue"; export default { name: "CreateChannel", - mixins: [rememberMeMixin, logoMixin], - components: { InteractiveAuth, YouAre }, + mixins: [rememberMeMixin, logoMixin, createRoomMixin], + components: { InteractiveAuth, YouAre, CreateRoomAvatar }, data() { return this.defaultData(); }, + mounted() { + this.$store.commit("setCurrentRoomId", null); + }, computed: { loggedIn() { return this.$store.state.auth.status.loggedIn; @@ -63,53 +75,80 @@ export default { return this.$store.state.auth.user; }, }, - watch: { - }, methods: { defaultData() { return { - roomName: "", - roomTopic: "", - isValid: false, - loading: false, - message: null, currentLoginServer: "", loadingLoginFlows: false, loginFlows: null, showQRCopiedToast: false, - roomAvatar: null, - roomAvatarFile: null, }; }, - goHome() { - this.$navigation.push({ name: "Home" }, -1); - }, goToLoginPage() { - this.$navigation.push({ name: "Login", params: { showCreateRoomOption: false, redirect: "GetLink" } }, 1); + this.$navigation.push({ name: "Login", params: { showCreateRoomOption: false, redirect: "CreateChannel" } }, 1); }, - handleNext() { + preCreateRoom() { const prefix = this.$config.userIdPrefix; const user = new User(util.randomUser(prefix), util.randomPass(), false); - - // Reset errors - this.message = null; - this.loading = true; - const login = this.loggedIn ? Promise.resolve(this.currentUser) : this.loadLoginFlows().then(() => { return this.$store.dispatch("createUser", { user, registrationFlowHandler: this.$refs.interactiveAuth.registrationFlowHandler }) }); - login - .then( - (ignoreduser) => { - return this.createRoom(); - }) - .catch( - (ignorederror) => { - this.message = this.$t("createchannel.error_channel"); - }) - .finally(() => { - this.loading = false; - }) + return login; + }, + generateAliasForRoom() { + return true; + }, + getRoomCreationOptions() { + const createRoomOptions = { + visibility: "private", // Not listed! + name: this.roomName, + preset: "public_chat", + initial_state: + [ + { + type: "m.room.history_visibility", + state_key: "", + content: { + history_visibility: "shared" + } + }, + { + type: "m.room.retention", + state_key: "", + content: { + max_lifetime: 3600 * 24 * 7 * 1000 + } + } + ] + }; + if (this.roomTopic && this.roomTopic.length > 0) { + // Add topic + createRoomOptions.topic = this.roomTopic; + } + + createRoomOptions.creation_content = { + type: ROOM_TYPE_CHANNEL + } + + // Set power level event. Need to do that here, because we might not have the userId when the options object is created. + const powerLevels = {}; + powerLevels[this.$matrix.currentUserId] = 100; + let powerLevelContent = { + users: powerLevels, + events_default: 50, + state_default: 50, + events: CHANNEL_POWER_LEVELS + } + createRoomOptions.initial_state.push( + { + type: "m.room.power_levels", + state_key: "", + content: powerLevelContent + }); + return createRoomOptions; + }, + handleNext() { + this.createRoom(this.$t("createchannel.status_creating"), this.$t("createchannel.error_channel")); }, loadLoginFlows() { var user = Object.assign({}, this.user); @@ -138,138 +177,11 @@ export default { supportedLoginFlow(flow) { return ["m.login.password"].includes(flow.type); }, - createRoom() { - const createRoomOptions = { - visibility: "private", // Not listed! - name: this.roomName, - preset: "public_chat", - initial_state: - [ - // { - // type: "m.room.encryption", - // state_key: "", - // content: { - // algorithm: "m.megolm.v1.aes-sha2", - // }, - // }, - { - type: "m.room.history_visibility", - state_key: "", - content: { - history_visibility: "shared" - } - }, - { - type: "m.room.retention", - state_key: "", - content: { - max_lifetime: 3600 * 24 * 7 * 1000 - } - } - ] - }; - if (this.roomTopic && this.roomTopic.length > 0) { - // Add topic - createRoomOptions.topic = this.roomTopic; - } - - createRoomOptions.creation_content = { - type: ROOM_TYPE_CHANNEL - } - - let roomId = ""; - - return util - .getUniqueAliasForRoomName( - this.$matrix.matrixClient, - this.roomName, - this.$matrix.currentUserMXDomain - ) - .then((alias) => { - createRoomOptions.room_alias_name = alias; - }) - .then(() => { - - // Set power level event. Need to do that here, because we might not have the userId when the options object is created. - const powerLevels = {}; - powerLevels[this.$matrix.currentUserId] = 100; - let powerLevelContent = { - users: powerLevels, - events_default: 50, - state_default: 50, - events: CHANNEL_POWER_LEVELS - } - createRoomOptions.initial_state.push( - { - type: "m.room.power_levels", - state_key: "", - content: powerLevelContent - }); - - return this.$matrix.matrixClient - .createRoom(createRoomOptions) - .then(({ room_id, room_alias }) => { - roomId = room_alias || room_id; - if (!this.roomAvatarFile) { - return true; - } - const self = this; - return util.setRoomAvatar( - this.$matrix.matrixClient, - room_id, - this.roomAvatarFile, - (p) => { - if (p.total) { - self.status = this.$t("new_room.status_avatar_total", { - count: p.loaded || 0, - total: p.total, - }); - } else { - self.status = this.$t("new_room.status_avatar", { - count: p.loaded || 0, - }); - } - } - ); - }); - }) - .then(() => { - this.$navigation.push( - { - name: "Chat", - params: { roomId: util.sanitizeRoomId(roomId) }, - }, - -1 - ); - }) - }, - - /** - * Show picker to select room avatar file - */ - showAvatarPicker() { - this.$refs.avatar.click(); - }, - - /** - * Handle picked avatar - */ - handlePickedAvatar(event) { - if (event.target.files && event.target.files[0]) { - var reader = new FileReader(); - reader.onload = (e) => { - this.roomAvatar = e.target.result; - this.roomAvatarFile = event.target.files[0]; - }; - reader.readAsDataURL(event.target.files[0]); - } - }, - - }, }; \ No newline at end of file diff --git a/src/components/CreateFileDrop.vue b/src/components/CreateFileDrop.vue new file mode 100644 index 0000000..4185dbf --- /dev/null +++ b/src/components/CreateFileDrop.vue @@ -0,0 +1,195 @@ + + + + + \ No newline at end of file diff --git a/src/components/CreateRoom.vue b/src/components/CreateRoom.vue index 662a00b..d5031f9 100644 --- a/src/components/CreateRoom.vue +++ b/src/components/CreateRoom.vue @@ -1,112 +1,74 @@
- {{ $t("getlink.continue") }} + {{ $t("getlink.continue") }} {{ $t("getlink.different_link") }}
@@ -243,5 +248,6 @@ export default { \ No newline at end of file diff --git a/src/components/Home.vue b/src/components/Home.vue index 4a98061..1fcceb4 100644 --- a/src/components/Home.vue +++ b/src/components/Home.vue @@ -1,6 +1,9 @@