问题标签 [localization]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
database-design - 多语言数据库的架构
我正在开发一个多语言软件。就应用程序代码而言,可本地化不是问题。我们可以使用特定于语言的资源,并拥有与它们配合良好的各种工具。
但是定义多语言数据库模式的最佳方法是什么?假设我们有很多表(100 或更多),每个表可以有多个可以本地化的列(大多数 nvarchar 列应该是可本地化的)。例如,其中一张表可能包含产品信息:
我可以想到三种方法来支持 NAME 和 DESCRIPTION 列中的多语言文本:
每种语言的单独列
当我们向系统添加新语言时,我们必须创建额外的列来存储翻译后的文本,如下所示:
/li>带有每种语言列的翻译表
不存储翻译文本,只存储翻译表的外键。翻译表包含每种语言的列。
/li>每种语言都有行的翻译表
不存储翻译文本,只存储翻译表的外键。translations 表只包含一个键,而一个单独的表包含一个用于每种语言翻译的行。
/li>
每种解决方案各有利弊,我想知道您对这些方法有何经验,您有什么建议以及您将如何设计多语言数据库模式。
asp.net - 查找本地化文件
在我的 asp.net 应用程序中,用户可以上传几个本地化图像(按钮)。比如他会上传'send.gif', 'send.fr.gif', 'send.en-UK,gif; ETC..
当访问者来到他的页面时,我需要根据访问者的语言环境选择正确的文件。
是否有一个 api(或简单的方法)来根据区域设置找到最合适的图像 - 例如,如果访问者来自法国,API 将返回“send.fr.gif”,如果访问者来自澳大利亚,API 将返回'send.en.gif'等...
其逻辑应该与 ASP.NET 选择正确的本地化资源文件基本相同。
谢谢。
java - Apache 蜂巢和本地化 DataGrid 的默认寻呼机
我正在尝试本地化由 Apache Beehive 和 netui 默认寻呼机创建的字符串。
我想翻译这个输出的语言。
我的 .jsp 代码看起来像这样
我已经找到了我应该在翻译中使用的键,但是我如何配置寻呼机应该使用的消息属性文件?
c++ - 将宽字符串转换为提升日期
我需要将存储为宽字符串的数百万个日期转换为提升日期
以下代码有效。但是,它会生成一个可怕的编译器警告,并且似乎效率不高。
有没有更好的办法?
更好的方法是使用标准 C++ 库locale,它是facets的集合。facet 是一项服务,它允许流操作员处理日期或时间表示或其他任何内容的特定选择。所有关于不同事物的选择,每一个都由它自己的方面处理,都聚集在一个语言环境中。
这个解决方案是由litb向我指出的, 他给了我足够的帮助来在我的生产代码中使用构面,使其更简洁、更快。谢谢。
Nathan Myers有一个关于语言环境和方面的优秀教程,他设计了方面。他有一种轻松的风格,使他的教程易于阅读,尽管这是高级的东西,第一次通读后你的大脑可能会受伤——我的就是这样。我建议你现在去那里。对于任何只想将宽字符串转换为提升日期的实用性的人,本文的其余部分描述了使其工作所需的最低限度。
litb 首先提供了以下消除编译器警告的简单解决方案。(解决方案在我开始接受之前已被编辑。)这看起来像它做同样的事情,一个一个地转换宽字符,但它避免了使用临时字符串,因此更清晰,我认为。我真的很喜欢编译器警告消失了。
litb 继续建议使用我以前从未听说过的“方面”。他们似乎完成了这项工作,在循环中生成了非常简洁的代码,但代价是设置语言环境的序言。
事实证明,这也更有效:
产生以下输出:
好的,这现在在生产代码中并通过了回归测试。它看起来像这样:
我对此有最后一个问题。将方面添加到语言环境似乎需要两次调用语言环境复制构造函数
为什么没有 add(facet*) 方法?( _Addfac() 很复杂,未记录且已弃用)
asp.net - 在 ASP.NET 中本地化图像
几年前,我们让一位平面设计师改造了我们的网站。他的结果看起来很棒,但不幸的是,他引入了 Web 浏览器不支持的新字体。
起初我想,“什么!?!”......因为我们的大部分内容都是动态的,并且没有真正的方法来预先制作所有图像。还有多种语言的问题(因为我们知道西班牙语即将出现)。
无论如何,我决定创建一些类来通过 GDI+ 自动生成图像并根据需要以编程方式缓存它们。这解决了我们最初的大部分问题。然而,现在我们的负载急剧增加,我们的 UI 服务器已经耗尽。
现在问题来了……我希望用标准的网络浏览器字体替换大多数动态 GDI+ 图像。我正在考虑保留一些渲染的 GDI+ 图像并将它们放在 resx 文件中,但计划通过 asp:Labels 用 Tahoma 或 Arial 字体替换其中的大部分。
您发现哪个是更好的本地化图像解决方案?
- 将图像嵌入到 resx
- 仅将图像 url 添加到 resx
- 其他一些解决方案
我主要关心的是限制 UI 服务器上的处理。如果是这种情况,与将图像实际嵌入到 resx 相比,将图像 url 添加到 resx 会是更好的解决方案吗?
language-agnostic - 重新实现 ToUpper()
如果 ToUpper() 不存在,你将如何编写它?i18n 和 L10n 的奖励积分
好奇心由此引发:http ://thedailywtf.com/Articles/The-Long-Way-toUpper.aspx
vb6 - 如何在 VB6 中使用 GNU gettext?
我一直在几个私人项目中使用 gettext,现在我想使用 gettext 来翻译 Visual Basic 6 应用程序的字符串。
我检查了 GNU gettext 包,似乎我必须编写一些样板代码才能让它与 VB6 一起使用,我担心我的老板不会允许它。
- VB6 是否有一些开箱即用的软件包?(像 dxgettext 这样的东西将是一个梦想!)
- 你做过类似的事情吗?
- 甚至可能吗?
- 我从哪说起呢?
asp.net - asp.net、javascript 和 silverlight 的共享本地化?
您如何本地化 ASP.NET + javascript + Silverlight?
我希望能够在 asp.net 页面、页面上的 javascript 和页面上的 Silverlight 对象中包含不同语言的相同文本。
我尝试过以下方法,但在实践中没有经验,我想听听您对它或替代方案的意见:
1) 创建一个类库 ( ResourcesTest
) 并添加一个Phrases.resx
包含一些字符串 ( Hello='Hello'
) 的资源文件 ( ) 以及一个本地化版本 ( Phrases.da.resx: Hello='Hej'
)。
2) 添加一个空的 javascript 文件 ( PhrasesHandler.js
)。
3) 在 AssemblyInfo.cs 中执行此操作以允许 javascript/Silverlight 使用文本:
p>4) 从 ASP.NET 代码隐藏 ( ) 引用资源ResourcesTest.Phrases.Hello
,或者通过在网页中包含嵌入的 javascript 资源:
然后从 javascript(例如Phrases.Hello
)或 Silverlight 通过 javascript(HtmlPage.Window.Eval("Phrases.Hello")
)访问文本。
我发现这种方法相当复杂,我担心处理这样的系统,但还没有找到在 ASP.NET、javascript 和 Silverlight 之间共享本地化/多语言资源的其他方法。
你?您如何本地化 ASP.NET + javascript + Silverlight ?
.net - Asp:TextBox and VNI-Times, 越南文字问题
我需要能够允许用户在文本框中输入越南语文本。
我被指示使用 VNI-Times 并提供了一个带有越南文本的示例 word 文档。
当我将示例文档中的文本粘贴到文本框中时,它的编码不正确。我尝试在我的机器和服务器上安装字体(VNI-Times),并更改浏览器的编码,但均无济于事。此问题不仅限于浏览器,还限于记事本。
到目前为止,我找到了一种解决方案,在页面上放置了一个所见即所得的编辑器,但我希望使用 asp:TextBox 控件。
用户提交文本后,它会显示为服务器生成的图像,这些图像也没有正确生成。
localization - 如何翻译 Struts 2 的验证消息?
我想学习如何使用 Struts 2,并按照我找到的教程创建了一个简单的应用程序。
我创建了一个<MyActionClass>-validation.xml
文件,我想知道如何将验证消息翻译成多种语言?
我可以从本地化的 .properties 文件中获取消息,还是必须使用其他类型的验证?