* @author Morris Jobke * @author Robin Appelman * @author Robin McCorkell * @author Thomas Müller * * @copyright Copyright (c) 2015, ownCloud, Inc. * @license AGPL-3.0 * * This code is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License, version 3, * as published by the Free Software Foundation. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Affero General Public License for more details. * * You should have received a copy of the GNU Affero General Public License, version 3, * along with this program. If not, see * */ namespace OC\L10N; use OCP\L10N\IFactory; /** * A factory that generates language instances */ class Factory implements IFactory { /** * cached instances */ protected $instances = array(); /** * Get a language instance * * @param string $app * @param string|null $lang * @return \OCP\IL10N */ public function get($app, $lang = null) { $key = $lang; if ($key === null) { $key = 'null'; } if (!isset($this->instances[$key][$app])) { $this->instances[$key][$app] = new \OC_L10N($app, $lang); } return $this->instances[$key][$app]; } }