1
0
mirror of https://github.com/cookiengineer/audacity synced 2026-01-13 08:05:52 +01:00

Bug 637 - Some full and reduced Menu Bar items are not translated

Relocates the translation tables to the bundle

This will change the location of the translation tables from:

<root>
  Audacity.app/
    Languanges/<langcode>/

to:

<root>
  Audacity.app/Contents/Resources/<langcode>.lproj/

  This will allow the menu items to be translated as expected.
This commit is contained in:
lllucius
2013-10-23 17:41:10 +00:00
parent a21f391f23
commit 865e22c0ee
3 changed files with 14 additions and 6 deletions

View File

@@ -1915,7 +1915,7 @@
outputFiles = ( outputFiles = (
"$(DERIVED_FILES_DIR)/$(INPUT_FILE_BASE).mo", "$(DERIVED_FILES_DIR)/$(INPUT_FILE_BASE).mo",
); );
script = "if [ -n \"`which msgfmt`\" ]\nthen\n msgfmt -v -o \"${SCRIPT_OUTPUT_FILE_0}\" \"${SCRIPT_INPUT_FILE}\"\n\n OD=\"${TARGET_BUILD_DIR}/Languages\"\n if [ ! -d \"${OD}\" ]\n then\n mkdir -p \"${OD}\"\n chmod -RH \"${INSTALL_MODE_FLAG}\" \"${OD}\"\n chown -RH \"${INSTALL_OWNER}:${INSTALL_GROUP}\" \"${OD}\"\n fi\n\n OD=\"${TARGET_BUILD_DIR}/Languages/${INPUT_FILE_BASE}\"\n if [ ! -d \"${OD}\" ]\n then\n mkdir -p \"${OD}\"\n chmod -RH \"${INSTALL_MODE_FLAG}\" \"${OD}\"\n chown -RH \"${INSTALL_OWNER}:${INSTALL_GROUP}\" \"${OD}\"\n fi\n\n cp \"${SCRIPT_OUTPUT_FILE_0}\" \"${OD}/audacity.mo\"\n chmod \"${INSTALL_MODE_FLAG}\" \"${OD}/audacity.mo\"\n chown \"${INSTALL_OWNER}:${INSTALL_GROUP}\" \"${OD}/audacity.mo\"\n\n case \"${INPUT_FILE_BASE}\" in\n gl)\n\t\tINPUT_FILE_BASE=gl_ES\n ;;\n esac\n\n if [ -e \"${WX_PREFIX}/share/locale/${INPUT_FILE_BASE}/LC_MESSAGES/wxstd.mo\" ]\n then\n cp \"${WX_PREFIX}/share/locale/${INPUT_FILE_BASE}/LC_MESSAGES/wxstd.mo\" \"${OD}/wxstd.mo\"\n chmod \"${INSTALL_MODE_FLAG}\" \"${OD}/wxstd.mo\"\n chown \"${INSTALL_OWNER}:${INSTALL_GROUP}\" \"${OD}/wxstd.mo\"\n fi\n \nelse\n echo \"msgfmt not available\"\n touch \"${SCRIPT_OUTPUT_FILE_0}\"\nfi"; script = "if [ -n \"`which msgfmt`\" ]\nthen\n msgfmt -v -o \"${SCRIPT_OUTPUT_FILE_0}\" \"${SCRIPT_INPUT_FILE}\"\n\n OD=\"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/${INPUT_FILE_BASE}.lproj\"\n if [ ! -d \"${OD}\" ]\n then\n mkdir -p \"${OD}\"\n chmod -RH \"${INSTALL_MODE_FLAG}\" \"${OD}\"\n chown -RH \"${INSTALL_OWNER}:${INSTALL_GROUP}\" \"${OD}\"\n fi\n\n cp \"${SCRIPT_OUTPUT_FILE_0}\" \"${OD}/audacity.mo\"\n chmod \"${INSTALL_MODE_FLAG}\" \"${OD}/audacity.mo\"\n chown \"${INSTALL_OWNER}:${INSTALL_GROUP}\" \"${OD}/audacity.mo\"\n\n case \"${INPUT_FILE_BASE}\" in\n gl)\n\t\tINPUT_FILE_BASE=gl_ES\n ;;\n esac\n\n if [ -e \"${WX_PREFIX}/share/locale/${INPUT_FILE_BASE}/LC_MESSAGES/wxstd.mo\" ]\n then\n cp \"${WX_PREFIX}/share/locale/${INPUT_FILE_BASE}/LC_MESSAGES/wxstd.mo\" \"${OD}/wxstd.mo\"\n chmod \"${INSTALL_MODE_FLAG}\" \"${OD}/wxstd.mo\"\n chown \"${INSTALL_OWNER}:${INSTALL_GROUP}\" \"${OD}/wxstd.mo\"\n fi\n \nelse\n echo \"msgfmt not available\"\n touch \"${SCRIPT_OUTPUT_FILE_0}\"\nfi";
}; };
ED663CD816543647007F53A5 /* PBXBuildRule */ = { ED663CD816543647007F53A5 /* PBXBuildRule */ = {
isa = PBXBuildRule; isa = PBXBuildRule;
@@ -1926,7 +1926,7 @@
outputFiles = ( outputFiles = (
"$(DERIVED_FILES_DIR)/$(INPUT_FILE_BASE).mo", "$(DERIVED_FILES_DIR)/$(INPUT_FILE_BASE).mo",
); );
script = "if [ -n \"`which msgfmt`\" ]\nthen\n msgfmt -v -o \"${SCRIPT_OUTPUT_FILE_0}\" \"${SCRIPT_INPUT_FILE}\"\n\n OD=\"${TARGET_BUILD_DIR}/Languages\"\n if [ ! -d \"${OD}\" ]\n then\n mkdir -p \"${OD}\"\n chmod -RH \"${INSTALL_MODE_FLAG}\" \"${OD}\"\n chown -RH \"${INSTALL_OWNER}:${INSTALL_GROUP}\" \"${OD}\"\n fi\n\n OD=\"${TARGET_BUILD_DIR}/Languages/${INPUT_FILE_BASE}\"\n if [ ! -d \"${OD}\" ]\n then\n mkdir -p \"${OD}\"\n chmod -RH \"${INSTALL_MODE_FLAG}\" \"${OD}\"\n chown -RH \"${INSTALL_OWNER}:${INSTALL_GROUP}\" \"${OD}\"\n fi\n\n cp \"${SCRIPT_OUTPUT_FILE_0}\" \"${OD}/audacity.mo\"\n chmod \"${INSTALL_MODE_FLAG}\" \"${OD}/audacity.mo\"\n chown \"${INSTALL_OWNER}:${INSTALL_GROUP}\" \"${OD}/audacity.mo\"\n\n case \"${INPUT_FILE_BASE}\" in\n gl)\n\t\tINPUT_FILE_BASE=gl_ES\n ;;\n esac\n\n if [ -e \"${WX_PREFIX}/share/locale/${INPUT_FILE_BASE}/LC_MESSAGES/wxstd.mo\" ]\n then\n cp \"${WX_PREFIX}/share/locale/${INPUT_FILE_BASE}/LC_MESSAGES/wxstd.mo\" \"${OD}/wxstd.mo\"\n chmod \"${INSTALL_MODE_FLAG}\" \"${OD}/wxstd.mo\"\n chown \"${INSTALL_OWNER}:${INSTALL_GROUP}\" \"${OD}/wxstd.mo\"\n fi\n \nelse\n echo \"msgfmt not available\"\n touch \"${SCRIPT_OUTPUT_FILE_0}\"\nfi"; script = "if [ -n \"`which msgfmt`\" ]\nthen\n msgfmt -v -o \"${SCRIPT_OUTPUT_FILE_0}\" \"${SCRIPT_INPUT_FILE}\"\n\n OD=\"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/${INPUT_FILE_BASE}.lproj\"\n if [ ! -d \"${OD}\" ]\n then\n mkdir -p \"${OD}\"\n chmod -RH \"${INSTALL_MODE_FLAG}\" \"${OD}\"\n chown -RH \"${INSTALL_OWNER}:${INSTALL_GROUP}\" \"${OD}\"\n fi\n\n cp \"${SCRIPT_OUTPUT_FILE_0}\" \"${OD}/audacity.mo\"\n chmod \"${INSTALL_MODE_FLAG}\" \"${OD}/audacity.mo\"\n chown \"${INSTALL_OWNER}:${INSTALL_GROUP}\" \"${OD}/audacity.mo\"\n\n case \"${INPUT_FILE_BASE}\" in\n gl)\n\t\tINPUT_FILE_BASE=gl_ES\n ;;\n esac\n\n if [ -e \"${WX_PREFIX}/share/locale/${INPUT_FILE_BASE}/LC_MESSAGES/wxstd.mo\" ]\n then\n cp \"${WX_PREFIX}/share/locale/${INPUT_FILE_BASE}/LC_MESSAGES/wxstd.mo\" \"${OD}/wxstd.mo\"\n chmod \"${INSTALL_MODE_FLAG}\" \"${OD}/wxstd.mo\"\n chown \"${INSTALL_OWNER}:${INSTALL_GROUP}\" \"${OD}/wxstd.mo\"\n fi\n \nelse\n echo \"msgfmt not available\"\n touch \"${SCRIPT_OUTPUT_FILE_0}\"\nfi";
}; };
ED85B5B216A47353006DA21D /* PBXBuildRule */ = { ED85B5B216A47353006DA21D /* PBXBuildRule */ = {
isa = PBXBuildRule; isa = PBXBuildRule;
@@ -1937,7 +1937,7 @@
outputFiles = ( outputFiles = (
"$(DERIVED_FILES_DIR)/$(INPUT_FILE_BASE).mo", "$(DERIVED_FILES_DIR)/$(INPUT_FILE_BASE).mo",
); );
script = "if [ -n \"`which msgfmt`\" ]\nthen\n msgfmt -v -o \"${SCRIPT_OUTPUT_FILE_0}\" \"${SCRIPT_INPUT_FILE}\"\n\n OD=\"${TARGET_BUILD_DIR}/Languages\"\n if [ ! -d \"${OD}\" ]\n then\n mkdir -p \"${OD}\"\n chmod -RH \"${INSTALL_MODE_FLAG}\" \"${OD}\"\n chown -RH \"${INSTALL_OWNER}:${INSTALL_GROUP}\" \"${OD}\"\n fi\n\n OD=\"${TARGET_BUILD_DIR}/Languages/${INPUT_FILE_BASE}\"\n if [ ! -d \"${OD}\" ]\n then\n mkdir -p \"${OD}\"\n chmod -RH \"${INSTALL_MODE_FLAG}\" \"${OD}\"\n chown -RH \"${INSTALL_OWNER}:${INSTALL_GROUP}\" \"${OD}\"\n fi\n\n cp \"${SCRIPT_OUTPUT_FILE_0}\" \"${OD}/audacity.mo\"\n chmod \"${INSTALL_MODE_FLAG}\" \"${OD}/audacity.mo\"\n chown \"${INSTALL_OWNER}:${INSTALL_GROUP}\" \"${OD}/audacity.mo\"\n\n case \"${INPUT_FILE_BASE}\" in\n gl)\n\t\tINPUT_FILE_BASE=gl_ES\n ;;\n esac\n\n if [ -e \"${WX_PREFIX}/share/locale/${INPUT_FILE_BASE}/LC_MESSAGES/wxstd.mo\" ]\n then\n cp \"${WX_PREFIX}/share/locale/${INPUT_FILE_BASE}/LC_MESSAGES/wxstd.mo\" \"${OD}/wxstd.mo\"\n chmod \"${INSTALL_MODE_FLAG}\" \"${OD}/wxstd.mo\"\n chown \"${INSTALL_OWNER}:${INSTALL_GROUP}\" \"${OD}/wxstd.mo\"\n fi\n \nelse\n echo \"msgfmt not available\"\n touch \"${SCRIPT_OUTPUT_FILE_0}\"\nfi"; script = "if [ -n \"`which msgfmt`\" ]\nthen\n msgfmt -v -o \"${SCRIPT_OUTPUT_FILE_0}\" \"${SCRIPT_INPUT_FILE}\"\n\n OD=\"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/${INPUT_FILE_BASE}.lproj\"\n if [ ! -d \"${OD}\" ]\n then\n mkdir -p \"${OD}\"\n chmod -RH \"${INSTALL_MODE_FLAG}\" \"${OD}\"\n chown -RH \"${INSTALL_OWNER}:${INSTALL_GROUP}\" \"${OD}\"\n fi\n\n cp \"${SCRIPT_OUTPUT_FILE_0}\" \"${OD}/audacity.mo\"\n chmod \"${INSTALL_MODE_FLAG}\" \"${OD}/audacity.mo\"\n chown \"${INSTALL_OWNER}:${INSTALL_GROUP}\" \"${OD}/audacity.mo\"\n\n case \"${INPUT_FILE_BASE}\" in\n gl)\n\t\tINPUT_FILE_BASE=gl_ES\n ;;\n esac\n\n if [ -e \"${WX_PREFIX}/share/locale/${INPUT_FILE_BASE}/LC_MESSAGES/wxstd.mo\" ]\n then\n cp \"${WX_PREFIX}/share/locale/${INPUT_FILE_BASE}/LC_MESSAGES/wxstd.mo\" \"${OD}/wxstd.mo\"\n chmod \"${INSTALL_MODE_FLAG}\" \"${OD}/wxstd.mo\"\n chown \"${INSTALL_OWNER}:${INSTALL_GROUP}\" \"${OD}/wxstd.mo\"\n fi\n \nelse\n echo \"msgfmt not available\"\n touch \"${SCRIPT_OUTPUT_FILE_0}\"\nfi";
}; };
/* End PBXBuildRule section */ /* End PBXBuildRule section */

View File

@@ -1157,8 +1157,10 @@ bool AudacityApp::OnInit()
// the great-great-grandparent of the directory containing the executable. // the great-great-grandparent of the directory containing the executable.
AddUniquePathToPathList(progPath+wxT("/../../../"), audacityPathList); AddUniquePathToPathList(progPath+wxT("/../../../"), audacityPathList);
AddUniquePathToPathList(progPath+wxT("/Languages"), audacityPathList); // These allow for searching the "bundle"
AddUniquePathToPathList(progPath+wxT("/../../../Languages"), audacityPathList); AddUniquePathToPathList(progPath+wxT("/../"), audacityPathList);
AddUniquePathToPathList(progPath+wxT("/../Resources"), audacityPathList);
defaultTempDir.Printf(wxT("%s/audacity-%s"), defaultTempDir.Printf(wxT("%s/audacity-%s"),
tmpDirLoc.c_str(), tmpDirLoc.c_str(),
wxGetUserId().c_str()); wxGetUserId().c_str());

View File

@@ -49,6 +49,12 @@ static bool TranslationExists(wxArrayString &audacityPathList, wxString code)
code.c_str()), code.c_str()),
audacityPathList, audacityPathList,
results); results);
#if defined(__WXMAC__)
wxGetApp().FindFilesInPathList(wxString::Format(wxT("%s.lproj/audacity.mo"),
code.c_str()),
audacityPathList,
results);
#endif
wxGetApp().FindFilesInPathList(wxString::Format(wxT("%s/LC_MESSAGES/audacity.mo"), wxGetApp().FindFilesInPathList(wxString::Format(wxT("%s/LC_MESSAGES/audacity.mo"),
code.c_str()), code.c_str()),