Wiktionary:Votes/2011-05/Replacement for Xyzy, langscript, langfamily, langprefix and others

Replacement for Xyzy, langscript, langfamily, langprefix and others edit

  • Voting on: Replacing the current system for determining properties of languages, which uses the templates {{Xyzy}}, {{langscript}}, {{langfamily}}, {{langprefix}} and others, with a system using subpages of language code templates which contain the information necessary.

Rationale: The above templates contain switch structures which are rather slow. Template lookup, by comparison, is fast and scales very well since databases are optimised for such searches. Furthermore, it allows us to keep all information associated with a given language together and it scales very easily in case we want to add more information.

As part of this proposal, which may be amended later, some or all of the following templates will be created for every* language, whose language code (typically ISO 639) is shown here as xx:

  • {{xx}} - contains the name of the language in English
  • {{xx/full}} - contains the name of the language in full, which would be in a form that could be preceded by 'the' (replaces {{languageshift}})
  • {{xx/script}} - contains the script code (typically ISO 15924) of the primary script used by the language (replaces {{Xyzy}} and {{langscript}})
    • An optional addition that allows you to specify several scripts is possible. However, this would only be needed for a replacement of {{langscript}}, not for {{Xyzy}} which already assumes each language has one script.
  • {{xx/type}} - contains the type of language (partially replaces {{langprefix}}); possible values include mainspace language, reconstructed language, constructed language, sign language and so on
  • {{xx/family}} - contains the language code of the language family to which the language belongs (replaces {{langfamily}}, and would replace {{topic cat}} for derivation categories if Wiktionary:Votes/2011-04/Derivations categories passes); the family of a language family is its superfamily, but the family of a proto-language is the family of which it is the ancestor; see Wiktionary:Families.
  • {{xx/ancestor}} - contains the language code of the direct ancestor of the language, from which it directly evolved; empty if the language has no (single or known) direct ancestor
    • An optional addition that allows you to specify several ancestors, for creoles and pidgins. This would replace the _from values in {{langfamily}}.

To avoid having to use #ifexist, every language template should have these subtemplates. I'm not sure if we should add templates for every possible language (even those we don't use yet). For now it may be best to focus on the languages that are currently in use, and perhaps add subtemplates for languages as we come to use them, but it might be hard to track uses of language templates that don't exist.


  • Vote starts: 00:01, 24 May 2011 (UTC)
  • Vote ends: 23.59, 22 June 2011 (UTC)

/full subtemplate edit

Support edit
Oppose edit
  1.   Oppose Yair rand 18:11, 24 May 2011 (UTC)[reply]
  2.   Oppose --Daniel 16:33, 25 May 2011 (UTC)[reply]
  3.   Oppose Prince Kassad 22:03, 25 May 2011 (UTC)[reply]
  4.   Oppose per comments on talk. DAVilla 14:26, 30 May 2011 (UTC)[reply]
Abstain edit

/type subtemplate edit

Support edit
  1.   SupportCodeCat 18:15, 24 May 2011 (UTC)[reply]
  2.   Support. DAVilla 14:31, 30 May 2011 (UTC)[reply]
Oppose edit
  1.   Oppose A poorly thought-out proposal which has several flaws. -- Prince Kassad 14:27, 2 June 2011 (UTC)[reply]
  2.   Oppose. The {{langprefix}} approach is already broken and wrong; this proposal just makes it worse. —RuakhTALK 15:32, 2 June 2011 (UTC)[reply]
    You never explained why it's wrong and how it could be improved, though. —CodeCat 17:04, 2 June 2011 (UTC)[reply]
    It's wrong because it tries to paper over fundamental differences between completely different things. It could be improved by being orphaned and deleted. —RuakhTALK 17:55, 2 June 2011 (UTC)[reply]
    You can always rfd it if you want to... —CodeCat 18:04, 2 June 2011 (UTC)[reply]
Abstain edit

/script subtemplate edit

Support edit
  1.   Support Yair rand 18:11, 24 May 2011 (UTC)[reply]
  2.   SupportCodeCat 18:15, 24 May 2011 (UTC)[reply]
  3.   Support.​—msh210 (talk) 16:31, 25 May 2011 (UTC)[reply]
  4.   Support Prince Kassad 22:03, 25 May 2011 (UTC)[reply]
  5.   Support but   oppose for multiple scripts, per talk. DAVilla 14:27, 30 May 2011 (UTC)[reply]
  6.   Support --Daniel 10:00, 31 May 2011 (UTC) And I support the proposal of multiple scripts too. --Daniel 10:00, 31 May 2011 (UTC)[reply]
Oppose edit
Abstain edit

/family subtemplate edit

Support edit
  1.   SupportCodeCat 18:16, 24 May 2011 (UTC)[reply]
  2.   Support Prince Kassad 22:03, 25 May 2011 (UTC)[reply]
  3.   Support if this is always two-tiered, i.e. every code is either a language or a language family. Otherwise, knowing the exceptions, I would want to understand how this template is intended to be used. DAVilla 14:40, 30 May 2011 (UTC)[reply]
    It should be that way, yes. I proposed removing the distinction between family codes and regular codes in Beer Parlour, but the response wasn't too enthusiastic. I don't really know how to make this subtemplate work without that, though. —CodeCat 15:15, 30 May 2011 (UTC)[reply]
Oppose edit
Abstain edit

/ancestor subtemplate edit

Support edit
  1.   Support but it does not have to be implemented immediately, as we don't yet have any templates that would need this information. —CodeCat 18:21, 24 May 2011 (UTC)[reply]
Oppose edit
  1.   Oppose I never liked this information being displayed for pidgins/creoles, it seems useless to me. -- Prince Kassad 22:03, 25 May 2011 (UTC)[reply]
    The information could be used for more than pidgins and creoles in the future. It might even be used for automatically generating the complete derivation tree of any word sometime. —CodeCat 22:06, 25 May 2011 (UTC)[reply]
  2.   Oppose as being required for every language, but   support creation for every language that has a single direct ancestor, to allow for experimentation. DAVilla 14:34, 30 May 2011 (UTC)[reply]
  3.   Oppose --Daniel 10:05, 31 May 2011 (UTC)[reply]
    I like the information being displayed for pidgins/creoles. (FWIW, ISO has codes for "English-based" ones, etc. so this is not an original idea.) I just don't like the proposal of using these subtemplates for that purpose. --Daniel 10:05, 31 May 2011 (UTC)[reply]
Abstain edit

Decision edit

  • Full: fails
  • Type: no consensus
  • Script: passes
  • Family: passes
  • Ancestor: no consensus

CodeCat 00:00, 23 June 2011 (UTC)[reply]

The script templates have been created. --Yair rand 07:35, 23 June 2011 (UTC)[reply]
I've created the family templates as well, but only those that were already in {{langfamily}}. —CodeCat 21:28, 23 June 2011 (UTC)[reply]