{"id":668,"date":"2018-08-15T23:58:21","date_gmt":"2018-08-15T14:58:21","guid":{"rendered":"http:\/\/lizefieldwp.azurewebsites.net\/?p=668"},"modified":"2018-08-15T23:58:21","modified_gmt":"2018-08-15T14:58:21","slug":"react-intl","status":"publish","type":"post","link":"https:\/\/lizefieldwp.azurewebsites.net\/index.php\/2018\/08\/15\/react-intl\/","title":{"rendered":"react-intl\u3092\u5229\u7528\u3057\u3066\u591a\u8a00\u8a9e\u5bfe\u5fdc"},"content":{"rendered":"<p><a href=\"https:\/\/github.com\/yahoo\/react-intl\" target=\"_blank\" rel=\"noopener\">react-intl<\/a>\u306e\u4f7f\u3044\u65b9\u304c\u5c11\u3057\u5206\u304b\u308a\u306b\u304f\u304b\u3063\u305f\u306e\u3067\u30e1\u30e2<\/p>\n<p><!--more--><\/p>\n<p><strong>package\u306e\u8ffd\u52a0<\/strong><\/p>\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">\r\nyarn add react-intl\r\n<\/pre>\n<p><strong>\u8a00\u8a9e\u30d5\u30a1\u30a4\u30eb\u306e\u6e96\u5099<\/strong>\uff08ja_JP.js\u306a\u3069\u3067\u4f5c\u6210\uff09<\/p>\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">\r\nconst ja_JP = {\r\n  'hello': '\u3053\u3093\u306b\u3061\u308f'\r\n}\r\nexport default ja_JP\r\n<\/pre>\n<p><strong>import<\/strong><br \/>\naddLocaleData([&#8230;en, &#8230;ja])\u3092\u3057\u3066\u304a\u304f\u3053\u3068\u304c\u5fc5\u8981\u307d\u3044<br \/>\nnode_modules\\react-intl\\locale-data\u306b\u3042\u308b\u3082\u306e\u3092\u8aad\u307f\u8fbc\u3080\u3053\u3068\u304c\u51fa\u6765\u308b\u306e\u304b\u306a<\/p>\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">\r\nimport en_US from '..\/locales\/en_US'\r\nimport ja_JP from '..\/locales\/ja_JP'\r\nimport { IntlProvider, addLocaleData, FormattedMessage } from 'react-intl'\r\nimport en from 'react-intl\/locale-data\/en'\r\nimport ja from 'react-intl\/locale-data\/ja'\r\naddLocaleData([...en, ...ja])\r\n<\/pre>\n<p><strong>\u8a00\u8a9e\u5224\u5b9a<\/strong><\/p>\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">\r\nconst locale = navigator.language.split('_')[0]\r\nconst chooseLocale = (locale) =&gt; {\r\n  switch(locale) {\r\n    case 'en':\r\n      return en_US\r\n    case 'ja':\r\n      return ja_JP\r\n    default:\r\n      return en_US\r\n  }\r\n}\r\n<\/pre>\n<p><strong>IntlProvider<\/strong><br \/>\n\u51fa\u6765\u308b\u3060\u3051\u30c8\u30c3\u30d7\u30ec\u30d9\u30eb\u3067\u56f2\u3063\u3066\u304a\u304f\u3068\u3044\u3044\u3089\u3057\u3044<\/p>\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">\r\nReactDOM.render(\r\n  &lt;IntlProvider locale={locale} messages={chooseLocale(locale)}&gt;\r\n    &lt;PublicIndex \/&gt;\r\n  &lt;\/IntlProvider&gt;,\r\n  document.body.appendChild(document.createElement('div')),\r\n)\r\n<\/pre>\n<p><strong>\u8868\u793a<\/strong><br \/>\nrender\u5185\u306e\u4efb\u610f\u306e\u5834\u6240\u3067\u8a18\u8ff0<\/p>\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">\r\n&lt;FormattedMessage id='hello' \/&gt;\r\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>react-intl\u306e\u4f7f\u3044\u65b9\u304c\u5c11\u3057\u5206\u304b\u308a\u306b\u304f\u304b\u3063\u305f\u306e\u3067\u30e1\u30e2<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[117],"tags":[92,137],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/lizefieldwp.azurewebsites.net\/index.php\/wp-json\/wp\/v2\/posts\/668"}],"collection":[{"href":"https:\/\/lizefieldwp.azurewebsites.net\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/lizefieldwp.azurewebsites.net\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/lizefieldwp.azurewebsites.net\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/lizefieldwp.azurewebsites.net\/index.php\/wp-json\/wp\/v2\/comments?post=668"}],"version-history":[{"count":3,"href":"https:\/\/lizefieldwp.azurewebsites.net\/index.php\/wp-json\/wp\/v2\/posts\/668\/revisions"}],"predecessor-version":[{"id":671,"href":"https:\/\/lizefieldwp.azurewebsites.net\/index.php\/wp-json\/wp\/v2\/posts\/668\/revisions\/671"}],"wp:attachment":[{"href":"https:\/\/lizefieldwp.azurewebsites.net\/index.php\/wp-json\/wp\/v2\/media?parent=668"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/lizefieldwp.azurewebsites.net\/index.php\/wp-json\/wp\/v2\/categories?post=668"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/lizefieldwp.azurewebsites.net\/index.php\/wp-json\/wp\/v2\/tags?post=668"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}