Language Codes

Language codes should be formatted according to the best practices recommended by the Internet Engineering Task Force (IETF) in a group of documents known collectively as BCP 47, and in particular, RFC 5646, which is part of BCP 47. An overview of these best practices is provided here: https://www.w3.org/International/articles/language-tags/. When specifying languages, you can use any language as long as it is a valid BCP 47 code that consists of the language subtag, optional region subtag, and optional script subtag as appropriate. In addition to commonly-used alphabetic country codes, BCP 47 also includes support for UN M.49 region codes.

As a best practice when specifying a language, use the region subtag (for example, the US of en-US) only when it conveys helpful information, such as spelling variations between countries. For example, there is generally not a need to distinguish between Japanese as used in one country versus another, so you should use only the language code subtag (ja) instead of the language code and region subtags (ja-JP). In cases where specifying a region is appropriate, use the hyphen character to combine a language subtag with a region subtag. This identifies both the language and the specific location where the language is used. For English with American spelling, use en-US; for English with British spelling, use en-GB.

Although script subtags are valid (for example, Chinese can be written in either Traditional or Simplified characters, and you may need to indicate that localizations appear in a specific script), keep in mind that script subtags are for describing text and should not be used for describing audio. For example, you would deliver cmn to describe audio in Mandarin, not cmn-Hant or cmn-Hans.

Note that while any language code complying with the guidelines above will be accepted, Apple Books only displays content in a limited set of languages as shown in the table below. At present, the only UN M.49 region code supported by Apple Books is 419 and it is useful in forming the language tag es-419 to represent Spanish as used in Latin America (as distinct from Spanish as used in Spain).

Languages

Storefront displays only these languages

Afrikaans

af

Arabic

ar

Bengali

bn

Bulgarian

bg

Cantonese

yue-Hant

Catalan

ca

Chinese (Simplified)

zh-Hans

Chinese (Traditional)

zh-Hant

Croatian

hr

Czech

cs

Danish

da

Dutch

nl

English

en

Estonian

et

Finnish

fi

French

fr

German

de

Greek

el

Haitian

ht

Hebrew

he

Hindi

hi

Hungarian

hu

Icelandic

is

Indonesian

id

Irish

ga

Italian

it

Japanese

ja

Kazakh

kk

Korean

ko

Lao

lo

Latin

la

Latvian

lv

Lithuanian

lt

Malay

ms

Norwegian

no

Persian

fa

Polish

pl

Portuguese

pt

Punjabi

pa

Romanian

ro

Russian

ru

Sanskrit

sa

Slovak

sk

Slovenian

sl

Spanish

es

Spanish (Latin America)*

es-419

Swedish

sv

Tagalog

tl

Tamil

ta

Telugu

te

Thai

th

Turkish

tr

Ukrainian

uk

Urdu

ur

Vietnamese

vi

Zulu

zu

* 419 is a UN M.49 region code. https://unstats.un.org/unsd/methods/m49/m49regin.htm