Skip to content

Commit

Permalink
Merge pull request #616 from wolecode/Language-translation-for-Hebrew
Browse files Browse the repository at this point in the history
Language translation for Hebrew language
  • Loading branch information
CephasPeter authored Oct 28, 2021
2 parents f24ea0a + 8e12552 commit 83f8404
Show file tree
Hide file tree
Showing 12 changed files with 382 additions and 402 deletions.
13 changes: 13 additions & 0 deletions app/src/main/java/com/zurichat/app/di/RetrofitModule.kt
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import com.google.gson.Gson
import com.zurichat.app.data.remoteSource.FilesService
import com.zurichat.app.data.remoteSource.UsersService
import com.zurichat.app.data.remoteSource.hasNetwork
import com.zurichat.app.ui.dm_chat.apiservice.ApiDMService
import com.zurichat.app.util.RETROFIT_CACHE_SIZE
import com.zurichat.app.util.USER_TOKEN
import dagger.Module
Expand All @@ -16,7 +17,9 @@ import okhttp3.*
import okhttp3.logging.HttpLoggingInterceptor
import retrofit2.Retrofit
import retrofit2.converter.gson.GsonConverterFactory
import retrofit2.create
import java.util.concurrent.TimeUnit
import javax.inject.Singleton


@Module
Expand Down Expand Up @@ -90,6 +93,16 @@ object RetrofitModule {
fun provideUserService(builder: Retrofit.Builder): UsersService =
builder.baseUrl("https://api.zuri.chat/").build().create(UsersService::class.java)

@Provides
fun roomService(client: OkHttpClient.Builder, gson: Gson) =
Retrofit.Builder().client(client.build())
.addConverterFactory(GsonConverterFactory.create(gson))
.baseUrl(ApiDMService.BASE_URL)
.build()
@Provides
fun provideRoomApiService(retrofit: Retrofit): ApiDMService =
retrofit.create(ApiDMService::class.java)

@Provides
fun provideFileService(builder: Retrofit.Builder) =
builder.baseUrl(FilesService.BASE_URL).build().create(FilesService::class.java)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -58,4 +58,8 @@ interface ApiDMService {
@Body createRoomBody: CreateRoomBody
): Response<CreateRoomsResponse>

companion object {
const val BASE_URL = "https://dm.zuri.chat/api/v1/"
const val DM_API = "api/v1/org/"
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import androidx.fragment.app.Fragment
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.fragment.app.viewModels
import androidx.lifecycle.ViewModelProvider
import androidx.navigation.fragment.findNavController
import androidx.recyclerview.widget.RecyclerView
Expand All @@ -16,6 +17,7 @@ import com.zurichat.app.databinding.FragmentDmBinding
import com.zurichat.app.models.User
import com.zurichat.app.ui.dm_chat.adapter.CreateRoomAdapter
import com.zurichat.app.ui.dm_chat.adapter.RoomAdapter
import com.zurichat.app.ui.dm_chat.apiservice.ApiDMService
import com.zurichat.app.ui.dm_chat.model.request.createroom.CreateRoomBody
import com.zurichat.app.ui.dm_chat.repository.Repository
import com.zurichat.app.ui.dm_chat.viewmodel.RoomViewModel
Expand Down Expand Up @@ -46,6 +48,7 @@ class CreateRoomFragment : Fragment() {
private lateinit var createRoomAdapter: CreateRoomAdapter
private lateinit var member: DataX
private lateinit var viewModelRoom: RoomViewModel
private val roomViewModel by viewModels<RoomViewModel>()

private lateinit var binding: FragmentCreateRoomBinding

Expand Down Expand Up @@ -88,11 +91,6 @@ class CreateRoomFragment : Fragment() {
var organizationId = "6162210d8e856323d6f12110"
//getMemberId(organizationId)
setupRecyclerView()
//setup viewModel and Retrofit
val repository = Repository()
val viewModelFactory = RoomViewModelFactory(repository)
viewModelRoom = ViewModelProvider(this, viewModelFactory).get(RoomViewModel::class.java)

selectMember()
}

Expand Down Expand Up @@ -157,8 +155,8 @@ class CreateRoomFragment : Fragment() {
roomMemberIdList.add(creatorMemId)
roomMemberIdList.add(otherUserMemId)
val createRoomBody = CreateRoomBody(orgId, roomMemberIdList, otherUserName)
viewModelRoom.createRoom(creatorMemId, createRoomBody)
viewModelRoom.myCreateRoomResponse.observe(viewLifecycleOwner) {response ->
roomViewModel.createRoom(creatorMemId, createRoomBody)
roomViewModel.myCreateRoomResponse.observe(viewLifecycleOwner) {response ->
if (response.isSuccessful) {
val roomId: String = response.body()!!.data.ID
Log.i("Created Room Id", "$roomId")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ import android.view.View
import android.view.ViewGroup
import androidx.core.widget.doOnTextChanged
import androidx.fragment.app.Fragment
import androidx.fragment.app.viewModels
import androidx.lifecycle.*
import androidx.lifecycle.Observer
import androidx.navigation.fragment.findNavController
Expand All @@ -28,6 +29,7 @@ import com.zurichat.app.models.User
import com.zurichat.app.ui.add_channel.BaseItem
import com.zurichat.app.ui.add_channel.BaseListAdapter
import com.zurichat.app.ui.dm.MEDIA
import com.zurichat.app.ui.dm_chat.apiservice.ApiDMService
import com.zurichat.app.ui.dm_chat.model.request.SendMessageBody
import com.zurichat.app.ui.dm_chat.model.response.message.BaseRoomData
import com.zurichat.app.ui.dm_chat.model.response.message.Data
Expand All @@ -41,6 +43,7 @@ import com.zurichat.app.ui.fragments.channel_chat.ChannelHeaderItem
import com.zurichat.app.ui.fragments.home_screen.CentrifugeClient
import com.zurichat.app.util.isInternetAvailable
import com.zurichat.app.util.setClickListener
import dagger.hilt.android.AndroidEntryPoint
import hani.momanii.supernova_emoji_library.Actions.EmojIconActions
import io.github.centrifugal.centrifuge.*
import kotlinx.coroutines.CoroutineScope
Expand All @@ -55,7 +58,7 @@ import java.util.*
import kotlin.collections.ArrayList
import kotlin.random.Random


@AndroidEntryPoint
class RoomFragment : Fragment() {
private lateinit var roomsListAdapter : BaseListAdapter
private lateinit var roomId: String
Expand All @@ -65,8 +68,8 @@ class RoomFragment : Fragment() {
private lateinit var user : User
private lateinit var room : RoomsListResponseItem
private var currentPosition: Int? = null
private lateinit var roomMsgViewModel: RoomViewModel
private lateinit var binding: FragmentDmBinding
private val roomMsgViewModel by viewModels<RoomViewModel>()

private val PREFS_NAME = "ORG_INFO"
private val ORG_NAME = "org_name"
Expand Down Expand Up @@ -146,9 +149,6 @@ class RoomFragment : Fragment() {
binding.listDm.adapter = roomsListAdapter
binding.listDm.itemAnimator = null

val repository = Repository()
val viewModelFactory = RoomViewModelFactory(repository)
roomMsgViewModel = ViewModelProvider(this, viewModelFactory).get(RoomViewModel::class.java)
roomMsgViewModel.getMessages(organizationID, roomId)

roomMsgViewModel.myGetMessageResponse.observe(viewLifecycleOwner, { response ->
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package com.zurichat.app.ui.dm_chat.repository

import com.zurichat.app.models.organization_model.UserOrganizationModel
import com.zurichat.app.ui.dm_chat.apiservice.ApiDMService
import com.zurichat.app.ui.dm_chat.apiservice.RetrofitInstance
import com.zurichat.app.ui.dm_chat.model.request.SendMessageBody
import com.zurichat.app.ui.dm_chat.model.request.createroom.CreateRoomBody
Expand All @@ -10,22 +11,24 @@ import com.zurichat.app.ui.dm_chat.model.response.message.GetMessageResponse
import com.zurichat.app.ui.dm_chat.model.response.message.SendMessageResponse
import com.zurichat.app.ui.dm_chat.model.response.room.RoomsListResponse
import retrofit2.Response
import javax.inject.Inject

class Repository @Inject constructor(private val roomService: ApiDMService) {

class Repository {
suspend fun getRooms(orgId: String, memId: String): Response<RoomsListResponse> {
return RetrofitInstance.retrofitService.getRooms(orgId, memId)
return roomService.getRooms(orgId, memId)
}

suspend fun getMember(memId: String): Response<MemberResponse> {
return RetrofitInstance.retrofitService2.getMember(memId)
}

suspend fun getMessages(orgId: String,roomId: String): Response<GetMessageResponse> {
return RetrofitInstance.retrofitService.getMessages(orgId, roomId)
return roomService.getMessages(orgId, roomId)
}

suspend fun sendMessages(orgId: String, roomId: String, messageBody: SendMessageBody): Response<SendMessageResponse> {
return RetrofitInstance.retrofitService.sendMessages(orgId, roomId, messageBody)
return roomService.sendMessages(orgId, roomId, messageBody)
}

suspend fun getMemberIds(email: String): Response<UserOrganizationModel> {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,13 @@ import com.zurichat.app.ui.dm_chat.model.response.message.GetMessageResponse
import com.zurichat.app.ui.dm_chat.model.response.message.SendMessageResponse
import com.zurichat.app.ui.dm_chat.model.response.room.RoomsListResponse
import com.zurichat.app.ui.dm_chat.repository.Repository
import dagger.hilt.android.lifecycle.HiltViewModel
import kotlinx.coroutines.launch
import retrofit2.Response
import javax.inject.Inject

class RoomViewModel(private val repository: Repository) : ViewModel() {
@HiltViewModel
class RoomViewModel @Inject constructor(private val repository: Repository) : ViewModel() {

val myResponse: MutableLiveData<Response<RoomsListResponse>> = MutableLiveData()

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ import com.zurichat.app.models.*
import com.zurichat.app.models.organization_model.OrgData
import com.zurichat.app.ui.activities.MainActivity
import com.zurichat.app.ui.dm.response.RoomListResponseItem
import com.zurichat.app.ui.dm_chat.apiservice.ApiDMService
import com.zurichat.app.ui.dm_chat.model.response.room.RoomsListResponseItem
import com.zurichat.app.ui.dm_chat.repository.Repository
import com.zurichat.app.ui.dm_chat.utils.ModelPreferencesManager
Expand Down Expand Up @@ -58,12 +59,10 @@ class HomeScreenFragment : Fragment() {
private lateinit var organizationID: String
private lateinit var organizationName: String
private lateinit var memberId: String
private lateinit var roomService: ApiDMService

private lateinit var searchView: JSearchView
private val roomViewModel: RoomViewModel by viewModels {
val repository = Repository()
RoomViewModelFactory(repository)
}
private val roomViewModel by viewModels<RoomViewModel>()

private val channelsViewModel: ChannelViewModel by viewModels()

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.fragment.app.Fragment
import androidx.fragment.app.viewModels
import androidx.lifecycle.ViewModelProvider
import androidx.navigation.fragment.findNavController
import androidx.recyclerview.widget.RecyclerView
Expand All @@ -16,6 +17,7 @@ import com.zurichat.app.databinding.FragmentChatsBinding
import com.zurichat.app.models.User
import com.zurichat.app.models.organization_model.UserOrganizationModel
import com.zurichat.app.ui.dm_chat.adapter.RoomAdapter
import com.zurichat.app.ui.dm_chat.apiservice.ApiDMService
import com.zurichat.app.ui.dm_chat.model.response.room.RoomsListResponse
import com.zurichat.app.ui.dm_chat.model.response.room.RoomsListResponseItem
import com.zurichat.app.ui.dm_chat.repository.Repository
Expand All @@ -24,9 +26,11 @@ import com.zurichat.app.ui.dm_chat.viewmodel.RoomViewModel
import com.zurichat.app.ui.dm_chat.viewmodel.RoomViewModelFactory
import com.zurichat.app.ui.fragments.home_screen.HomeScreenFragment
import com.zurichat.app.ui.fragments.home_screen.HomeScreenViewModel
import com.zurichat.app.ui.login.LoginViewModel
import com.zurichat.app.ui.notification.NotificationUtils
import dagger.hilt.android.AndroidEntryPoint
import java.util.*
import javax.inject.Inject
import kotlin.collections.ArrayList

@AndroidEntryPoint
Expand All @@ -45,6 +49,7 @@ class ChatsFragment : Fragment(R.layout.fragment_chats) {
private lateinit var room: RoomsListResponseItem
private lateinit var roomList: RoomsListResponse
private lateinit var roomsArrayList: ArrayList<RoomsListResponseItem>
private val roomViewModel by viewModels<RoomViewModel>()

private lateinit var memberList: UserOrganizationModel
private lateinit var email: String
Expand Down Expand Up @@ -97,14 +102,10 @@ class ChatsFragment : Fragment(R.layout.fragment_chats) {
NotificationUtils().setNotification(mNotificationTime, requireActivity())
}

//setup viewModel and Retrofit
val repository = Repository()
val viewModelFactory = RoomViewModelFactory(repository)
viewModelRoom = ViewModelProvider(this, viewModelFactory).get(RoomViewModel::class.java)

//call retrofit service function to get rooms
viewModelRoom.getRooms(organizationID, memberId)
viewModelRoom.myResponse.observe(viewLifecycleOwner) { response ->
roomViewModel.getRooms(organizationID, memberId)
roomViewModel.myResponse.observe(viewLifecycleOwner) { response ->
roomsArrayList.clear()
if (response.isSuccessful) {
roomList = response.body()!!
Expand Down
60 changes: 27 additions & 33 deletions app/src/main/res/values-de/strings.xml
Original file line number Diff line number Diff line change
@@ -1,4 +1,19 @@
<resources>
<string name="create_workspace">Neuen Arbeitsbereich erstellen</string>
<string name="add_workspace">Arbeitsbereich hinzufügen</string>
<string name="por">Portugiesisch</string>
<string name="iw">hebräisch</string>
<string name="it">Italiano</string>
<string name="sp">Spanisch</string>
<string name="den">Deutsch</string>
<string name="ar">Arabisch</string>
<string name="zh">Chinesisch</string>
<string name="fr">Französisch</string>
<string name="english_us">Amerikanisches Englisch</string>
<string name="english_uk">Englisch UK</string>
<string name="select_language">Wählen Sie eine Sprachübersetzung aus</string>
<string name="title">Titel</string>
<string name="languages">Sprachen</string>
<string name="continue_txt">Weitermachen</string>
<string name="forgot_password_txt">Passwort vergessen?</string>
<string name="create_new_organization">Neue Organisation erstellen</string>
Expand Down Expand Up @@ -84,7 +99,7 @@ später leicht wiederfinden</string>
<string name="label">Melden Sie sich bei Ihrem Zuri-Konto an</string>
<string name="didn_t_rece">Haben Sie keinen Code erhalten?</string>
<string name="back_to_sig">Zurück zur Anmeldung</string>
<string name="email_addre">E-Mail-Adresse</string>
<string name="email_addre">E-Mail-Addresse</string>
<string name="please_ente">Bitte geben Sie die E-Mail-Adresse ein, die bei der Registrierung dieses Kontos verwendet wurde</string>
<string name="no_account_to_switch_text">Melden Sie sich mit mehr als einem Konto auf diesem Gerät an, um diese Funktion zu verwenden</string>
<string name="switch_accounts_toolbar_header">Zuvor verwendete Konten</string>
Expand Down Expand Up @@ -145,8 +160,7 @@ später leicht wiederfinden</string>
<string name="document">Dokumentieren</string>
<string name="audio">Audio</string>
<string name="gallery">Galerie</string>
<string name="no_item_here_txt">Entschuldigung, Sie haben hier kein
item.</string>
<string name="no_item_here_txt">Entschuldigung, Sie haben hier keinen Artikel.</string>
<string name="profile_about">Über</string>
<string name="_10_07">10:07</string>
<string name="hey_what_s_good_">Hey was ist gut</string>
Expand All @@ -156,15 +170,13 @@ item.</string>
<string name="blocked_contacts_header">Blockierte Kontakte</string>
<string name="live_locations_header">Live-Standort</string>
<string name="channels_header">Kanäle</string>
<string name="read_receipt_summary">Wenn diese Option deaktiviert ist, werden keine Lesebestätigungen gesendet oder empfangen.
Lesebestätigungen werden immer für Kanäle gesendet</string>
<string name="read_receipt_summary">Wenn diese Option deaktiviert ist, werden keine Lesebestätigungen gesendet oder empfangen. Lesebestätigungen werden immer für Kanäle gesendet</string>
<string name="read_receipt_header">Quittung lesen</string>
<string name="status_header">Status</string>
<string name="about_header">Über</string>
<string name="profile_photo_header">Profilfoto</string>
<string name="last_seen_header">Zuletzt gesehen</string>
<string name="who_can_see_summary">Wenn Sie Ihre Zuletzt gesehen nicht teilen,
Sie können die Zuletzt gesehen von anderen Personen nicht sehen</string>
<string name="who_can_see_summary">Wenn Sie Ihre Zuletzt gesehen nicht teilen, können Sie die Zuletzt gesehen von anderen Personen nicht sehen</string>
<string name="who_can_see_header">Wer kann meine persönlichen Daten sehen</string>
<string name="default_wallpaper">Standard-Hintergrundbild</string>
<string name="my_photos_cat">Meine Fotos</string>
Expand Down Expand Up @@ -205,7 +217,7 @@ Sie können die Zuletzt gesehen von anderen Personen nicht sehen</string>
<string name="network_usage">Netzwerknutzung</string>
<string name="manage_storage">Speicher verwalten</string>
<string name="attachment_summary_off">Laden Sie Anhänge nur herunter, wenn Sie manuell aufgefordert werden</string>
<string name="attachment_summary_on">Anhänge für eingehende E-Mails automatisch herunterladen</string>
<string name="attachment_summary_on">&quot;Anhänge für eingehende E-Mails automatisch herunterladen&quot;</string>
<string name="attachment_title">Eingehende Anhänge herunterladen</string>
<string name="sync_title">E-Mails regelmäßig synchronisieren</string>
<string name="reply_title">Standardantwortaktion</string>
Expand All @@ -219,8 +231,8 @@ Sie können die Zuletzt gesehen von anderen Personen nicht sehen</string>
<string name="x_selected">%1$d ausgewählt</string>
<string name="send_to">Senden an %1$s</string>
<string name="welcome_image">Willkommensbild</string>
<string name="register_mail">E-Mail-Adresse</string>
<string name="welcome_text">Senden Sie ganz einfach DMs an Ihre Kontakte und Kanäle, starten Sie Unterhaltungen mit nur einem Klick</string>
<string name="register_mail">E-Mail-Addresse</string>
<string name="welcome_text">Senden Sie ganz einfach DMs an Ihre Kontakte und Kanäle, starten Sie Gespräche mit nur einem Klick</string>
<string name="welcome_title">Willkommen bei Zuri-Chat</string>
<string name="title_activity_settings">Einstellungen</string>
<string name="customize_your_chat_environment_to_suit_your_preference">Passen Sie Ihre Chat-Umgebung nach Ihren Wünschen an</string>
Expand All @@ -233,9 +245,7 @@ Sie können die Zuletzt gesehen von anderen Personen nicht sehen</string>
<string name="never_miss_a_chat">Verpasse keinen Chat</string>
<string name="slider_image">Slider-Bild</string>
<string name="skip">Überspringen</string>
<string name="verification_code">Ein Bestätigungscode wurde an
gesendet. Geben Sie den Code ein,
um Ihr Konto zu bestätigen.</string>
<string name="verification_code">Ein Bestätigungscode wurde gesendet, bitte geben Sie den Code ein, um Ihr Konto zu bestätigen.</string>
<string name="skip_intro">Intro überspringen</string>
<string name="next">Nächste</string>
<string name="title_text">Titeltext</string>
Expand All @@ -246,24 +256,8 @@ Sie können die Zuletzt gesehen von anderen Personen nicht sehen</string>
<string name="email_verified">Email überprüft</string>
<string name="verify_email">E-Mail bestätigen</string>
<string name="enter_registered_email">Geben Sie die registrierte zuri-Chat-E-Mail ein</string>
<string name="zuri_dms_team_tolstoy">Zuri-DMs:
Team Tolstoi -
Kotlin &amp; Java Mobile</string>
<string name="hello_blank_fragment">Keine Internetverbindung!</string>
<string name="zuri_dms_team_tolstoy">TitZuri DMs: Team Tolstoy - Kotlin Java Mobile</string>
<string name="app_name">Zuri Chat: Kanäle und DMs</string>
<string name="lbl_terms_and_conditions"><u>Geschäftsbedingungen</u></string>
<string name="languages">Sprachen</string>
<string name="title">Titel</string>
<string name="select_language">Wählen Sie eine Sprachübersetzung aus</string>
<string name="english_uk">Englisch UK</string>
<string name="english_us">Englisch USA</string>
<string name="fr">Französisch</string>
<string name="zh">Chinesisch</string>
<string name="ar">Arabisch</string>
<string name="den">Deutsch</string>
<string name="sp">Spanisch</string>
<string name="it">Italienisch</string>
<string name="iw">Hebräisch</string>
<string name="por">Portugiesisch</string>
<string name="add_workspace">Arbeitsbereich hinzufügen</string>
<string name="create_workspace">Neuen Arbeitsbereich erstellen</string>
</resources>
<string name="hello_blank_fragment">Keine Internetverbindung!</string>
</resources>
Loading

0 comments on commit 83f8404

Please sign in to comment.