
èæ¯
æè¡çãªéšåã«ç§»ãåã«ãåé¡ã®æŽå²ã«ã€ããŠç¥ããããšæããŸãã ããªãïŒããšãã質åã«å¯ŸããŠã ãã®èšäºã¯è¯ãçããæäŸããŸãã ããŒã«ãªãŒãŒã·ã§ã³ãšã€ã³ã¿ãŒããªãŒãŒã·ã§ã³ãšã¯ ãAnton Nemtsevããšã«ããªã³ãã«ã¯ã®DUMPã§è¬æŒããŸããã ã¢ã¬ã¯ãµã³ããŒã»ãžã§ã©ã·ã¢ãã¯ãFrontend Dev Confã§ãã³ã¹ã¯ã§ã¿ã€ãã°ã©ãã£ã«ã€ããŠãã¬ãŒã³ããŒã·ã§ã³ãè¡ããŸããã Badooã®Alexander TevosyanãMoscowJS ã®å€èšèªãµã€ãã®ã¬ã€ã¢ãŠãæ©èœã«ã€ããŠèªããååã®Gleb Deikaloãå€æ®µé翻蚳ã«ã€ããŠæžããŠããŸãã ããã¹ãèªäœãç°¡åã«ç¿»èš³ã§ããããã«æžãæ¹æ³ã¯ãTranslation Forum Russiaã«ã³ãã¡ã¬ã³ã¹ã®Hyperbatonã«é¢ããKristina Yaroshevichã®ã¬ããŒãã§æ¢ã«è°è«ãããŠããŸããããã«ã Pavel Doroninã¯åæ§ã®ãããã¯ã«ã€ããŠæžããŸããã
Hyperbatonãšã¯äœã§ããïŒ
ãã€ããŒããã³ã¯ã¹ããŒãã®å³ã§ã ã æåã¯ããªãäŒè°ããã³ãšåŒã¶ã®ãé·ãéèããŠããŸããã äžè¬ã«ãå
¬éãããã¬ããŒãã確èªããããšããå§ãããŸãã èšèªåŠè
以å€ã«ãšã£ãŠãèå³æ·±ããã®ããããããããŸãã ããšãã°ã Maxim Ilyakhov
Habréã§ã¯ãããŒã«ã©ã€ãºã«é¢é£ããããŸããŸãªãããã¯ã«é¢ããå€ãã®èšäºãèŠã€ããããšãã§ããŸãã AlconostãABBYYãªã©ã®å€§äŒæ¥ã¯ãããã¯ã§æžã蟌ã¿ãŸãã
ããã«ç¹ã«äŸ¿å©ãªããã€ãããããŸã
- ããŸããŸãªTOP10èšèªïŒ
- ãã¹ãŠã®ããã« ;
- Google Playã®å Žå
- ãŠãŒã¶ãŒãšç¿»èš³è ã®ã¹ã¯ãªãŒã³ã·ã§ãã
- çã¿ãšããŒã«ã©ã€ãºã®é£ãã
- ã¢ã©ãã¢èªã® ããŒã«ã©ã€ãº
- ãªãœãŒã¹æºå
- ã¬ã€ã¢ãŠããšãµã€ãã«ã€ããŠ
- RTLã«ã€ããŠ
- ãªã³ã©ã€ã³ããŒã«ãªãŒãŒã·ã§ã³ãµãŒãã¹ã®æŠèŠ
äžèšã®èšäºãšã¬ããŒãã¯å€ãã®è³ªåã«çããŸãã ããããã³ãŒãã®ç·šæã®åé¡ã¯éšåçã«ãã説æãããŠããŸããã ããã§ããã¯ããç§ã®æ¬JavaScriptã§ã®ã·ã¥ã«ã¬ã¢ãªã¹ã ã§ã¯ãããŒã«ã©ã€ãºããžãã¯ãšãã®DOMã§ã®åäœã«ã€ããŠéšåçã«èª¬æããŸããã ããããã³ãŒããšãã®äžè¬çãªæ§é ã«ã€ããŠããå°ã説æãããšããæ¥ãŸããã
ã¯ããã«
ãªãã¯ã©ã€ã¢ã³ãã«ïŒ
ããã¯ãã¹ãŠç§ãã¡ã解決ããããšããŠããåé¡ã«äŸåããŠããŸãã ç§ãã¡ããµã€ãã«ã€ããŠè©±ããŠããå ŽåããµãŒããŒã¯ãã¡ãã®ã»ããåªããŠããŸãã ãã®ã¢ããªã±ãŒã·ã§ã³ã®å Žåãã¯ã©ã€ã¢ã³ãã«ã€ã³ãã©ã¹ãã©ã¯ãã£ãå±éããããšããå§ãããŸãã äžæ¹ã§ã¯ãã¯ã©ã€ã¢ã³ãã¯ãªãã©ã€ã³ã§äœæ¥ã§ããŸãã äžæ¹ãã¯ã©ã€ã¢ã³ããããŒã«ã«ãã¡ã€ã«ã䜿çšããå ŽåããµãŒããŒãªã¯ãšã¹ããåæžããŸãã ããã«ããµãŒããŒããªãå ŽåãããµãŒããŒéçºè ã®æéãéåžžã«é«äŸ¡ã§ããããããã®ã¿ã¹ã¯ã®äžéšãšããŠãããè²»ããããšã¯æå³ããããŸããã
ãªãjavascriptã§ïŒ
ããã³ããšã³ãéçºè ãšããŠãHTMLãŸãã¯CSSãéžæã§ããŸãã HTMLã®äœ¿çšæ¹æ³ã¯ãå人çã«ã¯æ³åã§ããŸããã ããŒã«ãªãŒãŒã·ã§ã³ã¿ã¹ã¯ã®äžéšãšããŠCSSãæ©èœãããæ¹æ³ã¯ãAnton LunevïŒ http://habrahabr.ru/post/121075/ ïŒã«ãã£ãŠæžãããŸããã ããããæåã®ã±ãŒã¹ãš2çªç®ã®ã±ãŒã¹ã§ã¯ãJavaScriptãæäŸããæè»æ§ãšæ©äŒã倱ã£ãŠããŸãã
æ¢è£œã®ãã®ã¯äœã§ããïŒ
stackoverflowãåããããŸããŸãª30è¡ã®æ©èœãããã³BadooãYandexãAlconostãªã©ããã®å éšããŒã«ãšã¯å¥ã«ãçŸæç¹ã§ã¯ããã€ãã®éåžžã«èš±å®¹å¯èœãªãœãªã¥ãŒã·ã§ã³ããããŸãã
- è§åºŠå€æ
- i18nextïŒ http://i18next.com/ ïŒ
- l20nïŒ http://l20n.org/ ïŒ
- jquery.localize.jsïŒ https://github.com/coderifous/jquery-localize ïŒ
翻蚳ã¹ãã¬ãŒãžã«é¢ããã¢ã³ãŒãã£ãªã³
ç¹å®ã®èšèªã®ãã¬ãŒãºã®ç¿»èš³ãèšè¿°ãããå€æ°ããããŸãã ããã«ãã¢ããªã±ãŒã·ã§ã³å šäœã§ããã¬ãŒãºèªäœã䜿çšãã代ããã«ã察å¿ããå€æ°ã眮ãæããããŸãã ãããã£ãŠãå€æ°ã®å€ãå€æŽããããšã«ãããã¢ããªã±ãŒã·ã§ã³å šäœã®èšèªãå€æŽã§ããŸãã

ããšãã°ãã²ãŒã ãZhmurikiãã§ã¯ããã¹ãŠã®ãã¬ãŒãºã®ç¿»èš³ãå¥ã®å€æ°ã«ç¿»èš³ããŠæžãçããŸããïŒ
- ããŒããŠã§ã¢ã«ã¯å³ããå¶éããããŸãïŒããšãã°ãå®äŸ¡ãªãããªã³ã³ãœãŒã«ãããã€ãããã°ã©ã ããŠããŸãïŒã
- åãèªèšŒã·ã¹ãã ã䜿çšããŠããŸãïŒããšãã°ãã¹ããããã·ã³çšã®ãœãããŠã§ã¢ãäœæããŠããŸãïŒã
æåã®ã±ãŒã¹ã§ã¯ããªãœãŒã¹ãåæžããã¡ã¢ãªã®å¶éãæºããããã«ãã¹ãŠãå³ããä¿åããå¿ èŠããããŸãã ãã®ãããªç¶æ³ã§åªããè«çã¢ãŒããã¯ãã£ãå±éããããšã¯ãåžžã«å¯èœã§ã¯ãããŸããã
2çªç®ã®ã±ãŒã¹ã§ã¯ã誀ã£ãŠãã©ã¡ãŒã¿ãŒãåãæ¿ããå¯èœæ§ãããé€å€ããããšããŠããŸãã åãã¹ããããã·ã³ãèŠããšãè² ããå¯èœæ§ã¯ãã¹ãŠç¹å®ã®åœã®æ³åŸã«ãã£ãŠå³ããèŠå¶ãããŠããŸãã ãããã£ãŠããã·ã¢ã«ç±³åœåãã®æ©æ¢°ãããããã«ã¬ãªã¢ã«ãã³ã¬ãªãŒåãã®æ©æ¢°ãããå Žåã¯é€å€ãããŸãã
ã²ãŒã ãZhmurikiãã¯VKontakteã§åäœããäžèšã®å¶éã®ãããã«ã該åœããŸããã 圌女ã®äŸã§ã¯ãããŒã«ãªãŒãŒã·ã§ã³ã·ã¹ãã ã®ã³ãŒããšã¢ãŒããã¯ãã£ã®å質ãäœã®åœ¹å²ãæãããªãããšãæ確ã«ç€ºããŠããŸãã ã¯ãã誰ããã³ãŒãããªãã¡ã¯ã¿ãªã³ã°ããããæ°ããæ©èœãè¿œå ãããããã®ã¯äžäŸ¿ãããããŸããã ã¯ãããããããã®ã¢ãããŒãã¯ããå€ãã®ãã°ã«ã€ãªããã§ãããã ããããäºå®ã¯ã補åã§ããçç£ã§ã¯ããéãããããã誰ãã幞ãã§ãã
åãã¬ãŒãºãæ°ããå€æ°ã«ä¿åããããšã¯ããŸã䟿å©ã§ã¯ãªããéåžžã翻蚳èªäœã¯å¥ã®æ§æãã¡ã€ã«ã«è»¢éãããŸãã ãã®ãããã»ãšãã©ã®ããŒã«ãªãŒãŒã·ã§ã³ã·ã¹ãã ã®éçºè ã¯ãJSONãXMLãªã©ã®æ å ±ã®ä¿åã«äžè¬çãªåœ¢åŒã䜿çšããããšã奜ã¿ãŸãã éåžžãã»ãšãã©ã®Javaããã³Pythonéçºè ã¯XMLã䜿çšããããã³ããšã³ãéçºè ã¯JSONã䜿çšããŸãã æ £ããŠãã人ãããŸã æšæºåœ¢åŒã«ããã1ã€ã®ããã°ã©ãã³ã°èšèªã®ã³ã³ããã¹ããšãŸã£ããç°ãªãèšèªã®ã³ã³ããã¹ãã®äž¡æ¹ã§ããŸã£ããç°ãªãããŒã«ãªãŒãŒã·ã§ã³ã·ã¹ãã ã«åã翻蚳ãç°¡åã«äœ¿çšã§ããŸãã
ä»ã®æ¹æ³ã§è¡ã£ã人ã¯ããªãããŸãã ãã®ãããRubyã¯YMLã®äœ¿çšã奜ã¿ããã©ãã·ã£ãŒã¯XLIFFãC`shniki-PO圢åŒã奜ã¿ãŸããããšãã°ãl20n.orgã®ã¡ã³ããŒã¯ãã¿ã°ãšå±æ§ãæã€ç¬èªã®åœ¢åŒãèãåºããŸããã ããããç°¡åã«èŠãŠã¿ãŸãããã
Yml
YMLã¯XMLã«äŒŒãŠããã人éãèªããã ãã§ãã RegExpsãæ瀺çã«ä¿åããããšãã§ããŸãã
ããã¯ïŒ
<translation> <hello>, !</hello> </translation>
次ã®ããã«ãªããŸããïŒ
translation: hello: ", !"
PO
äž»ã«ããªãŒãœãããŠã§ã¢ã®ããŒã«ã©ã€ãºã«äœ¿çšãããŸãã ç°¡åã§ãã éçºè ã¯ãgettextïŒïŒãªã©ã®é¢æ°ã§ãã¹ãŠã®è¡ãã©ãããããããã®è¡ã翻蚳ã®ããŒã«ãªããŸãã 翻蚳ããªãå Žåãå ã®æååã眮ãæããããŸãã
msgid "Hello, World!" msgstr ", !"
ãªããªã äžèšã®åœ¢åŒã¯ã©ãããã€ãã£ãã§ã¯ãªããããã³ããšã³ãã¬ã³ããªã³ã°ã«äŸ¿å©ã§ãã ã²ãŒã ãValley of Sweetsãã®ç¿»èš³ä»ããã¡ã€ã«ã®äŸïŒ

JavaScriptã§JSON圢åŒã䜿çšããå Žåãäžéšã®ããŒã«ãªãŒãŒã·ã§ã³ã·ã¹ãã ã¯ãã¹ããããããããã£ããµããŒãããŸããã äžèšã®ãããªãã¡ã€ã«ã®äŸãèŠãããšãã§ããŸãã ããã«ã¯ãæçœãªç¿»èš³æ§é ãå¿ èŠã§ãã ã»ãšãã©ã®ããŒã«ãªãŒãŒã·ã§ã³ã·ã¹ãã ã§ã¯ããã®ãããªåé¡ã¯ãªããäžèšã®ã³ãŒãã¯ç°¡åã«å€æã§ããŸãã
ããã¯ïŒ
{ ... "inviteFriend": " ", "inviteFriend2Lines": "<br> ", "InviteFriend2Lines": "<br> ", ... }
次ã®ããã«ãªããŸããïŒ
{ ... "invite": { "friends": { "line1": " ", "line2": "<br> " }, "friend": "<br> ", ... }
ãã®ã¢ãããŒãã«ããã翻蚳ã®æ§é ãããæ確ã«ãªããŸãã ãã¬ãŒãºèå¥åã¯ãinvite.friendsããšãã圢åŒãåãã次ã®åœ¢åŒã®é¢æ°ã«ãã£ãŠJSONãªããžã§ã¯ãããåŒãåºãããŸãã
function getProperty (json, key) { key = key.split(/[\.]+/gim); for (var i = 0, l = key.length; i < l; i++) { var propertyName = key[i]; if (!json[propertyName]) { return null; } json = json[propertyName]; } return json; }
次ã®ã¹ãããã¯ããã®æ§é ã«ã±ãŒã¹ãåæ ãããããšã§ãã æ°åãå¿ èŠãªå ŽåããããŸãã å žåçãªäŸïŒããªã³ãŽ2åããããªã³ãŽ1åããããªã³ãŽãªããã ãã§ã«äžèšã®l20nã®äººãã¡ã¯ããã®ãããªåé¡ã解決ããŸããã
<brandShortName { *nominative: "Aurora", genitive: "Aurore", dative: "Aurori", accusative: "Auroro", locative: "Aurori", instrumental: "Auroro" }>
ãããŠãAngularã䜿çšãã人ã¯æ¬¡ã®ããã«æžããŸãã
{{numMessages, plural, one { } two { } other { } }}
ããšãã°ãæ°åãã±ãŒã¹ã®èãã¯ãŸã£ããæšãŠãŸããã ããïŒ
- å®éã«å人çã«åºäŒã£ãããšã¯ãããŸããã
- ã·ã¹ãã ãéåžžã«è€éã«ããèªååã«æªåœ±é¿ãåãŒããŸãã
- ãšã©ãŒã®å¯èœæ§ãåçã«å¢å ãããŸãã
- å質èŠä»¶ãšå¿ èŠãªç¿»èš³ã®æ°ãå¢ãããŸãã
- ãç°¡åãªããŒã«ã©ã€ãºãã®ã«ãŒã«ãšççŸããŸãïŒYaroshevichãšIlyakhovã®ã¬ããŒããåç §ïŒã
- ååãšããŠãã€ã³ã¿ãŒãã§ã€ã¹ã§æ±ºå®çãªåœ¹å²ãæããããUIãå€æŽããããšã§ç°¡åã«äžèŠã«ãªããŸãã
ãªã³ãŽã®å€å žçãªåé¡ã¯ãçµµæåã§è§£æ±ºã§ããŸãã 以äžã«äŸã瀺ããŸãã

ã¬ããã¢ã©ãŒãã§ã®ãŠãããã®äœæ

MineCraft Inventory
ããããããã¯ç¹å®ã®ã²ãŒã æ§ç¯ã§ãããéåžžã®SPAã¢ããªã±ãŒã·ã§ã³ïŒç®¡çããã«ããŠãŒãã£ãªãã£ãªã©ïŒã§ã¯ããã®ãããªã«ãŠã³ã¿ãŒãåžžã«æ£ãããã±ãŒã¹ãªãã§è¡šç€ºããããšãã§ããŸããã

ãããŒã·ã¹ãã ã§ã®çµ±èšã®ã¯ã€ãã¯è¡šç€º

CosmoSimã²ãŒã ã§ã¯ããã©ã¡ãŒã¿ãŒã¯æ°åãšçµµæåã§è¡šç€ºãããŸãã
ãã¡ãããããã奜ããã©ããã«ããããããåé¡ã解決ããªããã°ãªããªãå Žåãå€ããããŸãã ãã®ãããªå Žåã¯ãããããPavel Doroninã«ããèšäºããã...ãã®æŸèæã§ããããReplace ïŒ/.../ gimã "..."ïŒ;
ãã³ãã¬ãŒãã®åé¡ã¯äœã§ããïŒ
åé¡ã¯ãç¹å®ã®ãã³ãã¬ãŒããäœæãããªãã·ã§ã³ãããã«æ®éçã§ã¯ãªããªãããšã§ãã ãŠãããŒãµã«ãã³ãã¬ãŒãã¯ãããŸããã ãã®ãªãã·ã§ã³ãèªååãããšãã³ã³ãã³ãã«é¢ä¿ãªãããã¹ãŠã®è¡ãæ£èŠè¡šçŸã«ãã£ãŠåŠçãããŠå€æ°ãæ€çŽ¢ãããŸãã ããã¯å€ãã®äœåãªäœæ¥ã§ãã ãããåé¿ããæåã«ããŒã¿å ã®ãã³ãã¬ãŒãã§è¡ãããŒã¯ãããšãä¿åããå¿ èŠãããããŒã¿ã®éãå¢ããŸãã ãããã£ãŠããã³ãã¬ãŒãã®æäœã¯åžžã«ãæ£ãã翻蚳ã察2ã€ã®æ€ åã®ããè¬ã§ãã ãã·ã¹ãã ã®ã·ã³ãã«ããšæ±çšæ§ãã
HTMLã¢ã³ãŒãã£ãªã³
翻蚳ã®ä¿åã«ã€ããŠã¯ãã§ã«èª¬æããŸããããä»åºŠã¯HTMLã«åãæ¿ããŸãã 以äžã«æžãããã»ãšãã©ãã¹ãŠã®ãã®ã¯ãã§ã«ãJavaScriptã®ã·ã¥ã«ã¬ã¢ãªã¹ã ããšããæ¬ã«ãããNemnotsvãšTevosyanã¯ååšããªãã£ããã®ãæã£ãŠããŸããã
HTMLããŒãžã®ã¬ã€ã¢ãŠãã«ã€ããŠè©±ãå Žåã¯ãäœããã®æ¹æ³ã§DOMèŠçŽ ãããŒã¯ããå¿ èŠããããŸããDOMèŠçŽ ã®å éšã®ããã¹ãã¯ç¿»èš³ãå¿ èŠã§ãã ååãšããŠãéçºè ã¯ããŸããŸãªå±æ§ãèŠçŽ ã«å²ãåœãŠããã®å±æ§ã«ç¿»èš³IDãèšè¿°ããŸãã äŸïŒ
<!-- angular-translate --> <p translate="hello">, !</p> <!-- i18next (http://i18next.com/) --> <p data-i18n="hello">, !</p> <!-- l20n (http://l20n.org/) --> <p data-l10n-id="hello">, !</p> <!-- jquery.localize.js (https://github.com/coderifous/jquery-localize) --> <p data-localize="hello">, !</p>
ãããïŒ èå¥åãšãããé©çšãããã¿ã°ã«ãã£ãŠååŸããã翻蚳ãªããžã§ã¯ããåæãã人ã¯ã»ãšãã©ããŸããã ãããè¡ãããªãå Žåã次ã®ãããªã¿ã¹ã¯ïŒ
- å ¥åãã£ãŒã«ãã®å€ãšãã¬ãŒã¹ãã«ããŒãå€æŽããŸãã
- ç»åãå€æŽããŸãã
- æ¥ç¶ãããŠãããã©ã³ããå€æŽããŸãã
ãªã© æŸèæã«ãã£ãŠæ±ºå®ããããããŸã£ãã決å®ãããŸããã äžé©åãªã·ã¹ãã ãéžæããããšã§äžå¿«æãèŠããç¶æ³ã®äŸã¯ã次ã®ã³ãŒãã§ãã
<img src="scheme_ru.png" alt=" " title=" 2114" translate="id__"/> <input type="text" placeholder=" " value=" " translate="id__"/> <link rel="stylesheet" type="text/css" href="css/ru.css" translate="id__"/>
ããŒã«ãªãŒãŒã·ã§ã³ã·ã¹ãã ã§ã¯ãåãåã£ã翻蚳ã®ã¿ã€ããšHTMLèŠçŽ ã®ã¿ã€ããåºå¥ããŸãã ãããã£ãŠãã¿ã€ãæåå "scheme_en.png"ã®ç¿»èš³ãåãåããHTMLèŠçŽ IMGãæã£ãŠãããããã»ãšãã©ã®å Žåãsrcå±æ§ãå€æŽããå¿ èŠããããšæ³å®ã§ããŸãã INPUTèŠçŽ ã䜿çšããå Žåããã¬ãŒã¹ãã«ããŒå±æ§ã®ç¿»èš³ãšLINKã¿ã€ããããããå¿ èŠã«ãªãå¯èœæ§ãé«ããä»ã®ãã©ã¡ãŒã¿ãŒãæå®ãããŠããªãå Žåã¯hrefå±æ§ã眮ãæããŸãã ããã«ãèŠçŽ ãæäœããããã®ã«ãŒã«ãå®çŸ©ãããŠããªãããŸãã¯ãããŸããªç¶æ³ã§ã¯ãããªããžã§ã¯ããã¿ã€ãã®ç¿»èš³ã䜿çšãããã®ããããã£ãåæããããšã§ãäœæ¥ããŠããã¿ã°ã®å±æ§ã«å€ãå²ãåœãŠãŸãã äžèšã®äŸã®ç¿»èš³ãæ€èšããŠãã ããã
{ "id__": { "src": "scheme_uk.png", "alt": " ", "title": " Ñ 2114", }, "id__": { "placeholder": "Ñ ", "value": " " }, "id__": "css/ua.css" }
ã¿ã°ã®å±æ§ãå€æŽããæ©äŒãããã®ã§ãããŸããŸãªåœã®ã°ã«ãŒãã®ã€ã³ã¿ãŒãã§ãŒã¹ãå€æŽããåé¡ã®è§£æ±ºã«ã¹ã ãŒãºã«é²ã¿ãŸãã ãã§ã«äœåºŠãèšãããŠããããã«ããããŒã«ã©ã€ãºãããã¯ããã¹ãã®ç¿»èš³ã ãã§ãªããç¹å®ã®åœã®æåçç¹åŸŽãžã®è£œåã®é©åã§ããããŸããã ãããã£ãŠãã¹ã¿ã€ã«ãèªåçã«åãæ¿ããŠåçãå€æŽããæ©èœãå¿ èŠã§ãã
å°ãçã¿
ã³ã¡ã³ããšèšäºã§ç¹°ãè¿ããç§ã¯ããªããåœã®æãšçµµæåã衚瀺ãã¹ãã§ãªããšããæèŠãèããã 人ãäœããç¥ããªãå Žåã圌ã¯åžžã«è±èªããªã³ã«ããŠãããç解ããŸãã ãã®èŠ³ç¹ã«åŒ·ãå察ããŸãã äºå®ãç§ã¯è±èªãããŸãç¥ããªããšããããšã§ãã æªã翻蚳ã¯ãäžåšãããç§ã«ãšã£ãŠã¯ããã«åªããŠããŸãã ç§ã®ãããªäººãããããããŸãã
ãžã§ãŒãžã¢ãŸãã¯ã€ã¹ã©ãšã«ã«ãŸã£ããåãç·ããããšããŸãã ããã¯ãã®åœã§ã¯æ®éã®å¹³åçãªäººã§ãã 圌ã¯ããªããã°ã«ãžã¢èªãã€ãã£ãã·ã¥èªãèŠãã®ãšã»ãŒåãæ¹æ³ã§è±èªãèŠãã§ãããã 以äžã¯ãå°ããªHTMLã²ãŒã ã®ã¹ã¯ãªãŒã³ã·ã§ããã§ãã ãã¿ã³ã®çµµæåã衚瀺ãããªãå Žåãèšèªåãæ¿ãã¡ãã¥ãŒã«ã©ã®ãããªè©Šã¿ããããŸããïŒ èšèªã«æãä»ããŠããªãã£ãå Žåã50ãåœèªã®ã¹ãã¹ã¯ãèŠãŠãã©ããããé·ãèŠçãæããŸããïŒ

ãã©ãŒãªã³ã°ããããšãå¿ããªãã§ãã ãã
ããã«ã€ããŠå€ãã®ããšãèšãããŠããã®ã§ãè¿œå ãããã®ã¯ãããŸããã èŠçŽ ãæ§æããŸãããïŒ å¿ ãrtl.cssãæ·»ä»ããŠãã ããïŒ rtl-cssã«åœ¹ç«ã¡ãŸãïŒã ããŒã«ãªãŒãŒã·ã§ã³ã·ã¹ãã ã®ãã¹ãŠã®RTLããªã¹ãããŸãã 圌女ã¯ãã©ã®å Žåã«æ¥ç¶ããå¿ èŠãããããç¥ã£ãŠããå¿ èŠããããŸãã

ããšãã°ã次ã®ããã«ïŒ
LanguageApplication({ rightRules: [ "module/button/button__right.css", "module/popup_text/popup_text__right.css", "module/progress_bar/progress_bar_right.css", "module/popup_window/popup_window__right.css", "module/popup_window/popup_window__animation_elements_right.css", "js/applications/language/language__right.css", "css/right.css" ] });
ã¢ãŒããã¯ãã£ã¢ã³ãŒãã£ãªã³
翻蚳ãä¿åããããã®å¯èœãªåœ¢åŒãç°¡åã«èª¬æããHTMLã§å°ãçªã£èŸŒãã ã®ã§ãå°ãèŠçãå ããããšãã§ããŸãã ãã質åã§ããããŒã«ã©ã€ãºãäžè¬çãªæ¹æ³ã§ã©ã®ããã«æ©èœããããèŠãŠã¿ãŸãããã
ãã·ã¢èªãšè±èªã®2ã€ã®ãã¡ã€ã«ããããŸãã User-Agentã䜿çšããŠããŠãŒã¶ãŒã®èšèªãå€å¥ããæåã®èšèªãŸãã¯2çªç®ã®èšèªã®ãããããæ¥ç¶ããŸãã

ç°¡åãªäœæ¥ã§ããã¹ãŠãçŸããæ確ã§ãã ããŒã«ãªãŒãŒã·ã§ã³ã·ã¹ãã ã«ã¯ããã®ååã«åºã¥ãããã¢ã衚瀺ãããŸãã ããããããã¯ç§ãã¡ãšã¯ç°ãªã£ãŠããŸããã è€æ°ã®ã¢ãã€ã«ããŒã¿ã«ãåãã¢ãžã¥ãŒã«ããçµã¿ç«ãŠãããŸããã ããŒã¿ã«ã¯äŒŒãŠããŸããããäžéšã®ã»ã¯ã·ã§ã³ã¯ç°ãªã£ãŠããŸããã ã²ãŒã ãäžæ¹ã§ãæžç±ãããäžæ¹ã§è²©å£²ããŸãããäž¡æ¹ã§æ²ãè³Œå ¥ã§ããŸãã ããŸããŸãªãªã³ã©ã€ã³ããŒãã¡ã³ããšãã£ã³ããªã³ã·ããããããŸããã ãã·ã¢ã§ã®ã¿å®æœããããã®ãããã°ãCISå šäœã§å®æœããããã®ããããŸããã ãªãœãŒã¹ãçæããªãããã«ã翻蚳ã¯ããã€ãã®ãã¡ã€ã«ã«åå²ãããŸããã ç¹å®ã®ã¢ãã€ã«ããŒã¿ã«ããšã«ããããã®ç¿»èš³ã®çµã¿åããã¯ç°ãªããŸããã ãªããªã ãã·ã¢èªçãšè±èªçã®ã»ã¯ã·ã§ã³ã®æ°ãäžèŽããªãã£ãïŒãããŠååã®ã±ãŒã¹ãäžèŽããªãã£ãïŒå Žåã1ã€ã®çµã¿åããã®ç¿»èš³æ°ã1ã€ã®ããŒã¿ã«å ã§èšèªããèšèªã«å€æŽãããŸããã

å³ã«ã¯äœãèŠããŸããïŒ ããããã®ãã¡ã€ã«ã ãŸãããã¡ã€ã«ã®åãã³ãã«ã«ã¯ãã¢ã»ã³ããªå ã®å¿ èŠãªç¿»èš³ã®æ°ãé åºãããã³ããŒãžã§ã³ã説æããæ§æãã¡ã€ã«ãå¿ èŠã§ãã
ããããïŒ ããã§ãã¹ãŠãæ£åžžã«ãªããŸããïŒãç§ã¯ãã®ç¬éã«èããŸããã ãããããæ³åã®ãšãããããã¯æ ã®å§ãŸãã«éããŸããã§ããã å幎åŸãç§ã¯å¿çãã¹ãã®é©çšã«é¢ããä»äºãå§ããŸããã ãã¹ãŠãããªãå¹³å¡ã§ãïŒãã¹ããéžæãã質åã«çããå£ã«å¿ççãªèžã®ãµã€ãºãå ¬éããŸãã ãã¹ãŠã¯åé¡ãããŸãããããã·ã¢ã§ã¯ãã®ãããªãã¹ãã¯ãã§ã«æºæ¯ã§ãã ããããããã€ãã®ãã§ã³å ±ååœãã¯ãã¢ãã¢ã§ã¯ã 人å£ãå°ãªããããã°ã©ããŒãå°ãªãã å°ããåžå Žã¯ã倧ããªãã¬ãŒã€ãŒã«ãšã£ãŠé åçã§ã¯ãããŸããã ãããã£ãŠããã·ã¢åãã®ãæé«ã®ãã¹ãããäœæããŠã1å4600äžäººãŸã§ããŸãã¯400äžäººãŸã§ãäœãã§ããã¯ãã¢ãã¢ã«ã€ããŠãåãããã«åã€ããšãã§ããŸãã ä»åŸããããžã§ã¯ãã¯å€±æãããšèšããŸãããéçºæ®µéã§ã¯ãããã¯ãŸã æããã§ã¯ãããŸããã§ããã

äœããããŸããïŒ ã¢ããªã±ãŒã·ã§ã³ã®å ¬éæç¹ã§çŽ30ã®ãã¹ãã åãã¹ãã¯åºè«ã§ãããçŽ10ã®è³ªåãšå°ãªããšã3ã€ã®çµè«ã§ãã ãã®ãã¹ãŠã«3ã€ã®èšèªãæããããŸãã åèšïŒ30 *ïŒ1 + 10 + 3ïŒ* 3 =å°ãªããšã2000æåã®ããªã¥ãŒã ãæã€è€éãªæ§é ã®90ã®ç¿»èš³ã ã¢ããªã±ãŒã·ã§ã³ããã·ã¥ãŒããããå Žåããã¹ãã®æ°ã¯2ã3åå¢å ãã転éã®æ°ã¯å°ãªããšã5åã«ãªããŸãã ãŠãŒã¶ãŒããã¹ãŠã®èšèªã®ãã¹ãŠã®ãã¹ãã«åæ ŒããªããŠãã1ããŒãžã®ã¢ããªã±ãŒã·ã§ã³ãããããšãèŠããŠããå¿ èŠããããŸãã ãããŠããã®ã¢ããªã±ãŒã·ã§ã³ã¯ãã£ããã§ããçå®ã«ã¡ã¢ãªãæ¶è²»ããæ°ãããã¹ãã®ãã³ã«æ¶ããŠããŸããŸãã
ãã¹ãã§äœãé£ã¶ïŒ å€ãã®ç°ãªããã¡ã€ã«ããã¹ããšãšãã«å°çããŸãã ãããã®1ã€ã¯ãå€ææ§æã§ãã ãã®ãã¹ããå©çšå¯èœãªãã¹ãŠã®èšèªã«ã€ããŠèª¬æããŠããŸãã ã¢ãã¬ã¹ã¯ããã«æžã蟌ãŸãããããã察å¿ãã翻蚳ãããŒããããŸãã
ãªããªã ç§ãã¡ã®ã¢ããªã±ãŒã·ã§ã³ã¯ã¢ãžã¥ãŒã«ã§æ§æãããŠãããã€ã³ã¿ãŒãã§ãŒã¹ã®ç¿»èš³ãåå¥ã§ãããåãã¹ãã®ç¿»èš³ãåå¥ã§ããããšã¯æããã§ãã åè¿°ã®ããã«ãããã«ãããªãœãŒã¹ãåå©çšããæ©äŒãåŸãããŸãã

ç»åãèŠãŠãããã¹ã翻蚳ãããã±ãŒãžããã€ã³ã¿ãŒãã§ãŒã¹ç¿»èš³ãããã±ãŒãžã«ã©ã®ããã«å°çããããèŠãŠãã ããã ããŒã«ãªãŒãŒã·ã§ã³ã·ã¹ãã ã¯äœãããŸããïŒ ããã§ãã2ã€ã®æ§æãçµã¿åããã3çªç®ã®æ§æãååŸããŸãã ãããŠãæçµæ§æãæµéãããåŸã圌女ã¯ä»å¿ èŠãªç¿»èš³ã«ã€ããŠèãå§ããŸãã 圌女ããã¹ãŠãèããŠããŒããããšãçµæãå床çµåããŠãåºåã«åäžã®JSONãååŸããŸãã JSONããã¬ãŒãºã®æçµçãªç¿»èš³ã圢æããã®ã¯ãã®ããã§ãã

ç èãåžã£ãŠãã°ã¬ãã»ãã€ã«ãã«ãæšæ¶ããããæãæ¥ãŸãããã°ã¬ãã»ãã€ã«ãã¯ãåè¿°ã®ããã«ããå€æ®µé翻蚳ãã«ã€ããŠæžããŠããŸãã æ§æãšç¿»èš³ãçµã¿åãããããšã§ã圌ã®èšäºã§èª¬æãããã®ãšåããã«ãã¹ããŒãžãå®çŸã§ããŸãã ãã®ããã ãã«ãç°ãªãèšèªã®ãã¬ãŒã ã¯ãŒã¯å ã®ç¿»èš³ãæå®ã®é åºã§ããŒãžããå¿ èŠããããŸãã
æãåºã«æ»ããŸãããã èšå®ãã¡ã€ã«ãäžäžã«å¡ãã€ã¶ããããããçµåãããé åºãããã£ãã®ã§ããã¹ãã®å®äºåŸã«ã¡ã¢ãªã®ã¯ãªã¢ãè©Šã¿ãããšãã§ããŸãã ãããè¡ãã«ã¯ãããŠã³ããŒãããããã±ãŒãžãšãããè¿œå ãã翻蚳ãåé€ããå¿ èŠããããŸãã 次ã«ãæçµçãªç¿»èš³ã§æ®ããçµåããŸãã
è¯ãããšãå€æããŸããã ããã§ã翻蚳ã®ãããã¯å šäœãã¡ã¢ãªããããŒãããã³ã¢ã³ããŒãã§ããŸãã ããããé£ã®éšçœ²ã®ååã¯ãããç°¡åã§ç°¡åãªè§£æ±ºçãææ¡ããŸããããã¹ã翻蚳ã1ã€ã®å€æ°ã«æžãããšã§ãã ãããã£ãŠãåŸç¶ã®åãã¹ãã®ç¿»èš³ã¯ã以åã®ç¿»èš³ãäžæžãããŸãã ãã®ãšããŸã§ã«ãäžèšã®ãã¹ãŠããã§ã«2åå®è£ ãããŠããããšã¯æ®å¿µã§ãã
ãªã2ã€ïŒ æ§æãã¡ã€ã«ã®æ§é ã説æãããšãã«ééã£ãŠããããã§ãã ã·ã¹ãã ã¯ãªã³ã©ã€ã³ãšãªãã©ã€ã³ã®äž¡æ¹ã®äœæ¥ã«å ±éã§ããå¿ èŠãããããšãäžèšã§ãã§ã«æžããŸããã ãªãã©ã€ã³ã§äœæ¥ããå ŽåãJSãã¡ã€ã«ãçŽæ¥æ¥ç¶ããããšã«ãã£ãŠã®ã¿ç¿»èš³ãã¢ããããŒãã§ããŸãã ãã®åæåãã¡ã€ã«ã¯ãããŒã¿ãªããžã§ã¯ããæäŸããŸãã ãªããªã å°æ¥ããããåé€ããäºå®ã§ããIDã§ãªããžã§ã¯ãã«çœ²åããå¿ èŠããããåãIDãæ§æãã¡ã€ã«ã«ä¿åããå¿ èŠããããŸãã 翻蚳IDã®ãªã¹ããåãåã£ãæ§æãåé€ãããšããªã¯ãšã¹ãã§ããŠã³ããŒãããããã¹ãŠã®ç¿»èš³ãåé€ãããŸãã æ§æãã¡ã€ã«ã®æ§é ã次ã®ããã«èª¬æããŸããã
{ id: "id ", translations: { ru: { b: "/lang/b.js", a: "/lang/a.js" } } }
ãAããBãžã®è»¢éããŸãã¯ãBããAãžãã®æŽæ°ã誰ãããŒã«ããŸããïŒ éãè¯ããã°ãA to Bãã§ããã圌ã¯ãããè¡ã矩åã¯ãããŸããã æ§é ã¯é åã§ã¯ãªããããé åºã¯éèŠã§ã¯ãããŸããã ããã«ãå¥ã®ééãã¯ããã¡ã€ã«ãã¢ããããŒããããé åºããã«ãé åºã«åœ±é¿ããããšã§ããã ãããã£ãŠãç§ã¯ããçŽãå¿ èŠããããŸããïŒ
{ id: "id ", translations: { ru: [ { id: "b", url: "/lang/b.js" }, { id: "a", url: "/lang/a.js" } ] } }
ããã¯ããŒã«ãªãŒãŒã·ã§ã³ã·ã¹ãã ã§ããïŒ ããããããã¯æ§æèªã¿èŸŒã¿ã·ã¹ãã ã§ãã ç§ãç¯ãããã1ã€ã®ééãã¯ãæåã®ããŒãžã§ã³ã§ã¯ããã«ã¯ã©ã¹ã«å²ãåœãŠãªãã£ãããšã§ãã äžè¬ã«ãããªãã®æ°ã®åå¥ã®ã¯ã©ã¹ãšã¢ãžã¥ãŒã«ãååŸãããŸãã
- äœããã®çš®é¡ã®ãã¡ã€ã«ããŠã³ããŒããŒã JSãã¡ã€ã«ã¯ããèªäœãããŒãããŸããã
- çŸåšã®èšèªã®ã¢ã€ã³ã³ãæç»ããéžæå¯èœãªä»ã®ãªã¹ãã衚瀺ãããã®ã
- è€æ°ã®ãªããžã§ã¯ããšèšå®ã1ã€ã«çµåããããã®ããŒã¹ïŒäžèšã®ããã«ïŒã
- å°ãªããšãã¡ã¢ãªçšã®æãåçŽãªã©ã€ãã©ãªïŒãŠãŒã¶ãŒãéžæããèšèªãèŠããŠããå¿ èŠããããŸãïŒ;
ã»ãšãã©ã®ãæ¢è£œãããŒã«ãªãŒãŒã·ã§ã³ã¢ãžã¥ãŒã«ã§ã¯ãããã¯ããã§ã¯ãããŸããã ãªãã§ïŒ ããããããããæžã人ã¯ãã£ãã«äœ¿çšããªãããã§ãããã
èå³æ·±ãäºå®ïŒ
JSã®ããŒã«ã©ã€ãºã·ã¹ãã ãµã€ãã¯ããããããŒã«ã©ã€ãºãããŠããŸããã
ãªã³ããã³ãã§ã®ã¿DOMãæŽæ°ããŸã
ãã¹ãŠã®ããŒã«ãªãŒãŒã·ã§ã³ã·ã¹ãã ã«ãèšèªãåãæ¿ããŠDOMããªãŒãæŽæ°ããåå¥ã®æ¹æ³ãããããã§ã¯ãããŸããã ãã¹ãŠã®ç¿»èš³ã®æºåãã§ããçŽåŸã«æäœãå®äºããå¿ èŠãããå Žåãããã¯å°é£ãåŒãèµ·ããå¯èœæ§ããããŸãã ãŸããå€ãã®å®è£ ã§ã¯ãå翻蚳ãã¡ã€ã«ã®èªã¿èŸŒã¿ãå®äºããåŸã«DOMããªãŒãæŽæ°ãããŸãã ããšãã°ãèšèªããã¢ã«ã¡ãã¢èªãã«åãæ¿ããŸããã ã·ã¹ãã ã¯ã3ã€ã®ç¿»èš³ãã¡ã€ã«ã®ããŒããéå§ããŸããã¡ã€ã³ã€ã³ã¿ãŒãã§ãŒã¹ãèšå®ããã©ã°ã€ã³ã®ç¿»èš³ã§ãã ãã®ãããªç¶æ³ã§ã¯ãDOMãæŽæ°ããã®ã¯1åã ãã§ãïŒãªã¹ãã®æåŸã®ãã¡ã€ã«ã®ããŒããçµäºããåŸïŒã
è±èªãmotherf **ã«ãŒïŒ 話ããŸããïŒ
ããã§ããŒã«ã©ã€ãºã®æºåãã§ããŸãããïŒ ããïŒ ããã§ããã®ã·ã¹ãã ãåãå·»ãã€ã³ãã©ã¹ãã©ã¯ãã£ã決å®ããæºåãã§ããŸããã 翻蚳ãå«ããã¡ã€ã«ã®åœ¢åŒãšæ§é ã¯ããã°ã©ããŒã決å®ãããã®å 容ã¯ç¿»èš³è ãŸãã¯ãããžã§ã¯ããããŒãžã£ãŒã決å®ããŸãã ãããã®äººã ã¯ãæ å ±ã¹ãã¬ãŒãžã®éžæãããæ§é ã«ç²ŸéããŠããã ãã§ãªãããããåãå ¥ããŠç解ããããšããè©Šã¿ãæŸæ£ãããããããŸããã JSONãªããžã§ã¯ãã®åŒçšç¬Šãç°¡åã«åé€ããããXMLã®ã¿ã°ã誀ã£ãŠåé€ãããããå¯èœæ§ããããŸããããã«ãäžè¬çã«å€ãã®ãŠãŒã¶ãŒãMicrosoft WordïŒDOCXïŒåœ¢åŒã®ãã¡ã€ã«ã䜿çšããããšã奜ã¿ãŸãã
ã€ã³ãã©ã¹ãã©ã¯ãã£ã®ã¿ã¹ã¯ã¯ã管çè ã«ããŒã«ã©ã€ãºçšã®ããŒã«ãæäŸããã ãã§ãªãã翻蚳ã®å®å®æ§ãšã¢ã»ã³ããªãšæŽæ°ã®å®¹æããä¿èšŒããããšã§ããããŸãã ããŒã«ãªãŒãŒã·ã§ã³ã·ã¹ãã ã¯ãå€ãã®å Žåãã€ã³ãã©ã¹ãã©ã¯ãã£ãšã©ãŒãäžè¶³ã«æ©ãŸãããŸãã 翻蚳ã§ãã¡ã€ã«ãæŽæ°ããããããææ°ã®ç¶æ ã«ä¿ã€ã®ã¯éåžžã«è€éã§ãããããå€ãã®å Žåã1ã€ãŸãã¯è€æ°ã®èšèªãç¡å¹ã«ãªããŸãã
Mushroom Warã²ãŒã ã®ãããŒãžã£ãŒã¯ãExcelã¹ãã¬ããã·ãŒãã䜿çšããŠç¿»èš³ãåŠçããŸãã翻蚳ã¯ããŒãµãŒã«ãã£ãŠåŠçãããXMLããã¥ã¡ã³ãã«å€æãããŸããXMLããã¥ã¡ã³ãã¯ãããŒã«ãªãŒãŒã·ã§ã³ã·ã¹ãã ããããžã§ã¯ãããã«ãããããã«äœ¿çšããŸãã

Evilibriumã®ã¡ã³ããŒã¯ããã¡ã€ã«ãçŽæ¥æäœããªãããšã決å®ããGoogleããã¥ã¡ã³ãã§ãŸã£ããåãã¿ãã¬ãããäœæããŸããã ããžãã¯ã¯åçŽã§ã-翻蚳è ã«ãªã³ã¯ãéä¿¡ããããšã¯ããã¡ã€ã«ãéä¿¡ãããããç°¡åã§ãã ãããã£ãŠã誰ãããªã³ã©ã€ã³ã§ç¿»èš³ãè¡ããçµã¿ç«ãŠäžã«ã¿ãã¬ããã¯åãæ¹æ³ã§ããŠã³ããŒããããç®çã®XMLã«è§£æãããŸãã

çŸæç¹ã§ã¯ã翻蚳ãæ±ãããã®å€ãã®ãªã³ã©ã€ã³ãµãŒãã¹ããããŸãã 誰ããè¯ãã誰ããæªãããã»ãšãã©å šå¡ã翻蚳è ãŸãã¯ç¿»èš³è ã®ã°ã«ãŒããšããåãããã¿ã¹ã¯ã«å¯ŸåŠããŸãã ãŸããã»ãšãã©ã®ãµãŒãã¹ã¯ãã¢ããªã±ãŒã·ã§ã³ãèªåçã«ç¿»èš³ããæ©èœãæäŸããŸãã ãã®ãããã¯ã«é¢ããã€ã³ã¿ãŒãããäžã®å€ãã®èšäºããããŸããã ãã®èšäºã¯ãã¿ã³ã¢ã³ãŒãã£ãªã³ã«é¢ãããã®ãªã®ã§ãç¬èªã®ç¿»èš³ããã°ã©ã ãäœæããªãã®ã¯çœªã§ãã
ç¶è¡ããåã«ãç§ãæãã«ãèªå翻蚳ãæ£åžžã§ããçç±ã«ã€ããŠå°ã説æããããšæããŸãã 第äžã«ãäžé£ã®ã«ãŒã«ïŒåçŽãç°¡æœãçŽæ¥çãªèªé ãªã©ïŒã«åŸã£ãŠããã¹ããèšè¿°ããå Žåãèªå翻蚳ã¯90ïŒ ã®ç²ŸåºŠã«éããå¯èœæ§ããããŸãïŒKristina Yaroshevichã®ã¬ããŒããåç §ïŒã第äºã«ãã»ãšãã©ã®ã¢ããªã±ãŒã·ã§ã³ã§ã¯ããªãŒãã³ãã¯ããŒãºãä¿åãããŒããæ°ããã²ãŒã ãçµäºã次ãžããã£ã³ã»ã«ãªã©ãããªãæšæºçã§äžååãªãã¬ãŒãºã®ã»ããã䜿çšãããŸããééã£ãŠç¿»èš³ããã®ã¯éåžžã«å°é£ã§ãã第äžã«ãããªããšç§ã¯ããã·ã¢èªã®ãã€ãã£ãã¹ããŒã«ãŒãšããŠãããããã®rozumÑtibagato mov slovyanskogo movno grupiãæã£ãŠããŸãããã®ããã翻蚳è ãããªããŠã翻蚳ã®é倧ãªãšã©ãŒããã§ãã¯ã§ããŸããããããããã¯ç§ã®å人çãªæèŠã§ããäŸãã°ãPavel Doroninã¯åœŒã®èšäºã§ãæ£å察ã®æèŠãå æããŸããã
次ã®ã¢ããªã±ãŒã·ã§ã³ãããŒã«ã©ã€ãºããããã«ã翻蚳ãå«ããã¡ã€ã«ãã«ããããå¿ èŠããããŸããã翻蚳ãéã£ãããªãŒã©ã³ãµãŒã¯ãåžžã«JSONãå£ããŠããŸãããããã«ãJSONã®ä»£ããã«ããã¬ãŒã³ããã¹ããéä¿¡ãå§ããŸãããæåã®è¿äŒŒã§ã¯ãã¿ã¹ã¯ã¯ããªãŒã©ã³ãµãŒã®ããã¹ãããæå¹ãªãªããžã§ã¯ããååŸããããšã§ããããã®ã¿ã¹ã¯ã®ããã«ã2ãŠã£ã³ããŠã¢ããªã±ãŒã·ã§ã³ãèã®äžã«äœæãããŸããïŒå ¥åã®ããã¹ããåºåã®JSONïŒãããã¹ãããã¬ãŒãºã«åå²ããæ¹æ³ã¯ïŒäŸãèŠãŠã¿ãŸãããïŒ
TEXTAREAã®ããã¹ãïŒ
1 2
æ®éã®äººãèŠãŠããããã«ïŒ
1 2
ããã°ã©ããŒãèŠãŠããããã«ïŒ
1\n 2
ãããïŒããã¹ããåå²ã§ããã·ã³ãã«ããããŸãããŸããããã¯é ãããã·ã³ãã«ã§ããã翻蚳è ã¯èª€ã£ãŠãããå£ãããæãããããããšã¯ã§ããŸããïŒå°ãªããšãã»ãšãã©ã®å ŽåïŒã splitïŒïŒãä»ããŠããã¹ããé åã«å€æããããããªããžã§ã¯ãã«çœ®ãæããŸãããããJSON.stringifyïŒïŒã«éã蟌ã¿ãå¿ èŠãªæå¹ãªãã¡ã€ã«ãååŸããŸãã

ãªããªãJSONãã³ãã¬ãŒãã¯ç°ãªãå ŽåããããŸããå¥ã®ãã¡ã€ã«ã«é 眮ããããšããå§ãããŸãããããŠããããå¥ã®ãã¡ã€ã«ã«å ¥ããã®ã§ãJSONã ãã§ãªãçæããããã«æããŠãããã§ããïŒãããã®èãã«åºã¥ããŠãããã³ãã¬ãŒãçæãæ©èœãç·šéã§ããå¥ã®ãŠã£ã³ããŠãããã°ã©ã ã«è¿œå ããŸãããå ¥åã§ã¯ã翻蚳ããããã¬ãŒãºã®é åãåãåããåºåã§ã¯ãJSONãXMLããŸãã¯ä»ã®äœããè¿ããŸãã

次ã®ã¢ããªã±ãŒã·ã§ã³ã®ç¿»èš³ãå¿ èŠã«ãªã£ããšããäœããã®èªå翻蚳æ©ãåºå®ããã°ãå€§å¹ ã«ç¯çŽããŠç¿»èš³ã®éãå¢ããããšãã§ãããšæããŸãããããã«èšã£ãŠãã£ããããã§ãããã°ã©ã ã¯ããã¹ããååŸãããããäžé£ã®èšèªã«ç¿»èš³ããæçµçãªæå¹ãªJSONãçæã§ããŸãã

ãã®åŸãJSONãããã¯ãã¹ãJavaScriptãã¡ã€ã«ã«ã«ããããã¹ã¯ãªãããæžãå§ããŸããããã®åŸã圌ã¯èããŠã代ããã«NodeJSã«å°ããªããŒã«ã«ãµãŒããŒãäœæããŸããã次ã«ãYandex.Translatorãã次ã®è»¢éãåä¿¡ããåŸãããã°ã©ã ã¯ããŒãã«ããŒã¿ãéä¿¡ãå§ããå¿ èŠãªãã¡ã€ã«ããã®å Žã§ã«ããããŸããã
çµæã¯éåžžã«æºè¶³ããŠããŸããããŠãå°ããªã²ãŒã ã«ã¯çŽ45ã50ã®èšèªã®æšæºç¿»èš³ãä»å±ãå§ããŸããããããã£ãŠãããŒã«ãªãŒãŒã·ã§ã³ã¯éèŠãªå Žæã§ã¯ãªãããå¿«é©ãªè¿œå ã§ããããã€ãã®å°ããªè£œåããªãªãŒã¹ãããŸããã
ãã¹ãã®çµæãåãå Žæã§èªå翻蚳ã誀ã£ãŠããããšãããããŸãããããšãã°ããæ»ãããšããåèªã¯ããåããŸãã¯ããã ããšããŠç¿»èš³ãããŸãïŒã20幎åãã®æå³ïŒããªããªããã¬ãŒãºã¯åãæŸèæãçŸãå§ããŠãããããæç¹ã§ãããããåé€ããŠèŸæžãè¿œå ããããšã«ããŸããããã®ãããããã°ã©ã ã«ã¯3çªç®ã®ãŠã£ã³ããŠããããŸãã

ããã§ãèŸæžã«ã¯æ¬¡ã®ãããªãã£ãŒã«ããå«ãŸããŸããã
{ ru: { en: { "": "Back" ...
ãªããªãèŸæžã®è¿œå äžã«ãã¢ããªã±ãŒã·ã§ã³ãå°ããªãã¡ã¯ã¿ãªã³ã°ããããšã決ãããã®åŸå€ãã®å€æŽãå ããŸãããåæã«ãããŒã«ã©ã€ãºã«ã€ããŠãã£ãšèªãããšã«ããŸããããã®ç¬éãDenis Lukyanovã®èšäºããœãããŠã§ã¢ããŒã«ãªãŒãŒã·ã§ã³ã®ããã®7ã€ã®ãªã³ã©ã€ã³ãµãŒãã¹ã®æŠèŠãã«åºäŒãããã®éãã£ãšèªè»¢è»ãæžããŠããããšã«æ°ä»ããŸãã...
ããŠãããªãã¯äœãã§ããŸãããèªè»¢è»ã¯èªè»¢è»ã§ããååãããç§ã¯ãããçµããããšã決ããæåŸã®ä»äžããããŸãããããã§ãããŒãã¯ããã«ç¿»èš³ãå€æ°ã®åœ¢åŒïŒJSãJSONãXMLãPOãYMLãCSVïŒã«ã«ãããå§ãããããã®ãã¡ã€ã«ããã¯ãªãŒã³ããšãããŒãã£ãã®2ã€ã®ãã©ã«ããŒã«ä¿åããŸããã ãããŒãã£ããã©ã«ããŒå ã®ãã¡ã€ã«ãå€æŽãããšããã£ã¯ã·ã§ããªå ã®ãåæããã¯ãªãã¯ã§ããããŒãã¯æ€åºãããéãã«å¿ããŠãã£ã¯ã·ã§ããªãèªåçã«çæããŸããçŸåšãåæã¯ååã®åœ¢åŒã§ã®ã¿æ©èœããŸããããã°ã©ã ããããç¶ãããã©ããã¯æ確ã§ã¯ãããŸããããµã€ãã«

ã¢ã¯ã»ã¹ããŠããã®å€èŠ³ã確èªããããããŠã³ããŒããããããããšãã§ããŸãïŒèšå®ã®ãã¡ã€ã«ãžã®ãªã³ã¯ïŒãå°ãªããšã10人ãç¶ç¶ããå¿ èŠãããããã«ç»é²ã解é€ããå Žåãç§ã¯ãããæãåºãããŸããããã«ããã€ãã®æ©èœãå¿ èŠã§ãïŒ
- èšå®ãä¿åãã è·å Žã§ã¯ãå€ãã®ãããžã§ã¯ããåãæ¿ããå¿ èŠããããŸãã
- ãã¡ã€ã«ãæåã§è»¢éããã«ããã«ç®çã®ãããžã§ã¯ãã®ãã«ãã«åé¡ãããããã«ã翻蚳ãä¿åããæ¹æ³ã®éžæã
- ä¿å圢åŒã®éžæããšã㊠POãYMLãXMLãJSONã¯å®éã«ã¯äœ¿çšãããŸãããæ¯åçæããããšã¯æå³ããããŸããã
çæ³çã«ã¯èµ·ãããŸãã
1é±éåã«ãã®èšäºãæžããŸããããäžèšã®èªè»¢è»ã®ãªãã¡ã¯ã¿ãªã³ã°ãæ¢ããããšã¯ã§ããŸãããç§ã¯1ã€ãæžãçŽãããã1ã€ãæžãçŽããŸããã3ã€ç®ã®åé¡ãä¿®æ£ããããŸã§ã誰ã«ãèŠããããšã¯ã§ããŸãããäžè¬ã«ãããã¯å®çšçãªãããã¿ã€ããšèŠãªãããŸãã
ããŒã«ã©ã€ãºãªãã®ããŒã«ãªãŒãŒã·ã§ã³
ããŒã«ãªãŒãŒã·ã§ã³ã·ã¹ãã ã¯ããŸããç¹å®ã®å®æ°ã»ããã®å€ã®å¶åŸ¡ã·ã¹ãã ã§ãããã®äžã§éžæãããèšèªã¯ããããã®ã»ãããåãæ¿ããããšãã§ããããŒã§ããããŒã1ãæã§å€æŽããããšã«ãããã¢ããªã±ãŒã·ã§ã³å šäœã§å®æ°ãå€æŽããŸãããããŠããã®èãã«æ°ä»ããŠãããªããå€åããŒã«ãªãŒãŒã·ã§ã³ã·ã¹ãã ã®å¯èœæ§ãç°ãªãè§åºŠããèŠãŠãã ãããã·ã¹ãã ãéæšæºçã«äœ¿çšããããã€ãã®ã±ãŒã¹ãäžç·ã«èŠãŠã¿ãŸãããã
ã¢ããªã±ãŒã·ã§ã³ã®å€èŠ³ãå€æŽãã

äœæ¥ã§ã¯ãåãã¢ãžã¥ãŒã«ã»ããã䜿çšããŠãã³ã³ãã³ãã販売ããäžè¬çãªã¢ãã€ã«ãµã€ããäœæããŸããããŒãããŒããšã«ãã¢ã€ã³ã³ã®ã»ãããå«ãããã€ãã®ã¹ã¿ã€ã«ãå€æŽããŸããããã«ãäŒæ¥ãããã¢ãŒã·ã§ã³ã§ã¯ãç¹å®ã®ãµã€ãã®å€èŠ³ãå€æŽããŠãã¿ãŒã²ãããªãŒãã£ãšã³ã¹ã«é©ããã ãŒããäœæããŸãïŒããšãã°ãæ°å¹Žã®ã¹ã¿ã€ã«ãããã¬ã³ã¿ã€ã³ããŒãã称ããããŒãïŒãåãã¬ã€ã¢ãŠããã³ãã¬ãŒãã䜿çšããã«ã¯ããããããã€ã¡ãŒãžã¢ãã¬ã¹ãåé€ããå¿ èŠããããŸããããã®ãããªåç»åã«ç¹å®ã®èå¥åãä»ããJSONãªããžã§ã¯ãå ã®ãã¹ãŠã®ã¢ãã¬ã¹ã察å¿ããããŒã§æžãçããŸãããã·ã¹ãã ãæ©èœããããã«ã¯ãçŸåšã®æ§æãšããŒãã«åºã¥ããŠããã¹ãŠã®åçãçŸåšã®ã¢ãã¬ã¹ã«èªåçã«ç»é²ããç¹å®ã®ã¡ã«ããºã ãå¿ èŠã§ãããã ãããã®ã¡ã«ããºã ã¯ãäžæ¹ã§èšå®ãåãåããä»æ¹ã§ç¹å®ã®èå¥åã§å€ãè¿ãå¿ èŠããããŸãããŸããDOMãæ¢ã«åœ¢æãããŠããå Žåã¯ãDOMããªãŒã調ã¹ãŠãããŒã¯ããããã¹ãŠã®ç»åãèªåã§æŽæ°ã§ããããã«ããããšæããŸãã説æããã·ã¹ãã ã®æ©èœã¯äœãæãåºãããŸãããïŒ
ç»åã¢ãã¬ã¹ãæã€JSONãªããžã§ã¯ãã®äŸïŒ
{ header: { menu: { normal: "/images/201409/menu__normal.png", hover: "/images/201409/menu__hover.png" }, search: "/images/201407/search__blue.png" }, ... footer: { icon: "/images/201408/question.png", up: "/images/201407/up.png" } }

ãã®ãããªäžå¯Ÿäžã®ã¡ã«ããºã ã¯ãããŒã«ãªãŒãŒã·ã§ã³ã·ã¹ãã ã®ããžãã¯ãç¹°ãè¿ããŸãããããããªãããªããããäœæããã®ã§ããïŒããŒã«ãªãŒãŒã·ã§ã³ã¢ãžã¥ãŒã«ã«ãã®äœæ¥ã匷å¶ããããšãã§ããŸããèšèªå€ãšããŠç®çã®ãããã¯ã®ååã®ã¿ã䜿çšããŸããããã«ãåè¿°ã®ããã«ãããŒã«ã©ã€ãºã·ã¹ãã ã¯ãã©ã°ã€ã³ã¹ã¿ã€ã«ã®ã¢ãã¬ã¹ãå€æŽããããšãã§ããŸããããã¯ããã©ã°ã€ã³CSSã³ãŒããå«ãå¶åŸ¡ãååŸããããšãæå³ããŸããåãèšå®ãã¡ã€ã«å ã§ç¿»èš³ãšèšèªãæ··åšãããããªãå Žåã¯ãOOPãªãã§è¡ãããšã¯ã§ããŸãããOOPã¯ãç°ãªãç®çïŒ1ã€ã¯ç¿»èš³ãããŒã«ãããã1ã€ã¯ã¹ã¿ã€ã«ïŒã®ããã«ããŒã«ã©ã€ãºã®2ã€ã®ã€ã³ã¹ã¿ã³ã¹ãäœæããæ¹æ³ã®è³ªåã«çããŸãã
æ°åŒã®ä¿æ°ã®å€æŽ
ã²ãŒã æ©çšã®ãœãããŠã§ã¢ãéçºããUnicum瀟ã®ããã°ã©ããŒããããŒã«ãªãŒãŒã·ã§ã³ãã¡ã€ã«ã«æ°åŠçä¿æ°ãå«ããŠè³éãèšç®ããŸãããããã¯ãã²ãŒã ã®æ³åŸããœãããŠã§ã¢ã䜿çšããåœã«ãã£ãŠå€§ããç°ãªãå Žåãããããã§ãããããã£ãŠãããšãã°ãã¹ããããã·ã³ã®è³éã®å¹³åå²åã¯ã60ïŒ ãã95ïŒ ã®ç¯å²ã§å€åããå¯èœæ§ããããŸãã
ããã«ãããŸããŸãªé£æ床ã®ã²ãŒã ãéçºããå ŽåãããŒã«ãªãŒãŒã·ã§ã³ã·ã¹ãã ã䜿çšããŠãã²ãŒã ã®ãã©ã³ã¹ã«åœ±é¿ããä¿æ°ãä¿åãããã°ããå€æŽããããšãã§ããŸãã
ã¹ããŒãªãŒã®å€æŽ
ã²ãŒã ã®ãããããã°ã©ããšããŠèšè¿°ãããJSONãªããžã§ã¯ããšããŠä¿åããããªããžã§ã¯ãã®ããŒãžæäœãå®è¡ã§ããããŒã«ãªãŒãŒã·ã§ã³ã·ã¹ãã ã«æž¡ãããå Žåãã¡ã€ã³ã¹ããŒãªãŒã©ã€ã³ã«ããããšè¿œå ãäœæã§ããŸãããã ããè€æ°ã®ã¹ããŒãªãŒã©ã€ã³èªäœãäœæããã²ãŒã ã®éå§æã«ããããã©ã³ãã ã«éžæããããšãã§ããŸãïŒããŒã¯ãéžæãããèšèªãã§ã¯ãªãããéžæããããããããã§ãïŒã
ã²ãŒã ã«ãŒã«ã®å€æŽ
ãã©ãã¯ãžã£ãã¯ãšãã€ã³ãã²ãŒã ã®éãã¯äœã§ããïŒããŸããªããäž»ãªéãã¯ããããã§ã¯ãªã36æã®ã«ãŒãã®æ°ã§ãããªã³ã©ã€ã³ãã©ãã¯ãžã£ãã¯ãæžããå ŽåïŒå幎åã«æžããããã«ïŒãJSONã§ããããè©°ã蟌ã¿ãããŒã«ãªãŒãŒã·ã§ã³ã·ã¹ãã ã®ã€ã³ã¹ã¿ã³ã¹ã«å ¥ããŠãèšå®ã«ãªãã·ã§ã³ãã«ãŒã«ã®åãæ¿ãããè¿œå ããŸããæéŠã軜ãåããã ãã®ããŒã«ãªãŒãŒã·ã§ã³ã·ã¹ãã ããã²ãŒã ã«ãŒã«ãéžæããã·ã¹ãã ã«å€ãããŸããã
ãŸãšããšçµè«
JavaScriptïŒ
- JSONãŸãã¯XML圢åŒã§ç¿»èš³ãä¿åããŸãã
- 翻蚳ãã¢ãžã¥ãŒã«ã«åå²ããŸãã
- ãªã³ããã³ãã§ã®ã¿DOMãæŽæ°ããŸãã
- ã¡ã¢ãªãæ¶å»ããŸãã
- èšèªãéžæããæ©äŒãæäŸããŸãã
- è¡ã£ãéžæãèŠããŠãããŠãã ããã
ã¢ã»ã³ããªã·ã¹ãã ã«ã€ããŠèããŸãã
- 翻蚳è ããã®ããŒã¿ãããã°ã©ããŒåãã®åœ¢åŒã«å€æããŸãã
- åã ã®ã¢ãžã¥ãŒã«ã®ã°ã«ãŒãã1ã€ã®æçµçã«ç¿»èš³ããŸãã
Denis Lukyanovã®å®æåãéžæããŸãã
ã¬ã€ã¢ãŠãæïŒ
- RTLã«ã€ããŠèããŸãã
- ããã¹ãã®é·ããå¶éããŸãã
- 翻蚳ãžã®ãã€ã³ã¿ã¯å±æ§å ã«ãªããã°ãªããŸããã
- ç䌌èŠçŽ ãä»ããŠCSSã§ç¿»èš³ãæžãããšããªãã§ãã ããã
rtl-cssã䜿çšããAlexander TevosyanãèŠãŠãã ããã
ããã¹ãïŒ
- UTF-8ã§ä¿åã
- ãã©ã³ãã¯ãã¹ãŠã®èšèªããµããŒãããå¿ èŠããããŸãã
- æ¬äŒŒããŒã«ãªãŒãŒã·ã§ã³ã䜿çšãããã¹ãã
- é床ã®æé©åãé¿ããŸãã
Pavel Doroninãèªã¿ãŸãã
ããã¹ãã§ã次ãåé€ããŸãã
- å矩èª;
- åæž;
- åè©;
- åè©åè©;
- ååæ
- ç¡æå³ãªåè©;
- éå人åãããæ§é ;
- å眮è©ãã§;
- å£å®ã®ãªãå€ãã®å Žå;
- èšèã®çç¥;
Kristina Yaroshevichã衚瀺ããŸãã
è¿œå ïŒ
- ç°¡åãªæç« ;
- çŽæ¥çãªèªé ã
- æ å ±ã¹ã¿ã€ã«;
æ å ±ã¹ã¿ã€ã«ã®å ŽåïŒ
- ã¹ãããã¯ãŒããåé€ããŸãã
- æ§é ã匷調衚瀺ããŸãã
- ç»åãšæ å ±ãè€è£œããŸãã
ç« ã䜿çšããŸããç·š ãMaxim IlyakhovãèŠãŠãã¹ã¯ãªãŒã³ã·ã§ãããæºåããŠãã ããã
ããã€ãã®å©ç¹ïŒ
èšèªãšãã®åå
{ ar: "عرؚÙ", // az: "AzÉrbaycan", // be: "Ñ", // bg: "", // bs: "Bosanski", // ca: "Català ", // cs: "ÄeÅ¡tina", // da: "Dansk", // de: "Deutsch", // el: "ÎλληΜικά", // en: "English", // es: "Español", // et: "Eesti", // fa: "ÙارسÛ", // fi: "Suomi", // fr: "Français", // he: "×¢×ך×ת", // hr: "Hrvatski", // hu: "Magyar", // hy: "ÕÕ¡Õµ", // ja: "æ¥æ¬èª", // id: "Indonesian", // is: "LjóðmÊli", // it: "Italiano", // ka: "á¥áá áá£áá", // kk: "ÒÒ", // ko: "íêµìŽ", // ky: "", // lt: "Lietuvių", // lv: "LatvieÅ¡u", // mk: "", // ms: "Melayu", // mt: "Malti", // nl: "Nederlandse", // no: "Norsk", // pl: "Polski", // pt: "Portuguesa", // ro: "RomânÄ", // ru: "", // sk: "Slovenskej", // sl: "Slovenski", // sq: "Shqiptare", // sr: "", // sv: "Svenska", // tg: "Ò·Ó£", // th: "à¹àžàž¢", // tr: "TÃŒrk", // tt: "", // uk: "Ñ", // vi: "Viá»t nam", // zh: "äžåœ" // }