== Change log ==
* 2012-11-11
- Dynamic message groups are now shown in list=messagecollection WebAPI.
* 2012-11-10
- Add RecentAdditionsMessageGroup:
  Like RecentMessageGroup, but instead of proofreading
  you can translate new message as they come in. Make this
  view the home page of your browser, for example.
* 2012-11-09
- Unbalanced translate tags on translatable pages now fail gracefully again.
* 2012-11-08
- MediaWiki 1.19 or later is now required: support for 1.18 was dropped.
* 2012-11-06
- Add prop=revision to list=messagecollection WebAPI.
* 2012-11-05
- Avoid fatal errors with empty aggregate groups
* 2012-10-29
- Add support for Yandex machine translation service.
* 2012-10-29
- Sort order of the statistics tables is now included in the URL to make it linkable.
  Enhances both LanguageStats and MessageGroupStats.
* 2012-10-24
- The lists of messages are now rendered faster and with less memory.
  For a table of 5000 messages in Special:Translate, from 175M to 12M.
- Better performance also for proofreading and page moves.
* 2012-10-22
- Ignored messages are no longer exported.
  Except for source language or message documentation
* 2012-10-21
- Dropdown items on Special:AggregateGroups are now sorted alphabetically.
* 2012-10-21
- MediaWiki i18n now with modern support format: MediaWikiExtensionFFS.
- You should check your config so that the second parameter
  to the PremadeMediawikiExtensionsGroups constructor is correct.
- Label and desc of message groups now have $context parameter.
* 2012-10-18
- Fixed infinite loop in MediaWikiMessageChecker with unbalanced
  {{PLURAL}} in translations which gave fatal error on editing.
* 2012-10-18
- The page translation languages lists no longer overlaps other elements.
* 2012-10-18
- Added framework for key generation algorithms in GettextFFS.
  Can be invoked in YAML config; backwards compatibility preserved.
* 2012-10-16
- Narayam now works in translation editors.
* 2012-10-10
- Inline translation editor is now the default.
* 2012-10-08
- New JsonFFS and related changes. Useful for jquery.i18n.
* 2012-10-04
- Added the concept of events in several places.
  Useful for future CentralNotice integration.
* 2012-10-02
- Page translation is now enabled by default.
  Still restricted by user group rights, which are not set by default.
* 2012-09-22
- Framework for automatic group workflow state changes.
* 2012-09-21
- Added collection of stats of proofread messages.
* 2012-09-20
- Added checker for too many or redundant plural forms in MediaWiki translations.
* 2012-09-17
- New script to create pretty graphs of MediaWiki language fallbacks.
- Also rewritten plural-comparison.php.
- Performance fixes to reduce timeouts when translating.
* 2012-09-07
- Special:ManageMessageGroups now shows new messages
  conflicting with existing pages in the wiki as changes.
* 2012-09-05
- Completed integration with the new TranslateSvg extension.
* 2012-08-31
- Interface usability: for page translation, export tab now
  shows the wikitext source of the translatable page.
* 2012-08-19
- Added support for AndroidXml (Android apps' string.xml).
* 2012-08-19
- $wgTranslateRcFilterDefault can be used to show
  translation changes in the RecentChanges by default.
* 2012-08-17
- Fixes to avoid double counting of messages in statistics.
* 2012-08-07
- Deleting a translatable page no longer deletes
  translatable pages which are subpages of it.
* 2012-08-02
- Page translation no longer reuses deleted translation unit identifiers.
* 2012-08-02
- Special:ManageMessageGroups is now more efficient,
  able to manage groups with more than 10 000 messages.
* 2012-08-02
- GettextFFS now handles messages ending in \ better
* 2012-07-30
- Restored compatibility with MediaWiki 1.18.
* 2012-07-29
- Dollar signs ($) can now be used in translatable pages without problems.
* 2012-07-26
- Introduction of and many improvements to
  Solr TTMServer (translation memory).
* 2012-07-09
- Special:TranslationStats now has a date picker to easily fill
  starting date field; it replaces the manual input of all the zeros.
* 2012-07-02
- Special:MessageGroupStats now doesn't show
  languages under 2 % of translation by default.
* 2012-06-27
- Fixed fatal errors in Special:MessageGroupStats
* 2012-06-21
- Fixed recent incompatibility with MW 1.19.
- Improved hiding of blacklisted groups on Special:LanguageStats.
* 2012-06-11
- Allow setting message group state for a group only for specific user right.
  This redefines $wgTranslateWorkflowStates to hold the rights required for
  a state transition.
- Allow black listing and white listing of languages in YAML configuration. YAML
  files will have new top level section called LANGUAGES. LANGUAGES can have
  optional subsections whitelist and blacklist, which take an array of language
  codes. If a subsection is not specified, the white/blacklist value will
  default to *, meaning all known languages. Whitelist overrides blacklist.
* 2012-06-04
- Show the priority languages in Special:Translate.
* 2012-06-03
- Option skipgroup added to export.php to filter wildcard groups.
* 2012-06-02
- $wgTranslateDisablePreSaveTransform added to make the disabling of PST for
  message pages configurable, so that mediawiki.org etc. isn't broken.
* 2012-05-29
- Implemented and used convertWhiteSpaceToHTML in JavaScript.
- Dynamic groups are ignored in Special:MessageGroupStats.
* 2012-05-18
- Fatal error on Special:AggregateGroups fixed.
- Sort aggregates and their subgroups on Special:AggregateGroups.
- Outdated caches were not recreated when file and wiki state matched.
- Page translation icons are now 264dpi.
- Unnecessary token check removed from Special:AggregateGroups.
* 2012-05-14
- Made link appearance in <languages/> bar saner for edge cases. Links to
  existing, but untranslated pages are not shown as red anymore.
- Fixed bug where fields for new aggregate groups on Special:AggregateGroups
  were sometimes pre-filled.
- When translation editor is open, a warning is displayed when trying to leave
  the page.
- OpenLayersFFS was removed.
- Administrative pages are now links in tabs.
* 2012-05-10
- Fix to prevent page protection from confusing page translation feature.
* 2012-05-09
- Decimals on Special:LanguageStats and Special:MessageGroupStats were removed
  for improved readability.
* 2012-05-08
- processMessageChanges was updated to reduce the number of false positives of
  changed or deleted messages.
- Deprecated languages are no longer displayed in the language selector on
  Special:Translate.
* 2012-05-07
- FFS.php was split into several files.
* 2012-05-03
- $wgTranslateDelayedMessageIndexRebuild was added. If you have lots of message
  groups, especially file based ones, and the message index rebuilding gets
  slow, set this to true to delay the rebuilding via JobQueue. This only makes
  sense if you have configured jobs to be processed outside of requests via cron
  or similar.
- API tokens are provided in a saner way now.
- "ignore" option was added to Special:ManageMessageGroups (regression fixed).
* 2012-04-30
- Comparison of fuzzied translations was improved.
* 2012-04-25
- Special:ManageMessageGroups was improved so that the update process takes less
  time. scripts/processMessageChanges.php should be run from the command line.
  This stages all required changes. After that, the stated changes can be
  assessed on Special:ManageMessageGroups. Processing takes place using the
  job queue.
* 2012-04-16
- TMessage::setTag renamed to TMessage::addTag.
* 2012-04-11
- Option codemaponly added to export.php to so that only code mapped languages
  can be exported.
- Script autoexport.php was removed. Use export.php.
* 2012-04-10
- New MessageIndex backends: database and cdb.
- Fixed an out of memory issue with page translation feature on MW 1.18 and
  older.
* 2012-04-05
- JavaFFS was made more robust.
* 2012-04-03
- Profiling updates for message index related function calls.
- Exception on diff pages fixed.
* 2012-04-02
- Improved metadata handling when renaming and deleting translatable pages.
* 2012-03-27
- Switch "hours" added to export.php.
- Bug fix for inline editor to remove the "untranslated" class.
* 2012-03-26
- Deleting an aggregate group must be confirmed.
* 2012-03-24
- list-mwext-i18n-files.php was simplified.
* 2012-03-22
- $wgTranslateAddMWExtensionGroups was removed.
- Messages are loaded using parent::getDefinitions() to allow decoupling
  MediaWiki message groups from live wiki code.
* 2012-03-21
- ext.translate.special.languagestats.js no longer uses onclick.
- Some issues with overcounting because of aggregate groups were resolved.
* 2012-03-20
- ext.translate.special.pagetranslation.js made more reusable: The generic
  autocompletion funcionality is in ext.translate.multiselectautocomplete.js and
  ext.translate.special.pagetranslation.js only apply it to
  Special:PageTranslation.
* 2012-03-19
- Group ID prefix for aggregate groups through Special:AggregateGroup was
  updated from "ag-" to "agg-".
* 2012-03-16
- A bug was fixed when renaming a translatable page with priority languages.
- Plural rules were updates to CLDR 21.0.
- More validations added to Special:AggregateGroup input.
* 2012-03-14
- Adding and removing a group from an aggregate group is now logged.
* 2012-03-13
- Removed groupprefix option from export.php and sync-group.php. Use * wildcard
  with group option.
- Page translation widget was made more easily reusable.
- sync-group.php can now find the timestamp for git checkouts.
- export.php no longer requires definitionFile when using gettext post processing
  with ppgettext.
* 2012-03-12
- Special:LanguageStats group collapsing now supports nested subgroups.
* 2012-03-11
- Support for shared TTMServer databases was added.
- Suggestions from different TTMServers are now grouped.
- Output of TTMServer api module has changed.
- TTMServer configs can override the link symbol by adding value for symbol in
  the config.
* 2012-03-07
- $wgTranslateGroupStructure is no longer used. If you are using aggregate
  message groups, you can remove the old settings and everything still works as
  expected. If you are not yet using aggregate message groups, you should do
  that to not confuse users.
- Gettext file were not shown in translation editor when using recent
  translations task.
- New Special page AggregateGroups where translation administrator can group
  pages into subgroups.
* 2012-03-06
- Translation administrator can now suggest languages translatable page should
  be primarily translated into with a note or preventing other language
  translations.
* 2012-03-05
- Support for using remote TTMServers via API interface added.
- Support for tmserver was removed. Translate comes with TTMServer enabled by
  default. To bootstrap it with current translations, run php
  scripts/ttmserver-export.php.
- Message documentation was not shown when translating for subgroups nested more
  than one level deep.
- Special:TranslationStats can now graph review and reviewer activity.
* 2012-03-02
- Encourage/discourage changes of translatable pages are now logged.
* 2012-03-01
- Added upper length for translation memory suggestions because of performance
  concerns.
* 2012-02-29
- Configuring wgMainCache is no longer necessary. Translate extension will use
  any available caching mechanism automatically when needed.
- Support for Google Translate was removed, as the free service is no more.
- Special:LanguageStats' default value derived from current interface language
  now works also for anonymous users (only relevant when using
  LanguageSelector).
* 2012-02-24
- Help link is no longer added twice in Special:SupportedLanguages.
* 2012-02-21
- Gettext headers can now be customised with Translate:GettextFFS:headerFields
  hook. Less headers are modified by default.
- Message index no longer goes into recursive loop on some cases when creating
  the index the first time.
- Improved the position of help links in Monobook skin.
* 2012-02-19
- MediaWiki 1.18 or later is now required.
- Group description of translatable pages can be extended by adding content to
  [[MediaWiki:Tp-custom-<group id>]].
* 2012-02-13
- Updated some deprecated function calls
- New translation memory called TTMServer comes with the extension and is
  enabled by default.
* 2012-02-11
- Some missing action- messages added.
* 2012-02-10
- New tabbed task-based UI on Special:Translate.
* 2012-02-06
- API module for message group stats written by Tim Gerundt.
* 2012-02-01
- Missing JavaScript dependency added to messagetable.
- No more logging state changes where the state didn't actually change.
- Allow syntax like
  {{Special:MessageGroupStats|group=page-Main/sub|suppresscomplete=1}}.
* 2012-01-31
- export.php: switch "grouptrail" renamed to "groupprefix" and switch "groups".
  was dropped. "group" now takes a comma separated list of groups IDs, too.
- sync-group.php: switch "groupprefix" added.
- Double counting of messages when adding message groups and aggregate groups to
  another aggregate group was partially resolved.
- Messages for translatable pages for which translation is discouraged, are no
  longer added to aggregate message groups to avoid mismatches in statistics.
- Special:MessageGroupStats now works for group IDs with spaces.
- Updates were made for the translation memory service, to avoid serving
  incorrect or outdated suggestions.
* 2012-01-30
- Statictics issues introduced recently were resolved.
- "lang" attributes were added to Special:SupportedLanguages.
- [[Special:Translate/groupname]] links for translatable pages with spaces or
  colons in them are now possible. For page "Some page" it is:
  [[Special:Translate/page-Some_page]].
- The JavaScript translation editor now shows the code browser and gettext
  comments when translating aggregate message groups.
- Logging was added group statistics caching to determine if cache purges happen
  too often.
* 2012-01-29
- Update functionality for the translation memory was added.
* 2012-01-28
- Code readability improvements were made.
- A translation memory service was added, including a bootstrap script.
* 2012-01-22
- Message groups are no longer forced to implement getBools. getTags is the
  official way to do this.
- getDefinitions was added to the MessageGroupInterface.
- The public $namespaces variable in MessageGroup was removed.
* 2012-01-20
- Browser compatibility updates were made in CSS.
* 2012-01-19
- Deprecated hook LanguageGetMagic was removed.
* 2012-01-16
- Help icons linking to documentation at
  https://www.mediawiki.org/Help:Extension:Translate or sub pages were added to
  extension functionality.
- Backward compatibility with MediaWiki 1.18 was restored.
* 2012-01-13
- export.php has a switch "no-fuzzy" that will filter out fuzzy messages for
  file based message groups.
- Special:PageTranslation has now better error checking for invalid and
  duplicate translation unit names.
- Special pages have now help links.
- Images were moved to a resources sub folder.
* 2012-01-11
- Translate page group id prefix was changed from page| to page-. Some old
  links need to be updated, some still work.
* 2012-01-10
- Translate extension no longer unconditionally suppresses edit intros
- Fixed compatibility issue with logs on < MW 1.18
* 2012-01-06
- Fixes to the sizing of the translation editor dialog
* 2012-01-05
- Fixed a fatal error that sometimes occurred when translation page title used
  GRAMMAR and the page was viewed with English UI.
* 2012-01-04
- The summary row in Special:LanguageStats and Special:MessageGroupStats is no
  longer sorted with rest of the rows.
- There is now new message group for recent translations intented for reviewing
  new translations
- Fixed a bug that prevented changing workflow state of page translation
  message group
* 2012-01-02
- Special:MyLanguage can now be used with language subpage to use that as the
  default fallback instead of untranslated version
- The flash of unstylized content effect is reduced
- FuzzyBot user was not always created, leading to missing log entries
  for example
- export.php fixed after it was broken due to recent refactorings
* 2011-12-26
- Added {{#translationdialog:title}} for creating a link to the translation
  dialog
* 2011-12-25
- Made the extension work without legacy JavaScript globals
- PythonSingleFFS now respects codemap
* 2011-12-23
- Translatable pages can now be discouraged, meaning that they won't show up in
  the usually places so that translators don't translate them needlessy.
* 2011-11-06
- Rewrote Special:ImportTranslations JavaScript so that it actually works
- Fixed compatibility with MW 1.17 in JavaScript
* 2011-11-04
- The 'no translations' RC filter options was lost when navigating
- Made MessageCache more robust
- fuzzy.php can now take optional namespace prefix for each message
* 2011-10-30
- The script referenced at 2011-08-26 is now included in the source
- Fixed compatibility with MW 1.17
* 2011-10-28
- New configuration variable $wgTranslatePermissionUrl
- Message review feature, available to users in translate-proofr group
- Message collections can now have properties and allow filtering on them
  This is still work in progress and is likely to get improvements over time
* 2011-10-14
- New API module: messagetranslations
* 2011-10-12
- Multiple bug fixes and improvements to translatable page moving feature
* 2011-10-07
- $wgTranslateNewsletterPreference was introduced (default: false). Setting this
  to true, will once again add the "Do not send me e-mail newsletters"
  preference.
* 2011-10-03
- MessageIndex can now be stored in object cache (default) or in a file.
- Fixed an error that sometimes prevented translating messages that had
  been renamed
* 2011-10-01
- Changed index on translate_sections database table
- Fixed escaping in PythonSingleFFS parser
- Fixed a bug in getSourceLanguage for certain message group classes
* 2011-09-29
- Groups folder was cleaned. See groups/README for more information.
- Fixed PHP notice when marking page for Translation with MW 1.19
- Fixed a bug in RubyYamlFFS::unflattenPlural, added unit tests
* 2011-09-28
- Special:AdvancedTranslate is not enabled by default anymore
- Special:TranslationChanges was removed
- Started taking PHP code out of the groups/ folder anticipating Wikimedia
  review. Later we will move all content of the groups folder elsewhere to
  reduce the number of changes of changes to the Translate extension
  considerably.
* 2011-09-26
- Special:SupportedLanguages can now show site specific messages in
  supportedlanguages-localsummary message
* 2011-09-23
- Change log up to date
* 2011-09-21
- It is now possible to nest AggregateMessageGroups
* 2011-09-19
- New statistics backend considered stable
- Special:MessageGroupStatistics
- Translations that were recognized as redirect by MediaWiki no longer cause PHP notices
- Made groupStatistics.php script more efficient
* 2011-09-16
- Languages are now sorted correctly on Special:LanguageStats for groups > 10k messages
- It is now possible to specify starting point for graphs in Special:TranslationStats
* 2011-09-15
- All code is now using the MessageHandle class
- ArrayMemoryCache removed due to new Statistics backend
- New database table translate_groupstats
* 2011-09-14
- Sql files moved to a subfolder
* 2011-09-13
- Magic words exporter is no longer compatible with MediaWiki <=1.15
* 2011-09-11
- Log message for translatable page deletion was incorrect
- Made page translation log compatible with the new logging system
* 2011-09-06
- If magic-export.php does not find a header, output a basic header rather than exitting
* 2011-09-02
- Fixed table border display issue on chrome for rtl messages
- Everything converted to use ResoureLoader framework
- js directory renamed to resources
- Officially dropped support for MediaWiki 1.16
* 2011-09-01
- Message definition changes were not always displayed for fuzzy messages
- Dropped embedded jQuery ui
* 2011-08-31
- Fixed issues with protocol relative urls
* 2011-08-30
- Special page TranslationChanges disabled, pending for removal
- Got rid of MSG constants
- Introduces TranslateHooks class
- Removed efTranslateCheckPT() - please make sure you run update.php when needed
* 2011-08-29
- Message and rtl related fixes
* 2011-08-26
- revtag_type table is now obsolete - run scripts/migrate-schema2.php to update schema
  the wiki will continue working even if this script is not run immediately
* 2011-08-22
- Partial update to CLDR and Gettext plural forms
* 2011-08-18
- Made compatible with new fallback method in MW
* 2011-08-05
- Translate will use MW page content language feature is available
* 2011-08-02
- Do not export TRANSLATE_FUZZY in PythonSingleFFS class
* 2011-07-23
- Many rtl related fixes, some only used when MW supports them
* 2011-07-15
- Collapsible javascript caused errors with older MWs
* 2011-07-11
- Rtl and font related fixes
- Special:SupportLanguages is now listed on Special:SpecialPages
- Google suggestions should obey the group source language
- Update limit selector values. Either people want to show a little by default, or they want to see all of them.
* 2011-07-10
- Added some phpunit tests
* 2011-07-09
- Rtl fixes
- Groups can now have source language different from wiki content language
- action=purge on Special:LanguageStats clears cached stats
* 2011-07-01
- Fixed ResourceLoader issue with certain MW versions
* 2011-06-30
- Rtl and language tagging fixes
* 2011-06-26
- Marking pages for translation the first time works again
* 2011-06-24
- Updated bundled spyc library to the latest version
* 2011-06-22
- Fixed page translation marking related bug
* 2011-06-20
- Improved the UI of Special:ManageMessageGroups somewhat
* 2011-06-17
- Page translation now generates hidden markup-less source page versions
* 2011-06-09
- Added language cloud to Special:SupportedLanguages
* 2011-06-08
- Mark this page for translation link was not always shown
* 2011-06-07
- Restored compatibility with MW 1.16
* 2011-06-05
- Varios fixes to translatable/translation page deletion
- Gettext documentation counts against translated messages for message documentation language
* 2011-06-04
- Added a special page that allows deleting translatable pages or parts of them.
- Hack for making Special:MyLanguage links red if target doesn't exists
* 2011-06-03
- Handle Chihuahua skin
* 2011-06-02
- New hook which tries to do the right thing for subpagelist when viewing translatable pages
* 2011-04-25
- Javascript and rtl fixes
* 2011-04-22
- With recent MW, the extension now provides form for searching in translations only
  Can also limit to certain language only
* 2011-04-18
- Show the ajax editor also for users without rights, as it contains useful information
- Fixed compatibility issue with CologneBlue skin
* 2011-04-16
- Improve style loading to avoid page flash
* 2011-04-13
- Splitted Translate.css into smaller files
* 2011-04-04
- Updated gettext plural rule for cy
- Fixed usability issue with summary field
- Updated spyc from upstream repo
- Armenian (hy) needs plural in some cases. MediaWiki already has it, also add to gettext
- Don't use syck-pecl for dumping, the output is horrible
- In translation dialog, made input elements grow automatically.
* 2011-04-03
- Updated plural data for new CLDR
* 2011-03-16
- Added ask question button also in the basic editor (still needs javascript to work :(
* 2011-03-14
- Fixed message group caching for single file based message groups.
- Hooked diff pages to provide more information about the message.
  Useful for those who follow recent changes feeds in review purposes
- New class MessageHandle
* 2011-03-11
- In Special:ManageMessageGroups - don't expose actions to users who are not allowed to do them
- Encourage translators to ask for help with a button
* 2011-03-08
- Added support for pecl syck, which is magnitudes faster and uses less memory.
  Like all the other supported yaml implementations, this one has its own bugs that need to be worked around.
* 2011-03-06
- Speed and memory improvements to Special:LangugeStats
* 2011-02-28
- Special:LanguageStats: Fix IE-bug. Element creation must have valid syntax, does not accept shortcuts
* 2011-02-01
- Allow TRANSLATE_FUZZY to be redefined to a nonstandard value in LocalSettings.php
* 2011-01-24
- Moved all Special*.php files to specials/ folder. Update autoloader to match
* 2011-01-22
- Fixed character escpaing in Python FFS writer.
* 2011-01-19
- Improved suport for multi-line messages in OpenLayers FFS
* 2011-01-17
- Use the new ArticlePrepareTextForEdit hook to disable pre-save transformation on all message pages except for the message documentation language.
* 2011-01-15
- Read authors from python message files.
* 2011-01-05
- Use the new jquery.colorUtil to make the brightness 30% higher when cells are hovered on Special:LanguageStats

=== 2010 ===

* 2010-12-31
- Use new hook to translate message documentation language code
- Some improvements to Special:Translations: display language name, enable sorting, display count
* 2010-12-24
- Last bits of mw-js conventions
* 2010-12-10
- Transform translated page titles
* 2010-11-05
- Renamed TranslatePage to SpecialTranslate to follow the naming pattern
- ViewUntranslated task was showing wrong table header
* 2010-10-24
- Support for Microsoft Translator
* 2010-10-06
- Fixed two bugs in translatable pages parsing which caused non-translatable pages to be considered as tagged
- Performance improvements and bug fixes to message group cache
* 2010-10-02
- Fixed huge text in translation dialog
* 2010-09-30
- Fix X-POT-Import-date formatting
* 2010-09-29
- Lots of code cleanup related to message groups
* 2010-09-27
- Added parameter 'skip' to make it possible to export * but not 'en' and 'qqq' for example.
* 2010-09-26
- Allow translation of titles of translatable pages
- Avoid Fatal when someone tries to export AggregateMessageGroup
* 2010-09-25
- First Api Query Module messagecollection
* 2010-08-23
- Fixed multiple bugs in Special:TranslationStats
* 2010-08-20
- Documentation updated a lot, added doxygen spec file.
* 2010-06-12
- Removed $wgGoogleApiKey, $wgTranslateTM and $wgTranslateApertium
- You need to migrate to $wgTranslateTranslationServices
- Page translation has been improved a lot
- translation memory suggestions can now be loaded asynchronously
* 2010-03-27
- Improvements to js edit, like save and open next
* 2010-02-24
- Dropped $wgTranslateCssLocation. In MW 1.16 and later you can use $wgExtensionAssetsPath
* 2010-01-24
- Support for Apertium machine translation service
- Fixed issue with jQuery and Vector skin
* 2010-01-22
- Support for using Google's translation api as a source for tm suggestions
- Interface element for copying tm suggestion into text area
* 2010-01-16  Translation memory suggestions are aggregated intelligently to save space
              There is link back to the original message in tm suggestions
              tm-export superceded dump-tm

=== Changes in version 12 ===
- Page translation
- New fuzzy system, should be faster now
- Edit are consistently filled when starting translation

=== Changes in version 11 ===
* 2009-05-09
- Support added for OpenLayers
- Page translation feature updated. Not backwards compatible
* 2009-04-28   Tweaks for new preferences system
* 2009-04-27   Updated preferences handling; only show when relevant
* 2009-04-24   Updated preferences handling to work with MediaWiki 1.15a r49790 and up
* 2009-04-23   Link added to message group in the source message fieldset description
* 2009-04-15   Added class 'mw-sp-translate-[id]' to all message groups on Special:Translate
* 2009-04-04:2 Support added for NOCC
* 2009-04-04:1 PhpVariables Mantis header inconsistency fixed
* 2009-03-29   Table header on Special:LanguageStats suppressed when all translations are complete

=== Changes in version 10 ===
* 2009-03-24   Also 2 decimals for fuzzy in Special:LanguageStats
* 2009-03-23   Localised number formatting in Special:LanguageStats
* 2009-02-22
- Intro suppressed
- message documentation no longer show warnings
- improved keeping track of the language that is being translated in
* 2009-02-14   Export header for MantisBT updated
* 2009-01-18:1 Bug in autoexport fixed. Provides realiable output again
* 2009-01-17:2 Content translation was disabled
* 2009-01-17:1 Headers in gettext files no longer multiply
* 2009-01-15   Support structure for Commonist added
* 2009-01-11:4 Export time checks for special page aliases and updated FreeCol problematic checks
* 2009-01-11:3 Skip optionals and ignored messages in previous/next to avoid accidental translations
* 2009-01-11:2 wgMaxShellMemory increased for sync-group.php to avoid out of memory issues
* 2009-01-11:1 New options added to and performance improvements for autoexport.php
* 2008-12-31   XHTML fixes in Special:LanguageStats
* 2008-12-18   Special:TranslationStats allow passing a language parameter now and uses fontconfig if available
* 2008-12-16   Miscellaneous problematic checks updated
* 2008-12-15:2 Export headers for MantisBT updated
* 2008-12-15:1 task to display untranslation optional messages was added
* 2008-12-07   bug in export to file in web interface caused empty translations to be exported
* 2008-11-30:1 added Special:LanguageStats for real-time translation statistics
* 2008-11-24:2 fallback messages in the edit screen now have an edit link
* 2008-11-24:1 added Special:Translations to show all translations of a message
* 2008-09-09:1 add message checks for Mantis
* 2008-09-07   add support for Mantis
* 2008-09-05   add languageeditstats.php to provide a top list of edits per language
* 2008-09-05   add import for groups containing "." like core-1.13
* 2008-08-08:1 experimental sync-group to import external changes and keep them in sync
* 2008-08-04:1 add "Other translations" link to Special:Prefexindex in sidebar toolbox
* 2008-07-29:2 support for variables and purging and fallbacks in page translation
* 2008-07-29:1 bug fixes and enhanced magic word support for AdvancedTranslate
* 2008-07-26:2 proper parents for branched messages
* 2008-07-26:1
 - improved speed and memory usage
 - experimental <translate> tag for wikipage translation
* 2008-07-17:1
- simple form to generate graphs
- scale and count parameters for graphs
* 2008-07-15:2 new check for unaltered namespaces in pagename messages of MediaWiki
* 2008-07-15:1
 - improved message checks
 - can now work for meta groups too
 - fixed messages not shown in the list anymore, but script still needed to find
   the broken ones
* 2008-07-13:2 group filter for graphs
* 2008-07-13:1 experimental alias-export for extensions
* 2008-07-08:1 simple edit stats with phplot
* 2008-07-05:1 fuzzy.php was ignoring the namespace
* 2008-07-04:2
 - use a existing hook for quick links
 - possible fix for Windows
* 2008-07-04:1 poimport uses correct namespace
* 2008-07-01:1
 - Fix gettext message name snippets: filter / and trim after trailing
 - Load normal comments from gettext files
 - Quick links for viewing, using a private hook
* 2008-06-30:3 Check for unknown vars for mediawiki type
* 2008-06-30:2 Checks for missing and unknown variables for FreeCol
* 2008-06-30:1 More contrast in the new default page for Special translate
* 2008-06-29:2 Branched core messages now load translations from trunk files too

=== Changes in version 9 ===
* Released 2008-06-29
* (bug 12955) Numbers should be localized in Translate extension
* Support branches for core messages
* fuzzy.php got support for --comment and --skiplanguages
* untranslated is now the default task
* truncate very long message names in table view
* show definition closer to edit area
* show the group of message when editing
* branched core messages should now export properly
* $wgTranslateBlacklist added to prevent edits to certain language/group combinations
* new exporters
* changed the way of adding MediaWiki extensions
* support for having messages in namespaces other than NS_MEDIAWIKi
* try to load qqq from files if not found from the database
* added $wgTranslateAuthorBlacklist
* new options to groupStatistics.php: --fuzzy and --skipzero
* fuzzy respects now $wgTranslateMessageNamespaces
* freecol not added by default
* Messages keys can now start with capital letter, but have to be unique after normalising case and spaces
* poimport will no longer replace translation in database with empty string
* Support for exporting very basic Xliff files (no import yet)
* Task for listing problematic messages
* CreateCheckIndex.php maintenance script for creating a list of problematic messsages
* Aliases for special pages
* improvements to Special:Magic and support for translating special page aliases for extensions
* more generic check framework
* new front page for Special:Translate
* desc and descmsg support for mediawiki extension group definitions

=== Changes in version 8 ===
* Released 2008-02-06
* export.php for even faster exporting (only core messages supported currently)
* Message groups can now have description or notes for translations
* Enhanced edit view with fieldsets and message documentation
* New variable $wgTranslateDocumentationLanguageCode
* Fixed Special:Magic form submission and selector bug
* --skiplanguages option for groupStatistics.php
* Force keys to lower case in serialised index to avoid misses due to case
* Changed fuzzy.php to assume location of commandline.inc, so that it can be run from any location
* Preserve whitespace also in Special:Translate table
* Run checks on editing view (current translation or submitted translation in preview) and display them to user
* Fixed a bug where empty text area would be filled with current translation even after first page load
* Don't fuzzy Documentation language
* Export task was erronously outputting as plain
* New variable $wgTranslateCC for adding custom groups
* WikiMessageGroup class, which is easy to use class for defining a message group for wiki's custom user interface elements
* Array keys in $wgTranslateEC and $wgTranslateAC are not used for alphabetical sorting only. MessageGroup::$id and MessageGroup::getId() are used for everything else.
* Export documentation messages as "extracted comments" in po export
* Import fuzzy messages as fuzzy in po import
* Experimental support for some extensions in export.php
* export.php can now export most supported groups
* autoexport.php helper
* Content-Disposition header for po export
* Link to Special:Translate added in Special:Version
* Possibility to add comments when editing with Special:magic

=== Changes in version 7 ===
* Released 2007-12-29
* New HTMLSelector class
* Cleaned user interface of Special:Translate
* Special:TranslationChanges remembers hours option
* Removed for a while unused setting $wgTranslateTryLoad
* TranslateTasks::getTask returns null for invalid keys instead of throwing en error
* New member function TranslateTask::plainOutput - Tasks can use it to request plain text output
* Add css as a separate file instead of adding it to request output and new setting for it: $wgTranslateCssLocation
* Filled readme for old changes a bit
* Experimental po import
* groupStatistics.php for creating statistics for groups

=== Changes in version 6 ===
* Released 2007-12-21
* New classes MessageCollection and TMessage
* Experimental po export
* MessageGroup::fillBools has changed to getBools and usage changed a little
* New member function MessageGroup::isMeta
* Lots of new extensions supported

=== Changes in version 5 ===
* Released 2007-11-14
* CreateMessageIndex.php which creates serialised index of message key -> group

=== Changes in version 4 ===
* New "task-based" interface
* Paging of messages
* Separation of translation and interface language
* New mediawiki extensions available for translation
* Support for extensions which use splitted i18n files
