$javaFiles = Get-ChildItem -Path "src/main/java" -Recurse -Filter "*.java"
|
$foundKeys = @()
|
foreach ($file in $javaFiles) {
|
$content = Get-Content $file.FullName
|
$matches = [regex]::Matches($content, 'response\.[a-zA-Z0-9_]+')
|
foreach ($match in $matches) {
|
$foundKeys += $match.Value
|
}
|
}
|
$foundKeys = $foundKeys | Sort-Object | Get-Unique
|
|
# Exclude technical calls like response.getOutputStream, response.setContentType, etc.
|
$exclude = @("response.getOutputStream", "response.setContentType", "response.setCharacterEncoding", "response.setHeader", "response.sendRedirect", "response.getWriter", "response.addCookie", "response.setStatus", "response.reset")
|
$foundKeys = $foundKeys | Where-Object { $exclude -notcontains $_ }
|
|
$enContent = Get-Content "src/main/webapp/static/i18n/en.json" -Raw
|
$enKeys = [regex]::Matches($enContent, '"(response\.[^"]+)"') | ForEach-Object { $_.Groups[1].Value }
|
|
$cnContent = Get-Content "src/main/webapp/static/i18n/zh-cn.json" -Raw
|
$cnKeys = [regex]::Matches($cnContent, '"(response\.[^"]+)"') | ForEach-Object { $_.Groups[1].Value }
|
|
$missingEn = $foundKeys | Where-Object { $enKeys -notcontains $_ }
|
$missingCn = $foundKeys | Where-Object { $cnKeys -notcontains $_ }
|
|
Write-Output "Missing in EN:"
|
$missingEn
|
Write-Output "Missing in CN:"
|
$missingCn
|