I know many of you faced the goal explained above. There are tools of different levels of involvement and there is of course no ready-baked answer to this question, but here is my best take so far for the current two active versions and Drupal 8 in development.
The three areas of Drupal language support
(A) First off, you can run a single language foreign language website without a need for content or configuration translation. Because the Drupal user interface comes in a flavor of English, you'll need to translate that. But all your content and configuration can be entered in your language, so you are fine there.
(B) Second, if you need to mark your content with language information, such as if you are running a multilingual blog, where you post in different languages, but will not translate your posts, you need language assignment with multiple language options.
(C) Finally, if you need to have the same content translated, the same navigation replicated or similar navigation produced for different languages, you need translation for your content and configuration.
The three types of data for Drupal translation
When it comes to translation, Drupal data can be separated to three buckets: (1) User interface (2) Content (3) Configuration. Drupal has very extensive support for user interface translation, I'd say too much support for content translation and usually not so bright support for configuration translation. Let's enumerate what Drupal has on offer for each piece.
1. Interface translation
Your user interface is whatever text is included in the module/theme that is shipped with the module and is not user editable.
Drupal assumes the user interface produced by module/theme source code is written in a flavor of English. The Drupal Localiztion API documentation on drupal.org has extensive coverage with cheat sheets for using t() and friends for interface translation. This stands for Drupal 6, 7 and there are no drastic changes planned as of now for Drupal 8 either. Some possible improvements are discussed in the A modern t() groups discussion and the A modern t() drupal.org issue as well as Move interface strings entirely out of Drupal code files? on groups.drupal.org.
2. Translatable content
The Drupal 7 mantra is to use entities and fields for content. Whatever is not using this system we consider configuration for the purpose of this discussion.
Fields thankfully have language support built-in, so its a user choice if a field is multiplied per language and can store different values or shared among different languages. If your module deals with content, consider if using a field for it would make sense. If it handles relations to content, then consider if making the relation a field would make sense, so the translators can change relations per language. See the entity_translation module to test out how your module behaves in a multilingual setting.
Unfortunately Drupal 6 does not have such flexibility. You can work with the i18n module API and more specifically with the i18n_sync functionality if you want to tie into synced fields. CCK fields are supported.
Both Drupal 6 and 7 have a built-in module called content translation that maintains copies of nodes as translations. This caused several problems in the past, and the plan for Drupal 8 is to phase this functionality out and instead support translatability of all fields/properties on entities which can be used to replicate this functionality, but would also work for all entity types. Work is ongoing at http://drupal.org/node/1269842.
3. Translatable configuration
For this discussion, whatever is not hardcode text in your modules and is not stored in fields/entities is considered configuration. This has a defining characteristic of having a user interface for editing the values.
Both Drupal 6 and 7 have translation for configuration supported via the contributed i18n module, although the user experience in the Drupal 7 version is way better. You can register your translatable configuration pieces with the i18n_string module and proxy your add/update/delete/view operations via that module in essence. The module will always look up the right language version for your configuration value and can generate a translation user interface on your editing screens as a separate tab. Look at the i18n_block or i18n_contact submodules in i18n which should provide simple examples for how this is structured.
Yes, the system is much more complex compared to just using t(), but it needs to handle adding new items, removing items, changing items, permissions, text formats, avoiding cross-site-scripting, etc. All of which t() does not need to care about. See my previous post on the topic. Still, you don't need to depend on i18n_string module for your work, just abstract out the API functions on your objects, and call i18n_string there when/if available.
The i18n_string system currently uses the Drupal core built-in textgroup support in the user interface translation functionality, however, i18n module is moving away from that in the 7.x-2.x version and Drupal 8 removed that support. If you use the i18n_string facilities, you'll at least have an easier time migrating to the new interface and might even have a backwards compatibility layer.
For Drupal 8, the Configuration Management Initiative is reworking how all configuration is stored and while that is still deeply in the works, we don't know where configuration translation is going. It is certainly a top goal to fill this feature hole directly in Drupal core for Drupal 8.
Comments
Interface translation should be front-end and admin-end
Submitted by Andy Postnikov (not verified) on
While we talk about interface I think we should care about 2 implementations - front end (content) and back-end (admin interface). the most trouble we get in menu system when 'Add content' and others are works in both areas. Now textgroup support is dropped and I see no ability to separate this.
textgroups are not to divide UI translation
Submitted by Gábor Hojtsy on
Textgroups were designed not to divide UI translation but to provide space for configuration translation (which turned out to be the wrong approach to do it, and therefore removed). Have you successfully used textgroups for dividing UI translation? How?
If you want to use a specific language for the administration interface, look at the http://drupal.org/project/admin_language module. The issue for Drupal 8 core inclusion is at http://drupal.org/node/322995
Amazing post
Submitted by reena (not verified) on
best-seotechniques2013
sciece is a best suject of the sucesssful person life . science is a boon for us . present . past and future. but there is a issue . It is boon as well as cause .
When you're a carpenter
Submitted by Gujjar (not verified) on
When you're a carpenter making a beautiful chest of drawers, you're not going to use a piece of plywood on the back, even though it faces the wall and nobody will ever see it. You'll know it's there, so you're going to use a beautiful piece of wood on the back.
Tijuana Airport
Flödesmätare
Submitted by Flödesmätare (not verified) on
I’ve seen progression in every post. Your newer posts are simply wonderful compared to your posts in the past. Keep up the good work.
flödesmätare
It was a beneficial workout
Submitted by jeffdeon (not verified) on
It was a beneficial workout for me to go through your webpage. It definitely stretches the limits with the mind when you go through very good info and make an effort to interpret it properly. I am going to glance up this web site usually on my PC. Thanks for sharing.
cell phone spy software
cell phone listening
Took me time to read all the
Submitted by normanjay (not verified) on
Took me time to read all the comments, This website has very good content. So I am sure this website will form the well-known in the future.
clubmz e-spy
clubmz reviews
Remembering that I'll be dead
Submitted by Gujjar (not verified) on
Remembering that I'll be dead soon is the most important tool I've ever encountered to help me make the big choices in life. Because almost everything - all external expectations, all pride, all fear of embarrassment or failure - these things just fall away in the face of death, leaving only what is truly important.
elektronik sigara
I also want to I want to make
Submitted by duncgert (not verified) on
I also want to I want to make my modules fully multilingual friendly. Had been trying to do the modules fully multilingual friendly but I am new to it, I did encounter a few puzzling questions and even a couple of headaches.take a look here
st kitts citizenship by investment
Submitted by st kitts citize... (not verified) on
It is a very informative and useful post thanks it is good material to read this post increases my knowledge
st kitts citizenship by investment
Your work is going to fill a
Submitted by Gujjar (not verified) on
Your work is going to fill a large part of your life, and the only way to be truly satisfied is to do what you believe is great work. And the only way to do great work is to love what you do. If you haven't found it yet, keep looking. Don't settle. As with all matters of the heart, you'll know when you find it.
high speed VPN
Konst
Submitted by Konst (not verified) on
It was a beneficial workout for me to go through your webpage. It definitely stretches the limits with the mind when you go through very good info and make an effort to interpret it properly. I am going to glance up this web site usually on my PC. Thanks for sharing
konst
Tavlor
Submitted by Konst (not verified) on
This kind of post is always inspiring and I prefer to read quality content so I happy to find much good point here in the post
tavlor
www.stockfinancehere.com
Submitted by www.bestworldfi... (not verified) on
The good feedback and do well desires are very inspirational and significantly valued.I must acknowledge I do really like your way of composing. stockfinancehere.com
get ecommerce webs It would
Submitted by get 2 tech (not verified) on
get ecommerce webs It would also have the vast advantage of making use of the existing user database. While it may place an additional load on already stressed sites.
kapil
Submitted by kapil1234 (not verified) on
Hey, you used to write excellent, but the last few posts have been kinda boring¡K I miss your tremendous writings. Past several posts are just a bit out of tradsfsck! come on! best vpn service security
info
Submitted by kapil1234 (not verified) on
Your blog is excellent there is everything to read, Brilliant post No doubt this is an excellent post I got a lot of knowledge after reading this. Buy Twitter Followers
St. Pete Website Design
Submitted by Madison Meitzler (not verified) on
With the many blogs which I have encountered, I never expected to see a very beautiful post online..After reading this one, I felt so lucky to see its content..-)
St. Pete Website Design
gay surrogacy
Submitted by gay surrogacy (not verified) on
I’ve seen progression in every post. Your newer posts are simply wonderful compared to your posts in the past. Keep up the good work.gay surrogacy
Your blog provided us with
Submitted by amjadclark (not verified) on
Your blog provided us with valuable information to work with. Each & every tips of your post are awesome. Thanks a lot for sharing. Keep blogging world of home improvements
This is a great inspiring
Submitted by sadia (not verified) on
This is a great inspiring article.I am pretty much pleased with your good work.You put really helpful information. Keep it up.
http://www.bestcustomwriting.com/history-essays
lunettes ray ban
Submitted by lunettes ray ban (not verified) on
It in good shape pretty nicely towards a few transferring boxes, so you loaded it for the truck together with left.
Excellent post.I want to
Submitted by austin dj (not verified) on
Excellent post.I want to thank you for this informative read, I really appreciate sharing this great post. Keep up your work. san antonio dj
Nice
Submitted by SophiaBill (not verified) on
You have great post and it is very difficult to judge what is behind the scene although i am hair style freak and i want to know Hair Extensions London with Good Quality and Low Price.
we need some more good
Submitted by austin dj (not verified) on
we need some more good information. Please add more good information that would help others in such good way.This post is exactly what I am interested. we need some more good information. app4mi
I thought it was going to be
Submitted by calvinbrock735 (not verified) on
I thought it was going to be some boring old post, but it really compensated for my time. I will post a link to this page on my blog. I am sure my visitors will find that very useful. Consumer electronics companies
I have been reading your
Submitted by austin dj (not verified) on
I have been reading your posts regularly. I need to say that you are doing a fantastic job. Please keep up the great work.......:) Free Makeup
Ethical Hacking Institute
Submitted by tempur-choice (not verified) on
Great, This specific net webpage is seriously thrilling and enjoyment to learn. I’m an enormous fan from the subjects mentioned.
Ethical Hacking Institute
I should say only that its
Submitted by ymous (not verified) on
I should say only that its awesome! The blog is informational and always produce amazing things. JFK Car Service
Report
Submitted by Rick (not verified) on
you did nice work your post is awesome its increase my knowledge.the post is best i can never read before this type of post nice sharing.
Medical Privacy Screens
I thought it was going to be
Submitted by investing (not verified) on
I thought it was going to be some boring old post, but it really compensated for my time. I will post a link to this page on my blog. I am sure my visitors will find that very useful....Free Amazon Gift Card
This is a great inspiring
Submitted by Rick (not verified) on
This is a great inspiring article.I am pretty much pleased with your good work.You put really helpful information. Keep it up
orlando marketing company
Great Info
Submitted by Anonymous (not verified) on
http://gettravelhotels.com/ This post is very easy to research and appreciate without creating any details out. Fantastic work!
I am really aroused by this
Submitted by Anonymous (not verified) on
I am really aroused by this wonderful stuff. I always prefer to read the quality content and this thing I found in you post. Thanks for sharing
Kredit ohne Schufa
The first several months of
Submitted by ymous (not verified) on
The first several months of my site there were no comments; just give it time; now they come in like crazy every day! Thanks. Time Tracking Software
Add new comment