# Edit all site-/page-wide at a single place or edit translations in the panel

**URL:** <https://forum.getkirby.com/t/edit-all-site-page-wide-at-a-single-place-or-edit-translations-in-the-panel/21636>\
**Category:** Questions\
**Tags:** v3\
**Created:** [March 17, 2021, 1:10pm UTC](https://forum.getkirby.com/t/edit-all-site-page-wide-at-a-single-place-or-edit-translations-in-the-panel/21636 "2021-03-17T13:10:26Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![AlexG](https://dub1.discourse-cdn.com/flex017/user_avatar/forum.getkirby.com/alexg/32/5362_2.png) [@AlexG](https://forum.getkirby.com/u/AlexG)\
**Post date:** [March 17, 2021, 1:10pm UTC](https://forum.getkirby.com/t/edit-all-site-page-wide-at-a-single-place-or-edit-translations-in-the-panel/21636/1 "2021-03-17T13:10:26Z")

</div>

A lot of CMS or Shops have all their frontend strings gathered in one place (Shopware: snippets, MODx: dictionary), which would be the translations in Kirby.

Unfortunately I can’t seem to find a way to do that in Kirby 3, without adding a single field for every single string and unnecessary bloating the panel. Ideally there would be something similar to a structure, that allows sorting and searching for specific tags and phrases. Is there a way for a client to edit translations from inside the panel?

Additionally I do have some site-wide variables I’d like to use in a page, like contact E-Mail, etc. Is there a way to use them in fields like so: “{{ site.some\_field }}”?

---

<div class="post-metadata">

**Author:** ![pixelijn](https://avatars.discourse-cdn.com/v4/letter/p/7ab992/32.png) [@pixelijn](https://forum.getkirby.com/u/pixelijn)\
**Post date:** [March 17, 2021, 1:30pm UTC](https://forum.getkirby.com/t/edit-all-site-page-wide-at-a-single-place-or-edit-translations-in-the-panel/21636/2 "2021-03-17T13:30:59Z")

</div>

Maybe this plugin is helpful:

> **[Trevor](https://getkirby.com/plugins/rasteiner/trevor)**
>
> Edit your language translation variables from the Panel.

---

<div class="post-metadata">

**Author:** ![sebastiangreger](https://dub1.discourse-cdn.com/flex017/user_avatar/forum.getkirby.com/sebastiangreger/32/16176_2.png) [@sebastiangreger](https://forum.getkirby.com/u/sebastiangreger)\
**Post date:** [March 17, 2021, 1:42pm UTC](https://forum.getkirby.com/t/edit-all-site-page-wide-at-a-single-place-or-edit-translations-in-the-panel/21636/3 "2021-03-17T13:42:11Z")

</div>

> [@AlexG](#):
>
> Additionally I do have some site-wide variables I’d like to use in a page, like contact E-Mail, etc. Is there a way to use them in fields like so: “{{ site.some\_field }}”?

I like to create a “Settings” tab on the panel’s main page that contains text fields for such values, for example a field with name `email`. To embed it in a template, `<?= $site->email()->value() ?>` is all it takes; similarly this can of course be done with more advanced fields like select or radio fields so the clients can change some settings themselves (for example we recently did that with a client who wants to display a different logo once per year – no need for me to get involved in the future, they can now switch it themselves from the panel).

---

<div class="post-metadata">

**Author:** ![AlexG](https://dub1.discourse-cdn.com/flex017/user_avatar/forum.getkirby.com/alexg/32/5362_2.png) [@AlexG](https://forum.getkirby.com/u/AlexG)\
**Post date:** [March 17, 2021, 2:09pm UTC](https://forum.getkirby.com/t/edit-all-site-page-wide-at-a-single-place-or-edit-translations-in-the-panel/21636/4 "2021-03-17T14:09:52Z")

</div>

That’s exactly what I am doing at the moment, but some text on the content contains site-wide informations, e.g.: “You can reach us per e-mail [mail@example.com](mailto:mail@example.com) or by calling us +0123456789”.  
Adding this to a field or translation would just put the value as pure text onto the frontend. Instead it would be way smarter to allow other fields values in another field, e.g.: “You can reach us per e-mail {{ site.email }} or by calling us {{ site.tel }}”.

---

<div class="post-metadata">

**Author:** ![sebastiangreger](https://dub1.discourse-cdn.com/flex017/user_avatar/forum.getkirby.com/sebastiangreger/32/16176_2.png) [@sebastiangreger](https://forum.getkirby.com/u/sebastiangreger)\
**Post date:** [March 17, 2021, 2:32pm UTC](https://forum.getkirby.com/t/edit-all-site-page-wide-at-a-single-place-or-edit-translations-in-the-panel/21636/5 "2021-03-17T14:32:45Z")

</div>

Ah, I see what you mean!

This could maybe be hacked together using a custom Kirbytag? Writing `You can reach us per e-mail (variable: email) or by calling us (variable: phone)` into that settings field, creating a Kirbytag `variable` that renders `$site->{$tag->value}()->value()` and then output that original string using `->kirbytext()`.

Other than that, I’m not aware of any native solution; the plugin mentioned above looks like the most promising lead…

---

<div class="post-metadata">

**Author:** ![AlexG](https://dub1.discourse-cdn.com/flex017/user_avatar/forum.getkirby.com/alexg/32/5362_2.png) [@AlexG](https://forum.getkirby.com/u/AlexG)\
**Post date:** [March 17, 2021, 2:46pm UTC](https://forum.getkirby.com/t/edit-all-site-page-wide-at-a-single-place-or-edit-translations-in-the-panel/21636/6 "2021-03-17T14:46:12Z")

</div>

That might work! I’ve been specifically wondering if the curly braces would work “{{ site.tel }}” as they also work in the help or info parameters in blueprints.

---

<div class="post-metadata">

**Author:** ![pixelijn](https://avatars.discourse-cdn.com/v4/letter/p/7ab992/32.png) [@pixelijn](https://forum.getkirby.com/u/pixelijn)\
**Post date:** [March 17, 2021, 2:52pm UTC](https://forum.getkirby.com/t/edit-all-site-page-wide-at-a-single-place-or-edit-translations-in-the-panel/21636/7 "2021-03-17T14:52:01Z")

</div>

> **[Quicktip: Using placeholders in language strings](https://getkirby.com/docs/cookbook/i18n/using-variables-in-language-strings)**
>
> Make language translations more powerful with placeholders.

It’s up to you if you use single or double curly braces.

---

<div class="post-metadata">

**Author:** ![sebastiangreger](https://dub1.discourse-cdn.com/flex017/user_avatar/forum.getkirby.com/sebastiangreger/32/16176_2.png) [@sebastiangreger](https://forum.getkirby.com/u/sebastiangreger)\
**Post date:** [March 17, 2021, 3:11pm UTC](https://forum.getkirby.com/t/edit-all-site-page-wide-at-a-single-place-or-edit-translations-in-the-panel/21636/8 "2021-03-17T15:11:02Z")

</div>

Oh my, there it is! 😃
