小编del*_*ttg的帖子

使用QT实用程序(lconvert)将转换文件(.ts)与现有的.ts文件合并

这是我的问题:我们的产品有九种不同语言的.ts文件.我们已经添加了大约100个需要翻译的新字符串,但有些是针对我们的下一个版本,有些是针对之后的版本.我们遇到了翻译人员缺少字符串或提前翻译字符串的问题.我们希望能够发送只包含我们现在要翻译的字符串的较小.ts文件,然后将该.ts文件合并到包含其余翻译的较大.ts文件中.

我们的翻译人员需要使用QT语言学家(之前我们让他们编辑原始XML而不是一流的结果).

一种解决方案是使用上下文,但我们的开发团队并不热衷于这个想法.另一种方法是手动合并.ts文件,但这似乎是剪切和粘贴错误的方法.

是否有一个方法使用lupdate和项目文件来添加或合并辅助.ts文件?我已经阅读了QT-land的论坛,没有找到答案,但是lupdate中的开关暗示能够指向其他翻译文件.特别是-pro开关说:

    -pro <filename>
       Name of a .pro file. Useful for files with .pro file syntax but
       different file suffix. Projects are recursed into and merged.
Run Code Online (Sandbox Code Playgroud)

例1:我们有一个德语.ts文件,我们想从一个单独的德语翻译文件中添加20个字符串,这样主翻译文件包含所有字符串,包括20个新字符串.

示例2:我们有一个德语.ts文件,我们希望从单独的德语翻译文件中添加20个字符串,以便在lupdate期间将辅助翻译文件与主文件合并,以便生成的.qm文件包含所有字符串,包括20新的.

有没有人做过其中任何一个(并且要么工作),你能给我一些见解吗?

qt translation

20
推荐指数
1
解决办法
7662
查看次数

XSLT:使用多个或者模板匹配来应用模板

我有一个带有多个节点的XML,每个节点都有类似的数据.我想从每个节点删除一个特定的属性(USER:IPADDRESS).我已经想出如何使用ors链接一些元素,只是省略User ="{@ User}"匹配,因此它不会出现在结果中:

XSL片段:

<xsl:template match="Creation | Test | Assignment | Modification | Repair | Termination">
<Creation CommitID="{@CommitID}" Date="{@Date}" BoardID="{@BoardID}">
<xsl:apply-templates/>
</Creation>
</xsl:template>
Run Code Online (Sandbox Code Playgroud)

不出所料,"Creation"之后的所有节点名称都被重新命名为Creation,因为这就是我告诉它要做的事情.如何传递各种匹配,以便在结果中以正确的顺序应用它们?我知道我可以使用相同的XSL语句为各种匹配(这是我第一次这样做)的蛮力方式,但必须有一个更优雅的方法,它只是回避我.我有数以百万计的XML线要处理,这只是我将要做的许多转换中的第一个.

我在Win7机器上使用msxsl V4.0进行转换,如果有任何后果的话.

XML:

<?xml version="1.0"?>
<BoardDatabase>
<Board_Data BoardID="1035">
    <Creation CommitID="12b" Date="2007-12-07T15:43:51" BoardID="1035" User="CSAGAN:192.168.1.177">
        <BoardDrawing>3B</BoardDrawing>
        <AssemblyDrawing>2010F</AssemblyDrawing>
        <Notes>PO Num 1959</Notes>
    </Creation>
    <Test CommitID="117" Date="2007-12-10T10:39:43" BoardID="1035" User="CSAGAN:192.168.1.183">
        <ElectricalTestData Result="FAIL" Version="IMM STD REVF">
            <AutomatedTest ReportVersion="1.0">
                <TestSetup>
                    <TestAppBuildDate>Dec 07 2007</TestAppBuildDate>
                    <VersionPath>c:\tests\versions\v12.txt</VersionPath>
                    <VersionNumber>1.2</VersionNumber>
                    <OperatorName>CSAGAN</OperatorName>
                    <StationID>PC-191-NDGrasse</StationID>
                    <JigSN>12345</JigSN>
                    <JigAssembly>42</JigAssembly>
                    <TestStartTime>2007-12-10 10:34:17</TestStartTime>
                </TestSetup>
            </AutomatedTest>
        </ElectricalTestData>
    </Test>
    <Assignment CommitID="1c1f" User="JRandi:192.168.1.162" Date="2008-09-30T07:36:52" BoardID="1035">
        <Notes>Boardset failed etest twice, …
Run Code Online (Sandbox Code Playgroud)

xml xslt xpath

14
推荐指数
1
解决办法
3万
查看次数

发布Web应用程序时,AfterPublish脚本无法运行

我有一个ASP.NET网络应用程序,当我进行更改或修复错误时,我发布到我们的网站.我们希望自动将项目文件的备份保存到我们的服务器(与SVN签入分开),因此我编写了一个批处理文件,将整个项目从本地驱动器复制到服务器.批处理文件在独立运行时正常工作,因此不是问题.如果这是一个问题,批处理文件不在项目的路径中.

然后我将这些行添加到结束</project>标记正上方的.csproj文件中:

<Target Name="AfterPublish" >
    <Exec Command="C:\deg\bat\backupRMA.cmd" />
</Target>
Run Code Online (Sandbox Code Playgroud)

这遵循MSDN中用于覆盖目标的指令.

我也尝试过这个SO问题中概述的方法.看起来像这样:

<Target Name="BackUpRMAToIDrive" AfterTargets="MSDeployPublish" >
    <Exec Command="C:\deg\bat\backupRMA.cmd" />
</Target>
Run Code Online (Sandbox Code Playgroud)

这也行不通.

为了完整性,这是批处理文件,它非常简单,但如果有人感兴趣,我可以解释这些开关:

xcopy C:\deg\ASP.NET\OnlineRMA_SinglePage\*.* /cherkyDi I:\common\AppDevBranch\Service\rma
Run Code Online (Sandbox Code Playgroud)

我使用Build> Publish RMA在VS2010中发布,效果很好.这只是备份脚本永远不会运行.唯一的共性是脚本本身.我见过其他使用源dir到目标目录的副本的例子,但我想我明白你可以通过Exec命令调用外部脚本吗? 这是我为该方法找到的SO问题的例子.

我确定我错过了一些显而易见的东西,但是我第二天就搞好了一些看似很直接的东西,所以我错过了什么?

c# asp.net msbuild publishing batch-file

9
推荐指数
2
解决办法
3589
查看次数

Xcode 4.5不会在模拟器或设备上运行/加载应用程序

我在2007年中期的Mac Mini上运行OS X Lion 10.7.5上的Xcode 4.5.我遇到这个问题之前,模拟器和实际设备在我构建时没有运行应用程序.我正在使用Phonegap 2.1,HTML,JS,Jquery Mobile编写几个不同的应用程序.我按照OSX DailySO的说明重新安装了Xcode 2-3x 如何完全删除Xcode 4.这工作了一段时间,但后来我的300GB SSD驱动器死了,我不得不重新安装OEM 120 GB硬盘并重新安装Xcode和Phonegap(两者都有自驱动器已卸载以来的版本).现在我无法让Xcode启动模拟器或再次下载到我的iPhone 4.我昨天再次完全卸载了Xcode并重新安装.我第一次尝试构建,花了很长时间下载5.1模拟器(*见下面的编辑),但最后"完成",但仍然没有运行它们.尝试下载到我的手机,再没有.

由于这是第三次或第四次发生这种情况,我想知道我做错了什么.很明显我错过了一些东西,因为我没有看到这个问题在这里,谷歌或苹果等各种支持论坛上尖叫,只有点点滴滴.

作为测试,我创建了一个简单的PhoneGap应用程序,其中没有任何东西,但PG创建,它不运行模拟器或下载到我的手机.这种方法用于测试系统,但不再用于测试系统.它构建良好,并使方形"运行"按钮变暗几秒钟,然后按钮再次变亮,就像你已经停止了应用程序一样,就是这样.没有错误消息,没有构建错误,没有.

英特尔正在更换我的SSD驱动器,所以当它到达时我将不得不重新经历这一点,除非我能在硬盘驱动器上运行工作副本,然后用Carbon Copy Cloner克隆它,所以我可以将其复制到新驱动器上.

任何帮助将不胜感激,我真的不想不断处理这个问题.

*编辑:我最初删除了这个问题因为我认为我做了一些愚蠢的事情,我意识到我已经下载了模拟器的文档,但没有下载实际的模拟器.我已经下载了5.1模拟器,但我仍然遇到同样的问题.

xcode ios-simulator cordova

5
推荐指数
2
解决办法
7103
查看次数

如何在Cygwin上安装/启用pcregrep?

我正在尝试使用在Cygwin上对此问题的最佳答案中指定的pcregrep 。我的环境是运行Cygwin V 1.7.20(0.266 / 5/3)的Win7 64bit。

使用cygcheck -p pcregrep我得到:

Found 6 matches for pcregrep
libpcre-devel-8.37-1 - libpcre-devel: Perl Compatible Regular Expressions library development (installed binaries and support files)
libpcre-devel-8.37-2 - libpcre-devel: Perl Compatible Regular Expressions library development (installed binaries and support files)
pcre-debuginfo-8.37-1 - pcre-debuginfo: Debug info for pcre (installed binaries and support files)
pcre-debuginfo-8.37-2 - pcre-debuginfo: Debug info for pcre (installed binaries and support files)
pcre-8.37-1 - pcre: Perl Compatible Regular Expressions utilities (installed …
Run Code Online (Sandbox Code Playgroud)

cygwin pcregrep

5
推荐指数
1
解决办法
1899
查看次数

有没有一种方法可以在一行中从 require 创建一个新的 Node 对象?

我们有一个 Node.js 小部件,可以像这样导出:

module.exports = ourWidget;

然后我将其导入到我们的 server.js 中,如下所示:

var ourWidget = require('./ourWidget');
var ow = new ourWidget;
Run Code Online (Sandbox Code Playgroud)

这按预期工作,但是可以在一行中完成吗?例如:

var ow = new (require('./ourWidget'));
Run Code Online (Sandbox Code Playgroud)

这不起作用,我也尝试过:

var ow = new (require('./ourWidget')());

两者都类似于这个问题中的代码: How does require work with new operator in node.js? ,但是当我尝试运行代码时,两者都失败了。

javascript require node.js

3
推荐指数
1
解决办法
804
查看次数

如何将变量传递给 jQuery 验证

基于这个问题,我试图将两个变量传递给自定义验证器方法。使用console.log我可以看到上限和下限范围是在 HTML 中定义的,但没有正确传递给选项,而是我得到的NaN

问题似乎是两个文本框的值尚未定义或设置(当它们在下面的验证规则中发送时),但是当它们到达验证器时(这只是一个猜测,我还没有在验证尝试之前无法想出一种方法来嗅探它们的值)。因此,如果我将它们记录在验证器方法中,它们会显示得很好,但如果我将它们作为变量传递,它们会在 PCBID 对象(Chrome 浏览器)中显示为 NaN:

Object {PCBID: Object}
    PCBID: Object
        lower: NaN
        upper: NaN
    __proto__: Object
    __proto__: Object
Run Code Online (Sandbox Code Playgroud)

这是验证器,还设置了其他规则来防止输入任何整数,因此这不应该是问题:

//this validator checks to make sure the user has entered the PCBIDs in 
//the correct order in the range form.
$.validator.addMethod("highLowCheck", function (value, element, options)
{
console.log("Inside highLowCheck validator");
console.log(parseInt($('#pcbid_range_lower').val(),10)); //shows expected values
console.log(parseInt($('#pcbid_range_upper').val(),10)); //shows expected values

console.log(options.PCBID.upper); //NaN
console.log(options.PCBID.lower); //NaN
//evaluates to false because NaN is falsey
console.log(options.PCBID.upper > options.PCBID.lower); 
console.log("Done …
Run Code Online (Sandbox Code Playgroud)

javascript jquery jquery-validate

1
推荐指数
1
解决办法
7271
查看次数