From 53c89ee44b9d5cb22553d8e602777084d146749a Mon Sep 17 00:00:00 2001 From: Claire Date: Fri, 27 May 2022 16:34:29 +0200 Subject: Add language indicator icon and local settings for status icons (#1788) * Add language indicator * Add local settings for status icons * Switch to text icon for language --- .../flavours/glitch/components/status.js | 2 + .../flavours/glitch/components/status_icons.js | 33 +++++++++++++--- .../glitch/features/local_settings/page/index.js | 44 ++++++++++++++++++++++ .../flavours/glitch/reducers/local_settings.js | 7 ++++ .../flavours/glitch/styles/components/index.scss | 11 ++++-- .../flavours/glitch/styles/components/status.scss | 3 +- 6 files changed, 90 insertions(+), 10 deletions(-) (limited to 'app/javascript/flavours/glitch') diff --git a/app/javascript/flavours/glitch/components/status.js b/app/javascript/flavours/glitch/components/status.js index 21f0e3a6f..2201cb382 100644 --- a/app/javascript/flavours/glitch/components/status.js +++ b/app/javascript/flavours/glitch/components/status.js @@ -100,6 +100,7 @@ class Status extends ImmutablePureComponent { scrollKey: PropTypes.string, deployPictureInPicture: PropTypes.func, usingPiP: PropTypes.bool, + settings: ImmutablePropTypes.map.isRequired, }; state = { @@ -755,6 +756,7 @@ class Status extends ImmutablePureComponent { collapsed={isCollapsed} setCollapsed={setCollapsed} directMessage={!!otherAccounts} + settings={settings.get('status_icons')} /> { + if (!languages) return null; + + const lang = languages.find((lang) => lang[0] === language); + if (!lang) return null; + + return ( + + ); +}; + +LanguageIcon.propTypes = { + language: PropTypes.string.isRequired, +}; + export default @injectIntl class StatusIcons extends React.PureComponent { @@ -33,6 +51,7 @@ class StatusIcons extends React.PureComponent { directMessage: PropTypes.bool, setCollapsed: PropTypes.func.isRequired, intl: PropTypes.object.isRequired, + settings: ImmutablePropTypes.map.isRequired, }; // Handles clicks on collapsed button @@ -82,12 +101,14 @@ class StatusIcons extends React.PureComponent { collapsible, collapsed, directMessage, + settings, intl, } = this.props; return (
- {status.get('in_reply_to_id', null) !== null ? ( + {settings.get('language') && status.get('language') && } + {settings.get('reply') && status.get('in_reply_to_id', null) !== null ? ( ) : null} - {status.get('local_only') && + {settings.get('local_only') && status.get('local_only') &&
); } diff --git a/app/javascript/flavours/glitch/features/local_settings/page/index.js b/app/javascript/flavours/glitch/features/local_settings/page/index.js index 4b86a8f6f..2490b6e2d 100644 --- a/app/javascript/flavours/glitch/features/local_settings/page/index.js +++ b/app/javascript/flavours/glitch/features/local_settings/page/index.js @@ -117,6 +117,50 @@ class LocalSettingsPage extends React.PureComponent { + +
+

+ + + + + + + + + + + + + + + +

state.mergeDeep(localSettings); diff --git a/app/javascript/flavours/glitch/styles/components/index.scss b/app/javascript/flavours/glitch/styles/components/index.scss index 373280fc4..f015d898e 100644 --- a/app/javascript/flavours/glitch/styles/components/index.scss +++ b/app/javascript/flavours/glitch/styles/components/index.scss @@ -239,16 +239,21 @@ } } +.text-icon, .text-icon-button { color: $lighter-text-color; + font-weight: 600; + font-size: 11px; + line-height: 27px; + cursor: default; +} + +.text-icon-button { border: 0; border-radius: 4px; background: transparent; cursor: pointer; - font-weight: 600; - font-size: 11px; padding: 0 3px; - line-height: 27px; outline: 0; transition: all 100ms ease-in; transition-property: background-color, color; diff --git a/app/javascript/flavours/glitch/styles/components/status.scss b/app/javascript/flavours/glitch/styles/components/status.scss index 1534ba913..cc424f941 100644 --- a/app/javascript/flavours/glitch/styles/components/status.scss +++ b/app/javascript/flavours/glitch/styles/components/status.scss @@ -488,7 +488,8 @@ .status__media-icon, .status__visibility-icon, - .status__reply-icon { + .status__reply-icon, + .text-icon { padding-left: 2px; padding-right: 2px; } -- cgit From bbda3592d8962e8d67de20c4f3db96c91fcb5ccc Mon Sep 17 00:00:00 2001 From: Jeong Arm Date: Tue, 31 May 2022 18:41:30 +0900 Subject: Translate: Korean (#1790) * Translate Korean: glitch frontend * Translate Korean: backend * Remove unused string * Fix yaml --- app/javascript/flavours/glitch/locales/ko.js | 9 ++++++- config/locales-glitch/ko.yml | 39 +++++++++++++++++++++++----- 2 files changed, 41 insertions(+), 7 deletions(-) (limited to 'app/javascript/flavours/glitch') diff --git a/app/javascript/flavours/glitch/locales/ko.js b/app/javascript/flavours/glitch/locales/ko.js index b67fec187..a817044c1 100644 --- a/app/javascript/flavours/glitch/locales/ko.js +++ b/app/javascript/flavours/glitch/locales/ko.js @@ -37,7 +37,6 @@ const messages = { 'compose_form.poll.single_choice': '하나만 선택 가능', 'compose_form.spoiler': '경고 메시지로 숨기기', 'confirmation_modal.do_not_ask_again': '다음부터 확인창을 띄우지 않기', - 'confirmations.discard_edit_media.confirm': '취소', 'confirmations.discard_edit_media.message': '저장하지 않은 미디어 설명이나 미리보기가 있습니다, 그냥 닫을까요?', 'confirmations.missing_media_description.confirm': '그냥 보내기', 'confirmations.missing_media_description.edit': '미디어 편집', @@ -119,6 +118,7 @@ const messages = { 'settings.content_warnings': '열람주의', 'settings.content_warnings.regexp': '정규표현식', 'settings.content_warnings_filter': '자동으로 펼치지 않을 열람주의 문구:', + 'settings.deprecated_setting': '이 설정은 마스토돈의 {settings_page_link}에서 관리됩니다', 'settings.enable_collapsed': '접힌 글 활성화', 'settings.enable_content_warnings_auto_unfold': '자동으로 열람주의 펼치기', 'settings.filtering_behavior': '필터링 동작', @@ -159,6 +159,7 @@ const messages = { 'settings.rewrite_mentions_acct': '사용자명과 도메인으로 바꾸기(계정이 원격일 때)', 'settings.rewrite_mentions_no': '멘션을 그대로 두기', 'settings.rewrite_mentions_username': '사용자명으로 바꾸기', + 'settings.shared_settings_link': '사용자 설정', 'settings.show_action_bar': '접힌 글에 액션 버튼들 보이기', 'settings.show_content_type_choice': '글을 작성할 때 콘텐트 타입을 고를 수 있도록 합니다', 'settings.show_reply_counter': '대략적인 답글 개수를 표시합니다', @@ -168,6 +169,12 @@ const messages = { 'settings.side_arm_reply_mode.copy': '답글을 달려는 글의 공개설정을 복사합니다', 'settings.side_arm_reply_mode.keep': '보조 작성 버튼의 공개설정을 유지합니다', 'settings.side_arm_reply_mode.restrict': '답글을 달려는 글의 공개설정에 맞게 제한합니다', + 'settings.status_icons': '게시물 아이콘', + 'settings.status_icons_language': '언어 표시', + 'settings.status_icons_local_only': '로컬 전용 표시', + 'settings.status_icons_media': '미디어와 투표 표시', + 'settings.status_icons_reply': '답글 표시', + 'settings.status_icons_visibility': '툿 공개설정 표시', 'settings.swipe_to_change_columns': '스와이프하여 컬럼간 전환을 허용합니다 (모바일 전용)', 'settings.tag_misleading_links': '오해의 소지가 있는 링크를 표시합니다', 'settings.tag_misleading_links.hint': '링크에 명시적으로 주소가 없는 경우엔 대상 호스트를 보이도록 표시합니다', diff --git a/config/locales-glitch/ko.yml b/config/locales-glitch/ko.yml index aef10f677..0e6890db7 100644 --- a/config/locales-glitch/ko.yml +++ b/config/locales-glitch/ko.yml @@ -1,13 +1,33 @@ --- ko: admin: + custom_emojis: + batch_copy_error: '선택된 에모지를 복사하던 중 오류가 발생했습니다: %{message}' + batch_error: '에러가 발생했습니다: %{message}' + domain_allows: + export: 내보내기 + import: 불러오기 + domain_blocks: + export: 내보내기 + import: 불러오기 + export_domain_allows: + new: + title: 도메인 허용 불러오기 + no_file: 파일이 선택되지 않았습니다 + export_domain_blocks: + import: + description_html: 도메인 차단 목록을 불러오려고 합니다. 이 목록을 조심스럽게 검토하세요, 특히 자신이 직접 작성한 목록이 아니라면 더 조심하세요. + existing_relationships_warning: 팔로우 관계가 존재합니다 + private_comment_description_html: '어디서 불러온 것인지 추적을 원활하게 하기 위해서, 불러온 차단들은 다음과 같은 비공개 주석과 함께 생성될 것입니다: %{comment}' + private_comment_template: '%{date}에 %{source}에서 불러옴' + title: 도메인 차단 불러오기 + new: + title: 도메인 차단 불러오기 + no_file: 파일이 선택되지 않았습니다 settings: - enable_keybase: - desc_html: 사용자들이 키베이스를 통해 개인 신원을 증명할 수 있도록 허용 - title: 키베이스 연동 활성화 - outgoing_spoilers: - desc_html: 게시물들을 연합할 때, 열람주의가 달려있지 않다면 이 열람주의를 추가합니다. 다른 서버들이 열람주의를 하길 원하는 콘텐츠들에 특화된 서버에서 유용합니다. 미디어 또한 민감함으로 설정 됩니다. - title: 나가는 게시물에 대한 열람주의 + captcha_enabled: + desc_html: 이것은 hCaptcha의 외부 스크립트에 의존합니다, 이것은 개인정보 보호에 위협을 가할 수도 있습니다. 추가적으로, 이것은 몇몇 사람들(특히나 장애인들)에게 가입 절차의 접근성을 심각하게 떨어트릴 수 있습니다. 이러한 이유로, 대체제로 승인 전용이나 초대제를 통한 가입을 고려해보세요.
한정된 사용만 가능한 초대장을 통한 가입자들은 CAPTCHA를 풀지 않아도 됩니다 + title: 새로운 사용자가 계정 확인을 위해서는 CAPTCHA를 풀어야 하도록 합니다 hide_followers_count: desc_html: 사용자 프로필에 팔로워 수를 표시하지 않습니다 title: 팔로워 수 숨기기 @@ -17,6 +37,13 @@ ko: show_replies_in_public_timelines: desc_html: 자기자신에 대한 답글(글타래)와 마찬가지로, 공개적인 답글을 로컬과 공개 타임라인에 표시합니다. title: 답글을 공개 타임라인에 표시 + trending_status_cw: + desc_html: 유행하는 게시물이 활성화 되었을 때, 열람주의가 설정된 글도 허용합니다. 이 설정의 변경은 소급 적용되지 않습니다. + title: 열람주의를 가진 글이 유행에 오를 수 있도록 허용 + auth: + captcha_confirmation: + hint_html: 한가지 단계가 남았습니다! 계정을 확인하기 위해서는, CAPTCHA를 풀어야 합니다. 질문이 있거나 계정 확인 과정에서 도움을 받고 싶은 경우 서버의 관리자에게 연락해서 해결할 수 있습니다. + title: 사용자 확인 generic: use_this: 사용하기 settings: -- cgit From 1db92b510dc415e75f0daca639033f29b3823c17 Mon Sep 17 00:00:00 2001 From: Jeong Arm Date: Sat, 28 May 2022 22:50:36 +0900 Subject: [Glitch] Add lang html attr to each posts Port dc7e2985e60c90e8efe82e56edb4fdd473bd1651 to glitch-soc Signed-off-by: Claire --- app/javascript/flavours/glitch/components/status_content.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'app/javascript/flavours/glitch') diff --git a/app/javascript/flavours/glitch/components/status_content.js b/app/javascript/flavours/glitch/components/status_content.js index 1d32b35e5..6a027f8d2 100644 --- a/app/javascript/flavours/glitch/components/status_content.js +++ b/app/javascript/flavours/glitch/components/status_content.js @@ -267,6 +267,7 @@ export default class StatusContent extends React.PureComponent { const content = { __html: status.get('contentHtml') }; const spoilerContent = { __html: status.get('spoilerHtml') }; + const lang = status.get('language'); const classNames = classnames('status__content', { 'status__content--with-action': parseClick && !disabled, 'status__content--with-spoiler': status.get('spoiler_text').length > 0, @@ -327,7 +328,7 @@ export default class StatusContent extends React.PureComponent {