#!/usr/bin/env ruby

MASTER="en"

DIR = "#{__dir__}/.."

keys = %x[sed -r 's/.*(\\['.*'\\]\\['.*'\\]).*/\\1/g' #{DIR}/data/web/lang/lang.#{MASTER}.php | grep  '^\\\[' | sed 's/\\[/\\\\[/g' | sed 's/\\]/\\\\]/g'|sort | uniq]

not_used_in_php = []
keys.split("\n").each do |key|
  %x[git grep "#{key}" -- #{DIR}/data/web/*.php #{DIR}/data/web/inc #{DIR}/data/web/modals]
  if $?.exitstatus > 0
    not_used_in_php << key
  end
end

# \['user'\]\['username'\]
# \['user'\]\['waiting'\]
# \['warning'\]\['spam_alias_temp_error'\]

not_used = []
not_used_in_php.each do |string|
  section = string.scan(/([a-z]+)/)[0][0]
  key     = string.scan(/([a-z]+)/)[1][0]
  %x[git grep lang.#{key} -- #{DIR}/data/web/js/#{section}.js #{DIR}/data/web/js/debug.js]
  if $?.exitstatus > 0
    not_used << string
  end
end

puts "# Remove unused translation keys:"
not_used.each do |key|
  puts "sed -i \"/\\$lang#{key}.*;/d\" data/web/lang/lang.??.php"
end