Template talk:ISO 639 name#Switch to module

{{Permanently protected}}

{{User:MiszaBot/config

| algo = old(180d)

| archive = Template talk:ISO 639 name/Archive %(counter)d

| counter = 1

| maxarchivesize = 150K

| archiveheader = {{Aan}}

| minthreadstoarchive = 1

| minthreadsleft = 3

}}

{{WikiProject banner shell|

{{WikiProject Languages}}

{{WikiProject Writing systems}}

}}

{{archives|age=180|bot=Lowercase sigmabot III}}

Two suggestions

Hi, is it possible to add two features?

  • a link to Mozambican Portuguese and other variants of that language;
  • a shortcut to {{tl|ISO 639 name link}}

Thanks.-- Carnby (talk) 20:12, 3 September 2024 (UTC)

:ISO 639 does not recognize Mozambican Portuguese. Not in ISO 639? not going to be added to a template specifically for ISO 639 recognized languages.

:

:If you want to create a shortcut (did you mean a redirect?) to {{tlx|ISO 639 name link}}, go ahead.

:—Trappist the monk (talk) 20:41, 3 September 2024 (UTC)

::I've just discovered {{tl|Llink}}, seems to be fine. Thanks anyway.-- Carnby (talk) 05:15, 4 September 2024 (UTC)

Mono language issue

There is an issue with this language, see the following:

  • {{tlx|ISO 639 name|mnr|_show_result=yes}}
  • {{suppress categories|{{tlx|ISO 639 code|Mono|_show_result=yes}}}}

Gonnym (talk) 13:45, 27 October 2024 (UTC)

:You must tell the template which of the four you want. The name must be exactly as it is listed in the ISO 639 data modules (for a list of them, see {{slink|Module:ISO_639_name#Data_mapping}}):

:*{{ISO 639 code|Mono (Democratic Republic of Congo)}} → {{ISO 639 code|Mono (Democratic Republic of Congo)}}

:*{{ISO 639 code|Mono (USA)}} → {{ISO 639 code|Mono (USA)}}

:*{{ISO 639 code|Mono (Cameroon)}} → {{ISO 639 code|Mono (Cameroon)}}

:*{{ISO 639 code|Mono (Solomon Islands)}} → {{ISO 639 code|Mono (Solomon Islands)}}

:—Trappist the monk (talk) 14:17, 27 October 2024 (UTC)

::Ah, thanks for reminding me of this. Do you have any idea why {{tlx|IPA|mnr|test}} gets the non-disambiguated name (:Category:Pages with Mono IPA)? Gonnym (talk) 14:26, 27 October 2024 (UTC)

:::To get the language name, Module:IPA uses:

::::{{lang|fn=name_from_tag|mnr}} → {{lang|fn=name_from_tag|mnr}} (lines 65–72)

:::Module:Lang always strips IANA/ISO disambiguators. Module:IPA might do better to fetch the name from Module:ISO 639 name using the {{para|raw|yes}} parameter:

::::{{#invoke:ISO 639 name|iso_639_code_to_name|mnr|raw=yes}} → {{#invoke:ISO 639 name|iso_639_code_to_name|mnr|raw=yes}}

:::also available to the template:

::::{{ISO 639 name|mnr|raw=yes}} → {{ISO 639 name|mnr|raw=yes}}

:::—Trappist the monk (talk) 15:00, 27 October 2024 (UTC)

::::Is _iso_639_code_to_name (frame) meant as a module entry point also? It currently doesn't work like _iso_639_name_to_code (args). Gonnym (talk) 15:29, 27 October 2024 (UTC)

:::::Not clear to me why the code is written as it is. Usually, when I use an underscore-prefixed function name, that name (if exported) is for access from another module. _iso_639_code_to_name (frame) is not exported and because it accepts frame as a variable, would be a template access point. Mayhaps I got started on creating module access points and got side-tracked? Don't know, I'll give some thought to fixing that.

:::::—Trappist the monk (talk) 16:43, 27 October 2024 (UTC)

::::{{re|Trappist the monk}} That doesn't work because the input can be an IETF tag. Barring an exposed function to fetch the language name, the article to link, the raw name, and the canonical/sanitized tag from an IETF tag all at once (which would be great), is there no equivalent to {{ml|Lang|category_from_tag}} except it returns just the language part, i.e. without "Articles containing" or "-language text"? Nardog (talk) 05:27, 26 December 2024 (UTC)

:::::What do you mean by: {{tq|the input can be an IETF tag}}? {{tlx|ISO 639 name}} supports ISO 639-1, -2, -3, and -5 language tags only. It does not support IETF language tags. The only category link emitted by {{tld|ISO 639 name}} is {{cl|ISO 639 name template errors}}; there is no other categorization.

:::::—Trappist the monk (talk) 15:20, 26 December 2024 (UTC)

::::::You said {{tq|Module:IPA might do better to fetch the name from Module:ISO 639 name using the {{para|raw|yes}} parameter}}. I'm pointing out that doesn't work because e.g. {{tlx|IPA|pt-BR|...}} needs to show the same label as {{tlx|langx|pt-BR|...}} (which, if used in an article, puts it in :Category:Articles containing Brazilian Portuguese-language text rather than :Category:Articles containing Portuguese-language text). Nardog (talk) 15:28, 26 December 2024 (UTC)

:::::::That was for the rare case of Mono, a name shared by several different languages, each with its own language tag. If {{tlx|IPA}} and {{tlx|Langx}} {{em|must}} show the same label then {{tlx|ISO 639 name}} is not the correct tool for {{tld|IPA}}.

:::::::

:::::::How {{tld|langx}} categorizes out-of-scope for {{tld|ISO 639 name}}.

:::::::

:::::::This is the wrong venue to be discussing changes to Module:Lang. Certainly Module:Lang can be tweaked so that name_from_tag() supports {{para|raw|yes}}. It would be up to Module:IPA to decide what it does with that parameter.

:::::::—Trappist the monk (talk) 16:42, 26 December 2024 (UTC)

::::::::You're telling me. I'm pointing out you and Gonnym were missing a bigger picture when suggesting Module:IPA use this module.

::::::::So is there no exposed function that converts e.g. pt-BR to "Brazilian Portuguese" and mnr to "Mono (USA)", i.e. what {{tlf|lang(x)}} does to generate categories? Can you make one? Nardog (talk) 16:52, 26 December 2024 (UTC)

:::::::::There is no support in Module:ISO 639 name for IETF language tags because IETF is not ISO 639. Module:ISO 639 name will return a language name from an ISO 639 language tag:

::::::::::{{ISO 639 name|pt-BR}} → {{ISO 639 name|pt-BR}}

::::::::::{{ISO 639 name|mnr}} → {{ISO 639 name|mnr}}

:::::::::and to get the name with disambiguator (if present):

::::::::::{{ISO 639 name|mnr|raw=yes}} → {{ISO 639 name|mnr|raw=yes}}

:::::::::—Trappist the monk (talk) 17:16, 26 December 2024 (UTC)

::::::::::Again, I'm only asking here because you were already having a relevant discussion here. I'm not asking if this module has it, I'm asking if any module does. Nardog (talk) 17:19, 26 December 2024 (UTC)

:::::::::::Then Module:Lang should also have a {{para|raw|yes}} option to get the full name. Gonnym (talk) 17:44, 26 December 2024 (UTC)

::::::::::::Which I suggested could be done but that was apparently ignored. I've added it:

::::::::::::*{{lang|fn=name_from_tag|mnr}} → {{lang|fn=name_from_tag|mnr}}

::::::::::::*{{lang|fn=name_from_tag|mnr|raw=yes}} → {{lang|fn=name_from_tag|mnr|raw=yes}}

::::::::::::—Trappist the monk (talk) 18:10, 26 December 2024 (UTC)

:::::::::::::If that was meant to me, I wasn't ignoring you, I was agreeing with you. Gonnym (talk) 18:27, 26 December 2024 (UTC)

::::::::::::::Twas meant for you; just noting that Editor Nardog had apparently ignored that part of my post.

::::::::::::::—Trappist the monk (talk) 18:59, 26 December 2024 (UTC)

:::::::::::::::I wasn't ignoring it, I just didn't realize that was precisely what I was asking! Nardog (talk) 19:00, 26 December 2024 (UTC)