From 9b1e8d2d43ff55a39f50f61018bf103e03454086 Mon Sep 17 00:00:00 2001 From: JAEGYUN JUNG Date: Thu, 3 Apr 2025 02:17:04 +0900 Subject: [PATCH] Add missing & fix Korean translations (#9571) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * update django.po file * update django.po translators * Changed the translation for the word “User” from “유저” to “사용자” to make it consistent with Django's translation reference: https://github.com/django/django/blob/5a91ad3d7115c692d497663a155edee5ebc8989c/django/contrib/admin/locale/ko/LC_MESSAGES/django.po#L601 * Add missing translation for the word “Token" * Fix wrong translation for word "Created" * Fix translation for "Tokens", just like django translation. reference: https://github.com/django/django/blob/5a91ad3d7115c692d497663a155edee5ebc8989c/django/contrib/auth/locale/ko/LC_MESSAGES/django.po#L235 * Add missing translation for "Invalid Input" * Add missing translation for throttling messages * Add missing translation for CharField, BooleanField messages * fix: remove unnecessary space * Feat: add missing translation for SlugField error message * Feat: add missing translation for UUIDField error message * Fix: add (boolean) for booleanField message * Feat: add missing translation for `integer to float` error message * Feat: add & fix translation for DecimalField * Feat: add & fix translation for DateTimeField * Feat: add & fix translation for DurationField * Feat: add & fix translation for Selection&FilePathField * Feat: add & fix translation for DictField * Feat: add missing translation for filters * Feat: add missing translations for template * Feat: Change end punctuation to the “~세요.” used by Django translations * update django.po translators * Feat: add compiled message file * Update rest_framework/locale/ko_KR/LC_MESSAGES/django.po Co-authored-by: taezero <51291185+overtae@users.noreply.github.com> * Update rest_framework/locale/ko_KR/LC_MESSAGES/django.po Co-authored-by: taezero <51291185+overtae@users.noreply.github.com> * Feat: remove unnecessary multliline from django.po(kor translation) * Feat: remove unnecessary multliline from django.po(kor translation) * Feat: update Korean translations for authentication messages * Feat: Remove unnecessary English parenthesis descriptions * Feat: Remove unnecessary English parenthesis descriptions * Feat: Remove unnecessary English parenthesis descriptions * Feat: Update compiled message file for ko_KR --------- Co-authored-by: taezero <51291185+overtae@users.noreply.github.com> --- .../locale/ko_KR/LC_MESSAGES/django.mo | Bin 11698 -> 14546 bytes .../locale/ko_KR/LC_MESSAGES/django.po | 382 +++++++++--------- 2 files changed, 195 insertions(+), 187 deletions(-) diff --git a/rest_framework/locale/ko_KR/LC_MESSAGES/django.mo b/rest_framework/locale/ko_KR/LC_MESSAGES/django.mo index c3aeb27a96e5c3b3ef9e61ac79e9ad229463ec7c..2228adcf7ff5707481347cefb2cbe1c9b753dd3e 100644 GIT binary patch literal 14546 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 WU5h;lwCnFNvRIfHMH%7^wf_TE%p8^g delta 3827 zcma*odr(x@9S88Uit-Yar{DuF4`CPBT|httj7p5k!*{eKYVEpvflXi+cNa05xTtG} z3eJ!oRxn+dHBr$96J)W)LMCG~)Bd58Ogj0anMvO>9m_qNNoHyr?TqR7x4Q^U?4)Nn z`#I;_d(Sd1gjb{vH*Xt)D6z)1A657xpp@Di+qpTRnq z6wO!#G(fuUf%WiHm<2NyF%}P>gEYVfNbT(*FGA|?eOO9UeTV{$P#+VV;TlLUI0(z( z09+40fzQIYSjKd4FT@{n;fL|(j4gv(Ak_~;n!yoBGjc;(%CS)WLFjsX9Aop*UIu9eDqtGi26JHxOon|>g6}|Q z0t)v~!0NI;K|NF;wuvoAFJv~P2eoh^+ys}xI#>vekhZW7(f~gXU4Iy=$KfRuBRW_H zYawmjsRXP)HQYu6&G^gEjnRq05#~Y~&{jw@J_ac+Ct*Ik1B;*^z5vsc5Ww&im}Nd zz6Dpqe?saw4{tvVOJF1H5BV5wLtVyf=@j^!DA3V+1fPcuSf?6z15#}K3vPlPSXXii zwm{X&-~cU<1~d$5CGJ6*;p31+2!MU4n_xYhgtUbb=?FyVT#Ukg6n+G^!YOzGE|4&4 z=z$%u1R-4jN8kbY8KgZg%M5xF)}sDvNWm6|h^6{kXofE6gkL~Av|!ZubF#nSw*(F0 z_`0A^Rt49?A3_SQA!vgihw9Zi!Sic}^U?kuq}cJn3iuH$hmjZs4Wt@B7!!L5;#KTC z#4fQhSWZK_i^4)QgsBH|GVTzZ+_4Nj^k@_UegkQXYOx=5{m+ns z?>?jntU#nv3}|2_JOHVEAmkOOLY)%5KkzV#?+?R4c#>%Jv}Dv7r6^>4YZxZNet=Aa zo=FWT#3R#-DBuw2ffGYPP1{2fqYBcC$QzI;m?KzmAwf|ZtiZlZwNGpB*Js|Fc66-c}AOF_C3nLg?CQCo{#N$Yyw|D&%JZ zrQlCwsJsKNL8bspM4pF?PeUN$x4<}Ld>R62H-7gbBb=V3bd-{jC1g5PEc1lf($?L6w?z&W?~N_tk7Gaesh5a`Z(I=;VsN$8&A93S~bx|hSZj>!1v!#hIS$V?QU^r@) zZPE^#$$F&y6{+f&HCWovVzyY1nhiRmwe^{(dV{5@-Owa!pO+1-6;hqmCL1i0I-o{U zH#;0{6?%O~M~BW~Gg$2AM)?>$s5iZY2d!G0YPin$7A>QocJ?Sf>mGh%waNO@2RU7!{ z(Wxp856{cY*l0A$Z4RkfHkhzTxL1tb5Q8pB8SW96Zu;F`zN<7b;>@6M-Bfz7@f7JE zkIy)=XsB1Y`hn;gm>%tv`1Y7&zB_BFuKR}Q_K1PYIwrg>F*YuVu6M*xui9j8GCS-V zy7xq@;n<;Io$t&_Eu8bn>pkdCczY#0qFf!3gnLNzqxN5Y@C}*Cd{XMY7clrk={1^Mwvc+gM zAynh?QvRR!6hHkvk}@)ZnTq~#+92h2m$*HlwznCKvR%WwwK@E*CMNdjBTs&Mj|g^k zgxc6{vs-O6%U5|-ehy!je~bSk|H}VD{MwNwP?7uJUvD^jXtKt=rz&hVgCW9A_18I diff --git a/rest_framework/locale/ko_KR/LC_MESSAGES/django.po b/rest_framework/locale/ko_KR/LC_MESSAGES/django.po index 722dc2c82..f98cad67d 100644 --- a/rest_framework/locale/ko_KR/LC_MESSAGES/django.po +++ b/rest_framework/locale/ko_KR/LC_MESSAGES/django.po @@ -1,37 +1,37 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: -# GarakdongBigBoy , 2017 +# JAEGYUN JUNG , 2024 # Hochul Kwak , 2018 +# GarakdongBigBoy , 2017 # Joon Hwan 김준환 , 2017 # SUN CHOI , 2015 msgid "" msgstr "" "Project-Id-Version: Django REST framework\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-10-13 21:45+0200\n" +"POT-Creation-Date: 2024-10-22 16:13+0900\n" "PO-Revision-Date: 2020-10-13 19:45+0000\n" -"Last-Translator: Xavier Ordoquy \n" -"Language-Team: Korean (Korea) (http://www.transifex.com/django-rest-framework-1/django-rest-framework/language/ko_KR/)\n" +"Last-Translator: JAEGYUN JUNG \n" +"Language: ko_KR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: ko_KR\n" "Plural-Forms: nplurals=1; plural=0;\n" #: authentication.py:70 msgid "Invalid basic header. No credentials provided." -msgstr "기본 헤더(basic header)가 유효하지 않습니다. 인증데이터(credentials)가 제공되지 않았습니다." +msgstr "기본 헤더가 유효하지 않습니다. 인증 데이터가 제공되지 않았습니다." #: authentication.py:73 msgid "Invalid basic header. Credentials string should not contain spaces." -msgstr "기본 헤더(basic header)가 유효하지 않습니다. 인증데이터(credentials) 문자열은 빈칸(spaces)을 포함하지 않아야 합니다." +msgstr "기본 헤더가 유효하지 않습니다. 인증 데이터 문자열은 공백을 포함하지 않아야 합니다." -#: authentication.py:83 +#: authentication.py:84 msgid "Invalid basic header. Credentials not correctly base64 encoded." -msgstr "기본 헤더(basic header)가 유효하지 않습니다. 인증데이터(credentials)가 base64로 적절히 부호화(encode)되지 않았습니다." +msgstr "기본 헤더가 유효하지 않습니다. 인증 데이터가 올바르게 base64 인코딩되지 않았습니다." #: authentication.py:101 msgid "Invalid username/password." @@ -43,11 +43,11 @@ msgstr "계정이 중지되었거나 삭제되었습니다." #: authentication.py:184 msgid "Invalid token header. No credentials provided." -msgstr "토큰 헤더가 유효하지 않습니다. 인증데이터(credentials)가 제공되지 않았습니다." +msgstr "토큰 헤더가 유효하지 않습니다. 인증 데이터가 제공되지 않았습니다." #: authentication.py:187 msgid "Invalid token header. Token string should not contain spaces." -msgstr "토큰 헤더가 유효하지 않습니다. 토큰 문자열은 빈칸(spaces)을 포함하지 않아야 합니다." +msgstr "토큰 헤더가 유효하지 않습니다. 토큰 문자열은 공백을 포함하지 않아야 합니다." #: authentication.py:193 msgid "" @@ -58,6 +58,10 @@ msgstr "토큰 헤더가 유효하지 않습니다. 토큰 문자열은 유효 msgid "Invalid token." msgstr "토큰이 유효하지 않습니다." +#: authtoken/admin.py:28 authtoken/serializers.py:9 +msgid "Username" +msgstr "사용자 이름" + #: authtoken/apps.py:7 msgid "Auth Token" msgstr "인증 토큰" @@ -68,23 +72,19 @@ msgstr "키" #: authtoken/models.py:16 msgid "User" -msgstr "유저" +msgstr "사용자" #: authtoken/models.py:18 msgid "Created" -msgstr "생성됨" +msgstr "생성일시" -#: authtoken/models.py:27 authtoken/serializers.py:19 +#: authtoken/models.py:27 authtoken/models.py:54 authtoken/serializers.py:19 msgid "Token" msgstr "토큰" -#: authtoken/models.py:28 +#: authtoken/models.py:28 authtoken/models.py:55 msgid "Tokens" -msgstr "" - -#: authtoken/serializers.py:9 -msgid "Username" -msgstr "유저이름" +msgstr "토큰(들)" #: authtoken/serializers.py:13 msgid "Password" @@ -92,390 +92,398 @@ msgstr "비밀번호" #: authtoken/serializers.py:35 msgid "Unable to log in with provided credentials." -msgstr "제공된 인증데이터(credentials)로는 로그인할 수 없습니다." +msgstr "제공된 인증 데이터로는 로그인할 수 없습니다." #: authtoken/serializers.py:38 msgid "Must include \"username\" and \"password\"." msgstr "\"아이디\"와 \"비밀번호\"를 포함해야 합니다." -#: exceptions.py:102 +#: exceptions.py:105 msgid "A server error occurred." msgstr "서버 장애가 발생했습니다." -#: exceptions.py:142 +#: exceptions.py:145 msgid "Invalid input." -msgstr "" +msgstr "유효하지 않은 입력입니다." -#: exceptions.py:161 +#: exceptions.py:166 msgid "Malformed request." msgstr "잘못된 요청입니다." -#: exceptions.py:167 +#: exceptions.py:172 msgid "Incorrect authentication credentials." -msgstr "자격 인증데이터(authentication credentials)가 정확하지 않습니다." +msgstr "자격 인증 데이터가 올바르지 않습니다." -#: exceptions.py:173 +#: exceptions.py:178 msgid "Authentication credentials were not provided." -msgstr "자격 인증데이터(authentication credentials)가 제공되지 않았습니다." +msgstr "자격 인증 데이터가 제공되지 않았습니다." -#: exceptions.py:179 +#: exceptions.py:184 msgid "You do not have permission to perform this action." -msgstr "이 작업을 수행할 권한(permission)이 없습니다." +msgstr "이 작업을 수행할 권한이 없습니다." -#: exceptions.py:185 +#: exceptions.py:190 msgid "Not found." msgstr "찾을 수 없습니다." -#: exceptions.py:191 +#: exceptions.py:196 #, python-brace-format msgid "Method \"{method}\" not allowed." -msgstr "메소드(Method) \"{method}\"는 허용되지 않습니다." +msgstr "메서드 \"{method}\"는 허용되지 않습니다." -#: exceptions.py:202 +#: exceptions.py:207 msgid "Could not satisfy the request Accept header." -msgstr "Accept header 요청을 만족할 수 없습니다." +msgstr "요청 Accept 헤더를 만족시킬 수 없습니다." -#: exceptions.py:212 +#: exceptions.py:217 #, python-brace-format msgid "Unsupported media type \"{media_type}\" in request." msgstr "요청된 \"{media_type}\"가 지원되지 않는 미디어 형태입니다." -#: exceptions.py:223 +#: exceptions.py:228 msgid "Request was throttled." -msgstr "요청이 지연(throttled)되었습니다." +msgstr "요청이 제한되었습니다." -#: exceptions.py:224 +#: exceptions.py:229 #, python-brace-format msgid "Expected available in {wait} second." -msgstr "" +msgstr "{wait} 초 후에 사용 가능합니다." -#: exceptions.py:225 +#: exceptions.py:230 #, python-brace-format msgid "Expected available in {wait} seconds." -msgstr "" +msgstr "{wait} 초 후에 사용 가능합니다." -#: fields.py:316 relations.py:245 relations.py:279 validators.py:90 -#: validators.py:183 +#: fields.py:292 relations.py:240 relations.py:276 validators.py:99 +#: validators.py:219 msgid "This field is required." msgstr "이 필드는 필수 항목입니다." -#: fields.py:317 +#: fields.py:293 msgid "This field may not be null." msgstr "이 필드는 null일 수 없습니다." -#: fields.py:701 +#: fields.py:661 msgid "Must be a valid boolean." -msgstr "" +msgstr "유효한 불리언이어야 합니다." -#: fields.py:766 +#: fields.py:724 msgid "Not a valid string." -msgstr "" +msgstr "유효한 문자열이 아닙니다." -#: fields.py:767 +#: fields.py:725 msgid "This field may not be blank." msgstr "이 필드는 blank일 수 없습니다." -#: fields.py:768 fields.py:1881 +#: fields.py:726 fields.py:1881 #, python-brace-format msgid "Ensure this field has no more than {max_length} characters." -msgstr "이 필드의 글자 수가 {max_length} 이하인지 확인하십시오." +msgstr "이 필드의 글자 수가 {max_length} 이하인지 확인하세요." -#: fields.py:769 +#: fields.py:727 #, python-brace-format msgid "Ensure this field has at least {min_length} characters." -msgstr "이 필드의 글자 수가 적어도 {min_length} 이상인지 확인하십시오." +msgstr "이 필드의 글자 수가 적어도 {min_length} 이상인지 확인하세요." -#: fields.py:816 +#: fields.py:774 msgid "Enter a valid email address." -msgstr "유효한 이메일 주소를 입력하십시오." +msgstr "유효한 이메일 주소를 입력하세요." -#: fields.py:827 +#: fields.py:785 msgid "This value does not match the required pattern." -msgstr "형식에 맞지 않는 값입니다." +msgstr "이 값은 요구되는 패턴과 일치하지 않습니다." -#: fields.py:838 +#: fields.py:796 msgid "" "Enter a valid \"slug\" consisting of letters, numbers, underscores or " "hyphens." -msgstr "문자, 숫자, 밑줄( _ ) 또는 하이픈( - )으로 이루어진 유효한 \"slug\"를 입력하십시오." +msgstr "문자, 숫자, 밑줄( _ ) 또는 하이픈( - )으로 이루어진 유효한 \"slug\"를 입력하세요." -#: fields.py:839 +#: fields.py:797 msgid "" "Enter a valid \"slug\" consisting of Unicode letters, numbers, underscores, " "or hyphens." -msgstr "" +msgstr "유니코드 문자, 숫자, 밑줄( _ ) 또는 하이픈( - )으로 이루어진 유효한 \"slug\"를 입력하세요." -#: fields.py:854 +#: fields.py:812 msgid "Enter a valid URL." -msgstr "유효한 URL을 입력하십시오." +msgstr "유효한 URL을 입력하세요." -#: fields.py:867 +#: fields.py:825 msgid "Must be a valid UUID." -msgstr "" +msgstr "유효한 UUID 이어야 합니다." -#: fields.py:903 +#: fields.py:861 msgid "Enter a valid IPv4 or IPv6 address." -msgstr "유효한 IPv4 또는 IPv6 주소를 입력하십시오." +msgstr "유효한 IPv4 또는 IPv6 주소를 입력하세요." -#: fields.py:931 +#: fields.py:889 msgid "A valid integer is required." -msgstr "유효한 정수(integer)를 넣어주세요." +msgstr "유효한 정수를 입력하세요." -#: fields.py:932 fields.py:969 fields.py:1005 fields.py:1366 +#: fields.py:890 fields.py:927 fields.py:966 fields.py:1349 #, python-brace-format msgid "Ensure this value is less than or equal to {max_value}." -msgstr "이 값이 {max_value}보다 작거나 같은지 확인하십시오." +msgstr "이 값이 {max_value}보다 작거나 같은지 확인하세요." -#: fields.py:933 fields.py:970 fields.py:1006 fields.py:1367 +#: fields.py:891 fields.py:928 fields.py:967 fields.py:1350 #, python-brace-format msgid "Ensure this value is greater than or equal to {min_value}." -msgstr "이 값이 {min_value}보다 크거나 같은지 확인하십시오." +msgstr "이 값이 {min_value}보다 크거나 같은지 확인하세요." -#: fields.py:934 fields.py:971 fields.py:1010 +#: fields.py:892 fields.py:929 fields.py:971 msgid "String value too large." -msgstr "문자열 값이 너무 큽니다." +msgstr "문자열 값이 너무 깁니다." -#: fields.py:968 fields.py:1004 +#: fields.py:926 fields.py:965 msgid "A valid number is required." -msgstr "유효한 숫자를 넣어주세요." +msgstr "유효한 숫자를 입력하세요." -#: fields.py:1007 +#: fields.py:930 +msgid "Integer value too large to convert to float" +msgstr "정수 값이 너무 커서 부동 소수점으로 변환할 수 없습니다." + +#: fields.py:968 #, python-brace-format msgid "Ensure that there are no more than {max_digits} digits in total." -msgstr "전체 숫자(digits)가 {max_digits} 이하인지 확인하십시오." +msgstr "총 자릿수가 {max_digits}을(를) 초과하지 않는지 확인하세요." -#: fields.py:1008 +#: fields.py:969 #, python-brace-format -msgid "" -"Ensure that there are no more than {max_decimal_places} decimal places." -msgstr "소수점 자릿수가 {max_decimal_places} 이하인지 확인하십시오." +msgid "Ensure that there are no more than {max_decimal_places} decimal places." +msgstr "소수점 이하 자릿수가 {max_decimal_places}을(를) 초과하지 않는지 확인하세요." -#: fields.py:1009 +#: fields.py:970 #, python-brace-format msgid "" "Ensure that there are no more than {max_whole_digits} digits before the " "decimal point." -msgstr "소수점 자리 앞에 숫자(digits)가 {max_whole_digits} 이하인지 확인하십시오." +msgstr "소수점 앞 자릿수가 {max_whole_digits}을(를) 초과하지 않는지 확인하세요." -#: fields.py:1148 +#: fields.py:1129 #, python-brace-format msgid "Datetime has wrong format. Use one of these formats instead: {format}." msgstr "Datetime의 포멧이 잘못되었습니다. 이 형식들 중 한가지를 사용하세요: {format}." -#: fields.py:1149 +#: fields.py:1130 msgid "Expected a datetime but got a date." -msgstr "예상된 datatime 대신 date를 받았습니다." +msgstr "datatime이 예상되었지만 date를 받았습니다." -#: fields.py:1150 +#: fields.py:1131 #, python-brace-format msgid "Invalid datetime for the timezone \"{timezone}\"." -msgstr "" +msgstr "\"{timezone}\" 시간대에 대한 유효하지 않은 datetime 입니다." -#: fields.py:1151 +#: fields.py:1132 msgid "Datetime value out of range." -msgstr "" +msgstr "Datetime 값이 범위를 벗어났습니다." -#: fields.py:1236 +#: fields.py:1219 #, python-brace-format msgid "Date has wrong format. Use one of these formats instead: {format}." msgstr "Date의 포멧이 잘못되었습니다. 이 형식들 중 한가지를 사용하세요: {format}." -#: fields.py:1237 +#: fields.py:1220 msgid "Expected a date but got a datetime." msgstr "예상된 date 대신 datetime을 받았습니다." -#: fields.py:1303 +#: fields.py:1286 #, python-brace-format msgid "Time has wrong format. Use one of these formats instead: {format}." msgstr "Time의 포멧이 잘못되었습니다. 이 형식들 중 한가지를 사용하세요: {format}." -#: fields.py:1365 +#: fields.py:1348 #, python-brace-format msgid "Duration has wrong format. Use one of these formats instead: {format}." msgstr "Duration의 포멧이 잘못되었습니다. 이 형식들 중 한가지를 사용하세요: {format}." -#: fields.py:1399 fields.py:1456 +#: fields.py:1351 +#, python-brace-format +msgid "The number of days must be between {min_days} and {max_days}." +msgstr "일수는 {min_days} 이상 {max_days} 이하이어야 합니다." + +#: fields.py:1386 fields.py:1446 #, python-brace-format msgid "\"{input}\" is not a valid choice." -msgstr "\"{input}\"이 유효하지 않은 선택(choice)입니다." +msgstr "\"{input}\"은 유효하지 않은 선택입니다." -#: fields.py:1402 +#: fields.py:1389 #, python-brace-format msgid "More than {count} items..." -msgstr "" +msgstr "{count}개 이상의 아이템이 있습니다..." -#: fields.py:1457 fields.py:1603 relations.py:485 serializers.py:570 +#: fields.py:1447 fields.py:1596 relations.py:486 serializers.py:593 #, python-brace-format msgid "Expected a list of items but got type \"{input_type}\"." msgstr "아이템 리스트가 예상되었으나 \"{input_type}\"를 받았습니다." -#: fields.py:1458 +#: fields.py:1448 msgid "This selection may not be empty." msgstr "이 선택 항목은 비워 둘 수 없습니다." -#: fields.py:1495 +#: fields.py:1487 #, python-brace-format msgid "\"{input}\" is not a valid path choice." -msgstr "\"{input}\"이 유효하지 않은 경로 선택입니다." +msgstr "\"{input}\"은 유효하지 않은 경로 선택입니다." -#: fields.py:1514 +#: fields.py:1507 msgid "No file was submitted." msgstr "파일이 제출되지 않았습니다." -#: fields.py:1515 -msgid "" -"The submitted data was not a file. Check the encoding type on the form." +#: fields.py:1508 +msgid "The submitted data was not a file. Check the encoding type on the form." msgstr "제출된 데이터는 파일이 아닙니다. 제출된 서식의 인코딩 형식을 확인하세요." -#: fields.py:1516 +#: fields.py:1509 msgid "No filename could be determined." msgstr "파일명을 알 수 없습니다." -#: fields.py:1517 +#: fields.py:1510 msgid "The submitted file is empty." msgstr "제출한 파일이 비어있습니다." -#: fields.py:1518 +#: fields.py:1511 #, python-brace-format msgid "" "Ensure this filename has at most {max_length} characters (it has {length})." -msgstr "이 파일명의 글자수가 최대 {max_length}를 넘지 않는지 확인하십시오. (이것은 {length}가 있습니다)." +msgstr "이 파일명의 글자수가 최대 {max_length}자를 넘지 않는지 확인하세요. (현재 {length}자입니다)." -#: fields.py:1566 +#: fields.py:1559 msgid "" "Upload a valid image. The file you uploaded was either not an image or a " "corrupted image." -msgstr "유효한 이미지 파일을 업로드 하십시오. 업로드 하신 파일은 이미지 파일이 아니거나 손상된 이미지 파일입니다." +msgstr "유효한 이미지 파일을 업로드하세요. 업로드하신 파일은 이미지 파일이 아니거나 손상된 이미지 파일입니다." -#: fields.py:1604 relations.py:486 serializers.py:571 +#: fields.py:1597 relations.py:487 serializers.py:594 msgid "This list may not be empty." msgstr "이 리스트는 비워 둘 수 없습니다." -#: fields.py:1605 +#: fields.py:1598 serializers.py:596 #, python-brace-format msgid "Ensure this field has at least {min_length} elements." -msgstr "" +msgstr "이 필드가 최소 {min_length} 개의 요소를 가지는지 확인하세요." -#: fields.py:1606 +#: fields.py:1599 serializers.py:595 #, python-brace-format msgid "Ensure this field has no more than {max_length} elements." -msgstr "" +msgstr "이 필드가 최대 {max_length} 개의 요소를 가지는지 확인하세요." -#: fields.py:1682 +#: fields.py:1677 #, python-brace-format msgid "Expected a dictionary of items but got type \"{input_type}\"." msgstr "아이템 딕셔너리가 예상되었으나 \"{input_type}\" 타입을 받았습니다." -#: fields.py:1683 +#: fields.py:1678 msgid "This dictionary may not be empty." -msgstr "" +msgstr "이 딕셔너리는 비어있을 수 없습니다." -#: fields.py:1755 +#: fields.py:1750 msgid "Value must be valid JSON." -msgstr "Value 는 유효한 JSON형식이어야 합니다." +msgstr "유효한 JSON 값이어야 합니다." -#: filters.py:49 templates/rest_framework/filters/search.html:2 +#: filters.py:72 templates/rest_framework/filters/search.html:2 +#: templates/rest_framework/filters/search.html:8 msgid "Search" msgstr "검색" -#: filters.py:50 +#: filters.py:73 msgid "A search term." -msgstr "" +msgstr "검색어." -#: filters.py:180 templates/rest_framework/filters/ordering.html:3 +#: filters.py:224 templates/rest_framework/filters/ordering.html:3 msgid "Ordering" msgstr "순서" -#: filters.py:181 +#: filters.py:225 msgid "Which field to use when ordering the results." -msgstr "" +msgstr "결과 정렬 시 사용할 필드." -#: filters.py:287 +#: filters.py:341 msgid "ascending" msgstr "오름차순" -#: filters.py:288 +#: filters.py:342 msgid "descending" msgstr "내림차순" -#: pagination.py:174 +#: pagination.py:180 msgid "A page number within the paginated result set." -msgstr "" +msgstr "페이지네이션된 결과 집합 내의 페이지 번호." -#: pagination.py:179 pagination.py:372 pagination.py:590 +#: pagination.py:185 pagination.py:382 pagination.py:599 msgid "Number of results to return per page." -msgstr "" +msgstr "페이지당 반환할 결과 수." -#: pagination.py:189 +#: pagination.py:195 msgid "Invalid page." msgstr "페이지가 유효하지 않습니다." -#: pagination.py:374 +#: pagination.py:384 msgid "The initial index from which to return the results." -msgstr "" +msgstr "결과를 반환할 초기 인덱스." -#: pagination.py:581 +#: pagination.py:590 msgid "The pagination cursor value." -msgstr "" +msgstr "페이지네이션 커서 값." -#: pagination.py:583 +#: pagination.py:592 msgid "Invalid cursor" -msgstr "커서(cursor)가 유효하지 않습니다." +msgstr "커서가 유효하지 않습니다." -#: relations.py:246 +#: relations.py:241 #, python-brace-format msgid "Invalid pk \"{pk_value}\" - object does not exist." msgstr "유효하지 않은 pk \"{pk_value}\" - 객체가 존재하지 않습니다." -#: relations.py:247 +#: relations.py:242 #, python-brace-format msgid "Incorrect type. Expected pk value, received {data_type}." -msgstr "잘못된 형식입니다. pk 값 대신 {data_type}를 받았습니다." +msgstr "잘못된 형식입니다. pk 값이 예상되었지만, {data_type}을(를) 받았습니다." -#: relations.py:280 +#: relations.py:277 msgid "Invalid hyperlink - No URL match." msgstr "유효하지 않은 하이퍼링크 - 일치하는 URL이 없습니다." -#: relations.py:281 +#: relations.py:278 msgid "Invalid hyperlink - Incorrect URL match." msgstr "유효하지 않은 하이퍼링크 - URL이 일치하지 않습니다." -#: relations.py:282 +#: relations.py:279 msgid "Invalid hyperlink - Object does not exist." msgstr "유효하지 않은 하이퍼링크 - 객체가 존재하지 않습니다." -#: relations.py:283 +#: relations.py:280 #, python-brace-format msgid "Incorrect type. Expected URL string, received {data_type}." msgstr "잘못된 형식입니다. URL 문자열을 예상했으나 {data_type}을 받았습니다." -#: relations.py:448 +#: relations.py:445 #, python-brace-format msgid "Object with {slug_name}={value} does not exist." msgstr "{slug_name}={value} 객체가 존재하지 않습니다." -#: relations.py:449 +#: relations.py:446 msgid "Invalid value." msgstr "값이 유효하지 않습니다." #: schemas/utils.py:32 msgid "unique integer value" -msgstr "" +msgstr "고유한 정수 값" #: schemas/utils.py:34 msgid "UUID string" -msgstr "" +msgstr "UUID 문자열" #: schemas/utils.py:36 msgid "unique value" -msgstr "" +msgstr "고유한 값" #: schemas/utils.py:38 #, python-brace-format msgid "A {value_type} identifying this {name}." -msgstr "" +msgstr "{name}을 식별하는 {value_type}." -#: serializers.py:337 +#: serializers.py:340 #, python-brace-format msgid "Invalid data. Expected a dictionary, but got {datatype}." msgstr "유효하지 않은 데이터. 딕셔너리(dictionary)대신 {datatype}를 받았습니다." @@ -483,7 +491,7 @@ msgstr "유효하지 않은 데이터. 딕셔너리(dictionary)대신 {datatype} #: templates/rest_framework/admin.html:116 #: templates/rest_framework/base.html:136 msgid "Extra Actions" -msgstr "" +msgstr "추가 Action들" #: templates/rest_framework/admin.html:130 #: templates/rest_framework/base.html:150 @@ -492,33 +500,33 @@ msgstr "필터" #: templates/rest_framework/base.html:37 msgid "navbar" -msgstr "" +msgstr "네비게이션 바" #: templates/rest_framework/base.html:75 msgid "content" -msgstr "" +msgstr "콘텐츠" #: templates/rest_framework/base.html:78 msgid "request form" -msgstr "" +msgstr "요청 폼" #: templates/rest_framework/base.html:157 msgid "main content" -msgstr "" +msgstr "메인 콘텐츠" #: templates/rest_framework/base.html:173 msgid "request info" -msgstr "" +msgstr "요청 정보" #: templates/rest_framework/base.html:177 msgid "response info" -msgstr "" +msgstr "응답 정보" #: templates/rest_framework/horizontal/radio.html:4 #: templates/rest_framework/inline/radio.html:3 #: templates/rest_framework/vertical/radio.html:3 msgid "None" -msgstr "" +msgstr "없음" #: templates/rest_framework/horizontal/select_multiple.html:4 #: templates/rest_framework/inline/select_multiple.html:3 @@ -528,49 +536,49 @@ msgstr "선택할 아이템이 없습니다." #: validators.py:39 msgid "This field must be unique." -msgstr "이 필드는 반드시 고유(unique)해야 합니다." +msgstr "이 필드는 반드시 고유해야 합니다." -#: validators.py:89 +#: validators.py:98 #, python-brace-format msgid "The fields {field_names} must make a unique set." -msgstr "필드 {field_names} 는 반드시 고유(unique)해야 합니다." +msgstr "필드 {field_names} 는 반드시 고유해야 합니다." -#: validators.py:171 +#: validators.py:200 #, python-brace-format msgid "Surrogate characters are not allowed: U+{code_point:X}." -msgstr "" +msgstr "대체(surrogate) 문자는 허용되지 않습니다: U+{code_point:X}." -#: validators.py:243 +#: validators.py:290 #, python-brace-format msgid "This field must be unique for the \"{date_field}\" date." -msgstr "이 필드는 고유(unique)한 \"{date_field}\" 날짜를 갖습니다." +msgstr "이 필드는 \"{date_field}\" 날짜에 대해 고유해야 합니다." -#: validators.py:258 +#: validators.py:305 #, python-brace-format msgid "This field must be unique for the \"{date_field}\" month." -msgstr "이 필드는 고유(unique)한 \"{date_field}\" 월을 갖습니다. " +msgstr "이 필드는 \"{date_field}\" 월에 대해 고유해야 합니다." -#: validators.py:271 +#: validators.py:318 #, python-brace-format msgid "This field must be unique for the \"{date_field}\" year." -msgstr "이 필드는 고유(unique)한 \"{date_field}\" 년을 갖습니다. " +msgstr "이 필드는 \"{date_field}\" 연도에 대해 고유해야 합니다." #: versioning.py:40 msgid "Invalid version in \"Accept\" header." -msgstr "\"Accept\" 헤더(header)의 버전이 유효하지 않습니다." +msgstr "\"Accept\" 헤더의 버전이 유효하지 않습니다." #: versioning.py:71 msgid "Invalid version in URL path." -msgstr "URL path의 버전이 유효하지 않습니다." +msgstr "URL 경로의 버전이 유효하지 않습니다." -#: versioning.py:116 +#: versioning.py:118 msgid "Invalid version in URL path. Does not match any version namespace." -msgstr "URL 경로에 유효하지 않은 버전이 있습니다. 버전 네임 스페이스와 일치하지 않습니다." +msgstr "URL 경로에 유효하지 않은 버전이 있습니다. 버전 네임스페이스와 일치하지 않습니다." -#: versioning.py:148 +#: versioning.py:150 msgid "Invalid version in hostname." -msgstr "hostname내 버전이 유효하지 않습니다." +msgstr "hostname 내 버전이 유효하지 않습니다." -#: versioning.py:170 +#: versioning.py:172 msgid "Invalid version in query parameter." -msgstr "쿼리 파라메터내 버전이 유효하지 않습니다." +msgstr "쿼리 파라메터 내 버전이 유효하지 않습니다."