再次,关于MQL的本地化

 

这个话题已经被顺便 提到了。我说的是在MQL中用俄语(或任何其他语言)编写专家的可能性。类似这样的事情。

Логический Четный;

Цикл ( целое НомерПозиции = 1; НомерПозиции <= ДлиннаБуфера; НомерПозиции++ )
{
  Если ( Остаток(НомерПозиции, 2) = 0 ) тогда Четный = Инстина; иначе Четный = Ложь;
  ....   
}

我知道这个功能非常有用。谁怀疑或认为这没有意义(因为任何有能力的程序员都应该懂英语),我将只回答一个反对意见:为什么终端有一堆界面设置的语言文件,为什么帮助被翻译成不同的语言?;)

根据我对解析器机制的理解,它应该有 "列表",即保留字的字符串,如for、long、.....要完全 "翻译 "编译器,使其能够编译俄文文本,只需将编译器代码中的文本字符串 "for "替换为 "loop "等,之后一切就能像以前一样工作。可以从文件中提取原始英语单词和本地化变体的对应列表,就像现在为终端的菜单项目所做的那样。

这里有可能的陷阱:在这样一个本地化的俄文文本中,由incluudom插入了带有英文单词的系统文本。只有当编译器能识别这两种变体时,你才能避免它们。也就是说,在有英文单词的表格旁边必须放置另一个本地化版本的字符串,以便编译器能够处理两种 "拼写"。

还有一个可能的陷阱:当你需要用多种语言编译片段的文本时。但它们也是可以解决的。通常情况下,所有的东西都被本地化为程序员所使用的单一语言。因此,任何混合语言都可以首先(可能用一个单独的工具或ME菜单项)转换为英语。然后所有这些香肠都被转化为你的母语。

在最极端的情况下,你可以向编译器发出另一条指令#substitute source dest,这将在编译前简单地用dest替换字符串source,并编译出结果。然后可以按照 TheXpert 的建议 进行定位。


我知道这个问题是可以解决的。我希望这一改进不会导致对编译器代码的彻底重写。我几乎可以肯定,开发商会全力对抗这个想法,我非常理解他们的动机。但我有一个微弱的希望,那就是现在虽然MQL5还在测试阶段,但这个功能可能会实现,所以我决定再次提出这个问题:是否有可能提供一个用母语编写程序的机会,用你所想的以及你与交易员和客户交流的语言来编写?

 
我同意,以1C为例,最初是可以用俄语编程的。
 

缺乏本地化有助于不懂你的语言的程序员对代码的理解。因此反对。

 
lea >> :

缺乏本地化有助于不懂你的语言的程序员对代码的理解。因此反对。

事情就更有趣了。


是什么阻止了你用相同的指令来命名所有的东西,包括变量?

然后,使用通配符,我们可以很容易地得到一个基本的英文版本。

而通过扩展指令的功能,甚至有可能使支持从现有的本地化中进行选择。

 
lea >> :

缺乏本地化有助于不懂你的语言的程序员对代码的理解。这就是为什么我反对它。

是的,然后,当人们发布代码时,都会不亮。

而每个人都会天真地问。

- "你不知道吗? 你需要下载一个额外的内联...vasya_localization_v2

而且每个人都会有不同的本地化,并有不同的版本。

 
TheXpert писал(а)>>

是什么阻止了你用同样的指令来命名所有的东西,包括变量?

然后,使用通配符,我们可以很容易地得到基本的英文版本。

通过扩展指令的功能,我们甚至可以支持在现有的本地化中进行选择。

除了翻译变量名称外,没有其他事情可做了!我要去编程,而不是坐在字典里发布消息。

 
IlyaA >> :
我支持,以1C为例,最初是可以用俄语编程的。

我想杀了你--真的!"。我讨厌这些 "本地化"。

Ithappens.ru上今天就有一个故事。


#1497: 爱国主义的色情话语

2009年11月26日, 09:00

评级:628

1980年底,刚刚有了个人电脑D3-28(从录音磁带输入),Electronica-60(从打孔磁带输入),DVK-2(从5 "软盘360Kb输入)。我们的一个部门购买了3台 "Iskra "电脑(我不记得修改号码)。这一切都发生在党和人民的反外斗争时期。

因此,这些伊斯科拉已经有了一个俄语的基础知识。翻译得很好。INPUT是 "输入",你猜END是什么?这是正确的,结束。

这就是我们给这些 "火花 "起的绰号:"输入"。然而,他们为我们工作了大约三个月,然后就死了(去世了?),连同这个色情的基础,我们把他们送到制造厂,他们再也没有回到我们身边。

 

很长时间以来,我一直在用西里尔语写代码,从未想过保留字也需要翻译(第二性的习惯)。

阅读代码 时,我一下子就看到了 "如果 "的含义,但当我写草稿时,把 "如果 "的含义开始丢失(第二性的习惯)。

然后,保留词没有英语使用者所理解的直接含义,所以非英语使用者的优势在于理解 "如果 "不是 "如果","如果 "是一个运算符。

 
Azzx >> :

我想杀了你--真的!"。我讨厌这些本地化。


同事,来吧。你不一定要杀人。你把他们都杀了,你就得靠自己了。:)
 
IlyaA >> :


同事,来吧。你不一定要杀人。你把他们都杀了,你就得靠自己了。:)

他们会因此在地狱里得到折扣--为殉道而殉道!所以这只是因为我的人性...:)

 

Urain писал(а) >>

另外,保留词没有英语使用者所理解的直接含义,所以非英语使用者在理解上有优势,"如果 "不是 "如果","如果 "是一个运算符。

讲英语的人没有优势,他们有劣势。因为当我在脑子里滚动浏览一个程序时,没有 "如果",它是最抽象的概念。