Skip to content

Commit

Permalink
i18n ru (#499)
Browse files Browse the repository at this point in the history
Signed-off-by: Sergey Ponomarev <[email protected]>
  • Loading branch information
stokito authored Jun 10, 2024
1 parent 320a50c commit 50f2279
Show file tree
Hide file tree
Showing 44 changed files with 2,173 additions and 2 deletions.
2 changes: 1 addition & 1 deletion kse/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -367,7 +367,7 @@ task appbundler(dependsOn: [jar, copyDependencies]) {
argument(value: "--no-header-files")
argument(value: "--no-man-pages")
argument(value: "--strip-debug")
argument(value: "--include-locales=en,de,fr")
argument(value: "--include-locales=en,de,fr,ru")
}

bundledocument(extensions: "ks,jks,jceks,keystore,bks,uber,pfx,p12",
Expand Down
2 changes: 2 additions & 0 deletions kse/res/kse.desktop
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,10 @@
Name=KeyStore Explorer
GenericName=Multipurpose keystore and certificate tool
GenericName[fr]=Outil de gestion de magasins de certificats cryptographiques
GenericName[ru]=Инструмент управления хранилищем криптографических сертификатов
Comment=User friendly GUI application for creating, managing and examining keystores, keys, certificates, certificate requests, certificate revocation lists and more.
Comment[fr]=Outil graphique de cryptographie permettant la création, la gestion et l’examen de magasins de clefs, de certificats X.509, de demandes de certificats, de listes de révocation et bien plus encore.
Comment[ru]=Графический инструмент для создания, управления и просмотра хранилищ ключей, сертификатов X.509, запросов сертификатов (CSR), списков отзыва (CRL) и многого другого.
Exec=kse %f
TryExec=kse
Terminal=false
Expand Down
4 changes: 3 additions & 1 deletion kse/src/main/java/org/kse/gui/preferences/DPreferences.java
Original file line number Diff line number Diff line change
Expand Up @@ -1168,7 +1168,9 @@ private void initLanguageSelection() {
new LanguageItem("System", LanguageItem.SYSTEM_LANGUAGE),
new LanguageItem("English", "en"),
new LanguageItem("German", "de"),
new LanguageItem("French", "fr") };
new LanguageItem("French", "fr"),
new LanguageItem("Russian", "ru"),
};

for (LanguageItem languageItem : languageItems) {
jcbLanguage.addItem(languageItem);
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
NoPemPkcs10Csr.exception.message=\u041D\u0435\u0432\u043E\u0437\u043C\u043E\u0436\u043D\u043E \u0437\u0430\u043A\u043E\u0434\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0432 PEM PKCS #10 CSR.
NoVerifyGenPkcs10Csr.exception.message=\u041D\u0435\u0432\u043E\u0437\u043C\u043E\u0436\u043D\u043E \u043F\u0440\u043E\u0432\u0435\u0440\u0438\u0442\u044C \u0441\u0433\u0435\u043D\u0435\u0440\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u044B\u0439 #10 CSR.
NoGeneratePkcs10Csr.exception.message=\u041D\u0435\u0432\u043E\u0437\u043C\u043E\u0436\u043D\u043E \u0441\u0433\u0435\u043D\u0435\u0440\u0438\u0440\u043E\u0432\u0430\u0442\u044C PKCS #10 CSR.
NoVerifyPkcs10Csr.exception.message=\u041D\u0435\u0432\u043E\u0437\u043C\u043E\u0436\u043D\u043E \u043F\u0440\u043E\u0432\u0435\u0440\u0438\u0442\u044C PKCS #10 CSR.
NoEncodePkcs10Csr.exception.message=\u041D\u0435\u0432\u043E\u0437\u043C\u043E\u0436\u043D\u043E \u0437\u0430\u043A\u043E\u0434\u0438\u0440\u043E\u0432\u0430\u0442\u044C PKCS #10 CSR.
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
NoSupportSignatureAlgorithm.exception.message=\u0410\u043B\u0433\u043E\u0440\u0438\u0442\u043C \u043F\u043E\u0434\u043F\u0438\u0441\u0438 SPKAC '' {0} '' \u043D\u0435 \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044F.
NoSupportPublicKeyAlgorithm.exception.message=\u0410\u043B\u0433\u043E\u0440\u0438\u0442\u043C \u043E\u0442\u043A\u0440\u044B\u0442\u043E\u0433\u043E \u043A\u043B\u044E\u0447\u0430 SPKAC ''{0}'' \u043D\u0435 \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044F.
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
NoCreateDigest.exception.message=\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u0441\u043E\u0437\u0434\u0430\u0442\u044C \u0434\u0430\u0439\u0434\u0436\u0435\u0441\u0442 \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u044F.
NoCreateDigester.exception.message=\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u0441\u043E\u0437\u0434\u0430\u0442\u044C \u0434\u0430\u0439\u0434\u0436\u0435\u0441\u0442 \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0439 \u0442\u0438\u043F\u0430 ''{0}''.
PublicKeyFingerprintAlgorithm.SkiMethod1=SKI (method 1)
PublicKeyFingerprintAlgorithm.SkiMethod2=SKI (method 2)
PublicKeyFingerprintAlgorithm.Sha1overSpki=SHA-1 \u043F\u043E\u0432\u0435\u0440\u0445 SPKI
PublicKeyFingerprintAlgorithm.Sha256overSpki=SHA-256 \u043F\u043E\u0432\u0435\u0440\u0445 SPKI
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
CryptoFileType.JksKs=JKS KeyStore
CryptoFileType.JceksKs=JCEKS KeyStore
CryptoFileType.Pkcs12Ks=PKCS #12 KeyStore
CryptoFileType.BksKs=BKS KeyStore
CryptoFileType.UberKs=UBER KeyStore
CryptoFileType.BcfKs=BCFKS KeyStore
CryptoFileType.Certificate=\u0421\u0435\u0440\u0442\u0438\u0444\u0438\u043A\u0430\u0442
CryptoFileType.Pkcs10Csr=PKCS #10 Certificate Signing Request (CSR)
CryptoFileType.SpkacCsr=SPKAC Certificate Signing Request (CSR)
CryptoFileType.Crl=\u0421\u043F\u0438\u0441\u043E\u043A \u041E\u0442\u043E\u0437\u0432\u0430\u043D\u043D\u044B\u0445 \u0421\u0435\u0440\u0442\u0438\u0444\u0438\u043A\u0430\u0442\u043E\u0432 (Certificate Revocation List, CRL)
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
CryptoStrength.Limited=\u041E\u0433\u0440\u0430\u043D\u0438\u0447\u0435\u043D\u043E
CryptoStrength.Unlimited=\u041D\u0435\u043E\u0433\u0440\u0430\u043D\u0438\u0447\u0435\u043D\u043E
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
NoCheckCompriseValidKeypair.exception.message=\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u043F\u0440\u043E\u0432\u0435\u0440\u0438\u0442\u044C, \u0441\u043E\u0441\u0442\u0430\u0432\u043B\u044F\u044E\u0442 \u043B\u0438 \u043F\u0440\u0438\u0432\u0430\u0442\u043D\u044B\u0439 \u0438 \u043F\u0443\u0431\u043B\u0438\u0447\u043D\u044B\u0439 \u043A\u043B\u044E\u0447\u0438 \u043F\u0430\u0440\u0443 \u043A\u043B\u044E\u0447\u0435\u0439.
NoCheckCompriseValidKeypairAlg.exception.message=\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u043F\u0440\u043E\u0432\u0435\u0440\u0438\u0442\u044C, \u0447\u0442\u043E \u043F\u0440\u0438\u0432\u0430\u0442\u043D\u044B\u0439 \u0438 \u043F\u0443\u0431\u043B\u0438\u0447\u043D\u044B\u0439 \u043A\u043B\u044E\u0447\u0438 \u0441\u043E\u0441\u0442\u0430\u0432\u043B\u044F\u044E\u0442 \u043F\u0430\u0440\u0443 \u043A\u043B\u044E\u0447\u0435\u0439 - \u0430\u043B\u0433\u043E\u0440\u0438\u0442\u043C ''{0}'' \u043D\u0435 \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044F.
NoGenerateKeypair.exception.message=\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u0441\u0433\u0435\u043D\u0435\u0440\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u043F\u0430\u0440\u0443 \u043A\u043B\u044E\u0447\u0435\u0439 ''{0}''.
NoPrivateKeysize.exception.message=\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u043F\u043E\u043B\u0443\u0447\u0438\u0442\u044C \u0440\u0430\u0437\u043C\u0435\u0440 \u0437\u0430\u043A\u0440\u044B\u0442\u043E\u0433\u043E \u043A\u043B\u044E\u0447\u0430.
NoPublicKeysize.exception.message=\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u043F\u043E\u043B\u0443\u0447\u0438\u0442\u044C \u0440\u0430\u0437\u043C\u0435\u0440 \u043E\u0442\u043A\u0440\u044B\u0442\u043E\u0433\u043E \u043A\u043B\u044E\u0447\u0430.
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
KeyStoreType.Unknown=\u041D\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043D\u044B\u0439 \u0442\u0438\u043F \u0445\u0440\u0430\u043D\u0438\u043B\u0438\u0449\u0430 \u043A\u043B\u044E\u0447\u0435\u0439
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
InvalidRsaMagicField.exception.message=\u041D\u0435\u0432\u0435\u0440\u043D\u043E\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u043C\u0430\u0433\u0438\u0447\u0435\u0441\u043A\u043E\u0433\u043E \u043F\u043E\u043B\u044F RSA 0x{0}. \u041E\u0436\u0438\u0434\u0430\u0435\u0442\u0441\u044F 0x{1}.
MsPvkIsEncrypted.exception.message=\u041F\u0440\u0438\u0432\u0430\u0442\u043D\u044B\u0439 \u043A\u043B\u044E\u0447 PVK \u0448\u0438\u0444\u0440\u0443\u0435\u0442\u0441\u044F. \u041D\u0435\u0434\u043E\u043F\u0443\u0441\u0442\u0438\u043C\u043E\u0435 \u0437\u0430\u0448\u0438\u0444\u0440\u043E\u0432\u0430\u043D\u043D\u043E\u0435 \u043F\u043E\u043B\u0435 0x{0}. \u041E\u0436\u0438\u0434\u0430\u0435\u0442\u0441\u044F 0x{1}.
MsPvkIsUnencrypted.exception.message=\u041F\u0440\u0438\u0432\u0430\u0442\u043D\u044B\u0439 \u043A\u043B\u044E\u0447 PVK \u043D\u0435 \u0437\u0430\u0448\u0438\u0444\u0440\u043E\u0432\u0430\u043D. \u041D\u0435\u0432\u0435\u0440\u043D\u043E\u0435 \u0437\u0430\u0448\u0438\u0444\u0440\u043E\u0432\u0430\u043D\u043D\u043E\u0435 \u043F\u043E\u043B\u0435 0x{0}. \u041E\u0436\u0438\u0434\u0430\u0435\u0442\u0441\u044F 0x{1}.
NoEncryptPkcs8PrivateKey.exception.message=\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u0437\u0430\u0448\u0438\u0444\u0440\u043E\u0432\u0430\u0442\u044C \u043F\u0440\u0438\u0432\u0430\u0442\u043D\u044B\u0439 \u043A\u043B\u044E\u0447 PKCS #8.
NoLoadOpenSslPrivateKey.exception.message=\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u043F\u0440\u0438\u0432\u0430\u0442\u043D\u044B\u0439 \u043A\u043B\u044E\u0447 OpenSSL.
NoLoadPkcs8PrivateKey.exception.message=\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u043F\u0440\u0438\u0432\u0430\u0442\u043D\u044B\u0439 \u043A\u043B\u044E\u0447 PKCS #8.
OpenSslCreateCipherFailed.exception.message=\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u0441\u043E\u0437\u0434\u0430\u0442\u044C \u0448\u0438\u0444\u0440 {0} .
OpenSslDecryptionFailed.exception.message=\u0420\u0430\u0441\u0448\u0438\u0444\u0440\u043E\u0432\u043A\u0430 \u0437\u0430\u043A\u0440\u044B\u0442\u043E\u0433\u043E \u043A\u043B\u044E\u0447\u0430 \u0441 \u043F\u043E\u043C\u043E\u0449\u044C\u044E {0} \u043D\u0435 \u0443\u0434\u0430\u043B\u0430\u0441\u044C.
OpenSslDekInfoMalformed.exception.message=\u0410\u0442\u0440\u0438\u0431\u0443\u0442 DEK-Info \u0438\u043C\u0435\u0435\u0442 \u043D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0443\u044E \u0444\u043E\u0440\u043C\u0443: {0}.
OpenSslEncryptionFailed.exception.message=\u0428\u0438\u0444\u0440\u043E\u0432\u0430\u043D\u0438\u0435 \u0437\u0430\u043A\u0440\u044B\u0442\u043E\u0433\u043E \u043A\u043B\u044E\u0447\u0430 \u0441 \u043F\u043E\u043C\u043E\u0449\u044C\u044E {0} \u043D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C.
OpenSslIsEncrypted.exception.message=\u041F\u0440\u0438\u0432\u0430\u0442\u043D\u044B\u0439 \u043A\u043B\u044E\u0447 OpenSSL \u0437\u0430\u0448\u0438\u0444\u0440\u043E\u0432\u0430\u043D.
OpenSslIsUnencrypted.exception.message=\u041F\u0440\u0438\u0432\u0430\u0442\u043D\u044B\u0439 \u043A\u043B\u044E\u0447 OpenSSL \u043D\u0435 \u0437\u0430\u0448\u0438\u0444\u0440\u043E\u0432\u0430\u043D.
OpenSslPbeType.PbeWith1256itAesCbc=PBE \u0441\u043E 256 \u0431\u0438\u0442\u043D\u044B\u043C AES CBC
OpenSslPbeType.PbeWith128BitAesCbc=PBE \u0441\u043E 128 \u0431\u0438\u0442\u043D\u044B\u043C AES CBC
OpenSslPbeType.PbeWith192BitAesCbc=PBE \u0441\u043E 192 \u0431\u0438\u0442\u043D\u044B\u043C AES CBC
OpenSslPbeType.PbeWithDesCbc=PBE \u0441\u043E DES CBC
OpenSslPbeType.PbeWithDesedeCbc=PBE \u0441\u043E DESede CBC
Pkcs8IsEncrypted.exception.message=\u041F\u0440\u0438\u0432\u0430\u0442\u043D\u044B\u0439 \u043A\u043B\u044E\u0447 PKCS #8 \u0437\u0430\u0448\u0438\u0444\u0440\u043E\u0432\u0430\u043D.
Pkcs8PbeType.PbeWithSha1And128BitRc2=PBE \u0441\u043E SHA-1 \u0438 128 \u0431\u0438\u0442\u043D\u044B\u043C RC2
Pkcs8PbeType.PbeWithSha1And128BitRc4=PBE \u0441\u043E SHA-1 \u0438 128 \u0431\u0438\u0442\u043D\u044B\u043C RC4
Pkcs8PbeType.PbeWithSha1And2KeyDesede=PBE \u0441\u043E SHA-1 \u0438 2 key TDES
Pkcs8PbeType.PbeWithSha1And3KeyDesede=PBE \u0441\u043E SHA-1 \u0438 3 key TDES
Pkcs8PbeType.PbeWithSha1And40BitRc4=PBE \u0441\u043E SHA-1 \u0438 40 \u0431\u0438\u0442\u043D\u044B\u043C RC4
Pkcs8PbeType.PbeWithSha1And40bitRc2=PBE \u0441\u043E SHA-1 \u0438 40 \u0431\u0438\u0442\u043D\u044B\u043C RC2
Pkcs8PbeType.Pbes2WithSha1And3Des=PBES2 \u0441\u043E SHA-1 \u0438 TDES
Pkcs8PbeType.Pbes2WithSha1AndAes128=PBES2 \u0441\u043E SHA-1 \u0438 AES-128
Pkcs8PbeType.Pbes2WithSha1AndAes256=PBES2 \u0441\u043E SHA-1 \u0438 AES-256
Pkcs8PbeType.Pbes2WithSha256AndAes256=PBES2 \u0441\u043E SHA-256 \u0438 AES-256
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
NoLoadOpenSslPublicKey.exception.message=\u041D\u0435\u0432\u043E\u0437\u043C\u043E\u0436\u043D\u043E \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u043F\u0443\u0431\u043B\u0438\u0447\u043D\u044B\u0439 \u043A\u043B\u044E\u0447 OpenSSL.
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
NoGetPasswordNulled.message=\u041D\u0435\u0432\u043E\u0437\u043C\u043E\u0436\u043D\u043E \u043F\u043E\u043B\u0443\u0447\u0438\u0442\u044C \u043F\u0430\u0440\u043E\u043B\u044C \u043F\u043E\u0441\u043A\u043E\u043B\u044C\u043A\u0443 \u043E\u043D \u0431\u044B\u043B \u043E\u0431\u043D\u0443\u043B\u0451\u043D
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
NoGenerateSecretKey.exception.message=\u041D\u0435\u0432\u043E\u0437\u043C\u043E\u0436\u043D\u043E \u0441\u0433\u0435\u043D\u0435\u0440\u0438\u0440\u043E\u0432\u0430\u0442\u044C ''{0}'' \u043F\u0440\u0438\u0432\u0430\u0442\u043D\u044B\u0439 \u043A\u043B\u044E\u0447.
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
SignatureBlockCreationFailed.exception.message=\u041F\u043E\u0434\u043F\u0438\u0441\u0430\u043D\u0438\u0435 \u0431\u043B\u043E\u043A\u0430 \u043D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C.
JarDigestSignatureFailed.exception.message=\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u043F\u043E\u0434\u043F\u0438\u0441\u0430\u0442\u044C \u0434\u0430\u0439\u0434\u0436\u0435\u0441\u0442 JAR.
NoReadJadCorrupt.exception.message=\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u043F\u0440\u043E\u0447\u0438\u0442\u0430\u0442\u044C \u0444\u0430\u0439\u043B JAD, \u0432\u043E\u0437\u043C\u043E\u0436\u043D\u043E, \u043E\u043D \u043F\u043E\u0432\u0440\u0435\u0436\u0434\u0435\u043D.
Base64CertificateFailed.exception.message=\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u043F\u043E\u043B\u0443\u0447\u0438\u0442\u044C \u043A\u043E\u0434\u0438\u0440\u043E\u0432\u043A\u0443 Base-64 \u0434\u043B\u044F \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043A\u0430\u0442\u0430.
SignatureType.Sha1WithDsa=SHA-1 \u0441 DSA
SignatureType.Sha224WithDsa=SHA-224 \u0441 DSA
SignatureType.Sha256WithDsa=SHA-256 \u0441 DSA
SignatureType.Sha384WithDsa=SHA-384 \u0441 DSA
SignatureType.Sha512WithDsa=SHA-512 \u0441 DSA
SignatureType.Md2WithRsa=MD2 \u0441 RSA
SignatureType.Md4WithRsa=MD4 \u0441 RSA
SignatureType.Md5WithRsa=MD5 \u0441 RSA
SignatureType.Sha1WithRsa=SHA-1 \u0441 RSA
SignatureType.Sha224WithRsa=SHA-224 \u0441 RSA
SignatureType.Sha256WithRsa=SHA-256 \u0441 RSA
SignatureType.Sha384WithRsa=SHA-384 \u0441 RSA
SignatureType.Sha512WithRsa=SHA-512 \u0441 RSA
SignatureType.Ripemd128WithRsa=RIPEMD-128 \u0441 RSA
SignatureType.Ripemd160WithRsa=RIPEMD-160 \u0441 RSA
SignatureType.Ripemd256WithRsa=RIPEMD-256 \u0441 RSA
SignatureType.Sha1WithEcDsa=SHA-1 \u0441 ECDSA
SignatureType.Sha224WithEcDsa=SHA-224 \u0441 ECDSA
SignatureType.Sha256WithEcDsa=SHA-256 \u0441 ECDSA
SignatureType.Sha384WithEcDsa=SHA-384 \u0441 ECDSA
SignatureType.Sha512WithEcDsa=SHA-512 \u0441 ECDSA
SignatureType.Sha1WithRsaAndMGF1=SHA-1 \u0441 RSA \u0438 MGF1
SignatureType.Sha224WithRsaAndMGF1=SHA-224 \u0441 RSA \u0438 MGF1
SignatureType.Sha256WithRsaAndMGF1=SHA-256 \u0441 RSA \u0438 MGF1
SignatureType.Sha384WithRsaAndMGF1=SHA-384 \u0441 RSA \u0438 MGF1
SignatureType.Sha512WithRsaAndMGF1=SHA-512 \u0441 RSA \u0438 MGF1
SignatureType.Sha3_224WithRsaAndMGF1=SHA3-224 \u0441 RSA \u0438 MGF1
SignatureType.Sha3_256WithRsaAndMGF1=SHA3-256 \u0441 RSA \u0438 MGF1
SignatureType.Sha3_384WithRsaAndMGF1=SHA3-384 \u0441 RSA \u0438 MGF1
SignatureType.Sha3_512WithRsaAndMGF1=SHA3-512 \u0441 RSA \u0438 MGF1
SignatureType.Ed25519=Ed25519
SignatureType.Ed448=Ed448
Loading

0 comments on commit 50f2279

Please sign in to comment.