В настоящее время я работаю над локализацией веб-сайта, который был первым на английском языке. Третья компания выполнила переводы и предоставила нам файл excel с переводами. Который я успешно преобразовал в массив PHP, который я могу использовать в своих представлениях. Я использую Eclipse для 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}'
Если никакое другое решение не найдено, это может быть хорошей альтернативой.
Будучи арабским докладчиком, я получаю много задач локализации. Хотя я не сталкивался с этой проблемой, в частности, но во время редактирования у меня было много вопросов слева направо / справа налево. Я успешно работал с Notepad ++ .
Итак, вот что я обычно делаю, когда хочу редактировать арабский текст
И вот скриншот, показывающий, как я редактирую вашу строку
*: по какой-то причине, когда я открываю уже существующий файл, дела идут бананы. Так что, может быть, я суеверен, но это всегда срабатывало для меня.
Обновление: впервые я сделал это, я был настроен скептически, потому что строки выглядели неправильно, но потом я сделал это:
print_r(str_split($string));
и я увидел, что они действительно в правильном порядке.
@Adnan помог мне понять, а затем подтвердил, что есть проблемы при смешивании латинских цифр с арабским текстом.
Исходя из этого вывода, решение просто прекратить использование %1
, %2
, %3
, … в качестве заполнителей. Вместо этого я буду использовать более описательные ключевые слова, например {USER}
, {ALBUM}
, {PHOTO}
, …
Это показывает ожидаемый результат в файле PHP и легко редактируется:
'ar' => '{USER} الآن يتابع {ALBUM}'
Я бы предпочел оригинальный блокнот для этой задачи.
%1
CTRL + SHIFT
CTRL + SHIFT
. %2
CTRL + A
и скопировать с помощью CTRL + C
Причина использования Блокнота: более сложный редактор, такой как Notepad ++, Sublime, Coda (Mac) и некоторые IDE – в вашем случае Eclipse может не использовать правильную кодировку, а «Блокнот» прост, но работает хорошо для многоязычных задач.