Есть ли какой-то разумный способ получить "локализованные" (переведенные) псевдонимы синтаксиса PHP? - PullRequest
0 голосов
/ 04 ноября 2019

В течение многих лет я кодировал на английском языке, даже писал комментарии на английском языке, несмотря на то, что английский не был моим родным языком, и, несмотря на то, что я не распространял код. Несколько лет назад я, наконец, переключился на свой родной язык, и почему-то он кажется более «реальным», как будто я не «притворяюсь». Трудно описать это чувство, но оно реально.

В любом случае, хотя я создал свои собственные функции, которые обертывают встроенные функции PHP, определял различные постоянные псевдонимы, создавал свои собственные функции и все комментарии вмой родной язык, есть вещи, которые действительно меня беспокоят. Все «языковые конструкции» / синтаксис все еще на английском языке. Например:

function teste($kollektionen)
{
    foreach ($kollektionen as $a)
        // ...
}

Мне бы хотелось, чтобы это было (например):

funktionen teste($kollektionen)
{
    jeden ($kollektionen zu $a)
        // ...
}

Насколько мне известно, языковые конструкции, такие как "function" или "foreach"(и многие другие) не могут быть легко "псевдонимами".

Единственное "предложение", которое я давал в прошлом, когда спрашивал об этом, это "перекомпилировать PHP с вашими собственными изменениями". Позвольте мне сразу дать понять, что это совершенно исключено. Не должно быть никакой перекомпиляции PHP или любого другого "продвинутого взлома", подобного этому. Я хотел бы, чтобы PHP просто понимал «файл псевдонимов» или что-то, что я мог бы просто поместить куда-нибудь, и которое просто содержит такие строки, как:

'jeden' => 'foreach',
'funktionen' => 'function',
...

И тогда PHP будет работать как обычно, но также обрабатывать любой (не заключенный в кавычки) экземпляр "jeden" как "foreach", "funktionen" как "функция" и т. Д. Очень просто. Он просто перевел бы их внутренне, прежде чем делать свое обычное дело.

Мне кажется, это более чем возможно в теории. На самом деле, это, вероятно, было бы тривиально (для ответственных людей, с опытом) для реализации. К сожалению, однако, me не так просто добавить в PHP, поэтому, боюсь, любое решение, связанное с изменением PHP, «мертво по прибытии».

Это ужепонимает не-ANSI символы для имен переменных и тому подобного, так что это не является препятствием.

Было бы психологически приятно иметь возможность полностью кодировать на своем родном языке, при этом все еще используя PHP и не делая каких-либо "только для этого, что, опять же, совершенно нереально, а также контрпродуктивно. Быть вынужденным поддерживать свою собственную ветку PHP только для того, чтобы получать переведенные синтаксические ключевые слова, было бы гораздо сложнее, чем когда-либо, что, как я надеюсь, вы все поймете.

Чтобы быть ясным: это не некоторые "другой язык ";Я просто говорю о PHP с псевдонимами для синтаксиса. Нормальный английский синтаксис не будет затронут;он просто получит дополнительный переведенный синтаксис, который не является обязательным и по умолчанию не включен. Возможно, это может выглядеть так:

<?php

    ini_set('syntax_aliases_file', 'mytranslations.ini');
    define('RADEBYTEN', PHP_EOL);

    funktionen test()
    {
        schreiben 'Hallo!' . RADEBYTEN;
    }

В приведенном выше примере mytranslations.ini определяет «функционал» как псевдоним «function», а «schreiben» - псевдоним «echo».

Учитывая многочисленные фактические улучшения, которые PHP получил в последующие годы, для меня это вовсе не звучит "где-то там". На самом деле, я совсем не уверен, что его уже нет! Многие функции, которые я обнаружил после использования PHP в течение 15-20 лет, были там все время и решали некоторые проблемы, с которыми я боролся самостоятельно, потому что я просто не знал об этой функции.

...