SQL-запрос для определения английских строк, которые плохо подходят для локализации - PullRequest
1 голос
/ 02 августа 2011

Я хочу построить запрос SQL, который бы обнаруживал строки, которые плохо подходят для локализации, например строки, которые используются с конкатенацией, которые содержат неправильные заполнители или подобные вещи.

Пример:

  • Go to - имеет завершающий пробел
  • Subscribe to - для чего-то, это должен быть заполнитель.
  • все, что не начинается с заглавной буквы или цифры
  • другое ... (не стесняйтесь приходить с идеями)

Я полностью осознаю, что не существует идеального решения и абсолютно нормально получать ложных срабатываний .

Тем не менее, очень полезно составить список строк, которые следует изучить, прежде чем отправлять их на перевод.

1 Ответ

0 голосов
/ 02 августа 2011

У меня уже есть некоторые условия для этого, вот:

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 */
...