{"id":14104,"date":"2023-08-10T20:37:07","date_gmt":"2023-08-10T14:37:07","guid":{"rendered":"https:\/\/shra.ru\/?p=14104"},"modified":"2023-08-10T20:37:09","modified_gmt":"2023-08-10T14:37:09","slug":"programmnoe-sozdanie-stati-s-perevodom-v-drupal","status":"publish","type":"post","link":"https:\/\/shra.ru\/2023\/08\/programmnoe-sozdanie-stati-s-perevodom-v-drupal\/","title":{"rendered":"\u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e\u0435 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0441\u0442\u0430\u0442\u044c\u0438 \u0441 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u043e\u043c \u0432 Drupal"},"content":{"rendered":"\n

\u0414\u043e\u043f\u0443\u0441\u0442\u0438\u043c, \u0432\u044b \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0435 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 — \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a, \u0442\u0435\u043a\u0441\u0442 \u0441\u0442\u0430\u0442\u044c\u0438, \u0438 \u0442\u0435\u0433\u0438. \u041f\u0440\u0438 \u044d\u0442\u043e\u043c \u0434\u0430\u043d\u043d\u044b\u0435 \u043f\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u043d\u0430 \u0434\u0432\u0443\u0445 \u044f\u0437\u044b\u043a\u0430\u0445 — ‘ru’ \u0438 ‘en’. \u0412\u0430\u043c \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0441\u0442\u0430\u0442\u044c\u044e \u0438 \u0435\u0451 \u043f\u0435\u0440\u0435\u0432\u043e\u0434.<\/p>\n\n\n\n\n\n\n\n

\u042f \u043f\u043e\u043b\u0430\u0433\u0430\u044e, \u0447\u0442\u043e \u0443\u0436\u0435 \u0430\u043a\u0442\u0438\u0432\u0438\u0440\u043e\u0432\u0430\u043d \u043c\u043e\u0434\u0443\u043b\u044c Content Translation<\/em>, \u0438 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043d \u0442\u0438\u043f \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0432\u044b \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u0442\u0435\u0441\u044c \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c. <\/p>\n\n\n\n

\u0422\u0435\u0433\u0438<\/h2>\n\n\n\n

\u0421\u043d\u0430\u0447\u0430\u043b\u0430 \u043d\u0430\u0434\u043e \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u0442\u044c\u0441\u044f \u0441\u043e \u0432\u0441\u0435\u043c\u0438 \u0434\u043e\u0447\u0435\u0440\u043d\u0438\u043c\u0438 \u0441\u0443\u0449\u043d\u043e\u0441\u0442\u044f\u043c\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u043e\u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c. \u0412 \u043d\u0430\u0448\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u044d\u0442\u043e \u043d\u0430\u0431\u043e\u0440 \u0442\u0435\u0433\u043e\u0432. <\/p>\n\n\n\n

\u0414\u043b\u044f \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u0441\u0442\u0438 \u043f\u0443\u0441\u0442\u044c \u044d\u0442\u043e \u0431\u0443\u0434\u0443\u0442 \u0434\u0432\u0430 \u043c\u0430\u0441\u0441\u0438\u0432\u0430, \u0433\u0434\u0435 \u0432 \u043e\u0434\u043d\u043e\u043c \u0445\u0440\u0430\u043d\u044f\u0442\u0441\u044f \u0442\u0435\u0433\u0438 \u043d\u0430 \u0440\u0443\u0441\u0441\u043a\u043e\u043c \u044f\u0437\u044b\u043a\u0435, \u0430 \u0432 \u0434\u0440\u0443\u0433\u043e\u043c — \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0435 \u043f\u0435\u0440\u0432\u043e\u043c\u0443 \u043c\u0430\u0441\u0441\u0438\u0432\u0443 \u0430\u043d\u0433\u043b\u0438\u0439\u0441\u043a\u0438\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f.<\/p>\n\n\n\n

\u041d\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u0441\u043e\u0431\u0440\u0430\u0442\u044c \u0430\u0439\u0434\u0438 \u044d\u0442\u0438\u0445 \u0442\u0435\u0433\u043e\u0432 \u0432 \u043e\u0434\u043d\u043e\u043c \u0441\u043f\u0438\u0441\u043a\u0435.<\/p>\n\n\n\n

\u041f\u0443\u0441\u0442\u044c \u0435\u0441\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043c\u044b \u043f\u0435\u0440\u0435\u0434\u0430\u0434\u0438\u043c \u0440\u0443\u0441\u0441\u043a\u043e\u0435 \u0438 \u0430\u043d\u0433\u043b\u0438\u0439\u0441\u043a\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f, \u0430 \u043e\u043d\u0430 \u0432\u0435\u0440\u043d\u0435\u0442 \u043d\u0430\u043c \u043e\u0431\u044a\u0435\u043a\u0442 \u0442\u0435\u0440\u043c\u0438\u043d\u0430 \u0442\u0430\u043a\u0441\u043e\u043d\u043e\u043c\u0438\u0438 (\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u0433\u043e \u0442\u0435\u0440\u043c\u0438\u043d\u0430 \u0438\u043b\u0438 \u0442\u043e\u043b\u044c\u043a\u043e \u0447\u0442\u043e \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u043e\u0433\u043e).<\/p>\n\n\n\n

\/\/ $listTerm - \u044d\u0442\u043e \u0442\u0435\u0433\u0438 \u043d\u0430 \u0440\u0443\u0441\u0441\u043a\u043e\u043c\n\/\/ \u0430 $listTermEn - \u043d\u0430 \u0430\u043d\u0433\u043b\u0438\u0439\u0441\u043a\u043e\u043c\nforeach($listTerm as $i => $termName) {\r\n  $term = $this->getTerm($termName, $listTermEn[$i], 'tags');\r\n  $tags[] = ['target_id' => $term->id()];\r\n}\r<\/code><\/pre>\n\n\n\n

\u0418\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e \u0432\u0437\u0433\u043b\u044f\u043d\u0443\u0442\u044c \u043d\u0430 \u0441\u0430\u043c\u0443 \u0444\u0443\u043d\u043a\u0446\u0438\u044e. \u042f \u0435\u0451 \u043e\u0444\u043e\u0440\u043c\u0438\u043b \u0432 \u0432\u0438\u0434\u0435 \u0442\u0440\u0435\u0439\u0442\u0430, \u0447\u0442\u043e\u0431\u044b \u0443\u0434\u043e\u0431\u043d\u0435\u0435 \u0431\u044b\u043b\u043e \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0442\u044c \u0432 \u0440\u0430\u0437\u043d\u044b\u0435 \u043a\u043b\u0430\u0441\u0441\u044b.<\/p>\n\n\n\n

<?php\r\n\r\nnamespace Drupal\\MYMODULE\\Trait;\r\n\r\nuse Drupal\\taxonomy\\Entity\\Term;\r\n\r\ntrait TaxonomyTrait {\r\n  function getTerm(string $termNameRu, string $termNameEn, string $vid): Term {\r\n    \/\/ \u0438\u0449\u0435\u0442 \u0442\u0435\u0440\u043c\u0438\u043d \u0432 \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u043e\u043c \u0441\u043b\u043e\u0432\u0430\u0440\u0435 $vid\n    \/\/ \u043f\u043e \u0440\u0443\u0441\u0441\u043a\u043e\u043c\u0443 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u0443\r\n    $terms = \\Drupal::entityTypeManager()\r\n    ->getStorage('taxonomy_term')\r\n    ->loadByProperties([\r\n      'name' => trim($termNameRu),\r\n      'langcode' => 'ru',\r\n      'vid' => $vid\r\n    ]);\r\n\r\n    if (!sizeof($terms)) {\n      \/\/ \u0435\u0441\u043b\u0438 \u0442\u0435\u0440\u043c\u0438\u043d \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d,\n      \/\/ \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u0435\u0433\u043e\r\n      $term = Term::create([\r\n        'name' => trim($termNameRu),\n        'langcode' => 'ru',\n        'vid' => $vid,\r\n      ]);\r\n      $term->save();\r\n      \/\/ \u0438 \u0434\u043e\u0431\u0430\u0432\u0438\u043c \u043f\u0435\u0440\u0435\u0432\u043e\u0434 \u043d\u0430 \u0430\u043d\u0433\u043b.:\r\n      $term_en = $term->addTranslation('en');\r\n      $term_en->name->value = trim($termNameEn);\r\n      $term_en->save();\r\n\r\n      return $term;\r\n    }\r\r\n    return array_pop($terms);\r\n  }\r\r\n}<\/code><\/pre>\n\n\n\n

\u0422\u0430\u043a \u043c\u044b \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u0442\u0435\u0433\u0438 \u0432 \u0442\u0430\u043a\u0441\u043e\u043d\u043e\u043c\u0438\u0438 \u0441 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0430\u043c\u0438 \u0438 \u043f\u043e\u043b\u0443\u0447\u0438\u043c \u0438\u0445 \u0441\u043f\u0438\u0441\u043e\u043a \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0441\u0443\u0449\u043d\u043e\u0441\u0442\u0438 \u0441\u0442\u0430\u0442\u044c\u0438.<\/p>\n\n\n\n

\/\/ $title_ru, $title_en, $descr_ru, $descr_en \n\/\/ - \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0438 \u0438 \u0442\u0435\u043a\u0441\u0442\u044b \u043d\u0430 \u0434\u0432\u0443\u0445 \u044f\u0437\u044b\u043a\u0430\u0445\n$user = \\Drupal::currentUser();\n$node = \\Drupal\\node\\Entity\\Node::create([\n   'uid' => $user->id(),\n   'type' => 'pic',\n   'status' => 1,\n   'langcode' => 'ru',\n   'title' => $title_ru,\n   'field_body' => [\n     'value' => $descr_ru,\n     'format' => 'full_html',\n   ],\n   'field_tags' => $tags\n]);\n$node->save();\n\n$node_en = $node->addTranslation('en', [\n  'title' => $title_en,\n  'field_body' => [\n    'value' => $descr_en,\n    'format' => 'full_html',\n  ],\n]);\n$node_en->save();<\/code><\/pre>\n\n\n\n

\u0412\u0430\u0436\u043d\u043e, \u0447\u0442\u043e\u0431\u044b \u0432 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430\u0445 \u043a\u0430\u0441\u0442\u043e\u043c\u043d\u044b\u0445 \u043f\u043e\u043b\u0435\u0439, \u0432\u0440\u043e\u0434\u0435 field_body<\/em>, \u0431\u044b\u043b\u043e \u0443\u043a\u0430\u0437\u0430\u043d\u043e, \u0447\u0442\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u043c\u043e\u0436\u0435\u0442 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0438\u0442\u044c \u044d\u0442\u043e \u043f\u043e\u043b\u0435. \u042d\u0442\u043e \u0440\u0430\u0437\u0440\u0435\u0448\u0438\u0442 drupal \u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0438\u0437 \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u043d\u044b\u0445 \u0432 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430\u0445 \u044f\u0437\u044b\u043a\u043e\u0432.<\/p>\n","protected":false},"excerpt":{"rendered":"

\u0414\u043e\u043f\u0443\u0441\u0442\u0438\u043c, \u0432\u044b \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0435 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 — \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a, \u0442\u0435\u043a\u0441\u0442 \u0441\u0442\u0430\u0442\u044c\u0438, \u0438 \u0442\u0435\u0433\u0438. \u041f\u0440\u0438 \u044d\u0442\u043e\u043c \u0434\u0430\u043d\u043d\u044b\u0435 \u043f\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u043d\u0430 \u0434\u0432\u0443\u0445 \u044f\u0437\u044b\u043a\u0430\u0445 — ‘ru’ \u0438 ‘en’. \u0412\u0430\u043c \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0441\u0442\u0430\u0442\u044c\u044e \u0438 \u0435\u0451 \u043f\u0435\u0440\u0435\u0432\u043e\u0434.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[11],"tags":[163],"acf":[],"yoast_head":"\n\u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e\u0435 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0441\u0442\u0430\u0442\u044c\u0438 \u0441 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u043e\u043c \u0432 Drupal<\/title>\n<meta name=\"description\" content=\"\u0414\u043e\u043f\u0443\u0441\u0442\u0438\u043c, \u0432\u044b \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0435 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 - \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a, \u0442\u0435\u043a\u0441\u0442 \u0441\u0442\u0430\u0442\u044c\u0438, \u0438 \u0442\u0435\u0433\u0438. \u041f\u0440\u0438 \u044d\u0442\u043e\u043c \u0434\u0430\u043d\u043d\u044b\u0435 \u043f\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u043d\u0430 \u0434\u0432\u0443\u0445 \u044f\u0437\u044b\u043a\u0430\u0445 - 'ru' \u0438 'en'. \u0412\u0430\u043c \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/shra.ru\/2023\/08\/programmnoe-sozdanie-stati-s-perevodom-v-drupal\/\" \/>\n<meta property=\"og:locale\" content=\"ru_RU\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e\u0435 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0441\u0442\u0430\u0442\u044c\u0438 \u0441 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u043e\u043c \u0432 Drupal\" \/>\n<meta property=\"og:description\" content=\"\u0414\u043e\u043f\u0443\u0441\u0442\u0438\u043c, \u0432\u044b \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0435 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 - \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a, \u0442\u0435\u043a\u0441\u0442 \u0441\u0442\u0430\u0442\u044c\u0438, \u0438 \u0442\u0435\u0433\u0438. \u041f\u0440\u0438 \u044d\u0442\u043e\u043c \u0434\u0430\u043d\u043d\u044b\u0435 \u043f\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u043d\u0430 \u0434\u0432\u0443\u0445 \u044f\u0437\u044b\u043a\u0430\u0445 - 'ru' \u0438 'en'. \u0412\u0430\u043c \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f\" \/>\n<meta property=\"og:url\" content=\"https:\/\/shra.ru\/2023\/08\/programmnoe-sozdanie-stati-s-perevodom-v-drupal\/\" \/>\n<meta property=\"og:site_name\" content=\"Shra's homepage\" \/>\n<meta property=\"article:published_time\" content=\"2023-08-10T14:37:07+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-08-10T14:37:09+00:00\" \/>\n<meta name=\"author\" content=\"admin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u041d\u0430\u043f\u0438\u0441\u0430\u043d\u043e \u0430\u0432\u0442\u043e\u0440\u043e\u043c\" \/>\n\t<meta name=\"twitter:data1\" content=\"admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u041f\u0440\u0438\u043c\u0435\u0440\u043d\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u0434\u043b\u044f \u0447\u0442\u0435\u043d\u0438\u044f\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 \u043c\u0438\u043d\u0443\u0442\u0430\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/shra.ru\/2023\/08\/programmnoe-sozdanie-stati-s-perevodom-v-drupal\/\",\"url\":\"https:\/\/shra.ru\/2023\/08\/programmnoe-sozdanie-stati-s-perevodom-v-drupal\/\",\"name\":\"\u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e\u0435 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0441\u0442\u0430\u0442\u044c\u0438 \u0441 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u043e\u043c \u0432 Drupal\",\"isPartOf\":{\"@id\":\"https:\/\/shra.ru\/#website\"},\"datePublished\":\"2023-08-10T14:37:07+00:00\",\"dateModified\":\"2023-08-10T14:37:09+00:00\",\"author\":{\"@id\":\"https:\/\/shra.ru\/#\/schema\/person\/55c78fbfda205fbab95564dcccc144e8\"},\"description\":\"\u0414\u043e\u043f\u0443\u0441\u0442\u0438\u043c, \u0432\u044b \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0435 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 - \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a, \u0442\u0435\u043a\u0441\u0442 \u0441\u0442\u0430\u0442\u044c\u0438, \u0438 \u0442\u0435\u0433\u0438. \u041f\u0440\u0438 \u044d\u0442\u043e\u043c \u0434\u0430\u043d\u043d\u044b\u0435 \u043f\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u043d\u0430 \u0434\u0432\u0443\u0445 \u044f\u0437\u044b\u043a\u0430\u0445 - 'ru' \u0438 'en'. \u0412\u0430\u043c \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f\",\"breadcrumb\":{\"@id\":\"https:\/\/shra.ru\/2023\/08\/programmnoe-sozdanie-stati-s-perevodom-v-drupal\/#breadcrumb\"},\"inLanguage\":\"ru-RU\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/shra.ru\/2023\/08\/programmnoe-sozdanie-stati-s-perevodom-v-drupal\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/shra.ru\/2023\/08\/programmnoe-sozdanie-stati-s-perevodom-v-drupal\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u0413\u043b\u0430\u0432\u043d\u0430\u044f \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430\",\"item\":\"https:\/\/shra.ru\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e\u0435 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0441\u0442\u0430\u0442\u044c\u0438 \u0441 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u043e\u043c \u0432 Drupal\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/shra.ru\/#website\",\"url\":\"https:\/\/shra.ru\/\",\"name\":\"Shra's homepage\",\"description\":\"\u041f\u0435\u0440\u0441\u043e\u043d\u0430\u043b\u044c\u043d\u0430\u044f \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430 shra, \u0431\u043b\u043e\u0433 \u0444\u0440\u0438\u043b\u0435\u043d\u0441\u0435\u0440\u0430, \u0432\u0435\u0431-\u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430 \u043d\u0430 PHP. \u0417\u0434\u0435\u0441\u044c \u044f \u0434\u0435\u043b\u044e\u0441\u044c \u0441\u0432\u043e\u0438\u043c \u043e\u043f\u044b\u0442\u043e\u043c \u0438 \u043c\u044b\u0441\u043b\u044f\u043c\u0438, \u043f\u0440\u043e\u0432\u043e\u0436\u0443 \u043e\u043f\u044b\u0442\u044b \u043d\u0430\u0434 \u043b\u044e\u0434\u044c\u043c\u0438, \u0441\u043e\u0431\u0438\u0440\u0430\u044e \u043d\u0435\u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u044c\u043d\u044b\u0435 \u0441\u0432\u0438\u0434\u0435\u0442\u0435\u043b\u044c\u0441\u0442\u0432\u0430 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0439 \u0433\u043b\u0443\u043f\u043e\u0441\u0442\u0438. \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u043f\u0440\u0438\u043c\u0435\u0440\u044b \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0430 \u0441 \u0434\u0430\u043d\u043d\u043e\u0433\u043e \u0441\u0430\u0439\u0442\u0430, \u0432\u044b \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442\u0435 \u0432\u0441\u044e \u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0441\u0442\u044c \u0437\u0430 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0435 \u043f\u043e\u0441\u043b\u0435\u0434\u0441\u0442\u0432\u0438\u044f \u0438\u0445 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f, \u0432\u043a\u043b\u044e\u0447\u0430\u044f \u0432\u0430\u0448\u0435 \u043f\u0441\u0438\u0445\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u0437\u0434\u043e\u0440\u043e\u0432\u044c\u0435 \u0438 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u044b \u0442\u0440\u0435\u0442\u044c\u0438\u0445 \u043b\u0438\u0446.\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/shra.ru\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"ru-RU\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/shra.ru\/#\/schema\/person\/55c78fbfda205fbab95564dcccc144e8\",\"name\":\"admin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ru-RU\",\"@id\":\"https:\/\/shra.ru\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/shra.ru\/wp-content\/uploads\/2021\/08\/shra_ava_margo_512-96x96.png\",\"contentUrl\":\"https:\/\/shra.ru\/wp-content\/uploads\/2021\/08\/shra_ava_margo_512-96x96.png\",\"caption\":\"admin\"},\"sameAs\":[\"https:\/\/shra.ru\"],\"url\":\"https:\/\/shra.ru\/author\/admin\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"\u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e\u0435 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0441\u0442\u0430\u0442\u044c\u0438 \u0441 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u043e\u043c \u0432 Drupal","description":"\u0414\u043e\u043f\u0443\u0441\u0442\u0438\u043c, \u0432\u044b \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0435 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 - \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a, \u0442\u0435\u043a\u0441\u0442 \u0441\u0442\u0430\u0442\u044c\u0438, \u0438 \u0442\u0435\u0433\u0438. \u041f\u0440\u0438 \u044d\u0442\u043e\u043c \u0434\u0430\u043d\u043d\u044b\u0435 \u043f\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u043d\u0430 \u0434\u0432\u0443\u0445 \u044f\u0437\u044b\u043a\u0430\u0445 - 'ru' \u0438 'en'. \u0412\u0430\u043c \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/shra.ru\/2023\/08\/programmnoe-sozdanie-stati-s-perevodom-v-drupal\/","og_locale":"ru_RU","og_type":"article","og_title":"\u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e\u0435 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0441\u0442\u0430\u0442\u044c\u0438 \u0441 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u043e\u043c \u0432 Drupal","og_description":"\u0414\u043e\u043f\u0443\u0441\u0442\u0438\u043c, \u0432\u044b \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0435 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 - \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a, \u0442\u0435\u043a\u0441\u0442 \u0441\u0442\u0430\u0442\u044c\u0438, \u0438 \u0442\u0435\u0433\u0438. \u041f\u0440\u0438 \u044d\u0442\u043e\u043c \u0434\u0430\u043d\u043d\u044b\u0435 \u043f\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u043d\u0430 \u0434\u0432\u0443\u0445 \u044f\u0437\u044b\u043a\u0430\u0445 - 'ru' \u0438 'en'. \u0412\u0430\u043c \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f","og_url":"https:\/\/shra.ru\/2023\/08\/programmnoe-sozdanie-stati-s-perevodom-v-drupal\/","og_site_name":"Shra's homepage","article_published_time":"2023-08-10T14:37:07+00:00","article_modified_time":"2023-08-10T14:37:09+00:00","author":"admin","twitter_card":"summary_large_image","twitter_misc":{"\u041d\u0430\u043f\u0438\u0441\u0430\u043d\u043e \u0430\u0432\u0442\u043e\u0440\u043e\u043c":"admin","\u041f\u0440\u0438\u043c\u0435\u0440\u043d\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u0434\u043b\u044f \u0447\u0442\u0435\u043d\u0438\u044f":"1 \u043c\u0438\u043d\u0443\u0442\u0430"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/shra.ru\/2023\/08\/programmnoe-sozdanie-stati-s-perevodom-v-drupal\/","url":"https:\/\/shra.ru\/2023\/08\/programmnoe-sozdanie-stati-s-perevodom-v-drupal\/","name":"\u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e\u0435 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0441\u0442\u0430\u0442\u044c\u0438 \u0441 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u043e\u043c \u0432 Drupal","isPartOf":{"@id":"https:\/\/shra.ru\/#website"},"datePublished":"2023-08-10T14:37:07+00:00","dateModified":"2023-08-10T14:37:09+00:00","author":{"@id":"https:\/\/shra.ru\/#\/schema\/person\/55c78fbfda205fbab95564dcccc144e8"},"description":"\u0414\u043e\u043f\u0443\u0441\u0442\u0438\u043c, \u0432\u044b \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0435 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 - \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a, \u0442\u0435\u043a\u0441\u0442 \u0441\u0442\u0430\u0442\u044c\u0438, \u0438 \u0442\u0435\u0433\u0438. \u041f\u0440\u0438 \u044d\u0442\u043e\u043c \u0434\u0430\u043d\u043d\u044b\u0435 \u043f\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u043d\u0430 \u0434\u0432\u0443\u0445 \u044f\u0437\u044b\u043a\u0430\u0445 - 'ru' \u0438 'en'. \u0412\u0430\u043c \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f","breadcrumb":{"@id":"https:\/\/shra.ru\/2023\/08\/programmnoe-sozdanie-stati-s-perevodom-v-drupal\/#breadcrumb"},"inLanguage":"ru-RU","potentialAction":[{"@type":"ReadAction","target":["https:\/\/shra.ru\/2023\/08\/programmnoe-sozdanie-stati-s-perevodom-v-drupal\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/shra.ru\/2023\/08\/programmnoe-sozdanie-stati-s-perevodom-v-drupal\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u0413\u043b\u0430\u0432\u043d\u0430\u044f \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430","item":"https:\/\/shra.ru\/"},{"@type":"ListItem","position":2,"name":"\u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e\u0435 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0441\u0442\u0430\u0442\u044c\u0438 \u0441 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u043e\u043c \u0432 Drupal"}]},{"@type":"WebSite","@id":"https:\/\/shra.ru\/#website","url":"https:\/\/shra.ru\/","name":"Shra's homepage","description":"\u041f\u0435\u0440\u0441\u043e\u043d\u0430\u043b\u044c\u043d\u0430\u044f \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430 shra, \u0431\u043b\u043e\u0433 \u0444\u0440\u0438\u043b\u0435\u043d\u0441\u0435\u0440\u0430, \u0432\u0435\u0431-\u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430 \u043d\u0430 PHP. \u0417\u0434\u0435\u0441\u044c \u044f \u0434\u0435\u043b\u044e\u0441\u044c \u0441\u0432\u043e\u0438\u043c \u043e\u043f\u044b\u0442\u043e\u043c \u0438 \u043c\u044b\u0441\u043b\u044f\u043c\u0438, \u043f\u0440\u043e\u0432\u043e\u0436\u0443 \u043e\u043f\u044b\u0442\u044b \u043d\u0430\u0434 \u043b\u044e\u0434\u044c\u043c\u0438, \u0441\u043e\u0431\u0438\u0440\u0430\u044e \u043d\u0435\u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u044c\u043d\u044b\u0435 \u0441\u0432\u0438\u0434\u0435\u0442\u0435\u043b\u044c\u0441\u0442\u0432\u0430 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0439 \u0433\u043b\u0443\u043f\u043e\u0441\u0442\u0438. \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u043f\u0440\u0438\u043c\u0435\u0440\u044b \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0430 \u0441 \u0434\u0430\u043d\u043d\u043e\u0433\u043e \u0441\u0430\u0439\u0442\u0430, \u0432\u044b \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442\u0435 \u0432\u0441\u044e \u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0441\u0442\u044c \u0437\u0430 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0435 \u043f\u043e\u0441\u043b\u0435\u0434\u0441\u0442\u0432\u0438\u044f \u0438\u0445 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f, \u0432\u043a\u043b\u044e\u0447\u0430\u044f \u0432\u0430\u0448\u0435 \u043f\u0441\u0438\u0445\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u0437\u0434\u043e\u0440\u043e\u0432\u044c\u0435 \u0438 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u044b \u0442\u0440\u0435\u0442\u044c\u0438\u0445 \u043b\u0438\u0446.","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/shra.ru\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"ru-RU"},{"@type":"Person","@id":"https:\/\/shra.ru\/#\/schema\/person\/55c78fbfda205fbab95564dcccc144e8","name":"admin","image":{"@type":"ImageObject","inLanguage":"ru-RU","@id":"https:\/\/shra.ru\/#\/schema\/person\/image\/","url":"https:\/\/shra.ru\/wp-content\/uploads\/2021\/08\/shra_ava_margo_512-96x96.png","contentUrl":"https:\/\/shra.ru\/wp-content\/uploads\/2021\/08\/shra_ava_margo_512-96x96.png","caption":"admin"},"sameAs":["https:\/\/shra.ru"],"url":"https:\/\/shra.ru\/author\/admin\/"}]}},"_links":{"self":[{"href":"https:\/\/shra.ru\/wp-json\/wp\/v2\/posts\/14104"}],"collection":[{"href":"https:\/\/shra.ru\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/shra.ru\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/shra.ru\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/shra.ru\/wp-json\/wp\/v2\/comments?post=14104"}],"version-history":[{"count":1,"href":"https:\/\/shra.ru\/wp-json\/wp\/v2\/posts\/14104\/revisions"}],"predecessor-version":[{"id":14105,"href":"https:\/\/shra.ru\/wp-json\/wp\/v2\/posts\/14104\/revisions\/14105"}],"wp:attachment":[{"href":"https:\/\/shra.ru\/wp-json\/wp\/v2\/media?parent=14104"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/shra.ru\/wp-json\/wp\/v2\/categories?post=14104"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/shra.ru\/wp-json\/wp\/v2\/tags?post=14104"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}} <!-- Alpha cache content. Generated from cache in 0.014790058135986 s. DB queries count : 2 -->