Ah, then we should also clarify the theme-slug should be &quot;correctly&quot; formatted. All lower-case, spaces replaced by hyphens, etc. I actually have it on one of my theme&#39;s TO-DO list to correct that oversight.<br>

<br><br clear="all">Cais.<br>
<br><br><div class="gmail_quote">On Thu, Oct 6, 2011 at 11:38 AM, Chip Bennett <span dir="ltr">&lt;<a href="mailto:chip@chipbennett.net">chip@chipbennett.net</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

I am in favor of retaining the requirement that Themes use theme-slug as the textdomain (which is currently the requirement). It is one of the only ways of ensuring a completely unique namespace.<div><br></div><div><font color="#888888">Chip</font><div>

<div></div><div class="h5"><br>
<br><div class="gmail_quote">On Thu, Oct 6, 2011 at 10:24 AM, Edward Caissie <span dir="ltr">&lt;<a href="mailto:edward.caissie@gmail.com" target="_blank">edward.caissie@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">


So we put the blame squarely on `gettext` and make it a &quot;REQUIRED&quot; item the textdomain must be a hard-coded string, which we have already recommended it be the theme-slug. Seems simple enough to me.<br><br>The discussion should continue with whether the theme-slug be the best practice (required?) string or if another relevant string can be used in its place ... personally I would side with the textdomain === theme-slug.<br>




Reason being, if the code/application in question advances enough then the &quot;clever&quot; idea of using a variable/constant might work correctly and the theme-slug (or plugin-slug as the case may be) is easy enough to grab from existing data.<br>




<br><br clear="all">Cais.<div><div></div><div><br>
<br><br><div class="gmail_quote">On Thu, Oct 6, 2011 at 8:43 AM, Chip Bennett <span dir="ltr">&lt;<a href="mailto:chip@chipbennett.net" target="_blank">chip@chipbennett.net</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">




No problem; I&#39;ll draft something up, and add it to the discussion list for the proposed 3.3 guidelines revisions!<div><br></div><div><font color="#888888">Chip</font><div><div></div><div><br><br><div class="gmail_quote">




On Thu, Oct 6, 2011 at 7:41 AM, Dion Hulse (dd32) <span dir="ltr">&lt;<a href="mailto:wordpress@dd32.id.au" target="_blank">wordpress@dd32.id.au</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div>Yep! the way that WordPress loads the translations is one set of strings per text domain, if the text domains don&#39;t match up, translated strings don&#39;t get used, use multiple text domains, and causes problems with multiple translation files.. <br>







</div><div>So when you start to load a automatically generated translation file, suddenly if the author hasn&#39;t followed best practice, it might just not work at all.</div><div><div></div><div><br><div class="gmail_quote">





On 6 October 2011 23:37, Chip Bennett <span dir="ltr">&lt;<a href="mailto:chip@chipbennett.net" target="_blank">chip@chipbennett.net</a>&gt;</span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Absolutely, and I appreciate the clarification. :)<div><br></div><div>So, is this an accurate summary: POEdit (etc.) won&#39;t care what the textdomain string is, for a given Theme/Plugin, provided that the string is consistent throughout the Theme/Plugin. But, *best practice* is to use an *actual string*, in order to play nicely in an environment where several textdomains are being declared (such as within WordPress)?</div>








<div><br></div><div><font color="#888888">Chip</font><div><div><br><br><div class="gmail_quote">On Thu, Oct 6, 2011 at 7:32 AM, Dion Hulse (dd32) <span dir="ltr">&lt;<a href="mailto:wordpress@dd32.id.au" target="_blank">wordpress@dd32.id.au</a>&gt;</span> wrote:<br>







<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div>Always use a string.. Don&#39;t use a variable, Don&#39;t use a Constant.<br></div><div><br></div><div>Gettext applications look at the php files as an onlooker, It can&#39;t tell what the contents of $lang is, it can&#39;t tell the contents of CONSTANT_MY_LANG, It just knows the first param is a string, and the second is the text domain for it. It&#39;s basically the same as running a regex over an unknown string, or scanning through a French document looking for the word which comes after XYZ..</div>










<div><br></div><div>When you&#39;re generating a .pot file from a single theme/plugin, you can specify the text domain you want the resulting file to use.. when you&#39;re automating translations for thousands of items (like WordPress.org will do one day..) then you can&#39;t guess.. the authors need to be specific for maximum compatibility!</div>










<div><br></div><div>Does that help at all Chip? :)</div><div><div><div><br></div><div><br></div><div class="gmail_quote">On 6 October 2011 23:23, Chip Bennett <span dir="ltr">&lt;<a href="mailto:chip@chipbennett.net" target="_blank">chip@chipbennett.net</a>&gt;</span> wrote:<br>










<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Thanks for passing this along, Mike!<div><br></div><div>There seems to be some discussion/disagreement in the comments and via Twitter. What&#39;s the consensus?</div>










<div><br></div><div><font color="#888888">Chip</font><div><div><br><br><div class="gmail_quote">
On Thu, Oct 6, 2011 at 1:24 AM, Michael Fields <span dir="ltr">&lt;<a href="mailto:michael@mfields.org" target="_blank">michael@mfields.org</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">











Hello!<br>
<br>
This just came through my Twitter feed:<br>
<a href="http://markjaquith.wordpress.com/2011/10/06/translating-wordpress-plugins-and-themes-dont-get-clever/" target="_blank">http://markjaquith.wordpress.com/2011/10/06/translating-wordpress-plugins-and-themes-dont-get-clever/</a><br>












<br>
Thought it might make a pretty good addition to the requirements.<br>
It also might be a pretty easy check to work into the Theme Check plugin.<br>
<br>
I&#39;m guilty of this myself in plugins and think that&#39;s it&#39;s really great to have an explanation of why this is wrong :)<br>
<br>
Just wanted to pass it along!<br>
<br>
- Mike<br>
_______________________________________________<br>
theme-reviewers mailing list<br>
<a href="mailto:theme-reviewers@lists.wordpress.org" target="_blank">theme-reviewers@lists.wordpress.org</a><br>
<a href="http://lists.wordpress.org/mailman/listinfo/theme-reviewers" target="_blank">http://lists.wordpress.org/mailman/listinfo/theme-reviewers</a><br>
</blockquote></div><br></div></div></div>
<br>_______________________________________________<br>
theme-reviewers mailing list<br>
<a href="mailto:theme-reviewers@lists.wordpress.org" target="_blank">theme-reviewers@lists.wordpress.org</a><br>
<a href="http://lists.wordpress.org/mailman/listinfo/theme-reviewers" target="_blank">http://lists.wordpress.org/mailman/listinfo/theme-reviewers</a><br>
<br></blockquote></div><br>
</div></div><br>_______________________________________________<br>
theme-reviewers mailing list<br>
<a href="mailto:theme-reviewers@lists.wordpress.org" target="_blank">theme-reviewers@lists.wordpress.org</a><br>
<a href="http://lists.wordpress.org/mailman/listinfo/theme-reviewers" target="_blank">http://lists.wordpress.org/mailman/listinfo/theme-reviewers</a><br>
<br></blockquote></div><br></div></div></div>
<br>_______________________________________________<br>
theme-reviewers mailing list<br>
<a href="mailto:theme-reviewers@lists.wordpress.org" target="_blank">theme-reviewers@lists.wordpress.org</a><br>
<a href="http://lists.wordpress.org/mailman/listinfo/theme-reviewers" target="_blank">http://lists.wordpress.org/mailman/listinfo/theme-reviewers</a><br>
<br></blockquote></div><br>
</div></div><br>_______________________________________________<br>
theme-reviewers mailing list<br>
<a href="mailto:theme-reviewers@lists.wordpress.org" target="_blank">theme-reviewers@lists.wordpress.org</a><br>
<a href="http://lists.wordpress.org/mailman/listinfo/theme-reviewers" target="_blank">http://lists.wordpress.org/mailman/listinfo/theme-reviewers</a><br>
<br></blockquote></div><br></div></div></div>
<br>_______________________________________________<br>
theme-reviewers mailing list<br>
<a href="mailto:theme-reviewers@lists.wordpress.org" target="_blank">theme-reviewers@lists.wordpress.org</a><br>
<a href="http://lists.wordpress.org/mailman/listinfo/theme-reviewers" target="_blank">http://lists.wordpress.org/mailman/listinfo/theme-reviewers</a><br>
<br></blockquote></div><br>
</div></div><br>_______________________________________________<br>
theme-reviewers mailing list<br>
<a href="mailto:theme-reviewers@lists.wordpress.org" target="_blank">theme-reviewers@lists.wordpress.org</a><br>
<a href="http://lists.wordpress.org/mailman/listinfo/theme-reviewers" target="_blank">http://lists.wordpress.org/mailman/listinfo/theme-reviewers</a><br>
<br></blockquote></div><br></div></div></div>
<br>_______________________________________________<br>
theme-reviewers mailing list<br>
<a href="mailto:theme-reviewers@lists.wordpress.org">theme-reviewers@lists.wordpress.org</a><br>
<a href="http://lists.wordpress.org/mailman/listinfo/theme-reviewers" target="_blank">http://lists.wordpress.org/mailman/listinfo/theme-reviewers</a><br>
<br></blockquote></div><br>