Back in the days of ByteHoard 0.8, someone asked me if it was possible to translate it into different languages. At the time, all the messages were hardcoded into the script, but since then I've used the tried-and-true method of language includes.
These are simply PHP files with a list of lines like so:
Example 3-2. An example of a language include line
$bhlang['explain:login'] = "Please enter your username and password to login to the system.";
To create your own language file or edit an existing language file isn't really that hard. If you're creating, simply copy the en.lang.php file to another with the correct ISO 639 prefix, or with a different (longer) prefix if it's not really an official language.
Then just go down the file and edit the values in the speech marks on the right hand side to what thay should say in the new language (don't change anything to the left of the equals signs). If you use speech marks within your translated text, then please escape them like so:
\"This ensures that they don't tell the PHP interpreter to stop reading there, thinking it's the end of the text.
Some entries may contain things like #FILE#, #USER# or similar. These are markers that will be replaced by the filename or username respectively; for example: