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
521f0a8b
Unverified
Commit
521f0a8b
authored
Apr 26, 2019
by
Filipe de Lima Brito
Committed by
GitHub
Apr 26, 2019
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #2262 from RocketChat/new/change-app-language
[NEW] Change app language
parents
6065ebde
595c58ed
Changes
26
Hide whitespace changes
Inline
Side-by-side
Showing
26 changed files
with
472 additions
and
7 deletions
+472
-7
AppLanguageView.kt
...va/chat/rocket/android/core/behaviours/AppLanguageView.kt
+12
-0
AppModule.kt
.../main/java/chat/rocket/android/dagger/module/AppModule.kt
+8
-1
MainModule.kt
app/src/main/java/chat/rocket/android/main/di/MainModule.kt
+7
-0
MainPresenter.kt
...va/chat/rocket/android/main/presentation/MainPresenter.kt
+13
-0
MainActivity.kt
...src/main/java/chat/rocket/android/main/ui/MainActivity.kt
+29
-2
GetCurrentLanguageInteractor.kt
...ket/android/server/domain/GetCurrentLanguageInteractor.kt
+12
-0
SaveCurrentLanguageInteractor.kt
...et/android/server/domain/SaveCurrentLanguageInteractor.kt
+10
-0
CurrentLanguageRepository.kt
...ndroid/server/infrastructure/CurrentLanguageRepository.kt
+8
-0
SharedPrefsCurrentLanguageRepository.kt
...er/infrastructure/SharedPrefsCurrentLanguageRepository.kt
+25
-0
SettingsPresenter.kt
...rocket/android/settings/presentation/SettingsPresenter.kt
+8
-1
SettingsFragment.kt
.../java/chat/rocket/android/settings/ui/SettingsFragment.kt
+40
-2
strings.xml
app/src/main/res/values-ar/strings.xml
+20
-0
strings.xml
app/src/main/res/values-de/strings.xml
+20
-0
strings.xml
app/src/main/res/values-es/strings.xml
+20
-0
strings.xml
app/src/main/res/values-fa/strings.xml
+20
-0
strings.xml
app/src/main/res/values-fr/strings.xml
+20
-0
strings.xml
app/src/main/res/values-hi-rIN/strings.xml
+20
-0
strings.xml
app/src/main/res/values-it/strings.xml
+20
-0
strings.xml
app/src/main/res/values-ja/strings.xml
+20
-0
strings.xml
app/src/main/res/values-pt-rBR/strings.xml
+20
-0
strings.xml
app/src/main/res/values-pt-rPT/strings.xml
+19
-0
strings.xml
app/src/main/res/values-ru-rRU/strings.xml
+20
-0
strings.xml
app/src/main/res/values-tr/strings.xml
+20
-0
strings.xml
app/src/main/res/values-uk/strings.xml
+20
-0
strings.xml
app/src/main/res/values-zh-rCN/strings.xml
+20
-0
strings.xml
app/src/main/res/values/strings.xml
+21
-1
No files found.
app/src/main/java/chat/rocket/android/core/behaviours/AppLanguageView.kt
0 → 100644
View file @
521f0a8b
package
chat.rocket.android.core.behaviours
interface
AppLanguageView
{
/**
* Updates the app language
*
* @param language The app language to be updated.
* @param country Opcional. The country code to be updated.
*/
fun
updateLanguage
(
language
:
String
,
country
:
String
?
=
null
)
}
\ No newline at end of file
app/src/main/java/chat/rocket/android/dagger/module/AppModule.kt
View file @
521f0a8b
...
...
@@ -44,6 +44,8 @@ import chat.rocket.android.server.domain.SettingsRepository
import
chat.rocket.android.server.domain.SortingAndGroupingRepository
import
chat.rocket.android.server.domain.TokenRepository
import
chat.rocket.android.server.domain.UsersRepository
import
chat.rocket.android.server.infrastructure.CurrentLanguageRepository
import
chat.rocket.android.server.infrastructure.SharedPrefsCurrentLanguageRepository
import
chat.rocket.android.server.infrastructure.DatabaseMessageMapper
import
chat.rocket.android.server.infrastructure.DatabaseMessagesRepository
import
chat.rocket.android.server.infrastructure.JobSchedulerInteractorImpl
...
...
@@ -175,7 +177,6 @@ class AppModule {
fun
provideSharedPreferences
(
context
:
Application
)
=
context
.
getSharedPreferences
(
"rocket.chat"
,
Context
.
MODE_PRIVATE
)
@Provides
@ForMessages
fun
provideMessagesSharedPreferences
(
context
:
Application
)
=
...
...
@@ -211,6 +212,12 @@ class AppModule {
return
SharedPrefsConnectingServerRepository
(
prefs
)
}
@Provides
@Singleton
fun
provideCurrentLanguageRepository
(
prefs
:
SharedPreferences
):
CurrentLanguageRepository
{
return
SharedPrefsCurrentLanguageRepository
(
prefs
)
}
@Provides
@Singleton
fun
provideSettingsRepository
(
localRepository
:
LocalRepository
):
SettingsRepository
{
...
...
app/src/main/java/chat/rocket/android/main/di/MainModule.kt
View file @
521f0a8b
package
chat.rocket.android.main.di
import
androidx.lifecycle.LifecycleOwner
import
chat.rocket.android.core.behaviours.AppLanguageView
import
chat.rocket.android.core.lifecycle.CancelStrategy
import
chat.rocket.android.dagger.scope.PerActivity
import
chat.rocket.android.main.presentation.MainNavigator
...
...
@@ -16,6 +17,12 @@ class MainModule {
@PerActivity
fun
provideMainNavigator
(
activity
:
MainActivity
)
=
MainNavigator
(
activity
)
@Provides
@PerActivity
fun
appLanguageView
(
activity
:
MainActivity
):
AppLanguageView
{
return
activity
}
@Provides
@PerActivity
fun
provideJob
()
=
Job
()
...
...
app/src/main/java/chat/rocket/android/main/presentation/MainPresenter.kt
View file @
521f0a8b
package
chat.rocket.android.main.presentation
import
chat.rocket.android.core.behaviours.AppLanguageView
import
chat.rocket.android.push.GroupedPush
import
chat.rocket.android.server.domain.GetCurrentLanguageInteractor
import
chat.rocket.android.server.domain.RefreshPermissionsInteractor
import
chat.rocket.android.server.domain.RefreshSettingsInteractor
import
chat.rocket.android.server.infrastructure.ConnectionManagerFactory
...
...
@@ -10,9 +12,11 @@ import javax.inject.Named
class
MainPresenter
@Inject
constructor
(
@Named
(
"currentServer"
)
private
val
currentServerUrl
:
String
,
private
val
mainNavigator
:
MainNavigator
,
private
val
appLanguageView
:
AppLanguageView
,
private
val
refreshSettingsInteractor
:
RefreshSettingsInteractor
,
private
val
refreshPermissionsInteractor
:
RefreshPermissionsInteractor
,
private
val
connectionManagerFactory
:
ConnectionManagerFactory
,
private
var
getLanguageInteractor
:
GetCurrentLanguageInteractor
,
private
val
groupedPush
:
GroupedPush
)
{
...
...
@@ -31,4 +35,13 @@ class MainPresenter @Inject constructor(
}
fun
showChatList
(
chatRoomId
:
String
?
=
null
)
=
mainNavigator
.
toChatList
(
chatRoomId
)
fun
getAppLanguage
()
{
with
(
getLanguageInteractor
)
{
getLanguage
()
?.
let
{
language
->
appLanguageView
.
updateLanguage
(
language
,
getCountry
())
}
}
}
}
\ No newline at end of file
app/src/main/java/chat/rocket/android/main/ui/MainActivity.kt
View file @
521f0a8b
...
...
@@ -3,10 +3,14 @@ package chat.rocket.android.main.ui
import
android.app.Activity
import
android.app.NotificationManager
import
android.content.Context
import
android.content.res.Configuration
import
android.os.Build
import
android.os.Bundle
import
android.os.LocaleList
import
androidx.appcompat.app.AppCompatActivity
import
androidx.fragment.app.Fragment
import
chat.rocket.android.R
import
chat.rocket.android.core.behaviours.AppLanguageView
import
chat.rocket.android.main.presentation.MainPresenter
import
chat.rocket.android.push.refreshPushToken
import
chat.rocket.android.server.ui.INTENT_CHAT_ROOM_ID
...
...
@@ -15,10 +19,11 @@ import dagger.android.AndroidInjector
import
dagger.android.DispatchingAndroidInjector
import
dagger.android.HasActivityInjector
import
dagger.android.support.HasSupportFragmentInjector
import
java.util.*
import
javax.inject.Inject
class
MainActivity
:
AppCompatActivity
(),
HasActivityInjector
,
HasSupportFragmentInjector
{
HasSupportFragmentInjector
,
AppLanguageView
{
@Inject
lateinit
var
activityDispatchingAndroidInjector
:
DispatchingAndroidInjector
<
Activity
>
@Inject
...
...
@@ -30,11 +35,11 @@ class MainActivity : AppCompatActivity(), HasActivityInjector,
AndroidInjection
.
inject
(
this
)
super
.
onCreate
(
savedInstanceState
)
setContentView
(
R
.
layout
.
activity_main
)
refreshPushToken
()
with
(
presenter
)
{
connect
()
getAppLanguage
()
intent
.
getStringExtra
(
INTENT_CHAT_ROOM_ID
).
let
{
clearNotificationsForChatRoom
(
it
)
showChatList
(
it
)
...
...
@@ -53,6 +58,28 @@ class MainActivity : AppCompatActivity(), HasActivityInjector,
override
fun
supportFragmentInjector
():
AndroidInjector
<
Fragment
>
=
fagmentDispatchingAndroidInjector
override
fun
updateLanguage
(
language
:
String
,
country
:
String
?)
{
val
locale
:
Locale
=
if
(
country
!=
null
)
{
Locale
(
language
,
country
)
}
else
{
Locale
(
language
)
}
Locale
.
setDefault
(
locale
)
val
config
=
Configuration
()
if
(
Build
.
VERSION
.
SDK_INT
>=
Build
.
VERSION_CODES
.
N
)
{
config
.
locales
=
LocaleList
(
locale
)
}
else
{
config
.
locale
=
locale
}
// TODO We need to check out a better way to use createConfigurationContext
// instead of updateConfiguration here since it is deprecated.
resources
.
updateConfiguration
(
config
,
resources
.
displayMetrics
)
}
private
fun
clearAppNotifications
()
=
(
getSystemService
(
Context
.
NOTIFICATION_SERVICE
)
as
NotificationManager
).
cancelAll
()
}
app/src/main/java/chat/rocket/android/server/domain/GetCurrentLanguageInteractor.kt
0 → 100644
View file @
521f0a8b
package
chat.rocket.android.server.domain
import
chat.rocket.android.server.infrastructure.CurrentLanguageRepository
import
javax.inject.Inject
class
GetCurrentLanguageInteractor
@Inject
constructor
(
private
val
repository
:
CurrentLanguageRepository
)
{
fun
getLanguage
():
String
?
=
repository
.
getLanguage
()
fun
getCountry
():
String
?
=
repository
.
getCountry
()
}
\ No newline at end of file
app/src/main/java/chat/rocket/android/server/domain/SaveCurrentLanguageInteractor.kt
0 → 100644
View file @
521f0a8b
package
chat.rocket.android.server.domain
import
chat.rocket.android.server.infrastructure.CurrentLanguageRepository
import
javax.inject.Inject
class
SaveCurrentLanguageInteractor
@Inject
constructor
(
private
val
repository
:
CurrentLanguageRepository
)
{
fun
save
(
language
:
String
,
country
:
String
?)
=
repository
.
save
(
language
,
country
)
}
\ No newline at end of file
app/src/main/java/chat/rocket/android/server/infrastructure/CurrentLanguageRepository.kt
0 → 100644
View file @
521f0a8b
package
chat.rocket.android.server.infrastructure
interface
CurrentLanguageRepository
{
fun
save
(
language
:
String
,
country
:
String
?
=
null
)
fun
getLanguage
():
String
?
fun
getCountry
():
String
?
}
\ No newline at end of file
app/src/main/java/chat/rocket/android/server/infrastructure/SharedPrefsCurrentLanguageRepository.kt
0 → 100644
View file @
521f0a8b
package
chat.rocket.android.server.infrastructure
import
android.content.SharedPreferences
private
const
val
CURRENT_LANGUAGE
=
"current_language"
private
const
val
CURRENT_LANGUAGE_COUNTRY
=
"current_language_country"
class
SharedPrefsCurrentLanguageRepository
(
private
val
preferences
:
SharedPreferences
)
:
CurrentLanguageRepository
{
override
fun
save
(
language
:
String
,
country
:
String
?)
{
with
(
preferences
)
{
edit
().
putString
(
CURRENT_LANGUAGE
,
language
).
apply
()
edit
().
putString
(
CURRENT_LANGUAGE_COUNTRY
,
country
).
apply
()
}
}
override
fun
getLanguage
():
String
?
{
return
preferences
.
getString
(
CURRENT_LANGUAGE
,
""
)
}
override
fun
getCountry
():
String
?
{
return
preferences
.
getString
(
CURRENT_LANGUAGE_COUNTRY
,
""
)
}
}
app/src/main/java/chat/rocket/android/settings/presentation/SettingsPresenter.kt
View file @
521f0a8b
...
...
@@ -5,9 +5,11 @@ import chat.rocket.android.db.DatabaseManagerFactory
import
chat.rocket.android.helper.UserHelper
import
chat.rocket.android.main.presentation.MainNavigator
import
chat.rocket.android.server.domain.AnalyticsTrackingInteractor
import
chat.rocket.android.server.domain.GetCurrentLanguageInteractor
import
chat.rocket.android.server.domain.GetCurrentServerInteractor
import
chat.rocket.android.server.domain.PermissionsInteractor
import
chat.rocket.android.server.domain.RemoveAccountInteractor
import
chat.rocket.android.server.domain.SaveCurrentLanguageInteractor
import
chat.rocket.android.server.domain.TokenRepository
import
chat.rocket.android.server.infrastructure.ConnectionManagerFactory
import
chat.rocket.android.server.infrastructure.RocketChatClientFactory
...
...
@@ -41,7 +43,8 @@ class SettingsPresenter @Inject constructor(
getCurrentServerInteractor
:
GetCurrentServerInteractor
,
removeAccountInteractor
:
RemoveAccountInteractor
,
databaseManagerFactory
:
DatabaseManagerFactory
,
connectionManagerFactory
:
ConnectionManagerFactory
connectionManagerFactory
:
ConnectionManagerFactory
,
private
val
saveLanguageInteractor
:
SaveCurrentLanguageInteractor
)
:
CheckServerPresenter
(
strategy
=
strategy
,
factory
=
rocketChatClientFactory
,
...
...
@@ -123,6 +126,10 @@ class SettingsPresenter @Inject constructor(
}
}
fun
saveLocale
(
language
:
String
,
country
:
String
?
=
null
)
{
saveLanguageInteractor
.
save
(
language
,
country
)
}
fun
toProfile
()
=
navigator
.
toProfile
()
fun
toAdmin
()
=
tokenRepository
.
get
(
currentServer
)
?.
let
{
...
...
app/src/main/java/chat/rocket/android/settings/ui/SettingsFragment.kt
View file @
521f0a8b
...
...
@@ -17,6 +17,7 @@ import chat.rocket.android.BuildConfig
import
chat.rocket.android.R
import
chat.rocket.android.analytics.AnalyticsManager
import
chat.rocket.android.analytics.event.ScreenViewEvent
import
chat.rocket.android.core.behaviours.AppLanguageView
import
chat.rocket.android.helper.TextHelper.getDeviceAndAppInformation
import
chat.rocket.android.settings.presentation.SettingsPresenter
import
chat.rocket.android.settings.presentation.SettingsView
...
...
@@ -33,7 +34,7 @@ internal const val TAG_SETTINGS_FRAGMENT = "SettingsFragment"
fun
newInstance
():
Fragment
=
SettingsFragment
()
class
SettingsFragment
:
Fragment
(),
SettingsView
{
class
SettingsFragment
:
Fragment
(),
SettingsView
,
AppLanguageView
{
@Inject
lateinit
var
analyticsManager
:
AnalyticsManager
@Inject
lateinit
var
presenter
:
SettingsPresenter
...
...
@@ -74,7 +75,7 @@ class SettingsFragment : Fragment(), SettingsView {
text_contact_us
.
setOnClickListener
{
contactSupport
()
}
text_language
.
setOnClickListener
{}
text_language
.
setOnClickListener
{
changeLanguage
()
}
text_review_this_app
.
setOnClickListener
{
showAppOnStore
()
}
...
...
@@ -109,6 +110,11 @@ class SettingsFragment : Fragment(), SettingsView {
}
}
override
fun
updateLanguage
(
language
:
String
,
country
:
String
?)
{
presenter
.
saveLocale
(
language
,
country
)
activity
?.
recreate
()
}
override
fun
invalidateToken
(
token
:
String
)
=
invalidateFirebaseToken
(
token
)
override
fun
showLoading
()
{
...
...
@@ -155,6 +161,38 @@ class SettingsFragment : Fragment(), SettingsView {
}
}
private
fun
changeLanguage
()
{
context
?.
let
{
AlertDialog
.
Builder
(
it
)
.
setTitle
(
R
.
string
.
title_choose_language
)
.
setSingleChoiceItems
(
resources
.
getStringArray
(
R
.
array
.
languages
),
-
1
)
{
dialog
,
option
->
when
(
option
)
{
0
->
updateLanguage
(
"en"
)
1
->
updateLanguage
(
"ar"
)
2
->
updateLanguage
(
"de"
)
3
->
updateLanguage
(
"es"
)
4
->
updateLanguage
(
"fa"
)
5
->
updateLanguage
(
"fr"
)
6
->
updateLanguage
(
"hi"
,
"IN"
)
7
->
updateLanguage
(
"it"
)
8
->
updateLanguage
(
"ja"
)
9
->
updateLanguage
(
"pt"
,
"BR"
)
10
->
updateLanguage
(
"pt"
,
"PT"
)
11
->
updateLanguage
(
"ru"
,
"RU"
)
12
->
updateLanguage
(
"tr"
)
13
->
updateLanguage
(
"uk"
)
14
->
updateLanguage
(
"zh"
,
"CN"
)
15
->
updateLanguage
(
"zh"
,
"TW"
)
}
dialog
.
dismiss
()
}
.
create
()
.
show
()
}
}
private
fun
showAppOnStore
()
{
try
{
startActivity
(
Intent
(
Intent
.
ACTION_VIEW
,
getString
(
R
.
string
.
market_link
).
toUri
()))
...
...
app/src/main/res/values-ar/strings.xml
View file @
521f0a8b
...
...
@@ -21,6 +21,7 @@
<string
name=
"title_password"
>
تغيير كلمة السر
</string>
<string
name=
"title_update_profile"
>
تحديث الملف الشخصي
</string>
<string
name=
"title_create_channel"
>
إنشاء قناة
</string>
<string
name=
"title_choose_language"
>
Choose Language
</string>
<!-- TODO Add translation -->
<string
name=
"title_license"
>
الترخيص
</string>
<string
name=
"title_are_you_sure"
>
هل أنت متأكد؟
</string>
<string
name=
"title_channel_details"
>
تفاصيل القناة
</string>
...
...
@@ -74,6 +75,25 @@
<string
name=
"msg_delete_account"
>
Delete account
</string>
<!-- TODO Translate -->
<string
name=
"msg_change_status"
>
Change status
</string>
<!-- TODO Translate -->
<string-array
name=
"languages"
>
<!-- TODO Add translations -->
<item>
English
</item>
<item>
Arabic
</item>
<item>
German
</item>
<item>
Spanish
</item>
<item>
Persian
</item>
<item>
French
</item>
<item>
Hindi (IN)
</item>
<item>
Italian
</item>
<item>
Japanese
</item>
<item>
Portuguese (BR)
</item>
<item>
Portuguese (PT)
</item>
<item>
Russian (RU)
</item>
<item>
Turkish
</item>
<item>
Ukrainian
</item>
<item>
Chinese (CN)
</item>
<item>
Chinese (TW)
</item>
</string-array>
<!-- Regular information messages -->
<string
name=
"msg_generic_error"
>
نأسف حدث خطأ ما حاول مرة أخرى
</string>
<string
name=
"msg_no_data_to_display"
>
لا يوجد بيانات للعرض
</string>
...
...
app/src/main/res/values-de/strings.xml
View file @
521f0a8b
...
...
@@ -9,6 +9,7 @@
<string
name=
"title_authentication"
>
Login Daten prüfen
</string>
<string
name=
"title_legal_terms"
>
Legal Terms
</string>
<string
name=
"title_chats"
>
Chats
</string>
<string
name=
"title_choose_language"
>
Choose Language
</string>
<!-- TODO Add translation -->
<string
name=
"title_profile"
>
Profil
</string>
<string
name=
"title_members"
>
Benutzer
</string>
<string
name=
"title_counted_members"
>
Benutzer (%d)
</string>
...
...
@@ -73,6 +74,25 @@
<string
name=
"msg_delete_account"
>
Konto löschen
</string>
<string
name=
"msg_change_status"
>
Status ändern
</string>
<string-array
name=
"languages"
>
<!-- TODO Add translations -->
<item>
English
</item>
<item>
Arabic
</item>
<item>
German
</item>
<item>
Spanish
</item>
<item>
Persian
</item>
<item>
French
</item>
<item>
Hindi (IN)
</item>
<item>
Italian
</item>
<item>
Japanese
</item>
<item>
Portuguese (BR)
</item>
<item>
Portuguese (PT)
</item>
<item>
Russian (RU)
</item>
<item>
Turkish
</item>
<item>
Ukrainian
</item>
<item>
Chinese (CN)
</item>
<item>
Chinese (TW)
</item>
</string-array>
<!-- Regular information messages -->
<string
name=
"msg_generic_error"
>
Entschuldigung, ein Fehler ist aufgetreten, bitte versuchen Sie es noch einmal.
</string>
<string
name=
"msg_no_data_to_display"
>
Keine Anzeigedaten vorhanden
</string>
...
...
app/src/main/res/values-es/strings.xml
View file @
521f0a8b
...
...
@@ -19,6 +19,7 @@
<string
name=
"title_admin_panel"
>
Admin panel
</string>
<!-- TODO Add translation -->
<string
name=
"title_password"
>
Cambia la contraseña
</string>
<string
name=
"title_update_profile"
>
Actualización del perfil
</string>
<string
name=
"title_choose_language"
>
Choose Language
</string>
<!-- TODO Add translation -->
<string
name=
"title_create_channel"
>
Crear canal
</string>
<string
name=
"title_license"
>
License
</string>
<!-- TODO Add translation -->
<string
name=
"title_are_you_sure"
>
Are you sure?
</string>
<!-- TODO Add translation -->
...
...
@@ -73,6 +74,25 @@
<string
name=
"msg_delete_account"
>
Delete account
</string>
<!-- TODO Translate -->
<string
name=
"msg_change_status"
>
Change status
</string>
<!-- TODO Translate -->
<string-array
name=
"languages"
>
<!-- TODO Add translations -->
<item>
English
</item>
<item>
Arabic
</item>
<item>
German
</item>
<item>
Spanish
</item>
<item>
Persian
</item>
<item>
French
</item>
<item>
Hindi (IN)
</item>
<item>
Italian
</item>
<item>
Japanese
</item>
<item>
Portuguese (BR)
</item>
<item>
Portuguese (PT)
</item>
<item>
Russian (RU)
</item>
<item>
Turkish
</item>
<item>
Ukrainian
</item>
<item>
Chinese (CN)
</item>
<item>
Chinese (TW)
</item>
</string-array>
<!-- Regular information messages -->
<string
name=
"msg_generic_error"
>
Lo sentimos, ha ocurrido un error, por favor intente de nuevo
</string>
<string
name=
"msg_no_data_to_display"
>
No hay información para mostrar
</string>
...
...
app/src/main/res/values-fa/strings.xml
View file @
521f0a8b
...
...
@@ -18,6 +18,7 @@
<string
name=
"title_rate_us"
>
به ما امتیاز دهید
</string>
<string
name=
"title_admin_panel"
>
Admin panel
</string>
<!-- TODO Add translation -->
<string
name=
"title_password"
>
تغییر گذرواژه
</string>
<string
name=
"title_choose_language"
>
Choose Language
</string>
<!-- TODO Add translation -->
<string
name=
"title_update_profile"
>
به روزرسانی نمایه
</string>
<string
name=
"title_create_channel"
>
ایجاد کانال
</string>
<string
name=
"title_license"
>
مجوز
</string>
...
...
@@ -73,6 +74,25 @@
<string
name=
"msg_delete_account"
>
Delete account
</string>
<!-- TODO Translate -->
<string
name=
"msg_change_status"
>
Change status
</string>
<!-- TODO Translate -->
<string-array
name=
"languages"
>
<!-- TODO Add translations -->
<item>
English
</item>
<item>
Arabic
</item>
<item>
German
</item>
<item>
Spanish
</item>
<item>
Persian
</item>
<item>
French
</item>
<item>
Hindi (IN)
</item>
<item>
Italian
</item>
<item>
Japanese
</item>
<item>
Portuguese (BR)
</item>
<item>
Portuguese (PT)
</item>
<item>
Russian (RU)
</item>
<item>
Turkish
</item>
<item>
Ukrainian
</item>
<item>
Chinese (CN)
</item>
<item>
Chinese (TW)
</item>
</string-array>
<!-- Regular information messages -->
<string
name=
"msg_generic_error"
>
متاسفانه مشکلی رخ داد، لطفا دوباره تلاش کنید
</string>
<string
name=
"msg_no_data_to_display"
>
اطلاعاتی برای نمایش وجود نداد
</string>
...
...
app/src/main/res/values-fr/strings.xml
View file @
521f0a8b
...
...
@@ -14,6 +14,7 @@
<string
name=
"title_counted_members"
>
Membres (%d)
</string>
<string
name=
"title_settings"
>
Paramètres
</string>
<string
name=
"title_preferences"
>
Préférences
</string>
<string
name=
"title_choose_language"
>
Choose Language
</string>
<!-- TODO Add translation -->
<string
name=
"title_change_password"
>
Changer le mot de passe
</string>
<string
name=
"title_rate_us"
>
évaluez nous
</string>
<string
name=
"title_admin_panel"
>
l\' administration
</string>
...
...
@@ -73,6 +74,25 @@
<string
name=
"msg_delete_account"
>
Delete account
</string>
<!-- TODO Translate -->
<string
name=
"msg_change_status"
>
Change status
</string>
<!-- TODO Translate -->
<string-array
name=
"languages"
>
<!-- TODO Add translations -->
<item>
English
</item>
<item>
Arabic
</item>
<item>
German
</item>
<item>
Spanish
</item>
<item>
Persian
</item>
<item>
French
</item>
<item>
Hindi (IN)
</item>
<item>
Italian
</item>
<item>
Japanese
</item>
<item>
Portuguese (BR)
</item>
<item>
Portuguese (PT)
</item>
<item>
Russian (RU)
</item>
<item>
Turkish
</item>
<item>
Ukrainian
</item>
<item>
Chinese (CN)
</item>
<item>
Chinese (TW)
</item>
</string-array>
<!-- Regular information messages -->
<string
name=
"msg_generic_error"
>
Désolé, une erreur s\'est produite. Veuillez réessayer
</string>
<string
name=
"msg_no_data_to_display"
>
Aucune donnée à afficher
</string>
...
...
app/src/main/res/values-hi-rIN/strings.xml
View file @
521f0a8b
...
...
@@ -19,6 +19,7 @@
<string
name=
"title_admin_panel"
>
एडमिन पैनल
</string>
<string
name=
"title_password"
>
पासवर्ड बदलें
</string>
<string
name=
"title_update_profile"
>
प्रोफ़ाइल अपडेट करें
</string>
<string
name=
"title_choose_language"
>
Choose Language
</string>
<!-- TODO Add translation -->
<string
name=
"title_create_channel"
>
चैनल बनाएं
</string>
<string
name=
"title_license"
>
लाइसेंस
</string>
<string
name=
"title_are_you_sure"
>
क्या आपको यकीन है?
</string>
...
...
@@ -73,6 +74,25 @@
<string
name=
"msg_delete_account"
>
Delete account
</string>
<!-- TODO Translate -->
<string
name=
"msg_change_status"
>
Change status
</string>
<!-- TODO Translate -->
<string-array
name=
"languages"
>
<!-- TODO Add translations -->
<item>
English
</item>
<item>
Arabic
</item>
<item>
German
</item>
<item>
Spanish
</item>
<item>
Persian
</item>
<item>
French
</item>
<item>
Hindi (IN)
</item>
<item>
Italian
</item>
<item>
Japanese
</item>
<item>
Portuguese (BR)
</item>
<item>
Portuguese (PT)
</item>
<item>
Russian (RU)
</item>
<item>
Turkish
</item>
<item>
Ukrainian
</item>
<item>
Chinese (CN)
</item>
<item>
Chinese (TW)
</item>
</string-array>
<!-- Regular information messages -->
<string
name=
"msg_generic_error"
>
क्षमा करें, एक त्रुटि हुई है, कृपया पुनः प्रयास करें
</string>
<string
name=
"msg_no_data_to_display"
>
डेटा प्रदर्शित करने के लिए उपलब्ध नहीं हैं
</string>
...
...
app/src/main/res/values-it/strings.xml
View file @
521f0a8b
...
...
@@ -20,6 +20,7 @@
<string
name=
"title_password"
>
Password
</string>
<string
name=
"title_update_profile"
>
Aggiorna Profilo
</string>
<string
name=
"title_create_channel"
>
Crea Canale
</string>
<string
name=
"title_choose_language"
>
Choose Language
</string>
<!-- TODO Add translation -->
<string
name=
"title_license"
>
licenza
</string>
<string
name=
"title_are_you_sure"
>
Sei sicuro che vuoi uscire?
</string>
<string
name=
"title_channel_details"
>
Allegare un file
</string>
...
...
@@ -73,6 +74,25 @@
<string
name=
"msg_delete_account"
>
Delete account
</string>
<!-- TODO Translate -->
<string
name=
"msg_change_status"
>
Change status
</string>
<!-- TODO Translate -->
<string-array
name=
"languages"
>
<!-- TODO Add translations -->
<item>
English
</item>
<item>
Arabic
</item>
<item>
German
</item>
<item>
Spanish
</item>
<item>
Persian
</item>
<item>
French
</item>
<item>
Hindi (IN)
</item>
<item>
Italian
</item>
<item>
Japanese
</item>
<item>
Portuguese (BR)
</item>
<item>
Portuguese (PT)
</item>
<item>
Russian (RU)
</item>
<item>
Turkish
</item>
<item>
Ukrainian
</item>
<item>
Chinese (CN)
</item>
<item>
Chinese (TW)
</item>
</string-array>
<!-- Regular information messages -->
<string
name=
"msg_generic_error"
>
Mi dispiace, si è verificato un errore, per favore riprova
</string>
<string
name=
"msg_no_data_to_display"
>
Nessun dato da visualizzare
</string>
...
...
app/src/main/res/values-ja/strings.xml
View file @
521f0a8b
...
...
@@ -19,6 +19,7 @@
<string
name=
"title_admin_panel"
>
管理パネル
</string>
<string
name=
"title_password"
>
パスワードの変更
</string>
<string
name=
"title_update_profile"
>
プロフィールの更新
</string>
<string
name=
"title_choose_language"
>
Choose Language
</string>
<!-- TODO Add translation -->
<string
name=
"title_license"
>
License
</string>
<!-- TODO Add translation -->
<string
name=
"title_create_channel"
>
新しいチャネルを作成
</string>
<string
name=
"title_are_you_sure"
>
本気ですか?
</string>
...
...
@@ -73,6 +74,25 @@
<string
name=
"msg_delete_account"
>
Delete account
</string>
<!-- TODO Translate -->
<string
name=
"msg_change_status"
>
Change status
</string>
<!-- TODO Translate -->
<string-array
name=
"languages"
>
<!-- TODO Add translations -->
<item>
English
</item>
<item>
Arabic
</item>
<item>
German
</item>
<item>
Spanish
</item>
<item>
Persian
</item>
<item>
French
</item>
<item>
Hindi (IN)
</item>
<item>
Italian
</item>
<item>
Japanese
</item>
<item>
Portuguese (BR)
</item>
<item>
Portuguese (PT)
</item>
<item>
Russian (RU)
</item>
<item>
Turkish
</item>
<item>
Ukrainian
</item>
<item>
Chinese (CN)
</item>
<item>
Chinese (TW)
</item>
</string-array>
<!-- Regular information messages -->
<string
name=
"msg_generic_error"
>
エラーが発生しました。もう一度お試しください。
</string>
<string
name=
"msg_no_data_to_display"
>
表示するデータがありません
</string>
...
...
app/src/main/res/values-pt-rBR/strings.xml
View file @
521f0a8b
...
...
@@ -16,6 +16,7 @@
<string
name=
"title_preferences"
>
Preferencias
</string>
<string
name=
"title_change_password"
>
Alterar senha
</string>
<string
name=
"title_rate_us"
>
nos avalie
</string>
<string
name=
"title_choose_language"
>
Choose Language
</string>
<!-- TODO Add translation -->
<string
name=
"title_admin_panel"
>
Painel administrativo
</string>
<string
name=
"title_password"
>
Alterar senha
</string>
<string
name=
"title_update_profile"
>
Editar perfil
</string>
...
...
@@ -73,6 +74,25 @@
<string
name=
"msg_delete_account"
>
Delete account
</string>
<!-- TODO Translate -->
<string
name=
"msg_change_status"
>
Change status
</string>
<!-- TODO Translate -->
<string-array
name=
"languages"
>
<!-- TODO Add translations -->
<item>
English
</item>
<item>
Arabic
</item>
<item>
German
</item>
<item>
Spanish
</item>
<item>
Persian
</item>
<item>
French
</item>
<item>
Hindi (IN)
</item>
<item>
Italian
</item>
<item>
Japanese
</item>
<item>
Portuguese (BR)
</item>
<item>
Portuguese (PT)
</item>
<item>
Russian (RU)
</item>
<item>
Turkish
</item>
<item>
Ukrainian
</item>
<item>
Chinese (CN)
</item>
<item>
Chinese (TW)
</item>
</string-array>
<!-- Regular information messages -->
<string
name=
"msg_generic_error"
>
Desculpe, ocorreu um erro, tente novamente
</string>
<string
name=
"msg_no_data_to_display"
>
Nenhum dado para exibir
</string>
...
...
app/src/main/res/values-pt-rPT/strings.xml
View file @
521f0a8b
...
...
@@ -16,6 +16,7 @@
<string
name=
"title_preferences"
>
Preferências
</string>
<string
name=
"title_change_password"
>
Alterar palavra-passe
</string>
<string
name=
"title_rate_us"
>
Avalie-nos
</string>
<string
name=
"title_choose_language"
>
Choose Language
</string>
<!-- TODO Add translation -->
<string
name=
"title_admin_panel"
>
Painel de Administração
</string>
<string
name=
"title_password"
>
Alterar palavra-passe
</string>
<string
name=
"title_update_profile"
>
Actualizar perfil
</string>
...
...
@@ -71,6 +72,24 @@
<string
name=
"msg_delete_account"
>
Delete account
</string>
<!-- TODO Translate -->
<string
name=
"msg_change_status"
>
Change status
</string>
<!-- TODO Translate -->
<string-array
name=
"languages"
>
<!-- TODO Add translations -->
<item>
English
</item>
<item>
Arabic
</item>
<item>
German
</item>
<item>
Spanish
</item>
<item>
Persian
</item>
<item>
French
</item>
<item>
Hindi (IN)
</item>
<item>
Italian
</item>
<item>
Japanese
</item>
<item>
Portuguese (BR)
</item>
<item>
Portuguese (PT)
</item>
<item>
Russian (RU)
</item>
<item>
Turkish
</item>
<item>
Ukrainian
</item>
<item>
Chinese (CN)
</item>
<item>
Chinese (TW)
</item>
</string-array>
<!-- Regular information messages -->
<string
name=
"msg_generic_error"
>
Lamentamos, ocorreu um erro, tente novamente
</string>
<string
name=
"msg_no_data_to_display"
>
Sem dados para mostrar
</string>
...
...
app/src/main/res/values-ru-rRU/strings.xml
View file @
521f0a8b
...
...
@@ -19,6 +19,7 @@
<string
name=
"title_admin_panel"
>
Панель админа
</string>
<string
name=
"title_password"
>
Изменить пароль
</string>
<string
name=
"title_update_profile"
>
Обновить профиль
</string>
<string
name=
"title_choose_language"
>
Choose Language
</string>
<!-- TODO Add translation -->
<string
name=
"title_create_channel"
>
Создать новый канал
</string>
<string
name=
"title_channel_details"
>
О канале
</string>
<string
name=
"title_topic"
>
Тема
</string>
...
...
@@ -73,6 +74,25 @@
<string
name=
"msg_delete_account"
>
Удалить аккаунт
</string>
<string
name=
"msg_change_status"
>
Изменить статус
</string>
<string-array
name=
"languages"
>
<!-- TODO Add translations -->
<item>
English
</item>
<item>
Arabic
</item>
<item>
German
</item>
<item>
Spanish
</item>
<item>
Persian
</item>
<item>
French
</item>
<item>
Hindi (IN)
</item>
<item>
Italian
</item>
<item>
Japanese
</item>
<item>
Portuguese (BR)
</item>
<item>
Portuguese (PT)
</item>
<item>
Russian (RU)
</item>
<item>
Turkish
</item>
<item>
Ukrainian
</item>
<item>
Chinese (CN)
</item>
<item>
Chinese (TW)
</item>
</string-array>
<!-- Regular information messages -->
<string
name=
"msg_generic_error"
>
Произошла ошибка, повторите попытку.
</string>
<string
name=
"msg_no_data_to_display"
>
Нет данных для отображения
</string>
...
...
app/src/main/res/values-tr/strings.xml
View file @
521f0a8b
...
...
@@ -20,6 +20,7 @@
<string
name=
"title_password"
>
Şifrenizi Değiştirin
</string>
<string
name=
"title_update_profile"
>
Profilinizi Düzenleyin
</string>
<string
name=
"title_create_channel"
>
Yeni Kanal Oluştur
</string>
<string
name=
"title_choose_language"
>
Choose Language
</string>
<!-- TODO Add translation -->
<string
name=
"title_license"
>
License
</string>
<!-- TODO Add translation -->
<string
name=
"title_are_you_sure"
>
Are you sure?
</string>
<!-- TODO Add translation -->
<string
name=
"title_channel_details"
>
Channel Details
</string>
<!-- TODO add translation -->
...
...
@@ -73,6 +74,25 @@
<string
name=
"msg_delete_account"
>
Delete account
</string>
<!-- TODO Translate -->
<string
name=
"msg_change_status"
>
Change status
</string>
<!-- TODO Translate -->
<string-array
name=
"languages"
>
<!-- TODO Add translations -->
<item>
English
</item>
<item>
Arabic
</item>
<item>
German
</item>
<item>
Spanish
</item>
<item>
Persian
</item>
<item>
French
</item>
<item>
Hindi (IN)
</item>
<item>
Italian
</item>
<item>
Japanese
</item>
<item>
Portuguese (BR)
</item>
<item>
Portuguese (PT)
</item>
<item>
Russian (RU)
</item>
<item>
Turkish
</item>
<item>
Ukrainian
</item>
<item>
Chinese (CN)
</item>
<item>
Chinese (TW)
</item>
</string-array>
<!-- Regular information messages -->
<string
name=
"msg_generic_error"
>
Üzgünüz! bir hata oluştu. Lütfen daha sonra tekrar deneyiniz.
</string>
<string
name=
"msg_no_data_to_display"
>
Görüntülenecek veri bulunmamaktadır.
</string>
...
...
app/src/main/res/values-uk/strings.xml
View file @
521f0a8b
...
...
@@ -20,6 +20,7 @@
<string
name=
"title_password"
>
Змінити пароль
</string>
<string
name=
"title_update_profile"
>
Оновити профіль
</string>
<string
name=
"title_create_channel"
>
Створити новий канал
</string>
<string
name=
"title_choose_language"
>
Choose Language
</string>
<!-- TODO Add translation -->
<string
name=
"title_license"
>
License
</string>
<!-- TODO Add translation -->
<string
name=
"title_are_you_sure"
>
Are you sure?
</string>
<!-- TODO Add translation -->
<string
name=
"title_channel_details"
>
Channel Details
</string>
<!-- TODO add translation -->
...
...
@@ -73,6 +74,25 @@
<string
name=
"msg_delete_account"
>
Delete account
</string>
<!-- TODO Translate -->
<string
name=
"msg_change_status"
>
Change status
</string>
<!-- TODO Translate -->
<string-array
name=
"languages"
>
<!-- TODO Add translations -->
<item>
English
</item>
<item>
Arabic
</item>
<item>
German
</item>
<item>
Spanish
</item>
<item>
Persian
</item>
<item>
French
</item>
<item>
Hindi (IN)
</item>
<item>
Italian
</item>
<item>
Japanese
</item>
<item>
Portuguese (BR)
</item>
<item>
Portuguese (PT)
</item>
<item>
Russian (RU)
</item>
<item>
Turkish
</item>
<item>
Ukrainian
</item>
<item>
Chinese (CN)
</item>
<item>
Chinese (TW)
</item>
</string-array>
<!-- Regular information messages -->
<string
name=
"msg_generic_error"
>
Сталася помилка, спробуйте ще раз.
</string>
<string
name=
"msg_no_data_to_display"
>
Немає даних для відображення
</string>
...
...
app/src/main/res/values-zh-rCN/strings.xml
View file @
521f0a8b
...
...
@@ -23,6 +23,7 @@
<string
name=
"title_license"
>
许可证
</string>
<string
name=
"title_are_you_sure"
>
你确定?
</string>
<string
name=
"title_channel_details"
>
频道信息
</string>
<string
name=
"title_choose_language"
>
Choose Language
</string>
<!-- TODO Add translation -->
<string
name=
"title_topic"
>
主题
</string>
<string
name=
"title_announcement"
>
公告
</string>
<string
name=
"title_description"
>
描述
</string>
...
...
@@ -73,6 +74,25 @@
<string
name=
"msg_delete_account"
>
Delete account
</string>
<!-- TODO Translate -->
<string
name=
"msg_change_status"
>
Change status
</string>
<!-- TODO Translate -->
<string-array
name=
"languages"
>
<!-- TODO Add translations -->
<item>
English
</item>
<item>
Arabic
</item>
<item>
German
</item>
<item>
Spanish
</item>
<item>
Persian
</item>
<item>
French
</item>
<item>
Hindi (IN)
</item>
<item>
Italian
</item>
<item>
Japanese
</item>
<item>
Portuguese (BR)
</item>
<item>
Portuguese (PT)
</item>
<item>
Russian (RU)
</item>
<item>
Turkish
</item>
<item>
Ukrainian
</item>
<item>
Chinese (CN)
</item>
<item>
Chinese (TW)
</item>
</string-array>
<!-- Regular information messages -->
<string
name=
"msg_generic_error"
>
对不起发生了错误,请重试
</string>
<string
name=
"msg_no_data_to_display"
>
没有数据显示
</string>
...
...
app/src/main/res/values/strings.xml
View file @
521f0a8b
...
...
@@ -34,6 +34,7 @@ https://github.com/RocketChat/java-code-styles/blob/master/CODING_STYLE.md#strin
<string
name=
"title_create_channel"
>
Create Channel
</string>
<string
name=
"title_license"
>
License
</string>
<string
name=
"title_are_you_sure"
>
Are you sure?
</string>
<string
name=
"title_choose_language"
>
Choose Language
</string>
<string
name=
"title_channel_details"
>
Channel Details
</string>
<string
name=
"title_topic"
>
Topic
</string>
<string
name=
"title_announcement"
>
Announcement
</string>
...
...
@@ -85,6 +86,25 @@ https://github.com/RocketChat/java-code-styles/blob/master/CODING_STYLE.md#strin
<string
name=
"msg_delete_account"
>
Delete account
</string>
<string
name=
"msg_change_status"
>
Change status
</string>
<string-array
name=
"languages"
>
<item>
English
</item>
<item>
Arabic
</item>
<item>
German
</item>
<item>
Spanish
</item>
<item>
Persian
</item>
<item>
French
</item>
<item>
Hindi (IN)
</item>
<item>
Italian
</item>
<item>
Japanese
</item>
<item>
Portuguese (BR)
</item>
<item>
Portuguese (PT)
</item>
<item>
Russian (RU)
</item>
<item>
Turkish
</item>
<item>
Ukrainian
</item>
<item>
Chinese (CN)
</item>
<item>
Chinese (TW)
</item>
</string-array>
<!-- Regular information messages -->
<string
name=
"msg_generic_error"
>
Sorry, an error has occurred, please try again
</string>
<string
name=
"msg_no_data_to_display"
>
No data to display
</string>
...
...
@@ -366,4 +386,4 @@ https://github.com/RocketChat/java-code-styles/blob/master/CODING_STYLE.md#strin
<string
name=
"submit"
>
Submit
</string>
<string
name=
"required"
>
*required
</string>
<string
name=
"report_sent"
>
Your report has been sent!
</string>
</resources>
</resources>
\ No newline at end of file
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