# Multilingual contact form

**URL:** <https://forum.getkirby.com/t/multilingual-contact-form/29657>\
**Category:** Questions\
**Created:** [October 4, 2023, 5:39am UTC](https://forum.getkirby.com/t/multilingual-contact-form/29657 "2023-10-04T05:39:48Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![GB\_DESIGN](https://dub1.discourse-cdn.com/flex017/user_avatar/forum.getkirby.com/gb_design/32/14956_2.png) [@GB\_DESIGN](https://forum.getkirby.com/u/GB_DESIGN)\
**Post date:** [October 4, 2023, 5:39am UTC](https://forum.getkirby.com/t/multilingual-contact-form/29657/1 "2023-10-04T05:39:49Z")

</div>

The search for “multilingual contact form” did not give any results. That surprises me. Hence my question about how to implement such a thing, since it is not addressed in the cookbook.

> **[Contact form](https://getkirby.com/docs/cookbook/forms/basic-contact-form)**
>
> Create a basic contact form that sends HTML or plain text emails.

- How do I implement multilingual error messages or validator hints in the controller?
- How do I create a multilingual email template?

---

<div class="post-metadata">

**Author:** ![texnixe](https://dub1.discourse-cdn.com/flex017/user_avatar/forum.getkirby.com/texnixe/32/5754_2.png) [@texnixe](https://forum.getkirby.com/u/texnixe)\
**Post date:** [October 4, 2023, 6:12am UTC](https://forum.getkirby.com/t/multilingual-contact-form/29657/2 "2023-10-04T06:12:08Z")

</div>

See the guide: [Custom language variables | Kirby CMS](https://getkirby.com/docs/guide/languages/custom-language-variables) and also check out the further reading.

---

<div class="post-metadata">

**Author:** ![GB\_DESIGN](https://dub1.discourse-cdn.com/flex017/user_avatar/forum.getkirby.com/gb_design/32/14956_2.png) [@GB\_DESIGN](https://forum.getkirby.com/u/GB_DESIGN)\
**Post date:** [October 4, 2023, 6:33am UTC](https://forum.getkirby.com/t/multilingual-contact-form/29657/3 "2023-10-04T06:33:44Z")

</div>

Thanks for the interesting link.  
I already manage the form labels on `site.yml` to access them centrally, since forms are used on several pages.  
In the controller or email template it is not possible to access these values as in a normal template?  
`<?= $site->branche()->kt()->inline() ?>`  
Managing the translations in a central place would of course be clearer.

---

<div class="post-metadata">

**Author:** ![texnixe](https://dub1.discourse-cdn.com/flex017/user_avatar/forum.getkirby.com/texnixe/32/5754_2.png) [@texnixe](https://forum.getkirby.com/u/texnixe)\
**Post date:** [October 4, 2023, 6:40am UTC](https://forum.getkirby.com/t/multilingual-contact-form/29657/4 "2023-10-04T06:40:23Z")

</div>

> [@GB\_DESIGN](#):
>
> it is not possible to access these values as in a normal template?

It is, but not using the `$site` variable (which is only available in templates and snippets), but `site()`.

---

<div class="post-metadata">

**Author:** ![GB\_DESIGN](https://dub1.discourse-cdn.com/flex017/user_avatar/forum.getkirby.com/gb_design/32/14956_2.png) [@GB\_DESIGN](https://forum.getkirby.com/u/GB_DESIGN)\
**Post date:** [October 4, 2023, 6:59am UTC](https://forum.getkirby.com/t/multilingual-contact-form/29657/5 "2023-10-04T06:59:39Z")

</div>

Thanks for the tip. I’ll look into that when I’m more familiar with the email issue.  
Currently I use an external solution (Quform) that also works very well with Kirby. However, any external extension means more maintenance. And when development stagnates, you inevitably have to look for a new solution. Therefore I would rather use the internal possibilities.
