表格6i中的多语言支持

时间:2016-08-22 08:35:56

标签: oracle oracle11g oracleforms

我对oracle form 6i有要求。我在表单6i中有一个表格数据块,我希望根据用户登录凭据更改表头,例如,如果用户使用阿拉伯语登录,那么表头应该动态更改为阿拉伯语,或者如果用户使用英语登录,那么表头应该动态改变为英语等。

基本上,列标题的语言应该动态更改/设置。

如果你已经达到了这个目的,请在这方面帮助我。

我使用的是表单6i,数据库版本是10g。

谢谢和注意, Laxya

1 个答案:

答案 0 :(得分:0)

您想要做的事情并不容易。如果您希望Forms中的列标题是动态的,那么标题需要绘制为显示字段并链接到元数据表,该表以您要支持的语言存储列名。换句话说,您需要存储列名称以及显示所需的任何其他内容,例如屏幕中的消息将在运行时检索并基于传递到屏幕的运行时参数在屏幕上显示,例如LANGCODE = ENG代表英语,ARB代表阿拉伯语

元数据表的示例:

LANGCODE  FORMNAME  TABLENAME  COLUMNNAME  COLUMNNAME_TO_DISPLAY
--------  --------  ---------  ----------  ---------------------
ENG       ABC123    TABLEA     COLUMN1     COLUMN1
ENG       ABC123    TABLEA     COLUMN2     COLUMN2
ARB       ABC123    TABLEA     COLUMN2     ???????
ARB       ABC123    TABLEA     COLUMN2     ???????

您只需输入要在上表中最后一列的屏幕中显示的值,即后端数据库支持的任何语言。

请注意,虽然这允许屏幕具有​​在运行时在when-new-form-instance触发器中动态获取的标题和字段名称,但它们会增加大量额外的维护工作,因为屏幕上显示的所有内容都需要被映射到某个地方的桌子。这就是为什么你会发现很少有真正多语言的表单应用程序。