diff --git a/propertysheet/.gitignore b/propertysheet/.gitignore
index fe99505..3826f65 100644
--- a/propertysheet/.gitignore
+++ b/propertysheet/.gitignore
@@ -1,2 +1,6 @@
 bin
-
+*~
+*.bak
+Thumbs.db
+*.class
+*.DS_Store
diff --git a/propertysheet/src/org/eclipse/wb/core/controls/CTableCombo.java b/propertysheet/src/org/eclipse/wb/core/controls/CTableCombo.java
new file mode 100644
index 0000000..407e14b
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/core/controls/CTableCombo.java
@@ -0,0 +1,690 @@
+/*******************************************************************************
+ * Copyright (c) 2011 Google, Inc.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *    Google, Inc. - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.wb.core.controls;
+
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.custom.CCombo;
+import org.eclipse.swt.events.DisposeEvent;
+import org.eclipse.swt.events.DisposeListener;
+import org.eclipse.swt.events.SelectionListener;
+import org.eclipse.swt.graphics.Color;
+import org.eclipse.swt.graphics.Image;
+import org.eclipse.swt.graphics.Point;
+import org.eclipse.swt.graphics.Rectangle;
+import org.eclipse.swt.layout.FillLayout;
+import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.Combo;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.swt.widgets.Event;
+import org.eclipse.swt.widgets.Listener;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.swt.widgets.Table;
+import org.eclipse.swt.widgets.TableColumn;
+import org.eclipse.swt.widgets.TableItem;
+import org.eclipse.swt.widgets.TypedListener;
+
+import java.util.Locale;
+
+/**
+ * {@link Control} like {@link Combo} or {@link CCombo} that shows {@link Table} with image/text as
+ * drop-down.
+ * 
+ * @author mitin_aa
+ * @author scheglov_ke
+ * @coverage core.control
+ */
+public class CTableCombo extends Composite {
+  protected Button m_arrow;
+  protected CImageLabel m_text;
+  protected Shell m_popup;
+  protected Table m_table;
+  protected boolean hasFocus;
+
+  //
+  public CTableCombo(Composite parent, int style) {
+    super(parent, style = checkStyle(style));
+    init(parent, style);
+  }
+
+  static int checkStyle(int style) {
+    int mask = SWT.BORDER | SWT.READ_ONLY | SWT.FLAT;
+    return style & mask;
+  }
+
+  private void init(Composite parent, int style) {
+    m_arrow = new Button(this, SWT.ARROW | SWT.DOWN | SWT.NO_FOCUS);
+    m_text = new CImageLabel(this, style & ~SWT.BORDER);
+    m_text.setBackground(Display.getDefault().getSystemColor(SWT.COLOR_LIST_BACKGROUND));
+    final Shell shell = getShell();
+    m_popup = new Shell(shell, SWT.NONE);
+    m_table = new Table(m_popup, SWT.FULL_SELECTION);
+    new TableColumn(m_table, SWT.NONE);
+    Listener listener = new Listener() {
+      public void handleEvent(Event event) {
+        if (m_popup == event.widget) {
+          handlePopupEvent(event);
+          return;
+        }
+        if (m_text == event.widget) {
+          handleTextEvent(event);
+          return;
+        }
+        if (m_table == event.widget) {
+          handleTableEvent(event);
+          return;
+        }
+        if (m_arrow == event.widget) {
+          handleArrowEvent(event);
+          return;
+        }
+        if (CTableCombo.this == event.widget) {
+          handleComboEvent(event);
+          return;
+        }
+      }
+    };
+    final Listener shellListener = new Listener() {
+      public void handleEvent(Event event) {
+        switch (event.type) {
+          case SWT.Dispose :
+          case SWT.Move :
+          case SWT.Resize :
+            if (!isDisposed()) {
+              dropDown(false);
+            }
+            break;
+        }
+      }
+    };
+    final int[] comboEvents = {SWT.Dispose, SWT.Move, SWT.Resize};
+    for (int i = 0; i < comboEvents.length; i++) {
+      addListener(comboEvents[i], listener);
+      // HACK: hide popup when parent changed
+      shell.addListener(comboEvents[i], shellListener);
+    }
+    addDisposeListener(new DisposeListener() {
+      public void widgetDisposed(DisposeEvent e) {
+        for (int i = 0; i < comboEvents.length; i++) {
+          shell.removeListener(comboEvents[i], shellListener);
+        }
+      }
+    });
+    int[] popupEvents = {SWT.Close, SWT.Paint, SWT.Deactivate};
+    for (int i = 0; i < popupEvents.length; i++) {
+      m_popup.addListener(popupEvents[i], listener);
+    }
+    int[] textEvents =
+        {
+            SWT.KeyDown,
+            SWT.KeyUp,
+            SWT.Modify,
+            SWT.MouseDown,
+            SWT.MouseUp,
+            SWT.MouseDoubleClick,
+            SWT.Traverse,
+            SWT.FocusIn,
+            SWT.FocusOut};
+    for (int i = 0; i < textEvents.length; i++) {
+      m_text.addListener(textEvents[i], listener);
+    }
+    int[] tableEvents =
+        {
+            SWT.MouseUp,
+            SWT.Selection,
+            SWT.Traverse,
+            SWT.KeyDown,
+            SWT.KeyUp,
+            SWT.FocusIn,
+            SWT.FocusOut};
+    for (int i = 0; i < tableEvents.length; i++) {
+      m_table.addListener(tableEvents[i], listener);
+    }
+    int[] arrowEvents = {SWT.Selection, SWT.FocusIn, SWT.FocusOut};
+    for (int i = 0; i < arrowEvents.length; i++) {
+      m_arrow.addListener(arrowEvents[i], listener);
+    }
+  }
+
+  protected void handleTableEvent(Event event) {
+    switch (event.type) {
+      case SWT.FocusIn : {
+        if (hasFocus) {
+          return;
+        }
+        hasFocus = true;
+        Event e = new Event();
+        e.time = event.time;
+        notifyListeners(SWT.FocusIn, e);
+        break;
+      }
+      case SWT.FocusOut : {
+        final int time = event.time;
+        event.display.asyncExec(new Runnable() {
+          public void run() {
+            if (CTableCombo.this.isDisposed()) {
+              return;
+            }
+            Control focusControl = getDisplay().getFocusControl();
+            if (focusControl == m_text || focusControl == m_arrow) {
+              return;
+            }
+            hasFocus = false;
+            Event e = new Event();
+            e.time = time;
+            notifyListeners(SWT.FocusOut, e);
+          }
+        });
+        break;
+      }
+      case SWT.MouseUp : {
+        if (event.button != 1) {
+          return;
+        }
+        dropDown(false);
+        Event e = new Event();
+        e.time = event.time;
+        notifyListeners(SWT.DefaultSelection, e);
+        break;
+      }
+      case SWT.Selection : {
+        int index = m_table.getSelectionIndex();
+        if (index == -1) {
+          return;
+        }
+        TableItem item = m_table.getItem(index);
+        m_text.setText(item.getText());
+        m_text.setImage(item.getImage());
+        //m_text.selectAll();
+        m_table.setSelection(index);
+        Event e = new Event();
+        e.time = event.time;
+        e.stateMask = event.stateMask;
+        e.doit = event.doit;
+        notifyListeners(SWT.Selection, e);
+        event.doit = e.doit;
+        dropDown(false);
+        break;
+      }
+      case SWT.Traverse : {
+        switch (event.detail) {
+          case SWT.TRAVERSE_TAB_NEXT :
+          case SWT.TRAVERSE_RETURN :
+          case SWT.TRAVERSE_ESCAPE :
+          case SWT.TRAVERSE_ARROW_PREVIOUS :
+          case SWT.TRAVERSE_ARROW_NEXT :
+            event.doit = false;
+            break;
+        }
+        Event e = new Event();
+        e.time = event.time;
+        e.detail = event.detail;
+        e.doit = event.doit;
+        e.keyCode = event.keyCode;
+        notifyListeners(SWT.Traverse, e);
+        event.doit = e.doit;
+        break;
+      }
+      case SWT.KeyUp : {
+        Event e = new Event();
+        e.time = event.time;
+        e.character = event.character;
+        e.keyCode = event.keyCode;
+        e.stateMask = event.stateMask;
+        notifyListeners(SWT.KeyUp, e);
+        break;
+      }
+      case SWT.KeyDown : {
+        if (event.character == SWT.ESC) {
+          // escape key cancels popups
+          dropDown(false);
+        }
+        if (event.character == SWT.CR || event.character == '\t') {
+          // Enter and Tab cause default selection
+          dropDown(false);
+          Event e = new Event();
+          e.time = event.time;
+          e.stateMask = event.stateMask;
+          notifyListeners(SWT.DefaultSelection, e);
+        }
+        // At this point the widget may have been disposed.
+        // If so, do not continue.
+        if (isDisposed()) {
+          break;
+        }
+        Event e = new Event();
+        e.time = event.time;
+        e.character = event.character;
+        e.keyCode = event.keyCode;
+        e.stateMask = event.stateMask;
+        notifyListeners(SWT.KeyDown, e);
+        break;
+      }
+    }
+  }
+
+  protected void handlePopupEvent(Event event) {
+    switch (event.type) {
+      case SWT.Paint :
+        // draw black rectangle around list
+        Rectangle listRect = m_table.getBounds();
+        Color black = getDisplay().getSystemColor(SWT.COLOR_BLACK);
+        event.gc.setForeground(black);
+        event.gc.drawRectangle(0, 0, listRect.width + 1, listRect.height + 1);
+        break;
+      case SWT.Close :
+        event.doit = false;
+        dropDown(false);
+        break;
+    }
+  }
+
+  protected void handleComboEvent(Event event) {
+    switch (event.type) {
+      case SWT.Dispose :
+        if (m_popup != null && !m_popup.isDisposed()) {
+          m_popup.dispose();
+        }
+        m_popup = null;
+        m_text = null;
+        m_arrow = null;
+        break;
+      case SWT.Move :
+        dropDown(false);
+        break;
+      case SWT.Resize :
+        internalLayout();
+        break;
+    }
+  }
+
+  protected void handleArrowEvent(Event event) {
+    switch (event.type) {
+      case SWT.FocusIn : {
+        if (hasFocus) {
+          return;
+        }
+        hasFocus = true;
+        Event e = new Event();
+        e.time = event.time;
+        notifyListeners(SWT.FocusIn, e);
+        break;
+      }
+      case SWT.Selection : {
+        boolean wasDropped = isDropped();
+        dropDown(!wasDropped);
+        if (wasDropped) {
+          m_text.forceFocus();
+        }
+        break;
+      }
+    }
+  }
+
+  protected void handleTextEvent(Event event) {
+    switch (event.type) {
+      case SWT.FocusIn : {
+        if (hasFocus) {
+          return;
+        }
+        hasFocus = true;
+        //if (getEditable())
+        Event e = new Event();
+        e.time = event.time;
+        notifyListeners(SWT.FocusIn, e);
+        break;
+      }
+      case SWT.FocusOut : {
+        final int time = event.time;
+        event.display.asyncExec(new Runnable() {
+          public void run() {
+            if (CTableCombo.this.isDisposed()) {
+              return;
+            }
+            Control focusControl = getDisplay().getFocusControl();
+            if (focusControl == m_table
+                || focusControl == m_arrow
+                || focusControl != null
+                && focusControl.getParent() == CTableCombo.this) {
+              return;
+            }
+            hasFocus = false;
+            Event e = new Event();
+            e.time = time;
+            notifyListeners(SWT.FocusOut, e);
+          }
+        });
+        break;
+      }
+      case SWT.KeyDown : {
+        if (event.character == SWT.ESC) { // escape key cancels popup
+          dropDown(false);
+        }
+        if (event.character == SWT.CR) {
+          dropDown(false);
+          Event e = new Event();
+          e.time = event.time;
+          e.stateMask = event.stateMask;
+          notifyListeners(SWT.DefaultSelection, e);
+        }
+        // At this point the widget may have been disposed.
+        // If so, do not continue.
+        if (isDisposed()) {
+          break;
+        }
+        if (event.character == '+') {
+          dropDown(true);
+        }
+        if (isDropped()) {
+          if (event.keyCode == SWT.ARROW_UP || event.keyCode == SWT.ARROW_DOWN) {
+            int oldIndex = getSelectionIndex();
+            if (event.keyCode == SWT.ARROW_UP) {
+              select(Math.max(oldIndex - 1, 0));
+            } else {
+              select(Math.min(oldIndex + 1, getItemCount() - 1));
+            }
+            if (oldIndex != getSelectionIndex()) {
+              Event e = new Event();
+              e.time = event.time;
+              e.stateMask = event.stateMask;
+              notifyListeners(SWT.Selection, e);
+            }
+            // At this point the widget may have been disposed.
+            // If so, do not continue.
+            if (isDisposed()) {
+              break;
+            }
+          }
+        }
+        if (Character.isLetter(event.character)) {
+          int oldIndex = getSelectionIndex();
+          int index = -1;
+          for (int i = 0; i < getItemCount(); i++) {
+            String item = getItem(i).toUpperCase(Locale.ENGLISH);
+            if (item.length() != 0 && item.charAt(0) == Character.toUpperCase(event.character)) {
+              index = i;
+              break;
+            }
+          }
+          if (index != -1) {
+            select(Math.max(index, 0));
+            if (oldIndex != getSelectionIndex()) {
+              Event e = new Event();
+              e.time = event.time;
+              e.stateMask = event.stateMask;
+              notifyListeners(SWT.Selection, e);
+            }
+          }
+        }
+        Event e = new Event();
+        e.time = event.time;
+        e.character = event.character;
+        e.keyCode = event.keyCode;
+        e.stateMask = event.stateMask;
+        if (m_text != null && !m_text.isDisposed()) {
+          notifyListeners(SWT.KeyDown, e);
+        }
+        break;
+      }
+      case SWT.KeyUp : {
+        Event e = new Event();
+        e.time = event.time;
+        e.character = event.character;
+        e.keyCode = event.keyCode;
+        e.stateMask = event.stateMask;
+        notifyListeners(SWT.KeyUp, e);
+        break;
+      }
+      case SWT.Modify : {
+        m_table.deselectAll();
+        Event e = new Event();
+        e.time = event.time;
+        notifyListeners(SWT.Modify, e);
+        break;
+      }
+      case SWT.MouseDown : {
+        if (event.button != 1) {
+          return;
+        }
+        m_text.forceFocus();
+        boolean dropped = isDropped();
+        dropDown(!dropped);
+        if (!dropped) {
+          m_text.forceFocus();
+        }
+        break;
+      }
+      case SWT.MouseDoubleClick : {
+        notifyListeners(SWT.MouseDoubleClick, event);
+        break;
+      }
+      case SWT.Traverse : {
+        switch (event.detail) {
+          case SWT.TRAVERSE_RETURN :
+          case SWT.TRAVERSE_ARROW_PREVIOUS :
+          case SWT.TRAVERSE_ARROW_NEXT :
+            // The enter causes default selection and
+            // the arrow keys are used to manipulate the list contents so
+            // do not use them for traversal.
+            event.doit = false;
+            break;
+          case SWT.TRAVERSE_TAB_NEXT :
+          case SWT.TRAVERSE_TAB_PREVIOUS :
+            event.doit = true;
+            break;
+        }
+        Event e = new Event();
+        e.time = event.time;
+        e.detail = event.detail;
+        e.doit = event.doit;
+        e.keyCode = event.keyCode;
+        notifyListeners(SWT.Traverse, e);
+        event.doit = e.doit;
+        break;
+      }
+    }
+  }
+
+  private void dropDown(boolean drop) {
+    if (drop == isDropped()) {
+      return;
+    }
+    if (!drop) {
+      m_popup.setVisible(false);
+      m_text.setFocus();
+      return;
+    }
+    int index = m_table.getSelectionIndex();
+    if (index != -1) {
+      m_table.setTopIndex(index);
+      m_table.setSelection(index);
+    }
+    m_table.pack();
+    Point point = getParent().toDisplay(getLocation());
+    Point comboSize = getSize();
+    //Rectangle tableRect = m_table.getBounds();
+    //int width = Math.max(comboSize.x, tableRect.width + 2);
+    int width = comboSize.x - 1;
+    // only one column 
+    m_table.getColumn(0).setWidth(width - 5);
+    if (!(m_popup.getLayout() instanceof FillLayout)) {
+      m_popup.setLayout(new FillLayout());
+    }
+    int itemCount = m_table.getItemCount();
+    if (itemCount > 20) {
+      itemCount = 20;
+    }
+    int height =
+        Math.min(
+            m_table.getItemHeight() * itemCount + 5,
+            Display.getCurrent().getClientArea().height - point.y - 20);
+    m_popup.setBounds(point.x, point.y + comboSize.y, width, height);
+    m_popup.layout();
+    m_popup.setVisible(true);
+    m_text.setFocus();
+    if (index != -1) {
+      m_table.setTopIndex(index);
+      m_table.setSelection(index);
+    }
+  }
+
+  @Override
+  public Point computeSize(int wHint, int hHint, boolean changed) {
+    checkWidget();
+    int width = 0, height = 0;
+    Point textSize = m_text.computeSize(wHint, SWT.DEFAULT, changed);
+    Point arrowSize = m_arrow.computeSize(SWT.DEFAULT, SWT.DEFAULT, changed);
+    int tableWidth;
+    {
+      TableColumn column = m_table.getColumn(0);
+      column.pack();
+      tableWidth = column.getWidth();
+    }
+    //
+    int borderWidth = getBorderWidth();
+    height = Math.max(hHint, Math.max(textSize.y, arrowSize.y) + 2 * borderWidth);
+    width = Math.max(wHint, Math.max(textSize.x + arrowSize.x, tableWidth) + 2 * borderWidth);
+    //
+    return new Point(width, height);
+  }
+
+  private void internalLayout() {
+    if (isDropped()) {
+      dropDown(false);
+    }
+    Rectangle rect = getClientArea();
+    int width = rect.width;
+    int height = rect.height;
+    Point arrowSize = m_arrow.computeSize(SWT.DEFAULT, height);
+    m_text.setBounds(rect.x, rect.y, width - arrowSize.x, height);
+    m_arrow.setBounds(rect.x + width - arrowSize.x, rect.y, arrowSize.x, arrowSize.y);
+  }
+
+  private boolean isDropped() {
+    return m_popup.isVisible();
+  }
+
+  @Override
+  public boolean isFocusControl() {
+    checkWidget();
+    if (m_text.isFocusControl()
+        || m_arrow.isFocusControl()
+        || m_table.isFocusControl()
+        || m_popup.isFocusControl()) {
+      return true;
+    }
+    return super.isFocusControl();
+  }
+
+  public void select(int index) {
+    checkWidget();
+    if (index == -1) {
+      m_table.deselectAll();
+      m_text.setText(""); //$NON-NLS-1$
+      m_text.setImage(null);
+      return;
+    }
+    if (0 <= index && index < m_table.getItemCount()) {
+      if (index != getSelectionIndex()) {
+        TableItem item = m_table.getItem(index);
+        m_text.setText(item.getText());
+        m_text.setImage(item.getImage());
+        m_table.select(index);
+        m_table.showSelection();
+      }
+    }
+  }
+
+  @Override
+  public void setEnabled(boolean enabled) {
+    super.setEnabled(enabled);
+    if (enabled) {
+      m_text.setBackground(Display.getDefault().getSystemColor(SWT.COLOR_LIST_BACKGROUND));
+    } else {
+      m_text.setBackground(Display.getDefault().getSystemColor(SWT.COLOR_WIDGET_LIGHT_SHADOW));
+    }
+  }
+
+  public String getItem(int index) {
+    checkWidget();
+    return m_table.getItem(index).getText();
+  }
+
+  public int getSelectionIndex() {
+    checkWidget();
+    return m_table.getSelectionIndex();
+  }
+
+  public void removeAll() {
+    checkWidget();
+    m_text.setText(""); //$NON-NLS-1$
+    m_text.setImage(null);
+    m_table.removeAll();
+  }
+
+  public int indexOf(String string) {
+    return indexOf(string, 0);
+  }
+
+  public int indexOf(String string, int start) {
+    checkWidget();
+    if (string == null) {
+      return -1;
+    }
+    TableItem[] items = m_table.getItems();
+    for (int i = start; i < items.length; i++) {
+      TableItem item = items[i];
+      if (item.getText().equalsIgnoreCase(string)) {
+        return i;
+      }
+    }
+    return -1;
+  }
+
+  public String getText() {
+    return m_text.getText();
+  }
+
+  public int getItemCount() {
+    checkWidget();
+    return m_table.getItemCount();
+  }
+
+  protected void setText(String string) {
+    m_text.setText(string);
+  }
+
+  protected void setImage(Image image) {
+    m_text.setImage(image);
+  }
+
+  public void add(String text) {
+    add(text, null);
+  }
+
+  public void add(String text, Image image) {
+    checkWidget();
+    TableItem item = new TableItem(m_table, SWT.NONE);
+    item.setText(text);
+    item.setImage(image);
+  }
+
+  public void addSelectionListener(SelectionListener listener) {
+    checkWidget();
+    if (listener == null) {
+      SWT.error(SWT.ERROR_NULL_ARGUMENT);
+    }
+    TypedListener typedListener = new TypedListener(listener);
+    addListener(SWT.Selection, typedListener);
+    addListener(SWT.DefaultSelection, typedListener);
+  }
+}
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/DesignerPlugin.java b/propertysheet/src/org/eclipse/wb/internal/core/DesignerPlugin.java
index 564a068..9c6a6ca 100644
--- a/propertysheet/src/org/eclipse/wb/internal/core/DesignerPlugin.java
+++ b/propertysheet/src/org/eclipse/wb/internal/core/DesignerPlugin.java
@@ -208,7 +208,7 @@
         if (image == null) {
             ImageDescriptor descriptor = getImageDescriptor(path);
             if (descriptor != null) {
-                return descriptor.createImage();
+                image = descriptor.createImage();
             }
             sImageCache.put(path, image);
         }
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/add_source.gif b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/add_source.gif
new file mode 100644
index 0000000..10dd73e
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/add_source.gif
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/add_source.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/add_source.png
new file mode 100644
index 0000000..34abffb
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/add_source.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/externalize_strings.gif b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/externalize_strings.gif
new file mode 100644
index 0000000..ee1d84b
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/externalize_strings.gif
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/externalize_strings_disabled.gif b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/externalize_strings_disabled.gif
new file mode 100644
index 0000000..85eb7b1
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/externalize_strings_disabled.gif
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/extstr_wiz.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/extstr_wiz.png
new file mode 100644
index 0000000..74ff245
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/extstr_wiz.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ad.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ad.png
new file mode 100644
index 0000000..625ca84
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ad.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ae.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ae.png
new file mode 100644
index 0000000..ef3a1ec
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ae.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/af.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/af.png
new file mode 100644
index 0000000..a4742e2
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/af.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ag.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ag.png
new file mode 100644
index 0000000..556d550
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ag.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ai.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ai.png
new file mode 100644
index 0000000..74ed29d
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ai.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/al.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/al.png
new file mode 100644
index 0000000..92354cb
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/al.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/am.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/am.png
new file mode 100644
index 0000000..344a2a8
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/am.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/an.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/an.png
new file mode 100644
index 0000000..633e4b8
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/an.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ao.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ao.png
new file mode 100644
index 0000000..bcbd1d6
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ao.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ar.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ar.png
new file mode 100644
index 0000000..e5ef8f1
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ar.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/as.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/as.png
new file mode 100644
index 0000000..32f30e4
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/as.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/at.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/at.png
new file mode 100644
index 0000000..0f15f34
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/at.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/au.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/au.png
new file mode 100644
index 0000000..a01389a
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/au.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/aw.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/aw.png
new file mode 100644
index 0000000..a3579c2
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/aw.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ax.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ax.png
new file mode 100644
index 0000000..1eea80a
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ax.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/az.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/az.png
new file mode 100644
index 0000000..4ee9fe5
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/az.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ba.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ba.png
new file mode 100644
index 0000000..c774992
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ba.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/bb.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/bb.png
new file mode 100644
index 0000000..0df19c7
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/bb.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/bd.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/bd.png
new file mode 100644
index 0000000..076a8bf
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/bd.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/be.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/be.png
new file mode 100644
index 0000000..d86ebc8
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/be.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/bf.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/bf.png
new file mode 100644
index 0000000..ab5ce8f
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/bf.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/bg.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/bg.png
new file mode 100644
index 0000000..0469f06
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/bg.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/bh.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/bh.png
new file mode 100644
index 0000000..ea8ce68
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/bh.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/bi.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/bi.png
new file mode 100644
index 0000000..5cc2e30
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/bi.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/bj.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/bj.png
new file mode 100644
index 0000000..1cc8b45
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/bj.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/bm.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/bm.png
new file mode 100644
index 0000000..c0c7aea
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/bm.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/bn.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/bn.png
new file mode 100644
index 0000000..8fb0984
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/bn.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/bo.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/bo.png
new file mode 100644
index 0000000..ce7ba52
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/bo.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/br.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/br.png
new file mode 100644
index 0000000..9b1a553
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/br.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/bs.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/bs.png
new file mode 100644
index 0000000..639fa6c
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/bs.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/bt.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/bt.png
new file mode 100644
index 0000000..1d512df
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/bt.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/bv.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/bv.png
new file mode 100644
index 0000000..160b6b5
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/bv.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/bw.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/bw.png
new file mode 100644
index 0000000..fcb1039
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/bw.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/by.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/by.png
new file mode 100644
index 0000000..504774e
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/by.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/bz.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/bz.png
new file mode 100644
index 0000000..be63ee1
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/bz.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ca.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ca.png
new file mode 100644
index 0000000..1f20419
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ca.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/catalonia.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/catalonia.png
new file mode 100644
index 0000000..5041e30
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/catalonia.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/cc.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/cc.png
new file mode 100644
index 0000000..aed3d3b
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/cc.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/cd.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/cd.png
new file mode 100644
index 0000000..5e48942
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/cd.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/cf.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/cf.png
new file mode 100644
index 0000000..da687bd
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/cf.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/cg.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/cg.png
new file mode 100644
index 0000000..a859792
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/cg.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ch.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ch.png
new file mode 100644
index 0000000..242ec01
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ch.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ci.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ci.png
new file mode 100644
index 0000000..3f2c62e
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ci.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ck.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ck.png
new file mode 100644
index 0000000..746d3d6
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ck.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/cl.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/cl.png
new file mode 100644
index 0000000..29c6d61
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/cl.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/cm.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/cm.png
new file mode 100644
index 0000000..f65c5bd
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/cm.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/cn.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/cn.png
new file mode 100644
index 0000000..8914414
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/cn.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/co.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/co.png
new file mode 100644
index 0000000..a118ff4
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/co.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/cr.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/cr.png
new file mode 100644
index 0000000..c7a3731
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/cr.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/cs.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/cs.png
new file mode 100644
index 0000000..8254790
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/cs.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/cu.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/cu.png
new file mode 100644
index 0000000..083f1d6
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/cu.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/cv.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/cv.png
new file mode 100644
index 0000000..a63f7ea
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/cv.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/cx.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/cx.png
new file mode 100644
index 0000000..48e31ad
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/cx.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/cy.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/cy.png
new file mode 100644
index 0000000..5b1ad6c
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/cy.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/cz.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/cz.png
new file mode 100644
index 0000000..c8403dd
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/cz.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/de.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/de.png
new file mode 100644
index 0000000..ac4a977
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/de.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/dj.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/dj.png
new file mode 100644
index 0000000..582af36
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/dj.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/dk.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/dk.png
new file mode 100644
index 0000000..e2993d3
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/dk.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/dm.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/dm.png
new file mode 100644
index 0000000..5fbffcb
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/dm.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/do.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/do.png
new file mode 100644
index 0000000..5a04932
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/do.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/dz.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/dz.png
new file mode 100644
index 0000000..335c239
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/dz.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ec.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ec.png
new file mode 100644
index 0000000..0caa0b1
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ec.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ee.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ee.png
new file mode 100644
index 0000000..0c82efb
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ee.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/eg.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/eg.png
new file mode 100644
index 0000000..8a3f7a1
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/eg.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/eh.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/eh.png
new file mode 100644
index 0000000..90a1195
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/eh.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/england.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/england.png
new file mode 100644
index 0000000..3a7311d
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/england.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/er.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/er.png
new file mode 100644
index 0000000..13065ae
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/er.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/es.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/es.png
new file mode 100644
index 0000000..c2de2d7
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/es.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/et.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/et.png
new file mode 100644
index 0000000..2e893fa
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/et.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/europeanunion.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/europeanunion.png
new file mode 100644
index 0000000..d6d8711
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/europeanunion.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/fam.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/fam.png
new file mode 100644
index 0000000..cf50c75
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/fam.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/fi.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/fi.png
new file mode 100644
index 0000000..14ec091
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/fi.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/fj.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/fj.png
new file mode 100644
index 0000000..cee9988
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/fj.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/fk.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/fk.png
new file mode 100644
index 0000000..ceaeb27
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/fk.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/flag_empty.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/flag_empty.png
new file mode 100644
index 0000000..5c00ce1
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/flag_empty.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/fm.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/fm.png
new file mode 100644
index 0000000..066bb24
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/fm.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/fo.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/fo.png
new file mode 100644
index 0000000..cbceb80
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/fo.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/fr.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/fr.png
new file mode 100644
index 0000000..8332c4e
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/fr.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ga.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ga.png
new file mode 100644
index 0000000..0e0d434
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ga.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/gb.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/gb.png
new file mode 100644
index 0000000..ff701e1
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/gb.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/gd.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/gd.png
new file mode 100644
index 0000000..9ab57f5
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/gd.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ge.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ge.png
new file mode 100644
index 0000000..728d970
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ge.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/gf.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/gf.png
new file mode 100644
index 0000000..8332c4e
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/gf.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/gh.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/gh.png
new file mode 100644
index 0000000..4e2f896
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/gh.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/gi.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/gi.png
new file mode 100644
index 0000000..e76797f
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/gi.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/gl.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/gl.png
new file mode 100644
index 0000000..ef12a73
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/gl.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/gm.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/gm.png
new file mode 100644
index 0000000..0720b66
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/gm.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/gn.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/gn.png
new file mode 100644
index 0000000..ea660b0
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/gn.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/gp.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/gp.png
new file mode 100644
index 0000000..dbb086d
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/gp.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/gq.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/gq.png
new file mode 100644
index 0000000..ebe20a2
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/gq.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/gr.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/gr.png
new file mode 100644
index 0000000..8651ade
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/gr.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/gs.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/gs.png
new file mode 100644
index 0000000..7ef0bf5
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/gs.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/gt.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/gt.png
new file mode 100644
index 0000000..c43a70d
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/gt.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/gu.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/gu.png
new file mode 100644
index 0000000..92f37c0
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/gu.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/gw.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/gw.png
new file mode 100644
index 0000000..b37bcf0
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/gw.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/gy.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/gy.png
new file mode 100644
index 0000000..22cbe2f
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/gy.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/hk.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/hk.png
new file mode 100644
index 0000000..d5c380c
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/hk.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/hm.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/hm.png
new file mode 100644
index 0000000..a01389a
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/hm.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/hn.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/hn.png
new file mode 100644
index 0000000..96f8388
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/hn.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/hr.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/hr.png
new file mode 100644
index 0000000..696b515
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/hr.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ht.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ht.png
new file mode 100644
index 0000000..416052a
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ht.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/hu.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/hu.png
new file mode 100644
index 0000000..7baafe4
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/hu.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/id.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/id.png
new file mode 100644
index 0000000..c6bc0fa
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/id.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ie.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ie.png
new file mode 100644
index 0000000..26baa31
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ie.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/il.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/il.png
new file mode 100644
index 0000000..2ca772d
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/il.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/in.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/in.png
new file mode 100644
index 0000000..e4d7e81
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/in.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/io.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/io.png
new file mode 100644
index 0000000..3e74b6a
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/io.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/iq.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/iq.png
new file mode 100644
index 0000000..878a351
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/iq.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ir.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ir.png
new file mode 100644
index 0000000..c5fd136
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ir.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/is.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/is.png
new file mode 100644
index 0000000..b8f6d0f
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/is.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/it.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/it.png
new file mode 100644
index 0000000..89692f7
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/it.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/jm.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/jm.png
new file mode 100644
index 0000000..7be119e
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/jm.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/jo.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/jo.png
new file mode 100644
index 0000000..11bd497
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/jo.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/jp.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/jp.png
new file mode 100644
index 0000000..325fbad
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/jp.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ke.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ke.png
new file mode 100644
index 0000000..51879ad
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ke.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/kg.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/kg.png
new file mode 100644
index 0000000..0a818f6
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/kg.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/kh.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/kh.png
new file mode 100644
index 0000000..30f6bb1
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/kh.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ki.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ki.png
new file mode 100644
index 0000000..2dcce4b
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ki.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/km.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/km.png
new file mode 100644
index 0000000..812b2f5
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/km.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/kn.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/kn.png
new file mode 100644
index 0000000..febd5b4
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/kn.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/kp.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/kp.png
new file mode 100644
index 0000000..d3d509a
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/kp.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/kr.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/kr.png
new file mode 100644
index 0000000..9c0a78e
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/kr.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/kw.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/kw.png
new file mode 100644
index 0000000..96546da
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/kw.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ky.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ky.png
new file mode 100644
index 0000000..15c5f8e
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ky.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/kz.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/kz.png
new file mode 100644
index 0000000..45a8c88
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/kz.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/la.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/la.png
new file mode 100644
index 0000000..e28acd0
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/la.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/lb.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/lb.png
new file mode 100644
index 0000000..d0d452b
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/lb.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/lc.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/lc.png
new file mode 100644
index 0000000..a47d065
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/lc.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/li.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/li.png
new file mode 100644
index 0000000..6469909
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/li.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/lk.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/lk.png
new file mode 100644
index 0000000..088aad6
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/lk.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/lr.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/lr.png
new file mode 100644
index 0000000..89a5bc7
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/lr.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ls.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ls.png
new file mode 100644
index 0000000..33fdef1
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ls.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/lt.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/lt.png
new file mode 100644
index 0000000..c8ef0da
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/lt.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/lu.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/lu.png
new file mode 100644
index 0000000..4cabba9
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/lu.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/lv.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/lv.png
new file mode 100644
index 0000000..49b6998
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/lv.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ly.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ly.png
new file mode 100644
index 0000000..b163a9f
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ly.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ma.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ma.png
new file mode 100644
index 0000000..f386770
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ma.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/mc.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/mc.png
new file mode 100644
index 0000000..1aa830f
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/mc.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/md.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/md.png
new file mode 100644
index 0000000..4e92c18
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/md.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/me.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/me.png
new file mode 100644
index 0000000..ac72535
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/me.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/mg.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/mg.png
new file mode 100644
index 0000000..d2715b3
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/mg.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/mh.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/mh.png
new file mode 100644
index 0000000..fb523a8
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/mh.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/mk.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/mk.png
new file mode 100644
index 0000000..db173aa
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/mk.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ml.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ml.png
new file mode 100644
index 0000000..2cec8ba
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ml.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/mm.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/mm.png
new file mode 100644
index 0000000..f464f67
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/mm.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/mn.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/mn.png
new file mode 100644
index 0000000..9396355
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/mn.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/mo.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/mo.png
new file mode 100644
index 0000000..deb801d
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/mo.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/mp.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/mp.png
new file mode 100644
index 0000000..298d588
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/mp.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/mq.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/mq.png
new file mode 100644
index 0000000..010143b
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/mq.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/mr.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/mr.png
new file mode 100644
index 0000000..319546b
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/mr.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ms.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ms.png
new file mode 100644
index 0000000..d4cbb43
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ms.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/mt.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/mt.png
new file mode 100644
index 0000000..00af948
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/mt.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/mu.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/mu.png
new file mode 100644
index 0000000..b7fdce1
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/mu.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/mv.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/mv.png
new file mode 100644
index 0000000..5073d9e
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/mv.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/mw.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/mw.png
new file mode 100644
index 0000000..13886e9
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/mw.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/mx.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/mx.png
new file mode 100644
index 0000000..5bc58ab
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/mx.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/my.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/my.png
new file mode 100644
index 0000000..9034cba
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/my.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/mz.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/mz.png
new file mode 100644
index 0000000..76405e0
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/mz.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/na.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/na.png
new file mode 100644
index 0000000..63358c6
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/na.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/nc.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/nc.png
new file mode 100644
index 0000000..2cad283
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/nc.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ne.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ne.png
new file mode 100644
index 0000000..d85f424
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ne.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/nf.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/nf.png
new file mode 100644
index 0000000..f9bcdda
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/nf.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ng.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ng.png
new file mode 100644
index 0000000..3eea2e0
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ng.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ni.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ni.png
new file mode 100644
index 0000000..3969aaa
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ni.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/nl.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/nl.png
new file mode 100644
index 0000000..fe44791
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/nl.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/no.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/no.png
new file mode 100644
index 0000000..160b6b5
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/no.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/np.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/np.png
new file mode 100644
index 0000000..aeb058b
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/np.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/nr.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/nr.png
new file mode 100644
index 0000000..705fc33
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/nr.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/nu.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/nu.png
new file mode 100644
index 0000000..c3ce4ae
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/nu.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/nz.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/nz.png
new file mode 100644
index 0000000..10d6306
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/nz.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/om.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/om.png
new file mode 100644
index 0000000..2ffba7e
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/om.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/pa.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/pa.png
new file mode 100644
index 0000000..9b2ee9a
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/pa.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/pe.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/pe.png
new file mode 100644
index 0000000..62a0497
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/pe.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/pf.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/pf.png
new file mode 100644
index 0000000..771a0f6
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/pf.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/pg.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/pg.png
new file mode 100644
index 0000000..10d6233
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/pg.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ph.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ph.png
new file mode 100644
index 0000000..b89e159
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ph.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/pk.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/pk.png
new file mode 100644
index 0000000..e9df70c
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/pk.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/pl.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/pl.png
new file mode 100644
index 0000000..d413d01
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/pl.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/pm.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/pm.png
new file mode 100644
index 0000000..ba91d2c
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/pm.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/pn.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/pn.png
new file mode 100644
index 0000000..aa9344f
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/pn.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/pr.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/pr.png
new file mode 100644
index 0000000..82d9130
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/pr.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ps.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ps.png
new file mode 100644
index 0000000..f5f5477
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ps.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/pt.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/pt.png
new file mode 100644
index 0000000..ece7980
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/pt.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/pw.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/pw.png
new file mode 100644
index 0000000..6178b25
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/pw.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/py.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/py.png
new file mode 100644
index 0000000..cb8723c
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/py.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/qa.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/qa.png
new file mode 100644
index 0000000..ed4c621
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/qa.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/re.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/re.png
new file mode 100644
index 0000000..8332c4e
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/re.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ro.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ro.png
new file mode 100644
index 0000000..57e74a6
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ro.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/rs.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/rs.png
new file mode 100644
index 0000000..9439a5b
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/rs.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ru.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ru.png
new file mode 100644
index 0000000..47da421
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ru.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/rw.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/rw.png
new file mode 100644
index 0000000..5356491
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/rw.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/sa.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/sa.png
new file mode 100644
index 0000000..b4641c7
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/sa.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/sb.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/sb.png
new file mode 100644
index 0000000..a9937cc
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/sb.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/sc.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/sc.png
new file mode 100644
index 0000000..39ee371
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/sc.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/scotland.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/scotland.png
new file mode 100644
index 0000000..a0e57b4
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/scotland.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/sd.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/sd.png
new file mode 100644
index 0000000..eaab69e
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/sd.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/se.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/se.png
new file mode 100644
index 0000000..1994653
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/se.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/sg.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/sg.png
new file mode 100644
index 0000000..dd34d61
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/sg.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/sh.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/sh.png
new file mode 100644
index 0000000..4b1d2a2
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/sh.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/si.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/si.png
new file mode 100644
index 0000000..bb1476f
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/si.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/sj.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/sj.png
new file mode 100644
index 0000000..160b6b5
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/sj.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/sk.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/sk.png
new file mode 100644
index 0000000..7ccbc82
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/sk.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/sl.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/sl.png
new file mode 100644
index 0000000..12d812d
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/sl.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/sm.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/sm.png
new file mode 100644
index 0000000..3df2fdc
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/sm.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/sn.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/sn.png
new file mode 100644
index 0000000..eabb71d
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/sn.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/so.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/so.png
new file mode 100644
index 0000000..4a1ea4b
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/so.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/sr.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/sr.png
new file mode 100644
index 0000000..5eff927
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/sr.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/st.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/st.png
new file mode 100644
index 0000000..2978557
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/st.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/sv.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/sv.png
new file mode 100644
index 0000000..2498799
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/sv.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/sy.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/sy.png
new file mode 100644
index 0000000..f5ce30d
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/sy.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/sz.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/sz.png
new file mode 100644
index 0000000..914ee86
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/sz.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/tc.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/tc.png
new file mode 100644
index 0000000..8fc1156
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/tc.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/td.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/td.png
new file mode 100644
index 0000000..667f21f
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/td.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/tf.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/tf.png
new file mode 100644
index 0000000..80529a4
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/tf.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/tg.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/tg.png
new file mode 100644
index 0000000..3aa00ad
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/tg.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/th.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/th.png
new file mode 100644
index 0000000..dd8ba91
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/th.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/tj.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/tj.png
new file mode 100644
index 0000000..617bf64
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/tj.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/tk.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/tk.png
new file mode 100644
index 0000000..67b8c8c
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/tk.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/tl.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/tl.png
new file mode 100644
index 0000000..77da181
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/tl.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/tm.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/tm.png
new file mode 100644
index 0000000..828020e
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/tm.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/tn.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/tn.png
new file mode 100644
index 0000000..183cdd3
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/tn.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/to.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/to.png
new file mode 100644
index 0000000..f89b8ba
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/to.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/tr.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/tr.png
new file mode 100644
index 0000000..be32f77
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/tr.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/tt.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/tt.png
new file mode 100644
index 0000000..2a11c1e
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/tt.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/tv.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/tv.png
new file mode 100644
index 0000000..28274c5
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/tv.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/tw.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/tw.png
new file mode 100644
index 0000000..f31c654
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/tw.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/tz.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/tz.png
new file mode 100644
index 0000000..c00ff79
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/tz.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ua.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ua.png
new file mode 100644
index 0000000..09563a2
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ua.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ug.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ug.png
new file mode 100644
index 0000000..33f4aff
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ug.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/um.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/um.png
new file mode 100644
index 0000000..c1dd965
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/um.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/us.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/us.png
new file mode 100644
index 0000000..10f451f
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/us.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/uy.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/uy.png
new file mode 100644
index 0000000..31d948a
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/uy.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/uz.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/uz.png
new file mode 100644
index 0000000..fef5dc1
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/uz.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/va.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/va.png
new file mode 100644
index 0000000..b31eaf2
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/va.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/vc.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/vc.png
new file mode 100644
index 0000000..8fa17b0
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/vc.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ve.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ve.png
new file mode 100644
index 0000000..00c90f9
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ve.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/vg.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/vg.png
new file mode 100644
index 0000000..4156907
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/vg.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/vi.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/vi.png
new file mode 100644
index 0000000..ed26915
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/vi.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/vn.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/vn.png
new file mode 100644
index 0000000..ec7cd48
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/vn.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/vu.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/vu.png
new file mode 100644
index 0000000..b3397bc
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/vu.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/wales.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/wales.png
new file mode 100644
index 0000000..e0d7cee
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/wales.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/wf.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/wf.png
new file mode 100644
index 0000000..9f95587
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/wf.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ws.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ws.png
new file mode 100644
index 0000000..c169508
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ws.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ye.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ye.png
new file mode 100644
index 0000000..468dfad
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ye.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/yt.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/yt.png
new file mode 100644
index 0000000..c298f37
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/yt.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/za.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/za.png
new file mode 100644
index 0000000..57c58e2
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/za.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/zm.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/zm.png
new file mode 100644
index 0000000..c25b07b
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/zm.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/zw.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/zw.png
new file mode 100644
index 0000000..53c9725
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/zw.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/globe3.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/globe3.png
new file mode 100644
index 0000000..9991031
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/globe3.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/ms16.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/ms16.png
new file mode 100644
index 0000000..fd46156
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/ms16.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/property.gif b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/property.gif
new file mode 100644
index 0000000..b512915
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/property.gif
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/nls/model/LocaleInfo.java b/propertysheet/src/org/eclipse/wb/internal/core/nls/model/LocaleInfo.java
new file mode 100644
index 0000000..0403351
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/nls/model/LocaleInfo.java
@@ -0,0 +1,190 @@
+/*******************************************************************************
+ * Copyright (c) 2011 Google, Inc.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *    Google, Inc. - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.wb.internal.core.nls.model;
+
+import java.util.Locale;
+
+/**
+ * Information about {@link Locale}.
+ *
+ * We separate {@link LocaleInfo} from {@link BundleInfo} because {@link BundleInfo} is wrapper for
+ * single *.properties file and we support more than one source of bundles in one
+ * {@link CompilationUnit}.
+ *
+ * @author scheglov_ke
+ * @coverage core.nls
+ */
+public final class LocaleInfo implements Comparable<LocaleInfo> {
+  /**
+   * The default {@link LocaleInfo}.
+   */
+  public static final LocaleInfo DEFAULT = new LocaleInfo(null);
+  ////////////////////////////////////////////////////////////////////////////
+  //
+  // Instance fields
+  //
+  ////////////////////////////////////////////////////////////////////////////
+  private final Locale m_locale;
+
+  ////////////////////////////////////////////////////////////////////////////
+  //
+  // Constructor
+  //
+  ////////////////////////////////////////////////////////////////////////////
+  public LocaleInfo(Locale locale) {
+    m_locale = locale;
+  }
+
+  ////////////////////////////////////////////////////////////////////////////
+  //
+  // Object
+  //
+  ////////////////////////////////////////////////////////////////////////////
+  @Override
+  public String toString() {
+    return getTitle();
+  }
+
+  @Override
+  public boolean equals(Object obj) {
+    if (obj == this) {
+      return true;
+    }
+    if (obj instanceof LocaleInfo) {
+      LocaleInfo localeInfo = (LocaleInfo) obj;
+      if (isDefault()) {
+        return localeInfo.isDefault();
+      }
+      return m_locale.equals(localeInfo.m_locale);
+    }
+    return false;
+  }
+
+  @Override
+  public int hashCode() {
+    if (isDefault()) {
+      return 0;
+    }
+    return m_locale.hashCode();
+  }
+
+  ////////////////////////////////////////////////////////////////////////////
+  //
+  // Comparable
+  //
+  ////////////////////////////////////////////////////////////////////////////
+  @Override
+public int compareTo(LocaleInfo o) {
+    if (m_locale == null) {
+      if (o.m_locale == null) {
+        return 0;
+      }
+      return -1;
+    }
+    if (o.m_locale == null) {
+      return 1;
+    }
+    String localeNameA = m_locale.toString();
+    String localeNameB = o.m_locale.toString();
+    return localeNameA.compareTo(localeNameB);
+  }
+
+  ////////////////////////////////////////////////////////////////////////////
+  //
+  // Access
+  //
+  ////////////////////////////////////////////////////////////////////////////
+  /**
+   * @return {@link Locale} for this {@link LocaleInfo}.
+   */
+  public Locale getLocale() {
+    return m_locale;
+  }
+
+  /**
+   * @return <code>true</code> if that {@link Locale} is default.
+   */
+  public boolean isDefault() {
+    return m_locale == null;
+  }
+
+  /**
+   * @return the title to display in UI.
+   */
+  public String getTitle() {
+    if (isDefault()) {
+      return "(default)";
+    }
+    return m_locale.toString();
+  }
+
+  ////////////////////////////////////////////////////////////////////////////
+  //
+  // Utils
+  //
+  ////////////////////////////////////////////////////////////////////////////
+  /**
+   * @return the "parent" {@link LocaleInfo} from given array.<br>
+   *         Here "parent" is locale that is more general than current one.<br>
+   *         For example "parent" locale for 'ru_RU' is 'ru'.
+   *
+   *         If there are no parent locale in array, return default locale.<br>
+   */
+  public LocaleInfo getParent(LocaleInfo locales[]) {
+    String localeName = m_locale.toString();
+    int lastSeparatorIndex = localeName.lastIndexOf('_');
+    if (lastSeparatorIndex != -1) {
+      String parentLocaleName = localeName.substring(0, lastSeparatorIndex);
+      // try to find locale with parent name
+      for (LocaleInfo locale : locales) {
+        if (locale.getLocale() != null && locale.getLocale().toString().equals(parentLocaleName)) {
+          return locale;
+        }
+      }
+    }
+    // use default
+    return LocaleInfo.DEFAULT;
+  }
+
+  /**
+   * @param localeName
+   *          the name of locale, such as "en" or "ru_RU".
+   * @param localeDescription
+   *          the description of {@link Locale}, used in exception.
+   * @return the {@link LocaleInfo} which wraps {@link Locale}.
+   */
+  public static LocaleInfo create(String localeName, String localeDescription) {
+    // try to find locale in list of available locales
+    Locale[] locales = Locale.getAvailableLocales();
+    for (int i = 0; i < locales.length; i++) {
+      Locale locale = locales[i];
+      if (locale.toString().equals(localeName)) {
+        return new LocaleInfo(locale);
+      }
+    }
+    // try to create new, this constructor is since 1.4, so do this in try/catch
+    try {
+      Locale locale;
+      int separatorIndex = localeName.indexOf('_');
+      if (separatorIndex != -1) {
+        String language = localeName.substring(0, separatorIndex);
+        String country = localeName.substring(separatorIndex + 1);
+        locale = new Locale(language, country);
+      } else {
+        locale = new Locale(localeName);
+      }
+      return new LocaleInfo(locale);
+    } catch (Throwable e) {
+      String msg = "Locale not found for " + localeDescription;
+      throw new IllegalArgumentException(msg);
+    }
+  }
+}
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/nls/model/LocalePartInfo.java b/propertysheet/src/org/eclipse/wb/internal/core/nls/model/LocalePartInfo.java
new file mode 100644
index 0000000..9278979
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/nls/model/LocalePartInfo.java
@@ -0,0 +1,81 @@
+/*******************************************************************************
+ * Copyright (c) 2011 Google, Inc.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *    Google, Inc. - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.wb.internal.core.nls.model;
+
+import org.eclipse.swt.graphics.Image;
+
+/**
+ * Information about part of Locale - language or country.
+ * 
+ * @author scheglov_ke
+ * @coverage core.nls
+ */
+public final class LocalePartInfo implements Comparable<LocalePartInfo> {
+  private final String m_name;
+  private final String m_displayName;
+  private final Image m_flagImage;
+
+  ////////////////////////////////////////////////////////////////////////////
+  //
+  // Constructor
+  //
+  ////////////////////////////////////////////////////////////////////////////
+  public LocalePartInfo(String name, String displayName, Image flagImage) {
+    m_name = name;
+    m_displayName = displayName;
+    m_flagImage = flagImage;
+  }
+
+  ////////////////////////////////////////////////////////////////////////////
+  //
+  // Access
+  //
+  ////////////////////////////////////////////////////////////////////////////
+  public String getName() {
+    return m_name;
+  }
+
+  public Image getFlagImage() {
+    return m_flagImage;
+  }
+
+  ////////////////////////////////////////////////////////////////////////////
+  //
+  // Object
+  //
+  ////////////////////////////////////////////////////////////////////////////
+  @Override
+  public String toString() {
+    if (m_name.length() == 0) {
+      return m_displayName;
+    }
+    return m_name + " - " + m_displayName;
+  }
+
+  @Override
+  public int hashCode() {
+    return m_name.hashCode();
+  }
+
+  @Override
+  public boolean equals(Object obj) {
+    return obj instanceof LocalePartInfo && m_name.equals(((LocalePartInfo) obj).m_name);
+  }
+
+  ////////////////////////////////////////////////////////////////////////////
+  //
+  // Comparable
+  //
+  ////////////////////////////////////////////////////////////////////////////
+  public int compareTo(LocalePartInfo o) {
+    return m_name.compareTo(o.m_name);
+  }
+}
\ No newline at end of file
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/nls/model/LocalePartInfos.java b/propertysheet/src/org/eclipse/wb/internal/core/nls/model/LocalePartInfos.java
new file mode 100644
index 0000000..68f9097
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/nls/model/LocalePartInfos.java
@@ -0,0 +1,106 @@
+/*******************************************************************************
+ * Copyright (c) 2011 Google, Inc.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *    Google, Inc. - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.wb.internal.core.nls.model;
+
+import com.google.common.collect.Sets;
+
+import org.eclipse.wb.internal.core.nls.ui.FlagImagesRepository;
+
+import org.eclipse.swt.graphics.Image;
+
+import java.util.Arrays;
+import java.util.Locale;
+import java.util.Set;
+
+/**
+ * Utilities for {@link LocaleInfo}.
+ * 
+ * @author scheglov_ke
+ * @coverage core.nls
+ */
+public final class LocalePartInfos {
+  private static LocalePartInfo m_languages[];
+  private static LocalePartInfo m_countries[];
+
+  ////////////////////////////////////////////////////////////////////////////
+  //
+  // Access
+  //
+  ////////////////////////////////////////////////////////////////////////////
+  public static LocalePartInfo[] getLanguages() {
+    initLanguagesAndCountries();
+    return m_languages;
+  }
+
+  public static LocalePartInfo[] getCountries() {
+    initLanguagesAndCountries();
+    return m_countries;
+  }
+
+  ////////////////////////////////////////////////////////////////////////////
+  //
+  // Find items
+  //
+  ////////////////////////////////////////////////////////////////////////////
+  public static int indexByName(LocalePartInfo[] parts, String name) {
+    for (int i = 0; i < parts.length; i++) {
+      LocalePartInfo part = parts[i];
+      if (part.getName().equals(name)) {
+        return i;
+      }
+    }
+    return -1;
+  }
+
+  ////////////////////////////////////////////////////////////////////////////
+  //
+  // Initialization
+  //
+  ////////////////////////////////////////////////////////////////////////////
+  /**
+   * Prepare arrays of all available languages and countries with titles and flags.
+   */
+  private static void initLanguagesAndCountries() {
+    if (m_languages == null) {
+      // languages
+      {
+        Set<LocalePartInfo> languagesSet = Sets.newHashSet();
+        // fill
+        for (String language : Locale.getISOLanguages()) {
+          Locale locale = new Locale(language);
+          Image flagImage = FlagImagesRepository.getFlagImage(locale);
+          languagesSet.add(new LocalePartInfo(locale.getLanguage(),
+              locale.getDisplayLanguage(),
+              flagImage));
+        }
+        // remember as array
+        m_languages = languagesSet.toArray(new LocalePartInfo[languagesSet.size()]);
+        Arrays.sort(m_languages);
+      }
+      // countries
+      {
+        Set<LocalePartInfo> countriesSet = Sets.newHashSet();
+        countriesSet.add(new LocalePartInfo("", "(none)", FlagImagesRepository.getEmptyFlagImage()));
+        // fill
+        for (String country : Locale.getISOCountries()) {
+          Locale locale = new Locale("", country);
+          Image flagImage = FlagImagesRepository.getFlagImage(locale);
+          countriesSet.add(new LocalePartInfo(locale.getCountry(),
+              locale.getDisplayCountry(),
+              flagImage));
+        }
+        // remember as array
+        m_countries = countriesSet.toArray(new LocalePartInfo[countriesSet.size()]);
+        Arrays.sort(m_countries);
+      }
+    }
+  }
+}
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/nls/ui/FlagImagesRepository.java b/propertysheet/src/org/eclipse/wb/internal/core/nls/ui/FlagImagesRepository.java
new file mode 100644
index 0000000..854ba17
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/nls/ui/FlagImagesRepository.java
@@ -0,0 +1,144 @@
+/*******************************************************************************
+ * Copyright (c) 2011 Google, Inc.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *    Google, Inc. - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.wb.internal.core.nls.ui;
+
+import com.google.common.base.Strings;
+import com.google.common.collect.Lists;
+import com.google.common.collect.Maps;
+
+import org.eclipse.swt.graphics.Image;
+import org.eclipse.wb.internal.core.DesignerPlugin;
+
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.List;
+import java.util.Locale;
+import java.util.Map;
+
+/**
+ * Repository of flags for locale/country.
+ *
+ * @author scheglov_ke
+ * @coverage core.nls.ui
+ */
+public class FlagImagesRepository {
+  private static Map<String, Image> m_countriesFlags = Maps.newHashMap();
+  private static Locale[] m_locales;
+
+  ////////////////////////////////////////////////////////////////////////////
+  //
+  // Initialization
+  //
+  ////////////////////////////////////////////////////////////////////////////
+  private static void init() {
+    if (m_locales == null) {
+      // prepare sorted Locale's
+      {
+        List<Locale> locales = Lists.newArrayList();
+        Collections.addAll(locales, Locale.getAvailableLocales());
+        Collections.sort(locales, new Comparator<Locale>() {
+          @Override
+        public int compare(Locale o1, Locale o2) {
+            return o1.toString().compareTo(o2.toString());
+          }
+        });
+        m_locales = locales.toArray(new Locale[locales.size()]);
+      }
+    }
+  }
+
+  ////////////////////////////////////////////////////////////////////////////
+  //
+  // Access
+  //
+  ////////////////////////////////////////////////////////////////////////////
+  /**
+   * @return the array of {@link Locale}'s sorted by title.
+   */
+  public static Locale[] getSortedLocales() {
+    init();
+    return m_locales;
+  }
+
+  /**
+   * @return the {@link Image} of flag for default {@link Locale}.
+   */
+  public static Image getEmptyFlagImage() {
+    return DesignerPlugin.getImage("nls/flags/flag_empty.png");
+  }
+
+  /**
+   * @return the {@link Image} of flag for given {@link Locale}.
+   */
+  public static Image getFlagImage(Locale locale) {
+    init();
+    String localeCountry = locale.getCountry();
+    String localeLanguage = locale.getLanguage();
+
+// BEGIN ADT MODIFICATIONS
+    return getFlagImage(localeCountry, localeLanguage);
+  }
+
+  public static Image getFlagImage(String localeCountry, String localeLanguage) {
+        init();
+// END ADT MODIFICATIONS
+
+    // if locale has no assosiated country set, try to find the locale with the same language but with the country set
+    if (localeCountry.length() == 0) {
+      // special cases
+      if (localeLanguage.equals("ar")) {
+        localeCountry = "AE";
+      } else if (localeLanguage.equals("zh")) {
+        localeCountry = "CN";
+      } else if (localeLanguage.equals("en")) {
+        localeCountry = "US";
+      } else {
+        // try to guess
+        String localeCountryCandidate = "";
+        for (int i = 0; i < m_locales.length; i++) {
+          Locale lookupLocale = m_locales[i];
+          String lookupLanguage = lookupLocale.getLanguage();
+          if (lookupLanguage.equals(localeLanguage)) {
+            if (lookupLocale.getCountry().length() != 0) {
+              localeCountryCandidate = lookupLocale.getCountry();
+              if (localeCountryCandidate.equalsIgnoreCase(lookupLanguage)) {
+                localeCountry = localeCountryCandidate;
+                break;
+              }
+            }
+          }
+        }
+        if (localeCountry.length() == 0) {
+          localeCountry = localeCountryCandidate;
+        }
+      }
+    }
+    //
+    Image flagImage = m_countriesFlags.get(localeCountry);
+    if (flagImage == null) {
+      try {
+        String flagFileName = null;
+        if (localeCountry.equalsIgnoreCase("YU")) {
+          localeCountry = "CS"; // use Serbia and Montenegro
+        }
+        if (Strings.isNullOrEmpty(localeCountry)) {
+          return null;
+        }
+        flagFileName = localeCountry.toLowerCase() + ".png";
+        flagImage = DesignerPlugin.getImage("nls/flags/" + flagFileName);
+        m_countriesFlags.put(localeCountry, flagImage);
+      } catch (Throwable e) {
+        return null;
+      }
+    }
+    return flagImage;
+  }
+}
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/nls/ui/LocaleUtils.java b/propertysheet/src/org/eclipse/wb/internal/core/nls/ui/LocaleUtils.java
new file mode 100644
index 0000000..699bba8
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/nls/ui/LocaleUtils.java
@@ -0,0 +1,61 @@
+/*******************************************************************************
+ * Copyright (c) 2011 Google, Inc.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *    Google, Inc. - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.wb.internal.core.nls.ui;
+
+import org.eclipse.wb.internal.core.nls.model.LocaleInfo;
+
+import org.eclipse.swt.graphics.Image;
+
+import java.util.Arrays;
+import java.util.Comparator;
+
+/**
+ * UI utils for {@link LocaleInfo}.
+ * 
+ * @author scheglov_ke
+ * @coverage core.nls.ui
+ */
+public class LocaleUtils {
+  ////////////////////////////////////////////////////////////////////////////
+  //
+  // Constructor
+  //
+  ////////////////////////////////////////////////////////////////////////////
+  private LocaleUtils() {
+  }
+
+  ////////////////////////////////////////////////////////////////////////////
+  //
+  // Utils
+  //
+  ////////////////////////////////////////////////////////////////////////////
+  /**
+   * @return the flag image for given {@link LocaleInfo}.
+   */
+  public static Image getImage(LocaleInfo localeInfo) {
+    if (localeInfo.isDefault()) {
+      return FlagImagesRepository.getEmptyFlagImage();
+    } else {
+      return FlagImagesRepository.getFlagImage(localeInfo.getLocale());
+    }
+  }
+
+  /**
+   * Sorts given array of {@link LocaleInfo}'s by title.
+   */
+  public static void sortByTitle(LocaleInfo locales[]) {
+    Arrays.sort(locales, new Comparator<LocaleInfo>() {
+      public int compare(LocaleInfo locale_1, LocaleInfo locale_2) {
+        return locale_1.getTitle().compareTo(locale_2.getTitle());
+      }
+    });
+  }
+}
