Toggle menu
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

Template:IPA/doc: Difference between revisions

Template page
Content deleted Content added
m Reverted edits by 2601:282:8902:EF10:85F8:95CA:71EE:79E6 (talk): page blanking (HG) (3.4.11)
 
WalterWhiteOnWiki (talk | contribs)
m removing some red links
 
(4 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{documentation subpage}}
{{documentation subpage}}
<!-- Please place categories where indicated at the bottom of this page and interwikis at Wikidata (see [[Wikipedia:Wikidata]]) -->
<!-- Please place categories where indicated at the bottom of this page and interwikis at Wikidata (see [[Wikipedia:Wikidata]]) -->
{{#ifeq:{{SUBPAGENAME}}|sandbox||{{High-use}}}}
{{High-use}}
{{Lua|Module:IPA}}
{{Lua|Module:IPA}}
{{Language templates}}
{{Language templates}}


This template ensures proper display of a transcription in the [[International Phonetic Alphabet]] (IPA). It can also automatically provide a label indicating the language being transcribed and link to an explanatory guide. Its behavior changes drastically depending on whether more than one unnamed parameter is given. For broad transcriptions of English, use {{tl|IPAc-en}} instead.
This template ensures proper display of a transcription in the International Phonetic Alphabet (IPA). It can also automatically provide a label indicating the language being transcribed and link to an explanatory guide. Its behavior changes drastically depending on whether more than one unnamed parameter is given. For broad transcriptions of English, use {{tl|IPAc-en}} instead.


==Usage==
==Usage==
The behavior of this template changes drastically depending on whether more than one unnamed parameter is given.
The behavior of this template changes significantly depending on whether more than one unnamed parameter is given.


{{automarkup
{{automarkup
Line 26: Line 26:
That is, it adds
That is, it adds
* the <code>IPA</code> class, allowing registered users to assign a typeface of their choice (see {{section link|Help:IPA|Rendering issues}} for how);
* the <code>IPA</code> class, allowing registered users to assign a typeface of their choice (see {{section link|Help:IPA|Rendering issues}} for how);
* an [[IETF language tag]] indicating IPA as the writing system (see {{section link|Template:Lang|Rationale}} for more);
* an IETF language tag indicating IPA as the writing system (see {{section link|Template:Lang|Rationale}} for more);
* a title attribute, which appears as a tooltip when the mouse hovers over the transcription;
* a title attribute, which appears as a tooltip when the mouse hovers over the transcription;
* the <code>nowrap</code> class, preventing [[Line wrap and word wrap|line wrapping]] at inappropriate places like after <code>/</code> or <code>ˌ</code>;
* the <code>nowrap</code> class, preventing line wrapping at inappropriate places like after <code>/</code> or <code>ˌ</code>;
* the <code>wrap</code> class to whitespace characters, allowing wrapping to occur at appropriate places.
* the <code>wrap</code> class to whitespace characters, allowing wrapping to occur at appropriate places.


All IPA text should be placed in the template, even if it consists entirely of ASCII characters, as in {{tlc|IPA|/mi/}}. This allows users to format all examples of IPA text consistently, and software like screen readers to interpret them accurately. If a substantial portion of a page uses IPA, post notice of that fact with {{tl|IPA notice}}.
All IPA text should be placed in the template, even if it consists entirely of ASCII characters, as in {{IPA|ros|/mi/}}. This allows users to format all examples of IPA text consistently, and software like screen readers to interpret them accurately.


====Issue with linking====
====Issue with linking====
Line 49: Line 49:


; <code>lang</code>
; <code>lang</code>
: [[IETF language tag]] (e.g. <code>ar</code>, <code>pt-BR</code>) to be followed by <code>-Latn-fonipa</code>, replacing <code>und</code> (undetermined).
: IETF language tag (e.g. <code>ar</code>, <code>pt-BR</code>) to be followed by <code>-Latn-fonipa</code>, replacing <code>und</code> (undetermined).
; <code>tooltip</code>
; <code>tooltip</code>
: Replaces the default tooltip "Representation in the International Phonetic Alphabet (IPA)". Leaving it blank means no tooltip.
: Replaces the default tooltip "Representation in the International Phonetic Alphabet (IPA)". Leaving it blank means no tooltip.


===Guide-linking mode===
===Guide-linking mode===
If more than one unnamed parameter is given, the first one is recognized as a language code and the second as the transcription. The transcription is automatically linked to one of the [[#List of keys|language-specific keys]] if a corresponding one exists, or to [[Help:IPA]] if not, and preceded by a label with the name of the language, as in {{tl|lang-xx}}. Unlike in the basic mode, brackets are automatically added so need not be included in the input.
If more than one unnamed parameter is given, the first one is recognized as a language code and the second as the transcription. The transcription is automatically linked to one of the language-specific keys if a corresponding one exists, or to [[Help:IPA]] if not, and preceded by a label with the name of the language, as in {{tl|langx}}. Unlike in the basic mode, brackets are automatically added so need not be included in the input.


⚫
Notice the transcriptions are linked to language-specific keys in the first two examples, and to the generic guide in the rest. The language name and article link are automatically taken from [[Module:Lang]] by passing the language tag, unless overridden in [[Module:IPA/data]].
{{automarkup
|{{IPA{{!}}la{{!}}ˌloːrɛm ˈɪpsʊm}}
|{{IPA{{!}}pt-BR{{!}}sɐ̃w̃ ˈpawlu{{!}}lang{{!}}Br-SaoPaulo.ogg}}
|{{IPA{{!}}ki{{!}}ɣēkōjó{{!}}link{{=}}yes}}
|{{IPA{{!}}und{{!}}ʔ{{!}}}}
}}

⚫
Notice the transcriptions are linked to language-specific keys in the first two examples, and to the generic guide in the rest. The language name and article link are automatically taken from [[Module:Language]] by passing the language tag, unless overridden in [[Module:IPA/data]].


The behavior in this mode mimics {{tlc|IPA-xx}} templates that were created for a number of languages. {{tlf|IPA}} consolidates those templates for better maintenance and consistency, and is now the recommended template.
The behavior in this mode mimics {{tlc|IPA-xx}} templates that were created for a number of languages. {{ftlf|IPA}} consolidates and replaces those templates for better maintenance and consistency.


====Parameters====
====Parameters====
Line 71: Line 64:


; First unnamed parameter
; First unnamed parameter
: [[IETF language tag]] (e.g. <code>ar</code>, <code>pt-BR</code>). See [[Template:Lang]] for more.
: IETF language tag (e.g. <code>ar</code>, <code>pt-BR</code>). See [[Template:Lang]] for more.
; Second unnamed parameter
; Second unnamed parameter
: Transcription, without brackets.
: Transcription, without brackets.
Line 85: Line 78:
:* <code>localpron</code>: "local pronunciation:"
:* <code>localpron</code>: "local pronunciation:"
; Fourth unnamed parameter
; Fourth unnamed parameter
: Name of an audio file to accompany the transcription.
: Name of an audio file to accompany the transcription. Ignored if {{para|audio}} is given.
; <code>label</code>
; <code>label</code>
: Text that precedes the transcription. Takes precedence over the third unnamed parameter.
: Text that precedes the transcription. Takes precedence over the third unnamed parameter.
Line 93: Line 86:
: If set to <code>no</code>, the label appears in the same size as the surrounding text. Be sure to use this where the text is already smaller, per [[MOS:SMALLTEXT]] (references, infoboxes, and navboxes are excluded by default).
: If set to <code>no</code>, the label appears in the same size as the surrounding text. Be sure to use this where the text is already smaller, per [[MOS:SMALLTEXT]] (references, infoboxes, and navboxes are excluded by default).
; <code>generic</code>
; <code>generic</code>
: If set to <code>yes</code>, the transcription is linked not to the language-specific key but to the generic [[Help:IPA]]. This is [[MOS:PRON|required]] if the transcription does not adhere to the conventions laid out in the language-specific key.
: If set to <code>yes</code>, the transcription is linked not to the language-specific key but to the generic [[Help:IPA]]. This is [[MOS:PRON|required]] if the transcription does not adhere to the conventions laid out in the language-specific key, such as with non-standard dialects.


====List of keys====
====List of keys====
These are defined in [[Module:IPA/data{{#ifeq:{{SUBPAGENAME}}|sandbox|/sandbox}}]].
These are defined in [[Module:IPA/data{{#ifeq:{{SUBPAGENAME}}|sandbox|/sandbox}}]].

{{#invoke:IPA/overview|keys}}


===Common parameters===
===Common parameters===
Line 239: Line 230:
Some language-specific templates allow you to enter ordinary letters (or conventional ASCII equivalents) in place of IPA characters, and convert them to the phonetic symbols used to transcribe the language.
Some language-specific templates allow you to enter ordinary letters (or conventional ASCII equivalents) in place of IPA characters, and convert them to the phonetic symbols used to transcribe the language.


{| class="wikitable sortable" style="word-break: break-word;"
! Language
! Template
! class="unsortable" | Code example
! class="unsortable" | Result
|-
| Cantonese
| class="nowrap" | {{tldep|IPAc-yue}}
| <code><nowiki>{{IPAc-yue|h|ung|2|.|z|i|2}}</nowiki></code>
| {{IPAc-yue|h|ung|2|.|z|i|2}}
|-
| Hungarian
| class="nowrap" | {{tldep|IPAc-hu}}
| <code><nowiki>{{IPAc-hu|'|m|a|gy|a|r}}</nowiki></code>
| {{IPAc-hu|'|m|a|gy|a|r}}
|-
| Mandarin
| class="nowrap" | {{tldep|IPAc-cmn}}
| <code><nowiki>{{IPAc-cmn|zh|ong|1|h|ua|2|-|r|en|2|m|in|2|-|g|ong|4|h|e|2|g|uo|2}}</nowiki></code>
| {{IPAc-cmn|zh|ong|1|h|ua|2|-|r|en|2|m|in|2|-|g|ong|4|h|e|2|g|uo|2}}
|-
| Polish
| class="nowrap" | {{tldep|IPAc-pl}}
| <code><nowiki>{{IPAc-pl|'|sz|cz|e|ć|i|n}}</nowiki></code>
| {{IPAc-pl|'|sz|cz|e|ć|i|n}}
|}

Some other conversion templates have also been [[Special:PrefixIndex/Template:IPAc-|created]], but they haven't been vetted by the community and may not produce output complying with the respective keys.


{{IPA templates}}
{{IPA templates}}
Line 275: Line 238:
[[Category:Character templates]]
[[Category:Character templates]]
[[Category:Templates that add a tracking category]]
[[Category:Templates that add a tracking category]]

}}</includeonly>
}}</includeonly>

Latest revision as of 10:54, 6 August 2025

__EXPECTED_UNCONNECTED_PAGE__

This template ensures proper display of a transcription in the International Phonetic Alphabet (IPA). It can also automatically provide a label indicating the language being transcribed and link to an explanatory guide. Its behavior changes drastically depending on whether more than one unnamed parameter is given. For broad transcriptions of English, use {{IPAc-en}} instead.

Usage

The behavior of this template changes significantly depending on whether more than one unnamed parameter is given.

Markup Renders as
{{IPA|/ˌlɔːrəm ˈɪpsəm/}}

/ˌlɔːrəm ˈɪpsəm/

{{IPA|la|ˌloːrɛm ˈɪpsʊm}}

Latin pronunciation: [ˌloːrɛm ˈɪpsʊm]

Basic mode

The basic usage of this template is just to pass an IPA transcription as the first argument, as in:

Markup Renders as
{{IPA|/ˌlɔːrəm ˈɪpsəm/}}

/ˌlɔːrəm ˈɪpsəm/

Which might not look different from just the transcription without the template (/ˌlɔːrəm ˈɪpsəm/), but it actually outputs:

<span class="IPA nowrap" lang="und-Latn-fonipa" title="Representation in the International Phonetic Alphabet (IPA)">/ˌlɔːrəm<span class="wrap"> </span>ˈɪpsəm/</span>

That is, it adds

  • the IPA class, allowing registered users to assign a typeface of their choice (see Help:IPA § Rendering issues for how);
  • an IETF language tag indicating IPA as the writing system (see Template:Lang § Rationale for more);
  • a title attribute, which appears as a tooltip when the mouse hovers over the transcription;
  • the nowrap class, preventing line wrapping at inappropriate places like after / or ˌ;
  • the wrap class to whitespace characters, allowing wrapping to occur at appropriate places.

All IPA text should be placed in the template, even if it consists entirely of ASCII characters, as in Rossan pronunciation: [/mi/]. This allows users to format all examples of IPA text consistently, and software like screen readers to interpret them accurately.

Issue with linking

If the template is inside a wikilink, the link may not display correctly in certain namespaces (including the mainspace):

Markup Renders as
[[Lorem ipsum|{{IPA|/ˌlɔːrəm ˈɪpsəm/}}]]

[[Lorem ipsum|/ˌlɔːrəm ˈɪpsəm/]]

This is because the template by default inserts a category. To prevent it, add |cat=no, as in:

Markup Renders as
[[Lorem ipsum|{{IPA|/ˌlɔːrəm ˈɪpsəm/|cat=no}}]]

Optional parameters

lang
IETF language tag (e.g. ar, pt-BR) to be followed by -Latn-fonipa, replacing und (undetermined).
tooltip
Replaces the default tooltip "Representation in the International Phonetic Alphabet (IPA)". Leaving it blank means no tooltip.

Guide-linking mode

If more than one unnamed parameter is given, the first one is recognized as a language code and the second as the transcription. The transcription is automatically linked to one of the language-specific keys if a corresponding one exists, or to Help:IPA if not, and preceded by a label with the name of the language, as in {{langx}}. Unlike in the basic mode, brackets are automatically added so need not be included in the input.

Notice the transcriptions are linked to language-specific keys in the first two examples, and to the generic guide in the rest. The language name and article link are automatically taken from Module:Lang by passing the language tag, unless overridden in Module:IPA/data.

The behavior in this mode mimics {{IPA-xx}} templates that were created for a number of languages. Template:Ftlf consolidates and replaces those templates for better maintenance and consistency.

Parameters

First unnamed parameter
IETF language tag (e.g. ar, pt-BR). See Template:Lang for more.
Second unnamed parameter
Transcription, without brackets.
Third unnamed parameter
Label code. Leave it blank to have no label at all. The label "[language name] pronunciation:" is used if the input is not empty but none of the below.
  • lang: "[language name]:"
  • ipa: "IPA:"
  • pron: "pronounced"
  • also: "also"
  • alsolang: "also [language name]:"
  • langalso: "[language name] also"
  • local: "locally"
  • localpron: "local pronunciation:"
Fourth unnamed parameter
Name of an audio file to accompany the transcription. Ignored if |audio= is given.
label
Text that precedes the transcription. Takes precedence over the third unnamed parameter.
link
If set to yes, the language name in the label will be linked to the article about the language.
small
If set to no, the label appears in the same size as the surrounding text. Be sure to use this where the text is already smaller, per MOS:SMALLTEXT (references, infoboxes, and navboxes are excluded by default).
generic
If set to yes, the transcription is linked not to the language-specific key but to the generic Help:IPA. This is required if the transcription does not adhere to the conventions laid out in the language-specific key, such as with non-standard dialects.

List of keys

These are defined in Module:IPA/data.

Common parameters

These parameters can be used in either mode.

audio
Name of an audio file to accompany the transcription. Takes precedence over the fourth unnamed parameter.
wrap
If set to none, wrapping is prevented for the entire transcription (i.e. the wrap class is not added to spaces). If set to all, no wrapping prevention takes place (i.e. the nowrap class is not added to the transcription).
class
HTML class(es) added to the span element containing the transcription.
cat
If set to no, the page will not be categorized under Category:Pages with plain IPA (basic mode) or a language-specific subcategory of Category:Pages with IPA (guide-linking mode).

Tracking categories

These are added only in Module:Category handler's default namespaces. If |debug=yes is given, the categories that would be added are shown as links, no matter the namespace. This is for testcases only.

TemplateData

Conversion templates

Some language-specific templates allow you to enter ordinary letters (or conventional ASCII equivalents) in place of IPA characters, and convert them to the phonetic symbols used to transcribe the language.


{{{header}}}
{{{body}}}