1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-06-15 15:49:36 +02: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 = (
"$(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 */ = {
isa = PBXBuildRule;
@ -1926,7 +1926,7 @@
outputFiles = (
"$(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 */ = {
isa = PBXBuildRule;
@ -1937,7 +1937,7 @@
outputFiles = (
"$(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 */

View File

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

View File

@ -49,7 +49,13 @@ static bool TranslationExists(wxArrayString &audacityPathList, wxString code)
code.c_str()),
audacityPathList,
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"),
code.c_str()),
audacityPathList,