Remaining bugs
==============
(most important first)

- When new content is added, language isn't set. It should ideally be set to the
  current language you are in.
  
- There is no label on language-independent fields yet (look in translate_item
  for XXX marker)
  
- If people install PloneLanguageTool first, there have been reports that the
  wrong language selector is used. We have to make sure they are the same
  (ideally, LP shouldn't have its own).

- You have two documents - frontpage-en and frontpage-pt. If you have a direct
  link to frontpage-pt, but your language settings are English - you get the
  English page - which is really cool. However, the URL is still frontpage-pt
  even though you are viewing frontpage-en. Can we fix this with a redirect or
  something? Having the content in one language while the URL is for another
  language sounds like a recipe for search engine indexing disaster to me.

- "Edit" tab of a translation is not highlighted when you click it.

- No Cancel button on split screen translation form


To do before 1.0 release
========================

  LinguaPlone changes:

  - Pending translations managed using worklists, workflow script to mail
    maintainers with diff of changes in canonical version.

 - AUTO_NOTIFY_CANONICAL_UPDATE - it's accessible only in the config.py, a way
   to set the value through the web is better so we can manage the plone
   instance behavior.

 - When translating a folder and copying over already translated subobjects,
   chop off the -languagecode appendix of the id of the translated objects.


  Plone changes post-2.1:

  - Footer in Plone sites need to be a content item, so it can be translated.

  - File and image fields need special attention when language independent.
    If you create content, upload file, then create a translation the file
    is not copied over to the translation, and will not be copied over when
    saving, like other fields will. Can either sync on save or copy everything
    over when creating the translation. Accessor lookup should work as normal.

  - Members folder should really be a special content type, since it's not
    contentish. If you translate it at the moment, you get all sorts of strange
    side effects. :)

Documentation
=============

  - Write "Content Language Fallback Considered Harmful" document to avoid
    getting silly patches and add-on products that try to do things you
    shouldn't do. Also for consultants to give to their customers.


Archetypes changes
==================

  - Enable language aware references tool to enable linking to canonical and
    retrieval of correct translation (this has to be fixed in Archetypes).


Additional notes
================

  - Our approach so far has been that you delete all translations when you do a
  delete operation, and you can remove individual translations with the
  Manage Translations menu item on the objects themselves - I still think
  this is the most sane and usable approach.

  It's not implemented for copying and moving objects. We should
  probably consider implementing it, but it's not straight forward.

  Some cases:

  If you move content between folders, you'd expect that translations are
  moved between corresponding translated folders. What if you're moving to a
  folder that isn't translated yet. Everything could be moved into the
  untranslated folder, but then you'd need id resolution.

  Can you only move the original content (canonical translation), or can you
  move translations? Technically it's not a problem to have different
  hierarchies in the different languages as it's all done by references, but
  it might not desirable.

  When you paste, you might get id conflicts. These are typically resolved by
  'copy of id', but it's not obvious what happened to the ids of the copied
  translations until you check the screen later. And there is no easy way of
  easily changing all ids. Maybe we should change all translation ids that
  are the same as the id of the canonical translation when renaming the
  canonical translation.

  There are probably more gotchas that would have to be worked out.
