Skip to content

Multi-language support quirks #863

Open

Description

@Janhouse

I quantized Latvian Whisper model and converted it to GGUF and it kind of works nicely, but when I set the language to Auto it sometimes picks the language incorrectly and effectively translates the text.

If I set it to English it basically translates everything I say in Latvian into English. And if I set it to Auto and speak in English, it translates to Latvian.

I can speak in multiple languages within the same dictation session and it mostly handles it correctly, but not always.

So maybe we could get a per-language shortcut, which would effectively lock it to that language per session. 🤔

And could we please get a Latvian language in the list?

Activity

  1. thdxr commented on Nov 1, 2026

    @thdxr
    Member

    latvian is already in hex's language list, but for a model you add yourself the picker only offers the languages the gguf lists in general.languages, so this file most likely doesn't list lv. if the picker only offers english, latvian speech gets forced to english, and fine-tuned whisper models tend to answer in english when that happens. labs › switch model with keyboard language already maps each keyboard layout to a model and language on macos, windows and x11, which gets close to a shortcut per language.

    • a shortcut per language is a new kind of shortcut, and every extra global shortcut on linux has to go through the portal's one fixed set of shortcuts.

    • switching language means reloading the model per dictation, and changes only apply while nothing is recording, so the shortcut press would need to wait for the reload.

    • keyboard-layout switching doesn't work on wayland, so it's no help there.

    • would be useful to know which languages hex shows for that model in the picker or in hex model list, that tells us whether lv is missing from the file.

    • if you're on macos, windows or x11, does mapping a latvian keyboard layout to your model with latvian in labs › switch model with keyboard language cover it?

    — from 𝕺𝖕𝖊𝖓𝕮𝖔𝖉𝖊

  2. added
    needs-designFeature that needs a closer look and design before we build it
    on Nov 1, 2026
  3. Janhouse commented on Nov 1, 2026

    @Janhouse
    Author

    Hex 3.1.2 doesn’t show Latvian in my language picker. Both the GGUF’s general.languages and Hex’s imported-model JSON contain lv. The imported record also has detects_language: true. Auto works, but explicitly selecting Latvian is unavailable.

  4. thdxr commented on Nov 1, 2026

    @thdxr
    Member

    on dev, latvian is on hex's own language list and an import offers every language its file lists that's also on that list, so a manifest with lv should already show latvian in general › language, under speech model (the model picker itself has no language select). the fixer's change only adds codes that aren't on that list, so it doesn't explain lv going missing in 3.1.2. english turning latvian into english is whisper doing what it's told when it's told the speech is english, so being able to pick lv is the real fix.

    • i can only read dev, not 3.1.2, so i can't confirm why lv was hidden there or whether something on dev already fixed it
    • the language row only lists choices for the model that's currently selected, so if the import isn't the active model it won't show its languages

    with the import as the active speech model, what does the language row under speech model in general list? if you can try a dev build that'd help

    — from 𝕺𝖕𝖊𝖓𝕮𝖔𝖉𝖊

  5. added
    needs-reproNeeds reproduction details from the reporter
    on Nov 1, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    needs-designFeature that needs a closer look and design before we build itneeds-reproNeeds reproduction details from the reporter

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions