Asp.net mvc 在资源文件中存储格式化文本。可能吗?

Asp.net mvc 在资源文件中存储格式化文本。可能吗?,asp.net-mvc,localization,Asp.net Mvc,Localization,构建一个asp.net mvc网站,该网站必须是多语言的,并考虑是否可以将格式化文本存储在资源文件中,以及它是否有意义 许多页面是静态的,用户可以编辑它们并添加自己的格式“粗体、斜体等…” 我想知道最好的方法是什么 我不想创建一个页面x语言,在数据库中存储涉及到创建一个用多种语言处理相同信息的结构。似乎很难维护 你以前做过吗?你是怎么做到的 有什么建议吗 如果你的用户可以用多种语言发表文章,那就多谢了。最好使用数据库来存储信息和相应的格式。如果是网站上的标签和其他静态文本,资源文件是一个很好的解

构建一个asp.net mvc网站,该网站必须是多语言的,并考虑是否可以将格式化文本存储在资源文件中,以及它是否有意义

许多页面是静态的,用户可以编辑它们并添加自己的格式“粗体、斜体等…” 我想知道最好的方法是什么

我不想创建一个页面x语言,在数据库中存储涉及到创建一个用多种语言处理相同信息的结构。似乎很难维护

你以前做过吗?你是怎么做到的

有什么建议吗
如果你的用户可以用多种语言发表文章,那就多谢了。最好使用数据库来存储信息和相应的格式。如果是网站上的标签和其他静态文本,资源文件是一个很好的解决方案。资源文件将内容存储为字符串,但在其中存储格式化文本打破了“将演示文稿与逻辑分离”的理念。

可能吗?

当然可以

这有意义吗?

视情况而定。我不建议使用资源文件(via)来存储动态内容

你的问题

让我重新表述一下(我不确定我是否正确理解了你)。您希望让用户能够更改演示样式。用户将能够更改样式,并且这种更改将以某种方式传播到内容翻译成的任何语言

在这种情况下,我看到了一些问题:

  • 如何将英文内容与翻译内容匹配?
    翻译通常有不同的顺序,可能有不同的句子数量。除非

  • 将这些信息与可翻译字符串一起存储在资源文件中会导致难以维护的结果。我相信您需要添加格式标签或带有样式信息的内容标签,才能实现这一点。结果会是一团糟;几乎不可读,很难修改

  • 好的,那你能做什么?实际上,我可以建议为CSS文件创建定制机制。在您的情况下,您需要:

  • 为每个结构元素提供CSS类以及唯一标识符(HTML id属性)(如果您愿意,可以使用标记),这样您就有了类似于

    。id将使用户能够精确定位该元素,而其他元素则不受影响(通过
    #p1.normal{//definition here}
  • 将CSS存储在数据库中,并为用户创建一些编辑器
  • 根据web浏览器的请求,创建一个服务于数据库的CSS
  • 即使有这样的解决方案,你也无法避免一些问题。一个是,在翻译成某些语言时,您需要实际更改字体系列,所以您可能需要基于语言的CSS文件。当用户想要在某个单词上添加bold属性时,会出现另一个问题-使用这种解决方案,这是不可能的(但老实说,如果您想允许这样做,出于我前面提到的原因,这将不利于i18n)。

    顺便说一句,某些语言应避免使用粗体字体。例如,如果您设法以粗体字体输出汉字,则汉字很难阅读。

    请说明,您的网站用户具体可以做什么?如果他们能够添加任意文本,那么你也将面临翻译挑战。是的,他们能够动态输入任意文本。用户可以进入管理部分编辑页面并保存。我想我别无选择,只能将文本保存在数据库的表中