1

我使用 flexmojos 插件来管理我的 flex 应用程序。一开始我用的是flexmojos3.8,下面是创建独立资源模块的fragment。如果我的应用支持 en_US、zh_Ch,我可以获得 MainApp_en_US.swf 和 MainApp_zh_CN.swf。在我的应用程序中,我可以根据浏览器的语言加载适当的资源模块。

      <plugin>
            <groupId>org.sonatype.flexmojos</groupId>
            <artifactId>flexmojos-maven-plugin</artifactId>
            <dependencies>
               <dependency>
                  <groupId>com.adobe.flex</groupId>
                  <artifactId>compiler</artifactId>
                  <version>${flex.sdk.version}</version>
                  <type>pom</type>
               </dependency>
            </dependencies>

            <configuration>
               <sourceFile>MainApp.mxml</sourceFile>
               <resourceBundlePath>
                    src/main/flex/locale/{locale}
               </resourceBundlePath>

               <runtimeLocales>${locales}</runtimeLocales>
               <mergeResourceBundle>false</mergeResourceBundle>
               <runtimeLocaleOutputPath>
                  /{contextRoot}/MainApp_{locale}.{extension}
               </runtimeLocaleOutputPath>

               <rslUrls>
                  <url>/{contextRoot}/rsl/{artifactId}.{extension}</url>
               </rslUrls>
            </configuration>
         </plugin>

但是当我升级 flexmojos 4.0-RC2 时,我发现变化很大。配置更改为..... MainApp.mxml src/main/flex/locale/{locale}

               <localesRuntime>
                  <locale>en_US</locale>
                  <locale>fr_FR</locale>
                  <locale>zh_CN</locale>
               </localesRuntime>
               //Output resource module to current pathe (/target)
               <localesOutputPath>
                  /
               </localesOutputPath>
               //Define your resource moudle name pattern
               <resourceBundleNames>
       MainApp_{locale}
         </resourceBundleNames> 
             .....
            </configuration>

经过大量尝试后,它起作用了。最后一个配置如上。

4

0 回答 0