Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in /storage/content/49/145849/famitracker.com/public_html/forum/classes/dbHandler.php on line 29 FamiTracker
Login:
Menu:
Post: Author:
FamiTracker > General > FamiTracker Talk > A Fully Chinese Localized Famitracker! Owner: womo New post
Page 1 of 2 Sort: Goto Page: [1] [2] Next >>
A Fully Chinese Localized Famitracker! Posted: 2014-07-25 18:37  (Last Edited: 2014-07-25 18:39) Reply | Quote
womo



Member for: 2888 days
Status: Offline

#59780
It works completely normal like original Famitracker except... all its UI interfaces are Chinese...
By the way, no image tag in this forum?

[url=http://i.imgur.com/1KxwyRM.png]Snapshot 1
[url=http://i.imgur.com/r1fArT5.png]Snapshot 2
[url=http://i.imgur.com/sWdq0Xs.png]Snapshot 3
[url=http://i.imgur.com/z2zmRIN.png]Snapshot 4
[url=http://i.imgur.com/LU9QFIG.png]Snapshot 5
[url=http://i.imgur.com/9Ej6TLr.png]Snapshot 6


Attachments:
famitracker.exe (581 Kb)
Posted: 2014-07-27 01:44 Reply | Quote
TechEmporium

Avatar

Member for: 4485 days
Status: Offline

#59836
Good job. Naturally, everything will work as it should if all you're doing is changing the UI language.

Also, no image tag here. This forum's long overdue for an upgrade, but it works.

Now I could only imagine how long it would take for someone to translate the help file, but I'm sure you can do it if you know HTML or have a good HTML editor.

_______________________
Technology: the one thing that's hated & cursed at by all engineers, technologists, scientists & technicians!

(Lousy modern technology! )
Posted: 2014-07-27 17:12 Reply | Quote
poodlecock

Avatar

Member for: 3398 days
Location: !wow
Status: Offline

#59856
womo: would you be willing to send me the source file? Nice work.

_______________________
"im going to continue making this crazy stuff then after a while my style will be so sick that you will be like damn suuun that shit is so sick i dont even get it. i will be like bro its ok.. you dont have to." -omgdonut
Posted: 2014-07-28 20:28 Reply | Quote
jsr
Administrator

Avatar

Member for: 5925 days
Location: Sweden
Status: Offline

#59902
Nice work!

I don't think there is many chinese users here though?

_______________________
Programmer and developer
Posted: 2014-07-29 02:00  (Last Edited: 2014-07-29 02:00) Reply | Quote
TechEmporium

Avatar

Member for: 4485 days
Status: Offline

#59934
There are many Chinese people on this planet, so we're bound to have a lot of Chinese users.

Also, why not make language packs like this in the form of a DLL file or something? that way, a user could just drop the DLL into the same folder as FamiTracker.

_______________________
Technology: the one thing that's hated & cursed at by all engineers, technologists, scientists & technicians!

(Lousy modern technology! )
Posted: 2014-07-29 21:16 Reply | Quote
jsr
Administrator

Avatar

Member for: 5925 days
Location: Sweden
Status: Offline

#59966
That is already possible, copy the resources from famitracker and create a new DLL with name language.dll and then store it in the same directory as famitracker.exe.

But I haven't tested it well yet and I'm unsure how to handle updates in a good manner so it's still undocumented.

_______________________
Programmer and developer
Posted: 2014-07-30 01:17 Reply | Quote
TechEmporium

Avatar

Member for: 4485 days
Status: Offline

#59974
Since language.dll is already a resource embedded in the executable, you'd need to make a function that will detect an external DLL file with a language name & use that to override language.dll (i.e.: make a Chinese DLL file called chinese.dll, French file called french.dll, etc., store them in the same folder as FamiTracker & have the program autodetect them).

This would also involve adding a menu where you can select a language & have the chosen settings saved in the regisitries. That way, when there's a UI update (like an added menu option,) updating the language file is a matter of overwriting the old file with a new one.

_______________________
Technology: the one thing that's hated & cursed at by all engineers, technologists, scientists & technicians!

(Lousy modern technology! )
Posted: 2014-07-30 08:38 Reply | Quote
jsr
Administrator

Avatar

Member for: 5925 days
Location: Sweden
Status: Offline

#59992
No, what I meant is that's all you have to do to make a translation.

The support is already there, if there is a language.dll in the same directory as famitracker then it will try to load and use the resources from that file instead of the internal ones.

_______________________
Programmer and developer
Posted: 2014-07-30 19:21 Reply | Quote
B00daW

Avatar

Member for: 4986 days
Status: Offline

#60010
womo, if you are a native Chinese speaker please add additional descriptive and attractive language to your original post and subject to entice more Chinese users here from search engine spiderbot scrapes.

More music from other cultures is always welcomed! Thank you for your efforts if you were the one to translate the interface. Xie xie.

Posted: 2014-07-31 01:57  (Last Edited: 2014-07-31 02:09) Reply | Quote
TechEmporium

Avatar

Member for: 4485 days
Status: Offline

#60022
[quote=jsr]No, what I meant is that's all you have to do to make a translation.[/quote]

Ah. Now I understand.

I'll see if it's possible to extract the DLL from womo's executable &, if it's all directly edited in language.dll, I could package that (with credit to him for the translation) & send that to you.

I just love Resource Hacker.

EDIT: well, it seems as though the executable is compressed & must have been edited directly through Resource Hacker or a similar tool, before womo shared it. I can only save the resources as *.rc files, unless womo's actually willing to share his source code to prove me wrong (I hope he does, too, because not sharing the source code with his changes is, technically, violating the program's licensing).

_______________________
Technology: the one thing that's hated & cursed at by all engineers, technologists, scientists & technicians!

(Lousy modern technology! )
Posted: 2014-07-31 18:54 Reply | Quote
jsr
Administrator

Avatar

Member for: 5925 days
Location: Sweden
Status: Offline

#60046
There is no DLL to extract from the executable, what you need is the RC-file. Add that to a new project and build a DLL and it should work.

_______________________
Programmer and developer
Posted: 2014-08-01 00:36  (Last Edited: 2014-08-01 06:05) Reply | Quote
TechEmporium

Avatar

Member for: 4485 days
Status: Offline

#60076
Thanks for clearing that up. I guess I should cut down on using RosAsm (an assembler that actually lets you embed DLL files & other resources inside your executable like a zip file).

Anyways, here's what I was able to extract from the program in terms of resources. Sadly, I don't have Visual Studio, so someone with it would have to use this RC file to compile the DLL.

_______________________
Technology: the one thing that's hated & cursed at by all engineers, technologists, scientists & technicians!

(Lousy modern technology! )
Attachments:
ft_chinese.rc (1 Kb)
Posted: 2014-08-01 23:52 Reply | Quote
jsr
Administrator

Avatar

Member for: 5925 days
Location: Sweden
Status: Offline

#60110
I could do it but that file is missing a lot of the resources, it looks like it only contains the version information. I tried to extract the resources myself but can't do it from that file, for some reason.

womo, if you still are here, did you translate and compile this from the sources or did you edit the EXE-file?

_______________________
Programmer and developer
Posted: 2014-08-02 09:56 Reply | Quote
womo



Member for: 2888 days
Status: Offline

#60139
[quote=jsr]I could do it but that file is missing a lot of the resources, it looks like it only contains the version information. I tried to extract the resources myself but can't do it from that file, for some reason.

womo, if you still are here, did you translate and compile this from the sources or did you edit the EXE-file?[/quote]

Well... I'm back and unexpectedly there are so many replies. I'll try explain what I did, though I apologize that my English is not very good and some sentences might not accurate.

[ol][li][b]Did you translate and compile this from the sources or did you edit the EXE file?[/b]
I downloaded the source code and edited it, most works are just simply translate the language, then compile it with Visual Studio 2008, which matches the solution file in the code. The other things I'll explain them down.[/li]
[li][b]Why not make language packs like this in the form of a DLL file or something?[/b]
Yes many softwares provide language plugin like dll, pure text or other stuff, but sometimes there are problems in it, not all the strings can be localized by the language plugin, they are directly written in the source code instead of rc file, which can be only leave as untranslated. So if it's an open source software, I'll choose to alter the source code and compile it. Famitracker has much of that either.[/li]
[li][b]Did you do something other than translate to Famitracker?[/b]
Yes, but all the changes are for localization, if you don't understand programming you can skip the huge sections down.[ul][li]The default font of Chinese Windows OS is different from the Engish one, you may not experience this because Windows using lattin letters languages, such as German, French or Swedish are almost same default font with English. If you've ever use a Japanese, Korean or Chinese Traditional/Simplified Windows XP, you'll know what I mean, the English letters looks different in some foreign OS when the theme is in default.
So I have to change the font settings in the .rc file to match the OS, this must be done because sometimes would be a serious problem as the original font might not display Chinese characters correctly, or display them ugly according to the system font link.
The window becomes shorter or taller after font chenged for some reason, [url=http://i.imgur.com/UiEC9yr.png]this image shows.
In most cases this isn't matter, becasue the buttons are also shrinked or stretched. But sometimes it would become a problem especially there are images in it. Images doesn't follow the size rule in rc file, they would out of the combobox down, I have to either manually ajust the size to fit the image or change the draw position of the image. That's why I need to edit the source code. In Famitracker, the Edit Instrument dialogs has such situation and I adjusted them all.
[/li]
[li]The different language has a different grammar, if the string has things like %s, %d etc, its order changed in another language, and Chinese don't have plural of noun. For example, some of the software have strings like this: "%d item%s", count, count > 1 ? "s" : "", they would justify it every time the noun has a plural form, these codes can be completely changed in traslation.[/li]
[li]Sometimes you should change the size of the object or even its position, because they can't fit your translation. The original sentences might become longer after translated, fortunately most English sentences are shorter after translated into Chinese, so I doensn't encounter this much in Famitracker, but many softwares have this problem.
Only a few words are longer than English, The most popular problem for Chinese localization is buttons like "&Add...", "HEX", "&Run" or "&Go", their Chinese words are longer than English, the original size of the button can be narrow, needless to say the shortcut key accompany with & must follows after the word in bracket, which makes the situation even worse.
This can also happends to the UI interface. The most popluar example is the configuration dialog of Snes9x in Chinese, [url=http://i.imgur.com/ydr4FFe.png]they moved some object to a different place to fit language.[/li]
[li]One thing I changed in the menu which has no relationship of localization is the checkmark, when the items is only single selectable, the mark on the left should be a round dot rather than checkmark. I quite don't understand why programmers always use checkmarkS whatever the menu is single-selectable or multi-selectable.
[url=http://i.imgur.com/pasbT8r.png]This image can explain what I mean.[/li][/ul][/li]
[li][b]What's the popularity situation of Famitracker in China?[/b]
Although China's population is too exploded, there are Famitracker fans in China but not a very large populate culture, we have a tieba (a famous forum in baidu that contains many themes) of Famitracker which has only one post per three or four day. There're also MIDI forums with 8-bit music subject but don't contain too much. We lack of high level FTM fighters. However I expect one day they can compose some Chinese-style 8-bit music.[/li]
[li][b]Would you be willing to send me the source file?[/b]
Yes, if some people really need the source code, I'll attach it to the reply, I won't violate the open source spirit.
[/li]
[li][b]Why do you localize Famitracker to Chinese, as mentioned above, China doesn't have much FTM fighters?[/b]
It's my hobby to translate software to my mother tongue, it's some kind of...how to say it... an addiction. I've localized many softwares to Chinese, most of them are emulators. In China, there are many people like me, who localize software (some of them are unlicenced because copyright protection is weak in China). I have a friend which is a Famitracker guy, he recommended it to me so I translated it.[/li]
[li][b]What's wrong with the file you provided? I can't extract resources from it.[/b]
I just simply encrypted and compressed it, and erased some PE signatures to prevent hacking. I have ever meet a bad situation. Someone got my exe file and edit it with tools like RESEdit, he simply changed some few words and claim all the translation is done by him. Although I can't prevent all, deep hackers can easily decrypt it and hack, but at least prevent those lamers who don't have much techniques.
The other reason is the attachment size of the forum, the original file is over 1.2MB that exceeds the limit.
As mentioned above, if you use the source code I provided to you and compile it with appropriate compiler, you'll get an exe which behave the same.[/li][/ol]

Posted: 2014-08-03 01:19  (Last Edited: 2014-08-03 01:28) Reply | Quote
TechEmporium

Avatar

Member for: 4485 days
Status: Offline

#60239
If he's Chinese, I doubt he'd make a Polish version unless he knew Polish. :P

womo: I know exactly what you mean by the different character sets (like the Latin characters appearing in East Asian language sets tend to use different excape codes, etc.).

Mind you, you should not have erased the PE signatures & encrypted the program to prevent "hacking" in an open source program, because that's what open source programs are meant to allow (i.e.: you're supposed to be able to modify open source programs freely, whether or not you encrypt & compress the program to prevent direct editing from a resource editor).

The best way to allow this & to maintain credit for your work is to make the source code available to the original programmer (you can e-mail JSR your translation & I'm sure he'll gladly create the DLL & credit you for your work). Or, if you're able to, you could start your own website with your many translation projects & post the source code there.

Anyways, I'm glad that's cleared up. The more languages, the better (I'd even do a French translation if I had the chance & I'm sure others would do any language they know).

_______________________
Technology: the one thing that's hated & cursed at by all engineers, technologists, scientists & technicians!

(Lousy modern technology! )
Page 1 of 2 Sort: Goto Page: [1] [2] Next >>