9

私は現在、最初は英語のみだったウェブサイトのローカライズに取り組んでいます。サード パーティの会社が翻訳を行い、翻訳を含む Excel ファイルを提供してくれました。ビューで使用できるPHP配列に正常に変換しました。Eclipse for Windows を使用して PHP ファイルを編集しています。

文字列に変数を追加する必要があることを除いて、すべて問題ありません。例:

'%1 is now following %2'

アラビア語では、次のような文字列が提供されました。

'_______الآن يتتبع _______'

_ _ を %1 と %2 に置き換えるのは信じられないほど難しいと思います。なぜなら、アラビア語の部分は右から左の文字列であり%1、,は%2左から右または右から左と見なされるからです。もちろん 。入力を開始する場所に応じて、 %1 が文字列の左側に移動する場合もあれば、右側に移動する場合もあるため、パラメータの順序で期待する結果が得られることはほとんどありません。置換文字列をコピーして貼り付けても、同じ奇妙な効果が生じる可能性があります。

ほとんどの場合、次のような文字列になります。

%2الآن يتتبع %1

%1 は右側のサイトに、%2 は左側のサイトにある必要があります。% が右側に表示されるため、これ%1は明らかに右から左への文字列と見なされます。は%2左から右と見なされます。

この問題の前に誰かがいると確信しています。Eclipseで簡単にできる方法はありますか? または、アラビア語の問題を処理するためのよりスマートなエディターを使用していますか? それともWindowsの問題でしょうか?回避策はありますか?

アップデート

また、文字列を複数の文字列に分割しようとしましたが、これによりパラメーターの順序も変更されます。

'%1' . 'الآن تتبع' . '%2'

更新 2

置換文字列を変更すると改善されるようです。おそらく、アラビア語の文字列での数字の扱い方に関連しています。この文字列は Eclipse で問題なく編集されました。パラメータの順序は正しく、文字列は PHP によって正しく処理されます。

'{var2} الآن يتتبع {var1}'

他の解決策が見つからない場合は、これが適切な代替手段になる可能性があります。

4

3 に答える 3

5

アラビア語を話す私は、ローカリゼーションの仕事をたくさん受けます。特にこの問題に直面したことはありませんが、編集中に左から右/右から左の問題がたくさんありました。Notepad++での作業に成功しました。

アラビア語のテキストを編集するときに私が通常行うことは次のとおりです

  1. 空のメモ帳を開く++ *
  2. エンコーディングを UTF-8 に設定 (エンコーディング -> UTF-8 でエンコーディング)
  3. RTL モードを有効にする (View -> Text Direction RTL)
  4. 文字列を貼り付けます

そして、これは私があなたの文字列をどのように編集しているかを示すスクリーンショットです

ここに画像の説明を入力

*: なんらかの理由で、既存のファイルを開くといつもおかしなことになります。だから迷信かもしれませんが、これは常に私にとってうまくいきました。

更新:初めてこれを行ったとき、文字列が間違っているように見えたので懐疑的でしたが、次にこれを行いました:

print_r(str_split($string));

そして、それらが実際に正しい順序になっていることがわかりました。

于 2012-07-19T14:15:48.363 に答える
3

@Adnan は、ラテン語の数字とアラビア語のテキストを混在させると問題があることを認識し、後で確認するのに役立ちました。

その結論に基づくと、解決策は単に、、、、... をプレースホルダーとして使用するのをやめることです%1。代わりに、よりわかりやすいキーワードを使用します。たとえば、、、、...%2%3{USER}{ALBUM}{PHOTO}

これは、PHP ファイルで期待される結果を示しており、簡単に編集できます。

'ar' => '{USER} الآن يتابع {ALBUM}'
于 2012-07-19T19:41:10.177 に答える
0

この種のタスクには、元のメモ帳を使用したいと思います。

  1. メモ帳を開き、LTR モードになっていることを確認します
  2. タイプ%1
  3. を押してモードを RTL に変更します。CTRL + SHIFT
  4. アラビア文字列をエディターに貼り付けます。
  5. もう一度押すと LTR にCTRL + SHIFT戻ります。
  6. タイプ%2
  7. で全選択しCTRL + AてコピーCTRL + C
  8. IDE に貼り付けます。奇妙に見えるはずですが、期待どおりに実行されます。

メモ帳を使用する理由: Notepad++、Sublime、Coda (Mac)、および一部の IDE などのより複雑なエディター - あなたの場合、Eclipseは正しいエンコーディングを使用しない可能性があり、メモ帳はシンプルですが多言語タスクに適しています。

于 2012-07-19T15:41:07.663 に答える