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

edit

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

edit

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 {{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}}.

Issue with linking

edit

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

edit
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

edit

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 {{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}}

Brazilian Portuguese: [sɐ̃w̃ ˈpawlu]

{{IPA|ki|ɣēkōjó|link=yes}}

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: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. {{IPA}} consolidates those templates for better maintenance and consistency, and is now the recommended template.

Parameters

edit
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

edit

These are defined in Module:IPA/data.

Languages with dedicated keys
KeyLanguageCode
Help:IPA/AdygheAdygheady
Help:IPA/AfrikaansAfrikaansaf
Help:IPA/AlbanianAlbaniansq
Gheg Albanianaln
Tosk Albanianals
Help:IPA/Alemannic GermanAlemannic Germangsw
Colonia Tovar Germangct
Swabianswg
Walserwae
Help:IPA/AmharicAmharicam
Help:IPA/ArabicArabicar
Standard Arabicarb
Help:IPA/ArmenianArmenianhy
Help:IPA/AssameseAssameseas
Help:IPA/Astur-LeoneseAsturianast
Extremaduranext
Leoneseast-ES-LE
Mirandesemwl
Help:IPA/Australian languagesAustralian languagesaus
Eastern Arrernteaer
Pitjantjatjarapjt
Warlpiriwbp
Help:IPA/AzerbaijaniAzerbaijaniaz
Help:IPA/BasqueBasqueeu
Help:IPA/BelarusianBelarusianbe
Help:IPA/BengaliBengalibn
Help:IPA/BerberBerber languagesber
Help:IPA/BretonBretonbr
Help:IPA/BulgarianBulgarianbg
Help:IPA/BurmeseBurmesemy
Help:IPA/CantoneseCantoneseyue
Help:IPA/CatalanCatalanca
Valencianca-valencia
Help:IPA/Central ItalianCentral Italianit-IT-55
it-IT-57
Romanescoit-IT-RM
Tuscanit-IT-52
Help:IPA/ColognianColognianksh
Help:IPA/CorsicanCorsicanco
Help:IPA/CzechCzechcs
Help:IPA/DanishDanishda
Help:IPA/DutchDutchnl
Flemishnl-BE
Help:IPA/Egyptian ArabicEgyptian Arabicarz
Help:IPA/Emilian-RomagnolEmilianegl
Romagnolrgn
Help:IPA/EnglishEnglishen
American Englishen-US
British Englishen-GB
Help:IPA/EsperantoEsperantoeo
Help:IPA/EstonianEstonianet
Help:IPA/FijianFijianfj
Help:IPA/FinnishFinnishfi
Help:IPA/Franco-ProvençalFranco-Provençalfrp
Help:IPA/FrenchFrenchfr
Help:IPA/GalicianGaliciangl
Help:IPA/GeorgianGeorgianka
Help:IPA/GreekGreekel
Ancient Greekgrc
Attic Greekgrc-x-attic
Classical Greekgrc-x-classic
Help:IPA/GreenlandicGreenlandickl
Help:IPA/GujaratiGujaratigu
Help:IPA/Haitian CreoleHaitian Creoleht
Help:IPA/HawaiianHawaiianhaw
Help:IPA/HebrewHebrewhe
Biblical Hebrewhbo
Help:IPA/Hejazi ArabicHejazi Arabicacw
Help:IPA/Hindi and UrduHindihi
Hindustanihns
Urduur
Help:IPA/HmongHmonghmn
Help:IPA/HungarianHungarianhu
Help:IPA/IcelandicIcelandicis
Help:IPA/IgboIgboig
Help:IPA/Insular CatalanAlghereseca-IT
Balearic Catalanca-ES-IB
Help:IPA/InuktitutInuktitutiu
Help:IPA/InupiaqInupiaqik
Help:IPA/IrishIrishga
Connacht Irishga-IE-C
Munster Irishga-IE-M
Ulster Irishga-x-ulster
Help:IPA/ItalianItalianit
Help:IPA/JapaneseJapaneseja
Help:IPA/Jin ChineseJin Chinesecjy
Help:IPA/KazakhKazakhkk
Help:IPA/KhmerKhmerkm
Help:IPA/KoreanKoreanko
Help:IPA/KurdishKurdishku
Central Kurdishckb
Northern Kurdishkmr
Southern Kurdishsdh
Help:IPA/KyrgyzKyrgyzky
Help:IPA/LakotaLakotalkt
Help:IPA/LaoLaolo
Isantts
Phu Thaipht
Help:IPA/LatinLatinla
Classical Latinla-x-classic
Ecclesiastical Latinla-x-church
Help:IPA/LatvianLatvianlv
Help:IPA/Lebanese ArabicLebanese Arabicapc-LB
Help:IPA/LigurianLigurianlij
Help:IPA/LithuanianLithuanianlt
Help:IPA/LombardLombardlmo
Help:IPA/LuxembourgishLuxembourgishlb
Help:IPA/MacedonianMacedonianmk
Help:IPA/MalagasyMalagasymg
Help:IPA/MalayMalayms
Indonesianid
Malaysianzsm
Help:IPA/MalayalamMalayalamml
Help:IPA/MalteseMaltesemt
Help:IPA/MandarinMandarincmn
Help:IPA/ManxManxgv
Help:IPA/MāoriMāorimi
Help:IPA/MarathiMarathimr
Help:IPA/MarshalleseMarshallesemh
Help:IPA/Mauritian CreoleMauritian Creolemfe
Help:IPA/MayanMayan languagesmyn
K'iche'quc
Lacandonlac
Q'anjob'alkjb
Help:IPA/MongolianMongolianmn
Help:IPA/NahuatlNahuatl languagesnah
Classical Nahuatlnci
Huasteca Nahuatlnhe
Orizaba Nahuatlnlv
Help:IPA/NavajoNavajonv
Help:IPA/NeapolitanNeapolitannap
Help:IPA/NepaliNepaline
Help:IPA/NguniSwaziss
Xhosaxh
Zuluzu
Help:IPA/Northern ThaiNorthern Thainod
Help:IPA/NorwegianNorwegianno
Urban East Norwegianno-NO-03
Help:IPA/OccitanOccitanoc
Help:IPA/OdiaOdiaor
Help:IPA/Old EnglishOld Englishang
Help:IPA/PashtoPashtops
Help:IPA/PersianPersianfa
Dariprs
Tajiktg
Help:IPA/PiedmontesePiedmontesepms
Help:IPA/PolishPolishpl
Help:IPA/PortuguesePortuguesept
Brazilian Portuguesept-BR
European Portuguesept-PT
Help:IPA/PunjabiPunjabipa
Help:IPA/QuechuaQuechuaqu
Help:IPA/RomanianRomanianro
Help:IPA/RomanshRomanshrm
Help:IPA/RussianRussianru
Help:IPA/SanskritSanskritsa
Palipi
Help:IPA/SardinianSardiniansc
Help:IPA/Scottish GaelicScottish Gaelicgd
Help:IPA/Serbo-CroatianSerbo-Croatiansh
Bosnianbs
Croatianhr
Montenegrincnr
Serbiansr
Help:IPA/Shan and Tai LueShanshn
Tai Luekhb
Help:IPA/SicilianSicilianscn
Calabrianscn-IT-78
Salentinoscn-IT-75
Help:IPA/SlovakSlovaksk
Help:IPA/SloveneSlovenesl
Help:IPA/SorbianSorbian languageswen
Lower Sorbiandsb
Upper Sorbianhsb
Help:IPA/SpanishSpanishes
Latin American Spanishes-419
Help:IPA/Standard GermanGermande
Austrian Germande-AT
Swiss Standard Germande-CH
Help:IPA/SwahiliSwahilisw
Help:IPA/SwedishSwedishsv
Finland Swedishsv-FI
Help:IPA/SylhetiSylhetisyl
Help:IPA/TagalogTagalogtl
Filipinofil
Help:IPA/Taiwanese HokkienTaiwanese Hokkiennan-TW
Help:IPA/TamilTamilta
Help:IPA/TatarTatartt
Crimean Tatarcrh
Help:IPA/TeluguTelugute
Help:IPA/ThaiThaith
Southern Thaisou
Help:IPA/TibetanStandard Tibetanbo
Help:IPA/TigrinyaTigrinyati
Help:IPA/Tunisian ArabicTunisian Arabicaeb
Help:IPA/TurkishTurkishtr
Help:IPA/TurkmenTurkmentk
Help:IPA/UkrainianUkrainianuk
Help:IPA/UzbekUzbekuz
Help:IPA/VenetianVenetianvec
Help:IPA/VietnameseVietnamesevi
Help:IPA/WalloonWalloonwa
Help:IPA/WelshWelshcy
Help:IPA/West FrisianWest Frisianfy
Help:IPA/Wu ChineseWu Chinesewuu
Help:IPA/Xiang ChineseXiang Chinesehsn
Help:IPA/YiddishYiddishyi
Help:IPA/YorubaYorubayo
Help:IPA/ZhuangZhuangza

Common parameters

edit

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

edit

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

edit
TemplateData

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.

Template parameters

This template prefers inline formatting of parameters.

ParameterDescriptionTypeStatus
Transcription or language code1

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.

Example
[ɛɡzɑ̃pl], en
Stringrequired
Transcription2

Without brackets.

Example
ɛɡzɑ̃pl
Stringoptional
Label code3

Replaces the default label "[language name] pronunciation:" with another canned one. Leave it blank to have no label.

Suggested values
lang ipa pron also alsolang langalso local localpron
Stringoptional
Audio fileaudio 4

Name of an audio file to accompany the transcription.

Fileoptional
Labellabel

Text that precedes the transcription. Unlike "Label code", this displays any wikitext as entered.

Lineoptional
linklink

"yes" links the language name in the label to the article about the language.

Suggested values
yes
Stringoptional
smallsmall

"no" cancels the reduction of the label size.

Suggested values
no
Stringoptional
genericgeneric

"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.

Suggested values
yes
Stringoptional
wrapwrap

"none" prevents wrapping anywhere in the transcription. "all" cancels the prevention of wrapping after non-space characters in the transcription.

Suggested values
none all
Stringoptional
classclass

Additional HTML class(es) for the transcription.

Stringoptional
Language codelang

IETF language tag when the first parameter is a transcription.

Example
en
Stringoptional
Tooltiptooltip

Tooltip to replace the default one with. Leave it blank to have no tooltip.

Stringoptional
catcat

"no" cancels the categorization of the page into "Pages with [language name] IPA".

Suggested values
no
Stringoptional

Conversion templates

edit

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}} [hʊŋ˧˥.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}} [ʈʂʊ́ŋxwǎ]
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.