标签: left-to-right

以从右到左的语言从左到右显示电话号码

我有一个用户联系人详细信息的显示,用户可以在从左到右和从右到左文本之间交替显示.

在阿拉伯语中,文本从右向左显示和阅读,但电话号码,网址和电子邮件地址以阿拉伯语和其他从右向左的语言从左向右显示和读取.

我已经能够交替显示用户的联系方式,但是当电话号码中有空格时,电话号码不会从左到右显示.这是我所遇问题的直观显示:

以下是英语中从左到右的显示: 在此输入图像描述

以下是与上述相同的详细信息,但在阿拉伯语中从右向左显示(电话号码(以浅灰色显示)有空格且未正确显示):

在此输入图像描述

以下是相同的细节,用阿拉伯语从右向左显示,但从电话号码中删除了空格(电话号码(用浅色)在这里正确显示):

在此输入图像描述

有没有人知道如何以从右到左的语言从左到右显示带有空格的电话号码?

这是我的HTML代码:

<div class="row contact_reverse">
    {{ #if contact_details_phone }}
        <div class="col-sm-4 col-md-4 col-lg-4 ellipsis contact_reverse" dir="rtl" style="direction: rtl;">
            <i class="fa fa-phone icon_size20 icon_padding_rtl"></i><span class="contact_dir_reverse">{{ contact_details_phone }}</span>
        </div>
    {{ /if }}

    {{ #if contact_details_mobile_phone }}
        <div class="col-sm-4 col-md-4 col-lg-4 ellipsis contact_reverse" dir="rtl" style="direction: rtl;">
            <i class="fa fa-tablet icon_size20 icon_padding_rtl"></i><span class="contact_dir_reverse">{{ contact_details_mobile_phone }}</span>
        </div>
    {{ /if }}

    {{ #if contact_details_email_address }}
        <div class="col-sm-4 col-md-4 col-lg-4 ellipsis contact_reverse" dir="rtl" style="direction: rtl;">
            <i class="fa fa-envelope icon_size20 …
Run Code Online (Sandbox Code Playgroud)

html css right-to-left left-to-right

13
推荐指数
1
解决办法
5696
查看次数

如何从左到右的方向打印阿拉伯字符

我有一系列英文和阿拉伯文字,应该以对齐的方式打印.

例如:

List<Character> ar = new ArrayList<Character>();
ar.add('?');
ar.add('?');
ar.add('?');

List<Character> en = new ArrayList<Character>();
en.add('a');
en.add('b');
en.add('c');

System.out.println("ArArray: " + ar);
System.out.println("EnArray: " + en);   
Run Code Online (Sandbox Code Playgroud)

预期产出:

ArArray: [?, ?, ?] // <- I want characters to be printed in the order they were added to the list
EnArray: [a, b, c]
Run Code Online (Sandbox Code Playgroud)

实际产量:

ArArray: [?, ?, ?] // <- but they're printed in reverse order
EnArray: [a, b, c]
Run Code Online (Sandbox Code Playgroud)

有没有办法在从左到右的方向打印阿拉伯字符而不在输出之前明确地反转列表?

java unicode left-to-right

10
推荐指数
1
解决办法
2246
查看次数

在方向改变后加载"layout-ldltr"布局的android bug是否对"layout-ldrtl"?

萨拉姆.

在我的项目中,我必须为语言和语言创建两者layout-ldltrlayout-ldrtl布局.Right-To-LeftLeft-To-Right

我启动了从右到左语言的应用程序,每件事都很好.但是当方向改变时,android加载layout-ldltr布局反对layout-ldrtl,虽然当前Locale设置为RTL语言!

怎么解决这个问题?!

AndroidManifest.xml

<application
    android:name=".QuranApplication"
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:supportsRtl="true"
    android:theme="@style/AppTheme">
Run Code Online (Sandbox Code Playgroud)

layout-ldrtl\activity_main.xml:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:layoutDirection="rtl">

<include layout="@layout/toolbar" />

<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/drawer_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_weight="1"
    android:layoutDirection="rtl">

    <FrameLayout
        android:id="@+id/content_frame"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layoutDirection="rtl"/>

    <include
        layout="@layout/list_view"
        android:layout_width="@dimen/drawer_width"
        android:layout_height="match_parent"
        android:layout_gravity="start" />
</android.support.v4.widget.DrawerLayout>
Run Code Online (Sandbox Code Playgroud)

UPDATE

在@JohanShogun评论之后,我改变android:layoutDirection="rtl"android:layoutDirection="locale"并解决了大多数项目的问题.

在第一张照片中,所有元素都显示非常好:

纵向

在横向模式下,在粘贴在屏幕顶部的标题项中的StickyListHeader列表视图中,从ltr布局使用android !:

景观方向

android android-layout right-to-left left-to-right android-5.0-lollipop

8
推荐指数
1
解决办法
2644
查看次数

如何在同一个 &lt;option&gt; 元素中混合 RTL 和 LTR 文本方向?

我正在实现一个 RTL 接口。所有组件和文本都是 RTL,但数字是 LTR。

我使用<span dir="ltr">元素将 LTR 文本插入到主要的 RTL 文本中。

它适用于大多数情况,但不适用于<option>元素:

<div dir="rtl">
  <select>
    <option>One amount <span dir="ltr">15.000</span> coins</option>
    <option>Other amount <span dir="ltr">19?000</span> coins</option>
  </select>
</div>
Run Code Online (Sandbox Code Playgroud)

它不工作。

这里有一个 JSfiddle 可以玩:https ://jsfiddle.net/fguillen/2hngzv3d/

html css localization right-to-left left-to-right

7
推荐指数
1
解决办法
3185
查看次数

如何确定View(RTL/LTR)的当前方向?

背景

可以使用以下方法获取当前的语言环境方向:

val isRtl=TextUtilsCompat.getLayoutDirectionFromLocale(Locale.getDefault()) == ViewCompat.LAYOUT_DIRECTION_RTL
Run Code Online (Sandbox Code Playgroud)

如果开发人员设置了它,也可以获得视图的布局方向:

val layoutDirection = ViewCompat.getLayoutDirection(someView)
Run Code Online (Sandbox Code Playgroud)

问题

视图的默认layoutDirection不基于其语言环境.它实际上是LAYOUT_DIRECTION_LTR.

当您将设备的语言环境从LTR(从左到右)语言环境(如英语)更改为RTL(从右到左)语言环境(如阿拉伯语或希伯来语)时,视图将相应地对齐,但值为默认获取视图将保留LTR ...

这意味着在给定视图的情况下,我看不出如何确定它将采用的正确方向.

我试过的

我做了一个简单的POC.它有一个带有TextView的LinearLayout:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    android:id="@+id/linearLayout" xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
    android:layout_height="match_parent" android:gravity="center_vertical" tools:context=".MainActivity">

    <TextView
        android:id="@+id/textView" android:layout_width="wrap_content" android:layout_height="wrap_content"
        android:text="Hello World!"/>

</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

在代码中,我编写了语言环境和视图的方向:

class MainActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        val isRtl = TextUtilsCompat.getLayoutDirectionFromLocale(Locale.getDefault()) == ViewCompat.LAYOUT_DIRECTION_RTL
        Log.d("AppLog", "locale direction:isRTL? $isRtl")
        Log.d("AppLog", "linearLayout direction:${layoutDirectionValueToStr(ViewCompat.getLayoutDirection(linearLayout))}")
        Log.d("AppLog", "textView direction:${layoutDirectionValueToStr(ViewCompat.getLayoutDirection(textView))}")
    }

    fun layoutDirectionValueToStr(layoutDirection: Int): String =
            when (layoutDirection) {
                ViewCompat.LAYOUT_DIRECTION_INHERIT -> …
Run Code Online (Sandbox Code Playgroud)

android locale android-layout right-to-left left-to-right

6
推荐指数
1
解决办法
1430
查看次数

如何在HTML文档中混合希伯来语和拉丁文?

我有一个包含希伯来文和拉丁文的html文档.它用utf-8编码:

<!DOCTYPE HTML>
<html>
<head>
  <title>Title</title>
  <meta http-equiv='Content-Type' content='text/html; charset=utf-8'/>
</head>

<style type='text/css'> 
     .h  { color: green}
</style>

<body>

   <div>
      here are some words ??? ??? ????? (100, 200)
   </div>

   <div>
      here are some words <span class='h'>??? ??? ?????</span> (100, 200)
   </div>

   <div>
      here are some words <span class='h'>??? ??? ?????</span> <span>(100, 200)</span>
   </div>

   <div>
      here are some words <span class='h'>??? ??? ?????</span> <b>WORD</b> <span>(100, 200)</span>
   </div>

</body>
</html>
Run Code Online (Sandbox Code Playgroud)

我认为应该显示前三行.第四个(<b>WORD</b>在parantheses面前的附加是.

以下是此文档在Firefox中的显示方式:

Firefox的渲染

编辑甚至我的html文本的复制/粘贴都没有正常工作,所以这里是原始html的屏幕截图(抱歉,但似乎无法正确呈现此文本):

在此输入图像描述

html hebrew right-to-left left-to-right

5
推荐指数
1
解决办法
1471
查看次数

自动从ltr到rtl设计

我有一个 LFR(从左到右)格式的法语网站,客户希望将该网站翻译成希伯来语,从而将其转换为 RTL(从右到左)格式。所有希伯来语网站的设计都是相反的

https://he.wikipedia.org/wiki/

https://www.google.co.il/

有没有办法自动执行此操作?再说一遍,我不是在谈论文本方向。我想把它水平翻转设计,像镜面效果一样。

translation hebrew right-to-left left-to-right

5
推荐指数
1
解决办法
746
查看次数

连接混合从右到左和从左到右语言字符串时的奇怪行为

输入:

\n

tempTextArray:\n\xe2\x96\xbf 3 个元素

\n
- 0 : "\xd7\x96\xd7\x94 \xd7\x9e\xd7\x91\xd7\x97\xd7\x9f"\n- 1 : "7 x 5 abc"\n- 2 : "other text"\n
Run Code Online (Sandbox Code Playgroud)\n

当做一个简单的tempText = tempTextArray.joined(" | ")结果时,结果并没有将所有元素放置在我期望的位置...结果:

\n
Printing description of tempText:\n"\xd7\x96\xd7\x96\xd7\x94 \xd7\x9e\xd7\x91\xd7\x97\xd7\x9f | 7 x 5 abc | other text"\n
Run Code Online (Sandbox Code Playgroud)\n

这是我第一次将从右到左与从左到右的文本结合起来,以前有人处理过类似的情况吗?

\n

我的应用程序正在从后端接收翻译,因此我不知道哪些元素被翻译成(在本例中)希伯来语,以及我将以默认语言(英语)收到哪些元素

\n

arrays right-to-left ios left-to-right swift

5
推荐指数
1
解决办法
487
查看次数

从右到左,从左到右印刷得很好

我想让它产生一个单词旁边的数字,这样我就可以要求用户使用相应的数字来选择单词.

这是我的代码

alt_words = hlst
loopnum = 8
for i in range(loopnum):
        if i < len(alt_words):
            print('{0}. {1:<20}'.format((i+1), alt_words[i]), end =' ')
            if i == 0:
                print('', end=' ')
        if i + 9 <= len(alt_words):
            print('{0}. {1:<20}'.format((i+9), alt_words[i+8]), end =' ')
        if i + 17 <= len(alt_words):
            print('{0}.  {1:<20}'.format((i+17), alt_words[i+16]), end=' ')
        print('\n'+'-'*80)
Run Code Online (Sandbox Code Playgroud)

它产生了这个 代码输出

每行的第一个数字打印在左侧,但是右侧的单词,而其余的数字和单词打印在RTL上.似乎一旦python开始在LTR线上打印,它就可以切换到RTL,但不能从RTL返回到LTR.请注意,即使周期打印在每行第二组数字的数字右侧.

它工作得很好,用英文单词看起来不错:

python表在英语中工作

我猜一个工作可能涉及把数字放在后面,但我认为必须有一个更好的方法.

python hebrew right-to-left python-3.x left-to-right

3
推荐指数
2
解决办法
3718
查看次数

如何在Android TextView中为每行设置重力?

我有一个包含英语和波斯语的字符串。我想如果一行以波斯字符开头,那么该行在文本视图中从右到左显示;如果一行以英文字符开头,则该行从左到右显示。

注意:我想在文本视图中为每条线设置重力/方向。

如何在android textview中实现它。

这是我的textview xml代码:

    <TextView
        android:id="@+id/textViewContent"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_alignParentRight="true"
        android:autoLink="web"
        android:layoutDirection="rtl"
        android:gravity="start"
        android:layout_gravity="start"
        android:text="My Text"
        android:textColor="#000"
        android:textDirection="rtl" />
Run Code Online (Sandbox Code Playgroud)

android textview right-to-left left-to-right

2
推荐指数
1
解决办法
586
查看次数

如何将react-native应用程序保持为LTR(从左到右)

我创建了一个简单的聊天应用程序,它在使用react-native时看起来非常好,但是在(从右到左)语言上它看起来很糟糕并且布局没有响应。device languageleft to rightdevices with RTL

那么,即使在具有类似..的设备上,我怎样才能做到forcefully keep这一点呢?LTR(left to right)RTL languagespersian, arabic, dari, pashto, urdo

android right-to-left ios left-to-right react-native

1
推荐指数
1
解决办法
1672
查看次数

表达式评估期间,运算符的关联性如何工作?

我正在学习C ++中的优先规则。据说其中条件运算符具有从右到左的关联性。我将其解释为对表达式的评估从右开始,然后从左开始。因此,对于以下代码,

int a=1, b=2, c;
c=a>b? a=a*2: a=a+3;
cout<<c<<" "<<a;
Run Code Online (Sandbox Code Playgroud)

我假设输出为

8 8
Run Code Online (Sandbox Code Playgroud)

但是实际输出是

4 4
Run Code Online (Sandbox Code Playgroud)

我不了解这种关联性实际上是如何工作的,因为从上面的输出中,在我看来,条件运算符已经从左到右具有关联性。

c++ conditional-operator associativity right-to-left left-to-right

0
推荐指数
1
解决办法
54
查看次数