Alva Courses is a Shopify app that lets merchants build, sell and deliver online courses natively inside their store. Because the course player runs inside your Shopify storefront, it can follow the language your shop is already showing instead of asking students to choose again.
Selling in several languages is mostly a Shopify job: your theme, product pages and checkout. The course experience adds three questions. Which parts translate themselves, which parts can you reword, and which parts do you write in each language yourself?
What does a multilingual course store on Shopify involve?
A multilingual course store has three layers. Shopify translates your theme, product pages and checkout through its own language settings. Alva Courses translates the course player's interface and lets you reword it per language. Your course content, from titles to lesson text and video, is yours to write in each language you teach in.
| What students see | Who translates it, and how |
|---|---|
| Theme, product pages, cart and checkout | Shopify. Add languages in your Shopify settings and translate your content with Shopify's Translate & Adapt app or another translation app. |
| Course player: navigation, progress, buttons, quiz screens, comments and dates | Alva Courses, automatically, in 35 languages. You can reword any of it on the Storefront text page. |
| Thank-you page block, order status page and My Courses in customer accounts | Alva Courses, in the same 35 languages. Reword them on the Storefront text page too. |
| Course titles, lesson names, lesson content and quiz questions | You. Write them in each language, usually as one course per language. |
| Emails and certificates | You, in your email templates and certificate designs. Each course can have its own enrolment email and certificate design. |
Which languages does the Alva Courses player support?
The Alva Courses course player comes in 35 languages and translates everything students use to move through a course: lesson navigation, progress bars, completion buttons, quiz screens, comments, access messages and dates. Nothing needs switching on. On the default setting, it shows each visitor the language your storefront is showing them.
The full list: Arabic, Bulgarian, Chinese (Simplified and Traditional), Croatian, Czech, Danish, Dutch, English, Filipino, Finnish, French, German, Greek, Hebrew, Hindi, Hungarian, Icelandic, Indonesian, Italian, Japanese, Korean, Norwegian (Norsk and Bokmål), Polish, Portuguese (Brazil and Portugal), Romanian, Russian, Spanish, Swedish, Thai, Turkish, Ukrainian and Vietnamese.
How does the course player choose a language?
On Auto, the default, the player uses the language your storefront is showing, then the visitor's browser language, then English. To force one language for every course, use Course Viewer Language under Settings → Appearance. To force it for a single course, use the same setting on that course's Settings tab, under Learning. A course's own language always wins.
Forcing a language helps when a store sells in one language but some visitors' browsers are set to another, or when one course is taught in a different language from the rest of your store. A Spanish store can run a single English course, for example. Step by step: Set the course player language.
If your language isn't one of the 35
For a storefront language outside the list, such as Catalan, the player falls back to the visitor's browser language and then English. Instead, you can force the closest supported language and reword its text, or write your own text under All languages on the Storefront text page, which then shows in every language.
What can you change with Storefront text?
Storefront text is a page in Alva Courses where you reword the text customers see: the course player's text, plus the Alva Courses thank-you page block, the order status page and the My Courses page in customer accounts. Set text for one language, or for All languages at once, and leave everything else on its built-in translation.
Open it from Settings → Appearance: under Customize Login, click Edit storefront text. Pick a Language at the top, then edit text in 18 groups, from Course list and Quizzes to Checkout thank-you page and Customer account: My Courses. Search finds text by its wording or its key. The full walkthrough is in Customise storefront text, and the spreadsheet round trip in Import and export storefront text as CSV.
Each field shows its default, and in any language other than English the English text too, so a translator always knows what a field says. The language list marks your store's forced language, languages a course is set to, and languages visitors have browsed your courses in recently.
Which text wins?
Text set for one language wins over All languages text in that language, and All languages text replaces the built-in text in every language. So you can rename "My Courses" to "My Workshops" for English customers while French customers keep "Mes cours".
Labels you set on a course itself, such as the teacher badge, block button labels and quiz titles, win over both.
Translate in a spreadsheet
Export downloads a language as JSON or as a CSV file with four columns: locale, key, default text and your text. It lists every text with its default, so it doubles as a translation template.
Import reads a file back into the same language, up to 1 MB. Blank cells stay as they are, import never deletes text, and a file with any problem imports nothing.
To start a language from text you have already written for All languages, use Copy All languages text into that language, then change what needs changing.
Preview, then save
Preview draft opens your storefront with your unsaved text. The link works for 30 minutes and anyone who has it can see the draft, while your saved text stays as it is. Checkout and customer account text isn't part of the preview, so check it with a test order after saving. View on storefront shows the saved version.
What stays untranslated in the course experience?
Storefront text changes interface wording, not your content. Course titles, lesson names, lesson text, videos and quiz questions always show exactly as you wrote them. Emails and certificates keep their own templates, Shopify translates its own checkout and account pages, and only the 35 supported languages can have text of their own.
- Plain text only. Storefront text rejects < and >, so it can't hold HTML or links. Text shows exactly as typed.
- 500 characters per text. Text much longer than the default gets a warning that it may not fit the layout.
- Placeholders. Some texts carry a value, such as
{{days}}in "Access ends in {{days}} days". A placeholder the text can't use is an error. Removing one is allowed, but that value then won't show. - Customize Login text carries over. Text you set earlier under Customize Login now sits under All languages, so it shows in every language until you set text for a specific one.
How should you structure courses for more than one language?
There are two practical set-ups. If students only need the interface in their language, run one course and let the player follow each visitor's storefront language. If students need the lessons themselves in their language, run one course per language, each with its own Shopify product and its own Course Viewer Language.
One course, many interface languages
This suits courses whose content travels well, such as follow-along video with little speech, or courses taught in one shared language to an international audience. Students get navigation, quiz screens and messages in their own language, and you maintain one set of lessons.
One course per language
This suits courses where the teaching is in the words. It means more upkeep, because every lesson exists once per language, but each version reads naturally to its students.
- Finish the course in your main language.
- On the course page, click Duplicate Course. The copy is a draft with every section, lesson and content block, plus the course settings. Enrolments, comments and product links aren't copied.
- Translate the copy's title, lesson names and lesson content.
- On the copy's Settings tab, under Learning, set Course Viewer Language to the course's language.
- Link the copy to its own Shopify product, and translate that product in Shopify.
- Give it an enrolment email in the same language with per-course emails, and a matching certificate design if you award one.
Do checkout, customer accounts and in-lesson products follow the customer's language?
Yes. Shopify translates its own checkout and customer account pages. The Alva Courses thank-you page block, order status page and My Courses page come in the same 35 languages and follow the customer's language. Products shown inside lessons are rendered by Shopify through your theme, for the visitor's storefront language and market.
The checkout blocks are covered in Thank-you and order-status extensions, and the account page in My Courses in the customer account. To sell products from inside lessons, read how to sell products inside course lessons.
How do you launch a course in a new language?
Launching a new language is a sequence of checks rather than a rebuild. Add the language in Shopify, leave the player on Auto, review the text customers meet first, translate the rest in a spreadsheet if that suits you, then preview and test. Only translated lessons need a separate course.
- Add the language to your Shopify store and translate your theme and course products.
- Keep Course Viewer Language on Auto unless your store or a course should always show one language.
- Open Storefront text, choose the language, and review the groups customers see first: Course list, Log-in and purchase prompts and Course page.
- For a full translation pass, export the language as CSV, fill in the your text column, and import it back.
- Click Preview draft, save, then send yourself a test enrolment to check the checkout and customer account text.
- If the lessons need translating too, duplicate the course for that language.
Teaching a language rather than teaching in one? How to sell language courses on Shopify covers levels, audio lessons and live classes.
Frequently asked questions
No. Alva Courses translates the course player's interface into 35 languages automatically, but course titles, lesson names, lesson text, videos and quiz questions always show exactly as you wrote them. To teach the lessons themselves in another language, duplicate the course, translate the copy and set its Course Viewer Language.
The player supports 35 languages: Arabic, Bulgarian, Simplified and Traditional Chinese, Croatian, Czech, Danish, Dutch, English, Filipino, Finnish, French, German, Greek, Hebrew, Hindi, Hungarian, Icelandic, Indonesian, Italian, Japanese, Korean, two variants of Norwegian, Polish, Brazilian and European Portuguese, Romanian, Russian, Spanish, Swedish, Thai, Turkish, Ukrainian and Vietnamese.
Yes. Open Settings → Appearance, click Edit storefront text under Customize Login, choose a language and change any text. It shows only to customers browsing in that language. Choose All languages instead to change a text everywhere. Text set for a language always wins over All languages text.
It keeps working. Text you set earlier under Customize Login now appears on the Storefront text page under All languages, so it still shows in every language unless you set text for a specific language. Resetting it there removes it everywhere.
Yes. Export a language as CSV from the Storefront text page. The file has locale, key, default text and your text columns and lists every text, so a translator can fill in the last column. Import it back into the same language: blank cells stay unchanged and import never deletes text.
The player falls back to the visitor's browser language, then English. You can force one of the 35 languages and reword its text, or write text under All languages, which replaces the built-in wording in every language. A separate text layer for an unsupported language isn't available.