From 7674855b1ee7e93e8237ac231f629ea22a01a20d Mon Sep 17 00:00:00 2001 From: Slain Date: Tue, 9 May 2017 19:08:49 +0600 Subject: [PATCH 1/4] Russian translation. --- translations/ru-ru.all.json | 498 ++++++++++++++++++++++++++++++++++++ 1 file changed, 498 insertions(+) create mode 100644 translations/ru-ru.all.json diff --git a/translations/ru-ru.all.json b/translations/ru-ru.all.json new file mode 100644 index 00000000..075529bf --- /dev/null +++ b/translations/ru-ru.all.json @@ -0,0 +1,498 @@ +[ + { + "id": "link", + "translation": "ссылка" + }, + { + "id": "verify_email_title", + "translation": "Подтвердите свой Email адрес для Goyangi." + }, + { + "id": "verify_email_content", + "translation": "Нажмите на ссылку ниже, чтобы подтвердить свой Email адрес." + }, + { + "id": "reset_password_title", + "translation": "Восстановить пароль для Goyangi." + }, + { + "id": "reset_password_content", + "translation": "Нажмите ссылку ниже, чтобы восстановить пароль." + }, + { + "id":"register_title", + "translation": "Создание новой учетной записи" + }, + { + "id":"signup_box_title", + "translation": "Пожалуйста, зарегистрируйтесь Это бесплатно и всегда будет." + }, + { + "id":"username", + "translation": "Имя пользователя" + }, + { + "id":"email_address_or_username", + "translation": "Email адрес или Имя пользователя" + }, + { + "id":"email_address", + "translation": "Email адрес" + }, + { + "id":"password", + "translation": "Пароль" + }, + { + "id":"confirm_password", + "translation": "Подтвердите Пароль" + }, + { + "id":"i_agree", + "translation": "Я согласен" + }, + { + "id":"terms_conditions_confirm", + "translation": "Нажимая Регистрация, вы соглашаетесь с Правилами и условиями, указанными на этом сайте, включая использование файлов Cookie." + }, + { + "id":"signin", + "translation": "Вход" + }, + { + "id":"register", + "translation": "Регистрация" + }, + { + "id":"terms_conditions", + "translation": "Правила и условия" + }, + { + "id":"terms_conditions_full", + "translation": "Некоторое дерьмо." + }, + { + "id":"remember_me", + "translation": "Запомнить меня" + }, + { + "id":"forgot_password", + "translation": "Забыли пароль?" + }, + { + "id":"sign_in_box_title", + "translation": "Пожалуйста войдите" + }, + { + "id":"sign_in_title", + "translation": "Вход" + }, + { + "id":"register_success_title", + "translation": "Успешная регистрация" + }, + { + "id":"sign_up_success", + "translation": "Благодарим за регистрацию!" + }, + { + "id":"verify_success", + "translation": "Теперь ваша учетная запись активирована!" + }, + { + "id":"signup_verification_email", + "translation": "Теперь, в качестве последнего шага регистрации, проверьте свой почтовый ящик (или папку спам) и нажмите ссылку для активации вашей учетной записи!" + }, + { + "id":"settings", + "translation": "Настройки учетной записи" + }, + { + "id":"torrents", + "translation": "Торренты" + }, + { + "id":"follow", + "translation": "Следить" + }, + { + "id":"profile_page", + "translation": "Страница профиля %s" + }, + { + "id":"see_more_torrents_from", + "translation": "Смотреть другие торренты %s " + }, + { + "id":"category", + "translation": "Категория" + }, + { + "id": "name", + "translation": "Название" + }, + { + "id": "date", + "translation": "Дата" + }, + { + "id": "size", + "translation": "Размер" + }, + { + "id": "links", + "translation": "Ссылки" + }, + { + "id": "home", + "translation": "Главная" + }, + { + "id": "error_404", + "translation": "Ошибка 404" + }, + { + "id": "toggle_navigation", + "translation": "Включить навигацию" + }, + { + "id": "upload", + "translation": "Загрузить" + }, + { + "id": "faq", + "translation": "FAQ" + }, + { + "id": "fap", + "translation": "Фап" + }, + { + "id": "advanced_search", + "translation": "Расширенный поиск" + }, + { + "id": "nothing_here", + "translation": "Здесь ничего нет." + }, + { + "id": "404_not_found", + "translation": "404 Не найдено" + }, + { + "id": "no_torrents_uploaded", + "translation": "Нет загруженных торрентов!" + }, + { + "id": "profile", + "translation": "Профиль" + }, + { + "id": "sign_out", + "translation": "Выход" + }, + { + "id": "member", + "translation": "Пользователь" + }, + { + "id": "sign_in", + "translation": "Войти" + }, + { + "id": "sign_up", + "translation": "Зарегистрироваться" + }, + { + "id": "no_results_found", + "translation": "Результаты не найдены" + }, + { + "id": "notice_keep_seeding", + "translation": "УВЕДОМЛЕНИЕ: УДЕРЖИВАЙ РАЗДАЧУ И ВКЛЮЧАЙ DHT ТЫ ТОРМОЗ" + }, + { + "id": "official_nyaapocalipse_faq", + "translation": "Официальное Няпокалипсис FAQ" + }, + { + "id": "links_replacement_mirror", + "translation": "Ссылки на замены/зеркала" + }, + { + "id": "what_happened", + "translation": "Что произошло?" + }, + { + "id": "nyaa_se_went_offline", + "translation": "nyaa.se и связанные с ними домены (например, nyaatorrents.info), отключились 1 мая 2017 года." + }, + { + "id": "its_not_a_ddos", + "translation": "Они были деактивированы, так что это не DDoS-атака, как обычно." + }, + { + "id": "future_not_looking_good", + "translation": "Будущие перспективы для nyaa выглядят не очень хорошо. (Он мертв)" + }, + { + "id": "recovery_effort", + "translation": "Идет процесс восстановления." + }, + { + "id": "is_everything_lost", + "translation": "Все потеряно?" + }, + { + "id": "in_short_no", + "translation": "Короче говоря, нет." + }, + { + "id": "are_some_things_lost", + "translation": "Некоторые вещи потеряны?" + }, + { + "id": "answer_is_nyaa_db_lost", + "translation": "У нас есть база данных торрентов на nyaa до 5 апреля 1 мая. Это означает, что почти ничего не потеряно." + }, + { + "id": "answer_is_sukebei_db_lost", + "translation": "Однако, Sukebei не в лучшей форме. В настоящее время у нас есть только сукебские базы данных до 2016 года, но более новая база данных может быть доступна для использования." + }, + { + "id": "how_are_we_recovering", + "translation": "Как мы выздоравливаем?" + }, + { + "id": "answer_how_are_we_recovering", + "translation": "Вышеупомянутые базы данных размещаются на сайтах nyaa.pantsu.cat и sukebei.pantsu.cat. Существует функция поиска, и (почти) полная функциональность nyaa должна появиться в ближайшее время. Статистика Раздающих/Скачавших возможна с помощью скраппинга и может быть восстановлена в будущем, так как сейчас у нас в большем приоритете другие функции." + }, + { + "id": "are_the_trackers_working", + "translation": "Торренты все еще работают?" + }, + { + "id": "answer_are_the_trackers_working", + "translation": "Даже если трекеры не работают, раздающие все еще подключены к децентрализованной сети DHT. Пока файл находится в сети DHT, все должено работать как обычно." + }, + { + "id": "how_do_i_download_the_torrents", + "translation": "Как скачать торренты?" + }, + { + "id": "answer_how_do_i_download_the_torrents", + "translation": "Просто используйте магнитную ссылку. Магнит ссылка будет использоваться вашим клиентом BitTorrent для поиска файла в сети DHT, и они должены загружаться просто отлично." + }, + { + "id": "magnet_link_should_look_like", + "translation": "Магнит ссылка должна выглядеть так:" + }, + { + "id": "which_trackers_do_you_recommend", + "translation": "Какие трекеры вы рекомендуете использовать?" + }, + { + "id": "answer_which_trackers_do_you_recommend", + "translation": "Если ваша торрент-загрузка запрещена из-за трекеров, вам нужно добавить некоторые из них:" + }, + { + "id": "how_can_i_help", + "translation": "Чем могу помочь?" + }, + { + "id": "answer_how_can_i_help", + "translation": "Если у вас есть опыт разработки веб-сайтов, вы можете присоединиться к IRC-каналу #nyaapantsu на irc.rizon.net. Если у вас есть свежие базы данных, особенно для sukebei, ЗАГРУЗИТЕ ИХ." + }, + { + "id": "your_design_sucks_found_a_bug", + "translation": "Ваш дизайн отстой / Я нашел ошибку" + }, + { + "id": "why_written_in_go", + "translation": "Почему ваше дерьмо написано на Go?" + }, + { + "id": "authors_favorite_language", + "translation": "Это любимый язык программирования автора." + }, + { + "id": "nyaa_pantsu_dont_host_files", + "translation": "nyaa.pantsu.cat и sukebei.pantsu.cat не содержат файлы." + }, + { + "id": "upload_magnet", + "translation": "Загрузить магнит" + }, + { + "id": "torrent_file", + "translation": "Торрент-файл" + }, + { + "id": "uploading_torrent_prefills_fields", + "translation": "Загрузка торрент-файла позволяет предварительно заполнить некоторые поля, это рекомендуется." + }, + { + "id": "magnet_link", + "translation": "Магнит ссылка" + }, + { + "id": "all_categories", + "translation": "Все категории" + }, + { + "id": "anime", + "translation": "Аниме" + }, + { + "id": "anime_amv", + "translation": "Аниме - Аниме Музыка Видео" + }, + { + "id": "anime_english_translated", + "translation": "Аниме - Английский-перевод" + }, + { + "id": "anime_non_english_translated", + "translation": "Аниме - Не-английский-перевод" + }, + { + "id": "anime_raw", + "translation": "Аниме - Raw" + }, + { + "id": "audio", + "translation": "Аудио" + }, + { + "id": "audio_lossless", + "translation": "Аудио - Lossless" + }, + { + "id": "audio_lossy", + "translation": "Аудио - Lossy" + }, + { + "id": "literature", + "translation": "Литература" + }, + { + "id": "literature_english_translated", + "translation": "Литература - Английский-перевод" + }, + { + "id": "literature_raw", + "translation": "Литература - Raw" + }, + { + "id": "literature_non_english_translated", + "translation": "Литература - Не-английский-перевод" + }, + { + "id": "live_action", + "translation": "Игровое кино" + }, + { + "id": "live_action_english_translated", + "translation": "Игровое кино - Английский-перевод" + }, + { + "id": "live_action_idol_pv", + "translation": "Игровое кино - Идол / Рекламное видео" + }, + { + "id": "live_action_non_english_translated", + "translation": "Игровое кино - Не-английский-перевод" + }, + { + "id": "live_action_raw", + "translation": "Игровое кино - Raw" + }, + { + "id": "pictures", + "translation": "Картинки" + }, + { + "id": "pictures_graphics", + "translation": "Картинки - Графика" + }, + { + "id": "pictures_photos", + "translation": "Картинки - Фото" + }, + { + "id": "software", + "translation": "Софт" + }, + { + "id": "software_applications", + "translation": "Софт - Приложения" + }, + { + "id": "software_games", + "translation": "Софт - Игры" + }, + { + "id": "torrent_description", + "translation": "Описание торрента" + }, + { + "id": "limited_html_set_is_allowed_use", + "translation": "В описании допускается ограниченный набор HTML, поэтому обязательно используйте" + }, + { + "id": "show_all", + "translation": "Показать все" + }, + { + "id": "filter_remakes", + "translation": "Фильтрация римейков" + }, + { + "id": "trusted", + "translation": "Доверенные" + }, + { + "id": "id", + "translation": "ID" + }, + { + "id": "downloads", + "translation": "Загрузки" + }, + { + "id": "descending", + "translation": "Нисходящий" + }, + { + "id": "ascending", + "translation": "Восходящий" + }, + { + "id": "search", + "translation": "Поиск" + }, + { + "id": "hash", + "translation": "Хеш" + }, + { + "id": "description", + "translation": "Описание" + }, + { + "id": "comments", + "translation": "Комментарии" + }, + { + "id": "submit_a_comment_as_username", + "translation": "Отправить комментарий как %s" + }, + { + "id": "submit_a_comment_as_anonymous", + "translation": "Отправить комментарий как Анонимный" + }, + { + "id": "submit", + "translation": "Отправить" + } +] From 0aa35901c0393eb7a36c4ef434374a428679c969 Mon Sep 17 00:00:00 2001 From: Blue Date: Tue, 9 May 2017 16:15:38 +0200 Subject: [PATCH 2/4] Fixed background color for .profile-content See issue #209 --- public/css/style-night.css | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/css/style-night.css b/public/css/style-night.css index 95a5fe08..55587915 100644 --- a/public/css/style-night.css +++ b/public/css/style-night.css @@ -66,6 +66,12 @@ a { .dropdown-menu > li > a:focus, .dropdown-menu > li > a:hover { background: #263238; } + +/* Profile Content */ +.profile-content { + background: #29363d; +} + /* Night mode switcher */ #mainmenu a.nightswitch { background-image: url(/img/moon.png); From 18d6ad39920580866c3d6485d5117b92c444db25 Mon Sep 17 00:00:00 2001 From: Jeff Date: Tue, 9 May 2017 11:07:42 -0400 Subject: [PATCH 3/4] make rss fast again :^) --- main.go | 1 + router/rssHandler.go | 2 +- service/torrent/torrent.go | 19 +++++++++++++++---- util/search/search.go | 16 +++++++++++++++- 4 files changed, 32 insertions(+), 6 deletions(-) diff --git a/main.go b/main.go index 3dc344ba..a8510886 100644 --- a/main.go +++ b/main.go @@ -3,6 +3,7 @@ package main import ( "bufio" "flag" + "github.com/nicksnyder/go-i18n/i18n" "github.com/ewhal/nyaa/config" diff --git a/router/rssHandler.go b/router/rssHandler.go index 102ffc89..381b30a7 100644 --- a/router/rssHandler.go +++ b/router/rssHandler.go @@ -13,7 +13,7 @@ import ( func RssHandler(w http.ResponseWriter, r *http.Request) { - _, torrents, _, err := search.SearchByQuery(r, 1) + _, torrents, err := search.SearchByQueryNoCount(r, 1) if err != nil { util.SendError(w, err, 400) return diff --git a/service/torrent/torrent.go b/service/torrent/torrent.go index 72b83e7a..7426a4f7 100644 --- a/service/torrent/torrent.go +++ b/service/torrent/torrent.go @@ -67,7 +67,17 @@ func GetTorrentById(id string) (model.Torrents, error) { return torrent, nil } +func GetTorrentsOrderByNoCount(parameters *WhereParams, orderBy string, limit int, offset int) (torrents []model.Torrents, err error) { + torrents, _, err = getTorrentsOrderBy(parameters, orderBy, limit, offset, false) + return +} + func GetTorrentsOrderBy(parameters *WhereParams, orderBy string, limit int, offset int) (torrents []model.Torrents, count int, err error) { + torrents, count, err = getTorrentsOrderBy(parameters, orderBy, limit, offset, true) + return +} + +func getTorrentsOrderBy(parameters *WhereParams, orderBy string, limit int, offset int, countAll bool) (torrents []model.Torrents, count int, err error) { var conditionArray []string if strings.HasPrefix(orderBy, "filesize") { // torrents w/ NULL filesize fuck up the sorting on postgres @@ -81,11 +91,12 @@ func GetTorrentsOrderBy(parameters *WhereParams, orderBy string, limit int, offs params = parameters.Params } conditions := strings.Join(conditionArray, " AND ") - err = db.ORM.Model(&torrents).Where(conditions, params...).Count(&count).Error - if err != nil { - return + if countAll { + err = db.ORM.Model(&torrents).Where(conditions, params...).Count(&count).Error + if err != nil { + return + } } - // TODO: Vulnerable to injections. Use query builder. // build custom db query for performance reasons diff --git a/util/search/search.go b/util/search/search.go index 415ee4e8..a4a848d7 100644 --- a/util/search/search.go +++ b/util/search/search.go @@ -57,6 +57,16 @@ type SearchParam struct { } func SearchByQuery(r *http.Request, pagenum int) (search SearchParam, tor []model.Torrents, count int, err error) { + search, tor, count, err = searchByQuery(r, pagenum, true) + return +} + +func SearchByQueryNoCount(r *http.Request, pagenum int) (search SearchParam, tor []model.Torrents, err error) { + search, tor, _, err = searchByQuery(r, pagenum, false) + return +} + +func searchByQuery(r *http.Request, pagenum int, countAll bool) (search SearchParam, tor []model.Torrents, count int, err error) { max, err := strconv.ParseUint(r.URL.Query().Get("max"), 10, 32) if err != nil { err = nil @@ -180,6 +190,10 @@ func SearchByQuery(r *http.Request, pagenum int) (search SearchParam, tor []mode parameters.Conditions = strings.Join(conditions[:], " AND ") log.Infof("SQL query is :: %s\n", parameters.Conditions) - tor, count, err = torrentService.GetTorrentsOrderBy(¶meters, order_by, int(search.Max), int(search.Max)*(pagenum-1)) + if countAll { + tor, count, err = torrentService.GetTorrentsOrderBy(¶meters, order_by, int(search.Max), int(search.Max)*(pagenum-1)) + } else { + tor, err = torrentService.GetTorrentsOrderByNoCount(¶meters, order_by, int(search.Max), int(search.Max)*(pagenum-1)) + } return } From b14a5a6cfceb618b79349b8d7ff80a67a1f4293d Mon Sep 17 00:00:00 2001 From: transifex3 Date: Wed, 10 May 2017 00:17:31 +0900 Subject: [PATCH 4/4] Create ko-kr.all.json --- translations/ko-kr.all.json | 498 ++++++++++++++++++++++++++++++++++++ 1 file changed, 498 insertions(+) create mode 100644 translations/ko-kr.all.json diff --git a/translations/ko-kr.all.json b/translations/ko-kr.all.json new file mode 100644 index 00000000..020b0240 --- /dev/null +++ b/translations/ko-kr.all.json @@ -0,0 +1,498 @@ +[ + { + "id": "link", + "translation": "링크" + }, + { + "id": "verify_email_title", + "translation": "고양이를 위해 이메일을 확인해주세요" + }, + { + "id": "verify_email_content", + "translation": "아래의 버튼을 눌러 이메일을 확인해주세요" + }, + { + "id": "reset_password_title", + "translation": "고양이를 위해 암호를 리셋해주세요" + }, + { + "id": "reset_password_content", + "translation": "암호를 리셋하려면 아래의 링크를 눌러주세요" + }, + { + "id":"register_title", + "translation": "새 계정 만들기" + }, + { + "id":"signup_box_title", + "translation": "회원가입 해주세요! 가입은 무료이며 언제나 그럴 것입니다" + }, + { + "id":"username", + "translation": "별명" + }, + { + "id":"email_address_or_username", + "translation": "이메일 주소 혹은 별명" + }, + { + "id":"email_address", + "translation": "이메일 주소" + }, + { + "id":"password", + "translation": "암호" + }, + { + "id":"confirm_password", + "translation": "암호 확인" + }, + { + "id":"i_agree", + "translation": "동의합니다" + }, + { + "id":"terms_conditions_confirm", + "translation": "회원가입을 하시면, 쿠키 사용과 더불어 약관에 동의하신 것으로 간주합니다." + }, + { + "id":"signin", + "translation": "로그인" + }, + { + "id":"register", + "translation": "가입" + }, + { + "id":"terms_conditions", + "translation": "약관" + }, + { + "id":"terms_conditions_full", + "translation": "블라블라" + }, + { + "id":"remember_me", + "translation": "로그인 유지" + }, + { + "id":"forgot_password", + "translation": "암호를 잊어버리셨나요?" + }, + { + "id":"sign_in_box_title", + "translation": "로그인하세요" + }, + { + "id":"sign_in_title", + "translation": "로그인" + }, + { + "id":"register_success_title", + "translation": "성공적으로 가입했습니다!" + }, + { + "id":"sign_up_success", + "translation": "가입해주셔서 고마워요!" + }, + { + "id":"verify_success", + "translation": "계정이 활성화 되었습니다!" + }, + { + "id":"signup_verification_email", + "translation": "마지막으로 이메일 인증을 완료해 주세요! 이메일이 도착하지 않았다면 스팸 메일함도 확인해 주세요." + }, + { + "id":"settings", + "translation": "계정 설정" + }, + { + "id":"torrents", + "translation": "토렌트" + }, + { + "id":"follow", + "translation": "팔로우" + }, + { + "id":"profile_page", + "translation": "%s 프로필 페이지" + }, + { + "id":"see_more_torrents_from", + "translation": "%s 에서 더 많은 토렌트 보기" + }, + { + "id":"category", + "translation": "카테고리" + }, + { + "id": "name", + "translation": "이름" + }, + { + "id": "date", + "translation": "날짜" + }, + { + "id": "size", + "translation": "크기" + }, + { + "id": "links", + "translation": "링크" + }, + { + "id": "home", + "translation": "홈" + }, + { + "id": "error_404", + "translation": "에러 404" + }, + { + "id": "toggle_navigation", + "translation": "네비게이션 토글" + }, + { + "id": "upload", + "translation": "업로드" + }, + { + "id": "faq", + "translation": "FAQ" + }, + { + "id": "fap", + "translation": "딸" + }, + { + "id": "advanced_search", + "translation": "고급 검색" + }, + { + "id": "nothing_here", + "translation": "아무것도 없음" + }, + { + "id": "404_not_found", + "translation": "404 Not Found" + }, + { + "id": "no_torrents_uploaded", + "translation": "아직 토렌트가 업로드 되지 않았습니다!" + }, + { + "id": "profile", + "translation": "프로필" + }, + { + "id": "sign_out", + "translation": "로그아웃" + }, + { + "id": "member", + "translation": "멤버" + }, + { + "id": "sign_in", + "translation": "로그인" + }, + { + "id": "sign_up", + "translation": "가입" + }, + { + "id": "no_results_found", + "translation": "결과 없음" + }, + { + "id": "notice_keep_seeding", + "translation": "제발좀: 시딩 부탁드려요. DHT 설정도 활성화 되어있는지 확인해주세요." + }, + { + "id": "official_nyaapocalipse_faq", + "translation": "공식 Nyaapocalypse FAQ" + }, + { + "id": "links_replacement_mirror", + "translation": "대체 사이트/미러 링크" + }, + { + "id": "what_happened", + "translation": "무슨 일이 있었던거야?" + }, + { + "id": "nyaa_se_went_offline", + "translation": "2017년 5월 1일, 모든 nyaa.se 관련 도메인들의 연결이 해제되었습니다" + }, + { + "id": "its_not_a_ddos", + "translation": "비활성화 된 것으로, 평소처럼의 DDOS에 의한 것은 아닙니다." + }, + { + "id": "future_not_looking_good", + "translation": "nyaa 토렌트의 미래는 그렇게 좋아보이지는 않네요. (현재 완전히 사망-처리됨)" + }, + { + "id": "recovery_effort", + "translation": "현재 사방에서 복구하려는 노력이 있습니다." + }, + { + "id": "is_everything_lost", + "translation": "모든 자료가 다 날라간거야?" + }, + { + "id": "in_short_no", + "translation": "간단히 말하면, 아닙니다" + }, + { + "id": "are_some_things_lost", + "translation": "그럼 일부가 날라갔단거네" + }, + { + "id": "answer_is_nyaa_db_lost", + "translation": "저희는 현재 4월 5일 5월 1일까지의 데이터베이스를 확보했습니다. 거의 대부분이 살아있다는 거죠." + }, + { + "id": "answer_is_sukebei_db_lost", + "translation": "Sukebei 쪽은 상황이 안좋습니다. 2016까지의 데이터 밖에 없어요. 그러나 새 데이터베이스가 나온다면 적용이 가능합니다." + }, + { + "id": "how_are_we_recovering", + "translation": "어떻게 복구하는거야?" + }, + { + "id": "answer_how_are_we_recovering", + "translation": "nyaa.pantsu.cat 과 sukebei.pantsu.cat 에서 상기한 데이터베이스를 이용해 호스팅 중입니다. 현재는 검색기능 뿐이지만, 곧 완전한 기능이 완성 될겁니다. Seeder/leecher 통계는 scraping 을 통해 가능하며 가까운 시일내에 복구될 것이지만, 현재는 다른 기능을 중점적으로 작업중입니다." + }, + { + "id": "are_the_trackers_working", + "translation": "토렌트들은 이용할 수 있다는거지?" + }, + { + "id": "answer_are_the_trackers_working", + "translation": "트래커들이 다운 됬어도 분산 DHT network를 통해 시더들과 연결할 수 있습니다. DHT network에 파일 리스트들이 있는 한, 평소처럼 이용이 가능합니다." + }, + { + "id": "how_do_i_download_the_torrents", + "translation": "어떻게 토렌트를 다운로드 하는거야?" + }, + { + "id": "answer_how_do_i_download_the_torrents", + "translation": "그냥 마그넷 링크를 이용하세요. 마그넷 링크는 DHT network 에서 파일을 찾는걸 도와줍니다. 그냥 그렇게 쓰면 됩니다." + }, + { + "id": "magnet_link_should_look_like", + "translation": "마그넷 링크는 이렇게 생겼습니다:" + }, + { + "id": "which_trackers_do_you_recommend", + "translation": "어떤 트래커를 쓰는게 좋아?" + }, + { + "id": "answer_which_trackers_do_you_recommend", + "translation": "트래커가 없어서 다운로드가 불가능 하다면, 다음을 이용하세요:" + }, + { + "id": "how_can_i_help", + "translation": "뭐 도와줄거 없어?" + }, + { + "id": "answer_how_can_i_help", + "translation": "웹 개발을 해보셨다면, irc.rizon.net에 오세요. 새 데이터베이스들, 특히 sukebei 쪽을 가지고 계시다면 업로드 부탁드립니다." + }, + { + "id": "your_design_sucks_found_a_bug", + "translation": "디자인 거지같네 / 버그 있잖아" + }, + { + "id": "why_written_in_go", + "translation": "왜 Go 언어요?" + }, + { + "id": "authors_favorite_language", + "translation": "제일 좋아하는 언어입니다. >__- 찡긋" + }, + { + "id": "nyaa_pantsu_dont_host_files", + "translation": "nyaa.pantsu.cat 와 sukebei.pantsu.cat 는 그 어떤 파일도 호스팅하고 있지 않습니다" + }, + { + "id": "upload_magnet", + "translation": "마그넷 업로드" + }, + { + "id": "torrent_file", + "translation": "토렌트 파일" + }, + { + "id": "uploading_torrent_prefills_fields", + "translation": "토렌트 파일을 업로드하면 몇몇 필드가 자동으로 채워집니다. 추천드립니다." + }, + { + "id": "magnet_link", + "translation": "마그넷 링크" + }, + { + "id": "all_categories", + "translation": "모든 카테고리" + }, + { + "id": "anime", + "translation": "Anime" + }, + { + "id": "anime_amv", + "translation": "Anime - 애니메이션 뮤직 비디오" + }, + { + "id": "anime_english_translated", + "translation": "Anime - 영문 번역" + }, + { + "id": "anime_non_english_translated", + "translation": "Anime - 비-영문 번역" + }, + { + "id": "anime_raw", + "translation": "Anime - Raw" + }, + { + "id": "audio", + "translation": "Audio" + }, + { + "id": "audio_lossless", + "translation": "Audio - 비손실" + }, + { + "id": "audio_lossy", + "translation": "Audio - 손실" + }, + { + "id": "literature", + "translation": "Literature" + }, + { + "id": "literature_english_translated", + "translation": "Literature - 영문 번역" + }, + { + "id": "literature_raw", + "translation": "Literature - Raw" + }, + { + "id": "literature_non_english_translated", + "translation": "Literature - 비-영문 번역" + }, + { + "id": "live_action", + "translation": "Live Action" + }, + { + "id": "live_action_english_translated", + "translation": "Live Action - 영문 번역" + }, + { + "id": "live_action_idol_pv", + "translation": "Live Action - 아이돌/상업적 영상" + }, + { + "id": "live_action_non_english_translated", + "translation": "Live Action - 비-영문 번역" + }, + { + "id": "live_action_raw", + "translation": "Live Action - Raw" + }, + { + "id": "pictures", + "translation": "Pictures" + }, + { + "id": "pictures_graphics", + "translation": "Pictures - 그래픽" + }, + { + "id": "pictures_photos", + "translation": "Pictures - 사진" + }, + { + "id": "software", + "translation": "Software" + }, + { + "id": "software_applications", + "translation": "Software - 응용프로그램" + }, + { + "id": "software_games", + "translation": "Software - 게임" + }, + { + "id": "torrent_description", + "translation": "토렌트 설명" + }, + { + "id": "limited_html_set_is_allowed_use", + "translation": "몇몇 HTML 태그가 사용 가능합니다" + }, + { + "id": "show_all", + "translation": "모두 보기" + }, + { + "id": "filter_remakes", + "translation": "Filter Remakes" + }, + { + "id": "trusted", + "translation": "신뢰된" + }, + { + "id": "id", + "translation": "ID" + }, + { + "id": "downloads", + "translation": "다운로드" + }, + { + "id": "descending", + "translation": "내림차순" + }, + { + "id": "ascending", + "translation": "오름차순" + }, + { + "id": "search", + "translation": "검색" + }, + { + "id": "hash", + "translation": "해시" + }, + { + "id": "description", + "translation": "설명" + }, + { + "id": "comments", + "translation": "댓글" + }, + { + "id": "submit_a_comment_as_username", + "translation": "내 이름(%s)으로 댓글" + }, + { + "id": "submit_a_comment_as_anonymous", + "translation": "익명으로 댓글" + }, + { + "id": "submit", + "translation": "확인" + } +]