{"id":222,"date":"2013-08-15T16:19:04","date_gmt":"2013-08-15T14:19:04","guid":{"rendered":"http:\/\/www.makes-it-work.de\/?p=222"},"modified":"2014-09-25T10:42:52","modified_gmt":"2014-09-25T08:42:52","slug":"cakephp-fehlende-strings-bei-i18n-extract-uebersetzung","status":"publish","type":"post","link":"https:\/\/www.makes-it-work.de\/en\/2013\/08\/15\/cakephp-fehlende-strings-bei-i18n-extract-uebersetzung\/","title":{"rendered":"CakePHP: Fehlende Strings bei i18n extract (\u00dcbersetzung)"},"content":{"rendered":"<p><strong>CakePHP<\/strong> bietet die M\u00f6glichkeit Anwendungen mit \u00fcberschaubarem Aufwand zu <strong>\u00fcbersetzen<\/strong>, indem man sich <strong>.pot-Dateien<\/strong> generieren l\u00e4sst. Diese lassen sich dann mit Standardwerkzeugen wie <strong>PoEdit<\/strong> verwenden, um die .po-Dateien mit den jeweiligen \u00dcbersetzungen zu erzeugen.<\/p>\n<p>Um alle verwendeten Zeichenketten innerhalb eines Projektes in die entsprechenden .pot-Dateien zu bringen, bietet CakePHP eine eigene Shell an, die sich wie folgt aus dem <em>app<\/em>-Verzeichnis heraus aufrufen l\u00e4sst:<\/p>\n<p><!--more--><\/p>\n<pre lang=\"bash\" line=\"1\" escaped=\"true\">.\/Console\/cake i18n extract<\/pre>\n<p>Dieser Aufruf erfasst leider gelegentlich <strong>nicht alle Strings<\/strong>, die man innerhalb der \u00dcbersetzungsfunktion __() benutzt hat.<\/p>\n<p>Eine Ursache hierf\u00fcr kann die Art sein, wie die PHP-Codest\u00fccke in den <strong>Views<\/strong> eingebunden sind. Es ist hier <strong>nicht m\u00f6glich <\/strong>die<strong> Kurzform<\/strong> &lt;? ?&gt; zu verwenden, sondern f\u00fcr diejenigen Abschnitte, die \u00fcbersetzungspflichtige Texte enthalten, muss die <strong>ausf\u00fchrliche Form<\/strong> (&lt;?php ?&gt;) der <strong>PHP-Tags<\/strong> gew\u00e4hlt werden. Diese Einschr\u00e4nkung gilt auch, wenn die kurzen Tags bei der Codeausf\u00fchrung (auch \u00fcber CakePHP) problemlos verarbeitet werden.<\/p>\n<p>Die L\u00f6sung ist also, den Code wie folgt anzupassen. Aus:<\/p>\n<pre lang=\"bash\" line=\"1\" escaped=\"true\">&lt;? echo __('\u00dcberschrift'); ?&gt;<\/pre>\n<p>wird:<\/p>\n<pre lang=\"bash\" line=\"1\" escaped=\"true\">&lt;?php echo __('\u00dcberschrift'); ?&gt;<\/pre>\n<p>Abschnitte, die keine \u00dcbersetzung ben\u00f6tigen, k\u00f6nnen nach wie vor mit der PHP-Kurzform definiert werden, wenn PHP grunds\u00e4tzlich entsprechend konfiguriert ist.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>CakePHP bietet die M\u00f6glichkeit Anwendungen mit \u00fcberschaubarem Aufwand zu \u00fcbersetzen, indem man sich .pot-Dateien generieren l\u00e4sst. Diese lassen sich dann mit Standardwerkzeugen wie PoEdit verwenden, um die .po-Dateien mit den jeweiligen \u00dcbersetzungen zu erzeugen. Um alle verwendeten Zeichenketten innerhalb eines Projektes in die entsprechenden .pot-Dateien zu bringen, bietet CakePHP eine eigene Shell an, die sich&hellip;&nbsp;<a href=\"https:\/\/www.makes-it-work.de\/en\/2013\/08\/15\/cakephp-fehlende-strings-bei-i18n-extract-uebersetzung\/\" class=\"\" rel=\"bookmark\">Read More &raquo;<span class=\"screen-reader-text\">CakePHP: Fehlende Strings bei i18n extract (\u00dcbersetzung)<\/span><\/a><\/p>\n","protected":false},"author":8,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_mi_skip_tracking":false,"neve_meta_sidebar":"","neve_meta_container":"","neve_meta_enable_content_width":"","neve_meta_content_width":0,"neve_meta_title_alignment":"","neve_meta_author_avatar":"","neve_post_elements_order":"","neve_meta_disable_header":"","neve_meta_disable_footer":"","neve_meta_disable_title":"","_ti_tpc_template_sync":false,"_ti_tpc_template_id":"","_links_to":"","_links_to_target":""},"categories":[95,94],"tags":[23,54],"translation":{"provider":"WPGlobus","version":"2.12.0","language":"en","enabled_languages":["de","en"],"languages":{"de":{"title":true,"content":true,"excerpt":false},"en":{"title":false,"content":false,"excerpt":false}}},"jetpack_featured_media_url":"","yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v14.4.1 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>CakePHP: Fehlende Strings bei i18n extract (\u00dcbersetzung) - Makes IT work - der Blog von OMG.de<\/title>\n<meta name=\"robots\" content=\"index, follow\" \/>\n<meta name=\"googlebot\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<meta name=\"bingbot\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.makes-it-work.de\/2013\/08\/15\/cakephp-fehlende-strings-bei-i18n-extract-uebersetzung\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"CakePHP: Fehlende Strings bei i18n extract (\u00dcbersetzung) - Makes IT work - der Blog von OMG.de\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.makes-it-work.de\/2013\/08\/15\/cakephp-fehlende-strings-bei-i18n-extract-uebersetzung\/\" \/>\n<meta property=\"og:site_name\" content=\"Makes IT work - der Blog von OMG.de\" \/>\n<meta property=\"article:published_time\" content=\"2013-08-15T14:19:04+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2014-09-25T08:42:52+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@omgde\" \/>\n<meta name=\"twitter:site\" content=\"@omgde\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.makes-it-work.de\/en\/#organization\",\"name\":\"OMG.de\",\"url\":\"https:\/\/www.makes-it-work.de\/en\/\",\"sameAs\":[\"https:\/\/twitter.com\/omgde\"],\"logo\":{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/www.makes-it-work.de\/en\/#logo\",\"inLanguage\":\"en-US\",\"url\":\"https:\/\/www.makes-it-work.de\/wp-content\/uploads\/2021\/11\/Logo_OMG_PNG-Kopie.png\",\"width\":358,\"height\":356,\"caption\":\"OMG.de\"},\"image\":{\"@id\":\"https:\/\/www.makes-it-work.de\/en\/#logo\"}},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.makes-it-work.de\/en\/#website\",\"url\":\"https:\/\/www.makes-it-work.de\/en\/\",\"name\":\"Makes IT work - der Blog von OMG.de\",\"description\":\"Themen und News rundum IT und Technik. Von den Spezialisten der OMG.de GmbH.\",\"publisher\":{\"@id\":\"https:\/\/www.makes-it-work.de\/en\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":\"https:\/\/www.makes-it-work.de\/en\/?s={search_term_string}\",\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.makes-it-work.de\/2013\/08\/15\/cakephp-fehlende-strings-bei-i18n-extract-uebersetzung\/#webpage\",\"url\":\"https:\/\/www.makes-it-work.de\/2013\/08\/15\/cakephp-fehlende-strings-bei-i18n-extract-uebersetzung\/\",\"name\":\"CakePHP: Fehlende Strings bei i18n extract (\\u00dcbersetzung) - Makes IT work - der Blog von OMG.de\",\"isPartOf\":{\"@id\":\"https:\/\/www.makes-it-work.de\/en\/#website\"},\"datePublished\":\"2013-08-15T14:19:04+00:00\",\"dateModified\":\"2014-09-25T08:42:52+00:00\",\"description\":\"Wenn die i18n-Shell von CakePHP fehlende Strings in den POT-Files aufweist, kann die Art der verwendenten PHP-Tags daran schuld sein, denn bei Verwendung\\u2026\",\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.makes-it-work.de\/2013\/08\/15\/cakephp-fehlende-strings-bei-i18n-extract-uebersetzung\/\"]}]},{\"@type\":\"Article\",\"@id\":\"https:\/\/www.makes-it-work.de\/2013\/08\/15\/cakephp-fehlende-strings-bei-i18n-extract-uebersetzung\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.makes-it-work.de\/2013\/08\/15\/cakephp-fehlende-strings-bei-i18n-extract-uebersetzung\/#webpage\"},\"author\":{\"@id\":\"https:\/\/www.makes-it-work.de\/en\/#\/schema\/person\/59eb3f78485d68bbbf79e3928a1586ca\"},\"headline\":\"CakePHP: Fehlende Strings bei i18n extract (\\u00dcbersetzung)\",\"datePublished\":\"2013-08-15T14:19:04+00:00\",\"dateModified\":\"2014-09-25T08:42:52+00:00\",\"commentCount\":0,\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.makes-it-work.de\/2013\/08\/15\/cakephp-fehlende-strings-bei-i18n-extract-uebersetzung\/#webpage\"},\"publisher\":{\"@id\":\"https:\/\/www.makes-it-work.de\/en\/#organization\"},\"keywords\":\"CakePHP,i18n\",\"articleSection\":\"Blog,Code\",\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.makes-it-work.de\/2013\/08\/15\/cakephp-fehlende-strings-bei-i18n-extract-uebersetzung\/#respond\"]}]},{\"@type\":[\"Person\"],\"@id\":\"https:\/\/www.makes-it-work.de\/en\/#\/schema\/person\/59eb3f78485d68bbbf79e3928a1586ca\",\"name\":\"Johannes Mitlmeier\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/www.makes-it-work.de\/en\/#personlogo\",\"inLanguage\":\"en-US\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/af5e7a1248b437d35c3569c860cb7269?s=96&d=mm&r=g\",\"caption\":\"Johannes Mitlmeier\"},\"description\":\"Als Webentwickler ist es meine Aufgabe die verf\\u00fcgbaren Techniken so zu verbinden, dass dabei gut bedienbare Produkte entstehen, die die Aufgabe l\\u00f6sen, die der Kunde an uns herangetragen hat.\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","_links":{"self":[{"href":"https:\/\/www.makes-it-work.de\/en\/wp-json\/wp\/v2\/posts\/222"}],"collection":[{"href":"https:\/\/www.makes-it-work.de\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.makes-it-work.de\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.makes-it-work.de\/en\/wp-json\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/www.makes-it-work.de\/en\/wp-json\/wp\/v2\/comments?post=222"}],"version-history":[{"count":10,"href":"https:\/\/www.makes-it-work.de\/en\/wp-json\/wp\/v2\/posts\/222\/revisions"}],"predecessor-version":[{"id":352,"href":"https:\/\/www.makes-it-work.de\/en\/wp-json\/wp\/v2\/posts\/222\/revisions\/352"}],"wp:attachment":[{"href":"https:\/\/www.makes-it-work.de\/en\/wp-json\/wp\/v2\/media?parent=222"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.makes-it-work.de\/en\/wp-json\/wp\/v2\/categories?post=222"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.makes-it-work.de\/en\/wp-json\/wp\/v2\/tags?post=222"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}