Version History =============== Version 0.10.1 (unreleased) --------------------------- * Remamed the zh_hans locale to zh_Hans (issue #282, thanks @sunfkny) 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: https://github.com/mbi/django-rosetta/pull/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 with ``django.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.