Commit 954107fa authored by Govind Dixit's avatar Govind Dixit

feat: add multi language support

parent a4213242
......@@ -4,6 +4,8 @@ import DrawableHelper
import android.app.Activity
import android.app.AlertDialog
import android.app.ProgressDialog
import android.content.Context
import android.content.res.Configuration
import android.os.Bundle
import androidx.annotation.IdRes
import androidx.appcompat.app.AppCompatActivity
......@@ -36,6 +38,7 @@ import dagger.android.support.HasSupportFragmentInjector
import kotlinx.android.synthetic.main.activity_main.*
import kotlinx.android.synthetic.main.app_bar.*
import kotlinx.android.synthetic.main.nav_header.view.*
import java.util.Locale
import javax.inject.Inject
private const val CURRENT_STATE = "current_state"
......@@ -257,4 +260,53 @@ class MainActivity : AppCompatActivity(), MainView, HasActivityInjector,
progressDialog?.dismiss()
progressDialog = null
}
fun changeLanguage(){
val languages = arrayOf("English", "Hindi", "Japanese", "Russian", "Italian")
val builder = AlertDialog.Builder(this)
builder.setTitle("Choose Language")
builder.setSingleChoiceItems(languages,-1) { dialog, which ->
if (which==0){
setLocale("en")
recreate()
}else if (which==1){
setLocale("hi")
recreate()
}else if (which==2){
setLocale("ja")
recreate()
}else if (which==3){
setLocale("ru")
recreate()
}else if (which==4){
setLocale("it")
recreate()
}
dialog.dismiss()
}
val mdialog=builder.create()
mdialog.show()
}
fun setLocale(lang: String) {
val locale = Locale(lang)
Locale.setDefault(locale)
val config = Configuration()
config.locale = locale
baseContext.resources.updateConfiguration(config, baseContext.resources.displayMetrics)
val editor = getSharedPreferences("Settings", Context.MODE_PRIVATE).edit()
editor.putString("My_Lang", lang)
editor.apply()
}
private fun loadLocale(){
val sharedPreferences =getSharedPreferences("settings",Activity.MODE_PRIVATE)
val language = sharedPreferences.getString("My_Lang","")
setLocale(language)
}
}
......@@ -73,20 +73,22 @@ class SettingsFragment : Fragment(), SettingsView, AdapterView.OnItemClickListen
resources.getStringArray(R.array.settings_actions)[1] ->
activity?.startActivity(Intent(activity, PasswordActivity::class.java))
resources.getStringArray(R.array.settings_actions)[2] -> shareApp()
resources.getStringArray(R.array.settings_actions)[2] -> (activity as? MainActivity)?.changeLanguage()
resources.getStringArray(R.array.settings_actions)[3] -> showAppOnStore()
resources.getStringArray(R.array.settings_actions)[3] -> shareApp()
resources.getStringArray(R.array.settings_actions)[4] -> contactSupport()
resources.getStringArray(R.array.settings_actions)[4] -> showAppOnStore()
resources.getStringArray(R.array.settings_actions)[5] -> activity?.startActivity(
resources.getStringArray(R.array.settings_actions)[5] -> contactSupport()
resources.getStringArray(R.array.settings_actions)[6] -> activity?.startActivity(
context?.webViewIntent(
getString(R.string.license_url),
getString(R.string.title_licence)
)
)
resources.getStringArray(R.array.settings_actions)[6] -> {
resources.getStringArray(R.array.settings_actions)[7] -> {
(activity as AppCompatActivity).addFragmentBackStack(
TAG_ABOUT_FRAGMENT,
R.id.fragment_container
......@@ -97,6 +99,7 @@ class SettingsFragment : Fragment(), SettingsView, AdapterView.OnItemClickListen
}
}
private fun showAppOnStore() {
try {
startActivity(Intent(Intent.ACTION_VIEW, getString(R.string.market_link).toUri()))
......
......@@ -5,10 +5,10 @@
<item
android:id="@+id/action_terms_of_Service"
android:title="@string/action_terms_of_service"
app:showAsAction="never" />
android:showAsAction="never" />
<item
android:id="@+id/action_privacy_policy"
android:title="@string/action_privacy_policy"
app:showAsAction="never" />
android:showAsAction="never" />
</menu>
\ No newline at end of file
......@@ -5,6 +5,6 @@
<item
android:id="@+id/action_delete_account"
android:title="@string/action_delete_account"
app:showAsAction="never" />
android:showAsAction="never" />
</menu>
\ No newline at end of file
......@@ -64,6 +64,7 @@
<string-array name="settings_actions">
<item name="item_preferences">पसंद</item>
<item name="item_password">पासवर्ड बदलें</item>
<item name="change_language">भाषा बदलें</item>
<item name="item_share_app">ऐप शेयर करें</item>
<item name="item_rate_us">हमें रेटिंग दें</item>
<item name="item_contact_us">हमसे संपर्क करें</item>
......
......@@ -64,6 +64,7 @@
<string-array name="settings_actions">
<item name="item_preferences">Preferenze</item>
<item name="item_password">Cambia password</item>
<item name="change_language">Cambia lingua</item>
<item name="item_share_app">Condividi app</item>
<item name="item_rate_us">Votaci</item>
<item name="item_contact_us">Contattaci</item>
......
......@@ -22,11 +22,11 @@
<string name="title_admin_panel">管理パネル</string>
<string name="title_password">パスワードの変更</string>
<string name="title_update_profile">プロフィールの更新</string>
<string name="title_about">About</string>
<string name="title_licence">Licence</string> <!-- TODO Add translation -->
<string name="title_about"></string>
<string name="title_licence">ライセンス</string>
<string name="title_create_channel">新しいチャネルを作成</string>
<string name="title_are_you_sure">本気ですか?</string>
<string name="title_channel_details">Channel Details</string> <!-- TODO add translation -->
<string name="title_channel_details">チャンネルの詳細</string>
<string name="title_topic">トピック</string>
<string name="title_announcement">発表</string>
<string name="title_description">説明</string>
......@@ -42,7 +42,7 @@
<string name="action_create_channel">チャンネル作成</string>
<string name="action_create">作ります</string>
<string name="action_logout">ログアウト</string>
<string name="action_attach_a_files">Attach a file</string> <!-- TODO Add translation -->
<string name="action_attach_a_files">Attach a file</string>
<string name="action_confirm_password">変更したパスワードの確認</string>
<string name="action_join_chat">チャットに参加</string>
<string name="action_add_account">サーバーの追加</string>
......@@ -64,13 +64,14 @@
<!-- Settings List -->
<string-array name="settings_actions">
<item name="item_preferences">Preferences</item> <!-- TODO Add translation -->
<item name="item_password">Change password</item> <!-- TODO Add translation -->
<item name="item_share_app">Share app</item> <!-- TODO Add translation -->
<item name="item_rate_us">Rate us</item> <!-- TODO Add translation -->
<item name="item_contact_us">Contact us</item> <!-- TODO Add translation -->
<item name="item_licence">Licence</item> <!-- TODO Add translation -->
<item name="item_about">About</item> <!-- TODO Add translation -->
<item name="item_preferences">設定</item>
<item name="item_password">パスワードを変更する</item>
<item name="change_language">言語を変えてください</item>
<item name="item_share_app">アプリを共有する</item>
<item name="item_rate_us">私たちを評価してください</item>
<item name="item_contact_us">お問い合わせ</item>
<item name="item_licence">ライセンス</item>
<item name="item_about"></item>
</string-array>
<!-- Regular information messages -->
......@@ -165,9 +166,9 @@
<string name="msg_view_more">更に表示</string>
<string name="msg_view_less">隠す</string>
<string name="msg_muted_on_this_channel">あなたはこのチャンネルでミュートされています</string>
<string name="msg_no_topic">No topic added</string> <!-- TODO Add translation -->
<string name="msg_no_announcement">No announcement added</string> <!-- TODO Add translation -->
<string name="msg_no_description">No description added</string> <!-- TODO Add translation -->
<string name="msg_no_topic">トピックが追加されていない</string>
<string name="msg_no_announcement">お知らせが追加されていません</string>
<string name="msg_no_description">説明が追加されていない</string>
<!-- TODO - Add proper translation -->
<plurals name="msg_reacted_with_">
<item quantity="one">%1$s reacted with %2$s</item>
......@@ -189,8 +190,8 @@
<string name="msg_delete_message">メッセージを削除</string>
<string name="msg_delete_description">このメッセージを削除してもよろしいですか?</string>
<string name="msg_permalink_copied">パーマリンクのコピー</string>
<string name="msg_send_email">Send email</string> <!-- TODO - Add proper translation -->
<string name="msg_android_app_support">Android app support</string> <!-- TODO - Add proper translation -->
<string name="msg_send_email">メールを送る</string>
<string name="msg_android_app_support">Androidアプリのサポート</string>
<!-- Preferences messages -->
<string name="msg_analytics_tracking">トラッキングの分析</string>
......@@ -339,13 +340,13 @@
<string name="message_room_changed_privacy">ルームタイプを %2$s から %1$s に変更しました</string>
<!-- User Details -->
<string name="message">Message</string> <!--TODO - Add proper translation-->
<string name="timezone">Timezone</string> <!--TODO - Add proper translation-->
<string name="error_opening_dm">Something went wrong while we were creating this conversation…</string> <!-- TODO - Add proper translation -->
<string name="retry">Retry</string> <!-- TODO - Add proper translation -->
<string name="message">メッセージ</string>
<string name="timezone">タイムゾーン</string>
<string name="error_opening_dm">この会話を作成しているうちに何か問題が発生しました…</string>
<string name="retry">リトライ</string>
<!-- Report -->
<string name="submit">Submit</string> <!--TODO - Add proper translation-->
<string name="required">*required</string> <!--TODO - Add proper translation-->
<string name="report_sent">Your report has been sent!</string> <!--TODO - Add proper translation-->
<string name="submit">提出する</string>
<string name="required">*必須</string>
<string name="report_sent">あなたのレポートが送信されました!</string>
</resources>
......@@ -64,6 +64,7 @@
<string-array name="settings_actions">
<item name="item_preferences">Персональные</item>
<item name="item_password">Изменить пароль</item>
<item name="change_language">Изменить язык</item>
<item name="item_share_app">Поделиться приложением</item>
<item name="item_rate_us">Оцените нас</item>
<item name="item_contact_us">Связаться с нами</item>
......
......@@ -76,6 +76,7 @@ https://github.com/RocketChat/java-code-styles/blob/master/CODING_STYLE.md#strin
<string-array name="settings_actions">
<item name="item_preferences">Preferences</item>
<item name="item_password">Change password</item>
<item name="change_language">Change Language </item>
<item name="item_share_app">Share app</item>
<item name="item_rate_us">Rate us</item>
<item name="item_contact_us">Contact us</item>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment