[Vtigercrm-developers] A suggestions to implement before vtiger 6.1.0 release

Holbok István holbok at gmail.com
Tue Jul 1 10:41:45 GMT 2014


Dear Vtiger Team,

There are a small, minor issues in the translation system of vtiger 6.

*(1) if you will create a Custom module* with necessary en_us language 
files still will be missing language keys from the
/languages/en_us/Vtiger.php
/languages/en_us/Settings/Vtiger.php
For example the Custom module has settings page, and defined the Links 
e.g. under Integration menu on the left panel, there will be a LABEL 
e.g. LABEL_CUSTOM_MODULE but not a translated string.

The reason  is:  vtiger translation engine is looking for the string in 
the /languages/en_us/Settings/Vtiger.php file if you are in the
place <vtiger>/index.php?module=Vtiger&parent=Settings&view=Index
And the translation engine will not find the translated keys in the file 
/languages/en_us/Settings/Custommodule.php

This issue also valid for the main menu system that uses keys from the 
/languages/en_us/Vtiger.php file.

*Bad solution today is:* adding manually - after install - the missing 
language keys => value pairs to the /languages/en_us/Vtiger.php & 
/languages/en_us/Settings/Vtiger.php .
But this solution is against the vtiger store policy changing core 
files. (You can see in the /languages/hu_hu/Vtiger.php & 
/languages/hu_hu/Settings/Vtiger.php these added dozens of plus keys.)

*Suggested solutions:* create a vtlib function and a 
/languages/en_us/Common.php & /languages/hu_hu/Settings/Common.php files 
to handle this issue.
The vtlib function simple will open the Common.php language files (for 
the named language) and will append the provided missing key => value 
pairs to the end of the file (if the provided keys are not exist already).

*(2) Translation engine issues **with picklist texts.*
Unfortunately the picklist (and multi-select picklist) fields data will 
store in the database in text form and these texts are subject of 
translation.
The translations are necessary, but there is better storage form then text.

For example the vtiger system uses 2 languages (Hungarian and English).
Note: the multi-language usage in Central Europe is very widespread. For 
example my consultant association works in 10 CE countries, and our 
vtiger users from these countries and they use this vtiger instance in 
English, German, Hungarian, Romanian, etc. languages.

So, there is a 2 language vtiger system and there is a picklist with 
words 'big', 'medium', 'small' and in the language file there are 
translation in order 'nagy', 'közepes', 'kicsi'.

If the English user will pick the 1st item, the field will store 'big' 
as a content. In multi-select will be stored e.g. 'big |##| medium'. The 
Hungarian user will pick the 1st item the field will store 'nagy' as a 
content. In multi-select will be stored e.g. 'nagy |##| közepes'.

And this case will cause *IMPOSSIBILITY *to search in the database.

My suggestion is to store in the database the picklist ID but not the 
picklist label. The picklis ID will be too same using different languages.
For example here is the activitytype picklist.

*SQL lekérdezés:*SELECT * FROM `vtiger_activitytype` LIMIT 0, 25 ;
*Sorok:*3

activitytypeid 	activitytype 	presence 	picklist_valueid 	sortorderid
1 	Call 	0 	12 	0
2 	Meeting 	0 	13 	1
3 	Mobile Call 	0 	321 	1


If we will store in the database the activitytypeid as picklist ID, it 
will be too same for every language.
For the multi-select we can store '1 |##| 2' instead of the confused 
translated or not translated labels from the second column.

Of course these solutions will change the UIType handling engines and 
the search engine also.
So, the database will contain the indexes (from the 1st column), the 
translating engine will show the labels from the second column or labels 
from the language files.

Kindest regards:
Istvan

-- 
üdvözlettel:

*Holbok István*

+3670-342-0900
*e-mail:* holbok at gmail.com
*SkyPe:* holboki

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.vtigercrm.com/pipermail/vtigercrm-developers/attachments/20140701/b635bf06/attachment-0001.html>


More information about the vtigercrm-developers mailing list