Изменить язык в зависимости от намерений пользователя - PullRequest
0 голосов
/ 30 октября 2019

Я хочу сделать бот DialogFlow доступным как на голландском, так и на английском языке. В приветственном сообщении я хочу спросить пользователя, какой язык он предпочитает, используя 2 кнопки на карточке. Эти две кнопки ведут к двум целям: одна для английского, другая для голландского.

Английская - простое подтверждение, так как он по умолчанию уже английский. Однако голландское соглашение о намерениях вызывает Java API. Это вызовет FollowupEventInput, содержащий событие подтверждения и код языка. Тем не менее, это не работает, как задумано, и я все еще получаю свой ответ на английском языке, вместо того, чтобы DialogFlow переключиться на английский бот.

Ниже приведен класс, который должен возвращать ответ на голландском языке.

@Component
public class DutchLanguage implements IntentHandler {

    private final List<String> INTENT = Arrays.asList("c3b5b2ac-b7ef-4367-9823-a66c4f551b9d", "bc249b21-835a-4848-bb0a-8eacb0947786");

    @Override
    @Nonnull
    public List<String> getIntentId() {
        return INTENT;
    }

    @Override
    @Nonnull
    public WebhookResponse handleIntent(WebhookRequest webhookRequest) {
        final WebhookResponse.Builder builder = WebhookResponse.newBuilder()
                .setFollowupEventInput(EventInput.newBuilder()
                        .setLanguageCode("nl")
                        .setName("ChangeToDutchConfirmation")
                        .build());
        return builder.build();
    }
}

Как уже говорилось, это не дает ответа на голландском, а один на английском (из намерения о подтверждении на голландском языке). так что правильно).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...