2.18.2 (2020-01-04)
- build: fix build issue (a14918d)
- Allow line breaks in interpolated expressions. (70957a3), closes #1884 #1824
- throw TypeError for translationId (b363e3b)
2.18.1 (2018-05-19)
2.18.0 (2018-05-17)
- add test scope for AngularJS 1.7 (7a44ddf)
2.17.1 (2018-04-15)
- support google closure compiler (fe47ae7)
2.17.0 (2017-12-21)
- service: format bcp47 with script and language only correctly (6c3b63e)
2.16.0 (2017-11-01)
- Stop using Angular.js lowercase internal method (efc91c3), closes #1797
- service: fix invalid waiting for
forceLanguage
(0c1a266), closes #1770 - service: ignore case when matching wildcards in available languages map (7f25843)
- service: respect case in available languages (8fb6f5d)
- directive: introduce attr translate-sanitize-strategy (41c7e1f)
- loader-partial: addPart specific urlTemplate override (633fbc9)
- service: add sanitizeStrategy to $translate (4a2c3ab)
2.15.2 (2017-06-22)
- Timezone and DST agnostic Unit test (b3b04bd)
- $translateSanitizationProvider: fix sanitization of boolean values (70f4843), closes #1747
- service: fixed IE8 "Expected identifier" error (a30e37a)
2.15.1 (2017-03-04)
2.15.0 (2017-02-27)
- cookies: use $cookies (1.4+) or $cookieStore (<1.4) (51330f5)
- filter: ensure no this==undefined will be injected (5cb94cb)
2.14.0 (2017-02-11)
- $translate: reassign language promises in refresh, update translation tables at the appropriate time, and simplify the routine (351eb8f)
- $translatePartialLoader: prevent duplicate simultaneous HTTP requests (8b2cea8)
- service: add explicit promise rejection handler for $translate.use (f4dc14a)
- service: avoid sanitize/esape calls on null/undefined param values (331e0dd)
- service: fix missing promise rejection handlers (776993b)
- staticFilesLoader: do not use empty string as $http params (ac2a038), closes #1646
- tests: rewrite tests for AJS 1.6 compatibility (7c9d2c9)
- translate: handle null translation (1e57b4f), closes #665
- translateCloak: incorrect element reference, inappropriate decloak at onReady, inappropriate decloak at $translateChangeSuccess (a4d2795)
- dependencies: update to messageformat 1.0.2 (d4a0468)
- service: add translationId as param of custom interpolation service interface (5de40de)
- tests: add current AngularJS 1.6 in test scopes (d8abdc5)
2.13.1 (2016-12-06)
2.13.0 (2016-10-30)
- service: fix .instant() not handling TrustedValueHolderType correctly (1ede55e), closes #1618
- service: reject promise if handler returns undefined (8fe6f23), closes #1600
- service: return empty string when found in fallback (d76227e)
- sanitize: sanitize override on instant call (01fecd0)
- service: add $translate.getTranslationTable(langKey) (40f9e35)
- service: add file map lookup into static-files loader (132e49a)
- service: add mf configurer #1619 (676114b)
2.12.1 (2016-09-15)
- build: Add missing translate-attr directive to Gruntfile.js (e70e9ad), closes #1577
- style: fix code style issues in ~-attr directive (1848bc8)
2.12.0 (2016-09-05)
- service: fix infinite loop when fallback language async loading fails (233f30c)
- service: treat date param as-is (no sanitize/escape) (ab1ecce), closes #1560
- directive: introduce standalone translate-attr directive (bcb0f2c)
- partial loader: add error response to errorHandler (e3aba1c)
- service: introduce new sanitize strategies: sce/sceParameters (1624df5)
- service: provide for sanitize/escape strategy 3rd argument context (8504c60)
2.11.1 (2016-07-17)
- dependencies: Update messageformat to ~0.3.1 (04e11c9)
- grunt: add work-around for uglify preserveComments as expected (32cdedb), closes #1461
- service: allow instant function to also take care of post process configuration (b7d7907)
- service: avoid sanitizing of functions (492d8e5), closes #1529
- service: Correct descriptive ngdocs to match parameters on the service calls (91711f7)
- service: fix interpolation issue with non-string as input (fa4a80e), closes #1511
- service: fix lost of data in async loader / error in runtime (5ee0c3e)
- directive: introduce a global keepContent setting (2015f79)
2.11.0 (2016-03-20)
- directive: reduced number of watchers by applying translateLanguage watcher only when direc (961fc92)
- service: add missing hasOwnProperty check (823afc0)
- service: avoid try to load languages which are explicitly not wanted (bde935e), closes #1390
- service: fix edge-case with .use() and .preferredLanguage() (02688f2)
- service: translations for
forceLanguage
will be loaded on demand (14bc956), closes #1389
- depenceny: Update messageformat.js to current 0.3.0 release (fb48f78)
- directive: introduce attr translate-keep-content (b2cf8a3)
- service: add
$translate.resolveClientLocale()
(also at provider) (d0469ac) - service: add support for uniformLanguageTag('iso639-1') (1e037ec), closes #1181
- service: improve messageformat.js output caching (cb31608)
- service: introduce getter returning available languages (3988af0), closes #1304
- service: introduce post processing for translations (f0c4874)
- service: support for default translation in missingTranslationHandler (8c5044c)
2.10.0 (2016-02-28)
- service: make the fallback $uses / $translate.use work in a correct manner (7e71a5a)
2.9.2 (2016-02-21)
- package: redefine dependency version range (AJS 1.5) (94eb844), closes #1394 #1395 #1397
- package: redefine dependency version range (AJS 1.5) (fixup) (20da73d), closes #1394 #1395 #1397
- service: avoid call stack size error, print proper message (73ea6e3)
- service: ensure fallback language can be selected as
$uses
(40ad523) - service: remove invalid argument for promise.finally (2d72908)
2.9.1 (2016-02-13)
2.9.0 (2016-01-24)
- $translate: apply notFoundIndicators only when all configured language checked in $translate (25b13c4), closes #1314
- directive: add additional watcher validating cloak (e7536b5), closes #1287
- directive: enforce update on default text change only (ea94acd)
- docs: correct all occurrences of language names PR #1243 (5f89d55)
- docs: fix broken link (e641fe4)
- docs: Fix some typos in spanish (830a84b)
- docs: refresh outdated link (392cab0)
- package: add missing run-scriptlet "clean-test-scopes" (c22c727)
- service: partial loader service refetches list of parts (069eafd), closes #1326
- build: update test scope "AJS 1.5" using rc0 (26cdc05)
- dependencies: add
angular
as the required dependency (475a9b6) - service: expose
$translate.negotiateLocale
being public (9247000) - service: force language used for translating (e591462)
2.8.1 (2015-10-01)
- service: Fix
$translate.isReady()
won't return true if ready (b40a344), closes #1239 - service: should not abort fallback languages (feature #1070) (cc410b1), closes #1070
2.8.0 (2015-09-18)
- build: ensure MessageFormat will be added correctly when using UMD (f5e039c)
- directive: Fix behavior of translate-cloak timing (a6adf47), closes #929 #1175
- directive: Fix special IE11 issue #925 (c4b16d3), closes #925
- docs: avoid using absolute links in lang chooser #1136 (2cdc902)
- docs: Fix more typos in CONTRIBUTING.md, add some infos about tests (e88b990)
- docs: Fix typo in CONTRIBUTING.md (1c2ac47)
- docs: Fix typo in zh-cn docs (2a16eb6)
- service: abort the last loader if not finished #1070 (dd4a8b4)
- service: update storage before triggering $translateChangeSuccess (77dd5a2)
- service provider: change/fix return of preferredLanguage() (6014a81)
- directive: translate-namespace directive (45523bb)
- loaders: addition to e7516dc #1080 (disable legacy $http cbs) (233a012)
- loaders: remove use of legacy methods on $http promises #1080 (e7516dc)
- meta: enrich copyright header with a leagl person (21da61c)
- sanitize: Allow sanitize strategy defined as a service (8a6cc07)
- service: add option to customize the nested delimiter (78161f8)
- service: introduce
isReady()
andonReady()
with event (9a4bd0d)
2.7.2 (2015-06-01)
- directive: ensure value of
translate
will be translated always (454d702) - sanitization: fix/workaround issue when jQuery is not available (ef1b10a)
- service: fix silence on error, add missing catch on
refresh()
(f3ec956) - service: fix silence on error, add missing catch on
refresh()
(5a85a64) - service: make provider's storageKey chainable (de8c253)
2.7.1 (2015-06-01)
- docs: fix typo in $translateChangeSuccess (89e2569)
- service: handle error "this.replace is not a function" (8616dca)
- service: integrate translationCache into service distribution file (2fcbc60)
- $translateProvider: add a new option to force async reload (bdee77f)
2.7.0 (2015-05-02)
- directive: fix issue with
data-
prefixed attributes #954 (ee253bc), closes #954 - directive: fix translate-value-* weren't be available on init (98e8279)
- directive: fix wrong initial translation causing overloading (657ed8a)
- directive: handle interpolation of undefined keys correctly in updateTranslations, fixes is (3f7cf4c), closes #971
- directive: Make interpolate message format work smoothly also on message format > 0.1.7 - f (2533f2d), closes #789
- directive: make translate-values interpolate correctly with newer MessageFormat.js (887dc1b)
- docs: bug in "Flash of untranslated content" section (af5d746)
- docs: fix invalid link in directive (985cfd5)
- docs: typo in module type (f0527b1)
- feat: export module name improving usage module loaders #944 (cb33f63)
- messageformat: add duck type check for numbers #789 (bbc1cbe)
- refresh: it has to clear all tables if no language key is specified (3cce795)
- service: always remove stored ref for lang promises (dbd5be9), closes #824 #969
- service: do not try to load a predefined fallback language (3be14df)
- service: fix an issue resolving after missing translations (a13899f)
- service: fix possible npe (1aaab98)
- test/refresh: fix current table refreshing test (a298ed8)
- $translatePartialLoader: accept function in urlTemplate (401204a)
- build: introduce module definition (00b73ff)
- filter: add new option
$translate.statefulFilter()
(dec4bf3) - missingTranslationHandlerFactory: pass interpolationParams to missingTranslationHandlerFactory (a361fd0)
- sanitization: refactored, fixed and extended sanitization #993 (12dbc57), closes #993
- service: add uniformLanguageTagResolver (b534e1a)
- directive: watch parameters only if exist (f0e2585)
- You will get a warning message when using the default setting (not escaping the content).
You can fix (and remove) this warning by explicit set a sanitization strategy
within your config phase configuring $translateProvider. Even configuring the
null
mode will let the warning disapper. You are highly encouraged specifing any mode exceptnull
because of security concerns.
2.6.1 (2015-03-01)
- bower spec: fix bower main property #922 (3a1ad10), closes #922
- custom interpolator: improve handling of interpolator ids which don't exist (373b46f)
- static-files-loader: fix multiple files definition (docu update) #923, pr #936 (e637c01), closes #923 #936
- static-files-loader: fix multiple files definition #923 (1b6256a), closes #923
2.6.0 (2015-02-08)
- directive: ensure internal watcher will be removed (e69f4a1)
- directive: fix minor memory leak (5e4533a)
- directive: fix missing update using dynamic translationIds (faebe19), closes #854
- directive: newlines before/after translation ids should be ignored (8dcf3e2), closes #909
- directive, service: return value of translate-default also in case fallback languages are used - rel (fcd6b3e)
- filter: apply notFoundIndicators also for instant translations correctly (5a9f436), closes #866
- service: fallback languages follow shortcuts (fixes #758) (cce897a), closes #758
- service: fix an issue with default interpolator and expressions (75b7381)
- service: use $window/$windowProvider instead of window (bfa7b7b)
- $translatePartialLoader: adds optional priority param to the addPart function (570617c)
- directive: add $translateProvider.directityPriority (b0b7716)
- loader: support for multiple static translation files (c462ee6)
- service: extend loader api: add isPartLoaded and getRegisteredParts to $translatePartialL (54f8ab3)
2.5.2 (2014-12-10)
2.5.0 (2014-12-07)
- directive: ensure directive's text will be parsed at least once (49cfef0)
- loader: under circum understances translation table got lost (df37381)
- messageformat-interpolation: fix support for messageformat 0.2.* (ac8d5ed)
- service: apply fix for empty strings in
navigator.language
(5b4edd9) - service: fix npe when resolving fallback language for
instant
(7c09d89)
- $translateUrlLoader: allow to use custom query parameter name for url loader (e360bf8)
- module: use same fallback for module.run when no storage key is set (247253d), closes #739
- storage: rename set() into put() (ef6a613)
- This marks storage.set() as deprecated. In the
next major release v3, the old method
set()
will be dropped in favor ofput()
. Relates #772
2.4.2 (2014-10-21)
- directive: translate attributes (optimize process flow) (508fd32)
- directive: translate attributes using directive (1d06d2a), closes #568
- directive: translate-cloak supports optional value for cloaking (f7ccb7f)
2.4.1 (2014-10-03)
- service: add missing final event on new (async) translations (22cc8b4)
- service: constructor
useUrlLoader()
missed optional options (22f5c4b) - service, loaders: the loader options ($http) have been merged wrong (0c35a95), closes #754 #547
2.4.0 (2014-09-22)
- filter: interpolated params w/ scope aren't possible starting AJS1.3 (9465318)
- filter: mark filter being stateful required since Angular 1.3 rc2 (bffbf04)
- service:
$nextLang
should be not unset parallel loadings (d1745e4), closes #647 - service: avoid possible doubled requested on refresh() (98d429d)
- service: avoid possible npe in internal getTranslationTable() (9aaa9a0)
- service: correctly iterate in fallback languages (fixes #690) (ac2f35c), closes #690
- loader: apply support for loaderOptions.$http (8613bef)
- loaders: introduce loader cache (b685601), closes #529
- service: enrich events with the currently handled language key (73b289d)
- service: interpolate translationId in case of rejected translation (3efaac5), closes #730
- service: introduce
versionInfo
function (e37d89c) - service: prefer detecting language by
navigator.languages
#722 (2204f4f)
- Since filters are stateless and have no access to its scope anymore (see https://github.com/angular/angular.js/commit/8863b9d04c722b278fa93c5d66ad1e578ad6eb1f), a context must be given explicitly. This removes the feature of an interpolation based on the scope (context), even without the $rootScope. However, the feature will still work in AJS <=1.2, so we won't remove it completely yet. Handle the feature as slightly deprecated.
2.3.0 (2014-09-16)
- $translate: return $missingTranslationHandler result when no translation was found (7625951)
- bower.json: Avoid 'invalid-meta angular-bootstrap-affix is missing "ignore" entry in bower.j (595501a), closes bower/bower#1388
- demo: fixes wrong method call in demo (47fc943)
- directive: change event for listening to
$translateChangeEnd
(98fe649), closes #658 - directive: improve the cloak-directive's performance (acab18a)
- docs: fix example in directive ngdoc-documentation (fixes #678) (176b3e9), closes #678
- docs: Fix typo (6c2ab30)
- package.json: remove unnecessary relative paths from package.json (8e5b87e)
- service: add shim for indexOf and trim #638 (b951fd5)
- service: addition of preferred language to fallback language stack is now preventing dupl (b2bb166)
- service: load fallback languages also for instant and filter (ed6023a)
- service: use hasOwnProperty of prototype #638 (d8a5060)
- storage: fix 'DOM Exception 18' at feature detection (75504cb), closes #629
- storage: fixup 75504cbe (53a8bad)
- translateService: fixup/rewrite for b48f6bb (specs) (45ac14d)
- translateService: prevent multiple XHR calls (b48f6bb)
- directive: add possibility to mix translation interpolation with other text in element body (be62131), closes #461
2.2.0 (2014-06-03)
- $translate: checks modification (b91e4de)
- $translate: if translation exists, use the translated string even if it's empty (4ba736f)
- $translate: if translation exists, use the translated string even if it's empty (eeb8c2a)
- $translate: use case-insensitive check for language key aliases (09a8bf1), closes #431
- $translate: use case-insensitive check for language key aliases (26ec308), closes #431
- $translateProvider: determinePreferredLanguage was not chainable (7c29f2f), closes #487
- $translateProvider: fix comparison in one case of negotiateLocale() (c2b94ca)
- $translateProvider: fix comparison in one case of negotiateLocale() (fe04c72)
- demo: correct demo of
translate-values
(efa74fa) - demo: correct demo of
translate-values
(7de2ae2) - demo: use
.instant()
(6bea192) - directive: Make translate-value-* work inside ng-if and ng-repeat (e07eea7), closes #433
- directive: Make translate-value-* work inside ng-if and ng-repeat (f22624b), closes #433
- docs: removes explicit protocol declaration for assets (eaa9bf7), closes #513
- gruntfile: fix image link (65fc8be)
- package.json: fix repository url (40af7ce)
- package.json: fix repository url (a410c9a)
- partialLoader: fixes deprecated usage of arguments.callee (1ac3a0a)
- service: docs annotation (8ef0415)
- service: docs annotation (839c4e8)
- service: use the aliased language key if available (675e9a2), closes #530
- storageLocal: fixes QUOTAEXCEEDEDERROR (safari private browsing) (59aa2a0)
- fix npe on empty strings (trim()) (c69de7b)
- translateInterpolator: make it work with 1.3-beta (97e2241)
- directive: add option to define a default translation text (a802665)
- directive: add option to define a default translation text (fc57d26)
- directive: Support for camel casing interpolation variables. (b345041)
- directive: Support for camel casing interpolation variables. (4791e25)
- messageformat-support: enhancing for sanitization like default (ad01686)
- missingFallbackDefaultText: enables a feature to return a default text for displaying in case of missing tra (f24b15e)
- service: add possibility to translate a set of translation ids (612dc27)
- service: add possibility to translate a set of translation ids (57bd07c)
- service: allow using wildcards in language aliases (6f0ae3b), closes #426
2.0.1 (2014-02-25)
- $translate: Ensuring that languages will be set based on the order they are requested, not t (c909cd2)
- $translate: Ensuring that languages will be set based on the order they are requested, not t (ebd62af)
- $translate: Ensuring that languages will be set based on the order they are requested, not t (32e1851)
- instant: $translate.instant(id) does not return correct fallback (eec1d77)
- instant: fix possible npe in case of filters with undefineds (61a9490)
- refresh: fix bug in refresh if using partial loader (95c43b4)
- instant: invoke missing handler within
$translate.instant(id)
(aaf52b5)
2.0.0 (2014-02-16)
- *: jshint fixes (1e3f8a6)
- $translate: check for fallbacklanguage (321803d)
- $translate: Trim whitespace off translationId (4939424)
- $translatePartialLoader: fixes docs annotation (d6ea84b)
- demo: fix server routes + add index page (eb0a2dc)
- demo: links to demo resources updated to new locactions (fddaa49)
- deps: add missing resolution (a98a2f6)
- docs: fixes links for languages (265490f)
- fallbackLanguage: Fix fallback languages loading and applying (4c5c47c)
- grunt: includes translate-cloak directive (84a59d2)
- avoid calls with empty translationId (sub issue of #298) (08f087b)
- fix npe introduced in 4939424a30 (#281) (173a9bc), closes [(#281](https://github.com/(/issues/281) #298
- guide/ru,uk: Fix uses->use in multi language (af59c6a)
- instant: remove language-preload if there were used within instant (9a3eda6)
- loader-static-files.js: Now allows empty string as prefix and postfix. (051f431)
- service: fallback languages could not load when using
instant()
(26de486) - translateCloak: makes jshint happy (2058fd3)
- translateDirective: fixes bad coding convention (d5db4ad)
- $translateProvider: adds determinePreferredLanguage() (7cbfabe)
- $translateProvider: adds registerAvailableLanguagesKeys for negotiation (6bef6bd)
- filter: filter now use $translate.instant() since promises could not use (a1b8a17)
- service: add $translate.instant() for instant translations (3a855eb)
- add an option for post processing compiling (d5cd943)
- add option to html escape all values (e042c44)
- translateCloak: adds translate-cloak directive (c125c56)
- translateDirective: teaches directive custom translate-value-* attr (5c27467), closes #188
1.1.1 (2013-11-24)
- fixes encoding (084f08c)
- docs: fixes typo (7e1c4e9)
- docs: fixes typo in landing page (0b999ab)
- grunt: fixes missing storage-key (635d290)
- translateDirective: fixes occuring 'translation id undefined' erros (bb5a2c4)
- add option to html escape all values (fe94c1f)
- shortcuts and links\n\nShortcuts creates a shorter translationId if the last key (f9f2cf2)
- Update required Node up
0.10
(b7cf5f4)
1.1.0 (2013-09-02)
- translateDirective: fixes bug that directive writes into scope (4e06468), closes #128
- translateDirective: fixes scope handling (c566586)
- translateService: reset proposed language if there's no pending loader (6b477fc)
- $translatePartialLoader: Basic implementation (81222bf)
- invalidate: added invalidate() method (d41f91e)
- translateProvider: makes methods chainable (cdc9e9e)
1.0.2 (2013-08-07)
- fallbackLanguage: fixes bug that fallbackLanguage is loaded without loader (6aa3747)
- translateService: uses should only load if a loader is registered (604daec)
- typo: remove unnecessary semicolon (54cb232)
1.0.1 (2013-07-26)
- demo: change src to angular-translate script (4be93b6)
- dependency: add 'angular-cookies' as bower devDependency (b6f1426)
- platolink: deep link (d368bf3)
1.0.0 (2013-07-23)
- docs: fixes methodOf declaration of addInterpolation method (f1eeba7)
- gh-pages: plato report (b85e19b)
- tests: travis CI (c8624bf)
- tests: travis CI (629bb8d)
- fixes gruntfile (0d500db)
- messageformat-interpolation: implements usage of messageformat (5596e8b)
- translateDirective: teaches directives to use custom interpolation (bf3dbbb)
- translateFilter: teaches filter to use custom interpolation (46f03cc)
- translateService: adds method to configure indicators for not found translations (52a039f), closes #77
- translateService: extracts default interpolation in standalone service (5d8cb56)
- translateService: implements proposedLanguage() (6d34792)
- translateService: implements usage of different interpolation services (5e20e24)
- translateService: informs interpolator when locale has changed (e59b141)
- translateService: missingTranslationHandler receives language (6fe6bb1)
0.9.4 (2013-06-21)
- translateService: removes empty options object requirement for loaders (c09d1db)
0.9.3 (2013-06-10)
0.9.2 (2013-05-30)
- fix bower.json (c389882)
0.9.1 (2013-05-25)
- translate.js: Allow blank translation values (97591a8)
0.9.0 (2013-05-22)
0.8.1 (2013-05-16)
- translate.js: corrected typo (82569f0)
- translateProvider: add methods to use different missingTranslationHandlers (f6ed3e3)
- S: missingTranslationHandler is no longer supported since its functionality will be replaced with useMissingTranslationHandlerLog.
0.8.0 (2013-05-14)
0.7.1 (2013-05-13)
- chore: rename ngTranslate folder to src (65012d9)
0.7.0 (2013-05-12)
- directive: trim off white space around element.text() (e10173a)
- tests: Fix preferredLanguage tests (73efcfc)
- tests: fix tests for preferredLanguage() (f1b5084)
- tests: Old values won't be ignored, so they have to be discarded (625b1d6)
- nested objects will be transformed when using
$translateProvider.translations
(b15cee4) - docs: add documentation comments (b1efbca)
- storageKey: add a storageKey method (dabf822)
- translateProvider: add a preferredLanguage property (563e9bf)
- translateProvider: add storagePrefix() method (64cd99b)
- translateProvider: add useLoaderFactory() as shortcut method (2915e8b)
- translateProvider: make translationTable extendable (8e3a455), closes #33
- translateProvider: missingTranslationHandler (3a5819e)
- translateService: add storage() method (98c2b12)
- The $STORAGE_KEY isn't represent a current storage key from now. To discover which key is used now you have to call the storageKey method without params.
0.6.0 (2013-05-03)
0.5.2 (2013-04-30)
0.5.1 (2013-04-29)
- .bowerrc: add .bowerrc (42363ee), closes #16
- .jshintrc: add .jshintrc (0c8d3da), closes #17
- bower.json: rename component.json to bower.json (17acd10)