Hey, I finally finished adding the translations, but that's not all I did. As I went through I noticed some of text caused inconsistencies between its English and Japanese counterparts. Some new code was added, along with a lot of data
at the bottom. Here's all the changes:
- "Japanese" under Language was changed to 日本語（ひらがな） so Japanese people would actually know to select it
- LXT$ and LOCALIZE$() were added to handle the switches between languages
- Many, many, MANY DATA and labels were added in order for Smile World to be able to dynamically translate without fault
- PUTTEXT, PUTGCHAR, and MKBOX were added to
(More on them in a bit)
- Free up a bit of space
- Automate otherwise tedious tasks
- There are a few other variables that were created, either for the purpose of creating a shortcut or bypassing a restriction found when changing code
- Some code was replaced so localization, formatting, and other things would function (I touched only what I had to--I didn't mess with anything other than text-based code, except for adding a few variables and functions)
...Now onto more detail
Let's get the quick one out of the way: LXT$
is a 5-element array that takes output from LOCALIZE$()
. Nothing else to it.
Now the rest I condensed for you guys.
QUICK NOTE: These are added extra's I put in so things, like centered text, would look uniform and stay that way even when the language changed. (Japanese sentences are often either shorter than English sentences, or ridiculously longer.) That being said, you don't have to use these, but in case you need to know what exactly these do (as I'm sure you do), I'm writing all this down.
LABEL$ = The beginning part of the label where the DATA is located, not including the "@"
LOCALE$ = The extension dedicated to differentiating one label of language data to another label of language data. In other words, what tells @MENU1 apart from @MENU2
LOCALE$ is already there. just use it. As for label, look at the multiple times I've used TRANSLATE$() and at the labels, and I'm sure you'll find it out quicker than I can explain it. No, really, I'm a bad teacher.
Please, please, PLEASE, don't name a label with a number at the end or you might trip up TRANSLATE$(). Also, keep in mind that there's already a label @catch, and it needs to stay unless you're fine with the program crashing during certain dialog.
MKBOXSyntax: MKBOX X,Y,W,H,B
X = The X position of the top-left corner of the box
Y = The Y position of the top-left corner of the box
W = The width of the box, excluding the leftmost column. Keep in mind that MKBOX will build the box towards the right.
H = The height of the box, excluding the topmost row. Keep in mind that MKBOX will build the box downwards
B = The position of the bar, relative to the topmost row. Set it to zero to exclude it.
You can use this and PUTTEXT to make a box with less characters. Keep in mind white-space counts towards file size.
PUTTEXTSyntax: PUTTEXT X,Y,W,T$
X = The X position of the left side of the container you want to center the text in (confusing huh? Basically the X you used in MKBOX if you're putting it in there.)
Y = The Y position of where you want the text to be
W = The width of the container you want to center the text in (Basically the W you used in MKBOX if you're putting it in there.)
T$ = The text. What, did you expect some witty comment here? Maybe an ironic one?
This was mainly made just to center the text inside, if you couldn't tell, MKBOX.
PUTGCHARSyntax: PUTGCHAR Y,T$,SX,SY
Y = The y position you want to text to be at
T$ = You know what's more ironic? Repetition. Have I just achieved triple irony?
SX/SY = Size modifiers on the X and Y axes'. 1.0 means no modifications.
Not to be confused with GPUTCHAR. Also keep in mind this DOESN'T take an X argument.
Hopefully I'm not overstepping any boundaries, being the translator and all. I know you guys worked hard at making it presentable, so I wanted to make sure I didn't ruin that differently formatted text. I also want to note that my translations definitely AREN'T 100% accurate, so I'm sorry if some of them appear a bit... strange. Some of the wording you guys used threw me off, but it's fine.
Anyway, here's the code. And hopefully you enjoyed my humor inside the explanations.
I'm going to take a nap now. See you guys in a bit.