Jonatas

add support to RTL languages

@@ -231,7 +231,14 @@ class GetMaterialApp extends StatelessWidget { @@ -231,7 +231,14 @@ class GetMaterialApp extends StatelessWidget {
231 ? <NavigatorObserver>[GetObserver(routingCallback, Get.routing)] 231 ? <NavigatorObserver>[GetObserver(routingCallback, Get.routing)]
232 : <NavigatorObserver>[GetObserver(routingCallback, Get.routing)] 232 : <NavigatorObserver>[GetObserver(routingCallback, Get.routing)]
233 ..addAll(navigatorObservers)), 233 ..addAll(navigatorObservers)),
234 - builder: builder, 234 + builder: (context, child) {
  235 + return Directionality(
  236 + textDirection: rtlLanguages.contains(Get.locale.languageCode)
  237 + ? TextDirection.rtl
  238 + : TextDirection.ltr,
  239 + child: builder(context, child),
  240 + );
  241 + },
235 title: title ?? '', 242 title: title ?? '',
236 onGenerateTitle: onGenerateTitle, 243 onGenerateTitle: onGenerateTitle,
237 color: color, 244 color: color,
@@ -258,6 +265,14 @@ class GetMaterialApp extends StatelessWidget { @@ -258,6 +265,14 @@ class GetMaterialApp extends StatelessWidget {
258 } 265 }
259 } 266 }
260 267
  268 +const List<String> rtlLanguages = <String>[
  269 + 'ar', // Arabic
  270 + 'fa', // Farsi
  271 + 'he', // Hebrew
  272 + 'ps', // Pashto
  273 + 'ur',
  274 +];
  275 +
261 abstract class Translations { 276 abstract class Translations {
262 Map<String, Map<String, String>> get keys; 277 Map<String, Map<String, String>> get keys;
263 } 278 }