POC for RTL support (#1966)

* POC for RTL support

* POC for RTL support

* POC for RTL support
This commit is contained in:
Ronen Hayun 2018-11-03 14:21:58 +02:00 committed by Paulus Schoutsen
parent c68604d1fe
commit 0922314134
3 changed files with 165 additions and 148 deletions

View File

@ -27,6 +27,9 @@ class HomeAssistantMain extends NavigateMixin(EventsMixin(PolymerElement)) {
/* remove the grey tap highlights in iOS on the fullscreen touch targets */
-webkit-tap-highlight-color: rgba(0,0,0,0);
}
:host([rtl]) {
direction: rtl;
}
iron-pages, ha-sidebar {
/* allow a light tap highlight on the actual interface elements */
-webkit-tap-highlight-color: rgba(0,0,0,0.1);
@ -42,7 +45,7 @@ class HomeAssistantMain extends NavigateMixin(EventsMixin(PolymerElement)) {
</iron-media-query>
<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>
</app-drawer>
@ -69,6 +72,11 @@ class HomeAssistantMain extends NavigateMixin(EventsMixin(PolymerElement)) {
type: Boolean,
computed: "computeDockedSidebar(hass)",
},
rtl: {
type: Boolean,
reflectToAttribute: true,
computed: "computeRTL(hass)",
},
};
}
@ -123,6 +131,13 @@ class HomeAssistantMain extends NavigateMixin(EventsMixin(PolymerElement)) {
return hass.dockedSidebar;
}
computeRTL(hass) {
return (
hass.translationMetadata.translations[hass.selectedLanguage].isRTL ||
false
);
}
_computeDisableSwipe(hass) {
return NON_SWIPABLE_PANELS.indexOf(hass.panelUrl) !== -1;
}

View File

@ -1,149 +1,150 @@
{
"ar": {
"nativeName": "العربية"
},
"bg": {
"nativeName": "Български"
},
"bs": {
"nativeName": "Bosanski"
},
"ca": {
"nativeName": "Català"
},
"cs": {
"nativeName": "Čeština"
},
"cy": {
"nativeName": "Cymraeg"
},
"da": {
"nativeName": "Dansk"
},
"de": {
"nativeName": "Deutsch"
},
"el": {
"nativeName": "Ελληνικά"
},
"en": {
"nativeName": "English"
},
"es": {
"nativeName": "Español"
},
"es-419": {
"nativeName": "Español (Latin America)"
},
"et": {
"nativeName": "Eesti"
},
"fa": {
"nativeName": "فارسی"
},
"fi": {
"nativeName": "Suomi"
},
"fr": {
"nativeName": "Français"
},
"gsw": {
"nativeName": "Schwiizerdütsch"
},
"he": {
"nativeName": "עברית"
},
"hi": {
"nativeName": "हिन्दी"
},
"hr": {
"nativeName": "Hrvatski"
},
"hu": {
"nativeName": "Magyar"
},
"id": {
"nativeName": "Indonesia"
},
"it": {
"nativeName": "Italiano"
},
"ja": {
"nativeName": "日本語"
},
"ko": {
"nativeName": "한국어"
},
"lb": {
"nativeName": "Lëtzebuergesch"
},
"lt": {
"nativeName": "Lietuvių"
},
"lv": {
"nativeName": "Latviešu"
},
"nl": {
"nativeName": "Nederlands"
},
"nn": {
"nativeName": "Norsk Nynorsk"
},
"no": {
"nativeName": "Norsk"
},
"pl": {
"nativeName": "Polski"
},
"pt": {
"nativeName": "Português"
},
"pt-BR": {
"nativeName": "Português (BR)"
},
"ro": {
"nativeName": "Română"
},
"ru": {
"nativeName": "Русский"
},
"sk": {
"nativeName": "Slovenčina"
},
"sl": {
"nativeName": "Slovenščina"
},
"sr": {
"nativeName": "Српски"
},
"sr-Latn": {
"nativeName": "Srpski"
},
"sv": {
"nativeName": "Svenska"
},
"ta": {
"nativeName": "தமிழ்"
},
"te": {
"nativeName": "తెలుగు"
},
"th": {
"nativeName": "ภาษาไทย"
},
"tr": {
"nativeName": "Türkçe"
},
"uk": {
"nativeName": "Українська"
},
"vi": {
"nativeName": "Tiếng Việt"
},
"zh-Hans": {
"nativeName": "简体中文"
},
"zh-Hant": {
"nativeName": "繁體中文"
}
"ar": {
"nativeName": "العربية"
},
"bg": {
"nativeName": "Български"
},
"bs": {
"nativeName": "Bosanski"
},
"ca": {
"nativeName": "Català"
},
"cs": {
"nativeName": "Čeština"
},
"cy": {
"nativeName": "Cymraeg"
},
"da": {
"nativeName": "Dansk"
},
"de": {
"nativeName": "Deutsch"
},
"el": {
"nativeName": "Ελληνικά"
},
"en": {
"nativeName": "English"
},
"es": {
"nativeName": "Español"
},
"es-419": {
"nativeName": "Español (Latin America)"
},
"et": {
"nativeName": "Eesti"
},
"fa": {
"nativeName": "فارسی"
},
"fi": {
"nativeName": "Suomi"
},
"fr": {
"nativeName": "Français"
},
"gsw": {
"nativeName": "Schwiizerdütsch"
},
"he": {
"nativeName": "עברית",
"isRTL": true
},
"hi": {
"nativeName": "हिन्दी"
},
"hr": {
"nativeName": "Hrvatski"
},
"hu": {
"nativeName": "Magyar"
},
"id": {
"nativeName": "Indonesia"
},
"it": {
"nativeName": "Italiano"
},
"ja": {
"nativeName": "日本語"
},
"ko": {
"nativeName": "한국어"
},
"lb": {
"nativeName": "Lëtzebuergesch"
},
"lt": {
"nativeName": "Lietuvių"
},
"lv": {
"nativeName": "Latviešu"
},
"nl": {
"nativeName": "Nederlands"
},
"nn": {
"nativeName": "Norsk Nynorsk"
},
"no": {
"nativeName": "Norsk"
},
"pl": {
"nativeName": "Polski"
},
"pt": {
"nativeName": "Português"
},
"pt-BR": {
"nativeName": "Português (BR)"
},
"ro": {
"nativeName": "Română"
},
"ru": {
"nativeName": "Русский"
},
"sk": {
"nativeName": "Slovenčina"
},
"sl": {
"nativeName": "Slovenščina"
},
"sr": {
"nativeName": "Српски"
},
"sr-Latn": {
"nativeName": "Srpski"
},
"sv": {
"nativeName": "Svenska"
},
"ta": {
"nativeName": "தமிழ்"
},
"te": {
"nativeName": "తెలుగు"
},
"th": {
"nativeName": "ภาษาไทย"
},
"tr": {
"nativeName": "Türkçe"
},
"uk": {
"nativeName": "Українська"
},
"vi": {
"nativeName": "Tiếng Việt"
},
"zh-Hans": {
"nativeName": "简体中文"
},
"zh-Hant": {
"nativeName": "繁體中文"
}
}

View File

@ -44,6 +44,7 @@ export interface Panel {
export interface Translation {
nativeName: string;
isRTL: boolean;
fingerprints: { [fragment: string]: string };
}