Add a second language to a survey, translate every question, and clear the publish block that an unfinished translation causes.
One survey can ask its questions in more than one language. You don’t build a second survey — you add a language and type a translation for each question, and respondents pick which one they want. Their answers roll up to the same set of questions either way, so your results stay in one place.
This is the language your questions are written in, described on the page as: “The language your questions are written in. Respondents see it by default, and it’s the version shown everywhere in Liftify — reporting, response viewing, and analytics.”If it’s wrong, choose the right one and click Save.
Once a survey has responses the primary language is fixed. The page then just shows the name, with: “The primary language can’t be changed because this survey already has responses.”
Under Additional languages, open the Add a language dropdown. It reads Select a language until you choose. Liftify offers 29 languages, each shown with its native name — for example Spanish (Español), Vietnamese (Tiếng Việt), Haitian Creole (Kreyòl Ayisyen).
Click Add language.
Liftify confirms with a reminder of what’s still owed: “Spanish (Español) added. Add translations before publishing.”The language now appears in the list with a progress badge — Complete, or something like “0 of 14 translated”.
Click Edit translations on the language’s row. The page is a list of every string in the survey with a box for your translation beside it. The original wording is shown above each box, so you’re always translating from something specific.
Buttons comes first — the wording on the survey’s own navigation buttons.
Then one section per question, headed with its number and type, for example Question 2 · Multiple Choice.
Within a question you’ll see Question text, any extra labels that question has, and where they apply, Choices and Field labels — each answer option and each contact field gets its own translation.A banner at the top tracks how far you’ve got: “6 of 14 strings translated. Every string must be translated before the survey can be published.” When you’re done it turns green: “All 14 translations are complete.”Click Save translations when you’re finished, or Cancel to go back without saving. You don’t have to do it in one sitting — save partway and the progress badge on the Languages page reflects what you’ve done.
Add or reword questions after translating and the new wording arrives untranslated, which puts the language back to incomplete. Get the questions settled first, then translate.One exception, and it is a useful one: rewording an answer choice on a
Checkboxes or Multiple Choice question keeps the translation you already
typed for it, in every language. Rewording a choice used to throw its translations
away and put every language back to incomplete, which made fixing a typo in one
answer option an afternoon’s work. It no longer does. Deleting a choice still
deletes its translations.
Publishing is blocked until every language is complete
This is the thing people get stuck on. The Additional languages section says so up front: “Publishing is blocked until every added language is fully translated.”Click Publish with an unfinished translation and it’s refused, naming what’s missing:“Translations are incomplete: Spanish (Español) is missing 3 of 14 translations. Complete all translations before publishing.”Two ways out: finish the translation, or Remove the language and publish without it. There is no way to publish a survey with a half-translated language attached. See Build and publish a survey for everything else that has to be right before a survey goes out.
Click Remove on the language’s row. Liftify asks “Remove this language and all of its translations?” first — the translations you typed are deleted with it, not archived.
On the first page of the survey, a language dropdown appears at the top with each available language in its own script — Español, Français, Tiếng Việt. Choosing one reloads the survey in that language.The dropdown only appears while they are still on the first page and haven’t answered anything. Once they move on, the language is locked for that response.
You can promote a language you’ve added — say, make Spanish the primary and demote English to a translation. Liftify refuses unless that language is fully translated first: “Spanish (Español) is missing 3 of 14 translations. Complete them before making it the primary language.”
Choosing a language you have not added as a translation does something different: it relabels the survey without touching a word of it. Your questions stay exactly as written, now described as being in the new language. If you want the survey actually translated, add the language, translate it, and then promote it.
Publish keeps failing and the questions all look fine. Read the message — it names the language and how many strings are missing. Open Languages, click Edit translations on that row, and look for empty boxes.A language shows “12 of 14 translated” and I can’t see what’s missing. Every box on the Edit translations page is one string. Scroll the whole page, including the Buttons section at the top and the Choices under each multiple-choice question — those are the ones people miss.I can’t change the primary language. The survey already has responses, so it’s fixed. Build a new survey if you need the questions written in a different language.The language dropdown isn’t showing on the survey. It only appears when the survey has more than one language published, and only on the first page before the respondent answers anything.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Liftify Help","colors":{"primary":"#3767AA","light":"#98B9DC","dark":"#274C80"},"logo":{"light":"https://mintcdn.com/liftify/zqeWY9h9LqqOeRKo/logo/liftify-light.png?fit=max\u0026auto=format\u0026n=zqeWY9h9LqqOeRKo\u0026q=85\u0026s=6f9fdda7d91dac01bd6cb5e118f2809a","dark":"https://mintcdn.com/liftify/zqeWY9h9LqqOeRKo/logo/liftify-dark.png?fit=max\u0026auto=format\u0026n=zqeWY9h9LqqOeRKo\u0026q=85\u0026s=b2a6c1d6603afcbb131adae55ed34f20"},"favicon":"https://mintcdn.com/liftify/zqeWY9h9LqqOeRKo/favicon.png?fit=max\u0026auto=format\u0026n=zqeWY9h9LqqOeRKo\u0026q=85\u0026s=9a57f712061384b17c22dfd5b7ab57f4","navbar":{"links":[{"href":"mailto:support@liftify.com","label":"Contact support"}]},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","cursor","vscode"],"display":"header"},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"liftify","hasAudioNarration":false,"actualSubdomain":"liftify","customDomains":["help.liftify.com"],"gitSource":{"type":"github","owner":"liftify-dev","repo":"liftify-knowledge-base","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"latestBuiltDeploymentHistoryId":"6ad625e40e9fddb338e069f9","collectionId":"940b0bdc-4f48-4498-8feb-200841fa7d20","liveDeploymentHistoryId":"6ad625e40e9fddb338e069f9","schemaVersion":"v3"},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6ad625e40e9fddb338e069f9","clientVersion":"0.0.3964","searchFilterCounts":[{"language":"default","tag":"Getting started","count":14},{"language":"default","tag":"Campaigns","count":10},{"language":"default","tag":"Admin","count":8},{"language":"default","tag":"Reviews","count":8},{"language":"default","tag":"Inbox","count":4},{"language":"default","tag":"Surveys","count":3},{"language":"default","tag":"Tasks","count":2},{"language":"default","tag":"What's new","count":1},{"language":"default","tag":"Contacts","count":1},{"language":"default","tag":"QR codes","count":1}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-v7-file-tree","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"pause-universal-search-reconcile","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"per-site-search-delta","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-private-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-nav-generations","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-agent-model-picker","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"isAtlas":false,"googleFontsInlined":false},"customCss":[{"filePath":"support-form.css","content":".lfy-support-overlay{position:fixed;inset:0;display:none;align-items:flex-start;justify-content:center;padding:6vh 16px 16px;background:rgba(23,48,87,.45);z-index:9999;overflow-y:auto}.lfy-support-overlay.lfy-open{display:flex}.lfy-support-modal{position:relative;width:100%;max-width:560px;background:#fff;color:#1c0f13;border-radius:12px;box-shadow:0 24px 64px -16px rgba(23,48,87,.4);padding:28px;font-size:15px}.lfy-support-modal h2{margin:0 0 4px;font-size:22px}.lfy-support-sub{margin:0 0 14px;color:#6a6a6a}.lfy-support-note{background:#eaf1f8;border-radius:8px;padding:10px 14px;margin:0 0 18px}.lfy-support-note a{color:#3767aa;font-weight:600}.lfy-support-close{position:absolute;top:16px;right:18px;border:0;background:0 0;font-size:26px;line-height:1;color:#6a6a6a;cursor:pointer}.lfy-support-form label{display:block;font-weight:600;margin-bottom:14px}.lfy-support-row{display:flex;gap:14px}.lfy-support-row label{flex:1}.lfy-support-form input,.lfy-support-form textarea{display:block;width:100%;margin-top:6px;padding:10px 12px;font:inherit;font-weight:400;color:inherit;background:#fff;border:1px solid #e2e2e8;border-radius:8px}.lfy-support-form input:focus,.lfy-support-form textarea:focus{outline:2px solid #3767aa;outline-offset:-1px}.lfy-support-actions{display:flex;align-items:center;justify-content:flex-end;gap:14px}.lfy-support-status{flex:1;font-size:13px;color:#6a6a6a}.lfy-support-status.lfy-ok{color:#2e7d5b}.lfy-support-status.lfy-err{color:#a6462f}.lfy-support-send{border:0;border-radius:8px;background:#3767aa;color:#fff;font:inherit;font-weight:600;padding:10px 20px;cursor:pointer}.lfy-support-send:hover{background:#274c80}.lfy-support-send:disabled{opacity:.6;cursor:default}html.dark .lfy-support-modal{background:#171f27;color:#e6ebf0}html.dark .lfy-support-close,html.dark .lfy-support-status,html.dark .lfy-support-sub{color:#9daab6}html.dark .lfy-support-note{background:#163040}html.dark .lfy-support-note a{color:#98b9dc}html.dark .lfy-support-form input,html.dark .lfy-support-form textarea{background:#10161c;border-color:#364552}"}],"page":{"pagePath":"surveys/translate-a-survey","slug":"/surveys/translate-a-survey","pageMetadata":{"title":"Translate a survey","description":"Add a second language to a survey, translate every question, and clear the publish block that an unfinished translation causes.","source_paths":["app/views/client_portal/survey_languages/**","app/views/client_portal/surveys/_builder_header.html.erb","app/views/shared/survey_runtime/_session.html.erb","app/controllers/client_portal/survey_languages_controller.rb","app/controllers/concerns/survey_session_concern.rb","app/services/client_portal/surveys/builder/language_adder.rb","app/services/client_portal/surveys/builder/language_remover.rb","app/services/client_portal/surveys/builder/primary_language_switcher.rb","app/services/client_portal/surveys/builder/translations_persister.rb","app/services/client_portal/surveys/publisher.rb","app/services/client_portal/surveys/builder/schema_manager.rb","app/models/concerns/question_types/choice_list.rb","app/services/surveys/translations/**"],"human_owned":false,"href":"/surveys/translate-a-survey"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Add a second language to a survey, translate every question, and clear the publish block that an unfinished translation causes.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,em:`em`,li:`li`,ol:`ol`,p:`p`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{Heading,Note,Warning}=_components;if(!Heading)_missingMdxReference(`Heading`,true);if(!Note)_missingMdxReference(`Note`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`One survey can ask its questions in more than one language. You don’t build a second survey — you add a language and type a translation for each question, and respondents pick which one they want. Their answers roll up to the same set of questions either way, so your results stay in one place.`}),`\n`,_jsx(Heading,{level:`2`,id:`open-the-languages-page`,children:`Open the Languages page`}),`\n`,_jsxs(_components.p,{children:[`Open the survey in the builder and click `,_jsx(_components.strong,{children:`Languages`}),` in the top bar. The page has two sections: `,_jsx(_components.strong,{children:`Primary language`}),` and `,_jsx(_components.strong,{children:`Additional languages`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`primary-language`,children:`Primary language`}),`\n`,_jsxs(_components.p,{children:[`This is the language your questions are written in, described on the page as: `,_jsx(_components.em,{children:`“The language your questions are written in. Respondents see it by default, and it’s the version shown everywhere in Liftify — reporting, response viewing, and analytics.”`})]}),`\n`,_jsxs(_components.p,{children:[`If it’s wrong, choose the right one and click `,_jsx(_components.strong,{children:`Save`}),`.`]}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[`Once a survey has responses the primary language is fixed. The page then just shows the name, with: `,_jsx(_components.em,{children:`“The primary language can’t be changed because this survey already has responses.”`})]})}),`\n`,_jsx(Heading,{level:`2`,id:`add-a-language`,children:`Add a language`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`Under `,_jsx(_components.strong,{children:`Additional languages`}),`, open the `,_jsx(_components.strong,{children:`Add a language`}),` dropdown. It reads `,_jsx(_components.strong,{children:`Select a language`}),` until you choose. Liftify offers 29 languages, each shown with its native name — for example `,_jsx(_components.em,{children:`Spanish (Español)`}),`, `,_jsx(_components.em,{children:`Vietnamese (Tiếng Việt)`}),`, `,_jsx(_components.em,{children:`Haitian Creole (Kreyòl Ayisyen)`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`Click `,_jsx(_components.strong,{children:`Add language`}),`.`]}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`Liftify confirms with a reminder of what’s still owed: `,_jsx(_components.em,{children:`“Spanish (Español) added. Add translations before publishing.”`})]}),`\n`,_jsxs(_components.p,{children:[`The language now appears in the list with a progress badge — `,_jsx(_components.strong,{children:`Complete`}),`, or something like `,_jsx(_components.em,{children:`“0 of 14 translated”`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`translate-the-questions`,children:`Translate the questions`}),`\n`,_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`Edit translations`}),` on the language’s row. The page is a list of every string in the survey with a box for your translation beside it. The original wording is shown above each box, so you’re always translating from something specific.`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Buttons`}),` comes first — the wording on the survey’s own navigation buttons.`]}),`\n`,_jsxs(_components.li,{children:[`Then one section per question, headed with its number and type, for example `,_jsx(_components.em,{children:`Question 2 · Multiple Choice`}),`.`]}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`Within a question you’ll see `,_jsx(_components.strong,{children:`Question text`}),`, any extra labels that question has, and where they apply, `,_jsx(_components.strong,{children:`Choices`}),` and `,_jsx(_components.strong,{children:`Field labels`}),` — each answer option and each contact field gets its own translation.`]}),`\n`,_jsxs(_components.p,{children:[`A banner at the top tracks how far you’ve got: `,_jsx(_components.em,{children:`“6 of 14 strings translated. Every string must be translated before the survey can be published.”`}),` When you’re done it turns green: `,_jsx(_components.em,{children:`“All 14 translations are complete.”`})]}),`\n`,_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`Save translations`}),` when you’re finished, or `,_jsx(_components.strong,{children:`Cancel`}),` to go back without saving. You don’t have to do it in one sitting — save partway and the progress badge on the `,_jsx(_components.strong,{children:`Languages`}),` page reflects what you’ve done.`]}),`\n`,_jsxs(Note,{children:[_jsx(_components.p,{children:`Add or reword questions after translating and the new wording arrives untranslated, which puts the language back to incomplete. Get the questions settled first, then translate.`}),_jsxs(_components.p,{children:[`One exception, and it is a useful one: rewording an answer `,_jsx(_components.strong,{children:`choice`}),` on a\n`,_jsx(_components.strong,{children:`Checkboxes`}),` or `,_jsx(_components.strong,{children:`Multiple Choice`}),` question keeps the translation you already\ntyped for it, in every language. Rewording a choice used to throw its translations\naway and put every language back to incomplete, which made fixing a typo in one\nanswer option an afternoon’s work. It no longer does. Deleting a choice still\ndeletes its translations.`]})]}),`\n`,_jsx(Heading,{level:`2`,id:`publishing-is-blocked-until-every-language-is-complete`,children:`Publishing is blocked until every language is complete`}),`\n`,_jsxs(_components.p,{children:[`This is the thing people get stuck on. The `,_jsx(_components.strong,{children:`Additional languages`}),` section says so up front: `,_jsx(_components.em,{children:`“Publishing is blocked until every added language is fully translated.”`})]}),`\n`,_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`Publish`}),` with an unfinished translation and it’s refused, naming what’s missing:`]}),`\n`,_jsx(_components.p,{children:_jsx(_components.em,{children:`“Translations are incomplete: Spanish (Español) is missing 3 of 14 translations. Complete all translations before publishing.”`})}),`\n`,_jsxs(_components.p,{children:[`Two ways out: finish the translation, or `,_jsx(_components.strong,{children:`Remove`}),` the language and publish without it. There is no way to publish a survey with a half-translated language attached. See `,_jsx(_components.a,{href:`/surveys/build-and-publish-a-survey`,children:`Build and publish a survey`}),` for everything else that has to be right before a survey goes out.`]}),`\n`,_jsx(Heading,{level:`2`,id:`remove-a-language`,children:`Remove a language`}),`\n`,_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`Remove`}),` on the language’s row. Liftify asks `,_jsx(_components.em,{children:`“Remove this language and all of its translations?”`}),` first — the translations you typed are deleted with it, not archived.`]}),`\n`,_jsx(Heading,{level:`2`,id:`what-your-customers-see`,children:`What your customers see`}),`\n`,_jsxs(_components.p,{children:[`On the first page of the survey, a language dropdown appears at the top with each available language in its own script — `,_jsx(_components.em,{children:`Español`}),`, `,_jsx(_components.em,{children:`Français`}),`, `,_jsx(_components.em,{children:`Tiếng Việt`}),`. Choosing one reloads the survey in that language.`]}),`\n`,_jsx(_components.p,{children:`The dropdown only appears while they are still on the first page and haven’t answered anything. Once they move on, the language is locked for that response.`}),`\n`,_jsx(Heading,{level:`2`,id:`changing-the-primary-language-later`,children:`Changing the primary language later`}),`\n`,_jsxs(_components.p,{children:[`You can promote a language you’ve added — say, make Spanish the primary and demote English to a translation. Liftify refuses unless that language is fully translated first: `,_jsx(_components.em,{children:`“Spanish (Español) is missing 3 of 14 translations. Complete them before making it the primary language.”`})]}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[`Choosing a language you have `,_jsx(_components.strong,{children:`not`}),` added as a translation does something different: it relabels the survey without touching a word of it. Your questions stay exactly as written, now described as being in the new language. If you want the survey actually translated, add the language, translate it, and then promote it.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`troubleshooting`,children:`Troubleshooting`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Publish keeps failing and the questions all look fine.`}),` Read the message — it names the language and how many strings are missing. Open `,_jsx(_components.strong,{children:`Languages`}),`, click `,_jsx(_components.strong,{children:`Edit translations`}),` on that row, and look for empty boxes.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`A language shows “12 of 14 translated” and I can’t see what’s missing.`}),` Every box on the `,_jsx(_components.strong,{children:`Edit translations`}),` page is one string. Scroll the whole page, including the `,_jsx(_components.strong,{children:`Buttons`}),` section at the top and the `,_jsx(_components.strong,{children:`Choices`}),` under each multiple-choice question — those are the ones people miss.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`I can’t change the primary language.`}),` The survey already has responses, so it’s fixed. Build a new survey if you need the questions written in a different language.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`The language dropdown isn’t showing on the survey.`}),` It only appears when the survey has more than one language published, and only on the first page before the respondent answers anything.`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Translate a survey","description":"Add a second language to a survey, translate every question, and clear the publish block that an unfinished translation causes.","source_paths":["app/views/client_portal/survey_languages/**","app/views/client_portal/surveys/_builder_header.html.erb","app/views/shared/survey_runtime/_session.html.erb","app/controllers/client_portal/survey_languages_controller.rb","app/controllers/concerns/survey_session_concern.rb","app/services/client_portal/surveys/builder/language_adder.rb","app/services/client_portal/surveys/builder/language_remover.rb","app/services/client_portal/surveys/builder/primary_language_switcher.rb","app/services/client_portal/surveys/builder/translations_persister.rb","app/services/client_portal/surveys/publisher.rb","app/services/client_portal/surveys/builder/schema_manager.rb","app/models/concerns/question_types/choice_list.rb","app/services/surveys/translations/**"],"human_owned":false,"href":"/surveys/translate-a-survey"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Open the Languages page","slug":"open-the-languages-page","depth":2,"children":[]},{"title":"Primary language","slug":"primary-language","depth":2,"children":[]},{"title":"Add a language","slug":"add-a-language","depth":2,"children":[]},{"title":"Translate the questions","slug":"translate-the-questions","depth":2,"children":[]},{"title":"Publishing is blocked until every language is complete","slug":"publishing-is-blocked-until-every-language-is-complete","depth":2,"children":[]},{"title":"Remove a language","slug":"remove-a-language","depth":2,"children":[]},{"title":"What your customers see","slug":"what-your-customers-see","depth":2,"children":[]},{"title":"Changing the primary language later","slug":"changing-the-primary-language-later","depth":2,"children":[]},{"title":"Troubleshooting","slug":"troubleshooting","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":["/_mintlify/custom/liftify/3681c179ab9acab8/hubspot-chat.js","/_mintlify/custom/liftify/ebbc8d30e581424d/support-form.js"],"subdomain":"liftify","siteName":"Liftify Help","title":"Translate a survey - Liftify Help","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-07T15:48:09.626Z","originalFileLocation":"surveys/translate-a-survey.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Add a second language to a survey, translate every question, and clear the publish block that an unfinished translation causes.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Liftify Help\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/liftify/LDuNtP2wEz0NnHPM/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/liftify/LDuNtP2wEz0NnHPM/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/liftify/LDuNtP2wEz0NnHPM/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/liftify/LDuNtP2wEz0NnHPM/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/liftify/LDuNtP2wEz0NnHPM/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/liftify/LDuNtP2wEz0NnHPM/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/liftify/LDuNtP2wEz0NnHPM/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/liftify/LDuNtP2wEz0NnHPM/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/liftify/LDuNtP2wEz0NnHPM/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Translate a survey - Liftify Help\">\u003cmeta data-mint-head property=\"og:description\" content=\"Add a second language to a survey, translate every question, and clear the publish block that an unfinished translation causes.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Liftify Help\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://help.liftify.com/surveys/translate-a-survey\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://liftify.mintlify.app/_mintlify/api/og/v2?division=Surveys\u0026amp;title=Translate+a+survey\u0026amp;description=Add+a+second+language+to+a+survey%2C+translate+every+question%2C+and+clear+the+publish+block+that+an+unfinished+translation+causes.\u0026amp;theme=1bd7f51ba2fc6c083c5955f0\u0026amp;signature=29e698d1fe30369536b52ce04a4902e7e50d420f5fb7c6a43901215d629c7649\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Translate a survey - Liftify Help\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Add a second language to a survey, translate every question, and clear the publish block that an unfinished translation causes.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://liftify.mintlify.app/_mintlify/api/og/v2?division=Surveys\u0026amp;title=Translate+a+survey\u0026amp;description=Add+a+second+language+to+a+survey%2C+translate+every+question%2C+and+clear+the+publish+block+that+an+unfinished+translation+causes.\u0026amp;theme=1bd7f51ba2fc6c083c5955f0\u0026amp;signature=29e698d1fe30369536b52ce04a4902e7e50d420f5fb7c6a43901215d629c7649\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/liftify/LDuNtP2wEz0NnHPM/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Liftify Help\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#3767AA\">\u003clink data-mint-head rel=\"canonical\" href=\"https://help.liftify.com/surveys/translate-a-survey\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/surveys/translate-a-survey.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://help.liftify.com/#organization\",\"name\":\"Liftify Help\",\"url\":\"https://help.liftify.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/liftify/zqeWY9h9LqqOeRKo/logo/liftify-light.png?fit=max\u0026auto=format\u0026n=zqeWY9h9LqqOeRKo\u0026q=85\u0026s=6f9fdda7d91dac01bd6cb5e118f2809a\"}},{\"@type\":\"WebSite\",\"@id\":\"https://help.liftify.com#website\",\"name\":\"Liftify Help\",\"url\":\"https://help.liftify.com\",\"publisher\":{\"@id\":\"https://help.liftify.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://help.liftify.com/surveys/translate-a-survey#webpage\",\"url\":\"https://help.liftify.com/surveys/translate-a-survey\",\"name\":\"Translate a survey\",\"description\":\"Add a second language to a survey, translate every question, and clear the publish block that an unfinished translation causes.\",\"dateModified\":\"2026-10-07T15:48:09.626Z\",\"isPartOf\":{\"@id\":\"https://help.liftify.com#website\"},\"breadcrumb\":{\"@id\":\"https://help.liftify.com/surveys/translate-a-survey#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://help.liftify.com/surveys/translate-a-survey#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Surveys\",\"item\":\"https://help.liftify.com/surveys/build-and-publish-a-survey\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Translate a survey\",\"item\":\"https://help.liftify.com/surveys/translate-a-survey\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://help.liftify.com/surveys/translate-a-survey#article\",\"headline\":\"Translate a survey\",\"name\":\"Translate a survey\",\"description\":\"Add a second language to a survey, translate every question, and clear the publish block that an unfinished translation causes.\",\"url\":\"https://help.liftify.com/surveys/translate-a-survey\",\"mainEntityOfPage\":{\"@id\":\"https://help.liftify.com/surveys/translate-a-survey#webpage\"},\"dateModified\":\"2026-10-07T15:48:09.626Z\",\"publisher\":{\"@id\":\"https://help.liftify.com/#organization\"},\"isPartOf\":{\"@id\":\"https://help.liftify.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Liftify Help\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Liftify Help","nav":{"global":null,"pages":[{"group":"Getting started","pages":[{"title":"Liftify Help","href":"/index"},{"title":"Sign in with a magic link","href":"/getting-started/sign-in-with-a-magic-link"},{"title":"Sign in with Google or Microsoft","href":"/getting-started/sign-in-with-sso"},{"title":"Contact Liftify support","href":"/getting-started/contact-liftify-support"},{"title":"Set up your locations","href":"/getting-started/set-up-your-locations"},{"title":"Connect your Google Business Profile","href":"/getting-started/connect-google-business-profile"},{"title":"Map your locations to their listings","href":"/getting-started/map-locations-to-listings"},{"title":"Connect Facebook","href":"/getting-started/connect-facebook"},{"title":"Reconnect, re-sync, or disconnect an account","href":"/getting-started/reconnect-or-disconnect"},{"title":"Complete your legal info for text messaging","href":"/getting-started/complete-legal-info-for-sms"},{"title":"Update your profile","href":"/getting-started/update-your-profile"},{"title":"Switch between accounts","href":"/getting-started/switch-between-accounts"},{"title":"Set your company branding","href":"/getting-started/set-your-company-branding"},{"title":"Why your locations are inactive","href":"/getting-started/why-your-locations-are-inactive"}]},{"group":"Campaigns","pages":[{"title":"Campaign types explained","href":"/campaigns/campaign-types-explained"},{"title":"Start a campaign from a template","href":"/campaigns/start-from-a-template"},{"title":"Build a review-request campaign","href":"/campaigns/build-a-review-request-campaign"},{"title":"Add and edit touchpoints","href":"/campaigns/add-and-edit-touchpoints"},{"title":"Entry and exit rules","href":"/campaigns/entry-and-exit-rules"},{"title":"Sending days and times","href":"/campaigns/sending-days-and-times"},{"title":"Account-wide campaign defaults","href":"/campaigns/account-campaign-defaults"},{"title":"Launch, pause, and duplicate a campaign","href":"/campaigns/launch-pause-and-duplicate"},{"title":"Choose who handles replies to a campaign","href":"/campaigns/route-campaign-replies"},{"title":"Use the custom HTML email editor","href":"/campaigns/use-the-custom-html-email-editor"}]},{"group":"Contacts","pages":[{"title":"Add a contact and enroll them in a campaign","href":"/contacts/add-a-contact-and-enroll"}]},{"group":"Reviews","pages":[{"title":"Find and filter reviews","href":"/reviews/find-and-filter-reviews"},{"title":"Schedule a review report by email","href":"/reviews/schedule-a-review-report"},{"title":"Reply to a review","href":"/reviews/reply-to-a-review"},{"title":"Use AI to draft review replies","href":"/reviews/ai-review-replies"},{"title":"Tune the AI response prompt","href":"/reviews/tune-the-ai-response-prompt"},{"title":"Save and reuse response templates","href":"/reviews/save-and-reuse-response-templates"},{"title":"Match a review to a job, contact, or employee","href":"/reviews/match-a-review-to-a-customer"},{"title":"Report a review that breaks Google's policies","href":"/reviews/report-a-policy-violating-review"}]},{"group":"Inbox","pages":[{"title":"Handle an inbound message","href":"/inbox/handle-an-inbound-message"},{"title":"Add an internal note to a conversation","href":"/inbox/add-an-internal-note"},{"title":"Save an Inbox filter as a view","href":"/inbox/save-an-inbox-filter-view"},{"title":"Assign conversations automatically","href":"/inbox/auto-assign-conversations"}]},{"group":"Surveys","pages":[{"title":"Build and publish a survey","href":"/surveys/build-and-publish-a-survey"},{"title":"Read survey responses","description":"Find the survey responses that need your attention — including detractors — read a full response, and export the list to CSV.","href":"/surveys/read-survey-responses"},{"title":"Translate a survey","href":"/surveys/translate-a-survey"}]},{"group":"Tasks","pages":[{"title":"Work a task","description":"Open a task, read its history, comment and @mention a teammate, set the owner, watchers and status, message the customer, and close it out.","href":"/tickets/work-a-ticket"},{"title":"Create tasks automatically","href":"/tickets/create-tickets-automatically"}]},{"group":"QR codes","pages":[{"title":"Create a QR code","href":"/qr-codes/create-a-qr-code"}]},{"group":"Admin","pages":[{"title":"Invite users and assign roles","href":"/admin/invite-users-and-assign-roles"},{"title":"Merge duplicate employees","href":"/admin/merge-duplicate-employees"},{"title":"Set your notification rules","href":"/admin/set-your-notification-rules"},{"title":"Set default notifications for new users","href":"/admin/set-default-notifications-for-new-users"},{"title":"Connect an external system","href":"/admin/connect-an-external-system"},{"title":"Get your API key","href":"/admin/get-your-api-key"},{"title":"Bulk import users from a CSV","href":"/admin/bulk-import-users"},{"title":"External aliases","href":"/admin/external-aliases"}]},{"group":"What's new","pages":[{"title":"What's new in Liftify","href":"/changelog"}]}]},"title":"Translate a survey - Liftify Help","buildId":"dpl_HcHmUS6i3UwswnTHJUEdcTtwfdTQ","deploymentId":"dpl_HcHmUS6i3UwswnTHJUEdcTtwfdTQ","dynamics":[],"chunks":[]}