The only two options I see in this case is either to give them a status of "unknown" or to somehow query the user for the behavior he wants during the update (either to preserve them, modified bit set, or to make them overridable, modified bit unset). How we can query a user during an update is a mystery to me. 
<br><br>I would go for creating a third status of unknown as this will open up other possibilities later on since they will at least be distinguishable from normal strings. It will also by some time if the code freeze is &quot;frozen&quot;.
<br><br>What we could do with them after that is open to suggestions, but I can think of a scenario where importing future PO files could check for their presence and then setting their status to &quot;modified&quot;/&quot;not modified&quot; according to weather they match the PO file strings or not. There&#39;s really no totally clean way to solve this. Any assumptions on behalf of the user could bear real bad consequences.
<br><br><br><br><div><span class="gmail_quote">On 5/23/07, <b class="gmail_sendername">Gabor Hojtsy</b> &lt;<a href="mailto:gabor@hojtsy.hu">gabor@hojtsy.hu</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Ashraf Amayreh wrote:<br>&gt; As to replacing the files with the drupal 6 files. There&#39;s nothing<br>&gt; preventing us from creating a two step scenario here, one would alter<br>&gt; the table and set the flags on the initial drupal 5 installation, thus
<br>&gt; using the existing PO files (if any!). The other update would continue<br>&gt; the processing (if needed) when the new drupal 6 files are in place.<br><br>Well, how many of your Drupal 5 sites you have PO files handy? Even if
<br>you have, one of the reasons of introducing split (smaller) PO files in<br>Drupal 6 is that we cannot read and parse a big PO file all at once if<br>we are running under tight server resources (like a busy server with a
<br>default PHP time limit).<br><br>&gt; So then the process would go like this:<br>&gt;<br>&gt; 1. Every string MATCHING an existing string in a PO file would be set to<br>&gt; &quot;not modified&quot;<br>&gt; 2. Every string NOT MATCHING an existing string in a PO file would be
<br>&gt; set to &quot;modified&quot;<br>&gt; 3. Every string that doesn&#39;t exist in a PO file would be set to &quot;modified&quot;<br>&gt;<br>&gt; Actually, this really makes sense, the user who&#39;s upgrading will most
<br>&gt; likely be content with the translations as they appear on his drupal 5<br>&gt; site, so it would be most reasonable to set a non-matching/non-existant<br>&gt; string as modified to avoid overwriting it in future PO file dumps.
<br>&gt;<br>&gt; By the way, how does drupal currently distinguish PO imported strings<br>&gt; from web-modified strings? Or does it just overwrite everything on a PO<br>&gt; dump?<br><br>There is nothing to distinguish them, this is our upgrade problem, and
<br>will be our upgrade problem if we don&#39;t do something against it.<br><br>Gabor<br></blockquote></div><br>