Skip to content

Commit c435219

Browse files
Added setting to disable pseudo localization
1 parent 5e50f38 commit c435219

3 files changed

Lines changed: 22 additions & 5 deletions

File tree

bundle/src/main/java/com/adobe/granite/translation/connector/bootstrap/core/impl/BootstrapConstants.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,4 +20,7 @@ public class BootstrapConstants {
2020

2121
/** The Constant PREVIEW_ENABLED. */
2222
public static final String PREVIEW_ENABLED = "preview.enabled";
23+
24+
/** The Constant PSEUDO_L10N_ENABLED. */
25+
public static final String PSEUDO_L10N_DISABLED = "pseudo.localization.disabled";
2326
}

bundle/src/main/java/com/adobe/granite/translation/connector/bootstrap/core/impl/BootstrapTranslationServiceFactoryImpl.java

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,10 +42,11 @@
4242
import com.adobe.granite.translation.core.TranslationCloudConfigUtil;
4343

4444
@Service
45-
@Component(label = "Bootstrap Translation Connector Factory", metatype = true, immediate = true)
45+
@Component(label = "Bootstrap Translation Connector Factory", metatype = true, immediate = true, description="Configurable settings for the Bootstrap Translation connector")
4646
@Properties(value = {
4747
@Property(name = "service.description", value = "Bootstrap translation service"),
4848
@Property(name=BootstrapConstants.PREVIEW_ENABLED, label="Enable Preview", boolValue=false, description="Preview Enabled for Translation Objects"),
49+
@Property(name=BootstrapConstants.PSEUDO_L10N_DISABLED, label="Disable Psuedo L10n", boolValue=false, description="Disable Pseudo localization for Machine translations and use a simple Language prefix instead"),
4950
@Property(name = TranslationServiceFactory.PROPERTY_TRANSLATION_FACTORY, value = "Bootstrap Connector",
5051
label = "Bootstrap Translation Factory Name", description = "The Unique ID associated with this "
5152
+ "Translation Factory Connector"),
@@ -62,6 +63,8 @@ public class BootstrapTranslationServiceFactoryImpl implements TranslationServic
6263

6364
protected Boolean isPreviewEnabled;
6465

66+
protected Boolean isPseudoLocalizationDisabled;
67+
6568
protected String exportFormat;
6669

6770
@Reference
@@ -125,7 +128,7 @@ public TranslationService createTranslationService(TranslationMethod translation
125128

126129
Map<String, String> availableLanguageMap = new HashMap<String, String>();
127130
Map<String, String> availableCategoryMap = new HashMap<String, String>();
128-
return new BootstrapTranslationServiceImpl(availableLanguageMap, availableCategoryMap, factoryName, isPreviewEnabled, exportFormat, dummyConfigId, dummyServerUrl, previewPath,
131+
return new BootstrapTranslationServiceImpl(availableLanguageMap, availableCategoryMap, factoryName, isPreviewEnabled, isPseudoLocalizationDisabled, exportFormat, dummyConfigId, dummyServerUrl, previewPath,
129132
translationConfig, bootstrapTmsService);
130133
}
131134

@@ -150,11 +153,14 @@ protected void activate(final ComponentContext ctx) {
150153

151154
isPreviewEnabled = PropertiesUtil.toBoolean(properties.get(BootstrapConstants.PREVIEW_ENABLED), false);
152155

156+
isPseudoLocalizationDisabled = PropertiesUtil.toBoolean(properties.get(BootstrapConstants.PSEUDO_L10N_DISABLED), false);
157+
153158
exportFormat = PropertiesUtil.toString(properties.get(BootstrapConstants.EXPORT_FORMAT_FIELD), BootstrapConstants.EXPORT_FORMAT_XML);
154159
if (log.isTraceEnabled()) {
155160
log.trace("Activated TSF with the following:");
156161
log.trace("Factory Name: {}", factoryName);
157162
log.trace("Preview Enabled: {}",isPreviewEnabled);
163+
log.trace("Psuedo Localization Disabled: {}",isPseudoLocalizationDisabled);
158164
log.trace("Export Format: {}", exportFormat);
159165
}
160166
}

bundle/src/main/java/com/adobe/granite/translation/connector/bootstrap/core/impl/BootstrapTranslationServiceImpl.java

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,7 @@ public class BootstrapTranslationServiceImpl extends AbstractTranslationService
6363
private String dummyServerUrl = "";
6464
private String previewPath = "";
6565
private Boolean isPreviewEnabled = false;
66+
private Boolean isPseudoLocalizationDisabled = false;
6667
private String exportFormat = BootstrapConstants.EXPORT_FORMAT_XML;
6768
private BootstrapTmsService bootstrapTmsService;
6869
private final static String BOOTSTRAP_SERVICE = "bootstrap-service";
@@ -118,7 +119,7 @@ public Map<String, String> getFinalScope() {
118119

119120
// Constructor
120121
public BootstrapTranslationServiceImpl(Map<String, String> availableLanguageMap,
121-
Map<String, String> availableCategoryMap, String name, Boolean isPreviewEnabled, String exportFormat, String dummyConfigId, String dummyServerUrl, String previewPath,
122+
Map<String, String> availableCategoryMap, String name, Boolean isPreviewEnabled, Boolean isPseudoLocalizationDisabled, String exportFormat, String dummyConfigId, String dummyServerUrl, String previewPath,
122123
TranslationConfig translationConfig, BootstrapTmsService bootstrapTmsService) {
123124
super(availableLanguageMap, availableCategoryMap, name, SERVICE_LABEL, SERVICE_ATTRIBUTION,
124125
BootstrapTranslationCloudConfigImpl.ROOT_PATH, TranslationMethod.MACHINE_TRANSLATION, translationConfig);
@@ -128,11 +129,13 @@ public BootstrapTranslationServiceImpl(Map<String, String> availableLanguageMap,
128129
log.trace("dummyServerUrl: {}",dummyServerUrl);
129130
log.trace("previewPath: {}",previewPath);
130131
log.trace("isPreviewEnabled: {}",isPreviewEnabled);
132+
log.trace("isPseudoLocalizationDisabled: {}", isPseudoLocalizationDisabled);
131133
log.trace("exportFormat: {}",exportFormat);
132134
this.dummyConfigId = dummyConfigId;
133135
this.dummyServerUrl = dummyServerUrl;
134136
this.previewPath = previewPath;
135137
this.bootstrapTmsService = bootstrapTmsService;
138+
this.isPseudoLocalizationDisabled = isPseudoLocalizationDisabled;
136139
this.isPreviewEnabled = isPreviewEnabled;
137140
this.exportFormat=exportFormat;
138141
}
@@ -173,8 +176,13 @@ public String detectLanguage(String toDetectSource, TranslationConstants.Content
173176
public TranslationResult translateString(String sourceString, String sourceLanguage, String targetLanguage,
174177
TranslationConstants.ContentType contentType, String contentCategory) throws TranslationException {
175178
log.trace("BootstrapTranslationServiceImpl.translateString");
176-
// Using Pseudo translation here using accented characters
177-
String translatedString = bootstrapTmsService.getAccentedText(sourceString);
179+
String translatedString = "";
180+
if(isPseudoLocalizationDisabled == true){
181+
translatedString = String.format("%s_%s_%s", sourceLanguage, sourceString, targetLanguage);
182+
}else {
183+
// Using Pseudo translation here using accented characters
184+
translatedString = bootstrapTmsService.getAccentedText(sourceString);
185+
}
178186
return new TranslationResultImpl(translatedString, sourceLanguage, targetLanguage, contentType,
179187
contentCategory, sourceString, TranslationResultImpl.UNKNOWN_RATING, null);
180188
}

0 commit comments

Comments
 (0)