์ผ๋จ ๋์ถฉ ํธํํด๋ก ํ์งํ ์ํธ ์์
์ ํด์ค
๋๋ ๊ตฌ๊ธ ์คํ๋ ๋ ๊ทธ๊ฑฐ ์
A์ด์ด "Key" ๊ฐ ๋๋ ๊ฐ์ด๊ณ , 1ํ์ด ์ธ์ด ๊ตฌ๋ถ์ ์ฐ์ผ ๋ถ๋ถ์
2ํ๋ถํฐ๊ฐ ์ค์ ๋ก ๋ณด์ฌ์ค ๊ฐ์
๋ค ์ผ์ผ๋ฉด csv๋ก ๋ด๋ณด๋ด์ ๋ฆฌ์์ค ํด๋ ใฑใฑ

๊ทธ๋ฆฌ๊ณ ํ์งํ.cs ํ์ผ์ ํ๋ ๋ง๋ค์ด์ฃผ๊ณ
๋ฐ์ ๋ด์ฉ ๋ณต๋ถ ใฑใฑ
private Dictionary<string, Dictionary<string, string>> localizationText; // ๋์
๋๋ฆฌ์ ๋ด์์ค๋ค
private void LoadLocalizationData(string fileName) // csv ํ์ผ ๋ถ๋ฌ์ค๋๊ฑฐ
{
localizationText = new Dictionary<string, Dictionary<string, string>>();
TextAsset csvFile = Resources.Load<TextAsset>(fileName); // ๋ฆฌ์์ค ํด๋์์ ์ฝ์ด์ด
if (csvFile == null)
{
Debug.LogError("CSV ํ์ผ์ด ์์ด์");
return;
}
string[] lines = csvFile.text.Split(new[] { '\n', '\r' }, System.StringSplitOptions.RemoveEmptyEntries);
if (lines.Length <= 1)
{
Debug.LogError("CSV ํ์ผ์ ํ์ธํ์ธ์ ๋ญ๊ฐ ๋ฌธ์ ๊ฐ ์๋จ๋ค");
return;
}
string[] headers = lines[0].Split(',');
for (int i = 0; i < lines.Length; i++)
{
if (string.IsNullOrWhiteSpace(lines[i])) continue;
string[] fields = lines[i].Split(',');
if (fields.Length == 0) continue;
string key = fields[0].Trim();
if (string.IsNullOrWhiteSpace(key)) continue;
localizationText[key] = new Dictionary<string, string>();
for (int j = 0; j < headers.Length; j++)
{
if (j < fields.Length)
{
string header = headers[j].Trim();
string value = fields[j].Trim();
if (!string.IsNullOrWhiteSpace(header) && !string.IsNullOrWhiteSpace(value))
{
localizationText[key][header] = value;
}
}
}
}
}
public string Get_LocalizedText(string key) // ๋ถ๋ฌ์ฌ ๋ ์ด๊ฑธ ์ฐ๋ฉด ๋จ, Get_LocalizedText("ํค");
{
string lang = "English"; // 1ํ์ ๋ค์ด์๋ ๋ด์ฉ ๊ธฐ์ค์ผ๋ก ๋ถ๋ฌ์ด, ์ธ๋ถ์์ ๋ฐ์์จ๊ฑธ๋ก ๊ฐ์ ๋ฐ๊ฟ์ฃผ๋ฉด ์ต์
์ค์ ๋ง๋ค๊ธฐ ใ
๊ฐ๋ฅ
if (localizationText.ContainsKey(key) && localizationText[key].ContainsKey(lang))
{
return localizationText[key][lang];
}
return $"{key} << ์ด ๊ฐ์ด ์์";
}
private void Start() {
LoadLocalizationData("๋์ถฉ ๋๊ฐ ์ ์ฅํ csvํ์ผ ์ด๋ฆ");
}
์ฝ๋์๋ ์ฃผ์ ๋ฌ์๋จ๋๋ฐ ์ถ๊ฐ ์ค๋ช
๋ถํ์๋ฉด
Get_LocalizedText("Key"); ๋ก ๋ถ๋ฌ์ฌ ์ ์๊ณ , ์ฌ๊ธฐ์ ํค๊ฐ์ A์ด์ ๋ฑ๋ก๋ ๋ด์ฉ
Get_LocalizedText << ์ด ํจ์ ๋ด๋ถ์์, 1ํ์ ๊ฐ์ ๊ธฐ์ค์ผ๋ก ๊ฒฐ๊ณผ๋ฅผ ๋ฐ์์ค๊ธฐ ๋๋ฌธ์
Get_LocalizedText ํจ์ ๋ด๋ถ์ lang << ์ด ๊ฐ๋ง ๋๊ฐ ์ค๋นํ ์ธ์ด๋งํผ ๋ฐ๊ฟ์ฃผ๋ฉด ๋จ
์ด๊ฑด ๋จ์ด > ๋จ์ด ๊ธฐ์ค์ธ๋ฐ, ๋์ฌ๊ฐ์ด ๋ด์ฉ์ด ๊ธธ์ด์ง๋ ์ ๋ค์
A์ด์ ์ซ์๋กํ๊ณ (1100 ๋ญ ๊ทธ๋ฐ์) ๊ทธ๊ฑธ ํค๊ฐ์ผ๋ก ๋ถ๋ฌ์ค๊ฒ ํ๋ฉด ์ง์ง ๊ธด ๋ด์ฉ๋ ๊ด๋ฆฌ ์๊ฐ๋ฅ์

์ ๋ณด์ถ