Unleash Your Multilingual Mac
How to Read/Write Languages Other Than English on your Mac and Other Apple Devices
by Tom Gewecke (tom at bluesky dot org)
One of the best-kept secrets about Apple's devices is the built-in support they
contain for reading and writing languages beyond English, including ones
that use non-Latin scripts and characters. This document explains these capabilities and provides various resources to help users exploit them to the maximum degree possible. Comments and additions from readers are most welcome.
In addition, readers may find it useful to consult my blog, where I try to post info on current developments in this area.
Basic Apple documentation for MacOS can be found in the Help menu of the Finder if you put "languages" in the Question box. There is also a User Guide and a list of language support articles.
Apple sponsors general user-to-user Support Communities in English, Japanese, Korean, Chinese, Spanish, Portuguese, French, and German.
The place to ask for new language features and bug fixes is the feedback channel.
These comments are based on MacOS 10.15, first issued 10/7/19. Email me if you would like to see a similar text for an earlier version of MacOS/OS X. For info on OS 9, ask for the page on OS X 10.4, which was the last to support running that.
Catalina adds some new language features to what is available in Mojave: Improved keyboard predictions for Cantonese and Japanese, new fonts for Indian languages, 2 new English translation dictionaries (Thai and Vietnamese), and SIRI translation. There are no new localizations or spellcheckers, but 16 new language keyboards (Lao, Assamese, Bodo, Cantonese, Dhivehi, Dogri, Kashmiri, Konkani, Maithili, Manipuri, Marathi, Mongolian, Odia, Sanskrit, Santali, and Sindhi).
MacOS offers the choice of 39 system languages out of the box -- English, English (UK), English (Australlia), Japanese, French, French (Canada), German, Spanish, Spanish (Mexico), Italian, Dutch, Swedish, Danish, Norwegian, Finnish, Traditional Chinese, Simplified Chinese, Traditional Chinese Hong Kong, Korean, Brazilian Portuguese, European Portuguese, Russian, Polish, Arabic, Czech, Hungarian, Croatian, Greek, Catalan, Hebrew, Hindi, Romanian, Slovak, Thai, Ukrainian, Turkish, Vietnamese, Malay, and Indonesian. These languages, which affect system-wide menus and dialogues, can also be changed, for your next login, via the Preferred Languages menu of the Language & Region pane in System Preferences. Just move your preferred language to the top of the list. To expand the list, click on the plus button and then "add".
Sometimes other localizations produced by 3rd parties have been made available by the Apple sites in specific countries, but I am not aware of any for 10.14.
MS Office for Mac 2016/2019 (unlike the obsolete 2011 version) is multilingual like all Apple apps -- it will adopt the language the OS user interface is set to. Note that Asian text features like phonetic guides are only available if you have Word 2016 set to English/English US or an Asian language.
"Fast User Switching," activated in the Accounts preferences, enables you to quickly rotate your screen among different system languages if you set up separate users for them. Be careful to keep your keyboard the same for all login and logout operations, or you can find your password will not work.
If you poke the "Plus" button in the Preferred Languages tab to see all varieties available, you get a list of over 130, the exact number depending on whether you have added any additional language fonts. The top language determines the localization of the OS (among the 34 available). Safari uses the order of languages in this list to tell sites what language it prefers, and OS X uses it to determine default fonts. So if Chinese is ahead of Japanese in this list, Chinese fonts should normally get first choice by the system in any ambiguous situation. Also the order will determine which localization will be used for any app which does not have the files needed for the language at the top of the list.
To change the default font for a specific language, see this page.
The top language also determines the default sort order for lists, which can be set independently via a separate menu on the same preference tab . There can be some unexpected consequences if you put an unusual language in first place. Hawaiian sort order is not at all like English, for example.
The standard sort order in OS X is based on a Unicode system. More info can be found here. Numbers come before Latin characters, Greek comes after.
To avoid Unicode order in Contacts.app (where all names in scripts other than that of the OS are put at the end), use Card > Add New Field > Phonetic First/Last Name to create a Latin script name for each contact in another script. It should then sort with the Latin names.
To run an application in a language different than that of the OS, try the app found here. If you want to permanently run an app in a localization different from that of the OS, you will need to rename the .lproj folder found inside the app.
Apple's information on how to localize applications can be found here.
Note that the system language is distinct from the keyboard language, which determines what you can type. The latter is set from the Input Source tab in System Preferences/Keyboard. Spell checking is also set independently in System Preferences/Keyboard/Text and for each app in Edit > Spelling and Grammar > Show Spelling and Grammar. The Keyboard pane can also be reached via a button in System Preferences/Language & Region.
To change the language of the login page, see http://support.apple.com/kb/HT4102.
To get rid of system and app languages after they have been installed (normally to liberate hard drive space, about 50MB per language), some people use the program Monolingual, but if you are not careful it can do a lot of damage to your system. Personally I do not think the benefit is worth the risk.
Catalina (like Mojave, High Sierra and Sierra) deletes the setting for Format Language found in earlier versions of OS X in System Preferences/Language & Region/Advanced/General. To have the language for date, time, and number formats and your calendars be different than the OS interface, you can try to use a Terminal command as explained here.
In MacOS you can select over 100 keyboards covering Arabic*, Assamese, Australian, Austrian, Azeri, Armenian*, Bangla, Belgian, Bodo, Brazilian, British*, Bulgarian*, Byelorussian, Canadian French, Cantonese, Cherokee*, Chinese*, Croatian*, Czech*, Danish, Dari, Devanagari*, Dhivehi, Dogri, Dutch, US, Estonian, Faroese, Finnish*, French*, Georgian, German, Greek*, Gujarati*, Gurmurkhi (Punjabi)*, Hawaiian, Hebrew*, Hungarian, Icelandic, Inuktitut*, Irish*, Italian*, Japanese*, Jawi, Kannada*, Kashmiri, Kazakh, Khmer, Konkani, Korean*, Kurdish*, Lao, Latvian, Lithuanian, Macedonian, Maithili, Malayalam*, Maltese, Maori, Myanmar, Nepali, Norwegian*, Oriya*, Pashto, Persian*, Polish*, Manipuri*, Mararthi, Mongolian, Odia, Portuguese, Romanian*, Russian*, Sami*, Sanskrit, Santali*, Serbian*, Sindhi*, Sinhala*, Slovak*, Slovenian, Spanish*, Swedish*, Swiss*, Tamil*, Telugu*, Thai*, Tibetan*, Tongan, Turkish*, Uighur, Ukrainian, Urdu, Uzbek, Vietnamese*, and Welsh, plus Dvorak*, Colemak, ABC Extended, US International PC, and Unicode Hex (an asterix indicates multiple options).
Amharic is still missing (although fonts are provided). Here is a 3rd party keyboard for Amharic.
For alternative input sources for Chinese, Japanese, and other Asian languages, see this page.
For help with typing other languages and scripts, see these articles: traditional Mongolian,
To activate the keyboards and palettes you go the Desktop menu, then to System Preferences, Keyboard, and Input Sources and use the Plus and Add buttons. Also make sure to check the box for showing the Input Sources (also known as the "flag" menu) in the Menu Bar at the top right of the screen.
Catalina (like Mojave, High Sierra, Sierra and El Capitan) changes the default keyboard shortcut for changing input sources from the traditional Command plus Space to Control plus Space. You can make it whatever you want via System Preferences/Keyboard/Shortcuts.
Also Catalina (like Mojave, High Sierra and Sierra) has a setting in System Preferences/Keyboard/Input Sources to use Caps Lock to switch from a non-Latin keyboard to the last used Latin keyboard.
To see which key does what for a keyboard, use the Keyboard Viewer. This is activated by checking a box in System Preferences/Keyboard > Show Keyboard, Emoji, & Symbol Viewers in Menu Bar. Pressing the physical Option, Shift, and Option+Shift keys will show what these combinations produce. To use Keyboard Viewer without having to touch any real keys, try turning on Sticky Keys in System Preferences/Accessibility.
To type "accented characters" you do not necessarily need to switch to a specialized language keyboard. Holding down the base letter on the keyboard will generate a popup menu (the Accent Menu or Character Picker) where you can choose various accented versions (and there are ways to customize what appears in those menus). The standard Mac US keyboard also has "dead keys" for 5 common accents activated via the Option key, and the US Extended keyboard has dead keys (plus capability for inputting combining characters) for many other diacritical marks. Charts can be found here
All the available keyboards can be selected in the "flag" menu and should be usable with all programs that run on MacOS. The Traditional Chinese, Simplified Chinese, Japanese, Korean, Tamil, Vietnamese Unikey, and Tibetan IM's are organized differently than the other keyboards. For Chinese (and sometimes also Japanese and Korean as concerns applications) the key info site is the
Chinese-Mac FAQ User Guide
Here are Apple's instructions for Chinese handwriting input.
MacOS Kotoeri includes a "reverse conversion" command that will convert kanji text into kana, which can then also be transliterated into romaji. The Japanese IM can switch between Roman and direct Kana input via its Preferences pane (accessed from the bottom of the "flag" menu when the Japanese IM is active). The keyboard layout used can also be set in this pane. A chart of Kotoeri input codes can be found the the Kotoeri Help. Here is good site for info on Japanese input.
The Vietnamese Unikey IM's include a menu item "Convert to Han-Nom," which lets you convert the modern Latin script into the Chinese characters used in ancient Vietnamese. Here is info on the use of the Telex, VNI, and VIQR layouts.
For users who need the capability of composing Asian languages in vertical, right-to-left format, or with "Ruby" annotations, Word2004/2008/2011/2016/2019 or Open/Neo/LibreOffice or LightWay Text are probably the most practical choice. OS X TextEdit can also do vertical. Not all Asian fonts have proper typographical features for vertical text -- the Hiragino Japanese fonts that come with MacOS do, however.
Input of RTL (Right-to-left) scripts like Arabic and Hebrew poses special challenges for word processors and other programs. The program Mellel is especially designed to deal with these. Others that should work well are Nisus Writer Express and Pro, Pages 5/6, TextEdit, and Open/LibreOffice. iBook Author may handle copy/paste well, but keyboard input and formatting is probably too buggy to use. MS Office for Mac 2016/2019 finally does support RTL (earlier versions do not).
In System Preferences/Keyboard/Input Sources, when you select the Arabic or Hebrew layout, you will also find settings for split cursor and keyboard shortcuts for changing text direction.
In Adobe apps, you need to activate the World Ready Composer to get RTL features.Winsoft has special versions Filemaker for working with RTL scripts and other languages.
MacOS comes with fonts, but no keyboard, for Amharic/Ethiopic and Lao. You can find sources for those by searching my blog on those terms.
Here is a way to use keyboard shortcuts to select individual keyboards (instead of using the "flag" menu).
If you want make your own keyboards, Apple Tech Note 2056 has some information on various options. In practice the easiest thing is to use Ukelele, which provides a simple drag/drop interface for creating custom layouts. This utility comes with a large number of sample layouts so you normally do not have to program all keys, just the ones you want to change.
Other apps are Karabiner, Keymagic, and Keyman.
MacOS itself includes a facility for making custom Unicode input methods. Some details can be found here.
There are many custom keyboard layouts available on the internet -- a Google search is the best way to find them. Or contact me.
To install keyboards that you download or create yourself, put them in Users/username/Library/Keyboard Layouts (or in Library/Keyboard Layouts if all usernames need access to them, or if you need them for password/login windows). Then go to System Preferences/Keyboard/Input Sources and use the Plus and Add buttons (be sure to look in the Other category). You may need to log out and log in again to have it appear.
Here is how to make a custom keyboard layout the system default.
MacOS includes a system-wide spell-checker, which is accessible via the Edit/Spelling menu. There is also an item System Preferences/Keyboard/Text to let you set spellchecking system wide without changing the OS language. In addition to US English, 10.14 has spellcheck dictionaries for Australian, British, Japanese, and Canadian English, German, Spanish, French, Italian, Dutch, Portuguese, Swedish, Danish, Polish, Turkish, Norwegian, Finnish, Korean and Russian.
You can activate multilingual spellcheck by going to Set Up at the bottom of the Spelling item in System Preferences and checking the boxes for the languages you want to use, and then setting the item to Automatic. How well it works you can only tell by testing.
To change spellcheck language via a keyboard shortcut, see this page.
For other languages you can add dictionaries from OpenOffice as explained here.These will not work with multilingual spellcheck, however.
For info on making dictionaries, see this page.
MS Office 2016/2019 for Mac has its own spellcheck system. For a list of languages supported see this page.
A commercial alternative is SpellCatcher X
For translation , by far the best tool is Google Translate.
MacOS 10.15 includes monolingualreference dictionaries for US English, British English, Dutch, French, German, Hebrew, Hindi, Danish, Norwegian, Swedish, Italian, Spanish, Portuguese, Russian, Turkish, Thai, Japanese, Korean, S. Chinese, and T. Chinese. There are also English translation dictionaries for Arabic, French, German, Dutch, Hindi, Italian, Portuguese, Spanish, Russian, Thai, Japanese, Korean, Vietnamese, and Chinese. For others see this article.
Here is info on getting Apple's Dictionary Development Kit if you would like to create your own dictionary.
Apple’s published list of Catalina fonts can be found here. This page may also be useful. OS X can make routine use of many Windows fonts. Note, however, that viewing complex scripts which require reordering, contextual shaping, or stacking of characters (such as Arabic, Devanagari, Tibetan, Classic Mongolian, and Thai) requires a combination of font and rendering engine technology. On the Mac this is accomplished via an AAT (Apple Advanced Typography) font and ATSUI, while Windows uses an OpenType font plus Uniscribe. The result is that when you select a Windows font in OS X, complex scripts may not display correctly, and an Apple font should be used if available.
MacOS is gradually increasing OpenType support, and from 10.9 can use Windows Arabic and Indic fonts in TextEdit and Pages 5. Instructions for using Apple's font tools to add some AAT features to other fonts can be found here.
Apple's Color Emoji font has special characteristics. Characters produced with it may not be seen on non-Apple devices if they do not have their own color font installed, and they may look slightly different. For detailed info about Emoji see this page.
The Character Viewer, activated via Edit > Emoji & Symbols and found in the "Flag" (Input Source) menu, is organized by categories and does not offer a way to view and input all the characters in a particular font. But the FontBook app can do this function via View > Repertoire.
An alternative is a program like PopChar or Ultra Character Map.
Character Viewer is ideal for finding and inputting Unicode characters by range or category. But first you need to go to the "gear wheel" at the top left and select Customize List and add Unicode and any other categories you are interested in. You may also need to expand the small version by clicking on the icon at the top right of the search field.
To change the default font used for certain scripts, see this page.
The behavior of fonts used for non-Roman scripts and for languages like Vietnamese can sometimes be adjusted to suit particular needs regarding glyph forms, ligatures, etc. Open the Font panel, select the font, hit the "gear wheel" at lower left, and select "Typography" to see any options which may be available.
If you want to make your own font, common apps are FontLab, FontForge, RoboFont, Type, and Glyphs.
For more info on Font Management Issues, see this page.
Text-to-speech is available in 41 languages
The VoiceOver screenreader for blind and low vision users handles over 40 languages .
10.15 can take dictation in over 50 languages, including Arabic/Hebrew. Apple's info is here.
MacOS SIRI can do translation in the languages listed at this page.
Language capabilities of all iOS devices are essentially the same and can be found in their tech specs. An exception is that some devices have an extra keyboard setting for 10-key/T9.
For info on the language and country available of various iOS features, see this page.
Settings > General > Dictionary lets you download and activate a number of reference and translation dictionaries, for the same languages as in MacOS.
Voice Dream is an excellent alternative Text-to-Speech app which can handle 20 languages.
To access extra characters on the keyboards for iOS devices you hold your finger on a key and a popup menu of accented characters should appear. Spellchecking follows the keyboard being used, to switch keyboards you use the "globe" key. Whether Japanese or Chinese fonts are used for Han characters may depend on the order of languages in the language setting list. To move one higher you have to switch the OS to that language and then back to what you want. There is no way to set encodings for email or webpages.
For a list of screen and hardware keyboard layouts available in iOS 11, see this page.
A limited form of multilingual spellcheck is available starting with iOS 10.
A list of iOS fonts is available here.
It's possible to add custom fonts and keyboards to iOS using various apps found in the app store.
User Guides are available at Apple Manuals.
Languages available for the user interface and song info on music-only iPods can differ considerably by model and are also listed in their individual tech specs.
The Mail program included with MacOS is fully Unicode-savvy and automatically searches for glyphs in installed fonts for whatever encoding is indicated on the incoming text. In 10.14 (as in in all versions starting with 10.9) the Text Encoding menu has been deleted, so users can no longer choose that for either incomings or outgoings. The default encoding for outgoing messages in Mail is sensitive to the order of languages in System Preferences/International/Languages, especially for Russian, Greek, Chinese, Japanese, and Korean. Before sending email in these you may want to test it with a message to yourself to see whether the default encoding is what your recipients will expect, and set it manually or adjust the preferences if necessary.
To force outgoing mail to be encoded as UTF-8, which can solve some problems, include a Unicode Dingbat (range 2700) in your sig.
When doing Webmail, you are at the mercy of the behavior of the particular browser and web site being used when it comes to faithful transmission of non-English mail text. It is best to explore the settings for the site to see if anything special exists for unusual scripts, and set the encoding of the browser as best you can before composing or reading. Trial and error may be required to get it right, and sending yourself a test message is a good idea. iCloud webmail can operate in all languages as long as you check the UTF-8 box in its preferences. For the best multilingual email experience, use one of the standard mail programs rather than webmail.
The Language Display Capabilities of content in the iTunes app should be the same as those of MacOS, that is to say just about any language for which you can find a font.
Correct display of the language in song titles in iTunes depends on the language being properly encoded and identified in the ID3 tags of the song. If it isn't working right, you can try to fix the tags. Programs that may be useful for this are Unicode Rewriter and ID3Mod. If fixing the tags doesn't do the trick, the only alternative is to type titles in manually.
Some languages are not yet supported by the iBookstore, as reported here.
The Apple TV uses a version of OS X (tvOS) which has different language capabilities than MacOS or iOS. Localizations for the menus and dialogues (chosen at initial setup or afterwards via the Settings >General > Apple TV Language menu) are English (9 varieties), Spanish (Latin America and Spain), Chinese (Simplified, Traditional, Hong Kong), Japanese, French (France, Canada), German, Russian, Portuguese (Portugal, Brazil), Italian, Korean, Turkish, Dutch, Arabic, Thai, Swedish, Danish, Vietnamese, Norwegian, Polish, Finnish, Indonesian, Hebrew, Greek, Romanian, Hungarian, Czech, Catalan, Slovak, Ukrainian, Croatian, Malay, and Hindi.. Voiceover is available in all of them to read the screen if necessary.
To access subtitles and audio in different languages, follow the instructions in this page.
Here is info on generating special characters with the Apple TV screen keyboard. Non-Latin input is not yet supported that way, but you can in theory do it via the Remote app on an iOS device.
The Apple Watch uses a version of OS X (watchOS) which may have different language capabilities than MacOS, tvOS, or iOS. For info see the current tech specs for the watch.
This page provides instructions on how to adjust the dictation language of the Watch.
This article provides some info on how watchOS features have evolved.
Traditionally computer systems could deal with only a limited number of distinct characters at once. Handling diverse languages meant remapping the same 256 codes to different characters for each one, using a font specifically designed for it. Successful communication over the internet sometimes required synchronizing the fonts at each end and translating among a couple dozen mutually incompatible character set standards, a list of which you can find in the "character encoding menu" of any browser or email program.
The development of Unicode, which is the agreed international standard for the unique encoding of all the characters used in different languages, changes this situation radically for the better. By creating a single character set that covers all scripts, Unicode allows the reading and writing of texts in any language, or the simultaneous display of many languages, without changing encodings and fonts. It should eventually become the common basis for text processing across all platforms and programs. Non-unicode encodings can still be found in common use for some Indic scripts.
The most obvious practical implication of Unicode systems for users is that you don't switch languages/scripts by switching fonts. Instead you switch keyboard layouts, and the fonts take care of themselves.
The basic principle of Unicode is to assign a unique number (usually expressed in hexadecimal form) to every character. 1.1 million "codepoints" have been allocated for this purpose, divided among 17 "planes" with about 65,000 characters each. All characters in common use have been assigned to Plane 0, also known as the Basic Multilingual Plane (BMP), and some others have been placed into Planes 1, 2, and 14, as part of an ongoing process. Under the current version, Unicode 12.0, almost 138,000 characters have been allocated (plus 136,000 codepoints reserved for private use), and various scripts are in the pipeline under consideration by various committees. For further information see the Roadmap to Unicode.
In practice Unicode data is represented by one of several possible "transformation formats," or UTF's. There are two common ones, UTF-16 and UTF-8. However, only UTF-8 is normally used over the internet. (Email also often has an additional "content transfer encoding," either "base64" or "printed-quotable," which is not related to language or character set issues.)
MacOS has full Unicode support. TextEdit and other apps, including Character Viewer and the Unicode Hex keyboard layout, enable reading and writing of all Unicode characters. Custom keyboards, based on XML text files, can also be created to access and input any desired set them. iOS also has full Unicode support, but there are limits on the ability of users to create custom keyboards and determine encodings or font usage.
A good Unicode utility is UnicodeChecker. It covers all 17 Unicode planes, can be searched by character block or name, and characters can be copy/pasted into TextEdit. This program also provides various useful items in the Services menu, including conversion between Unicode and HTML entities.
For codepoints in the Unicode Private Use Area (PUA) used by Apple, see this page.
For info on Unicode and AppleScript, see here.
Copyright 2000 - 2019 by Thomas H. Gewecke