diff options
-rw-r--r-- | app/javascript/mastodon/features/keyboard_shortcuts/index.js | 28 | ||||
-rw-r--r-- | app/javascript/mastodon/features/notifications/components/column_settings.js | 32 | ||||
-rw-r--r-- | app/javascript/mastodon/features/notifications/components/setting_toggle.js | 10 | ||||
-rw-r--r-- | app/javascript/mastodon/locales/ko.json | 136 | ||||
-rw-r--r-- | app/javascript/styles/mastodon/components.scss | 2 | ||||
-rw-r--r-- | config/locales/ko.yml | 87 | ||||
-rw-r--r-- | config/locales/simple_form.ko.yml | 6 |
7 files changed, 197 insertions, 104 deletions
diff --git a/app/javascript/mastodon/features/keyboard_shortcuts/index.js b/app/javascript/mastodon/features/keyboard_shortcuts/index.js index 22991fcba..8531e03c0 100644 --- a/app/javascript/mastodon/features/keyboard_shortcuts/index.js +++ b/app/javascript/mastodon/features/keyboard_shortcuts/index.js @@ -33,59 +33,59 @@ export default class KeyboardShortcuts extends ImmutablePureComponent { </thead> <tbody> <tr> - <td><code>r</code></td> + <td><kbd>r</kbd></td> <td><FormattedMessage id='keyboard_shortcuts.reply' defaultMessage='to reply' /></td> </tr> <tr> - <td><code>m</code></td> + <td><kbd>m</kbd></td> <td><FormattedMessage id='keyboard_shortcuts.mention' defaultMessage='to mention author' /></td> </tr> <tr> - <td><code>f</code></td> + <td><kbd>f</kbd></td> <td><FormattedMessage id='keyboard_shortcuts.favourite' defaultMessage='to favourite' /></td> </tr> <tr> - <td><code>b</code></td> + <td><kbd>b</kbd></td> <td><FormattedMessage id='keyboard_shortcuts.boost' defaultMessage='to boost' /></td> </tr> <tr> - <td><code>enter</code></td> + <td><kbd>enter</kbd></td> <td><FormattedMessage id='keyboard_shortcuts.enter' defaultMessage='to open status' /></td> </tr> <tr> - <td><code>up</code></td> + <td><kbd>up</kbd></td> <td><FormattedMessage id='keyboard_shortcuts.up' defaultMessage='to move up in the list' /></td> </tr> <tr> - <td><code>down</code></td> + <td><kbd>down</kbd></td> <td><FormattedMessage id='keyboard_shortcuts.down' defaultMessage='to move down in the list' /></td> </tr> <tr> - <td><code>1</code>-<code>9</code></td> + <td><kbd>1</kbd>-<kbd>9</kbd></td> <td><FormattedMessage id='keyboard_shortcuts.column' defaultMessage='to focus a status in one of the columns' /></td> </tr> <tr> - <td><code>n</code></td> + <td><kbd>n</kbd></td> <td><FormattedMessage id='keyboard_shortcuts.compose' defaultMessage='to focus the compose textarea' /></td> </tr> <tr> - <td><code>alt</code>+<code>n</code></td> + <td><kbd>alt</kbd>+<kbd>n</kbd></td> <td><FormattedMessage id='keyboard_shortcuts.toot' defaultMessage='to start a brand new toot' /></td> </tr> <tr> - <td><code>backspace</code></td> + <td><kbd>backspace</kbd></td> <td><FormattedMessage id='keyboard_shortcuts.back' defaultMessage='to navigate back' /></td> </tr> <tr> - <td><code>s</code></td> + <td><kbd>s</kbd></td> <td><FormattedMessage id='keyboard_shortcuts.search' defaultMessage='to focus search' /></td> </tr> <tr> - <td><code>esc</code></td> + <td><kbd>esc</kbd></td> <td><FormattedMessage id='keyboard_shortcuts.unfocus' defaultMessage='to un-focus compose textarea/search' /></td> </tr> <tr> - <td><code>?</code></td> + <td><kbd>?</kbd></td> <td><FormattedMessage id='keyboard_shortcuts.legend' defaultMessage='to display this legend' /></td> </tr> </tbody> diff --git a/app/javascript/mastodon/features/notifications/components/column_settings.js b/app/javascript/mastodon/features/notifications/components/column_settings.js index 88a29d4d3..57cded4f1 100644 --- a/app/javascript/mastodon/features/notifications/components/column_settings.js +++ b/app/javascript/mastodon/features/notifications/components/column_settings.js @@ -40,10 +40,10 @@ export default class ColumnSettings extends React.PureComponent { <span id='notifications-follow' className='column-settings__section'><FormattedMessage id='notifications.column_settings.follow' defaultMessage='New followers:' /></span> <div className='column-settings__row'> - <SettingToggle prefix='notifications_desktop' settings={settings} settingKey={['alerts', 'follow']} onChange={onChange} label={alertStr} /> - {showPushSettings && <SettingToggle prefix='notifications_push' settings={pushSettings} settingKey={['alerts', 'follow']} meta={pushMeta} onChange={this.onPushChange} label={pushStr} />} - <SettingToggle prefix='notifications' settings={settings} settingKey={['shows', 'follow']} onChange={onChange} label={showStr} /> - <SettingToggle prefix='notifications' settings={settings} settingKey={['sounds', 'follow']} onChange={onChange} label={soundStr} /> + <SettingToggle prefix='notifications_desktop' settings={settings} settingPath={['alerts', 'follow']} onChange={onChange} label={alertStr} /> + {showPushSettings && <SettingToggle prefix='notifications_push' settings={pushSettings} settingPath={['alerts', 'follow']} meta={pushMeta} onChange={this.onPushChange} label={pushStr} />} + <SettingToggle prefix='notifications' settings={settings} settingPath={['shows', 'follow']} onChange={onChange} label={showStr} /> + <SettingToggle prefix='notifications' settings={settings} settingPath={['sounds', 'follow']} onChange={onChange} label={soundStr} /> </div> </div> @@ -51,10 +51,10 @@ export default class ColumnSettings extends React.PureComponent { <span id='notifications-favourite' className='column-settings__section'><FormattedMessage id='notifications.column_settings.favourite' defaultMessage='Favourites:' /></span> <div className='column-settings__row'> - <SettingToggle prefix='notifications_desktop' settings={settings} settingKey={['alerts', 'favourite']} onChange={onChange} label={alertStr} /> - {showPushSettings && <SettingToggle prefix='notifications_push' settings={pushSettings} settingKey={['alerts', 'favourite']} meta={pushMeta} onChange={this.onPushChange} label={pushStr} />} - <SettingToggle prefix='notifications' settings={settings} settingKey={['shows', 'favourite']} onChange={onChange} label={showStr} /> - <SettingToggle prefix='notifications' settings={settings} settingKey={['sounds', 'favourite']} onChange={onChange} label={soundStr} /> + <SettingToggle prefix='notifications_desktop' settings={settings} settingPath={['alerts', 'favourite']} onChange={onChange} label={alertStr} /> + {showPushSettings && <SettingToggle prefix='notifications_push' settings={pushSettings} settingPath={['alerts', 'favourite']} meta={pushMeta} onChange={this.onPushChange} label={pushStr} />} + <SettingToggle prefix='notifications' settings={settings} settingPath={['shows', 'favourite']} onChange={onChange} label={showStr} /> + <SettingToggle prefix='notifications' settings={settings} settingPath={['sounds', 'favourite']} onChange={onChange} label={soundStr} /> </div> </div> @@ -62,10 +62,10 @@ export default class ColumnSettings extends React.PureComponent { <span id='notifications-mention' className='column-settings__section'><FormattedMessage id='notifications.column_settings.mention' defaultMessage='Mentions:' /></span> <div className='column-settings__row'> - <SettingToggle prefix='notifications_desktop' settings={settings} settingKey={['alerts', 'mention']} onChange={onChange} label={alertStr} /> - {showPushSettings && <SettingToggle prefix='notifications_push' settings={pushSettings} settingKey={['alerts', 'mention']} meta={pushMeta} onChange={this.onPushChange} label={pushStr} />} - <SettingToggle prefix='notifications' settings={settings} settingKey={['shows', 'mention']} onChange={onChange} label={showStr} /> - <SettingToggle prefix='notifications' settings={settings} settingKey={['sounds', 'mention']} onChange={onChange} label={soundStr} /> + <SettingToggle prefix='notifications_desktop' settings={settings} settingPath={['alerts', 'mention']} onChange={onChange} label={alertStr} /> + {showPushSettings && <SettingToggle prefix='notifications_push' settings={pushSettings} settingPath={['alerts', 'mention']} meta={pushMeta} onChange={this.onPushChange} label={pushStr} />} + <SettingToggle prefix='notifications' settings={settings} settingPath={['shows', 'mention']} onChange={onChange} label={showStr} /> + <SettingToggle prefix='notifications' settings={settings} settingPath={['sounds', 'mention']} onChange={onChange} label={soundStr} /> </div> </div> @@ -73,10 +73,10 @@ export default class ColumnSettings extends React.PureComponent { <span id='notifications-reblog' className='column-settings__section'><FormattedMessage id='notifications.column_settings.reblog' defaultMessage='Boosts:' /></span> <div className='column-settings__row'> - <SettingToggle prefix='notifications_desktop' settings={settings} settingKey={['alerts', 'reblog']} onChange={onChange} label={alertStr} /> - {showPushSettings && <SettingToggle prefix='notifications_push' settings={pushSettings} settingKey={['alerts', 'reblog']} meta={pushMeta} onChange={this.onPushChange} label={pushStr} />} - <SettingToggle prefix='notifications' settings={settings} settingKey={['shows', 'reblog']} onChange={onChange} label={showStr} /> - <SettingToggle prefix='notifications' settings={settings} settingKey={['sounds', 'reblog']} onChange={onChange} label={soundStr} /> + <SettingToggle prefix='notifications_desktop' settings={settings} settingPath={['alerts', 'reblog']} onChange={onChange} label={alertStr} /> + {showPushSettings && <SettingToggle prefix='notifications_push' settings={pushSettings} settingPath={['alerts', 'reblog']} meta={pushMeta} onChange={this.onPushChange} label={pushStr} />} + <SettingToggle prefix='notifications' settings={settings} settingPath={['shows', 'reblog']} onChange={onChange} label={showStr} /> + <SettingToggle prefix='notifications' settings={settings} settingPath={['sounds', 'reblog']} onChange={onChange} label={soundStr} /> </div> </div> </div> diff --git a/app/javascript/mastodon/features/notifications/components/setting_toggle.js b/app/javascript/mastodon/features/notifications/components/setting_toggle.js index 281359d2a..ac2211e48 100644 --- a/app/javascript/mastodon/features/notifications/components/setting_toggle.js +++ b/app/javascript/mastodon/features/notifications/components/setting_toggle.js @@ -8,23 +8,23 @@ export default class SettingToggle extends React.PureComponent { static propTypes = { prefix: PropTypes.string, settings: ImmutablePropTypes.map.isRequired, - settingKey: PropTypes.array.isRequired, + settingPath: PropTypes.array.isRequired, label: PropTypes.node.isRequired, meta: PropTypes.node, onChange: PropTypes.func.isRequired, } onChange = ({ target }) => { - this.props.onChange(this.props.settingKey, target.checked); + this.props.onChange(this.props.settingPath, target.checked); } render () { - const { prefix, settings, settingKey, label, meta } = this.props; - const id = ['setting-toggle', prefix, ...settingKey].filter(Boolean).join('-'); + const { prefix, settings, settingPath, label, meta } = this.props; + const id = ['setting-toggle', prefix, ...settingPath].filter(Boolean).join('-'); return ( <div className='setting-toggle'> - <Toggle id={id} checked={settings.getIn(settingKey)} onChange={this.onChange} onKeyDown={this.onKeyDown} /> + <Toggle id={id} checked={settings.getIn(settingPath)} onChange={this.onChange} onKeyDown={this.onKeyDown} /> <label htmlFor={id} className='setting-toggle__label'>{label}</label> {meta && <span className='setting-meta__label'>{meta}</span>} </div> diff --git a/app/javascript/mastodon/locales/ko.json b/app/javascript/mastodon/locales/ko.json index 472a52a99..0798fa7cf 100644 --- a/app/javascript/mastodon/locales/ko.json +++ b/app/javascript/mastodon/locales/ko.json @@ -1,52 +1,52 @@ { "account.block": "차단", "account.block_domain": "{domain} 전체를 숨김", - "account.disclaimer_full": "Information below may reflect the user's profile incompletely.", + "account.disclaimer_full": "여기 있는 정보는 유저의 프로파일을 정확히 반영하지 못 할 수도 있습니다.", "account.edit_profile": "프로필 편집", "account.follow": "팔로우", "account.followers": "팔로워", "account.follows": "팔로우", "account.follows_you": "날 팔로우합니다", - "account.hide_reblogs": "Hide boosts from @{name}", + "account.hide_reblogs": "@{name}의 부스트를 숨기기", "account.media": "미디어", "account.mention": "답장", - "account.moved_to": "{name} has moved to:", + "account.moved_to": "{name}는 계정을 이동했습니다:", "account.mute": "뮤트", - "account.mute_notifications": "Mute notifications from @{name}", + "account.mute_notifications": "@{name}의 알림을 뮤트", "account.posts": "포스트", "account.report": "신고", "account.requested": "승인 대기 중", - "account.share": "Share @{name}'s profile", - "account.show_reblogs": "Show boosts from @{name}", + "account.share": "@{name}의 프로파일 공유", + "account.show_reblogs": "@{name}의 부스트 보기", "account.unblock": "차단 해제", "account.unblock_domain": "{domain} 숨김 해제", "account.unfollow": "팔로우 해제", "account.unmute": "뮤트 해제", - "account.unmute_notifications": "Unmute notifications from @{name}", + "account.unmute_notifications": "@{name}의 알림 뮤트 해제", "account.view_full_profile": "전체 프로필 보기", "boost_modal.combo": "다음부터 {combo}를 누르면 이 과정을 건너뛸 수 있습니다.", "bundle_column_error.body": "Something went wrong while loading this component.", - "bundle_column_error.retry": "Try again", - "bundle_column_error.title": "Network error", - "bundle_modal_error.close": "Close", + "bundle_column_error.retry": "다시 시도", + "bundle_column_error.title": "네트워크 에러", + "bundle_modal_error.close": "닫기", "bundle_modal_error.message": "Something went wrong while loading this component.", - "bundle_modal_error.retry": "Try again", + "bundle_modal_error.retry": "다시 시도", "column.blocks": "차단 중인 사용자", "column.community": "로컬 타임라인", "column.favourites": "즐겨찾기", "column.follow_requests": "팔로우 요청", "column.home": "홈", - "column.lists": "Lists", + "column.lists": "리스트", "column.mutes": "뮤트 중인 사용자", "column.notifications": "알림", "column.pins": "고정된 툿", "column.public": "연합 타임라인", "column_back_button.label": "돌아가기", - "column_header.hide_settings": "Hide settings", - "column_header.moveLeft_settings": "Move column to the left", - "column_header.moveRight_settings": "Move column to the right", + "column_header.hide_settings": "설정 숨기기", + "column_header.moveLeft_settings": "왼쪽으로 이동", + "column_header.moveRight_settings": "오른쪽으로 이동", "column_header.pin": "고정하기", - "column_header.show_settings": "Show settings", + "column_header.show_settings": "설정 보이기", "column_header.unpin": "고정 해제", "column_subheading.navigation": "내비게이션", "column_subheading.settings": "설정", @@ -63,35 +63,35 @@ "confirmations.block.message": "정말로 {name}를 차단하시겠습니까?", "confirmations.delete.confirm": "삭제", "confirmations.delete.message": "정말로 삭제하시겠습니까?", - "confirmations.delete_list.confirm": "Delete", - "confirmations.delete_list.message": "Are you sure you want to permanently delete this list?", + "confirmations.delete_list.confirm": "삭제", + "confirmations.delete_list.message": "정말로 이 리스트를 삭제하시겠습니까?", "confirmations.domain_block.confirm": "도메인 전체를 숨김", "confirmations.domain_block.message": "정말로 {domain} 전체를 숨기시겠습니까? 대부분의 경우 개별 차단이나 뮤트로 충분합니다.", "confirmations.mute.confirm": "뮤트", "confirmations.mute.message": "정말로 {name}를 뮤트하시겠습니까?", - "confirmations.unfollow.confirm": "Unfollow", - "confirmations.unfollow.message": "Are you sure you want to unfollow {name}?", + "confirmations.unfollow.confirm": "언팔로우", + "confirmations.unfollow.message": "정말로 {name}를 언팔로우하시겠습니까?", "embed.instructions": "아래의 코드를 복사하여 대화를 원하는 곳으로 공유하세요.", "embed.preview": "다음과 같이 표시됩니다:", "emoji_button.activity": "활동", - "emoji_button.custom": "Custom", + "emoji_button.custom": "커스텀", "emoji_button.flags": "국기", "emoji_button.food": "음식", "emoji_button.label": "emoji를 추가", "emoji_button.nature": "자연", - "emoji_button.not_found": "No emojos!! (╯°□°)╯︵ ┻━┻", + "emoji_button.not_found": "없어!! (╯°□°)╯︵ ┻━┻", "emoji_button.objects": "물건", "emoji_button.people": "사람들", - "emoji_button.recent": "Frequently used", + "emoji_button.recent": "자주 사용 됨", "emoji_button.search": "검색...", - "emoji_button.search_results": "Search results", + "emoji_button.search_results": "검색 결과", "emoji_button.symbols": "기호", "emoji_button.travel": "여행과 장소", "empty_column.community": "로컬 타임라인에 아무 것도 없습니다. 아무거나 적어 보세요!", "empty_column.hashtag": "이 해시태그는 아직 사용되지 않았습니다.", "empty_column.home": "아직 아무도 팔로우 하고 있지 않습니다. {public}를 보러 가거나, 검색하여 다른 사용자를 찾아 보세요.", "empty_column.home.public_timeline": "연합 타임라인", - "empty_column.list": "There is nothing in this list yet.", + "empty_column.list": "리스트에 아직 아무 것도 없습니다.", "empty_column.notifications": "아직 알림이 없습니다. 다른 사람과 대화를 시작해 보세요!", "empty_column.public": "여기엔 아직 아무 것도 없습니다! 공개적으로 무언가 포스팅하거나, 다른 인스턴스 유저를 팔로우 해서 가득 채워보세요!", "follow_request.authorize": "허가", @@ -107,46 +107,46 @@ "home.column_settings.show_reblogs": "부스트 표시", "home.column_settings.show_replies": "답글 표시", "home.settings": "컬럼 설정", - "keyboard_shortcuts.back": "to navigate back", - "keyboard_shortcuts.boost": "to boost", - "keyboard_shortcuts.column": "to focus a status in one of the columns", - "keyboard_shortcuts.compose": "to focus the compose textarea", - "keyboard_shortcuts.description": "Description", - "keyboard_shortcuts.down": "to move down in the list", - "keyboard_shortcuts.enter": "to open status", - "keyboard_shortcuts.favourite": "to favourite", - "keyboard_shortcuts.heading": "Keyboard Shortcuts", - "keyboard_shortcuts.hotkey": "Hotkey", - "keyboard_shortcuts.legend": "to display this legend", - "keyboard_shortcuts.mention": "to mention author", - "keyboard_shortcuts.reply": "to reply", - "keyboard_shortcuts.search": "to focus search", - "keyboard_shortcuts.toot": "to start a brand new toot", - "keyboard_shortcuts.unfocus": "to un-focus compose textarea/search", - "keyboard_shortcuts.up": "to move up in the list", + "keyboard_shortcuts.back": "뒤로가기", + "keyboard_shortcuts.boost": "부스트", + "keyboard_shortcuts.column": "해당 열에 포커스", + "keyboard_shortcuts.compose": "작성창으로 포커스", + "keyboard_shortcuts.description": "설명", + "keyboard_shortcuts.down": "리스트에서 아래로 이동", + "keyboard_shortcuts.enter": "열기", + "keyboard_shortcuts.favourite": "관심글 지정", + "keyboard_shortcuts.heading": "키보드 단축키", + "keyboard_shortcuts.hotkey": "핫키", + "keyboard_shortcuts.legend": "이 도움말 표시", + "keyboard_shortcuts.mention": "멘션", + "keyboard_shortcuts.reply": "답장", + "keyboard_shortcuts.search": "검색창에 포커스", + "keyboard_shortcuts.toot": "새 툿 작성", + "keyboard_shortcuts.unfocus": "작성창에서 포커스 해제", + "keyboard_shortcuts.up": "리스트에서 위로 이동", "lightbox.close": "닫기", - "lightbox.next": "Next", - "lightbox.previous": "Previous", - "lists.account.add": "Add to list", - "lists.account.remove": "Remove from list", - "lists.delete": "Delete list", - "lists.edit": "Edit list", - "lists.new.create": "Add list", - "lists.new.title_placeholder": "New list title", - "lists.search": "Search among people you follow", + "lightbox.next": "다음", + "lightbox.previous": "이전", + "lists.account.add": "리스트에 추가", + "lists.account.remove": "리스트에서 제거", + "lists.delete": "리스트 삭제", + "lists.edit": "리스트 편집", + "lists.new.create": "리스트 추가", + "lists.new.title_placeholder": "새 리스트의 이름", + "lists.search": "팔로우 중인 사람들 중에서 찾기", "lists.subheading": "Your lists", "loading_indicator.label": "불러오는 중...", "media_gallery.toggle_visible": "표시 전환", "missing_indicator.label": "찾을 수 없습니다", - "mute_modal.hide_notifications": "Hide notifications from this user?", + "mute_modal.hide_notifications": "이 사용자로부터의 알림을 뮤트하시겠습니까?", "navigation_bar.blocks": "차단한 사용자", "navigation_bar.community_timeline": "로컬 타임라인", "navigation_bar.edit_profile": "프로필 편집", "navigation_bar.favourites": "즐겨찾기", "navigation_bar.follow_requests": "팔로우 요청", "navigation_bar.info": "이 인스턴스에 대해서", - "navigation_bar.keyboard_shortcuts": "Keyboard shortcuts", - "navigation_bar.lists": "Lists", + "navigation_bar.keyboard_shortcuts": "키보드 단축키", + "navigation_bar.lists": "리스트", "navigation_bar.logout": "로그아웃", "navigation_bar.mutes": "뮤트 중인 사용자", "navigation_bar.pins": "고정된 툿", @@ -162,8 +162,8 @@ "notifications.column_settings.favourite": "즐겨찾기", "notifications.column_settings.follow": "새 팔로워", "notifications.column_settings.mention": "답글", - "notifications.column_settings.push": "Push notifications", - "notifications.column_settings.push_meta": "This device", + "notifications.column_settings.push": "푸시 알림", + "notifications.column_settings.push_meta": "이 장치", "notifications.column_settings.reblog": "부스트", "notifications.column_settings.show": "컬럼에 표시", "notifications.column_settings.sound": "효과음 재생", @@ -220,7 +220,7 @@ "status.load_more": "더 보기", "status.media_hidden": "미디어 숨겨짐", "status.mention": "답장", - "status.more": "More", + "status.more": "자세히", "status.mute_conversation": "이 대화를 뮤트", "status.open": "상세 정보 표시", "status.pin": "고정", @@ -231,7 +231,7 @@ "status.report": "신고", "status.sensitive_toggle": "클릭해서 표시하기", "status.sensitive_warning": "민감한 미디어", - "status.share": "Share", + "status.share": "공유", "status.show_less": "숨기기", "status.show_more": "더 보기", "status.unmute_conversation": "이 대화의 뮤트 해제하기", @@ -241,19 +241,19 @@ "tabs_bar.home": "홈", "tabs_bar.local_timeline": "로컬", "tabs_bar.notifications": "알림", - "ui.beforeunload": "Your draft will be lost if you leave Mastodon.", + "ui.beforeunload": "지금 나가면 저장되지 않은 항목을 잃게 됩니다.", "upload_area.title": "드래그 & 드롭으로 업로드", "upload_button.label": "미디어 추가", "upload_form.description": "Describe for the visually impaired", "upload_form.undo": "재시도", "upload_progress.label": "업로드 중...", - "video.close": "Close video", - "video.exit_fullscreen": "Exit full screen", - "video.expand": "Expand video", - "video.fullscreen": "Full screen", - "video.hide": "Hide video", - "video.mute": "Mute sound", - "video.pause": "Pause", - "video.play": "Play", - "video.unmute": "Unmute sound" + "video.close": "동영상 닫기", + "video.exit_fullscreen": "전체화면 나가기", + "video.expand": "동영상 확장", + "video.fullscreen": "전체화면", + "video.hide": "동영상 숨기기", + "video.mute": "음소거", + "video.pause": "일시정지", + "video.play": "재생", + "video.unmute": "음소거 해제" } diff --git a/app/javascript/styles/mastodon/components.scss b/app/javascript/styles/mastodon/components.scss index cf15def68..b5655975a 100644 --- a/app/javascript/styles/mastodon/components.scss +++ b/app/javascript/styles/mastodon/components.scss @@ -2104,7 +2104,7 @@ padding: 0 10px 8px; } - code { + kbd { display: inline-block; padding: 3px 5px; background-color: lighten($ui-base-color, 8%); diff --git a/config/locales/ko.yml b/config/locales/ko.yml index 333bcc689..a60884b27 100644 --- a/config/locales/ko.yml +++ b/config/locales/ko.yml @@ -64,6 +64,7 @@ ko: by_domain: 도메인 confirm: 확인 confirmed: 확인됨 + demote: 모더레이터 강등 disable: 비활성화 disable_two_factor_authentication: 2단계 인증을 비활성화 disabled: 비활성화된 @@ -86,6 +87,7 @@ ko: title: 위치 login_status: 로그인 상태 media_attachments: 첨부된 미디어 + memorialize: 메모리엄으로 전환 moderation: all: 전체 silenced: 침묵 중 @@ -102,6 +104,7 @@ ko: outbox_url: Outbox URL perform_full_suspension: 완전히 정지시키기 profile_url: 프로필 URL + promote: 모더레이터로 승급 protocol: Protocol public: 전체 공개 push_subscription_expires: PuSH 구독 기간 만료 @@ -112,6 +115,8 @@ ko: role: 권한 roles: admin: 관리자 + moderator: 모더레이터 + staff: 스태프 user: 사용자 salmon_url: Salmon URL search: 검색 @@ -129,7 +134,34 @@ ko: unsubscribe: 구독 해제 username: 아이디 web: Web + action_logs: + actions: + confirm_user: "%{name}이 %{target}의 이메일 주소를 컨펌했습니다" + create_custom_emoji: "%{name}이 새로운 에모지 %{target}를 추가했습니다" + create_domain_block: "%{name}이 도메인 %{target}를 차단했습니다" + create_email_domain_block: "%{name}이 이메일 도메인 %{target}를 차단했습니다" + demote_user: "%{name}이 %{target}을 강등했습니다" + destroy_domain_block: "%{name}이 도메인 %{target}의 차단을 해제했습니다" + destroy_email_domain_block: "%{name}이 이메일 도메인 %{target}을 화이트리스트에 넣었습니다" + destroy_status: "%{name}이 %{target}의 툿을 삭제했습니다" + disable_2fa_user: "%{name}이 %{target}의 2FA를 비활성화 했습니다" + disable_custom_emoji: "%{name}이 에모지 %{target}를 비활성화 했습니다" + disable_user: "%{name}이 %{target}의 로그인을 비활성화 했습니다" + enable_custom_emoji: "%{name}이 에모지 %{target}를 활성화 했습니다" + enable_user: "%{name}이 %{target}의 로그인을 활성화 했습니다" + memorialize_account: "%{name}이 %{target}의 계정을 메모리엄으로 전환했습니다" + promote_user: "%{name}이 %{target}를 승급시켰습니다" + reset_password_user: "%{name}이 %{target}의 암호를 초기화했습니다" + resolve_report: "%{name}이 %{target} 신고를 처리됨으로 변경하였습니다" + silence_account: "%{name}이 %{target}의 계정을 뮤트시켰습니다" + suspend_account: "%{name}이 %{target}의 계정을 정지시켰습니다 " + unsilence_account: "%{name}이 %{target}에 대한 뮤트를 해제했습니다" + unsuspend_account: "%{name}이 %{target}에 대한 정지를 해제했습니다" + update_custom_emoji: "%{name}이 에모지 %{target}를 업데이트 했습니다" + update_status: "%{name}이 %{target}의 상태를 업데이트 했습니다" + title: 감사 기록 custom_emojis: + by_domain: 도메인 copied_msg: 성공적으로 에모지의 로컬 복사본을 생성했습니다 copy: 복사 copy_failed_msg: 에모지의 로컬 복사본을 만드는 데 실패하였습니다 @@ -142,11 +174,16 @@ ko: enable: 활성화 enabled_msg: 성공적으로 활성화하였습니다 image_hint: 50KB 이하의 PNG + listed: 목록에 실림 new: title: 새 커스텀 에모지 추가 + overwrite: 덮어쓰기 shortcode: 짧은 코드 shortcode_hint: 최소 2글자, 영문자, 숫자, _만 사용 가능 title: 커스텀 에모지 + unlisted: 목록에 없음 + update_failed_msg: 에모지를 업데이트 할 수 없습니다 + updated_msg: 에모지가 성공적으로 업데이트 되었습니다! upload: 업로드 domain_blocks: add_new: 추가하기 @@ -196,6 +233,13 @@ ko: reset: 리셋 search: 검색 title: 알려진 인스턴스들 + invites: + filter: + all: 모두 + available: 사용가능 + expired: 만료됨 + title: 필터 + title: 초대 reports: action_taken_by: 신고 처리자 are_you_sure: 정말로 실행하시겠습니까? @@ -234,9 +278,15 @@ ko: deletion: desc_html: 유저가 자신의 계정을 삭제할 수 있도록 설정합니다. title: 계정 삭제를 허가함 + min_invite_role: + disabled: 아무도 못 하게 + title: 초대링크를 만들 수 있는 권한 open: desc_html: 유저가 자신의 계정을 생성할 수 있도록 설정합니다. title: 신규 계정 등록을 받음 + show_staff_badge: + desc_html: 유저 페이지에 스태프 배지를 표시합니다. + title: 스태프 배지 표시 site_description: desc_html: 탑 페이지와 meta 태그에 사용됩니다.<br>HTML 태그, 예를 들어<code><a></code> 태그와 <code><em></code> 태그를 사용할 수 있습니다. title: 사이트 설명 @@ -303,6 +353,8 @@ ko: invalid_reset_password_token: 비밀번호 리셋 토큰이 올바르지 못하거나 기간이 만료되었습니다. 다시 요청해주세요. login: 로그인 logout: 로그아웃 + migrate_account: 계정 옮기기 + migrate_account_html: 이 계정을 다른 계정으로 리디렉션 하길 원하는 경우 <a href="%{path}">여기</a>에서 설정할 수 있습니다. register: 등록하기 resend_confirmation: 확인 메일을 다시 보내기 reset_password: 비밀번호 재설정 @@ -384,12 +436,43 @@ ko: following: 팔로우 중인 계정 목록 muting: 뮤트 중인 계정 목록 upload: 업로드 + in_memoriam_html: 메모리엄에 있음. + invites: + delete: 비활성화 + expired: 만료됨 + expires_in: + '1800': 30 분 + '21600': 6 시간 + '3600': 1 시간 + '43200': 12 시간 + '86400': 하루 + expires_in_prompt: 영원히 + generate: 생성 + max_uses: + one: 일회용 + other: "%{count} 회" + max_uses_prompt: 제한 없음 + prompt: 이 인스턴스에 대한 초대 링크를 만들고 공유합니다 + table: + expires_at: 만료 + uses: 사용됨 + title: 초대 landing_strip_html: "<strong>%{name}</strong> 님은 %{link_to_root_path} 인스턴스의 사용자입니다. 계정을 가지고 있다면 팔로우 하거나 대화할 수 있습니다." landing_strip_signup_html: 아직 계정이 없다면 <a href="%{sign_up_path}">여기서</a> 등록할 수 있습니다. + lists: + errors: + limit: 리스트 최대치에 도달했습니다 media_attachments: validations: images_and_video: 이미 사진이 첨부되어 있으므로 동영상을 첨부할 수 없습니다. too_many: 최대 4개까지 첨부할 수 있습니다. + migrations: + acct: 새 계정의 username@domain + currently_redirecting: '당신의 프로파일은 여기로 리디렉션 됩니다:' + proceed: 저장 + updated_msg: 계정 이동 설정이 저장되었습니다! + moderation: + title: 모더레이션 notification_mailer: digest: body: "%{instance} 에서 마지막 로그인 뒤로 일어난 일:" @@ -502,6 +585,7 @@ ko: export: 데이터 내보내기 followers: 신뢰 중인 인스턴스 import: 데이터 가져오기 + migrate: 계정 이동 notifications: 알림 preferences: 사용자 설정 settings: 설정 @@ -516,6 +600,7 @@ ko: private: 비공개 툿은 고정될 수 없습니다. reblog: 부스트는 고정될 수 없습니다. show_more: 더 보기 + title: '%{name}: "%{quote}"' visibilities: private: 비공개 private_long: 팔로워에게만 공개됩니다 @@ -530,6 +615,8 @@ ko: sensitive_content: 민감한 컨텐츠 terms: title: "%{instance} 이용약관과 개인정보 취급 방침" + themes: + default: Mastodon time: formats: default: "%Y년 %m월 %d일 %H:%M" diff --git a/config/locales/simple_form.ko.yml b/config/locales/simple_form.ko.yml index e2a678121..48306f418 100644 --- a/config/locales/simple_form.ko.yml +++ b/config/locales/simple_form.ko.yml @@ -4,6 +4,7 @@ ko: hints: defaults: avatar: PNG, GIF 혹은 JPG. 최대 2MB. 120x120px로 다운스케일 됨 + digest: 오랫동안 활동하지 않았을 때 받은 멘션들에 대한 요약 받기. display_name: one: <span class="name-counter">1</span> 글자 남음 other: <span class="name-counter">%{count}</span> 글자 남음 @@ -29,9 +30,12 @@ ko: data: 데이터 display_name: 표시되는 이름 email: 이메일 주소 + expires_in: 만료시각 + filtered_languages: 숨긴 언어들 header: 헤더 locale: 언어 locked: 계정 잠금 + max_uses: 사용 횟수 제한 new_password: 새로운 비밀번호 입력 note: 자기소개 otp_attempt: 2단계 인증 코드 @@ -42,6 +46,7 @@ ko: setting_default_sensitive: 미디어를 언제나 민감한 컨텐츠로 설정 setting_delete_modal: 툿 삭제 전 확인 창을 표시 setting_noindex: 검색엔진의 인덱싱을 거절 + setting_reduce_motion: 애니메이션 줄이기 setting_system_font_ui: 시스템의 초기 설정 폰트를 사용 setting_theme: 사이트 테마 setting_unfollow_modal: 언팔로우 전 언팔로우 확인 표시 @@ -51,6 +56,7 @@ ko: interactions: must_be_follower: 나를 팔로우 하지 않는 사람에게서 온 알림을 차단 must_be_following: 내가 팔로우 하지 않는 사람에게서 온 알림을 차단 + must_be_following_dm: 내가 팔로우 하지 않은 사람에게서 오는 다이렉트메시지를 차단 notification_emails: digest: 요약 이메일 보내기 favourite: 누군가 내 상태를 즐겨찾기로 등록했을 때 이메일 보내기 |