Changes for page Development-Localization and Internationalization
Last modified by Pascal Robert on 2015/05/04 04:24
From version 30.1
edited by David Holt
on 2009/11/18 10:08
on 2009/11/18 10:08
Change comment:
There is no comment for this version
To version 26.1
edited by Ramsey Gurley
on 2008/07/25 16:55
on 2008/07/25 16:55
Change comment:
There is no comment for this version
Summary
-
Page properties (2 modified, 0 added, 0 removed)
Details
- Page properties
-
- Author
-
... ... @@ -1,1 +1,1 @@ 1 -XWiki. dholt1 +XWiki.ramsey - Content
-
... ... @@ -1,7 +1,5 @@ 1 1 == Unicode == 2 2 3 -See also: [[UTF-8 Encoding Tips]] 4 - 5 5 To Enable Unicode for your WO app, add the following to your application constructor: 6 6 7 7 {{code}} ... ... @@ -95,23 +95,6 @@ 95 95 96 96 {{/noformat}} 97 97 98 -Note that if you need to customize the locale for a language, such as Canadian French, you can do so with this property: 99 - 100 -{{noformat}} 101 - 102 -er.extensions.ERXLocalizer.French_CA.locale = fr_ca 103 - 104 -{{/noformat}} 105 - 106 -The other changes are then in the er.extensions.ERXLocalizer.availableLanguages and ERXLanguages: 107 -In the above case after adding canadian french these would change in: 108 - 109 -{{noformat}} 110 - 111 -er.extensions.ERXLocalizer.availableLanguages=(English,Japanese,French_CA) 112 - 113 -{{/noformat}} 114 - 115 115 ===== Localized strings and components ===== 116 116 117 117 For each language available, you will need a corresponding Localizable.strings file. This file should be located in Projects->Resources->"Lang".lproj directory. In these directories, you'll store localized resources such as Localizable.strings files and localized components. So, continuing with the above example, you should create two new Localizable.strings files in the following places in your project directory: ... ... @@ -118,7 +118,6 @@ 118 118 119 119 Project->Resources->English.lproj->Localizable.strings 120 120 Project->Resources->Japanese.lproj->Localizable.strings 121 -Project->Resources->French//CA.lproj->Localizable.strings// 122 122 123 123 As mentioned earlier, it's recommended that these be in UTF-16 format. You can do that by right clicking on the file in WOLips and selecting "Properties." In the resources panel, change from the project default encoding to UTF-16. 124 124 ... ... @@ -132,26 +132,33 @@ 132 132 133 133 and then right-click->Copy it from English.lproj and right-click->Paste it into Japanese.lproj. At this point, when you open the component in WOLips, there will be a tab at the bottom of the component editor view that allows you to switch back and forth between different localized versions of that component. 134 134 135 - Yourlayout would end upsomethinglikethis:115 +===== Component HTML ===== 136 136 137 - [[image:ERXLocalizerEclipseLayout.png]]117 +Given the info on this page already, this is a little redundant... but here's what the start of my PageWrapper looks like: 138 138 139 - ===== LocalizedEOAttributes =====119 +{{code}} 140 140 141 -In Wonder, it is also possible to localize attributes. There are two requisites: 121 +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 122 + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 142 142 143 -First add ERXLanguages to your Properties file: 124 +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang='<wo:localized value = "ls_lang" />' lang='<wo:localized value = "ls_lang" />'> 125 +<head> 126 + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> 144 144 145 -{{ noformat}}128 +{{/code}} 146 146 147 - ERXLanguages= (en,jp,fr_ca)130 +and in the Localizable.strings file, I keep a language code for each language 148 148 149 -{{ /noformat}}132 +{{code}} 150 150 151 -Then, for the attribute you'd like to localize, add the ERXLanguages key to the UserInfo for that specific attribute: 134 +{ 135 + "ls_lang" = "en"; 136 +} 152 152 153 - [[image:ERXLocalizerUserInfo.png]]138 +{{/code}} 154 154 140 +You'll also notice the "ls//" prefix. You'll definitely want to prefix with something unique so you can do a project-wide search for your keys without difficulty.// 141 + 155 155 ===== Direct Actions ===== 156 156 157 157 If you are defaulting to direct actions, you may not have a session. If you do not have a session, the server will return the default language specified in the Properties mentioned above. If you're using direct actions and you don't like that behavior, you can stick this in your direct action class: