@@ -46,6 +46,8 @@ class Translator extends BaseTranslator implements WarmableInterface
46
46
*/
47
47
private $ resources = array ();
48
48
49
+ private $ resourceFiles ;
50
+
49
51
/**
50
52
* Constructor.
51
53
*
@@ -75,7 +77,7 @@ public function __construct(ContainerInterface $container, MessageFormatterInter
75
77
76
78
$ this ->options = array_merge ($ this ->options , $ options );
77
79
$ this ->resourceLocales = array_keys ($ this ->options ['resource_files ' ]);
78
- $ this ->addResourceFiles ( $ this ->options ['resource_files ' ]) ;
80
+ $ this ->resourceFiles = $ this ->options ['resource_files ' ];
79
81
80
82
parent ::__construct ($ defaultLocale , $ formatter , $ this ->options ['cache_dir ' ], $ this ->options ['debug ' ]);
81
83
}
@@ -103,6 +105,9 @@ public function warmUp($cacheDir)
103
105
104
106
public function addResource ($ format , $ resource , $ locale , $ domain = null )
105
107
{
108
+ if ($ this ->resourceFiles ) {
109
+ $ this ->addResourceFiles ();
110
+ }
106
111
$ this ->resources [] = array ($ format , $ resource , $ locale , $ domain );
107
112
}
108
113
@@ -117,6 +122,9 @@ protected function initializeCatalogue($locale)
117
122
118
123
protected function initialize ()
119
124
{
125
+ if ($ this ->resourceFiles ) {
126
+ $ this ->addResourceFiles ();
127
+ }
120
128
foreach ($ this ->resources as $ key => $ params ) {
121
129
list ($ format , $ resource , $ locale , $ domain ) = $ params ;
122
130
parent ::addResource ($ format , $ resource , $ locale , $ domain );
@@ -130,8 +138,11 @@ protected function initialize()
130
138
}
131
139
}
132
140
133
- private function addResourceFiles ($ filesByLocale )
141
+ private function addResourceFiles ()
134
142
{
143
+ $ filesByLocale = $ this ->resourceFiles ;
144
+ $ this ->resourceFiles = array ();
145
+
135
146
foreach ($ filesByLocale as $ locale => $ files ) {
136
147
foreach ($ files as $ key => $ file ) {
137
148
// filename is domain.locale.format
0 commit comments