mirror of
https://codeberg.org/comaps/comaps
synced 2026-01-09 13:54:37 +00:00
Compare commits
2 Commits
pastk-gpla
...
pastk-om-b
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ea99e26404 | ||
|
|
f1f5ccd778 |
@@ -0,0 +1 @@
|
||||
সহজ মানচিত্র নেভিগেশন - আপনার যাত্রা সম্পর্কে আরও জানুন - সম্প্রদায় কর্তৃক পরিচালিত
|
||||
1
android/app/src/fdroid/play/listings/bn/title.txt
Normal file
1
android/app/src/fdroid/play/listings/bn/title.txt
Normal file
@@ -0,0 +1 @@
|
||||
কোম্যাপস - অফলাইনে হাইকিং, সাইকেলিং এবং ড্রাইভিং করুন গোপনীয়তা সহ
|
||||
@@ -0,0 +1 @@
|
||||
Navigation facile del mappa – Discoperi tu viage – Alimentate per le communitate
|
||||
1
android/app/src/fdroid/play/release-notes/ar/default.txt
Symbolic link
1
android/app/src/fdroid/play/release-notes/ar/default.txt
Symbolic link
@@ -0,0 +1 @@
|
||||
../../listings/ar/release-notes.txt
|
||||
1
android/app/src/fdroid/play/release-notes/az-AZ/default.txt
Symbolic link
1
android/app/src/fdroid/play/release-notes/az-AZ/default.txt
Symbolic link
@@ -0,0 +1 @@
|
||||
../../listings/az-AZ/release-notes.txt
|
||||
1
android/app/src/fdroid/play/release-notes/be/default.txt
Symbolic link
1
android/app/src/fdroid/play/release-notes/be/default.txt
Symbolic link
@@ -0,0 +1 @@
|
||||
../../listings/be/release-notes.txt
|
||||
1
android/app/src/fdroid/play/release-notes/bg/default.txt
Symbolic link
1
android/app/src/fdroid/play/release-notes/bg/default.txt
Symbolic link
@@ -0,0 +1 @@
|
||||
../../listings/bg/release-notes.txt
|
||||
1
android/app/src/fdroid/play/release-notes/bn-BD/default.txt
Symbolic link
1
android/app/src/fdroid/play/release-notes/bn-BD/default.txt
Symbolic link
@@ -0,0 +1 @@
|
||||
../../listings/bn-BD/release-notes.txt
|
||||
1
android/app/src/fdroid/play/release-notes/ca/default.txt
Symbolic link
1
android/app/src/fdroid/play/release-notes/ca/default.txt
Symbolic link
@@ -0,0 +1 @@
|
||||
../../listings/ca/release-notes.txt
|
||||
1
android/app/src/fdroid/play/release-notes/cs-CZ/default.txt
Symbolic link
1
android/app/src/fdroid/play/release-notes/cs-CZ/default.txt
Symbolic link
@@ -0,0 +1 @@
|
||||
../../listings/cs-CZ/release-notes.txt
|
||||
1
android/app/src/fdroid/play/release-notes/da-DK/default.txt
Symbolic link
1
android/app/src/fdroid/play/release-notes/da-DK/default.txt
Symbolic link
@@ -0,0 +1 @@
|
||||
../../listings/da-DK/release-notes.txt
|
||||
1
android/app/src/fdroid/play/release-notes/el-GR/default.txt
Symbolic link
1
android/app/src/fdroid/play/release-notes/el-GR/default.txt
Symbolic link
@@ -0,0 +1 @@
|
||||
../../listings/el-GR/release-notes.txt
|
||||
1
android/app/src/fdroid/play/release-notes/et/default.txt
Symbolic link
1
android/app/src/fdroid/play/release-notes/et/default.txt
Symbolic link
@@ -0,0 +1 @@
|
||||
../../listings/et/release-notes.txt
|
||||
1
android/app/src/fdroid/play/release-notes/eu-ES/default.txt
Symbolic link
1
android/app/src/fdroid/play/release-notes/eu-ES/default.txt
Symbolic link
@@ -0,0 +1 @@
|
||||
../../listings/eu-ES/release-notes.txt
|
||||
1
android/app/src/fdroid/play/release-notes/fa/default.txt
Symbolic link
1
android/app/src/fdroid/play/release-notes/fa/default.txt
Symbolic link
@@ -0,0 +1 @@
|
||||
../../listings/fa/release-notes.txt
|
||||
1
android/app/src/fdroid/play/release-notes/fi-FI/default.txt
Symbolic link
1
android/app/src/fdroid/play/release-notes/fi-FI/default.txt
Symbolic link
@@ -0,0 +1 @@
|
||||
../../listings/fi-FI/release-notes.txt
|
||||
1
android/app/src/fdroid/play/release-notes/gl-ES/default.txt
Symbolic link
1
android/app/src/fdroid/play/release-notes/gl-ES/default.txt
Symbolic link
@@ -0,0 +1 @@
|
||||
../../listings/gl-ES/release-notes.txt
|
||||
1
android/app/src/fdroid/play/release-notes/gu/default.txt
Symbolic link
1
android/app/src/fdroid/play/release-notes/gu/default.txt
Symbolic link
@@ -0,0 +1 @@
|
||||
../../listings/gu/release-notes.txt
|
||||
1
android/app/src/fdroid/play/release-notes/hi-IN/default.txt
Symbolic link
1
android/app/src/fdroid/play/release-notes/hi-IN/default.txt
Symbolic link
@@ -0,0 +1 @@
|
||||
../../listings/hi-IN/release-notes.txt
|
||||
1
android/app/src/fdroid/play/release-notes/hr/default.txt
Symbolic link
1
android/app/src/fdroid/play/release-notes/hr/default.txt
Symbolic link
@@ -0,0 +1 @@
|
||||
../../listings/hr/release-notes.txt
|
||||
1
android/app/src/fdroid/play/release-notes/hu-HU/default.txt
Symbolic link
1
android/app/src/fdroid/play/release-notes/hu-HU/default.txt
Symbolic link
@@ -0,0 +1 @@
|
||||
../../listings/hu-HU/release-notes.txt
|
||||
1
android/app/src/fdroid/play/release-notes/id/default.txt
Symbolic link
1
android/app/src/fdroid/play/release-notes/id/default.txt
Symbolic link
@@ -0,0 +1 @@
|
||||
../../listings/id/release-notes.txt
|
||||
1
android/app/src/fdroid/play/release-notes/it-IT/default.txt
Symbolic link
1
android/app/src/fdroid/play/release-notes/it-IT/default.txt
Symbolic link
@@ -0,0 +1 @@
|
||||
../../listings/it-IT/release-notes.txt
|
||||
1
android/app/src/fdroid/play/release-notes/iw-IL/default.txt
Symbolic link
1
android/app/src/fdroid/play/release-notes/iw-IL/default.txt
Symbolic link
@@ -0,0 +1 @@
|
||||
../../listings/iw-IL/release-notes.txt
|
||||
1
android/app/src/fdroid/play/release-notes/ja-JP/default.txt
Symbolic link
1
android/app/src/fdroid/play/release-notes/ja-JP/default.txt
Symbolic link
@@ -0,0 +1 @@
|
||||
../../listings/ja-JP/release-notes.txt
|
||||
1
android/app/src/fdroid/play/release-notes/ka-GE/default.txt
Symbolic link
1
android/app/src/fdroid/play/release-notes/ka-GE/default.txt
Symbolic link
@@ -0,0 +1 @@
|
||||
../../listings/ka-GE/release-notes.txt
|
||||
1
android/app/src/fdroid/play/release-notes/kk/default.txt
Symbolic link
1
android/app/src/fdroid/play/release-notes/kk/default.txt
Symbolic link
@@ -0,0 +1 @@
|
||||
../../listings/kk/release-notes.txt
|
||||
1
android/app/src/fdroid/play/release-notes/km-KH/default.txt
Symbolic link
1
android/app/src/fdroid/play/release-notes/km-KH/default.txt
Symbolic link
@@ -0,0 +1 @@
|
||||
../../listings/km-KH/release-notes.txt
|
||||
1
android/app/src/fdroid/play/release-notes/kn-IN/default.txt
Symbolic link
1
android/app/src/fdroid/play/release-notes/kn-IN/default.txt
Symbolic link
@@ -0,0 +1 @@
|
||||
../../listings/kn-IN/release-notes.txt
|
||||
1
android/app/src/fdroid/play/release-notes/ko-KR/default.txt
Symbolic link
1
android/app/src/fdroid/play/release-notes/ko-KR/default.txt
Symbolic link
@@ -0,0 +1 @@
|
||||
../../listings/ko-KR/release-notes.txt
|
||||
1
android/app/src/fdroid/play/release-notes/lo-LA/default.txt
Symbolic link
1
android/app/src/fdroid/play/release-notes/lo-LA/default.txt
Symbolic link
@@ -0,0 +1 @@
|
||||
../../listings/lo-LA/release-notes.txt
|
||||
1
android/app/src/fdroid/play/release-notes/lt/default.txt
Symbolic link
1
android/app/src/fdroid/play/release-notes/lt/default.txt
Symbolic link
@@ -0,0 +1 @@
|
||||
../../listings/lt/release-notes.txt
|
||||
1
android/app/src/fdroid/play/release-notes/lv/default.txt
Symbolic link
1
android/app/src/fdroid/play/release-notes/lv/default.txt
Symbolic link
@@ -0,0 +1 @@
|
||||
../../listings/lv/release-notes.txt
|
||||
1
android/app/src/fdroid/play/release-notes/mk-MK/default.txt
Symbolic link
1
android/app/src/fdroid/play/release-notes/mk-MK/default.txt
Symbolic link
@@ -0,0 +1 @@
|
||||
../../listings/mk-MK/release-notes.txt
|
||||
1
android/app/src/fdroid/play/release-notes/ml-IN/default.txt
Symbolic link
1
android/app/src/fdroid/play/release-notes/ml-IN/default.txt
Symbolic link
@@ -0,0 +1 @@
|
||||
../../listings/ml-IN/release-notes.txt
|
||||
1
android/app/src/fdroid/play/release-notes/mr-IN/default.txt
Symbolic link
1
android/app/src/fdroid/play/release-notes/mr-IN/default.txt
Symbolic link
@@ -0,0 +1 @@
|
||||
../../listings/mr-IN/release-notes.txt
|
||||
1
android/app/src/fdroid/play/release-notes/ms/default.txt
Symbolic link
1
android/app/src/fdroid/play/release-notes/ms/default.txt
Symbolic link
@@ -0,0 +1 @@
|
||||
../../listings/ms/release-notes.txt
|
||||
1
android/app/src/fdroid/play/release-notes/ne-NP/default.txt
Symbolic link
1
android/app/src/fdroid/play/release-notes/ne-NP/default.txt
Symbolic link
@@ -0,0 +1 @@
|
||||
../../listings/ne-NP/release-notes.txt
|
||||
1
android/app/src/fdroid/play/release-notes/nl-NL/default.txt
Symbolic link
1
android/app/src/fdroid/play/release-notes/nl-NL/default.txt
Symbolic link
@@ -0,0 +1 @@
|
||||
../../listings/nl-NL/release-notes.txt
|
||||
1
android/app/src/fdroid/play/release-notes/no-NO/default.txt
Symbolic link
1
android/app/src/fdroid/play/release-notes/no-NO/default.txt
Symbolic link
@@ -0,0 +1 @@
|
||||
../../listings/no-NO/release-notes.txt
|
||||
1
android/app/src/fdroid/play/release-notes/pl-PL/default.txt
Symbolic link
1
android/app/src/fdroid/play/release-notes/pl-PL/default.txt
Symbolic link
@@ -0,0 +1 @@
|
||||
../../listings/pl-PL/release-notes.txt
|
||||
1
android/app/src/fdroid/play/release-notes/pt-BR/default.txt
Symbolic link
1
android/app/src/fdroid/play/release-notes/pt-BR/default.txt
Symbolic link
@@ -0,0 +1 @@
|
||||
../../listings/pt-BR/release-notes.txt
|
||||
1
android/app/src/fdroid/play/release-notes/pt-PT/default.txt
Symbolic link
1
android/app/src/fdroid/play/release-notes/pt-PT/default.txt
Symbolic link
@@ -0,0 +1 @@
|
||||
../../listings/pt-PT/release-notes.txt
|
||||
1
android/app/src/fdroid/play/release-notes/ro/default.txt
Symbolic link
1
android/app/src/fdroid/play/release-notes/ro/default.txt
Symbolic link
@@ -0,0 +1 @@
|
||||
../../listings/ro/release-notes.txt
|
||||
1
android/app/src/fdroid/play/release-notes/si-LK/default.txt
Symbolic link
1
android/app/src/fdroid/play/release-notes/si-LK/default.txt
Symbolic link
@@ -0,0 +1 @@
|
||||
../../listings/si-LK/release-notes.txt
|
||||
1
android/app/src/fdroid/play/release-notes/sk/default.txt
Symbolic link
1
android/app/src/fdroid/play/release-notes/sk/default.txt
Symbolic link
@@ -0,0 +1 @@
|
||||
../../listings/sk/release-notes.txt
|
||||
1
android/app/src/fdroid/play/release-notes/sl/default.txt
Symbolic link
1
android/app/src/fdroid/play/release-notes/sl/default.txt
Symbolic link
@@ -0,0 +1 @@
|
||||
../../listings/sl/release-notes.txt
|
||||
1
android/app/src/fdroid/play/release-notes/sr/default.txt
Symbolic link
1
android/app/src/fdroid/play/release-notes/sr/default.txt
Symbolic link
@@ -0,0 +1 @@
|
||||
../../listings/sr/release-notes.txt
|
||||
1
android/app/src/fdroid/play/release-notes/sv-SE/default.txt
Symbolic link
1
android/app/src/fdroid/play/release-notes/sv-SE/default.txt
Symbolic link
@@ -0,0 +1 @@
|
||||
../../listings/sv-SE/release-notes.txt
|
||||
1
android/app/src/fdroid/play/release-notes/th/default.txt
Symbolic link
1
android/app/src/fdroid/play/release-notes/th/default.txt
Symbolic link
@@ -0,0 +1 @@
|
||||
../../listings/th/release-notes.txt
|
||||
1
android/app/src/fdroid/play/release-notes/tr-TR/default.txt
Symbolic link
1
android/app/src/fdroid/play/release-notes/tr-TR/default.txt
Symbolic link
@@ -0,0 +1 @@
|
||||
../../listings/tr-TR/release-notes.txt
|
||||
1
android/app/src/fdroid/play/release-notes/uk/default.txt
Symbolic link
1
android/app/src/fdroid/play/release-notes/uk/default.txt
Symbolic link
@@ -0,0 +1 @@
|
||||
../../listings/uk/release-notes.txt
|
||||
1
android/app/src/fdroid/play/release-notes/ur/default.txt
Symbolic link
1
android/app/src/fdroid/play/release-notes/ur/default.txt
Symbolic link
@@ -0,0 +1 @@
|
||||
../../listings/ur/release-notes.txt
|
||||
1
android/app/src/fdroid/play/release-notes/vi/default.txt
Symbolic link
1
android/app/src/fdroid/play/release-notes/vi/default.txt
Symbolic link
@@ -0,0 +1 @@
|
||||
../../listings/vi/release-notes.txt
|
||||
1
android/app/src/fdroid/play/release-notes/zh-CN/default.txt
Symbolic link
1
android/app/src/fdroid/play/release-notes/zh-CN/default.txt
Symbolic link
@@ -0,0 +1 @@
|
||||
../../listings/zh-CN/release-notes.txt
|
||||
1
android/app/src/fdroid/play/release-notes/zh-HK/default.txt
Symbolic link
1
android/app/src/fdroid/play/release-notes/zh-HK/default.txt
Symbolic link
@@ -0,0 +1 @@
|
||||
../../listings/zh-HK/release-notes.txt
|
||||
1
android/app/src/fdroid/play/release-notes/zh-TW/default.txt
Symbolic link
1
android/app/src/fdroid/play/release-notes/zh-TW/default.txt
Symbolic link
@@ -0,0 +1 @@
|
||||
../../listings/zh-TW/release-notes.txt
|
||||
@@ -0,0 +1 @@
|
||||
সহজ মানচিত্র নেভিগেশন - আপনার যাত্রা সম্পর্কে আরও জানুন - সম্প্রদায় কর্তৃক পরিচালিত
|
||||
1
android/app/src/google/play/listings/bn/title.txt
Normal file
1
android/app/src/google/play/listings/bn/title.txt
Normal file
@@ -0,0 +1 @@
|
||||
CoMaps - গোপনীয়তা সহ যাতায়াত
|
||||
@@ -1 +1 @@
|
||||
Navigation cartographique facile - Propulsé par la communauté
|
||||
Navigation cartographique facile - Vivez de grands voyages - Propulsé par la communauté
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
Navigation facile del mappa – Discoperi tu viage – Alimentate per le communitate
|
||||
1
android/app/src/google/play/listings/ia/title.txt
Normal file
1
android/app/src/google/play/listings/ia/title.txt
Normal file
@@ -0,0 +1 @@
|
||||
CoMaps – Naviga private
|
||||
@@ -1 +1 @@
|
||||
CoMaps
|
||||
CoMaps - Nawigacja szanująca prywatność
|
||||
|
||||
@@ -35,6 +35,7 @@ import app.organicmaps.sdk.bookmarks.data.BookmarkSharingResult;
|
||||
import app.organicmaps.sdk.bookmarks.data.CategoryDataSource;
|
||||
import app.organicmaps.sdk.bookmarks.data.Icon;
|
||||
import app.organicmaps.sdk.bookmarks.data.KmlFileType;
|
||||
import app.organicmaps.sdk.bookmarks.data.PredefinedColors;
|
||||
import app.organicmaps.sdk.bookmarks.data.SortedBlock;
|
||||
import app.organicmaps.sdk.bookmarks.data.Track;
|
||||
import app.organicmaps.sdk.search.BookmarkSearchListener;
|
||||
@@ -592,7 +593,7 @@ public class BookmarksListFragment extends BaseMwmRecyclerFragment<ConcatAdapter
|
||||
if (mTrack == null)
|
||||
return;
|
||||
final Bundle args = new Bundle();
|
||||
args.putInt(BookmarkColorDialogFragment.ICON_TYPE, Icon.getColorPosition(mTrack.getColor()));
|
||||
args.putInt(BookmarkColorDialogFragment.ICON_TYPE, PredefinedColors.getPredefinedColorIndex(mTrack.getColor()));
|
||||
final FragmentManager manager = getChildFragmentManager();
|
||||
String className = BookmarkColorDialogFragment.class.getName();
|
||||
final FragmentFactory factory = manager.getFragmentFactory();
|
||||
@@ -601,7 +602,7 @@ public class BookmarksListFragment extends BaseMwmRecyclerFragment<ConcatAdapter
|
||||
dialogFragment.setArguments(args);
|
||||
dialogFragment.setOnColorSetListener((colorPos) -> {
|
||||
int from = mTrack.getColor();
|
||||
int to = BookmarkManager.ICONS.get(colorPos).argb();
|
||||
int to = PredefinedColors.getColor(colorPos);
|
||||
if (from == to)
|
||||
return;
|
||||
BookmarkManager.INSTANCE.changeTrackColor(mTrack.getTrackId(), to);
|
||||
|
||||
@@ -7,16 +7,18 @@ import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.ArrayAdapter;
|
||||
import app.organicmaps.R;
|
||||
import app.organicmaps.sdk.bookmarks.data.Icon;
|
||||
import app.organicmaps.sdk.bookmarks.data.PredefinedColors;
|
||||
import app.organicmaps.util.Graphics;
|
||||
import com.google.android.material.imageview.ShapeableImageView;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
public class IconsAdapter extends ArrayAdapter<Icon>
|
||||
public class ColorsAdapter extends ArrayAdapter<Integer>
|
||||
{
|
||||
@PredefinedColors.Color
|
||||
private int mCheckedIconColor;
|
||||
|
||||
public IconsAdapter(Context context, List<Icon> list)
|
||||
public ColorsAdapter(Context context, List<Integer> list)
|
||||
{
|
||||
super(context, 0, 0, list);
|
||||
}
|
||||
@@ -35,19 +37,20 @@ public class IconsAdapter extends ArrayAdapter<Icon>
|
||||
else
|
||||
holder = (SpinnerViewHolder) convertView.getTag();
|
||||
|
||||
final Icon icon = getItem(position);
|
||||
@PredefinedColors.Color
|
||||
final int color = Objects.requireNonNull(getItem(position));
|
||||
|
||||
Drawable circle;
|
||||
if (icon.getColor() == mCheckedIconColor)
|
||||
if (color == mCheckedIconColor)
|
||||
{
|
||||
circle = Graphics.drawCircleAndImage(getItem(position).argb(), R.dimen.track_circle_size,
|
||||
circle = Graphics.drawCircleAndImage(PredefinedColors.getColor(mCheckedIconColor), R.dimen.track_circle_size,
|
||||
app.organicmaps.sdk.R.drawable.ic_bookmark_none, R.dimen.bookmark_icon_size,
|
||||
getContext());
|
||||
}
|
||||
else
|
||||
{
|
||||
circle =
|
||||
Graphics.drawCircle(getItem(position).argb(), R.dimen.select_color_circle_size, getContext().getResources());
|
||||
circle = Graphics.drawCircle(PredefinedColors.getColor(color), R.dimen.select_color_circle_size,
|
||||
getContext().getResources());
|
||||
}
|
||||
holder.icon.setImageDrawable(circle);
|
||||
return convertView;
|
||||
@@ -41,8 +41,6 @@ public enum BookmarkManager {
|
||||
// These values have to match the values of kml::CompilationType from kml/types.hpp
|
||||
public static final int CATEGORY = 0;
|
||||
|
||||
public static final List<Icon> ICONS = new ArrayList<>();
|
||||
|
||||
private static final String[] BOOKMARKS_EXTENSIONS = Framework.nativeGetBookmarksFilesExts();
|
||||
|
||||
private static final String TAG = BookmarkManager.class.getSimpleName();
|
||||
@@ -70,26 +68,6 @@ public enum BookmarkManager {
|
||||
@Nullable
|
||||
private OnElevationActivePointChangedListener mOnElevationActivePointChangedListener;
|
||||
|
||||
static
|
||||
{
|
||||
ICONS.add(new Icon(Icon.PREDEFINED_COLOR_RED, Icon.BOOKMARK_ICON_TYPE_NONE));
|
||||
ICONS.add(new Icon(Icon.PREDEFINED_COLOR_PINK, Icon.BOOKMARK_ICON_TYPE_NONE));
|
||||
ICONS.add(new Icon(Icon.PREDEFINED_COLOR_PURPLE, Icon.BOOKMARK_ICON_TYPE_NONE));
|
||||
ICONS.add(new Icon(Icon.PREDEFINED_COLOR_DEEPPURPLE, Icon.BOOKMARK_ICON_TYPE_NONE));
|
||||
ICONS.add(new Icon(Icon.PREDEFINED_COLOR_BLUE, Icon.BOOKMARK_ICON_TYPE_NONE));
|
||||
ICONS.add(new Icon(Icon.PREDEFINED_COLOR_LIGHTBLUE, Icon.BOOKMARK_ICON_TYPE_NONE));
|
||||
ICONS.add(new Icon(Icon.PREDEFINED_COLOR_CYAN, Icon.BOOKMARK_ICON_TYPE_NONE));
|
||||
ICONS.add(new Icon(Icon.PREDEFINED_COLOR_TEAL, Icon.BOOKMARK_ICON_TYPE_NONE));
|
||||
ICONS.add(new Icon(Icon.PREDEFINED_COLOR_GREEN, Icon.BOOKMARK_ICON_TYPE_NONE));
|
||||
ICONS.add(new Icon(Icon.PREDEFINED_COLOR_LIME, Icon.BOOKMARK_ICON_TYPE_NONE));
|
||||
ICONS.add(new Icon(Icon.PREDEFINED_COLOR_YELLOW, Icon.BOOKMARK_ICON_TYPE_NONE));
|
||||
ICONS.add(new Icon(Icon.PREDEFINED_COLOR_ORANGE, Icon.BOOKMARK_ICON_TYPE_NONE));
|
||||
ICONS.add(new Icon(Icon.PREDEFINED_COLOR_DEEPORANGE, Icon.BOOKMARK_ICON_TYPE_NONE));
|
||||
ICONS.add(new Icon(Icon.PREDEFINED_COLOR_BROWN, Icon.BOOKMARK_ICON_TYPE_NONE));
|
||||
ICONS.add(new Icon(Icon.PREDEFINED_COLOR_GRAY, Icon.BOOKMARK_ICON_TYPE_NONE));
|
||||
ICONS.add(new Icon(Icon.PREDEFINED_COLOR_BLUEGRAY, Icon.BOOKMARK_ICON_TYPE_NONE));
|
||||
}
|
||||
|
||||
public void toggleCategoryVisibility(@NonNull BookmarkCategory category)
|
||||
{
|
||||
boolean isVisible = isVisible(category.getId());
|
||||
@@ -342,7 +320,7 @@ public enum BookmarkManager {
|
||||
nativeShowBookmarkCategoryOnMap(catId);
|
||||
}
|
||||
|
||||
@Icon.PredefinedColor
|
||||
@PredefinedColors.Color
|
||||
public int getLastEditedColor()
|
||||
{
|
||||
return nativeGetLastEditedColor();
|
||||
@@ -618,7 +596,7 @@ public enum BookmarkManager {
|
||||
return nativeGetBookmarkXY(bookmarkId);
|
||||
}
|
||||
|
||||
@Icon.PredefinedColor
|
||||
@PredefinedColors.Color
|
||||
public int getBookmarkColor(@IntRange(from = 0) long bookmarkId)
|
||||
{
|
||||
return nativeGetBookmarkColor(bookmarkId);
|
||||
@@ -652,7 +630,7 @@ public enum BookmarkManager {
|
||||
}
|
||||
|
||||
public void setBookmarkParams(@IntRange(from = 0) long bookmarkId, @NonNull String name,
|
||||
@Icon.PredefinedColor int color, @NonNull String descr)
|
||||
@PredefinedColors.Color int color, @NonNull String descr)
|
||||
{
|
||||
nativeSetBookmarkParams(bookmarkId, name, color, descr);
|
||||
}
|
||||
@@ -808,7 +786,7 @@ public enum BookmarkManager {
|
||||
@Nullable
|
||||
private native Bookmark nativeAddBookmarkToLastEditedCategory(double lat, double lon);
|
||||
|
||||
@Icon.PredefinedColor
|
||||
@PredefinedColors.Color
|
||||
private native int nativeGetLastEditedColor();
|
||||
|
||||
private static native void nativeLoadBookmarksFile(@NonNull String path, boolean isTemporaryFile);
|
||||
@@ -874,7 +852,7 @@ public enum BookmarkManager {
|
||||
@NonNull
|
||||
private static native ParcelablePointD nativeGetBookmarkXY(@IntRange(from = 0) long bookmarkId);
|
||||
|
||||
@Icon.PredefinedColor
|
||||
@PredefinedColors.Color
|
||||
private static native int nativeGetBookmarkColor(@IntRange(from = 0) long bookmarkId);
|
||||
|
||||
private static native int nativeGetBookmarkIcon(@IntRange(from = 0) long bookmarkId);
|
||||
@@ -889,12 +867,13 @@ public enum BookmarkManager {
|
||||
private static native String nativeEncode2Ge0Url(@IntRange(from = 0) long bookmarkId, boolean addName);
|
||||
|
||||
private static native void nativeSetBookmarkParams(@IntRange(from = 0) long bookmarkId, @NonNull String name,
|
||||
@Icon.PredefinedColor int color, @NonNull String descr);
|
||||
@PredefinedColors.Color int color, @NonNull String descr);
|
||||
|
||||
private static native void nativeChangeTrackColor(@IntRange(from = 0) long trackId, @Icon.PredefinedColor int color);
|
||||
private static native void nativeChangeTrackColor(@IntRange(from = 0) long trackId,
|
||||
@PredefinedColors.Color int color);
|
||||
|
||||
private static native void nativeSetTrackParams(@IntRange(from = 0) long trackId, @NonNull String name,
|
||||
@Icon.PredefinedColor int color, @NonNull String descr);
|
||||
@PredefinedColors.Color int color, @NonNull String descr);
|
||||
|
||||
private static native void nativeChangeBookmarkCategory(@IntRange(from = 0) long oldCatId,
|
||||
@IntRange(from = 0) long newCatId,
|
||||
|
||||
@@ -2,71 +2,13 @@ package app.organicmaps.sdk.bookmarks.data;
|
||||
|
||||
import android.os.Parcel;
|
||||
import android.os.Parcelable;
|
||||
import androidx.annotation.ColorInt;
|
||||
import androidx.annotation.DrawableRes;
|
||||
import androidx.annotation.IntDef;
|
||||
import app.organicmaps.sdk.R;
|
||||
import com.google.common.base.Objects;
|
||||
import java.lang.annotation.Retention;
|
||||
import java.lang.annotation.RetentionPolicy;
|
||||
|
||||
public class Icon implements Parcelable
|
||||
{
|
||||
@Retention(RetentionPolicy.SOURCE)
|
||||
@IntDef({PREDEFINED_COLOR_NONE, PREDEFINED_COLOR_RED, PREDEFINED_COLOR_BLUE, PREDEFINED_COLOR_PURPLE,
|
||||
PREDEFINED_COLOR_YELLOW, PREDEFINED_COLOR_PINK, PREDEFINED_COLOR_BROWN, PREDEFINED_COLOR_GREEN,
|
||||
PREDEFINED_COLOR_ORANGE, PREDEFINED_COLOR_DEEPPURPLE, PREDEFINED_COLOR_LIGHTBLUE, PREDEFINED_COLOR_CYAN,
|
||||
PREDEFINED_COLOR_TEAL, PREDEFINED_COLOR_LIME, PREDEFINED_COLOR_DEEPORANGE, PREDEFINED_COLOR_GRAY,
|
||||
PREDEFINED_COLOR_BLUEGRAY})
|
||||
@interface PredefinedColor
|
||||
{}
|
||||
|
||||
static final int PREDEFINED_COLOR_NONE = 0;
|
||||
static final int PREDEFINED_COLOR_RED = 1;
|
||||
static final int PREDEFINED_COLOR_BLUE = 2;
|
||||
static final int PREDEFINED_COLOR_PURPLE = 3;
|
||||
static final int PREDEFINED_COLOR_YELLOW = 4;
|
||||
static final int PREDEFINED_COLOR_PINK = 5;
|
||||
static final int PREDEFINED_COLOR_BROWN = 6;
|
||||
static final int PREDEFINED_COLOR_GREEN = 7;
|
||||
static final int PREDEFINED_COLOR_ORANGE = 8;
|
||||
static final int PREDEFINED_COLOR_DEEPPURPLE = 9;
|
||||
static final int PREDEFINED_COLOR_LIGHTBLUE = 10;
|
||||
static final int PREDEFINED_COLOR_CYAN = 11;
|
||||
static final int PREDEFINED_COLOR_TEAL = 12;
|
||||
static final int PREDEFINED_COLOR_LIME = 13;
|
||||
static final int PREDEFINED_COLOR_DEEPORANGE = 14;
|
||||
static final int PREDEFINED_COLOR_GRAY = 15;
|
||||
static final int PREDEFINED_COLOR_BLUEGRAY = 16;
|
||||
|
||||
private static int shift(int v, int bitCount)
|
||||
{
|
||||
return v << bitCount;
|
||||
}
|
||||
private static int toARGB(int r, int g, int b)
|
||||
{
|
||||
return shift(255, 24) + shift(r, 16) + shift(g, 8) + b;
|
||||
}
|
||||
|
||||
/// @note Important! Should be synced with kml/types.hpp/PredefinedColor
|
||||
/// @todo Values can be taken from Core.
|
||||
private static final int[] ARGB_COLORS = {toARGB(229, 27, 35), // none
|
||||
toARGB(229, 27, 35), // red
|
||||
toARGB(0, 110, 199), // blue
|
||||
toARGB(156, 39, 176), // purple
|
||||
toARGB(255, 200, 0), // yellow
|
||||
toARGB(255, 65, 130), // pink
|
||||
toARGB(121, 85, 72), // brown
|
||||
toARGB(56, 142, 60), // green
|
||||
toARGB(255, 160, 0), // orange
|
||||
toARGB(102, 57, 191), // deeppurple
|
||||
toARGB(36, 156, 242), // lightblue
|
||||
toARGB(20, 190, 205), // cyan
|
||||
toARGB(0, 165, 140), // teal
|
||||
toARGB(147, 191, 57), // lime
|
||||
toARGB(240, 100, 50), // deeporange
|
||||
toARGB(115, 115, 115), // gray
|
||||
toARGB(89, 115, 128)}; // bluegray
|
||||
|
||||
static final int BOOKMARK_ICON_TYPE_NONE = 0;
|
||||
|
||||
/// @note Important! Should be synced with kml/types.hpp/BookmarkIcon
|
||||
@@ -98,11 +40,16 @@ public class Icon implements Parcelable
|
||||
R.drawable.ic_bookmark_none // FastFood
|
||||
};
|
||||
|
||||
@PredefinedColor
|
||||
@PredefinedColors.Color
|
||||
private final int mColor;
|
||||
private final int mType;
|
||||
|
||||
public Icon(@PredefinedColor int color, int type)
|
||||
public Icon(@PredefinedColors.Color int color)
|
||||
{
|
||||
this(color, BOOKMARK_ICON_TYPE_NONE);
|
||||
}
|
||||
|
||||
public Icon(@PredefinedColors.Color int color, int type)
|
||||
{
|
||||
mColor = color;
|
||||
mType = type;
|
||||
@@ -127,25 +74,16 @@ public class Icon implements Parcelable
|
||||
mType = in.readInt();
|
||||
}
|
||||
|
||||
@PredefinedColor
|
||||
@PredefinedColors.Color
|
||||
public int getColor()
|
||||
{
|
||||
return mColor;
|
||||
}
|
||||
|
||||
@ColorInt
|
||||
public int argb()
|
||||
{
|
||||
return ARGB_COLORS[mColor];
|
||||
}
|
||||
|
||||
public static int getColorPosition(int color)
|
||||
{
|
||||
for (int index = 1; index < ARGB_COLORS.length; index++)
|
||||
{
|
||||
if (ARGB_COLORS[index] == color)
|
||||
return index;
|
||||
}
|
||||
return -1;
|
||||
return PredefinedColors.getColor(mColor);
|
||||
}
|
||||
|
||||
@DrawableRes
|
||||
|
||||
@@ -0,0 +1,50 @@
|
||||
package app.organicmaps.sdk.bookmarks.data;
|
||||
|
||||
import androidx.annotation.ColorInt;
|
||||
import androidx.annotation.IntRange;
|
||||
import androidx.annotation.NonNull;
|
||||
import dalvik.annotation.optimization.FastNative;
|
||||
import java.lang.annotation.Retention;
|
||||
import java.lang.annotation.RetentionPolicy;
|
||||
import java.util.List;
|
||||
import java.util.stream.IntStream;
|
||||
|
||||
public class PredefinedColors
|
||||
{
|
||||
@Retention(RetentionPolicy.SOURCE)
|
||||
@IntRange(from = 0)
|
||||
public @interface Color
|
||||
{}
|
||||
|
||||
/// @note Color format: ARGB
|
||||
@ColorInt
|
||||
private static final int[] PREDEFINED_COLORS = nativeGetPredefinedColors();
|
||||
|
||||
@ColorInt
|
||||
public static int getColor(int index)
|
||||
{
|
||||
return PREDEFINED_COLORS[index];
|
||||
}
|
||||
|
||||
@PredefinedColors.Color
|
||||
public static List<Integer> getAllPredefinedColors()
|
||||
{
|
||||
// 0 is reserved for "no color" option.
|
||||
return IntStream.range(1, PREDEFINED_COLORS.length).boxed().toList();
|
||||
}
|
||||
|
||||
public static int getPredefinedColorIndex(@ColorInt int color)
|
||||
{
|
||||
// 0 is reserved for "no color" option.
|
||||
for (int index = 1; index < PREDEFINED_COLORS.length; index++)
|
||||
{
|
||||
if (PREDEFINED_COLORS[index] == color)
|
||||
return index;
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
||||
@FastNative
|
||||
@NonNull
|
||||
private static native int[] nativeGetPredefinedColors();
|
||||
}
|
||||
@@ -240,7 +240,8 @@ public class SearchToolbarController extends ToolbarController implements View.O
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public OnBackPressedCallback getBackPressedCallback() {
|
||||
public OnBackPressedCallback getBackPressedCallback()
|
||||
{
|
||||
return mBackPressedCallback;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -9,9 +9,8 @@ import android.widget.GridView;
|
||||
import androidx.annotation.NonNull;
|
||||
import app.organicmaps.R;
|
||||
import app.organicmaps.base.BaseMwmDialogFragment;
|
||||
import app.organicmaps.bookmarks.IconsAdapter;
|
||||
import app.organicmaps.sdk.bookmarks.data.BookmarkManager;
|
||||
import app.organicmaps.sdk.bookmarks.data.Icon;
|
||||
import app.organicmaps.bookmarks.ColorsAdapter;
|
||||
import app.organicmaps.sdk.bookmarks.data.PredefinedColors;
|
||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
|
||||
import java.util.List;
|
||||
|
||||
@@ -19,11 +18,12 @@ public class BookmarkColorDialogFragment extends BaseMwmDialogFragment
|
||||
{
|
||||
public static final String ICON_TYPE = "ExtraIconType";
|
||||
|
||||
@PredefinedColors.Color
|
||||
private int mIconColor;
|
||||
|
||||
public interface OnBookmarkColorChangeListener
|
||||
{
|
||||
void onBookmarkColorSet(int colorPos);
|
||||
void onBookmarkColorSet(@PredefinedColors.Color int color);
|
||||
}
|
||||
|
||||
private OnBookmarkColorChangeListener mColorSetListener;
|
||||
@@ -49,19 +49,20 @@ public class BookmarkColorDialogFragment extends BaseMwmDialogFragment
|
||||
mColorSetListener = listener;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
private View buildView()
|
||||
{
|
||||
final List<Icon> icons = BookmarkManager.ICONS;
|
||||
final IconsAdapter adapter = new IconsAdapter(requireActivity(), icons);
|
||||
final List<Integer> colors = PredefinedColors.getAllPredefinedColors();
|
||||
final ColorsAdapter adapter = new ColorsAdapter(requireActivity(), colors);
|
||||
adapter.chooseItem(mIconColor);
|
||||
|
||||
@SuppressLint("InflateParams")
|
||||
final GridView gView =
|
||||
(GridView) LayoutInflater.from(requireActivity()).inflate(R.layout.fragment_color_grid, null);
|
||||
gView.setAdapter(adapter);
|
||||
gView.setOnItemClickListener((arg0, who, pos, id) -> {
|
||||
gView.setOnItemClickListener((parent, view, pos, id) -> {
|
||||
if (mColorSetListener != null)
|
||||
mColorSetListener.onBookmarkColorSet(pos);
|
||||
mColorSetListener.onBookmarkColorSet(adapter.getItem(pos));
|
||||
dismiss();
|
||||
});
|
||||
|
||||
|
||||
@@ -24,6 +24,7 @@ import app.organicmaps.sdk.bookmarks.data.BookmarkCategory;
|
||||
import app.organicmaps.sdk.bookmarks.data.BookmarkInfo;
|
||||
import app.organicmaps.sdk.bookmarks.data.BookmarkManager;
|
||||
import app.organicmaps.sdk.bookmarks.data.Icon;
|
||||
import app.organicmaps.sdk.bookmarks.data.PredefinedColors;
|
||||
import app.organicmaps.sdk.bookmarks.data.Track;
|
||||
import app.organicmaps.sdk.util.UiUtils;
|
||||
import app.organicmaps.util.Graphics;
|
||||
@@ -304,7 +305,7 @@ public class EditBookmarkFragment extends BaseMwmDialogFragment implements View.
|
||||
|
||||
final Bundle args = new Bundle();
|
||||
if (mTrack != null)
|
||||
args.putInt(BookmarkColorDialogFragment.ICON_TYPE, mTrack.getColor());
|
||||
args.putInt(BookmarkColorDialogFragment.ICON_TYPE, PredefinedColors.getPredefinedColorIndex(mColor));
|
||||
else
|
||||
args.putInt(BookmarkColorDialogFragment.ICON_TYPE, mIcon.getColor());
|
||||
final FragmentManager manager = getChildFragmentManager();
|
||||
@@ -317,17 +318,16 @@ public class EditBookmarkFragment extends BaseMwmDialogFragment implements View.
|
||||
{
|
||||
case TYPE_BOOKMARK ->
|
||||
dialogFragment.setOnColorSetListener(colorPos -> {
|
||||
final Icon newIcon = BookmarkManager.ICONS.get(colorPos);
|
||||
if (mIcon.getColor() == newIcon.getColor())
|
||||
if (mIcon != null && mIcon.getColor() == colorPos)
|
||||
return;
|
||||
|
||||
mIcon = newIcon;
|
||||
mIcon = new Icon(colorPos);
|
||||
refreshColorMarker();
|
||||
});
|
||||
case TYPE_TRACK ->
|
||||
dialogFragment.setOnColorSetListener(colorPos -> {
|
||||
int from = mTrack.getColor();
|
||||
int to = BookmarkManager.ICONS.get(colorPos).argb();
|
||||
int to = PredefinedColors.getColor(colorPos);
|
||||
if (from == to)
|
||||
return;
|
||||
mColor = to;
|
||||
@@ -342,9 +342,9 @@ public class EditBookmarkFragment extends BaseMwmDialogFragment implements View.
|
||||
{
|
||||
if (mIcon != null)
|
||||
{
|
||||
Drawable circle =
|
||||
Graphics.drawCircleAndImage(mIcon.argb(), R.dimen.track_circle_size, app.organicmaps.sdk.R.drawable.ic_bookmark_none,
|
||||
R.dimen.bookmark_icon_size, requireContext());
|
||||
Drawable circle = Graphics.drawCircleAndImage(mIcon.argb(), R.dimen.track_circle_size,
|
||||
app.organicmaps.sdk.R.drawable.ic_bookmark_none,
|
||||
R.dimen.bookmark_icon_size, requireContext());
|
||||
mIvColor.setImageDrawable(circle);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -26,6 +26,7 @@ import app.organicmaps.R;
|
||||
import app.organicmaps.api.Const;
|
||||
import app.organicmaps.intent.Factory;
|
||||
import app.organicmaps.routing.RoutingController;
|
||||
import app.organicmaps.sdk.ChoosePositionMode;
|
||||
import app.organicmaps.sdk.Framework;
|
||||
import app.organicmaps.sdk.bookmarks.data.BookmarkManager;
|
||||
import app.organicmaps.sdk.bookmarks.data.MapObject;
|
||||
@@ -33,7 +34,6 @@ import app.organicmaps.sdk.bookmarks.data.RoadWarningMarkType;
|
||||
import app.organicmaps.sdk.settings.RoadType;
|
||||
import app.organicmaps.sdk.util.UiUtils;
|
||||
import app.organicmaps.sdk.util.log.Logger;
|
||||
import app.organicmaps.sdk.ChoosePositionMode;
|
||||
import app.organicmaps.util.ThemeUtils;
|
||||
import app.organicmaps.util.bottomsheet.MenuBottomSheetFragment;
|
||||
import app.organicmaps.util.bottomsheet.MenuBottomSheetItem;
|
||||
|
||||
@@ -14,10 +14,10 @@ import androidx.lifecycle.Observer;
|
||||
import androidx.lifecycle.ViewModelProvider;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
import app.organicmaps.R;
|
||||
import app.organicmaps.editor.data.TimeFormatUtils;
|
||||
import app.organicmaps.sdk.bookmarks.data.MapObject;
|
||||
import app.organicmaps.sdk.bookmarks.data.Metadata;
|
||||
import app.organicmaps.sdk.editor.OpeningHours;
|
||||
import app.organicmaps.editor.data.TimeFormatUtils;
|
||||
import app.organicmaps.sdk.editor.data.Timespan;
|
||||
import app.organicmaps.sdk.editor.data.Timetable;
|
||||
import app.organicmaps.sdk.util.UiUtils;
|
||||
|
||||
333
android/app/src/main/res/values-bn/strings.xml
Normal file
333
android/app/src/main/res/values-bn/strings.xml
Normal file
@@ -0,0 +1,333 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="back">পিছনে</string>
|
||||
<string name="download_maps">ডাউনলোডকৃত মানচিত্র</string>
|
||||
<string name="delete">মুছো</string>
|
||||
<string name="cancel">বাতিল</string>
|
||||
<string name="miles">মাইল</string>
|
||||
<string name="later">পরে</string>
|
||||
<string name="core_my_position">আমার অবস্থান</string>
|
||||
<string name="search">খুঁজুন</string>
|
||||
<string name="download_has_failed">ডাউনলোড ব্যর্থ। আবার চেষ্টা করতে টিপ দাও।</string>
|
||||
<string name="mb">এমবি</string>
|
||||
<string name="search_map">ম্যাপ অনুসন্ধান</string>
|
||||
<string name="gb">জিবি</string>
|
||||
<string name="kilometres">কিলোমিটার</string>
|
||||
<string name="downloading">ডাউনলোডরত…</string>
|
||||
<string name="telegram_url">https://t.me/CoMapsApp/</string>
|
||||
<string name="osm_wiki_about_url">https://wiki.openstreetmap.org/wiki/About_OpenStreetMap</string>
|
||||
<string name="translated_om_site_url">https://comaps.app/</string>
|
||||
<string name="tts_info_link">https://www.comaps.app/support/tts-configuration-guide-for-android/</string>
|
||||
<string name="instagram_url">https://www.instagram.com/comaps.app/</string>
|
||||
<string name="app_site_url">https://comaps.app/</string>
|
||||
<string name="location_is_disabled_long_text">আপনার ডিভাইস বা অ্যাপ এর সব লোকেশন পরিষেবা বন্ধ করা আছে। দয়া করে সেটিংস থেকে চালু করুন।</string>
|
||||
<string name="close">বন্ধ</string>
|
||||
<string name="download">ডাউনলোড</string>
|
||||
<string name="limited_accuracy">সীমিত সঠিকতা</string>
|
||||
<string name="precise_location_is_disabled_long_text">সঠিক ন্যাভিগেশনের জন্য সেটিংস থেকে নিখুঁত লোকেশন অন করুন।</string>
|
||||
<string name="zoom_to_country">ম্যাপে দেখান</string>
|
||||
<string name="country_status_download_failed">ডাউনলোড ব্যর্থ হল</string>
|
||||
<string name="try_again">আবার চেষ্টা করুন</string>
|
||||
<string name="about_menu_title">CoMaps এর ব্যাপারে</string>
|
||||
<string name="about_headline">উন্মুক্ত প্রকল্প, তার সমাজ দ্বারা চলিত</string>
|
||||
<string name="location_settings">লোকেশন সেটিংস</string>
|
||||
<string name="about_proposition_1">• ব্যবহার করা সহজ এবং দেখতে সুন্দর</string>
|
||||
<string name="about_proposition_2">• গোপনীয়তা বান্ধব এবং বিজ্ঞাপন মুক্ত</string>
|
||||
<string name="about_proposition_3">• অফলাইন, দ্রুত এবং ছোট সাইজ</string>
|
||||
<string name="about_developed_by_enthusiasts">পুরোপুরি ওপেন সোর্স, অলাভজনক, প্রকাশ্য সিদ্ধান্ত করণ এবং অর্থায়ন।</string>
|
||||
<string name="wikimedia_commons">উইকিমিডিয়া কমন্স</string>
|
||||
<string name="self_service">স্ব-সেবা</string>
|
||||
<string name="panoramax">Panoramax ছবি</string>
|
||||
<string name="editor_line_social_network">LINE</string>
|
||||
<string name="mastodon">মাস্টোডন</string>
|
||||
<string name="bluesky">ব্লুস্কাই</string>
|
||||
<string name="saved">সংরক্ষণ</string>
|
||||
<string name="not_enough_free_space_on_sdcard">এই অ্যাপটি ব্যবহার করার জন্য অনুগ্রহ করে SD কার্ড অথবা USB স্টোরেজ থেকে যায়গা মুক্ত করুন</string>
|
||||
<string name="download_resources_continue">মানচিত্রে যান</string>
|
||||
<string name="downloading_country_can_proceed">%1$s (%2$s) এখন ডাউনলোড হচ্ছে। আপনি এখন\nমানচিত্রে যেতে পারেন।</string>
|
||||
<string name="download_country_ask">আপনি %1$s (%2$s) ডাউনলোড করতে চান?</string>
|
||||
<string name="update_country_ask">আপনি %1$s (%2$s) আপডেট করতে চান?</string>
|
||||
<string name="pause">বিরতি করুন</string>
|
||||
<string name="continue_button">চালিয়ে যান</string>
|
||||
<string name="add_new_set">নতুন তালিকা বানান</string>
|
||||
<string name="bookmark_set_name">বুকমার্ক তালিকার নাম</string>
|
||||
<string name="bookmarks">বুকমার্কসমূহ</string>
|
||||
<string name="bookmarks_and_tracks">বুকমার্ক ও ট্র্যাকসমূহ</string>
|
||||
<string name="core_my_places">আমার স্থানগুলি</string>
|
||||
<string name="name">নাম</string>
|
||||
<string name="address">ঠিকানা</string>
|
||||
<string name="list">তালিকা</string>
|
||||
<string name="maps_storage_downloaded">ডাউনলোড করা মানচিত্রসমূহ</string>
|
||||
<string name="maps_storage_internal">অভ্যন্তরীণ প্রাইভেট স্টোরেজ</string>
|
||||
<string name="maps_storage_removable">SD কার্ড</string>
|
||||
<string name="maps_storage_external">বহিরাগত শেয়ার্ড স্টোরেজ</string>
|
||||
<string name="maps_storage_free_size">%1$s মধ্যে %2$s ফাঁকা</string>
|
||||
<string name="move_maps">মানচিত্রের স্থান সরাবেন?</string>
|
||||
<string name="move_maps_error">মানচিত্রের স্থান সরানোর সময়ে সমস্যা হলো</string>
|
||||
<string name="measurement_units">মাপের একক</string>
|
||||
<string name="measurement_units_summary">মাইল ও কিলোমিটারের মধ্যে বেছে নিন</string>
|
||||
<string name="category_eat">খাওয়ার স্থান</string>
|
||||
<string name="category_food">মুদিখানা</string>
|
||||
<string name="category_fuel">গাড়ির তেল</string>
|
||||
<string name="category_parking">পার্কিং</string>
|
||||
<string name="category_shopping">কেনাকাটা</string>
|
||||
<string name="category_secondhand">ব্যবহৃত</string>
|
||||
<string name="category_hotel">হোটেল</string>
|
||||
<string name="category_tourism">দর্শনীয় স্থান</string>
|
||||
<string name="category_entertainment">মনোরঞ্জন</string>
|
||||
<string name="category_atm">এটিএম</string>
|
||||
<string name="category_nightlife">নাইটলাইফ</string>
|
||||
<string name="category_bank">ব্যাঙ্ক</string>
|
||||
<string name="category_pharmacy">ফার্মেসি</string>
|
||||
<string name="category_hospital">হাসপাতাল</string>
|
||||
<string name="category_toilet">শৌচালয়</string>
|
||||
<string name="category_post">ডাক</string>
|
||||
<string name="category_police">পুলিশ</string>
|
||||
<string name="category_wifi">ওয়াইফাই</string>
|
||||
<string name="category_recycling">রিসাইক্লিং</string>
|
||||
<string name="category_water">জল</string>
|
||||
<string name="category_rv">আর ভি সুযোগ-সুবিধা</string>
|
||||
<string name="description">নোটসমূহ</string>
|
||||
<string name="load_kmz_title">বুকমার্কগুলি লোড করা হচ্ছে</string>
|
||||
<string name="load_kmz_failed">বুকমার্কগুলি লোড করা যায়নি। ফাইলটি সম্ভবত নষ্ট বা অব্যবহারযোগ্য হতে পারে।</string>
|
||||
<string name="failed_to_open_file">%1$s ফাইলটি খোলা গেলো না।\n\n%2$s</string>
|
||||
<string name="bookmark_share_email_subject">নমস্কার, আমার পিন টি CoMaps-এ দেখুন!</string>
|
||||
<string name="my_position_share_email_subject">নমস্কার, আমার বর্তমান অবস্থানটি CoMaps অ্যাপে দেখুন!</string>
|
||||
<string name="unknown_file_type">অ্যাপটি এই ধরনের ফাইল চিনতে পারছে না:\n%1$s</string>
|
||||
<string name="my_position_share_email">নমস্কার,\n\nআমি এখন এখানে আছি: %1$s. এই লিংক %2$s , অথবা এই লিংকে %3$s টিপে যায়গাটি মানচিত্রে দেখুন।\n\nধন্যবাদ।</string>
|
||||
<string name="share">শেয়ার করুন</string>
|
||||
<string name="copied_to_clipboard">ক্লিপবোর্ডে অনুলিপি করা হলো: %s</string>
|
||||
<string name="done">হয়ে গেছে</string>
|
||||
<string name="data_version">ওপেনস্ট্রিটম্যাপ ডেটা: %s</string>
|
||||
<string name="tracks_title">ট্র্যাকগুলি</string>
|
||||
<string name="length">দৈর্ঘ্য</string>
|
||||
<string name="prefs_group_general">সাধারণ সেটিংস</string>
|
||||
<string name="prefs_group_information">তথ্য</string>
|
||||
<string name="prefs_group_route">নেভিগেশন</string>
|
||||
<string name="pref_zoom_title">জুম করার বোতামগুলি</string>
|
||||
<string name="pref_zoom_summary">মানচিত্রে দেখান</string>
|
||||
<string name="downloading_is_active">মানচিত্রটি এখন ডাউনলোডবিরত</string>
|
||||
<string name="load_kmz_successful">বুকমার্কগুলি লোড করা হয়ে গেছে! আপনি এগুলি মানচিত্রে অথবা বুকমার্ক পরিচালক স্ক্রিনে দেখতে পারেন।</string>
|
||||
<string name="wait_several_minutes">এটি হতে কিছুক্ষণ সময় লাগবে।\nঅনুগ্রহ করে প্রতীক্ষা করুন…</string>
|
||||
<string name="osm_log_out_confirmation">আপনি কি আপনার ওপেনস্ট্রিটম্যাপ অ্যাকাউন্ট থেকে বের হতে চান?</string>
|
||||
<string name="download_resources">অ্যাপটি ব্যবহার করার আগে অনুগ্রহ করে বিশ্বের পরিদর্শনের মানচিত্রটি ডাউনলোড করুন।\nএটি আপনার স্টোরেজের %s ব্যবহার করবে।</string>
|
||||
<string name="category_transport">যানবাহন</string>
|
||||
<string name="unknown_current_position">আপনার অবস্থানটি এখনও অব্দি চিহ্নিত করা যায়নি</string>
|
||||
<string name="share_my_location">আমার অবস্থানটি শেয়ার করুন</string>
|
||||
<string name="disconnect_usb_cable">CoMaps ব্য়াবহার কয়ারা জন্য দয়া করে USB-র তারটি খুলুন, বা মেমোরি কার্ড লাগান</string>
|
||||
<string name="download_country_failed">%s ডাউনলোড করা যায়নি</string>
|
||||
<string name="category_children">পারিবারিক ভ্রমণ</string>
|
||||
<string name="unsupported_phone">এই অ্যাপ চালানোর জন্য হার্ডওয়্যার দ্বারা ত্বরিত OpenGL জরুরি। দুর্ভাগ্যবশত, আপনার ডিভাইস এটি সমর্থন করে না।</string>
|
||||
<string name="maps_storage">মানচিত্রগুলি রাখার যায়গা বেছে নিন</string>
|
||||
<string name="maps_storage_summary">ফোল্ডার বেছে মানচিত্রগুলি ডাউনলোড করুন</string>
|
||||
<string name="maps_storage_shared">অভ্যন্তরীণ শেয়ার্ড স্টোরেজ</string>
|
||||
<string name="share_bookmarks_email_subject">CoMaps-এর বুকমার্কগুলি আপনার দ্বারা শেয়ার করা হলো</string>
|
||||
<string name="share_bookmarks_email_body">নমস্কার!\n\nআমি আমার CoMaps-এর বুকমার্কগুলি এখানে দিচ্ছি। যদি আপনার কাছে ইনস্টল না করা থাকি, তাহলে আপনি এখান থেকে ডাউনলোড করতে পারেন: https://www.comaps.app/download/\n\nCoMaps-এর সঙ্গে ভ্রমণ উপভোগ করুন!</string>
|
||||
<string name="my_position_share_sms">আমার বর্তমান অবস্থানটি CoMaps-এ দেখুন! %1$s বা %2$s আপনার কাছে অফলাইন মানচিত্র নেই? এইখান থেকে ডাউনলোড করুন: https://www.comaps.app/download/</string>
|
||||
<string name="cant_change_this_setting">ক্ষমা করুন, মানচিত্র রাখার সেটিংগুলি আপাতত বন্ধ রাখা আছে</string>
|
||||
<string name="settings">সেটিংস</string>
|
||||
<string name="edit">সম্পাদন করুন</string>
|
||||
<string name="email">ইমেইল</string>
|
||||
<string name="off">বন্ধ</string>
|
||||
<string name="pref_map_style_title">নাইট মোড</string>
|
||||
<string name="telegram">টেলিগ্রাম</string>
|
||||
<string name="auto">স্বয়ংক্রিয়</string>
|
||||
<string name="pref_map_3d_title">দৃষ্টিকোণ দৃশ্য</string>
|
||||
<string name="pref_map_3d_buildings_title">3D বিল্ডিং</string>
|
||||
<string name="pref_map_3d_buildings_disabled_summary">3D বিল্ডিং দেখানো পাওয়ার সাশ্রয় মোডে বন্ধ হয়ে যায়</string>
|
||||
<string name="pref_tts_enable_title">আওয়াজসহ নির্দেশাবলী</string>
|
||||
<string name="pref_tts_street_names_title">রাস্তার নাম ঘোষণা করুন</string>
|
||||
<string name="pref_tts_language_title">আওয়াজের ভাষা</string>
|
||||
<string name="pref_tts_street_names_description">সক্রিয় করা হলে, যে রাস্তা বা প্রস্থানের দিকে ঘুরতে হবে তার নাম বলা হবে।</string>
|
||||
<string name="pref_tts_test_voice_title">আওয়াজ দ্বারা দিকনির্দেশনা পরীক্ষা করুন</string>
|
||||
<string name="pref_tts_unavailable">উপলব্ধ নয়</string>
|
||||
<string name="pref_map_auto_zoom">স্বয়ংক্রিয় জুম</string>
|
||||
<string name="placepage_distance">দুরত্ব</string>
|
||||
<string name="menu">মেনু</string>
|
||||
<string name="news">খবর</string>
|
||||
<string name="github">গিটহাব</string>
|
||||
<string name="matrix">মেট্রিক্স</string>
|
||||
<string name="facebook">ফেসবুক</string>
|
||||
<string name="twitter">এক্স (টুইটার)</string>
|
||||
<string name="vk">ভিকে</string>
|
||||
<string name="pref_tts_playing_test_voice">যদি এখন আওয়াজ শুনতে না পান, তাহলে আওয়াজ অথবা সিস্টেমের \"টেক্সট-টু-স্পিচ\" সেটিংস পরীক্ষা করুন</string>
|
||||
<string name="website">ওয়েবসাইট</string>
|
||||
<string name="openstreetmap">ওপেনস্ট্রিটম্যাপ</string>
|
||||
<string name="google_play_services">গুগল দ্বারা মিশ্রিত অবস্থান সেবা</string>
|
||||
<string name="search_show_on_map">মানচিত্রে দেখুন</string>
|
||||
<string name="feedback">প্রতিক্রিয়া</string>
|
||||
<string name="instagram">ইনস্টাগ্রাম</string>
|
||||
<string name="pref_use_google_play">একটি বদ্ধ পরিষেবা যা আপনার অবস্থান আরও সঠিকভাবে নির্ধারণের জন্য জিপিএস, ওয়াইফাই, সেলুলার নেটওয়ার্ক ইত্যাদির সমন্বয় করে। এটি গুগলের সার্ভারের সাথে সংযুক্ত হতে পারে।</string>
|
||||
<string name="routing_requires_all_map">একটি রুট তৈরি করার জন্য, আমাদের আপনার অবস্থান থেকে আপনার গন্তব্য পর্যন্ত সমস্ত মানচিত্র ডাউনলোড এবং আপডেট করতে হবে।</string>
|
||||
<string name="rate_the_app">অ্যাপটি রেট করুন</string>
|
||||
<string name="help">সাহায্য</string>
|
||||
<string name="faq">প্রায়শই জিজ্ঞাসিত প্রশ্ন</string>
|
||||
<string name="donate">দান করুন</string>
|
||||
<string name="report_a_bug">বাগ রিপোর্ট করুন</string>
|
||||
<string name="compass_calibration_recommended">কম্পাসটি ক্যালিব্রেট করার জন্য ফোনটিকে ইংরেজিতে আট চিহ্নে গতিতে নাড়িয়ে তীরের দিক উন্নত করুন।</string>
|
||||
<string name="compass_calibration_required">কম্পাসটি ক্যালিব্রেট করার জন্য ফোনটিকে ইংরেজিতে আট চিহ্নে গতিতে নাড়িয়ে মানচিত্রে তীরের দিক উন্নত করুন।</string>
|
||||
<string name="long_tap_toast">ইন্টারফেসটি দেখতে আবার মানচিত্রে দীর্ঘক্ষণ টিপুন</string>
|
||||
<string name="downloader_update_all_button">সব আপডেট করুন</string>
|
||||
<string name="downloader_cancel_all">সব বাতিল করুন</string>
|
||||
<string name="downloader_downloaded_subtitle">ডাউনলোড করা</string>
|
||||
<string name="downloader_status_maps">মানচিত্র</string>
|
||||
<string name="downloader_download_all_button">সব ডাউনলোড করুন</string>
|
||||
<string name="downloader_delete_map_while_routing_dialog">মানচিত্রটি ডিলিট করতে অনুগ্রহ করে নেভিগেশন বন্ধ করুন</string>
|
||||
<string name="downloader_downloading">ডাউনলোড হচ্ছে:</string>
|
||||
<string name="routing_failed_cross_mwm_building">রুটগুলি শুধুমাত্র তৈরি করা যেতে পারে যা সম্পূর্ণরূপে একটি একক অঞ্চলের মানচিত্রের মধ্যে আছে।</string>
|
||||
<string name="routing_download_maps_along">আপনার রুটের সমস্ত মানচিত্র ডাউনলোড করুন</string>
|
||||
<string name="routing_not_enough_space">পর্যাপ্ত জায়গা নেই</string>
|
||||
<string name="enable_location_services">অনুগ্রহ করে অবস্থানের পরিষেবা চালু করুন</string>
|
||||
<string name="purple">বেগুনি</string>
|
||||
<string name="orange">কমলা</string>
|
||||
<string name="brown">বাদামী</string>
|
||||
<string name="pink">গোলাপি</string>
|
||||
<string name="deep_purple">গাঢ় বেগুনি</string>
|
||||
<string name="light_blue">হাল্কা নীল</string>
|
||||
<string name="cyan">সায়ান</string>
|
||||
<string name="teal">টিল</string>
|
||||
<string name="how_to_support_us">প্রজেক্টটি সমর্থন করুন</string>
|
||||
<string name="downloader_queued">সারিবদ্ধ</string>
|
||||
<string name="downloader_near_me_subtitle">আমার নিকটে</string>
|
||||
<string name="downloader_download_map">মানচিত্র ডাউনলোড করুন</string>
|
||||
<string name="downloader_delete_map">মানচিত্র ডিলিট করুন</string>
|
||||
<string name="downloader_update_map">মানচিত্র আপডেট করুন</string>
|
||||
<string name="lime">লাইম</string>
|
||||
<string name="deep_orange">গাঢ় কমলা</string>
|
||||
<string name="gray">ধূসর</string>
|
||||
<string name="on">চালু</string>
|
||||
<string name="blue_gray">ধূসর নীল</string>
|
||||
<string name="copyright">স্বত্ব</string>
|
||||
<string name="downloader_retry">পুনরায় চেষ্টা করুন</string>
|
||||
<string name="save">সংরক্ষণ করুন</string>
|
||||
<string name="create">তৈরি করুন</string>
|
||||
<string name="red">Red</string>
|
||||
<string name="yellow">হলুদ</string>
|
||||
<string name="blue">Blue</string>
|
||||
<string name="green">Green</string>
|
||||
<string name="twentyfour_seven">২৪/৭</string>
|
||||
<string name="dialog_routing_select_closer_end">দয়া করে গন্তব্যের স্থানটি বদলে রাস্তার সামনে আনুন</string>
|
||||
<string name="dialog_routing_change_intermediate">মধ্যবর্তী স্থানটি সনাক্ত করা যাচ্ছে না</string>
|
||||
<string name="dialog_routing_intermediate_not_determined">দয়া করা আপনার মধ্যবর্তি স্থানটি পুনরায় ঠিক করুন</string>
|
||||
<string name="dialog_routing_application_error">একটি অ্যাপ্লিকেশন ত্রুটির কারণে রুট তৈরি করা যায়নি</string>
|
||||
<string name="search_not_found">ওহো, কোন ফলাফল পাওয়া যায়নি</string>
|
||||
<string name="dialog_routing_download_and_build_cross_route">আপনি কি মানচিত্রটি ডাউনলোড করে একাধিক মানচিত্র বিস্তৃত একটি সর্বোত্তম রুট তৈরি করতে চান?</string>
|
||||
<string name="register_at_openstreetmap">ওপেনস্ট্রিটম্যাপে যোগদান করুন</string>
|
||||
<string name="dialog_routing_change_start_or_end">দয়া করে আপনার শুরুর স্থান বা গন্তব্য পুনরায় ঠিক করুন।</string>
|
||||
<string name="dialog_routing_select_closer_start">দয়া করে শুরুর স্থানটি বদলে রাস্তার সামনে আনুন।</string>
|
||||
<string name="editor_time_advanced">অ্যাডভান্সড মোড</string>
|
||||
<string name="search_without_internet_advertisement">রুট অনুসন্ধান এবং তৈরি শুরু করতে, অনুগ্রহ করে মানচিত্রটি ডাউনলোড করুন। এর পরে আপনার আর ইন্টারনেট সংযোগের প্রয়োজন হবে না।</string>
|
||||
<string name="editor_time_simple">সহজ মোড</string>
|
||||
<string name="editor_correct_mistake">ভুল শুধরে দিন</string>
|
||||
<string name="dialog_routing_disclaimer_recommendations">— প্রস্তাবিত রুটগুলিকে কেবল সুপারিশ হিসেবেই বোঝা উচিত;</string>
|
||||
<string name="p2p_only_from_current">নেভিগেশন শুধুমাত্র আপনার বর্তমান অবস্থান থেকে উপলব্ধ</string>
|
||||
<string name="dialog_routing_disclaimer_borders">— সীমান্তবর্তী অঞ্চলে রুট ব্যবহারে সতর্কতা অবলম্বন করুন: আমাদের অ্যাপ দ্বারা তৈরি রুটগুলি সম্ভবত অননুমোদিত স্থানে দেশের সীমানা অতিক্রম করতে পারে।</string>
|
||||
<string name="editor_report_problem_desription_1">দয়া করে সমস্যাটি বিস্তারিতভাবে বর্ণনা করুন যাতে ওপেনস্ট্রিটম্যাপের ভলিউন্টিয়াররা এটি ঠিক করতে পারে।</string>
|
||||
<string name="edit_opening_hours">বাণিজ্যের সময় বদলান</string>
|
||||
<string name="p2p_reroute_from_current">আপনি কি আপনার বর্তমান অবস্থান থেকে একটি রুট পরিকল্পনা করতে চান?</string>
|
||||
<string name="editor_time_allday">সারাদিন (২৪ ঘন্টা)</string>
|
||||
<string name="editor_time_delete">সময়সূচী মুছুন</string>
|
||||
<string name="autodownload">মানচিত্র অটো-ডাউনলোড করুন</string>
|
||||
<string name="dialog_routing_cant_build_route">রুট তৈরি করা যাচ্ছে না</string>
|
||||
<string name="dialog_routing_try_again">অনুগ্রহ করে পুনরায় চেষ্টা করুন</string>
|
||||
<string name="dialog_routing_download_cross_route">এই মানচিত্রের সীমানা অতিক্রম করে আরও ভালো রুট তৈরি করতে অতিরিক্ত মানচিত্র ডাউনলোড করুন।</string>
|
||||
<string name="search_select_map">মানচিত্র বেছে নিন</string>
|
||||
<string name="editor_time_open">খোলা</string>
|
||||
<string name="not_signed_in">লগ ইন করা নেই</string>
|
||||
<string name="dialog_routing_disclaimer_priority">— রাস্তার অবস্থা, ট্রাফিক আইন এবং রাস্তার চিহ্নগুলি সর্বদা নেভিগেশন ইঙ্গিতের চেয়ে অগ্রাধিকার পায়;</string>
|
||||
<string name="dialog_routing_disclaimer_precision">— মানচিত্রটি ভুল হতে পারে, এবং প্রস্তাবিত রুটটি সর্বদা গন্তব্যে পৌঁছানোর সবচেয়ে অনুকূল উপায় নাও হতে পারে;</string>
|
||||
<string name="dialog_routing_disclaimer_title">রুটটি অনুসরণ করার সময়, দয়া করে মনে রাখবেন:</string>
|
||||
<string name="dialog_routing_system_error">সিস্টেমের ত্রুটি</string>
|
||||
<string name="not_now">এখন নয়</string>
|
||||
<string name="editor_hours_closed">অবাণিজ্যিক সময়</string>
|
||||
<string name="editor_example_values">উদাহরণ মান</string>
|
||||
<string name="editor_add_select_location">অবস্থান বেছে নিন</string>
|
||||
<string name="editor_report_problem_desription_2">অথবা এইখানে নিজে ঠিক করে নিন https://www.openstreetmap.org/</string>
|
||||
<string name="editor_report_problem_send_button">পাঠান</string>
|
||||
<string name="editor_report_problem_title">সমস্যা</string>
|
||||
<string name="editor_report_problem_no_place_title">এই স্থানটির অস্তিত্ব নেই</string>
|
||||
<string name="editor_report_problem_under_construction_title">রক্ষণাবেক্ষণের জন্য বন্ধ</string>
|
||||
<string name="editor_report_problem_duplicate_place_title">ডুপ্লিকেট জায়গা</string>
|
||||
<string name="day_off_today">আজকে বন্ধ</string>
|
||||
<string name="today">আজকে</string>
|
||||
<string name="opens_in">%s-এর মধ্যে খুলবে</string>
|
||||
<string name="closes_in">%s-এর মধ্যে বন্ধ হবে</string>
|
||||
<string name="no_osm_account">আপনার ওপেনস্ট্রিটম্যাপ অ্যাকাউন্ট নেই?</string>
|
||||
<string name="logout">লগ আউট করুন</string>
|
||||
<string name="forgot_password">পাসওয়ার্ড ভুলে গেছেন?</string>
|
||||
<string name="edit_place">স্থানটি পরিবর্তন করুন</string>
|
||||
<string name="add_language">একটি ভাষা যোগ করুন</string>
|
||||
<string name="street">রাস্তা</string>
|
||||
<string name="house_number">বিল্ডিং নম্বর</string>
|
||||
<string name="building">বিল্ডিং</string>
|
||||
<string name="dialog_routing_disclaimer_beware">দয়া করে রাস্তায় সতর্ক এবং নিরাপদ থাকুন!</string>
|
||||
<string name="dialog_routing_check_gps">জিপিএস সিগন্যাল পরীক্ষা করুন</string>
|
||||
<string name="dialog_routing_error_location_not_found">রুট তৈরি করা যায়নি। বর্তমান জিপিএস স্থানাঙ্ক সনাক্ত করা যায়নি।</string>
|
||||
<string name="dialog_routing_location_turn_wifi">আপনার জিপিএস সিগন্যাল পরীক্ষা করুন। ওয়াইফাই সক্ষম করলে আপনার অবস্থানের নির্ভুলতা উন্নত হবে।</string>
|
||||
<string name="dialog_routing_location_turn_on">অবস্থানের পরিষেবা চালু করুন</string>
|
||||
<string name="dialog_routing_location_unknown_turn_on">আপনার বর্তমান জিপিএস স্থানাঙ্ক সনাক্ত করা যায়নি। রুট গণনা করতে অবস্থান পরিষেবা সক্ষম করুন।</string>
|
||||
<string name="dialog_routing_unable_locate_route">রুট সনাক্ত করা যাচ্ছে না</string>
|
||||
<string name="dialog_routing_change_start">শুরুর স্থান পুনরায় ঠিক করুন</string>
|
||||
<string name="dialog_routing_start_not_determined">রুট তৈরি করা হয়নি। শুরুর স্থান চিহ্নিত করা যাচ্ছে না।</string>
|
||||
<string name="dialog_routing_change_end">গন্তব্য পুনরায় ঠিক করুন</string>
|
||||
<string name="dialog_routing_end_not_determined">রুট তৈরি করা হয়নি। গন্তব্যের স্থান চিহ্নিত করা যাচ্ছে না।</string>
|
||||
<string name="show">দেখান</string>
|
||||
<string name="hide">লুকিয়ে দিন</string>
|
||||
<string name="search_not_found_query">আপনি যে অঞ্চলটি খুঁজছেন সেটি ডাউনলোড করুন অথবা কাছাকাছি একটি শহর বা গ্রামের নাম যোগ করার চেষ্টা করুন।</string>
|
||||
<string name="search_history_title">খোঁজের ইতিহাস</string>
|
||||
<string name="search_history_text">আপনার সাম্প্রতিক অনুসন্ধানগুলি দেখুন</string>
|
||||
<string name="clear_search">অনুসন্ধাণের ইতিহাস মুছে দিন</string>
|
||||
<string name="read_in_wikipedia">উইকিপিডিয়া</string>
|
||||
<string name="p2p_your_location">আপনার অবস্থান</string>
|
||||
<string name="p2p_from_here">এখান থেকে রুট বানান</string>
|
||||
<string name="p2p_to_here">এই অব্দি রুট বানান</string>
|
||||
<string name="editor_time_to">পর্যন্ত</string>
|
||||
<string name="editor_time_add">সময়সূচী যোগ করুন</string>
|
||||
<string name="editor_time_close">বন্ধ</string>
|
||||
<string name="editor_time_add_closed">বাণিজ্যের সময়ে বাদে সময় যোগ করুন</string>
|
||||
<string name="editor_time_title">বাণিজ্যের সময়</string>
|
||||
<string name="login_osm">ওপেনস্ট্রিটম্যাপ দ্বারা লগ ইন করুন</string>
|
||||
<string name="next_button">পরবর্তী</string>
|
||||
<string name="login">লগ ইন করুন</string>
|
||||
<string name="daily">প্রতিদিন</string>
|
||||
<string name="details">বিস্তারিত</string>
|
||||
<string name="categories">শ্রেণীসমূহ</string>
|
||||
<string name="history">ইতিহাস</string>
|
||||
<string name="p2p_start">চালু করুন</string>
|
||||
<string name="editor_time_from">থেকে</string>
|
||||
<string name="password">পাসওয়ার্ড</string>
|
||||
<string name="day_off">বন্ধ</string>
|
||||
<string name="closed">বন্ধ</string>
|
||||
<string name="social_media">সামাজিক মাধ্যম</string>
|
||||
<string name="downloader_search_field_hint">মানচিত্র খুঁজুন</string>
|
||||
<string name="common_check_internet_connection_dialog">অনুগ্রহ করে আপনার ডিভাইসটি ইন্টারনেটের সাথে সংযুক্ত আছে কিনা তা নিশ্চিত করুন</string>
|
||||
<string name="downloader_delete_map_dialog">আপনার সমস্ত মানচিত্র সম্পাদনা মানচিত্রের সাথে মুছে ফেলা হবে</string>
|
||||
<string name="editor_login_error_dialog">লগিনের ত্রুটি</string>
|
||||
<string name="level">তলা</string>
|
||||
<string name="message_invalid_feature_position">এখানে কোনও বস্তু পাওয়া যাচ্ছে না</string>
|
||||
<string name="level_value_generic">তলা: %s</string>
|
||||
<string name="editor_add_place_title">যোগ করা হচ্ছে</string>
|
||||
<string name="editor_edit_place_name_hint">স্থানের নাম</string>
|
||||
<string name="editor_edit_place_title">সম্পাদনা</string>
|
||||
<string name="placepage_add_business_button">ব্যবসা যোগ করুন</string>
|
||||
<string name="add_street">একটি রাস্তা অ্যাড করুন</string>
|
||||
<string name="empty_street_name_error">অনুগ্রহ করে রাস্তার নামটি লিখুন</string>
|
||||
<string name="choose_language">একটি ভাষা বেছে নিন</string>
|
||||
<string name="choose_street">একটি রাস্তা বেছে নিন</string>
|
||||
<string name="postal_code">ডাক কোড</string>
|
||||
<string name="cuisine">রন্ধনপ্রণালী</string>
|
||||
<string name="select_cuisine">রন্ধনপ্রণালী নির্বাচন করুন</string>
|
||||
<string name="email_or_username">ইমাইল বা ইউইজারনেম</string>
|
||||
<string name="editor_add_phone">ফোন নম্বর যোগ করুন</string>
|
||||
<string name="downloader_update_maps">মানচিত্রগুলি আপডেট করুন</string>
|
||||
<string name="downloader_mwm_migration_dialog">একটি রুট তৈরি করতে, আপনাকে সমস্ত মানচিত্র আপডেট করতে হবে এবং তারপর আবার রুট পরিকল্পনা করতে হবে।</string>
|
||||
<string name="downloader_no_space_title">পর্যাপ্ত যায়গা নেই</string>
|
||||
<string name="downloader_no_space_message">দয়া করে কোনও অদরকারি ডেটা ডিলিট করুন</string>
|
||||
<string name="editor_profile_changes">যাচাইকৃত পরিবর্তনগুলি</string>
|
||||
<string name="editor_focus_map_on_location">স্থান বা ব্যবসার স্থানের চিহ্নটি স্থাপন করতে মানচিত্রটি টেনে আনুন।</string>
|
||||
<string name="editor_default_language_hint">স্থানীয় ভাষায় যেমন লেখা আছে</string>
|
||||
<string name="detailed_problem_description">সমস্যার বিস্তারিত বিবরণ</string>
|
||||
<string name="editor_report_problem_other_title">আলাদা সমস্যা</string>
|
||||
<string name="osm_presentation">কমিউনিটি দ্বারা তৈরি ওপেনস্ট্রিটম্যাপ ডেটা টি %s তারিখ অব্দি সাম্পতিক। মানচিত্রটি সম্পাদনা এবং আপডেট করার সম্পর্কে আরও জানুন OpenStreetMap.org-এ</string>
|
||||
<string name="editor_edit_place_category_title">শ্রেণি</string>
|
||||
</resources>
|
||||
5
android/app/src/main/res/values-bn/types_strings.xml
Normal file
5
android/app/src/main/res/values-bn/types_strings.xml
Normal file
@@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="type.mapswithme">MapsWithMe</string>
|
||||
<string name="type.addr_interpolation">ঠিকানা/ব্লক</string>
|
||||
</resources>
|
||||
16
android/app/src/main/res/values-ia/strings.xml
Normal file
16
android/app/src/main/res/values-ia/strings.xml
Normal file
@@ -0,0 +1,16 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="translated_om_site_url">https://comaps.app/</string>
|
||||
<string name="osm_wiki_about_url">https://wiki.openstreetmap.org/wiki/About_OpenStreetMap</string>
|
||||
<string name="tts_info_link">https://www.comaps.app/support/tts-configuration-guide-for-android/</string>
|
||||
<string name="instagram_url">https://www.instagram.com/comaps.app/</string>
|
||||
<string name="wikimedia_commons">Wikimedia Commons</string>
|
||||
<string name="self_service">Self-service</string>
|
||||
<string name="panoramax">Imagine Panoramax</string>
|
||||
<string name="editor_line_social_network">LINE</string>
|
||||
<string name="bluesky">Bluesky</string>
|
||||
<string name="kilometres">Kilometros</string>
|
||||
<string name="app_site_url">https://comaps.app/</string>
|
||||
<string name="saved">Salvate</string>
|
||||
<string name="about_proposition_3">• Offline, rapide e compacte</string>
|
||||
</resources>
|
||||
6
android/app/src/main/res/values-ia/types_strings.xml
Normal file
6
android/app/src/main/res/values-ia/types_strings.xml
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="type.mapswithme">MapsWithMe</string>
|
||||
<string name="type.addr_interpolation">Adresse/Bloco</string>
|
||||
<string name="type.addr_interpolation.even">Adresse/Bloco</string>
|
||||
</resources>
|
||||
@@ -43,6 +43,8 @@ set(SRC
|
||||
app/organicmaps/sdk/core/jni_java_methods.cpp
|
||||
app/organicmaps/sdk/core/logging.cpp
|
||||
app/organicmaps/sdk/bookmarks/data/BookmarkManager.cpp
|
||||
app/organicmaps/sdk/bookmarks/data/PredefinedColors.cpp
|
||||
app/organicmaps/sdk/bookmarks/data/PredefinedColors.hpp
|
||||
app/organicmaps/sdk/DownloadResourcesLegacyActivity.cpp
|
||||
app/organicmaps/sdk/editor/Editor.cpp
|
||||
app/organicmaps/sdk/editor/OpeningHours.cpp
|
||||
|
||||
@@ -532,16 +532,10 @@ Java_app_organicmaps_sdk_bookmarks_data_BookmarkManager_nativeGetTrack(
|
||||
|
||||
ASSERT(nTrack, ("Track must not be null with id:)", trackId));
|
||||
|
||||
dp::Color nColor = nTrack->GetColor(0);
|
||||
|
||||
jint androidColor = shift(nColor.GetAlpha(), 24) +
|
||||
shift(nColor.GetRed(), 16) +
|
||||
shift(nColor.GetGreen(), 8) +
|
||||
nColor.GetBlue();
|
||||
|
||||
return env->NewObject(trackClazz, cId,
|
||||
trackId, static_cast<jlong>(nTrack->GetGroupId()), jni::ToJavaString(env, nTrack->GetName()),
|
||||
ToJavaDistance(env, platform::Distance::CreateFormatted(nTrack->GetLengthMeters())), androidColor);
|
||||
return env->NewObject(trackClazz, cId, trackId, static_cast<jlong>(nTrack->GetGroupId()),
|
||||
jni::ToJavaString(env, nTrack->GetName()),
|
||||
ToJavaDistance(env, platform::Distance::CreateFormatted(nTrack->GetLengthMeters())),
|
||||
nTrack->GetColor(0).GetARGB());
|
||||
}
|
||||
|
||||
JNIEXPORT jlong JNICALL
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
#include "PredefinedColors.hpp"
|
||||
|
||||
#include "kml/types.hpp"
|
||||
|
||||
#include <array>
|
||||
|
||||
extern "C"
|
||||
{
|
||||
JNIEXPORT jintArray JNICALL
|
||||
Java_app_organicmaps_sdk_bookmarks_data_PredefinedColors_nativeGetPredefinedColors(JNIEnv * env, jclass)
|
||||
{
|
||||
std::array<jint, static_cast<size_t>(kml::PredefinedColor::Count)> colors{};
|
||||
for (size_t i = 0; i < static_cast<size_t>(kml::PredefinedColor::Count); ++i)
|
||||
colors[i] = static_cast<jint>(kml::ColorFromPredefinedColor(static_cast<kml::PredefinedColor>(i)).GetARGB());
|
||||
|
||||
jintArray jColors = env->NewIntArray(colors.size());
|
||||
env->SetIntArrayRegion(jColors, 0, static_cast<jsize>(colors.size()), colors.data());
|
||||
return jColors;
|
||||
}
|
||||
}
|
||||
|
||||
namespace
|
||||
{
|
||||
JNINativeMethod const methods[] = {
|
||||
{"nativeGetPredefinedColors", "()[I",
|
||||
reinterpret_cast<void *>(&Java_app_organicmaps_sdk_bookmarks_data_PredefinedColors_nativeGetPredefinedColors)},
|
||||
};
|
||||
}
|
||||
|
||||
namespace predefined_colors
|
||||
{
|
||||
jint registerNativeMethods(JNIEnv * env)
|
||||
{
|
||||
jclass clazz = env->FindClass("app/organicmaps/sdk/bookmarks/data/PredefinedColors");
|
||||
if (clazz == nullptr)
|
||||
return JNI_ERR;
|
||||
|
||||
return env->RegisterNatives(clazz, methods, std::size(methods));
|
||||
}
|
||||
} // namespace predefined_colors
|
||||
@@ -0,0 +1,8 @@
|
||||
#pragma once
|
||||
|
||||
#include <jni.h>
|
||||
|
||||
namespace predefined_colors
|
||||
{
|
||||
jint registerNativeMethods(JNIEnv * env);
|
||||
}
|
||||
@@ -1,11 +1,13 @@
|
||||
#include "jni_helper.hpp"
|
||||
#include "logging.hpp"
|
||||
#include "ScopedLocalRef.hpp"
|
||||
#include "logging.hpp"
|
||||
|
||||
#include "base/assert.hpp"
|
||||
#include "base/exception.hpp"
|
||||
#include "base/string_utils.hpp"
|
||||
|
||||
#include "app/organicmaps/sdk/bookmarks/data/PredefinedColors.hpp"
|
||||
|
||||
#include <vector>
|
||||
|
||||
static JavaVM * g_jvm = 0;
|
||||
@@ -31,21 +33,21 @@ extern "C"
|
||||
{
|
||||
int __system_property_get(char const * name, char * value);
|
||||
|
||||
static bool IsAndroidLowerThan7()
|
||||
static bool IsAndroidApiLowerThan(int apiLevel)
|
||||
{
|
||||
char value[92] = { 0 };
|
||||
if (__system_property_get("ro.build.version.sdk", value) < 1)
|
||||
return false;
|
||||
const int apiLevel = atoi(value);
|
||||
if (apiLevel > 0 && apiLevel < 24)
|
||||
int const deviceApiLevel = atoi(value);
|
||||
if (deviceApiLevel > 0 && deviceApiLevel < apiLevel)
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
static bool const g_isAndroidLowerThan7 = IsAndroidLowerThan7();
|
||||
static bool const g_isAndroidLowerThan12 = IsAndroidApiLowerThan(30);
|
||||
static bool const g_isAndroidLowerThan7 = g_isAndroidLowerThan12 && IsAndroidApiLowerThan(24);
|
||||
|
||||
JNIEXPORT jint JNICALL
|
||||
JNI_OnLoad(JavaVM * jvm, void *)
|
||||
JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM * jvm, void *)
|
||||
{
|
||||
g_jvm = jvm;
|
||||
jni::InitSystemLog();
|
||||
@@ -64,6 +66,12 @@ JNI_OnLoad(JavaVM * jvm, void *)
|
||||
g_networkPolicyClazz = jni::GetGlobalClassRef(env, "app/organicmaps/sdk/util/NetworkPolicy");
|
||||
g_elevationInfoClazz = jni::GetGlobalClassRef(env, "app/organicmaps/sdk/bookmarks/data/ElevationInfo");
|
||||
|
||||
if (g_isAndroidLowerThan12)
|
||||
{
|
||||
if (predefined_colors::registerNativeMethods(env) != JNI_OK)
|
||||
return JNI_ERR;
|
||||
}
|
||||
|
||||
return JNI_VERSION_1_6;
|
||||
}
|
||||
|
||||
@@ -84,7 +92,7 @@ JNI_OnUnload(JavaVM *, void *)
|
||||
env->DeleteGlobalRef(g_networkPolicyClazz);
|
||||
env->DeleteGlobalRef(g_elevationInfoClazz);
|
||||
}
|
||||
} // extern "C"
|
||||
} // extern "C"
|
||||
|
||||
namespace jni
|
||||
{
|
||||
|
||||
@@ -26,6 +26,11 @@ struct Color
|
||||
constexpr uint8_t GetBlue() const { return ExtractByte(m_rgba, 1); }
|
||||
constexpr uint8_t GetAlpha() const { return ExtractByte(m_rgba, 0); }
|
||||
constexpr uint32_t GetRGBA() const { return m_rgba; }
|
||||
constexpr uint32_t GetARGB() const
|
||||
{
|
||||
return (static_cast<uint32_t>(GetAlpha()) << 24) | (static_cast<uint32_t>(GetRed()) << 16) |
|
||||
(static_cast<uint32_t>(GetGreen()) << 8) | static_cast<uint32_t>(GetBlue());
|
||||
}
|
||||
|
||||
constexpr float GetRedF() const { return ChannelToFloat(GetRed()); }
|
||||
constexpr float GetGreenF() const { return ChannelToFloat(GetGreen()); }
|
||||
|
||||
@@ -15,7 +15,6 @@
|
||||
|
||||
namespace kml
|
||||
{
|
||||
/// @note Important! Should be synced with android/app/src/main/java/app/organicmaps/bookmarks/data/Icon.java
|
||||
enum class PredefinedColor : uint8_t
|
||||
{
|
||||
None = 0,
|
||||
|
||||
Reference in New Issue
Block a user