ºÇ½ª¹¹¿·¡§
orika_ex_miyako 2024ǯ02·î01Æü(ÌÚ) 10:34:10ÍúÎò
¡¡¥²¡¼¥àÆâ¤Ë¸À¸ìÀßÄê¤òÍÑ°Õ¤·¡¢¤³¤ÎÀßÄê¤òÀÚ¤êÂؤ¨¤ë¤È¡¢²èÌ̤κÆÆɤ߹þ¤ß¤ò¹Ô¤ï¤º¡¢Æ°Åª¤Ëɽ¼¨¤µ¤ì¤ëʸ»ú¤Î¸À¸ìÀÚ¤êÂؤ¨¤ò¹Ô¤¤¤Þ¤¹¡£
¡ã´°À®Æ°²è¡ä

¡¡¥µ¡¼¥Ð¡¼Â¦¡¢¤¢¤ë¤¤¤Ï¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤Ê¤É¤Ë¥Ç¡¼¥¿¤È¤·¤Æ³Æ¸À¸ì¤Î¥Ç¡¼¥¿¤òÍÑ°Õ¤·¤Æ¤ª¤¤Þ¤¹¡£
¤½¤Á¤é¤ËÂФ·¤Æ¡¢¥²¡¼¥àÆâ¤Ç¸½ºßÍøÍѤ·¤Æ¤¤¤ë¸À¸ìÀßÄê¤òÈ¿±Ç¤·¡¢É³¤Å¤±¤ë¤³¤È¤Ç¸À¸ì¤òÀÚ¤êÂؤ¨¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£
¡¡Î㤨¤Ð¡¢ÆüËܸì¤ÎÀßÄê¤ò¹Ô¤Ã¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï¡¢¥Ç¡¼¥¿¥Ù¡¼¥¹Æ⤫¤é»ØÄꤵ¤ì¤¿Ã±¸ì¤òÆüËܸì¤Çɽ¼¨¤¹¤ë¤è¤¦¤ËɳÉÕ¤±¤·¤Þ¤¹¡£
¡¡¤Ê¤ª¡¢TextMeshPro ¤òÍøÍѤ·¤Æ¥Õ¥©¥ó¥È¤Î¥Þ¥Æ¥ê¥¢¥ë¤òºîÀ®¤·¤Æ¤¤¤ë¾ì¹ç¡¢ÆüËܸì°Ê³°¤Îʸ»ú¤Ë¤Ä¤¤¤Æ¤Ï
TextMeshPro ¤Î Fallback Asset Font µ¡Ç½¤ò³èÍѤ·¤Æ¡¢£±¤Ä¤Î¥Õ¥©¥ó¥È¥¢¥»¥Ã¥È¤«¤éÊ£¿ô¤Î¸À¸ì¤ò»²¾È¤·¤Æɽ¼¨¤Ç¤¤ë¤è¤¦¤Ë½àÈ÷¤·¤Æ¤ª¤¯¤È¤è¤¤¤Ç¤·¤ç¤¦¡£
¡¡¡¡=>¡¡Fallback Asset Font µ¡Ç½¤òÍøÍѤ·¤¿¥í¡¼¥«¥é¥¤¥ºÂбþ
¡¡¸À¸ì¤Î¼ïÎà¤Ë¤Ä¤¤¤Æ¤Ï enum ¤ä¥Ç¡¼¥¿¥Ù¡¼¥¹¤È¤·¤Æ´ÉÍý¤·¤Æ¤ª¤¯¤è¤¦¤Ë¤·¤Þ¤¹¡£
/// <summary> /// ¸À¸ì¤Î¼ïÎà /// </summary> public enum Language { jp, // ÆüËܸì kr, // ´Ú¹ñ¸ì en, // ±Ñ¸ì // TODO Ǥ°ÕÄɲà }
¡¡Json ·Á¼°¤Î¥Õ¥¡¥¤¥ë¤Î¾ì¹ç¤âƱÍͤǤ¹¡£
¤³¤³¤Ç¤Ï¥¹¥×¥ì¥Ã¥É¥·¡¼¥È¤ÇÍÑ°Õ¤·¤¿¥Ç¡¼¥¿¥Ù¡¼¥¹¤ò Json ·Á¼°¤Ë½ÐÎϤ·¤ÆÍøÍѤ·¤Þ¤¹¡£
¡¡¥µ¡¼¥Ð¡¼Â¦¤ËÍÑ°Õ¤¹¤ë¾ì¹ç¤Ë¤Ï Json ·Á¼°¤¬ÊØÍø¤Ç¤·¤ç¤¦¡£
¡¡¥¹¥×¥ì¥Ã¥É¥·¡¼¥ÈÆâ¤Î¥á¥Ë¥å¡¼¤è¤ê¡Ö³ÈÄ¥µ¡Ç½¡×¢ª¡ÖAppsScript¡× ¤òÁªÂò¤·¤Þ¤¹¡£
Ê̤Υ¿¥Ö¤Ç¥¹¥¯¥ê¥×¥È¤ÎÊÔ½¸¥Ú¡¼¥¸¤¬³«¤¤Þ¤¹¡£

¡¡¥Ú¡¼¥¸Æâ¤Ë¤ÏºÇ½é¤«¤é¥¹¥¯¥ê¥×¥È¥Õ¥¡¥¤¥ë¤¬£±¤ÄºîÀ®¤µ¤ì¤Æ¤¤¤Þ¤¹¤Î¤Ç¡¢
¤³¤Á¤é¤òÊÔ½¸¤·¤Æ¡¢¸½ºß³«¤¤¤Æ¤¤¤ë¥·¡¼¥È¤ÎÆâÍƤò Json ·Á¼°¤Ç½ÐÎϤ¹¤ëµ¡Ç½¤òºî¤ê¤Þ¤¹¡£

¡¡¥Õ¥¡¥¤¥ë̾¤Ï¤ï¤«¤ê¤ä¤¹¤¤Ì¾¾Î¤Ç¤¢¤ì¤Ð²¿¤Ç¤â¹½¤¤¤Þ¤»¤ó¡£
function exportToJson() { // ¥·¡¼¥È̾¤ò»ØÄê var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Sheet1'); // 'Sheet1'¤Ï³Æ¼«¤Î¥·¡¼¥È̾¤ËÊѹ¹ // ¥Ç¡¼¥¿¤ò¼èÆÀ var data = sheet.getDataRange().getValues(); // ¥Ø¥Ã¥À¡¼¹Ô¤ò¼èÆÀ var headers = data[0]; // ¥Ç¡¼¥¿¤òJSON·Á¼°¤ËÊÑ´¹ var jsonData = []; for (var i = 1; i < data.length; i++) { var row = data[i]; var obj = {}; obj['tag'] = row[0]; // 'jp', 'kr', 'en' ¤ÎÎó¤òÇÛÎó¤Ë¤Þ¤È¤á¤ë obj['languageDatas'] = [row[1], row[2], row[3]]; jsonData.push(obj); } // JSON¥Ç¡¼¥¿¤ò½ÐÎÏ var jsonOutput = JSON.stringify(jsonData, null, 2); Logger.log(jsonOutput); // ¥Õ¥¡¥¤¥ë¤Ë½ñ¤¹þ¤à¾ì¹ç // var jsonFile = DriveApp.createFile('output.json', jsonOutput, MimeType.PLAIN_TEXT); }
¡¡¾åµ¤Î¥¹¥¯¥ê¥×¥È¤ò¼Â¹Ô¤¹¤ë¤³¤È¤Ç¡¢¥¹¥×¥ì¥Ã¥É¥·¡¼¥È¤ÎÆâÍƤϲ¼µ¤Î¤è¤¦¤Ê·Á¼°¤Ç Json ¥Õ¥¡¥¤¥ë¤È¤·¤Æ½ñ¤½Ð¤·¤µ¤ì¤Þ¤¹¡£
[ { "tag": "some_tag", "languageDatas": ["data1", "data2", "data3"] }, { "tag": "another_tag", "languageDatas": ["dataA", "dataB", "dataC"] } ]
¡¡¾åµ¤Î AppScript ¤ò¼Â¹Ô¤¹¤ë¤È¡¢¥¹¥×¥ì¥Ã¥É¥·¡¼¥È¤ÎÆâÍƤò Json ¤È¤·¤Æ½ÐÎϤǤ¤Þ¤¹¡£
¤³¤ÎÎã¤Ç¤Ï¡¢³Æ¸À¸ì¤Ë¤Ä¤¤¤Æ languageDatas ¤È¤·¤ÆÇÛÎó¤Ë½ñ¤½Ð¤·¤Æ¤¤¤Þ¤¹¡£
[ { "tag": "greeting", "languageDatas": [ "¤ª¤Ï¤è¤¦", "안녕하세요", // Seesaa Wiki ¤Î»ÅÍ;åɽ¼¨¤µ¤ì¤Þ¤»¤ó¤¬¡¢´Ú¹ñ¸ì¤Ç¤¹ "Hello" ] }, { "tag": "battle", "languageDatas": [ "ÀïÆ®", "전투", // Seesaa Wiki ¤Î»ÅÍ;åɽ¼¨¤µ¤ì¤Þ¤»¤ó¤¬¡¢´Ú¹ñ¸ì¤Ç¤¹ "Battle" ] } ]
¡¡°Ê¾å¤Ç¤³¤Î¼ê½ç¤Ï½ªÎ»¤Ç¤¹¡£
¡¡°ú¤Â³¤¡¢¥í¡¼¥«¥é¥¤¥ºÂбþ¤Î¼ÂÁõ¤ò¹Ô¤¤¤Þ¤¹¡£
¡¡¡¡=>¡¡¥í¡¼¥«¥é¥¤¥ºÂбþ¤Î¼ÂÁõÎã¢
- ¥«¥Æ¥´¥ê¡§
- ¿Ê³Ø/¥¹¥¯¡¼¥ë
- ¥×¥í¥°¥é¥ß¥ó¥°
¥³¥á¥ó¥È¤ò¤«¤¯