{"id":27070,"date":"2016-12-05T22:58:37","date_gmt":"2016-12-05T20:58:37","guid":{"rendered":"https:\/\/mamchenkov.net\/wordpress\/?p=27070"},"modified":"2016-12-05T23:12:08","modified_gmt":"2016-12-05T21:12:08","slug":"wordpress-preferred-languages-research","status":"publish","type":"post","link":"https:\/\/mamchenkov.net\/wordpress\/2016\/12\/05\/wordpress-preferred-languages-research\/","title":{"rendered":"WordPress : Preferred Languages Research"},"content":{"rendered":"<!-- google_ad_section_start -->\n<p>Pascal Birchler of the WordPress blogs some <a href=\"https:\/\/make.wordpress.org\/core\/2016\/11\/25\/preferred-languages-research\/\">interesting research<\/a> he did in the area of handling preferred language and how different systems &#8211; ranging from browsers, wikis, and social networks to all kinds of content management systems &#8211; approach and solve the problem.<\/p>\n<p><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"27071\" data-permalink=\"https:\/\/mamchenkov.net\/wordpress\/2016\/12\/05\/wordpress-preferred-languages-research\/drupal-language-hierarchy-module\/\" data-orig-file=\"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2016\/12\/drupal-language-hierarchy-module.png?fit=815%2C253&amp;ssl=1\" data-orig-size=\"815,253\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"drupal-language-hierarchy-module\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2016\/12\/drupal-language-hierarchy-module.png?fit=660%2C205&amp;ssl=1\" class=\"aligncenter size-medium wp-image-27071\" src=\"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2016\/12\/drupal-language-hierarchy-module-500x155.png?resize=500%2C155&#038;ssl=1\" alt=\"drupal-language-hierarchy-module\" width=\"500\" height=\"155\" srcset=\"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2016\/12\/drupal-language-hierarchy-module.png?resize=500%2C155&amp;ssl=1 500w, https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2016\/12\/drupal-language-hierarchy-module.png?resize=768%2C238&amp;ssl=1 768w, https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2016\/12\/drupal-language-hierarchy-module.png?w=815&amp;ssl=1 815w\" sizes=\"auto, (max-width: 500px) 100vw, 500px\" \/><\/p>\n<blockquote><p><strong>Drupal<\/strong><\/p>\n<p>Drupal 8 has a rather powerful <a href=\"http:\/\/hojtsy.hu\/blog\/2013-jun-19\/drupal-8-multilingual-tidbits-4-highly-flexible-detection-options\">user interface text language detection mechanism<\/a>. There is a per session, per user and per browser option in the detection settings. However, users can only choose one language, so they cannot say (in core at least) that they want German primarily and Spanish if German is not available. But the language selected by the user is part of the larger fallback system, so it may fall back further down to other options.<\/p>\n<p>The <a href=\"https:\/\/www.drupal.org\/project\/language_fallback\">Language fallback module<\/a> allows defining one fallback for a language, while the <a href=\"https:\/\/www.drupal.org\/project\/language_hierarchy\">Language Hierarchy module<\/a> provides a GUI to change the language fallback system. It allows setting up language hierarchies where translations of a site\u2019s content, settings and interface can fall back to parent language translations, without ever falling back to English. This module might be the most interesting one for our research.<\/p><\/blockquote>\n<p>Apart from the research itself, I think this is an interesting example of how complex some seemingly simple features are.<\/p>\n<!-- google_ad_section_end -->\n","protected":false},"excerpt":{"rendered":"<!-- google_ad_section_start -->\n<p>Pascal Birchler of the WordPress blogs some interesting research he did in the area of handling preferred language and how different systems &#8211; ranging from browsers, wikis, and social networks to all kinds of content management systems &#8211; approach and solve the problem. Drupal Drupal 8 has a rather powerful user interface text language detection &hellip; <a href=\"https:\/\/mamchenkov.net\/wordpress\/2016\/12\/05\/wordpress-preferred-languages-research\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">WordPress : Preferred Languages Research<\/span><\/a><\/p>\n<!-- google_ad_section_end -->\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"WordPress : Preferred Languages Research #WordPress #CMS #blogging #i18n","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"_links_to":"","_links_to_target":""},"categories":[1,18,62,1334,60],"tags":[105,3149,243,1478,1117,1158],"keyring_services":[],"class_list":["post-27070","post","type-post","status-publish","format-standard","hentry","category-general","category-programming","category-technology","category-web-work","category-wordpress","tag-cms","tag-drupal","tag-language","tag-localization","tag-research","tag-user-interfaces"],"aioseo_notices":[],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack-related-posts":[{"id":17868,"url":"https:\/\/mamchenkov.net\/wordpress\/2013\/03\/13\/the-redhat-of-drupal\/","url_meta":{"origin":27070,"position":0},"title":"The RedHat of Drupal","author":"Leonid Mamchenkov","date":"March 13, 2013","format":"link","excerpt":"The RedHat of Drupal Matt Mullenweg shares a piece of hilarious SPAM he received. \u00a0This. Is. \u00a0CLASSIC! I apologize for the cold email. I was researching Automattic , Inc. and wanted to ask you if there was any gaps\/pains within your CMS and website. I work for the \u201cRedhat of\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":27066,"url":"https:\/\/mamchenkov.net\/wordpress\/2016\/12\/05\/drupal-and-playboy\/","url_meta":{"origin":27070,"position":1},"title":"Drupal and Playboy","author":"Leonid Mamchenkov","date":"December 5, 2016","format":false,"excerpt":"https:\/\/twitter.com\/vmbrasseur\/status\/804739968950104064 Slashdot has the details for the story, if you haven't heard it yet. \u00a0Inappropriate? Maybe. \u00a0But then again, where do you draw the line of what's inappropriate in the sponsor's bag? \u00a0(Beer and other alcoholic beverages are very welcome, for example.) I tend to take things on the lighter\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":29030,"url":"https:\/\/mamchenkov.net\/wordpress\/2018\/11\/26\/cms-scanner-scan-wordpress-drupal-joomla-vbulletin-websites-for-security-issues\/","url_meta":{"origin":27070,"position":2},"title":"CMS Scanner: Scan WordPress, Drupal, Joomla, vBulletin websites for Security issues","author":"Leonid Mamchenkov","date":"November 26, 2018","format":false,"excerpt":"CMS Scanner is a security tool from Open Security crew that you can host locally and use for security scans of WordPress, Drupal, Joomla, and vBulletin websites.\u00a0 I think that having an automated tool like that is way better and more productive than a thousand blog posts on how to\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2018\/11\/csmscan-500x308.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":27394,"url":"https:\/\/mamchenkov.net\/wordpress\/2017\/03\/06\/language-detection-library-for-php\/","url_meta":{"origin":27070,"position":3},"title":"Language Detection Library for PHP","author":"Leonid Mamchenkov","date":"March 6, 2017","format":false,"excerpt":"patrickschur\/language-detection - is a language detection library for PHP, which detects the language from a given text string. \u00a0Now, a bit more detailed: This library can detect the language of a given text string. It can parse given training text in many different idioms into a sequence of N-grams and\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":38278,"url":"https:\/\/mamchenkov.net\/wordpress\/2019\/03\/13\/headless-cms-rest-vs-jsonapi-vs-graphql\/","url_meta":{"origin":27070,"position":4},"title":"Headless CMS: REST vs JSON:API vs GraphQL","author":"Leonid Mamchenkov","date":"March 13, 2019","format":false,"excerpt":"\"Headless CMS: REST vs JSON:API vs GraphQL\" is an interesting comparison of the REST, JSON:API, and GraphQL: In this blog post, we will compare REST, JSON:API and GraphQL. First, we'll look at an architectural, CMS-agnostic comparison, followed by evaluating some Drupal-specific implementation details.","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2019\/03\/rest-vs-jsonapi-graphql-comparison-1280w.jpg?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2019\/03\/rest-vs-jsonapi-graphql-comparison-1280w.jpg?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2019\/03\/rest-vs-jsonapi-graphql-comparison-1280w.jpg?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2019\/03\/rest-vs-jsonapi-graphql-comparison-1280w.jpg?resize=700%2C400&ssl=1 2x, https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2019\/03\/rest-vs-jsonapi-graphql-comparison-1280w.jpg?resize=1050%2C600&ssl=1 3x"},"classes":[]},{"id":15799,"url":"https:\/\/mamchenkov.net\/wordpress\/2011\/10\/27\/day-in-brief-2011-10-27\/","url_meta":{"origin":27070,"position":5},"title":"Day in brief &#8211; 2011-10-27","author":"Leonid Mamchenkov","date":"October 27, 2011","format":false,"excerpt":"I just wrote yet another poem in Greek: kafenaki, frapedaki - tou Leonida filoraki. :) # And how about you? Have you ever written a poem in the language that you don't speak? :) # Every time I hear someone saying \"Oh my god\", I say \"No, honey, that's just\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"jetpack_sharing_enabled":true,"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts\/27070","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/comments?post=27070"}],"version-history":[{"count":0,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts\/27070\/revisions"}],"wp:attachment":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/media?parent=27070"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/categories?post=27070"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/tags?post=27070"},{"taxonomy":"keyring_services","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/keyring_services?post=27070"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}