This is an automated email from the ASF dual-hosted git repository. markt pushed a commit to branch 7.0.x in repository https://gitbox.apache.org/repos/asf/tomcat.git
commit a8db40e5af495da0d854bf670e1e25d7198edff9 Author: Mark Thomas <ma...@apache.org> AuthorDate: Tue Jul 30 15:14:20 2019 +0100 Align with 8.5.x: i18n improvements --- .../org/apache/catalina/filters/ExpiresFilter.java | 5 +- java/org/apache/catalina/filters/FilterBase.java | 2 +- .../catalina/filters/LocalStrings.properties | 50 +++++++++-------- .../catalina/filters/LocalStrings_es.properties | 47 +++++++++------- .../catalina/filters/LocalStrings_fr.properties | 51 ++++++++++++++++- .../catalina/filters/LocalStrings_ja.properties | 65 ++++++++++++++++++++++ ...gs_fr.properties => LocalStrings_ru.properties} | 6 +- .../apache/catalina/filters/RemoteIpFilter.java | 8 ++- .../apache/catalina/filters/WebdavFixFilter.java | 15 ++--- 9 files changed, 188 insertions(+), 61 deletions(-) diff --git a/java/org/apache/catalina/filters/ExpiresFilter.java b/java/org/apache/catalina/filters/ExpiresFilter.java index 983fabb..b4dce2e 100644 --- a/java/org/apache/catalina/filters/ExpiresFilter.java +++ b/java/org/apache/catalina/filters/ExpiresFilter.java @@ -1055,9 +1055,8 @@ public class ExpiresFilter extends FilterBase { try { ints[i] = Integer.parseInt(intAsString); } catch (NumberFormatException e) { - throw new RuntimeException("Exception parsing number '" + i + - "' (zero based) of comma delimited list '" + - commaDelimitedInts + "'"); + throw new RuntimeException(sm.getString("expiresFilter.numberError", + Integer.valueOf(i), commaDelimitedInts)); } } return ints; diff --git a/java/org/apache/catalina/filters/FilterBase.java b/java/org/apache/catalina/filters/FilterBase.java index 5b438d6..9360c91 100644 --- a/java/org/apache/catalina/filters/FilterBase.java +++ b/java/org/apache/catalina/filters/FilterBase.java @@ -32,7 +32,7 @@ import org.apache.tomcat.util.res.StringManager; */ public abstract class FilterBase implements Filter { - protected static final StringManager sm = StringManager.getManager(Constants.Package); + protected static final StringManager sm = StringManager.getManager(FilterBase.class); protected abstract Log getLogger(); diff --git a/java/org/apache/catalina/filters/LocalStrings.properties b/java/org/apache/catalina/filters/LocalStrings.properties index 01d1a6a..41a4bef 100644 --- a/java/org/apache/catalina/filters/LocalStrings.properties +++ b/java/org/apache/catalina/filters/LocalStrings.properties @@ -25,28 +25,29 @@ corsFilter.wrongType2=Expects a HttpServletRequest object of type [{0}] or [{1}] csrfPrevention.invalidRandomClass=Unable to create Random source using class [{0}] -expiresFilter.exceptionProcessingParameter=Exception processing configuration parameter "{0}":"{1}" -expiresFilter.expirationHeaderAlreadyDefined=Request "{0}" with response status "{1}" content-type "{2}", expiration header already defined -expiresFilter.filterInitialized=Filter initialized with configuration {0} -expiresFilter.invalidDurationNumber=Invalid duration (number) "{0}" in directive "{1}" -expiresFilter.invalidDurationUnit=Invalid duration unit (years|months|weeks|days|hours|minutes|seconds) "{0}" in directive "{1}" -expiresFilter.noDurationFound=Duration not found in directive "{0}" -expiresFilter.noDurationUnitAfterAmount=Duration unit not found after amount "{0}" in directive "{1}" -expiresFilter.noExpirationConfigured=Request "{0}" with response status "{1}" content-type "{2}", no expiration configured -expiresFilter.noExpirationConfiguredForContentType=No Expires configuration found for content-type "{0}" -expiresFilter.responseAlreadyCommited=Request "{0}", can not apply ExpiresFilter on already committed response. -expiresFilter.setExpirationDate=Request "{0}" with response status "{1}" content-type "{2}", set expiration date {3} -expiresFilter.skippedStatusCode=Request "{0}" with response status "{1}" content-type "{1}", skip expiration header generation for given status -expiresFilter.startingPointInvalid=Invalid starting point (access|now|modification|a<seconds>|m<seconds>) "{0}" in directive "{1}" -expiresFilter.startingPointNotFound=Starting point (access|now|modification|a<seconds>|m<seconds>) not found in directive "{0}" -expiresFilter.unknownParameterIgnored=Unknown parameter "{0}" with value "{1}" is ignored ! -expiresFilter.unsupportedStartingPoint=Unsupported startingPoint "{0}" -expiresFilter.useDefaultConfiguration=Use default {0} for content-type "{1}" returns {2} -expiresFilter.useMatchingConfiguration=Use {0} matching "{1}" for content-type "{2}" returns {3} - -filterbase.noSuchProperty=The property "{0}" is not defined for filters of type "{1}" - -http.403=Access to the specified resource ({0}) has been forbidden. +expiresFilter.exceptionProcessingParameter=Exception processing configuration parameter [{0}]:[{1}] +expiresFilter.expirationHeaderAlreadyDefined=Request [{0}] with response status [{1}] content-type [{2}], expiration header already defined +expiresFilter.filterInitialized=Filter initialized with configuration [{0}] +expiresFilter.invalidDurationNumber=Invalid duration (number) [{0}] in directive [{1}] +expiresFilter.invalidDurationUnit=Invalid duration unit (years|months|weeks|days|hours|minutes|seconds) [{0}] in directive [{1}] +expiresFilter.noDurationFound=Duration not found in directive [{0}] +expiresFilter.noDurationUnitAfterAmount=Duration unit not found after amount [{0}] in directive [{1}] +expiresFilter.noExpirationConfigured=Request [{0}] with response status [{1}] content-type [{2}], no expiration configured +expiresFilter.noExpirationConfiguredForContentType=No Expires configuration found for content-type [{0}] +expiresFilter.numberError=Exception parsing number at position [{0}] (zero based) in comma delimited list [{1}] +expiresFilter.responseAlreadyCommited=Request [{0}], cannot apply ExpiresFilter on already committed response. +expiresFilter.setExpirationDate=Request [{0}] with response status [{1}] content-type [{2}], set expiration date [{3}] +expiresFilter.skippedStatusCode=Request [{0}] with response status [{1}] content-type [{1}], skip expiration header generation for given status +expiresFilter.startingPointInvalid=Invalid starting point (access|now|modification|a<seconds>|m<seconds>) [{0}] in directive [{1}] +expiresFilter.startingPointNotFound=Starting point (access|now|modification|a<seconds>|m<seconds>) not found in directive [{0}] +expiresFilter.unknownParameterIgnored=Unknown parameter [{0}] with value [{1}] is ignored ! +expiresFilter.unsupportedStartingPoint=Unsupported startingPoint [{0}] +expiresFilter.useDefaultConfiguration=Use default [{0}] for content-type [{1}] returns [{2}] +expiresFilter.useMatchingConfiguration=Use [{0}] matching [{1}] for content-type [{2}] returns [{3}] + +filterbase.noSuchProperty=The property [{0}] is not defined for filters of type [{1}] + +http.403=Access to the specified resource [{0}] has been forbidden. httpHeaderSecurityFilter.clickjack.invalid=An invalid value [{0}] was specified for the anti click-jacking header httpHeaderSecurityFilter.committed=Unable to add HTTP headers since response is already committed on entry to the HTTP header security Filter @@ -54,6 +55,11 @@ httpHeaderSecurityFilter.committed=Unable to add HTTP headers since response is remoteCidrFilter.invalid=Invalid configuration provided for [{0}]. See previous messages for details. remoteCidrFilter.noRemoteIp=Client does not have an IP address. Request denied. +remoteIpFilter.invalidNumber=Illegal number for parameter [{0}]: [{1}] + requestFilter.deny=Denied request for [{0}] based on property [{1}] restCsrfPreventionFilter.invalidNonce=CSRF nonce validation failed + +webDavFilter.xpProblem=WebdavFixFilter: the XP-x64-SP2 client is known not to work with WebDAV Servlet +webDavFilter.xpRootContext=WebdavFixFilter: the XP-x64-SP2 client will only work with the root context diff --git a/java/org/apache/catalina/filters/LocalStrings_es.properties b/java/org/apache/catalina/filters/LocalStrings_es.properties index f60df73..cf6199c 100644 --- a/java/org/apache/catalina/filters/LocalStrings_es.properties +++ b/java/org/apache/catalina/filters/LocalStrings_es.properties @@ -15,23 +15,30 @@ addDefaultCharset.unsupportedCharset=El conjunto especificado de caracteres [{0}] no se encuentra soportado -csrfPrevention.invalidRandomClass=No pude crear fuente al azar usando la clase [{0}] - -expiresFilter.exceptionProcessingParameter=Excepción al procesar parámetro de configuración "{0}":"{1}" -expiresFilter.expirationHeaderAlreadyDefined=Ya se ha definido cabecera de expiración para el requerimiento "{0}" con status de respuesta "{1}" y content-type "{2}" -expiresFilter.filterInitialized=Filtro inicializado con configuración {0} -expiresFilter.noExpirationConfigured=No se ha configurado expiración para el requerimiento "{0}" con status de respuesta "{1}" y content-type "{2}" -expiresFilter.noExpirationConfiguredForContentType=No se ha hallado configuración de Expiración para content-type "{0}" -expiresFilter.responseAlreadyCommited=El requerimiento "{0}", no puede aplicar ExpiresFilter en respuesta ya acometida. -expiresFilter.setExpirationDate=El requerimiento "{0}" con status de respuesta "{1}" y content-type "{2}", pone fecha de expiración a {3} -expiresFilter.skippedStatusCode=Generación de cabecera de expiración saltada para el requerimiento "{0}" con status de respuesta "{1}" y content-type "{2}" -expiresFilter.startingPointInvalid=Punto de arranque inválido (access|now|modification|a<seconds>|m<seconds>) "{0}" en la directiva "{1}" -expiresFilter.startingPointNotFound=Punto de Arranque (access|now|modification|a<seconds>|m<seconds>) no hallado en la directiva "{0}" -expiresFilter.unknownParameterIgnored=¡Se ignora el parámetro desconocido "{0}" con valor "{1}" especificado! -expiresFilter.unsupportedStartingPoint=No soportado startingPoint "{0}" -expiresFilter.useDefaultConfiguration=El uso de {0} por defecto para content-type "{1}" devuelve {2} -expiresFilter.useMatchingConfiguration=El Uso de {0} coincidente con "{1}" para content-type "{2}" devuelve {3} - -filterbase.noSuchProperty=La propiedad "{0}" no está definida para los filtros del tipo "{1}" - -http.403=El acceso al recurso especificado ({0}) ha sido prohibido. +corsFilter.invalidPreflightMaxAge=Incapáz de procesar preflightMaxAge +corsFilter.nullRequestType=Objeto CORSRequestType es nulo\n + +csrfPrevention.invalidRandomClass=No se puede crear fuente aleatórea usando la clase [{0}] + +expiresFilter.exceptionProcessingParameter=Excepción al procesar parámetro de configuración [{0}]:[{1}] +expiresFilter.expirationHeaderAlreadyDefined=Ya se ha definido cabecera de expiración para el requerimiento [{0}] con status de respuesta [{1}] y content-type [{2}] +expiresFilter.filterInitialized=Filtro inicializado con configuración [{0}] +expiresFilter.noExpirationConfigured=No se ha configurado expiración para el requerimiento [{0}] con status de respuesta [{1}] y content-type [{2}] +expiresFilter.noExpirationConfiguredForContentType=No se ha hallado configuración de Expiración para content-type [{0}] +expiresFilter.responseAlreadyCommited=El requerimiento [{0}], no puede aplicar ExpiresFilter en respuesta ya acometida. +expiresFilter.setExpirationDate=El requerimiento [{0}] con status de respuesta [{1}] y content-type [{2}], pone fecha de expiración a [{3}] +expiresFilter.skippedStatusCode=Generación de cabecera de expiración saltada para el requerimiento [{0}] con status de respuesta [{1}] y content-type [{2}] +expiresFilter.startingPointInvalid=Punto de arranque inválido (access|now|modification|a<seconds>|m<seconds>) [{0}] en la directiva [{1}] +expiresFilter.startingPointNotFound=Punto de Arranque (access|now|modification|a<seconds>|m<seconds>) no hallado en la directiva [{0}] +expiresFilter.unknownParameterIgnored=¡Se ignora el parámetro desconocido [{0}] con valor [{1}] especificado! +expiresFilter.unsupportedStartingPoint=startingPoint [{0}] no soportado +expiresFilter.useDefaultConfiguration=El uso de [{0}] por defecto para content-type [{1}] devuelve [{2}] +expiresFilter.useMatchingConfiguration=El Uso de [{0}] coincidente con [{1}] para content-type [{2}] devuelve [{3}] + +filterbase.noSuchProperty=La propiedad [{0}] no está definida para los filtros del tipo [{1}] + +http.403=El acceso al recurso especificado [{0}] ha sido prohibido. + +httpHeaderSecurityFilter.clickjack.invalid=An invalid value [{0}] was specified for the anti click-jacking header + +requestFilter.deny=Solicitud [{0}] denegada debido a propiedad [{1}] diff --git a/java/org/apache/catalina/filters/LocalStrings_fr.properties b/java/org/apache/catalina/filters/LocalStrings_fr.properties index 0bfcd68..e2bfee6 100644 --- a/java/org/apache/catalina/filters/LocalStrings_fr.properties +++ b/java/org/apache/catalina/filters/LocalStrings_fr.properties @@ -13,4 +13,53 @@ # See the License for the specific language governing permissions and # limitations under the License. -http.403=L''accès à la ressource demandée ({0}) a été interdit. +addDefaultCharset.unsupportedCharset=Le jeu de caractères [{0}] spécifié n''est pas supporté + +corsFilter.invalidPreflightMaxAge=Incapable d'analyser "preflightMaxAge" +corsFilter.invalidSupportsCredentials=Il est interdit de configurer supportsCredentials=[true] alors que allowedOrigins=[*] +corsFilter.nullRequest=L'objet HttpServletRequest est nul +corsFilter.nullRequestType=L'objet CORSRequestType est nul +corsFilter.onlyHttp=CORS ne supporte pas des requêtes ou des réponses non HTTP +corsFilter.wrongType1=Attente d''un objet HttpServletRequest de type [{0}] +corsFilter.wrongType2=Attendu un object HttpServletRequest de type [{0}] ou [{1}] + +csrfPrevention.invalidRandomClass=Impossible de créer une source aléatoire ("Random source") à l''aide de la classe [{0}] + +expiresFilter.exceptionProcessingParameter=Erreur lors du traitement du paramètre de configuration [{0}]:[{1}] +expiresFilter.expirationHeaderAlreadyDefined=Requête [{0}] de statut de réponse [{1}] et de type de contenu ("content-type") [{2}], en-tête d''expiration déjà défini +expiresFilter.filterInitialized=Le filtre a été initialisé avec la configuration [{0}] +expiresFilter.invalidDurationNumber=Durée (nombre) invalide [{0}] dans la directive [{1}] +expiresFilter.invalidDurationUnit=Unité de durée invalide (years|months|weeks|days|hours|minutes|seconds) [{0}] dans la directive [{1}] +expiresFilter.noDurationFound=La durée n''a pas été trouvée dans la directive [{0}] +expiresFilter.noDurationUnitAfterAmount=L''unité de durée n''a pas été trouvée après le nombre [{0}] dans la directive [{1}] +expiresFilter.noExpirationConfigured=Requête [{0}] avec statut de réponse [{1}] et content-type [{2}], pas d''expiration configurée +expiresFilter.noExpirationConfiguredForContentType=La configuration "Expires" pour le type de contenu [{0}] n''est pas trouvée. +expiresFilter.numberError=Erreur lors de l''analyse du nombre à la position [{0}] (basée sur zéro) de la liste délimitée par une virgule [{1}] +expiresFilter.responseAlreadyCommited=Impossible d''appliquer le ExpiresFilter pour la requête [{0}] car la réponse a déjà été envoyée +expiresFilter.setExpirationDate=La requête [{0}] avec le status de réponse [{1}] content-type [{2}], a fixé la date d''expiration [{3}] +expiresFilter.skippedStatusCode=La requête [{0}] avec le code de réponse [{1}] content-type [{2}], l''en-tête expiration ne sera pas généré pour ce statut +expiresFilter.startingPointInvalid=Point de départ invalide (access|now|modification|a<secondes>|m<secondes>) [{0}] dans la directive [{1}]\n +expiresFilter.startingPointNotFound=Le point de départ (access|now|modification|a<seconds>|m<seconds>) n''est pas présent dans la directive [{0}] +expiresFilter.unknownParameterIgnored=Le paramètre inconnu [{0}] dont la valeur est [{1}] est ignoré +expiresFilter.unsupportedStartingPoint=startingPoint [{0}] non supporté. +expiresFilter.useDefaultConfiguration=Utilisation du défaut [{0}] pour le content-type [{1}] qui renvoie [{2}] +expiresFilter.useMatchingConfiguration=Utilisation de [{0}], satisfaisant [{1}] pour le content-type [{2}] et retournant [{3}] + +filterbase.noSuchProperty=La propriété [{0}] n''est pas définie pour les filtres du type [{1}] + +http.403=L''accès à la ressource demandée [{0}] a été interdit. + +httpHeaderSecurityFilter.clickjack.invalid=Une valeur invalide [{0}] a été spécifiée pour le header "anti click-jacking" +httpHeaderSecurityFilter.committed=Impossible d'ajouter les en-têtes HTTP car la réponse a déjà été envoyée avant l'invocation du filtre de sécurité des en-têtes + +remoteCidrFilter.invalid=Une configuration invalide a été fournie pour [{0}], voir les précédents messages pour les détails +remoteCidrFilter.noRemoteIp=Le client n'a pas d'adresse IP. Requête rejetée. + +remoteIpFilter.invalidNumber=Nombre invalide pour le paramètre [{0}]: [{1}] + +requestFilter.deny=Requête refusée pour [{0}] basée sur la propriété [{1}] + +restCsrfPreventionFilter.invalidNonce=La validation du nonce de CSRF a échouée + +webDavFilter.xpProblem=WebdavFixFilter: le client de XP-x64-SP2 est réputé ne pas fonctionner avec le Servlet WebDAV +webDavFilter.xpRootContext=WebdavFixFilter: le client de XP-x64-SP2 ne peut fonctionner que le le contexte racine diff --git a/java/org/apache/catalina/filters/LocalStrings_ja.properties b/java/org/apache/catalina/filters/LocalStrings_ja.properties new file mode 100644 index 0000000..1f6de03 --- /dev/null +++ b/java/org/apache/catalina/filters/LocalStrings_ja.properties @@ -0,0 +1,65 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +addDefaultCharset.unsupportedCharset=指定された文字セット[{0}]はサポートされていません。 + +corsFilter.invalidPreflightMaxAge=preflightMaxAgeを解析出来ません +corsFilter.invalidSupportsCredentials=allowedOrigins = [*]の場合、supportsCredentials = [true]を設定することはできません。 +corsFilter.nullRequest=HttpServletRequestオブジェクトがnullです +corsFilter.nullRequestType=CORSRequestType オブジェクトが null です。 +corsFilter.onlyHttp=CORSは非HTTPリクエストまたはレスポンスをサポートしていません。 +corsFilter.wrongType1=[{0}]型のHttpServletRequestオブジェクトが必要です +corsFilter.wrongType2=[{0}]型または[{1}]型のHttpServletRequest オブジェクトが必要です。 + +csrfPrevention.invalidRandomClass=乱数生成器クラス [{0}] のインスタンスが作成できませんでした。 + +expiresFilter.exceptionProcessingParameter=構成パラメータ[{0}]:[{1}]処理中の例外 +expiresFilter.expirationHeaderAlreadyDefined=レスポンスステータス[{1}]がコンテンツタイプ[{2}]のリクエスト[{0}、expirationヘッダーがすでに定義されています。 +expiresFilter.filterInitialized=設定[{0}]で初期化されたFilter +expiresFilter.invalidDurationNumber=ディレクティブ[{1}]の無効な期間(number)[{0}] +expiresFilter.invalidDurationUnit= ディレクティブ[{1}]で期間ユニットが無効です。(years|months|weeks|days|hours|minutes|seconds) [{0}] \n +expiresFilter.noDurationFound=ディレクティブ[{0}]にDuration が見つかりません +expiresFilter.noDurationUnitAfterAmount=ディレクティブ[{1}]のamount[{0}]の後にDuration 単位が見つかりません。 +expiresFilter.noExpirationConfigured=リクエスト [{0}] に対するレスポンスは応答コード [{1} コンテントタイプ [{2}] です。有効期限は未設定です。 +expiresFilter.noExpirationConfiguredForContentType=Content-Type [{0}] に有効期限が設定されていません。 +expiresFilter.numberError=カンマ区切りリスト [{1}] の [{0}] 番目(ゼロ開始)の数値を解析中の例外 +expiresFilter.responseAlreadyCommited=リクエスト[{0}]は、すでにコミットされたレスポンスに対してExpiresFilterを適用できません。 +expiresFilter.setExpirationDate=レスポンスステータス[{1}]のコンテンツタイプ[{2}]、有効期限[{3}]を設定するリクエスト[{0}] +expiresFilter.skippedStatusCode=レスポンスステータス[{1}] content-type [{1}]のリクエスト[{0}]、指定されたステータスのexpiration ヘッダーの生成をスキップします。 +expiresFilter.startingPointInvalid=ディレクティブ[{1}]の無効な開始点(access|now|modification|a<seconds>|m<seconds>)[{0}] +expiresFilter.startingPointNotFound=ディレクティブ[{0}]に開始点(access|now|modification|a<seconds>|m<seconds>)が見つかりません +expiresFilter.unknownParameterIgnored=値[{1}]を持つ未知のパラメータ[{0}]は無視されます! +expiresFilter.unsupportedStartingPoint=[{0}] は未対応の開始点です。 +expiresFilter.useDefaultConfiguration=コンテンツタイプ[{1}]にデフォルト[{0}]を使用すると[{2}]が返されます。 +expiresFilter.useMatchingConfiguration=content-type[{2}]が[{3}]を返すため、[{1}]と一致する[{0}]を使用します + +filterbase.noSuchProperty=[{1}]タイプのフィルタにはプロパティ[{0}]が定義されていません。 + +http.403=指定されたリソース [{0}] へのアクセスは拒否されました。 + +httpHeaderSecurityFilter.clickjack.invalid=アンチクリックジャッキングヘッダーに不正な値 [{0}] が指定されました。 +httpHeaderSecurityFilter.committed=HTTPヘッダーセキュリティフィルターへの入力時に既に応答がコミットされているため、HTTPヘッダーを追加できません。 + +remoteCidrFilter.invalid=[{0}] に不正な値が指定されました。詳細は直前のメッセージを参照してください。 +remoteCidrFilter.noRemoteIp=クライアントは IP アドレスを持っていません。リクエストを拒否します。 + +remoteIpFilter.invalidNumber=パラメータ[{0}]: [{1}]に不正な番号があります。 + +requestFilter.deny=プロパティ [{1}] に従い [{0}] へのリクエストを拒否しました。 + +restCsrfPreventionFilter.invalidNonce=CSRF nonce の検証に失敗しました。 + +webDavFilter.xpProblem=WebdavFixFilter:XP-x64-SP2クライアントはWebDAVサーブレットで動作しないことが知られています +webDavFilter.xpRootContext=WebdavFixFilter:XP-x64-SP2クライアントはルートコンテキストでのみ動作します diff --git a/java/org/apache/catalina/filters/LocalStrings_fr.properties b/java/org/apache/catalina/filters/LocalStrings_ru.properties similarity index 71% copy from java/org/apache/catalina/filters/LocalStrings_fr.properties copy to java/org/apache/catalina/filters/LocalStrings_ru.properties index 0bfcd68..07bc422 100644 --- a/java/org/apache/catalina/filters/LocalStrings_fr.properties +++ b/java/org/apache/catalina/filters/LocalStrings_ru.properties @@ -13,4 +13,8 @@ # See the License for the specific language governing permissions and # limitations under the License. -http.403=L''accès à la ressource demandée ({0}) a été interdit. +corsFilter.invalidPreflightMaxAge=Невозможно обработать значение preflightMaxAge + +csrfPrevention.invalidRandomClass=Невозможно создать Случайный источник с помощью [{0}] + +http.403=Доступ к ресурсу [{0}] был запрещён. diff --git a/java/org/apache/catalina/filters/RemoteIpFilter.java b/java/org/apache/catalina/filters/RemoteIpFilter.java index 2830ac7..b399854 100644 --- a/java/org/apache/catalina/filters/RemoteIpFilter.java +++ b/java/org/apache/catalina/filters/RemoteIpFilter.java @@ -46,6 +46,7 @@ import org.apache.catalina.AccessLog; import org.apache.catalina.Globals; import org.apache.juli.logging.Log; import org.apache.juli.logging.LogFactory; +import org.apache.tomcat.util.res.StringManager; /** * <p> @@ -656,7 +657,8 @@ public class RemoteIpFilter implements Filter { // Log must be non-static as loggers are created per class-loader and this // Filter may be used in multiple class loaders - private final Log log = LogFactory.getLog(RemoteIpFilter.class); // must not be static + private final Log log = LogFactory.getLog(RemoteIpFilter.class); + protected static final StringManager sm = StringManager.getManager(RemoteIpFilter.class); protected static final String PROTOCOL_HEADER_PARAMETER = "protocolHeader"; @@ -1014,7 +1016,7 @@ public class RemoteIpFilter implements Filter { try { setHttpServerPort(Integer.parseInt(filterConfig.getInitParameter(HTTP_SERVER_PORT_PARAMETER))); } catch (NumberFormatException e) { - throw new NumberFormatException("Illegal " + HTTP_SERVER_PORT_PARAMETER + " : " + e.getMessage()); + throw new NumberFormatException(sm.getString("remoteIpFilter.invalidNumber", HTTP_SERVER_PORT_PARAMETER, e.getLocalizedMessage())); } } @@ -1022,7 +1024,7 @@ public class RemoteIpFilter implements Filter { try { setHttpsServerPort(Integer.parseInt(filterConfig.getInitParameter(HTTPS_SERVER_PORT_PARAMETER))); } catch (NumberFormatException e) { - throw new NumberFormatException("Illegal " + HTTPS_SERVER_PORT_PARAMETER + " : " + e.getMessage()); + throw new NumberFormatException(sm.getString("remoteIpFilter.invalidNumber", HTTPS_SERVER_PORT_PARAMETER, e.getLocalizedMessage())); } } } diff --git a/java/org/apache/catalina/filters/WebdavFixFilter.java b/java/org/apache/catalina/filters/WebdavFixFilter.java index 93608b8..ce9630d 100644 --- a/java/org/apache/catalina/filters/WebdavFixFilter.java +++ b/java/org/apache/catalina/filters/WebdavFixFilter.java @@ -27,6 +27,8 @@ import javax.servlet.ServletResponse; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import org.apache.tomcat.util.res.StringManager; + /** * Filter that attempts to force MS WebDAV clients connecting on port 80 to use * a WebDAV client that actually works. Other workarounds that might help @@ -59,8 +61,7 @@ import javax.servlet.http.HttpServletResponse; */ public class WebdavFixFilter implements Filter { - private static final String LOG_MESSAGE_PREAMBLE = - "WebdavFixFilter: Detected client problem: "; + protected static final StringManager sm = StringManager.getManager(WebdavFixFilter.class); /* Start string for all versions */ private static final String UA_MINIDIR_START = @@ -110,12 +111,11 @@ public class WebdavFixFilter implements Filter { } else if (ua.startsWith(UA_MINIDIR_5_2_3790)) { // XP 64-bit SP2 if (!"".equals(httpRequest.getContextPath())) { - log(request, - "XP-x64-SP2 clients only work with the root context"); + request.getServletContext().log(sm.getString("webDavFilter.xpRootContext")); } // Namespace issue maybe // see http://greenbytes.de/tech/webdav/webdav-redirector-list.html - log(request, "XP-x64-SP2 is known not to work with WebDAV Servlet"); + request.getServletContext().log(sm.getString("webDavFilter.xpProblem")); chain.doFilter(request, response); } else { @@ -141,9 +141,4 @@ public class WebdavFixFilter implements Filter { return location.toString(); } - private void log(ServletRequest request, String msg) { - StringBuilder builder = new StringBuilder(LOG_MESSAGE_PREAMBLE); - builder.append(msg); - request.getServletContext().log(builder.toString()); - } } --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org