Multiple language support - Kosudo/nextSIS GitHub Wiki

nextSIS is being developed by people from a variety of linguistic backgrounds. At the code level, as the convention in computer languages is for American English spelling, we have decided to use American English spellings for variables, objects, methods, functions and so on, as well as for table names and fields with respect to the database.

Interface text is performed by looking up data using CodeIgniter's [Language Helper] (http://codeigniter.com/user_guide/helpers/language_helper.html) and [Language Class] (http://codeigniter.com/user_guide/libraries/language.html). Using such a text file arrangement avoids constantly thrashing the database but it isn't particularly elegant from a usability point of view and it raises some questions about how user-defined fields are dealt with. An alternative method might involved cached queries with the database.

Standardised lookup values are being stored in the database using a language table and language field identifier or 'tag', as defined by [ISO 639-1] (http://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) and the [IETF's BCP 47] (http://tools.ietf.org/html/bcp47) to differentiate regional differences such as en-GB and en-US for British and American English respectively. A useful language subtag lookup is provided via [the w3.org site] (http://people.w3.org/rishida/utils/subtags/index.php).

The default user-interface language will be American English.