/** * Get the supported languages for translation in the targeted language. * * Unlike {@see Google\Cloud\Translate\TranslateClient::languages()} this * will return the localized language names in addition to the ISO 639-1 * language codes. * * Example: * ``` * $languages = $translate->localizedLanguages(); * * foreach ($languages as $language) { * echo $language['code']; * } * ``` * * @codingStandardsIgnoreStart * @see https://cloud.google.com/translate/v2/discovering-supported-languages-with-rest Discovering Supported Languages * @codingStandardsIgnoreEnd * * @param array $options [optional] { * Configuration Options. * * @type string $target The language to discover supported languages * for. Must be a valid ISO 639-1 language code. **Defaults to** the * value assigned to the client (`"en"` by default). * } * @return array A set of language results. Each result includes a `code` * key containing the ISO 639-1 code for the supported language and * a `name` key containing the name of the language written in the * target language. */ public function localizedLanguages(array $options = []) { $response = $this->connection->listLanguages($options + ['key' => $this->key, 'target' => $this->targetLanguage]); return array_map(function ($language) { return array_filter(['code' => $language['language'], 'name' => isset($language['name']) ? $language['name'] : null]); }, $response['data']['languages']); }