aboutsummaryrefslogtreecommitdiffstats
path: root/lib/public/L10N/IFactory.php
diff options
context:
space:
mode:
authorRoeland Jago Douma <rullzer@owncloud.com>2016-05-18 16:38:44 +0200
committerRoeland Jago Douma <rullzer@owncloud.com>2016-05-18 16:38:44 +0200
commit40bf0a913f2e9084d3be60c4a0f2d86603d2265a (patch)
treebec513fddbd62dc66e94b4dd658c3173eaf5c2f9 /lib/public/L10N/IFactory.php
parent6231b72e250f275c30228d0738155b78c2333576 (diff)
downloadnextcloud-server-40bf0a913f2e9084d3be60c4a0f2d86603d2265a.tar.gz
nextcloud-server-40bf0a913f2e9084d3be60c4a0f2d86603d2265a.zip
Move \OCP\L10N to PSR-4
Diffstat (limited to 'lib/public/L10N/IFactory.php')
-rw-r--r--lib/public/L10N/IFactory.php79
1 files changed, 79 insertions, 0 deletions
diff --git a/lib/public/L10N/IFactory.php b/lib/public/L10N/IFactory.php
new file mode 100644
index 00000000000..264c9719639
--- /dev/null
+++ b/lib/public/L10N/IFactory.php
@@ -0,0 +1,79 @@
+<?php
+/**
+ * @author Joas Schilling <nickvergessen@owncloud.com>
+ *
+ * @copyright Copyright (c) 2016, 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 <http://www.gnu.org/licenses/>
+ *
+ */
+namespace OCP\L10N;
+
+/**
+ * @since 8.2.0
+ */
+interface IFactory {
+ /**
+ * Get a language instance
+ *
+ * @param string $app
+ * @param string|null $lang
+ * @return \OCP\IL10N
+ * @since 8.2.0
+ */
+ public function get($app, $lang = null);
+
+ /**
+ * Find the best language
+ *
+ * @param string|null $app App id or null for core
+ * @return string language If nothing works it returns 'en'
+ * @since 9.0.0
+ */
+ public function findLanguage($app = null);
+
+ /**
+ * Find all available languages for an app
+ *
+ * @param string|null $app App id or null for core
+ * @return string[] an array of available languages
+ * @since 9.0.0
+ */
+ public function findAvailableLanguages($app = null);
+
+ /**
+ * @param string|null $app App id or null for core
+ * @param string $lang
+ * @return bool
+ * @since 9.0.0
+ */
+ public function languageExists($app, $lang);
+
+ /**
+ * @param string|null $app App id or null for core
+ * @return string
+ * @since 9.0.0
+ */
+ public function setLanguageFromRequest($app = null);
+
+
+ /**
+ * Creates a function from the plural string
+ *
+ * @param string $string
+ * @return string Unique function name
+ * @since 9.0.0
+ */
+ public function createPluralFunction($string);
+}