WordPress에서 Contact Form 7을 번역하는 방법 – 폼 태그, 메시지, 메일 템플릿
WordPress 사이트에 있는 Contact Form 7 폼의 모든 부분을 방문자가 사용하는 모든 언어로 번역하는 방법을 알아보세요. 이 가이드에서는 모든 폼 태그, 전체 메시지 탭, 두 가지 메일 템플릿, 동의 텍스트, 퀴즈 태그, 파이프로 구분된 선택 가능한 값, Contact Form 7이 제공하는 제출 연동을 다룹니다. WPML 및 WPML Multilingual for CF7 애드온을 사용한 Contact Form 7 워크플로를 안내합니다.
시작하기 전에
다음 플러그인을 설치하고 활성화하세요.
- Contact Form 7.
- WPML 및 WPML 문자열 번역.
- WPML Multilingual for CF7 (이 페이지에서 다루는 애드온).
폼을 번역에 보내기 전에 Contact Form 7에서 사이트의 원본 언어로 폼(모든 폼 태그, 메일 및 메일 (2) 템플릿, 메시지 탭의 모든 항목, 추가 설정)을 작성하세요. 변경 사항이 있는 경우 나중에 폼을 편집하고 번역을 위해 다시 보낼 수 있습니다.
모든 항목 자동 번역으로 처리
사이트에 모든 항목 자동 번역이 켜져 있는 경우, 수동으로 폼을 번역에 보낼 필요가 없습니다. WPML은 새 폼과 업데이트된 폼을 나머지 콘텐츠와 함께 가져와 백그라운드에서 번역합니다. 아래의 페이지 삽입 단계는 계속 적용되지만, 번역을 위해 폼 보내기 단계는 자동으로 이루어집니다. 이 페이지의 나머지 부분에서는 일부 항목 번역: 번역할 항목 선택을 사용하는 사이트(또는 자동 대기열보다 먼저 번역하려는 폼)의 수동 경로를 설명합니다.
번역을 위해 폼 보내기
- WPML > 번역 > 대시보드를 엽니다.
- Contact Forms 섹션을 펼칩니다.
- 번역할 폼을 선택합니다.
- 번역 방식으로 PTC(권장), 번역가 또는 직접 번역 중 하나를 선택합니다.
- 번역을 클릭합니다.
폼 템플릿, 메일 및 메일 (2), 메시지 탭은 모두 동일한 번역 작업으로 들어갑니다. 번역가에게는 고급 번역 에디터에 레이블이 붙은 행으로 표시됩니다.
번역된 페이지에 폼 삽입
Contact Form 7은 [contact-form-7] 숏코드로 페이지나 글에 삽입되며, 일반적으로 Contact 관리 화면에서 [contact-form-7 id="123" title="My Form"]로 생성됩니다. 다국어 삽입 규칙은 다음과 같습니다.
페이지의 모든 언어 버전에 동일한 숏코드를 사용하세요. 언어별로 별도의 폼을 만들지 마세요.
흐름은 다음과 같습니다.
- 원본 언어로 폼을 한 번 작성합니다.
- 번역을 위해 폼을 보냅니다(또는 모든 항목 자동 번역이 폼을 가져가도록 합니다).
- 원본 언어 페이지에 숏코드를 삽입합니다.
- 다른 페이지를 번역할 때와 동일한 방식으로 WPML > 번역 > 대시보드를 통해 페이지를 번역합니다. 숏코드는 번역된 페이지에 유지됩니다.
- 방문자가 번역된 페이지를 열면 WPML Multilingual for CF7이 방문자의 언어로 폼을 자동으로 제공합니다. 동일한 숏코드에 번역된 콘텐츠가 표시됩니다.
언어별로 다른 폼 ID가 필요하지 않습니다. 번역은 원본 폼에 연결되며, 글루(glue) 플러그인이 렌더링 시점에 페이지의 언어에 따라 알맞은 언어 버전을 찾아 줍니다.
ID 기반 및 제목 기반 숏코드 모두 작동합니다. [contact-form-7 id="123" title="Contact form 1"]은 추가 설정 없이 다국어로 작동합니다. [contact-form-7 title="Contact form 1"](ID 없이 제목만 있음)도 올바른 언어로 확인됩니다. 제목만으로 알맞은 언어를 찾는 기능은 1.1.0(2021년 6월)에 추가되었습니다. 두 형태 모두 안전합니다.
예외 – 언어별로 정말 다른 폼을 원하는 경우. 언어별로 구조적으로 다른 폼(다른 폼 태그, 다른 메일 템플릿, 다른 메시지 탭 콘텐츠)이 필요한 경우, 별도의 Contact Form 7 폼을 만든 다음 해당 번역본의 WordPress 에디터에서 각 폼의 숏코드를 알맞은 언어 버전 페이지에 삽입하세요. 숏코드가 언어에 따라 달라지는 유일한 상황입니다.
페이지 빌더 주의 사항
텍스트 모듈이 숏코드를 감싸는 Divi, Elementor 또는 다른 페이지 빌더로 페이지가 작성된 경우, 번역 과정에서 숏코드가 항상 깔끔하게 유지되지 않을 수 있습니다. 번역된 페이지에 원본 언어 폼이 표시되면, 페이지 빌더에서 번역된 페이지를 열고 [contact-form-7] 숏코드를 다시 삽입하세요. 기본 WordPress 블록 에디터와 클래식 에디터에는 이 문제가 없습니다.
폼 태그 레이블 및 방문자에게 표시되는 문자열
모든 폼 태그에서 방문자에게 보이는 콘텐츠는 번역됩니다. 레이블(괄호로 묶인 태그 외부의 텍스트), 버튼 레이블([submit "Send"]의 값), placeholder 옵션을 통해 설정된 자리 표시자, [checkbox], [radio] 및 [select] 태그 내부의 옵션 값 등이 해당됩니다.
폼 태그 유형과 이름은 번역되지 않습니다. 이들은 식별자입니다. 폼 태그 값(방문자에게 표시되는 선택 항목)은 번역됩니다. 예시:
[select your-country "China" "India" "San Marino"]
프랑스어 번역에서 "China"는 "Chine"가 되지만, your-country(폼 태그 이름)과 select(유형)는 동일하게 유지됩니다. 번역이 각 값의 위치를 보존하므로 메일 태그 치환은 여전히 작동합니다.
파이프로 구분된 값 – 레이블은 번역하고 값은 안정적으로 유지
파이프 구문을 사용하면 방문자에게 표시되는 레이블을 이메일로 전송되는 값과 분리할 수 있습니다.
[select your-country
"Chinese|CN"
"Indian|IN"
"Sammarinese|SM"]
이 폼을 번역할 때 레이블(Chinese, Indian, Sammarinese)만 번역됩니다. 값(CN, IN, SM)은 원래 값 그대로 유지됩니다. 프랑스어 방문자는 Chinois, Indien, Saint-Marinais를 보게 되며, 이메일 본문과 백엔드 핸들러는 여전히 CN, IN, SM을 받습니다. CRM 매핑, 결제 SKU, 지리적 코드 등 제출된 값이 언어에 관계없이 안정적으로 유지되어야 하는 곳에는 파이프 구문을 사용하세요.
동의 및 퀴즈 태그
Acceptance 확인란에는 동의 텍스트가 들어가며, 개인정보 처리방침 및 이용 약관 페이지로 연결되는 링크가 하나 이상 포함되는 것이 일반적입니다. 번역 작업에서 이 텍스트를 단일 행으로 번역하세요. 링크 대상의 경우, 번역된 행을 편집하여 언어별 개인정보 처리방침 및 이용 약관 페이지를 가리키도록 설정하세요.
Quiz 태그는 질문과 답변이 모두 번역됩니다. 정답 판정 로직이 언어에 관계없이 예측 가능하게 유지되도록 퀴즈 답변에 파이프 구문을 사용하세요.
[quiz captcha
"1+1=?|2"
"2+3=?|5"]
메시지 탭
Contact Form 7의 Messages 탭에는 방문자가 폼을 제출하거나 오류가 발생했을 때 보게 되는 편집 가능한 유효성 검사 문자열이 약 16개 있습니다. 모든 문자열은 동일한 작업에서 번역됩니다.
- 메시지가 성공적으로 전송되었습니다. 감사합니다.
- 하나 이상의 필드에 오류가 있습니다. 확인하고 다시 시도해 주세요.
- 메시지를 전송하는 중 오류가 발생했습니다. 나중에 다시 시도해 주세요.
- 필수 항목입니다.
- 이메일 주소가 올바르지 않습니다.
- 전화번호가 올바르지 않습니다.
- URL이 올바르지 않습니다.
- 허용된 최솟값보다 작습니다.
- 허용된 최댓값보다 큽니다.
- 날짜 형식이 올바르지 않습니다.
- 파일이 너무 큽니다.
- 지원하지 않는 파일입니다.
- 동의 확인란을 선택해야 합니다.
- 퀴즈의 정답이 올바르지 않습니다.
- (및 CF7이 제공하는 나머지 기본 메시지).
메시지 탭에서 메일 태그를 사용하여 입력값을 삽입하는 경우(감사합니다, [your-name] 님. 메시지가 전송되었습니다!), 번역 후에도 메일 태그가 올바르게 치환됩니다.
메일 및 메일 (2)
Contact Form 7의 두 가지 발신 이메일 템플릿인 Mail(관리자 알림)과 Mail (2)(방문자에게 보내는 선택적 답장 또는 자동 응답)은 독립적으로 번역됩니다. To, From, Subject, Additional headers, Message body 및 File attachments 설명이 모두 번역 작업에 포함됩니다. 번역된 본문 내의 메일 태그([your-name], [your-message], [your-email])는 올바르게 치환됩니다.
Mail (2)의 경우, 방문자에게 표시되는 자동 응답 본문이 번역에서 가장 중요합니다. 이 메시지가 방문자의 받은 편지함으로 전송되기 때문입니다. 번역된 페이지에서 테스트 제출을 보내고 방문자의 언어로 자동 응답이 도착하는지 확인하세요.
제출 연동
Contact Form 7에는 작지만 중요한 연동 기능이 있습니다. 번역을 설정해 두면 각 연동에서도 방문자의 언어가 그대로 유지됩니다.
- Flamingo. Contact Form 7 개발자의 제출 관리 애드온입니다. 제출 내용은 번역된 제목과 본문이 그대로 유지된 채 Contact > Inbound Messages에 도착합니다.
- Constant Contact. CF7의 공식 이메일 마케팅 연동입니다. 방문자 입력은 방문자의 언어로 Constant Contact 목록에 전달됩니다.
- Stripe. Contact Form 7의
[stripe]폼 태그 필드와 영수증 메시지 텍스트가 모두 번역 작업에 나타납니다. - Akismet. 스팸 방지 메시지는 WPML 문자열 번역을 통해 번역됩니다(폼 번역 작업 아님).
- reCAPTCHA. 방문자에게 표시되는 오류 메시지는 WPML 문자열 번역을 통해 번역됩니다.
흔히 발생하는 문제
- Acceptance에 포함된 링크가 잘못된 언어의 개인정보 처리방침 페이지를 가리킵니다. 고급 번역 에디터에서 Acceptance 번역을 편집하고 언어별 링크 대상을 설정하세요.
- CF7 6.0 이상에서 숏코드 해시 불일치. WPML Multilingual for CF7 1.3.2(2024년 11월)에서 해결되었습니다. 이 문제가 나타나면 업그레이드하세요.
- 메시지 탭 번역이 표시되지 않습니다. WPML 문자열 번역이 활성화되어 있고 메시지 탭을 편집한 후 번역을 위해 폼을 다시 보냈는지 확인하세요.
- 번역 내의 메일 태그가 빈 문자열로 치환됩니다. 메일 태그의 폼 태그 이름(예:
[your-name])이 폼의 폼 태그와 일치하는지 확인하세요. 번역 때문에 메일 태그 치환이 깨지는 일은 없지만, 번역 후에 폼 태그 이름을 바꾸면 문제가 생깁니다.
작성자: Amir · 마지막 업데이트: 2026년 7월 2일
작성자: Amir · 마지막 업데이트: 2026년 7월 2일