diff --git a/app/src/main/assets/help.html b/app/src/main/assets/help.html index dd5d406b3..f79b4dede 100644 --- a/app/src/main/assets/help.html +++ b/app/src/main/assets/help.html @@ -1,7 +1,13 @@ + - - Help + + REPLACE_menu_help - + + +

REPLACE_menu_help

+ + + \ No newline at end of file diff --git a/app/src/main/java/org/kiwix/kiwixmobile/KiwixMobileActivity.java b/app/src/main/java/org/kiwix/kiwixmobile/KiwixMobileActivity.java index a2e45bde8..fa6c397d5 100644 --- a/app/src/main/java/org/kiwix/kiwixmobile/KiwixMobileActivity.java +++ b/app/src/main/java/org/kiwix/kiwixmobile/KiwixMobileActivity.java @@ -145,6 +145,7 @@ import static org.kiwix.kiwixmobile.utils.Constants.TAG_CURRENT_POSITIONS; import static org.kiwix.kiwixmobile.utils.Constants.TAG_CURRENT_TAB; import static org.kiwix.kiwixmobile.utils.Constants.TAG_FILE_SEARCHED; import static org.kiwix.kiwixmobile.utils.Constants.TAG_KIWIX; +import static org.kiwix.kiwixmobile.utils.LanguageUtils.getResourceString; import static org.kiwix.kiwixmobile.utils.StyleUtils.dialogStyle; import static org.kiwix.kiwixmobile.utils.UpdateUtils.reformatProviderUrl; @@ -394,7 +395,7 @@ public class KiwixMobileActivity extends BaseActivity implements WebViewCallback }); documentSections = new ArrayList<>(); - tabDrawerAdapter = new TabDrawerAdapter(mWebViews); + tabDrawerAdapter = new TabDrawerAdapter(mWebViews, getApplicationContext()); tabDrawerLeft.setLayoutManager(new LinearLayoutManager(this)); tabDrawerLeft.setAdapter(tabDrawerAdapter); tableDrawerRight.setLayoutManager(new LinearLayoutManager(this)); @@ -447,8 +448,17 @@ public class KiwixMobileActivity extends BaseActivity implements WebViewCallback documentParser = new DocumentParser(new DocumentParser.SectionsListener() { @Override public void sectionsLoaded(String title, List sections) { + for (DocumentSection section : sections) { + if(section.title.contains("REPLACE_")) { + section.title = getResourceString(getApplicationContext(), section.title); + } + } documentSections.addAll(sections); - tableDrawerAdapter.setTitle(title); + if(title.contains("REPLACE_")) { + tableDrawerAdapter.setTitle(getResourceString(getApplicationContext(), title)); + } else { + tableDrawerAdapter.setTitle(title); + } tableDrawerAdapter.setSections(documentSections); tableDrawerAdapter.notifyDataSetChanged(); } diff --git a/app/src/main/java/org/kiwix/kiwixmobile/TabDrawerAdapter.java b/app/src/main/java/org/kiwix/kiwixmobile/TabDrawerAdapter.java index 546357c03..439558318 100644 --- a/app/src/main/java/org/kiwix/kiwixmobile/TabDrawerAdapter.java +++ b/app/src/main/java/org/kiwix/kiwixmobile/TabDrawerAdapter.java @@ -17,6 +17,7 @@ */ package org.kiwix.kiwixmobile; +import android.content.Context; import android.support.v7.widget.RecyclerView; import android.text.Html; import android.view.LayoutInflater; @@ -34,15 +35,18 @@ import butterknife.ButterKnife; import static android.os.Build.VERSION.SDK_INT; import static android.os.Build.VERSION_CODES.N; +import static org.kiwix.kiwixmobile.utils.LanguageUtils.getResourceString; public class TabDrawerAdapter extends RecyclerView.Adapter { private TabClickListener listener; private List webViews; + private Context appContext; private int selectedPosition = 0; - public TabDrawerAdapter(List webViews) { + public TabDrawerAdapter(List webViews, Context appContext) { this.webViews = webViews; + this.appContext = appContext; } @Override @@ -54,7 +58,11 @@ public class TabDrawerAdapter extends RecyclerView.Adapter listener.onCloseTab(v, position)); holder.itemView.setOnClickListener(v -> { listener.onSelectTab(v, position); diff --git a/app/src/main/java/org/kiwix/kiwixmobile/utils/LanguageUtils.java b/app/src/main/java/org/kiwix/kiwixmobile/utils/LanguageUtils.java index 85b2f4cf3..f603402fb 100644 --- a/app/src/main/java/org/kiwix/kiwixmobile/utils/LanguageUtils.java +++ b/app/src/main/java/org/kiwix/kiwixmobile/utils/LanguageUtils.java @@ -341,4 +341,21 @@ public class LanguageUtils { return mLanguageName; } } + + + + public static String getResourceString(Context appContext, String str){ + String resourceName = str; + if(resourceName.contains("REPLACE_")) { + resourceName = resourceName.replace("REPLACE_", ""); + } + int resourceId = appContext.getResources() + .getIdentifier( + resourceName, + "string", + appContext.getPackageName() + ); + String resourceString = appContext.getResources().getString(resourceId); + return resourceString != null ? resourceString : str; + } }