diff --git a/src/layouts/home-assistant-main.js b/src/layouts/home-assistant-main.js index aed68ad85c..2dff9ed87b 100644 --- a/src/layouts/home-assistant-main.js +++ b/src/layouts/home-assistant-main.js @@ -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)) { - + @@ -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; } diff --git a/src/translations/translationMetadata.json b/src/translations/translationMetadata.json index aeb5f81a0f..3a31673c25 100644 --- a/src/translations/translationMetadata.json +++ b/src/translations/translationMetadata.json @@ -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": "繁體中文" + } } diff --git a/src/types.ts b/src/types.ts index 6cc016d2ee..0699af1e67 100644 --- a/src/types.ts +++ b/src/types.ts @@ -44,6 +44,7 @@ export interface Panel { export interface Translation { nativeName: string; + isRTL: boolean; fingerprints: { [fragment: string]: string }; }