Thu 1 Feb 2007
Posted by: Author or Translator?
Posted by Georg under Development News, Gengo, Site News, Technical.
In the Dark Ages it used to be common practice to kill the bearer of bad news. That was long before WordPress and Gengo, and no translator on this site has to fear such consequences when being mistaken for the post author. Nonetheless, this distinction is still of some importance in collaborative blogs, I think.
I? Who’s that? If you’re lucky enough to be reading this post in English or German you can see my name right on top of this article. If not, chances are that the translator pretends to be the post author.
On the other hand, s/he would be right in arguing that translating is no less a copyright protected work which deserves being given credits.
Publishing Date
Not only are there two copyright holders, there are also two publishing dates.
Obviously, the more relevant one in most cases will be the date of the original version. (Take this text, for example: It will be outdated when my suggestions will be implemented in a few weeks or months, before all translations have been made available yet.) Secondly, on a blog it would be more convenient to have the posts listed chronologically, even if they haven’t been translated in that order.
On the downside, this would mean that some freshly translated articles would find their way directly into the blog archive.
Of course we want to see both names and both dates in the meta section. However, only one can appear under the “posted by/on” variable respectively, while the other one needs a new field. Basically, there are two solutions that I can think of:
Solution 1: Retrieve Author’s Name
Posted by [the translator’s name]. In addition, Gengo retrieves gengo_original_author() and gengo_original_date() from the original post. This can be done “on the fly”, dynamically, requiring extra database queries every time an article is being read. For new articles, author and translator would be identical, which is not a good thing either.
Solution 2: Retain Author’s Name
I believe, the_author() should always show the author of the original version. Translators then appear under gengo_translator(). When a post or page is being marked as a translation, Gengo automatically selects the author’s name and fills in the correct date. The current user’s name is automatically chosen from a second drop-down menu marked “translator”. In original posts gengo_translator() remains empty.
What it would look like
Blog owners could incorporate something like this into their templates:
<div class="meta">
First published in <?php gengo_original_language() ?> by <?php the_author() ?> on <?php the_time('Y-m-j') ?>,
translated by <?php gengo_translator() ?> on <?php gengo_time('Y-m-j') ?>
…
</div>
This is what we would get:
- Add links and make it localizable.
- Use conditional display for the second line, preventing it from being visible in original posts.
- In user profiles we could show a list of “all articles”/“all translations by [user]”.
These are some of my ideas for future releases of Gengo. But for the time being we need to change the author’s name manually. Shouldn’t we? Please share your opinion and leave a comment!
Other Languages:
- Deutsch February 1, 2007
2 Responses
Comments:
Leave a Reply
You must be logged in to post a comment. Log in .

February 1st, 2007 at 12:57 pm
Nice article! Yes, there’s definitely a need to address this issue. The solution I had in mind kind of combines both of your approaches.
I think the author of the post should remain as the name of the person who wrote this article. But, you’re right - we don’t want extra queries jus t to display the original information. However, I think it should be possible to modify the main query so that we also retrieve this data at the same time. Failing that, the new caching mechanism I have in mind should ensure only one extra query per page, not multiple per post (fingers crossed).
In terms of implementation, this would be the least complicated, require the least modifications and hopefully still be the least database intensive.
Posted in < ?php the_language() ?> by < ?php the_author() ?> on < ?php the_date('Y-m-j') ?>, originally published in < ?php the_original_language() ?> by < ?php the_translation_author() ?> on < ?php the_translation_date('Y-m-j') ?>.
We also need to handle the case where there are no translations effectively, but, food for thought certainly…
February 1st, 2007 at 2:37 pm
Or rather:
“originally published in <?php the_original_language() ?>
by <?php the_original_author() ?>
on <?php the_original_date('Y-m-j') ?>.”
That would follow the first approach. Either way, I’m really looking forward to the next big release!