KKeyboard Web

En lokal inmatningsmotor för khmer med värdadaptrar för textfält och strukturerade webbredigerare. Den hanterar fonetisk latinsk text, khmerprefix, fria Unicode-sekvenser och konsonantmönster och returnerar rangordnade kandidater utan att skicka den skrivna texten till en tjänst.

Körning
Lokal webbläsarruntime
Frågeformer
Latinska alias, Khmer Unicode, prefix och skelett
Kandidat­källor
Exakt, fonetisk, prefix, fuzzy och kontext
Komplettering
Aktuellt ord som standard; nästa ord är valfritt
Värdkontrakt
Ersättning av intervall och livscykelprenumeration
Adaptrar
React, Tiptap/ProseMirror och Lexical/MDXEditor

Ett tangentbord, många sätt att skriva

KKeyboard är ingen strikt translittereringstabell. Den förstår det du skriver — latinska eller khmeriska tecken, hela eller ofullständiga ord — och föreslår de mest sannolika khmeriska orden medan du skriver.

Färre tangenttryck

Skriv några bokstäver, tryck Enter och hela det khmeriska ordet infogas. Exempel: ខ្ញុំស្រឡាញ់កម្ពុជា (”Jag älskar Kambodja”).

Latinsk förkortning
Latinsk förkortning13 tangenttryck i stället för 19
Khmeriskt konsonantskelett
Khmeriskt konsonantskelett7 tangenttryck i stället för 12

Latinsk fonetik

Skriv khmer som det låter med latinska bokstäver. Inget fast romaniseringssystem att lära sig.

  • khnomខ្ញុំ
  • sousdeyសួស្តី

Förlåtande stavning

Saknade bokstäver och vanliga stavningsvarianter hittar ändå rätt ord.

  • knomខ្ញុំ

Latinska förkortningar

Korta konsonantformer som khm eller km expanderas till hela khmeriska ord.

  • khmខ្ញុំ
  • kmកម្ពុជា

Khmeriskt konsonantskelett

Skriv bara de khmeriska konsonanterna och hoppa över underskrivna tecken och vokaler — KKeyboard fyller i resten.

  • ខញខ្ញុំ
  • កមពកម្ពុជា

Ofullständig khmer

Ofullständiga ord eller khmer i fel Unicode-ordning normaliseras till rätt form.

  • ខញុំខ្ញុំ

Automatiska förslag

Rangordnade förslag visas vid markören och kompletterar det aktuella ordet. Förslag på nästa ord kan slås på.

  • sous…សួស្តី
  • ខ្ញុំ …nästa ord (valfritt)

Autoläget känner automatiskt igen latinsk eller khmerisk inmatning. Du kan också låsa läget till Latin, Khmer eller Skelett och välja formellt eller vardagligt register.

Tiptap-integration i drift

Redigeraren använder det paketerade khmerunderlaget, React-styrenheten och Tiptap-adaptern. Valda förslag infogas genom redigerarens transaktioner så att formatering och ångra-funktionen bevaras.

Det du skriver stannar i webbläsaren. Demon skickar inte din text till Somara.

Runtimebeteende

Motorn ansvarar för tolkning och rangordning. Värdadaptern ansvarar för dokumentpositioner, markering, redigerarhändelser och textersättning.

01

Normalisering

Latinsk text omvandlas till fonetiska söknycklar. Khmer normaliseras för Unicode-ordning, prefix och konsonantskelett.

02

Kandidathämtning

Motorn kombinerar granskade alias, genererad fonetik, exakta träffar, prefix, fuzzy-träffar och skelett.

03

Rangordningskontext

Poängen kan väga in frekvens och en begränsad lokal kontextmodell. Språkstil kan vara automatisk, formell eller vardaglig.

04

Infogningssemantik

Bara det aktiva textintervallet ersätts. Tiptap och Lexical använder sina egna transaktioner i stället för DOM-manipulation.

05

Tangenthantering

Enter, Tabb, siffertangenter eller mus väljer en kandidat. Escape stänger listan och Mellanslag behåller användarens text.

Webbintegration

Använd det färdiga React-fältet eller anslut den fristående styrenheten till en redigeraradapter. Språkdata cachas i webbläsaren och den skrivna texten skickas inte till en tjänst.

@kkeyboard/react

Färdigt inmatningsfält, fristående hook och kompakt lista med kandidater.

@kkeyboard/tiptap

Översätter textpositioner till ProseMirror och infogar via Tiptap-transaktioner.

@kkeyboard/lexical

Infogar via Lexical-uppdateringar och markeringar och fungerar även med MDXEditor.

@kkeyboard/core

Matching, ranking, Unicode normalization and input sessions.

@kkeyboard/web

Browser controller, DOM suggestion list and cached runtime loader.

@kkeyboard/data-km

Versioned offline Khmer runtime bundle and context models.

$npm install @kkeyboard/react
khmer-input.tsxTSX
'use client';
import {useState} from 'react';
import {KKeyboardInput} from '@kkeyboard/react';
import '@kkeyboard/react/styles.css';

export function KhmerInput() {
  const [value, setValue] = useState('');
  return (
    <KKeyboardInput
      value={value}
      onChange={(e) => setValue(e.target.value)}
      placeholder="វាយជាខ្មែរ ឬ khnom"
    />
  );
}

Distribution

KKeyboard är gratis att använda men är ännu inte öppen källkod. Integrationspaket och användningsvillkor fås direkt från Somara.

Begär tillgång till integrationen