标签: rtl-language

使用Sublime Text编辑器的阿拉伯语

我有一个sublime文本编辑器的问题,不支持RTL语言!我已尝试 使用windows os 双向文本支持插件我已将zip中的所有文件复制Sublime-Text-2-BIDI-master到ST3文件夹中并更改了字体类型和大小...然后我复制unicodedata.pyd到C:\Users\USERNAME\AppData\Roaming\Sublime Text 2\Packages\Bidirectional text support\bidi那时Tools > Bidirectional text部分看起来不再是灰色了但是它还是残疾人 我也复制了这两行:sys.platform.startswith('win'):sys.path.append('../../ ..')但它没有用.

arabic sublimetext sublimetext3 rtl-language

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

如何在通知中处理混合RTL和LTR语言?

背景

Android 4.3增加了对RTL(从右到左)语言的大量支持,例如希伯来语和阿拉伯语.

问题

即使有"textDirection","layoutDirection"和"gravity",我找不到通知构建器的等价物,甚至在兼容性库中也找不到.

这意味着如果一起有希伯来语和英语单词,则顺序错误.例如(为简单起见,我用英文写):

而不是"X叫Y",你得到"Y叫X"(假设"被称为"是希伯来语中的一个单词),因为该字符串应该采用以下格式:

<string name="notification">%1$s called %2$s</string>
Run Code Online (Sandbox Code Playgroud)

注意:X和Y可以是RTL或LTR字(和偶数).

要求是在希伯来语中,右边的单词应该是X,然后单词"被叫"(当然是希伯来语),然后是左边的Y. 正如我试图在英语类比例子中展示的那样,情况正好相反.

我试过的

一个.我试图搜索文档,我发现的是我可能需要覆盖布局,但这不是一个好的解决方案.原因:

  1. 我可能不会使用Android的正确样式.
  2. 对于可能使用不同样式的下一个Android版本来说,这不是未来的证据.
  3. 它不支持自动收报机文本.

湾 我还试图调查哪些特殊字符会强制文本方向不同,并且通过在显示的文本的开头和结尾添加'\ u200f'来起作用,但它有一些缺陷:

  1. 它没有其他属性那么灵活.
  2. 我不确定我是否使用官方方式来处理这个问题.
  3. 我每次使用通知时都需要添加此项
  4. 它对tickerText完全不起作用.仅适用于通知,即便如此,并非适用于所有情况.

这是一个示例代码:

/** prepares a string to be shown in a notification, so that it will be shown even on RTL languages */
@TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR1)
public static String prepareNotificationText(final Context context, final String text) {
    if (VERSION.SDK_INT < VERSION_CODES.JELLY_BEAN_MR1)
        return text;
    final boolean isRTL = context.getResources().getConfiguration().getLayoutDirection() == View.LAYOUT_DIRECTION_RTL;
    if (!isRTL)
        return text;
    return '\u200f' + text …
Run Code Online (Sandbox Code Playgroud)

android hebrew android-notifications android-support-library rtl-language

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

使用android时禁用自动更改布局方向:supportsRTL ="true"

我的应用程序将来必须支持RTL和LTR语言,但现在只支持RTL.当我在每个布局中使用android:supportsRTL="true"时android:layoutDirection="end",NavigationView和工具栏以及其他一切都很好.

但唯一的问题是,当用户将系统语言更改为LTR语言时,由于布局方向的改变,一切都会出错.

我需要什么:我必须设置supportsRTL:"true".当用户在启动时选择"应用程序"语言而不是根据操作系统语言时,我需要以编程方式更改布局方向.

问题:有没有办法通过更改操作系统语言来防止自动更改布局方向(不是通过设置supportsRTL false)?

见下图:

supportsRTL =

如果我设置android:supportRTL="false"并设计RTL的布局,工具栏和导航的菜单方向将成为我的新烦恼.

见下图:

supportsRTL =

android multiple-languages android-layout rtl-language

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