3 ms·
Thank you for the thorough and practical write-up. About the only thing I would add to it is i18n concerns. A few quick ones off of the top of my head: - W
by dexen 7y ago
Thank you for the thorough and practical write-up.
About the only thing I would add to it is i18n concerns.
A few quick ones off of the top of my head:
- Words are separated by whitespace or dashes.
- Customers only ever enter ASCII.
- Customers only ever enter accented characters with/without accents.
- A "Unicode-capable" system will happily take in any valid unicode.
- A "Unicode-capable" system will pass through any valid unicode undisturbed.
- Software systems perform Unicode normalization.
- WinNT API is UTF-16.
- There is 1-to-1 mapping between uppercase and lowercase.
- Unicode collation algorithm is optimal for every single language.
- Unicode collation algorithm is optimal for multi-language document sets.
- Distinguishing/coalescing plural and singular forms of words is easy.
- There are separate plural/singular forms of words.
- Words have stem and optional suffixes, but not prefixes.
- Soundex etc. works for every language.
- binarymax 7y agoThanks! Nice additions!
- mikesickler 7y agoyes! tokenization and problems with word boundaries alone would be great to dive into!
- ProblemFactory 7y ago> There are separate plural/singular forms of words. Or that there are just two plural/singular forms (1 and many) for translating strings, or that which form to pick is clear. While English has one form for 1, and one form for 0/many: - French pluralises 0 the same way as 1, - Czech has a form for exactly 2-4 items, - Irish has forms for exactly 3-6 and 7-10 items, - Polish has a form for all numbers that end in 2-4, - Russian has a form for all numbers that end in 1, - Arabic has forms for exactly 0 and 2 items, ending in 03-10, and many more. A strings table will need at least 10+ variants if you want to translate strings referring to number of items.