Am I able to localize menu of PRS-505?
Because of super "hack" (hack3) from this forum I can make Czech e-books with diacritics readable with no problems (SUPEEER:2thumbsup) ... now ... I want to localize menu ...
Thanks for help...how to do it?
igorsk
07-22-2008, 12:26 PM
It's possible but is rather complicated. I plan to do some postings on Sony internals which will include details on replacing strings but since it's quite risky so I would like to wait until we have an official firmware update for unbricking if necessary.
lovebeta
07-22-2008, 06:04 PM
Yes, there's one hack that does not need flashing your rom. You have to apply the hack everytime you reboot your reader though. But it is much safer since the official rom is yet to come.
Because of original firmware is here --> I tried to look at "Russified" version od PRS-505. All of important strings are in /opt/.../kbook.so . The russified version is little complicate, because there is an custom FONT, where in custom chars ($E000...) are 1 font char = "1 complete menu line" ... that is no problem, but how it is connected by unicode???
For example:
(original firmware)
Books by Title is in
hex: 42 6F 6F 6B 73 20 62 79 20 54 69 74 6C 65
_____B_o__o__k_s__-__b_y__-__t__i__t__l__e
in "Russified" version it is rewritted to:
hex: EE 80 82 EE 80 80 F4 8E 80 80 F4 8E 80 80
and char in font for this menu is $E002 ... in FontCreator
(idea: EE 80 82 is somehow equal to $E002
EE 80 80 and F4 8E 80 80 are both spaces???)
Am I using right tool to edit ... or ...??? I dont know how to code unicode font chars in kbook.so ... anyone can help me?
P.S.: What is the default editor for making font files for PRS-505?
porkupan
07-27-2008, 01:19 AM
zemj, you are on the right track. In fact, if your goal is to localize the Reader to Czech, or Chinese, or Esperanto, or any other language, you can look at the solution the Kiev hackers came up with, and make your own localization. :2thumbsup
The reason for it is that the hackers made each menu string essentially a single character Unicode string consisting of one special Unicode character. These special characters are normally not printable, so you can make any font "character" correspond to them. The newly created font "characters" are composite symbols making up entire strings. So, all you need to do is make your own special font, and you are all set.
I thought that to be a rather amazing solution, as it didn't require relocating and overwriting the strings, editing ARM binaries, or any such ugly stuff.
You are correct, the Unicode for EE 80 82 ends up E002 - read some Wikipeadia articles (http://en.wikipedia.org/wiki/UTF-8#Description) about UTF-8 string encoding. The first bits of the "characters" tell the length of the character in bytes:
1110xxxx 10yyyyyy 10zzzzzz is interpreted as xxxxyyyy yyzzzzzz
The negative here is that every new FW release will probably require re-editing kbook.so (and some XML files), which is a bit of a pain.
zemj
You are correct, the Unicode for EE 80 82 ends up E002 - read some Wikipeadia articles (http://en.wikipedia.org/wiki/UTF-8#Description) about UTF-8 string encoding. The first bits of the "characters" tell the length of the character in bytes:
1110xxxx 10yyyyyy 10zzzzzz is interpreted as xxxxyyyy yyzzzzzz
The negative here is that every new FW release will probably require re-editing kbook.so (and some XML files), which is a bit of a pain.
Thanks a lot !!!
I was blind or something like this ;)
Yes you are right, every new firm you must edit kbook.so (thats why I was trying to find how to localize new firm). But you needent make everytime new fonts ... If you make one unicode translation of kbook.so than you can localize menu just with changing fonts ;)
But also I know ... you will say that it is not good, because of people that want custom font type...
igorsk
07-28-2008, 01:35 PM
See the solution discovered by Chinese guys.
http://www.mobileread.com/forums/showpost.php?p=223350&postcount=29
Doesn't need editing binary files or custom characters in fonts.
See the solution discovered by Chinese guys.
http://www.mobileread.com/forums/showpost.php?p=223350&postcount=29
Doesn't need editing binary files or custom characters in fonts.
:zoiks: ... I tried it ... it seems to be very nice and logicaly, but ... I tried to translate it ... all times I made new /opt ... it brick my Reader :skull:
Thanks to official updater I can unbrick it ( :pray: ) ... I think I would prefer English menu
P.S.: I think it is not new for you, but ... if you extract official flasher (from SONY) ... then edit file PRSVersion.dat (..\eBookUpdater\assets\updaterAssets\)... edit the string "110018040" to for example "110018041".
Now you have all time flasher.(When you not do this ... flasher say that your firm is "Up to date" and you cant Flash). I know maybe it isnt healthy for Reader, but it is better than having a brick.