gen requirement
build image thêm ngôn ngữ tiếng việt sửa logo sửa 1 số text sang tiêngs việt
This commit is contained in:
@@ -337,6 +337,7 @@ import localeSv from '@angular/common/locales/sv'
|
||||
import localeTr from '@angular/common/locales/tr'
|
||||
import localeUk from '@angular/common/locales/uk'
|
||||
import localeZh from '@angular/common/locales/zh'
|
||||
import localeVi from '@angular/common/locales/vi'
|
||||
|
||||
registerLocaleData(localeAf)
|
||||
registerLocaleData(localeAr)
|
||||
@@ -369,6 +370,7 @@ registerLocaleData(localeSv)
|
||||
registerLocaleData(localeTr)
|
||||
registerLocaleData(localeUk)
|
||||
registerLocaleData(localeZh)
|
||||
registerLocaleData(localeVi)
|
||||
|
||||
function initializeApp(settings: SettingsService) {
|
||||
return () => {
|
||||
|
||||
@@ -8,16 +8,20 @@
|
||||
[ngClass]="{ 'slim': slimSidebarEnabled, 'col-auto col-md-3 col-lg-2 col-xxxl-1' : !slimSidebarEnabled, 'py-3' : !customAppTitle?.length || slimSidebarEnabled, 'py-2': customAppTitle?.length }"
|
||||
routerLink="/dashboard"
|
||||
tourAnchor="tour.intro">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 198.43 238.91" width="1em" height="1.5em" fill="currentColor">
|
||||
<path
|
||||
d="M194.7,0C164.22,70.94,17.64,79.74,64.55,194.06c.58,1.47-10.85,17-18.47,29.9-1.76-6.45-3.81-13.48-3.52-14.07,38.11-45.14-27.26-70.65-30.78-107.58C-4.64,131.62-10.5,182.92,39,212.53c.3,0,2.64,11.14,3.81,16.71a58.55,58.55,0,0,0-2.93,6.45c-1.17,2.93,7.62,2.64,7.62,3.22.88-.29,21.7-36.93,22.28-37.23C187.67,174.72,208.48,68.6,194.7,0ZM134.61,74.75C79.5,124,70.12,160.64,71.88,178.53,53.41,134.85,107.64,86.77,134.61,74.75ZM28.2,145.11c10.55,9.67,28.14,39.28,13.19,56.57C44.91,193.77,46.08,175.89,28.2,145.11Z"
|
||||
transform="translate(0 0)" />
|
||||
</svg>
|
||||
<!-- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 198.43 238.91" width="1em" height="1.5em" fill="currentColor">-->
|
||||
<!-- <path-->
|
||||
<!-- d="M194.7,0C164.22,70.94,17.64,79.74,64.55,194.06c.58,1.47-10.85,17-18.47,29.9-1.76-6.45-3.81-13.48-3.52-14.07,38.11-45.14-27.26-70.65-30.78-107.58C-4.64,131.62-10.5,182.92,39,212.53c.3,0,2.64,11.14,3.81,16.71a58.55,58.55,0,0,0-2.93,6.45c-1.17,2.93,7.62,2.64,7.62,3.22.88-.29,21.7-36.93,22.28-37.23C187.67,174.72,208.48,68.6,194.7,0ZM134.61,74.75C79.5,124,70.12,160.64,71.88,178.53,53.41,134.85,107.64,86.77,134.61,74.75ZM28.2,145.11c10.55,9.67,28.14,39.28,13.19,56.57C44.91,193.77,46.08,175.89,28.2,145.11Z"-->
|
||||
<!-- transform="translate(0 0)" />-->
|
||||
<!-- </svg>-->
|
||||
|
||||
|
||||
<img style='height:32px' src='assets/Logo_White.svg'>
|
||||
|
||||
<div class="ms-2 ms-md-3 d-inline-block" [class.d-md-none]="slimSidebarEnabled">
|
||||
@if (customAppTitle?.length) {
|
||||
<div class="d-flex flex-column align-items-start">
|
||||
<span class="title">{{customAppTitle}}</span>
|
||||
<span class="byline text-uppercase font-monospace" i18n>by Paperless-ngx</span>
|
||||
<!-- <span class="title">{{customAppTitle}}</span>-->
|
||||
<!-- <span class="byline text-uppercase font-monospace" i18n>by Paperless-ngx</span>-->
|
||||
</div>
|
||||
} @else {
|
||||
Paperless-ngx
|
||||
@@ -276,67 +280,67 @@
|
||||
</a>
|
||||
</li>
|
||||
}
|
||||
<li class="nav-item mt-2" tourAnchor="tour.outro">
|
||||
<a class="px-3 py-2 text-muted small d-flex align-items-center flex-wrap text-decoration-none"
|
||||
target="_blank" rel="noopener noreferrer" href="https://docs.paperless-ngx.com" ngbPopover="Documentation"
|
||||
i18n-ngbPopover [disablePopover]="!slimSidebarEnabled" placement="end" container="body"
|
||||
triggers="mouseenter:mouseleave" popoverClass="popover-slim">
|
||||
<i-bs class="d-flex" name="question-circle"></i-bs><span class="ms-1"> <ng-container i18n>Documentation</ng-container></span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item" [class.visually-hidden]="slimSidebarEnabled">
|
||||
<div class="px-3 py-0 text-muted small d-flex align-items-center flex-wrap">
|
||||
<div class="me-3">
|
||||
<a class="text-muted text-decoration-none" target="_blank" rel="noopener noreferrer"
|
||||
href="https://github.com/paperless-ngx/paperless-ngx" ngbPopover="GitHub" i18n-ngbPopover
|
||||
[disablePopover]="!slimSidebarEnabled" placement="end" container="body"
|
||||
triggers="mouseenter:mouseleave" popoverClass="popover-slim">
|
||||
{{ versionString }}
|
||||
</a>
|
||||
</div>
|
||||
@if (!settingsService.updateCheckingIsSet || appRemoteVersion) {
|
||||
<div class="version-check">
|
||||
<ng-template #updateAvailablePopContent>
|
||||
<span class="small">Paperless-ngx {{ appRemoteVersion.version }} <ng-container i18n>is
|
||||
available.</ng-container><br /><ng-container i18n>Click to view.</ng-container></span>
|
||||
</ng-template>
|
||||
<ng-template #updateCheckingNotEnabledPopContent>
|
||||
<p class="small mb-2">
|
||||
<ng-container i18n>Paperless-ngx can automatically check for updates</ng-container>
|
||||
</p>
|
||||
<div class="btn-group btn-group-xs flex-fill w-100">
|
||||
<button class="btn btn-outline-primary" (click)="setUpdateChecking(true)">Enable</button>
|
||||
<button class="btn btn-outline-secondary" (click)="setUpdateChecking(false)">Disable</button>
|
||||
</div>
|
||||
<p class="small mb-0 mt-2">
|
||||
<a class="small text-decoration-none fst-italic" routerLink="/settings" fragment="update-checking" i18n>
|
||||
How does this work?
|
||||
</a>
|
||||
</p>
|
||||
</ng-template>
|
||||
@if (settingsService.updateCheckingIsSet) {
|
||||
@if (appRemoteVersion.update_available) {
|
||||
<a class="small text-decoration-none" target="_blank" rel="noopener noreferrer"
|
||||
href="https://github.com/paperless-ngx/paperless-ngx/releases"
|
||||
[ngbPopover]="updateAvailablePopContent" popoverClass="shadow" triggers="mouseenter:mouseleave"
|
||||
container="body">
|
||||
<i-bs width="1.2em" height="1.2em" name="info-circle"></i-bs>
|
||||
@if (appRemoteVersion?.update_available) {
|
||||
<ng-container i18n>Update available</ng-container>
|
||||
}
|
||||
</a>
|
||||
}
|
||||
} @else {
|
||||
<a class="small text-decoration-none" routerLink="/settings" fragment="update-checking"
|
||||
[ngbPopover]="updateCheckingNotEnabledPopContent" popoverClass="shadow" triggers="mouseenter"
|
||||
container="body">
|
||||
<i-bs width="1.2em" height="1.2em" name="info-circle"></i-bs>
|
||||
</a>
|
||||
}
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
</li>
|
||||
<!-- <li class="nav-item mt-2" tourAnchor="tour.outro">-->
|
||||
<!-- <a class="px-3 py-2 text-muted small d-flex align-items-center flex-wrap text-decoration-none"-->
|
||||
<!-- target="_blank" rel="noopener noreferrer" href="https://docs.paperless-ngx.com" ngbPopover="Documentation"-->
|
||||
<!-- i18n-ngbPopover [disablePopover]="!slimSidebarEnabled" placement="end" container="body"-->
|
||||
<!-- triggers="mouseenter:mouseleave" popoverClass="popover-slim">-->
|
||||
<!-- <i-bs class="d-flex" name="question-circle"></i-bs><span class="ms-1"> <ng-container i18n>Documentation</ng-container></span>-->
|
||||
<!-- </a>-->
|
||||
<!-- </li>-->
|
||||
<!-- <li class="nav-item" [class.visually-hidden]="slimSidebarEnabled">-->
|
||||
<!-- <div class="px-3 py-0 text-muted small d-flex align-items-center flex-wrap">-->
|
||||
<!-- <div class="me-3">-->
|
||||
<!-- <a class="text-muted text-decoration-none" target="_blank" rel="noopener noreferrer"-->
|
||||
<!-- href="https://github.com/paperless-ngx/paperless-ngx" ngbPopover="GitHub" i18n-ngbPopover-->
|
||||
<!-- [disablePopover]="!slimSidebarEnabled" placement="end" container="body"-->
|
||||
<!-- triggers="mouseenter:mouseleave" popoverClass="popover-slim">-->
|
||||
<!-- {{ versionString }}-->
|
||||
<!-- </a>-->
|
||||
<!-- </div>-->
|
||||
<!-- @if (!settingsService.updateCheckingIsSet || appRemoteVersion) {-->
|
||||
<!-- <div class="version-check">-->
|
||||
<!-- <ng-template #updateAvailablePopContent>-->
|
||||
<!-- <span class="small">Paperless-ngx {{ appRemoteVersion.version }} <ng-container i18n>is-->
|
||||
<!-- available.</ng-container><br /><ng-container i18n>Click to view.</ng-container></span>-->
|
||||
<!-- </ng-template>-->
|
||||
<!-- <ng-template #updateCheckingNotEnabledPopContent>-->
|
||||
<!-- <p class="small mb-2">-->
|
||||
<!-- <ng-container i18n>Paperless-ngx can automatically check for updates</ng-container>-->
|
||||
<!-- </p>-->
|
||||
<!-- <div class="btn-group btn-group-xs flex-fill w-100">-->
|
||||
<!-- <button class="btn btn-outline-primary" (click)="setUpdateChecking(true)">Enable</button>-->
|
||||
<!-- <button class="btn btn-outline-secondary" (click)="setUpdateChecking(false)">Disable</button>-->
|
||||
<!-- </div>-->
|
||||
<!-- <p class="small mb-0 mt-2">-->
|
||||
<!-- <a class="small text-decoration-none fst-italic" routerLink="/settings" fragment="update-checking" i18n>-->
|
||||
<!-- How does this work?-->
|
||||
<!-- </a>-->
|
||||
<!-- </p>-->
|
||||
<!-- </ng-template>-->
|
||||
<!-- @if (settingsService.updateCheckingIsSet) {-->
|
||||
<!-- @if (appRemoteVersion.update_available) {-->
|
||||
<!-- <a class="small text-decoration-none" target="_blank" rel="noopener noreferrer"-->
|
||||
<!-- href="https://github.com/paperless-ngx/paperless-ngx/releases"-->
|
||||
<!-- [ngbPopover]="updateAvailablePopContent" popoverClass="shadow" triggers="mouseenter:mouseleave"-->
|
||||
<!-- container="body">-->
|
||||
<!-- <i-bs width="1.2em" height="1.2em" name="info-circle"></i-bs>-->
|
||||
<!-- @if (appRemoteVersion?.update_available) {-->
|
||||
<!-- <ng-container i18n>Update available</ng-container>-->
|
||||
<!-- }-->
|
||||
<!-- </a>-->
|
||||
<!-- }-->
|
||||
<!-- } @else {-->
|
||||
<!-- <a class="small text-decoration-none" routerLink="/settings" fragment="update-checking"-->
|
||||
<!-- [ngbPopover]="updateCheckingNotEnabledPopContent" popoverClass="shadow" triggers="mouseenter"-->
|
||||
<!-- container="body">-->
|
||||
<!-- <i-bs width="1.2em" height="1.2em" name="info-circle"></i-bs>-->
|
||||
<!-- </a>-->
|
||||
<!-- }-->
|
||||
<!-- </div>-->
|
||||
<!-- }-->
|
||||
<!-- </div>-->
|
||||
<!-- </li>-->
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -41,6 +41,12 @@ const LANGUAGE_OPTIONS = [
|
||||
englishName: 'English (US)',
|
||||
dateInputFormat: 'mm/dd/yyyy',
|
||||
},
|
||||
{
|
||||
code: 'vi-vn',
|
||||
name: $localize`Vietnamese`,
|
||||
englishName: 'Vietnamese',
|
||||
dateInputFormat: 'mm/dd/yyyy',
|
||||
},
|
||||
{
|
||||
code: 'af-za',
|
||||
name: $localize`Afrikaans`,
|
||||
|
||||
Reference in New Issue
Block a user