Behandeln Sie arabische Zeichenketten in PHP mit Eclipse
Ich arbeite derzeit an der Lokalisierung einer Website, die zunächst nur in Englisch verfügbar war. Ein Drittunternehmen hat die Übersetzungen ausgeführt und uns eine Excel-Datei mit den Übersetzungen zur Verfügung gestellt. Was ich erfolgreich in ein PHP-Array konvertiert habe, das ich in meinen Ansichten verwenden kann. Ich verwende Eclipse für Windows, um meine PHP-Dateien zu bearbeiten.
Alles ist in Ordnung, außer dass ich Variablen in meine Strings einfügen muss, zB:
'%1 is now following %2'
Auf Arabisch wurden mir Zeichenketten wie diese zur Verfügung gestellt:
'_______الآن يتتبع _______'
Ich finde das ersetzend__ mit% 1 und% 2 ist unglaublich schwierig, weil der arabische Teil ein String von rechts nach links ist, und der%1
, %2
wird als von links nach rechts oder von rechts nach links betrachtet, und ich bin nicht sicher. Ich habe kaum die Ergebnisse, die ich mit der Reihenfolge meines Parameters erwarte, da% 1 manchmal links von der Zeichenfolge und manchmal rechts davon abhängt, wo ich mit der Eingabe beginne. Das Kopieren und Einfügen der Ersetzungszeichenfolgen kann ebenfalls seltsame Auswirkungen haben.
Meistens habe ich einen String wie diesen:
%2الآن يتتبع %1
% 1 sollte sich auf der rechten Seite befinden,% 2 auf der linken Seite. Das%1
wird offensichtlich als Zeichenfolge von rechts nach links betrachtet, da das% rechts angezeigt wird. Das%2
wird als von links nach rechts betrachtet.
Ich bin mir sicher, jemand wie dieses Problem vor. Gibt es eine Möglichkeit, wie dies in Eclipse problemlos möglich ist? Oder mit einem intelligenteren Editor für arabische Themen? Oder ist es vielleicht ein Windows-Problem? Gibt es eine Problemumgehung?
AKTUALISIEREN
Ich habe auch versucht, meinen String in mehrere Strings aufzuteilen, aber dies ändert auch die Reihenfolge der Parameter:
'%1' . 'الآن تتبع' . '%2'
UPDATE 2
Es scheint, dass das Ändern der Ersatzzeichenfolge die Dinge besser macht. Es hängt wahrscheinlich damit zusammen, wie Zahlen in arabischen Zeichenfolgen behandelt werden. Diese Zeichenfolge wurde problemlos in Eclipse bearbeitet. Die Reihenfolge der Parameter ist korrekt, der String wird von PHP korrekt behandelt:
'{var2} الآن يتتبع {var1}'
Wenn keine andere Lösung gefunden wird, könnte dies eine gute Alternative sein.