用户控制面板
技术词汇之--TOKEN, identifier 和placeholder
这三个单词很集中的出现在《Dotnetnuke Skinning.doc》有关Skin Object的章节中。他们是相同的概念的不同侧面。这个概念就是占位标识。
Token:日常的含义是代币,比如游戏厅里,投入到游戏机的硬币就叫Token。另外,位置被占了也叫Token。Token偏重占位的意思。
Identifier:字源就是识别,其实就是ID。所以偏重与标识的意思。
比如,在教室或图书馆的某个座位上,放上书包,一本书,甚至一张纸表示做个座位已经被占了(大家对这个情景应该还记忆犹新把)。具体到 DNN文档中, Skin文件就是教室或图书馆, 书包或本书就是Token。书上肯定是写了你的名字的。Token的名字就各个Skin Object,如Menu,Login等等。这个名字,就是identifier。
Placeholder含义基本和Token一致,文档中甚至把它们连起来用(Placeholder token)。不过,Placeholder的占位的含义是很明显的体现在字面上了。另外,Placeholder也是Visual Studio.NET 的技术术语,可以看作比Token的意义更为广泛和抽象一些。如果,有必要与Token区别时,可以考虑PlaceHolder译为占位符,而Token 为占位标识。
技术词汇之--Tab, (Pane) 和Module 并重提Host, Portal
Tab在原英文版中就有些不恰当。我曾经商业化过英文 DNN 2.0,美国的市场部就把Tab一词该为Page (主要是页面显示,数据库表名和程序中Tab是没法改的)。因为,从客户的角度,看不出平时理解的Page和DNN中的Tab有什么区别。然而,从技术角 度,却还能解释Tab。所以,由此也可窥见,DNN是一个技术导向型的项目,至少在开始的时候是这样的。
Pane概念主要出现在皮肤制作和Module注入的一小段程序中。也就是说在DNN程序架构中占的比重很小,而且逻辑层次上可以看作Tab由 Module组成,Pane根本就没有一个对应的类,只是一个HTML块或区域。所以,我给Pane加了个括弧。即:Tab -->Pane --> Module 或者 Tab --> Module。
Module是一个非常重要的概念,也非常复杂,反而,大家对此没有太多的歧义。更多的工作是在它的应用上,或者说与其它概念发生关系时的进一步诠释。
与皮肤的概念结合起来:
Skin是页面级皮肤(Tab Level),Container是模块级皮肤(Module
Level),我的直觉container作为容器的含义实际上就是包含了模块和皮肤的两层概念,可惜中文没有一个恰当的词,Container也就从我
给出的这个翻译方案中生生的消失了。:(
在和Host, Portal统一,给出一下关系:
Host --> Portal --> Tab --> (Pane) --> Module
一
个主机有多个网站,一个网站有多个页面,一个页面有多个分区,一个分区多个模块。另外,再提一下,DNN的Host和Portal实际上是借用传统建网的
概念,实际上我们可以把DNN的Host和Portal看作虚拟主机和虚拟网站,Tab又可以看作虚拟网页(或者动态网页),从这个角度也可以看出,
Tab取词的未能一致。
翻译:
Tab 页面, Pane 区(域), Module 模块
Skinning, skin 和Container
Skinning本身的确切含义我定位为“皮肤机制”,然而翻译时,有的地方只是翻译为“皮肤”并不影响中文的理解。
如:《Skinning》
p3/47: The term “Skinning” refers to a software
architecture which provides you with a manageable way to separate
application logic and content from its presentation.
译为:术语“皮肤机制”是指一种软件架构:该架构从设计上把应用程序的界面从它的逻辑和内容中分离。
很明显,“皮肤”不能是一种架构。
p4/47中:The term “Skinning” has many different interpretations depending on the audience.
译为:术语“皮肤”不同的人会给出不同的解释。
如果,非要译成皮肤机制显得添足了。
Skin: 似乎很简单,“皮肤”。只是需要在概念上分辨一下:这个皮肤实际上指具体的皮肤,比如,皮肤文件,皮肤上传。然而,当加入另外一个概念Container时,概念有些混乱了。
先陈述一下对英文的理解,在给出我翻译的想法,以供参考:
Skin在原文中就代表了两个不同的概念,用一个层次图表示:
Skin
| /
| /
Skin(Tab) Container
先看第二层,从程序结构上理解,有两种不同的皮肤文件,一个是页面级,一个是模块级。页面级,在变量命名上就用Skin, 如Skin Object, Skin.xml; 模块级,则用Container, 如container.xml。
再看第一层,在文章中有一部分Skin实际上是涵盖了Skin(tab)和Container两个定义。皮肤机制很明显是包括Container的。
翻译:
如果把container翻译成容器,我是觉得非常容易误导中文读者,特别是初学者。所以综合起来,第一层Skin翻译为“皮肤”,第二层Skin
译为“页面级皮肤”,Container为“模块级皮肤”。有关第二个Skin后面Tab以及为什么Container是模块级而不是容器级,会在另外一
串概念中,好好理清一下。
Host 和 Portal
这里,我最先选定的是两篇技术文档《DotNetNuke Whitepaper》和《DotNetNuke Skinning Whitepaper》。真正把这两篇文章仔细研读,我觉得DNN的精髓也就掌握了。(纯属个人观点。呵呵)
Host似乎没有好说的,就是主机;Portal直译就是门户,但是如果用这个翻译下去,我觉得通篇读起来,很是不妥。然而,如果把所有的Portal全部译为"网站"或"站点"却会很通顺,一点问题也没有。
DNN技术词汇--开篇
技术文档的翻译对DNN的推广和普及的意义是不言而喻的.
这个栏目的定位是,对DNN特有词汇或者说概念(特别是与项目相关的),进行分析和讨论,找出较为恰当的中文描述。常常碰到的情况是:同一个单词在不同的上下文时,译为不同的中文;而不同的单词又有可能译为相同的中文。
我相信这是一极为有意义的工作,能为具体的翻译提供巨大的帮组和便利。
希望大家的关注和支持。