ºÇ½ª¹¹¿·¡§
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"
]
}
]
¡¡°Ê¾å¤Ç¤³¤Î¼ê½ç¤Ï½ªÎ»¤Ç¤¹¡£
¡¡°ú¤Â³¤¡¢¥í¡¼¥«¥é¥¤¥ºÂбþ¤Î¼ÂÁõ¤ò¹Ô¤¤¤Þ¤¹¡£
¡¡¡¡=>¡¡¥í¡¼¥«¥é¥¤¥ºÂбþ¤Î¼ÂÁõÎã¢
- ¥«¥Æ¥´¥ê¡§
- ¿Ê³Ø/¥¹¥¯¡¼¥ë
- ¥×¥í¥°¥é¥ß¥ó¥°





¥³¥á¥ó¥È¤ò¤«¤¯