public static void setTranslatedValue(Program program, ProgramLocation stringLocation,
			String newValue) {

		Data data = DataUtilities.getDataAtLocation(stringLocation);
		StringDataInstance sdi = StringDataInstance.getStringDataInstance(data);

		int id = program.startTransaction("Set string translated value");
		try {
			// remove the translation settings if the new value is empty or exactly equal to the
			// actual string data instance value.
			if (newValue.isEmpty() || newValue.equals(sdi.getStringValue())) {
				TRANSLATION.clear(data);
				TRANSLATION.setTranslatedValue(data, null);
			}
			else {
				TRANSLATION.setTranslatedValue(data, newValue);
				TRANSLATION.setShowTranslated(data, true);
			}
		}
		finally {
			program.endTransaction(id, true);
		}

	}
Helper method called by Defined String table model to set the value for a single item.
<p>
This method is here to keep it adjacent to the manual string translation logic.

@param program current {@link Program}
@param stringLocation {@link ProgramLocation} of the string to set new translation
@param newValue String manual translated value
Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/string/translate/ManualStringTranslationService.java