Naming of Layout for Multi-language problem
Permalink
I've posted the bug report here
http://www.concrete5.org/developers/bugs/5-4-1-1/andquotlayoutandqu...
But I would like to leave a note here to discuss further.
It's about the naming of "Layout" at line line 53 in /concrete/models/layout.php
The problem is that we use multi-bytes characters. And getLayoutNameTxt() will be used as the part of CSS class name.
And using multi-bytes name is not recommended for CSS class name. So we've decided to remove the t('') at 5.4.1.1
However, I received the report from a Japanese user that he lost all layout.
It's because it now tries to locate "Layout" instead "レイアウト" (layout in Japanese).
It's simple to write a SQL to cover for us… but this may lead to the serious problem to multi-site builders.
If you switch the language, you may lose the areas. (Or you could take the advantage of it though).
Anyway… I would suggest to remove t('') from getLayoutNameTxt(). And write a conversion SQL for the next upgrade.
Japanese users pretty much decided to do so. But I would ilk to discuss it here as well..
Also, at 5.4.1.1, the core changed getAttributeKeyName() to getAttributeKeyDisplayHandle() throughout the dashboard of attributes of users.
This is problem for Japanese users. We had to switch it back to getAttributeKeyName() and we will have to keep using getAttributeKeyName().
http://www.concrete5.org/developers/bugs/5-4-1-1/andquotlayoutandqu...
But I would like to leave a note here to discuss further.
It's about the naming of "Layout" at line line 53 in /concrete/models/layout.php
public function getLayoutNameTxt(){ return t('Layout'); }
The problem is that we use multi-bytes characters. And getLayoutNameTxt() will be used as the part of CSS class name.
And using multi-bytes name is not recommended for CSS class name. So we've decided to remove the t('') at 5.4.1.1
However, I received the report from a Japanese user that he lost all layout.
It's because it now tries to locate "Layout" instead "レイアウト" (layout in Japanese).
It's simple to write a SQL to cover for us… but this may lead to the serious problem to multi-site builders.
If you switch the language, you may lose the areas. (Or you could take the advantage of it though).
Anyway… I would suggest to remove t('') from getLayoutNameTxt(). And write a conversion SQL for the next upgrade.
Japanese users pretty much decided to do so. But I would ilk to discuss it here as well..
Also, at 5.4.1.1, the core changed getAttributeKeyName() to getAttributeKeyDisplayHandle() throughout the dashboard of attributes of users.
This is problem for Japanese users. We had to switch it back to getAttributeKeyName() and we will have to keep using getAttributeKeyName().
concrete5.4.1.1.1.ja
And this is the upgrade script
/concrete/helpers/concrete/upgrade/version_54111.php