{"id":27350,"date":"2017-02-13T10:34:07","date_gmt":"2017-02-13T08:34:07","guid":{"rendered":"https:\/\/mamchenkov.net\/wordpress\/?p=27350"},"modified":"2017-02-13T10:34:07","modified_gmt":"2017-02-13T08:34:07","slug":"morphos-morphological-solution-in-php-for-english-and-russian","status":"publish","type":"post","link":"https:\/\/mamchenkov.net\/wordpress\/2017\/02\/13\/morphos-morphological-solution-in-php-for-english-and-russian\/","title":{"rendered":"Morphos &#8211; morphological solution in PHP for English and Russian"},"content":{"rendered":"<!-- google_ad_section_start -->\n<p>If you ever had to deal with <a href=\"https:\/\/en.wikipedia.org\/wiki\/Morphology_(linguistics)\">morphology<\/a> in English, you probably found one or two libraries to help you out. \u00a0But if you had to do that for Russian, than I&#8217;m sure you are missing a few hairs, and the ones that you still have are grayer than they used to be. \u00a0I&#8217;ve got some good news for you though, now there is <a href=\"http:\/\/wapmorgan.github.io\/Morphos\/\">Morphos<\/a> (<a href=\"https:\/\/github.com\/wapmorgan\/Morphos\">GitHub repository<\/a>).<\/p>\n<blockquote><p>Morphos is a\u00a0morphological solution written completely in the PHP language. Supports Russian and English. Provides classes to decline First\/Middle\/Last names\/nouns and generate cardinal numerals.<\/p><\/blockquote>\n<p>Just look at this beauty!<\/p>\n<pre class=\"brush: php; title: ; notranslate\" title=\"\">\r\nvar_dump($dec-&gt;getForms($user_name, $dec-&gt;detectGender($user_name)));\r\n\/* Will produce something like\r\n  array(6) {\r\n    &#x5B;&quot;nominativus&quot;]=&gt;\r\n    string(8) &quot;\u0418\u0432\u0430\u043d&quot;\r\n    &#x5B;&quot;genetivus&quot;]=&gt;\r\n    string(10) &quot;\u0418\u0432\u0430\u043d\u0430&quot;\r\n    &#x5B;&quot;dativus&quot;]=&gt;\r\n    string(10) &quot;\u0418\u0432\u0430\u043d\u0443&quot;\r\n    &#x5B;&quot;accusative&quot;]=&gt;\r\n    string(10) &quot;\u0418\u0432\u0430\u043d\u0430&quot;\r\n    &#x5B;&quot;ablativus&quot;]=&gt;\r\n    string(12) &quot;\u0418\u0432\u0430\u043d\u043e\u043c&quot;\r\n    &#x5B;&quot;praepositionalis&quot;]=&gt;\r\n    string(15) &quot;\u043e\u0431 \u0418\u0432\u0430\u043d\u0435&quot;\r\n  }\r\n*\/\r\n<\/pre>\n<p>Just this alone can make user interfaces and emails so much better. \u00a0But there is more to it than that.<\/p>\n<!-- google_ad_section_end -->\n","protected":false},"excerpt":{"rendered":"<!-- google_ad_section_start -->\n<p>If you ever had to deal with morphology in English, you probably found one or two libraries to help you out. \u00a0But if you had to do that for Russian, than I&#8217;m sure you are missing a few hairs, and the ones that you still have are grayer than they used to be. \u00a0I&#8217;ve got &hellip; <a href=\"https:\/\/mamchenkov.net\/wordpress\/2017\/02\/13\/morphos-morphological-solution-in-php-for-english-and-russian\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">Morphos &#8211; morphological solution in PHP for English and Russian<\/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_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"Morphos - morphological solution in PHP for English and Russian #WebDev #PHP #language #i18n #English #Russian #UI #emails","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},"jetpack_post_was_ever_published":false,"_links_to":"","_links_to_target":""},"categories":[1,18,62,1334],"tags":[72,181,243,38,3497,1279,1158,1330],"keyring_services":[],"class_list":["post-27350","post","type-post","status-publish","format-standard","hentry","category-general","category-programming","category-technology","category-web-work","tag-email","tag-english","tag-language","tag-php","tag-russian","tag-translations","tag-user-interfaces","tag-web-development"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.8 - aioseo.com -->\n\t<meta name=\"description\" content=\"If you ever had to deal with morphology in English, you probably found one or two libraries to help you out. But if you had to do that for Russian, than I&#039;m sure you are missing a few hairs, and the ones that you still have are grayer than they used to be. I&#039;ve got\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Leonid Mamchenkov\"\/>\n\t<meta name=\"google-site-verification\" content=\"VHvdD0_usx1_4DzKy_QCVcICVgX2EgA2ybELT-wl7kQ\" \/>\n\t<link rel=\"canonical\" href=\"https:\/\/mamchenkov.net\/wordpress\/2017\/02\/13\/morphos-morphological-solution-in-php-for-english-and-russian\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.8\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"Leonid Mamchenkov - Life, universe, and everything else\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"Morphos \u2013 morphological solution in PHP for English and Russian - Leonid Mamchenkov\" \/>\n\t\t<meta property=\"og:description\" content=\"If you ever had to deal with morphology in English, you probably found one or two libraries to help you out. But if you had to do that for Russian, than I&#039;m sure you are missing a few hairs, and the ones that you still have are grayer than they used to be. I&#039;ve got\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/mamchenkov.net\/wordpress\/2017\/02\/13\/morphos-morphological-solution-in-php-for-english-and-russian\/\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2026\/03\/leonid-sailing-beer.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2026\/03\/leonid-sailing-beer.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"1024\" \/>\n\t\t<meta property=\"og:image:height\" content=\"1024\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2017-02-13T08:34:07+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2017-02-13T08:34:07+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/MamchenkovBlog\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n\t\t<meta name=\"twitter:site\" content=\"@mamchenkov\" \/>\n\t\t<meta name=\"twitter:title\" content=\"Morphos \u2013 morphological solution in PHP for English and Russian - Leonid Mamchenkov\" \/>\n\t\t<meta name=\"twitter:description\" content=\"If you ever had to deal with morphology in English, you probably found one or two libraries to help you out. But if you had to do that for Russian, than I&#039;m sure you are missing a few hairs, and the ones that you still have are grayer than they used to be. I&#039;ve got\" \/>\n\t\t<meta name=\"twitter:creator\" content=\"@mamchenkov\" \/>\n\t\t<meta name=\"twitter:image\" content=\"https:\/\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2026\/03\/leonid-sailing-beer.jpg\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"BlogPosting\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2017\\\/02\\\/13\\\/morphos-morphological-solution-in-php-for-english-and-russian\\\/#blogposting\",\"name\":\"Morphos \\u2013 morphological solution in PHP for English and Russian - Leonid Mamchenkov\",\"headline\":\"Morphos &#8211; morphological solution in PHP for English and Russian\",\"author\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/author\\\/leonid\\\/#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/#person\"},\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2017\\\/02\\\/13\\\/morphos-morphological-solution-in-php-for-english-and-russian\\\/#articleImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/3cf6df002a284d78fb6e9d8222ca4d102e0832035ed6bc8447008bd234e131a4?s=96&d=identicon&r=g\",\"width\":96,\"height\":96,\"caption\":\"Leonid Mamchenkov\"},\"datePublished\":\"2017-02-13T10:34:07+02:00\",\"dateModified\":\"2017-02-13T10:34:07+02:00\",\"inLanguage\":\"en-US\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2017\\\/02\\\/13\\\/morphos-morphological-solution-in-php-for-english-and-russian\\\/#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2017\\\/02\\\/13\\\/morphos-morphological-solution-in-php-for-english-and-russian\\\/#webpage\"},\"articleSection\":\"All, Programming, Technology, Web work, email, English, language, PHP, Russian, translations, user interfaces, web development\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2017\\\/02\\\/13\\\/morphos-morphological-solution-in-php-for-english-and-russian\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/category\\\/technology\\\/#listItem\",\"name\":\"Technology\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/category\\\/technology\\\/#listItem\",\"position\":2,\"name\":\"Technology\",\"item\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/category\\\/technology\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/category\\\/technology\\\/programming\\\/#listItem\",\"name\":\"Programming\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/category\\\/technology\\\/programming\\\/#listItem\",\"position\":3,\"name\":\"Programming\",\"item\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/category\\\/technology\\\/programming\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2017\\\/02\\\/13\\\/morphos-morphological-solution-in-php-for-english-and-russian\\\/#listItem\",\"name\":\"Morphos &#8211; morphological solution in PHP for English and Russian\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/category\\\/technology\\\/#listItem\",\"name\":\"Technology\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2017\\\/02\\\/13\\\/morphos-morphological-solution-in-php-for-english-and-russian\\\/#listItem\",\"position\":4,\"name\":\"Morphos &#8211; morphological solution in PHP for English and Russian\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/category\\\/technology\\\/programming\\\/#listItem\",\"name\":\"Programming\"}}]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/#person\",\"name\":\"Leonid Mamchenkov\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2017\\\/02\\\/13\\\/morphos-morphological-solution-in-php-for-english-and-russian\\\/#personImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/3cf6df002a284d78fb6e9d8222ca4d102e0832035ed6bc8447008bd234e131a4?s=96&d=identicon&r=g\",\"width\":96,\"height\":96,\"caption\":\"Leonid Mamchenkov\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/author\\\/leonid\\\/#author\",\"url\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/author\\\/leonid\\\/\",\"name\":\"Leonid Mamchenkov\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2017\\\/02\\\/13\\\/morphos-morphological-solution-in-php-for-english-and-russian\\\/#authorImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/3cf6df002a284d78fb6e9d8222ca4d102e0832035ed6bc8447008bd234e131a4?s=96&d=identicon&r=g\",\"width\":96,\"height\":96,\"caption\":\"Leonid Mamchenkov\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2017\\\/02\\\/13\\\/morphos-morphological-solution-in-php-for-english-and-russian\\\/#webpage\",\"url\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2017\\\/02\\\/13\\\/morphos-morphological-solution-in-php-for-english-and-russian\\\/\",\"name\":\"Morphos \\u2013 morphological solution in PHP for English and Russian - Leonid Mamchenkov\",\"description\":\"If you ever had to deal with morphology in English, you probably found one or two libraries to help you out. But if you had to do that for Russian, than I'm sure you are missing a few hairs, and the ones that you still have are grayer than they used to be. I've got\",\"inLanguage\":\"en-US\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2017\\\/02\\\/13\\\/morphos-morphological-solution-in-php-for-english-and-russian\\\/#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/author\\\/leonid\\\/#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/author\\\/leonid\\\/#author\"},\"datePublished\":\"2017-02-13T10:34:07+02:00\",\"dateModified\":\"2017-02-13T10:34:07+02:00\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/#website\",\"url\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/\",\"name\":\"Blog of Leonid Mamchenkov\",\"description\":\"Life, universe, and everything else\",\"inLanguage\":\"en-US\",\"publisher\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/#person\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"Morphos \u2013 morphological solution in PHP for English and Russian - Leonid Mamchenkov","description":"If you ever had to deal with morphology in English, you probably found one or two libraries to help you out. But if you had to do that for Russian, than I'm sure you are missing a few hairs, and the ones that you still have are grayer than they used to be. I've got","canonical_url":"https:\/\/mamchenkov.net\/wordpress\/2017\/02\/13\/morphos-morphological-solution-in-php-for-english-and-russian\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"google-site-verification":"VHvdD0_usx1_4DzKy_QCVcICVgX2EgA2ybELT-wl7kQ","miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"BlogPosting","@id":"https:\/\/mamchenkov.net\/wordpress\/2017\/02\/13\/morphos-morphological-solution-in-php-for-english-and-russian\/#blogposting","name":"Morphos \u2013 morphological solution in PHP for English and Russian - Leonid Mamchenkov","headline":"Morphos &#8211; morphological solution in PHP for English and Russian","author":{"@id":"https:\/\/mamchenkov.net\/wordpress\/author\/leonid\/#author"},"publisher":{"@id":"https:\/\/mamchenkov.net\/wordpress\/#person"},"image":{"@type":"ImageObject","@id":"https:\/\/mamchenkov.net\/wordpress\/2017\/02\/13\/morphos-morphological-solution-in-php-for-english-and-russian\/#articleImage","url":"https:\/\/secure.gravatar.com\/avatar\/3cf6df002a284d78fb6e9d8222ca4d102e0832035ed6bc8447008bd234e131a4?s=96&d=identicon&r=g","width":96,"height":96,"caption":"Leonid Mamchenkov"},"datePublished":"2017-02-13T10:34:07+02:00","dateModified":"2017-02-13T10:34:07+02:00","inLanguage":"en-US","mainEntityOfPage":{"@id":"https:\/\/mamchenkov.net\/wordpress\/2017\/02\/13\/morphos-morphological-solution-in-php-for-english-and-russian\/#webpage"},"isPartOf":{"@id":"https:\/\/mamchenkov.net\/wordpress\/2017\/02\/13\/morphos-morphological-solution-in-php-for-english-and-russian\/#webpage"},"articleSection":"All, Programming, Technology, Web work, email, English, language, PHP, Russian, translations, user interfaces, web development"},{"@type":"BreadcrumbList","@id":"https:\/\/mamchenkov.net\/wordpress\/2017\/02\/13\/morphos-morphological-solution-in-php-for-english-and-russian\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress#listItem","position":1,"name":"Home","item":"https:\/\/mamchenkov.net\/wordpress","nextItem":{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/#listItem","name":"Technology"}},{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/#listItem","position":2,"name":"Technology","item":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/","nextItem":{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/programming\/#listItem","name":"Programming"},"previousItem":{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/programming\/#listItem","position":3,"name":"Programming","item":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/programming\/","nextItem":{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress\/2017\/02\/13\/morphos-morphological-solution-in-php-for-english-and-russian\/#listItem","name":"Morphos &#8211; morphological solution in PHP for English and Russian"},"previousItem":{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/#listItem","name":"Technology"}},{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress\/2017\/02\/13\/morphos-morphological-solution-in-php-for-english-and-russian\/#listItem","position":4,"name":"Morphos &#8211; morphological solution in PHP for English and Russian","previousItem":{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/programming\/#listItem","name":"Programming"}}]},{"@type":"Person","@id":"https:\/\/mamchenkov.net\/wordpress\/#person","name":"Leonid Mamchenkov","image":{"@type":"ImageObject","@id":"https:\/\/mamchenkov.net\/wordpress\/2017\/02\/13\/morphos-morphological-solution-in-php-for-english-and-russian\/#personImage","url":"https:\/\/secure.gravatar.com\/avatar\/3cf6df002a284d78fb6e9d8222ca4d102e0832035ed6bc8447008bd234e131a4?s=96&d=identicon&r=g","width":96,"height":96,"caption":"Leonid Mamchenkov"}},{"@type":"Person","@id":"https:\/\/mamchenkov.net\/wordpress\/author\/leonid\/#author","url":"https:\/\/mamchenkov.net\/wordpress\/author\/leonid\/","name":"Leonid Mamchenkov","image":{"@type":"ImageObject","@id":"https:\/\/mamchenkov.net\/wordpress\/2017\/02\/13\/morphos-morphological-solution-in-php-for-english-and-russian\/#authorImage","url":"https:\/\/secure.gravatar.com\/avatar\/3cf6df002a284d78fb6e9d8222ca4d102e0832035ed6bc8447008bd234e131a4?s=96&d=identicon&r=g","width":96,"height":96,"caption":"Leonid Mamchenkov"}},{"@type":"WebPage","@id":"https:\/\/mamchenkov.net\/wordpress\/2017\/02\/13\/morphos-morphological-solution-in-php-for-english-and-russian\/#webpage","url":"https:\/\/mamchenkov.net\/wordpress\/2017\/02\/13\/morphos-morphological-solution-in-php-for-english-and-russian\/","name":"Morphos \u2013 morphological solution in PHP for English and Russian - Leonid Mamchenkov","description":"If you ever had to deal with morphology in English, you probably found one or two libraries to help you out. But if you had to do that for Russian, than I'm sure you are missing a few hairs, and the ones that you still have are grayer than they used to be. I've got","inLanguage":"en-US","isPartOf":{"@id":"https:\/\/mamchenkov.net\/wordpress\/#website"},"breadcrumb":{"@id":"https:\/\/mamchenkov.net\/wordpress\/2017\/02\/13\/morphos-morphological-solution-in-php-for-english-and-russian\/#breadcrumblist"},"author":{"@id":"https:\/\/mamchenkov.net\/wordpress\/author\/leonid\/#author"},"creator":{"@id":"https:\/\/mamchenkov.net\/wordpress\/author\/leonid\/#author"},"datePublished":"2017-02-13T10:34:07+02:00","dateModified":"2017-02-13T10:34:07+02:00"},{"@type":"WebSite","@id":"https:\/\/mamchenkov.net\/wordpress\/#website","url":"https:\/\/mamchenkov.net\/wordpress\/","name":"Blog of Leonid Mamchenkov","description":"Life, universe, and everything else","inLanguage":"en-US","publisher":{"@id":"https:\/\/mamchenkov.net\/wordpress\/#person"}}]},"og:locale":"en_US","og:site_name":"Leonid Mamchenkov - Life, universe, and everything else","og:type":"article","og:title":"Morphos \u2013 morphological solution in PHP for English and Russian - Leonid Mamchenkov","og:description":"If you ever had to deal with morphology in English, you probably found one or two libraries to help you out. But if you had to do that for Russian, than I'm sure you are missing a few hairs, and the ones that you still have are grayer than they used to be. I've got","og:url":"https:\/\/mamchenkov.net\/wordpress\/2017\/02\/13\/morphos-morphological-solution-in-php-for-english-and-russian\/","og:image":"https:\/\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2026\/03\/leonid-sailing-beer.jpg","og:image:secure_url":"https:\/\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2026\/03\/leonid-sailing-beer.jpg","og:image:width":1024,"og:image:height":1024,"article:published_time":"2017-02-13T08:34:07+00:00","article:modified_time":"2017-02-13T08:34:07+00:00","article:publisher":"https:\/\/www.facebook.com\/MamchenkovBlog","twitter:card":"summary_large_image","twitter:site":"@mamchenkov","twitter:title":"Morphos \u2013 morphological solution in PHP for English and Russian - Leonid Mamchenkov","twitter:description":"If you ever had to deal with morphology in English, you probably found one or two libraries to help you out. But if you had to do that for Russian, than I'm sure you are missing a few hairs, and the ones that you still have are grayer than they used to be. I've got","twitter:creator":"@mamchenkov","twitter:image":"https:\/\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2026\/03\/leonid-sailing-beer.jpg"},"aioseo_meta_data":{"post_id":"27350","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"breadcrumb_settings":null,"limit_modified_date":false,"ai":null,"created":"2023-07-20 04:26:52","updated":"2026-01-15 12:44:46","seo_analyzer_scan_date":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/mamchenkov.net\/wordpress\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/\" title=\"Technology\">Technology<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/programming\/\" title=\"Programming\">Programming<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tMorphos \u2013 morphological solution in PHP for English and Russian\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/mamchenkov.net\/wordpress"},{"label":"Technology","link":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/"},{"label":"Programming","link":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/programming\/"},{"label":"Morphos &#8211; morphological solution in PHP for English and Russian","link":"https:\/\/mamchenkov.net\/wordpress\/2017\/02\/13\/morphos-morphological-solution-in-php-for-english-and-russian\/"}],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack-related-posts":[{"id":26031,"url":"https:\/\/mamchenkov.net\/wordpress\/2016\/04\/18\/single-sign-on-between-sugarcrm-and-request-tracker\/","url_meta":{"origin":27350,"position":0},"title":"Single Sign-On Between SugarCRM and Request Tracker","author":"Leonid Mamchenkov","date":"April 18, 2016","format":false,"excerpt":"As mentioned\u00a0before,\u00a0over the last few month I've been involved in quite a few integration projects, using mostly SugarCRM and Request Tracker. \u00a0One of the interesting challenges was the Single Sign-On (SSO) between the two. The interesting bit comes from these facts: Different technologies: SugarCRM is written in PHP, while Request\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":27394,"url":"https:\/\/mamchenkov.net\/wordpress\/2017\/03\/06\/language-detection-library-for-php\/","url_meta":{"origin":27350,"position":1},"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":28842,"url":"https:\/\/mamchenkov.net\/wordpress\/2018\/10\/09\/php-excel-templator\/","url_meta":{"origin":27350,"position":2},"title":"PHP Excel Templator","author":"Leonid Mamchenkov","date":"October 9, 2018","format":false,"excerpt":"PHP Excel Templator is a PHP library that helps with generating Excel files based on the templates and placeholders.\u00a0 The documentation shows a few examples which look surprisingly short. Found via this article (in Russian).","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\/10\/php-excel-500x244.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":8816,"url":"https:\/\/mamchenkov.net\/wordpress\/2005\/04\/13\/open-source-software-reading\/","url_meta":{"origin":27350,"position":3},"title":"Open Source Software reading","author":"Leonid Mamchenkov","date":"April 13, 2005","format":false,"excerpt":"Michael Stepanoff has sent me the link to an annoucement about a few books. There are a few books in English and in Russian about programming with Open Source Software. Things like GNU toolchain, PHP, and Linux are covered.","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":11200,"url":"https:\/\/mamchenkov.net\/wordpress\/2008\/05\/19\/php-6-hopefully-not-the-end-of-the-road\/","url_meta":{"origin":27350,"position":4},"title":"PHP 6 &#8211; hopefully not the end of the road","author":"Leonid Mamchenkov","date":"May 19, 2008","format":false,"excerpt":"I've heard plenty of positive buzz about PHP 6 in the last few weeks.\u00a0 Yes, it's coming out.\u00a0 Yes, it brings quite a few improvements, including better Unicode support, better security, and more help for larger projects through namespaces.\u00a0 However, I hope that it won't be the last PHP release,\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":13455,"url":"https:\/\/mamchenkov.net\/wordpress\/2010\/10\/07\/google-translate-tip-for-google-chrome\/","url_meta":{"origin":27350,"position":5},"title":"Google Translate tip for Google Chrome","author":"Leonid Mamchenkov","date":"October 7, 2010","format":false,"excerpt":"Here is something that I thought of today, played with, and found quite useful - integration of Google Translate with Google Chrome via the search engine configuration. \u00a0Of course, I know that there are addons for Google Chrome to integrate Google Translate. \u00a0Of course, I know that Google Chrome comes\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\/2010\/10\/google_chrome_translate-500x298.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]}],"jetpack_sharing_enabled":true,"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts\/27350","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=27350"}],"version-history":[{"count":0,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts\/27350\/revisions"}],"wp:attachment":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/media?parent=27350"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/categories?post=27350"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/tags?post=27350"},{"taxonomy":"keyring_services","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/keyring_services?post=27350"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}