似乎有两种不同的方法.ASP.NET框架为我们提供了一种通过将UI字符串放在资源中来简化页面本地化的方法,如UserProfile.en.resx,UserProfile.fr.resx等.
另一种方法是将所有字符串放在数据库中的单独表中,然后使用一些自定义机制来检索它们,以符合当前活动的语言/文化设置.
据我所知,数据库方法对于大型项目(如企业软件)更为典型.它还有一个好处,即您可以向该翻译公司提供对该数据库的外部访问权限.有了资源,这将是困难的.
另一方面,从数据库中检索所有静态字符串是额外的流量和负载开销.我认为相对较小的网站没有任何好处."小"意味着不是流量,而是页面的数量和复杂性.
我个人更喜欢为我的私人项目使用资源.这是一个绝对糟糕的主意吗?
顺便说一句,我还可以使用ASP.NET MVC的资源吗?
任何想法都表示赞赏.
编辑:只有一个答案,不能相信这个问题对任何人都没有兴趣.没有人想分享他们的意见?
我有一个返回类似于下面的结果集的查询(实际上它是更大,数千行):
A | B | C | D
-----|----|----|-----
1 NULL | d0 | d0 | NULL
2 NULL | d0 | d1 | NULL
3 NULL | d0 | d2 | a0
4 d0 | d1 | d1 | NULL
5 d0 | d2 | d2 | a0
其中两行被认为是重复的,1和2,因为A,B和D是相同的.为了消除这种情况,我可以使用,SELECT DISTINCT A, B, D但后来我的结果集中没有C列.C列是第3,4和5行的必要信息.
那么我如何从上面的结果集到这个结果集(C4中出现的结果也可以NULL代替d1):
A | B | C | D
-----|----|------|-----
1 NULL | d0 | NULL | NULL
3 NULL | … 我使用下面的代码访问我的表单上的属性,但今天我想把东西写入ListView,这需要更多的参数.
public string TextValue
{
set
{
if (this.Memo.InvokeRequired)
{
this.Invoke((MethodInvoker)delegate
{
this.Memo.Text += value + "\n";
});
}
else
{
this.Memo.Text += value + "\n";
}
}
}
Run Code Online (Sandbox Code Playgroud)
如何添加多个参数以及如何使用它们(值,值)?
在发布版本中调用OutputDebugString会产生很大的开销吗?
我们最近更新了我们的网站; 旧的有大约300页......新的大约有80页;)
这是因为在旧结构中,对于每个参数,我们都有很多页面.相反,现在我们只有一个页面带有"摘要".
例如,关于'car'参数的旧结构是:
现在,我们只有1页'汽车',里面都有.
实际上,我将所有子页面重定向到主页面,使用.htaccess 301重定向:
Redirect 301 /cars-tires.php http://www.example.com/cars.php
Redirect 301 /cars-engines.php http://www.example.com/cars.php
Redirect 301 /cars-accessories.php http://www.example.com/cars.php
Run Code Online (Sandbox Code Playgroud)
所以我们有很多不同的(即使主题是相同的)页面指向一个页面.
你觉得这对seo有好处,还是会更好地重定向旧的主页面并给旧的子页面找不到404?
我想知道为什么要调用该文件扩展名nib或xib.
我猜在笔尖中的ib是.Interface Builder
但是n?还是x?任何的想法?
我正在用C++编写一个程序,我有500个文件夹,每个文件夹包含一个文本文件.我想从C++中的每个文件夹中读取每个文本文件.
我怎么能做到这一点?
无法理解将返回用户访问特定服务的次数的SQL.认为它可能需要嵌套计数和选择,但无法理解它.
数据如下所示:
UserID Service
---------------
1 Map1
1 Map2
1 Map1
2 Map1
2 Map2
3 Map4
3 Map2
3 Map2
3 Map2
... ...
Run Code Online (Sandbox Code Playgroud)
所需的输出类似于以下内容:
UserID Service TimesAccessed
------------------------------
1 Map1 2
1 Map2 1
2 Map1 1
2 Map2 1
3 Map3 3
3 Map4 1
... ... ...
Run Code Online (Sandbox Code Playgroud)
任何帮助将非常感激.
我一直在寻找一段时间但我无法找到解决问题的简单方法.我想在表中复制记录,但当然,需要更新唯一的主键.
我有这个问题:
INSERT INTO invoices
SELECT * FROM invoices AS iv WHERE iv.ID=XXXXX
ON DUPLICATE KEY UPDATE ID = (SELECT MAX(ID)+1 FROM invoices)
Run Code Online (Sandbox Code Playgroud)
问题是这只是改变ID了行而不是复制行.有人知道如何解决这个问题吗?
//编辑:我想在不输入所有字段名称的情况下执行此操作,因为字段名称可能会随时间而变化.
经过多年的努力,我即将再次进入Java开发阶段.我使用的语言修订版是1.4.2.我知道从那以后语言发生了重大变化,我正在寻找一个详细介绍这些内容的网站或书籍.至少,我正在寻找一个资源,指出在哪个版本中添加了哪些语言功能,所以我可以一目了然地跳过我已经熟悉的部分.有什么建议 ?