Невозможно перевести строку "Magliette" (итальянское слово "футболки") с итальянского на французский - PullRequest
0 голосов
/ 16 февраля 2019

Отправить причину

Сообщить об ошибке

Моя цель

Я использую Google Cloud API Translate Client (https://cloud.google.com/translate/) для перевода некоторых данных в серверном приложении PHP (v7.0). Мои данные всегда на итальянском языке, и мне нужно перевести их на некоторые другие языки (один из них - Franch)

Шаг для воспроизведения ошибки:

  1. Загрузите и установите библиотеку Google \ Cloud \ Translate \ TranslateClient
  2. Инициируйте новый TranslateClient с вашим идентификатором проекта
  3. Вызвать метод 'translate' для инициированного TranslateClient со следующими параметрами: текст для перевода: 'Magliette', источник 'it', цель 'fr'

Ошибкаописание:

Ожидаемый результат будет "Футболки", но он возвращает "T". Вы можете быстро и легко воспроизвести ошибку, набрав здесь и установив "ИЗ ИТАЛЬЯНСКОГО""ФРАНЦУЗСКИ", а затем положить "Magliette" в итальянской текстовой области.

Мой PHP-кодпример:

use Google\Cloud\Translate\TranslateClient;

function translateString(string $string, string $targetLanCodeTwo, string $actualStringLangCodeTwo ): string {

    $translateClient = new TranslateClient([
        'projectId' => 'YOUR_SECRET_PROJECT_ID'
    ]);
    $translatedString = $translateClient->translate($string, [
        'source' => $actualStringLangCodeTwo,
        'target' => strtolower($targetLanCodeTwo),
        'model' => strtolower($targetLanCodeTwo) === 'en' ? 'nmt' : 'base'
    ]);
    return $translatedString['text'];
}
// This should print "T-shirts", but print just "T"
echo translateString('Magliette', 'fr', 'it');

Я пробовал обе модели: "nmt" и "base", но ожидаемый результат никогда не приходит.

Я что-то не так делаю?

...