topic "Translating U++"; [2 $$0,0#00000000000000000000000000000000:Default] [i448;a25;kKO9;*@(64)2 $$1,0#37138531426314131252341829483380:class] [l288;2 $$2,2#27521748481378242620020725143825:desc] [a83;*R6 $$3,0#31310162474203024125188417583966:caption] [l288;i1121;b17;O9;~~~.1408;2 $$4,0#10431211400427159095818037425705:param] [i448;a25;kKO9;*@(64)2 $$5,0#37138531426314131252341829483370:item] [*+117 $$6,6#14700283458701402223321329925657:header] [l416;2 $$7,7#55548704457842300043401641954952:nested`-desc] [l288;i448;a25;kO9;*2 $$8,8#64691275497409617375831514634295:nested`-class] [{_}%EN-US [s0; [*R+150 HOWTO: Submit translations to the U`+`+ project]&] [s0; &] [s0; Before starting the translation work, get to know TheIDE and pay attention to the context of the terminology used. Try to use already established computer terminology in your language instead of inventing new terms.&] [s0; &] [s0; &] [s0; [*+117 1. Export .tr file]&] [s0; &] [s0; Run the latest theide and load the uppsrc AllForI18n. This package uses all other uppsrc packages that need translating.&] [s0; &] [s0; Choose Project / Export runtime translation file (`*.tr):&] [s0; &] [s0;= @@image:2106&775 с흉䥰ەݞǒ薖 נ‘Äܷߝәͧս݅쓸輰 ܢ܂ͭВȅԣⵈ⌎ۅʍʾ 鸧ψ޵τ޵؜Ƴωџ¡̢Ħ–ľՑ ܀ĞѺҟҋڭؖ֏ЄґȀ« ҅ܔϽͭ݊쀑͔п惜÷זȣɠĆהͨ ؆à׫ÓڹֿŠơ˙ԥƼ© ϡÌ͚ـܥ⪹䤒 ɂߴȞ񆑣ŐϨݥœ壀ߚʥآ哫爴 ޺ϖދЃꫛՆּՠŔÄœ Μոዖ猷ɩԞ鮰짶ͺđìƏݧ 뵯үݼզϨֿٓ݇ǫ췽 ̱۶ċ©ීѶՆެ͛ ݉ިܰNJÿʓڇê œͶΏᅃDŽ͋կŲǫϥ֯ܳў ʭ˭ߎǫ塅ڔҨʛꌉʫƿνҶ ƫڤܟ˧ςѫͨɣ۔䠰ܷÍ郫 Ϸ̅믆ŗߌԍϩѼ񂅇ā՛ۇ֬ 憾׭׭იўʓ뭸۔ﰆüڧ ϭ„՛þ䕌צ΂˨ؙ 훂ɼ羲ċ؜šݭ 渜Σʿҡ䜟Ϙ՞оھ磼 љȁډ㯼ĖҺ󇝌ܹśɬڵ¢ϼ ڼĎؼܱբܼǧɕ䙻ک ߼ٍ֌̠Ǒ˷俗Ɛ ᩖهŹѷ¾ޑӿٺҿզ䆜 ʥݣ̨˟ɗþѷބɥ֬Ԇ񅼙 ݬٱŎυ霎͌ےȲݤ򦳰Ӭͬćַ ߰٢ƘѨǽӈ獯ɨʏ梪坼 ߣǢ؝큾Ǯ͎Κ飿䏨岳ٮ¢ր Ȯޕȵ┍Ӥ𛺍ۮʽ嫧Ւ러˔ב׵ ̓؋ٕʾ؟綴ּ衢ȒȡÄ ďψҮڸ҂֧ᴕ遟ΓϔϢɗ ɼ˜фֳޜ؇יꦰ乓槀Dz޲ڴ񣿝 ͦ饗Ӳѧ·컳ŊڻȄˠㅀܧ˞ՙڹ ԯѬĿ͸”ݷؕ֓ٽﻌ߈ܛļõ ŏɓ𷜚򃸻ﯿ懇ɚΘЃ սߔѧ·ŗ꓈ᖑ߼̻ ıԯĩΏҬݱιɹ艅ؿܐϑ ᯚʁ흼嚚貞Ԇь҆ϾʆȏԜɕ̦Я흥 ĉ߃·ያÛӐߓ눣ـŽ㷯ݜٿ”Ք ኲ㪕˓׬ݼđÇݓўоĢкՆ ֜Ӫ긇ꖠܓٳͲɃ㦕ƨңλչ ݳ䢜Ӊüݫ߼”ہϻߩ 齃˺ųƗϼϏLJ򣢉ყ󿼱ʷ ŗ섉ϴꞚğ̜ɓ Ҹ֛őо߭ؐᾱӢ壉«вәȑ ‹ޤꌿ奋ͭᚶخĄϯߩƊ݄߯ 򱝖ךĶȫƺޔ̂ߩ⪩䍍Ðՠ 琇朴˖ҷ܈sߒ򋾈Š 죞󐸪ʅ堒죀ԞԞŠԠ€Ԟ„ԞŠȋ ڽߞӆ÷ަފЄԕ׵ ؃ѧ٩ꞘݮۇԞڥյҦҰᕩެ ؊Ĕüʻ݆삞ԛ³Җ€Ƽړ 䉴󮛠ã큚ݮ٠Ӿֱǝ 䚺ϓʍôȣ԰熊׶ϑǍζ᠄ѐԾ ȪƄ愠ҥ򎂎羍ͭѐ Ïۡ־ۀٕጒ蓺ֺʋ ٙӱ棷úٕ鋥͝˻ݿɖŗ޽ ̻ڦᳲƴ􀓧ҼՆϕɉ컸ߢ۝ޢじ׾ ؛؉噎ކݮʊ鲀ʫİ򌇳 ̃Ώڔ᰻ӏٙϔӾÁ ʠݣӆһ򁑼ؽ֜ԫ߳⍛О楌В LJՠ񻌁ŎգҟNJᐃ߂ ܛսއݣޮɹ׽Ӣזݮ ۇۼཛؕӆ÷㵓܀ǐЁǐ㐂 ȿ鏠ȐʷΨ⯷ȅԞΥϩݽNj əְ҇򘰄嵦ʲݽŲݹƉđʮ⹼ סި窪޲疛̧ͧۦک濃㈅Ŕכ ֹƺҍ竇èĘַĿ ᜾߰ʞ“ľɕ¸ϒӪě ϛѦȪ֗ߕўš磼Ԗ뮩诠¼̈ 霭˟٤ؗᆴʋʎӤưʫӓɯڶ恸 磼Ǿ¤¿ީԒƤ揕˒ϖ ΕƉ受哋Ʌާ㻢ĂπΖϖϔɽŃʱ ˾ְߛ렫؛ۏ꺚耼༸šÑ ΂㈅ְϲٝ볻؛¬˱Ȓʣ↨낄Ԫ ӿܥӔǐ͕Ǽݦίʮ𼿐ԖںLj ׿Ǽȯ⠸Ǽؘ怂ɸ ꈟᢪЊɲҫ轑ٲī̭ʺڱ ܭڲƺЪ㴚풍Ցʣށ쩅ŝܣ LjԞǡݕʫϏښԞѹǒꨢ ޯʹčԞ۽򭯪̑۞ݙӡܮͦН݃ 򵨼ԑۜǼȪ桲ڝǮԑֳ ̑קլɍؚǑ߲ښڕܧɨБÍ ћ擛ԅ粭ԧɭѤֻч精ۏԑˤ ߽ۥߜչ̢ӝʣԑܾƯ ̎ꡟ̆괵ՊߧϠ젦ɖ֘ϓۆܨ ͅսҪܧ⦩ҡʪ򑑕ԑ ҢϩꕾʣÝՉ͚ڿѝΎӫٝ ╨рʖƂꎵ͙ݪ ̮҄򅏼ǎǒ޾üЀݝՙ ͮŔΦϤ髣ǼՊڟ뛳˜򑨓ښ ˏۛݝ䱮Ȥ呤㹼ŠԞŠԞ ŠɡӞΒΛξ뛚Ů ́ēōڅ˰ދǾ۾ؠԁ &] [s0; &] [s0; Choose the language and eventually the encoding (prefer UTF`-8), choose the output directory and hit OK.&] [s0; &] [s0; As a result, a translation template file (e.g. [/ fr`-fr.UTF`-8.tr]) will be created in the output directory and opened in theide.&] [s0; &] [s0; &] [s0; [*+117 2. Translate .tr file]&] [s0; &] [s0; Translate the resulting file using theide or a text editor that supports the character set you have selected. You simply need to fill in the texts in your language corresponding to the English expressions where the translation is missing `- the text is empty string.&] [s0; &] [s0; Example [/ fr`-fr.UTF`-8.tr] file being translated:&] [s0; &] [ {{10000 [s0; [*C@5+75 LANGUAGE `"FR`-FR UTF`-8`";]&] [s0; [*C@5+75 // CtrlLib/CtrlLib.t]&] [s0; [*C@5+75 `"(default)`",]&] [s0; [*C@5+75 -|`"Par défaut`";]&] [s0;*C@5+75 &] [s0; [*C@5+75 `"Undo`",]&] [s0; [*C@5+75 -|`"Annuler`";]&] [s0;*C@5+75 &] [s0; [*C@5+75 `"Cut`",]&] [s0; [*C@5+75 -|`"Couper`";]&] [s0;*C@5+75 &] [s0; [*C@5+75 `"Copy`",]&] [s0; [*C@5+75 -|][*C@3+75 `"`"][*C@5+75 ;]&] [s0; ......]}}&] [s0; &] [s0; We recommend simply searching for empty strings `- [@3 `"`"].&] [s0; &] [s0; Important: characters `'[@(0.0.255) `\v]`' and `'[@(0.0.255) `\a]`' are prefix separators `- you are not supposed to translate prefix or copy it to the translation.&] [s0; &] [s0; Example:&] [s0; &] [s0; T`_(`"date[@(0.0.255) `\v]May`")&] [s0; &] [s0; // csCZ(`"datum[@(0.0.255) `\v]Květen`") Wrong: Do not translate `"date`" prefix!&] [s0; // csCZ(`"date[@(0.0.255) `\v]Květen`") Wrong: Do not copy `"date`" prefix!&] [s0; &] [s0; csCZ(`"Květen`") // Correct&] [s0; &] [s0; [*3 Date formatting]&] [s0; &] [s0; There are 3 texts in Core.t that are used to represent default localized Date formatting and scanning:&] [s0; &] [s0; T`_(`"date`-format[@(0.0.255) `\a]%2:02d/%3:02d/%1:4d`")&] [s0; &] [s0; T`_(`"date`-scan[@(0.0.255) `\a]mdy`")&] [s0; &] [s0; T`_(`"date`-filter[@(0.0.255) `\a]A/[@(0.0.255) `\r] .`-`")&] [s0; &] [s0; The format of these strings is described in [^topic`:`/`/Core`/src`/DateFmt`$en`-us^ D ate formatting and scanning].&] [s0; &] [s0; &] [s0; [*+117 3. Submit the translation]&] [s0; &] [s0; Submit the translated .tr file to the Ultimate`+`+ project forum for peer review and to be merged in source.&] [s0; Use:&] [s0; &] [s0; [_^http`:`/`/www`.ultimatepp`.org`/forum`/index`.php`?t`=thread`&frm`_id`=74`&^@(0.0.255) U ltimate`+`+ forum: Home »]&] [s0; [@(0.0.255) -|][_^http`:`/`/www`.ultimatepp`.org`/forum`/index`.php`?t`=thread`&frm`_id`=74`&^@(0.0.255) U `+`+ Library support »]&] [s0; [@(0.0.255) -|-|][_^http`:`/`/www`.ultimatepp`.org`/forum`/index`.php`?t`=thread`&frm`_id`=74`&^@(0.0.255) U `+`+ Libraries and TheIDE: i18n, Unicode and Internationalization]&] [s0; &] [s0; &] [s0; [*+117 4. Repeat!]&] [s0; &] [s0; U`+`+ is evolving framework and the set of text literals is growing and changing. Therefore you are welcome to check from time to time for new texts to be translated.&] [s0; ]