Index: l10n_community/export.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/l10n_server/l10n_community/Attic/export.inc,v
retrieving revision 1.1.2.15.2.24.2.5
diff -u -p -r1.1.2.15.2.24.2.5 export.inc
--- l10n_community/export.inc	17 Mar 2010 13:30:38 -0000	1.1.2.15.2.24.2.5
+++ l10n_community/export.inc	22 Mar 2010 09:25:21 -0000
@@ -10,11 +10,6 @@
  * User interface for the translation export screen.
  */
 function l10n_community_export_page($uri = NULL, $langcode = NULL) {
-  if (!user_access('export gettext templates and translations')) {
-    // Access check done late to let og_user_roles fill in permissions.
-    return drupal_access_denied();
-  }
-  
   $breadcrumb = array(
     l(t('Home'), NULL),
     l(t('Translate'), 'translate'),
Index: l10n_community/import.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/l10n_server/l10n_community/Attic/import.inc,v
retrieving revision 1.1.2.5.2.18.2.4
diff -u -p -r1.1.2.5.2.18.2.4 import.inc
--- l10n_community/import.inc	17 Mar 2010 13:30:38 -0000	1.1.2.5.2.18.2.4
+++ l10n_community/import.inc	22 Mar 2010 09:25:21 -0000
@@ -10,11 +10,6 @@
  * User interface for the translation import screen.
  */
 function l10n_community_import_page($langcode) {
-  if (!user_access('import gettext files')) {
-    // Access check done late to let og_user_roles fill in permissions.
-    return drupal_access_denied();
-  }
-
   $language = l10n_community_get_language($langcode);
   drupal_set_title(t('Import to @language', array('@language' => $language->name)));
   // Add missing breadcrumb.
Index: l10n_community/l10n_community.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/l10n_server/l10n_community/Attic/l10n_community.module,v
retrieving revision 1.1.2.23.2.66.2.10
diff -u -p -r1.1.2.23.2.66.2.10 l10n_community.module
--- l10n_community/l10n_community.module	17 Mar 2010 13:30:38 -0000	1.1.2.23.2.66.2.10
+++ l10n_community/l10n_community.module	22 Mar 2010 09:25:22 -0000
@@ -261,7 +261,7 @@ function l10n_community_menu() {
     'page arguments' => array(2),
     'file' => 'import.inc',
     'access callback' => 'user_access',
-    'access arguments' => array('browse translations'),
+    'access arguments' => array('import gettext files'),
     'type' => MENU_LOCAL_TASK,
     'weight' => -5,
   );
@@ -271,7 +271,7 @@ function l10n_community_menu() {
     'page arguments' => array(NULL, 2),
     'file' => 'export.inc',
     'access callback' => 'user_access',
-    'access arguments' => array('browse translations'),
+    'access arguments' => array('export gettext templates and translations'),
     'type' => MENU_LOCAL_TASK,
     'weight' => 0,
   );
Index: l10n_groups/l10n_groups.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/l10n_server/l10n_groups/Attic/l10n_groups.module,v
retrieving revision 1.1.2.4.2.10.2.2
diff -u -p -r1.1.2.4.2.10.2.2 l10n_groups.module
--- l10n_groups/l10n_groups.module	10 Mar 2010 11:59:21 -0000	1.1.2.4.2.10.2.2
+++ l10n_groups/l10n_groups.module	22 Mar 2010 09:25:22 -0000
@@ -69,7 +69,10 @@ function l10n_groups_init() {
       l10n_groups_set_context($langcode);
     }
   }
-  if (($item = menu_get_item()) && ($item['path'] == 'node/%') && ($item['page_arguments'][0]->type == 'l10n_group')) {
+  
+  // Avoid using menu_get_item() since that would cripple the cache
+  // for menu access checking.
+  if (($item = og_user_roles_menu_get_item()) && ($item['path'] == 'node/%') && ($item['page_arguments'][0]->type == 'l10n_group')) {
     // If on node view page for l10n_group nodes, redirect to our more full featured
     // version of the group with translation tabs and all.
     drupal_goto('translate/languages/'. $item['page_arguments'][0]->l10n_group_language);
