现在我有一个字符串(在ltr中)
希伯来文(3)
当我使用dir ="rtl"或direction:rtl来重定向它实际上的字符串:
מחיראחד(3)
(实际上我刚进入希伯来字符(3)它自动变得像上面↑)
有什么方法可以让它像
(3)希伯来文
(使用html或css)
让我首先说明我想要实现的目标:
为Android操作系统创建补丁,使其能够正确显示阿拉伯语/希伯来语.这两种语言都是从右到左(RTL),它们的脚本涉及连接的字母/ 字形(与具有离散字母的拉丁字母不同).
例:
"汽车"的阿拉伯语单词是:
سيارة
离散字母看起来像这样:
سيارة
正如您所看到的,每个字母以不同的方式连接到彼此的字母,具体取决于它之前和之后的内容.好的,语言课程足够:)我的问题是:
我需要劫持什么二进制/类来启用此功能?
另一种说法是; 如果你希望每个实例"x"在系统范围内显示为"y",你需要干什么二进制/类?
源代码可以在GitHub浏览:http://github.com/android/
我认为它可能位于C/C++ platform_system_core或其自定义JVM platfom_dalvik之下.
需要明确的是,字体不是问题,因为您可以将阿拉伯语/希伯来语字体作为后备字体删除,并且它们会显示,尽管是以离散形式显示的.
非常感谢你的帮助:)
我正在努力在iPhone应用程序中创建RTL UI.该框架似乎没有任何RTL语言支持.唯一的事情是标签内部的对齐,这很好,但它与其他控件行为冲突.
问题是:是否有RTL TableView的工作代码?将处理公开按钮的东西放在左边,部分标题要右对齐,索引视图要左对齐?
据我所知,我无法移动tableview的索引视图,我必须覆盖一些自定义控件...
有什么建议/指针/例子吗?
ps这不是这个问题的重复:UITableView的右对齐, 因为我正在寻找的是更深层次的自定义,而不仅仅是一种新型的CellView.
(更新:3月10日)现在-因为我已经删除的支持indexView从tableView根本,实施了细胞的自定义视图通过我自己(与左边的按钮披露),以及自定义表的页眉/页脚为好.唯一剩下的就是Index View.
要创建阿拉伯语 JFileChooser (RTL),我使用以下命令:
\n\n我的文件选择器:
\n\nimport javax.swing.JOptionPane;\nimport javax.swing.UIManager;\nimport javax.swing.JFileChooser;\nimport javax.swing.filechooser.FileNameExtensionFilter;\nimport javax.swing.filechooser.FileView;\nimport java.io.File;\nimport java.awt.ComponentOrientation;\nimport java.awt.Dimension;\npublic class MyFileChooser extends JFileChooser\n{\n private String extension;\n private String title;\n public MyFileChooser(String extension, String title)\n {\n super();\n this.extension = extension;\n this.title = title;\n addChoosableFileFilter(new FileNameExtensionFilter(String.format("(*.%1$s) \xd9\x81\xd9\x82\xd8\xb7 %1$s \xd9\x85\xd9\x84\xd9\x81\xd8\xa7\xd8\xaa", extension), extension));\n applyComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT);\n //setPreferredSize(new Dimension(450, 350));\n }\n\n @Override public String getDialogTitle()\n {\n return title;\n }\n\n @Override public File getSelectedFile()\n {\n File selectedFile = super.getSelectedFile();\n if(selectedFile != null)\n {\n String name = selectedFile.getName();\n if(!name.contains(".")) selectedFile = new File(selectedFile.getParentFile(), …Run Code Online (Sandbox Code Playgroud) 我想显示一个带有我的应用名称的字符串,它是当前版本.应用程序名称是希伯来语,对于某些人,当我将希伯来文本与数值组合时,数值会被翻转.
versionTextView.setText("???????? ???? "+this.getResources().getString(R.string.app_version));
Run Code Online (Sandbox Code Playgroud)
例如:应用版本为1.0,在模拟器上显示为0.1.
我正在实现一个 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/
我开发了一个iOS应用程序,我的母语是波斯语(一种从右到左的语言).如何在iOS编程中将UITableView方向更改为从右到左?
具有RTL方向的UITableView具有:
像这样 :
是否有任何UI或编程方式来执行此操作?
出于某种原因,当我使用 RTL 时,我的 ListView 中的第一个条目总是以错误的方式翻转。例如:
ListView 位于 DialogFragment 中。
我已经更新了我的清单以支持 RTL(应用程序的其余部分工作正常)
ListView 有一个 Adapter,每个项目的布局如下所示:
<ImageView
android:id="@+id/dropdown_icon"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:adjustViewBounds="true"
android:scaleType="fitCenter"
android:src="@drawable/photo_button_disabled"
android:layout_gravity="center_horizontal"/>
<ImageView
android:id="@+id/count_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:clickable="false"
android:scaleType="fitCenter"
android:layout_alignEnd="@+id/dropdown_icon"
android:layout_alignRight="@+id/dropdown_icon"
android:layout_alignStart="@+id/dropdown_icon"
android:layout_alignLeft="@+id/dropdown_icon"
android:layout_alignTop="@+id/dropdown_icon"
android:layout_alignBottom="@+id/dropdown_icon"
android:adjustViewBounds="true"/>
Run Code Online (Sandbox Code Playgroud)
虽然对话框片段的布局如下所示:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent"
android:descendantFocusability="beforeDescendants"
android:focusableInTouchMode="true"
android:background="@drawable/rounded_bg">
<TextView
android:id="@+id/title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColor="@android:color/white"
android:textStyle="bold"
android:textSize="@dimen/dialog_title"
android:padding="10dp"/>
<LinearLayout
android:layout_below="@+id/title"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<!-- This table should be populated with all the different options -->
<ListView
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:id="@+id/entry_list"
android:divider="?android:attr/dividerHorizontal" …Run Code Online (Sandbox Code Playgroud) 最近,我不得不在我的机器上重新安装 Windows 11。所以,在那之后,我不得不再次安装VSCode(因此,我有最新版本的VSCode)。
现在,每当我在代码中选择任何波斯语句子(字符串)时,IDE 都会显示一个与正确字符串相差甚远的混乱字符串。我无法在此处将正确和错误的句子显示为文本,因为复制和粘贴会以正确的格式显示结果。因此,我必须将它们作为图像提供。(如有不便,敬请谅解)
对于不熟悉波斯语的人来说,这可能有点难以理解。通过查看$creatorId两张图片中的第一个单词就可以理解其中的差异。
如果我们想用阿拉伯语或其他从右到左的语言书写,也可能会发生这种情况。
如果您能提出任何建议来避免这种情况,我们将不胜感激。
我想用 JavaFX 显示文本。该消息是波斯语或阿拉伯语。然而,如此处所述,波斯语或阿拉伯语字母的表示形状取决于其相邻字母。
如果我构建一个包含整个消息的TextFlow单个消息,它会正确显示。Text但是当我将它分割成多个Texts 时,消息就被破坏了。
例如,以下代码片段产生上图:
public class HelloFX extends Application {
@Override
public void start(Stage stage) throws Exception {
Font font = new Font("Arial", 48);
String message = "\u0627\u0644\u0633\u0644\u0627\u0645 \u0639\u0644\u064a\u0643\u0645";
TextFlow textFlow1 = new TextFlow();
Text text1 = new Text(message);
text1.setFont(font);
textFlow1.getChildren().addAll(text1);
TextFlow textFlow2 = new TextFlow();
for (int i = 0; i < message.length(); i++) {
char ch = message.charAt(i);
Text text2 = new Text(ch + "");
if (i % …Run Code Online (Sandbox Code Playgroud) right-to-left ×10
android ×3
arabic ×3
css ×2
farsi ×2
hebrew ×2
html ×2
java ×2
bidi ×1
glyph ×1
ios ×1
iphone ×1
javafx ×1
jfilechooser ×1
layout ×1
listview ×1
localization ×1
swift ×1
swing ×1
uitableview ×1