mirror of
https://github.com/home-assistant/frontend.git
synced 2025-07-18 14:56:37 +00:00
POC for RTL support (#1966)
* POC for RTL support * POC for RTL support * POC for RTL support
This commit is contained in:
parent
c68604d1fe
commit
0922314134
@ -27,6 +27,9 @@ class HomeAssistantMain extends NavigateMixin(EventsMixin(PolymerElement)) {
|
|||||||
/* remove the grey tap highlights in iOS on the fullscreen touch targets */
|
/* remove the grey tap highlights in iOS on the fullscreen touch targets */
|
||||||
-webkit-tap-highlight-color: rgba(0,0,0,0);
|
-webkit-tap-highlight-color: rgba(0,0,0,0);
|
||||||
}
|
}
|
||||||
|
:host([rtl]) {
|
||||||
|
direction: rtl;
|
||||||
|
}
|
||||||
iron-pages, ha-sidebar {
|
iron-pages, ha-sidebar {
|
||||||
/* allow a light tap highlight on the actual interface elements */
|
/* allow a light tap highlight on the actual interface elements */
|
||||||
-webkit-tap-highlight-color: rgba(0,0,0,0.1);
|
-webkit-tap-highlight-color: rgba(0,0,0,0.1);
|
||||||
@ -42,7 +45,7 @@ class HomeAssistantMain extends NavigateMixin(EventsMixin(PolymerElement)) {
|
|||||||
</iron-media-query>
|
</iron-media-query>
|
||||||
|
|
||||||
<app-drawer-layout fullbleed="" force-narrow="[[computeForceNarrow(narrow, dockedSidebar)]]" responsive-width="0">
|
<app-drawer-layout fullbleed="" force-narrow="[[computeForceNarrow(narrow, dockedSidebar)]]" responsive-width="0">
|
||||||
<app-drawer id="drawer" slot="drawer" disable-swipe="[[_computeDisableSwipe(hass)]]" swipe-open="[[!_computeDisableSwipe(hass)]]" persistent="[[dockedSidebar]]">
|
<app-drawer align="start" id="drawer" slot="drawer" disable-swipe="[[_computeDisableSwipe(hass)]]" swipe-open="[[!_computeDisableSwipe(hass)]]" persistent="[[dockedSidebar]]">
|
||||||
<ha-sidebar narrow="[[narrow]]" hass="[[hass]]" default-page="[[_defaultPage]]"></ha-sidebar>
|
<ha-sidebar narrow="[[narrow]]" hass="[[hass]]" default-page="[[_defaultPage]]"></ha-sidebar>
|
||||||
</app-drawer>
|
</app-drawer>
|
||||||
|
|
||||||
@ -69,6 +72,11 @@ class HomeAssistantMain extends NavigateMixin(EventsMixin(PolymerElement)) {
|
|||||||
type: Boolean,
|
type: Boolean,
|
||||||
computed: "computeDockedSidebar(hass)",
|
computed: "computeDockedSidebar(hass)",
|
||||||
},
|
},
|
||||||
|
rtl: {
|
||||||
|
type: Boolean,
|
||||||
|
reflectToAttribute: true,
|
||||||
|
computed: "computeRTL(hass)",
|
||||||
|
},
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -123,6 +131,13 @@ class HomeAssistantMain extends NavigateMixin(EventsMixin(PolymerElement)) {
|
|||||||
return hass.dockedSidebar;
|
return hass.dockedSidebar;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
computeRTL(hass) {
|
||||||
|
return (
|
||||||
|
hass.translationMetadata.translations[hass.selectedLanguage].isRTL ||
|
||||||
|
false
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
_computeDisableSwipe(hass) {
|
_computeDisableSwipe(hass) {
|
||||||
return NON_SWIPABLE_PANELS.indexOf(hass.panelUrl) !== -1;
|
return NON_SWIPABLE_PANELS.indexOf(hass.panelUrl) !== -1;
|
||||||
}
|
}
|
||||||
|
@ -1,149 +1,150 @@
|
|||||||
{
|
{
|
||||||
"ar": {
|
"ar": {
|
||||||
"nativeName": "العربية"
|
"nativeName": "العربية"
|
||||||
},
|
},
|
||||||
"bg": {
|
"bg": {
|
||||||
"nativeName": "Български"
|
"nativeName": "Български"
|
||||||
},
|
},
|
||||||
"bs": {
|
"bs": {
|
||||||
"nativeName": "Bosanski"
|
"nativeName": "Bosanski"
|
||||||
},
|
},
|
||||||
"ca": {
|
"ca": {
|
||||||
"nativeName": "Català"
|
"nativeName": "Català"
|
||||||
},
|
},
|
||||||
"cs": {
|
"cs": {
|
||||||
"nativeName": "Čeština"
|
"nativeName": "Čeština"
|
||||||
},
|
},
|
||||||
"cy": {
|
"cy": {
|
||||||
"nativeName": "Cymraeg"
|
"nativeName": "Cymraeg"
|
||||||
},
|
},
|
||||||
"da": {
|
"da": {
|
||||||
"nativeName": "Dansk"
|
"nativeName": "Dansk"
|
||||||
},
|
},
|
||||||
"de": {
|
"de": {
|
||||||
"nativeName": "Deutsch"
|
"nativeName": "Deutsch"
|
||||||
},
|
},
|
||||||
"el": {
|
"el": {
|
||||||
"nativeName": "Ελληνικά"
|
"nativeName": "Ελληνικά"
|
||||||
},
|
},
|
||||||
"en": {
|
"en": {
|
||||||
"nativeName": "English"
|
"nativeName": "English"
|
||||||
},
|
},
|
||||||
"es": {
|
"es": {
|
||||||
"nativeName": "Español"
|
"nativeName": "Español"
|
||||||
},
|
},
|
||||||
"es-419": {
|
"es-419": {
|
||||||
"nativeName": "Español (Latin America)"
|
"nativeName": "Español (Latin America)"
|
||||||
},
|
},
|
||||||
"et": {
|
"et": {
|
||||||
"nativeName": "Eesti"
|
"nativeName": "Eesti"
|
||||||
},
|
},
|
||||||
"fa": {
|
"fa": {
|
||||||
"nativeName": "فارسی"
|
"nativeName": "فارسی"
|
||||||
},
|
},
|
||||||
"fi": {
|
"fi": {
|
||||||
"nativeName": "Suomi"
|
"nativeName": "Suomi"
|
||||||
},
|
},
|
||||||
"fr": {
|
"fr": {
|
||||||
"nativeName": "Français"
|
"nativeName": "Français"
|
||||||
},
|
},
|
||||||
"gsw": {
|
"gsw": {
|
||||||
"nativeName": "Schwiizerdütsch"
|
"nativeName": "Schwiizerdütsch"
|
||||||
},
|
},
|
||||||
"he": {
|
"he": {
|
||||||
"nativeName": "עברית"
|
"nativeName": "עברית",
|
||||||
},
|
"isRTL": true
|
||||||
"hi": {
|
},
|
||||||
"nativeName": "हिन्दी"
|
"hi": {
|
||||||
},
|
"nativeName": "हिन्दी"
|
||||||
"hr": {
|
},
|
||||||
"nativeName": "Hrvatski"
|
"hr": {
|
||||||
},
|
"nativeName": "Hrvatski"
|
||||||
"hu": {
|
},
|
||||||
"nativeName": "Magyar"
|
"hu": {
|
||||||
},
|
"nativeName": "Magyar"
|
||||||
"id": {
|
},
|
||||||
"nativeName": "Indonesia"
|
"id": {
|
||||||
},
|
"nativeName": "Indonesia"
|
||||||
"it": {
|
},
|
||||||
"nativeName": "Italiano"
|
"it": {
|
||||||
},
|
"nativeName": "Italiano"
|
||||||
"ja": {
|
},
|
||||||
"nativeName": "日本語"
|
"ja": {
|
||||||
},
|
"nativeName": "日本語"
|
||||||
"ko": {
|
},
|
||||||
"nativeName": "한국어"
|
"ko": {
|
||||||
},
|
"nativeName": "한국어"
|
||||||
"lb": {
|
},
|
||||||
"nativeName": "Lëtzebuergesch"
|
"lb": {
|
||||||
},
|
"nativeName": "Lëtzebuergesch"
|
||||||
"lt": {
|
},
|
||||||
"nativeName": "Lietuvių"
|
"lt": {
|
||||||
},
|
"nativeName": "Lietuvių"
|
||||||
"lv": {
|
},
|
||||||
"nativeName": "Latviešu"
|
"lv": {
|
||||||
},
|
"nativeName": "Latviešu"
|
||||||
"nl": {
|
},
|
||||||
"nativeName": "Nederlands"
|
"nl": {
|
||||||
},
|
"nativeName": "Nederlands"
|
||||||
"nn": {
|
},
|
||||||
"nativeName": "Norsk Nynorsk"
|
"nn": {
|
||||||
},
|
"nativeName": "Norsk Nynorsk"
|
||||||
"no": {
|
},
|
||||||
"nativeName": "Norsk"
|
"no": {
|
||||||
},
|
"nativeName": "Norsk"
|
||||||
"pl": {
|
},
|
||||||
"nativeName": "Polski"
|
"pl": {
|
||||||
},
|
"nativeName": "Polski"
|
||||||
"pt": {
|
},
|
||||||
"nativeName": "Português"
|
"pt": {
|
||||||
},
|
"nativeName": "Português"
|
||||||
"pt-BR": {
|
},
|
||||||
"nativeName": "Português (BR)"
|
"pt-BR": {
|
||||||
},
|
"nativeName": "Português (BR)"
|
||||||
"ro": {
|
},
|
||||||
"nativeName": "Română"
|
"ro": {
|
||||||
},
|
"nativeName": "Română"
|
||||||
"ru": {
|
},
|
||||||
"nativeName": "Русский"
|
"ru": {
|
||||||
},
|
"nativeName": "Русский"
|
||||||
"sk": {
|
},
|
||||||
"nativeName": "Slovenčina"
|
"sk": {
|
||||||
},
|
"nativeName": "Slovenčina"
|
||||||
"sl": {
|
},
|
||||||
"nativeName": "Slovenščina"
|
"sl": {
|
||||||
},
|
"nativeName": "Slovenščina"
|
||||||
"sr": {
|
},
|
||||||
"nativeName": "Српски"
|
"sr": {
|
||||||
},
|
"nativeName": "Српски"
|
||||||
"sr-Latn": {
|
},
|
||||||
"nativeName": "Srpski"
|
"sr-Latn": {
|
||||||
},
|
"nativeName": "Srpski"
|
||||||
"sv": {
|
},
|
||||||
"nativeName": "Svenska"
|
"sv": {
|
||||||
},
|
"nativeName": "Svenska"
|
||||||
"ta": {
|
},
|
||||||
"nativeName": "தமிழ்"
|
"ta": {
|
||||||
},
|
"nativeName": "தமிழ்"
|
||||||
"te": {
|
},
|
||||||
"nativeName": "తెలుగు"
|
"te": {
|
||||||
},
|
"nativeName": "తెలుగు"
|
||||||
"th": {
|
},
|
||||||
"nativeName": "ภาษาไทย"
|
"th": {
|
||||||
},
|
"nativeName": "ภาษาไทย"
|
||||||
"tr": {
|
},
|
||||||
"nativeName": "Türkçe"
|
"tr": {
|
||||||
},
|
"nativeName": "Türkçe"
|
||||||
"uk": {
|
},
|
||||||
"nativeName": "Українська"
|
"uk": {
|
||||||
},
|
"nativeName": "Українська"
|
||||||
"vi": {
|
},
|
||||||
"nativeName": "Tiếng Việt"
|
"vi": {
|
||||||
},
|
"nativeName": "Tiếng Việt"
|
||||||
"zh-Hans": {
|
},
|
||||||
"nativeName": "简体中文"
|
"zh-Hans": {
|
||||||
},
|
"nativeName": "简体中文"
|
||||||
"zh-Hant": {
|
},
|
||||||
"nativeName": "繁體中文"
|
"zh-Hant": {
|
||||||
}
|
"nativeName": "繁體中文"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -44,6 +44,7 @@ export interface Panel {
|
|||||||
|
|
||||||
export interface Translation {
|
export interface Translation {
|
||||||
nativeName: string;
|
nativeName: string;
|
||||||
|
isRTL: boolean;
|
||||||
fingerprints: { [fragment: string]: string };
|
fingerprints: { [fragment: string]: string };
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user