/**
* Creates an instance of the class LanguageSystem and prepares it for usage
*
- * @param $languageBasePath The local base path for all language strings
+ * @param $languageBasePath The local base path for all language strings or emty for auto-detection
* @return $langInstance An instance of LanguageSystem
* @throws LanguagePathIsEmptyException If the provided $languageBasePath is empty
* @throws InvalidLanguagePathStringException If $languageBasePath is no string
* @throws LanguagePathReadProtectedException If $languageBasePath is
* read-protected
*/
- public static final function createLanguageSystem ($languageBasePath) {
+ public static final function createLanguageSystem ($languageBasePath = '') {
// Get a new instance
$langInstance = new LanguageSystem();
+ // Is the base path set?
+ if (empty($languageBasePath)) {
+ // No, then attempt "auto-dection":
+ // 1) Get application
+ $applicationInstance = Registry::getRegistry()->getInstance('app');
+
+ // 2) Try to build it
+ $languageBasePath = sprintf('%sapplication/%s/language/',
+ $langInstance->getConfigInstance()->getConfigEntry('base_path'),
+ $applicationInstance->getAppShortName()
+ );
+ } // END - if
+
// Is the base path valid?
if (empty($languageBasePath)) {
// Language path is empty