Wagtail: uggettext ํ•จ์ˆ˜๋Š” ๋” ์ด์ƒ ์‚ฌ์šฉ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์— ๋งŒ๋“  2020๋…„ 02์›” 18์ผ  ยท  5์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: wagtail/wagtail

๋ฌธ์ œ ์š”์•ฝ

์˜ ํ˜ธ์ถœ ugettext(), ugettext_lazy(), ugettext_noop(), ungettext() ๋ฐ ungettext_lazy() ์—์„œ ๊ธฐ๋Šฅ django.utils.translation ์ธ์ƒ๋ฉ๋‹ˆ๋‹ค RemovedInDjango40Warning ์‚ฌ์šฉ ์ค‘๋‹จ ๊ฒฝ๊ณ .

์žฌํ˜„ ๋‹จ๊ณ„

  1. Django 3.0์ด ์„ค์น˜๋œ Wagtail ํ”„๋กœ์ ํŠธ์— ๋Œ€ํ•ด ๊ฒฝ๊ณ ๋ฅผ ํ™œ์„ฑํ™”ํ•˜์—ฌ ๊ฐœ๋ฐœ ์„œ๋ฒ„๋ฅผ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค. python -Wall manage.py runserver
  2. ์ถœ๋ ฅ์„ ๊ด€์ฐฐํ•˜์‹ญ์‹œ์˜ค. ๋‹ค์Œ๊ณผ ์œ ์‚ฌํ•œ ์ˆ˜์‹ญ ๊ฐœ์˜ ๊ฒฝ๊ณ ๋ฅผ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค.
/Users/stormh/torchbox/wagtail/wagtail/admin/edit_handlers.py:762: RemovedInDjango40Warning: django.utils.translation.ugettext_lazy() is deprecated in favor of django.utils.translation.gettext_lazy().
  'heading': ugettext_lazy('Scheduled publishing'),
  • ์ƒˆ๋กœ์šด Wagtail ํ”„๋กœ์ ํŠธ์— ์„ค๋ช… ๋œ๋Œ€๋กœ์ด ๋ฌธ์ œ๋ฅผ ์žฌํ˜„ ํ•  ์ˆ˜ ์žˆ์Œ์„ ํ™•์ธํ–ˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ

ugettext ํ•จ์ˆ˜๋Š” Django 3.0์—์„œ ๋” ์ด์ƒ ์‚ฌ์šฉ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์ง€์› ์ค‘๋‹จ ์ด์œ ๋Š” ํ•ด๋‹นํ•˜๋Š” gettext ๋Œ€์‘ ํ•ญ๋ชฉ์— ๋Œ€ํ•œ ๋ ˆ๊ฑฐ์‹œ ๋ณ„์นญ์ด๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ์ด ํ‹ฐ์ผ“ ์— ๋”ฐ๋ฅด๋ฉด ํ•œ๋•Œ Python 2.7๊ณผ์˜ ์œ ๋‹ˆ ์ฝ”๋“œ ํ˜ธํ™˜์„ฑ์„ ์œ„ํ•ด ์‚ฌ์šฉ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์ด ๋ฌธ์ œ๋ฅผ ์–ด๋–ป๊ฒŒ ํ•ด๊ฒฐํ•ฉ๋‹ˆ๊นŒ?

ugettext ํ•จ์ˆ˜์— ๋Œ€ํ•œ ๋ชจ๋“  ์ฐธ์กฐ๋ฅผ gettext ๋Œ€์‘ ์š”์†Œ๋กœ ๋ฐ”๊ฟ”์•ผํ•ฉ๋‹ˆ๋‹ค. Wagtail์€ ๋” ์ด์ƒ Python 2.7์„ ์ง€์›ํ•˜์ง€ ์•Š์œผ๋ฉฐ์ด ๋ณ€๊ฒฝ ์‚ฌํ•ญ์€ Django 2.2 LTS์™€ ํ˜ธํ™˜๋˜๊ธฐ ๋•Œ๋ฌธ์— ๋ถ€์ •์ ์ธ ์˜ํ–ฅ์ด ์—†์–ด์•ผํ•ฉ๋‹ˆ๋‹ค.

์ด์ œ์ด ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์„œ๋‘˜๋Ÿฌ ๊ตฌํ˜„ํ•ด์•ผํ•ฉ๋‹ˆ๊นŒ? ์•„๋‹ˆ ์ •๋ง. ugettext ํ•จ์ˆ˜๋Š” Django 4.0์—์„œ ์ œ๊ฑฐ ๋  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค. https://www.djangoproject.com/download/ ์—์„œ ๊ฐ€์ ธ์˜จ์ด ์ฐจํŠธ์— ๋”ฐ๋ฅด๋ฉด 2022 ๋…„์— ์ถœ์‹œ ๋  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ my-project-is-full-to-date ๊ฒฝํ—˜์— ๋Œ€ํ•œ ๋ถˆ์พŒํ•œ ์‚ฌ์šฉ ์ค‘๋‹จ ๊ฒฝ๊ณ ๋ฅผ ์ œ๊ฑฐํ•˜๋Š” ๊ฒƒ์ด ์ข‹์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค ๐Ÿ‘Œ

๊ธฐ์ˆ ์  ์„ธ๋ถ€ ์‚ฌํ•ญ

  • Python ๋ฒ„์ „ : 3.8.1
  • Django ๋ฒ„์ „ : 3.0.3
  • Wagtail ๋ฒ„์ „ : 2.9a0
  • ๋ธŒ๋ผ์šฐ์ € ๋ฒ„์ „ : ํ•ด๋‹น ์‚ฌํ•ญ ์—†์Œ
Django i18n good first issue Bug

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

@danihodovic ์‚ฌ์šฉ ์‚ฌ๋ก€์— ๋”ฐ๋ผ ์ด๊ฒƒ์ด pytest๋ฅผ ์‹คํ–‰ํ•  ๋•Œ ์ˆจ๊ธฐ๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค.

[pytest]
filterwarnings =
    ignore::django.utils.deprecation.RemovedInDjango40Warning

๋ชจ๋“  5 ๋Œ“๊ธ€

์ด ๊ฒฝ๊ณ ๊ฐ€ ํ•ด๊ฒฐ ๋  ๋•Œ๊นŒ์ง€ ์นจ๋ฌต ํ•  ์ˆ˜์žˆ๋Š” ๋ฐฉ๋ฒ•์ด ์žˆ์Šต๋‹ˆ๊นŒ?

@danihodovic ์‚ฌ์šฉ ์‚ฌ๋ก€์— ๋”ฐ๋ผ ์ด๊ฒƒ์ด pytest๋ฅผ ์‹คํ–‰ํ•  ๋•Œ ์ˆจ๊ธฐ๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค.

[pytest]
filterwarnings =
    ignore::django.utils.deprecation.RemovedInDjango40Warning

@marteinn ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!

# 5907์—์„œ ์™„๋ฃŒ๋˜์—ˆ์ง€๋งŒ ๊ธฐ์กด PR์„ ๋ณ‘ํ•ฉ ํ•œ ๊ฒฐ๊ณผ ์ƒˆ๋กœ์šด ์‚ฌ๊ฑด์ด ๋ชฐ๋ž˜ ๋“ค์–ด์˜ฌ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— 2.9 ๋ฆด๋ฆฌ์Šค ์ด์ „์— ๋˜ ๋‹ค๋ฅธ ์Šค์œ•์„ ์ˆ˜ํ–‰ํ•˜๋„๋ก ์ƒ๊ธฐ์‹œํ‚ค๊ธฐ ์œ„ํ•ด์ด ํ•ญ๋ชฉ์„ ์—ด์–ด ๋‘๊ฒ ์Šต๋‹ˆ๋‹ค.

๋‹ค์‹œ ํ™•์ธํ–ˆ๊ณ  ์ƒˆ๋กœ์šด ์‚ฌ๊ฑด์ด ๋ฐœ์ƒํ•˜์ง€ ์•Š์•˜์œผ๋ฏ€๋กœ ์šฐ๋ฆฌ ๋ชจ๋‘ ๊ดœ์ฐฎ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค ๐Ÿ‘

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰