質問編集履歴
9
タイトル修正
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
CakePHPでデータベースを利用したi18n。多言語を一括でデータ
|
1
|
+
CakePHPでデータベースを利用したi18n。多言語を一括でデータ登録する方法
|
body
CHANGED
File without changes
|
8
ソースコード修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -47,12 +47,10 @@
|
|
47
47
|
case 'jpn':
|
48
48
|
Configure::write('Config.language', 'jpn');
|
49
49
|
$this->User->locale='jpn';
|
50
|
-
$this->Title->locale='jpn';
|
51
50
|
break;
|
52
51
|
default:
|
53
52
|
Configure::write('Config.language', 'eng');
|
54
53
|
$this->User->locale=false;
|
55
|
-
$this->Title->locale=false;
|
56
54
|
break;
|
57
55
|
}
|
58
56
|
}
|
7
ソースコード修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -43,13 +43,17 @@
|
|
43
43
|
public function beforeFilter() {
|
44
44
|
parent::beforeFilter();
|
45
45
|
//read cookie, language setting: 'eng' or 'jpn'
|
46
|
-
|
46
|
+
switch ($this->Cookie->read('selectlanguage')){
|
47
|
-
|
47
|
+
case 'jpn':
|
48
|
-
|
48
|
+
Configure::write('Config.language', 'jpn');
|
49
|
-
|
49
|
+
$this->User->locale='jpn';
|
50
|
+
$this->Title->locale='jpn';
|
50
|
-
|
51
|
+
break;
|
52
|
+
default:
|
51
|
-
|
53
|
+
Configure::write('Config.language', 'eng');
|
52
|
-
|
54
|
+
$this->User->locale=false;
|
55
|
+
$this->Title->locale=false;
|
56
|
+
break;
|
53
57
|
}
|
54
58
|
}
|
55
59
|
|
6
文言修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -7,7 +7,7 @@
|
|
7
7
|
- 選択言語はクッキーに保存している(jpn or eng)
|
8
8
|
- Userテーブルは、Authコンポーネントを利用している。
|
9
9
|
|
10
|
-
**inputフィールド**
|
10
|
+
**登録フォームinputフィールド**
|
11
11
|
username:user1
|
12
12
|
password:pass1
|
13
13
|
japanese_username(日本語表示名):ユーザー1
|
@@ -30,7 +30,7 @@
|
|
30
30
|
|
31
31
|
###課題
|
32
32
|
|
33
|
-
- 選択言語に係らず、usernameはusernameに、日本語表示名を
|
33
|
+
- 選択言語に係らず、usernameはusernameに、日本語表示名をuser_i18nsテーブルのjpnのcontentに入れたい。
|
34
34
|
|
35
35
|
|
36
36
|
###該当のソースコード
|
@@ -83,12 +83,12 @@
|
|
83
83
|
```
|
84
84
|
|
85
85
|
###現状
|
86
|
-
- 選択言語により、usernameフィールドに入力された値が
|
86
|
+
- 選択言語により、usernameフィールドに入力された値がuser_i18nsのcontentに保存される。
|
87
87
|
|
88
88
|
|
89
89
|
```
|
90
90
|
$this->User->locale='jpn';
|
91
|
-
```の場合、userのusername、
|
91
|
+
```の場合、userのusername、user_i18nsのcontent、両方に保存される
|
92
92
|
|
93
93
|
|
94
94
|
###試したこと
|
5
質問文、追加
title
CHANGED
File without changes
|
body
CHANGED
@@ -26,6 +26,7 @@
|
|
26
26
|
|2|jpn|User|2|username|ユーザー2|
|
27
27
|
|
28
28
|
最終的に上記のように、データベースに登録を行いたいです。
|
29
|
+
i18nの基本的な使い方しか理解しておりませんので、方針などご提案いただければと思います。
|
29
30
|
|
30
31
|
###課題
|
31
32
|
|
4
ソースコード修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -37,7 +37,7 @@
|
|
37
37
|
|
38
38
|
class AdminsController extends AppController{
|
39
39
|
public $name = 'Admins';
|
40
|
-
public $uses = array('User);
|
40
|
+
public $uses = array('User');
|
41
41
|
|
42
42
|
public function beforeFilter() {
|
43
43
|
parent::beforeFilter();
|
3
ソースコード修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -37,6 +37,7 @@
|
|
37
37
|
|
38
38
|
class AdminsController extends AppController{
|
39
39
|
public $name = 'Admins';
|
40
|
+
public $uses = array('User);
|
40
41
|
|
41
42
|
public function beforeFilter() {
|
42
43
|
parent::beforeFilter();
|
2
ソースコード修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -34,10 +34,13 @@
|
|
34
34
|
|
35
35
|
###該当のソースコード
|
36
36
|
```php
|
37
|
+
|
38
|
+
class AdminsController extends AppController{
|
39
|
+
public $name = 'Admins';
|
40
|
+
|
37
41
|
public function beforeFilter() {
|
38
42
|
parent::beforeFilter();
|
39
|
-
|
40
|
-
|
43
|
+
//read cookie, language setting: 'eng' or 'jpn'
|
41
44
|
if($this->Cookie->read('selectlanguage')){
|
42
45
|
$lang = $this->Cookie->read('selectlanguage');
|
43
46
|
Configure::write('Config.language', $lang);
|
@@ -46,8 +49,15 @@
|
|
46
49
|
Configure::write('Config.language', 'eng');
|
47
50
|
$this->User->locale='eng';
|
48
51
|
}
|
52
|
+
}
|
49
53
|
|
54
|
+
public function add(){
|
55
|
+
if($this->request->is('post')) {
|
56
|
+
$this->User->save($this->request->data);
|
57
|
+
}
|
50
58
|
}
|
59
|
+
|
60
|
+
}
|
51
61
|
```
|
52
62
|
```php
|
53
63
|
<?= $this->Form->create('User', array('url' => 'add')) ?>
|
@@ -59,13 +69,6 @@
|
|
59
69
|
<?= $this->Form->end(__('send')) ?>
|
60
70
|
```
|
61
71
|
```php
|
62
|
-
public function add(){
|
63
|
-
if($this->request->is('post')) {
|
64
|
-
$this->User->save($this->request->data);
|
65
|
-
}
|
66
|
-
}
|
67
|
-
```
|
68
|
-
```php
|
69
72
|
class User extends AppModel {
|
70
73
|
public $name = 'User';
|
71
74
|
public $actsAs = array(
|
1
現状部分に記載の、動作の修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -83,7 +83,7 @@
|
|
83
83
|
|
84
84
|
```
|
85
85
|
$this->User->locale='jpn';
|
86
|
-
```の場合、userのusername
|
86
|
+
```の場合、userのusername、i18nのcontent、両方に保存される
|
87
87
|
|
88
88
|
|
89
89
|
###試したこと
|