From dc11a07be7c524f402f3be89f9e21ac27143a38b Mon Sep 17 00:00:00 2001 From: manu Date: Mon, 12 Feb 2024 13:24:40 +0100 Subject: [PATCH] feat: [ANDROAPP-5896] configurable event label --- .../eventDetails/EventInitialTest.kt | 3 +- .../java/org/dhis2/bindings/Bindings.java | 88 ------------------- .../eventCapture/EventCaptureActivity.kt | 67 +++++++++----- .../eventCapture/EventCaptureContract.java | 4 +- .../EventCapturePagerAdapter.java | 5 ++ .../eventCapture/EventCapturePresenterImpl.kt | 6 +- .../injection/EventDetailsModule.kt | 2 +- .../providers/EventDetailResourcesProvider.kt | 16 +++- .../eventInitial/EventInitialActivity.java | 41 +++++++-- .../eventInitial/EventInitialContract.java | 2 + .../eventInitial/EventInitialPresenter.java | 2 +- .../teidata/TEIDataFragment.kt | 9 +- .../teidata/teievents/StageViewHolder.kt | 12 ++- app/src/main/res/values-ar/strings.xml | 16 +--- app/src/main/res/values-b+uz+Cyrl/strings.xml | 16 ---- app/src/main/res/values-b+uz+Latn/strings.xml | 14 --- app/src/main/res/values-ckb/strings.xml | 1 - app/src/main/res/values-cs/strings.xml | 14 --- app/src/main/res/values-es/strings.xml | 14 --- app/src/main/res/values-fr/strings.xml | 14 --- app/src/main/res/values-id/strings.xml | 14 --- app/src/main/res/values-km/strings.xml | 8 -- app/src/main/res/values-lo/strings.xml | 14 --- app/src/main/res/values-nb/strings.xml | 14 --- app/src/main/res/values-nl/strings.xml | 14 --- app/src/main/res/values-prs/strings.xml | 1 - app/src/main/res/values-ps/strings.xml | 1 - app/src/main/res/values-pt/strings.xml | 14 --- app/src/main/res/values-ru/strings.xml | 1 - app/src/main/res/values-sv/strings.xml | 8 -- app/src/main/res/values-uk/strings.xml | 14 --- app/src/main/res/values-ur/strings.xml | 1 - app/src/main/res/values-uz/strings.xml | 14 --- app/src/main/res/values-vi/strings.xml | 14 --- app/src/main/res/values-zh-rCN/strings.xml | 14 --- app/src/main/res/values-zh/strings.xml | 14 --- app/src/main/res/values/strings.xml | 21 ----- .../dhis2/commons/resources/D2ErrorUtils.kt | 1 + .../commons/resources/ResourceManager.kt | 34 +++++++ commons/src/main/res/values-ar/strings.xml | 2 - .../src/main/res/values-b+uz+Cyrl/strings.xml | 1 - .../src/main/res/values-b+uz+Latn/strings.xml | 2 - commons/src/main/res/values-cs/strings.xml | 2 - commons/src/main/res/values-es/strings.xml | 2 - commons/src/main/res/values-fr/strings.xml | 2 - commons/src/main/res/values-id/strings.xml | 2 - commons/src/main/res/values-lo/strings.xml | 2 - commons/src/main/res/values-nb/strings.xml | 2 - commons/src/main/res/values-nl/strings.xml | 2 - commons/src/main/res/values-pt/strings.xml | 2 - commons/src/main/res/values-uk/strings.xml | 2 - commons/src/main/res/values-uz/strings.xml | 2 - commons/src/main/res/values-vi/strings.xml | 2 - .../src/main/res/values-zh-rCN/strings.xml | 2 - commons/src/main/res/values-zh/strings.xml | 2 - commons/src/main/res/values/strings.xml | 21 ++++- gradle/libs.versions.toml | 2 +- 57 files changed, 187 insertions(+), 429 deletions(-) diff --git a/app/src/androidTest/java/org/dhis2/usescases/eventsWithoutRegistration/eventDetails/EventInitialTest.kt b/app/src/androidTest/java/org/dhis2/usescases/eventsWithoutRegistration/eventDetails/EventInitialTest.kt index de6ebdd6855..d9580932ab7 100644 --- a/app/src/androidTest/java/org/dhis2/usescases/eventsWithoutRegistration/eventDetails/EventInitialTest.kt +++ b/app/src/androidTest/java/org/dhis2/usescases/eventsWithoutRegistration/eventDetails/EventInitialTest.kt @@ -91,6 +91,7 @@ class EventInitialTest { on { displayName() } doReturn PROGRAM_STAGE_NAME on { executionDateLabel() } doReturn EXECUTION_DATE on { generatedByEnrollmentDate() } doReturn true + on { uid() } doReturn "programStage" } private val catCombo: CategoryCombo = mock { on { uid() } doReturn CAT_COMBO_UID @@ -154,7 +155,7 @@ class EventInitialTest { enrollmentStatus = enrollmentStatus, ) - private fun provideEventResourcesProvider() = EventDetailResourcesProvider(resourceManager) + private fun provideEventResourcesProvider() = EventDetailResourcesProvider(resourceManager, programStage.uid()) private fun createOrUpdateEventDetails() = CreateOrUpdateEventDetails( repository = eventDetailsRepository, diff --git a/app/src/main/java/org/dhis2/bindings/Bindings.java b/app/src/main/java/org/dhis2/bindings/Bindings.java index c500345e52f..c80c620e2b6 100644 --- a/app/src/main/java/org/dhis2/bindings/Bindings.java +++ b/app/src/main/java/org/dhis2/bindings/Bindings.java @@ -204,67 +204,6 @@ public static void setEventIcon(ImageView view, Event event, Enrollment enrollme } } - @BindingAdapter(value = {"eventStatusText", "enrollmentStatus", "eventProgramStage", "eventProgram"}) - public static void setEventText(TextView view, Event event, Enrollment enrollment, ProgramStage eventProgramStage, Program program) { - if (event != null) { - EventStatus status = event.status(); - EnrollmentStatus enrollmentStatus = enrollment.status(); - if (status == null) - status = EventStatus.ACTIVE; - if (enrollmentStatus == null) - enrollmentStatus = EnrollmentStatus.ACTIVE; - - - if (enrollmentStatus == EnrollmentStatus.ACTIVE) { - switch (status) { - case ACTIVE: - Date eventDate = event.eventDate(); - if (eventProgramStage.periodType() != null && eventProgramStage.periodType().name().contains(PeriodType.Weekly.name())) - eventDate = DateUtils.getInstance().getNextPeriod(eventProgramStage.periodType(), eventDate, 0, true); - if (DateUtils.getInstance().isEventExpired(eventDate, null, event.status(), program.completeEventsExpiryDays(), eventProgramStage.periodType() != null ? eventProgramStage.periodType() : program.expiryPeriodType(), program.expiryDays())) { - view.setText(view.getContext().getString(R.string.event_expired)); - } else { - view.setText(view.getContext().getString(R.string.event_open)); - } - break; - case COMPLETED: - if (DateUtils.getInstance().isEventExpired(null, event.completedDate(), program.completeEventsExpiryDays())) { - view.setText(view.getContext().getString(R.string.event_expired)); - } else { - view.setText(view.getContext().getString(R.string.event_completed)); - } - break; - case SCHEDULE: - if (DateUtils.getInstance().isEventExpired( - event.dueDate(), - null, - status, - program.completeEventsExpiryDays(), - eventProgramStage.periodType() != null ? eventProgramStage.periodType() : program.expiryPeriodType(), - program.expiryDays())) { - view.setText(view.getContext().getString(R.string.event_expired)); - } else { - view.setText(view.getContext().getString(R.string.event_schedule)); - } - break; - case SKIPPED: - view.setText(view.getContext().getString(R.string.event_skipped)); - break; - case OVERDUE: - view.setText(R.string.event_overdue); - break; - default: - view.setText(view.getContext().getString(R.string.read_only)); - break; - } - } else if (enrollmentStatus == EnrollmentStatus.COMPLETED) { - view.setText(view.getContext().getString(R.string.program_completed)); - } else { //EnrollmentStatus = CANCELLED - view.setText(view.getContext().getString(R.string.program_inactive)); - } - } - } - @BindingAdapter(value = {"eventColor", "eventProgramStage", "eventProgram"}) public static void setEventColor(View view, Event event, ProgramStage programStage, Program program) { if (event != null) { @@ -313,33 +252,6 @@ public static void setEventColor(View view, Event event, ProgramStage programSta } } - @BindingAdapter("eventWithoutRegistrationStatusText") - public static void setEventWithoutRegistrationStatusText(TextView textView, ProgramEventViewModel event) { - switch (event.eventStatus()) { - case ACTIVE: - if (event.isExpired()) { - textView.setText(textView.getContext().getString(R.string.event_editing_expired)); - } else { - textView.setText(textView.getContext().getString(R.string.event_open)); - } - break; - case COMPLETED: - if (event.isExpired()) { - textView.setText(textView.getContext().getString(R.string.event_editing_expired)); - } else { - textView.setText(textView.getContext().getString(R.string.event_completed)); - } - break; - case SKIPPED: - textView.setText(textView.getContext().getString(R.string.event_editing_expired)); - break; - default: - textView.setText(textView.getContext().getString(R.string.read_only)); - break; - } - } - - @BindingAdapter("stateText") public static void setStateText(TextView textView, State state) { diff --git a/app/src/main/java/org/dhis2/usescases/eventsWithoutRegistration/eventCapture/EventCaptureActivity.kt b/app/src/main/java/org/dhis2/usescases/eventsWithoutRegistration/eventCapture/EventCaptureActivity.kt index f2cdb99aa24..9e1a71aa393 100644 --- a/app/src/main/java/org/dhis2/usescases/eventsWithoutRegistration/eventCapture/EventCaptureActivity.kt +++ b/app/src/main/java/org/dhis2/usescases/eventsWithoutRegistration/eventCapture/EventCaptureActivity.kt @@ -22,6 +22,7 @@ import org.dhis2.commons.dialogs.AlertBottomDialog import org.dhis2.commons.dialogs.CustomDialog import org.dhis2.commons.dialogs.DialogClickListener import org.dhis2.commons.popupmenu.AppMenuHelper +import org.dhis2.commons.resources.ResourceManager import org.dhis2.commons.sync.SyncContext import org.dhis2.databinding.ActivityEventCaptureBinding import org.dhis2.ui.ErrorFieldList @@ -58,7 +59,7 @@ class EventCaptureActivity : EventCaptureContract.View, MapButtonObservable, EventDetailsComponentProvider { - private var binding: ActivityEventCaptureBinding? = null + private lateinit var binding: ActivityEventCaptureBinding @JvmField @Inject @@ -74,6 +75,9 @@ class EventCaptureActivity : private var isEventCompleted = false private var eventMode: EventMode? = null + @Inject + lateinit var resourceManager: ResourceManager + @JvmField var eventCaptureComponent: EventCaptureComponent? = null var programUid: String? = null @@ -119,6 +123,7 @@ class EventCaptureActivity : this, intent.getStringExtra(Constants.PROGRAM_UID), intent.getStringExtra(Constants.EVENT_UID), + presenter?.programStage(), pageConfigurator!!.displayAnalytics(), pageConfigurator!!.displayRelationships(), intent.getBooleanExtra(OPEN_ERROR_LOCATION, false), @@ -297,9 +302,16 @@ class EventCaptureActivity : } } - override fun showSnackBar(messageId: Int) { + override fun showSnackBar(messageId: Int, programStage: String) { val mySnackbar = - Snackbar.make(binding!!.root, messageId, BaseTransientBottomBar.LENGTH_SHORT) + Snackbar.make( + binding.root, + resourceManager.formatWithEventLabel( + messageId, + programStage, + ), + BaseTransientBottomBar.LENGTH_SHORT, + ) mySnackbar.show() } @@ -369,30 +381,43 @@ class EventCaptureActivity : } private fun confirmDeleteEvent() { - CustomDialog( - this, - getString(R.string.delete_event), - getString(R.string.confirm_delete_event), - getString(R.string.delete), - getString(R.string.cancel), - 0, - object : DialogClickListener { - override fun onPositive() { - analyticsHelper().setEvent(DELETE_EVENT, CLICK, DELETE_EVENT) - presenter!!.deleteEvent() - } + presenter?.programStage().let { + CustomDialog( + this, + resourceManager.formatWithEventLabel( + R.string.delete_event_label, + programStageUid = it, + ), + resourceManager.formatWithEventLabel( + R.string.confirm_delete_event_label, + programStageUid = it, + ), + getString(R.string.delete), + getString(R.string.cancel), + 0, + object : DialogClickListener { + override fun onPositive() { + analyticsHelper().setEvent(DELETE_EVENT, CLICK, DELETE_EVENT) + presenter!!.deleteEvent() + } - override fun onNegative() { - // dismiss - } - }, - ).show() + override fun onNegative() { + // dismiss + } + }, + ).show() + } } override fun showEventIntegrityAlert() { MaterialAlertDialogBuilder(this, R.style.DhisMaterialDialog) .setTitle(R.string.conflict) - .setMessage(R.string.event_date_in_future_message) + .setMessage( + resourceManager.formatWithEventLabel( + R.string.event_label_date_in_future_message, + programStageUid = presenter?.programStage(), + ), + ) .setPositiveButton( R.string.change_event_date, ) { _, _ -> binding!!.navigationBar.selectItemAt(0) } diff --git a/app/src/main/java/org/dhis2/usescases/eventsWithoutRegistration/eventCapture/EventCaptureContract.java b/app/src/main/java/org/dhis2/usescases/eventsWithoutRegistration/eventCapture/EventCaptureContract.java index d45ad8e5b3a..7581ab9fdf2 100644 --- a/app/src/main/java/org/dhis2/usescases/eventsWithoutRegistration/eventCapture/EventCaptureContract.java +++ b/app/src/main/java/org/dhis2/usescases/eventsWithoutRegistration/eventCapture/EventCaptureContract.java @@ -40,7 +40,7 @@ void showCompleteActions( void SaveAndFinish(); - void showSnackBar(int messageId); + void showSnackBar(int messageId, String programStage); void attemptToSkip(); @@ -100,6 +100,8 @@ void attemptFinish(boolean canComplete, boolean getCompletionPercentageVisibility(); void emitAction(@NotNull EventCaptureAction onBack); + + String programStage(); } public interface EventCaptureRepository { diff --git a/app/src/main/java/org/dhis2/usescases/eventsWithoutRegistration/eventCapture/EventCapturePagerAdapter.java b/app/src/main/java/org/dhis2/usescases/eventsWithoutRegistration/eventCapture/EventCapturePagerAdapter.java index de871519f30..de78a83a1f0 100644 --- a/app/src/main/java/org/dhis2/usescases/eventsWithoutRegistration/eventCapture/EventCapturePagerAdapter.java +++ b/app/src/main/java/org/dhis2/usescases/eventsWithoutRegistration/eventCapture/EventCapturePagerAdapter.java @@ -1,5 +1,6 @@ package org.dhis2.usescases.eventsWithoutRegistration.eventCapture; +import static org.dhis2.commons.Constants.PROGRAM_STAGE_UID; import static org.dhis2.usescases.teiDashboard.dashboardfragments.indicators.IndicatorsFragmentKt.VISUALIZATION_TYPE; import static org.dhis2.commons.Constants.PROGRAM_UID; @@ -31,6 +32,7 @@ public class EventCapturePagerAdapter extends FragmentStateAdapter { private final String programUid; private final String eventUid; private final List pages; + private final String programStage; private EventCaptureFormFragment formFragment; private final boolean shouldOpenErrorSection; @@ -46,6 +48,7 @@ private enum EventPageType { public EventCapturePagerAdapter(FragmentActivity fragmentActivity, String programUid, String eventUid, + String programStage, boolean displayAnalyticScreen, boolean displayRelationshipScreen, boolean openErrorSection @@ -54,6 +57,7 @@ public EventCapturePagerAdapter(FragmentActivity fragmentActivity, super(fragmentActivity); this.programUid = programUid; this.eventUid = eventUid; + this.programStage = programStage; this.shouldOpenErrorSection = openErrorSection; pages = new ArrayList<>(); pages.add(EventPageType.DETAILS); @@ -93,6 +97,7 @@ public Fragment createFragment(int position) { Bundle bundle = new Bundle(); bundle.putString(Constants.EVENT_UID, eventUid); bundle.putString(PROGRAM_UID, programUid); + bundle.putString(PROGRAM_STAGE_UID, programStage); EventDetailsFragment eventDetailsFragment = new EventDetailsFragment(); eventDetailsFragment.setArguments(bundle); eventDetailsFragment.setOnEventReopened(() -> { diff --git a/app/src/main/java/org/dhis2/usescases/eventsWithoutRegistration/eventCapture/EventCapturePresenterImpl.kt b/app/src/main/java/org/dhis2/usescases/eventsWithoutRegistration/eventCapture/EventCapturePresenterImpl.kt index 048c540d06b..53135198fc2 100644 --- a/app/src/main/java/org/dhis2/usescases/eventsWithoutRegistration/eventCapture/EventCapturePresenterImpl.kt +++ b/app/src/main/java/org/dhis2/usescases/eventsWithoutRegistration/eventCapture/EventCapturePresenterImpl.kt @@ -186,7 +186,7 @@ class EventCapturePresenterImpl( schedulerProvider, { result -> if (result) { - view.showSnackBar(R.string.event_was_deleted) + view.showSnackBar(R.string.event_label_was_deleted, programStage()) } }, Timber::e, @@ -200,7 +200,7 @@ class EventCapturePresenterImpl( eventCaptureRepository.updateEventStatus(EventStatus.SKIPPED) .defaultSubscribe( schedulerProvider, - { view.showSnackBar(R.string.event_was_skipped) }, + { view.showSnackBar(R.string.event_label_was_skipped, programStage()) }, Timber::e, view::finishDataEntry, ), @@ -268,4 +268,6 @@ class EventCapturePresenterImpl( private val eventStatus: EventStatus get() = eventCaptureRepository.eventStatus().blockingFirst() + + override fun programStage(): String = eventCaptureRepository.programStage().blockingFirst() } diff --git a/app/src/main/java/org/dhis2/usescases/eventsWithoutRegistration/eventDetails/injection/EventDetailsModule.kt b/app/src/main/java/org/dhis2/usescases/eventsWithoutRegistration/eventDetails/injection/EventDetailsModule.kt index c1f6ff7c024..a8d0d42cd83 100644 --- a/app/src/main/java/org/dhis2/usescases/eventsWithoutRegistration/eventDetails/injection/EventDetailsModule.kt +++ b/app/src/main/java/org/dhis2/usescases/eventsWithoutRegistration/eventDetails/injection/EventDetailsModule.kt @@ -61,7 +61,7 @@ class EventDetailsModule( fun provideEventDetailResourceProvider( resourceManager: ResourceManager, ): EventDetailResourcesProvider { - return EventDetailResourcesProvider(resourceManager) + return EventDetailResourcesProvider(resourceManager, programStageUid) } @Provides diff --git a/app/src/main/java/org/dhis2/usescases/eventsWithoutRegistration/eventDetails/providers/EventDetailResourcesProvider.kt b/app/src/main/java/org/dhis2/usescases/eventsWithoutRegistration/eventDetails/providers/EventDetailResourcesProvider.kt index f1230cd7f20..42165e1254b 100644 --- a/app/src/main/java/org/dhis2/usescases/eventsWithoutRegistration/eventDetails/providers/EventDetailResourcesProvider.kt +++ b/app/src/main/java/org/dhis2/usescases/eventsWithoutRegistration/eventDetails/providers/EventDetailResourcesProvider.kt @@ -6,10 +6,14 @@ import org.hisp.dhis.android.core.event.EventNonEditableReason class EventDetailResourcesProvider( private val resourceManager: ResourceManager, + private val programStage: String?, ) { fun provideDueDate() = resourceManager.getString(R.string.due_date) - fun provideEventDate() = resourceManager.getString(R.string.event_date) + fun provideEventDate() = resourceManager.formatWithEventLabel( + R.string.event_label_date, + programStage, + ) fun provideEditionStatus(reason: EventNonEditableReason): String { return when (reason) { @@ -36,9 +40,15 @@ class EventDetailResourcesProvider( fun provideButtonCheck() = resourceManager.getString(R.string.check_event) - fun provideEventCreatedMessage() = resourceManager.getString(R.string.event_updated) + fun provideEventCreatedMessage() = resourceManager.formatWithEventLabel( + R.string.event_label_updated, + programStage, + ) - fun provideEventCreationError() = resourceManager.getString(R.string.failed_insert_event) + fun provideEventCreationError() = resourceManager.formatWithEventLabel( + R.string.failed_insert_event_label, + programStage, + ) fun provideReOpened() = resourceManager.getString(R.string.re_opened) } diff --git a/app/src/main/java/org/dhis2/usescases/eventsWithoutRegistration/eventInitial/EventInitialActivity.java b/app/src/main/java/org/dhis2/usescases/eventsWithoutRegistration/eventInitial/EventInitialActivity.java index 0f3852d7ce8..83b4cc2fe5f 100644 --- a/app/src/main/java/org/dhis2/usescases/eventsWithoutRegistration/eventInitial/EventInitialActivity.java +++ b/app/src/main/java/org/dhis2/usescases/eventsWithoutRegistration/eventInitial/EventInitialActivity.java @@ -29,6 +29,7 @@ import org.dhis2.commons.dialogs.CustomDialog; import org.dhis2.commons.dialogs.DialogClickListener; import org.dhis2.commons.popupmenu.AppMenuHelper; +import org.dhis2.commons.resources.ResourceManager; import org.dhis2.databinding.ActivityEventInitialBinding; import org.dhis2.usescases.eventsWithoutRegistration.eventCapture.EventCaptureActivity; import org.dhis2.usescases.eventsWithoutRegistration.eventDetails.injection.EventDetailsComponent; @@ -60,6 +61,9 @@ public class EventInitialActivity extends ActivityGlobalAbstract implements Even @Inject EventInitialPresenter presenter; + @Inject + ResourceManager resourceManager; + private ActivityEventInitialBinding binding; //Bundle variables @@ -239,14 +243,22 @@ private void setUpActivityTitle() { activityTitle = program.displayName() + " - " + getString(R.string.referral); } else { - activityTitle = eventUid == null ? program.displayName() + " - " + getString(R.string.new_event) : program.displayName(); + activityTitle = eventUid == null ? + program.displayName() + " - " + + resourceManager.formatWithEventLabel(R.string.new_event_label, programStageUid, 1, false) + : program.displayName(); } binding.setName(activityTitle); } @Override public void onEventCreated(String eventUid) { - showToast(getString(R.string.event_created)); + showToast( + resourceManager.formatWithEventLabel( + R.string.event_label_created, + programStageUid, + 1, false + )); if (eventCreationType != EventCreationType.SCHEDULE && eventCreationType != EventCreationType.REFERAL) { startFormActivity(eventUid, true); } else { @@ -340,8 +352,14 @@ public void showMoreOptions(View view) { public void confirmDeleteEvent() { new CustomDialog( this, - getString(R.string.delete_event), - getString(R.string.confirm_delete_event), + resourceManager.formatWithEventLabel( + R.string.delete_event_label, + programStageUid, + 1, false), + resourceManager.formatWithEventLabel( + R.string.confirm_delete_event_label, + programStageUid, + 1, false), getString(R.string.delete), getString(R.string.cancel), 0, @@ -362,10 +380,23 @@ public void onNegative() { @Override public void showEventWasDeleted() { - showToast(getString(R.string.event_was_deleted)); + showToast(resourceManager.formatWithEventLabel( + R.string.event_label_was_deleted, + programStageUid, + 1, false + )); finish(); } + @Override + public void showDeleteEventError() { + showToast(resourceManager.formatWithEventLabel( + R.string.delete_event_label_error, + programStageUid, + 1, false + )); + } + @Nullable @Override public EventDetailsComponent provideEventDetailsComponent(@Nullable EventDetailsModule module) { diff --git a/app/src/main/java/org/dhis2/usescases/eventsWithoutRegistration/eventInitial/EventInitialContract.java b/app/src/main/java/org/dhis2/usescases/eventsWithoutRegistration/eventInitial/EventInitialContract.java index 4c190b31f0a..50c0bda4aee 100644 --- a/app/src/main/java/org/dhis2/usescases/eventsWithoutRegistration/eventInitial/EventInitialContract.java +++ b/app/src/main/java/org/dhis2/usescases/eventsWithoutRegistration/eventInitial/EventInitialContract.java @@ -29,5 +29,7 @@ public interface View extends AbstractActivityContracts.View { void showQR(); void showEventWasDeleted(); + + void showDeleteEventError(); } } diff --git a/app/src/main/java/org/dhis2/usescases/eventsWithoutRegistration/eventInitial/EventInitialPresenter.java b/app/src/main/java/org/dhis2/usescases/eventsWithoutRegistration/eventInitial/EventInitialPresenter.java index b1aec976b0b..28a70356175 100644 --- a/app/src/main/java/org/dhis2/usescases/eventsWithoutRegistration/eventInitial/EventInitialPresenter.java +++ b/app/src/main/java/org/dhis2/usescases/eventsWithoutRegistration/eventInitial/EventInitialPresenter.java @@ -144,7 +144,7 @@ public void deleteEvent(String trackedEntityInstance) { eventInitialRepository.deleteEvent(eventId, trackedEntityInstance); view.showEventWasDeleted(); } else - view.displayMessage(view.getContext().getString(R.string.delete_event_error)); + view.showDeleteEventError(); } public boolean isEnrollmentOpen() { diff --git a/app/src/main/java/org/dhis2/usescases/teiDashboard/dashboardfragments/teidata/TEIDataFragment.kt b/app/src/main/java/org/dhis2/usescases/teiDashboard/dashboardfragments/teidata/TEIDataFragment.kt index 145ef183624..bfe369e296f 100644 --- a/app/src/main/java/org/dhis2/usescases/teiDashboard/dashboardfragments/teidata/TEIDataFragment.kt +++ b/app/src/main/java/org/dhis2/usescases/teiDashboard/dashboardfragments/teidata/TEIDataFragment.kt @@ -39,6 +39,7 @@ import org.dhis2.commons.filters.FiltersAdapter import org.dhis2.commons.orgunitselector.OUTreeFragment import org.dhis2.commons.resources.ColorUtils import org.dhis2.commons.resources.ObjectStyleUtils.getIconResource +import org.dhis2.commons.resources.ResourceManager import org.dhis2.commons.sync.OnDismissListener import org.dhis2.commons.sync.SyncContext.EnrollmentEvent import org.dhis2.databinding.FragmentTeiDataBinding @@ -96,6 +97,9 @@ class TEIDataFragment : FragmentGlobalAbstract(), TEIDataContracts.View { @Inject lateinit var contractHandler: TeiDataContractHandler + @Inject + lateinit var resourceManager: ResourceManager + private var eventAdapter: EventAdapter? = null private var dialog: CustomDialog? = null private var programStageFromEvent: ProgramStage? = null @@ -399,7 +403,10 @@ class TEIDataFragment : FragmentGlobalAbstract(), TEIDataContracts.View { private fun showDialogCloseProgram() { dialog = CustomDialog( requireContext(), - getString(R.string.event_completed), + resourceManager.formatWithEventLabel( + R.string.event_label_completed, + programStageFromEvent?.uid(), + ), getString(R.string.complete_enrollment_message), getString(R.string.button_ok), getString(R.string.cancel), diff --git a/app/src/main/java/org/dhis2/usescases/teiDashboard/dashboardfragments/teidata/teievents/StageViewHolder.kt b/app/src/main/java/org/dhis2/usescases/teiDashboard/dashboardfragments/teidata/teievents/StageViewHolder.kt index 9cd5ea63429..25bc14dd3c0 100644 --- a/app/src/main/java/org/dhis2/usescases/teiDashboard/dashboardfragments/teidata/teievents/StageViewHolder.kt +++ b/app/src/main/java/org/dhis2/usescases/teiDashboard/dashboardfragments/teidata/teievents/StageViewHolder.kt @@ -47,7 +47,9 @@ internal class StageViewHolder( ), ) - val iconResource = ResourceManager(itemView.context, colorUtils) + val resourceManager = ResourceManager(itemView.context, colorUtils) + + val iconResource = resourceManager .getObjectStyleDrawableResource( stage.style().icon(), R.drawable.ic_default_outline, @@ -84,8 +86,12 @@ internal class StageViewHolder( binding.addStageButton.setOnClickListener { stageSelector.onNext(StageSection(stage.uid(), true)) } - binding.programStageCount.text = - "${eventItem.eventCount} ${itemView.context.getString(R.string.events)}" + val eventCount = "${eventItem.eventCount} " + + resourceManager.getEventLabel( + programStageUid = stage.uid(), + quantity = eventItem.eventCount, + ) + binding.programStageCount.text = eventCount itemView.setOnClickListener { stageSelector.onNext(StageSection(stage.uid(), false)) } diff --git a/app/src/main/res/values-ar/strings.xml b/app/src/main/res/values-ar/strings.xml index b9afbe9b74d..fb33b369137 100644 --- a/app/src/main/res/values-ar/strings.xml +++ b/app/src/main/res/values-ar/strings.xml @@ -126,9 +126,8 @@ خط العرض خط الطول حدث جديد - فشل إدراج حدث جديد - تم إنشاء الحدث - تم تحديث الحدث + This event has not been created yet + مرة واحدة دائم @@ -141,15 +140,11 @@ تم حفظ القيمة! لا توجد فترات متاحة للاختيار. - تاريخ الحدث تاريخ الاستحقاق تجميع فئة DD/MM/YYYY إلغاء حذف - حذف الحدث - هل أنت متأكد أنك تريد حذف هذا الحدث؟ - تم حذف الحدث بنجاح الإجمالي تاريخ أحدث حدث @@ -260,7 +255,6 @@ تحتاج بعض الحقول إلى إطلاعك.\n هل تريد مراجعة النموذج؟ لم يتم حفظ بياناتك إذا رجعت الآن سيتم حذف جميع المعلومات التي تم إدخالها. - بعض الحقول الإلزامية مفقودة:\n%s\n يمكنك الرجوع الآن ، ولكن لن تتمكن من إكمال هذا الحدث. الحذف والرجوع للخلف تحتوي بعض الحقول على أخطاء:\n%s\n يرجى التحقق منها. بعض الحقول الإلزامية مفقودة. يمكنك إنهاء إدخال البيانات والخروج، لكن لا يمكن تعيين الحدث كمكتمل. @@ -322,7 +316,6 @@ رمز QR غير صالح هذه السمة لايمكن إضافتها هذا التسجيل لايمكن إضافته - هذا الحدث لا يمكن إضافته ابلاغ مشكلة إلى Jira حول التطبيق @@ -469,17 +462,14 @@ إنهاء الحقول التي بها أخطاء تحتوي بعض الحقول على أخطاء. لم يتم حفظها. يرجى التحقق منها. - بالإمكان الآن تعديل هذا الحدث يجب أن تكون القيمة فريدة، يوجد تعارض تكرار لنفس القيمة. لم يتم الحفظ. يرجى التحقق. وجد تعارض في حقل ذو قيمة فريدة. لحفظ التسجيل، يرجي التحقق من النموذج. الرجاء الانتظار تخطى اعادة جدولة - تم وضع علامة على الحدث بأنه تم تخطيه لا توجد معلومات عن هذه الشاشة متأخر هناك قاعدة برنامج واحدة غير معتمدة. يرجى زيارة التوثيق للتحقق - لم يتم إنشاء هذا الحدث بعد لا توجد معلومات عن هذا الحقل إعتمادات فارغة لتتمكن من تسجيل الدخول باستخدام ماسح بصمة الإصبع، تحتاج أولاً إلى تسجيل الدخول بإستخدام الطريقة الافتراضية @@ -536,7 +526,6 @@ حذف التسجيل فقط ليس لديك الصلاحية لحذف هذا السجل هذا ليس عنوان url صالحاً - ليس لديك الصلاحية لإعادة فتح هذا الحدث تسوية وضبط النموذج رقم المستلم @@ -638,7 +627,6 @@ لا تظهر قفل الشاشة مرة أخرى تعيين رمز تعارض - لا يمكن أن يكون لهذا الحدث تاريخ في المستقبل. يرجى تغيير التاريخ. غير التاريخ رجوع حزم البيانات diff --git a/app/src/main/res/values-b+uz+Cyrl/strings.xml b/app/src/main/res/values-b+uz+Cyrl/strings.xml index 837527f10be..8b9a1c39670 100644 --- a/app/src/main/res/values-b+uz+Cyrl/strings.xml +++ b/app/src/main/res/values-b+uz+Cyrl/strings.xml @@ -12,8 +12,6 @@ Нотўғри маълумот Кутилмаган хатолик Сервердаги ички хатолик - ҳа - йўқ қиймат йўқ Сақланган бошқа қийматлар йўқ. Тизим администраторига мурожаат қилинг. Сақланган бошқа қийматлар йўқ. Уларни тўлдириш учун тармоққа уланинг. @@ -86,13 +84,6 @@ Очиш Тадбир тугалланди - Тадбир ўтказиб юборилди - Тадбир режаси - Тадбир муддати тугаган - Таҳрирлаш муддати тугаган - Тадбир қабул қилинган - Тадбир тасдиқланди - Тадбир нофаол Фақат ўқиш учун Тўлиқ Тайёр ва тўлиқ @@ -125,9 +116,6 @@ Кенглик Узунлик Янги тадбир - Янги тадбирни киритиш амалга ошмади - Тадбир яратилди - Тадбир янгиланди Бир марта Доимий @@ -140,15 +128,11 @@ Қиймат сақланди! Танлаш учун яроқли давр мавжуд эмас - Ҳодиса/Тадбир санаси Муддати Категория комбинацияси КК/ОО/ЙЙЙЙ Бекор қилиш Ўчириш - Тадбирни ўчиринг - Ҳақиқатдан ҳам ушбу ҳодиса/тадбирни ўчирмоқчимисиз? - Тадбир муваффақиятли ўчирилди Жами Охирги тадбир санаси diff --git a/app/src/main/res/values-b+uz+Latn/strings.xml b/app/src/main/res/values-b+uz+Latn/strings.xml index 6257a77ffee..fc7a77a35f1 100644 --- a/app/src/main/res/values-b+uz+Latn/strings.xml +++ b/app/src/main/res/values-b+uz+Latn/strings.xml @@ -110,9 +110,6 @@ Kenglik Kenglik Yangi tadbir - Yangi tadbirni kiritish amalga oshmadi - Tadbir yaratildi - Tadbir yangilandi Bir marta Doimiy @@ -125,15 +122,11 @@ Qiymat saqlandi! Tanlash uchun yaroqli davr mavjud emas - Hodisa/Tadbir sanasi Muddati Kategoriya kombinatsiyasi KK/OO/YYYY Бекор қилиш Oʼchirib tashlash - Hodisa/Tadbirni oʼchirib tashlash - Haqiqatdan ham ushbu hodisa/tadbirni oʼchirib tashlamoqchimisiz? - Tadbir muvaffaqiyatli oʼchirib tashlandi Jami Oxirgi tadbir sanasi @@ -230,7 +223,6 @@ Baʼzi majburiy maydonlar qoldirib ketilgan. Аgar orqaga qaytmoqchi boʼlsangiz, Iltimos, ularni toʼldiring. Maʼlumotingiz saqlanmadi Аgarda hozir orqaga qaytsangiz, barcha kiritilgan maʼlumotlar oʼchiriladi. - Baʼzi majburiy maydonlar qoldirib ketilgan: \n %sda\n. Hozir orqaga qayta olasiz, ammo bu holda hodisa/tadbirni yakunlab boʼlmaydi. Oʼchirib tashlash va orqaga qaytish Baʼzi maʼlumotlarda xatoliklar mavjud: \n%s\. Iltimos, ularni tekshiring. Baʼzi majburiy maydonlar qoldirib ketilgan. Siz maʼlumotlarni kiritishni yakunlab chiqishingiz mumkin. Аmmo bu holda hodisa/tadbirni yakunlab boʼlmaydi. @@ -292,7 +284,6 @@ QR kod yaroqsiz Ushbu atributlarrni qoʼshib boʼlmadi Ushbu qaydlarni qoʼshib boʼlmadi - Ushbu hodisa/tadbirni qoʼshib boʼlmadi Jira nashri uchun xabar berish Ҳақида @@ -433,17 +424,14 @@ Tugatish Xatoliklar mavjud boʼlgan maydonlar Baʼzi maydonlarda xatoliklar mavjud.Ular saqlanmadi. Iltimos,, ularni tekshirib koʼring. - Ushbu hodisa/tadbirni endi tahrir qilish mumkin Qiymat noyob boʼlishi lozim, bir biriga oʼxshash topildi. U saqlanmadi. Iltimos, tekshirib koʼrish. Noyob sohada bir biriga oʼxshash qiymat topildi. Roʼyxatdan oʼtishni saqlash uchun formani tekshirish. Iltimos, kuting Oʼtkazib yuborish Qayta rejalang - Hodisa/tadbir oʼtkazib yuborilgan deb belgilandi Ushbu ekrandagi haqida maʼlumot yoʼq Muddat oʼtgan Bu yerda dasturning qoʼllab quvvatlanmaydigan bir qoidasi mavjud. Iltimos, hujjatlarni tekshiring. - Ushbu hodisa/dastur hali yaratilmagan Ushbu maydon uchun maʼlumot yoʼq Ishonch yorliqlari boʼsh Barmoq izlari skaneri yordamida tizimga kirish uchun avval standart usuldan foydalanishingiz kerak @@ -496,7 +484,6 @@ Faqat qaydlarni oʼchirib tashlash Ushbu yozuvni oʼchirib tashlash huquqiga ega emassiz Bu haqiqiy URL emas - Ushbu hodisa/tadbirni qayta ochishga vakolatingiz yoʼq Shakl sozlanmoqda... Qabul qiluvchining raqami @@ -598,7 +585,6 @@ Bloklangan ekranni qayta koʼrsatmaslik PIN kodni oʼrnating Nomutanosiblik - Ushbu hodisa/tadbirning sanasi kelajakda boʼlishi mumkin emas. Iltimos, oʼzgartiring Sanani oʼzgartirish Orqaga qayting Maʼlumotlar toʼplami diff --git a/app/src/main/res/values-ckb/strings.xml b/app/src/main/res/values-ckb/strings.xml index 2054208aa1e..e8ef2ed3bf8 100644 --- a/app/src/main/res/values-ckb/strings.xml +++ b/app/src/main/res/values-ckb/strings.xml @@ -5,7 +5,6 @@ داتا رووداوي نوي - بيركاري داتا لابردن سرينةوة كؤي طشتي diff --git a/app/src/main/res/values-cs/strings.xml b/app/src/main/res/values-cs/strings.xml index 54cd8a601d4..7eaab4f9e10 100644 --- a/app/src/main/res/values-cs/strings.xml +++ b/app/src/main/res/values-cs/strings.xml @@ -124,9 +124,6 @@ Zeměpisná šířka Zeměpisná délka Nová událost - Vložení nové události se nezdařilo - Událost vytvořena - Událost aktualizována Jednou Trvale @@ -139,15 +136,11 @@ Hodnota je uložena! Nejsou k dispozici žádná období k výběru. - Datum události Poslední termín Kombinace kategorií DD/MM/RRRR Zrušit Smazat - Smazat událost - Opravdu chcete tuto událost smazat? - Událost byla úspěšně smazána Celkem Datum poslední události @@ -256,7 +249,6 @@ Některá pole vyžadují vaši pozornost.\nChcete formulář zkontrolovat? Vaše data nejsou uložena Pokud se nyní vrátíte zpět, všechny zadané informace budou smazány. - Chybí některá povinná pole:\n%s\nMůžete se nyní vrátit, ale tuto událost nebude možné dokončit. Smazat a vrátit se zpět Některá pole obsahují chyby:\n%s\nProsím zkontrolujte je. Některá povinná pole chybí. Zadávání a ukončení dat můžete dokončit, ale událost nelze dokončit. @@ -318,7 +310,6 @@ Neplatný QR kód Tento atribut nelze přidat Tento zápis nelze přidat - Tuto událost nelze přidat Nahlásit problém do Jira O nás @@ -465,17 +456,14 @@ Dokončit Pole s chybami Některá pole obsahují chyby. Nebyla uložena. Prosím, zkontrolujte je. - Tuto událost lze nyní upravit Hodnota by měla být jedinečná, byla nalezena koincidence. Nebylo uloženo. Prosím zkontrolujte to. Byla nalezena koincidence v jedinečném poli. Pro uložení zápisu prosím zkontrolujte formulář. Prosím, čekejte Přeskočit Přeplánovat - Událost byla označena jako přeskočená O této obrazovce nejsou žádné informace Vypršelo Existuje jedno programové pravidlo, které není podporováno. Zkontrolujte dokumentaci - Tato událost ještě nebyla vytvořena Žádné informace pro toto pole Prázdné pověření Abyste se mohli přihlásit pomocí snímače otisků prstů, musíte nejprve použít výchozí způsob @@ -532,7 +520,6 @@ Smazat pouze zápis Nemáte oprávnění tento záznam mazat Toto není platné URL - Nemáte oprávnění znovu otevřít tuto událost Úprava formuláře… Číslo příjemce @@ -634,7 +621,6 @@ Nezobrazovat znovu zamykací obrazovku Nastavit PIN Konflikt - Tato událost nemůže mít datum v budoucnu. Změňte to prosím. Změnit datum Zpět Datové sady diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml index d690c50e6fb..97e83fa0d64 100644 --- a/app/src/main/res/values-es/strings.xml +++ b/app/src/main/res/values-es/strings.xml @@ -123,9 +123,6 @@ Latitud Longitud Evento nuevo - Error/Fallo al crear un nuevo evento - Evento creado - Evento actualizado Una vez Permanente @@ -138,15 +135,11 @@ Guardado! No hay periodos disponibles. - Fecha de evento Fecha de vencimiento Cat Combo DD/MM/YYYY Cancelar Borrar - Eliminar evento - ¿Está seguro de querer eliminar este evento? - Evento eliminado Total Fecha de evento más reciente @@ -254,7 +247,6 @@ Algunos campos necesitan su atención.\n¿Desea revisar el formulario? Los datos no se han guardado Si vuelve ahora la información registrada se perderá - Faltan campos obligatorios:+n%s\nPuede ir atrás, pero el evento no se puede completar. Borrar y salir. Algunos campos tienen errores:\n%s\nRevíselos, por favor. Algunos campos obligatorios están vacíos. Puede terminar la entrada de datos y salir, pero el evento no podrá ser completado. @@ -316,7 +308,6 @@ Código QR no válido Este atributo no puede ser añadido Esta admisión no puede ser añadida - Este evento no puede ser añadido Reportar problema en Jira Acerca de @@ -463,17 +454,14 @@ Acabar Campos con errores Algunos campos presentan errores. No se han guardado. Revíselos por favor. - Ahora puede editar este evento El valor debe ser único, se ha encontrado una coincidencia. El campo no se ha guardado, revíselo. Se ha encontrado una coincidencia en un campo único. Por favor compruebe el formulario para guardar el registro. Por favor, espere Omitir Reprogramar - El evento se ha marcado como omitido No hay información sobre esta pantalla Atrasado Hay alguna program rule no soportada. Revise la documentación. - Este evento aun no se ha creado No hay información para este campo Vaciar credenciales Para poder iniciar sesión por huella dactilar debe entrar primero por el modo normal @@ -530,7 +518,6 @@ Borrar solo la admisión No tienes permisos para borrar este registro La URL no es válida - No tiene permisos para abrir este evento Adaptando el formulario... Numero receptor @@ -632,7 +619,6 @@ No volver a mostrar la pantalla de bloqueo Establecer pin Conflicto - Este evento no puede tener una fecha en el futuro. Por favor cámbiela. Cambiar fecha Ir atrás Sets de datos diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index f1431b0179a..c8f41b60b4f 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -121,9 +121,6 @@ Latitude Longitude Nouvel événement - échoué l´insérer nouvel événement - événement créé - événement mis à jour Une fois Définitif @@ -136,15 +133,11 @@ La valeur a été enregistrée Aucune période disponible pour sélectionner - Datee d´événement Date d\'échéance Combinaison de catégories JJ/MM/AAAA Annuler Supprimer - Effacer l´événement - Êtes-vous sûr vouloir effacer l´événement? - événement supprimé avec succès Total Date de l\'événement le plus récent @@ -252,7 +245,6 @@ Certains champs nécessitent votre attention. \n Voulez-vous revoir le formulaire ? Vos données n\'ont pas été sauvegardées Si vous retournez maintenant, toute information saisie sera supprimée. - Certains champs obligatoires sont vides:\n%s\nVous pouvez retourner maintenant, mais cet évènement ne pourra etre complété. Supprimer et retourner Certains champs ont des erreurs:\n%s\nVeuillez les vérifier. Des champs obligatoires ne sont pas renseignés. Vous pouvez terminer la saisie et quitter, mais l\'évènement ne peut être complété. @@ -314,7 +306,6 @@ Code QR invalide Cet attribut ne peut pas être ajouté Cette inscription ne peu pas être ajoutée - Cet événement ne peut pas être ajouté Signaler les problèmes à Jira À propos @@ -460,17 +451,14 @@ Terminer Champs avec erreurs Certains champs ont des erreurs. Les valeurs n\'ont pas été enregistrées. Veuillez les vérifier. - Cet evènement peut maintenant etre édité La valeur doit être unique, une coincidence a été trouvée. Elle n\'a pas été sauvegardée. Veuillez vérifier. Une coïncidence dans un domaine unique a été trouvée. Veuillez vérifier le formulaire pour enregistrer l\'inscription. Veuillez patienter Ignorer Re-agender - L\'évènement a été marqué comme ignoré. Il n\'y a pas d\'information pour cet écran En retard Il y a une règle de programme dont le fonctionnement n\'est pas encore actif. Veuillez vérifiez la documentation - Cet évènement n\'a pas encore été créé Pas d\'information pour ce champ Références vides Afin d\'utiliser la connexion par le scanner d\'empreinte digitale vous devez d\'abord vous connecter normalement @@ -527,7 +515,6 @@ Supprimer seulement l\'enrôlement Vous n\'avez pas l\'autorité pour supprimer cette donnée Ceci n\'est pas un lien URL valide - Vous n\'avez pas l\'autorité pour rouvrir cet évènement Adapter le formulaire... Numéro du destinataire @@ -629,7 +616,6 @@ Ne plus afficher l\'écran de verrouillage Définir la broche Conflit - Cet événement ne peut pas avoir de date dans le futur. Veuillez le changer. Date de modification Précédent Ensembles de données diff --git a/app/src/main/res/values-id/strings.xml b/app/src/main/res/values-id/strings.xml index 534ef51df3e..87e9818b844 100644 --- a/app/src/main/res/values-id/strings.xml +++ b/app/src/main/res/values-id/strings.xml @@ -118,9 +118,6 @@ Lintang Bujur Event baru - Gagal menambahkan even baru - Even dibuat - Even diperbarui Satu kali Permanen @@ -133,15 +130,11 @@ Data tersimpan! Tidak ada periode yang dapat dipilih. - Tanggal Event Tanggal jatuh tempo Cat Combo DD/MM/YYYY batal hapus - Hapus even - Apakah Anda yakin akan menghapus even ini? - Even terhapus Total hal yang paling terbaru @@ -246,7 +239,6 @@ Beberapa bidang wajib tidak ada. Jika Anda ingin kembali, silakan isi. Data Anda tidak disimpan Jika Anda kembali sekarang, semua informasi yang dimasukkan akan dihapus. - Beberapa bidang wajib tidak ada:\n%s\nAnda dapat kembali sekarang, tetapi even ini tidak akan dapat diselesaikan. Hapus dan kembali Beberapa parameter terjadi kesalahan:\n 1 %s \n Mohon, diperiksa Beberapa bidang wajib tidak ada. Anda dapat menyelesaikan entri data dan keluar, tetapi even tidak dapat diselesaikan. @@ -308,7 +300,6 @@ Kode QR tidak valid Atribut ini tidak dapat ditambahkan Pendaftaran ini tidak dapat ditambahkan - Even ini tidak dapat ditambahkan Laporkan Masalah Jira Tentang @@ -451,17 +442,14 @@ Selesai Parameter dengan kesalahan Beberapa parameter terdapat kesalahan. Parameter ini belum disimpan. Mohon periksa kembali - Even ini sekarang dapat diedit Nilai harus unik, kebetulan telah ditemukan. Itu belum disimpan. Tolong diperiksa. Sebuah kebetulan di bidang yang unik telah ditemukan. Silakan periksa formulir untuk menyimpan Pendaftaran. Mohon tunggu Lewati Jadwal ulang - Even ditandai sebagai dilewati Tidak ada informasi untuk layar ini Lewat waktu Terdapat satu aturan program yang tidak didukung. Silakan periksa dokumentasi - Even ini belum dibuat Tidak ada info untuk bidang ini Kredensial Kosong Untuk dapat login menggunakan pemindai sidik jari, Anda terlebih dahulu harus menggunakan cara default @@ -517,7 +505,6 @@ Hapus pendaftaran saja Anda tidak memiliki wewenang untuk menghapus catatan ini Ini bukan url yang valid - Anda tidak memiliki wewenang untuk membuka kembali acara ini Menyesuaikan formulir… Nomor penerima @@ -729,7 +716,6 @@ Jangan tampilkan layar kunci lagi Setel pin Konflik - Even ini tidak dapat memiliki tanggal di masa mendatang. Silakan ubah. Ganti tanggal Kembali Data set diff --git a/app/src/main/res/values-km/strings.xml b/app/src/main/res/values-km/strings.xml index def272d7ef1..4aa68b5ac8e 100644 --- a/app/src/main/res/values-km/strings.xml +++ b/app/src/main/res/values-km/strings.xml @@ -90,22 +90,15 @@ រយៈទទឹង រយៈបណ្តោយ ព្រឹត្តិការណ៏ថ្មី - បរាជ័យក្នុងការបន្ថែមព្រឹត្តិការណ៏ថ្មី - ព្រឹត្តិការណ៏ត្រូវបានបង្កើត - ព្រឹត្តិការណ៏ត្រូវបានធ្វើបច្ចុប្បន្នភាព មួយពេល អចិន្ត្រៃយ៍ - ថ្ងៃខែឆ្នាំរបស់ព្រឹត្តិការណ៏ កាលបរិច្ឆេទកំណត់ ប្រភេទបន្សំចូលគ្នា ថ្ងៃថ្ងៃ/ខែខែ/ឆ្នាំឆ្នាំឆ្នាំឆ្នាំ បោះបង់ ​លុប​ - លុបចោលព្រឹត្តិការណ៏ - តើអ្នកច្បាស់ទេថាចង់លុបចោលព្រឹត្តិការណ៏នេះ? - ព្រឹត្តិការណ៏បានលុបជោគជ័យ បញ្ជីចុះឈ្មោះ កម្មវិធីដំណើរការ @@ -221,7 +214,6 @@ លេខកូដ QR មិនត្រឹមត្រូវ Attribute (លក្ខណៈនេះ) មិនអាចត្រូវបានបន្ថែមទេ ការចុះឈ្មោះនេះមិនអាចបន្ថែមបានឡើយ - ព្រឹត្តិការណ៏នេះមិនអាចបន្ថែមបានឡើយ រាយការណ៏បញ្ហា Jira អំពី diff --git a/app/src/main/res/values-lo/strings.xml b/app/src/main/res/values-lo/strings.xml index cf913256072..1d4863713e1 100644 --- a/app/src/main/res/values-lo/strings.xml +++ b/app/src/main/res/values-lo/strings.xml @@ -116,9 +116,6 @@ ເສັ້ນຂະໜານ ເສັ້ນແວງ ກໍລະນີໃໝ່ - ການເພີ່ມກໍລະນີໃໝ່ເຂົ້າຫຼົມເຫວ - ກໍລະນີທີ່ໄດ້ຖືກສ້າງຂື້ນ - ກໍລະນີທີ່ໄດ້ຖືກປັບປຸງ ເທື່ອດຽວ ຖາວອນ @@ -129,15 +126,11 @@ ປະຫຍັດຄ່າ! ບໍ່ມີໄລຍະເວລາທີຈະເລືອກ - ວັນທີເຫດການ ວັນທີຕ້ອງແລ້ວ ລາຍການທີ່ໃຫ້ເລືອກ ວ/ດ/ປ ຍົກເລີກ ລົບ - ລືບກໍລະນີອອກ - ທ່ານໝັ້ນໃຈບໍ ວ່າທ່ານຕ້ອງການລືບກໍລະນີນີ້ອອກ? - ກໍລະນີນີ້ໄດ້ຖືກລືບອອກຮຽບຮ້ອຍແລ້ວ ລວມ ວັນທີເຫດການຄັ້ງຫຼ້າສຸດ @@ -241,7 +234,6 @@ ບາງຊ່ອງຂໍ້ມູນຈຳເປັນຕ້ອງດຳເນີນການຂອງທ່ານ.\n ທ່ານຕ້ອງການກວດສອບແບບຟອມຫຼືບໍ? ຂໍ້ມູນຂອງທ່ານບໍ່ໄດ້ບັນທຶກ ຖ້າທ່ານກັບຄືນຕອນນີ້ ຂໍ້ມູນທີ່ປ້ອນທັ້ງໝົດຈະຖຶກລົບ - ຫ້ອງປ້ອນຂໍ້ມູນຈໍານວນໜື່ງບໍ່ເຫັນ. \n %s ດຽວນີ້ ທ່ານສາມາດກັບຄືນ, ແຕ່ຂໍ່ມູນຂອງເຫດການນີ້ຈະຍັງບໍ່ສາມາດບັນທຶກໄດ້ ລືບຂໍ້ມູນ ແລະ ກັບຄືນ ບາງຊ່ອງມີຂໍ້ຜິດພາດ, %s ກະລຸນາກວດສອບ ຊ່ອງປ້ອນຂໍ້ມູນຈໍານວນໜື່ງບໍ່ເຫັນ. ທ່ານສາມາດປ້ອນຂໍ້ມູນ ແລະ ອອກໄດ້, ແຕ່ເຫດການຈະບໍ່ສາມາດເຮັດໃຫ້ສຳເລັດໄດ້ @@ -303,7 +295,6 @@ ລະຫັດ QR ບໍ່ຖືກ ຄຸນລັກສະນະອັນນີ້ບໍ່ສາມາດປ້ອນເຂົ້າໄດ້ ການຂື້ນທະບຽນນີ້ບໍ່ສາມາດປ້ອນເຂົ້າໄດ້ - ກໍລະນີນີ້ບໍ່ສາມາດປ້ອນເຂົ້າໄດ້ ລາຍງານບັນຫາໃຫ້ Jira ກ່ຽວກັບ @@ -447,17 +438,14 @@ ສີ້ນສຸດ ຂໍ້ມູນມີຂໍ້ຜິດພາດ ບາງຊ່ອງຂໍ້ມູນມີຂໍ້ຜິດພາດ. ຍັງບໍໄດ້ບັນທຶກ ກະລຸນາກວດສອບ - ເຫດການນີ້ບໍ່ສາມາດແກ້ໄຂໄດ້ ຄ່າບໍໍຄວນຊ້ຳກັນ ບັງເອີນໄດ້ຖຶກພົບເຫັນ. ມັນບໍໄດ້ບັນທຶກ. ກະລຸນາກວດສອບ ໄດ້ພົບເຫັນຊ່ອງປ້ອນຂໍ້ມູນທີ່ເປັນເອກະລັກ. ກະລຸນາກວດສອບແບບຟອມເພື່ອບັນທຶກການລົງທະບຽນ ກະລຸນາລໍຖ້າ ຂ້າມ ກຳນົດເວລາໃໝ່ - ເຫດການຖຶກໝາຍວ່າໄດ້ຂ້າມແລ້ວ ບໍ່ມີຂໍ້ມູນສຳລັບໜ້າຈໍນີ້ ກາຍເວລາທີ່ກໍານົດ ມີກົດລະບຽບຂອງສາຍງານໜື່ງຂໍ້ທີບໍໄດ້ຮອງຮັບ. ກະລຸນາກວດສອບເອກະສານ - ເຫດການນີ້ຍັງບໍ່ໄດ້ສ້າງ ບໍ່ມີຂໍ້ມູນສຳລັບຫ້ອງຂໍ້ມູນນີ້ ຂໍ້ມູນປະຈຳຕົວຫວ່າງເປົ່າ ເພື່ອໃຫ້ສາມາດເຂົ້າສູ່ລະບົບໂດຍໃຊ້ເຄື່ອງສະແກນລາຍນິ້ວມື້ ທ່ານຕ້ອງໃຊ້ວິທີເລີ່ມຕົ້ນກ່ອນ @@ -512,7 +500,6 @@ ລົບການລົງທະບຽນເທົ່ານັ້ນ ທ່ານບໍສາມາດທີ່ຈະລົບບັນທຶກນີ້ໄດ້ ຊື່ url ບໍ່ຖຶກຕ້ອງ - ທ່ານບໍສາມາດເປິດເຫດການນີ້ຄືນໄດ້ ກຳລັງປັບຟອມ... ຕົວເລກຜູ້ຮັບ @@ -610,7 +597,6 @@ ບໍ່ຕ້ອງສະແດງລັອກໜ້າຈໍອີກ ຕັ້ງລະຫັດຜ່ານ ຂັດແຍ້ງ - ເຫດການນີ້ບໍ່ສາມາດມີວັນທີໃນອະນາຄົດໄດ້. ກະລຸນາປ່ຽນ. ປ່ຽນວັນທີ ກັບຄືນ ແບບຟອມ diff --git a/app/src/main/res/values-nb/strings.xml b/app/src/main/res/values-nb/strings.xml index e389731bb8b..28ed756261d 100644 --- a/app/src/main/res/values-nb/strings.xml +++ b/app/src/main/res/values-nb/strings.xml @@ -117,9 +117,6 @@ Breddegrad Lengdegrad Ny hendelse - Kunne ikke sette inn ny hendelse - Hendelse opprettet - Hendelse oppdatert En gang Permanent @@ -132,15 +129,11 @@ Verdien er lagret! Det er ingen tilgjengelige perioder å velge. - Hendelsesdato Forfallsdato Kat kombo DD/MM/ÅÅÅÅ Avbryt Slett - Slett hendelse - Er du sikker på at du vil slette denne hendelsen? - Hendelsen ble slettet. Totalt Siste hendelsesdato @@ -246,7 +239,6 @@ Noen obligatoriske felt mangler. Hvis du vil gå tilbake, vennligst fyll inn dem. Dine data er ikke lagret Hvis du går tilbake nå, vil all informasjon som har blitt lagt inn bli slettet. - Noen obligatoriske felt mangler:\n%s\nDu kan gå tilbake nå, men denne hendelsel vil ikke bli fullført. Slett og gå tilbake Noen felt har feil:\n%s\nVennligst, sjekk dem. Noen obligatoriske felter mangler. Du kan fullføre dataregistrering og gå ut, men hendelsen kan ikke fullføres. @@ -308,7 +300,6 @@ Ugyldig QR kode Denne attributten kan ikke legges til Denne registreringen kan ikke legges til - Denne hendelsen kan ikke legges til Rapporter et Jira problem Om @@ -452,17 +443,14 @@ Fullfør Felt som inneholder feil Noen felter inneholder feil. De har ikke blitt lagret. Vennligt, sjekk dem. - Denne hendelsen kan nå bli endret Verdien skal være unik, et sammentreff ble funnet. Det har ikke blitt lagret. Vennligst sjekk det. Et sammentreff i et unikt felt ble funnet. Vennligst sjekk skjema for å lagre registrering. Vennligst vent Hopp over Planlegg på nytt - Denne hendelsen var merket som hoppet over. Det er ingen informasjon for denne skjermen Forfalt Det er ingen programregel som ikke er støttet. Vennligst sjekk dokumentasjonen - Denne hendelsen har ikke blitt opprettet enda Ingen info for dette feltet Tomme opplysninger For å kunne logge inn ved bruk av fingerskanner må du først logge inn på standard måte @@ -516,7 +504,6 @@ Slett kun registrering Du har ikke autoritet til å slette denne oppføringen Dette er ikke en gyldig URL - Du har ikke autoritet til å gjenåpne denne hendelsen Justerer fra... Mottakernummer @@ -618,7 +605,6 @@ Ikke vis igjen, lås skjerm Sett pin Konflikt - Denne hendelsen kan ikke ha en dato i fremtiden. Vennligst endre det. Endre dato Gå tilbake Datasett diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml index 6d2e531c19f..d4c4f8a4deb 100644 --- a/app/src/main/res/values-nl/strings.xml +++ b/app/src/main/res/values-nl/strings.xml @@ -122,9 +122,6 @@ Breedtegraad Lengtegraad Nieuw evenement - Kan geen nieuwe gebeurtenis invoegen - Evenement gemaakt - Evenement bijgewerkt Een keer permanent @@ -137,15 +134,11 @@ Waarde is opgeslagen! Er zijn geen beschikbare periodes om te selecteren. - Evenement datum Deadline Katten combinatie DD/MM/JJJJ Annuleren Verwijder - evenement verwijderen - Weet je zeker dat je dit evenement wilt verwijderen? - Evenement succesvol verwijderd Totaal Datum meest recente evenement @@ -255,7 +248,6 @@ Sommige velden hebben uw aandacht nodig.\Wilt u het formulier bekijken? Uw gegevens worden niet bewaard Als u nu teruggaat, wordt alle ingevoerde informatie verwijderd. - Er ontbreken enkele verplichte velden:\n%s\nJe kunt nu teruggaan, maar dit evenement kan niet worden voltooid. Verwijderen en teruggaan Sommige velden bevatten fouten:\n%s\nControleer ze alsjeblieft. Sommige verplichte velden ontbreken. U kunt het invoeren en afsluiten van gegevens voltooien, maar de gebeurtenis kan niet worden voltooid. @@ -317,7 +309,6 @@ Ongeldige QR-code Dit kenmerk kan niet worden toegevoegd Deze inschrijving kan niet worden toegevoegd - Dit evenement kan niet worden toegevoegd Rapporteer Jira-probleem Over @@ -464,17 +455,14 @@ Finish Velden met fouten Sommige velden bevatten fouten. Ze zijn niet opgeslagen. Controleer ze alsjeblieft. - Dit evenement kan nu worden bewerkt De waarde moet uniek zijn, er is een toeval gevonden. Het is niet opgeslagen. Controleer het alstublieft. Er is een toeval gevonden in een uniek veld. Controleer het formulier om de inschrijving op te slaan. Even geduld alstublieft Overslaan Opnieuw plannen - Het evenement is gemarkeerd als overgeslagen Er is geen informatie voor dit scherm Verlopen Er is één programmaregel die niet wordt ondersteund. Controleer de documentatie - Dit evenement is nog niet aangemaakt Geen info voor dit veld Lege inloggegevens Om in te kunnen loggen met de vingerafdrukscanner moet je eerst de standaardmanier gebruiken @@ -534,7 +522,6 @@ Alleen inschrijving verwijderen U bent niet bevoegd om dit record te verwijderen Dit is geen geldige URL - Je hebt niet de bevoegdheid om dit evenement opnieuw te openen Formulier aanpassen… Ontvanger nummer @@ -635,7 +622,6 @@ Vergrendelscherm niet meer weergeven Speld instellen Conflict - Dit evenement kan geen datum in de toekomst hebben. Wijzig het alstublieft. Verander de datum Ga terug Gegevensreeksen diff --git a/app/src/main/res/values-prs/strings.xml b/app/src/main/res/values-prs/strings.xml index 40fa98d5bb4..8f785365cbb 100644 --- a/app/src/main/res/values-prs/strings.xml +++ b/app/src/main/res/values-prs/strings.xml @@ -34,7 +34,6 @@ معیاد گزارش - تاریخ واقعه موعد مقرر انصراف حذف diff --git a/app/src/main/res/values-ps/strings.xml b/app/src/main/res/values-ps/strings.xml index 0311e51f761..13efdebeb14 100644 --- a/app/src/main/res/values-ps/strings.xml +++ b/app/src/main/res/values-ps/strings.xml @@ -35,7 +35,6 @@ د راپور ورکولو موده - د پېښې نېټه ټاکلې نېټه رد یې کړئ [ ژباړه ـ ردول ] خذف یې کړئ diff --git a/app/src/main/res/values-pt/strings.xml b/app/src/main/res/values-pt/strings.xml index 9b9773f1ba8..554206fb56f 100644 --- a/app/src/main/res/values-pt/strings.xml +++ b/app/src/main/res/values-pt/strings.xml @@ -118,9 +118,6 @@ Latitude Longitude Novo evento - Falha ao inserir novo Evento - Evento criado - Evento atualizado Um tempo Permanente @@ -133,15 +130,11 @@ O valor é salvo! Não há períodos disponíveis para seleção. - Data de incidente Data de vencimento Combinação de categoria DD/MM/AAAA Cancelar Apagar - Suprimir evento - Tem certeza de que deseja excluir este evento? - Evento excluído com sucesso Total Data do evento mais recente @@ -248,7 +241,6 @@ Alguns campos obrigatórios estão ausentes. Se você quiser voltar, por favor preencha-os. Seus dados não são salvos Se você voltar agora, todas as informações inseridas serão excluídas. - Alguns campos obrigatórios estão ausentes:/n%s/nVocê pode voltar agora, mas este evento não poderá ser concluído. Suprimir e voltar Alguns campos têm erros:/n%s/nPor favor, verifique-os. Alguns campos obrigatórios estão ausentes. Você pode concluir a entrada e saída de dados, mas o evento não pode ser concluído. @@ -310,7 +302,6 @@ Código QR inválido Este atributo não pode ser adicionado Esta inscrição não pode ser adicionada - Este evento não pode ser adicionado Relatar problema de Jira Acerca @@ -454,17 +445,14 @@ Terminar Campos com erros Alguns campos possuem erros. Eles não foram salvos. Por favor, verifique-os. - Este evento agora pode ser editado O valor deve ser único, uma coincidência foi encontrada. Não foi salvo. Por favor verifique isto. Foi encontrada uma coincidência em um campo único. Verifique o formulário para salvar a Inscrição. Por favor aguarde... Saltar Reprogramar - O evento foi marcado como ignorado Não há informações para esta tela Atrasado There is one program rule which is not supported. Por favor verifique a documentação - Este evento ainda não foi criado Nenhuma informação para este campo Credenciais Vazias Para poder fazer login usando o scanner de impressão digital você precisa primeiro usar a maneira padrão @@ -518,7 +506,6 @@ Suprimir somente inscrição Você não tem autoridade para suprimir este registro Este url não é válido - Você não tem autoridade para reabrir este evento Ajustando formulário... Número do receptor @@ -620,7 +607,6 @@ Não mostrar novamente a tela de bloqueio Definir pino Conflito - Este evento não pode ter uma data no futuro. Por favor mude. Mudar data Voltar Agregação de Dados diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index 773fb58e96a..35154215422 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -39,7 +39,6 @@ Отчет за период - Дата события Дата выполнения Отмена Удалить diff --git a/app/src/main/res/values-sv/strings.xml b/app/src/main/res/values-sv/strings.xml index 740daf29699..dff2b914934 100644 --- a/app/src/main/res/values-sv/strings.xml +++ b/app/src/main/res/values-sv/strings.xml @@ -88,20 +88,13 @@ Latitud Longitud Ny händelse - Det gick inte att spara ny händelse - Händelse skapad - Händelse uppdaterad En gång - Händelse datum Förfallodatum Kategori kombination DD/MM/ÅÅÅÅ Avbryt Radera - Ta bort händelse - Är du säker på att du vill radera den här händelsen? - Händelse raderats Totalt Inskrivningslista @@ -218,7 +211,6 @@ Ogiltig QR-kod Det här attributet kan inte läggas till Denna inskrivning kan inte läggas till - Den här händelsen kan inte läggas till Rapportera ett problem i JIRA Handla om diff --git a/app/src/main/res/values-uk/strings.xml b/app/src/main/res/values-uk/strings.xml index 3d5dacdfac7..95d93db854b 100644 --- a/app/src/main/res/values-uk/strings.xml +++ b/app/src/main/res/values-uk/strings.xml @@ -124,9 +124,6 @@ Широта Довгота Нова подія - Не вдалося додати новий випадок - Випадок створено - Випадок оновлено Одноразово Постійно @@ -139,15 +136,11 @@ Значення збережено! Немає доступних періодів для вибору. - Дата події Дата виконання Комбінація категорій ДД/ММ/РРРР Скасувати Видалити - Видалити випадок - Ви впевнені, що хочете видалити цей випадок? - Випадок успішно видалено Підсумок Дата останнього випадку @@ -256,7 +249,6 @@ Деякі поля потребують Вашої уваги. Бажаєте переглянути форму? Ваші дані не збережено Якщо Ви зараз повернетеся назад, уся введена інформація буде видалена. - Деякі обов’язкові поля не заповнено:%s Ви можете повернутися назад зараз, але цей випадок не можна буде завершити. Видалити та повернутися назад У деяких полях є помилки:%s Будь ласка, перевірте їх. Деякі обов’язкові поля не заповнено. Ви можете завершити введення даних і вийти, але випадок не може бути завершений. @@ -318,7 +310,6 @@ Невірний QR-код Цей атрибут не можна додати Цю реєстрацію не можна додати - Цей випадок неможливо додати Повідомити про проблему Jira Про @@ -465,17 +456,14 @@ Закінчити Поля з помилками У деяких полях є помилки. Вони не збереглися. Будь ласка, перевірте їх. - Цей випадок тепер можна редагувати Значення має бути унікальним, знайдено збіг. Значення не збереглось. Будь ласка, перевірте це. Виявлено збіг в унікальному полі. Будь ласка, перевірте форму, щоб зберегти реєстрацію. Будь ласка, почекайте Пропустити Перепланувати - Випадок позначено як пропущений Для цієї частини немає інформації Прострочене Є одне правило програми, яке не підтримується. Будь ласка, зверніться до інструкції - Цей випадок ще не зареєстровано Немає інформації для цього поля Порожні облікові дані Щоб мати можливість увійти за допомогою сканера відбитків пальців, спочатку потрібно використовувати спосіб за замовчуванням @@ -532,7 +520,6 @@ Видалити лише реєстрацію Ви не маєте повноважень видаляти цей запис Це недійсна URL-адреса - Ви не маєте повноважень повторно відкривати цей випадок Коригування форми… Номер одержувача @@ -634,7 +621,6 @@ Більше не показувати екран блокування Встановити PIN Помилка - Цей випадок не може мати дату в майбутньому. Будь ласка, виправте це. Змінити дату Повернутися Набори даних diff --git a/app/src/main/res/values-ur/strings.xml b/app/src/main/res/values-ur/strings.xml index 25f265397a5..b282373b810 100644 --- a/app/src/main/res/values-ur/strings.xml +++ b/app/src/main/res/values-ur/strings.xml @@ -36,7 +36,6 @@ لمبائی نئی تقریب - واقعہ کی تاریخ اخری تاریخ منسوخ حذف diff --git a/app/src/main/res/values-uz/strings.xml b/app/src/main/res/values-uz/strings.xml index f6fae6ecd4b..8733dee9f39 100644 --- a/app/src/main/res/values-uz/strings.xml +++ b/app/src/main/res/values-uz/strings.xml @@ -118,9 +118,6 @@ Кенглик Узунлик Янги тадбир - Янги тадбирни киритиш амалга ошмади - Тадбир яратилди - Тадбир янгиланди Бир марта Доимий @@ -133,15 +130,11 @@ Қиймат сақланди! Танлаш учун яроқли давр мавжуд эмас - Ҳодиса/Тадбир санаси Муддати Категория комбинацияси КК/ОО/ЙЙЙЙ Бекор қилиш Ўчириб ташлаш - Ҳодиса/Тадбирни ўчириб ташлаш - Ҳақиқатдан ҳам ушбу ҳодиса/тадбирни ўчириб ташламоқчимисиз? - Тадбир муваффақиятли ўчириб ташланди Жами Охирги тадбир санаси @@ -246,7 +239,6 @@ Баъзи мажбурий майдонлар қолдириб кетилган. Агар орқага қайтмоқчи бўлсангиз, Илтимос, уларни тўлдиринг. Маълумотингиз сақланмади Агарда ҳозир орқага қайтсангиз, барча киритилган маълумотлар ўчирилади. - Баъзи мажбурий майдонлар қолдириб кетилган: \n %sда\n. Ҳозир орқага қайта оласиз, аммо бу ҳолда ҳодиса/тадбирни якунлаб бўлмайди. Ўчириб ташлаш ва орқага қайтиш Баъзи маълумотларда хатоликлар мавжуд: \n%s\. Илтимос, уларни текширинг. Баъзи мажбурий майдонлар қолдириб кетилган. Сиз маълумотларни киритишни якунлаб чиқишингиз мумкин. Аммо бу ҳолда ҳодиса/тадбирни якунлаб бўлмайди. @@ -308,7 +300,6 @@ QR код яроқсиз Ушбу атрибутларрни қўшиб бўлмади Ушбу қайдларни қўшиб бўлмади - Ушбу ҳодиса/тадбирни қўшиб бўлмади Jira нашри учун хабар бериш Ҳақида @@ -452,17 +443,14 @@ Тугатиш Хатоликлар мавжуд бўлган майдонлар Баъзи майдонларда хатоликлар мавжуд.Улар сақланмади. Илтимос,, уларни текшириб кўринг. - Ушбу ҳодиса/тадбирни энди таҳрир қилиш мумкин Қиймат ноёб бўлиши лозим, бир бирига ўхшаш топилди. У сақланмади. Илтимос, текшириб кўриш. Ноёб соҳада бир бирига ўхшаш қиймат топилди. Рўйхатдан ўтишни сақлаш учун формани текшириш. Илтимос, кутинг Ўтказиб юбориш Қайта режаланг - Ҳодиса/тадбир ўтказиб юборилган деб белгиланди Ушбу экрандаги ҳақида маълумот йўқ Муддат ўтган Бу ерда дастурнинг қўллаб қувватланмайдиган бир қоидаси мавжуд. Илтимос, ҳужжатларни текширинг. - Ушбу ҳодиса/дастур ҳали яратилмаган Ушбу майдон учун маълумот йўқ Ишонч ёрлиқлари бўш Бармоқ излари сканери ёрдамида тизимга кириш учун аввал стандарт усулдан фойдаланишингиз керак @@ -518,7 +506,6 @@ Фақат қайдларни ўчириб ташлаш Ҳуқуқингиз чегараланганлиги сабабни ушбу ёзувни ўчириб ташлолмайсиз Бу ҳақиқий URL эмас - Ушбу ҳодиса/тадбирни қайта очишга ваколатингиз йўқ Шакл созланмоқда... Қабул қилувчининг рақами @@ -620,7 +607,6 @@ Блокланган экранни қайта кўрсатмаслик ПИН кодни ўрнатинг Номутаносиблик - Ушбу ҳодиса/тадбирнинг санаси келажакда бўлиши мумкин эмас. Илтимос, ўзгартиринг Санани ўзгартириш Орқага қайтинг Маълумотлар тўплами diff --git a/app/src/main/res/values-vi/strings.xml b/app/src/main/res/values-vi/strings.xml index 83c4c331b65..8c8d1c11e84 100644 --- a/app/src/main/res/values-vi/strings.xml +++ b/app/src/main/res/values-vi/strings.xml @@ -119,9 +119,6 @@ Vĩ độ Kinh độ Sự kiện mới - Lỗi khi thêm Sự Kiện mới - Sự kiện đã tạo - Sự kiện đã cập nhật Một lần Cố định @@ -134,15 +131,11 @@ Giá trị đã được lưu! Không có thời điểm để chọn. - Ngày sự kiện Ngày đến hạn Tổ hợp Phân Loại DD/MM/YYYY Hủy Xóa - Xóa sự kiện - Bạn có chắc chắn muốn xóa sự kiện này? - Sự kiện đã được xóa Tổng số Ngày sự kiện gần nhất @@ -248,7 +241,6 @@ Một số trường dữ liệu cần bạn chú ý.\n Bạn có muốn xem xét biểu nhập không? Dữ liệu của bạn chưa được lưu Nếu bạn quay lại bây giờ, tất cả thông tin đã nhập sẽ bị xóa. - Một số trường bắt buộc nhập bị thiếu:\n %s\n Bạn có thể quay trở lại bây giờ, nhưng sự kiện này sẽ không thể hoàn tất. Xóa và quay lại Một vài trường dữ liệu có lỗi:\n %s\nVui lòng kiểm tra. Một số trường bắt buộc bị thiếu. Bạn có thể lưu biểu nhập và tắt, nhưng sự kiện chưa hoàn tất. @@ -310,7 +302,6 @@ Mã QR không hợp lệ Không thể thêm thuộc tính này Không thể đăng ký - Không thể thêm sự kiện này Báo cáo vấn đề lên Jira Giới thiệu @@ -457,17 +448,14 @@ Lưu Các trường dữ liệu có lỗi Một số trường dữ liệu có lỗi. Chúng chưa được lưu. Xin vui lòng kiểm tra lại. - Bây giờ sự kiện này có thể chỉnh sửa Giá trị phải là duy nhất, có một giá trị bị trùng. Nó chưa được lưu lại. Xin vui lòng kiểm tra. Có một sự trùng lặp trong trường duy nhất. Xin vui lòng kiểm tra lại biểu nhập để lưu Đăng ký này. Xin vui lòng đợi Bỏ qua Sửa lịch hẹn - Sự kiện đã được đánh dấu là đã bỏ qua Không có thông tin cho màn hình này Quá hạn Có một quy tắc chương trình không được hỗ trợ. Vui lòng kiểm tra tài liệu. - Sự kiện này chưa được tạo. Không có thông tin cho trường dữ liệu này Xóa hết thông tin đăng nhập Để có thể đăng nhập bằng cách sử dụng máy quét dấu vân tay, trước tiên bạn cần phải sử dụng cách mặc định. @@ -524,7 +512,6 @@ Chỉ xóa đăng ký Bạn không có quyền để xóa dữ liệu này Đường dẫn liên kết không đúng - Bạn không có quyền để mở-lại sự kiện này. Đang điều chỉnh biểu nhập... Số người nhận @@ -626,7 +613,6 @@ Không hiển thị lại màn hình khóa Cài đặt mã pin Xung đột - Sự kiện này không thể có ngày trong tương lai. Vui lòng thay đổi nó. Thay đổi ngày Trở lại Biểu nhập diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index c5300ba88ad..06dff43ec73 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -116,9 +116,6 @@ 维度 经度 新事件 - 插入新事件失败 - 事件已经创建 - 事件已经更新 一次 永远 @@ -131,15 +128,11 @@ 值已被保存 没有可用期间可选 - 事件日期 到期日期 分类选择框 DD/MM/YYYY 取消 删除 - 删除事件 - 你确定删除事件 - 事件删除成功 总共 最近事件日期 @@ -245,7 +238,6 @@ 有些强制字段缺失,如果你后退,请填充他们 你的数据已经被保存 如果退回,所有输入信息将被删除 - 有些强制字段缺少值:%s。 你现在可以退回,但该事件不能被完成。 删除并后退 有些字段有错误:%s。 \n 请检查。 有些强制字段缺失。你可以完成数据录入并退出,但不能完成该事件。 @@ -307,7 +299,6 @@ 无效的二维码 该属性不能被添加 该注册不能添加 - 该事件不能添加 报告Jira问题 关于 @@ -451,17 +442,14 @@ 保存 有错误的字段 有些字段有错误,他们已经保存,请检查。 - 该事件可以编辑了。 值应该唯一,发现相同的。还没有保存,请检查。 唯一字段发现相同的,请检查表单 以便保存注册 请等待 跳过 重新调度 - 事件被标记为跳过 该屏没有信息 逾期 存在不支持的项目规则,请检查文档。 - 事件还没有创建 该字段没有相关信息 空证书 为了能够使用指纹扫描器,你需要先使用缺省的方法 @@ -515,7 +503,6 @@ 仅仅删除注册 你没有删除记录的权限 没有有效的URL - 你没有打开该事件的权限。 调整表单。。。 接收号码 @@ -617,7 +604,6 @@ 不再显示锁屏 设置PIN 冲突 - 事件不能有将来的时间,请修改 改变日期 后退 数据集 diff --git a/app/src/main/res/values-zh/strings.xml b/app/src/main/res/values-zh/strings.xml index 724625f3807..fc95716eb2b 100644 --- a/app/src/main/res/values-zh/strings.xml +++ b/app/src/main/res/values-zh/strings.xml @@ -121,9 +121,6 @@ 纬度 经度 新事件 - 插入新事件失败 - 事件已经创建 - 事件已经更新 一次 永远 @@ -136,15 +133,11 @@ 值已被保存 没有可用期间可选 - 事故日期 到期日期 分类选择框 DD/MM/YYYY 取消 删除 - 删除事件 - 你确定删除事件 - 事件删除成功 总共 最近事件日期 @@ -250,7 +243,6 @@ 某些字段需要您注意。\n您要查看表单吗? 你的数据已经被保存 如果退回,所有输入信息将被删除 - 有些强制字段缺少值:%s。 你现在可以退回,但该事件不能被完成。 删除并后退 有些字段有错误:%s。 \n 请检查。 有些强制字段缺失。你可以完成数据录入并退出,但不能完成该事件。 @@ -312,7 +304,6 @@ 无效的二维码 该属性不能被添加 该注册不能添加 - 该事件不能添加 报告Jira问题 关于 @@ -459,17 +450,14 @@ 保存 有错误的字段 有些字段有错误,他们已经保存,请检查。 - 该事件可以编辑了。 值应该唯一,发现相同的。还没有保存,请检查。 唯一字段发现相同的,请检查表单 以便保存注册 请等待..... 跳过 重新调度 - 事件被标记为跳过 该屏没有信息 逾期 存在不支持的项目规则,请检查文档。 - 事件还没有创建 该字段没有相关信息 空证书 为了能够使用指纹扫描器,你需要先使用缺省的方法 @@ -526,7 +514,6 @@ 仅仅删除注册 你没有删除记录的权限 没有有效的URL - 你没有打开该事件的权限。 调整表单。。。 接收号码 @@ -628,7 +615,6 @@ 不再显示锁屏 设置PIN 冲突 - 事件不能有将来的时间,请修改 改变日期 后退 数据集 diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index a6240e2fb7d..e42dec17748 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -95,13 +95,6 @@ Open Event completed - Event skipped - Event schedule - Event expired - Editing expired - Event accepted - Event approved - Event inactive Read only Finish and complete Completed @@ -133,9 +126,6 @@ Latitude Longitude New event - Failed to insert new Event - Event created - Event updated Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. One time Permanent @@ -149,15 +139,11 @@ Value is saved! There is no available periods to select. - Event date Due date Cat combo DD/MM/YYYY Cancel Delete - Delete event - Are you sure that you want to delete this event? - Event deleted successfully Total Most recent event date No options available @@ -269,7 +255,6 @@ Some fields need your attention.\nDo you want to review the form? Your data is not saved If you go back now all information entered will be deleted. - Some mandatory fields are missing:\n%s\nYou can go back now, but this event won\'t be able to be completed. Delete and go back Some fields have errors:\n%s\nPlease, check them. Some mandatory fields are missing. You can finish data entry and exit, but the event cannot be completed. @@ -331,7 +316,6 @@ Invalid QR code This attribute can\'t be added This enrollment can\'t be added - This event can\'t be added Report Jira Issue About @@ -478,17 +462,14 @@ Finish Fields with errors Some fields have errors. They have not been saved. Please, check them. - This event can now be edited The value should be unique, a coincidence has been found. It has not been saved. Please check it. A coincidence in a unique field has been found. Please check form to save Enrollment. Please wait Skip Reschedule - The event was marked as skipped There is no information for this screen Overdue There is one program rule which is not supported. Please check the documentation - This event has not been created yet No info for this field Empty Credentials To be able to log in using the fingerprint scanner you first need to use the default way @@ -548,7 +529,6 @@ Delete enrollment only You do not have the authority to delete this record This is not a valid url - You do not have the authority to re-open this event Adjusting form… Receiver number @@ -650,7 +630,6 @@ Don´t show again lock screen Set pin Conflict - This event can\'t have a date in the future. Please change it. Change date Go back Data sets diff --git a/commons/src/main/java/org/dhis2/commons/resources/D2ErrorUtils.kt b/commons/src/main/java/org/dhis2/commons/resources/D2ErrorUtils.kt index aa6332b5bac..53bdeced3ec 100644 --- a/commons/src/main/java/org/dhis2/commons/resources/D2ErrorUtils.kt +++ b/commons/src/main/java/org/dhis2/commons/resources/D2ErrorUtils.kt @@ -152,6 +152,7 @@ class D2ErrorUtils( } else { context.getString(R.string.error_no_internet_connection) } + else -> "" } } } diff --git a/commons/src/main/java/org/dhis2/commons/resources/ResourceManager.kt b/commons/src/main/java/org/dhis2/commons/resources/ResourceManager.kt index 7b19d4ec53b..4409775a5e2 100644 --- a/commons/src/main/java/org/dhis2/commons/resources/ResourceManager.kt +++ b/commons/src/main/java/org/dhis2/commons/resources/ResourceManager.kt @@ -4,6 +4,8 @@ import android.content.Context import androidx.annotation.DrawableRes import androidx.annotation.PluralsRes import androidx.annotation.StringRes +import androidx.compose.ui.text.capitalize +import androidx.compose.ui.text.intl.Locale import androidx.core.content.ContextCompat import org.dhis2.commons.R import org.dhis2.commons.network.NetworkUtils @@ -70,6 +72,38 @@ class ResourceManager( .getErrorMessage(throwable) fun defaultEventLabel(): String = getWrapperContext().getString(R.string.events) + fun getEventLabel( + programStageUid: String? = null, + quantity: Int = 1, + ) = try { + D2Manager.getD2().programModule() + .programStages().uid(programStageUid) + .blockingGet()?.eventLabel() + } catch (e: Exception) { + null + } ?: getPlural(R.plurals.event_label, quantity) + + fun formatWithEventLabel( + @StringRes stringResource: Int, + programStageUid: String? = null, + quantity: Int = 1, + formatWithQuantity: Boolean = false, + ): String { + val eventLabel = getEventLabel(programStageUid, quantity) + return with(getString(stringResource)) { + val finalLabel = if (this@with.startsWith("%s")) { + eventLabel.capitalize(Locale.current) + } else { + eventLabel + } + if (formatWithQuantity) { + format(quantity, finalLabel) + } else { + format(finalLabel) + } + } + } + fun defaultDataSetLabel(): String = getWrapperContext().getString(R.string.data_sets) fun defaultTeiLabel(): String = getWrapperContext().getString(R.string.tei) fun jiraIssueSentMessage(): String = getWrapperContext().getString(R.string.jira_issue_sent) diff --git a/commons/src/main/res/values-ar/strings.xml b/commons/src/main/res/values-ar/strings.xml index 5e0df2dc8b9..da62ba27df3 100644 --- a/commons/src/main/res/values-ar/strings.xml +++ b/commons/src/main/res/values-ar/strings.xml @@ -1,6 +1,5 @@ - حدث لا توجد بيانات تغيير طريقة عرض التقويم تصفية @@ -16,7 +15,6 @@ التحليلات المهام البرامج - الأحداث العلاقات الملاحظات إدخال البيانات diff --git a/commons/src/main/res/values-b+uz+Cyrl/strings.xml b/commons/src/main/res/values-b+uz+Cyrl/strings.xml index a11a57e7247..27515433354 100644 --- a/commons/src/main/res/values-b+uz+Cyrl/strings.xml +++ b/commons/src/main/res/values-b+uz+Cyrl/strings.xml @@ -1,6 +1,5 @@ - Ҳодиса/Тадбир Маълумот йўқ Маълумот \ No newline at end of file diff --git a/commons/src/main/res/values-b+uz+Latn/strings.xml b/commons/src/main/res/values-b+uz+Latn/strings.xml index d3b6621e438..03ea4e2e17b 100644 --- a/commons/src/main/res/values-b+uz+Latn/strings.xml +++ b/commons/src/main/res/values-b+uz+Latn/strings.xml @@ -1,6 +1,5 @@ - Hodisa/Tadbir Maʼlumot yoʼq Taqvim koʼrinishini oʼzgartirish aniq @@ -16,7 +15,6 @@ Аnalitika Vazifalar Dasturlar - Hodisa/tadbirlar Oʼzaro aloqalar Izohlar Maʼlumot kiritish diff --git a/commons/src/main/res/values-cs/strings.xml b/commons/src/main/res/values-cs/strings.xml index 85f7b694b3e..e2bd85edbc7 100644 --- a/commons/src/main/res/values-cs/strings.xml +++ b/commons/src/main/res/values-cs/strings.xml @@ -1,6 +1,5 @@ - Událost Nejsou data Konfigurace funkcí Změnit zobrazení kalendáře @@ -17,7 +16,6 @@ Analytika Úkoly Programy - Události Vztahy Poznámky Vstup dat diff --git a/commons/src/main/res/values-es/strings.xml b/commons/src/main/res/values-es/strings.xml index ff4807d5748..5f60ed38e4c 100644 --- a/commons/src/main/res/values-es/strings.xml +++ b/commons/src/main/res/values-es/strings.xml @@ -1,6 +1,5 @@ - Evento No hay datos Configuración de funciones Cambiar vista @@ -17,7 +16,6 @@ Analíticas Tareas Programas - Eventos Relaciones Notas Introducción de datos diff --git a/commons/src/main/res/values-fr/strings.xml b/commons/src/main/res/values-fr/strings.xml index bd071215086..547ed1ba25d 100644 --- a/commons/src/main/res/values-fr/strings.xml +++ b/commons/src/main/res/values-fr/strings.xml @@ -1,6 +1,5 @@ - Évènement Aucune donnée Changer de vue calendrier Effacer @@ -16,7 +15,6 @@ Analytiques Tâches Programmes - Événements Relations Notes Saisie de données diff --git a/commons/src/main/res/values-id/strings.xml b/commons/src/main/res/values-id/strings.xml index 02f533d8603..68affb8eb97 100644 --- a/commons/src/main/res/values-id/strings.xml +++ b/commons/src/main/res/values-id/strings.xml @@ -1,6 +1,5 @@ - Even Tidak ada data Ubah tampilan kalender Kosongkan @@ -16,7 +15,6 @@ Analitik Tugas Program-program - Even Hubungan Catatan Data entri diff --git a/commons/src/main/res/values-lo/strings.xml b/commons/src/main/res/values-lo/strings.xml index 408f6ab0882..aabc6080f60 100644 --- a/commons/src/main/res/values-lo/strings.xml +++ b/commons/src/main/res/values-lo/strings.xml @@ -1,6 +1,5 @@ - ເຫດການ ບໍ່ມີຂໍ້ມູນ ປ່ຽນຮູບແບບປະຕິທິນ ຈັດມ້ຽນ @@ -14,7 +13,6 @@ ເບີ່ງຕາຕະລາງ ການວິເຄາະ ສາຍງານ - ເຫດການ ສາຍພົວພັນ ຂໍ້ຄວາມ ປ້ອນຂໍ້ມູນ diff --git a/commons/src/main/res/values-nb/strings.xml b/commons/src/main/res/values-nb/strings.xml index 1f7b9233123..7829802417b 100644 --- a/commons/src/main/res/values-nb/strings.xml +++ b/commons/src/main/res/values-nb/strings.xml @@ -1,6 +1,5 @@ - Hendelse Ingen data Endre kalendervisning tøm @@ -16,7 +15,6 @@ Analyser Oppgaver Programmer - Hendelser Relasjoner Notater Dataregistrering diff --git a/commons/src/main/res/values-nl/strings.xml b/commons/src/main/res/values-nl/strings.xml index 669d5d46ddb..1116ef15efb 100644 --- a/commons/src/main/res/values-nl/strings.xml +++ b/commons/src/main/res/values-nl/strings.xml @@ -1,6 +1,5 @@ - Gebeurtenis Geen gegevens Functieconfiguratie Agendaweergave wijzigen @@ -17,7 +16,6 @@ Analyse Taken Programma\'s - Gebeurtenissen Relaties Notities Gegevensinvoer diff --git a/commons/src/main/res/values-pt/strings.xml b/commons/src/main/res/values-pt/strings.xml index bec576b277d..dd916672b7f 100644 --- a/commons/src/main/res/values-pt/strings.xml +++ b/commons/src/main/res/values-pt/strings.xml @@ -1,6 +1,5 @@ - Evento Não ha dados Alterar visualização da agenda claro @@ -16,7 +15,6 @@ Google Analytics Tarefas Programas - Eventos Relacionamentos Notas Entrada de dados diff --git a/commons/src/main/res/values-uk/strings.xml b/commons/src/main/res/values-uk/strings.xml index 64a8c768aa9..fbfbe1e7576 100644 --- a/commons/src/main/res/values-uk/strings.xml +++ b/commons/src/main/res/values-uk/strings.xml @@ -1,6 +1,5 @@ - Випадок Немає даних Конфігурація функції Змінити вид календаря @@ -17,7 +16,6 @@ Аналітика Завдання Програми - Випадки Зв\'язки Примітки Введення даних diff --git a/commons/src/main/res/values-uz/strings.xml b/commons/src/main/res/values-uz/strings.xml index ae187612534..e879d87b4bd 100644 --- a/commons/src/main/res/values-uz/strings.xml +++ b/commons/src/main/res/values-uz/strings.xml @@ -1,6 +1,5 @@ - Ҳодиса/Тадбир Маълумот йўқ Тақвим кўринишини ўзгартириш аниқ @@ -16,7 +15,6 @@ Аналитика Вазифалар Дастурлар - Ҳодиса/Тадбирлар Ўзаро алоқалар Изоҳлар Маълумот киритиш diff --git a/commons/src/main/res/values-vi/strings.xml b/commons/src/main/res/values-vi/strings.xml index b20700f7425..9c241ed62da 100644 --- a/commons/src/main/res/values-vi/strings.xml +++ b/commons/src/main/res/values-vi/strings.xml @@ -1,6 +1,5 @@ - Sự Kiện Không có dữ liệu Cấu hình chức năng Thay đổi xem lịch @@ -17,7 +16,6 @@ Phân tích Nhiệm vụ Chương trình - Sự kiện Mối quan hệ Ghi Chú Nhập dữ liệu diff --git a/commons/src/main/res/values-zh-rCN/strings.xml b/commons/src/main/res/values-zh-rCN/strings.xml index 6faa1d56709..1f17017bd8b 100644 --- a/commons/src/main/res/values-zh-rCN/strings.xml +++ b/commons/src/main/res/values-zh-rCN/strings.xml @@ -1,6 +1,5 @@ - 事件 无数据 改变日历视图。 清除 @@ -16,7 +15,6 @@ 分析 任务 项目 - 事件 关系 笔记 数据输入 diff --git a/commons/src/main/res/values-zh/strings.xml b/commons/src/main/res/values-zh/strings.xml index e2990b7c2fb..47f0d70e82d 100644 --- a/commons/src/main/res/values-zh/strings.xml +++ b/commons/src/main/res/values-zh/strings.xml @@ -1,6 +1,5 @@ - 事件 无数据 特征配置 改变日历视图。 @@ -17,7 +16,6 @@ 分析工具 任务 项目 - 事件 关系 笔记 数据输入 diff --git a/commons/src/main/res/values/strings.xml b/commons/src/main/res/values/strings.xml index 537fd500d8a..bed79327176 100644 --- a/commons/src/main/res/values/strings.xml +++ b/commons/src/main/res/values/strings.xml @@ -1,6 +1,5 @@ - Event No data Feature Configuration Commons @@ -18,7 +17,6 @@ Analytics Tasks Programs - Events Relationships Notes Data entry @@ -240,4 +238,23 @@ %d years overdue Open with + + + + event + events + + %s completed + %s created + New %s + %s date + Delete %s + %s deleted successfully + This %s has not been created yet + The %s was marked as skipped + Are you sure that you want to delete this %s? + %s updated + This %s can\'t have a date in the future. Please change it. + Failed to insert new %s + diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 06b1bb0691a..aaf671a640d 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -11,7 +11,7 @@ hilt = '2.47' hiltCompiler = '1.0.0' jacoco = '0.8.10' designSystem = "0.2-20240208.105715-18" -dhis2sdk = "1.10.0-20240129.132841-8" +dhis2sdk = "1.10.0-20240208.120831-12" ruleEngine = "2.1.9" appcompat = "1.6.1" annotation = "1.6.0"