Skip to content

Commit

Permalink
Merge pull request #111 from AdamGuidarini/vc27
Browse files Browse the repository at this point in the history
Vc27
  • Loading branch information
AdamGuidarini authored Aug 9, 2024
2 parents 1fa817d + 1710234 commit 9884073
Show file tree
Hide file tree
Showing 13 changed files with 365 additions and 63 deletions.
14 changes: 11 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,17 @@ MediTrak is an Android application designed to make it easier for users to keep

## Languages

- English (default)
- German by [uDEV2019](https://github.com/uDEV2019)
- Spanish by [zaovb](https://github.com/zaovb)
- English
- German by [uDEV2019](https://github.com/uDEV2019)<sup>1,2</sup>
- Spanish by [zaovb](https://github.com/zaovb)<sup>1,3</sup>
- Italian<sup>4</sup>

<div style="font-size: 0.8em;">
1. Translated by native speaker.<br>
2. Additional translations provided by non-native speaker through a machine translator.<br>
3. Additional translations provided by non-native speaker.<br>
4. Translated by a non-native speaker.
</div>

## Building the App

Expand Down
4 changes: 2 additions & 2 deletions app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -13,12 +13,12 @@ android {
defaultConfig {
applicationId "projects.medicationtracker"
minSdkVersion 26
targetSdkVersion 33
targetSdkVersion 34
compileSdk 34

versionCode 26
versionName "0.12.7"
resourceConfigurations += ['en', 'de', 'es']
resourceConfigurations += ['en', 'de', 'es', 'it']


ndk {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1502,7 +1502,7 @@ private String createChangesNote(Medication child, Medication parent) {
}

if (medication.getInstructions() != null && !medication.getInstructions().isEmpty()) {
note += getString(R.string.instrucations_added, medication.getInstructions());
note += getString(R.string.instructions_added, medication.getInstructions());
}

return note;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,13 @@ public static class DateFormats {
public static final String DD_MM_YYYY = "dd/MM/yyyy";
}

public static class Languages {
public static final String ENGLISH = "en";
public static final String GERMAN = "de";
public static final String SPANISH = "es";
public static final String ITALIAN = "it";
}

private NativeDbHelper nativeHelper;

public DBHelper(@Nullable Context context) {
Expand Down
69 changes: 69 additions & 0 deletions app/src/main/java/projects/medicationtracker/Settings.java
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
import android.content.ContentResolver;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.content.res.Configuration;
import android.graphics.Color;
import android.net.Uri;
import android.os.Build;
Expand All @@ -33,6 +34,7 @@
import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.app.AppCompatDelegate;
import androidx.appcompat.widget.SwitchCompat;
import androidx.core.os.LocaleListCompat;

import com.google.android.material.textfield.MaterialAutoCompleteTextView;

Expand Down Expand Up @@ -92,6 +94,7 @@ protected void onCreate(Bundle savedInstanceState) {
setThemeMenu();
setDateFormatMenu();
setTimeFormatMenu();
setLanguageMenu();

chooseFileLauncher = registerForActivityResult(
new ActivityResultContracts.StartActivityForResult(),
Expand Down Expand Up @@ -381,6 +384,72 @@ private void setTimeFormatMenu() {
});
}

/**
* Creates menu allow language change
*/
private void setLanguageMenu() {
MaterialAutoCompleteTextView langSelector = findViewById(R.id.language_selector);
String[] langOpts = { "Deutsch", "English", "Español", "Italiano" };
String[] langCodes = {"de", "en", "es", "it"};
ArrayAdapter<String> adapter = new ArrayAdapter<>(
this,
android.R.layout.simple_dropdown_item_1line,
langOpts
);

Configuration config = getResources().getConfiguration();

langSelector.setAdapter(adapter);

String langCode = config.getLocales().get(0).getLanguage();

switch (langCode) {
case "de":
langSelector.setText(langOpts[0], false);
break;
case "en":
default:
langSelector.setText(langOpts[1], false);
break;
case "es":
langSelector.setText(langOpts[2], false);
break;
case "it":
langSelector.setText(langOpts[3], false);
break;
}

langSelector.setOnItemClickListener((parent, view, position, id) -> {
LocaleListCompat locale = LocaleListCompat.forLanguageTags(langCodes[position]);
AppCompatDelegate.setApplicationLocales(locale);

langSelector.clearFocus();
});

langSelector.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {}

@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {}

@Override
public void afterTextChanged(Editable s) {
setThemeMenu();
setTimeFormatMenu();
setDateFormatMenu();

langSelector.setAdapter(
new ArrayAdapter<>(
langSelector.getContext(),
android.R.layout.simple_dropdown_item_1line,
langOpts
)
);
}
});
}

/**
* Creates array adapter for themes selector
* @return ArrayAdapter of theme options
Expand Down
16 changes: 16 additions & 0 deletions app/src/main/res/layout/activity_settings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -141,6 +141,22 @@
android:inputType="none" />
</com.google.android.material.textfield.TextInputLayout>

<com.google.android.material.textfield.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="10dp"
android:layout_marginEnd="10dp"
android:layout_marginBottom="15dp"
android:hint="@string/language"
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.Dense.ExposedDropdownMenu">

<com.google.android.material.textfield.MaterialAutoCompleteTextView
android:id="@+id/language_selector"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="none" />
</com.google.android.material.textfield.TextInputLayout>

<Button
android:id="@+id/enableNotifications"
android:layout_width="match_parent"
Expand Down
19 changes: 3 additions & 16 deletions app/src/main/res/values-de/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -120,31 +120,21 @@
<string name="taken_at">Eingenommen um</string>
<string name="unit_of_time">Zeiteinheit</string>
<string name="custom_frequency">Benutzerdefinierte Häufigkeit</string>
<string name="at_n_n_tap_to_set_time">Hier tippen, um die Uhrzeit einzustellen</string>
<string name="times_per_day">Zeiten pro Tag</string>
<string name="atThisTime">Hier tippen, um die Uhrzeit einzustellen</string>
<string name="starting">Beginnend:</string>
<string name="alias_for_medication">Alias für Medikamente</string>
<string name="alias_for_medication_displays_notification">Alias für Medikamentenbenachrichtigung</string>
<string name="medication_alias_displays_in_notification">Medikamentenalias wird in der Benachrichtigung angezeigt</string>
<string name="place_holder_tap_again_then_hit_cancel">PPlatzhalter, tippen Sie erneut und klicken Sie dann auf Abbrechen</string>
<string name="yourMedications">Deine Medikamente:</string>
<string name="no_notes_for_this_medication">Für dieses Medikament liegen keine Hinweise vor</string>
<string name="unitExample">z.B. mg, g, Tropfen</string>
<string name="patient_name">Patientenname:</string>
<string name="no_alias">Keine Aliase</string>
<string name="tap_to_set_date">Tippen, um das Datum einzustellen</string>
<string name="at">Um:</string>
<string name="tap_to_set_time">Tippen, um die Zeit einzustellen</string>
<string name="apply_retroactive">Änderungen rückwirkend anwenden</string>
<string name="retroactive_warning">Warnung: Änderungen der Häufigkeit können dazu führen, dass zuvor eingenommene Dosen nicht mehr im Zeitplan sichtbar sind.</string>
<string name="would_like_apply_retroactively">Änderungen der Dosierung und Häufigkeit können rückwirkend ab der vorherigen Änderung angewendet werden. Möchten Sie diese Änderungen rückwirkend anwenden?</string>
<string name="apply_changes_as_of">Änderungen übernehmen ab:</string>
<string name="from_med_last_change">Letzte Bearbeitung</string>
<string name="from_med_start">Beginn der Medikamenteneinnahme</string>
<string name="instructions">Anweisungen</string>
<string name="instructions_optional">Anweisungen (Optional)</string>
<string name="instrucations_added">Zusätzliche Anweisungen: %1$s</string>
<string name="instructions_added">Zusätzliche Anweisungen: %1$s</string>

<!-- MyMedications -->
<string name="my_medications">Meine Medikamente</string>
Expand All @@ -155,7 +145,6 @@
<string name="alias_lbl">Alias</string>
<string name="taken_since">Eingenommen, seit: %1$s</string>
<string name="taken_as_needed">Nach Bedarf eingenommen.</string>
<string name="all_previous_edits_overridden">Alle vorherigen Änderungen wurden überschrieben.</string>

<!-- Notes -->
<string name="notes">Notizen</string>
Expand All @@ -177,14 +166,12 @@

Dieses Programm wird in der Hoffnung verbreitet, dass es nützlich sein wird,
aber OHNE JEGLICHE GARANTIE; ohne die stillschweigende Garantie von

MARKTGÄNGIGKEIT oder EIGNUNG FÜR EINEN BESTIMMTEN ZWECK. Siehe die
weiteren Informationen zur GNU General Public License
weiteren Informationen zur GNU General Public License.
</string>
<string name="copyOfGPL2">
Sie sollten eine Kopie der GNU General Public License erhalten haben
zusammen mit diesem Programm; Wenn nicht, schreiben Sie an die Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
zusammen mit diesem Programm; Wenn nicht, siehe https://www.gnu.org/licenses/.
</string>
<string name="cannot_take_medication_more_than">Kann Medikamente nicht mehr einnehmen als</string>
<string name="hours_in_advance">Stunden im Voraus</string>
Expand Down
29 changes: 8 additions & 21 deletions app/src/main/res/values-es/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@
proporcionar asesoramiento médico y ninguna información proporcionada por esta aplicación debe ser malinterpretada
como tal. Los creadores de esta aplicación no se responsabilizan por ninguna
dosis perdida de sus medicamentos bajo ningún motivo. Si necesita asistencia médica, póngase en contacto con un médico profesional.
Al utilizar esta aplicación, usted acepta los términos antes mencionados, así como los de la licencia GPL2 bajo
Al utilizar esta aplicación, usted acepta los términos antes mencionados, así como los de la licencia GPL versión 2.0 bajo
la que se publica. \n\n

Esta aplicación está publicada bajo la Licencia Pública GNU Versión 2, ver más abajo para más detalles:
Expand Down Expand Up @@ -108,7 +108,7 @@
<string name="daily">Diario</string>
<string name="weekly">Semanal</string>
<string name="monthly">Mensual</string>
<string name="medication_name_amp_dosage"><![CDATA[Nombre del medicamento y dosis]]></string>
<string name="medication_name_amp_dosage"><![CDATA[Nombre y dosis del medicamento]]></string>
<string name="who_takes_this_medication">¿Quién toma este medicamento?</string>
<string name="someone_else">Alguien más</string>
<string name="what_is_the_medication_s_name_amp_how_much_is_taken"><![CDATA[¿Cuál es el nombre del medicamento y cuánto se toma?]]></string>
Expand All @@ -118,31 +118,21 @@
<string name="taken_at">Tomado a las</string>
<string name="unit_of_time">Unidad de tiempo</string>
<string name="custom_frequency">Frecuencia personalizada</string>
<string name="at_n_n_tap_to_set_time">A las: \n\n Presione para ajustar la hora</string>
<string name="times_per_day">Veces por día</string>
<string name="atThisTime">A las: Presione para ajustar la hora</string>
<string name="starting">Inicio:</string>
<string name="alias_for_medication">Alias para el medicamento</string>
<string name="alias_for_medication_displays_notification">Alias para la notifiación de medicamentos</string>
<string name="medication_alias_displays_in_notification">Alias del medicamento que aparece en la notificación</string>
<string name="place_holder_tap_again_then_hit_cancel">Coloca el marcador, toca de nuevo y luego presiona cancelar</string>
<string name="yourMedications">Tus medicamentos:</string>
<string name="no_notes_for_this_medication">Notas para este medicamento</string>
<string name="unitExample">P. Ej. mg, g, gotas</string>
<string name="patient_name">Nombre del paciente:</string>
<string name="no_alias">Sin alias</string>
<string name="tap_to_set_date">Toca para establecer la fecha</string>
<string name="at">A las:</string>
<string name="tap_to_set_time">Toca para establecer la hora</string>
<string name="apply_retroactive">Aplicar cambios retroactivamente</string>
<string name="retroactive_warning">Atención: Los cambios en la frecuencia pueden hacer que las dosis tomadas anteriormente ya no sean visibles en el horario.</string>
<string name="would_like_apply_retroactively">Los cambios de dosis y frecuencia pueden aplicarse retroactivamente a partir del cambio anterior. ¿Desea aplicar estos cambios retroactivamente?</string>
<string name="apply_changes_as_of">Aplicar los cambios a partir de:</string>
<string name="from_med_last_change">Último cambio</string>
<string name="from_med_start">Inicio de medicación</string>
<string name="instructions">Instrucciones</string>
<string name="instructions_optional">Instrucciones (Opcional)</string>
<string name="instrucations_added">Instrucciones añadidas: %1$s</string>
<string name="instructions_added">Instrucciones añadidas: %1$s</string>

<!-- MyMedications -->
<string name="my_medications">Mis medicamentos</string>
Expand All @@ -153,7 +143,6 @@
<string name="alias_lbl">Alias</string>
<string name="taken_since">Tomado desde: %1$s</string>
<string name="taken_as_needed">Tomado según necesidad.</string>
<string name="all_previous_edits_overridden">Anulados todos los cambios anteriores.</string>

<!-- Notes -->
<string name="notes">Notas</string>
Expand All @@ -166,7 +155,7 @@
<string name="license">Licencia</string>
<string name="purpose">MediTrak es una aplicación gratuita, libre y de código abierto diseñada para ayudarte a llevar un registro de tus medicamentos, para que puedas responder más fácilmente a la pregunta \"¿tomé mi medicamento ayer?\"</string>
<string name="copyright">Copyright © 2022 Adam Guidarini</string>
<string name="licenseInfo">MediTrak es software libre y puede ser redistribuido y/o modificado bajo los términos de la Licencia Pública General de GNU publicada por la Free software foundation, ya sea la versión 2 o (a su elección) posterior.</string>
<string name="licenseInfo">MediTrak es software libre y puede ser redistribuido y/o modificado bajo los términos de la Licencia Pública General de GNU publicada por la Free Software Foundation, ya sea la versión 2 o (a su elección) posterior.</string>
<string name="warranty">
Este programa es de software libre; puede redistribuirlo y/o
modificarlo bajo los términos de la Licencia Pública General de GNU
Expand All @@ -175,16 +164,14 @@

Este programa se distribuye con la esperanza de que sea útil,
pero SIN NINGUNA GARANTÍA; ni siquiera la garantía implícita de

COMERCIABILIDAD o IDONEIDAD PARA UN PROPÓSITO PARTICULAR. Consulte la
Licencia Pública General GNU para más detalles
Licencia Pública General GNU para más detalles.
</string>
<string name="copyOfGPL2">
Debería haber recibido una copia de la Licencia Pública General de GNU
junto con este programa; si no es así, escriba a la Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
junto con este programa; si no es así, vea https://www.gnu.org/licenses/.
</string>
<string name="cannot_take_medication_more_than">Ya no puede tomar el medicamento</string>
<string name="cannot_take_medication_more_than">No puede tomar el medicamento más de</string>
<string name="hours_in_advance">horas de antelación</string>
<string name="title_activity_settings">Configuración</string>
<string name="delete_all">Eliminar todo</string>
Expand Down Expand Up @@ -239,7 +226,7 @@
<string name="mark_as_taken">Tomado</string>
<string name="snooze_message">Posponer</string>
<string name="its_time_your_med">Es hora de tomar tu %1$s de %2$s</string>
<string name="time_for_other_med">Es la hora de %1$s de %2$s de %3$s</string>
<string name="time_for_other_med">Es la hora de los %2$s de %3$s de %1$s</string>
<string name="add_dose">Añadir dosis</string>

<!-- Med History -->
Expand Down
Loading

0 comments on commit 9884073

Please sign in to comment.