TraduXio
TraduXio copied to clipboard
Indexation des écritures idéographiques (ou logographiques)
Pour les langues idéographiques ou logographiques (principalement le chinois), étant donné qu'il n'y a pas de "mot" repérable par des espaces, l'indexation pour la concordance devrait se faire caractère par caractère.
Par exemple, 人人生而自由,在尊严和权利上一律平等。 devrait être indexé de la manière suivante :
人人生而自由,在尊严和权利上一律平等。
人生而自由,在尊严和权利上一律平等。
生而自由,在尊严和权利上一律平等。
而自由,在尊严和权利上一律平等。
自由,在尊严和权利上一律平等。
由,在尊严和权利上一律平等。
在尊严和权利上一律平等。
尊严和权利上一律平等。
严和权利上一律平等。
和权利上一律平等。
权利上一律平等。
利上一律平等。
上一律平等。
一律平等。
律平等。
平等。
等。
> ko='人人生而自由,在尊严和权利上一律平等。'
> for (match in b) {i=b[match].index;m=b[match][0];console.log(ko.substr(i));}
人人生而自由,在尊严和权利上一律平等。
人生而自由,在尊严和权利上一律平等。
生而自由,在尊严和权利上一律平等。
而自由,在尊严和权利上一律平等。
自由,在尊严和权利上一律平等。
由,在尊严和权利上一律平等。
,在尊严和权利上一律平等。
在尊严和权利上一律平等。
尊严和权利上一律平等。
严和权利上一律平等。
和权利上一律平等。
权利上一律平等。
利上一律平等。
上一律平等。
一律平等。
律平等。
平等。
等。
。
Je suppute que ,et 。sont de la ponctuation... il faudrait les détecter comme tels
> for (match in b) {i=b[match].index;m=b[match][0];console.log(m+":"+ko.charCodeAt(i).toString(16));}
人:4eba
人:4eba
生:751f
而:800c
自:81ea
由:7531
,:ff0c
在:5728
尊:5c0a
严:4e25
和:548c
权:6743
利:5229
上:4e0a
一:4e00
律:5f8b
平:5e73
等:7b49
。:3002
Je suppute que ,et 。sont de la ponctuation...
Ce sont effectivement des ponctuations. Mais comme elles ne précèdent pas immédiatement les caractères intéressants, on n'a pas besoin de les traiter pour notre "fenêtre glissante".
Oops, désolé. Je n'avais pas vu que ces ponctuations "contenaient" l'espace visuel qui suit.
Le motif deviendrait donc /([\u3400-\u9FFF]|[^\s'-,。]+)/` (la virgule est une virgule chinoise).
Je doute que la liste '```\-,。 soit exhaustive Mon idée était de pouvoir capturer tous les signes.
Apparemment c'est possible dans les regexp à partir de ECMAscript6, mais il existe un adaptateur pour ECMAScript5 (est-ce que ça passe dans couchdb ?)
Vu la proximité de la démonstration, afin d'éviter les effets de bord, je suis adepte de faire le minimum de modifications nécessaire à notre objectif. On pourra toujours faire du refactoring plus tard.
Tout à fait, d'accord. J'engageais juste le débat, car ça risque d'être sur le tapis à un moment ou à un autre.
http://www.regular-expressions.info/unicode.html
Bon, j'ai déjà préparé le refactoring, c'est plus fort que moi... ;)