Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
A
AloqaIM-Android
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Administrator
AloqaIM-Android
Commits
954107fa
Commit
954107fa
authored
Dec 11, 2018
by
Govind Dixit
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat: add multi language support
parent
a4213242
Changes
9
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
91 additions
and
31 deletions
+91
-31
MainActivity.kt
...src/main/java/chat/rocket/android/main/ui/MainActivity.kt
+52
-0
SettingsFragment.kt
.../java/chat/rocket/android/settings/ui/SettingsFragment.kt
+8
-5
legal.xml
app/src/main/res/menu/legal.xml
+2
-2
profile.xml
app/src/main/res/menu/profile.xml
+1
-1
strings.xml
app/src/main/res/values-hi-rIN/strings.xml
+1
-0
strings.xml
app/src/main/res/values-it/strings.xml
+1
-0
strings.xml
app/src/main/res/values-ja/strings.xml
+24
-23
strings.xml
app/src/main/res/values-ru-rRU/strings.xml
+1
-0
strings.xml
app/src/main/res/values/strings.xml
+1
-0
No files found.
app/src/main/java/chat/rocket/android/main/ui/MainActivity.kt
View file @
954107fa
...
@@ -4,6 +4,8 @@ import DrawableHelper
...
@@ -4,6 +4,8 @@ import DrawableHelper
import
android.app.Activity
import
android.app.Activity
import
android.app.AlertDialog
import
android.app.AlertDialog
import
android.app.ProgressDialog
import
android.app.ProgressDialog
import
android.content.Context
import
android.content.res.Configuration
import
android.os.Bundle
import
android.os.Bundle
import
androidx.annotation.IdRes
import
androidx.annotation.IdRes
import
androidx.appcompat.app.AppCompatActivity
import
androidx.appcompat.app.AppCompatActivity
...
@@ -36,6 +38,7 @@ import dagger.android.support.HasSupportFragmentInjector
...
@@ -36,6 +38,7 @@ import dagger.android.support.HasSupportFragmentInjector
import
kotlinx.android.synthetic.main.activity_main.*
import
kotlinx.android.synthetic.main.activity_main.*
import
kotlinx.android.synthetic.main.app_bar.*
import
kotlinx.android.synthetic.main.app_bar.*
import
kotlinx.android.synthetic.main.nav_header.view.*
import
kotlinx.android.synthetic.main.nav_header.view.*
import
java.util.Locale
import
javax.inject.Inject
import
javax.inject.Inject
private
const
val
CURRENT_STATE
=
"current_state"
private
const
val
CURRENT_STATE
=
"current_state"
...
@@ -257,4 +260,53 @@ class MainActivity : AppCompatActivity(), MainView, HasActivityInjector,
...
@@ -257,4 +260,53 @@ class MainActivity : AppCompatActivity(), MainView, HasActivityInjector,
progressDialog
?.
dismiss
()
progressDialog
?.
dismiss
()
progressDialog
=
null
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
)
}
}
}
app/src/main/java/chat/rocket/android/settings/ui/SettingsFragment.kt
View file @
954107fa
...
@@ -73,20 +73,22 @@ class SettingsFragment : Fragment(), SettingsView, AdapterView.OnItemClickListen
...
@@ -73,20 +73,22 @@ class SettingsFragment : Fragment(), SettingsView, AdapterView.OnItemClickListen
resources
.
getStringArray
(
R
.
array
.
settings_actions
)[
1
]
->
resources
.
getStringArray
(
R
.
array
.
settings_actions
)[
1
]
->
activity
?.
startActivity
(
Intent
(
activity
,
PasswordActivity
::
class
.
java
))
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
]
->
sh
owAppOnStore
()
resources
.
getStringArray
(
R
.
array
.
settings_actions
)[
3
]
->
sh
areApp
()
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
(
context
?.
webViewIntent
(
getString
(
R
.
string
.
license_url
),
getString
(
R
.
string
.
license_url
),
getString
(
R
.
string
.
title_licence
)
getString
(
R
.
string
.
title_licence
)
)
)
)
)
resources
.
getStringArray
(
R
.
array
.
settings_actions
)[
6
]
->
{
resources
.
getStringArray
(
R
.
array
.
settings_actions
)[
7
]
->
{
(
activity
as
AppCompatActivity
).
addFragmentBackStack
(
(
activity
as
AppCompatActivity
).
addFragmentBackStack
(
TAG_ABOUT_FRAGMENT
,
TAG_ABOUT_FRAGMENT
,
R
.
id
.
fragment_container
R
.
id
.
fragment_container
...
@@ -97,6 +99,7 @@ class SettingsFragment : Fragment(), SettingsView, AdapterView.OnItemClickListen
...
@@ -97,6 +99,7 @@ class SettingsFragment : Fragment(), SettingsView, AdapterView.OnItemClickListen
}
}
}
}
private
fun
showAppOnStore
()
{
private
fun
showAppOnStore
()
{
try
{
try
{
startActivity
(
Intent
(
Intent
.
ACTION_VIEW
,
getString
(
R
.
string
.
market_link
).
toUri
()))
startActivity
(
Intent
(
Intent
.
ACTION_VIEW
,
getString
(
R
.
string
.
market_link
).
toUri
()))
...
...
app/src/main/res/menu/legal.xml
View file @
954107fa
...
@@ -5,10 +5,10 @@
...
@@ -5,10 +5,10 @@
<item
<item
android:id=
"@+id/action_terms_of_Service"
android:id=
"@+id/action_terms_of_Service"
android:title=
"@string/action_terms_of_service"
android:title=
"@string/action_terms_of_service"
a
pp
:showAsAction=
"never"
/>
a
ndroid
:showAsAction=
"never"
/>
<item
<item
android:id=
"@+id/action_privacy_policy"
android:id=
"@+id/action_privacy_policy"
android:title=
"@string/action_privacy_policy"
android:title=
"@string/action_privacy_policy"
a
pp
:showAsAction=
"never"
/>
a
ndroid
:showAsAction=
"never"
/>
</menu>
</menu>
\ No newline at end of file
app/src/main/res/menu/profile.xml
View file @
954107fa
...
@@ -5,6 +5,6 @@
...
@@ -5,6 +5,6 @@
<item
<item
android:id=
"@+id/action_delete_account"
android:id=
"@+id/action_delete_account"
android:title=
"@string/action_delete_account"
android:title=
"@string/action_delete_account"
a
pp
:showAsAction=
"never"
/>
a
ndroid
:showAsAction=
"never"
/>
</menu>
</menu>
\ No newline at end of file
app/src/main/res/values-hi-rIN/strings.xml
View file @
954107fa
...
@@ -64,6 +64,7 @@
...
@@ -64,6 +64,7 @@
<string-array
name=
"settings_actions"
>
<string-array
name=
"settings_actions"
>
<item
name=
"item_preferences"
>
पसंद
</item>
<item
name=
"item_preferences"
>
पसंद
</item>
<item
name=
"item_password"
>
पासवर्ड बदलें
</item>
<item
name=
"item_password"
>
पासवर्ड बदलें
</item>
<item
name=
"change_language"
>
भाषा बदलें
</item>
<item
name=
"item_share_app"
>
ऐप शेयर करें
</item>
<item
name=
"item_share_app"
>
ऐप शेयर करें
</item>
<item
name=
"item_rate_us"
>
हमें रेटिंग दें
</item>
<item
name=
"item_rate_us"
>
हमें रेटिंग दें
</item>
<item
name=
"item_contact_us"
>
हमसे संपर्क करें
</item>
<item
name=
"item_contact_us"
>
हमसे संपर्क करें
</item>
...
...
app/src/main/res/values-it/strings.xml
View file @
954107fa
...
@@ -64,6 +64,7 @@
...
@@ -64,6 +64,7 @@
<string-array
name=
"settings_actions"
>
<string-array
name=
"settings_actions"
>
<item
name=
"item_preferences"
>
Preferenze
</item>
<item
name=
"item_preferences"
>
Preferenze
</item>
<item
name=
"item_password"
>
Cambia password
</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_share_app"
>
Condividi app
</item>
<item
name=
"item_rate_us"
>
Votaci
</item>
<item
name=
"item_rate_us"
>
Votaci
</item>
<item
name=
"item_contact_us"
>
Contattaci
</item>
<item
name=
"item_contact_us"
>
Contattaci
</item>
...
...
app/src/main/res/values-ja/strings.xml
View file @
954107fa
...
@@ -22,11 +22,11 @@
...
@@ -22,11 +22,11 @@
<string
name=
"title_admin_panel"
>
管理パネル
</string>
<string
name=
"title_admin_panel"
>
管理パネル
</string>
<string
name=
"title_password"
>
パスワードの変更
</string>
<string
name=
"title_password"
>
パスワードの変更
</string>
<string
name=
"title_update_profile"
>
プロフィールの更新
</string>
<string
name=
"title_update_profile"
>
プロフィールの更新
</string>
<string
name=
"title_about"
>
About
</string>
<string
name=
"title_about"
>
約
</string>
<string
name=
"title_licence"
>
Licence
</string>
<!-- TODO Add translation --
>
<string
name=
"title_licence"
>
ライセンス
</string
>
<string
name=
"title_create_channel"
>
新しいチャネルを作成
</string>
<string
name=
"title_create_channel"
>
新しいチャネルを作成
</string>
<string
name=
"title_are_you_sure"
>
本気ですか?
</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_topic"
>
トピック
</string>
<string
name=
"title_announcement"
>
発表
</string>
<string
name=
"title_announcement"
>
発表
</string>
<string
name=
"title_description"
>
説明
</string>
<string
name=
"title_description"
>
説明
</string>
...
@@ -42,7 +42,7 @@
...
@@ -42,7 +42,7 @@
<string
name=
"action_create_channel"
>
チャンネル作成
</string>
<string
name=
"action_create_channel"
>
チャンネル作成
</string>
<string
name=
"action_create"
>
作ります
</string>
<string
name=
"action_create"
>
作ります
</string>
<string
name=
"action_logout"
>
ログアウト
</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_confirm_password"
>
変更したパスワードの確認
</string>
<string
name=
"action_join_chat"
>
チャットに参加
</string>
<string
name=
"action_join_chat"
>
チャットに参加
</string>
<string
name=
"action_add_account"
>
サーバーの追加
</string>
<string
name=
"action_add_account"
>
サーバーの追加
</string>
...
@@ -64,13 +64,14 @@
...
@@ -64,13 +64,14 @@
<!-- Settings List -->
<!-- Settings List -->
<string-array
name=
"settings_actions"
>
<string-array
name=
"settings_actions"
>
<item
name=
"item_preferences"
>
Preferences
</item>
<!-- TODO Add translation -->
<item
name=
"item_preferences"
>
設定
</item>
<item
name=
"item_password"
>
Change password
</item>
<!-- TODO Add translation -->
<item
name=
"item_password"
>
パスワードを変更する
</item>
<item
name=
"item_share_app"
>
Share app
</item>
<!-- TODO Add translation -->
<item
name=
"change_language"
>
言語を変えてください
</item>
<item
name=
"item_rate_us"
>
Rate us
</item>
<!-- TODO Add translation -->
<item
name=
"item_share_app"
>
アプリを共有する
</item>
<item
name=
"item_contact_us"
>
Contact us
</item>
<!-- TODO Add translation -->
<item
name=
"item_rate_us"
>
私たちを評価してください
</item>
<item
name=
"item_licence"
>
Licence
</item>
<!-- TODO Add translation -->
<item
name=
"item_contact_us"
>
お問い合わせ
</item>
<item
name=
"item_about"
>
About
</item>
<!-- TODO Add translation -->
<item
name=
"item_licence"
>
ライセンス
</item>
<item
name=
"item_about"
>
約
</item>
</string-array>
</string-array>
<!-- Regular information messages -->
<!-- Regular information messages -->
...
@@ -165,9 +166,9 @@
...
@@ -165,9 +166,9 @@
<string
name=
"msg_view_more"
>
更に表示
</string>
<string
name=
"msg_view_more"
>
更に表示
</string>
<string
name=
"msg_view_less"
>
隠す
</string>
<string
name=
"msg_view_less"
>
隠す
</string>
<string
name=
"msg_muted_on_this_channel"
>
あなたはこのチャンネルでミュートされています
</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_topic"
>
トピックが追加されていない
</string
>
<string
name=
"msg_no_announcement"
>
No announcement added
</string>
<!-- TODO Add translation --
>
<string
name=
"msg_no_announcement"
>
お知らせが追加されていません
</string
>
<string
name=
"msg_no_description"
>
No description added
</string>
<!-- TODO Add translation --
>
<string
name=
"msg_no_description"
>
説明が追加されていない
</string
>
<!-- TODO - Add proper translation -->
<!-- TODO - Add proper translation -->
<plurals
name=
"msg_reacted_with_"
>
<plurals
name=
"msg_reacted_with_"
>
<item
quantity=
"one"
>
%1$s reacted with %2$s
</item>
<item
quantity=
"one"
>
%1$s reacted with %2$s
</item>
...
@@ -189,8 +190,8 @@
...
@@ -189,8 +190,8 @@
<string
name=
"msg_delete_message"
>
メッセージを削除
</string>
<string
name=
"msg_delete_message"
>
メッセージを削除
</string>
<string
name=
"msg_delete_description"
>
このメッセージを削除してもよろしいですか?
</string>
<string
name=
"msg_delete_description"
>
このメッセージを削除してもよろしいですか?
</string>
<string
name=
"msg_permalink_copied"
>
パーマリンクのコピー
</string>
<string
name=
"msg_permalink_copied"
>
パーマリンクのコピー
</string>
<string
name=
"msg_send_email"
>
Send email
</string>
<!-- TODO - Add proper translation --
>
<string
name=
"msg_send_email"
>
メールを送る
</string
>
<string
name=
"msg_android_app_support"
>
Android
app support
</string>
<!-- TODO - Add proper translation --
>
<string
name=
"msg_android_app_support"
>
Android
アプリのサポート
</string
>
<!-- Preferences messages -->
<!-- Preferences messages -->
<string
name=
"msg_analytics_tracking"
>
トラッキングの分析
</string>
<string
name=
"msg_analytics_tracking"
>
トラッキングの分析
</string>
...
@@ -339,13 +340,13 @@
...
@@ -339,13 +340,13 @@
<string
name=
"message_room_changed_privacy"
>
ルームタイプを %2$s から %1$s に変更しました
</string>
<string
name=
"message_room_changed_privacy"
>
ルームタイプを %2$s から %1$s に変更しました
</string>
<!-- User Details -->
<!-- User Details -->
<string
name=
"message"
>
Message
</string>
<!--TODO - Add proper translation--
>
<string
name=
"message"
>
メッセージ
</string
>
<string
name=
"timezone"
>
Timezone
</string>
<!--TODO - Add proper translation--
>
<string
name=
"timezone"
>
タイムゾーン
</string
>
<string
name=
"error_opening_dm"
>
Something went wrong while we were creating this conversation…
</string>
<!-- TODO - Add proper translation --
>
<string
name=
"error_opening_dm"
>
この会話を作成しているうちに何か問題が発生しました…
</string
>
<string
name=
"retry"
>
Retry
</string>
<!-- TODO - Add proper translation --
>
<string
name=
"retry"
>
リトライ
</string
>
<!-- Report -->
<!-- Report -->
<string
name=
"submit"
>
Submit
</string>
<!--TODO - Add proper translation--
>
<string
name=
"submit"
>
提出する
</string
>
<string
name=
"required"
>
*
required
</string>
<!--TODO - Add proper translation--
>
<string
name=
"required"
>
*
必須
</string
>
<string
name=
"report_sent"
>
Your report has been sent!
</string>
<!--TODO - Add proper translation--
>
<string
name=
"report_sent"
>
あなたのレポートが送信されました!
</string
>
</resources>
</resources>
app/src/main/res/values-ru-rRU/strings.xml
View file @
954107fa
...
@@ -64,6 +64,7 @@
...
@@ -64,6 +64,7 @@
<string-array
name=
"settings_actions"
>
<string-array
name=
"settings_actions"
>
<item
name=
"item_preferences"
>
Персональные
</item>
<item
name=
"item_preferences"
>
Персональные
</item>
<item
name=
"item_password"
>
Изменить пароль
</item>
<item
name=
"item_password"
>
Изменить пароль
</item>
<item
name=
"change_language"
>
Изменить язык
</item>
<item
name=
"item_share_app"
>
Поделиться приложением
</item>
<item
name=
"item_share_app"
>
Поделиться приложением
</item>
<item
name=
"item_rate_us"
>
Оцените нас
</item>
<item
name=
"item_rate_us"
>
Оцените нас
</item>
<item
name=
"item_contact_us"
>
Связаться с нами
</item>
<item
name=
"item_contact_us"
>
Связаться с нами
</item>
...
...
app/src/main/res/values/strings.xml
View file @
954107fa
...
@@ -76,6 +76,7 @@ https://github.com/RocketChat/java-code-styles/blob/master/CODING_STYLE.md#strin
...
@@ -76,6 +76,7 @@ https://github.com/RocketChat/java-code-styles/blob/master/CODING_STYLE.md#strin
<string-array
name=
"settings_actions"
>
<string-array
name=
"settings_actions"
>
<item
name=
"item_preferences"
>
Preferences
</item>
<item
name=
"item_preferences"
>
Preferences
</item>
<item
name=
"item_password"
>
Change password
</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_share_app"
>
Share app
</item>
<item
name=
"item_rate_us"
>
Rate us
</item>
<item
name=
"item_rate_us"
>
Rate us
</item>
<item
name=
"item_contact_us"
>
Contact us
</item>
<item
name=
"item_contact_us"
>
Contact us
</item>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment