Tag: gettext

在Node / Express中重用大型翻译文件的最佳方法

我是Node新手,但我想我会立即开始,并将一个PHP应用程序转换为Node / Express。 这是一个使用PO / MO文件的gettext的双语应用程序。 我find了一个名为node-gettext的Node模块。 我宁愿不把PO文件转换成另一种格式,所以看起来这个库是我唯一的select。 所以我现在担心的是,在每个页面呈现之前,我都是这样做的: exports.home_index = function(req, res) { var gettext = require('node-gettext'), gt = new gettext(); var fs = require('fs'); gt.textdomain('de'); var fileContents = fs.readFileSync('./locale/de.mo'); gt.addTextdomain('de', fileContents); res.render( 'home/index.ejs', { gt: gt } ); }; 我也将在课堂上使用翻译,所以现在如何设置翻译,每当我想在另一个地方翻译某些东西的时候,我都要重新加载整个翻译文件。 翻译文件大约是50k,我真的不喜欢每页加载都要这样做文件操作。 在Node / Express中,除了数据库之外,最有效的方法是什么? 通常,用户在第一次之后甚至不会改变他们的语言(如果他们正在从英语改变它)。 编辑: 好吧,我不知道这是否是一个好方法,但它至less可以让我在应用程序的其他部分重新使用翻译文件,而无需在任何需要翻译文本的地方重新加载翻译文件。 在app.js中: var express = require('express'), app […]

使用C ++中的数组调用一个带有可变数量参数的函数(如python的*运算符)

我想用C ++编写一个v8模块; 在那里,函数在数组中接收可变数目的参数。 我想采取该数组,并调用一个函数,如gettext和printf接收格式化的string,这是必要的参数。 问题是,如何获取一个数组并将这些元素作为参数发送给其中一个函数呢? 在Python中,我会做这样的事情: def the_function(s, who, hmany): print s%(who, hmany) the_args = ["Hello, %s from the %d of us", "world", 3] the_function(*the_args) 如何在C ++中完成? (我正在使用v8和node.js,所以也许有一个函数或类在我不知道的这些名称空间的某处)

找不到符号:_libintl_gettext

我正在尝试使用C ++和node-gyp创build一个NodeJS模块。 该包依赖于GNU的Gettext库。 我目前使用的是Mac OS X Mountain Lion。 我曾尝试通过手动方式,通过Homebrew,甚至通过Fink来安装这个软件包。 该程序通过Terminal.app工作,包编译。 我可以使用.node模块,除非我在使用gettext的库中使用了一个方法。 我在REPL中得到以下错误,然后REPL退出。 dyld: lazy symbol binding failed: Symbol not found: _libintl_gettext Referenced from: /Users/KevinMartin/Dropbox/www/node-locale/build/Release/locale.node Expected in: dynamic lookup dyld: Symbol not found: _libintl_gettext Referenced from: /Users/KevinMartin/Dropbox/www/node-locale/build/Release/locale.node Expected in: dynamic lookup Trace/BPT trap: 5 提前致谢。

selenium webdriver getText返回

我有一个selenium脚本,应该从包含所需值的单元格后的表格列中获取文本。 我有脚本工作,但由于某种原因,当我运行getText(),并检查返回的值我得到[对象对象]在我的node.js控制台…我很困惑我试图parsing它为一个string,我已经调用了该variables的getText()将是元素和其他几种方式,但无济于事… 这里是我的脚本部分: if(tempID!=1){ //tr[contains(td[1], "ID#")]/td[#] scrapeArray[0] = tempID; console.log(scrapeArray[0]); } }).then(function(){ scrapeArray[1] = String(driver.findElement(webdriver.By.xpath('//tr[contains(td[1], "'+tempID+'")]/td[2]')).text()); console.log("1: "+scrapeArray[1]); }).then(function(){ scrapeArray[2] = String(driver.findElement(webdriver.By.xpath('//tr[contains(td[1], "'+tempID+'")]/td[3]')).text()); console.log("2: "+scrapeArray[2]); }).then(function(){ scrapeArray[3] = String(driver.findElement(webdriver.By.xpath('//tr[contains(td[1], "'+tempID+'")]/td[4]')).text()); console.log("3: "+scrapeArray[3]); }).then(function(){ scrapeArray[4] = String(driver.findElement(webdriver.By.xpath('//tr[contains(td[1], "'+tempID+'")]/td[5]')).text()); console.log("4: "+scrapeArray[4]); }).then(function(){ scrapeArray[5] = String(driver.findElement(webdriver.By.xpath('//tr[contains(td[1], "'+tempID+'")]/td[6]')).text()); console.log("5: "+scrapeArray[5]); }).then(function(){ scrapeArray[6] = String(driver.findElement(webdriver.By.xpath('//tr[contains(td[1], "'+tempID+'")]/td[7]')).text()); console.log("6: "+scrapeArray[6]); }).then(function(){ numberOf++; […]

.po文件和gettext VS JSON和自定义i18n库?

我需要在JavaScript中为浏览器端的翻译开发或者find一些类似轻量级gettext的库。 最好如果我想翻译服务器端,相同的库可以被node.js使用。 1)但是,使用.po文件和JavaScript gettext库的优点和缺点是什么? (而不是JSON和jQuery全球化或类似?) 2)是否有任何工作stream程/服务,将允许翻译的众包,可以导出到一个格式(.po / json),可以由JavaScript国际图书馆(gettext实现,Globalize.js等)使用?