1.21.3: 2012-01-16 Murray Cumming Avoid repetitive Application::get_current_locale() calls. * glom/application.[h|cc]: Added item_get_title() and item_get_title_or_name() outside of the class. * glom/libglom/data_structure/translatable_item.h: Removed unused glom_get_sharedptr_title_or_name(). * glom/: Many files: Use the new functions to make the code slighly shorter. 2012-01-16 Murray Cumming TranslatableItems: Make less methods virtual. * glom/libglom/data_structure/translatable_item.[h|cc]: get_title_translation(), get_title_or_name_original(): Make these non-virtual, because nothing needs to override them. * glom/libglom/data_structure/layout/layoutitem_field.[h|cc]: Remove useless get_title_original(), get_title_translation(), and get_title_or_name_original() overrides. Remove useless and unused private get_title_no_custom_original() method. * glom/libglom/document/document.[h|cc]: Add a fill_translatable_layout_items(LayoutItem_Field) method, and use it in fill_translatable_layout_items(LayoutGroup), instead of repeating code. Avoid calling get_title_original() and get_title_translation() on LayoutItem_Field because it does not have its own title. * glom/libglom/example_document_load.cc: * tests/test_document_load_translations.cc: Adapted. 2012-01-16 Murray Cumming TranslatableItem: Require the caller to provide the locale. * glom/libglom/data_structure/translatable_item.[h|cc]: get_current_locale(), set_current_locale(), set_original_locale(), get_current_locale_not_original(): Move to Glom::Application, out of libglom. get_title(), set_title(), get_title_or_name(): Add a ustring locale parameter. Added virtual get_title_original(), get_title_translation(), get_title_or_name_original(), get_title_or_name_translation(). Added set_title_original() and set_title_translation(), though these are private and non-virtual. This let use discover the actual original text and its translations while still using get_title(locale) to just get the title that should be used. Before we could get the exact entered title for a locale just by setting the current locale. * libglom/data_structure/layout/layoutitem_field.[h|cc]: Override the new virtual methods. * Many other files: Adapt. This allows us to use different translatations from Online Glom, which only loads the library once for all Glom files. And this is generally cleaner, even if it requires more repetitive code. 2012-01-13 Murray Cumming test_document_load_translations: Test title_singular too. * examples/example_film_manager.glom: Scenes table: Add a German translation of the singular title. * tests/test_document_load_translations.cc: Test Document::get_table_title_singular() in the original and de locales. 2012-01-13 Murray Cumming Import .po translations into the .glom example files. * examples/example_film_manager.glom: * examples/example_lesson_planner.glom: * examples/example_music_collection.glom: * examples/example_project_manager.glom: * examples/example_smallbusiness.glom: Import some new German, Czech, and Spanish translations. This is wonderful.