kopia lustrzana https://github.com/njcrawford/EmbroideryReader
Fall back to English for missing strings
A placeholder string is still returned if the English translation is missing or incompleteBranch_2.1.x
rodzic
00779d20e5
commit
7b3cc3f7d6
|
@ -10,6 +10,7 @@ namespace embroideryReader
|
|||
{
|
||||
private const string TRANSLATIONS_FOLDER = "translations";
|
||||
private const string TRANSLATION_FILE_EXT = ".ini";
|
||||
private const string DEFAULT_TRANSLATION_NAME = "English (EN-US)";
|
||||
|
||||
// String IDs
|
||||
public enum StringID {
|
||||
|
@ -77,12 +78,14 @@ namespace embroideryReader
|
|||
ENABLE_TRANSPARENCY_GRID,
|
||||
LANGUAGE,
|
||||
GRID_SIZE,
|
||||
TRANSLATION_INCOMPLETE,
|
||||
|
||||
// This must be last. Used for checking completeness of translation files.
|
||||
TOTAL_COUNT,
|
||||
};
|
||||
|
||||
IniFile translationFile;
|
||||
IniFile defaultFile;
|
||||
|
||||
public Translation(String name)
|
||||
{
|
||||
|
@ -109,6 +112,7 @@ namespace embroideryReader
|
|||
public void Load(String translationName)
|
||||
{
|
||||
translationFile = new IniFile(System.IO.Path.Combine(TRANSLATIONS_FOLDER, translationName + TRANSLATION_FILE_EXT));
|
||||
defaultFile = new IniFile(System.IO.Path.Combine(TRANSLATIONS_FOLDER, DEFAULT_TRANSLATION_NAME + TRANSLATION_FILE_EXT));
|
||||
}
|
||||
|
||||
// Returns the translated string, or a string representation of the
|
||||
|
@ -117,10 +121,19 @@ namespace embroideryReader
|
|||
{
|
||||
string retval;
|
||||
retval = translationFile.getValue(sid.ToString());
|
||||
|
||||
// Check the default translation if string is not found in the loaded translation
|
||||
if (retval == null)
|
||||
{
|
||||
retval = defaultFile.getValue(sid.ToString());
|
||||
}
|
||||
|
||||
// If it's not found in the default, return a placeholder string
|
||||
if (retval == null)
|
||||
{
|
||||
retval = "%" + sid.ToString() + "%";
|
||||
}
|
||||
|
||||
return retval;
|
||||
}
|
||||
|
||||
|
|
|
@ -161,6 +161,7 @@ namespace embroideryReader
|
|||
txtGridSize.Left = lblGridSize.Left + lblGridSize.Width + 5;
|
||||
lblGridSizePixels.Text = translation.GetTranslatedString(Translation.StringID.PIXELS);
|
||||
lblGridSizePixels.Left = txtGridSize.Left + txtGridSize.Width + 5;
|
||||
lblIncompleteTranslation.Text = translation.GetTranslatedString(Translation.StringID.TRANSLATION_INCOMPLETE);
|
||||
}
|
||||
|
||||
private void cmbLanguage_SelectedIndexChanged(object sender, EventArgs e)
|
||||
|
|
|
@ -61,3 +61,4 @@ ENABLE_TRANSPARENCY_GRID=Enable transparency grid
|
|||
LANGUAGE=Language
|
||||
OK=OK
|
||||
GRID_SIZE=Grid size:
|
||||
TRANSLATION_INCOMPLETE=Translation is incomplete
|
||||
|
|
Plik binarny nie jest wyświetlany.
Ładowanie…
Reference in New Issue