瀏覽代碼

Merge pull request #1578 from gsongsong/i18n-koKR

Add Korean internationalization
Alexandre Alapetite 8 年之前
父節點
當前提交
e3d76d612c

+ 1 - 0
app/i18n/cz/gen.php

@@ -118,6 +118,7 @@ return array(
 		'en' => 'English',
 		'fr' => 'Français',
 		'it' => 'Italiano',
+		'kr' => '한국어',
 		'nl' => 'Nederlands',
 		'ru' => 'Русский',
 		'tr' => 'Türkçe',

+ 1 - 0
app/i18n/de/gen.php

@@ -118,6 +118,7 @@ return array(
 		'en' => 'English',
 		'fr' => 'Français',
 		'it' => 'Italiano',
+		'kr' => '한국어',
 		'nl' => 'Nederlands',
 		'ru' => 'Русский',
 		'tr' => 'Türkçe',

+ 2 - 1
app/i18n/en/gen.php

@@ -118,10 +118,11 @@ return array(
 		'en' => 'English',
 		'fr' => 'Français',
 		'it' => 'Italiano',
+		'kr' => '한국어',
 		'nl' => 'Nederlands',
 		'ru' => 'Русский',
 		'tr' => 'Türkçe',
-		'zh-cn' => '简体中文'
+		'zh-cn' => '简体中文',
 	),
 	'menu' => array(
 		'about' => 'About',

+ 1 - 0
app/i18n/fr/gen.php

@@ -118,6 +118,7 @@ return array(
 		'en' => 'English',
 		'fr' => 'Français',
 		'it' => 'Italiano',
+		'kr' => '한국어',
 		'nl' => 'Nederlands',
 		'ru' => 'Русский',
 		'tr' => 'Türkçe',

+ 1 - 0
app/i18n/it/gen.php

@@ -118,6 +118,7 @@ return array(
 		'en' => 'English',
 		'fr' => 'Français',
 		'it' => 'Italiano',
+		'kr' => '한국어',
 		'nl' => 'Nederlands',
 		'ru' => 'Русский',
 		'tr' => 'Türkçe',

+ 181 - 0
app/i18n/kr/admin.php

@@ -0,0 +1,181 @@
+<?php
+
+return array(
+	'auth' => array(
+		'allow_anonymous' => '누구나 기본 사용자의 글을 읽을 수 있도록 합니다(%s)',
+		'allow_anonymous_refresh' => '누구나 피드를 갱신할 수 있도록 합니다',
+		'api_enabled' => '<abbr>API</abbr> 사용을 허가합니다<small>(모바일 애플리케이션을 사용할 때 필요합니다)</small>',
+		'form' => '웹폼 (전통적인 방식, 자바스크립트 필요)',
+		'http' => 'HTTP (HTTPS를 사용하는 고급 사용자용)',
+		'none' => '사용하지 않음 (위험)',
+		'title' => '인증',
+		'title_reset' => '인증 초기화',
+		'token' => '인증 토큰',
+		'token_help' => '기본 사용자의 RSS에 인증 없이 접근할 수 있도록 합니다:',
+		'type' => '인증',
+		'unsafe_autologin' => '다음과 같은 안전하지 않은 방식의 로그인을 허가합니다: ',
+	),
+	'check_install' => array(
+		'cache' => array(
+			'nok' => '<em>./data/cache</em> 디렉토리의 권한을 확인하세요. HTTP 서버가 쓰기 권한을 가지고 있어야 합니다',
+			'ok' => 'cache 디렉토리의 권한이 올바르게 설정되었습니다.',
+		),
+		'categories' => array(
+			'nok' => 'category 테이블 설정이 잘못되었습니다.',
+			'ok' => 'category 테이블이 올바르게 설정되었습니다.',
+		),
+		'connection' => array(
+			'nok' => '데이터베이스에 연결할 수 없습니다.',
+			'ok' => '데이터베이스와의 연결이 올바르게 설정되었습니다.',
+		),
+		'ctype' => array(
+			'nok' => '문자열 타입 검사에 필요한 라이브러리를 찾을 수 없습니다 (php-ctype).',
+			'ok' => '문자열 타입 검사에 필요한 라이브러리가 설치되어 있습니다 (ctype).',
+		),
+		'curl' => array(
+			'nok' => 'cURL 라이브러리를 찾을 수 없습니다 (php-curl 패키지).',
+			'ok' => 'cURL 라이브러리가 설치되어 있습니다.',
+		),
+		'data' => array(
+			'nok' => '<em>./data</em> 디렉토리의 권한을 확인하세요. HTTP 서버가 쓰기 권한을 가지고 있어야 합니다',
+			'ok' => 'data 디렉토리의 권한이 올바르게 설정되었습니다.',
+		),
+		'database' => '데이터베이스 설치 요구사항',
+		'dom' => array(
+			'nok' => 'DOM을 다룰 수 있는 라이브러리를 찾을 수 없습니다 (php-xml 패키지).',
+			'ok' => 'DOM을 다룰 수 있는 라이브러리가 설치되어 있습니다.',
+		),
+		'entries' => array(
+			'nok' => 'entry 테이블 설정이 잘못되었습니다.',
+			'ok' => 'entry 테이블이 올바르게 설정되었습니다.',
+		),
+		'favicons' => array(
+			'nok' => '<em>./data/favicons</em> 디렉토리의 권한을 확인하세요. HTTP 서버가 쓰기 권한을 가지고 있어야 합니다',
+			'ok' => 'favicons 디렉토리의 권한이 올바르게 설정되어 있습니다.',
+		),
+		'feeds' => array(
+			'nok' => 'feed 테이블 설정이 잘못되었습니다.',
+			'ok' => 'feed 테이블이 올바르게 설정되었습니다',
+		),
+		'fileinfo' => array(
+			'nok' => 'fileinfo 라이브러리를 찾을 수 없습니다 (fileinfo 패키지).',
+			'ok' => 'fileinfo 라이브러리가 설치되어 있습니다.',
+		),
+		'files' => '파일 시스템 설치 요구사항',
+		'json' => array(
+			'nok' => 'JSON 확장 기능을 찾을 수 없습니다 (php5-json 패키지).',
+			'ok' => 'JSON  확장 기능이 설치되어 있습니다.',
+		),
+		'minz' => array(
+			'nok' => 'Minz 프레임워크를 찾을 수 없습니다.',
+			'ok' => 'Minz 프레임워크가 설치되어 있습니다.',
+		),
+		'pcre' => array(
+			'nok' => '정규표현식을 위한 라이브러리를 찾을 수 없습니다 (php-pcre).',
+			'ok' => '정규표현식을 위한 라이브러리가 설치되어 있습니다 (PCRE).',
+		),
+		'pdo' => array(
+			'nok' => '지원가능한 드라이버나 PDO를 찾을 수 없습니다 (pdo_mysql, pdo_sqlite, pdo_pgsql).',
+			'ok' => '최소 하나의 지원가능한 드라이버와 PDO가 설치되어 있습니다 (pdo_mysql, pdo_sqlite, pdo_pgsql).',
+		),
+		'php' => array(
+			'_' => 'PHP 설치 요구사항',
+			'nok' => 'PHP 버전은 %s 이지만, FreshRSS에는 최소 %s의 버전이 필요합니다.',
+			'ok' => 'PHP 버전은 %s 이고, FreshRSS와 호환가능 합니다.',
+		),
+		'tables' => array(
+			'nok' => '하나 이상의 테이블을 데이터베이스에서 찾을 수 없습니다.',
+			'ok' => '데이터베이스에 모든 테이블이 존재합니다.',
+		),
+		'title' => '설치 요구사항 확인',
+		'tokens' => array(
+			'nok' => '<em>./data/tokens</em> 디렉토리의 권한을 확인하세요. HTTP 서버가 쓰기 권한을 가지고 있어야 합니다',
+			'ok' => 'tokens 디렉토리의 권한이 올바르게 설정되어 있습니다',
+		),
+		'users' => array(
+			'nok' => '<em>./data/users</em> 디렉토리의 권한을 확인하세요. HTTP 서버가 쓰기 권한을 가지고 있어야 합니다',
+			'ok' => 'users 디렉토리의 권한이 올바르게 설정되어 있습니다.',
+		),
+		'zip' => array(
+			'nok' => 'ZIP 확장 기능을 찾을 수 없습니다 (php-zip 패키지).',
+			'ok' => 'ZIP 확장 기능이 설치되어 있습니다.',
+		),
+	),
+	'extensions' => array(
+		'disabled' => '비활성화됨',
+		'empty_list' => '설치된 확장 기능이 없습니다',
+		'enabled' => '활성화됨',
+		'no_configure_view' => '이 확장 기능은 설정이 없습니다.',
+		'system' => array(
+			'_' => '시스템 확장 기능',
+			'no_rights' => '시스템 확장 기능 (이 확장 기능에 대한 권한이 없습니다)',
+		),
+		'title' => '확장 기능',
+		'user' => '사용자 확장 기능',
+	),
+	'stats' => array(
+		'_' => '통계',
+		'all_feeds' => '모든 피드',
+		'category' => '카테고리',
+		'entry_count' => '글 개수',
+		'entry_per_category' => '카테고리별 글 개수',
+		'entry_per_day' => '일일 글 개수 (최근 30 일)',
+		'entry_per_day_of_week' => '요일별 (평균: %.2f 개의 글)',
+		'entry_per_hour' => '시간별 (평균: %.2f 개의 글)',
+		'entry_per_month' => '월별 (평균: %.2f 개의 글)',
+		'entry_repartition' => '글 분류',
+		'feed' => '피드',
+		'feed_per_category' => '카테고리별 피드 개수',
+		'idle' => '유휴 피드',
+		'main' => '주요 통계',
+		'main_stream' => '메인 스트림',
+		'menu' => array(
+			'idle' => '유휴 피드',
+			'main' => '주요 통계',
+			'repartition' => '글 분류',
+		),
+		'no_idle' => '유휴 피드가 없습니다!',
+		'number_entries' => '%d 개의 글',
+		'percent_of_total' => '전체에서의 비율 (%%)',
+		'repartition' => '글 분류',
+		'status_favorites' => '즐겨찾기',
+		'status_read' => '읽음',
+		'status_total' => '전체',
+		'status_unread' => '읽지 않음',
+		'title' => '통계',
+		'top_feed' => '상위 10 개 피드',
+	),
+	'system' => array(
+		'_' => '시스템 설정',
+		'auto-update-url' => '자동 업데이트 서버 URL',
+		'instance-name' => '인스턴스 이름',
+		'max-categories' => '사용자별 카테고리 개수 제한',
+		'max-feeds' => '사용자별 피드 개수 제한',
+		'registration' => array(
+			'help' => '0: 제한 없음',
+			'number' => '계정 최대 개수',
+		),
+	),
+	'update' => array(
+		'_' => '업데이트',
+		'apply' => '업데이트 적용하기',
+		'check' => '새 업데이트 확인하기',
+		'current_version' => '현재 FreshRSS 버전은 %s 입니다.',
+		'last' => '마지막 확인: %s',
+		'none' => '적용 가능한 업데이트가 없습니다',
+		'title' => '업데이트',
+	),
+	'user' => array(
+		'articles_and_size' => '%s 개의 글 (%s)',
+		'create' => '새 사용자 생성',
+		'language' => '언어',
+		'number' => '%d 개의 계정이 생성되었습니다',
+		'numbers' => '%d 개의 계정이 생성되었습니다',
+		'password_form' => '암호<br /><small>(웹폼 로그인 방식 사용시)</small>',
+		'password_format' => '7 글자 이상이어야 합니다',
+		'title' => '사용자 관리',
+		'user_list' => '사용자 목록',
+		'username' => '사용자 이름',
+		'users' => '전체 사용자',
+	),
+);

+ 174 - 0
app/i18n/kr/conf.php

@@ -0,0 +1,174 @@
+<?php
+
+return array(
+	'archiving' => array(
+		'_' => '보관',
+		'advanced' => '고급 설정',
+		'delete_after' => '다음 기간보다 오래된 글 삭제',
+		'help' => '더 자세한 옵션은 개별 피드 설정에 있습니다',
+		'keep_history_by_feed' => '피드별 최소 유지 글 개수',
+		'optimize' => '데이터베이스 최적화',
+		'optimize_help' => '데이터베이스 크기를 줄이기 위해 가끔씩 수행해주세요',
+		'purge_now' => '지금 삭제',
+		'title' => '보관',
+		'ttl' => '다음 시간이 지나기 전에 새로고침 금지',
+	),
+	'display' => array(
+		'_' => '표시',
+		'icon' => array(
+			'bottom_line' => '하단',
+			'entry' => '문서 아이콘',
+			'publication_date' => '발행일',
+			'related_tags' => '관련 태그',
+			'sharing' => '공유',
+			'top_line' => '상단',
+		),
+		'language' => '언어',
+		'notif_html5' => array(
+			'seconds' => '초 (0: 타임아웃 없음)',
+			'timeout' => 'HTML5 알림 타임아웃',
+		),
+		'theme' => '테마',
+		'title' => '표시',
+		'width' => array(
+			'content' => '내용 표시 너비',
+			'large' => '넓음',
+			'medium' => '보통',
+			'no_limit' => '제한 없음',
+			'thin' => '얇음',
+		),
+	),
+	'query' => array(
+		'_' => '사용자 쿼리',
+		'deprecated' => '이 쿼리는 더 이상 유효하지 않습니다. 해당하는 카테고리나 피드가 삭제되었습니다.',
+		'filter' => '적용된 필터:',
+		'get_all' => '모든 글 표시',
+		'get_category' => '"%s" 카테고리 표시',
+		'get_favorite' => '즐겨찾기에 등록된 글 표시',
+		'get_feed' => '"%s" 피드 표시',
+		'no_filter' => '필터가 없습니다',
+		'none' => '아직 사용자 쿼리를 만들지 않았습니다.',
+		'number' => '쿼리 #%d',
+		'order_asc' => '오래된 글 먼저 표시',
+		'order_desc' => '최근 글 먼저 표시',
+		'search' => '"%s"의 검색 결과',
+		'state_0' => '모든 글 표시',
+		'state_1' => '읽은 글 표시',
+		'state_2' => '읽지 않은 글 표시',
+		'state_3' => '모든 글 표시',
+		'state_4' => '즐겨찾기에 등록된 글 표시',
+		'state_5' => '즐겨찾기에 등록된 읽은 글 표시',
+		'state_6' => '즐겨찾기에 등록된 읽지 않은 글 표시',
+		'state_7' => '즐겨찾기에 등록된 글 표시',
+		'state_8' => '즐겨찾기에 등록되지 않은 글 표시',
+		'state_9' => '즐겨찾기에 등록되지 않고 읽은 글 표시',
+		'state_10' => '즐겨찾기에 등록되지 않고 읽지 않은 글 표시',
+		'state_11' => '즐겨찾기에 등록되지 않은 글 표시',
+		'state_12' => '모든 글 표시',
+		'state_13' => '읽은 글 표시',
+		'state_14' => '읽지 않은 글 표시',
+		'state_15' => '모든 글 표시',
+		'title' => '사용자 쿼리',
+	),
+	'profile' => array(
+		'_' => '프로필 관리',
+		'delete' => array(
+			'_' => '계정 삭제',
+			'warn' => '당신의 계정과 관련된 모든 데이터가 삭제됩니다.',
+		),
+		'password_api' => 'API 암호<br /><small>(예: 모바일 애플리케이션)</small>',
+		'password_form' => '암호<br /><small>(웹폼 로그인 방식 사용시)</small>',
+		'password_format' => '7 글자 이상이어야 합니다',
+		'title' => '프로필',
+	),
+	'reading' => array(
+		'_' => '읽기',
+		'after_onread' => '“모두 읽음으로 표시” 후,',
+		'articles_per_page' => '페이지당 글 수',
+		'auto_load_more' => '페이지 하단에 다다르면 글 더 불러오기',
+		'auto_remove_article' => '글을 읽은 후 숨기기',
+		'mark_updated_article_unread' => '갱신 된 글을 읽지 않음으로 표시',
+		'confirm_enabled' => '“모두 읽음으로 표시” 실행시 확인 창 표시',
+		'display_articles_unfolded' => '글을 펼쳐진 상태로 보여주기',
+		'display_categories_unfolded' => '카테고리를 접힌 상태로 보여주기',
+		'hide_read_feeds' => '읽지 않은 글이 없는 카테고리와 피드 감추기 (“모든 글 표시”가 설정된 경우 동작하지 않습니다)',
+		'img_with_lazyload' => '그림을 불러오는 데에 "lazy load" 모드 사용하기',
+		'sides_close_article' => '글 영역 바깥을 클릭하면 글 접기',
+		'jump_next' => '다음 읽지 않은 항목으로 이동 (피드 또는 카테고리)',
+		'number_divided_when_reader' => '읽기 모드에서는 절반만 표시됩니다.',
+		'read' => array(
+			'article_open_on_website' => '글이 게재된 웹사이트를 방문했을 때',
+			'article_viewed' => '글을 읽었을 때',
+			'scroll' => '스크롤을 하며 지나갈 때',
+			'upon_reception' => '글을 가져오자마자',
+			'when' => '읽음으로 표시…',
+		),
+		'show' => array(
+			'_' => 	'글 표시 방식',
+			'adaptive' => '읽지 않은 글이 없으면 모든 글 표시',
+			'all_articles' => '모든 글 표시',
+			'unread' => '읽지 않은 글만 표시',
+		),
+		'sort' => array(
+			'_' => '정렬 순서',
+			'newer_first' => '최근 글 먼저',
+			'older_first' => '오래된 글 먼저',
+		),
+		'sticky_post' => '글이 펼쳐진 경우 최상단에 고정하기',
+		'title' => '읽기',
+		'view' => array(
+			'default' => '기본 보기 모드',
+			'global' => '전체 모드',
+			'normal' => '일반 모드',
+			'reader' => '읽기 모드',
+		),
+	),
+	'sharing' => array(
+		'_' => '공유',
+		'blogotext' => 'Blogotext',
+		'diaspora' => 'Diaspora*',
+		'email' => '메일',
+		'facebook' => 'Facebook',
+		'g+' => 'Google+',
+		'more_information' => '자세한 정보',
+		'print' => '인쇄',
+		'shaarli' => 'Shaarli',
+		'share_name' => '표시할 이름',
+		'share_url' => '사용할 공유 URL',
+		'title' => '공유',
+		'twitter' => 'Twitter',
+		'wallabag' => 'wallabag',
+	),
+	'shortcut' => array(
+		'_' => '단축키',
+		'article_action' => '글 관련 동작',
+		'auto_share' => '공유',
+		'auto_share_help' => '공유 옵션이 하나만 설정되어 있다면 해당 공유 옵션을 사용하고, 그렇지 않다면 공유 옵션을 번호로 선택할 수 있습니다.',
+		'close_dropdown' => '메뉴 닫기',
+		'collapse_article' => '접기',
+		'first_article' => '첫 글 보기',
+		'focus_search' => '검색창 사용하기',
+		'help' => '도움말 보기',
+		'javascript' => '단축키를 사용하기 위해선 자바스크립트를 사용하도록 설정하여야 합니다',
+		'last_article' => '마지막 글 보기',
+		'load_more' => '글 더 불러오기',
+		'mark_read' => '읽음으로 표시',
+		'mark_favorite' => '즐겨찾기에 등록',
+		'navigation' => '탐색',
+		'navigation_help' => '"Shift" 키를 누른 상태에선 탐색 단축키가 피드에 적용됩니다.<br/>"Alt" 키를 누른 상태에선 탐색 단축키가 카테고리에 적용됩니다.',
+		'next_article' => '다음 글 보기',
+		'other_action' => '다른 동작',
+		'previous_article' => '이전 글 보기',
+		'see_on_website' => '글이 게재된 웹사이트에서 보기',
+		'shift_for_all_read' => '+ <code>shift</code>를 누른 상태에선 모두 읽음으로 표시',
+		'title' => '단축키',
+		'user_filter' => '사용자 필터 사용하기',
+		'user_filter_help' => '사용자 필터가 하나만 설정되어 있다면 해당 필터를 사용하고, 그렇지 않다면 필터를 번호로 선택할 수 있습니다.',
+	),
+	'user' => array(
+		'articles_and_size' => '%s 개의 글 (%s)',
+		'current' => '현재 사용자',
+		'is_admin' => '관리자입니다',
+		'users' => '전체 사용자',
+	),
+);

+ 109 - 0
app/i18n/kr/feedback.php

@@ -0,0 +1,109 @@
+<?php
+
+return array(
+	'admin' => array(
+		'optimization_complete' => '최적화가 완료되었습니다',
+	),
+	'access' => array(
+		'denied' => '이 페이지에 접근할 수 있는 권한이 없습니다',
+		'not_found' => '이 페이지는 존재하지 않습니다',
+	),
+	'auth' => array(
+		'form' => array(
+			'not_set' => '인증 시스템을 설정하는 동안 문제가 발생했습니다. 잠시 후 다시 시도하세요.',
+			'set' => '웹폼이 이제 기본 인증 시스템으로 설정되었습니다.',
+		),
+		'login' => array(
+			'invalid' => '유효하지 않은 로그인입니다',
+			'success' => '접속되었습니다',
+		),
+		'logout' => array(
+			'success' => '접속이 해제되었습니다',
+		),
+		'no_password_set' => '관리자 암호가 설정되지 않았습니다. 이 기능은 사용할 수 없습니다.',
+	),
+	'conf' => array(
+		'error' => '설정을 저장하는 동안 문제가 발생했습니다',
+		'query_created' => '쿼리 "%s" 가 생성되었습니다.',
+		'shortcuts_updated' => '단축키가 갱신되었습니다',
+		'updated' => '설정이 저장되었습니다',
+	),
+	'extensions' => array(
+		'already_enabled' => '%s 확장 기능은 이미 활성화되어 있습니다',
+		'disable' => array(
+			'ko' => '%s 확장 기능을 비활성화 할 수 없습니다. 자세한 내용은 <a href="%s">FressRSS 로그</a>를 참고하세요.',
+			'ok' => '%s 확장 기능이 비활성화되었습니다',
+		),
+		'enable' => array(
+			'ko' => '%s 확장 기능을 활성화 할 수 없습니다. 자세한 내용은 <a href="%s">FressRSS 로그</a>를 참고하세요.',
+			'ok' => '%s 확장 기능이 활성화되었습니다',
+		),
+		'no_access' => '%s 확장 기능에 접근 권한이 없습니다',
+		'not_enabled' => '%s 확장 기능이 활성화되지 않았습니다',
+		'not_found' => '%s 확장 기능이 존재하지 않습니다',
+	),
+	'import_export' => array(
+		'export_no_zip_extension' => 'ZIP 확장 기능을 서버에서 찾을 수 없습니다. 파일을 하나씩 내보내세요.',
+		'feeds_imported' => '피드를 성공적으로 불러왔습니다',
+		'feeds_imported_with_errors' => '피드를 불러왔지만, 문제가 발생했습니다',
+		'file_cannot_be_uploaded' => '파일을 업로드할 수 없습니다!',
+		'no_zip_extension' => 'ZIP 확장 기능을 서버에서 찾을 수 없습니다.',
+		'zip_error' => 'ZIP 파일을 불러오는 동안 문제가 발생했습니다.',
+	),
+	'sub' => array(
+		'actualize' => 'Updating',
+		'category' => array(
+			'created' => '%s 카테고리가 생성되었습니다.',
+			'deleted' => '카테고리가 삭제되었습니다.',
+			'emptied' => '카테고리를 비웠습니다',
+			'error' => '카테고리를 변경할 수 없습니다',
+			'name_exists' => '같은 카테고리 이름이 이미 존재합니다.',
+			'no_id' => '카테고리 id를 명시해야 합니다.',
+			'no_name' => '카테고리 이름을 명시해야 합니다.',
+			'not_delete_default' => '기본 카테고리는 삭제할 수 없습니다!',
+			'not_exist' => '카테고리가 존재하지 않습니다!',
+			'over_max' => '카테고리 개수 제한에 다다랐습니다 (%d)',
+			'updated' => '카테고리가 변경되었습니다.',
+		),
+		'feed' => array(
+			'actualized' => '<em>%s</em> 피드에서 새 글을 가져왔습니다',
+			'actualizeds' => 'RSS 피드에서 새 글을 가져왔습니다',
+			'added' => '<em>%s</em> 피드가 추가되었습니다',
+			'already_subscribed' => '이미 <em>%s</em> 피드를 구독 중입니다',
+			'deleted' => '피드가 삭제되었습니다',
+			'error' => '피드를 변경할 수 없습니다',
+			'internal_problem' => 'RSS 피드를 추가할 수 없습니다. 자세한 내용은 <a href="%s">FressRSS 로그</a>를 참고하세요.',
+			'invalid_url' => 'URL (<em>%s</em>)이 유효하지 않습니다',
+			'marked_read' => '피드가 읽음으로 표시되었습니다',
+			'n_actualized' => '%d 개의 피드에서 새 글을 가져왔습니다',
+			'n_entries_deleted' => '%d 개의 글을 삭제했습니다',
+			'no_refresh' => '새 글을 가져올 피드가 없습니다…',
+			'not_added' => '<em>%s</em> 피드를 추가할 수 없습니다',
+			'over_max' => '피드 개수 제한에 다다랐습니다 (%d)',
+			'updated' => '피드가 변경되었습니다',
+		),
+		'purge_completed' => '삭제 완료 (%d 개의 글을 삭제했습니다)',
+	),
+	'update' => array(
+		'can_apply' => 'FreshRSS가 <strong>%s</strong> 버전으로 업데이트됩니다.',
+		'error' => '업데이트 과정에서 문제가 발생했습니다: %s',
+		'file_is_nok' => '<strong>%s</strong> 버전을 사용할 수 있지만, <em>%s</em> 디렉토리의 권한을 확인하세요. HTTP 서버가 쓰기 권한을 가지고 있어야 합니다',
+		'finished' => '업데이트를 완료했습니다!',
+		'none' => '적용할 업데이트가 없습니다',
+		'server_not_found' => '업데이트 서버를 찾을 수 없습니다. [%s]',
+	),
+	'user' => array(
+		'created' => array(
+			'_' => '%s 사용자가 생성되었습니다',
+			'error' => '%s 사용자를 생성할 수 없습니다',
+		),
+		'deleted' => array(
+			'_' => '%s 사용자를 삭제했습니다',
+			'error' => '%s 사용자를 삭제할 수 없습니다',
+		),
+	),
+	'profile' => array(
+		'error' => '프로필을 변경할 수 없습니다',
+		'updated' => '프로필을 변경했습니다',
+	),
+);

+ 186 - 0
app/i18n/kr/gen.php

@@ -0,0 +1,186 @@
+<?php
+
+return array(
+	'action' => array(
+		'actualize' => '새 글 가져오기',
+		'back_to_rss_feeds' => '← RSS 피드로 돌아가기',
+		'cancel' => '취소',
+		'create' => '생성',
+		'disable' => '비활성화',
+		'empty' => '비우기',
+		'enable' => '활성화',
+		'export' => '내보내기',
+		'filter' => '해당하는 글 보기',
+		'import' => '불러오기',
+		'manage' => '관리',
+		'mark_read' => '읽음으로 표시',
+		'mark_favorite' => '즐겨찾기에 등록',
+		'remove' => '삭제',
+		'see_website' => '웹사이트 열기',
+		'submit' => '설정 저장',
+		'truncate' => '모든 글 삭제',
+	),
+	'auth' => array(
+		'email' => '메일 주소',
+		'keep_logged_in' => '로그인 유지 <small>(%s 일)</small>',
+		'login' => '로그인',
+		'logout' => '로그아웃',
+		'password' => array(
+			'_' => '암호',
+			'format' => '<small>7 글자 이상이어야 합니다</small>',
+		),
+		'registration' => array(
+			'_' => '새 계정',
+			'ask' => '새 계정을 만들까요?',
+			'title' => '계정 생성',
+		),
+		'reset' => '인증 초기화',
+		'username' => array(
+			'_' => '사용자 이름',
+			'admin' => '관리자 이름',
+			'format' => '<small>알파벳과 숫자를 포함할 수 있고 최대 16 글자</small>',
+		),
+	),
+	'date' => array(
+		'Apr' => '\\A\\p\\r\\i\\l',
+		'Aug' => '\\A\\u\\g\\u\\s\\t',
+		'Dec' => '\\D\\e\\c\\e\\m\\b\\e\\r',
+		'Feb' => '\\F\\e\\b\\r\\u\\a\\r\\y',
+		'Jan' => '\\J\\a\\n\\u\\a\\r\\y',
+		'Jul' => '\\J\\u\\l\\y',
+		'Jun' => '\\J\\u\\n\\e',
+		'Mar' => '\\M\\a\\r\\c\\h',
+		'May' => '\\M\\a\\y',
+		'Nov' => '\\N\\o\\v\\e\\m\\b\\e\\r',
+		'Oct' => '\\O\\c\\t\\o\\b\\e\\r',
+		'Sep' => '\\S\\e\\p\\t\\e\\m\\b\\e\\r',
+		'apr' => '4월',
+		'april' => '4월',
+		'aug' => '8월',
+		'august' => '8월',
+		'before_yesterday' => '어제 이전',
+		'dec' => '12월',
+		'december' => '12월',
+		'feb' => '2월',
+		'february' => '2월',
+		'format_date' => 'Y년 m월 d일',
+		'format_date_hour' => 'Y년 m월 d일 H시 i분',
+		'fri' => '금',
+		'jan' => '1월',
+		'january' => '1월',
+		'jul' => '7월',
+		'july' => '7월',
+		'jun' => '6월',
+		'june' => '6월',
+		'last_3_month' => '최근 3 개월',
+		'last_6_month' => '최근 6 개월',
+		'last_month' => '최근 한 달',
+		'last_week' => '최근 한 주',
+		'last_year' => '최근 일 년',
+		'mar' => '3월',
+		'march' => '3월',
+		'may' => '5월',
+		'mon' => '월',
+		'month' => '개월',
+		'nov' => '11월',
+		'november' => '11월',
+		'oct' => '10월',
+		'october' => '10월',
+		'sat' => '토',
+		'sep' => '9월',
+		'september' => '9월',
+		'sun' => '일',
+		'thu' => '목',
+		'today' => '오늘',
+		'tue' => '화',
+		'wed' => '수',
+		'yesterday' => '어제',
+	),
+	'freshrss' => array(
+		'_' => 'FreshRSS',
+		'about' => '정보',
+	),
+	'js' => array(
+		'category_empty' => '빈 카테고리',
+		'confirm_action' => '정말 이 작업을 수행하시겠습니까? 이 작업은 되돌릴 수 없습니다!',
+		'confirm_action_feed_cat' => '정말 이 작업을 수행하시겠습니까? 관련된 즐겨찾기와 사용자 쿼리가 삭제됩니다. 이 작업은 되돌릴 수 없습니다!!',
+		'feedback' => array(
+			'body_new_articles' => '%%d 개의 새 글이 FreshRSS에 있습니다.',
+			'request_failed' => '요청한 작업을 수행할 수 없습니다. 인터넷 연결에 문제가 발생한 것 같습니다.',
+			'title_new_articles' => 'FreshRSS: 새 글이 있습니다!',
+		),
+		'new_article' => '새 글이 있습니다. 여기를 클릭하면 페이지를 다시 불러옵니다.',
+		'should_be_activated' => '자바스크립트를 사용하도록 설정해야합니다',
+	),
+	'lang' => array(
+		'cz' => 'Čeština',
+		'de' => 'Deutsch',
+		'en' => 'English',
+		'fr' => 'Français',
+		'it' => 'Italiano',
+		'kr' => '한국어',
+		'nl' => 'Nederlands',
+		'ru' => 'Русский',
+		'tr' => 'Türkçe',
+		'zh-cn' => '简体中文',
+	),
+	'menu' => array(
+		'about' => '정보',
+		'admin' => '관리',
+		'archiving' => '보관',
+		'authentication' => '인증',
+		'check_install' => '설치 요구사항 확인',
+		'configuration' => '설정',
+		'display' => '표시',
+		'extensions' => '확장 기능',
+		'logs' => '로그',
+		'queries' => '사용자 쿼리',
+		'reading' => '읽기',
+		'search' => '단어 또는 #태그 검색',
+		'sharing' => '공유',
+		'shortcuts' => '단축키',
+		'stats' => '통계',
+		'system' => '시스템 설정',
+		'update' => '업데이트',
+		'user_management' => '사용자 관리',
+		'user_profile' => '프로필',
+	),
+	'pagination' => array(
+		'first' => 'First',
+		'last' => 'Last',
+		'load_more' => '글 더 불러오기',
+		'mark_all_read' => '모두 읽음으로 표시',
+		'next' => 'Next',
+		'nothing_to_load' => '더 이상 글이 없습니다',
+		'previous' => 'Previous',
+	),
+	'share' => array(
+		'blogotext' => 'Blogotext',
+		'diaspora' => 'Diaspora*',
+		'email' => '메일',
+		'facebook' => 'Facebook',
+		'g+' => 'Google+',
+		'movim' => 'Movim',
+		'print' => '인쇄',
+		'shaarli' => 'Shaarli',
+		'twitter' => 'Twitter',
+		'wallabag' => 'wallabag v1',
+		'wallabagv2' => 'wallabag v2',
+		'jdh' => 'Journal du hacker',
+		'Known' => 'Known based sites',
+		'gnusocial' => 'GNU social',
+	),
+	'short' => array(
+		'attention' => '경고!',
+		'blank_to_disable' => '빈 칸으로 두면 비활성화',
+		'by_author' => 'By <em>%s</em>',
+		'by_default' => '기본값',
+		'damn' => '이런!',
+		'default_category' => '분류 없음',
+		'no' => '아니요',
+		'not_applicable' => '사용할 수 없음',
+		'ok' => 'Ok!',
+		'or' => '또는',
+		'yes' => '네',
+	),
+);

+ 61 - 0
app/i18n/kr/index.php

@@ -0,0 +1,61 @@
+<?php
+
+return array(
+	'about' => array(
+		'_' => '정보',
+		'agpl3' => '<a href="https://www.gnu.org/licenses/agpl-3.0.html">AGPL 3</a>',
+		'bugs_reports' => '버그 제보하기',
+		'credits' => '크레딧',
+		'credits_content' => 'FreshRSS는 <a href="http://twitter.github.io/bootstrap/">Bootstrap</a> 프레임워크를 사용하진 않지만, 일부 디자인 요소를 가져왔습니다. <a href="https://git.gnome.org/browse/gnome-icon-theme-symbolic">아이콘들</a>은 <a href="https://www.gnome.org/">GNOME 프로젝트</a>에서 가져왔습니다. <em>Open Sans</em> 글꼴은 <a href="https://fonts.google.com/specimen/Open+Sans">Steve Matteson</a>가 제작하였습니다. FreshRSS는 PHP 프레임워크인 <a href="https://github.com/marienfressinaud/MINZ">Minz</a>에 기반하고 있습니다.',
+		'freshrss_description' => 'FreshRSS는 <a href="http://tontof.net/kriss/feed/">Kriss Feed</a> 또는 <a href="http://projet.idleman.fr/leed/">Leed</a>와 같은 셀프 호스팅 기반의 RSS 피드 수집기입니다. FreshRSS는 강력하고 다양한 설정을 할 수 있으면서 도 가볍고 사용하기 쉽습니다.',
+		'github' => '<a href="https://github.com/FreshRSS/FreshRSS/issues">Github 저장소에 제보</a>',
+		'license' => '라이센스',
+		'project_website' => '프로젝트 웹사이트',
+		'title' => '정보',
+		'version' => '버전',
+		'website' => '웹사이트',
+	),
+	'feed' => array(
+		'add' => '피드를 추가하세요.',
+		'empty' => '글이 없습니다.',
+		'rss_of' => '%s의 피드',
+		'title' => 'RSS 피드',
+		'title_global' => '전체 모드',
+		'title_fav' => '즐겨찾기',
+	),
+	'log' => array(
+		'_' => '로그',
+		'clear' => '로그 모두 지우기',
+		'empty' => '로그 파일이 비어있습니다',
+		'title' => '로그',
+	),
+	'menu' => array(
+		'about' => 'FreshRSS 정보',
+		'add_query' => '쿼리 만들기',
+		'before_one_day' => '하루 이전',
+		'before_one_week' => '한 주 이전',
+		'favorites' => '즐겨찾기 (%s)',
+		'global_view' => '전체 모드',
+		'main_stream' => '메인 스트림',
+		'mark_all_read' => '모두 읽음으로 표시',
+		'mark_cat_read' => '카테고리를 읽음으로 표시',
+		'mark_feed_read' => '피드를 읽음으로 표시',
+		'newer_first' => '최근 글 먼저',
+		'non-starred' => '즐겨찾기를 제외하고 표시',
+		'normal_view' => '일반 모드',
+		'older_first' => '오래된 글 먼저',
+		'queries' => '사용자 쿼리',
+		'read' => '읽은 글만 표시',
+		'reader_view' => '읽기 모드',
+		'rss_view' => 'RSS 피드',
+		'search_short' => '검색',
+		'starred' => '즐겨찾기만 표시',
+		'stats' => '통계',
+		'subscription' => '구독 관리',
+		'unread' => '읽지 않은 글만 표시',
+	),
+	'share' => '공유',
+	'tag' => array(
+		'related' => '관련 태그',
+	),
+);

+ 119 - 0
app/i18n/kr/install.php

@@ -0,0 +1,119 @@
+<?php
+
+return array(
+	'action' => array(
+		'finish' => '설치 완료',
+		'fix_errors_before' => '다음 단계로 가기 전에 문제를 해결하세요.',
+		'keep_install' => '이전 설정 유지',
+		'next_step' => '다음 단계',
+		'reinstall' => 'FreshRSS 다시 설치',
+	),
+	'auth' => array(
+		'form' => '웹폼 (전통적인 방식, 자바스크립트 필요)',
+		'http' => 'HTTP (HTTPS를 사용하는 고급 사용자용)',
+		'none' => '사용하지 않음 (위험)',
+		'password_form' => '암호<br /><small>(웹폼 로그인 방식 사용시)</small>',
+		'password_format' => '7 글자 이상이어야 합니다',
+		'type' => '인증 방식',
+	),
+	'bdd' => array(
+		'_' => '데이터베이스',
+		'conf' => array(
+			'_' => '데이터베이스 설정',
+			'ko' => '데이터베이스 정보를 확인하세요.',
+			'ok' => '데이터베이스 설정이 저장되었습니다.',
+		),
+		'host' => '데이터베이스 서버',
+		'prefix' => '테이블 접두어',
+		'password' => '데이터베이스 암호',
+		'type' => '데이터베이스 종류',
+		'username' => '데이터베이스 사용자 이름',
+	),
+	'check' => array(
+		'_' => '설치 요구사항 확인',
+		'already_installed' => 'FreshRSS가 이미 설치되어 있는 것을 감지했습니다!',
+		'cache' => array(
+			'nok' => '<em>./data/cache</em> 디렉토리의 권한을 확인하세요. HTTP 서버가 쓰기 권한을 가지고 있어야 합니다',
+			'ok' => 'cache 디렉토리의 권한이 올바르게 설정되었습니다.',
+		),
+		'ctype' => array(
+			'nok' => '문자열 타입 검사에 필요한 라이브러리를 찾을 수 없습니다 (php-ctype).',
+			'ok' => '문자열 타입 검사에 필요한 라이브러리가 설치되어 있습니다 (ctype).',
+		),
+		'curl' => array(
+			'nok' => 'cURL 라이브러리를 찾을 수 없습니다 (php-curl 패키지).',
+			'ok' => 'cURL 라이브러리가 설치되어 있습니다.',
+		),
+		'data' => array(
+			'nok' => '<em>./data</em> 디렉토리의 권한을 확인하세요. HTTP 서버가 쓰기 권한을 가지고 있어야 합니다',
+			'ok' => 'data 디렉토리의 권한이 올바르게 설정되었습니다.',
+		),
+		'dom' => array(
+			'nok' => 'DOM을 다룰 수 있는 라이브러리를 찾을 수 없습니다 (php-xml 패키지).',
+			'ok' => 'DOM을 다룰 수 있는 라이브러리가 설치되어 있습니다.',
+		),
+		'favicons' => array(
+			'nok' => '<em>./data/favicons</em> 디렉토리의 권한을 확인하세요. HTTP 서버가 쓰기 권한을 가지고 있어야 합니다',
+			'ok' => 'favicons 디렉토리의 권한이 올바르게 설정되어 있습니다.',
+		),
+		'fileinfo' => array(
+			'nok' => 'fileinfo 라이브러리를 찾을 수 없습니다 (fileinfo 패키지).',
+			'ok' => 'fileinfo 라이브러리가 설치되어 있습니다.',
+		),
+		'http_referer' => array(
+			'nok' => 'HTTP REFERER가 변경되지 않았는지 확인해주세요.',
+			'ok' => 'HTTP REFERER가 서버와 일치하는 것을 확인했습니다.',
+		),
+		'json' => array(
+			'nok' => 'JSON 확장 기능을 찾을 수 없습니다 (php5-json 패키지).',
+			'ok' => 'JSON  확장 기능이 설치되어 있습니다.',
+		),
+		'minz' => array(
+			'nok' => 'Minz 프레임워크를 찾을 수 없습니다.',
+			'ok' => 'Minz 프레임워크가 설치되어 있습니다.',
+		),
+		'pcre' => array(
+			'nok' => '정규표현식을 위한 라이브러리를 찾을 수 없습니다 (php-pcre).',
+			'ok' => '정규표현식을 위한 라이브러리가 설치되어 있습니다 (PCRE).',
+		),
+		'pdo' => array(
+			'nok' => '지원가능한 드라이버나 PDO를 찾을 수 없습니다 (pdo_mysql, pdo_sqlite, pdo_pgsql).',
+			'ok' => '최소 하나의 지원가능한 드라이버와 PDO가 설치되어 있습니다 (pdo_mysql, pdo_sqlite, pdo_pgsql).',
+		),
+		'php' => array(
+			'nok' => 'PHP 버전은 %s 이지만, FreshRSS에는 최소 %s의 버전이 필요합니다.',
+			'ok' => 'PHP 버전은 %s 이고, FreshRSS와 호환가능 합니다.',
+		),
+		'users' => array(
+			'nok' => '<em>./data/users</em> 디렉토리의 권한을 확인하세요. HTTP 서버가 쓰기 권한을 가지고 있어야 합니다',
+			'ok' => 'users 디렉토리의 권한이 올바르게 설정되어 있습니다.',
+		),
+		'xml' => array(
+			'nok' => 'XML 해석을 위한 라이브러리르 찾을 수 없습니다.',
+			'ok' => 'XML 해석을 위한 라이브러리가 설치되어 있습니다.',
+		),
+	),
+	'conf' => array(
+		'_' => '일반 설정',
+		'ok' => '일반 설정이 저장되었습니다.',
+	),
+	'congratulations' => '축하합니다!',
+	'default_user' => '기본 사용자 이름<small>(알파벳과 숫자를 포함할 수 있고 최대 16 글자)</small>',
+	'delete_articles_after' => '다음 기간보다 오래된 글 삭제',
+	'fix_errors_before' => '다음 단계로 가기 전에 문제를 해결하세요.',
+	'javascript_is_better' => 'FreshRSS는 자바스크립트를 사용할 때 더욱 쾌적하고 강력합니다',
+	'js' => array(
+		'confirm_reinstall' => 'FreshRSS을 다시 설치하면 이전 설정이 사라집니다. 계속하시겠습니까?',
+	),
+	'language' => array(
+		'_' => '언어',
+		'choose' => 'FreshRSS에서 사용할 언어를 고르세요',
+		'defined' => '언어가 설정되었습니다.',
+	),
+	'not_deleted' => '무언가 잘못되었습니다; <em>%s</em> 파일을 직접 삭제해주세요.',
+	'ok' => '설치 과정이 성공적으로 끝났습니다.',
+	'step' => '단계 %d',
+	'steps' => '단계',
+	'title' => '설치 · FreshRSS',
+	'this_is_the_end' => '마침',
+);

+ 73 - 0
app/i18n/kr/sub.php

@@ -0,0 +1,73 @@
+<?php
+
+return array(
+	'bookmarklet' => array(
+		'documentation' => '이 버튼을 즐겨찾기 막대로 끌어다 놓거나 마우스 오른쪽 클릭으로 나타나는 메뉴에서 "이 링크를 즐겨찾기에 추가"를 선택하세요. 그리고 피드를 구독하길 원하는 페이지에서 "구독하기" 버튼을 클릭하세요.',
+		'label' => '구독하기',
+		'title' => '북마클릿',
+	),
+	'category' => array(
+		'_' => '카테고리',
+		'add' => '카테고리 추가',
+		'empty' => '빈 카테고리',
+		'new' => '새 카테고리',
+	),
+	'feed' => array(
+		'add' => 'RSS 피드 추가',
+		'advanced' => '고급 설정',
+		'archiving' => '보관',
+		'auth' => array(
+			'configuration' => '로그인',
+			'help' => 'HTTP 접속이 제한되는 RSS 피드에 접근합니다',
+			'http' => 'HTTP 인증',
+			'password' => 'HTTP 암호',
+			'username' => 'HTTP 사용자 이름',
+		),
+		'css_help' => '글의 일부가 포함된 RSS 피드를 가져옵니다 (주의, 시간이 좀 더 걸립니다!)',
+		'css_path' => '웹사이트 상의 글 본문에 해당하는 CSS 경로',
+		'description' => '설명',
+		'empty' => '이 피드는 비어있습니다. 피드가 계속 운영되고 있는지 확인하세요.',
+		'error' => '이 피드에 문제가 발생했습니다. 이 피드에 접근 권한이 있는지 확인하세요.',
+		'in_main_stream' => '메인 스트림에 표시하기',
+		'informations' => '정보',
+		'keep_history' => '최소 유지 글 개수',
+		'moved_category_deleted' => '카테고리를 삭제하면, 해당 카테고리 아래에 있던 피드들은 자동적으로 <em>%s</em> 아래로 분류됩니다.',
+		'no_selected' => '선택된 피드가 없습니다.',
+		'number_entries' => '%d 개의 글',
+		'stats' => '통계',
+		'think_to_add' => '피드를 추가할 수 있습니다.',
+		'title' => '제목',
+		'title_add' => 'RSS 피드 추가',
+		'ttl' => '다음 시간이 지나기 전에 새로고침 금지',
+		'url' => '피드 URL',
+		'validator' => '피드 유효성 검사',
+		'website' => '웹사이트 URL',
+		'pubsubhubbub' => 'PubSubHubbub을 사용한 즉시 알림',
+	),
+	'firefox' => array(
+		'documentation' => 'FreshRSS를 Firefox 피드 리더에 추가하기 위해서는 <a href="https://developer.mozilla.org/en-US/Firefox/Releases/2/Adding_feed_readers_to_Firefox#Adding_a_new_feed_reader_manually">여기</a>의 설명을 따르세요.',
+		'title' => 'Firefox 피드 리더',
+	),
+	'import_export' => array(
+		'export' => '내보내기',
+		'export_opml' => '피드 목록 내보내기 (OPML)',
+		'export_starred' => '즐겨찾기 내보내기',
+		'feed_list' => '%s 개의 글 목록',
+		'file_to_import' => '불러올 파일<br />(OPML, JSON 또는 ZIP)',
+		'file_to_import_no_zip' => '불러올 파일<br />(OPML 또는 JSON)',
+		'import' => '불러오기',
+		'starred_list' => '즐겨찾기에 등록된 글 목록',
+		'title' => '불러오기 / 내보내기',
+	),
+	'menu' => array(
+		'bookmark' => '구독하기 (FreshRSS 북마클릿)',
+		'import_export' => '불러오기 / 내보내기',
+		'subscription_management' => '구독 관리',
+		'subscription_tools' => '구독 도구',
+	),
+	'title' => array(
+		'_' => '구독 관리',
+		'feed_management' => 'RSS 피드 관리',
+		'subscription_tools' => '구독 도구',
+	),
+);

+ 1 - 0
app/i18n/nl/gen.php

@@ -118,6 +118,7 @@ return array(
 		'en' => 'English',
 		'fr' => 'Français',
 		'it' => 'Italiano',
+		'kr' => '한국어',
 		'nl' => 'Nederlands',
 		'ru' => 'Русский',
 		'tr' => 'Türkçe',

+ 1 - 0
app/i18n/ru/gen.php

@@ -118,6 +118,7 @@ return array(
 		'en' => 'English',
 		'fr' => 'Français',
 		'it' => 'Italiano',
+		'kr' => '한국어',
 		'nl' => 'Nederlands',
 		'ru' => 'Русский',
 		'tr' => 'Türkçe',

+ 1 - 0
app/i18n/tr/gen.php

@@ -118,6 +118,7 @@ return array(
 		'en' => 'English',
 		'fr' => 'Français',
 		'it' => 'Italiano',
+		'kr' => '한국어',
 		'nl' => 'Nederlands',
 		'ru' => 'Русский',
 		'tr' => 'Türkçe',

+ 2 - 1
app/i18n/zh-cn/gen.php

@@ -118,10 +118,11 @@ return array(
 		'en' => 'English1',
 		'fr' => 'Français',
 		'it' => 'Italiano1',
+		'kr' => '한국어',
 		'nl' => 'Nederlands',
 		'ru' => 'Русский',
 		'tr' => 'Türkçe',
-		'zh-cn' => '简体中文'
+		'zh-cn' => '简体中文',
 	),
 	'menu' => array(
 		'about' => '关于',