mirror of
https://github.com/woheller69/solxpect.git
synced 2025-09-22 08:50:41 +02:00
open dialog to edit plant after adding location
update some strings remove some stuff
This commit is contained in:
parent
0ab3efd819
commit
54cd149896
6 changed files with 76 additions and 91 deletions
|
@ -10,9 +10,10 @@ solarCast forecasts the output of your solar power plant
|
||||||
|
|
||||||
## License
|
## License
|
||||||
|
|
||||||
This app - like the original app Privacy Friendly Weather - is licensed under the GPLv3.
|
This app is licensed under the GPLv3.
|
||||||
|
|
||||||
The app also uses:
|
The app uses:
|
||||||
|
- Parts from Privacy Friendly Weather (https://github.com/SecUSo/privacy-friendly-weather) which is licensed under the GPLv3
|
||||||
- The weather data service is provided by [Open-Meteo](https://open-meteo.com/), under <a href='http://creativecommons.org/licenses/by/4.0/'>Attribution 4.0 International (CC BY 4.0)</a>
|
- The weather data service is provided by [Open-Meteo](https://open-meteo.com/), under <a href='http://creativecommons.org/licenses/by/4.0/'>Attribution 4.0 International (CC BY 4.0)</a>
|
||||||
- Icons from [Google Material Design Icons](https://material.io/resources/icons/) licensed under <a href='http://www.apache.org/licenses/LICENSE-2.0'>Apache License Version 2.0</a>
|
- Icons from [Google Material Design Icons](https://material.io/resources/icons/) licensed under <a href='http://www.apache.org/licenses/LICENSE-2.0'>Apache License Version 2.0</a>
|
||||||
- Material Components for Android (https://github.com/material-components/material-components-android) which is licensed under <a href='https://github.com/material-components/material-components-android/blob/master/LICENSE'>Apache License Version 2.0</a>
|
- Material Components for Android (https://github.com/material-components/material-components-android) which is licensed under <a href='https://github.com/material-components/material-components-android/blob/master/LICENSE'>Apache License Version 2.0</a>
|
||||||
|
|
|
@ -73,67 +73,8 @@ public class ManageLocationsActivity extends NavigationActivity {
|
||||||
new RecyclerItemClickListener(getBaseContext(), recyclerView, new RecyclerItemClickListener.OnItemClickListener() {
|
new RecyclerItemClickListener(getBaseContext(), recyclerView, new RecyclerItemClickListener.OnItemClickListener() {
|
||||||
@Override
|
@Override
|
||||||
public void onItemClick(View view, int position) {
|
public void onItemClick(View view, int position) {
|
||||||
AlertDialog.Builder alert = new AlertDialog.Builder(context);
|
CityToWatch city = adapter.getCitytoWatch(position);
|
||||||
|
editCityToWatch(city);
|
||||||
LayoutInflater inflater = getLayoutInflater();
|
|
||||||
View dialogView = inflater.inflate(R.layout.dialog_edit_location, null);
|
|
||||||
|
|
||||||
alert.setTitle(getString(R.string.edit_location_title));
|
|
||||||
alert.setView(dialogView);
|
|
||||||
EditText editLatitude = (EditText) dialogView.findViewById(R.id.EditLocation_Lat);
|
|
||||||
EditText editLongitude = (EditText) dialogView.findViewById(R.id.EditLocation_Lon);
|
|
||||||
EditText editCity = (EditText) dialogView.findViewById(R.id.EditLocation_Name);
|
|
||||||
EditText editAzimuth = (EditText) dialogView.findViewById(R.id.EditLocation_Azimuth);
|
|
||||||
EditText editElevation = (EditText) dialogView.findViewById(R.id.EditLocation_Elevation);
|
|
||||||
EditText editCellsMaxPower = (EditText) dialogView.findViewById(R.id.EditLocation_Cell_Max_Power);
|
|
||||||
EditText editCellsArea = (EditText) dialogView.findViewById(R.id.EditLocation_Cells_Area);
|
|
||||||
EditText editCellsEfficiency = (EditText) dialogView.findViewById(R.id.EditLocation_Cell_Efficiency);
|
|
||||||
EditText editDiffuseEfficiency = (EditText) dialogView.findViewById(R.id.EditLocation_Diffuse_Efficiency);
|
|
||||||
EditText editConverterPowerLimit = (EditText) dialogView.findViewById(R.id.EditLocation_Converter_Power_Limit);
|
|
||||||
EditText editConverterEfficiency = (EditText) dialogView.findViewById(R.id.EditLocation_Converter_Efficiency);
|
|
||||||
|
|
||||||
editCity.setText(adapter.getCitytoWatch(position).getCityName());
|
|
||||||
editLatitude.setText(Float.toString(adapter.getCitytoWatch(position).getLatitude()));
|
|
||||||
editLongitude.setText(Float.toString(adapter.getCitytoWatch(position).getLongitude()));
|
|
||||||
editAzimuth.setText(Float.toString(adapter.getCitytoWatch(position).getAzimuthAngle()));
|
|
||||||
editElevation.setText(Float.toString(adapter.getCitytoWatch(position).getElevationAngle()));
|
|
||||||
editCellsMaxPower.setText(Float.toString(adapter.getCitytoWatch(position).getCellsMaxPower()));
|
|
||||||
editCellsArea.setText(Float.toString(adapter.getCitytoWatch(position).getCellsArea()));
|
|
||||||
editCellsEfficiency.setText(Float.toString(adapter.getCitytoWatch(position).getCellsEfficiency()));
|
|
||||||
editDiffuseEfficiency.setText(Float.toString(adapter.getCitytoWatch(position).getDiffuseEfficiency()));
|
|
||||||
editConverterPowerLimit.setText(Float.toString(adapter.getCitytoWatch(position).getConverterPowerLimit()));
|
|
||||||
editConverterEfficiency.setText(Float.toString(adapter.getCitytoWatch(position).getConverterEfficiency()));
|
|
||||||
editElevation.addTextChangedListener(new TextWatcher() {
|
|
||||||
@Override
|
|
||||||
public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) { }
|
|
||||||
@Override
|
|
||||||
public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) { }
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void afterTextChanged(Editable editable) {
|
|
||||||
float elevation = Float.parseFloat(editElevation.getText().toString());
|
|
||||||
editDiffuseEfficiency.setText(Float.toString(100-50 * elevation/90));
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
alert.setPositiveButton(getString(R.string.dialog_edit_change_button), (dialog, whichButton) -> {
|
|
||||||
adapter.updateCity(position, String.valueOf(editCity.getText()),
|
|
||||||
Float.parseFloat(editLatitude.getText().toString()),
|
|
||||||
Float.parseFloat(editLongitude.getText().toString()),
|
|
||||||
Float.parseFloat(editAzimuth.getText().toString()),
|
|
||||||
Float.parseFloat(editElevation.getText().toString()),
|
|
||||||
Float.parseFloat(editCellsMaxPower.getText().toString()),
|
|
||||||
Float.parseFloat(editCellsArea.getText().toString()),
|
|
||||||
Float.parseFloat(editCellsEfficiency.getText().toString()),
|
|
||||||
Float.parseFloat(editDiffuseEfficiency.getText().toString()),
|
|
||||||
Float.parseFloat(editConverterPowerLimit.getText().toString()),
|
|
||||||
Float.parseFloat(editConverterEfficiency.getText().toString())
|
|
||||||
);
|
|
||||||
});
|
|
||||||
alert.setNegativeButton(getString(R.string.dialog_add_close_button), (dialog, whichButton) -> {
|
|
||||||
});
|
|
||||||
|
|
||||||
alert.show();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void onLongItemClick(View view, int position) {
|
public void onLongItemClick(View view, int position) {
|
||||||
|
@ -169,6 +110,70 @@ public class ManageLocationsActivity extends NavigationActivity {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void editCityToWatch(CityToWatch city) {
|
||||||
|
AlertDialog.Builder alert = new AlertDialog.Builder(context);
|
||||||
|
|
||||||
|
LayoutInflater inflater = getLayoutInflater();
|
||||||
|
View dialogView = inflater.inflate(R.layout.dialog_edit_location, null);
|
||||||
|
|
||||||
|
alert.setTitle(getString(R.string.edit_location_title));
|
||||||
|
alert.setView(dialogView);
|
||||||
|
EditText editLatitude = (EditText) dialogView.findViewById(R.id.EditLocation_Lat);
|
||||||
|
EditText editLongitude = (EditText) dialogView.findViewById(R.id.EditLocation_Lon);
|
||||||
|
EditText editCity = (EditText) dialogView.findViewById(R.id.EditLocation_Name);
|
||||||
|
EditText editAzimuth = (EditText) dialogView.findViewById(R.id.EditLocation_Azimuth);
|
||||||
|
EditText editElevation = (EditText) dialogView.findViewById(R.id.EditLocation_Elevation);
|
||||||
|
EditText editCellsMaxPower = (EditText) dialogView.findViewById(R.id.EditLocation_Cell_Max_Power);
|
||||||
|
EditText editCellsArea = (EditText) dialogView.findViewById(R.id.EditLocation_Cells_Area);
|
||||||
|
EditText editCellsEfficiency = (EditText) dialogView.findViewById(R.id.EditLocation_Cell_Efficiency);
|
||||||
|
EditText editDiffuseEfficiency = (EditText) dialogView.findViewById(R.id.EditLocation_Diffuse_Efficiency);
|
||||||
|
EditText editConverterPowerLimit = (EditText) dialogView.findViewById(R.id.EditLocation_Converter_Power_Limit);
|
||||||
|
EditText editConverterEfficiency = (EditText) dialogView.findViewById(R.id.EditLocation_Converter_Efficiency);
|
||||||
|
|
||||||
|
editCity.setText(city.getCityName());
|
||||||
|
editLatitude.setText(Float.toString(city.getLatitude()));
|
||||||
|
editLongitude.setText(Float.toString(city.getLongitude()));
|
||||||
|
editAzimuth.setText(Float.toString(city.getAzimuthAngle()));
|
||||||
|
editElevation.setText(Float.toString(city.getElevationAngle()));
|
||||||
|
editCellsMaxPower.setText(Float.toString(city.getCellsMaxPower()));
|
||||||
|
editCellsArea.setText(Float.toString(city.getCellsArea()));
|
||||||
|
editCellsEfficiency.setText(Float.toString(city.getCellsEfficiency()));
|
||||||
|
editDiffuseEfficiency.setText(Float.toString(city.getDiffuseEfficiency()));
|
||||||
|
editConverterPowerLimit.setText(Float.toString(city.getConverterPowerLimit()));
|
||||||
|
editConverterEfficiency.setText(Float.toString(city.getConverterEfficiency()));
|
||||||
|
editElevation.addTextChangedListener(new TextWatcher() {
|
||||||
|
@Override
|
||||||
|
public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) { }
|
||||||
|
@Override
|
||||||
|
public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) { }
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void afterTextChanged(Editable editable) {
|
||||||
|
float elevation = Float.parseFloat("0"+editElevation.getText().toString());
|
||||||
|
editDiffuseEfficiency.setText(Float.toString(100-50 * elevation/90));
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
alert.setPositiveButton(getString(R.string.dialog_edit_change_button), (dialog, whichButton) -> {
|
||||||
|
adapter.updateCity(city, String.valueOf(editCity.getText()),
|
||||||
|
Float.parseFloat("0"+editLatitude.getText().toString()),
|
||||||
|
Float.parseFloat("0"+editLongitude.getText().toString()),
|
||||||
|
Float.parseFloat("0"+editAzimuth.getText().toString()),
|
||||||
|
Float.parseFloat("0"+editElevation.getText().toString()),
|
||||||
|
Float.parseFloat("0"+editCellsMaxPower.getText().toString()),
|
||||||
|
Float.parseFloat("0"+editCellsArea.getText().toString()),
|
||||||
|
Float.parseFloat("0"+editCellsEfficiency.getText().toString()),
|
||||||
|
Float.parseFloat("0"+editDiffuseEfficiency.getText().toString()),
|
||||||
|
Float.parseFloat("0"+editConverterPowerLimit.getText().toString()),
|
||||||
|
Float.parseFloat("0"+editConverterEfficiency.getText().toString())
|
||||||
|
);
|
||||||
|
});
|
||||||
|
alert.setNegativeButton(getString(R.string.dialog_add_close_button), (dialog, whichButton) -> {
|
||||||
|
});
|
||||||
|
|
||||||
|
alert.show();
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onResume() {
|
protected void onResume() {
|
||||||
super.onResume();
|
super.onResume();
|
||||||
|
@ -191,6 +196,7 @@ public class ManageLocationsActivity extends NavigationActivity {
|
||||||
newCity.setCityId((int) id); //use id also instead of city id as unique identifier
|
newCity.setCityId((int) id); //use id also instead of city id as unique identifier
|
||||||
cities.add(newCity);
|
cities.add(newCity);
|
||||||
adapter.notifyDataSetChanged();
|
adapter.notifyDataSetChanged();
|
||||||
|
editCityToWatch(newCity);
|
||||||
}
|
}
|
||||||
private CityToWatch convertCityToWatched(City selectedCity) {
|
private CityToWatch convertCityToWatched(City selectedCity) {
|
||||||
|
|
||||||
|
|
|
@ -118,8 +118,7 @@ public class RecyclerOverviewListAdapter extends RecyclerView.Adapter<ItemViewHo
|
||||||
public CityToWatch getCitytoWatch(int position){
|
public CityToWatch getCitytoWatch(int position){
|
||||||
return cities.get(position);
|
return cities.get(position);
|
||||||
}
|
}
|
||||||
public void updateCity(int position, String cityName, float latitude, float longitude, float azimuth, float elevation, float cellsMaxPower, float cellsArea, float cellsEfficiency, float diffuseEfficiency, float converterPowerLimit, float converterEfficiency) {
|
public void updateCity(CityToWatch cityToWatch, String cityName, float latitude, float longitude, float azimuth, float elevation, float cellsMaxPower, float cellsArea, float cellsEfficiency, float diffuseEfficiency, float converterPowerLimit, float converterEfficiency) {
|
||||||
CityToWatch cityToWatch = cities.get(position);
|
|
||||||
cityToWatch.setCityName(cityName);
|
cityToWatch.setCityName(cityName);
|
||||||
cityToWatch.setLatitude(latitude);
|
cityToWatch.setLatitude(latitude);
|
||||||
cityToWatch.setLongitude(longitude);
|
cityToWatch.setLongitude(longitude);
|
||||||
|
@ -132,6 +131,6 @@ public class RecyclerOverviewListAdapter extends RecyclerView.Adapter<ItemViewHo
|
||||||
cityToWatch.setConverterPowerLimit(converterPowerLimit);
|
cityToWatch.setConverterPowerLimit(converterPowerLimit);
|
||||||
cityToWatch.setConverterEfficiency(converterEfficiency);
|
cityToWatch.setConverterEfficiency(converterEfficiency);
|
||||||
database.updateCityToWatch(cityToWatch);
|
database.updateCityToWatch(cityToWatch);
|
||||||
notifyItemChanged(position);
|
notifyDataSetChanged();
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -97,23 +97,6 @@
|
||||||
android:gravity="center_horizontal"
|
android:gravity="center_horizontal"
|
||||||
android:text="@string/about_license_text" />
|
android:text="@string/about_license_text" />
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/textFieldPermissions"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_gravity="center_horizontal"
|
|
||||||
android:layout_marginTop="10dp"
|
|
||||||
android:text="@string/about_permissions"
|
|
||||||
android:textStyle="bold" />
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_gravity="center_horizontal"
|
|
||||||
android:layout_marginTop="5dp"
|
|
||||||
android:gravity="center_horizontal"
|
|
||||||
android:text="@string/about_permission_internet_description" />
|
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/textFieldPrivacy"
|
android:id="@+id/textFieldPrivacy"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
|
|
|
@ -4,10 +4,8 @@
|
||||||
<string name="about">Über</string>
|
<string name="about">Über</string>
|
||||||
<string name="about_privacy_heading">Privatsphäre-Informationen</string>
|
<string name="about_privacy_heading">Privatsphäre-Informationen</string>
|
||||||
<string name="about_more_info">Mehr Informationen können gefunden werden auf:</string>
|
<string name="about_more_info">Mehr Informationen können gefunden werden auf:</string>
|
||||||
<string name="about_permission_internet_description">Zugriff auf alle Netzwerke: Diese Berechtigung "wird benötigt, um Wetter-Anfragen an Server zu stellen, die sich im Internet befinden. Ohne diese Berechtigung können keine Wetter-Daten bezogen werden. Optional: Berechtigung für GPS.</string>
|
|
||||||
<string name="about_license_text">Diese App ist abgeleitet von Privacy Friendly Weather, entwickelt von der Forschungsgruppe SECUSO. Quelltext lizenziert unter GPLv3. Die App benutzt Icons von Google Material Design Icons, lizenziert unter Apache License Version 2.0, die Leaflet Bibliothek, lizenziert unter 2-clause BSD License, lizenziert unter der Apache License Version 2.0, AutoSuggestTextViewAPICall, lizenziert unter der Apache License Version 2.0, Solarpositioning (net.e175.klaus:solarpositioning), lizenziert unter MIT Lizenz und die WilliamChart Bibliothek (com.db.chart), lizenziert unter der Apache License Version 2.0</string>
|
<string name="about_license_text">Diese App ist abgeleitet von Privacy Friendly Weather, entwickelt von der Forschungsgruppe SECUSO. Quelltext lizenziert unter GPLv3. Die App benutzt Icons von Google Material Design Icons, lizenziert unter Apache License Version 2.0, die Leaflet Bibliothek, lizenziert unter 2-clause BSD License, lizenziert unter der Apache License Version 2.0, AutoSuggestTextViewAPICall, lizenziert unter der Apache License Version 2.0, Solarpositioning (net.e175.klaus:solarpositioning), lizenziert unter MIT Lizenz und die WilliamChart Bibliothek (com.db.chart), lizenziert unter der Apache License Version 2.0</string>
|
||||||
<string name="about_license">Lizenz</string>
|
<string name="about_license">Lizenz</string>
|
||||||
<string name="about_permissions">Berechtigungen</string>
|
|
||||||
<string name="about_privacy_answer">solarCast benötigt nur Zugang zum Internet. Es werden weder persönliche Daten gesammelt, noch wird Werbung angezeigt.</string>
|
<string name="about_privacy_answer">solarCast benötigt nur Zugang zum Internet. Es werden weder persönliche Daten gesammelt, noch wird Werbung angezeigt.</string>
|
||||||
<string name="about_where_from">Woher kommen die Wetterinformationen?</string>
|
<string name="about_where_from">Woher kommen die Wetterinformationen?</string>
|
||||||
<string name="about_where_from_answer">Die Wetterinformationen stammen von</string>
|
<string name="about_where_from_answer">Die Wetterinformationen stammen von</string>
|
||||||
|
@ -26,7 +24,7 @@
|
||||||
<string name="error_convert_to_json">Die erhaltenen Wetterdaten entsprachen nicht dem erwarteten Format.</string>
|
<string name="error_convert_to_json">Die erhaltenen Wetterdaten entsprachen nicht dem erwarteten Format.</string>
|
||||||
<string name="error_no_internet">Das Gerät ist nicht mit dem Internet verbunden!</string>
|
<string name="error_no_internet">Das Gerät ist nicht mit dem Internet verbunden!</string>
|
||||||
<string name="error_fetch_forecast">Es ist ein Fehler beim Abrufen der Wettervorhersage aufgetreten, bitte versuchen Sie es erneut!</string>
|
<string name="error_fetch_forecast">Es ist ein Fehler beim Abrufen der Wettervorhersage aufgetreten, bitte versuchen Sie es erneut!</string>
|
||||||
<string name="error_no_city_selected">Sie haben keine Stadt ausgewählt. Wählen Sie \"Orte verwalten\" in der Navigation, um eine Stadt auszuwählen.</string>
|
<string name="error_no_city_selected">Sie haben keinen Ort ausgewählt. Wählen Sie \"Orte verwalten\" in der Navigation, um einen Ort auszuwählen.</string>
|
||||||
<string name="dialog_add_add_button">Hinzufügen</string>
|
<string name="dialog_add_add_button">Hinzufügen</string>
|
||||||
<string name="dialog_add_close_button">Schließen</string>
|
<string name="dialog_add_close_button">Schließen</string>
|
||||||
<string name="dialog_add_label">Ort, der hinzugefügt werden soll:</string>
|
<string name="dialog_add_label">Ort, der hinzugefügt werden soll:</string>
|
||||||
|
@ -61,7 +59,7 @@
|
||||||
<string name="slide2_text">Der Quellcode ist auf GitHub verfügbar. Weitere Informationen finden Sie auf der Über-Seite</string>
|
<string name="slide2_text">Der Quellcode ist auf GitHub verfügbar. Weitere Informationen finden Sie auf der Über-Seite</string>
|
||||||
<string name="card_error_content">Bitte versuchen Sie zu aktualisieren!</string>
|
<string name="card_error_content">Bitte versuchen Sie zu aktualisieren!</string>
|
||||||
<string name="card_error_heading">Fehler beim Abrufen der Wetterdaten</string>
|
<string name="card_error_heading">Fehler beim Abrufen der Wetterdaten</string>
|
||||||
<string name="long_press_text">Halten und ziehen Sie, um die Städte zu sortieren.</string>
|
<string name="long_press_text">Halten und ziehen Sie, um die Orte zu sortieren.</string>
|
||||||
<string name="swipe_to_delete">Wischen Sie zum Löschen</string>
|
<string name="swipe_to_delete">Wischen Sie zum Löschen</string>
|
||||||
<string name="infoProvider">Die Wetterinformationen stammen von Open-Meteo.com</string>
|
<string name="infoProvider">Die Wetterinformationen stammen von Open-Meteo.com</string>
|
||||||
|
|
||||||
|
@ -123,7 +121,7 @@
|
||||||
<string name="edit_location_hint_cells_max_power">Maximalleistung Zelle [W]</string>
|
<string name="edit_location_hint_cells_max_power">Maximalleistung Zelle [W]</string>
|
||||||
<string name="edit_location_hint_cells_efficiency">Wirkungsgrad Zelle [%]</string>
|
<string name="edit_location_hint_cells_efficiency">Wirkungsgrad Zelle [%]</string>
|
||||||
<string name="edit_location_hint_cells_area">Fläche Zelle [m\u00b2]</string>
|
<string name="edit_location_hint_cells_area">Fläche Zelle [m\u00b2]</string>
|
||||||
<string name="edit_location_hint_diffuse_efficiency">Effizenz diffuse Strahlung [%]</string>
|
<string name="edit_location_hint_diffuse_efficiency">Effizienz diffuse Strahlung [%]</string>
|
||||||
<string name="edit_location_hint_converter_power_limit">Leistung Wechselrichter [W]</string>
|
<string name="edit_location_hint_converter_power_limit">Leistung Wechselrichter [W]</string>
|
||||||
<string name="edit_location_hint_converter_efficiency">Effizienz Wechselrichter [%]</string>
|
<string name="edit_location_hint_converter_efficiency">Effizienz Wechselrichter [%]</string>
|
||||||
<string name="units_Wh">Wh</string>
|
<string name="units_Wh">Wh</string>
|
||||||
|
|
|
@ -22,7 +22,6 @@
|
||||||
<string name="card_error_heading">Error fetching weather data</string>
|
<string name="card_error_heading">Error fetching weather data</string>
|
||||||
<string name="card_error_content">Please try to update!</string>
|
<string name="card_error_content">Please try to update!</string>
|
||||||
<string name="about_privacy_heading">Privacy Info</string>
|
<string name="about_privacy_heading">Privacy Info</string>
|
||||||
<string name="about_permission_internet_description">Connecting to the Network: This permission is needed because weather data is retrieved by making requests to servers on the Internet. Without this permission, no weather data can be received. Optional: authorization for GPS.</string>
|
|
||||||
<string name="about">About</string>
|
<string name="about">About</string>
|
||||||
<string name="version_number" translatable="false">Version</string>
|
<string name="version_number" translatable="false">Version</string>
|
||||||
<string name="about_license">License</string>
|
<string name="about_license">License</string>
|
||||||
|
@ -54,7 +53,7 @@
|
||||||
<string name="error_convert_to_json">The retrieved weather data was not well-formed. </string>
|
<string name="error_convert_to_json">The retrieved weather data was not well-formed. </string>
|
||||||
<string name="error_no_internet">Your Device is not connected to the Internet</string>
|
<string name="error_no_internet">Your Device is not connected to the Internet</string>
|
||||||
<string name="error_fetch_forecast">Error while updating Forecast, please try again!</string>
|
<string name="error_fetch_forecast">Error while updating Forecast, please try again!</string>
|
||||||
<string name="error_no_city_selected">There is no city selected. To select a city go to \"Manage locations\".</string>
|
<string name="error_no_city_selected">There is no location selected. To select a location go to \"Manage locations\".</string>
|
||||||
<string name="settings_interval_quarter">15 min</string>
|
<string name="settings_interval_quarter">15 min</string>
|
||||||
<string name="settings_interval_half">30 min</string>
|
<string name="settings_interval_half">30 min</string>
|
||||||
<string name="settings_interval_one">1 h</string>
|
<string name="settings_interval_one">1 h</string>
|
||||||
|
@ -68,7 +67,6 @@
|
||||||
<string name="about_privacy_answer">solarCast only uses the permission \"Internet\" to retrieve weather data. It further does not include any tracking mechanisms or advertisement.</string>
|
<string name="about_privacy_answer">solarCast only uses the permission \"Internet\" to retrieve weather data. It further does not include any tracking mechanisms or advertisement.</string>
|
||||||
<string name="about_where_from">Where do the weather informations come from?</string>
|
<string name="about_where_from">Where do the weather informations come from?</string>
|
||||||
<string name="about_where_from_answer">Weather information is fetched from</string>
|
<string name="about_where_from_answer">Weather information is fetched from</string>
|
||||||
<string name="about_permissions">Permissions</string>
|
|
||||||
<string name="long_press_text">Hold and drag to sort.</string>
|
<string name="long_press_text">Hold and drag to sort.</string>
|
||||||
<string name="swipe_to_delete">Swipe to delete</string>
|
<string name="swipe_to_delete">Swipe to delete</string>
|
||||||
<string name="settings_title_display_options">Display options</string>
|
<string name="settings_title_display_options">Display options</string>
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue