kean / Pulse

Network logger for Apple platforms
https://pulselogger.com
MIT License
6.18k stars 294 forks source link

fix: Text writing direction to handle RTL languages (#114) #233

Closed Mr-Alirezaa closed 6 months ago

Mr-Alirezaa commented 7 months ago

Overview

This pull request addresses a text alignment issue in right-to-left (RTL) user interfaces within text view, specifically related to text being aligned at the trailing edge of text views. The problem is also detailed in Issue #114.

Solution

To resolve this, I have implemented a fix by setting the baseWritingDirection in the paragraph styles to override the default behavior.

Considerations

It's important to note that this fix might alter the appearance of logs completely written in RTL languages. However, this change is justified, considering the limitations in Xcode's editor regarding RTL language support, especially when RTL strings are combined with String Interpolation. As a result, string literals, particularly for logging purposes like network logs, are predominantly written in English.

Furthermore, considering network logging specifically, many standards and protocols are inherently in English, including standard headers and their values. This consideration supports the decision to enforce a left-to-right base writing direction for improved readability and consistency in such contexts.

Before the Fix After the Fix
Simulator Screenshot - iPhone 15 - 2024-01-23 at 21 42 12 Simulator Screenshot - iPhone 15 - 2024-01-23 at 22 01 17
kean commented 6 months ago

Awesome, thank you for your contribution @Mr-Alirezaa!