Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

AngularJS unknown provider cookieReader

I'm trying to use AngularJS translations. The problem I encountered is that I'm getting Unknown provider: $$cookieReaderProvider <- $$cookieReader <- $cookies <- $cookieStore <- $translateCookieStorage <- $translate <- $cookies error when trying to use $translateProvider.useCookieStorage();

I've injected ngCookies as a dependency in my app:

var nfqApp = angular.module('myApp', ['postServices', 'angularFileUpload', 'ngSanitize', 'ui.date',
    'bootstrapLightbox', 'profileServices', 'ngRoute', 'angularMoment', 'pascalprecht.translate', 'ngCookies']);

I've also included following files related to translations and cookies in the following order:

  • angular-translate.min.js
  • angular-cookies.js
  • angular-translate-interpolation-messageformat.js
  • angular-translate-storage-cookie.js
  • messageformat.js
  • en.js
  • lt.js

My app config (where I try to use cookieStorage:

myApp.config(['$translateProvider', function ($translateProvider) {
$translateProvider.translations('lt', {
    "OTHER_LIKES" : "{peopleCount, plural, one {# kolega tai mėgsta} few {# kolegos tai mėgsta} other {# kolegų tai mėgsta}}",
    "YOU_AND_OTHERS_LIKES" : "{peopleCount, plural, one {Tu ir # kolega tai mėgsta} few {Tu ir # kolegos tai mėgsta} other {Tu ir # kolegų tai mėgsta}}",
    "YOU_LIKE" : "Tu mėgsti tai"
});

$translateProvider.translations('en', {
    "OTHER_LIKES" : "{peopleCount, plural, one {# colleague likes this} few {# colleagues likes this} other {# colleagues likes this}}",
    "YOU_AND_OTHERS_LIKES" : "{peopleCount, plural, one {You and # colleague likes this} few {You and # colleagues likes this} other {You and # colleagues likes this}}",
    "YOU_LIKE" : "You like this"
});

$translateProvider.preferredLanguage('lt');

$translateProvider.fallbackLanguage('en');

$translateProvider.addInterpolation('$translateMessageFormatInterpolation');

$translateProvider.useCookieStorage();
}]);
like image 380
Einius Avatar asked Jan 23 '26 22:01

Einius


2 Answers

I found out that I was using angular-cookies.js designed for different version of angular. updating them both to the same version solved the problem. AngularJS v1.4.1 was used.

like image 168
Einius Avatar answered Jan 26 '26 12:01

Einius


I was using Ionic framework and angular.js in ionic.bundle.js was 1.3.6 but my angular-cookies version was 1.4.4 So I downgraded the version of angular-cookies and it worked out.

bower install angular-cookies#1.3.6
like image 36
Caner Avatar answered Jan 26 '26 14:01

Caner