Be sure to checkout our newest add-on, Speedy — Advanced Caching for ExpressionEngine.

Compatibility updates:

  • Publisher is EE5 compatible, but it does not currently support the Fluid field (it's in the works).

Ticket: Detailed Translation Status - DRAFT/OPEN only available for lang_id = 1

Status Resolved
Add-on / Version Publisher 2.10.8
EE Version 5.2.2

Mary Ellen Slater

Apr 26, 2019

We are actually having quite a few issues with the module, but trying to focus specifically on this one issue, the entry status, for this ticket.
We have the detailed translation entry status enabled in the settings: /admin.php?/cp/addons/settings/publisher/general/misc
It mentions this text “If set to yes, the listing views of entries, phrases, and categories will have a marker next to each row indicating which languages it has been translated too. Green markers indicate complete, and grey markers indicate incomplete. **Be sure the accessory is installed, and all member groups have access to it.**”
What is the accessory?
Is there NO status for DRAFT?

We are having an issue when you view the EE entry list, where the translation status is coming back as GREEN (complete) for each language and with a status of open, when the translated content is in DRAFT form for the second language.

There seems to be ONLY one language being checked here via ajax upon page load.
The ACT for the ajax_get_entry_status is ONLY firing for ONE language upon page load.
How does it inspect for the second language or multiple?

For instance, when the entry list loads, and that ajax fires, this is the URL:  /?ACT=30&site_id=1&lang_id=1&id=2877%2C2876%2C2875
our ACT 30 is the ajax_get_entry_status, and it’s only looking for lang_id=1 (the default language)
Which returns
Which is correct, NONE of these entries are in DRAFT for the LANG_ID = 1.
There is no ajax call for any additional languages happening, even though we have LANG_ID=2.
If I modify the URL and view the results for LANG_ID=2 I see that the second language’s version is in fact in DRAFT.
But the entry list shows all these as OPEN, and not a single DRAFT status.

The second ajax call for the ajax_get_translation_status outputs each language.

Shouldn’t there be an indicator/status that let’s us know content in another language isn’t published (i.e. DRAFT), or respond in the same manner, entry_id and status for each language set?  Like this for my dataset shown above:

We see everything as GREEN for the detailed language completeness, but the OPEN/DRAFT seems to only be for the PRIMARY language, and not all languages enabled.

I don’t see any method in the EE CP to change my language id so that I can view/edit the content in the secondary language and thus the ajax would fire and show all these items as DRAFT.

I see this addon “Publisher Language Control” but that doesn’t offer the functionality we’d need or expect with the detailed translated language status, nor the draft status of a translated entry.

Thank you, please advise.


BoldMinded (Brian)

Apr 26, 2019

Thanks for the detailed report. The ajax_get_entry_status call only checks to see if there is a draft that is newer than the published version (in any language), and if so, it will make the row for that entry yellow on the entry list page, which, by the way, is only ever showing content in the default language. So adding additional status icon for each language and draft state would be overload. If you publish a draft of an entry in a non-default language, yes the language indicator will appear green b/c there is content for that language.

I just checked two different environments and the status indicators are working as expected. I’ll consider adjusting the status icon style to show that a non-default language might have a translation completed but only in a draft state, but at this time I don’t plan to make any changes.


Mary Ellen Slater

Apr 26, 2019

Ok, thanks for the reply.

I am a little confused about this response:
“The ajax_get_entry_status call only checks to see if there is a draft that is newer than the published version (in any language), and if so, it will make the row for that entry yellow on the entry list page, which, by the way, is only ever showing content in the default language.”

I’ve only see the ajax call requesting lang_id=1 for the status.  It’s not checking all the languages for us.
If the lang_id=2 entry, which is in DRAFT and NEWER than the save of the EN (default language content), our line isn’t yellow, but GREEN/OPEN.
We can ONLY see that publisher has “Draft: Edit Entry” when you view the entry, then toggle to the second language, it shows.  DRAFT with buttons DELETE DRAFT | DELETE TRANSLATION at the top before the normal EE edit panel when viewing that draft.

I can only see this yellow entry if lang_id=1 has a DRAFT set, not if any of the other languages are set as draft.  The ajax is only looking for lang_id=1, but returns good data if you adjust that call.  Maybe it’s as simple as firing that ajax for each language and setting draft class for any language that would trigger it?
Is it not possible to show this if any of the languages has a DRAFT set, i.e. not published, or is newer?

We are trying to find a way to quickly see if the content is published or in draft state.
I think our workflow maybe different, where the EN content is populated and published first, before translations are completed.
Once the ES translations are completed, and go through the publisher approval process, they are published.
But as of now, outside of the approvals, we have no means to SEE the content list that isn’t published.



BoldMinded (Brian)

Apr 26, 2019

I’ll take another look at this, but since there is nothing technically broken, but maybe room for improvement, it’ll be lower on my priority list.


BoldMinded (Brian)

Apr 30, 2019

The next release will have a better indicator of newer draft statuses for each language as opposed to just the default language with an orange border.

Login to reply


For add-on support, please use the Support section. General inquries and pre-sale questions can be sent to