我希望构建一个SQL查询来检测对本地化有害的字符串,比如用于连接的字符串,包含错误的占位符或类似的东西。
示例:
Go to
- 有一个尾随空格Subscribe to
- 对某事来说,它应该是一个占位符。我完全清楚没有完美的解决方案,获得误报是绝对正常的。
但是,在将这些字符串发送到翻译之前编译应该调查的字符串列表是非常有用的。
答案 0 :(得分:0)
我已经有了这样做的条件,这里是:
SELECT text FROM strings WHERE
text REGEXP '[[:<:]](of|per|as|with|to|from|at|with)\s*$' >= 1
/* ending with a preposition*/
OR (NOT text REGEXP '^[A-Z0-9{]')
/* starting with lowercase...?*/
OR text LIKE '%{0}%'
/* placeholders should be named not numbered */
OR text REGEXP '\&(nbsp|gt|lt|amp|quot|tab|copy);'
/* HTML entities should be escaped by the code, here we need only Unicode */
OR text REGEXP '%[0-1\.\$\*][sdifFeEgGxXocpn)]'
/* detect printf() placeholders */