How to fix the problem of Angular translation of FOUC using translation cloak?

I have a problem with flickering texts during the first boot.

I tried all the solutions that I found on the Internet, but none of them worked ...

My version of angular -translate is the newest version 2.4.2.

Here is an example HTML:

<!DOCTYPE html>
<html ng-app="testapp">
<head>
    <title translate-cloak>{{ 'page.appName' | translate }}</title>
    <base href="/">
    <meta charset="utf-8">
    <link rel="icon" type="image/ico" href="static/favicon.ico"/>
    <link rel="stylesheet" href="stylesheets/style.css"/>
</head>
<body>
<div>
    <ul>
        <li>
            <div>
                <a href="/"><strong translate-cloak>{{ 'page.appName' | translate }}</strong></a>
            </div>
        </li>
    </ul>
</div>
<div ng-view></div>
<script src="javascripts/angular.js"></script>
<script src="javascripts/angular-translate.js"></script>
<script src="javascripts/angular-translate-loader-url.js"></script>
<script src="javascripts/angular-translate-loader-static-files.js"></script>
<script src="javascripts/angular-translate-storage-local.js"></script>
<script src="javascripts/test.js"></script>
</body>
</html>

Here is the javascript:

angular.module('testapp', ['ngRoute', 'ngResource', 'ngCookies', 'ngTable', 'mgcrea.ngStrap', 'pascalprecht.translate'])
        .config(['$locationProvider', '$routeProvider', '$httpProvider', '$translateProvider',
            function ($locationProvider, $routeProvider, $httpProvider, $translateProvider) {
                $locationProvider.html5Mode(true);
                $routeProvider.when('/', {
                    templateUrl: 'views/main.html'
                }).otherwise({
                    redirectTo: '/'
                });
$translateProvider.useSanitizeValueStrategy('escaped').useLocalStorage().useStaticFilesLoader({
                    prefix: 'static/languages/',
                    suffix: '.json'
                }).use('en-EN');
            }
        ]);
+4
source share
1 answer

You need to provide the translation inside your $ translateProvider configuration and define it as your preferred language.

The documentation invokes this FOUC (Flash of Untranslated Content).

, , translate-cloak, translate-cloak="any", .translate-cloak , translate-cloak, .translate-cloak .

, .translate-cloak.

+5

All Articles