import { findSimilarMessages } from '@datamoc/mw_games/i18n';
const catalog = {
locale: 'en', direction: 'ltr' as const,
messages: { 'confirm.quit': 'Are you sure?', 'confirm.delete': 'Are you sure?' },
};
findSimilarMessages(catalog); // [{ a: 'confirm.quit', b: 'confirm.delete', distance: 0, similarity: 1 }]
Every pair of keys in
catalogwhose message text is at leastminSimilarityalike (default 0.8), surfaced for a human to decide whether they are genuinely the same message translated three separate times -mwgfinds the candidates, never merges anything on its own. Empty messages are skipped (nothing to compare), and pairs are sorted most similar first.