1/** 2 * kixking Profile â Internationalization (i18n) Engine 3 * Zero Dependencies, Fast, Scalable Dictionary Architecture 4 */ 5 6(function (root, factory) { 7 if (typeof define === 'function' && define.amd) { 8 define([], factory); 9 } else if (typeof module === 'object' && module.exports) { 10 module.exports = factory(); 11 } else { 12 root.I18N = factory(); 13 } 14})(typeof self !== 'undefined' ? self : this, function () { 15 'use strict'; 16 17 const STORAGE_KEY = 'kixking_profile_lang'; 18 19 const translations = { 20 ja: { 21 // Common / Head 22 page_title: 'kixking (@kixking) â ä¸çãã¿ã¬ããã°ã©ã | Profile & Portfolio', 23 page_description: 'ä¸çãã¿ã¬ããã°ã©ã kixkingï¼@kixkingï¼ã®å ¬å¼ãããã£ã¼ã«ï¼ãã¼ããã©ãªãªãããAndroid/iOSã¢ããªéçºãWindowsãã¹ã¯ããã(C#/WPF)ãWebéçºãå人éçºä½åãæ²è¼ã', 24 location_time_prefix: 'Tokyo â¢', 25 role_title: 'Developer & Creator', 26 profile_subname: 'ä¸çãã¿ã¬ããã°ã©ã', 27 28 // Hero 29 hero_bio: 'ä¸çãã¿ã¬ããã°ã©ãã»kixking (@kixking) ã®ãã¼ããã©ãªãªï¼ãªã³ã¯ãããAndroid / iOS ãã¤ãã£ãã¢ããªãWindows ãã¹ã¯ããã (C#/WPF)ãWeb ããã³ãã¨ã³ã / ããã¯ã¨ã³ã (Laravel, Next.js)ãããã³LINEã¹ã¿ã³ãå¶ä½ãè¡ã£ã¦ãã¾ããAIã³ã¼ãã£ã³ã°ãã¼ã«ãæ´»ç¨ããéçºã¨ãå å®ãªã¢ã¼ããã¯ãã£è¨è¨ã»éç¨ãéè¦ãã¦ãã¾ãã', 30 action_contact_x: 'X / DMã§é£çµ¡', 31 action_share_url: 'URLãå ±æ', 32 badge_copied_handle: '@kixking ãã³ãã¼ãã¾ãã', 33 toast_share_copied: 'URLãã³ãã¼ãã¾ãã', 34 toast_lang_changed: 'è¨èªããæ¥æ¬èªãã«å¤æ´ãã¾ãã', 35 toast_theme_changed: 'ãã¼ãã夿´ãã¾ãã', 36 37 // Section Titles 38 sec_links_title: 'LINKS & PROFILES', 39 sec_apps_title: 'GOOGLE PLAY APPS', 40 sec_apps_subtitle: 'Google Play å ¬éä¸ã®èªä½ã¢ããªï¼å ¨6ä½åï¼', 41 sec_tools_title: 'WEB TOOLS & EXPERIMENTS', 42 sec_tools_subtitle: 'ãã©ã¦ã¶å®çµã®èªä½Webãã¼ã« & ã¦ã¼ãã£ãªãã£', 43 sec_stack_title: 'TECH STACK', 44 sec_stack_subtitle: 'ä¿ææè¡ã¹ã¿ã㯠& éçºé å', 45 46 // Tools Card 47 link_sudoku_title: 'Sudoku 9Ã9 Generator & Solver', 48 link_sudoku_desc: 'åä¸è§£ãæ°å¦çã«ä¿è¨¼ãã9Ã9æ°ç¬ï¼ãã³ãã¬ï¼ã®èªåçæï¼ã½ã«ãã¼ãã¼ã«ï¼ã¡ã¢ã»å°å·å¯¾å¿ï¼', 49 link_queens_title: 'Queens & Star Battle Generator', 50 link_queens_desc: 'åä¸è§£ãæ°å¦çã«ä¿è¨¼ããã¯ã¤ã¼ã³ãºï¼ã¹ã¿ã¼ããã«ï¼èªåçæãã¼ã«ï¼ãã¤ãªã¼ã»Xã·ã§ã¢å¯¾å¿ï¼', 51 52 // Links 53 link_github_title: 'GitHub', 54 link_github_desc: 'ã½ã¼ã¹ã³ã¼ããå人ããã¸ã§ã¯ããéçºãªãã¸ããª', 55 link_blog_title: 'Blog', 56 link_blog_desc: 'å人ããã°ãæè¡è¨äºãæ¥ã ã®è¨é²', 57 link_line_title: 'LINE Stickers', 58 link_line_desc: 'èªä½LINEã¹ã¿ã³ãã®è²©å£²ãã¼ã¸ä¸è¦§', 59 link_x_title: 'X', 60 link_x_desc: 'æ¥ã ã®éçºã¡ã¢ãæ°ã«ãªã£ããã¨ã®è¨é²', 61 link_qiita_title: 'Qiita', 62 link_qiita_desc: 'æè¡ç¥è¦ããã©ãã«ã·ã¥ã¼ãã£ã³ã°ãåå¿é²', 63 link_note_title: 'Note', 64 link_note_desc: 'éçºã«ã¾ã¤ããã¨ãã»ã¤ãæèã®ãã°', 65 66 // Google Play Apps (Summary & Detail) 67 app_developer_badge: 'Developer Page', 68 app_btn_detail: '詳細ãè¦ã', 69 app_btn_store: 'Google Play', 70 app_btn_view_page: 'å°ç¨ãã¼ã¸', 71 apps_page_nav_back: 'â ãããã£ã¼ã«ã¸æ»ã', 72 app_page_back_apps: 'â Apps ä¸è¦§', 73 apps_page_title: 'Published Apps â ä¸çãã¿ã¬ããã°ã©ã kixking', 74 apps_page_heading: 'Google Play Apps', 75 apps_page_sub: 'ä¸çãã¿ã¬ããã°ã©ã kixking (@kixking) ã Google Play ã«ã¦å ¬éä¸ã®èªä½Androidã¢ããªå ¨6ä½åãæ¥å¸¸ã®ã¡ãã£ã¨ããä¸ä¾¿ãè§£æ
75¶ãããã¼ã«ãã触æã楽ãããã¤ã¾ã§ãç¡é§ã®ãªãè¨è¨ã¨æè§¦ãæã大åã«éçºãã¦ãã¾ãã', 76 app_sec_overview: 'ã¢ããªæ¦è¦ & éçºèæ¯', 77 app_section_features: 'ä¸»ãªæ©è½ & ç¹å¾´', 78 app_section_tech: 'æè¡ä»æ§ & ã¢ã¼ããã¯ãã£', 79 app_view_on_play: 'Google Play ã§è¦ã', 80 other_apps_title: 'Other Applications', 81 82 // 1. PairLauncher 83 app_pairlauncher_name: 'PairLauncher - Split Screen', 84 app_pairlauncher_cat: 'Launcher / Split Screen', 85 app_pairlauncher_desc: 'ç»é¢åå²ï¼Split Screenï¼ã§2ã¤ã®ã¢ããªãåæèµ·åãããã«ãã¿ã¹ã¯ã©ã³ãã£ã¼', 86 app_pairlauncher_detail: 'YouTubeãè¦ãªããã¡ã¢ãåããSNSãè¦ãªãããã©ã¦ã¸ã³ã°ãããªã©ããã使ã2ã¤ã®ã¢ããªã®ãã¢ãã¯ã³ã¿ããã§ç»é¢åå²èµ·åã§ããã·ã§ã¼ãã«ããã©ã³ãã£ã¼ã§ãã', 87 app_pairlauncher_f1: 'é »ç¹ã«ä½¿ã2ã¢ããªã®çµã¿åããããã¼ã ç»é¢ã«ã·ã§ã¼ãã«ããä¿å', 88 app_pairlauncher_f2: 'Android Multi-Window API ãæ´»ç¨ãããã¤ãã£ãé«éèµ·å', 89 app_pairlauncher_f3: 'ä¸è¦ãªæ¨©éã»ãã©ããã³ã°ãä¸åè¦æ±ããªãå®å ¨ã¹ã¿ã³ãã¢ãã³è¨è¨', 90 app_pairlauncher_tech: 'Kotlin ⢠Jetpack Compose ⢠Android Multi-Window Framework', 91 92 // 2. Jiggly Pudding 93 app_pudding_name: 'Jiggly Pudding', 94 app_pudding_cat: 'Physics / Casual Toy', 95 app_pudding_desc: 'ç©çæ¼ç®ã§ã·ãã·ãæºããããªã³ã®è§¦æã楽ããã«ã¸ã¥ã¢ã«ãã¤', 96 app_pudding_detail: 'ç»é¢ä¸ã®ããªã³ãçªãããå¼¾ããããã¹ãããå¾ããããã¦ãç©çæ¼ç®ã«ãããªã¢ã«ãªãã·ãã·ãæãã¨å¿å°ããæ¯åï¼Hapticsï¼ã楽ãããªã©ã¯ã¼ã¼ã·ã§ã³ã»ãã¤ã¢ããªã§ãã', 97 app_pudding_f1: 'å¼¾æ§ã¨æ¸è¡°ãè¨ç®ããã«ã¹ã¿ã 2Dã¹ããªã³ã°ç©çã·ãã¥ã¬ã¼ã·ã§ã³', 98 app_pudding_f2: 'æã®ãã©ãã°é度ã»å é度ã«é£åãããã¤ãããã¯ãªå¤å½¢ã¢ãã¡ã¼ã·ã§ã³', 99 app_pudding_f3: 'æå ã«ããªã³ã®å¼¾åãä¼ããç´°ãããªãããã£ãã¯ãã£ã¼ãããã¯', 100 app_pudding_tech: 'Kotlin ⢠Custom 2D Physics Simulation ⢠Haptic Vibration API', 101 102 // 3. LifeTicker 103 app_lifeticker_name: 'LifeTicker', 104 app_lifeticker_cat: 'Utility / Life Clock', 105 app_lifeticker_desc: 'æéã»çµéæ¥æ°ãã«ã¦ã³ãã人çã®æéãå¯è¦åãããã£ãã«ã¼ãã¼ã«', 106 app_lifeticker_detail: 'çã¾ãã¦ããã®çµéæ¥æ°ããæ³å®å¯¿å½ã«å¯¾ãã人çã®æ®ãæéããã¼ã»ã³ãã¼ã¸ã§å¯è¦åãæéã®æéæ§ãéãã«æèãã仿¥ä¸æ¥ã大åã«éããããã®ãããã«ãã¼ã«ã§ãã', 107 app_lifeticker_f1: 'çå¹´ææ¥ããçµéæ¥æ°ã»äººçã®æ®ãæéã»ä»å¹´ã®é²æçããªã¢ã«ã¿ã¤ã ç®åº', 108 app_lifeticker_f2: 'ç¦ç¥æãç ½ãããã·ã¥éç¥ãä¸åæãããéãã§ç¡æ©è³ªãªãããã«UI', 109 app_lifeticker_f3: 'ãã¼ã¯ã¢ã¼ãã»ãã¼ãã¼ãã¯ã¤ãã«æé©åãããã¨ãã£ããªã¢ã«è¡¨ç¤º', 110 app_lifeticker_tech: 'Kotlin ⢠Jetpack Compose ⢠Precise Temporal Calculation', 111 112 // 4. ChatTube 113 app_chattube_name: 'ChatTube', 114 app_chattube_cat: 'Viewer / Live Chat', 115 app_chattube_desc: 'YouTube Live é ä¿¡å°ç¨ãã£ãããã¥ã¼ã¢', 116 app_chattube_detail: 'YouTubeã©ã¤ãã®é ä¿¡æ åãèªã¿è¾¼ã¾ãããã£ããæ¬ï¼ã©ã¤ããã£ããï¼ã®ã¿ãè¶ è»½éã»çãã±ããã§é²è¦§ã§ããå°ç¨ãã¥ã¼ã¢ã¼ã§ããéä¿¡å¶éæãBGMè¦è´æã®ã
116ä¾ã«æé©ã§ãã', 117 app_chattube_f1: 'æ åéèªã¿è¾¼ã¿ã«ããå§åçãªä½éä¿¡éã»ä½ããããªã¼æ¶è²»', 118 app_chattube_f2: 'é«éã§æµããã³ã¡ã³ããå¼ã£ããããªã追ããã¹ã ã¼ãºãªã¹ã¯ãã¼ã«æé©å', 119 app_chattube_f3: 'é ä¿¡URLã®å ±æããã¯ã³ã¿ããã§å³åº§ã«ãã£ããå±é', 120 app_chattube_tech: 'Kotlin ⢠Optimized WebView Container ⢠DOM Scripting Engine', 121 122 // 5. Simple Web Browser 123 app_browser_name: 'Simple Web Browser', 124 app_browser_cat: 'Browser / Lightweight', 125 app_browser_desc: 'ãããã«è¨è¨ã®è¶ 軽éã»ã¼ãWebãã©ã¦ã¶', 126 app_browser_detail: 'æ¤ç´¢ã¨é²è¦§ã ãã«ç¹åããä½è¨ãªãããããã£ã¼ãã»è¤éãªã¿ã管çã»åºå追跡ãåãè½ã¨ããã軽快ã«åä½ãããããã«è¨è¨ã®ãã©ã¦ã¶ã§ãã', 127 app_browser_f1: 'ã¢ããªãµã¤ãºæ°MBã»ç¬æèµ·åã®è¶ 軽éãããããªã³ã', 128 app_browser_f2: 'é²è¦§å±¥æ´ããã©ããã³ã°ãæºãè¾¼ã¾ãªãã¯ãªã¼ã³ãªã»ãã·ã§ã³è¨è¨', 129 app_browser_f3: 'çææä½ã«æé©åãããä¸é¨é ç½®ã®ã¢ã¯ã·ã§ã³ãã¼', 130 app_browser_tech: 'Kotlin ⢠Android WebKit Engine ⢠Lightweight Architecture', 131 132 // 6. MyWebView 133 app_mywebview_name: 'MyWebView', 134 app_mywebview_cat: 'Tool / Developer Container', 135 app_mywebview_desc: 'Webå¶ä½ã»æ¤è¨¼ç¨ã«ã¹ã¿ã WebViewã³ã³ãã', 136 app_mywebview_detail: 'æå®ããä»»æã®Webãµã¤ãURLããã¾ãã§ãã¤ãã£ãã¢ããªã§ãããã®ããã«å ¨ç»é¢è¡¨ç¤ºã»ãã¹ãã»å使¤è¨¼ã§ããéçºè ã»å¶ä½è åãã®ã¦ã¼ãã£ãªãã£ã§ãã', 137 app_mywebview_f1: 'URLå ¥åã ãã§Webãã¼ã¸ããã«ã¹ã¯ãªã¼ã³ã¢ããªåãã¦ãã¬ãã¥ã¼', 138 app_mywebview_f2: 'Webã¢ããªã»PWAã®ã¢ãã¤ã«å®æ©åä½ç¢ºèªãã¬ã¹ãã³ã·ãæ¤è¨¼ã«æé©', 139 app_mywebview_f3: 'ã¦ã¼ã¶ã¼ã¨ã¼ã¸ã§ã³ãåæ¿ããã£ãã·ã¥ã¯ãªã¢æ©è½ãå®å', 140 app_mywebview_tech: 'Kotlin ⢠Jetpack Compose ⢠Advanced WebView Client', 141 142 // Tech Stack Categories 143 stack_mobile_cat: 'Mobile App Development', 144 stack_desktop_cat: 'Desktop Application', 145 stack_web_cat: 'Web Frontend & Backend', 146 stack_ai_cat: 'AI-Assisted Development', 147 stack_tools_cat: 'Dev Tools & Infrastructure', 148 stack_api_cat: 'APIs & Integrations', 149 stack_mgmt_cat: 'Engineering Management', 150 151 // Footer 152 footer_home: 'Home', 153 footer_privacy: 'Privacy & Terms', 154 lang_label: 'Language', 155 theme_label: 'Theme', 156 theme_light_tip: 'ã©ã¤ããã¼ã', 157 theme_system_tip: 'ã·ã¹ãã é£å', 158 theme_dark_tip: 'ãã¼ã¯ãã¼ã', 159 160 // Privacy Page 161 privacy_page_title: 'Privacy Policy & Terms â kixking', 162 privacy_title: 'Privacy Policy & Terms', 163 privacy_meta: 'å¶å®ã»æ¹å®: 2026å¹´8æ19æ¥', 164 privacy_sec1_title: '1. ãã©ã¤ãã·ã¼æ¹é & ã¢ã¯ã»ã¹è§£æ', 165 privacy_sec1_p: 'å½ãµã¤ãï¼https://me.kixking.xyz/ï¼ã¯ã訪åè ã®ãã©ã¤ãã·ã¼ä¿è·ãæåªå ã¨ããå人æ å ±ã®é©åãªåãæ±ãã«åªãã¾ãã', 166 privacy_sec1_li1: 'å人æ å ±ã®éåå¾: æ°åã使ãé»è©±çªå·ãã¡ã¼ã«ã¢ãã¬ã¹çã®å人ãç¹å®å¯è½ãªæ å ±ãå ¥åã»éä¿¡ããããã©ã¼ã ãæ©è½ã¯ããã¾ããã', 167 privacy_sec1_li2: 'Google ã¢ããªãã£ã¯ã¹ã®å©ç¨: å½ãµã¤ãã§ã¯ãã³ã³ãã³ãã®æ¹åããã³å©ç¨ç¶æ³ã®ææ¡ãç®çã¨ãã¦ãGoogleç¤¾ã®æä¾ããã¢ã¯ã»ã¹è§£æãã¼ã«ãGoogle ã¢ããªãã£ã¯ã¹ï¼GA4ï¼ããå©ç¨ãã¦ãã¾ãã', 168 privacy_sec1_li3: 'Cookieï¼ã¯ããã¼ï¼ã®ä½¿ç¨: Google ã¢ããªãã£ã¯ã¹ã¯ãã©ãã£ãã¯ãã¼ã¿ã®åéã®ããã« Cookie ã使ç¨ãã¾ãããã®ãã¼ã¿ã¯å¿åã§åéããã¦ãããå人ãç¹å®ãããã®ã§ã¯ããã¾ããã', 169 privacy_sec1_li4_prefix: 'ãã¼ã¿åéã®ç¡å¹åï¼ãªããã¢ã¦ãï¼: ã¦ã¼ã¶ã¼ã¯ããã©ã¦ã¶ã® Cookie è¨å®ãç¡å¹åããããGoogle社ãæä¾ããã', 170 privacy_sec1_li4_link: 'Google ã¢ããªãã£ã¯ã¹ ãªããã¢ã¦ã ã¢ããªã³', 171 privacy_sec1_li4_suffix: 'ããå©ç¨ãããã¨ã§ããã©ãã£ãã¯ãã¼ã¿ã®åéãç¡å¹ã«ã§ãã¾ãã', 172 privacy_sec2_title: '2. å 責äºé ', 173 privacy_sec2_p: 'æ²è¼æ å ±ã«ã¯æ³¨æãæã£ã¦ããã¾ãããæ£ç¢ºæ§ãå®å ¨æ§ãå®å ¨ã«ä¿è¨¼ãããã®ã§ã¯ããã¾ããã', 174 privacy_sec2_li1: 'å½ãµã¤ãã®æ å ±ãå©ç¨ãããã¨ã«ããçããæå®³ã«ã¤ãã¦ã管çè ã¯è²¬ä»»ãè² ãã¾ããã', 175 privacy_sec2_li2: 'å¤é¨ãªã³ã¯å ï¼GitHub, X, Qiita, Note, LINE Storeçï¼ã§æä¾ãããã³ã³ãã³ãã»ãµã¼ãã¹ã«ã¤ãã¦è²¬ä»»ãè² ããã®ã§ã¯ããã¾ããã', 176 privacy_sec3_title: '3. è使¨©ã«ã¤ãã¦', 177 privacy_sec3_p1: 'å½ãµã¤ãã«æ²è¼ããã¦ããæç« ã»ç»åã»ãã¶ã¤ã³ã»LINEã¹ã¿ã³ãä½åã®è使¨©ã¯ç®¡çè ã«å¸°å±ãã¾ããç¡æè»¢è¼ã»è¤è£½ã»äºæ¬¡é å¸ãç¦ãã¾ãã', 178 privacy_sec3_p2: 'å ¬éãã¦ããã½ã¼ã¹ã³ã¼ãã«ã¤ãã¦ã¯ãåãªãã¸ããªã«è¨è¼ã®ãªã¼ãã³ã½ã¼ã¹ã©ã¤ã»ã³ã¹ã«æºãã¾ãã', 179 privacy_sec4_title: '4. é£çµ¡å ', 180 privacy_sec4_p: 'ãé£çµ¡ã¯ãX ã¾ã㯠GitHub ãããé¡ããããã¾ãã', 181 182 // 404 Page 183 err_404_title: '404 Not Found', 184 err_404_subtitle: 'Page Does Not Exist', 185 err_404_desc: 'ãæ¢ãã®ãã¼ã¸ã¯åå¨ããªãããç§»åã»éå ¬éã«è¨å®ããã¦ãã¾ãã', 186 err_404_back: 'â ããããã¼ã¸ã¸æ»ã', 187 188 // Sudoku 9x9 Tool 189 sudoku_nav_back: 'â ãããã£ã¼ã«', 190 sudoku_badge: 'Web Tool', 191 sudoku_heading: 'Sudoku 9Ã9 Generator & Solver', 192 sudoku_sub: 'åä¸è§£ãæ°å¦çã«ä¿è¨¼ãã9Ã9æ°ç¬ã®èªåçæï¼ã½ã«ãã¼ãã¼ã«ãæè§¦ãã®è¯ãã¡ã¢ï¼Pencil Marksï¼ããã¼ãã¼ãæä½ãèªä½åé¡ã®èªåè§£æ³ãå°å·ç¨ã¬ã¤ã¢ã¦ãã«å¯¾å¿ãã¦ãã¾ãã', 193 sudoku_tab_play: 'ãã¬ã¤ & èªåçæ', 194 sudoku_tab_solver: 'èªä½åé¡ & è§£çã½ã«ãã¼', 195 sudoku_btn_new: 'æ°ããçæ', 196 sudoku_btn_solve: 'è§£çãåºå', 197 sudoku_btn_note: 'ã¡ã¢', 198 sudoku_btn_erase: 'æ¶å»', 199 sudoku_btn_undo: 'æ»ã', 200 sudoku_btn_redo: 'é²ã', 201 sudoku_btn_hint: 'ãã³ã', 202 sudoku_stat_timer: 'TIME:', 203 sudoku_stat_mistakes: 'MISTAKES:', 204 sudoku_stat_hints: 'HINTS:', 205 sudoku_btn_copy_text: 'ããã¹ãã³ãã¼', 206 sudoku_btn_copy_ascii: 'ASCIIã³ãã¼', 207 sudoku_btn_print: 'å°å· / PDF', 208 sudoku_btn_import: 'èªã¿è¾¼ã', 209 210 // Queens & Star Battle Tool 211 queens_nav_back: 'â ãããã£ã¼ã«', 212 queens_badge: 'Web Tool', 213 queens_heading: 'Queens & Star Battle Generator', 214 queens_sub: 'ä¼çµ±çãªæ°çããºã«ãã¹ã¿ã¼ããã«ï¼
214Star Battleï¼ãããã³Queensã¨ãã¦è¦ªãã¾ãã¦ãããã¸ãã¯ããºã«ã®èªåçæWebãã¼ã«ãåè¡ã»ååã»åè²ãããã¯ã«ðã1ã¤é ç½®ããðåå£«ã¯æããå«ã飿¥ç¦æ¢ãä¸æè§£ä¿è¨¼ããã¤ãªã¼æ¥æ¿ããåé¡ãXã·ã§ã¢å¯¾å¿ã', 215 queens_mode_daily: 'ð 仿¥ã®ãã¤ãªã¼', 216 queens_mode_random: 'ð² ã©ã³ãã çæ', 217 queens_btn_new: 'æ°ããçæ', 218 queens_rules_title: 'ã«ã¼ã«ã¨éã³æ¹ï¼ã¯ãªãã¯ã§å±éï¼', 219 queens_rule_1: '1. åè¡ã»ååã«ðã1ã¤ã ãé ç½®ãã¾ãã', 220 queens_rule_2: '2. è²åããããåãããã¯ã«ãðã1ã¤ã ãé ç½®ãã¾ãã', 221 queens_rule_3: '3. ðå士ã¯ä¸ä¸å·¦å³ã»æãã®8æ¹åã§é£æ¥ãã¦ã¯ããã¾ããï¼çæç¦æ¢ï¼ã', 222 queens_rule_4: 'æä½: 1åã¿ããã§ðã2åã¿ããã§âï¼ç½®ããªãç®å°ï¼ããã©ãã°ã§ä¸æ°ã«âãå¡ãã¾ãã', 223 queens_stat_time: 'TIME:', 224 queens_stat_queens: 'QUEENS:', 225 queens_stat_hints: 'HINTS:', 226 queens_stat_best: 'BEST:', 227 queens_input_auto: 'ð é常 (ð/â/æ¶å»)', 228 queens_input_queen: 'ð ã¯ã¤ã¼ã³', 229 queens_input_mark: 'â ãã¼ã¯ (ãã©ãã°å¯)', 230 queens_btn_assist: 'èªåâã¢ã·ã¹ã', 231 queens_btn_undo: 'æ»ã', 232 queens_btn_redo: 'é²ã', 233 queens_btn_restart: 'ãªã»ãã', 234 queens_btn_hint: 'ãã³ã', 235 queens_btn_solve: 'æ£è§£', 236 queens_share_lead: 'ãè¦äºï¼çµæãXï¼æ§Twitterï¼ã§ã·ã§ã¢ãã¦ã¿ã¤ã ãç«¶ããï¼', 237 queens_btn_copy_res: 'çµæãã³ãã¼', 238 queens_btn_post_x: 'Xã«ãã¹ããã', 239 queens_assist_on: 'èªåâã¢ã·ã¹ã: ON', 240 queens_assist_off: 'èªåâã¢ã·ã¹ã: OFF', 241 queens_win_title: 'Puzzle Solved!', 242 queens_win_msg: 'ãè¦äºï¼ã¯ãªã¢ã¿ã¤ã : ', 243 queens_confirm_solve: 'æ£è§£ã表示ãã¾ããï¼', 244 245 // WhatIsMyIP & Client Inspector 246 checker_nav_back: 'â ãããã£ã¼ã«', 247 checker_badge: 'Web Tool', 248 checker_heading: 'WhatIsMyIP & Client Inspector', 249 checker_sub: 'ç¾å¨ã®ã°ãã¼ãã«IPã¢ãã¬ã¹ããããã¤ãï¼ISPï¼ããã©ã¦ã¶ã»OSç°å¢ãç»é¢è§£å度ãWebRTCæ¼æ´©ç¶æ ãä¸ç¬ã§è¨ºæããã¢ãã³ç°å¢ãã§ãã«ã¼ã社å VPN確èªãIPå¶éç³è«ãä¸å ·å調æ»ç¨ã®å ±åããã¹ãã䏿¬ã³ãã¼ã§ãã¾ãã', 250 checker_hero_label: 'YOUR PUBLIC IP ADDRESS', 251 checker_btn_copy: 'ã³ãã¼', 252 checker_btn_copy_all: 'ð 調æ»å ±åããã¹ãã䏿¬ã³ãã¼', 253 checker_btn_share: 'å ±æ', 254 checker_btn_refresh: '忏¬å®', 255 checker_shortcut_guide: '<kbd>C</kbd> IPã³ã㼠⢠<kbd>A</kbd> å ¨å ±åã³ã㼠⢠<kbd>R</kbd> 忏¬å®', 256 checker_card_network: 'ãããã¯ã¼ã¯ & IP', 257 checker_lbl_ip: 'ãã©ã¤ããªIP', 258 checker_lbl_ipv4: 'IPv4ã¢ãã¬ã¹', 259 checker_lbl_ipv6: 'IPv6ã¢ãã¬ã¹', 260 checker_lbl_dual: 'ãã¥ã¢ã«ã¹ã¿ãã¯', 261 checker_lbl_isp: 'ãããã¤ã (ISP)', 262 checker_lbl_asn: 'ASçªå·', 263 checker_lbl_loc: 'æ¥ç¶å°å (æ¨å®)', 264 checker_lbl_proto: 'ãããã³ã«', 265 checker_lbl_webrtc: 'WebRTCæ¼æ´©', 266 checker_card_browser: 'ãã©ã¦ã¶ & OS', 267 checker_lbl_browser: 'ãã©ã¦ã¶', 268 checker_lbl_os: 'OSç°å¢', 269 checker_lbl_cpu: 'CPUã¢ã¼ããã¯ãã£', 270 checker_lbl_lang: 'åªå è¨èª', 271 checker_lbl_tz: 'ã¿ã¤ã ã¾ã¼ã³', 272 checker_lbl_ua: 'User-Agent', 273 checker_card_display: 'ãã£ã¹ãã¬ã¤ & ç»é¢', 274 checker_lbl_screen: 'ç»é¢è§£å度', 275 checker_lbl_viewport: '表示é å (Viewport)', 276 checker_lbl_dpr: 'Retinaæ¯ç (DPR)', 277 checker_lbl_color_depth: 'è²æ·±åº¦', 278 checker_lbl_theme: 'ã«ã©ã¼ã¢ã¼ã', 279 checker_lbl_touch: 'ã¿ããæä½', 280 checker_card_security: 'ã»ãã¥ãªã㣠& è¨å®', 281 checker_lbl_cookie: 'Cookie', 282 checker_lbl_storage: 'LocalStorage', 283 checker_lbl_idb: 'IndexedDB', 284 checker_lbl_dnt: 'Do Not Track (DNT)', 285 checker_lbl_ping: 'å¿çé度 (Ping)', 286 checker_lbl_conn: 'åç·ã¿ã¤ã', 287 checker_privacy_desc: 'ãã©ã¤ãã·ã¼ä¿è·: ãã®ãã¼ã«ã§åå¾ã»è¡¨ç¤ºãããç°å¢æ å ±ã¯ãã客æ§ã®ãã©ã¦ã¶å ã§ã®ã¿è¡¨ç¤ºã»è§£æãã
287ã¾ãããµã¼ãã¼ã¸ã®ãã°ä¿åã第ä¸è ã¸ã®ãã¼ã¿éä¿¡ã¯ä¸åè¡ããã¾ããã', 288 link_checker_title: 'WhatIsMyIP & Client Inspector', 289 link_checker_desc: 'ã°ãã¼ãã«IPãISPãOSããã©ã¦ã¶ãç»é¢è§£å度ãä¸çºè¨ºæï¼å ±åç¨ããã¹ã䏿¬ã³ãã¼å¯¾å¿ï¼', 290 291 // 3D Solar System Orrery 292 solar_nav_back: 'â ãããã£ã¼ã«', 293 solar_badge: '3D Tech Demo', 294 solar_heading: 'Interactive 3D Solar System', 295 solar_sub: 'WebGL / Three.js ã«ããå®å ¨ãªã¢ã«ã¿ã¤ã 3D太é½ç³»ã·ãã¥ã¬ã¼ã¿ã¼ã太é½ç³»å ±ééå¿ï¼Barycenterï¼ã®ãµãã¤ãå ¬è»¢ãã±ãã©ã¼å ¬è»¢ã3Dè»é徿è§ãèªè»¢è»¸å¾æè§ãåæã®ç°ãå°ææå¸¯ããã©ããªã¢ã«ããã·ã¼ã¸ã£ã«ãã¯ã¹ãã£ã§åç¾ã', 296 planet_overview: 'å ¨ä½', 297 planet_sun: '太é½', 298 planet_mercury: 'æ°´æ', 299 planet_venus: 'éæ', 300 planet_earth: 'å°ç', 301 planet_mars: 'ç«æ', 302 planet_jupiter: 'æ¨æ', 303 planet_saturn: 'åæ', 304 planet_uranus: '天çæ', 305 planet_neptune: 'æµ·çæ', 306 solar_pause: '䏿忢', 307 solar_play: 'åç', 308 solar_speed_lbl: 'é度:', 309 solar_ctrl_hint: 'ãã©ãã°: 360°å転 ⢠ã¹ã¯ãã¼ã«: æ¡å¤§/ç¸®å° â¢ ææã¯ãªãã¯: 追å¾', 310 solar_toggle_orbits: 'â è»éç·', 311 solar_toggle_audio: 'ð ãµã¦ã³ã', 312 stat_radius: '赤éåå¾', 313 stat_mass: '質é', 314 stat_gravity: '表é¢éå', 315 stat_temp: '平忏©åº¦', 316 stat_orbit: 'å ¬è»¢å¨æ', 317 stat_rotation: 'èªè»¢å¨æ', 318 link_solar_title: 'Interactive 3D Solar System', 319 link_solar_desc: 'WebGL / Three.js ã«ãããªã¢ã«ã¿ã¤ã 3D太é½ç³»ã·ãã¥ã¬ã¼ã¿ã¼ï¼å¤ªé½ç³»éå¿å ¬è»¢ã»3Dè»é徿ã»ãã©ããªã¢ã«ãã¯ã¹ãã£ï¼', 320 321 // Breadcrumbs & Related Tools Hub 322 nav_breadcrumb_home: 'Home', 323 nav_breadcrumb_tools: 'Web Tools', 324 sec_related_tools: 'OTHER WEB TOOLS & DEMOS', 325 related_solar_title: '3D Solar System', 326 related_solar_desc: '太é½ç³»å ±ééå¿ã»ã±ãã©ã¼å ¬è»¢ã·ãã¥ã¬ã¼ã¿ã¼', 327 related_checker_title: 'WhatIsMyIP', 328 related_checker_desc: 'IPv4/IPv6ã»OSã»ãã©ã¦ã¶ç°å¢ãã§ãã«ã¼', 329 related_queens_title: 'Queens Puzzle', 330 related_queens_desc: 'æ°å¦çåä¸è§£ä¿è¨¼ã®ç¤é¢ãã¸ãã¯ããºã«', 331 related_sudoku_title: 'Sudoku 9Ã9', 332 related_sudoku_desc: '9Ã9ãã³ãã¬èªåçæï¼é«éã½ã«ãã¼', 333 related_xsearch_title: 'Xé«åº¦æ¤ç´¢ã³ãã³ãçææ©', 334 related_xsearch_desc: 'ãããæ°ã»ãªãã¹ãæ°ã»ãªãé¤å¤ã®ç¹æ®æ¤ç´¢ãã«ãã¼', 335 related_gravity_title: 'Gravity Chimes', 336 related_gravity_desc: 'å¹¾ä½å¦ç©çæ¼ç®ï¼ããã·ã¼ã¸ã£ã«é³é¿ãã·ã³', 337 338 // Ink Drop 339 related_ind_title: 'Ink Drop', 340 related_ind_desc: '滲ãåã«ã¿ããã§æ¶ãåå°ç¥çµããã²ã¼ã ', 341 ind_lives: 'ãã¿', 342 ind_sound: 'ãµã¦ã³ã', 343 ind_lead: 'ã¤ã³ã¯ãç´ã«æ»²ã¿ããåã«ãã¿ããã§æ¶ãã', 344 ind_rule_1: 'å°ãããã¡ã«æ¶ãã»ã©é«å¾ç¹', 345 ind_rule_2: 'æ±è²ã®é«ã¯éãã <strong>3å</strong>', 346 ind_rule_3: 'é£ç¶ã§æ¶ãã¨ã³ã³ãåçãä¸ããã空æ¯ãã§ãªã»ãã', 347 ind_rule_4: 'ãã¿ã 3 ã¤æ®ã£ããçµãã', 348 ind_start: 'ã¯ããã', 349 ind_best: 'ãã¹ã', 350 ind_resume: 'ã¤ã¥ãã', 351 ind_new_best: 'ãã¹ãæ´æ°', 352 ind_stat_hits: 'æ¶ããæ°', 353 ind_stat_combo: 'æå¤§ã³ã³ã', 354 ind_stat_time: 'æé', 355 ind_retry: 'ããä¸åº¦', 356 ind_share: 'ã·ã§ã¢', 357 ind_share_score: 'Ink Drop ã§{score}ç¹', 358 ind_share_best: 'ï¼èªå·±ãã¹ãæ´æ°ï¼', 359 ind_share_hits: '{hits}æ»´æ¶ãã', 360 ind_share_hits_combo: '{hits}æ»´æ¶ãã¦æå¤§{combo}ã³ã³ã', 361 ind_footnote: 'è¨é²ã¯ãã®ãã©ã¦ã¶å ã«ã ãä¿åãããã', 362 363 // X First Post Finder
364 related_xfp_title: 'X æåã®ãã¹ãæ¤ç´¢', 365 related_xfp_desc: 'ã¢ã«ã¦ã³ãã®åãã¹ããå¹´ã»æåä½ã§çµãè¾¼ã¿', 366 xfp_heading: 'X æåã®ãã¹ãæ¤ç´¢', 367 xfp_sub: 'ã¦ã¼ã¶ã¼åããããã®ã¢ã«ã¦ã³ããä¸çªæåã«æç¨¿ãããã¹ããæ¢ããå¹´ â æã®é ã«æ¤ç´¢ç¯å²ãçµãè¾¼ãã§ãæå¤ã®ãã¹ãã¾ã§ãã©ãçãã', 368 xfp_lbl_handle: 'ã¦ã¼ã¶ã¼å', 369 xfp_hint_handle: '@IDããããã£ã¼ã«URLã@ID ãå«ãæç« ã®ã©ãã§ãOK', 370 xfp_err_handle: 'ã¦ã¼ã¶ã¼åã¯è±æ°å㨠_ ã® 1ã15 æå', 371 xfp_lbl_join: 'ç»é²æ', 372 xfp_optional: 'ä»»æ', 373 xfp_hint_join: 'ãããã£ã¼ã«ã®ã2010å¹´6æããXãå©ç¨ãã¦ãã¾ããããã®ã¾ã¾è²¼ã£ã¦ãOK', 374 xfp_ph_join: '2010/6', 375 xfp_err_join: 'å¹´æãèªã¿åããªã', 376 xfp_lbl_replies: 'ãªãã©ã¤ãé¤å¤', 377 xfp_hint_replies: '-filter:repliesãæåã®ãåç¬ãã¹ããã ããè¦ããã¨ãç¨', 378 xfp_join_heading: 'ç»é²ç´å¾ããæ¢ã', 379 xfp_join_1m: 'ç»é²æ', 380 xfp_join_3m: 'ç»é²ãã3ã¶æ', 381 xfp_join_1y: 'ç»é²ãã1å¹´', 382 xfp_year_heading: 'å¹´ããçµãè¾¼ã', 383 xfp_year_hint: 'å¹´ãã¿ããããã¨æå¥ã«åãæ¿ããã', 384 xfp_open_year: 'ãã®å¹´å ¨ä½ãéã â', 385 xfp_lbl_mode: 'éãã¿ã', 386 xfp_hint_mode: 'å¤ãæéã¯ãææ°ãã ã¨0ä»¶ã«ãªããã¨ããããåºãªãã¨ãã¯ã話é¡ãã§éãã', 387 xfp_step1: 'ã話é¡ãã¿ãã¯ä¸¦ã³é ãæç³»åã§ã¯ãªãã®ã§ãæå¥ãªã³ã¯ã§ç¯å²ãçãã¦æç¨¿æ¥æãè¦æ¯ã¹ãããææ°ãã¿ãã§è¡¨ç¤ºããããªãæ°ããé ãªã®ã§ãä¸çªä¸ãæå¤ã', 388 xfp_notes_heading: '注æç¹', 389 xfp_note_login: 'X ã®æ¤ç´¢ã¯ãã°ã¤ã³ãå¿ è¦ã', 390 xfp_note_index: 'éå ¬éã¢ã«ã¦ã³ããå餿¸ã¿ãã¹ããæ¤ç´¢ã¤ã³ããã¯ã¹ããæ¼ããå¤ããã¹ãã¯è¡¨ç¤ºãããªãã', 391 xfp_note_archive: 'èªåã®ã¢ã«ã¦ã³ããªãã<strong>è¨å® â ã¢ã«ã¦ã³ã â ãã¼ã¿ã®ã¢ã¼ã«ã¤ãããã¦ã³ãã¼ã</strong>ã§åå¾ã§ããå ¨å±¥æ´ã確å®ã', 392 xfp_note_privacy: 'å ¥åå 容ã¯éä¿¡ãããªããæ¤ç´¢ãªã³ã¯ããã©ã¦ã¶å ã§çµã¿ç«ã¦ã¦ããã ãã', 393 xfp_toast_query_copied: 'æ¤ç´¢ã¯ã¨ãªãã³ãã¼ãã', 394 xfp_toast_url_copied: 'å ±æURLãã³ãã¼ãã', 395 xfp_toast_copy_failed: 'ã³ãã¼ã«å¤±æãã', 396 xfp_clear: 'ã¯ãªã¢', 397 xfp_paste: 'è²¼ãä»ã', 398 xfp_options: 'æ¤ç´¢ãªãã·ã§ã³', 399 xfp_result_lead: 'å¤ãæéããé ã«éãã0ä»¶ãªã次ã¸é²ã¿ãããããããç¯å²ãçãããéããæéã«ã¯ â ãä»ãã', 400 xfp_reset_checked: 'â ããªã»ãã', 401 xfp_next: '次ã«éã', 402 xfp_toast_paste_failed: 'ã¯ãªãããã¼ããèªã¿åããªãã£ã', 403 404 // Gravity Chimes (SCR-016) 405 gc_nav_back: 'â ãããã£ã¼ã«', 406 gc_badge: 'Sound Experiment', 407 gc_experiment_label: 'Physics & Web Audio Lab', 408 gc_title: 'Gravity Chimes', 409 gc_desc: 'éåã¨åçºã§ãã¼ã«ãè·³ãåããã³ã«ã絶対ã«ä¸ååé³ã«ãªããªããã³ã¿ãããã¯æå¾ãããã·ã¼ã¸ã£ã«ã«åæãå¤é¨é³å£°ãã¡ã¤ã«å®å ¨ã¼ãã»Pure JSã®é³é¿å®é¨ãµã³ãããã¯ã¹ã§ãã', 410 gc_audio_prompt_text: 'ðµ é³å£°ãæå¹ã«ããã«ã¯ç»é¢ãã¯ãªãã¯ããããã¿ã³ãæ¼ãã¦ãã ãã', 411 gc_btn_enable_audio: 'ãµã¦ã³ãéå§ â¶', 412 gc_tool_line: 'å¼¾æ§ã©ã¤ã³', 413 gc_tool_pin: 'é³éãã³', 414 gc_tool_ball: 'ãã¼ã«ææ²', 415 gc_tool_erase: 'æ¶ãã´ã ', 416 gc_panel_presets: 'ããªã»ããä½é¨', 417 gc_preset_zen_name: 'Zen Polygon (å¹¾ä½å¦ã®ç¦ )', 418 gc_preset_zen_desc: 'å転å è§å½¢å ã®æ°¸é ã®ãã¦ã³ã¹', 419 gc_preset_rain_name: 'Rain Chimes (é¨ã®ãã¿ã´ã©)', 420 gc_preset_rain_desc: 'éãæ³¨ãæ°´æ»´ã¨ãã³ã®æ£®', 421 gc_preset_clock_name: 'Clockwork (æè¨ä»æã)', 422 gc_preset_clock_desc: 'å転ã®ã¢ã¨ã·ã¼ã½ã¼ã®é£é', 423 gc_preset_sandbox_name: 'Sandbox (èªç±åµä½)', 424 gc_preset_sandbox_desc: 'èªåã ãã®ãã¿ã´ã©æ¥½å¨ãä½ã', 425 gc_panel_music: 'é³éã»èª¿å¾', 426 gc_scale_label: 'é³éã¹ã±ã¼ã«', 427 gc_vol_label: 'ãã¹ã¿ã¼é³é', 428 gc_panel_physics: 'ç©çãã©ã¡ã¼ã¿', 429 gc_gravity_mode_label: 'éåã¢ã¼ã', 430 gc_grav_down: 'å°ç (â)', 431 gc_grav_zero: 'ç¡éå (0)', 432 gc_grav_hole: 'ä¸å¿å¼å (â)', 433 gc_grav_anti: 'åéå (â)', 434 gc_bpm_label: 'ã¹ããã¼å°åºãã³ã (BPM)', 435 gc_btn_pause: '䏿忢', 436 gc_btn_play: 'åç', 437 gc_btn_clear_balls: 'ãã¼ã«æ¶å»', 438 gc_btn_clear_all: 'å ¨æ¶å»', 439 gc_btn_record: 'é²é³ (WebM)', 440 gc_author_desc: 'Pure JS 2Dç©çæ¼ç®ã¨Web Audio APIã«ããããã·ã¼ã¸ã£ã«å¹¾ä½å¦é³é¿å®é¨', 441 442 // X Advanced Search Tool 443 xsearch_nav_back: 'ãããã£ã¼ã«', 444 xsearch_badge: 'Web Tool', 445 xsearch_heading: 'X (Twitter) é«åº¦æ¤ç´¢ã³ãã³ãçææ©', 446 xsearch_sub: 'ãããæ°ï¼1,000ãããçï¼ããªãã¹ãæ°ããªãã©ã¤é¤å¤ãã¡ãã£ã¢æå®ãæ¥ä»ç¯å²ãªã©ã®å ¬å¼ç¹æ®æ¤ç´¢æ¼ç®åãGUIã§ç´æçã«çµã¿ç«ã¦ãWebãã¼ã«ã', 447 xsearch_presets_heading: 'ã¯ã³ã¿ããç¥ããªã»ãã', 448 xsearch_preset_faves: 'ð 1,000ãããè¯ãã¹ã', 449 xsearch_preset_viral: 'ð¥ 5,000ãããè¶ ããº', 450 xsearch_preset_rt: 'ð 500ãªãã¹ãæ¡æ£', 451 xsearch_preset_clean: 'ð§¹ ã¹ãã ã»botæé¤', 452 xsearch_preset_video: 'ð¥ åç»ä»ã話é¡ãã¹ã', 453 xsearch_preset_question: 'â æ©ã¿ã»è³ªåãªãµã¼ã', 454 xsearch_preset_year_ago: 'ð 1å¹´åã®ä»æ¥', 455 xsearch_card_keywords: 'ãã¼ã¯ã¼ãæ¤ç´¢', 456 xsearch_kw_all: 'ãã¹ã¦ã®è¨èãå«ã (AND)', 457 xsearch_kw_exact: 'å®å ¨ä¸è´ãã¬ã¼ãº ("...")', 458 xsearch_kw_any: 'ããããã®è¨èãå«ã (OR)', 459 xsearch_kw_none: 'å«ã¾ãªãè¨è (NOT -)', 460 xsearch_kw_question: 'çåå½¢ã®ã¿æ½åº (?)', 461 xsearch_card_metrics: 'ã¨ã³ã²ã¼ã¸ã¡ã³ãé¾å¤', 462 xsearch_metric_faves: 'æå°ãããæ° (min_faves)', 463 xsearch_metric_rts: 'æå°ãªãã¹ãæ° (min_retweets)', 464 xsearch_metric_replies: 'æå°ãªãã©ã¤æ° (min_replies)', 465 xsearch_tip_views: 'Xå ¬å¼ä»æ§ã«ã¤ãã¦: Xã®ä»æ§ä¸ãmin_faves ã min_retweets ãªã©ã®æ¼ç®åã¯ãã¼ã¯ã¼ããªãã®ãåä½ãã§ã¯0ä»¶ã«ãªãã¾ããã¾ãã¤ã³ãã¬ãã·ã§ã³æ°ï¼é²è¦§æ°ï¼ã®æ¤ç´¢æ¼ç®åã¯åå¨ãã¾ãããããºãåé¿ã®å¤§ãããã¹ããæ½åºããå ´åã¯ãæ¤ç´¢èªå¥ï¼ãæå°ãããæ°ï¼min_favesï¼ãã®çµã¿åãããæãé«ç²¾åº¦ã»ç¢ºå®ã«ããããã¾ãã', 466 xsearch_card_filters: 'ãã£ã«ã¿ã¼ & ã¡ãã£ã¢', 467 xsearch_filter_no_replies: 'ãªãã©ã¤ï¼è¿ä¿¡ï¼ãé¤å¤', 468 xsearch_filter_images: 'ç»åä»ãã®ã¿', 469 xsearch_filter_videos: 'åç»ä»ãã®ã¿', 470 xsearch_filter_links: 'ãªã³ã¯ä»ãã®ã¿', 471 xsearch_filter_no_links: 'ãªã³ã¯ï¼URLï¼ãé¤å¤', 472 xsearch_filter_lang_ja: 'æ¥æ¬èªã®ã¿ (lang:ja)', 473 xsearch_filter_verified: 'èªè¨¼ããã¸ã®ã¿', 474 xsearch_card_dates: 'æéæå® (Date Range)', 475 xsearch_date_since: 'éå§æ¥ (since)', 476 xsearch_date_until: 'çµäºæ¥ (until)', 477 xsearch_card_accounts: 'ã¢ã«ã¦ã³ãæå®', 478 xsearch_account_from: '次ã®ã¢ã«ã¦ã³ãããã®æç¨¿ (from:)', 479 xsearch_account_to: '次ã®ã¢ã«ã¦ã³ãå®ã¦ (to:)', 480 xsearch_output_heading: 'çæãããæ¤ç´¢ã³ãã³ã', 481 xsearch_warn_missing_kw: 'æ¤ç´¢ãã¼ã¯ã¼ããæªå ¥åã§ããXã®ä»æ§ä¸ãæ¼ç®ååä½ã§ã¯æ¤ç´¢çµæã
4810ä»¶ã«ãªããããæ¤ç´¢èªå¥ãå ¥åãã¦ãã ããã', 482 xsearch_tab_top: '話é¡ã®ãã¹ã', 483 xsearch_tab_live: 'ææ°ã®ãã¹ã', 484 xsearch_lbl_keyword: 'æ¤ç´¢ãã¼ã¯ã¼ã', 485 xsearch_hint_keyword: 'â»è¤æ°èªã¯ã¹ãã¼ã¹åºåãã§ANDæ¤ç´¢', 486 xsearch_lbl_conditions: 'çµãè¾¼ã¿æ¡ä»¶ï¼ã¿ããã§é¸æï¼', 487 xsearch_filter_likes: 'æä½ãããæ°', 488 opt_all: 'æå®ãªã', 489 opt_all_period: 'å ¨æé', 490 xsearch_filter_media: 'ã¡ãã£ã¢', 491 xsearch_filter_period: 'æç¨¿ææ', 492 xsearch_tab_label: '表示ã¿ã:', 493 xsearch_tip_smart: '<strong>Xæ¤ç´¢ã使ãããªã3大ãã¤ã³ã:</strong><br>1. <strong>ãããæ°æå® (`min_faves:1000`)</strong> ã§å®£ä¼ãã¹ãã ãæ¶ãã¦æçãªãã¹ãã ããæ½åºã§ãã¾ãã<br>2. <strong>ãªãã©ã¤é¤å¤ (`-filter:replies`)</strong> ãä½µç¨ããã¨ãã¹ã¬ããã¸ã®è¿ä¿¡ãæ¶ãã¦è©±é¡ã®ã親ãã¹ããã ããã¹ãããªä¸¦ã³ã¾ãã<br>3. æ¤ç´¢ã³ãã³ãã¯<strong>ãã¼ã¯ã¼ãã¨ä¸ç·ã«ä½¿ãã®ãXå ¬å¼ã®ä»æ§</strong>ã§ããã¾ãã¯æ°ã«ãªããã¼ã¯ã¼ããå ¥åãã¦ã試ããã ããï¼', 494 xsearch_btn_open_x: 'Xã§æ¤ç´¢ãéã', 495 xsearch_btn_copy: 'ã³ãã¼', 496 xsearch_btn_reset: 'ãªã»ãã', 497 xsearch_btn_share: 'URLå ±æ', 498 xsearch_copied_toast: 'æ¤ç´¢ã³ãã³ããã³ãã¼ãã¾ããï¼', 499 500 // Flagship Portal Global Navigation & Announcement 501 hub_nav_lineup: 'ã©ã¤ã³ã¢ãã', 502 hub_nav_articles: 'ã³ã©ã ã»è¨äº', 503 hub_nav_tech: 'æè¡ã»ä»æ§', 504 hub_nav_topics: 'ãããã¯ã¹', 505 hub_nav_contact: 'ãåãåãã', 506 hub_sub_announce: 'ä¸çãã¿ã¬ããã°ã©ã kixking ã®ä½åã»ãã¼ã«ä¸è¦§ãPCã»ã¹ãã¼ããã©ã³ã§å¿«é©ã«åä½ãã¾ãã', 507 508 // Hero Slider Captions 509 hub_hero1_tag: '3D WEB ORRERY', 510 hub_hero1_title: 'æ·±å®å®ããæã®ã²ãã«ã', 511 hub_hero1_sub: '3D SOLAR SYSTEM ORRERY â 太é½ç³»å ±ééå¿ï¼Barycenterï¼å ¬è»¢ãã±ãã©ã¼è»éããªã¢ã«ã¿ã¤ã Web Audioé³é¿ãå®å ¨åç¾ã', 512 hub_hero1_cta: '3Då®å®ãä½é¨ãã', 513 514 hub_hero2_tag: 'HIGH-ACCURACY UTILITY', 515 hub_hero2_title: 'æ¥ç¶ã®ãã¹ã¦ããç¬æã«è¦æãã', 516 hub_hero2_sub: 'WHATISMYIP & CLIENT INSPECTOR â IPv4/IPv6ãã¥ã¢ã«ã¹ã¿ãã¯åææ¸¬å®ã2026å¹´ææ°Client Hints対å¿ã1ã¿ããå ±æã', 517 hub_hero2_cta: 'ç°å¢ãå³æè¨ºæãã', 518 519 hub_hero3_tag: 'NATIVE ANDROID APPS', 520 hub_hero3_title: 'æå ã®å¿å°ããããæ¥µéã¾ã§ã', 521 hub_hero3_sub: 'GOOGLE PLAY STORE APPS â ç»é¢åå²PairLauncherãç©çç©å ·Jiggly Puddingãªã© Google Play é ä¿¡ä¸ã®èªä½ã¢ããªå ¨6ä½ã', 522 hub_hero3_cta: 'ã¢ããªä¸è¦§ãè¦ã', 523 524 hub_hero4_tag: 'MATHEMATICAL LOGIC', 525 hub_hero4_title: 'è«çã¨ç¾ã®ã極éã¸ã', 526 hub_hero4_sub: 'QUEENS & SUDOKU PUZZLE SUITE â æ°å¦çä¸æè§£ä¿è¨¼ã®ãã¤ãªã¼ããºã«çæã¨ã³ã¸ã³ã', 527 hub_hero4_cta: 'ããºã«ãè§£ã', 528 529 // Important Notices & Topics Ticker 530 hub_notice_badge: 'éè¦ãªãç¥ãã', 531 hub_notice_1: 'ã仿§æ´æ°ãWhatIsMyIP ã«ã¦ IPv4/IPv6 ãã¥ã¢ã«ã¹ã¿ãã¯åææ¸¬å® ï¼ Web Share API 飿ºãå®è£ ãã¾ãã', 532 hub_notice_2: 'ãæè¡æ´æ°ã3D Solar System ã«å¤ªé½ç³»å ±ééå¿ï¼Barycenterï¼å ¬è»¢ç©çæ¼ç®ããã³3Dè»é徿è§ãå®å ¨å®è£ ãã¾ãã', 533 hub_notice_view_all: 'ä¸è¦§ãè¦ã', 534 hub_topics_badge: 'ãããã¯ã¹', 535 536 // Lineup Section (Showcase style) 537 hub_lineup_heading: 'ã©ã¤ã³ã¢ãã', 538 hub_lineup_sub: 'kixking ãéçºããWebãã¼ã«ããã¤ãã£ãã¢ããªãæè¡å®é¨ãã¢ã®å ¨ã¢ãã«ã', 539 hub_btn_detail: '詳細ã¯ãã¡ã', 540 hub_btn_experience: 'ä½é¨ãã', 541 hub_btn_specs: 'æè¡ä»æ§ãè¦ã', 542 543 // Related Services Grid 544 hub_sec_services: 'é¢é£ãµã¼ãã¹ & ãªã½ã¼ã¹', 545 hub_sec_services_sub: 'ã½ã¼ã¹ã³ã¼ããæè¡ç¥è¦ãå·çã¨ãã»ã¤ãå種ãã©ãããã©ã¼ã ã§ã®çºä¿¡ä¸è¦§ã', 546 hub_service_github_title: 'GitHub ãªãã¸ããª', 547 hub_service_github_desc: 'å ¨ãã¼ã«ã®ãªã¼ãã³ã½ã¼ã¹ã³ã¼ãããã³éçºãã°', 548 hub_service_note_title: 'Note ã¨ãã»ã¤', 549 hub_service_note_desc: 'éçºå²å¦ãè¨è¨ææ³ãã¯ãªã¨ã¤ãã£ãæèé²', 550 hub_service_qiita_title: 'Qiita æè¡è¨äº', 551 hub_service_qiita_desc: 'ãã©ãã«ã·ã¥ã¼ãã£ã³ã°ãã¢ã¼ããã¯ãã£ç¥è¦', 552 hub_service_play_title: 'Google Play éçºè ãã¼ã¸', 553 hub_service_play_desc: 'å ¬éä¸ã®å ¨Androidã¢ããªã®ã¹ãã¢å ¬å¼ã«ã¿ãã°', 554 hub_service_line_title: 'LINE Creators Market', 555 hub_service_line_desc: 'èªä½LINEã¹ã¿ã³ã販売ãã¼ã¸ä¸è¦§', 556 hub_service_blog_title: 'å ¬å¼ããã° (kixking.xyz)', 557 hub_service_blog_desc: 'å人ããã°ãé·ç·¨è¨äºã¨ã
557¢ã¼ã«ã¤ã', 558 559 // Floating Widget & Footer 560 hub_widget_btn: 'ç¸è«ã»é£çµ¡', 561 hub_widget_modal_title: 'kixking ã«ã¤ã㦠/ ãåãåãã', 562 hub_widget_modal_desc: 'éçºã®ãç¸è«ãã¢ããªã¸ã®ãæè¦ãä¸å ·åå ±åãæè¡çãªãã£ã¹ã«ãã·ã§ã³ã¯ X (@kixking1020) ã®DMã¾ãã¯GitHubã«ã¦åãä»ãã¦ããã¾ãã' 563 }, 564 565 en: { 566 // Common / Head 567 page_title: 'kixking (@kixking) â Lifelong Humble Programmer | Profile & Portfolio', 568 page_description: 'Official link hub and developer portfolio of kixking (@kixking / Lifelong Humble Programmer). Native mobile, web full-stack, and creative apps.', 569 location_time_prefix: 'Tokyo â¢', 570 role_title: 'Developer & Creator', 571 profile_subname: 'Lifelong Humble Programmer', 572 573 // Hero 574 hero_bio: 'Lifelong humble programmer kixking (@kixking) â Engineer and creator specializing in Android / iOS native apps, Windows desktop (C#/WPF), Web full-stack (Laravel, Next.js), and LINE stickers. Focused on AI-assisted development and solid architecture design & operations.', 575 action_contact_x: 'Contact on X', 576 action_share_url: 'Share URL', 577 badge_copied_handle: 'Copied @kixking to clipboard', 578 toast_share_copied: 'URL copied to clipboard', 579 toast_lang_changed: 'Switched language to English', 580 toast_theme_changed: 'Theme updated', 581 582 // Section Titles 583 sec_links_title: 'LINKS & PROFILES', 584 sec_apps_title: 'GOOGLE PLAY APPS', 585 sec_apps_subtitle: 'Published Android applications on Google Play (6 apps)', 586 sec_tools_title: 'WEB TOOLS & EXPERIMENTS', 587 sec_tools_subtitle: 'Self-contained client-side web tools & utilities', 588 sec_stack_title: 'TECH STACK', 589 sec_stack_subtitle: 'Core Technical Stack & Capabilities', 590 591 // Tools Card 592 link_sudoku_title: 'Sudoku 9Ã9 Generator & Solver', 593 link_sudoku_desc: 'Fast, deterministic 9x9 Sudoku generator & solver with guaranteed unique solutions', 594 link_queens_title: 'Queens & Star Battle Generator', 595 link_queens_desc: 'Fast, deterministic Queens & Star Battle puzzle generator with unique solution guarantee', 596 597 // Links 598 link_github_title: 'GitHub', 599 link_github_desc: 'Source code, personal projects, and public repositories', 600 link_blog_title: 'Blog', 601 link_blog_desc: 'Personal blog, technical essays, and dev notes', 602 link_line_title: 'LINE Stickers', 603 link_line_desc: 'Original creators sticker collections on LINE Store', 604 link_x_title: 'X', 605 link_x_desc: 'Daily development thoughts, memos, and tech notes', 606 link_qiita_title: 'Qiita', 607 link_qiita_desc: 'Technical troubleshooting guides and knowledge base', 608 link_note_title: 'Note', 609 link_note_desc: 'Essays, creative thoughts, and engineering reflections', 610 611 // Google Play Apps (Summary & Detail) 612 app_developer_badge: 'Developer Page', 613 app_btn_detail: 'Details', 614 app_btn_store: 'Google Play', 615 app_btn_view_page: 'Dedicated Page', 616 apps_page_nav_back: 'â Back to Profile', 617 app_page_back_apps: 'â Back to Apps', 618 apps_page_title: 'Published Apps â kixking (Lifelong Humble Programmer)', 619 apps_page_heading: 'Google Play Apps', 620 apps_page_sub: 'Complete catalog of 6 native Android applications published on Google Play by lifelong humble programmer kixking (@kixking). Designed with craftsmanship, minimal footprints, and tactile ergonomics.', 621 app_sec_overview: 'Overview & Story', 622 app_section_features: 'Key Features', 623 app_section_tech: 'Technical Specifications', 624 app_view_on_play: 'View on Google Play', 625 other_apps_title: 'Other Applications', 626 627 // 1. PairLauncher 628 app_pairlauncher_name: 'PairLauncher - Split Screen', 629 app_pairlauncher_cat: 'Launcher / Split Screen', 630 app_pairlauncher_desc: 'Dual-app split screen launcher for Android multitasking', 631 app_pairlauncher_detail: 'Instantly launch two selected applications in split-screen mode with a single tap. Boost your productivity by taking notes while watching videos or browsing while researching.', 632 app_pairlauncher_f1: 'Save frequently used dual-app combinations directly to your home screen', 633 app_pairlauncher_f2: 'Instant launching utilizing native Android Multi-Window APIs', 634 app_pairlauncher_f3: 'Strict privacy design requiring zero invasive permissions or analytics tracking', 635 app_pairlauncher_tech: 'Kotlin ⢠Jetpack Compose ⢠Android Multi-Window Framework', 636 637 // 2. Jiggly Pudding 638 app_pudding_name: 'Jiggly Pudding', 639 app_pudding_cat: 'Physics / Casual Toy', 640 app_pudding_desc: 'Tactile physics simulation casual pudding game toy', 641 app_pudding_detail: 'A calming tactile toy app that lets you poke, flick, and wobble an organic pudding model simulated with real-time elasticity, spring physics, and haptic sensations.', 642 app_pudding_f1: 'Custom 2D spring-damper physics simulation engine for realistic jiggle mechanics', 643 app_pudding_f2: 'Dynamic deformation animation responding to finger drag velocity and momentum', 644 app_pudding_f3: 'Refined tactile haptic vibration feedback on every touch and release', 645 app_pudding_tech: 'Kotlin ⢠Custom 2D Physics Simulation ⢠Haptic Vibration API', 646 647 // 3. LifeTicker 648 app_lifeticker_name: 'LifeTicker', 649 app_lifeticker_cat: 'Utility / Life Clock', 650 app_lifeticker_desc: 'Lifetime visualization countdown & countup ticker', 651 app_lifeticker_detail: 'Visualize your elapsed days and remaining lifetime percentage c
651alculated from your birthdate and life expectancy. A quiet tool to foster mindful daily living.', 652 app_lifeticker_f1: 'Real-time calculation of elapsed days, remaining lifetime, and year progress', 653 app_lifeticker_f2: 'Calm, noise-free minimal UI with zero anxiety-inducing push notifications', 654 app_lifeticker_f3: 'Editorial typography optimized for dark obsidian and warm paper modes', 655 app_lifeticker_tech: 'Kotlin ⢠Jetpack Compose ⢠Precise Temporal Calculation', 656 657 // 4. ChatTube 658 app_chattube_name: 'ChatTube', 659 app_chattube_cat: 'Viewer / Live Chat', 660 app_chattube_desc: 'Optimized YouTube Live chat dedicated viewer', 661 app_chattube_detail: 'A dedicated lightweight viewer for YouTube Live chat streams without loading the heavy video player. Great for saving mobile data and battery while listening to streams.', 662 app_chattube_f1: 'Massive bandwidth and battery savings by isolating the chat stream', 663 app_chattube_f2: 'Optimized smooth scrolling capable of tracking high-velocity live comments', 664 app_chattube_f3: 'Instant one-tap chat launch via native share intent from YouTube', 665 app_chattube_tech: 'Kotlin ⢠Optimized WebView Container ⢠DOM Scripting Engine', 666 667 // 5. Simple Web Browser 668 app_browser_name: 'Simple Web Browser', 669 app_browser_cat: 'Browser / Lightweight', 670 app_browser_desc: 'Ultra-lightweight, minimal and safe web browser', 671 app_browser_detail: 'Focused purely on speed and clean browsing, stripping away cluttered news feeds, complex tab bloat, and tracking scripts for a snappy search experience.', 672 app_browser_f1: 'Featherweight app footprint under a few megabytes with instant cold start', 673 app_browser_f2: 'Clean ephemeral session design that avoids hoarding unnecessary tracking data', 674 app_browser_f3: 'Ergonomic bottom-aligned action bar optimized for one-handed operation', 675 app_browser_tech: 'Kotlin ⢠Android WebKit Engine ⢠Lightweight Architecture', 676 677 // 6. MyWebView 678 app_mywebview_name: 'MyWebView', 679 app_mywebview_cat: 'Tool / Developer Container', 680 app_mywebview_desc: 'Customizable developer WebView test container', 681 app_mywebview_detail: 'A developer utility that allows you to preview and test any web URL in a clean, fullscreen native container, making responsive PWA testing effortless.', 682 app_mywebview_f1: 'Instant fullscreen preview for web apps and PWAs directly on real mobile devices', 683 app_mywebview_f2: 'Essential tool for web developers to inspect layout rendering and performance', 684 app_mywebview_f3: 'Built-in user agent switching and cache-busting capabilities', 685 app_mywebview_tech: 'Kotlin ⢠Jetpack Compose ⢠Advanced WebView Client', 686 687 // Tech Stack Categories 688 stack_mobile_cat: 'Mobile App Development', 689 stack_desktop_cat: 'Desktop Application', 690 stack_web_cat: 'Web Frontend & Backend', 691 stack_ai_cat: 'AI-Assisted Development', 692 stack_tools_cat: 'Dev Tools & Infrastructure', 693 stack_api_cat: 'APIs & Integrations', 694 stack_mgmt_cat: 'Engineering Management', 695 696 // Footer 697 footer_home: 'Home', 698 footer_privacy: 'Privacy & Terms', 699 lang_label: 'Language', 700 theme_label: 'Theme', 701 theme_light_tip: 'Light theme', 702 theme_system_tip: 'System theme', 703 theme_dark_tip: 'Dark theme', 704 705 // Privacy Page 706 privacy_page_title: 'Privacy Policy & Terms â kixking', 707 privacy_title: 'Privacy Policy & Terms', 708 privacy_meta: 'Last Updated: August 19, 2026', 709 privacy_sec1_title: '1. Privacy Policy & Analytics', 710 privacy_sec1_p: 'This website (https://me.kixking.xyz/) prioritizes visitor privacy and handles all interactions with strict confidentiality.', 711 privacy_sec1_li1: 'No Personal Data Collection: We do not collect names, addresses, phone numbers, or private contact details through any forms.', 712 privacy_sec1_li2: 'Google Analytics: We use Google Analytics 4 (GA4) solely to understand aggregated traffic trends and improve site experience.', 713 privacy_sec1_li3: 'Use of Cookies: Google Analytics uses cookies to collect anonymous traffic statistics. No personally identifiable information is stored.', 714 privacy_sec1_li4_prefix: 'Opt-Out: You can disable cookies in your browser settings or install the official ', 715 privacy_sec1_li4_link: 'Google Analytics Opt-out Browser Add-on', 716 privacy_sec1_li4_suffix: ' to prevent data collection.', 717 privacy_sec2_title: '2. Disclaimer',
718 privacy_sec2_p: 'While all content is provided in good faith, we make no warranties regarding completeness or absolute reliability.', 719 privacy_sec2_li1: 'The administrator shall not be held liable for any damages resulting from the use of information on this site.', 720 privacy_sec2_li2: 'We are not responsible for the content or privacy practices of external linked sites (GitHub, X, Qiita, Note, LINE Store, etc.).', 721 privacy_sec3_title: '3. Intellectual Property & Copyright', 722 privacy_sec3_p1: 'All text, visual designs, and LINE sticker works on this site are the intellectual property of the author. Unauthorized reproduction is prohibited.', 723 privacy_sec3_p2: 'Published source code repositories are governed by their respective open source licenses (e.g., MIT License).', 724 privacy_sec4_title: '4. Contact', 725 privacy_sec4_p: 'For inquiries or development opportunities, please reach out via direct message on X or GitHub.', 726 727 // 404 Page 728 err_404_title: '404 Not Found', 729 err_404_subtitle: 'Page Does Not Exist', 730 err_404_desc: 'The requested URL does not exist or has been moved.', 731 err_404_back: 'â Back to Home', 732 733 // Sudoku 9x9 Tool 734 sudoku_nav_back: 'â Profile', 735 sudoku_badge: 'Web Tool', 736 sudoku_heading: 'Sudoku 9Ã9 Generator & Solver', 737 sudoku_sub: 'Fast, deterministic 9x9 Sudoku generator & solver with guaranteed unique solutions. Features fluid candidate notes (pencil marks), tactile keyboard ergonomics, and print-ready paper layouts.', 738 sudoku_tab_play: 'Play & Generate', 739 sudoku_tab_solver: 'Custom Solver & Input', 740 sudoku_btn_new: 'New Puzzle', 741 sudoku_btn_solve: 'Solve Board', 742 sudoku_btn_note: 'Notes', 743 sudoku_btn_erase: 'Erase', 744 sudoku_btn_undo: 'Undo', 745 sudoku_btn_redo: 'Redo', 746 sudoku_btn_hint: 'Hint', 747 sudoku_stat_timer: 'TIME:', 748 sudoku_stat_mistakes: 'MISTAKES:', 749 sudoku_stat_hints: 'HINTS:', 750 sudoku_btn_copy_text: 'Copy 81-Text', 751 sudoku_btn_copy_ascii: 'Copy ASCII', 752 sudoku_btn_print: 'Print / PDF', 753 sudoku_btn_import: 'Import', 754 755 // Queens & Star Battle Tool 756 queens_nav_back: 'â Profile', 757 queens_badge: 'Web Tool', 758 queens_heading: 'Queens & Star Battle Generator', 759 queens_sub: 'Procedural generator and interactive player for the classic logic puzzle "Star Battle" (also known as Queens). Place 1 Queen per row, column, and colored region, with no touching (even diagonally). Guaranteed unique solutions, daily puzzles, and X share.', 760 queens_mode_daily: 'ð Daily Puzzle', 761 queens_mode_random: 'ð² Random Grid', 762 queens_btn_new: 'New Puzzle', 763 queens_rules_title: 'Rules & How to Play (Click to Expand)', 764 queens_rule_1: '1. Place exactly 1 ð Queen per row and column.', 765 queens_rule_2: '2. Place exactly 1 ð Queen per colored region.', 766 queens_rule_3: '3. ð Queens CANNOT touch in any of the 8 directions (including diagonals).', 767 queens_rule_4: 'Controls: Tap once for ð, twice for â. Drag to paint â quickly across cells.', 768 queens_stat_time: 'TIME:', 769 queens_stat_queens: 'QUEENS:', 770 queens_stat_hints: 'HINTS:', 771 queens_stat_best: 'BEST:', 772 queens_input_auto: 'ð Auto (ð/â/Clear)', 773 queens_input_queen: 'ð Queen', 774 queens_input_mark: 'â Mark (Draggable)', 775 queens_btn_assist: 'Auto-X Assist', 776 queens_btn_undo: 'Undo', 777 queens_btn_redo: 'Redo', 778 queens_btn_restart: 'Reset', 779 queens_btn_hint: 'Hint', 780 queens_btn_solve: 'Solution', 781 queens_share_lead: 'Solved! Share your time and emoji grid on X to challenge friends!', 782 queens_btn_copy_res: 'Copy Result', 783 queens_btn_post_x: 'Post to X', 784 queens_assist_on: 'Auto-X Assist: ON', 785 queens_assist_off: 'Auto-X Assist: OFF', 786 queens_win_title: 'Puzzle Solved!', 787 queens_win_msg: 'Great job! Solved in: ', 788 queens_confirm_solve: 'Reveal the solution?', 789 790 // WhatIsMyIP & Client Inspector 791 checker_nav_back: 'â Profile', 792 checker_badge: 'Web Tool', 793 checker_heading: 'WhatIsMyIP & Client Inspector', 794 checker_sub: 'Fast, comprehensive browser and network inspector. Check your public IP address, ISP, OS, browser version, screen resolution, and WebRTC leak status with one-click report export.', 795 checker_hero_label: 'YOUR PUBLIC IP ADDRESS', 796 checker_btn_copy: 'Copy', 797 checker_btn_copy_all: 'ð Copy Full Diagnostic Report', 798 checker_btn_share: 'Share', 799 checker_btn_refresh: 'Re-test', 800 checker_shortcut_guide: '<kbd>C</kbd> Copy IP ⢠<kbd>A</kbd> Copy Report ⢠<kbd>R</kbd> Re-test', 801 checker_card_network: 'Network & IP', 802 checker_lbl_ip: 'Primary IP', 803 checker_lbl_ipv4: 'IPv4 Address', 804 checker_lbl_ipv6: 'IPv6 Address', 805 checker_lbl_dual: 'Dual-Stack', 806 checker_lbl_isp: 'ISP / Organization', 807 checker_lbl_asn: 'ASN', 808 checker_lbl_loc: 'Location (Approx)', 809 checker_lbl_proto: 'Protocol', 810 checker_lbl_webrtc: 'WebRTC Leak', 811 checker_card_browser: 'Browser & OS', 812 checker_lbl_browser: 'Browser', 813 checker_lbl_os: 'Operating System', 814 checker_lbl_cpu: 'CPU Architecture', 815 checker_lbl_lang: 'Preferred Languages', 816 checker_lbl_tz: 'Timezone', 817 checker_lbl_ua: 'User-Agent', 818 checker_card_display: 'Display & Screen', 819 checker_lbl_screen: 'Screen Resolution',
820 checker_lbl_viewport: 'Viewport Window', 821 checker_lbl_dpr: 'Device Pixel Ratio', 822 checker_lbl_color_depth: 'Color Depth', 823 checker_lbl_theme: 'Color Scheme', 824 checker_lbl_touch: 'Touch Points', 825 checker_card_security: 'Security & Features', 826 checker_lbl_cookie: 'Cookies', 827 checker_lbl_storage: 'LocalStorage', 828 checker_lbl_idb: 'IndexedDB', 829 checker_lbl_dnt: 'Do Not Track (DNT)', 830 checker_lbl_ping: 'Latency (Ping)', 831 checker_lbl_conn: 'Connection Type', 832 checker_privacy_desc: 'Privacy Guarantee: All diagnostics and environment checks are processed locally in your browser. Zero logs stored, zero third-party tracking.', 833 link_checker_title: 'WhatIsMyIP & Client Inspector', 834 link_checker_desc: 'Instant public IP, ISP, OS, browser, screen resolution & WebRTC leak inspector with 1-click export.', 835 836 // 3D Solar System Orrery 837 solar_nav_back: 'â Profile', 838 solar_badge: '3D Tech Demo', 839 solar_heading: 'Interactive 3D Solar System', 840 solar_sub: 'Full real-time 3D solar system simulation powered by WebGL & Three.js. Features Solar Barycentric wobble physics, Keplerian orbits, 3D axial tilt, Saturnâs rings, asteroid belt, and high-res procedural textures.', 841 planet_overview: 'Overview', 842 planet_sun: 'Sun', 843 planet_mercury: 'Mercury', 844 planet_venus: 'Venus', 845 planet_earth: 'Earth', 846 planet_mars: 'Mars', 847 planet_jupiter: 'Jupiter', 848 planet_saturn: 'Saturn', 849 planet_uranus: 'Uranus', 850 planet_neptune: 'Neptune', 851 solar_pause: 'Pause', 852 solar_play: 'Play', 853 solar_speed_lbl: 'Speed:', 854 solar_ctrl_hint: 'Drag: 360° Rotate ⢠Scroll: Zoom ⢠Click Planet: Track', 855 solar_toggle_orbits: 'â Orbits', 856 solar_toggle_audio: 'ð Audio', 857 stat_radius: 'Equatorial Radius', 858 stat_mass: 'Mass', 859 stat_gravity: 'Surface Gravity', 860 stat_temp: 'Mean Temperature', 861 stat_orbit: 'Orbital Period', 862 stat_rotation: 'Rotation Period', 863 link_solar_title: 'Interactive 3D Solar System', 864 link_solar_desc: 'WebGL / Three.js 3D planetary simulation (Solar Barycentric wobble, 3D orbits & procedural textures)', 865 866 // Breadcrumbs & Related Tools Hub 867 nav_breadcrumb_home: 'Home', 868 nav_breadcrumb_tools: 'Web Tools', 869 sec_related_tools: 'OTHER WEB TOOLS & DEMOS', 870 related_solar_title: '3D Solar System', 871 related_solar_desc: 'Real-time Keplerian planetary orbit simulator', 872 related_checker_title: 'WhatIsMyIP', 873 related_checker_desc: 'IPv4/IPv6, OS, browser & WebRTC inspector', 874 related_queens_title: 'Queens Puzzle', 875 related_queens_desc: 'Daily color-region queen logic puzzle', 876 related_sudoku_title: 'Sudoku 9Ã9', 877 related_sudoku_desc: 'Unique-solution 9x9 Sudoku generator & solver', 878 related_xsearch_title: 'X Advanced Search Operator Generator', 879 related_xsearch_desc: 'Build powerful queries with min_faves, min_retweets & filters', 880 related_gravity_title: 'Gravity Chimes', 881 related_gravity_desc: 'Procedural 2D physics & Web Audio sound machine', 882 883 // Ink Drop 884 related_ind_title: 'Ink Drop', 885 related_ind_desc: 'Tap the ink before it bleeds â a reflex mini game', 886 ind_lives: 'STAINS', 887 ind_sound: 'Sound', 888 ind_lead: 'Tap each ink drop before it bleeds into the paper.', 889 ind_rule_1: 'The smaller the drop, the more points', 890 ind_rule_2: 'Vermilion drops are fast but worth <strong>3Ã</strong>', 891 ind_rule_3: 'Chain taps for a combo multiplier. A miss resets it', 892 ind_rule_4: 'Three stains and it is over', 893 ind_start: 'Start', 894 ind_best: 'Best', 895 ind_resume: 'Resume', 896 ind_new_best: 'NEW BEST', 897 ind_stat_hits: 'Drops', 898 ind_stat_combo: 'Max combo', 899 ind_stat_time: 'Time', 900 ind_retry: 'Play again', 901 ind_share: 'Share', 902 ind_share_score: 'Scored {score} in Ink Drop', 903 ind_share_best: ' (new personal best)', 904 ind_share_hits: 'Cleared {hits} drops', 905 ind_share_hits_combo: 'Cleared {hits} drops with a max combo of {combo}', 906 ind_footnote: 'Your best score is stored only in this browser.', 907 908 // X First Post Finder 909 related_xfp_title: 'X First Post Finder', 910 related_xfp_desc: "Narrow down an account's first post by year and month", 911 xfp_heading: 'X First Post Finder', 912 xfp_sub: 'Find the very first post of any X account by narrowing the search window year by year, then month by month.', 913 xfp_lbl_handle: 'Username', 914 xfp_hint_handle: 'An @handle, a profile URL, or any text containing the @handle', 915 xfp_err_handle: 'Usernames are 1â15 letters, digits or _', 916 xfp_lbl_join: 'Joined', 917 xfp_optional: 'optional', 918 xfp_hint_join: 'Paste "Joined June 2010" from the profile as is', 919 xfp_ph_join: 'June 2010', 920 xfp_err_join: 'Could not read the month', 921 xfp_lbl_replies: 'Exclude replies', 922 xfp_hint_replies: '-filter:replies â show standalone posts only', 923 xfp_join_heading: 'Start from the join date', 924 xfp_join_1m: 'Join month', 925 xfp_join_3m: 'First 3 months', 926 xfp_join_1y: 'First year', 927 xfp_year_heading: 'Narrow down by year', 928 xfp_year_hint: 'Tap a year to switch to its months.', 929 xfp_open_year: 'Open the whole year â', 930 xfp_lbl_mode: 'Open in tab', 931 xfp_hint_mode: '"Latest" often returns nothing for old ranges. Use "Top" if nothing shows up.', 932 xfp_step1: '"Top" is not chronological, so narrow the range with monthly links and compare post dates. If "Latest" works, it is newest first and the bottom post is the oldest.', 933 xfp_notes_heading: 'Notes', 934 xfp_note_login: 'X search requires you to be logged in.', 935 xfp_note_index: 'Protected accounts, deleted posts and old posts missing from the search index will not show up.', 936 xfp_note_archive: 'For your own account, <strong>Settings â Your account â Download an archive of your data</strong> is the most reliable full history.', 937 xfp_note_privacy: 'Nothing you type is sent anywhere. Links are built in your browser.', 938 xfp_toast_query_copied: 'Query copied', 939 xfp_toast_url_copied: 'Share URL copied', 940 xfp_toast_copy_failed: 'Copy failed', 941 xfp_clear: 'Clear', 942 xfp_paste: 'Paste', 943 xfp_options: 'Search options', 944 xfp_result_lead: 'Open periods from the oldest. No results? Move on. Found some? Narrow the range. Opened periods get a â.', 945 xfp_reset_checked: 'Reset â', 946 xfp_next: 'OPEN NEXT', 947 xfp_toast_paste_failed: 'Could not read the clipboard', 948 949 // Gravity Chimes (SCR-016) 950 gc_nav_back: 'â Profile', 951 gc_badge: 'Sound Experiment', 952 gc_experiment_label: 'Physics & Web Audio Lab', 953 gc_title: 'Gravity Chimes', 954 gc_desc: 'Procedural geometric sound machine synthesizing harmonious pentatonic melodies upon every physics bounce. Pure JS & Web Audio API with zero external audio assets.',
955 gc_audio_prompt_text: 'ðµ Click anywhere on the screen or press the button to enable audio', 956 gc_btn_enable_audio: 'Enable Audio â¶', 957 gc_tool_line: 'Elastic Line', 958 gc_tool_pin: 'Chime Pin', 959 gc_tool_ball: 'Spawn Orb', 960 gc_tool_erase: 'Eraser', 961 gc_panel_presets: 'Presets', 962 gc_preset_zen_name: 'Zen Polygon', 963 gc_preset_zen_desc: 'Infinite loop inside rotating hexagon', 964 gc_preset_rain_name: 'Rain Chimes', 965 gc_preset_rain_desc: 'Cascading drops through pin forest', 966 gc_preset_clock_name: 'Kinetic Clockwork', 967 gc_preset_clock_desc: 'Gears and seesaws kinetic chain', 968 gc_preset_sandbox_name: 'Sandbox', 969 gc_preset_sandbox_desc: 'Freestyle kinetic musical instrument', 970 gc_panel_music: 'Scales & Tunings', 971 gc_scale_label: 'Musical Scale', 972 gc_vol_label: 'Master Volume', 973 gc_panel_physics: 'Physics Parameters', 974 gc_gravity_mode_label: 'Gravity Mode', 975 gc_grav_down: 'Earth (â)', 976 gc_grav_zero: 'Zero-G (0)', 977 gc_grav_hole: 'Black Hole (â)', 978 gc_grav_anti: 'Anti-G (â)', 979 gc_bpm_label: 'Spawner Tempo (BPM)', 980 gc_btn_pause: 'Pause', 981 gc_btn_play: 'Resume', 982 gc_btn_clear_balls: 'Clear Orbs', 983 gc_btn_clear_all: 'Clear All', 984 gc_btn_record: 'Record (WebM)', 985 gc_author_desc: 'Pure JS 2D physics & Web Audio API procedural sound synthesizer', 986 987 // X Advanced Search Tool 988 xsearch_nav_back: 'Profile', 989 xsearch_badge: 'Web Tool', 990 xsearch_heading: 'X (Twitter) Advanced Search Operator Generator', 991 xsearch_sub: 'Visually construct powerful search queries using official operators like min_faves (likes), min_retweets, excluding replies, media filters, and date ranges.', 992 xsearch_presets_heading: '1-Click Power Presets', 993 xsearch_preset_faves: 'ð 1,000+ Likes', 994 xsearch_preset_viral: 'ð¥ 5,000+ Super Viral', 995 xsearch_preset_rt: 'ð 500+ Reposts', 996 xsearch_preset_clean: 'ð§¹ Clean (No Spam/Replies)', 997 xsearch_preset_video: 'ð¥ Viral Videos', 998 xsearch_preset_question: 'â Questions & Issues', 999 xsearch_preset_year_ago: 'ð 1 Year Ago Today', 1000 xsearch_card_keywords: 'Keywords', 1001 xsearch_kw_all: 'All of these words (AND)', 1002 xsearch_kw_exact: 'Exact phrase ("...")', 1003 xsearch_kw_any: 'Any of these words (OR)', 1004 xsearch_kw_none: 'None of these words (NOT -)', 1005 xsearch_kw_question: 'Questions only (?)', 1006 xsearch_card_metrics: 'Engagement Thresholds', 1007 xsearch_metric_faves: 'Minimum Likes (min_faves)', 1008 xsearch_metric_rts: 'Minimum Reposts (min_retweets)', 1009 xsearch_metric_replies: 'Minimum Replies (min_replies)', 1010 xsearch_tip_views: 'About X Official Specs: Search operators like min_faves or min_retweets return 0 results when used alone without keywords. Furthermore, view count (impressions) operators do not exist on X. Combining your search term with "Minimum Likes (min_faves)" yields the most reliable results.', 1011 xsearch_card_filters: 'Filters & Media', 1012 xsearch_filter_no_replies: 'Exclude replies (-filter:replies)', 1013 xsearch_filter_images: 'Images only (filter:images)', 1014 xsearch_filter_videos: 'Videos only (filter:videos)', 1015 xsearch_filter_links: 'Links only (filter:links)', 1016 xsearch_filter_no_links: 'Exclude links (-filter:links)', 1017 xsearch_filter_lang_ja: 'Japanese only (lang:ja)', 1018 xsearch_filter_verified: 'Verified users only', 1019 xsearch_card_dates: 'Date Range', 1020 xsearch_date_since: 'Since date (YYYY-MM-DD)', 1021 xsearch_date_until: 'Until date (YYYY-MM-DD)', 1022 xsearch_card_accounts: 'Account Filters', 1023 xsearch_account_from: 'From these accounts (from:)', 1024 xsearch_account_to: 'To these accounts (to:)', 1025 xsearch_output_heading: 'Generated Query', 1026 xsearch_warn_missing_kw: 'No search keyword entered. Due to X specifications, queries with only operators return 0 results. Please enter a search term.', 1027 xsearch_tab_top: 'Top Posts', 1028 xsearch_tab_live: 'Latest Posts', 1029 xsearch_btn_open_x: 'Search on X', 1030 xsearch_btn_copy: 'Copy', 1031 xsearch_btn_reset: 'Reset', 1032 xsearch_btn_share: 'Share URL', 1033 xsearch_lbl_keyword: 'Search Keyword', 1034 xsearch_hint_keyword: 'Separate multiple words with spaces', 1035 xsearch_lbl_conditions: 'Filters (Click to toggle)', 1036 xsearch_filter_likes: 'Minimum Likes', 1037 opt_all: 'Any', 1038 opt_all_period: 'All Time', 1039 xsearch_filter_media: 'Media',
1040 xsearch_filter_period: 'Date Range', 1041 xsearch_tab_label: 'Tab:', 1042 xsearch_tip_smart: '<strong>Top 3 Tips for X Search:</strong><br>1. Use <strong>Min Likes (`min_faves:1000`)</strong> to filter out noise and discover high-quality posts.<br>2. Use <strong>Exclude Replies (`-filter:replies`)</strong> to hide comment threads and view original posts only.<br>3. Search operators work best when <strong>combined with keywords</strong>. Type your keywords and explore!', 1043 xsearch_copied_toast: 'Query copied to clipboard!', 1044 1045 // Flagship Portal Global Navigation & Announcement 1046 hub_nav_lineup: 'Lineup', 1047 hub_nav_articles: 'Articles', 1048 hub_nav_tech: 'Engineering', 1049 hub_nav_topics: 'Topics', 1050 hub_nav_contact: 'Contact', 1051 hub_sub_announce: 'Lifelong humble programmer kixking works & tools suite. Optimized for Desktop & Mobile.', 1052 1053 // Hero Slider Captions 1054 hub_hero1_tag: '3D WEB ORRERY', 1055 hub_hero1_title: 'Deep Space in Your Hands.', 1056 hub_hero1_sub: '3D SOLAR SYSTEM ORRERY â Solar Barycentric wobble physics, Keplerian orbits, and real-time Web Audio ambient synthesis.', 1057 hub_hero1_cta: 'Experience in 3D', 1058 1059 hub_hero2_tag: 'HIGH-ACCURACY UTILITY', 1060 hub_hero2_title: 'Instant Network Transparency.', 1061 hub_hero2_sub: 'WHATISMYIP & CLIENT INSPECTOR â Dual-stack IPv4/IPv6 detection, 2026 high-entropy Client Hints, and 1-tap Web Share.', 1062 hub_hero2_cta: 'Inspect Environment', 1063 1064 hub_hero3_tag: 'NATIVE ANDROID APPS', 1065 hub_hero3_title: 'Tactile Ergonomics Perfected.', 1066 hub_hero3_sub: 'GOOGLE PLAY STORE APPS â 6 published native Android apps including PairLauncher and Jiggly Pudding.', 1067 hub_hero3_cta: 'Browse App Catalog', 1068 1069 hub_hero4_tag: 'MATHEMATICAL LOGIC', 1070 hub_hero4_title: 'Pure Logic & Aesthetic.', 1071 hub_hero4_sub: 'QUEENS & SUDOKU PUZZLE SUITE â Math-proven unique-solution generator with daily seeded puzzles.', 1072 hub_hero4_cta: 'Play Puzzles', 1073 1074 // Important Notices & Topics Ticker 1075 hub_notice_badge: 'Important Notice', 1076 hub_notice_1: '[Feature Update] WhatIsMyIP IPv4/IPv6 Dual-Stack inspection & Web Share API launched', 1077 hub_notice_2: '[Tech Update] 3D Solar System Barycentric Wobble physics & 3D orbital inclinations released', 1078 hub_notice_view_all: 'View All', 1079 hub_topics_badge: 'Topics', 1080 1081 // Lineup Section (Showcase style) 1082 hub_lineup_heading: 'Lineup', 1083 hub_lineup_sub: 'All models and creations engineered by kixking â Web tools, native Android apps, and tech demos.', 1084 hub_btn_detail: 'Learn More', 1085 hub_btn_experience: 'Experience Now', 1086 hub_btn_specs: 'View Specifications', 1087 1088 // Related Services Grid 1089 hub_sec_services: 'Related Services & Resources', 1090 hub_sec_services_sub: 'Source code repositories, technical essays, articles, and store profiles across platforms.', 1091 hub_service_github_title: 'GitHub Repositories', 1092 hub_service_github_desc: 'Open-source code, commits, and implementation logs', 1093 hub_service_note_title: 'Note Essays', 1094 hub_service_note_desc: 'Development philosophy, design essays, and creative reflections', 1095 hub_service_qiita_title: 'Qiita Articles', 1096 hub_service_qiita_desc: 'Troubleshooting, architecture insights, and benchmarks', 1097 hub_service_play_title: 'Google Play Developer', 1098 hub_service_play_desc: 'Official Android store catalog for all 6 published apps', 1099 hub_service_line_title: 'LINE Creators Market', 1100 hub_service_line_desc: 'Collection of original custom LINE sticker sets', 1101 hub_service_blog_title: 'Official Blog (kixking.xyz)', 1102 hub_service_blog_desc: 'Personal technical blog, archives, and essays', 1103 1104 // Floating Widget & Footer 1105 hub_widget_btn: 'Contact', 1106 hub_widget_modal_title: 'About kixking / Contact', 1107 hub_widget_modal_desc: 'For inquiries, bug reports, collaboration, or engineering feedback, please reach out via X (@kixking1020) DM or GitHub.' 1108 } 1109 }; 1110 1111 let currentLang = 'ja'; 1112 1113 function getSavedLanguage() { 1114 // 1. Check URL query parameter (?lang=en or ?lang=ja) 1115 try {
1116 const urlParams = new URLSearchParams(window.location.search); 1117 const queryLang = urlParams.get('lang'); 1118 if (queryLang && (queryLang === 'ja' || queryLang === 'en')) { 1119 return queryLang; 1120 } 1121 } catch (e) {} 1122 1123 // 2. Check localStorage 1124 try { 1125 const saved = localStorage.getItem(STORAGE_KEY); 1126 if (saved && (saved === 'ja' || saved === 'en')) { 1127 return saved; 1128 } 1129 } catch (e) {} 1130 1131 // 3. Check browser locale 1132 try { 1133 const browserLang = (navigator.language || navigator.userLanguage || '').toLowerCase(); 1134 if (browserLang.startsWith('ja')) { 1135 return 'ja'; 1136 } 1137 return 'en'; // Default to English for international visitors 1138 } catch (e) { 1139 return 'ja'; 1140 } 1141 } 1142 1143 function applyLanguage(lang, showToastFeedback = false) { 1144 if (!translations[lang]) lang = 'ja'; 1145 currentLang = lang; 1146 1147 // Set html lang attribute 1148 document.documentElement.setAttribute('lang', lang); 1149 1150 // Save to localStorage 1151 try { 1152 localStorage.setItem(STORAGE_KEY, lang); 1153 } catch (e) {} 1154 1155 // Update all elements with data-i18n 1156 const elements = document.querySelectorAll('[data-i18n]'); 1157 const dict = translations[lang]; 1158 1159 elements.forEach((el) => { 1160 const key = el.getAttribute('data-i18n'); 1161 if (dict[key] !== undefined) { 1162 // If element has inner tags or is plain text 1163 if (el.getAttribute('data-i18n-html') === 'true') { 1164 el.innerHTML = dict[key]; 1165 } else { 1166 el.textContent = dict[key]; 1167 } 1168 } 1169 }); 1170 1171 // Update placeholders / titles / aria-labels with data-i18n-attr 1172 const attrElements = document.querySelectorAll('[data-i18n-attr]'); 1173 attrElements.forEach((el) => { 1174 const config = el.getAttribute('data-i18n-attr'); // e.g. "title:theme_light_tip" 1175 if (config) { 1176 config.split(';').forEach((pair) => { 1177 const [attr, key] = pair.split(':'); 1178 if (attr && key && dict[key] !== undefined) { 1179 el.setAttribute(attr.trim(), dict[key]); 1180 } 1181 }); 1182 } 1183 }); 1184 1185 // Update language toggle buttons 1186 const langButtons = document.querySelectorAll('.lang-btn'); 1187 langButtons.forEach((btn) => { 1188 const btnLang = btn.getAttribute('data-lang-val'); 1189 if (btnLang === lang) { 1190 btn.classList.add('active'); 1191 btn.setAttribute('aria-checked', 'true'); 1192 } else { 1193 btn.classList.remove('active'); 1194 btn.setAttribute('aria-checked', 'false'); 1195 } 1196 }); 1197 1198 // Send GA4 Event 1199 if (typeof window.gtag === 'function') { 1200 try { 1201 window.gtag('event', 'language_change', { language: lang }); 1202 } catch (e) {} 1203 } 1204 1205 // Trigger toast if requested 1206 if (showToastFeedback && typeof window.showToastMessage === 'function') { 1207 window.showToastMessage(dict.toast_lang_changed); 1208 } 1209 } 1210 1211 function init() { 1212 const initialLang = getSavedLanguage(); 1213 applyLanguage(initialLang, false); 1214 1215 // Bind language button clicks 1216 document.addEventListener('DOMContentLoaded', () => { 1217 setupLangButtons(); 1218 }); 1219 // In case DOM is already loaded 1220 if (document.readyState === 'complete' || document.readyState === 'interactive') { 1221 setupLangButtons(); 1222 } 1223 } 1224 1225 function setupLangButtons() { 1226 const langButtons = document.querySelectorAll('.lang-btn'); 1227 langButtons.forEach((btn) => { 1228 btn.addEventListener('click', () => { 1229 const lang = btn.getAttribute('data-lang-val'); 1230 if (lang && lang !== currentLang) { 1231 applyLanguage(lang, true); 1232 } 1233 }); 1234 }); 1235 } 1236 1237 // Self-initialize 1238 init(); 1239 1240 return { 1241 translations: translations, 1242 getCurrentLanguage: function () { 1243 return currentLang; 1244 }, 1245 setLanguage: function (lang, showToast) { 1246 applyLanguage(lang, showToast); 1247 }, 1248 t: function (key) { 1249 return (translations[currentLang] && translations[currentLang][key]) || key; 1250 } 1251 }; 1252});
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.