nextcloud/apps/testing/lib/Provider/FakeTranslationProvider.php
Joas Schilling 8f0d19d170 fix(testing): Fix fake provider reverting strings with emojis
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-04-10 16:37:19 +00:00

37 lines
859 B
PHP

<?php
/**
* SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
namespace OCA\Testing\Provider;
use OCP\Translation\ITranslationProvider;
use OCP\Translation\LanguageTuple;
class FakeTranslationProvider implements ITranslationProvider {
public function getName(): string {
return 'Fake translation';
}
public function getAvailableLanguages(): array {
return [
new LanguageTuple('de', 'German', 'en', 'English'),
new LanguageTuple('en', 'English', 'de', 'German'),
];
}
public function translate(?string $fromLanguage, string $toLanguage, string $text): string {
return $this->mb_strrev($text);
}
protected function mb_strrev(string $str): string {
$r = '';
for ($i = mb_strlen($str); $i >= 0; $i--) {
$r .= mb_substr($str, $i, 1);
}
return $r;
}
}