Typically for application code you ideally want to not fork for any reason including language. There are some quick things you need to watch out for;
- Ensure that strings are not hardcoded
- Store all datetimes in UTC
- Ensure that all user profiles have an associated timezone (you can grab this from the user's browser
- Try to ensure that your presentation is separate from your page content (i.e. use CSS, Master Pages, Templates or whatever your platform supports).
As for the database this depends more on the data your holding, for example if;
- You want users to share logins across both sites
- Knowledge to be shared but not necessarily localized (Wiki Entries)
- The sites are managing a shared resource (i.e. a single warehouse)
You might want to have one database.
However if you find the following are true;
- You don't want/need users between the sites to have cross over (think amazon.com and amazon.co.uk)
- Knowledge is wholly separate with entries in one language being irrelevant to the other
- The sites are managing wholly separate resources (i.e. two separate warehouses)
You might lean towards two separate databases. This will give you an advantage in scaling (though its not a silver bullet) and as long as the schemas are identical across the databases you will likely find that it's not too onerous.
One other option is to identify shared resources and split them into another repository (think user logins etc...). This can get you the best of both worlds but of course is a more complex design.
Remember all of this can be added after the fact it just becomes harder. Sometimes it's more important to get to market than it is to try and solve all your problems up front.
Good Luck!