[Vtigercrm-developers] A translation question (i18n)

Prasad prasad at vtiger.com
Mon Nov 24 07:25:30 PST 2008

Hi Kristof,

I would suggest not adding too much hack to any Smarty functions it will
pose difficulty to upgrade the library later.

Coming up with context based language keys is a way to go (as I can think of
We need to clean up TPL files in the beginning and add required language
translation key this will make sure other
language translators put in proper values based on the context.

vtiger Team

On 11/24/08, Kristóf KOVÁCS <kristof.kovacs at onlineprojects.hu> wrote:
> Hello Prasad,
> thanks for your answer! Of course, I don't wish to force a language cleanup
> on your team. :) I'm merely thinking about developing the foundation, the
> infrastructure for such a change, and then, I hope, individual translators
> of different languages would do the modifications in both the TPL and the
> language files. I would certainly do our own part, Hungarian translation
> requires different word order at several places.
> But I want to discuss the concepts with you guys, since for such a change,
> it requires consensus (I also would like to hear opinions from veteran
> translators of the project). Also it would be very bad if our development
> tree would diverge from yours, both in terms of maintenance (for us), and in
> opportunity lost (for everybody).
> Prasad, we all know and trust you as one of the best core developers, so
> just one question: what do You say, just from the top of your head, would
> there be any better solution for the problem, or should we go think forward
> with the "added-Smarty-printf-function" solution? (Would you accept into the
> codebase the patches we would be starting to send in of modified TPL files
> and language files?)
> Kristóf
> On Mon, Nov 24, 2008 at 3:52 PM, Prasad <prasad at vtiger.com> wrote:
>> Hi Kristof,
>> This issues has been brought up earlier as well. To make the translation
>> clean up all-over the product it could
>> take more effort both in terms of development and validation. Currently we
>> are focusing on getting in new features
>> as we go along we can better plan for language cleanup's as well. This
>> give us more focused work items.
>> We would appreciate community help in identifying such language or
>> translation issues.
>> Regards,
>> Prasad
>> On 11/24/08, Kristóf KOVÁCS <kristof.kovacs at onlineprojects.hu> wrote:
>>> Hello Tigers,
>>> I was talking with Dávid of CafeOpen about vTiger translations, and there
>>> is one issue which my team often faces with, and this is word order. Let me
>>> illustrate it with an example (using German instead of Hungarian to make it
>>> more clear, but the concept is the same).
>>> For example, in ActivityEditView.tpl there is the following code:
>>> <input title="{$APP.LBL_ADD_NEW} {$APP.Contact}" .....
>>> And this shows a button called "Add Contact". It seems all well since
>>> "$APP.LBL_ADD_NEW" is "Add" and "$APP.Contact" is "Contact".
>>> But "Add Contact" in German is "Kontakt hinzufügen" (notice that the
>>> words are in a different order). Now we have a problem since
>>> "{$APP.LBL_ADD_NEW} {$APP.Contact}" can not be forced to display this, and
>>> saying "hinzufügen Kontakt" does not sound quite right (it sounds very bad
>>> indeed).
>>> Translation quirks can circumvent some of such problems (one could write
>>> "Neue Contact"), but often these strings are reused at other parts of the
>>> code, and fixing it in one place often destroys grammar at other places.
>>> One idea would be to use printf()-like format strings to correct such
>>> issues, even if it may require an introduction of a now Smarty function. I'm
>>> thinking along the lines of something like this:
>>> {a_smarty_printf_function
>>> Then, in english, the .lang file would read:
>>> [...]
>>> 'LBL_ADD_NEW' = 'Add',
>>> 'Contact' => 'Contact',
>>> 'ADD_NEW_SOMETHING_FORMATSTRING' => "'%s %s", // Very simple format
>>> string, no surprise here
>>> [...]
>>> And in german, it would be:
>>> [...]
>>> 'LBL_ADD_NEW' = 'Hinzufügen',
>>> 'Contact' => 'Kontakt',
>>> 'ADD_NEW_SOMETHING_FORMATSTRING' => "'%2$s %1$s", // Notice how I used
>>> "1$" and "2$" to access arguments in different order
>>> [...]
>>> I don't feel it elegant enough (but more elegant than the original), so
>>> comments, suggestions, ideas, better solutions are very much welcome. Please
>>> all brainstorm this ever the next coffee. :o)
>>> Kristóf
>>> _______________________________________________
>>> Reach hundreds of potential candidates - http://jobs.vtiger.com
>> _______________________________________________
>> Reach hundreds of potential candidates - http://jobs.vtiger.com
> _______________________________________________
> Reach hundreds of potential candidates - http://jobs.vtiger.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.vtigercrm.com/pipermail/vtigercrm-developers/attachments/20081124/ec55fbcc/attachment-0003.html 

More information about the vtigercrm-developers mailing list