<p>We used to use PhraseApp to manage Craft translations, but as of Craft 3, we don't anymore (everything is now on <a href="https://github.com/craftcms/cms" rel="nofollow noreferrer">Github</a>).</p>

<p>When we were using them, we wrote a quick PHP script that would take the PHP based translation file format Craft uses, parse them and convert them to a format that PhraseApp could use.  Then there was another quick script that would reverse the process when we pulled them down.</p>

CC BY-SA 4.0
2019-01-03T22:10:17.210Z
2019-01-03T22:10:17.210Z
Brad Bell
<p>I'm trying to get my Craft translations to work with the translation management tool <a href="https://phraseapp.com" rel="nofollow noreferrer">Phraseapp</a>.</p>

<p>The standard format for translation-files in Craft CMS looks like this:</p>

<pre><code># de.php

return [ 
    'good_morning' =&gt; 'Guten morgen', 
    'KEY' =&gt; 'GERMAN_TRANSLATION_VALUE'
];
</code></pre>

<p>But this format is not supported by Phraseapp.</p>

<p>Is there a way to return <strong>json</strong> or <strong>yaml</strong> instead? </p>

<craft3><localization>
Change translation format in Craft CMS
# Change translation format in Craft CMS

(Asked by: username_0 on 2019-01-03)

I'm trying to get my Craft translations to work with the translation management tool Phraseapp.
The standard format for translation-files in Craft CMS looks like this:
# de.php

return [ 
    'good_morning' => 'Guten morgen', 
    'KEY' => 'GERMAN_TRANSLATION_VALUE'
];

But this format is not supported by Phraseapp.
Is there a way to return json or yaml instead?

**Tags:** craft3, localization


---

## 1 answers

### Answer by username_1 on 2019-01-03. Score: 1 | Accepted answer

We used to use PhraseApp to manage Craft translations, but as of Craft 3, we don't anymore (everything is now on [Github](https://github.com/craftcms/cms)).

When we were using them, we wrote a quick PHP script that would take the PHP based translation file format Craft uses, parse them and convert them to a format that PhraseApp could use. Then there was another quick script that would reverse the process when we pulled them down.


---

