aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRoeland Jago Douma <rullzer@users.noreply.github.com>2018-02-22 10:03:18 +0100
committerGitHub <noreply@github.com>2018-02-22 10:03:18 +0100
commitc2c2c06546801d956778f5ab87e9042d45b40dc4 (patch)
tree973d8f1270c94b6ba1d5fb5a5aa08224e3acfc5b
parente1bdeb786e785f48b579701d5a9d6e759240dd8f (diff)
parentcacfe3a360988a3fd7bef57706674ea4a007f047 (diff)
downloadnextcloud-server-c2c2c06546801d956778f5ab87e9042d45b40dc4.tar.gz
nextcloud-server-c2c2c06546801d956778f5ab87e9042d45b40dc4.zip
Merge pull request #8476 from nextcloud/strict_l10n
Make OCP\IL10N strict
-rw-r--r--core/templates/installation.php2
-rw-r--r--lib/private/App/DependencyAnalyzer.php10
-rw-r--r--lib/private/L10N/L10N.php41
-rw-r--r--lib/public/IL10N.php9
4 files changed, 32 insertions, 30 deletions
diff --git a/core/templates/installation.php b/core/templates/installation.php
index 0d274f0f881..616ca1f47da 100644
--- a/core/templates/installation.php
+++ b/core/templates/installation.php
@@ -31,7 +31,7 @@ script('core', [
<p><?php p($l->t('Your data directory and files are probably accessible from the internet because the .htaccess file does not work.'));?><br>
<?php print_unescaped($l->t(
'For information how to properly configure your server, please see the <a href="%s" target="_blank" rel="noreferrer noopener">documentation</a>.',
- link_to_docs('admin-install')
+ [link_to_docs('admin-install')]
)); ?></p>
</fieldset>
<?php endif; ?>
diff --git a/lib/private/App/DependencyAnalyzer.php b/lib/private/App/DependencyAnalyzer.php
index 4193ee5083f..e8da5a0b63a 100644
--- a/lib/private/App/DependencyAnalyzer.php
+++ b/lib/private/App/DependencyAnalyzer.php
@@ -140,19 +140,19 @@ class DependencyAnalyzer {
if (isset($dependencies['php']['@attributes']['min-version'])) {
$minVersion = $dependencies['php']['@attributes']['min-version'];
if ($this->compareSmaller($this->platform->getPhpVersion(), $minVersion)) {
- $missing[] = (string)$this->l->t('PHP %s or higher is required.', $minVersion);
+ $missing[] = (string)$this->l->t('PHP %s or higher is required.', [$minVersion]);
}
}
if (isset($dependencies['php']['@attributes']['max-version'])) {
$maxVersion = $dependencies['php']['@attributes']['max-version'];
if ($this->compareBigger($this->platform->getPhpVersion(), $maxVersion)) {
- $missing[] = (string)$this->l->t('PHP with a version lower than %s is required.', $maxVersion);
+ $missing[] = (string)$this->l->t('PHP with a version lower than %s is required.', [$maxVersion]);
}
}
if (isset($dependencies['php']['@attributes']['min-int-size'])) {
$intSize = $dependencies['php']['@attributes']['min-int-size'];
if ($intSize > $this->platform->getIntSize()*8) {
- $missing[] = (string)$this->l->t('%sbit or higher PHP required.', $intSize);
+ $missing[] = (string)$this->l->t('%sbit or higher PHP required.', [$intSize]);
}
}
return $missing;
@@ -209,7 +209,7 @@ class DependencyAnalyzer {
}
$commandName = $this->getValue($command);
if (!$this->platform->isCommandKnown($commandName)) {
- $missing[] = (string)$this->l->t('The command line tool %s could not be found', $commandName);
+ $missing[] = (string)$this->l->t('The command line tool %s could not be found', [$commandName]);
}
}
return $missing;
@@ -236,7 +236,7 @@ class DependencyAnalyzer {
$libName = $this->getValue($lib);
$libVersion = $this->platform->getLibraryVersion($libName);
if (is_null($libVersion)) {
- $missing[] = (string)$this->l->t('The library %s is not available.', $libName);
+ $missing[] = (string)$this->l->t('The library %s is not available.', [$libName]);
continue;
}
diff --git a/lib/private/L10N/L10N.php b/lib/private/L10N/L10N.php
index e9e720a3766..f0e37ca1a5d 100644
--- a/lib/private/L10N/L10N.php
+++ b/lib/private/L10N/L10N.php
@@ -1,4 +1,5 @@
<?php
+declare(strict_types=1);
/**
* @copyright Copyright (c) 2016, ownCloud, Inc.
*
@@ -60,7 +61,6 @@ class L10N implements IL10N {
$this->app = $app;
$this->lang = $lang;
- $this->translations = [];
foreach ($files as $languageFile) {
$this->load($languageFile);
}
@@ -71,7 +71,7 @@ class L10N implements IL10N {
*
* @return string language
*/
- public function getLanguageCode() {
+ public function getLanguageCode(): string {
return $this->lang;
}
@@ -84,7 +84,7 @@ class L10N implements IL10N {
* Returns the translation. If no translation is found, $text will be
* returned.
*/
- public function t($text, $parameters = array()) {
+ public function t(string $text, array $parameters = []): string {
return (string) new L10NString($this, $text, $parameters);
}
@@ -103,17 +103,17 @@ class L10N implements IL10N {
* provided by the po file.
*
*/
- public function n($text_singular, $text_plural, $count, $parameters = array()) {
+ public function n(string $text_singular, string $text_plural, int $count, array $parameters = []): string {
$identifier = "_${text_singular}_::_${text_plural}_";
if (isset($this->translations[$identifier])) {
return (string) new L10NString($this, $identifier, $parameters, $count);
- } else {
- if ($count === 1) {
- return (string) new L10NString($this, $text_singular, $parameters, $count);
- } else {
- return (string) new L10NString($this, $text_plural, $parameters, $count);
- }
}
+
+ if ($count === 1) {
+ return (string) new L10NString($this, $text_singular, $parameters, $count);
+ }
+
+ return (string) new L10NString($this, $text_plural, $parameters, $count);
}
/**
@@ -138,7 +138,7 @@ class L10N implements IL10N {
* - firstday: Returns the first day of the week (0 sunday - 6 saturday)
* - jsdate: Returns the short JS date format
*/
- public function l($type, $data = null, $options = array()) {
+ public function l(string $type, $data = null, array $options = []) {
// Use the language of the instance
$locale = $this->getLanguageCode();
if ($locale === 'sr@latin') {
@@ -155,14 +155,15 @@ class L10N implements IL10N {
$value = new \DateTime();
if ($data instanceof \DateTime) {
$value = $data;
- } else if (is_string($data) && !is_numeric($data)) {
+ } else if (\is_string($data) && !is_numeric($data)) {
$data = strtotime($data);
$value->setTimestamp($data);
} else if ($data !== null) {
+ $data = (int)$data;
$value->setTimestamp($data);
}
- $options = array_merge(array('width' => 'long'), $options);
+ $options = array_merge(['width' => 'long'], $options);
$width = $options['width'];
switch ($type) {
case 'date':
@@ -184,7 +185,7 @@ class L10N implements IL10N {
* Called by \OC_L10N_String
* @return array
*/
- public function getTranslations() {
+ public function getTranslations(): array {
return $this->translations;
}
@@ -192,10 +193,10 @@ class L10N implements IL10N {
* Returnsed function accepts the argument $n
*
* Called by \OC_L10N_String
- * @return string the plural form function
+ * @return \Closure the plural form function
*/
- public function getPluralFormFunction() {
- if (is_null($this->pluralFormFunction)) {
+ public function getPluralFormFunction(): \Closure {
+ if (\is_null($this->pluralFormFunction)) {
$lang = $this->getLanguageCode();
$this->pluralFormFunction = function($n) use ($lang) {
return PluralizationRules::get($n, $lang);
@@ -206,12 +207,12 @@ class L10N implements IL10N {
}
/**
- * @param $translationFile
+ * @param string $translationFile
* @return bool
*/
- protected function load($translationFile) {
+ protected function load(string $translationFile): bool {
$json = json_decode(file_get_contents($translationFile), true);
- if (!is_array($json)) {
+ if (!\is_array($json)) {
$jsonError = json_last_error();
\OC::$server->getLogger()->warning("Failed to load $translationFile - json error code: $jsonError", ['app' => 'l10n']);
return false;
diff --git a/lib/public/IL10N.php b/lib/public/IL10N.php
index 7af5008b814..158e0cb156c 100644
--- a/lib/public/IL10N.php
+++ b/lib/public/IL10N.php
@@ -1,4 +1,5 @@
<?php
+declare(strict_types=1);
/**
* @copyright Copyright (c) 2016, ownCloud, Inc.
*
@@ -51,7 +52,7 @@ interface IL10N {
* returned.
* @since 6.0.0
*/
- public function t($text, $parameters = array());
+ public function t(string $text, array $parameters = []): string;
/**
* Translating
@@ -69,7 +70,7 @@ interface IL10N {
* @since 6.0.0
*
*/
- public function n($text_singular, $text_plural, $count, $parameters = array());
+ public function n(string $text_singular, string $text_plural, int $count, array $parameters = []): string;
/**
* Localization
@@ -96,7 +97,7 @@ interface IL10N {
* - params: timestamp (int/string)
* @since 6.0.0 - parameter $options was added in 8.0.0
*/
- public function l($type, $data, $options = array());
+ public function l(string $type, $data, array $options = []);
/**
@@ -105,5 +106,5 @@ interface IL10N {
* @return string language
* @since 7.0.0
*/
- public function getLanguageCode();
+ public function getLanguageCode(): string ;
}