Jump to content
View in the app

A better way to browse. Learn more.

Invision Community

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Handling right-to-left languages

The IPS Community Suite has built-in support for languages that use right-to-left text (including Arabic, Persian and others), and if you are creating a theme to share with others, you should ensure it is compatible with right-to-left display. Doing so is easy.

 

RTL-specific CSS

When RTL display is used, certain CSS properties need to be reversed; for example, if you position something left in LTR languages, when shown in RTL it would need to be positioned right instead.

The global template in IPS4 always has the dir attribute specifying the text direction (the value is either ltr or rtl), and it is this attribute we can use to add direction-specific styles.

Let's imagine you have some CSS in your theme like this:

.yourClass {
	font-weight: bold;
	position: absolute;
	left: 15px;
	top: 15px;
	padding-left: 30px;
}

Some of these styles need to be separated out for RTL or the theme won't look right. So, by using the dir attribute on the html tag, what we instead need to write is:

/* These styles are the same regardless of text-direction */
.yourClass {
	font-weight: bold;
	position: absolute;
	top: 15px;
}

/* LTR styles */
html[dir="ltr"] .yourClass {
	left: 15px;
	padding-left: 30px;
}

/* RTL styles */
html[dir="rtl"] .yourClass {
	right: 15px;
	padding-right: 30px;
}

That's it! RTL languages will now correctly position the element on the right-hand side of the screen, while LTR languages will show it on the left as expected.

Whenever you use styles impacted by text direction, you should split them out in this way.

 

RTL-specific icons

The IPS Community Suite makes extensive use of FontAwesome icons. Some of the icons need to be flipped for RTL languages (such as arrows) and if you use the standard classnames (e.g. fa-caret-left), we automatically flip these so that they are correct for RTL languages.

If you manually specify icons in your CSS classes using the unicode code, you will need to adjust them for RTL so that their opposite icon is used. For example, if you do this in your CSS:

/* This uses the unicode for FA's 'angle-right' icon */
.nextLink:after {
	font-family: 'FontAwesome';
	content: '\f105';
}

You will need to change it to be:

.nextLink:after {
	font-family: 'FontAwesome';
}
html[dir="ltr"] .nextLink:after {
	content: '\f105';
}
html[dir="rtl"] .nextLink:after {
	content: '\f104';
}

 

Consider your Javascript

This usually will not require any action. However, if you have any custom JavaScript which adds user interaction, consider if any changes need to be made. For example, if you have a menu which opens from the left, it may need to open from the right. If you are only using the UI widgets already in the IPS Community Suite, these already make all such considerations so no action will be necessary.

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.