Jump to content

Module talk:Lang/data

Page contents not supported in other languages.
From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Theknightwho (talk | contribs) at 20:39, 4 August 2025 (New subtable for proto-languages which should not have a splat by default: Reply). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Edit request 20 June 2025

Description of suggested change: Add Proto-Albanian as a private language tag, possibly as sq-x-proto or sqi-x-proto.

Diff: After line 388:

+
["sq-x-proto"] = "Proto-Albanian"

Element10101 AIW WPI TOLT ~ C 17:09, 20 June 2025 (UTC)[reply]

{{lang|fn=name_from_tag|sq-x-proto|link=yes}}Proto-Albanian
Trappist the monk (talk) 17:13, 20 June 2025 (UTC)[reply]

Edit request 22 June 2025

(apologies in advance, but I believe I will be making many more edit requests to this module within the next month)
Description of suggested change: Add art-x-uropi (the IETF code, or alternatively mis-x-uropi) for the Uropi constructed language.

Diff: After line 334:

+
["art-x-uropi"] = "Uropi",

Element10101 AIW WPI TOLT ~ C 19:20, 22 June 2025 (UTC)[reply]

{{lang|fn=name_from_tag|art-x-uropi|link=yes}}Uropi
Needs redirect from Uropi language to Uropi.
Trappist the monk (talk) 21:42, 22 June 2025 (UTC)[reply]
 Done Element10101⠀⠀ 17:01, 23 June 2025 (UTC)[reply]

Edit request 29 June 2025

Description of suggested change: Add Western Asturian

Diff: After line 335:

+
["ast-x-west"] = "Western Asturian",

element⠀⠀ 02:34, 29 June 2025 (UTC)[reply]

{{lang|fn=name_from_tag|ast-x-west|link=yes}}Western Asturian
Trappist the monk (talk) 12:52, 29 June 2025 (UTC)[reply]

New subtable for proto-languages which should not have a splat by default

@Trappist the monk: Hi - I'd like to add a new subtable for protolanguages which are exceptions to the current rule that the splat (*) is added to the start of text by default, because this doesn't make sense in at least one (possibly two) cases:

  • Proto-Romance (roa-x-proto), which is to Vulgar Latin what Late Latin is to Classical Latin. It's attested, though often given with normalised spellings (as can be seen in its article), and is an unambiguous exception to the rule.
  • Potentially Proto-Norse (gmq-x-proto), which is the progenitor of the North Germanic languages. This one I'm less sure about, but it's sparsely attested in the Elder Futhark script, and going from Wiktionary's list of Proto-Norse lemmas (make of that what you will), only a third or so are unattested reconstructions. I would hold-off on this one for now, until I get a better feel for how often exceptions are needed.

In any event, I don't think it would be a good idea to deal with Proto-Romance as a special case in Module:Lang itself, so it would make more sense to add a subtable in this module which can be cross-checked:

local no_splat_proto_t = {
	["roa-x-proto"] = true,
}

no_splat_proto_t would obviously need to be returned in the main export table, and the proto_prefix function in Module:Lang would need a corresponding edit, but I could handle that as it's relatively trivial. 18:43, 4 August 2025 (UTC) Theknightwho (talk) 18:43, 4 August 2025 (UTC)[reply]

We have |proto= which accepts yes or no; is that not sufficient? When a 'proto' language is not a '*proto' language, is it proper to have a private-use tag that labels it as a '*proto' language?
Could we not create a tag roa-x-noproto instead? We don't support any 'proto' language names that aren't defined as such in Module:Lang/data so, instead of looking at the language name to see if we should mark the text with a splat, we can look at the language tag to see if it ends with -x-proto. Line 888 becomes sommat like:
local function proto_prefix (text, language_tag, proto_param)
and line 891 becomes sommat like:
elseif (language_tag:find ('%-x%-proto$') or (true == proto_param)) then
roa-x-noproto would fail that test (assuming proto_param is false) so no splat would be applied in the rendering. This would also allow for both:
["roa-x-noproto"] = "Proto-Romance",
["roa-x-proto"] = "Proto-Romance",
where the distinction between -x-noproto and -x-proto is obvious to editors who are reading the wikitext.
Trappist the monk (talk) 19:50, 4 August 2025 (UTC)[reply]
@Trappist the monk To address your points:
  1. I don't think it's the right place here to decide whether Proto-Romance or Proto-Norse is a protolanguage in the true sense, but that's what they're called (rightly or wrongly), and they're used within the framework of the comparative method, so for practical purposes that's what they are, whether or not they should be.
  2. Certainly in the case of Proto-Romance, it shouldn't be treated as recontructed by default (i.e. it shouldn't automatically apply the splat), so it's an exception whichever way we look at it.
  3. I don't think it's a good idea to use two codes, because:
    1. This is an implementation issue, but having two codes would leave traces of that implementation issue in the metadata, making it appear as though there are two separate languages.
    2. It becomes completely incoherent if someone uses roa-x-proto with |proto=no or roa-x-noproto with |proto=yes, because it's essentially introduced a second, special way to add a splat in this one case.
    3. This would inevitably lead to confusion when someone tries to use -x-noproto with some other protolanguage that doesn't support it.
    4. It bulks up the data unnecessarily.
Instead, line 891 could have something like:
elseif proto_param == true or not no_splat_proto_t[language_tag] and language_name:find ('^Proto%-') then
That just requires a simple exception table called no_splat_proto_t, and for the proto_prefix function to accept language_tag as an additional argument (which is trivial).
Theknightwho (talk) 20:39, 4 August 2025 (UTC)[reply]