多年来,尽管英语不是我的母语,尽管我没有分发代码,但我还是用英语编码,甚至用英语写评论。几年前,我终于切换到了我的母语,某种程度上,它感觉更“真实”,好像我不是在“假装”。很难描述这种感觉,但这是真实的。
无论如何,即使我已经编写了自己的函数,这些函数都环绕了内置的PHP函数,定义了各种常量别名,创建了我自己的函数,并以母语进行了所有注释,但是有些事情确实让我感到烦恼。所有“语言构造” /语法都仍为英文。例如:
function teste($kollektionen)
{
foreach ($kollektionen as $a)
// ...
}
我希望它是(例如):
funktionen teste($kollektionen)
{
jeden ($kollektionen zu $a)
// ...
}
据我所知,诸如“功能”或“ foreach”(以及更多)之类的语言构造不能轻易地“混淆”。
在询问此问题时,我过去给出的唯一“建议”是“使用您自己的更改重新编译PHP”。让我马上说清楚,这完全是不可能的。一定不能重新编译PHP或类似的其他“高级黑客”程序。我希望PHP能够理解“别名文件”或我可以放到某处并且只包含诸如以下内容的行:
'jeden' => 'foreach','funktionen' => 'function',...
然后PHP可以正常工作,但是还将“ jeden”的任何(未引用的)实例都视为“ foreach”,将“ funktionen”实例视为“ function”,等等。非常简单。只会在做平常的事情之前在内部翻译它们。
在我看来,这在理论上似乎是不可能的。实际上,实施(对于负责人员和专业知识而言)可能微不足道。但是,可悲的是, me 添加到PHP中并不是一件容易的事,因此,恐怕涉及我修改PHP的任何解决方案都是“一触即发”。
它已经了解变量名称之类的非ANSI字符,所以这不是障碍。
能够完全用您的母语编写代码,同时仍在使用PHP,而不必为此专门制作一些“语言分叉”,这在心理上是令人愉快的,这再次是完全不现实的,而且适得其反。我希望大家都能理解,被迫维护自己的PHP分支只是为了获得翻译后的语法关键字,这将比它值得做的事情麻烦得多。
要明确:这不是某种“不同的语言”;我只是在讲PHP和 aliases 的语法。普通的英语语法不会被触及;它只会获得附加的翻译语法,这是完全可选的,默认情况下未启用。也许像这样:
<?php
ini_set('syntax_aliases_file','mytranslations.ini');
define('RADEBYTEN',PHP_EOL);
funktionen test()
{
schreiben 'Hallo!' . RADEBYTEN;
}
在上面的示例中,mytranslations.ini将“ funktionen”定义为“功能”的别名,将“ schreiben”定义为“ echo”的别名。
考虑到PHP在后来的几年中获得的许多实际改进,这对我来说根本不存在。实际上,我根本不相信它还不存在!在使用PHP 15至20年后,我发现了许多功能,这些功能一直在解决,因为我只是不了解该功能,所以解决了一些我自己一直无法解决的问题。