From Wikipedia, the free encyclopedia
Archive 1

Earlier talk

Earlier talk was started here.

Testcases

Apart from the standard testcases page, another list of tests is performed: IPAsym testcases. List of all {{ IPAsym}} input options (1104 symbols). The testcases compare outputs: module:IPA symbol/sandbox vs. wikicode template {{ IPAsym}}.
The testcase uses the row number as it appears in {{ IPAsym}}. Rows with no input are counted too. The 1127 rows have 1104 rows with input.

See also:

Caveat lector: A failing could be caused by a wrong character in the testcase itself (that is, somehow introduced by the one who composed the test). As of today July 20, 2013, these possibilities have not been checked yet. Checked and resolved.No failures remain. Depending on changing module developments, pages may fail. This is sandbox working. - DePiep ( talk) 16:43, 20 July 2013 (UTC) - DePiep ( talk) 00:46, 23 July 2013 (UTC)

So each regular input option of {{ IPAsym}} (version 19 July 2013) is checked. At this moment of writing, most if not all test failures are solved. - DePiep ( talk) 16:01, 20 July 2013 (UTC)

@ Lfdder: my check just now says only one left, at Module talk:IPA symbol/sandbox/testcases list (part 5). - DePiep ( talk) 16:34, 20 July 2013 (UTC)
 Done solved: it was an idle comment row that had slipped through into the test. Row 854 now deleted here. - DePiep ( talk) 16:41, 20 July 2013 (UTC)

Integration with other templates and ideas for improvement

Might be time to look at integration with other tpls and maybe doing away with a couple now we've got soundfile integrated. Templates that use IPAsym:

Thoughts on how to proceed? — Lfdder ( talk) 17:55, 20 July 2013 (UTC)

Great. Ah, I wrote below before reading this :-) . So clearly we agree. My suggestions in steps (each step is a full sandbox & test procedure):


1. IPAsym straight. Put the ~current sandbox into live shortly as a full copy of {{ IPAsym}}. If it functions 1:1 it is OK.

The non-standard situations need to be covered & tested before.
Might require a temp solution for the error params (now unnamed 2 and 3), but this is temp. Should not withhold deployment
Do I read the code that actually it returns the IPA "name", not the WP-article "page"? IMO, that would be wrong for now.
Then will work with every client template. Great.


2a. Text options. Use alternative output content options (soundfile name - text only, IPA name not article &tc.). No separate release needed (combine with 2b, 2c).
2b. Wikilink options. Then, incorporate all wikilinking templates (like {{ IPAlink}} and more). They are quite simple. Could add formats (brackets)
2c. Format options. Like {{ IPAlink}}: add brackets around every text or link.
3. Soundbox. After that, develop "soundfile + box" option.
4. Table cell templates are latest. They are defined very bad (guess by who -- but hey it was worse before). They need a redefinition (into, like: "you can put this IPAcell-template in a wikitable cell always safely -- but only there"). CSS positioning might also be involved (esp. vowels template). And then: combine soundbox into wikitable.

This can wait, must wait. The IPAsym and the links must work first.


Enough for now. Will develop. - DePiep ( talk) 18:59, 20 July 2013 (UTC)

I've implemented 2a,b,c but the code could do with some structure now. First time using Lua, still learning the ropes. — Lfdder ( talk) 21:06, 20 July 2013 (UTC)
I can follow your route, so I am fine in mind (another niceity: I enjoy you improving my babies, these IPA templates). To make you & yourself happy: just focus on & restrict to the 1:1 {IPAsym} result for now. That is within our horizon. After that, the horizon will be shifted. - DePiep ( talk) 21:16, 20 July 2013 (UTC)
Cheers. Think we should be all good? Module talk:IPA symbol/sandbox/testcasesLfdder ( talk) 21:26, 20 July 2013 (UTC)
Getting sleepy, allow me lateral writing. The testcases do not look good for the border tests. And please note, I introduced the working error-with-link-to-template: something wrong with {{ IPAsym}} usage. It would be good to change the text from {IPAsym} into {IPA symbol}, and better be linked again. - DePiep ( talk) 21:44, 20 July 2013 (UTC)
Getting sleepy too. The only issue I can see is with {{ IPAsym/sandbox}}. Changed and linked. — Lfdder ( talk) 21:53, 20 July 2013 (UTC)

Parameters

On parameters. I think the module better stay away from unnamed paramters, except for |1= of course.

  • So if you want the soundfile to be returned, use named parameter |module_please_return=soundfile.
  • Any link-building should be superimposed upon that, so that requires a 2nd named para: |please_format_into=link
  • Also there will be a |label= option that labels wikilinks (as in: [[Main page|label]])


Enough for now. Will develop. - DePiep ( talk) 18:59, 20 July 2013 (UTC)

Within the module

Just plain (I use "parameter" from old time wikicode templates):

  • |1= is the only one to be unnamed (the symbol input). No |2=, |3= for this meta module.
  • |2= Please name this one. Say |return-content=
  • |page= should better be |article=, because it is the WP article page. btw, this is the default today.
  • |name= is too generic (unclear, and maybe wrong).
|id= is better. This should identify the symbol as specific as can be (maybe even by Unicode characters). Later on we can fold (group) details together in a bigger return text or wikilink, all fine. That is the id-to-whichever-property table already in Module:IPA symbol/sandbox/data. "id" is the internal fact key for this module. - DePiep ( talk) 21:17, 20 July 2013 (UTC)
Adding: internally the module specifies the incoming symbol (the input) as precise as possible: the id. Then from that id we can gather everything we want: WP-article or IPA name (may look the same, but not always is!), the soundfile, and more. - DePiep ( talk) 22:06, 20 July 2013 (UTC)
When would the id and IPA name be different? — Lfdder ( talk) 22:16, 20 July 2013 (UTC)
No need to know. The input leads to the id by the very first table, and then via the second table can point to anything anywhere (An en:wp article, a commons:soundfile, whatever). This is getting WP:DATA! - DePiep ( talk) 22:23, 20 July 2013 (UTC)
Fair enough. I need to let it all sink in and think about how to structure the code before continuing. — Lfdder ( talk) 22:29, 20 July 2013 (UTC)

Linking

Split of this section into single topic - DePiep ( talk) 18:55, 22 July 2013 (UTC)
Could you elaborate on how link building should work? — Lfdder ( talk) 12:09, 21 July 2013 (UTC)

So I've reimplemented linking (and IPA linking) independent from output. This means we can have things like {{#invoke:IPA symbol/sandbox|main|m|custom_output=<sup>m</sup>|link=true|ipa=true|ipa_brackets=<}} (why not?), but also {{#invoke:IPA symbol/sandbox|main|m|custom_output=p|link=true|ipa=true|ipa_brackets=<}} (that we'd probably never want). Anyway, feedback would be appreciated. — Lfdder ( talk) 14:10, 22 July 2013 (UTC)

I have not yet examined your code in this thoroughly.
First I'll state my element naming list.
  • A wikilink is this: [[wikipage|label]] or [[article|label]]. The part |label is optional ( MOS:PIPE).
Disapproved: "name" (phonetic name or wikipage page name?). So for clarity I will also use phonetic name.
Disapproved: "IPA link": OK, these template are named so, but they are misleading names. Internally the module should not use this. Internally too, the "IPAlink" templates ctreate a wikilink, never a link to "IPA" (external?).
Disapproved: |, because it is not always user-chosen. The label might as well be the IPA input symbol (as it mainly it today, through {{ IPAlink}}.
  • IPA enclosings, like <> and // and [], we can simply and clearly call brackets. Even the slash here has an opening and closing one!
Disapproved: "IPA option": to unspecific. For example, a single phonetic sound can have two legal IPA symbols (groups of). That can also be called a "IPA option".

So I use parameters: |1= (IPA symbol, unnamed), wikipage, phonetic name, label, bracket.

(to be continued)- DePiep ( talk) 19:17, 22 July 2013 (UTC)

"IPA link" is not used; there's two functions: link, for creating wikilinks and IPA, for wrapping the output inside class IPA (like {{ IPA}}). These work separately. Phonetic name is assumed since the page is called, well, page. I've renamed 'ipa_option' to 'ipa_brackets' and 'link_option' to 'link_to'. What do you mean with 'custom_output'? The idea is you can overwrite the output, so yes, it is user-chosen. To clarify, 'custom_output' works independently from 'ipa' and 'link'; it's also replaced 'blank_message' below. — Lfdder ( talk) 20:22, 22 July 2013 (UTC)
Fine. Will need to think over. All templates are done at once? Weeks of detail development ahead. As far as I can see, we could push the primary {IPAsym} replacement module into live. - DePiep ( talk) 23:52, 22 July 2013 (UTC)
Yeah, but we need to sort out param2msg/param3msg handling in {{ IPAsym/sandbox}} first. — Lfdder ( talk) 00:00, 23 July 2013 (UTC)
Only issue now is empty param #2 gets discarded: User:Lfdder/sandbox. — Lfdder ( talk) 00:14, 23 July 2013 (UTC)
Yes, but this is not the {IPAlink} issue, this is the {IPAsym}} error handling issue. So different section. We only need to create good error testing in re R1–R4. Other section. - DePiep ( talk) 00:20, 23 July 2013 (UTC)
All these different sections got me confused. :-) — Lfdder ( talk) 00:26, 23 July 2013 (UTC)
Me too. That is why I say: {IPAsym} replacement first (only error handling left). Won't spend time on else from now. - DePiep ( talk) 00:37, 23 July 2013 (UTC)

Export format and inviting WP:LING contributors to review list

I've thought it'd be a good idea to invite WP:LING to look over the list for mistakes and maybe change the names of symbols that were compromises (so that the name would point to the right article). But before we do that, maybe we should see if we ought to make the list easier for non-coders to edit, e.g. by exporting it to xls or something similar? Or do you think they would be all right with it? — Lfdder ( talk) 18:02, 20 July 2013 (UTC)

The invitation is OK. But no restriction or wait to deploy this module. Being wiki, we can allways refine later. So asking them to look here, that's fine improving everything.
Until a year ago, kwami was very active in both IPA and WP:LING. These days, no spelling mistake survived and options were vigourously discussed. So mistakes are there, but not devastating. Another reason to proceed while we invite them. No "before" needed.
If someone WP:LING or anyone wishes a different presentation of any list here, ask me. My (technical) background only says: takes time & attention for me to get their LING world view. And any export to in XML would be based upon ... (y)our Lua data file!
- DePiep ( talk) 19:17, 20 July 2013 (UTC)

Error handling: proposal

The legacy template {{ IPAsym}} has a quirky error handling system. It discerns "blank input" from "input not recognised", and allows an error msg to be overruled by text. |2= and |3= are used for this. The basic {{ IPAsym}} is used all over, but mostly as a metatemplate to create links: {{ IPAlink}}, {{ IPA soundbox}}. All fine so far.

To make the (new, Lua) template more robust, I propose to simplify the error-handling. Rules:

R1: input=<blank> & spaces → output = <blank>
R2: the output R1 can be overruled by using a named parameter say |blank-message=
R3: input=not recognised → error message (with class="error" status)
R4: The error-message R2 can be overruled by a named parameter say |error-message= in plain text
Notes
All client templates (templates that use this metatemplate) can handle their situations more rationally.
R1/R2 and R3/R4 logically do not interact at all (today they do; R1 blank input generates R3 error; by default even).
Maintenance categories may be introduced to cahtch this change of behaviour.
I expect we can incorporate all link-creating IPA templates into this one later on (like {{ IPAlink}}).

While this is a deviation of the current workings & documentation, this is the best moment to change into more rationality "come what may", and the client templates can be adjusted.

Disclosure/background: I worked on/created many of the client templates. I admit that it is a maze, both functioning and unmaintainable. Today (entering Lua) a simplification into logic is welcome. - DePiep ( talk) 18:14, 20 July 2013 (UTC)

Is this what you had in mind?
  • {{#invoke:IPA symbol/sandbox|main}} →
  • {{#invoke:IPA symbol/sandbox|main|}} →
  • {{#invoke:IPA symbol/sandbox|main|blank_message=greetings}} →
  • {{#invoke:IPA symbol/sandbox|main||blank_message=greetings}} →
  • {{#invoke:IPA symbol/sandbox|main|xyz}} →
  • {{#invoke:IPA symbol/sandbox|main|xyz|error_message=poop}} →
  • {{#invoke:IPA symbol/sandbox|main|xyz|error_message={{error|foop|tag=span}}}} →
Lfdder ( talk) 18:56, 20 July 2013 (UTC)
Yes, but one (R4 should not be forced error-class):
  • your example: {{#invoke:IPA symbol/sandbox|main|xyz|error message=poop}} →
Constructed here:
  • R4 basic: {{#invoke:IPA symbol/sandbox|main|xyz|error-message=boop}} → boop
  • Same R4 and editor's option (not template forced): {{#invoke:IPA symbol/sandbox|main|xyz|error-message={{error|foop|tag=span}} }} → foop (Changed to show my intention - DePiep ( talk) 19:49, 20 July 2013 (UTC))
Gotcha. — Lfdder ( talk) 19:31, 20 July 2013 (UTC)

( edit conflict)

  • Well, there is always an other thing.
In the module, please start using |temp-error-message= for |2= and |temp-blank-message= for |3= asap. These are currently used all around calling {{ IPAsym}}, so we have to cover them. Of course, when core code in {{ IPAsym}} is switched to {{#invoke:IPA symbol|..., exacty there (in {IPAsym}) the params 2 and 3 can be passed into these named params. All working.
Ultimately (but not in the first module version) these named parameters will be taken care of in the metatemplate (this module). - DePiep ( talk) 19:43, 20 July 2013 (UTC)
... as you already did. Now about that para |2= you keep hidden in the module... - DePiep ( talk) 20:20, 20 July 2013 (UTC)

Following the param changes, we need to test error options against the tpl, not module sandbox. — Lfdder ( talk) 12:00, 21 July 2013 (UTC)

??? Test what against what? If we want to test the R1–R4 error rules (in the module sandbox), we will have to enter different but logically equivalent input values into the old {IPAsym} template entry, to test. Still we test the module sandbox versus the live template. - DePiep ( talk) 00:06, 23 July 2013 (UTC)
Yes, we should be testing tpl sandbox v live for error handling. — Lfdder ( talk) 00:20, 23 July 2013 (UTC)
mmm: Let me think. First: test module/sbox for internal unit logic (Unit Test by textual expected module outcome), Second: test as you say. Will take a look tomorrow. - DePiep ( talk) 00:35, 23 July 2013 (UTC)
  • See current testcases (I rewrote most of them): module: input " " (spaces) does not correspont with "" (blank). arg[1] not trimmmed in code if not args[1] then return args.custom_output or "" end.
  • See the latest two tests: unput "m" should not return custom message. - DePiep ( talk) 10:10, 23 July 2013 (UTC)
Fixed both. — Lfdder ( talk) 10:46, 23 July 2013 (UTC)
  • Thx. Wuold you consider making output=page the default (as it is now in {IPAsym}? The 8 testpages with the full list now fail completely for this ... ;-). - DePiep ( talk) 14:31, 23 July 2013 (UTC)
Can't that be handled inside {IPAsym}? I don't mind adding |output=page to all of them in the test suite if that's the issue. — Lfdder ( talk) 15:15, 23 July 2013 (UTC).
Well, it is the default for {IPAsym}. Also, when we call this module from inside Module space (from another module), it better be simple - with a default. And adding this default does not disturb any other output option. - DePiep ( talk) 15:44, 23 July 2013 (UTC)
Well, it's another blow for elegance, but I've made this change. ;P — Lfdder ( talk) 15:49, 23 July 2013 (UTC)
come to think of it, you are quite right. If you want to change it back into elegance, we will set it in {IPAsym}, not here. - DePiep ( talk) 11:22, 26 July 2013 (UTC)
Ok, I've put it back the way it was. — Lfdder ( talk) 11:30, 26 July 2013 (UTC)
  • About the error message: should we move tpl {IPAsym} to {IPA symbol} (to make the message correct)? Would be correct writing, but not that fast when coding. - DePiep ( talk) 15:44, 23 July 2013 (UTC)
If it's not gonna cause any issues I don't see why not. We should probably look into setting up a bot to replace all instances of IPAsym with IPA symbol. — Lfdder ( talk) 15:49, 23 July 2013 (UTC)
No issues. The old name will be a Redirect, and all wikicode with {{ IPAsym}} ( t/ l) will keep functioning. No bot action required, nothing is broken. - DePiep ( talk) 15:54, 23 July 2013 (UTC)
I know, just for the sake of avoiding the direct/duplication/deleting IPAsym in the long run. Unless you think we should keep it. — Lfdder ( talk) 16:12, 23 July 2013 (UTC)
My take is that no one is willing to edit the Redirect out (with or without bot). There is always someone claiming "R is cheap". So I the old one to stay long. I'll leave you the honour. - DePiep ( talk) 16:18, 23 July 2013 (UTC)
Right then, sod that. — Lfdder ( talk) 16:29, 23 July 2013 (UTC)
  • One more check I'd like to do: check all Templates that use this {IPAsym} internally, to see if they expect special para2/para3 behaviour (if so, the new error rules could make a template an error). BTW, errors from blank input at this moment do not occur on article pages (the maintenance ategory is empty). - DePiep ( talk) 15:53, 23 July 2013 (UTC)
Done: I visually checked whether any template depends on "input bolank expecte error output" (old style IPAsym functioning). made some edits. still, this change of behaviour may cause unexpected outcome 9on article pages). These pages do not appear in the maintenance category. So, after the change we'll have to check this effect. - DePiep ( talk) 11:22, 26 July 2013 (UTC)
  • comment in the module: "-- custom_output overrides `output`". Check me: I think it should be: "... 'output when input is blank'" or something like that. - DePiep ( talk) 16:41, 23 July 2013 (UTC)
Yes, that's how it worked before I changed it (see above). — Lfdder ( talk) 16:58, 23 July 2013 (UTC)
  • {{ IPAsym/sandbox}}: what about keep using unnamed parameters 2 and 3? Maybe we should add the named params too |custom_error= and |custom_output= for future usage. So overloading like: custom_error={{{custom_error|{{{2|}}}}}. Then we can also choose unnamed 2 and 3 to be discouraged/phased out. - DePiep ( talk) 11:22, 26 July 2013 (UTC)
Yeah, sounds good to me. — Lfdder ( talk) 11:30, 26 July 2013 (UTC)
Q1: we also agree that the numbered params are deprecated? - DePiep ( talk) 11:43, 26 July 2013 (UTC)
Q2: bigger problem. We need to know whether |2= has text, is set blank, or is missing at al. Can that 3-way be checked in the module? Otherwise the tpl code becomes large (two {#if: | | } clauses for the para). The same is valid for |3= (no, setting para 3 blank is the default setting. - DePiep ( talk) 11:43, 26 July 2013 (UTC)
1) Yes, the numbered params are deprecated. They don't appear in the module; only in IPAsym.
2) How was it handled before? Wikicode equates empty string to false, does it not? — Lfdder ( talk) 12:23, 26 July 2013 (UTC)
#if returns false if it's an empty string, empty strings don't get sent to the module; rm #if clause and an empty string is always sent. I have no words. — Lfdder ( talk) 12:33, 26 July 2013 (UTC)
To discern three possibilities, I usually use the {#if:} check twice, nested. Structure:
{{#if:{{{PARAM|}}}|FILLED|{{#if:{{{PARAM}}}|UNDEFINED|BLANK}}}}
Note the presence/omission of the | pipe in {{{PARAM}}}. help.
I have edited the tpl /sandbox to show for para 2. (#invoke: does not seem to chatch the the input well? - see the tpl testcases, lower five.) - DePiep ( talk) 12:59, 26 July 2013 (UTC)
So, my intention: after processing the {#if} clauses, IPAsym/sandbox now should pass |custom_error= only when there is (blank or text) input. If para 2 is not used (does not exist), the |custom_error= should not be passed to the module at all. If I am correct. but testcases fail. - DePiep ( talk) 13:05, 26 July 2013 (UTC)
I've put the question at lua/R. - DePiep ( talk) 13:19, 26 July 2013 (UTC)
I think it'd be a lot easier if we let the tpl do the error handling. We're already half-way there. — Lfdder ( talk) 13:41, 26 July 2013 (UTC)
So I've patched it up. = needs to be outside any kind of clause or the the whole thing will get parsed as an unnamed parameter, i.e. [2]="custom_error=my custom error" instead of "custom_error"="my custom error". However, given the sheer hideosity of this 'solution', I still think we should just move error handling to wikicode. — Lfdder ( talk) 14:24, 26 July 2013 (UTC)
Great, smart finding. And I have added the para3 coding. Testcases now show as intended.
You mean all error handling into the tpl, out of the module? Would defy lot of LUA usefullness; these error exceptions in wikicode are a horror to code. This solution is hideous indeed (in the tpl only!). If we have to do something, we could think of throwing out one or two custom text options. Shall we contemplate that after this one is live? Of course all these ipa templates using this one must be rebuild anyway. - DePiep ( talk) 14:52, 26 July 2013 (UTC)
Yeah, let's think about it more after this is live. — Lfdder ( talk) 14:54, 26 July 2013 (UTC)
The script discards empty strings. Should it not? — Lfdder ( talk) 11:42, 26 July 2013 (UTC)
(also noted one point above): for |2= (the error message) we may want to set it to: "if error return a blank", which would look like inputting |2=. - DePiep ( talk) 11:47, 26 July 2013 (UTC)
  • Task left to do: move {{ IPAsym}} to {{ IPA symbol}}. Are you waiting to do that in one moment with this module going live? - DePiep ( talk) 14:53, 26 July 2013 (UTC)

lets go live (1)

  • Testcases review:
Module testcases: all OK; four failings in "test_b_blank_input" are intended new behaviour.
Module list testcases (8 pages): accepted. At the moment the are broken because the {|output=wikipage is not set. Since the table is not altered after the 100% good checks, I find this acceptable.
Template /sandbox testcases: all ok (including intended changes). As faras I can see, you can go live. - DePiep ( talk) 15:23, 26 July 2013 (UTC)
Now live. Champagne maybe? — Lfdder ( talk) 18:02, 26 July 2013 (UTC)
Ok, we broke something: {{ IPA consonant chart}}. — Lfdder ( talk) 18:08, 26 July 2013 (UTC)
Ok back to wikicode for now. Champagne back in the fridge. — Lfdder ( talk) 18:36, 26 July 2013 (UTC)
Champagne below zero? Never. - DePiep ( talk) 21:40, 26 July 2013 (UTC)
( edit conflict) Looks like the error isn't silenced in {{ IPAlink}} when the symbol isn't in the list and |direct page= is used. — Lfdder ( talk) 21:48, 26 July 2013 (UTC)

we should move {{ IPAsym}} → {{ IPA symbol}} first. But I am not an admin, and {IPAsym} is important (we agree!). So move before the change, we will not compromise your module code ([IPA symbol} the template will be). - DePiep ( talk) 21:49, 26 July 2013 (UTC)

My understanding is requested moves take longer than there's been time -- even technical moves. — Lfdder ( talk) 21:53, 26 July 2013 (UTC)
All fine: but let us move {{ IPAsym}} → {{ IPA symbol}} first. Whatever the cost: nothing. I addressed admins: [1]. - DePiep ( talk) 22:11, 26 July 2013 (UTC)
Whoops, I also made a protected edit request on the tpl's talk page. Ah well. — Lfdder ( talk) 22:14, 26 July 2013 (UTC)

( edit conflict)::All fine: but let us move {{ IPAsym}} → {{ IPA symbol}} first. Whatever the cost: nothing. I addressed admins: [2]. - DePiep ( talk) 22:11, 26 July 2013 (UTC)

And: if the move is cannot be done in 24h from now, we will continue with the old name {{ IPAsym}}. All fine for me: your module will go. - DePiep ( talk) 22:18, 26 July 2013 (UTC)
WP:RM was the way to go. btw I messed up the sequence here. - DePiep ( talk) 17:25, 27 July 2013 (UTC)
  • jee [3] why edit the old table when the new list is about to go live? You think I want to redo the teestcases al again? bad. - DePiep ( talk) 23:11, 26 July 2013 (UTC)
Undone [4]. No diff between your module table and live IPAsym list. Can introduce this later of course. first: ipasym live. - DePiep ( talk) 23:15, 26 July 2013 (UTC)
Well, I didn't think it'd matter. sorry. — Lfdder ( talk) 23:22, 26 July 2013 (UTC)
All fine. - DePiep ( talk) 00:15, 27 July 2013 (UTC)
 Done - DePiep ( talk) 17:25, 27 July 2013 (UTC)
  • {{ IPAsym}} is our target, not {{ IPA symbol}} (because they are too stupid for the move). Please adjust module code. I just want the module to go live.
I've changed 'IPA symbol' to 'IPAsym' in the error message which is the only adjustment I can think of. — Lfdder ( talk) 23:56, 26 July 2013 (UTC)
 Done - DePiep ( talk) 17:25, 27 July 2013 (UTC)
  • Hey, a refinement: could we CATSORT errors by their symbol arg[1]? Say: [[category:pages with ...|arg[1], {{PAGENAME}}]]? - DePiep ( talk) 23:42, 26 July 2013 (UTC)
Would this really be better? — Lfdder ( talk) 23:56, 26 July 2013 (UTC)
Do I read: [[Category:International Phonetic Alphabet pages needing attention|IPAsym, %s]]]? IPAsym really? I'd expect: ... needing attention|arg[1], .... You wrote "IPAsym" in your code ;-) - DePiep ( talk)
lol, well, that's the way it was in old IPAsym. I assume the reasoning was the same maintenance cat was used by other tpls. — Lfdder ( talk) 00:21, 27 July 2013 (UTC)
Since you say "lol", I need not check. Me lol too. - DePiep ( talk) 00:25, 27 July 2013 (UTC)
Something is wrong. I will be back here. - DePiep ( talk) 00:33, 27 July 2013 (UTC)
some relevance: [5] - DePiep ( talk) 01:18, 27 July 2013 (UTC)
Any luck fixing that? — Lfdder ( talk) 14:25, 27 July 2013

May I restart the question (not a showstopper it is, we know). At the moment, code is: [[Category:International Phonetic Alphabet pages needing attention]]. Of course, for any CATSORT setting (beyond default pagename) we would need the addition like |xyz, {{PAGENAME}}. So I expected you would code something like this: [[Category:International Phonetic Alphabet pages needing attention|arg[1], {{PAGENAME}}]]. Am I wrong or unclear somehow? The intended effect is that in the category, error pages are listed by their error input (easier searching that is), not by their page name. - DePiep ( talk) 17:39, 27 July 2013 (UTC)

Ok, I suppose that makes sense. — Lfdder ( talk) 17:44, 27 July 2013 (UTC)
[6] Misunderstanding again? It should read: [[Category:International Phonetic Alphabet pages needing attention|args[1], {{PAGENAME}}]] as told by WP:CATSORT. after the pipe is the sorting text (you do not have to write it if you are unfamiliar with this -- leave it out is OK too). It helps this way: on a page with 50 {{ IPA symbol}} transclusions and one error input "xyz", that page is listed under "x". That makes it easier to find the wrong input entry. - DePiep ( talk) 18:05, 27 July 2013 (UTC)
No, I just did it in a rush, don't really need the comma–page name though. Or is Wikipedia not smart enough to categorise them alphabetically when it's omitted? — Lfdder ( talk) 18:11, 27 July 2013 (UTC)
You can leave out the comma-space-pagename part as you like. I don't know how the cat then sorts within the "x" sublist, but this is just ornamental. (btw, I meant to link to the MOS Wikipedia:SORTKEY). In /sandbox please. - DePiep ( talk) 18:56, 27 July 2013 (UTC)
 Done - DePiep ( talk) 17:41, 27 July 2013 (UTC)
  • I've also asked for {{ IPAlink}} to be moved to {{ IPA link}} while we're at it. — Lfdder ( talk) 17:46, 27 July 2013 (UTC)
Good idea, and very very bad timing. I oppose. We need to get the meta {IPAsym} right first, very stable, and then we discuss strategy for all these depending templates. btw, what is the link? - DePiep ( talk) 18:29, 27 July 2013 (UTC)
I have contested for this reason: [7]. - DePiep ( talk) 18:42, 27 July 2013 (UTC)

Let's go live (2)

  • About |direct page= error after #lets go live (1). (Compliments to Lffder for finding & describing this bug to the point). Using |direct page= in {{ IPAlink}} caused error in {{ IPA consonant chart}} (when symbol did not exist in IPAsym list).
I edited {{ IPAlink}} [8] to skip the |3=-is-error trick (we want to get rid of). Old code is fine again. - DePiep ( talk) 18:17, 27 July 2013 (UTC)
Somehow not correct yet, will error. - DePiep ( talk) 19:33, 27 July 2013 (UTC)
This is the bottleneck today blocking going live, I know. - DePiep ( talk) 21:33, 27 July 2013 (UTC)
What's handling direct page anyway? That's not implemented in the module. — Lfdder ( talk) 21:50, 27 July 2013 (UTC)
[9] Isn't this what we want? — Lfdder ( talk) 22:03, 27 July 2013 (UTC)
( edit conflict)The parameter |direct page= was added (by template construction) to skip the {{ IPAlink}} basic behaviour (that behaviour being: always link to the symbol's wikipage). In the working usages (old {{ IPA consonant chart}}), a specific IPA symbol (Lua error in Module:IPA_symbol at line 51: bad argument #3 to 'format' (string expected, got nil). -- error here now) is wikilinked to a group |direct page= Pulmonic-contour clicks}, note the plural. That symbol has a IPA name, but does not have its own wiki page. It can & should be leaded to the group (plural) page. - DePiep ( talk) 22:20, 27 July 2013 (UTC)
Great point. Worth doing live tests. - DePiep ( talk) 22:25, 27 July 2013 (UTC)
All looks good to me. — Lfdder ( talk) 22:56, 27 July 2013 (UTC)
Need to get the Lua error in Module:IPA_symbol at line 51: bad argument #3 to 'format' (string expected, got nil). link right to Pulmonic-contour clicks. I'm not happy. OIld style Lua error in Module:IPA_symbol at line 51: bad argument #3 to 'format' (string expected, got nil). works. - DePiep ( talk) 02:16, 28 July 2013 (UTC)

That's where it points to? IPAlink is running sandbox IPAsym. — Lfdder ( talk) 08:50, 28 July 2013 (UTC)

Please make sure the /sandbox has your latest code proposal. Two parallel different versions I cannot handle. I test with /sandbox only. - DePiep ( talk) 18:48, 27 July 2013 (UTC)
I've updated the sandbox. — Lfdder ( talk) 19:00, 27 July 2013 (UTC)
thanks. - DePiep ( talk) 19:02, 27 July 2013 (UTC)
  • May I ask, politely, why you do not turn args[1] into named variable once like symbol=trim(args[1])? - DePiep ( talk) 01:55, 28 July 2013 (UTC)
ignore

I suggest we do not spend any more time on this template. It is a fixation of more wide templates (Including {{ unichar}} which I know, same problem from that angle). 13 transclusions and a single fixed reference: no. I just did not find time to TfD. - DePiep ( talk) 20:04, 20 July 2013 (UTC)

Up for deletion [10]. - DePiep ( talk) 21:45, 27 July 2013 (UTC)

Future

Implementation of IPA styling and linking is in /sandbox/future should anyone wish to work on this module. Adios. — Lfdder ( talk) 09:03, 1 August 2013 (UTC)

Error using : "ɡi" not found in list

The Polish language article uses gi symbol (it should return /ɡʲ/ I believe), and it returns an error message. Can anyone fix this please? Thanks. Хтосьці ( talk) 13:41, 23 October 2013 (UTC)

The suggestion to include /ɡʲ/ seems right. That would be: U+0261 ɡ LATIN SMALL LETTER SCRIPT G for ɡ and U+02B2 ʲ MODIFIER LETTER SMALL J for ʲ. The new double symbol most likely links to page palatization, as similars do: / /).
Adding: now this is strange. For / / (using {{ IPA-pl}}), input "ki" is accepted, but not "kʲ" (the formal IPA characters). We should add that one, for all these palatization inputs, right? Following this the proposed symbol ɡʲ should be recognized from input "ɡʲ" and "gi". - DePiep ( talk) 22:31, 24 October 2013 (UTC)
Looks like /xʲ/ is missing too. Usually they are also written like g(i), x(i) k(i) etc., not gi, xi, ki. See Help:IPA for Polish. - DePiep ( talk) 22:39, 24 October 2013 (UTC)

23 May 2014 edit breaks IPA vowel table?

In {{ IPA chart/table vowels/vowelpair}} I'm getting the same link target on both the left and right side of the bullet, e.g. {{IPA chart/table vowels/vowelpair|i|y}} renders as

<div lang="en" dir="ltr" class="mw-content-ltr">
  <div style="position:absolute; top:0px; left:0px; width:60px; height:1px; background:transparent;">

    <span style="position:absolute; left:20px; width:20px;">
      <span style="text-align:center; background:#f9f9f9; padding:0px 2px 0px 2px;">
      &#226;&#8364;&#162;</span>
    </span>
    <span style="position:absolute; left:0px; width:25px; text-align:right; background:transparent;">

      <span style="background:#f9f9f9; padding:0px 1px 0px 2px;">
        <span title="Representation in the International Phonetic Alphabet (IPA)"
        class="IPA">
          <a href="/wiki/Close_front_unrounded_vowel"
          title="Close front unrounded vowel">i</a>
        </span>
      </span>
    </span>
    <span style="position:absolute; left:35px; width:25px; text-align:left; background:transparent;">

      <span style="background:#f9f9f9; padding:0px 2px 0px 0px;">
        <span title="Representation in the International Phonetic Alphabet (IPA)"
        class="IPA">
          <a href="/wiki/Close_front_unrounded_vowel"
          title="Close front unrounded vowel">y</a>
        </span>
      </span>
    </span>
  </div>
</div>

As a result, all pairs of unrounded/rounded vowels in {{ IPA chart vowels}} link to the unrounded one, making navigation to the rounded vowels practically impossible. The most recent edit of {{ IPA chart/table vowels/vowelpair}} is from 2013 and this problem is definitely more recent, which makes me think that this may be related to the change from frame.args to frame:getParent().args in revision 609867247. Conquerist ( talk) 22:47, 24 May 2014 (UTC)

Looking... Jackmcbarn ( talk) 22:50, 24 May 2014 (UTC)
@ Conquerist: Should be fixed now. (Try a WP:PURGE if it still doesn't for you.) Jackmcbarn ( talk) 22:54, 24 May 2014 (UTC)
Thanks for the stunningly quick fix! It's all fixed now as far as I can tell. Conquerist ( talk) 22:56, 24 May 2014 (UTC)

Reverts

@ Учхљёная: Please don't do indiscriminatory reverts like [11] and [12]. You not only reinstated the overlong vowels but also the distinction between front and near-front / back and near-back near-close vowels, which isn't useful. We've recently decided on renaming near-close near-front unrounded vowel, near-close near-front rounded vowel, near-close near-back unrounded vowel and near-close near-back rounded vowel to near-close front unrounded vowel, near-close front rounded vowel, near-close back unrounded vowel and near-close back rounded vowel, which are their current names. See Wikipedia talk:WikiProject Linguistics#Near-front and near-back for more details.

The only actual changes I've made to the module is removing the overlong vowels and [ʏ̟, ʏ̟ˑ, ʏ̟ː], which is a symbol nobody would use as the front vs. near-front distinction is pretty much meaningless for [ʏ] (and [y, ø, ø̞, œ, ɶ] - basically, all front rounded vowels.) Other symbols, such as [ɪ̟] or [ʊ̠] were left intact. Mr KEBAB ( talk) 16:08, 22 May 2018 (UTC)

@ Учхљёная: In addition to what he said, I'd also note that whenever one wants to link e.g. "yːː" to Close front rounded vowel using a template that uses this module, one can just write e.g. {{IPA link|y|yːː}}. I think it'd be nice if it automatically ignored superfluous modifiers such as length marks and tie bars, but that would need a whole rewrite. Nardog ( talk) 16:25, 22 May 2018 (UTC)