== Project aims == The aims of this project are as follows: 1. For me to learn C++ 2. For the latest version of Angband to be made available in the Japanese language. == Project implementation == I have decided to implement this as a Unicode-based program. [Volunteering Volunteers] are welcome, English speaking or Japanese. == Project development == The following are the general stages that I expect the project to go though (with luck). 1. JBand capable of compiling in VC++. 2. JBand capable of running on Windows XP, in English, but as a Unicode program. 3. Development of functions, classes etc. to handle Japanese text. 4. Make JBand compatible with Linux (on X11, gtk or other system as to be decided) 5. Translation of English text into Japanese text. 4 and 5 can be carried out in parallel, but there is little point in working on the translation until the program is capable of using it. If I make good progress with the earlier steps I hope for assistance from native speakers of Japanese for correction / addition of translations. == Timeline == A very rough estimate of six months until a playable beta is available in Japanese on Linux. May well take longer. == Frequently Asked Questions == None of these have actually been asked, but these are questions I expect people might to want to ask. Q. Why use Unicode? A. If I can get it to work then Unicode should be more flexible in what characters can be shown and may 'last longer' than old standards like Shift-JIS. Q. Why must it be compiled in VC++? A. In changing the source code to compile as a Unicode program for Windows I ended up using a lot of content that is probably specific to Visual Studios. I hope to make the code more portable later but first I have to get it to work at all! Q. Will you be using code or translations from the existing Japanese Angband? A. I would love to use the translations (and possibly some code) but they are not under the GNU Public License. I have not been able to get into contact with the author of the latest version ( http://ironhell.sakura.ne.jp/angband/angband/ ) to start the process of getting permission to use translations etc. In any case I have a lot of work to go before that point. Q. Why all the L"'s? A. I started off using the _T macros (_TCHAR, etc.) but carelessly used L to denote 'wide text' strings (e.g. L"this is handled as Unicode"). I should have been using _T("this is handled as Unicode, or plain ASCII, depending on compiler setting"). There are around 1859 of those to fix so I probably won't attempt it any time soon. Q. Isn't there already a version of Angband in Japanese? A. Yes, but it is from Angband 3.0.6 and not distributed under the GPL. Angband 3.1.1 has changed a great deal since 3.0.6 so I think it is worth redoing. == Other details == '''Source code file format''': These are currently in Unicode UTF-8 without BOM. The BOM reportedly causes problems with many programs, particularly on non-Windows platforms. Unfortunately compiler warnings are given - but the text is actually saved without problems (fingers crossed). {{{ warning C4819: The file contains a character that cannot be represented in the current code page (932). Save the file in Unicode format to prevent data loss }}} Testing other formats (Unicode UTF-16, with and without BOM) is also a possibility. '''Pre-Windows XP:''' I do not intend to support Windows 95/98/Me. The API of those operating systems does not support Unicode well and there are probably not enough people still using them to be worth the effort. '''Other Windows compilers:''' VC++ Express Edition is a free download so I do not intend to work to support other compilers in the foreseeable future.