{"id":28,"date":"2023-12-09T05:17:51","date_gmt":"2023-12-09T05:17:51","guid":{"rendered":"https:\/\/mingmingzi.com\/?page_id=28"},"modified":"2023-12-15T23:03:18","modified_gmt":"2023-12-15T23:03:18","slug":"localization-showcase","status":"publish","type":"page","link":"https:\/\/mingmingzi.com\/index.php\/localization-showcase\/","title":{"rendered":"Project Showcase: Localizing &#8216;The House&#8217; Game"},"content":{"rendered":"\n<p class=\"has-ast-global-color-1-color has-text-color has-link-color has-medium-font-size wp-elements-a713bd3c166c0b3d7a61df511c2aba32\">Quests Accomplished<\/p>\n\n\n\n<p>In this project, I focused on localizing a game to make it more accessible to Chinese-speaking players. <strong>My work involved three primary tasks:<\/strong><\/p>\n\n\n\n<p class=\"has-ast-global-color-2-color has-blush-light-purple-gradient-background has-text-color has-background has-link-color wp-elements-dce8e19dbdc02cfbef3206870b3a0217\">1. <strong>Localization of Static Texts: I applied localization methods to static texts within .html and .js files, resolving concatenations. For example, the text concatenation in JavaScript was changed from:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>text: 'The item \"' + item_name + '\" has been used!',<\/code><\/pre>\n\n\n\n<p>to:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>text: (\u201dThe item \u2018\u201d) + item_name + (\u201d ' has been used!'\u201d),<\/code><\/pre>\n\n\n\n<div class=\"wp-block-media-text is-stacked-on-mobile\" style=\"grid-template-columns:28% auto\"><figure class=\"wp-block-media-text__media\"><img loading=\"lazy\" decoding=\"async\" width=\"403\" height=\"1024\" src=\"https:\/\/mingmingzi.com\/wp-content\/uploads\/2023\/12\/duplicated-HTMLs-403x1024.jpg\" alt=\"\" class=\"wp-image-101 size-full\" srcset=\"https:\/\/mingmingzi.com\/wp-content\/uploads\/2023\/12\/duplicated-HTMLs-403x1024.jpg 403w, https:\/\/mingmingzi.com\/wp-content\/uploads\/2023\/12\/duplicated-HTMLs-118x300.jpg 118w, https:\/\/mingmingzi.com\/wp-content\/uploads\/2023\/12\/duplicated-HTMLs.jpg 484w\" sizes=\"auto, (max-width: 403px) 100vw, 403px\" \/><\/figure><div class=\"wp-block-media-text__content\">\n<p class=\"has-ast-global-color-2-color has-blush-light-purple-gradient-background has-text-color has-background has-link-color wp-elements-693af6e098145ea190fcd7aa9e9974a7\">2. <strong>Dynamic Text Localization: For dynamic texts like tooltips that couldn&#8217;t be localized using standard methods, I duplicated .html files and altered the page injection or load method to fetch the Chinese (zh) HTML files directly.<\/strong><\/p>\n\n\n\n<p class=\"has-vivid-purple-color has-text-color has-link-color wp-elements-c5263929d4d722761df852f95525bd5a\"><em>I know, it looks like a disaster&#8230;<\/em><\/p>\n\n\n\n<p><strong>Despite exploring every avenue, the quest for solutions persists. <\/strong><\/p>\n\n\n\n<p><em>I mean, most HTML files look like this:<\/em><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"724\" src=\"https:\/\/mingmingzi.com\/wp-content\/uploads\/2023\/12\/html-1024x724.jpg\" alt=\"\" class=\"wp-image-194\" srcset=\"https:\/\/mingmingzi.com\/wp-content\/uploads\/2023\/12\/html-1024x724.jpg 1024w, https:\/\/mingmingzi.com\/wp-content\/uploads\/2023\/12\/html-300x212.jpg 300w, https:\/\/mingmingzi.com\/wp-content\/uploads\/2023\/12\/html-768x543.jpg 768w, https:\/\/mingmingzi.com\/wp-content\/uploads\/2023\/12\/html-1536x1085.jpg 1536w, https:\/\/mingmingzi.com\/wp-content\/uploads\/2023\/12\/html.jpg 1984w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"has-ast-global-color-0-color has-text-color has-link-color wp-elements-8e7da1fb81b9f3067d77a87f67602578\"><strong>Delve into the latter part of this report to discover potential resolutions.<\/strong><\/p>\n<\/div><\/div>\n\n\n\n<div style=\"height:24px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p class=\"has-ast-global-color-2-color has-blush-light-purple-gradient-background has-text-color has-background has-link-color wp-elements-1028b34a7ee4a6171ec677823af75a48\"><strong>3. Image Localization: I localized certain JPEG and PNG files, changing the English characters within the images to Chinese using Procreate on my iPad.<\/strong><\/p>\n\n\n\n<p class=\"has-ast-global-color-1-color has-text-color has-link-color has-medium-font-size wp-elements-06ef43717fa6d4eade0962ceaea73fdb\"><strong>Challenges Encountered<\/strong><\/p>\n\n\n\n<p class=\"has-blush-light-purple-gradient-background has-background\">1. Dynamic Text Localization: The &#8217;24 ways&#8217; method could not localize dynamic texts due to its limitations in handling real-time content changes. For example:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>        &lt;div id=\"door_kitchen\" data-tooltip=\"Go to the kitchen\"&gt;&lt;\/div&gt;\n        &lt;div id=\"door_toilet\" class=\"opacity\" data-tooltip=\"Go to the toilet\"&gt;&lt;\/div&gt;\n        &lt;div id=\"door_bathroom\" class=\"opacity\" data-tooltip=\"Go to the bathroom\"&gt;&lt;\/div&gt;\n        &lt;div id=\"door_big_room\" class=\"opacity\" data-tooltip=\"Go to the room\"&gt;&lt;\/div&gt;<\/code><\/pre>\n\n\n\n<p class=\"has-blush-light-purple-gradient-background has-background\">2. Page Loading Methods: Determining the correct method for loading pages within various JavaScript files (game-min.js, view-min.js, etc.) was challenging. <\/p>\n\n\n\n<p>I mainly changed the .load and .inject methods in the min .js files.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>inject:function(){room.settings.inject?$(\"#the_game\").load(room.settings.inject+\"<strong>_zh<\/strong>.html?\"+(new Date).getTime(),<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>$('#the_game').load('intro<strong>_zh<\/strong>.html', function() <\/code><\/pre>\n\n\n\n<div class=\"wp-block-media-text has-media-on-the-right is-stacked-on-mobile\"><div class=\"wp-block-media-text__content\">\n<p class=\"has-blush-light-purple-gradient-background has-background\">3. Unlocalizable Texts: Certain texts within the .js files, specifically attributes within the span elements, proved impossible to localize with 24 Ways. For example:<\/p>\n<\/div><figure class=\"wp-block-media-text__media\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"645\" src=\"https:\/\/mingmingzi.com\/wp-content\/uploads\/2023\/12\/unlocalizable-text-1-1024x645.png\" alt=\"\" class=\"wp-image-119 size-full\" srcset=\"https:\/\/mingmingzi.com\/wp-content\/uploads\/2023\/12\/unlocalizable-text-1-1024x645.png 1024w, https:\/\/mingmingzi.com\/wp-content\/uploads\/2023\/12\/unlocalizable-text-1-300x189.png 300w, https:\/\/mingmingzi.com\/wp-content\/uploads\/2023\/12\/unlocalizable-text-1-768x484.png 768w, https:\/\/mingmingzi.com\/wp-content\/uploads\/2023\/12\/unlocalizable-text-1-1536x967.png 1536w, https:\/\/mingmingzi.com\/wp-content\/uploads\/2023\/12\/unlocalizable-text-1.png 1550w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure><\/div>\n\n\n\n<p class=\"has-ast-global-color-1-color has-text-color has-link-color has-medium-font-size wp-elements-a91cd3481425889963c592c819f6d641\"><strong>Localization Log<\/strong><\/p>\n\n\n\n<p>First following the normal procedures of implementing 24 Ways, I first pasted the 24 Ways.js and schedule.js, created .jason files, and wrapped strings in _() which the system recognized. <\/p>\n\n\n\n<p>Testing and Implementation: I tested the localization in Firefox to ensure the zh-CN locales worked correctly. That was when I discovered my arch enemy&#8212;the tooltips.<\/p>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;69da1f1ab39a4&quot;}\" data-wp-interactive=\"core\/image\" class=\"wp-block-image aligncenter size-full is-resized wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"988\" height=\"830\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-on-async--load=\"callbacks.setButtonStyles\" data-wp-on-async-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/mingmingzi.com\/wp-content\/uploads\/2023\/12\/tooltip-my-enemy.jpg\" alt=\"\" class=\"wp-image-122\" style=\"width:509px;height:auto\" srcset=\"https:\/\/mingmingzi.com\/wp-content\/uploads\/2023\/12\/tooltip-my-enemy.jpg 988w, https:\/\/mingmingzi.com\/wp-content\/uploads\/2023\/12\/tooltip-my-enemy-300x252.jpg 300w, https:\/\/mingmingzi.com\/wp-content\/uploads\/2023\/12\/tooltip-my-enemy-768x645.jpg 768w\" sizes=\"auto, (max-width: 988px) 100vw, 988px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\taria-label=\"Enlarge\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on-async--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.imageButtonRight\"\n\t\t\tdata-wp-style--top=\"state.imageButtonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<div class=\"wp-block-media-text has-media-on-the-right is-stacked-on-mobile\"><div class=\"wp-block-media-text__content\">\n<p>I dug through the .js files, the minified .js files, and the minified-minified .js files and tried to find a solution. I tried to ask chatGPT to write me a new localization function within the 24 Ways to recognize and extract tooltips and the id attribute within the div elements. But the functions it wrote me failed and I had no clue why. This is proof that overreliance on a program rather than my brain can be counterproductive.<\/p>\n<\/div><figure class=\"wp-block-media-text__media\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"1024\" src=\"https:\/\/mingmingzi.com\/wp-content\/uploads\/2023\/12\/gpt-1-1024x1024.jpg\" alt=\"\" class=\"wp-image-140 size-full\" srcset=\"https:\/\/mingmingzi.com\/wp-content\/uploads\/2023\/12\/gpt-1-1024x1024.jpg 1024w, https:\/\/mingmingzi.com\/wp-content\/uploads\/2023\/12\/gpt-1-300x300.jpg 300w, https:\/\/mingmingzi.com\/wp-content\/uploads\/2023\/12\/gpt-1-150x150.jpg 150w, https:\/\/mingmingzi.com\/wp-content\/uploads\/2023\/12\/gpt-1-768x768.jpg 768w, https:\/\/mingmingzi.com\/wp-content\/uploads\/2023\/12\/gpt-1.jpg 1280w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure><\/div>\n\n\n\n<div style=\"height:17px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>For the <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-ast-global-color-0-color\"><strong>unlocalizable texts (four lines in total)<\/strong> <\/mark>with 24 Ways, I regretfully changed the text in the original code directly&#8230;At this point, I was rewriting the program rather than localizing it. So I felt a bit sad. <\/p>\n\n\n\n<figure class=\"wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex\">\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"642\" height=\"1024\" data-id=\"147\" src=\"https:\/\/mingmingzi.com\/wp-content\/uploads\/2023\/12\/before-computer-642x1024.jpg\" alt=\"\" class=\"wp-image-147\" srcset=\"https:\/\/mingmingzi.com\/wp-content\/uploads\/2023\/12\/before-computer-642x1024.jpg 642w, https:\/\/mingmingzi.com\/wp-content\/uploads\/2023\/12\/before-computer-188x300.jpg 188w, https:\/\/mingmingzi.com\/wp-content\/uploads\/2023\/12\/before-computer-768x1225.jpg 768w, https:\/\/mingmingzi.com\/wp-content\/uploads\/2023\/12\/before-computer-963x1536.jpg 963w, https:\/\/mingmingzi.com\/wp-content\/uploads\/2023\/12\/before-computer.jpg 1280w\" sizes=\"auto, (max-width: 642px) 100vw, 642px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"674\" height=\"1024\" data-id=\"148\" src=\"https:\/\/mingmingzi.com\/wp-content\/uploads\/2023\/12\/after-computer-674x1024.jpg\" alt=\"\" class=\"wp-image-148\" srcset=\"https:\/\/mingmingzi.com\/wp-content\/uploads\/2023\/12\/after-computer-674x1024.jpg 674w, https:\/\/mingmingzi.com\/wp-content\/uploads\/2023\/12\/after-computer-197x300.jpg 197w, https:\/\/mingmingzi.com\/wp-content\/uploads\/2023\/12\/after-computer-768x1167.jpg 768w, https:\/\/mingmingzi.com\/wp-content\/uploads\/2023\/12\/after-computer-1011x1536.jpg 1011w, https:\/\/mingmingzi.com\/wp-content\/uploads\/2023\/12\/after-computer.jpg 1216w\" sizes=\"auto, (max-width: 674px) 100vw, 674px\" \/><\/figure>\n<\/figure>\n\n\n\n<p>Finally, I got my hands dirty by butchering the images with embedded texts, without giving a single thought to suitable fonts.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"919\" height=\"1024\" src=\"https:\/\/mingmingzi.com\/wp-content\/uploads\/2023\/12\/localize-images-919x1024.jpg\" alt=\"\" class=\"wp-image-137\" style=\"width:781px;height:auto\" srcset=\"https:\/\/mingmingzi.com\/wp-content\/uploads\/2023\/12\/localize-images-919x1024.jpg 919w, https:\/\/mingmingzi.com\/wp-content\/uploads\/2023\/12\/localize-images-269x300.jpg 269w, https:\/\/mingmingzi.com\/wp-content\/uploads\/2023\/12\/localize-images-768x856.jpg 768w, https:\/\/mingmingzi.com\/wp-content\/uploads\/2023\/12\/localize-images.jpg 1200w\" sizes=\"auto, (max-width: 919px) 100vw, 919px\" \/><\/figure>\n\n\n\n<p>I then changed the path to image assets. For example:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>background: rgba(0, 0, 0, 0.8) url(..\/images\/menu.png) no-repeat;<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>background: rgba(0, 0, 0, 0.8) url(..\/images\/menu<strong>_zh-CN<\/strong>.png) no-repeat;<\/code><\/pre>\n\n\n\n<p class=\"has-ast-global-color-1-color has-text-color has-link-color has-medium-font-size wp-elements-d48d7ab12f8e00d0cc54a4c437de4469\"><strong>Potential Solution <\/strong><\/p>\n\n\n\n<p>While searching online, I came across <a href=\"https:\/\/stackoverflow.com\/questions\/38353122\/button-tooltip-not-getting-localized\" data-type=\"link\" data-id=\"https:\/\/stackoverflow.com\/questions\/38353122\/button-tooltip-not-getting-localized\">this post.<\/a><\/p>\n\n\n\n<p>Maybe <strong><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-ast-global-color-1-color\">dynamically change the data-tooltip attribute of the HTML elements using JavaScript.<\/mark><\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;script>\n        function setTooltipText(elementId, newText) {\n            var element = document.getElementById(elementId);\n            if (element) {\n                element.setAttribute('data-tooltip', newText);\n            }\n        }\n\n        \/\/ Change tooltips when the page loads\n        window.onload = function() {\n            setTooltipText('curtain_use', 'Localized text for the washing curtain');\n            setTooltipText('door_corridor', 'Localized text for going to the corridor');\n        };\n    &lt;\/script>\n&lt;\/head>\n&lt;body>\n    &lt;div id=\"curtain_use\" data-tooltip=\"The washing curtain\">&lt;\/div>\n    &lt;div id=\"door_corridor\" data-tooltip=\"Go to the corridor\">&lt;\/div>\n&lt;\/body>\n&lt;\/html><\/code><\/pre>\n\n\n\n<p class=\"has-ast-global-color-1-color has-text-color has-link-color has-medium-font-size wp-elements-816d3df0440059217eea28ab51fca002\"><strong>Why Localize? <\/strong><\/p>\n\n\n\n<p><strong><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-ast-global-color-1-color\">After spending 10 hours on this project, my thoughts naturally wandered to my motivation. <\/mark><\/strong>Is it worth the time?<\/p>\n\n\n\n<p>I would say yes because it is fun and interesting. Also, I can let families and friends play the simple game I have localized after a semester&#8217;s study.<\/p>\n\n\n\n<p class=\"has-ast-global-color-1-color has-text-color has-link-color has-medium-font-size wp-elements-991d70cfe35ba4c3edb3090f4929ccc4\"><strong>Conclusion<\/strong><\/p>\n\n\n\n<p>In conclusion, while I faced several challenges during this localization project, including limitations with dynamic texts and specific JavaScript challenges, the project was ultimately successful. The game is now more accessible to Chinese-speaking players, aligning with my goal of sharing its unique style (with a broader audience.<\/p>\n\n\n\n<p class=\"has-ast-global-color-1-color has-text-color has-link-color has-medium-font-size wp-elements-ea9abcd25e22f0ce0962261ae4de13d5\"><strong>A Walkthrough Video<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-4-3 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<div class=\"ast-oembed-container \" style=\"height: 100%;\"><iframe loading=\"lazy\" title=\"The house game localized to zh-CN walkthrough\" width=\"500\" height=\"375\" src=\"https:\/\/www.youtube.com\/embed\/kq6Q_PqOA0o?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe><\/div>\n<\/div><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>Quests Accomplished In this project, I focused on localizing a game to make it more accessible to Chinese-speaking players. My work involved three primary tasks: 1. Localization of Static Texts: I applied localization methods to static texts within .html and .js files, resolving concatenations. For example, the text concatenation in JavaScript was changed from: to: &hellip;<\/p>\n<p class=\"read-more\"> <a class=\"\" href=\"https:\/\/mingmingzi.com\/index.php\/localization-showcase\/\"> <span class=\"screen-reader-text\">Project Showcase: Localizing &#8216;The House&#8217; Game<\/span> Read More &raquo;<\/a><\/p>\n","protected":false},"author":1,"featured_media":98,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-gradient":""}},"footnotes":""},"class_list":["post-28","page","type-page","status-publish","has-post-thumbnail","hentry"],"_links":{"self":[{"href":"https:\/\/mingmingzi.com\/index.php\/wp-json\/wp\/v2\/pages\/28","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mingmingzi.com\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/mingmingzi.com\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/mingmingzi.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mingmingzi.com\/index.php\/wp-json\/wp\/v2\/comments?post=28"}],"version-history":[{"count":30,"href":"https:\/\/mingmingzi.com\/index.php\/wp-json\/wp\/v2\/pages\/28\/revisions"}],"predecessor-version":[{"id":195,"href":"https:\/\/mingmingzi.com\/index.php\/wp-json\/wp\/v2\/pages\/28\/revisions\/195"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/mingmingzi.com\/index.php\/wp-json\/wp\/v2\/media\/98"}],"wp:attachment":[{"href":"https:\/\/mingmingzi.com\/index.php\/wp-json\/wp\/v2\/media?parent=28"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}