| 
									
										
										
										
											2021-06-26 23:23:15 +08:00
										 |  |  | <?php | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | namespace BookStack\Translation; | 
					
						
							| 
									
										
										
										
											2019-10-26 19:12:35 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | use Illuminate\Translation\FileLoader as BaseLoader; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class FileLoader extends BaseLoader | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  |     /** | 
					
						
							|  |  |  |      * Load the messages for the given locale. | 
					
						
							|  |  |  |      * Extends Laravel's translation FileLoader to look in multiple directories | 
					
						
							|  |  |  |      * so that we can load in translation overrides from the theme file if wanted. | 
					
						
							| 
									
										
										
										
											2021-06-26 23:23:15 +08:00
										 |  |  |      * | 
					
						
							|  |  |  |      * @param string      $locale | 
					
						
							|  |  |  |      * @param string      $group | 
					
						
							|  |  |  |      * @param string|null $namespace | 
					
						
							|  |  |  |      * | 
					
						
							| 
									
										
										
										
											2019-10-26 19:12:35 +08:00
										 |  |  |      * @return array | 
					
						
							|  |  |  |      */ | 
					
						
							|  |  |  |     public function load($locale, $group, $namespace = null) | 
					
						
							|  |  |  |     { | 
					
						
							|  |  |  |         if ($group === '*' && $namespace === '*') { | 
					
						
							|  |  |  |             return $this->loadJsonPaths($locale); | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         if (is_null($namespace) || $namespace === '*') { | 
					
						
							| 
									
										
										
										
											2021-07-03 18:53:46 +08:00
										 |  |  |             $themePath = theme_path('lang'); | 
					
						
							|  |  |  |             $themeTranslations = $themePath ? $this->loadPath($themePath, $locale, $group) : []; | 
					
						
							| 
									
										
										
										
											2021-08-21 22:49:40 +08:00
										 |  |  |             $originalTranslations = $this->loadPath($this->path, $locale, $group); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-10-26 19:12:35 +08:00
										 |  |  |             return array_merge($originalTranslations, $themeTranslations); | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         return $this->loadNamespaced($locale, $group, $namespace); | 
					
						
							|  |  |  |     } | 
					
						
							| 
									
										
										
										
											2021-03-08 06:24:05 +08:00
										 |  |  | } |