code: private String translate(String name) {
  
          String translation = null;
          // test if an external translation should be used
          Iterator<I_CmsSynchronizeModification> i = m_synchronizeModifications.iterator();
          while (i.hasNext()) {
              try {
                  translation = i.next().translate(m_cms, name);
              } catch (CmsSynchronizeException e) {
                  if (LOG.isInfoEnabled()) {
                      LOG.info(Messages.get().getBundle().key(Messages.LOG_EXTERNAL_TRANSLATION_1, name), e);
                  }
                  break;
              }
          }
          // if there was no external method called, do the default OpenCms
          // RFS-VFS translation
          if (translation == null) {
              translation = m_cms.getRequestContext().getFileTranslator().translateResource(name);
          }
          return translation;
      }
docs: Translates the resource name.  <p>
  
  This is necessary since the server RFS does allow different naming
  conventions than the VFS.
  
  @param name the resource name to be translated
  @return the translated resource name