mirror of
https://github.com/arduino/Arduino.git
synced 2024-12-01 12:24:14 +01:00
Testing translation for proper formatting. This test will fail when a
translation uses wrong syntax, thus avoiding any future issue similar to #4095
This commit is contained in:
parent
fd8cb4649b
commit
2e80ee5bbd
56
app/src/cc/arduino/i18n/Language.java
Normal file
56
app/src/cc/arduino/i18n/Language.java
Normal file
@ -0,0 +1,56 @@
|
||||
/*
|
||||
* This file is part of Arduino.
|
||||
*
|
||||
* Copyright 2015 Arduino LLC (http://www.arduino.cc/)
|
||||
*
|
||||
* Arduino is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*
|
||||
* As a special exception, you may use this file as part of a free software
|
||||
* library without restriction. Specifically, if other files instantiate
|
||||
* templates or use macros or inline functions from this file, or you compile
|
||||
* this file and link it with other files to produce an executable, this
|
||||
* file does not by itself cause the resulting executable to be covered by
|
||||
* the GNU General Public License. This exception does not however
|
||||
* invalidate any other reasons why the executable file might be covered by
|
||||
* the GNU General Public License.
|
||||
*/
|
||||
|
||||
package cc.arduino.i18n;
|
||||
|
||||
public class Language {
|
||||
|
||||
private final String name;
|
||||
private final String originalName;
|
||||
private final String isoCode;
|
||||
|
||||
public Language(String name, String originalName, String isoCode) {
|
||||
this.name = name;
|
||||
this.originalName = originalName;
|
||||
this.isoCode = isoCode;
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
if (originalName.length() == 0) {
|
||||
return name;
|
||||
}
|
||||
return originalName + " (" + name + ")";
|
||||
}
|
||||
|
||||
public String getIsoCode() {
|
||||
return isoCode;
|
||||
}
|
||||
|
||||
}
|
||||
|
117
app/src/cc/arduino/i18n/Languages.java
Normal file
117
app/src/cc/arduino/i18n/Languages.java
Normal file
@ -0,0 +1,117 @@
|
||||
/*
|
||||
* This file is part of Arduino.
|
||||
*
|
||||
* Copyright 2015 Arduino LLC (http://www.arduino.cc/)
|
||||
*
|
||||
* Arduino is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*
|
||||
* As a special exception, you may use this file as part of a free software
|
||||
* library without restriction. Specifically, if other files instantiate
|
||||
* templates or use macros or inline functions from this file, or you compile
|
||||
* this file and link it with other files to produce an executable, this
|
||||
* file does not by itself cause the resulting executable to be covered by
|
||||
* the GNU General Public License. This exception does not however
|
||||
* invalidate any other reasons why the executable file might be covered by
|
||||
* the GNU General Public License.
|
||||
*/
|
||||
|
||||
package cc.arduino.i18n;
|
||||
|
||||
import static processing.app.I18n.tr;
|
||||
|
||||
public class Languages {
|
||||
|
||||
public static final Language[] languages;
|
||||
|
||||
// Languages that are not translated at least to 65% are
|
||||
// kept in the "missingLanguages" array until they have enough
|
||||
// translated strings.
|
||||
@SuppressWarnings("unused")
|
||||
public static final Language[] missingLanguages;
|
||||
|
||||
static {
|
||||
languages = new Language[]{
|
||||
new Language(tr("System Default"), "", ""),
|
||||
new Language(tr("Albanian"), "shqip", "sq"),
|
||||
new Language(tr("Arabic"), "العربية", "ar"),
|
||||
new Language(tr("Aragonese"), "Aragonés", "an"),
|
||||
new Language(tr("Basque"), "Euskara", "eu"),
|
||||
new Language(tr("Belarusian"), "Беларуская мова", "be"),
|
||||
new Language(tr("Bulgarian"), "български", "bg"),
|
||||
new Language(tr("Canadian French"), "Canadienne-français", "fr_CA"),
|
||||
new Language(tr("Catalan"), "Català", "ca"),
|
||||
new Language(tr("Chinese (China)"), "简体中文", "zh_CN"),
|
||||
new Language(tr("Chinese (Taiwan)"), "", "zh_TW"),
|
||||
new Language(tr("Croatian"), "Hrvatski", "hr_HR"),
|
||||
new Language(tr("Czech (Czech Republic)"), "český (Czech Republic)", "cs_CZ"),
|
||||
new Language(tr("Dutch"), "Nederlands", "nl"),
|
||||
new Language(tr("English"), "English", "en"),
|
||||
new Language(tr("English (United Kingdom)"), "English (United Kingdom)", "en_GB"),
|
||||
new Language(tr("Estonian"), "Eesti", "et"),
|
||||
new Language(tr("Estonian (Estonia)"), "Eesti keel", "et_EE"),
|
||||
new Language(tr("Filipino"), "Pilipino", "fil"),
|
||||
new Language(tr("Finnish"), "Suomi", "fi"),
|
||||
new Language(tr("French"), "Français", "fr"),
|
||||
new Language(tr("Galician"), "Galego", "gl"),
|
||||
new Language(tr("Galician (Spain)"), "Galego (Spain)", "gl_ES"),
|
||||
new Language(tr("Georgian"), "საქართველოს", "ka_GE"),
|
||||
new Language(tr("German"), "Deutsch", "de_DE"),
|
||||
new Language(tr("Hebrew"), "עברית", "he"),
|
||||
new Language(tr("Hindi"), "हिंदी", "hi"),
|
||||
new Language(tr("Indonesian"), "Bahasa Indonesia", "id"),
|
||||
new Language(tr("Italian"), "Italiano", "it_IT"),
|
||||
new Language(tr("Japanese"), "日本語", "ja_JP"),
|
||||
new Language(tr("Korean"), "한국어", "ko_KR"),
|
||||
new Language(tr("Latvian"), "Latviešu", "lv_LV"),
|
||||
new Language(tr("Norwegian Bokmål"), "Norsk bokmål", "nb_NO"),
|
||||
new Language(tr("Persian"), "فارسی", "fa"),
|
||||
new Language(tr("Polish"), "Język Polski", "pl"),
|
||||
new Language(tr("Portugese"), "Português", "pt"),
|
||||
new Language(tr("Portuguese (Brazil)"), "Português (Brazil)", "pt_BR"),
|
||||
new Language(tr("Portuguese (Portugal)"), "Português (Portugal)", "pt_PT"),
|
||||
new Language(tr("Romanian"), "Română", "ro"),
|
||||
new Language(tr("Russian"), "Русский", "ru"),
|
||||
new Language(tr("Slovak"), "Slovenčina", "sk"),
|
||||
new Language(tr("Slovenian"), "Slovenščina", "sl_SI"),
|
||||
new Language(tr("Spanish"), "Español", "es"),
|
||||
new Language(tr("Swedish"), "Svenska", "sv"),
|
||||
new Language(tr("Tamil"), "தமிழ்", "ta"),
|
||||
new Language(tr("Turkish"), "Türk", "tr"),
|
||||
new Language(tr("Ukrainian"), "Український", "uk"),
|
||||
new Language(tr("Vietnamese"), "Tiếng Việt", "vi"),
|
||||
};
|
||||
|
||||
missingLanguages = new Language[]{
|
||||
new Language(tr("Afrikaans"), "Afrikaans", "af"),
|
||||
new Language(tr("Armenian"), "Հայերեն", "hy"),
|
||||
new Language(tr("Asturian"), "Asturianu", "ast"),
|
||||
new Language(tr("Bosnian"), "Bosanski", "bs"),
|
||||
new Language(tr("Burmese (Myanmar)"), "ဗမာစကား", "my_MM"),
|
||||
new Language(tr("Chinese (Taiwan) (Big5)"), "", "zh_TW.Big5"),
|
||||
new Language(tr("Danish (Denmark)"), "Dansk (Denmark)", "da_DK"),
|
||||
new Language(tr("Dutch (Netherlands)"), "Nederlands", "nl_NL"),
|
||||
new Language(tr("Greek"), "ελληνικά", "el_GR"),
|
||||
new Language(tr("Hungarian"), "Magyar", "hu"),
|
||||
new Language(tr("Lithuaninan"), "Lietuvių Kalba", "lt_LT"),
|
||||
new Language(tr("Marathi"), "मराठी", "mr"),
|
||||
new Language(tr("Nepali"), "नेपाली", "ne"),
|
||||
new Language(tr("Persian (Iran)"), "فارسی (Iran)", "fa_IR"),
|
||||
new Language(tr("Talossan"), "Talossan", "tzl"),
|
||||
new Language(tr("Western Frisian"), "Western Frisian", "fy")
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
}
|
@ -244,7 +244,7 @@
|
||||
</Component>
|
||||
<Component class="javax.swing.JComboBox" name="comboLanguage">
|
||||
<AuxValues>
|
||||
<AuxValue name="JavaCodeGenerator_CreateCodeCustom" type="java.lang.String" value="new JComboBox(languages)"/>
|
||||
<AuxValue name="JavaCodeGenerator_CreateCodeCustom" type="java.lang.String" value="new JComboBox(Languages.languages)"/>
|
||||
</AuxValues>
|
||||
</Component>
|
||||
<Component class="javax.swing.JLabel" name="requiresRestartLabel">
|
||||
|
@ -30,6 +30,8 @@
|
||||
package cc.arduino.view.preferences;
|
||||
|
||||
import cc.arduino.Constants;
|
||||
import cc.arduino.i18n.Language;
|
||||
import cc.arduino.i18n.Languages;
|
||||
import processing.app.Base;
|
||||
import processing.app.BaseNoGui;
|
||||
import processing.app.I18n;
|
||||
@ -47,41 +49,9 @@ import static processing.app.I18n.tr;
|
||||
|
||||
public class Preferences extends javax.swing.JDialog {
|
||||
|
||||
private final Language[] languages;
|
||||
|
||||
// Languages that are not translated at least to 65% are
|
||||
// kept in the "missingLanguages" array until they have enough
|
||||
// translated strings.
|
||||
@SuppressWarnings("unused")
|
||||
private final Language[] missingLanguages;
|
||||
|
||||
private final WarningItem[] warningItems;
|
||||
private final Base base;
|
||||
|
||||
public static class Language {
|
||||
|
||||
private final String name;
|
||||
private final String originalName;
|
||||
private final String isoCode;
|
||||
|
||||
public Language(String name, String originalName, String isoCode) {
|
||||
this.name = name;
|
||||
this.originalName = originalName;
|
||||
this.isoCode = isoCode;
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
if (originalName.length() == 0) {
|
||||
return name;
|
||||
}
|
||||
return originalName + " (" + name + ")";
|
||||
}
|
||||
|
||||
public String getIsoCode() {
|
||||
return isoCode;
|
||||
}
|
||||
}
|
||||
|
||||
private static class WarningItem {
|
||||
private final String value;
|
||||
private final String translation;
|
||||
@ -105,76 +75,6 @@ public class Preferences extends javax.swing.JDialog {
|
||||
super(parent);
|
||||
this.base = base;
|
||||
|
||||
this.languages = new Language[]{
|
||||
new Language(tr("System Default"), "", ""),
|
||||
new Language(tr("Albanian"), "shqip", "sq"),
|
||||
new Language(tr("Arabic"), "العربية", "ar"),
|
||||
new Language(tr("Aragonese"), "Aragonés", "an"),
|
||||
new Language(tr("Basque"), "Euskara", "eu"),
|
||||
new Language(tr("Belarusian"), "Беларуская мова", "be"),
|
||||
new Language(tr("Bulgarian"), "български", "bg"),
|
||||
new Language(tr("Canadian French"), "Canadienne-français", "fr_CA"),
|
||||
new Language(tr("Catalan"), "Català", "ca"),
|
||||
new Language(tr("Chinese (China)"), "简体中文", "zh_CN"),
|
||||
new Language(tr("Chinese (Taiwan) (Big5)"), "", "zh_TW.Big5"),
|
||||
new Language(tr("Chinese (Taiwan)"), "", "zh_TW"),
|
||||
new Language(tr("Croatian"), "Hrvatski", "hr_HR"),
|
||||
new Language(tr("Czech (Czech Republic)"), "český (Czech Republic)", "cs_CZ"),
|
||||
new Language(tr("Dutch"), "Nederlands", "nl"),
|
||||
new Language(tr("English"), "English", "en"),
|
||||
new Language(tr("English (United Kingdom)"), "English (United Kingdom)", "en_GB"),
|
||||
new Language(tr("Estonian"), "Eesti", "et"),
|
||||
new Language(tr("Estonian (Estonia)"), "Eesti keel", "et_EE"),
|
||||
new Language(tr("Filipino"), "Pilipino", "fil"),
|
||||
new Language(tr("Finnish"), "Suomi", "fi"),
|
||||
new Language(tr("French"), "Français", "fr"),
|
||||
new Language(tr("Galician"), "Galego", "gl"),
|
||||
new Language(tr("Galician (Spain)"), "Galego (Spain)", "gl_ES"),
|
||||
new Language(tr("Georgian"), "საქართველოს", "ka_GE"),
|
||||
new Language(tr("German"), "Deutsch", "de_DE"),
|
||||
new Language(tr("Hebrew"), "עברית", "he"),
|
||||
new Language(tr("Hindi"), "हिंदी", "hi"),
|
||||
new Language(tr("Indonesian"), "Bahasa Indonesia", "id"),
|
||||
new Language(tr("Italian"), "Italiano", "it_IT"),
|
||||
new Language(tr("Japanese"), "日本語", "ja_JP"),
|
||||
new Language(tr("Korean"), "한국어", "ko_KR"),
|
||||
new Language(tr("Latvian"), "Latviešu", "lv_LV"),
|
||||
new Language(tr("Norwegian Bokmål"), "Norsk bokmål", "nb_NO"),
|
||||
new Language(tr("Persian"), "فارسی", "fa"),
|
||||
new Language(tr("Polish"), "Język Polski", "pl"),
|
||||
new Language(tr("Portugese"), "Português", "pt"),
|
||||
new Language(tr("Portuguese (Brazil)"), "Português (Brazil)", "pt_BR"),
|
||||
new Language(tr("Portuguese (Portugal)"), "Português (Portugal)", "pt_PT"),
|
||||
new Language(tr("Romanian"), "Română", "ro"),
|
||||
new Language(tr("Russian"), "Русский", "ru"),
|
||||
new Language(tr("Slovak"), "Slovenčina", "sk"),
|
||||
new Language(tr("Slovenian"), "Slovenščina", "sl_SI"),
|
||||
new Language(tr("Spanish"), "Español", "es"),
|
||||
new Language(tr("Swedish"), "Svenska", "sv"),
|
||||
new Language(tr("Tamil"), "தமிழ்", "ta"),
|
||||
new Language(tr("Turkish"), "Türk", "tr"),
|
||||
new Language(tr("Ukrainian"), "Український", "uk"),
|
||||
new Language(tr("Vietnamese"), "Tiếng Việt", "vi"),
|
||||
};
|
||||
|
||||
this.missingLanguages = new Language[]{
|
||||
new Language(tr("Afrikaans"), "Afrikaans", "af"),
|
||||
new Language(tr("Armenian"), "Հայերեն", "hy"),
|
||||
new Language(tr("Asturian"), "Asturianu", "ast"),
|
||||
new Language(tr("Bosnian"), "Bosanski", "bs"),
|
||||
new Language(tr("Burmese (Myanmar)"), "ဗမာစကား", "my_MM"),
|
||||
new Language(tr("Danish (Denmark)"), "Dansk (Denmark)", "da_DK"),
|
||||
new Language(tr("Dutch (Netherlands)"), "Nederlands", "nl_NL"),
|
||||
new Language(tr("Greek"), "ελληνικά", "el_GR"),
|
||||
new Language(tr("Hungarian"), "Magyar", "hu"),
|
||||
new Language(tr("Lithuaninan"), "Lietuvių Kalba", "lt_LT"),
|
||||
new Language(tr("Marathi"), "मराठी", "mr"),
|
||||
new Language(tr("Nepali"), "नेपाली", "ne"),
|
||||
new Language(tr("Persian (Iran)"), "فارسی (Iran)", "fa_IR"),
|
||||
new Language(tr("Talossan"), "Talossan", "tzl"),
|
||||
new Language(tr("Western Frisian"), "Western Frisian", "fy")
|
||||
};
|
||||
|
||||
this.warningItems = new WarningItem[]{
|
||||
new WarningItem("none", tr("None")),
|
||||
new WarningItem("default", tr("Default")),
|
||||
@ -207,7 +107,7 @@ public class Preferences extends javax.swing.JDialog {
|
||||
sketchbookLocationField = new javax.swing.JTextField();
|
||||
javax.swing.JButton browseButton = new javax.swing.JButton();
|
||||
javax.swing.JLabel comboLanguageLabel = new javax.swing.JLabel();
|
||||
comboLanguage = new JComboBox(languages);
|
||||
comboLanguage = new JComboBox(Languages.languages);
|
||||
javax.swing.JLabel requiresRestartLabel = new javax.swing.JLabel();
|
||||
javax.swing.JLabel fontSizeLabel = new javax.swing.JLabel();
|
||||
fontSizeField = new javax.swing.JTextField();
|
||||
@ -831,7 +731,7 @@ public class Preferences extends javax.swing.JDialog {
|
||||
sketchbookLocationField.setText(PreferencesData.get("sketchbook.path"));
|
||||
|
||||
String currentLanguageISOCode = PreferencesData.get("editor.languages.current");
|
||||
for (Language language : languages) {
|
||||
for (Language language : Languages.languages) {
|
||||
if (language.getIsoCode().equals(currentLanguageISOCode)) {
|
||||
comboLanguage.setSelectedItem(language);
|
||||
}
|
||||
|
@ -33,7 +33,10 @@ import org.junit.Test;
|
||||
import processing.app.AbstractWithPreferencesTest;
|
||||
import processing.app.I18n;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.Locale;
|
||||
import java.util.Map;
|
||||
import java.util.ResourceBundle;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
|
||||
@ -50,7 +53,38 @@ public class I18NTest extends AbstractWithPreferencesTest {
|
||||
public void testMessageFormatFromExternalProcess() throws Exception {
|
||||
Map<String, Object> output = new ExternalProcessOutputParser().parse("===WARNING: Category '{0}' in library {1} is not valid. Setting to '{2}' ||| [ Wire Uncategorized]");
|
||||
|
||||
String actual = I18n.format((String) output.get("msg"), (Object[])output.get("args"));
|
||||
String actual = I18n.format((String) output.get("msg"), (Object[]) output.get("args"));
|
||||
assertEquals("WARNING: Category '' in library Wire is not valid. Setting to 'Uncategorized'", actual);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testAllLocales() {
|
||||
for (Language language : Languages.languages) {
|
||||
if (!language.getIsoCode().equals("")) {
|
||||
Locale locale = toLocale(language);
|
||||
ResourceBundle bundle = ResourceBundle.getBundle("processing.app.i18n.Resources", locale);
|
||||
if (locale.equals(bundle.getLocale())) {
|
||||
Collections.list(bundle.getKeys()).stream().map(bundle::getString).filter(key -> !key.contains("<html")).forEach(key -> {
|
||||
try {
|
||||
I18n.format(key);
|
||||
} catch (IllegalArgumentException e) {
|
||||
System.out.println(language);
|
||||
System.out.println(key);
|
||||
throw e;
|
||||
}
|
||||
});
|
||||
} else {
|
||||
System.out.println("Missing locale: " + locale);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private Locale toLocale(Language language) {
|
||||
String[] languageParts = language.getIsoCode().split("_");
|
||||
if (languageParts.length == 2) {
|
||||
return new Locale(languageParts[0], languageParts[1]);
|
||||
}
|
||||
return new Locale(languageParts[0]);
|
||||
}
|
||||
}
|
||||
|
@ -13,6 +13,7 @@
|
||||
# amas89 <amas89@gmail.com>, 2012
|
||||
# belal affouri <belal@eshtre.com>, 2015
|
||||
# belal affouri <belal@eshtre.com>, 2012
|
||||
# Federico Fissore <f.fissore@arduino.cc>, 2015
|
||||
# JAMAL ELMERABETE <jmerabet@procyonst.com>, 2014-2015
|
||||
# Khaled Saleem Baleesh <Kbaleesh@gmail.com>, 2015
|
||||
# Mubarak Qahtani <abu-q76@hotmail.com>, 2015
|
||||
@ -21,7 +22,7 @@ msgstr ""
|
||||
"Project-Id-Version: Arduino IDE 1.5\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2012-03-29 10:24-0400\n"
|
||||
"PO-Revision-Date: 2015-11-02 12:05+0000\n"
|
||||
"PO-Revision-Date: 2015-11-06 15:54+0000\n"
|
||||
"Last-Translator: Federico Fissore <f.fissore@arduino.cc>\n"
|
||||
"Language-Team: Arabic (http://www.transifex.com/mbanzi/arduino-ide-15/language/ar/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@ -939,7 +940,7 @@ msgstr "تصدير الترجمة باللغة الثنائية"
|
||||
#: ../../../processing/app/Base.java:416
|
||||
#, java-format
|
||||
msgid "Failed to open sketch: \"{0}\""
|
||||
msgstr "فشل في فتح ketch : \n\"{ 0}\""
|
||||
msgstr "فشل في فتح ketch : \n\"{0}\""
|
||||
|
||||
#: Editor.java:491
|
||||
msgid "File"
|
||||
|
@ -13,10 +13,11 @@
|
||||
# amas89 <amas89@gmail.com>, 2012
|
||||
# belal affouri <belal@eshtre.com>, 2015
|
||||
# belal affouri <belal@eshtre.com>, 2012
|
||||
# Federico Fissore <f.fissore@arduino.cc>, 2015
|
||||
# JAMAL ELMERABETE <jmerabet@procyonst.com>, 2014-2015
|
||||
# Khaled Saleem Baleesh <Kbaleesh@gmail.com>, 2015
|
||||
# Mubarak Qahtani <abu-q76@hotmail.com>, 2015
|
||||
!=Project-Id-Version\: Arduino IDE 1.5\nReport-Msgid-Bugs-To\: \nPOT-Creation-Date\: 2012-03-29 10\:24-0400\nPO-Revision-Date\: 2015-11-02 12\:05+0000\nLast-Translator\: Federico Fissore <f.fissore@arduino.cc>\nLanguage-Team\: Arabic (http\://www.transifex.com/mbanzi/arduino-ide-15/language/ar/)\nMIME-Version\: 1.0\nContent-Type\: text/plain; charset\=UTF-8\nContent-Transfer-Encoding\: 8bit\nLanguage\: ar\nPlural-Forms\: nplurals\=6; plural\=n\=\=0 ? 0 \: n\=\=1 ? 1 \: n\=\=2 ? 2 \: n%100>\=3 && n%100<\=10 ? 3 \: n%100>\=11 && n%100<\=99 ? 4 \: 5;\n
|
||||
!=Project-Id-Version\: Arduino IDE 1.5\nReport-Msgid-Bugs-To\: \nPOT-Creation-Date\: 2012-03-29 10\:24-0400\nPO-Revision-Date\: 2015-11-06 15\:54+0000\nLast-Translator\: Federico Fissore <f.fissore@arduino.cc>\nLanguage-Team\: Arabic (http\://www.transifex.com/mbanzi/arduino-ide-15/language/ar/)\nMIME-Version\: 1.0\nContent-Type\: text/plain; charset\=UTF-8\nContent-Transfer-Encoding\: 8bit\nLanguage\: ar\nPlural-Forms\: nplurals\=6; plural\=n\=\=0 ? 0 \: n\=\=1 ? 1 \: n\=\=2 ? 2 \: n%100>\=3 && n%100<\=10 ? 3 \: n%100>\=11 && n%100<\=99 ? 4 \: 5;\n
|
||||
|
||||
#: Preferences.java:358 Preferences.java:374
|
||||
\ \ (requires\ restart\ of\ Arduino)=(\u064a\u062a\u0637\u0644\u0628 \u0627\u0639\u0627\u062f\u0629 \u062a\u0634\u063a\u064a\u0644 \u0644\u0644\u0623\u0631\u062f\u0648\u064a\u0646\u0648)
|
||||
@ -677,7 +678,7 @@ Export\ compiled\ Binary=\u062a\u0635\u062f\u064a\u0631 \u0627\u0644\u062a\u0631
|
||||
|
||||
#: ../../../processing/app/Base.java:416
|
||||
#, java-format
|
||||
Failed\ to\ open\ sketch\:\ "{0}"=\u0641\u0634\u0644 \u0641\u064a \u0641\u062a\u062d ketch \: \n"{ 0}"
|
||||
Failed\ to\ open\ sketch\:\ "{0}"=\u0641\u0634\u0644 \u0641\u064a \u0641\u062a\u062d ketch \: \n"{0}"
|
||||
|
||||
#: Editor.java:491
|
||||
File=\u0645\u0644\u0641
|
||||
|
@ -9,6 +9,7 @@
|
||||
# Translators:
|
||||
# Translators:
|
||||
# Translators:
|
||||
# Federico Fissore <f.fissore@arduino.cc>, 2015
|
||||
# Gaurav Waghmare <gauravwaghmare30@gmail.com>, 2015
|
||||
# Nishant Sood <nishant@winacro.com>, 2012
|
||||
# Parimal Naigaonkar <parimal.86@gmail.com>, 2012
|
||||
@ -17,7 +18,7 @@ msgstr ""
|
||||
"Project-Id-Version: Arduino IDE 1.5\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2012-03-29 10:24-0400\n"
|
||||
"PO-Revision-Date: 2015-11-02 12:05+0000\n"
|
||||
"PO-Revision-Date: 2015-11-06 15:57+0000\n"
|
||||
"Last-Translator: Federico Fissore <f.fissore@arduino.cc>\n"
|
||||
"Language-Team: Hindi (http://www.transifex.com/mbanzi/arduino-ide-15/language/hi/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@ -615,7 +616,7 @@ msgstr "स्केच संग्रह नहीं किया जा स
|
||||
|
||||
#: Sketch.java:1647
|
||||
msgid "Couldn't determine program size: {0}"
|
||||
msgstr "कार्य क्रम का आकार नहीं जान पाया गया {}0"
|
||||
msgstr "कार्य क्रम का आकार नहीं जान पाया गया {0}"
|
||||
|
||||
#: Sketch.java:616
|
||||
msgid "Couldn't do it"
|
||||
|
@ -9,10 +9,11 @@
|
||||
# Translators:
|
||||
# Translators:
|
||||
# Translators:
|
||||
# Federico Fissore <f.fissore@arduino.cc>, 2015
|
||||
# Gaurav Waghmare <gauravwaghmare30@gmail.com>, 2015
|
||||
# Nishant Sood <nishant@winacro.com>, 2012
|
||||
# Parimal Naigaonkar <parimal.86@gmail.com>, 2012
|
||||
!=Project-Id-Version\: Arduino IDE 1.5\nReport-Msgid-Bugs-To\: \nPOT-Creation-Date\: 2012-03-29 10\:24-0400\nPO-Revision-Date\: 2015-11-02 12\:05+0000\nLast-Translator\: Federico Fissore <f.fissore@arduino.cc>\nLanguage-Team\: Hindi (http\://www.transifex.com/mbanzi/arduino-ide-15/language/hi/)\nMIME-Version\: 1.0\nContent-Type\: text/plain; charset\=UTF-8\nContent-Transfer-Encoding\: 8bit\nLanguage\: hi\nPlural-Forms\: nplurals\=2; plural\=(n \!\= 1);\n
|
||||
!=Project-Id-Version\: Arduino IDE 1.5\nReport-Msgid-Bugs-To\: \nPOT-Creation-Date\: 2012-03-29 10\:24-0400\nPO-Revision-Date\: 2015-11-06 15\:57+0000\nLast-Translator\: Federico Fissore <f.fissore@arduino.cc>\nLanguage-Team\: Hindi (http\://www.transifex.com/mbanzi/arduino-ide-15/language/hi/)\nMIME-Version\: 1.0\nContent-Type\: text/plain; charset\=UTF-8\nContent-Transfer-Encoding\: 8bit\nLanguage\: hi\nPlural-Forms\: nplurals\=2; plural\=(n \!\= 1);\n
|
||||
|
||||
#: Preferences.java:358 Preferences.java:374
|
||||
\ \ (requires\ restart\ of\ Arduino)=(\u0905\u0930\u094d\u0926\u0941\u0907\u0928\u094b \u0915\u094b \u092b\u093f\u0930 \u0938\u0947 \u091a\u093e\u0932\u0942 \u0915\u0930\u0928\u0947 \u0915\u0940 \u0906\u0935\u0936\u094d\u092f\u0915)
|
||||
@ -435,7 +436,7 @@ Could\ not\ replace\ {0}={0} \u0915\u0940 \u091c\u0917\u0939 \u0928\u0939\u0940\
|
||||
Couldn't\ archive\ sketch=\u0938\u094d\u0915\u0947\u091a \u0938\u0902\u0917\u094d\u0930\u0939 \u0928\u0939\u0940\u0902 \u0915\u093f\u092f\u093e \u091c\u093e \u0938\u0915\u093e
|
||||
|
||||
#: Sketch.java:1647
|
||||
Couldn't\ determine\ program\ size\:\ {0}=\u0915\u093e\u0930\u094d\u092f \u0915\u094d\u0930\u092e \u0915\u093e \u0906\u0915\u093e\u0930 \u0928\u0939\u0940\u0902 \u091c\u093e\u0928 \u092a\u093e\u092f\u093e \u0917\u092f\u093e {}0
|
||||
Couldn't\ determine\ program\ size\:\ {0}=\u0915\u093e\u0930\u094d\u092f \u0915\u094d\u0930\u092e \u0915\u093e \u0906\u0915\u093e\u0930 \u0928\u0939\u0940\u0902 \u091c\u093e\u0928 \u092a\u093e\u092f\u093e \u0917\u092f\u093e {0}
|
||||
|
||||
#: Sketch.java:616
|
||||
Couldn't\ do\ it=\u092f\u0939 \u0915\u093f\u092f\u093e \u0928\u0939\u0940\u0902 \u091c\u093e \u0938\u0915\u093e
|
||||
|
Loading…
Reference in New Issue
Block a user