Commit 22303c10 authored by Grigory Fedorov's avatar Grigory Fedorov

Merge branch 'release/1.0.20'

parents f7411192 8f014d15
Copyright (c) 2013, Redsolution LTD. Copyright (c) 2015, Redsolution Inc.
All rights reserved. All rights reserved.
Project is distributed under "GNU General Public License, Version 3" (see assets/LICENSE-GPLv3.txt). Project is distributed under GNU General Public License, Version 3 (see app/src/main/assets/LICENSE-GPLv3.txt).
Note about restrictions: Following files as well as translations in app/src/main/res/values* are distributed under Creative Commons Attribution Non-Commercial Share Alike license:
Following files are distributed under "Creative Commons Attribution Non-Commercial No Derivatives": app/src/main/res/drawable/about_backdrop.jpg
res/drawable*/ic_connect.png app/src/main/res/drawable*/chat_background.png
res/drawable*/ic_disconnect.png app/src/main/res/drawable/contact_shadow.jpg
res/drawable*/ic_information.png app/src/main/res/drawable*/drawer_*.jpg
res/drawable*/ic_launcher.png app/src/main/res/drawable*/ic_avatar_*.png
res/drawable*/ic_stat_*.png app/src/main/res/drawable*/ic_client_*.png
res/drawable*/title_logo.9.png app/src/main/res/drawable*/ic_offline_shadow_24dp.png
app/src/main/res/drawable*/ic_scroll_indicator_circle_*.png
app/src/main/res/drawable*/ic_stat_offline.png
app/src/main/res/drawable*/ic_stat_cnline.png
app/src/main/res/drawable*/ic_status_*.png
app/src/main/res/drawable*/message_*.9.png
Following files are part of The Android Open Source Project licensed under the Apache License, Version 2.0 (the "License") (see assets/LICENSE-Apache2.txt): Following files are part of official icon set from Google and distributed under Creative Common Attribution 4.0 International License (CC-BY 4.0):
res/drawable/notify_panel_notification_icon_bg_tile.xml
res/layout/info_preference.xml
res/layout/preference.xml
res/layout/progress_preference.xml
res/drawable*/emo_im_*.png
res/drawable*/ic_menu_*.png
The rest of graphic in res/drawable* as well as translations in res/values* are distributed under "Creative Commons Attribution Non-Commercial Share Alike". app/src/main/res/drawable*/ic_add_white_24dp.png
app/src/main/res/drawable*/ic_arrow_left_white_24dp.png
app/src/main/res/drawable*/ic_button_send_*_24dp.png
app/src/main/res/drawable*/ic_chat_white_24dp.png
app/src/main/res/drawable*/ic_clear_all_white_24dp.png
app/src/main/res/drawable*/ic_clear_white_24dp.png
app/src/main/res/drawable*/ic_exit_grey600_24dp.png
app/src/main/res/drawable*/ic_expander_indicator_down_black_24dp.png
app/src/main/res/drawable*/ic_expander_indicator_right_black_24dp.png
app/src/main/res/drawable*/ic_group_add_white_24dp.png
app/src/main/res/drawable*/ic_hangouts_grey600_24dp.png
app/src/main/res/drawable*/ic_help_circle_grey600_24dp.png
app/src/main/res/drawable*/ic_list_white_24dp.png
app/src/main/res/drawable*/ic_message_delivered_18dp.png
app/src/main/res/drawable*/ic_message_has_error_18dp.png
app/src/main/res/drawable*/ic_message_not_sent_18dp.png
app/src/main/res/drawable*/ic_person_add_white_24dp.png
app/src/main/res/drawable*/ic_search_white_24dp.png
app/src/main/res/drawable*/ic_security_*_24dp.png
app/src/main/res/drawable*/ic_settings_grey600_24dp.png
app/src/main/res/drawable*/ic_show_offline_*.png
app/src/main/res/drawable*/ic_stat_add_circle.png
app/src/main/res/drawable*/ic_stat_chat.png
app/src/main/res/drawable*/ic_stat_error.png
app/src/main/res/drawable*/ic_stat_help.png
app/src/main/res/drawable*/ic_stat_play_circle_fill.png
app/src/main/res/drawable*/ic_vcard_address_24dp.png
app/src/main/res/drawable*/ic_vcard_birthday_24dp.png
app/src/main/res/drawable*/ic_vcard_contact_info_24dp.png
app/src/main/res/drawable*/ic_vcard_email_24dp.png
app/src/main/res/drawable*/ic_vcard_job_title_24dp.png
app/src/main/res/drawable*/ic_vcard_notes_24dp.png
app/src/main/res/drawable*/ic_vcard_phone_24dp.png
app/src/main/res/drawable*/ic_vcard_web_24dp.png
Also following components are in use (see the source code or official sites for license details): XMPP logo is licensed under a slightly modified MIT license (http://xmpp.org/about-xmpp/xsf/xsf-ipr-policy/#legal):
app/src/main/res/drawable*/ic_vcard_xmpp_24dp.png
The Jabber logo is licensed under the Creative Commons Attribution License
app/src/main/res/drawable*/ic_vcard_jabber_24dp.png
Xabber, Redsolution logo are trademarks of Redsolution Inc., and are licensed under Creative Commons Attribution-NoDerivs license:
app/src/main/res/drawable*/ic_connect.png
app/src/main/res/drawable*/ic_disconnect.png
app/src/main/res/drawable*/ic_launcher.png
app/src/main/res/drawable*/redsolution_logo*.9.png
Following file is part of The Android Open Source Project licensed under the Apache License, Version 2.0 (the "License") (see assets/LICENSE-Apache2.txt):
app/src/main/res/layout/preference.xml
Also source code of following components is included in repository (see the source code or official sites for license details):
ZXing ZXing
src/com/google/zxing/* app/src/main/java/com/google/zxing/*
Apache License, Version 2.0 (the "License"). Apache License, Version 2.0 (the "License").
JZLib JZLib
src/com/jcraft/jzlib/* app/src/main/java/com/jcraft/jzlib/*
BSD license. BSD license.
Novel sasl client Novel sasl client
src/com/novell/sasl/* app/src/main/java/com/novell/sasl/*
The OpenLDAP Public License. The OpenLDAP Public License.
Measite Smack SASL Measite Smack SASL
src/de/measite/smack/* app/src/main/java/de/measite/smack/*
Apache License, Version 2.0 (the "License"). Apache License, Version 2.0 (the "License").
Apache Harmony Apache Harmony
src/org/apache/harmony/* app/src/main/java/org/apache/harmony/*
Apache License, Version 2.0 (the "License"). Apache License, Version 2.0 (the "License").
Apache Qpid Apache Qpid
src/org/apache/qpid/* app/src/main/java/org/apache/qpid/*
Apache License, Version 2.0 (the "License"). Apache License, Version 2.0 (the "License").
Smack Smack
src/org/jivesoftware/* app/src/main/java/org/jivesoftware/*
Apache License, Version 2.0 (the "License"). Apache License, Version 2.0 (the "License").
DNS Java
src/org/xbill/*
BSD license.
OTR4J
libs/otr4j.jar
GNU Lesser General Public License, Version 3.
...@@ -7,8 +7,8 @@ android { ...@@ -7,8 +7,8 @@ android {
defaultConfig { defaultConfig {
minSdkVersion 14 minSdkVersion 14
targetSdkVersion 22 targetSdkVersion 22
versionCode 191 versionCode 192
versionName '1.0.19' versionName '1.0.20'
} }
compileOptions { compileOptions {
...@@ -41,11 +41,13 @@ repositories { ...@@ -41,11 +41,13 @@ repositories {
} }
dependencies { dependencies {
compile 'com.android.support:design:22.2.0'
compile 'com.android.support:appcompat-v7:22.2.0' compile 'com.android.support:appcompat-v7:22.2.0'
compile 'com.android.support:support-v13:22.2.0' compile 'com.android.support:support-v13:22.2.0'
compile 'com.github.ksoichiro:android-observablescrollview:1.5.0' compile 'com.github.ksoichiro:android-observablescrollview:1.5.0'
compile 'de.hdodenhof:circleimageview:1.2.2' compile 'de.hdodenhof:circleimageview:1.2.2'
compile 'com.melnykov:floatingactionbutton:1.2.0' compile 'com.melnykov:floatingactionbutton:1.2.0'
compile 'dnsjava:dnsjava:2.1.7' compile 'dnsjava:dnsjava:2.1.7'
compile 'com.github.bumptech.glide:glide:3.6.0'
compile project('otr4j') compile project('otr4j')
} }
...@@ -73,9 +73,10 @@ ...@@ -73,9 +73,10 @@
android:name="com.xabber.android.ui.LoadActivity" android:name="com.xabber.android.ui.LoadActivity"
/> />
<activity <activity
android:name="com.xabber.android.ui.preferences.AboutViewer" android:name=".ui.AboutViewer"
android:label="@string/about_viewer" android:label="@string/about_viewer"
android:parentActivityName="com.xabber.android.ui.preferences.PreferenceEditor" android:parentActivityName="com.xabber.android.ui.preferences.PreferenceEditor"
android:theme="@style/ThemeDark"
> >
<!-- Parent activity meta-data to support 4.0 and lower --> <!-- Parent activity meta-data to support 4.0 and lower -->
...@@ -134,7 +135,6 @@ ...@@ -134,7 +135,6 @@
</activity> </activity>
<activity <activity
android:name="com.xabber.android.ui.GroupEditor" android:name="com.xabber.android.ui.GroupEditor"
android:label="@string/contact_editor"
android:parentActivityName="com.xabber.android.ui.ContactViewer" android:parentActivityName="com.xabber.android.ui.ContactViewer"
> >
<!-- Parent activity meta-data to support 4.0 and lower --> <!-- Parent activity meta-data to support 4.0 and lower -->
...@@ -285,7 +285,6 @@ ...@@ -285,7 +285,6 @@
/> />
<activity <activity
android:name="com.xabber.android.ui.preferences.PhraseList" android:name="com.xabber.android.ui.preferences.PhraseList"
android:label="@string/events_phrases_title"
android:parentActivityName="com.xabber.android.ui.preferences.NotificationsSettings"> android:parentActivityName="com.xabber.android.ui.preferences.NotificationsSettings">
<!-- Parent activity meta-data to support 4.0 and lower --> <!-- Parent activity meta-data to support 4.0 and lower -->
<meta-data <meta-data
......
...@@ -132,7 +132,6 @@ public class ActivityManager implements OnUnloadListener { ...@@ -132,7 +132,6 @@ public class ActivityManager implements OnUnloadListener {
public void onCreate(Activity activity) { public void onCreate(Activity activity) {
if (LOG) if (LOG)
LogManager.i(activity, "onCreate: " + activity.getIntent()); LogManager.i(activity, "onCreate: " + activity.getIntent());
applyTheme(activity);
if (application.isClosing() && !(activity instanceof LoadActivity)) { if (application.isClosing() && !(activity instanceof LoadActivity)) {
activity.startActivity(LoadActivity.createIntent(activity)); activity.startActivity(LoadActivity.createIntent(activity));
activity.finish(); activity.finish();
......
...@@ -346,22 +346,6 @@ public class SettingsManager implements OnInitializedListener, ...@@ -346,22 +346,6 @@ public class SettingsManager implements OnInitializedListener,
throw new IllegalStateException(); throw new IllegalStateException();
} }
public static ChatsDivide chatsDivide() {
String value = getString(R.string.chats_divide_key,
R.string.chats_divide_default);
if (Application.getInstance()
.getString(R.string.chats_divide_always_value).equals(value))
return ChatsDivide.always;
else if (Application.getInstance()
.getString(R.string.chats_divide_portrait_value).equals(value))
return ChatsDivide.portial;
else if (Application.getInstance()
.getString(R.string.chats_divide_never_value).equals(value))
return ChatsDivide.never;
else
throw new IllegalStateException();
}
public static boolean chatsStateNotification() { public static boolean chatsStateNotification() {
return getBoolean(R.string.chats_state_notification_key, return getBoolean(R.string.chats_state_notification_key,
R.bool.chats_state_notification_default); R.bool.chats_state_notification_default);
...@@ -535,6 +519,14 @@ public class SettingsManager implements OnInitializedListener, ...@@ -535,6 +519,14 @@ public class SettingsManager implements OnInitializedListener,
setBoolean(R.string.contact_integration_suggested_key, true); setBoolean(R.string.contact_integration_suggested_key, true);
} }
public static boolean isTranslationSuggested() {
return getBoolean(R.string.translation_suggested_key, false);
}
public static void setTranslationSuggested() {
setBoolean(R.string.translation_suggested_key, true);
}
/** /**
* @return Common status mode for all accounts or * @return Common status mode for all accounts or
* {@link StatusMode#available} if mode was not set. * {@link StatusMode#available} if mode was not set.
...@@ -730,25 +722,6 @@ public class SettingsManager implements OnInitializedListener, ...@@ -730,25 +722,6 @@ public class SettingsManager implements OnInitializedListener,
never, never,
} }
public enum ChatsDivide {
/**
* Always divide message header from text.
*/
always,
/**
* Only in portial mode.
*/
portial,
/**
* Never.
*/
never
}
public enum SecurityOtrMode { public enum SecurityOtrMode {
/** /**
......
...@@ -47,15 +47,15 @@ public class VcardMaps { ...@@ -47,15 +47,15 @@ public class VcardMaps {
if (ADDRESS_PROPERTY_MAP.size() != AddressProperty.values().length) if (ADDRESS_PROPERTY_MAP.size() != AddressProperty.values().length)
throw new IllegalStateException(); throw new IllegalStateException();
TELEPHONE_TYPE_MAP.put(TelephoneType.BBS, R.string.vcard_type_bbs); TELEPHONE_TYPE_MAP.put(TelephoneType.BBS, R.string.bbs);
TELEPHONE_TYPE_MAP.put(TelephoneType.CELL, R.string.vcard_type_cell); TELEPHONE_TYPE_MAP.put(TelephoneType.CELL, R.string.vcard_type_cell);
TELEPHONE_TYPE_MAP.put(TelephoneType.FAX, R.string.vcard_type_fax); TELEPHONE_TYPE_MAP.put(TelephoneType.FAX, R.string.vcard_type_fax);
TELEPHONE_TYPE_MAP.put(TelephoneType.HOME, R.string.vcard_type_home); TELEPHONE_TYPE_MAP.put(TelephoneType.HOME, R.string.vcard_type_home);
TELEPHONE_TYPE_MAP.put(TelephoneType.ISDN, R.string.vcard_type_isdn); TELEPHONE_TYPE_MAP.put(TelephoneType.ISDN, R.string.isdn);
TELEPHONE_TYPE_MAP.put(TelephoneType.MODEM, R.string.vcard_type_modem); TELEPHONE_TYPE_MAP.put(TelephoneType.MODEM, R.string.vcard_type_modem);
TELEPHONE_TYPE_MAP.put(TelephoneType.MSG, R.string.vcard_type_msg); TELEPHONE_TYPE_MAP.put(TelephoneType.MSG, R.string.vcard_type_msg);
TELEPHONE_TYPE_MAP.put(TelephoneType.PAGER, R.string.vcard_type_pager); TELEPHONE_TYPE_MAP.put(TelephoneType.PAGER, R.string.vcard_type_pager);
TELEPHONE_TYPE_MAP.put(TelephoneType.PCS, R.string.vcard_type_pcs); TELEPHONE_TYPE_MAP.put(TelephoneType.PCS, R.string.pcs);
TELEPHONE_TYPE_MAP.put(TelephoneType.PREF, R.string.vcard_type_pref); TELEPHONE_TYPE_MAP.put(TelephoneType.PREF, R.string.vcard_type_pref);
TELEPHONE_TYPE_MAP.put(TelephoneType.VIDEO, R.string.vcard_type_video); TELEPHONE_TYPE_MAP.put(TelephoneType.VIDEO, R.string.vcard_type_video);
TELEPHONE_TYPE_MAP.put(TelephoneType.VOICE, R.string.vcard_type_voice); TELEPHONE_TYPE_MAP.put(TelephoneType.VOICE, R.string.vcard_type_voice);
...@@ -67,7 +67,7 @@ public class VcardMaps { ...@@ -67,7 +67,7 @@ public class VcardMaps {
EMAIL_TYPE_MAP.put(EmailType.INTERNET, R.string.vcard_type_internet); EMAIL_TYPE_MAP.put(EmailType.INTERNET, R.string.vcard_type_internet);
EMAIL_TYPE_MAP.put(EmailType.PREF, R.string.vcard_type_pref); EMAIL_TYPE_MAP.put(EmailType.PREF, R.string.vcard_type_pref);
EMAIL_TYPE_MAP.put(EmailType.WORK, R.string.vcard_type_work); EMAIL_TYPE_MAP.put(EmailType.WORK, R.string.vcard_type_work);
EMAIL_TYPE_MAP.put(EmailType.X400, R.string.vcard_type_x400); EMAIL_TYPE_MAP.put(EmailType.X400, R.string.x400);
if (EMAIL_TYPE_MAP.size() != EmailType.values().length) if (EMAIL_TYPE_MAP.size() != EmailType.values().length)
throw new IllegalStateException(); throw new IllegalStateException();
} }
......
...@@ -107,7 +107,7 @@ public class AccountManager implements OnLoadListener, OnWipeListener { ...@@ -107,7 +107,7 @@ public class AccountManager implements OnLoadListener, OnWipeListener {
enabledAccounts = new HashSet<>(); enabledAccounts = new HashSet<>();
savedStatuses = new ArrayList<>(); savedStatuses = new ArrayList<>();
authorizationErrorProvider = new BaseAccountNotificationProvider<>(R.drawable.ic_stat_error); authorizationErrorProvider = new BaseAccountNotificationProvider<>(R.drawable.ic_stat_error);
passwordRequestProvider = new BaseAccountNotificationProvider<>(R.drawable.ic_stat_ic_add_circle); passwordRequestProvider = new BaseAccountNotificationProvider<>(R.drawable.ic_stat_add_circle);
colors = application.getResources().getIntArray(R.array.account_color_names).length; colors = application.getResources().getIntArray(R.array.account_color_names).length;
......
...@@ -50,11 +50,9 @@ public enum AccountProtocol { ...@@ -50,11 +50,9 @@ public enum AccountProtocol {
*/ */
public int getNameResource() { public int getNameResource() {
if (this == xmpp) if (this == xmpp)
return R.string.account_type_names_xmpp; return R.string.xmpp;
else if (this == gtalk) else if (this == gtalk)
return R.string.account_type_names_gtalk; return R.string.google_talk;
else if (this == wlm)
return R.string.account_type_names_wlm;
else else
throw new UnsupportedOperationException(); throw new UnsupportedOperationException();
} }
...@@ -64,11 +62,9 @@ public enum AccountProtocol { ...@@ -64,11 +62,9 @@ public enum AccountProtocol {
*/ */
public int getShortResource() { public int getShortResource() {
if (this == xmpp) if (this == xmpp)
return R.string.account_protocol_xmpp_title; return R.string.xmpp;
else if (this == gtalk) else if (this == gtalk)
return R.string.account_protocol_gtalk_title; return R.string.google_talk;
else if (this == wlm)
return R.string.account_protocol_wlm_title;
else else
throw new UnsupportedOperationException(); throw new UnsupportedOperationException();
} }
......
...@@ -150,7 +150,7 @@ public class MessageArchiveManager implements OnPacketListener, ...@@ -150,7 +150,7 @@ public class MessageArchiveManager implements OnPacketListener,
modificationRequests = new NestedMap<Boolean>(); modificationRequests = new NestedMap<Boolean>();
chatStorages = new NestedNestedMaps<String, ChatStorage>(); chatStorages = new NestedNestedMaps<String, ChatStorage>();
availableArchiveRequestProvider = new BaseAccountNotificationProvider<AvailableArchiveRequest>( availableArchiveRequestProvider = new BaseAccountNotificationProvider<AvailableArchiveRequest>(
R.drawable.ic_stat_ic_help_black); R.drawable.ic_stat_help);
} }
public static MessageArchiveManager getInstance() { public static MessageArchiveManager getInstance() {
......
...@@ -67,7 +67,7 @@ public class MUCManager implements OnLoadListener, OnPacketListener { ...@@ -67,7 +67,7 @@ public class MUCManager implements OnLoadListener, OnPacketListener {
private MUCManager() { private MUCManager() {
inviteProvider = new EntityNotificationProvider<RoomInvite>( inviteProvider = new EntityNotificationProvider<RoomInvite>(
R.drawable.ic_stat_ic_add_circle); R.drawable.ic_stat_add_circle);
authorizationErrorProvider = new EntityNotificationProvider<RoomAuthorizationError>( authorizationErrorProvider = new EntityNotificationProvider<RoomAuthorizationError>(
R.drawable.ic_stat_error); R.drawable.ic_stat_error);
} }
......
...@@ -116,8 +116,8 @@ public class OTRManager implements OtrEngineHost, OtrEngineListener, ...@@ -116,8 +116,8 @@ public class OTRManager implements OtrEngineHost, OtrEngineListener,
private final ExecutorService keyPairGenerator; private final ExecutorService keyPairGenerator;
private OTRManager() { private OTRManager() {
smRequestProvider = new EntityNotificationProvider<>(R.drawable.ic_stat_ic_help_black); smRequestProvider = new EntityNotificationProvider<>(R.drawable.ic_stat_help);
smProgressProvider = new EntityNotificationProvider<>(R.drawable.ic_stat_ic_play_circle_fill); smProgressProvider = new EntityNotificationProvider<>(R.drawable.ic_stat_play_circle_fill);
smProgressProvider.setCanClearNotifications(false); smProgressProvider.setCanClearNotifications(false);
fingerprints = new NestedNestedMaps<>(); fingerprints = new NestedNestedMaps<>();
actives = new NestedMap<>(); actives = new NestedMap<>();
......
...@@ -79,7 +79,7 @@ public class PresenceManager implements OnArchiveModificationsReceivedListener, ...@@ -79,7 +79,7 @@ public class PresenceManager implements OnArchiveModificationsReceivedListener,
private PresenceManager() { private PresenceManager() {
subscriptionRequestProvider = new EntityNotificationProvider<SubscriptionRequest>( subscriptionRequestProvider = new EntityNotificationProvider<SubscriptionRequest>(
R.drawable.ic_stat_ic_add_circle); R.drawable.ic_stat_add_circle);
requestedSubscriptions = new HashMap<String, HashSet<String>>(); requestedSubscriptions = new HashMap<String, HashSet<String>>();
presenceContainers = new NestedMap<ResourceContainer>(); presenceContainers = new NestedMap<ResourceContainer>();
readyAccounts = new ArrayList<String>(); readyAccounts = new ArrayList<String>();
......
/** /**
* Copyright (c) 2013, Redsolution LTD. All rights reserved. * Copyright (c) 2013, Redsolution LTD. All rights reserved.
* * <p/>
* This file is part of Xabber project; you can redistribute it and/or * This file is part of Xabber project; you can redistribute it and/or
* modify it under the terms of the GNU General Public License, Version 3. * modify it under the terms of the GNU General Public License, Version 3.
* * <p/>
* Xabber is distributed in the hope that it will be useful, but * Xabber is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of * WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See the GNU General Public License for more details. * See the GNU General Public License for more details.
* * <p/>
* You should have received a copy of the GNU General Public License, * You should have received a copy of the GNU General Public License,
* along with this program. If not, see http://www.gnu.org/licenses/. * along with this program. If not, see http://www.gnu.org/licenses/.
*/ */
package com.xabber.android.ui.preferences; package com.xabber.android.ui;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.content.pm.PackageInfo; import android.content.pm.PackageInfo;
import android.content.pm.PackageManager; import android.content.pm.PackageManager;
import android.net.Uri;
import android.os.Bundle; import android.os.Bundle;
import android.support.design.widget.CollapsingToolbarLayout;
import android.support.v4.app.NavUtils; import android.support.v4.app.NavUtils;
import android.support.v7.widget.Toolbar; import android.support.v7.widget.Toolbar;
import android.text.method.LinkMovementMethod; import android.text.method.LinkMovementMethod;
import android.view.MenuItem; import android.view.View;
import android.widget.ImageView;
import android.widget.TextView; import android.widget.TextView;
import android.widget.Toast;
import com.bumptech.glide.Glide;
import com.xabber.android.R; import com.xabber.android.R;
import com.xabber.android.ui.helper.BarPainter;
import com.xabber.android.ui.helper.ManagedActivity; import com.xabber.android.ui.helper.ManagedActivity;
public class AboutViewer extends ManagedActivity { public class AboutViewer extends ManagedActivity implements View.OnClickListener {
public static Intent createIntent(Context context) { public static Intent createIntent(Context context) {
return new Intent(context, AboutViewer.class); return new Intent(context, AboutViewer.class);
...@@ -40,23 +44,44 @@ public class AboutViewer extends ManagedActivity { ...@@ -40,23 +44,44 @@ public class AboutViewer extends ManagedActivity {
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
setContentView(R.layout.about_viewer); setContentView(R.layout.about_viewer);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar_default); Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar_default);
setSupportActionBar(toolbar); toolbar.setNavigationIcon(R.drawable.ic_arrow_left_white_24dp);
toolbar.setNavigationOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
NavUtils.navigateUpFromSameTask(AboutViewer.this);
}
});
BarPainter barPainter = new BarPainter(this, toolbar); findViewById(R.id.about_github).setOnClickListener(this);
barPainter.setDefaultColor(); findViewById(R.id.about_twitter).setOnClickListener(this);
findViewById(R.id.about_redsolution).setOnClickListener(this);
findViewById(R.id.about_text_xmpp_protocol).setOnClickListener(this);
((TextView) findViewById(R.id.about_version)) ((TextView) findViewById(R.id.about_text_developers))
.setText(getString(R.string.about_version, getVersionName()));
((TextView) findViewById(R.id.about_license))
.setMovementMethod(LinkMovementMethod.getInstance()); .setMovementMethod(LinkMovementMethod.getInstance());
((TextView) findViewById(R.id.about_text_translators))
.setMovementMethod(LinkMovementMethod.getInstance());
((TextView) findViewById(R.id.about_text_license))
.setMovementMethod(LinkMovementMethod.getInstance());
CollapsingToolbarLayout collapsingToolbar =
(CollapsingToolbarLayout) findViewById(R.id.collapsing_toolbar);
collapsingToolbar.setTitle(getString(R.string.application_title_short));
((TextView) findViewById(R.id.about_version)).setText(getVersionName());
loadBackdrop();
}
getSupportActionBar().setDisplayHomeAsUpEnabled(true); private void loadBackdrop() {
final ImageView imageView = (ImageView) findViewById(R.id.backdrop);
Glide.with(this).load(R.drawable.about_backdrop).centerCrop().into(imageView);
} }
private String getVersionName() { private String getVersionName() {
try { try {
PackageInfo pInfo = getPackageManager().getPackageInfo(getPackageName(), 0); PackageInfo pInfo = getPackageManager().getPackageInfo(getPackageName(), 0);
return pInfo.versionName; return getString(R.string.application_title_full) + " " + pInfo.versionName;
} catch (PackageManager.NameNotFoundException e) { } catch (PackageManager.NameNotFoundException e) {
e.printStackTrace(); e.printStackTrace();
} }
...@@ -64,14 +89,30 @@ public class AboutViewer extends ManagedActivity { ...@@ -64,14 +89,30 @@ public class AboutViewer extends ManagedActivity {
} }
@Override @Override
public boolean onOptionsItemSelected(MenuItem item) { public void onClick(View v) {
switch (item.getItemId()) {
// Respond to the action bar's Up/Home button switch (v.getId()) {
case android.R.id.home: case R.id.about_redsolution:
NavUtils.navigateUpFromSameTask(this); sendUrlViewIntent(getString(R.string.about_redsolution_url));
return true; break;
case R.id.about_github:
sendUrlViewIntent(getString(R.string.about_xabber_github_url));
break;
case R.id.about_twitter:
sendUrlViewIntent(getString(R.string.about_xabber_twitter_url));
break;
case R.id.about_text_xmpp_protocol:
Toast.makeText(this, R.string.about_shameless_quote_from_wiki, Toast.LENGTH_SHORT).show();
break;
} }
return super.onOptionsItemSelected(item);
} }
private void sendUrlViewIntent(String url) {
Intent i = new Intent(Intent.ACTION_VIEW);
i.setData(Uri.parse(url));
startActivity(i);
}
} }
...@@ -86,7 +86,7 @@ public class ContactEditor extends ContactViewer implements Toolbar.OnMenuItemCl ...@@ -86,7 +86,7 @@ public class ContactEditor extends ContactViewer implements Toolbar.OnMenuItemCl
input.setText(rosterContact.getName()); input.setText(rosterContact.getName());
builder.setView(input); builder.setView(input);
builder.setPositiveButton(R.string.ok, new DialogInterface.OnClickListener() { builder.setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {
@Override @Override
public void onClick(DialogInterface dialog, int which) { public void onClick(DialogInterface dialog, int which) {
try { try {
...@@ -96,7 +96,7 @@ public class ContactEditor extends ContactViewer implements Toolbar.OnMenuItemCl ...@@ -96,7 +96,7 @@ public class ContactEditor extends ContactViewer implements Toolbar.OnMenuItemCl
} }
} }
}); });
builder.setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() { builder.setNegativeButton(android.R.string.cancel, new DialogInterface.OnClickListener() {
@Override @Override
public void onClick(DialogInterface dialog, int which) { public void onClick(DialogInterface dialog, int which) {
dialog.cancel(); dialog.cancel();
......
...@@ -62,9 +62,9 @@ import com.xabber.android.ui.dialog.AccountChooseDialogFragment; ...@@ -62,9 +62,9 @@ import com.xabber.android.ui.dialog.AccountChooseDialogFragment;
import com.xabber.android.ui.dialog.AccountChooseDialogFragment.OnChoosedListener; import com.xabber.android.ui.dialog.AccountChooseDialogFragment.OnChoosedListener;
import com.xabber.android.ui.dialog.ContactIntegrationDialogFragment; import com.xabber.android.ui.dialog.ContactIntegrationDialogFragment;
import com.xabber.android.ui.dialog.StartAtBootDialogFragment; import com.xabber.android.ui.dialog.StartAtBootDialogFragment;
import com.xabber.android.ui.dialog.TranslationDialog;
import com.xabber.android.ui.helper.BarPainter; import com.xabber.android.ui.helper.BarPainter;
import com.xabber.android.ui.helper.ManagedActivity; import com.xabber.android.ui.helper.ManagedActivity;
import com.xabber.android.ui.preferences.AboutViewer;
import com.xabber.android.ui.preferences.AccountEditor; import com.xabber.android.ui.preferences.AccountEditor;
import com.xabber.android.ui.preferences.AccountList; import com.xabber.android.ui.preferences.AccountList;
import com.xabber.android.ui.preferences.PreferenceEditor; import com.xabber.android.ui.preferences.PreferenceEditor;
...@@ -73,6 +73,7 @@ import com.xabber.xmpp.uri.XMPPUri; ...@@ -73,6 +73,7 @@ import com.xabber.xmpp.uri.XMPPUri;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collection; import java.util.Collection;
import java.util.Locale;
/** /**
* Main application activity. * Main application activity.
...@@ -310,6 +311,14 @@ public class ContactList extends ManagedActivity implements OnAccountChangedList ...@@ -310,6 +311,14 @@ public class ContactList extends ManagedActivity implements OnAccountChangedList
} }
if (Application.getInstance().doNotify()) { if (Application.getInstance().doNotify()) {
if (!SettingsManager.isTranslationSuggested()) {
Locale currentLocale = getResources().getConfiguration().locale;
if (!currentLocale.getLanguage().equals("en") && !getResources().getBoolean(R.bool.is_translated)) {
new TranslationDialog().show(getFragmentManager(), "TRANSLATION_DIALOG");
SettingsManager.setTranslationSuggested();
}
}
if (SettingsManager.bootCount() > 2 && !SettingsManager.connectionStartAtBoot() if (SettingsManager.bootCount() > 2 && !SettingsManager.connectionStartAtBoot()
&& !SettingsManager.startAtBootSuggested()) { && !SettingsManager.startAtBootSuggested()) {
StartAtBootDialogFragment.newInstance().show(getFragmentManager(), "START_AT_BOOT"); StartAtBootDialogFragment.newInstance().show(getFragmentManager(), "START_AT_BOOT");
......
...@@ -207,7 +207,7 @@ public class ContactVcardViewerFragment extends Fragment implements OnVCardListe ...@@ -207,7 +207,7 @@ public class ContactVcardViewerFragment extends Fragment implements OnVCardListe
xmppItems.removeAllViews(); xmppItems.removeAllViews();
View jabberIdView = createItemView(xmppItems, getString(R.string.contact_viewer_jid), View jabberIdView = createItemView(xmppItems, getString(R.string.jabber_id),
bareAddress, R.drawable.ic_vcard_xmpp_24dp); bareAddress, R.drawable.ic_vcard_xmpp_24dp);
if (jabberIdView != null) { if (jabberIdView != null) {
......
package com.xabber.android.ui.dialog;
import android.app.AlertDialog;
import android.app.Dialog;
import android.app.DialogFragment;
import android.content.DialogInterface;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import com.xabber.android.R;
public class TranslationDialog extends DialogFragment implements DialogInterface.OnClickListener {
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
return new AlertDialog.Builder(getActivity())
.setTitle(R.string.translation_unavailable)
.setMessage(R.string.translation_unavailable_message)
.setNegativeButton(R.string.help_translate_xabber, this)
.setPositiveButton(android.R.string.no, this)
.setCancelable(false)
.create();
}
@Override
public void onClick(DialogInterface dialog, int which) {
switch (which) {
case Dialog.BUTTON_NEGATIVE:
Intent i = new Intent(Intent.ACTION_VIEW);
i.setData(Uri.parse(getString(R.string.translation_url)));
startActivity(i);
break;
}
}
}
...@@ -82,7 +82,7 @@ public class AccountEditorFragment extends BaseSettingsFragment ...@@ -82,7 +82,7 @@ public class AccountEditorFragment extends BaseSettingsFragment
if (getString(R.string.account_proxy_type_key).equals(key)) { if (getString(R.string.account_proxy_type_key).equals(key)) {
boolean enabled = !getString(R.string.account_proxy_type_none).equals(newValue) boolean enabled = !getString(R.string.account_proxy_type_none).equals(newValue)
&& !getString(R.string.account_proxy_type_orbot).equals(newValue); && !getString(R.string.orbot).equals(newValue);
for (int id : new Integer[]{R.string.account_proxy_host_key, for (int id : new Integer[]{R.string.account_proxy_host_key,
R.string.account_proxy_port_key, R.string.account_proxy_user_key, R.string.account_proxy_port_key, R.string.account_proxy_user_key,
R.string.account_proxy_password_key,}) { R.string.account_proxy_password_key,}) {
......
This diff is collapsed.
...@@ -13,113 +13,114 @@ ...@@ -13,113 +13,114 @@
along with this program. If not, see http://www.gnu.org/licenses/. along with this program. If not, see http://www.gnu.org/licenses/.
--> -->
<LinearLayout <ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent">
android:padding="16dp"
>
<TextView <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:text="@string/account_type"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" /> android:layout_height="match_parent"
<Spinner
android:id="@+id/account_type"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="4dip"
android:paddingBottom="8dip"
android:prompt="@string/account_type"
/>
<LinearLayout
android:id="@+id/auth_panel"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" android:orientation="vertical"
android:descendantFocusability="beforeDescendants" android:padding="16dp">
android:focusableInTouchMode="true" >
<TextView <TextView
android:text="@string/account_user_name"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" /> android:layout_height="wrap_content"
android:text="@string/account_type" />
<EditText <Spinner
android:id="@+id/account_user_name" android:id="@+id/account_type"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:inputType="textEmailAddress" android:paddingBottom="8dip"
android:singleLine="true" android:paddingTop="4dip"
android:text="" android:prompt="@string/account_type"
android:hint=""
/> />
<TextView
android:text="@string/account_password"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<EditText <LinearLayout
android:id="@+id/account_password" android:id="@+id/auth_panel"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:inputType="textPassword" android:descendantFocusability="beforeDescendants"
android:singleLine="true" android:focusableInTouchMode="true"
android:text="" android:orientation="vertical">
/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/account_user_name" />
<EditText
android:id="@+id/account_user_name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint=""
android:inputType="textEmailAddress"
android:singleLine="true"
android:text="" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/account_password" />
<EditText
android:id="@+id/account_password"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textPassword"
android:singleLine="true"
android:text="" />
<CheckBox
android:id="@+id/store_password"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:checked="true"
android:text="@string/account_store_password" />
</LinearLayout>
<CheckBox <CheckBox
android:id="@+id/store_password" android:id="@+id/use_orbot"
android:layout_width="match_parent" android:layout_width="fill_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:checked="true" android:checked="false"
android:text="@string/account_store_password" /> android:text="@string/account_use_orbot" />
</LinearLayout> <CheckBox
android:id="@+id/register_account"
<CheckBox android:layout_width="fill_parent"
android:id="@+id/use_orbot" android:layout_height="wrap_content"
android:layout_width="fill_parent" android:checked="false"
android:layout_height="wrap_content" android:text="@string/account_register" />
android:checked="false"
android:text="@string/account_use_orbot" />
<CheckBox
android:id="@+id/register_account"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:checked="false"
android:text="@string/account_register" />
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/confirm_password_layout"
android:visibility="gone">
<TextView <LinearLayout
android:text="@string/confirm_password" android:id="@+id/confirm_password_layout"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content"/> android:layout_height="wrap_content"
android:orientation="vertical"
android:visibility="gone">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/confirm_password" />
<EditText
android:id="@+id/confirm_password"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textPassword"
android:singleLine="true"
android:text="" />
</LinearLayout>
<EditText <TextView
android:id="@+id/confirm_password" android:id="@+id/account_help"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="match_parent"
android:inputType="textPassword" android:autoLink="all" />
android:singleLine="true"
android:text=""/>
</LinearLayout> </LinearLayout>
</ScrollView>
<TextView
android:id="@+id/account_help"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:autoLink="all"
/>
</LinearLayout>
...@@ -31,7 +31,7 @@ ...@@ -31,7 +31,7 @@
android:id="@+id/muc_server" android:id="@+id/muc_server"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:hint="@string/muc_server_hint" android:hint="@string/conference_jabber_org"
android:inputType="textEmailAddress" android:inputType="textEmailAddress"
android:singleLine="true" /> android:singleLine="true" />
......
...@@ -34,7 +34,7 @@ ...@@ -34,7 +34,7 @@
android:id="@+id/contact_user" android:id="@+id/contact_user"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:hint="user@domain.name" android:hint="@string/user_domain_name"
android:singleLine="true" android:singleLine="true"
android:inputType="textEmailAddress" android:inputType="textEmailAddress"
/> />
......
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2006 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<!-- Layout for a Preference in a PreferenceActivity. The
Preference is able to place a specific widget for its particular
type in the "widget_frame" layout. -->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:minHeight="?android:attr/listPreferredItemHeight"
android:paddingRight="?android:attr/scrollbarSize">
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="15dip"
android:layout_marginRight="6dip"
android:layout_marginTop="6dip"
android:layout_marginBottom="6dip"
android:layout_weight="1">
<TextView android:id="@android:id/title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:singleLine="true"
android:textAppearance="?android:attr/textAppearanceLarge"
/>
<ProgressBar android:id="@android:id/progress"
style="?android:attr/progressBarStyleHorizontal"
android:minHeight="10dip"
android:maxHeight="10dip"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@android:id/title"
android:layout_alignLeft="@android:id/title"
android:paddingTop="5dip"
android:indeterminate="true"
android:progress="0"
android:max="50000"
/>
<TextView android:id="@+android:id/summary"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@android:id/progress"
android:layout_alignLeft="@android:id/progress"
android:textAppearance="?android:attr/textAppearanceSmall"
android:textColor="?android:attr/textColorSecondary"
android:maxLines="4" />
</RelativeLayout>
<!-- Preference should place its actual preference widget here. -->
<LinearLayout android:id="@+android:id/widget_frame"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:gravity="center_vertical"
android:orientation="vertical" />
</LinearLayout>
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
xmlns:app="http://schemas.android.com/apk/res-auto"> xmlns:app="http://schemas.android.com/apk/res-auto">
<item android:id="@+id/action_join_conference" <item android:id="@+id/action_join_conference"
android:icon="@drawable/ic_group_white_24dp" android:icon="@drawable/ic_group_add_white_24dp"
android:orderInCategory="80" android:orderInCategory="80"
android:title="@string/muc_join" android:title="@string/muc_join"
android:visible="false" android:visible="false"
...@@ -39,7 +39,6 @@ ...@@ -39,7 +39,6 @@
/> />
<item android:id="@+id/action_show_history" <item android:id="@+id/action_show_history"
android:icon="@drawable/ic_forum_white_24dp"
android:orderInCategory="130" android:orderInCategory="130"
android:title="@string/show_history" android:title="@string/show_history"
app:showAsAction="never" app:showAsAction="never"
......
...@@ -17,7 +17,7 @@ ...@@ -17,7 +17,7 @@
/> />
<item android:id="@+id/action_join_conference" <item android:id="@+id/action_join_conference"
android:icon="@drawable/ic_group_white_24dp" android:icon="@drawable/ic_group_add_white_24dp"
android:orderInCategory="120" android:orderInCategory="120"
android:title="@string/muc_add" android:title="@string/muc_add"
app:showAsAction="never" app:showAsAction="never"
......
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"> <menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/action_select_status" <item android:id="@+id/action_select_status"
android:title="@string/select_status" /> android:title="@string/status_editor" />
<item android:id="@+id/action_edit_status" <item android:id="@+id/action_edit_status"
android:title="@string/edit_status" /> android:title="@string/edit_status" />
......
<?xml version="1.0" encoding="utf-8"?>
<!--Generated by crowdin.com-->
<resources>
<string name="account_compression">ضغط البيانات</string>
<string name="account_enabled">مفعّل</string>
<string name="account_host">المضيف</string>
<string name="account_password">كلمة المرور</string>
<string name="confirm_password">تأكيد كلمة المرور</string>
<string name="account_port">منفذ</string>
<string name="account_priority">الأولوية</string>
<string name="account_resource">المورد</string>
<string name="account_server_name">خادم</string>
<string name="account_type">نوع الحساب</string>
<string name="account_type_hints_gtalk">معرف gmail.com أو نطاق تطبيقات Google</string>
<string name="account_type_helps_gtalk">إن لم يكن لديك حساب Google بإمكانك إنشاء حساب في http://mail.google.com\nأيضاً يمكنك استخدام your_user_name@your_google_domain</string>
<string name="account_type_helps_xmpp">لمعرفة المزيد عن XMPP (Jabber) الرابط: https://xmpp.org</string>
<string name="account_user_name">اسم المستخدم</string>
<string name="EMPTY_SERVER_NAME">لم يتم تحديد اسم الخادم</string>
<string name="EMPTY_USER_NAME">لم يتم تحديد اسم المستخدم</string>
<string name="CONFIRM_PASSWORD">كلمات المرور غير متطابقة</string>
<string name="account_archive_mode">الاحتفاط بسجل المراسلات</string>
<string name="account_archive_mode_available">على الخادم إذا كان متوفراً</string>
<string name="account_archive_mode_dont_store">عدم الاحتفاظ</string>
<string name="account_archive_mode_local">محلياً على الجهاز</string>
<string name="account_archive_mode_server">على الخادم</string>
<string name="account_archive_mode_unread">محلياً فقط للرسائل الغير المرسلة أو الغير مقروءة</string>
<string name="account_compression_summary">علِّم لتفعيل ضغط البيانات</string>
<string name="account_custom">تخصيص المضيف</string>
<string name="account_custom_summary">استخدم إعداد مخصص للمضيف بدلاً من سجل SRV</string>
<string name="account_enabled_summary">علِّم لتفعيل الحساب</string>
<string name="account_invalid_port">المنفذ يجب أن يكون رقماً (الافتراضي: 5222)</string>
<string name="account_invalid_priority">قيمة الأولوية يجب أن تكون بين -128 و 128 (الافتراضي: 10)</string>
<string name="account_oauth">تخويل</string>
<string name="account_oauth_invalidated">غير مخول</string>
<string name="account_oauth_summary">OAuth ضبط</string>
<string name="account_proxy_host">مضيف الوسيط</string>
<string name="account_proxy_password">كلمة المرور للوسيط</string>
<string name="account_proxy_port">منفذ الوسيط</string>
<string name="account_proxy_type">نوع الوسيط</string>
<string name="account_proxy_type_none">بلا وسيط</string>
<string name="account_proxy_user">اسم المستخدم للوسيط</string>
<string name="account_sasl">استخدم تخويل SASL (موصى به)</string>
<string name="account_sasl_summary">عطل الخيار للخوادم القديمة جداً</string>
<string name="account_store_password">الاحتفاظ بكلمة المرور</string>
<string name="account_store_password_summary">تعطيل هذه الخاصية لطلب كلمة المرور في كل مرة تدخل فيها على الحساب</string>
<string name="account_syncable">دمج في حسابات النظام</string>
<string name="account_syncable_summary">إظهار الأسماء من هذا الحساب في قائمة اتصال الهاتف</string>
<string name="account_tls_enable">تفعيل TLS</string>
<string name="account_tls_enable_summary">استخدم تشفير TLS إذا أمكن للاتصال بالخادم</string>
<string name="account_tls_legacy">Legacy SSL</string>
<string name="account_tls_legacy_summary">استخدم تشفير legacy SSL للاتصال بالخادم</string>
<string name="account_tls_mode">استخدام TLS/SSL</string>
<string name="account_tls_require">استلزام TLS</string>
<string name="account_tls_require_summary">استلزم تشفير TLS للاتصال بالخادم</string>
<string name="account_use_orbot">اتصل عبر شبكة اخفاء الهوية TOR و تفعيل بروتوكول التشفير TLS\nلا ينصح به لحسابات Google Talk</string>
<string name="confirm_cancellation">متأكد أنك تريد تجاهل كل التغييرات؟</string>
<string name="INCORRECT_USER_NAME">اسم المستخدم غير صحيح. أنظر للنص المساعد بالأسفل لمزيد من التفاصيل.</string>
<string name="orbot_required_message">كي تستخدم شبكة TOR يجب تثبيت وتفعيل برنامج Orbot. هل ترغيب في تثبيته من المتجر؟</string>
<string name="orbot_required_title">تثبيت Orbot?</string>
<string name="ACCOUNT_REGISTER_FAILED">فشل تسجيل الحساب على الخادم.</string>
<string name="account_color">لون الحساب</string>
<string name="account_color_name_green">أخضر</string>
<string name="account_color_name_orange">برتقالي</string>
<string name="account_color_name_red">أحمر</string>
<string name="account_color_name_blue">أزرق</string>
<string name="account_color_name_indigo">نيلي</string>
<string name="account_color_name_teal">أزرق مخضر</string>
<string name="account_color_name_blue_grey">أزرق رمادي</string>
<string name="account_color_name_cyan">سماوي</string>
</resources>
<?xml version="1.0" encoding="utf-8"?>
<!--Generated by crowdin.com-->
<resources>
<string name="account_delete_confirm">هل حقاً تريد حذف الحساب %s؟\n(لن يتم حذفه من الخادم، فقط من Xabber)</string>
<string name="account_add">أضف حساب</string>
<string name="account_register">سجل حساب جديد</string>
<string name="account_delete">حذف الحساب</string>
<string name="account_editor">تعديل الحساب</string>
<string name="account_state_registration">جارِ التسجيل</string>
<string name="account_state_authentication">جارِ التخويل</string>
<string name="account_state_connected">متصل</string>
<string name="account_state_connecting">جارِ الاتصال</string>
<string name="account_state_disconnecting">جارِ قطع الاتصال</string>
<string name="account_state_offline">غير متصل</string>
<string name="account_state_waiting">في انتظار إعادة الاتصال</string>
</resources>
<?xml version="1.0" encoding="utf-8"?>
<!--Generated by crowdin.com-->
<resources>
<string name="action_status_text">%1$s غير حالته: %2$s</string>
<string name="action_status_text_none">%1$s مسح نص الحالة</string>
<string name="action_join">%1$s انضم للاجتماع</string>
<string name="action_kick">%1$s تم طرده</string>
<string name="account_is_offline">أنت حالياً غير متصل. سيتم تسليم الرسائل التي ترسلها عندما تتصل مرة أخرى.</string>
<string name="chat_delay">أرسل في %s</string>
<string name="chat_input_hint">أكتب رسالتك هنا</string>
<string name="chat_send">أرسل</string>
<string name="clear_history">مسح سجل الرسائل</string>
<string name="contact_is_offline">المستلم غير متصل. سيتم تسليم الرسائل التي ترسلها عندما يعاود الاتصال.</string>
<string name="ENTRY_IS_NOT_AVAILABLE">طرف الاتصال غير متاح</string>
<string name="FILE_NOT_FOUND">ملف غير موجود</string>
<string name="message_copy">نسخ</string>
<string name="message_quote">اقتباس</string>
<string name="message_remove">احذف من سجل الرسائل</string>
<string name="message_repeat">أعد محاولة الإرسال</string>
<string name="save_history">حفظ السجل محلياً\nتخزين سجل الرسائل محلياً</string>
<string name="show_history">إظهار سجل الرسائل</string>
<string name="action_attention_called">تم إرسال طلب انتباه</string>
<string name="action_attention_requested">تم طلب انتباهك</string>
<string name="action_ban">%1$s تم حظره</string>
<string name="action_ban_by">%1$s تم حظره بواسطة %2$s</string>
<string name="action_invite_error">%s لم يتلق الدعوة</string>
<string name="action_invite_sent">تم إرسال الدعوة إلى %s</string>
<string name="action_join_complete">انضممت للمحادثة كـ: %1$s</string>
<string name="action_join_complete_to">انضممت لمحادثة %1$s</string>
<string name="action_kick_by">%1$s تم طرده بواسطة %2$s</string>
<string name="action_leave">%1$s غادر المحادثة</string>
<string name="action_nickname">%1$s غير كنيته إلى %2$s</string>
<string name="action_otr_encryption">تم التشفير لكن لم يتم التحقق من الطرف الآخر. يمكنك التحقق من الطرف الآخر من خلال قائمة تشفير OTR.</string>
<string name="action_otr_error">خطأ OTR: %1$s</string>
<string name="action_otr_finish">الطرف الآخر غادر المحادثة المشفرة. ينبغي أن تقوم بالمثل أو أن تعيد تشغيل المحادثة المشفرة.</string>
<string name="action_otr_finished_session">لم يتم إرسال رسالتك. غادر المحادثة المشفرة أو أعد تشغيلها.</string>
<string name="action_otr_plain">لقد غادرت المحادثة المشفرة</string>
<string name="action_otr_smp_cheated">الطرف الآخر حاول أن يخادع أثناء عملية التحقق</string>
<string name="action_otr_smp_failed">فشلت عملية التحقق</string>
<string name="action_otr_smp_not_approved">تم التحقق من إجابتك للسؤال السري. عليك أن تسأل سؤال سري للطرف الآخر أو التحقق من كلمة السر.</string>
<string name="action_otr_smp_unverified">فشل التحقق</string>
<string name="action_otr_smp_verified">تمت عملية التحقق بنجاج</string>
<string name="action_otr_unreadable">الرسالة المشفرة المستقبلة غير مقروؤة</string>
<string name="action_otr_verified">التشفير مفعّل</string>
<string name="action_status_available">%1$s متصل الآن</string>
<string name="action_status_away">%1$s متغيب</string>
<string name="action_status_chat">%1$s متاح للمحادثة</string>
<string name="action_status_dnd">%1$s يطلب عدم الإزعاج</string>
<string name="action_status_unavailable">%1$s غير متاح</string>
<string name="action_status_xa">%1$s متغيب لفترة طويلة</string>
<string name="action_subject">%1$s غير الموضوع إلى: %2$s</string>
<string name="ATTENTION_IS_NOT_SUPPORTED">طرف الاتصال لا يدعم أو عطل خاصية طلب الانتباه</string>
<string name="call_attention">طلب انتباه</string>
<string name="chat_settings">خيارات المحادثة</string>
<string name="chat_state_composing">يقوم بالكتابة&#8230;</string>
<string name="chat_state_paused">كتب نصاً&#8230;</string>
<string name="chat_typed">كُتبت في %s</string>
<string name="export_chat">تصدير المحادثة</string>
<string name="export_chat_done">تم تصدير سجل المحادثة لبطاقة الذاكرة SD</string>
<string name="export_chat_mask">%2$s إلى %1$s.html</string>
<string name="export_chat_send">أرسل بعد التصدير</string>
<string name="export_chat_title">أدخل اسم الملف</string>
<string name="muc_invite">دعوة للاجتماع</string>
<string name="muc_is_unavailable">لن تيم تسليم رسائلك. برجاء الانضمام للاجتماع</string>
<string name="occupant_list">قائمة المجتمعين</string>
<string name="otr_encryption">تشفير OTR</string>
<string name="otr_end">إيقاف التشفير</string>
<string name="otr_refresh">إعادة تشغيل التشفير</string>
<string name="otr_request">تم طلب تشفير المحادثة باستخدام OTR لكن ليس لديك أداة تدعمها. استخدم Pidgin أو Gajim أو Adium لأنظمة الحاسوب، أو Xabber أو ChatSecure لأنظمة Android.\nتصفح http://otr.cypherpunks.ca/ لمزيد من المعلومات.</string>
<string name="otr_start">ابدأ التشفير</string>
<string name="otr_unencrypted_message">هذه الرسالة لم تيم تشفيرها</string>
<string name="otr_unreadable_message">الرسالة المشفرة التي أرسلتها ليست مقروؤة لدى الطرف الآخر</string>
<string name="otr_verification">تحقق OTR</string>
<string name="otr_verify_fingerprint">تحقق بالبصمة</string>
<string name="otr_verify_question">تحقق بالسؤال السري</string>
<string name="otr_verify_secret">تحقق بكلمة سر</string>
<string name="recent_chats">المحادثات الأخيرة</string>
<string name="under_construction">قيد الإنشاء</string>
<string name="under_construction_message">هذه الشاشة قيد الإنشاء</string>
<string name="chat_events_show_text_global">استخدم الإعدادات العامة</string>
<string name="chat_events_show_text_always">إظهار نص الرسالة</string>
<string name="chat_events_show_text_never">إخفاء نص الرسالة</string>
</resources>
<?xml version="1.0" encoding="utf-8"?>
<!--Generated by crowdin.com-->
<resources>
<string name="contact_account">حساب</string>
<string name="contact_group">اختر المجموعات</string>
<string name="contact_name">المعرف (اختياري)</string>
<string name="contact_subscribe_confirm">مشاركة حالة الحساب %1$s مع طرف الاتصال؟</string>
<string name="contact_user">معرف طرف الاتصال</string>
<string name="ENTRY_IS_NOT_FOUND">لم يتم العثور على طرف الاتصال</string>
<string name="group_is_empty">حدد اسم المجموعة</string>
<string name="group_name">اسم المجموعة</string>
<string name="choose_account">اختر حساب</string>
<string name="EMPTY_ACCOUNT">برجاء اختيار حساب</string>
<string name="add_new_group">أضف مجموعة جديدة&#8230;</string>
<string name="accept_contact">تصريح</string>
<string name="decline_contact">إلغاء</string>
</resources>
<?xml version="1.0" encoding="utf-8"?>
<!--Generated by crowdin.com-->
<resources>
<string name="accept_subscription">قبول طرف الاتصال</string>
<string name="account_reconnect">أعد الاتصال</string>
<string name="application_action_disabled">إدارة الحسابات</string>
<string name="application_action_empty">إضافة حساب</string>
<string name="application_action_no_contacts">أضف طرف اتصال</string>
<string name="application_action_no_online">إظهار الأطراف الغير متصلة</string>
<string name="application_action_offline">كن متصلاً</string>
<string name="application_action_waiting">أعد الاتصال</string>
<string name="application_state_connecting">جارِ الاتصال&#8230;</string>
<string name="application_state_disabled">حسابات غير مفعّلة</string>
<string name="application_state_empty">ليس لديك أي حسابات</string>
<string name="application_state_no_contacts">ليس لديك أطراف اتصال</string>
<string name="application_state_no_online">لا أحد متصل</string>
<string name="application_state_offline">لا حساب متصل</string>
<string name="application_state_roster">متصل.</string>
<string name="application_state_starting">جارِ تشغيل التطبيق&#8230; </string>
<string name="application_state_waiting">بانتظار الاتصال&#8230;</string>
<string name="chat_list">قائمة المحادثات</string>
<string name="chat_list_is_empty">لا توجد محادثات دائرة</string>
<string name="chat_viewer">محادثة</string>
<string name="close_chat">أغلق المحادثة</string>
<string name="CONNECTION_FAILED">خطأ في الاتصال</string>
<string name="contact_add">إضف طرف اتصال</string>
<string name="contact_delete">حذف</string>
<string name="contact_delete_confirm">هل حقاً تريد أن تحذف طرف الاتصال %1$s من حساب %2$s؟</string>
<string name="contact_list">قائمة الاتصال</string>
<string name="discard_subscription">رفض الاتصال</string>
<string name="exit">خروج</string>
<string name="group_active_chat">محادثات دائرة</string>
<string name="group_none">لا توجد مجموعات</string>
<string name="group_remove">حذف مجموعة</string>
<string name="group_remove_confirm">هل حقاً تريد حذف المجموعة %s؟ الأعضاء في تلك المجموعة سيظلون في قائمة الاتصال.</string>
<string name="group_rename">أعد تسمية المجموعة</string>
<string name="NO_SUCH_ACCOUNT">حساب غير موجود</string>
<string name="NOT_CONNECTED">لم يتم الاتصال</string>
<string name="request_subscription">طلب الاشتراك</string>
<string name="XMPP_EXCEPTION">خطأ في تدفق البيانات</string>
<string name="application_state_closing">حفظ التغييرات&#8230;\nسيتم إغلاق التطبيق قريباً.</string>
<string name="certificate_confirmation">%1$s.\nهل تثق تماماً بشهادة ببصمة sha1: %2$s؟ هل ترغب بألا يتم إخطارك حول هذه المشكلة مع تلك الشهادة؟</string>
<string name="certificate_details">\n\nأصدرت لـ:\nCommon Name (CN): %1$s\nOrganization (O): %2$s\nOrganizational Unit (OU): %3$s\nSerial Number: %4$s\n\nIssued by:\nCommon Name (CN): %5$s\nOrganization (O): %6$s\nOrganizational Unit (OU): %7$s\n\nسريان المفعول:\nصدرت في: %8$s\nتنتهي في: %9$s.</string>
<string name="certificate_invalid_chane">فشل التحقق من سلسلة التوقيع</string>
<string name="certificate_invalid_target">فشل التحقق من الهدف</string>
<string name="certificate_self_signed">شهادة موقعة ذاتياً</string>
<string name="certificate_show_details">تفاصيل ...</string>
<string name="close_chats">إنهاء جميع المحادثات</string>
<string name="contact_integration_suggest">هل تريد دمج Xabber في قائمة اتصالات النظام؟\nيمكن تغيير هذا الإعداد من \"الإعدادات\" → \"حسابات XMPP\" → حسابك → \"دمج في حسابات النظام\".\nتنبيه: قائمة اتصالات النظام قد تصبح أبطأ لبضع دقائق.</string>
<string name="group_room">اجتماعات</string>
<string name="OTR_ERROR">خطأ OTR</string>
<string name="select_contact">برجاء النقر لاختيار طرف اتصال</string>
<string name="show_offline_always">أظهر دائماً</string>
<string name="show_offline_never">لا تظهر نهائياً</string>
<string name="show_offline_normal">استخدام الإعدادات العامة</string>
<string name="show_offline_settings">إظهار الأطراف الغير متصلة</string>
<string name="start_at_boot_suggest">هل تريد تشغيل Xabber عند بدء نظام التشغيل؟\nيمكن تغيير هذا الإعداد من \"الإعدادات\" → \"إعدادات الاتصال\" → \"تشغيل عند بدء النظام\"</string>
<string name="contact_search_hint">بحث في أطراف الاتصال</string>
<string name="sender_is_you">أنت</string>
<string name="xmpp_accounts">حسابات XMPP</string>
</resources>
<?xml version="1.0" encoding="utf-8"?>
<!--Generated by crowdin.com-->
<resources>
<string name="contact_viewer">بيانات طرف الاتصال</string>
<string name="contact_viewer_client">عميل</string>
<string name="vcard_nick_name">كنية</string>
<string name="vcard_formatted_name">الاسم الكامل</string>
<string name="vcard_prefix_name">بادئة</string>
<string name="vcard_given_name">الاسم</string>
<string name="vcard_middle_name">الاسم الأوسط</string>
<string name="vcard_family_name">اللقب</string>
<string name="vcard_suffix_name">اللقب</string>
<string name="vcard_birth_date">تاريخ الميلاد</string>
<string name="vcard_url">الموقع</string>
<string name="vcard_organization">المؤسسة</string>
<string name="vcard_title">الوظيفة</string>
<string name="vcard_role">الدور</string>
<string name="vcard_other">معلومات أخرى</string>
<string name="vcard_categories">فئات</string>
<string name="vcard_decsription">وصف</string>
<string name="vcard_note">ملاحظات</string>
<string name="vcard_address">العنوان</string>
<string name="vcard_address_pobox">صندوق بريد</string>
<string name="vcard_address_extadr">العنوان</string>
<string name="vcard_address_street">شارع</string>
<string name="vcard_address_locality">المجاورة</string>
<string name="vcard_address_region">المنطقة</string>
<string name="vcard_address_pcode">الرمز البريدي</string>
<string name="vcard_address_ctry">البلد</string>
<string name="vcard_telephone">هاتف</string>
<string name="vcard_email">بريد الكتروني</string>
<string name="vcard_type">علامات</string>
<string name="vcard_type_home">البيت</string>
<string name="vcard_type_work">العمل</string>
<string name="vcard_type_postal">بريد</string>
<string name="vcard_type_parcel">طرد</string>
<string name="vcard_type_dom">محلي</string>
<string name="vcard_type_intl">دولي</string>
<string name="vcard_type_pref">مفضَّل</string>
<string name="vcard_type_voice">صوت</string>
<string name="vcard_type_fax">فاكس</string>
<string name="vcard_type_pager">جهاز النداء</string>
<string name="vcard_type_cell">خلوي</string>
<string name="vcard_type_video">مرئي</string>
<string name="vcard_type_modem">موديم</string>
<string name="vcard_type_msg">بريد صوتي</string>
<string name="vcard_type_internet">إنترنت</string>
<string name="please_wait">برجاء الانتظار ...</string>
<string name="unknown">مجهول</string>
<string name="edit_alias">تعديل المعرِّف</string>
<string name="edit_contact_groups">تعديل المجموعات</string>
<string name="remove_contact">حذف جهة اتصال</string>
</resources>
<?xml version="1.0" encoding="utf-8"?>
<!--Generated by crowdin.com-->
<resources>
<string name="otr_fingerprint_description">يمكن للطرف الآخر توفير بصمته لمقارنتها مع البصمة المحددة هنا للتأكد من هويته. يجب عدم استخدام XMPP لهذا الغرض.</string>
<string name="otr_is_verified">الطرف الآخر موثوق به</string>
<string name="otr_local_fingerprint">بصمتك:</string>
<string name="otr_remote_fingerprint">بصمة الطرف الآخر:</string>
<string name="otr_scan_fingerprint">مسح رمز QR لبصمة الطرف الآخر</string>
<string name="otr_show_fingerprint">إظهار رمز QR لبصمتك</string>
<string name="zxing_install_fail">لم يتمكن تثبيت تطبيق Barcode Scanner. برجاء تثبيته بمعرفتك.</string>
<string name="zxing_install_message">هذا التطبيق يتطلب تطبيق Barcode Scanner. هل تحب أن تثبته؟</string>
<string name="otr_copy_fingerprint">نسخ بصمتك للحافظة</string>
</resources>
<?xml version="1.0" encoding="utf-8"?>
<!--Generated by crowdin.com-->
<resources>
<string name="EMPTY_NICK_NAME">الكنية غير محددة</string>
<string name="EMPTY_ROOM_NAME">الاجتماع غير محدد</string>
<string name="muc_join">انضم للاجتماع</string>
<string name="muc_nick">كنية</string>
<string name="muc_nick_hint">كنيتك بالاجتماع</string>
<string name="muc_password">كلمة المرور</string>
<string name="muc_password_hint">كلمة المرور غير مطلوبة</string>
<string name="muc_room">اجتماع</string>
<string name="muc_server">خادم الاجتماع</string>
<string name="NICK_ALREADY_USED">الكنية مستخدمة</string>
<string name="ALREADY_IN_PROGRESS">جارِ بالفعل</string>
<string name="ALREADY_JOINED">منضم بالفعل</string>
<string name="muc_add">أنشئ اجتماع</string>
<string name="muc_delete">حذف الاجتماع</string>
<string name="muc_delete_confirm">هل تريد حقاً أن تحذف الاجتماع %1$s من حساب %2$s?</string>
<string name="muc_edit">خيارات التخويل</string>
<string name="muc_invite_confirm">%2$s يدعوك أن تنضم للاجتماع %3$s. هل تنضم من حساب %1$s؟</string>
<string name="muc_invite_confirm_reason">%2$s يدعوك أن تنضم للاجتماع %3$s: %4$s. هل تنضم من حساب %1$s؟</string>
<string name="muc_leave">ترك الاجتماع</string>
<string name="muc_save">حفظ الاجتماع</string>
</resources>
<?xml version="1.0" encoding="utf-8"?>
<!--Generated by crowdin.com-->
<resources>
<string name="account_quantity_1">حساب</string>
<string name="account_quantity_2">حسابات</string>
<string name="account_quantity_5">-</string>
<string name="account_quantity_offline_1">حساب</string>
<string name="account_quantity_offline_2">حسابات</string>
<string name="account_quantity_offline_5">-</string>
<string name="AUTHENTICATION_FAILED">فشل التخويل</string>
<string name="chat_contact_quantity_1">طرف اتصال</string>
<string name="chat_contact_quantity_2">أطراف اتصال</string>
<string name="chat_contact_quantity_5">-</string>
<string name="chat_message_quantity_1">رسالة</string>
<string name="chat_message_quantity_2">رسائل</string>
<string name="chat_message_quantity_5">-</string>
<string name="chat_status">%1$d %2$s من %3$d %4$s</string>
<string name="chat_messages_from_contact">%1$d %2$s من %3$s</string>
<string name="chat_contact_and_message">%1$s: %2$s</string>
<string name="connection_state_connected_1">%1$d من %2$d %3$s متصل</string>
<string name="connection_state_connected_2">%1$d من %2$d %3$s متصلة</string>
<string name="connection_state_connected_5">-</string>
<string name="connection_state_connecting_1">%1$d من %2$d %3$s يجري الاتصال</string>
<string name="connection_state_connecting_2">%1$d من %2$d %3$s تجري الاتصال</string>
<string name="connection_state_connecting_5">-</string>
<string name="connection_state_waiting_1">%1$d من %2$d %3$s بانتظار الاتصال</string>
<string name="connection_state_waiting_2">%1$d من %2$d %3$s بانتظار الاتصال</string>
<string name="connection_state_waiting_5">-</string>
<string name="connection_state_offline">%1$d %2$s غير متصل</string>
<string name="archive_available_request_message">هل تريد حفظ سجل الرسائل على الخادم؟\nهذا يمكن Xabber من تحميل سجل الرسائل من كل الأجهزة التي تستعمل هذا الحساب.\nتلك الخاصية ستستهلك كمية أكثر من البيانات وستقلل سرعة الاتصال بشكل طفيف.\nتحذير: كل السجل سيُحذف من على جهازك.</string>
<string name="archive_available_request_title">تفعيل أرشفة الرسائل؟</string>
<string name="INVALID_CERTIFICATE">شهادة غير صالحة</string>
<string name="muc_invite_message">هل ترغب في الانضمام للاجتماع؟</string>
<string name="otr_verification_in_progress">اضغط هنا للإلغاء.</string>
<string name="PASSWORD_REQUIRED">مطلوب كلمة المرور</string>
<string name="pay_attention">انتبه</string>
<string name="subscription_request_message">طلب تصريح</string>
</resources>
<?xml version="1.0" encoding="utf-8"?>
<!--Generated by crowdin.com-->
<resources>
<string name="phrase_add">أضف عبارة</string>
<string name="phrase_delete">حذف عبارة</string>
<string name="phrase_delete_confirm">هل ترغب حقاً في حذف العبارة %s؟</string>
<string name="phrase_empty">&lt;أي نص&gt;</string>
<string name="phrase_group">نص المطابقة من مجموعة طرف الاتصال</string>
<string name="phrase_regexp">تعبير اعتيادي</string>
<string name="phrase_sound">الصوت\nاختر صوت للتنبيه</string>
<string name="phrase_text">البحث عن النص</string>
<string name="phrase_user">نص المطابقة من معرف Jabber لطرف الاتصال</string>
</resources>
<?xml version="1.0" encoding="utf-8"?>
<!--Generated by crowdin.com-->
<resources>
<string name="cache_clear">مسح البيانات\nمسح كل البيانات المخزنة على الجهاز. هذا قد يحرر بعض المساحة.</string>
<string name="cache_clear_warning">هل حقاً تريد حذف سجل المحادثات وكافة البيانات المحلية؟\nلن يتأثر الحساب ولا بيانات قائمة الاتصال. سيتم غلق التطبيق.</string>
<string name="chats_send_by_enter">أرسل بزر الإدخال\nيمكن إرسال الرسائل عند الضغط على مفتاح الإدخال</string>
<string name="connection_go_away">تغييب ذاتي\nتعيين حالة الغياب ذاتياً عند قفل الشاشة</string>
<string name="contacts_order">ترتيب أطراف الاتصال\nضبط كيفية ترتيب أطراف الاتصال</string>
<string name="contacts_order_alphabet">أبجدي</string>
<string name="contacts_order_status">بالحالة</string>
<string name="contacts_show_accounts">جمِّع حسب الحساب\nجمِّع الأطراف في قائمة الاتصال حسب الحساب</string>
<string name="contacts_show_active_chats">المحادثات النشطة بالأعلى\nأظهر المحادثات النشطة بأعلى قائمة الاتصال</string>
<string name="contacts_show_avatars">إظهار الصور الرمزية\nإظهار الصور الرمزية للأطراف في قائمة الاتصال</string>
<string name="contacts_show_empty_groups">أظهر المجموعات الخالية\nأظهر المجموعات التي ليس بها أطراف متصلة</string>
<string name="contacts_show_groups">إظهار المجموعات\nإظهار المجموعات في قائمة الاتصال</string>
<string name="contacts_show_offline">إظهار الأطراف الغير المتصلة</string>
<string name="contacts_show_panel">إظهار لوحة الحسابات\nإظهار أزرار بالصور الرمزية في الركن اليمين السفلي لقائمة أطراف الاتصال</string>
<string name="contacts_stay_active_chats">تكرار المحادثات النشطة\nأظهر المحادثات النشطة بأعلى قائمة الاتصال وكذلك في مجموعات الاتصال</string>
<string name="debug_log">سجل التصحيح\nكتابة الرسائل لسجل التصحيح (برجاء إعادة تشغيل البرنامج لتطبيق التغيير)</string>
<string name="events_lightning">إشارة ضوئية\nغمز ضوء LED للإشعار</string>
<string name="events_persistent">أيقونة شريط المهام\nاظهار مستمر للإخطار. هذا الخيار يمنع نظام Android من إزالة التطبيق من الذاكرة</string>
<string name="events_sound">تنبيه صوتي\nاختر صوت التنبيه</string>
<string name="events_vibro">الاهتزاز\nالاهتزاز للتنبيه</string>
<string name="interface_theme">ضبط المظهر\nإعدادات المظهر</string>
<string name="interface_theme_dark">داكن</string>
<string name="interface_theme_light">فاتح</string>
<string name="interface_theme_normal">الافتراضي</string>
<string name="interface_smiles">التعبيرات\nضبط التعبيرات (المعروفة سابقاً بالوجوه الباسمة)</string>
<string name="interface_smiles_android">تعبيرات Android</string>
<string name="interface_smiles_none">لا تعبيرات رسومية</string>
<string name="preference_connection">إعدادات الاتصال\nإعدادات الاتصال</string>
<string name="preference_contacts">قائمة الاتصال\nتخصيص مظهر قائمة الاتصال</string>
<string name="preference_debug">ضبط التصحيح\nخيارات لمساعدة المطورين في تحسين Xabber</string>
<string name="preference_editor">الإعدادات</string>
<string name="preference_events">إشعارات\nضبط الإشعارات</string>
<string name="preference_interface">ضبط المظهر\nإعدادات المظهر</string>
<string name="about_viewer">حول</string>
<string name="chats_show_background">أظهر صورة الخلفية\nتعطيلها قد يحسن الأداء</string>
<string name="chats_font_size">حجم الخط\nحجم نص الرسالة</string>
<string name="chats_font_size_large">كبير</string>
<string name="chats_font_size_normal">طبيعي</string>
<string name="chats_font_size_small">صغير</string>
<string name="chats_font_size_xlarge">كبير جداً</string>
<string name="chats_hide_keyboard">إخفاء لوحة المفاتيح\nإخفاء لوحة المفاتيح بعد إرسال الرسالة</string>
<string name="chats_hide_keyboard_landscape">في الوضع العرضي</string>
<string name="chats_receipt">إيصالات تسليم الرسائل\nأرسال واستقبال إيصالات تسليم الرسائل</string>
<string name="chats_show_avatars">الصور الرمزية في الرسائل\nإظهار الصور الرمزية في كل رسالة</string>
<string name="chats_show_status_change">إظهار تغيير الحالة\nأظهر رسائل عن تغيير الحالة</string>
<string name="chats_show_status_change_muc">في الاجتماعات</string>
<string name="chats_state_notification">إظهار إشعار الكتابة\nإشعار بأن الطرف الآخر يكتب رسالة</string>
<string name="connection_adjust_priority">تعديل الأولوية\nضبط الأولوية حسب الحالة المحددة. أولوية الحساب سيتم تجاوزها.</string>
<string name="connection_go_away_immediately">فوراً عند قفل الشاشة</string>
<string name="connection_go_xa">\"غياب ممتد\" عند الخمول\nتعيين حالة \"غياب ممتد\" لدى قفل الشاشة</string>
<string name="connection_priority">إعدادات الأولوية</string>
<string name="connection_start_at_boot">تشغيل عند بدء النظام\nتشغيل التطبيق عند بدء نظام التشغيل Android. هذا الإعداد لن يعمل إذا تم تثبيت Xabber على بطاقة الذاكرة SD.</string>
<string name="connection_wake_lock">منع وضع السكون\nمنع الجهاز من السكون. هذا سينقص من عمر البطارية.</string>
<string name="connection_wifi_lock">أبقٍ اتصال WiFi نشطاً\nأبقٍ اتصال WiFi نشط في وضع السكون. سينقص عمر البطارية</string>
<string name="contacts_reset_offline">إعادة تعيين إعدادات الأطراف الغير متصلة\nمسح الإعدادات الفردية للمجموعات وأطراف الاتصال</string>
<string name="contacts_reset_offline_warning">هل ترغب حقاً في مسح الإعدادات الفردية للمجموعات وأطراف الاتصال؟</string>
<string name="events_first_only">تنبيه للرسالة الأولى\nإشعار فقط لأول رسالة في الحوار</string>
<string name="events_ignore_system_vibro">تجاهل إعدادات النظام للاهتزاز\nاستخدم هذا الخيار في حالة عدم عمل الاهتزاز بالنظام</string>
<string name="events_message">ضبط الإشعارات\nضبط الإشعارات عن الرسائل الواردة</string>
<string name="events_message_chat">المحادثات فقط</string>
<string name="events_message_chat_and_muc">المحادثات والاجتماعات</string>
<string name="events_message_none">بدون إشعارات</string>
<string name="events_show_text">إظهار الرسالة في الإشعار\nإظهار نص الرسالة في منطقة الإشعار</string>
<string name="events_visible_chat">الإشعار في المحادثة الحالية\nالإشعار للرسائل الواردة في المحادثة الحالية</string>
<string name="negative_priotiry_summary">‎%s‎ (لن تتلقَ رسائل من أي محادثة)</string>
<string name="preference_accounts">حسابات XMPP\nإدارة الحسابات</string>
<string name="preference_security">الأمان\nإعدادات الأمان</string>
<string name="security_check_certificate">تحقق من شهادة الخادم\nإخطار بمشاكل الشهادة على الاتصالات المشفرة</string>
<string name="security_clear_certificate">حذف الشهادات\nمسح قائمة الشهادات المهملة</string>
<string name="security_otr_history">احتفاظ بسجل المحادثات\nاحتفظ بسجل المحادثات المشفرة بـ OTR</string>
<string name="security_otr_mode">وضع OTR</string>
<string name="chats_attention">لفت الانتباه\nاستجب لطلبات لفت الانتباه الواردة</string>
<string name="chats_attention_sound">صوت التنبيه\nاختر نغمة</string>
<string name="connection_load_vcard">حمّل بطاقة vCard\nحمّل وحدّث البيانات الشخصية وصورة طرف الاتصال. عطّلها لتقليل استخدام بيانات الشبكة.</string>
<string name="connection_use_carbons">وضع النسخة الكربونية\nقد تكون غير مستقرة!سوف تشارك المحادثات لنفس الحساب على هذا العميل. عطّلها لتقليل استخدام بيانات الشبكة.</string>
<string name="events_phrases">عبارات مفتاحية\nالإخطار للرسائل التي تحتوي على عبارات معينة واختيار صوت التنبية</string>
<string name="security_clear_certificate_warning">هل ترغب حقاً في حذف كل الشهادات المهملة؟</string>
</resources>
<?xml version="1.0" encoding="utf-8"?>
<!--Generated by crowdin.com-->
<resources>
<string name="otr_answer">الإجابة السرية:</string>
<string name="otr_question">السؤال السري:</string>
<string name="otr_question_description">استخدام السؤال السري للتحقق من الهوية.</string>
<string name="otr_secret">السر المشترك:</string>
<string name="otr_secret_description">استخدام سر مشترك للتحقق من الهوية.</string>
</resources>
<?xml version="1.0" encoding="utf-8"?>
<!--Generated by crowdin.com-->
<resources>
<string name="available">متاح</string>
<string name="away">غائب</string>
<string name="chat">جاهز للمحادثة!</string>
<string name="dnd">لا تزعجني</string>
<string name="edit_status">تعديل الحالة</string>
<string name="empty_status">&lt;حالة خالية&gt;</string>
<string name="invisible">مخفي</string>
<string name="remove_status">حذف الحالة</string>
<string name="status_editor">تحديد الحالة</string>
<string name="status_text_hint">أدخل رسالة الحالة</string>
<string name="unavailable">غير متصل</string>
<string name="unsubscribed">غير مصرح به</string>
<string name="xa">متغيب لفترة طويلة</string>
<string name="new_status">حالة جديدة</string>
<string name="saved_statuses">حالات مسجلة</string>
<string name="clear_status_history">مسح سجل الحالات</string>
<string name="status_message">رسالة الحالة</string>
</resources>
<?xml version="1.0" encoding="utf-8"?>
<resources>
<bool name="is_translated">true</bool>
</resources>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<!--Generated by crowdin.com-->
<resources>
<string name="in10m">بعد 10 دقائف</string>
<string name="in15m">بعد 15 دقيقة</string>
<string name="in1h">بعد ساعة</string>
<string name="in1m">بعد دقيقة</string>
<string name="in2m">بعد دقيقتين</string>
<string name="in30m">بعد 30 دقيقة</string>
<string name="in5m">بعد 5 دقائف</string>
<string name="always">دائماً</string>
<string name="disabled">غير مفعّل</string>
<string name="manual">يدوي</string>
<string name="never">نهائياً</string>
<string name="required">مطلوب</string>
<string name="auto">آلياً</string>
<string name="save">حفظ</string>
</resources>
<?xml version="1.0" encoding="utf-8"?>
<!--Generated by crowdin.com-->
<resources>
<string name="account_compression">Usar compresión</string>
<string name="account_enabled">Habilitada</string>
<string name="account_host">Servidor</string>
<string name="account_password">Contraseña</string>
<string name="confirm_password">Confirmar contraseña</string>
<string name="account_port">Puerto</string>
<string name="account_priority">Prioridad</string>
<string name="account_resource">Dispositivo</string>
<string name="account_server_name">Servidor</string>
<string name="account_type">Tipo de Cuenta</string>
<string name="account_type_hints_gtalk">Nombre de usuario para gmail.com o dominio de Google Apps</string>
<string name="account_type_helps_gtalk">Si no tienes una cuenta en Google puedes crear una en http://mail.google.com\nSi ya dispones de una, puedes usar tu_nombre_de_usuario@tu_dominio_en_Google</string>
<string name="account_type_helps_xmpp">Para saber más sobre XMPP (Jabber): https://xmpp.org</string>
<string name="account_user_name">Usuario</string>
<string name="EMPTY_SERVER_NAME">Nombre de servidor no especificado</string>
<string name="EMPTY_USER_NAME">Usuario no especificado</string>
<string name="CONFIRM_PASSWORD">Las contraseñas no coinciden</string>
<string name="account_archive_mode">Guardar historial de mensajes</string>
<string name="account_archive_mode_available">En el servidor si es posible</string>
<string name="account_archive_mode_dont_store">No guardar</string>
<string name="account_archive_mode_local">Localmente en el dispositivo</string>
<string name="account_archive_mode_server">En el servidor</string>
<string name="account_archive_mode_unread">Localmente sólo si no se ha enviado ni leído</string>
<string name="account_compression_summary">Marcar para usar compresión de datos</string>
<string name="account_custom">Servidor manual</string>
<string name="account_custom_summary">Usar un servidor manual en vez del registro SRV</string>
<string name="account_enabled_summary">Habilitar cuenta</string>
<string name="account_invalid_port">El puerto debe ser un número (por defecto: 5222)</string>
<string name="account_invalid_priority">El valor de la prioridad debe ser un número entre -128 y 128 (por defecto: 10)</string>
<string name="account_oauth">Autorización</string>
<string name="account_oauth_invalidated">No autorizado</string>
<string name="account_oauth_summary">Configuración de OAuth</string>
<string name="account_proxy_host">Direción del proxy</string>
<string name="account_proxy_password">Contraseña del proxy</string>
<string name="account_proxy_port">Puerto del proxy</string>
<string name="account_proxy_type">Tipo de proxy</string>
<string name="account_proxy_type_none">Desactivado</string>
<string name="account_proxy_user">Usuario del proxy</string>
<string name="account_sasl">Usar autentificación SASL (recomendado)</string>
<string name="account_sasl_summary">Desactivar para servidores muy antiguos</string>
<string name="account_store_password">Guardar contraseña</string>
<string name="account_store_password_summary">Desactivar esta opción para pedir la contraseña cada vez que te conectes</string>
<string name="account_syncable">Integrar con los contactos del sistema</string>
<string name="account_syncable_summary">Mostrar los contactos de esta cuenta en la agenda del teléfono</string>
<string name="account_tls_enable">Activar TLS</string>
<string name="account_tls_enable_summary">Usar el cifrado TLS para conectarse con el servidor siempre que sea posible</string>
<string name="account_tls_legacy">SSL heredado</string>
<string name="account_tls_legacy_summary">Usar el cifrado SSL heredado para conectarse con el servidor</string>
<string name="account_tls_mode">Uso de TLS/SSL</string>
<string name="account_tls_require">Requerir TLS</string>
<string name="account_tls_require_summary">Requerir el uso de TLS al conectarse con el servidor</string>
<string name="account_use_orbot">Charlar a través de la red de anonimato TOR y forzar el protocolo criptográfico TLS\nNo recomentado para Google Talk</string>
<string name="confirm_cancellation">¿Seguro que quieres descartar los cambios?</string>
<string name="INCORRECT_USER_NAME">Nombre de usuario incorrecto. Comprueba los detalles en el texto de ayuda de abajo.</string>
<string name="orbot_required_message">Para usar TOR debe tener instalado Orbot y activarlo para pasar todo el tráfico a través de él. ¿Quieres instalarlo desde Google Play?</string>
<string name="orbot_required_title">¿Instalar Orbot?</string>
<string name="ACCOUNT_REGISTER_FAILED">Ha fallado el registro de la cuenta en el servidor.</string>
<string name="account_color">Color de la cuenta</string>
<string name="account_color_name_green">Verde</string>
<string name="account_color_name_orange">Naranja</string>
<string name="account_color_name_red">Rojo</string>
<string name="account_color_name_blue">Azul</string>
<string name="account_color_name_indigo">Añil</string>
<string name="account_color_name_teal">Verde azulado</string>
<string name="account_color_name_blue_grey">Gris azulado</string>
<string name="account_color_name_cyan">Cian</string>
</resources>
<?xml version="1.0" encoding="utf-8"?>
<!--Generated by crowdin.com-->
<resources>
<string name="account_delete_confirm">¿De verdad quieres eliminar la cuenta %s?\n(no se eliminará del servidor, tan sólo de Xabber)</string>
<string name="account_add">Añadir cuenta</string>
<string name="account_register">Registrar una nueva cuenta</string>
<string name="account_delete">Eliminar cuenta</string>
<string name="account_editor">Editar cuenta</string>
<string name="account_state_registration">Registrando</string>
<string name="account_state_authentication">Autorizando</string>
<string name="account_state_connected">En línea</string>
<string name="account_state_connecting">Conectando</string>
<string name="account_state_disconnecting">Desconectando</string>
<string name="account_state_offline">Desconectado</string>
<string name="account_state_waiting">Esperando reconexión</string>
</resources>
<?xml version="1.0" encoding="utf-8"?>
<!--Generated by crowdin.com-->
<resources>
<string name="action_status_text">%1$s ha cambiado su estado: %2$s</string>
<string name="action_status_text_none">Borrado texto de estado de %1$s</string>
<string name="action_join">%1$s se ha unido a la sala</string>
<string name="action_kick">%1$s fue expulsado</string>
<string name="account_is_offline">Ahora mismo estás desconectado. Los mensajes se enviarán cuando te conectes.</string>
<string name="chat_delay">Enviado a las %s</string>
<string name="chat_input_hint">Escribe aquí tu mensaje</string>
<string name="chat_send">Enviar</string>
<string name="clear_history">Borrar historial</string>
<string name="contact_is_offline">Los mensajes han sido enviados. Serán recibidos cuando se conecte.</string>
<string name="ENTRY_IS_NOT_AVAILABLE">Contacto no disponible</string>
<string name="FILE_NOT_FOUND">Archivo no encontrado</string>
<string name="message_copy">Copiar</string>
<string name="message_quote">Citar</string>
<string name="message_remove">Quitar del historial</string>
<string name="message_repeat">Reintentar envío</string>
<string name="save_history">Guardar historial localmente\nAlmacenar el historial de mensajes en el dispositivo</string>
<string name="show_history">Mostrar historial</string>
<string name="action_attention_called">Llamada de atención enviada</string>
<string name="action_attention_requested">Se recibió una llamada de atención</string>
<string name="action_ban">%1$s ha sido bloqueado</string>
<string name="action_ban_by">%1$s fue bloqueado por %2$s</string>
<string name="action_invite_error">Invitación no recibida por %s</string>
<string name="action_invite_sent">La invitación se envió a %s</string>
<string name="action_join_complete">Te has unido a la conversación como %1$s</string>
<string name="action_join_complete_to">Te has unido a la conversación %1$s</string>
<string name="action_kick_by">%1$s fue expulsado por %2$s</string>
<string name="action_leave">%1$s se ha salido de la conversación</string>
<string name="action_nickname">%1$s ahora se llama %2$s</string>
<string name="action_otr_encryption">El cifrado está activado pero el interlocutor no ha sido verificado. Puedes verificarlo en el menú de cifrado OTR.</string>
<string name="action_otr_error">Error de OTR: %1$s</string>
<string name="action_otr_finish">El interlocutor se ha salido de la conversación. Debes hacer lo mismo o reiniciarla.</string>
<string name="action_otr_finished_session">Tu mensaje no se ha enviado. Sal de la conversación o reiníciala.</string>
<string name="action_otr_plain">Has salido de la conversación cifrada</string>
<string name="action_otr_smp_cheated">El interlocutor intentó manipular la verificación</string>
<string name="action_otr_smp_failed">Error en la verificación</string>
<string name="action_otr_smp_not_approved">Tu respuesta para la pregunta secreta fue verificada. Debes verificar también a tu interlocutor mediante pregunta secreta o secreto compartido.</string>
<string name="action_otr_smp_unverified">Error de verificación</string>
<string name="action_otr_smp_verified">Verificación completada correctamente</string>
<string name="action_otr_unreadable">El mensaje cifrado recibido es ilegible</string>
<string name="action_otr_verified">Cifrado activado</string>
<string name="action_status_available">%1$s ahora está disponible</string>
<string name="action_status_away">%1$s ahora está ausente</string>
<string name="action_status_chat">%1$s ahora está libre para charlar</string>
<string name="action_status_dnd">%1$s está ocupado</string>
<string name="action_status_unavailable">%1$s ahora no está disponible</string>
<string name="action_status_xa">%1$s ausente desde hace mucho tiempo</string>
<string name="action_subject">%1$s ha cambiado el tema a: %2$s</string>
<string name="ATTENTION_IS_NOT_SUPPORTED">El contacto no ha activado las llamadas de atención</string>
<string name="call_attention">Llamada de atención</string>
<string name="chat_settings">Ajustes de conversación</string>
<string name="chat_state_composing">Escribiendo&#8230;</string>
<string name="chat_state_paused">Ha escrito algo&#8230;</string>
<string name="chat_typed">Escrito a las %s</string>
<string name="export_chat">Exportar conversación</string>
<string name="export_chat_done">El historial ha sido exportado a la memoria SD</string>
<string name="export_chat_mask">%2$s en %1$s.html</string>
<string name="export_chat_send">Enviar después de exportar</string>
<string name="export_chat_title">Nombre de archivo:</string>
<string name="muc_invite">Invitarle a charlar</string>
<string name="muc_is_unavailable">Por favor, únete a una conversación para que tus mensajes se envíen</string>
<string name="occupant_list">Lista de participantes</string>
<string name="otr_encryption">Cifrado OTR</string>
<string name="otr_end">Parar el cifrado</string>
<string name="otr_refresh">Reiniciar el cifrado</string>
<string name="otr_request">Se ha pedido una conversación privada OTR (Off-the-Record) pero no tienes el complemento necesario. Usa Pidgin, Gajim o Adium para PC/Mac y Xabber o ChatSecure para Android. Más información en http://otr.cypherpunks.ca/.</string>
<string name="otr_start">Iniciar cifrado</string>
<string name="otr_unencrypted_message">Este mensaje no ha sido cifrado</string>
<string name="otr_unreadable_message">El mensaje cifrado enviado es ilegible</string>
<string name="otr_verification">Verificación del cifrado OTR</string>
<string name="otr_verify_fingerprint">Verificar con una huella de seguridad</string>
<string name="otr_verify_question">Verificar con una pregunta</string>
<string name="otr_verify_secret">Verificar con un secreto compartido</string>
<string name="recent_chats">Conversaciones recientes</string>
<string name="under_construction">En construcción</string>
<string name="under_construction_message">Esta pantalla está en construcción</string>
<string name="chat_events_show_text_global">Usar ajustes generales</string>
<string name="chat_events_show_text_always">Mostrar el mensaje de texto</string>
<string name="chat_events_show_text_never">Ocultar el mensaje de texto</string>
</resources>
<?xml version="1.0" encoding="utf-8"?>
<!--Generated by crowdin.com-->
<resources>
<string name="contact_account">Cuenta</string>
<string name="contact_group">Selecciona los grupos</string>
<string name="contact_name">Alias (opcional)</string>
<string name="contact_subscribe_confirm">¿Compartir el estado de tu cuenta %1$s con tus contactos?</string>
<string name="contact_user">Nombre de usuario del contacto</string>
<string name="ENTRY_IS_NOT_FOUND">Contacto no encontrado</string>
<string name="group_is_empty">Especificar nombre del grupo</string>
<string name="group_name">Nombre del grupo</string>
<string name="choose_account">Elije una cuenta</string>
<string name="EMPTY_ACCOUNT">Selecciona una cuenta, por favor</string>
<string name="add_new_group">Añadir nuevo grupo&#8230;</string>
<string name="accept_contact">Autorizar</string>
<string name="decline_contact">Cancelar</string>
</resources>
<?xml version="1.0" encoding="utf-8"?>
<!--Generated by crowdin.com-->
<resources>
<string name="accept_subscription">Aceptar contacto</string>
<string name="account_reconnect">Volver a conectar</string>
<string name="application_action_disabled">Gestionar cuentas</string>
<string name="application_action_empty">Añadir cuenta</string>
<string name="application_action_no_contacts">Añadir contacto</string>
<string name="application_action_no_online">Mostrar contactos desconectados</string>
<string name="application_action_offline">Conectarse</string>
<string name="application_action_waiting">Volver a conectar</string>
<string name="application_state_connecting">Conectando...</string>
<string name="application_state_disabled">Cuentas deshabilitadas</string>
<string name="application_state_empty">No tienes ninguna cuenta registrada</string>
<string name="application_state_no_contacts">No tienes ningún contacto</string>
<string name="application_state_no_online">No hay nadie en línea</string>
<string name="application_state_offline">Todas las cuentas están desconectadas</string>
<string name="application_state_roster">Conectado.</string>
<string name="application_state_starting">Cargando aplicación... </string>
<string name="application_state_waiting">Conectando...</string>
<string name="chat_list">Lista de conversaciones</string>
<string name="chat_list_is_empty">No hay conversaciones activas</string>
<string name="chat_viewer">Iniciar conversación</string>
<string name="close_chat">Cerrar conversación</string>
<string name="CONNECTION_FAILED">Error de conexión</string>
<string name="contact_add">Añadir contacto</string>
<string name="contact_delete">Eliminar</string>
<string name="contact_delete_confirm">¿Estás seguro de que quieres eliminar el contacto %1$s de la cuenta %2$s?</string>
<string name="contact_list">Lista de contactos</string>
<string name="discard_subscription">Rechazar contacto</string>
<string name="exit">Salir</string>
<string name="group_active_chat">Conversaciones activas</string>
<string name="group_none">Sin grupos</string>
<string name="group_remove">Borrar grupo</string>
<string name="group_remove_confirm">¿Estás seguro de que quieres borrar el grupo %s? Los miembros de este grupo permanecerán en la lista contactos.</string>
<string name="group_rename">Renombrar grupo</string>
<string name="NO_SUCH_ACCOUNT">Cuenta no encontrada</string>
<string name="NOT_CONNECTED">Conexión no establecida</string>
<string name="request_subscription">Solicitar suscripción</string>
<string name="XMPP_EXCEPTION">Error en la transmisión</string>
<string name="application_state_closing">Guardando cambios...\nLa aplicación se cerrará a continuación</string>
<string name="certificate_confirmation">%1$s.\n¿Confías totalmente en el certificado con huella sha1: %2$s? ¿Quiere que no se te notifique sobre este tema con el certificado?</string>
<string name="certificate_details">\n\n\nEmitido para:\nNombre (CN): %1$s\nOrganización (O): %2$s\nUnidad organizativa (OU): %3$s\nNúmero de serie: %4$s\n\nEmitido por:\nNombre (CN): %5$s\nOrganización (O): %6$s\nUnidad organizativa (OU): %7$s\n\nValidez:\nEmitido: %8$s\nExpira: %9$s</string>
<string name="certificate_invalid_chane">Falló la cadena de verificación de la firma</string>
<string name="certificate_invalid_target">Falló la verificación del destinatario</string>
<string name="certificate_self_signed">Certificado auto-firmado</string>
<string name="certificate_show_details">Detalles ...</string>
<string name="close_chats">Cerrar todas las conversaciones</string>
<string name="contact_integration_suggest">¿Quiere integrar Xabber con los contactos del sistema?\nEsto se puede configurar en \"Opciones\" → \"Cuentas XMPP\" → Tu cuenta → \"Integración con los contactos del sistema\".\nNota: Los contactos del sistema pueden ir más lentos durante unos minutos.</string>
<string name="group_room">Salas de charla</string>
<string name="OTR_ERROR">Error de OTR</string>
<string name="select_contact">Por favor, selecciona el contacto</string>
<string name="show_offline_always">Mostrar contactos</string>
<string name="show_offline_never">Ocultar contactos</string>
<string name="show_offline_normal">Usar la configuración general</string>
<string name="show_offline_settings">Mostrar contactos desconectados</string>
<string name="start_at_boot_suggest">¿Desea que Xabber se ejecute al iniciar el dispositivo?\nEsto se puede cambiar en \"Ajustes\" → \"Ajustes de conexión\" → \"Iniciar al encender Android\"</string>
<string name="contact_search_hint">Buscar contactos</string>
<string name="sender_is_you"></string>
<string name="xmpp_accounts">Cuentas de XMPP</string>
</resources>
<?xml version="1.0" encoding="utf-8"?>
<!--Generated by crowdin.com-->
<resources>
<string name="contact_viewer">Información del contacto</string>
<string name="contact_viewer_client">Nombre del cliente</string>
<string name="vcard_nick_name">Apodo</string>
<string name="vcard_formatted_name">Nombre completo</string>
<string name="vcard_prefix_name">Prefijo</string>
<string name="vcard_given_name">Nombre</string>
<string name="vcard_middle_name">Segundo nombre</string>
<string name="vcard_family_name">Apellido</string>
<string name="vcard_suffix_name">Sufijo</string>
<string name="vcard_birth_date">Fecha de nacimiento</string>
<string name="vcard_url">Página web</string>
<string name="vcard_organization">Organización</string>
<string name="vcard_title">Puesto de trabajo, función</string>
<string name="vcard_role">Rol</string>
<string name="vcard_other">Más información</string>
<string name="vcard_categories">Categorías</string>
<string name="vcard_decsription">Descripción</string>
<string name="vcard_note">Notas</string>
<string name="vcard_address">Dirección</string>
<string name="vcard_address_pobox">Apartado de correos</string>
<string name="vcard_address_extadr">Dirección completa</string>
<string name="vcard_address_street">Calle</string>
<string name="vcard_address_locality">Localidad</string>
<string name="vcard_address_region">Región</string>
<string name="vcard_address_pcode">Código postal</string>
<string name="vcard_address_ctry">País</string>
<string name="vcard_telephone">Teléfono</string>
<string name="vcard_email">Correo electrónico</string>
<string name="vcard_type">Etiquetas</string>
<string name="vcard_type_home">Casa</string>
<string name="vcard_type_work">Trabajo</string>
<string name="vcard_type_postal">Código Postal</string>
<string name="vcard_type_parcel">Entregas</string>
<string name="vcard_type_dom">Domicilio</string>
<string name="vcard_type_intl">Internacional</string>
<string name="vcard_type_pref">Preferida</string>
<string name="vcard_type_voice">Voz</string>
<string name="vcard_type_fax">Fax</string>
<string name="vcard_type_pager">Buscapersonas</string>
<string name="vcard_type_cell">Teléfono móvil</string>
<string name="vcard_type_video">Vídeo</string>
<string name="vcard_type_modem">Módem</string>
<string name="vcard_type_msg">Mensajes de voz</string>
<string name="vcard_type_internet">Correo electrónico</string>
<string name="please_wait">Un momento, por favor...</string>
<string name="unknown">Desconocido</string>
<string name="edit_alias">Editar apodo</string>
<string name="edit_contact_groups">Editar grupos</string>
<string name="remove_contact">Eliminar contacto</string>
</resources>
<?xml version="1.0" encoding="utf-8"?>
<!--Generated by crowdin.com-->
<resources>
<string name="otr_fingerprint_description">Tu interlocutor puede proporcionarte su huella de seguridad con la que puedes comparar para asegurarte de que es quien dice ser. Debes usar un medio de comunicación seguro para esto.</string>
<string name="otr_is_verified">Este contacto es de confianza</string>
<string name="otr_local_fingerprint">Tu huella de seguridad:</string>
<string name="otr_remote_fingerprint">Huella de seguridad del interlocutor:</string>
<string name="otr_scan_fingerprint">Escanear código QR de la huella de seguridad del interlocutor</string>
<string name="otr_show_fingerprint">Mostrar código QR con tu huella de seguridad</string>
<string name="zxing_install_fail">No tienes instalado Google Play. Por favor instala \"Barcode Scanner\" manualmente.</string>
<string name="zxing_install_message">Esta aplicación necesita \"Barcode Scanner\". ¿Quieres instalarlo?</string>
<string name="otr_copy_fingerprint">Copiar tu huella de seguridad al portapapeles</string>
</resources>
<?xml version="1.0" encoding="utf-8"?>
<!--Generated by crowdin.com-->
<resources>
<string name="EMPTY_NICK_NAME">Apodo no especificado</string>
<string name="EMPTY_ROOM_NAME">Sala de charla no especificada</string>
<string name="muc_join">Unirse a la sala de charla</string>
<string name="muc_nick">Apodo</string>
<string name="muc_nick_hint">Apodo para la sala de charla</string>
<string name="muc_password">Contraseña</string>
<string name="muc_password_hint">No se necesita contraseña</string>
<string name="muc_room">Sala de charla</string>
<string name="muc_server">Servidor de chat multi-usuario</string>
<string name="NICK_ALREADY_USED">Apodo actualmente en uso</string>
<string name="ALREADY_IN_PROGRESS">Operación en progreso</string>
<string name="ALREADY_JOINED">Ya te has unido</string>
<string name="muc_add">Añadir sala de charla</string>
<string name="muc_delete">Borrar sala de charla</string>
<string name="muc_delete_confirm">Confirmar para borrar la conferencia %1$s de la cuenta %2$s?</string>
<string name="muc_edit">Opciones de autorización</string>
<string name="muc_invite_confirm">%2$s te ha invitado a unirte a la sala %3$s. ¿Unirte con la cuenta %1$s?</string>
<string name="muc_invite_confirm_reason">%2$s te ha invitado a unirte a la sala %3$s: %4$s. ¿Unirte con la cuenta %1$s?</string>
<string name="muc_leave">Abandonar sala</string>
<string name="muc_save">Guardar sala de charla</string>
</resources>
<?xml version="1.0" encoding="utf-8"?>
<!--Generated by crowdin.com-->
<resources>
<string name="account_quantity_1">cuenta</string>
<string name="account_quantity_2">cuentas</string>
<string name="account_quantity_5">-</string>
<string name="account_quantity_offline_1">cuenta</string>
<string name="account_quantity_offline_2">cuentas</string>
<string name="account_quantity_offline_5">-</string>
<string name="AUTHENTICATION_FAILED">Error de autorización</string>
<string name="chat_contact_quantity_1">contacto</string>
<string name="chat_contact_quantity_2">contactos</string>
<string name="chat_contact_quantity_5">-</string>
<string name="chat_message_quantity_1">mensaje</string>
<string name="chat_message_quantity_2">mensajes</string>
<string name="chat_message_quantity_5">-</string>
<string name="chat_status">%1$d %2$s de %3$d %4$s</string>
<string name="chat_messages_from_contact">%1$d %2$s de %3$s</string>
<string name="chat_contact_and_message">%1$s: %2$s</string>
<string name="connection_state_connected_1">%1$d de %2$d %3$s en línea</string>
<string name="connection_state_connected_2">%1$d de %2$d %3$s en línea</string>
<string name="connection_state_connected_5">-</string>
<string name="connection_state_connecting_1">%1$d de %2$d %3$s se están conectando</string>
<string name="connection_state_connecting_2">%1$d de %2$d %3$s se están conectando</string>
<string name="connection_state_connecting_5">-</string>
<string name="connection_state_waiting_1">%1$d de %2$d %3$s esperando conexión</string>
<string name="connection_state_waiting_2">%1$d de %2$d %3$s esperando conexión</string>
<string name="connection_state_waiting_5">-</string>
<string name="connection_state_offline">%1$d %2$s desconectado</string>
<string name="archive_available_request_message">¿Almacenar el histórico de mensaje en el servidor?\nEsto permite a Xabber cargar el historial desde todos los dispositivos que usen esta cuenta.\nEsta funcionalidad usará algo de tráfico adicional y reducirá ligeramente la velocidad de conexión.\nATENCIÓN: Todo el historial local será eliminado.</string>
<string name="archive_available_request_title">¿Activar archivado de mensajes?</string>
<string name="INVALID_CERTIFICATE">Certificado inválido</string>
<string name="muc_invite_message">¿Quiere entrar a la sala de charla?</string>
<string name="otr_verification_in_progress">Pulsar aquí para cancelarla.</string>
<string name="PASSWORD_REQUIRED">Se necesita una contraseña</string>
<string name="pay_attention">Prestar atención</string>
<string name="subscription_request_message">Solicitud de autorización</string>
</resources>
<?xml version="1.0" encoding="utf-8"?>
<!--Generated by crowdin.com-->
<resources>
<string name="phrase_add">Añadir frase</string>
<string name="phrase_delete">Borrar frase</string>
<string name="phrase_delete_confirm">¿De verdad quieres eliminar la frase: %s?</string>
<string name="phrase_empty">&lt; Texto &gt;</string>
<string name="phrase_group">Parte del contacto de grupo</string>
<string name="phrase_regexp">Expresión común</string>
<string name="phrase_sound">Sonido\nElige tono de notificación</string>
<string name="phrase_text">Texto a buscar</string>
<string name="phrase_user">Parte del ID de Jabber de un contacto</string>
</resources>
<?xml version="1.0" encoding="utf-8"?>
<!--Generated by crowdin.com-->
<resources>
<string name="cache_clear">Vaciar caché\nEliminar todos los datos almacenados. Esto puede liberar algo de espacio.</string>
<string name="cache_clear_warning">¿Seguro que quieres eliminar todo el historial y otros datos almacenados?\nLa información de la cuenta y de la lista de contactos no se verá afectada. La aplicación se cerrará.</string>
<string name="chats_send_by_enter">Enviar al pulsar Intro\nEl mensaje se podrá enviar presionando la tecla Intro</string>
<string name="connection_go_away">Ausencia automática\nAutomáticamente configura el estado como ausente al bloquear la pantalla</string>
<string name="contacts_order">Ordenar contactos\nEstablecer en qué orden se mostrarán los contactos</string>
<string name="contacts_order_alphabet">Alfabéticamente</string>
<string name="contacts_order_status">Por estado</string>
<string name="contacts_show_accounts">Agrupar por cuenta\nAgrupar los contactos por cuenta en la lista de contactos</string>
<string name="contacts_show_active_chats">Conversaciones en la parte superior\nMostrar conversaciones activas en la parte superior de la lista de contactos</string>
<string name="contacts_show_avatars">Mostrar avatares\nMostrar avatares de los usuarios en la lista de Contactos</string>
<string name="contacts_show_empty_groups">Mostrar grupos vacíos\nMostrar grupos que no tengan contactos conectados</string>
<string name="contacts_show_groups">Mostrar grupos\nMostrar grupos en la lista de contactos</string>
<string name="contacts_show_offline">Mostrar contactos desconectados</string>
<string name="contacts_show_panel">Mostrar panel de cuentas\nMostrar los botones de acción con avatares en la esquina inferior derecha de la lista de contactos</string>
<string name="contacts_stay_active_chats">Duplicar conversaciones activas\nHace que aparezcan las conversaciones activas tanto en la parte superior de la lista de contactos como en los grupos</string>
<string name="debug_log">Depurar registro\nEscribir mensajes en el registro de depuración (para que los cambios se apliquen, por favor reinicia la aplicación)</string>
<string name="events_lightning">Luz de notificación\nParpadeo del LED en las notificaciones</string>
<string name="events_persistent">Icono en la barra de tareas\nMostrar una notificación persistente. Esta opción previene que Android deje de usar la aplicación desde la memoria</string>
<string name="events_sound">Tono de notificación\nElegir el sonido de notificación</string>
<string name="events_vibro">Vibrar\nVibrar con las notificaciones</string>
<string name="interface_theme">Tema\nAjustes de tema</string>
<string name="interface_theme_dark">Oscuro</string>
<string name="interface_theme_light">Claro</string>
<string name="interface_theme_normal">Por defecto</string>
<string name="interface_smiles">Emitoconos\nAjustes de emoticonos</string>
<string name="interface_smiles_android">Emitoconos de Android</string>
<string name="interface_smiles_none">Sin emoticonos gráficos</string>
<string name="preference_connection">Opciones de conexión\nOpciones de conexión</string>
<string name="preference_contacts">Lista de Contactos\nPersonalizar apariencia de la lista de contactos</string>
<string name="preference_debug">Ajustes de depuración\nAjustes que permiten a los desarrolladores seguir mejorando Xabber</string>
<string name="preference_editor">Ajustes</string>
<string name="preference_events">Notificaciones\nOpciones de notificación</string>
<string name="preference_interface">Opciones de Tema\nOpciones de Apariencia</string>
<string name="about_viewer">Acerca de</string>
<string name="chats_show_background">Mostrar fondo\nDeshabilitarlo puede mejorar el funcionamiento</string>
<string name="chats_font_size">Tamaño de la fuente\nTamaño del mensaje de texto</string>
<string name="chats_font_size_large">Grande</string>
<string name="chats_font_size_normal">Normal</string>
<string name="chats_font_size_small">Pequeña</string>
<string name="chats_font_size_xlarge">Muy grande</string>
<string name="chats_hide_keyboard">Ocultar teclado\nEsconde el teclado al enviar un mensaje</string>
<string name="chats_hide_keyboard_landscape">En horizontal</string>
<string name="chats_receipt">Confirmaciones de entrega\nEnviar y procesar confirmaciones de entrega de mensajes</string>
<string name="chats_show_avatars">Avatares en mensajes\nMostrar los avatares en cada mensaje</string>
<string name="chats_show_status_change">Mostrar cambios de estado\nNotificar el cambio de estado de los contactos</string>
<string name="chats_show_status_change_muc">En salas de charlas</string>
<string name="chats_state_notification">Mostrar notificación de escritura\nMostrar cuándo está escribiendo el otro usuario</string>
<string name="connection_adjust_priority">Ajustar prioridad\nEstablecer prioridad según el estado seleccionado. La prioridad de la cuenta será sobreescrita.</string>
<string name="connection_go_away_immediately">Inmediatamente al bloquearse la pantalla</string>
<string name="connection_go_xa">\"Ausencia extendida\" al ausentarse\nPoner en \"Ausencia extendidad\" al bloquearse la pantalla</string>
<string name="connection_priority">Ajustes de prioridad</string>
<string name="connection_start_at_boot">Iniciar al encender Android\nInicia la aplicación cuando se enciende Android. Esta opción no funciona si Xabber está instalada en la tarjeta SD.</string>
<string name="connection_wake_lock">Previene el modo suspesión\nPreviene que el teléfono se suspenda. Esto aumentará el uso de la batería.</string>
<string name="connection_wifi_lock">Dejar la WiFi conectada\nDejar la WiFi activa en espera. Esto aumentará el uso de la batería</string>
<string name="contacts_reset_offline">Eliminar los ajustes de presencia\nBorrar los ajustes individucales para grupos y cuentas</string>
<string name="contacts_reset_offline_warning">¿Realmente quieres borrar los ajustes individuales de grupos y cuentas?</string>
<string name="events_first_only">Alertar del primer mensaje\nNotificar solamente el primer mensaje de una conversación</string>
<string name="events_ignore_system_vibro">Ignorar ajustes del sistema\nUsar esta opción si la configuración de vibración del sistema no funciona</string>
<string name="events_message">Ajustes de notificaciones\nConfigurar las notificaciones de los mensajes entrantes</string>
<string name="events_message_chat">Sólo conversaciones</string>
<string name="events_message_chat_and_muc">Chats y salas de charlas</string>
<string name="events_message_none">No notificar</string>
<string name="events_show_text">Mostrar mensaje en notificación\nMostrar el texto del mensaje en el área de notificación</string>
<string name="events_visible_chat">Notificar en la conversación actual\nMuestra mensajes entrantes en la conversación actual</string>
<string name="negative_priotiry_summary">%s (no recibirás ningún mensaje de ninguna conversación)</string>
<string name="preference_accounts">Cuentas de XMPP\nConfigurar las cuentas</string>
<string name="preference_security">Seguridad\nAjustes de seguridad</string>
<string name="security_check_certificate">Comprobar certificado del servidor\nNotificar problemas de certificado en las conexiones cifradas</string>
<string name="security_clear_certificate">Eliminar certificados\nBorrar lista de los certificados ignorados</string>
<string name="security_otr_history">Almacenar historial\nAlmacenar el historial de conversaciones para sesiones con OTR</string>
<string name="security_otr_mode">Modo OTR</string>
<string name="chats_attention">Llamadas de atención\nReaccionar ante las llamadas de atención</string>
<string name="chats_attention_sound">Sonido para las llamadas de atención\nElegir tono</string>
<string name="connection_load_vcard">Cargar vCard\nCargar y actualizar la información personal y el avatar del contacto. Desactivar para reducir el uso de red.</string>
<string name="connection_use_carbons">Modo de copiado Carbon\n¡Puede ser inestable! Compartirá las sesiones de una misma cuenta con este cliente. Deshabilitar para reducir el uso de tráfico de datos.</string>
<string name="events_phrases">Frases clave\nPersonalizar sonidos de notificaciones para mensajes que contienen determinadas frases</string>
<string name="security_clear_certificate_warning">¿Realmente quieres eliminar todos los certificados ignorados?</string>
</resources>
<?xml version="1.0" encoding="utf-8"?>
<!--Generated by crowdin.com-->
<resources>
<string name="otr_answer">Respuesta de seguridad:</string>
<string name="otr_question">Pregunta de seguridad:</string>
<string name="otr_question_description">Usar preguntas de seguridad para verificarse mutuamente.</string>
<string name="otr_secret">Secreto compartido:</string>
<string name="otr_secret_description">Usar secreto compartido para verificarse mutuamente.</string>
</resources>
<?xml version="1.0" encoding="utf-8"?>
<!--Generated by crowdin.com-->
<resources>
<string name="available">Disponible</string>
<string name="away">Ausente</string>
<string name="chat">¡Listo para chatear!</string>
<string name="dnd">No molestar</string>
<string name="edit_status">Editar estado</string>
<string name="empty_status">&lt;Sin estado&gt;</string>
<string name="invisible">Invisible</string>
<string name="remove_status">Borrar estado</string>
<string name="status_editor">Establecer estado</string>
<string name="status_text_hint">Introducir mensaje de estado</string>
<string name="unavailable">Desconectado</string>
<string name="unsubscribed">No autorizado</string>
<string name="xa">Ausencia extendida</string>
<string name="new_status">Nuevo estado</string>
<string name="saved_statuses">Estados guardados</string>
<string name="clear_status_history">Limpiar historial de estados</string>
<string name="status_message">Mensaje de estado</string>
</resources>
<?xml version="1.0" encoding="utf-8"?>
<resources>
<bool name="is_translated">true</bool>
</resources>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<!--Generated by crowdin.com-->
<resources>
<string name="in10m">En 10 minutos</string>
<string name="in15m">En un cuarto de hora</string>
<string name="in1h">En una hora</string>
<string name="in1m">En un minuto</string>
<string name="in2m">En 2 minutos</string>
<string name="in30m">En media hora</string>
<string name="in5m">En 5 minutos</string>
<string name="always">Siempre</string>
<string name="disabled">Desactivado</string>
<string name="manual">Manual</string>
<string name="never">Nunca</string>
<string name="required">Obligado</string>
<string name="auto">Automático</string>
<string name="save">Guardar</string>
</resources>
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
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