字zh-dictionary← Back to the sentence

Words with sources.

A small, controller-friendly dictionary for Chinese text in Pinga and AnkiDroid. Selection and segmentation happen on your device. Dictionary downloads contain public data; your sentences are never uploaded. Cached shards can be reused without a connection, but this is not a complete offline dictionary.

Word definitions

CC-CEDICT, the community Chinese–English dictionary, distributed by MDBG. Based on the CEDICT project started by Paul Denisowski. Licensed under CC BY-SA 4.0. The word and related-word shards reorganize the original entries without generated definitions. Both simplified and traditional headwords are indexed. Related words include names and rare entries and are ordered by length, not frequency.

Original CC-CEDICT snapshot · License

Character structure

Make Me a Hanzi, by Shaunak Kishore and contributors. Its dictionary data derives from Unihan and CJKlib and is licensed under LGPL 3.0 or later. Character shards preserve the source records. Structure and formation hints may be incomplete; ? marks an unknown part. Components are not always independently meaningful words. Structural decomposition is distinct from historical etymology.

Original character data · Notices · LGPL · GPL

Data transformation source · Source revisions and SHA-256 checksums · Data version and coverage

Embed in a web interface

<script src="https://zh-dictionary.lakembalab.com/zh-dictionary.js"></script>
<script>
  const dictionary = ZhDictionary.create({
    root: document.querySelector('article'),
    dataUrl: 'https://zh-dictionary.lakembalab.com/data'
  });
</script>

Use minus / Select (browser button 8) or D to toggle. Left/right selects words, X selects characters, LB/RB shrinks or expands a selection, A opens an entry, and B goes back. Within an entry, left/right switches sections and up/down browses or scrolls. Close with minus to return immediately. Button indices are configurable and still require confirmation on your physical controller.

A host with its own controller manager must use gamepad: false and pass inputs to dictionary.handle(action) before its own actions. The return value tells the host whether to consume the action. See the project’s Pinga adapter. AnkiDroid requires its native User Actions adapter; browser polling alone cannot suppress native grading controls.

AnkiDroid

Template loader snippet · Browser Anki fixture

The template adapter is prepared for testing on a disposable deck. User Action 7 toggles lookup, 8 confirms, and 9 goes back. Actions 1–6 retain their original behaviour when closed. Native grading buttons must be remapped to User Actions for the test profile; the adapter cannot intercept native reviewer commands. Read the project’s phone test guide before installing it on a live deck.