Offres Produits Études de cas Expertises À propos Nous contacter Blog Offres d'emploi
FR EN

Langues

Profils de saisie

Un profil de saisie associe le comportement linguistique (IME, prédiction, polices) à une disposition clavier (topologie des touches) :

ChampRôle
idIdentifiant stable (par ex. en-qwerty, ja-romaji)
languageTagTag BCP 47 : pilote IME, prédiction et sélection de police
layoutIdFichier de disposition clavier
displayNameLibellé sur la barre espace et dans le popup de langue
imeEngineIdMoteur IME (none, romaji, flick, pinyin, …)

Les profils embarqués définissent un profil par disposition (56 au total). L'id combine languageTag et variante de disposition (par ex. en-qwerty, de-qwertz, zh-Hans-pinyin, ja-12key).

Les profils par défaut sont embarqués dans le plugin. Omettez inputProfiles en QML pour les utiliser ; définissez uniquement activeProfileIds et currentProfileId.

Activer les profils embarqués

VirtualKeyboard {
    width: parent.width
    activeProfileIds: ["en-qwerty", "fr-azerty", "de-qwertz", "ja-romaji"]
    currentProfileId: "fr-azerty"
}

Ou à l'exécution via le singleton :

Component.onCompleted: {
    Lnvk.activeProfileIds = ["en-qwerty", "fr-azerty", "de-qwertz", "ja-romaji"]
    Lnvk.currentProfileId = "fr-azerty"
}

Le japonais propose deux profils embarqués (ja-romaji, ja-12key). L'hindi propose la translittération (hi-transliteration) et le Devanagari (hi-Deva-deva).

Profils personnalisés

Surchargez ou étendez l'ensemble embarqué en fournissant inputProfiles (chaque objet requiert id, languageTag, layoutId, displayName, imeEngineId) :

VirtualKeyboard {
    inputProfiles: [
        {
            id: "en-qwerty",
            languageTag: "en",
            layoutId: "en",
            displayName: "English",
            imeEngineId: "none"
        },
        {
            id: "es-qwerty",
            languageTag: "es",
            layoutId: "es",
            displayName: "Español",
            imeEngineId: "none"
        }
    ]
    activeProfileIds: ["en-qwerty", "es-qwerty"]
    currentProfileId: "en-qwerty"
}

Bascule à l'exécution

L'utilisateur bascule via la touche globe (≥ 2 profils actifs) ou un appui long sur la barre espace.

Lnvk.selectProfile("fr-azerty")   // par id de profil
Lnvk.selectLanguage("fr")         // premier profil actif avec ce languageTag

currentProfileId, currentLanguage et currentDisplayName sur le singleton reflètent le profil actif :

Text { text: Lnvk.currentDisplayName }  // ex. "Français"

Trouver des profils

Les helpers de découverte renvoient des objets du catalogue complet inputProfiles (pas seulement activeProfileIds). Chaque entrée a id, languageTag, layoutId, displayName et imeEngineId. Utilisez Lnvk.activeProfiles pour le sous-ensemble activé (même forme ; utilisé par le popup de langue).

Vous avez…Appel
Id de profilLnvk.profileDisplayName(id)
languageTag BCP‑47 ("ja", "zh-Hans")Lnvk.profilesForLanguageTag(tag)
// Deux dispositions japonaises partagent le languageTag "ja"
const japanese = Lnvk.profilesForLanguageTag("ja")

if (japanese.length > 0)
    Lnvk.selectProfile(japanese[0].id)

// Profils activés pour le popup de langue
languageList.model = Lnvk.activeProfiles

selectLanguage(bcp47) bascule uniquement parmi les profils actifs (première correspondance exacte de languageTag). Préférez selectProfile(id) quand vous connaissez l'id de profil.

Profils embarqués disponibles

Utilisez les valeurs d'id de profil dans activeProfileIds, currentProfileId et Lnvk.selectProfile(). Les ids de profil encodent la langue et la variante de disposition (par exemple ja-romaji, zh-Hans-pinyin, hi-Deva-deva). Des méthodes de saisie complètes (IME avec sélection de candidats) sont fournies pour le chinois, le japonais et le coréen.

Id de profilNom affiché
ar-arabicالعربية
be-cyrillicБеларуская
bg-cyrillicБългарски
bn-transliterationবাংলা
bs-qwertzBosanski
ca-qwertyCatalà
cs-qwertzČeština
cy-qwertyCymraeg
da-qwertyDansk
de-qwertzDeutsch
el-greekΕλληνικά
en-qwertyEnglish
es-qwertyEspañol
et-qwertyEesti
fi-qwertySuomi
fr-azertyFrançais
ga-qwertyGaeilge
gl-qwertyGalego
he-hebrewעברית
hi-Deva-devaहिन्दी
hi-transliterationHindi
hr-qwertzHrvatski
hu-qwertzMagyar
hy-armenianՀayeren
is-qwertyÍslenska
it-qwertyItaliano
ja-12key日本語 (12-key)
ja-romaji日本語 (Romaji)
ka-georgianქართული
kn-transliterationಕನ್ನಡ
ko-dubeolsik한국어
lt-qwertyLietuvių
lv-qwertyLatviešu
mk-cyrillicМакедонски
mt-qwertyMalti
nb-qwertyNorsk
nl-qwertyNederlands
pl-qwertyPolski
pt-qwertyPortuguês
ro-qwertyRomână
ru-jcukenРусский
sk-qwertzSlovenčina
sl-qwertzSlovenščina
sq-qwertyShqip
sr-cyrillicСрпски
sv-qwertySvenska
ta-transliterationதமிழ்
te-transliterationతెలుగు
th-kedmaneeไทย
tr-qwertyTürkçe
uk-jcukenУкраїнська
vi-qwertyTiếng Việt
zh-Hans-pinyin中文 (简体)
zh-Hant-HK-cangjie中文 (香港)
zh-Hant-TW-zhuyin中文 (台灣)
zh-Hant-pinyin-hant中文 (繁體)