{"id":1,"date":"2020-10-28T10:51:16","date_gmt":"2020-10-28T10:51:16","guid":{"rendered":"http:\/\/omeara.net\/?p=1"},"modified":"2020-10-28T13:25:18","modified_gmt":"2020-10-28T12:25:18","slug":"hello-world","status":"publish","type":"post","link":"http:\/\/omeara.net\/?p=1","title":{"rendered":"Methodology"},"content":{"rendered":"\n<p>If you&#8217;ve ever been involved in a multi-language site before you will know what a logistical nightmare it becomes very quickly.  If you haven&#8217;t, then let me explain.<\/p>\n\n\n\n<p>First off I&#8217;m not talking about a basic website; a simple brochure site about a bricks and mortar business, a forum or an e-commerce site.  <\/p>\n\n\n\n<p>For this I would recommend simply using a templating system that has a multi-language module.   Your content is only text, and probably doesn&#8217;t change very often.  Simply use a native-speaker translator to get your message across and re-employ someone if you want to publish something new.<\/p>\n\n\n\n<p>What I&#8217;m referring to is a more complex website business that is custom-built from the ground up.  Think ebay, PayPal or Facebook &#8211; why not aim high!<\/p>\n\n\n\n<p>You decide to target multiple languages from the start, or you have an existing system that is single language.   Your system architect modifies the code to pull strings from a localisation file.  You get all the strings translated.  Job done.<\/p>\n\n\n\n<p>This is where things get sticky.  Every time a new part of the site is added; maybe a new feature or service &#8211; the entire localisation file needs translating into all your target languages.  This rapidly bring development speed to a snails pace.<\/p>\n\n\n\n<p>I&#8217;ve been there before and it&#8217;s painful.   So a radically new approach is needed to keep your businesses innovation level up and deployment speed at maximum.<\/p>\n\n\n\n<p>My methodology is to separate out all languages into different sites, and the functionality available to them.  Keep a single core database of central data &#8211; for example the Users table with a LANG field.  <\/p>\n\n\n\n<p>Develop class libraries that are language neutral and independent for the business layer logic, and finally utilise the amazing logic and design separation principles of modern MVC (Model-View-Control) architecture.<\/p>\n\n\n\n<p>This way you can innovate rapidly on one language site &#8211; maybe test our that new killer feature &#8211; do people use it?  does it need tweaking based on user feedback? was it a waste of time and need killing off?<\/p>\n\n\n\n<p>All this can be done as rapidly as you&#8217;d expect from a single language site.  Once you&#8217;re happy to commit the budget to the translators and coders &#8211; roll-out the views to the other languages.<\/p>\n\n\n\n<p>If you&#8217;d like to discuss your multi-language site&#8217;s architecture with me please get in touch. <\/p>\n","protected":false},"excerpt":{"rendered":"<p>If you&#8217;ve ever been involved in a multi-language site before you will know what a logistical nightmare it becomes very quickly. If you haven&#8217;t, then let me explain. First off I&#8217;m not talking about a basic website; a simple brochure site about a bricks and mortar business, a forum or an e-commerce site. For this &hellip; <\/p>\n<p class=\"link-more\"><a href=\"http:\/\/omeara.net\/?p=1\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Methodology&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-1","post","type-post","status-publish","format-standard","hentry","category-uncategorised"],"_links":{"self":[{"href":"http:\/\/omeara.net\/index.php?rest_route=\/wp\/v2\/posts\/1","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/omeara.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/omeara.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/omeara.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/omeara.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1"}],"version-history":[{"count":3,"href":"http:\/\/omeara.net\/index.php?rest_route=\/wp\/v2\/posts\/1\/revisions"}],"predecessor-version":[{"id":46,"href":"http:\/\/omeara.net\/index.php?rest_route=\/wp\/v2\/posts\/1\/revisions\/46"}],"wp:attachment":[{"href":"http:\/\/omeara.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/omeara.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/omeara.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}