Project

General

Profile

« Previous | Next » 

Revision 1929

Added by darkviper over 11 years ago

added new method to class Translate. it gives possibility to handle translations with additional replacements.

View differences:

Translate.php
223 223
		throw new TranslationException('tried to set a readonly or nonexisting property ['.$name.']!! ');
224 224
	}
225 225
/**
226
 * Get translation text with replaced placeholders
227
 * @param type $sKey
228
 * @param type $aArguments
229
 * @return type
230
 */
231
    public function __call($sKey, $aArguments)
232
    {
233
		$sRetval = '';
234
		foreach($this->aActiveTranslations as $oAddon) {
235
			if(isset($oAddon->$sKey)) {
236
			// search the last matching translation (Core -> Addon)
237
				$sRetval = $oAddon->$sKey;
238
			}
239
		}
240
		if(sizeof($aArguments) > 0 && $sRetval != '') {
241
			foreach($aArguments as $iKey=>$sArgument) {
242
				if(is_string($sArgument)) {
243
					$sRetval = preg_replace('/\{'.$iKey.'\}/', $sArgument, $sRetval);
244
				}
245
			}
246
		}
247
		return ($sRetval != '' ? $sRetval : ($this->bRemoveMissing ? '' : '#'.$sKey.'#'));
248
    }
249

  
250
/**
226 251
 * Return complete table of translations
227 252
 * @return array
228 253
 * @deprecated for backward compatibility only. Will be removed shortly

Also available in: Unified diff