On the Wagneering level, the biggest addition necessary for all this is of a new rule types (Setting) called *name translation and *content translation.
The rules would follow the standard Wagn rule pattern, and configuring the rule would mean applying one of the above four approaches (Universal, Monolingual, Strict, Free, or Mapped) to a Set of cards.
As a first (non-comprehensive) go at this, the rules might look something like (I've organized them in a concise way rather than writing out the full rule names, but it would be easy for any wagneer to translate these directly into rules)
Sample "*name translation" rules:
*all : strict
*type:
universal: Year
Sample "*content translation" rules:
*all : strict
*type:
universal: Javascript, Coffeescript, Number, Date, CSS, Company, User
mapped: Pointer,
*right:
monolingual: *structure, *default
free: discussion, about, article
References
On Wagn, "references" is a general term for links [[like me]] and nests/inclusions {{like me}}. When handling a nest, there are two main language points to consider: (a) what language are we using when we refer to the card (what language is the name in), and (b) what language to we want to use when we show it?
language of card name in syntax
-
You can specify the language of the cardname, perhaps like [[de: strasse]], {{de: strasse}}
-
If you don't specify a language in the reference, it will be assumed that the reference is meant to be in the same language that is assigned to the current (nesting) card.
language of card as shown to user
-
You can specify the language of the output, perhaps like {{strasse | lang:de}}
-
If you don't specify the language of the output, it will be rendered in the prefered language of the user.
At present, I’d imagine that the inclusion syntax itself, which is generally the domain of wagneers, is only implemented in English.