Mudlet: Mudlet์šฉ ์›น ๊ธฐ๋ฐ˜ ๋ฒˆ์—ญ ์„œ๋น„์Šค ์„ค์ •

์— ๋งŒ๋“  2017๋…„ 04์›” 09์ผ  ยท  45์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: Mudlet/Mudlet

์šฐ๋ฆฌ๋Š” ์‚ฌ๋žŒ๋“ค์ด Mudlet ๋ฒˆ์—ญ์— ๋งค์šฐ ์‰ฝ๊ฒŒ ๊ธฐ์—ฌํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ์œ ์ผํ•œ ์žฅ๋ฒฝ์ด ๋กœ๊ทธ์ธํ•˜๋Š” ์œ ์ผํ•œ ์›น ๊ธฐ๋ฐ˜์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์„ค์ •์„ ์–ป์„ ์ˆ˜ ์žˆ๋Š” ์˜คํ”ˆ ์†Œ์Šค ๋ผ์ด์„ ์Šค๋ฅผ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ์กด ์›น ๊ธฐ๋ฐ˜ ์„œ๋น„์Šค๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. .

์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋Œ€์•ˆ:
Launchpad - ๋ฏธ๋ž˜๋Š” ๋ถˆํ™•์‹คํ•˜์ง€๋งŒ
Transifex - ์—ฌ๊ธฐ์—์„œ ๋ฐ๋ชจ ํ”„๋กœ์ ํŠธ: https://www.transifex.com/mudlet/mudlet/dashboard/

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

ํฌ๋ผ์šฐ๋“œ ์ธ ํ‰๊ฐ€ํŒ์€ 4 ์ผ ํ›„์— ๋งŒ๋ฃŒ๋˜๋ฏ€๋กœ ๋™์˜ / ๋™์˜๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ์ง€๊ธˆ๊นŒ์ง€๋Š” ๋งŒ์กฑํ•˜๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

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

XLIFF ๋ฒˆ์—ญ์„ ํ—ˆ์šฉํ•˜๋Š” github๊ณผ์˜ ํ†ตํ•ฉ์œผ๋กœ POEditor๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.
ํŒŒ์ผ(qt linguist์—์„œ ์ง€์›ํ•œ๋‹ค๊ณ  ๊ฐ€์ •ํ•จ). ๊ทธ๋ฆฌ๊ณ  ๊ทธ๋“ค์€ OS๋ฅผ ๊ฐ€์ง€๊ณ 
ํŠนํ—ˆ.

๋˜ ๋‹ค๋ฅธ ์˜ต์…˜์€ ๋น„์šฉ์ด ๋“ค์ง€ ์•Š๋Š” Qordoba์ž…๋‹ˆ๋‹ค.
ts ํŒŒ์ผ์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

๋ฒˆ์—ญ ์„œ๋น„์Šค/์•ฑ์„ ์‚ฌ์šฉํ•œ ์ ์ด ์—†์œผ๋ฏ€๋กœ ์„ ํ˜ธํ•˜๋Š” ํ•ญ๋ชฉ์ด ์—†์Šต๋‹ˆ๋‹ค.

Vadim Peretokin [email protected] schrieb am So., 2017๋…„ 4์›” 9์ผ,
13:14:

์‚ฌ๋žŒ๋“ค์ด Mudlet ๋ฒˆ์—ญ์— ๊ธฐ์—ฌํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  • ๊ทธ๊ฒƒ์€ ์œ ์ผํ•œ ์žฅ๋ฒฝ์ด ๋กœ๊ทธ์ธํ•˜๋Š” ์›น ๊ธฐ๋ฐ˜์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.
    ์šฐ๋ฆฌ์—๊ฒŒ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ์กด ์›น ๊ธฐ๋ฐ˜ ์„œ๋น„์Šค๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    ์„ค์ •ํ•˜๋ ค๋ฉด ์˜คํ”ˆ ์†Œ์Šค ๋ผ์ด์„ ์Šค๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋Œ€์•ˆ:
Launchpad https://translations.launchpad.net/ - ๋ฏธ๋ž˜๋Š”
๊ทธ๋Ÿฌ๋‚˜ ์˜์‹ฌ์Šค๋Ÿฝ๋‹ค

โ€”
์ด ์Šค๋ ˆ๋“œ์— ๊ฐ€์ž…ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ด ๋ฉ”์‹œ์ง€๋ฅผ ๋ฐ›๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
์ด ์ด๋ฉ”์ผ์— ์ง์ ‘ ๋‹ต์žฅํ•˜๊ณ  GitHub์—์„œ ํ™•์ธํ•˜์„ธ์š”.
https://github.com/Mudlet/Mudlet/issues/856 , ๋˜๋Š” ์Šค๋ ˆ๋“œ ์Œ์†Œ๊ฑฐ
https://github.com/notifications/unsubscribe-auth/ABAEDUJoAsg-zvnOq1YUvuIqn-fbRwcCks5ruL2WgaJpZM4M3_u1
.

Re: XLIFF the _Qt Linguist Manual: Translators_ Qt Doc ๋ฉ”๋ชจ:

__๋ฌธ์ž์—ด ๋ฒˆ์—ญ__
๋ฒˆ์—ญ์„ ์œ„ํ•ด Qt Linguist์—์„œ ๋ฒˆ์—ญ ์†Œ์Šค(TS) ํŒŒ์ผ์„ ์—ฝ๋‹ˆ๋‹ค. TS ํŒŒ์ผ์€ ์†Œ์Šค ๊ตฌ๋ฌธ๊ณผ ํ•ด๋‹น ๋ฒˆ์—ญ์ด ํฌํ•จ๋œ ์‚ฌ๋žŒ์ด ์ฝ์„ ์ˆ˜ ์žˆ๋Š” XML ํŒŒ์ผ์ž…๋‹ˆ๋‹ค. TS ํŒŒ์ผ์€ ์ผ๋ฐ˜์ ์œผ๋กœ lupdate์— ์˜ํ•ด ์ƒ์„ฑ ๋ฐ ์—…๋ฐ์ดํŠธ๋ฉ๋‹ˆ๋‹ค. TS ํŒŒ์ผ์ด ์—†๋Š” ๊ฒฝ์šฐ ๋ฆด๋ฆฌ์Šค ๊ด€๋ฆฌ์ž๋ฅผ ์ฐธ์กฐํ•˜์—ฌ ์ƒ์„ฑ ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ณด์„ธ์š”.
Qt Linguist๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋‹ค๋ฅธ ํ”„๋กœ๊ทธ๋žจ์—์„œ ์ƒ์„ฑ๋œ ๊ตญ์ œ XLIFF(XML Localization Interchange File Format) ํŒŒ์ผ์„ ๋ฒˆ์—ญํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ํ‘œ์ค€ Qt ํ”„๋กœ์ ํŠธ์˜ ๊ฒฝ์šฐ TS ํŒŒ์ผ ํ˜•์‹๋งŒ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. XLIFF ํ˜•์‹ ํŒŒ์ผ์— ๋Œ€ํ•ด ์ง€์›๋˜๋Š” ์ตœ์†Œ ๋ฒ„์ „์€ 1.1์ž…๋‹ˆ๋‹ค.

ํ˜„์žฌ ๋ฐ์Šคํฌํ†ฑ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์— ๋น„ํ•ด ์—„์ฒญ๋‚œ ์ด์ ์ด ์žˆ๋Š” ์›น ๊ธฐ๋ฐ˜ ๋ฒˆ์—ญ ํ”Œ๋žซํผ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ์„ค์น˜ํ•  ํ•„์š”๊ฐ€ ์—†๊ณ  ์ด๋ฏธ ๋ฒˆ์—ญ๋œ ํ…์ŠคํŠธ์— ๋Œ€ํ•œ ๋ฒˆ์—ญ์„ ์ œ์•ˆํ•˜๋Š” ๋“ฑ์ž…๋‹ˆ๋‹ค.

@SlySven ๋‚˜๋Š” ์ด๊ฒƒ์„ ์ฝ์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ๋‚ด๊ฐ€ ๋งํ•œ ๊ฒƒ์„ ๋งํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๊ฒƒ์€ ์™„์ „ํžˆ ์ง€์›๋˜์ง€ ์•Š๊ฑฐ๋‚˜ ๋‚˜์ค‘์— ์ƒ๊ฐํ•˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ์ฝ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ๋‚ด๊ฐ€ ์•„๋งˆ๋„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค(ํ…Œ์ŠคํŠธํ•œ ์ ์ด ์—†์Œ).

@vadi2 ์ œ๊ฐ€ ์–ธ๊ธ‰ํ•œ ์ œํ’ˆ์€ ์›น ๊ธฐ๋ฐ˜ ํ”Œ๋žซํผ์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ Qt ๋ฒˆ์—ญ ํ”„๋ ˆ์ž„์›Œํฌ์—์„œ ํ•ด๋‹น ํ”Œ๋žซํผ์˜ ์ถœ๋ ฅ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋ ค๋ฉด ์—ฌ์ „ํžˆ qt linguist๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ ์ง€์›๋˜๋Š” ํ˜•์‹ TS ํŒŒ์ผ ๋ฐ XLIFF ๋ฐ”์ธ๋”ฉํ•ฉ๋‹ˆ๋‹ค.

๋‚˜๋Š” Linguist์™€ ํ•จ๊ป˜ ํ”Œ๋ ˆ์ดํ–ˆ๊ณ  UI๋Š” ๋‚ด๊ฐ€ ๋งํ•  ์ˆ˜ ์žˆ๋Š” ํ•œ ๊ฝค ์ข‹์Šต๋‹ˆ๋‹ค(์ €๋Š” ํŒฌ์ž…๋‹ˆ๋‹ค :heart_eyes:), UI ๋Œ€ํ™”๋ฅผ ๋ณต์ œํ•ฉ๋‹ˆ๋‹ค QStrings } ๋‹ค๋ฅธ ์–ธ์–ด์—์„œ ์–ด๋–ป๊ฒŒ ๋ณด์ผ์ง€ ์ข‹์€ ์•„์ด๋””์–ด๋ฅผ ๋ณผ ์ˆ˜ ์žˆ๊ณ  ๋™์‹œ์— ์—ฌ๋Ÿฌ ๋ฒˆ์—ญ ์ž‘์—…์„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. .ui ํŒŒ์ผ์˜ QGridLayouts ์™€ ๋‹ฌ๋ฆฌ ๊ธฐ์—ฌ์ž๊ฐ€ ํŒŒ์ผ์„ ์—…๋ฐ์ดํŠธํ•  ๋•Œ git ๋…ธ์ด์ฆˆ๋ฅผ ์ค„์ด๊ธฐ ์œ„ํ•ด TS ํŒŒ์ผ์˜ ๋‚ด์šฉ์„ ๋ถˆํ•„์š”ํ•˜๊ฒŒ ์žฌ์ •๋ ฌํ•˜์ง€ ์•Š๋Š” ๋ฐ Qt๊ฐ€ ๋” ์—„๊ฒฉํ•˜๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค. * ํ•œ์ˆจ *

Qt Linguist๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ - Qt Libraries๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ์ผ๋ฐ˜์ ์œผ๋กœ ๊ธฐ๋ณธ gettext ๊ฐ€๋Š” ๊ฒƒ ์™ธ์— _๋‹ญ๊ณผ ๋‹ฌ๊ฑ€_์˜ _๋‹ญ_ ์ˆ˜์ค€์ด ์•„๋‹Œ _๋ผ์ง€_ ์ˆ˜์ค€์˜ ์•ฝ์†์— ์ „๋…ํ•  ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

์‚ฌ๋žŒ๋“ค์ด ์›ํ•  ๊ฒฝ์šฐ ์‹ค์‹œ๊ฐ„์œผ๋กœ ๋ฒˆ์—ญ์„ ์„ค์น˜ํ•˜๊ณ  ๋ฏธ๋ฆฌ ๋ณผ ์ˆ˜ ์žˆ๋Š” ์˜ต์…˜๊ณผ ํ•จ๊ป˜ Qt Linguist๋ฅผ ์›น ๊ธฐ๋ฐ˜์œผ๋กœ ๋‚ด๋ณด๋‚ด๋Š” ๋ฐ ๊ด€์‹ฌ์ด ์žˆ๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. @keneanung์— ๋Œ€ํ•ด ์–ธ๊ธ‰ํ•œ ์„œ๋น„์Šค๋ฅผ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๋ณด๊ธฐ ์ข‹์Šต๋‹ˆ๋‹ค.

๋‚˜๋Š” ๋˜ํ•œ Transifex๋ฅผ ์—ผ๋‘์— ๋‘๊ณ  ์žˆ์—ˆ์ง€๋งŒ ๋” ์ด์ƒ ์ž˜ ํ•˜๊ณ  ์žˆ์ง€ ์•Š์€ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

๋˜ ๋‹ค๋ฅธ ์›น ๋ฒˆ์—ญ ํ”Œ๋žซํผ: https://hosted.weblate.org/projects/tilix/translations/

๋‹ค์Œ์€ Mozilla ํ”„๋กœ์ ํŠธ์—์„œ ํ˜„์ง€ํ™” ๋ฐ ๋ฒˆ์—ญ์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค. https://developer.mozilla.org/en-US/docs/Mozilla/Localization/Quick_start_guide/Translation_phase

"Libre ์†Œํ”„ํŠธ์›จ์–ด์˜ ๋ฒˆ์—ญ"์— ๋Œ€ํ•œ ์ด ๋งˆ์Šคํ„ฐ ์—ฐ๊ตฌ ๋…ผ๋ฌธ์—์„œ ์—ฌ๋Ÿฌ ๋Œ€์•ˆ๊ณผ ์ผ๋ฐ˜์ ์ธ ํ”„๋กœ์„ธ์Šค์— ๋Œ€ํ•œ ๋˜ ๋‹ค๋ฅธ ํ›Œ๋ฅญํ•œ ์‹ฌ์ธต ๋ถ„์„: https://larjona.wordpress.com/translations-in-libre-software/

@Kebap๋‹˜ ๊ฐ์‚ฌ ํ•ด์ฃผ์‹  ๋…ผ๋ฌธ ์ž˜ ์ฝ์—ˆ์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” Weblate์™€ Transifex์— ๊ด€์‹ฌ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

๋‚˜๋Š” ์ด๊ฒƒ์ด ๊ฐ€๋Šฅํ•œ ๊ฐ€์žฅ ๋‚ฎ์€ ์ง„์ž… ์žฅ๋ฒฝ์„ ๊ฐ–๊ณ  ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๋‹ค์šด๋กœ๋“œํ•˜๊ณ  ์„ค์น˜ํ•ด์•ผ ํ•˜๋Š” ๋ฐ์Šคํฌํƒ‘ ๊ธฐ๋ฐ˜ ๋ฒˆ์—ญ์„ ๋ฐฐ์ œํ•˜๊ณ  ์ž‘์—…์„ ์‹œ์ž‘ํ•  ๊ธฐํšŒ๊ฐ€ ์žˆ๊ธฐ ์ „์— ์˜ฌ๋ฐ”๋ฅธ ํŒŒ์ผ์„ ์ฐพ์•„ ํ—ค๋งค๋Š” ๊ฒƒ์„ ์›ํ•ฉ๋‹ˆ๋‹ค.

Weblate๋Š” ํ›Œ๋ฅญํ•˜๊ณ  ์˜คํ”ˆ ์†Œ์Šค๋กœ ๋ณด์ด์ง€๋งŒ ํ˜„์žฌ ํ˜ธ์ŠคํŒ… ๋ฒ„์ „๋„ ๋‹ค์šด๋˜์–ด ์žˆ์œผ๋ฉฐ Tilix ํ”„๋กœ์ ํŠธ์™€ ๊ฐ™์€ ๋ชจ๋“  ํ˜ธ์ŠคํŒ… ๋ฒˆ์—ญ๋„ ๋งˆ์ฐฌ๊ฐ€์ง€์ž…๋‹ˆ๋‹ค. ์•ˆ์ข‹๋‹ค. ๋‚˜๋Š” ๋˜ํ•œ ์ด๋ฏธ ํ•œ๋„์—์„œ ์‹คํ–‰๋˜๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์šฐ๋ฆฌ ์„œ๋ฒ„์—์„œ ๋” ์ด์ƒ ๋ฌด์–ธ๊ฐ€๋ฅผ ํ˜ธ์ŠคํŒ…ํ•˜๋Š” ๊ฒƒ์ด ์กฐ์‹ฌ์Šค๋Ÿฝ์Šต๋‹ˆ๋‹ค.

Transifex ๋ฐ๋ชจ๋ฅผ ์‹œํ—˜ํ•ด ๋ณผ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋“ค์€ ์˜คํ”ˆ ์†Œ์Šค๋ฅผ ์ง€์›ํ•˜๋ฉฐ Weblate์™€ ๋‹ฌ๋ฆฌ ํ›จ์”ฌ ๋” ํฐ ์ƒ์ ์œผ๋กœ ๋ณด์ด๋ฉฐ ์ง€๊ธˆ๊นŒ์ง€๋Š” ๋‹ค์šด๋  ๊ฐ€๋Šฅ์„ฑ์ด ์ ์Šต๋‹ˆ๋‹ค.

์ฆ‰, Weblates Git ํ†ตํ•ฉ์ด ์‹ค์ œ๋กœ ์ž‘๋™ํ•œ๋‹ค๋ฉด Git์—์„œ ์ƒˆ ์†Œ์Šค ํ…์ŠคํŠธ๋ฅผ ์ž๋™์œผ๋กœ ์—…๋ฐ์ดํŠธํ•˜๊ณ  ๋‹ค์‹œ ์ปค๋ฐ‹ํ•ด์•ผ _ํ•ด์•ผ_ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ํ›จ์”ฌ ๋” ๋‚˜์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋ฐ˜๋ฉด Transifex๋Š” ๋ฒˆ์—ญํ•  ํŒŒ์ผ์„ ์ˆ˜๋™์œผ๋กœ ์—…๋กœ๋“œํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

Transifex๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ .t ํŒŒ์ผ์„ ์ง€์›ํ•˜์ง€๋งŒ ์—…๋กœ๋“œ ์‹œ ์งˆ์‹ํ•˜๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ts2po ํ•˜๊ณ  .po ํŒŒ์ผ์„ ์—…๋กœ๋“œํ•ด๋„ ์ž‘๋™ํ–ˆ์Šต๋‹ˆ๋‹ค.

์ผ๋ถ€ ๋ฏธ๋“ค์›จ์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ Transifex์™€ Github ๊ฐ„์— ์ž๋™ ์–‘๋ฐฉํ–ฅ ์—…๋ฐ์ดํŠธ๊ฐ€ ๊ฐ€๋Šฅํ•œ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. https://docs.transifex.com/integrations/github-txgh

Transifex์—์„œ ๊ทธ๋Œ€๋กœ ๋ฒˆ์—ญ๋œ .po ๋ฅผ ๋‹ค์šด๋กœ๋“œํ•  ์ˆ˜ ์žˆ์—ˆ์ง€๋งŒ po2ts Python ์ธ์ฝ”๋”ฉ ์˜ค๋ฅ˜๊ฐ€ ์žˆ๋Š” ํŒŒ์ผ์—์„œ ์งˆ์‹ํ–ˆ์Šต๋‹ˆ๋‹ค.

po2ts: WARNING: Error processing: input ./for_use_mudlet_rupo_1_ru.po, output ./for_use_mudlet_rupo_1_ru.ts, template None: 'ascii' codec can't encode characters in position 1994-1999: ordinal not in range(128)

๋‹ค๋ฅธ ๋ˆ„๊ตฐ๊ฐ€๊ฐ€ @Kebap @keneanung์„ ๋ฒˆ์—ญํ•˜๊ณ  ์‹ถ์–ดํ•œ๋‹ค๋ฉด Transifex ํ”„๋กœ์ ํŠธ๋ฅผ https://www.transifex.com/mudlet/mudlet/dashboard์— ๋‚จ๊ฒจ ๋‘๊ฒ ์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ์—๋Š” Weblate๋ฅผ ์‚ฌ์šฉํ•ด ๋ณด์„ธ์š”.

Weblate๋Š” ํ›Œ๋ฅญํ•ฉ๋‹ˆ๋‹ค. _ton_์˜ ํƒ€์‚ฌ ๋กœ๊ทธ์ธ ์˜ต์…˜์ด ์žˆ์œผ๋ฏ€๋กœ ๊ฐ€์ž…ํ•˜๋Š” ๋ฐ ๋งˆ์ฐฐ์ด ์—†์Šต๋‹ˆ๋‹ค.

@ vadi2๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ผ์Šต๋‹ˆ๋‹ค.

Transifex์—์„œ ๊ทธ๋Œ€๋กœ ๋ฒˆ์—ญ๋œ .po๋ฅผ ๋‹ค์šด๋กœ๋“œํ•  ์ˆ˜ ์žˆ์—ˆ์ง€๋งŒ po2ts๊ฐ€ Python ์ธ์ฝ”๋”ฉ ์˜ค๋ฅ˜๋กœ ํŒŒ์ผ์„ ์งˆ์‹ํ•ฉ๋‹ˆ๋‹ค.

๋‚˜๋Š” ๊ทธ ์ž์‹ ์˜ ๋ฒ„์ „ ์„ ๊ฐ€ ์ƒ๊ฐ po2ts ๋‹จ์ง€ ์ด์ „ ์‚ฌ์–‘์— ์ž‘๋™ .ts (์ž์‹ ์˜ ๋ง์— ๋‚ด ์ƒ๊ฐ) ํŒŒ์ผ ๋ฐ ํ•„์š”ํ•œ ์—…๋ฐ์ดํŠธ - ๋‚˜๋Š” ๊ทธ๊ฒƒ์ด์—์„œ ์˜จ๋‹ค ์žˆ์Šต๋‹ˆ๋‹ค ๋ฒˆ์—ญ ํˆดํ‚ท ์—์„œ Translate House Github ์†Œ์Šค ์ฝ”๋“œ ์™€ ์ตœ์‹  ๋ฒ„์ „์€ ์ž‘์„ฑ ๋‹น์‹œ 2.2.5(๋ฌด์—‡์„ ์‚ฌ์šฉํ•˜๋Š”์ง€ ๋ชจ๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค)์ž…๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ํ”„๋กœ์ ํŠธ์—์„œ ์›น ํŽ˜์ด์ง€๋ฅผ ์ฐพ์•˜์Šต๋‹ˆ๋‹ค(GitHub ๊ธฐ๋ฐ˜์ธ์ง€๋Š” ํ™•์‹คํ•˜์ง€ ์•Š์ง€๋งŒ ์ „๋ฐ˜์ ์ธ ํ”„๋กœ์„ธ์Šค๋Š” ์šฐ๋ฆฌ๊ฐ€ ํ•ด์•ผ ํ•  ์ผ์ฒ˜๋Ÿผ ๋ณด์˜€์Šต๋‹ˆ๋‹ค: mixxx ๊ตญ์ œํ™” ํŽ˜์ด์ง€ .

์‹ค์ œ๋กœ "์ธ์ฝ”๋”ฉ" ์˜ค๋ฅ˜๋Š” ์ธ์ฝ”๋”ฉ์ด ASCII์ด๊ณ  UTF-8์ด ์•„๋‹Œ .ts ํŒŒ์ผ์„ ์ƒ์„ฑํ•˜๋ ค๊ณ  ์‹œ๋„ํ•˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋“ค๋ฆฌ๋ฏ€๋กœ ์ผ๋ถ€ ๋ฌธ์ž(_translated_ ๋ฌธ์ž์—ด์—์„œ)๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋Š” ์ง€์ ์—์„œ ํ—›์†Œ๋ฆฌ๋ฅผ ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๊ฒƒ์€ ASCII๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค ...

๊ทธ ํŽ˜์ด์ง€๋Š” 4๋…„ ์ „์— ๋งˆ์ง€๋ง‰์œผ๋กœ ์—…๋ฐ์ดํŠธ๋˜์—ˆ์Šต๋‹ˆ๋‹ค! ๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ข…๋ฃŒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
๋‚ ์งœ์˜, ๋‚˜๋Š” ์ƒ๊ฐํ•œ๋‹ค. ๊ฝค ์ธ์ƒ์ ์ธ ๋ฒˆ์—ญ ๋ฌธ์„œ์ž…๋‹ˆ๋‹ค.
๊ทธ๋ ‡์ง€๋งŒ!

2017๋…„ 9์›” 19์ผ ํ™”์š”์ผ ์˜คํ›„ 6์‹œ 18๋ถ„ Stephen Lyons [email protected]์ด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ผ์Šต๋‹ˆ๋‹ค.

@ vadi2๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ผ์Šต๋‹ˆ๋‹ค.

Transifex์—์„œ ๊ทธ๋Œ€๋กœ ๋ฒˆ์—ญ๋œ .po๋ฅผ ๋‹ค์šด๋กœ๋“œํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.
ํ•˜์ง€๋งŒ po2ts๋Š” Python ์ธ์ฝ”๋”ฉ ์˜ค๋ฅ˜๋กœ ํŒŒ์ผ์„ ์งˆ์‹์‹œํ‚ต๋‹ˆ๋‹ค.

๋‚˜๋Š” ๊ทธ๋“ค์˜ po2ts ๋ฒ„์ „์ด ์ด์ „ ๋ฒ„์ „์—์„œ๋งŒ ์ž‘๋™ํ•œ๋‹ค๋Š” ๊ฒƒ์„ ์–ด๋”˜๊ฐ€์—์„œ ์ฝ์€ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.
.ts ํŒŒ์ผ์˜ ์‚ฌ์–‘ ๋ฐ ์—…๋ฐ์ดํŠธ๊ฐ€ ํ•„์š”ํ•จ(๊ทธ๋“ค์˜ ๋์—์„œ ๋‚˜๋Š” ์ถ”์ธกํ•œ๋‹ค)
๋ฒˆ์—ญ ํˆดํ‚ท์—์„œ ๊ฐ€์ ธ์˜จ ๊ฒƒ์ž…๋‹ˆ๋‹ค.
http://toolkit.translatehouse.org/ ๋ฒˆ์—ญ ํ•˜์šฐ์Šค Github ์†Œ์Šค
์ฝ”๋“œ https://github.com/translate/translate ๋ฐ ์ตœ์‹  ๋ฒ„์ „์€
2.2.5 (๋‚˜๋Š” ๊ทธ๋“ค์ด ๋ฌด์—‡์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š”์ง€ ๋ชจ๋ฅด๊ฒ ๋‹ค) ์ž‘์„ฑ ๋‹น์‹œ. ๋ฐœ๊ฒฌ
๋‹ค๋ฅธ ํ”„๋กœ์ ํŠธ์˜ ์›น ํŽ˜์ด์ง€(GitHub ๊ธฐ๋ฐ˜์ธ์ง€ ํ™•์‹คํ•˜์ง€ ์•Š์ง€๋งŒ
๊ทธ๋“ค์— ๋Œ€ํ•œ ์ „๋ฐ˜์ ์ธ ํ”„๋กœ์„ธ์Šค๋Š” ์šฐ๋ฆฌ๊ฐ€ ํ•ด์•ผ ํ•  ์ผ์ฒ˜๋Ÿผ ๋ณด์˜€์Šต๋‹ˆ๋‹ค: mixxx
๊ตญ์ œํ™” ํŽ˜์ด์ง€
https://mixxx.org/wiki/doku.php/internationalization .

โ€”
๋‹น์‹ ์ด ํ• ๋‹น๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ด๊ฒƒ์„ ๋ฐ›๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์ด ์ด๋ฉ”์ผ์— ์ง์ ‘ ๋‹ต์žฅํ•˜๊ณ  GitHub์—์„œ ํ™•์ธํ•˜์„ธ์š”.
https://github.com/Mudlet/Mudlet/issues/856#issuecomment-330592819 ๋˜๋Š” ์Œ์†Œ๊ฑฐ
์Šค๋ ˆ๋“œ
https://github.com/notifications/unsubscribe-auth/AAGxjEdeBPs-7fDkUwfoLjUt48eJJhl0ks5sj-lagaJpZM4M3_u1
.

Weblate๋Š” ์ข‹์€ ์œ„์น˜์— ์žˆ์ง€ ์•Š์€ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ํ˜ธ์ŠคํŒ…๋œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ๋Œ€ํ•œ ์‘๋‹ต์„ ์•„์ง ๋ฐ›์ง€ ๋ชปํ–ˆ๊ณ  ํ”„๋กœ์ ํŠธ๋Š” ์—…๋ฐ์ดํŠธ๋ฅผ ํ†ตํ•ด ๋งŽ์€ ๊ฒƒ์„ ์–ป์ง€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์‹œ Transifex๋กœ ๋Œ์•„๊ฐ‘๋‹ˆ๋‹ค.

Qt๋กœ Transifex๋ฅผ ์„ค์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ํŒ: https://forum.qt.io/topic/36750/qt5-ts-files-and-transifex-continuous-translation-localization

https://bugreports.qt.io/browse/QTBUG-1136 :

๋งˆ์ง€๋ง‰์œผ๋กœ, ์–ธ์–ดํ•™์ž๋Š” ๋ณธ์งˆ์ ์œผ๋กœ ์ƒ๋ช… ์œ ์ง€์— ๊ด€ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ์ด ๋ถ„์•ผ๋ฅผ ์ „๋ฌธ์œผ๋กœ ํ•˜๋Š” ISV์— ๊ธฐ๋ฐ˜์„ ์–‘๋„ํ–ˆ์Šต๋‹ˆ๋‹ค.

Qt Linguist๋Š” ๋ง‰๋‹ค๋ฅธ ๊ธฐ์ˆ ์ž…๋‹ˆ๋‹ค. ์•ž์œผ๋กœ ์–ด๋–ค ๊ธฐ๋Šฅ๋„ ์ œ๊ณต๋˜์ง€ ์•Š์„ ๊ฒƒ์ด๋ฏ€๋กœ ์—ฌ๊ธฐ์—์„œ ์›น ๊ธฐ๋ฐ˜ ํ”Œ๋žซํผ์„ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

#1334๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ Transifex ๋ฒˆ์—ญ์„ ์‹œ์ž‘ํ•˜๊ณ  ์‹คํ–‰ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

๋‚ด๊ฐ€ Kebap์˜ ์ƒํ˜ธ ์ฐธ์กฐ์—์„œ ์–ธ๊ธ‰ํ•œ ๊ฒƒ์„ ๋˜ํ’€์ดํ•˜๊ธฐ ์œ„ํ•ด, crowdin ์€ ์šฐ๋ฆฌ์™€ ๊ฐ™์€ ์˜คํ”ˆ ์†Œ์Šค ํ”„๋กœ์ ํŠธ์— ๋Œ€ํ•œ ์œ ํšจํ•œ ์„ ํƒ์ฒ˜๋Ÿผ ๋ณด์˜€์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ทธ๋“ค์€ Qt .ts ํŒŒ์ผ์„ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๊ณ  Github ํ†ตํ•ฉ ๋„ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. - pseudolocalizaton ๊ธฐ๋Šฅ๋„ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ํ…์ŠคํŠธ๋ฅผ ์ œ๋Œ€๋กœ ๊ตฌ์„ฑํ•˜์ง€ ์•Š์•˜๊ธฐ ๋•Œ๋ฌธ์— GUI์—์„œ ๋ฌธ์ œ๋ฅผ ๋ฐฉ์ง€ํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋˜๋ฉฐ( ๋‚ด ์ƒ๊ฐ์— ) en-US ...

crowdin์€ ๋ฉ‹์ง€๊ฒŒ ๋ณด์ž…๋‹ˆ๋‹ค. Transifex์™€ ์–ด๋–ป๊ฒŒ ๋น„๊ต๋˜๋Š”์ง€ ๋ด…์‹œ๋‹ค. ์—ฌ๊ธฐ์— ํ…Œ์ŠคํŠธ ํ”„๋กœ์ ํŠธ๊ฐ€

@SlySven ์€ html์„ ๋ฒˆ์—ญ๊ฐ€์—๊ฒŒ ๋” ์ข‹๊ฒŒ ๋งŒ๋“ค๊ธฐ ์œ„ํ•œ ์ฝ”๋“œ ๋งน๊ธ€๋ง์€ ์‹œ๊ธฐ์ƒ์กฐ์˜€์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด transifex๋Š” html ๋งˆํฌ์—…์„ ์ด๋ฏธ ํ›Œ๋ฅญํ•˜๊ฒŒ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

peek 2018-05-18 13-36

๋‚˜๋Š” ๊ทธ๊ฒƒ์„ ์•Œ์•„ ๋ƒˆ์Šต๋‹ˆ๋‹ค. crowdin์—๋„ ๊ทธ ์˜ต์…˜์ด ์žˆ์Šต๋‹ˆ๋‹ค. ํŽธ์ง‘๊ธฐ ํƒœ๊ทธ ์„ค์ • ์—์„œ "์ˆจ๊ธฐ๊ธฐ"๋ฅผ ์„ ํƒํ•˜๊ธฐ๋งŒ ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

selection_143

์ด๊ฒƒ์€ ์šฐ๋ฆฌ๊ฐ€ @SlySven ์ด ํ•ด์™”

๋‚˜๋Š” ๋ฒˆ์—ญ์„ ์œ„ํ•ด @crowdin ์‚ฌ์šฉ @SlySven์˜ ์ œ์•ˆ์— ํ–‰๋ณต ํ•ด์š”. @Kebap , @keneanung , @SlySven ๋‹น์‹ ์˜ ์ƒ๊ฐ์€?

์ผ๋‹จ ์šฐ๋ฆฌ๊ฐ€ ํฌ๋ผ์šฐ๋“œ์ธ์— ๋Œ€ํ•œ ํ”„๋กœ์ ํŠธ๋ฅผ ๊ณต์‹ํ™”ํ•˜๊ธฐ๋กœ ํ•ฉ์˜ํ•˜๊ณ  ์˜คํ”ˆ ์†Œ์Šค ๋ผ์ด์„ ์Šค๋ฅผ ์‹ ์ฒญํ•˜๋ฉด ๋ฒˆ์—ญ๊ฐ€๋ฅผ ์œ„ํ•ด ์†Œ๋ฌธ์„ ํผ๋œจ๋ฆฌ๊ธฐ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.

์•ผ,

์ €๋Š” Crowdin ํŒ€์˜ ์ผ์›์ด๋ฉฐ ํ•„์š”ํ•œ ๊ฒฝ์šฐ ์ถ”๊ฐ€ ์„ค์ •์„ ๊ธฐ๊บผ์ด ๋„์™€๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค! ์งˆ๋ฌธ์ด ์žˆ์œผ๋ฉด ์–ธ์ œ๋“ ์ง€ ์ €๋ฅผ ์–ธ๊ธ‰ํ•˜์‹ญ์‹œ์˜ค.

ํฌ๋ผ์šฐ๋“œ ์ธ๋„ ๊ดœ์ฐฎ์Šต๋‹ˆ๋‹ค. ๊ทธ UI๋Š” ์ฒ˜์Œ์—๋Š” ํ˜ผ๋ž€์Šค๋Ÿฌ์› ์ง€๋งŒ, ๋‚˜๋Š” ์šฐ๋ฆฌ(์ €)๊ฐ€ ๊ทธ๊ฒƒ์— ์ต์ˆ™ํ•ด์งˆ ๊ฒƒ์ด๋ผ๊ณ  ํ™•์‹ ํ•ฉ๋‹ˆ๋‹ค.

๋‚˜๋Š” ๊ทธ๊ฒƒ์ด ํ˜„์žฌ Qt .ts ํ˜•์‹์„ ์ž˜/์ง์ ‘์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•˜์ง€ ๋ชปํ•œ๋‹ค๋Š” ๊ฒƒ์„ ์ดํ•ดํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ •์‹ ์ ์œผ๋กœ ๊ณ ๋ ค๋ฅผ ๊ป์„ ๋•Œ Transifex๋ฅผ ์ž์„ธํžˆ ์‚ดํŽด๋ณด์ง€ ์•Š์•˜๋‹ค๊ณ  ๊ณ ๋ฐฑํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ ๋ฏฟ์Œ์œผ๋กœ?

์ตœ๊ทผ git ์ปค๋ฐ‹์—์„œ ๋ณผ ์ˆ˜ ์žˆ๋Š” Crowdin์— ๋Œ€ํ•œ ํ•œ ๊ฐ€์ง€๋Š” ํŠน์ • ์–ธ์–ด์šฉ์œผ๋กœ ๋กœ์ปฌ๋กœ ๊ตฌ์„ฑ๋œ ์—ฌ๋Ÿฌ .ts ํŒŒ์ผ์„ ์—…๋กœ๋“œํ•˜๊ณ  ์žˆ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ง€๊ธˆ์€ mudlet_en.ts ํŒŒ์ผ ํ•˜๋‚˜๋งŒ ์ „์†กํ•˜์—ฌ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ–ˆ์ง€๋งŒ ์—ฌ์ „ํžˆ ์ €์—๊ฒŒ๋Š” ๋งž์ง€ ์•Š๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. mudlet.pro ํŒŒ์ผ์—์„œ TRANSLATIONS = ํ–‰์„ ์ œ๊ฑฐํ•˜๊ฑฐ๋‚˜ ์ฃผ์„ ์ฒ˜๋ฆฌํ•˜๊ณ  ์‰˜ ์Šคํฌ๋ฆฝํŠธ๊ฐ€ (์†Œ์Šค ๊ธฐ๋ฐ˜์—์„œ) ์‹คํ–‰๋˜๋„๋ก ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

lupdate -recursive ./src/ -ts ./translations/mudlet.ts

์–ธ์–ด๊ฐ€ ์•„๋‹Œ ๋‹จ์ผ ํŒŒ์ผ์„ ์ƒ์„ฑํ•˜์—ฌ Crowdin ๋ฒˆ์—ญ ํ”„๋กœ์„ธ์Šค์— ์ „๋‹ฌํ•˜๊ณ  ์›ํ•˜๋Š” mudlet_xx_YY.ts ํŒŒ์ผ์„ ์ƒ์„ฑํ•˜๋„๋ก ํ•ฉ๋‹ˆ๋‹ค(Crowdin์—์„œ _xx_YY ๋ฅผ ์ง€์ •ํ•˜๊ธฐ ์œ„ํ•ด ์ด๋ฏธ ํ•˜๋‚˜์˜ ์„ค์ •์„ ๋ณ€๊ฒฝํ–ˆ์Šต๋‹ˆ๋‹ค _xx ์–ธ์–ด๋กœ๋งŒ ์„ค์ •๋˜์–ด ์žˆ๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์˜€์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด lrelease ์ค€๋น„๊ฐ€ ๋œ ๋™์ผํ•œ ๋””๋ ‰ํ† ๋ฆฌ์— ํŒŒ์ผ ์„ธํŠธ ๊ฐ€ ๋‹ค์‹œ ๋ณต์‚ฌ๋ฉ๋‹ˆ๋‹ค.

BTW ์ ‘๋ฏธ์‚ฌ๊ฐ€ ์—†๋Š” ์ผ๋ฐ˜ ํŒŒ์ผ์„ ๋‚จ๊ฒจ๋‘๋Š” ๊ฒƒ์€ ์†Œ์ˆ˜ ์–ธ์–ด ์ดํ•ด ๋‹น์‚ฌ์ž๊ฐ€ ์ œ๊ณต๋œ Qt Linguist๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ณดํ˜ธ๋˜์ง€ ์•Š์€ ๋‹ค๋ฅธ ์–ธ์–ด๋ฅผ ์›ํ•  ๊ฒฝ์šฐ ๋น„๊ณต๊ฐœ๋กœ ์ž‘์—…ํ•˜๊ธฐ ์œ„ํ•ด ํŒŒ์ผ์„ ๋ณต์‚ฌํ•˜๊ณ  ์ด๋ฆ„์„ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค. {์˜ˆ๋ฅผ ๋“ค์–ด 9์›” 19์ผ์˜ ํ•ด์ ์ผ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค!!!}

Qt Designer ํ”Œ๋Ÿฌ๊ทธ์ธ์ด ๋งˆ์ง€๋ง‰ ๋ช‡ ๊ฐœ์˜ Qt ๋ฒ„์ „์—์„œ HTML์„ ๋งน๊ธ€๋งํ•˜๋ ค๋Š” ์—ด๋ง์ด ์กฐ๊ธˆ ๋œํ•œ ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์ด๊ธฐ ๋•Œ๋ฌธ์— ๋‚ด๊ฐ€ ์ทจํ•œ HTML ๋‚œ๋…ํ™” ๋ฐฉ์ง€ ๋‹จ๊ณ„๊ฐ€ ๋œ ํ•„์š”ํ•ด์ง„ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ๋งˆ์ง€๋ง‰์œผ๋กœ ํŽธ์ง‘ํ•œ ์‚ฌ๋žŒ์ด ์‹œ์Šคํ…œ์— ์žˆ๋Š” ํŠน์ • ๊ธ€๊ผด์„ ์ผ๋ฐ˜ ๊ธ€๊ผด๋กœ ๋‚จ๊ฒจ๋‘์ง€ ์•Š๊ณ  ๊ฐ•์ œ๋กœ ์‚ฌ์šฉํ•˜์—ฌ ์ƒํ™ฉ์„ ์–ด์ง€๋Ÿฝํžˆ๊ฑฐ๋‚˜ ๋ณ€๊ฒฝํ•˜์ง€ ์•Š์„ ๊ฒƒ์ด๋ผ๊ณ  ์•„์ง ์™„์ „ํžˆ ํ™•์‹ ํ•˜์ง€ ๋ชปํ•ฉ๋‹ˆ๋‹ค. ๋ชจ๋“  ํ”Œ๋žซํผ์—์„œ ์ž‘๋™ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ ์ž‘์—…์—์„œ ์ด๋Ÿฌํ•œ HTML์„ ๊ธฐ๋กํ•˜๋Š” ๋ฐฉ๋ฒ•์— ์˜ํ–ฅ์„ ๋ฏธ์น˜๊ธฐ ๋•Œ๋ฌธ์— ์—ฌ๊ธฐ์—์„œ ๋‹ค์‹œ ์‚ดํŽด๋ณด๊ณ  ๋ณด๊ณ ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

๋‚˜๋Š” Transifex๊ฐ€ ํ˜„์žฌ Qt .ts ํ˜•์‹์„ ์ž˜/์ง์ ‘์ ์œผ๋กœ ์ž˜ ์ฒ˜๋ฆฌํ•˜์ง€ ๋ชปํ•œ๋‹ค๋Š” ๊ฒƒ์„ ์ดํ•ดํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ •์‹ ์ ์œผ๋กœ ๊ณ ๋ ค๋ฅผ ๊ป์„ ๋•Œ Transifex๋ฅผ ์ž์„ธํžˆ ์‚ดํŽด๋ณด์ง€ ์•Š์•˜๋‹ค๊ณ  ๊ณ ๋ฐฑํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์ €๋„ ๊ทธ๋žฌ๋Š”๋ฐ ๋ณ€๊ฒฝ๋œ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค:

๋‚˜๋Š” Qt Designer ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ์‚ฌ์šฉํ•  ๊ณ„ํš์ด ์—†์œผ๋ฏ€๋กœ ์–ด๋–ค ๋งน๊ธ€๋ง์„ ํ•˜๋“  ๊ด€๋ จ์ด ์—†์Šต๋‹ˆ๋‹ค. crowdin์€ ์ž์ฒด์ ์œผ๋กœ ๋ฒˆ์—ญ์„ ์ถฉ๋ถ„ํžˆ ์ž˜ ์ฒ˜๋ฆฌํ•˜๊ณ  "hide" ์Šคํƒ€์ผ์˜ HTML ๋ Œ๋”๋ง์ด ํ—ˆ์šฉ๋ฉ๋‹ˆ๋‹ค.

์˜ค, ์—ฌ์ „ํžˆ ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค - ํ…Œ์ด๋ธ”๊ณผ DTD ์‚ฝ์ž… - ๊ทธ๋ž˜์„œ ์‚ฌ๋žŒ์ด ์ฝ๊ณ  ๊ตฌ๋ฌธ ๋ถ„์„ํ•˜๊ธฐ๊ฐ€ ๋” ์‰ฝ์Šต๋‹ˆ๋‹ค.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
<html><head><meta name="qrichtext" content="1" /><style type="text/css">
p, li { white-space: pre-wrap; }
</style></head><body style=" font-family:'FreeSans'; font-size:9pt; font-weight:400; font-style:normal;">
<p align="center" style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:large; font-weight:600;">Welcome to Mudlet!</span></p>
<p align="center" style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Click on one of the MUDs on the list to play.</p>
<p align="center" style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">To play a game not in the list, click on <img src=":/icons/list-add_small.png" /><span style=" color:#555753;">New</span>, fill in the <span style=" font-style:italic;">Profile Name</span>, <span style=" font-style:italic;">Server address</span>, and <span style=" font-style:italic;">Port</span> fields in the <span style=" font-style:italic;">Required</span> area.</p>
<p align="center" style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">After that, click <img src=":/icons/dialog-ok-apply_small.png" /><span style=" color:#555753;">Connect</span> to play.</p>
<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Have fun!</p>
<p align="right" style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The Mudlet Team <img src=":/icons/mudlet_main_16px.png" /></p></body></html>

๋˜๋Š” ์ด๊ฒƒ์€ ์šฐ๋ฆฌ๊ฐ€ ๊ด€๋ จ๋œ ํ•œ ๋™์ผํ•œ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

<html><head/><body><center><big><b>Welcome to Mudlet!</b></big></center></p>
<p><center>Click on one of the MUDs on the list to play.<center></p>
<p><center>To play a game not in the list, click on <img src=":/icons/list-add_small.png"/> <span style="color:#555753;">New</span>, fill in the <i>Profile Name</i>, <i>Server address</i>, and <i>Port</i> fields in the <i>Required</i> area.<center></p>
<p><center>After that, click <img src=":/icons/dialog-ok-apply_small.png"/> <span style=" color:#555753;">Connect</span> to play.</center></p>
<p>Have fun!</p>
<p align="right">The Mudlet Team <img src=":/icons/mudlet_main_16px.png"/></p></body></html>

๊ธฐ์ˆ ์ ์œผ๋กœ ์ด๊ฒƒ์€ HTML์˜ ํ•˜์œ„ ์ง‘ํ•ฉ์ผ ๋ฟ์ธ ๋ชจ๋“  Qt ์„œ์‹ ์žˆ๋Š” ํ…์ŠคํŠธ์ž…๋‹ˆ๋‹ค(์™œ ์—„๊ฒฉํ•œ HTML 4.0 DTD๋ฅผ ํฌํ•จํ•ด์•ผ ํ•ฉ๋‹ˆ๊นŒ?)

&lt; ๋ฐ &gt; ๋Œ€์‹  < ๋ฐ > ์—ฌ๊ธฐ์— ํ‘œ์‹œํ•˜๋”๋ผ๋„ ๋ฒˆ์—ญ๊ฐ€๊ฐ€ ๋ณด๊ฒŒ ๋  ์›์‹œ ํŒŒ์ผ์€ ๋ช…ํ™•ํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. HTML/Qt ์„œ์‹ ์žˆ๋Š” ํ…์ŠคํŠธ ๋””์Šคํ”Œ๋ ˆ์ด ์œ„์ ฏ์ด ์—†์„ ๋•Œ ์ž‘์—…ํ•˜๊ธฐ ๋” ์‰ฌ์›€...

๋‚˜๋Š” CJK ์–ธ์–ด๊ฐ€ ์‹ค์ œ๋กœ ๊ตต๊ฒŒ ๋˜๋Š” ๊ธฐ์šธ์ž„๊ผด ๊ธ€๊ผด ํšจ๊ณผ๋ฅผ ์‚ฌ์šฉํ•ด์„œ๋Š” ์•ˆ๋œ๋‹ค๋Š” ๊ธ€์„ ์–ด๋”˜๊ฐ€์—์„œ ์ฝ์€ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๋ฒˆ์—ญ ๊ณผ์ •...

์‰˜ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ์€ ์ด์‹ ๊ฐ€๋Šฅํ•˜์ง€ ์•Š์œผ๋ฏ€๋กœ(Windows์šฉ) ๊ทธ๋ ‡๊ฒŒ ํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. ํ˜„์žฌ mudlet_en.ts ํŒŒ์ผ์ด ์ž˜ ๋Œ์•„๊ฐ€๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๊นŒ?

๊ธˆ์š”์ผ์ด๋ฏ€๋กœ ๋‹ค์Œ ๋ฉฐ์น  ์•ˆ์— ์ด์— ๋Œ€ํ•œ ๊ฒฐ๋ก ์— ๋„๋‹ฌํ•˜์—ฌ ๋‹ค์Œ ๋‹จ๊ณ„๋ฅผ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ฉ์‹œ๋‹ค. ์ œ ์ƒ๊ฐ์—๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

1) ๋ฒˆ์—ญ๊ฐ€๊ฐ€ ํ˜ผ๋ž€์Šค๋Ÿฌ์šด ๋ฌธ์ž์—ด์„ ๋ณด๊ณ ํ•˜๋Š” ํ”„๋กœ์„ธ์Šค - ๋ฒˆ์—ญ๊ฐ€๊ฐ€ ์ด๋ฅผ ์ดํ•ดํ•  ์ˆ˜ ์—†์œผ๋ฉด ์‚ฌ์šฉ์ž๋„ ์ดํ•ดํ•˜์ง€ ๋ชปํ•  ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ์Šต๋‹ˆ๋‹ค.
2) ์‹ค์ œ ๋ฒˆ์—ญ ํ”„๋กœ์„ธ์Šค์™€ ์šฐ๋ฆฌ ์›Œํฌํ”Œ๋กœ์—์„œ ์–ด๋–ป๊ฒŒ ์ž‘๋™ํ• ๊นŒ์š”?

๋จผ์ € ํ•„์š”ํ•œ ํ”„๋กœ์„ธ์Šค์˜ ์„ธ๋ถ€ ์‚ฌํ•ญ์— ๋Œ€ํ•ด ๋” ๋งŽ์ด ์ƒ๊ฐํ•œ ๋‹ค์Œ ๊ฐ€์žฅ ์ ํ•ฉํ•œ ๋„๊ตฌ๋ฅผ ๊ฒฐ์ •ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

๋‚ด๊ฐ€ ์ง€๊ธˆ ๋ณผ ์ˆ˜ ์žˆ๋Š” ํ•œ, ์šฐ๋ฆฌ๋Š” ๋ช‡ ๊ฐ€์ง€ ๋‹ค๋ฅธ ์ฃผ์š” ํ…์ŠคํŠธ ์†Œ์Šค๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

  • Mudlet ํด๋ผ์ด์–ธํŠธ ์ž์ฒด
  • ๋จธ๋“ค๋ › ์›น์‚ฌ์ดํŠธ
  • ๋จธ๋“ค๋ › ์œ„ํ‚ค
  • "๊ธฐํƒ€" ์ž๋ฐœ์„ฑ ํ…์ŠคํŠธ๋Š” ์ˆ˜๋™์œผ๋กœ ํฌํ•จํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋ฉด ๊ฐ๊ฐ์— ๋Œ€ํ•œ ํ”„๋กœ์„ธ์Šค๋Š” ๊ฑฐ์˜ ๋™์ผํ•˜์ง€๋งŒ ๋ณ„๋„๋กœ ๊ฒ€ํ† ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  • ๋ฒˆ์—ญ์ด ํ•„์š”ํ•œ ๊ด€๋ จ ํ˜„์žฌ ํ…์ŠคํŠธ์—์„œ ์˜ค๋ž˜๋œ ํ…์ŠคํŠธ๋ฅผ ๊ตฌ๋ณ„ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ฐพ์œผ์‹ญ์‹œ์˜ค.
  • ์ถœ์ฒ˜์—์„œ ํ…์ŠคํŠธ๋ฅผ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค(์œ„ ์ฐธ์กฐ). ์–ด๋–ค ๋„๊ตฌ๋กœ๋„ ์ž๋™ํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ? ๋ˆ„๊ฐ€ ์ฑ…์ž„์ ธ์•ผ ํ•ฉ๋‹ˆ๊นŒ?
  • ๋ฒˆ์—ญ ๋„๊ตฌ์— ํ…์ŠคํŠธ๋ฅผ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.
  • ๋„๊ตฌ ๋‚ด๋ถ€ ๋ฒˆ์—ญ(์˜ˆ์ƒ๋œ ์ผ์ด์ง€๋งŒ ์ข‹์€ ์ธํ„ฐํŽ˜์ด์Šค์™€ ์›Œํฌํ”Œ๋กœ๋„ ํ•„์š”ํ•จ)
  • ๋ฒˆ์—ญ๊ฐ€๋Š” ํ˜ผ๋ž€์Šค๋Ÿฌ์šด ๋ฌธ์ž์—ด์„ ์กฐ์ • ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ์ •๋ณด์™€ ํ•จ๊ป˜ Mudlet ํŒ€์— ๋‹ค์‹œ ๋ณด๊ณ ํ•ฉ๋‹ˆ๋‹ค.
  • Mudlet ํŒ€์€ ์†Œ์Šค์˜ ํ…์ŠคํŠธ๋ฅผ ์—…๋ฐ์ดํŠธํ•ฉ๋‹ˆ๋‹ค. ๋ณด๊ณ  ๋•Œ๋ฌธ์ด๋“  ์ž์—ฐ์  ์ง„ํ™” ๋•Œ๋ฌธ์ด๋“ .
  • ์†Œ์Šค์—์„œ ์—…๋ฐ์ดํŠธ๋œ ํ…์ŠคํŠธ๋Š” ๋ฒˆ์—ญ ๋„๊ตฌ์—์„œ ์—…๋ฐ์ดํŠธ๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ๋‚ด๋ณด๋‚ด๊ธฐ ๋ฐ ๊ฐ€์ ธ์˜ค๊ธฐ ๋ฐ diff.
  • ๋ฒˆ์—ญ๋œ ๊ธ€์ด ์™„์„ฑ๋ฉ๋‹ˆ๋‹ค. ๋ฒˆ์—ญ ๋„๊ตฌ์—์„œ ๋‚ด๋ณด๋ƒ…๋‹ˆ๋‹ค. ๋˜ ์ž๋™ํ™”?
  • ๋ฒˆ์—ญ๋œ ํ…์ŠคํŠธ๋ฅผ ์†Œ์Šค๋กœ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.
  • ์†Œ์Šค์˜ ๋ฒˆ์—ญ ํ‘œ์‹œ. ์—ฌ๊ธฐ์—์„œ๋Š” ๊ฐ ์†Œ์Šค์— ์ผ์ข…์˜ ์–ธ์–ด ํ† ๊ธ€ ์Šค์œ„์น˜๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

Wordpress ๋ฐ Mediawiki

์œ„์˜ ๋ชจ๋“  ๋‹จ๊ณ„์—์„œ ๊ฐ€์žฅ ์ž๋™ํ™”๋œ ํ”„๋กœ์„ธ์Šค๋ฅผ ์›ํ•˜๊ณ  ๊ฐ€์žฅ ์ž˜ ์ง€์›ํ•  ์ˆ˜ ์žˆ๋Š” ๋„๊ตฌ๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

์†Œ์Šค ์ฝ”๋“œ/๋Œ€ํ™”(์–‘์‹)๊ฐ€ ์ง„ํ–‰๋˜๋Š” ํ•œ:

  • ๋ฒˆ์—ญ์ด ํ•„์š”ํ•œ ๊ด€๋ จ ํ˜„์žฌ ํ…์ŠคํŠธ์—์„œ ์˜ค๋ž˜๋œ ํ…์ŠคํŠธ๋ฅผ ๊ตฌ๋ณ„ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ฐพ์œผ์‹ญ์‹œ์˜ค.
  • ์ถœ์ฒ˜์—์„œ ํ…์ŠคํŠธ๋ฅผ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค(์œ„ ์ฐธ์กฐ). ์–ด๋–ค ๋„๊ตฌ๋กœ๋„ ์ž๋™ํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ? ๋ˆ„๊ฐ€ ์ฑ…์ž„์ ธ์•ผ ํ•ฉ๋‹ˆ๊นŒ?

    • ๋‘˜ ๋‹ค lupdate ๋ช…๋ น์œผ๋กœ ์ˆ˜ํ–‰๋ฉ๋‹ˆ๋‹ค. ์ด ๋ช…๋ น์€ ์†Œ์Šค ํ…์ŠคํŠธ๋ฅผ ์ถ”์ถœํ•˜๊ณ , ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ์ถ”์ธกํ•˜๊ณ , ์–ธ์–ด ์ค‘๋ฆฝ์  mudlet.ts ํŒŒ์ผ( ํ˜„์žฌ mudlet_en.ts ๋Š” ์ผ๋ถ€ ๋‹น์‚ฌ์ž์—๊ฒŒ ํŠนํžˆ ์˜์–ด ๋ฒˆ์—ญ์„ ๋ณด์œ ํ•˜๊ณ  ์žˆ์Œ์„ ์•Œ๋ฆฝ๋‹ˆ๋‹ค. ๋ฐ˜๋ฉด - ์†Œ์Šค ์ฝ”๋“œ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ• ==> Crowdin ๋‚ ์งœ ์ „์†ก ๋งค์ฒด๋Š” ์˜์–ด(๋ฏธ๊ตญ์‹ ) ๊ฒฝ์šฐ์ž…๋‹ˆ๋‹ค. --no-obsolete ์˜ต์…˜์œผ๋กœ ํ˜ธ์ถœ ํ•˜์ง€ ์•Š์œผ๋ฉด ์กด์žฌํ•˜์ง€๋งŒ ์ง€๊ธˆ์€ ์‚ฌ๋ผ์ง„ ๋ฌธ์ž์—ด์€ ์ œ๊ฑฐ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค - ์ด๋Š” ์ ์–ด๋„ ๊ฐœ๋ฐœ ๋‹จ๊ณ„์—์„œ ์šฐ๋ฆฌ๊ฐ€ ์›ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. en-US ๋กœ์ผ€์ผ์€ "deleting %n room(s)"๊ณผ ๊ฐ™์€ ์†Œ์Šค ๋ฌธ์ž์—ด์ด ์žˆ๋Š” ๋ณต์ˆ˜ํ˜• ๋ฌธ์ž์—ด๋งŒ ํฌํ•จํ•˜๋Š” ๋งค์šฐ ์งง์€ ๋กœ์ผ€์ผ์ด๋ฏ€๋กœ "1 room ์‚ญ์ œ" ๋˜๋Š” "๋ฐฉ 2๊ฐœ ์‚ญ์ œ"๊ฐ€ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

  • ๋ฒˆ์—ญ ๋„๊ตฌ์— ํ…์ŠคํŠธ๋ฅผ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.

    • ๊ฐœ๋ฐœ ๋ถ„๊ธฐ๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๋Š” ๊ณผ์ •์€ ์œ„์˜ ์ผ์ด ๋ฐœ์ƒํ•˜๊ณ  ์—…๋ฐ์ดํŠธ๋œ .ts ๊ฐ€ Linux CI ๋นŒ๋“œ์—์„œ ์—…๋กœ๋“œ๋˜๋„๋ก ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  • ๋„๊ตฌ ๋‚ด๋ถ€ ๋ฒˆ์—ญ(์˜ˆ์ƒ๋œ ์ผ์ด์ง€๋งŒ ์ข‹์€ ์ธํ„ฐํŽ˜์ด์Šค์™€ ์›Œํฌํ”Œ๋กœ๋„ ํ•„์š”ํ•จ)
  • ๋ฒˆ์—ญ๊ฐ€๋Š” ํ˜ผ๋ž€์Šค๋Ÿฌ์šด ๋ฌธ์ž์—ด์„ ์กฐ์ • ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ์ •๋ณด์™€ ํ•จ๊ป˜ Mudlet ํŒ€์— ๋‹ค์‹œ ๋ณด๊ณ ํ•ฉ๋‹ˆ๋‹ค.

    • ํฌ๋ผ์šฐ๋“œ ์ธ์„ ์‚ฌ์šฉํ•˜๋ฉด ์ตœ์†Œํ•œ ๊ด€๋ฆฌ์ž ์—๊ฒŒ ํ‘œ์‹œ๋˜๋Š” ๋ชจ๋“  ์†Œ์Šค ๋ฌธ์ž์—ด์— ๋Œ€ํ•ด ์˜๊ฒฌ์„ ์ œ์‹œํ•˜๊ฑฐ๋‚˜ ๋ฌธ์ œ ๋ฅผ ์ œ๊ธฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(๊ทธ๋Ÿฌ๋‚˜ ๋” ๋งŽ์€ ๋‹น์‚ฌ์ž์—๊ฒŒ ๊ณต๊ฐœ๋  ์ˆ˜ ์žˆ์Œ).

  • Mudlet ํŒ€์€ ์†Œ์Šค์˜ ํ…์ŠคํŠธ๋ฅผ ์—…๋ฐ์ดํŠธํ•ฉ๋‹ˆ๋‹ค. ๋ณด๊ณ  ๋•Œ๋ฌธ์ด๋“  ์ž์—ฐ์  ์ง„ํ™” ๋•Œ๋ฌธ์ด๋“ .

    • ์†Œ์Šค ํ…์ŠคํŠธ๊ฐ€ ์˜ˆ์ƒ๋˜๋Š” en_US ํ˜•์‹์—์„œ ํ˜ผ๋™๋˜๊ฑฐ๋‚˜ ์ฒ ์ž๊ฐ€ ํ‹€๋ฆฐ ๊ณณ ํฌํ•จ - ์˜ˆ๋ฅผ ๋“ค์–ด ๋ผ์ด์„ ์Šค(en-GB ๋ช…์‚ฌ , cf license as en-GB verb )๋ฅผ ์‚ฌ์šฉํ–ˆ์„ ์ˆ˜ ์žˆ์ง€๋งŒ ๋‘ ํ˜•์‹ ๋ชจ๋‘ ํ•ญ์ƒ en-US ๋ผ์ด์„ ์Šค์ž…๋‹ˆ๋‹ค.

  • ์†Œ์Šค์—์„œ ์—…๋ฐ์ดํŠธ๋œ ํ…์ŠคํŠธ๋Š” ๋ฒˆ์—ญ ๋„๊ตฌ์—์„œ ์—…๋ฐ์ดํŠธ๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ๋‚ด๋ณด๋‚ด๊ธฐ ๋ฐ ๊ฐ€์ ธ์˜ค๊ธฐ ๋ฐ diff.

    • lupdate ๋‹ค์‹œ ์‹คํ–‰ - ๊ทธ๋Ÿฌ๋‚˜ ์ด๊ฒƒ์€ '๊ฐœ๋ฐœ' ๋ถ„๊ธฐ ์—…๋ฐ์ดํŠธ์— ๋Œ€ํ•œ CI ์Šคํฌ๋ฆฝํŒ…์„ ํ†ตํ•ด ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ๋ฐœ์ƒํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  • ๋ฒˆ์—ญ๋œ ๊ธ€์ด ์™„์„ฑ๋ฉ๋‹ˆ๋‹ค. ๋ฒˆ์—ญ ๋„๊ตฌ์—์„œ ๋‚ด๋ณด๋ƒ…๋‹ˆ๋‹ค. ๋˜ ์ž๋™ํ™”?

    • ์šฐ๋ฆฌ ์ค‘ ํ•œ ๋ช…์ด Crowdin์—์„œ ์ˆ˜๋™์œผ๋กœ mudlet_xx_YY.ts ํŒŒ์ผ์˜ ์ „์ฒด ์„ธํŠธ๋กœ "๋ฒˆ์—ญ์„ ๋‹ค์šด๋กœ๋“œ"ํ•˜๊ณ  /translations ๋””๋ ‰ํ† ๋ฆฌ์— ์ปค๋ฐ‹ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ํŒŒ์ผ์€ lupdate ์˜ํ•ด ์—…๋ฐ์ดํŠธ๋˜์ง€ ์•Š๋Š”๋‹ค๋Š” ๊ฒƒ์„ ๊ธฐ์–ตํ•˜์‹ญ์‹œ์˜ค ๋ณต์ˆ˜ํ˜• ์ „์šฉ mudlet_en_US.ts lupdate ์ œ์™ธํ•˜๊ณ  - ๋Œ€์‹  mudlet.ts ํŒŒ์ผ์—์„œ Crowdin์—์„œ ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค.

  • ๋ฒˆ์—ญ๋œ ํ…์ŠคํŠธ๋ฅผ ์†Œ์Šค๋กœ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.

    • ํ•„์š”ํ•œ ๊ฒƒ์€ ์•„๋‹ˆ์ง€๋งŒ .ts ํŒŒ์ผ์—์„œ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์ด ๋ฒˆ์—ญ ํ…์ŠคํŠธ๋ฅผ ์ฝ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋Œ€์‹  ์ฝ”๋“œ๋ฅผ ์ˆ˜์ •ํ•˜๊ณ  ๊ณต๊ฐœํ•˜๋ฉด mudlet ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์€ ์„ ํƒํ•œ mudlet_xx_YY.qm ๋ฐ”์ด๋„ˆ๋ฆฌ ํŒŒ์ผ(์ ์ ˆํ•œ Qt ํŒŒ์ผ๊ณผ ํ•จ๊ป˜ - ์šฐ๋ฆฌ๊ฐ€ ์ด๋ฏธ ์•Œ๊ณ  ์žˆ์Œ)์„ ๋กœ๋“œํ•˜์—ฌ ๋Ÿฐํƒ€์ž„์— ๋ฒˆ์—ญ์„ ์ฝ์Šต๋‹ˆ๋‹ค. ์„ค์น˜ ํ”„๋กœ๊ทธ๋žจ ๋ฒ„์ „๊ณผ ํ•จ๊ป˜ ๋ฐฐํฌํ•ฉ๋‹ˆ๋‹ค!) ๊ทธ๋ž˜์„œ ์ฒ˜์Œ์—๋Š” ์šฐ๋ฆฌ ์ค‘ ํ•œ ๋ช…์ด lrelease ๋ฅผ ์‹คํ–‰ํ•˜์—ฌ .ts ํŒŒ์ผ์„ ์ผ์น˜ํ•˜๋Š” .qm ํŒŒ์ผ๋กœ ๋ณ€ํ™˜ํ•˜๊ณ  ๋‹ค์Œ๊ณผ ๊ฐ™์ด git ์ €์žฅ์†Œ์— ์ปค๋ฐ‹ํ•  ๊ฒƒ์ด๋ผ๊ณ  ์ƒ์ƒํ•ฉ๋‹ˆ๋‹ค. ์ž˜. ๊ฒฐ๊ตญ Vadim์€ ๋ฆฌ์†Œ์Šค ํŒŒ์ผ๋กœ ํฌํ•จ๋œ .qm ํŒŒ์ผ ์„ธํŠธ์™€ ํ•จ๊ป˜ ๋ฆด๋ฆฌ์Šค ๋ฒ„์ „์„ ์ œ๊ณตํ•  ๊ฒƒ์„ ์ œ์•ˆํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ์„ค์น˜ ํ”„๋กœ๊ทธ๋žจ ๋ฒ„์ „์— ์ ํ•ฉํ•˜์ง€๋งŒ Linux ํŒจํ‚ค์ง€ ์ž‘์„ฑ์ž๋Š” ๋Œ€์‹  ์ฝ๊ธฐ ์ „์šฉ /usr/share/mudlet/translations (์™ธ๋ถ€ Mudlet lua ํŒŒ์ผ๊ณผ ํ•จ๊ป˜)์— ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. ์ด ๋‘ ๊ฐ€์ง€ ๋ฐฉ์‹์„ ๋ชจ๋‘ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ํ”„๋กœํ† ํƒ€์ž… ์ฝ”๋“œ๊ฐ€ ์žˆ์ง€๋งŒ ์‚ฌ์šฉ์ž๊ฐ€ ๋‹ค๋ฅธ ๊ณณ(์†Œ์Šค ์ฝ”๋“œ์˜ /translations ๋””๋ ‰ํ† ๋ฆฌ์—์„œ ๋ฒˆ์—ญ ํŒŒ์ผ์„ ๋กœ๋“œํ•  ์ˆ˜ ์žˆ์Œ)์—์„œ ๋ฒˆ์—ญ ํŒŒ์ผ์„ ๋กœ๋“œํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋ฉด ๋…๋ฆฝ ์‹คํ–‰ํ˜• ๋ฒˆ์—ญ ๊ฐœ๋ฐœ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ์›๋ž˜ Qt ๋„๊ตฌ Linguist ์‚ฌ์šฉํ•˜์—ฌ ์ดํ•ด ๋‹น์‚ฌ์ž๊ฐ€ ๋งŒ๋“  ๋‹ค๋ฅธ ์†Œ์ˆ˜ ์–ธ์–ด์˜ ๊ฒฝ์šฐ ๊ฐœ๋ฐœ์ž๊ฐ€ ๊ฐœ์ธ/ํ…Œ์ŠคํŠธ ์‚ฌ๋ก€์—์„œ ์ž‘์—…ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ์†Œ์Šค์˜ ๋ฒˆ์—ญ ํ‘œ์‹œ. ์—ฌ๊ธฐ์—์„œ๋Š” ๊ฐ ์†Œ์Šค์— ์ผ์ข…์˜ ์–ธ์–ด ํ† ๊ธ€ ์Šค์œ„์น˜๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

    • QLangaugeEvent ์‚ฌ์šฉํ•˜๋Š” ์‹คํ—˜์—์„œ QQTranslator::load(...) ๊ฐ€ ํ˜ธ์ถœ๋  ๋•Œ๋งˆ๋‹ค ์‹คํ–‰๋˜๊ธฐ ๋•Œ๋ฌธ์— ์šฐ๋ฆฌ๊ฐ€ ํ•„์š”๋กœ ํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค ๋” ๋ณต์žกํ•ฉ๋‹ˆ๋‹ค. mudlet ํด๋ž˜์Šค๋ฅผ emit a (void) signal_translatorChangeCompleted(const QString&, const QString&) ์—ฌ๊ธฐ์„œ ํ˜„์žฌ ๋ฐ ์ด์ „ xx_YY ์ฝ”๋“œ(language_COUNTRY/REGION)์˜ ์ธ์ˆ˜๋Š” ์Šคํฌ๋ฆฝํŠธ์— ๋Œ€ํ•œ lua ์ด๋ฒคํŠธ๋ฅผ ์ƒ์„ฑํ•˜๋Š” Host ๋ฅผ ์ œ์™ธํ•˜๊ณ  ๊ฑฐ์˜ ์‚ฌ์šฉ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. /package ์ž‘์—…ํ•  ์ด๋ฒคํŠธ ํ•ธ๋“ค๋Ÿฌ. ๊ทธ ์‹ ํ˜ธ์— ์˜๊ตฌ์  ์ธ GUI ํ…์ŠคํŠธ๋กœ ๋ชจ๋“  ํด๋ž˜์Šค์— ์ „์†ก๋˜๋Š” slot_guiLanguageChange() ๊ฐ€ ํ•„์š” ํ˜ธ์ถœํ•˜๋Š” ๊ฒฝ์šฐ retranslateUi(this) ๋˜ํ•œ ์‚ฌ์šฉํ•˜๋Š” ๋ชจ๋“  ํด๋ž˜์Šค์— ์ •์˜ ๋œ setupUi(this) ๊ฐ€ ์ œ๊ณต ๋‹น์‹ ์ด ์„ค์ • ํ•œ Qt IDE์—์„œ ์˜ต์…˜์„ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์„ ํƒํ•˜์‹ญ์‹œ์˜ค( qmake ์ง์ ‘ ์‚ฌ์šฉํ•  ๋•Œ ์ด๊ฒƒ์ด ์–ด๋–ป๊ฒŒ ์ž‘๋™ํ•˜๋Š”์ง€ ๋ชจ๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค):

      qt_options

      ๊ทธ ํ˜ธ์ถœ์€ ์–‘์‹/๋Œ€ํ™” ์ƒ์ž์˜ ๋ชจ๋“  ๋ฒˆ์—ญ ๊ฐ€๋Šฅํ•œ ๋ฌธ์ž์—ด์— ๋Œ€ํ•œ ๋ฒˆ์—ญ์„ ๋ณ€๊ฒฝํ•œ ๋‹ค์Œ ๋Ÿฐํƒ€์ž„์— ์ƒ์„ฑํ•œ ๋ชจ๋“  GUI ํ…์ŠคํŠธ๋ฅผ ์žฌ์ƒ์„ฑํ•ด์•ผ ํ•˜๋ฉฐ, ์–ด๋–ค ์กฐ๊ฑด์œผ๋กœ ์ธํ•ด ๋‹ค๋ฅธ ํ…์ŠคํŠธ๊ฐ€ ์กฐํ•ฉ๋  ์ˆ˜ ์žˆ๋Š”์ง€ ๊ณ ๋ คํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ์ผ์‹œ์ ์ธ ํ…์ŠคํŠธ๊ฐ€ tr(...) ์‚ฌ์šฉํ•˜์—ฌ ์ƒˆ ๋ฒˆ์—ญ์„ ์ƒ์„ฑํ•  ๋•Œ๋งˆ๋‹ค ์ž๋™์œผ๋กœ ์ƒˆ ๋ฒˆ์—ญ์„ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ง€์†์„ฑ( ์ฆ‰, ์˜ค๋žซ๋™์•ˆ ์‚ฌ์šฉ๋จ) ๋ฌธ์ž์—ด๋งŒ ๋ณ€๊ฒฝํ•˜๋ฉด ๋˜๊ธฐ ๋•Œ๋ฌธ์— ์†Œ๋ฆฌ๋งŒํผ ๋‚˜์˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์ด๊ฒƒ์ด ์ด ์ฃผ์ œ์— ๋Œ€ํ•œ ์ „๋ถ€๋Š” ์•„๋‹ˆ์ง€๋งŒ ๋Œ€๋ถ€๋ถ„์˜ ๋‹จ๊ณ„๊ฐ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ GUI ํ…์ŠคํŠธ์— ๋Œ€ํ•ด ์–ด๋–ป๊ฒŒ ์ง„ํ–‰๋˜์–ด์•ผ ํ•˜๋Š”์ง€ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค...

๊ทธ ์„ธ๋ถ€ ์‚ฌํ•ญ์„ ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค SlySven! ๋‚ด๊ฐ€ ๋ณด๊ธฐ์—, ์•„๋งˆ๋„ ๋‹น์‹ ์€ ์ „์— ์ด๊ฒƒ์„ ํ•œ ์ ์ด ์žˆ์Šต๋‹ˆ๊นŒ? ๋‹ค๋ฅธ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ์œ„ํ•ด? ์ฝ”์šฐ๋”˜๊ณผ ํ•จ๊ป˜? ๊ทธ๋ ‡๊ฒŒ ํ•˜๋ฉด Mudlet ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ž์ฒด๋ฅผ ํ›จ์”ฌ ์‰ฝ๊ฒŒ ๋ฒˆ์—ญํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฐ˜๋ฉด์— Wiki ๋ฌธ์„œ, Mudlet ์›น ์‚ฌ์ดํŠธ ๋ฐ ์œ„์˜ ๋งˆ์ง€๋ง‰ ๊ฒŒ์‹œ๋ฌผ์—์„œ ์„ค๋ช…ํ•œ ๊ฒƒ์ฒ˜๋Ÿผ ์ˆ˜๋™์œผ๋กœ ํ†ตํ•ฉํ•ด์•ผ ํ•  ์ˆ˜ ์žˆ๋Š” ์ถ”๊ฐ€ ํ…์ŠคํŠธ์™€ ๊ฐ™์€ Mudlet ์„ธ๊ณ„์˜ ๋‹ค๋ฅธ ํ…์ŠคํŠธ ์†Œ์Šค์— ๋Œ€ํ•ด ์—ฌ์ „ํžˆ ๋™์ผํ•œ ์งˆ๋ฌธ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

์œ„์˜ ๋‹ต๋ณ€์„ ์™„์ „ํžˆ ์‚ดํŽด๋ณด์ง€๋Š” ์•Š์•˜์ง€๋งŒ Crowdin์—๋Š” Github ํ†ตํ•ฉ์ด ํฌํ•จ๋˜์–ด ์žˆ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. https://github.com/Mudlet/Mudlet/pull/1692 ๋Š” ์ž๋™ ์ƒ์„ฑ๋œ PR์ด๋ฏ€๋กœ ํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ์ˆ˜๋™ ์—…๋กœ๋“œ ๋˜๋Š” ๋‹ค์šด๋กœ๋“œ ๋‹จ์ˆœํžˆ PR์„ ๋ณ‘ํ•ฉํ•˜์‹ญ์‹œ์˜ค. ๋”ฐ๋ผ์„œ ํ”„๋กœ์„ธ์Šค๋Š” ์„ค๋ช…๋œ ๊ฒƒ๋ณด๋‹ค ํ›จ์”ฌ ๊ฐ„๋‹จํ•ฉ๋‹ˆ๋‹ค!

ํฌ๋ผ์šฐ๋“œ ์ธ ํ‰๊ฐ€ํŒ์€ 4 ์ผ ํ›„์— ๋งŒ๋ฃŒ๋˜๋ฏ€๋กœ ๋™์˜ / ๋™์˜๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ์ง€๊ธˆ๊นŒ์ง€๋Š” ๋งŒ์กฑํ•˜๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

๋‚˜์—๊ฒŒ์„œ ์•ผ์œ ๊ฐ€ ์žˆ์—ˆ๋‹ค!

์•ˆ๋…•! ;)

๋‚˜๋Š” https://crowdin.com/ ์„ ์‹œ๋„ํ–ˆ์Šต๋‹ˆ๋‹ค ... ๋ฒˆ์—ญ์„ ์œ„ํ•ด ๊ดœ์ฐฎ์Šต๋‹ˆ๋‹ค. ๋น ๋ฅธ ํ”ผ๋“œ๋ฐฑ, ์š”์ฒญ ๋“ฑ์— ์ ํ•ฉํ•œ์ง€ ๋ชจ๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค... ๋ฒˆ์—ญ์ด๋‚˜ ์˜ˆ์— ๋Œ€ํ•œ "๊ฒฝ์Ÿ"๊ณผ ๊ฐ™์€...

ํฌ๋ผ์šฐ๋“œ ์ธ์˜ ๋Œ“๊ธ€ ์„น์…˜ ์€ ์–ด๋–ป์Šต๋‹ˆ๊นŒ?

์•ˆ๋…•ํ•˜์„ธ์š” @Joker-ITA๋‹˜,

๋ฒˆ์—ญ๊ฐ€๋ฅผ ์œ„ํ•œ ์ถ”๊ฐ€ ์ปจํ…์ŠคํŠธ๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ๋ฐฉ๋ฒ•์—๋Š” ์‹ค์ œ๋กœ ์—ฌ๋Ÿฌ ๊ฐ€์ง€๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

1) ํŽธ์ง‘๊ธฐ์—์„œ ๋ฌธ์ž์—ด ์•„๋ž˜์˜ "์ปจํ…์ŠคํŠธ ํŽธ์ง‘"์„ ํด๋ฆญํ•˜์—ฌ ๋ฒˆ์—ญ๊ฐ€์—๊ฒŒ ์ถ”๊ฐ€ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
2) ํŽธ์ง‘๊ธฐ์—์„œ ๋ฌธ์ž์—ด์— ๋Œ€ํ•œ ์ฃผ์„์„ ๋‚จ๊ธธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(์˜ค๋ฅธ์ชฝ ํŒจ๋„์—์„œ ์ฃผ์„ ์ž…๋ ฅ).
3) ํ”„๋กœ์ ํŠธ ์„ค์ • -> ๋ฌธ์ž์—ด ํƒญ์„ ํ†ตํ•ด ๋ฌธ์ž์—ด์— ๋Œ€ํ•œ ์ปจํ…์ŠคํŠธ๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.
4) ์ผ๋ฐ˜ ๋ฒˆ์—ญ๊ฐ€๊ฐ€ ์ดํ•ดํ•  ์ˆ˜ ์—†๋Š” ํŠน์ • ์šฉ์–ด๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์šฉ์–ด์ง‘์„ ๋งŒ๋“ค์–ด Crowdin์— ์—…๋กœ๋“œํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. ์ถ”๊ฐ€ ์ •๋ณด . 2๊ฐœ์˜ ์—ด์ด ์žˆ๋Š” Excel ์Šคํ”„๋ ˆ๋“œ์‹œํŠธ์ผ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์šฉ์–ด ๋ฐ ์„ค๋ช…;
5) ํŒŒ์ผ ๋‚ด๋ถ€์— ์ฃผ์„์ด ์žˆ๋Š” ๊ฒฝ์šฐ(์˜ˆ: Android XML, iOS ๋ฌธ์ž์—ด, .properties, .yml, Google Chrome JSON) ํŒŒ์ผ๊ณผ ํ•จ๊ป˜ ์ž๋™์œผ๋กœ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.
6) ์Šคํฌ๋ฆฐ์ƒท์„ Crowdin์— ์—…๋กœ๋“œํ•˜๊ณ  ๋ชจ๋“  ๋ฌธ์ž์—ด์— ํƒœ๊ทธ๋ฅผ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค: https://support.crowdin.com/adding-screenshots/
7) webapp l10n์— ๋Œ€ํ•ด ์ด์•ผ๊ธฐํ•˜๋Š” ๊ฒฝ์šฐ ๋ฒˆ์—ญ๊ฐ€๊ฐ€ ๊ท€ํ•˜์˜ ์›น์‚ฌ์ดํŠธ์—์„œ ์ง์ ‘ ๋ฒˆ์—ญํ•  ์ˆ˜ ์žˆ๋„๋ก In-Context ๊ธฐ๋Šฅ์„ ์‹œ๋„ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

๋ฒˆ์—ญ์„ ์œ„ํ•ด ํ…์ŠคํŠธ๋ฅผ ๋งฅ๋ฝํ™”ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ์ฃผ์š” ๋ฐฉ๋ฒ•์ผ ๋ฟ์ž…๋‹ˆ๋‹ค ๐Ÿ˜„

@Kebap ์€ ๋‹ค์Œ

๊ทธ ์„ธ๋ถ€ ์‚ฌํ•ญ์„ ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค SlySven! ๋‚ด๊ฐ€ ๋ณด๊ธฐ์—, ์•„๋งˆ๋„ ๋‹น์‹ ์€ ์ „์— ์ด๊ฒƒ์„ ํ•œ ์ ์ด ์žˆ์Šต๋‹ˆ๊นŒ? ๋‹ค๋ฅธ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ์œ„ํ•ด? ์ฝ”์šฐ๋”˜๊ณผ ํ•จ๊ป˜? ๊ทธ๋ ‡๊ฒŒ ํ•˜๋ฉด Mudlet ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ž์ฒด๋ฅผ ํ›จ์”ฌ ์‰ฝ๊ฒŒ ๋ฒˆ์—ญํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Qt์˜ ์ž์ฒด ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ˆ˜๋™์œผ๋กœ ๋งŒ (์ €๋Š” ์ง€๋‚œ ๋ช‡ ๋…„ ๋™์•ˆ ๋‚จ๋ถ€ ํ”„๋ž‘์Šค์—์„œ ์„ธ๋ถ€ ์‚ฌํ•ญ์„ ์ž‘์—…ํ•˜๋Š” ๋ฐ ๋ช‡ ์ฃผ๋ฅผ ๋ณด๋ƒˆ์Šต๋‹ˆ๋‹ค). ์šฐ๋ฆฌ๋Š” lupdate & lrelease ์ค‘ ๋‘ ๊ฐ€์ง€๋ฅผ ๊ณ„์† ์‚ฌ์šฉํ•  ๊ฒƒ์ด์ง€๋งŒ Qt Linguist ๋Œ€์ฒดํ•ฉ๋‹ˆ๋‹ค. .ts lrelease ๊ฐ€ ์–ธ์–ด/์œ„์น˜ ํŠน์ • mudlet_xx_YY.qm ํŒŒ์ผ๋กœ ๋ณ€ํ™˜ํ•˜๊ธฐ ์ „์— ๊ฐ ๋ฒˆ์—ญ์— ๋Œ€ํ•ด lupdate ์— ์˜ํ•ด ์ƒ์„ฑ๋œ mudlet_xx_YY.qm ํŒŒ์ผ - ๋‹ค์‹œ ์–ธ์–ด/์œ„์น˜ ๋ฒˆ์—ญ๋‹น ํ•˜๋‚˜์”ฉ ์ œ๊ณต๋จ) ๋‹จ์ผ mudlet.ts โ€  ํŒŒ์ผ์„ ์‚ฌ์šฉํ•˜๊ณ  ๋Œ€์‹  mudlet_xx_YY.ts ํŒŒ์ผ์„ ์ƒ์„ฑํ•˜๋Š” Crowdin์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

linguist ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ๊ณผ Crowid๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ˆ˜ํ–‰ํ•  ์ž‘์—… ๊ฐ„์˜ ์ค‘์š”ํ•œ ์ฐจ์ด์  ์ค‘ ํ•˜๋‚˜๋Š” ๋‹ค์Œ ์—†์ด๋„ ๋ฒ—์–ด๋‚  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

TRANSLATIONS =

Crowid์— ๋Œ€ํ•œ ํ”„๋กœ์ ํŠธ ํŒŒ์ผ์˜ ๋ผ์ธ.

โ€  ์‹ค์ œ๋กœ ๋ชจ๋“  ๋กœ์ผ€์ผ์— ๋Œ€ํ•ด mudlet.ts , Crowdin ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ฑฐ์น˜๋Š” mudlet_en_US.ts -pluralonly ์˜ต์…˜๊ณผ -pluralonly ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. roomCount ์˜ ๊ฐ€์น˜์— ๋”ฐ๋ผ tr("deleted %n room(s)", "", roomCount) ์™€ ๊ฐ™์€ ๋ฉ”์‹œ์ง€๋ฅผ "deleted 1 room" ๋˜๋Š” "deleted 2 rooms" ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๋ช‡ ๊ฐ€์ง€ ๋ฒˆ์—ญ ์€ ์•„๋งˆ๋„ ๋‹น์‹ ์ด ์ง„์ •์œผ๋กœ ํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค...

์ข‹์Šต๋‹ˆ๋‹ค - ์šฐ๋ฆฌ๋Š” Crowdin๊ณผ ํ•จ๊ป˜ ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค :)

@SlySven์ด ์ œ์•ˆํ•œ ๊ฒƒ์ฒ˜๋Ÿผ ํŒŒ์ผ ์ด๋ฆ„์„ ์กฐ์ •ํ•˜๊ณ  ์‚ฌ๋žŒ๋“ค์ด ๋ฒˆ์—ญ์„ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ๋„๋ก Crowdin์—์„œ ํ”„๋กœ์ ํŠธ๋ฅผ ์ ์ ˆํ•˜๊ฒŒ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๊ฐ€ ์ˆ˜ํ–‰ํ•œ ๊ธฐ์กด ํ…Œ์ŠคํŠธ ๋ฒˆ์—ญ์€ ํŠธ๋žœ์žญ์…˜ ๋ฉ”๋ชจ๋ฆฌ์— ์ €์žฅ๋˜๋ฏ€๋กœ ๋‹ค์‹œ ์ ์šฉํ•˜๋Š” ๊ฒƒ์€ ๋งค์šฐ ์‰ฝ์Šต๋‹ˆ๋‹ค.

@SlySven ์˜ ๋‹ต๋ณ€์„ ๊ณ ๋ คํ•˜์—ฌ @Kebap ์˜ ์งˆ๋ฌธ์— ๋‹ตํ•˜๊ธฐ:

  • ๋ฒˆ์—ญ์ด ํ•„์š”ํ•œ ๊ด€๋ จ ํ˜„์žฌ ํ…์ŠคํŠธ์—์„œ ์˜ค๋ž˜๋œ ํ…์ŠคํŠธ๋ฅผ ๊ตฌ๋ณ„ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ฐพ์œผ์‹ญ์‹œ์˜ค.

    • lupdate ๋„๊ตฌ๊ฐ€ ์ด ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

  • ์ถœ์ฒ˜์—์„œ ํ…์ŠคํŠธ๋ฅผ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค(์œ„ ์ฐธ์กฐ). ์–ด๋–ค ๋„๊ตฌ๋กœ๋„ ์ž๋™ํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ? ๋ˆ„๊ฐ€ ์ฑ…์ž„์ ธ์•ผ ํ•ฉ๋‹ˆ๊นŒ?
  • ๋ฒˆ์—ญ ๋„๊ตฌ์— ํ…์ŠคํŠธ๋ฅผ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.

    • ์šฐ๋ฆฌ๊ฐ€ ์ˆ˜๋™์œผ๋กœ ์‹คํ–‰ lupdate ํ•˜๊ณ  ์ปค๋ฐ‹ development -์ด ๋ถ€๋ถ„์€ ํŠธ๋ž˜๋น„์Šค์— ์˜ํ•ด ๋งค์ผ ์ž๋™ํ™” ํ•  ์ˆ˜

    • github ํ†ตํ•ฉ์œผ๋กœ ์ธํ•ด crowdin์ด ์ž๋™์œผ๋กœ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

  • ๋„๊ตฌ ๋‚ด๋ถ€ ๋ฒˆ์—ญ(์˜ˆ์ƒ๋œ ์ผ์ด์ง€๋งŒ ์ข‹์€ ์ธํ„ฐํŽ˜์ด์Šค์™€ ์›Œํฌํ”Œ๋กœ๋„ ํ•„์š”ํ•จ)

    • ํฌ๋ผ์šฐ๋“œ์ธ์˜ ๋ฒˆ์—ญ ์ธํ„ฐํŽ˜์ด์Šค

  • ๋ฒˆ์—ญ๊ฐ€๋Š” ํ˜ผ๋ž€์Šค๋Ÿฌ์šด ๋ฌธ์ž์—ด์„ ์กฐ์ • ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ์ •๋ณด์™€ ํ•จ๊ป˜ Mudlet ํŒ€์— ๋‹ค์‹œ ๋ณด๊ณ ํ•ฉ๋‹ˆ๋‹ค.

    • ํฌ๋ผ์šฐ๋“œ ์ธ์— ๋ฌธ์ œ๋ฅผ ์“ฐ๋‹ค

  • Mudlet ํŒ€์€ ์†Œ์Šค์˜ ํ…์ŠคํŠธ๋ฅผ ์—…๋ฐ์ดํŠธํ•ฉ๋‹ˆ๋‹ค. ๋ณด๊ณ  ๋•Œ๋ฌธ์ด๋“  ์ž์—ฐ์  ์ง„ํ™” ๋•Œ๋ฌธ์ด๋“ .
  • ์†Œ์Šค์—์„œ ์—…๋ฐ์ดํŠธ๋œ ํ…์ŠคํŠธ๋Š” ๋ฒˆ์—ญ ๋„๊ตฌ์—์„œ ์—…๋ฐ์ดํŠธ๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ๋‚ด๋ณด๋‚ด๊ธฐ ๋ฐ ๊ฐ€์ ธ์˜ค๊ธฐ ๋ฐ diff.

    • ํฌ๋ผ์šฐ๋“œ ์ธ์ด ๊ทธ๊ฒƒ์„ ์ง‘์–ด ๋“ ๋‹ค.

  • ๋ฒˆ์—ญ๋œ ๊ธ€์ด ์™„์„ฑ๋ฉ๋‹ˆ๋‹ค. ๋ฒˆ์—ญ ๋„๊ตฌ์—์„œ ๋‚ด๋ณด๋ƒ…๋‹ˆ๋‹ค. ๋˜ ์ž๋™ํ™”?
  • ๋ฒˆ์—ญ๋œ ํ…์ŠคํŠธ๋ฅผ ์†Œ์Šค๋กœ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.
  • ์†Œ์Šค์˜ ๋ฒˆ์—ญ ํ‘œ์‹œ. ์—ฌ๊ธฐ์—์„œ๋Š” ๊ฐ ์†Œ์Šค์— ์ผ์ข…์˜ ์–ธ์–ด ํ† ๊ธ€ ์Šค์œ„์น˜๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

    • @SlySven ์ด ์—ฌ๊ธฐ์„œ ๋งˆ๋ฒ•์„

๋ณต์ˆ˜ํ˜•๋งŒ ์žˆ๋Š” ๋ณ„๋„์˜ ๋ฒˆ์—ญ ํŒŒ์ผ์ด ํ•„์š”ํ•œ ์ด์œ ๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

๋ฒˆ์—ญ ์ง€์นจ์€ https://wiki.mudlet.org/w/Translating_Mudlet ์—์„œ

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