View Issue Details

IDProjectCategoryView StatusLast Update
0000023XMB1New Featurespublic2008-11-19 01:11
Reportermiqrogroove Assigned Tomiqrogroove  
PrioritynormalSeverityfeatureReproducibilityN/A
Status closedResolutionfixed 
Target Version1.9.11Fixed in Version1.9.11 
Summary0000023: Redesign the Language System
DescriptionNotifications about subscriptions, U2Us, etc. are sent in the sender's language instead of the receiver's language. This is a major shortcoming of the translation systems design in all versions of XMB.

We could re-design the translation systems to rely on a proper database matrix [phraseid X languageid] so that we can query by two indexes instead of only one. This would be combined with a migration of the language file format from PHP script to SQL dump.
Additional Informationhttp://forums.xmbforum.com/viewthread.php?tid=765079

Schema update follows.

CREATE TABLE `xmb_lang_base` (
  `langid` TINYINT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY ,
  `devname` VARCHAR( 20 ) NOT NULL ,
  UNIQUE ( `devname` )
) COMMENT = 'List of Installed Languages'

CREATE TABLE `xmb_lang_keys` (
  `phraseid` SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY ,
  `langkey` VARCHAR( 30 ) NOT NULL ,
  UNIQUE ( `langkey` )
) COMMENT = 'List of Translation Variables'

CREATE TABLE `xmb_lang_text` (
  `langid` TINYINT UNSIGNED NOT NULL ,
  `phraseid` SMALLINT UNSIGNED NOT NULL ,
  `cdata` BLOB NOT NULL ,
  PRIMARY KEY `langid` ( `langid` , `phraseid` ) ,
  INDEX ( `phraseid` )
) COMMENT = 'Translation Table'
TagsAPI
MySQL Version
PHP Version
Web Server
Browser
FlagsSchema Updates
Original Reportermundoo
SVN Revision1351

Relationships

parent of 0000144 closedmiqrogroove Language File Import Tool 
child of 0000040 closedmiqrogroove Move More Code from header.php into elevateUser() 

Activities

miqrogroove

2008-11-02 09:39

administrator   ~0000056

This is pretty much done now. I'm going to label the next revision as Alpha two even though it's unfinished. Essentially I need to go through all of the AltMail() calls and add new calls to loadPhrase().

miqrogroove

2008-11-19 00:29

administrator   ~0000067

Reopening because the test server showed a 10-fold speed improvement when I added a primary key to the xmb_lang_text table.

miqrogroove

2008-11-19 01:11

administrator   ~0000068

I was unable to reproduce the longer query times by removing the primary key. So, what I will do is re-close this issue and then add OPTIMIZE TABLE commands to the major translation management routines.

Issue History

Date Modified Username Field Change
2008-07-21 22:16 miqrogroove New Issue
2008-07-21 22:16 miqrogroove Flags => Schema Updates
2008-07-21 22:16 miqrogroove Original Reporter => mundoo
2008-07-21 22:18 miqrogroove Status new => acknowledged
2008-07-21 22:18 miqrogroove Projection none => redesign
2008-07-22 00:53 miqrogroove Relationship added child of 0000040
2008-08-23 19:24 miqrogroove Status acknowledged => confirmed
2008-08-23 19:32 miqrogroove Relationship added parent of 0000144
2008-10-30 14:48 miqrogroove Assigned To => miqrogroove
2008-10-30 14:48 miqrogroove Status confirmed => assigned
2008-10-30 14:48 miqrogroove ETA none => < 1 month
2008-10-30 14:48 miqrogroove Additional Information Updated
2008-10-30 14:52 miqrogroove Additional Information Updated
2008-11-02 05:40 miqrogroove Additional Information Updated
2008-11-02 09:39 miqrogroove Note Added: 0000056
2008-11-03 16:12 miqrogroove Tag Attached: API
2008-11-10 20:46 miqrogroove SVN Revision => 1351
2008-11-10 20:46 miqrogroove Status assigned => resolved
2008-11-10 20:46 miqrogroove Fixed in Version => 1.9.11
2008-11-10 20:46 miqrogroove Resolution open => fixed
2008-11-16 19:38 miqrogroove Status resolved => closed
2008-11-19 00:29 miqrogroove Note Added: 0000067
2008-11-19 00:29 miqrogroove Status closed => assigned
2008-11-19 01:11 miqrogroove Note Added: 0000068
2008-11-19 01:11 miqrogroove Status assigned => closed
2008-11-19 01:11 miqrogroove Additional Information Updated