First, thank you for raising this important topic. I think having shared place for community developed modules (and gadgets) can help to small project and languages, and allow better sharing of good practices across wikis.
For Modules I understand more or less how we can have shared repo between wikis as it is written in Lua (though I wish Cscott will someday make it happen for JS too). However I'm not sure I understand how it can work for wikitext templates:
- Labels translation - How can wikitext declare translatable label? (e.g "Birth place: {{{birthplace}}}") The page mentioned some wikis use Wikidata - but I think it does so only with Modules as we don't have #label magic word for wikibase. Another option is to use messages system which would be "{{MediaWiki:Infobox-Person-BirthPlace}}: {{{birthplace}}}" - but maybe translatewiki/MW messages aren't easily enough accessible to all editors.
- Parameters translation - To make {{{birthplace}}} translatable to other language, so invocation would look like {{template|localname for bithplace=val}}, would require major change to parser to support for wikitext templates. For Lua modules it may require only a change in Scribuntu (so frame.args[LOCALPARAM] will be alias of frame.args[PARAM]).