SlideShare une entreprise Scribd logo
1  sur  46
International Web Application Development
ookina umi no youni gengo ga arimasu.

There is an ocean of language.


     http://www.flickr.com/photos/jimbrekke/429292020/
demo watashitachiwa webu apurike-shon o
            kaihatsusuro toki...

But when we develop web applications...
ido no nakano kaeru no youni

we are like the frog in the well,

    http://www.flickr.com/photos/clickykbd/2650909663/
jibuntachi no gengo dake o kangaemasu

only thinking about our own language

        http://www.flickr.com/photos/clickykbd/2650909663/
demo webu wa ookina umi noyouina mono desu.

      but the web is a big ocean.

         http://www.flickr.com/photos/jimbrekke/429292020/
Sarah Allen
             @ultrasaurus




                   Mightyverse
sara aren desu. mightyverse o kaihatsu shite imasu
San Francisco




            san furanshisuko ni sunde imasu.
Mightyverse
mojibake
Character Encoding
UTF8      JIS
UTF16     Shift-JIS
UTF32     EUC
Encoding Vocabulary

Code point one or
more bytes that represent
a single character
Unicode
UTF8 - variable length
       (1, 2, 3, or 4 bytes)
UTF16 - variable length
      (2 or 4 bytes)
UTF32 - fixed width (4 bytes)
UTF8
U+000 to U+127 1 byte
ASCII = UTF8
High bit indicates more bytes
High bits are used to indicate how many bytes are used to
represent a specific character. Software can easily read a
         UTF8 stream, even starting in the middle.
                http://tools.ietf.org/html/rfc3629#section-3
UTF8
Common for internet and file system
format
• XML: default encoding
• Flash: only encoding
UTF8 Disadvantages
UTF-8 encoded text may be larger
Possible to split a string mid-character
Excessive unification
Caution

Not all implementations are complete
For example, MySql5
       supports only 3 bytes for UTF8
Most spoken languages can be represented in 3 bytes,
           the "Basic Multilingual Plane"
                           http://www.siriusict.com/2010/08/06/
    character-encoding-unicode-utf-8-and-a-bit-of-chauvinism-explained-for-the-masses-2/
http://globalmoxie.com/blog/klingon-not-spoken-here.shtml




In May 2001, the Unicode Technical Committee rejected the Klingon proposal;
  however, Michael Everson created a mapping of pIqaD into the Private Use
    Area of Unicode, which are listed in the ConScript Unicode Registry
                           (U+F8D0 to U+F8FF).
                   http://en.wikipedia.org/wiki/Klingon_writing_systems
The tengwar font has been proposed for the Unicode standard. The codepoints
    are subject to change; the range U+016080 to U+0160FF in the SMP is
 tentatively allocated for tengwar according to the current Unicode roadmap.
                         http://en.wikipedia.org/wiki/Tengwar
You need to have an appropriate font installed
              to use unicode.




            http://en.wikipedia.org/wiki/Tengwar
Web Application Story
1. HTML Form post
2. Ruby code
3. Write to Database
4. Output HTML for Display
HTML Form Post
HTTP headers

• You can specify what character set you
  want back when you send a form post
• This is informational for the server
• Just setting these won’t change how your
  app behaves, unless your web app has code
  for that
Ruby code
Ruby code


Most web applications don’t parse text
If yours does, you will need to think about
Ruby 1.8 vs. Ruby 1.9
Ruby 1.8
  >> name = "Yukihiro”
=> "Yukihiro”
>> name[4]
=> 104
>> name[4].chr
=> "h"

>> name = "        "
=>"3432012233432022233432012043432012413432
 257”
>> name[2]
=> 147
>> name[2].chr
=> ?
Ruby 1.9
name = "yukihiro”
=> "yukihiro”
>> name[4]
=> "h"

>> name = "         ”
=> "          ”
>> name[2]
=> " ”
>> name[0]
=> " "
Ruby

       Use Ruby 1.9


For Ruby 1.8 (if you must)....
        require 'jcode'
Database
Database
A) Character encoding
   i. client
   ii. connection
   iii. server
B) Collation
SQL client   connection   database
check database settings
   always use the same character set
Collation


 Different Languages
Alphabetize Differently
Collation
Swedish          German

Alingsås         Ägypten
Borgholm         Äthiopien
Eslöv            Afghanistan
Flen             Bolivien
Hässleholm       Dänemark
Tranås           Deutschland
Vetlanda         Jamaika
Växjö            Marokko
Ängelholm        Österreich
Örnsköldsvik     Venezuela
Östersund
Collation


1. Sorting
2. Equality
e   é
4
Output HTML for Display
Content Type

• Setting the content-type tells the browser
  how to display the text
  • meta tag
  • http header
Questions?




http://www.flickr.com/photos/daswunderkind/2689195410/

Contenu connexe

Tendances

WordPress Theming
WordPress ThemingWordPress Theming
WordPress Theming
codebangla
 
All About Browsers
All About BrowsersAll About Browsers
All About Browsers
lwtc
 

Tendances (9)

Introduction To Browser Extension Development
Introduction To Browser Extension DevelopmentIntroduction To Browser Extension Development
Introduction To Browser Extension Development
 
Zotero: for Legal Scholars
Zotero: for Legal ScholarsZotero: for Legal Scholars
Zotero: for Legal Scholars
 
WordPress Theming
WordPress ThemingWordPress Theming
WordPress Theming
 
Zotero Workshops - Zotero Universe
Zotero Workshops - Zotero UniverseZotero Workshops - Zotero Universe
Zotero Workshops - Zotero Universe
 
WordPress Theme & Plugin i18n & L10n
WordPress Theme & Plugin i18n & L10nWordPress Theme & Plugin i18n & L10n
WordPress Theme & Plugin i18n & L10n
 
ISBF presentation
ISBF presentationISBF presentation
ISBF presentation
 
All About Browsers
All About BrowsersAll About Browsers
All About Browsers
 
HTML
HTMLHTML
HTML
 
Zotero: collecting, managing, sharing and citing references made easy
Zotero: collecting, managing, sharing and citing references made easyZotero: collecting, managing, sharing and citing references made easy
Zotero: collecting, managing, sharing and citing references made easy
 

En vedette

En vedette (7)

Transparency Wins
Transparency WinsTransparency Wins
Transparency Wins
 
Ruby conditionals
Ruby conditionalsRuby conditionals
Ruby conditionals
 
Crafting Software Products
Crafting Software ProductsCrafting Software Products
Crafting Software Products
 
Rhodes Overview
Rhodes OverviewRhodes Overview
Rhodes Overview
 
Full text search adventures
Full text search adventuresFull text search adventures
Full text search adventures
 
Let's pretend
Let's pretendLet's pretend
Let's pretend
 
Power of Transparency
Power of TransparencyPower of Transparency
Power of Transparency
 

Similaire à International Web Application Development

Introduction to HTML5 and CSS3 (revised)
Introduction to HTML5 and CSS3 (revised)Introduction to HTML5 and CSS3 (revised)
Introduction to HTML5 and CSS3 (revised)
Joseph Lewis
 
Web Development From the Ground Up, a Series for Novice ...
Web Development From the Ground Up, a Series for Novice ...Web Development From the Ground Up, a Series for Novice ...
Web Development From the Ground Up, a Series for Novice ...
webhostingguy
 

Similaire à International Web Application Development (20)

Bruce Lawson HTML5 South By SouthWest presentation
Bruce Lawson HTML5 South By SouthWest presentationBruce Lawson HTML5 South By SouthWest presentation
Bruce Lawson HTML5 South By SouthWest presentation
 
Introduction to HTML5 and CSS3 (revised)
Introduction to HTML5 and CSS3 (revised)Introduction to HTML5 and CSS3 (revised)
Introduction to HTML5 and CSS3 (revised)
 
Intro to Perfect - LA presentation
Intro to Perfect - LA presentationIntro to Perfect - LA presentation
Intro to Perfect - LA presentation
 
Php intro
Php introPhp intro
Php intro
 
Php intro
Php introPhp intro
Php intro
 
Php intro
Php introPhp intro
Php intro
 
Software Internationalization Crash Course
Software Internationalization Crash CourseSoftware Internationalization Crash Course
Software Internationalization Crash Course
 
Multi Lingual Websites In Umbraco
Multi Lingual Websites In UmbracoMulti Lingual Websites In Umbraco
Multi Lingual Websites In Umbraco
 
Understanding Character Encodings
Understanding Character EncodingsUnderstanding Character Encodings
Understanding Character Encodings
 
Chapter11
Chapter11Chapter11
Chapter11
 
Mind Your lang — Accessibility Camp Toronto 2016
Mind Your lang — Accessibility Camp Toronto 2016Mind Your lang — Accessibility Camp Toronto 2016
Mind Your lang — Accessibility Camp Toronto 2016
 
Using unicode with php
Using unicode with phpUsing unicode with php
Using unicode with php
 
WebServices
WebServicesWebServices
WebServices
 
Training report on web developing
Training report on web developingTraining report on web developing
Training report on web developing
 
unit1 part 1 sem4 php.docx
unit1 part 1 sem4 php.docxunit1 part 1 sem4 php.docx
unit1 part 1 sem4 php.docx
 
Web Development From the Ground Up, a Series for Novice ...
Web Development From the Ground Up, a Series for Novice ...Web Development From the Ground Up, a Series for Novice ...
Web Development From the Ground Up, a Series for Novice ...
 
Internationalised Domain Names & Internet Investigations
Internationalised Domain Names & Internet InvestigationsInternationalised Domain Names & Internet Investigations
Internationalised Domain Names & Internet Investigations
 
Web Introduction
Web IntroductionWeb Introduction
Web Introduction
 
Apache Flex and the imperfect Web
Apache Flex and the imperfect WebApache Flex and the imperfect Web
Apache Flex and the imperfect Web
 
Unit 5 application layer
Unit 5 application layerUnit 5 application layer
Unit 5 application layer
 

Plus de Sarah Allen

Plus de Sarah Allen (20)

Internet security: a landscape of unintended consequences
Internet security: a landscape of unintended consequencesInternet security: a landscape of unintended consequences
Internet security: a landscape of unintended consequences
 
RTMP: how did we get to now? (Demuxed 2019)
RTMP: how did we get to now? (Demuxed 2019)RTMP: how did we get to now? (Demuxed 2019)
RTMP: how did we get to now? (Demuxed 2019)
 
Communication is a Technical Skill
Communication is a Technical SkillCommunication is a Technical Skill
Communication is a Technical Skill
 
Improving Federal Government Services
Improving Federal Government ServicesImproving Federal Government Services
Improving Federal Government Services
 
A Short History of Computers
A Short History of ComputersA Short History of Computers
A Short History of Computers
 
Making Software Fun
Making Software FunMaking Software Fun
Making Software Fun
 
Designing for Fun
Designing for FunDesigning for Fun
Designing for Fun
 
Ruby in the US Government for Ruby World Conference
Ruby in the US Government for Ruby World ConferenceRuby in the US Government for Ruby World Conference
Ruby in the US Government for Ruby World Conference
 
Identities of Dead People
Identities of Dead PeopleIdentities of Dead People
Identities of Dead People
 
3 Reasons Not to Use Ruby
3 Reasons Not to Use Ruby 3 Reasons Not to Use Ruby
3 Reasons Not to Use Ruby
 
Ruby Nation: Why no haz Ruby?
Ruby Nation: Why no haz Ruby?Ruby Nation: Why no haz Ruby?
Ruby Nation: Why no haz Ruby?
 
Why no ruby in gov?
Why no ruby in gov?Why no ruby in gov?
Why no ruby in gov?
 
People Patterns or What I learned from Toastmasters
People Patterns or What I learned from ToastmastersPeople Patterns or What I learned from Toastmasters
People Patterns or What I learned from Toastmasters
 
Blazing Cloud: Agile Product Development
Blazing Cloud: Agile Product DevelopmentBlazing Cloud: Agile Product Development
Blazing Cloud: Agile Product Development
 
Crowdsourced Transcription Landscape
Crowdsourced Transcription LandscapeCrowdsourced Transcription Landscape
Crowdsourced Transcription Landscape
 
Lessons Learned Future Thoughts
Lessons Learned Future ThoughtsLessons Learned Future Thoughts
Lessons Learned Future Thoughts
 
Mobile Web Video
Mobile Web VideoMobile Web Video
Mobile Web Video
 
Elementary Computer History
Elementary Computer HistoryElementary Computer History
Elementary Computer History
 
Sarah Allen Computer Science Entrepreneur
Sarah Allen Computer Science EntrepreneurSarah Allen Computer Science Entrepreneur
Sarah Allen Computer Science Entrepreneur
 
Agile Business Development
Agile Business DevelopmentAgile Business Development
Agile Business Development
 

Dernier

Dernier (20)

Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 

International Web Application Development

Notes de l'éditeur

  1. Mightyverse is for people interested in language. We are collecting videos of words, phrases, and sentences translated from one language to another.