这是我的问题:我们的产品有九种不同语言的.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新的.
有没有人做过其中任何一个(并且要么工作),你能给我一些见解吗?
我有一个带有多个节点的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) 我有一个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问题的例子.
我确定我错过了一些显而易见的东西,但是我第二天就搞好了一些看似很直接的东西,所以我错过了什么?
我在2007年中期的Mac Mini上运行OS X Lion 10.7.5上的Xcode 4.5.我遇到这个问题之前,模拟器和实际设备在我构建时没有运行应用程序.我正在使用Phonegap 2.1,HTML,JS,Jquery Mobile编写几个不同的应用程序.我按照OSX Daily和SO的说明重新安装了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模拟器,但我仍然遇到同样的问题.
我正在尝试使用在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) 我们有一个 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? ,但是当我尝试运行代码时,两者都失败了。
基于这个问题,我试图将两个变量传递给自定义验证器方法。使用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 ×2
asp.net ×1
batch-file ×1
c# ×1
cordova ×1
cygwin ×1
jquery ×1
msbuild ×1
node.js ×1
pcregrep ×1
publishing ×1
qt ×1
require ×1
translation ×1
xcode ×1
xml ×1
xpath ×1
xslt ×1