{"id":147,"date":"2008-03-10T14:27:27","date_gmt":"2008-03-10T20:27:27","guid":{"rendered":"http:\/\/techory.com\/sxsw\/?p=147"},"modified":"2008-03-12T12:20:28","modified_gmt":"2008-03-12T18:20:28","slug":"client-side-code-and-internationalization","status":"publish","type":"post","link":"https:\/\/techory.com\/sxsw\/?p=147","title":{"rendered":"Client-side Code and Internationalization"},"content":{"rendered":"<p>Monday, March 10th 3:30 pm &#8211; 4:30 pm<\/p>\n<p><a href=\"http:\/\/www.jonwiley.com\/\">Jon Wiley<\/a> &#8211; Google<\/p>\n<p><strong>Why?<br \/>\n<\/strong>Why does Google have ~117 images for search?<br \/>\nGoogle&#8217;s mission is to organize the world&#8217;s information and make is UNIVERSALLY available.<\/p>\n<p>Does internationalization = translation?? NO<br \/>\nInternationalization is the design of the product for many different areas (i18n = internationalization).<br \/>\nLocalization is the act of taking your product (which you have already internationalized) and turning it into something appropriate for your particular market.<\/p>\n<p>Localization is more than translation. &#8211; involves local content for a particular area &#8211; legal compliance &#8211; marketing &#8211; keyboards &#8211; currency formats &#8211; date formats &#8211; cultural appropriateness<\/p>\n<p><strong>Character Encoding:<br \/>\n<\/strong>It was easy once when there was just ASCII &#8211; many others came around but eventually everything came into Unicode.<br \/>\nSpecifically want to use UTF-8 (8bit unicode).<br \/>\nWhy use?<br \/>\nIt is compatible with legacy ASCII content &#8211; makes ASCII a subset of UTF-8<br \/>\nModern OS&#8217;s support it (not all platforms\/browsers support ALL unicode)<br \/>\nHas all the characters you need<br \/>\nYou can present a mix of scripts at once<br \/>\nSmaller than UTF-16 for most content &#8211; uses smaller bytes and could take up less space.<\/p>\n<p>Careful wen using markup characters (less than greater than)<br \/>\nwhen you need hard to see characters (\u00a0)<\/p>\n<p>Tell the browser:<br \/>\nin your content type declaration in response header (browsers give higher priority to ct)<br \/>\nmeta element<br \/>\nexternal CSS<\/p>\n<p>Find content in the right language.<br \/>\nBe sure to serve content in the correct language.<\/p>\n<p>lang and xml:lang attribute on html element to clarify language<br \/>\nmeta element in the doc header<br \/>\ncontent language in response header<\/p>\n<p>Text direction:<br \/>\nLTR = left to right text<br \/>\nRTL = right to left text<br \/>\nbidi = bi-directional text<br \/>\nHow does this work? It is going to be in logical order.<br \/>\nMarkup is LTR. Numbers are LTR. Spaces and punctuation are neutral &#8211; they take on the characteristics of the words around them.<\/p>\n<p>Dir attribute in html &#8211; dir=&#8221;rtl&#8221; &lt;p&gt; &#8211; there is a CSS attribute but best not to use.<\/p>\n<p>Text expansion:<br \/>\nEnglish is a compact language (compared to other languages)<br \/>\nsmall words can expand 200-300% in other language. This is usually not good, especially in menus etc where they could break things in other languages. Rule of thumb is =40%.<\/p>\n<p><strong>Tools:<br \/>\n<\/strong>Google translation service (<a href=\"http:\/\/translate.google.com\">http:\/\/translate.google.com<\/a>) &#8211; good for a quick check to test a site &#8211; don&#8217;t use for production output.<br \/>\nCSS Janus &#8211; script for flipping CSS-based layouts &#8211; table layouts don&#8217;t have this problem &#8211; not a total solution (<a href=\"http:\/\/cssjaus.commoner.com\">http:\/\/cssjaus.commoner.com<\/a>)<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Monday, March 10th 3:30 pm &#8211; 4:30 pm Jon Wiley &#8211; Google Why? Why does Google have ~117 images for search? Google&#8217;s mission is to organize the world&#8217;s information and make is UNIVERSALLY available. Does internationalization = translation?? NO Internationalization is the design of the product for many different areas (i18n = internationalization). Localization is [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[12,11],"tags":[],"_links":{"self":[{"href":"https:\/\/techory.com\/sxsw\/index.php?rest_route=\/wp\/v2\/posts\/147"}],"collection":[{"href":"https:\/\/techory.com\/sxsw\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/techory.com\/sxsw\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/techory.com\/sxsw\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/techory.com\/sxsw\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=147"}],"version-history":[{"count":0,"href":"https:\/\/techory.com\/sxsw\/index.php?rest_route=\/wp\/v2\/posts\/147\/revisions"}],"wp:attachment":[{"href":"https:\/\/techory.com\/sxsw\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=147"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/techory.com\/sxsw\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=147"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/techory.com\/sxsw\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=147"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}