<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xml:base="http://groups.drupal.org" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
 <title>Translations</title>
 <link>http://groups.drupal.org/translations</link>
 <description>Translation and internationalization of Drupal</description>
 <language>en</language>
<item>
 <title>Using Drupal Translation Tools For Something Completely Different</title>
 <link>http://groups.drupal.org/node/11282</link>
 <description>&lt;p&gt;Hi All!&lt;/p&gt;
&lt;p&gt;The company that I work for creates software for mobile phones. I&#039;m working on a project to use a Web site to gather community-generated translations for some versions of that software. In other words, I&#039;m going to have a pile of text strings from the application UI(s), and I will be feeding them through a Drupal-based site for community translation. The end result should be something similar to Google&#039;s Google In Your Language.&lt;/p&gt;
&lt;p&gt;At the moment I&#039;m just starting to experiment with existing Drupal i18n/l10n tools to figure out if I can do this with the existing modules or if I need to branch off from them into new use-specific modules. One thought I had was to create a node-generatator that takes each of those text strings, turns them into a node to be translated, and then I could have translators simply translate those nodes. I&#039;m not sure if that&#039;s the best route, though.&lt;/p&gt;
&lt;p&gt;Any comments or ideas on that would be appreciated.&lt;/p&gt;
&lt;div class=&quot;og_rss_groups&quot;&gt;&lt;a href=&quot;/translations&quot;&gt;Translations&lt;/a&gt;&lt;/div&gt;</description>
 <comments>http://groups.drupal.org/node/11282#comments</comments>
 <category domain="http://groups.drupal.org/taxonomy/term/5070">community translation</category>
 <category domain="http://groups.drupal.org/taxonomy/term/3863">contributed translation</category>
 <category domain="http://groups.drupal.org/taxonomy/term/656">translation</category>
 <group domain="http://groups.drupal.org/translations">Translations</group>
 <pubDate>Wed, 07 May 2008 08:42:02 +0000</pubDate>
 <dc:creator>lishevita</dc:creator>
 <guid isPermaLink="false">11282 at http://groups.drupal.org</guid>
</item>
<item>
 <title>Handbook page about the localization server</title>
 <link>http://groups.drupal.org/node/10959</link>
 <description>&lt;p&gt;The current handbook section on &lt;a href=&quot;http://drupal.org/translators&quot;&gt;how to contribute to translations&lt;/a&gt; doesn&#039;t mention the local translation servers. The following is a draft for a handbook page (or pages) to correct this. Please help by editing it (it&#039;s a wiki page), or by pointing out stuff that&#039;s incorrect, missing, or should be improved.&lt;/p&gt;
&lt;p&gt;See also this related &lt;a href=&quot;http://drupal.org/node/240243&quot;&gt;documentation issue&lt;/a&gt;.&lt;/p&gt;
&lt;h1&gt;Localization servers&lt;/h1&gt;
&lt;p&gt;In the future, all translation will be done on a localization server which will be common to all languages. For more information, see &lt;a href=&quot;http://drupal.org/project/l10n_server&quot;&gt;the project page for the localization server&lt;/a&gt;. In a &lt;a href=&quot;http://hojtsy.hu/blog/2008-jan-28/localization-server-status-update&quot;&gt;status update in January 2008&lt;/a&gt;, the project maintainer wrote:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;The project is quite usable already for smaller tasks like translating a few hundred modules to one language, but it is not ready for prime-time on drupal.org yet unfortunately.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;So, while waiting for the common server, several translation communities have started local versions. There&#039;s a list of current ones at &lt;a href=&quot;http://drupal.org/project/l10n_server&quot;&gt;the project page&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;How to contribute using a local server&lt;/h2&gt;
&lt;p&gt;Read information (if any) at the translation site and on &lt;a href=&quot;http://drupal.org/project/Translations&quot;&gt;the project page for the language&lt;/a&gt; to find out if there are language specific guidelines, procedures, or glossaries.&lt;/p&gt;
&lt;p&gt;Register/log in at the site. Depending on how the site is configured, you may need to join a group for the langauge(s) you want to translate.&lt;/p&gt;
&lt;p&gt;Each string may be added as a translation or a suggestion. On some localization servers, all users can add translations, on others most users will add suggestions which will need to be approved by a smaller group of authorized users.&lt;/p&gt;
&lt;p&gt;You can also import translations from .po-files. &lt;strong&gt;Important: The server doesn&#039;t currently check if new strings are identical to old ones. In other words, if you import a translation which contains a lot of strings which are already present in the database, the result will be a lot of redundant suggestions.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The server uses Unicode fonts to create text-based icons. If your icons do not display properly, test your browser for compatibility with the &lt;a href=&quot;http://www.fileformat.info/info/unicode/block/dingbats/utf8test.htm&quot;&gt;Unicode &#039;Dingbats&#039; block&lt;/a&gt;. Note: It may be necessary to install a font that supports characters in the Unicode &#039;Dingbats&#039; block. A list of these fonts can be found at &lt;a href=&quot;http://www.fileformat.info/info/unicode/block/dingbats/fontsupport.htm&quot;&gt;Font Support for Unicode Block &#039;Dingbats&#039;&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;How to export translations from a local server&lt;/h2&gt;
&lt;p&gt;If you want a translation to import to your own site, &lt;em&gt;(... description to be added ...)&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;If you want a file to contribute to CVS at drupal.org, &lt;em&gt;(... description to be added ...)&lt;/em&gt;&lt;/p&gt;
&lt;h2&gt;How to set up a local server&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Important: The module is still in heavy development. There are several known issues, and both user interface and functionality may change. Take a look at the issue queue before deciding to use the server.&lt;/p&gt;
&lt;p&gt;Important: Switching from editing .po files to using a localization server is a desicion which impacts the whole translation team. Take the time needed to get consensus for the change. &lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Prerequisites:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Your PHP installation should have the PEAR Tar package installed (which requires zzlib support). This is required for Tar extraction (in the l10n_localpacks and l10n_drupalorg modules) and Tar generation (in the l10n_community module)&lt;br /&gt;
&lt;em&gt;(... Is &lt;a href=&quot;http://pear.php.net/package/Archive_Tar&quot; title=&quot;http://pear.php.net/package/Archive_Tar&quot;&gt;http://pear.php.net/package/Archive_Tar&lt;/a&gt; the package mentioned? ...)&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Install the following modules:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://drupal.org/project/potx&quot;&gt;Translation template extractor&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://drupal.org/project/l10n_server&quot;&gt;Localization server&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Optionally, &lt;a href=&quot;http://drupal.org/project/og&quot;&gt;Organic groups&lt;/a&gt; and &lt;a href=&quot;http://drupal.org/project/views&quot;&gt;Views&lt;/a&gt;. This is mainly useful if you want to use your server for several languages.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Read the README-files of the modules, if present, to see if there are any additional installation instructions.&lt;/p&gt;
&lt;p&gt;Go to admin/build/modules and activate the following modules:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Locale (core)&lt;/li&gt;
&lt;li&gt;Localization community (part of the Localization server package)&lt;/li&gt;
&lt;li&gt;Localization community for local packages (part of the Localization server package) (&quot;Localization community for drupal.org&quot; is meant for the final, common server and should &lt;strong&gt;not&lt;/strong&gt; be used for local servers.)&lt;/li&gt;
&lt;li&gt;Translation template extractor&lt;/li&gt;
&lt;li&gt;Optionally:
&lt;ul&gt;
&lt;li&gt;Views&lt;/li&gt;
&lt;li&gt;Organic groups&lt;/li&gt;
&lt;li&gt;Localization groups (part of the Localization server package)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Go to &lt;em&gt;Administer &amp;gt; Users &amp;gt; Access control&lt;/em&gt; (admin/user/access) and set permissions for:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;access localization community: anonymous and authenticated users&lt;/li&gt;
&lt;li&gt;administer localization community: admin roles only&lt;/li&gt;
&lt;li&gt;submit suggestions: authenticated users&lt;/li&gt;
&lt;li&gt;submit translations and approve suggestions: you may want to set this for autenticated users, or only for a trusted translator role&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Create a directory on your server to hold the projects to be translated.&lt;/p&gt;
&lt;p&gt;Go to &lt;em&gt;Administer &amp;gt; Localization server &amp;gt; Local package connector&lt;/em&gt; (admin/l10n_server/l10n_localpacks). Under &quot;Local packages directory&quot; add the name of the directory you just created.&lt;/p&gt;
&lt;p&gt;Copy the tarball of the Drupal version(s) you want to translate to the directory you just created. (The tarball is the .tar.gz file at &lt;a href=&quot;http://drupal.org/download&quot; title=&quot;http://drupal.org/download&quot;&gt;http://drupal.org/download&lt;/a&gt;.) Do the same for any contributed modules and themes you want to translate.&lt;/p&gt;
&lt;p&gt;Remove unwanted languages. &lt;em&gt;(... description to be added ...)&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Import current translations. &lt;em&gt;(... description to be added ...)&lt;/em&gt; You can choose to import them as approved translations or as suggestions.&lt;br /&gt;
&lt;strong&gt;Important: If you import the same file twice, you will get suggestions which are identical to the approved translations.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Go to &lt;em&gt;Administer &amp;gt; Site building &amp;gt; Blocks&lt;/em&gt; (admin/build/block). Activate the block &quot;Translation help&quot;, choose &quot;Configure&quot; and under &quot;Custom visibility settings&quot; choose &quot;Show this block by default, but let individual users hide it&quot;. It probably also makes most sense to check &quot;Show block for specific roles: authenticated user&quot;&lt;/p&gt;
&lt;p&gt;There&#039;s also a &quot;Bookmarked filters&quot; block. It doesn&#039;t do anything currently, but it hardly hurts to activate it.&lt;/p&gt;
&lt;p&gt;The information at the language landing pages is written for the final, central server. Change it to something which fits your site using the locale module. (See &lt;a href=&quot;http://drupal.org/node/24593&quot;&gt;HOWTO: Creating a customized language set to replace Drupal terminology&lt;/a&gt; for how.)&lt;/p&gt;
&lt;p&gt;Each language has a landing page. If you want to create content to be shown there, you need to create a vocabulary with a term for each language called &quot;l10n-server-[language code]&quot; .&lt;/p&gt;
&lt;p&gt;See &lt;a href=&quot;http://drupal.org/project/l10n_server&quot;&gt;the project page&lt;/a&gt; for information on how to get listed on the local server list.&lt;/p&gt;
&lt;p&gt;As with all sites, follow &lt;a href=&quot;http://drupal.org/best-practices&quot;&gt;best practices&lt;/a&gt;, and remember to take backups regularily.&lt;/p&gt;
&lt;div class=&quot;og_rss_groups&quot;&gt;&lt;a href=&quot;/translations&quot;&gt;Translations&lt;/a&gt;&lt;/div&gt;</description>
 <group domain="http://groups.drupal.org/translations">Translations</group>
 <pubDate>Wed, 23 Apr 2008 16:57:07 +0000</pubDate>
 <dc:creator>zirvap</dc:creator>
 <guid isPermaLink="false">10959 at http://groups.drupal.org</guid>
</item>
<item>
 <title>Theming for specific language</title>
 <link>http://groups.drupal.org/node/10738</link>
 <description>&lt;p&gt;Is there a way to automatically wrap all &quot;translated&quot; text with html tags?  For example, the font for dz (Dzongkha/Tibetan) is really quite small compared to western fonts due to the possible height of characters in the language.  It would be very useful to take any text and wrap it with  tags so that I could then institute text formatting with a stylesheet, while not disturbing and western text that may be untranslated.&lt;/p&gt;
&lt;div class=&quot;og_rss_groups&quot;&gt;&lt;a href=&quot;/translations&quot;&gt;Translations&lt;/a&gt;&lt;/div&gt;</description>
 <comments>http://groups.drupal.org/node/10738#comments</comments>
 <category domain="http://groups.drupal.org/taxonomy/term/922">i18n</category>
 <category domain="http://groups.drupal.org/taxonomy/term/403">usability</category>
 <group domain="http://groups.drupal.org/i18n">Internationalization</group>
 <group domain="http://groups.drupal.org/translations">Translations</group>
 <pubDate>Tue, 15 Apr 2008 19:51:35 +0000</pubDate>
 <dc:creator>Tshering@drupal.org</dc:creator>
 <guid isPermaLink="false">10738 at http://groups.drupal.org</guid>
</item>
<item>
 <title>6.0-beta1 of the Greek translation</title>
 <link>http://groups.drupal.org/node/10483</link>
 <description>&lt;p&gt;The Greek translation team has just released the first &lt;a href=&quot;http://drupal.org/node/243145&quot;&gt;beta&lt;/a&gt; of the Greek translation for &lt;strong&gt;Drupal 6.x&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;You are free to download, test it and report any syntactic or spelling errors at the &lt;a href=&quot;http://drupal.org/node/add/project_issue/el/bug&quot;&gt;project&#039;s issue queue&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;You will find more information at the official &lt;a href=&quot;http://drupal.org/project/el&quot;&gt;project&#039;s homepage&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Thank you.&lt;/p&gt;
&lt;div class=&quot;og_rss_groups&quot;&gt;&lt;a href=&quot;/translations&quot;&gt;Translations&lt;/a&gt;&lt;/div&gt;</description>
 <comments>http://groups.drupal.org/node/10483#comments</comments>
 <category domain="http://groups.drupal.org/taxonomy/term/4745">beta1</category>
 <category domain="http://groups.drupal.org/taxonomy/term/4021">Drupal 6.x</category>
 <category domain="http://groups.drupal.org/taxonomy/term/2775">greek translation</category>
 <group domain="http://groups.drupal.org/translations">Translations</group>
 <pubDate>Sat, 05 Apr 2008 23:56:48 +0000</pubDate>
 <dc:creator>GoofyX@drupal.org</dc:creator>
 <guid isPermaLink="false">10483 at http://groups.drupal.org</guid>
</item>
<item>
 <title>How to translate &quot;{something}.something&quot; (Drupal 6)</title>
 <link>http://groups.drupal.org/node/9659</link>
 <description>&lt;p&gt;In the Drupal 6 translation templates, there are several strings on the form of &lt;code&gt;{something}.something&lt;/code&gt;, such as:&lt;/p&gt;
&lt;div class=&quot;codeblock&quot;&gt;&lt;code&gt;The {languages}.language of this node.&lt;br /&gt;The feed&amp;#039;s {aggregator_feed}.fid.&lt;br /&gt;The user&amp;#039;s role ID from {users_roles}.rid&lt;br /&gt;The {users}.uid that created this version.&lt;br /&gt;Block body&amp;#039;s {filter_formats}.format; for example, 1 = Filtered HTML.&lt;br /&gt;The block&amp;#039;s origin module, from {blocks}.module.&lt;/code&gt;&lt;/div&gt;
&lt;p&gt;I&#039;ve poked around a bit in my Drupal 6 test site, but haven&#039;t been able to catch any of these strings in the wild. Can anyone tell me what kind of context they appear in?&lt;br /&gt;
My guess is that both parts should be kept untranslated, so that &lt;code&gt;&amp;quot;The {languages}.language of this node.&amp;quot;&lt;/code&gt; becomes (in Norwegian) &lt;code&gt;&amp;quot;Denne nodens {languages}.language.&amp;quot;&lt;/code&gt; and not &lt;code&gt;&amp;quot;Denne nodens {languages}.språk.&amp;quot;&lt;/code&gt; Correct?&lt;/p&gt;
&lt;p&gt;And since these strings are going to look very weird in other languages when they contain untranslated parts, it would be useful to add a bit of explanation in the translations, such as (the equivalent of) &lt;code&gt;The system variable &amp;lt;em&amp;gt;{languages}.language&amp;lt;/em&amp;gt; of this node.&lt;/code&gt; or whatever is correct. What would be a reasonably correct description?&lt;/p&gt;
&lt;div class=&quot;og_rss_groups&quot;&gt;&lt;a href=&quot;/translations&quot;&gt;Translations&lt;/a&gt;&lt;/div&gt;</description>
 <comments>http://groups.drupal.org/node/9659#comments</comments>
 <group domain="http://groups.drupal.org/translations">Translations</group>
 <pubDate>Tue, 11 Mar 2008 19:44:20 +0000</pubDate>
 <dc:creator>zirvap</dc:creator>
 <guid isPermaLink="false">9659 at http://groups.drupal.org</guid>
</item>
<item>
 <title>Tools to use for translation collaboration</title>
 <link>http://groups.drupal.org/node/9556</link>
 <description>&lt;p&gt;I&#039;ve just started the &lt;a href=&quot;http://drupal.org/project/sco&quot;&gt;Scots translation of Drupal&lt;/a&gt; and made a &lt;a href=&quot;http://scots.freso.dk/&quot;&gt;wee site with l10n_server&lt;/a&gt; on it. My intention is, for the latter site, to have it also become a unifying point for people involved with Scots localisation in other parts of the FOSS community (I&#039;ve made contact with an Ubuntu translator, for one). But, to whichever extent it&#039;s going to be used - just for Drupal or for Everything™ - it&#039;ll need some tools. Having just started out on this, I still haven&#039;t decided completely on which tools I&#039;ll want/need, so I wanted to take this up with you lot. Which tools to &lt;em&gt;you&lt;/em&gt; need and use?&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;A terminology database/dictionary is, of course, essential. Something more dynamic than a plain page/node would probably be best. Perhaps something like &lt;a href=&quot;http://drupal.org/project/glossary&quot;&gt;glossary&lt;/a&gt;/&lt;a href=&quot;http://drupal.org/project/g2&quot;&gt;G2 Glossary&lt;/a&gt;? Or an inventive use of taxonomy? What have you done?&lt;/li&gt;
&lt;li&gt;Forums are also an obvious addition. I personally find that this is done well enough with the core module, but what do you think? Do you find you need to use other modules to extend on forum.module? Do you use any hacks or code snippets for the forum?&lt;/li&gt;
&lt;li&gt;Language links. Dictionaries, other translation sites, interesting sites in the language of the project, etc. would be good to link to. Are any of you utilising such link databases? If so, how? A contrib module? &lt;a href=&quot;http://drupal.org/project/cck&quot;&gt;CCK&lt;/a&gt;?&lt;/li&gt;
&lt;li&gt;And I&#039;m sure there are many other things one could include on such a site. What do &lt;em&gt;you&lt;/em&gt; use, apart from the above? Why and how does it work?&lt;/li&gt;
&lt;/ol&gt;
&lt;div class=&quot;og_rss_groups&quot;&gt;&lt;a href=&quot;/translations&quot;&gt;Translations&lt;/a&gt;&lt;/div&gt;</description>
 <comments>http://groups.drupal.org/node/9556#comments</comments>
 <group domain="http://groups.drupal.org/translations">Translations</group>
 <pubDate>Sat, 08 Mar 2008 23:30:38 +0000</pubDate>
 <dc:creator>Freso</dc:creator>
 <guid isPermaLink="false">9556 at http://groups.drupal.org</guid>
</item>
<item>
 <title>Automatically fetching translations</title>
 <link>http://groups.drupal.org/node/9420</link>
 <description>&lt;p&gt;Hi!&lt;/p&gt;
&lt;p&gt;In D5, we introduced Autolocale module, enabling users to import translations after enabling module / during installation. However, this had few caveats, as timeouts on cheap shared hosts, etc.&lt;/p&gt;
&lt;p&gt;In D6, Autolocale is built-in core, using batch API and just works very well.&lt;/p&gt;
&lt;p&gt;What do you think next step should be? From my point of view:&lt;/p&gt;
&lt;p&gt;&quot;Let Drupal automatically fetch translations from a server&quot;.&lt;/p&gt;
&lt;p&gt;Imagine an user, enabling a module. Drupal polls Drupal.org (or something else), downloads a translation, imports it. No need to download any package, packages for modules will be smaller.&lt;/p&gt;
&lt;p&gt;This could be done for installer and/or contribs.&lt;/p&gt;
&lt;p&gt;What do you think and how do you think we can do this?&lt;/p&gt;
&lt;p&gt;Just my $0.02:&lt;br /&gt;
- Installer is a great place for this, contrib may not be (Translations are already packed with contribs)&lt;br /&gt;
- Gabor mentioned (at DrupalCon in Boston) that it may be done using Localization client. Is it wise? Any other approaches?&lt;br /&gt;
- I can imagine a very easy implementation using curl()/fopen()/xmlrpc() (having a failback) to query Drupal.org/... for a translation, download it, extract (how to do this without Archive/Tar.php?) and import.&lt;/p&gt;
&lt;p&gt;Please post your ideas so we can eventually get this to D7 :-)&lt;/p&gt;
&lt;div class=&quot;og_rss_groups&quot;&gt;&lt;a href=&quot;/translations&quot;&gt;Translations&lt;/a&gt;&lt;/div&gt;</description>
 <comments>http://groups.drupal.org/node/9420#comments</comments>
 <category domain="http://groups.drupal.org/taxonomy/term/921">internationalization</category>
 <category domain="http://groups.drupal.org/taxonomy/term/154">locale</category>
 <category domain="http://groups.drupal.org/taxonomy/term/139">translations</category>
 <group domain="http://groups.drupal.org/i18n">Internationalization</group>
 <group domain="http://groups.drupal.org/translations">Translations</group>
 <pubDate>Wed, 05 Mar 2008 22:09:57 +0000</pubDate>
 <dc:creator>meba@drupal.org</dc:creator>
 <guid isPermaLink="false">9420 at http://groups.drupal.org</guid>
</item>
<item>
 <title>Few Documentation Clarification Requested -- Languages</title>
 <link>http://groups.drupal.org/node/8403</link>
 <description>&lt;p&gt;I really dont know the answer to this, and I notice its not in the Language Documentation.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://drupal.org/node/11130&quot; title=&quot;http://drupal.org/node/11130&quot;&gt;http://drupal.org/node/11130&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://drupal.org/node/31714&quot; title=&quot;http://drupal.org/node/31714&quot;&gt;http://drupal.org/node/31714&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Neither one talks about if HTML is allowed or converted.  It would be nice if this was mentioned.  Even if its a Comment, that would be great.  Can the Translations group please answer if you need to put HTML within the translations .po file, and/or the Admin interface... and then can we make changes/Comments to the appropriate documentation.  There is a few places in both documents this information should/could go... anyone have suggestions...&lt;/p&gt;
&lt;div class=&quot;og_rss_groups&quot;&gt;&lt;a href=&quot;/translations&quot;&gt;Translations&lt;/a&gt;&lt;/div&gt;</description>
 <comments>http://groups.drupal.org/node/8403#comments</comments>
 <group domain="http://groups.drupal.org/beginner-documentation">Beginner Documentation</group>
 <group domain="http://groups.drupal.org/translations">Translations</group>
 <pubDate>Wed, 23 Jan 2008 20:01:23 +0000</pubDate>
 <dc:creator>GreenJelly</dc:creator>
 <guid isPermaLink="false">8403 at http://groups.drupal.org</guid>
</item>
<item>
 <title>Greek Drupal users: Come join us!</title>
 <link>http://groups.drupal.org/node/8044</link>
 <description>&lt;p&gt;I &lt;u&gt;encourage &lt;strong&gt;Greek&lt;/strong&gt; Drupal users and contributors&lt;/u&gt; to come and &lt;a href=&quot;http://groups.drupal.org/hellas&quot;&gt;join&lt;/a&gt; us in our effort for a localized &lt;strong&gt;Drupal 6&lt;/strong&gt; in &lt;strong&gt;Greek&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Version 6RC1 is already here (6RC2 will be shortly out), the strings are frozen and all you have to do is start working with your favorite .po file editor and contribute for a smooth experience of Drupal 6 in your native language!&lt;/p&gt;
&lt;p&gt;See &lt;a href=&quot;http://groups.drupal.org/node/8043&quot;&gt;this post&lt;/a&gt; for more information.&lt;/p&gt;
&lt;p&gt;Thank you all!&lt;/p&gt;
&lt;div class=&quot;og_rss_groups&quot;&gt;&lt;a href=&quot;/translations&quot;&gt;Translations&lt;/a&gt;&lt;/div&gt;</description>
 <comments>http://groups.drupal.org/node/8044#comments</comments>
 <category domain="http://groups.drupal.org/taxonomy/term/1834">Drupal 6</category>
 <category domain="http://groups.drupal.org/taxonomy/term/2775">greek translation</category>
 <group domain="http://groups.drupal.org/translations">Translations</group>
 <pubDate>Mon, 07 Jan 2008 16:08:13 +0000</pubDate>
 <dc:creator>GoofyX@drupal.org</dc:creator>
 <guid isPermaLink="false">8044 at http://groups.drupal.org</guid>
</item>
<item>
 <title>Good Typography and the Translation of Drupal 6</title>
 <link>http://groups.drupal.org/node/8007</link>
 <description>&lt;p&gt;In several languages, we need several special characters in order to make a typographically correct translation. One of them is, in French, the &quot;unbreakable space&quot; (and for some, its little brother, the &quot;thin unbreakable space&quot;). But there is no easy way to get them to work reliably with Drupal. What is the way forward?&lt;/p&gt;
&lt;p&gt;In traditional (X)HTML, we use &lt;code&gt;&amp;amp;nbsp;&lt;/code&gt; to render an &quot;unbreakable space&quot; and &lt;code&gt;&amp;amp;thinsp;&lt;/code&gt; to render a &quot;thin unbreakable space&quot;. &lt;strong&gt;But that&#039;s not a solution in Drupal&lt;/strong&gt;, because in several context, the string is passed to &lt;a href=&quot;http://api.drupal.org/api/function/check_plain&quot;&gt;check_plain()&lt;/a&gt;. These strings are rendered to the user as-is, with an ugly &lt;code&gt;&amp;amp;nbsp;&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;The solution would be to use Unicode equivalent characters (&lt;code&gt;U+00A0&lt;/code&gt; for the &lt;code&gt;NO-BREAK SPACE&lt;/code&gt; and &lt;code&gt;U+202F&lt;/code&gt; for the &lt;code&gt;NARROW NO-BREAK SPACE&lt;/code&gt;). &lt;strong&gt;But&lt;/strong&gt;, there is no PO-Editor (nor the I18N server) that manage those special spaces. There is no easy way to input them, and no visual way to distinguish them from normal spaces.&lt;/p&gt;
&lt;p&gt;I see three ways forward:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Change &lt;a href=&quot;http://api.drupal.org/api/function/check_plain&quot;&gt;check_plain()&lt;/a&gt;, in order to allow some entities to go thru. I think most of them could, except perhaps &lt;code&gt;&amp;amp;gt;&lt;/code&gt; and &lt;code&gt;&amp;amp;lt;&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Change the translation packaging scripts of d.o, in order to replace at packaging time most entities to their Unicode equivalent; or&lt;/li&gt;
&lt;li&gt;Change the locale import function, in order to replace these entities at loading time.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;I think this is a very important issue, which could be solved before the release of Drupal 6 in order to make it truly an international release.&lt;/p&gt;
&lt;p&gt;What do you think?&lt;/p&gt;
&lt;p&gt;Damien&lt;/p&gt;
&lt;div class=&quot;og_rss_groups&quot;&gt;&lt;a href=&quot;/translations&quot;&gt;Translations&lt;/a&gt;&lt;/div&gt;</description>
 <comments>http://groups.drupal.org/node/8007#comments</comments>
 <group domain="http://groups.drupal.org/translations">Translations</group>
 <pubDate>Sun, 06 Jan 2008 17:45:42 +0000</pubDate>
 <dc:creator>Damien Tournoud</dc:creator>
 <guid isPermaLink="false">8007 at http://groups.drupal.org</guid>
</item>
<item>
 <title>Issues with Drupal 6 RC1</title>
 <link>http://groups.drupal.org/node/7843</link>
 <description>&lt;h1&gt;Translation issues&lt;/h1&gt;
&lt;h2&gt;Not translated, but string is present&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Menu item descriptions &lt;a href=&quot;http://drupal.org/node/176748&quot;&gt;(patch)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Theme descriptions (admin/build/themes)&lt;/li&gt;
&lt;li&gt;Theme names&lt;/li&gt;
&lt;li&gt;Module names&lt;/li&gt;
&lt;li&gt;Language direction (/admin/settings/language)&lt;/li&gt;
&lt;li&gt;&quot;Navigation&quot;, &quot;Primary links&quot;, &quot;Secondary links&quot; not translatable&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Not translatable&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&quot;anonymous/authenticated user&quot; (/admin/settings/filters/add, /admin/user/permissions)&lt;/li&gt;
&lt;li&gt;&quot;bundled, 2.0.34 compatible&quot; (/admin/reports/status)&lt;/li&gt;
&lt;li&gt;&quot;Installing Drupal&quot; in the installer (and the text below) (t instead of st is used)&lt;/li&gt;
&lt;li&gt;&quot;Drupal already installed&quot; (/install.php after installation; installer.pot is not imported, but contains these strings)&lt;/li&gt;
&lt;li&gt;permission names with custom node type names* (/admin/user/permissions)&lt;/li&gt;
&lt;li&gt;&quot;view&quot; (last column on /admin/reports/dblog)&lt;/li&gt;
&lt;li&gt;Region names in themes (/admin/build/blocks): &quot;Left/Right sidebar, Footer&quot;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Only translated on install&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&quot;Forums&quot; (page title on /admin/content/forum)&lt;/li&gt;
&lt;li&gt;Action descriptions (/admin/settings/actions)&lt;/li&gt;
&lt;/ul&gt;
&lt;h1&gt;Other flaws:&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;OpenID authentication contains ?destination= argument which makes &quot;allowing forever&quot; a pita&lt;/li&gt;
&lt;li&gt;Lots of notices at /install.php?profile=default (when other languages are available)&lt;/li&gt;
&lt;li&gt;Pretty module names at /admin/settings/actions, /admin/reports/dblog&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;* missing permission names are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;create page content&lt;/li&gt;
&lt;li&gt;create story content&lt;/li&gt;
&lt;li&gt;delete any page content&lt;/li&gt;
&lt;li&gt;delete any story content&lt;/li&gt;
&lt;li&gt;delete own page content&lt;/li&gt;
&lt;li&gt;delete own story content&lt;/li&gt;
&lt;li&gt;delete revisions&lt;/li&gt;
&lt;li&gt;edit any page content&lt;/li&gt;
&lt;li&gt;edit any story content&lt;/li&gt;
&lt;li&gt;edit own page content&lt;/li&gt;
&lt;li&gt;edit own story content&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&quot;og_rss_groups&quot;&gt;&lt;a href=&quot;/translations&quot;&gt;Translations&lt;/a&gt;&lt;/div&gt;</description>
 <comments>http://groups.drupal.org/node/7843#comments</comments>
 <group domain="http://groups.drupal.org/translations">Translations</group>
 <pubDate>Wed, 26 Dec 2007 13:57:02 +0000</pubDate>
 <dc:creator>kkaefer@drupal.org</dc:creator>
 <guid isPermaLink="false">7843 at http://groups.drupal.org</guid>
</item>
<item>
 <title>Error en la traducción de Views / Error on Translation of Views </title>
 <link>http://groups.drupal.org/node/6987</link>
 <description>&lt;p&gt;&quot;Use Pager&quot; no es &quot;Página del Usuario&quot; como se encuentra en la traducción actual. Debiera ser &quot;Usar Paginación&quot;.&lt;/p&gt;
&lt;blockquote&gt;&lt;div class=&quot;codeblock&quot;&gt;&lt;code&gt;Use Pager&lt;br /&gt;views_form.inc:294, views_ui.module:740&lt;/code&gt;&lt;/div&gt;
&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;&lt;hr /&gt;&lt;/p&gt;
&lt;p&gt;&quot;Use Pager&quot; is translated as &quot;Página del Usuario&quot; (User Page). It should be &quot;Usar Paginación&quot;.&lt;/p&gt;
&lt;blockquote&gt;&lt;div class=&quot;codeblock&quot;&gt;&lt;code&gt;Use Pager&lt;br /&gt;views_form.inc:294, views_ui.module:740&lt;/code&gt;&lt;/div&gt;
&lt;/p&gt;&lt;/blockquote&gt;
&lt;div class=&quot;og_rss_groups&quot;&gt;&lt;a href=&quot;/translations&quot;&gt;Translations&lt;/a&gt;&lt;/div&gt;</description>
 <comments>http://groups.drupal.org/node/6987#comments</comments>
 <group domain="http://groups.drupal.org/espa-ol">Español</group>
 <group domain="http://groups.drupal.org/translations">Translations</group>
 <pubDate>Wed, 07 Nov 2007 21:25:48 +0000</pubDate>
 <dc:creator>Carlos Miranda Levy@drupal.org</dc:creator>
 <guid isPermaLink="false">6987 at http://groups.drupal.org</guid>
</item>
<item>
 <title>Traducciones curiosas en módulo de Views / Funny translation of Views module</title>
 <link>http://groups.drupal.org/node/6986</link>
 <description>&lt;p&gt;Hoy fui a adicionar una vista en uno de nuestros sitios y me &quot;flipé&quot; como dicen por ahí al tratar de descrifrar un par de traducciones que aparentemente forman parte de la traducción provista con el módulo...&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;&lt;i&gt;Breadcrumb trail should not include &quot;Home&quot;&lt;/i&gt;&lt;br /&gt;
&lt;b&gt;&lt;code&gt;El hilo de ariadna, no deberia incluir &amp;quot;Inicio&amp;quot;&lt;/code&gt;&lt;/b&gt;&lt;/p&gt;&lt;/blockquote&gt;
&lt;blockquote&gt;&lt;p&gt;If checked the breadcrumb trail for this page will discard &quot;Home&quot;. Usually you will not set this, but this is used for the Front Page View, where it IS Home and should not leave a trail to itself.&lt;br /&gt;
&lt;b&gt;&lt;code&gt;Si está chequeado, el hilo de ariadna para esta pagina descartará &amp;quot;Inicio&amp;quot;. Generalmente, no se configura de esta forma.&lt;/code&gt;&lt;/b&gt;&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;El hilo de quién??? Si esa niña no es usuaria de mi site... Sólo al revisar en admin/settings/locale/string/search pude descubrir que algún anti-imperialista, o que considera que el público es más versado en mitología griega que en cuentos infantiles, decidió más acertado traducir el rastro de migajas de pan como hilo de Ariadna...&lt;/p&gt;
&lt;p&gt;Ambas corresponden al archivo:&lt;/p&gt;
&lt;p&gt;views_form.inc&lt;/p&gt;
&lt;p&gt;&lt;hr /&gt;&lt;/p&gt;
&lt;p&gt;&quot;Breadcrumb trail&quot; is translated as &quot;Hilo de Ariadna&quot; (Ariadna&#039;s thread), someone somewhere apparently swears that we are more versed in Greek mythology than in children&#039;s bedtime stories. :p&lt;/p&gt;
&lt;div class=&quot;og_rss_groups&quot;&gt;&lt;a href=&quot;/translations&quot;&gt;Translations&lt;/a&gt;&lt;/div&gt;</description>
 <comments>http://groups.drupal.org/node/6986#comments</comments>
 <group domain="http://groups.drupal.org/espa-ol">Español</group>
 <group domain="http://groups.drupal.org/translations">Translations</group>
 <pubDate>Wed, 07 Nov 2007 21:09:14 +0000</pubDate>
 <dc:creator>Carlos Miranda Levy@drupal.org</dc:creator>
 <guid isPermaLink="false">6986 at http://groups.drupal.org</guid>
</item>
<item>
 <title>buddylist.module: Complete translation to Spanish / Traducción completa al Español</title>
 <link>http://groups.drupal.org/node/6752</link>
 <description>&lt;p&gt;I have completed the translation to Spanish of the Buddylist v.5.x-1.0 (2007-Jun-27) module and related files and modules (buddylist_views.inc, buddylist.module, buddylist.info, buddylist.install, buddylistautoadd.info, buddylistinvite.info, buddylistautoadd.module, buddylistinvite.module).&lt;/p&gt;
&lt;p&gt;I reviewed and updated the translation strings in the es.po file included with the module, then updated and enhanced them with the buddylist.pot translation template file included; I then used the potx module to extract strings from modules and files under my sites/all/modules/buddylist folder and proceeded to review, correct and complete all translation strings.&lt;/p&gt;
&lt;p&gt;Since I&#039;m not sure where to contribute back the completed Spanish translation file, I&#039;m uploading it here and as an issue under the buddylist module project page.&lt;/p&gt;
&lt;p&gt;If there is a special place to upload module translations, pls let me know.&lt;/p&gt;
&lt;p&gt;I changed the file extension to .txt, because the system does not allow attaching files with .po extensions. Just download the file and change the extension back to .po.&lt;/p&gt;
&lt;p&gt;&lt;hr /&gt;&lt;/p&gt;
&lt;p&gt;He completado la traducción al español del módulo Buddylist v.5.x-1.0 (2007-Jun-27) y sus archivos y módulos relacionados (buddylist_views.inc, buddylist.module, buddylist.info, buddylist.install, buddylistautoadd.info, buddylistinvite.info, buddylistautoadd.module, buddylistinvite.module).&lt;/p&gt;
&lt;p&gt;Revisé y actualicé las cadenas en el es.po incluido, luego actualicé el es.po con el template buddylist.pot incluido; a seguidas extraje todos los strings de los módulos y archivos en mi sites/all/modules/buddylist folder usando el módulo potx y procedí a revisar, corregir y completar todas las cadenas de traducción.&lt;/p&gt;
&lt;p&gt;Como no estoy seguro de dónde contribuir a la comunidad con el archivo de traducción al español completo, lo estoy subiendo acá y como un issue en la página de proyecto del módulo buddylist.&lt;/p&gt;
&lt;p&gt;Si hay algún lugar especial en el cual colgarlo, por favor déjenme saberlo.&lt;/p&gt;
&lt;p&gt;Cambié la extensión del archivo a .txt, porque el sistema no permite subir acá archivos con la extensión .po. Al obtener el archivo, es sólo cosa de renombrarlo con la extensión .po.&lt;/p&gt;
&lt;div class=&quot;og_rss_groups&quot;&gt;&lt;a href=&quot;/translations&quot;&gt;Translations&lt;/a&gt;&lt;/div&gt;</description>
 <comments>http://groups.drupal.org/node/6752#comments</comments>
 <category domain="http://groups.drupal.org/taxonomy/term/947">buddylist</category>
 <category domain="http://groups.drupal.org/taxonomy/term/3298">contributed modules</category>
 <category domain="http://groups.drupal.org/taxonomy/term/643">español</category>
 <category domain="http://groups.drupal.org/taxonomy/term/1190">spanish</category>
 <category domain="http://groups.drupal.org/taxonomy/term/3297">traducciones</category>
 <category domain="http://groups.drupal.org/taxonomy/term/139">translations</category>
 <enclosure url="http://groups.drupal.org/files/buddylist-es.po_.txt" length="32001" type="text/plain" />
 <group domain="http://groups.drupal.org/argentina">Argentina</group>
 <group domain="http://groups.drupal.org/buenos-aires-dug">Buenos Aires</group>
 <group domain="http://groups.drupal.org/chile">Chile</group>
 <group domain="http://groups.drupal.org/colombia">Colombia</group>
 <group domain="http://groups.drupal.org/espa-ol">Español</group>
 <group domain="http://groups.drupal.org/social-networking-sites">Social Networking Sites</group>
 <group domain="http://groups.drupal.org/spain">Spain</group>
 <group domain="http://groups.drupal.org/translations">Translations</group>
 <pubDate>Thu, 25 Oct 2007 05:33:28 +0000</pubDate>
 <dc:creator>Carlos Miranda Levy@drupal.org</dc:creator>
 <guid isPermaLink="false">6752 at http://groups.drupal.org</guid>
</item>
<item>
 <title>privatemsg.module: Complete translation to Spanish / Traducción completa al Español</title>
 <link>http://groups.drupal.org/node/6709</link>
 <description>&lt;p&gt;I have completed the translation to Spanish of the Private message v5.x-1.8 module and related files and modules (privatemsg.info, mail_edit.module, mail_edit.info).&lt;/p&gt;
&lt;p&gt;The current es.po translation file included with the module is quite old and inaccurate, which generates plenty of confusion when used.&lt;/p&gt;
&lt;p&gt;I reviewed and updated the translation strings in the es.po file included with the module, then updated and enhanced them with the privatemsg.pot translation template file included; I then used the potx module to extract strings from modules and files under my sites/all/modules/privatemsg folder and proceeded to review, correct and complete all translation strings.&lt;/p&gt;
&lt;p&gt;Since I&#039;m not sure where to contribute back the completed Spanish translation file, I&#039;m uploading it here and as an issue under the privatemsg module project page - &lt;a href=&quot;http://drupal.org/project/privatemsg&quot; title=&quot;http://drupal.org/project/privatemsg&quot;&gt;http://drupal.org/project/privatemsg&lt;/a&gt; - and on my blog - &lt;a href=&quot;http://www.socinfo.com/drupal/privatemsg/translation/spanish&quot; title=&quot;http://www.socinfo.com/drupal/privatemsg/translation/spanish&quot;&gt;http://www.socinfo.com/drupal/privatemsg/translation/spanish&lt;/a&gt; -.&lt;/p&gt;
&lt;p&gt;If there is a special place to upload module translations, pls let me know.&lt;/p&gt;
&lt;p&gt;I changed the file extension to .txt, because the system does not allow attaching files with .po extensions. Just download the file and change the extension back to .po.&lt;/p&gt;
&lt;p&gt;&lt;hr /&gt;&lt;/p&gt;
&lt;p&gt;He completado la traducción al español del módulo Private message v5.x-1.8 y sus archivos y módulos relacionados (privatemsg.info, mail_edit.module, mail_edit.info).&lt;/p&gt;
&lt;p&gt;El archivo de traducción es.po actualmente incluido en el módulo es bastante viejo, desactualizado e impreciso, generando confusión al ser usado.&lt;/p&gt;
&lt;p&gt;Revisé y actualicé las cadenas en el es.po incluido, luego actualicé el es.po con el template privatemsg.pot incluido; a seguidas extraje todos los strings de los módulos y archivos en mi sites/all/modules/privatemsg folder usando el módulo potx y procedí a revisar, corregir y completar todas las cadenas de traducción.&lt;/p&gt;
&lt;p&gt;Como no estoy seguro de dónde contribuir a la comunidad con el archivo de traducción al español completo, lo estoy subiendo acá y como un issue en el la página de proyecto del módulo privatemsg - &lt;a href=&quot;http://drupal.org/project/privatemsg&quot; title=&quot;http://drupal.org/project/privatemsg&quot;&gt;http://drupal.org/project/privatemsg&lt;/a&gt; y en mi blog - &lt;a href=&quot;http://www.socinfo.com/drupal/privatemsg/translation/spanish&quot; title=&quot;http://www.socinfo.com/drupal/privatemsg/translation/spanish&quot;&gt;http://www.socinfo.com/drupal/privatemsg/translation/spanish&lt;/a&gt; -.&lt;/p&gt;
&lt;p&gt;Si hay algún lugar especial en el cual colgarlo, por favor déjenme saberlo.&lt;/p&gt;
&lt;p&gt;Cambié la extensión del archivo a .txt, porque el sistema no permite subir acá archivos con la extensión .po. Al obtener el archivo, es sólo cosa de renombrarlo con la extensión .po.&lt;/p&gt;
&lt;div class=&quot;og_rss_groups&quot;&gt;&lt;a href=&quot;/translations&quot;&gt;Translations&lt;/a&gt;&lt;/div&gt;</description>
 <comments>http://groups.drupal.org/node/6709#comments</comments>
 <category domain="http://groups.drupal.org/taxonomy/term/3298">contributed modules</category>
 <category domain="http://groups.drupal.org/taxonomy/term/643">español</category>
 <category domain="http://groups.drupal.org/taxonomy/term/3299">privatemsg</category>
 <category domain="http://groups.drupal.org/taxonomy/term/1190">spanish</category>
 <category domain="http://groups.drupal.org/taxonomy/term/3297">traducciones</category>
 <category domain="http://groups.drupal.org/taxonomy/term/139">translations</category>
 <enclosure url="http://groups.drupal.org/files/privatemsg-es-po.txt" length="25864" type="text/plain" />
 <group domain="http://groups.drupal.org/argentina">Argentina</group>
 <group domain="http://groups.drupal.org/brazil">Brazil</group>
 <group domain="http://groups.drupal.org/buenos-aires-dug">Buenos Aires</group>
 <group domain="http://groups.drupal.org/chile">Chile</group>
 <group domain="http://groups.drupal.org/colombia">Colombia</group>
 <group domain="http://groups.drupal.org/espa-ol">Español</group>
 <group domain="http://groups.drupal.org/latino">Latin America</group>
 <group domain="http://groups.drupal.org/madrid-area">Madrid Area</group>
 <group domain="http://groups.drupal.org/spain">Spain</group>
 <group domain="http://groups.drupal.org/translations">Translations</group>
 <pubDate>Tue, 23 Oct 2007 18:24:28 +0000</pubDate>
 <dc:creator>Carlos Miranda Levy@drupal.org</dc:creator>
 <guid isPermaLink="false">6709 at http://groups.drupal.org</guid>
</item>
<item>
 <title>Fix Drupal 6 for translations</title>
 <link>http://groups.drupal.org/node/6077</link>
 <description>&lt;p&gt;&lt;strong&gt;Update: new errors uncovered.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;When running the pot file extractor, we get the following messages. They generally mean that the parser could not extract the string for the &lt;code&gt;t()&lt;/code&gt; function because it was stored in a variable or constructed dynamically in any other way. For some strings, this is not a problem, because we have taken care of them (like date/time strings), but others won&#039;t be translateable if we don&#039;t fix them. We have to review each message and decide if there is a way the actual string lands in the translation template files, otherwise it&#039;s a bug.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;del&gt;Invalid marker content in &lt;a href=&quot;http://cvs.drupal.org/viewvc.py/drupal/drupal/includes/common.inc?view=co&quot;&gt;includes/common.inc&lt;/a&gt;:1143&lt;br /&gt;
&lt;code&gt;t(gmdate($c,$timestamp),array(),$langcode)&lt;/code&gt;&lt;/del&gt;&lt;br /&gt;
&lt;a href=&quot;http://drupal.org/node/174459&quot;&gt;&lt;strong&gt;(patch for AM/PM)&lt;/strong&gt;&lt;/a&gt; committed&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;del&gt;Invalid marker content in &lt;a href=&quot;http://cvs.drupal.org/viewvc.py/drupal/drupal/includes/common.inc?view=co&quot;&gt;includes/common.inc&lt;/a&gt;:1074&lt;br /&gt;
&lt;code&gt;format_plural(floor($timestamp/$value),$key[0],$key[1],array(),$langcode)&lt;/code&gt;&lt;/del&gt;&lt;br /&gt;
(doesn&#039;t need fix: the used strings do have a special treatment in potx.inc)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;del&gt;Invalid marker content in &lt;a href=&quot;http://cvs.drupal.org/viewvc.py/drupal/drupal/includes/locale.inc?view=co&quot;&gt;includes/locale.inc&lt;/a&gt;:313&lt;br /&gt;
&lt;code&gt;t($form_state[&#039;values&#039;][&#039;name&#039;])&lt;/code&gt;&lt;/del&gt;&lt;br /&gt;
(used as name of predefined language and that list is already translatable)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;del&gt;Invalid marker content in &lt;a href=&quot;http://cvs.drupal.org/viewvc.py/drupal/drupal/includes/locale.inc?view=co&quot;&gt;includes/locale.inc&lt;/a&gt;:319&lt;br /&gt;
&lt;code&gt;t($predefined[$langcode][0])&lt;/code&gt;&lt;/del&gt;&lt;br /&gt;
(used as name of predefined language and that list is already translatable)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;del&gt;Invalid marker content in &lt;a href=&quot;http://cvs.drupal.org/viewvc.py/drupal/drupal/includes/locale.inc?view=co&quot;&gt;includes/locale.inc&lt;/a&gt;:401&lt;br /&gt;
&lt;code&gt;t($languages[$langcode]-&amp;amp;gt;name)&lt;/code&gt;&lt;/del&gt;&lt;br /&gt;
(most sites only use built-in language names, which are already translatable)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;del&gt;Invalid marker content in &lt;a href=&quot;http://cvs.drupal.org/viewvc.py/drupal/drupal/includes/locale.inc?view=co&quot;&gt;includes/locale.inc&lt;/a&gt;:494&lt;br /&gt;
&lt;code&gt;t($language-&amp;amp;gt;name)&lt;/code&gt;&lt;/del&gt;&lt;br /&gt;
(most sites only use built-in language names, which are already translatable)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;del&gt;Invalid marker content in &lt;a href=&quot;http://cvs.drupal.org/viewvc.py/drupal/drupal/includes/locale.inc?view=co&quot;&gt;includes/locale.inc&lt;/a&gt;:642&lt;br /&gt;
&lt;code&gt;t($predefined[$langcode][0])&lt;/code&gt;&lt;/del&gt;&lt;br /&gt;
(used as name of predefined language and that list is already translatable)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;del&gt;Invalid marker content in &lt;a href=&quot;http://cvs.drupal.org/viewvc.py/drupal/drupal/includes/locale.inc?view=co&quot;&gt;includes/locale.inc&lt;/a&gt;:798&lt;br /&gt;
&lt;code&gt;t($language-&amp;amp;gt;name)&lt;/code&gt;&lt;/del&gt;&lt;br /&gt;
(most sites only use built-in language names, which are already translatable)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;del&gt;Invalid marker content in &lt;a href=&quot;http://cvs.drupal.org/viewvc.py/drupal/drupal/includes/locale.inc?view=co&quot;&gt;includes/locale.inc&lt;/a&gt;:2142&lt;br /&gt;
&lt;code&gt;t($language-&amp;amp;gt;name)&lt;/code&gt;&lt;/del&gt;&lt;br /&gt;
(most sites only use built-in language names, which are already translatable)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;del&gt;Invalid marker content in &lt;a href=&quot;http://cvs.drupal.org/viewvc.py/drupal/drupal/includes/locale.inc?view=co&quot;&gt;includes/locale.inc&lt;/a&gt;:2145&lt;br /&gt;
&lt;code&gt;t($language-&amp;amp;gt;name)&lt;/code&gt;&lt;/del&gt;&lt;br /&gt;
(most sites only use built-in language names, which are already translatable)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;del&gt;Invalid marker content in &lt;a href=&quot;http://cvs.drupal.org/viewvc.py/drupal/drupal/includes/locale.inc?view=co&quot;&gt;includes/locale.inc&lt;/a&gt;:2149&lt;br /&gt;
&lt;code&gt;t($language-&amp;amp;gt;name)&lt;/code&gt;&lt;/del&gt;&lt;br /&gt;
(most sites only use built-in language names, which are already translatable)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;del&gt;Invalid marker content in &lt;a href=&quot;http://cvs.drupal.org/viewvc.py/drupal/drupal/includes/locale.inc?view=co&quot;&gt;includes/locale.inc&lt;/a&gt;:2160&lt;br /&gt;
&lt;code&gt;t($language-&amp;amp;gt;name)&lt;/code&gt;&lt;/del&gt;&lt;br /&gt;
(most sites only use built-in language names, which are already translatable)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;del&gt;Invalid marker content in &lt;a href=&quot;http://cvs.drupal.org/viewvc.py/drupal/drupal/includes/locale.inc?view=co&quot;&gt;includes/locale.inc&lt;/a&gt;:2204&lt;br /&gt;
&lt;code&gt;t($value[0])&lt;/code&gt;&lt;/del&gt;&lt;br /&gt;
(used as name of predefined language and that list is already translatable)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;del&gt;Invalid marker content in &lt;a href=&quot;http://cvs.drupal.org/viewvc.py/drupal/drupal/includes/locale.inc?view=co&quot;&gt;includes/locale.inc&lt;/a&gt;:2208&lt;br /&gt;
&lt;code&gt;t($value[0])&lt;/code&gt;&lt;/del&gt;&lt;br /&gt;
(used as name of predefined language and that list is already translatable)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;del&gt;Invalid marker content in &lt;a href=&quot;http://cvs.drupal.org/viewvc.py/drupal/drupal/includes/locale.inc?view=co&quot;&gt;includes/locale.inc&lt;/a&gt;:1151&lt;br /&gt;
&lt;code&gt;$t($message,$vars)&lt;/code&gt;&lt;/del&gt;&lt;br /&gt;
(used in _locale_import_message() which is already parsed as t() in potx)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;del&gt;Invalid marker content in &lt;a href=&quot;http://cvs.drupal.org/viewvc.py/drupal/drupal/includes/menu.inc?view=co&quot;&gt;includes/menu.inc&lt;/a&gt;:396&lt;br /&gt;
&lt;code&gt;t($item[&#039;title&#039;])&lt;/code&gt;&lt;/del&gt;&lt;br /&gt;
(doesn&#039;t need fix: variable contains menu title which is already folded into the template)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;del&gt;Invalid marker content in &lt;a href=&quot;http://cvs.drupal.org/viewvc.py/drupal/drupal/includes/menu.inc?view=co&quot;&gt;includes/menu.inc&lt;/a&gt;:399&lt;br /&gt;
&lt;code&gt;t($item[&#039;title&#039;],menu_unserialize($item[&#039;title_arguments&#039;],$map))&lt;/code&gt;&lt;/del&gt;&lt;br /&gt;
(doesn&#039;t need fix: variable contains menu title which is already folded into the template)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;del&gt;Invalid marker content in &lt;a href=&quot;http://cvs.drupal.org/viewvc.py/drupal/drupal/includes/menu.inc?view=co&quot;&gt;includes/menu.inc&lt;/a&gt;:413&lt;br /&gt;
&lt;code&gt;t($item[&#039;description&#039;])&lt;/code&gt;&lt;/del&gt;&lt;br /&gt;
(doesn&#039;t need fix: variable contains menu description which is already folded into the template)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;del&gt;Invalid marker content in &lt;a href=&quot;http://cvs.drupal.org/viewvc.py/drupal/drupal/modules/dblog/dblog.admin.inc?view=co&quot;&gt;modules/dblog/dblog.admin.inc&lt;/a&gt;:69&lt;br /&gt;
&lt;code&gt;t($dblog-&amp;amp;gt;type)&lt;/code&gt;&lt;/del&gt;&lt;br /&gt;
(watchdog type names are collected by potx)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;del&gt;Invalid marker content in &lt;a href=&quot;http://cvs.drupal.org/viewvc.py/drupal/drupal/modules/dblog/dblog.admin.inc?view=co&quot;&gt;modules/dblog/dblog.admin.inc&lt;/a&gt;:129&lt;br /&gt;
&lt;code&gt;t($dblog-&amp;amp;gt;type)&lt;/code&gt;&lt;/del&gt;&lt;br /&gt;
(watchdog type names are collected by potx)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;del&gt;Invalid marker content in &lt;a href=&quot;http://cvs.drupal.org/viewvc.py/drupal/drupal/modules/dblog/dblog.admin.inc?view=co&quot;&gt;modules/dblog/dblog.admin.inc&lt;/a&gt;:241&lt;br /&gt;
&lt;code&gt;t($dblog-&amp;amp;gt;message,unserialize($dblog-&amp;amp;gt;variables))&lt;/code&gt;&lt;/del&gt;&lt;br /&gt;
(watchdog type names are collected by potx)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;del&gt;Invalid marker content in &lt;a href=&quot;http://cvs.drupal.org/viewvc.py/drupal/drupal/modules/locale/locale.module?view=co&quot;&gt;modules/locale/locale.module&lt;/a&gt;:206&lt;br /&gt;
&lt;code&gt;t($language-&amp;amp;gt;name)&lt;/code&gt;&lt;/del&gt;&lt;br /&gt;
(most sites only use built-in language names, which are already translatable)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;del&gt;Invalid marker content in &lt;a href=&quot;http://cvs.drupal.org/viewvc.py/drupal/drupal/modules/locale/locale.module?view=co&quot;&gt;modules/locale/locale.module&lt;/a&gt;:450&lt;br /&gt;
&lt;code&gt;t($language-&amp;amp;gt;name)&lt;/code&gt;&lt;/del&gt;&lt;br /&gt;
(most sites only use built-in language names, which are already translatable)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;del&gt;Invalid marker content in &lt;a href=&quot;http://cvs.drupal.org/viewvc.py/drupal/drupal/modules/menu/menu.admin.inc?view=co&quot;&gt;modules/menu/menu.admin.inc&lt;/a&gt;:361&lt;br /&gt;
&lt;code&gt;t(&#039;Menu name can not be longer than &#039;.MENU_MAX_MENU_NAME_LENGTH_UI.&#039; characters.&#039;)&lt;/code&gt;&lt;/del&gt;&lt;br /&gt;
&lt;a href=&quot;http://drupal.org/node/174267&quot;&gt;&lt;strong&gt;(patch)&lt;/strong&gt;&lt;/a&gt; committed&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;del&gt;Invalid marker content in &lt;a href=&quot;http://cvs.drupal.org/viewvc.py/drupal/drupal/modules/system/system.admin.inc?view=co&quot;&gt;modules/system/system.admin.inc&lt;/a&gt;:569&lt;br /&gt;
&lt;code&gt;t($file-&amp;amp;gt;info[&#039;description&#039;])&lt;/code&gt;&lt;/del&gt;&lt;br /&gt;
(doesn&#039;t need fix: the module description is already folded into the template files)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;del&gt;Invalid marker content in &lt;a href=&quot;http://cvs.drupal.org/viewvc.py/drupal/drupal/modules/system/system.admin.inc?view=co&quot;&gt;modules/system/system.admin.inc&lt;/a&gt;:917&lt;br /&gt;
&lt;code&gt;t($info[&#039;description&#039;])&lt;/code&gt;&lt;/del&gt;&lt;br /&gt;
(doesn&#039;t need fix: the module description is already folded into the template files)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;del&gt;Invalid marker content in &lt;a href=&quot;http://cvs.drupal.org/viewvc.py/drupal/drupal/modules/system/system.admin.inc?view=co&quot;&gt;modules/system/system.admin.inc&lt;/a&gt;:1792&lt;br /&gt;
&lt;code&gt;t($description)&lt;/code&gt;&lt;/del&gt;&lt;br /&gt;
(doesn&#039;t need fix: the module description is already folded into the template files)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;del&gt;Invalid marker content in &lt;a href=&quot;http://cvs.drupal.org/viewvc.py/drupal/drupal/modules/system/system.admin.inc?view=co&quot;&gt;modules/system/system.admin.inc&lt;/a&gt;:1914&lt;br /&gt;
&lt;code&gt;t($package)&lt;/code&gt;&lt;/del&gt;&lt;br /&gt;
(doesn&#039;t need fix: the package name is already folded into the template files)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;del&gt;Invalid marker content in &lt;a href=&quot;http://cvs.drupal.org/viewvc.py/drupal/drupal/modules/user/user.admin.inc?view=co&quot;&gt;modules/user/user.admin.inc&lt;/a&gt;:525&lt;br /&gt;
&lt;code&gt;t($perm)&lt;/code&gt;&lt;/del&gt;&lt;br /&gt;
(doesn&#039;t need fix: variable contains permission  name which gets special handling)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;del&gt;Invalid marker content in &lt;a href=&quot;http://cvs.drupal.org/viewvc.py/drupal/drupal/modules/user/user.admin.inc?view=co&quot;&gt;modules/user/user.admin.inc&lt;/a&gt;:587&lt;br /&gt;
&lt;code&gt;t($key)&lt;/code&gt;&lt;/del&gt;&lt;br /&gt;
(doesn&#039;t need fix: variable contains permission  name which gets special handling)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;del&gt;Invalid marker content in &lt;a href=&quot;http://cvs.drupal.org/viewvc.py/drupal/drupal/modules/user/user.module?view=co&quot;&gt;modules/user/user.module&lt;/a&gt;:1758&lt;br /&gt;
&lt;code&gt;t($permission)&lt;/code&gt;&lt;/del&gt;&lt;br /&gt;
(doesn&#039;t need fix: variable contains permission  name which gets special handling, but the array index is wrong)&lt;br /&gt;
&lt;a href=&quot;http://drupal.org/node/174440&quot;&gt;&lt;strong&gt;(patch&lt;/strong&gt; for issue in the same line&lt;strong&gt;)&lt;/strong&gt;&lt;/a&gt; committed&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;del&gt;Invalid marker content in &lt;a href=&quot;http://cvs.drupal.org/viewvc.py/drupal/drupal/modules/user/user.module?view=co&quot;&gt;modules/user/user.module&lt;/a&gt;:3126&lt;br /&gt;
&lt;code&gt;t($string,array(&#039;%a&#039;=&amp;amp;gt;$filters[$type][&#039;title&#039;],&#039;%b&#039;=&amp;amp;gt;$options[$value]))&lt;/code&gt;&lt;/del&gt;&lt;br /&gt;
&lt;a href=&quot;http://drupal.org/node/174270&quot;&gt;&lt;strong&gt;(patch)&lt;/strong&gt;&lt;/a&gt; committed&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Update by Gábor Hojtsy: here is the actual list of errors. Most are harmless, but I did not yet have the time to look through them properly.&lt;/p&gt;
&lt;p&gt;Invalid marker content in includes/actions.inc:304&lt;br /&gt;
* watchdog(&#039;actions&#039;,format_plural($count,&#039;One orphaned action (%orphans) exists in the actions table. !link&#039;,&#039;@count orphaned actions (%orphans) exist in the actions table. !link&#039;,array(&#039;@count&#039;=&amp;gt;$count,&#039;%orphans&#039;=&amp;gt;$orphans,&#039;!link&#039;=&amp;gt;$link),&#039;warning&#039;))&lt;/p&gt;
&lt;p&gt;Invalid marker content in includes/bootstrap.inc:716&lt;br /&gt;
* watchdog($type,$message,$variables=array(),$severity=WATCHDOG_NOTICE,$link=NULL)&lt;/p&gt;
&lt;p&gt;Invalid marker content in includes/common.inc:732&lt;br /&gt;
* t($string,$args=array(),$langcode=NULL)&lt;/p&gt;
&lt;p&gt;Invalid marker content in includes/common.inc:1001&lt;br /&gt;
* t($singular,$args,$langcode)&lt;/p&gt;
&lt;p&gt;Invalid marker content in includes/common.inc:1008&lt;br /&gt;
* t($plural,$args,$langcode)&lt;/p&gt;
&lt;p&gt;Invalid marker content in includes/common.inc:1013&lt;br /&gt;
* t($singular,$args,$langcode)&lt;/p&gt;
&lt;p&gt;Invalid marker content in includes/common.inc:1015&lt;br /&gt;
* t($plural,$args,$langcode)&lt;/p&gt;
&lt;p&gt;Invalid marker content in includes/common.inc:1019&lt;br /&gt;
* t(strtr($plural,array(&#039;@count&#039;=&amp;gt;&#039;@count[&#039;.$index.&#039;]&#039;)),$args,$langcode)&lt;/p&gt;
&lt;p&gt;Invalid marker content in includes/common.inc:1159&lt;br /&gt;
* t(gmdate($c,$timestamp),array(),$langcode)&lt;/p&gt;
&lt;p&gt;Invalid marker content in includes/common.inc:1165&lt;br /&gt;
* t(&#039;!long-month-name &#039;.gmdate($c,$timestamp),array(&#039;!long-month-name&#039;=&amp;gt;&#039;&#039;),$langcode)&lt;/p&gt;
&lt;p&gt;Invalid marker content in includes/common.inc:340&lt;br /&gt;
* watchdog(&#039;page not found&#039;,check_plain($_GET[&#039;q&#039;]),NULL,WATCHDOG_WARNING)&lt;/p&gt;
&lt;p&gt;Invalid marker content in includes/common.inc:369&lt;br /&gt;
* watchdog(&#039;access denied&#039;,check_plain($_GET[&#039;q&#039;]),NULL,WATCHDOG_WARNING)&lt;/p&gt;
&lt;p&gt;Invalid marker content in includes/common.inc:998&lt;br /&gt;
* format_plural($count,$singular,$plural,$args=array(),$langcode=NULL)&lt;/p&gt;
&lt;p&gt;Invalid marker content in includes/common.inc:1090&lt;br /&gt;
* format_plural(floor($timestamp/$value),$key[0],$key[1],array(),$langcode)&lt;/p&gt;
&lt;p&gt;Invalid marker content in includes/install.inc:601&lt;br /&gt;
* st($string,$args=array())&lt;/p&gt;
&lt;p&gt;Invalid marker content in includes/locale.inc:313&lt;br /&gt;
* t($form_state[&#039;values&#039;][&#039;name&#039;])&lt;/p&gt;
&lt;p&gt;Invalid marker content in includes/locale.inc:319&lt;br /&gt;
* t($predefined[$langcode][0])&lt;/p&gt;
&lt;p&gt;Invalid marker content in includes/locale.inc:401&lt;br /&gt;
* t($languages[$langcode]-&amp;gt;name)&lt;/p&gt;
&lt;p&gt;Invalid marker content in includes/locale.inc:494&lt;br /&gt;
* t($language-&amp;gt;name)&lt;/p&gt;
&lt;p&gt;Invalid marker content in includes/locale.inc:642&lt;br /&gt;
* t($predefined[$langcode][0])&lt;/p&gt;
&lt;p&gt;Invalid marker content in includes/locale.inc:798&lt;br /&gt;
* t($language-&amp;gt;name)&lt;/p&gt;
&lt;p&gt;Invalid marker content in includes/locale.inc:2142&lt;br /&gt;
* t($language-&amp;gt;name)&lt;/p&gt;
&lt;p&gt;Invalid marker content in includes/locale.inc:2145&lt;br /&gt;
* t($language-&amp;gt;name)&lt;/p&gt;
&lt;p&gt;Invalid marker content in includes/locale.inc:2149&lt;br /&gt;
* t($language-&amp;gt;name)&lt;/p&gt;
&lt;p&gt;Invalid marker content in includes/locale.inc:2160&lt;br /&gt;
* t($language-&amp;gt;name)&lt;/p&gt;
&lt;p&gt;Invalid marker content in includes/locale.inc:2204&lt;br /&gt;
* t($value[0])&lt;/p&gt;
&lt;p&gt;Invalid marker content in includes/locale.inc:2208&lt;br /&gt;
* t($value[0])&lt;/p&gt;
&lt;p&gt;Invalid marker content in includes/locale.inc:1145&lt;br /&gt;
* _locale_import_message($message,$file,$lineno=NULL)&lt;/p&gt;
&lt;p&gt;Invalid marker content in includes/locale.inc:1151&lt;br /&gt;
* $t($message,$vars)&lt;/p&gt;
&lt;p&gt;Invalid marker content in includes/menu.inc:423&lt;br /&gt;
* t($item[&#039;title&#039;])&lt;/p&gt;
&lt;p&gt;Invalid marker content in includes/menu.inc:426&lt;br /&gt;
* t($item[&#039;title&#039;],menu_unserialize($item[&#039;title_arguments&#039;],$map))&lt;/p&gt;
&lt;p&gt;Invalid marker content in includes/menu.inc:440&lt;br /&gt;
* t($item[&#039;description&#039;])&lt;/p&gt;
&lt;p&gt;Invalid marker content in misc/drupal.js&lt;br /&gt;
*  Drupal.t(singular, args)&lt;/p&gt;
&lt;p&gt;Invalid marker content in misc/drupal.js&lt;br /&gt;
*  Drupal.t(plural, args)&lt;/p&gt;
&lt;p&gt;Invalid marker content in misc/drupal.js&lt;br /&gt;
*  Drupal.t(plural.replace(&#039;@count&#039;, &#039;@count[&#039;+ index +&#039;]&#039;)&lt;/p&gt;
&lt;p&gt;Invalid menu &#039;title&#039; definition found in block_menu() in modules/block/block.module on line 166&lt;/p&gt;
&lt;p&gt;Invalid marker content in modules/dblog/dblog.admin.inc:69&lt;br /&gt;
* t($dblog-&amp;gt;type)&lt;/p&gt;
&lt;p&gt;Invalid marker content in modules/dblog/dblog.admin.inc:129&lt;br /&gt;
* t($dblog-&amp;gt;type)&lt;/p&gt;
&lt;p&gt;Invalid marker content in modules/dblog/dblog.admin.inc:241&lt;br /&gt;
* t($dblog-&amp;gt;message,unserialize($dblog-&amp;gt;variables))&lt;/p&gt;
&lt;p&gt;Invalid menu &#039;title&#039; definition found in help_menu() in modules/help/help.module on line 23&lt;/p&gt;
&lt;p&gt;Invalid marker content in modules/locale/locale.module:206&lt;br /&gt;
* t($language-&amp;gt;name)&lt;/p&gt;
&lt;p&gt;Invalid marker content in modules/locale/locale.module:436&lt;br /&gt;
* t($language-&amp;gt;name)&lt;/p&gt;
&lt;p&gt;Invalid menu &#039;title&#039; definition found in node_menu() in modules/node/node.module on line 1323&lt;/p&gt;
&lt;p&gt;Invalid menu &#039;description&#039; definition found in node_menu() in modules/node/node.module on line 1328&lt;/p&gt;
&lt;p&gt;Invalid menu &#039;title&#039; definition found in node_menu() in modules/node/node.module on line 1332&lt;/p&gt;
&lt;p&gt;Invalid marker content in modules/system/system.admin.inc:598&lt;br /&gt;
* t($file-&amp;gt;info[&#039;description&#039;])&lt;/p&gt;
&lt;p&gt;Invalid marker content in modules/system/system.admin.inc:938&lt;br /&gt;
* t($info[&#039;description&#039;])&lt;/p&gt;
&lt;p&gt;Invalid marker content in modules/system/system.admin.inc:1813&lt;br /&gt;
* t($description)&lt;/p&gt;
&lt;p&gt;Invalid marker content in modules/system/system.admin.inc:1935&lt;br /&gt;
* t($package)&lt;/p&gt;
&lt;p&gt;Invalid marker content in modules/system/system.module:1103&lt;br /&gt;
* watchdog(&#039;file system&#039;,t(&#039;Could not delete temporary file &quot;%path&quot; during garbage collection&#039;,array(&#039;%path&#039;=&amp;gt;$file-&amp;gt;filepath)),&#039;error&#039;)&lt;/p&gt;
&lt;p&gt;Invalid menu &#039;title&#039; definition found in system_menu() in modules/system/system.module on line 261&lt;/p&gt;
&lt;p&gt;Invalid menu &#039;title&#039; definition found in system_menu() in modules/system/system.module on line 385&lt;/p&gt;
&lt;p&gt;Invalid marker content in modules/system/system.install:2435&lt;br /&gt;
* watchdog(&#039;php&#039;,$msg,array(),WATCHDOG_WARNING)&lt;/p&gt;
&lt;p&gt;Invalid marker content in modules/system/system.install:2651&lt;br /&gt;
* watchdog(&#039;legacy&#039;,$admin_setting)&lt;/p&gt;
&lt;p&gt;Invalid menu &#039;title&#039; definition found in trigger_menu() in modules/trigger/trigger.module on line 104&lt;/p&gt;
&lt;p&gt;Invalid marker content in modules/user/user.admin.inc:532&lt;br /&gt;
* t($perm)&lt;/p&gt;
&lt;p&gt;Invalid marker content in modules/user/user.admin.inc:594&lt;br /&gt;
* t($key)&lt;/p&gt;
&lt;p&gt;Invalid marker content in modules/user/user.module:1756&lt;br /&gt;
* t($permission)&lt;/p&gt;
&lt;div class=&quot;og_rss_groups&quot;&gt;&lt;a href=&quot;/translations&quot;&gt;Translations&lt;/a&gt;&lt;/div&gt;</description>
 <comments>http://groups.drupal.org/node/6077#comments</comments>
 <group domain="http://groups.drupal.org/drupal-dojo">Drupal Dojo</group>
 <group domain="http://groups.drupal.org/drupal-for-good">Drupal for Good</group>
 <group domain="http://groups.drupal.org/translations">Translations</group>
 <pubDate>Mon, 10 Sep 2007 14:32:13 +0000</pubDate>
 <dc:creator>kkaefer@drupal.org</dc:creator>
 <guid isPermaLink="false">6077 at http://groups.drupal.org</guid>
</item>
<item>
 <title>Manual da Tradução 6.x</title>
 <link>http://groups.drupal.org/node/6068</link>
 <description>&lt;h3&gt;O que é essa página&lt;/h3&gt;
&lt;p&gt;Para o pessoal que quer ajudar na tradução do Drupal 6 para o Brasil, esse é um esboço do manual para a tradução do Drupal 6. O objetivo final é ter uma espécie manual de estilo e um dicionário dos termos mais comuns. Isso tudo não é para complicar a vida de ninguém, é para que a gente possa ter uma tradução consistente com várias pessoas trabalhando nela. Não acho que valhe a pena incluir o workflow aqui, porque isso vai depender do tão esperado servidor de traduções que estão prometendo. Alguns dos comentários que eu fiz, se referem a coisas - dificuldades e alguns detalhes - que eu notei quando estava escrevendo a versão 2.0 da tradução do core do Drupal 5. Qualquer coisa, comentem aqui ou me mandem um email: &lt;a href=&quot;mailto:jz.sanmartin@gmail.com&quot;&gt;jz.sanmartin@gmail.com&lt;/a&gt;  (apresentação rápida: sou José San Martin. Conheço o Drupal faz um ano. Estou estudando lingüística na Unicamp. Fiz boa parte da versão 5.x-2.00 da tradução, a partir da versão anterior, de Bruno Massa).&lt;/p&gt;
&lt;h3&gt;Introdução: o estilo da tradução&lt;/h3&gt;
&lt;p&gt;É preciso manter um estilo consistente na tradução. É preciso, portanto, escolher um estilo para o texto da tradução. Não é, certamente, um problema muito grave. Não temos tanta liberdade como, por exemplo, teríamos em um texto literário. Além disso, a maioria dos textos (exceto os da ajuda) são muito curtos e não causam muito problema. Mesmo assim, definir, em linhas gerais, qual seria o estilo da tradução do Drupal ajuda na hora de escolher um termo ao invés de outro ou decidir que uma estrutura da frase seria mais apropriada que outra.&lt;/p&gt;
&lt;p&gt;Para cada site Drupal, há dois grupos de pessoas usando: os administradores e os visitantes. Certas frases, como por exemplo as de ajuda, só vão ser lidas pelos administradores. Outras, como os títulos de blocos ou as frases do formulário de comentário, vão ser lidos pelos visitantes também. Quando for traduzir alguma coisa, pense em quem vai ler. Os administradores têm mais conhecimento e paciência para aprender do que os visitantes. Com os visitantes, podemos assumir apenas que eles sabem o que é um post de um blog ou um email. Com os administradores, podemos introduzir os termos mais técnicos do Drupal, como bloco, cache e peso.&lt;/p&gt;
&lt;p&gt;Além disso, é bom lembrar que há dois tipos de administradores: aqueles que sabem bastante de informática e do Drupal (e portanto, o jargão de informática) e aqueles que não sabem. Com os usuários avançados, nem precisamos nos preocupar muito, pois - não é verdade? - eles nem vão ler a maioria dos textos, mesmo.&lt;/p&gt;
&lt;p&gt;São três tipos diferentes de usuários do site, cada qual com suas necessidades:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;os visitantes, que precisam de frases simples, com apenas as palavras comuns do português da Internet. As frases para esse público são aquelas que aparecem em lugares como os formulários de comentário, os blocos e na página de contato.&lt;/li&gt;
&lt;li&gt;os administradores não-avançados, que precisam de textos bem compreensíveis e termos fáceis. As frases para esses público são aquelas que aparecem nas páginas de administração mais simples e na maioria dos textos de ajuda.&lt;/li&gt;
&lt;li&gt;os administradores avançados, que precisam de textos muito precisos e rápidos de ler. Eles entendem bem o jargão da informática e do Drupal e mais do que isso: entendem melhor o jargão do que o não-jargão. As frases para esse público são as de algumas páginas de administração e alguns poucos textos de ajuda.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Por isso, pense em quem vai ler antes de traduzir. As palavras usadas, podem ser diferentes em cada contexto. &quot;Post&quot; ou mesmo &quot;página&quot; podem ser usados quando apresentadas para o público não-avançado, enquanto o público avançado vai preferir &quot;node&quot;. Ou então, &quot;categoria&quot; e &quot;taxonomia&quot;. Cada termo vai ser de acordo com quem o texto se dirige. (por sinal, é exatamente como fazem no original do Drupal em inglês)&lt;/p&gt;
&lt;p&gt;O texto final deve ser em português brasileiro, fluente e claro, com frases curtas e termos compreensíveis.&lt;/p&gt;
&lt;h4&gt;Manual de estilo&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Palavras inglesas no português:&lt;/strong&gt; não tem porque evitar palavras do inglês se elas foram bem compreendidas pelo público brasileiro. Por exemplo, melhor usar &quot;blog&quot;, &quot;email&quot;, &quot;site&quot; e &quot;post&quot; ao invés de qualquer outra coisa que a gente invente. Por outro lado, é bom tomar cuidado com o jargão. Quem trabalha informática tem uma tolerância muito maior à palavras inglesas do que o público em geral, pelo simples fato de que todos na informática lêem bem inglês (e praticamente, só lêem inglês no trabalho) e o resto do público, não. É sempre bom considerar se a palavra inglesa é realmente aceita pelo público em geral ou se é aceita somente no jargão de informática. Por exemplo, &quot;deletar&quot; ainda que bem compreendido, é um jargão de informática, e portanto um pouco menos compreendido do que &quot;apagar&quot;. &quot;Overview&quot; ou &quot;frontpage&quot; são outros exemplos: podem ser compreendidos por muitos, mas não por todos.
&lt;p&gt;Por sorte, essa questão não é tão crítica: o Drupal em inglês é bem escrito e evita palavras pouco compreensíveis. Não tem, portanto, muitas palavras na tradução que vão causar problemas na hora de criar o dicionário.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Expressões recorrentes:&lt;/strong&gt; o Drupal está repleto de frases repetidas, diferentes só por uma palavra ou outra. É importante manter a consistência. Se você perceber que uma frase parece se repetir por toda a tradução, procure todo o conjunto de frases semelhantes e traduza todas de uma vez só. Além, é claro, de incluir no dicionário. Uma frase que se repetia muito na tradução do Drupal 5, por exemplo, era:&lt;br /&gt;
&lt;blockquote&gt;&lt;p&gt;For more information please read the configuration and customization handbook &lt;a&gt;Comments page&lt;/a&gt;. -- Para maiores informações, por favor leia o &lt;a&gt;manual de configurações de comentários&lt;/a&gt;.&lt;/p&gt;&lt;/blockquote&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;aspas e apóstrofes:&lt;/strong&gt; use sempre as &quot;aspas&quot; e não siga o que está no original. Não use &#039;apóstrofes&#039; senão no caso uma citação dentro de outra, como em:&lt;br /&gt;
&lt;blockquote&gt;&lt;p&gt;Ele disse: &quot;clique no link &#039;novo menu&#039;&quot;.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Note que esse caso não apareceu no core do Drupal 5 e provavelmente não vai aparecer em momento nenhum do Drupal 6.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Futuro:&lt;/strong&gt; prefira sempre a forma &quot;vai ser&quot; ao invés de &quot;será&quot;. Isso dá para a tradução um tom menos formal e mais fluente.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ter no sentido de existir:&lt;/strong&gt; não tem problema nenhum, é perfeitamente aceitável. É o mais comum no português brasileiro. Também é perfeitamente aceitável transitar entre o uso de &quot;ter&quot; e de &quot;haver&quot;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;orações reduzidas em infinitivo:&lt;/strong&gt; o original em inglês nos faz tender a traduzir as frases usando a seguinte estrutura:&lt;br /&gt;
&lt;blockquote&gt;&lt;p&gt;...um menu para o visitante poder navegar&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Frases desse tipo (com subordinadas reduzidas de infinitivo), especialmente se forem muito longas, podem ser difíceis de ler. É melhor escrever na forma não reduzida, como em:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;... tem um menu para que o visitante possa navegar&lt;/p&gt;&lt;/blockquote&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ou então:&lt;/strong&gt; muitas vezes, em listas longas, onde no original se lê &quot;or&quot;, é bom traduzir por &quot;ou então&quot;, ao invés de simplesmente &quot;ou&quot;. Isso porque &quot;ou então&quot; é mais enfático e ajuda o leitor a separar as duas alternativas quando o texto é muito longo. Por exemplo:&lt;br /&gt;
&lt;blockquote&gt;&lt;p&gt;For more information see W3C&#039;s &lt;a&gt;HTML Specifications&lt;/a&gt; or use your favorite search engine to find other sites that explain HTML.&lt;/p&gt;
&lt;/p&gt;&lt;/blockquote&gt;
&lt;blockquote&gt;&lt;p&gt;Para maiores informações, consulte as &lt;a&gt;especificações do HTML&lt;/a&gt;, da W3C, ou então use algum mecanismo de busca para achar algum outro site que fale sobre HTML.&lt;/p&gt;
&lt;/p&gt;&lt;/blockquote&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;diferenças culturais:&lt;/strong&gt; aproveitando a frase acima, vale mencionar: não traduza tudo literalmente. Algumas vezes, o jeito com que um americano fala com o usuário é diferente do jeito com que um brasileiro fala. (por &quot;americano&quot;, entenda-se alguém, de qualquer nacionalidade, falando o dito &quot;inglês internacional&quot;) Ao traduzir alguma coisa, pense se você escreveria isso em português em alguma situação qualquer. No exemplo acima, temos a expressão &quot;favorite search engine&quot; pode parecer muito normal na boca de um americano, mas duvido que algum brasileiro diga com naturalidade &quot;seu mecanismo de busca favorito&quot;. Não, o que um brasileiro diria é &quot;o que você quiser, qualquer um, de sua escolha&quot;. Esse é só um caso e listar todos os casos não é possível aqui, mas basta ficar atento.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;plural:&lt;/strong&gt; em todo o original, se usa uma palavra no sentido genérico. Por exemplo, &quot;administrators can&quot; significando não &quot;mais de um administrador&quot;, mas sim &quot;um administrador qualquer&quot;. No português brasileiro, isso também é possível, mas resolvi dar a preferência por usar no singular com um, traduzindo &quot;administrators can&quot; por &quot;um administrador pode&quot;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ter de / ter que:&lt;/strong&gt;
&lt;li&gt;&lt;strong&gt;ênclises:&lt;/strong&gt; (pronome -lo, -la, -lhe, como em &quot;apagá-lo, ativá-lo&quot;) devem ser evitadas. Já caíram faz muito do português brasileiro culto falado e está em declínio até mesmo no português brasileiro culto escrito. Pronomes em ênclise dão um tom muito artificial ao texto. Alternativas (em ordem da melhor à pior): omitir o pronome oblíquo, usar uma passiva, repetir o substantivo, usar ênclise (o apagar, o ativar), usar &quot;isso&quot;. As formas, do tipo &quot;apagar ele&quot; e &quot;ativar ele&quot;, que são a norma no português brasileiro culto falado, ainda não são completamente aceitas no texto escrito. Até podemos usar &quot;apagar ela&quot; em alguns casos que &quot;soar bem&quot;, mas deve se ter cautela. A decisão é caso por caso e depende do bom senso do tradutor.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;falsos cognatos e outros problemas:&lt;/strong&gt; preste atenção se aquela palavra que parece com uma do português quer dizer aquilo mesmo. Alguns termos do inglês são traduzidas por mais de um termo em português. Outras só podem ser traduzidas por uma paráfrase (uma descrição). O caso mais radical, ao meu ver, é a palavra &quot;unique&quot;. Não quer dizer, de modo algum, &quot;único&quot; e traduzir assim só causa problemas. Por exemplo, um texto diz que você precisa digitar um &quot;unique name&quot;. Se traduzirmos por um &quot;único nome&quot;, vai parecer que o texto diz que você está digitando dois nomes, quando na verdade está digitando um nome repitido. Por exemplo:&lt;br /&gt;
&lt;blockquote&gt;&lt;p&gt;Filter format names need to be unique. A format named %name already exists.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;é traduzido por:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;Os nomes de formatos não podem ser repetidos. Um formato com o nome &quot;%name&quot; já existe.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt; As palavras, como &quot;unique&quot;, que causam problemas de tradução devem ser incluidas no dicionário.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Dicionário de termos técnicos&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;body&lt;/strong&gt; - corpo&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;cache&lt;/strong&gt; - cache&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;category&lt;/strong&gt; - categoria&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;checkbox&lt;/strong&gt; - &lt;del&gt;checkbox&lt;/del&gt; caixa de seleção&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;core&lt;/strong&gt; - núcleo &lt;del&gt;(ou core? - a discutir)&lt;/del&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;cron&lt;/strong&gt; - agendador de tarefas&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;directory&lt;/strong&gt; - pasta&lt;/li&gt;
&lt;li&gt;&lt;del&gt;&lt;strong&gt;engine&lt;/strong&gt; - engine&lt;/del&gt; - indefinido&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;frontpage&lt;/strong&gt; - página inicial / página principal&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;mail&lt;/strong&gt; - email (e não e-mail, nem mail, nem correio eletrônico)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;module&lt;/strong&gt; - módulo&lt;br /&gt;
comments module, forum module, xxxxx module - módulo Comentários, módulo Fórum, módulo Xxxxx
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;node&lt;/strong&gt; - node (para usuários avançados), post (para a maioria das situações) ou página (para quando não houver risco de confusão)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;outline&lt;/strong&gt; (book) - esboço (tradução confusa, passível de revisão)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;overview&lt;/strong&gt; - visão geral&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;post&lt;/strong&gt; - enviar, postar ou publicar&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;search&lt;/strong&gt; - buscar&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;taxonomy&lt;/strong&gt; - taxonomia / categoria&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;toolkit&lt;/strong&gt; - toolkit&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;throttle&lt;/strong&gt; - regulador/regular&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;update&lt;/strong&gt; - atualizar&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;upload&lt;/strong&gt; - na maioria dos casos, &quot;enviar&quot; (como em &quot;enviar arquivos&quot;). Quando precisar ser mais específico, use &quot;fazer upload&quot;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;weight&lt;/strong&gt; - peso&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;*traduções discutíveis. a decidir&lt;/p&gt;
&lt;h3&gt;Dicionário de termos técnicos de informática&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;add&lt;/strong&gt; - &lt;/li&gt;
&lt;li&gt;&lt;strong&gt;administer&lt;/strong&gt; - administrar&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;administration section/screen&lt;/strong&gt; - área de administração de ...&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;administrator&lt;/strong&gt; - administrador&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;box of content&lt;/strong&gt; - caixa de texto&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;custom&lt;/strong&gt; - palavra problemática. Embora em alguns casos pode ser traduzida como &quot;personalizado&quot; pode confundir o leitor. Um tema &quot;custom&quot; é um tema que o dono do site fez para o site dele. Um tema &quot;personalizado&quot;, por exemplo, parece querer dizer que cada usuário do site tem um modificou o tema de acordo com suas vontades... &quot;Customizado&quot; não é muito corrente no português brasileiro e não quer dizer muita coisa para boa parte do público. Talvez o preferível é traduzir &quot;custom&quot; ora por &quot;personalizado&quot;, ora por &quot;próprio&quot;, ora por &quot;adaptar&quot; e ora por uma paráfrase como &quot;que você mesmo criou&quot;, &quot;como você quiser&quot;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;delete&lt;/strong&gt; - apagar&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;enable&lt;/strong&gt; - ativar&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;enabled&lt;/strong&gt; - ativado ou ativo&lt;br /&gt;
use um ou outro, dependendo do contexto. Se importa apenas o fato de estar ativo, use &quot;ativo&quot;. Se é importante ressaltar a ação de ativar em um tempo passado recente, use &quot;ativado&quot;. Exemplos:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;Quando o bloco estiver ativo, ...&lt;br /&gt;
Depois que o bloco for ativado...&lt;br /&gt;
Apenas blocos que estão ativados são exibidos.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;É um pouco arbitrário. A escolha final é do tradutor.
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;enter&lt;/strong&gt; - digite/digitar&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;more informations&lt;/strong&gt; - maiores informações (e nunca, mais informações)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;named&lt;/strong&gt; - chamado/a&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;note that&lt;/strong&gt; - note que&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;overview&lt;/strong&gt; - visão geral&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;read&lt;/strong&gt; - no contexto de &quot;read&quot; o manual/a documentação, use &quot;consulte&quot;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;remove&lt;/strong&gt; - apagar / remover&lt;br /&gt;
use remover apenas se for remover de algum lugar específico, como &quot;remover do livro&quot;. Se o sentido for simplesmente o de &quot;apagar da existência&quot; (ou &quot;remover do site&quot;, o que dá no mesmo), é preferível usar &quot;apagar&quot;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;unique&lt;/strong&gt; - Não quer dizer, de modo algum, &quot;único&quot; e traduzir assim só causa problemas. Por exemplo, um texto diz que você precisa digitar um &quot;unique name&quot;. Se traduzirmos por um &quot;único nome&quot;, vai parecer que o texto diz que você está digitando dois nomes, quando na verdade está digitando um nome repitido. Por exemplo:&lt;br /&gt;
&lt;blockquote&gt;&lt;p&gt;Filter format names need to be unique. A format named %name already exists.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;é traduzido por:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;Os nomes de formatos não podem ser repetidos. Um formato com o nome &quot;%name&quot; já existe.&lt;/p&gt;&lt;/blockquote&gt;
&lt;/ul&gt;
&lt;h3&gt;Dicionário de expressões recorrentes&lt;/h3&gt;
&lt;p&gt;(a ser preenchido quando começarmos a trabalhar com a tradução do Drupal 6)&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;%username&#039;s blog&lt;/strong&gt; - blog de %username&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&quot;og_rss_groups&quot;&gt;&lt;a href=&quot;/translations&quot;&gt;Translations&lt;/a&gt;&lt;/div&gt;</description>
 <comments>http://groups.drupal.org/node/6068#comments</comments>
 <category domain="http://groups.drupal.org/taxonomy/term/2613">brazil</category>
 <category domain="http://groups.drupal.org/taxonomy/term/143">portuguese</category>
 <category domain="http://groups.drupal.org/taxonomy/term/656">translation</category>
 <group domain="http://groups.drupal.org/brazil">Brazil</group>
 <group domain="http://groups.drupal.org/translations">Translations</group>
 <pubDate>Sun, 09 Sep 2007 16:52:14 +0000</pubDate>
 <dc:creator>José San Martin@drupal.org</dc:creator>
 <guid isPermaLink="false">6068 at http://groups.drupal.org</guid>
</item>
<item>
 <title>Localization server wrap-up for SoC (with video demonstration)</title>
 <link>http://groups.drupal.org/node/5726</link>
 <description>&lt;p&gt;Well, I have not been able to implement every detail I planned for this project, but nonetheless, done lots of stuff in different projects this summer. The work continues for sure, so we can get the localization server online (possibly as part of groups.drupal.org) sometime soon. There is a quick and dirty video of the localization server interface as it stands now, after the jump.&lt;/p&gt;
&lt;p&gt;My work involved modifications in the following existing projects:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Drupal 6 core modifications&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;made it possible to import translations automatically (Jakub Suchy was great help in testing!)&lt;/li&gt;
&lt;li&gt;defined a new packaging format for translations&lt;/li&gt;
&lt;li&gt;refactored locale.inc to support a gettext export API&lt;/li&gt;
&lt;li&gt;made it possible to implement localization client with t() modifications&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Potx module modifications&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;API-ified the extractor, so it is possible to store strings directly into a Drupal database&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Project module modifications&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Made it possible to retrieve project releases for all core compatibility versions (dww helped a lot here)&lt;/li&gt;
&lt;li&gt;Making it possible to retrieve a list of projects on the server (again, dww is great, work is still underway)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Developed these new modules:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Localization server for Drupal 5.x (some parts inherited from Bruno Massa, completely rewritten from the group up)&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Automated project listing discovery from updates.drupal.org&lt;/li&gt;
&lt;li&gt;Automated string scanning of releases&lt;/li&gt;
&lt;li&gt;Organic groups based group translation interface to form translation groups&lt;/li&gt;
&lt;li&gt;Share translations between different projects and releases&lt;/li&gt;
&lt;li&gt;Various filtering options for translations&lt;/li&gt;
&lt;li&gt;Import already done translations (support desktop tools and onsite Drupal translations)&lt;/li&gt;
&lt;li&gt;Export translation templates (support desktop tools)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Localization client for Drupal 6.x&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Provides on-page traslation for Drupal sites (no need to use the cumbersome locale module interface)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Stuff that was not done yet, but is/was planned:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Localization client&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Improved UI: in-place translation instead of on-page, by identifying strings on the page; also better AJAX feedback&lt;/li&gt;
&lt;li&gt;Act as a real client to the server, make it possible to submit translations directly to the server&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Localization server&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Provide a simple XML interface for project module to get translation stats, and pull this data from project module&lt;/li&gt;
&lt;li&gt;Make the generated (exported) release packages available for download statically, not just generate them online&lt;/li&gt;
&lt;li&gt;Implement suggestions! (Although there is help text and UI in the module now which tells you it support suggestions, it actually does not support it yet)&lt;/li&gt;
&lt;li&gt;Improve UI: dim the toolbar buttons when they are not active (ie. extended information already provided, textarea already shown)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href=&quot;http://groups.drupal.org/node/5150&quot;&gt;Look back at the overview&lt;/a&gt; if you missed how all these are connected. Also &lt;a href=&quot;http://hojtsy.hu/drop/LocalizationServer.swf&quot;&gt;check out this quick and dirty demo of some of the features of the localization server.&lt;/a&gt; (This video was made with Jing, which does not make it possible to edit/refine it, and it also enforces a 5 minute limit, which can be quite good to distill the most important information into a demonstration, but can also be limiting if you have something to tell which would be slightly more. So you write a blog post too.).&lt;/p&gt;
&lt;p&gt;All-in-all although I am not entirely satisfied with the state of the projects right now (the client is unfortunately still kind of bare bones), I think I was able to deliver cool solutions this summer, and not planning on stopping development anytime soon. By this time, the drupal.org infrastructure related consequences of the modules show, so we will see how these fit into the infrastructure after some discussion with them. (Ie. when and where will you see a test site, where will the final version reside).&lt;/p&gt;
&lt;div class=&quot;og_rss_groups&quot;&gt;&lt;a href=&quot;/translations&quot;&gt;Translations&lt;/a&gt;&lt;/div&gt;</description>
 <comments>http://groups.drupal.org/node/5726#comments</comments>
 <group domain="http://groups.drupal.org/soc-2007">SoC 2007</group>
 <group domain="http://groups.drupal.org/translations">Translations</group>
 <pubDate>Mon, 20 Aug 2007 15:15:24 +0000</pubDate>
 <dc:creator>Gábor Hojtsy</dc:creator>
 <guid isPermaLink="false">5726 at http://groups.drupal.org</guid>
</item>
<item>
 <title>Freelance translator (Native english-speaking) | Translation of site (German to English)</title>
 <link>http://groups.drupal.org/node/5658</link>
 <description>&lt;p&gt;We are looking for a freelance translator for our sites:&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.egger-lerch.at&quot; title=&quot;www.egger-lerch.at&quot;&gt;www.egger-lerch.at&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.prinux.com&quot; title=&quot;www.prinux.com&quot;&gt;www.prinux.com&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Requirements:&lt;br /&gt;
- Native English-speaking&lt;br /&gt;
- Experience or affiliation to Media and Printing Industry&lt;br /&gt;
- Writing skills&lt;br /&gt;
- Basic html knowledge (will work online at copy of site)&lt;/p&gt;
&lt;p&gt;Scope:&lt;br /&gt;
- First step is the complete translation from German to English&lt;br /&gt;
- Next could be regular translation of new content on a monthly basis (approx. 10 pages)&lt;/p&gt;
&lt;p&gt;Application:&lt;br /&gt;
- Please send quote to &lt;strong&gt;jobs AT egger-lerch.at&lt;/strong&gt; by 8/22/2007&lt;/p&gt;
&lt;p&gt;Thank you&lt;/p&gt;
&lt;p&gt;Kurt J. Egger&lt;/p&gt;
&lt;div class=&quot;og_rss_groups&quot;&gt;&lt;a href=&quot;/translations&quot;&gt;Translations&lt;/a&gt;&lt;/div&gt;</description>
 <group domain="http://groups.drupal.org/translations">Translations</group>
 <pubDate>Thu, 16 Aug 2007 22:47:42 +0000</pubDate>
 <dc:creator>kje@drupal.org</dc:creator>
 <guid isPermaLink="false">5658 at http://groups.drupal.org</guid>
</item>
<item>
 <title>For Greek Drupal users: 2nd beta of Greek translation for Drupal 5.x</title>
 <link>http://groups.drupal.org/node/5472</link>
 <description>&lt;p&gt;As a co-maintainer of the Greek translation, I would like to inform the Greek users of Drupal that the &lt;strong&gt;second beta&lt;/strong&gt; of the Greek translation for &lt;strong&gt;5.x&lt;/strong&gt; is complete.&lt;/p&gt;
&lt;p&gt;The latest beta release is available through the &lt;a href=&quot;http://drupal.org/project/el/&quot;&gt;project&#039;s page&lt;/a&gt; or directly &lt;a href=&quot;http://ftp.drupal.org/files/projects/el-5.x-1.0-beta2.tar.gz&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;We urge you to download it and test it and report any comments or suggestions in the &lt;a href=&quot;http://drupal.org/node/add/project_issue/el/bug&quot;&gt;project&#039;s issues queue&lt;/a&gt;. Your feedback is valuable and we&#039;re looking forward for a stable release in the near future.&lt;/p&gt;
&lt;p&gt;Thank you.&lt;/p&gt;
&lt;div class=&quot;og_rss_groups&quot;&gt;&lt;a href=&quot;/translations&quot;&gt;Translations&lt;/a&gt;&lt;/div&gt;</description>
 <comments>http://groups.drupal.org/node/5472#comments</comments>
 <category domain="http://groups.drupal.org/taxonomy/term/1177">drupal 5</category>
 <category domain="http://groups.drupal.org/taxonomy/term/2594">greek</category>
 <category domain="http://groups.drupal.org/taxonomy/term/139">translations</category>
 <group domain="http://groups.drupal.org/translations">Translations</group>
 <pubDate>Mon, 06 Aug 2007 23:59:53 +0000</pubDate>
 <dc:creator>GoofyX@drupal.org</dc:creator>
 <guid isPermaLink="false">5472 at http://groups.drupal.org</guid>
</item>
<item>
 <title>Localization server: translation and plurals UI</title>
 <link>http://groups.drupal.org/node/5351</link>
 <description>&lt;p&gt;&lt;a href=&quot;http://flickr.com/photos/gaborhojtsy/927554163/&quot;&gt;&lt;img src=&quot;http://farm2.static.flickr.com/1060/927554163_a14c74d98d_m.jpg&quot; align=&quot;right&quot; alt=&quot;Plural translation UI&quot; hspace=&quot;10&quot; vspace=&quot;5&quot; /&gt;&lt;/a&gt;Now I am up to implementing the translation and plural forms user interface. I&#039;d welcome feedback on how would this work best. The idea is to provide a pager list with some number of strings on a page to translate. If the given string needs plural versions, then we display as many input fields as that language requires. Showing the plural formula for guidance in the localization server helper block. (It is advised to click through to the Flickr page, which shows notes on the image).&lt;/p&gt;
&lt;p&gt;Making the plural formula comprehensible seems to be a tricky question. I made it wrap nicely in case it gets too long (as in the case of quite a &lt;a href=&quot;http://groups.drupal.org/node/5216&quot;&gt;few of the languages we have&lt;/a&gt;), but the complex looking expressions do not make it easy to understand. Also, I am still in high need of feedback on my &lt;a href=&quot;http://groups.drupal.org/node/5216&quot;&gt;language listing / plural forms cleanup post&lt;/a&gt;, but with help from Gerhard, I&#039;ll be able to mail the language team maintainers too.&lt;/p&gt;
&lt;div class=&quot;og_rss_groups&quot;&gt;&lt;a href=&quot;/translations&quot;&gt;Translations&lt;/a&gt;&lt;/div&gt;</description>
 <comments>http://groups.drupal.org/node/5351#comments</comments>
 <group domain="http://groups.drupal.org/soc-2007">SoC 2007</group>
 <group domain="http://groups.drupal.org/translations">Translations</group>
 <pubDate>Sat, 28 Jul 2007 14:12:20 +0000</pubDate>
 <dc:creator>Gábor Hojtsy</dc:creator>
 <guid isPermaLink="false">5351 at http://groups.drupal.org</guid>
</item>
<item>
 <title>Localization server project in the works</title>
 <link>http://groups.drupal.org/node/5219</link>
 <description>&lt;p&gt;Dear Drupal interface translators!&lt;/p&gt;
&lt;p&gt;Your valuable work helps Drupal to actual world domination, so we try to support you all ways possible to be able to more efficiently organize your time to translate Drupal projects (the Drupal core system itself, as well as contributed modules, themes and install profiles). Currently your work involves lots of manual steps and several &quot;esoteric&quot; tools:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;You either find translation templates for the actual release of the project or not. Even where templates are available, they are not always updated to the actual software release you are working with. So most of the time you need to go and generate templates yourself (previously with extractor.php, these days with potx module).&lt;/li&gt;
&lt;li&gt;You need to use a Gettext Portable Object editor of your choice (could be a simple text editor or a specialized tool). If you work with a contributed project, you possibly need to use msgmerge, and other command line gettext tools to merge files, prefill previously done translations, etc.&lt;/li&gt;
&lt;li&gt;You need to translate text already translated in other modules, and/or in Drupal core itself, unless you also merge with core translations as part of your workflow.&lt;/li&gt;
&lt;li&gt;Once ready, you need to get your file committed to CVS, which requires a CVS account and a good amount of branch/tagging knowledge, so you put your file to the place it belongs.&lt;/li&gt;
&lt;li&gt;But for already released projects, you cannot push your updated translation which were not ready in time, the translations are not coordinated.&lt;/li&gt;
&lt;li&gt;And on top of all this, users of modules need to manually upload PO files even if they uploaded them with the module, and obviously expected them to be imported with the install process.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;So we, translators have quite a few problems. I know, I am a translator in the Hungarian team as well. But Drupal developers are working on ways to solve several issues for translators.&lt;/p&gt;
&lt;h3&gt;Drupal 6 improvements&lt;/h3&gt;
&lt;p&gt;There are improvements in Drupal 6 which make setting up localized sites a lot easier:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The installer informs users where to get translation packs, so they can install localized from the start.&lt;/li&gt;
&lt;li&gt;The installer imports translations for all enabled modules.&lt;/li&gt;
&lt;li&gt;When you install modules, translation files are imported for them in all enabled languages.&lt;/li&gt;
&lt;li&gt;When you add a language, translation files are imported for all enabled modules/themes.&lt;/li&gt;
&lt;li&gt;When you enable a theme, translation files are imported in all enabled languages.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;To make this all possible we came up with a convention: install profiles, modules and themes should have a &#039;translations&#039; folder, where these translations are searched for. Note that this is a renaming of the &#039;po&#039; folder convention used before, but is much less technical to be more intuitive for our users.&lt;/p&gt;
&lt;p&gt;Anyway, this only works nicely, if there are actually translations available. So here the job turns to you: &lt;em&gt;deliver even better and more translations&lt;/em&gt;. But we are not asking you to do this with the above toolset indefinitely. I am sponsored by Google Summer of Code to create better translation interfaces, which will automate most of the above tasks for you, and push CVS, gettext and project releases out of your way, if you are not interested in using them.&lt;/p&gt;
&lt;h3&gt;Localization server&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;http://flickr.com/photos/gaborhojtsy/852826647&quot;&gt;&lt;img src=&quot;http://farm2.static.flickr.com/1318/852826647_c966c13990_m.jpg&quot; align=&quot;right&quot; alt=&quot;Languages overview&quot; hspace=&quot;10&quot; vspace=&quot;5&quot; /&gt;&lt;/a&gt;The plan is to have a central server on drupal.org (somewhere like t.drupal.org, or translate.drupal.org or translations.drupal.org, you get the idea), where an organic group based interface will be set up with specific tools to support translation groups. Every language will have their own group. Participating in project translations will only require a simple account registration on this site. This site will serve as a one-stop-shop for all translations, so the CVS based storage will be discontinued. What the server will do for you?&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;It will have a group set up for your language with discussion space, possibility to post guidelines and dictionaries (with generic content posting tools).&lt;/li&gt;
&lt;li&gt;It will know about all projects hosted on drupal.org, and will regularly update its data about all releases available.&lt;/li&gt;
&lt;li&gt;All releases will be scanned for translatable strings, and a big &lt;em&gt;shared&lt;/em&gt; database will be used to relate these strings to projects and releases. This means that you don&#039;t need to translate &#039;Home&#039; or &#039;Operations&#039; more then once anymore. Because Drupal enforces translation sharing for the same strings, this site will do it too.&lt;/li&gt;
&lt;li&gt;You will be able to export translation templates and work offline with your well known tools if you wish, and finally import translations to the database all on a web interface.&lt;/li&gt;
&lt;li&gt;But you will be able to translate online on the web interface, string by string. This way translation projects can attract micro-contributions, if someone only has the time to translate a few strings, the web interface will surely fit nicely.&lt;/li&gt;
&lt;li&gt;Translation packages will be generated for all releases of all projects, without your intervention. You don&#039;t need to think about branching or other CVS wizardry. (In fact there is no branching support planned for the initial version, so you won&#039;t be able to translate &#039;Home&#039; differently for Drupal 5 and Drupal 6).&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href=&quot;http://flickr.com/photos/gaborhojtsy/852826637&quot;&gt;&lt;img src=&quot;http://farm2.static.flickr.com/1438/852826637_b186be9839_m.jpg&quot; align=&quot;right&quot; alt=&quot;Server home&quot; hspace=&quot;10&quot; vspace=&quot;5&quot; /&gt;&lt;/a&gt;All-in-all this might sound a bit like the Launchpad Rosetta interface run by Canonical, but is very much optimized to work with Drupal projects. I have seen some of the translation teams use project module and some use case tracker or some other home grown solution. At the Hungarian translation I work with, we developed the filebrowser module to provide an interface on top of our custom subversion repository a few years ago. The idea behind &lt;a href=&quot;http://drupal.org/project/l10n_server&quot;&gt;the localization server&lt;/a&gt; is to provide a better service for all translation teams without resorting to custom solutions to be set up by all teams themself. (There is nothing in this design which stops people to keep using external custom tools, but I hope we can work toward a better management tool, which would fit all groups).&lt;/p&gt;
&lt;p&gt;This project is in the works for a considerable amount of time now, in fact Bruno Massa started the initial work as part of his &quot;live translation&quot; movement, which I took over to actually get rid all of us from the above described hassles. The reason to announcing this now is that there was no &quot;meat&quot; to show to you before. Now there are at least some screenshots, which show you how this service might look like. I still heavily work on the translation interface, so I cannot show that to you yet (although I know you would be eager to see it) and I welcome any feedback anyway, so feel free to post your opinions in the comments.&lt;/p&gt;
&lt;h3&gt;Localization client&lt;/h3&gt;
&lt;p&gt;There is an old feature request: provide an on-page (in-place) translation editor for Drupal sites. So when you notice translation errors or untranslated strings, you can just click and translate the strings on the same page (AJAX to the rescue), without going to the locale module interface and searching there. &lt;a href=&quot;http://drupal.org/project/l10n_client&quot;&gt;The localization client project (for Drupal 6.x!)&lt;/a&gt; deals with just that. There are new features in Drupal 6.x which make this possible, so I started a proof of concept implementation. Several people suggested that this functionality could be connected with the server, so you can share your translations with the community. This is not yet implemented, so stay tuned. The user interface of this module is also quite bare-bones, needs a nicer solution definitely. I would very much welcome people to help here out, as I would like to concentrate on the server component as part of my SoC.&lt;/p&gt;
&lt;h3&gt;Cleaning up the language list and plural information&lt;/h3&gt;
&lt;p&gt;An easy and immediate way you can help me is to &lt;a href=&quot;http://groups.drupal.org/node/5216&quot;&gt;read my SoC group post&lt;/a&gt;, and if your language is questioned for whatever reason (bad looking plural formula, bogus language code, too much language variants and so on), then please comment on the issue there. Also, if your language is not in the list, but you have translations in the Drupal.org CVS repository (or hosted your Drupal translations elsewhere), please also comment.&lt;/p&gt;
&lt;div class=&quot;og_rss_groups&quot;&gt;&lt;a href=&quot;/translations&quot;&gt;Translations&lt;/a&gt;&lt;/div&gt;</description>
 <comments>http://groups.drupal.org/node/5219#comments</comments>
 <group domain="http://groups.drupal.org/translations">Translations</group>
 <pubDate>Thu, 19 Jul 2007 20:33:22 +0000</pubDate>
 <dc:creator>Gábor Hojtsy</dc:creator>
 <guid isPermaLink="false">5219 at http://groups.drupal.org</guid>
</item>
<item>
 <title>Translation tools project update</title>
 <link>http://groups.drupal.org/node/4971</link>
 <description>&lt;p&gt;As Drupal 6 feature freeze is in, and part of my SoC involvement was about making D6 better, now is a perfect time to look back on where I am. I was set out to provide solutions in the following three areas as part of my SoC project: NEW TOOLS FOR DRUPAL USERS, NEW TOOLS FOR TRANSLATION TEAMS and WEB BASED TRANSLATION TEAM SUPPORT. Let&#039;s look at the details for each:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;
NEW TOOLS FOR DRUPAL USERS&lt;br /&gt;
 - New packaging scripts for core translations to create a folder structure similar to Drupal core with translation files separated per functionality&lt;br /&gt;
 - Automatic translation import functionality for Drupal to import these files only when needed, without further user intervention&lt;br /&gt;
 - Batch processing of multiple translation imports
&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Apart from packaging scripts (which was imagined to be in project module), most of the desired core improvements are in Drupal 6. The important changes I implemented and got included in Drupal 6 as part of SoC:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;install profiles, modules and themes could have a &#039;translations&#039; subdirectory, where PO files are located&lt;/li&gt;
&lt;li&gt;install profiles use their PO files to display the installer interface in the available (selected) language&lt;/li&gt;
&lt;li&gt;the installer imports all PO files for all modules and themes enabled by the profile&lt;/li&gt;
&lt;li&gt;modules get their PO files imported for all the enabled languages, when a new module gets &lt;em&gt;installed&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;themes get their PO files imported for all the enabled languages, when a theme gets &lt;em&gt;enabled&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;when you add a new language, all enabled module and enabled theme PO files are imported for the new language&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;So much for automation :) Unfortunately we cannot remove translations when a module or theme is disabled, due to how the locale data is stored (we don&#039;t know whether a string is shared by multiple modules, or what module uses it at all). We remove all translations of course if you remove a language altogether. Yched implemented the batch processing with myself being in close cooperation, so now the update system also work with the batch API.&lt;/p&gt;
&lt;p&gt;There were some performance and code cleanup improvements in locale module too. One very important improvement I devised and got comitted is the ability to collect the exact list of interface strings used on a page. This (among other things) allows a contributed module to build a JSON array of strings and provide a simple in-place translation function to translate parts of the interface on the fly, while viewing the page. There is no such contributed module yet.&lt;/p&gt;
&lt;p&gt;(There were lots of other language improvements in Drupal 6 of which I was part of, but those are not strictly related to my SoC project).&lt;/p&gt;
&lt;p&gt;The other two big topics were:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;
NEW TOOLS FOR TRANSLATION TEAMS&lt;br /&gt;
 - Decouple translations from module and theme projects (implement CVS move scripts, automatically create new projects)&lt;br /&gt;
 - Relate translation projects to module and theme projects (as well as the Drupal core project itself)&lt;br /&gt;
 - Monitor and display translation status of the Gettext files used&lt;br /&gt;
 - Improve packaging scripts to allow compound downloads of projects and related translations&lt;br /&gt;
 - Provide a service to automatically generate translation templates, so development project owners would not need to even think about translation team support, it would be automatic&lt;/p&gt;
&lt;p&gt;POSSIBLY: WEB BASED TRANSLATION TEAM SUPPORT (if time permits)&lt;br /&gt;
 - Web based translation tool.&lt;br /&gt;
 - Import/export for familiar tools for experts.
&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;After lengthy discussions with my mentors (see my earlier big post for a sample of that), checking with reality and also with Dries, it turned out that we are better off with forgetting CVS as a backend for translation teams. Decoupling the PO files from contributed modules and themes is important, because otherwise the translations are always out of date, releases are not coordinated, templates are not generated properly, and so on. But solving that with putting the CVS &lt;em&gt;and&lt;/em&gt; drupal.org project management burden on translators would skyrocket the complexity and barrier-to-entry for translators.&lt;/p&gt;
&lt;p&gt;Luckily the web base translation team tool points to another direction, so we looked into possibly providing a web  based editor on top of CVS branches, tags, releases and drupal.org projects. That theorized possibility turned out to be a possibly huge mess, so my SoC project was repurposed to the following points:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;
IMPLEMENT WEB BASED TRANSLATION TEAM SUPPORT&lt;br /&gt;
 - Web based translation tool with organic groups&lt;br /&gt;
 - Automatically parse core and contrib projects for translatable strings&lt;br /&gt;
 - Relate translations to projects, their releases, the releases files, and the files lines&lt;br /&gt;
 - Monitor and display translation progress status&lt;br /&gt;
 - Import/export possibility for translation files and templates&lt;br /&gt;
 - Packaging solutions for core and contrib project translations
&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;This new focus covers all the &quot;end goals&quot; set out earlier, but solves them with a web based tool, not a CVS and project+release based backend to reduce the barrier of entry and programatically support sharing between different project translations.&lt;/p&gt;
&lt;p&gt;Interestingly Bruno Massa started some preliminary work on a poof-of-concept tool, which solved a small set of these goals, way before my Summer of Code project even started. When I described the above grand plans to him, he handed over the existing modules to me, so the now l10n_server and l10n_community modules are aiming to solve the above problems (but more modules could possibly appear as part of the abstraction process).&lt;/p&gt;
&lt;p&gt;To make the above work well, reusing existing code, I needed a &quot;string extraction API&quot;. The potx project which grew out of the old extractor.php script was not up to the task, so I spent a great deal of time refactoring the code, which resulted in a reusable strings extraction API. To be able to import and export gettext data from non-locale module tables, the core locale API also needed to be modified. As the l10n_* modules are developed with Drupal 5, it was not an option on  that version, but looking further, I tried to implement a &quot;gettext API&quot; for Drupal 6 in core. Unfortunately feature freeze craze was close at that time, so only the export API was finished and comitted, the import code is not reusable still to be able to parse PO files independently of locale module processes. That said, a lightweight gettext API will be needed in the l10n_* projects.&lt;/p&gt;
&lt;p&gt;After building up the API groundwork, my focus shifted to drupal.org integration questions. I am in heavy talks with Derek Wright about how the l10n_* modules could get information about projects and releases from drupal.org. Unfortunately the current XML based interfaces are not immediate fits, so we are discussing alternate solution possibilities.&lt;/p&gt;
&lt;p&gt;I&#039;d be interested in how the project metrics SoC project is going, as our locale data will be a valuable metric to look at, so we can collaborate on integrating the two data sources somehow.&lt;/p&gt;
&lt;p&gt;The biggest challenge as it seems so far is packaging integration with drupal.org. &quot;Unfortunately&quot; (from this point of view) once a module/theme comes out with a release, it should have an untouched tarball with the code and associated files. Because projects modify their interfaces until the last commits, translations happen to be ready after the release. This makes it impossible to package translations right into the release tarball (this is one of the strong reasons to decouple translations in the first place). But packaging translations per project per language for download would be rather confusing and inconvenient to handle on the user (who downloads a project release, and needs translations for it). Technically, packaging will not be a problem. What seems to be tricky to figure out is &lt;em&gt;how to make it simple&lt;/em&gt; for people downloading translations.&lt;/p&gt;
&lt;p&gt;Currently I am working on &quot;input integration&quot; with the drupal.org project infrastructure, so we get the projects, releases, files and lines for strings. Then I plan to shift focus to making the collaborative translation interface much better (at that time with input from the translators), and finally, the packaging questions will need to be tackled.&lt;/p&gt;
&lt;p&gt;If everything goes well, the resulting modules will run somewhere on drupal.org (possibly a subsite), and translators will forget that they ever needed to deal with complicated CVS things...&lt;/p&gt;
&lt;div class=&quot;og_rss_groups&quot;&gt;&lt;a href=&quot;/translations&quot;&gt;Translations&lt;/a&gt;&lt;/div&gt;</description>
 <comments>http://groups.drupal.org/node/4971#comments</comments>
 <group domain="http://groups.drupal.org/soc-2007">SoC 2007</group>
 <group domain="http://groups.drupal.org/translations">Translations</group>
 <pubDate>Tue, 03 Jul 2007 23:04:47 +0000</pubDate>
 <dc:creator>Gábor Hojtsy</dc:creator>
 <guid isPermaLink="false">4971 at http://groups.drupal.org</guid>
</item>
<item>
 <title>Translations structure in Drupal.org CVS and/or a web interface</title>
 <link>http://groups.drupal.org/node/4531</link>
 <description>&lt;p&gt;So one part of my Google Summer of Code project is coming along nicely. Although I have posted a summary to my mentors recently, and we started to discuss some issues, they seem to be overwhelmed with work, so maybe opening up and widening the discussion is appropriate here. I had a hard time deciding whether post here or on the relevant issue (&lt;a href=&quot;http://drupal.org/node/105986&quot; title=&quot;http://drupal.org/node/105986&quot;&gt;http://drupal.org/node/105986&lt;/a&gt; is connected to the topic at hand), but I figured I will post a note there to this post, as this gets too long and looks into lots of directions to fit into that issue (not to make that issue a monster discussion).&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;What&#039;s in Drupal 6 already?&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;I worked a lot to get automatic interface translation imports into Drupal 6. Thankfully Yched contributed the batch API, which made it a lot easier to import multiple interface translations in successive HTTP requests. Then Jakub Suchy helped a lot with testing, so we have automatic interface translation import in Drupal core for modules, install profiles and themes. The development version searches for these in the &#039;po&#039; subdirectory of the module (or install profile or theme) at hand, but Konstantin Käfer suggested that we should call it &#039;translations&#039;, so that will be the final name.&lt;/p&gt;
&lt;p&gt;TODO:&lt;br /&gt;
 - implement an update path (I have good, yet untalked of ideas for this, but it would be offtopic here)&lt;br /&gt;
 - define a place to put a site specific PO file to, so we can import it when doing a cleanup&lt;br /&gt;
 - also working on in-place translation enabling Drupal! see: &lt;a href=&quot;http://drupal.hu/english/node/18&quot; title=&quot;http://drupal.hu/english/node/18&quot;&gt;http://drupal.hu/english/node/18&lt;/a&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;What needs to be changed with Drupal.org?&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;A lot. If you read up on the issue (&lt;a href=&quot;http://drupal.org/node/105986&quot; title=&quot;http://drupal.org/node/105986&quot;&gt;http://drupal.org/node/105986&lt;/a&gt;), you will see that having translations separated completely from projects (modules, themes, install profiles) is a good thing, as we can control permissions more granularly, maintain releases with more control, get instant updates on CVS commits, make it possible to file issues against individual translations and so on. As it stands now, we will keep the &quot;language rooted CVS tree&quot;, so that the language code will serve as a key for all the translations.&lt;/p&gt;
&lt;div class=&quot;codeblock&quot;&gt;&lt;code&gt;translations/&lt;br /&gt;..de/&lt;br /&gt;..hu/&lt;br /&gt;..it/&lt;br /&gt;..templates/&lt;br /&gt;..tr/&lt;/code&gt;&lt;/div&gt;
&lt;p&gt;&#039;drupal-pot&#039; should definitely be changed to &#039;templates&#039;, otherwise noone would understand it. So we have a root with templates and translations. Now what we have now there are a list of files for the Drupal core translation. Moving all project translations here, we would need a more granular structure:&lt;/p&gt;
&lt;div class=&quot;codeblock&quot;&gt;&lt;code&gt;translations/&lt;br /&gt;..hu/&lt;br /&gt;....drupal/&lt;br /&gt;....modules/&lt;br /&gt;....themes/&lt;br /&gt;....profiles/&lt;br /&gt;..templates/&lt;br /&gt;....drupal/&lt;br /&gt;....modules/&lt;br /&gt;....themes/&lt;br /&gt;....profiles/&lt;/code&gt;&lt;/div&gt;
&lt;p&gt;And then you think it is going to be easy, so we can just copy over the core templates to &#039;templates/drupal&#039; and copy over the core translations to &#039;hu/drupal&#039;. Well, I don&#039;t think so.&lt;/p&gt;
&lt;p&gt;&#039;Unfortunately&#039; Drupal 6 has this cool new feature, so it can import smaller files for only the modules you actually use. That is a cool performance improvement as well as a usability one. If you have untranslated strings, you know those are from the modules you use, not some unrelated stuff which was just imported because all the translations were merged together. We can try to flatten that structure, and it is even possible for core files to be sorted out into the complex folder structure of modules and themes with their individual translations, but we would not do that for contributed modules for sure. But those can also offer a module set with subfolders and a hierarchical structure within. So what we need:&lt;/p&gt;
&lt;div class=&quot;codeblock&quot;&gt;&lt;code&gt;translations/&lt;br /&gt;..hu/&lt;br /&gt;....drupal/&lt;br /&gt;......modules/&lt;br /&gt;........aggregator/&lt;br /&gt;..........aggregator-module.po&lt;br /&gt;........system/&lt;br /&gt;..........general.po&lt;br /&gt;....modules/&lt;br /&gt;......ecommerce/&lt;br /&gt;........address/&lt;br /&gt;..........address-module.po&lt;br /&gt;..templates/&lt;br /&gt;....drupal/&lt;br /&gt;......modules/&lt;br /&gt;........aggregator/&lt;br /&gt;..........aggregator-module.pot&lt;br /&gt;........system/&lt;br /&gt;..........general.pot&lt;br /&gt;....modules/&lt;br /&gt;......ecommerce/&lt;br /&gt;........address/&lt;br /&gt;..........address-module.pot&lt;/code&gt;&lt;/div&gt;
&lt;p&gt;You get the idea. This gets complex! We need to mirror the whole hierarchy of the projects we support translations for, so that we can effectively package the translations to the right places in the output (and also avoid clashing file names). Note that I did not have hu.po files in all the folders there. It would not make sense! I could have multiple files in the same directory, so I need to distinguish by the name of what is being translated not with the language code.&lt;/p&gt;
&lt;p&gt;This is all possible to joggle around in CVS, so we can move the existing files around and keep history for existing files still. The bigger questions are how to support the translation workflow later on. There are two fundamental problems: (a) creating translation templates in considered hard, project developers don&#039;t do it (b) maintaining translations in CVS / with gettext is considered hard.&lt;/p&gt;
&lt;p&gt;A: automated translation template generation&lt;/p&gt;
&lt;p&gt;We really need to generate translation templates automatically. As far as I see, it could even be possible to do it in an oncommit hook, but if that is deemed too resource intensive, we can do it with cron &lt;em&gt;very often&lt;/em&gt;, maintaining a FIFO list to organize project branches/tags to generate new templates for. The tricky part here is that we would need to create branches and tags automatically as we discover the need for them, as well as the templates themselfs. So we would need a dedicated CVS user for this script, which is accepted to modify files and add/remove branches/tags on the repository. This does not sound easy. (The other alternative is to let the developers do all this themselfs, but you bet they would not, the translation files are very far away from their work in this setting).&lt;/p&gt;
&lt;p&gt;B: maintaining a translation is hard&lt;/p&gt;
&lt;p&gt;Such is life. It seems that Bruno Massa took the helm and started on what was part of my SoC project (the last point which said &#039;if time permits&#039;). Look: &lt;a href=&quot;http://drupal.org/project/lt_server&quot; title=&quot;http://drupal.org/project/lt_server&quot;&gt;http://drupal.org/project/lt_server&lt;/a&gt; and &lt;a href=&quot;http://drupal.org/project/live_translation&quot; title=&quot;http://drupal.org/project/live_translation&quot;&gt;http://drupal.org/project/live_translation&lt;/a&gt; He did not even consider supporting branches and tags yet! There is no support for those! He is also not trying to work with existing stuff, copied and modified the potx module for himself, admitted he has no idea how plural formulas work and so on.&lt;/p&gt;
&lt;p&gt;Anyway, if a completely web based approach could work, we would not need any of the above file based trickery, would still be able to generate files for distribution in the packages (rather then importing them live which is IMHO not suitable for any serious site, does not work when you are offline and so on). BUT! And there is of course a but! We would need to reimplement branching and tagging as well as permission controls for editing translations in Drupal itself. It would not be possible to check out a copy of the translations from CVS, but templates would still need to be generated, see point A.&lt;/p&gt;
&lt;p&gt;Why Bruno is going fast forward is because he copies existing code instead of playing nice with it and adapting to his needs, (he even came up with a custom XML distribution format for translations instead of reusing the existing PO parser code) AND he does not deal with template generation, branching, permissions and packaging.&lt;/p&gt;
&lt;p&gt;Which road to go?&lt;/p&gt;
&lt;p&gt;So where we are really? I had three main objectives for the summer: (a) make Drupal 6 handle translations better, which is nicely shaping, (b) reorganize the CVS repository and projects to support project management better, (c) look into building a web based translation editor if (a) and (b) is already done. Unfortunately (b) and (c) have conflicting requirements. Now translators don&#039;t deal with project nodes, release nodes and branching/tagging. Point (b) tosses that job on them in the hopes that it gives them more features and control. But it gives them a lot more project management overhead and even steeper learning curve, more tools to learn to master. Point (c) on the other hand requires rewriting most of the features we wish to get from CVS in Drupal. So two theoretical options:&lt;/p&gt;
&lt;p&gt;Option one: hide CVS tasks from translators&lt;/p&gt;
&lt;p&gt;We would need a trusted CVS user again, or need to be able to log in the translators from a web interface through to the CVS repository, so web based simple options can be provided to branch and tag stuff when needed. Branches and tags should be coordinated with the core or contributed project in question in the web app. We need to core around a lot of CVS options and commands here, so we can revert branches if need be and so on.&lt;/p&gt;
&lt;p&gt;Option two: go all web based&lt;/p&gt;
&lt;p&gt;Instead of matching CVS branches and tags, we have the project and release nodes to match translations to. If we don&#039;t have translations in CVS, we don&#039;t need the CVS mangling, but need to relate the actual translations to the nodes on drupal.org. We would throw out lots of CVS power on the window, but gain more translators.&lt;/p&gt;
&lt;p&gt;Tough questions! Help me by providing tips, ideas, criticism!&lt;/p&gt;
&lt;div class=&quot;og_rss_groups&quot;&gt;&lt;a href=&quot;/translations&quot;&gt;Translations&lt;/a&gt;&lt;/div&gt;</description>
 <comments>http://groups.drupal.org/node/4531#comments</comments>
 <group domain="http://groups.drupal.org/soc-2007">SoC 2007</group>
 <group domain="http://groups.drupal.org/translations">Translations</group>
 <pubDate>Tue, 12 Jun 2007 22:43:50 +0000</pubDate>
 <dc:creator>Gábor Hojtsy</dc:creator>
 <guid isPermaLink="false">4531 at http://groups.drupal.org</guid>
</item>
<item>
 <title>Simple Localization System</title>
 <link>http://groups.drupal.org/node/4494</link>
 <description>&lt;p&gt;See &lt;a href=&quot;http://blog.worldwidelexicon.org/2007/05/25/simple-localization-system-sls/&quot; title=&quot;http://blog.worldwidelexicon.org/2007/05/25/simple-localization-system-sls/&quot;&gt;http://blog.worldwidelexicon.org/2007/05/25/simple-localization-system-s...&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;
SLS is, as it suggests, a simple way to localize applications and websites. The system works as follows, and is easy to implement in a wide range of scenarios. Let’s imagine that you have a web user interface that you want to make available in many languages. With SLS, you simply do the following.
&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;This will be demo&#039;d at FooCamp (which Dries is also likely attending), and apparently there will be a Wordpress plugin soon. I have been thinking about a generalized translation hub, so this is of high interest to me. I&#039;d like to have folks here read through and see what this means to Drupal.&lt;/p&gt;
&lt;p&gt;Can Drupal act as an SLS server? (I think yes). Can it act as an SLS client? (yes!)&lt;/p&gt;
&lt;p&gt;This really is in line with my thoughts about running t.drupal.org to help in doing distributed translation of Drupal...&lt;/p&gt;
&lt;div class=&quot;og_rss_groups&quot;&gt;&lt;a href=&quot;/translations&quot;&gt;Translations&lt;/a&gt;&lt;/div&gt;</description>
 <comments>http://groups.drupal.org/node/4494#comments</comments>
 <category domain="http://groups.drupal.org/taxonomy/term/2324">Simple Localization System</category>
 <category domain="http://groups.drupal.org/taxonomy/term/2323">SLS</category>
 <group domain="http://groups.drupal.org/i18n">Internationalization</group>
 <group domain="http://groups.drupal.org/translations">Translations</group>
 <pubDate>Mon, 11 Jun 2007 05:44:32 +0000</pubDate>
 <dc:creator>Boris Mann</dc:creator>
 <guid isPermaLink="false">4494 at http://groups.drupal.org</guid>
</item>
<item>
 <title>Live Translation</title>
 <link>http://groups.drupal.org/node/4258</link>
 <description>&lt;p&gt;Guys,&lt;/p&gt;
&lt;p&gt;Im developing a module called &lt;a href=&quot;http://drupal.org/project/live_translation&quot;&gt;Live Translation&lt;/a&gt;. Its divided in three submodules:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Live Translation: all end users will update all strings automatically. no more po/pot files.&lt;/li&gt;
&lt;li&gt;LT Extractor: similar to POTX &amp;gt; extract all translatable strings from all projects that your site hosts. It also provides a dynamic XML with updates, so users can download it.&lt;/li&gt;
&lt;li&gt;LT WebTranslation: provides a online interface to all users translate all strings. It uses OG to manage who can translate, sho can create a suggestion and who cannot help.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I real