As it is now, gender*render does not atone to the fact that the capitalization of words depends on their context. For example,
I ate. {they} didn't join me in doing so.
would (for a person with they/them pronouns) become
I ate. they didn't join me in doing so.
On the other hand the "They" in
I ate. {They} didn't join me in doing so.
would not even be recognized as a tag, because it uses the wrong capitalization.
The specification simply doesn't take capitalization into account (yet).
However, the implementation of noun gendering makes nouns whose first letter was uppercase lowercase before gendering them, and then makes the first letter of their gendered version upppercase again before returning it, therefore making actor an actress and Actor an Actress, if the person uses female noun gendering. This behavior, however, is not specified by the specification, though it is arguable implied by it, since it requires correct gendering of valid nouns, and nouns with an uppercase first letter are valid nouns and would not be gendered correctly if they lost their capitalization in the progress.
I feel like (a) the behavior of nouns should not be a poorly documented implementation feature not even explicitly mentioned by the specification, and (b) their behavior should be extended to every type of context value, since every tag can be the first one of a sentence and therefore require capitalization.
My concept for implementing this is as follows:
- Add an extension spec for it, or add it to the main spec (opinions on this?).
- Every context value can be written with an uppercase first character, in which case it is converted to lowercase during parsing and the information about its case is stored with the tag (this should be implementation-specific, but my way of going about this would be to add a new section called
capitalization which has 0 or 1 (and possible different numbers if more "capitalization types" where added to later versions of the specification) as a value).
- When rendering a template, the capitalization of a tag would be re-applied to the value the tag is resolved to.
Suggestions, Comments and Opinions are welcome.
As it is now, gender*render does not atone to the fact that the capitalization of words depends on their context. For example,
would (for a person with they/them pronouns) become
On the other hand the "They" in
would not even be recognized as a tag, because it uses the wrong capitalization.
The specification simply doesn't take capitalization into account (yet).
However, the implementation of noun gendering makes nouns whose first letter was uppercase lowercase before gendering them, and then makes the first letter of their gendered version upppercase again before returning it, therefore making
actoranactressandActoranActress, if the person uses female noun gendering. This behavior, however, is not specified by the specification, though it is arguable implied by it, since it requires correct gendering of valid nouns, and nouns with an uppercase first letter are valid nouns and would not be gendered correctly if they lost their capitalization in the progress.I feel like (a) the behavior of nouns should not be a poorly documented implementation feature not even explicitly mentioned by the specification, and (b) their behavior should be extended to every type of context value, since every tag can be the first one of a sentence and therefore require capitalization.
My concept for implementing this is as follows:
capitalizationwhich has 0 or 1 (and possible different numbers if more "capitalization types" where added to later versions of the specification) as a value).Suggestions, Comments and Opinions are welcome.