/// <summary>
        /// JSONのツリーを探索して、一つの言語分のデータをLangageData型のインスタンスとして作成します。
        /// </summary>
        /// <param name="obj"></param>
        /// <param name="list"></param>
        private static void Traverse(JObject obj, ref LanguageData list)
        {
            foreach (var item in obj)
            {
                var value = item.Value;
                // itemがツリー構造の枝/葉のどちらか判定
                var isLeaf = value.Type != JTokenType.Object;

                if (isLeaf)
                {
                    var ns = TrimEnd(value.Path, "." + item.Key);

                    var str = value.Type != JTokenType.Array ? value.ToString() : value.ToString(Formatting.None);
                    var data = new LocalizationItem(ns, item.Key, str);
                    list.Add(data);
                }
                else
                {
                    Traverse((JObject)value, ref list);
                }
            }
        }