Merge branch 'master' into foiling

Conflicts:
	java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.java
	java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.properties
	java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_de.properties
This commit is contained in:
Steffen Schaefer
2016-04-28 08:26:11 +02:00
80 changed files with 11709 additions and 1928 deletions
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1,3 @@
eclipse.preferences.version=1
encoding//src/main/java/com/sap/sailing/dashboards/gwt/client/i18n/StringMessages.properties=UTF-8
encoding//src/main/java/com/sap/sailing/dashboards/gwt/client/i18n/StringMessages_de.properties=UTF-8
@@ -11,6 +11,7 @@ Export-Package: com.sap.sailing.domain.common,
com.sap.sailing.domain.common.confidence,
com.sap.sailing.domain.common.confidence.impl,
com.sap.sailing.domain.common.dto,
com.sap.sailing.domain.common.i18n,
com.sap.sailing.domain.common.impl,
com.sap.sailing.domain.common.media,
com.sap.sailing.domain.common.quadtree,
@@ -38,7 +38,7 @@ public enum BoatClassMasterdata {
FARR_30 ("Farr 30", true, 9.42, 3.08, BoatHullType.MONOHULL, true, "F30", "F-30", "Farr-30"),
FARR_280 ("Farr 280", true, 8.72, 2.87, BoatHullType.MONOHULL, true, "F280", "F-280", "Farr-280"),
FINN ("Finn", true, 4.50, 1.51, BoatHullType.MONOHULL, false),
FLYING_DUTCHMAN ("Flying Dutchman", true, 6.10, 1.80, BoatHullType.MONOHULL, true),
FLYING_DUTCHMAN ("Flying Dutchman", true, 6.10, 1.80, BoatHullType.MONOHULL, true, "FD"),
FLYING_PHANTOM ("Flying Phantom", true, 5.52, 3.00, BoatHullType.CATAMARAN, true),
FOLKBOAT ("Folkboat", true, 7.68, 2.20, BoatHullType.MONOHULL, false, "Folke", "Folkeboot"),
FUN ("FUN", true, 7.20, 2.45, BoatHullType.MONOHULL, true, "FUN O.D.", "FUN OD", "Open FUN"),
@@ -4,14 +4,40 @@ import java.io.Serializable;
import java.util.UUID;
public interface DataImportProgress extends Serializable {
/**
* Helper for i18n of import sub progresses messages. A method according to the messageKey is required
* in com.sap.sailing.gwt.ui.masterdataimport.MasterDataImportSubProgressMessages interface.
*/
enum SubProgress {
CONNECTION_SETUP("connectionSetup"),
CONNECTION_ESTABLISH("connectionEstablish"),
TRANSFER_STARTED("transferStarted"),
TRANSFER_COMPLETED("transferCompleted"),
IMPORT_INIT("importInit"),
IMPORT_WAIT("importWait"),
IMPORT_LEADERBOARD_GROUPS("importLeaderboardGroups"),
IMPORT_WIND_TRACKS("importWindTracks"),
UPDATE_EVENT_LEADERBOARD_GROUP_LINKS("updateEventLeaderboardGroupLinks");
private final String messageKey;
private SubProgress(String messageKey) {
this.messageKey = messageKey;
}
public String getMessageKey() {
return messageKey;
}
}
double getOverallProgressPct();
void setOverAllProgressPct(double pct);
String getNameOfCurrentSubProgress();
void setNameOfCurrentSubProgress(String name);
DataImportSubProgress getCurrentSubProgress();
void setCurrentSubProgress(DataImportSubProgress subProgress);
double getCurrentSubProgressPct();
@@ -0,0 +1,70 @@
package com.sap.sailing.domain.common;
import com.sap.sailing.domain.common.i18n.CommonStringMessages;
public enum DataImportSubProgress {
INIT {
@Override
public String getMessage(CommonStringMessages messages) {
return messages.init();
}
},
CONNECTION_SETUP {
@Override
public String getMessage(CommonStringMessages messages) {
return messages.connectionSetup();
}
},
CONNECTION_ESTABLISH {
@Override
public String getMessage(CommonStringMessages messages) {
return messages.connectionEstablish();
}
},
TRANSFER_STARTED {
@Override
public String getMessage(CommonStringMessages messages) {
return messages.transferStarted();
}
},
TRANSFER_COMPLETED {
@Override
public String getMessage(CommonStringMessages messages) {
return messages.transferCompleted();
}
},
IMPORT_INIT {
@Override
public String getMessage(CommonStringMessages messages) {
return messages.importInit();
}
},
IMPORT_WAIT {
@Override
public String getMessage(CommonStringMessages messages) {
return messages.importWait();
}
},
IMPORT_LEADERBOARD_GROUPS {
@Override
public String getMessage(CommonStringMessages messages) {
return messages.importLeaderboardGroups();
}
},
IMPORT_WIND_TRACKS {
@Override
public String getMessage(CommonStringMessages messages) {
return messages.importWindTracks();
}
},
UPDATE_EVENT_LEADERBOARD_GROUP_LINKS {
@Override
public String getMessage(CommonStringMessages messages) {
return messages.updateEventLeaderboardGroupLinks();
}
};
public abstract String getMessage(CommonStringMessages messages);
}
@@ -0,0 +1,17 @@
package com.sap.sailing.domain.common.i18n;
public interface CommonStringMessages {
/* Master data import sub progress messages */
String init();
String connectionSetup();
String connectionEstablish();
String transferStarted();
String transferCompleted();
String importInit();
String importWait();
String importLeaderboardGroups();
String importWindTracks();
String updateEventLeaderboardGroupLinks();
}
@@ -3,6 +3,7 @@ package com.sap.sailing.domain.common.impl;
import java.util.UUID;
import com.sap.sailing.domain.common.DataImportProgress;
import com.sap.sailing.domain.common.DataImportSubProgress;
import com.sap.sailing.domain.common.MasterDataImportObjectCreationCount;
public class DataImportProgressImpl implements DataImportProgress {
@@ -11,7 +12,7 @@ public class DataImportProgressImpl implements DataImportProgress {
private UUID currentImportOperationId;
private MasterDataImportObjectCreationCount result = null;
private double overallProgressPct = 0;
private String currentSubProgressName = "Initializing Import";
private DataImportSubProgress currentSubProgress = DataImportSubProgress.IMPORT_INIT;
private double currentSubProgressPct = 0;
private boolean failed = false;
private String errorMessage;
@@ -21,17 +22,16 @@ public class DataImportProgressImpl implements DataImportProgress {
public DataImportProgressImpl(final UUID currentImportOperationId) {
this.currentImportOperationId = currentImportOperationId;
}
@Override
public double getOverallProgressPct() {
return overallProgressPct;
}
@Override
public String getNameOfCurrentSubProgress() {
return currentSubProgressName;
public DataImportSubProgress getCurrentSubProgress() {
return currentSubProgress;
}
@Override
@@ -48,10 +48,10 @@ public class DataImportProgressImpl implements DataImportProgress {
public void setOverAllProgressPct(double pct) {
overallProgressPct = pct;
}
@Override
public void setNameOfCurrentSubProgress(String name) {
currentSubProgressName = name;
public void setCurrentSubProgress(DataImportSubProgress subProgress) {
currentSubProgress = subProgress;
}
@Override
@@ -1,6 +1,5 @@
package com.sap.sailing.domain.common.racelog.tracking;
import com.sap.sailing.domain.common.racelog.RaceLogServletConstants;
import com.sap.sse.common.util.UrlHelper;
/**
@@ -39,44 +38,16 @@ public class DeviceMappingConstants {
public static final String JSON_TO_MILLIS = "toMillis";
public static final String JSON_TEAM_IMAGE_URI = "teamImageUri";
@Deprecated
static final String APK_PATH = "/apps/com.sap.sailing.android.tracking.app.apk";
public static String getDeviceMappingForRegattaLogUrl(String serverUrlWithoutTrailingSlash, String eventId,
String leaderboardName, String mappedItemType, String mappedItemId, UrlHelper helper) {
return helper.encodeUrl(serverUrlWithoutTrailingSlash + TRACKING_URL_BASE + "?" + URL_EVENT_ID + "=" + eventId + "&"
+ URL_LEADERBOARD_NAME + "=" + leaderboardName + "&" + mappedItemType + "="
+ mappedItemId);
return serverUrlWithoutTrailingSlash + TRACKING_URL_BASE + "?" + URL_EVENT_ID + "=" + helper.encodeQueryString(eventId) + "&"
+ URL_LEADERBOARD_NAME + "=" + helper.encodeQueryString(leaderboardName) + "&" + helper.encodeQueryString(mappedItemType) + "="
+ helper.encodeQueryString(mappedItemId);
}
public static String getBuoyTenderInvitationUrl(String serverUrlWithoutTrailingSlash,
String leaderboardName, String eventId, UrlHelper helper) {
return helper.encodeUrl(serverUrlWithoutTrailingSlash + BUOY_TENDER_URL_BASE + "?" + URL_EVENT_ID + "="
+ eventId + "&" + URL_LEADERBOARD_NAME + "=" + leaderboardName);
}
@Deprecated
public static String getDeviceMappingForRaceLogUrl(String serverUrlWithoutTrailingSlash, String leaderboardName,
String raceColumnName, String fleetName, String mappedItemType, String mappedItemId, Long fromMillis,
Long toMillis, UrlHelper helper) throws QRCodeURLCreationException {
if (toMillis != null && fromMillis != null){
if (fromMillis > toMillis) {
throw new QRCodeURLCreationException("from can't lie after to");
}
}
StringBuilder urlToEncode = new StringBuilder();
urlToEncode.append(serverUrlWithoutTrailingSlash + DeviceMappingConstants.APK_PATH + "?"
+ RaceLogServletConstants.PARAMS_LEADERBOARD_NAME + "=" + leaderboardName + "&"
+ RaceLogServletConstants.PARAMS_RACE_COLUMN_NAME + "=" + raceColumnName + "&"
+ RaceLogServletConstants.PARAMS_RACE_FLEET_NAME + "=" + fleetName + "&" + mappedItemType + "="
+ mappedItemId);
urlToEncode.append((fromMillis != null) ? "&" + DeviceMappingConstants.URL_FROM_MILLIS + "=" + fromMillis : "");
urlToEncode.append((toMillis != null) ? "&" + DeviceMappingConstants.URL_TO_MILLIS + "=" + toMillis : "");
return helper.encodeUrl(urlToEncode.toString());
return serverUrlWithoutTrailingSlash + BUOY_TENDER_URL_BASE + "?" + URL_EVENT_ID + "="
+ helper.encodeQueryString(eventId) + "&" + URL_LEADERBOARD_NAME + "=" + helper.encodeQueryString(leaderboardName);
}
}
@@ -391,14 +391,10 @@ public class RaceLogTrackingAdapterImpl implements RaceLogTrackingAdapter {
@Override
public void inviteBuoyTenderViaEmail(Event event, Leaderboard leaderboard, String serverUrlWithoutTrailingSlash,
String emails, String iOSAppUrl, String androidAppUrl, Locale locale) throws MailException {
StringBuilder occuredExceptions = new StringBuilder();
String[] emailArray = emails.split(",");
String leaderboardName = leaderboard.getName();
String eventId = event.getId().toString();
String logoUrl = null;
List<ImageDescriptor> imagesWithTag = event.findImagesWithTag(MediaTagConstants.LOGO);
if (imagesWithTag != null && !imagesWithTag.isEmpty()) {
@@ -417,7 +413,6 @@ public class RaceLogTrackingAdapterImpl implements RaceLogTrackingAdapter {
occuredExceptions.append(e.getMessage() + "\r\n");
}
}
if (!(occuredExceptions.length() == 0)) {
throw new MailException(occuredExceptions.toString());
}
@@ -29,7 +29,7 @@ public interface CandidateFinder {
*/
Util.Pair<Iterable<Candidate>, Iterable<Candidate>> getAllCandidates(Competitor c);
Map<Competitor, Util.Pair<List<Candidate>, List<Candidate>>> updateWaypoints(Iterable<Waypoint> addedWaypoints, Iterable<Waypoint> removedWaypoints, Integer smallestIndex);
Map<Competitor, Util.Pair<List<Candidate>, List<Candidate>>> updateWaypoints(Iterable<Waypoint> addedWaypoints, Iterable<Waypoint> removedWaypoints, int smallestIndex);
/**
* @return The fixes for each Competitor that may have changed their status as a {@link Candidate} because of new
@@ -28,6 +28,7 @@ import com.sap.sse.common.TimePoint;
import com.sap.sse.common.Util;
import com.sap.sse.common.Util.Pair;
import com.sap.sse.common.Util.Triple;
import com.sap.sse.common.util.IntHolder;
import com.sap.sse.util.impl.ThreadFactoryWithPriority;
/**
@@ -106,15 +107,15 @@ public class MarkPassingCalculator {
try {
logger.info("MarkPassingCalculator is listening on race "+raceName);
boolean finished = false;
Map<Competitor, List<GPSFix>> competitorFixes = new HashMap<>();
Map<Mark, List<GPSFix>> markFixes = new HashMap<>();
List<Waypoint> addedWaypoints = new ArrayList<>();
List<Waypoint> removedWaypoints = new ArrayList<>();
Integer smallestChangedWaypointIndex = null;
List<Triple<Competitor, Integer, TimePoint>> fixedMarkPassings = new ArrayList<>();
List<Pair<Competitor, Integer>> removedFixedMarkPassings = new ArrayList<>();
List<Pair<Competitor, Integer>> suppressedMarkPassings = new ArrayList<>();
List<Competitor> unsuppressedMarkPassings = new ArrayList<>();
final Map<Competitor, List<GPSFix>> competitorFixes = new HashMap<>();
final Map<Mark, List<GPSFix>> markFixes = new HashMap<>();
final List<Waypoint> addedWaypoints = new ArrayList<>();
final List<Waypoint> removedWaypoints = new ArrayList<>();
final IntHolder smallestChangedWaypointIndex = new IntHolder(-1);
final List<Triple<Competitor, Integer, TimePoint>> fixedMarkPassings = new ArrayList<>();
final List<Pair<Competitor, Integer>> removedFixedMarkPassings = new ArrayList<>();
final List<Pair<Competitor, Integer>> suppressedMarkPassings = new ArrayList<>();
final List<Competitor> unsuppressedMarkPassings = new ArrayList<>();
while (!finished) {
try {
logger.finer("MPC for "+raceName+" is checking the queue");
@@ -139,9 +140,9 @@ public class MarkPassingCalculator {
}
}
if (!finished && !suspended) {
if (smallestChangedWaypointIndex != null) {
if (smallestChangedWaypointIndex.value != -1) {
Map<Competitor, Util.Pair<List<Candidate>, List<Candidate>>> candidateDeltas = finder
.updateWaypoints(addedWaypoints, removedWaypoints, smallestChangedWaypointIndex);
.updateWaypoints(addedWaypoints, removedWaypoints, smallestChangedWaypointIndex.value);
chooser.removeWaypoints(removedWaypoints);
chooser.addWaypoints(addedWaypoints);
for (Entry<Competitor, Util.Pair<List<Candidate>, List<Candidate>>> entry : candidateDeltas
@@ -157,7 +158,7 @@ public class MarkPassingCalculator {
markFixes.clear();
addedWaypoints.clear();
removedWaypoints.clear();
smallestChangedWaypointIndex = null;
smallestChangedWaypointIndex.value = -1;
fixedMarkPassings.clear();
removedFixedMarkPassings.clear();
suppressedMarkPassings.clear();
@@ -274,7 +275,7 @@ public class MarkPassingCalculator {
@Override
public void storePositionUpdate(Map<Competitor, List<GPSFix>> competitorFixes,
Map<Mark, List<GPSFix>> markFixes, List<Waypoint> addedWaypoints, List<Waypoint> removedWaypoints,
Integer smallestChangedWaypointIndex,
IntHolder smallestChangedWaypointIndex,
List<Triple<Competitor, Integer, TimePoint>> fixedMarkPassings,
List<Pair<Competitor, Integer>> removedMarkPassings,
List<Pair<Competitor, Integer>> suppressedMarkPassings, List<Competitor> unSuppressedMarkPassings) {
@@ -17,6 +17,7 @@ import com.sap.sailing.domain.tracking.impl.AbstractRaceChangeListener;
import com.sap.sse.common.TimePoint;
import com.sap.sse.common.Util.Pair;
import com.sap.sse.common.Util.Triple;
import com.sap.sse.common.util.IntHolder;
/**
* Listens for changes that might affect the MarkPassingCalculator: new Fixes of a Competitor or a Mark, updated
@@ -36,7 +37,7 @@ public class MarkPassingUpdateListener extends AbstractRaceChangeListener {
@Override
public void storePositionUpdate(Map<Competitor, List<GPSFix>> competitorFixes,
Map<Mark, List<GPSFix>> markFixes, List<Waypoint> addedWaypoints, List<Waypoint> removedWaypoints,
Integer smallestChangedWaypointIndex, List<Triple<Competitor, Integer, TimePoint>> fixedMarkPassings,
IntHolder smallestChangedWaypointIndex, List<Triple<Competitor, Integer, TimePoint>> fixedMarkPassings,
List<Pair<Competitor, Integer>> removedMarkPassings,
List<Pair<Competitor, Integer>> suppressedMarkPassings, List<Competitor> unSuppressedMarkPassings) {
}
@@ -62,7 +63,7 @@ public class MarkPassingUpdateListener extends AbstractRaceChangeListener {
@Override
public void storePositionUpdate(Map<Competitor, List<GPSFix>> competitorFixes,
Map<Mark, List<GPSFix>> markFixes, List<Waypoint> addedWaypoints, List<Waypoint> removedWaypoints,
Integer smallestChangedWaypointIndex,
IntHolder smallestChangedWaypointIndex,
List<Triple<Competitor, Integer, TimePoint>> fixedMarkPassings,
List<Pair<Competitor, Integer>> removedMarkPassings,
List<Pair<Competitor, Integer>> suppressedMarkPassings, List<Competitor> unSuppressedMarkPassings) {
@@ -82,7 +83,7 @@ public class MarkPassingUpdateListener extends AbstractRaceChangeListener {
@Override
public void storePositionUpdate(Map<Competitor, List<GPSFix>> competitorFixes,
Map<Mark, List<GPSFix>> markFixes, List<Waypoint> addedWaypoints, List<Waypoint> removedWaypoints,
Integer smallestChangedWaypointIndex,
IntHolder smallestChangedWaypointIndex,
List<Triple<Competitor, Integer, TimePoint>> fixedMarkPassings,
List<Pair<Competitor, Integer>> removedMarkPassings,
List<Pair<Competitor, Integer>> suppressedMarkPassings, List<Competitor> unSuppressedMarkPassings) {
@@ -111,13 +112,13 @@ public class MarkPassingUpdateListener extends AbstractRaceChangeListener {
@Override
public void storePositionUpdate(Map<Competitor, List<GPSFix>> competitorFixes,
Map<Mark, List<GPSFix>> markFixes, List<Waypoint> addedWaypoints, List<Waypoint> removedWaypoints,
Integer smallestChangedWaypointIndex,
IntHolder smallestChangedWaypointIndex,
List<Triple<Competitor, Integer, TimePoint>> fixedMarkPassings,
List<Pair<Competitor, Integer>> removedMarkPassings,
List<Pair<Competitor, Integer>> suppressedMarkPassings, List<Competitor> unSuppressedMarkPassings) {
addedWaypoints.add(waypointThatGotAdded);
if (smallestChangedWaypointIndex == null || smallestChangedWaypointIndex > zeroBasedIndex) {
smallestChangedWaypointIndex = zeroBasedIndex;
if (smallestChangedWaypointIndex.value == -1|| smallestChangedWaypointIndex.value > zeroBasedIndex) {
smallestChangedWaypointIndex.value = zeroBasedIndex;
}
}
});
@@ -129,13 +130,13 @@ public class MarkPassingUpdateListener extends AbstractRaceChangeListener {
@Override
public void storePositionUpdate(Map<Competitor, List<GPSFix>> competitorFixes,
Map<Mark, List<GPSFix>> markFixes, List<Waypoint> addedWaypoints, List<Waypoint> removedWaypoints,
Integer smallestChangedWaypointIndex,
IntHolder smallestChangedWaypointIndex,
List<Triple<Competitor, Integer, TimePoint>> fixedMarkPassings,
List<Pair<Competitor, Integer>> removedMarkPassings,
List<Pair<Competitor, Integer>> suppressedMarkPassings, List<Competitor> unSuppressedMarkPassings) {
removedWaypoints.add(waypointThatGotRemoved);
if (smallestChangedWaypointIndex == null || smallestChangedWaypointIndex > zeroBasedIndex) {
smallestChangedWaypointIndex = zeroBasedIndex;
if (smallestChangedWaypointIndex.value == -1 || smallestChangedWaypointIndex.value > zeroBasedIndex) {
smallestChangedWaypointIndex.value = zeroBasedIndex;
}
}
});
@@ -147,7 +148,7 @@ public class MarkPassingUpdateListener extends AbstractRaceChangeListener {
@Override
public void storePositionUpdate(Map<Competitor, List<GPSFix>> competitorFixes,
Map<Mark, List<GPSFix>> markFixes, List<Waypoint> addedWaypoints, List<Waypoint> removedWaypoints,
Integer smallestChangedWaypointIndex,
IntHolder smallestChangedWaypointIndex,
List<Triple<Competitor, Integer, TimePoint>> fixedMarkPassings,
List<Pair<Competitor, Integer>> removedMarkPassings,
List<Pair<Competitor, Integer>> suppressedMarkPassings, List<Competitor> unSuppressedMarkPassings) {
@@ -162,7 +163,7 @@ public class MarkPassingUpdateListener extends AbstractRaceChangeListener {
@Override
public void storePositionUpdate(Map<Competitor, List<GPSFix>> competitorFixes,
Map<Mark, List<GPSFix>> markFixes, List<Waypoint> addedWaypoints, List<Waypoint> removedWaypoints,
Integer smallestChangedWaypointIndex,
IntHolder smallestChangedWaypointIndex,
List<Triple<Competitor, Integer, TimePoint>> fixedMarkPassings,
List<Pair<Competitor, Integer>> removedMarkPassings,
List<Pair<Competitor, Integer>> suppressedMarkPassings, List<Competitor> unSuppressedMarkPassings) {
@@ -177,7 +178,7 @@ public class MarkPassingUpdateListener extends AbstractRaceChangeListener {
@Override
public void storePositionUpdate(Map<Competitor, List<GPSFix>> competitorFixes,
Map<Mark, List<GPSFix>> markFixes, List<Waypoint> addedWaypoints, List<Waypoint> removedWaypoints,
Integer smallestChangedWaypointIndex,
IntHolder smallestChangedWaypointIndex,
List<Triple<Competitor, Integer, TimePoint>> fixedMarkPassings,
List<Pair<Competitor, Integer>> removedMarkPassings,
List<Pair<Competitor, Integer>> suppressedMarkPassings, List<Competitor> unSuppressedMarkPassings) {
@@ -192,7 +193,7 @@ public class MarkPassingUpdateListener extends AbstractRaceChangeListener {
@Override
public void storePositionUpdate(Map<Competitor, List<GPSFix>> competitorFixes,
Map<Mark, List<GPSFix>> markFixes, List<Waypoint> addedWaypoints, List<Waypoint> removedWaypoints,
Integer smallestChangedWaypointIndex,
IntHolder smallestChangedWaypointIndex,
List<Triple<Competitor, Integer, TimePoint>> fixedMarkPassings,
List<Pair<Competitor, Integer>> removedMarkPassings,
List<Pair<Competitor, Integer>> suppressedMarkPassings, List<Competitor> unSuppressedMarkPassings) {
@@ -10,6 +10,7 @@ import com.sap.sailing.domain.common.tracking.GPSFix;
import com.sap.sse.common.TimePoint;
import com.sap.sse.common.Util.Pair;
import com.sap.sse.common.Util.Triple;
import com.sap.sse.common.util.IntHolder;
/**
* Is queued between {@link MarkPassingCalculator} and {@link MarkPassingUpdateListener}.
@@ -21,7 +22,7 @@ public interface StorePositionUpdateStrategy {
* no fixes exist yet for that object, a new entry is created.
*/
void storePositionUpdate(Map<Competitor, List<GPSFix>> competitorFixes, Map<Mark, List<GPSFix>> markFixes,
List<Waypoint> addedWaypoints, List<Waypoint> removedWaypoints, Integer smallestChangedWaypointIndex,
List<Waypoint> addedWaypoints, List<Waypoint> removedWaypoints, IntHolder smallestChangedWaypointIndex,
List<Triple<Competitor, Integer, TimePoint>> fixedMarkPassings, List<Pair<Competitor, Integer>> removedMarkPassings,
List<Pair<Competitor, Integer>> suppressedMarkPassings, List<Competitor> unSuppressedMarkPassings);
}
@@ -247,7 +247,7 @@ public class CandidateFinderImpl implements CandidateFinder {
@Override
public Map<Competitor, Util.Pair<List<Candidate>, List<Candidate>>> updateWaypoints(
Iterable<Waypoint> addedWaypoints, Iterable<Waypoint> removedWaypoints, Integer smallestIndex) {
Iterable<Waypoint> addedWaypoints, Iterable<Waypoint> removedWaypoints, int smallestIndex) {
Map<Competitor, List<Candidate>> removedWaypointCandidates = removeWaypoints(removedWaypoints);
Map<Competitor, Util.Pair<List<Candidate>, List<Candidate>>> newAndUpdatedCandidates = invalidateAfterCourseChange(smallestIndex);
for (Entry<Competitor, List<Candidate>> entry : removedWaypointCandidates.entrySet()) {
@@ -573,14 +573,14 @@ public class CandidateFinderImpl implements CandidateFinder {
if (xte == 0) {
newCandidates.put(Arrays.asList(fix, fix), createCandidate(c, 0, 0, t, t, w, false));
} else {
if (fixAfter != null && xtesAfter != null) {
if (fixAfter != null && xtesAfter != null && xtesAfter.get(w).size() >= 2) {
Double xteAfter = xtesAfter.get(w).get(1).getMeters();
if (xte < 0 != xteAfter <= 0) {
newCandidates.put(Arrays.asList(fix, fixAfter),
createCandidate(c, xte, xteAfter, t, tAfter, w, false));
}
}
if (fixBefore != null) {
if (fixBefore != null && xtesBefore.get(w).size() >= 2) {
Double xteBefore = xtesBefore.get(w).get(1).getMeters();
if (xte < 0 != xteBefore <= 0) {
newCandidates.put(Arrays.asList(fixBefore, fix),
@@ -1,6 +1,7 @@
eclipse.preferences.version=1
encoding//src/main/java/com/sap/sailing/gwt/common/client/i18n/TextMessages.properties=UTF-8
encoding//src/main/java/com/sap/sailing/gwt/common/client/i18n/TextMessages_de.properties=UTF-8
encoding//src/main/java/com/sap/sailing/gwt/common/client/i18n/TextMessages_ja.properties=UTF-8
encoding//src/main/java/com/sap/sailing/gwt/common/client/i18n/TextMessages_ru.properties=UTF-8
encoding//src/main/java/com/sap/sailing/gwt/common/client/i18n/TextMessages_zh.properties=UTF-8
encoding//src/main/java/com/sap/sailing/gwt/common/client/i18n/TextMessages_zh_CN.properties=UTF-8
@@ -12,6 +13,7 @@ encoding//src/main/java/com/sap/sailing/gwt/ui/adminconsole/IgtimiAccountsPanel.
encoding//src/main/java/com/sap/sailing/gwt/ui/adminconsole/LeaderboardConfigPanel.java=utf-8
encoding//src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.properties=UTF-8
encoding//src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_de.properties=UTF-8
encoding//src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_ja.properties=UTF-8
encoding//src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_ru.properties=UTF-8
encoding//src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_zh.properties=UTF-8
encoding//src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_zh_CN.properties=UTF-8
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE module PUBLIC "-//Google Inc.//DTD Google Web Toolkit 2.7.0//EN" "http://gwtproject.org/doctype/2.7.0/gwt-module.dtd">
<module>
<extend-property name="locale" values="en,de,zh,ru" />
<set-property name="locale" value="en,de,zh,ru" />
<extend-property name="locale" values="en,de,zh,ru,ja" />
<set-property name="locale" value="en,de,zh,ru,ja" />
<set-property-fallback name="locale" value="en" />
</module>
@@ -0,0 +1,225 @@
chartSelectionHint=ヒント: リーダーボード (リーダーボードタブ内) を使用して、チャートに表示する競技者を選択することもできます。
chooseALanguage=言語を選択してください
events=イベント
home=ホーム
aboutUs=SAP について
contact=問い合わせ先
sponsoring=スポンサー
solutions=ソリューション
blog=ブログ
german=ドイツ語
english=英語
fullEventSchedule=全イベントスケジュール
officalEventWebsite=公式イベント Web サイト
leg=レグ
races=レース
moreInfo=追加情報
viewAnalysis=分析の表示
overallLeaderboard=全体リーダーボード
pleaseEnterASearchTerm=検索語句を入力してください。
pleaseTryAgain=再試行してください...
reloadPage=ページのリロード
errorMessageLoadingData=このページのデータのロードでエラーが発生しました。
errorMessageNoSuchLeaderboard=この名称のリーダーボードを見つけることができませんでした。
raceNotScheduled=スケジュールされていません。
regattaDetails=レガッタ詳細
regatta=レガッタ
competitorsAnalytics=競技者分析
chooseChart=チャートタイプ選択
series=シリーズ
regattaLeaderboards=レガッタリーダーボード
features=機能
releaseNotes=リリースノート
whatsNew=最新情報
overview=概要
sapSailing=SAP Sailing
search=検索
startSimulator=シミュレータ開始
countdownStartingInDays=
countdownDays=
countdownHours=時間
countdownMinutes=
countdownSeconds=
countdownDay=曜日
countdownHour=
countdownMinute=
countdownSecond=
live=ライブ
finished=終了
watchNow=現在視聴可能
lastUpdate=最終更新
leaderboard=リーダーボード
boxNewsUpdateMoreLink=レポートニュース
boxNewsUpdateTitle=最新ニュース
boxUpcomingRacesCountdownStarted1=スタート
boxUpcomingRacesCountdownStarted2=時間と
boxUpcomingRacesCountdownStarted3=分前
boxUpcomingRacesCountdownStarting1=スタートまでの時間
boxUpcomingRacesCountdownStarting2=時間と
boxUpcomingRacesCountdownStarting3=
boxUpcomingRacesMoreLink=イベントスケジュール
boxUpcomingRacesTitle=本日予定のレース
boxWeather=天候
boxWeatherUnit=KTS
defaultTitle=SAP Sailing Analytics
eventHeaderMedia=メディア
eventHeaderOverview=概要
eventHeaderRaces=スケジュール
eventHeaderRegattas=レガッタ
seriesHeaderOverview=シリーズについて
seriesHeaderUpcoming=予定
seriesHeaderRecent=最新イベント
seriesHeaderLeaderboard=リーダーボード
seriesOverviewHeaderRecent=最新シリーズイベント
seriesOverviewReadMore=その他
eventsOverviewRecentEvents=イベント
eventsOverviewRecentCountries=
eventsOverviewRecentSailors=セーラー
eventsOverviewRecentTrackedRaces=追跡レース
eventResultsHeadline=勝者と結果
eventResultsBoatClassesDropDown=すべての艇クラス
eventOverviewMoreEvents=その他イベント
eventOverviewRecentEvents=最新イベント
eventOverviewUpcomingDate=日付
eventOverviewUpcomingEvent=イベント
eventOverviewUpcomingLocation=場所
eventOverviewUpcomingSchedule=予定スケジュール
eventOverviewUpcomingSeries=シリーズ
eventOverviewUpcomingTeaser=その他イベントが近日公表されます
eventQuickfinderTitle=イベントクイックファインダ
eventRegattaHeaderLeaderboard=リーダーボード
eventRegattaHeaderRaceRaces=レース
eventRegattaListAllBoatClasses=すべての艇クラス
eventRegattaLeaderboardCompetitor=競技者
eventRegattaLeaderboardExtendLeaderboard=リーダーボード拡張
eventRegattaLeaderboardFinishedMessage=レースはすべて終了
eventRegattaLeaderboardLastScoreUpdate=前回スコア更新
eventRegattaLeaderboardName=名称
eventRegattaLeaderboardRegattaRank=レガッタランク
eventRegattaLeaderboardTotalPoints=合計ポイント
eventRegattaRaceWatch=ライブ視聴
eventRegattaRaceAnalyse=レース分析
eventRegattaRaceNotTracked=未追跡
eventRegattaRaceFinished=フィニッシュ時刻:
eventRegattaRaceStarted=スタート時刻:
eventRegattaRaceScheduled=スケジュール対象:
eventRegattaRaceRace=レース
eventRegattaRaceWind=風力:
eventRegattaRaceWinner=勝者
eventRegattaRaceLeader=首位艇
eventRegattaRacesLegendGps=追跡
eventRegattaRacesLegendWind=風データ
eventRegattaRacesLegendVideo=ビデオ
eventRegattaRacesLegendAudio=音声
eventSponsorsTitle=イベントスポンサーシップ
footerJobs=ジョブ
footerCopyright=© 2011-2016 SAP Sailing Analytics
footerLanguage=SAP Sailing -
footerLegal=利用規約
footerPrivacy=個人情報保護
footerFeedback=フィードバック
headerEvents=イベント
headerHome=ホーム
headerLogo=Sailing Analytics
headerSearch=検索
headerSearchPlaceholder=検索
headerSolutions=ソリューション
headerSponsoring=スポンサー
latestRaceResultsHeadline=公式レース最新結果
latestRaceResultsIsNew=新規
latestRaceResultsIsUpdated=更新済
latestRaceResultsRaceCountUnit=レース
latestRaceResultsRefresh=リフレッシュ
leaderboardQuickAccessLabel=リーダーボードクイックアクセス
mainEventShowAll=全イベント表示
mainEventTitle=Sailing World からの最新イベント
mainMediaSubtitle=お気に入りのセーリングイベントから、最新で最も美しいイメージを取り出して楽しんでください。
mainMediaTitle=カメラマンはセーリングが大好き
mainMediaVideosSubtitle=セーリングの世界に浸って、最新イベントのビデオにもっとアクセスしてください。
mainMediaVideosTitle=最新ビデオエントリ
mainSponsorsReadMore=続きを読む
mediaTeaserPhotosTitle=写真
mediaTeaserVideosTitle=ビデオ
regattaCompetitors=競技者
regattaRaces=レース
regattaTracked=追跡済
regattaRegattaStarts=レガッタ開始予定
regattaPts=ポイント
regattaCourse=コース
regattaArea=領域
regattaFinishedAt=フィニッシュ時刻
regattaScheduledAt=スケジュール時刻
regattaStartedAt=スタート時刻
regattasResultsTitle=勝者および結果
searchResultHeaderButton=検索
searchResultHeaderLabel=検索対象
searchResultsFound=結果が見つかりました:
searchResultHeaderPlaceholder=検索キーを入力
searchResultMore=詳細
searchResultSearch=検索
searchResultSearchAgain=再検索
searchResultSortLabel=ソートキー
searchResultSortNewest=最新
searchResultSortOldest=初期
searchResultSortRelevance=関連性
searchResultCount=約 2,450 の結果が ''Schnitzel'' に対して見つかりました
sharingEmail=電子メール送信
sharingFacebook=Facebook でシェア
sharingTwitter=Twitter でツイート
socialFooterShare=これをシェアする場所:
socialFooterTitle=SAP Sailing Analytics を推奨
# SOLUTIONS
solutionsSISHeadline=SAP in Sailing
solutionsSAPHeadline=SAP Sailing Analytics
solutionsRaceHeadline=SAP Sailing Race Manager
solutionsPostHeadline=レース後分析
solutionsTrainingHeadline=トレーニング日記
solutionsSimulatorHeadline=戦略シミュレータ
sapInSailing=SAP in Sailing
contentSapInSailing1=セーリングは、SAP にとってソリューションを紹介するためのプラットフォームとして完全なものであり、これまでになかったやり方でスポーツの運営に役立っています。SAP によるスポーツへの関与は、以下のことを行うツールを提供することによってセーリングから得られる体験をすっかり変えてしまいました。
contentSapInSailing2=セーラーによるパフォーマンス分析の支援および戦略の最適化
contentSapInSailing3=アクションをファンに身近なものにする
contentSapInSailing4=情報豊富なばらしい解説を行うための情報とインサイトをメディアに提供
contentSapInSailing5=SAP は、長年にわたりセーリングに関係しており、以下のようなチームやレガッタにわたってポートフォリオを確立してきました。
contentSapInSailing6=Travemünder Woche の公式テクノロジーパートナー
contentSapInSailing7=欧州セーリング連盟 (European Sailing Leagues) のテクノロジーパートナー
contentSapInSailing8=SAP Extreme Sailing Team のタイトルスポンサー
contentSapInSailing9=Extreme Sailing Series の公式テクニカルパートナー
contentSapInSailing10=ドイツ代表セーリングチームである Audi Sailing Team Germany のプレミアムパートナー
contentSapInSailing11=世界最大のレガッタである Kieler Woche (Kiel Week) のプレミアムパートナー
contentSapInSailing12=SAP 5O5 World Championships のタイトルスポンサー
solutionsSAPText1=レースランキング、速力、操縦、ベアリングなどに関係するリアルタイム分析を提供することにより、SAP はセーリングという複雑なスポーツを平易かつ分かりやすく説明することをお手伝いしています。
solutionsSAPText2=SAP Sailing Analytics は、クラウドおよびインメモリ技術を活用し、リアルタイムで GPS および風計測データを処理し、どこからでもアクセスできるさまざまなフロントエンドでコンテンツを視覚化することによってセーリングの世界にインサイトと透明性を提供します。
solutionsRaceText=SAP Race Committee アプリは、セーリングレガッタ運営中にレース組織者にその手動での作業および連絡業務を自動化および簡略化することによって効率と統制を向上させます。Race Committee アプリは、レースイベントの運営および管理の業務を簡略化するのに役立ち、レース委員会がより円滑に運営されるよう支援します。
solutionsPostText=セーリングイベントで収集されたデータへのアクセスにより、戦略の策定や帆走の向上を支援するためにセーラーがそのパフォーマンスを評価および分析するための機会が提供されます。<br>SAP Business Analytics ソリューションは、多くのレガッタおよびレースにわたって履歴データを照会および分析するツールをセーラー、コーチ、ファン、そして報道関係者に提供します。SAP HANA は、こうした人たちが自身のパフォーマンスを最適化し、予定されているレガッタのために成功を収める戦略を策定するために簡単、迅速、かつ効率的な方法でパフォーマンスのパターン、傾向、およびセーラーのプロファイルを知ることを可能にします。
solutionsTrainingText=STG Training Diary は、アスリートの体調、ならびに水上トレーニング、身体的トレーニング、操艇、メンタル、理論、さらに教育や移動などのその他の活動の領域におけるトレーニングへの取り組みの日々の記録および分析をサポートします。
solutionsSimulatorText=適切な戦略の選択は、レース中における大きな競争上の優位性をもたらすことができます。Strategy Simulator により、さまざまな風況および水流に対して最良のセーリング戦略を決定することが平易になります。風と水流をシミュレーションで直ちに変更することができるため、不確かな気象条件に対しても戦略の確かさを簡単に評価することができます。
sapSailingAnalytics=SAP Sailing Analytics
contentSapSailingAnalytics1=レースランキング、速力、操縦、ベアリングなどに関係するリアルタイム分析を提供することによって、SAP はセーリングという複雑なスポーツを平易かつ分かりやすく説明することに役立っています。
contentSapSailingAnalytics2=SAP Sailing Analytics は、クラウドおよびインメモリ技術を活用し、リアルタイムで GPS および風計測データを処理し、どこからでもアクセスできるさまざまなフロントエンドでコンテンツを視覚化することによってセーリングの世界にインサイトと透明性を提供します。
sapSailingAnalyticsReadMore=続きを読む
sapSailingRaceManager=SAP Sailing Race Manager
contentSapSailingRaceManager=SAP Sailing Race Manager は、セーリングレガッタ運営中にレース組織者にその手動での作業および連絡業務を自動化および簡略化することによって効率と統制を向上させます。Race Committee アプリは、レースイベントの運営および管理の業務を簡略化するのに役立ち、レース委員会がより円滑に運営されるよう支援します。
sapSailingRaceManagerReadMore=詳細情報
postRaceAnalytics=レース後分析
contentPostRaceAnalytics1=セーリングイベントで収集されたデータへのアクセスにより、戦略の策定や帆走の向上を支援するためにセーラーがそのパフォーマンスを評価および分析するための機会が提供されます。
contentPostRaceAnalytics2=SAP Business Analytics ソリューションは、多くのレガッタおよびレースにわたって履歴データを照会および分析するツールをセーラー、コーチ、ファン、そして報道関係者に提供します。SAP HANA は、こうした人たちが自身のパフォーマンスを最適化し、予定されているレガッタのために成功を収める戦略を策定するために簡単、迅速、かつ効率的な方法でパフォーマンスのパターン、傾向、およびセーラーのプロファイルを知ることを可能にします。
i18nDeSolutionsTrainingHeadline=SAP Sail Better STG Training Diary
i18nDeSolutionsTrainingText=STG Training Diary は、アスリートの体調、ならびに水上トレーニング、身体的トレーニング、操艇、メンタル、理論、さらに教育や移動などのその他の活動の領域におけるトレーニングへの取り組みの日々の記録および分析をサポートします。
strategySimulator=戦略シミュレータ
contentStrategySimulator=適切な戦略の選択は、レース中における大きな競争上の優位性をもたらすことができます。Strategy Simulator により、さまざまな風況および水流に対して最良のセーリング戦略を決定することが平易になります。風と水流をシミュレーションで直ちに変更することができるため、不確かな気象条件に対しても戦略の確かさを簡単に評価することができます。
strategySimulatorReadMore=詳細情報
impressum=刻印
@@ -113,7 +113,7 @@ eventRegattaRacesLegendVideo=Видео
eventRegattaRacesLegendAudio=Аудио
eventSponsorsTitle=Спонсорская поддержка событий
footerJobs=Работа
footerCopyright=\u00A9 SAP Sailing Analytics, 20112016.
footerCopyright=© SAP Sailing Analytics, 20112016.
footerLanguage=SAP Sailing в
footerLegal=Раскрытие юридической информации
footerPrivacy=Конфиденциальность
@@ -0,0 +1,861 @@
<?xml version="1.0" encoding="UTF-8"?>
<xliff xmlns="urn:oasis:names:tc:xliff:document:1.2" version="1.2">
<file datatype="javapropertyresourcebundle" date="2016-04-27T12:37:54Z" original="/usr/sap/ljs/app/Converter_620566382034089997/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/common/client/i18n/TextMessages.properties" source-language="en" target-language="ja">
<header>
<skl>
<internal-file crc="1a395915e09df129e5e910632f33160a" form="base64">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</internal-file>
</skl>
<phase-group>
<phase company-name="SAP AG" date="2016-04-14T07:31:26Z" phase-name="file-creation" process-name="file-creation" tool-id="urn:x-sap:sls-mlt:java:properties-flexible-converter"/>
</phase-group>
<tool tool-company="SAP AG" tool-id="urn:x-sap:sls-mlt:java:properties-flexible-converter" tool-name="TEW: Javascript .properties Flexible File Converter" tool-version="1.0.0"/>
</header>
<body>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="chartSelectionHint" resname="chartSelectionHint">
<source>Hint: You can also use the leaderboard (on the LEADERBOARD tab) to select the competitors displayed in the chart. </source>
<target state="signed-off">ヒント: リーダーボード (リーダーボードタブ内) を使用して、チャートに表示する競技者を選択することもできます。</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="chooseALanguage" resname="chooseALanguage">
<source>Choose a language</source>
<target state="signed-off">言語を選択してください</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="events" resname="events">
<source>Events</source>
<target state="signed-off">イベント</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="home" resname="home">
<source>Home</source>
<target state="signed-off">ホーム</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="aboutUs" resname="aboutUs">
<source>About us</source>
<target state="signed-off">SAP について</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="contact" resname="contact">
<source>Contact</source>
<target state="signed-off">問い合わせ先</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="sponsoring" resname="sponsoring">
<source>Sponsoring</source>
<target state="signed-off">スポンサー</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="solutions" resname="solutions">
<source>Solutions</source>
<target state="signed-off">ソリューション</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="blog" resname="blog">
<source>Blog</source>
<target state="signed-off">ブログ</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="german" resname="german">
<source>Deutsch</source>
<target state="signed-off">ドイツ語</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="english" resname="english">
<source>English</source>
<target state="signed-off">英語</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="fullEventSchedule" resname="fullEventSchedule">
<source>Full event schedule</source>
<target state="signed-off">全イベントスケジュール</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="officalEventWebsite" resname="officalEventWebsite">
<source>Official event website</source>
<target state="signed-off">公式イベント Web サイト</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="leg" resname="leg">
<source>Leg</source>
<target state="signed-off">レグ</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="races" resname="races">
<source>Races</source>
<target state="signed-off">レース</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="moreInfo" resname="moreInfo">
<source>More info</source>
<target state="signed-off">追加情報</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="viewAnalysis" resname="viewAnalysis">
<source>View analysis </source>
<target state="signed-off">分析の表示 </target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="overallLeaderboard" resname="overallLeaderboard">
<source>Overall leaderboard</source>
<target state="signed-off">全体リーダーボード</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="pleaseEnterASearchTerm" resname="pleaseEnterASearchTerm">
<source>Please enter a search term.</source>
<target state="signed-off">検索語句を入力してください。</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="pleaseTryAgain" resname="pleaseTryAgain">
<source>Please try again...</source>
<target state="signed-off">再試行してください...</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="reloadPage" resname="reloadPage">
<source>Reload page</source>
<target state="signed-off">ページのリロード</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="errorMessageLoadingData" resname="errorMessageLoadingData">
<source>An error occured while loading the data for this page.</source>
<target state="signed-off">このページのデータのロードでエラーが発生しました。</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="errorMessageNoSuchLeaderboard" resname="errorMessageNoSuchLeaderboard">
<source>Could not find a leaderboard with this name.</source>
<target state="signed-off">この名称のリーダーボードを見つけることができませんでした。</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="raceNotScheduled" resname="raceNotScheduled">
<source>Not scheduled.</source>
<target state="signed-off">スケジュールされていません。</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="regattaDetails" resname="regattaDetails">
<source>Regatta details</source>
<target state="signed-off">レガッタ詳細</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="regatta" resname="regatta">
<source>Regatta</source>
<target state="signed-off">レガッタ</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="competitorsAnalytics" resname="competitorsAnalytics">
<source>Competitors Analytics</source>
<target state="signed-off">競技者分析</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="chooseChart" resname="chooseChart">
<source>Choose chart type</source>
<target state="signed-off">チャートタイプ選択</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="series" resname="series">
<source>Series</source>
<target state="signed-off">シリーズ</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="regattaLeaderboards" resname="regattaLeaderboards">
<source>Regatta leaderboards</source>
<target state="signed-off">レガッタリーダーボード</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="features" resname="features">
<source>Features</source>
<target state="signed-off">機能</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="releaseNotes" resname="releaseNotes">
<source>Release notes</source>
<target state="signed-off">リリースノート</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="whatsNew" resname="whatsNew">
<source>What''s new</source>
<target state="signed-off">最新情報</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="overview" resname="overview">
<source>Overview</source>
<target state="signed-off">概要</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="sapSailing" resname="sapSailing">
<source>SAP Sailing</source>
<target state="signed-off">SAP Sailing</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="search" resname="search">
<source>Search</source>
<target state="signed-off">検索</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="startSimulator" resname="startSimulator">
<source>Start Simulator</source>
<target state="signed-off">シミュレータ開始</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="countdownStartingInDays" resname="countdownStartingInDays">
<source>Days</source>
<target state="signed-off">日</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="countdownDays" resname="countdownDays">
<source>Days</source>
<target state="signed-off">日</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="countdownHours" resname="countdownHours">
<source>Hrs</source>
<target state="signed-off">時間</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="countdownMinutes" resname="countdownMinutes">
<source>Min</source>
<target state="signed-off">分</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="countdownSeconds" resname="countdownSeconds">
<source>Sec</source>
<target state="signed-off">秒</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="countdownDay" resname="countdownDay">
<source>Day</source>
<target state="signed-off">曜日</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="countdownHour" resname="countdownHour">
<source>Hour</source>
<target state="signed-off">時</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="countdownMinute" resname="countdownMinute">
<source>Min</source>
<target state="signed-off">分</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="countdownSecond" resname="countdownSecond">
<source>Sec</source>
<target state="signed-off">秒</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="live" resname="live">
<source>Live</source>
<target state="signed-off">ライブ</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="finished" resname="finished">
<source>Finished</source>
<target state="signed-off">終了</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="watchNow" resname="watchNow">
<source>Watch now</source>
<target state="signed-off">現在視聴可能</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="lastUpdate" resname="lastUpdate">
<source>Last Update</source>
<target state="signed-off">最終更新</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="leaderboard" resname="leaderboard">
<source>Leaderboard</source>
<target state="signed-off">リーダーボード</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="boxNewsUpdateMoreLink" resname="boxNewsUpdateMoreLink">
<source>Report news</source>
<target state="signed-off">レポートニュース</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="boxNewsUpdateTitle" resname="boxNewsUpdateTitle">
<source>News Update</source>
<target state="signed-off">最新ニュース</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="boxUpcomingRacesCountdownStarted1" resname="boxUpcomingRacesCountdownStarted1">
<source>Started</source>
<target state="signed-off">スタート</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="boxUpcomingRacesCountdownStarted2" resname="boxUpcomingRacesCountdownStarted2">
<source>hrs and</source>
<target state="signed-off">時間と</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="boxUpcomingRacesCountdownStarted3" resname="boxUpcomingRacesCountdownStarted3">
<source>minutes ago</source>
<target state="signed-off">分前</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="boxUpcomingRacesCountdownStarting1" resname="boxUpcomingRacesCountdownStarting1">
<source>Starting in</source>
<target state="signed-off">スタートまでの時間</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="boxUpcomingRacesCountdownStarting2" resname="boxUpcomingRacesCountdownStarting2">
<source>hrs and</source>
<target state="signed-off">時間と</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="boxUpcomingRacesCountdownStarting3" resname="boxUpcomingRacesCountdownStarting3">
<source>minutes</source>
<target state="signed-off">分</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="boxUpcomingRacesMoreLink" resname="boxUpcomingRacesMoreLink">
<source>Event Schedule</source>
<target state="signed-off">イベントスケジュール</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="boxUpcomingRacesTitle" resname="boxUpcomingRacesTitle">
<source>Upcoming Races Today</source>
<target state="signed-off">本日予定のレース</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="boxWeather" resname="boxWeather">
<source>Weather</source>
<target state="signed-off">天候</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="boxWeatherUnit" resname="boxWeatherUnit">
<source>KTS</source>
<target state="signed-off">KTS</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="defaultTitle" resname="defaultTitle">
<source>SAP Sailing Analytics</source>
<target state="signed-off">SAP Sailing Analytics</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="eventHeaderMedia" resname="eventHeaderMedia">
<source>Media</source>
<target state="signed-off">メディア</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="eventHeaderOverview" resname="eventHeaderOverview">
<source>Overview</source>
<target state="signed-off">概要</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="eventHeaderRaces" resname="eventHeaderRaces">
<source>Schedule</source>
<target state="signed-off">スケジュール</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="eventHeaderRegattas" resname="eventHeaderRegattas">
<source>Regattas</source>
<target state="signed-off">レガッタ</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="seriesHeaderOverview" resname="seriesHeaderOverview">
<source>About the Series</source>
<target state="signed-off">シリーズについて</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="seriesHeaderUpcoming" resname="seriesHeaderUpcoming">
<source>Upcoming</source>
<target state="signed-off">予定</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="seriesHeaderRecent" resname="seriesHeaderRecent">
<source>Recent Events</source>
<target state="signed-off">最新イベント</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="seriesHeaderLeaderboard" resname="seriesHeaderLeaderboard">
<source>Leaderboard</source>
<target state="signed-off">リーダーボード</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="seriesOverviewHeaderRecent" resname="seriesOverviewHeaderRecent">
<source>Latest Series Events</source>
<target state="signed-off">最新シリーズイベント</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="seriesOverviewReadMore" resname="seriesOverviewReadMore">
<source>More</source>
<target state="signed-off">その他</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="eventsOverviewRecentEvents" resname="eventsOverviewRecentEvents">
<source>Events</source>
<target state="signed-off">イベント</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="eventsOverviewRecentCountries" resname="eventsOverviewRecentCountries">
<source>Countries</source>
<target state="signed-off">国</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="eventsOverviewRecentSailors" resname="eventsOverviewRecentSailors">
<source>Sailors</source>
<target state="signed-off">セーラー</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="eventsOverviewRecentTrackedRaces" resname="eventsOverviewRecentTrackedRaces">
<source>Tracked Races</source>
<target state="signed-off">追跡レース</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="eventResultsHeadline" resname="eventResultsHeadline">
<source>Winners and Results</source>
<target state="signed-off">勝者と結果</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="eventResultsBoatClassesDropDown" resname="eventResultsBoatClassesDropDown">
<source>All Boat Classes</source>
<target state="signed-off">すべての艇クラス</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="eventOverviewMoreEvents" resname="eventOverviewMoreEvents">
<source>More Events</source>
<target state="signed-off">その他イベント</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="eventOverviewRecentEvents" resname="eventOverviewRecentEvents">
<source>Recent Events</source>
<target state="signed-off">最新イベント</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="eventOverviewUpcomingDate" resname="eventOverviewUpcomingDate">
<source>Date</source>
<target state="signed-off">日付</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="eventOverviewUpcomingEvent" resname="eventOverviewUpcomingEvent">
<source>Event</source>
<target state="signed-off">イベント</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="eventOverviewUpcomingLocation" resname="eventOverviewUpcomingLocation">
<source>Location</source>
<target state="signed-off">場所</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="eventOverviewUpcomingSchedule" resname="eventOverviewUpcomingSchedule">
<source>Upcoming Schedule</source>
<target state="signed-off">予定スケジュール</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="eventOverviewUpcomingSeries" resname="eventOverviewUpcomingSeries">
<source>Series</source>
<target state="signed-off">シリーズ</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="eventOverviewUpcomingTeaser" resname="eventOverviewUpcomingTeaser">
<source>More Events To Be Announced Soon!</source>
<target state="signed-off">その他イベントが近日公表されます</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="eventQuickfinderTitle" resname="eventQuickfinderTitle">
<source>Event Quick-Finder</source>
<target state="signed-off">イベントクイックファインダ</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="eventRegattaHeaderLeaderboard" resname="eventRegattaHeaderLeaderboard">
<source>Leaderboard</source>
<target state="signed-off">リーダーボード</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="eventRegattaHeaderRaceRaces" resname="eventRegattaHeaderRaceRaces">
<source>Races</source>
<target state="signed-off">レース</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="eventRegattaListAllBoatClasses" resname="eventRegattaListAllBoatClasses">
<source>All boat classes</source>
<target state="signed-off">すべての艇クラス</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="eventRegattaLeaderboardCompetitor" resname="eventRegattaLeaderboardCompetitor">
<source>Competitor</source>
<target state="signed-off">競技者</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="eventRegattaLeaderboardExtendLeaderboard" resname="eventRegattaLeaderboardExtendLeaderboard">
<source>Extend Leaderboard</source>
<target state="signed-off">リーダーボード拡張</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="eventRegattaLeaderboardFinishedMessage" resname="eventRegattaLeaderboardFinishedMessage">
<source>No more races</source>
<target state="signed-off">レースはすべて終了</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="eventRegattaLeaderboardLastScoreUpdate" resname="eventRegattaLeaderboardLastScoreUpdate">
<source>Last Score Update</source>
<target state="signed-off">前回スコア更新</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="eventRegattaLeaderboardName" resname="eventRegattaLeaderboardName">
<source>Name</source>
<target state="signed-off">名称</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="eventRegattaLeaderboardRegattaRank" resname="eventRegattaLeaderboardRegattaRank">
<source>Regatta Rank</source>
<target state="signed-off">レガッタランク</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="eventRegattaLeaderboardTotalPoints" resname="eventRegattaLeaderboardTotalPoints">
<source>Total Points</source>
<target state="signed-off">合計ポイント</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="eventRegattaRaceWatch" resname="eventRegattaRaceWatch">
<source>Watch live</source>
<target state="signed-off">ライブ視聴</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="eventRegattaRaceAnalyse" resname="eventRegattaRaceAnalyse">
<source>Analyze Race</source>
<target state="signed-off">レース分析</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="eventRegattaRaceNotTracked" resname="eventRegattaRaceNotTracked">
<source>Not Tracked</source>
<target state="signed-off">未追跡</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="eventRegattaRaceFinished" resname="eventRegattaRaceFinished">
<source>Finished at:</source>
<target state="signed-off">フィニッシュ時刻:</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="eventRegattaRaceStarted" resname="eventRegattaRaceStarted">
<source>Started at:</source>
<target state="signed-off">スタート時刻:</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="eventRegattaRaceScheduled" resname="eventRegattaRaceScheduled">
<source>Scheduled for:</source>
<target state="signed-off">スケジュール対象:</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="eventRegattaRaceRace" resname="eventRegattaRaceRace">
<source>Race</source>
<target state="signed-off">レース</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="eventRegattaRaceWind" resname="eventRegattaRaceWind">
<source>Wind Strength:</source>
<target state="signed-off">風力:</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="eventRegattaRaceWinner" resname="eventRegattaRaceWinner">
<source>Winner</source>
<target state="signed-off">勝者</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="eventRegattaRaceLeader" resname="eventRegattaRaceLeader">
<source>Leader</source>
<target state="signed-off">首位艇</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="eventRegattaRacesLegendGps" resname="eventRegattaRacesLegendGps">
<source>Tracking</source>
<target state="signed-off">追跡</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="eventRegattaRacesLegendWind" resname="eventRegattaRacesLegendWind">
<source>Wind Data</source>
<target state="signed-off">風データ</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="eventRegattaRacesLegendVideo" resname="eventRegattaRacesLegendVideo">
<source>Video</source>
<target state="signed-off">ビデオ</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="eventRegattaRacesLegendAudio" resname="eventRegattaRacesLegendAudio">
<source>Audio</source>
<target state="signed-off">音声</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="eventSponsorsTitle" resname="eventSponsorsTitle">
<source>Event Sponsorships</source>
<target state="signed-off">イベントスポンサーシップ</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="footerJobs" resname="footerJobs">
<source>Jobs</source>
<target state="signed-off">ジョブ</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="footerCopyright" resname="footerCopyright">
<source>© 2011-2016 SAP Sailing Analytics</source>
<target state="signed-off">© 2011-2016 SAP Sailing Analytics</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="footerLanguage" resname="footerLanguage">
<source>SAP Sailing in</source>
<target state="signed-off">SAP Sailing - </target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="footerLegal" resname="footerLegal">
<source>Legal Disclosure</source>
<target state="signed-off">利用規約</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="footerPrivacy" resname="footerPrivacy">
<source>Privacy</source>
<target state="signed-off">個人情報保護</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="footerFeedback" resname="footerFeedback">
<source>Feedback</source>
<target state="signed-off">フィードバック</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="headerEvents" resname="headerEvents">
<source>Events</source>
<target state="signed-off">イベント</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="headerHome" resname="headerHome">
<source>Home</source>
<target state="signed-off">ホーム</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="headerLogo" resname="headerLogo">
<source>Sailing Analytics</source>
<target state="signed-off">Sailing Analytics</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="headerSearch" resname="headerSearch">
<source>Search</source>
<target state="signed-off">検索</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="headerSearchPlaceholder" resname="headerSearchPlaceholder">
<source>Search </source>
<target state="signed-off">検索 </target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="headerSolutions" resname="headerSolutions">
<source>Solutions</source>
<target state="signed-off">ソリューション</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="headerSponsoring" resname="headerSponsoring">
<source>Sponsoring</source>
<target state="signed-off">スポンサー</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="latestRaceResultsHeadline" resname="latestRaceResultsHeadline">
<source>Latest Official Race Results</source>
<target state="signed-off">公式レース最新結果</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="latestRaceResultsIsNew" resname="latestRaceResultsIsNew">
<source>New</source>
<target state="signed-off">新規</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="latestRaceResultsIsUpdated" resname="latestRaceResultsIsUpdated">
<source>Updated</source>
<target state="signed-off">更新済</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="latestRaceResultsRaceCountUnit" resname="latestRaceResultsRaceCountUnit">
<source>races</source>
<target state="signed-off">レース</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="latestRaceResultsRefresh" resname="latestRaceResultsRefresh">
<source>refresh</source>
<target state="signed-off">リフレッシュ</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="leaderboardQuickAccessLabel" resname="leaderboardQuickAccessLabel">
<source>Leaderboard Quick Access</source>
<target state="signed-off">リーダーボードクイックアクセス</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="mainEventShowAll" resname="mainEventShowAll">
<source>Show All Events</source>
<target state="signed-off">全イベント表示</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="mainEventTitle" resname="mainEventTitle">
<source>Latest Events from the Sailing World</source>
<target state="signed-off">Sailing World からの最新イベント</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="mainMediaSubtitle" resname="mainMediaSubtitle">
<source>Get lost in the latest and most beautiful impressions from your favorite sailing event.</source>
<target state="signed-off">お気に入りのセーリングイベントから、最新で最も美しいイメージを取り出して楽しんでください。</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="mainMediaTitle" resname="mainMediaTitle">
<source>Photographers love Sailing</source>
<target state="signed-off">カメラマンはセーリングが大好き</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="mainMediaVideosSubtitle" resname="mainMediaVideosSubtitle">
<source>Immerse yourself in the world of sailing and check out our latest events for more videos.</source>
<target state="signed-off">セーリングの世界に浸って、最新イベントのビデオにもっとアクセスしてください。</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="mainMediaVideosTitle" resname="mainMediaVideosTitle">
<source>Recent Video Entries</source>
<target state="signed-off">最新ビデオエントリ</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="mainSponsorsReadMore" resname="mainSponsorsReadMore">
<source>Read More</source>
<target state="signed-off">続きを読む</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="mediaTeaserPhotosTitle" resname="mediaTeaserPhotosTitle">
<source>Photos</source>
<target state="signed-off">写真</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="mediaTeaserVideosTitle" resname="mediaTeaserVideosTitle">
<source>Videos</source>
<target state="signed-off">ビデオ</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="regattaCompetitors" resname="regattaCompetitors">
<source>Competitors</source>
<target state="signed-off">競技者</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="regattaRaces" resname="regattaRaces">
<source>Races</source>
<target state="signed-off">レース</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="regattaTracked" resname="regattaTracked">
<source>Tracked</source>
<target state="signed-off">追跡済</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="regattaRegattaStarts" resname="regattaRegattaStarts">
<source>Regatta will start</source>
<target state="signed-off">レガッタ開始予定</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="regattaPts" resname="regattaPts">
<source>Pts.</source>
<target state="signed-off">ポイント</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="regattaCourse" resname="regattaCourse">
<source>Course</source>
<target state="signed-off">コース</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="regattaArea" resname="regattaArea">
<source>Area</source>
<target state="signed-off">領域</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="regattaFinishedAt" resname="regattaFinishedAt">
<source>Finished at</source>
<target state="signed-off">フィニッシュ時刻</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="regattaScheduledAt" resname="regattaScheduledAt">
<source>Scheduled at</source>
<target state="signed-off">スケジュール時刻</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="regattaStartedAt" resname="regattaStartedAt">
<source>Started at</source>
<target state="signed-off">スタート時刻</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="regattasResultsTitle" resname="regattasResultsTitle">
<source>Winner and Results</source>
<target state="signed-off">勝者および結果</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="searchResultHeaderButton" resname="searchResultHeaderButton">
<source>Search</source>
<target state="signed-off">検索</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="searchResultHeaderLabel" resname="searchResultHeaderLabel">
<source>Your Search</source>
<target state="signed-off">検索対象</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="searchResultsFound" resname="searchResultsFound">
<source>result(s) found for</source>
<target state="signed-off">結果が見つかりました:</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="searchResultHeaderPlaceholder" resname="searchResultHeaderPlaceholder">
<source>Type in your searchkey</source>
<target state="signed-off">検索キーを入力</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="searchResultMore" resname="searchResultMore">
<source>More</source>
<target state="signed-off">詳細</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="searchResultSearch" resname="searchResultSearch">
<source>Search</source>
<target state="signed-off">検索</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="searchResultSearchAgain" resname="searchResultSearchAgain">
<source>Search again</source>
<target state="signed-off">再検索</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="searchResultSortLabel" resname="searchResultSortLabel">
<source>Sort by</source>
<target state="signed-off">ソートキー</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="searchResultSortNewest" resname="searchResultSortNewest">
<source>Recent</source>
<target state="signed-off">最新</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="searchResultSortOldest" resname="searchResultSortOldest">
<source>Oldest</source>
<target state="signed-off">初期</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="searchResultSortRelevance" resname="searchResultSortRelevance">
<source>Relevance</source>
<target state="signed-off">関連性</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="searchResultCount" resname="searchResultCount">
<source>About 2,450 results where found for ''Schnitzel''</source>
<target state="signed-off">約 2,450 の結果が ''Schnitzel'' に対して見つかりました</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="sharingEmail" resname="sharingEmail">
<source>Send an email</source>
<target state="signed-off">電子メール送信</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="sharingFacebook" resname="sharingFacebook">
<source>Share on Facebook</source>
<target state="signed-off">Facebook でシェア</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="sharingTwitter" resname="sharingTwitter">
<source>Tweet about it</source>
<target state="signed-off">Twitter でツイート</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="socialFooterShare" resname="socialFooterShare">
<source>Share this on </source>
<target state="signed-off">これをシェアする場所: </target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="socialFooterTitle" resname="socialFooterTitle">
<source>Recommend SAP Sailing Analytics</source>
<target state="signed-off">SAP Sailing Analytics を推奨</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="solutionsSISHeadline" resname="solutionsSISHeadline">
<source>SAP in Sailing</source>
<target state="signed-off">SAP in Sailing</target>
<note annotates="source" from="Developer">SOLUTIONS</note>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="solutionsSAPHeadline" resname="solutionsSAPHeadline">
<source>SAP Sailing Analytics</source>
<target state="signed-off">SAP Sailing Analytics</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="solutionsRaceHeadline" resname="solutionsRaceHeadline">
<source>SAP Sailing Race Manager</source>
<target state="signed-off">SAP Sailing Race Manager</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="solutionsPostHeadline" resname="solutionsPostHeadline">
<source>Post-Race Analytics</source>
<target state="signed-off">レース後分析</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="solutionsTrainingHeadline" resname="solutionsTrainingHeadline">
<source>Training Diary</source>
<target state="signed-off">トレーニング日記</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="solutionsSimulatorHeadline" resname="solutionsSimulatorHeadline">
<source>Strategy Simulator</source>
<target state="signed-off">戦略シミュレータ</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="sapInSailing" resname="sapInSailing">
<source>SAP in Sailing</source>
<target state="signed-off">SAP in Sailing</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="contentSapInSailing1" resname="contentSapInSailing1">
<source>Sailing provides the perfect platform for SAP to showcase solutions and help the sport run like never before. SAPs involvement in the sport has transformed the sailing experience by providing tools, which:</source>
<target state="signed-off">セーリングは、SAP にとってソリューションを紹介するためのプラットフォームとして完全なものであり、これまでになかったやり方でスポーツの運営に役立っています。SAP によるスポーツへの関与は、以下のことを行うツールを提供することによってセーリングから得られる体験をすっかり変えてしまいました。</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="contentSapInSailing2" resname="contentSapInSailing2">
<source>Help sailors analyze performance and optimize strategy</source>
<target state="signed-off">セーラーによるパフォーマンス分析の支援および戦略の最適化</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="contentSapInSailing3" resname="contentSapInSailing3">
<source>Bring fans closer to the action</source>
<target state="signed-off">アクションをファンに身近なものにする</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="contentSapInSailing4" resname="contentSapInSailing4">
<source>Provide the media with information and insights to deliver a greater informed commentary</source>
<target state="signed-off">情報豊富なばらしい解説を行うための情報とインサイトをメディアに提供</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="contentSapInSailing5" resname="contentSapInSailing5">
<source>SAP has a longstanding involvement with sailing and has established a portfolio spanning across teams and regattas, including:</source>
<target state="signed-off">SAP は、長年にわたりセーリングに関係しており、以下のようなチームやレガッタにわたってポートフォリオを確立してきました。</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="contentSapInSailing6" resname="contentSapInSailing6">
<source>Official Technology Partner of Travemünder Woche</source>
<target state="signed-off">Travemünder Woche の公式テクノロジーパートナー</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="contentSapInSailing7" resname="contentSapInSailing7">
<source>Technical Partner of the European Sailing Leagues</source>
<target state="signed-off">欧州セーリング連盟 (European Sailing Leagues) のテクノロジーパートナー</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="contentSapInSailing8" resname="contentSapInSailing8">
<source>Title sponsor of the SAP Extreme Sailing Team</source>
<target state="signed-off">SAP Extreme Sailing Team のタイトルスポンサー</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="contentSapInSailing9" resname="contentSapInSailing9">
<source>Official Technical Partner of the Extreme Sailing Series</source>
<target state="signed-off">Extreme Sailing Series の公式テクニカルパートナー</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="contentSapInSailing10" resname="contentSapInSailing10">
<source>Premium Partner of Germanys national sailing team, Audi Sailing Team Germany</source>
<target state="signed-off">ドイツ代表セーリングチームである Audi Sailing Team Germany のプレミアムパートナー</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="contentSapInSailing11" resname="contentSapInSailing11">
<source>Premium Partner of the worlds largest regatta, Kieler Woche (Kiel Week)</source>
<target state="signed-off">世界最大のレガッタである Kieler Woche (Kiel Week) のプレミアムパートナー</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="contentSapInSailing12" resname="contentSapInSailing12">
<source>Title sponsor of the SAP 5O5 World Championships</source>
<target state="signed-off">SAP 5O5 World Championships のタイトルスポンサー</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="solutionsSAPText1" resname="solutionsSAPText1">
<source>By delivering real time analytics around race rankings, speeds, maneuvers, bearings etc., SAP is helping to simplify and demystify the complex sport of sailing.</source>
<target state="signed-off">レースランキング、速力、操縦、ベアリングなどに関係するリアルタイム分析を提供することにより、SAP はセーリングという複雑なスポーツを平易かつ分かりやすく説明することをお手伝いしています。</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="solutionsSAPText2" resname="solutionsSAPText2">
<source>SAP Sailing Analytics provide insights and transparency to the world of sailing by utilizing Cloud and In-Memory Technology, processing GPS and wind measurement data in real time and visualizing contents in various frontends accessible from anywhere.</source>
<target state="signed-off">SAP Sailing Analytics は、クラウドおよびインメモリ技術を活用し、リアルタイムで GPS および風計測データを処理し、どこからでもアクセスできるさまざまなフロントエンドでコンテンツを視覚化することによってセーリングの世界にインサイトと透明性を提供します。</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="solutionsRaceText" resname="solutionsRaceText">
<source>The SAP Race Committee App delivers greater efficiency and control to race organizers by automating and simplifying their manual tasks and communication during running sailing regattas. The Race Committee App helps simplify the operation of running and managing race events to help race committees operate smarter.</source>
<target state="signed-off">SAP Race Committee アプリは、セーリングレガッタ運営中にレース組織者にその手動での作業および連絡業務を自動化および簡略化することによって効率と統制を向上させます。Race Committee アプリは、レースイベントの運営および管理の業務を簡略化するのに役立ち、レース委員会がより円滑に運営されるよう支援します。</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="solutionsPostText" resname="solutionsPostText">
<source>Access to data collected at sailing events gives sailors the opportunity to assess and analyse their performances to help develop strategies and sail better.<ph id="1">&lt;br&gt;</ph> SAP Business Analytics solutions provide sailors, coaches, fans and media with tools to browse and analyse historical data across many regattas and races. SAP HANA allows them to learn about performance patterns, tendencies and sailor profiles in a simple, fast and efficient way in order to optimize their own performance and develop successful strategies for future regattas.</source>
<target state="signed-off">セーリングイベントで収集されたデータへのアクセスにより、戦略の策定や帆走の向上を支援するためにセーラーがそのパフォーマンスを評価および分析するための機会が提供されます。<ph id="1">&lt;br&gt;</ph>SAP Business Analytics ソリューションは、多くのレガッタおよびレースにわたって履歴データを照会および分析するツールをセーラー、コーチ、ファン、そして報道関係者に提供します。SAP HANA は、こうした人たちが自身のパフォーマンスを最適化し、予定されているレガッタのために成功を収める戦略を策定するために簡単、迅速、かつ効率的な方法でパフォーマンスのパターン、傾向、およびセーラーのプロファイルを知ることを可能にします。</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="solutionsTrainingText" resname="solutionsTrainingText">
<source>The STG Training Diary supports the daily documentation and analysis of an athlete''s physical condition and training efforts in the areas of water training, physical training, boat work, mental, theory as well as other activities like education or travel.</source>
<target state="signed-off">STG Training Diary は、アスリートの体調、ならびに水上トレーニング、身体的トレーニング、操艇、メンタル、理論、さらに教育や移動などのその他の活動の領域におけるトレーニングへの取り組みの日々の記録および分析をサポートします。</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="solutionsSimulatorText" resname="solutionsSimulatorText">
<source>Choosing the right strategy can provide great competitive advantage during a race. The Strategy Simulator simplifies determining the best sailing strategy for various wind conditions and water currents. Since wind and current can be changed in the simulation right away, the robustness of a strategy can be easily evaluated even for uncertain weather conditions.</source>
<target state="signed-off">適切な戦略の選択は、レース中における大きな競争上の優位性をもたらすことができます。Strategy Simulator により、さまざまな風況および水流に対して最良のセーリング戦略を決定することが平易になります。風と水流をシミュレーションで直ちに変更することができるため、不確かな気象条件に対しても戦略の確かさを簡単に評価することができます。</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="sapSailingAnalytics" resname="sapSailingAnalytics">
<source>SAP Sailing Analytics</source>
<target state="signed-off">SAP Sailing Analytics</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="contentSapSailingAnalytics1" resname="contentSapSailingAnalytics1">
<source>By delivering real time analytics around race rankings, speeds, maneuvers, bearings etc., SAP is helping to simplify and demystify the complex sport of sailing.</source>
<target state="signed-off">レースランキング、速力、操縦、ベアリングなどに関係するリアルタイム分析を提供することによって、SAP はセーリングという複雑なスポーツを平易かつ分かりやすく説明することに役立っています。</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="contentSapSailingAnalytics2" resname="contentSapSailingAnalytics2">
<source>SAP Sailing Analytics provide insights and transparency to the world of sailing by utilizing Cloud and In-Memory Technology, processing GPS and wind measurement data in real time and visualizing contents in various frontends accessible from anywhere.</source>
<target state="signed-off">SAP Sailing Analytics は、クラウドおよびインメモリ技術を活用し、リアルタイムで GPS および風計測データを処理し、どこからでもアクセスできるさまざまなフロントエンドでコンテンツを視覚化することによってセーリングの世界にインサイトと透明性を提供します。</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="sapSailingAnalyticsReadMore" resname="sapSailingAnalyticsReadMore">
<source>Read More</source>
<target state="signed-off">続きを読む</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="sapSailingRaceManager" resname="sapSailingRaceManager">
<source>SAP Sailing Race Manager</source>
<target state="signed-off">SAP Sailing Race Manager</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="contentSapSailingRaceManager" resname="contentSapSailingRaceManager">
<source>The SAP Sailing Race Manager delivers greater efficiency and control to race organizers by automating and simplifying their manual tasks and communication during running sailing regattas. The Race Committee App helps simplify the operation of running and managing race events to help race committees operate smarter.</source>
<target state="signed-off">SAP Sailing Race Manager は、セーリングレガッタ運営中にレース組織者にその手動での作業および連絡業務を自動化および簡略化することによって効率と統制を向上させます。Race Committee アプリは、レースイベントの運営および管理の業務を簡略化するのに役立ち、レース委員会がより円滑に運営されるよう支援します。</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="sapSailingRaceManagerReadMore" resname="sapSailingRaceManagerReadMore">
<source>Learn More</source>
<target state="signed-off">詳細情報</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="postRaceAnalytics" resname="postRaceAnalytics">
<source>Post-Race Analytics</source>
<target state="signed-off">レース後分析</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="contentPostRaceAnalytics1" resname="contentPostRaceAnalytics1">
<source>Access to data collected at sailing events gives sailors the opportunity to assess and analyse their performances to help develop strategies and sail better.</source>
<target state="signed-off">セーリングイベントで収集されたデータへのアクセスにより、戦略の策定や帆走の向上を支援するためにセーラーがそのパフォーマンスを評価および分析するための機会が提供されます。</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="contentPostRaceAnalytics2" resname="contentPostRaceAnalytics2">
<source>SAP Business Analytics solutions provide sailors, coaches, fans and media with tools to browse and analyse historical data across many regattas and races. SAP HANA allows them to learn about performance patterns, tendencies and sailor profiles in a simple, fast and efficient way in order to optimize their own performance and develop successful strategies for future regattas.</source>
<target state="signed-off">SAP Business Analytics ソリューションは、多くのレガッタおよびレースにわたって履歴データを照会および分析するツールをセーラー、コーチ、ファン、そして報道関係者に提供します。SAP HANA は、こうした人たちが自身のパフォーマンスを最適化し、予定されているレガッタのために成功を収める戦略を策定するために簡単、迅速、かつ効率的な方法でパフォーマンスのパターン、傾向、およびセーラーのプロファイルを知ることを可能にします。</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="i18nDeSolutionsTrainingHeadline" resname="i18nDeSolutionsTrainingHeadline">
<source>SAP Sail Better STG Training Diary</source>
<target state="signed-off">SAP Sail Better STG Training Diary</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="i18nDeSolutionsTrainingText" resname="i18nDeSolutionsTrainingText">
<source>The STG Training Diary supports the daily documentation and analysis of an athletes physical condition and training efforts in the areas of water training, physical training, boat work, mental, theory as well as other activities like education or travel.</source>
<target state="signed-off">STG Training Diary は、アスリートの体調、ならびに水上トレーニング、身体的トレーニング、操艇、メンタル、理論、さらに教育や移動などのその他の活動の領域におけるトレーニングへの取り組みの日々の記録および分析をサポートします。</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="strategySimulator" resname="strategySimulator">
<source>Strategy Simulator</source>
<target state="signed-off">戦略シミュレータ</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="contentStrategySimulator" resname="contentStrategySimulator">
<source>Choosing the right strategy can provide great competitive advantage during a race. The Strategy Simulator simplifies determining the best sailing strategy for various wind conditions and water currents. Since wind and current can be changed in the simulation right away, the robustness of a strategy can be easily evaluated even for uncertain weather conditions.</source>
<target state="signed-off">適切な戦略の選択は、レース中における大きな競争上の優位性をもたらすことができます。Strategy Simulator により、さまざまな風況および水流に対して最良のセーリング戦略を決定することが平易になります。風と水流をシミュレーションで直ちに変更することができるため、不確かな気象条件に対しても戦略の確かさを簡単に評価することができます。</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="strategySimulatorReadMore" resname="strategySimulatorReadMore">
<source>Learn More</source>
<target state="signed-off">詳細情報</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="impressum" resname="impressum">
<source>Imprint</source>
<target state="signed-off">刻印</target>
</trans-unit>
</body>
</file>
</xliff>
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<xliff xmlns="urn:oasis:names:tc:xliff:document:1.2" version="1.2">
<file datatype="javapropertyresourcebundle" date="2016-04-18T13:55:53Z" original="/usr/sap/ljs/app/Converter_620566382034089997/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/common/client/i18n/TextMessages.properties" source-language="en" target-language="ru">
<file datatype="javapropertyresourcebundle" date="2016-04-27T12:51:56Z" original="/usr/sap/ljs/app/Converter_620566382034089997/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/common/client/i18n/TextMessages.properties" source-language="en" target-language="ru">
<header>
<skl>
<internal-file crc="1a395915e09df129e5e910632f33160a" form="base64">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</internal-file>
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<xliff xmlns="urn:oasis:names:tc:xliff:document:1.2" version="1.2">
<file datatype="javapropertyresourcebundle" date="2016-04-18T13:55:54Z" original="/usr/sap/ljs/app/Converter_620566382034089997/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/common/client/i18n/TextMessages.properties" source-language="en" target-language="zh-CN">
<file datatype="javapropertyresourcebundle" date="2016-04-27T12:37:54Z" original="/usr/sap/ljs/app/Converter_620566382034089997/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/common/client/i18n/TextMessages.properties" source-language="en" target-language="zh-CN">
<header>
<skl>
<internal-file crc="1a395915e09df129e5e910632f33160a" form="base64">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</internal-file>
@@ -13,7 +13,7 @@
<body>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="chartSelectionHint" resname="chartSelectionHint">
<source>Hint: You can also use the leaderboard (on the LEADERBOARD tab) to select the competitors displayed in the chart. </source>
<target state="translated">提示:您还可以使用积分榜(在 LEADERBOARD 选项卡中)选择在记录中显示的参赛队。</target>
<target state="signed-off">提示:您还可以使用积分榜(在 LEADERBOARD 选项卡中)选择在记录中显示的参赛队。</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="chooseALanguage" resname="chooseALanguage">
<source>Choose a language</source>
@@ -77,7 +77,7 @@
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="viewAnalysis" resname="viewAnalysis">
<source>View analysis </source>
<target state="translated">查看分析</target>
<target state="signed-off">查看分析</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="overallLeaderboard" resname="overallLeaderboard">
<source>Overall leaderboard</source>
@@ -509,7 +509,7 @@
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="headerSearchPlaceholder" resname="headerSearchPlaceholder">
<source>Search </source>
<target state="translated">搜索</target>
<target state="signed-off">搜索</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="headerSolutions" resname="headerSolutions">
<source>Solutions</source>
@@ -685,7 +685,7 @@
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="socialFooterShare" resname="socialFooterShare">
<source>Share this on </source>
<target state="translated">分享到</target>
<target state="signed-off">分享到</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="socialFooterTitle" resname="socialFooterTitle">
<source>Recommend SAP Sailing Analytics</source>
@@ -436,8 +436,8 @@ public class RaceContext {
}
// TODO do not calculate the winner if the blue flag is currently shown.
try {
TimePoint finishTime = getFinishTime();
if(finishTime == null) {
TimePoint finishTime = trackedRace.getEndOfRace();
if (finishTime == null) {
finishTime = HomeServiceUtil.getLiveTimePoint();
}
List<Competitor> competitors = leaderboard.getCompetitorsFromBestToWorst(raceColumn, finishTime);
@@ -332,11 +332,8 @@ public abstract class AbstractLeaderboardConfigPanel extends FormPanel implement
}
/**
* @param nameOfRaceColumnToSelect
* if not <code>null</code>, selects the first race column name with this name found in the leaderboard
* after the refresh has successfully completed. See {@link #selectRaceColumn(String)}.
*/
public void loadAndRefreshLeaderboard(final String leaderboardName, final String nameOfRaceColumnToSelect) {
public void loadAndRefreshLeaderboard(final String leaderboardName) {
sailingService.getLeaderboard(leaderboardName, new MarkedAsyncCallback<StrippedLeaderboardDTO>(
new AsyncCallback<StrippedLeaderboardDTO>() {
@Override
@@ -350,9 +347,6 @@ public abstract class AbstractLeaderboardConfigPanel extends FormPanel implement
replaceLeaderboardInList(availableLeaderboardList, leaderboardName, leaderboard);
filterLeaderboardPanel.updateAll(availableLeaderboardList); // also updates leaderboardList provider
leaderboardSelectionModel.setSelected(leaderboard, true);
if (nameOfRaceColumnToSelect != null) {
selectRaceColumn(nameOfRaceColumnToSelect);
}
leaderboardSelectionChanged();
getLeaderboardsRefresher().updateLeaderboards(leaderboardList.getList(), AbstractLeaderboardConfigPanel.this);
}
@@ -593,7 +587,7 @@ public abstract class AbstractLeaderboardConfigPanel extends FormPanel implement
new ParallelExecutionHolder(callbacks.toArray(new ParallelExecutionCallback<?>[0])) {
@Override
public void handleSuccess() {
loadAndRefreshLeaderboard(selectedLeaderboardName, result.getName());
loadAndRefreshLeaderboard(selectedLeaderboardName);
}
@Override
public void handleFailure(Throwable t) {
@@ -22,6 +22,8 @@ import com.sap.sse.gwt.client.celltable.BaseCelltable;
import com.sap.sse.gwt.client.dialog.DataEntryDialog;
public abstract class AbstractLogDialog<R extends AbstractLogDTO<E>, E extends AbstractLogEventDTO> extends DataEntryDialog<R> {
protected final StringMessages stringMessages;
private final R logDTO;
private final SelectionModel<E> selectionModel;
@@ -30,6 +32,7 @@ public abstract class AbstractLogDialog<R extends AbstractLogDTO<E>, E extends A
public AbstractLogDialog(final R logDTO, final StringMessages stringMessages, String logName, DialogCallback<R> callback) {
super(logName, null, stringMessages.ok(), stringMessages.cancel(), /* validator */ null, callback);
this.stringMessages = stringMessages;
this.logDTO = logDTO;
raceLogEventsList = new ListDataProvider<E>();
@@ -146,11 +149,11 @@ public abstract class AbstractLogDialog<R extends AbstractLogDTO<E>, E extends A
addFirstColumns(raceLogEventsTable, columnSortHandler);
raceLogEventsTable.addColumn(logEventTypeColumn, stringMessages.type());
raceLogEventsTable.addColumn(logEventCreatedColumn, "Created at");
raceLogEventsTable.addColumn(logEventLogicalTimeColumn, "Logical timepoint");
raceLogEventsTable.addColumn(logEventAuthorColumn, "Author");
raceLogEventsTable.addColumn(logEventAuthorPriorityColumn, "Priority");
raceLogEventsTable.addColumn(logEventInfoColumn, "Info");
raceLogEventsTable.addColumn(logEventCreatedColumn, stringMessages.createdAt());
raceLogEventsTable.addColumn(logEventLogicalTimeColumn, stringMessages.logicalTimepoint());
raceLogEventsTable.addColumn(logEventAuthorColumn, stringMessages.authorName());
raceLogEventsTable.addColumn(logEventAuthorPriorityColumn, stringMessages.authorPriority());
raceLogEventsTable.addColumn(logEventInfoColumn, stringMessages.info());
addLastColumns(raceLogEventsTable, columnSortHandler);
raceLogEventsList.addDataDisplay(raceLogEventsTable);
@@ -36,7 +36,7 @@ public class ControlPointTableWrapper<S extends RefreshableSelectionModel<Contro
@Override
public String getValue(ControlPointDTO d) {
if (d instanceof GateDTO) {
return "2x " + stringMessages.mark();
return stringMessages.twoXMark();
} else if (d instanceof MarkDTO) {
return stringMessages.mark();
} else {
@@ -55,7 +55,8 @@ public class CourseAndCompetitorCopyOperation {
return new Util.Triple<String, String, String>(leaderboardName, race.getA().getName(), race.getB().getName());
}
public void perform(String leaderboardName, RaceColumnDTOAndFleetDTOWithNameBasedEquality raceColumnDTOAndFleetDTO) {
public void perform(String leaderboardName, RaceColumnDTOAndFleetDTOWithNameBasedEquality raceColumnDTOAndFleetDTO,
final Runnable onSuccessCallback) {
Triple<String, String, String> fromTriple = toTriple(leaderboardName, raceColumnDTOAndFleetDTO);
Set<Triple<String, String, String>> toRacelogs = convertToRacelogs(leaderboardName);
@@ -68,7 +69,9 @@ public class CourseAndCompetitorCopyOperation {
@Override
public void onSuccess(Void result) {
if (onSuccessCallback != null) {
onSuccessCallback.run();
}
}
});
}
@@ -184,7 +184,7 @@ public class EventListComposite extends Composite implements EventsRefresher, Le
panel.add(filterTextbox);
panel.add(eventTable);
noEventsLabel = new Label("No events defined yet.");
noEventsLabel = new Label(stringMessages.noEventsYet());
noEventsLabel.ensureDebugId("NoRegattasLabel");
noEventsLabel.setWordWrap(false);
panel.add(noEventsLabel);
@@ -16,6 +16,9 @@ import com.sap.sse.gwt.client.controls.GenericListBox;
import com.sap.sse.gwt.client.controls.GenericListBox.ValueBuilder;
import com.sap.sse.gwt.client.dialog.DataEntryDialog;
/**
* The result of this dialog is a triple (event, serverUrlString, emailsString).
*/
public class InviteBuoyTenderDialog extends DataEntryDialog<Triple<EventDTO, String, String>> {
private GenericListBox<EventDTO> events;
private TextBox serverUrl;
@@ -25,7 +28,8 @@ public class InviteBuoyTenderDialog extends DataEntryDialog<Triple<EventDTO, Str
private String leaderboardName;
private ErrorReporter errorReporter;
public InviteBuoyTenderDialog(final StringMessages stringMessages, SailingServiceAsync sailingService, String leaderboardName, ErrorReporter errorReporter, DialogCallback<Triple<EventDTO, String, String>> callback) {
public InviteBuoyTenderDialog(final StringMessages stringMessages, SailingServiceAsync sailingService,
String leaderboardName, ErrorReporter errorReporter, DialogCallback<Triple<EventDTO, String, String>> callback) {
super(stringMessages.selectEventForInvitation(), null, stringMessages.inviteBuoyTenders(), stringMessages
.cancel(), new Validator<Triple<EventDTO, String, String>>() {
@Override
@@ -64,7 +68,6 @@ public class InviteBuoyTenderDialog extends DataEntryDialog<Triple<EventDTO, Str
serverUrl = createTextBox(Window.Location.getProtocol() + "//" + Window.Location.getHost());
emails = createTextBox("test@example.com,test2@example.com");
grid.setWidget(0, 1, serverUrl);
grid.setWidget(1, 0, createLabel(stringMessages.event()));
events = createGenericListBox(new ValueBuilder<EventDTO>() {
@Override
@@ -76,7 +79,6 @@ public class InviteBuoyTenderDialog extends DataEntryDialog<Triple<EventDTO, Str
}
}, false);
grid.setWidget(1, 1, events);
events.addItem((EventDTO) null);
sailingService.getEventsForLeaderboard(leaderboardName, new AsyncCallback<Collection<EventDTO>>() {
@Override
@@ -548,7 +548,7 @@ TrackedRaceChangedListener, LeaderboardsDisplayer {
@Override
public void onSuccess(Void arg0) {
loadAndRefreshLeaderboard(selectedLeaderboardName, /* raceColumnNameToSelect */ null);
loadAndRefreshLeaderboard(selectedLeaderboardName);
}
}));
}
@@ -572,7 +572,7 @@ TrackedRaceChangedListener, LeaderboardsDisplayer {
@Override
public void onSuccess(Void result) {
loadAndRefreshLeaderboard(selectedLeaderboardName, selectedRaceColumnName);
loadAndRefreshLeaderboard(selectedLeaderboardName);
}
}));
}
@@ -596,7 +596,7 @@ TrackedRaceChangedListener, LeaderboardsDisplayer {
@Override
public void onSuccess(Void result) {
loadAndRefreshLeaderboard(selectedLeaderboardName, selectedRaceColumnName);
loadAndRefreshLeaderboard(selectedLeaderboardName);
}
}));
}
@@ -671,7 +671,7 @@ TrackedRaceChangedListener, LeaderboardsDisplayer {
@Override
public void onSuccess(Void v) {
loadAndRefreshLeaderboard(leaderboardName, /* nameOfRaceColumnToSelect */ null);
loadAndRefreshLeaderboard(leaderboardName);
}
}));
}
@@ -36,10 +36,10 @@ public class LocalServerManagementPanel extends SimplePanel {
setWidget(mainPanel);
mainPanel.setWidth("100%");
serverInfoPanel = new CaptionPanel("Server Information");
serverInfoPanel = new CaptionPanel(stringMessages.serverInformation());
mainPanel.add(serverInfoPanel);
serverConfigurationPanel = new CaptionPanel("Server Configuration");
serverConfigurationPanel = new CaptionPanel(stringMessages.serverConfiguration());
mainPanel.add(serverConfigurationPanel);
createServerInfoUI();
@@ -56,7 +56,7 @@ public class LocalServerManagementPanel extends SimplePanel {
Grid grid = new Grid(2, 2);
grid.setWidget(0, 0, new Label(stringMessages.name() + ":"));
grid.setWidget(0, 1, serverNameLabel);
grid.setWidget(1, 0, new Label("Build version:"));
grid.setWidget(1, 0, new Label(stringMessages.buildVersion() + ":"));
grid.setWidget(1, 1, buildVersionLabel);
serverInfoContentPanel.add(grid);
@@ -76,7 +76,7 @@ public class LocalServerManagementPanel extends SimplePanel {
});
Grid grid = new Grid(2, 2);
grid.setWidget(0, 0, new Label("Standalone server:"));
grid.setWidget(0, 0, new Label(stringMessages.standaloneServer() + ":"));
grid.setWidget(0, 1, isStandaloneServerCheckbox);
serverConfigurationContentPanel.add(grid);
@@ -12,11 +12,9 @@ import com.sap.sailing.gwt.ui.shared.RaceLogDTO;
import com.sap.sailing.gwt.ui.shared.RaceLogEventDTO;
public class RaceLogDialog extends AbstractLogDialog<RaceLogDTO, RaceLogEventDTO> {
private final StringMessages stringMessages;
public RaceLogDialog(final RaceLogDTO raceLogDTO, final StringMessages stringMessages, DialogCallback<RaceLogDTO> callback) {
super(raceLogDTO, stringMessages, stringMessages.raceLog(), callback);
this.stringMessages = stringMessages;
}
@Override
@@ -34,7 +32,7 @@ public class RaceLogDialog extends AbstractLogDialog<RaceLogDTO, RaceLogEventDTO
return (r1.getPassId()<r2.getPassId() ? -1 : (r1.getPassId()==r2.getPassId() ? 0 : 1));
}
});
table.addColumn(raceLogEventPassIdColumn, "PassId");
table.addColumn(raceLogEventPassIdColumn, stringMessages.passId());
}
@Override
@@ -85,12 +85,12 @@ public class SmartphoneTrackingEventManagementPanel extends AbstractLeaderboardC
@Override
public void racesStoppedTracking(Iterable<? extends RegattaAndRaceIdentifier> regattaAndRaceIdentifiers) {
loadAndRefreshLeaderboard(getSelectedLeaderboard().name, getSelectedRaceColumnWithFleet().getA().getName());
loadAndRefreshLeaderboard(getSelectedLeaderboard().name);
}
@Override
public void racesRemoved(Iterable<? extends RegattaAndRaceIdentifier> regattaAndRaceIdentifiers) {
loadAndRefreshLeaderboard(getSelectedLeaderboard().name, getSelectedRaceColumnWithFleet().getA().getName());
loadAndRefreshLeaderboard(getSelectedLeaderboard().name);
}
});
}
@@ -313,6 +313,7 @@ public class SmartphoneTrackingEventManagementPanel extends AbstractLeaderboardC
new AsyncCallback<Void>() {
@Override
public void onSuccess(Void result) {
loadAndRefreshLeaderboard(leaderboardName);
}
@Override
@@ -330,8 +331,8 @@ public class SmartphoneTrackingEventManagementPanel extends AbstractLeaderboardC
leaderboardName, new DialogCallback<CourseAndCompetitorCopyOperation>() {
@Override
public void ok(CourseAndCompetitorCopyOperation operation) {
operation.perform(leaderboardName, raceColumnDTOAndFleetDTO);
loadAndRefreshLeaderboard(leaderboardName, raceColumnDTOAndFleetDTO.getA().getName());
operation.perform(leaderboardName, raceColumnDTOAndFleetDTO, /* onSuccessCallback */ new Runnable() {
@Override public void run() { loadAndRefreshLeaderboard(leaderboardName); }});
}
@Override
@@ -419,10 +420,7 @@ public class SmartphoneTrackingEventManagementPanel extends AbstractLeaderboardC
for (TrackedRaceChangedListener listener : trackedRacesListComposite.raceIsTrackedRaceChangeListener) {
listener.racesStoppedTracking(racesToStopTracking);
}
for (RaceColumnDTOAndFleetDTOWithNameBasedEquality raceColumndDTOAndFleet : selectedSet) {
loadAndRefreshLeaderboard(getSelectedLeaderboard().name, raceColumndDTOAndFleet.getA().getName());
}
loadAndRefreshLeaderboard(getSelectedLeaderboard().name);
}
}));
}
@@ -487,7 +485,6 @@ public class SmartphoneTrackingEventManagementPanel extends AbstractLeaderboardC
raceColumnsAndFleets.add(new Triple<String, String, String>(selectedLeaderboard.name, raceColumn.getName(), fleet.getName()));
}
}
sailingService.getTrackingTimes(raceColumnsAndFleets,
new AsyncCallback<Map<Triple<String, String, String>, Pair<TimePointSpecificationFoundInLog, TimePointSpecificationFoundInLog>>>() {
@Override
@@ -498,7 +495,6 @@ public class SmartphoneTrackingEventManagementPanel extends AbstractLeaderboardC
@Override
public void onSuccess(Map<Triple<String, String, String>, Pair<TimePointSpecificationFoundInLog, TimePointSpecificationFoundInLog>> result) {
raceWithStartAndEndOfTrackingTime = result;
raceColumnTable.getDataProvider().getList().clear();
for (RaceColumnDTO raceColumn : selectedLeaderboard.getRaceList()) {
for (FleetDTO fleet : raceColumn.getFleets()) {
@@ -508,13 +504,11 @@ public class SmartphoneTrackingEventManagementPanel extends AbstractLeaderboardC
}
}
});
selectedLeaderBoardPanel.setVisible(true);
selectedLeaderBoardPanel.setCaptionText("Details of leaderboard '" + selectedLeaderboard.name + "'");
if (!selectedLeaderboard.type.isMetaLeaderboard()) {
trackedRacesCaptionPanel.setVisible(true);
}
sailingService.doesRegattaLogContainCompetitors(((StrippedLeaderboardDTO) leaderboardSelectionModel.getSelectedSet().toArray()[0]).name, new RegattaLogCallBack());
} else {
selectedLeaderBoardPanel.setVisible(false);
@@ -543,7 +537,7 @@ public class SmartphoneTrackingEventManagementPanel extends AbstractLeaderboardC
sailingService.denoteForRaceLogTracking(leaderboard.name, new AsyncCallback<Void>() {
@Override
public void onSuccess(Void result) {
loadAndRefreshLeaderboard(leaderboard.name, null);
loadAndRefreshLeaderboard(leaderboard.name);
raceColumnTableSelectionModel.clear();
}
@@ -559,7 +553,7 @@ public class SmartphoneTrackingEventManagementPanel extends AbstractLeaderboardC
sailingService.denoteForRaceLogTracking(leaderboard.name, raceColumn.getName(), fleet.getName(), new AsyncCallback<Void>() {
@Override
public void onSuccess(Void result) {
loadAndRefreshLeaderboard(leaderboard.name, raceColumn.getName());
loadAndRefreshLeaderboard(leaderboard.name);
}
@Override
@@ -574,7 +568,7 @@ public class SmartphoneTrackingEventManagementPanel extends AbstractLeaderboardC
sailingService.removeDenotationForRaceLogTracking(leaderboard.name, raceColumn.getName(), fleet.getName(), new AsyncCallback<Void>() {
@Override
public void onSuccess(Void result) {
loadAndRefreshLeaderboard(leaderboard.name, raceColumn.getName());
loadAndRefreshLeaderboard(leaderboard.name);
}
@Override
@@ -611,7 +605,7 @@ public class SmartphoneTrackingEventManagementPanel extends AbstractLeaderboardC
new AsyncCallback<Void>() {
@Override
public void onSuccess(Void result) {
loadAndRefreshLeaderboard(leaderboard.name, getSelectedRaceColumnWithFleet().getA().getName());
loadAndRefreshLeaderboard(leaderboard.name);
trackedRacesListComposite.regattaRefresher.fillRegattas();
}
@@ -690,11 +684,11 @@ public class SmartphoneTrackingEventManagementPanel extends AbstractLeaderboardC
return LocaleInfo.getCurrentLocale().getLocaleName();
}
private void openChooseEventDialogAndSendMails(final String leaderBoardName) {
new InviteBuoyTenderDialog(stringMessages, sailingService, leaderBoardName, errorReporter, new DialogCallback<Triple<EventDTO, String, String>>() {
private void openChooseEventDialogAndSendMails(final String leaderboardName) {
new InviteBuoyTenderDialog(stringMessages, sailingService, leaderboardName, errorReporter, new DialogCallback<Triple<EventDTO, String, String>>() {
@Override
public void ok(Triple<EventDTO, String, String> result) {
sailingService.inviteBuoyTenderViaEmail(result.getB(), result.getA(), leaderBoardName, result.getC(),
sailingService.inviteBuoyTenderViaEmail(result.getB(), result.getA(), leaderboardName, result.getC(),
null,
stringMessages.playStoreBuoypositioningApp(),
getLocaleInfo(), new AsyncCallback<Void>() {
@@ -166,7 +166,7 @@ public class StructureImportManagementPanel extends SimplePanel implements Regat
});
Grid eventURLGrid = new Grid(3, 2);
eventURLGrid.setWidget(0, 0, new Label(stringMessages.manage2Sail() + " " + stringMessages.event() + " " + stringMessages.id() + ":"));
eventURLGrid.setWidget(0, 0, new Label(stringMessages.manage2SailEvent() + stringMessages.id() + ":"));
eventURLGrid.setWidget(0, 1, eventIDTextBox);
eventURLGrid.setWidget(1, 0, new Label(stringMessages.jsonUrl() + ":"));
eventURLGrid.setWidget(1, 1, jsonURLTextBox);
@@ -175,7 +175,7 @@ public class StructureImportManagementPanel extends SimplePanel implements Regat
mainPanel.add(progressPanel);
mainPanel.add(eventURLGrid);
regattaImportPanel = new CaptionPanel(stringMessages.manage2Sail() + " " + stringMessages.event());
regattaImportPanel = new CaptionPanel(stringMessages.manage2SailEvent());
mainPanel.add(regattaImportPanel);
VerticalPanel regattaImportContentPanel = new VerticalPanel();
regattaImportPanel.setContentWidget(regattaImportContentPanel);
@@ -160,7 +160,7 @@ public class SwissTimingReplayConnectorPanel extends AbstractEventManagementPane
// the regatta selection for a tracked race
HorizontalPanel regattaPanel = new HorizontalPanel();
racesPanel.add(regattaPanel);
Label lblRegattas = new Label("Regatta used for the tracked race:");
Label lblRegattas = new Label(stringMessages.regattaUsedForTheTrackedRace());
lblRegattas.setWordWrap(false);
regattaPanel.setCellVerticalAlignment(lblRegattas, HasVerticalAlignment.ALIGN_MIDDLE);
regattaPanel.setSpacing(5);
@@ -7,7 +7,9 @@ import com.google.gwt.user.cellview.client.SimplePager;
import com.google.gwt.user.client.ui.IsWidget;
import com.google.gwt.user.client.ui.VerticalPanel;
import com.google.gwt.user.client.ui.Widget;
import com.google.gwt.view.client.HasRows;
import com.google.gwt.view.client.ListDataProvider;
import com.google.gwt.view.client.Range;
import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
import com.sap.sailing.gwt.ui.client.StringMessages;
import com.sap.sailing.gwt.ui.client.shared.controls.FlushableCellTable;
@@ -45,7 +47,7 @@ public abstract class TableWrapper<T, S extends RefreshableSelectionModel<T>> im
* {@link EntityIdentityComparator} to create a {@link RefreshableSelectionModel}
*/
public TableWrapper(SailingServiceAsync sailingService, StringMessages stringMessages, ErrorReporter errorReporter,
public TableWrapper(SailingServiceAsync sailingService, final StringMessages stringMessages, ErrorReporter errorReporter,
boolean multiSelection, boolean enablePager, EntityIdentityComparator<T> entityIdentityComparator) {
this.sailingService = sailingService;
this.errorReporter = errorReporter;
@@ -77,7 +79,19 @@ public abstract class TableWrapper<T, S extends RefreshableSelectionModel<T>> im
mainPanel.add(table);
if (enablePager) {
table.setPageSize(8);
SimplePager pager = new SimplePager();
SimplePager pager = new SimplePager() {
protected String createText() {
HasRows display = getDisplay();
Range range = display.getVisibleRange();
int pageStart = range.getStart() + 1;
int pageSize = range.getLength();
int dataSize = display.getRowCount();
int endIndex = Math.min(dataSize, pageStart + pageSize - 1);
endIndex = Math.max(pageStart, endIndex);
boolean exact = display.isRowCountExact();
return stringMessages.pagerStateInfo(pageStart, endIndex, dataSize, exact);
}
};
pager.setDisplay(table);
mainPanel.add(pager);
}
@@ -22,14 +22,14 @@ public class WaypointTableWrapper<S extends RefreshableSelectionModel<WaypointDT
return d.controlPoint.getName();
}
};
table.addColumn(nameColumn, stringMessages.controlPoint() + " " + stringMessages.name());
table.addColumn(nameColumn, stringMessages.controlPoint());
TextColumn<WaypointDTO> typeColumn = new TextColumn<WaypointDTO>() {
@Override
public String getValue(WaypointDTO w) {
ControlPointDTO d = w.controlPoint;
if (d instanceof GateDTO) {
return "2x " + stringMessages.mark();
return stringMessages.twoXMark();
} else if (d instanceof MarkDTO) {
return stringMessages.mark();
} else {
@@ -165,7 +165,7 @@ public class WindPanel extends FormPanel implements RegattasDisplayer, WindShowe
final VerticalPanel windSourcesPanel = new VerticalPanel();
windSourcesPanel.setSpacing(10);
tabPanel.add(windSourcesPanel, stringMessages.windSourcesUsed());
tabPanel.add(windFixesDisplayPanel, "Wind fixes");
tabPanel.add(windFixesDisplayPanel, stringMessages.windFixes());
tabPanel.selectTab(0);
raceIsKnownToStartUpwindBox = new CheckBox(stringMessages.raceIsKnownToStartUpwind());
@@ -240,10 +240,10 @@ public class WindPanel extends FormPanel implements RegattasDisplayer, WindShowe
AdminConsoleTableResources tableRes = GWT.create(AdminConsoleTableResources.class);
rawWindFixesTable = new BaseCelltable<WindDTO>(/* pageSize */10000, tableRes);
rawWindFixesTable.addColumn(timeColumn, "Time");
rawWindFixesTable.addColumn(speedInKnotsColumn, "Speed (kn)");
rawWindFixesTable.addColumn(windDirectionInDegColumn, "From (deg)");
rawWindFixesTable.addColumn(positionColumn, "Position");
rawWindFixesTable.addColumn(timeColumn, stringMessages.time());
rawWindFixesTable.addColumn(speedInKnotsColumn, stringMessages.speedInKnots());
rawWindFixesTable.addColumn(windDirectionInDegColumn, stringMessages.fromDeg());
rawWindFixesTable.addColumn(positionColumn, stringMessages.position());
rawWindFixesTable.addColumn(removeColumn, stringMessages.actions());
rawWindFixesDataProvider = new ListDataProvider<WindDTO>();
rawWindFixesDataProvider.addDataDisplay(rawWindFixesTable);
@@ -19,4 +19,9 @@ public enum GwtUrlHelper implements UrlHelper {
return URL.encode(decodedUrlString);
}
@Override
public String encodeQueryString(String queryString) {
return URL.encodeQueryString(queryString);
}
}
@@ -3,12 +3,14 @@ package com.sap.sailing.gwt.ui.client;
import com.google.gwt.core.client.GWT;
import com.google.gwt.i18n.client.LocalizableResource.DefaultLocale;
import com.google.gwt.json.client.JSONValue;
import com.sap.sailing.domain.common.i18n.CommonStringMessages;
import com.sap.sse.gwt.client.DefaultRule_0_1_2_n;
import com.sap.sse.gwt.client.DefaultRule_0_1_n;
import com.sap.sse.gwt.client.DefaultRule_1_0n;
@DefaultLocale("en")
public interface StringMessages extends com.sap.sse.gwt.client.StringMessages, com.sap.sse.gwt.adminconsole.StringMessages {
public interface StringMessages extends com.sap.sse.gwt.client.StringMessages,
com.sap.sse.gwt.adminconsole.StringMessages, CommonStringMessages {
public static final StringMessages INSTANCE = GWT.create(StringMessages.class);
String manage2Sail();
@@ -1535,6 +1537,20 @@ public interface StringMessages extends com.sap.sse.gwt.client.StringMessages, c
String fixSuccessfullyRemoved();
String dragToChangePosition();
String moveFix();
String manage2SailEvent();
String noEventsYet();
String selectResultImportProvider();
String buildVersion();
String serverInformation();
String serverConfiguration();
String standaloneServer();
String passId();
String createdAt();
String logicalTimepoint();
String info();
String windFixes();
String twoXMark();
String pagerStateInfo(int start , int end, int size, @Select boolean exact);
String currentRideHeightInMeters();
String currentRideHeightInMetersTooltip();
String currentOrAverageRideHeightInMeters();
@@ -409,7 +409,7 @@ errorTryingToObtainLeaderboardContents=Error trying to obtain leaderboard conten
lastScoreUpdate=Last Score Update
warningBrowserUnsupported=This website is not optimized for your browser. Please switch to a newer one like Firefox or Chrome.
newMark=New Mark
controlPoint=Mark/Gate
controlPoint=Mark/Gate name
errorUpdatingRaceCourse=Error updating race course: {0}
successfullyUpdatedCourse=Successfully updated race course
selectTwoMarksForGate=Select two marks to create a gate
@@ -910,7 +910,7 @@ line=Line
offset=Offset
doYouReallyWantToRemoveCompetitors=Do you really want to remove the selected competitors?
doYouReallyWantToRemoveCompetitor=Do you really want to remove competitor {0}?
filterCompetitors=Filter competitors by name, boat class, sail number or ID
filterCompetitors=Filter competitors by name, boat class, sail number, search tag or ID
editCompetitor=Edit Competitor
pleaseEnterASailNumber=Please enter a sail number
successfullyAllowedCompetitorReset=Successfully allowed reload of competitor(s) {0}.
@@ -1501,6 +1501,32 @@ fixPositionSuccessfullyEdited=Fix position successfully edited.
fixSuccessfullyRemoved=Fix successfully removed.
dragToChangePosition=Drag to change position\nRight-click to get menu to delete
moveFix=Move fix
manage2SailEvent=Manage2Sail Event
noEventsYet=There are no events yet.
selectResultImportProvider=Please select a result import provider...
buildVersion=Build version
serverInformation=Server Information
serverConfiguration=Server Configuration
standaloneServer=Standalone server
send=Send...
passId=PassId
createdAt=Created at
logicalTimepoint=Logical timepoint
info=Info
windFixes=Wind fixes
twoXMark=2x Mark
pagerStateInfo={0,number,#,###}-{1,number,#,###} of {2,number,#,###}
pagerStateInfo[false]={0,number,#,###}-{1,number,#,###} of over {2,number,#,###}
init=Initializing...
connectionSetup=Setting up connection
connectionEstablish=Connecting...
transferStarted=Reading data
transferCompleted=Data-Transfer Complete, Initializing Import Operation
importInit=Initializing Import
importWait=Waiting for other data import operations to finish
importLeaderboardGroups=Importing leaderboard groups
importWindTracks=Importing wind tracks
updateEventLeaderboardGroupLinks=Updating Event-LeaderboardGroup links
currentRideHeightInMeters=Ride Height
currentRideHeightInMetersTooltip=The current Foiling ride height
currentOrAverageRideHeightInMeters=Ride Height (\u2205 at end)
@@ -1,6 +1,7 @@
manage2Sail=Manage2Sail
raceCommitteeApp=Race Manager App
createNewEvent=Create New EventtracTracEvents=TracTrac Events
createNewEvent=Create New Event
tracTracEvents=TracTrac Events
swissTimingEvents=SwissTiming Events
trackedBefore=Historie verfolgter Events
general=Allgemein
@@ -102,7 +103,7 @@ trackableRaces=Trackable Races
trackWind=Track Wind
regattaName=Name der Regatta
eventName=Event-Name
event=Rennen
event=Veranstaltung
startTime=Startzeit
startOfTracking=Startzeit, die wo vom Tracking ist
endOfTrackings=Ende des Trackings
@@ -410,7 +411,7 @@ errorTryingToObtainLeaderboardContents=Fehler beim Berechnen der Ergebnisliste:
lastScoreUpdate=Letzte Ergebnisänderung
warningBrowserUnsupported=Diese Webseite ist für Ihren Browser nicht optimiert. Wir empfehlen den Firefox oder Chrome in der neuesten Version.
newMark=Neue Marke
controlPoint=Einzelmarke/Gate
controlPoint=Einzelmarke/Gate Name
errorUpdatingRaceCourse=Fehler beim Aktualisieren des neuen Kurses: {0}
successfullyUpdatedCourse=Kurs erfolgreich aktualisiert
selectTwoMarksForGate=Zwei Marken auswählen, um ein Gate zu erstellen
@@ -468,9 +469,9 @@ latitude=Breite
longitude=Länge
actionAddEvent=Veranstaltung hinzufügen
publicationUrl=URL für die Veröffentlichung
suppress=Entfernen
suppress=Ausblenden
isPublic=Öffentlich zugänglich
unsuppress=Wieder hinzufügen
unsuppress=Wieder einblenden
suppressedCompetitors=Unterdrückte Wettkampfteilnehmer
mediaPanel=Audio & Video
url=URL
@@ -902,7 +903,7 @@ line=Linie
offset=Ablauftonne
doYouReallyWantToRemoveCompetitors=Möchten Sie wirlich die ausgewählten Teilnehmer entfernen?
doYouReallyWantToRemoveCompetitor=Möchten Sie wirklicn den Teilnehmer {0} entfernen?
filterCompetitors=Filtere Teilnehmer nach Name, Bootsklasse, Segelnummer oder ID
filterCompetitors=Filtere Teilnehmer nach Name, Bootsklasse, Segelnummer, Suchhilfe oder ID
editCompetitor=Teilnehmer bearbeiten
pleaseEnterASailNumber=Bitte Segelnummer eingeben
successfullyAllowedCompetitorReset=Aktualisierung der Daten zu Teilnehmer(n) {0} erfolgreich ermöglicht.id=ID
@@ -1485,6 +1486,32 @@ fixPositionSuccessfullyEdited=Fixposition erfolgreich editiert.
fixSuccessfullyRemoved=Fix erfolgreich bewegt.
dragToChangePosition=Ziehen um die Position zu verändern\nRechtsklick für Menü mit Löschfunktion
moveFix=Position durch Ziehen ändern
manage2SailEvent=Manage2Sail Veranstaltung
noEventsYet=Es sind keine Veranstaltungen vorhanden.
selectResultImportProvider=Bitte wählen Sie einen Ergebnisdienst aus...
buildVersion=Build-Version
serverInformation=Server-Information
serverConfiguration=Server-Konfiguration
standaloneServer=Eigenständiger Server
send=Abschicken...
passId=Druchlauf-Nr.
createdAt=Erstellt am
logicalTimepoint=Logischer Zeitpunkt
info=Info
windFixes=Windwerte
twoXMark=2x Tonne
pagerStateInfo={0,number,#,###}-{1,number,#,###} von {2,number,#,###}
pagerStateInfo[false]={0,number,#,###}-{1,number,#,###} von über {2,number,#,###}
init=Initialisierung...
connectionSetup=Verbindungsaufbau
connectionEstablish=Verbinde...
transferStarted=Daten werden gelesen
transferCompleted=Daten-Übertragung abgeschlossen, Import wird initialisiert
importInit=Import wird initialisiert
importWait=Warten, bis andere Datenimport-Vorgänge angeschlossen sind
importLeaderboardGroups=Ranglisten-Gruppen werden importiert
importWindTracks=Windmessungen werden importiert
updateEventLeaderboardGroupLinks=Verbindungen zwischen Veranstaltungen und Ranglisten-Gruppen werden aktualisiert
currentRideHeightInMeters=Fahrhöhe
currentRideHeightInMetersTooltip=Die aktuelle Fahrhöhe (Foiling).
currentOrAverageRideHeightInMeters=Fahrhöhe (\u2205 nach Abschluss)
@@ -1,5 +1,5 @@
manage2Sail=Manage2Sail
raceCommitteeApp=Приложение диспетчера гонок
raceCommitteeApp=Приложение Race Manager
tracTracEvents=События TracTrac
swissTimingEvents=События SwissTiming
trackedBefore=История отслеживаемых событий
@@ -29,7 +29,7 @@ timeDelayHelp=Оставьте пустым для воспроизведени
speedInKnots=Скорость (уз)
fromDeg=Источник (град.)
noRacesYet=Гонок еще нет.
total=\u03A3
total=Σ
carry=Накоплено
competitor=Участник
competitors=Участники
@@ -72,12 +72,12 @@ collapse=-
expand=+
leg=Э
distanceInMeters=Дистанция
averageSpeedInKnots=\u2205 Скорость
averageSpeedInKnots= Скорость
averageSpeedInKnotsTooltip=Средняя скорость относительно грунта на данном этапе:\nотношение пройденного расстояния к затраченному времени.
raceAverageSpeedInKnotsTooltip=Средняя скорость в течение гонки,\nвычисляемая делением пройденного расстояния на затраченное время.
rankGain=Повышение ранга
rankGainTooltip=Разница в положении между текущим и предыдущим этапами.
sapSailingAnalytics=Аналитика плавания
sapSailingAnalytics=Sailing Analytics
leaderboard=Таблица лидеров
leaderboards=Таблицы лидеров
leaderboardSettings=Параметры таблицы лидеров
@@ -110,7 +110,7 @@ regatta=Регата
regattas=Регаты
startTracking=Начать отслеживание
stopTracking=Прекратить отслеживание
connections=Подключение
connections=Подключения
historyOfConnections=История подключений
defineNewConnection=Определить новое подключение
trackedRaces=Отслеживаемые гонки
@@ -204,7 +204,7 @@ mark=Отметка
otherManeuver=Неизвестный маневр
douglasPeuckerPoints=Точки Дугласа – Пекера
filterRacesByName=Фильтровать гонки по названию
filterMediaByName=Фильтровать носители по названию
filterMediaByName=Фильтровать по названию
trackSettings=Параметры отслеживания
actionEdit=Изменить
actionEditCompetitors=Изменить участников
@@ -226,7 +226,7 @@ hoverOverAPoint=Наведите указатель для просмотра п
noSelection=Ничего не выбрано
raceIsKnownToStartUpwind=Гонка начинается против ветра
events=События
settingsForComponent=Параметры для {0}
settingsForComponent={0} — параметры
noEventsFound=События не найдены
noEventSelected=Не выбрано событие
noLeaderboardsFound=Таблицы лидеров не найдены
@@ -320,9 +320,9 @@ racesInLeaderboard=Гонки в таблице лидеров
leaderboardsInGroup=Таблицы лидеров в группе
replication=Репликация
errorFetchingReplicaData=Ошибка извлечения данных реплики: {0}
averageAbsoluteCrossTrackErrorInMeters=\u2205 XTE
averageAbsoluteCrossTrackErrorInMeters= XTE
averageAbsoluteCrossTrackErrorInMetersTooltip=Среднее боковое уклонение к большому круговому сегменту, соединяющему начало отрезка с концом отрезка
averageSignedCrossTrackErrorInMeters=\u2205 XTE +/-
averageSignedCrossTrackErrorInMeters= XTE +/-
averageSignedCrossTrackErrorInMetersTooltip=Средняя позиция на курсе как расстояние (со знаком) от средней линии курса; отрицательные значения означают уклонение влево, положительные — вправо.
raceAverageAbsoluteCrossTrackErrorInMetersTooltip=Среднее абсолютное боковое уклонение к большим круговым сегментам, соединяющим начало отрезка с концом отрезка, для всех наветренных отрезках данной гонки без учета стороны участника от средней линии курса
raceAverageSignedCrossTrackErrorInMetersTooltip=Боковое уклонение (со знаком) к большим круговым сегментам, соединяющим начало отрезка с концом отрезка, для всех наветренных отрезков данной гонки; отрицательные значения означают уклонение влево от средней линии курса, положительные — вправо.
@@ -407,21 +407,21 @@ errorTryingToObtainLeaderboardContents=Ошибка при попытке пол
lastScoreUpdate=Последнее обновление оценок
warningBrowserUnsupported=Этот веб-сайт не оптимизирован для вашего браузера. Перейдите на более новый, такой как Firefox или Chrome.
newMark=Новая отметка
controlPoint=Отметка/ворота
controlPoint=Название отметки/ворот
errorUpdatingRaceCourse=Ошибка при обновлении курса гонки: {0}
successfullyUpdatedCourse=Курс гонки успешно обновлен
selectTwoMarksForGate=Выберите две отметки, чтобы создать ворота
errorTryingToObtainTheMarksOfTheRace=Ошибка при попытке получить отметки курса гонки: {0}
errorTryingToObtainRaceCourse=Ошибка при попытке получить курс гонки: {0}
insertWaypointBeforeSelected=Вставка путевой точки перед выбранной
insertWaypointAfterSelected=Вставка путевой точки после выбранной
insertWaypointBeforeSelected=Вставить путевую точку перед выбранной
insertWaypointAfterSelected=Вставить путевую точку после выбранной
addGate=Добавить ворота
scoringSchemeLowPointSystem=Система низких баллов
scoringSchemeHighPointSystem=Система высоких баллов
scoringSchemeHighPointEssOverall=Итоговая оценка ESS по системе высоких баллов (10)
scoringSchemeHighPointEssOverall12=Итоговая оценка ESS по системе высоких баллов (12)
scoringSchemeHighPointEssOverall12Description=Оценка в баллах. Победитель в акте получает 12 баллов, 2-й — 11 баллов, .... Любая ничья в общей оценке Extreme Sailing Series разрешается в пользу участника с наибольшим числом побед в актах. В случае равенства числа побед для разрешения используется последний акт.
scoringSchemeHighPointLastBreaksTie=Система высоких баллов, последняя гонка разрешает ничью
scoringSchemeHighPointEssOverall12Description=Оценка в баллах. Победитель в акте получает 12 баллов, 2-й — 11 баллов, .... Любое равенство в общей оценке Extreme Sailing Series разрешается в пользу участника с наибольшим числом побед в актах. В случае равенства числа побед для разрешения используется последний акт.
scoringSchemeHighPointLastBreaksTie=Система высоких баллов, равенство разрешается по последней гонке
scoringSchemeLowPointWinnerGetsZero=Система низких баллов, победитель получает ноль
scoringSchemeWinnerGetsFive=Система высоких баллов, победитель получает 5 баллов
scoringSchemeWinnerGetsSix=Система высоких баллов, победитель получает 6 баллов
@@ -429,14 +429,14 @@ scoringSchemeWinnerGetsEight=Система высоких баллов, поб
scoringSchemeWinnerGetsEightAndInterpolation=Система высоких баллов, победитель 8 баллов, интерполяция
scoringSchemeLowPointWithEliminationsAndRoundsWinnerGets07=Низкий балл с турами на выбывание, победитель получает 0,7 балла
scoringSchemeLowPointWithEliminationsAndRoundsWinnerGets07Description=Вариант схемы оценки с низкими баллами, использующий туры на выбывание.\nКаждый тур моделируется как серия в регате, и суда ранжируются в обратном порядке,\nначиная с наибольшего числа за первый раунд.\nВ финале и при определении 3-го места используйте ранги 1 и 2. Для полуфинального тура начните с 3.
scoringSchemeLowPointForLeagueOverallLeaderboard=Низкий балл, ничьи разрешаются по сумме актов, затем по последнему акту
scoringSchemeLowPointForLeagueOverallLeaderboardDescription=Вместо обычной системы обратного отчета, используемой для разрешения ничьих в схемах низких баллов, участники с равными суммами баллов сравниваются по сумме баллов, полученных за все акты. Если равенство сохраняется, оно разрешается по последнему акту.
scoringSchemeLowPointForLeagueOverallLeaderboard=Низкий балл, равенство разрешается по сумме актов, затем по последнему акту
scoringSchemeLowPointForLeagueOverallLeaderboardDescription=Вместо обычной системы обратного отчета, используемой для разрешения равенства в схемах низких баллов, участники с равными суммами баллов сравниваются по сумме баллов, полученных за все акты. Если равенство сохраняется, оно разрешается по последнему акту.
scoringSchemeHighPointFirstGetsOne=Высокий балл, победитель получает 1 балл
scoringSchemeHighPointFirstGetsTen=Высокий балл, победитель получает 10 баллов
scoringSchemeHighPointFirstGetsTenOrEight=Высокий балл, победитель получает 10 баллов (или 8)
scoringSchemeHighPointFirstGetsTenOrEightDescription=Оценка в баллах. Победитель получает 10 баллов, 2-й — 9 баллов, .... Ничья разрешается в пользу участника, имеющего больше побед в гонках, если равенство сохраняется, оно разрешается по рангу в последней гонке.
scoringSchemeHighPointFirstGetsTenOrEightDescription=Оценка в баллах. Победитель получает 10 баллов, 2-й — 9 баллов, .... Равенство разрешается в пользу участника, имеющего больше побед в гонках. Если равенство сохраняется, оно разрешается по рангу в последней гонке.
scoringSchemeHighPointFirstGetsTwelveOrEight=Высокий балл, победитель получает 12 баллов (или 8)
scoringSchemeHighPointFirstGetsTwelveOrEightDescription=Оценка в баллах. Победитель получает 12 баллов, 2-й — 11 баллов, .... Ничья разрешается в пользу участника, имеющего больше побед в гонках, если равенство сохраняется, оно разрешается по рангу в последней гонке.
scoringSchemeHighPointFirstGetsTwelveOrEightDescription=Оценка в баллах. Победитель получает 12 баллов, 2-й — 11 баллов, .... Равенство разрешается в пользу участника, имеющего больше побед в гонках. Если равенство сохраняется, оно разрешается по рангу в последней гонке.
scoringSystem=Система оценок
createFlexibleLeaderboard=Создать гибкую таблицу лидеров
createRegattaLeaderboard=Создать таблицу лидеров регаты
@@ -461,7 +461,7 @@ totalTimeSailedInSeconds=Общее время
totalTimeSailedInSecondsTooltip=Общее время хода участника в данной регате, отсчитываемое от времени старта регаты.
totalDistanceTraveled=Общее расстояние
totalDistanceTraveledTooltip=Общее пройденное расстояние в данной регате.
totalAverageSpeedOverGround=\u2205 SOG
totalAverageSpeedOverGround= SOG
totalAverageSpeedOverGroundTooltip=Средняя скорость относительно грунта в течение данной регаты.
hhmmssUnit=чч:мм:сс
actionAddWindData=Добавить данные о ветре
@@ -506,11 +506,11 @@ expandLastRace=Всегда развертывать посленюю отобр
factor=Фактор
errorUpdatingIsMedalRace=Ошибка при обновлении параметра гонки на медали: {0}
maneuverLoss=Потеря маневра
averageManeuverLossInMeters=\u2205 Потеря маневра
averageManeuverLossInMeters= Потеря маневра
averageManeuverLossInMetersTooltip=Средняя потеря дистанции в ходе маневра.
averageTackLossInMeters=\u2205 Потеря на оверштаг
averageTackLossInMeters= Потеря на оверштаг
averageTackLossInMetersTooltip=Средняя потеря дистанции при поворотах оверштаг.
averageJibeLossInMeters=\u2205 Потеря на фордевинд
averageJibeLossInMeters= Потеря на фордевинд
averageJibeLossInMetersTooltip=Средняя потеря дистанции при поворотах фордевинд.
shape=Форма
pattern=Образец
@@ -521,7 +521,7 @@ errorFetchingChartData=Ошибка при извлечении данных д
loadingCompetitorData=Загрузка данных участника...
competitorRegattaDataAfterRaceN={0} после гонки {1}
rankChart=Ранг
totalPoints=Всего баллов
totalPoints=Общий балл
raceTotalPointsTooltip=Общий балл участника в данной гонке
regattaTotalPointsTooltip=Общий балл участника в данной регате
showRankChart=Показать диаграмму ранга
@@ -729,7 +729,7 @@ addSeries=Добавить серию
regattaDefinesResultDiscardingRules=Регата определяет правила исключения результатов
startsWithZeroScore=Серия начинается с нулевым баллом
masterDataImportPanel=Импорт мастер-данных
importSuccess=Спех\nСоздано групп таблиц лидеров: {0}, таблиц лидеров: {1}, событий: {2}, регат: {3}.
importSuccess=Успех\nСоздано групп таблиц лидеров — {0}, таблиц лидеров — {1}, событий — {2}, регат — {3}.
importSuccessOverwriteInfo=Следующие регаты перезаписаны, потребуется повторное отслеживанием их гонок:
regattaOverviewConfiguration=Конфигурация обзора регаты
firstRaceIsNonDiscardableCarryForward=Начинается с неисключаемого переноса
@@ -812,7 +812,7 @@ essOneRemoved=Сигнал о старте гонки
dataBeforeAfter=Данные из до/после гонки
rawFixes=Все замеры (включая выбросы)
importRemoteHost=Удаленный хост:
importFetchRemoteLgs=Извлечь список группы таблиц лидеров
importFetchRemoteLgs=Извлечь список групп таблиц лидеров
importUrlInvalid=Недействительный URL-адрес для извлечения групп таблиц лидеров: {0}
importGetLeaderboardsFailed=Сбой GET-запроса групп таблиц лидеров для хоста {0} с ошибкой {1}
importNoDataReturned=Сервер не вернул никаких данных
@@ -838,8 +838,8 @@ lastFinished=Последний финиш
run=Выполнить
times=раз
dataAmount=Объем данных
averageCleanedServerTime=\u2205 Очищенное время сервера
averageCleanedOverallTime=\u2205 Очищенное общее время
averageCleanedServerTime= Очищенное время сервера
averageCleanedOverallTime= Очищенное общее время
dataMiningBenchmarkResults=Результаты сравнительного анализа добычи данных
serverTime=Время сервера
confidenceShouldBeBetween=Значения достоверности должны быть между 0 и 1
@@ -911,7 +911,7 @@ doYouReallyWantToRemoveCompetitor=Действительно удалить уч
filterCompetitors=Фильтрация участников по названию, классу лодки, номеру на парусе или идентификатору
editCompetitor=Изменить участника
pleaseEnterASailNumber=Введите номер на парусе
successfullyAllowedCompetitorReset=Успешно разрешена перезагрузка участников {0}.
successfullyAllowedCompetitorReset=Успешно разрешена перезагрузка участников: {0}.
id=Ид.
allowReload=Разрешить перезагрузку
compress=Сжать
@@ -976,12 +976,13 @@ successfullyRemoveIgtimiAccount=Успешно удалена учетная з
eMailMustNotBeEmpty=Адрес эл. почты не должен быть пустым
emailAddress=адрес эл. почты
password=Пароль
searchTag=Тег поиска
doYouReallyWantToRemoveLeaderboard=Действительно удалить таблицу лидеров ''{0}''?
metaLeaderboardCannotBeChanged=Это метатаблица лидеров. Изменить ее здесь невозможно.
failedToSetNewStartTime=Не удалось установить новое время старта. Возможно, такое же время старта уже присутствует в журнале гонки или кто-то добавить более новое (ид. прохождения и логическое время) время старта, чем добавленное вами.
doYouReallyWantToRemoveIgtimiAccount=Действительно удалить учетную запись Igtimi, предоставляющую доступ к данным пользователя {0}?
igtimiWindImport=Импортировать ветер из Igtimi
seeIgtimiTabForAccountSettings=Параметры учетной записи, определяющие учитываемые данные из Igtimi см. на вкладке ''Igtimi''.
seeIgtimiTabForAccountSettings=Параметры учетной записи, определяющие учитываемые данные из Igtimi, см. на вкладке ''Igtimi''.
importWindFromIgtimi=Импортировать ветер из Igtimi
errorImportingIgtimiWind=Ошибка при импорте данных о ветре из Igtimi: {0}
resultFromIgtimiWindImport=Для перечисленных гонок импортировано следующее число замеров: {0}
@@ -1008,6 +1009,7 @@ filterByLeaderboard=Фильтровать по таблице лидеров
removeLeaderboardFilter=Удалить фильтр таблицы лидеров
competitorRegistrations=Регистрации участников
trackerStatus=Статус средства отслеживания
courseStatus=Статус курса
canOnlyBeEditedBeforeStartingTracking=Редактирование возможно только до начала отслеживания
defineCourse=Определить схему курса
mapDevices=Сопоставить устройства с участниками и отметками
@@ -1035,7 +1037,7 @@ setClosingTimePoint=Установите время, закрывающее ди
startOfTimeRangeMustLieBeforeEnd=Начало диапазона времени должно быть раньше его окончания
overallProgress=Общий ход выполнения
eventOverview=Обзор события
start=Начать
start=Старт
showAddedScores=Показать добавленные баллы для каждой записи в таблице лидеров
ratio=отношение
importWind=Импортировать ветер
@@ -1053,8 +1055,8 @@ competitorPool=Пул участников
selectAtLeastOne=Выберите не менее одного
selectRaces=Выберите гонки
importFixes=Импортировать замеры
noSailingServerInstancesYet=Удаленные инстанции сервера еще не зарегистрированы.
registeredSailingServerInstances=Зарегистрированные удаленные инстанции сервера
noSailingServerInstancesYet=Удаленные экземпляры сервера еще не зарегистрированы.
registeredSailingServerInstances=Зарегистрированные удаленные экземпляры сервера
filterEventsByName=Фильтровать события по названию:
leaderboardsExceptFromSelectedGroup=Таблицы лидеров (кроме выбранных групп)
availableLeaderboardGroups=Доступные группы таблиц лидеров
@@ -1110,7 +1112,7 @@ averageNumberOfOperationsPerMessage=Среднее число операций
showUncorrectedNetPoints=Показать неисправленные точки сети
setStartTimeReceived=Установить полученное время старта
setStartTimeReceivedDescription=Устанавливает полученное время старта для выбранной отслеживаемой гонки, которое не хранится постоянно. Это значит, что после перезагрузки сервера новое значение будет забыто.
lastScoreCorrectionsTime=Последнее время исправления оценки
lastScoreCorrectionsTime=Время последнего исправления оценки
lastScoreCorrectionsComment=Комментарий последнего исправления оценки
setTimeToNow=Установить время "сейчас"
useStartTimeInference=Использовать вывод о времени старта из прохождений стартовой отметки
@@ -1119,7 +1121,7 @@ totalSize=Общий размер
averageMessageSize=Средний размер сообщения в байтах
totalNumberOfOperations=Общее число операций
currentOrAverageSpeedOverGroundInKnotsTooltip=Текущая скорость относительно грунта в узлах во время прохождения отрезка; средняя скорость относительно грунта по завершении отрезка
currentOrAverageSpeedOverGroundInKnots=SOG (\u2205 в конце)
currentOrAverageSpeedOverGroundInKnots=SOG ( в конце)
connectors=Соединители
videoComponentShortName=Видео
competitorSearchFilter=Фильтр поиска участников
@@ -1182,7 +1184,7 @@ errorDeterminingPolarAvailability=Ошибка при определении д
error=Ошибка
fileStorage=Хранилище файлов
active=Активно
scoringSchemeHighPointEssOverallDescription=Оценка в баллах. Победитель в акте получает 10 баллов, 2-й — 9 баллов, .... Любая ничья в общей оценке Extreme Sailing Series разрешается в пользу участника с наибольшим числом побед в актах. В случае равенства числа побед для разрешения используется последний акт.
scoringSchemeHighPointEssOverallDescription=Оценка в баллах. Победитель в акте получает 10 баллов, 2-й — 9 баллов, .... Любое равенство в общей оценке Extreme Sailing Series разрешается в пользу участника с наибольшим числом побед в актах. В случае равенства числа побед для разрешения используется последний акт.
timeBetweenRaceStartAndCompetitorStartInSeconds=Задержка старта
timeBetweenRaceStartAndCompetitorStartInSecondsTooltip=Время между стартом гонки и временем, когда участник проходит путевую точку старта. Отрицательное время означает ранний старт (OCS).
useInternalAlgorithm=Использовать внутренний алгоритм прохождения отметки
@@ -1291,7 +1293,7 @@ any=Любое
urlProviders=Поставщики результатов на базе URL-адресов
pleaseSelectAURLProvider=Выберите поставщика результатов на базе URL-адреса...
sampleURL=Образец URL-адреса: {0}
sapSportsOn=SAP Sports по адресу
sapSportsOn=SAP Sports в
followSapSports=Отслеживать SAP Sports
liveNow=Оперативные данные
analyseRace=Анализировать гонку
@@ -1392,7 +1394,7 @@ polarResultsPresenter=Полярный презентатор результат
dataMiningRetrieval=Извлечение данных
actionWatch=Смотреть
actionAnalyze=Анализировать
denoteAllRacesForRaceLogTrackingShorctut=Ярлык для отмена отслеживания журналов всех гонок
denoteAllRacesForRaceLogTrackingShorctut=Ярлык для отмены отслеживания журналов всех гонок
registerCompetitors=Регистрация участников
doYouWantToCreateADefaultRegattaLeaderboard=Создать таблицу лидеров регаты по умолчанию?
copyCourse=Копировать курс
@@ -1497,3 +1499,19 @@ fixPositionSuccessfullyEdited=Позиция замера успешно изм
fixSuccessfullyRemoved=Замер успешно удален.
dragToChangePosition=Позиция изменяется перетаскиванием\nДля удаления вызовите меню щелчком правой кнопкой мыши
moveFix=Переместить замер
manage2SailEvent=Событие Manage2Sail
noEventsYet=Событий еще нет.
selectResultImportProvider=Выберите поставщика импорта результатов...
buildVersion=Версия сборки
serverInformation=Информация о сервере
serverConfiguration=Конфигурация сервера
standaloneServer=Изолированный сервер
send=Отправить...
passId=PassId
createdAt=Создано в
logicalTimepoint=Логическая отметка времени
info=Инфо
windFixes=Замеры ветра
twoXMark=2-отмет.
pagerStateInfo={0,number,#,###}{1,number,#,###} из {2,number,#,###}
pagerStateInfo[false]={0,number,#,###}{1,number,#,###} из {2,number,#,###}
@@ -29,7 +29,7 @@ timeDelayHelp=要在任意时间重播,则留空;输入导入实况数据前
speedInKnots=速度 (kn)
fromDeg=自(度)
noRacesYet=暂无比赛轮次。
total=\u03A3
total=Σ
carry=累积
competitor=参赛队
competitors=参赛队
@@ -72,7 +72,7 @@ collapse=-
expand=+
leg=L
distanceInMeters=距离
averageSpeedInKnots=\u2205 速度
averageSpeedInKnots= 速度
averageSpeedInKnotsTooltip=此航段的平均实际速度,\n通过航行的距离除以所需的时间计算得出。
raceAverageSpeedInKnotsTooltip=此比赛轮次的平均实际速度,\n通过航行的距离除以所需的时间计算得出。
rankGain=名次进阶
@@ -320,9 +320,9 @@ racesInLeaderboard=积分榜中的比赛轮次
leaderboardsInGroup=分组中的积分榜
replication=复制
errorFetchingReplicaData=获取重复数据出错: {0}
averageAbsoluteCrossTrackErrorInMeters=\u2205 XTE
averageAbsoluteCrossTrackErrorInMeters= XTE
averageAbsoluteCrossTrackErrorInMetersTooltip=连接航段起点和终点的大圆弧的平均交叉轨道误差
averageSignedCrossTrackErrorInMeters=\u2205 XTE +/-
averageSignedCrossTrackErrorInMeters= XTE +/-
averageSignedCrossTrackErrorInMetersTooltip=赛场中的平均位置 - 从场地中线开始计算的符号距离;0 代表场地中线;负数代表左侧,正数代表右侧。
raceAverageAbsoluteCrossTrackErrorInMetersTooltip=所有比赛轮次中迎风航段连接航段起点和终点的大圆弧的平均绝对交叉轨道误差,忽略参赛队所在的场地中线
raceAverageSignedCrossTrackErrorInMetersTooltip=所有比赛轮次中迎风航段连接航段起点和终点的大圆弧的符号平均交叉轨道误差;负数代表场地中线的左侧,正数代表右侧。
@@ -407,7 +407,7 @@ errorTryingToObtainLeaderboardContents=尝试获取积分榜内容出错: {0}
lastScoreUpdate=上次得分更新
warningBrowserUnsupported=此网站未针对您的浏览器实施优化。请切换为更新浏览器,例如 Firefox 或 Chrome。
newMark=新标志
controlPoint=标志/门标
controlPoint=标志/门标名称
errorUpdatingRaceCourse=更新比赛轮次场地出错: {0}
successfullyUpdatedCourse=已成功更新比赛轮次场地
selectTwoMarksForGate=选择两个标志,以创建门标
@@ -461,7 +461,7 @@ totalTimeSailedInSeconds=总时间
totalTimeSailedInSecondsTooltip=从比赛轮次开始时间算起,参赛队在比赛中航行的总时间。
totalDistanceTraveled=总距离
totalDistanceTraveledTooltip=比赛中航行的总距离。
totalAverageSpeedOverGround=\u2205 实际速度
totalAverageSpeedOverGround= 实际速度
totalAverageSpeedOverGroundTooltip=比赛中的平均实际速度。
hhmmssUnit=hh:mm:ss
actionAddWindData=添加风力数据
@@ -506,11 +506,11 @@ expandLastRace=始终展开显示的最后比赛轮次
factor=系数
errorUpdatingIsMedalRace=更新奖牌轮设置出错: {0}
maneuverLoss=操作损失
averageManeuverLossInMeters=\u2205 操作损失
averageManeuverLossInMeters= 操作损失
averageManeuverLossInMetersTooltip=任何操作中的平均距离损失。
averageTackLossInMeters=\u2205 迎风转向损失
averageTackLossInMeters= 迎风转向损失
averageTackLossInMetersTooltip=迎风转向中的平均距离损失。
averageJibeLossInMeters=\u2205 顺风转向损失
averageJibeLossInMeters= 顺风转向损失
averageJibeLossInMetersTooltip=顺风转向中的平均距离损失。
shape=形状
pattern=模式
@@ -611,7 +611,7 @@ passingInstructions=绕标说明
refreshNow=现在刷新
stopUpdating=停止更新
startUpdating=开始更新
currentTime=当前时间:
currentTime=当前时间
tractracUsername=TracTrac 用户名
tractracPassword=TracTrac 密码
operatorEquals=等于
@@ -838,8 +838,8 @@ lastFinished=最后完成
run=运行
times=次数
dataAmount=数据量
averageCleanedServerTime=\u2205 清理服务器时间
averageCleanedOverallTime=\u2205 清理总时间
averageCleanedServerTime= 清理服务器时间
averageCleanedOverallTime= 清理总时间
dataMiningBenchmarkResults=数据挖掘基准结果
serverTime=服务器时间
confidenceShouldBeBetween=置信度需要介于 0 和 1。
@@ -937,11 +937,13 @@ dontoverwrite=不要覆盖
setRacingProcedureConfiguration=设置比赛配置
racingProcedureConfiguration=比赛配置
activateIndividualRecall=激活个别召回
activateResultEntry=激活结果条目
rrs26Start=RRS26 开始
setConfiguration=激活配置
classFlag=级别旗标
classFlagHelpText=设置用于{0}的级别旗标。 选择“不要覆盖”,激活程序的默认旗标。
individualRecallHelpText=激活后,裁判长能够执行个别召回。
resultEntryHelpText=激活后,裁判长能够在结束阶段期间和之后输入结果。
startmodeFlags=起航模式旗标
startmodeFlagsHelpText=设置可用的起航模式旗标。选择无,启用程序的默认旗标。
gateStart=起航门标
@@ -974,7 +976,7 @@ successfullyRemoveIgtimiAccount=已成功移除用户{0}的 Igtimi 账户
eMailMustNotBeEmpty=电子邮件地址不得为空
emailAddress=电子邮件地址
password=密码
searchTag=Search tag
searchTag=搜索标记
doYouReallyWantToRemoveLeaderboard=是否确定移除积分榜: ''{0}''?
metaLeaderboardCannotBeChanged=此为元积分榜。无法在此处更改。
failedToSetNewStartTime=设置新开始时间失败。 相同的开始时间可能已存在于比赛轮次日志中或某人已添加(场次编号和逻辑时间)更新的开始时间。
@@ -1007,7 +1009,7 @@ filterByLeaderboard=按积分榜筛选
removeLeaderboardFilter=移除积分榜筛选器
competitorRegistrations=参赛队注册
trackerStatus=跟踪器状态
courseStatus=Course Status
courseStatus=场地状态
canOnlyBeEditedBeforeStartingTracking=只可以在开始跟踪前编辑
defineCourse=定义场地设置
mapDevices=将设备映射到参赛队和标志
@@ -1119,7 +1121,7 @@ totalSize=总大小
averageMessageSize=各消息的平均大小(字节)
totalNumberOfOperations=操作的总数
currentOrAverageSpeedOverGroundInKnotsTooltip=在航段航行时的当前实际速度(节);航段完成时的平均数实际速度
currentOrAverageSpeedOverGroundInKnots=实际速度(\u2205 终点)
currentOrAverageSpeedOverGroundInKnots=实际速度( 终点)
connectors=连接器
videoComponentShortName=视频
competitorSearchFilter=参赛队搜索筛选器
@@ -1335,6 +1337,7 @@ gotoDesktop=进入桌面版
goBack=返回
showAllX=显示所有{0}
collapseX=折叠{0}
numberOfGPSFixes=GPS 修复
fastestSailor=最快
numberWindFixes=风力修复
@@ -1468,8 +1471,6 @@ qrSync=QR-Sync
thereIsNoIdentifierSet=未设置标识符。
couldNotObtainAccessTokenForUser=无法获取用户{0}的访问令牌
raceManagerDeviceName=设备名称
playstoreBadge=https://play.google.com/intl/zh-cn/badges/images/generic/zh-cn-play-badge.png
appstoreBadgeSuffix=_zh
serverURLInvalid=请输入有效的服务器 URL
serverURLEmpty=服务器 URL 为空
marks=标志
@@ -1480,6 +1481,14 @@ confirmNewFix=确认新修复
selectAFixPositionBy=通过拖动地图选择修复位置。然后利用下方的按钮确认或取消。
pleaseSelectAMark=请从左侧的清单中选择一个标志。
markFixes=标志修复
playstoreCampaign=utm_source=sapsailing&utm_medium=solutions&utm_content=2016.02&utm_campaign=solutions&pcampaignid=2016.sapsailing.solutions
playstoreTrackingApp=https://play.google.com/store/apps/details?id=com.sap.sailing.android.tracking.app
playstoreRacecommitteeApp=https://play.google.com/store/apps/details?id=com.sap.sailing.racecommittee.app
playStoreBuoypositioningApp=https://play.google.com/store/apps/details?id=com.sap.sailing.android.buoy.positioning.app
playstoreBadge=https://play.google.com/intl/en/badges/images/generic/en-play-badge.png
appstoreSapSailingInsight=http://appstore.com/sapsailinsight
appstoreStgTrainingstagebuch=http://appstore.com/stgtrainingstagebuch
appstoreBadgeSuffix=_en
distanceFromAveragePosition=与平均位置的距离
useATouchOptimizedUI=使用触摸优化的 UI 移动修复
deleteFix=删除修复
@@ -1490,3 +1499,19 @@ fixPositionSuccessfullyEdited=已成功编辑修复位置。
fixSuccessfullyRemoved=已成功移除修复。
dragToChangePosition=拖动更改位置\n右键点击获取菜单以删除
moveFix=移动修复
manage2SailEvent=Manage2Sail 活动
noEventsYet=暂无活动。
selectResultImportProvider=请选择结果导入提供方...
buildVersion=内部版本
serverInformation=服务器信息
serverConfiguration=服务器配置
standaloneServer=独立服务器
send=发送...
passId=场次编号
createdAt=创建时间
logicalTimepoint=逻辑时间点
info=信息
windFixes=风力修复
twoXMark=2 个标志
pagerStateInfo={0,number,#,###}-{1,number,#,###}/{2,number,#,###}
pagerStateInfo[false]={0,number,#,###}-{1,number,#,###}/{2,number,#,###} 以上
@@ -407,7 +407,7 @@ errorTryingToObtainLeaderboardContents=尝试获取积分榜内容出错: {0}
lastScoreUpdate=上次得分更新
warningBrowserUnsupported=此网站未针对您的浏览器实施优化。请切换为更新浏览器,例如 Firefox 或 Chrome。
newMark=新标志
controlPoint=标志/门标
controlPoint=标志/门标名称
errorUpdatingRaceCourse=更新比赛轮次场地出错: {0}
successfullyUpdatedCourse=已成功更新比赛轮次场地
selectTwoMarksForGate=选择两个标志,以创建门标
@@ -976,7 +976,7 @@ successfullyRemoveIgtimiAccount=已成功移除用户{0}的 Igtimi 账户
eMailMustNotBeEmpty=电子邮件地址不得为空
emailAddress=电子邮件地址
password=密码
searchTag=Search tag
searchTag=搜索标记
doYouReallyWantToRemoveLeaderboard=是否确定移除积分榜: ''{0}''?
metaLeaderboardCannotBeChanged=此为元积分榜。无法在此处更改。
failedToSetNewStartTime=设置新开始时间失败。 相同的开始时间可能已存在于比赛轮次日志中或某人已添加(场次编号和逻辑时间)更新的开始时间。
@@ -1009,7 +1009,7 @@ filterByLeaderboard=按积分榜筛选
removeLeaderboardFilter=移除积分榜筛选器
competitorRegistrations=参赛队注册
trackerStatus=跟踪器状态
courseStatus=Course Status
courseStatus=场地状态
canOnlyBeEditedBeforeStartingTracking=只可以在开始跟踪前编辑
defineCourse=定义场地设置
mapDevices=将设备映射到参赛队和标志
@@ -1499,3 +1499,19 @@ fixPositionSuccessfullyEdited=已成功编辑修复位置。
fixSuccessfullyRemoved=已成功移除修复。
dragToChangePosition=拖动更改位置\n右键点击获取菜单以删除
moveFix=移动修复
manage2SailEvent=Manage2Sail 活动
noEventsYet=暂无活动。
selectResultImportProvider=请选择结果导入提供方...
buildVersion=内部版本
serverInformation=服务器信息
serverConfiguration=服务器配置
standaloneServer=独立服务器
send=发送...
passId=场次编号
createdAt=创建时间
logicalTimepoint=逻辑时间点
info=信息
windFixes=风力修复
twoXMark=2 个标志
pagerStateInfo={0,number,#,###}-{1,number,#,###}/{2,number,#,###}
pagerStateInfo[false]={0,number,#,###}-{1,number,#,###}/{2,number,#,###} 以上
@@ -78,7 +78,7 @@ public class ResultSelectionAndApplyDialog extends DataEntryDialog<Util.Triple<S
sortedProviderNames.add(providerName);
}
Collections.sort(sortedProviderNames);
scoreCorrectionProviderListBox.addItem("Please select a result import provider...");
scoreCorrectionProviderListBox.addItem(stringMessages.selectResultImportProvider());
for(String providerName: sortedProviderNames) {
scoreCorrectionProviderListBox.addItem(providerName);
}
@@ -180,7 +180,8 @@ public class MasterDataImportPanel extends VerticalPanel {
} else {
overallProgressBar.setPercent((int) (result
.getOverallProgressPct() * 100));
subProgressName.setText(result.getNameOfCurrentSubProgress());
subProgressName.setText(result.getCurrentSubProgress()
.getMessage(stringMessages));
subProgressBar.setPercent((int) (result
.getCurrentSubProgressPct() * 100));
}
@@ -147,6 +147,7 @@ import com.sap.sailing.domain.base.impl.TeamImpl;
import com.sap.sailing.domain.common.Bearing;
import com.sap.sailing.domain.common.CourseDesignerMode;
import com.sap.sailing.domain.common.DataImportProgress;
import com.sap.sailing.domain.common.DataImportSubProgress;
import com.sap.sailing.domain.common.DetailType;
import com.sap.sailing.domain.common.Distance;
import com.sap.sailing.domain.common.LeaderboardNameConstants;
@@ -4608,7 +4609,7 @@ public class SailingServiceImpl extends ProxiedRemoteServiceServlet implements S
public UUID importMasterData(final String urlAsString, final String[] groupNames, final boolean override,
final boolean compress, final boolean exportWind, final boolean exportDeviceConfigurations) {
final UUID importOperationId = UUID.randomUUID();
getService().createOrUpdateDataImportProgressWithReplication(importOperationId, 0.0, "Initializing", 0.0);
getService().createOrUpdateDataImportProgressWithReplication(importOperationId, 0.0, DataImportSubProgress.INIT, 0.0);
// Create a progress indicator for as long as the server gets data from the other server.
// As soon as the server starts the import operation, a progress object will be built on every server
Runnable masterDataImportTask = new Runnable() {
@@ -4616,7 +4617,7 @@ public class SailingServiceImpl extends ProxiedRemoteServiceServlet implements S
public void run() {
long startTime = System.currentTimeMillis();
getService().createOrUpdateDataImportProgressWithReplication(importOperationId, 0.01,
"Setting up connection", 0.5);
DataImportSubProgress.CONNECTION_SETUP, 0.5);
String query;
try {
query = createLeaderboardQuery(groupNames, compress, exportWind, exportDeviceConfigurations);
@@ -4632,7 +4633,8 @@ public class SailingServiceImpl extends ProxiedRemoteServiceServlet implements S
String path = "/sailingserver/spi/v1/masterdata/leaderboardgroups";
serverAddress = createUrl(base, path, query);
connection = HttpUrlConnectionHelper.redirectConnection(serverAddress);
getService().createOrUpdateDataImportProgressWithReplication(importOperationId, 0.02, "Connecting", 0.5);
getService().createOrUpdateDataImportProgressWithReplication(importOperationId, 0.02,
DataImportSubProgress.CONNECTION_ESTABLISH, 0.5);
if (compress) {
InputStream timeoutExtendingInputStream = new TimeoutExtendingInputStream(
connection.getInputStream(), connection);
@@ -41,6 +41,7 @@ import com.sap.sailing.domain.base.configuration.DeviceConfigurationIdentifier;
import com.sap.sailing.domain.base.configuration.DeviceConfigurationMatcher;
import com.sap.sailing.domain.base.configuration.RegattaConfiguration;
import com.sap.sailing.domain.common.DataImportProgress;
import com.sap.sailing.domain.common.DataImportSubProgress;
import com.sap.sailing.domain.common.Position;
import com.sap.sailing.domain.common.RaceFetcher;
import com.sap.sailing.domain.common.RegattaAndRaceIdentifier;
@@ -552,12 +553,10 @@ public interface RacingEventService extends TrackedRegattaRegistry, RegattaFetch
DataImportLockWithProgress getDataImportLock();
DataImportProgress createOrUpdateDataImportProgressWithReplication(UUID importOperationId,
double overallProgressPct,
String subProgressName, double subProgressPct);
double overallProgressPct, DataImportSubProgress subProgress, double subProgressPct);
DataImportProgress createOrUpdateDataImportProgressWithoutReplication(UUID importOperationId,
double overallProgressPct,
String subProgressName, double subProgressPct);
double overallProgressPct, DataImportSubProgress subProgress, double subProgressPct);
void setDataImportFailedWithReplication(UUID importOperationId, String errorMessage);
@@ -91,6 +91,7 @@ import com.sap.sailing.domain.base.impl.EventImpl;
import com.sap.sailing.domain.base.impl.RegattaImpl;
import com.sap.sailing.domain.base.impl.RemoteSailingServerReferenceImpl;
import com.sap.sailing.domain.common.DataImportProgress;
import com.sap.sailing.domain.common.DataImportSubProgress;
import com.sap.sailing.domain.common.Distance;
import com.sap.sailing.domain.common.Position;
import com.sap.sailing.domain.common.RegattaAndRaceIdentifier;
@@ -3070,19 +3071,19 @@ public class RacingEventServiceImpl implements RacingEventService, ClearStateTes
@Override
public DataImportProgress createOrUpdateDataImportProgressWithReplication(UUID importOperationId,
double overallProgressPct, String subProgressName, double subProgressPct) {
double overallProgressPct, DataImportSubProgress subProgress, double subProgressPct) {
// Create/Update locally
DataImportProgress progress = createOrUpdateDataImportProgressWithoutReplication(importOperationId,
overallProgressPct, subProgressName, subProgressPct);
overallProgressPct, subProgress, subProgressPct);
// Create/Update on replicas
replicate(new CreateOrUpdateDataImportProgress(importOperationId, overallProgressPct, subProgressName,
replicate(new CreateOrUpdateDataImportProgress(importOperationId, overallProgressPct, subProgress,
subProgressPct));
return progress;
}
@Override
public DataImportProgress createOrUpdateDataImportProgressWithoutReplication(UUID importOperationId,
double overallProgressPct, String subProgressName, double subProgressPct) {
double overallProgressPct, DataImportSubProgress subProgress, double subProgressPct) {
DataImportProgress progress = dataImportLock.getProgress(importOperationId);
boolean newObject = false;
if (progress == null) {
@@ -3090,7 +3091,7 @@ public class RacingEventServiceImpl implements RacingEventService, ClearStateTes
newObject = true;
}
progress.setOverAllProgressPct(overallProgressPct);
progress.setNameOfCurrentSubProgress(subProgressName);
progress.setCurrentSubProgress(subProgress);
progress.setCurrentSubProgressPct(subProgressPct);
if (newObject) {
dataImportLock.addProgress(importOperationId, progress);
@@ -12,6 +12,7 @@ import com.sap.sailing.domain.base.DomainFactory;
import com.sap.sailing.domain.base.Regatta;
import com.sap.sailing.domain.base.impl.MasterDataImportInformation;
import com.sap.sailing.domain.base.impl.RegattaImpl;
import com.sap.sailing.domain.common.DataImportSubProgress;
import com.sap.sailing.domain.common.MasterDataImportObjectCreationCount;
import com.sap.sailing.domain.common.impl.MasterDataImportObjectCreationCountImpl;
import com.sap.sailing.domain.masterdataimport.TopLevelMasterData;
@@ -35,8 +36,8 @@ public class MasterDataImporter {
ClassNotFoundException {
ObjectInputStreamResolvingAgainstCache<DomainFactory> objectInputStream = racingEventService.getBaseDomainFactory()
.createObjectInputStreamResolvingAgainstThisFactory(inputStream);
racingEventService
.createOrUpdateDataImportProgressWithReplication(importOperationId, 0.03, "Reading Data", 0.5);
racingEventService.createOrUpdateDataImportProgressWithReplication(importOperationId, 0.03,
DataImportSubProgress.TRANSFER_STARTED, 0.5);
RaceLogStore raceLogStore = MongoRaceLogStoreFactory.INSTANCE.getMongoRaceLogStore(
racingEventService.getMongoObjectFactory(), racingEventService.getDomainObjectFactory());
@@ -65,7 +66,7 @@ public class MasterDataImporter {
}
racingEventService.createOrUpdateDataImportProgressWithReplication(importOperationId, 0.3,
"Data-Transfer Complete, Initializing Import Operation", 0.5);
DataImportSubProgress.TRANSFER_COMPLETED, 0.5);
applyMasterDataImportOperation(topLevelMasterData, importOperationId, override);
}
@@ -2,30 +2,31 @@ package com.sap.sailing.server.operationaltransformation;
import java.util.UUID;
import com.sap.sailing.domain.common.DataImportSubProgress;
import com.sap.sailing.server.RacingEventService;
import com.sap.sailing.server.RacingEventServiceOperation;
public class CreateOrUpdateDataImportProgress extends AbstractRacingEventServiceOperation<Void> {
private static final long serialVersionUID = 7619972832594152077L;
private static final long serialVersionUID = 1980532937717924118L;
private UUID importOperationId;
private double overallProgressPct;
private String subProgressName;
private DataImportSubProgress subProgress;
private double subProgressPct;
public CreateOrUpdateDataImportProgress(UUID importOperationId, double overallProgressPct, String subProgressName,
double subProgressPct) {
public CreateOrUpdateDataImportProgress(UUID importOperationId, double overallProgressPct,
DataImportSubProgress subProgress, double subProgressPct) {
this.importOperationId = importOperationId;
this.overallProgressPct = overallProgressPct;
this.subProgressName = subProgressName;
this.subProgress = subProgress;
this.subProgressPct = subProgressPct;
}
@Override
public Void internalApplyTo(RacingEventService toState) throws Exception {
toState.createOrUpdateDataImportProgressWithoutReplication(importOperationId, overallProgressPct,
subProgressName, subProgressPct);
subProgress, subProgressPct);
return null;
}
@@ -26,6 +26,7 @@ import com.sap.sailing.domain.base.configuration.DeviceConfiguration;
import com.sap.sailing.domain.base.configuration.DeviceConfigurationMatcher;
import com.sap.sailing.domain.base.impl.RegattaImpl;
import com.sap.sailing.domain.common.DataImportProgress;
import com.sap.sailing.domain.common.DataImportSubProgress;
import com.sap.sailing.domain.common.RaceIdentifier;
import com.sap.sailing.domain.common.RegattaAndRaceIdentifier;
import com.sap.sailing.domain.common.Wind;
@@ -96,10 +97,10 @@ public class ImportMasterDataOperation extends
public MasterDataImportObjectCreationCountImpl internalApplyTo(RacingEventService toState) throws Exception {
final DataImportLockWithProgress dataImportLock = toState.getDataImportLock();
this.progress = dataImportLock.getProgress(importOperationId);
progress.setNameOfCurrentSubProgress("Waiting for other data import operations to finish");
progress.setCurrentSubProgress(DataImportSubProgress.IMPORT_WAIT);
LockUtil.lockForWrite(dataImportLock);
try {
progress.setNameOfCurrentSubProgress("Importing leaderboard groups");
progress.setCurrentSubProgress(DataImportSubProgress.IMPORT_LEADERBOARD_GROUPS);
progress.setCurrentSubProgressPct(0);
int numOfGroupsToImport = masterData.getLeaderboardGroups().size();
int i = 0;
@@ -108,7 +109,7 @@ public class ImportMasterDataOperation extends
i++;
progress.setCurrentSubProgressPct((double) i / numOfGroupsToImport);
}
progress.setNameOfCurrentSubProgress("Updating Event-LeaderboardGroup links");
progress.setCurrentSubProgress(DataImportSubProgress.UPDATE_EVENT_LEADERBOARD_GROUP_LINKS);
progress.setOverAllProgressPct(0.4);
progress.setCurrentSubProgressPct(0);
final Iterable<Event> allEvents = masterData.getAllEvents();
@@ -119,7 +120,7 @@ public class ImportMasterDataOperation extends
eventCounter++;
progress.setCurrentSubProgressPct((double) eventCounter / numOfEventsToHandle);
}
progress.setNameOfCurrentSubProgress("Importing wind tracks");
progress.setCurrentSubProgress(DataImportSubProgress.IMPORT_WIND_TRACKS);
progress.setOverAllProgressPct(0.5);
progress.setCurrentSubProgressPct(0);
createWindTracks(toState);
@@ -31,6 +31,7 @@ import com.sap.sailing.domain.base.impl.RegattaImpl;
import com.sap.sailing.domain.base.impl.SeriesImpl;
import com.sap.sailing.domain.base.impl.TeamImpl;
import com.sap.sailing.domain.common.FleetColors;
import com.sap.sailing.domain.common.LeaderboardNameConstants;
import com.sap.sailing.domain.common.ScoringSchemeType;
import com.sap.sailing.domain.ranking.OneDesignRankingMetric;
import com.sap.sailing.xrr.resultimport.ParserFactory;
@@ -161,7 +162,7 @@ public class StructureImporter {
GuessFleetOrderingStrategy fleetOrderingStrategy = new GuessFleetOrderingFromFleetName();
String fleetColor = "";
if (fleets.size() <= 1) {
fleetColor = "Default";
fleetColor = LeaderboardNameConstants.DEFAULT_FLEET_NAME;
FleetImpl fleetImpl = new FleetImpl(fleetColor, 0, getColorFromString(fleetColor));
fleetsImpl.add(fleetImpl);
} else {
@@ -185,9 +186,6 @@ public class StructureImporter {
if (result == null) {
result = AbstractColor.getColorByLowercaseNameStatic(colorString.toLowerCase());
}
if (result == null) {
result = Color.BLACK;
}
return result;
}
@@ -1,12 +0,0 @@
package com.sap.sse.common.test;
import static org.junit.Assert.assertEquals;
import org.junit.Test;
public class DummyTest {
@Test
public void testOneBeaufortLow() {
assertEquals(1, 1);
}
}
@@ -0,0 +1,18 @@
package com.sap.sse.common.test;
import static org.junit.Assert.assertEquals;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import java.net.URLEncoder;
import org.junit.Test;
public class TestUrlEncoding {
@Test
public void testUrlQueryStringEncoding() throws UnsupportedEncodingException {
final String s = "Test & Test";
assertEquals("Test+%26+Test", URLEncoder.encode(s, "UTF-8"));
assertEquals(s, URLDecoder.decode(URLEncoder.encode(s, "UTF-8"), "UTF-8"));
}
}
@@ -0,0 +1,10 @@
package com.sap.sse.common.util;
public class DoubleHolder {
public double value;
public DoubleHolder(double value) {
super();
this.value = value;
}
}
@@ -0,0 +1,10 @@
package com.sap.sse.common.util;
public class IntHolder {
public int value;
public IntHolder(int value) {
super();
this.value = value;
}
}
@@ -6,4 +6,6 @@ package com.sap.sse.common.util;
*/
public interface UrlHelper {
String encodeUrl(String decodedUrlString);
String encodeQueryString(String queryString);
}
@@ -24,6 +24,7 @@ Require-Bundle: com.sap.sse.datamining.shared;bundle-version="1.0.0",
com.sap.sse.common;bundle-version="1.0.0",
org.eclipse.osgi,
com.sap.sse,
com.sap.sse.common,
com.sap.sse.datamining.annotations;bundle-version="1.0.0"
Bundle-Activator: com.sap.sse.datamining.impl.DataMiningFrameworkActivator
Bundle-ActivationPolicy: lazy
@@ -6,6 +6,9 @@ import java.util.Map;
import java.util.Map.Entry;
import java.util.concurrent.ExecutorService;
import org.omg.CORBA.DoubleHolder;
import org.omg.CORBA.IntHolder;
import com.sap.sse.datamining.components.AggregationProcessorDefinition;
import com.sap.sse.datamining.components.Processor;
import com.sap.sse.datamining.impl.components.GroupedDataEntry;
@@ -14,24 +17,6 @@ import com.sap.sse.datamining.shared.GroupKey;
public class ParallelGroupedNumberDataAverageAggregationProcessor
extends AbstractParallelGroupedDataStoringAggregationProcessor<Number, Number> {
private static class IntHolder {
public int value;
public IntHolder(int value) {
super();
this.value = value;
}
}
private static class DoubleHolder {
public double value;
public DoubleHolder(double value) {
super();
this.value = value;
}
}
private static final AggregationProcessorDefinition<Number, Number> DEFINITION =
new SimpleAggregationProcessorDefinition<>(Number.class, Number.class, "Average", ParallelGroupedNumberDataAverageAggregationProcessor.class);
@@ -16,4 +16,6 @@ public interface StringMessages extends Messages {
String removeUploadedFile();
String pleaseOnlyUploadContentYouHaveAllUsageRightsFor();
String send();
}
@@ -97,7 +97,7 @@ public class URLFieldWithFileUpload extends Composite implements HasValue<String
uploadPanel.add(fileUploadField);
final InputElement inputElement = fileUploadField.getElement().cast();
inputElement.setName("file");
final SubmitButton submitButton = new SubmitButton("Send...");
final SubmitButton submitButton = new SubmitButton(stringMessages.send());
submitButton.setEnabled(false);
fileUploadField.addChangeHandler(new ChangeHandler() {
@Override
@@ -1,5 +1,7 @@
eclipse.preferences.version=1
encoding//src/com/sap/sse/gwt/client/controls/filestorage/StringMessages.properties=UTF-8
encoding//src/com/sap/sse/gwt/client/controls/filestorage/StringMessages_de.properties=UTF-8
encoding//src/com/sap/sse/gwt/client/controls/filestorage/StringMessages_ja.properties=UTF-8
encoding//src/com/sap/sse/gwt/client/controls/filestorage/StringMessages_ru.properties=UTF-8
encoding//src/com/sap/sse/gwt/client/controls/filestorage/StringMessages_zh.properties=UTF-8
encoding//src/com/sap/sse/gwt/client/controls/filestorage/StringMessages_zh_CN.properties=UTF-8
@@ -30,7 +30,7 @@ import com.google.gwt.view.client.SelectionChangeEvent;
public class RefreshableMultiSelectionModel<T> extends MultiSelectionModel<T>
implements RefreshableSelectionModel<T> {
final EntityIdentityComparator<T> comp;
private boolean dontcheckSelectionState = false;
private boolean dontCheckSelectionState = false;
private final ListDataProvider<T> listDataProvider;
/**
@@ -72,7 +72,7 @@ public class RefreshableMultiSelectionModel<T> extends MultiSelectionModel<T>
*/
@Override
public void setSelected(T item, boolean selected) {
if (comp == null || dontcheckSelectionState || item == null || getSelectedSet().isEmpty()) {
if (comp == null || dontCheckSelectionState || item == null || getSelectedSet().isEmpty()) {
super.setSelected(item, selected);
} else {
T wasSelectedBefore = null;
@@ -94,9 +94,9 @@ public class RefreshableMultiSelectionModel<T> extends MultiSelectionModel<T>
}
/**
* Refreshes the {@link RefreshableMultiSelectionModel} with the <code>newObjects</code>.All objects from the
* Refreshes the {@link RefreshableMultiSelectionModel} with the <code>newObjects</code>. All objects from the
* current selection that {@link EntityIdentityComparator#representSameEntity(Object, Object) represent the same
* entity} as an object from <code>newObjects</code> will be reselected. All others are de-selected. That means a
* entity} as an object from <code>newObjects</code> will be reselected. All others are de-selected. That means if a
* selected object is not contained in <code>newObjects</code> the object wouldn't be selected anymore. If this
* selection model has no {@link EntityIdentityComparator} set, this method will use the {@link #equals(Object)}
* method to compare. If an object is reselected it will be replaced with the new version of it.
@@ -111,8 +111,8 @@ public class RefreshableMultiSelectionModel<T> extends MultiSelectionModel<T>
*/
@Override
public void refreshSelectionModel(Iterable<T> newObjects) {
if (!dontcheckSelectionState) { // avoid endless recursions
dontcheckSelectionState = true;
if (!dontCheckSelectionState) { // avoid endless recursions
dontCheckSelectionState = true;
try {
final Set<T> selectedSet = getSelectedSet(); // gets the selected set as a non-live copy, so later
// changes to the selection won't change this set anymore
@@ -141,7 +141,7 @@ public class RefreshableMultiSelectionModel<T> extends MultiSelectionModel<T>
SelectionChangeEvent.fire(this);
}
} finally {
dontcheckSelectionState = false;
dontCheckSelectionState = false;
}
}
}
@@ -0,0 +1,27 @@
save=保存
remove=削除
ok=OK
cancel=取消
add=追加
edit=編集
serverError=サーバにアクセスしようとしてエラーが発生しました。ネットワーク接続を確認して、再試行してください。
close=終了
remoteProcedureCall=リモートプロシージャコール
serverReplies=サーバ応答
errorCommunicatingWithServer=サーバとの通信でエラー発生
active=有効
setAsActive=有効に設定
couldNotTestProperties=プロパティをテストできません
couldNotSetProperties=プロパティを設定できません
couldNotSetActiveService=有効なサービスを設定できません
couldNotLoadActiveService=有効なサービスをロードできません
couldNotLoadAvailableServices=利用可能なサービスをロードできません
refresh=リフレッシュ
name=名称
value=
description=内容説明
error=エラー
configuration=設定
settings=設定
settingsForComponent={0} の設定
pleaseSelect=選択してください:
@@ -0,0 +1,124 @@
<?xml version="1.0" encoding="UTF-8"?>
<xliff xmlns="urn:oasis:names:tc:xliff:document:1.2" version="1.2">
<file datatype="javapropertyresourcebundle" date="2016-04-27T10:05:55Z" original="/usr/sap/ljs/app/Converter_1765894632275589659/java/com.sap.sse.gwt/src/com/sap/sse/gwt/client/controls/filestorage/StringMessages.properties" source-language="en" target-language="ja">
<header>
<skl>
<internal-file crc="85e48bcf9e250e66161b1b03d11cf699" form="base64">H4sIAAAAAAAAAH1SzU4jMQy+5yn8BIgXyKEa2MuuAFEEZ5O4naiZZOR4WiG0746TtLNod+Hi/2/8eb4UPJLdqjFMU9b4sTmTD/b+p3GYHEU7NGfQe7vx3pAPYm/VmEJ8JL5lzmw3CagGkJ1bmMnDaQyRAEVomiWkPUgGl5OgE5CRoKOv4CESFgI3kjvAW14YEskp86FOJ3IScgJMHoTfAPcY0pVxMReyQ7WNudADZ0d+YRowxnaGEKxFqNUz30eaY6Bity0D7qlp7Ic8TUsKDivhlyBjH7LtRuXzqQsnbZ+PMHpT0L+3aU73yKb0WLcIYIE+YFxeor/L8kRFlNxMLJXKUMuQsv4YbcC8dlaAfua/87rqi/G+v/IPjv5CdDaNvDZX1K+M/itY1N63uCOGiK/xAi3/YC8DF3hR5XZMZVS1mjcJJ7J3aswR40L2uVrjqTgOc30G9uZP3AXryiiTtAv7hbFNDZ+zqkbVqwreg7Xyowk+50RJ1i7sVOn3699mbu9yS1GfoD0/0tIy8wFPN7vhNwMAAA==</internal-file>
</skl>
<phase-group>
<phase company-name="SAP AG" date="2016-04-14T07:19:06Z" phase-name="file-creation" process-name="file-creation" tool-id="urn:x-sap:sls-mlt:java:properties-flexible-converter"/>
</phase-group>
<tool tool-company="SAP AG" tool-id="urn:x-sap:sls-mlt:java:properties-flexible-converter" tool-name="TEW: Javascript .properties Flexible File Converter" tool-version="1.0.0"/>
</header>
<body>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="save" resname="save">
<source>Save</source>
<target state="signed-off">保存</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="remove" resname="remove">
<source>Remove</source>
<target state="signed-off">削除</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="ok" resname="ok">
<source>OK</source>
<target state="signed-off">OK</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="cancel" resname="cancel">
<source>Cancel</source>
<target state="signed-off">取消</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="add" resname="add">
<source>Add</source>
<target state="signed-off">追加</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="edit" resname="edit">
<source>Edit</source>
<target state="signed-off">編集</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="serverError" resname="serverError">
<source>An error occurred while attempting to contact the server. Please check your network connection and try again.</source>
<target state="signed-off">サーバにアクセスしようとしてエラーが発生しました。ネットワーク接続を確認して、再試行してください。</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="close" resname="close">
<source>Close</source>
<target state="signed-off">終了</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="remoteProcedureCall" resname="remoteProcedureCall">
<source>Remote Procedure Call</source>
<target state="signed-off">リモートプロシージャコール</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="serverReplies" resname="serverReplies">
<source>Server replies</source>
<target state="signed-off">サーバ応答</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="errorCommunicatingWithServer" resname="errorCommunicatingWithServer">
<source>Error communicating with server</source>
<target state="signed-off">サーバとの通信でエラー発生</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="active" resname="active">
<source>Active</source>
<target state="signed-off">有効</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="setAsActive" resname="setAsActive">
<source>Set as active</source>
<target state="signed-off">有効に設定</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="couldNotTestProperties" resname="couldNotTestProperties">
<source>Could not test properties</source>
<target state="signed-off">プロパティをテストできません</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="couldNotSetProperties" resname="couldNotSetProperties">
<source>Could not set properties</source>
<target state="signed-off">プロパティを設定できません</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="couldNotSetActiveService" resname="couldNotSetActiveService">
<source>Could not set active service</source>
<target state="signed-off">有効なサービスを設定できません</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="couldNotLoadActiveService" resname="couldNotLoadActiveService">
<source>Could not load active service</source>
<target state="signed-off">有効なサービスをロードできません</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="couldNotLoadAvailableServices" resname="couldNotLoadAvailableServices">
<source>Could not load available services</source>
<target state="signed-off">利用可能なサービスをロードできません</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="refresh" resname="refresh">
<source>Refresh</source>
<target state="signed-off">リフレッシュ</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="name" resname="name">
<source>Name</source>
<target state="signed-off">名称</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="value" resname="value">
<source>Value</source>
<target state="signed-off">値</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="description" resname="description">
<source>Description</source>
<target state="signed-off">内容説明</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="error" resname="error">
<source>Error</source>
<target state="signed-off">エラー</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="configuration" resname="configuration">
<source>Configuration</source>
<target state="signed-off">設定</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="settings" resname="settings">
<source>Settings</source>
<target state="signed-off">設定</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="settingsForComponent" resname="settingsForComponent">
<source>Settings for <ph id="1">{0}</ph></source>
<target state="signed-off"><ph id="1">{0}</ph> の設定</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="pleaseSelect" resname="pleaseSelect">
<source>Please select</source>
<target state="signed-off">選択してください:</target>
</trans-unit>
</body>
</file>
</xliff>
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<xliff xmlns="urn:oasis:names:tc:xliff:document:1.2" version="1.2">
<file datatype="javapropertyresourcebundle" date="2016-04-18T13:56:50Z" original="/usr/sap/ljs/app/Converter_1765894632275589659/java/com.sap.sse.gwt/src/com/sap/sse/gwt/client/controls/filestorage/StringMessages.properties" source-language="en" target-language="ru">
<file datatype="javapropertyresourcebundle" date="2016-04-27T12:50:49Z" original="/usr/sap/ljs/app/Converter_1765894632275589659/java/com.sap.sse.gwt/src/com/sap/sse/gwt/client/controls/filestorage/StringMessages.properties" source-language="en" target-language="ru">
<header>
<skl>
<internal-file crc="85e48bcf9e250e66161b1b03d11cf699" form="base64">H4sIAAAAAAAAAH1SzU4jMQy+5yn8BIgXyKEa2MuuAFEEZ5O4naiZZOR4WiG0746TtLNod+Hi/2/8eb4UPJLdqjFMU9b4sTmTD/b+p3GYHEU7NGfQe7vx3pAPYm/VmEJ8JL5lzmw3CagGkJ1bmMnDaQyRAEVomiWkPUgGl5OgE5CRoKOv4CESFgI3kjvAW14YEskp86FOJ3IScgJMHoTfAPcY0pVxMReyQ7WNudADZ0d+YRowxnaGEKxFqNUz30eaY6Bity0D7qlp7Ic8TUsKDivhlyBjH7LtRuXzqQsnbZ+PMHpT0L+3aU73yKb0WLcIYIE+YFxeor/L8kRFlNxMLJXKUMuQsv4YbcC8dlaAfua/87rqi/G+v/IPjv5CdDaNvDZX1K+M/itY1N63uCOGiK/xAi3/YC8DF3hR5XZMZVS1mjcJJ7J3aswR40L2uVrjqTgOc30G9uZP3AXryiiTtAv7hbFNDZ+zqkbVqwreg7Xyowk+50RJ1i7sVOn3699mbu9yS1GfoD0/0tIy8wFPN7vhNwMAAA==</internal-file>
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<xliff xmlns="urn:oasis:names:tc:xliff:document:1.2" version="1.2">
<file datatype="javapropertyresourcebundle" date="2016-04-18T13:56:50Z" original="/usr/sap/ljs/app/Converter_1765894632275589659/java/com.sap.sse.gwt/src/com/sap/sse/gwt/client/controls/filestorage/StringMessages.properties" source-language="en" target-language="zh-CN">
<file datatype="javapropertyresourcebundle" date="2016-04-27T10:05:55Z" original="/usr/sap/ljs/app/Converter_1765894632275589659/java/com.sap.sse.gwt/src/com/sap/sse/gwt/client/controls/filestorage/StringMessages.properties" source-language="en" target-language="zh-CN">
<header>
<skl>
<internal-file crc="85e48bcf9e250e66161b1b03d11cf699" form="base64">H4sIAAAAAAAAAH1SzU4jMQy+5yn8BIgXyKEa2MuuAFEEZ5O4naiZZOR4WiG0746TtLNod+Hi/2/8eb4UPJLdqjFMU9b4sTmTD/b+p3GYHEU7NGfQe7vx3pAPYm/VmEJ8JL5lzmw3CagGkJ1bmMnDaQyRAEVomiWkPUgGl5OgE5CRoKOv4CESFgI3kjvAW14YEskp86FOJ3IScgJMHoTfAPcY0pVxMReyQ7WNudADZ0d+YRowxnaGEKxFqNUz30eaY6Bity0D7qlp7Ic8TUsKDivhlyBjH7LtRuXzqQsnbZ+PMHpT0L+3aU73yKb0WLcIYIE+YFxeor/L8kRFlNxMLJXKUMuQsv4YbcC8dlaAfua/87rqi/G+v/IPjv5CdDaNvDZX1K+M/itY1N63uCOGiK/xAi3/YC8DF3hR5XZMZVS1mjcJJ7J3aswR40L2uVrjqTgOc30G9uZP3AXryiiTtAv7hbFNDZ+zqkbVqwreg7Xyowk+50RJ1i7sVOn3699mbu9yS1GfoD0/0tIy8wFPN7vhNwMAAA==</internal-file>
@@ -13,111 +13,111 @@
<body>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="save" resname="save">
<source>Save</source>
<target>保存</target>
<target state="signed-off">保存</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="remove" resname="remove">
<source>Remove</source>
<target>删除</target>
<target state="signed-off">删除</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="ok" resname="ok">
<source>OK</source>
<target>确定</target>
<target state="signed-off">确定</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="cancel" resname="cancel">
<source>Cancel</source>
<target>取消</target>
<target state="signed-off">取消</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="add" resname="add">
<source>Add</source>
<target>添加</target>
<target state="signed-off">添加</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="edit" resname="edit">
<source>Edit</source>
<target>编辑</target>
<target state="signed-off">编辑</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="serverError" resname="serverError">
<source>An error occurred while attempting to contact the server. Please check your network connection and try again.</source>
<target>尝试联系服务器时出错。请检查网络连接,并重试。</target>
<target state="signed-off">尝试联系服务器时出错。请检查网络连接,并重试。</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="close" resname="close">
<source>Close</source>
<target>关闭</target>
<target state="signed-off">关闭</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="remoteProcedureCall" resname="remoteProcedureCall">
<source>Remote Procedure Call</source>
<target>远程过程调用</target>
<target state="signed-off">远程过程调用</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="serverReplies" resname="serverReplies">
<source>Server replies</source>
<target>服务器应答</target>
<target state="signed-off">服务器应答</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="errorCommunicatingWithServer" resname="errorCommunicatingWithServer">
<source>Error communicating with server</source>
<target>与服务器通信时发生错误</target>
<target state="signed-off">与服务器通信时发生错误</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="active" resname="active">
<source>Active</source>
<target>已激活</target>
<target state="signed-off">已激活</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="setAsActive" resname="setAsActive">
<source>Set as active</source>
<target>设置为已激活</target>
<target state="signed-off">设置为已激活</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="couldNotTestProperties" resname="couldNotTestProperties">
<source>Could not test properties</source>
<target>无法测试属性</target>
<target state="signed-off">无法测试属性</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="couldNotSetProperties" resname="couldNotSetProperties">
<source>Could not set properties</source>
<target>无法设置属性</target>
<target state="signed-off">无法设置属性</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="couldNotSetActiveService" resname="couldNotSetActiveService">
<source>Could not set active service</source>
<target>无法设置已激活的服务</target>
<target state="signed-off">无法设置已激活的服务</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="couldNotLoadActiveService" resname="couldNotLoadActiveService">
<source>Could not load active service</source>
<target>无法加载已激活的服务</target>
<target state="signed-off">无法加载已激活的服务</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="couldNotLoadAvailableServices" resname="couldNotLoadAvailableServices">
<source>Could not load available services</source>
<target>无法加载可用的服务</target>
<target state="signed-off">无法加载可用的服务</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="refresh" resname="refresh">
<source>Refresh</source>
<target>刷新</target>
<target state="signed-off">刷新</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="name" resname="name">
<source>Name</source>
<target>名称</target>
<target state="signed-off">名称</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="value" resname="value">
<source>Value</source>
<target>值</target>
<target state="signed-off">值</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="description" resname="description">
<source>Description</source>
<target>描述</target>
<target state="signed-off">描述</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="error" resname="error">
<source>Error</source>
<target>错误</target>
<target state="signed-off">错误</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="configuration" resname="configuration">
<source>Configuration</source>
<target>配置</target>
<target state="signed-off">配置</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="settings" resname="settings">
<source>Settings</source>
<target>设置</target>
<target state="signed-off">设置</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="settingsForComponent" resname="settingsForComponent">
<source>Settings for <ph id="1">{0}</ph></source>
<target><ph id="1">{0}</ph>设置</target>
<target state="signed-off"><ph id="1">{0}</ph>设置</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="pleaseSelect" resname="pleaseSelect">
<source>Please select</source>
<target>请选择</target>
<target state="signed-off">请选择</target>
</trans-unit>
</body>
</file>
@@ -2,6 +2,8 @@ eclipse.preferences.version=1
encoding//src/main/java/com/sap/sse/security/ui/client/UserService.java=utf-8
encoding//src/main/java/com/sap/sse/security/ui/client/i18n/StringMessages.properties=UTF-8
encoding//src/main/java/com/sap/sse/security/ui/client/i18n/StringMessages_de.properties=UTF-8
encoding//src/main/java/com/sap/sse/security/ui/client/i18n/StringMessages_ja.properties=UTF-8
encoding//src/main/java/com/sap/sse/security/ui/client/i18n/StringMessages_ru.properties=UTF-8
encoding//src/main/java/com/sap/sse/security/ui/client/i18n/StringMessages_zh.properties=UTF-8
encoding//src/main/java/com/sap/sse/security/ui/client/i18n/StringMessages_zh_CN.properties=UTF-8
encoding//src/main/java/com/sap/sse/security/ui/login/LoginView.java=utf-8
@@ -0,0 +1,96 @@
name=名前
company=会社
password=パスワード
passwordRepeat=パスワード繰返
loggedIn=ユーザ {0} としてログインしました
signIn=サインイン
signUp=サインアップ
signOut=サインアウト
invalidUsername=無効なユーザ名
couldNotSignOut=サインアウトできませんでした: {0}
createUser=ユーザ登録
settings=設定
filterUsers=ユーザのフィルタリング...
welcome={0} さん、ようこそ
tryingToVerifyUser=ユーザ照合を試行中です...
fetchingUserInformation=ユーザ情報を取り込んでいます...
signedInAs={0} としてサインイン
signedInAsTitle=サインインしたユーザ:
close=閉じる
loading=ロードしています...
user=ユーザ
users=ユーザ
addURLFilter=URL フィルタ追加
ok=OK
cancel=取消
username=ユーザ名
email=電子メール
usernameMustHaveAtLeastNCharacters=少なくとも {0} 文字あるユーザ名を入力してください
passwordMustHaveAtLeastNCharacters=少なくとも {0} 文字あるパスワードを入力してください
passwordsDontMatch=パスワードが次と一致しなければなりません:
couldNotCreateUser=ユーザを登録できませんでした: {0}
changePassword=パスワード変更
userDetails=ユーザ詳細
deleteUser=ユーザ削除
deleteUserQuestion=ユーザを削除しますか
doYouReallyWantToDeleteUser=ユーザ {0} を削除しますか
errorDeletingUser=ユーザの削除中にエラーが発生しました
account={0} アカウント
save=保存
remove=削除
add=追加
edit=編集
errorUpdatingRoles=ユーザ {0} のロール更新でエラー発生: {1}
errorUpdatingPermissions=ユーザ {0} の権限更新でエラー発生: {1}
enterRoleName=ロール名を入力...
enterPermissionName=権限名を入力...
errorCreatingUser=ユーザ名 {0} でのサインアップでエラー発生: {1}
signedUpSuccessfully=ユーザ {0} が正常にサインアップされました。電子メールをチェックして、電子メールアカウントを確認してください。
unknownErrorCreatingUser=名前 {0} でユーザをサインアップしようとして未知のエラーが発生しました。その名前で別のユーザがすでに登録されている可能性があります。
userAlreadyExists=名前 {0} のユーザはすでに登録されています
currentPassword=現在のパスワード
passwordSuccessfullyChanged=パスワードが変更されました
passwordDoesNotMeetRequirements=パスワードが要件を満たしていません
errorChangingPassword=パスワード変更でエラー発生: {0}
invalidCredentials=信用証明書が無効
editEmail=電子メールアドレス編集
errorUpdatingEmail=電子メールアドレス更新でエラー発生: {0}
successfullyUpdatedEmail=ユーザ {0} の電子メールアドレスが更新されました。\n入力チェックが {1} に送信されました。
errorUpdatingUserProperties=ユーザプロパティ更新でエラー発生: {0}
successfullyUpdatedUserProperties=ユーザ {0} のプロパティが更新されました。
forgotPassword=パスワードを忘れました
errorDuringPasswordReset=パスワードリセット中にエラー発生: {0}
cannotResetPasswordWithoutValidatedEmail=ユーザ {0} に確認済の電子メールアドレスがないためパスワードをリセットできません
passwordResetLinkSent=パスワードをリセットするためのリンクが {0} の確認済の電子メールアドレスに送信されました
errorValidatingEmail=ユーザ {0} の電子メールアドレス確認でエラー発生: {1}
emailValidatedSuccessfully=ユーザ {0} の電子メールアドレスが確認されました
errorResettingPassword=ユーザ {0} のパスワードリセットでエラー発生: {1}
successfullyResetPassword=ユーザ {0} のパスワードがリセットされました。電子メールが送信されました。
failedToSignIn=サインインに失敗しました。信用証明書を確認してください。
emailValidationUnsuccessful=ユーザ {0} の電子メールアドレスの確認に失敗しました。最新のチェックコードを使用しましたか。
roles=ロール
permissions=権限
signInWith=サインインのユーザ...
generalWelcome=ようこそ
newUser=初めての利用ですか
pleaseSignIn=サインインしてください
enterUsernameOrEmail=ユーザ名または電子メールアドレスを入力してください
serverError=サーバにアクセスしようとしてエラーが発生しました。ネットワーク接続を確認して、再試行してください。
remoteProcedureCall=リモートプロシージャコール
serverReplies=サーバ応答
errorCommunicatingWithServer=サーバとの通信でエラー発生
editProfile=ユーザプロファイル編集
allPermissions=全権限 (ロールから推定されるものを含む)
configuration=設定
settingsForComponent={0} の設定
pleaseSelect=選択してください:
oldPassword=旧パスワード
newPasswordPlaceholder=新規パスワードを入力してください
oldPasswordPlaceholder=旧パスワードを入力してください
passwordRepeatPlaceholder=新規パスワードを確認してください
resetPassword=パスワードのリセット
youAreNotSignedIn=現在はサインインしていません。
youDontHaveRequiredPermission=必要な権限がありません。
accountConfirmation=アカウント情報
error=未知のエラー
refresh=リフレッシュ
@@ -30,7 +30,7 @@ passwordMustHaveAtLeastNCharacters=Используйте пароль длин
passwordsDontMatch=Пароли должны совпадать
couldNotCreateUser=Не удалось создать пользователя: {0}
changePassword=Изменить пароль
userDetails=Сведения пользователя
userDetails=Данные пользователя
deleteUser=Удалить пользователя
deleteUserQuestion=Удалить пользователя?
doYouReallyWantToDeleteUser=Действительно удалить пользователя {0}?
@@ -0,0 +1,400 @@
<?xml version="1.0" encoding="UTF-8"?>
<xliff xmlns="urn:oasis:names:tc:xliff:document:1.2" version="1.2">
<file datatype="javapropertyresourcebundle" date="2016-04-27T10:05:34Z" original="/usr/sap/ljs/app/Converter_1765894632275589659/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/client/i18n/StringMessages.properties" source-language="en" target-language="ja">
<header>
<skl>
<internal-file crc="ad098eb3d0a7bbfaf753d0f6d0a7c151" form="base64">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</internal-file>
</skl>
<phase-group>
<phase company-name="SAP AG" date="2016-04-14T07:19:05Z" phase-name="file-creation" process-name="file-creation" tool-id="urn:x-sap:sls-mlt:java:properties-flexible-converter"/>
</phase-group>
<tool tool-company="SAP AG" tool-id="urn:x-sap:sls-mlt:java:properties-flexible-converter" tool-name="TEW: Javascript .properties Flexible File Converter" tool-version="1.0.0"/>
</header>
<body>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="name" resname="name">
<source>Name</source>
<target state="signed-off">名前</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="company" resname="company">
<source>Company</source>
<target state="signed-off">会社</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="password" resname="password">
<source>Password</source>
<target state="signed-off">パスワード</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="passwordRepeat" resname="passwordRepeat">
<source>Repeat password</source>
<target state="signed-off">パスワード繰返</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="loggedIn" resname="loggedIn">
<source>Logged in as user <ph id="1">{0}</ph>!</source>
<target state="signed-off">ユーザ <ph id="1">{0}</ph> としてログインしました</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="signIn" resname="signIn">
<source>Sign in</source>
<target state="signed-off">サインイン</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="signUp" resname="signUp">
<source>Sign up</source>
<target state="signed-off">サインアップ</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="signOut" resname="signOut">
<source>Sign out</source>
<target state="signed-off">サインアウト</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="invalidUsername" resname="invalidUsername">
<source>Invalid username</source>
<target state="signed-off">無効なユーザ名</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="couldNotSignOut" resname="couldNotSignOut">
<source>Could not sign out: <ph id="1">{0}</ph></source>
<target state="signed-off">サインアウトできませんでした: <ph id="1">{0}</ph></target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="createUser" resname="createUser">
<source>Create user</source>
<target state="signed-off">ユーザ登録</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="settings" resname="settings">
<source>Settings</source>
<target state="signed-off">設定</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="filterUsers" resname="filterUsers">
<source>Filter users...</source>
<target state="signed-off">ユーザのフィルタリング...</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="welcome" resname="welcome">
<source>Welcome, <ph id="1">{0}</ph>!</source>
<target state="signed-off"><ph id="1">{0}</ph> さん、ようこそ</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="tryingToVerifyUser" resname="tryingToVerifyUser">
<source>Trying to verify user...</source>
<target state="signed-off">ユーザ照合を試行中です...</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="fetchingUserInformation" resname="fetchingUserInformation">
<source>Fetching user information...</source>
<target state="signed-off">ユーザ情報を取り込んでいます...</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="signedInAs" resname="signedInAs">
<source>Signed in as <ph id="1">{0}</ph></source>
<target state="signed-off"><ph id="1">{0}</ph> としてサインイン</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="signedInAsTitle" resname="signedInAsTitle">
<source>Signed in as:</source>
<target state="signed-off">サインインしたユーザ:</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="close" resname="close">
<source>Close</source>
<target state="signed-off">閉じる</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="loading" resname="loading">
<source>Loading...</source>
<target state="signed-off">ロードしています...</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="user" resname="user">
<source>User</source>
<target state="signed-off">ユーザ</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="users" resname="users">
<source>Users</source>
<target state="signed-off">ユーザ</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="addURLFilter" resname="addURLFilter">
<source>Add URL filter</source>
<target state="signed-off">URL フィルタ追加</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="ok" resname="ok">
<source>OK</source>
<target state="signed-off">OK</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="cancel" resname="cancel">
<source>Cancel</source>
<target state="signed-off">取消</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="username" resname="username">
<source>Username</source>
<target state="signed-off">ユーザ名</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="email" resname="email">
<source>e-mail</source>
<target state="signed-off">電子メール</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="usernameMustHaveAtLeastNCharacters" resname="usernameMustHaveAtLeastNCharacters">
<source>Please enter a username with at least <ph id="1">{0}</ph> characters</source>
<target state="signed-off">少なくとも <ph id="1">{0}</ph> 文字あるユーザ名を入力してください</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="passwordMustHaveAtLeastNCharacters" resname="passwordMustHaveAtLeastNCharacters">
<source>Please use a password that has at least <ph id="1">{0}</ph> characters</source>
<target state="signed-off">少なくとも <ph id="1">{0}</ph> 文字あるパスワードを入力してください</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="passwordsDontMatch" resname="passwordsDontMatch">
<source>Passwords must match</source>
<target state="signed-off">パスワードが次と一致しなければなりません:</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="couldNotCreateUser" resname="couldNotCreateUser">
<source>Could not create user: <ph id="1">{0}</ph></source>
<target state="signed-off">ユーザを登録できませんでした: <ph id="1">{0}</ph></target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="changePassword" resname="changePassword">
<source>Change password</source>
<target state="signed-off">パスワード変更</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="userDetails" resname="userDetails">
<source>User details</source>
<target state="signed-off">ユーザ詳細</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="deleteUser" resname="deleteUser">
<source>Delete user</source>
<target state="signed-off">ユーザ削除</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="deleteUserQuestion" resname="deleteUserQuestion">
<source>Delete user?</source>
<target state="signed-off">ユーザを削除しますか</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="doYouReallyWantToDeleteUser" resname="doYouReallyWantToDeleteUser">
<source>Do you really want to delete user <ph id="1">{0}</ph>?</source>
<target state="signed-off">ユーザ <ph id="1">{0}</ph> を削除しますか</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="errorDeletingUser" resname="errorDeletingUser">
<source>An error happened while deleting the user</source>
<target state="signed-off">ユーザの削除中にエラーが発生しました</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="account" resname="account">
<source><ph id="1">{0}</ph>-Account</source>
<target state="signed-off"><ph id="1">{0}</ph> アカウント</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="save" resname="save">
<source>Save</source>
<target state="signed-off">保存</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="remove" resname="remove">
<source>Remove</source>
<target state="signed-off">削除</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="add" resname="add">
<source>Add</source>
<target state="signed-off">追加</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="edit" resname="edit">
<source>Edit</source>
<target state="signed-off">編集</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="errorUpdatingRoles" resname="errorUpdatingRoles">
<source>Error updating roles for user <ph id="1">{0}</ph>: <ph id="2">{1}</ph></source>
<target state="signed-off">ユーザ <ph id="1">{0}</ph> のロール更新でエラー発生: <ph id="2">{1}</ph></target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="errorUpdatingPermissions" resname="errorUpdatingPermissions">
<source>Error updating permissions for user <ph id="1">{0}</ph>: <ph id="2">{1}</ph></source>
<target state="signed-off">ユーザ <ph id="1">{0}</ph> の権限更新でエラー発生: <ph id="2">{1}</ph></target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="enterRoleName" resname="enterRoleName">
<source>Enter role name...</source>
<target state="signed-off">ロール名を入力...</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="enterPermissionName" resname="enterPermissionName">
<source>Enter permission name...</source>
<target state="signed-off">権限名を入力...</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="errorCreatingUser" resname="errorCreatingUser">
<source>Error signing up with username <ph id="1">{0}</ph>: <ph id="2">{1}</ph></source>
<target state="signed-off">ユーザ名 <ph id="1">{0}</ph> でのサインアップでエラー発生: <ph id="2">{1}</ph></target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="signedUpSuccessfully" resname="signedUpSuccessfully">
<source>Successfully signed up user <ph id="1">{0}</ph>. Please check you e-mails to validate your e-mail account.</source>
<target state="signed-off">ユーザ <ph id="1">{0}</ph> が正常にサインアップされました。電子メールをチェックして、電子メールアカウントを確認してください。</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="unknownErrorCreatingUser" resname="unknownErrorCreatingUser">
<source>Unknown error trying to sign up user with name <ph id="1">{0}</ph>. Perhaps another user with that name already exists.</source>
<target state="signed-off">名前 <ph id="1">{0}</ph> でユーザをサインアップしようとして未知のエラーが発生しました。その名前で別のユーザがすでに登録されている可能性があります。</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="userAlreadyExists" resname="userAlreadyExists">
<source>A user with name <ph id="1">{0}</ph> already exists</source>
<target state="signed-off">名前 <ph id="1">{0}</ph> のユーザはすでに登録されています</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="currentPassword" resname="currentPassword">
<source>Current password</source>
<target state="signed-off">現在のパスワード</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="passwordSuccessfullyChanged" resname="passwordSuccessfullyChanged">
<source>Password successfully changed</source>
<target state="signed-off">パスワードが変更されました</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="passwordDoesNotMeetRequirements" resname="passwordDoesNotMeetRequirements">
<source>Password does not meet requirements</source>
<target state="signed-off">パスワードが要件を満たしていません</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="errorChangingPassword" resname="errorChangingPassword">
<source>Error changing password: <ph id="1">{0}</ph></source>
<target state="signed-off">パスワード変更でエラー発生: <ph id="1">{0}</ph></target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="invalidCredentials" resname="invalidCredentials">
<source>Invalid credentials</source>
<target state="signed-off">信用証明書が無効</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="editEmail" resname="editEmail">
<source>Edit e-mail address</source>
<target state="signed-off">電子メールアドレス編集</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="errorUpdatingEmail" resname="errorUpdatingEmail">
<source>Error updating e-mail address: <ph id="1">{0}</ph></source>
<target state="signed-off">電子メールアドレス更新でエラー発生: <ph id="1">{0}</ph></target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="successfullyUpdatedEmail" resname="successfullyUpdatedEmail">
<source>Successfully updated e-mail address for user <ph id="1">{0}</ph>.\nValidation check sent to <ph id="2">{1}</ph>.</source>
<target state="signed-off">ユーザ <ph id="1">{0}</ph> の電子メールアドレスが更新されました。\n入力チェックが <ph id="2">{1}</ph> に送信されました。</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="errorUpdatingUserProperties" resname="errorUpdatingUserProperties">
<source>Error updating user properties: <ph id="1">{0}</ph></source>
<target state="signed-off">ユーザプロパティ更新でエラー発生: <ph id="1">{0}</ph></target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="successfullyUpdatedUserProperties" resname="successfullyUpdatedUserProperties">
<source>Successfully updated properties for user <ph id="1">{0}</ph>.</source>
<target state="signed-off">ユーザ <ph id="1">{0}</ph> のプロパティが更新されました。</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="forgotPassword" resname="forgotPassword">
<source>Forgot password</source>
<target state="signed-off">パスワードを忘れました</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="errorDuringPasswordReset" resname="errorDuringPasswordReset">
<source>Error during password reset: <ph id="1">{0}</ph></source>
<target state="signed-off">パスワードリセット中にエラー発生: <ph id="1">{0}</ph></target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="cannotResetPasswordWithoutValidatedEmail" resname="cannotResetPasswordWithoutValidatedEmail">
<source>Cannot reset password because user <ph id="1">{0}</ph> does not have a validated e-mail address</source>
<target state="signed-off">ユーザ <ph id="1">{0}</ph> に確認済の電子メールアドレスがないためパスワードをリセットできません</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="passwordResetLinkSent" resname="passwordResetLinkSent">
<source>A link for resetting the password has been sent to <ph id="1">{0}</ph>''s validated e-mail address</source>
<target state="signed-off">パスワードをリセットするためのリンクが <ph id="1">{0}</ph> の確認済の電子メールアドレスに送信されました</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="errorValidatingEmail" resname="errorValidatingEmail">
<source>Error validating e-mail address of user <ph id="1">{0}</ph>: <ph id="2">{1}</ph></source>
<target state="signed-off">ユーザ <ph id="1">{0}</ph> の電子メールアドレス確認でエラー発生: <ph id="2">{1}</ph></target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="emailValidatedSuccessfully" resname="emailValidatedSuccessfully">
<source>e-mail address of user <ph id="1">{0}</ph> validated successfully</source>
<target state="signed-off">ユーザ <ph id="1">{0}</ph> の電子メールアドレスが確認されました</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="errorResettingPassword" resname="errorResettingPassword">
<source>Error resetting password for user <ph id="1">{0}</ph>: <ph id="2">{1}</ph></source>
<target state="signed-off">ユーザ <ph id="1">{0}</ph> のパスワードリセットでエラー発生: <ph id="2">{1}</ph></target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="successfullyResetPassword" resname="successfullyResetPassword">
<source>Successfully reset password for user <ph id="1">{0}</ph>. e-Mail has been sent.</source>
<target state="signed-off">ユーザ <ph id="1">{0}</ph> のパスワードがリセットされました。電子メールが送信されました。</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="failedToSignIn" resname="failedToSignIn">
<source>Failed to sign in. Check your credentials.</source>
<target state="signed-off">サインインに失敗しました。信用証明書を確認してください。</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="emailValidationUnsuccessful" resname="emailValidationUnsuccessful">
<source>Validation of e-mail address for user <ph id="1">{0}</ph> failed. Did you really use the latest validation code?</source>
<target state="signed-off">ユーザ <ph id="1">{0}</ph> の電子メールアドレスの確認に失敗しました。最新のチェックコードを使用しましたか。</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="roles" resname="roles">
<source>Roles</source>
<target state="signed-off">ロール</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="permissions" resname="permissions">
<source>Permissions</source>
<target state="signed-off">権限</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="signInWith" resname="signInWith">
<source>Sign in with...</source>
<target state="signed-off">サインインのユーザ...</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="generalWelcome" resname="generalWelcome">
<source>Welcome!</source>
<target state="signed-off">ようこそ</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="newUser" resname="newUser">
<source>New here?</source>
<target state="signed-off">初めての利用ですか</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="pleaseSignIn" resname="pleaseSignIn">
<source>Please sign in.</source>
<target state="signed-off">サインインしてください</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="enterUsernameOrEmail" resname="enterUsernameOrEmail">
<source>Enter user name or e-mail address</source>
<target state="signed-off">ユーザ名または電子メールアドレスを入力してください</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="serverError" resname="serverError">
<source>An error occurred while attempting to contact the server. Please check your network connection and try again.</source>
<target state="signed-off">サーバにアクセスしようとしてエラーが発生しました。ネットワーク接続を確認して、再試行してください。</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="remoteProcedureCall" resname="remoteProcedureCall">
<source>Remote Procedure Call</source>
<target state="signed-off">リモートプロシージャコール</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="serverReplies" resname="serverReplies">
<source>Server replies</source>
<target state="signed-off">サーバ応答</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="errorCommunicatingWithServer" resname="errorCommunicatingWithServer">
<source>Error communicating with server</source>
<target state="signed-off">サーバとの通信でエラー発生</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="editProfile" resname="editProfile">
<source>Edit user profile</source>
<target state="signed-off">ユーザプロファイル編集</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="allPermissions" resname="allPermissions">
<source>All permissions (including inferred from roles)</source>
<target state="signed-off">全権限 (ロールから推定されるものを含む)</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="configuration" resname="configuration">
<source>Configuration</source>
<target state="signed-off">設定</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="settingsForComponent" resname="settingsForComponent">
<source>Settings for <ph id="1">{0}</ph></source>
<target state="signed-off"><ph id="1">{0}</ph> の設定</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="pleaseSelect" resname="pleaseSelect">
<source>Please select</source>
<target state="signed-off">選択してください:</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="oldPassword" resname="oldPassword">
<source>Old password</source>
<target state="signed-off">旧パスワード</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="newPasswordPlaceholder" resname="newPasswordPlaceholder">
<source>Type in a new password</source>
<target state="signed-off">新規パスワードを入力してください</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="oldPasswordPlaceholder" resname="oldPasswordPlaceholder">
<source>Type in the old password</source>
<target state="signed-off">旧パスワードを入力してください</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="passwordRepeatPlaceholder" resname="passwordRepeatPlaceholder">
<source>Repeat the new password</source>
<target state="signed-off">新規パスワードを確認してください</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="resetPassword" resname="resetPassword">
<source>Reset password</source>
<target state="signed-off">パスワードのリセット</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="youAreNotSignedIn" resname="youAreNotSignedIn">
<source>You are currently not signed in.</source>
<target state="signed-off">現在はサインインしていません。</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="youDontHaveRequiredPermission" resname="youDontHaveRequiredPermission">
<source>You don''t have the required permission.</source>
<target state="signed-off">必要な権限がありません。</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="accountConfirmation" resname="accountConfirmation">
<source>Account confirmation</source>
<target state="signed-off">アカウント情報</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="error" resname="error">
<source>Unknown error</source>
<target state="signed-off">未知のエラー</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="refresh" resname="refresh">
<source>Refresh</source>
<target state="signed-off">リフレッシュ</target>
</trans-unit>
</body>
</file>
</xliff>
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<xliff xmlns="urn:oasis:names:tc:xliff:document:1.2" version="1.2">
<file datatype="javapropertyresourcebundle" date="2016-04-18T13:56:33Z" original="/usr/sap/ljs/app/Converter_1765894632275589659/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/client/i18n/StringMessages.properties" source-language="en" target-language="ru">
<file datatype="javapropertyresourcebundle" date="2016-04-27T12:50:31Z" original="/usr/sap/ljs/app/Converter_1765894632275589659/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/client/i18n/StringMessages.properties" source-language="en" target-language="ru">
<header>
<skl>
<internal-file crc="ad098eb3d0a7bbfaf753d0f6d0a7c151" form="base64">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</internal-file>
@@ -101,7 +101,7 @@
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="addURLFilter" resname="addURLFilter">
<source>Add URL filter</source>
<target state="translated">Добавить фильтр URL-адреса</target>
<target state="signed-off">Добавить фильтр URL-адреса</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="ok" resname="ok">
<source>OK</source>
@@ -141,7 +141,7 @@
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="userDetails" resname="userDetails">
<source>User details</source>
<target state="signed-off">Сведения пользователя</target>
<target state="translated">Данные пользователя</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="deleteUser" resname="deleteUser">
<source>Delete user</source>
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<xliff xmlns="urn:oasis:names:tc:xliff:document:1.2" version="1.2">
<file datatype="javapropertyresourcebundle" date="2016-04-18T13:56:34Z" original="/usr/sap/ljs/app/Converter_1765894632275589659/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/client/i18n/StringMessages.properties" source-language="en" target-language="zh-CN">
<file datatype="javapropertyresourcebundle" date="2016-04-27T10:05:35Z" original="/usr/sap/ljs/app/Converter_1765894632275589659/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/client/i18n/StringMessages.properties" source-language="en" target-language="zh-CN">
<header>
<skl>
<internal-file crc="ad098eb3d0a7bbfaf753d0f6d0a7c151" form="base64">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</internal-file>
@@ -13,387 +13,387 @@
<body>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="name" resname="name">
<source>Name</source>
<target>名称</target>
<target state="signed-off">名称</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="company" resname="company">
<source>Company</source>
<target>公司</target>
<target state="signed-off">公司</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="password" resname="password">
<source>Password</source>
<target>密码</target>
<target state="signed-off">密码</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="passwordRepeat" resname="passwordRepeat">
<source>Repeat password</source>
<target>重复密码</target>
<target state="signed-off">重复密码</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="loggedIn" resname="loggedIn">
<source>Logged in as user <ph id="1">{0}</ph>!</source>
<target>以用户<ph id="1">{0}</ph>登录!</target>
<target state="signed-off">以用户<ph id="1">{0}</ph>登录!</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="signIn" resname="signIn">
<source>Sign in</source>
<target>登录</target>
<target state="signed-off">登录</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="signUp" resname="signUp">
<source>Sign up</source>
<target>注册</target>
<target state="signed-off">注册</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="signOut" resname="signOut">
<source>Sign out</source>
<target>注销</target>
<target state="signed-off">注销</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="invalidUsername" resname="invalidUsername">
<source>Invalid username</source>
<target>用户名无效</target>
<target state="signed-off">用户名无效</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="couldNotSignOut" resname="couldNotSignOut">
<source>Could not sign out: <ph id="1">{0}</ph></source>
<target>无法注销: <ph id="1">{0}</ph></target>
<target state="signed-off">无法注销: <ph id="1">{0}</ph></target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="createUser" resname="createUser">
<source>Create user</source>
<target>创建用户</target>
<target state="signed-off">创建用户</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="settings" resname="settings">
<source>Settings</source>
<target>设置</target>
<target state="signed-off">设置</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="filterUsers" resname="filterUsers">
<source>Filter users...</source>
<target>筛选用户...</target>
<target state="signed-off">筛选用户...</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="welcome" resname="welcome">
<source>Welcome, <ph id="1">{0}</ph>!</source>
<target><ph id="1">{0}</ph>欢迎使用!</target>
<target state="signed-off"><ph id="1">{0}</ph>欢迎使用!</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="tryingToVerifyUser" resname="tryingToVerifyUser">
<source>Trying to verify user...</source>
<target>正在尝试验证用户...</target>
<target state="signed-off">正在尝试验证用户...</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="fetchingUserInformation" resname="fetchingUserInformation">
<source>Fetching user information...</source>
<target>正在获取用户信息...</target>
<target state="signed-off">正在获取用户信息...</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="signedInAs" resname="signedInAs">
<source>Signed in as <ph id="1">{0}</ph></source>
<target>以<ph id="1">{0}</ph>登录</target>
<target state="signed-off">以<ph id="1">{0}</ph>登录</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="signedInAsTitle" resname="signedInAsTitle">
<source>Signed in as:</source>
<target>登录身份:</target>
<target state="signed-off">登录身份:</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="close" resname="close">
<source>Close</source>
<target>关闭</target>
<target state="signed-off">关闭</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="loading" resname="loading">
<source>Loading...</source>
<target>正在加载...</target>
<target state="signed-off">正在加载...</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="user" resname="user">
<source>User</source>
<target>用户</target>
<target state="signed-off">用户</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="users" resname="users">
<source>Users</source>
<target>用户</target>
<target state="signed-off">用户</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="addURLFilter" resname="addURLFilter">
<source>Add URL filter</source>
<target>添加 URL 筛选器</target>
<target state="signed-off">添加 URL 筛选器</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="ok" resname="ok">
<source>OK</source>
<target>确定</target>
<target state="signed-off">确定</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="cancel" resname="cancel">
<source>Cancel</source>
<target>取消</target>
<target state="signed-off">取消</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="username" resname="username">
<source>Username</source>
<target>用户名</target>
<target state="signed-off">用户名</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="email" resname="email">
<source>e-mail</source>
<target>电子邮件</target>
<target state="signed-off">电子邮件</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="usernameMustHaveAtLeastNCharacters" resname="usernameMustHaveAtLeastNCharacters">
<source>Please enter a username with at least <ph id="1">{0}</ph> characters</source>
<target>输入至少有 <ph id="1">{0}</ph> 个字符的用户名</target>
<target state="signed-off">输入至少有 <ph id="1">{0}</ph> 个字符的用户名</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="passwordMustHaveAtLeastNCharacters" resname="passwordMustHaveAtLeastNCharacters">
<source>Please use a password that has at least <ph id="1">{0}</ph> characters</source>
<target>请使用至少有 <ph id="1">{0}</ph> 个字符的密码</target>
<target state="signed-off">请使用至少有 <ph id="1">{0}</ph> 个字符的密码</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="passwordsDontMatch" resname="passwordsDontMatch">
<source>Passwords must match</source>
<target>密码必须匹配</target>
<target state="signed-off">密码必须匹配</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="couldNotCreateUser" resname="couldNotCreateUser">
<source>Could not create user: <ph id="1">{0}</ph></source>
<target>无法创建用户: <ph id="1">{0}</ph></target>
<target state="signed-off">无法创建用户: <ph id="1">{0}</ph></target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="changePassword" resname="changePassword">
<source>Change password</source>
<target>更改密码</target>
<target state="signed-off">更改密码</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="userDetails" resname="userDetails">
<source>User details</source>
<target>用户详细信息</target>
<target state="signed-off">用户详细信息</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="deleteUser" resname="deleteUser">
<source>Delete user</source>
<target>删除用户</target>
<target state="signed-off">删除用户</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="deleteUserQuestion" resname="deleteUserQuestion">
<source>Delete user?</source>
<target>是否删除用户?</target>
<target state="signed-off">是否删除用户?</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="doYouReallyWantToDeleteUser" resname="doYouReallyWantToDeleteUser">
<source>Do you really want to delete user <ph id="1">{0}</ph>?</source>
<target>是否确定删除用户<ph id="1">{0}</ph></target>
<target state="signed-off">是否确定删除用户<ph id="1">{0}</ph></target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="errorDeletingUser" resname="errorDeletingUser">
<source>An error happened while deleting the user</source>
<target>删除用户时出错</target>
<target state="signed-off">删除用户时出错</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="account" resname="account">
<source><ph id="1">{0}</ph>-Account</source>
<target><ph id="1">{0}</ph> 账户</target>
<target state="signed-off"><ph id="1">{0}</ph> 账户</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="save" resname="save">
<source>Save</source>
<target>保存</target>
<target state="signed-off">保存</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="remove" resname="remove">
<source>Remove</source>
<target>移除</target>
<target state="signed-off">移除</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="add" resname="add">
<source>Add</source>
<target>添加</target>
<target state="signed-off">添加</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="edit" resname="edit">
<source>Edit</source>
<target>编辑</target>
<target state="signed-off">编辑</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="errorUpdatingRoles" resname="errorUpdatingRoles">
<source>Error updating roles for user <ph id="1">{0}</ph>: <ph id="2">{1}</ph></source>
<target>更新用户<ph id="1">{0}</ph>的角色出错: <ph id="2">{1}</ph></target>
<target state="signed-off">更新用户<ph id="1">{0}</ph>的角色出错: <ph id="2">{1}</ph></target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="errorUpdatingPermissions" resname="errorUpdatingPermissions">
<source>Error updating permissions for user <ph id="1">{0}</ph>: <ph id="2">{1}</ph></source>
<target>更新用户<ph id="1">{0}</ph>的权限出错: <ph id="2">{1}</ph></target>
<target state="signed-off">更新用户<ph id="1">{0}</ph>的权限出错: <ph id="2">{1}</ph></target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="enterRoleName" resname="enterRoleName">
<source>Enter role name...</source>
<target>输入角色名称...</target>
<target state="signed-off">输入角色名称...</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="enterPermissionName" resname="enterPermissionName">
<source>Enter permission name...</source>
<target>输入权限名称...</target>
<target state="signed-off">输入权限名称...</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="errorCreatingUser" resname="errorCreatingUser">
<source>Error signing up with username <ph id="1">{0}</ph>: <ph id="2">{1}</ph></source>
<target>使用用户名<ph id="1">{0}</ph>注册出错: <ph id="2">{1}</ph></target>
<target state="signed-off">使用用户名<ph id="1">{0}</ph>注册出错: <ph id="2">{1}</ph></target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="signedUpSuccessfully" resname="signedUpSuccessfully">
<source>Successfully signed up user <ph id="1">{0}</ph>. Please check you e-mails to validate your e-mail account.</source>
<target>已成功注册用户<ph id="1">{0}</ph>。 请检查电子邮件,验证您的电子邮件账户。</target>
<target state="signed-off">已成功注册用户<ph id="1">{0}</ph>。 请检查电子邮件,验证您的电子邮件账户。</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="unknownErrorCreatingUser" resname="unknownErrorCreatingUser">
<source>Unknown error trying to sign up user with name <ph id="1">{0}</ph>. Perhaps another user with that name already exists.</source>
<target>尝试使用名称<ph id="1">{0}</ph>注册用户时发生未知错误。 可能已存在含此名称的用户。</target>
<target state="signed-off">尝试使用名称<ph id="1">{0}</ph>注册用户时发生未知错误。 可能已存在含此名称的用户。</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="userAlreadyExists" resname="userAlreadyExists">
<source>A user with name <ph id="1">{0}</ph> already exists</source>
<target>名称为<ph id="1">{0}</ph>的用户已存在</target>
<target state="signed-off">名称为<ph id="1">{0}</ph>的用户已存在</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="currentPassword" resname="currentPassword">
<source>Current password</source>
<target>当前密码</target>
<target state="signed-off">当前密码</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="passwordSuccessfullyChanged" resname="passwordSuccessfullyChanged">
<source>Password successfully changed</source>
<target>已成功更改密码</target>
<target state="signed-off">已成功更改密码</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="passwordDoesNotMeetRequirements" resname="passwordDoesNotMeetRequirements">
<source>Password does not meet requirements</source>
<target>密码不满足要求</target>
<target state="signed-off">密码不满足要求</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="errorChangingPassword" resname="errorChangingPassword">
<source>Error changing password: <ph id="1">{0}</ph></source>
<target>更改密码出错: <ph id="1">{0}</ph></target>
<target state="signed-off">更改密码出错: <ph id="1">{0}</ph></target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="invalidCredentials" resname="invalidCredentials">
<source>Invalid credentials</source>
<target>凭据无效</target>
<target state="signed-off">凭据无效</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="editEmail" resname="editEmail">
<source>Edit e-mail address</source>
<target>编辑电子邮件地址</target>
<target state="signed-off">编辑电子邮件地址</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="errorUpdatingEmail" resname="errorUpdatingEmail">
<source>Error updating e-mail address: <ph id="1">{0}</ph></source>
<target>更新电子邮件地址出错: <ph id="1">{0}</ph></target>
<target state="signed-off">更新电子邮件地址出错: <ph id="1">{0}</ph></target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="successfullyUpdatedEmail" resname="successfullyUpdatedEmail">
<source>Successfully updated e-mail address for user <ph id="1">{0}</ph>.\nValidation check sent to <ph id="2">{1}</ph>.</source>
<target>已成功更新用户<ph id="1">{0}</ph>的电子邮件地址。\n验证检查已发送到<ph id="2">{1}</ph>。</target>
<target state="signed-off">已成功更新用户<ph id="1">{0}</ph>的电子邮件地址。\n验证检查已发送到<ph id="2">{1}</ph>。</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="errorUpdatingUserProperties" resname="errorUpdatingUserProperties">
<source>Error updating user properties: <ph id="1">{0}</ph></source>
<target>更新用户属性出错: <ph id="1">{0}</ph></target>
<target state="signed-off">更新用户属性出错: <ph id="1">{0}</ph></target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="successfullyUpdatedUserProperties" resname="successfullyUpdatedUserProperties">
<source>Successfully updated properties for user <ph id="1">{0}</ph>.</source>
<target>已成功更新用户<ph id="1">{0}</ph>的属性。</target>
<target state="signed-off">已成功更新用户<ph id="1">{0}</ph>的属性。</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="forgotPassword" resname="forgotPassword">
<source>Forgot password</source>
<target>忘记密码</target>
<target state="signed-off">忘记密码</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="errorDuringPasswordReset" resname="errorDuringPasswordReset">
<source>Error during password reset: <ph id="1">{0}</ph></source>
<target>密码重置期间出错: <ph id="1">{0}</ph></target>
<target state="signed-off">密码重置期间出错: <ph id="1">{0}</ph></target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="cannotResetPasswordWithoutValidatedEmail" resname="cannotResetPasswordWithoutValidatedEmail">
<source>Cannot reset password because user <ph id="1">{0}</ph> does not have a validated e-mail address</source>
<target>用户<ph id="1">{0}</ph>没有验证的电子邮件地址,无法重置密码</target>
<target state="signed-off">用户<ph id="1">{0}</ph>没有验证的电子邮件地址,无法重置密码</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="passwordResetLinkSent" resname="passwordResetLinkSent">
<source>A link for resetting the password has been sent to <ph id="1">{0}</ph>''s validated e-mail address</source>
<target>重置密码的链接已发送到<ph id="1">{0}</ph>的验证的电子邮件地址</target>
<target state="signed-off">重置密码的链接已发送到<ph id="1">{0}</ph>的验证的电子邮件地址</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="errorValidatingEmail" resname="errorValidatingEmail">
<source>Error validating e-mail address of user <ph id="1">{0}</ph>: <ph id="2">{1}</ph></source>
<target>验证用户<ph id="1">{0}</ph>的电子邮件地址出错: <ph id="2">{1}</ph></target>
<target state="signed-off">验证用户<ph id="1">{0}</ph>的电子邮件地址出错: <ph id="2">{1}</ph></target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="emailValidatedSuccessfully" resname="emailValidatedSuccessfully">
<source>e-mail address of user <ph id="1">{0}</ph> validated successfully</source>
<target>用户<ph id="1">{0}</ph>的电子邮件地址已成功验证</target>
<target state="signed-off">用户<ph id="1">{0}</ph>的电子邮件地址已成功验证</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="errorResettingPassword" resname="errorResettingPassword">
<source>Error resetting password for user <ph id="1">{0}</ph>: <ph id="2">{1}</ph></source>
<target>重置用户<ph id="1">{0}</ph>的密码出错: <ph id="2">{1}</ph></target>
<target state="signed-off">重置用户<ph id="1">{0}</ph>的密码出错: <ph id="2">{1}</ph></target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="successfullyResetPassword" resname="successfullyResetPassword">
<source>Successfully reset password for user <ph id="1">{0}</ph>. e-Mail has been sent.</source>
<target>已成功重置用户<ph id="1">{0}</ph>的密码。已发送电子邮件。</target>
<target state="signed-off">已成功重置用户<ph id="1">{0}</ph>的密码。已发送电子邮件。</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="failedToSignIn" resname="failedToSignIn">
<source>Failed to sign in. Check your credentials.</source>
<target>登录失败。请检查凭据。</target>
<target state="signed-off">登录失败。请检查凭据。</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="emailValidationUnsuccessful" resname="emailValidationUnsuccessful">
<source>Validation of e-mail address for user <ph id="1">{0}</ph> failed. Did you really use the latest validation code?</source>
<target>用户<ph id="1">{0}</ph>的电子邮件地址验证失败。 是否确定使用最新的验证码?</target>
<target state="signed-off">用户<ph id="1">{0}</ph>的电子邮件地址验证失败。 是否确定使用最新的验证码?</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="roles" resname="roles">
<source>Roles</source>
<target>角色</target>
<target state="signed-off">角色</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="permissions" resname="permissions">
<source>Permissions</source>
<target>权限</target>
<target state="signed-off">权限</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="signInWith" resname="signInWith">
<source>Sign in with...</source>
<target>登录信息...</target>
<target state="signed-off">登录信息...</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="generalWelcome" resname="generalWelcome">
<source>Welcome!</source>
<target>欢迎使用!</target>
<target state="signed-off">欢迎使用!</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="newUser" resname="newUser">
<source>New here?</source>
<target>新内容?</target>
<target state="signed-off">新内容?</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="pleaseSignIn" resname="pleaseSignIn">
<source>Please sign in.</source>
<target>请登录。</target>
<target state="signed-off">请登录。</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="enterUsernameOrEmail" resname="enterUsernameOrEmail">
<source>Enter user name or e-mail address</source>
<target>输入用户名或电子邮件地址</target>
<target state="signed-off">输入用户名或电子邮件地址</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="serverError" resname="serverError">
<source>An error occurred while attempting to contact the server. Please check your network connection and try again.</source>
<target>尝试联系服务器时出错。请检查网络连接,并重试。</target>
<target state="signed-off">尝试联系服务器时出错。请检查网络连接,并重试。</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="remoteProcedureCall" resname="remoteProcedureCall">
<source>Remote Procedure Call</source>
<target>远程过程调用</target>
<target state="signed-off">远程过程调用</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="serverReplies" resname="serverReplies">
<source>Server replies</source>
<target>服务器应答</target>
<target state="signed-off">服务器应答</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="errorCommunicatingWithServer" resname="errorCommunicatingWithServer">
<source>Error communicating with server</source>
<target>与服务器通信时发生错误</target>
<target state="signed-off">与服务器通信时发生错误</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="editProfile" resname="editProfile">
<source>Edit user profile</source>
<target>编辑用户参数文件</target>
<target state="signed-off">编辑用户参数文件</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="allPermissions" resname="allPermissions">
<source>All permissions (including inferred from roles)</source>
<target>所有权限(包括从角色推断的权限)</target>
<target state="signed-off">所有权限(包括从角色推断的权限)</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="configuration" resname="configuration">
<source>Configuration</source>
<target>配置</target>
<target state="signed-off">配置</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="settingsForComponent" resname="settingsForComponent">
<source>Settings for <ph id="1">{0}</ph></source>
<target><ph id="1">{0}</ph>设置</target>
<target state="signed-off"><ph id="1">{0}</ph>设置</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="pleaseSelect" resname="pleaseSelect">
<source>Please select</source>
<target>请选择</target>
<target state="signed-off">请选择</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="oldPassword" resname="oldPassword">
<source>Old password</source>
<target>旧密码</target>
<target state="signed-off">旧密码</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="newPasswordPlaceholder" resname="newPasswordPlaceholder">
<source>Type in a new password</source>
<target>输入新密码</target>
<target state="signed-off">输入新密码</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="oldPasswordPlaceholder" resname="oldPasswordPlaceholder">
<source>Type in the old password</source>
<target>输入旧密码</target>
<target state="signed-off">输入旧密码</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="passwordRepeatPlaceholder" resname="passwordRepeatPlaceholder">
<source>Repeat the new password</source>
<target>重复新密码</target>
<target state="signed-off">重复新密码</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="resetPassword" resname="resetPassword">
<source>Reset password</source>
<target>重置密码</target>
<target state="signed-off">重置密码</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="youAreNotSignedIn" resname="youAreNotSignedIn">
<source>You are currently not signed in.</source>
<target>您目前未登录。</target>
<target state="signed-off">您目前未登录。</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="youDontHaveRequiredPermission" resname="youDontHaveRequiredPermission">
<source>You don''t have the required permission.</source>
<target>您没有所需的权限。</target>
<target state="signed-off">您没有所需的权限。</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="accountConfirmation" resname="accountConfirmation">
<source>Account confirmation</source>
<target>账户确认</target>
<target state="signed-off">账户确认</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="error" resname="error">
<source>Unknown error</source>
<target>未知错误</target>
<target state="signed-off">未知错误</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="refresh" resname="refresh">
<source>Refresh</source>
<target>刷新</target>
<target state="signed-off">刷新</target>
</trans-unit>
</body>
</file>
@@ -1,15 +1,21 @@
package com.sap.sse.util.impl;
import java.io.UnsupportedEncodingException;
import java.net.MalformedURLException;
import java.net.URI;
import java.net.URISyntaxException;
import java.net.URL;
import java.net.URLEncoder;
import java.util.logging.Level;
import java.util.logging.Logger;
import com.sap.sse.common.util.UrlHelper;
public enum NonGwtUrlHelper implements UrlHelper {
INSTANCE;
private static final Logger logger = Logger.getLogger(NonGwtUrlHelper.class.getName());
public String encodeUrl(String decodedUrlString) {
try {
URL url = new URL(decodedUrlString);
@@ -17,6 +23,17 @@ public enum NonGwtUrlHelper implements UrlHelper {
url.getQuery(), url.getRef());
return uri.toString();
} catch (MalformedURLException | URISyntaxException f) {
logger.log(Level.WARNING, "problem encoding URL string "+decodedUrlString, f);
return null;
}
}
@Override
public String encodeQueryString(String queryString) {
try {
return URLEncoder.encode(queryString, "UTF-8");
} catch (UnsupportedEncodingException e) {
logger.log(Level.WARNING, "problem encoding URL query string "+queryString, e);
return null;
}
}