Merge commit '2601ec854a' into traffic

# Conflicts:
#	iphone/Maps/Model/Settings.swift
#	iphone/Maps/UI/Settings/SettingsNavigationView.swift
This commit is contained in:
mvglasow
2025-11-05 23:06:07 +02:00
561 changed files with 7632 additions and 4277 deletions

View File

@@ -1241,16 +1241,32 @@ JNIEXPORT jobject JNICALL Java_app_organicmaps_sdk_Framework_nativeGetRouteFollo
return CreateRoutingInfo(env, info, rm);
}
JNIEXPORT jobjectArray JNICALL Java_app_organicmaps_sdk_Framework_nativeGetRouteJunctionPoints(JNIEnv * env, jclass)
JNIEXPORT jobjectArray JNICALL Java_app_organicmaps_sdk_Framework_nativeGetRouteJunctionPoints(JNIEnv * env, jclass,
jdouble maxDistM)
{
vector<geometry::PointWithAltitude> junctionPoints;
if (!frm()->GetRoutingManager().RoutingSession().GetRouteJunctionPoints(junctionPoints))
vector<geometry::PointWithAltitude> points;
if (!frm()->GetRoutingManager().RoutingSession().GetRouteJunctionPoints(points))
{
LOG(LWARNING, ("Can't get the route junction points"));
return nullptr;
}
return CreateJunctionInfoArray(env, junctionPoints);
vector<geometry::PointWithAltitude> result;
result.reserve(points.size());
result.push_back(points[0]);
for (size_t i = 1; i < points.size(); ++i)
{
double const dist = ms::DistanceOnEarth(points[i - 1].ToLatLon(), points[i].ToLatLon());
if (dist > maxDistM)
{
int const steps = static_cast<int>(dist / maxDistM) + 1;
for (int s = 1; s < steps; ++s)
result.push_back(points[i - 1].Interpolate(points[i], static_cast<double>(s) / steps));
}
result.push_back(points[i]);
}
return CreateJunctionInfoArray(env, result);
}
JNIEXPORT jintArray JNICALL Java_app_organicmaps_sdk_Framework_nativeGenerateRouteAltitudeChartBits(
@@ -1592,6 +1608,33 @@ JNIEXPORT jstring JNICALL Java_app_organicmaps_sdk_Framework_nativeGetActiveObje
return jni::ToJavaString(env, g_framework->GetPlacePageInfo().FormatCuisines());
}
JNIEXPORT jobjectArray JNICALL Java_app_organicmaps_sdk_Framework_nativeGetActiveObjectChargeSockets(JNIEnv * env,
jclass)
{
auto sockets = g_framework->GetPlacePageInfo().GetChargeSockets();
jclass descClass = env->FindClass("app/organicmaps/sdk/bookmarks/data/ChargeSocketDescriptor");
jmethodID ctor = env->GetMethodID(descClass, "<init>", "(Ljava/lang/String;ID)V");
// Create a Java array
jobjectArray result = env->NewObjectArray(sockets.size(), descClass, nullptr);
for (size_t i = 0; i < sockets.size(); ++i)
{
auto const & s = sockets[i];
jstring jType = env->NewStringUTF(s.type.c_str());
jobject jDesc = env->NewObject(descClass, ctor, jType, (jint)s.count, (jdouble)s.power);
env->SetObjectArrayElement(result, i, jDesc);
env->DeleteLocalRef(jType);
env->DeleteLocalRef(jDesc);
}
return result;
}
JNIEXPORT void JNICALL Java_app_organicmaps_sdk_Framework_nativeSetVisibleRect(JNIEnv * env, jclass, jint left,
jint top, jint right, jint bottom)
{

View File

@@ -7,6 +7,7 @@
#include "indexer/cuisines.hpp"
#include "indexer/editable_map_object.hpp"
#include "indexer/feature_charge_sockets.hpp"
#include "indexer/feature_utils.hpp"
#include "indexer/validate_and_format_contacts.hpp"
@@ -94,6 +95,64 @@ JNIEXPORT void JNICALL Java_app_organicmaps_sdk_editor_Editor_nativeSetOpeningHo
g_editableMapObject.SetOpeningHours(jni::ToNativeString(env, value));
}
JNIEXPORT jobjectArray JNICALL Java_app_organicmaps_sdk_editor_Editor_nativeGetChargeSockets(JNIEnv * env, jclass)
{
auto sockets = g_editableMapObject.GetChargeSockets();
jclass descClass = env->FindClass("app/organicmaps/sdk/bookmarks/data/ChargeSocketDescriptor");
jmethodID ctor = env->GetMethodID(descClass, "<init>", "(Ljava/lang/String;ID)V");
// Create a Java array
jobjectArray result = env->NewObjectArray(sockets.size(), descClass, nullptr);
for (size_t i = 0; i < sockets.size(); ++i)
{
auto const & s = sockets[i];
jstring jType = env->NewStringUTF(s.type.c_str());
jobject jDesc = env->NewObject(descClass, ctor, jType, (jint)s.count, (jdouble)s.power);
env->SetObjectArrayElement(result, i, jDesc);
env->DeleteLocalRef(jType);
env->DeleteLocalRef(jDesc);
}
return result;
}
JNIEXPORT void JNICALL Java_app_organicmaps_sdk_editor_Editor_nativeSetChargeSockets(JNIEnv * env, jclass,
jobjectArray jSockets)
{
ChargeSocketsHelper chargeSockets;
jsize len = env->GetArrayLength(jSockets);
jclass descClass = env->FindClass("app/organicmaps/sdk/bookmarks/data/ChargeSocketDescriptor");
jfieldID fidType = env->GetFieldID(descClass, "type", "Ljava/lang/String;");
jfieldID fidCount = env->GetFieldID(descClass, "count", "I");
jfieldID fidPower = env->GetFieldID(descClass, "power", "D");
for (jsize i = 0; i < len; ++i)
{
jobject jDesc = env->GetObjectArrayElement(jSockets, i);
jstring jType = (jstring)env->GetObjectField(jDesc, fidType);
char const * cType = env->GetStringUTFChars(jType, nullptr);
jint count = env->GetIntField(jDesc, fidCount);
jdouble power = env->GetDoubleField(jDesc, fidPower);
chargeSockets.AddSocket(cType, static_cast<unsigned int>(count), static_cast<double>(power));
env->ReleaseStringUTFChars(jType, cType);
env->DeleteLocalRef(jType);
env->DeleteLocalRef(jDesc);
}
g_editableMapObject.SetChargeSockets(chargeSockets.ToString());
}
JNIEXPORT jstring JNICALL Java_app_organicmaps_sdk_editor_Editor_nativeGetMetadata(JNIEnv * env, jclass, jint id)
{
auto const metaID = static_cast<osm::MapObject::MetadataID>(id);
@@ -167,15 +226,6 @@ JNIEXPORT jboolean JNICALL Java_app_organicmaps_sdk_editor_Editor_nativeShouldSh
return g_framework->GetPlacePageInfo().ShouldShowEditPlace();
}
JNIEXPORT jboolean JNICALL Java_app_organicmaps_sdk_editor_Editor_nativeShouldShowAddBusiness(JNIEnv *, jclass)
{
::Framework * frm = g_framework->NativeFramework();
if (!frm->HasPlacePageInfo())
return static_cast<jboolean>(false);
return g_framework->GetPlacePageInfo().ShouldShowAddBusiness();
}
JNIEXPORT jboolean JNICALL Java_app_organicmaps_sdk_editor_Editor_nativeShouldShowAddPlace(JNIEnv *, jclass)
{
::Framework * frm = g_framework->NativeFramework();

View File

@@ -2,8 +2,6 @@
#include "app/organicmaps/sdk/core/jni_helper.hpp"
#include "geometry/point_with_altitude.hpp"
#include <vector>
jobjectArray CreateJunctionInfoArray(JNIEnv * env, std::vector<geometry::PointWithAltitude> const & junctionPoints)
@@ -15,7 +13,7 @@ jobjectArray CreateJunctionInfoArray(JNIEnv * env, std::vector<geometry::PointWi
return jni::ToJavaArray(env, junctionClazz, junctionPoints,
[](JNIEnv * env, geometry::PointWithAltitude const & pointWithAltitude)
{
auto & point = pointWithAltitude.GetPoint();
return env->NewObject(junctionClazz, junctionConstructor, mercator::YToLat(point.y), mercator::XToLon(point.x));
auto const & ll = pointWithAltitude.ToLatLon();
return env->NewObject(junctionClazz, junctionConstructor, ll.m_lat, ll.m_lon);
});
}

View File

@@ -8,6 +8,7 @@ import androidx.annotation.Size;
import app.organicmaps.sdk.api.ParsedRoutingData;
import app.organicmaps.sdk.api.ParsedSearchRequest;
import app.organicmaps.sdk.api.RequestType;
import app.organicmaps.sdk.bookmarks.data.ChargeSocketDescriptor;
import app.organicmaps.sdk.bookmarks.data.DistanceAndAzimut;
import app.organicmaps.sdk.bookmarks.data.FeatureId;
import app.organicmaps.sdk.bookmarks.data.MapObject;
@@ -200,7 +201,8 @@ public class Framework
public static native RoutingInfo nativeGetRouteFollowingInfo();
@Nullable
public static native JunctionInfo[] nativeGetRouteJunctionPoints();
/// @param[in] maxDistM Max distance between points in meters.
public static native JunctionInfo[] nativeGetRouteJunctionPoints(double maxDistM);
@Nullable
public static native final int[] nativeGenerateRouteAltitudeChartBits(int width, int height,
@@ -304,6 +306,8 @@ public class Framework
public static native String nativeGetActiveObjectFormattedCuisine();
public static native ChargeSocketDescriptor[] nativeGetActiveObjectChargeSockets();
public static native void nativeSetVisibleRect(int left, int top, int right, int bottom);
// Navigation.

View File

@@ -21,7 +21,6 @@ public final class Map
void report();
}
public static final String ARG_LAUNCH_BY_DEEP_LINK = "launch_by_deep_link";
private static final String TAG = Map.class.getSimpleName();
// Should correspond to android::MultiTouchAction from Framework.cpp
@@ -220,11 +219,10 @@ public final class Map
mMapRenderingListener.onRenderingRestored();
}
public void onSurfaceDestroyed(boolean activityIsChangingConfigurations, boolean isAdded)
public void onSurfaceDestroyed(boolean activityIsChangingConfigurations)
{
Logger.d(TAG, "mSurfaceCreated = " + mSurfaceCreated + ", mSurfaceAttached = " + mSurfaceAttached
+ ", isAdded = " + isAdded);
if (!mSurfaceCreated || !mSurfaceAttached || !isAdded)
Logger.d(TAG, "mSurfaceCreated = " + mSurfaceCreated + ", mSurfaceAttached = " + mSurfaceAttached);
if (!mSurfaceCreated || !mSurfaceAttached)
return;
nativeDetachSurface(!activityIsChangingConfigurations);
@@ -261,7 +259,7 @@ public final class Map
nativeSetRenderingInitializationFinishedListener(null);
}
public void onPause(final Context context)
public void onPause()
{
mUiThemeOnPause = Config.UiTheme.getCurrent();
@@ -282,7 +280,7 @@ public final class Map
return mSurfaceCreated;
}
public void onScroll(double distanceX, double distanceY)
public static void onScroll(double distanceX, double distanceY)
{
Map.nativeOnScroll(distanceX, distanceY);
}
@@ -331,6 +329,11 @@ public final class Map
nativeExecuteMapApiRequest();
}
public DisplayType getDisplayType()
{
return mDisplayType;
}
private void setupWidgets(final Context context, int width, int height)
{
mHeight = height;

View File

@@ -0,0 +1,107 @@
package app.organicmaps.sdk;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.lifecycle.DefaultLifecycleObserver;
import androidx.lifecycle.LifecycleOwner;
import app.organicmaps.sdk.location.LocationHelper;
import app.organicmaps.sdk.util.log.Logger;
public class MapController implements DefaultLifecycleObserver
{
private static final String TAG_PEFRIX = MapController.class.getSimpleName();
@NonNull
private final String TAG;
@NonNull
private final MapView mMapView;
@NonNull
private final Map mMap;
@Nullable
private Runnable mOnSurfaceDestroyedListener = null;
public MapController(@NonNull MapView mapView, @NonNull LocationHelper locationHelper,
@NonNull MapRenderingListener mapRenderingListener,
@Nullable Map.CallbackUnsupported callbackUnsupported, boolean launchByDeepLink)
{
mMapView = mapView;
mMap = mMapView.getMap();
mMap.onCreate(launchByDeepLink);
mMap.setLocationHelper(locationHelper);
mMap.setMapRenderingListener(mapRenderingListener);
mMap.setCallbackUnsupported(callbackUnsupported);
TAG = TAG_PEFRIX + "[" + mMap.getDisplayType() + "]";
}
public MapView getView()
{
return mMapView;
}
public boolean isRenderingActive()
{
return Map.isEngineCreated() && mMap.isContextCreated();
}
public void updateCompassOffset(int offsetX, int offsetY)
{
mMap.updateCompassOffset(mMapView.getContext(), offsetX, offsetY, true);
}
public void updateBottomWidgetsOffset(int offsetX, int offsetY)
{
mMap.updateBottomWidgetsOffset(mMapView.getContext(), offsetX, offsetY);
}
public void updateMyPositionRoutingOffset(int offsetY)
{
mMap.updateMyPositionRoutingOffset(offsetY);
}
public void setOnDestroyListener(@NonNull Runnable task)
{
mOnSurfaceDestroyedListener = task;
}
@Override
public void onStart(@NonNull LifecycleOwner owner)
{
Logger.d(TAG);
mMap.onStart();
}
@Override
public void onResume(@NonNull LifecycleOwner owner)
{
Logger.d(TAG);
mMap.onResume();
}
@Override
public void onPause(@NonNull LifecycleOwner owner)
{
Logger.d(TAG);
mMap.onPause();
}
@Override
public void onStop(@NonNull LifecycleOwner owner)
{
Logger.d(TAG);
mMap.onStop();
}
@Override
public void onDestroy(@NonNull LifecycleOwner owner)
{
Logger.d(TAG);
mMap.setMapRenderingListener(null);
mMap.setCallbackUnsupported(null);
if (mOnSurfaceDestroyedListener != null)
{
mOnSurfaceDestroyedListener.run();
mOnSurfaceDestroyedListener = null;
}
}
}

View File

@@ -0,0 +1,182 @@
package app.organicmaps.sdk;
import android.app.Activity;
import android.content.Context;
import android.content.ContextWrapper;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.util.AttributeSet;
import android.view.MotionEvent;
import android.view.SurfaceHolder;
import android.view.SurfaceView;
import androidx.annotation.NonNull;
import androidx.core.content.res.ConfigurationHelper;
import app.organicmaps.sdk.display.DisplayType;
import app.organicmaps.sdk.util.Utils;
import app.organicmaps.sdk.util.log.Logger;
public class MapView extends SurfaceView
{
private static final String TAG = MapView.class.getSimpleName();
private class SurfaceHolderCallback implements SurfaceHolder.Callback
{
@Override
public void surfaceCreated(@NonNull SurfaceHolder holder)
{
Logger.d(TAG);
mMap.onSurfaceCreated(MapView.this.getContext(), holder.getSurface(), holder.getSurfaceFrame(),
ConfigurationHelper.getDensityDpi(MapView.this.getResources()));
}
@Override
public void surfaceChanged(@NonNull SurfaceHolder holder, int format, int width, int height)
{
Logger.d(TAG);
mMap.onSurfaceChanged(MapView.this.getContext(), holder.getSurface(), holder.getSurfaceFrame(),
holder.isCreating());
}
@Override
public void surfaceDestroyed(@NonNull SurfaceHolder holder)
{
Logger.d(TAG);
mMap.onSurfaceDestroyed(isHostActivityChangingConfigurations());
}
}
@NonNull
private final Map mMap;
public MapView(Context context)
{
this(context, null, 0);
}
public MapView(Context context, DisplayType displayType)
{
this(context, null, 0, 0, displayType);
}
public MapView(Context context, AttributeSet attrs)
{
this(context, attrs, 0);
}
public MapView(Context context, AttributeSet attrs, int defStyleAttr)
{
this(context, attrs, defStyleAttr, 0);
}
public MapView(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes)
{
this(context, attrs, defStyleAttr, defStyleRes, DisplayType.Device);
}
private MapView(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes,
@NonNull DisplayType displayType)
{
super(context, attrs, defStyleAttr, defStyleRes);
mMap = new Map(displayType);
getHolder().addCallback(new SurfaceHolderCallback());
}
public final void onDraw(@NonNull Canvas canvas)
{
super.onDraw(canvas);
if (isInEditMode())
drawMapPreview(canvas);
}
@Override
public boolean onTouchEvent(@NonNull MotionEvent event)
{
int action = event.getActionMasked();
int pointerIndex = event.getActionIndex();
switch (action)
{
case MotionEvent.ACTION_POINTER_UP -> action = Map.NATIVE_ACTION_UP;
case MotionEvent.ACTION_UP ->
{
action = Map.NATIVE_ACTION_UP;
pointerIndex = 0;
}
case MotionEvent.ACTION_POINTER_DOWN -> action = Map.NATIVE_ACTION_DOWN;
case MotionEvent.ACTION_DOWN ->
{
action = Map.NATIVE_ACTION_DOWN;
pointerIndex = 0;
}
case MotionEvent.ACTION_MOVE ->
{
action = Map.NATIVE_ACTION_MOVE;
pointerIndex = Map.INVALID_POINTER_MASK;
}
case MotionEvent.ACTION_CANCEL -> action = Map.NATIVE_ACTION_CANCEL;
}
Map.onTouch(action, event, pointerIndex);
performClick();
return true;
}
@Override
public boolean performClick()
{
super.performClick();
return false;
}
@NonNull
Map getMap()
{
return mMap;
}
/// The function is called only in the design mode of Android Studio.
private void drawMapPreview(@NonNull Canvas canvas)
{
final int w = getWidth();
final int h = getHeight();
// Background
Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG);
paint.setStyle(Paint.Style.FILL);
if (Utils.isDarkMode(getContext()))
paint.setColor(Color.rgb(30, 30, 30));
else
paint.setColor(Color.rgb(245, 242, 230));
canvas.drawRect(0, 0, w, h, paint);
// Grid lines (lat/lon)
paint.setColor(Color.LTGRAY);
paint.setStrokeWidth(2f);
final int step = Math.min(w, h) / 6;
for (int i = 0; i < Math.max(w, h); i += step)
{
if (i < w)
canvas.drawLine(i, 0, i, h, paint);
if (i < h)
canvas.drawLine(0, i, w, i, paint);
}
}
private boolean isHostActivityChangingConfigurations()
{
Activity activity = findActivity(getContext());
return activity != null && activity.isChangingConfigurations();
}
private static Activity findActivity(Context context)
{
while (context instanceof ContextWrapper)
{
if (context instanceof Activity)
{
return (Activity) context;
}
context = ((ContextWrapper) context).getBaseContext();
}
return null;
}
}

View File

@@ -0,0 +1,7 @@
package app.organicmaps.sdk.bookmarks.data;
/**
* represents the details of the socket available on a particular charging station
*
*/
public record ChargeSocketDescriptor(String type, int count, double power) {}

View File

@@ -296,6 +296,11 @@ public class MapObject implements PlacePageData
mMetadata.addMetadata(type, value);
}
public boolean hasChargeSockets()
{
return !TextUtils.isEmpty(getMetadata(Metadata.MetadataType.FMD_CHARGE_SOCKETS));
}
public boolean hasPhoneNumber()
{
return !TextUtils.isEmpty(getMetadata(Metadata.MetadataType.FMD_PHONE_NUMBER));

View File

@@ -11,6 +11,7 @@ import java.util.Map;
public class Metadata implements Parcelable
{
// Values must correspond to the Metadata definition from indexer/feature_meta.hpp.
// Remember to also update IntRange below to match the max ID
public enum MetadataType
{
// Defined by classifier types now.
@@ -71,7 +72,7 @@ public class Metadata implements Parcelable
FMD_PANORAMAX(52),
FMD_CHECK_DATE(53),
FMD_CHECK_DATE_OPEN_HOURS(54),
//FMD_BRANCH(55),
FMD_BRANCH(55),
FMD_CHARGE_SOCKETS(56);
private final int mMetaType;
@@ -81,7 +82,7 @@ public class Metadata implements Parcelable
}
@NonNull
public static MetadataType fromInt(@IntRange(from = 1, to = 49) int metaType)
public static MetadataType fromInt(@IntRange(from = 1, to = 56) int metaType)
{
for (MetadataType type : values())
if (type.mMetaType == metaType)

View File

@@ -5,6 +5,7 @@ import androidx.annotation.NonNull;
import androidx.annotation.Size;
import androidx.annotation.WorkerThread;
import app.organicmaps.sdk.Framework;
import app.organicmaps.sdk.bookmarks.data.ChargeSocketDescriptor;
import app.organicmaps.sdk.bookmarks.data.Metadata;
import app.organicmaps.sdk.editor.data.FeatureCategory;
import app.organicmaps.sdk.editor.data.Language;
@@ -49,7 +50,6 @@ public final class Editor
}
public static native boolean nativeShouldShowEditPlace();
public static native boolean nativeShouldShowAddBusiness();
public static native boolean nativeShouldShowAddPlace();
public static native boolean nativeShouldEnableEditPlace();
public static native boolean nativeShouldEnableAddPlace();
@@ -63,6 +63,8 @@ public final class Editor
public static native void nativeSetMetadata(int id, String value);
public static native String nativeGetOpeningHours();
public static native void nativeSetOpeningHours(String openingHours);
public static native ChargeSocketDescriptor[] nativeGetChargeSockets();
public static native void nativeSetChargeSockets(ChargeSocketDescriptor[] sockets);
public static String nativeGetPhone()
{
return nativeGetMetadata(Metadata.MetadataType.FMD_PHONE_NUMBER.toInt());

View File

@@ -16,6 +16,7 @@ class RouteSimulationProvider extends BaseLocationProvider
private final JunctionInfo[] mPoints;
private int mCurrentPoint = 0;
private Location mPrev = null;
private boolean mActive = false;
RouteSimulationProvider(@NonNull Context context, @NonNull Listener listener, JunctionInfo[] points)
@@ -56,9 +57,20 @@ class RouteSimulationProvider extends BaseLocationProvider
location.setLatitude(mPoints[mCurrentPoint].mLat);
location.setLongitude(mPoints[mCurrentPoint].mLon);
location.setAccuracy(1.0f);
if (mPrev != null)
{
location.setSpeed(mPrev.distanceTo(location) / (INTERVAL_MS / 1000));
location.setBearing(mPrev.bearingTo(location));
}
location.setElapsedRealtimeNanos(SystemClock.elapsedRealtimeNanos());
location.setTime(System.currentTimeMillis());
mListener.onLocationChanged(location);
mCurrentPoint += 1;
mPrev = location;
UiThread.runLater(this::nextPoint, INTERVAL_MS);
}
}

View File

@@ -6,5 +6,6 @@ public enum RoadType
Toll,
Motorway,
Ferry,
Dirty
Dirty,
Steps
}

View File

@@ -6,6 +6,7 @@ import android.content.Intent;
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
import android.content.res.Configuration;
import android.content.res.Resources;
import android.os.Build;
import android.text.TextUtils;
@@ -346,4 +347,10 @@ public class Utils
{
return context.getResources().getDimensionPixelSize(id);
}
public static boolean isDarkMode(@NonNull Context context)
{
return (context.getResources().getConfiguration().uiMode & Configuration.UI_MODE_NIGHT_MASK)
== Configuration.UI_MODE_NIGHT_YES;
}
}

View File

@@ -0,0 +1,11 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="32dp"
android:height="32dp"
android:viewportWidth="32"
android:viewportHeight="32">
<path
android:pathData="M18.921,0A10.084,10.084 0,0 0,13.324 1.695L11.926,1.46 10.03,3.323 10.151,5.107A10.084,10.084 0,0 0,8.837 10.084,10.084 10.084,0 0,0 18.103,20.135v4.467c0,1.544 -3.833,1.622 -3.789,0.024v-0.012,-1.488c0,-0.817 -0.379,-1.549 -0.957,-2.211C12.779,20.253 11.921,19.675 10.859,19.675L2.995,19.675v1.778h7.865c0.394,0 0.819,0.243 1.159,0.632 0.34,0.389 0.515,0.937 0.515,1.042v1.451c-0.109,3.991 7.348,3.996 7.348,0.024v-4.479A10.084,10.084 0,0 0,29.005 10.084,10.084 10.084,0 0,0 27.691,5.107L27.812,3.323 25.917,1.46 24.518,1.695A10.084,10.084 0,0 0,18.921 0ZM18.922,1.858c1.346,0 2.441,1.095 2.441,2.441 -0,1.346 -1.095,2.443 -2.441,2.443 -1.346,-0 -2.443,-1.097 -2.443,-2.443 -0,-1.346 1.097,-2.441 2.443,-2.441zM18.922,2.291c-0.188,0 -0.336,0.149 -0.336,0.336 0,0.188 0.149,0.334 0.336,0.334 0.188,-0 0.334,-0.146 0.334,-0.334 0,-0.188 -0.147,-0.336 -0.334,-0.336zM18.184,2.581c-0.468,0.204 -0.779,0.517 -0.982,0.985 0.016,-0.001 0.025,-0.017 0.041,-0.017 0.414,-0 0.754,0.34 0.754,0.754 -0,0.415 -0.34,0.757 -0.754,0.757 -0.014,0 -0.022,-0.015 -0.036,-0.016 0.204,0.46 0.51,0.767 0.971,0.97 -0.001,-0.012 -0.014,-0.02 -0.014,-0.032 -0,-0.415 0.342,-0.754 0.757,-0.754 0.414,0 0.754,0.34 0.754,0.754 0,0.013 -0.013,0.02 -0.014,0.032 0.461,-0.202 0.767,-0.508 0.971,-0.968 -0.013,0.001 -0.021,0.014 -0.035,0.014 -0.414,-0 -0.756,-0.342 -0.756,-0.757 0,-0.414 0.342,-0.754 0.756,-0.754 0.016,-0 0.025,0.016 0.041,0.017 -0.203,-0.469 -0.515,-0.781 -0.983,-0.985 0.001,0.018 0.019,0.029 0.019,0.047 -0,0.414 -0.34,0.754 -0.754,0.754 -0.414,-0 -0.757,-0.34 -0.757,-0.754 -0,-0.018 0.018,-0.029 0.019,-0.047zM17.244,3.969c-0.188,0 -0.336,0.146 -0.336,0.334 0,0.188 0.149,0.336 0.336,0.336 0.188,0 0.336,-0.149 0.336,-0.336C17.58,4.116 17.432,3.969 17.244,3.969ZM20.6,3.969c-0.188,0 -0.336,0.146 -0.336,0.334 0,0.188 0.148,0.336 0.336,0.336 0.188,0 0.335,-0.149 0.335,-0.336 0,-0.188 -0.147,-0.334 -0.335,-0.334zM18.922,5.647c-0.188,0 -0.336,0.147 -0.336,0.335 0,0.188 0.149,0.336 0.336,0.336 0.188,-0 0.334,-0.149 0.334,-0.336 0,-0.188 -0.146,-0.335 -0.334,-0.335zM14.493,6.895a3.35,3.35 0,0 1,3.35 3.35,3.35 3.35,0 0,1 -3.35,3.35 3.35,3.35 0,0 1,-3.35 -3.35,3.35 3.35,0 0,1 3.35,-3.35zM23.473,6.895a3.35,3.35 0,0 1,3.35 3.35,3.35 3.35,0 0,1 -3.35,3.35 3.35,3.35 0,0 1,-3.35 -3.35,3.35 3.35,0 0,1 3.35,-3.35zM14.493,8.964a1.282,1.282 0,0 0,-1.282 1.282,1.282 1.282,0 0,0 1.282,1.282 1.282,1.282 0,0 0,1.282 -1.282,1.282 1.282,0 0,0 -1.282,-1.282zM23.473,8.964a1.282,1.282 0,0 0,-1.282 1.282,1.282 1.282,0 0,0 1.282,1.282 1.282,1.282 0,0 0,1.282 -1.282,1.282 1.282,0 0,0 -1.282,-1.282zM18.922,13.133c1.346,0 2.441,1.095 2.441,2.441 -0,1.346 -1.095,2.443 -2.441,2.443 -1.346,-0 -2.443,-1.097 -2.443,-2.443 -0,-1.346 1.097,-2.44 2.443,-2.441zM18.922,13.566c-0.188,0 -0.336,0.149 -0.336,0.336 0,0.188 0.149,0.335 0.336,0.335 0.188,-0 0.334,-0.147 0.334,-0.335 0,-0.188 -0.147,-0.336 -0.334,-0.336zM18.184,13.857c-0.468,0.204 -0.779,0.516 -0.982,0.985 0.016,-0.001 0.025,-0.017 0.041,-0.017 0.414,-0 0.754,0.34 0.754,0.754 -0,0.415 -0.34,0.756 -0.754,0.756 -0.014,0 -0.022,-0.014 -0.036,-0.015 0.204,0.46 0.51,0.766 0.971,0.969 -0.001,-0.012 -0.014,-0.02 -0.014,-0.032 -0,-0.415 0.342,-0.754 0.757,-0.754 0.414,0 0.754,0.34 0.754,0.754 0,0.013 -0.013,0.02 -0.014,0.032 0.461,-0.202 0.767,-0.507 0.971,-0.967 -0.013,0.001 -0.021,0.014 -0.035,0.014 -0.414,-0 -0.756,-0.342 -0.756,-0.756 0,-0.414 0.342,-0.754 0.756,-0.754 0.016,0 0.025,0.016 0.041,0.017 -0.203,-0.469 -0.515,-0.781 -0.983,-0.985 0.001,0.018 0.019,0.028 0.019,0.046 -0,0.414 -0.34,0.754 -0.754,0.754 -0.414,-0 -0.757,-0.34 -0.757,-0.754 -0,-0.018 0.018,-0.028 0.019,-0.046zM17.244,15.245c-0.188,0 -0.336,0.147 -0.336,0.335 0,0.188 0.149,0.336 0.336,0.336 0.188,0 0.336,-0.148 0.336,-0.336 -0,-0.188 -0.149,-0.335 -0.336,-0.335zM20.6,15.245c-0.188,0 -0.336,0.147 -0.336,0.335 0,0.188 0.148,0.336 0.336,0.336 0.188,0 0.335,-0.148 0.335,-0.336 0,-0.188 -0.147,-0.335 -0.335,-0.335zM18.922,16.923c-0.188,0 -0.336,0.147 -0.336,0.334 0,0.188 0.149,0.336 0.336,0.336 0.188,-0 0.334,-0.149 0.334,-0.336 0,-0.188 -0.146,-0.334 -0.334,-0.334z"
android:strokeWidth="0."
android:fillColor="#ffffff"
android:strokeColor="#00000000"/>
</vector>

View File

@@ -0,0 +1,11 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="32dp"
android:height="32dp"
android:viewportWidth="32"
android:viewportHeight="32">
<path
android:pathData="M18.37,0C14.867,0.011 11.102,0.424 8.557,2.593 7.056,3.872 6.964,6.177 6.961,8.123 6.962,13.896 11.701,18.661 17.753,18.973v4.602c0,1.588 -3.94,1.667 -3.895,0.025v-0.012,-1.53c0,-0.84 -0.389,-1.593 -0.983,-2.273 -0.594,-0.68 -1.476,-1.275 -2.568,-1.275L2.222,18.51v1.828h8.084c0.405,0 0.842,0.249 1.191,0.649 0.349,0.4 0.53,0.963 0.53,1.071v1.492c-0.112,4.102 7.553,4.108 7.553,0.025L19.581,18.928C25.379,18.338 29.778,13.678 29.778,8.123 29.776,6.177 29.683,3.872 28.182,2.593 25.637,0.424 21.872,0.011 18.37,0ZM18.397,1.544c1.05,0.004 2.089,0.131 3.095,0.376 -1.178,0.919 -1.73,1.858 -1.73,3.468 0,2.716 2.201,4.917 4.917,4.917 1.088,0 2.146,-0.361 3.007,-1.026 -0.065,1.966 -0.804,3.359 -2.003,4.799 -1.695,-1.441 -4.403,-1.883 -7.286,-1.883 -2.882,-0 -5.591,0.442 -7.286,1.883 -1.199,-1.44 -1.937,-2.833 -2.003,-4.799 0.861,0.665 1.919,1.026 3.007,1.026 2.716,-0 4.917,-2.201 4.917,-4.917C17.032,3.779 16.479,2.84 15.301,1.921 16.307,1.675 17.347,1.548 18.397,1.544ZM12.393,2.595c1.671,-0 3.026,1.355 3.026,3.026 -0,1.671 -1.355,3.026 -3.026,3.026C10.721,8.647 9.367,7.293 9.367,5.622 9.367,3.951 10.721,2.596 12.393,2.595ZM24.347,2.595c1.671,0 3.026,1.355 3.026,3.026 -0,1.671 -1.355,3.026 -3.026,3.026 -1.671,0 -3.026,-1.355 -3.026,-3.026 -0,-1.671 1.355,-3.026 3.026,-3.026zM18.37,13.029c0.783,-0 1.418,0.635 1.419,1.418 0,0.784 -0.635,1.419 -1.419,1.419 -0.784,0 -1.419,-0.635 -1.419,-1.419 0,-0.783 0.635,-1.418 1.419,-1.418zM13.61,13.849c0.47,-0 0.851,0.381 0.851,0.851 0,0.47 -0.381,0.851 -0.851,0.851 -0.47,0 -0.851,-0.381 -0.851,-0.851 -0,-0.47 0.381,-0.851 0.851,-0.851zM23.129,13.849c0.47,-0 0.851,0.381 0.851,0.851 0,0.47 -0.381,0.851 -0.851,0.851 -0.47,0 -0.851,-0.381 -0.851,-0.851 -0,-0.47 0.381,-0.851 0.851,-0.851z"
android:strokeWidth="0."
android:fillColor="#ffffff"
android:strokeColor="#00000000"/>
</vector>

View File

@@ -0,0 +1,11 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="32dp"
android:height="32dp"
android:viewportWidth="32"
android:viewportHeight="32">
<path
android:pathData="M18.983,0C13.413,0 8.898,4.516 8.898,10.086c-0,4.138 2.527,7.856 6.374,9.379 0.254,1.362 1.425,2.392 2.852,2.434L18.124,26.295c0,1.553 -3.854,1.631 -3.81,0.024L14.313,26.307 14.313,24.811c0,-0.822 -0.381,-1.558 -0.962,-2.224 -0.581,-0.666 -1.444,-1.247 -2.512,-1.247L2.931,21.34v1.788L10.839,23.128c0.396,0 0.824,0.244 1.165,0.635 0.342,0.391 0.518,0.942 0.518,1.048v1.46c-0.11,4.013 7.389,4.019 7.389,0.024v-4.4c1.396,-0.072 2.534,-1.091 2.784,-2.431 3.847,-1.523 6.374,-5.241 6.374,-9.379C29.069,4.515 24.554,-0 18.983,0ZM18.984,1.364c4.835,0 8.755,3.92 8.755,8.755 0,4.026 -2.746,7.534 -6.655,8.5v0.626c0,0.676 -0.544,1.22 -1.22,1.22h-1.76c-0.676,0 -1.22,-0.544 -1.22,-1.22v-0.626c-3.909,-0.966 -6.655,-4.473 -6.655,-8.5 0,-4.835 3.92,-8.755 8.755,-8.755zM19.006,2.595c-4.117,0 -7.454,3.337 -7.454,7.454 0,4.117 3.337,7.454 7.454,7.454 4.117,-0 7.454,-3.337 7.454,-7.454 -0,-4.117 -3.337,-7.454 -7.454,-7.454zM16.03,5.134c1.19,0 2.154,0.964 2.154,2.154 -0,1.19 -0.964,2.154 -2.154,2.154 -1.19,-0 -2.154,-0.964 -2.154,-2.154 0,-1.19 0.964,-2.154 2.154,-2.154zM21.937,5.134c1.19,0 2.154,0.964 2.154,2.154 -0,1.19 -0.964,2.154 -2.154,2.154 -1.19,-0 -2.154,-0.964 -2.154,-2.154 0,-1.19 0.964,-2.154 2.154,-2.154zM16.03,6.634c-0.361,-0 -0.653,0.292 -0.653,0.653 0,0.361 0.293,0.653 0.653,0.653 0.36,-0 0.652,-0.292 0.653,-0.653 0,-0.361 -0.292,-0.653 -0.653,-0.653zM21.937,6.634c-0.361,-0 -0.653,0.292 -0.653,0.653 0,0.361 0.293,0.653 0.653,0.653 0.36,-0 0.652,-0.292 0.653,-0.653C22.59,6.927 22.298,6.635 21.937,6.634ZM14.807,10.111c0.878,0 1.59,0.712 1.59,1.59 -0,0.878 -0.712,1.59 -1.59,1.59 -0.878,-0 -1.59,-0.712 -1.59,-1.59 0,-0.878 0.712,-1.59 1.59,-1.59zM23.16,10.111c0.878,0 1.59,0.712 1.59,1.59 -0,0.878 -0.712,1.59 -1.59,1.59 -0.878,-0 -1.59,-0.712 -1.59,-1.59 0,-0.878 0.712,-1.59 1.59,-1.59zM14.807,11.257c-0.245,-0 -0.443,0.198 -0.443,0.443 0,0.245 0.199,0.443 0.443,0.443 0.244,-0 0.443,-0.198 0.443,-0.443 -0,-0.244 -0.198,-0.443 -0.443,-0.443zM23.16,11.257c-0.245,-0 -0.443,0.198 -0.443,0.443 0,0.245 0.199,0.443 0.443,0.443 0.244,-0 0.442,-0.198 0.442,-0.443 -0,-0.244 -0.198,-0.442 -0.442,-0.443zM18.984,12.012c1.19,0 2.154,0.964 2.154,2.154 -0,1.19 -0.964,2.154 -2.154,2.154 -1.19,-0 -2.154,-0.964 -2.154,-2.154 0,-1.19 0.964,-2.154 2.154,-2.154zM18.984,13.513c-0.361,-0 -0.653,0.292 -0.653,0.653 0,0.361 0.293,0.653 0.653,0.653 0.36,-0 0.652,-0.292 0.653,-0.653 0,-0.361 -0.292,-0.653 -0.653,-0.653z"
android:strokeWidth="0."
android:fillColor="#ffffff"
android:strokeColor="#00000000"/>
</vector>

View File

@@ -0,0 +1,11 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="32dp"
android:height="32dp"
android:viewportWidth="32"
android:viewportHeight="32">
<path
android:pathData="M10.219,0C7.793,1.972 5.557,5.068 5.557,8.355 5.557,14.122 10.232,18.798 16,18.798 21.768,18.798 26.443,14.122 26.443,8.355 26.443,5.067 24.206,1.972 21.78,0ZM13.393,3.191c0.881,-0 1.596,0.714 1.596,1.595 0,0.881 -0.714,1.596 -1.596,1.596 -0.881,-0 -1.595,-0.715 -1.595,-1.596 0,-0.881 0.714,-1.595 1.595,-1.595zM18.392,3.191c0.881,0 1.595,0.714 1.595,1.595 0,0.881 -0.714,1.596 -1.595,1.596 -0.881,0 -1.596,-0.714 -1.596,-1.596 0,-0.881 0.715,-1.595 1.596,-1.595zM10.758,6.306c1.068,-0 1.933,0.865 1.933,1.933 0,1.068 -0.865,1.933 -1.933,1.933 -1.068,-0 -1.933,-0.866 -1.933,-1.933 0,-1.067 0.865,-1.933 1.933,-1.933zM15.893,6.306c1.068,-0 1.933,0.865 1.933,1.933 0,1.068 -0.865,1.933 -1.933,1.933 -1.068,-0 -1.933,-0.866 -1.933,-1.933 0,-1.067 0.865,-1.933 1.933,-1.933zM21.027,6.306c1.068,-0 1.933,0.865 1.933,1.933 0,1.068 -0.865,1.933 -1.933,1.933 -1.068,-0 -1.933,-0.866 -1.933,-1.933 0,-1.067 0.865,-1.933 1.933,-1.933zM13.296,10.889c1.068,-0 1.933,0.865 1.933,1.933 -0,1.068 -0.866,1.933 -1.933,1.933 -1.067,-0 -1.933,-0.865 -1.933,-1.933 -0,-1.068 0.865,-1.933 1.933,-1.933zM18.489,10.889c1.068,0 1.933,0.866 1.933,1.933 -0,1.067 -0.865,1.933 -1.933,1.933 -1.067,-0 -1.933,-0.865 -1.933,-1.933 -0,-1.068 0.865,-1.933 1.933,-1.933z"
android:strokeWidth="0."
android:fillColor="#ffffff"
android:strokeColor="#00000000"/>
</vector>

View File

@@ -0,0 +1,11 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="32dp"
android:height="32dp"
android:viewportWidth="32"
android:viewportHeight="32">
<path
android:pathData="M12.757,0C10.35,1.957 8.131,5.029 8.131,8.29c0,5.402 4.133,9.838 9.409,10.32v4.269c0,1.472 -3.652,1.545 -3.611,0.023v-0.011,-1.418c0,-0.779 -0.361,-1.476 -0.912,-2.107 -0.551,-0.631 -1.368,-1.182 -2.38,-1.182L3.144,18.183v1.694L10.638,19.878c0.375,0 0.781,0.231 1.104,0.602 0.324,0.371 0.491,0.892 0.491,0.993v1.383c-0.104,3.802 7.002,3.808 7.002,0.023L19.234,18.627C24.612,18.247 28.856,13.764 28.856,8.29 28.856,5.029 26.636,1.957 24.229,0ZM15.907,3.166c0.874,-0 1.583,0.709 1.583,1.583 0,0.875 -0.709,1.584 -1.583,1.583 -0.874,-0 -1.583,-0.709 -1.583,-1.583 0,-0.874 0.709,-1.583 1.583,-1.583zM20.867,3.166c0.874,0 1.583,0.709 1.583,1.583 0,0.874 -0.709,1.583 -1.583,1.583 -0.875,0 -1.584,-0.709 -1.583,-1.583 0,-0.874 0.709,-1.583 1.583,-1.583zM13.292,6.257c1.059,-0 1.918,0.859 1.918,1.918 0,1.06 -0.859,1.919 -1.918,1.918 -1.059,-0 -1.918,-0.859 -1.918,-1.918 0,-1.059 0.859,-1.918 1.918,-1.918zM18.387,6.257c1.059,-0 1.918,0.859 1.918,1.918 0,1.06 -0.859,1.919 -1.918,1.918 -1.059,-0 -1.918,-0.859 -1.918,-1.918 0,-1.059 0.859,-1.918 1.918,-1.918zM23.482,6.257c1.059,-0 1.918,0.859 1.918,1.918 0,1.06 -0.859,1.919 -1.918,1.918 -1.059,-0 -1.918,-0.859 -1.918,-1.918 0,-1.059 0.859,-1.918 1.918,-1.918zM15.81,10.805c1.06,-0 1.919,0.859 1.918,1.918 -0,1.059 -0.859,1.918 -1.918,1.918 -1.059,-0 -1.918,-0.859 -1.918,-1.918 -0,-1.059 0.859,-1.918 1.918,-1.918zM20.963,10.805c1.059,0 1.918,0.859 1.918,1.918 -0,1.059 -0.859,1.918 -1.918,1.918 -1.059,-0 -1.918,-0.859 -1.918,-1.918 -0,-1.059 0.859,-1.918 1.918,-1.918z"
android:strokeWidth="0."
android:fillColor="#ffffff"
android:strokeColor="#00000000"/>
</vector>

View File

@@ -0,0 +1,11 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="32dp"
android:height="32dp"
android:viewportWidth="32"
android:viewportHeight="32">
<path
android:pathData="M14.618,0C12.596,1.644 10.731,4.225 10.731,6.966c0,3.656 2.254,6.786 5.447,8.076h-0.784c-2.459,0 -4.438,1.979 -4.438,4.438 0,2.459 1.979,4.438 4.438,4.438h3.025v4.367c0,1.489 -3.695,1.563 -3.653,0.023v-0.012,-1.434c0,-0.788 -0.365,-1.494 -0.922,-2.132 -0.557,-0.638 -1.384,-1.196 -2.407,-1.196L3.855,23.534v1.714h7.582c0.38,0 0.79,0.234 1.117,0.609 0.328,0.375 0.496,0.903 0.496,1.005v1.399c-0.105,3.847 7.084,3.853 7.084,0.024v-4.367h3.348c2.459,0 4.438,-1.979 4.438,-4.438 0,-2.459 -1.979,-4.438 -4.438,-4.438L22.698,15.042C25.892,13.752 28.145,10.622 28.145,6.966 28.145,4.225 26.28,1.644 24.258,0ZM17.265,2.661c0.735,-0 1.33,0.595 1.33,1.33 0,0.735 -0.596,1.331 -1.33,1.33C16.53,5.321 15.935,4.725 15.935,3.991 15.935,3.256 16.53,2.661 17.265,2.661ZM21.433,2.661c0.734,0 1.33,0.595 1.33,1.33 0,0.735 -0.595,1.33 -1.33,1.33C20.698,5.321 20.102,4.726 20.102,3.991 20.102,3.256 20.698,2.661 21.433,2.661ZM15.068,5.258c0.89,-0 1.611,0.721 1.611,1.611 0,0.89 -0.721,1.612 -1.611,1.612 -0.89,-0 -1.612,-0.722 -1.612,-1.612 0,-0.89 0.722,-1.611 1.612,-1.611zM19.348,5.258c0.89,-0 1.612,0.721 1.612,1.611 0,0.89 -0.722,1.612 -1.612,1.612 -0.89,-0 -1.612,-0.722 -1.611,-1.612 0,-0.89 0.721,-1.611 1.611,-1.611zM23.63,5.258c0.89,-0 1.612,0.721 1.612,1.611 0,0.89 -0.722,1.612 -1.612,1.612 -0.89,-0 -1.612,-0.722 -1.611,-1.612 0,-0.89 0.721,-1.611 1.611,-1.611zM17.184,9.079c0.89,-0 1.612,0.722 1.612,1.612 -0,0.89 -0.722,1.612 -1.612,1.611 -0.89,-0 -1.611,-0.721 -1.611,-1.611 -0,-0.89 0.721,-1.612 1.611,-1.612zM21.513,9.079c0.89,0 1.612,0.722 1.611,1.612 -0,0.89 -0.721,1.611 -1.611,1.611 -0.89,-0 -1.611,-0.721 -1.611,-1.611 -0,-0.89 0.721,-1.612 1.611,-1.612zM16.116,16.972a2.449,2.449 0,0 1,2.449 2.449,2.449 2.449,0 0,1 -2.449,2.449 2.449,2.449 0,0 1,-2.449 -2.449,2.449 2.449,0 0,1 2.449,-2.449zM22.76,16.972a2.449,2.449 0,0 1,2.449 2.449,2.449 2.449,0 0,1 -2.449,2.449 2.449,2.449 0,0 1,-2.449 -2.449,2.449 2.449,0 0,1 2.449,-2.449zM16.116,18.535a0.886,0.886 0,0 0,-0.886 0.886,0.886 0.886,0 0,0 0.886,0.887 0.886,0.886 0,0 0,0.887 -0.887,0.886 0.886,0 0,0 -0.887,-0.886zM22.76,18.535a0.886,0.886 0,0 0,-0.886 0.886,0.886 0.886,0 0,0 0.886,0.887 0.886,0.886 0,0 0,0.887 -0.887,0.886 0.886,0 0,0 -0.887,-0.886z"
android:strokeWidth="0"
android:fillColor="#ffffff"
android:strokeColor="#00000000"/>
</vector>

View File

@@ -0,0 +1,11 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="32dp"
android:height="32dp"
android:viewportWidth="32"
android:viewportHeight="32">
<path
android:pathData="M18.982,0C13.412,0 8.899,4.516 8.898,10.086c-0,4.138 2.526,7.856 6.373,9.379 0.254,1.362 1.424,2.392 2.852,2.434v4.396c0,1.553 -3.855,1.63 -3.811,0.023v-0.012,-1.496c0,-0.822 -0.38,-1.557 -0.961,-2.223 -0.581,-0.666 -1.444,-1.248 -2.512,-1.248L2.93,21.34v1.787h7.91c0.396,0 0.822,0.245 1.164,0.637 0.342,0.391 0.52,0.941 0.52,1.047v1.459c-0.11,4.013 7.389,4.02 7.389,0.025v-4.4c1.396,-0.072 2.533,-1.09 2.783,-2.43 3.847,-1.523 6.375,-5.241 6.375,-9.379C29.07,4.516 24.553,-0 18.982,0ZM18.984,1.365c4.835,0 8.754,3.919 8.754,8.754 0,4.026 -2.746,7.534 -6.654,8.5v0.627c0,0.676 -0.545,1.219 -1.221,1.219h-1.76c-0.676,0 -1.221,-0.543 -1.221,-1.219L16.883,18.619c-3.909,-0.966 -6.654,-4.474 -6.654,-8.5 0,-4.835 3.921,-8.754 8.756,-8.754zM19.408,4.008c-0.823,0 -1.545,0.163 -2.166,0.492 -0.616,0.324 -1.096,0.772 -1.441,1.346 -0.34,0.568 -0.51,1.226 -0.51,1.975h2.254c0,-0.387 0.074,-0.721 0.223,-1.002 0.149,-0.287 0.361,-0.508 0.637,-0.662 0.276,-0.154 0.602,-0.23 0.979,-0.23 0.345,0 0.646,0.062 0.9,0.184 0.255,0.122 0.452,0.295 0.59,0.518 0.138,0.218 0.207,0.474 0.207,0.771 0,0.308 -0.089,0.608 -0.264,0.9 -0.175,0.287 -0.466,0.555 -0.875,0.805 -0.409,0.239 -0.751,0.471 -1.027,0.699 -0.271,0.223 -0.473,0.497 -0.605,0.82 -0.133,0.318 -0.199,0.74 -0.199,1.266v0.662h2.109v-0.502c0,-0.313 0.059,-0.577 0.176,-0.789 0.122,-0.212 0.297,-0.407 0.525,-0.588 0.234,-0.186 0.515,-0.388 0.844,-0.605 0.531,-0.356 0.93,-0.775 1.195,-1.258 0.271,-0.483 0.406,-1.023 0.406,-1.617 0,-0.621 -0.17,-1.171 -0.51,-1.648C22.521,5.06 22.055,4.683 21.461,4.412 20.872,4.141 20.188,4.008 19.408,4.008ZM19.193,13.482c-0.372,0 -0.692,0.131 -0.957,0.396 -0.265,0.26 -0.396,0.58 -0.396,0.957 0,0.377 0.131,0.697 0.396,0.963 0.265,0.26 0.585,0.391 0.957,0.391 0.377,0 0.695,-0.131 0.955,-0.391 0.265,-0.265 0.398,-0.586 0.398,-0.963 0,-0.377 -0.133,-0.697 -0.398,-0.957 -0.26,-0.265 -0.578,-0.396 -0.955,-0.396z"
android:strokeWidth="0"
android:fillColor="#ffffff"
android:strokeColor="#00000000"/>
</vector>

View File

@@ -164,7 +164,6 @@
<string name="type.highway.path.tunnel">Тунел</string>
<!-- These translations are used for all type.highway.*.bridge. -->
<string name="type.highway.pedestrian.bridge">Мост</string>
<string name="type.highway.pedestrian.square">Площад</string>
<!-- These translations are used for all type.highway.*.tunnel. -->
<string name="type.highway.pedestrian.tunnel">Тунел</string>
@@ -419,7 +418,7 @@
<string name="type.shop.curtain">Пердета</string>
<string name="type.shop.deli">Магазин за деликатеси</string>
<string name="type.shop.doityourself">Строителен маркет</string>
<string name="type.shop.farm">Магазин за селскостопански храни</string>
<string name="type.shop.farm">Фермерски магазин</string>
<string name="type.shop.fashion_accessories">Модни аксесоари</string>
<string name="type.shop.gas">Магазин за газ</string>
<string name="type.shop.grocery">Хранителни стоки</string>
@@ -1235,7 +1234,7 @@
<string name="type.shop.alcohol">Магазин за алкохол</string>
<string name="type.shop.bookmaker">Букмейкър</string>
<string name="type.shop.books">Книжарница</string>
<string name="type.shop.caravan">Автокъща на домове на колела</string>
<string name="type.shop.caravan">Автокъща за кемпери</string>
<string name="type.shop.chocolate">Магазин за шоколад</string>
<string name="type.shop.coffee">Магазин за кафе</string>
<string name="type.shop.computer">Магазин за компютри</string>
@@ -1374,4 +1373,7 @@
<string name="type.piste_type.downhill.novice.area">Спускане със ски за начинаещи</string>
<string name="type.highway.services">Обслужвана зона</string>
<string name="type.landuse.forest">Гора</string>
<string name="type.amenity.animal_shelter">Приют за животни</string>
<string name="type.internet_access">Интернет</string>
<string name="type.internet_access.wlan">Интернет</string>
</resources>

View File

@@ -23,7 +23,7 @@
<string name="type.amenity.arts_centre">Kunstzentrum</string>
<string name="type.amenity.atm">Geldautomat</string>
<string name="type.amenity.bank">Bankfiliale</string>
<string name="type.amenity.bbq">Grillplatz</string>
<string name="type.amenity.bbq">Grillstelle</string>
<string name="type.amenity.bench">Sitzbank</string>
<string name="type.amenity.bicycle_parking">Fahrradständer</string>
<string name="type.amenity.bicycle_rental">Fahrradverleih</string>
@@ -38,8 +38,8 @@
<string name="type.amenity.car_wash">Autowaschanlage</string>
<string name="type.amenity.casino">Kasino</string>
<string name="type.amenity.gambling">Glücksspiel</string>
<string name="type.leisure.adult_gaming_centre">Gaming-Zentrum für Erwachsene</string>
<string name="type.leisure.amusement_arcade">Arkade</string>
<string name="type.leisure.adult_gaming_centre">Spielhalle für Erwachsene</string>
<string name="type.leisure.amusement_arcade">Spielhalle für Unterhaltungsspiele</string>
<string name="type.amenity.charging_station">Ladestation</string>
<string name="type.amenity.charging_station.bicycle">Fahrrad-Ladestation</string>
<string name="type.amenity.charging_station.motorcar">Kfz-Ladestation</string>
@@ -47,11 +47,11 @@
<string name="type.amenity.cinema">Kino</string>
<string name="type.leisure.bowling_alley">Bowlingbahn</string>
<string name="type.amenity.clinic">Klinik</string>
<string name="type.amenity.college">Hochschule</string>
<string name="type.amenity.community_centre">Bürgerhaus</string>
<string name="type.amenity.college">Bildungseinrichtung</string>
<string name="type.amenity.community_centre">Gemeinschaftszentrum</string>
<string name="type.amenity.compressed_air">Druckluft</string>
<string name="type.amenity.conference_centre">Konferenzzentrum</string>
<string name="type.amenity.courthouse">Justizgebäude</string>
<string name="type.amenity.courthouse">Gericht</string>
<string name="type.amenity.dentist">Zahnarzt</string>
<string name="type.amenity.doctors">Arztpraxis</string>
<string name="type.amenity.drinking_water">Trinkwasser</string>
@@ -95,9 +95,9 @@
<string name="type.amenity.parking.street_side">Parkbucht</string>
<string name="type.amenity.parking.street_side.fee">Parkbucht</string>
<string name="type.amenity.parking.street_side.private">Private Parkbucht</string>
<string name="type.amenity.parking.lane">Fahrspur parken</string>
<string name="type.amenity.parking.lane.fee">Fahrspur parken</string>
<string name="type.amenity.parking.lane.private">Privatspur parken</string>
<string name="type.amenity.parking.lane">Parkstreifen</string>
<string name="type.amenity.parking.lane.fee">Parkstreifen</string>
<string name="type.amenity.parking.lane.private">Privater Parkstreifen</string>
<string name="type.amenity.parking_entrance">Parkplatzeinfahrt</string>
<string name="type.amenity.parking_entrance.private">Private Parkplatzeinfahrt</string>
<string name="type.amenity.parking_entrance.permissive">Parkplatzeinfahrt</string>
@@ -116,8 +116,8 @@
<string name="type.amenity.place_of_worship.hindu">Hinduistischer Tempel</string>
<string name="type.amenity.place_of_worship.jewish">Synagoge</string>
<string name="type.amenity.place_of_worship.muslim">Moschee</string>
<string name="type.amenity.place_of_worship.shinto">Schrein</string>
<string name="type.amenity.place_of_worship.taoist">Tempel</string>
<string name="type.amenity.place_of_worship.shinto">Shintō-Schrein</string>
<string name="type.amenity.place_of_worship.taoist">Daoistischer Tempel</string>
<string name="type.amenity.police">Polizeistation</string>
<string name="type.amenity.post_box">Briefkasten</string>
<string name="type.amenity.post_office">Postfiliale</string>
@@ -130,7 +130,7 @@
<string name="type.amenity.recycling.container">Wertstoffcontainer</string>
<string name="type.recycling.batteries">Batterien</string>
<string name="type.recycling.clothes">Altkleider</string>
<string name="type.recycling.glass_bottles">Glas</string>
<string name="type.recycling.glass_bottles">Glasflaschen</string>
<string name="type.recycling.paper">Papier</string>
<string name="type.recycling.plastic">Kunststoff</string>
<string name="type.recycling.plastic_bottles">Plastikflaschen</string>
@@ -179,8 +179,8 @@
<string name="type.amenity.waste_basket">Abfalleimer</string>
<string name="type.amenity.waste_disposal">Müllcontainer</string>
<string name="type.amenity.waste_transfer_station">Müllumladestation</string>
<string name="type.amenity.water_point">Wasseranschluss</string>
<string name="type.amenity.water_point.drinking_water_no">Wasseranschluss</string>
<string name="type.amenity.water_point">Wassertank-Auffüllstation</string>
<string name="type.amenity.water_point.drinking_water_no">Wassertank-Auffüllstation</string>
<string name="type.barrier">Barriere</string>
<string name="type.barrier.yes">Barriere</string>
<string name="type.barrier.block">Block</string>
@@ -190,7 +190,7 @@
<string name="type.barrier.city_wall">Stadtmauer</string>
<string name="type.barrier.cycle_barrier">Umlaufschranke</string>
<string name="type.waterway.ditch">Entwässerungsgraben</string>
<string name="type.natural.water.moat">Graben</string>
<string name="type.natural.water.moat">Verteidigungsgraben</string>
<string name="type.natural.water.wastewater">Abwasser</string>
<string name="type.barrier.entrance">Durchgang</string>
<string name="type.barrier.fence">Zaun</string>
@@ -207,14 +207,14 @@
<string name="type.boundary">Grenze</string>
<string name="type.boundary.administrative">Verwaltungsgrenze</string>
<string name="type.boundary.national_park">Nationalpark</string>
<string name="type.boundary.aboriginal_lands">Indigene länder</string>
<string name="type.boundary.protected_area">Geschützter Bereich</string>
<string name="type.boundary.protected_area.1">Geschützter Bereich</string>
<string name="type.boundary.protected_area.2">Geschützter Bereich</string>
<string name="type.boundary.protected_area.3">Geschützter Bereich</string>
<string name="type.boundary.protected_area.4">Geschützter Bereich</string>
<string name="type.boundary.protected_area.5">Geschützter Bereich</string>
<string name="type.boundary.protected_area.6">Geschützter Bereich</string>
<string name="type.boundary.aboriginal_lands">Indigenes Gebiet</string>
<string name="type.boundary.protected_area">Schutzgebiet</string>
<string name="type.boundary.protected_area.1">Schutzgebiet</string>
<string name="type.boundary.protected_area.2">Schutzgebiet</string>
<string name="type.boundary.protected_area.3">Schutzgebiet</string>
<string name="type.boundary.protected_area.4">Schutzgebiet</string>
<string name="type.boundary.protected_area.5">Schutzgebiet</string>
<string name="type.boundary.protected_area.6">Schutzgebiet</string>
<string name="type.building">Gebäude</string>
<!-- Duplicates [address] in strings.txt -->
<string name="type.building.address">Adresse</string>
@@ -227,9 +227,9 @@
<string name="type.craft.beekeeper">Imker</string>
<string name="type.craft.blacksmith">Schmied</string>
<string name="type.craft.brewery">Brauerei</string>
<string name="type.craft.caterer">Partyservice</string>
<string name="type.craft.caterer">Caterer</string>
<string name="type.craft.carpenter">Zimmermann</string>
<string name="type.craft.confectionery">Süßwarenladen</string>
<string name="type.craft.confectionery">Süßwaren-Manufaktur</string>
<string name="type.craft.electrician">Elektriker</string>
<string name="type.craft.electronics_repair">Elektrogerätereparatur</string>
<string name="type.craft.gardener">Landschaftsgärtner</string>
@@ -293,7 +293,7 @@
<string name="type.cuisine.international">International</string>
<string name="type.cuisine.irish">Irisch</string>
<string name="type.cuisine.italian">Italienisch</string>
<string name="type.cuisine.italian_pizza">Italienisch; Pizza</string>
<string name="type.cuisine.italian_pizza">Italienische Pizza</string>
<string name="type.cuisine.japanese">Japanisch</string>
<string name="type.cuisine.kebab">Kebap</string>
<string name="type.cuisine.korean">Koreanisch</string>
@@ -365,7 +365,7 @@
<string name="type.highway.bridleway.permissive">Reitweg</string>
<!-- These translations are used for all type.highway.*.tunnel. -->
<string name="type.highway.bridleway.tunnel">Tunnel</string>
<string name="type.highway.busway">Eigene Busstraße</string>
<string name="type.highway.busway">Busstraße</string>
<!-- These translations are used for all type.highway.*.bridge. -->
<string name="type.highway.busway.bridge">Brücke</string>
<!-- These translations are used for all type.highway.*.tunnel. -->
@@ -384,7 +384,7 @@
<string name="type.highway.footway.crossing">Fußgängerübergang</string>
<string name="type.highway.footway.area">Fußweg</string>
<!-- These translations are used for all type.highway.*.bridge. -->
<string name="type.highway.footway.bridge">Brücke</string>
<string name="type.highway.footway.bridge">Fußgängerbrücke</string>
<!-- These translations are used for all type.highway.*.tunnel. -->
<string name="type.highway.footway.tunnel">Fußgängertunnel</string>
<string name="type.highway.ford">Furt</string>
@@ -433,7 +433,7 @@
<string name="type.highway.primary_link.bridge">Brücke</string>
<!-- These translations are used for all type.highway.*.tunnel. -->
<string name="type.highway.primary_link.tunnel">Tunnel</string>
<string name="type.highway.raceway">Rennbahn</string>
<string name="type.highway.raceway">Rennstrecke</string>
<string name="type.highway.residential">Wohnstraße</string>
<string name="type.highway.residential.area">Wohnstraße</string>
<!-- These translations are used for all type.highway.*.bridge. -->
@@ -509,10 +509,10 @@
<!-- These translations are used for all type.highway.*.tunnel. -->
<string name="type.highway.unclassified.tunnel">Straßentunnel</string>
<string name="type.area_highway.cycleway">Radweg</string>
<string name="type.area_highway.footway">Weg</string>
<string name="type.area_highway.living_street">Wohnstraße</string>
<string name="type.area_highway.footway">Fußweg</string>
<string name="type.area_highway.living_street">Spielstraße</string>
<string name="type.area_highway.motorway">Autobahn</string>
<string name="type.area_highway.path">Weg</string>
<string name="type.area_highway.path">Pfad</string>
<string name="type.area_highway.pedestrian">Fußgängerzone</string>
<string name="type.area_highway.primary">Hauptstraße</string>
<string name="type.area_highway.residential">Wohnstraße</string>
@@ -528,7 +528,7 @@
<string name="type.historic.aircraft">Historisches Flugzeug</string>
<string name="type.historic.anchor">Historischer Anker</string>
<string name="type.historic.archaeological_site">Ausgrabungsstätte</string>
<string name="type.historic.battlefield">Schlachtfeld</string>
<string name="type.historic.battlefield">Historisches Schlachtfeld</string>
<string name="type.historic.boundary_stone">Grenzstein</string>
<string name="type.historic.cannon">Kanone</string>
<string name="type.historic.castle">Burg</string>
@@ -591,7 +591,7 @@
<string name="type.landuse.forest.mixed">Mischwald</string>
<string name="type.landuse.garages">Garagen</string>
<string name="type.landuse.grass">Wiese</string>
<string name="type.landuse.greenfield">Rohbauland</string>
<string name="type.landuse.greenfield">Bauland</string>
<string name="type.landuse.greenhouse_horticulture">Gewächshaus-Fläche</string>
<string name="type.landuse.industrial">Industriegebiet</string>
<string name="type.landuse.landfill">Müllhalde</string>
@@ -605,10 +605,10 @@
<string name="type.landuse.residential">Wohngebiet</string>
<string name="type.landuse.retail">Einzelhandelsgebiet</string>
<string name="type.landuse.salt_pond">Saline</string>
<string name="type.landuse.village_green">Dorfplatz</string>
<string name="type.landuse.village_green">Grünfläche</string>
<string name="type.landuse.vineyard">Weinberg</string>
<string name="type.leisure">Freizeit</string>
<string name="type.leisure.common">öffentliche Grünfläche</string>
<string name="type.leisure.common">Öffentliche Grünfläche</string>
<string name="type.leisure.dog_park">Hundeauslauffläche</string>
<string name="type.leisure.fitness_centre">Fitnessstudio</string>
<string name="type.leisure.fitness_station">Fitnessstation</string>
@@ -620,11 +620,11 @@
<string name="type.leisure.ice_rink">Eislaufplatz</string>
<string name="type.leisure.marina">Jachthafen</string>
<string name="type.leisure.nature_reserve">Naturschutzgebiet</string>
<string name="type.leisure.outdoor_seating">Außengastronomie</string>
<string name="type.leisure.outdoor_seating">Außenbestuhlung</string>
<string name="type.leisure.park">Park</string>
<string name="type.leisure.park.no.access">Park</string>
<string name="type.leisure.park.no.access">Privater Park</string>
<string name="type.leisure.park.permissive">Park</string>
<string name="type.leisure.park.private">Park</string>
<string name="type.leisure.park.private">Privater Park</string>
<string name="type.leisure.picnic_table">Picknicktisch</string>
<string name="type.leisure.pitch">Sportplatz</string>
<string name="type.leisure.playground">Spielplatz</string>
@@ -639,7 +639,7 @@
<string name="type.leisure.track">Laufbahn</string>
<string name="type.leisure.track.area">Laufbahn</string>
<string name="type.leisure.water_park">Aquapark</string>
<string name="type.man_made">künstliche Anlage</string>
<string name="type.man_made">Künstliche Anlage</string>
<string name="type.man_made.breakwater">Wellenbrecher</string>
<string name="type.man_made.cairn">Steinmännchen</string>
<string name="type.man_made.chimney">Fabrikschornstein</string>
@@ -1120,7 +1120,7 @@
<string name="type.shop.garden_centre">Gartencenter</string>
<string name="type.shop.gas">Gas-Geschäft</string>
<string name="type.shop.gift">Geschenkeladen</string>
<string name="type.shop.greengrocer">Gemüseladen</string>
<string name="type.shop.greengrocer">Obst- und Gemüseladen</string>
<string name="type.shop.grocery">Lebensmittelkonserven</string>
<string name="type.shop.hairdresser">Friseur</string>
<string name="type.shop.hardware">Eisenwarengeschäft</string>
@@ -1268,7 +1268,7 @@
<string name="type.tourism.motel">Motel</string>
<string name="type.tourism.museum">Museum</string>
<string name="type.tourism.picnic_site">Picknickplatz</string>
<string name="type.leisure.resort">Freizeitanlage</string>
<string name="type.leisure.resort">Resort</string>
<string name="type.tourism.theme_park">Freizeitpark</string>
<string name="type.tourism.viewpoint">Aussichtspunkt</string>
<!-- Typically more basic, not staffed and free (compared to alpine_hut). -->
@@ -1276,11 +1276,11 @@
<string name="type.tourism.zoo">Zoo</string>
<string name="type.tourism.zoo.petting">Streichelzoo</string>
<string name="type.traffic_calming">Verkehrsberuhigung</string>
<string name="type.traffic_calming.bump">kurze Bodenwelle</string>
<string name="type.traffic_calming.hump">lange Bodenwelle</string>
<string name="type.traffic_calming.bump">Kurze Bodenwelle</string>
<string name="type.traffic_calming.hump">Lange Bodenwelle</string>
<string name="type.waterway">Wasserweg</string>
<string name="type.waterway.canal">Kanal</string>
<string name="type.waterway.canal.tunnel">Kanal</string>
<string name="type.waterway.canal.tunnel">Kanal-Tunnel</string>
<string name="type.waterway.fish_pass">Fischtreppe</string>
<string name="type.waterway.dam">Staudamm</string>
<string name="type.barrier.ditch">Graben</string>
@@ -1316,7 +1316,7 @@
<string name="type.piste_type.downhill.easy.area">Leichte Ski-Abfahrt</string>
<string name="type.piste_type.downhill.expert">Profi-Ski-Abfahrt</string>
<string name="type.piste_type.downhill.expert.area">Profi-Ski-Abfahrt</string>
<string name="type.piste_type.downhill.freeride">Ski-Abfahrt</string>
<string name="type.piste_type.downhill.freeride">Freeride Ski-Abfahrt</string>
<string name="type.piste_type.downhill.intermediate">Mittelschwere Ski-Abfahrt</string>
<string name="type.piste_type.downhill.intermediate.area">Mittelschwere Ski-Abfahrt</string>
<string name="type.piste_type.downhill.novice">Anfängerfreundliche Ski-Abfahrt</string>
@@ -1324,10 +1324,10 @@
<string name="type.piste_type.nordic">Langlaufloipe</string>
<string name="type.piste_type.sled">Rodelbahn</string>
<string name="type.piste_type.sled.area">Rodelbahn</string>
<string name="type.piste_type.snow_park">Schneepark</string>
<string name="type.piste_type.hike">Schneewanderweg</string>
<string name="type.piste_type.connection">Pistenanschluss</string>
<string name="type.piste_type.skitour">Skitour Pfad</string>
<string name="type.piste_type.snow_park">Funpark</string>
<string name="type.piste_type.hike">Winterwanderweg</string>
<string name="type.piste_type.connection">Verbindungs Ski-Abfahrt</string>
<string name="type.piste_type.skitour">Skitouren-Route</string>
<string name="type.amenity.events_venue">Veranstaltungszentrum</string>
<string name="type.shop.auction">Auktion</string>
<string name="type.shop.collector">Sammlerartikel</string>
@@ -1338,7 +1338,7 @@
<!-- https://wiki.openstreetmap.org/wiki/Key:social_facility -->
<string name="type.amenity.social_facility">Soziale Einrichtung</string>
<!-- https://wiki.openstreetmap.org/wiki/Tag:emergency=emergency_ward_entrance -->
<string name="type.emergency.emergency_ward_entrance">Eingang der Notfallstation</string>
<string name="type.emergency.emergency_ward_entrance">Notaufnahme</string>
<!-- https://wiki.openstreetmap.org/wiki/Tag:amenity=dojo -->
<string name="type.amenity.dojo">Dojo</string>
<!-- https://wiki.openstreetmap.org/wiki/Tag:leisure=sports_hall -->
@@ -1348,15 +1348,15 @@
<string name="type.amenity.restaurant">Restaurant</string>
<string name="type.internet_access">Internet</string>
<string name="type.internet_access.wlan">Internet</string>
<string name="type.leisure.hackerspace">Hackerraum</string>
<string name="type.leisure.hackerspace">Hackerspace</string>
<string name="type.sport.yoga">Yoga Studio</string>
<string name="type.noexit">Sackgasse</string>
<string name="type.shop.kiosk">Kiosk</string>
<string name="type.boundary.administrative.2">Landesgrenze</string>
<string name="type.building.garage">Garage</string>
<string name="type.cuisine.fish_and_chips">Fisch und Chips</string>
<string name="type.leisure.beach_resort">Badestrand</string>
<string name="type.amenity.food_court">Gastronomiebereich</string>
<string name="type.cuisine.fish_and_chips">Fish and Chips</string>
<string name="type.leisure.beach_resort">Strandbad</string>
<string name="type.amenity.food_court">Food Court</string>
<string name="type.fee.yes">$</string>
<string name="type.man_made.utility_pole">Versorgungsmast</string>
<string name="type.cuisine.bubble_tea">Bubble Tea</string>
@@ -1377,13 +1377,13 @@
<string name="type.amenity.studio">Studio</string>
<string name="type.man_made.crane">Kran</string>
<string name="type.railway.station.subway.qingdao">U-Bahn-Station</string>
<string name="type.landuse.religious">Religiöses Land</string>
<string name="type.landuse.religious">Religiöses Gelände</string>
<string name="type.natural.wetland.saltmarsh">Salzmarsch</string>
<string name="type.natural.wetland.saltmarsh.tidal">Gezeitenabhängige Salzmarsch</string>
<string name="type.natural.wetland.fen">Fenn</string>
<string name="type.natural.wetland.reedbed">Schilfgürtel</string>
<string name="type.natural.wetland.swamp">Sumpf</string>
<string name="type.natural.wetland.mangrove">Mangrove</string>
<string name="type.natural.wetland.mangrove">Mangroven</string>
<string name="type.natural.wetland.tidalflat">Watt</string>
<string name="type.leisure.escape_game">Escape Room</string>
<string name="type.amenity.luggage_locker">Gepäckschließfach</string>
@@ -1392,7 +1392,7 @@
<string name="type.amenity.ranger_station">Försterstation</string>
<string name="type.amenity.animal_shelter">Tierheim</string>
<string name="type.barrier.wicket_gate">Schlupfpforte</string>
<string name="type.office.security">Büro des Sicherheitsdienstes</string>
<string name="type.office.security">Sicherheitsdienst</string>
<string name="type.building.guardhouse">Pförtnerhäuschen</string>
<string name="type.power.portal">Abspannportal</string>
<string name="type.shop.lighting">Lampenladen</string>

View File

@@ -338,7 +338,7 @@
<string name="type.highway.cycleway">Veloweg</string>
<string name="type.highway.cycleway.bridge">Brugg</string>
<string name="type.highway.cycleway.permissive">Veloweg</string>
<string name="type.highway.cycleway.tunnel">Tunnel</string>
<string name="type.highway.cycleway.tunnel">Velotunnel</string>
<string name="type.highway.elevator">Lift</string>
<string name="type.highway.footway">Fuessweg</string>
<string name="type.highway.footway.sidewalk">Trottoir</string>
@@ -348,14 +348,14 @@
<string name="type.highway.ford">Furt</string>
<string name="type.highway.living_street">Begegnigszone</string>
<string name="type.highway.living_street.bridge">Brugg</string>
<string name="type.highway.living_street.tunnel">Tunnel</string>
<string name="type.highway.living_street.tunnel">Begegnigszonetunnel</string>
<string name="type.highway.motorway">Autobahn</string>
<string name="type.highway.motorway.bridge">Autobahnbrugg</string>
<string name="type.highway.motorway.tunnel">Autobahntunnel</string>
<string name="type.highway.motorway_junction">Autobahnuusfahrt</string>
<string name="type.highway.motorway_link">Autobahnuffahrt</string>
<string name="type.highway.motorway_link.bridge">Brugg</string>
<string name="type.highway.motorway_link.tunnel">Tunnel</string>
<string name="type.highway.motorway_link.tunnel">Autobahnaaschlusstunnel</string>
<string name="type.highway.path">Pfad</string>
<string name="type.highway.path.expert">Alpinwanderweg oder weglose Pfad</string>
<string name="type.highway.path.bicycle">Velo- und Fuessweg</string>
@@ -371,7 +371,7 @@
<string name="type.highway.primary.tunnel">Hauptstrassetunnel</string>
<string name="type.highway.primary_link">Hauptstrass</string>
<string name="type.highway.primary_link.bridge">Brugg</string>
<string name="type.highway.primary_link.tunnel">Tunnel</string>
<string name="type.highway.primary_link.tunnel">Strassetunnel</string>
<string name="type.highway.raceway">Rennbahn</string>
<string name="type.highway.residential">Quartierstrass</string>
<string name="type.highway.residential.area">Quartierstrass</string>
@@ -381,44 +381,44 @@
<string name="type.highway.road">Strass</string>
<string name="type.highway.road.bridge">Brugg</string>
<string name="type.man_made.bridge">Brugg</string>
<string name="type.highway.road.tunnel">Tunnel</string>
<string name="type.highway.road.tunnel">Strassetunnel</string>
<string name="type.highway.secondary">Kantons-/Staatstrass</string>
<string name="type.highway.secondary.bridge">Brugg</string>
<string name="type.highway.secondary_link">Strass</string>
<string name="type.highway.secondary_link.bridge">Brugg</string>
<string name="type.highway.secondary_link.tunnel">Tunnel</string>
<string name="type.highway.secondary_link.tunnel">Strassetunnel</string>
<string name="type.highway.service">Zuefahrtsweg</string>
<string name="type.highway.service.area">Zuefahrtsweg</string>
<string name="type.highway.service.bridge">Brugg</string>
<string name="type.highway.service.driveway">Grundstückszuefahrt</string>
<string name="type.highway.service.parking_aisle">Zuefahrtsweg</string>
<string name="type.highway.service.tunnel">Tunnel</string>
<string name="type.highway.service.tunnel">Strassetunnel</string>
<string name="type.highway.services">Raschtstätt</string>
<string name="type.highway.speed_camera">Blitzer</string>
<string name="type.highway.steps">Stäge</string>
<string name="type.highway.ladder">Leitere</string>
<string name="type.highway.steps.bridge">Brugg</string>
<string name="type.highway.tertiary">Gmeindsstrass</string>
<string name="type.highway.tertiary.tunnel">Tunnel</string>
<string name="type.highway.tertiary.tunnel">Strassetunnel</string>
<string name="type.highway.tertiary_link">Strass</string>
<string name="type.highway.tertiary_link.bridge">Brugg</string>
<string name="type.highway.tertiary_link.tunnel">Tunnel</string>
<string name="type.highway.tertiary_link.tunnel">Strassetunnel</string>
<string name="type.highway.track">Forst-/Feldweg</string>
<string name="type.highway.track.area">Forst-/Feldweg</string>
<string name="type.highway.track.bridge">Brugg</string>
<string name="type.highway.track.grade1">Forst-/Feldweg</string>
<string name="type.highway.track.no.access">Forst-/Feldweg</string>
<string name="type.highway.track.tunnel">Tunnel</string>
<string name="type.highway.track.tunnel">Feld-/Waldwegtunnel</string>
<string name="type.highway.traffic_signals">Liechtsignal</string>
<string name="type.highway.trunk">Autostrass</string>
<string name="type.highway.trunk.tunnel">Autostrassetunnel</string>
<string name="type.highway.trunk.bridge">Autostrassebrugg</string>
<string name="type.highway.trunk_link">Autostrass</string>
<string name="type.highway.trunk_link.tunnel">Tunnel</string>
<string name="type.highway.trunk_link.tunnel">Strassetunnel</string>
<string name="type.highway.unclassified">Näbestrass</string>
<string name="type.highway.unclassified.area">Näbestrass</string>
<string name="type.highway.unclassified.bridge">Brugg</string>
<string name="type.highway.unclassified.tunnel">Tunnel</string>
<string name="type.highway.unclassified.tunnel">Strassetunnel</string>
<string name="type.area_highway.cycleway">Veloweg</string>
<string name="type.area_highway.footway">Fuessweg</string>
<string name="type.area_highway.living_street">Begegnigszone</string>
@@ -589,7 +589,7 @@
<string name="type.natural.water.lake">See</string>
<string name="type.natural.water.lock">Schlüüsechammere</string>
<string name="type.natural.water.pond">Teich</string>
<string name="type.natural.water.reservoir">Reservoir</string>
<string name="type.natural.water.reservoir">Stausee</string>
<string name="type.natural.water.basin">Bassin</string>
<string name="type.natural.land">Land</string>
<string name="type.natural.meadow">Wiese</string>
@@ -803,7 +803,7 @@
<string name="type.amenity.water_point.drinking_water_no">Wasseraaschluss</string>
<string name="type.craft.gardener">Landschaftsgärtner</string>
<string name="type.entrance.main">Hauptiigang</string>
<string name="type.highway.steps.tunnel">Tunnel</string>
<string name="type.highway.steps.tunnel">Treppetunnel</string>
<string name="type.leisure.picnic_table">Picknicktisch</string>
<string name="type.man_made.communications_tower">Funkturm</string>
<string name="type.place.hamlet">Wiiler</string>
@@ -827,7 +827,7 @@
<string name="type.railway.station.subway.brescia">U-Bahn-Station</string>
<string name="type.railway.station.subway.chicago">U-Bahn-Station</string>
<string name="type.railway.station.subway.kolkata">U-Bahn-Station</string>
<string name="type.highway.secondary.tunnel">Tunnel</string>
<string name="type.highway.secondary.tunnel">Strassetunnel</string>
<string name="type.highway.tertiary.bridge">Brugg</string>
<string name="type.area_highway.residential">Quartierstrass</string>
<string name="type.landuse.railway">Isebahnaalaage</string>
@@ -1217,7 +1217,7 @@
<string name="type.sport.tennis">Tennisplatz</string>
<string name="type.sport.volleyball">Volleyball</string>
<string name="type.sport.10pin">Bowling</string>
<string name="type.sport.9pin">Bowling</string>
<string name="type.sport.9pin">Chegle</string>
<string name="type.sport.padel">Padel</string>
<string name="type.sport.futsal">Futsal</string>
<string name="type.sport.ice_hockey">Iishockey</string>

View File

@@ -37,4 +37,12 @@
<string name="access_rules_author_only">Redigering på nett</string>
<string name="gb">GB</string>
<string name="today">I dag</string>
<string name="yesterday">I går</string>
<string name="days_ago">%s dager siden</string>
<string name="week_ago">%s uke siden</string>
<string name="weeks_ago">%s uker siden</string>
<string name="month_ago">%s måned siden</string>
<string name="months_ago">%s måneder siden</string>
<string name="year_ago">%s år siden</string>
<string name="years_ago">%s år siden</string>
</resources>

View File

@@ -172,7 +172,7 @@
<string name="type.barrier.kissing_gate">Port</string>
<string name="type.barrier.lift_gate">Bom</string>
<string name="type.barrier.stile">Gjerdeklyver</string>
<string name="type.barrier.turnstile">Turnstile</string>
<string name="type.barrier.turnstile">Rotasjonsport</string>
<string name="type.barrier.swing_gate">Bom</string>
<string name="type.barrier.toll_booth">Bomstasjon</string>
<string name="type.boundary.national_park">Nasjonalpark</string>
@@ -387,7 +387,6 @@
<string name="type.highway.pedestrian.area">Gågate</string>
<!-- These translations are used for all type.highway.*.bridge. -->
<string name="type.highway.pedestrian.bridge">Bru</string>
<string name="type.highway.pedestrian.square">Torg</string>
<!-- These translations are used for all type.highway.*.tunnel. -->
<string name="type.highway.pedestrian.tunnel">Tunnel</string>
@@ -699,7 +698,7 @@
<string name="type.railway.funicular">Kabelbane</string>
<string name="type.railway.halt">Togstasjon</string>
<string name="type.railway.level_crossing">Planovergang</string>
<string name="type.railway.monorail">Monorail</string>
<string name="type.railway.monorail">Énskinnebane</string>
<string name="type.railway.narrow_gauge">Smalsporet jernbane</string>
<string name="type.railway.platform">Jernbaneplattform</string>
<string name="type.railway.preserved">Museumsjernbane</string>
@@ -972,7 +971,7 @@
<string name="type.shop.bathroom_furnishing">Baderomsmøbler</string>
<string name="type.shop.beauty">Skjønnhetssalong</string>
<string name="type.shop.beverages">Drinker</string>
<string name="type.shop.bicycle">Sykkel</string>
<string name="type.shop.bicycle">Sykkelbutikk</string>
<string name="type.shop.books">Bokhandel</string>
<string name="type.shop.butcher">Slakter</string>
<string name="type.shop.cannabis">Cannabisbutikk</string>
@@ -1175,7 +1174,7 @@
<string name="type.wheelchair.limited">Begrenset tilgang for rullestol</string>
<string name="type.wheelchair.no">Ingen tilgang for rullestol</string>
<string name="type.wheelchair.yes">Full tilgang for rullestol</string>
<string name="type.piste_type.snow_park">Snow Park</string>
<string name="type.piste_type.snow_park">Snøpark</string>
<string name="type.piste_type.hike">Tursti i snø</string>
<string name="type.piste_type.connection">Pisteforbindelse</string>
<string name="type.piste_type.skitour">Skitour-stien</string>
@@ -1201,6 +1200,63 @@
<string name="type.aeroway.gate">Gate</string>
<string name="type.aeroway.helipad">Helipad</string>
<string name="type.aeroway.runway">Rullebane</string>
<string name="type.aeroway.taxiway">Taxibane</string>
<string name="type.aeroway.taxiway">Taksebane</string>
<string name="type.aeroway.terminal">Terminal</string>
<string name="type.amenity.food_court">Mathall</string>
<string name="type.amenity.luggage_locker">Bagasjeoppbevaring</string>
<string name="type.recycling.shoes">Sko</string>
<string name="type.barrier.wall">Mur</string>
<string name="type.boundary">Grense</string>
<string name="type.boundary.administrative">Administrativ grense</string>
<string name="type.boundary.administrative.2">Landegrense</string>
<string name="type.boundary.administrative.3">Regiongrense</string>
<string name="type.boundary.administrative.4">Regiongrense</string>
<string name="type.building.warehouse">Lagerbygning</string>
<string name="type.emergency">Nødstilfelle</string>
<string name="type.highway.elevator">Heis</string>
<string name="type.highway">Vei</string>
<string name="type.internet_access">Internett</string>
<string name="type.internet_access.wlan">Internett</string>
<string name="type.junction">Veikryss</string>
<string name="type.junction.circular">Rundkjøring</string>
<string name="type.junction.roundabout">Rundkjøring</string>
<string name="type.leisure">Fritid</string>
<string name="type.leisure.recreation_ground">Rekreasjonsområde</string>
<string name="type.amenity.bank">Bank</string>
<string name="type.amenity.bar">Bar</string>
<string name="type.amenity.restaurant">Restaurant</string>
<string name="type.landuse.meadow">Eng</string>
<string name="type.leisure.firepit">Bålplass</string>
<string name="type.man_made.breakwater">Molo</string>
<string name="type.man_made.pier">Pir</string>
<string name="type.mountain_pass">Fjellpass</string>
<string name="type.organic.only">Økologisk</string>
<string name="type.organic.yes">Økologisk</string>
<string name="type.public_transport.platform">Plattform</string>
<string name="type.railway.crossing">Jernbaneovergang</string>
<string name="type.railway.station.subway.qingdao">T-banestasjon</string>
<string name="type.railway.subway">T-banelinje</string>
<string name="type.route.ferry">Ferge</string>
<string name="type.wheelchair">Rullestol</string>
<string name="type.piste_type.nordic">Langrennsløype</string>
<string name="type.amenity.shelter.lean_to">Gapahuk</string>
<string name="type.barrier.hedge">Hekk</string>
<string name="type.landuse.residential">Boligområde</string>
<string name="type.route">Rute</string>
<string name="type.natural.wetland.swamp">Sumpskog</string>
<string name="type.natural.wetland.mangrove">Mangrove</string>
<string name="type.natural.wetland.tidalflat">Tidevannslette</string>
<string name="type.man_made.flagpole">Flaggstang</string>
<string name="type.man_made.mast">Mast</string>
<string name="type.amenity.vending_machine.coffee">Kaffeautomat</string>
<string name="type.amenity.vending_machine.food">Matautomat</string>
<string name="type.amenity.vending_machine.newspapers">Avisautomat</string>
<string name="type.amenity.vending_machine.sweets">Godteriautomat</string>
<string name="type.amenity.parcel_locker">Pakkeboks</string>
<string name="type.landuse.recreation_ground">Rekreasjonsområde</string>
<string name="type.leisure.marina">Marina</string>
<string name="type.amenity.bicycle_parking.covered">Overbygd sykkelparkering</string>
<string name="type.barrier.cycle_barrier">Sykkelbarriere</string>
<string name="type.highway.ladder">Stige</string>
<string name="type.barrier.guard_rail">Autovern</string>
</resources>

View File

@@ -36,4 +36,12 @@
<string name="mb">MB</string>
<string name="gb">GB</string>
<string name="today">Dzisiaj</string>
<string name="yesterday">Wczoraj</string>
<string name="days_ago">%s dni temu</string>
<string name="week_ago">%s tydzień temu</string>
<string name="weeks_ago">%s tygodni temu</string>
<string name="month_ago">%s miesiąc temu</string>
<string name="months_ago">%s miesięcy temu</string>
<string name="year_ago">%s rok temu</string>
<string name="years_ago">%s lat temu</string>
</resources>

View File

@@ -6,7 +6,7 @@
<string name="type.addr_interpolation.odd">Adresă/Bloc</string>
<string name="type.aerialway.station">Stație de teleferic</string>
<string name="type.aeroway.aerodrome">Aeroport</string>
<string name="type.aeroway.aerodrome.international">Aeroport</string>
<string name="type.aeroway.aerodrome.international">Aeroport Internațional</string>
<string name="type.aeroway.helipad">Heliport</string>
<string name="type.amenity">Obiecte ale infrastructurii</string>
<string name="type.amenity.arts_centre">Centru de artă</string>
@@ -1381,4 +1381,8 @@
<string name="type.tourism.camp_site">Loc de campare</string>
<string name="type.shop.lighting">Magazin de corpuri de iluminat</string>
<string name="type.tourism.hostel">Hostel</string>
<string name="type.waterway.dam">Baraj</string>
<string name="type.tourism.motel">Motel</string>
<string name="type.tourism.hotel">Hotel</string>
<string name="type.shop.supermarket">Supermarket</string>
</resources>

View File

@@ -2,4 +2,7 @@
<resources>
<string name="type.addr_interpolation.odd">Naslov/blok</string>
<string name="type.aerialway">Žičnica</string>
<string name="type.addr_interpolation">Naslov/blok</string>
<string name="type.aerialway.cable_car">Žičnica</string>
<string name="type.cuisine.noodles">Nudli</string>
</resources>

View File

@@ -1390,4 +1390,7 @@
<string name="type.post_office.post_partner">Posta Ortağı</string>
<string name="type.amenity.animal_shelter">Hayvan Barınağı</string>
<string name="type.barrier.wicket_gate">Tel Örgü Kapısı</string>
<string name="type.leisure.escape_game">Kaçış odası</string>
<string name="type.natural.wetland.reedbed">Sazlık</string>
<string name="type.shop.lighting">Aydınlatma dükkanı</string>
</resources>