for i in `cat flag_files.txt`; do curl $i -O; done
for i in *.svg; do mv $i `echo $i | tr '[:upper:]' '[:lower:]' | sed 's/%..//g' | sed 's/[^a-z0-9_]/_/g' `; done
+
+for i in *.svg *.png; do convert $i -resize 66x66 ../flags_png/${i/svg/png}; done
\ No newline at end of file
android:layout_weight="1"
android:text="English-German"
android:textAppearance="?android:attr/textAppearanceMedium"
+ android:layout_gravity="center_vertical"
tools:ignore="HardcodedText" />
<Button
<string name="GD">Schottisch-Gälisch</string>
<string name="DE">Deutsch</string>
<string name="EL">Griechisch</string>
- <string name="grc">Altgriechischmymymymymymymymy</string>
+ <string name="grc">Altgriechisch</string>
<string name="haw">Hawaiian</string>
<string name="HE">Hebräisch</string>
<string name="HI">Hindi</string>
<string name="AZ">Azeri</string>
<string name="EU">Baskisch</string>
<string name="BR">Breton</string>
- <string name="MR">Birmanisch</string>
+ <string name="MR">Marathi</string>
<string name="FO">Färöisch</string>
<string name="GL">Galizisch</string>
<string name="KA">Georgisch</string>
<string name="AZ">AzerÃ</string>
<string name="EU">Euskera</string>
<string name="BR">Bretón</string>
- <string name="MR">Burmese</string>
+ <string name="MR">MaratÃ</string>
<string name="FO">Faroese</string>
<string name="GL">Gallego</string>
<string name="KA">Georgiano</string>
<string name="AZ">Azero</string>
<string name="EU">Basca</string>
<string name="BR">Breton</string>
- <string name="MR">Birmano</string>
+ <string name="MR">Marathi</string>
<string name="FO">Faroese</string>
<string name="GL">Galiziano</string>
<string name="KA">Georgiano</string>
<string name="AZ">Azeri</string>
<string name="EU">Basque</string>
<string name="BR">Breton</string>
- <string name="MR">Burmese</string>
+ <string name="MR">Marathi</string>
<string name="FO">Faroese</string>
<string name="GL">Galician</string>
<string name="KA">Georgian</string>
<!-- Download. -->
- <string name="openingConnection">Opening connection…</string>
- <string name="downloading">Downloading: %1$,d of %2$,d bytes.</string>
- <string name="unzipping">Unzipping: %1$,d of %2$,d bytes.</string>
- <string name="downloadFinished">Finished: %,d bytes.</string>
- <string name="errorDownloadingFile">Error downloading file: \n%s</string>
-
-
- <string name="search_hint">An unknown word</string>
-
+ <string name="downloadFinished">Download finished: \n%s.</string>
+ <string name="downloadFailed">Download failed: \n%s.</string>
<!-- Preferences -->
<?xml version="1.0" encoding="utf-8"?>
<searchable xmlns:android="http://schemas.android.com/apk/res/android"
android:label="@string/app_name"
- android:hint="@string/search_hint" >
+ android:hint="@string/searchText" >
</searchable>
\ No newline at end of file
import android.os.Handler;
import android.preference.PreferenceManager;
import android.util.Log;
+import android.view.ContextMenu;
+import android.view.ContextMenu.ContextMenuInfo;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
+import android.widget.AdapterView.AdapterContextMenuInfo;
import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.CompoundButton;
+import android.widget.Toast;
import android.widget.CompoundButton.OnCheckedChangeListener;
import android.widget.LinearLayout;
import android.widget.TextView;
import java.util.zip.ZipEntry;
import java.util.zip.ZipFile;
-// Filters
// Right-click:
// Delete, move to top.
static boolean blockAutoLaunch = false;
DictionaryApplication application;
-// Adapter adapter;
- // EditText filterText;
SearchView filterSearchView;
ToggleButton showDownloadable;
});
}
};
+
+ final BroadcastReceiver broadcastReceiver = new BroadcastReceiver() {
+ @Override
+ public void onReceive(Context context, Intent intent) {
+ final String action = intent.getAction();
+
+ if (DownloadManager.ACTION_DOWNLOAD_COMPLETE.equals(action)) {
+ final long downloadId = intent.getLongExtra(
+ DownloadManager.EXTRA_DOWNLOAD_ID, 0);
+ final DownloadManager.Query query = new DownloadManager.Query();
+ query.setFilterById(downloadId);
+ final DownloadManager downloadManager = (DownloadManager) getSystemService(DOWNLOAD_SERVICE);
+ final Cursor cursor = downloadManager.query(query);
+
+ if (!cursor.moveToFirst()) {
+ Log.e(LOG, "Couldn't find download.");
+ return;
+ }
+
+ final String dest = cursor
+ .getString(cursor.getColumnIndex(DownloadManager.COLUMN_LOCAL_URI));
+ final int status = cursor
+ .getInt(cursor
+ .getColumnIndex(DownloadManager.COLUMN_STATUS));
+ if (DownloadManager.STATUS_SUCCESSFUL != status) {
+ Log.w(LOG,
+ "Download failed: status=" + status +
+ ", reason=" + cursor.getString(cursor
+ .getColumnIndex(DownloadManager.COLUMN_REASON)));
+ Toast.makeText(context, getString(R.string.downloadFailed, dest),
+ Toast.LENGTH_LONG).show();
+ return;
+ }
+
+ Log.w(LOG, "Download finished: " + dest);
+ final File localZipFile = new File(Uri.parse(dest).getPath());
+
+ try {
+ ZipFile zipFile = new ZipFile(localZipFile);
+ final ZipEntry zipEntry = zipFile.entries().nextElement();
+ Log.d(LOG, "Unzipping entry: " + zipEntry.getName());
+ final InputStream zipIn = zipFile.getInputStream(zipEntry);
+ final OutputStream zipOut = new FileOutputStream(
+ new File(application.getDictDir(), zipEntry.getName()));
+ copyStream(zipIn, zipOut);
+ zipFile.close();
+ application.backgroundUpdateDictionaries(dictionaryUpdater);
+ Toast.makeText(context, getString(R.string.downloadFinished, dest),
+ Toast.LENGTH_LONG).show();
+ } catch (Exception e) {
+ Toast.makeText(context, getString(R.string.downloadFailed, dest),
+ Toast.LENGTH_LONG).show();
+ Log.e(LOG, "Failed to unzip.", e);
+ } finally {
+ localZipFile.delete();
+ }
+ }
+ }
+ };
public static Intent getLaunchIntent() {
final Intent intent = new Intent();
downloadableDictionariesHeaderRow = (LinearLayout) LayoutInflater.from(getListView().getContext()).inflate(
R.layout.downloadable_dictionaries_header_row, getListView(), false);
- // filterText = (EditText) findViewById(R.id.filterText);
- //
- // filterText.addTextChangedListener(new TextWatcher() {
- // @Override
- // public void onTextChanged(CharSequence s, int start, int before, int
- // count) {
- // }
- //
- // @Override
- // public void beforeTextChanged(CharSequence s, int start, int count,
- // int after) {
- // }
- //
- // @Override
- // public void afterTextChanged(Editable s) {
- // onFilterTextChanged();
- // }
- // });
-
- // final ImageButton clearSearchText = (ImageButton)
- // findViewById(R.id.ClearSearchTextButton);
- // clearSearchText.setOnClickListener(new View.OnClickListener() {
- // @Override
- // public void onClick(View arg0) {
- // filterText.setText("");
- // filterText.requestFocus();
- // }
- // });
-
showDownloadable = (ToggleButton) downloadableDictionariesHeaderRow.findViewById(R.id.hideDownloadable);
showDownloadable.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@Override
}
});
- // ContextMenu.
- // registerForContextMenu(getListView());
-
blockAutoLaunch = false;
final SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
final String thanksForUpdatingLatestVersion = getString(R.string.thanksForUpdatingVersion);
.commit();
}
- BroadcastReceiver receiver = new BroadcastReceiver() {
- @Override
- public void onReceive(Context context, Intent intent) {
- final String action = intent.getAction();
- if (DownloadManager.ACTION_DOWNLOAD_COMPLETE.equals(action)) {
- final long downloadId = intent.getLongExtra(
- DownloadManager.EXTRA_DOWNLOAD_ID, 0);
- final DownloadManager.Query query = new DownloadManager.Query();
- query.setFilterById(downloadId);
- final DownloadManager downloadManager = (DownloadManager) getSystemService(DOWNLOAD_SERVICE);
- final Cursor cursor = downloadManager.query(query);
-
- if (!cursor.moveToFirst()) {
- Log.e(LOG, "Couldn't find download.");
- return;
- }
-
- final int status = cursor
- .getInt(cursor
- .getColumnIndex(DownloadManager.COLUMN_STATUS));
- if (DownloadManager.STATUS_SUCCESSFUL != status){
- Log.w(LOG, "Download failed: status=" + status + ", reason=" + cursor.getString(cursor.getColumnIndex(DownloadManager.COLUMN_REASON)));
- return;
- }
-
- final String dest = cursor
- .getString(cursor.getColumnIndex(DownloadManager.COLUMN_LOCAL_URI));
- Log.w(LOG, "Download finished: " + dest);
- final File destFile = new File(Uri.parse(dest).getPath());
-
- try {
- ZipFile zipFile = new ZipFile(destFile);
- final ZipEntry zipEntry = zipFile.entries().nextElement();
- Log.d(LOG, "Unzipping entry: " + zipEntry.getName());
- final InputStream zipIn = zipFile.getInputStream(zipEntry);
- final OutputStream zipOut = new FileOutputStream(new File(application.getDictDir(), zipEntry.getName()));
- copyStream(zipIn, zipOut);
- destFile.delete();
- zipFile.close();
- application.backgroundUpdateDictionaries(dictionaryUpdater);
- } catch (Exception e) {
- Log.e(LOG, "Failed to unzip.", e);
- }
- }
- }
- };
-
- registerReceiver(receiver, new IntentFilter(
+
+ registerReceiver(broadcastReceiver, new IntentFilter(
DownloadManager.ACTION_DOWNLOAD_COMPLETE));
setListAdapater();
+ registerForContextMenu(getListView());
+ }
+
+ @Override
+ public void onDestroy() {
+ unregisterReceiver(broadcastReceiver);
}
private static int copyStream(final InputStream in, final OutputStream out)
return true;
}
- // @Override
- // public void onCreateContextMenu(final ContextMenu menu, final View
- // view,
- // final ContextMenuInfo menuInfo) {
- // super.onCreateContextMenu(menu, view, menuInfo);
- //
- // final AdapterContextMenuInfo adapterContextMenuInfo =
- // (AdapterContextMenuInfo) menuInfo;
- // final int position = adapterContextMenuInfo.position;
- // final DictionaryInfo dictionaryInfo = adapter.getItem(position);
- //
- // if (position > 0 &&
- // application.isDictionaryOnDevice(dictionaryInfo.uncompressedFilename))
- // {
- // final android.view.MenuItem moveToTopMenuItem =
- // menu.add(R.string.moveToTop);
- // moveToTopMenuItem.setOnMenuItemClickListener(new
- // android.view.MenuItem.OnMenuItemClickListener() {
- // @Override
- // public boolean onMenuItemClick(android.view.MenuItem item) {
- // application.moveDictionaryToTop(dictionaryInfo);
- // setListAdapter(adapter = new Adapter());
- // return true;
- // }
- // });
- // }
-//
-// final android.view.MenuItem deleteMenuItem = menu.add(R.string.deleteDictionary);
-// deleteMenuItem
-// .setOnMenuItemClickListener(new android.view.MenuItem.OnMenuItemClickListener() {
-// @Override
-// public boolean onMenuItemClick(android.view.MenuItem item) {
-// application.deleteDictionary(dictionaryInfo);
-// setListAdapter(adapter = new Adapter());
-// return true;
-// }
-// });
-//
-// final DictionaryInfo downloadable = application
-// .getDownloadable(dictionaryInfo.uncompressedFilename);
-// if (downloadable != null) {
-// final android.view.MenuItem downloadMenuItem = menu.add(getString(
-// R.string.downloadButton, downloadable.zipBytes / 1024.0 / 1024.0));
-// downloadMenuItem
-// .setOnMenuItemClickListener(new android.view.MenuItem.OnMenuItemClickListener() {
-// @Override
-// public boolean onMenuItemClick(android.view.MenuItem item) {
-// final Intent intent = getDownloadIntent(downloadable);
-// startActivity(intent);
-// setListAdapter(adapter = new Adapter());
-// return true;
-// }
-// });
-// }
-//
-// }
+ @Override
+ public void onCreateContextMenu(final ContextMenu menu, final View view,
+ final ContextMenuInfo menuInfo) {
+ super.onCreateContextMenu(menu, view, menuInfo);
+ Log.d(LOG, "onCreateContextMenu, " + menuInfo);
+
+ final AdapterContextMenuInfo adapterContextMenuInfo =
+ (AdapterContextMenuInfo) menuInfo;
+ final int position = adapterContextMenuInfo.position;
+ final MyListAdapter.Row row = (MyListAdapter.Row) getListAdapter().getItem(position);
+
+ if (row.dictionaryInfo == null) {
+ return;
+ }
+
+ if (position > 0 && row.onDevice) {
+ final android.view.MenuItem moveToTopMenuItem =
+ menu.add(R.string.moveToTop);
+ moveToTopMenuItem.setOnMenuItemClickListener(new
+ android.view.MenuItem.OnMenuItemClickListener() {
+ @Override
+ public boolean onMenuItemClick(android.view.MenuItem item) {
+ application.moveDictionaryToTop(row.dictionaryInfo);
+ setListAdapater();
+ return true;
+ }
+ });
+ }
+
+ if (row.onDevice) {
+ final android.view.MenuItem deleteMenuItem = menu.add(R.string.deleteDictionary);
+ deleteMenuItem
+ .setOnMenuItemClickListener(new android.view.MenuItem.OnMenuItemClickListener() {
+ @Override
+ public boolean onMenuItemClick(android.view.MenuItem item) {
+ application.deleteDictionary(row.dictionaryInfo);
+ setListAdapater();
+ return true;
+ }
+ });
+ }
+ }
private void onShowLocalChanged() {
-// downloadableDictionaries.setVisibility(showDownloadable.isChecked() ? View.GONE
-// : View.VISIBLE);
setListAdapater();
Editor prefs = PreferenceManager.getDefaultSharedPreferences(this).edit();
prefs.putBoolean(C.SHOW_DOWNLOADABLE, showDownloadable.isChecked());
// }
// }
+
class MyListAdapter extends BaseAdapter {
-
+
List<DictionaryInfo> dictionariesOnDevice;
List<DictionaryInfo> downloadableDictionaries;
+ class Row {
+ DictionaryInfo dictionaryInfo;
+ boolean onDevice;
+
+ private Row(DictionaryInfo dictinoaryInfo, boolean onDevice) {
+ this.dictionaryInfo = dictinoaryInfo;
+ this.onDevice = onDevice;
+ }
+ }
+
+
private MyListAdapter(final String[] filters) {
dictionariesOnDevice = application.getDictionariesOnDevice(filters);
if (showDownloadable.isChecked()) {
}
@Override
- public Object getItem(int position) {
- return Integer.valueOf(position);
+ public Row getItem(int position) {
+ if (position == 0) {
+ return new Row(null, true);
+ }
+ position -= 1;
+
+ if (position < dictionariesOnDevice.size()) {
+ return new Row(dictionariesOnDevice.get(position), true);
+ }
+ position -= dictionariesOnDevice.size();
+
+ if (position == 0) {
+ return new Row(null, false);
+ }
+ position -= 1;
+
+ assert position < downloadableDictionaries.size();
+ return new Row(downloadableDictionaries.get(position), false);
}
@Override
convertView != downloadableDictionariesHeaderRow) {
((LinearLayout)convertView).removeAllViews();
}
- // Dictionaries on device.
- if (position == 0) {
- return dictionariesOnDeviceHeaderRow;
- }
- --position;
- if (position < dictionariesOnDevice.size()) {
- return createDictionaryRow(dictionariesOnDevice.get(position),
- parent, R.layout.dictionaries_on_device_row, true);
+ final Row row = getItem(position);
+
+ if (row.onDevice) {
+ if (row.dictionaryInfo == null) {
+ return dictionariesOnDeviceHeaderRow;
+ }
+ return createDictionaryRow(row.dictionaryInfo,
+ parent, R.layout.dictionaries_on_device_row, true);
}
- position -= dictionariesOnDevice.size();
- // Downloadable dictionaries.
- if (position == 0) {
+ if (row.dictionaryInfo == null) {
return downloadableDictionariesHeaderRow;
}
- --position;
-
- assert position < downloadableDictionaries.size();
- return createDictionaryRow(downloadableDictionaries.get(position),
- parent, R.layout.downloadable_dictionary_row, false);
+ return createDictionaryRow(row.dictionaryInfo,
+ parent, R.layout.downloadable_dictionary_row, false);
}
}
-
private void setListAdapater() {
final String filter = filterSearchView == null ? "" : filterSearchView.getQuery().toString();
final String[] filters = filter.trim().toLowerCase().split("(\\s|-)+");
}
details.setText(builder.toString());
+ row.setClickable(true);
+ row.setFocusable(true);
+ row.setLongClickable(true);
+ row.setBackgroundResource(android.R.drawable.menuitem_background);
+
return row;
}
static {\r
isoCodeToResources.put("AF", new LanguageResources("Afrikaans", R.string.AF, R.drawable.flag_of_south_africa));\r
isoCodeToResources.put("SQ", new LanguageResources("Albanian", R.string.SQ, R.drawable.flag_of_albania));\r
- isoCodeToResources.put("AR", new LanguageResources("Arabic", R.string.AR));\r
+ isoCodeToResources.put("AR", new LanguageResources("Arabic", R.string.AR, R.drawable.arabic));\r
isoCodeToResources.put("HY", new LanguageResources("Armenian", R.string.HY, R.drawable.flag_of_armenia));\r
isoCodeToResources.put("BE", new LanguageResources("Belarusian", R.string.BE, R.drawable.flag_of_belarus));\r
isoCodeToResources.put("BN", new LanguageResources("Bengali", R.string.BN));\r
isoCodeToResources.put("MY", new LanguageResources("Burmese", R.string.MY, R.drawable.flag_of_myanmar));\r
isoCodeToResources.put("ZH", new LanguageResources("Chinese", R.string.ZH, R.drawable.flag_of_the_peoples_republic_of_china));\r
isoCodeToResources.put("cmn", new LanguageResources("Mandarin", R.string.cmn, R.drawable.flag_of_the_peoples_republic_of_china));\r
- isoCodeToResources.put("yue", new LanguageResources("Cantonese", R.string.yue, R.drawable.flag_of_the_peoples_republic_of_china));\r
+ isoCodeToResources.put("yue", new LanguageResources("Cantonese", R.string.yue, R.drawable.flag_of_hong_kong));\r
isoCodeToResources.put("CA", new LanguageResources("Catalan", R.string.CA));\r
isoCodeToResources.put("HR", new LanguageResources("Croatian", R.string.HR, R.drawable.flag_of_croatia));\r
isoCodeToResources.put("CS", new LanguageResources("Czech", R.string.CS, R.drawable.flag_of_the_czech_republic));\r
isoCodeToResources.put("DA", new LanguageResources("Danish", R.string.DA, R.drawable.flag_of_denmark));\r
isoCodeToResources.put("NL", new LanguageResources("Dutch", R.string.NL, R.drawable.flag_of_the_netherlands));\r
isoCodeToResources.put("EN", new LanguageResources("English", R.string.EN, R.drawable.flag_of_the_united_kingdom));\r
- isoCodeToResources.put("EO", new LanguageResources("Esperanto", R.string.EO));\r
+ isoCodeToResources.put("EO", new LanguageResources("Esperanto", R.string.EO, R.drawable.flag_of_esperanto));\r
isoCodeToResources.put("ET", new LanguageResources("Estonian", R.string.ET, R.drawable.flag_of_estonia));\r
isoCodeToResources.put("FI", new LanguageResources("Finnish", R.string.FI, R.drawable.flag_of_finland));\r
isoCodeToResources.put("FR", new LanguageResources("French", R.string.FR, R.drawable.flag_of_france));\r
isoCodeToResources.put("DE", new LanguageResources("German", R.string.DE, R.drawable.flag_of_germany));\r
isoCodeToResources.put("EL", new LanguageResources("Greek", R.string.EL, R.drawable.flag_of_greece));\r
isoCodeToResources.put("grc", new LanguageResources("Ancient Greek", R.string.grc));\r
- isoCodeToResources.put("haw", new LanguageResources("Hawaiian", R.string.haw));\r
+ isoCodeToResources.put("haw", new LanguageResources("Hawaiian", R.string.haw, R.drawable.flag_of_hawaii));\r
isoCodeToResources.put("HE", new LanguageResources("Hebrew", R.string.HE, R.drawable.flag_of_israel));\r
- isoCodeToResources.put("HI", new LanguageResources("Hindi", R.string.HI));\r
+ isoCodeToResources.put("HI", new LanguageResources("Hindi", R.string.HI, R.drawable.hindi));\r
isoCodeToResources.put("HU", new LanguageResources("Hungarian", R.string.HU, R.drawable.flag_of_hungary));\r
isoCodeToResources.put("IS", new LanguageResources("Icelandic", R.string.IS, R.drawable.flag_of_iceland));\r
isoCodeToResources.put("ID", new LanguageResources("Indonesian", R.string.ID, R.drawable.flag_of_indonesia));\r
isoCodeToResources.put("GA", new LanguageResources("Irish", R.string.GA, R.drawable.flag_of_ireland));\r
isoCodeToResources.put("GD", new LanguageResources("Scottish Gaelic", R.string.GD));\r
- isoCodeToResources.put("GV", new LanguageResources("Manx", R.string.GV));\r
+ isoCodeToResources.put("GV", new LanguageResources("Manx", R.string.GV, R.drawable.flag_of_the_isle_of_man));\r
isoCodeToResources.put("IT", new LanguageResources("Italian", R.string.IT, R.drawable.flag_of_italy));\r
isoCodeToResources.put("LA", new LanguageResources("Latin", R.string.LA));\r
isoCodeToResources.put("LV", new LanguageResources("Latvian", R.string.LV, R.drawable.flag_of_latvia));\r
isoCodeToResources.put("KO", new LanguageResources("Korean", R.string.KO, R.drawable.flag_of_south_korea));\r
isoCodeToResources.put("KU", new LanguageResources("Kurdish", R.string.KU));\r
isoCodeToResources.put("MS", new LanguageResources("Malay", R.string.MS, R.drawable.flag_of_malaysia));\r
- isoCodeToResources.put("MI", new LanguageResources("Maori", R.string.MI));\r
+ isoCodeToResources.put("MI", new LanguageResources("Maori", R.string.MI, R.drawable.flag_of_new_zealand));\r
isoCodeToResources.put("MN", new LanguageResources("Mongolian", R.string.MN, R.drawable.flag_of_mongolia));\r
isoCodeToResources.put("NE", new LanguageResources("Nepali", R.string.NE, R.drawable.flag_of_nepal));\r
isoCodeToResources.put("NO", new LanguageResources("Norwegian", R.string.NO, R.drawable.flag_of_norway));\r
isoCodeToResources.put("FA", new LanguageResources("Persian", R.string.FA, R.drawable.flag_of_iran));\r
isoCodeToResources.put("PL", new LanguageResources("Polish", R.string.PL, R.drawable.flag_of_poland));\r
- isoCodeToResources.put("PT", new LanguageResources("Portuguese", R.string.PT));\r
+ isoCodeToResources.put("PT", new LanguageResources("Portuguese", R.string.PT, R.drawable.flag_of_portugal));\r
isoCodeToResources.put("PA", new LanguageResources("Punjabi", R.string.PA));\r
isoCodeToResources.put("RO", new LanguageResources("Romanian", R.string.RO, R.drawable.flag_of_romania));\r
isoCodeToResources.put("RU", new LanguageResources("Russian", R.string.RU, R.drawable.flag_of_russia));\r
isoCodeToResources.put("UK", new LanguageResources("Ukrainian", R.string.UK, R.drawable.flag_of_ukraine));\r
isoCodeToResources.put("UR", new LanguageResources("Urdu", R.string.UR));\r
isoCodeToResources.put("VI", new LanguageResources("Vietnamese", R.string.VI, R.drawable.flag_of_vietnam));\r
- isoCodeToResources.put("CI", new LanguageResources("Welsh", R.string.CI));\r
+ isoCodeToResources.put("CI", new LanguageResources("Welsh", R.string.CI, R.drawable.flag_of_wales_2));\r
isoCodeToResources.put("YI", new LanguageResources("Yiddish", R.string.YI));\r
isoCodeToResources.put("ZU", new LanguageResources("Zulu", R.string.ZU));\r
isoCodeToResources.put("AZ", new LanguageResources("Azeri", R.string.AZ, R.drawable.flag_of_azerbaijan));\r
- isoCodeToResources.put("EU", new LanguageResources("Basque", R.string.EU));\r
+ isoCodeToResources.put("EU", new LanguageResources("Basque", R.string.EU, R.drawable.flag_of_the_basque_country));\r
isoCodeToResources.put("BR", new LanguageResources("Breton", R.string.BR));\r
- isoCodeToResources.put("MR", new LanguageResources("Burmese", R.string.MR));\r
+ isoCodeToResources.put("MR", new LanguageResources("Marathi", R.string.MR));\r
isoCodeToResources.put("FO", new LanguageResources("Faroese", R.string.FO));\r
- isoCodeToResources.put("GL", new LanguageResources("Galician", R.string.GL));\r
+ isoCodeToResources.put("GL", new LanguageResources("Galician", R.string.GL, R.drawable.flag_of_galicia));\r
isoCodeToResources.put("KA", new LanguageResources("Georgian", R.string.KA, R.drawable.flag_of_georgia));\r
isoCodeToResources.put("HT", new LanguageResources("Haitian Creole", R.string.HT, R.drawable.flag_of_haiti));\r
isoCodeToResources.put("LB", new LanguageResources("Luxembourgish", R.string.LB, R.drawable.flag_of_luxembourg));\r
- isoCodeToResources.put("MK", new LanguageResources("Macedonian", R.string.MK));\r
- isoCodeToResources.put("LO", new LanguageResources("Lao", R.string.LO));\r
+ isoCodeToResources.put("MK", new LanguageResources("Macedonian", R.string.MK, R.drawable.flag_of_macedonia));\r
+ isoCodeToResources.put("LO", new LanguageResources("Lao", R.string.LO, R.drawable.flag_of_laos));\r
isoCodeToResources.put("ML", new LanguageResources("Malayalam", R.string.ML));\r
isoCodeToResources.put("SL", new LanguageResources("Slovenian", R.string.SL, R.drawable.flag_of_slovenia));\r
isoCodeToResources.put("TA", new LanguageResources("Tamil", R.string.TA));\r
-* Quick shift to new dictionary.
- * Use flags.
-* DownloadManager
- * Use ActionBar.
- * Redo presentation: on-device first, then available to download.
- * Use system service for downloads.
* Application: fix which directory the thing uses: use default SD card instead of what's in prefs.
-
-
-
-* Make top of Dictionary activity good
- * Fit search text alongside other buttons if possible.
- * List other dictinaries beside
- * Make search text work.
-
- http://stackoverflow.com/questions/13604506/show-actionbarsherlock-searchview-always-expanded
- <style name="application_theme" parent="application_base_theme">
- <item name="searchViewSearchIcon">@android:color/transparent</item>
- <item name="searchViewCloseIcon">@android:color/transparent</item>
-</style>
\ No newline at end of file
+* Show download button when dictionaries can be updated.
+* Text rows are too tall.
\ No newline at end of file