我相信很多人都面临着将数据库后端本地化到应用程序的挑战.如果你没有那么我会非常自信地说你将来必须这样做的可能性非常大.我正在谈论为您的数据库实体存储多个文本翻译(对于货币等也是如此).
例如,经典的"类别"表可能具有应该全球化的名称和描述列.一种方法是为每个实体创建一个"文本"表,然后根据提供的语言进行连接以检索值.
这将为您留下许多"文本"表,每个表对应您要本地化的每个实体,并添加一个TextType以区分它可能存储的各种文本.
我很好奇是否有任何,记录在案的最佳实践/设计模式在SQL Server 2005/2008数据库中实现这种支持(我特别关注RDBMS,因为它可能包含支持的关键字,这有助于与实施)?
我一直在考虑的一个想法(虽然目前只在我的脑海中)是利用SQL Server 2005中引入的XML数据类型.我们的想法是创建应该支持XML数据类型本地化的列(并将模式绑定到它) ).XML将包含本地化字符串以及它所绑定的语言代码/文化.
有点像
Product
ID (int, identity)
Name (XML ...)
Description (XML ...)
Run Code Online (Sandbox Code Playgroud)
然后你会有像XML这样的东西
<localization>
<text culture="sv-SE">Detta är ett namn</text>
<text culture="en-EN">This is a name</text>
</localization>
Run Code Online (Sandbox Code Playgroud)
你可以这样做(这不是生产代码所以我会用*)
SELECT *
From Product
Where Product.ID = 10
Run Code Online (Sandbox Code Playgroud)
并且您将获得所有本地化文本的产品,这意味着您必须在客户端进行提取.这里最大的问题显然是你必须在每个查询中返回的额外数据量.好处是更简洁的设计,没有查找表,连接等等.
顺便说一句,我在设计中最终使用的方法仍然是使用Linq To SQL(.NET平台)来查询数据库(XML方法应该是一个问题,因为它会返回一个可以解释为客户端的XElement-侧)
所以关于数据库本地化设计模式的建议,以及可能对XML思想的评论,都会非常有用.
如何计算Java中字符串的长度(以像素为单位)?
优选不使用Swing.
编辑:我想使用Java2D中的drawString()绘制字符串,并使用自动换行的长度.
在双四核物理主机之上,我想运行一个具有8个虚拟CPU(如果可能)或至少4个虚拟CPU的VM,以用于科学计算.
我已经调查了市场在这个日期提供的东西,似乎就是这样
是否有任何解决方案可以获得8个虚拟CPU?
在Actionscript 3中是否可以创建对象的弱引用,以便可以对其进行垃圾回收.
我正在创建一些类来使调试更容易,所以我不希望对象在内存中挂起,如果它们只在这里引用(当然我不想用回调填充代码来删除对象)
apache-flex flash garbage-collection weak-references actionscript-3
只是为了好玩......我倾向于通过一整天寻找偶然的谜题来保持警觉.我喜欢linux的一个原因是它所体现的无与伦比的聪明才智,从优雅的简洁到手册页面的评论.
你能否阐明规定新命令如何命名的不成文规则,或者提供常见命令背后的历史?库存Linux发行版缺少什么基本命令 - 它会做什么,你会说出什么?
例子:
cat用于链状文件.它已被dog一些发行版所取代. ssh提供了一个安全壳,但它不可能是一个巧合,它只是乞求被读作"ssssshhhhh!"奖金拼图: 我们的长期客户之一是MCI,他们的送货地址是1101 Summit Ave. 现在,MCI是一家大公司,可能已经选择了任何地址......那么为什么1101呢?令人惊讶的是,我从来没有遇到过知道这个答案的MCI员工......但他们当时没有SO!
编辑:在此之前,失控:请做不是简单地罗列命令!我正在寻找上面斜体字问题的答案.谢谢!
这是一个界面:
public interface Foo<T> extends Comparable<Foo<T>> {
...
}
Run Code Online (Sandbox Code Playgroud)
并且有一些类实现此接口:
public class Bar extends Something implements Foo<Something> {
public Vector<Foo<Bar>> giveBar() {
...
}
}
public class Boo extends SomethingElse implements Foo<SomethingElse> {
public Vector<Foo<Boo>> giveBoo() {
...
}
}
Run Code Online (Sandbox Code Playgroud)
现在我想在矢量中保留一堆Foos(可能真的是Foos或Boos).
Bar bar = new Bar();
Boo boo = new Boo();
Vector<Foo<?>> vector;
if (...)
vector = bar.giveBar();
else
vector = boo.giveBoo();
Run Code Online (Sandbox Code Playgroud)
我明白了:
Type mismatch: cannot convert from Vector<Foo<SomethingElse>> to Vector<Foo<?>>
Run Code Online (Sandbox Code Playgroud)
同样适用于:
Vector<Foo> vector;
if (...)
vector = giveBar();
else …Run Code Online (Sandbox Code Playgroud) 我开始为我的想法创建一个概念证明,在这一点上,我需要一些关于如何开始的指导.
我需要对麦克风输入进行采样,并实时处理该信号(想想Auto-Tune,但是现场工作),而不是"录音"一段时间.
我正在做的是"一种""MIDI转换器的麦克风输入",所以它需要非常快速地响应.
我在线调查了一下,显然要走的路是DirectSound或WaveIn*API函数.现在,根据我读到的内容,WaveIn API将让我填充一定大小的缓冲区,这对于录制和后期处理来说很好,但我想知道......我该如何进行实时处理?
我是否使用10ms缓冲区并自己保留一个50ms或100ms的圆形阵列,并且我得到一个每10ms触发一次分析的功能?(可以访问最新的100毫秒输入,其中只有10毫秒是新的)
我在这里错过了什么吗?
另外,DirectSound是如何完成的?它是否比常规的Win32 API提供了任何改进的功能?
我在使用时使用OpenArgs参数发送值DoCmd.OpenForm:
DoCmd.OpenForm "frmSetOther", acNormal, , , acFormAdd, acDialog, "value"
Run Code Online (Sandbox Code Playgroud)
然后我Me.OpenArgs在打开的表单中使用以获取值.它有时会发送Null值而不是原始字符串.怎么了?
除了IIS之外,还有其他可能用于托管基于ASP.NET的网站和Web服务吗?这些是微软推荐用于小规模环境的吗?
java ×2
access-vba ×1
apache-flex ×1
asp.net ×1
audio ×1
cpu ×1
directsound ×1
flash ×1
generics ×1
hyper-v ×1
linq-to-sql ×1
linux ×1
localization ×1
microphone ×1
mismatch ×1
ms-access ×1
openargs ×1
openform ×1
smp ×1
sql-server ×1
types ×1
web-services ×1
webserver ×1
winapi ×1