Merge branch 'master' into bug2842

This commit is contained in:
Daniel Lisunkin committed 2019-05-13 16:31:54 +02:00
commit ded89cd191
31 files changed
+1036 -95

No files matched your search

@@ -1,10 +1,10 @@
//
// InfoPlist.strings
// SAPTracker
//
// Created by Raimund Wege on 04.11.16.
// Copyright © 2016 com.sap.sailing. All rights reserved.
//
/*
InfoPlist.strings
SAPTracker
Created by Raimund Wege on 04.11.16.
Copyright © 2016 com.sap.sailing. All rights reserved.
*/
"NSLocationWhenInUseUsageDescription" = "In order to track your entire race your phone needs to continue tracking also when you switch off or lock the screen which helps save battery and avoids unintentionally stopping the tracking process.";
"NSLocationAlwaysAndWhenInUseUsageDescription" = "In order to track your entire race your phone needs to continue tracking also when you switch off or lock the screen which helps save battery and avoids unintentionally stopping the tracking process.";
@@ -6,30 +6,30 @@
Copyright © 2017 com.sap.sailing. All rights reserved.
*/
// MARK: - Common
/* MARK: - Common */
"Common.Email" = "E-Mail";
"Common.Password" = "Passwort";
"Common.Server" = "Server";
"Common.UserName" = "Benutzername";
// MARK: - ForgotPasswordView
/* MARK: - ForgotPasswordView */
"ForgotPasswordView.Title" = "Passwort vergessen";
"ForgotPasswordView.InfoLabel.Text" = "Benutzernamen oder E-Mail Adresse angeben";
"ForgotPasswordView.ResetPasswordButton.Title" = "Passwort zurücksetzen";
// MARK: - LoginView
/* MARK: - LoginView */
"LoginView.Title" = "Anmelden";
"LoginView.ForgotPasswordButton.Title" = "Passwort vergessen";
"LoginView.LoginButton.Title" = "Anmelden";
// MARK: - SignUpControllerError
/* MARK: - SignUpControllerError */
"SignUpControllerError.LoginFailed" = "Anmeldung fehlgeschlagen. Zugangsdaten überprüfen.";
// MARK: - SignUpView
/* MARK: - SignUpView */
"SignUpView.Title" = "Registrieren";
"SignUpView.InfoLabel.Text" = "Herzlich Willkommen.";
@@ -40,7 +40,7 @@
"SignUpView.RepeatPasswordTextField.Placeholder" = "Wiederholen Sie das Passwort";
"SignUpView.SignUpButton.Title" = "Registrieren";
// MARK: - SignUpViewError
/* MARK: - SignUpViewError */
"SignUpViewError.UserNameIsToShort" = "Bitte einen Benutzername mit mindestens 3 Zeichen eingeben.";
"SignUpViewError.PasswordIsToShort" = "Bitte ein Passwort mit mindestens 5 Zeichen eingeben.";
@@ -1,10 +1,10 @@
//
// InfoPlist.strings
// SAPTracker
//
// Created by Raimund Wege on 04.11.16.
// Copyright © 2016 com.sap.sailing. All rights reserved.
//
/*
InfoPlist.strings
SAPTracker
Created by Raimund Wege on 04.11.16.
Copyright © 2016 com.sap.sailing. All rights reserved.
*/
"NSLocationWhenInUseUsageDescription" = "Um das ganze Rennen mit Deinem Gerät zu tracken, muss das Tracking auch dann fortgesetzt werden, wenn der Bildschirm abgeschaltet oder gesperrt wird. Das hilft, die Batterielaufzeit zu verlängern und versehentlich das Tracking zu stoppen.";
"NSLocationAlwaysAndWhenInUseUsageDescription" = "Um das ganze Rennen mit Deinem Gerät zu tracken, muss das Tracking auch dann fortgesetzt werden, wenn der Bildschirm abgeschaltet oder gesperrt wird. Das hilft, die Batterielaufzeit zu verlängern und versehentlich das Tracking zu stoppen.";
@@ -941,32 +941,32 @@ public class ManeuverDetectorImpl extends AbstractManeuverDetectorImpl {
}
TimePoint stableBearingAnalysisUntil = maneuverStart == null ? maneuverMainCurveDetails.getTimePointBefore()
: maneuverStart.getExtensionTimePoint();
Speed lowestSpeed = maneuverStart == null ? null : maneuverStart.getLowestSpeedWithinExtensionArea();
double courseChangeSinceManeuverMainCurveInDegrees = maneuverStart == null ? 0
: maneuverStart.getCourseChangeInDegreesWithinExtensionArea();
stepsToAnalyze = getSpeedWithBearingStepsWithinTimeRange(stepsToAnalyze, earliestTimePointForSpeedTrendAnalysis,
stableBearingAnalysisUntil);
ManeuverCurveBoundaryExtension stableBearingExtension = findStableBearingWithMaxAbsCourseChangeSpeed(
stepsToAnalyze, true, MAX_TURNING_RATE_IN_DEG_PER_SECOND_FOR_STABLE_COURSE_ANALYSIS);
if (stableBearingExtension != null
&& !isCourseChangeLimitExceededForCurveExtension(maneuverMainCurveDetails, stableBearingExtension)) {
maneuverStart = stableBearingExtension;
courseChangeSinceManeuverMainCurveInDegrees += stableBearingExtension
.getCourseChangeInDegreesWithinExtensionArea();
if (lowestSpeed == null
|| lowestSpeed.compareTo(stableBearingExtension.getLowestSpeedWithinExtensionArea()) > 0) {
lowestSpeed = stableBearingExtension.getLowestSpeedWithinExtensionArea();
}
ManeuverCurveBoundaryExtension mergedExtension = extendManeuverCurveBoundaryExtension(maneuverStart, stableBearingExtension);
if(!isCourseChangeLimitExceededForCurveExtension(maneuverMainCurveDetails, mergedExtension)) {
maneuverStart = mergedExtension;
}
return maneuverStart != null
? new ManeuverCurveBoundaryExtension(maneuverStart.getExtensionTimePoint(),
maneuverStart.getSpeedWithBearingAtExtensionTimePoint(),
courseChangeSinceManeuverMainCurveInDegrees
+ maneuverStart.getCourseChangeInDegreesWithinExtensionArea(),
lowestSpeed)
? maneuverStart
: new ManeuverCurveBoundaryExtension(maneuverMainCurveDetails.getTimePointBefore(),
maneuverMainCurveDetails.getSpeedWithBearingBefore(), 0, null);
}
private ManeuverCurveBoundaryExtension extendManeuverCurveBoundaryExtension(ManeuverCurveBoundaryExtension previousExtension, ManeuverCurveBoundaryExtension newExtension) {
if(previousExtension == null) {
return newExtension;
}
if(newExtension == null) {
return previousExtension;
}
Speed lowestSpeed = previousExtension.getLowestSpeedWithinExtensionArea().compareTo(newExtension.getLowestSpeedWithinExtensionArea()) > 0 ? newExtension.getLowestSpeedWithinExtensionArea() : previousExtension.getLowestSpeedWithinExtensionArea();
double courseChangeInDegrees = previousExtension.getCourseChangeInDegreesWithinExtensionArea() + newExtension.getCourseChangeInDegreesWithinExtensionArea();
ManeuverCurveBoundaryExtension mergedExtension = new ManeuverCurveBoundaryExtension(newExtension.getExtensionTimePoint(), newExtension.getSpeedWithBearingAtExtensionTimePoint(), courseChangeInDegrees, lowestSpeed);
return mergedExtension;
}
private boolean isCourseChangeLimitExceededForCurveExtension(
ManeuverMainCurveDetailsWithBearingSteps maneuverMainCurveDetails,
@@ -1025,27 +1025,16 @@ public class ManeuverDetectorImpl extends AbstractManeuverDetectorImpl {
}
TimePoint stableBearingAnalysisFrom = maneuverEnd == null ? maneuverMainCurveDetails.getTimePointAfter()
: maneuverEnd.getExtensionTimePoint();
Speed lowestSpeed = maneuverEnd == null ? null : maneuverEnd.getLowestSpeedWithinExtensionArea();
double courseChangeSinceManeuverMainCurveInDegrees = maneuverEnd == null ? 0
: maneuverEnd.getCourseChangeInDegreesWithinExtensionArea();
stepsToAnalyze = getSpeedWithBearingStepsWithinTimeRange(stepsToAnalyze, stableBearingAnalysisFrom,
latestTimePointForSpeedTrendAnalysis);
ManeuverCurveBoundaryExtension stableBearingExtension = findStableBearingWithMaxAbsCourseChangeSpeed(
stepsToAnalyze, false, MAX_TURNING_RATE_IN_DEG_PER_SECOND_FOR_STABLE_COURSE_ANALYSIS);
if (stableBearingExtension != null
&& !isCourseChangeLimitExceededForCurveExtension(maneuverMainCurveDetails, stableBearingExtension)) {
maneuverEnd = stableBearingExtension;
courseChangeSinceManeuverMainCurveInDegrees += stableBearingExtension
.getCourseChangeInDegreesWithinExtensionArea();
if (lowestSpeed == null
|| lowestSpeed.compareTo(stableBearingExtension.getLowestSpeedWithinExtensionArea()) > 0) {
lowestSpeed = stableBearingExtension.getLowestSpeedWithinExtensionArea();
}
ManeuverCurveBoundaryExtension mergedExtension = extendManeuverCurveBoundaryExtension(maneuverEnd, stableBearingExtension);
if(!isCourseChangeLimitExceededForCurveExtension(maneuverMainCurveDetails, mergedExtension)) {
maneuverEnd = mergedExtension;
}
return maneuverEnd != null
? new ManeuverCurveBoundaryExtension(maneuverEnd.getExtensionTimePoint(),
maneuverEnd.getSpeedWithBearingAtExtensionTimePoint(),
courseChangeSinceManeuverMainCurveInDegrees, lowestSpeed)
? maneuverEnd
: new ManeuverCurveBoundaryExtension(maneuverMainCurveDetails.getTimePointAfter(),
maneuverMainCurveDetails.getSpeedWithBearingAfter(), 0, null);
}
@@ -537,7 +537,12 @@ public class StationarySequenceBasedFilter {
}
if (fixesReplacingExistingOnes != null) {
for (final GPSFixMoving fixReplacingExistingOne : fixesReplacingExistingOnes) {
assert Util.contains(newFixes, fixesReplacingExistingOnes);
final boolean assertion2 = Util.contains(newFixes, fixReplacingExistingOne);
if (!assertion2) {
logger.severe("Expected "+fixesReplacingExistingOnes+" to be part of the "+Util.size(newFixes)+
" new fixes, but it wasn't");
}
assert assertion2;
final Candidate dummyCandidateForReplacementFix = StationarySequence.createDummyCandidate(fixReplacingExistingOne.getTimePoint());
final StationarySequence dummyStationarySequenceForFix = createStationarySequence(dummyCandidateForReplacementFix);
final StationarySequence lastSequenceStartingAtOrBeforeFix = stationarySequences.floor(dummyStationarySequenceForFix);
@@ -97,15 +97,11 @@ public class TracTracEventManagementPanel extends AbstractEventManagementPanel {
protected Widget createContent() {
VerticalPanel mainPanel = new VerticalPanel();
mainPanel.setWidth("100%");
CaptionPanel connectionsPanel = createConnectionsPanel();
mainPanel.add(connectionsPanel);
HorizontalPanel racesPanel = createRacesPanel();
racesPanel.setWidth("100%");
mainPanel.add(racesPanel);
return mainPanel;
}
@@ -130,7 +126,8 @@ public class TracTracEventManagementPanel extends AbstractEventManagementPanel {
tableAndConfigurationPanel.add(buttonPanel);
buttonPanel.addUnsecuredAction(stringMessages.refresh(), () -> connectionsTable.refreshTracTracConnectionList());
Button addCreateAction = buttonPanel.addCreateAction(stringMessages.addTracTracConnection(),
() -> new EditTracTracConnectionDialog(new TracTracConfigurationWithSecurityDTO(),
() -> new EditTracTracConnectionDialog(new TracTracConfigurationWithSecurityDTO(
userService.getCurrentUser() == null ? null : userService.getCurrentUser().getName()),
new DialogCallback<TracTracConfigurationWithSecurityDTO>() {
@Override
public void ok(TracTracConfigurationWithSecurityDTO editedConnection) {
@@ -148,7 +145,7 @@ public class TracTracEventManagementPanel extends AbstractEventManagementPanel {
@Override
public void onSuccess(Void voidResult) {
connectionsTable.refreshTracTracConnectionList();
connectionsTable.refreshTracTracConnectionList(/* selectWhenDone */ editedConnection);
}
}));
}
@@ -189,7 +186,7 @@ public class TracTracEventManagementPanel extends AbstractEventManagementPanel {
});
return connectionsPanel;
}
protected HorizontalPanel createRacesPanel() {
HorizontalPanel racesPanel = new HorizontalPanel();
CaptionPanel trackableRacesPanel = createTrackableRacesPanel();
@@ -472,25 +469,23 @@ public class TracTracEventManagementPanel extends AbstractEventManagementPanel {
List<TracTracRaceRecordDTO> races = TracTracEventManagementPanel.this.raceList.getList();
races.clear();
races.addAll(TracTracEventManagementPanel.this.availableTracTracRaces);
TracTracEventManagementPanel.this.racesFilterablePanel.getTextBox().setText("");
TracTracEventManagementPanel.this.racesTable.setPageSize(races.size());
loadingMessageLabel.setText("");
// store a successful configuration in the database for later retrieval
sailingService.updateTracTracConfiguration(updatedConnection,
new MarkedAsyncCallback<Void>(
new AsyncCallback<Void>() {
@Override
public void onFailure(Throwable caught) {
reportError("Exception trying to store configuration in DB: " + caught.getMessage());
}
@Override
public void onSuccess(Void voidResult) {
connectionsTable.refreshTracTracConnectionList();
}
}));
sailingService.updateTracTracConfiguration(updatedConnection,
new MarkedAsyncCallback<Void>(
new AsyncCallback<Void>() {
@Override
public void onFailure(Throwable caught) {
reportError("Exception trying to store configuration in DB: " + caught.getMessage());
}
@Override
public void onSuccess(Void voidResult) {
connectionsTable.refreshTracTracConnectionList();
}
}));
}
}));
}
@@ -5,6 +5,7 @@ import static com.sap.sse.security.ui.client.component.AccessControlledActionsCo
import java.util.ArrayList;
import java.util.List;
import com.google.gwt.core.client.Scheduler;
import com.google.gwt.user.cellview.client.AbstractCellTable;
import com.google.gwt.user.cellview.client.ColumnSortEvent.ListHandler;
import com.google.gwt.user.cellview.client.TextColumn;
@@ -168,6 +169,15 @@ public class TracTracConnectionTableWrapper extends
}
public void refreshTracTracConnectionList() {
refreshTracTracConnectionList(/* selectWhenDone */ null);
}
/**
* @param selectEntityWhenDone
* if not {@code null}, select an entity in the table that the {@link EntityIdentityComparator} considers
* the same entity if present
*/
public void refreshTracTracConnectionList(final TracTracConfigurationWithSecurityDTO selectEntityWhenDone) {
sailingServiceAsync
.getPreviousTracTracConfigurations(new AsyncCallback<List<TracTracConfigurationWithSecurityDTO>>() {
@Override
@@ -180,6 +190,16 @@ public class TracTracConnectionTableWrapper extends
@Override
public void onSuccess(List<TracTracConfigurationWithSecurityDTO> result) {
filterField.updateAll(result);
if (selectEntityWhenDone != null) {
Scheduler.get().scheduleDeferred(()->{
for (final TracTracConfigurationWithSecurityDTO oneResult : result) {
if (getSelectionModel().getEntityIdentityComparator().representSameEntity(oneResult, selectEntityWhenDone)) {
getSelectionModel().setSelected(oneResult, true);
break;
}
}
});
}
}
});
}
@@ -526,6 +526,7 @@ longitude=Longitud
actionAddEvent=Añadir evento
publicationUrl=URL de publicación
suppress=Suprimir
isListedOnHomepage=Enumerado en la página de inicio
unsuppress=Anular la eliminación
suppressedCompetitors=Competidores suprimidos
mediaPanel=Audio y vídeo
@@ -1026,6 +1027,7 @@ errorGettingIgtimiAuthorizationUrl=Error al obtener URL de autorización de Igti
addIgtimiUser=Añadir usuario de Igtimi
doYouReallyWantToRemoveLeaderboards=¿Desea realmente eliminar las tablas de clasificación?
doYouReallyWantToRemoveNonVisibleLeaderboards=Del mismo modo, está borrando las tablas de clasificación que actualmente no son visibles con el filtro. Se eliminarán las siguientes tablas de clasificación. ¿Desea continuar?\n\n{0}
doYouReallyWantToRemoveLeaderboardGroup=¿Desea realmente eliminar los grupos de la tabla de clasificación "{0}"?
doYouReallyWantToRemoveLeaderboardGroups=¿Desea realmente eliminar los grupos de la tabla de clasificación?
doYouReallyWantToRemoveNonVisibleLeaderboardGroups=Del mismo modo, está borrando los grupos de la tabla de clasificación que actualmente no son visibles con el filtro. Se eliminarán los siguientes grupos de la tabla de clasificación. ¿Desea continuar?\n\n{0}
doYouReallyWantToRemoveTrackedRaces=¿Desea realmente eliminar las carreras rastreadas?
@@ -1180,6 +1182,24 @@ controlTrackingFromStartAndFinishTimes=Control de rastreo a partir de la hora de
canBoatsOfCompetitorsChangePerRace=¿Pueden modificarse por carrera las embarcaciones de competidores?
canBoatsChange=¿Pueden modificarse las embarcaciones?
canNotRegisterBoats=Las embarcaciones solo pueden registrarse aquí cuando pueden modificarse por carrera; de otro modo, se registran junto el competidor.
competitorRegistrationType=Tipo de registro de competidor
competitorRegistrationTypeShort=Registro
competitorRegistrationTypeClosed=cerrado
competitorRegistrationTypeOpenModerated=abierto moderado
competitorRegistrationTypeOpenUnmoderated=abierto no moderado
registrationLink=Enlace de registro
registrationLinkConfig=Vista
registrationLinkDialog=Enlace de registro de la regata abierta
registrationLinkDialogQrcode=Código QR
registrationLinkDialogQrcodeExplain=Puede descargar la imagen del código QR y pegarla en su invitación.
registrationLinkSecret=Secreto
registrationLinkSecretExplain=Se añade una cadena secreta al enlace de registro que se requiere para validar una solicitud de registro. Los enlaces públicos y los códigos QR ya no funcionarán si modifica esta cadena.
registrationLinkSecretGenerate=Generar
registrationLinkUrl=URL de enlace de registro
registrationLinkUrlExplain=Puede copiar el URL y pegarlo en su invitación.
registrationLinkUrlCopy=Copiar al portapapeles
registrationLinkShare=Compartir
explainRegistrationLinkDialog=Los competidores de regatas abiertas pueden registrarlas mediante el enlace de registro y el escaneo de código QR siguiente con su smartphone.
numberOfQueueMessagesSent=Número de mensajes en cola enviados
totalSize=Tamaño total
averageMessageSize=Tamaño total por mensaje en bytes
@@ -1222,6 +1242,7 @@ enterImageURL=Indicar URL de imagen...
enterVideoURL=Indicar URL de vídeo...
enterSponsorImageURL=Indicar URL de imagen de patrocinador...
enterRaceName=Indicar nombre de carrera...
userGroupManagement=Gestión de grupo de usuarios
userManagement=Gestión de usuarios
regattaStructureImport=Importación de la estructura de regata
filteredBy=Filtrado por
@@ -1249,6 +1270,9 @@ noFleetsDefined=Ninguna flota definida
successfullyCreatedRegattas=Regatas creadas con éxito
errorTryingToRegisterRacesForTracking=Error al intentar registrar carreras {0} para rastreo: {1}. Compruebe sintaxis URI en directo/grabada.
errorDeterminingPolarAvailability=Error al determinar la disponibilidad de datos polares / VPP para la carrera {0}: {1}
selectedDetailType=Mostrar métrica
errorLoadingAvailableDetailTypes=Error al cargar las métricas disponibles
tailColor=Color de cola
fileStorage=Almacenamiento de archivos
active=Activo
scoringSchemeHighPointEssOverallDescription=Calificación en puntos. El ganador de una prueba obtiene 10 puntos; el segundo, 9 puntos, etc. Si hay un empate en la serie de Extreme Sailing, el empate se resuelve a favor del competidor que ha ganado más pruebas. Si aún persiste el empate, se utiliza el resultado de la última prueba.
@@ -1969,6 +1993,7 @@ errorCalculatingPairingListTemplate=Error al calcular la plantilla de la lista d
errorCreatingPairingList=Error al crear la lista de emparejamientos: {0}
unexpectedErrorDuringFileImport=Se ha producido un error inesperado durante la carga del fichero.
couldNotDownload=No se ha podido descargar el fichero: {0}
roles=Roles
sliceRace=Cortar una carrera
slicingARaceWasSuccessful=El corte de carrera fue exitoso.
enterNameForSlicedRace=Indique un nombre para la carrera a cortar
@@ -2111,6 +2136,8 @@ qrCodeUnsecureServerRedirect=El enlace indicado le redireccionará al sitio desc
qrCodeUnsecureServerRedirectTitle=Servidor desconocido {0}
qrCodeInfoMessage=Escanee este código QR con su dispositivo móvil para continuar con el registro
qrCodeErrorMessage=Lo sentimos, esta función no está disponible actualmente.
soundOff=Sin sonido
turnOffAllSoundChannels=Desactive todos los canales de sonido
tag=Etiqueta
tagButtons=Botones de etiqueta
tagPanel=Etiquetas
@@ -2196,3 +2223,35 @@ moreLoginInformationSectionSailorProfilesDescription=Después de iniciar sesión
moreLoginInformationSectionSailorProfilesHeading=Perfiles de navegante
confirmDeletion=Confirmar borrado
priorityMustBeANonNegativeNumber=La prioridad debe ser un número entero no negativo
selfServiceServer=El servidor tiene autoservicio
publicServer=El servidor es público
updatedServerSetupError=No se ha podido actualizar la configuración del servidor
updatedServerSetup=Confirmación de servidor actualizada
useExistingUserGroup=Utilizar grupo de usuarios existente
useNewUserGroup=Utilizar grupo de usuarios nuevo
currentGroupOwner=Responsable de grupo actual
migrateCompetitors=Migrar competidores
migrateBoats=Migrar embarcaciones
migrateHierarchyToGroupOwner=Migrar jerarquía a responsable de grupo
serverIsPublicButTenantIsNot=Este servidor está configurado como público, su arrendatario actual no es el servidor. Los objetos que ha creado no serán públicos sin una configuración adicional del servidor. Modifique por defecto el arrendatario mediante el perfil de usuario si desea un escenario de servidor público por defecto.
serverIsPublicButTenantIsNotAndCouldBeChanged=Este servidor está configurado como público, su arrendatario actual no es el servidor. Los objetos que ha creado no serán públicos sin una configuración adicional del servidor. ¿Desea que modifiquemos el arrendatario estándar?
copyMembersAndRoles=Copiar miembros y roles
invalidSecret=Secreto no válido
warningSailInsightVersion=El servidor se ha configurado para el uso con SAP Sail Insight 1. Las regatas abiertas solo son compatibles con SAP Sail Insight 2; se pueden producir problemas de uso.
invalidState=Estado no válido
doYouReallyWantToRemoveDeviceConfiguration=¿Desea realmente eliminar la configuración del dispositivo {0}?
errorFetchingSimulationData=Se ha producido un error al obtener los datos de simulación: {0}
usernameAndPasswordMustBothBeSet=El nombre de usuario y contraseña deben estar completados o en blanco
explainUserName=El nombre de usuario a utilizar para la autenticación en el maestro
explainPassword=La contraseña a utilizar para la autenticación en el maestro
addTracTracConnection=Añadir conexión TracTrac
editTracTracConnection=Tratar conexión TracTrac
filterTracTracConnections=Filtrar conexiones TracTrac
creatorName=Nombre de creador
addSwissTimingAchivedConnection=Añadir conexión SwissTimingArchived
editSwissTimingAchivedConnection=Tratar conexión SwissTimingArchived
filterSwissTimingAchivedConnections=Filtrar conexiones SwissTimingArchived
editSwissTimingConnections=Tratar conexión SwissTiming
filterSwissTimingConnections=Filtrar conexiones SwissTiming
addSwissTimingConnection=Añadir conexión SwissTiming
updateURL=Actualizar URL
@@ -526,6 +526,7 @@ longitude=Longitude
actionAddEvent=Ajouter manifestation
publicationUrl=URL de publication
suppress=Supprimer
isListedOnHomepage=Est listé sur la page d''accueil
unsuppress=Annuler la suppression
suppressedCompetitors=Concurrents supprimés
mediaPanel=Audio et vidéo
@@ -1026,6 +1027,7 @@ errorGettingIgtimiAuthorizationUrl=Erreur lors de l''accès à l''URL d''autoris
addIgtimiUser=Ajouter utilisateur Igtimi
doYouReallyWantToRemoveLeaderboards=Voulez-vous vraiment supprimer les palmarès ?
doYouReallyWantToRemoveNonVisibleLeaderboards=Vous êtes également en train de supprimer des palmarès qui ne sont pas visibles actuellement à cause du filtre. Les palmarès suivants seront supprimés. Voulez-vous poursuivre ?\n\n{0}
doYouReallyWantToRemoveLeaderboardGroup=Voulez-vous vraiment supprimer le groupe de palmarès "{0}" ?
doYouReallyWantToRemoveLeaderboardGroups=Voulez-vous vraiment supprimer les groupes de palmarès ?
doYouReallyWantToRemoveNonVisibleLeaderboardGroups=Vous êtes également en train de supprimer des groupes de palmarès qui ne sont pas visibles actuellement à cause du filtre. Les groupes de palmarès suivants seront supprimés. Voulez-vous poursuivre ?\n\n{0}
doYouReallyWantToRemoveTrackedRaces=Voulez-vous vraiment supprimer les courses suivies ?
@@ -1180,6 +1182,24 @@ controlTrackingFromStartAndFinishTimes=Contrôler suivi à partir des heures de
canBoatsOfCompetitorsChangePerRace=Les bateaux des concurrents peuvent-ils changer pendant une course
canBoatsChange=Les bateaux peuvent-ils changer
canNotRegisterBoats=Les bateaux peuvent uniquement être inscrits ici lorsqu''il est possible d''en changer pendant une couse. Sinon, ils sont inscrits avec le concurrent.
competitorRegistrationType=Type d''inscription du concurrent
competitorRegistrationTypeShort=Inscription
competitorRegistrationTypeClosed=clôturée
competitorRegistrationTypeOpenModerated=ouverte et modérée
competitorRegistrationTypeOpenUnmoderated=ouverte et non modérée
registrationLink=Lien d''inscription
registrationLinkConfig=Afficher
registrationLinkDialog=Lien d''inscription pour régate ouverte
registrationLinkDialogQrcode=Code QR
registrationLinkDialogQrcodeExplain=Vous pouvez télécharger l''image du code QR et la coller dans votre invitation.
registrationLinkSecret=Secret
registrationLinkSecretExplain=Une chaîne secrète est ajoutée au lien d''inscription requis pour valider une demande d''inscription. Les liens déjà publics et les codes QR ne fonctionneront plus si vous modifiez ce secret.
registrationLinkSecretGenerate=Générer
registrationLinkUrl=URL du lien d''inscription
registrationLinkUrlExplain=Vous pouvez copier l''URL et la coller dans votre invitation.
registrationLinkUrlCopy=Copier dans le presse-papiers
registrationLinkShare=Partager
explainRegistrationLinkDialog=Les concurrents des régates ouvertes peuvent s''inscrire eux-mêmes en ouvrant le lien d''inscription ou en scannant le code QR ci-dessous avec leur smartphone.
numberOfQueueMessagesSent=Nombre de messages en file d''attente envoyés
totalSize=Taille totale
averageMessageSize=Taille moyenne par message en octets
@@ -1222,6 +1242,7 @@ enterImageURL=Saisissez l''URL de l''image...
enterVideoURL=Saisissez l''URL de la vidéo...
enterSponsorImageURL=Saisissez l''URL de l''image du sponsor...
enterRaceName=Saisissez le nom du parcours...
userGroupManagement=Gestion des groupes d''utilisateurs
userManagement=Gestion des utilisateurs
regattaStructureImport=Importation de la structure de la régate
filteredBy=filtré par
@@ -1249,6 +1270,9 @@ noFleetsDefined=Aucune flotte définie
successfullyCreatedRegattas=Création des régates réussie
errorTryingToRegisterRacesForTracking=Erreur lors de la tentative d''enregistrement des courses {0} pour le suivi : {1}. Vérifiez la syntaxe de l''URL stockée/du direct.
errorDeterminingPolarAvailability=Erreur lors de la détermination de la disponibilité des données polaires/VPP pour la course {0} : {1}
selectedDetailType=Afficher métrique
errorLoadingAvailableDetailTypes=Erreur lors du chargement des métriques disponibles
tailColor=Couleur du parcours effectué
fileStorage=Stockage du fichier
active=Actif
scoringSchemeHighPointEssOverallDescription=Score en points. Le vainqueur d''un Act totalise 10 points, le 2e - 9 points, etc. En cas d''égalité au classement général des Extreme Sailing Series, la victoire est accordée au concurrent ayant remporté le plus d''Act. Si l''égalité persiste, le résultat obtenu au dernier Act sera utilisé.
@@ -1969,6 +1993,7 @@ errorCalculatingPairingListTemplate=Erreur lors du calcul du modèle de la liste
errorCreatingPairingList=Erreur lors de la création de la liste d''appariement: {0}
unexpectedErrorDuringFileImport=Une erreur inattendue s''est produite lors du chargement du fichier.
couldNotDownload=Impossible de télécharger le fichier : {0}
roles=Rôles
sliceRace=Segmenter course
slicingARaceWasSuccessful=Segmentation de la course réussie
enterNameForSlicedRace=Veuillez saisir un nom pour la course à segmenter.
@@ -2097,7 +2122,7 @@ swissTimingUpdateUsername=Nom d''utilisateur pour l''envoi des mises à jour
swissTimingUpdatePassword=Mot de passe pour l''envoi des mises à jour
allowResizing=Autoriser le redimensionnement
resizeSuccessfull=Redimensionnement correctement terminé
resizeUnsuccessful=Redimensionnement impossible: {0}
resizeUnsuccessful=Redimensionnement impossible : {0}
setUpStorageService=Veuillez d''abord configurer un service de stockage de fichier.
automaticResizeNeedsStorageService=Pour pouvoir utiliser le redimensionnement automatique, un service de stockage de fichier doit être configuré.
qrCodeBoatInviteTitle=Vous êtes invité à suivre le bateau {0} pour la régate {1}.
@@ -2111,6 +2136,8 @@ qrCodeUnsecureServerRedirect=En suivant ce lien, vous allez être redirigé vers
qrCodeUnsecureServerRedirectTitle=Serveur inconnu {0}
qrCodeInfoMessage=Veuillez scanner ce code QR avec votre appareil mobile pour poursuivre l''inscription.
qrCodeErrorMessage=Désolé, cette fonctionnalité n''est pas disponible actuellement.
soundOff=Son désactivé
turnOffAllSoundChannels=Désactiver tous les canaux sonores
tag=Balise
tagButtons=Boutons de balises
tagPanel=Balises
@@ -2196,3 +2223,35 @@ moreLoginInformationSectionSailorProfilesDescription=Une fois connecté(e), vous
moreLoginInformationSectionSailorProfilesHeading=Profils de sportifs
confirmDeletion=Confirmer la suppression
priorityMustBeANonNegativeNumber=Pour la priorité, seule un nombre entier non négatif est valide.
selfServiceServer=Le serveur est en libre-service.
publicServer=Le serveur est public.
updatedServerSetupError=Impossible de mettre à jour la configuration du serveur
updatedServerSetup=Configuration du serveur mise à jour
useExistingUserGroup=Utiliser groupe d''utilisateurs existant
useNewUserGroup=Utiliser nouveau groupe d''utilisateurs
currentGroupOwner=Responsable du groupe actuel
migrateCompetitors=Migrer concurrents
migrateBoats=Migrer bateaux
migrateHierarchyToGroupOwner=Migrer hiérarchie vers le responsable du groupe
serverIsPublicButTenantIsNot=Ce serveur est configuré comme étant public, votre locataire ne correspond pas à ceux du serveur. Les objets que vous avez créés ne seront pas publics si le serveur n''est pas davantage configuré. Modifiez votre locataire par défaut via le profil utilisateur si vous souhaitez un scénario de serveur public par défaut.
serverIsPublicButTenantIsNotAndCouldBeChanged=Ce serveur est configuré comme étant public, votre locataire ne correspond pas à ceux du serveur. Les objets que vous avez créés ne seront pas publics si le serveur n''est pas davantage configuré. Devons-nous modifier le locataire par défaut pour vous ?
copyMembersAndRoles=Copier membres et rôles
invalidSecret=Secret non valide
warningSailInsightVersion=Le serveur est configuré pour être utilisé avec SAP Sailing Boat Tracker 1. Les régates ouvertes sont prises en charge uniquement dans SAP Sailing Boat Tracker 2. Cela peut provoquer des problèmes d''utilisation.
invalidState=Statut non valide
doYouReallyWantToRemoveDeviceConfiguration=Voulez-vous vraiment supprimer la configuration de l''appareil "{0}" ?
errorFetchingSimulationData=Une erreur s''est produite lors de l''accès aux données de simulation : {0}
usernameAndPasswordMustBothBeSet=Le nom d''utilisateur et le mot de passe doivent tous les deux être renseignés ou vides.
explainUserName=Nom d''utilisateur à utiliser pour l''authentification dans le système principal
explainPassword=Mot de passe à utiliser pour l''authentification dans le système principal
addTracTracConnection=Ajouter connexion TracTrac
editTracTracConnection=Modifier connexion TracTrac
filterTracTracConnections=Filtrer connexions TracTrac
creatorName=Nom de l''auteur
addSwissTimingAchivedConnection=Ajouter connexion SwissTimingArchived
editSwissTimingAchivedConnection=Modifier connexion SwissTimingArchived
filterSwissTimingAchivedConnections=Filtrer connexions SwissTimingArchived
editSwissTimingConnections=Modifier connexion SwissTiming
filterSwissTimingConnections=Filtrer connexions SwissTiming
addSwissTimingConnection=Ajouter connexion SwissTiming
updateURL=Mettre à jour URL
@@ -526,6 +526,7 @@ longitude=経度
actionAddEvent=イベント追加
publicationUrl=公開 URL
suppress=非表示
isListedOnHomepage=ホームページに一覧表示
unsuppress=非表示解除
suppressedCompetitors=非表示競技者
mediaPanel=音声と動画
@@ -1026,6 +1027,7 @@ errorGettingIgtimiAuthorizationUrl=Igtimi 権限 URL 取得でエラー発生: {
addIgtimiUser=Igtimi ユーザ追加
doYouReallyWantToRemoveLeaderboards=リーダーボードを削除しますか
doYouReallyWantToRemoveNonVisibleLeaderboards=フィルタリングされていて現在表示されていないリーダーボードも削除しようとしています。以下のリーダーボードが削除されます。続行しますか。\n\n{0}
doYouReallyWantToRemoveLeaderboardGroup=リーダーボードグループ "{0}" を削除しますか
doYouReallyWantToRemoveLeaderboardGroups=リーダーボードグループを削除しますか
doYouReallyWantToRemoveNonVisibleLeaderboardGroups=フィルタリングされていて現在表示されていないリーダーボードグループも削除しようとしています。以下のリーダーボードグループが削除されます。続行しますか。\n\n{0}
doYouReallyWantToRemoveTrackedRaces=追跡レースを削除しますか
@@ -1180,6 +1182,24 @@ controlTrackingFromStartAndFinishTimes=スタート時刻およびフィニッ
canBoatsOfCompetitorsChangePerRace=レースごとに競技者の艇を変更可能
canBoatsChange=艇を変更可能
canNotRegisterBoats=艇はレースごとに変更可能な場合にのみここで登録することができ、可能でない場合は競技者と一緒に登録されます。
competitorRegistrationType=競技者登録タイプ
competitorRegistrationTypeShort=登録
competitorRegistrationTypeClosed=終了
competitorRegistrationTypeOpenModerated=調停済未終了
competitorRegistrationTypeOpenUnmoderated=未調停未終了
registrationLink=登録リンク
registrationLinkConfig=表示
registrationLinkDialog=オープンレガッタの登録リンク
registrationLinkDialogQrcode=QR コード
registrationLinkDialogQrcodeExplain=QR コード画像をダウンロードして、それを招待にペーストできます。
registrationLinkSecret=シークレット
registrationLinkSecretExplain=シークレット文字列が、登録依頼をチェックするために必要な登録リンクに追加されます。すでにパブリックになっているリンクおよび QR コードは、このシークレットを変更する場合はもう機能しません。
registrationLinkSecretGenerate=生成
registrationLinkUrl=登録リンク URL
registrationLinkUrlExplain=URL をコピーして、それを招待にペーストできます。
registrationLinkUrlCopy=クリップボードにコピー
registrationLinkShare=共有
explainRegistrationLinkDialog=オープンレガッタの競技者は、登録リンクを開くか、スマートフォンで下記の QR コードをスキャンして、自分自身で登録を行うことができます。
numberOfQueueMessagesSent=送信済キューメッセージ数
totalSize=合計サイズ
averageMessageSize=メッセージごとの平均サイズ (バイト)
@@ -1222,6 +1242,7 @@ enterImageURL=画像 URL を入力...
enterVideoURL=動画 URL を入力...
enterSponsorImageURL=スポンサー画像 URL を入力...
enterRaceName=レース名を入力...
userGroupManagement=ユーザグループ管理
userManagement=ユーザ管理
regattaStructureImport=レガッタ構成のインポート
filteredBy=フィルタキー
@@ -1249,6 +1270,9 @@ noFleetsDefined=フリートが定義されていません。
successfullyCreatedRegattas=レガッタが登録されました
errorTryingToRegisterRacesForTracking=追跡するレース {0} を登録しようとしてエラーが発生: {1}。ライブ/格納 URI 構文をチェックしてください。
errorDeterminingPolarAvailability=レース {0} のポーラー/VPP データの利用可能性の決定でエラー発生: {1}
selectedDetailType=メトリック表示
errorLoadingAvailableDetailTypes=利用可能なメトリックのロードでエラー発生
tailColor=テール色
fileStorage=ファイルストレージ
active=有効
scoringSchemeHighPointEssOverallDescription=得点数によるスコアです。アクトの勝者が 10 点、2 位が 9 点などと得点します。Extreme Sailing シリーズ全体で同点となった場合は、より多くのアクトで勝者となった競技者を上位とします。それでも同じ場合には、最終アクトの結果を用います。
@@ -1725,7 +1749,7 @@ sapSailInSight=SAP Sail InSight
contentSapSailInSight=iPhone、iPad、および Android フォン向け SAP Sail InSight モバイルアプリにより、ヨット競技者はいつでもどこでもレガッタ参加やパフォーマンスを管理することができます。このアプリは SAP Sailing Analytics ソリューションに接続され、競技者が SAP Sail InSight 対応のレガッタへの受付を行い、自分がどこにいるかを艇速や帆走距離などのパフォーマンス指標とともに追跡し、自らのパフォーマンスを分析することを可能にします。
sapSailInSightReadMore=詳細情報
sapSailingBuoyPinger=SAP Sailing Buoy Pinger
contentSapSailingBuoyPinger=Android フォン向け SAP Sailing Buoy Pinger モバイルアプリにより、ヨットレース運営者はいつでもどこでもレース用のマークの位置決めや、マーク設置担当者とのやり取りを簡略化することができます。このアプリは SAP Sailing Analytics ソリューションに接続され、レガッタ運営者がレース用のマークの地理的位置を追跡することを可能にし、レガッタに参加しているセーラーが SAP Sail InSight モバイルアプリを使用できるようにします。
contentSapSailingBuoyPinger=Android フォン向け SAP Sailing Buoy Pinger モバイルアプリにより、ヨットレース運営者はいつでもどこでもレース用のマークの位置決めや、マーク設置担当者とのやり取りを簡略化することができます。このアプリは SAP Sailing Analytics ソリューションに接続され、レガッタ運営者がレース用のマークの地理的位置を追跡することを可能にし、レガッタに参加しているセーラーが SAP Sail InSight (SAP Sailing Boat Tracker) モバイルアプリを使用できるようにします。
sapSailingBuoyPingerReadMore=詳細情報
postRaceAnalytics=レース後分析
contentPostRaceAnalytics1=セーリングイベントで収集されたデータへのアクセスにより、戦略の策定や帆走の向上に役立つ、セーラーがそのパフォーマンスを評価および分析する機会が提供されます。
@@ -1969,6 +1993,7 @@ errorCalculatingPairingListTemplate=対戦表テンプレート {0} の計算中
errorCreatingPairingList=対戦表 {0} の作成中にエラーが発生しました
unexpectedErrorDuringFileImport=ファイルのアップロード時に予期しないエラーが発生しました。
couldNotDownload={0} ファイルをダウンロードできませんでした。
roles=ロール
sliceRace=レースをスライス
slicingARaceWasSuccessful=レースがスライスされました。
enterNameForSlicedRace=スライスするレースの名称を入力してください
@@ -2111,6 +2136,8 @@ qrCodeUnsecureServerRedirect=指定されたリンクは不明なサイト {0}
qrCodeUnsecureServerRedirectTitle={0} 不明なサーバー
qrCodeInfoMessage=モバイルデバイスでこの QR コードをスキャンして登録を続行してください
qrCodeErrorMessage=この機能は現在使用できません
soundOff=サウンドオフ
turnOffAllSoundChannels=すべてのサウンドチャネルをオフ
tag=タグ
tagButtons=タグボタン
tagPanel=タグ
@@ -2196,3 +2223,35 @@ moreLoginInformationSectionSailorProfilesDescription=ログインすると、セ
moreLoginInformationSectionSailorProfilesHeading=セーラープロファイル
confirmDeletion=削除確認
priorityMustBeANonNegativeNumber=優先度はマイナスでない整数である必要があります
selfServiceServer=サーバにセルフサービスがあります
publicServer=サーバがパブリックです
updatedServerSetupError=サーバ設定を更新できませんでした
updatedServerSetup=サーバ設定が更新されました
useExistingUserGroup=既存ユーザグループを使用
useNewUserGroup=既存ユーザグループを使用
currentGroupOwner=現在のグループオーナー
migrateCompetitors=競技者を移行
migrateBoats=艇を移行
migrateHierarchyToGroupOwner=階層をグループオーナーに移行
serverIsPublicButTenantIsNot=このサーバはパブリックとして設定されており、現在のテナントはサーバのものでありません。ユーザが作成したオブジェクトは追加のサーバ設定なしにはパブリックになりません。デフォルトのパブリックサーバシナリオが必要な場合はユーザプロファイルを介してデフォルトのテナントを変更してください。
serverIsPublicButTenantIsNotAndCouldBeChanged=このサーバはパブリックとして設定されており、現在のテナントはサーバのものではありません。作成したオブジェクトは追加のサーバ設定なしにはパブリックにはなりません。デフォルトのテナントを変更する必要がありますか。
copyMembersAndRoles=メンバーとロールをコピー
invalidSecret=無効なシークレット
warningSailInsightVersion=このサーバは SAP Sail Insight 1 で使用するために設定されています。オープンレガッタは SAP Sail Insight 2 でのみサポートされています。これにより使用に問題が生じる可能性があります
invalidState=無効なステータス
doYouReallyWantToRemoveDeviceConfiguration=デバイス設定 {0} を削除しますか
errorFetchingSimulationData=シミュレーションデータのフェッチ時にエラーが発生しました: {0}
usernameAndPasswordMustBothBeSet=ユーザ名とパスワードは両方とも入力するか、両方とも空である必要があります
explainUserName=マスタ上で認証のために使用するユーザ名
explainPassword=マスタ上で認証のために使用するパスワード
addTracTracConnection=TracTrac 接続の追加
editTracTracConnection=TracTrac 接続の編集
filterTracTracConnections=TracTrac 接続のフィルタリング
creatorName=作成者名
addSwissTimingAchivedConnection=SwissTimingArchived 接続の追加
editSwissTimingAchivedConnection=SwissTimingArchived 接続の編集
filterSwissTimingAchivedConnections=SwissTimingArchived 接続のフィルタリング
editSwissTimingConnections=SwissTiming 接続の編集
filterSwissTimingConnections=SwissTiming 接続のフィルタリング
addSwissTimingConnection=SwissTiming 接続の追加
updateURL=URL 更新
@@ -526,6 +526,7 @@ longitude=Longitude
actionAddEvent=Adicionar evento
publicationUrl=URL de publicação
suppress=Suprimir
isListedOnHomepage=Está listado na home page
unsuppress=Anular supressão
suppressedCompetitors=Competidores suprimidos
mediaPanel=Áudio & Vídeo
@@ -1026,6 +1027,7 @@ errorGettingIgtimiAuthorizationUrl=Erro ao obter URL de autorização de Igtimi:
addIgtimiUser=Adicionar usuário de Igtimi
doYouReallyWantToRemoveLeaderboards=Você tem a certeza que quer remover os painéis de classificação?
doYouReallyWantToRemoveNonVisibleLeaderboards=Você está também eliminando painéis de classificação que não estão atualmente visíveis ao filtrar. Os seguintes painéis de classificação serão removidos. Continuar?\n\n{0}
doYouReallyWantToRemoveLeaderboardGroup=Você tem a certeza que quer remover o grupo de painéis de classificação "{0}"?
doYouReallyWantToRemoveLeaderboardGroups=Você tem a certeza que quer remover os grupos de painéis de classificação?
doYouReallyWantToRemoveNonVisibleLeaderboardGroups=Você está também eliminando grupos de painéis de classificação que não estão atualmente visíveis ao filtrar. Os seguintes grupos de painéis de classificação serão removidos. Continuar?\n\n{0}
doYouReallyWantToRemoveTrackedRaces=Você tem a certeza que quer remover as corridas rastreadas?
@@ -1180,6 +1182,24 @@ controlTrackingFromStartAndFinishTimes=Rastreamento de controle das horas de par
canBoatsOfCompetitorsChangePerRace=Os barcos dos competidores podem mudar por corrida
canBoatsChange=Os barcos podem mudar
canNotRegisterBoats=Os barcos só podem ser registrados aqui se puderem mudar por corrida, caso contrário, são registrados juntamente com o competidor.
competitorRegistrationType=Tipo de registro de competidor
competitorRegistrationTypeShort=Registro
competitorRegistrationTypeClosed=encerrado
competitorRegistrationTypeOpenModerated=aberto moderado
competitorRegistrationTypeOpenUnmoderated=aberto não moderado
registrationLink=Link de registro
registrationLinkConfig=Visualizar
registrationLinkDialog=Link de registro para regata aberta
registrationLinkDialogQrcode=Código QR
registrationLinkDialogQrcodeExplain=Você pode baixar a imagem do código QR e colá-la em seu convite.
registrationLinkSecret=Chave secreta
registrationLinkSecretExplain=É adicionada uma cadeia secreta ao link de registro, que é necessária para validar uma solicitação de registro. Links já públicos e códigos QR não funcionarão mais se você modificar esta chave secreta.
registrationLinkSecretGenerate=Gerar
registrationLinkUrl=URL de link de registro
registrationLinkUrlExplain=Você pode copiar o URL e colá-lo em seu convite.
registrationLinkUrlCopy=Copiar para o clipboard
registrationLinkShare=Compartilhar
explainRegistrationLinkDialog=Os competidores para regatas abertas podem se registrar a eles próprios abrindo o link de registro ou digitalizando o código QR abaixo com seu smartphone.
numberOfQueueMessagesSent=Número de mensagens em fila enviadas
totalSize=Tamanho total
averageMessageSize=Tamanho médio por mensagem em bytes
@@ -1222,6 +1242,7 @@ enterImageURL=Inserir URL de imagem...
enterVideoURL=Inserir URL de vídeo...
enterSponsorImageURL=Inserir URL de imagem de patrocinador...
enterRaceName=Inserir nome da corrida...
userGroupManagement=Administração de grupos de usuários
userManagement=Administração de usuários
regattaStructureImport=Importação de estrutura da regata
filteredBy=filtrado por
@@ -1249,6 +1270,9 @@ noFleetsDefined=Nenhuma flotilha definida.
successfullyCreatedRegattas=Regatas criadas com êxito
errorTryingToRegisterRacesForTracking=Erro ao tentar registrar corridas {0} para rastreamento: {1}. Verificar sintaxe de URI ao vivo/armazenado.
errorDeterminingPolarAvailability=Erro ao determinar disponibilidade de dados de carta polar/VPP para corrida {0}: {1}
selectedDetailType=Exibir métrica
errorLoadingAvailableDetailTypes=Erro ao carregar métrica disponível
tailColor=Cor da popa
fileStorage=Armazenamento de arquivos
active=Ativo
scoringSchemeHighPointEssOverallDescription=Pontuação em pontos. O vencedor de uma etapa pontua 10 pontos, o 2º - 9 pontos, .... O desempate na pontuação geral da Extreme Sailing Series é efetuado a favor do competidor com o maior número de vitórias em etapas. Se isso não efetuar o desempate, será utilizado o resultado na última etapa.
@@ -1969,6 +1993,7 @@ errorCalculatingPairingListTemplate=Erro ao calcular modelo da lista de pares: {
errorCreatingPairingList=Erro ao criar lista de pares: {0}
unexpectedErrorDuringFileImport=Ocorreu um erro inesperado durante o carregamento do arquivo.
couldNotDownload=Não foi possível baixar o arquivo: {0}
roles=Funções
sliceRace=Dividir corrida
slicingARaceWasSuccessful=A divisão da corrida foi efetuada com êxito.
enterNameForSlicedRace=Inserir um nome para a corrida a ser dividida
@@ -2111,6 +2136,8 @@ qrCodeUnsecureServerRedirect=O link indicado redirecionará para o site desconhe
qrCodeUnsecureServerRedirectTitle={0} Servidor desconhecido
qrCodeInfoMessage=Digitalize este código QR com seu dispositivo móvel para continuar com o registro
qrCodeErrorMessage=Esta funcionalidade não está disponível no momento!
soundOff=Som desativado
turnOffAllSoundChannels=Desativar todos os canais de som
tag=Etiqueta
tagButtons=Botões de etiqueta
tagPanel=Etiquetas
@@ -2196,3 +2223,35 @@ moreLoginInformationSectionSailorProfilesDescription=Após o logon, você pode a
moreLoginInformationSectionSailorProfilesHeading=Perfis de velejadores
confirmDeletion=Confirmar eliminação
priorityMustBeANonNegativeNumber=A prioridade deve ser um número inteiro não negativo
selfServiceServer=O servidor tem self-service
publicServer=O servidor é público
updatedServerSetupError=Não foi possível atualizar configuração do servidor
updatedServerSetup=Configuração do servidor atualizada
useExistingUserGroup=Utilizar grupo de usuários existente
useNewUserGroup=Utilizar grupo de usuários novo
currentGroupOwner=Proprietário do grupo atual
migrateCompetitors=Migrar competidores
migrateBoats=Migrar barcos
migrateHierarchyToGroupOwner=Migrar hierarquia para proprietário do grupo
serverIsPublicButTenantIsNot=Este servidor está configurado como público, seu inquilino atual não é o do servidor. Os objetos criados por você não serão públicos sem outra configuração do servidor. Modifique seu inquilino padrão mediante o perfil do usuário se pretender um cenário de servidor público padrão.
serverIsPublicButTenantIsNotAndCouldBeChanged=Este servidor está configurado como público, seu inquilino atual não é o do servidor. Os objetos criados por você não serão públicos sem outra configuração do servidor. O inquilino padrão deve ser modificado para você?
copyMembersAndRoles=Copiar membros e funções
invalidSecret=Chave secreta inválida
warningSailInsightVersion=O servidor está configurado para utilização com o SAP Sail Insight 1. As regatas abertas só são suportadas no SAP Sail Insight 2. Isto pode causar problemas na utilização
invalidState=Status inválido
doYouReallyWantToRemoveDeviceConfiguration=Você quer realmente remover a configuração do dispositivo {0}?
errorFetchingSimulationData=Ocorreu um erro ao chamar dados de simulação: {0}
usernameAndPasswordMustBothBeSet=Nome de utilizador e senha devem estar ambos preenchidos ou vazios
explainUserName=Nome de usuário para utilizar para autenticação no mestre
explainPassword=Senha para utilizar para autenticação no mestre
addTracTracConnection=Adicionar conexão TracTrac
editTracTracConnection=Processar conexão TracTrac
filterTracTracConnections=Filtrar conexões TracTrac
creatorName=Nome do autor
addSwissTimingAchivedConnection=Adicionar conexão SwissTimingArchived
editSwissTimingAchivedConnection=Processar conexão SwissTimingArchived
filterSwissTimingAchivedConnections=Filtrar conexões SwissTimingArchived
editSwissTimingConnections=Processar conexão SwissTiming
filterSwissTimingConnections=Filtrar conexões SwissTiming
addSwissTimingConnection=Adicionar conexão SwissTiming
updateURL=Atualizar URL
@@ -526,6 +526,7 @@ longitude=Долгота
actionAddEvent=Добавить событие
publicationUrl=URL-адрес публикации
suppress=Подавлять
isListedOnHomepage=Отображается на начальной странице
unsuppress=Отменить подавление
suppressedCompetitors=Подавляемые участники
mediaPanel=Аудио и видео
@@ -1026,6 +1027,7 @@ errorGettingIgtimiAuthorizationUrl=Ошибка при получении URL-а
addIgtimiUser=Добавить пользователя Igtimi
doYouReallyWantToRemoveLeaderboards=Действительно удалить эти таблицы лидеров?
doYouReallyWantToRemoveNonVisibleLeaderboards=Таблицы лидеров, не отображаемые сейчас из-за фильтрации, также удаляются. Будут удалены следующие таблицы лидеров. Продолжить?\n\n{0}
doYouReallyWantToRemoveLeaderboardGroup=Действительно удалить группу таблиц лидеров "{0}"?
doYouReallyWantToRemoveLeaderboardGroups=Действительно удалить эти группы таблиц лидеров?
doYouReallyWantToRemoveNonVisibleLeaderboardGroups=Группы таблиц лидеров, не отображаемые сейчас из-за фильтрации, также удаляются. Будут удалены следующие группы таблиц лидеров. Продолжить?\n\n{0}
doYouReallyWantToRemoveTrackedRaces=Действительно удалить эти отслеживаемые гонки?
@@ -1180,6 +1182,24 @@ controlTrackingFromStartAndFinishTimes=Контролировать отслеж
canBoatsOfCompetitorsChangePerRace=Участники могут менять лодки в каждой гонке
canBoatsChange=Лодки можно менять
canNotRegisterBoats=Лодки можно регистрировать здесь, только при наличии возможности менять их в каждой гонке. В противном случае они регистрируются вместе с участником.
competitorRegistrationType=Тип регистрации участника
competitorRegistrationTypeShort=Регистрация
competitorRegistrationTypeClosed=закрыто
competitorRegistrationTypeOpenModerated=открыто с модерацией
competitorRegistrationTypeOpenUnmoderated=открыто без модерации
registrationLink=Ссылка для регистрации
registrationLinkConfig=Просмотр
registrationLinkDialog=Ссылка для регистрации в открытой регате
registrationLinkDialogQrcode=QR-код
registrationLinkDialogQrcodeExplain=Вы можете выгрузить изображение QR-кода и вставить его в приглашение.
registrationLinkSecret=Секрет
registrationLinkSecretExplain=Строка секрета добавляется в ссылку для регистрации и требуется для проверки запроса на регистрацию. Если вы измените этот секрет, то существующие общедоступные ссылки и QR-коды перестанут действовать.
registrationLinkSecretGenerate=Сгенерировать
registrationLinkUrl=URL ссылки для регистрации
registrationLinkUrlExplain=Вы можете скопировать этот URL и вставить его в приглашение.
registrationLinkUrlCopy=Копировать в буфер обмена
registrationLinkShare=Поделиться
explainRegistrationLinkDialog=Участники открытых регат могут зарегистрироваться, открыв ссылку для регистрации или отсканировав QR-код ниже со своего смартфона.
numberOfQueueMessagesSent=Число отправленных сообщений очереди
totalSize=Общий размер
averageMessageSize=Средний размер сообщения в байтах
@@ -1222,6 +1242,7 @@ enterImageURL=Ввести URL-адрес изображения...
enterVideoURL=Ввести URL-адрес видео...
enterSponsorImageURL=Ввести URL-адрес изображения спонсора...
enterRaceName=Ввести название гонки...
userGroupManagement=Управление группами пользователей
userManagement=Управление пользователями
regattaStructureImport=Импорт структуры регаты
filteredBy=отфильтровано по
@@ -1249,6 +1270,9 @@ noFleetsDefined=Не определены флоты.
successfullyCreatedRegattas=Регаты успешно созданы
errorTryingToRegisterRacesForTracking=Ошибка при попытке зарегистрировать гонки {0} для отслеживания: {1}. проверьте синтаксис URI оперативных/хранимых данных.
errorDeterminingPolarAvailability=Ошибка при определении доступности полярных/VPP данных для гонки {0}: {1}
selectedDetailType=Показать метрику
errorLoadingAvailableDetailTypes=Ошибка при загрузке доступных метрик
tailColor=Цвет хвоста
fileStorage=Хранилище файлов
active=Активно
scoringSchemeHighPointEssOverallDescription=Оценка в баллах. Победитель в акте получает 10 баллов, 2-й — 9 баллов, .... Любое равенство в общей оценке Extreme Sailing Series разрешается в пользу участника с наибольшим числом побед в актах. В случае равенства числа побед для разрешения используется последний акт.
@@ -1969,6 +1993,7 @@ errorCalculatingPairingListTemplate=Ошибка при вычислении ш
errorCreatingPairingList=Ошибка при создании списка пар: {0}
unexpectedErrorDuringFileImport=При отправке файла возникла непредвиденная ошибка.
couldNotDownload=Не удалось загрузить файл: {0}
roles=Роли
sliceRace=Сделать срезы гонки
slicingARaceWasSuccessful=Срезы гонки сделаны успешно
enterNameForSlicedRace=Введите имя для гонки, по которой требуется сделать срезы
@@ -2111,6 +2136,8 @@ qrCodeUnsecureServerRedirect=Указанная ссылка открывает
qrCodeUnsecureServerRedirectTitle={0} Неизвестный сервер
qrCodeInfoMessage=Отсканируйте этот QR-код с помощью мобильного устройства, чтобы продолжить регистрацию
qrCodeErrorMessage=Приносим извинения, эта функция сейчас недоступна!
soundOff=Выключить звук
turnOffAllSoundChannels=Выключить все звуковые каналы
tag=Тег
tagButtons=Кнопки тегирования
tagPanel=Теги
@@ -2196,3 +2223,35 @@ moreLoginInformationSectionSailorProfilesDescription=После входа в п
moreLoginInformationSectionSailorProfilesHeading=Профили участников гонки
confirmDeletion=Подтвердить удаление
priorityMustBeANonNegativeNumber=Приоритет должен быть не отрицательным целым числом
selfServiceServer=Сервер с самообслуживанием
publicServer=Сервер является общедоступным
updatedServerSetupError=Не удалось обновить настройку сервера
updatedServerSetup=Настройка сервера обновлена
useExistingUserGroup=Используйте существующую группу пользователей
useNewUserGroup=Используйте новую группу пользователей
currentGroupOwner=Владелец текущей группы
migrateCompetitors=Выполнить миграцию участников
migrateBoats=Выполнить миграцию лодок
migrateHierarchyToGroupOwner=Выполнить миграцию иерархии во владельца группы
serverIsPublicButTenantIsNot=Сервер сконфигурирован как общедоступный, ваш текущий тенант не является тенантом сервера. Созданные вами объекты не будут общедоступными без дополнительной настройки конфигурации сервера. Измените тенант по умолчанию через профиль пользователя, если вы хотите использовать сценарий по умолчанию общедоступного сервера.
serverIsPublicButTenantIsNotAndCouldBeChanged=Сервер сконфигурирован как общедоступный, ваш текущий тенант не является тенантом сервера. Созданные вами объекты не будут общедоступными без дополнительной настройки конфигурации сервера. Изменить ваш тенант по умолчанию?
copyMembersAndRoles=Скопировать членов и роли
invalidSecret=Недействительный секрет
warningSailInsightVersion=Сервер сконфигурирован для использования с SAP Sail Insight 1. Открытые регаты поддерживаются только в SAP Sail Insight 2. Это может стать причиной проблем при использовании
invalidState=Недействительный статус
doYouReallyWantToRemoveDeviceConfiguration=Действительно удалить конфигурацию устройства {0}?
errorFetchingSimulationData=Произошла ошибка при вызове данных моделирования: {0}
usernameAndPasswordMustBothBeSet=Имя пользователя и пароль должны быть либо заполненными, либо пустыми
explainUserName=Имя пользователя для аутентификации на главном сервере
explainPassword=Пароль для аутентификации на главном сервере
addTracTracConnection=Добавить соединение TracTrac
editTracTracConnection=Редактировать соединение TracTrac
filterTracTracConnections=Фильтр соединений TracTrac
creatorName=Имя автора
addSwissTimingAchivedConnection=Добавить соединение SwissTimingArchived
editSwissTimingAchivedConnection=Редактировать соединение SwissTimingArchived
filterSwissTimingAchivedConnections=Фильтр соединений SwissTimingArchived
editSwissTimingConnections=Редактировать соединение SwissTiming
filterSwissTimingConnections=Фильтр соединений SwissTiming
addSwissTimingConnection=Добавить соединение SwissTiming
updateURL=Обновить URL
@@ -526,6 +526,7 @@ longitude=经度
actionAddEvent=添加活动
publicationUrl=出版 URL
suppress=禁止
isListedOnHomepage=列在主页中
unsuppress=取消禁止
suppressedCompetitors=禁止的参赛队
mediaPanel=音频和视频
@@ -1026,6 +1027,7 @@ errorGettingIgtimiAuthorizationUrl=获取 Igtimi 权限 URL 出错: {0}
addIgtimiUser=添加 Igtimi 用户
doYouReallyWantToRemoveLeaderboards=是否确定移除积分榜?
doYouReallyWantToRemoveNonVisibleLeaderboards=您还正要删除筛选时目前不可见的积分榜。以下积分榜将移除。是否继续?\n\n{0}
doYouReallyWantToRemoveLeaderboardGroup=是否确定移除积分榜组 "{0}"?
doYouReallyWantToRemoveLeaderboardGroups=是否确定移除积分榜组?
doYouReallyWantToRemoveNonVisibleLeaderboardGroups=您还正要删除筛选时目前不可见的积分榜组。以下积分榜组将移除。是否继续?\n\n{0}
doYouReallyWantToRemoveTrackedRaces=是否确定移除跟踪的比赛轮次?
@@ -1180,6 +1182,24 @@ controlTrackingFromStartAndFinishTimes=从开始和结束时间控制跟踪
canBoatsOfCompetitorsChangePerRace=每个比赛轮次可以更改参赛队的船只
canBoatsChange=可以更改船只
canNotRegisterBoats=仅在每个比赛轮次更改船只时,才可以在此处注册船只;否则,与参赛队同时注册。
competitorRegistrationType=参赛队注册类型
competitorRegistrationTypeShort=注册
competitorRegistrationTypeClosed=不公开
competitorRegistrationTypeOpenModerated=适度公开
competitorRegistrationTypeOpenUnmoderated=不加节制的公开
registrationLink=注册链接
registrationLinkConfig=查看
registrationLinkDialog=公开赛注册链接
registrationLinkDialogQrcode=二维码
registrationLinkDialogQrcodeExplain=您可以下载二维码图像,并将其粘贴到您的邀请中。
registrationLinkSecret=密钥
registrationLinkSecretExplain=密钥字符串添加到验证注册申请所需的注册链接。如果您更改此密钥,公共链接和二维码将不再起作用。
registrationLinkSecretGenerate=生成
registrationLinkUrl=注册链接 URL
registrationLinkUrlExplain=您可以复制此 URL,并将其粘贴到您的邀请中。
registrationLinkUrlCopy=复制到剪贴板
registrationLinkShare=共享
explainRegistrationLinkDialog=公开赛的参赛队可以通过打开注册链接或使用智能手机扫描下方的二维码来注册。
numberOfQueueMessagesSent=发送的队列消息的数量
totalSize=总大小
averageMessageSize=各消息的平均大小(字节)
@@ -1222,6 +1242,7 @@ enterImageURL=输入图像 URL...
enterVideoURL=输入视频 URL...
enterSponsorImageURL=输入赞助商图像 URL...
enterRaceName=输入比赛轮次名称...
userGroupManagement=用户组管理
userManagement=用户管理
regattaStructureImport=比赛结构导入
filteredBy=筛选方式
@@ -1249,6 +1270,9 @@ noFleetsDefined=未定义船队。
successfullyCreatedRegattas=已成功创建比赛
errorTryingToRegisterRacesForTracking=尝试注册比赛轮次{0}用于跟踪出错: {1}。检查实况/存储的 URI 语法。
errorDeterminingPolarAvailability=确定比赛轮次{0}的极坐标/VPP 数据的可用性出错: {1}
selectedDetailType=显示指标
errorLoadingAvailableDetailTypes=加载可用的指标出错
tailColor=尾流线颜色
fileStorage=文件存储
active=已激活
scoringSchemeHighPointEssOverallDescription=得分。 分站赛获胜者得 10 分、第 2 名 9 分、.... 在总体极限帆船系列赛中如有平局,以获得最多分站赛名次的参赛队取得胜利。 如果仍有平局,就以最后一个分站赛的名次打破平局。
@@ -1969,6 +1993,7 @@ errorCalculatingPairingListTemplate=计算配对清单模板出错:{0}
errorCreatingPairingList=创建配对清单出错:{0}
unexpectedErrorDuringFileImport=文件上传期间发生意外错误。
couldNotDownload=无法下载文件:{0}
roles=角色
sliceRace=划分比赛轮次
slicingARaceWasSuccessful=划分比赛轮次成功。
enterNameForSlicedRace=请输入待划分比赛轮次的名称
@@ -2097,7 +2122,7 @@ swissTimingUpdateUsername=用于发送更新的用户名
swissTimingUpdatePassword=用于发送更新的密码
allowResizing=允许重新调整大小
resizeSuccessfull=重新调整大小已成功完成
resizeUnsuccessful=无法重新调整大小 {0}
resizeUnsuccessful=无法重新调整大小:{0}
setUpStorageService=请先设置文件存储服务
automaticResizeNeedsStorageService=自动重新调整大小需要正常运行的 FileStorageService。
qrCodeBoatInviteTitle=您受邀跟踪比赛{1}的船只{0}
@@ -2111,6 +2136,8 @@ qrCodeUnsecureServerRedirect=给定的链接将重定向到未知站点{0},请
qrCodeUnsecureServerRedirectTitle={0}未知服务器
qrCodeInfoMessage=请用移动设备扫描此二维码,继续注册
qrCodeErrorMessage=抱歉,此功能目前无法使用!
soundOff=声音关闭
turnOffAllSoundChannels=关闭所有声道
tag=标记
tagButtons=标记按钮
tagPanel=标记
@@ -2196,3 +2223,35 @@ moreLoginInformationSectionSailorProfilesDescription=登录后,您现在可以
moreLoginInformationSectionSailorProfilesHeading=水手资料
confirmDeletion=确认删除
priorityMustBeANonNegativeNumber=优先级必须是非负整数
selfServiceServer=服务器具有自助服务
publicServer=服务器为公共服务器
updatedServerSetupError=无法更新服务器设置
updatedServerSetup=服务器设置已更新
useExistingUserGroup=使用现有用户组
useNewUserGroup=使用新用户组
currentGroupOwner=当前组所有者
migrateCompetitors=迁移参赛队
migrateBoats=迁移船只
migrateHierarchyToGroupOwner=迁移层次结构至组所有者
serverIsPublicButTenantIsNot=此服务器配置为公共服务器,您当前的托管系统不是公共服务器。如果没有进一步的服务器配置,您创建的对象将不会公开。如果需要默认的公共服务器场景,请通过用户参数文件更改默认托管系统。
serverIsPublicButTenantIsNotAndCouldBeChanged=此服务器配置为公共服务器,您当前的托管系统不是公共服务器。如果没有进一步的服务器配置,您创建的对象将不会公开。是否要为您更改默认托管系统?
copyMembersAndRoles=复制成员和角色
invalidSecret=密钥无效
warningSailInsightVersion=此服务器配置为与 SAP Sail Insight 一起使用 1. 仅 SAP Sail Insight 中支持公开赛 2. 这可能会导致使用中出现问题
invalidState=状态无效
doYouReallyWantToRemoveDeviceConfiguration=是否确定移除设备配置{0}?
errorFetchingSimulationData=获取模拟数据时发生错误:{0}
usernameAndPasswordMustBothBeSet=用户名和密码必须填写或为空
explainUserName=用于在主服务器上进行身份验证的用户名
explainPassword=用于在主服务器上进行身份验证的密码
addTracTracConnection=添加 TracTrac 连接
editTracTracConnection=编辑 TracTrac 连接
filterTracTracConnections=筛选 TracTrac 连接
creatorName=创建者名称
addSwissTimingAchivedConnection=添加 SwissTimingArchived 连接
editSwissTimingAchivedConnection=编辑 SwissTimingArchived 连接
filterSwissTimingAchivedConnections=筛选 SwissTimingArchived 连接
editSwissTimingConnections=编辑 SwissTiming 连接
filterSwissTimingConnections=筛选 SwissTiming 连接
addSwissTimingConnection=添加 SwissTiming 连接
updateURL=更新 URL
@@ -26,6 +26,10 @@ public class TracTracConfigurationWithSecurityDTO implements IsSerializable, Sec
public TracTracConfigurationWithSecurityDTO() {
}
public TracTracConfigurationWithSecurityDTO(String creatorName) {
this.creatorName = creatorName;
}
public TracTracConfigurationWithSecurityDTO(String name, String jsonUrl, String liveDataURI, String storedDataURI,
String courseDesignUpdateUrl, String tractracUsername, String tractracPassword, String creatorName) {
@@ -90,7 +90,7 @@ public class TestWindEstimationFromManeuversOnAFew505Races extends OnlineTracTra
CreateModelException, NotEnoughDataHasBeenAddedException {
setUp("event_20110609_KielerWoch-505_Race_2");
Wind average = getManeuverBasedAverageWind();
assertEquals(235, average.getFrom().getDegrees(), 5.0);
assertEquals(250, average.getFrom().getDegrees(), 10.0);
}
@Test
@@ -108,7 +108,7 @@ public class TestWindEstimationFromManeuversOnAFew505Races extends OnlineTracTra
CreateModelException, NotEnoughDataHasBeenAddedException {
setUp("event_20110609_KielerWoch-505_race_4");
Wind average = getManeuverBasedAverageWind();
assertEquals(265, average.getFrom().getDegrees(), 9.0);
assertEquals(265, average.getFrom().getDegrees(), 10.0);
}
@Test
@@ -63,10 +63,10 @@ public class RefreshableSingleSelectionModel<T> extends SingleSelectionModel<T>
*/
@Override
public void setSelected(T item, boolean selected) {
if (comp == null || dontcheckSelectionState || item == null || getSelectedObject() == null) {
if (getEntityIdentityComparator() == null || dontcheckSelectionState || item == null || getSelectedObject() == null) {
super.setSelected(item, selected);
} else {
if (comp.representSameEntity(getSelectedObject(), item)) {
if (getEntityIdentityComparator().representSameEntity(getSelectedObject(), item)) {
super.setSelected(getSelectedObject(), false); // This old version of item will be deleted with the next clear()
}
super.setSelected(item, selected);
@@ -112,7 +112,7 @@ public class RefreshableSingleSelectionModel<T> extends SingleSelectionModel<T>
if (selected != null) {
clear();
for (final T it : newObjects) {
boolean isEqual = comp == null ? selected.equals(it) : comp.representSameEntity(selected, it);
boolean isEqual = getEntityIdentityComparator() == null ? selected.equals(it) : getEntityIdentityComparator().representSameEntity(selected, it);
if (isEqual) {
setSelected(it, true);
break;
@@ -34,3 +34,7 @@ resetToDefault=Reinicializar los valores predeterminados
resetToDefaultInProgress=Reinicializando...
settingsRemoved=Parametrizaciones por defecto restablecidas
settingsRemovedError=No se han podido restablecer las parametrizaciones por defecto
yes=Sí
no=No
pagerStateInfo={0,number,#,###}-{1,number,#,###} de {2,number,#,###}
pagerStateInfo[false]={0,number,#,###}-{1,number,#,###} de más de {2,number,#,###}
@@ -34,3 +34,7 @@ resetToDefault=Réinitialiser sur les valeurs par défaut
resetToDefaultInProgress=Réinitialisation en cours...
settingsRemoved=Options par défaut restaurées
settingsRemovedError=Impossible de restaurer les options par défaut
yes=Oui
no=Non
pagerStateInfo={0,number,#,###}-{1,number,#,###} sur {2,number,#,###}
pagerStateInfo[false]={0,number,#,###}-{1,number,#,###} sur plus de {2,number,#,###}
@@ -34,3 +34,7 @@ resetToDefault=デフォルトに戻す
resetToDefaultInProgress=リセット中です...
settingsRemoved=デフォルト設定が復元されました
settingsRemovedError=デフォルト設定を復元できませんでした
yes=はい
no=いいえ
pagerStateInfo={2,number,#,###} の {0,number,#,###} ~ {1,number,#,###}
pagerStateInfo[false]={2,number,#,###} 上の {0,number,#,###} ~ {1,number,#,###}
@@ -34,3 +34,7 @@ resetToDefault=Reinicializar para padrão
resetToDefaultInProgress=Na reinicialização...
settingsRemoved=Configurações padrão restauradas
settingsRemovedError=Não foi possível restaurar configurações padrão
yes=Sim
no=Não
pagerStateInfo={0,number,#,###}-{1,number,#,###} de {2,number,#,###}
pagerStateInfo[false]={0,number,#,###}-{1,number,#,###} de mais de {2,number,#,###}
@@ -34,3 +34,7 @@ resetToDefault=Сбросить на значения по умолчанию
resetToDefaultInProgress=Выполняется сброс...
settingsRemoved=Настройки по умолчанию восстановлены
settingsRemovedError=Не удалось восстановить настройки по умолчанию
yes=Да
no=Нет
pagerStateInfo={0,number,#,###}-{1,number,#,###} из {2,number,#,###}
pagerStateInfo[false]={0,number,#,###}-{1,number,#,###} из более чем {2,number,#,###}
@@ -34,3 +34,7 @@ resetToDefault=重置为默认值
resetToDefaultInProgress=正在重置...
settingsRemoved=默认设置已恢复
settingsRemovedError=无法恢复默认设置
yes=是
no=否
pagerStateInfo={0,number,#,###}-{1,number,#,###}/{2,number,#,###}
pagerStateInfo[false]={0,number,#,###}-{1,number,#,###}(超过{2,number,#,###})
@@ -34,6 +34,7 @@ userDetails=Detalles de usuario
deleteUser=Borrar usuario
deleteUserQuestion=¿Desea borrar el usuario?
doYouReallyWantToDeleteUser=¿Está seguro de que desea borrar el usuario {0}?
doYouReallyWantToDeleteNUsers=Do you really want to delete {0} users?
account={0}-Cuenta
save=Grabar
remove=Eliminar
@@ -107,5 +108,85 @@ settingsRemovedError=No se han podido restablecer las parametrizaciones por defe
showMoreInfoLogin=Regístrese para acceder a más funciones
dismiss=Más tarde
moreInfo=Más info
pagerStateInfo={0,number,#,###}-{1,number,#,###} de {2,number,#,###}
pagerStateInfo[false]={0,number,#,###}-{1,number,#,###} de más de {2,number,#,###}
editACL=Edit ACL
errorEditingACL=Error editing access control list (ACL).
editAnACL=Edit an access control list (ACL)
createUserGroup=Create user group
removeUserGroup=Remove user group
youHaveToSelectAUserGroup=You have to select a user group.
doYouReallyWantToRemoveUserGroup=Do you really want to remove user group {0}?
couldNotDeleteUserGroup=Could not delete user group.
filterUserGroups=Filter user groups...
id=ID
displayName=Display Name
userGroups=User Groups
errorTryingToLoadRoles=Error trying to load roles: {0}
filterRoles=Filter roles
actions=Actions
actionEdit=Edit
actionRemove=Remove
actionChangeOwnership=Change ownership
errorUpdatingOwnership=Error updating ownership of object {0}
doYouReallyWantToRemoveRole=Do you really want to remove role(s) "{0}"?
errorTryingToDeleteRole=Error trying to delete role "{0}": {1}
pleaseEnterARoleName=Please enter a role name
editRoles=Edit Roles
otherRoleWithNameAlreadyExists=Another role with name "{0}" already exists.
errorCreatingRole=Error creating role "{0}": {1}
errorEditingRoles=Error editing role "{0}": {1}
usersInUserGroup=Users in user group
allUsers=All users
couldNotAddUserToUserGroup=Could not add user {0} to user group {1}: {2}
couldNotRemoveUserFromUserGroup=Could not remove user {0} from user group {1}: {2}
enterUserGroupName=Enter user group name
defaultTenant=User group to use for object creation
pagerStateInfo={0,number,#,###}-{1,number,#,###} of {2,number,#,###}
pagerStateInfo[false]={0,number,#,###}-{1,number,#,###} of over {2,number,#,###}
yes=Yes
no=No
editUser=Edit User
validated=Validated
groups=Groups
group=Group
errorDeletingUser=Se ha producido un error al borrar el usuario {0}: {1}
doYouReallyWantToRemoveUser=Really remove user {0}?
errorTryingToUpdateUser=Error trying to update user {0}: {1}
ownership=Ownership
editObjectOwnership=Edit object ownership
errorObtainingUser=Error obtaining user: {0}
errorObtainingUserGroup=Error obtaining user group: {0}
pleaseWaitUntilUsernameIsResolved=Please wait until user name is resolved
pleaseWaitUntilUserGroupNameIsResolved=Please wait until user group name is resolved
userNotFound=User {0} not found
usergroupNotFound=User group {0} not found
actionChangeACL=Change ACL
editACLForObject=Edit ACL for ''{0}''
acl=ACL
errorUpdatingAcl=Error updating ACL: {0}.
allowedActionName=Allowed action name
deniedActionName=Denied action name
errorMessageUserGroupNameNotFound=Did not find user group by name {0}.
successMessageAddedUserGroup=Added user group {0}.
successMessageRemovedUserGroup=Removed user group {0}.
allowedActions=Allowed Actions
deniedActions=Denied Actions
migrateGroupOwner=Migrate group owner for hierarchy
errorDeletingUserGroup=Error deleting user group {0}: {1}
enterAtLeastOneOwner=Please enter at least one owner
removeRole=Remove role
addRole=Add role
couldNotAddRoleToGroup=Role {0} could not be added to group {1}.
roleName=Role Name
enabledForAllUsers=Enabled for all users
couldNotDeleteRole=Could not delete role {0}.
couldNotLoadRoles=Could not load roles.
enterUsername=Enter user name
addUser=Add user
couldNotLoadUsers=Could not load users.
couldNotRemoveRoleFromUser=Could not remove role ''{1}'' from user ''{0}''.
couldNotRemovePermissionFromUser=Could not remove permission ''{1}'' from user ''{0}''.
filterPermission=Filter permission
permission=Permission
nullUserGroup=<Anonymous UserGroup>
editRolesAndPermissionsForUser=Edit roles and permissions for user {0}
permissionType:Permission Type
@@ -34,6 +34,7 @@ userDetails=Détails utilisateur
deleteUser=Supprimer utilisateur
deleteUserQuestion=Supprimer l''utilisateur ?
doYouReallyWantToDeleteUser=Souhaitez-vous vraiment supprimer l''utilisateur {0} ?
doYouReallyWantToDeleteNUsers=Do you really want to delete {0} users?
account=Compte {0}
save=Enregistrer
remove=Supprimer
@@ -107,5 +108,85 @@ settingsRemovedError=Impossible de restaurer les options par défaut
showMoreInfoLogin=Connectez-vous pour accéder à davantage de fonctionnalités
dismiss=Plus tard
moreInfo=Plus d''infos
pagerStateInfo={0,number,#,###}-{1,number,#,###} de {2,number,#,###}
pagerStateInfo[false]={0,number,#,###}-{1,number,#,###} de sur {2,number,#,###}
editACL=Edit ACL
errorEditingACL=Error editing access control list (ACL).
editAnACL=Edit an access control list (ACL)
createUserGroup=Create user group
removeUserGroup=Remove user group
youHaveToSelectAUserGroup=You have to select a user group.
doYouReallyWantToRemoveUserGroup=Do you really want to remove user group {0}?
couldNotDeleteUserGroup=Could not delete user group.
filterUserGroups=Filter user groups...
id=ID
displayName=Display Name
userGroups=User Groups
errorTryingToLoadRoles=Error trying to load roles: {0}
filterRoles=Filter roles
actions=Actions
actionEdit=Edit
actionRemove=Remove
actionChangeOwnership=Change ownership
errorUpdatingOwnership=Error updating ownership of object {0}
doYouReallyWantToRemoveRole=Do you really want to remove role(s) "{0}"?
errorTryingToDeleteRole=Error trying to delete role "{0}": {1}
pleaseEnterARoleName=Please enter a role name
editRoles=Edit Roles
otherRoleWithNameAlreadyExists=Another role with name "{0}" already exists.
errorCreatingRole=Error creating role "{0}": {1}
errorEditingRoles=Error editing role "{0}": {1}
usersInUserGroup=Users in user group
allUsers=All users
couldNotAddUserToUserGroup=Could not add user {0} to user group {1}: {2}
couldNotRemoveUserFromUserGroup=Could not remove user {0} from user group {1}: {2}
enterUserGroupName=Enter user group name
defaultTenant=User group to use for object creation
pagerStateInfo={0,number,#,###}-{1,number,#,###} of {2,number,#,###}
pagerStateInfo[false]={0,number,#,###}-{1,number,#,###} of over {2,number,#,###}
yes=Yes
no=No
editUser=Edit User
validated=Validated
groups=Groups
group=Group
errorDeletingUser=Une erreur s''est produite lors de la suppression de l''utilisateur {0}: {1}
doYouReallyWantToRemoveUser=Really remove user {0}?
errorTryingToUpdateUser=Error trying to update user {0}: {1}
ownership=Ownership
editObjectOwnership=Edit object ownership
errorObtainingUser=Error obtaining user: {0}
errorObtainingUserGroup=Error obtaining user group: {0}
pleaseWaitUntilUsernameIsResolved=Please wait until user name is resolved
pleaseWaitUntilUserGroupNameIsResolved=Please wait until user group name is resolved
userNotFound=User {0} not found
usergroupNotFound=User group {0} not found
actionChangeACL=Change ACL
editACLForObject=Edit ACL for ''{0}''
acl=ACL
errorUpdatingAcl=Error updating ACL: {0}.
allowedActionName=Allowed action name
deniedActionName=Denied action name
errorMessageUserGroupNameNotFound=Did not find user group by name {0}.
successMessageAddedUserGroup=Added user group {0}.
successMessageRemovedUserGroup=Removed user group {0}.
allowedActions=Allowed Actions
deniedActions=Denied Actions
migrateGroupOwner=Migrate group owner for hierarchy
errorDeletingUserGroup=Error deleting user group {0}: {1}
enterAtLeastOneOwner=Please enter at least one owner
removeRole=Remove role
addRole=Add role
couldNotAddRoleToGroup=Role {0} could not be added to group {1}.
roleName=Role Name
enabledForAllUsers=Enabled for all users
couldNotDeleteRole=Could not delete role {0}.
couldNotLoadRoles=Could not load roles.
enterUsername=Enter user name
addUser=Add user
couldNotLoadUsers=Could not load users.
couldNotRemoveRoleFromUser=Could not remove role ''{1}'' from user ''{0}''.
couldNotRemovePermissionFromUser=Could not remove permission ''{1}'' from user ''{0}''.
filterPermission=Filter permission
permission=Permission
nullUserGroup=<Anonymous UserGroup>
editRolesAndPermissionsForUser=Edit roles and permissions for user {0}
permissionType:Permission Type
@@ -34,6 +34,7 @@ userDetails=ユーザ詳細
deleteUser=ユーザ削除
deleteUserQuestion=ユーザを削除しますか
doYouReallyWantToDeleteUser=ユーザ {0} を削除しますか
doYouReallyWantToDeleteNUsers=Do you really want to delete {0} users?
account={0} アカウント
save=保存
remove=削除
@@ -107,5 +108,84 @@ settingsRemovedError=デフォルト設定を復元できませんでした
showMoreInfoLogin=サインインして追加機能へのアクセス権限を取得してください
dismiss=後で
moreInfo=追加情報
pagerStateInfo={2,number,#,###} の {0,number,#,###}-{1,number,#,###}
pagerStateInfo[false]={2,number,#,###} 超の {0,number,#,###}-{1,number,#,###}
editACL=Edit ACL
errorEditingACL=Error editing access control list (ACL).
editAnACL=Edit an access control list (ACL)
createUserGroup=Create user group
removeUserGroup=Remove user group
youHaveToSelectAUserGroup=You have to select a user group.
doYouReallyWantToRemoveUserGroup=Do you really want to remove user group {0}?
couldNotDeleteUserGroup=Could not delete user group.
filterUserGroups=Filter user groups...
id=ID
displayName=Display Name
userGroups=User Groups
errorTryingToLoadRoles=Error trying to load roles: {0}
filterRoles=Filter roles
actions=Actions
actionEdit=Edit
actionRemove=Remove
actionChangeOwnership=Change ownership
errorUpdatingOwnership=Error updating ownership of object {0}
doYouReallyWantToRemoveRole=Do you really want to remove role(s) "{0}"?
errorTryingToDeleteRole=Error trying to delete role "{0}": {1}
pleaseEnterARoleName=Please enter a role name
editRoles=Edit Roles
otherRoleWithNameAlreadyExists=Another role with name "{0}" already exists.
errorCreatingRole=Error creating role "{0}": {1}
errorEditingRoles=Error editing role "{0}": {1}
usersInUserGroup=Users in user group
allUsers=All users
couldNotAddUserToUserGroup=Could not add user {0} to user group {1}: {2}
couldNotRemoveUserFromUserGroup=Could not remove user {0} from user group {1}: {2}
enterUserGroupName=Enter user group name
defaultTenant=User group to use for object creation
pagerStateInfo={0,number,#,###}-{1,number,#,###} of {2,number,#,###}
pagerStateInfo[false]={0,number,#,###}-{1,number,#,###} of over {2,number,#,###}
yes=Yes
no=No
editUser=Edit User
validated=Validated
groups=Groups
group=Group
doYouReallyWantToRemoveUser=Really remove user {0}?
errorTryingToUpdateUser=Error trying to update user {0}: {1}
ownership=Ownership
editObjectOwnership=Edit object ownership
errorObtainingUser=Error obtaining user: {0}
errorObtainingUserGroup=Error obtaining user group: {0}
pleaseWaitUntilUsernameIsResolved=Please wait until user name is resolved
pleaseWaitUntilUserGroupNameIsResolved=Please wait until user group name is resolved
userNotFound=User {0} not found
usergroupNotFound=User group {0} not found
actionChangeACL=Change ACL
editACLForObject=Edit ACL for ''{0}''
acl=ACL
errorUpdatingAcl=Error updating ACL: {0}.
allowedActionName=Allowed action name
deniedActionName=Denied action name
errorMessageUserGroupNameNotFound=Did not find user group by name {0}.
successMessageAddedUserGroup=Added user group {0}.
successMessageRemovedUserGroup=Removed user group {0}.
allowedActions=Allowed Actions
deniedActions=Denied Actions
migrateGroupOwner=Migrate group owner for hierarchy
errorDeletingUserGroup=Error deleting user group {0}: {1}
enterAtLeastOneOwner=Please enter at least one owner
removeRole=Remove role
addRole=Add role
couldNotAddRoleToGroup=Role {0} could not be added to group {1}.
roleName=Role Name
enabledForAllUsers=Enabled for all users
couldNotDeleteRole=Could not delete role {0}.
couldNotLoadRoles=Could not load roles.
enterUsername=Enter user name
addUser=Add user
couldNotLoadUsers=Could not load users.
couldNotRemoveRoleFromUser=Could not remove role ''{1}'' from user ''{0}''.
couldNotRemovePermissionFromUser=Could not remove permission ''{1}'' from user ''{0}''.
filterPermission=Filter permission
permission=Permission
nullUserGroup=<Anonymous UserGroup>
editRolesAndPermissionsForUser=Edit roles and permissions for user {0}
permissionType:Permission Type
@@ -34,6 +34,7 @@ userDetails=Detalhes do usuário
deleteUser=Eliminar usuário
deleteUserQuestion=Eliminar usuário?
doYouReallyWantToDeleteUser=Eliminar o usuário {0}?
doYouReallyWantToDeleteNUsers=Do you really want to delete {0} users?
account=Conta {0}
save=Gravar
remove=Eliminar
@@ -107,5 +108,85 @@ settingsRemovedError=Não foi possível restaurar configurações padrão
showMoreInfoLogin=Efetue o logon para obter acesso a mais funcionalidades
dismiss=Mais tarde
moreInfo=Mais informação
pagerStateInfo={0,number,#,###}-{1,number,#,###} de {2,number,#,###}
pagerStateInfo[false]={0,number,#,###}-{1,number,#,###} de mais de {2,number,#,###}
editACL=Edit ACL
errorEditingACL=Error editing access control list (ACL).
editAnACL=Edit an access control list (ACL)
createUserGroup=Create user group
removeUserGroup=Remove user group
youHaveToSelectAUserGroup=You have to select a user group.
doYouReallyWantToRemoveUserGroup=Do you really want to remove user group {0}?
couldNotDeleteUserGroup=Could not delete user group.
filterUserGroups=Filter user groups...
id=ID
displayName=Display Name
userGroups=User Groups
errorTryingToLoadRoles=Error trying to load roles: {0}
filterRoles=Filter roles
actions=Actions
actionEdit=Edit
actionRemove=Remove
actionChangeOwnership=Change ownership
errorUpdatingOwnership=Error updating ownership of object {0}
doYouReallyWantToRemoveRole=Do you really want to remove role(s) "{0}"?
errorTryingToDeleteRole=Error trying to delete role "{0}": {1}
pleaseEnterARoleName=Please enter a role name
editRoles=Edit Roles
otherRoleWithNameAlreadyExists=Another role with name "{0}" already exists.
errorCreatingRole=Error creating role "{0}": {1}
errorEditingRoles=Error editing role "{0}": {1}
usersInUserGroup=Users in user group
allUsers=All users
couldNotAddUserToUserGroup=Could not add user {0} to user group {1}: {2}
couldNotRemoveUserFromUserGroup=Could not remove user {0} from user group {1}: {2}
enterUserGroupName=Enter user group name
defaultTenant=User group to use for object creation
pagerStateInfo={0,number,#,###}-{1,number,#,###} of {2,number,#,###}
pagerStateInfo[false]={0,number,#,###}-{1,number,#,###} of over {2,number,#,###}
yes=Yes
no=No
editUser=Edit User
validated=Validated
groups=Groups
group=Group
errorDeletingUser=Ocorreu um erro ao eliminar o usuário {0}: {1}
doYouReallyWantToRemoveUser=Really remove user {0}?
errorTryingToUpdateUser=Error trying to update user {0}: {1}
ownership=Ownership
editObjectOwnership=Edit object ownership
errorObtainingUser=Error obtaining user: {0}
errorObtainingUserGroup=Error obtaining user group: {0}
pleaseWaitUntilUsernameIsResolved=Please wait until user name is resolved
pleaseWaitUntilUserGroupNameIsResolved=Please wait until user group name is resolved
userNotFound=User {0} not found
usergroupNotFound=User group {0} not found
actionChangeACL=Change ACL
editACLForObject=Edit ACL for ''{0}''
acl=ACL
errorUpdatingAcl=Error updating ACL: {0}.
allowedActionName=Allowed action name
deniedActionName=Denied action name
errorMessageUserGroupNameNotFound=Did not find user group by name {0}.
successMessageAddedUserGroup=Added user group {0}.
successMessageRemovedUserGroup=Removed user group {0}.
allowedActions=Allowed Actions
deniedActions=Denied Actions
migrateGroupOwner=Migrate group owner for hierarchy
errorDeletingUserGroup=Error deleting user group {0}: {1}
enterAtLeastOneOwner=Please enter at least one owner
removeRole=Remove role
addRole=Add role
couldNotAddRoleToGroup=Role {0} could not be added to group {1}.
roleName=Role Name
enabledForAllUsers=Enabled for all users
couldNotDeleteRole=Could not delete role {0}.
couldNotLoadRoles=Could not load roles.
enterUsername=Enter user name
addUser=Add user
couldNotLoadUsers=Could not load users.
couldNotRemoveRoleFromUser=Could not remove role ''{1}'' from user ''{0}''.
couldNotRemovePermissionFromUser=Could not remove permission ''{1}'' from user ''{0}''.
filterPermission=Filter permission
permission=Permission
nullUserGroup=<Anonymous UserGroup>
editRolesAndPermissionsForUser=Edit roles and permissions for user {0}
permissionType:Permission Type
@@ -34,6 +34,7 @@ userDetails=Данные пользователя
deleteUser=Удалить пользователя
deleteUserQuestion=Удалить пользователя?
doYouReallyWantToDeleteUser=Действительно удалить пользователя {0}?
doYouReallyWantToDeleteNUsers=Do you really want to delete {0} users?
account={0}-учетная запись
save=Сохранить
remove=Удалить
@@ -107,5 +108,85 @@ settingsRemovedError=Не удалось восстановить настрой
showMoreInfoLogin=Выполните вход, чтобы получить доступ к дополнительным функциям
dismiss=Позже
moreInfo=Дополнительная информация
pagerStateInfo={0,number,#,###}-{1,number,#,###} из {2,number,#,###}
pagerStateInfo[false]={0,number,#,###}-{1,number,#,###} из {2,number,#,###}
editACL=Edit ACL
errorEditingACL=Error editing access control list (ACL).
editAnACL=Edit an access control list (ACL)
createUserGroup=Create user group
removeUserGroup=Remove user group
youHaveToSelectAUserGroup=You have to select a user group.
doYouReallyWantToRemoveUserGroup=Do you really want to remove user group {0}?
couldNotDeleteUserGroup=Could not delete user group.
filterUserGroups=Filter user groups...
id=ID
displayName=Display Name
userGroups=User Groups
errorTryingToLoadRoles=Error trying to load roles: {0}
filterRoles=Filter roles
actions=Actions
actionEdit=Edit
actionRemove=Remove
actionChangeOwnership=Change ownership
errorUpdatingOwnership=Error updating ownership of object {0}
doYouReallyWantToRemoveRole=Do you really want to remove role(s) "{0}"?
errorTryingToDeleteRole=Error trying to delete role "{0}": {1}
pleaseEnterARoleName=Please enter a role name
editRoles=Edit Roles
otherRoleWithNameAlreadyExists=Another role with name "{0}" already exists.
errorCreatingRole=Error creating role "{0}": {1}
errorEditingRoles=Error editing role "{0}": {1}
usersInUserGroup=Users in user group
allUsers=All users
couldNotAddUserToUserGroup=Could not add user {0} to user group {1}: {2}
couldNotRemoveUserFromUserGroup=Could not remove user {0} from user group {1}: {2}
enterUserGroupName=Enter user group name
defaultTenant=User group to use for object creation
pagerStateInfo={0,number,#,###}-{1,number,#,###} of {2,number,#,###}
pagerStateInfo[false]={0,number,#,###}-{1,number,#,###} of over {2,number,#,###}
yes=Yes
no=No
editUser=Edit User
validated=Validated
groups=Groups
group=Group
errorDeletingUser=При удалении пользователя {0} возникла ошибка: {1}
doYouReallyWantToRemoveUser=Really remove user {0}?
errorTryingToUpdateUser=Error trying to update user {0}: {1}
ownership=Ownership
editObjectOwnership=Edit object ownership
errorObtainingUser=Error obtaining user: {0}
errorObtainingUserGroup=Error obtaining user group: {0}
pleaseWaitUntilUsernameIsResolved=Please wait until user name is resolved
pleaseWaitUntilUserGroupNameIsResolved=Please wait until user group name is resolved
userNotFound=User {0} not found
usergroupNotFound=User group {0} not found
actionChangeACL=Change ACL
editACLForObject=Edit ACL for ''{0}''
acl=ACL
errorUpdatingAcl=Error updating ACL: {0}.
allowedActionName=Allowed action name
deniedActionName=Denied action name
errorMessageUserGroupNameNotFound=Did not find user group by name {0}.
successMessageAddedUserGroup=Added user group {0}.
successMessageRemovedUserGroup=Removed user group {0}.
allowedActions=Allowed Actions
deniedActions=Denied Actions
migrateGroupOwner=Migrate group owner for hierarchy
errorDeletingUserGroup=Error deleting user group {0}: {1}
enterAtLeastOneOwner=Please enter at least one owner
removeRole=Remove role
addRole=Add role
couldNotAddRoleToGroup=Role {0} could not be added to group {1}.
roleName=Role Name
enabledForAllUsers=Enabled for all users
couldNotDeleteRole=Could not delete role {0}.
couldNotLoadRoles=Could not load roles.
enterUsername=Enter user name
addUser=Add user
couldNotLoadUsers=Could not load users.
couldNotRemoveRoleFromUser=Could not remove role ''{1}'' from user ''{0}''.
couldNotRemovePermissionFromUser=Could not remove permission ''{1}'' from user ''{0}''.
filterPermission=Filter permission
permission=Permission
nullUserGroup=<Anonymous UserGroup>
editRolesAndPermissionsForUser=Edit roles and permissions for user {0}
permissionType:Permission Type
@@ -34,6 +34,7 @@ userDetails=用户详细信息
deleteUser=删除用户
deleteUserQuestion=是否删除用户?
doYouReallyWantToDeleteUser=是否确定删除用户{0}?
doYouReallyWantToDeleteNUsers=Do you really want to delete {0} users?
account={0} 账户
save=保存
remove=移除
@@ -107,5 +108,84 @@ settingsRemovedError=无法恢复默认设置
showMoreInfoLogin=请登录,以访问更多功能
dismiss=稍后
moreInfo=更多信息
pagerStateInfo={0,number,#,###}-{1,number,#,###}/{2,number,#,###}
pagerStateInfo[false]={0,number,#,###}-{1,number,#,###}/{2,number,#,###} 以上
editACL=Edit ACL
errorEditingACL=Error editing access control list (ACL).
editAnACL=Edit an access control list (ACL)
createUserGroup=Create user group
removeUserGroup=Remove user group
youHaveToSelectAUserGroup=You have to select a user group.
doYouReallyWantToRemoveUserGroup=Do you really want to remove user group {0}?
couldNotDeleteUserGroup=Could not delete user group.
filterUserGroups=Filter user groups...
id=ID
displayName=Display Name
userGroups=User Groups
errorTryingToLoadRoles=Error trying to load roles: {0}
filterRoles=Filter roles
actions=Actions
actionEdit=Edit
actionRemove=Remove
actionChangeOwnership=Change ownership
errorUpdatingOwnership=Error updating ownership of object {0}
doYouReallyWantToRemoveRole=Do you really want to remove role(s) "{0}"?
errorTryingToDeleteRole=Error trying to delete role "{0}": {1}
pleaseEnterARoleName=Please enter a role name
editRoles=Edit Roles
otherRoleWithNameAlreadyExists=Another role with name "{0}" already exists.
errorCreatingRole=Error creating role "{0}": {1}
errorEditingRoles=Error editing role "{0}": {1}
usersInUserGroup=Users in user group
allUsers=All users
couldNotAddUserToUserGroup=Could not add user {0} to user group {1}: {2}
couldNotRemoveUserFromUserGroup=Could not remove user {0} from user group {1}: {2}
enterUserGroupName=Enter user group name
defaultTenant=User group to use for object creation
pagerStateInfo={0,number,#,###}-{1,number,#,###} of {2,number,#,###}
pagerStateInfo[false]={0,number,#,###}-{1,number,#,###} of over {2,number,#,###}
yes=Yes
no=No
editUser=Edit User
validated=Validated
groups=Groups
group=Group
doYouReallyWantToRemoveUser=Really remove user {0}?
errorTryingToUpdateUser=Error trying to update user {0}: {1}
ownership=Ownership
editObjectOwnership=Edit object ownership
errorObtainingUser=Error obtaining user: {0}
errorObtainingUserGroup=Error obtaining user group: {0}
pleaseWaitUntilUsernameIsResolved=Please wait until user name is resolved
pleaseWaitUntilUserGroupNameIsResolved=Please wait until user group name is resolved
userNotFound=User {0} not found
usergroupNotFound=User group {0} not found
actionChangeACL=Change ACL
editACLForObject=Edit ACL for ''{0}''
acl=ACL
errorUpdatingAcl=Error updating ACL: {0}.
allowedActionName=Allowed action name
deniedActionName=Denied action name
errorMessageUserGroupNameNotFound=Did not find user group by name {0}.
successMessageAddedUserGroup=Added user group {0}.
successMessageRemovedUserGroup=Removed user group {0}.
allowedActions=Allowed Actions
deniedActions=Denied Actions
migrateGroupOwner=Migrate group owner for hierarchy
errorDeletingUserGroup=Error deleting user group {0}: {1}
enterAtLeastOneOwner=Please enter at least one owner
removeRole=Remove role
addRole=Add role
couldNotAddRoleToGroup=Role {0} could not be added to group {1}.
roleName=Role Name
enabledForAllUsers=Enabled for all users
couldNotDeleteRole=Could not delete role {0}.
couldNotLoadRoles=Could not load roles.
enterUsername=Enter user name
addUser=Add user
couldNotLoadUsers=Could not load users.
couldNotRemoveRoleFromUser=Could not remove role ''{1}'' from user ''{0}''.
couldNotRemovePermissionFromUser=Could not remove permission ''{1}'' from user ''{0}''.
filterPermission=Filter permission
permission=Permission
nullUserGroup=<Anonymous UserGroup>
editRolesAndPermissionsForUser=Edit roles and permissions for user {0}
permissionType:Permission Type
+66
View File
@@ -177,6 +177,72 @@
"pseudoLocFolderPath":"."
}
]
},
{
"collectionName":"BuoyPingerAppAndroid",
"folders":[
{
"startingFolderPath": "mobile/com.sap.sailing.android.buoy.positioning.app/res/values/**",
"sourceFilters":["strings.xml"],
"targetFolderPath":"../values-[langCode]",
"targetFileNamingConvention":"[filename].[extension]"
}
]
},
{
"collectionName":"BuoyPingerAppAndroid",
"folders":[
{
"startingFolderPath": "mobile/com.sap.sailing.android.buoy.positioning.app/res/values-land/**",
"sourceFilters":["strings.xml"],
"targetFolderPath":"../values-[langCode]-land",
"targetFileNamingConvention":"[filename].[extension]"
}
]
},
{
"collectionName":"RaceManagerAppAndroid",
"folders":[
{
"startingFolderPath": "mobile/com.sap.sailing.racecommittee.app/res/**",
"sourceFilters":["strings.xml"],
"targetFolderPath":"../values-[langCode]",
"targetFileNamingConvention":"[filename].[extension]"
}
]
},
{
"collectionName":"SailInsightAppAndroid",
"folders":[
{
"startingFolderPath": "mobile/com.sap.sailing.android.tracking.app/res/**",
"sourceFilters":["strings.xml"],
"targetFolderPath":"../values-[langCode]",
"targetFileNamingConvention":"[filename].[extension]"
}
]
},
{
"collectionName":"AndroidAppsShared",
"folders":[
{
"startingFolderPath": "mobile/com.sap.sailing.android.shared/res/**",
"sourceFilters":["strings.xml"],
"targetFolderPath":"../values-[langCode]",
"targetFileNamingConvention":"[filename].[extension]"
}
]
},
{
"collectionName":"SailInsightAppIOS",
"folders":[
{
"startingFolderPath": "ios/SAPTracker/src/xcode/SAPTracker/**",
"sourceFilters":["*.strings"],
"targetFolderPath":"../[langCode].lproj",
"targetFileNamingConvention":"[filename].[extension]"
}
]
}
],
"defaultConfiguration":{