Merge remote-tracking branch 'weblate/main' into main
This commit is contained in:
commit
9ea53f4948
17 changed files with 861 additions and 270 deletions
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "keanuapp-weblite",
|
||||
"version": "0.1.13",
|
||||
"version": "0.1.14",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"serve": "vue-cli-service serve",
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "keanuapp-weblite",
|
||||
"version": "0.1.12",
|
||||
"version": "0.1.13",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"serve": "vue-cli-service serve",
|
||||
|
|
|
|||
35
src/App.vue
35
src/App.vue
|
|
@ -2,6 +2,28 @@
|
|||
<v-app>
|
||||
<v-main>
|
||||
<router-view />
|
||||
|
||||
<!-- Loading indicator -->
|
||||
<v-container
|
||||
fluid
|
||||
fill-height
|
||||
style="
|
||||
position: absolute;
|
||||
z-index: 20;
|
||||
background-color: rgba(255, 255, 255, 1);
|
||||
"
|
||||
v-if="loading"
|
||||
>
|
||||
<v-row align="center" justify="center">
|
||||
<v-col class="text-center">
|
||||
<v-progress-circular
|
||||
indeterminate
|
||||
color="primary"
|
||||
></v-progress-circular>
|
||||
<div>{{$t('menu.loading', {appName: appName})}}</div>
|
||||
</v-col>
|
||||
</v-row>
|
||||
</v-container>
|
||||
</v-main>
|
||||
</v-app>
|
||||
</template>
|
||||
|
|
@ -11,6 +33,11 @@ import config from "./assets/config";
|
|||
|
||||
export default {
|
||||
name: "App",
|
||||
data() {
|
||||
return {
|
||||
loading: true,
|
||||
};
|
||||
},
|
||||
beforeMount() {
|
||||
// Set language
|
||||
this.$i18n.locale = this.$store.state.language || "en";
|
||||
|
|
@ -32,13 +59,21 @@ export default {
|
|||
})
|
||||
.catch((error) => {
|
||||
console.log("Error creating client", error);
|
||||
})
|
||||
.finally(() => {
|
||||
this.loading = false;
|
||||
});
|
||||
} else {
|
||||
this.loading = false;
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
currentUser() {
|
||||
return this.$store.state.auth.user;
|
||||
},
|
||||
appName() {
|
||||
return config.appName;
|
||||
},
|
||||
title() {
|
||||
var title = this.$t(config.appName);
|
||||
if (this.$matrix.notificationCount > 0) {
|
||||
|
|
|
|||
|
|
@ -215,7 +215,7 @@ $admin-fg: white;
|
|||
}
|
||||
position: relative;
|
||||
.bubble {
|
||||
background-color: #eeeeee;
|
||||
background-color: #ededed;
|
||||
border-radius: 0px 10px 10px 10px;
|
||||
[dir="rtl"] & {
|
||||
border-radius: 10px 0px 10px 0px;
|
||||
|
|
@ -223,7 +223,7 @@ $admin-fg: white;
|
|||
padding: 8px;
|
||||
border-width: 1px !important;
|
||||
border-style: solid !important;
|
||||
border-color: #eeeeee !important;
|
||||
border-color: #ededed !important;
|
||||
display: inline-block;
|
||||
position: relative;
|
||||
max-width: 70%;
|
||||
|
|
@ -554,19 +554,19 @@ $admin-fg: white;
|
|||
|
||||
.quick-reaction-container {
|
||||
display: inline-block;
|
||||
position: absolute;
|
||||
top: -12px;
|
||||
left: 50px;
|
||||
position: relative;
|
||||
vertical-align: bottom;
|
||||
transform: translateX(-20px) translateX(-100%);
|
||||
top: 18px;
|
||||
z-index: 2;
|
||||
background-color: #000000;
|
||||
border: 2px solid white;
|
||||
background-color: #f7f7f7;
|
||||
border: 1px solid rgba(white, 0.9);
|
||||
border-radius: 13px;
|
||||
height: 26px;
|
||||
width: max-content;
|
||||
padding: 0px 6px;
|
||||
.messageOut & {
|
||||
left: unset;
|
||||
right: 50px;
|
||||
transform: translateX(20px) translateX(100%);
|
||||
}
|
||||
.quick-reaction {
|
||||
position: relative;
|
||||
|
|
@ -575,7 +575,7 @@ $admin-fg: white;
|
|||
padding: 1px;
|
||||
font-size: 10px;
|
||||
&:hover {
|
||||
border: 1px solid #888888;
|
||||
//border: 1px solid #888888;
|
||||
background-color: #e2e2e2;
|
||||
}
|
||||
.quick-reaction-count {
|
||||
|
|
@ -584,7 +584,7 @@ $admin-fg: white;
|
|||
}
|
||||
}
|
||||
.sent .quick-reaction-count {
|
||||
color: white;
|
||||
color: black;
|
||||
font-weight: 700;
|
||||
// background-color: palegreen;
|
||||
}
|
||||
|
|
@ -688,7 +688,7 @@ $admin-fg: white;
|
|||
}
|
||||
|
||||
.room-info {
|
||||
background-color: #e0e0e0;
|
||||
background-color: #e8e8e8;
|
||||
height: 100%;
|
||||
.chat-header {
|
||||
background-color: transparent;
|
||||
|
|
|
|||
|
|
@ -78,7 +78,8 @@ body { position:absolute; top:0; bottom:0; right:0; left:0; }
|
|||
color: white;
|
||||
border: none;
|
||||
border-radius: $chat-standard-padding / 2;
|
||||
height: $chat-standard-padding;
|
||||
height: $chat-standard-padding !important;
|
||||
min-height: $chat-standard-padding !important;
|
||||
margin-top: $chat-standard-padding-xs;
|
||||
margin-bottom: $chat-standard-padding-xs;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -69,7 +69,7 @@
|
|||
"download": "ཕབ་ལེན།",
|
||||
"delete": "སུབས།",
|
||||
"edit": "ཕྱོགས་སྒྲིག",
|
||||
"ok": "Ok",
|
||||
"ok": "OK",
|
||||
"send": "ཐོངས།",
|
||||
"back": "ཕྱིར་ལོག",
|
||||
"cancel": "ཕྱིར་འཐེན།",
|
||||
|
|
@ -184,7 +184,7 @@
|
|||
"create_account": "ཁ་བྱང་ཞིག་བཟོས།",
|
||||
"text_invite": "ཚོགས་པ་འདིར་ཟྭ་བརྒྱབ་འདུག དམིགས་བསལ་གྱི་ཆོག་མཆན་མེད་པར། ཁྱེད་རང་བསྐྱར་དུ་འཛུལ་མི་ཐུབ།",
|
||||
"title_invite": "ཁྱེད་རང་ཕྱིར་ཐོན་རྒྱུ་གཏན་འཁེལ་བ་ཡིན་ནམ།",
|
||||
"text_public_lastroom": "ཁྱེད་རང་ཚོགས་པ་འདིའི་ནང་དུ་བསྐྱར་དུ་འཛུལ་འདོད་ཚེ། ངོ་བོ་གསར་བ་ཞིག་གི་མིང་ཐོག་ནས་འཛུལ་ཆོག {user}་ཉར་བར། {action}",
|
||||
"text_public_lastroom": "ཁྱེད་རང་ཚོགས་པ་འདིའི་ནང་དུ་བསྐྱར་དུ་འཛུལ་འདོད་ཚེ། ངོ་བོ་གསར་བ་ཞིག་གི་མིང་ཐོག་ནས་འཛུལ་ཆོག {user}་ཉར་བར། {action}.",
|
||||
"text_public": "གལ་ཏེ་ཁྱེད་ཀྱིས་འབྲེལ་ཐག་དེ་ཧ་གོ་ཚེ། ག་དུས་ཡིན་ཡང་། ཁ་བརྡ་ཁང་དུ་འཛུལ་ཆོག",
|
||||
"title_public": "{user} ག་ལེེར་ཕེབས།"
|
||||
},
|
||||
|
|
|
|||
|
|
@ -1,217 +1,219 @@
|
|||
{
|
||||
"language_display_name": "English",
|
||||
"Keanu Weblite": "Keanu Weblite",
|
||||
"menu": {
|
||||
"start_private_chat": "Private chat with this user",
|
||||
"reply": "Reply",
|
||||
"edit": "Edit",
|
||||
"delete": "Delete",
|
||||
"download": "Download",
|
||||
"ok": "Ok",
|
||||
"cancel": "Cancel",
|
||||
"send": "Send",
|
||||
"back": "BACK",
|
||||
"login": "Login",
|
||||
"logout": "Logout",
|
||||
"new_room": "New Room",
|
||||
"undo": "Undo"
|
||||
},
|
||||
"message": {
|
||||
"you": "You",
|
||||
"user_created_room": "{user} created the room",
|
||||
"user_aliased_room": "{user} made the room alias {alias}",
|
||||
"user_changed_display_name": "{user} changed display name to {displayName}",
|
||||
"user_changed_avatar": "{user} changed the avatar",
|
||||
"user_changed_room_avatar": "{user} changed the room avatar",
|
||||
"user_encrypted_room": "{user} made the room encrypted",
|
||||
"user_was_invited": "{user} was invited to the chat...",
|
||||
"user_joined": "{user} joined the chat",
|
||||
"user_left": "{user} left the chat",
|
||||
"user_said": "{user} said:",
|
||||
"file_prefix": "File: ",
|
||||
"edited": "(edited)",
|
||||
"download_progress": "{percentage}% downloaded",
|
||||
"upload_progress": "Uploaded {count}",
|
||||
"upload_progress_with_total": "Uploaded {count} of {total}",
|
||||
"user_changed_room_history": "{user} made room history {type}",
|
||||
"room_history_world_readable": "readable by anyone",
|
||||
"room_history_shared": "readable to all members in the room",
|
||||
"room_history_invited": "readable to members from when they were invited",
|
||||
"room_history_joined": "readable to members from when they joined",
|
||||
"user_changed_join_rules": "{user} made the room {type}",
|
||||
"room_joinrule_invite": "invite only",
|
||||
"room_joinrule_public": "public",
|
||||
"user_changed_room_name": "{user} changed room name to {name}",
|
||||
"user_changed_room_topic": "{user} changed room topic to {topic}",
|
||||
"unread_messages": "Unread messages",
|
||||
"replying_to_event": "REPLYING TO EVENT: {message}",
|
||||
"your_message": "Your message...",
|
||||
"scale_image": "Scale image",
|
||||
"user_is_typing": "{user} is typing",
|
||||
"users_are_typing": "{count} members are typing",
|
||||
"room_powerlevel_change": "{user} changed powerlevel of {changes}",
|
||||
"user_powerlevel_change_from_to": "{user} from {powerOld} to {powerNew}",
|
||||
"user_changed_guest_access_closed": "{user} disallowed guests to join the room",
|
||||
"user_changed_guest_access_open": "{user} allowed guests to join the room"
|
||||
},
|
||||
"room": {
|
||||
"members": "no members | 1 member | {count} members",
|
||||
"leave": "Leave",
|
||||
"purge_set_room_state": "Setting room state",
|
||||
"purge_redacting_events": "Redacting events",
|
||||
"purge_removing_members": "Removing members",
|
||||
"purge_failed": "Failed to purge room!",
|
||||
"room_list_invites": "Invites",
|
||||
"room_list_rooms": "Rooms"
|
||||
},
|
||||
"room_welcome": {
|
||||
"info": "Welcome! Here are a few things to know about your room:",
|
||||
"encrypted": "Messages are end-to-end encrypted.",
|
||||
"room_history_is": "Room history is {type}.",
|
||||
"room_history_joined": "People can only see the messages sent after they join.",
|
||||
"join_public": "Anyone can join by opening this link: {link}.",
|
||||
"join_invite": "Only people you invite can join.",
|
||||
"info_permissions": "You can change ‘join permissions’ at any time in the room settings.",
|
||||
"got_it": "Got it"
|
||||
},
|
||||
"new_room": {
|
||||
"new_room": "New Room",
|
||||
"create": "Create",
|
||||
"next": "Next",
|
||||
"name_room": "Name group",
|
||||
"room_topic": "Add a description if you like",
|
||||
"join_permissions": "Join permissions",
|
||||
"set_join_permissions": "Set Join Permissions",
|
||||
"join_permissions_info": "These permissions determine how people can join the group and how easily others can be invited. They can be changed anytime.",
|
||||
"get_link": "Get link",
|
||||
"add_people": "Add people",
|
||||
"link_copied": "Link copied!",
|
||||
"public_info": "Anyone with a link",
|
||||
"public_description": "Get a link to share",
|
||||
"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}"
|
||||
},
|
||||
"device_list": {
|
||||
"title": "DEVICES",
|
||||
"blocked": "Blocked",
|
||||
"verified": "Verified",
|
||||
"not_verified": "Not verified"
|
||||
},
|
||||
"login": {
|
||||
"title": "Login",
|
||||
"username": "Username",
|
||||
"password": "Password",
|
||||
"username_required": "Username is required",
|
||||
"password_required": "Password is required",
|
||||
"login": "Login"
|
||||
},
|
||||
"profile": {
|
||||
"title": "My Profile",
|
||||
"temporary_identity": "This identity is temporary. Set a password to use it again",
|
||||
"set_password": "Set password",
|
||||
"change_name": "Change name",
|
||||
"change_password": "Change password",
|
||||
"select_language": "Language",
|
||||
"password_old": "Old password",
|
||||
"password_new": "New password",
|
||||
"password_repeat": "Repeat new password",
|
||||
"display_name": "Display name"
|
||||
},
|
||||
"profile_info_popup": {
|
||||
"you_are": "You are",
|
||||
"identity": "{displayName}",
|
||||
"identity_temporary": "{displayName}",
|
||||
"edit_profile": "Edit profile",
|
||||
"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"
|
||||
},
|
||||
"join": {
|
||||
"title": "Welcome to {roomName}",
|
||||
"user_name_label": "User name",
|
||||
"shared_computer": "Using a shared computer",
|
||||
"joining_as": "You are joining as:",
|
||||
"join": "Join room",
|
||||
"join_guest": "Join as guest",
|
||||
"status_logging_in": "Logging in...",
|
||||
"status_joining": "Joining room...",
|
||||
"join_failed": "Failed to join room."
|
||||
},
|
||||
"invite": {
|
||||
"title": "Add Friends",
|
||||
"done": "Done",
|
||||
"send_invites_to": "Send invites to",
|
||||
"status_inviting": "Inviting friend {index} of {count}",
|
||||
"status_error": "Failed to invite one or or more friends!"
|
||||
},
|
||||
"leave": {
|
||||
"title_public": "Goodbye, {user}",
|
||||
"text_public": "You can always join this room again if you know the link.",
|
||||
"text_public_lastroom": "If you want to join this group again, you can join under a new identity. To keep {user}, {action}.",
|
||||
"title_invite": "Are you sure you want to leave?",
|
||||
"text_invite": "This group is locked. You cannot rejoin without a special permission.",
|
||||
"create_account": "create an account",
|
||||
"go_back": "Go back",
|
||||
"leave": "Leave"
|
||||
},
|
||||
"purge_room": {
|
||||
"title": "Delete room?",
|
||||
"info": "All members and messages will be removed. This action cannot be undone.",
|
||||
"button": "Delete",
|
||||
"n_seconds": "{seconds} seconds",
|
||||
"self_destruct": "Room will self destruct in seconds.",
|
||||
"deleting": "Deleting room:",
|
||||
"notified": "We've notified members.",
|
||||
"room_deletion_notice": "Time to say goodbye! This room has been deleted by {user}. It will self destruct in seconds."
|
||||
},
|
||||
"goodbye": {
|
||||
"room_deleted": "Room deleted.",
|
||||
"close_tab": "Close browser tab",
|
||||
"view_other_rooms": "View other rooms"
|
||||
},
|
||||
"room_info": {
|
||||
"title": "Room Details",
|
||||
"created_by": "Created by {user}",
|
||||
"permissions": "Join Permissions",
|
||||
"join_invite": "Only People Added",
|
||||
"join_public": "Anyone with a link",
|
||||
"copy_link": "Copy invite link",
|
||||
"link_copied": "Link copied!",
|
||||
"purge": "Delete room",
|
||||
"members": "Members",
|
||||
"user": "{user}",
|
||||
"user_you": "{user} (you)",
|
||||
"hide_all": "Hide",
|
||||
"show_all": "Show all >",
|
||||
"leave_room": "Leave",
|
||||
"version_info": "Powered by Guardian Project. Version: {version}"
|
||||
},
|
||||
"room_info_sheet": {
|
||||
"this_room": "This group",
|
||||
"view_details": "View details"
|
||||
},
|
||||
"voice_recorder": {
|
||||
"swipe_to_cancel": "Swipe to cancel",
|
||||
"release_to_cancel": "Release to cancel",
|
||||
"failed_to_record": "Failed to record audio",
|
||||
"not_supported_title": "Not supported",
|
||||
"not_supported_text": "Unfortunately, this browser does not support audio recording."
|
||||
},
|
||||
"power_level": {
|
||||
"admin": "administrator",
|
||||
"moderator": "moderator",
|
||||
"default": "default",
|
||||
"custom": "custom ({level})",
|
||||
"restricted": "restricted"
|
||||
},
|
||||
"fallbacks": {
|
||||
"audio_file": "Audio file",
|
||||
"video_file": "Video file",
|
||||
"original_text": "<original text>",
|
||||
"download_name": "Download"
|
||||
}
|
||||
}
|
||||
"language_display_name": "English",
|
||||
"Keanu Weblite": "Keanu Weblite",
|
||||
"menu": {
|
||||
"start_private_chat": "Private chat with this user",
|
||||
"reply": "Reply",
|
||||
"edit": "Edit",
|
||||
"delete": "Delete",
|
||||
"download": "Download",
|
||||
"ok": "OK",
|
||||
"cancel": "Cancel",
|
||||
"send": "Send",
|
||||
"back": "BACK",
|
||||
"login": "Log in",
|
||||
"logout": "Log out",
|
||||
"new_room": "New Room",
|
||||
"undo": "Undo",
|
||||
"loading": "Loading {appName}"
|
||||
},
|
||||
"message": {
|
||||
"you": "You",
|
||||
"user_created_room": "{user} created the room",
|
||||
"user_aliased_room": "{user} made the room alias {alias}",
|
||||
"user_changed_display_name": "{user} changed display name to {displayName}",
|
||||
"user_changed_avatar": "{user} changed the avatar",
|
||||
"user_changed_room_avatar": "{user} changed the room avatar",
|
||||
"user_encrypted_room": "{user} made the room encrypted",
|
||||
"user_was_invited": "{user} was invited to the chat…",
|
||||
"user_joined": "{user} joined the chat",
|
||||
"user_left": "{user} left the chat",
|
||||
"user_said": "{user} said:",
|
||||
"file_prefix": "File: ",
|
||||
"edited": "(edited)",
|
||||
"download_progress": "{percentage}% downloaded",
|
||||
"upload_progress": "Uploaded {count}",
|
||||
"upload_progress_with_total": "Uploaded {count} of {total}",
|
||||
"user_changed_room_history": "{user} made room history {type}",
|
||||
"room_history_world_readable": "readable by anyone",
|
||||
"room_history_shared": "readable to all members in the room",
|
||||
"room_history_invited": "readable to members from when they were invited",
|
||||
"room_history_joined": "readable to members from when they joined",
|
||||
"user_changed_join_rules": "{user} made the room {type}",
|
||||
"room_joinrule_invite": "invite only",
|
||||
"room_joinrule_public": "public",
|
||||
"user_changed_room_name": "{user} changed room name to {name}",
|
||||
"user_changed_room_topic": "{user} changed room topic to {topic}",
|
||||
"unread_messages": "Unread messages",
|
||||
"replying_to_event": "REPLYING TO EVENT: {message}",
|
||||
"your_message": "Your message…",
|
||||
"scale_image": "Scale image",
|
||||
"user_is_typing": "{user} is typing",
|
||||
"users_are_typing": "{count} members are typing",
|
||||
"room_powerlevel_change": "{user} changed powerlevel of {changes}",
|
||||
"user_powerlevel_change_from_to": "{user} from {powerOld} to {powerNew}",
|
||||
"user_changed_guest_access_closed": "{user} disallowed guests to join the room",
|
||||
"user_changed_guest_access_open": "{user} allowed guests to join the room"
|
||||
},
|
||||
"room": {
|
||||
"members": "no members | 1 member | {count} members",
|
||||
"leave": "Leave",
|
||||
"purge_set_room_state": "Setting room state",
|
||||
"purge_redacting_events": "Redacting events",
|
||||
"purge_removing_members": "Removing members",
|
||||
"purge_failed": "Failed to purge room!",
|
||||
"room_list_invites": "Invites",
|
||||
"room_list_rooms": "Rooms"
|
||||
},
|
||||
"room_welcome": {
|
||||
"info": "Welcome! Here are a few things to know about your room:",
|
||||
"encrypted": "Messages are end-to-end encrypted.",
|
||||
"room_history_is": "Room history is {type}.",
|
||||
"room_history_joined": "People can only see the messages sent after they join.",
|
||||
"join_public": "Anyone can join by opening this link: {link}.",
|
||||
"join_invite": "Only people you invite can join.",
|
||||
"info_permissions": "You can change ‘join permissions’ at any time in the room settings.",
|
||||
"got_it": "Got it"
|
||||
},
|
||||
"new_room": {
|
||||
"new_room": "New Room",
|
||||
"create": "Create",
|
||||
"next": "Next",
|
||||
"name_room": "Name group",
|
||||
"room_topic": "Add a description if you like",
|
||||
"join_permissions": "Join permissions",
|
||||
"set_join_permissions": "Set Join Permissions",
|
||||
"join_permissions_info": "These permissions determine how people can join the group and how easily others can be invited. They can be changed anytime.",
|
||||
"get_link": "Get link",
|
||||
"add_people": "Add people",
|
||||
"link_copied": "Link copied!",
|
||||
"public_info": "Anyone with a link",
|
||||
"public_description": "Get a link to share",
|
||||
"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}"
|
||||
},
|
||||
"device_list": {
|
||||
"title": "Devices",
|
||||
"blocked": "Blocked",
|
||||
"verified": "Verified",
|
||||
"not_verified": "Not verified"
|
||||
},
|
||||
"login": {
|
||||
"title": "Login",
|
||||
"username": "Username",
|
||||
"password": "Password",
|
||||
"username_required": "Username is required",
|
||||
"password_required": "Password is required",
|
||||
"login": "Login"
|
||||
},
|
||||
"profile": {
|
||||
"title": "My Profile",
|
||||
"temporary_identity": "This identity is temporary. Set a password to use it again",
|
||||
"set_password": "Set password",
|
||||
"change_name": "Change name",
|
||||
"change_password": "Change password",
|
||||
"select_language": "Language",
|
||||
"password_old": "Old password",
|
||||
"password_new": "New password",
|
||||
"password_repeat": "Repeat new password",
|
||||
"display_name": "Display name"
|
||||
},
|
||||
"profile_info_popup": {
|
||||
"you_are": "You are",
|
||||
"identity": "{displayName}",
|
||||
"identity_temporary": "{displayName}",
|
||||
"edit_profile": "Edit profile",
|
||||
"logout": "Log out",
|
||||
"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"
|
||||
},
|
||||
"join": {
|
||||
"title": "Welcome to {roomName}",
|
||||
"user_name_label": "User name",
|
||||
"shared_computer": "Using a shared computer",
|
||||
"joining_as": "You are joining as:",
|
||||
"join": "Join room",
|
||||
"join_guest": "Join as guest",
|
||||
"status_logging_in": "Logging in…",
|
||||
"status_joining": "Joining room…",
|
||||
"join_failed": "Failed to join room."
|
||||
},
|
||||
"invite": {
|
||||
"title": "Add Friends",
|
||||
"done": "Done",
|
||||
"send_invites_to": "Send invites to",
|
||||
"status_inviting": "Inviting friend {index} of {count}",
|
||||
"status_error": "Failed to invite one or or more friends!"
|
||||
},
|
||||
"leave": {
|
||||
"title_public": "Goodbye, {user}",
|
||||
"text_public": "You can always join this room again if you know the link.",
|
||||
"text_public_lastroom": "If you want to join this group again, you can join under a new identity. To keep {user}, {action}.",
|
||||
"title_invite": "Are you sure you want to leave?",
|
||||
"text_invite": "This group is locked. You cannot rejoin without a special permission.",
|
||||
"create_account": "create an account",
|
||||
"go_back": "Go back",
|
||||
"leave": "Leave"
|
||||
},
|
||||
"purge_room": {
|
||||
"title": "Delete room?",
|
||||
"info": "All members and messages will be removed. This action cannot be undone.",
|
||||
"button": "Delete",
|
||||
"n_seconds": "{seconds} seconds",
|
||||
"self_destruct": "Room will self destruct in seconds.",
|
||||
"deleting": "Deleting room:",
|
||||
"notified": "We've notified members.",
|
||||
"room_deletion_notice": "Time to say goodbye! This room has been deleted by {user}. It will self destruct in seconds."
|
||||
},
|
||||
"goodbye": {
|
||||
"room_deleted": "Room deleted.",
|
||||
"close_tab": "Close browser tab",
|
||||
"view_other_rooms": "View other rooms"
|
||||
},
|
||||
"room_info": {
|
||||
"title": "Room Details",
|
||||
"created_by": "Created by {user}",
|
||||
"permissions": "Join Permissions",
|
||||
"join_invite": "Only People Added",
|
||||
"join_public": "Anyone with a link",
|
||||
"copy_link": "Copy invite link",
|
||||
"link_copied": "Link copied!",
|
||||
"purge": "Delete room",
|
||||
"members": "Members",
|
||||
"user": "{user}",
|
||||
"user_you": "{user} (you)",
|
||||
"hide_all": "Hide",
|
||||
"show_all": "Show all >",
|
||||
"leave_room": "Leave",
|
||||
"version_info": "Powered by Guardian Project. Version: {version}",
|
||||
"scan_code": "Scan to join the room"
|
||||
},
|
||||
"room_info_sheet": {
|
||||
"this_room": "This group",
|
||||
"view_details": "View details"
|
||||
},
|
||||
"voice_recorder": {
|
||||
"swipe_to_cancel": "Swipe to cancel",
|
||||
"release_to_cancel": "Release to cancel",
|
||||
"failed_to_record": "Failed to record audio",
|
||||
"not_supported_title": "Not supported",
|
||||
"not_supported_text": "Unfortunately, this browser does not support audio recording."
|
||||
},
|
||||
"power_level": {
|
||||
"admin": "administrator",
|
||||
"moderator": "moderator",
|
||||
"default": "default",
|
||||
"custom": "custom ({level})",
|
||||
"restricted": "restricted"
|
||||
},
|
||||
"fallbacks": {
|
||||
"audio_file": "Audio file",
|
||||
"video_file": "Video file",
|
||||
"original_text": "<original text>",
|
||||
"download_name": "Download"
|
||||
}
|
||||
}
|
||||
|
|
|
|||
150
src/assets/translations/nb_NO.json
Normal file
150
src/assets/translations/nb_NO.json
Normal file
|
|
@ -0,0 +1,150 @@
|
|||
{
|
||||
"message": {
|
||||
"user_changed_guest_access_open": "{user} tillot gjester å ta del i rommet",
|
||||
"user_powerlevel_change_from_to": "{user} fra {powerOld} til {powerNew}",
|
||||
"room_powerlevel_change": "{user} endret maktnivå for {changes}",
|
||||
"room_history_world_readable": "lesbart for hvem som helst",
|
||||
"room_history_shared": "lesbart for alle rommets medlemmer",
|
||||
"user_left": "{user} forlot sludringen",
|
||||
"user_joined": "{user} tok del i sludringen",
|
||||
"user_was_invited": "{user} ble invitert til sludringen …",
|
||||
"user_changed_room_avatar": "{user} endret romavataren",
|
||||
"user_encrypted_room": "{user} gjorde rommet kryptert",
|
||||
"user_changed_avatar": "{user} endret avataren",
|
||||
"user_changed_display_name": "{user} endret visningsnavn til {displayName}",
|
||||
"user_aliased_room": "{user} lagde et rom ved navn {alias}",
|
||||
"your_message": "Din melding …",
|
||||
"user_changed_room_topic": "{user} endret rom-emne til {topic}",
|
||||
"room_joinrule_public": "offentlig",
|
||||
"room_joinrule_invite": "kun ved invitasjon",
|
||||
"upload_progress_with_total": "Opplastet {count} av {total}",
|
||||
"upload_progress": "Opplastet {count}",
|
||||
"download_progress": "{percentage}% nedlastet",
|
||||
"edited": "(redigert)",
|
||||
"file_prefix": "Fil: ",
|
||||
"user_said": "{user} sa:",
|
||||
"user_created_room": "{user} opprettet rommet",
|
||||
"you": "Deg"
|
||||
},
|
||||
"device_list": {
|
||||
"title": "Enheter",
|
||||
"not_verified": "Ikke bekreftet",
|
||||
"verified": "Bekreftet",
|
||||
"blocked": "Blokkert"
|
||||
},
|
||||
"fallbacks": {
|
||||
"original_text": "<opprinnelig tekst>",
|
||||
"video_file": "Videofil",
|
||||
"audio_file": "Lydfil"
|
||||
},
|
||||
"power_level": {
|
||||
"restricted": "begrenset",
|
||||
"default": "forvalg",
|
||||
"moderator": "moderator",
|
||||
"admin": "administrator"
|
||||
},
|
||||
"voice_recorder": {
|
||||
"release_to_cancel": "Slipp for å avbryte"
|
||||
},
|
||||
"room_info_sheet": {
|
||||
"this_room": "Denne gruppen",
|
||||
"view_details": "Vis detaljer"
|
||||
},
|
||||
"room_info": {
|
||||
"hide_all": "Skjul",
|
||||
"members": "Medlemmer",
|
||||
"purge": "Slett rom",
|
||||
"link_copied": "Lenke kopiert.",
|
||||
"copy_link": "Kopier invitasjonslenke",
|
||||
"created_by": "Opprettet av {user}",
|
||||
"title": "Romdetaljer"
|
||||
},
|
||||
"goodbye": {
|
||||
"view_other_rooms": "Vis andre rom",
|
||||
"room_deleted": "Rom slettet."
|
||||
},
|
||||
"join": {
|
||||
"join": "Ta del i rom",
|
||||
"status_joining": "Tar del i rom…",
|
||||
"status_logging_in": "Logger inn …",
|
||||
"join_guest": "Ta del som gjest",
|
||||
"title": "Velkommen til {roomName}"
|
||||
},
|
||||
"profile_info_popup": {
|
||||
"identity_temporary": "{displayName}",
|
||||
"identity": "{displayName}",
|
||||
"logout": "Logg ut",
|
||||
"edit_profile": "Rediger profil",
|
||||
"you_are": "Du er"
|
||||
},
|
||||
"profile": {
|
||||
"password_new": "Nytt passord",
|
||||
"password_old": "Gammelt passord",
|
||||
"select_language": "Språk",
|
||||
"change_password": "Endre passord",
|
||||
"change_name": "Endre navn",
|
||||
"set_password": "Sett passord",
|
||||
"title": "Min profil",
|
||||
"display_name": "Visningsnavn",
|
||||
"password_repeat": "Gjenta nytt passord"
|
||||
},
|
||||
"login": {
|
||||
"password_required": "Passord kreves",
|
||||
"username_required": "Brukernavn kreves",
|
||||
"password": "Passord",
|
||||
"username": "Brukernavn"
|
||||
},
|
||||
"new_room": {
|
||||
"add_people": "Legg til folk",
|
||||
"link_copied": "Lenke kopiert.",
|
||||
"next": "Neste",
|
||||
"create": "Opprett",
|
||||
"new_room": "Nytt rom"
|
||||
},
|
||||
"room_welcome": {
|
||||
"room_history_is": "Romhistorikken er {type}.",
|
||||
"encrypted": "Meldinger er ende-til-ende -kryptert.",
|
||||
"got_it": "Skjønner",
|
||||
"join_invite": "Kun folk du inviterer kan ta del."
|
||||
},
|
||||
"room": {
|
||||
"room_list_rooms": "Rom",
|
||||
"room_list_invites": "Invitasjoner",
|
||||
"purge_set_room_state": "Setter romtilstand",
|
||||
"leave": "Forlat"
|
||||
},
|
||||
"purge_room": {
|
||||
"n_seconds": "{seconds} sekunder",
|
||||
"button": "Slett",
|
||||
"title": "Slett rom?"
|
||||
},
|
||||
"leave": {
|
||||
"go_back": "Gå tilbake",
|
||||
"create_account": "opprett en konto",
|
||||
"title_public": "Adjø, {user}"
|
||||
},
|
||||
"invite": {
|
||||
"status_inviting": "Inviterer venn {index} av {count}",
|
||||
"send_invites_to": "Send invitasjoner til",
|
||||
"done": "Ferdig",
|
||||
"title": "Legg til venner"
|
||||
},
|
||||
"menu": {
|
||||
"logout": "Logg ut",
|
||||
"back": "Tilbake",
|
||||
"loading": "Laster inn {appName}",
|
||||
"undo": "Angre",
|
||||
"new_room": "Nytt rom",
|
||||
"login": "Logg inn",
|
||||
"send": "Send",
|
||||
"ok": "OK",
|
||||
"cancel": "Avbryt",
|
||||
"download": "last ned",
|
||||
"delete": "Slett",
|
||||
"edit": "Rediger",
|
||||
"reply": "Svar",
|
||||
"start_private_chat": "Privat sludring med denne brukeren"
|
||||
},
|
||||
"Keanu Weblite": "Keanu Weblite",
|
||||
"language_display_name": "Engelsk"
|
||||
}
|
||||
219
src/assets/translations/ro.json
Normal file
219
src/assets/translations/ro.json
Normal file
|
|
@ -0,0 +1,219 @@
|
|||
{
|
||||
"menu": {
|
||||
"ok": "OK",
|
||||
"loading": "Se încarcă {appName}",
|
||||
"undo": "Anulează",
|
||||
"new_room": "Cameră nouă",
|
||||
"logout": "Ieșire",
|
||||
"login": "Autentificare",
|
||||
"back": "ÎNAPOI",
|
||||
"send": "Trimiteți",
|
||||
"cancel": "Anulează",
|
||||
"download": "Descărcați",
|
||||
"delete": "Ștergeți",
|
||||
"edit": "Editați",
|
||||
"reply": "Răspuns",
|
||||
"start_private_chat": "Chat privat cu acest utilizator"
|
||||
},
|
||||
"power_level": {
|
||||
"restricted": "restricționat",
|
||||
"custom": "personalizat ({nivel})",
|
||||
"default": "implicit",
|
||||
"moderator": "coordonator",
|
||||
"admin": "administrator"
|
||||
},
|
||||
"voice_recorder": {
|
||||
"not_supported_text": "Din păcate, acest browser nu acceptă înregistrarea audio.",
|
||||
"not_supported_title": "Nu se acceptă",
|
||||
"failed_to_record": "Nu a reușit să înregistreze audio",
|
||||
"release_to_cancel": "Eliberare pentru anulare",
|
||||
"swipe_to_cancel": "Glisați pentru a anula"
|
||||
},
|
||||
"room_info_sheet": {
|
||||
"view_details": "Vezi detalii",
|
||||
"this_room": "Acest grup"
|
||||
},
|
||||
"room_info": {
|
||||
"scan_code": "Scanare pentru a intra în cameră",
|
||||
"version_info": "Realizat de Guardian Project. Versiune: {version}",
|
||||
"leave_room": "Plecare",
|
||||
"show_all": "Arată tot >",
|
||||
"hide_all": "Ascundeți",
|
||||
"user_you": "{user} (tu)",
|
||||
"user": "{user}",
|
||||
"members": "Membri",
|
||||
"purge": "Ștergeți camera",
|
||||
"link_copied": "Link copiat!",
|
||||
"copy_link": "Copiați link-ul de invitație",
|
||||
"join_public": "Oricine are un link",
|
||||
"join_invite": "Numai persoane adăugate",
|
||||
"permissions": "Permisiuni de aderare",
|
||||
"created_by": "Creat de {user}",
|
||||
"title": "Detalii despre cameră"
|
||||
},
|
||||
"goodbye": {
|
||||
"view_other_rooms": "Vezi alte camere",
|
||||
"close_tab": "Închideți fila din browser",
|
||||
"room_deleted": "Cameră ștearsă."
|
||||
},
|
||||
"purge_room": {
|
||||
"room_deletion_notice": "E timpul să ne luăm rămas bun! Această cameră a fost ștearsă de {user}. Se va autodistruge în câteva secunde.",
|
||||
"notified": "Am notificat membrii.",
|
||||
"deleting": "Ștergerea camerei:",
|
||||
"self_destruct": "Camera se va autodistruge în câteva secunde.",
|
||||
"n_seconds": "{seconds} secunde",
|
||||
"button": "Ștergeți",
|
||||
"info": "Toți membrii și toate mesajele vor fi eliminate. Această acțiune nu poate fi anulată.",
|
||||
"title": "Ștergeți camera?"
|
||||
},
|
||||
"leave": {
|
||||
"leave": "Lăsați",
|
||||
"go_back": "Înapoi",
|
||||
"create_account": "creați un cont",
|
||||
"text_invite": "Acest grup este blocat. Nu vă puteți alătura fără o permisiune specială.",
|
||||
"title_invite": "Ești sigur că vrei să pleci?",
|
||||
"text_public_lastroom": "Dacă doriți să vă înscrieți din nou în acest grup, vă puteți înscrie sub o nouă identitate. Pentru a păstra {user}, {action}.",
|
||||
"text_public": "Puteți oricând să vă alăturați din nou acestei camere dacă știți link-ul.",
|
||||
"title_public": "La revedere, {user}"
|
||||
},
|
||||
"invite": {
|
||||
"status_error": "Nu ați reușit să invitați unul sau mai mulți prieteni!",
|
||||
"status_inviting": "Invitați prietenul {index} din {count}",
|
||||
"send_invites_to": "Trimiteți invitații la",
|
||||
"done": "Realizat",
|
||||
"title": "Adăugați prieteni"
|
||||
},
|
||||
"join": {
|
||||
"join_failed": "Nu a reușit să intre în cameră.",
|
||||
"status_joining": "Intrarea în cameră…",
|
||||
"status_logging_in": "Autentificare…",
|
||||
"join_guest": "Alăturați-vă ca invitat",
|
||||
"join": "Alăturați-vă camerei",
|
||||
"joining_as": "Vă înscrieți ca:",
|
||||
"shared_computer": "Utilizarea unui computer partajat",
|
||||
"user_name_label": "Numele utilizatorului",
|
||||
"title": "Bine ați venit la {roomName}"
|
||||
},
|
||||
"profile_info_popup": {
|
||||
"new_room": "+ Cameră nouă",
|
||||
"powered_by": "Această cameră este alimentată de {product}. Aflați mai multe la {productLink} sau mergeți mai departe și creați o altă cameră!",
|
||||
"want_more": "Vrei mai mult?",
|
||||
"logout": "Ieșire",
|
||||
"edit_profile": "Editați profilul",
|
||||
"identity_temporary": "{displayName}",
|
||||
"identity": "{displayName}",
|
||||
"you_are": "Tu ești"
|
||||
},
|
||||
"profile": {
|
||||
"display_name": "Afișați numele",
|
||||
"password_repeat": "Repetați noua parolă",
|
||||
"password_new": "Parolă nouă",
|
||||
"password_old": "Parolă veche",
|
||||
"select_language": "Limbă",
|
||||
"change_password": "Schimbați parola",
|
||||
"change_name": "Schimbă numele",
|
||||
"set_password": "Setați parola",
|
||||
"temporary_identity": "Această identitate este temporară. Setați o parolă pentru a o utiliza din nou",
|
||||
"title": "Profilul meu"
|
||||
},
|
||||
"login": {
|
||||
"login": "Autentificare",
|
||||
"password_required": "Parola este necesară",
|
||||
"username_required": "Numele de utilizator este necesar",
|
||||
"password": "Parola",
|
||||
"username": "Nume utilizator",
|
||||
"title": "Autentificare"
|
||||
},
|
||||
"device_list": {
|
||||
"not_verified": "Nu a fost verificat",
|
||||
"verified": "Verificat",
|
||||
"blocked": "Blocat",
|
||||
"title": "DISPOZITIVE"
|
||||
},
|
||||
"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",
|
||||
"public_description": "Obțineți un link pentru a partaja",
|
||||
"public_info": "Oricine are un link",
|
||||
"link_copied": "Link copiat!",
|
||||
"add_people": "Adăugați persoane",
|
||||
"get_link": "Obțineți link-ul",
|
||||
"join_permissions_info": "Aceste permisiuni determină modul în care persoanele se pot alătura grupului și cât de ușor pot fi invitate alte persoane. Acestea pot fi modificate oricând.",
|
||||
"set_join_permissions": "Setați permisiunile de asociere",
|
||||
"join_permissions": "Permisiuni de aderare",
|
||||
"room_topic": "Adăugați o descriere dacă doriți",
|
||||
"name_room": "Nume grup",
|
||||
"next": "Următorul",
|
||||
"create": "Creați",
|
||||
"new_room": "Cameră nouă"
|
||||
},
|
||||
"room_welcome": {
|
||||
"got_it": "L-am prins",
|
||||
"info_permissions": "Puteți modifica oricând \"permisiunile de alăturare\" în setările camerei.",
|
||||
"join_invite": "Numai persoanele pe care le invitați se pot înscrie.",
|
||||
"join_public": "Oricine se poate înscrie deschizând acest link: {link}.",
|
||||
"room_history_joined": "Oamenii pot vedea doar mesajele trimise după ce se înscriu.",
|
||||
"room_history_is": "Istoricul camerei este {type}.",
|
||||
"encrypted": "Mesajele sunt criptate de la un capăt la altul.",
|
||||
"info": "Bine ați venit! Iată câteva lucruri pe care trebuie să le știți despre camera dumneavoastră:"
|
||||
},
|
||||
"room": {
|
||||
"room_list_rooms": "Camere",
|
||||
"room_list_invites": "Invită",
|
||||
"purge_failed": "Nu a reușit să curețe camera!",
|
||||
"purge_removing_members": "Îndepărtarea membrilor",
|
||||
"purge_redacting_events": "Redactarea evenimentelor",
|
||||
"purge_set_room_state": "Setarea stării camerei",
|
||||
"leave": "Lăsați",
|
||||
"members": "fără membri | 1 membru | {count} membri"
|
||||
},
|
||||
"message": {
|
||||
"user_changed_guest_access_open": "{user} a permis oaspeților să intre în cameră",
|
||||
"user_changed_guest_access_closed": "{user} a interzis oaspeților să intre în cameră",
|
||||
"user_powerlevel_change_from_to": "{user} de la {powerOld} la {powerNew}",
|
||||
"room_powerlevel_change": "{user} a schimbat nivelul de putere al {changes}",
|
||||
"users_are_typing": "{count} membrii tastează",
|
||||
"user_is_typing": "{user} tastează",
|
||||
"scale_image": "Imagine la scară",
|
||||
"your_message": "Mesajul dumneavoastră…",
|
||||
"replying_to_event": "RĂSPUNS LA EVENIMENT: {message}",
|
||||
"unread_messages": "Mesaje necitite",
|
||||
"user_changed_room_topic": "{user} a schimbat subiectul camerei în {topic}",
|
||||
"user_changed_room_name": "{user} a schimbat numele camerei în {name}",
|
||||
"room_joinrule_public": "publică",
|
||||
"room_joinrule_invite": "numai pe bază de invitație",
|
||||
"user_changed_join_rules": "{user} a făcut camera {type}",
|
||||
"room_history_joined": "care pot fi citite de membri din momentul în care au aderat",
|
||||
"room_history_invited": "care pot fi citite de membri din momentul în care au fost invitați",
|
||||
"room_history_shared": "poate fi citit de toți membrii din cameră",
|
||||
"room_history_world_readable": "poate fi citit de oricine",
|
||||
"user_changed_room_history": "{user} a făcut istoricul camerei {type}",
|
||||
"upload_progress_with_total": "Ați încărcat {count} din {total}",
|
||||
"upload_progress": "Încărcat {count}",
|
||||
"download_progress": "{percentage}% descărcat",
|
||||
"edited": "(editat)",
|
||||
"file_prefix": "Fișier: ",
|
||||
"user_said": "{user} a spus:",
|
||||
"user_left": "{user} a părăsit chat-ul",
|
||||
"user_joined": "{user} s-a alăturat chat-ului",
|
||||
"user_was_invited": "{user} a fost invitat la chat…",
|
||||
"user_encrypted_room": "{user} a făcut camera criptată",
|
||||
"user_changed_room_avatar": "{user} a schimbat avatarul camerei",
|
||||
"user_changed_avatar": "{user} a schimbat avatarul",
|
||||
"user_changed_display_name": "{user} a schimbat numele de afișare în {displayName}",
|
||||
"user_aliased_room": "{user} a creat aliasul camerei {alias}",
|
||||
"user_created_room": "{user} a creat camera",
|
||||
"you": "Tu"
|
||||
},
|
||||
"Keanu Weblite": "Keanu Weblite",
|
||||
"language_display_name": "Engleză",
|
||||
"fallbacks": {
|
||||
"download_name": "Descărcați",
|
||||
"original_text": "<original text>",
|
||||
"video_file": "Fișier video",
|
||||
"audio_file": "Fișier audio"
|
||||
}
|
||||
}
|
||||
23
src/assets/translations/si.json
Normal file
23
src/assets/translations/si.json
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
{
|
||||
"menu": {
|
||||
"ok": "හරි",
|
||||
"download": "බාගන්න",
|
||||
"edit": "සංස්කරණය",
|
||||
"reply": "පිලිතුර",
|
||||
"start_private_chat": "මෙම පරිශීලක සමඟ පුද්ගලික සංවාදය",
|
||||
"undo": "පෙරසේ",
|
||||
"new_room": "නව කාමරය",
|
||||
"logout": "නික්මෙන්න",
|
||||
"login": "පිවිසෙන්න",
|
||||
"back": "ආපසු",
|
||||
"send": "යවන්න",
|
||||
"cancel": "අවලංගු කරන්න"
|
||||
},
|
||||
"language_display_name": "ඉංග්රීසි",
|
||||
"Keanu Weblite": "කීනු වෙබ්ලයිට්",
|
||||
"message": {
|
||||
"download_progress": "{percentage}% බාගත වී ඇත",
|
||||
"file_prefix": "ගොනුව: ",
|
||||
"you": "ඔබ"
|
||||
}
|
||||
}
|
||||
|
|
@ -7,24 +7,25 @@
|
|||
},
|
||||
"room_info": {
|
||||
"hide_all": "隐藏",
|
||||
"title": "信息",
|
||||
"title": "聊天室详情",
|
||||
"version_info": "由守护者计划提供支持.版本:{version}",
|
||||
"leave_room_info": "注意:此步骤无法撤消。 确保您要注销并永久删除聊天记录。",
|
||||
"leave_room": "离开群组",
|
||||
"leave_room": "离开",
|
||||
"view_profile": "查看",
|
||||
"identity_temporary": "您的身份 {displayName} 是临时的。 您可以更改您的姓名或设置密码来保留它。",
|
||||
"identity": "您以 {displayName} 的身份登录。",
|
||||
"my_profile": "我的简历",
|
||||
"show_all": "显示所有",
|
||||
"show_all": "显示所有 >",
|
||||
"user_you": "{user} (你)",
|
||||
"user": "{user}",
|
||||
"members": "成员",
|
||||
"purge": "删除聊天室",
|
||||
"link_copied": "链接已复制!",
|
||||
"join_public": "知道链接的任何人都可以加入",
|
||||
"join_invite": "聊天室只能通过邀请加入",
|
||||
"permissions": "权限",
|
||||
"created_by": "由 {user} 创建"
|
||||
"join_public": "知道链接的任何人",
|
||||
"join_invite": "仅添加人员",
|
||||
"permissions": "加入权限",
|
||||
"created_by": "由 {user} 创建",
|
||||
"copy_link": "复制邀请链接"
|
||||
},
|
||||
"leave": {
|
||||
"leave": "离开",
|
||||
|
|
@ -52,10 +53,16 @@
|
|||
},
|
||||
"room": {
|
||||
"leave": "离开",
|
||||
"members": "无成员 | 1 名成员 | {count} 名成员"
|
||||
"members": "无成员 | 1 名成员 | {count} 名成员",
|
||||
"room_list_rooms": "聊天室",
|
||||
"room_list_invites": "邀请",
|
||||
"purge_failed": "删除聊天室失败了!",
|
||||
"purge_removing_members": "移除成员",
|
||||
"purge_redacting_events": "编辑事件",
|
||||
"purge_set_room_state": "设置聊天室状态"
|
||||
},
|
||||
"message": {
|
||||
"you": "你",
|
||||
"you": "您",
|
||||
"user_aliased_room": "{user} 把聊天室别名设为 {alias}",
|
||||
"user_created_room": "{user} 创建了聊天室",
|
||||
"user_changed_room_topic": "{user} 把聊天室的话题更改为{topic}",
|
||||
|
|
@ -81,14 +88,16 @@
|
|||
"user_changed_room_avatar": "{user} 更改了聊天室的头像",
|
||||
"user_changed_avatar": "{user} 更改了头像",
|
||||
"user_changed_display_name": "{user} 把显示名更改为 {displayName}",
|
||||
"unread_messages": "未读消息",
|
||||
"unread_messages": "未读信息",
|
||||
"user_powerlevel_change_from_to": "{user} 从 {powerOld} 到 {powerNew}",
|
||||
"room_powerlevel_change": "{user}更改了{changes} 的能量等级",
|
||||
"users_are_typing": "{count} 成员正在输入",
|
||||
"user_is_typing": "{user} 正在输入",
|
||||
"scale_image": "缩放图像",
|
||||
"your_message": "你的信息...",
|
||||
"replying_to_event": "回复事件:{message}"
|
||||
"replying_to_event": "回复事件:{message}",
|
||||
"user_changed_guest_access_open": "{user} 允许客人加入聊天室",
|
||||
"user_changed_guest_access_closed": "{user} 不允许客人加入聊天室"
|
||||
},
|
||||
"menu": {
|
||||
"login": "登录",
|
||||
|
|
@ -101,7 +110,8 @@
|
|||
"logout": "退出",
|
||||
"ok": "好的",
|
||||
"reply": "回复",
|
||||
"back": "返回"
|
||||
"back": "返回",
|
||||
"new_room": "新的聊天室"
|
||||
},
|
||||
"Keanu Weblite": "网络灯",
|
||||
"power_level": {
|
||||
|
|
@ -124,9 +134,9 @@
|
|||
"this_room": "这个群组"
|
||||
},
|
||||
"purge_room": {
|
||||
"button": "删除聊天室",
|
||||
"button": "删除",
|
||||
"title": "删除聊天室?",
|
||||
"info": "此操作将会关闭所有成员的聊天室。 它无法撤消。"
|
||||
"info": "所有成员和消息将被删除。无法撤销这一操作。"
|
||||
},
|
||||
"invite": {
|
||||
"title": "添加好友",
|
||||
|
|
@ -173,14 +183,29 @@
|
|||
"name_room": "为群组命名",
|
||||
"next": "下一步",
|
||||
"done": "完毕",
|
||||
"new_room": "新的群组"
|
||||
"new_room": "新的聊天室",
|
||||
"room_topic": "如果您愿意,请添加说明",
|
||||
"create": "创建"
|
||||
},
|
||||
"room_welcome": {
|
||||
"got_it": "知道了",
|
||||
"info_permissions": "在群组设置中,您随时可以更改“加入权限”和“消息历史”。",
|
||||
"info": "关于您的群组,您需要了解以下几点:",
|
||||
"info_permissions": "在群组设置中,您随时可以更改“加入权限”。",
|
||||
"info": "欢迎!关于您的群组,您需要了解以下几点:",
|
||||
"join_invite": "只有您邀请的人可以加入。",
|
||||
"join_public": "任何人都可以加入通过打开此链接: {link}",
|
||||
"welcome": "欢迎!"
|
||||
"join_public": "任何人都可以加入通过打开此链接: {link}。",
|
||||
"welcome": "欢迎!",
|
||||
"room_history_joined": "只有加入后,人们才可以看到发送的信息。",
|
||||
"room_history_is": "聊天室纪录是{type}.",
|
||||
"encrypted": "信息是端到端加密的。"
|
||||
},
|
||||
"profile_info_popup": {
|
||||
"new_room": "+ 新的聊天室",
|
||||
"powered_by": "这个聊天室由 {product} 提供支持。 在 {productLink} 了解更多信息或继续创建另一个聊天室!",
|
||||
"want_more": "想要更多?",
|
||||
"logout": "退出登录",
|
||||
"edit_profile": "编辑个人资料",
|
||||
"identity_temporary": "{displayName}",
|
||||
"identity": "{displayName}",
|
||||
"you_are": "您是"
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@
|
|||
:style="{ top: `${isMove ? y : calcY()}px` }"
|
||||
>
|
||||
<div class="bottom-sheet-handle"><div class="bottom-sheet-handle-decoration" /></div>
|
||||
<div style="position:absolute;top:20px;left:0;right:0;bottom:0;overflow-y:auto;padding:20px">
|
||||
<div ref="sheetContent" style="position:absolute;top:20px;left:0;right:0;bottom:0;overflow-y:auto;padding:20px">
|
||||
<slot></slot>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -119,6 +119,9 @@ export default {
|
|||
},
|
||||
setState(state) {
|
||||
this.state = state;
|
||||
if (state == "closed") {
|
||||
this.scrollToTop();
|
||||
}
|
||||
},
|
||||
onBackgroundClick() {
|
||||
if (this.state == "open") {
|
||||
|
|
@ -127,6 +130,12 @@ export default {
|
|||
this.setState("closed");
|
||||
}
|
||||
},
|
||||
scrollToTop() {
|
||||
const container = this.$refs.sheetContent;
|
||||
if (container) {
|
||||
container.scrollTo(0, 0);
|
||||
}
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
<div class="chat-root fill-height d-flex flex-column" ma-0 pa-0>
|
||||
<ChatHeader
|
||||
class="chat-header flex-grow-0 flex-shrink-0"
|
||||
v-on:header-click="$refs.roomInfoSheet.open()"
|
||||
v-on:header-click="onHeaderClick"
|
||||
/>
|
||||
<div
|
||||
class="chat-content flex-grow-1 flex-shrink-1"
|
||||
|
|
@ -1704,6 +1704,20 @@ export default {
|
|||
formatBytes(bytes) {
|
||||
return prettyBytes(bytes);
|
||||
},
|
||||
|
||||
onHeaderClick() {
|
||||
const joinedRooms = this.$matrix.joinedRooms;
|
||||
if (
|
||||
joinedRooms &&
|
||||
joinedRooms.length == 1 &&
|
||||
joinedRooms[0].roomId == this.room.roomId
|
||||
) {
|
||||
// Only joined to this room, go directly to room details!
|
||||
this.$navigation.push({ name: "RoomInfo" });
|
||||
return;
|
||||
}
|
||||
this.$refs.roomInfoSheet.open();
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
|
|
|||
102
src/components/QRCodePopup.vue
Normal file
102
src/components/QRCodePopup.vue
Normal file
|
|
@ -0,0 +1,102 @@
|
|||
<template>
|
||||
<v-dialog v-model="showDialog" class="ma-0 pa-0" width="80%">
|
||||
<div class="dialog-content text-center" ref="qrContainer">
|
||||
<div class="d-flex flex-column text-center" style="align-items:center">
|
||||
<canvas
|
||||
ref="qr"
|
||||
class="qr"
|
||||
id="qr"
|
||||
:style="qrStyle"
|
||||
></canvas>
|
||||
</div>
|
||||
<div>{{ $t("room_info.scan_code") }}</div>
|
||||
</div>
|
||||
</v-dialog>
|
||||
</template>
|
||||
<script>
|
||||
import roomInfoMixin from "./roomInfoMixin";
|
||||
import QRCode from "qrcode";
|
||||
|
||||
export default {
|
||||
name: "QRCodePopup",
|
||||
mixins: [roomInfoMixin],
|
||||
props: {
|
||||
show: {
|
||||
type: Boolean,
|
||||
default: function () {
|
||||
return false;
|
||||
},
|
||||
},
|
||||
message: {
|
||||
type: String,
|
||||
default: function () {
|
||||
return false;
|
||||
},
|
||||
},
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
showDialog: false,
|
||||
};
|
||||
},
|
||||
mounted() {
|
||||
this.updateQR(this.message);
|
||||
},
|
||||
computed: {
|
||||
qrStyle() {
|
||||
const w = document.documentElement.clientWidth;
|
||||
const h = document.documentElement.clientHeight;
|
||||
const s = 0.6 * Math.min(w,h);
|
||||
return "width: " + s + "px;height:" + s + "px;";
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
show: {
|
||||
handler(newVal, ignoredOldVal) {
|
||||
this.showDialog = newVal;
|
||||
},
|
||||
},
|
||||
showDialog() {
|
||||
if (!this.showDialog) {
|
||||
this.$emit("close");
|
||||
} else {
|
||||
this.$nextTick(() => {
|
||||
this.updateQR(this.message);
|
||||
});
|
||||
}
|
||||
},
|
||||
message: {
|
||||
handler(message) {
|
||||
this.updateQR(message);
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
methods: {
|
||||
updateQR(message) {
|
||||
var canvas = this.$refs.qr;
|
||||
var canvasContainer = this.$refs.qrContainer;
|
||||
if (message && canvas && canvasContainer) {
|
||||
this.$nextTick(() => {
|
||||
QRCode.toCanvas(
|
||||
canvas,
|
||||
message,
|
||||
{
|
||||
type: "image/png",
|
||||
margin: 1,
|
||||
width: Math.min(0.7 * canvasContainer.clientWidth, 0.7 * canvasContainer.clientHeight),
|
||||
},
|
||||
function (error) {
|
||||
if (error) console.error(error);
|
||||
}
|
||||
);
|
||||
});
|
||||
}
|
||||
}
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
<style lang="scss">
|
||||
@import "@/assets/css/chat.scss";
|
||||
</style>
|
||||
|
|
@ -40,7 +40,12 @@
|
|||
<v-container fluid class="pa-0" v-show="publicRoomLink">
|
||||
<v-row cols="12" class="qr-container ma-3">
|
||||
<v-col cols="auto">
|
||||
<canvas ref="roomQr" class="qr" id="room-qr"></canvas>
|
||||
<canvas
|
||||
@click.stop="showFullScreenQR = true"
|
||||
ref="roomQr"
|
||||
class="qr"
|
||||
id="room-qr"
|
||||
></canvas>
|
||||
</v-col>
|
||||
<v-col align-self="center">
|
||||
<div class="link">{{ publicRoomLink }}</div>
|
||||
|
|
@ -185,6 +190,9 @@
|
|||
:room="room"
|
||||
@close="showPurgeConfirmation = false"
|
||||
/>
|
||||
|
||||
<QRCodePopup :show="showFullScreenQR" :message="publicRoomLink" @close="showFullScreenQR = false" />
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
|
@ -194,6 +202,7 @@ import PurgeRoomDialog from "../components/PurgeRoomDialog";
|
|||
import DeviceList from "../components/DeviceList";
|
||||
import QRCode from "qrcode";
|
||||
import roomInfoMixin from "./roomInfoMixin";
|
||||
import QRCodePopup from './QRCodePopup.vue';
|
||||
|
||||
export default {
|
||||
name: "RoomInfo",
|
||||
|
|
@ -202,6 +211,7 @@ export default {
|
|||
LeaveRoomDialog,
|
||||
PurgeRoomDialog,
|
||||
DeviceList,
|
||||
QRCodePopup,
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
|
|
@ -211,6 +221,7 @@ export default {
|
|||
showAllMembers: false,
|
||||
showLeaveConfirmation: false,
|
||||
showPurgeConfirmation: false,
|
||||
showFullScreenQR: false,
|
||||
expandedMembers: [],
|
||||
buildVersion: "",
|
||||
updatingJoinRule: false, // Flag if we are processing update curerntly
|
||||
|
|
|
|||
|
|
@ -1,13 +1,18 @@
|
|||
<template>
|
||||
<!-- BASE CLASS FOR INCOMING MESSAGE -->
|
||||
<div :class="messageClasses">
|
||||
<div v-if="showSenderAndTime" class="senderAndTime">
|
||||
<div class="sender">{{ messageEventDisplayName(event) }}</div>
|
||||
<div class="time">
|
||||
{{ formatTime(event.event.origin_server_ts) }}
|
||||
</div>
|
||||
</div>
|
||||
<v-avatar class="avatar" ref="avatar" size="32" color="#ededed" @click.stop="otherAvatarClicked($refs.avatar.$el)">
|
||||
<img v-if="messageEventAvatar(event)" :src="messageEventAvatar(event)" />
|
||||
<span v-else class="white--text headline">{{
|
||||
messageEventDisplayName(event).substring(0, 1).toUpperCase()
|
||||
}}</span>
|
||||
</v-avatar>
|
||||
<QuickReactions :event="event" :reactions="reactions" />
|
||||
<!-- SLOT FOR CONTENT -->
|
||||
<slot></slot>
|
||||
<div class="op-button" ref="opbutton">
|
||||
|
|
@ -15,12 +20,7 @@
|
|||
><v-icon>more_vert</v-icon></v-btn
|
||||
>
|
||||
</div>
|
||||
<div v-if="showSenderAndTime" class="senderAndTime">
|
||||
<div class="sender">{{ messageEventDisplayName(event) }}</div>
|
||||
<div class="time">
|
||||
{{ formatTime(event.event.origin_server_ts) }}
|
||||
</div>
|
||||
</div>
|
||||
<QuickReactions :event="event" :reactions="reactions" />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
|
|
|||
|
|
@ -1,12 +1,19 @@
|
|||
<template>
|
||||
<!-- BASE CLASS FOR OUTGOING MESSAGE -->
|
||||
<div class="messageOut">
|
||||
<div class="senderAndTime">
|
||||
<div class="time">
|
||||
{{ formatTime(event.event.origin_server_ts) }}
|
||||
</div>
|
||||
<div class="status">{{ event.status }}</div>
|
||||
</div>
|
||||
|
||||
<QuickReactions :event="event" :reactions="reactions" />
|
||||
<div class="op-button" ref="opbutton">
|
||||
<v-btn icon @click.stop="showContextMenu($refs.opbutton)"
|
||||
><v-icon>more_vert</v-icon></v-btn
|
||||
>
|
||||
</div>
|
||||
<QuickReactions :event="event" :reactions="reactions" />
|
||||
<!-- SLOT FOR CONTENT -->
|
||||
<slot></slot>
|
||||
<v-avatar
|
||||
|
|
@ -18,13 +25,6 @@
|
|||
<img v-if="userAvatar" :src="userAvatar" />
|
||||
<span v-else class="white--text headline">{{ userAvatarLetter }}</span>
|
||||
</v-avatar>
|
||||
<!-- <div class="sender">{{ $t('message.you') }}</div> -->
|
||||
<div class="senderAndTime">
|
||||
<div class="time">
|
||||
{{ formatTime(event.event.origin_server_ts) }}
|
||||
</div>
|
||||
<div class="status">{{ event.status }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue