19
Oğuz Demirkapı Sr. Application Developer, NicheClick Media March 12th- 13th 2008 europe.cfunited.com

Oğuz Demirkapı Sr. Application Developer, NicheClick Media March 12th- 13th 2008europe.cfunited.com

Embed Size (px)

Citation preview

Page 1: Oğuz Demirkapı Sr. Application Developer, NicheClick Media March 12th- 13th 2008europe.cfunited.com

Oğuz DemirkapıSr. Application Developer, NicheClick Media

March 12th- 13th 2008europe.cfunited.com

Page 2: Oğuz Demirkapı Sr. Application Developer, NicheClick Media March 12th- 13th 2008europe.cfunited.com

Sr. Application Developer at NicheClick Media Coding since ‘85, CGI Programming since ’94 ColdFusion Developer since ’97 Founder and Manager (prev) of CFUG for Turkey Interested in ColdFusion, Flex, Ajax, Frameworks, i18N,

L10N, g13N Have big interest in epistemology

March 12th- 13th 2008europe.cfunited.com

Page 3: Oğuz Demirkapı Sr. Application Developer, NicheClick Media March 12th- 13th 2008europe.cfunited.com

Preview◦ Theory◦ Contents

i18N Tips◦ ColdFusion Tips (Server & Code)◦ Database Tips

Questions & Answers

March 12th- 13th 2008europe.cfunited.com

Page 4: Oğuz Demirkapı Sr. Application Developer, NicheClick Media March 12th- 13th 2008europe.cfunited.com

Do we need mutilingualism?◦ Yes!

Time Zones Calendars Cultural Differences

March 12th- 13th 2008europe.cfunited.com

Page 5: Oğuz Demirkapı Sr. Application Developer, NicheClick Media March 12th- 13th 2008europe.cfunited.com

What is i18N (Internationalization)?◦ Application functions in at least two locales

What is L10N (Localization)?◦ Process of applying a locale or language "skin" to an i18N

application What is G11N (Globalization)?◦ i18N & L10N

March 12th- 13th 2008europe.cfunited.com

Page 6: Oğuz Demirkapı Sr. Application Developer, NicheClick Media March 12th- 13th 2008europe.cfunited.com

What is Unicode? Why do we need to use Unicode? ColdFusion Versions◦ ColdFusion MX◦ Converting ColdFusion 5 or older projects into MX is a

headache with Unicode

March 12th- 13th 2008europe.cfunited.com

Page 7: Oğuz Demirkapı Sr. Application Developer, NicheClick Media March 12th- 13th 2008europe.cfunited.com

ColdFusion MX Converting ColdFusion 5 or older projects into MX is a

headache with Unicode ColdFusion MX ColdFusion 8

March 12th- 13th 2008europe.cfunited.com

Page 8: Oğuz Demirkapı Sr. Application Developer, NicheClick Media March 12th- 13th 2008europe.cfunited.com

Setting up your environment for multilingual applications: Code organization, database server settings, ColdFusion server settings, development tools etc.

DEMO

March 12th- 13th 2008europe.cfunited.com

Page 9: Oğuz Demirkapı Sr. Application Developer, NicheClick Media March 12th- 13th 2008europe.cfunited.com

Code & Code Isolation◦ Java Resource Bundle◦ IBM ICU4J Library◦GNU GetText()

Database or File/XML Usage◦ Not the best but still popular

March 12th- 13th 2008europe.cfunited.com

Page 10: Oğuz Demirkapı Sr. Application Developer, NicheClick Media March 12th- 13th 2008europe.cfunited.com

Sample Applications◦ Basic Techniques◦ File Handling◦ Mail Usage◦ Fusebox ◦ Model-Glue ◦ FarCry◦ GNU GetText()

DEMO

March 12th- 13th 2008europe.cfunited.com

Page 11: Oğuz Demirkapı Sr. Application Developer, NicheClick Media March 12th- 13th 2008europe.cfunited.com

Use ColdFusion MX◦ If possible ColdFusion MX 7.x and up

Use Updated JVM Setting Correct Locale Use DSN Settings◦MS SQL Server

◦MS Access with Unicode Support

March 12th- 13th 2008europe.cfunited.com

Page 12: Oğuz Demirkapı Sr. Application Developer, NicheClick Media March 12th- 13th 2008europe.cfunited.com

Use Unicode Capable Editor Dreamweaver Good◦ Support BOM

Eclipse/CFEclipse Not Bad◦ No BOM creation◦OK for current files with BOM

Homesite/CFStudio Never!◦ http://www.adobe.com/go/tn_19059

March 12th- 13th 2008europe.cfunited.com

Page 13: Oğuz Demirkapı Sr. Application Developer, NicheClick Media March 12th- 13th 2008europe.cfunited.com

Use Unicode◦ If possible with BOM support

ColdFusion MX Detect BOM◦ If you have BOM support on your file ColdFusion understand

your locale and there is no need to use extra tags such as cfprocessingdirective

March 12th- 13th 2008europe.cfunited.com

Page 14: Oğuz Demirkapı Sr. Application Developer, NicheClick Media March 12th- 13th 2008europe.cfunited.com

ColdFusion MX Templates◦ If there is no BOM <cfprocessingdirective pageencoding=“utf-8">must be included in every CFM template.◦ Using in Application.cfm etc. does not help

March 12th- 13th 2008europe.cfunited.com

Page 15: Oğuz Demirkapı Sr. Application Developer, NicheClick Media March 12th- 13th 2008europe.cfunited.com

Beware of ColdFusion Functions & Tags◦ CFPROCESSINGDIRECTIVE, CFCONTENT, CFFILE, CFHEADER, CFHTTP, CFHTTPPARAM,

CFMAIL, CFMAILPART tags and the SETENCODING, GETENCODING, TOBASE64, TOSTRING, URLDECODE, and URLENCODEDFORMAT functions etc.

Use encoding in Tags <cfmail to="#user#" from="#me#" subject="Unicode Test" charset="utf-8"> <cfmailpart charset="utf-8" type="plain“>#mymailasplaintext#

</cfmailpart> <cfmailpart charset="utf-8" type="html“>#mymailashtml#

</cfmailpart> </cfmail>

March 12th- 13th 2008europe.cfunited.com

Page 16: Oğuz Demirkapı Sr. Application Developer, NicheClick Media March 12th- 13th 2008europe.cfunited.com

Use a robust database◦MS SQL Server◦MySQL Server◦ PostgreSQL Server◦Oracle

Beware of Unicode Support◦MySQL 4.1 and up

March 12th- 13th 2008europe.cfunited.com

Page 17: Oğuz Demirkapı Sr. Application Developer, NicheClick Media March 12th- 13th 2008europe.cfunited.com

Use Right Locale◦ UTF8 in MySQL◦ Especially important in MySQL

Beware of Field Types◦ SQL Server nvarchar, ntext etc.

March 12th- 13th 2008europe.cfunited.com

Page 18: Oğuz Demirkapı Sr. Application Developer, NicheClick Media March 12th- 13th 2008europe.cfunited.com

Adobe Developer Center http://www.adobe.com/devnet/coldfusion/localization_globalization.html

Globalizing ColdFusionMX ◦ Paul Hastings◦ http://www.sustainablegis.com/blog/cfg11n/

March 12th- 13th 2008europe.cfunited.com

Page 19: Oğuz Demirkapı Sr. Application Developer, NicheClick Media March 12th- 13th 2008europe.cfunited.com

March 12th- 13th 2008europe.cfunited.com

[email protected]

(Unfortunately we do not have Unicode support on e-mail addresses.)