Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
abd94d6858 | ||
|
|
6ab2d8663e | ||
|
|
2576fa2a87 | ||
|
|
d0627d5370 | ||
|
|
a192129ff9 | ||
|
|
ee6b87c3a9 | ||
|
|
7fccd41ced | ||
|
|
b95e3269ea | ||
|
|
38c0023e23 |
@@ -28,8 +28,10 @@ The app is fully internationalized using [React-Intl](https://github.com/formatj
|
|||||||
|
|
||||||
As of the time of this writing the following translations exist:
|
As of the time of this writing the following translations exist:
|
||||||
* English
|
* English
|
||||||
|
* Chinese (simplified)
|
||||||
|
* Korean
|
||||||
* Russian
|
* Russian
|
||||||
* Simplified Chinese
|
* Spanish
|
||||||
|
|
||||||
More translations are welcome. Send a pull request with a json file with translated strings. Take a look at [English](/src/i18n/en.json), [Russian](/src/i18n/ru.json), or [Simplified Chinese](/src/i18n/zh.json) translations for guidance.
|
More translations are welcome. Send a pull request with a json file with translated strings. Take a look at [English](/src/i18n/en.json), [Russian](/src/i18n/ru.json), or [Simplified Chinese](/src/i18n/zh.json) translations for guidance.
|
||||||
|
|
||||||
@@ -66,11 +68,11 @@ If you want to use the app with your own server and want web push notification t
|
|||||||
### Desktop screenshot
|
### Desktop screenshot
|
||||||
|
|
||||||
<p align="center">
|
<p align="center">
|
||||||
<img src="web-desktop-2.png" alt="Desktop web: full app" width=866 />
|
<img src="web-desktop-2.png" alt="Desktop web: full app" width=810 />
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
### Mobile screenshots
|
### Mobile screenshots
|
||||||
|
|
||||||
<p align="center">
|
<p align="center">
|
||||||
<kbd><img src="web-mob-contacts-1.png" alt="Mobile web: contacts" width=323 /></kbd> <kbd><img src="web-mob-chat-1.png" alt="Mobile web: chat" width=323 /></kbd> <kbd><img src="web-mob-info-1.png" alt="Mobile web: topic info" width=323 /></kbd> <kbd><img src="web-mob-new-chat-1.png" alt="Mobile web: start new chat" width=323 /></kbd>
|
<img src="web-mob-contacts-1.png" alt="Mobile web: contacts" width=250 /> <img src="web-mob-chat-1.png" alt="Mobile web: chat" width=250 /> <img src="web-mob-info-1.png" alt="Mobile web: topic info" width=250 /> <img src="web-mob-new-chat-1.png" alt="Mobile web: start new chat" width=250 /> <img src="web-mob-acc-settings.png" alt="Mobile web: account settings" width=250 />
|
||||||
</p>
|
</p>
|
||||||
|
|||||||
@@ -655,7 +655,6 @@ table.permission-editor td.checkbox {
|
|||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
min-width: 8rem;
|
min-width: 8rem;
|
||||||
line-height: 2rem;
|
line-height: 2rem;
|
||||||
padding: 0.35rem;
|
|
||||||
}
|
}
|
||||||
.bot-form div {
|
.bot-form div {
|
||||||
min-height: 2rem;
|
min-height: 2rem;
|
||||||
@@ -664,7 +663,6 @@ table.permission-editor td.checkbox {
|
|||||||
.bot-form button {
|
.bot-form button {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
margin: 0.15rem;
|
margin: 0.15rem;
|
||||||
width: 100%;
|
|
||||||
background-color: #eef;
|
background-color: #eef;
|
||||||
color: #2196f3; /* blue 500 */
|
color: #2196f3; /* blue 500 */
|
||||||
font-size: inherit;
|
font-size: inherit;
|
||||||
|
|||||||
@@ -34,8 +34,8 @@
|
|||||||
<!-- React-Intl for translations -->
|
<!-- React-Intl for translations -->
|
||||||
<script crossorigin="anonymous" src="https://cdn.jsdelivr.net/npm/react-intl@3/dist/react-intl.js"></script>
|
<script crossorigin="anonymous" src="https://cdn.jsdelivr.net/npm/react-intl@3/dist/react-intl.js"></script>
|
||||||
<!-- Firebase for push notifications -->
|
<!-- Firebase for push notifications -->
|
||||||
<script crossorigin="anonymous" src="https://cdn.jsdelivr.net/npm/firebase@7.14.0/firebase-app.js"></script>
|
<script crossorigin="anonymous" src="https://cdn.jsdelivr.net/npm/firebase@7.14.6/firebase-app.js"></script>
|
||||||
<script crossorigin="anonymous" src="https://cdn.jsdelivr.net/npm/firebase@7.14.0/firebase-messaging.js"></script>
|
<script crossorigin="anonymous" src="https://cdn.jsdelivr.net/npm/firebase@7.14.6/firebase-messaging.js"></script>
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
|
|||||||
@@ -25,8 +25,8 @@
|
|||||||
<script crossorigin="anonymous" src="https://cdn.jsdelivr.net/npm/react@16.13.1/umd/react.production.min.js"></script>
|
<script crossorigin="anonymous" src="https://cdn.jsdelivr.net/npm/react@16.13.1/umd/react.production.min.js"></script>
|
||||||
<script crossorigin="anonymous" src="https://cdn.jsdelivr.net/npm/react-dom@16.13.1/umd/react-dom.production.min.js"></script>
|
<script crossorigin="anonymous" src="https://cdn.jsdelivr.net/npm/react-dom@16.13.1/umd/react-dom.production.min.js"></script>
|
||||||
<script crossorigin="anonymous" src="https://cdn.jsdelivr.net/npm/react-intl@3.12.1/dist/react-intl.min.js"></script>
|
<script crossorigin="anonymous" src="https://cdn.jsdelivr.net/npm/react-intl@3.12.1/dist/react-intl.min.js"></script>
|
||||||
<script crossorigin="anonymous" src="https://cdn.jsdelivr.net/npm/firebase@7.14.0/firebase-app.js"></script>
|
<script crossorigin="anonymous" src="https://cdn.jsdelivr.net/npm/firebase@7.14.6/firebase-app.js"></script>
|
||||||
<script crossorigin="anonymous" src="https://cdn.jsdelivr.net/npm/firebase@7.14.0/firebase-messaging.js"></script>
|
<script crossorigin="anonymous" src="https://cdn.jsdelivr.net/npm/firebase@7.14.6/firebase-messaging.js"></script>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<noscript><div id="noscript-message"><div id="noscript-title">Javascript support is required.</div>
|
<noscript><div id="noscript-message"><div id="noscript-title">Javascript support is required.</div>
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "tinode-webapp",
|
"name": "tinode-webapp",
|
||||||
"description": "Tinode messenger for the web",
|
"description": "Tinode messenger for the web",
|
||||||
"version": "0.16.5",
|
"version": "0.16.6",
|
||||||
"repository": {
|
"repository": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/tinode/example-react-js.git"
|
"url": "https://github.com/tinode/example-react-js.git"
|
||||||
@@ -68,25 +68,25 @@
|
|||||||
"author": "Tinode Authors <info@tinode.co>",
|
"author": "Tinode Authors <info@tinode.co>",
|
||||||
"license": "Apache-2.0",
|
"license": "Apache-2.0",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"firebase": "^7.14.0",
|
"firebase": "^7.14.6",
|
||||||
"react": "^16.13.1",
|
"react": "^16.13.1",
|
||||||
"react-dom": "^16.13.1",
|
"react-dom": "^16.13.1",
|
||||||
"react-intl": "^3.12.1",
|
"react-intl": "^4.6.9",
|
||||||
"tinode-sdk": "^0.16.5"
|
"tinode-sdk": "^0.16.6"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@babel/core": "^7.9.0",
|
"@babel/core": "^7.10.2",
|
||||||
"@babel/preset-env": "^7.9.5",
|
"@babel/preset-env": "^7.10.2",
|
||||||
"@babel/preset-react": "^7.9.4",
|
"@babel/preset-react": "^7.10.1",
|
||||||
"babel-loader": "^8.1.0",
|
"babel-loader": "^8.1.0",
|
||||||
"babel-plugin-react-intl": "^5.1.18",
|
"babel-plugin-react-intl": "^7.5.20",
|
||||||
"browserslist": "^4.11.1",
|
"browserslist": "^4.12.0",
|
||||||
"copy-webpack-plugin": "^5.1.1",
|
"copy-webpack-plugin": "^6.0.2",
|
||||||
"cssnano": "^4.1.10",
|
"cssnano": "^4.1.10",
|
||||||
"postcss": "^7.0.27",
|
"postcss": "^7.0.32",
|
||||||
"postcss-cli": "^7.1.0",
|
"postcss-cli": "^7.1.1",
|
||||||
"terser-webpack-plugin": "^2.3.5",
|
"terser-webpack-plugin": "^3.0.3",
|
||||||
"webpack": "^4.42.1",
|
"webpack": "^4.43.0",
|
||||||
"webpack-cli": "^3.3.11"
|
"webpack-cli": "^3.3.11"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -25,7 +25,11 @@ let messages = globSync(MESSAGES_PATTERN)
|
|||||||
.map((file) => JSON.parse(file))
|
.map((file) => JSON.parse(file))
|
||||||
.reduce((collection, descriptors) => {
|
.reduce((collection, descriptors) => {
|
||||||
descriptors.forEach(({id, defaultMessage}) => {
|
descriptors.forEach(({id, defaultMessage}) => {
|
||||||
|
if (!defaultMessage) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
if (collection.hasOwnProperty(id)) {
|
if (collection.hasOwnProperty(id)) {
|
||||||
|
// Message is already defined.
|
||||||
throw new Error(`Duplicate message id: ${id}`);
|
throw new Error(`Duplicate message id: ${id}`);
|
||||||
}
|
}
|
||||||
collection[id] = defaultMessage;
|
collection[id] = defaultMessage;
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
// Must be located at the root.
|
// Must be located at the root.
|
||||||
importScripts('https://cdn.jsdelivr.net/npm/firebase@7.14.0/firebase-app.js');
|
importScripts('https://cdn.jsdelivr.net/npm/firebase@7.14.6/firebase-app.js');
|
||||||
importScripts('https://cdn.jsdelivr.net/npm/firebase@7.14.0/firebase-messaging.js');
|
importScripts('https://cdn.jsdelivr.net/npm/firebase@7.14.6/firebase-messaging.js');
|
||||||
importScripts('firebase-init.js');
|
importScripts('firebase-init.js');
|
||||||
|
|
||||||
firebase.initializeApp(FIREBASE_INIT);
|
firebase.initializeApp(FIREBASE_INIT);
|
||||||
@@ -11,6 +11,14 @@ const i18n = {
|
|||||||
'new_message': "New message",
|
'new_message': "New message",
|
||||||
'new_chat': "New chat",
|
'new_chat': "New chat",
|
||||||
},
|
},
|
||||||
|
'es': {
|
||||||
|
'new_message': "Nuevo mensaje",
|
||||||
|
'new_chat': "Nueva conversación",
|
||||||
|
},
|
||||||
|
'ko': {
|
||||||
|
'new_message': "새로운 메시지",
|
||||||
|
'new_chat': "새로운 채팅",
|
||||||
|
},
|
||||||
'ru': {
|
'ru': {
|
||||||
'new_message': "Новое сообщение",
|
'new_message': "Новое сообщение",
|
||||||
'new_chat': "Новый чат",
|
'new_chat': "Новый чат",
|
||||||
|
|||||||
@@ -95,13 +95,14 @@
|
|||||||
"sidepanel_title_reset": "Reset Password",
|
"sidepanel_title_reset": "Reset Password",
|
||||||
"sidepanel_title_archive": "Archived Chats",
|
"sidepanel_title_archive": "Archived Chats",
|
||||||
"sidepanel_title_blocked": "Blocked Chats",
|
"sidepanel_title_blocked": "Blocked Chats",
|
||||||
"update_available": "Update available. <a href=\"\">Reload</a>.",
|
|
||||||
"reconnect_countdown": "Disconnected. Reconnecting in {seconds}…",
|
"reconnect_countdown": "Disconnected. Reconnecting in {seconds}…",
|
||||||
"reconnect_now": "Try now",
|
"reconnect_now": "Try now",
|
||||||
"push_init_failed": "Failed to initialize push notifications",
|
"push_init_failed": "Failed to initialize push notifications",
|
||||||
"invalid_security_token": "Invalid security token",
|
"invalid_security_token": "Invalid security token",
|
||||||
"no_connection": "No connection",
|
"no_connection": "No connection",
|
||||||
"code_doesnot_match": "Code does not match",
|
"code_doesnot_match": "Code does not match",
|
||||||
|
"update_available": "Update available.",
|
||||||
|
"reload_update": "Reload",
|
||||||
"phone_dative": "phone",
|
"phone_dative": "phone",
|
||||||
"email_dative": "email",
|
"email_dative": "email",
|
||||||
"enter_confirmation_code_prompt": "Enter confirmation code sent to you by {method}:",
|
"enter_confirmation_code_prompt": "Enter confirmation code sent to you by {method}:",
|
||||||
|
|||||||
@@ -1,173 +0,0 @@
|
|||||||
{
|
|
||||||
"validate_credential_action": "확인",
|
|
||||||
"title_tag_manager": "태그(사용자검색)",
|
|
||||||
"label_user_contacts": "연락처: ",
|
|
||||||
"button_add_another": "다른항목추가",
|
|
||||||
"label_message_sound": "메시지소리: ",
|
|
||||||
"label_push_notifications": "통지경보: ",
|
|
||||||
"label_push_notifications_disabled": "통지경보(HTTPS필요): ",
|
|
||||||
"label_incognito_mode": "시크릿모드: ",
|
|
||||||
"delete_account": "계정삭제",
|
|
||||||
"delete_account_arning": "계정을삭제하시겠습니까?실행취소할수없습니다.",
|
|
||||||
"label_password": "비밀번호",
|
|
||||||
"password_unchanged_prompt": "변경되지않음",
|
|
||||||
"button_logout": "로그아웃",
|
|
||||||
"button_delete_account": "계정삭제",
|
|
||||||
"label_default_access_mode": "기본액세스모드: ",
|
|
||||||
"blocked_contacts_link": "차단된연락처({수})",
|
|
||||||
"link_contact_us": "문의처",
|
|
||||||
"link_terms_of_service": "서비스약관",
|
|
||||||
"link_privacy_policy": "개인정보보호정책",
|
|
||||||
"label_sdk": "SDK: ",
|
|
||||||
"label_server_address": "서버주소: ",
|
|
||||||
"archived_contacts": "보관된연락처({수})",
|
|
||||||
"contacts_not_found": "채팅이없습니다<br/>¯∖_(ツ)_/¯",
|
|
||||||
"full_name_prompt": "전체이름(예: JohnDoe)"
|
|
||||||
"email_prompt": "이메일(예: jdoe@example.com)"
|
|
||||||
"button_sign_up": "가입",
|
|
||||||
"label_your_name": "이름",
|
|
||||||
"label_user_id": "ID: ",
|
|
||||||
"button_edit": "편집",
|
|
||||||
"requested_permissions": "요청",
|
|
||||||
"grant_permissions": "승인",
|
|
||||||
"menu_item_edit_permissions": "편집권한",
|
|
||||||
"label_other_user": "기타",
|
|
||||||
"action_clear_messages": "메시지지우기",
|
|
||||||
"clear_messages_warning": "모든메시지를지우시겠습니까?실행취소할수없습니다.",
|
|
||||||
"action_delete_messages": "모든메시지지우기",
|
|
||||||
"delete_messages_warning": "모든사람의모든메시지를삭제하시겠습니까?실행취소할수없습니다.",
|
|
||||||
"action_leave_chat": "대화나누기",
|
|
||||||
"leave_chat_warning": "이대화를나가시겠습니까?",
|
|
||||||
"action_block_contact": "연락차단",
|
|
||||||
"block_contact_warning": "이연락처를차단하시겠습니까?",
|
|
||||||
"action_report_chat": "대화기록",
|
|
||||||
"report_chat_warning": "이대화를차단하고기록하시겠습니까?",
|
|
||||||
"title_info": "정보",
|
|
||||||
"label_topic_name": "이름",
|
|
||||||
"label_private": "개인코멘트",
|
|
||||||
"private_editing_placeholder": "나만볼수있습니다",
|
|
||||||
"label_muting_topic": "음소거: ",
|
|
||||||
"action_more": "더보기",
|
|
||||||
"label_your_permissions": "권한: ",
|
|
||||||
"label_permissions": "권한: ",
|
|
||||||
"label_you": "당신: ",
|
|
||||||
"label_default_access": "기본액세스모드: ",
|
|
||||||
"label_group_members": "그룹회원: ",
|
|
||||||
"button_add_members": "회원추가",
|
|
||||||
"group_has_no_members": "회원없음",
|
|
||||||
"login_prompt": "로그인",
|
|
||||||
"password_prompt": "비밀번호",
|
|
||||||
"stay_logged_in": "로그인상태유지",
|
|
||||||
"forgot_password_link": "비밀번호를잊으셨습니까?",
|
|
||||||
"button_sign_in": "로그인",
|
|
||||||
"label_client": "클라이언트: ",
|
|
||||||
"label_server": "서버: ",
|
|
||||||
"online_now": "현재접속중",
|
|
||||||
"last_seen_timestamp": "마지막으로본",
|
|
||||||
"title_not_found": "찾을수없음",
|
|
||||||
"unnamed_topic": "이름없는",
|
|
||||||
"message_not_readable": "메시지에접근할수없음",
|
|
||||||
"peers_messaging_disabled": "동료의메시지가비활성화되었습니다.",
|
|
||||||
"enable_peers_messaging": "활성화",
|
|
||||||
"search_for_contacts": "검색을사용하여연락처찾기",
|
|
||||||
"search_no_results": "검색결과가없습니다",
|
|
||||||
"tabtitle_find_user": "찾기",
|
|
||||||
"tabtitle_new_group": "새그룹",
|
|
||||||
"tabtitle_group_by_id": "id로",
|
|
||||||
"new_password_placeholder": "새비밀번호입력",
|
|
||||||
"label_reset_password": "비밀번호재설정이메일보내기: ",
|
|
||||||
"credential_email_prompt": "등록이메일",
|
|
||||||
"button_reset": "재설정",
|
|
||||||
"button_send_request": "요청보내기",
|
|
||||||
"label_server_to_use": "사용할서버: ",
|
|
||||||
"label_wire_transport": "와이어수송: ",
|
|
||||||
"button_update": "업데이트",
|
|
||||||
"sidepanel_title_login": "로그인",
|
|
||||||
"sidepanel_title_register": "계정만들기",
|
|
||||||
"sidepanel_title_settings": "설정",
|
|
||||||
"sidepanel_title_account_settings": "계정설정",
|
|
||||||
"sidepanel_title_acc_general": "일반",
|
|
||||||
"sidepanel_title_acc_security": "보안",
|
|
||||||
"sidepanel_title_acc_notifications": "알림",
|
|
||||||
"sidepanel_title_acc_support": "지원",
|
|
||||||
"sidepanel_title_newtpk": "새채팅시작",
|
|
||||||
"sidepanel_title_cred": "자격증명확인",
|
|
||||||
"sidepanel_title_reset": "비밀번호재설정",
|
|
||||||
"sidepanel_title_archive": "보관된채팅",
|
|
||||||
"sidepanel_title_blocked": "차단된채팅",
|
|
||||||
"update_available": "업데이트가능.<ahref=\"\">재로드</a>.",
|
|
||||||
"reconnect_countdown": "연결이끊어졌습니다.다시연결하는중{초}…",
|
|
||||||
"reconnect_now": "지금시도",
|
|
||||||
"push_init_failed": "푸시알림을초기화하지못했습니다",
|
|
||||||
"invalid_security_token": "유효하지않은보안토큰",
|
|
||||||
"no_connection": "연결없음",
|
|
||||||
"code_doesnot_match": "코드가일치하지않습니다",
|
|
||||||
"phone_dative": "전화",
|
|
||||||
"email_dative": "이메일",
|
|
||||||
"enter_confirmation_code_prompt": "{방법}으로보낸확인코드를입력하십시오: ",
|
|
||||||
"numeric_confirmation_code_prompt": "숫자만",
|
|
||||||
"button_confirm": "확인",
|
|
||||||
"save_attachment": "저장",
|
|
||||||
"delete_content": "컨텐츠삭제",
|
|
||||||
"invalid_content": "잘못된내용",
|
|
||||||
"user_not_found": "찾을수없음",
|
|
||||||
"badge_you": "당신",
|
|
||||||
"badge_owner": "소유자",
|
|
||||||
"menu_item_info": "정보",
|
|
||||||
"menu_item_clear_messages": "메시지지우기",
|
|
||||||
"menu_item_clear_messages_for_all": "모두지우기",
|
|
||||||
"menu_item_delete": "삭제",
|
|
||||||
"menu_item_delete_for_all": "모두삭제",
|
|
||||||
"menu_item_send_retry": "다시시도",
|
|
||||||
"menu_item_mute": "음소거",
|
|
||||||
"menu_item_unmute": "음소거해제",
|
|
||||||
"menu_item_delete_topic": "삭제",
|
|
||||||
"topic_delete_warning": "이대화를삭제하시겠습니까?",
|
|
||||||
"menu_item_unblock": "차단해제",
|
|
||||||
"menu_item_block": "차단",
|
|
||||||
"topic_block_warning": "이대화를차단하시겠습니까?",
|
|
||||||
"menu_item_member_delete": "제거",
|
|
||||||
"menu_item_archive_topic": "보관",
|
|
||||||
"action_cancel": "취소",
|
|
||||||
"upload_finishing": "마무리...",
|
|
||||||
"no_contacts": "연락처가없습니다: -(",
|
|
||||||
"contacts_not_found_short": "'{문의}'와일치하는연락처가없습니다."
|
|
||||||
"title_group_members": "그룹구성원",
|
|
||||||
"title_all_contacts": "모든연락처",
|
|
||||||
"button_ok": "OK",
|
|
||||||
"button_cancel": "취소",
|
|
||||||
"more_online_members": "+{넘침}더보기",
|
|
||||||
"download_action": "다운로드",
|
|
||||||
"label_file_name": "파일이름: ",
|
|
||||||
"label_content_type": "컨텐츠유형: ",
|
|
||||||
"label_size": "크기: ",
|
|
||||||
"chat_invitation": "새로운대화를시작하도록초대되었습니다.무엇을하시겠습니까?",
|
|
||||||
"chat_invitation_accept": "수락",
|
|
||||||
"chat_invitation_ignore": "무시",
|
|
||||||
"chat_invitation_block": "차단",
|
|
||||||
"error_invalid_id": "잘못된ID",
|
|
||||||
"group_user_id_prompt": "그룹또는사용자ID",
|
|
||||||
"button_subscribe": "구독",
|
|
||||||
"topic_name_editing_placeholder": "그룹의자유형이름",
|
|
||||||
"button_create": "작성",
|
|
||||||
"permission_join": "참여({val})",
|
|
||||||
"permission_read": "읽기({val})",
|
|
||||||
"permission_write": "쓰기({val})",
|
|
||||||
"permission_pres": "알림받기({val})",
|
|
||||||
"permission_admin": "승인({val})",
|
|
||||||
"permission_share": "공유({val})",
|
|
||||||
"permission_delete": "삭제({val})",
|
|
||||||
"permission_owner": "소유자({val})",
|
|
||||||
"title_permissions": "권한",
|
|
||||||
"message_sending": "보내기...",
|
|
||||||
"message_sending_failed": "실패",
|
|
||||||
"search_placeholder": "이메일: alice@example.com,전화: 17025550003...와같은목록",
|
|
||||||
"messaging_disabled_prompt": "메시지비활성화",
|
|
||||||
"new_message_prompt": "새메시지",
|
|
||||||
"image_caption_prompt": "이미지설명",
|
|
||||||
"file_attachment_too_large": "파일크기{크기}이(가){제한}제한을초과합니다.",
|
|
||||||
"cannot_initiate_file_upload": "파일업로드를시작할수없습니다.",
|
|
||||||
"tags_not_found": "태그가정의되지않았습니다.일부를추가하십시오.",
|
|
||||||
"tags_editor_no_tags": "일부태그추가",
|
|
||||||
"title_manage_tags": "관리"
|
|
||||||
}
|
|
||||||
@@ -0,0 +1,174 @@
|
|||||||
|
{
|
||||||
|
"validate_credential_action": "confirmar",
|
||||||
|
"title_tag_manager": "Etiquetas (descubrimiento de usuarios)",
|
||||||
|
"label_user_contacts": "Contactos:",
|
||||||
|
"button_add_another": "Añadir contacto",
|
||||||
|
"label_message_sound": "Sonido de mensaje:",
|
||||||
|
"label_push_notifications": "Alertas de notificaciones:",
|
||||||
|
"label_push_notifications_disabled": "Alertas de notificaciones (requiere HTTPS):",
|
||||||
|
"label_incognito_mode": "Modo incógnito:",
|
||||||
|
"delete_account": "Eliminar cuenta",
|
||||||
|
"delete_account_arning": "¿Estás seguro de que deseas eliminar permanentemente tu cuenta? Esta acción es irreversible.",
|
||||||
|
"label_password": "Contraseña",
|
||||||
|
"password_unchanged_prompt": "Sin cambios",
|
||||||
|
"button_logout": "Cerrar sesión",
|
||||||
|
"button_delete_account": "Eliminar cuenta",
|
||||||
|
"label_default_access_mode": "Modo de acceso predeterminado:",
|
||||||
|
"blocked_contacts_link": "Contactos bloqueados ({count})",
|
||||||
|
"link_contact_us": "Contáctanos",
|
||||||
|
"link_terms_of_service": "Términos de uso",
|
||||||
|
"link_privacy_policy": "Política de privacidad",
|
||||||
|
"label_sdk": "SDK:",
|
||||||
|
"label_server_address": "Dirección del servidor:",
|
||||||
|
"archived_contacts": "Contactos archivados ({count})",
|
||||||
|
"contacts_not_found": "No tienes chats<br />¯∖_(ツ)_/¯",
|
||||||
|
"full_name_prompt": "Nombre completo, p.ej. Juan González Hernández",
|
||||||
|
"email_prompt": "Correo electrónico, p.ej. juan@example.com",
|
||||||
|
"button_sign_up": "Regístrate",
|
||||||
|
"label_your_name": "Tu nombre",
|
||||||
|
"label_user_id": "ID:",
|
||||||
|
"button_edit": "Editar",
|
||||||
|
"requested_permissions": "Solicitados",
|
||||||
|
"granted_permissions": "Otorgados",
|
||||||
|
"menu_item_edit_permissions": "Editar permisos",
|
||||||
|
"label_other_user": "Otros",
|
||||||
|
"action_clear_messages": "Borrar mensajes",
|
||||||
|
"clear_messages_warning": "¿Estás seguro de que quieres eliminar todos los mensajes? Esta acción es irreversible.",
|
||||||
|
"action_delete_messages": "Borrar mensajes para todos",
|
||||||
|
"delete_messages_warning": "¿Estás seguro de que quieres eliminar todos los mensajes para todos? Esta acción es irreversible.",
|
||||||
|
"action_leave_chat": "Dejar conversación",
|
||||||
|
"leave_chat_warning": "¿Estás seguro de que quieres dejar esta conversación?",
|
||||||
|
"action_block_contact": "Bloquear contacto",
|
||||||
|
"block_contact_warning": "¿Estás seguro de que quieres bloquear a este contacto?",
|
||||||
|
"action_report_chat": "Reportar conversación",
|
||||||
|
"report_chat_warning": "¿Estás seguro de que quieres bloquear y reportar a esta conversación?",
|
||||||
|
"title_info": "Información",
|
||||||
|
"label_topic_name": "Nombre del tema",
|
||||||
|
"label_private": "Comentario privado",
|
||||||
|
"private_editing_placeholder": "Sólo visible para tí",
|
||||||
|
"label_muting_topic": "Silenciado:",
|
||||||
|
"action_more": "Más",
|
||||||
|
"label_your_permissions": "Tus permisoss:",
|
||||||
|
"label_permissions": "Permisos:",
|
||||||
|
"label_you": "Tú:",
|
||||||
|
"label_default_access": "Modo de acceso predeterminado:",
|
||||||
|
"label_group_members": "Miembros del grupo:",
|
||||||
|
"button_add_members": "Añadir miembros",
|
||||||
|
"group_has_no_members": "No hay miembros",
|
||||||
|
"login_prompt": "Nombre de usuario",
|
||||||
|
"password_prompt": "Contraseña",
|
||||||
|
"stay_logged_in": "Permanecer conectado",
|
||||||
|
"forgot_password_link": "¿Olvidaste tu contraseña?",
|
||||||
|
"button_sign_in": "Entrar",
|
||||||
|
"label_client": "Cliente:",
|
||||||
|
"label_server": "Servidor:",
|
||||||
|
"online_now": "en línea",
|
||||||
|
"last_seen_timestamp": "Últ. vez",
|
||||||
|
"title_not_found": "No encontrado",
|
||||||
|
"unnamed_topic": "Sin nombre",
|
||||||
|
"messages_not_readable": "sin acceso a mensajes",
|
||||||
|
"peers_messaging_disabled": "La mensajería Peer está deshabilitada.",
|
||||||
|
"enable_peers_messaging": "Habilitar",
|
||||||
|
"search_for_contacts": "Usa la búsqueda para encontrar contactos",
|
||||||
|
"search_no_results": "La búsqueda no arrojó resultados",
|
||||||
|
"tabtitle_find_user": "encontrar",
|
||||||
|
"tabtitle_new_group": "nuevo grupo",
|
||||||
|
"tabtitle_group_by_id": "por ID",
|
||||||
|
"new_password_placeholder": "Introduzca una nueva contraseña",
|
||||||
|
"label_reset_password": "Enviar un correo electrónico de restablecimiento de contraseña:",
|
||||||
|
"credential_email_prompt": "Tu correo electrónico de registro",
|
||||||
|
"button_reset": "Restablecer",
|
||||||
|
"button_send_request": "Enviar petición",
|
||||||
|
"label_server_to_use": "Servidor para usar:",
|
||||||
|
"label_wire_transport": "Transporte de alambre:",
|
||||||
|
"button_update": "Actualizar",
|
||||||
|
"sidepanel_title_login": "Iniciar sesión",
|
||||||
|
"sidepanel_title_register": "Crear cuenta",
|
||||||
|
"sidepanel_title_settings": "Ajustes",
|
||||||
|
"sidepanel_title_account_settings": "Ajustes de la cuenta",
|
||||||
|
"sidepanel_title_acc_general": "General",
|
||||||
|
"sidepanel_title_acc_security": "Seguridad",
|
||||||
|
"sidepanel_title_acc_notifications": "Notificaciones",
|
||||||
|
"sidepanel_title_acc_support": "Soporte",
|
||||||
|
"sidepanel_title_newtpk": "Iniciar un nuevo chat",
|
||||||
|
"sidepanel_title_cred": "Confirmar credenciales",
|
||||||
|
"sidepanel_title_reset": "Restablecer contraseña",
|
||||||
|
"sidepanel_title_archive": "Chats archivados",
|
||||||
|
"sidepanel_title_blocked": "Chats bloqueados",
|
||||||
|
"update_available": "Actualización disponible.",
|
||||||
|
"reload_update": "Recargar",
|
||||||
|
"reconnect_countdown": "Desconectado. Reconectando en {seconds}…",
|
||||||
|
"reconnect_now": "Reintentar",
|
||||||
|
"push_init_failed": "Error al inicializar las notificaciones push",
|
||||||
|
"invalid_security_token": "Token de seguridad inválido",
|
||||||
|
"no_connection": "Sin conexión",
|
||||||
|
"code_doesnot_match": "El código no coincide",
|
||||||
|
"phone_dative": "teléfono",
|
||||||
|
"email_dative": "correo electrónico",
|
||||||
|
"enter_confirmation_code_prompt": "Intruduzca el código de confirmación enviado a tu {method}:",
|
||||||
|
"numeric_confirmation_code_prompt": "Sólo números",
|
||||||
|
"button_confirm": "Confirmar",
|
||||||
|
"save_attachment": "guardar",
|
||||||
|
"deleted_content": "este mensaje fue eliminado",
|
||||||
|
"invalid_content": "contenido inválido",
|
||||||
|
"user_not_found": "Usuario no encontrado",
|
||||||
|
"badge_you": "tú",
|
||||||
|
"badge_owner": "propietario",
|
||||||
|
"menu_item_info": "Información",
|
||||||
|
"menu_item_clear_messages": "Borrar mensajes",
|
||||||
|
"menu_item_clear_messages_for_all": "Borrar para todos",
|
||||||
|
"menu_item_delete": "Eliminar",
|
||||||
|
"menu_item_delete_for_all": "Eliminar para todos",
|
||||||
|
"menu_item_send_retry": "Inténtalo de nuevo",
|
||||||
|
"menu_item_mute": "Silenciar",
|
||||||
|
"menu_item_unmute": "Anular el silencio",
|
||||||
|
"menu_item_delete_topic": "Eliminar",
|
||||||
|
"topic_delete_warning": "¿Estás seguro de que quieres eliminar esta conversación?",
|
||||||
|
"menu_item_unblock": "Desbloquear",
|
||||||
|
"menu_item_block": "Bloquear",
|
||||||
|
"topic_block_warning": "¿Estás seguro de que quieres bloquear esta conversación",
|
||||||
|
"menu_item_member_delete": "Eliminar",
|
||||||
|
"menu_item_archive_topic": "Archivar",
|
||||||
|
"action_cancel": "cancelar",
|
||||||
|
"upload_finishing": "terminando...",
|
||||||
|
"no_contacts": "No tienes contactos :-(",
|
||||||
|
"contacts_not_found_short": "Ningún contacto coincide con ''{query}''",
|
||||||
|
"title_group_members": "Miembros del grupo",
|
||||||
|
"title_all_contacts": "Todos los contactos",
|
||||||
|
"button_ok": "OK",
|
||||||
|
"button_cancel": "Cancelar",
|
||||||
|
"more_online_members": "+{overflow} más",
|
||||||
|
"download_action": "descargar",
|
||||||
|
"label_file_name": "Nombre del archivo:",
|
||||||
|
"label_content_type": "Tipo de contenido:",
|
||||||
|
"label_size": "Tamaño:",
|
||||||
|
"chat_invitation": "Estás invitado a participar en un nuevo chat. ¿Qué te gustaría hacer?",
|
||||||
|
"chat_invitation_accept": "Aceptar",
|
||||||
|
"chat_invitation_ignore": "Ignorar",
|
||||||
|
"chat_invitation_block": "Bloquear",
|
||||||
|
"error_invalid_id": "ID inválido",
|
||||||
|
"group_user_id_prompt": "ID del grupo o usuario",
|
||||||
|
"button_subscribe": "Suscribirse",
|
||||||
|
"topic_name_editing_placeholder": "Nombre del grupo",
|
||||||
|
"button_create": "Crear",
|
||||||
|
"permission_join": "Unirse ({val})",
|
||||||
|
"permission_read": "Leer ({val})",
|
||||||
|
"permission_write": "Escribir ({val})",
|
||||||
|
"permission_pres": "Ser notificado ({val})",
|
||||||
|
"permission_admin": "Approbar ({val})",
|
||||||
|
"permission_share": "Compartir ({val})",
|
||||||
|
"permission_delete": "Eliminar ({val})",
|
||||||
|
"permission_owner": "Propietario ({val})",
|
||||||
|
"title_permissions": "Permisos",
|
||||||
|
"message_sending": "enviando...",
|
||||||
|
"message_sending_failed": "no se pudo enviar el mensaje",
|
||||||
|
"search_placeholder": "Ej. email:alice@example.com, tel:17025550003...",
|
||||||
|
"messaging_disabled_prompt": "El envío de mensajes está deshabilitado",
|
||||||
|
"new_message_prompt": "Nuevo mensaje",
|
||||||
|
"image_caption_prompt": "Añade un comentario",
|
||||||
|
"file_attachment_too_large": "El tamaño del archivo {size} excede el límite de {limit}.",
|
||||||
|
"cannot_initiate_file_upload": "No se pudo iniciar la carga del archivo.",
|
||||||
|
"tags_not_found": "No hay etiquetas definidas. Añade unas.",
|
||||||
|
"tags_editor_no_tags": "Añadir etiquetas",
|
||||||
|
"title_manage_tags": "Gestionar"
|
||||||
|
}
|
||||||
@@ -0,0 +1,177 @@
|
|||||||
|
{
|
||||||
|
"validate_credential_action": "확인",
|
||||||
|
"title_tag_manager": "태그(사용자검색)",
|
||||||
|
"label_user_contacts": "연락처: ",
|
||||||
|
"button_add_another": "다른항목추가",
|
||||||
|
"label_message_sound": "메시지소리: ",
|
||||||
|
"label_push_notifications": "통지경보: ",
|
||||||
|
"label_push_notifications_disabled": "통지경보(HTTPS필요): ",
|
||||||
|
"label_incognito_mode": "시크릿모드: ",
|
||||||
|
"delete_account": "계정삭제",
|
||||||
|
"delete_account_arning": "계정을삭제하시겠습니까?실행취소할수없습니다.",
|
||||||
|
"label_password": "비밀번호",
|
||||||
|
"password_unchanged_prompt": "변경되지않음",
|
||||||
|
"button_logout": "로그아웃",
|
||||||
|
"button_delete_account": "계정삭제",
|
||||||
|
"label_default_access_mode": "기본액세스모드: ",
|
||||||
|
"blocked_contacts_link": "차단된연락처({수})",
|
||||||
|
"link_contact_us": "문의처",
|
||||||
|
"link_terms_of_service": "서비스약관",
|
||||||
|
"link_privacy_policy": "개인정보보호정책",
|
||||||
|
"label_sdk": "SDK:",
|
||||||
|
"label_server_address": "서버주소: ",
|
||||||
|
"archived_contacts": "보관된연락처({수})",
|
||||||
|
"contacts_not_found": "채팅이없습니다<br/>¯∖_(ツ)_/¯",
|
||||||
|
"full_name_prompt": "전체이름(예:홍길동)",
|
||||||
|
"email_prompt": "이메일(예:hong@example.com)",
|
||||||
|
"button_sign_up": "가입",
|
||||||
|
"label_your_name": "이름",
|
||||||
|
"label_user_id": "ID:",
|
||||||
|
"button_edit": "편집",
|
||||||
|
"requested_permissions": "요청",
|
||||||
|
"grant_permissions": ":!![OBSOLETE]!!:승인",
|
||||||
|
"menu_item_edit_permissions": "편집권한",
|
||||||
|
"label_other_user": "기타",
|
||||||
|
"action_clear_messages": "메시지지우기",
|
||||||
|
"clear_messages_warning": "모든메시지를지우시겠습니까?실행취소할수없습니다.",
|
||||||
|
"action_delete_messages": "모든메시지지우기",
|
||||||
|
"delete_messages_warning": "모든사람의모든메시지를삭제하시겠습니까?실행취소할수없습니다.",
|
||||||
|
"action_leave_chat": "대화나누기",
|
||||||
|
"leave_chat_warning": "이대화를나가시겠습니까?",
|
||||||
|
"action_block_contact": "연락차단",
|
||||||
|
"block_contact_warning": "이연락처를차단하시겠습니까?",
|
||||||
|
"action_report_chat": "대화기록",
|
||||||
|
"report_chat_warning": "이대화를차단하고기록하시겠습니까?",
|
||||||
|
"title_info": "정보",
|
||||||
|
"label_topic_name": "이름",
|
||||||
|
"label_private": "개인코멘트",
|
||||||
|
"private_editing_placeholder": "나만볼수있습니다",
|
||||||
|
"label_muting_topic": "음소거: ",
|
||||||
|
"action_more": "더보기",
|
||||||
|
"label_your_permissions": "권한: ",
|
||||||
|
"label_permissions": "권한: ",
|
||||||
|
"label_you": "당신: ",
|
||||||
|
"label_default_access": "기본액세스모드: ",
|
||||||
|
"label_group_members": "그룹회원: ",
|
||||||
|
"button_add_members": "회원추가",
|
||||||
|
"group_has_no_members": "회원없음",
|
||||||
|
"login_prompt": "로그인",
|
||||||
|
"password_prompt": "비밀번호",
|
||||||
|
"stay_logged_in": "로그인상태유지",
|
||||||
|
"forgot_password_link": "비밀번호를잊으셨습니까?",
|
||||||
|
"button_sign_in": "로그인",
|
||||||
|
"label_client": "클라이언트: ",
|
||||||
|
"label_server": "서버: ",
|
||||||
|
"online_now": "현재접속중",
|
||||||
|
"last_seen_timestamp": "마지막으로본",
|
||||||
|
"title_not_found": "찾을수없음",
|
||||||
|
"unnamed_topic": "이름없는",
|
||||||
|
"message_not_readable": ":!![OBSOLETE]!!:메시지에접근할수없음",
|
||||||
|
"peers_messaging_disabled": "동료의메시지가비활성화되었습니다.",
|
||||||
|
"enable_peers_messaging": "활성화",
|
||||||
|
"search_for_contacts": "검색을사용하여연락처찾기",
|
||||||
|
"search_no_results": "검색결과가없습니다",
|
||||||
|
"tabtitle_find_user": "찾기",
|
||||||
|
"tabtitle_new_group": "새그룹",
|
||||||
|
"tabtitle_group_by_id": "id로",
|
||||||
|
"new_password_placeholder": "새비밀번호입력",
|
||||||
|
"label_reset_password": "비밀번호재설정이메일보내기: ",
|
||||||
|
"credential_email_prompt": "등록이메일",
|
||||||
|
"button_reset": "재설정",
|
||||||
|
"button_send_request": "요청보내기",
|
||||||
|
"label_server_to_use": "사용할서버:",
|
||||||
|
"label_wire_transport": "와이어수송:",
|
||||||
|
"button_update": "업데이트",
|
||||||
|
"sidepanel_title_login": "로그인",
|
||||||
|
"sidepanel_title_register": "계정만들기",
|
||||||
|
"sidepanel_title_settings": "설정",
|
||||||
|
"sidepanel_title_account_settings": "계정설정",
|
||||||
|
"sidepanel_title_acc_general": "일반",
|
||||||
|
"sidepanel_title_acc_security": "보안",
|
||||||
|
"sidepanel_title_acc_notifications": "알림",
|
||||||
|
"sidepanel_title_acc_support": "지원",
|
||||||
|
"sidepanel_title_newtpk": "새채팅시작",
|
||||||
|
"sidepanel_title_cred": "자격증명확인",
|
||||||
|
"sidepanel_title_reset": "비밀번호재설정",
|
||||||
|
"sidepanel_title_archive": "보관된채팅",
|
||||||
|
"sidepanel_title_blocked": "차단된채팅",
|
||||||
|
"update_available": "업데이트가능.",
|
||||||
|
"reload_update": "재로드",
|
||||||
|
"reconnect_countdown": "연결이끊어졌습니다.다시연결하는중{초}…",
|
||||||
|
"reconnect_now": "지금시도",
|
||||||
|
"push_init_failed": "푸시알림을초기화하지못했습니다",
|
||||||
|
"invalid_security_token": "유효하지않은보안토큰",
|
||||||
|
"no_connection": "연결없음",
|
||||||
|
"code_doesnot_match": "코드가일치하지않습니다",
|
||||||
|
"phone_dative": "전화",
|
||||||
|
"email_dative": "이메일",
|
||||||
|
"enter_confirmation_code_prompt": "{방법}으로보낸확인코드를입력하십시오:",
|
||||||
|
"numeric_confirmation_code_prompt": "숫자만",
|
||||||
|
"button_confirm": "확인",
|
||||||
|
"save_attachment": "저장",
|
||||||
|
"delete_content": ":!![OBSOLETE]!!:컨텐츠삭제",
|
||||||
|
"invalid_content": "잘못된내용",
|
||||||
|
"user_not_found": "찾을수없음",
|
||||||
|
"badge_you": "당신",
|
||||||
|
"badge_owner": "소유자",
|
||||||
|
"menu_item_info": "정보",
|
||||||
|
"menu_item_clear_messages": "메시지지우기",
|
||||||
|
"menu_item_clear_messages_for_all": "모두지우기",
|
||||||
|
"menu_item_delete": "삭제",
|
||||||
|
"menu_item_delete_for_all": "모두삭제",
|
||||||
|
"menu_item_send_retry": "다시시도",
|
||||||
|
"menu_item_mute": "음소거",
|
||||||
|
"menu_item_unmute": "음소거해제",
|
||||||
|
"menu_item_delete_topic": "삭제",
|
||||||
|
"topic_delete_warning": "이대화를삭제하시겠습니까?",
|
||||||
|
"menu_item_unblock": "차단해제",
|
||||||
|
"menu_item_block": "차단",
|
||||||
|
"topic_block_warning": "이대화를차단하시겠습니까?",
|
||||||
|
"menu_item_member_delete": "제거",
|
||||||
|
"menu_item_archive_topic": "보관",
|
||||||
|
"action_cancel": "취소",
|
||||||
|
"upload_finishing": "마무리...",
|
||||||
|
"no_contacts": "연락처가없습니다 (._.)",
|
||||||
|
"contacts_not_found_short": "'{문의}'와일치하는연락처가없습니다.",
|
||||||
|
"title_group_members": "그룹구성원",
|
||||||
|
"title_all_contacts": "모든연락처",
|
||||||
|
"button_ok": "OK",
|
||||||
|
"button_cancel": "취소",
|
||||||
|
"more_online_members": "+{넘침}더보기",
|
||||||
|
"download_action": "다운로드",
|
||||||
|
"label_file_name": "파일이름: ",
|
||||||
|
"label_content_type": "컨텐츠유형: ",
|
||||||
|
"label_size": "크기: ",
|
||||||
|
"chat_invitation": "새로운대화를시작하도록초대되었습니다.무엇을하시겠습니까?",
|
||||||
|
"chat_invitation_accept": "수락",
|
||||||
|
"chat_invitation_ignore": "무시",
|
||||||
|
"chat_invitation_block": "차단",
|
||||||
|
"error_invalid_id": "잘못된ID",
|
||||||
|
"group_user_id_prompt": "그룹또는사용자ID",
|
||||||
|
"button_subscribe": "구독",
|
||||||
|
"topic_name_editing_placeholder": "그룹의자유형이름",
|
||||||
|
"button_create": "작성",
|
||||||
|
"permission_join": "참여({val})",
|
||||||
|
"permission_read": "읽기({val})",
|
||||||
|
"permission_write": "쓰기({val})",
|
||||||
|
"permission_pres": "알림받기({val})",
|
||||||
|
"permission_admin": "승인({val})",
|
||||||
|
"permission_share": "공유({val})",
|
||||||
|
"permission_delete": "삭제({val})",
|
||||||
|
"permission_owner": "소유자({val})",
|
||||||
|
"title_permissions": "권한",
|
||||||
|
"message_sending": "보내기...",
|
||||||
|
"message_sending_failed": "실패",
|
||||||
|
"search_placeholder": "email:alice@example.com,tel:17025550003...와같은목록",
|
||||||
|
"messaging_disabled_prompt": "메시지비활성화",
|
||||||
|
"new_message_prompt": "새메시지",
|
||||||
|
"image_caption_prompt": "이미지설명",
|
||||||
|
"file_attachment_too_large": "파일크기{크기}이(가){제한}제한을초과합니다.",
|
||||||
|
"cannot_initiate_file_upload": "파일업로드를시작할수없습니다.",
|
||||||
|
"tags_not_found": "태그가정의되지않았습니다.일부를추가하십시오.",
|
||||||
|
"tags_editor_no_tags": "일부태그추가",
|
||||||
|
"title_manage_tags": "관리",
|
||||||
|
"granted_permissions": ":!![MISSING]!!:Granted",
|
||||||
|
"messages_not_readable": ":!![MISSING]!!:no access to messages",
|
||||||
|
"deleted_content": ":!![MISSING]!!:content deleted"
|
||||||
|
}
|
||||||
@@ -118,7 +118,8 @@
|
|||||||
"button_create": "Создать",
|
"button_create": "Создать",
|
||||||
"badge_you": "вы",
|
"badge_you": "вы",
|
||||||
"badge_owner": "влад.",
|
"badge_owner": "влад.",
|
||||||
"update_available": "Есть новая версия приложения. <a href=\"\">Обновить</a>.",
|
"update_available": "Есть новая версия приложения.",
|
||||||
|
"reload_update": "Обновить",
|
||||||
"user_not_found": "Не найден",
|
"user_not_found": "Не найден",
|
||||||
"reconnect_countdown": "Нет связи. Подключение через {seconds}…",
|
"reconnect_countdown": "Нет связи. Подключение через {seconds}…",
|
||||||
"reconnect_now": "Подключить сейчас.",
|
"reconnect_now": "Подключить сейчас.",
|
||||||
|
|||||||
@@ -66,7 +66,8 @@
|
|||||||
"sidepanel_title_cred": "确认凭据",
|
"sidepanel_title_cred": "确认凭据",
|
||||||
"sidepanel_title_reset": "重置密码",
|
"sidepanel_title_reset": "重置密码",
|
||||||
"sidepanel_title_archive": "已存档会话",
|
"sidepanel_title_archive": "已存档会话",
|
||||||
"update_available": "更新可用。<a href=\"\">重新载入</a>.",
|
"update_available": "更新可用。",
|
||||||
|
"reload_update": "重新载入",
|
||||||
"reconnect_countdown": "连接已断开。{seconds} 秒后重新连接…",
|
"reconnect_countdown": "连接已断开。{seconds} 秒后重新连接…",
|
||||||
"reconnect_now": "立即尝试",
|
"reconnect_now": "立即尝试",
|
||||||
"phone_dative": "电话",
|
"phone_dative": "电话",
|
||||||
|
|||||||
@@ -96,13 +96,14 @@
|
|||||||
"sidepanel_title_reset": "Reset Password",
|
"sidepanel_title_reset": "Reset Password",
|
||||||
"sidepanel_title_archive": "Archived Chats",
|
"sidepanel_title_archive": "Archived Chats",
|
||||||
"sidepanel_title_blocked": "Blocked Chats",
|
"sidepanel_title_blocked": "Blocked Chats",
|
||||||
"update_available": "Update available. <a href=\"\">Reload</a>.",
|
|
||||||
"reconnect_countdown": "Disconnected. Reconnecting in {seconds}…",
|
"reconnect_countdown": "Disconnected. Reconnecting in {seconds}…",
|
||||||
"reconnect_now": "Try now",
|
"reconnect_now": "Try now",
|
||||||
"push_init_failed": "Failed to initialize push notifications",
|
"push_init_failed": "Failed to initialize push notifications",
|
||||||
"invalid_security_token": "Invalid security token",
|
"invalid_security_token": "Invalid security token",
|
||||||
"no_connection": "No connection",
|
"no_connection": "No connection",
|
||||||
"code_doesnot_match": "Code does not match",
|
"code_doesnot_match": "Code does not match",
|
||||||
|
"update_available": "Update available.",
|
||||||
|
"reload_update": "Reload",
|
||||||
"phone_dative": "phone",
|
"phone_dative": "phone",
|
||||||
"email_dative": "email",
|
"email_dative": "email",
|
||||||
"enter_confirmation_code_prompt": "Enter confirmation code sent to you by {method}:",
|
"enter_confirmation_code_prompt": "Enter confirmation code sent to you by {method}:",
|
||||||
@@ -172,6 +173,351 @@
|
|||||||
"tags_editor_no_tags": "Add some tags",
|
"tags_editor_no_tags": "Add some tags",
|
||||||
"title_manage_tags": "Manage"
|
"title_manage_tags": "Manage"
|
||||||
},
|
},
|
||||||
|
"es": {
|
||||||
|
"validate_credential_action": "confirmar",
|
||||||
|
"title_tag_manager": "Etiquetas (descubrimiento de usuarios)",
|
||||||
|
"label_user_contacts": "Contactos:",
|
||||||
|
"button_add_another": "Añadir contacto",
|
||||||
|
"label_message_sound": "Sonido de mensaje:",
|
||||||
|
"label_push_notifications": "Alertas de notificaciones:",
|
||||||
|
"label_push_notifications_disabled": "Alertas de notificaciones (requiere HTTPS):",
|
||||||
|
"label_incognito_mode": "Modo incógnito:",
|
||||||
|
"delete_account": "Eliminar cuenta",
|
||||||
|
"delete_account_arning": "¿Estás seguro de que deseas eliminar permanentemente tu cuenta? Esta acción es irreversible.",
|
||||||
|
"label_password": "Contraseña",
|
||||||
|
"password_unchanged_prompt": "Sin cambios",
|
||||||
|
"button_logout": "Cerrar sesión",
|
||||||
|
"button_delete_account": "Eliminar cuenta",
|
||||||
|
"label_default_access_mode": "Modo de acceso predeterminado:",
|
||||||
|
"blocked_contacts_link": "Contactos bloqueados ({count})",
|
||||||
|
"link_contact_us": "Contáctanos",
|
||||||
|
"link_terms_of_service": "Términos de uso",
|
||||||
|
"link_privacy_policy": "Política de privacidad",
|
||||||
|
"label_sdk": "SDK:",
|
||||||
|
"label_server_address": "Dirección del servidor:",
|
||||||
|
"archived_contacts": "Contactos archivados ({count})",
|
||||||
|
"contacts_not_found": "No tienes chats<br />¯∖_(ツ)_/¯",
|
||||||
|
"full_name_prompt": "Nombre completo, p.ej. Juan González Hernández",
|
||||||
|
"email_prompt": "Correo electrónico, p.ej. juan@example.com",
|
||||||
|
"button_sign_up": "Regístrate",
|
||||||
|
"label_your_name": "Tu nombre",
|
||||||
|
"label_user_id": "ID:",
|
||||||
|
"button_edit": "Editar",
|
||||||
|
"requested_permissions": "Solicitados",
|
||||||
|
"granted_permissions": "Otorgados",
|
||||||
|
"menu_item_edit_permissions": "Editar permisos",
|
||||||
|
"label_other_user": "Otros",
|
||||||
|
"action_clear_messages": "Borrar mensajes",
|
||||||
|
"clear_messages_warning": "¿Estás seguro de que quieres eliminar todos los mensajes? Esta acción es irreversible.",
|
||||||
|
"action_delete_messages": "Borrar mensajes para todos",
|
||||||
|
"delete_messages_warning": "¿Estás seguro de que quieres eliminar todos los mensajes para todos? Esta acción es irreversible.",
|
||||||
|
"action_leave_chat": "Dejar conversación",
|
||||||
|
"leave_chat_warning": "¿Estás seguro de que quieres dejar esta conversación?",
|
||||||
|
"action_block_contact": "Bloquear contacto",
|
||||||
|
"block_contact_warning": "¿Estás seguro de que quieres bloquear a este contacto?",
|
||||||
|
"action_report_chat": "Reportar conversación",
|
||||||
|
"report_chat_warning": "¿Estás seguro de que quieres bloquear y reportar a esta conversación?",
|
||||||
|
"title_info": "Información",
|
||||||
|
"label_topic_name": "Nombre del tema",
|
||||||
|
"label_private": "Comentario privado",
|
||||||
|
"private_editing_placeholder": "Sólo visible para tí",
|
||||||
|
"label_muting_topic": "Silenciado:",
|
||||||
|
"action_more": "Más",
|
||||||
|
"label_your_permissions": "Tus permisoss:",
|
||||||
|
"label_permissions": "Permisos:",
|
||||||
|
"label_you": "Tú:",
|
||||||
|
"label_default_access": "Modo de acceso predeterminado:",
|
||||||
|
"label_group_members": "Miembros del grupo:",
|
||||||
|
"button_add_members": "Añadir miembros",
|
||||||
|
"group_has_no_members": "No hay miembros",
|
||||||
|
"login_prompt": "Nombre de usuario",
|
||||||
|
"password_prompt": "Contraseña",
|
||||||
|
"stay_logged_in": "Permanecer conectado",
|
||||||
|
"forgot_password_link": "¿Olvidaste tu contraseña?",
|
||||||
|
"button_sign_in": "Entrar",
|
||||||
|
"label_client": "Cliente:",
|
||||||
|
"label_server": "Servidor:",
|
||||||
|
"online_now": "en línea",
|
||||||
|
"last_seen_timestamp": "Últ. vez",
|
||||||
|
"title_not_found": "No encontrado",
|
||||||
|
"unnamed_topic": "Sin nombre",
|
||||||
|
"messages_not_readable": "sin acceso a mensajes",
|
||||||
|
"peers_messaging_disabled": "La mensajería Peer está deshabilitada.",
|
||||||
|
"enable_peers_messaging": "Habilitar",
|
||||||
|
"search_for_contacts": "Usa la búsqueda para encontrar contactos",
|
||||||
|
"search_no_results": "La búsqueda no arrojó resultados",
|
||||||
|
"tabtitle_find_user": "encontrar",
|
||||||
|
"tabtitle_new_group": "nuevo grupo",
|
||||||
|
"tabtitle_group_by_id": "por ID",
|
||||||
|
"new_password_placeholder": "Introduzca una nueva contraseña",
|
||||||
|
"label_reset_password": "Enviar un correo electrónico de restablecimiento de contraseña:",
|
||||||
|
"credential_email_prompt": "Tu correo electrónico de registro",
|
||||||
|
"button_reset": "Restablecer",
|
||||||
|
"button_send_request": "Enviar petición",
|
||||||
|
"label_server_to_use": "Servidor para usar:",
|
||||||
|
"label_wire_transport": "Transporte de alambre:",
|
||||||
|
"button_update": "Actualizar",
|
||||||
|
"sidepanel_title_login": "Iniciar sesión",
|
||||||
|
"sidepanel_title_register": "Crear cuenta",
|
||||||
|
"sidepanel_title_settings": "Ajustes",
|
||||||
|
"sidepanel_title_account_settings": "Ajustes de la cuenta",
|
||||||
|
"sidepanel_title_acc_general": "General",
|
||||||
|
"sidepanel_title_acc_security": "Seguridad",
|
||||||
|
"sidepanel_title_acc_notifications": "Notificaciones",
|
||||||
|
"sidepanel_title_acc_support": "Soporte",
|
||||||
|
"sidepanel_title_newtpk": "Iniciar un nuevo chat",
|
||||||
|
"sidepanel_title_cred": "Confirmar credenciales",
|
||||||
|
"sidepanel_title_reset": "Restablecer contraseña",
|
||||||
|
"sidepanel_title_archive": "Chats archivados",
|
||||||
|
"sidepanel_title_blocked": "Chats bloqueados",
|
||||||
|
"update_available": "Actualización disponible.",
|
||||||
|
"reload_update": "Recargar",
|
||||||
|
"reconnect_countdown": "Desconectado. Reconectando en {seconds}…",
|
||||||
|
"reconnect_now": "Reintentar",
|
||||||
|
"push_init_failed": "Error al inicializar las notificaciones push",
|
||||||
|
"invalid_security_token": "Token de seguridad inválido",
|
||||||
|
"no_connection": "Sin conexión",
|
||||||
|
"code_doesnot_match": "El código no coincide",
|
||||||
|
"phone_dative": "teléfono",
|
||||||
|
"email_dative": "correo electrónico",
|
||||||
|
"enter_confirmation_code_prompt": "Intruduzca el código de confirmación enviado a tu {method}:",
|
||||||
|
"numeric_confirmation_code_prompt": "Sólo números",
|
||||||
|
"button_confirm": "Confirmar",
|
||||||
|
"save_attachment": "guardar",
|
||||||
|
"deleted_content": "este mensaje fue eliminado",
|
||||||
|
"invalid_content": "contenido inválido",
|
||||||
|
"user_not_found": "Usuario no encontrado",
|
||||||
|
"badge_you": "tú",
|
||||||
|
"badge_owner": "propietario",
|
||||||
|
"menu_item_info": "Información",
|
||||||
|
"menu_item_clear_messages": "Borrar mensajes",
|
||||||
|
"menu_item_clear_messages_for_all": "Borrar para todos",
|
||||||
|
"menu_item_delete": "Eliminar",
|
||||||
|
"menu_item_delete_for_all": "Eliminar para todos",
|
||||||
|
"menu_item_send_retry": "Inténtalo de nuevo",
|
||||||
|
"menu_item_mute": "Silenciar",
|
||||||
|
"menu_item_unmute": "Anular el silencio",
|
||||||
|
"menu_item_delete_topic": "Eliminar",
|
||||||
|
"topic_delete_warning": "¿Estás seguro de que quieres eliminar esta conversación?",
|
||||||
|
"menu_item_unblock": "Desbloquear",
|
||||||
|
"menu_item_block": "Bloquear",
|
||||||
|
"topic_block_warning": "¿Estás seguro de que quieres bloquear esta conversación",
|
||||||
|
"menu_item_member_delete": "Eliminar",
|
||||||
|
"menu_item_archive_topic": "Archivar",
|
||||||
|
"action_cancel": "cancelar",
|
||||||
|
"upload_finishing": "terminando...",
|
||||||
|
"no_contacts": "No tienes contactos :-(",
|
||||||
|
"contacts_not_found_short": "Ningún contacto coincide con ''{query}''",
|
||||||
|
"title_group_members": "Miembros del grupo",
|
||||||
|
"title_all_contacts": "Todos los contactos",
|
||||||
|
"button_ok": "OK",
|
||||||
|
"button_cancel": "Cancelar",
|
||||||
|
"more_online_members": "+{overflow} más",
|
||||||
|
"download_action": "descargar",
|
||||||
|
"label_file_name": "Nombre del archivo:",
|
||||||
|
"label_content_type": "Tipo de contenido:",
|
||||||
|
"label_size": "Tamaño:",
|
||||||
|
"chat_invitation": "Estás invitado a participar en un nuevo chat. ¿Qué te gustaría hacer?",
|
||||||
|
"chat_invitation_accept": "Aceptar",
|
||||||
|
"chat_invitation_ignore": "Ignorar",
|
||||||
|
"chat_invitation_block": "Bloquear",
|
||||||
|
"error_invalid_id": "ID inválido",
|
||||||
|
"group_user_id_prompt": "ID del grupo o usuario",
|
||||||
|
"button_subscribe": "Suscribirse",
|
||||||
|
"topic_name_editing_placeholder": "Nombre del grupo",
|
||||||
|
"button_create": "Crear",
|
||||||
|
"permission_join": "Unirse ({val})",
|
||||||
|
"permission_read": "Leer ({val})",
|
||||||
|
"permission_write": "Escribir ({val})",
|
||||||
|
"permission_pres": "Ser notificado ({val})",
|
||||||
|
"permission_admin": "Approbar ({val})",
|
||||||
|
"permission_share": "Compartir ({val})",
|
||||||
|
"permission_delete": "Eliminar ({val})",
|
||||||
|
"permission_owner": "Propietario ({val})",
|
||||||
|
"title_permissions": "Permisos",
|
||||||
|
"message_sending": "enviando...",
|
||||||
|
"message_sending_failed": "no se pudo enviar el mensaje",
|
||||||
|
"search_placeholder": "Ej. email:alice@example.com, tel:17025550003...",
|
||||||
|
"messaging_disabled_prompt": "El envío de mensajes está deshabilitado",
|
||||||
|
"new_message_prompt": "Nuevo mensaje",
|
||||||
|
"image_caption_prompt": "Añade un comentario",
|
||||||
|
"file_attachment_too_large": "El tamaño del archivo {size} excede el límite de {limit}.",
|
||||||
|
"cannot_initiate_file_upload": "No se pudo iniciar la carga del archivo.",
|
||||||
|
"tags_not_found": "No hay etiquetas definidas. Añade unas.",
|
||||||
|
"tags_editor_no_tags": "Añadir etiquetas",
|
||||||
|
"title_manage_tags": "Gestionar"
|
||||||
|
},
|
||||||
|
"ko": {
|
||||||
|
"validate_credential_action": "확인",
|
||||||
|
"title_tag_manager": "태그(사용자검색)",
|
||||||
|
"label_user_contacts": "연락처: ",
|
||||||
|
"button_add_another": "다른항목추가",
|
||||||
|
"label_message_sound": "메시지소리: ",
|
||||||
|
"label_push_notifications": "통지경보: ",
|
||||||
|
"label_push_notifications_disabled": "통지경보(HTTPS필요): ",
|
||||||
|
"label_incognito_mode": "시크릿모드: ",
|
||||||
|
"delete_account": "계정삭제",
|
||||||
|
"delete_account_arning": "계정을삭제하시겠습니까?실행취소할수없습니다.",
|
||||||
|
"label_password": "비밀번호",
|
||||||
|
"password_unchanged_prompt": "변경되지않음",
|
||||||
|
"button_logout": "로그아웃",
|
||||||
|
"button_delete_account": "계정삭제",
|
||||||
|
"label_default_access_mode": "기본액세스모드: ",
|
||||||
|
"blocked_contacts_link": "차단된연락처({수})",
|
||||||
|
"link_contact_us": "문의처",
|
||||||
|
"link_terms_of_service": "서비스약관",
|
||||||
|
"link_privacy_policy": "개인정보보호정책",
|
||||||
|
"label_sdk": "SDK:",
|
||||||
|
"label_server_address": "서버주소: ",
|
||||||
|
"archived_contacts": "보관된연락처({수})",
|
||||||
|
"contacts_not_found": "채팅이없습니다<br/>¯∖_(ツ)_/¯",
|
||||||
|
"full_name_prompt": "전체이름(예:홍길동)",
|
||||||
|
"email_prompt": "이메일(예:hong@example.com)",
|
||||||
|
"button_sign_up": "가입",
|
||||||
|
"label_your_name": "이름",
|
||||||
|
"label_user_id": "ID:",
|
||||||
|
"button_edit": "편집",
|
||||||
|
"requested_permissions": "요청",
|
||||||
|
"menu_item_edit_permissions": "편집권한",
|
||||||
|
"label_other_user": "기타",
|
||||||
|
"action_clear_messages": "메시지지우기",
|
||||||
|
"clear_messages_warning": "모든메시지를지우시겠습니까?실행취소할수없습니다.",
|
||||||
|
"action_delete_messages": "모든메시지지우기",
|
||||||
|
"delete_messages_warning": "모든사람의모든메시지를삭제하시겠습니까?실행취소할수없습니다.",
|
||||||
|
"action_leave_chat": "대화나누기",
|
||||||
|
"leave_chat_warning": "이대화를나가시겠습니까?",
|
||||||
|
"action_block_contact": "연락차단",
|
||||||
|
"block_contact_warning": "이연락처를차단하시겠습니까?",
|
||||||
|
"action_report_chat": "대화기록",
|
||||||
|
"report_chat_warning": "이대화를차단하고기록하시겠습니까?",
|
||||||
|
"title_info": "정보",
|
||||||
|
"label_topic_name": "이름",
|
||||||
|
"label_private": "개인코멘트",
|
||||||
|
"private_editing_placeholder": "나만볼수있습니다",
|
||||||
|
"label_muting_topic": "음소거: ",
|
||||||
|
"action_more": "더보기",
|
||||||
|
"label_your_permissions": "권한: ",
|
||||||
|
"label_permissions": "권한: ",
|
||||||
|
"label_you": "당신: ",
|
||||||
|
"label_default_access": "기본액세스모드: ",
|
||||||
|
"label_group_members": "그룹회원: ",
|
||||||
|
"button_add_members": "회원추가",
|
||||||
|
"group_has_no_members": "회원없음",
|
||||||
|
"login_prompt": "로그인",
|
||||||
|
"password_prompt": "비밀번호",
|
||||||
|
"stay_logged_in": "로그인상태유지",
|
||||||
|
"forgot_password_link": "비밀번호를잊으셨습니까?",
|
||||||
|
"button_sign_in": "로그인",
|
||||||
|
"label_client": "클라이언트: ",
|
||||||
|
"label_server": "서버: ",
|
||||||
|
"online_now": "현재접속중",
|
||||||
|
"last_seen_timestamp": "마지막으로본",
|
||||||
|
"title_not_found": "찾을수없음",
|
||||||
|
"unnamed_topic": "이름없는",
|
||||||
|
"peers_messaging_disabled": "동료의메시지가비활성화되었습니다.",
|
||||||
|
"enable_peers_messaging": "활성화",
|
||||||
|
"search_for_contacts": "검색을사용하여연락처찾기",
|
||||||
|
"search_no_results": "검색결과가없습니다",
|
||||||
|
"tabtitle_find_user": "찾기",
|
||||||
|
"tabtitle_new_group": "새그룹",
|
||||||
|
"tabtitle_group_by_id": "id로",
|
||||||
|
"new_password_placeholder": "새비밀번호입력",
|
||||||
|
"label_reset_password": "비밀번호재설정이메일보내기: ",
|
||||||
|
"credential_email_prompt": "등록이메일",
|
||||||
|
"button_reset": "재설정",
|
||||||
|
"button_send_request": "요청보내기",
|
||||||
|
"label_server_to_use": "사용할서버:",
|
||||||
|
"label_wire_transport": "와이어수송:",
|
||||||
|
"button_update": "업데이트",
|
||||||
|
"sidepanel_title_login": "로그인",
|
||||||
|
"sidepanel_title_register": "계정만들기",
|
||||||
|
"sidepanel_title_settings": "설정",
|
||||||
|
"sidepanel_title_account_settings": "계정설정",
|
||||||
|
"sidepanel_title_acc_general": "일반",
|
||||||
|
"sidepanel_title_acc_security": "보안",
|
||||||
|
"sidepanel_title_acc_notifications": "알림",
|
||||||
|
"sidepanel_title_acc_support": "지원",
|
||||||
|
"sidepanel_title_newtpk": "새채팅시작",
|
||||||
|
"sidepanel_title_cred": "자격증명확인",
|
||||||
|
"sidepanel_title_reset": "비밀번호재설정",
|
||||||
|
"sidepanel_title_archive": "보관된채팅",
|
||||||
|
"sidepanel_title_blocked": "차단된채팅",
|
||||||
|
"update_available": "업데이트가능.",
|
||||||
|
"reload_update": "재로드",
|
||||||
|
"reconnect_countdown": "연결이끊어졌습니다.다시연결하는중{초}…",
|
||||||
|
"reconnect_now": "지금시도",
|
||||||
|
"push_init_failed": "푸시알림을초기화하지못했습니다",
|
||||||
|
"invalid_security_token": "유효하지않은보안토큰",
|
||||||
|
"no_connection": "연결없음",
|
||||||
|
"code_doesnot_match": "코드가일치하지않습니다",
|
||||||
|
"phone_dative": "전화",
|
||||||
|
"email_dative": "이메일",
|
||||||
|
"enter_confirmation_code_prompt": "{방법}으로보낸확인코드를입력하십시오:",
|
||||||
|
"numeric_confirmation_code_prompt": "숫자만",
|
||||||
|
"button_confirm": "확인",
|
||||||
|
"save_attachment": "저장",
|
||||||
|
"invalid_content": "잘못된내용",
|
||||||
|
"user_not_found": "찾을수없음",
|
||||||
|
"badge_you": "당신",
|
||||||
|
"badge_owner": "소유자",
|
||||||
|
"menu_item_info": "정보",
|
||||||
|
"menu_item_clear_messages": "메시지지우기",
|
||||||
|
"menu_item_clear_messages_for_all": "모두지우기",
|
||||||
|
"menu_item_delete": "삭제",
|
||||||
|
"menu_item_delete_for_all": "모두삭제",
|
||||||
|
"menu_item_send_retry": "다시시도",
|
||||||
|
"menu_item_mute": "음소거",
|
||||||
|
"menu_item_unmute": "음소거해제",
|
||||||
|
"menu_item_delete_topic": "삭제",
|
||||||
|
"topic_delete_warning": "이대화를삭제하시겠습니까?",
|
||||||
|
"menu_item_unblock": "차단해제",
|
||||||
|
"menu_item_block": "차단",
|
||||||
|
"topic_block_warning": "이대화를차단하시겠습니까?",
|
||||||
|
"menu_item_member_delete": "제거",
|
||||||
|
"menu_item_archive_topic": "보관",
|
||||||
|
"action_cancel": "취소",
|
||||||
|
"upload_finishing": "마무리...",
|
||||||
|
"no_contacts": "연락처가없습니다 (._.)",
|
||||||
|
"contacts_not_found_short": "'{문의}'와일치하는연락처가없습니다.",
|
||||||
|
"title_group_members": "그룹구성원",
|
||||||
|
"title_all_contacts": "모든연락처",
|
||||||
|
"button_ok": "OK",
|
||||||
|
"button_cancel": "취소",
|
||||||
|
"more_online_members": "+{넘침}더보기",
|
||||||
|
"download_action": "다운로드",
|
||||||
|
"label_file_name": "파일이름: ",
|
||||||
|
"label_content_type": "컨텐츠유형: ",
|
||||||
|
"label_size": "크기: ",
|
||||||
|
"chat_invitation": "새로운대화를시작하도록초대되었습니다.무엇을하시겠습니까?",
|
||||||
|
"chat_invitation_accept": "수락",
|
||||||
|
"chat_invitation_ignore": "무시",
|
||||||
|
"chat_invitation_block": "차단",
|
||||||
|
"error_invalid_id": "잘못된ID",
|
||||||
|
"group_user_id_prompt": "그룹또는사용자ID",
|
||||||
|
"button_subscribe": "구독",
|
||||||
|
"topic_name_editing_placeholder": "그룹의자유형이름",
|
||||||
|
"button_create": "작성",
|
||||||
|
"permission_join": "참여({val})",
|
||||||
|
"permission_read": "읽기({val})",
|
||||||
|
"permission_write": "쓰기({val})",
|
||||||
|
"permission_pres": "알림받기({val})",
|
||||||
|
"permission_admin": "승인({val})",
|
||||||
|
"permission_share": "공유({val})",
|
||||||
|
"permission_delete": "삭제({val})",
|
||||||
|
"permission_owner": "소유자({val})",
|
||||||
|
"title_permissions": "권한",
|
||||||
|
"message_sending": "보내기...",
|
||||||
|
"message_sending_failed": "실패",
|
||||||
|
"search_placeholder": "email:alice@example.com,tel:17025550003...와같은목록",
|
||||||
|
"messaging_disabled_prompt": "메시지비활성화",
|
||||||
|
"new_message_prompt": "새메시지",
|
||||||
|
"image_caption_prompt": "이미지설명",
|
||||||
|
"file_attachment_too_large": "파일크기{크기}이(가){제한}제한을초과합니다.",
|
||||||
|
"cannot_initiate_file_upload": "파일업로드를시작할수없습니다.",
|
||||||
|
"tags_not_found": "태그가정의되지않았습니다.일부를추가하십시오.",
|
||||||
|
"tags_editor_no_tags": "일부태그추가",
|
||||||
|
"title_manage_tags": "관리"
|
||||||
|
},
|
||||||
"ru": {
|
"ru": {
|
||||||
"contacts_not_found": "Чатов нет<br />¯∖_(ツ)_/¯",
|
"contacts_not_found": "Чатов нет<br />¯∖_(ツ)_/¯",
|
||||||
"full_name_prompt": "Полное имя, напр. Иван Петров",
|
"full_name_prompt": "Полное имя, напр. Иван Петров",
|
||||||
@@ -292,7 +638,8 @@
|
|||||||
"button_create": "Создать",
|
"button_create": "Создать",
|
||||||
"badge_you": "вы",
|
"badge_you": "вы",
|
||||||
"badge_owner": "влад.",
|
"badge_owner": "влад.",
|
||||||
"update_available": "Есть новая версия приложения. <a href=\"\">Обновить</a>.",
|
"update_available": "Есть новая версия приложения.",
|
||||||
|
"reload_update": "Обновить",
|
||||||
"user_not_found": "Не найден",
|
"user_not_found": "Не найден",
|
||||||
"reconnect_countdown": "Нет связи. Подключение через {seconds}…",
|
"reconnect_countdown": "Нет связи. Подключение через {seconds}…",
|
||||||
"reconnect_now": "Подключить сейчас.",
|
"reconnect_now": "Подключить сейчас.",
|
||||||
@@ -413,7 +760,8 @@
|
|||||||
"sidepanel_title_cred": "确认凭据",
|
"sidepanel_title_cred": "确认凭据",
|
||||||
"sidepanel_title_reset": "重置密码",
|
"sidepanel_title_reset": "重置密码",
|
||||||
"sidepanel_title_archive": "已存档会话",
|
"sidepanel_title_archive": "已存档会话",
|
||||||
"update_available": "更新可用。<a href=\"\">重新载入</a>.",
|
"update_available": "更新可用。",
|
||||||
|
"reload_update": "重新载入",
|
||||||
"reconnect_countdown": "连接已断开。{seconds} 秒后重新连接…",
|
"reconnect_countdown": "连接已断开。{seconds} 秒后重新连接…",
|
||||||
"reconnect_now": "立即尝试",
|
"reconnect_now": "立即尝试",
|
||||||
"phone_dative": "电话",
|
"phone_dative": "电话",
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
// This is a generated file. Don't edit.
|
// This is a generated file. Don't edit.
|
||||||
|
|
||||||
export const PACKAGE_VERSION = "0.16.5";
|
export const PACKAGE_VERSION = "0.16.6";
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/* ContactsView holds all contacts-related stuff */
|
/* ContactsView holds all contacts-related stuff */
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
import { FormattedHTMLMessage, defineMessages } from 'react-intl';
|
import { FormattedMessage, defineMessages } from 'react-intl';
|
||||||
|
|
||||||
import ContactList from '../widgets/contact-list.jsx';
|
import ContactList from '../widgets/contact-list.jsx';
|
||||||
|
|
||||||
@@ -85,7 +85,7 @@ export default class ContactsView extends React.Component {
|
|||||||
|
|
||||||
render() {
|
render() {
|
||||||
return (
|
return (
|
||||||
<FormattedHTMLMessage id="contacts_not_found"
|
<FormattedMessage id="contacts_not_found"
|
||||||
defaultMessage="You have no chats<br />¯∖_(ツ)_/¯"
|
defaultMessage="You have no chats<br />¯∖_(ツ)_/¯"
|
||||||
description="HTML message shown in ContactList when no contacts are found">{
|
description="HTML message shown in ContactList when no contacts are found">{
|
||||||
(no_contacts) => <ContactList
|
(no_contacts) => <ContactList
|
||||||
@@ -99,7 +99,7 @@ export default class ContactsView extends React.Component {
|
|||||||
onTopicSelected={this.props.onTopicSelected}
|
onTopicSelected={this.props.onTopicSelected}
|
||||||
showContextMenu={this.props.showContextMenu}
|
showContextMenu={this.props.showContextMenu}
|
||||||
onAction={this.handleAction} />
|
onAction={this.handleAction} />
|
||||||
}</FormattedHTMLMessage>
|
}</FormattedMessage>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
// The top-level class to hold all functionality together.
|
// The top-level class to hold all functionality together.
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
import ReactDOM from 'react-dom';
|
import ReactDOM from 'react-dom';
|
||||||
import { defineMessages, injectIntl } from 'react-intl';
|
import { FormattedMessage, defineMessages, injectIntl } from 'react-intl';
|
||||||
|
|
||||||
import * as firebase from 'firebase/app';
|
import * as firebase from 'firebase/app';
|
||||||
import 'firebase/messaging';
|
import 'firebase/messaging';
|
||||||
@@ -28,11 +28,6 @@ import { updateFavicon } from '../lib/utils.js';
|
|||||||
const POP_SOUND = new Audio('audio/msg.mp3');
|
const POP_SOUND = new Audio('audio/msg.mp3');
|
||||||
|
|
||||||
const messages = defineMessages({
|
const messages = defineMessages({
|
||||||
update_available: {
|
|
||||||
id: 'update_available',
|
|
||||||
defaultMessage: 'Update available. <a href="">Reload</a>.',
|
|
||||||
description: 'Message shown when an app update is available.'
|
|
||||||
},
|
|
||||||
reconnect_countdown: {
|
reconnect_countdown: {
|
||||||
id: 'reconnect_countdown',
|
id: 'reconnect_countdown',
|
||||||
defaultMessage: 'Disconnected. Reconnecting in {seconds}…',
|
defaultMessage: 'Disconnected. Reconnecting in {seconds}…',
|
||||||
@@ -306,12 +301,19 @@ class TinodeWeb extends React.Component {
|
|||||||
|
|
||||||
// Check if a newer version of TinodeWeb app is available at the server.
|
// Check if a newer version of TinodeWeb app is available at the server.
|
||||||
checkForAppUpdate(reg) {
|
checkForAppUpdate(reg) {
|
||||||
const {formatHTMLMessage} = this.props.intl;
|
|
||||||
reg.onupdatefound = () => {
|
reg.onupdatefound = () => {
|
||||||
const installingWorker = reg.installing;
|
const installingWorker = reg.installing;
|
||||||
installingWorker.onstatechange = () => {
|
installingWorker.onstatechange = () => {
|
||||||
if (installingWorker.state == 'installed' && navigator.serviceWorker.controller) {
|
if (installingWorker.state == 'installed' && navigator.serviceWorker.controller) {
|
||||||
this.handleError(formatHTMLMessage(messages.update_available), 'info');
|
const msg = <>
|
||||||
|
<FormattedMessage id="update_available"
|
||||||
|
defaultMessage="Update available."
|
||||||
|
description="Message shown when an app update is available." /> <a href="">
|
||||||
|
<FormattedMessage id="reload_update"
|
||||||
|
defaultMessage="Reload"
|
||||||
|
description="Call to action to reload application when update is available." />
|
||||||
|
</a>.</>;
|
||||||
|
this.handleError(msg, 'info');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -427,19 +429,19 @@ class TinodeWeb extends React.Component {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
const {formatHTMLMessage} = this.props.intl;
|
const {formatMessage} = this.props.intl;
|
||||||
let count = sec / 1000;
|
let count = sec / 1000;
|
||||||
count = count | count;
|
count = count | count;
|
||||||
this.reconnectCountdown = setInterval(() => {
|
this.reconnectCountdown = setInterval(() => {
|
||||||
const timeLeft = (count > 99) ? secondsToTime(count) : count;
|
const timeLeft = (count > 99) ? secondsToTime(count) : count;
|
||||||
this.handleError(
|
this.handleError(
|
||||||
formatHTMLMessage(messages.reconnect_countdown, {seconds: timeLeft}),
|
formatMessage(messages.reconnect_countdown, {seconds: timeLeft}),
|
||||||
'warn',
|
'warn',
|
||||||
() => {
|
() => {
|
||||||
clearInterval(this.reconnectCountdown);
|
clearInterval(this.reconnectCountdown);
|
||||||
this.tinode.reconnect();
|
this.tinode.reconnect();
|
||||||
},
|
},
|
||||||
formatHTMLMessage(messages.reconnect_now)
|
formatMessage(messages.reconnect_now)
|
||||||
);
|
);
|
||||||
count -= 1;
|
count -= 1;
|
||||||
}, 1000);
|
}, 1000);
|
||||||
|
|||||||
@@ -98,7 +98,7 @@ export default class ChatMessage extends React.Component {
|
|||||||
onError={this.props.onError}
|
onError={this.props.onError}
|
||||||
key={i} />);
|
key={i} />);
|
||||||
}, this);
|
}, this);
|
||||||
content = React.createElement('span', null, Drafty.format(content, draftyFormatter, this));
|
content = React.createElement(React.Fragment, null, Drafty.format(content, draftyFormatter, this));
|
||||||
} else if (this.props.deleted) {
|
} else if (this.props.deleted) {
|
||||||
// Message represents a range of deleted messages.
|
// Message represents a range of deleted messages.
|
||||||
content = <><i className="material-icons gray">block</i> <i className="gray">
|
content = <><i className="material-icons gray">block</i> <i className="gray">
|
||||||
|
|||||||
@@ -36,7 +36,7 @@ export default class ErrorPanel extends React.PureComponent {
|
|||||||
<div className={className}>
|
<div className={className}>
|
||||||
<div className="icon"><i className="material-icons">{level}</i></div>
|
<div className="icon"><i className="material-icons">{level}</i></div>
|
||||||
<span>
|
<span>
|
||||||
<span dangerouslySetInnerHTML={{__html: this.props.text}} />
|
{this.props.text}
|
||||||
{this.props.action ?
|
{this.props.action ?
|
||||||
<>
|
<>
|
||||||
 <a href="#"
|
 <a href="#"
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 621 KiB After Width: | Height: | Size: 1.2 MiB |
|
Before Width: | Height: | Size: 1.2 MiB After Width: | Height: | Size: 499 KiB |
|
Before Width: | Height: | Size: 358 KiB After Width: | Height: | Size: 105 KiB |
|
Before Width: | Height: | Size: 343 KiB After Width: | Height: | Size: 116 KiB |
|
Before Width: | Height: | Size: 319 KiB After Width: | Height: | Size: 100 KiB |
@@ -52,9 +52,11 @@ module.exports = (env, argv) => {
|
|||||||
maxAssetSize: 262144
|
maxAssetSize: 262144
|
||||||
},
|
},
|
||||||
plugins: [
|
plugins: [
|
||||||
new CopyPlugin([
|
new CopyPlugin({
|
||||||
|
patterns: [
|
||||||
{ from: `node_modules/tinode-sdk/umd/tinode.${mode}.js`, to: `tinode.${mode}.js` },
|
{ from: `node_modules/tinode-sdk/umd/tinode.${mode}.js`, to: `tinode.${mode}.js` },
|
||||||
]),
|
],
|
||||||
|
}),
|
||||||
],
|
],
|
||||||
externals: {
|
externals: {
|
||||||
'react': 'React',
|
'react': 'React',
|
||||||
|
|||||||