diff --git a/gulpfile.js b/gulpfile.js
index ac3ee61bac..899c401d54 100644
--- a/gulpfile.js
+++ b/gulpfile.js
@@ -297,7 +297,7 @@ function runE2eTsTests(appDir, outputFile) {
} catch (e) {
exampleConfig = {};
}
-
+
var config = {
build: exampleConfig.build || 'tsc',
run: exampleConfig.run || 'http-server:e2e'
@@ -1263,7 +1263,7 @@ function apiExamplesWatch(postShredAction) {
}
function devGuideExamplesWatch(shredOptions, postShredAction, focus) {
- var watchPattern = focus ? '**/' + focus + '/**/*.*' : '**/*.*';
+ var watchPattern = focus ? '**/{' + focus + ',cb-' + focus+ '}/**/*.*' : '**/*.*';
var includePattern = path.join(shredOptions.examplesDir, watchPattern);
// removed this version because gulp.watch has the same glob issue that dgeni has.
// var excludePattern = '!' + path.join(shredOptions.examplesDir, '**/node_modules/**/*.*');
diff --git a/public/docs/_examples/cb-i18n/e2e-spec.ts b/public/docs/_examples/cb-i18n/e2e-spec.ts
new file mode 100644
index 0000000000..6606ca8878
--- /dev/null
+++ b/public/docs/_examples/cb-i18n/e2e-spec.ts
@@ -0,0 +1,13 @@
+///
+'use strict';
+describe('i18n E2E Tests', () => {
+
+ beforeEach(function () {
+ browser.get('');
+ });
+
+ it('should display i18n translated welcome: Bonjour i18n!', function () {
+ expect(element(by.css('h1')).getText()).toEqual('Bonjour i18n!');
+ });
+
+});
diff --git a/public/docs/_examples/cb-i18n/ts/.gitignore b/public/docs/_examples/cb-i18n/ts/.gitignore
new file mode 100644
index 0000000000..8357331dc7
--- /dev/null
+++ b/public/docs/_examples/cb-i18n/ts/.gitignore
@@ -0,0 +1,6 @@
+**/*.ngfactory.ts
+**/*.metadata.json
+**/messages.xlf
+dist
+!app/tsconfig.json
+!rollup.js
\ No newline at end of file
diff --git a/public/docs/_examples/cb-i18n/ts/app/app.component.1.html b/public/docs/_examples/cb-i18n/ts/app/app.component.1.html
new file mode 100644
index 0000000000..7813de7d31
--- /dev/null
+++ b/public/docs/_examples/cb-i18n/ts/app/app.component.1.html
@@ -0,0 +1,11 @@
+
+
Hello i18n!
+
+
+
+Hello i18n!
+
+
+
+Hello i18n!
+
diff --git a/public/docs/_examples/cb-i18n/ts/app/app.component.html b/public/docs/_examples/cb-i18n/ts/app/app.component.html
new file mode 100644
index 0000000000..3469b42e86
--- /dev/null
+++ b/public/docs/_examples/cb-i18n/ts/app/app.component.html
@@ -0,0 +1,4 @@
+
+
+Hello i18n!
+
\ No newline at end of file
diff --git a/public/docs/_examples/cb-i18n/ts/app/app.component.ts b/public/docs/_examples/cb-i18n/ts/app/app.component.ts
new file mode 100644
index 0000000000..e065c38917
--- /dev/null
+++ b/public/docs/_examples/cb-i18n/ts/app/app.component.ts
@@ -0,0 +1,10 @@
+// #docregion
+import { Component } from '@angular/core';
+
+@Component({
+ moduleId: module.id,
+ selector: 'my-app',
+ templateUrl: 'app.component.html'
+})
+export class AppComponent { }
+
diff --git a/public/docs/_examples/cb-i18n/ts/app/app.module.ts b/public/docs/_examples/cb-i18n/ts/app/app.module.ts
new file mode 100644
index 0000000000..64ad44075b
--- /dev/null
+++ b/public/docs/_examples/cb-i18n/ts/app/app.module.ts
@@ -0,0 +1,13 @@
+// #docregion
+import { NgModule } from '@angular/core';
+import { BrowserModule } from '@angular/platform-browser';
+
+import { AppComponent } from './app.component';
+
+@NgModule({
+ imports: [ BrowserModule ],
+ declarations: [ AppComponent ],
+ bootstrap: [ AppComponent ]
+})
+
+export class AppModule { }
diff --git a/public/docs/_examples/cb-i18n/ts/app/i18n-providers.ts b/public/docs/_examples/cb-i18n/ts/app/i18n-providers.ts
new file mode 100644
index 0000000000..c27afc88d7
--- /dev/null
+++ b/public/docs/_examples/cb-i18n/ts/app/i18n-providers.ts
@@ -0,0 +1,33 @@
+// #docregion
+import { TRANSLATIONS, TRANSLATIONS_FORMAT, LOCALE_ID } from '@angular/core';
+
+export function getTranslationProviders(): Promise