在 Navision 2018 CU2 数据库中检测已安装的语言

Detect installed languages in Navision 2018 CU2 database

我想检测 Navision 2018 中安装的语言,使用 T-SQL 直接访问数据库 tables,以便翻译公司 tables 中的内容使用本地化语言。

现在我可以使用 table [dbo].[Object Metadata] 中的 [Metadata] 字段提取我需要的关于 table 的所有元数据并将其压缩:

SELECT 
    o.[Name],
    m.[Object Type],
    m.[Metadata], -- XML Metadata
    m.[User Code], -- C# Metadata
    m.[User AL Code] -- C/AL Metadata
FROM [Navision].[dbo].[Object Metadata] AS m
JOIN [Navision].[dbo].[Object] AS o
ON m.[Object ID] = o.[ID]

当我从 table 元数据中获取 XML 时,它包含具有本地化内容的字段元数据:

Name="Posting Date" CaptionML="DAN=Bogføringsdato;ENU=Posting Date"

现在我通过查看 CapitonML 属性中的语言代码来检测已安装的语言,但我想要一种更好的方法来检测 Navision 2018 中安装的语言。

是否有包含已安装语言的 table 或其他元数据信息?

我不确定你所说的检测是什么意思。 Esch 对象是单独翻译的。因此,如果 table 3 包含丹麦语翻译并且 table 4 包含俄语,您想要检测什么?

无论如何有 powershell cmdlets 来处理过渡,也许他们会帮助你。

或者您可以使用 xlif format 进行翻译。

两者中的任何一个都比弄乱元数据好。