Languages And Multilingual Campaigns

This section contains information on how to run a campaign in multiple languages, from creating translations of a Page, to viewing reports that combine actions regardless of language, to sending Mailings in the appropriate language.

Add Or Edit A Language

ActionKit has built in translations for French and Portuguese. These aren't editable but you can view the built in translations and use some or all of them.

Follow the Languages link under Languages on the Pages Tab, then follow these steps:

1 Add a new language or click on an existing language to edit it. If you just want to view the built in translations follow the link at the top of the screen.

2 Select the Language code from the dropdown and ActionKit will display country names in the selected language. As an example, if I take action on a Page that uses a Templateset with the Spanish language code selected, I would see Estados Unidos instead of United States.

This is a good idea if you plan to provide a country select box for international users. If you are are using a Templateset that supports the Customize Fields functionality for your user form fields, ActionKit will use the code to display the country names.

If you're using an older Templateset, copy the user form intl template to the user form template to include a translated country drop down.

3 Look in the Built-in Phrases dropdown to see if ActionKit includes a standard translation for this language. If you select a language other than English, its translations will be shown below each of the phrase entry fields.

4 Translate the messages shown on this screen. If you chose a language in the built-in phrases dropdown, any field you leave blank will use the built-in translation. Or override them with your own phrasing. These are system messages that ActionKit might show a user (like Zip is required).

If you don't translate a particular message, the default message will be taken from the built-in language it's based on, if you chose one above, or shown in English.


Languages are saved to the core_language table.

Create A Templateset For Each Language

You can read more about Templatesets generally in Customizing Pages with Templates. You'll want to translate the text that displays on the Page for any individual template you plan to use, plus for any related templates. For example, the wrapper applies to all Page Types, so you'll want to translate the privacy policy here so it shows correctly on all Pages.

Expand the Appearance link in the sidebar on the Pages Tab and click Templatesets. Copy an existing Templateset to get started. Select the language from the drop down.

If you'd like ActionKit to treat this Templateset as the default for this language, check the Is default box. You can have more than one Templateset associated with a language, but ActionKit will always pre-select the default Templateset when you create a new Page using the language.


The user form template doesn't define the user form on Donation Pages. To translate these field names, make your changes in the donate template.

Create An Email Wrapper For Each Language

Add new Email Wrappers from the Email Wrappers link on the Mailings Tab.

Every Wrapper must have an unsubscribe link. Translate the text on this screen.

You can have more than one Wrapper per language. It's a good idea to designate one Wrapper per language as the default. ActionKit will select the default Wrapper for the Confirmation Email for any Page associated with the language.

Create A Multilingual Campaign

You can associate multiple Pages with each other for tracking and reporting (see below). Create a new multilingual campaign from the Pages Tab or by following the green plus when you create your Page.

If you follow the grey Multilingual Campaigns link on the Pages Tab, you can see summary information including the count of action takers and a list of the languages for the Pages associated with each campaign.

Create A Page And Translations

There are a few things you need to do to create a Page in a non-English language, and if you'd like, to hook it to other translations.

You need to have added your language.

Then when you create your Page, select the language on the Action basics screen. All users who take action on this page will have their language preference set to the selected language. If you'd like existing users' language setting to remain as it is, select "--------" from the drop down.

Also, your Page will use the default Templateset for the language (although you can select another one instead).

If this is a translation of another Page, you can associate it with the other versions by selecting a Multilingual Campaign. All Pages that share the same multilingual campaign are treated as one Page for reporting and by the thermometer if you've selected a goal.

Pages with a Multilingual Campaign display links at the top right of the Page so users can toggle to the language they prefer.


For Donation Pages, the multilingual campaign feature allows you to group Pages with different currencies, but the language picker won't be shown unless the Pages actually have different languages, and public-facing thermometers will only include donations in one currency.

Enter your content in the appropriate language on the Edit content screen and the text of the Confirmation and TAF Emails on the After action info screen. ActionKit will pre-select the default Email Wrapper for the language for your Confirmation Email.

View Combined Results

You can use any report that looks at results by Page to look at results by multilingual campaign as well. If you click on the report name to run the report, ActonKit will ask for a Page name or campaign name. Type in a few letters and ActionKit will show all the Pages and campaigns with those letters.

Select your campaign and you'll see a checkbox that offers the option to break down the results by Page and show the combined result. If you'd just like to see the combined result, uncheck the box.

If you download the CSV only the combined results are available.

You can also click Multilingual Campaigns (next to the small "Recent Pages" header) on the Home and Pages tab to see how many people took action on each campaign.

Translating Account Tools

Account Tools include screens where users can set their password, log in, and update their own contact information.

Account tools are different than Pages in that you can only have one of each and they always display in the default wrapper, unless you add some code to the URL to force the tools to display in a different wrapper.

You can provide users with a translated version of these screens. You must have set up the language in ActionKit and translated the relevant fields. Also, there must be a templateset associated with the language marked as the default. You can have one default per language.


This will not work if your templateset uses {% extends %} to inherit from a set in another language.

Then you can direct users to the translated page using either:

  • Adding a'lang' identifier to your URL: It can be either the id, iso code, or name column of a language you've added (e.g., or
  • Including the name of a Page that's been translated to another language in your URL (e.g. if you've set up German as a language and translated the field names, and created a German-language event signup page like Rallies_de_attend, you can send users to /me/update/?next=/act/rallies_de_attend/ and the form field names will appear in German). The page name must not include dashes.

Email Users In Their Language

Once you've created any language, you'll see a language box on the Target screen in the mailer. Select the language and any user with that language in their core_user record will receive the Mailing.

Change A User's Language

You can change a user language manually from the individual user record:

1 Search for the user by email, name or other criteria on the User's Tab.

2 Click on the user you're looking for on the list of users matching your search criteria.

3 Scroll down to language and select from the dropdown.

You can also change a user's language with the bulk uploader.

Or you can let user's pick their own language on a separate language selection page.