小编Jos*_*eak的帖子

iOS本地化 - 仅使用新字符串更新Localizable.strings

我搜索过谷歌StackOverflow,并且仍然没有明确的答案,这是一个简单而自动的方法,但这里是场景:

  1. 我有一个应用程序,1000个字符串本地化为en,fr,de,es,它.
  2. 我构建了一个新功能,可以生成10个非常新的NSLocalizedString()键.
  3. 我只想将这10个新字符串附加到文件的末尾:
    • en.lproj/Localizable.strings
    • fr.lproj/Localizable.strings
    • es.lproj/Localizable.strings
    • de.lproj/Localizable.strings
    • it.lproj/Localizable.strings

genstrings将检索所有1010个不同的字符串.这是一个痛苦,因为每次我做更新时,我都需要"大海捞针"找到这10个字符串.

更新2014年9月19日 - XCode 6 - Apple终于发布了对XLIFF导出和导入.strings文件的支持 在XCode 6中有什么新东西?本土化

灵源(v1.1.3)虽然大部分时间都是一个可爱的工具,但它开始成为另一种意义上的工具.它合并了更改,但是某些字符串在合并时不能正确匹配,因此每次执行扫描源时,它会创建100个新的重复键以及我之后的10个字符串,因此它可以完成更多工作.

FileMerge如下所示,尝试在genstrings输出文件的旧版本和新版本之间进行差异.该genstrings输出具有串字母顺序进行排序,以便10串分散在整个1000意味着有200个分歧审查.它一直匹配/*...*/"..." = "..."和说,...已更新.它尚未更新,只是转移到文件中的新位置.越来越多看起来我将不得不编写一个自定义工具.

MacHG + FileMerge旁注,出于一些奇怪的原因,不喜欢使用Localizable.strings的工作副本从存储库中做差异.左窗格和右窗格都显示为空. 更新:将某些变更集中的变化保存为UTF-16,而某些变更集则以UTF-8为例进行调整,以便能够进行正确的差异.

Bash Script + FileMerge我每次添加新NSLocalizedString条目后都编写了以下脚本来帮助维护我的英文参考文件:

#LOCALISATION UPDATE SCRIPT
#
#This will create a temporary copy of the current 'en' reference file then generate the 
#latest reference file using the 'genstrings' tool. …
Run Code Online (Sandbox Code Playgroud)

iphone translation localization ipad ios

31
推荐指数
2
解决办法
1万
查看次数

NodeJS生成用于签名和验证消息的有效PEM密钥

语境

来自Node v10.9.0的TLS / SSL上的NodeJS文档(2018-AUG)

https://nodejs.org/api/tls.html#tls_tls_ssl_concepts

openssl genrsa -out ryans-key.pem 2048
Run Code Online (Sandbox Code Playgroud)

将产生:

-----BEGIN RSA PRIVATE KEY-----
base64 encoded magic here...
-----END RSA PRIVATE KEY-----
Run Code Online (Sandbox Code Playgroud)

然后,我可以成功地使用Sign该类对消息进行加密签名:

https://nodejs.org/api/crypto.html#crypto_class_sign

const crypto = require('crypto');
const sign = crypto.createSign('RSA-SHA256');

sign.update('some data to sign');

const privateKey = `Insert magic value from above`;
console.log(sign.sign(privateKey, 'base64'));
Run Code Online (Sandbox Code Playgroud)

我尝试了以下方法,但均未成功:

const crypto = require('crypto');
const dhke = crypto.createDiffieHellman(2048);
dhke.generateKeys();
const private_pem = `-----BEGIN RSA PRIVATE KEY-----
${dhke.getPrivateKey('base64')}
-----END RSA PRIVATE KEY-----`;
console.log(private_pem);

const sign = crypto.createSign('RSA-SHA256');
sign.update('some data to …
Run Code Online (Sandbox Code Playgroud)

ssl pem node.js

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

Python pytest pytest_exception_interact 从VCR.py 异常中自定义异常信息

语境

我已经开始使用pytest-vcrwhich 是一个pytest插件包装VCR.py,我在这篇关于 Advanced Python Testing 的博客文章中记录了

cassettes/*.yml在第一次测试运行时将所有 HTTP 流量记录到文件中以保存快照。类似于Web 组件的Jest快照测试。

在后续的测试运行中,如果请求格式错误,它将找不到匹配项并抛出异常,表示禁止记录新请求并且未找到现有记录。

VCR.py引发 aCannotOverwriteExistingCassetteException并没有特别说明为什么它不匹配。

我如何利用 pytestpytest_exception_interact钩子将这个异常替换为一个利用夹具信息的信息更丰富的异常?

我一头扎进我的site-packages地方VCR.pypip installed并重新编写我希望如何处理异常。我只需要知道如何让这个pytest_exception_interact钩子正常工作,以从该测试节点访问设备(在它被清理之前)并引发不同的异常。

例子

让我们获取依赖项。

$ pip install pytest pytest-vcr requests
Run Code Online (Sandbox Code Playgroud)

test_example.py:

import pytest
import requests

@pytest.mark.vcr
def test_example():
    r = requests.get("https://www.stackoverflow.com")
    assert r.status_code == 200
Run Code Online (Sandbox Code Playgroud)
$ pytest test_example.py --vcr-record=once
...
test_example.py::test_example PASSED 
...
$ …
Run Code Online (Sandbox Code Playgroud)

python pytest python-3.x

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

Python:检测数字分隔符并解析为没有语言环境的浮点数

我有一个包含数百万个文本文件的数据集,其中数字保存为字符串,并使用各种语言环境来格式化数字。我想做的是猜测哪个符号是小数点分隔符,哪个是千位分隔符。

这不应该太难,但是似乎还没有提出这个问题,为了后代,应该在这里提出并回答。

我所知道的是,总会有一个十进制分隔符,并且它始终是字符串中的最后一个non [0-9]符号。

正如您在下面看到的那样numStr.replace(',', '.'),十进制分隔符中的变量的简单修复将与可能的千位分隔符冲突。

如果您知道语言环境,我已经看到了解决方法,但是在这种情况下我知道语言环境。

资料集:

1.0000 //1.0
1,0000 //1.0
10,000.0000 //10000.0
10.000,0000 //10000.0
1,000,000.0000 // 1000000.0
1.000.000,0000 // 1000000.0

//also possible

1 000 000.0000 //1000000.0 with spaces as thousand separators
Run Code Online (Sandbox Code Playgroud)

python formatting python-2.x

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