Added Plural Rules

This commit is contained in:
DrKLO 2014-07-03 18:55:04 +04:00
parent d29eabd163
commit 97ac030a65
20 changed files with 635 additions and 69 deletions

View file

@ -39,6 +39,13 @@ import java.util.TimeZone;
public class LocaleController {
static final int QUANTITY_OTHER = 0x0000;
static final int QUANTITY_ZERO = 0x0001;
static final int QUANTITY_ONE = 0x0002;
static final int QUANTITY_TWO = 0x0004;
static final int QUANTITY_FEW = 0x0008;
static final int QUANTITY_MANY = 0x0010;
public static boolean isRTL = false;
private static boolean is24HourFormat = false;
public static FastDateFormat formatterDay;
@ -49,8 +56,11 @@ public class LocaleController {
public static FastDateFormat chatDate;
public static FastDateFormat chatFullDate;
private HashMap<String, PluralRules> allRules = new HashMap<String, PluralRules>();
private Locale currentLocale;
private Locale systemDefaultLocale;
private PluralRules currentPluralRules;
private LocaleInfo currentLocaleInfo;
private LocaleInfo defaultLocalInfo;
private HashMap<String, String> localeValues = new HashMap<String, String>();
@ -118,6 +128,30 @@ public class LocaleController {
}
public LocaleController() {
addRules(new String[]{"bem", "brx", "da", "de", "el", "en", "eo", "es", "et", "fi", "fo", "gl", "he", "iw", "it", "nb",
"nl", "nn", "no", "sv", "af", "bg", "bn", "ca", "eu", "fur", "fy", "gu", "ha", "is", "ku",
"lb", "ml", "mr", "nah", "ne", "om", "or", "pa", "pap", "ps", "so", "sq", "sw", "ta", "te",
"tk", "ur", "zu", "mn", "gsw", "chr", "rm", "pt"}, new PluralRules_One());
addRules(new String[]{"cs", "sk"}, new PluralRules_Czech());
addRules(new String[]{"ff", "fr", "kab"}, new PluralRules_French());
addRules(new String[]{"hr", "ru", "sr", "uk", "be", "bs", "sh"}, new PluralRules_Balkan());
addRules(new String[]{"lv"}, new PluralRules_Latvian());
addRules(new String[]{"lt"}, new PluralRules_Lithuanian());
addRules(new String[]{"pl"}, new PluralRules_Polish());
addRules(new String[]{"ro", "mo"}, new PluralRules_Romanian());
addRules(new String[]{"sl"}, new PluralRules_Slovenian());
addRules(new String[]{"ar"}, new PluralRules_Arabic());
addRules(new String[]{"mk"}, new PluralRules_Macedonian());
addRules(new String[]{"cy"}, new PluralRules_Welsh());
addRules(new String[]{"br"}, new PluralRules_Breton());
addRules(new String[]{"lag"}, new PluralRules_Langi());
addRules(new String[]{"shi"}, new PluralRules_Tachelhit());
addRules(new String[]{"mt"}, new PluralRules_Maltese());
addRules(new String[]{"ga", "se", "sma", "smi", "smj", "smn", "sms"}, new PluralRules_Two());
addRules(new String[]{"ak", "am", "bh", "fil", "tl", "guw", "hi", "ln", "mg", "nso", "ti", "wa"}, new PluralRules_Zero());
addRules(new String[]{"az", "bm", "fa", "ig", "hu", "ja", "kde", "kea", "ko", "my", "ses", "sg", "to",
"tr", "vi", "wo", "yo", "zh", "bo", "dz", "id", "jv", "ka", "km", "kn", "ms", "th"}, new PluralRules_None());
LocaleInfo localeInfo = new LocaleInfo();
localeInfo.name = "English";
localeInfo.nameEnglish = "English";
@ -239,6 +273,29 @@ public class LocaleController {
}
}
private void addRules(String[] languages, PluralRules rules) {
for (String language : languages) {
allRules.put(language, rules);
}
}
private String stringForQuantity(int quantity) {
switch (quantity) {
case QUANTITY_ZERO:
return "zero";
case QUANTITY_ONE:
return "one";
case QUANTITY_TWO:
return "two";
case QUANTITY_FEW:
return "few";
case QUANTITY_MANY:
return "many";
default:
return "other";
}
}
private String getLocaleString(Locale locale) {
if (locale == null) {
return "";
@ -461,6 +518,7 @@ public class LocaleController {
}
currentLocale = newLocale;
currentLocaleInfo = localeInfo;
currentPluralRules = allRules.get(currentLocale.getLanguage());
changingConfiguration = true;
Locale.setDefault(currentLocale);
android.content.res.Configuration config = new android.content.res.Configuration();
@ -491,6 +549,16 @@ public class LocaleController {
return value;
}
public static String formatPluralString(String key, int plural) {
if (key == null || key.length() == 0 || getInstance().currentPluralRules == null) {
return "LOC_ERR:" + key;
}
String param = getInstance().stringForQuantity(getInstance().currentPluralRules.quantityForNumber(plural));
param = key + "_" + param;
int resourceId = ApplicationLoader.applicationContext.getResources().getIdentifier(param, "string", ApplicationLoader.applicationContext.getPackageName());
return formatString(param, resourceId, plural);
}
public static String formatString(String key, int res, Object... args) {
String value = getInstance().localeValues.get(key);
if (value == null) {
@ -540,6 +608,7 @@ public class LocaleController {
recreateFormatters();
}
currentLocale = newLocale;
currentPluralRules = allRules.get(currentLocale.getLanguage());
}
}
}
@ -676,4 +745,253 @@ public class LocaleController {
}
}
}
abstract public static class PluralRules {
abstract int quantityForNumber(int n);
}
public static class PluralRules_Zero extends PluralRules {
public int quantityForNumber(int count) {
if (count == 0 || count == 1) {
return QUANTITY_ONE;
} else {
return QUANTITY_OTHER;
}
}
}
public static class PluralRules_Welsh extends PluralRules {
public int quantityForNumber(int count) {
if (count == 0) {
return QUANTITY_ZERO;
} else if (count == 1) {
return QUANTITY_ONE;
} else if (count == 2) {
return QUANTITY_TWO;
} else if (count == 3) {
return QUANTITY_FEW;
} else if (count == 6) {
return QUANTITY_MANY;
} else {
return QUANTITY_OTHER;
}
}
}
public static class PluralRules_Two extends PluralRules {
public int quantityForNumber(int count) {
if (count == 1) {
return QUANTITY_ONE;
} else if (count == 2) {
return QUANTITY_TWO;
} else {
return QUANTITY_OTHER;
}
}
}
public static class PluralRules_Tachelhit extends PluralRules {
public int quantityForNumber(int count) {
if (count >= 0 && count <= 1) {
return QUANTITY_ONE;
} else if (count >= 2 && count <= 10) {
return QUANTITY_FEW;
} else {
return QUANTITY_OTHER;
}
}
}
public static class PluralRules_Slovenian extends PluralRules {
public int quantityForNumber(int count) {
int rem100 = count % 100;
if (rem100 == 1) {
return QUANTITY_ONE;
} else if (rem100 == 2) {
return QUANTITY_TWO;
} else if (rem100 >= 3 && rem100 <= 4) {
return QUANTITY_FEW;
} else {
return QUANTITY_OTHER;
}
}
}
public static class PluralRules_Romanian extends PluralRules {
public int quantityForNumber(int count) {
int rem100 = count % 100;
if (count == 1) {
return QUANTITY_ONE;
} else if ((count == 0 || (rem100 >= 1 && rem100 <= 19))) {
return QUANTITY_FEW;
} else {
return QUANTITY_OTHER;
}
}
}
public static class PluralRules_Polish extends PluralRules {
public int quantityForNumber(int count) {
int rem100 = count % 100;
int rem10 = count % 10;
if (count == 1) {
return QUANTITY_ONE;
} else if (rem10 >= 2 && rem10 <= 4 && !(rem100 >= 12 && rem100 <= 14) && !(rem100 >= 22 && rem100 <= 24)) {
return QUANTITY_FEW;
} else {
return QUANTITY_OTHER;
}
}
}
public static class PluralRules_One extends PluralRules {
public int quantityForNumber(int count) {
return count == 1 ? QUANTITY_ONE : QUANTITY_OTHER;
}
}
public static class PluralRules_None extends PluralRules {
public int quantityForNumber(int count) {
return QUANTITY_OTHER;
}
}
public static class PluralRules_Maltese extends PluralRules {
public int quantityForNumber(int count) {
int rem100 = count % 100;
if (count == 1) {
return QUANTITY_ONE;
} else if (count == 0 || (rem100 >= 2 && rem100 <= 10)) {
return QUANTITY_FEW;
} else if (rem100 >= 11 && rem100 <= 19) {
return QUANTITY_MANY;
} else {
return QUANTITY_OTHER;
}
}
}
public static class PluralRules_Macedonian extends PluralRules {
public int quantityForNumber(int count) {
if (count % 10 == 1 && count != 11) {
return QUANTITY_ONE;
} else {
return QUANTITY_OTHER;
}
}
}
public static class PluralRules_Lithuanian extends PluralRules {
public int quantityForNumber(int count) {
int rem100 = count % 100;
int rem10 = count % 10;
if (rem10 == 1 && !(rem100 >= 11 && rem100 <= 19)) {
return QUANTITY_ONE;
} else if (rem10 >= 2 && rem10 <= 9 && !(rem100 >= 11 && rem100 <= 19)) {
return QUANTITY_FEW;
} else {
return QUANTITY_OTHER;
}
}
}
public static class PluralRules_Latvian extends PluralRules {
public int quantityForNumber(int count) {
if (count == 0) {
return QUANTITY_ZERO;
} else if (count % 10 == 1 && count % 100 != 11) {
return QUANTITY_ONE;
} else {
return QUANTITY_OTHER;
}
}
}
public static class PluralRules_Langi extends PluralRules {
public int quantityForNumber(int count) {
if (count == 0) {
return QUANTITY_ZERO;
} else if (count > 0 && count < 2) {
return QUANTITY_ONE;
} else {
return QUANTITY_OTHER;
}
}
}
public static class PluralRules_French extends PluralRules {
public int quantityForNumber(int count) {
if (count >= 0 && count < 2) {
return QUANTITY_ONE;
} else {
return QUANTITY_OTHER;
}
}
}
public static class PluralRules_Czech extends PluralRules {
public int quantityForNumber(int count) {
if (count == 1) {
return QUANTITY_ONE;
} else if (count >= 2 && count <= 4) {
return QUANTITY_FEW;
} else {
return QUANTITY_OTHER;
}
}
}
public static class PluralRules_Breton extends PluralRules {
public int quantityForNumber(int count) {
if (count == 0) {
return QUANTITY_ZERO;
} else if (count == 1) {
return QUANTITY_ONE;
} else if (count == 2) {
return QUANTITY_TWO;
} else if (count == 3) {
return QUANTITY_FEW;
} else if (count == 6) {
return QUANTITY_MANY;
} else {
return QUANTITY_OTHER;
}
}
}
public static class PluralRules_Balkan extends PluralRules {
public int quantityForNumber(int count) {
int rem100 = count % 100;
int rem10 = count % 10;
if (rem10 == 1 && rem100 != 11) {
return QUANTITY_ONE;
} else if (rem10 >= 2 && rem10 <= 4 && !(rem100 >= 12 && rem100 <= 14)) {
return QUANTITY_FEW;
} else if ((rem10 == 0 || (rem10 >= 5 && rem10 <= 9) || (rem100 >= 11 && rem100 <= 14))) {
return QUANTITY_MANY;
} else {
return QUANTITY_OTHER;
}
}
}
public static class PluralRules_Arabic extends PluralRules {
public int quantityForNumber(int count) {
int rem100 = count % 100;
if (count == 0) {
return QUANTITY_ZERO;
} else if (count == 1) {
return QUANTITY_ONE;
} else if (count == 2) {
return QUANTITY_TWO;
} else if (rem100 >= 3 && rem100 <= 10) {
return QUANTITY_FEW;
} else if (rem100 >= 11 && rem100 <= 99) {
return QUANTITY_MANY;
} else {
return QUANTITY_OTHER;
}
}
}
}

View file

@ -998,7 +998,7 @@ public class MessagesController implements NotificationCenter.NotificationCenter
if (label.length() != 0) {
if (count > 1) {
if (arr.size() > 2) {
newPrintingStrings.put(key, Html.fromHtml(String.format("%s %s %s", label, String.format(LocaleController.getString("AndMoreTyping", R.string.AndMoreTyping), arr.size() - 2), LocaleController.getString("AreTyping", R.string.AreTyping))));
newPrintingStrings.put(key, Html.fromHtml(String.format("%s %s", label, LocaleController.formatPluralString("AndMoreTyping", arr.size() - 2))));
} else {
newPrintingStrings.put(key, Html.fromHtml(String.format("%s %s", label, LocaleController.getString("AreTyping", R.string.AreTyping))));
}

View file

@ -1210,9 +1210,9 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not
actionBarLayer.setSubtitle(LocaleController.getString("YouLeft", R.string.YouLeft));
} else {
if (onlineCount > 0 && currentChat.participants_count != 0) {
actionBarLayer.setSubtitle(String.format("%d %s, %d %s", currentChat.participants_count, LocaleController.getString("Members", R.string.Members), onlineCount, LocaleController.getString("Online", R.string.Online)));
actionBarLayer.setSubtitle(String.format("%s, %d %s", LocaleController.formatPluralString("Members", currentChat.participants_count), onlineCount, LocaleController.getString("Online", R.string.Online)));
} else {
actionBarLayer.setSubtitle(String.format("%d %s", currentChat.participants_count, LocaleController.getString("Members", R.string.Members)));
actionBarLayer.setSubtitle(LocaleController.formatPluralString("Members", currentChat.participants_count));
}
}
} else if (currentUser != null) {
@ -3261,6 +3261,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not
return;
}
if (message.type == 1) {
PhotoViewer.getInstance().setParentActivity(getParentActivity());
PhotoViewer.getInstance().openPhoto(message, ChatActivity.this);
} else if (message.type == 3) {
try {
@ -3460,11 +3461,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not
addContactView.setVisibility(View.GONE);
}
} else if (type == 7) {
if (unread_to_load == 1) {
messageTextView.setText(LocaleController.formatString("OneNewMessage", R.string.OneNewMessage, unread_to_load));
} else {
messageTextView.setText(LocaleController.formatString("FewNewMessages", R.string.FewNewMessages, unread_to_load));
}
messageTextView.setText(LocaleController.formatPluralString("NewMessages", unread_to_load));
} else if (type == 8 || type == 9) {
TLRPC.Document document = message.messageOwner.media.document;
if (document instanceof TLRPC.TL_document || document instanceof TLRPC.TL_documentEncrypted) {
@ -3893,6 +3890,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not
}
if (message != null) {
if (message.type == 11) {
PhotoViewer.getInstance().setParentActivity(getParentActivity());
PhotoViewer.getInstance().openPhoto(message, ChatActivity.this);
} else if (message.type == 8 || message.type == 9) {
File f = null;

View file

@ -443,6 +443,7 @@ public class ChatProfileActivity extends BaseFragment implements NotificationCen
if (action == 0) {
TLRPC.Chat chat = MessagesController.getInstance().chats.get(chat_id);
if (chat.photo != null && chat.photo.photo_big != null) {
PhotoViewer.getInstance().setParentActivity(getParentActivity());
PhotoViewer.getInstance().openPhoto(chat.photo.photo_big, this);
}
} else if (action == 1) {
@ -603,9 +604,9 @@ public class ChatProfileActivity extends BaseFragment implements NotificationCen
textView.setText(chat.title);
if (chat.participants_count != 0 && onlineCount > 0) {
onlineText.setText(Html.fromHtml(String.format("%d %s, <font color='#357aa8'>%d %s</font>", chat.participants_count, LocaleController.getString("Members", R.string.Members), onlineCount, LocaleController.getString("Online", R.string.Online))));
onlineText.setText(Html.fromHtml(String.format("%s, <font color='#357aa8'>%d %s</font>", LocaleController.formatPluralString("Members", chat.participants_count), onlineCount, LocaleController.getString("Online", R.string.Online))));
} else {
onlineText.setText(String.format("%d %s", chat.participants_count, LocaleController.getString("Members", R.string.Members)));
onlineText.setText(LocaleController.formatPluralString("Members", chat.participants_count));
}
TLRPC.FileLocation photo = null;
@ -629,7 +630,7 @@ public class ChatProfileActivity extends BaseFragment implements NotificationCen
textView.setText(LocaleController.getString("SHAREDMEDIA", R.string.SHAREDMEDIA));
} else if (i == membersSectionRow) {
TLRPC.Chat chat = MessagesController.getInstance().chats.get(chat_id);
textView.setText(String.format("%d %s", chat.participants_count, LocaleController.getString("MEMBERS", R.string.MEMBERS)));
textView.setText(LocaleController.formatPluralString("Members", chat.participants_count).toUpperCase());
}
} else if (type == 2) {
if (view == null) {

View file

@ -127,7 +127,7 @@ public class GroupCreateActivity extends BaseFragment implements NotificationCen
actionBarLayer.setDisplayHomeAsUpEnabled(true, R.drawable.ic_ab_back);
actionBarLayer.setBackOverlay(R.layout.updating_state_layout);
actionBarLayer.setTitle(LocaleController.getString("NewGroup", R.string.NewGroup));
actionBarLayer.setSubtitle(String.format("%d/200 %s", selectedContacts.size(), LocaleController.getString("Members", R.string.Members)));
actionBarLayer.setSubtitle(LocaleController.formatString("MembersCount", R.string.MembersCount, selectedContacts.size(), 200));
actionBarLayer.setActionBarMenuOnItemClick(new ActionBarLayer.ActionBarMenuOnItemClick() {
@Override
@ -201,7 +201,7 @@ public class GroupCreateActivity extends BaseFragment implements NotificationCen
selectedContacts.remove(sp.uid);
}
}
actionBarLayer.setSubtitle(String.format("%d/200 %s", selectedContacts.size(), LocaleController.getString("Members", R.string.Members)));
actionBarLayer.setSubtitle(LocaleController.formatString("MembersCount", R.string.MembersCount, selectedContacts.size(), 200));
listView.invalidateViews();
} else {
search = true;
@ -267,7 +267,7 @@ public class GroupCreateActivity extends BaseFragment implements NotificationCen
span.uid = user.id;
ignoreChange = false;
}
actionBarLayer.setSubtitle(String.format("%d/200 %s", selectedContacts.size(), LocaleController.getString("Members", R.string.Members)));
actionBarLayer.setSubtitle(LocaleController.formatString("MembersCount", R.string.MembersCount, selectedContacts.size(), 200));
if (searching || searchWas) {
searching = false;
searchWas = false;

View file

@ -407,11 +407,7 @@ public class GroupCreateFinalActivity extends BaseFragment implements Notificati
convertView.setBackgroundColor(0xffffffff);
}
TextView textView = (TextView)convertView.findViewById(R.id.settings_section_text);
if (selectedContacts.size() == 1) {
textView.setText(selectedContacts.size() + " " + LocaleController.getString("MEMBER", R.string.MEMBER));
} else {
textView.setText(selectedContacts.size() + " " + LocaleController.getString("MEMBERS", R.string.MEMBERS));
}
textView.setText(LocaleController.formatPluralString("Members", selectedContacts.size()).toUpperCase());
return convertView;
}
}

View file

@ -140,8 +140,6 @@ public class LaunchActivity extends ActionBarActivity implements NotificationCen
}
handleIntent(getIntent(), false, savedInstanceState != null);
PhotoViewer.getInstance().setParentActivity(this);
}
private void handleIntent(Intent intent, boolean isNew, boolean restore) {

View file

@ -114,6 +114,7 @@ public class MediaActivity extends BaseFragment implements NotificationCenter.No
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
PhotoViewer.getInstance().setParentActivity(getParentActivity());
PhotoViewer.getInstance().openPhoto(messages, i, MediaActivity.this);
}
});

View file

@ -159,6 +159,7 @@ public class PhotoPickerActivity extends BaseFragment implements NotificationCen
if (i < 0 || i >= selectedAlbum.photos.size()) {
return;
}
PhotoViewer.getInstance().setParentActivity(getParentActivity());
PhotoViewer.getInstance().openPhotoForSelect(selectedAlbum.photos, i, PhotoPickerActivity.this);
}
}

View file

@ -445,6 +445,9 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat
}
public void setParentActivity(Activity activity) {
if (parentActivity == activity) {
return;
}
parentActivity = activity;
scroller = new Scroller(activity);

View file

@ -748,6 +748,7 @@ public class SettingsActivity extends BaseFragment implements NotificationCenter
if (i == 0 && full) {
TLRPC.User user = MessagesController.getInstance().users.get(UserConfig.getClientUserId());
if (user != null && user.photo != null && user.photo.photo_big != null) {
PhotoViewer.getInstance().setParentActivity(getParentActivity());
PhotoViewer.getInstance().openPhoto(user.photo.photo_big, SettingsActivity.this);
}
} else if (i == 0 && !full || i == 1 && full) {

View file

@ -524,6 +524,7 @@ public class UserProfileActivity extends BaseFragment implements NotificationCen
public void onClick(View view) {
TLRPC.User user = MessagesController.getInstance().users.get(user_id);
if (user.photo != null && user.photo.photo_big != null) {
PhotoViewer.getInstance().setParentActivity(getParentActivity());
PhotoViewer.getInstance().openPhoto(user.photo.photo_big, UserProfileActivity.this);
}
}

View file

@ -76,7 +76,6 @@
<string name="Attach">أرفق</string>
<string name="IsTyping">يكتب… </string>
<string name="AreTyping">يكتبون… </string>
<string name="AndMoreTyping">و %d آخرون كتبون</string>
<string name="GotAQuestion">هل يوجد لديك سؤال\nحول تيليجرام؟</string>
<string name="ChatTakePhoto">التقط صورة</string>
<string name="ChatGallery">صورة</string>
@ -90,7 +89,6 @@
<string name="ForwardedMessage">الرسالة المعاد توجيهها</string>
<string name="From">من</string>
<string name="NoRecent">لا توجد رسائل أحدث</string>
<string name="Members">أعضاء</string>
<string name="Message">الرسالة</string>
<string name="TypeMessage">أكتب رسالة</string>
<string name="DOWNLOAD">تحميل</string>
@ -104,8 +102,6 @@
<string name="EncryptedDescription2">لا تترك أثرًا في خوادمنا</string>
<string name="EncryptedDescription3">تمتلك عداد للتدمير الذاتي</string>
<string name="EncryptedDescription4">لا تسمح بتحويل الرسائل</string>
<string name="OneNewMessage">%1$d رسالة جديدة</string>
<string name="FewNewMessages">%1$d رسائل جديدة</string>
<string name="YouWereKicked">لقد تم إخراجك من هذه المجموعة</string>
<string name="YouLeft">لقد قمت بمغادرة المجموعة</string>
<string name="DeleteThisGroup">حذف هذه المجموعة</string>
@ -172,10 +168,9 @@
<!--group create view-->
<string name="SendMessageTo">إرسال الرسالة إلى...</string>
<string name="EnterGroupNamePlaceholder">أدخل اسم للمجموعة</string>
<string name="MEMBER">عضو</string>
<string name="GroupName">اسم المجموعة</string>
<string name="MEMBERS">أعضاء</string>
<string name="AllContacts">جميع جهات الاتصال</string>
<string name="MembersCount">%1$d/%2$d members</string>
<!--group info view-->
<string name="EnterGroupNameTitle">أدخل سم للمجموعة</string>
@ -385,6 +380,42 @@
<string name="Page7Message"><![CDATA[<b>تيليجرام</b>]]> الرسائل مشفرة بشكل قوي وتستطيع تدمير ذاتها</string>
<string name="StartMessaging">إبدأ المراسلة</string>
<!--plurals-->
<string name="Members_zero">no members</string>
<string name="Members_one">%1$d member</string>
<string name="Members_two">%1$d members</string>
<string name="Members_few">%1$d members</string>
<string name="Members_many">%1$d members</string>
<string name="Members_other">%1$d members</string>
<string name="AndMoreTyping_zero">and %1$d more people are typing</string>
<string name="AndMoreTyping_one">and %1$d more people are typing</string>
<string name="AndMoreTyping_two">and %1$d more people are typing</string>
<string name="AndMoreTyping_few">and %1$d more people are typing</string>
<string name="AndMoreTyping_many">and %1$d more people are typing</string>
<string name="AndMoreTyping_other">and %1$d more people are typing</string>
<string name="NewMessages_zero">no new messages</string>
<string name="NewMessages_one">%1$d new message</string>
<string name="NewMessages_two">%1$d new messages</string>
<string name="NewMessages_few">%1$d new messages</string>
<string name="NewMessages_many">%1$d new messages</string>
<string name="NewMessages_other">%1$d new messages</string>
<string name="messages_zero">no messages</string>
<string name="messages_one">%1$d message</string>
<string name="messages_two">%1$d messages</string>
<string name="messages_few">%1$d messages</string>
<string name="messages_many">%1$d messages</string>
<string name="messages_other">%1$d messages</string>
<string name="FromContacts_zero">from no contacts</string>
<string name="FromContacts_one">from %1$d contact</string>
<string name="FromContacts_two">from %1$d contacts</string>
<string name="FromContacts_few">from %1$d contacts</string>
<string name="FromContacts_many">from %1$d contacts</string>
<string name="FromContacts_other">from %1$d contacts</string>
<!--Don't change this! Not for localization!-->
<string name="CacheTag">CACHE_TAG</string>
</resources>

View file

@ -76,7 +76,6 @@
<string name="Attach">Anhängen</string>
<string name="IsTyping">schreibt...</string>
<string name="AreTyping">tippen…</string>
<string name="AndMoreTyping">und %d weitere Personen</string>
<string name="GotAQuestion">Du hast eine Frage\nzu Telegram?</string>
<string name="ChatTakePhoto">Foto aufnehmen</string>
<string name="ChatGallery">Galerie</string>
@ -90,7 +89,6 @@
<string name="ForwardedMessage">Weitergeleitete Nachricht</string>
<string name="From">Von</string>
<string name="NoRecent">Keine aktuellen</string>
<string name="Members">Mitglieder</string>
<string name="Message">Nachricht</string>
<string name="TypeMessage">Nachricht verfassen</string>
<string name="DOWNLOAD">Download</string>
@ -104,8 +102,6 @@
<string name="EncryptedDescription2">Hinterlassen keine Spuren auf unseren Servern</string>
<string name="EncryptedDescription3">Haben einen Selbstzerstörungs-Timer</string>
<string name="EncryptedDescription4">Erlauben keine Weiterleitung von Nachrichten</string>
<string name="OneNewMessage">%1$d neue Nachricht</string>
<string name="FewNewMessages">%1$d neue Nachrichten</string>
<string name="YouWereKicked">Du wurdest aus der Gruppe entfernt</string>
<string name="YouLeft">Du hast die Gruppe verlassen</string>
<string name="DeleteThisGroup">Diese Gruppe löschen</string>
@ -172,10 +168,9 @@
<!--group create view-->
<string name="SendMessageTo">Sende Nachricht an…</string>
<string name="EnterGroupNamePlaceholder">Gruppennamen eingeben</string>
<string name="MEMBER">MITGLIED</string>
<string name="GroupName">Gruppenname</string>
<string name="MEMBERS">MITGLIEDER</string>
<string name="AllContacts">ALLE KONTAKTE</string>
<string name="MembersCount">%1$d/%2$d members</string>
<!--group info view-->
<string name="EnterGroupNameTitle">GRUPPENNAMEN EINGEBEN</string>
@ -385,6 +380,42 @@
<string name="Page7Message"><![CDATA[<b>Telegram</b>]]>-Nachrichten sind stark verschlüsselt und können sich selbst zerstören</string>
<string name="StartMessaging">Jetzt beginnen</string>
<!--plurals-->
<string name="Members_zero">no members</string>
<string name="Members_one">%1$d member</string>
<string name="Members_two">%1$d members</string>
<string name="Members_few">%1$d members</string>
<string name="Members_many">%1$d members</string>
<string name="Members_other">%1$d members</string>
<string name="AndMoreTyping_zero">and %1$d more people are typing</string>
<string name="AndMoreTyping_one">and %1$d more people are typing</string>
<string name="AndMoreTyping_two">and %1$d more people are typing</string>
<string name="AndMoreTyping_few">and %1$d more people are typing</string>
<string name="AndMoreTyping_many">and %1$d more people are typing</string>
<string name="AndMoreTyping_other">and %1$d more people are typing</string>
<string name="NewMessages_zero">no new messages</string>
<string name="NewMessages_one">%1$d new message</string>
<string name="NewMessages_two">%1$d new messages</string>
<string name="NewMessages_few">%1$d new messages</string>
<string name="NewMessages_many">%1$d new messages</string>
<string name="NewMessages_other">%1$d new messages</string>
<string name="messages_zero">no messages</string>
<string name="messages_one">%1$d message</string>
<string name="messages_two">%1$d messages</string>
<string name="messages_few">%1$d messages</string>
<string name="messages_many">%1$d messages</string>
<string name="messages_other">%1$d messages</string>
<string name="FromContacts_zero">from no contacts</string>
<string name="FromContacts_one">from %1$d contact</string>
<string name="FromContacts_two">from %1$d contacts</string>
<string name="FromContacts_few">from %1$d contacts</string>
<string name="FromContacts_many">from %1$d contacts</string>
<string name="FromContacts_other">from %1$d contacts</string>
<!--Don't change this! Not for localization!-->
<string name="CacheTag">CACHE_TAG</string>
</resources>

View file

@ -76,7 +76,6 @@
<string name="Attach">Adjuntar</string>
<string name="IsTyping">está escribiendo...</string>
<string name="AreTyping">están escribiendo...</string>
<string name="AndMoreTyping">y %d personas más</string>
<string name="GotAQuestion">¿Tienes una pregunta\nsobre Telegram?</string>
<string name="ChatTakePhoto">Hacer foto</string>
<string name="ChatGallery">Galería</string>
@ -90,7 +89,6 @@
<string name="ForwardedMessage">Mensaje reenviado</string>
<string name="From">De</string>
<string name="NoRecent">No hay recientes</string>
<string name="Members">miembros</string>
<string name="Message">Mensaje</string>
<string name="TypeMessage">Escribe un mensaje</string>
<string name="DOWNLOAD">Descargar</string>
@ -104,8 +102,6 @@
<string name="EncryptedDescription2">No dejan rastro en nuestros servidores</string>
<string name="EncryptedDescription3">Tienen autodestrucción de mensajes</string>
<string name="EncryptedDescription4">No permiten reenvíos de mensajes</string>
<string name="OneNewMessage">%1$d nuevo mensaje</string>
<string name="FewNewMessages">%1$d nuevos mensajes</string>
<string name="YouWereKicked">Has sido expulsado de este grupo</string>
<string name="YouLeft">Has abandonado este grupo</string>
<string name="DeleteThisGroup">Eliminar este grupo</string>
@ -172,10 +168,9 @@
<!--group create view-->
<string name="SendMessageTo">Enviar mensaje a...</string>
<string name="EnterGroupNamePlaceholder">El nombre del grupo</string>
<string name="MEMBER">MIEMBRO</string>
<string name="GroupName">Nombre del grupo</string>
<string name="MEMBERS">MIEMBROS</string>
<string name="AllContacts">TODOS LOS CONTACTOS</string>
<string name="MembersCount">%1$d/%2$d members</string>
<!--group info view-->
<string name="EnterGroupNameTitle">INGRESA EL NOMBRE DEL GRUPO</string>
@ -385,6 +380,42 @@
<string name="Page7Message">Los mensajes de <![CDATA[<b>Telegram</b>]]> están fuertemente<![CDATA[<br/>]]>cifrados y se pueden autodestruir.</string>
<string name="StartMessaging">Empieza a conversar</string>
<!--plurals-->
<string name="Members_zero">no members</string>
<string name="Members_one">%1$d member</string>
<string name="Members_two">%1$d members</string>
<string name="Members_few">%1$d members</string>
<string name="Members_many">%1$d members</string>
<string name="Members_other">%1$d members</string>
<string name="AndMoreTyping_zero">and %1$d more people are typing</string>
<string name="AndMoreTyping_one">and %1$d more people are typing</string>
<string name="AndMoreTyping_two">and %1$d more people are typing</string>
<string name="AndMoreTyping_few">and %1$d more people are typing</string>
<string name="AndMoreTyping_many">and %1$d more people are typing</string>
<string name="AndMoreTyping_other">and %1$d more people are typing</string>
<string name="NewMessages_zero">no new messages</string>
<string name="NewMessages_one">%1$d new message</string>
<string name="NewMessages_two">%1$d new messages</string>
<string name="NewMessages_few">%1$d new messages</string>
<string name="NewMessages_many">%1$d new messages</string>
<string name="NewMessages_other">%1$d new messages</string>
<string name="messages_zero">no messages</string>
<string name="messages_one">%1$d message</string>
<string name="messages_two">%1$d messages</string>
<string name="messages_few">%1$d messages</string>
<string name="messages_many">%1$d messages</string>
<string name="messages_other">%1$d messages</string>
<string name="FromContacts_zero">from no contacts</string>
<string name="FromContacts_one">from %1$d contact</string>
<string name="FromContacts_two">from %1$d contacts</string>
<string name="FromContacts_few">from %1$d contacts</string>
<string name="FromContacts_many">from %1$d contacts</string>
<string name="FromContacts_other">from %1$d contacts</string>
<!--Don't change this! Not for localization!-->
<string name="CacheTag">CACHE_TAG</string>
</resources>

View file

@ -76,7 +76,6 @@
<string name="Attach">Allega</string>
<string name="IsTyping">sta scrivendo…</string>
<string name="AreTyping">stanno scrivendo…</string>
<string name="AndMoreTyping">e altre %d persone</string>
<string name="GotAQuestion">Hai una domanda\nsu Telegram?</string>
<string name="ChatTakePhoto">Scatta una foto</string>
<string name="ChatGallery">Galleria</string>
@ -90,7 +89,6 @@
<string name="ForwardedMessage">Messaggio inoltrato</string>
<string name="From">Da</string>
<string name="NoRecent">Nessuno recente</string>
<string name="Members">membri</string>
<string name="Message">Messaggio</string>
<string name="TypeMessage">Scrivi il messaggio</string>
<string name="DOWNLOAD">Scarica</string>
@ -104,8 +102,6 @@
<string name="EncryptedDescription2">Non lasciano traccia sui nostri server</string>
<string name="EncryptedDescription3">Hanno un contatore di autodistruzione</string>
<string name="EncryptedDescription4">Non permettono linoltro</string>
<string name="OneNewMessage">%1$d nuovo messaggio</string>
<string name="FewNewMessages">%1$d nuovi messaggi</string>
<string name="YouWereKicked">Sei stato espulso da questo gruppo</string>
<string name="YouLeft">Hai lasciato il gruppo</string>
<string name="DeleteThisGroup">Elimina questo gruppo</string>
@ -172,10 +168,9 @@
<!--group create view-->
<string name="SendMessageTo">Invia messaggio a...</string>
<string name="EnterGroupNamePlaceholder">Immetti il nome del gruppo</string>
<string name="MEMBER">MEMBRO</string>
<string name="GroupName">Nome gruppo</string>
<string name="MEMBERS">MEMBRI</string>
<string name="AllContacts">TUTTI I CONTATTI</string>
<string name="MembersCount">%1$d/%2$d members</string>
<!--group info view-->
<string name="EnterGroupNameTitle">INSERISCI IL NOME DEL GRUPPO</string>
@ -385,6 +380,42 @@
<string name="Page7Message"><![CDATA[<b>Telegram</b>]]> cifra in maniera sicura i messaggi e può far sì che si autodistruggano</string>
<string name="StartMessaging">Inizia a inviare messaggi</string>
<!--plurals-->
<string name="Members_zero">no members</string>
<string name="Members_one">%1$d member</string>
<string name="Members_two">%1$d members</string>
<string name="Members_few">%1$d members</string>
<string name="Members_many">%1$d members</string>
<string name="Members_other">%1$d members</string>
<string name="AndMoreTyping_zero">and %1$d more people are typing</string>
<string name="AndMoreTyping_one">and %1$d more people are typing</string>
<string name="AndMoreTyping_two">and %1$d more people are typing</string>
<string name="AndMoreTyping_few">and %1$d more people are typing</string>
<string name="AndMoreTyping_many">and %1$d more people are typing</string>
<string name="AndMoreTyping_other">and %1$d more people are typing</string>
<string name="NewMessages_zero">no new messages</string>
<string name="NewMessages_one">%1$d new message</string>
<string name="NewMessages_two">%1$d new messages</string>
<string name="NewMessages_few">%1$d new messages</string>
<string name="NewMessages_many">%1$d new messages</string>
<string name="NewMessages_other">%1$d new messages</string>
<string name="messages_zero">no messages</string>
<string name="messages_one">%1$d message</string>
<string name="messages_two">%1$d messages</string>
<string name="messages_few">%1$d messages</string>
<string name="messages_many">%1$d messages</string>
<string name="messages_other">%1$d messages</string>
<string name="FromContacts_zero">from no contacts</string>
<string name="FromContacts_one">from %1$d contact</string>
<string name="FromContacts_two">from %1$d contacts</string>
<string name="FromContacts_few">from %1$d contacts</string>
<string name="FromContacts_many">from %1$d contacts</string>
<string name="FromContacts_other">from %1$d contacts</string>
<!--Don't change this! Not for localization!-->
<string name="CacheTag">CACHE_TAG</string>
</resources>

View file

@ -76,7 +76,6 @@
<string name="Attach">Bijvoegen</string>
<string name="IsTyping">is aan het typen…</string>
<string name="AreTyping">zijn aan het typen…</string>
<string name="AndMoreTyping">en nog %d personen</string>
<string name="GotAQuestion">Heb je een vraag\nover Telegram?</string>
<string name="ChatTakePhoto">Foto maken</string>
<string name="ChatGallery">Galerij</string>
@ -90,7 +89,6 @@
<string name="ForwardedMessage">Doorgestuurd bericht</string>
<string name="From">Van</string>
<string name="NoRecent">Niets recents</string>
<string name="Members">deelnemers</string>
<string name="Message">Bericht</string>
<string name="TypeMessage">Typ een bericht...</string>
<string name="DOWNLOAD">Downloaden</string>
@ -104,8 +102,6 @@
<string name="EncryptedDescription2">laten geen sporen achter op onze server</string>
<string name="EncryptedDescription3">verlopen automatisch</string>
<string name="EncryptedDescription4">staan doorsturen niet toe</string>
<string name="OneNewMessage">%1$d nieuw bericht</string>
<string name="FewNewMessages">%1$d nieuwe berichten</string>
<string name="YouWereKicked">Je bent verwijderd uit deze groep</string>
<string name="YouLeft">Je hebt deze groep verlaten</string>
<string name="DeleteThisGroup">Deze groep verwijderen</string>
@ -172,10 +168,9 @@
<!--group create view-->
<string name="SendMessageTo">Bericht verzenden naar…</string>
<string name="EnterGroupNamePlaceholder">Groepsnaam...</string>
<string name="MEMBER">DEELNEMER</string>
<string name="GroupName">Groepsnaam</string>
<string name="MEMBERS">DEELNEMERS</string>
<string name="AllContacts">ALLE CONTACTEN</string>
<string name="MembersCount">%1$d/%2$d members</string>
<!--group info view-->
<string name="EnterGroupNameTitle">GROEPSNAAM INSTELLEN</string>
@ -385,6 +380,42 @@
<string name="Page7Message"><![CDATA[<b>Telegram</b>]]> berichten zijn sterk versleuteld en kunnen zichzelf vernietigen</string>
<string name="StartMessaging">Begin nu met chatten</string>
<!--plurals-->
<string name="Members_zero">no members</string>
<string name="Members_one">%1$d member</string>
<string name="Members_two">%1$d members</string>
<string name="Members_few">%1$d members</string>
<string name="Members_many">%1$d members</string>
<string name="Members_other">%1$d members</string>
<string name="AndMoreTyping_zero">and %1$d more people are typing</string>
<string name="AndMoreTyping_one">and %1$d more people are typing</string>
<string name="AndMoreTyping_two">and %1$d more people are typing</string>
<string name="AndMoreTyping_few">and %1$d more people are typing</string>
<string name="AndMoreTyping_many">and %1$d more people are typing</string>
<string name="AndMoreTyping_other">and %1$d more people are typing</string>
<string name="NewMessages_zero">no new messages</string>
<string name="NewMessages_one">%1$d new message</string>
<string name="NewMessages_two">%1$d new messages</string>
<string name="NewMessages_few">%1$d new messages</string>
<string name="NewMessages_many">%1$d new messages</string>
<string name="NewMessages_other">%1$d new messages</string>
<string name="messages_zero">no messages</string>
<string name="messages_one">%1$d message</string>
<string name="messages_two">%1$d messages</string>
<string name="messages_few">%1$d messages</string>
<string name="messages_many">%1$d messages</string>
<string name="messages_other">%1$d messages</string>
<string name="FromContacts_zero">from no contacts</string>
<string name="FromContacts_one">from %1$d contact</string>
<string name="FromContacts_two">from %1$d contacts</string>
<string name="FromContacts_few">from %1$d contacts</string>
<string name="FromContacts_many">from %1$d contacts</string>
<string name="FromContacts_other">from %1$d contacts</string>
<!--Don't change this! Not for localization!-->
<string name="CacheTag">CACHE_TAG</string>
</resources>

View file

@ -76,7 +76,6 @@
<string name="Attach">Anexar</string>
<string name="IsTyping">está escrevendo...</string>
<string name="AreTyping">estão escrevendo...</string>
<string name="AndMoreTyping">e %d mais pessoas</string>
<string name="GotAQuestion">Tem alguma dúvida\nsobre o Telegram?</string>
<string name="ChatTakePhoto">Tirar foto</string>
<string name="ChatGallery">Galeria</string>
@ -90,7 +89,6 @@
<string name="ForwardedMessage">Mensagem encaminhada</string>
<string name="From">De</string>
<string name="NoRecent">Nada recente</string>
<string name="Members">membros</string>
<string name="Message">Mensagem</string>
<string name="TypeMessage">Escrever mensagem</string>
<string name="DOWNLOAD">Baixar</string>
@ -104,8 +102,6 @@
<string name="EncryptedDescription2">Não deixam rastro em nossos servidores</string>
<string name="EncryptedDescription3">Têm temporizador para a autodestruição das mensagens</string>
<string name="EncryptedDescription4">Não permitem o reencaminhamento</string>
<string name="OneNewMessage">%1$d nova mensagem</string>
<string name="FewNewMessages">%1$d novas mensagens</string>
<string name="YouWereKicked">Você foi removido deste grupo</string>
<string name="YouLeft">Você saiu deste grupo</string>
<string name="DeleteThisGroup">Apagar este grupo</string>
@ -172,10 +168,9 @@
<!--group create view-->
<string name="SendMessageTo">Enviar mensagem para...</string>
<string name="EnterGroupNamePlaceholder">Digite o nome do grupo</string>
<string name="MEMBER">MEMBRO</string>
<string name="GroupName">Nome do grupo</string>
<string name="MEMBERS">MEMBROS</string>
<string name="AllContacts">TODOS OS CONTATOS</string>
<string name="MembersCount">%1$d/%2$d members</string>
<!--group info view-->
<string name="EnterGroupNameTitle">DIGITE O NOME DO GRUPO</string>
@ -385,6 +380,42 @@
<string name="Page7Message">As mensagens do <![CDATA[<b>Telegram</b>]]> são fortemente criptografadas<![CDATA[<br/>]]>e podem se autodestruir</string>
<string name="StartMessaging">Comece a conversar</string>
<!--plurals-->
<string name="Members_zero">no members</string>
<string name="Members_one">%1$d member</string>
<string name="Members_two">%1$d members</string>
<string name="Members_few">%1$d members</string>
<string name="Members_many">%1$d members</string>
<string name="Members_other">%1$d members</string>
<string name="AndMoreTyping_zero">and %1$d more people are typing</string>
<string name="AndMoreTyping_one">and %1$d more people are typing</string>
<string name="AndMoreTyping_two">and %1$d more people are typing</string>
<string name="AndMoreTyping_few">and %1$d more people are typing</string>
<string name="AndMoreTyping_many">and %1$d more people are typing</string>
<string name="AndMoreTyping_other">and %1$d more people are typing</string>
<string name="NewMessages_zero">no new messages</string>
<string name="NewMessages_one">%1$d new message</string>
<string name="NewMessages_two">%1$d new messages</string>
<string name="NewMessages_few">%1$d new messages</string>
<string name="NewMessages_many">%1$d new messages</string>
<string name="NewMessages_other">%1$d new messages</string>
<string name="messages_zero">no messages</string>
<string name="messages_one">%1$d message</string>
<string name="messages_two">%1$d messages</string>
<string name="messages_few">%1$d messages</string>
<string name="messages_many">%1$d messages</string>
<string name="messages_other">%1$d messages</string>
<string name="FromContacts_zero">from no contacts</string>
<string name="FromContacts_one">from %1$d contact</string>
<string name="FromContacts_two">from %1$d contacts</string>
<string name="FromContacts_few">from %1$d contacts</string>
<string name="FromContacts_many">from %1$d contacts</string>
<string name="FromContacts_other">from %1$d contacts</string>
<!--Don't change this! Not for localization!-->
<string name="CacheTag">CACHE_TAG</string>
</resources>

View file

@ -76,7 +76,6 @@
<string name="Attach">Anexar</string>
<string name="IsTyping">está a escrever...</string>
<string name="AreTyping">estão a escrever...</string>
<string name="AndMoreTyping">e mais %d pessoas</string>
<string name="GotAQuestion">Tem alguma pergunta\nacerca do Telegram?</string>
<string name="ChatTakePhoto">Tirar uma foto</string>
<string name="ChatGallery">Galeria</string>
@ -90,7 +89,6 @@
<string name="ForwardedMessage">Mensagem reencaminhada</string>
<string name="From">De</string>
<string name="NoRecent">Não há recentes</string>
<string name="Members">membros</string>
<string name="Message">Mensagem</string>
<string name="TypeMessage">Escrever mensagem</string>
<string name="DOWNLOAD">Transferir</string>
@ -104,8 +102,6 @@
<string name="EncryptedDescription2">Não deixam rasto nos nossos servidores</string>
<string name="EncryptedDescription3">Têm temporizador para a autodestruição das mensagens</string>
<string name="EncryptedDescription4">Não permitem o reencaminhamento</string>
<string name="OneNewMessage">%1$d nova mensagem</string>
<string name="FewNewMessages">%1$d novas mensagens</string>
<string name="YouWereKicked">Foi removido do grupo</string>
<string name="YouLeft">Deixou este grupo</string>
<string name="DeleteThisGroup">Eliminar este grupo</string>
@ -172,10 +168,9 @@
<!--group create view-->
<string name="SendMessageTo">Enviar mensagem para...</string>
<string name="EnterGroupNamePlaceholder">Introduza o nome do grupo</string>
<string name="MEMBER">MEMBRO</string>
<string name="GroupName">Nome do grupo</string>
<string name="MEMBERS">MEMBROS</string>
<string name="AllContacts">TODOS OS CONTACTOS</string>
<string name="MembersCount">%1$d/%2$d members</string>
<!--group info view-->
<string name="EnterGroupNameTitle">INTRODUZA O NOME DO GRUPO</string>
@ -385,6 +380,42 @@
<string name="Page7Message">As mensagens do <![CDATA[<b>Telegram</b>]]> estão fortemente encriptadas<![CDATA[<br/>]]>e podem ser autodestruídas</string>
<string name="StartMessaging">Comece a conversar</string>
<!--plurals-->
<string name="Members_zero">no members</string>
<string name="Members_one">%1$d member</string>
<string name="Members_two">%1$d members</string>
<string name="Members_few">%1$d members</string>
<string name="Members_many">%1$d members</string>
<string name="Members_other">%1$d members</string>
<string name="AndMoreTyping_zero">and %1$d more people are typing</string>
<string name="AndMoreTyping_one">and %1$d more people are typing</string>
<string name="AndMoreTyping_two">and %1$d more people are typing</string>
<string name="AndMoreTyping_few">and %1$d more people are typing</string>
<string name="AndMoreTyping_many">and %1$d more people are typing</string>
<string name="AndMoreTyping_other">and %1$d more people are typing</string>
<string name="NewMessages_zero">no new messages</string>
<string name="NewMessages_one">%1$d new message</string>
<string name="NewMessages_two">%1$d new messages</string>
<string name="NewMessages_few">%1$d new messages</string>
<string name="NewMessages_many">%1$d new messages</string>
<string name="NewMessages_other">%1$d new messages</string>
<string name="messages_zero">no messages</string>
<string name="messages_one">%1$d message</string>
<string name="messages_two">%1$d messages</string>
<string name="messages_few">%1$d messages</string>
<string name="messages_many">%1$d messages</string>
<string name="messages_other">%1$d messages</string>
<string name="FromContacts_zero">from no contacts</string>
<string name="FromContacts_one">from %1$d contact</string>
<string name="FromContacts_two">from %1$d contacts</string>
<string name="FromContacts_few">from %1$d contacts</string>
<string name="FromContacts_many">from %1$d contacts</string>
<string name="FromContacts_other">from %1$d contacts</string>
<!--Don't change this! Not for localization!-->
<string name="CacheTag">CACHE_TAG</string>
</resources>

View file

@ -76,7 +76,6 @@
<string name="Attach">Attach</string>
<string name="IsTyping">is typing...</string>
<string name="AreTyping">are typing...</string>
<string name="AndMoreTyping">and %d more people</string>
<string name="GotAQuestion">Got a question\nabout Telegram?</string>
<string name="ChatTakePhoto">Take photo</string>
<string name="ChatGallery">Gallery</string>
@ -90,7 +89,6 @@
<string name="ForwardedMessage">Forwarded message</string>
<string name="From">From</string>
<string name="NoRecent">No recent</string>
<string name="Members">members</string>
<string name="Message">Message</string>
<string name="TypeMessage">Type message</string>
<string name="DOWNLOAD">Download</string>
@ -104,8 +102,6 @@
<string name="EncryptedDescription2">Leave no trace on our servers</string>
<string name="EncryptedDescription3">Have a self-destruct timer</string>
<string name="EncryptedDescription4">Do not allow forwarding</string>
<string name="OneNewMessage">%1$d new message</string>
<string name="FewNewMessages">%1$d new messages</string>
<string name="YouWereKicked">You were removed from this group</string>
<string name="YouLeft">You left this group</string>
<string name="DeleteThisGroup">Delete this group</string>
@ -172,10 +168,9 @@
<!--group create view-->
<string name="SendMessageTo">Send message to...</string>
<string name="EnterGroupNamePlaceholder">Enter group name</string>
<string name="MEMBER">MEMBER</string>
<string name="GroupName">Group name</string>
<string name="MEMBERS">MEMBERS</string>
<string name="AllContacts">ALL CONTACTS</string>
<string name="MembersCount">%1$d/%2$d members</string>
<!--group info view-->
<string name="EnterGroupNameTitle">ENTER GROUP NAME</string>
@ -385,6 +380,42 @@
<string name="Page7Message"><![CDATA[<b>Telegram</b>]]> messages are heavily encrypted<![CDATA[<br/>]]>and can self-destruct</string>
<string name="StartMessaging">Start Messaging</string>
<!--plurals-->
<string name="Members_zero">no members</string>
<string name="Members_one">%1$d member</string>
<string name="Members_two">%1$d members</string>
<string name="Members_few">%1$d members</string>
<string name="Members_many">%1$d members</string>
<string name="Members_other">%1$d members</string>
<string name="AndMoreTyping_zero">and %1$d more people are typing</string>
<string name="AndMoreTyping_one">and %1$d more people are typing</string>
<string name="AndMoreTyping_two">and %1$d more people are typing</string>
<string name="AndMoreTyping_few">and %1$d more people are typing</string>
<string name="AndMoreTyping_many">and %1$d more people are typing</string>
<string name="AndMoreTyping_other">and %1$d more people are typing</string>
<string name="NewMessages_zero">no new messages</string>
<string name="NewMessages_one">%1$d new message</string>
<string name="NewMessages_two">%1$d new messages</string>
<string name="NewMessages_few">%1$d new messages</string>
<string name="NewMessages_many">%1$d new messages</string>
<string name="NewMessages_other">%1$d new messages</string>
<string name="messages_zero">no messages</string>
<string name="messages_one">%1$d message</string>
<string name="messages_two">%1$d messages</string>
<string name="messages_few">%1$d messages</string>
<string name="messages_many">%1$d messages</string>
<string name="messages_other">%1$d messages</string>
<string name="FromContacts_zero">from no contacts</string>
<string name="FromContacts_one">from %1$d contact</string>
<string name="FromContacts_two">from %1$d contacts</string>
<string name="FromContacts_few">from %1$d contacts</string>
<string name="FromContacts_many">from %1$d contacts</string>
<string name="FromContacts_other">from %1$d contacts</string>
<!--Don't change this! Not for localization!-->
<string name="CacheTag">CACHE_TAG</string>
</resources>