Skip to content

Commit f5b08bd

Browse files
committed
I18n complete.
1 parent 68eb5f2 commit f5b08bd

29 files changed

Lines changed: 362 additions & 68 deletions

src/app/book/book.module.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import { IonicModule } from '@ionic/angular';
1010
import { MarkdownElementsModule } from './markdown-elements/markdown-elements.module';
1111
import { MarkdownModule } from './markdown/markdown.module';
1212
import { DocsifyPluginsModule } from './docsify-plugins.module';
13+
import { I18nModule } from '../i18n/i18n.module';
1314

1415
import { MARKDOWN_CONFIG_TOKEN } from './markdown/markdown.service';
1516

@@ -48,6 +49,7 @@ import { UiImageLoaderDirective } from './directives/ui-image-loader.directive';
4849
FormsModule,
4950
IonicModule,
5051
RouterModule,
52+
I18nModule,
5153
HttpClientModule,
5254
MarkdownModule,
5355
MarkdownElementsModule,

src/app/book/markdown-elements/made-with-love.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ import { join } from '../shared/utils';
1414
</ng-template>
1515
<span [style.font-size.em]="size">
1616
<ng-container *ngIf="url && url.length > 0; else noUrl">
17-
作者:<a [attr.href]="url" target="_blank" [style.color]="color" rel="noopener">
17+
{{'book.footer.writer' | translate}}<a [attr.href]="url" target="_blank" [style.color]="color" rel="noopener">
1818
<ng-content></ng-content>
1919
<slot></slot>
2020
{{name}}

src/app/book/markdown-elements/markdown-elements.module.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ import visit from 'unist-util-visit';
77
import * as MDAST from 'mdast';
88
import * as UNIFIED from 'unified';
99

10+
import { I18nModule } from '../../i18n/i18n.module';
11+
1012
import { customSmartCodes } from '../shared/shortcodes';
1113
import { MarkdownService } from '../markdown/markdown.service';
1214
import { LocationService } from '../services/location.service';
@@ -37,6 +39,7 @@ const elements = [
3739
@NgModule({
3840
imports: [
3941
CommonModule,
42+
I18nModule,
4043
RouterModule
4144
],
4245
exports: [

src/app/book/markdown-elements/toc-pagination.component.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,15 @@
33
<a class="prev" [routerLink]="prev.link">
44

55
<div class="pagination-item-label">
6-
<span>« 上个部分</span>
6+
<span>« {{'book.tocPagination.lastChapter' | translate}}</span>
77
</div>
88
<div class="pagination-item-title">{{prev.title}}</div>
99
</a>
1010
</div>
1111
<div class="pagination-item pagination-item--next" *ngIf="next">
1212
<a class="next" [routerLink]="next.link">
1313
<div class="pagination-item-label">
14-
<span>下一部分 »</span>
14+
<span>{{'book.tocPagination.nextChapter' | translate}} »</span>
1515
</div>
1616
<div class="pagination-item-title">{{next.title}}</div>
1717
</a>

src/app/book/markdown-elements/toc-pagination.component.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@ import frontmatter from 'remark-frontmatter';
99
import RegexEscape from 'regex-escape';
1010

1111
import { RouterService } from '../services/router.service';
12+
13+
import { I18nService } from '../../i18n/i18n.service';
1214
import { MarkdownService } from '../markdown/markdown.service';
1315
import { SearchService } from '../services/search.service';
1416
import { LocationService } from '../services/location.service';
@@ -43,6 +45,7 @@ export class TOCPaginationComponent implements OnInit, OnChanges {
4345
private fetchService: FetchService,
4446
private routerService: RouterService,
4547
private markdownService: MarkdownService,
48+
private i18n: I18nService,
4649
private locationService: LocationService,
4750
) {}
4851

src/app/book/plugins/edit-on-github.ts

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,18 @@ import { join as _join } from 'path';
99

1010
@Component({
1111
selector: 'docspa-edit-on-github', // tslint:disable-line
12-
template: `<a [attr.href]="href" target="_blank"><ng-content></ng-content></a>`,
12+
template: `<a [attr.href]="href" target="_blank">
13+
<small>
14+
<ion-icon name="create-outline" size="small"></ion-icon>{{'book.rightSideBar.editThisPage' | translate}}
15+
</small>
16+
</a>
17+
18+
<br />
19+
20+
<small>
21+
<object type="image/svg+xml" data="assets/icon/content.svg"></object>{{'book.rightSideBar.content' | translate}}
22+
</small>
23+
`,
1324
styles: []
1425
})
1526
export class EditOnGithubComponent implements OnInit {

src/app/home/components/book-list.component.html

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
<ion-badge color="warning"
77
style="position: absolute; right: -5px; top: -10px;"
88
*ngIf="book.recordList && book.recordList.length > 0">
9-
{{book.recordList.length}}次阅读
9+
{{book.recordList.length}} {{'home.bookList.readTimes' | translate}}
1010
</ion-badge>
1111
<mat-card-title>{{(book.name.length > 24 ? book.name.slice(0,23)+'...' : book.name) | uppercase}}</mat-card-title>
1212

@@ -36,7 +36,7 @@
3636
<ion-label>{{cate.name}}</ion-label>
3737
</mat-chip>
3838
<button class="modify-cate-list" (click)="openEditBookCateListDialog(book)" mat-button>
39-
<ion-icon name="cog-outline"></ion-icon>修改
39+
<ion-icon name="cog-outline"></ion-icon>{{'home.bookList.modify' | translate}}
4040
</button>
4141
</mat-chip-list>
4242
</mat-card-content>
@@ -45,30 +45,30 @@
4545
<mat-card-actions fxLayout="row" fxLayoutGap="0px">
4646
<button class="action-button" mat-button *ngIf="book.recordList && book.recordList.length > 0"
4747
(click)="openReadingRecordDialog(book)">
48-
<ion-icon name="list-outline"></ion-icon>阅读记录
48+
<ion-icon name="list-outline"></ion-icon>{{'home.bookList.readingRecord' | translate}}
4949
</button>
5050
<button class="action-button" mat-button *ngIf="book.downloaded" (click)="openReadmeDialog(book)">
5151
<ion-icon name="compass-outline"></ion-icon>README
5252
</button>
5353
<button class="action-button" mat-button *ngIf="book.downloaded" (click)="openBook(book)">
54-
<ion-icon name="book-outline"></ion-icon>阅读
54+
<ion-icon name="book-outline"></ion-icon>{{'home.bookList.read' | translate}}
5555
</button>
5656
<button class="action-button" id="{{ 'download-book-' + book.id }}" mat-button
5757
*ngIf="!book.downloaded" (click)="startDownload(book)">
58-
<ion-icon name="cloud-download-outline"></ion-icon>下载
58+
<ion-icon name="cloud-download-outline"></ion-icon>{{'home.bookList.download' | translate}}
5959
</button>
6060
<button class="action-button"
6161
id="{{ 'delete-book-' + book.id }}" mat-button (click)="openDeleteBookDialog(book)"
6262
*ngIf="!book.downloaded || !book.recycled"
6363
[disabled]="book.recycled">
64-
<ion-icon name="close-outline" sizme="small"></ion-icon>删除
64+
<ion-icon name="close-outline" sizme="small"></ion-icon>{{'home.bookList.remove' | translate}}
6565
</button>
6666
<button class="action-button" mat-button *ngIf="book.recycled" (click)="openDeleteBookDialog(book)">
67-
<ion-icon name="cog-outline" sizme="small"></ion-icon>操作
67+
<ion-icon name="cog-outline" sizme="small"></ion-icon>{{'home.bookList.operation' | translate}}
6868
</button>
6969
</mat-card-actions>
7070

7171
<mat-card-content *ngIf="book.errMsg">
72-
<ion-text color="danger">{{book.errMsg}} - 无法下载,建议删除</ion-text>
72+
<ion-text color="danger">{{book.errMsg}}{{'home.bookList.cloneErrorMsg' | translate}}</ion-text>
7373
</mat-card-content>
7474
</mat-card>

src/app/home/components/book-list.component.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import {
1212
MatDialog,
1313
} from '@angular/material/dialog';
1414

15+
import { I18nService } from '../../i18n/i18n.service';
1516
import { CrudService } from '../../services/crud.service';
1617
import { Book, Category } from '../../models';
1718
import { BookService } from '../services/book.service';
@@ -54,6 +55,7 @@ export class BookListComponent implements OnInit, OnChanges {
5455
private crud: CrudService,
5556
private dialog: MatDialog,
5657
private book: BookService,
58+
private i18n: I18nService,
5759
private cdr: ChangeDetectorRef,
5860
private opMessage: OpMessageService
5961
) {}
Lines changed: 17 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,23 @@
1-
<h1 mat-dialog-title>删除 - {{ this.data.name }}</h1>
1+
<h1 mat-dialog-title>{{'home.deleteBook.remove' | translate}}{{ this.data.name }}</h1>
22
<div mat-dialog-content>
3-
<p>删除注意事项:</p>
3+
<p>{{'home.deleteBook.precautions' | translate}}</p>
44
<ul>
5-
<li *ngIf="!this.data.recycled">选择放入“回收站”,将<ion-text color="danger" *ngIf="this.data.recordList && this.data.recordList.length > 0">删除该书籍的阅读记录,</ion-text>可在回收站中查看并恢复删除的书籍</li>
6-
<li>选择彻底删除,<ion-text color="danger">系统将删除下载的该书籍所有文件,并从数据库中移除书籍与该书籍的阅读记录</ion-text></li>
7-
<li>关闭此对话框,将不进行任何操作</li>
5+
<li *ngIf="!this.data.recycled">{{'home.deleteBook.recycleRemind.prefix' | translate}}<ion-text color="danger" *ngIf="this.data.recordList && this.data.recordList.length > 0">{{'home.deleteBook.recycleRemind.important' | translate}}</ion-text>{{'home.deleteBook.recycleRemind.last' | translate}}</li>
6+
<li>{{'home.deleteBook.deleteRemind.prefix' | translate}}<ion-text color="danger">{{'home.deleteBook.deleteRemind.important' | translate}}</ion-text></li>
7+
<li>{{'home.deleteBook.closeDialogRemind' | translate}}</li>
88
</ul>
99
</div>
1010
<div mat-dialog-actions>
11-
<button mat-button (click)="onNoClick()">放弃</button>
12-
<button *ngIf="!this.data.recycled" mat-button [mat-dialog-close]="recycled">放入回收站</button>
13-
<button *ngIf="this.data.recycled" color="success" mat-button [mat-dialog-close]="recoverRecycled">重新放回书架</button>
14-
<button color="warn" mat-button [mat-dialog-close]="deleteRecycled">彻底删除</button>
11+
<button mat-button matDialogClose>
12+
{{'home.deleteBook.actions.cancel' | translate}}
13+
</button>
14+
<button *ngIf="!this.data.recycled" mat-button [mat-dialog-close]="recycled" matTooltip="{{'home.deleteBook.tooltip.recycle' | translate}}">
15+
{{'home.deleteBook.actions.recycle' | translate}}
16+
</button>
17+
<button *ngIf="this.data.recycled" color="success"
18+
mat-button [mat-dialog-close]="recoverRecycled"
19+
matTooltip="{{'home.deleteBook.tooltip.putItBack' | translate}}">
20+
{{'home.deleteBook.actions.putItBack' | translate}}
21+
</button>
22+
<button color="warn" mat-button [mat-dialog-close]="deleteRecycled">{{'home.deleteBook.actions.remove' | translate}}</button>
1523
</div>

src/app/home/components/delete-book-dialog.component.ts

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@ import {
1010
MAT_DIALOG_DATA
1111
} from '@angular/material/dialog';
1212

13+
import { I18nService } from '../../i18n/i18n.service';
14+
1315
import {
1416
IDeleteBookDialogResData,
1517
} from '../../vendor';
@@ -23,6 +25,7 @@ import { Book } from '../../models';
2325
export class DeleteBookDialog implements OnInit{
2426
constructor(
2527
public dialogRef: MatDialogRef<DeleteBookDialog>,
28+
private i18n: I18nService,
2629
@Inject(MAT_DIALOG_DATA) public data: Book
2730
) {}
2831

@@ -45,8 +48,4 @@ export class DeleteBookDialog implements OnInit{
4548
}
4649

4750
ngOnInit() {}
48-
49-
onNoClick(): void {
50-
this.dialogRef.close();
51-
}
5251
}

0 commit comments

Comments
 (0)