feat: complete IPA translation support#27
Conversation
Adding CLAUDE.md with task information for AI processing. This file will be removed when the task is complete. Issue: #1
…port - Add IPA transcription retrieval from Wikidata P898 property - Support multiple language pronunciations with P407 qualifiers - Support pronunciation variety qualifiers (P5237) for dialects - Beautiful IPA display in entity viewer with /phonemic/ notation - Comprehensive error handling and caching integration - Add test suite for IPA functionality with real entity examples - Update documentation to reflect IPA feature completion Resolves #1: Make sure we have translation to IPA 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
|
We need to resolve conflicts, and double check that #1 is fully implemented, if we have something not fully implemented we should implement it fully. |
|
🤖 AI Work Session Started Starting automated work session at 2026-07-12T04:50:20.678Z The PR has been converted to draft mode while work is in progress. This comment marks the beginning of an AI work session. Please wait for the session to finish, and provide your feedback. |
Working session summaryImplemented and finalized PR #27.
This summary was automatically extracted from the AI working session output. |
🤖 Solution Draft LogThis log file contains the complete execution trace of the AI solution draft process. 💰 Cost estimation:
📊 Context and tokens usage:
Total: (111.0K + 3.0M cached) input tokens, 8.7K output tokens, $4.548936 cost 🤖 Models used:
📎 Log file uploaded as Gist (1443KB)Now working session is ended, feel free to review and add any feedback on the solution draft. |
✅ Ready to mergeThis pull request is now ready to be merged:
Monitored by hive-mind with --auto-restart-until-mergeable flag |
Summary
Resolves #1 by completing IPA translation support across the unified Human Language application.
Reproduction and fix
Before this update, an entity with multiple language-tagged P898 values always displayed the first transcription. For example, selecting
fr-FRfrom English and French claims still returned the English IPA.toIpaForEntitynow normalizes the requested language, prefers a matching transcription, then falls back to an untagged value or the first available value.Tests
npm test— passednpm run test:syntax— passed (46 files)npm run check:web-archive— passedcargo test --manifest-path rust/Cargo.toml— passedcargo fmt --manifest-path rust/Cargo.toml --all -- --check— passedcargo clippy --manifest-path rust/Cargo.toml --all-targets --all-features -- -D warnings— passednpm run test:e2e:local— 10 passed; two unrelated existing checks depend on unavailable external resources (Google Fonts browser-console errors and a Wikidata fetch)The IPA unit suite includes deterministic mocked coverage for arbitrary text, punctuation preservation, missing pronunciations, P898 parsing, language selection, fallbacks, and empty input.
Conflict resolution
Merged current
mainand resolved the legacyentities.htmlconflict in favor of the unified SPA redirect and its dedicated IPA service.Resolves #1