質問編集履歴

3

追記の修正

2018/05/14 23:29

投稿

Anon_
Anon_

スコア334

test CHANGED
File without changes
test CHANGED
@@ -146,7 +146,7 @@
146
146
 
147
147
 
148
148
 
149
- public GetList(string lang, string page)
149
+ public dynamic GetList(string lang, string page)
150
150
 
151
151
  {
152
152
 

2

追記です

2018/05/14 23:29

投稿

Anon_
Anon_

スコア334

test CHANGED
File without changes
test CHANGED
@@ -59,3 +59,139 @@
59
59
  ?>
60
60
 
61
61
  ```
62
+
63
+
64
+
65
+
66
+
67
+
68
+
69
+ 追記1
70
+
71
+
72
+
73
+ 頂いた意見を参考に下記の形で実装しようと試みましたが、変なところで躓いてしましました。
74
+
75
+ 下記クラスをnewしたときに各言語テキストをセットし、GetList()で取得という処理を行いのですが、switchのreturn data箇所でコンテキストが存在しませんというエラーがでてしまいます。
76
+
77
+ また、取得する側のコードのvar textdata2 = new TextData2("fruit");の箇所では下記画像のようなエラーがでてしまいますが原因が分からない状況です。
78
+
79
+
80
+
81
+ ![イメージ説明](ce42afc3bfb35dceb861e78e77797344.png)
82
+
83
+
84
+
85
+ ```ここに言語を入力
86
+
87
+
88
+
89
+   public class Fruit
90
+
91
+ {
92
+
93
+ public string lang { get; set; }
94
+
95
+ public string apple { get; set; }
96
+
97
+ public string banana { get; set; }
98
+
99
+ public string grape { get; set; }
100
+
101
+ }
102
+
103
+
104
+
105
+
106
+
107
+ public class TextData2
108
+
109
+ {
110
+
111
+
112
+
113
+ public List<Fruit> fruit_list;
114
+
115
+
116
+
117
+ public void Main(string page)
118
+
119
+ {
120
+
121
+ switch (page)
122
+
123
+ {
124
+
125
+ case "fruit":
126
+
127
+ fruit_list = new List<Fruit>()
128
+
129
+ {
130
+
131
+ new Fruit(){lang = "ja", apple = "りんご", banana = "ばなな", grape="ぶどう"},
132
+
133
+ new Fruit(){lang = "en", apple = "apple", banana = "banana", grape="grape"},
134
+
135
+ };
136
+
137
+ break;
138
+
139
+
140
+
141
+
142
+
143
+ }
144
+
145
+ }
146
+
147
+
148
+
149
+ public GetList(string lang, string page)
150
+
151
+ {
152
+
153
+ switch (page)
154
+
155
+ {
156
+
157
+ case "fruit":
158
+
159
+ var data = (from l in fruit_list
160
+
161
+ where l.lang == lang
162
+
163
+ select l).FirstOrDefault();
164
+
165
+ break;
166
+
167
+
168
+
169
+ }
170
+
171
+
172
+
173
+ return data;
174
+
175
+ }
176
+
177
+ }
178
+
179
+
180
+
181
+ ```
182
+
183
+
184
+
185
+
186
+
187
+ 下記は取得側のコード
188
+
189
+ ```ここに言語を入力
190
+
191
+ //取得側
192
+
193
+ var textdata2 = new TextData2("fruit");
194
+
195
+ var fruit_list = textdata2.GetList(lang, "fruit");
196
+
197
+ ```

1

keyの修正

2018/05/14 09:34

投稿

Anon_
Anon_

スコア334

test CHANGED
File without changes
test CHANGED
@@ -26,11 +26,11 @@
26
26
 
27
27
  $data_arr['ja']['fruit'] = array(
28
28
 
29
- 'btn1' => 'りんご',
29
+ 'apple' => 'りんご',
30
30
 
31
- 'btn2' => 'ばなな',
31
+ 'banana' => 'ばなな',
32
32
 
33
- 'btn3' => 'ぶどう',
33
+ 'grape' => 'ぶどう',
34
34
 
35
35
  );
36
36
 
@@ -38,11 +38,11 @@
38
38
 
39
39
  $data_arr['en']['fruit'] = array(
40
40
 
41
- 'btn1' => 'apple',
41
+ 'apple' => 'apple',
42
42
 
43
- 'btn2' => 'banana',
43
+ 'banana' => 'banana',
44
44
 
45
- 'btn3' => 'grape',
45
+ 'grape' => 'grape',
46
46
 
47
47
  );
48
48
 
@@ -52,7 +52,7 @@
52
52
 
53
53
  $lang = 'ja' //実際は使用言語を動的に取得
54
54
 
55
- $btn1 = $data_arr[$lang]['fruit']['btn1'];
55
+ $btn1 = $data_arr[$lang]['fruit']['apple'];
56
56
 
57
57
 
58
58