private void readActionProperties(String actionPrefix) {
		String propertyPrefix = actionPrefix + ".";
		try {
			putValue(NAME, Tools.getLocalizedLabelText(propertyPrefix + NAME));
		} catch (IllegalArgumentException ex) {
		}
		putValue(DEFAULT, getValue(NAME));
		putValue(POPUP, getOptionalString(propertyPrefix + POPUP));
		putValue(SHORT_DESCRIPTION, getOptionalString(propertyPrefix
				+ SHORT_DESCRIPTION));
		putValue(LONG_DESCRIPTION, getOptionalString(propertyPrefix
				+ LONG_DESCRIPTION));

		String smallIcon = getOptionalString(propertyPrefix + SMALL_ICON);
		if (smallIcon != null) {
			Program.class.getClassLoader().getResource(smallIcon);
			putValue(SMALL_ICON,
					new ImageIcon(Program.class.getClassLoader().getResource(smallIcon)));
		}

		String propertyKey = propertyPrefix + ACCELERATOR_KEY;
		String acceleratorKey = getOptionalString(propertyKey + "."
				+ System.getProperty("os.name"));
		if (acceleratorKey == null) {
			acceleratorKey = getOptionalString(propertyKey);
		}
		if (acceleratorKey != null) {
			putValue(ACCELERATOR_KEY, KeyStroke.getKeyStroke(acceleratorKey));
		}

		String mnemonicKey = getOptionalString(propertyPrefix + MNEMONIC_KEY);
		if (mnemonicKey != null) {
			putValue(MNEMONIC_KEY, Integer.valueOf(KeyStroke.getKeyStroke(
					mnemonicKey).getKeyCode()));
		}
	}