diff --git a/app/src/main/java/fr/free/nrw/commons/mwapi/OkHttpJsonApiClient.java b/app/src/main/java/fr/free/nrw/commons/mwapi/OkHttpJsonApiClient.java index 132c5c3ad..312ef8878 100644 --- a/app/src/main/java/fr/free/nrw/commons/mwapi/OkHttpJsonApiClient.java +++ b/app/src/main/java/fr/free/nrw/commons/mwapi/OkHttpJsonApiClient.java @@ -416,7 +416,7 @@ public class OkHttpJsonApiClient { final String wikidataQuery = FileUtils.readFromResource("/queries/query_for_item.rq"); // Split the secondary languages string into an array to use in fallback queries - final String[] secondaryLanguageArray = secondaryLanguages.split(",\\s*"); + final String[] secondaryLanguagesArray = secondaryLanguages.split(",\\s*"); // Prepare the Wikidata entity IDs (QIDs) for each place in the list String qids = ""; @@ -426,37 +426,37 @@ public class OkHttpJsonApiClient { // Build fallback descriptions for secondary languages in case the primary language is unavailable StringBuilder fallBackDescription = new StringBuilder(); - for (int i = 0; i < secondaryLanguageArray.length; i++) { + for (int i = 0; i < secondaryLanguagesArray.length; i++) { fallBackDescription.append("OPTIONAL {?item schema:description ?itemDescriptionPreferredLanguage_") .append(i + 1) // Unique identifier for each fallback .append(". FILTER (lang(?itemDescriptionPreferredLanguage_") .append(i + 1) .append(") = \"") - .append(secondaryLanguageArray[i]) // Use the secondary language code + .append(secondaryLanguagesArray[i]) // Use the secondary language code .append("\")}\n"); } // Build fallback labels for secondary languages StringBuilder fallbackLabel = new StringBuilder(); - for (int i = 0; i < secondaryLanguageArray.length; i++) { + for (int i = 0; i < secondaryLanguagesArray.length; i++) { fallbackLabel.append("OPTIONAL {?item rdfs:label ?itemLabelPreferredLanguage_") .append(i + 1) .append(". FILTER (lang(?itemLabelPreferredLanguage_") .append(i + 1) .append(") = \"") - .append(secondaryLanguageArray[i]) + .append(secondaryLanguagesArray[i]) .append("\")}\n"); } // Build fallback class labels for secondary languages StringBuilder fallbackClassLabel = new StringBuilder(); - for (int i = 0; i < secondaryLanguageArray.length; i++) { + for (int i = 0; i < secondaryLanguagesArray.length; i++) { fallbackClassLabel.append("OPTIONAL {?class rdfs:label ?classLabelPreferredLanguage_") .append(i + 1) .append(". FILTER (lang(?classLabelPreferredLanguage_") .append(i + 1) .append(") = \"") - .append(secondaryLanguageArray[i]) + .append(secondaryLanguagesArray[i]) .append("\")}\n"); } diff --git a/app/src/main/java/fr/free/nrw/commons/settings/Prefs.java b/app/src/main/java/fr/free/nrw/commons/settings/Prefs.java index d0451e24c..927296602 100644 --- a/app/src/main/java/fr/free/nrw/commons/settings/Prefs.java +++ b/app/src/main/java/fr/free/nrw/commons/settings/Prefs.java @@ -8,7 +8,7 @@ public class Prefs { public static final String UPLOADS_SHOWING = "uploadsshowing"; public static final String MANAGED_EXIF_TAGS = "managed_exif_tags"; public static final String DESCRIPTION_LANGUAGE = "languageDescription"; - public static final String SECONDARY_LANGUAGE = "languageSecondary"; + public static final String SECONDARY_LANGUAGES = "languageSecondary"; public static final String APP_UI_LANGUAGE = "appUiLanguage"; public static final String KEY_THEME_VALUE = "appThemePref"; diff --git a/app/src/main/java/fr/free/nrw/commons/settings/SettingsFragment.java b/app/src/main/java/fr/free/nrw/commons/settings/SettingsFragment.java index 7e95b14ef..aed752ea4 100644 --- a/app/src/main/java/fr/free/nrw/commons/settings/SettingsFragment.java +++ b/app/src/main/java/fr/free/nrw/commons/settings/SettingsFragment.java @@ -19,7 +19,6 @@ import android.widget.EditText; import android.widget.ListView; import android.widget.TextView; import android.widget.Toast; -import android.widget.ArrayAdapter; import androidx.activity.result.ActivityResultCallback; import androidx.activity.result.ActivityResultLauncher; import androidx.activity.result.contract.ActivityResultContracts; @@ -84,7 +83,7 @@ public class SettingsFragment extends PreferenceFragmentCompat { private ListPreference themeListPreference; private Preference descriptionLanguageListPreference; - private Preference descriptionSecondaryLanguageListPreference; + private Preference descriptionSecondaryLanguagesListPreference; private Preference appUiLanguageListPreference; private String keyLanguageListPreference; private TextView recentLanguagesTextView; @@ -185,17 +184,17 @@ public class SettingsFragment extends PreferenceFragmentCompat { }); - descriptionSecondaryLanguageListPreference = findPreference("descriptionSecondaryLanguagePref"); - assert descriptionSecondaryLanguageListPreference != null; - keyLanguageListPreference = descriptionSecondaryLanguageListPreference.getKey(); + descriptionSecondaryLanguagesListPreference = findPreference("descriptionSecondaryLanguagesPref"); + assert descriptionSecondaryLanguagesListPreference != null; + keyLanguageListPreference = descriptionSecondaryLanguagesListPreference.getKey(); languageCode = getCurrentLanguageCode(keyLanguageListPreference); assert languageCode != null; - descriptionSecondaryLanguageListPreference.setSummary("List additional languages."); + descriptionSecondaryLanguagesListPreference.setSummary("List additional languages."); - descriptionSecondaryLanguageListPreference.setOnPreferenceClickListener(new OnPreferenceClickListener() { + descriptionSecondaryLanguagesListPreference.setOnPreferenceClickListener(new OnPreferenceClickListener() { @Override public boolean onPreferenceClick(Preference preference) { - prepareSecondaryLanguageDialog(); + prepareSecondaryLanguagesDialog(); return true; } }); @@ -227,7 +226,7 @@ public class SettingsFragment extends PreferenceFragmentCompat { findPreference("useAuthorName").setEnabled(false); findPreference("displayNearbyCardView").setEnabled(false); findPreference("descriptionDefaultLanguagePref").setEnabled(false); - findPreference("descriptionSecondaryLanguagePref").setEnabled(false); + findPreference("descriptionSecondaryLanguagesPref").setEnabled(false); findPreference("displayLocationPermissionForCardView").setEnabled(false); findPreference(CampaignView.CAMPAIGNS_DEFAULT_PREFERENCE).setEnabled(false); findPreference("managed_exif_tags").setEnabled(false); @@ -331,8 +330,8 @@ public class SettingsFragment extends PreferenceFragmentCompat { * Disable default/already selected language from dialog box * Saves values chosen by user to shared preferences as a serialised string. */ - private void prepareSecondaryLanguageDialog() { - final String languageCode = getCurrentLanguageCode("descriptionSecondaryLanguagePref"); + private void prepareSecondaryLanguagesDialog() { + final String languageCode = getCurrentLanguageCode("descriptionSecondaryLanguagesPref"); HashMap selectedLanguages = new HashMap<>(); assert languageCode != null; selectedLanguages.put(0, Locale.getDefault().getLanguage()); @@ -383,8 +382,8 @@ public class SettingsFragment extends PreferenceFragmentCompat { if (!updatedLanguageCodes.isEmpty()) { updatedLanguageCodes = updatedLanguageCodes.substring(0, updatedLanguageCodes.length() - 2); } - saveLanguageValue(updatedLanguageCodes, "descriptionSecondaryLanguagePref"); -// descriptionSecondaryLanguageListPreference.setSummary(getCurrentLanguageCode("descriptionSecondaryLanguagePref")); + saveLanguageValue(updatedLanguageCodes, "descriptionSecondaryLanguagesPref"); +// descriptionSecondaryLanguagesListPreference.setSummary(getCurrentLanguageCode("descriptionSecondaryLanguagesPref")); }); // Set up the adapter for new languages using the selectedLanguages map @@ -413,7 +412,7 @@ public class SettingsFragment extends PreferenceFragmentCompat { String selectedLanguageCode = languagesAdapter.getLanguageCode(i); String selectedLanguageName = languagesAdapter.getLanguageName(i); - if (deSerialise(getCurrentLanguageCode("descriptionSecondaryLanguagePref")).contains(selectedLanguageCode)) { + if (deSerialise(getCurrentLanguageCode("descriptionSecondaryLanguagesPref")).contains(selectedLanguageCode)) { Toast.makeText(getActivity(), "Language already selected", Toast.LENGTH_SHORT).show(); return; } @@ -431,9 +430,9 @@ public class SettingsFragment extends PreferenceFragmentCompat { updatedLanguageCodes = updatedLanguageCodes.substring(0, updatedLanguageCodes.length() - 2); } - saveLanguageValue(updatedLanguageCodes, "descriptionSecondaryLanguagePref"); + saveLanguageValue(updatedLanguageCodes, "descriptionSecondaryLanguagesPref"); -// descriptionSecondaryLanguageListPreference.setSummary(getCurrentLanguageCode("descriptionSecondaryLanguagePref")); +// descriptionSecondaryLanguagesListPreference.setSummary(getCurrentLanguageCode("descriptionSecondaryLanguagesPref")); }); dialog.setOnDismissListener(dialogInterface -> { @@ -446,7 +445,7 @@ public class SettingsFragment extends PreferenceFragmentCompat { if (!updatedLanguageCodes.isEmpty()) { updatedLanguageCodes = updatedLanguageCodes.substring(0, updatedLanguageCodes.length() - 2); } - saveLanguageValue(updatedLanguageCodes, "descriptionSecondaryLanguagePref"); + saveLanguageValue(updatedLanguageCodes, "descriptionSecondaryLanguagesPref"); }); } @@ -488,7 +487,7 @@ public class SettingsFragment extends PreferenceFragmentCompat { } else { selectedLanguages.put(0, languageCode); } - } else if (keyListPreference.equals("descriptionSecondaryLanguagePref")) { + } else if (keyListPreference.equals("descriptionSecondaryLanguagesPref")) { assert languageCode != null; if (languageCode.equals("")) { @@ -692,8 +691,8 @@ public class SettingsFragment extends PreferenceFragmentCompat { defaultKvStore.putString(Prefs.APP_UI_LANGUAGE, userSelectedValue); } else if (preferenceKey.equals("descriptionDefaultLanguagePref")) { defaultKvStore.putString(Prefs.DESCRIPTION_LANGUAGE, userSelectedValue); - } else if (preferenceKey.equals("descriptionSecondaryLanguagePref")) { - defaultKvStore.putString(Prefs.SECONDARY_LANGUAGE, userSelectedValue); + } else if (preferenceKey.equals("descriptionSecondaryLanguagesPref")) { + defaultKvStore.putString(Prefs.SECONDARY_LANGUAGES, userSelectedValue); } } @@ -709,8 +708,8 @@ public class SettingsFragment extends PreferenceFragmentCompat { if (preferenceKey.equals("descriptionDefaultLanguagePref")) { return defaultKvStore.getString(Prefs.DESCRIPTION_LANGUAGE, ""); } - if (preferenceKey.equals("descriptionSecondaryLanguagePref")) { - return defaultKvStore.getString(Prefs.SECONDARY_LANGUAGE, ""); + if (preferenceKey.equals("descriptionSecondaryLanguagesPref")) { + return defaultKvStore.getString(Prefs.SECONDARY_LANGUAGES, ""); } return null; } diff --git a/app/src/main/res/values/arrays.xml b/app/src/main/res/values/arrays.xml index 7c105feab..0e4347de6 100644 --- a/app/src/main/res/values/arrays.xml +++ b/app/src/main/res/values/arrays.xml @@ -26,16 +26,6 @@ @string/exif_tag_name_software - - @string/exif_tag_name_author - @string/exif_tag_name_copyright - @string/exif_tag_name_location - @string/exif_tag_name_cameraModel - @string/exif_tag_name_lensModel - @string/exif_tag_name_serialNumbers - @string/exif_tag_name_software - - @string/exif_tag_author @string/exif_tag_copyright diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 9cf667e46..9ddf2e277 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -544,7 +544,7 @@ Upload your first media by tapping on the add button. Why should %1$s be deleted? %1$s is uploaded by: %2$s Default description language - Secondary Description Language + Secondary Description Language Nominating for deletion Success Nominated %1$s for deletion. diff --git a/app/src/main/res/xml/preferences.xml b/app/src/main/res/xml/preferences.xml index aeca0d45c..4178bcae6 100644 --- a/app/src/main/res/xml/preferences.xml +++ b/app/src/main/res/xml/preferences.xml @@ -34,10 +34,10 @@ + android:title="@string/secondary_description_languages" />