aboutsummaryrefslogtreecommitdiff
path: root/app/src/main
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--app/src/main/java/ml/docilealligator/infinityforreddit/Adapter/AcknowledgementRecyclerViewAdapter.java (renamed from app/src/main/java/ml/docilealligator/infinityforreddit/Settings/AcknowledgementRecyclerViewAdapter.java)7
-rw-r--r--app/src/main/java/ml/docilealligator/infinityforreddit/Adapter/TranslationFragmentRecyclerViewAdapter.java82
-rw-r--r--app/src/main/java/ml/docilealligator/infinityforreddit/AppComponent.java3
-rw-r--r--app/src/main/java/ml/docilealligator/infinityforreddit/Settings/Acknowledgement.java2
-rw-r--r--app/src/main/java/ml/docilealligator/infinityforreddit/Settings/AcknowledgementFragment.java1
-rw-r--r--app/src/main/java/ml/docilealligator/infinityforreddit/Settings/Translation.java42
-rw-r--r--app/src/main/java/ml/docilealligator/infinityforreddit/Settings/TranslationFragment.java58
-rw-r--r--app/src/main/res/drawable/flag_brazil.xml21
-rw-r--r--app/src/main/res/drawable/flag_china.xml24
-rw-r--r--app/src/main/res/drawable/flag_croatia.xml72
-rw-r--r--app/src/main/res/drawable/flag_france.xml15
-rw-r--r--app/src/main/res/drawable/flag_germany.xml15
-rw-r--r--app/src/main/res/drawable/flag_greece.xml24
-rw-r--r--app/src/main/res/drawable/flag_hungary.xml15
-rw-r--r--app/src/main/res/drawable/flag_india.xml24
-rw-r--r--app/src/main/res/drawable/flag_italy.xml15
-rw-r--r--app/src/main/res/drawable/flag_japan.xml12
-rw-r--r--app/src/main/res/drawable/flag_norway.xml24
-rw-r--r--app/src/main/res/drawable/flag_portugal.xml21
-rw-r--r--app/src/main/res/drawable/flag_romania.xml15
-rw-r--r--app/src/main/res/drawable/flag_russia.xml15
-rw-r--r--app/src/main/res/drawable/flag_south_korea.xml69
-rw-r--r--app/src/main/res/drawable/flag_spain.xml15
-rw-r--r--app/src/main/res/drawable/flag_sweden.xml21
-rw-r--r--app/src/main/res/drawable/flag_turkey.xml15
-rw-r--r--app/src/main/res/drawable/flag_vietnam.xml12
-rw-r--r--app/src/main/res/layout/fragment_translation.xml7
-rw-r--r--app/src/main/res/layout/item_translation_contributor.xml42
-rw-r--r--app/src/main/res/values/strings.xml3
-rw-r--r--app/src/main/res/xml/about_preferences.xml5
30 files changed, 692 insertions, 4 deletions
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/Settings/AcknowledgementRecyclerViewAdapter.java b/app/src/main/java/ml/docilealligator/infinityforreddit/Adapter/AcknowledgementRecyclerViewAdapter.java
index 6b081ad1..3958054a 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/Settings/AcknowledgementRecyclerViewAdapter.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/Adapter/AcknowledgementRecyclerViewAdapter.java
@@ -1,4 +1,4 @@
-package ml.docilealligator.infinityforreddit.Settings;
+package ml.docilealligator.infinityforreddit.Adapter;
import android.content.Context;
import android.content.Intent;
@@ -16,12 +16,13 @@ import butterknife.BindView;
import butterknife.ButterKnife;
import ml.docilealligator.infinityforreddit.Activity.LinkResolverActivity;
import ml.docilealligator.infinityforreddit.R;
+import ml.docilealligator.infinityforreddit.Settings.Acknowledgement;
-class AcknowledgementRecyclerViewAdapter extends RecyclerView.Adapter<AcknowledgementRecyclerViewAdapter.AcknowledgementViewHolder> {
+public class AcknowledgementRecyclerViewAdapter extends RecyclerView.Adapter<AcknowledgementRecyclerViewAdapter.AcknowledgementViewHolder> {
private ArrayList<Acknowledgement> acknowledgements;
private Context context;
- AcknowledgementRecyclerViewAdapter(Context context, ArrayList<Acknowledgement> acknowledgements) {
+ public AcknowledgementRecyclerViewAdapter(Context context, ArrayList<Acknowledgement> acknowledgements) {
this.context = context;
this.acknowledgements = acknowledgements;
}
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/Adapter/TranslationFragmentRecyclerViewAdapter.java b/app/src/main/java/ml/docilealligator/infinityforreddit/Adapter/TranslationFragmentRecyclerViewAdapter.java
new file mode 100644
index 00000000..a31381c5
--- /dev/null
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/Adapter/TranslationFragmentRecyclerViewAdapter.java
@@ -0,0 +1,82 @@
+package ml.docilealligator.infinityforreddit.Adapter;
+
+import android.app.Activity;
+import android.content.Intent;
+import android.net.Uri;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.ImageView;
+import android.widget.TextView;
+
+import androidx.annotation.NonNull;
+import androidx.recyclerview.widget.RecyclerView;
+
+import java.util.ArrayList;
+
+import butterknife.BindView;
+import butterknife.ButterKnife;
+import ml.docilealligator.infinityforreddit.Activity.LinkResolverActivity;
+import ml.docilealligator.infinityforreddit.CustomTheme.CustomThemeWrapper;
+import ml.docilealligator.infinityforreddit.R;
+import ml.docilealligator.infinityforreddit.Settings.Translation;
+
+public class TranslationFragmentRecyclerViewAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
+ private Activity activity;
+ private int primaryTextColor;
+ private int secondaryTextColor;
+ private ArrayList<Translation> translationContributors;
+
+ public TranslationFragmentRecyclerViewAdapter(Activity activity, CustomThemeWrapper customThemeWrapper) {
+ this.activity = activity;
+ primaryTextColor = customThemeWrapper.getPrimaryTextColor();
+ secondaryTextColor = customThemeWrapper.getSecondaryTextColor();
+ translationContributors = Translation.getTranslationContributors();
+ }
+
+ @NonNull
+ @Override
+ public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
+ return new TranslationContributorViewHolder(LayoutInflater.from(parent.getContext()).inflate(R.layout.item_translation_contributor, parent, false));
+ }
+
+ @Override
+ public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, int position) {
+ if (holder instanceof TranslationContributorViewHolder) {
+ Translation translation = translationContributors.get(position);
+ ((TranslationContributorViewHolder) holder).countryFlagImageView.setImageResource(translation.flagDrawableId);
+ ((TranslationContributorViewHolder) holder).languageNameTextView.setText(translation.language);
+ ((TranslationContributorViewHolder) holder).contributorNamesTextView.setText(translation.contributors);
+ }
+ }
+
+ @Override
+ public int getItemCount() {
+ return translationContributors.size();
+ }
+
+ class TranslationContributorViewHolder extends RecyclerView.ViewHolder {
+
+ @BindView(R.id.country_flag_image_view_item_translation_contributor)
+ ImageView countryFlagImageView;
+ @BindView(R.id.language_name_text_view_item_translation_contributor)
+ TextView languageNameTextView;
+ @BindView(R.id.contributor_names_text_view_item_translation_contributor)
+ TextView contributorNamesTextView;
+
+ public TranslationContributorViewHolder(@NonNull View itemView) {
+ super(itemView);
+
+ ButterKnife.bind(this, itemView);
+
+ languageNameTextView.setTextColor(primaryTextColor);
+ contributorNamesTextView.setTextColor(secondaryTextColor);
+
+ itemView.setOnClickListener(view -> {
+ Intent intent = new Intent(activity, LinkResolverActivity.class);
+ intent.setData(Uri.parse("https://poeditor.com/join/project?hash=b2IRyfaJv6"));
+ activity.startActivity(intent);
+ });
+ }
+ }
+}
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/AppComponent.java b/app/src/main/java/ml/docilealligator/infinityforreddit/AppComponent.java
index e7c8e456..e537b248 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/AppComponent.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/AppComponent.java
@@ -71,6 +71,7 @@ import ml.docilealligator.infinityforreddit.Settings.NotificationPreferenceFragm
import ml.docilealligator.infinityforreddit.Settings.NsfwAndBlurringFragment;
import ml.docilealligator.infinityforreddit.Settings.SecurityPreferenceFragment;
import ml.docilealligator.infinityforreddit.Settings.ThemePreferenceFragment;
+import ml.docilealligator.infinityforreddit.Settings.TranslationFragment;
import ml.docilealligator.infinityforreddit.Settings.VideoPreferenceFragment;
@Singleton
@@ -215,4 +216,6 @@ public interface AppComponent {
void inject(CustomizeBottomAppBarFragment customizeBottomAppBarFragment);
void inject(GiveAwardActivity giveAwardActivity);
+
+ void inject(TranslationFragment translationFragment);
}
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/Settings/Acknowledgement.java b/app/src/main/java/ml/docilealligator/infinityforreddit/Settings/Acknowledgement.java
index 9291b53c..f3466268 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/Settings/Acknowledgement.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/Settings/Acknowledgement.java
@@ -2,7 +2,7 @@ package ml.docilealligator.infinityforreddit.Settings;
import android.net.Uri;
-class Acknowledgement {
+public class Acknowledgement {
private String name;
private String introduction;
private Uri link;
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/Settings/AcknowledgementFragment.java b/app/src/main/java/ml/docilealligator/infinityforreddit/Settings/AcknowledgementFragment.java
index c765682e..feb13e66 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/Settings/AcknowledgementFragment.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/Settings/AcknowledgementFragment.java
@@ -18,6 +18,7 @@ import java.util.ArrayList;
import butterknife.BindView;
import butterknife.ButterKnife;
+import ml.docilealligator.infinityforreddit.Adapter.AcknowledgementRecyclerViewAdapter;
import ml.docilealligator.infinityforreddit.R;
/**
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/Settings/Translation.java b/app/src/main/java/ml/docilealligator/infinityforreddit/Settings/Translation.java
new file mode 100644
index 00000000..3d809a7f
--- /dev/null
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/Settings/Translation.java
@@ -0,0 +1,42 @@
+package ml.docilealligator.infinityforreddit.Settings;
+
+import java.util.ArrayList;
+
+import ml.docilealligator.infinityforreddit.R;
+
+public class Translation {
+ public String language;
+ public String contributors;
+ public int flagDrawableId;
+
+ public Translation(String language, String contributors, int flagDrawableId) {
+ this.language = language;
+ this.contributors = contributors;
+ this.flagDrawableId = flagDrawableId;
+ }
+
+ public static ArrayList<Translation> getTranslationContributors() {
+ ArrayList<Translation> translationContributors = new ArrayList<>();
+ translationContributors.add(new Translation("简体中文", "Gloria, Justin", R.drawable.flag_china));
+ translationContributors.add(new Translation("繁體中文", "", R.drawable.flag_china));
+ translationContributors.add(new Translation("Hrvatski", "Josip", R.drawable.flag_croatia));
+ translationContributors.add(new Translation("Française", "367, oursonbleu, Owen, pinembour", R.drawable.flag_france));
+ translationContributors.add(new Translation("Deutsche", "Jorge, Netto Hikari, translatewingman, translatorwiz", R.drawable.flag_germany));
+ translationContributors.add(new Translation("Ελληνικά", "Marios, Viktor", R.drawable.flag_greece));
+ translationContributors.add(new Translation("हिंदी", "a, Arya, charu, Mrigendra Bhandari, raghav, Sachin, Ved", R.drawable.flag_india));
+ translationContributors.add(new Translation("Magyar", "Zoltan", R.drawable.flag_hungary));
+ translationContributors.add(new Translation("Italiana", "Daniele Basso, DanOlivaw, Gianni00palmieri, Gillauino, ztiaa", R.drawable.flag_italy));
+ translationContributors.add(new Translation("日本語", "Issa, Mrigendra Bhandari, Ryan", R.drawable.flag_japan));
+ translationContributors.add(new Translation("한국어", "noname", R.drawable.flag_south_korea));
+ translationContributors.add(new Translation("norsk", "", R.drawable.flag_norway));
+ translationContributors.add(new Translation("Português", "Bruno Guerreiro, Lucas", R.drawable.flag_portugal));
+ translationContributors.add(new Translation("Português (BR)", "Laura Vasconcellos Pereira Felippe, Ricky, Super_Iguanna", R.drawable.flag_brazil));
+ translationContributors.add(new Translation("Română", "", R.drawable.flag_romania));
+ translationContributors.add(new Translation("русский язык", "aveblazer, flexagoon, Georgiy, Vova", R.drawable.flag_russia));
+ translationContributors.add(new Translation("Español", "Jorge, Miguel, mvstermoe, Nana Snixx, Sofia Flores", R.drawable.flag_spain));
+ translationContributors.add(new Translation("svenska", "Marcus Nordberg", R.drawable.flag_sweden));
+ translationContributors.add(new Translation("Türk", "Emir481, Faoiltiarna, Mehmet Yavuz, Serif", R.drawable.flag_turkey));
+ translationContributors.add(new Translation("Tiếng Việt", "Kai, Laezzy, Lmao, Ryan, viecdet69", R.drawable.flag_vietnam));
+ return translationContributors;
+ }
+}
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/Settings/TranslationFragment.java b/app/src/main/java/ml/docilealligator/infinityforreddit/Settings/TranslationFragment.java
new file mode 100644
index 00000000..44ad57e8
--- /dev/null
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/Settings/TranslationFragment.java
@@ -0,0 +1,58 @@
+package ml.docilealligator.infinityforreddit.Settings;
+
+import android.app.Activity;
+import android.content.Context;
+import android.os.Bundle;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+
+import androidx.annotation.NonNull;
+import androidx.fragment.app.Fragment;
+import androidx.recyclerview.widget.LinearLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
+
+import javax.inject.Inject;
+
+import butterknife.BindView;
+import butterknife.ButterKnife;
+import ml.docilealligator.infinityforreddit.Adapter.TranslationFragmentRecyclerViewAdapter;
+import ml.docilealligator.infinityforreddit.CustomTheme.CustomThemeWrapper;
+import ml.docilealligator.infinityforreddit.Infinity;
+import ml.docilealligator.infinityforreddit.R;
+
+public class TranslationFragment extends Fragment {
+
+ @BindView(R.id.recycler_view_translation_fragment)
+ RecyclerView recyclerView;
+ @Inject
+ CustomThemeWrapper customThemeWrapper;
+ private Activity activity;
+
+ public TranslationFragment() {
+ // Required empty public constructor
+ }
+
+ @Override
+ public View onCreateView(LayoutInflater inflater, ViewGroup container,
+ Bundle savedInstanceState) {
+ // Inflate the layout for this fragment
+ View rootView = inflater.inflate(R.layout.fragment_translation, container, false);
+
+ ((Infinity) activity.getApplication()).getAppComponent().inject(this);
+
+ ButterKnife.bind(this, rootView);
+
+ TranslationFragmentRecyclerViewAdapter adapter = new TranslationFragmentRecyclerViewAdapter(activity, customThemeWrapper);
+ recyclerView.setLayoutManager(new LinearLayoutManager(activity));
+ recyclerView.setAdapter(adapter);
+
+ return rootView;
+ }
+
+ @Override
+ public void onAttach(@NonNull Context context) {
+ super.onAttach(context);
+ activity = (Activity) context;
+ }
+} \ No newline at end of file
diff --git a/app/src/main/res/drawable/flag_brazil.xml b/app/src/main/res/drawable/flag_brazil.xml
new file mode 100644
index 00000000..04e3485b
--- /dev/null
+++ b/app/src/main/res/drawable/flag_brazil.xml
@@ -0,0 +1,21 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+ android:width="512dp"
+ android:height="512dp"
+ android:viewportWidth="512"
+ android:viewportHeight="512">
+ <path
+ android:pathData="M256,256m-256,0a256,256 0,1 1,512 0a256,256 0,1 1,-512 0"
+ android:fillColor="#6DA544"/>
+ <path
+ android:pathData="M256,100.174l211.478,155.826l-211.478,155.826l-211.478,-155.826z"
+ android:fillColor="#FFDA44"/>
+ <path
+ android:pathData="M256,256m-89.043,0a89.043,89.043 0,1 1,178.086 0a89.043,89.043 0,1 1,-178.086 0"
+ android:fillColor="#F0F0F0"/>
+ <path
+ android:pathData="M211.478,250.435c-15.484,0 -30.427,2.355 -44.493,6.725c0.623,48.64 40.227,87.884 89.015,87.884c30.168,0 56.812,-15.017 72.919,-37.968C301.362,272.579 258.961,250.435 211.478,250.435z"
+ android:fillColor="#0052B4"/>
+ <path
+ android:pathData="M343.393,273.06c1.072,-5.524 1.651,-11.223 1.651,-17.06c0,-49.178 -39.866,-89.043 -89.043,-89.043c-36.694,0 -68.194,22.201 -81.826,53.899c12.05,-2.497 24.526,-3.812 37.305,-3.812C263.197,217.043 309.983,238.541 343.393,273.06z"
+ android:fillColor="#0052B4"/>
+</vector>
diff --git a/app/src/main/res/drawable/flag_china.xml b/app/src/main/res/drawable/flag_china.xml
new file mode 100644
index 00000000..e0dceaaf
--- /dev/null
+++ b/app/src/main/res/drawable/flag_china.xml
@@ -0,0 +1,24 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+ android:width="512dp"
+ android:height="512dp"
+ android:viewportWidth="512"
+ android:viewportHeight="512">
+ <path
+ android:pathData="M256,256m-256,0a256,256 0,1 1,512 0a256,256 0,1 1,-512 0"
+ android:fillColor="#D80027"/>
+ <path
+ android:pathData="M140.1,155.8l22.1,68l71.5,0l-57.8,42.1l22.1,68l-57.9,-42l-57.9,42l22.2,-68l-57.9,-42.1l71.5,0z"
+ android:fillColor="#FFDA44"/>
+ <path
+ android:pathData="M303.5,396.5l-16.9,-20.8l-25,9.7l14.5,-22.5l-16.9,-20.9l25.9,6.9l14.6,-22.5l1.4,26.8l26,6.9l-25.1,9.6z"
+ android:fillColor="#FFDA44"/>
+ <path
+ android:pathData="M337.1,335.5l8,-25.6l-21.9,-15.5l26.8,-0.4l7.9,-25.6l8.7,25.4l26.8,-0.3l-21.5,16l8.6,25.4l-21.9,-15.5z"
+ android:fillColor="#FFDA44"/>
+ <path
+ android:pathData="M382.4,187.9l-11.8,24.1l19.2,18.7l-26.5,-3.8l-11.8,24l-4.6,-26.4l-26.6,-3.8l23.8,-12.5l-4.6,-26.5l19.2,18.7z"
+ android:fillColor="#FFDA44"/>
+ <path
+ android:pathData="M304.2,114.9l-2,26.7l24.9,10.1l-26.1,6.4l-1.9,26.8l-14.1,-22.8l-26.1,6.4l17.3,-20.5l-14.2,-22.7l24.9,10.1z"
+ android:fillColor="#FFDA44"/>
+</vector>
diff --git a/app/src/main/res/drawable/flag_croatia.xml b/app/src/main/res/drawable/flag_croatia.xml
new file mode 100644
index 00000000..ae31dba0
--- /dev/null
+++ b/app/src/main/res/drawable/flag_croatia.xml
@@ -0,0 +1,72 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+ android:width="512dp"
+ android:height="512dp"
+ android:viewportWidth="512"
+ android:viewportHeight="512">
+ <path
+ android:pathData="M512,256c0,-31.314 -5.633,-61.311 -15.923,-89.043L256,155.826l-240.077,11.13C5.633,194.689 0,224.686 0,256s5.633,61.311 15.923,89.043L256,356.174l240.077,-11.13C506.367,317.311 512,287.314 512,256z"
+ android:fillColor="#F0F0F0"/>
+ <path
+ android:pathData="M256,512c110.071,0 203.906,-69.472 240.077,-166.957H15.923C52.094,442.528 145.929,512 256,512z"
+ android:fillColor="#0052B4"/>
+ <path
+ android:pathData="M15.923,166.957h480.155C459.906,69.472 366.071,0 256,0S52.094,69.472 15.923,166.957z"
+ android:fillColor="#D80027"/>
+ <path
+ android:pathData="M322.783,178.088l-44.522,0l7.421,-55.653l29.68,-22.261l29.681,22.261l0,44.522z"
+ android:fillColor="#338AF3"/>
+ <path
+ android:pathData="M189.217,178.088l44.522,0l-7.421,-55.653l-29.681,-22.261l-29.68,22.261l0,44.522z"
+ android:fillColor="#338AF3"/>
+ <path
+ android:pathData="M285.682,178.088l-59.364,0l0,-55.653l29.682,-22.261l29.682,22.261z"
+ android:fillColor="#0052B4"/>
+ <path
+ android:pathData="M166.957,166.958v122.434c0,29.153 14.082,55.079 35.802,71.332l15.583,-3.899l19.664,19.782c5.815,1.198 11.832,1.829 17.995,1.829c6.13,0 12.117,-0.623 17.901,-1.809l22.447,-18.69l12.892,2.751c21.711,-16.252 35.803,-42.151 35.803,-71.296V166.958H166.957z"
+ android:fillColor="#F0F0F0"/>
+ <path
+ android:pathData="M166.957,166.957h35.617v35.617h-35.617z"
+ android:fillColor="#D80027"/>
+ <path
+ android:pathData="M238.191,166.957h35.617v35.617h-35.617z"
+ android:fillColor="#D80027"/>
+ <path
+ android:pathData="M309.426,166.957h35.617v35.617h-35.617z"
+ android:fillColor="#D80027"/>
+ <path
+ android:pathData="M202.574,202.574h35.617v35.617h-35.617z"
+ android:fillColor="#D80027"/>
+ <path
+ android:pathData="M273.809,202.574h35.617v35.617h-35.617z"
+ android:fillColor="#D80027"/>
+ <path
+ android:pathData="M166.957,238.18h35.617v35.617h-35.617z"
+ android:fillColor="#D80027"/>
+ <path
+ android:pathData="M202.574,273.798h35.617v35.617h-35.617z"
+ android:fillColor="#D80027"/>
+ <path
+ android:pathData="M238.191,238.18h35.617v35.617h-35.617z"
+ android:fillColor="#D80027"/>
+ <path
+ android:pathData="M309.426,238.18h35.617v35.617h-35.617z"
+ android:fillColor="#D80027"/>
+ <path
+ android:pathData="M273.809,273.798h35.617v35.617h-35.617z"
+ android:fillColor="#D80027"/>
+ <path
+ android:pathData="M238.191,309.415h35.617v35.617h-35.617z"
+ android:fillColor="#D80027"/>
+ <path
+ android:pathData="M202.574,309.418h-33.319c3.056,13.24 9.064,25.355 17.302,35.617h16.017V309.418z"
+ android:fillColor="#D80027"/>
+ <path
+ android:pathData="M309.426,345.036h16.016c8.24,-10.262 14.246,-22.378 17.302,-35.617h-33.318V345.036z"
+ android:fillColor="#D80027"/>
+ <path
+ android:pathData="M202.574,345.036v15.541c10.359,7.795 22.465,13.384 35.617,16.066v-31.607H202.574z"
+ android:fillColor="#D80027"/>
+ <path
+ android:pathData="M273.809,345.036v31.607c13.153,-2.68 25.258,-8.271 35.617,-16.066v-15.541H273.809z"
+ android:fillColor="#D80027"/>
+</vector>
diff --git a/app/src/main/res/drawable/flag_france.xml b/app/src/main/res/drawable/flag_france.xml
new file mode 100644
index 00000000..19e2182c
--- /dev/null
+++ b/app/src/main/res/drawable/flag_france.xml
@@ -0,0 +1,15 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+ android:width="512dp"
+ android:height="512dp"
+ android:viewportWidth="512"
+ android:viewportHeight="512">
+ <path
+ android:pathData="M256,256m-256,0a256,256 0,1 1,512 0a256,256 0,1 1,-512 0"
+ android:fillColor="#F0F0F0"/>
+ <path
+ android:pathData="M512,256c0,-110.071 -69.472,-203.906 -166.957,-240.077v480.155C442.528,459.906 512,366.071 512,256z"
+ android:fillColor="#D80027"/>
+ <path
+ android:pathData="M0,256c0,110.071 69.473,203.906 166.957,240.077V15.923C69.473,52.094 0,145.929 0,256z"
+ android:fillColor="#0052B4"/>
+</vector>
diff --git a/app/src/main/res/drawable/flag_germany.xml b/app/src/main/res/drawable/flag_germany.xml
new file mode 100644
index 00000000..a17c08b9
--- /dev/null
+++ b/app/src/main/res/drawable/flag_germany.xml
@@ -0,0 +1,15 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+ android:width="512dp"
+ android:height="512dp"
+ android:viewportWidth="512"
+ android:viewportHeight="512">
+ <path
+ android:pathData="M15.923,345.043C52.094,442.527 145.929,512 256,512s203.906,-69.473 240.077,-166.957L256,322.783L15.923,345.043z"
+ android:fillColor="#FFDA44"/>
+ <path
+ android:fillColor="#FF000000"
+ android:pathData="M256,0C145.929,0 52.094,69.472 15.923,166.957L256,189.217l240.077,-22.261C459.906,69.472 366.071,0 256,0z"/>
+ <path
+ android:pathData="M15.923,166.957C5.633,194.69 0,224.686 0,256s5.633,61.31 15.923,89.043h480.155C506.368,317.31 512,287.314 512,256s-5.632,-61.31 -15.923,-89.043H15.923z"
+ android:fillColor="#D80027"/>
+</vector>
diff --git a/app/src/main/res/drawable/flag_greece.xml b/app/src/main/res/drawable/flag_greece.xml
new file mode 100644
index 00000000..7dfc2da0
--- /dev/null
+++ b/app/src/main/res/drawable/flag_greece.xml
@@ -0,0 +1,24 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+ android:width="512dp"
+ android:height="512dp"
+ android:viewportWidth="512"
+ android:viewportHeight="512">
+ <path
+ android:pathData="M256,256m-256,0a256,256 0,1 1,512 0a256,256 0,1 1,-512 0"
+ android:fillColor="#F0F0F0"/>
+ <path
+ android:pathData="M256,189.217h247.181c-6.419,-23.814 -16.175,-46.255 -28.755,-66.783H256V189.217z"
+ android:fillColor="#338AF3"/>
+ <path
+ android:pathData="M96.643,456.348h318.713c23.363,-18.608 43.399,-41.21 59.069,-66.783H37.574C53.245,415.137 73.281,437.74 96.643,456.348z"
+ android:fillColor="#338AF3"/>
+ <path
+ android:pathData="M89.043,61.939c-20.126,17.331 -37.525,37.74 -51.469,60.496h51.469V61.939z"
+ android:fillColor="#338AF3"/>
+ <path
+ android:pathData="M256,256c0,-26.076 0,-47.899 0,-66.783H155.826V256H89.043v-66.783H8.819C3.08,210.511 0,232.893 0,256s3.08,45.489 8.819,66.783h494.363C508.92,301.489 512,279.107 512,256H256z"
+ android:fillColor="#338AF3"/>
+ <path
+ android:pathData="M256,0c-35.549,0 -69.404,7.253 -100.174,20.348v102.087H256c0,-23.312 0,-43.139 0,-66.783h159.357C371.626,20.824 316.249,0 256,0z"
+ android:fillColor="#338AF3"/>
+</vector>
diff --git a/app/src/main/res/drawable/flag_hungary.xml b/app/src/main/res/drawable/flag_hungary.xml
new file mode 100644
index 00000000..21a9f40c
--- /dev/null
+++ b/app/src/main/res/drawable/flag_hungary.xml
@@ -0,0 +1,15 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+ android:width="512dp"
+ android:height="512dp"
+ android:viewportWidth="512"
+ android:viewportHeight="512">
+ <path
+ android:pathData="M15.923,166.957C5.633,194.691 0,224.686 0,256s5.633,61.311 15.923,89.043L256,367.304l240.077,-22.261C506.367,317.311 512,287.314 512,256s-5.633,-61.309 -15.923,-89.043L256,144.696L15.923,166.957z"
+ android:fillColor="#F0F0F0"/>
+ <path
+ android:pathData="M256,0C145.93,0 52.094,69.472 15.924,166.957h480.155C459.906,69.472 366.072,0 256,0z"
+ android:fillColor="#D80027"/>
+ <path
+ android:pathData="M256,512c110.072,0 203.906,-69.472 240.078,-166.957H15.924C52.094,442.528 145.93,512 256,512z"
+ android:fillColor="#6DA544"/>
+</vector>
diff --git a/app/src/main/res/drawable/flag_india.xml b/app/src/main/res/drawable/flag_india.xml
new file mode 100644
index 00000000..7e96cbbe
--- /dev/null
+++ b/app/src/main/res/drawable/flag_india.xml
@@ -0,0 +1,24 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+ android:width="512dp"
+ android:height="512dp"
+ android:viewportWidth="512"
+ android:viewportHeight="512">
+ <path
+ android:pathData="M256,256m-256,0a256,256 0,1 1,512 0a256,256 0,1 1,-512 0"
+ android:fillColor="#F0F0F0"/>
+ <path
+ android:pathData="M256,0C154.506,0 66.81,59.065 25.402,144.696h461.195C445.19,59.065 357.493,0 256,0z"
+ android:fillColor="#FF9811"/>
+ <path
+ android:pathData="M256,512c101.493,0 189.19,-59.065 230.598,-144.696H25.402C66.81,452.935 154.506,512 256,512z"
+ android:fillColor="#6DA544"/>
+ <path
+ android:pathData="M256,256m-89.043,0a89.043,89.043 0,1 1,178.086 0a89.043,89.043 0,1 1,-178.086 0"
+ android:fillColor="#0052B4"/>
+ <path
+ android:pathData="M256,256m-55.652,0a55.652,55.652 0,1 1,111.304 0a55.652,55.652 0,1 1,-111.304 0"
+ android:fillColor="#F0F0F0"/>
+ <path
+ android:pathData="M256,187.326l17.169,38.938l42.304,-4.601l-25.136,34.337l25.136,34.337l-42.304,-4.601l-17.169,38.938l-17.169,-38.938l-42.304,4.6l25.136,-34.336l-25.136,-34.337l42.304,4.601z"
+ android:fillColor="#0052B4"/>
+</vector>
diff --git a/app/src/main/res/drawable/flag_italy.xml b/app/src/main/res/drawable/flag_italy.xml
new file mode 100644
index 00000000..dbf19c86
--- /dev/null
+++ b/app/src/main/res/drawable/flag_italy.xml
@@ -0,0 +1,15 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+ android:width="512dp"
+ android:height="512dp"
+ android:viewportWidth="512"
+ android:viewportHeight="512">
+ <path
+ android:pathData="M256,256m-256,0a256,256 0,1 1,512 0a256,256 0,1 1,-512 0"
+ android:fillColor="#F0F0F0"/>
+ <path
+ android:pathData="M512,256c0,-110.071 -69.472,-203.906 -166.957,-240.077v480.155C442.528,459.906 512,366.071 512,256z"
+ android:fillColor="#D80027"/>
+ <path
+ android:pathData="M0,256c0,110.071 69.472,203.906 166.957,240.077V15.923C69.472,52.094 0,145.929 0,256z"
+ android:fillColor="#6DA544"/>
+</vector>
diff --git a/app/src/main/res/drawable/flag_japan.xml b/app/src/main/res/drawable/flag_japan.xml
new file mode 100644
index 00000000..5653cbbb
--- /dev/null
+++ b/app/src/main/res/drawable/flag_japan.xml
@@ -0,0 +1,12 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+ android:width="512dp"
+ android:height="512dp"
+ android:viewportWidth="512"
+ android:viewportHeight="512">
+ <path
+ android:pathData="M256,256m-256,0a256,256 0,1 1,512 0a256,256 0,1 1,-512 0"
+ android:fillColor="#F0F0F0"/>
+ <path
+ android:pathData="M256,256m-111.304,0a111.304,111.304 0,1 1,222.608 0a111.304,111.304 0,1 1,-222.608 0"
+ android:fillColor="#D80027"/>
+</vector>
diff --git a/app/src/main/res/drawable/flag_norway.xml b/app/src/main/res/drawable/flag_norway.xml
new file mode 100644
index 00000000..ecb80eda
--- /dev/null
+++ b/app/src/main/res/drawable/flag_norway.xml
@@ -0,0 +1,24 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+ android:width="512dp"
+ android:height="512dp"
+ android:viewportWidth="512"
+ android:viewportHeight="512">
+ <path
+ android:pathData="M256,256m-256,0a256,256 0,1 1,512 0a256,256 0,1 1,-512 0"
+ android:fillColor="#F0F0F0"/>
+ <path
+ android:pathData="M8.819,322.783c14.812,54.959 47.457,102.593 91.355,136.322V322.783H8.819z"
+ android:fillColor="#D80027"/>
+ <path
+ android:pathData="M233.739,511.026C241.077,511.658 248.498,512 256,512c118.279,0 217.805,-80.221 247.181,-189.217H233.739V511.026z"
+ android:fillColor="#D80027"/>
+ <path
+ android:pathData="M503.181,189.217C473.805,80.221 374.279,0 256,0c-7.502,0 -14.923,0.342 -22.261,0.974v188.243H503.181z"
+ android:fillColor="#D80027"/>
+ <path
+ android:pathData="M100.174,52.895c-43.898,33.73 -76.543,81.363 -91.355,136.322h91.355V52.895z"
+ android:fillColor="#D80027"/>
+ <path
+ android:pathData="M509.833,222.609H200.349h-0.001V6.085c-23.658,5.246 -46.087,13.749 -66.783,25.042v191.48v0.001H2.167C0.742,233.539 0,244.683 0,256s0.742,22.461 2.167,33.391h131.397h0.001v191.481c20.696,11.292 43.125,19.797 66.783,25.042V289.394v-0.002h309.485C511.256,278.461 512,267.317 512,256S511.256,233.539 509.833,222.609z"
+ android:fillColor="#0052B4"/>
+</vector>
diff --git a/app/src/main/res/drawable/flag_portugal.xml b/app/src/main/res/drawable/flag_portugal.xml
new file mode 100644
index 00000000..a0e92558
--- /dev/null
+++ b/app/src/main/res/drawable/flag_portugal.xml
@@ -0,0 +1,21 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+ android:width="512dp"
+ android:height="512dp"
+ android:viewportWidth="512"
+ android:viewportHeight="512">
+ <path
+ android:pathData="M0,256c0,110.07 69.472,203.905 166.955,240.076l22.262,-240.077L166.955,15.923C69.472,52.095 0,145.929 0,256z"
+ android:fillColor="#6DA544"/>
+ <path
+ android:pathData="M512,256C512,114.616 397.384,0 256,0c-31.314,0 -61.311,5.633 -89.045,15.923v480.154C194.689,506.368 224.686,512 256,512C397.384,512 512,397.384 512,256z"
+ android:fillColor="#D80027"/>
+ <path
+ android:pathData="M166.957,256m-89.043,0a89.043,89.043 0,1 1,178.086 0a89.043,89.043 0,1 1,-178.086 0"
+ android:fillColor="#FFDA44"/>
+ <path
+ android:pathData="M116.87,211.478v55.652c0,27.662 22.424,50.087 50.087,50.087s50.087,-22.424 50.087,-50.087v-55.652H116.87z"
+ android:fillColor="#D80027"/>
+ <path
+ android:pathData="M166.957,283.826c-9.206,0 -16.696,-7.49 -16.696,-16.696V244.87h33.391v22.261C183.652,276.336 176.162,283.826 166.957,283.826z"
+ android:fillColor="#F0F0F0"/>
+</vector>
diff --git a/app/src/main/res/drawable/flag_romania.xml b/app/src/main/res/drawable/flag_romania.xml
new file mode 100644
index 00000000..e6daa579
--- /dev/null
+++ b/app/src/main/res/drawable/flag_romania.xml
@@ -0,0 +1,15 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+ android:width="512dp"
+ android:height="512dp"
+ android:viewportWidth="512"
+ android:viewportHeight="512">
+ <path
+ android:pathData="M345.043,15.922C317.309,5.633 287.314,0 256,0c-31.314,-0.001 -61.31,5.633 -89.043,15.922l-22.261,240.077l22.261,240.077C194.689,506.368 224.685,512 256,512c31.313,0 61.31,-5.632 89.043,-15.924L367.303,256L345.043,15.922z"
+ android:fillColor="#FFDA44"/>
+ <path
+ android:pathData="M512,256c0,-110.07 -69.472,-203.907 -166.957,-240.077v480.156C442.528,459.905 511.999,366.072 512,256z"
+ android:fillColor="#D80027"/>
+ <path
+ android:pathData="M0,255.999c0,110.073 69.472,203.906 166.955,240.079l0.001,-480.154C69.472,52.094 0,145.928 0,255.999z"
+ android:fillColor="#0052B4"/>
+</vector>
diff --git a/app/src/main/res/drawable/flag_russia.xml b/app/src/main/res/drawable/flag_russia.xml
new file mode 100644
index 00000000..08ec9553
--- /dev/null
+++ b/app/src/main/res/drawable/flag_russia.xml
@@ -0,0 +1,15 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+ android:width="512dp"
+ android:height="512dp"
+ android:viewportWidth="512"
+ android:viewportHeight="512">
+ <path
+ android:pathData="M256,256m-256,0a256,256 0,1 1,512 0a256,256 0,1 1,-512 0"
+ android:fillColor="#F0F0F0"/>
+ <path
+ android:pathData="M496.077,345.043C506.368,317.31 512,287.314 512,256s-5.632,-61.31 -15.923,-89.043H15.923C5.633,194.69 0,224.686 0,256s5.633,61.31 15.923,89.043L256,367.304L496.077,345.043z"
+ android:fillColor="#0052B4"/>
+ <path
+ android:pathData="M256,512c110.071,0 203.906,-69.472 240.077,-166.957H15.923C52.094,442.528 145.929,512 256,512z"
+ android:fillColor="#D80027"/>
+</vector>
diff --git a/app/src/main/res/drawable/flag_south_korea.xml b/app/src/main/res/drawable/flag_south_korea.xml
new file mode 100644
index 00000000..5481b529
--- /dev/null
+++ b/app/src/main/res/drawable/flag_south_korea.xml
@@ -0,0 +1,69 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+ android:width="512dp"
+ android:height="512dp"
+ android:viewportWidth="512"
+ android:viewportHeight="512">
+ <path
+ android:pathData="M256,256m-256,0a256,256 0,1 1,512 0a256,256 0,1 1,-512 0"
+ android:fillColor="#F0F0F0"/>
+ <path
+ android:pathData="M345.043,256c0,22.261 -39.866,77.913 -89.043,77.913S166.957,278.261 166.957,256c0,-49.178 39.866,-89.043 89.043,-89.043S345.043,206.822 345.043,256z"
+ android:fillColor="#D80027"/>
+ <path
+ android:pathData="M345.043,256c0,49.178 -39.866,89.043 -89.043,89.043S166.957,305.178 166.957,256"
+ android:fillColor="#0052B4"/>
+ <path
+ android:fillColor="#FF000000"
+ android:pathData="M350.442,334.705l23.611,-23.611l15.741,15.741l-23.611,23.611z"/>
+ <path
+ android:fillColor="#FF000000"
+ android:pathData="M311.085,374.059l23.611,-23.611l15.741,15.741l-23.611,23.611z"/>
+ <path
+ android:fillColor="#FF000000"
+ android:pathData="M397.67,381.917l23.611,-23.611l15.741,15.741l-23.611,23.611z"/>
+ <path
+ android:fillColor="#FF000000"
+ android:pathData="M358.314,421.278l23.611,-23.611l15.741,15.741l-23.611,23.611z"/>
+ <path
+ android:fillColor="#FF000000"
+ android:pathData="M374.055,358.313l23.611,-23.611l15.741,15.741l-23.611,23.611z"/>
+ <path
+ android:fillColor="#FF000000"
+ android:pathData="M334.709,397.667l23.611,-23.611l15.741,15.741l-23.611,23.611z"/>
+ <path
+ android:fillColor="#FF000000"
+ android:pathData="M397.678,177.289l-62.962,-62.962l15.741,-15.741l62.962,62.962z"/>
+ <path
+ android:fillColor="#FF000000"
+ android:pathData="M334.713,161.558l-23.611,-23.611l15.74,-15.74l23.611,23.611z"/>
+ <path
+ android:fillColor="#FF000000"
+ android:pathData="M374.06,200.907l-23.611,-23.611l15.74,-15.74l23.611,23.611z"/>
+ <path
+ android:fillColor="#FF000000"
+ android:pathData="M381.915,114.336l-23.611,-23.611l15.741,-15.741l23.611,23.611z"/>
+ <path
+ android:fillColor="#FF000000"
+ android:pathData="M421.283,153.688l-23.611,-23.611l15.741,-15.741l23.611,23.611z"/>
+ <path
+ android:fillColor="#FF000000"
+ android:pathData="M90.723,358.318l62.962,62.962l-15.741,15.741l-62.962,-62.962z"/>
+ <path
+ android:fillColor="#FF000000"
+ android:pathData="M153.68,374.051l23.611,23.611l-15.74,15.74l-23.611,-23.611z"/>
+ <path
+ android:fillColor="#FF000000"
+ android:pathData="M114.331,334.703l23.611,23.611l-15.741,15.741l-23.611,-23.611z"/>
+ <path
+ android:fillColor="#FF000000"
+ android:pathData="M137.943,311.091l62.962,62.962l-15.741,15.741l-62.962,-62.962z"/>
+ <path
+ android:fillColor="#FF000000"
+ android:pathData="M153.684,90.72l-62.962,62.962l-15.741,-15.741l62.962,-62.962z"/>
+ <path
+ android:fillColor="#FF000000"
+ android:pathData="M177.287,114.325l-62.962,62.962l-15.741,-15.741l62.962,-62.962z"/>
+ <path
+ android:fillColor="#FF000000"
+ android:pathData="M200.912,137.947l-62.962,62.962l-15.74,-15.74l62.962,-62.962z"/>
+</vector>
diff --git a/app/src/main/res/drawable/flag_spain.xml b/app/src/main/res/drawable/flag_spain.xml
new file mode 100644
index 00000000..b3e03266
--- /dev/null
+++ b/app/src/main/res/drawable/flag_spain.xml
@@ -0,0 +1,15 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+ android:width="512dp"
+ android:height="512dp"
+ android:viewportWidth="512"
+ android:viewportHeight="512">
+ <path
+ android:pathData="M0,256c0,31.314 5.633,61.31 15.923,89.043L256,367.304l240.077,-22.261C506.367,317.31 512,287.314 512,256s-5.633,-61.31 -15.923,-89.043L256,144.696L15.923,166.957C5.633,194.69 0,224.686 0,256z"
+ android:fillColor="#FFDA44"/>
+ <path
+ android:pathData="M496.077,166.957C459.906,69.473 366.071,0 256,0S52.094,69.473 15.923,166.957H496.077z"
+ android:fillColor="#D80027"/>
+ <path
+ android:pathData="M15.923,345.043C52.094,442.527 145.929,512 256,512s203.906,-69.473 240.077,-166.957H15.923z"
+ android:fillColor="#D80027"/>
+</vector>
diff --git a/app/src/main/res/drawable/flag_sweden.xml b/app/src/main/res/drawable/flag_sweden.xml
new file mode 100644
index 00000000..fe24454d
--- /dev/null
+++ b/app/src/main/res/drawable/flag_sweden.xml
@@ -0,0 +1,21 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+ android:width="512dp"
+ android:height="512dp"
+ android:viewportWidth="512"
+ android:viewportHeight="512">
+ <path
+ android:pathData="M256,256m-256,0a256,256 0,1 1,512 0a256,256 0,1 1,-512 0"
+ android:fillColor="#FFDA44"/>
+ <path
+ android:pathData="M200.349,222.609h309.484C493.47,97.002 386.067,0 256,0c-19.114,0 -37.733,2.113 -55.652,6.085v216.524H200.349z"
+ android:fillColor="#0052B4"/>
+ <path
+ android:pathData="M133.565,222.608V31.127C63.271,69.481 12.95,139.832 2.167,222.609h131.398V222.608z"
+ android:fillColor="#0052B4"/>
+ <path
+ android:pathData="M133.564,289.391H2.167c10.783,82.777 61.104,153.128 131.398,191.481L133.564,289.391L133.564,289.391z"
+ android:fillColor="#0052B4"/>
+ <path
+ android:pathData="M200.348,289.392v216.523C218.267,509.887 236.886,512 256,512c130.067,0 237.47,-97.002 253.833,-222.609H200.348V289.392z"
+ android:fillColor="#0052B4"/>
+</vector>
diff --git a/app/src/main/res/drawable/flag_turkey.xml b/app/src/main/res/drawable/flag_turkey.xml
new file mode 100644
index 00000000..57be045c
--- /dev/null
+++ b/app/src/main/res/drawable/flag_turkey.xml
@@ -0,0 +1,15 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+ android:width="512dp"
+ android:height="512dp"
+ android:viewportWidth="512"
+ android:viewportHeight="512">
+ <path
+ android:pathData="M256,256m-256,0a256,256 0,1 1,512 0a256,256 0,1 1,-512 0"
+ android:fillColor="#D80027"/>
+ <path
+ android:pathData="M245.518,209.186l21.005,28.945l34.017,-11.03l-21.038,28.92l21.002,28.944l-34.005,-11.072l-21.037,28.92l0.022,-35.761l-34.006,-11.072l34.018,-11.03z"
+ android:fillColor="#F0F0F0"/>
+ <path
+ android:pathData="M188.194,328.348c-39.956,0 -72.348,-32.392 -72.348,-72.348s32.392,-72.348 72.348,-72.348c12.458,0 24.18,3.151 34.414,8.696c-16.055,-15.702 -38.012,-25.392 -62.24,-25.392c-49.178,0 -89.043,39.866 -89.043,89.043s39.866,89.043 89.043,89.043c24.23,0 46.186,-9.691 62.24,-25.392C212.374,325.197 200.652,328.348 188.194,328.348z"
+ android:fillColor="#F0F0F0"/>
+</vector>
diff --git a/app/src/main/res/drawable/flag_vietnam.xml b/app/src/main/res/drawable/flag_vietnam.xml
new file mode 100644
index 00000000..a7e76979
--- /dev/null
+++ b/app/src/main/res/drawable/flag_vietnam.xml
@@ -0,0 +1,12 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+ android:width="512dp"
+ android:height="512dp"
+ android:viewportWidth="512"
+ android:viewportHeight="512">
+ <path
+ android:pathData="M256,256m-256,0a256,256 0,1 1,512 0a256,256 0,1 1,-512 0"
+ android:fillColor="#D80027"/>
+ <path
+ android:pathData="M256,133.565l27.628,85.029l89.405,0l-72.331,52.55l27.628,85.03l-72.33,-52.551l-72.33,52.551l27.628,-85.03l-72.33,-52.55l89.404,0z"
+ android:fillColor="#FFDA44"/>
+</vector>
diff --git a/app/src/main/res/layout/fragment_translation.xml b/app/src/main/res/layout/fragment_translation.xml
new file mode 100644
index 00000000..69234bd3
--- /dev/null
+++ b/app/src/main/res/layout/fragment_translation.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<androidx.recyclerview.widget.RecyclerView xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:tools="http://schemas.android.com/tools"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:id="@+id/recycler_view_translation_fragment"
+ tools:context=".Settings.TranslationFragment" /> \ No newline at end of file
diff --git a/app/src/main/res/layout/item_translation_contributor.xml b/app/src/main/res/layout/item_translation_contributor.xml
new file mode 100644
index 00000000..7054a892
--- /dev/null
+++ b/app/src/main/res/layout/item_translation_contributor.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:padding="16dp"
+ android:clickable="true"
+ android:focusable="true"
+ android:background="?attr/selectableItemBackground">
+
+ <ImageView
+ android:id="@+id/country_flag_image_view_item_translation_contributor"
+ android:layout_width="40dp"
+ android:layout_height="40dp"
+ android:layout_gravity="center_vertical" />
+
+ <LinearLayout
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:orientation="vertical"
+ android:layout_gravity="center_vertical"
+ android:layout_marginStart="16dp"
+ android:layout_marginEnd="16dp">
+
+ <TextView
+ android:id="@+id/language_name_text_view_item_translation_contributor"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:textSize="?attr/font_12"
+ android:fontFamily="?attr/font_family" />
+
+ <TextView
+ android:id="@+id/contributor_names_text_view_item_translation_contributor"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:textSize="?attr/font_default"
+ android:fontFamily="?attr/font_family" />
+
+ </LinearLayout>
+
+</LinearLayout> \ No newline at end of file
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index ce787a3c..018969fa 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -490,6 +490,7 @@
<string name="settings_bottom_app_bar_fab">Floating Action Button</string>
<string name="settings_data_saving_mode">Data Saving Mode</string>
<string name="settings_data_saving_mode_info_summary">In data saving mode, preview images are in lower resolution.</string>
+ <string name="settings_translation">Translation</string>
<string name="no_link_available">Cannot get the link</string>
@@ -907,5 +908,7 @@
<string name="give_award_error_message">Code: %1$d/\n Message: %2$s</string>
<string name="give_award_success">Award given</string>
<string name="give_award_failed">Failed</string>
+ <!-- TODO: Remove or change this placeholder text -->
+ <string name="hello_blank_fragment">Hello blank fragment</string>
</resources>
diff --git a/app/src/main/res/xml/about_preferences.xml b/app/src/main/res/xml/about_preferences.xml
index a73f9aaa..74a17eaa 100644
--- a/app/src/main/res/xml/about_preferences.xml
+++ b/app/src/main/res/xml/about_preferences.xml
@@ -11,6 +11,11 @@
app:fragment="ml.docilealligator.infinityforreddit.Settings.CreditsPreferenceFragment" />
<Preference
+ android:key="translation"
+ app:title="@string/settings_translation"
+ app:fragment="ml.docilealligator.infinityforreddit.Settings.TranslationFragment"/>
+
+ <Preference
android:key="open_source"
app:title="@string/settings_open_source_title"
app:summary="@string/settings_open_source_summary" />