Skip to content

Commit

Permalink
fix(admin-ui): all Arabic tokens translated (100%) (#2287)
Browse files Browse the repository at this point in the history
  • Loading branch information
wpplumber authored Jul 18, 2023
1 parent f1d62ad commit 83ecec9
Show file tree
Hide file tree
Showing 8 changed files with 807 additions and 4 deletions.
1 change: 1 addition & 0 deletions packages/admin-ui-plugin/src/constants.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ export const defaultLanguage = LanguageCode.en;
export const defaultLocale = undefined;

export const defaultAvailableLanguages = [
LanguageCode.ar,
LanguageCode.de,
LanguageCode.en,
LanguageCode.es,
Expand Down
11 changes: 8 additions & 3 deletions packages/admin-ui/i18n-coverage.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,12 @@
{
"generatedOn": "2023-07-12T12:33:44.002Z",
"lastCommit": "4d01ab53b3d078f4cc2478d764d3dc87d61520da",
"generatedOn": "2023-07-15T10:37:14.708Z",
"lastCommit": "77aaf8f4bac72468bdeb28aae858035d2a579ef7",
"translationStatus": {
"ar": {
"tokenCount": 740,
"translatedCount": 740,
"percentage": 100
},
"cs": {
"tokenCount": 740,
"translatedCount": 545,
Expand All @@ -14,7 +19,7 @@
},
"en": {
"tokenCount": 740,
"translatedCount": 739,
"translatedCount": 740,
"percentage": 100
},
"es": {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<div class="app-container">
<div class="app-container" [dir]="direction$ | async">
<div class="left-nav" [class.expanded]="mainNavExpanded$ | async">
<div class="branding">
<a [routerLink]="['/']" *ngIf="!hideVendureBranding"><img src="assets/logo-top.webp" class="logo" style="max-width: 100px" /></a>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ import { UiLanguageSwitcherDialogComponent } from '../ui-language-switcher-dialo
export class AppShellComponent implements OnInit {
userName$: Observable<string>;
uiLanguageAndLocale$: Observable<[LanguageCode, string | undefined]>;
direction$: Observable<'ltr' | 'rtl'>;
availableLanguages: LanguageCode[] = [];
hideVendureBranding = getAppConfig().hideVendureBranding;
pageTitle$: Observable<string>;
Expand Down Expand Up @@ -50,6 +51,9 @@ export class AppShellComponent implements OnInit {
this.mainNavExpanded$ = this.dataService.client
.uiState()
.stream$.pipe(map(({ uiState }) => uiState.mainNavExpanded));
this.direction$ = this.uiLanguageAndLocale$.pipe(
map(([languageCode]) => (this.i18nService.isRTL(languageCode) ? 'rtl' : 'ltr')),
);
}

selectUiLanguage() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,10 @@ export class MockI18nService implements MockOf<I18nService> {
return key as string;
}

isRTL(): boolean {
return false;
}

availableLanguages: LanguageCode[];
setAvailableLanguages: (languages: LanguageCode[]) => void;
_availableLanguages: LanguageCode[];
Expand Down
14 changes: 14 additions & 0 deletions packages/admin-ui/src/lib/core/src/providers/i18n/i18n.service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -47,4 +47,18 @@ export class I18nService {
translate(key: string | string[], params?: any): string {
return this.ngxTranslate.instant(key, params);
}

/**
* Returns true if the given language code is a right-to-left language.
*/
isRTL(languageCode: LanguageCode): boolean {
const rtlLanguageCodes = [
LanguageCode.ar,
LanguageCode.he,
LanguageCode.fa,
LanguageCode.ur,
LanguageCode.ps,
];
return rtlLanguageCodes.includes(languageCode);
}
}
774 changes: 774 additions & 0 deletions packages/admin-ui/src/lib/static/i18n-messages/ar.json

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions packages/admin-ui/src/lib/static/vendure-ui-config.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
"authTokenHeaderKey": "vendure-auth-token",
"defaultLanguage": "en",
"availableLanguages": [
"ar",
"en",
"es",
"zh_Hant",
Expand Down

0 comments on commit 83ecec9

Please sign in to comment.