Module talk:Lang/data
- Put new text under old text. Click here to start a new topic.
- New to Wikipedia? Welcome! Learn to edit; get help.
- Assume good faith
- Be polite and avoid personal attacks
- Be welcoming to newcomers
- Seek dispute resolution if needed
It is of interest to the following WikiProjects:
Edit request 29 June 2025
[edit ]|answered=
parameter to no to reactivate your request.Description of suggested change: Add Western Asturian
Diff: After line 335:
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
[edit ]@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:
localno_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 acceptsyes
orno
; 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:localfunctionproto_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 (assumingproto_param
isfalse
) 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:
- 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.
- 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.
- I don't think it's a good idea to use two codes, because:
- 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.
- It becomes completely incoherent if someone uses
roa-x-proto
with|proto=no
orroa-x-noproto
with|proto=yes
, because it's essentially introduced a second, special way to add a splat in this one case. - This would inevitably lead to confusion when someone tries to use
-x-noproto
with some other protolanguage that doesn't support it. - It bulks up the data unnecessarily.
- Instead, line 891 could have something like:
elseifproto_param==trueornotno_splat_proto_t[language_tag]andlanguage_name:find('^Proto%-')then
- That just requires a simple exception table called
no_splat_proto_t
, and for theproto_prefix
function to acceptlanguage_tag
as an additional argument (which is trivial). - Theknightwho (talk) 20:39, 4 August 2025 (UTC) [reply ]
- All reasonable objections. But that's why the first thing I wrote was:
We have
You did not answer that question. I asked that question because adding hidden special-case coding to override the normal operation of the template will also lead to confusion. If you don't want the automatic splat that prefixes all Proto <whatever>-language text, set|proto=
which acceptsyes
orno
; is that not sufficient?|proto=no
. Simple. No confusing special-case implementation. Autosplat is consistent for all Proto <whatever> languages (whether in the true sense or no). The reason that the splat is suppressed is obvious to readers of the article wikitext (this last suggests that, for readers of the rendered article, we might want to modify thetitle=
attribute to somehow note that autosplat is suppressed for this 'text' – no idea what that modification might be). - —Trappist the monk (talk) 22:43, 4 August 2025 (UTC) [reply ]
- @Trappist the monk I don't think it will lead to confusion, because those actually dealing with Proto-Romance would not be expecting it to be treated as reconstructed by default. Think of it like this: it's generally a very safe bet that protolanguages (or, at least, languages with names starting "Proto-") will need to be treated as reconstructed by default, but each individual language still needs to be treated on a case-by-case basis, and those who actually work with those languages won't find it confusing at all, because they know how the language works. Of all the confusing exceptions that exist with languages, this is one of the milder ones. Likewise, there are languages that don't begin with "Proto-" that should be treated as unattested with a * by default (e.g. Golyad, the Pre-Greek substrate, all but three words of Hunnic, anything starting "Pre-Proto-" etc etc), but I don't want to tackle that right now. Theknightwho (talk) 12:27, 5 August 2025 (UTC) [reply ]
- All reasonable objections. But that's why the first thing I wrote was:
- @Trappist the monk To address your points: