用于检测本地化不良的英语字符串的SQL查询

时间:2011-08-02 15:19:39

标签: localization internationalization translation

我希望构建一个SQL查询来检测对本地化有害的字符串,比如用于连接的字符串,包含错误的占位符或类似的东西。

示例:

  • Go to - 有一个尾随空格
  • Subscribe to - 对某事来说,它应该是一个占位符。
  • 任何不以大写或数字开头的内容
  • 其他......(随意提出想法)

我完全清楚没有完美的解决方案,获得误报是绝对正常的。

但是,在将这些字符串发送到翻译之前编译应该调查的字符串列表是非常有用的。

1 个答案:

答案 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 */