@(report: com.typesafe.play.docs.sbtplugin.PlayDocsValidation.TranslationReport, version: String)

# Play Translation Report

## Play upstream documentation version: @version

Rerun report

This report details the progress of this translation against the given version of the Play documentation, and attempts to identify potential issues.

Total parsed files: @report.total

@if(report.missingFiles.nonEmpty) {

### Missing files

The following Markdown files are present in the official Play documentation, but are not present in the translation. This indicates that there may be translation work left to do.

@for(file <- report.missingFiles) {
- @file
}

} @if(report.introducedFiles.nonEmpty) {

### Introduced files

The following Markdown files are not present in the official Play documentation, but are present in the translation. This could indicate many things, such as documentation being restructured, or a typo in the file name.

@for(file <- report.introducedFiles) {
- @file
}

} @if(report.changedPathFiles.nonEmpty) {

### Non matching paths

The following Markdown files have changed paths. This could create issues, particularly with sourcing code samples.

@for(file <- report.changedPathFiles) {
@file._2
  -> @file._1
}

} @if(report.codeSampleIssues.nonEmpty) {

### Code sample issues

The following Markdown files have potential issues in code samples. They are either missing code samples, or they refer to code samples that the official documentation doesn't. This could indicate an error in translating, or that something has changed.

@for(file <- report.codeSampleIssues) {
@file.name

  Total code samples in official documentation: @file.totalCodeSamples

  @for(codeSample <- file.missingCodeSamples) {
  - [@codeSample.segment](@codeSample.source)
  } @for(codeSample <- file.introducedCodeSamples) {
  - [@codeSample.segment](@codeSample.source)
  }
}

} @if(report.okFiles.nonEmpty) {

### Ok files

The following files have no problems.

@for(file <- report.okFiles) {
- @file
}

}