diff --git a/poll/poll.py b/poll/poll.py index 31ea28e..190793f 100644 --- a/poll/poll.py +++ b/poll/poll.py @@ -82,7 +82,7 @@ def i18n_service(self): def get_translation_content(self): try: return self.resource_string('public/js/translations/{lang}/textjs.js'.format( - lang=utils.translation.get_language(), + lang=utils.translation.to_locale(utils.translation.get_language()), )) except IOError: return self.resource_string('public/js/translations/en/textjs.js') diff --git a/poll/public/js/translations/ko_KR/textjs.js b/poll/public/js/translations/ko_KR/textjs.js index 72c17bf..d94ca32 100644 --- a/poll/public/js/translations/ko_KR/textjs.js +++ b/poll/public/js/translations/ko_KR/textjs.js @@ -16,6 +16,28 @@ django.catalog = django.catalog || {}; + var newcatalog = { + "Answer": "\ub2f5\ubcc0", + "Delete": "\uc0ad\uc81c", + "Feedback": "\ud53c\ub4dc\ubc31", + "Image URL": "\uc774\ubbf8\uc9c0 URL", + "Image alternative text": "\uc774\ubbf8\uc9c0 \ub300\uccb4 \ud14d\uc2a4\ud2b8", + "Question": "\uc9c8\ubb38", + "Results": "\uacb0\uacfc", + "Results gathered from {total} respondent.": [ + "\ucd1d {total}\uba85\uc758 \uc751\ub2f5\uc790\ub85c\ubd80\ud130 \uc218\uc9d1\ud55c \uacb0\uacfc\uc785\ub2c8\ub2e4.", + "\ucd1d {total}\uba85\uc758 \uc751\ub2f5\uc790\ub85c\ubd80\ud130 \uc218\uc9d1\ud55c \uacb0\uacfc\uc785\ub2c8\ub2e4." + ], + "Submit": "\uc81c\ucd9c", + "This must have an image URL or text, and can have both. If you add an image, you must also provide an alternative text that describes the image in a way that would allow someone to answer the poll if the image did not load.": "\uc774\ubbf8\uc9c0 URL \ub610\ub294 \ud14d\uc2a4\ud2b8 \uc911 \ud558\ub098\ub294 \uc788\uc5b4\uc57c \ud558\uba70 \ub458 \ub2e4 \uc788\uc5b4\ub3c4 \ub429\ub2c8\ub2e4. \uc774\ubbf8\uc9c0\ub97c \ucd94\uac00\ud558\ub294 \uacbd\uc6b0, \uc774\ubbf8\uc9c0\uac00 \ub85c\ub4dc\ub418\uc9c0 \uc54a\ub354\ub77c\ub3c4 \ub204\uad6c\ub4e0\uc9c0 \ud22c\ud45c\uc5d0 \ucc38\uc5ec\ud560 \uc218 \uc788\ub3c4\ub85d \uc774\ubbf8\uc9c0\ub97c \uc124\uba85\ud558\ub294 \ub300\uccb4 \ud14d\uc2a4\ud2b8\ub3c4 \uc81c\uacf5\ud574\uc57c \ud569\ub2c8\ub2e4.", + "You can make limited use of Markdown in answer texts, preferably only bold and italics.": "Markdown\uc740 \ub2f5\ubcc0 \ud14d\uc2a4\ud2b8\uc5d0\uc11c \uc81c\ud55c\uc801\uc73c\ub85c \uc0ac\uc6a9\ud560 \uc218 \uc788\uc73c\uba70 \ubcfc\ub4dc\uccb4 \ubc0f \uc774\ud0e4\ub9ad\uccb4\ub9cc \uc0ac\uc6a9\ud558\ub294 \uac83\uc774 \uc88b\uc2b5\ub2c8\ub2e4.", + "move poll down": "\ud22c\ud45c \ub0b4\ub9ac\uae30", + "move poll up": "\ud22c\ud45c \uc62c\ub9ac\uae30" + }; + for (var key in newcatalog) { + django.catalog[key] = newcatalog[key]; + } + if (!django.jsi18n_initialized) { django.gettext = function(msgid) { diff --git a/poll/public/js/translations/ko_kr/text.js b/poll/public/js/translations/ko_kr/text.js deleted file mode 100644 index 1a44089..0000000 --- a/poll/public/js/translations/ko_kr/text.js +++ /dev/null @@ -1,113 +0,0 @@ - - (function(global){ - var PollXBlockI18N = { - init: function() { - - -(function (globals) { - - var django = globals.django || (globals.django = {}); - - - django.pluralidx = function (n) { - var v=0; - if (typeof(v) == 'boolean') { - return v ? 1 : 0; - } else { - return v; - } - }; - - - - /* gettext identity library */ - - django.gettext = function (msgid) { return msgid; }; - django.ngettext = function (singular, plural, count) { return (count == 1) ? singular : plural; }; - django.gettext_noop = function (msgid) { return msgid; }; - django.pgettext = function (context, msgid) { return msgid; }; - django.npgettext = function (context, singular, plural, count) { return (count == 1) ? singular : plural; }; - - - django.interpolate = function (fmt, obj, named) { - if (named) { - return fmt.replace(/%\(\w+\)s/g, function(match){return String(obj[match.slice(2,-2)])}); - } else { - return fmt.replace(/%s/g, function(match){return String(obj.shift())}); - } - }; - - - /* formatting library */ - - django.formats = { - "DATETIME_FORMAT": "Y\ub144 n\uc6d4 j\uc77c g:i A", - "DATETIME_INPUT_FORMATS": [ - "%Y-%m-%d %H:%M:%S", - "%Y-%m-%d %H:%M:%S.%f", - "%Y-%m-%d %H:%M", - "%Y-%m-%d", - "%m/%d/%Y %H:%M:%S", - "%m/%d/%Y %H:%M:%S.%f", - "%m/%d/%Y %H:%M", - "%m/%d/%Y", - "%m/%d/%y %H:%M:%S", - "%m/%d/%y %H:%M:%S.%f", - "%m/%d/%y %H:%M", - "%m/%d/%y", - "%Y\ub144 %m\uc6d4 %d\uc77c %H\uc2dc %M\ubd84 %S\ucd08", - "%Y\ub144 %m\uc6d4 %d\uc77c %H\uc2dc %M\ubd84" - ], - "DATE_FORMAT": "Y\ub144 n\uc6d4 j\uc77c", - "DATE_INPUT_FORMATS": [ - "%Y-%m-%d", - "%m/%d/%Y", - "%m/%d/%y", - "%Y\ub144 %m\uc6d4 %d\uc77c" - ], - "DECIMAL_SEPARATOR": ".", - "FIRST_DAY_OF_WEEK": "0", - "MONTH_DAY_FORMAT": "F\uc6d4 j\uc77c", - "NUMBER_GROUPING": "3", - "SHORT_DATETIME_FORMAT": "Y-n-j H:i", - "SHORT_DATE_FORMAT": "Y-n-j.", - "THOUSAND_SEPARATOR": ",", - "TIME_FORMAT": "A g:i", - "TIME_INPUT_FORMATS": [ - "%H:%M:%S", - "%H:%M:%S.%f", - "%H:%M", - "%H\uc2dc %M\ubd84 %S\ucd08", - "%H\uc2dc %M\ubd84" - ], - "YEAR_MONTH_FORMAT": "Y\ub144 F\uc6d4" - }; - - django.get_format = function (format_type) { - var value = django.formats[format_type]; - if (typeof(value) == 'undefined') { - return format_type; - } else { - return value; - } - }; - - /* add to global namespace */ - globals.pluralidx = django.pluralidx; - globals.gettext = django.gettext; - globals.ngettext = django.ngettext; - globals.gettext_noop = django.gettext_noop; - globals.pgettext = django.pgettext; - globals.npgettext = django.npgettext; - globals.interpolate = django.interpolate; - globals.get_format = django.get_format; - -}(this)); - - - } - }; - PollXBlockI18N.init(); - global.PollXBlockI18N = PollXBlockI18N; - }(this)); - \ No newline at end of file diff --git a/poll/public/js/translations/ko_kr/textjs.js b/poll/public/js/translations/ko_kr/textjs.js index 0685c98..d94ca32 100644 --- a/poll/public/js/translations/ko_kr/textjs.js +++ b/poll/public/js/translations/ko_kr/textjs.js @@ -4,36 +4,90 @@ init: function() { -(function (globals) { +(function(globals) { var django = globals.django || (globals.django = {}); - django.pluralidx = function (count) { return (count == 1) ? 0 : 1; }; + django.pluralidx = function(count) { return (count == 1) ? 0 : 1; }; - - /* gettext identity library */ + /* gettext library */ - django.gettext = function (msgid) { return msgid; }; - django.ngettext = function (singular, plural, count) { return (count == 1) ? singular : plural; }; - django.gettext_noop = function (msgid) { return msgid; }; - django.pgettext = function (context, msgid) { return msgid; }; - django.npgettext = function (context, singular, plural, count) { return (count == 1) ? singular : plural; }; + django.catalog = django.catalog || {}; - - django.interpolate = function (fmt, obj, named) { - if (named) { - return fmt.replace(/%\(\w+\)s/g, function(match){return String(obj[match.slice(2,-2)])}); - } else { - return fmt.replace(/%s/g, function(match){return String(obj.shift())}); - } + var newcatalog = { + "Answer": "\ub2f5\ubcc0", + "Delete": "\uc0ad\uc81c", + "Feedback": "\ud53c\ub4dc\ubc31", + "Image URL": "\uc774\ubbf8\uc9c0 URL", + "Image alternative text": "\uc774\ubbf8\uc9c0 \ub300\uccb4 \ud14d\uc2a4\ud2b8", + "Question": "\uc9c8\ubb38", + "Results": "\uacb0\uacfc", + "Results gathered from {total} respondent.": [ + "\ucd1d {total}\uba85\uc758 \uc751\ub2f5\uc790\ub85c\ubd80\ud130 \uc218\uc9d1\ud55c \uacb0\uacfc\uc785\ub2c8\ub2e4.", + "\ucd1d {total}\uba85\uc758 \uc751\ub2f5\uc790\ub85c\ubd80\ud130 \uc218\uc9d1\ud55c \uacb0\uacfc\uc785\ub2c8\ub2e4." + ], + "Submit": "\uc81c\ucd9c", + "This must have an image URL or text, and can have both. If you add an image, you must also provide an alternative text that describes the image in a way that would allow someone to answer the poll if the image did not load.": "\uc774\ubbf8\uc9c0 URL \ub610\ub294 \ud14d\uc2a4\ud2b8 \uc911 \ud558\ub098\ub294 \uc788\uc5b4\uc57c \ud558\uba70 \ub458 \ub2e4 \uc788\uc5b4\ub3c4 \ub429\ub2c8\ub2e4. \uc774\ubbf8\uc9c0\ub97c \ucd94\uac00\ud558\ub294 \uacbd\uc6b0, \uc774\ubbf8\uc9c0\uac00 \ub85c\ub4dc\ub418\uc9c0 \uc54a\ub354\ub77c\ub3c4 \ub204\uad6c\ub4e0\uc9c0 \ud22c\ud45c\uc5d0 \ucc38\uc5ec\ud560 \uc218 \uc788\ub3c4\ub85d \uc774\ubbf8\uc9c0\ub97c \uc124\uba85\ud558\ub294 \ub300\uccb4 \ud14d\uc2a4\ud2b8\ub3c4 \uc81c\uacf5\ud574\uc57c \ud569\ub2c8\ub2e4.", + "You can make limited use of Markdown in answer texts, preferably only bold and italics.": "Markdown\uc740 \ub2f5\ubcc0 \ud14d\uc2a4\ud2b8\uc5d0\uc11c \uc81c\ud55c\uc801\uc73c\ub85c \uc0ac\uc6a9\ud560 \uc218 \uc788\uc73c\uba70 \ubcfc\ub4dc\uccb4 \ubc0f \uc774\ud0e4\ub9ad\uccb4\ub9cc \uc0ac\uc6a9\ud558\ub294 \uac83\uc774 \uc88b\uc2b5\ub2c8\ub2e4.", + "move poll down": "\ud22c\ud45c \ub0b4\ub9ac\uae30", + "move poll up": "\ud22c\ud45c \uc62c\ub9ac\uae30" }; + for (var key in newcatalog) { + django.catalog[key] = newcatalog[key]; + } + + if (!django.jsi18n_initialized) { + django.gettext = function(msgid) { + var value = django.catalog[msgid]; + if (typeof(value) == 'undefined') { + return msgid; + } else { + return (typeof(value) == 'string') ? value : value[0]; + } + }; - /* formatting library */ + django.ngettext = function(singular, plural, count) { + var value = django.catalog[singular]; + if (typeof(value) == 'undefined') { + return (count == 1) ? singular : plural; + } else { + return value[django.pluralidx(count)]; + } + }; - django.formats = { + django.gettext_noop = function(msgid) { return msgid; }; + + django.pgettext = function(context, msgid) { + var value = django.gettext(context + '\x04' + msgid); + if (value.indexOf('\x04') != -1) { + value = msgid; + } + return value; + }; + + django.npgettext = function(context, singular, plural, count) { + var value = django.ngettext(context + '\x04' + singular, context + '\x04' + plural, count); + if (value.indexOf('\x04') != -1) { + value = django.ngettext(singular, plural, count); + } + return value; + }; + + django.interpolate = function(fmt, obj, named) { + if (named) { + return fmt.replace(/%\(\w+\)s/g, function(match){return String(obj[match.slice(2,-2)])}); + } else { + return fmt.replace(/%s/g, function(match){return String(obj.shift())}); + } + }; + + + /* formatting library */ + + django.formats = { "DATETIME_FORMAT": "Y\ub144 n\uc6d4 j\uc77c g:i A", "DATETIME_INPUT_FORMATS": [ "%Y-%m-%d %H:%M:%S", @@ -60,7 +114,7 @@ ], "DECIMAL_SEPARATOR": ".", "FIRST_DAY_OF_WEEK": "0", - "MONTH_DAY_FORMAT": "F\uc6d4 j\uc77c", + "MONTH_DAY_FORMAT": "n\uc6d4 j\uc77c", "NUMBER_GROUPING": "3", "SHORT_DATETIME_FORMAT": "Y-n-j H:i", "SHORT_DATE_FORMAT": "Y-n-j.", @@ -73,27 +127,30 @@ "%H\uc2dc %M\ubd84 %S\ucd08", "%H\uc2dc %M\ubd84" ], - "YEAR_MONTH_FORMAT": "Y\ub144 F\uc6d4" + "YEAR_MONTH_FORMAT": "Y\ub144 n\uc6d4" }; - django.get_format = function (format_type) { - var value = django.formats[format_type]; - if (typeof(value) == 'undefined') { - return format_type; - } else { - return value; - } - }; + django.get_format = function(format_type) { + var value = django.formats[format_type]; + if (typeof(value) == 'undefined') { + return format_type; + } else { + return value; + } + }; + + /* add to global namespace */ + globals.pluralidx = django.pluralidx; + globals.gettext = django.gettext; + globals.ngettext = django.ngettext; + globals.gettext_noop = django.gettext_noop; + globals.pgettext = django.pgettext; + globals.npgettext = django.npgettext; + globals.interpolate = django.interpolate; + globals.get_format = django.get_format; - /* add to global namespace */ - globals.pluralidx = django.pluralidx; - globals.gettext = django.gettext; - globals.ngettext = django.ngettext; - globals.gettext_noop = django.gettext_noop; - globals.pgettext = django.pgettext; - globals.npgettext = django.npgettext; - globals.interpolate = django.interpolate; - globals.get_format = django.get_format; + django.jsi18n_initialized = true; + } }(this)); diff --git a/poll/translations/ko_KR/LC_MESSAGES/text.mo b/poll/translations/ko_KR/LC_MESSAGES/text.mo index 128071e..30f06cb 100644 Binary files a/poll/translations/ko_KR/LC_MESSAGES/text.mo and b/poll/translations/ko_KR/LC_MESSAGES/text.mo differ diff --git a/poll/translations/ko_KR/LC_MESSAGES/text.po b/poll/translations/ko_KR/LC_MESSAGES/text.po index 8c88eff..ea07548 100644 --- a/poll/translations/ko_KR/LC_MESSAGES/text.po +++ b/poll/translations/ko_KR/LC_MESSAGES/text.po @@ -16,221 +16,380 @@ msgstr "" "X-Poedit-Basepath: ../../..\n" "X-Poedit-SearchPath-0: poll.py\n" -#: poll.py +#: poll/poll.py:229 msgid "Whether or not to display results to the user." -msgstr "" +msgstr "사용자에게 결과를 표시할지 여부입니다." -#: poll.py +#: poll/poll.py:230 msgid "The maximum number of times a user may send a submission." -msgstr "" +msgstr "사용자가 답변을 제출할 수 있는 최대 횟수입니다." -#: poll.py +#: poll/poll.py:232 msgid "Number of times the user has sent a submission." -msgstr "" +msgstr "사용자가 답변을 제출한 횟수입니다." -#: poll.py +#: poll/poll.py:234 msgid "Text to display after the user votes." -msgstr "" +msgstr "사용자가 투표한 후 표시되는 텍스트입니다." -#: poll.py +#. Translators: {field} is either "answers" or "questions". +#: poll/poll.py:295 #, python-brace-format msgid "'{field}' is not present, or not a JSON array." -msgstr "" +msgstr "'{field}'이(가) 없거나 JSON 어레이가 아닙니다." -#: poll.py +#. Translators: {noun} is either "Answer" or "Question". {item} identifies the answer or question. +#: poll/poll.py:307 #, python-brace-format msgid "{noun} {item} not a javascript object!" -msgstr "" +msgstr "{noun} {item}이(가) Javascript 오브젝트가 아닙니다!" -#: poll.py +#. Translators: {noun} is either "Answer" or "Question". {item} identifies the answer or question. +#: poll/poll.py:316 #, python-brace-format msgid "{noun} {item} contains no key." -msgstr "" +msgstr "{noun} {item}에 키가 포함되어 있지 않습니다." -#: poll.py +#. Translators: {noun} is either "Answer" or "Question". +#. {noun_lower} is the lowercase version of {noun}. +#: poll/poll.py:328 #, python-brace-format msgid "" "{noun} has no text or img. Please make sure all {noun_lower}s have one or " "the other, or both." -msgstr "" +msgstr "{noun}에 텍스트 또는 이미지가 없습니다. 모든 {noun_lower}에 텍스트 또는 이미지 중 하나 또는 둘 다 있는지 확인하시기 바랍니다." -#: poll.py +#. Translators: {noun} is either "Answer" or "Question". +#. {noun_lower} is the lowercase version of {noun}. +#: poll/poll.py:339 #, python-brace-format msgid "" "{noun} was added with no label. All {noun_lower}s must have labels. Please " "check the form. Check the form and explicitly delete {noun_lower}s if not " "needed." -msgstr "" +msgstr "{noun}이(가) 라벨 없이 추가되었습니다. 모든 {noun_lower}에는 라벨이 있어야 합니다. 양식을 확인한 다음 필요 없는 {noun_lower}을(를) 확실하게 삭제하십시오." -#: poll.py +#: poll/poll.py:347 msgid "" "All images must have an alternative text describing the image in a way that " "would allow someone to answer the poll if the image did not load." -msgstr "" +msgstr "모든 이미지에는 이미지가 로드되지 않는 경우에도 누구나 투표에 참여할 수 있도록 이미지를 설명하는 대체 텍스트가 있어야 합니다." -#: poll.py +#. Translators: "{noun_lower} is either "answer" or "question". +#: poll/poll.py:359 #, python-brace-format msgid "You must include at least one {noun_lower}." -msgstr "" +msgstr "적어도 하나의 {noun_lower}을(를) 포함해야 합니다." -#: poll.py +#: poll/poll.py:407 msgid "Maximum Submissions missing or not an integer." -msgstr "" +msgstr "최대 제출 답변 수가 누락되었거나 정수가 아닙니다." -#: poll.py +#: poll/poll.py:412 msgid "Private results may not be False when Maximum Submissions is not 1." -msgstr "" +msgstr "최대 제출 답변 수가 1이 아닌 경우 비공개 결과가 False가 아닐 수 있습니다." + +#: poll/poll.py:449 poll/poll.py:842 +msgid "Poll" +msgstr "투표" -#: poll.py +#: poll/poll.py:450 +msgid "What is your favorite color?" +msgstr "좋아하는 색깔이 무엇입니까?" + +#: poll/poll.py:455 +msgid "Red" +msgstr "빨간색" + +#: poll/poll.py:456 +msgid "Blue" +msgstr "파란색" + +#: poll/poll.py:457 +msgid "Green" +msgstr "초록색" + +#: poll/poll.py:458 +msgid "Other" +msgstr "기타" + +#: poll/poll.py:460 +msgid "The answer options on this poll." +msgstr "이 투표의 답변 선택지입니다." + +#: poll/poll.py:464 poll/poll.py:868 msgid "Total tally of answers from students." -msgstr "" +msgstr "수강자가 제출한 답변의 총 합계입니다." -#: poll.py +#: poll/poll.py:465 msgid "The student's answer" -msgstr "" +msgstr "수강자의 답변" -#: poll.py +#: poll/poll.py:673 poll/poll.py:1148 msgid "You have already voted in this poll." -msgstr "" +msgstr "이 투표에 이미 참여하셨습니다." -#: poll.py +#: poll/poll.py:678 msgid "Answer not included with request." -msgstr "" +msgstr "요청에 답변이 포함되지 않았습니다." -#: poll.py +#. Translators: {choice} uniquely identifies a specific answer belonging to a poll or survey. +#: poll/poll.py:687 #, python-brace-format msgid "No key \"{choice}\" in answers table." -msgstr "" +msgstr "답변 테이블에 키 \"{choice}\"이(가) 없습니다." -#: poll.py +#: poll/poll.py:696 poll/poll.py:1156 msgid "You have already voted as many times as you are allowed." -msgstr "" +msgstr "이미 허용된 최대 횟수만큼 투표하셨습니다." -#: poll.py +#: poll/poll.py:726 msgid "You must specify a question." -msgstr "" +msgstr "질문을 명시해야 합니다." + +#: poll/poll.py:729 poll/poll.py:826 poll/poll.py:1210 poll/poll.py:1338 +msgid "Answer" +msgstr "답변" + +#: poll/poll.py:825 poll/poll.py:1211 poll/poll.py:1337 +msgid "Question" +msgstr "질문" + +#: poll/poll.py:828 poll/poll.py:1339 +msgid "Submissions count" +msgstr "제출 답변 수" -#: poll.py +#: poll/poll.py:839 +msgid "Survey" +msgstr "설문조사" + +#: poll/poll.py:845 +msgid "Yes" +msgstr "예" + +#: poll/poll.py:846 +msgid "No" +msgstr "아니요" + +#: poll/poll.py:847 +msgid "Maybe" +msgstr "모르겠음" + +#: poll/poll.py:849 msgid "Answer choices for this Survey" -msgstr "" +msgstr "이 설문조사의 답변 선택지" -#: poll.py +#: poll/poll.py:853 msgid "Are you enjoying the course?" -msgstr "" +msgstr "강의에 만족하고 계십니까?" -#: poll.py +#: poll/poll.py:855 msgid "Would you recommend this course to your friends?" -msgstr "" +msgstr "이 강의를 친구에게 추천하시겠습니까?" -#: poll.py +#: poll/poll.py:859 msgid "Do you think you will learn a lot?" -msgstr "" +msgstr "많은 것을 배울 수 있을 것이라고 생각하십니까?" -#: poll.py +#: poll/poll.py:861 msgid "Questions for this Survey" -msgstr "" - -#: poll.py -msgid "Survey" -msgstr "" +msgstr "이 설문조사의 질문" -#: poll.py +#: poll/poll.py:870 msgid "The user's answers" -msgstr "" +msgstr "사용자의 답변" -#: poll.py +#: poll/poll.py:1164 msgid "" "Not all questions were included, or unknown questions were included. Try " "refreshing and trying again." -msgstr "" +msgstr "일부 질문이 포함되지 않았거나 알려지지 않은 질문이 포함되었습니다. 새로고침한 후에 다시 시도해 보십시오." -#: poll.py -#, python-format +#. Translators: {answer_key} uniquely identifies a specific answer belonging to a poll or survey. +#. {question_key} uniquely identifies a specific question belonging to a poll or survey. +#: poll/poll.py:1177 +#, python-brace-format msgid "Found unknown answer '{answer_key}' for question key '{question_key}'" -msgstr "" +msgstr "질문 키 '{question_key}'에 대해 알려지지 않은 답변 '{answer_key}'이(가) 발견되었습니다." -#: poll.py -msgid "Poll" -msgstr "" - -#: poll.py -msgid "What is your favorite color?" -msgstr "" - -#: poll.py -msgid "Red" -msgstr "" - -#: poll.py -msgid "Blue" -msgstr "" - -#: poll.py -msgid "Other" -msgstr "" - -#: poll.py -msgid "The answer options on this poll." -msgstr "" - -#: poll.py -msgid "Answer" -msgstr "" +#: poll/public/html/poll.html:35 poll/public/html/survey.html:53 +msgid "Submit" +msgstr "제출" -#: poll.py -msgid "Question" -msgstr "" +#: poll/public/html/poll.html:40 poll/public/html/survey.html:55 +msgid "Thank you." +msgstr "감사합니다." -#: poll.py -msgid "Yes" -msgstr "" - -#: poll.py -msgid "No" -msgstr "" - -#: poll.py -msgid "Maybe" -msgstr "" - -#: public/handlebars/poll_results.handlebars -msgid "Results gathered from {total} respondents." -msgstr "" - -#: public/handlebars/poll_results.handlebars -msgid "Results gathered from {total} respondent." -msgstr "" - -#: public/handlebars/poll_studio.handlebars -msgid "move poll up" -msgstr "" - -#: public/handlebars/poll_studio.handlebars -msgid "move poll down" -msgstr "" - -#: public/handlebars/poll_studio.handlebars -msgid "Delete" -msgstr "" - -#: public/handlebars/poll_studio.handlebars -msgid "Image URL" -msgstr "" - -#: public/handlebars/poll_studio.handlebars -msgid "Image alternative text" -msgstr "" - -#: public/handlebars/poll_studio.handlebars +#: poll/public/html/poll.html:44 +#, python-format msgid "" -"You can make limited use of Markdown in answer texts, preferably only bold " -"and italics." -msgstr "" - -#: public/handlebars/poll_studio.handlebars +"\n" +" You have used %(submissions_count_s)s out of %(max_submissions_s)s " +"submissions.\n" +" " +msgstr "\n" +" 최대 제출 횟수 %(max_submissions_s)s번 중 %(submissions_count_s)s번을 사용하셨습니다.\n" +" " + +#: poll/public/html/poll.html:52 poll/public/html/poll_edit.html:27 +#: poll/public/html/survey.html:64 +msgid "Feedback" +msgstr "피드백" + +#: poll/public/html/poll.html:64 poll/public/html/survey.html:73 +msgid "View results" +msgstr "결과 보기" + +#: poll/public/html/poll.html:71 poll/public/html/survey.html:81 +msgid "Export results to CSV" +msgstr "CSV로 결과 내보내기" + +#: poll/public/html/poll.html:72 poll/public/html/survey.html:82 +msgid "Download CSV" +msgstr "CSV 다운로드" + +#: poll/public/html/poll.html:76 poll/public/html/survey.html:86 +msgid "Student data and results CSV available for download in the LMS." +msgstr "LMS에서 다운로드할 수 있는 수강자 데이터 및 결과에 대한 CVS입니다." + +#: poll/public/html/poll_edit.html:8 +msgid "Display Name" +msgstr "표시 이름" + +#: poll/public/html/poll_edit.html:15 +msgid "Question/Prompt" +msgstr "질문/안내글" + +#: poll/public/html/poll_edit.html:16 +#, python-format msgid "" -"This must have an image URL or text, and can have both. If you add an " -"image, you must also provide an alternative text that describes the image in" -" a way that would allow someone to answer the poll if the image did not " -"load." -msgstr "" +"\n" +" %(link_start)sMarkdown Syntax%(link_end)s is supported.\n" +" " +msgstr "\n" +" %(link_start)sMarkdown Syntax%(link_end)s가 지원됩니다.\n" +" " + +#: poll/public/html/poll_edit.html:23 +msgid "Enter the prompt for the user." +msgstr "사용자를 위한 안내글을 입력하십시오." + +#: poll/public/html/poll_edit.html:28 +#, python-format +msgid "" +"\n" +" %(link_start)sMarkdown Syntax%(link_end)s is supported.\n" +" " +msgstr "\n" +" %(link_start)sMarkdown Syntax%(link_end)s가 지원됩니다.\n" +" " + +#: poll/public/html/poll_edit.html:36 +msgid "" +"\n" +" This text will be displayed for the user as some extra " +"feedback after they have\n" +" submitted their response to the poll.\n" +" " +msgstr "\n" +" 이 텍스트는 사용자가 투표에 답변을 제출한 후에 사용자에게\n" +" 추가 피드백으로 표시됩니다.\n" +" " + +#: poll/public/html/poll_edit.html:44 +msgid "Private Results" +msgstr "비공개 결과" + +#: poll/public/html/poll_edit.html:48 +msgid "True" +msgstr "True" + +#: poll/public/html/poll_edit.html:49 +msgid "False" +msgstr "False" + +#: poll/public/html/poll_edit.html:53 +msgid "If this is set to True, don't display results of the poll to the user." +msgstr "True로 설정하는 경우 투표 결과가 사용자에게 표시되지 않습니다." + +#: poll/public/html/poll_edit.html:58 +msgid "Maximum Submissions" +msgstr "최대 제출 답변 수" + +#: poll/public/html/poll_edit.html:63 +#, python-format +msgid "" +"\n" +" Maximum number of times a user may submit a poll. " +"%(bold_start)sSetting this to a value other than 1 will imply that\n" +" 'Private Results' should be true.%(bold_end)s Setting it " +"to 0 will allow infinite resubmissions.\n" +" " +msgstr "\n" +" 투표에 답변을 제출할 수 있는 최대 횟수입니다. %(bold_start)s이 값을 1 이외의 값으로 설정하면\n" +" '비공개 결과'가 true가 되어야 함을 의미합니다.%(bold_end)s 이 값을 0으로 설정하면 답변을 제한 없이 다시 제출할 수 있습니다.\n" +" " + +#: poll/public/html/poll_edit.html:71 +msgid "Notes:" +msgstr "참고:" + +#: poll/public/html/poll_edit.html:72 +msgid "" +"\n" +" If you change an answer's text, all students who voted " +"for that choice will have their votes updated to\n" +" the new text. You'll want to avoid changing an answer " +"from something like 'True' to 'False', accordingly.\n" +" If you delete an answer, any votes for that answer will " +"also be deleted. Students whose choices are deleted\n" +" may vote again, but will not lose course progress.\n" +" " +msgstr "\n" +" 답변 텍스트를 변경하는 경우, 해당 답변 선택지에 투표한 모든 수강자의 투표가 새로운 텍스트로\n" +" 업데이트됩니다. 따라서 답변을 ‘True’에서 ‘False’로 변경하는 것과 같은 변경은 하지 않는 것이 좋습니다.\n" +" 답변을 삭제하는 경우, 해당 답변을 선택한 투표도 삭제됩니다. 자신의 답변 선택지가 삭제된 수강자는\n" +" 다시 투표할 수 있으며 강의 진도에는 영향을 받지 않습니다.\n" +" " + +#: poll/public/html/poll_edit.html:81 +msgid "" +"\n" +" Questions must be similarly cared for. If a " +"question's text is changed, any votes for that question will remain.\n" +" If a question is deleted, any student who previously " +"took the survey will be permitted to retake it, but will not\n" +" lose course progress.\n" +" " +msgstr "\n" +" 질문에 대해서도 마찬가지로 주의를 기울여야 합니다. 질문 텍스트가 변경되는 경우 해당 질문에 답변한 모든 투표가 그대로 유지됩니다.\n" +" 질문이 삭제되는 경우, 이전에 설문조사에 참여했던 모든 수강자가 설문조사에 다시 참여할 수 있으며 강의 진도에는\n" +" 영향을 받지 않습니다.\n" +" " + +#: poll/public/html/poll_edit.html:97 +msgid "Add Answer" +msgstr "답변 추가" + +#: poll/public/html/poll_edit.html:101 +msgid "Add Question" +msgstr "질문 추가" + +#: poll/public/html/poll_edit.html:105 +msgid "Save" +msgstr "저장" + +#: poll/public/html/poll_edit.html:108 +msgid "Cancel" +msgstr "취소" + +#: poll/public/html/survey.html:57 +#, python-format +msgid "" +"\n" +" You have used %(submissions_count_s)s out of " +"%(max_submissions_s)s submissions.\n" +" " +msgstr "\n" +" 최대 답변 제출 횟수 %(max_submissions_s)s번 중 %(submissions_count_s)s번을 사용하셨습니다.\n" +" " diff --git a/poll/translations/ko_KR/LC_MESSAGES/textjs.po b/poll/translations/ko_KR/LC_MESSAGES/textjs.po new file mode 100644 index 0000000..4f53bfe --- /dev/null +++ b/poll/translations/ko_KR/LC_MESSAGES/textjs.po @@ -0,0 +1,66 @@ +msgid "" +msgstr "Content-Type: text/plain; charset=utf-8\n" + +#: poll/public/handlebars/poll_results.handlebars:5 +#: poll/public/handlebars/survey_results.handlebars:4 +msgid "Results" +msgstr "결과" + +#: poll/public/handlebars/poll_results.handlebars:31 +#: poll/public/handlebars/survey_results.handlebars:39 +msgid "Submit" +msgstr "제출" + +#: poll/public/handlebars/poll_results.handlebars:33 +#: poll/public/handlebars/survey_results.handlebars:41 +msgid "Results gathered from {total} respondent." +msgid_plural "Results gathered from {total} respondents." +msgstr[0] "총 {total}명의 응답자로부터 수집한 결과입니다." +msgstr[1] "총 {total}명의 응답자로부터 수집한 결과입니다." + +#: poll/public/handlebars/poll_results.handlebars:37 +#: poll/public/handlebars/survey_results.handlebars:46 +msgid "Feedback" +msgstr "피드백" + +#: poll/public/handlebars/poll_studio.handlebars:6 +msgid "move poll up" +msgstr "투표 올리기" + +#: poll/public/handlebars/poll_studio.handlebars:7 +msgid "move poll down" +msgstr "투표 내리기" + +#: poll/public/handlebars/poll_studio.handlebars:9 +msgid "Delete" +msgstr "삭제" + +#: poll/public/handlebars/poll_studio.handlebars:11 +msgid "Answer" +msgstr "답변" + +#: poll/public/handlebars/poll_studio.handlebars:12 +msgid "Question" +msgstr "질문" + +#: poll/public/handlebars/poll_studio.handlebars:16 +msgid "Image URL" +msgstr "이미지 URL" + +#: poll/public/handlebars/poll_studio.handlebars:18 +msgid "Image alternative text" +msgstr "이미지 대체 텍스트" + +#: poll/public/handlebars/poll_studio.handlebars:23 +msgid "" +"You can make limited use of Markdown in answer texts, preferably only bold " +"and italics." +msgstr "Markdown은 답변 텍스트에서 제한적으로 사용할 수 있으며 볼드체 및 이탤릭체만 사용하는 것이 좋습니다." + +#: poll/public/handlebars/poll_studio.handlebars:27 +msgid "" +"This must have an image URL or text, and can have both. If you add an " +"image, you must also provide an alternative text that describes the image " +"in a way that would allow someone to answer the poll if the image did not " +"load." +msgstr "이미지 URL 또는 텍스트 중 하나는 있어야 하며 둘 다 있어도 됩니다. 이미지를 추가하는 경우, 이미지가 로드되지 않더라도 누구든지 투표에 참여할 수 있도록 이미지를 설명하는 대체 텍스트도 제공해야 합니다." diff --git a/requirements-dev.txt b/requirements-dev.txt index b44d68c..ca4ad44 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -1,6 +1,8 @@ # Internationalization and Localization requirements -e git://github.com/edx/xblock-sdk.git@v0.1.6#egg=xblock-sdk==v0.1.6 Django==1.11.25 +# Latest version(1.0.4) of django-appconf do not support python 2 +django-appconf==1.0.3 django-statici18n==1.8.2 transifex-client==0.12.1 edx-i18n-tools==0.5.0 diff --git a/setup.py b/setup.py index d2b4cac..68027be 100644 --- a/setup.py +++ b/setup.py @@ -46,7 +46,7 @@ def package_data(pkg, roots): setup( name='xblock-poll', - version='1.9.6', + version='1.9.7', description='An XBlock for polling users.', packages=[ 'poll',