Hi folks, The unicode branch, [1], is now at a point where it is essentially feature-complete and could do with a bit of heavy testing from the wider community.
So if you have some applications that work against Django's current trunk and would like to try them out on the unicode branch, I'd appreciate your efforts. The porting effort should be very minimal (almost zero, in many cases). For code that is only meant to work with ASCII data, there are probably no changes required at all. For code that is meant to work with all kinds of input (essentially, arbitrary strings), there are a few quick porting steps required. See [2] for the short list (5 steps, maximum!) of changes you might need to make. For more detailed information, have a read through the unicode.txt document in the docs/ directory of the branch. Any bugs you find should be filed in Trac. Put "[unicode]" at the start of the summary title so that I can search for them later. No need to put any special keywords or anything like that in (the "version" field should be set to "other branch", if you remember). A couple of things to watch out for when you're testing: (A) Strings that seem to mysteriously disappear, but when you examine the source, you see something like "<django.utils.functional.__proxy__ object at 0x2aaaaf87a750>". These shouldn't be too common and will mostly be restricted to places like the admin interface that do introspection. (B) Translations that happen too early. If you have translations available and use your app in a language that is different from the LANGUAGE_CODE setting, watch out for any strings that are translated into LANGUAGE_CODE, instead of your current locale. This is a sign that ugettext() is being used somewhere that ugettext_lazy() should be used. (C) If you're using Python 2.3, look for strings that don't make much sense when printed. That is a sign that a bytestring is being used where a unicode string was needed (not your fault; it's an oversight in Django). Python 2.3 has some "interesting" (I could use nastier words) behaviour when it tries to interpolate non-string objects into unicode strings (it doesn't call the __unicode__ method!!) and we have to work around them explicitly. I think I've got most of them, but I'll bet I have overlooked some. Most bugs that people are finding at the moment fit into one of these categories and they are very easy to fix once we find them. I've tried to nail most of them in advance, but you can probably imagine how exciting it is to read every line of source code and try to find all the strings that are in a precise form that need changing. My attention may have drifted from time to time. Have realistic expectations about this branch, too. It is meant to be as close to 100% backwards-compatible as we can make it. So, for example, usernames still have to use normal ASCII alphabetic characters, etc. Similarly, the slugify filter still behaves as it did before. At some point it will be extended to handle a _few_ more non-ASCII characters, but it's never going to be a full transliteration function. They are the two big items I expect people would otherwise try to extend beyond what is intended. There may be others and I'm sure we'll discover what they are as the questions pop up. [1] http://code.djangoproject.com/wiki/UnicodeBranch [2] http://code.djangoproject.com/wiki/UnicodeBranch#PortingApplicationsTheQuickChecklist Regards, Malcolm --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Django users" group. To post to this group, send email to django-users@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/django-users?hl=en -~----------~----~----~----~------~----~------~--~---