Merge remote-tracking branch 'tootsuite/master' into glitchsoc/master

signup-info-prompt
Jenkins 2017-12-20 08:17:15 +00:00
commit 6f11aa8383
7 changed files with 197 additions and 104 deletions

View File

@ -33,59 +33,59 @@ export default class KeyboardShortcuts extends ImmutablePureComponent {
</thead> </thead>
<tbody> <tbody>
<tr> <tr>
<td><code>r</code></td> <td><kbd>r</kbd></td>
<td><FormattedMessage id='keyboard_shortcuts.reply' defaultMessage='to reply' /></td> <td><FormattedMessage id='keyboard_shortcuts.reply' defaultMessage='to reply' /></td>
</tr> </tr>
<tr> <tr>
<td><code>m</code></td> <td><kbd>m</kbd></td>
<td><FormattedMessage id='keyboard_shortcuts.mention' defaultMessage='to mention author' /></td> <td><FormattedMessage id='keyboard_shortcuts.mention' defaultMessage='to mention author' /></td>
</tr> </tr>
<tr> <tr>
<td><code>f</code></td> <td><kbd>f</kbd></td>
<td><FormattedMessage id='keyboard_shortcuts.favourite' defaultMessage='to favourite' /></td> <td><FormattedMessage id='keyboard_shortcuts.favourite' defaultMessage='to favourite' /></td>
</tr> </tr>
<tr> <tr>
<td><code>b</code></td> <td><kbd>b</kbd></td>
<td><FormattedMessage id='keyboard_shortcuts.boost' defaultMessage='to boost' /></td> <td><FormattedMessage id='keyboard_shortcuts.boost' defaultMessage='to boost' /></td>
</tr> </tr>
<tr> <tr>
<td><code>enter</code></td> <td><kbd>enter</kbd></td>
<td><FormattedMessage id='keyboard_shortcuts.enter' defaultMessage='to open status' /></td> <td><FormattedMessage id='keyboard_shortcuts.enter' defaultMessage='to open status' /></td>
</tr> </tr>
<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> <td><FormattedMessage id='keyboard_shortcuts.up' defaultMessage='to move up in the list' /></td>
</tr> </tr>
<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> <td><FormattedMessage id='keyboard_shortcuts.down' defaultMessage='to move down in the list' /></td>
</tr> </tr>
<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> <td><FormattedMessage id='keyboard_shortcuts.column' defaultMessage='to focus a status in one of the columns' /></td>
</tr> </tr>
<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> <td><FormattedMessage id='keyboard_shortcuts.compose' defaultMessage='to focus the compose textarea' /></td>
</tr> </tr>
<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> <td><FormattedMessage id='keyboard_shortcuts.toot' defaultMessage='to start a brand new toot' /></td>
</tr> </tr>
<tr> <tr>
<td><code>backspace</code></td> <td><kbd>backspace</kbd></td>
<td><FormattedMessage id='keyboard_shortcuts.back' defaultMessage='to navigate back' /></td> <td><FormattedMessage id='keyboard_shortcuts.back' defaultMessage='to navigate back' /></td>
</tr> </tr>
<tr> <tr>
<td><code>s</code></td> <td><kbd>s</kbd></td>
<td><FormattedMessage id='keyboard_shortcuts.search' defaultMessage='to focus search' /></td> <td><FormattedMessage id='keyboard_shortcuts.search' defaultMessage='to focus search' /></td>
</tr> </tr>
<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> <td><FormattedMessage id='keyboard_shortcuts.unfocus' defaultMessage='to un-focus compose textarea/search' /></td>
</tr> </tr>
<tr> <tr>
<td><code>?</code></td> <td><kbd>?</kbd></td>
<td><FormattedMessage id='keyboard_shortcuts.legend' defaultMessage='to display this legend' /></td> <td><FormattedMessage id='keyboard_shortcuts.legend' defaultMessage='to display this legend' /></td>
</tr> </tr>
</tbody> </tbody>

View File

@ -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> <span id='notifications-follow' className='column-settings__section'><FormattedMessage id='notifications.column_settings.follow' defaultMessage='New followers:' /></span>
<div className='column-settings__row'> <div className='column-settings__row'>
<SettingToggle prefix='notifications_desktop' settings={settings} settingKey={['alerts', 'follow']} onChange={onChange} label={alertStr} /> <SettingToggle prefix='notifications_desktop' settings={settings} settingPath={['alerts', 'follow']} onChange={onChange} label={alertStr} />
{showPushSettings && <SettingToggle prefix='notifications_push' settings={pushSettings} settingKey={['alerts', 'follow']} meta={pushMeta} onChange={this.onPushChange} label={pushStr} />} {showPushSettings && <SettingToggle prefix='notifications_push' settings={pushSettings} settingPath={['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} settingPath={['shows', 'follow']} onChange={onChange} label={showStr} />
<SettingToggle prefix='notifications' settings={settings} settingKey={['sounds', 'follow']} onChange={onChange} label={soundStr} /> <SettingToggle prefix='notifications' settings={settings} settingPath={['sounds', 'follow']} onChange={onChange} label={soundStr} />
</div> </div>
</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> <span id='notifications-favourite' className='column-settings__section'><FormattedMessage id='notifications.column_settings.favourite' defaultMessage='Favourites:' /></span>
<div className='column-settings__row'> <div className='column-settings__row'>
<SettingToggle prefix='notifications_desktop' settings={settings} settingKey={['alerts', 'favourite']} onChange={onChange} label={alertStr} /> <SettingToggle prefix='notifications_desktop' settings={settings} settingPath={['alerts', 'favourite']} onChange={onChange} label={alertStr} />
{showPushSettings && <SettingToggle prefix='notifications_push' settings={pushSettings} settingKey={['alerts', 'favourite']} meta={pushMeta} onChange={this.onPushChange} label={pushStr} />} {showPushSettings && <SettingToggle prefix='notifications_push' settings={pushSettings} settingPath={['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} settingPath={['shows', 'favourite']} onChange={onChange} label={showStr} />
<SettingToggle prefix='notifications' settings={settings} settingKey={['sounds', 'favourite']} onChange={onChange} label={soundStr} /> <SettingToggle prefix='notifications' settings={settings} settingPath={['sounds', 'favourite']} onChange={onChange} label={soundStr} />
</div> </div>
</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> <span id='notifications-mention' className='column-settings__section'><FormattedMessage id='notifications.column_settings.mention' defaultMessage='Mentions:' /></span>
<div className='column-settings__row'> <div className='column-settings__row'>
<SettingToggle prefix='notifications_desktop' settings={settings} settingKey={['alerts', 'mention']} onChange={onChange} label={alertStr} /> <SettingToggle prefix='notifications_desktop' settings={settings} settingPath={['alerts', 'mention']} onChange={onChange} label={alertStr} />
{showPushSettings && <SettingToggle prefix='notifications_push' settings={pushSettings} settingKey={['alerts', 'mention']} meta={pushMeta} onChange={this.onPushChange} label={pushStr} />} {showPushSettings && <SettingToggle prefix='notifications_push' settings={pushSettings} settingPath={['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} settingPath={['shows', 'mention']} onChange={onChange} label={showStr} />
<SettingToggle prefix='notifications' settings={settings} settingKey={['sounds', 'mention']} onChange={onChange} label={soundStr} /> <SettingToggle prefix='notifications' settings={settings} settingPath={['sounds', 'mention']} onChange={onChange} label={soundStr} />
</div> </div>
</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> <span id='notifications-reblog' className='column-settings__section'><FormattedMessage id='notifications.column_settings.reblog' defaultMessage='Boosts:' /></span>
<div className='column-settings__row'> <div className='column-settings__row'>
<SettingToggle prefix='notifications_desktop' settings={settings} settingKey={['alerts', 'reblog']} onChange={onChange} label={alertStr} /> <SettingToggle prefix='notifications_desktop' settings={settings} settingPath={['alerts', 'reblog']} onChange={onChange} label={alertStr} />
{showPushSettings && <SettingToggle prefix='notifications_push' settings={pushSettings} settingKey={['alerts', 'reblog']} meta={pushMeta} onChange={this.onPushChange} label={pushStr} />} {showPushSettings && <SettingToggle prefix='notifications_push' settings={pushSettings} settingPath={['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} settingPath={['shows', 'reblog']} onChange={onChange} label={showStr} />
<SettingToggle prefix='notifications' settings={settings} settingKey={['sounds', 'reblog']} onChange={onChange} label={soundStr} /> <SettingToggle prefix='notifications' settings={settings} settingPath={['sounds', 'reblog']} onChange={onChange} label={soundStr} />
</div> </div>
</div> </div>
</div> </div>

View File

@ -8,23 +8,23 @@ export default class SettingToggle extends React.PureComponent {
static propTypes = { static propTypes = {
prefix: PropTypes.string, prefix: PropTypes.string,
settings: ImmutablePropTypes.map.isRequired, settings: ImmutablePropTypes.map.isRequired,
settingKey: PropTypes.array.isRequired, settingPath: PropTypes.array.isRequired,
label: PropTypes.node.isRequired, label: PropTypes.node.isRequired,
meta: PropTypes.node, meta: PropTypes.node,
onChange: PropTypes.func.isRequired, onChange: PropTypes.func.isRequired,
} }
onChange = ({ target }) => { onChange = ({ target }) => {
this.props.onChange(this.props.settingKey, target.checked); this.props.onChange(this.props.settingPath, target.checked);
} }
render () { render () {
const { prefix, settings, settingKey, label, meta } = this.props; const { prefix, settings, settingPath, label, meta } = this.props;
const id = ['setting-toggle', prefix, ...settingKey].filter(Boolean).join('-'); const id = ['setting-toggle', prefix, ...settingPath].filter(Boolean).join('-');
return ( return (
<div className='setting-toggle'> <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> <label htmlFor={id} className='setting-toggle__label'>{label}</label>
{meta && <span className='setting-meta__label'>{meta}</span>} {meta && <span className='setting-meta__label'>{meta}</span>}
</div> </div>

View File

@ -1,52 +1,52 @@
{ {
"account.block": "차단", "account.block": "차단",
"account.block_domain": "{domain} 전체를 숨김", "account.block_domain": "{domain} 전체를 숨김",
"account.disclaimer_full": "Information below may reflect the user's profile incompletely.", "account.disclaimer_full": "여기 있는 정보는 유저의 프로파일을 정확히 반영하지 못 할 수도 있습니다.",
"account.edit_profile": "프로필 편집", "account.edit_profile": "프로필 편집",
"account.follow": "팔로우", "account.follow": "팔로우",
"account.followers": "팔로워", "account.followers": "팔로워",
"account.follows": "팔로우", "account.follows": "팔로우",
"account.follows_you": "날 팔로우합니다", "account.follows_you": "날 팔로우합니다",
"account.hide_reblogs": "Hide boosts from @{name}", "account.hide_reblogs": "@{name}의 부스트를 숨기기",
"account.media": "미디어", "account.media": "미디어",
"account.mention": "답장", "account.mention": "답장",
"account.moved_to": "{name} has moved to:", "account.moved_to": "{name}는 계정을 이동했습니다:",
"account.mute": "뮤트", "account.mute": "뮤트",
"account.mute_notifications": "Mute notifications from @{name}", "account.mute_notifications": "@{name}의 알림을 뮤트",
"account.posts": "포스트", "account.posts": "포스트",
"account.report": "신고", "account.report": "신고",
"account.requested": "승인 대기 중", "account.requested": "승인 대기 중",
"account.share": "Share @{name}'s profile", "account.share": "@{name}의 프로파일 공유",
"account.show_reblogs": "Show boosts from @{name}", "account.show_reblogs": "@{name}의 부스트 보기",
"account.unblock": "차단 해제", "account.unblock": "차단 해제",
"account.unblock_domain": "{domain} 숨김 해제", "account.unblock_domain": "{domain} 숨김 해제",
"account.unfollow": "팔로우 해제", "account.unfollow": "팔로우 해제",
"account.unmute": "뮤트 해제", "account.unmute": "뮤트 해제",
"account.unmute_notifications": "Unmute notifications from @{name}", "account.unmute_notifications": "@{name}의 알림 뮤트 해제",
"account.view_full_profile": "전체 프로필 보기", "account.view_full_profile": "전체 프로필 보기",
"boost_modal.combo": "다음부터 {combo}를 누르면 이 과정을 건너뛸 수 있습니다.", "boost_modal.combo": "다음부터 {combo}를 누르면 이 과정을 건너뛸 수 있습니다.",
"bundle_column_error.body": "Something went wrong while loading this component.", "bundle_column_error.body": "Something went wrong while loading this component.",
"bundle_column_error.retry": "Try again", "bundle_column_error.retry": "다시 시도",
"bundle_column_error.title": "Network error", "bundle_column_error.title": "네트워크 에러",
"bundle_modal_error.close": "Close", "bundle_modal_error.close": "닫기",
"bundle_modal_error.message": "Something went wrong while loading this component.", "bundle_modal_error.message": "Something went wrong while loading this component.",
"bundle_modal_error.retry": "Try again", "bundle_modal_error.retry": "다시 시도",
"column.blocks": "차단 중인 사용자", "column.blocks": "차단 중인 사용자",
"column.community": "로컬 타임라인", "column.community": "로컬 타임라인",
"column.favourites": "즐겨찾기", "column.favourites": "즐겨찾기",
"column.follow_requests": "팔로우 요청", "column.follow_requests": "팔로우 요청",
"column.home": "홈", "column.home": "홈",
"column.lists": "Lists", "column.lists": "리스트",
"column.mutes": "뮤트 중인 사용자", "column.mutes": "뮤트 중인 사용자",
"column.notifications": "알림", "column.notifications": "알림",
"column.pins": "고정된 툿", "column.pins": "고정된 툿",
"column.public": "연합 타임라인", "column.public": "연합 타임라인",
"column_back_button.label": "돌아가기", "column_back_button.label": "돌아가기",
"column_header.hide_settings": "Hide settings", "column_header.hide_settings": "설정 숨기기",
"column_header.moveLeft_settings": "Move column to the left", "column_header.moveLeft_settings": "왼쪽으로 이동",
"column_header.moveRight_settings": "Move column to the right", "column_header.moveRight_settings": "오른쪽으로 이동",
"column_header.pin": "고정하기", "column_header.pin": "고정하기",
"column_header.show_settings": "Show settings", "column_header.show_settings": "설정 보이기",
"column_header.unpin": "고정 해제", "column_header.unpin": "고정 해제",
"column_subheading.navigation": "내비게이션", "column_subheading.navigation": "내비게이션",
"column_subheading.settings": "설정", "column_subheading.settings": "설정",
@ -63,35 +63,35 @@
"confirmations.block.message": "정말로 {name}를 차단하시겠습니까?", "confirmations.block.message": "정말로 {name}를 차단하시겠습니까?",
"confirmations.delete.confirm": "삭제", "confirmations.delete.confirm": "삭제",
"confirmations.delete.message": "정말로 삭제하시겠습니까?", "confirmations.delete.message": "정말로 삭제하시겠습니까?",
"confirmations.delete_list.confirm": "Delete", "confirmations.delete_list.confirm": "삭제",
"confirmations.delete_list.message": "Are you sure you want to permanently delete this list?", "confirmations.delete_list.message": "정말로 이 리스트를 삭제하시겠습니까?",
"confirmations.domain_block.confirm": "도메인 전체를 숨김", "confirmations.domain_block.confirm": "도메인 전체를 숨김",
"confirmations.domain_block.message": "정말로 {domain} 전체를 숨기시겠습니까? 대부분의 경우 개별 차단이나 뮤트로 충분합니다.", "confirmations.domain_block.message": "정말로 {domain} 전체를 숨기시겠습니까? 대부분의 경우 개별 차단이나 뮤트로 충분합니다.",
"confirmations.mute.confirm": "뮤트", "confirmations.mute.confirm": "뮤트",
"confirmations.mute.message": "정말로 {name}를 뮤트하시겠습니까?", "confirmations.mute.message": "정말로 {name}를 뮤트하시겠습니까?",
"confirmations.unfollow.confirm": "Unfollow", "confirmations.unfollow.confirm": "언팔로우",
"confirmations.unfollow.message": "Are you sure you want to unfollow {name}?", "confirmations.unfollow.message": "정말로 {name}를 언팔로우하시겠습니까?",
"embed.instructions": "아래의 코드를 복사하여 대화를 원하는 곳으로 공유하세요.", "embed.instructions": "아래의 코드를 복사하여 대화를 원하는 곳으로 공유하세요.",
"embed.preview": "다음과 같이 표시됩니다:", "embed.preview": "다음과 같이 표시됩니다:",
"emoji_button.activity": "활동", "emoji_button.activity": "활동",
"emoji_button.custom": "Custom", "emoji_button.custom": "커스텀",
"emoji_button.flags": "국기", "emoji_button.flags": "국기",
"emoji_button.food": "음식", "emoji_button.food": "음식",
"emoji_button.label": "emoji를 추가", "emoji_button.label": "emoji를 추가",
"emoji_button.nature": "자연", "emoji_button.nature": "자연",
"emoji_button.not_found": "No emojos!! (╯°□°)╯︵ ┻━┻", "emoji_button.not_found": "없어!! (╯°□°)╯︵ ┻━┻",
"emoji_button.objects": "물건", "emoji_button.objects": "물건",
"emoji_button.people": "사람들", "emoji_button.people": "사람들",
"emoji_button.recent": "Frequently used", "emoji_button.recent": "자주 사용 됨",
"emoji_button.search": "검색...", "emoji_button.search": "검색...",
"emoji_button.search_results": "Search results", "emoji_button.search_results": "검색 결과",
"emoji_button.symbols": "기호", "emoji_button.symbols": "기호",
"emoji_button.travel": "여행과 장소", "emoji_button.travel": "여행과 장소",
"empty_column.community": "로컬 타임라인에 아무 것도 없습니다. 아무거나 적어 보세요!", "empty_column.community": "로컬 타임라인에 아무 것도 없습니다. 아무거나 적어 보세요!",
"empty_column.hashtag": "이 해시태그는 아직 사용되지 않았습니다.", "empty_column.hashtag": "이 해시태그는 아직 사용되지 않았습니다.",
"empty_column.home": "아직 아무도 팔로우 하고 있지 않습니다. {public}를 보러 가거나, 검색하여 다른 사용자를 찾아 보세요.", "empty_column.home": "아직 아무도 팔로우 하고 있지 않습니다. {public}를 보러 가거나, 검색하여 다른 사용자를 찾아 보세요.",
"empty_column.home.public_timeline": "연합 타임라인", "empty_column.home.public_timeline": "연합 타임라인",
"empty_column.list": "There is nothing in this list yet.", "empty_column.list": "리스트에 아직 아무 것도 없습니다.",
"empty_column.notifications": "아직 알림이 없습니다. 다른 사람과 대화를 시작해 보세요!", "empty_column.notifications": "아직 알림이 없습니다. 다른 사람과 대화를 시작해 보세요!",
"empty_column.public": "여기엔 아직 아무 것도 없습니다! 공개적으로 무언가 포스팅하거나, 다른 인스턴스 유저를 팔로우 해서 가득 채워보세요!", "empty_column.public": "여기엔 아직 아무 것도 없습니다! 공개적으로 무언가 포스팅하거나, 다른 인스턴스 유저를 팔로우 해서 가득 채워보세요!",
"follow_request.authorize": "허가", "follow_request.authorize": "허가",
@ -107,46 +107,46 @@
"home.column_settings.show_reblogs": "부스트 표시", "home.column_settings.show_reblogs": "부스트 표시",
"home.column_settings.show_replies": "답글 표시", "home.column_settings.show_replies": "답글 표시",
"home.settings": "컬럼 설정", "home.settings": "컬럼 설정",
"keyboard_shortcuts.back": "to navigate back", "keyboard_shortcuts.back": "뒤로가기",
"keyboard_shortcuts.boost": "to boost", "keyboard_shortcuts.boost": "부스트",
"keyboard_shortcuts.column": "to focus a status in one of the columns", "keyboard_shortcuts.column": "해당 열에 포커스",
"keyboard_shortcuts.compose": "to focus the compose textarea", "keyboard_shortcuts.compose": "작성창으로 포커스",
"keyboard_shortcuts.description": "Description", "keyboard_shortcuts.description": "설명",
"keyboard_shortcuts.down": "to move down in the list", "keyboard_shortcuts.down": "리스트에서 아래로 이동",
"keyboard_shortcuts.enter": "to open status", "keyboard_shortcuts.enter": "열기",
"keyboard_shortcuts.favourite": "to favourite", "keyboard_shortcuts.favourite": "관심글 지정",
"keyboard_shortcuts.heading": "Keyboard Shortcuts", "keyboard_shortcuts.heading": "키보드 단축키",
"keyboard_shortcuts.hotkey": "Hotkey", "keyboard_shortcuts.hotkey": "핫키",
"keyboard_shortcuts.legend": "to display this legend", "keyboard_shortcuts.legend": "이 도움말 표시",
"keyboard_shortcuts.mention": "to mention author", "keyboard_shortcuts.mention": "멘션",
"keyboard_shortcuts.reply": "to reply", "keyboard_shortcuts.reply": "답장",
"keyboard_shortcuts.search": "to focus search", "keyboard_shortcuts.search": "검색창에 포커스",
"keyboard_shortcuts.toot": "to start a brand new toot", "keyboard_shortcuts.toot": "새 툿 작성",
"keyboard_shortcuts.unfocus": "to un-focus compose textarea/search", "keyboard_shortcuts.unfocus": "작성창에서 포커스 해제",
"keyboard_shortcuts.up": "to move up in the list", "keyboard_shortcuts.up": "리스트에서 위로 이동",
"lightbox.close": "닫기", "lightbox.close": "닫기",
"lightbox.next": "Next", "lightbox.next": "다음",
"lightbox.previous": "Previous", "lightbox.previous": "이전",
"lists.account.add": "Add to list", "lists.account.add": "리스트에 추가",
"lists.account.remove": "Remove from list", "lists.account.remove": "리스트에서 제거",
"lists.delete": "Delete list", "lists.delete": "리스트 삭제",
"lists.edit": "Edit list", "lists.edit": "리스트 편집",
"lists.new.create": "Add list", "lists.new.create": "리스트 추가",
"lists.new.title_placeholder": "New list title", "lists.new.title_placeholder": "새 리스트의 이름",
"lists.search": "Search among people you follow", "lists.search": "팔로우 중인 사람들 중에서 찾기",
"lists.subheading": "Your lists", "lists.subheading": "Your lists",
"loading_indicator.label": "불러오는 중...", "loading_indicator.label": "불러오는 중...",
"media_gallery.toggle_visible": "표시 전환", "media_gallery.toggle_visible": "표시 전환",
"missing_indicator.label": "찾을 수 없습니다", "missing_indicator.label": "찾을 수 없습니다",
"mute_modal.hide_notifications": "Hide notifications from this user?", "mute_modal.hide_notifications": "이 사용자로부터의 알림을 뮤트하시겠습니까?",
"navigation_bar.blocks": "차단한 사용자", "navigation_bar.blocks": "차단한 사용자",
"navigation_bar.community_timeline": "로컬 타임라인", "navigation_bar.community_timeline": "로컬 타임라인",
"navigation_bar.edit_profile": "프로필 편집", "navigation_bar.edit_profile": "프로필 편집",
"navigation_bar.favourites": "즐겨찾기", "navigation_bar.favourites": "즐겨찾기",
"navigation_bar.follow_requests": "팔로우 요청", "navigation_bar.follow_requests": "팔로우 요청",
"navigation_bar.info": "이 인스턴스에 대해서", "navigation_bar.info": "이 인스턴스에 대해서",
"navigation_bar.keyboard_shortcuts": "Keyboard shortcuts", "navigation_bar.keyboard_shortcuts": "키보드 단축키",
"navigation_bar.lists": "Lists", "navigation_bar.lists": "리스트",
"navigation_bar.logout": "로그아웃", "navigation_bar.logout": "로그아웃",
"navigation_bar.mutes": "뮤트 중인 사용자", "navigation_bar.mutes": "뮤트 중인 사용자",
"navigation_bar.pins": "고정된 툿", "navigation_bar.pins": "고정된 툿",
@ -162,8 +162,8 @@
"notifications.column_settings.favourite": "즐겨찾기", "notifications.column_settings.favourite": "즐겨찾기",
"notifications.column_settings.follow": "새 팔로워", "notifications.column_settings.follow": "새 팔로워",
"notifications.column_settings.mention": "답글", "notifications.column_settings.mention": "답글",
"notifications.column_settings.push": "Push notifications", "notifications.column_settings.push": "푸시 알림",
"notifications.column_settings.push_meta": "This device", "notifications.column_settings.push_meta": "이 장치",
"notifications.column_settings.reblog": "부스트", "notifications.column_settings.reblog": "부스트",
"notifications.column_settings.show": "컬럼에 표시", "notifications.column_settings.show": "컬럼에 표시",
"notifications.column_settings.sound": "효과음 재생", "notifications.column_settings.sound": "효과음 재생",
@ -220,7 +220,7 @@
"status.load_more": "더 보기", "status.load_more": "더 보기",
"status.media_hidden": "미디어 숨겨짐", "status.media_hidden": "미디어 숨겨짐",
"status.mention": "답장", "status.mention": "답장",
"status.more": "More", "status.more": "자세히",
"status.mute_conversation": "이 대화를 뮤트", "status.mute_conversation": "이 대화를 뮤트",
"status.open": "상세 정보 표시", "status.open": "상세 정보 표시",
"status.pin": "고정", "status.pin": "고정",
@ -231,7 +231,7 @@
"status.report": "신고", "status.report": "신고",
"status.sensitive_toggle": "클릭해서 표시하기", "status.sensitive_toggle": "클릭해서 표시하기",
"status.sensitive_warning": "민감한 미디어", "status.sensitive_warning": "민감한 미디어",
"status.share": "Share", "status.share": "공유",
"status.show_less": "숨기기", "status.show_less": "숨기기",
"status.show_more": "더 보기", "status.show_more": "더 보기",
"status.unmute_conversation": "이 대화의 뮤트 해제하기", "status.unmute_conversation": "이 대화의 뮤트 해제하기",
@ -241,19 +241,19 @@
"tabs_bar.home": "홈", "tabs_bar.home": "홈",
"tabs_bar.local_timeline": "로컬", "tabs_bar.local_timeline": "로컬",
"tabs_bar.notifications": "알림", "tabs_bar.notifications": "알림",
"ui.beforeunload": "Your draft will be lost if you leave Mastodon.", "ui.beforeunload": "지금 나가면 저장되지 않은 항목을 잃게 됩니다.",
"upload_area.title": "드래그 & 드롭으로 업로드", "upload_area.title": "드래그 & 드롭으로 업로드",
"upload_button.label": "미디어 추가", "upload_button.label": "미디어 추가",
"upload_form.description": "Describe for the visually impaired", "upload_form.description": "Describe for the visually impaired",
"upload_form.undo": "재시도", "upload_form.undo": "재시도",
"upload_progress.label": "업로드 중...", "upload_progress.label": "업로드 중...",
"video.close": "Close video", "video.close": "동영상 닫기",
"video.exit_fullscreen": "Exit full screen", "video.exit_fullscreen": "전체화면 나가기",
"video.expand": "Expand video", "video.expand": "동영상 확장",
"video.fullscreen": "Full screen", "video.fullscreen": "전체화면",
"video.hide": "Hide video", "video.hide": "동영상 숨기기",
"video.mute": "Mute sound", "video.mute": "음소거",
"video.pause": "Pause", "video.pause": "일시정지",
"video.play": "Play", "video.play": "재생",
"video.unmute": "Unmute sound" "video.unmute": "음소거 해제"
} }

View File

@ -2104,7 +2104,7 @@
padding: 0 10px 8px; padding: 0 10px 8px;
} }
code { kbd {
display: inline-block; display: inline-block;
padding: 3px 5px; padding: 3px 5px;
background-color: lighten($ui-base-color, 8%); background-color: lighten($ui-base-color, 8%);

View File

@ -64,6 +64,7 @@ ko:
by_domain: 도메인 by_domain: 도메인
confirm: 확인 confirm: 확인
confirmed: 확인됨 confirmed: 확인됨
demote: 모더레이터 강등
disable: 비활성화 disable: 비활성화
disable_two_factor_authentication: 2단계 인증을 비활성화 disable_two_factor_authentication: 2단계 인증을 비활성화
disabled: 비활성화된 disabled: 비활성화된
@ -86,6 +87,7 @@ ko:
title: 위치 title: 위치
login_status: 로그인 상태 login_status: 로그인 상태
media_attachments: 첨부된 미디어 media_attachments: 첨부된 미디어
memorialize: 메모리엄으로 전환
moderation: moderation:
all: 전체 all: 전체
silenced: 침묵 중 silenced: 침묵 중
@ -102,6 +104,7 @@ ko:
outbox_url: Outbox URL outbox_url: Outbox URL
perform_full_suspension: 완전히 정지시키기 perform_full_suspension: 완전히 정지시키기
profile_url: 프로필 URL profile_url: 프로필 URL
promote: 모더레이터로 승급
protocol: Protocol protocol: Protocol
public: 전체 공개 public: 전체 공개
push_subscription_expires: PuSH 구독 기간 만료 push_subscription_expires: PuSH 구독 기간 만료
@ -112,6 +115,8 @@ ko:
role: 권한 role: 권한
roles: roles:
admin: 관리자 admin: 관리자
moderator: 모더레이터
staff: 스태프
user: 사용자 user: 사용자
salmon_url: Salmon URL salmon_url: Salmon URL
search: 검색 search: 검색
@ -129,7 +134,34 @@ ko:
unsubscribe: 구독 해제 unsubscribe: 구독 해제
username: 아이디 username: 아이디
web: Web 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: custom_emojis:
by_domain: 도메인
copied_msg: 성공적으로 에모지의 로컬 복사본을 생성했습니다 copied_msg: 성공적으로 에모지의 로컬 복사본을 생성했습니다
copy: 복사 copy: 복사
copy_failed_msg: 에모지의 로컬 복사본을 만드는 데 실패하였습니다 copy_failed_msg: 에모지의 로컬 복사본을 만드는 데 실패하였습니다
@ -142,11 +174,16 @@ ko:
enable: 활성화 enable: 활성화
enabled_msg: 성공적으로 활성화하였습니다 enabled_msg: 성공적으로 활성화하였습니다
image_hint: 50KB 이하의 PNG image_hint: 50KB 이하의 PNG
listed: 목록에 실림
new: new:
title: 새 커스텀 에모지 추가 title: 새 커스텀 에모지 추가
overwrite: 덮어쓰기
shortcode: 짧은 코드 shortcode: 짧은 코드
shortcode_hint: 최소 2글자, 영문자, 숫자, _만 사용 가능 shortcode_hint: 최소 2글자, 영문자, 숫자, _만 사용 가능
title: 커스텀 에모지 title: 커스텀 에모지
unlisted: 목록에 없음
update_failed_msg: 에모지를 업데이트 할 수 없습니다
updated_msg: 에모지가 성공적으로 업데이트 되었습니다!
upload: 업로드 upload: 업로드
domain_blocks: domain_blocks:
add_new: 추가하기 add_new: 추가하기
@ -196,6 +233,13 @@ ko:
reset: 리셋 reset: 리셋
search: 검색 search: 검색
title: 알려진 인스턴스들 title: 알려진 인스턴스들
invites:
filter:
all: 모두
available: 사용가능
expired: 만료됨
title: 필터
title: 초대
reports: reports:
action_taken_by: 신고 처리자 action_taken_by: 신고 처리자
are_you_sure: 정말로 실행하시겠습니까? are_you_sure: 정말로 실행하시겠습니까?
@ -234,9 +278,15 @@ ko:
deletion: deletion:
desc_html: 유저가 자신의 계정을 삭제할 수 있도록 설정합니다. desc_html: 유저가 자신의 계정을 삭제할 수 있도록 설정합니다.
title: 계정 삭제를 허가함 title: 계정 삭제를 허가함
min_invite_role:
disabled: 아무도 못 하게
title: 초대링크를 만들 수 있는 권한
open: open:
desc_html: 유저가 자신의 계정을 생성할 수 있도록 설정합니다. desc_html: 유저가 자신의 계정을 생성할 수 있도록 설정합니다.
title: 신규 계정 등록을 받음 title: 신규 계정 등록을 받음
show_staff_badge:
desc_html: 유저 페이지에 스태프 배지를 표시합니다.
title: 스태프 배지 표시
site_description: site_description:
desc_html: 탑 페이지와 meta 태그에 사용됩니다.<br>HTML 태그, 예를 들어<code>&lt;a&gt;</code> 태그와 <code>&lt;em&gt;</code> 태그를 사용할 수 있습니다. desc_html: 탑 페이지와 meta 태그에 사용됩니다.<br>HTML 태그, 예를 들어<code>&lt;a&gt;</code> 태그와 <code>&lt;em&gt;</code> 태그를 사용할 수 있습니다.
title: 사이트 설명 title: 사이트 설명
@ -303,6 +353,8 @@ ko:
invalid_reset_password_token: 비밀번호 리셋 토큰이 올바르지 못하거나 기간이 만료되었습니다. 다시 요청해주세요. invalid_reset_password_token: 비밀번호 리셋 토큰이 올바르지 못하거나 기간이 만료되었습니다. 다시 요청해주세요.
login: 로그인 login: 로그인
logout: 로그아웃 logout: 로그아웃
migrate_account: 계정 옮기기
migrate_account_html: 이 계정을 다른 계정으로 리디렉션 하길 원하는 경우 <a href="%{path}">여기</a>에서 설정할 수 있습니다.
register: 등록하기 register: 등록하기
resend_confirmation: 확인 메일을 다시 보내기 resend_confirmation: 확인 메일을 다시 보내기
reset_password: 비밀번호 재설정 reset_password: 비밀번호 재설정
@ -384,12 +436,43 @@ ko:
following: 팔로우 중인 계정 목록 following: 팔로우 중인 계정 목록
muting: 뮤트 중인 계정 목록 muting: 뮤트 중인 계정 목록
upload: 업로드 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_html: "<strong>%{name}</strong> 님은 %{link_to_root_path} 인스턴스의 사용자입니다. 계정을 가지고 있다면 팔로우 하거나 대화할 수 있습니다."
landing_strip_signup_html: 아직 계정이 없다면 <a href="%{sign_up_path}">여기서</a> 등록할 수 있습니다. landing_strip_signup_html: 아직 계정이 없다면 <a href="%{sign_up_path}">여기서</a> 등록할 수 있습니다.
lists:
errors:
limit: 리스트 최대치에 도달했습니다
media_attachments: media_attachments:
validations: validations:
images_and_video: 이미 사진이 첨부되어 있으므로 동영상을 첨부할 수 없습니다. images_and_video: 이미 사진이 첨부되어 있으므로 동영상을 첨부할 수 없습니다.
too_many: 최대 4개까지 첨부할 수 있습니다. too_many: 최대 4개까지 첨부할 수 있습니다.
migrations:
acct: 새 계정의 username@domain
currently_redirecting: '당신의 프로파일은 여기로 리디렉션 됩니다:'
proceed: 저장
updated_msg: 계정 이동 설정이 저장되었습니다!
moderation:
title: 모더레이션
notification_mailer: notification_mailer:
digest: digest:
body: "%{instance} 에서 마지막 로그인 뒤로 일어난 일:" body: "%{instance} 에서 마지막 로그인 뒤로 일어난 일:"
@ -502,6 +585,7 @@ ko:
export: 데이터 내보내기 export: 데이터 내보내기
followers: 신뢰 중인 인스턴스 followers: 신뢰 중인 인스턴스
import: 데이터 가져오기 import: 데이터 가져오기
migrate: 계정 이동
notifications: 알림 notifications: 알림
preferences: 사용자 설정 preferences: 사용자 설정
settings: 설정 settings: 설정
@ -516,6 +600,7 @@ ko:
private: 비공개 툿은 고정될 수 없습니다. private: 비공개 툿은 고정될 수 없습니다.
reblog: 부스트는 고정될 수 없습니다. reblog: 부스트는 고정될 수 없습니다.
show_more: 더 보기 show_more: 더 보기
title: '%{name}: "%{quote}"'
visibilities: visibilities:
private: 비공개 private: 비공개
private_long: 팔로워에게만 공개됩니다 private_long: 팔로워에게만 공개됩니다
@ -530,6 +615,8 @@ ko:
sensitive_content: 민감한 컨텐츠 sensitive_content: 민감한 컨텐츠
terms: terms:
title: "%{instance} 이용약관과 개인정보 취급 방침" title: "%{instance} 이용약관과 개인정보 취급 방침"
themes:
default: Mastodon
time: time:
formats: formats:
default: "%Y년 %m월 %d일 %H:%M" default: "%Y년 %m월 %d일 %H:%M"

View File

@ -4,6 +4,7 @@ ko:
hints: hints:
defaults: defaults:
avatar: PNG, GIF 혹은 JPG. 최대 2MB. 120x120px로 다운스케일 됨 avatar: PNG, GIF 혹은 JPG. 최대 2MB. 120x120px로 다운스케일 됨
digest: 오랫동안 활동하지 않았을 때 받은 멘션들에 대한 요약 받기.
display_name: display_name:
one: <span class="name-counter">1</span> 글자 남음 one: <span class="name-counter">1</span> 글자 남음
other: <span class="name-counter">%{count}</span> 글자 남음 other: <span class="name-counter">%{count}</span> 글자 남음
@ -29,9 +30,12 @@ ko:
data: 데이터 data: 데이터
display_name: 표시되는 이름 display_name: 표시되는 이름
email: 이메일 주소 email: 이메일 주소
expires_in: 만료시각
filtered_languages: 숨긴 언어들
header: 헤더 header: 헤더
locale: 언어 locale: 언어
locked: 계정 잠금 locked: 계정 잠금
max_uses: 사용 횟수 제한
new_password: 새로운 비밀번호 입력 new_password: 새로운 비밀번호 입력
note: 자기소개 note: 자기소개
otp_attempt: 2단계 인증 코드 otp_attempt: 2단계 인증 코드
@ -42,6 +46,7 @@ ko:
setting_default_sensitive: 미디어를 언제나 민감한 컨텐츠로 설정 setting_default_sensitive: 미디어를 언제나 민감한 컨텐츠로 설정
setting_delete_modal: 툿 삭제 전 확인 창을 표시 setting_delete_modal: 툿 삭제 전 확인 창을 표시
setting_noindex: 검색엔진의 인덱싱을 거절 setting_noindex: 검색엔진의 인덱싱을 거절
setting_reduce_motion: 애니메이션 줄이기
setting_system_font_ui: 시스템의 초기 설정 폰트를 사용 setting_system_font_ui: 시스템의 초기 설정 폰트를 사용
setting_theme: 사이트 테마 setting_theme: 사이트 테마
setting_unfollow_modal: 언팔로우 전 언팔로우 확인 표시 setting_unfollow_modal: 언팔로우 전 언팔로우 확인 표시
@ -51,6 +56,7 @@ ko:
interactions: interactions:
must_be_follower: 나를 팔로우 하지 않는 사람에게서 온 알림을 차단 must_be_follower: 나를 팔로우 하지 않는 사람에게서 온 알림을 차단
must_be_following: 내가 팔로우 하지 않는 사람에게서 온 알림을 차단 must_be_following: 내가 팔로우 하지 않는 사람에게서 온 알림을 차단
must_be_following_dm: 내가 팔로우 하지 않은 사람에게서 오는 다이렉트메시지를 차단
notification_emails: notification_emails:
digest: 요약 이메일 보내기 digest: 요약 이메일 보내기
favourite: 누군가 내 상태를 즐겨찾기로 등록했을 때 이메일 보내기 favourite: 누군가 내 상태를 즐겨찾기로 등록했을 때 이메일 보내기