Challenges of supporting RTL languages


  • Plain Text
  • Watch out Punctuations, especially ()


LTR text inside RTL contexts

  • Paths (e.g., C:\Users\username\Desktop)
  • Full URLs (Check out the %1$@ on GOAT %URL)
  • Telephone numbers: 987 654-3210 or Starts with punctuation +19876543210
  • Usernames & passwords (most sites on the web expect LTR usernames/passwords, but there may be exceptions)
  • Other text fields where only LTR text is expected

Placeholder checklist: 

  • Numbers and English in Placeholder (e.g. Address %s= 15 Bay Street, Laurel, CA)


  • Western/Eastern Arabic numerals: TBC
  • Breaking Up Large Numbers
  • Currency Localization: Some locales place the currency symbol to the left of the number, while others place the symbol to the right (EURO). 
  • Percentages: Arabic percent sign go to the left of its associated number

Mirror Layout:

  • layout mirroring: right-aligned menus, right-aligned text, drawable positioning, dialogs and forward arrows pointing to the left.
  • Graphics, icons
  • Not to mirror:
    • English Text/numbers
    • Icons/animations that are direction neutral
    • Icons that wouldn’t look differently if they’d be mirrored, like X buttons or the bookmark star icon
    • Icons that should look the same as LTR, like icons related to code (which is always LTR) like tool-webconsole.svg
    • Checkmark icons
    • Video/audio player controls
    • Product logos
    • Order of size dimensions (e.g., 1920×1080 should not become 1080×1920)
    • Order of size units (e.g., 10 px should not become px 10 (unless the size unit is localizable))

Legacy Support

  • Provide support for lower OS: e.g. Android 4.1.1 (API level 16) and lower.


Android – Support different languages and cultures

Material Design






您的电子邮箱地址不会被公开。 必填项已用 * 标注