changeset 1178:d0f564b96c10

Escape apostrophes in Messages.properties 2015-03-17 Jie Kang <jkang@redhat.com> Escape apostrophes in Messages.properties * netx/net/sourceforge/jnlp/resources/Messages.properties: * netx/net/sourceforge/jnlp/resources/Messages_cs.properties: * netx/net/sourceforge/jnlp/resources/Messages_de.properties: Apostrophes escaped using two apostrophes as specified in MessageFormat java class. Used in Translator class to format values * tests/netx/unit/net/sourceforge/jnlp/runtime/TranslatorTest.java: Test added making sure escaped apostrophes work properly * tests/reprocers/signed/CodeBaseManifestEntrySignedMatching/testcases/CodeBaseManifestEntrySignedMatching.java: (getMessage) Uses MessageFormat to format values from Messages.properties
author Jie Kang <jkang@redhat.com>
date Tue, 17 Mar 2015 12:01:51 -0400
parents 6eae10290046
children ed0b9abe24d7
files ChangeLog netx/net/sourceforge/jnlp/resources/Messages.properties netx/net/sourceforge/jnlp/resources/Messages_cs.properties netx/net/sourceforge/jnlp/resources/Messages_de.properties tests/netx/unit/net/sourceforge/jnlp/runtime/TranslatorTest.java tests/reproducers/signed/CodeBaseManifestEntrySignedMatching/testcases/CodeBaseManifestEntrySignedMatching.java
diffstat 6 files changed, 72 insertions(+), 44 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Tue Mar 17 15:53:46 2015 +0100
+++ b/ChangeLog	Tue Mar 17 12:01:51 2015 -0400
@@ -1,3 +1,16 @@
+2015-03-17  Jie Kang  <jkang@redhat.com>
+
+	Escape apostrophes in Messages.properties
+	* netx/net/sourceforge/jnlp/resources/Messages.properties:
+	* netx/net/sourceforge/jnlp/resources/Messages_cs.properties:
+	* netx/net/sourceforge/jnlp/resources/Messages_de.properties:
+	Apostrophes escaped using two apostrophes as specified in MessageFormat
+	java class. Used in Translator class to format values
+	* tests/netx/unit/net/sourceforge/jnlp/runtime/TranslatorTest.java:
+	Test added making sure escaped apostrophes work properly
+	* tests/reprocers/signed/CodeBaseManifestEntrySignedMatching/testcases/CodeBaseManifestEntrySignedMatching.java:
+	(getMessage) Uses MessageFormat to format values from Messages.properties
+
 2015-03-17  Jiri Vanek  <jvanek@redhat.com>
 
 	Removed forgotten occurrence of netx-dist-tests-whitelist and so fixing make dist
--- a/netx/net/sourceforge/jnlp/resources/Messages.properties	Tue Mar 17 15:53:46 2015 +0100
+++ b/netx/net/sourceforge/jnlp/resources/Messages.properties	Tue Mar 17 12:01:51 2015 -0400
@@ -1,4 +1,9 @@
 # Default (English) UI messages for netx
+#
+# All messages are formatted using Java's MessageFormat class.
+# Apostrophe characters ' need to be escaped by using two: ''
+# Curly brackets need to be escaped by surrounding them with single apostrophes '{' '{hello}'
+#
 # L=Launcher, B=Boot, P=Parser, C=cache S=security
 #
 # General
@@ -60,8 +65,8 @@
 JREContinueDialogSentenceTitle=Incompatible JRE
 
 # missing permissions dialogue
-MissingPermissionsMainTitle=Application <span color='red'> {0} </span> \
-from <span color='red'> {1} </span> is missing the permissions attribute. \
+MissingPermissionsMainTitle=Application <span color=''red''> {0} </span> \
+from <span color=''red''> {1} </span> is missing the permissions attribute. \
 Applications without this attribute should not be trusted. Do you wish to allow this application to run?
 MissingPermissionsInfo=For more information you can visit:<br/>\
 <a href="http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/security/manifest.html#permissions"> \
@@ -70,8 +75,8 @@
 Preventing the repurposing of Applications</a>
 
 # missing Application-Library-Allowable-Codebase dialogue
-ALACAMissingMainTitle=The application <span color='red'> {0} </span> \
-from <span color='red'> {1} </span> uses resources from the following remote locations: \
+ALACAMissingMainTitle=The application <span color=''red''> {0} </span> \
+from <span color=''red''> {1} </span> uses resources from the following remote locations: \
 {2} \
 Are you sure you want to run this application?
 ALACAMissingInfo=For more information see:<br/>\
@@ -81,8 +86,8 @@
 Preventing the Repurposing of an Application</a>
 
 # matching Application-Library-Allowable-Codebase dialogue
-ALACAMatchingMainTitle=The application <span color='red'> {0} </span> \
-from <span color='red'> {1} </span> uses resources from the following remote locations:<br/>{2} <br/> \
+ALACAMatchingMainTitle=The application <span color=''red''> {0} </span> \
+from <span color=''red''> {1} </span> uses resources from the following remote locations:<br/>{2} <br/> \
 Are you sure you want to run this application?
 ALACAMatchingInfo=For more information you can visit:<br/>\
 <a href="http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/security/manifest.html#app_library"> \
@@ -143,7 +148,7 @@
 LPartiallySignedApplet=The applet was partially signed.
 LPartiallySignedAppletUserDenied=The applet was partially signed, and the user did not trust it.
 LSignedAppJarUsingUnsignedJar=Signed application using unsigned jars.
-LSignedAppJarUsingUnsignedJarInfo=The main application jar is signed, but some of the jars it is using aren't.
+LSignedAppJarUsingUnsignedJarInfo=The main application jar is signed, but some of the jars it is using aren''t.
 LRunInSandboxError=Run in Sandbox call performed too late.
 LRunInSandboxErrorInfo=The classloader was notified to run the applet sandboxed, but security settings were already initialized.
 LSignedJNLPFileDidNotMatch=The signed JNLP file did not match the launching JNLP file.
@@ -206,7 +211,7 @@
 BBadProp=Incorrect property format {0} (should be key=value)
 BBadParam=Incorrect parameter format {0} (should be name=value)
 BNoDir=Directory {0} does not exist.
-BNoCodeOrObjectApplet=Applet tag must specify a 'code' or 'object' or 'jnlp_href' attribute.
+BNoCodeOrObjectApplet=Applet tag must specify a ''code'' or ''object'' or ''jnlp_href'' attribute.
 RNoResource=Missing Resource: {0}
 RShutdown=This exception to prevent shutdown of JVM, but the process has been terminated.
 RExitTaken=Exit class already set and caller is not exit class.
@@ -234,13 +239,13 @@
 RConfigurationFatal=ERROR: a fatal error has occurred while loading configuration. Perhaps a global configuration was required but could not be found
 RFailingToDefault=Failing to default configuration
 RPRoxyPacNotSupported=Using Proxy Auto Config (PAC) files is not supported.
-RProxyFirefoxNotFound=Unable to use Firefox's proxy settings. Using "DIRECT" as proxy type.
+RProxyFirefoxNotFound=Unable to use Firefox''s proxy settings. Using "DIRECT" as proxy type.
 RProxyFirefoxOptionNotImplemented=Browser proxy option "{0}" ({1}) not supported yet.
 RBrowserLocationPromptTitle=Browser Location
 RBrowserLocationPromptMessage=Specify Browser Location
 RBrowserLocationPromptMessageWithReason=Specify Browser Location (the browser command "{0}" is invalid).
 HTMLnoneFound=No applet found on this html page (supported are object, embed and applet tags)
-HTMLmoreThenOne=More then one ({0}) applets found. Using  first. You can specify 'all' or numbers to specify appelts you wont to run.
+HTMLmoreThenOne=More then one ({0}) applets found. Using  first. You can specify ''all'' or numbers to specify appelts you wont to run.
 
 # icedtea-web man (note, spaces are important due to man pages markup
 ITWintroL1={0}provides a Free Software web browser plugin running applets written in the Java programming language and an implementation of Java Web Start, originally based on the NetX project.
@@ -380,19 +385,19 @@
 CChooseCacheDir=Cache directory
 CCannotClearCache=Can not clear the cache at this time. Try later. If the problem persists, try closing your browser(s) & JNLP applications. At the end you can try to kill all java applications. \\\n You can clear cache by javaws -Xclearcache or via itw-settings Cache -> View files -> Purge
 CFakeCache=Cache is corrupt. Fixing.
-CFakedCache=Cache was corrupt and has been fixed. It is strongly recommended that you run 'javaws -Xclearcache' and rerun your application as soon as possible. You can also use via itw-settings Cache -> View files -> Purge
+CFakedCache=Cache was corrupt and has been fixed. It is strongly recommended that you run ''javaws -Xclearcache'' and rerun your application as soon as possible. You can also use via itw-settings Cache -> View files -> Purge
 
 # extended access warning pane 
 EXAWdesktopWants=Desktop icon shortcut (applications want to).
-EXAWdesktopDontWants=Desktop icon shortcut (applications don't wants to, but you still can).
+EXAWdesktopDontWants=Desktop icon shortcut (applications don''t wants to, but you still can).
 EXAWsubmenu=Menu icon shortcut (applications will try to include to submenu - {0}).
 EXAWmenuWants=Menu icon shortcut (applications wont to).
-EXAWmenuDontWants=Menu icon shortcut (applications don't wants to, but you still can).
+EXAWmenuDontWants=Menu icon shortcut (applications don''t wants to, but you still can).
 EXAWsettingsInfo=Your curernt setting is: {0}. You can change it in itweb-settings in {1} panel.
 EXAWsettingsManage=You can manage existing menu entries in itweb-settings in {0} panel.
 EXAWrememberByApp=Remember by application
 EXAWrememberByPage=Remember by domain
-EXAWdontRemember=Don't remember
+EXAWdontRemember=Don''t remember
 EXAWrememberByAppTooltip=<html>This application will never ask for more permissions questions</html>
 EXAWrememberByPageTooltip=<html>All applications from this domain will stop asking, and will follow your current decision on all permissions</html>
 EXAWdontRememberTooltip=<html>Your decision will be used only for this single permission for this single run</html>
@@ -425,9 +430,9 @@
 SFileReadAccess=The application has requested read access to {0}. Do you want to allow this action?
 SFileWriteAccess=The application has requested write access to {0}. Do you want to allow this action?
 SDesktopShortcut=The application has requested permission to create a desktop and/or menu launcher. Do you want to allow this action?
-SSigUnverified=The application's digital signature cannot be verified. Do you want to run the application? It will be granted unrestricted access to your computer.
-SSigVerified=The application's digital signature has been verified. Do you want to run the application? It will be granted unrestricted access to your computer.
-SSignatureError=The application's digital signature has an error. Do you want to run the application? It will be granted unrestricted access to your computer.
+SSigUnverified=The application''s digital signature cannot be verified. Do you want to run the application? It will be granted unrestricted access to your computer.
+SSigVerified=The application''s digital signature has been verified. Do you want to run the application? It will be granted unrestricted access to your computer.
+SSignatureError=The application''s digital signature has an error. Do you want to run the application? It will be granted unrestricted access to your computer.
 SUntrustedSource=The digital signature could not be verified by a trusted source. Only run if you trust the origin of the application.
 SWarnFullPermissionsIgnorePolicy=The code executed will be given full permissions, ignoring any Java policies you may have.
 STrustedSource=The digital signature has been validated by a trusted source.
@@ -438,7 +443,7 @@
 SNoAssociatedCertificate=<no associated certificate>
 SUnverified=(unverified)
 SAlwaysTrustPublisher=Always trust content from this publisher
-SHttpsUnverified=The website's HTTPS certificate cannot be verified.
+SHttpsUnverified=The website''s HTTPS certificate cannot be verified.
 SRememberOption=<b>Remember this option?</b>
 SRememberAppletOnly=For applet
 SRememberCodebase=For site <u>{0}</u>
@@ -448,7 +453,7 @@
 SUnsignedRejectedBefore=<font color="red">You have rejected this applet previously - ({0}).</font>
 SUnsignedQuestion=Allow the applet to run?
 SPartiallySignedSummary=Only parts of this application code are signed.
-SPartiallySignedDetail=This application contains both signed and unsigned code. While signed code is safe if you trust the provider, unsigned code may imply code outside of the trusted provider's control.
+SPartiallySignedDetail=This application contains both signed and unsigned code. While signed code is safe if you trust the provider, unsigned code may imply code outside of the trusted provider''s control.
 SPartiallySignedQuestion=Do you wish to proceed and run this application anyway?
 SAuthenticationPrompt=The {0} server at {1} is requesting authentication. It says "{2}"
 SJNLPFileIsNotSigned=This application contains a digital signature in which the launching JNLP file is not signed.
@@ -463,9 +468,9 @@
 STempAllMedia=All media (printing, audio, clipboard access)
 
 # Security - used for the More Information dialog
-SBadKeyUsage=Resources contain entries whose signer certificate's KeyUsage extension doesn't allow code signing.
-SBadExtendedKeyUsage=Resources contain entries whose signer certificate's ExtendedKeyUsage extension doesn't allow code signing.
-SBadNetscapeCertType=Resources contain entries whose signer certificate's NetscapeCertType extension doesn't allow code signing.
+SBadKeyUsage=Resources contain entries whose signer certificate''s KeyUsage extension doesn''t allow code signing.
+SBadExtendedKeyUsage=Resources contain entries whose signer certificate''s ExtendedKeyUsage extension doesn''t allow code signing.
+SBadNetscapeCertType=Resources contain entries whose signer certificate''s NetscapeCertType extension doesn''t allow code signing.
 SHasExpiredCert=The digital signature has expired.
 SHasExpiringCert=Resources contain entries whose signer certificate will expire within six months.
 SNotYetValidCert=Resources contain entries whose signer certificate is not yet valid.
@@ -758,7 +763,7 @@
   beside it will expand or collapse the given permission checkbox group. Other notable features are \
   the ability to copy and paste a set of permissions into a new codebase, allowing for \
   quick access to a user specified default permissions group. \
-  Also, you're not limited to the predefined checkbox permissions. By accessing \
+  Also, you''re not limited to the predefined checkbox permissions. By accessing \
   Custom Permissions through the view menu, you can add any customized permissions. \
 </html>
 
@@ -963,7 +968,7 @@
 CLListDescription=Shows a list of all property names and values that are in use by IcedTea-Web
 CLGetDescription=Shows the value for property-name
 CLSetDescription=Sets the property-name to value if possible. The value is checked for being valid. If the administrator has locked the property, this will have no effect
-CLResetDescription=Resets the value for property-name to it\'s default value.\nall resets all properties recognized by IcedTea-Web to their default value.
+CLResetDescription=Resets the value for property-name to it\''s default value.\nall resets all properties recognized by IcedTea-Web to their default value.
 CLInfoDescription=Shows more information about the given property
 CLCheckDescription=Shows any properties that have been defined but are not recognized by IcedTea-Web
 CLUnexpectedNumberOfCommands=Itweb-settings can only run one command at a time.
@@ -987,7 +992,7 @@
 SPLASHmainL4 = The folloing exception has occured. For more information, try to launch the browser from the command line and examine the output.
 SPLASHmainL2 = Additional information may be available in the console or logs. Even more information is available if debugging is enabled.
 SPLASHexWas = Exception was:
-SPLASHcfl = Can't follow link to
+SPLASHcfl = Can''t follow link to
 SPLASHvendorsInfo = Information from vendor of your application
 SPLASHanotherInfo = Another available info
 SPLASHdefaultHomepage = Unspecified homepage, verify source rather
@@ -996,12 +1001,12 @@
 SPLASHchainWas = This is the list of exceptions that occurred launching your applet. Please note, those exceptions can originate from multiple applets. For a helpful bug report, be sure to run only one applet.
 
 CBCheckFile = The application is a local file. Codebase validation is disabled. See: http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/security/no_redeploy.html for details.
-CBCheckNoEntry = This application does not specify a Codebase in its manifest. Please verify with the applet's vendor. Continuing. See: http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/security/no_redeploy.html for details.
+CBCheckNoEntry = This application does not specify a Codebase in its manifest. Please verify with the applet''s vendor. Continuing. See: http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/security/no_redeploy.html for details.
 CBCheckUnsignedPass = Codebase matches codebase manifest attribute, but application is unsigned. Continuing. See: http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/security/no_redeploy.html for details.
-CBCheckUnsignedFail= The application's codebase does NOT match the codebase specified in its manifest, but the application is unsigned. Continuing. See: http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/security/no_redeploy.html for details.
+CBCheckUnsignedFail= The application''s codebase does NOT match the codebase specified in its manifest, but the application is unsigned. Continuing. See: http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/security/no_redeploy.html for details.
 CBCheckOkSignedOk = Codebase matches codebase manifest attribute, and application is signed. Continuing. See: http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/security/no_redeploy.html for details.
 CBCheckSignedAppletDontMatchException = Signed applets are not allowed to run when their actual Codebase does not match the Codebase specified in their manifest. Expected: {0}. Actual: {1}. See: http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/security/no_redeploy.html for details.
-CBCheckSignedFail = Application Codebase does NOT match the Codebase specified in the application's manifest, and this application is signed. You are strongly discouraged from running this application. See: http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/security/no_redeploy.html for details.
+CBCheckSignedFail = Application Codebase does NOT match the Codebase specified in the application''s manifest, and this application is signed. You are strongly discouraged from running this application. See: http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/security/no_redeploy.html for details.
  
 # itweb-settings man (note, spaces (especially the one around markup) are important due to man pages markup). Only bold  tag is now recognized by ReplacingTextFormatter.
 ITWSintro= - view and modify settings for <B>javaws </B>and the <B>browser plugin</B>
@@ -1028,7 +1033,7 @@
 
 # files descriptions
 FILEpipe=Contains in and out pipe for native2java communication and (if enabled) debugging pipe.
-FILEmozillauser=Location of plugin library for user's purposes on mozilla compliant browser.
+FILEmozillauser=Location of plugin library for user''s purposes on mozilla compliant browser.
 FILEmozillaglobal64=Location of plugin library for global purposes  on mozilla compliant browser, 64b systems.
 FILEmozillaglobal32=Location of plugin library for global purposes  on mozilla compliant browser, 32b systems.
 FILEopera64=Location of plugin library for global purposes  on opera compliant browser, 64b systems.
@@ -1120,7 +1125,7 @@
 APPEXTSEChelp=<body> \
 <h1>Help for Extended applet security - itw-settings, files and structures, dialogue</h1> \
 <p> \
-Extended Applet Security refers to security features for unsigned applets. Traditionally, only signed applets required user confirmation and unsigned applets ran automatically. This is represented by the 'low security' setting. Unsigned applets must be allowed or disallowed individually on 'high security' (the default), and additionally do not run at all on 'very high security'. In theory, unsigned applets can safely run automatically. In practice, however, any vulnerability in the Java security sandbox will prevent this from being true. \
+Extended Applet Security refers to security features for unsigned applets. Traditionally, only signed applets required user confirmation and unsigned applets ran automatically. This is represented by the ''low security'' setting. Unsigned applets must be allowed or disallowed individually on ''high security'' (the default), and additionally do not run at all on ''very high security''. In theory, unsigned applets can safely run automatically. In practice, however, any vulnerability in the Java security sandbox will prevent this from being true. \
 </p> \
 <p> \
 To do so it uses  the <b>Security Level</b> main settings switch rules in the tables of <b>Custom definitions</b> and <b>Global definitions</b><br/> \
@@ -1166,7 +1171,7 @@
 <li/><b>Date</b> - date of last action on this item (read only item)<br/> \
 <li/><b>Document base</b> - is the page from which the applet was requested. It is actually a regular expression to match a specific URL. See about regular expressions and their usage <a href="#regexes">lower</a><br/> \
 <li/><b>Code base</b> - is the URL where an applets code came from. It is actually a regular expression to match a specific URL. See about regular expressions and their usage <a href="#regexes">lower</a><br/> \
-<li/><b>Archives</b> - coma separated list of archives with applet's code. Can be empty if source code are just classes or group of applets is allowed<br/> \
+<li/><b>Archives</b> - coma separated list of archives with applet''s code. Can be empty if source code are just classes or group of applets is allowed<br/> \
 <br/> \
 When you change a value in the table, its effect is immediate. \
 <h4>Controls of tables</h4> \
@@ -1246,7 +1251,7 @@
 <li/>Forbidding also one exact applet from http://blogs.com/goodJohn/ with archive goodJohnsArchive.jar<br/> \
 <li/>Allowing all (other) applets from http://blogs.com/ but only when displayed also on http://blogs.com/<br/> \
 <li/>Forbidding all applets with code saved on  http://adds.com (except on http://blogs.com/ - to have forbidden http://adds.com also on http://blogs.com/, this (http://adds.com) record must be above blogs record)<br/> \
-<li/>And finally allowing all nice physical applets on  walter-fendt's pages <br/> \
+<li/>And finally allowing all nice physical applets on  walter-fendt''s pages <br/> \
 <br/> \
 Note - the date saved in .appletTrustSettings has a not so nice format, but I left this for now...<br/> \
 <br/> \
--- a/netx/net/sourceforge/jnlp/resources/Messages_cs.properties	Tue Mar 17 15:53:46 2015 +0100
+++ b/netx/net/sourceforge/jnlp/resources/Messages_cs.properties	Tue Mar 17 12:01:51 2015 -0400
@@ -51,7 +51,7 @@
 AboutDialogueTabGPLv2=GPLv2
 
 # missing permissions dialogue
-MissingPermissionsMainTitle=Aplikace <span color='red'> {0} </span> z <span color='red'> {1} </span> postr\u00e1d\u00e1 atribut \u201epermissions\u201c. Aplikaci bez tohoto elementu byste nem\u011bli v\u011b\u0159it. Chcete povolit b\u011bh t\u00e9to aplikace?
+MissingPermissionsMainTitle=Aplikace <span color=''red''> {0} </span> z <span color=''red''> {1} </span> postr\u00e1d\u00e1 atribut \u201epermissions\u201c. Aplikaci bez tohoto elementu byste nem\u011bli v\u011b\u0159it. Chcete povolit b\u011bh t\u00e9to aplikace?
 MissingPermissionsInfo=Chcete-li z\u00edskat v\u00edce informac\u00ed, nav\u0161tivte n\u00e1sleduj\u00edc\u00ed weby:<br/>\
 <a href="http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/security/manifest.html#permissions">\
 Atributy Manifestu souboru JAR</a> <br/>\
@@ -60,7 +60,7 @@
 Zabr\u00e1n\u011bn\u00ed zneu\u017e\u00edv\u00e1n\u00ed aplikac\u00ed</a>
 
 # missing Application-Library-Allowable-Codebase dialogue
-ALACAMissingMainTitle=Aplikace <span color='red'> {0} </span> z <span color='red'> {1} </span> postr\u00e1d\u00e1 atribut \u201eapplication-library-allowable-codebase\u201c. Tato aplikace pou\u017e\u00edv\u00e1 zdroje z n\u00e1sleduj\u00edc\u00edho vzd\u00e1len\u00e9ho um\u00edst\u011bn\u00ed:<br/> {2} Skute\u010dn\u011b chcete spustit tuto aplikaci?
+ALACAMissingMainTitle=Aplikace <span color=''red''> {0} </span> z <span color=''red''> {1} </span> postr\u00e1d\u00e1 atribut \u201eapplication-library-allowable-codebase\u201c. Tato aplikace pou\u017e\u00edv\u00e1 zdroje z n\u00e1sleduj\u00edc\u00edho vzd\u00e1len\u00e9ho um\u00edst\u011bn\u00ed:<br/> {2} Skute\u010dn\u011b chcete spustit tuto aplikaci?
 ALACAMissingInfo=Chcete-li z\u00edskat v\u00edce informac\u00ed, nav\u0161tivte n\u00e1sleduj\u00edc\u00ed weby:<br/>\
 <a href="http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/security/manifest.html#app_library">\
 Atributy Manifestu souboru JAR</a> <br/>\
@@ -68,7 +68,7 @@
 <a href="http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/security/no_redeploy.html">\
 Zabr\u00e1n\u011bn\u00ed zneu\u017e\u00edv\u00e1n\u00ed aplikac\u00ed</a>
 # matching Application-Library-Allowable-Codebase dialogue
-ALACAMatchingMainTitle=Aplikace <span color='red'> {0} </span> z <span color='red'> {1} </span> vy\u017eaduje platn\u00e9 zdroje z r\u016fzn\u00fdch um\u00edst\u011bn\u00ed:<br/>{2} <br/> Na\u010dten\u00ed t\u011bchto zdroj\u016f se o\u010dek\u00e1v\u00e1. Souhlas\u00edte se spu\u0161t\u011bn\u00edm t\u00e9to aplikace?
+ALACAMatchingMainTitle=Aplikace <span color=''red''> {0} </span> z <span color=''red''> {1} </span> vy\u017eaduje platn\u00e9 zdroje z r\u016fzn\u00fdch um\u00edst\u011bn\u00ed:<br/>{2} <br/> Na\u010dten\u00ed t\u011bchto zdroj\u016f se o\u010dek\u00e1v\u00e1. Souhlas\u00edte se spu\u0161t\u011bn\u00edm t\u00e9to aplikace?
 ALACAMatchingInfo=Chcete-li z\u00edskat v\u00edce informac\u00ed, nav\u0161tivte n\u00e1sleduj\u00edc\u00ed weby:<br/>\
 <a href="http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/security/manifest.html#app_library">\
 Atributy Manifestu souboru JAR</a> <br/>\
--- a/netx/net/sourceforge/jnlp/resources/Messages_de.properties	Tue Mar 17 15:53:46 2015 +0100
+++ b/netx/net/sourceforge/jnlp/resources/Messages_de.properties	Tue Mar 17 12:01:51 2015 -0400
@@ -202,7 +202,7 @@
 BBadProp=Falsches Eigenschaftformat {0} (sollte Schl\u00fcssel=Wert sein)
 BBadParam=Falsches Parameterformat {0} (sollte Name=Wert sein)
 BNoDir=Verzeichnis {0} existiert nicht.
-BNoCodeOrObjectApplet=Die Auszeichnung applet muss ein Attribut 'code' oder 'object' angegeben.
+BNoCodeOrObjectApplet=Die Auszeichnung applet muss ein Attribut ''code'' oder ''object'' angegeben.
 RNoResource=Fehlende Ressource: {0}
 RShutdown=Diese Ausnahme um Herunterfahren der JVM zu verhindern, aber der Prozess wurde terminiert.
 RExitTaken=Ausstiegsklasse bereits gesetzt und Aufrufender ist keine Ausstiegsklasse.
--- a/tests/netx/unit/net/sourceforge/jnlp/runtime/TranslatorTest.java	Tue Mar 17 15:53:46 2015 +0100
+++ b/tests/netx/unit/net/sourceforge/jnlp/runtime/TranslatorTest.java	Tue Mar 17 12:01:51 2015 -0400
@@ -26,9 +26,8 @@
             return super.getMessage(message, params);
         }
     }
+
     TestableTranslator translator;
-    
-    
 
     @Before
     public void setup() throws IOException {
@@ -39,6 +38,7 @@
         FileOutputStream fos = new FileOutputStream(f);
         String message = "key=value\n"
                 + "argkey=value {0}\n"
+                + "apostrophekey=keywith''\n"
                 + "RNoResource=no-resource\n";
         fos.write(message.getBytes());
 
@@ -72,15 +72,23 @@
         String message = translator.translate("argkey", new Object[] {"Hello"});
         assertEquals("value Hello", message);
     }
-    
-      @Test
+
+    @Test
+    public void testTranslateMessageWithApostrophe() {
+        //Message format requires apostrophes to be escaped by using two ''
+        //The properties files follow this requirement
+        String message = translator.translate("apostrophekey");
+        assertEquals("keywith'", message);
+    }
+
+    @Test
     public void singletonTest1() {
         String message = Translator.R("key");
-          Assert.assertNotEquals("value", message);
+        Assert.assertNotEquals("value", message);
     }
-      @Test
+    @Test
     public void singletonTest2() {
         String message = Translator.R("unknown-key");
-          Assert.assertTrue(message.contains("unknown-key"));
+        Assert.assertTrue(message.contains("unknown-key"));
     }
 }
--- a/tests/reproducers/signed/CodeBaseManifestEntrySignedMatching/testcases/CodeBaseManifestEntrySignedMatching.java	Tue Mar 17 15:53:46 2015 +0100
+++ b/tests/reproducers/signed/CodeBaseManifestEntrySignedMatching/testcases/CodeBaseManifestEntrySignedMatching.java	Tue Mar 17 12:01:51 2015 -0400
@@ -37,6 +37,7 @@
 
 import java.io.File;
 import java.io.IOException;
+import java.text.MessageFormat;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.PropertyResourceBundle;
@@ -70,7 +71,8 @@
         try {
             String s = "";//_cs, _de, _pl
             PropertyResourceBundle props = new PropertyResourceBundle(CodeBaseManifestEntrySignedMatching.class.getResourceAsStream("/net/sourceforge/jnlp/resources/Messages" + s + ".properties"));
-            return props.getString(keys[i]);
+            //Bundle messages need to be formatted
+            return MessageFormat.format(props.getString(keys[i]), new Object[0]);
         } catch (IOException ex) {
             throw new RuntimeException(ex);
         }