In-Portal Issue Tracker - In-Portal CMS
Viewing Issue Advanced Details
929 [In-Portal CMS] Localization feature request always 2010-11-18 16:49 2012-07-25 05:32
Dmitry  
alex  
normal  
closed 5.1.1-RC1  
fixed  
 
none 5.2.0-B1  
http://groups.google.com/group/in-portal-bugs/browse_thread/thread/cb9b08df5642bab6
New functionality to specify preferred Language for User
1
0000929: Ability to have Preferred Language for Front-end Users
We need to create a functionality to remember User Preferred Language and then being able to apply it to Email Event sending and auto-loading User Language on Login.


For that we should ad a NEW User field called PreferredLanguageId (default NULL) and store there user Language selection (option formatter).

The value in this field can changed in 3 places:

1. Front-end: Drop-down with currently available Languages (need to count in SiteDomain options) on User Profile form - user can select and save.

2. Front-end: OnChangeLanguage event when user changes the language we can change his PreferredLanguageId too.

3. Admin: when Admin can edit users profile.


APPLICATIONS:

1. All Email Events should rely on new PreferredLanguageId field for language selection.

2. Automatically Load users language (do redirect if needed) on Login if
currently loaded and preferred languages are different.



NOTES:

a. NULL value will indicate that we need to use Site Primary language for this User.

b. in case if user (or Admin) has selected the Preferred Language which was disabled or removed (ID is not matching) or it's not in the list of available for current SiteDomain - system should automatically default to Front-end Primary language.
Plan:
1. add FrontLanguage column (before AdminLanguage column) into PortalUser table
2. in UserHelper::_processInterfaceLanguage / lang:OnChangeLanguage use:
- FrontLanguage column instead of AdminLanguage column
- PrimaryLang column instead of AdminInterfaceLang column
- remove isAdmin check on top of the method of course
when login is performed on Front-End
3. add FrontLanguage dropdown to user adding/editing page (admin), to my profile page in "advanced" theme (front-end)
4. add AdminLanguage dropdown to admin adding/editing page (admin)
5. make sure, that available interface languages in dropdown (when displayed on front-end only) only includes languages, that are allowed in current site domain
6. use FrontLanguage as language for Front-End Type e-mail events (if user_id is specified in kApplication::EmailEventUser)
7. use AdminLanguage as language for Admin Type e-mail events (if user_id is specified in kApplication::EmailEventAdmin)
8. make sure that e-mail event language override via "language_id" send parameter (see "_getSendLanguage" method) still works
9. placing all new e-mail event language detection logic inside that "_getSendLanguage" method would be the best choice
parent of 0001272closed  (5.2.0)alex Extra 8 sqls on each page load 
parent of 0001273closed  (5.2.0)alex Primary e-mail event design (former footer) always used instead of design on correct language 
patch preferred_language_core_929.patch (12,837) 2011-12-29 09:56
http://tracker.in-portal.org/file_download.php?file_id=1431&type=bug
patch preferred_language_theme_929.patch (1,790) 2011-12-29 09:56
http://tracker.in-portal.org/file_download.php?file_id=1432&type=bug
patch preferred_language_core_v2.patch (13,009) 2011-12-30 11:39
http://tracker.in-portal.org/file_download.php?file_id=1453&type=bug
patch hide_language_fields_in_simple_interface_preset.patch (1,338) 2012-01-03 11:17
http://tracker.in-portal.org/file_download.php?file_id=1459&type=bug
Issue History
2012-07-25 05:32 alex Note Added: 0005003
2012-07-25 05:32 alex Status resolved => closed
2012-05-07 16:06 alex Relationship added parent of 0001273
2012-05-06 07:11 alex Relationship added parent of 0001272
2012-01-03 11:18 alex Changeset attached 5.2.x r14975
2012-01-03 11:17 alex File Added: hide_language_fields_in_simple_interface_preset.patch
2011-12-30 11:42 alex Changeset attached 5.2.x r14968
2011-12-30 11:42 alex Note Added: 0004372
2011-12-30 11:42 alex Status reviewed and tested => resolved
2011-12-30 11:42 alex Fixed in Version => 5.2.0-B1
2011-12-30 11:42 alex Resolution open => fixed
2011-12-30 11:42 alex Assigned To !COMMUNITY => alex
2011-12-30 11:41 alex Changeset attached 1.2.x r14967
2011-12-30 11:39 alex Note Added: 0004371
2011-12-30 11:39 alex Assigned To alex => !COMMUNITY
2011-12-30 11:39 alex Status needs testing => reviewed and tested
2011-12-30 11:39 alex File Added: preferred_language_core_v2.patch
2011-12-29 22:28 Dmitry Target Version Icebox => 5.2.0
2011-12-29 09:57 erik Note Added: 0004348
2011-12-29 09:57 erik Assigned To erik => alex
2011-12-29 09:57 erik Developer => erik
2011-12-29 09:57 erik Status needs work => needs testing
2011-12-29 09:56 erik File Added: preferred_language_theme_929.patch
2011-12-29 09:56 erik File Added: preferred_language_core_929.patch
2011-12-29 03:10 alex Additional Information Updated bug_revision_view_page.php?rev_id=948#r948
2011-12-29 03:09 alex Additional Information Updated bug_revision_view_page.php?rev_id=947#r947
2011-12-29 03:05 alex Estimate Points 0 => 1
2011-12-29 03:05 alex Additional Information Updated bug_revision_view_page.php?rev_id=946#r946
2011-12-28 23:52 Dmitry Estimate Points => 0
2011-12-28 23:52 Dmitry Assigned To => erik
2011-12-28 23:52 Dmitry Status active => needs work
2010-11-19 01:48 alex Note Added: 0002979
2010-11-18 16:49 Dmitry New Issue
2010-11-18 16:49 Dmitry Reference => http://groups.google.com/group/in-portal-bugs/browse_thread/thread/cb9b08df5642bab6
2010-11-18 16:49 Dmitry Change Log Message => New functionality to specify preferred Language for User

Notes
(0002979)
alex   
2010-11-19 01:48   
We already got such a column in PortalUser table and it's used for remembering admin user's language.

We only need to display it where needed and prefill from Front-end.
(0004348)
erik   
2011-12-29 09:57   
Patches attached - needs testing
(0004371)
alex   
2011-12-30 11:39   
This issues were found & fixes:
1. missing upgrade script, that set language to existing users
2. user language no remembered during registration resulting primary language used in USER.ADD.PENDING e-mail event
(0004372)
alex   
2011-12-30 11:42   
Fix committed to 5.2.x branch. Commit Message:

Fixes 0000929: Ability to have Preferred Language for Front-end Users
Commit on behalf of Erik
(0005003)
alex   
2012-07-25 05:32   
Since 5.2.0 version was released.