Hiện nay chúng ta sử dụng đa ngôn ngữ để xây dụng những trang web chứa thông tin bằng nhiều thứ tiếng khác nhau, vì thế để phát triển được một website đa ngôn ngữ trong anguar chúng ta phải cài đặt và phát triển libary ngx-translate in angular.
Chúng ta có thể làm một ví dụ nhỏ về multi language in angular sau đó có thể áp dụng vào dự án thực tế, để làm được các bạn hãy tham khảo bài viết dưới đây.
Sau đây là những kí tự để hiểu các ngôn ngữ mỗi nước.
en.json = English
cn.json = China
vn.json = Việt name
.....
Mình sẽ giới thiệu sơ qua những ngôn ngữ này thôi,còn có rất nhiều ngôn ngữ khác các bạn có thể tham khảo trên mạng.
Để tạo được ngôn ngữ tiếng anh (English) src/assets/i18n/en.json
Ngôn ngữ tiếng trung( china) src/assets/i18n/cn.json
Chúng ta có thể làm một ví dụ nhỏ về multi language in angular sau đó có thể áp dụng vào dự án thực tế, để làm được các bạn hãy tham khảo bài viết dưới đây.
Nội dung
- Cài đặt Angular CLI
- Tạo một Projiect
- Add thư viện trong project
- Thiết lập chương trình
- Test project
- Ví dụ
I. Cài đặt Angular CLI
Để code được những chương trình bằng ngôn ngữ angular, bước đầu tiên chúng ta cần làm là việc thiết lập môi trường làm việc và cài đặt công cụ. Sử dụng câu lệnh dưới đây để thực hiện việc đó.npm install -g @angular/cli
II. Tạo project multi language
Bước tiếp theo là chúng ta tạo một project để làm việc, sau đây là câu lệnh để thực hiện nó, các bạn hãy mở cmd lên và chuyển đến thư mực các bạn cần lưu project.
ng new demoMulti
III. Import libary ngx-translate
Bước tiếp theo này khá quan trọng, trong việc bạn muốn trang web của bạn có thể sử dụng multi language, thì các bạn phải import thư việc mà nguồn mở này vào trong project của bạn đang làm bằng câu lệnh sau đây.npm install @ngx-translate/core @ngx-translate/http-loader --save
IV. Thiết lập chương trình.
1. Thiết lập trong file app.module.ts
Trong file này chúng ta phải import TranslateModule và thực hiện function translateHttpLoaderFactoryimport { HttpClientModule, HttpClient } from '@angular/common/http';
import { TranslateModule, TranslateLoader } from '@ngx-translate/core';
import { TranslateHttpLoader } from '@ngx-translate/http-loader';
export function translateHttpLoaderFactory(http: HttpClient) {
return new TranslateHttpLoader(http);
}
@NgModule({
declarations: [
AppComponent
],
imports: [
BrowserModule,
HttpClientModule,
TranslateModule.forRoot({
loader: {
provide: TranslateLoader,
useFactory: translateHttpLoaderFactory,
deps: [HttpClient]
}
})
],
providers: [],
bootstrap: [AppComponent]
})
2. Tạo ra các file json
Giờ đây các bạn hãy thiết lập ngôn ngữ tại các file json, để làm được điều này các bạn hãy thực hiện bằng tay, các bạn hãy vào thư mực assets tạo ra một folder i18n sau đó các bạn ta ra những file json.Sau đây là những kí tự để hiểu các ngôn ngữ mỗi nước.
en.json = English
cn.json = China
vn.json = Việt name
.....
Mình sẽ giới thiệu sơ qua những ngôn ngữ này thôi,còn có rất nhiều ngôn ngữ khác các bạn có thể tham khảo trên mạng.
Để tạo được ngôn ngữ tiếng anh (English) src/assets/i18n/en.json
{
"Title": "Translation demo",
"WelcomeMessage": "Welcome to the international demo application"
}
Ngôn ngữ tiếng trung( china) src/assets/i18n/cn.json
{Ngôn ngữ tiếng việt src/assets/i18n/vn.json
"Title": "翻译演示",
"WelcomeMessage": "欢迎来到国际演示应用程序"
}
{
"Title": "Trình bày bản dịch",
"WelcomeMessage": "Chào mừng bạn đến với ứng dụng demo quốc tế"
}
3. Thiết lập trong file app.component.html
<h1 translate>Title</h1>
<div translate>WelcomeMessage</div>
<div style="text-align:center">
<h1 translate>Title</h1>
<h6 translate>WelcomeMessage</h6>
<button (click)="switchLanguage('en')">English</button>
<button (click)="switchLanguage('es')">Spanish</button>
</div>
4. Thiết lập select language in file app.component.ts
import { TranslateService } from '@ngx-translate/core'
constructor(private translateService: TranslateService) {
translateService.setDefaultLang('en');
}
switchLanguage(language: string) {
this.translateService.use(language);
}
No comments:
Post a Comment