روم تەرجىمە قىلىش دەرسلىكى
تەرجىمە جەريانىدىكى بىرەر باسقۇچنى خاتا قىلماسلىق ھەم چۈشۈرۈپ قويماسلىق ئۈچۈن دەرسلىكنى باشتىن ئاخىر ئۇبدان كۆرۈڭلار ، دەرسلىكتە ھەل قىلىش ئۇسۇلى بار سۇئاللارنى ئامال بار سورىماڭلار .دەرسلىكنى ۋە روم لۇغىتىنى قالايمىقان تارقاتمىغان بولساڭلار . لازىملىق بارلىق دېتاللار چاقماق گورۇپپىسى كىيۇ كىيۇ توپىدا بار ، مەن بىلەن ئالاقىلىشىپ شۇ كىيۇ كىيۇ توپىغا كىرسەڭلار بولىدۇ .
دەرسلىكنى باشلاشتىن بۇرۇن بىر قانچە مۇھىم نۇقتا ھەققىدە توختىلىپ ئۆتەي :
.1روم تەرجىمە قىلىشنىڭ پىرىنسىپى : ئادەتتە ئەپلەرنىڭ تىل ھۆججىتى ئەپنى يەشكەندىن كېيىن apk/res مۇندەرىجىسىدە بولىدۇ ، ھەربىر تىلنىڭ ئايرىم قىسقارتىلما نامى بولىدۇ ، مەسلەن ئەرەپچە تىلنىڭ ar ،ئېنگىلىزچە تىلنىڭ en خەنزۇچىنىڭ zh ئۇيغۇرچىنىڭ ug دىگەندەك ، بۇ تىل ھۆججەتلېرى بايا دىگەندەك apk/res مۇندەرىجىسىدە بولىدۇ ، يەنى apk/res نىڭ ئىچىدىكى values-ar دېگىنى ئەرەپچە تىل بۇلىقى values-en دېگىنى ئېنگىىزچە تىل بۇلىقى values-zh دېگىنى خەنزۇچە تىل بۇلىقى values-ug دېگىنى ئۇيغۇرچە تىل بۇلىقى ، بۇنىڭدىن باشقىمۇ نۇرغۇن تىل بۇلاقلېرى بار ، ئادەتتە ئەپنىڭ ئەسلى تىلى ئېنگىلىزچە بولغاچقا values-en دەپ ئالماي values دەپلا ئالغان ، بۇ يەردىكى values يەنى ئېنگىلىزچە تىل بۇلىقى دەل ئەپنىڭ كۆڭۈلدىكى تىل بۇلىقى ، ئەگەر بىز يانفۇن سىستېما تىلىنى ئەرەپچە دېگەنگە توغرىلىساق سىستېما بارلىق ئەپەردىكى ئەرەپچە تىل بۇلىقى يەنى values-ar نى ئوقۇپ بېرىدۇ ، شۇنىڭ بىلەن ئۇ ئەپلەر ئەرەپچە كۆرۈنىدۇ ، ئەگەر بىز سىستېما تىلىنى خەنزۇچىغا توغرىلىساق سىستېما بارلىق ئەپلەردىكى خەنزۇچە تىل بۇلىقى يەنى values-zh نى ئوقۇپ بېرىدۇ ، شۇنىڭ بىلەن شۇ ئەپلەر خەنزۇچە كۆرۈنىدۇ ،بارلىق ئەپلەر خەنزۇچە كۆرۈندى دېگەن گەپ پۈتۈن سىستېما خەنزۇچە كۆرۈندى دېگەن گەپ ، شۇنىڭغا ئوخشاش ئەگەر بىز سىستېما تىلىنى ئۇيغۇرچىغا توغرىلىساق سىستېما بارلىق ئەپلەردىكى ئۇيغۇرچە تىل بۇلىقى values-ug نى ئوقۇپ بېرىدۇ ، ئەمما بىزنىڭ سىستېمىمىزدىكى ئەپلەردە ئۇيغۇرچە تىل بۇلىقى values-ug يوق ، شۇڭا ئۇيغۇرچىغا توغرىلىساق ئوقۇپ بېرىدىغان ئۇيغۇرچە تىل بۇلىقى values-ug بولمىغاچقا ئامالسىز سىستېمىنىڭ كۆڭۈلدىكى تىلى ئېنگىلىزچە يەنى values نى ئوقۇيدۇ ، شۇنىڭ بىلەن ئۇيغۇرچىغا توغرىلىساق ئېنگىلىزچە كۆرۈنىدۇ، ئەگەر سىستېما تىلىنى ئۇيغۇرچىغا توغرىلىساق ھەممە يەرلەر ئۇيغۇرچە كۆرۈنىشى ئۈچۈن قانداق قىلىمىز ، ؟ جاۋابىنى بىلىپ بولدىڭلار ھەقاچان ، سىستېما ئىچىدىكى ئەپلەرنى يېشىپ ئۇيغۇرچە تىل بۇلىقى values-ug نى قوشۇپ قويساقلا بولىدۇ ، بۇ دەل سىستېما يەنى روم تەرجىمە قىلىشنىڭ پىرىنسىپى!
.2روم تاللاش : ياخشى روم تاللاش ئەڭ مۇھىم بىر مەسىلە ، قانداق روم ياخشى روم بولىدۇ؟ ئادەتتە ھەممە ئىقتىدارلار نورمال ، سۈرئىتى تېز ، پاكىزە ، مۇقىم بولغان روملارنى ياخشى روم دەپ قارايمىز ، ئۇنىڭدىن باشقا بەزى سىستېما ئەپلېرىنى پەقەت بىر قېتىملا تەھرىرلەشكە بولىدۇ ، قايتا تەھرىرلىگەندە مەسىلە كۆرۈلىدۇ ، شۇڭا ئورگان تەرەپ تارقاتقان روملار ئەڭ ياخشى تالىشىمىز بولىدۇ .
.3ئەپلەرنى يېشىش ئۆچۈن بىر قىسىم دېتاللار لازىم بولىدۇ ، بۇ دېتاللار تۆۋەندىكىچە: .* Y- _/ p: z! @4 T3N java (1) دېتالى: ئەپلەرنى تەھرىرلەش java مۇھىتىدا ئېلىپ بېرىلىدۇ ، شۇڭا java مۇھىتى ھازىرلاش بىرىنجى تەلەپ . + r, Z# X4 W! Q- w0 `9 z apktool (2) دېتالى : ئەپلەرنى يېشىش ۋە بولاقلاشتىكى ئەڭ كۆپ قوللىنىدىغان دېتال . (3) دېتالى notepad++ : ئەڭ ياخشى تېكىست تەھرىرلەش دېتالى 7 C4 N7 J' M% x3 q% i (4) چىچەن ئۇيغۇرچە خەت كىرگۈزگۈچ : بۇ كىرگۈزگۈچنىڭ سۆزلۈك ئامبىرى بار ، ئىملا خاتالىقىدىن ساقلانغىلى بولىدۇ (5)ئانا تىلىم لۇغىتى : بىلەلمىگەن سۆزلەرنى موشۇ لۇغەتتىن ئىزلەيمىز بۇ دېتاللارنىڭ چۈشۈرۈش ئادرېسى ۋە ئورنىتىش ئۇسۇلى تۆۋەندىكى تېمىدا تەپسىلىي سۆزلەنگەن http://alip.biz/thread-8493-1-1.html
apktool . 4نىڭ بىر قانچە نەشىرىنى تەپسىلىي چۈشەندۈرۈپ ئۆتەي : بىرىنچىسى بولسا چاقماق گورۇپپىسى بۇرۇنقى روملارنى تەرجىمە قىلغاندا ئەڭ كۆپ ئىشلەتكەن apktool 1.5 نەشىرى . بۇ قۇرال تۆۋەندىكى ھۆججەتلاردىن تەشكىل تاپقان ،
بىز تەرجىمە قىلماقچى بولغان ئەپ بىلەن شۇ رومدىكى framework.res.apk ھۆججىتىنى موشۇ apktool مۇندەرىجىسىگە كۆچۈرۈپ ، بىز تەرجىمە قىلماقچى بولغان ئەپنىڭ ئىسىمىنى 123.apk قىلىپ ئۆزگەرتىمىز ) بۇ يەردە ئەپنىڭ ئىسىمىنى 123.apk دەپ ئۆزگەرتىشنىڭ سەۋەبى موشۇ نەشىردىكى apktool دېتالىنىڭ ئېھتىياجىدىن بولغان ، ئەگەر ئۇنداق ئۆزگەرتمىسەك كېيىنكى مەشغۇلاتلارنى قىلغىلى بولمايدۇ ( ئەپنىڭ ئىسىمىنى ئۆزگەرتىپ بولغاندىن كېيىن apktool.cmd دىگەن ھۆججەتنى قوش چېكىپ ئىجرا قىلىمىز .
،،يۇقارقى رەسىمدە چۈشەندۈرگەندەك ،5 رەقىمىنى كىرگۈزۈپ Enter كونۇپكىسىنى باسساق framework-res.apk نى ئاساسىي جازىغا ئالىدۇ 1 ، رەقىمىنى كىرگۈزۈپ Enter كونۇپكىسىنى باسساق شۇ 123.apk نى يېشىپ apk مۇندەرىجىسىگە قويىدۇ . بۇ يەردىكى apk مۇندەرىجىسى بىز ئەپنى يەشكەندە apktool مۇندەرىجىسىگە ھاسىل بولىدۇ ئەپنى تەرجىمە قىلىپ بولغاندىن كېيىن 2 رەقىمىنى كىرگۈزۈپ Enter كونۇپكىسىنى باسساق ئەپنى بولاقلاپ بېرىدۇ ،قالغانلېرىنى خەنچە بىلسەڭلار چۈشەندۈرۈشى بار ،
ئىككىنچى بولۇپ چۈشەندۈرىدىغان apktool قۇرالى بولسا ھازىرقى ئەپ يېڭى نەشىرى بولۇپ ھىچقانداق ئۆزگەرتىش كىرگۈزۈلمىگەن ، بۇ apktool تۆۋەندىكى ھۆججەتلەردىن تەشكىل تاپقان .
بۇنىڭغا قارايدىغان بولساق بىرمۇ ئىجرا قىلغىلى بولىدىغان ھۆججەت يوق ، ئۇنداقتا بۇ apktool نى قانداق ئىشلىتىمىز ؟؟ بۇنى كومپىيۇتېرىمىزدىكى cmd بۇيرۇق كۆزنىكىدىن پايدىلىنىپ ئىشلىتىمىز ، يەنى باشتا كومپىيۇتېردىكى باشلاش قا cmd دەپ كىرگۈزۈپ cmd بۇيرۇق كۆزنىكىنى ئاچىمىز ،
ئەمدى بىز بايىقى apktool مۇندەرىجىسىنى قويغان دېسكىغا كىرىمىز ، مەسىلەن مەن apktool مۇندەرىجىسىنى e دېسكىغا قويغان بولسام بۇيرۇق كۆزنىكىگە e: دەپ كىرگۈزۈپ Enter نى باسسام eدېسكىغا كىرىدۇ
ئەمدى apktoolمۇندەرىجىسىگە كىرەيلى ، يەنى cd apktool دەپ كىرگۈزۈپ Enter كونۇپكىسىنى باسساق apktool مۇندەرىجىسىگە كىرىدۇ ،
ئەمدى بىر قانچە ئاساسى بۇيرۇقنى بىراقلا چۈشەندۇرەي : Apktool if framework-res.apk بۇ بۇيرۇق framework-res.apk نى ئاساسىي جازىغا ئېلىشنى كۆرسىتىدۇ ، يەنى apktool if نىڭ كەينىگە قايسى ئەپنىڭ ئىسىمىنى يازساق شۇ ئەپنى ئاساسىي جازىغا ئالىدۇ . Apktool d settings.apk 888 بۇ settings.apk نى يېشىپ 888دىگەن مۇندەرىجىگە قويۇشنى كۆرسىتىدۇ ، بۇ بۇيرۇقتىكى settings.apk ئورنىغا خالىغان apk نىڭ ئىسىمىنى يازساق شۇ apk نى يېشىپ بېرىدۇ ، 888 دىگەن پەقەت ئەپنى يەشكەندىن كېيىن قويىدىغان ھۆججەت خالتىسىنى كۆرسىتىدۇ ، بۇ 888 دىگەننى خالىغانچە يازساق بولىدۇ ، ئەگەر يازمىساق شۇ ئەپنىڭ ئىسىمىغا ئوخشاش ئىسىملىك ھۆججەت خالتىسى قۇرۇلىدۇ . Apktool b 888 بۇ بىز بايا 888 دىگەن مۇندەرىجىگە يەشكەن ئەپنى بولاقلاپ بېرىدۇ ،
ئەپلەرنى تەرجىمە قىلغاندا بۇ ئىككى apktoolنى ئەھۋالغا قاراپ تاللاپ ئىشلەتسەك بولىدۇ .ئەمما ئىككىلىسىنى بىلسەڭلار تېخىمۇ ياخشى ، چۈنكى بەزى ئەپلەرنى بىرى يېشەلمىسە يەنە بىرى يېشەلەيدۇ .
framework-res.apk .5بىر رومنى تەرجىمە قىلىشتا ئەڭ ئالدى بىلەن تەرجىمە قىلىدىغان ھۆججەتframework-res.apk،ئادەتتە systemنىڭ ئىچىدىكى frameworkمۇندەرىجىسىنىڭ ئىچىدە بۇلىدۇ ،بەزى روملاردا framework-res.apkدىن باشقا يەنە بەزى ئاساسى جازىلار بۇلىدۇ frameworkمۇندەرىجىسىنىڭ ئىچىدىكى بارلىق apkشەكىلدىكى ھۆججەلەرنىڭ ھەممىسى شۇ رومنىڭ ئاساسى جازىسى ھىسابلىنىدۇ . ئۇنداقتا ئاساسى جازىنىڭ زادى نىمە رولى بار ؟ بىر رومنىڭ ئىچىدىكى دىتاللارنى apktoolدا يەشكەندە ياكى بولاقلاپ ئىمزا قويغاندا framework-res.apkنى ئاساسى جازىغا ئالساق ئاندىن apktoolبىز يەشكەن دىتالنىڭ قايسى رومدىكى دىتاللىقىنى جەزىملەشتۈرىدۇ ،بىر رومدىكى دىتالنى چىقىرىپ يەنە بىر رومغا بىۋاستە قويساق يەنە بىر رومدا نورمال ئىچىلمايدۇبۇ دەل framework-res.apkنىڭ بىز قويغان دىتالنى تۇنىمىغانلىقىدىن بولغان ، ئۇنىڭ ئۈستىگە ئەگەر apktoolبىز يەشكەن دىتالنىڭ قايسى رومغا تەۋەلىكىنى جەزملەشتۈرەلمىسە يا يېشىشتە مەسلە كۆرۈلىدۇ يا بولاقلاپ ئىمزا قويغاندا مەسلە كۆرۈلىدۇ ، شۇڭا ھەرقانداق سىستېما ئەپلېرىنى تەرجىمە قىلغاندا چۇقۇم باشتا شۇ framework مۇندەرىجىسىدىكى ئەپلەرنى ئاساسىي جازىغا ئېلىشىمىز كېرەك .
.6 بىز رومدىكى ئەپلەرنى تەرجىمە قىلغان ۋاقىتتا ئۇيغۇر تىلى ئۈچۈن values-ug ھۆججەت خالتىسىنى قوشۇپ تەرجىمە قىلىمىز ، بەزى دوستلېرىمىز ئويلاپ قىلىشى مۇمكىن ، نىمىشقا چۇقۇم values-ug نى قوشىمىز ؟ values-uyghur ياكى values-ohho ، values-xx دەپ قوشۇپ ئىچىدىكى xml ھۆججەتنى ئۇيغۇرچىغا تەرجىمە قىلىپ قويساقلا بولمامدۇ ؟؟ سىلەرچە بۇلامدۇ بىلمىدىم ، مېنىڭچە تامامەن بولىدۇ ، بارلىق سىستېما ئەپلېرىگە ئوخشاش قىلىپ values-ohho ياكى باشقىچە قىلىپ ھۆججەت خالتىسى قۇرۇپ تەرجىمە قىلىپ بولغاندىن كېيىن رومغا تىل تاللىغۇچ ئارقىلىق شۇ values-ohho دەپ تىل قوشساق روم ئوخشاشلا ئۇيغۇرچە بۇلىۋېرىدۇ ، بىراق ئۇيغۇر تىلىنىڭ ئاندىروئىد سىستېمىدىكى قىسقارتىلما ئىپادىلىنىشى values-ug يەنى ug دەپ ئاللىبۇرۇن مۇقىملىشىپ بولدى ، ھازىر نۇرغۇن دوستلېرىمىز ھەم شىركەتلەر values-ug نى قوشۇپ تەرجىمە قىلىۋاتىدۇ ، ئەگەر بىز ئايرىمىچىلىق قىلىپ values-ug دەپ ئالماي باشقىچە ئالساق باشقىلار تەرجىمە قىلغان ئەپلەر بىز تەرجىمە قىلغان رومدا ئۇيغۇرچە كۆرۈنمەيدۇ ، بىز تەرجىمە قىلغان ئەپلەر باشقىلار تەرجىمە قىلغان روملاردا ئۇيغۇرچە كۆرۈنمەيدۇ . شۇڭا بىرلىك ئۈچۈن ھەممىمىزنىڭ values-ug دەپ ئېلىشى تەلەپ قىلىنىدۇ .
ئەمدى روم تەرجىمە قىلىشنى باشلايلى :
.1ئەپلەرنى رەتلەش :
تاللىغان رومنىڭ ئىچىدىكى system/app مۇندەرىجىسى بىلەن system/framework مۇندەرىجىسىنى چىقىرىپ كومپىيوتېرىمىزدىكى مەلۇم ئورۇنغا قويىمىز ، شۇ ھۆججەت خالتىلېرىنىڭ ئىچىدىكى ئەپلەرنى تەرجىمە قىلىشنى باشلايمىز.
. 2تەرجىمە قىلماقچى بولغان ئەپxxx.apkبىلەن framework-res-apkنى apktoolمۇندەرىجىسىگە قۇيىمىز
تەرجىمە قىلماقچى بولغان ئەپنىڭ نامىنى 123.apkدەپ ئۆزگەرتىمىز )بۇ بىز ئىشلەتكەن aoptoolدىتالىنىڭ ئېھتىياجتىن بولغان ( ئاندىن APKTOOL.cmdنى قوش چىكىپ ئاچىمىز ،win7ئىشلەتكەنلەر چاشقىنەكنىڭ ئوڭ كونۇپكىسىنى چىكىپ 以管理员身份运行نى چىكىپ ئاچىمىز ،ئاچقاندىن كىيىن
ئەڭ ئالدى بىلەن 5رەقىمىنى كىرگۈزۈپ مۇقىملاپ framework-res.apkنى ئاساسىي جازىغا ئالىمىز ،ئاندىن 1 كونۇپكىسىنى بىسىپ مۇقىملىساق 123.apkنى يېشىشكە باشلايدۇ
،يېشىپ بولغاندىن كىيىن apktoolمۇندەرىجىسىدە apkدەپ بىر مۇندەرىجە پەيدا بۇلىدۇ
شۇ apk/resمۇندەرىجىسىنى ئاچساق نۇرغۇن تىل مۇندەرىجىلېرىنى كۆرىمىز
بۇ تىل مۇندەرىجىلېرىنىڭ ئىچىدە zh-rCNغا ئائىتلېرى خەنچە تىل بۇلىقى بۇلىدۇ
بۇلارنىڭ ئىچىدىكى values-zh-rCN دىگەن ھۆججەت خالتىسى دەل بۇ ئەپنىڭ خەنچە تىل بۇلىقى ، بىز بۇ ئەپنى خەنچىدىن ئۇيغۇرچىغا تەرجىمە قىلىمىز شۇڭا بۇ values-zh-rCN ھۆججەت خالتىسىنى بىر نۇسخا كوپىيلاپ يەنە شۇ res مۇندەرىجىسىگە چاپلايمىز .
4.بىز كۆچۈرگەن ھۆججەت خالتىسىنىڭ ئىسىمى values-zh-rCN - 副本 ، ئەمدى بىز بۇنى values-ug دەپ ئۆزگەرتىمىز ،
،بۇنى قىلىپ بۇلۇپ قارايدىغان بولغاق resنىڭ ئىچىدە يەنە خەنچە تىل zh-rCNغا ئائىت values-mcc262-zh-rCN،. values-mcc260-zh-rCN،. raw-zh-rCN،غا ئۇخشاش مۇندەرىجىلەرنى كۆرىمىز
،بىز بۇلارغىمۇ ماس ھالدا raw-ug،. values-mcc260-ug،. values-mcc262-ugلارنى قۇرۇپ چىقىمىز
ئەمدى بارلىق ئۇيغۇرچە تىل مۇندەرىجىلېرىنى قۇرۇپ بولغاندىن كىيىن قىلدىغان ئىششىمىز بىز قۇرغان شۇ ug)غا ئائىت) مۇندەرىجىلەردىكىxmlھۆججەتلېرىنى تەرجىمە قىلىش ،،
ئەڭ باشتا values-ugنىڭ ئىچىدىكى strings.xmlنى ئاچساق
قارايدىغان بولساق 1000قۇرغا يېقىن جۈملە بار ،بىز بۇلارنى بىر جۈملە بىر جۈملېدىن تەرجىمە قىلامدۇق ؟؟
ئەڭگۈشتەردىن پايدىلىنىدىغان ۋاقىت كەلدى
چاقماق apk تىل ھۆججختى ئالماشتۇرۇش قۇرالىنى ئاچىمىز
رەسىمدە كۆرسىتىلگەندەك ، بۇ قۇرالدا ئىككى كۆزنەك بار ، ئىككى دانە ئېچىش ،ئۆزگەرتىش ۋە ساقلاش بار ، دىمەك بۇ قۇرال ئىككى دانە xml ھۆججەتنى تەڭلا ئىچىپ ئۆزگەرتىش ئېلىپ بارالايدۇ ،مەسىلەن بىز settings.apkنى تەرجىمە قىلماقچى بولساق ھۆججەت 1گە بىز تەرجىمە قىلماقچى بولغان strings.xmlنى ئاچىمىز ،ھۆججەت 2 گە لۇغەت سۆزلۈك ئامبىرى ئىچىدىكى ئۇخشاش ئەپتىكى strings.xmlنى ئاچىمىز ،بىز تەرجىمە قىلماقچى بولغان ھۆججەت ھۆججەت 1 دە بولغاچقا ھۆججەت 1 نىڭ ئوڭ تەرىپىدىكى ئۆزگەرتىش دىگەننى چىكىمىز،بىر ئىككى سىكونتتىن كىيىن
ئوڭ تەرەپتىكى خەنچە خەتلەر نىڭ 90%ئۇيغۇرچىغا ئۆزگىرەيدۇ ،قالغان 10%قىسمىنى شۇ دىتالدا تۇرغۇزۇپلا تەرجىمە قىلىۋەتسەك بۇلىدۇ يەنى
بۇ يەردىكى ئۆزگەرتىش دىگەننى بېسىپ ، ئۆزگەرتىلگەندىن كېيىن دىگەنگە شۇ چالا قالغان جۈملىنىڭ تەرجىمىسىنى يېزىپ جەزىملەش دىگەننى باسساق ياكى بىۋاستە Enter كونۇپكىسىنى باسساق كېيىنكى قۇرغا كېلىدۇ .چېكىنگەن ۋاقىتتا ساقلاش دىگەننى بىر بېسىۋەتمىسەڭلار ساقلانمايدۇ .
ھەممە ugغا ئائىت مۇندەرىجىلەردىكى xmlھۆججەتلېرىنى تەرجىمە قىلىپ بولغاندىن كىيىن قىلىدىغان ئىششىمىز apkمۇندەرىجىسىنى ئەپ ھۆججىتىگە apk)غا)قايتۇرۇش
يەنە apktool.cmdنى ئاچىمىز ،ئادەتتە سېستىما ئەپلېرىگە ئىمزا قۇيۇلمايدۇ ،شۇڭا 2رەقىمىنى كىرگۈزۈپ مۇقىملىساق apkمۇندەرىجىسىنى بولاقلايدۇ ،بولاقلاپ ھاسىل بولغان يىڭى ئەپ akp/buildمۇندەرىجىسىدە بۇلىدۇ
بىراق بەزى ئەھۋاللاردا بولاقلاش باسقۇچى مەغلوپ بۇلىدۇ ،بۇنىڭ ئاساسلىق سەۋەبلېرى ۋە ھەل قىلىش ئۇسۇللېرى :
باشتا ئەپ بولاقلىغاندا apktool دا چىققان خاتالىقلارنى يۈزەكى كۆرۈپ چۈشۈنىسنى سۆزلەپ ئۆتەي :تۆۋەندىكى رەسىمنى مىسالغا ئالاي :
رەسىمدىكى مەزمۇن : I: Checking whether sources has changed... I: Checking whether resources has changed... I: Building resources... E:\qurallar\ApkTool\APK\res\values-zh-rCN\strings.xml:1641: error: Error parsing XML: mismatched tag بۇ چىققان بىرىنچى خاتالىق E:\qurallar\ApkTool\APK\res\values\public.xml:2731: error: Public symbol string/ uim_lock_failed declared here is not defined. ببۇ ئىككىنچى خاتالىق E:\qurallar\ApkTool\APK\res\values\public.xml:2730: error: Public symbol string/ wifi_p2p_menu_advanced declared here is not defined. بۇ ئۈچىنچى خاتالىق . Exception in thread "main" brut.androlib.AndrolibException: brut.common.BrutExce ption: could not exec command: [aapt, p, --min-sdk-version, 15, --target-sdk-ver sion, 15, -F, C:\Users\ADMINI~1\AppData\Local\Temp\APKTOOL50004.tmp, -I, C:\User s\Administrator\apktool\framework\1.apk, -S, E:\qurallar\ApkTool\APK\res, -M, E: \qurallar\ApkTool\APK\AndroidManifest.xml]
at brut.androlib.res.AndrolibResources.aaptPackage(AndrolibResources.jav
a:255)
at brut.androlib.Androlib.buildResourcesFull(Androlib.java:324)
at brut.androlib.Androlib.buildResources(Androlib.java:269)
at brut.androlib.Androlib.build(Androlib.java:192)
at brut.androlib.Androlib.build(Androlib.java:174)
at brut.apktool.Main.cmdBuild(Main.java:188)
at brut.apktool.Main.main(Main.java:70)
Caused by: brut.common.BrutException: could not exec command: [aapt, p, --min-sd k-version, 15, --target-sdk-version, 15, -F, C:\Users\ADMINI~1\AppData\Local\Tem p\APKTOOL50004.tmp, -I, C:\Users\Administrator\apktool\framework\1.apk, -S, E:\q urallar\ApkTool\APK\res, -M, E:\qurallar\ApkTool\APK\AndroidManifest.xml]
at brut.util.OS.exec(OS.java:83)
at brut.androlib.res.AndrolibResources.aaptPackage(AndrolibResources.jav
a:253)
... 6 more
بۇنىڭغا قارايدىغان بولساق خاتالىقتىن ئۈچى بار ،ئەڭ ئالدى بىلەن APK\res\values-zh-rCN\strings.xml دىكى 1641 -قۇردىن خاتالىق چىققان ، ئەگەر بۇ ئەڭ باشتا چىققان خاتالىقنى تۈزىتىپ قايتا بولاقلىساق ئەپ نورمال بولاقلىنىدۇ ، دىمەك ئەڭ باشتا چىققان خاتالىق يەنە باشقا خاتالىقلارنى كەلتۇرۇپ چىقارغان ، موشۇنىڭغا ئوخشاش ئەپ بولاقلىغاندا خاتالىق ئۇچۇرى چىقىپ بولاقلانمىسا ھودۇقماي، ئۇبدان قاراپ ئەڭ باشتا قايسى مۇندەرىجىدىكى قايسى ھۆججەتتىن ) ياكى قايسى ھۆججەتنىڭ قايسى قۇرىدىن (مەسىلە چىقتى ، شۇنى ئايدىڭلاشتۇرىۋالىمىز ،ئاندىن كېيىن تۆۋەندىكى مەزمۇنلاردىن شۇ خاتالىقنى ئوڭشاش ئۇسۇلىنى ئىزدەپ ھەل قىلىمىز . ئاساسلىق مەسىلە كۆرۈلۈش سەۋەپلېرى ۋە ھەل قېلىش ئۇسۇللېرى : .1كومپىيۇتېردا javaمۇھىتى تۇغرا تەڭشەلمىگەن ،بۇنى بەيدۇ دىن ئىزدەپ ھەل قىلىڭلا java设置环境变量دەپ ئىزلىسەڭلا بۇلىدۇ . Framework .2 مۇندەرىجىسىدىكى ئەپلەرنىڭ ئاساسىي جازىغا ئېلىنمىغانلىقىدىن خاتالىق چىقىشى مۇمكىن ، شۇڭا ھەر قېتىم ئەپ يەشكەندە ھەم بولاقلىغاندا framework مۇندەرىجىسىدىكى ئەپلەرنى ئاساسىي جازىغا ئېلىشنى ئونۇتماڭلار . .3 بىز xmlھۆججەتلېرىنى تەھرىرلىگەن ۋاقىتتا ئۇقۇشماي "›""‹"دىگەندەك بەلگىلەرنى يۇيىۋەتكەن بۇلىشىمىز مۇمكىن بۇنداق بولغاندا apktoolدا بولاقلىغاندا مەلوم ugمۇندەرىجىسىدىكى xmlھۆججەتنىڭ مۇنچىنچى قۇرىدا مەسلە بار دەپ چىقىدۇ ،بىز شۇ قۇرنى تىپىپ تۇغىرلاپ قويساقلا بۇلىدۇ ،بۇنى notepad++ دىن پايدىلانساق بولىدۇ .
.4نەدىكى ئۇيغۇر تىل مۇندەرىجىسى بىلەن مۇناسىۋەتسىز values-xxxتىن مەسلە كۆرۈلدى دەپ چىقىشى مۇمكىن ،بۇ ۋاقىتتا ئىككىلەنمەيلا شۇ تىلنىڭ مۇندەرىجىلېرىنى يۇيىۋىتىپ بولاقلاڭ ~ئىشقىلىپ بىزگە لازىمى يوق تىللار ، Values.5مۇندەرىجىسىدىكى مەلوم xmlدا مەسلە كۆرۈلسە ئامال بار ئۆزگەرتىپ تۇغىرلاپ كۆرۈڭ ،يەنە بولمىسا شۇ مەسلە كۆرۈلگەن قۇردىكى كۆرسىتىلگەن خەت بار جاينى بىرەر قىسمىنى يۇيىۋىتىپ بولاقلاڭ ، .6ئەگەر AndroidManifest.xmlدىكى مەلۇم قۇردىن خاتالىق چىقسا شۇ قۇرنى پۇتۇنلەي يۇيۇۋېتىشكە بولمايدۇ ، شۇ خاتالىقنى ئۇبدان كۆرۈپ ، خاتالىقتا دېيىلگەن مەزمۇننىلا ئۇچۇرىمىز ، .7بىز apkھۆججىتىنى يەشكەندە ھاسىل بولغان apkمۇندەرىجىسىدە ئادەتتە بىر apktool.ymlدەپ ھۆججەت بۇلىدۇ ،بۇ ھۆججەت بولمىسا apkمۇندەرىجىسىنى قايتا apkھۆججىتىگە ئايلاندۇرغىلى بولمايدۇ ،بەزىدە بولاقلىغاندا شۇ apktool.ymlھۆججىتى يوق دەپ خاتالىق چىقىدۇ ،بۇنداق ۋاقىتتا خالىغان سېستىما ئەپنىڭ apktool.ymlھۆججىتىنى بولاقلىماقچى بولغان apkمۇندەرىجىگە قۇيۇپ بولاقلىساق بۇلىدۇ ،سېستىما ئەپلېرىدىكى apktool.ymlھۆججەتلېرى ئاساسەن ئۇخشاش بۇلىدۇ . 8 ئەگەر خاتالىق ئۇچۇرى نامەلۇم بولسا يەنى ھىچقانداق ھۆججەتتە خاتالىق بار دەپ چىقماي يەنىلا بولاقلانمىسا ) بۇنداق ئەھۋال كۆپىنچە miui روملېرىدا يۈز بېرىدۇ (مەن يۇقىردا دەپ ئۆتكەن cmd بۇيرۇقلېرى بىلەن ئىشلىتىدىغان apktool نى ۋە شۇ ئەپلەرنى c:/windows مۇندەرىجىسىگە كۆچۈرۈپ frameworkمۇندەرىجىسىدىكى بارلىق ئەپلەرنى ئاساسىي جازىغا ئالغاندىن كېيىن بولاقلىساق نورمال بولاقلىنىدۇ . .9 ئەگەر مەلۇم strings.xml نىڭ ئەڭ ئاخىرقى قۇرىدا مەسىلە بار دەپ چىقسا ، بۇ خاتالىق شۇ strings.xml ئەڭ ئاخىرىدا ئەمەس ، باشقا قۇرلېرىدا بۇلىشى مۇمكىن ، بۇنداق چىقىشنىڭ ئاساسلىق سەۋەبى شۇ strings.xml نىڭ مەلۇم قۇرىدىكى ›‹›‹ دىگەندەك بەلگىلەر يۇيۇلۇپ كەتكەن بۇلىشى مۇمكىن ، بىز شۇ قۇرنى تېپىپ شۇ بەلگىلەرنى تولۇقلاپ قويساقلا بولىدۇ . .10ئادەتتە بەزى سېستىما ئەپلېرىنى پەقەت بىر قىتىملا تەھرىرلىگىلى بۇلىدۇ ،شۇڭا تەرجىمە قىلغان رومىڭىز باشقىلار تەرىپىدىن بىر قىتىم تەھرىرلەنگەن بولسا مەسلە كۆرۈلىشى مۇمكىن . قالغانلېرىنى توپ ھەمبەھىرسىدىكى خەنچە ماتىرياللاردىن پايدىلانساڭلا ياكى توپتا ياردەم سورىساڭلا بۇلىدۇ .ئىشقىلىپ ئىشلەتكىلى بۇلىدىغانلىكى ئامالنىڭ ھەممىسىنى ئىشلىتىپ بولاقلاپ چىكىش كېرەك ،
دىققەت ~~دىققەت ~~دىققەت!!
تۈۋەندىكى باسقۇچ بەك ئاسان ھەم بەك مۇھىم ، خاتالىق كۆرۈلسە تېلېفونىڭىز قايتا قوزغالمايدۇ :
بىز بولاقلاپ چىققان ئەپنى بىۋاستە ئىشلىتىشكە بولمايدۇ ،ئىشلىتىش ئۈچۈن باشتا بىز بولاقلاپ چىققان ئەپ بىلەن ئەسلى تەھرىرلەنمىگەن ئەپنى winrarدا ئاچىمىز
ئەمدى چاشقىنەك بىلەن بىز بولاقلىغان ئەپتىكى resمۇندەرىجىسىنى تارتىپ ئەسلى ئەپكە تاشلايمىز ،تاشلىساق
بۇ كۆزنەك چىقىدۇ ئاندىن 压缩方式دىن 存储 نى تاللاپ مۇقىملايمىز ،بولاقلىغان ئەپتىكى resources.arscھۆججىتىنىمۇ ئۇخشاش ئۇسۇلدا ئەسلى ئەپكە تاشلايمىز ،ئىككى ھۆججەتنى تاشلاپ بولغاندىن كىيىن ئەسلى ئەپنىڭ سېغىمى بۇرۇنقىدىن خېلى چوڭلىغان بۇلىدۇ ،دىمەك ئۇيغۇر تىل بۇلىقى قۇشۇلدى دىگەن گەپ .بۇ يەردە شۇنى بايقايمىزكى بىزگە ئاساسلىق كېرەك بۇلىدىغىنى بولاقلانغان ئەپتىكى resمۇندەرىجىسى بىلەن resources.arscھۆججىتى ،شۇڭا ئەگەر بولاقلىغاندا apkھۆججەت ھاسىل بولماي شۇ ئىككى ھۆججەت ھاسىل بولسىمۇ ئۇخشاشلا غەلبە قىلغان بۇلىمىز .
1.بىز ئۇيغۇرتىلى قۇشقان ئەپنى sdكارتىغا يۇتكەيمىز ،دىققەت بۇ ۋاقىتتا بۇ ئەپنى بىۋاستە تېلېفوندىكى ئەپ بىلەن ئالماشتۇرۇشقا بولمايدۇ ،ئۇنداق قىلساق بىز ئالماشتۇرغان ئەپكە ھۇقۇق بېرىشكە ئۈلگۈرمەيلا تېلېفون ئۈچۈپ قايتا قوزغالمايدۇ ،شۇڭا ئاۋال ئەپنى systemمۇندەرىجىسىگە قۇيۇپ تۇۋەندىكىدەك ھۇقۇق بېرىمىز
2.يۇقىرقىدەك قىلىش ئۈچۈن ئەپنى بىسىپ تۇرساق چىققاچ تىزىملىكتىن 权限نى تاللايمىز ،ھۇقۇق بېرىپ بولغاندىن كىيىن غەلبىلىك بولدى دىگەندەك خەت كۆرۈنىدۇ ،ئەمدى شۇ ئەپنى تېلېفوندىكى ئەپ بىلەن ئالماشتۇرۋەتسەك بۇلىدۇ ،ئالماشتۇرغاندىن كىيىن تېلېفون قايتا قوزغىىدۇ .
ھەر بىر ئەپنى تەرجىمە قىلىپ مۇشۇنداق ئالماشتۇرۇپ بولغاندىن كېيىن يانفۇنىمىز پۈتۈنلەي ئۇيغۇرچە بولىدۇ ، ئەمدى رومنى تەييارلايمىز ،
.1بىز تەرجىمە قىلىپ بولغان بارلىق سىستېما ئەپلېرىنى بىر يەرگە يىغىمىز
.2ئەسلى zip ھالەتتىكى رومنى ئاچىمىز ھەم بىز تەييارلىۋالغان ئەپلەرنى رومدىكى ئەپلەر بىلەن ئالماشتۇرىمىز ) تەرجىمە قىلغان ئەپلەرنى شۇ ئەپلەرنىڭ ئەسلى ئورنىغا ئەكىلىپ تاشلىساقلا بولىدۇ ، تاشلىغان ۋاقىتتا بىر كىچىك كۆزنەك چىقسا بىۋاستە مۇقىملىساقلا بولىدۇ (
3 ھەممە ئەپلەرنى بۇرۇنقى ئەپلەر بىلەن ئالماشتۇرۇپ بولغاندىن كېيىن رومغا ئىمزا قويىۋەتسەكلا بولىدۇ ، رومغا ئىمزا قويۇشتا goapk قۇرالىدىن پايدىلىنىمىز ، بۇ قۇرالنى ۋە ئىشلىتىش ئۇسۇلىنى http://alip.biz/thread-5785-1-1.html بۇ تېمىدىن كۆرسەڭلار بولىدۇ . شۇنىڭ بىلەن zip ھالەتتىكى رومنى تەرجىمە قىلىش دەرسلىكى ئاخىرلاشتى !
ئەمدى zip شەكىلدىن باشقا tar،،ۋە باشقا روملارنى تەرجىمە قىلىشنى سۆزلەپ ئۆتەي . ئەگەر باشقا شەكىلدىكى رومنى تەرجىمە قىلماقچى بولساڭلار ، ئەڭ ئاددىي ئۇسۇل ، باشتا شۇ رومنى يانفۇنغا قاچىلايسىلەر ، ئاندىن ھۆججەت باشقۇرغۇچى ئارقىلىق systep/app مۇندەرىجىسى بىلەن system/framework مۇندەرىجىسىنى چىقىرىۋالسىلەر ، ئەپلەرنى تەرجىمە قىلىش ئۇسۇلى يۇقىردا دەپ ئۆتكەنگە ئوخشاش . بارلىق ئەپلەرنى تەرجىمە قىلىپ بولغاندىن كېيىن بۇ ئەپلەردىن نى يىغىپ recovery دا قاچىلىنىدىغان رومچە ياسىۋەتسەكلا بولىدۇ . بۇنداق رومچە ياساش ئۇسۇلى : باشتا system ۋە META-INFدەپ ئىككى مۇندەرىجە قۇرىمىز ، systemنىڭ ئىچىگە app ۋە framework دەپ ئىككى مۇندەرىجە قۇرىمىز app نىڭ ئىچىگە تەرجىمە قىلغان ئەپلەرنى كۆچۈرىمىز ، framework مۇندەرىجىسىگىمۇ شۇ مۇندەرىجىدىكى تەرجىمە قىلغان ئەپلەرنى كۆچۈرىمىز ، ئەپتىن باشقا ھۆججەتلەرنى كۆچۈرمىسەكمۇ بولىدۇ . بۇ يەردىكى META-INFمۇندەرىجىسىنى ئۆزىمىزنىڭ تېلېفونىغا چۈشىدىغان باشقا zip شەكىلدىكى روملاردىن چىقىرىۋېلىپ ئىشلەتسەك بولىدۇ . ئەڭ ئاخىرىدا META-INFبىلەن system مۇندەرىجىسىنى تەڭلا تاللاپ ، مائۇسنىڭ ئوڭ كونۇپكىسىنى چېكىپ zip شەكىلدە پىرىسلاپ رومغا ئىمزا قويغاندەك ئىمزا قويىۋەتسەكلا بولىدۇ .