我们想让我们的自定义函数的名称和参数可以本地化。
如何做到这一点?
您本地化整个元数据文件。然后,您从清单中引用每个此类文件。
您的CustomFunctions
部分保持不变,如下所示:
<ExtensionPoint xsi:type="CustomFunctions">
<Script>
<SourceLocation resid="residScript" />
</Script>
<Page>
<SourceLocation resid="residPage"/>
</Page>
<Metadata>
<SourceLocation resid="residMetadata" />
</Metadata>
<Namespace resid="residNS" />
</ExtensionPoint>
然后在该Resources
部分中,您对每个受支持的语言环境都有一个覆盖:
<bt:Url id="residMetadata" DefaultValue="https://your.cdn.com/metadata/en_us">
<bt:Override Locale="bg-bg" Value="https://your.cdn.com/metadata/bg_bg" />
<bt:Override Locale="fr-fr" Value="https://your.cdn.com/metadata/fr_fr" />
</bt:Url>
请记住,要本地化的不仅仅是名称——还有描述、支持 URL,最后是图标。
功能也可能需要在不同的地理市场/地区具有不同的实现。这就是为什么您也可以本地化Script
文件的原因。
您以类似的方式本地化命名空间,除了它是纯字符串,而不是 URL:
<bt:ShortStrings>
<bt:String id="residNS" DefaultValue="default.namespace">
<bt:Override Locale="bg-bg" Value="българско.именно.пространство" />
<bt:Override Locale="fr-fr" Value="espace.des.noms.francais" />
</bt:String>
</bt:ShortStrings>