nextcloud / nextcloud/contacts

Ability to search using phonetic names

Open
#5,012 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

1. to develop enhancement
Dominant language
JavaScript
Stars
642
Forks
220
Avg merge
14h 39m
Merged PRs (30d)
51

Description

Is your feature request related to a problem? Please describe.

It seems that current contact search only matches exact characters of stored names. For some other languages like Chinese, users must switch IME and select the exact native characters to find entries, reducing speed. Ability to search by phonetic names (e.g. Pinyin for Chinese names) would make this faster.

Describe the solution you'd like

Support phonetic search for CJK names. For example, the contact "测试联系" (Phonetics Cèshì Liánxì) can be searched using "Ceshi" and/or "Lianxi."

An easy approach might be allowing search using "Phonetic first/last name" field. The iOS Contacts app automatically adds accents, but alphabets with and without diacritic marks may be treated the same. (This is what iOS does, as provided in the two screenshots below)

Image
Image

Describe alternatives you've considered

Another method would be matching each character with its readings, although I believe this may require some more work, and may cause issues as there may be one same character in different languages.

Additional context

No response

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by examining the existing contact search entry point and how first and last names are stored. Determine how phonetic fields and CJK readings should be represented, including diacritic handling and language ambiguity. Done means contacts can be found with the requested phonetic names without breaking existing exact-name searches, with coverage for the stated Chinese example.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
frontend, search
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.