Yes, xslt sorting allows for a lang attribute. In the code, there is something like:
<xsl:sort select="b:SortKey" data-type="text"></xsl:sort>
You could replace that by:
<xsl:sort select="b:SortKey" data-type="text" lang="fr"></xsl:sort>
But I'm not sure what you want to achieve by this. The sorting of letters is the same in English as in French as far as I know, so I doubt you will see any difference in output. As the other thread discusses, there are errors in the sorting routine
of the xslt engine of Office for Mac (test showed correct results on Windows). Changing the lang attribute won't fix that.
Not without getting creative. One "creative" solution could be to translate every character to a character number pair. You would then translate an accented character to its unaccented counterpart and assign a number to its order. For example:
- a => a0
- à => a1
- b => b0
- e => e0
- é => e1
- è => e2
Then when you would sort "be", "bè", and "be", you would get:
- be => b0e0
- bè => b0e2
- bé => b0e1
Which using an ordinary sort would result in be < bé < bè.
Or along the same way, translate every character to a number where all the numbers contain the same amount of digits and the number describes the sorting order. Each 'sentence' would be replaced by an extremely long sequence of digits, but those can be easily
The same holds as for 2: you could write a translate function which transforms every character to its unaccented equivalent.
What do you mean by "conditional"? Sortkeys are just like any other format strings in BibWord. So you could write a sortkey like %Author:0|Editor:0|Title% which will first try to use the author, fall back to the editor if there is no author, or
eventually fall back to the title if there is no author or editor.