coreBOS OpenSourceBT

View Issue Details Jump to Notes ] Wiki ] Related Changesets ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0000237coreBOSFunctionalitypublic2014-10-29 18:072018-02-20 19:15
Assigned Tojoebordes 
PlatformOSOS Version
Product Version 
Target Version5.6Fixed in Version 
Summary0000237: Move translation strings to database
- create vtlib module: cbtranslation
 - fields:
  - autonum: identifier uitype 4
  - locale: varchar(10) uitype 1
  - module: varchar(50) uitype 1 (could be 15, picklist, but would requiere autofill with existing modules)
      this field will have a special virtual module value called "cbgeneral" which will hold the current include/language strings
  - key: varchar(250) uitype 1
  - i18n: text uitype 19
  - proofread: varchar(3) uitype 56
  - standard fields: assigned user, created and modified time

We need an index on the database table (put in manifest file): module+key+locale
Put in Settings menu

 - return_application_language()
 - return_module_language()
 - I think that modifying those two will be all we need to do, but we must verify that there isn't anything else. For example, it would be REALLY nice if we could find a way to intercept the include() and require() calls to detect that the language files are being loaded directly and still return the correct array, in fact if we could do that we may not need to modify the two language functions

Add two columns to the vtiger_language table:
 - author: varchar(200)
 - license: text

Language file import and update:
 - modify import to upsert language records in database
 - read author and license from manifest file and update vitger_language accordingly

Modify install process:
 - move all existing translations into SQL dumps
 - eliminate the files
 - add import of the manifest file and load of the SQL dumps to install process

Special Export action buttons on list view:
 - Export CSV
 - Export JSON
In both a file in the choosen format is created with only the module, key and translation, like this:

{ 'module::key':'i18n', ...}


The idea is to make it easy to work with tools like

Eliminate current translation tool in module manager: individual translation can now be done directly in the module, filters can be easily created and we can use external tools like and the current import functionality to quickly mass update

We could create a special translation screen inside the application, maybe using angularjs or based on this project: [^]
but I really don't think this is necessary because once we have an easy way to export and import we can use these external tools.
TagsNo tags attached.
Attached Files? file icon DBLang [^] (2,585 bytes) 2014-10-29 18:07 [Show Content]
zip file icon [^] (36,808 bytes) 2015-06-22 00:53

- Relationships

-  Notes
User avatar (0000348)
joebordes (manager)
2015-05-29 13:19

@Edlira, I just saw you uploaded the module. I didn't receive any update when you uploaded the module. I will have a look and get back to you as soon as possible.

Thanks :-)
Have a nice weekend
User avatar (0000377)
edlira (manager)
2015-06-20 21:48

@Joe, I just saw your comment. I am really sorry. I have an updated version of the module. I am checking now what is still missing and will get back to you :-)

Thanks a lot
User avatar (0000574)
joebordes (manager)
2018-02-20 19:15

Fix committed to master branch. 092865688b3b88d08fca3831a5d1555f2c630475

- Related Changesets
coreBOS: master 09286568
Timestamp: 2018-02-20 19:14:34
Author: joebordes
Details ] Diff ]
fix(LayoutEditor) check field usage translate and add note about false positives. fixes 0000237, 0000240
mod - Smarty/templates/Settings/LayoutBlockEntries.tpl Diff ] File ]
mod - modules/Settings/language/de_de.lang.php Diff ] File ]
mod - modules/Settings/language/en_gb.lang.php Diff ] File ]
mod - modules/Settings/language/en_us.lang.php Diff ] File ]
mod - modules/Settings/language/es_es.lang.php Diff ] File ]
mod - modules/Settings/language/es_mx.lang.php Diff ] File ]
mod - modules/Settings/language/fr_fr.lang.php Diff ] File ]
mod - modules/Settings/language/hu_hu.lang.php Diff ] File ]
mod - modules/Settings/language/it_it.lang.php Diff ] File ]
mod - modules/Settings/language/nl_nl.lang.php Diff ] File ]
mod - modules/Settings/language/pt_br.lang.php Diff ] File ]
mod - modules/Settings/loaddata.php Diff ] File ]

- Issue History
Date Modified Username Field Change
2014-10-29 18:07 joebordes New Issue
2014-10-29 18:07 joebordes Status new => assigned
2014-10-29 18:07 joebordes Assigned To => onhold
2014-10-29 18:07 joebordes File Added: DBLang
2015-05-04 00:19 edlira File Added:
2015-05-29 13:18 joebordes Assigned To onhold => joebordes
2015-05-29 13:19 joebordes Note Added: 0000348
2015-06-20 21:48 edlira Note Added: 0000377
2015-06-22 00:53 edlira File Deleted:
2015-06-22 00:53 edlira File Added:
2018-02-20 19:15 joebordes Changeset attached => coreBOS master 09286568
2018-02-20 19:15 joebordes Note Added: 0000574
2018-02-20 19:15 joebordes Status assigned => resolved
2018-02-20 19:15 joebordes Resolution open => fixed

Copyright © 2000 - 2018 MantisBT Team
Powered by Mantis Bugtracker