Template:IPA/doc
This is a documentation subpage for Template:IPA. It may contain usage information, categories and other content that is not part of the original template page. |
This template is used on many pages and changes may be widely noticed. Test changes in the template's /sandbox or /testcases subpages, or in your own user subpage. Consider discussing changes on the talk page before implementing them. |
This template uses Lua: |
Language templates |
---|
Language names (ISO 639) |
|
Interwiki links |
Foreign-language text |
|
Other |
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 drastically 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 w: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 {{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 {{IPA notice}}.
Optional parameters
lang
- IETF language tag (e.g.
ar
,pt-BR
) to be followed by-Latn-fonipa
, replacingund
(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 corrseponding one exists, or to Help:IPA if not, and preceded by a label with the name of the language, as in {{lang-xx}}. Unlike in the basic mode, brackets are automatically added so need not be included in the input.
Markup | Renders as |
---|---|
{{IPA|la|ˌloːrɛm ˈɪpsʊm}} |
Latin pronunciation: [ˌloːrɛm ˈɪpsʊm] |
{{IPA|pt-BR|sɐ̃w̃ ˈpawlu|lang|Br-SaoPaulo.ogg|link=yes}} |
Brazilian Portuguese: [sɐ̃w̃ ˈpawlu] <phonos file="Br-SaoPaulo.ogg"></phonos> |
{{IPA|ki|ɣēkōjó}} |
Gikuyu pronunciation: [ɣēkōjó] |
{{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 {{IPA-xx}}
templates that were created for a number of languages. {{IPA}} consolidates those templates for better maintenance and consistency, and is now the recommended template.
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.
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.
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. thewrap
class is not added to spaces). If set toall
, no wrapping prevention takes place (i.e. thenowrap
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
- A subcategory of Category:Pages with IPA (if this is a red link, create it with the content
{{IPA language category}}
) - Category:IPA template errors – added if more than one parameter is given and the first is an invalid language tag
- Category:Pages including recorded pronunciations – added if the transcription has audio
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
TemplateData
|
---|
<templatedata>{ "description": "This template ensures proper display of transcriptions using the International Phonetic Alphabet (IPA). Its behavior changes drastically depending on whether more than one unnamed parameter is given. For dialect-neutral transcriptions of English, use IPAc-en instead.", "params": { "1": { "label": "Transcription or language code", "description": "Transcription including brackets ([...] for a phonetic transcription and /.../ for a phonemic one) if this template is being used just for formatting. IETF language tag if used for linking the transcription to a language-specific key or introductory guide.", "type": "string", "required": true, "example": "[ɛɡzɑ̃pl], en" }, "2": { "label": "Transcription", "description": "Without brackets.", "example": "ɛɡzɑ̃pl", "type": "string" }, "3": { "label": "Label code", "description": "Replaces the default label \"[language name] pronunciation:\" with another canned one. Leave it blank to have no label.", "type": "string", "suggestedvalues": [ "lang", "ipa", "pron", "also", "alsolang", "langalso", "local", "localpron" ] }, "audio": { "aliases": [ "4" ], "label": "Audio file", "description": "Name of an audio file to accompany the transcription.", "type": "wiki-file-name" }, "label": { "label": "Label", "description": "Text that precedes the transcription. Unlike \"Label code\", this displays any wikitext as entered.", "type": "line" }, "link": { "description": "\"yes\" links the language name in the label to the article about the language.", "type": "string", "suggestedvalues": [ "yes" ] }, "small": { "description": "\"no\" cancels the reduction of the label size.", "type": "string", "suggestedvalues": [ "no" ] }, "generic": { "description": "\"yes\" links the transcription to Help:IPA instead of a language-specific key. Required if the transcription does not adhere to the conventions of the language-specific key.", "type": "string", "suggestedvalues": [ "yes" ] }, "wrap": { "description": "\"none\" prevents wrapping anywhere in the transcription. \"all\" cancels the prevention of wrapping after non-space characters in the transcription.", "type": "string", "suggestedvalues": [ "none", "all" ] }, "class": { "description": "Additional HTML class(es) for the transcription.", "type": "string" }, "lang": { "label": "Language code", "description": "IETF language tag when the first parameter is a transcription.", "example": "en", "type": "string" }, "tooltip": { "label": "Tooltip", "description": "Tooltip to replace the default one with. Leave it blank to have no tooltip.", "type": "string" }, "cat": { "description": "\"no\" cancels the categorization of the page into \"Pages with [language name] IPA\".", "type": "string", "suggestedvalues": [ "no" ] } }, "paramOrder": [ "1", "2", "3", "audio", "label", "link", "small", "generic", "wrap", "class", "lang", "tooltip", "cat" ], "format": "inline" }</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.
Language | Template | Code example | Result |
---|---|---|---|
Cantonese | {{IPAc-yue}} (uses) | {{IPAc-yue|h|ung|2|.|z|i|2}}
|
[hoŋ˧˥.tsiː˧˥] |
Hungarian | {{IPAc-hu}} (uses) | {{IPAc-hu|'|m|a|gy|a|r}}
|
[ˈmɒɟɒr] |
Mandarin | {{IPAc-cmn}} (uses) | {{IPAc-cmn|zh|ong|1|h|ua|2|-|r|en|2|m|in|2|-|g|ong|4|h|e|2|g|uo|2}}
|
[ʈʂʊ́ŋxwǎ ɻə̌nmǐn kʊ̂ŋxɤ̌kwǒ] |
Polish | {{IPAc-pl}} (uses) | {{IPAc-pl|'|sz|cz|e|ć|i|n}}
|
[ˈʂt͡ʂɛt͡ɕin] |
Some other conversion templates have also been created, but they haven't been vetted by the community and may not produce output complying with the respective keys.