summaryrefslogtreecommitdiff
blob: 740eea32dd30468517612f33a2e206615f5fb811 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<?php
/**
 * Contains a simple string compare class.
 * @license GPL-2.0-or-later
 */

namespace MediaWiki\Extension\Translate\Utilities\StringComparators;

/**
 * A simple string comparator, that compares two strings and determines if they are an exact match.
 * @since 2019.10
 */
class SimpleStringComparator implements StringComparator {
	/** @inheritDoc */
	public function getSimilarity( $addedMessage, $deletedMessage ) {
		if ( $addedMessage === $deletedMessage ) {
			return 1;
		}

		if ( trim( mb_strtolower( $addedMessage ) ) === trim( mb_strtolower( $deletedMessage ) ) ) {
			// This is an arbitrarily chosen number to differentiate it from an exact match.
			return 0.95;
		}

		return 0;
	}
}

class_alias( SimpleStringComparator::class, '\MediaWiki\Extensions\Translate\SimpleStringComparator' );