feat(i18n): add basic structure for i18n

feat807-i18n
Anthony Lapenna 2017-08-17 21:36:50 +02:00
parent 1a28e1091c
commit f9308406af
8 changed files with 33 additions and 6 deletions

View File

@ -30,6 +30,7 @@ func NewFileHandler(assetPath string) *FileHandler {
"/js": true,
"/images": true,
"/fonts": true,
"/i18n": true,
},
}
return h

View File

@ -13,6 +13,7 @@ angular.module('portainer', [
'LocalStorageModule',
'angular-jwt',
'angular-google-analytics',
'pascalprecht.translate',
'portainer.templates',
'portainer.filters',
'portainer.rest',
@ -64,7 +65,7 @@ angular.module('portainer', [
'userSettings',
'volume',
'volumes'])
.config(['$stateProvider', '$urlRouterProvider', '$httpProvider', 'localStorageServiceProvider', 'jwtOptionsProvider', 'AnalyticsProvider', '$uibTooltipProvider', '$compileProvider', function ($stateProvider, $urlRouterProvider, $httpProvider, localStorageServiceProvider, jwtOptionsProvider, AnalyticsProvider, $uibTooltipProvider, $compileProvider) {
.config(['$stateProvider', '$urlRouterProvider', '$httpProvider', 'localStorageServiceProvider', 'jwtOptionsProvider', 'AnalyticsProvider', '$uibTooltipProvider', '$compileProvider', '$translateProvider', function ($stateProvider, $urlRouterProvider, $httpProvider, localStorageServiceProvider, jwtOptionsProvider, AnalyticsProvider, $uibTooltipProvider, $compileProvider, $translateProvider) {
'use strict';
var environment = '@@ENVIRONMENT';
@ -99,6 +100,14 @@ angular.module('portainer', [
'outsideClick': 'outsideClick'
});
$translateProvider.useSanitizeValueStrategy('sanitize');
$translateProvider
.useStaticFilesLoader({
'prefix': 'i18n/',
'suffix': '.json'
});
$translateProvider.preferredLanguage('en');
$stateProvider
.state('root', {
abstract: true,

View File

@ -13,7 +13,7 @@
<table class="table">
<tbody>
<tr>
<td>Name</td>
<td>{{ 'DASHBOARD.NODE_NAME' | translate }}</td>
<td>{{ infoData.Name }}</td>
</tr>
<tr>

5
assets/i18n/en.json Normal file
View File

@ -0,0 +1,5 @@
{
"DASHBOARD": {
"NODE_NAME": "Name"
}
}

5
assets/i18n/fr.json Normal file
View File

@ -0,0 +1,5 @@
{
"DASHBOARD": {
"NODE_NAME": "Nom"
}
}

View File

@ -3,7 +3,7 @@
"version": "1.14.0",
"homepage": "https://github.com/portainer/portainer",
"authors": [
"Anthony Lapenna <anthony.lapenna at gmail dot com>"
"Anthony Lapenna <anthony.lapenna at portainer dot com>"
],
"description": "A web interface for the Docker Remote API.",
"keywords": [
@ -37,6 +37,7 @@
"angular-local-storage": "~0.5.2",
"angular-jwt": "~0.1.8",
"angular-google-analytics": "~1.1.9",
"angular-translate": "~2.15.2",
"bootstrap": "~3.3.6",
"filesize": "~3.3.0",
"jquery": "1.11.1",
@ -49,7 +50,8 @@
"bootbox.js": "bootbox#^4.4.0",
"angular-multi-select": "~4.0.0",
"toastr": "~2.1.3",
"xterm.js": "~2.8.1"
"xterm.js": "~2.8.1",
"angular-translate-loader-static-files": "~2.15.2"
},
"resolutions": {
"angular": "1.5.11"

View File

@ -105,7 +105,8 @@ module.exports = function (grunt) {
{dest: '<%= distdir %>/fonts/', src: '*.{ttf,woff,woff2,eof,svg}', expand: true, cwd: 'bower_components/font-awesome/fonts/'},
{dest: '<%= distdir %>/fonts/', src: '*.{ttf,woff,woff2,eof,svg}', expand: true, cwd: 'bower_components/rdash-ui/dist/fonts/'},
{dest: '<%= distdir %>/images/', src: '**', expand: true, cwd: 'assets/images/'},
{dest: '<%= distdir %>/ico', src: '**', expand: true, cwd: 'assets/ico'}
{dest: '<%= distdir %>/ico', src: '**', expand: true, cwd: 'assets/ico'},
{dest: '<%= distdir %>/i18n', src: '**', expand: true, cwd: 'assets/i18n'}
]
}
},

View File

@ -59,6 +59,8 @@ angular:
- bower_components/angular-ui-router/release/angular-ui-router.js
- bower_components/angular-utils-pagination/dirPagination.js
- bower_components/ng-file-upload/ng-file-upload.js
- bower_components/angular-translate/angular-translate.js
- bower_components/angular-translate-loader-static-files/angular-translate-loader-static-files.js
minified:
- bower_components/angular/angular.min.js
- bower_components/angular-bootstrap/ui-bootstrap-tpls.min.js
@ -71,4 +73,6 @@ angular:
- bower_components/angular-ui-select/dist/select.min.js
- bower_components/angular-ui-router/release/angular-ui-router.min.js
- bower_components/angular-utils-pagination/dirPagination.js
- bower_components/ng-file-upload/ng-file-upload.min.js
- bower_components/ng-file-upload/ng-file-upload.min.js
- bower_components/angular-translate/angular-translate.min.js
- bower_components/angular-translate-loader-static-files/angular-translate-loader-static-files.min.js