Skip to content

Adds simple way to add multilingual support to your RPG Maker VX game using a SQLite database.

License

Notifications You must be signed in to change notification settings

chaoshades/rmvx-ebjb-localization

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

rmvx-ebjb-localization

Adds simple way to add multilingual support to your game backed by a SQLite database. We could also use the same idea to feed more data into RPG Maker VX instead of the default database.

Table of contents

Quick start

  • See dependencies
  • Run this command to combine core scripts source into one file. ruby build.rb
  • Copy the resulting file into your RPG Maker VX project
  • Copy the lib/rexml folder and its content into the External Scripts folder of your project
  • Copy all of the lib/*.dll files next to your .exe of your project

OR

  • There is an already pre-compiled demo with the classic sample project.

Dependencies

The dependencies must be inserted, in the below order, before the script of this repo :

  1. Depends on EBJB_Core : https://github.com/chaoshades/rmvx-ebjb-core/

Documentation

Database schema

CREATE TABLE LANGUAGES (
  lang_id     integer,
  lang_desc   nvarchar(20),
  Primary Key (lang_id)
)

CREATE TABLE LOCALES (
  locale_id   nvarchar(100),
  lang_id     integer,
  locale_text nvarchar(1000),
  Primary Key (locale_id,lang_id),
  Foreign Key (lang_id) references LANGUAGES(lang_id)
)

Instruction for usage

You need to add the tag \dbt[ID] in the Show Text event where ID represents the unique identifier of the locale in the database.

To change the language, you can do so with a Show Choices event or any custom script that change the value of the @@lang_id global variable.

External libraries

There are clearly newest versions available for these. However, the old ones still works :O.

SQLiteDBAccess, SQLiteDBAccessWrapper, System.Data.SQLite

I put the source code I had that was used to generate the wrapper to be called by RPG Maker VX. Sorry, I didn't found more details on how it was compiled though.

It's a wrapper, hence the name, on a library in C# that uses the ADO.NET provider for SQLite and return results in XML. It is loaded with a Win32API call.

rexml

A Ruby library with a simple API to parse the XML returned by the SQLiteDBAccess library. It is loaded dynamically with the require method, which isn't available by default in RGSS2, so it was custom-made.

For more info, the source is there : https://github.com/chaoshades/rmvx-ebjb-core/blob/master/src/Other%20Scripts/RequireDefinition.rb

Contributing

Still in development...

Creators

About

Adds simple way to add multilingual support to your RPG Maker VX game using a SQLite database.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages