This page documents all available configuration options for the Composer Translation Validator.
- Type:
array<string> - Default:
[] - Description: Array of directory paths to scan for translation files
paths:
- translations/
- resources/lang/- Type:
array<string> - Default:
[](uses all available validators) - Description: Array of validator class names to use for validation
validators:
- MoveElevator\ComposerTranslationValidator\Validator\MismatchValidator
- MoveElevator\ComposerTranslationValidator\Validator\DuplicateKeysValidator- Type:
array<string> - Default:
[](uses automatic detection) - Description: Array of file detector class names to use for file grouping
file-detectors:
- MoveElevator\ComposerTranslationValidator\FileDetector\SuffixFileDetectorAvailable detectors:
PrefixFileDetector- Groups files likeen.messages.xlfSuffixFileDetector- Groups files likemessages.en.yamlDirectoryFileDetector- Groups files likeen/messages.php
- Type:
array<string> - Default:
[] - Description: Array of validator class names to run exclusively (overrides
validators)
only:
- MoveElevator\ComposerTranslationValidator\Validator\MismatchValidator- Type:
array<string> - Default:
['DuplicateValuesValidator', 'KeyNamingConventionValidator'] - Description: Array of validator class names to skip
skip:
- MoveElevator\ComposerTranslationValidator\Validator\HtmlTagValidator- Type:
array<string> - Default:
[] - Description: Array of glob patterns for files/directories to exclude from validation
exclude:
- "**/backup/**"
- "**/cache/**"
- "**/*.bak"- Type:
boolean - Default:
false - Description: Whether to treat warnings as errors
strict: true- Type:
boolean - Default:
false - Description: Whether to run in dry-run mode (no errors thrown)
dry-run: true- Type:
string - Default:
cli - Options:
cli,json,github - Description: Output format for validation results
format: json- Type:
boolean - Default:
false - Description: Whether to enable verbose output
verbose: true- Type:
object - Default:
{} - Description: Per-validator configuration options
validator-settings:
KeyCountValidator:
threshold: 500
KeyDepthValidator:
threshold: 5
KeyNamingConventionValidator:
convention: snake_case| Option | Type | Default | Description |
|---|---|---|---|
threshold |
integer |
300 |
Maximum number of keys before warning |
| Option | Type | Default | Description |
|---|---|---|---|
threshold |
integer |
8 |
Maximum nesting depth before warning |
| Option | Type | Default | Description |
|---|---|---|---|
convention |
string |
auto-detect | Naming convention to enforce |
custom_pattern |
string |
- | Custom regex pattern |
Supported conventions:
snake_case-user_name,form_submitcamelCase-userName,formSubmitkebab-case-user-name,form-submitPascalCase-UserName,FormSubmit
Custom pattern examples:
validator-settings:
KeyNamingConventionValidator:
# Only lowercase letters and numbers
custom_pattern: '/^[a-z0-9]+$/'
# Specific prefix requirement
custom_pattern: '/^app\.[a-z][a-z0-9_]*$/'
# Maximum length constraint
custom_pattern: '/^[a-z][a-z0-9_]{0,29}$/'