Version History#
Version 0.10.1 (unreleased)#
Remamed the zh_hans locale to zh_Hans (issue #282, thanks @sunfkny)
Fixed the test configuration following #282
Version 0.10.0#
Fix link to polib. (#277, thanks @gamboz)
Deepl: use the PRO API endpoint when using a PRO API key. (#278, thanks @nullcode)
Limit supported versions to Django 4.2 and 5.0, using Python 3.9, 3.10, 3.11 and 3.12
Version 0.9.9#
Use packaged jQuery instead of the CDN version. (#274, thanks @stephanema1)
Test test_47_azure_ajax_translation: avoid DNS lookup for better isolation. Should fix #233
Adds Chinese (Simplified) translation. (#266 thanks @chenluyong)
Test against Django 4.1 and 4.2
Limit supported versions to Django 3.2 and later, using Python 3.8, 3.9 and 3.10
Proxy Deepl translations suggestions through the back-end to avoid CORS issues. (#271 thanks @rafaelromon, @biermeester and @matthiask)
Format code with pre-commit
Replace case sensitivity check with setting (#273 thanks @patroqueeet)
Version 0.9.8#
Test against Django 4.0
Version 0.9.7#
Arabic translation. (#257, thanks @Bashar)
Translations via the DeepL API (#258, thanks @halitcelik)
Fixed unicode handling in gettext headers (#259, thanks @NotSqrt)
Remove six as a dependency
Move context and comment hints into the right-most column (#260 thanks @jieter)
Add extra styles block to the base template (#261 thanks @Frohus and @adamjforster)
Version 0.9.6#
Remove ‘providing_args’ kwarg from signals instanciation (#250, thanks @mondeja)
Removed support and tests for Django <= 2.1
Test against Python 3.9 (#251, thanks @mondeja)
Upgraded Turkish translation (#253, thanks @realsuayip)
Added support for Google Translation API (#222, thanks @martinsvoboda)
Test against Django 3.2
Version 0.9.5#
Fixed DeprecationWarning: invalid escape sequence (#234, Thanks @jayvdb)
Fixed typo in documentation (#232, thanks @timgates42)
Added Kyrgyz translation (#239,thanks @Soyuzbek)
Ignore translator context hints checking unmatched variables (#238, #239, thanks @jeancochrane and @mondeja)
Uncheck fuzzy on translation keyup instead of change (#235 @mondeja)
Allow passing a function itself to the setting ROSETTA_ACCESS_CONTROL (#227, thanks @alvra)
Dropped support for Django 1.11 and Python 2
Test against Django 3.1a
Do not show Rosetta link in admin panel if user has no access to translations (#240, thanks @mondeja)
Django 3.1: force #changelist to display:block (#248 thanks @realsuayip and @mondeja)
Version 0.9.4#
Added ROSETTA_SHOW_OCCURRENCES: Option to hide file name & path (#77, PR #221, thanks @sarathak)
Unfuzzy fuzzy entries when the translation is changed (#16, PR #220, thanks @sarathak)
Updated spanish translation (#230, thank you @mondeja)
Test against Django 3.0 and Python 3.8
Version 0.9.3#
Added a tooltip to explain fuzzy entries (#206)
New ROSETTA_LANGUAGES setting allows for translating languages which are not yet in LANGUAGES (#219)
Fix for duplicate PO files listed on case insensitive filesystems (#47, #52, #218, thanks @malkstar)
Version 0.9.2#
Cleanup of imports, and use relative imports. Hopefully fixes #209.
Travis: cleanup and test with Python 3.7
Version 0.9.1#
Removed old compatibility code for Django < 1.11 (#205, thanks @claudep)
Allow overriding rosetta login url (#210, thanks @izimobil)
Test against Django 2.2
Optional line number in the occurrences column (#215, thanks @pauloxnet)
Add search in msgctxt (#213, thanks @yakky)
Strip code tag from Yandex response. (#212, thanks @izimobil)
Test friendly settings and better tests (#211, thanks @izimobil)
The reference language didn’t work in widows (#189, thanks @pedfercue)
Version 0.9.0#
Fix ROSETTA_REQUIRES_AUTH = False wasn’t respected (#203, @BarnabasSzabolcs)
Django-rosetta now requires Django 1.11 or newer. Rosetta 0.8.3 is the last version to support Django 1.8 through 1.10. (#204, thanks @claudep)
Version 0.8.3#
Replace the (no longer working) Microsoft translation API with the new Azure Translator API (Fixes #200 and #201, thank you @svdvonde)
Version 0.8.2#
Avoid UnicodeEncodeError when quering strings (#197, thanks @YAtOff)
Test against Django 2.1
Version 0.8.1#
PR #194, thanks again @jbaldivieso!
Allow searching for plural strings, both in the original and translation. (Fixes #186)
HTML-encoding ampersands in the template (minor regression introduced with 0.8.0)
Stop showing “None” in the search input if there was no search query submitted
Version 0.8.0#
PR #194, huge thanks to @jbaldivieso:
Better, cleaner RESTful URLs
Massive rewrite of Rosetta’s view functions as CBVs
Better management of cached content
Check for PEP8 validity during tests
Version 0.7.14#
Updated installation docs (PR #190, thanks @AuHau)
Test against Django 2.0
Version 0.7.13#
Search in comments, too (PR #174, thanks @torchingloom)
Added ROSETTA_SHOW_AT_ADMIN_PANEL setting to display add a link to Rosetta from the admin app index page. (PR #176, thanks @scream4ik)
Test against Django 1.11
Template cleanup (Issue #181, thanks @Ecno92)
Version 0.7.12#
Fix IndexError in fix_nls when translation is just a carriage return (PR #168, thanks @nealtodd)
Remove float formatting of integer percent translated (PR #171, thanks @nealtodd)
Fixed a comment (PR #170, thanks @dnaranjo89)
Test against Django 1.10
Dropped support for goslate and the Google translate API
Version 0.7.11#
Make MO file compilation optional (PR #166, Issue #155, thanks @nealtodd)
Fix an invalid page get parameter by falling back to page 1 (PR #165, thanks @nealtodd)
Adds reference language selector (PR #60, thanks @hsoft)
Version 0.7.10#
Re-released 0.7.9 to include a missing image (Issue #162, thanks @legios89)
Version 0.7.9#
Use language code without country specification for Yandex dest lang (PR #152, thanks @nealtodd)
Support discovering locale directories like zh_Hans(xx_Xxxx) (Fixes #133 via PR #153 and #133, thanks @glasslion and @dohsimpson)
Ship Django’s original search icon as a static asset (Fixes #157, thanks @facconi)
Added a warning about translation via the Google Translate service being deprecated in the next version
Version 0.7.8#
Adds missing includes in MANIFEST.in
Support for running tests via setuptools
Updated microsofttranslator dependency version
Version 0.7.7#
Supported Django versions are now 1.7, 1.8 and 1.9
Added proper documentation
Fixed typo in documentation (PR #130, thanks @dfrdmn)
Fixes the Fuzzy toggle link by adding an actual toggle checkbox (Issue #132, thanks @EmilStenstrom)
Better handling of Custom User Models while checking wether the current User is authorized to translate (Issue #131, thanks @EmilStenstrom)
Include the testproject in the sdist tarball to allow Debian to run tests during installation (Issue #137, thanks @fladi)
Display an explicit error message to the enduser when saving the POfile fails for some reason (Issue #135, thanks @pgcd)
Added support for PEP 3101 string formatting (PR #140, thanks @adamjforster)
Added support for composite locales, e.g. ‘bs-Cyrl-BA’ (Issue #142, thanks @felarov)
Fixed a misplaced CSRF token (PR #145, thanks @pajod)
Version 0.7.6#
Added support for the Free Google Translate API (PR #117, thanks @cuchac)
Probable fix for apps defined by their AppConfig causing havoc in Django 1.7 and later (Issues #113 and #125)
Test configuration improved to test against Django 1.8 beta 1 and Django 1.7.5
Require polib >= 1.0.6 (PR #127, thanks @NotSqrt)
Test against Django 1.8 final
Version 0.7.5#
Fixed external JavaScript import to be url scheme independent (PR #101, thanks @tsouvarev)
Fixed a test
Added support for excluding certain locale paths from the list of PO catalogs (PR #102, thanks @elpaso)
Added support for translator groups (PR #103, thanks @barklund)
Removed Microsoft Translator as a shipped lib, relying on an external version instead
Improved the app loading mechanism to cope with Django 1.7’s new AppConfig (thanks @artscoop)
Fixed a couple inconsistencies in the German translation. (thanks @benebun)
Use content_type instead of mimetype in HttpResponse. (Issue #115, thanks @vesteinn)
Don’t assume that request.user has settable properties, this was a silly idea anyway (Issue #114, thanks @stevejalim)
Preserve HTML code when receiving translations from the Yandex translation service (Issue #116, thanks @marcbelmont)
Use TOX for testing
Test against Django 1.8a
Version 0.7.4#
New ROSETTA_POFILENAMES setting. (PR #44, thanks @wrboyce)
Updated Czech translation (#97, #99 thanks @cuchac)
Fixed gettext standard compliance of all shipped translations
No longer ship polib, rely on the Cheeseshop instead
Version 0.7.3#
Fix for test settings leaking onto global settings: LANGUAGES was overridden and not set back (Issue #81 - Thanks @zsoldosp)
Test against Django 1.6.1
Missing context variable in catalog list (Issue #87 - Thanks @kunitoki)
Added support for Yandex translation API (Issue #89 - Thanks @BlackWizard) See supported languages and limitations here: mbi/django-rosetta#89
Added support for the Azure translation API, replacing the BING API. (Issue #86, thanks @davidkuchar and @maikelwever)
Removed support for the signed_cookies SESSION_ENGINE + SessionRosettaStorage in Django 1.6, because serialization of POFiles would fail
Simplified the group membership test (Issue #90 - Thanks @dotsbb)
Better serving of admin static files. (Issue #61, thanks @tback)
Dropped Django 1.3 support
Version 0.7.2#
Fix for when settings imports unicode_literals for some reason (Issue #67)
Fixed mess with app_id between pages (Issue #68, thanks @tsouvarev)
Added Farsi translation. Thanks, @amiraliakbari
Improved the permission system, allowing for more advanced permission mechanisms. Thanks, @codeinthehole and @tangentlabs
Fixed the ordering of apps in the language selection screen. (Issue #73, thanks @tsouvarev, @kanu and everyone else involved in tracking this one down)
Support for complex locale names. (Issue #71, Thanks @strycore)
Configurable cache name (Issue #75, Thanks @Karmak23)
Version 0.7.1#
Fix: value missing in context
Version 0.7.0#
Support for Django 1.5 and HEAD, support for Python 3.
Upgraded bundled polib to version 1.0.3 - http://pypi.python.org/pypi/polib/1.0.3
Support timezones on the last modified PO header. Thanks @jmoiron (Issue #43)
Actually move to the next block when submitting a lot of translations (Issue #13)
Add msgctxt to the entry hash to differentiate entries with context. Thanks @metalpriest (Issue #39)
Better discovery of locale files on Django 1.4+ Thanks @tijs (Issues #63, #64)
List apps in alphabetical order
Version 0.6.8#
Switched to a pluggable storage backend model to increase compatibility with Django 1.4. Cache and Session-based storages are provided.
Version 0.6.7#
Added a testproject to run tests
Updated french translation. Thanks, @BertrandBordage
Merged @sleepyjames’ PR that fixes an error when pofile save path contains ‘.po’ in the path
Merged @rory’s PR to correcty handle plural strings that have a leading/trailing newline (Issue #34)
Version 0.6.6#
Django 1.4 support (Issue #30, #33)
Better handling of translation callbacks on Bing’s translation API and support of composite locales (Issue #26)
Version 0.6.5#
Updated polib to 0.7.0
Added ROSETTA_POFILE_WRAP_WIDTH setting to track the line-length of the updated Po file. (Issue #24)
Renamed the
messages``context variable to ``rosetta_messages
prevent conflicts withdjango.contrib.messages
(Issue #23)
Version 0.6.4#
Added ROSETTA_REQUIRES_AUTH option to grant access to non authenticated users (False by default)
Version 0.6.3#
Support for the Bing transation API service to replace Google’s service which is no longer free.