mirror of
https://github.com/oliexdev/openScale.git
synced 2025-08-23 16:53:04 +02:00
add drop down list for user names
fix small export/import bug if comment field is empty
This commit is contained in:
@@ -33,7 +33,6 @@ import java.io.OutputStreamWriter;
|
|||||||
import java.text.ParseException;
|
import java.text.ParseException;
|
||||||
import java.text.SimpleDateFormat;
|
import java.text.SimpleDateFormat;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Date;
|
|
||||||
|
|
||||||
public class OpenScale {
|
public class OpenScale {
|
||||||
|
|
||||||
@@ -107,12 +106,6 @@ public class OpenScale {
|
|||||||
if (selectedUserId == -1) {
|
if (selectedUserId == -1) {
|
||||||
ScaleUser scaleUser = new ScaleUser();
|
ScaleUser scaleUser = new ScaleUser();
|
||||||
|
|
||||||
scaleUser.id = -1;
|
|
||||||
scaleUser.user_name = "anonymous";
|
|
||||||
scaleUser.birthday = new Date();
|
|
||||||
scaleUser.scale_unit = 1;
|
|
||||||
scaleUser.body_height = 1;
|
|
||||||
|
|
||||||
return scaleUser;
|
return scaleUser;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -209,7 +202,7 @@ public class OpenScale {
|
|||||||
|
|
||||||
try {
|
try {
|
||||||
while (line != null) {
|
while (line != null) {
|
||||||
String csvField[] = line.split(",");
|
String csvField[] = line.split(",", -1);
|
||||||
|
|
||||||
ScaleData newScaleData = new ScaleData();
|
ScaleData newScaleData = new ScaleData();
|
||||||
|
|
||||||
@@ -251,7 +244,10 @@ public class OpenScale {
|
|||||||
csvWriter.append(Float.toString(scaleData.fat) + ",");
|
csvWriter.append(Float.toString(scaleData.fat) + ",");
|
||||||
csvWriter.append(Float.toString(scaleData.water) + ",");
|
csvWriter.append(Float.toString(scaleData.water) + ",");
|
||||||
csvWriter.append(Float.toString(scaleData.muscle) + ",");
|
csvWriter.append(Float.toString(scaleData.muscle) + ",");
|
||||||
csvWriter.append(scaleData.comment);
|
if (!scaleData.comment.isEmpty()) {
|
||||||
|
csvWriter.append(scaleData.comment);
|
||||||
|
}
|
||||||
|
|
||||||
csvWriter.append("\n");
|
csvWriter.append("\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -27,7 +27,19 @@ public class ScaleData {
|
|||||||
public float water;
|
public float water;
|
||||||
public float muscle;
|
public float muscle;
|
||||||
public String comment;
|
public String comment;
|
||||||
|
|
||||||
|
public ScaleData()
|
||||||
|
{
|
||||||
|
id = -1;
|
||||||
|
user_id = -1;
|
||||||
|
date_time = new Date();
|
||||||
|
weight = -1.0f;
|
||||||
|
fat = -1.0f;
|
||||||
|
water = -1.0f;
|
||||||
|
muscle = 1.0f;
|
||||||
|
comment = new String();
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String toString()
|
public String toString()
|
||||||
{
|
{
|
||||||
|
@@ -30,6 +30,17 @@ public class ScaleUser {
|
|||||||
public double goal_weight;
|
public double goal_weight;
|
||||||
public Date goal_date;
|
public Date goal_date;
|
||||||
|
|
||||||
|
public ScaleUser() {
|
||||||
|
id = -1;
|
||||||
|
user_name = new String();
|
||||||
|
birthday = new Date();
|
||||||
|
body_height = -1;
|
||||||
|
scale_unit = -1;
|
||||||
|
gender = -1;
|
||||||
|
goal_weight = -1;
|
||||||
|
goal_date = new Date();
|
||||||
|
}
|
||||||
|
|
||||||
public boolean isMale()
|
public boolean isMale()
|
||||||
{
|
{
|
||||||
if (gender == 0)
|
if (gender == 0)
|
||||||
|
@@ -16,6 +16,7 @@
|
|||||||
package com.health.openscale.gui;
|
package com.health.openscale.gui;
|
||||||
|
|
||||||
import android.app.Activity;
|
import android.app.Activity;
|
||||||
|
import android.content.Context;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.content.SharedPreferences;
|
import android.content.SharedPreferences;
|
||||||
import android.content.pm.ActivityInfo;
|
import android.content.pm.ActivityInfo;
|
||||||
@@ -28,6 +29,9 @@ import android.text.Html;
|
|||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.ViewGroup;
|
import android.view.ViewGroup;
|
||||||
|
import android.widget.AdapterView;
|
||||||
|
import android.widget.ArrayAdapter;
|
||||||
|
import android.widget.Spinner;
|
||||||
import android.widget.TableRow;
|
import android.widget.TableRow;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
import android.widget.Toast;
|
import android.widget.Toast;
|
||||||
@@ -94,6 +98,8 @@ public class OverviewFragment extends Fragment implements FragmentUpdateListener
|
|||||||
private PieChartView pieChartLast;
|
private PieChartView pieChartLast;
|
||||||
private LineChartView lineChartLast;
|
private LineChartView lineChartLast;
|
||||||
|
|
||||||
|
private Spinner spinUser;
|
||||||
|
|
||||||
private enum lines {WEIGHT, FAT, WATER, MUSCLE}
|
private enum lines {WEIGHT, FAT, WATER, MUSCLE}
|
||||||
private ArrayList<lines> activeLines;
|
private ArrayList<lines> activeLines;
|
||||||
|
|
||||||
@@ -104,11 +110,15 @@ public class OverviewFragment extends Fragment implements FragmentUpdateListener
|
|||||||
|
|
||||||
private List<ScaleData> scaleDataLastDays;
|
private List<ScaleData> scaleDataLastDays;
|
||||||
|
|
||||||
|
private Context context;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
|
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
|
||||||
{
|
{
|
||||||
overviewView = inflater.inflate(R.layout.fragment_overview, container, false);
|
overviewView = inflater.inflate(R.layout.fragment_overview, container, false);
|
||||||
|
|
||||||
|
context = overviewView.getContext();
|
||||||
|
|
||||||
txtTitleUser = (TextView) overviewView.findViewById(R.id.txtTitleUser);
|
txtTitleUser = (TextView) overviewView.findViewById(R.id.txtTitleUser);
|
||||||
txtTitleLastMeasurement = (TextView) overviewView.findViewById(R.id.txtTitleLastMeasurment);
|
txtTitleLastMeasurement = (TextView) overviewView.findViewById(R.id.txtTitleLastMeasurment);
|
||||||
txtTitleGoal = (TextView) overviewView.findViewById(R.id.txtTitleGoal);
|
txtTitleGoal = (TextView) overviewView.findViewById(R.id.txtTitleGoal);
|
||||||
@@ -143,6 +153,8 @@ public class OverviewFragment extends Fragment implements FragmentUpdateListener
|
|||||||
pieChartLast = (PieChartView) overviewView.findViewById(R.id.pieChartLast);
|
pieChartLast = (PieChartView) overviewView.findViewById(R.id.pieChartLast);
|
||||||
lineChartLast = (LineChartView) overviewView.findViewById(R.id.lineChartLast);
|
lineChartLast = (LineChartView) overviewView.findViewById(R.id.lineChartLast);
|
||||||
|
|
||||||
|
spinUser = (Spinner) overviewView.findViewById(R.id.spinUser);
|
||||||
|
|
||||||
lineChartLast.setOnValueTouchListener(new LineChartTouchListener());
|
lineChartLast.setOnValueTouchListener(new LineChartTouchListener());
|
||||||
|
|
||||||
pieChartLast.setOnValueTouchListener(new PieChartLastTouchListener());
|
pieChartLast.setOnValueTouchListener(new PieChartLastTouchListener());
|
||||||
@@ -155,6 +167,7 @@ public class OverviewFragment extends Fragment implements FragmentUpdateListener
|
|||||||
});
|
});
|
||||||
|
|
||||||
prefs = PreferenceManager.getDefaultSharedPreferences(overviewView.getContext());
|
prefs = PreferenceManager.getDefaultSharedPreferences(overviewView.getContext());
|
||||||
|
currentScaleUser = OpenScale.getInstance(overviewView.getContext()).getSelectedScaleUser();
|
||||||
|
|
||||||
updateOnView(OpenScale.getInstance(overviewView.getContext()).getScaleDataList());
|
updateOnView(OpenScale.getInstance(overviewView.getContext()).getScaleDataList());
|
||||||
|
|
||||||
@@ -173,14 +186,36 @@ public class OverviewFragment extends Fragment implements FragmentUpdateListener
|
|||||||
row.setVisibility(View.GONE);
|
row.setVisibility(View.GONE);
|
||||||
}
|
}
|
||||||
|
|
||||||
return overviewView;
|
spinUser.setOnItemSelectedListener(new spinUserSelectionListener());
|
||||||
|
|
||||||
|
ArrayList<String> userItems = new ArrayList<>();
|
||||||
|
|
||||||
|
ArrayList<ScaleUser> scaleUserList = OpenScale.getInstance(overviewView.getContext()).getScaleUserList();
|
||||||
|
|
||||||
|
int posUser = 0;
|
||||||
|
int pos = 0;
|
||||||
|
|
||||||
|
for (ScaleUser scaleUser : scaleUserList) {
|
||||||
|
userItems.add(scaleUser.user_name);
|
||||||
|
|
||||||
|
if (scaleUser.id == currentScaleUser.id) {
|
||||||
|
posUser = pos;
|
||||||
|
}
|
||||||
|
|
||||||
|
pos++;
|
||||||
|
}
|
||||||
|
|
||||||
|
ArrayAdapter<String> spinAdapter = new ArrayAdapter<>(overviewView.getContext(), R.layout.support_simple_spinner_dropdown_item, userItems);
|
||||||
|
|
||||||
|
spinUser.setAdapter(spinAdapter);
|
||||||
|
spinUser.setSelection(posUser);
|
||||||
|
|
||||||
|
return overviewView;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void updateOnView(ArrayList<ScaleData> scaleDataList)
|
public void updateOnView(ArrayList<ScaleData> scaleDataList)
|
||||||
{
|
{
|
||||||
currentScaleUser = OpenScale.getInstance(overviewView.getContext()).getSelectedScaleUser();
|
|
||||||
|
|
||||||
if (scaleDataList.isEmpty()) {
|
if (scaleDataList.isEmpty()) {
|
||||||
lastScaleData = null;
|
lastScaleData = null;
|
||||||
return;
|
return;
|
||||||
@@ -188,7 +223,7 @@ public class OverviewFragment extends Fragment implements FragmentUpdateListener
|
|||||||
|
|
||||||
lastScaleData = scaleDataList.get(0);
|
lastScaleData = scaleDataList.get(0);
|
||||||
|
|
||||||
txtTitleUser.setText(getResources().getString(R.string.label_title_user).toUpperCase() + " " + currentScaleUser.user_name);
|
txtTitleUser.setText(getResources().getString(R.string.label_title_user).toUpperCase());
|
||||||
txtTitleLastMeasurement.setText(getResources().getString(R.string.label_title_last_measurement).toUpperCase());
|
txtTitleLastMeasurement.setText(getResources().getString(R.string.label_title_last_measurement).toUpperCase());
|
||||||
txtTitleGoal.setText(getResources().getString(R.string.label_title_goal).toUpperCase());
|
txtTitleGoal.setText(getResources().getString(R.string.label_title_goal).toUpperCase());
|
||||||
txtTitleStatistics.setText(getResources().getString(R.string.label_title_statistics).toUpperCase());
|
txtTitleStatistics.setText(getResources().getString(R.string.label_title_statistics).toUpperCase());
|
||||||
@@ -225,7 +260,7 @@ public class OverviewFragment extends Fragment implements FragmentUpdateListener
|
|||||||
txtLabelGoalDiff.setText(Html.fromHtml(getResources().getString(R.string.label_weight_difference) + " <br> <font color='grey'><small>BMI " + String.format("%.1f", currentScaleUser.getBMI(lastScaleData.weight) - currentScaleUser.getBMI(currentScaleUser.goal_weight)) + " </small></font>"));
|
txtLabelGoalDiff.setText(Html.fromHtml(getResources().getString(R.string.label_weight_difference) + " <br> <font color='grey'><small>BMI " + String.format("%.1f", currentScaleUser.getBMI(lastScaleData.weight) - currentScaleUser.getBMI(currentScaleUser.goal_weight)) + " </small></font>"));
|
||||||
txtLabelDayLeft.setText(Html.fromHtml(getResources().getString(R.string.label_days_left) + " <br> <font color='grey'><small>" + getResources().getString(R.string.label_goal_date_is) + " " + DateFormat.getDateInstance(DateFormat.LONG).format(currentScaleUser.goal_date) + " </small></font>")); // currentScaleUser.goal_date
|
txtLabelDayLeft.setText(Html.fromHtml(getResources().getString(R.string.label_days_left) + " <br> <font color='grey'><small>" + getResources().getString(R.string.label_goal_date_is) + " " + DateFormat.getDateInstance(DateFormat.LONG).format(currentScaleUser.goal_date) + " </small></font>")); // currentScaleUser.goal_date
|
||||||
|
|
||||||
if (scaleDataList.size() > 2) {
|
if (scaleDataList.size() >= 2) {
|
||||||
ScaleData diffScaleData = scaleDataList.get(1);
|
ScaleData diffScaleData = scaleDataList.get(1);
|
||||||
|
|
||||||
double diffWeight = lastScaleData.weight - diffScaleData.weight;
|
double diffWeight = lastScaleData.weight - diffScaleData.weight;
|
||||||
@@ -570,4 +605,26 @@ public class OverviewFragment extends Fragment implements FragmentUpdateListener
|
|||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private class spinUserSelectionListener implements AdapterView.OnItemSelectedListener {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
|
||||||
|
if (parent.getChildCount() > 0) {
|
||||||
|
((TextView) parent.getChildAt(0)).setTextColor(Color.GRAY);
|
||||||
|
|
||||||
|
ArrayList<ScaleUser> scaleUserList = OpenScale.getInstance(overviewView.getContext()).getScaleUserList();
|
||||||
|
|
||||||
|
ScaleUser scaleUser = scaleUserList.get(position);
|
||||||
|
|
||||||
|
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
|
||||||
|
prefs.edit().putInt("selectedUserId", scaleUser.id).commit();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onNothingSelected(AdapterView<?> parent) {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@@ -77,8 +77,6 @@ public class UserSettingsActivity extends Activity {
|
|||||||
txtBirthday = (EditText) findViewById(R.id.txtBirthday);
|
txtBirthday = (EditText) findViewById(R.id.txtBirthday);
|
||||||
txtGoalDate = (EditText) findViewById(R.id.txtGoalDate);
|
txtGoalDate = (EditText) findViewById(R.id.txtGoalDate);
|
||||||
|
|
||||||
btnBirthdaySet = (Button) findViewById(R.id.btnDateSet);
|
|
||||||
btnGoalDateSet = (Button) findViewById(R.id.btnGoalDateSet);
|
|
||||||
btnDelete = (Button) findViewById(R.id.btnDelete);
|
btnDelete = (Button) findViewById(R.id.btnDelete);
|
||||||
btnOk = (Button)findViewById(R.id.btnOk);
|
btnOk = (Button)findViewById(R.id.btnOk);
|
||||||
btnCancel = (Button)findViewById(R.id.btnCancel);
|
btnCancel = (Button)findViewById(R.id.btnCancel);
|
||||||
@@ -86,13 +84,34 @@ public class UserSettingsActivity extends Activity {
|
|||||||
btnOk.setOnClickListener(new onClickListenerOk());
|
btnOk.setOnClickListener(new onClickListenerOk());
|
||||||
btnCancel.setOnClickListener(new onClickListenerCancel());
|
btnCancel.setOnClickListener(new onClickListenerCancel());
|
||||||
btnDelete.setOnClickListener(new onClickListenerDelete());
|
btnDelete.setOnClickListener(new onClickListenerDelete());
|
||||||
btnBirthdaySet.setOnClickListener(new onClickListenerBirthdaySet());
|
|
||||||
btnGoalDateSet.setOnClickListener(new onClickListenerGoalDateSet());
|
|
||||||
|
|
||||||
txtBirthday.setText(dateFormat.format(new Date()));
|
txtBirthday.setText(dateFormat.format(new Date()));
|
||||||
|
|
||||||
txtGoalDate.setText(dateFormat.format(new Date()));
|
txtGoalDate.setText(dateFormat.format(new Date()));
|
||||||
|
|
||||||
|
txtBirthday.setOnFocusChangeListener(new View.OnFocusChangeListener() {
|
||||||
|
@Override
|
||||||
|
public void onFocusChange(View v, boolean hasFocus) {
|
||||||
|
if (hasFocus) {
|
||||||
|
Calendar cal = Calendar.getInstance();
|
||||||
|
DatePickerDialog datePicker = new DatePickerDialog(context, goalDatePickerListener, cal.get(Calendar.YEAR), cal.get(Calendar.MONTH), cal.get(Calendar.DAY_OF_MONTH));
|
||||||
|
datePicker.show();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
txtGoalDate.setOnFocusChangeListener(new View.OnFocusChangeListener() {
|
||||||
|
@Override
|
||||||
|
public void onFocusChange(View v, boolean hasFocus) {
|
||||||
|
if (hasFocus) {
|
||||||
|
Calendar cal = Calendar.getInstance();
|
||||||
|
DatePickerDialog datePicker = new DatePickerDialog(context, goalDatePickerListener, cal.get(Calendar.YEAR), cal.get(Calendar.MONTH), cal.get(Calendar.DAY_OF_MONTH));
|
||||||
|
datePicker.show();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
if (getIntent().getExtras().getInt("mode") == EDIT_USER_REQUEST)
|
if (getIntent().getExtras().getInt("mode") == EDIT_USER_REQUEST)
|
||||||
{
|
{
|
||||||
editMode();
|
editMode();
|
||||||
@@ -288,25 +307,6 @@ public class UserSettingsActivity extends Activity {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private class onClickListenerBirthdaySet implements View.OnClickListener {
|
|
||||||
@Override
|
|
||||||
public void onClick(View v) {
|
|
||||||
Calendar cal = Calendar.getInstance();
|
|
||||||
DatePickerDialog datePicker = new DatePickerDialog(context, datePickerListener, cal.get(Calendar.YEAR), cal.get(Calendar.MONTH), cal.get(Calendar.DAY_OF_MONTH));
|
|
||||||
datePicker.show();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
private class onClickListenerGoalDateSet implements View.OnClickListener {
|
|
||||||
@Override
|
|
||||||
public void onClick(View v) {
|
|
||||||
Calendar cal = Calendar.getInstance();
|
|
||||||
DatePickerDialog datePicker = new DatePickerDialog(context, goalDatePickerListener, cal.get(Calendar.YEAR), cal.get(Calendar.MONTH), cal.get(Calendar.DAY_OF_MONTH));
|
|
||||||
datePicker.show();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private class onClickListenerCancel implements View.OnClickListener {
|
private class onClickListenerCancel implements View.OnClickListener {
|
||||||
@Override
|
@Override
|
||||||
public void onClick(View v) {
|
public void onClick(View v) {
|
||||||
|
@@ -158,16 +158,8 @@
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_weight="5"
|
android:layout_weight="5"
|
||||||
android:ems="10"
|
android:ems="10"
|
||||||
android:enabled="false"
|
|
||||||
android:inputType="date" />
|
android:inputType="date" />
|
||||||
|
|
||||||
<Button
|
|
||||||
android:id="@+id/btnDateSet"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:text="@string/label_set"
|
|
||||||
android:textSize="15sp" />
|
|
||||||
|
|
||||||
</TableRow>
|
</TableRow>
|
||||||
|
|
||||||
<TableRow
|
<TableRow
|
||||||
@@ -206,16 +198,8 @@
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_weight="5"
|
android:layout_weight="5"
|
||||||
android:ems="10"
|
android:ems="10"
|
||||||
android:enabled="false"
|
|
||||||
android:inputType="date" />
|
android:inputType="date" />
|
||||||
|
|
||||||
<Button
|
|
||||||
android:id="@+id/btnGoalDateSet"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:text="@string/label_set"
|
|
||||||
android:textSize="15sp" />
|
|
||||||
|
|
||||||
</TableRow>
|
</TableRow>
|
||||||
|
|
||||||
</TableLayout>
|
</TableLayout>
|
||||||
|
@@ -22,13 +22,27 @@
|
|||||||
android:layout_width="fill_parent"
|
android:layout_width="fill_parent"
|
||||||
android:layout_height="fill_parent">
|
android:layout_height="fill_parent">
|
||||||
|
|
||||||
<TextView
|
<LinearLayout
|
||||||
|
android:orientation="horizontal"
|
||||||
android:layout_width="fill_parent"
|
android:layout_width="fill_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="fill_parent">
|
||||||
android:text="USER"
|
|
||||||
android:id="@+id/txtTitleUser"
|
<TextView
|
||||||
android:layout_weight="0"
|
android:layout_width="wrap_content"
|
||||||
android:textSize="20dp" />
|
android:layout_height="wrap_content"
|
||||||
|
android:text="USER"
|
||||||
|
android:id="@+id/txtTitleUser"
|
||||||
|
android:layout_weight="0"
|
||||||
|
android:textSize="20dp"/>
|
||||||
|
|
||||||
|
<Spinner
|
||||||
|
android:layout_width="fill_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:id="@+id/spinUser"
|
||||||
|
android:textSize="20dp" />
|
||||||
|
|
||||||
|
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
<View
|
<View
|
||||||
android:layout_width="fill_parent"
|
android:layout_width="fill_parent"
|
||||||
|
@@ -69,7 +69,6 @@
|
|||||||
<string name="label_no">Nein</string>
|
<string name="label_no">Nein</string>
|
||||||
<string name="label_ok">OK</string>
|
<string name="label_ok">OK</string>
|
||||||
<string name="label_scale_unit">Einheit</string>
|
<string name="label_scale_unit">Einheit</string>
|
||||||
<string name="label_set">Set</string>
|
|
||||||
<string name="label_time">Zeit</string>
|
<string name="label_time">Zeit</string>
|
||||||
<string name="label_title_goal">Ziel</string>
|
<string name="label_title_goal">Ziel</string>
|
||||||
<string name="label_title_last_measurement">Letzte Messung</string>
|
<string name="label_title_last_measurement">Letzte Messung</string>
|
||||||
|
@@ -39,7 +39,6 @@
|
|||||||
<string name="label_title_goal">目標</string>
|
<string name="label_title_goal">目標</string>
|
||||||
<string name="label_goal_date">目標期日</string>
|
<string name="label_goal_date">目標期日</string>
|
||||||
<string name="label_scale_unit">単位</string>
|
<string name="label_scale_unit">単位</string>
|
||||||
<string name="label_set">Set</string>
|
|
||||||
<string name="label_measures">計測</string>
|
<string name="label_measures">計測</string>
|
||||||
<string name="label_title_last_measurement">最終の計測</string>
|
<string name="label_title_last_measurement">最終の計測</string>
|
||||||
<string name="label_goal_date_is">目標期日は</string>
|
<string name="label_goal_date_is">目標期日は</string>
|
||||||
|
@@ -38,7 +38,6 @@
|
|||||||
|
|
||||||
<string name="label_date">Date</string>
|
<string name="label_date">Date</string>
|
||||||
<string name="label_time">Time</string>
|
<string name="label_time">Time</string>
|
||||||
<string name="label_set">Set</string>
|
|
||||||
<string name="label_birthday">Birthday</string>
|
<string name="label_birthday">Birthday</string>
|
||||||
<string name="label_user_name">Name</string>
|
<string name="label_user_name">Name</string>
|
||||||
<string name="label_body_height">Body height</string>
|
<string name="label_body_height">Body height</string>
|
||||||
|
Reference in New Issue
Block a user