<p>Ok, in some conversation with Brandon which leaned this direction, I realized a different direction to temporarily solving most of this problem.</p>

<p>It turns out that a root of the issues is that marking a Matrix as translatable causes the base problem here, that the set of elements in an original language isn't copying at all into other Locales, as would be expected on first Save as all other kinds of elements do.</p>

<p>If you <em>don't</em> mark the Matrix as translatable, two good things happen:</p>

<ul>
<li>All Matrix elements now do get copied over, so that you don't have to recreate the Matrix in its individual form for each Entry and language.</li>
<li>Text items marked as translatable do have their original text copied over, so that you have a starting situation for language translation</li>
</ul>

<p>It's true that Assets marked as translatable show up empty rather than with their original content, but at least they are there.</p>

<p>We also don't really know what marking a Matrix as translatable should mean. I suspect it should mean that all contained elements are marked translatable, but we shall see.</p>

<p>The Craft crew is well aware of issues here, and plans a careful improvement of the whole area, which as complex isn't at the top of lists yet. </p>

<p>This little detail should get most of us through until that happens, and given we set up the non-translatability of Matrix elements, should make extra steps explainable to customer end users.</p>

CC BY-SA 3.0
2014-10-07T11:59:31.673Z
What for ist the «Mark as Translatable» checkbox on the Matrix element level anyway?
KSPR
CC BY-SA 3.0
2017-10-19T13:32:14.783Z
Wow, Amazing! As soon as I removed the checkmark from make matrix translatable, and saved the page, the other locales copied over the english. Thanks a bunch! just saved me a lot of time of recreating the whole page. I had matrixes inside NEO so a complex structure, and all got fixed thanks to that!
mateostabio
CC BY-SA 3.0
2014-09-05T01:33:56.443Z
2014-09-05T01:33:56.443Z
narration_sd
<p>I'm also struggeling with a multi-language scenario. We've got german as first locale, english as second and five other languages on top of it. The matrix field <strong>is marked as translatable</strong> as are some text-blocks. I don't know how it happened but the contents and structure of the english entries were filled with the german content when I started to work on it. All other languages are empty. I tried to mark the matrix fields as not translatable, added a new locale and tried to resave the german pages. This leads to completely filled entries with german contents but the entries which already had translated content are overwritten by german texts. If I resave english entries, the english texts overwrite all others.</p>

<p>So, from my point of view this should be the workflow that leads to the best results:</p>

<ol>
<li>Start with one locale</li>
<li>Mark the matrix field as "not translatable"</li>
<li>Mark the blocks in the matrix fields as translatable</li>
<li>Finish your work on the first localization 100%</li>
<li>Add all(!) additional locales at /settings/locales</li>
<li>Add these locales to your section(s)</li>
<li>Resave all entries of your initial language</li>
<li>Fill your entries with translated content</li>
</ol>

<p>If you add a new locale after that process you will have to start with an empty matrix. If not or if you have suggestions on a better workflow, please let me know.</p>

CC BY-SA 3.0
2017-11-30T14:17:56.467Z
Thanks for posting your workflow, but this is nothing I can and want to tell my client. They will ask "why again do you like Craft that much" ;-)
Mario
CC BY-SA 3.0
2017-11-30T14:02:24.850Z
2017-11-30T14:02:24.850Z
Lars Woehning
<p>Entry content is copied over to other locales on the VERY FIRST save of the entry (doesn't matter if it is your primary or one of you secondary locales). When a fresh locale is set up, all the content of all your entries should get copied over to this fresh locale.</p>

<p>If Matrix content is not copied over, I think you're right and this is a bug.</p>

<p><s>I think Jamie is right, content is only copied over to other locales on the VERY FIRST save of an entry. I think you're out of luck, if your second locale didn't exist back then.</s></p>

<p>But there were multiple feature request on Craft's Google+ site for better syncing options across locales. Other problems mentioned there were, that you have no indication about which fields are always synchronized (not marked as translatable) or which fields are still in sync across all locales (marked as translatable). Another idea was to have smallish buttons, to trigger a new sync for the select field on the next save.</p>

<p>It is probably not easy to implement these features, but I am confident that P+T will continue to improve on localization.</p>

CC BY-SA 3.0
2014-08-08T07:27:33.893Z
Sorry @carlcs, I removed my original comment because I had a second thought as to if it was right or not! But yes, you pretty much summed up what I had anyway, so thanks.
Jamie Wade
CC BY-SA 3.0
2014-08-08T08:11:06.197Z
Well, see above. This is exactly what I'm noting, that after the save on a new entry, no content is copied over to another language's Matrix. I just added simple plain text and rich text fields to the section, then created a new entry with those and some Matrix elements filled in. Saved. Opened again (just to preclude cntl-S from being an issue). Moved to second language. The simple text and rich texts copied over. None of the three Matrix elements did - the new language (Norwegian) Matrix is empty. That's the problem - I'm pretty familiar with how the rest works, should say...
narration_sd
CC BY-SA 3.0
2014-08-08T08:13:41.693Z
and yes, I am one of the askers for better range of copy-over abilities in times past. They can only do so much at a time at Craft Central. I just think basic Matrix copy should work. It's a lot of effort if not - locating images or pull quote references again, etc., and those will likely not need translating.
narration_sd
CC BY-SA 3.0
2014-08-08T07:01:58.937Z
2014-08-08T08:52:36.683Z
2014-08-08T08:52:36.683Z
carlcs
<p>I returned to a site designed months ago, and added a second language to it.</p>

<p>From the beginning, this site had prominent composition of entries out of multiple elements in their matrix, with formatting choices selectable on the elements (like positioning and size for images; or position left or right for compound pull quote/citation blocks.</p>

<p>This all works fine, and now in languages. However, there is the fact that languages other than the first used seem <s>not ever</s> never to have their Matrix of content blocks copied over into the new language. The Matrix is there, of course, but empty.</p>

<p>This emptiness is the case with first save starting with an entirely fresh entry, which is a noted in the add as the only case at present where Craft normally copies content to other available languages, and very handily so.</p>

<p>Really I think this is a bug report, but maybe not?</p>

<p>Add: </p>

<p>At present copy over does, as commented below, operate only at the point of first save to a first language. If you edit after saving, only that first save will have been copied, and your edits won't be. If you add fields to the section, and fill them in for a first language, nothing will be copied for those to other languages. </p>

<p>This is clearly worth looking into for persons who use multiple languages/Locales, but isn't so simple to do well, and I believe it is somewhere down the list for Craft futures, likely properly so compared other desires. Worth mentioning, though ;)</p>

CC BY-SA 3.0
2014-08-08T06:44:44.863Z
What's special to that first entry, that it's content got copied over to your new locale? And why do you expect an entirely fresh entry to be not empty? :D
carlcs
CC BY-SA 3.0
2014-08-08T08:05:39.613Z
might be some misunderstanding here. Content in other elements is copied over to fresh languages - this gives a starting point for translation, and a non-blank page for that language on the live site. There was no special first entry - nothing got copied over into the new language's Matrix.
narration_sd
CC BY-SA 3.0
2014-08-08T08:16:08.660Z
"languages other than the first entry seem not ever" still confuses me. What's that first entry you're talking about, and when you write "not ever", is matrix content copied over under certain circumstances?
carlcs
CC BY-SA 3.0
2014-08-08T08:17:45.663Z
Ja, just noticed that. I'll edit it - it is unintended; meant the first language.
narration_sd
CC BY-SA 3.0
2014-08-08T08:23:09.813Z
Good to know that you get the primary locale's content with a fresh locale. Did you test if the "matrix bug" only happened with the fresh install of your locale or if this is also true for new entries, where content is expected to be copied over on the first save?
carlcs
CC BY-SA 3.0
2014-08-08T08:29:23.520Z
Sorry, ignore that. Overlooked your comments to my answer.
carlcs
CC BY-SA 3.0
2014-08-08T08:30:48.483Z
No problem, and I added clarification to the main question on all of this. Thanks, +carlcs.
narration_sd
<matrix><localization><entry>
How do I get Matrix elements to copy their content across language Locales?
# How do I get Matrix elements to copy their content across language Locales?

(Asked by: username_0 on 2014-08-08)

I returned to a site designed months ago, and added a second language to it.

From the beginning, this site had prominent composition of entries out of multiple elements in their matrix, with formatting choices selectable on the elements (like positioning and size for images; or position left or right for compound pull quote/citation blocks.

This all works fine, and now in languages. However, there is the fact that languages other than the first used seem ~~not ever~~ never to have their Matrix of content blocks copied over into the new language. The Matrix is there, of course, but empty.

This emptiness is the case with first save starting with an entirely fresh entry, which is a noted in the add as the only case at present where Craft normally copies content to other available languages, and very handily so.

Really I think this is a bug report, but maybe not?

Add:

At present copy over does, as commented below, operate only at the point of first save to a first language. If you edit after saving, only that first save will have been copied, and your edits won't be. If you add fields to the section, and fill them in for a first language, nothing will be copied for those to other languages.

This is clearly worth looking into for persons who use multiple languages/Locales, but isn't so simple to do well, and I believe it is somewhere down the list for Craft futures, likely properly so compared other desires. Worth mentioning, though ;)

**Tags:** matrix, localization, entry

> **Comments:**
> **username_1**: What's special to that first entry, that it's content got copied over to your new locale? And why do you expect an entirely fresh entry to be not empty? :D  
> **username_0**: might be some misunderstanding here. Content in other elements is copied over to fresh languages - this gives a starting point for translation, and a non-blank page for that language on the live site. There was no special first entry - nothing got copied over into the new language's Matrix.  
> **username_1**: "languages other than the first entry seem not ever" still confuses me. What's that first entry you're talking about, and when you write "not ever", is matrix content copied over under certain circumstances?  
> **username_0**: Ja, just noticed that. I'll edit it - it is unintended; meant the first language.  
> **username_1**: Good to know that you get the primary locale's content with a fresh locale. Did you test if the "matrix bug" only happened with the fresh install of your locale or if this is also true for new entries, where content is expected to be copied over on the first save?  
> **username_1**: Sorry, ignore that. Overlooked your comments to my answer.  
> **username_0**: No problem, and I added clarification to the main question on all of this. Thanks, +username_1.  

---

## 3 answers

### Answer by username_0 on 2014-09-05. Score: 6

Ok, in some conversation with Brandon which leaned this direction, I realized a different direction to temporarily solving most of this problem.

It turns out that a root of the issues is that marking a Matrix as translatable causes the base problem here, that the set of elements in an original language isn't copying at all into other Locales, as would be expected on first Save as all other kinds of elements do.

If you *don't* mark the Matrix as translatable, two good things happen:

* All Matrix elements now do get copied over, so that you don't have to recreate the Matrix in its individual form for each Entry and language.
* Text items marked as translatable do have their original text copied over, so that you have a starting situation for language translation

It's true that Assets marked as translatable show up empty rather than with their original content, but at least they are there.

We also don't really know what marking a Matrix as translatable should mean. I suspect it should mean that all contained elements are marked translatable, but we shall see.

The Craft crew is well aware of issues here, and plans a careful improvement of the whole area, which as complex isn't at the top of lists yet.

This little detail should get most of us through until that happens, and given we set up the non-translatability of Matrix elements, should make extra steps explainable to customer end users.

> **Comments:**
> **username_2**: What for ist the «Mark as Translatable» checkbox on the Matrix element level anyway?  
> **username_3**: Wow, Amazing! As soon as I removed the checkmark from make matrix translatable, and saved the page, the other locales copied over the english. Thanks a bunch! just saved me a lot of time of recreating the whole page. I had matrixes inside NEO so a complex structure, and all got fixed thanks to that!  

---

### Answer by username_4 on 2017-11-30. Score: 3

I'm also struggeling with a multi-language scenario. We've got german as first locale, english as second and five other languages on top of it. The matrix field **is marked as translatable** as are some text-blocks. I don't know how it happened but the contents and structure of the english entries were filled with the german content when I started to work on it. All other languages are empty. I tried to mark the matrix fields as not translatable, added a new locale and tried to resave the german pages. This leads to completely filled entries with german contents but the entries which already had translated content are overwritten by german texts. If I resave english entries, the english texts overwrite all others.

So, from my point of view this should be the workflow that leads to the best results:

1. Start with one locale
2. Mark the matrix field as "not translatable"
3. Mark the blocks in the matrix fields as translatable
4. Finish your work on the first localization 100%
5. Add all(!) additional locales at /settings/locales
6. Add these locales to your section(s)
7. Resave all entries of your initial language
8. Fill your entries with translated content

If you add a new locale after that process you will have to start with an empty matrix. If not or if you have suggestions on a better workflow, please let me know.

> **Comments:**
> **username_5**: Thanks for posting your workflow, but this is nothing I can and want to tell my client. They will ask "why again do you like Craft that much" ;-)  

---

### Answer by username_1 on 2014-08-08. Score: 2

Entry content is copied over to other locales on the VERY FIRST save of the entry (doesn't matter if it is your primary or one of you secondary locales). When a fresh locale is set up, all the content of all your entries should get copied over to this fresh locale.

If Matrix content is not copied over, I think you're right and this is a bug.

~~I think Jamie is right, content is only copied over to other locales on the VERY FIRST save of an entry. I think you're out of luck, if your second locale didn't exist back then.~~

But there were multiple feature request on Craft's Google+ site for better syncing options across locales. Other problems mentioned there were, that you have no indication about which fields are always synchronized (not marked as translatable) or which fields are still in sync across all locales (marked as translatable). Another idea was to have smallish buttons, to trigger a new sync for the select field on the next save.

It is probably not easy to implement these features, but I am confident that P+T will continue to improve on localization.

> **Comments:**
> **username_6**: Sorry @username_1, I removed my original comment because I had a second thought as to if it was right or not! But yes, you pretty much summed up what I had anyway, so thanks.  
> **username_0**: Well, see above. This is exactly what I'm noting, that after the save on a new entry, no content is copied over to another language's Matrix. I just added simple plain text and rich text fields to the section, then created a new entry with those and some Matrix elements filled in. Saved. Opened again (just to preclude cntl-S from being an issue). Moved to second language. The simple text and rich texts copied over. None of the three Matrix elements did - the new language (Norwegian) Matrix is empty. That's the problem - I'm pretty familiar with how the rest works, should say...  
> **username_0**: and yes, I am one of the askers for better range of copy-over abilities in times past. They can only do so much at a time at Craft Central. I just think basic Matrix copy should work. It's a lot of effort if not - locating images or pull quote references again, etc., and those will likely not need translating.  

---

