<div dir="ltr"><div style>cal10n is not able to find my resource bundles. It keeps failing saying that it can't find my resource bundle...</div><div style><br></div><div style>I've tried to understand the code, but it is not very easy to follow. It seems like it is using the @BaseName.value as the basename for the file, but it replaces '.' with '/' as if the basename would be a package. That sounds bad because if you refactor the class the @BaseName is in you would need to make sure it catches that text package reference.</div>
<div style><br></div><div style>Anyway, I traced the problem down into CAL10NBundleFinderByProcessingFiler.getResource(). It uses StandardLocation.CLASS_OUTPUT... to look for the file. Then AbstractCAL10NBundleFinder.makePropertyResourceBundle() quietly swallows the exception that results when it can't find the resource bundle.</div>
<div style><br></div><div style>So, I guess I'm asking, where do you put your resource bundle when you follow the example in the documentation:</div><div style><br></div><div style><pre class="" style="padding:2px;margin-top:0px;margin-bottom:0px;background-color:rgb(245,245,245);font-family:Courier,'MS Courier New',Prestige,monospace;border-top-width:1px;border-top-style:solid;border-top-color:rgb(136,136,136);border-bottom-width:1px;border-bottom-style:solid;border-bottom-color:rgb(136,136,136);color:rgb(0,0,0);font-size:medium;line-height:20px">
<span class="" style="color:rgb(0,0,136)">package</span><span class=""> com</span><span class="" style="color:rgb(102,102,0)">.</span><span class="">foo</span><span class="" style="color:rgb(102,102,0)">.</span><span class="">somePackage</span><span class="" style="color:rgb(102,102,0)">;</span><span class=""><br>
<br><br></span><span class="" style="color:rgb(0,0,136)">import</span><span class=""> ch</span><span class="" style="color:rgb(102,102,0)">.</span><span class="">qos</span><span class="" style="color:rgb(102,102,0)">.</span><span class="">cal10n</span><span class="" style="color:rgb(102,102,0)">.</span><span class="" style="color:rgb(102,0,102)">LocaleData</span><span class="" style="color:rgb(102,102,0)">;</span><span class=""><br>
</span><span class="" style="color:rgb(0,0,136)">import</span><span class=""> ch</span><span class="" style="color:rgb(102,102,0)">.</span><span class="">qos</span><span class="" style="color:rgb(102,102,0)">.</span><span class="">cal10n</span><span class="" style="color:rgb(102,102,0)">.</span><span class="" style="color:rgb(102,0,102)">Locale</span><span class="" style="color:rgb(102,102,0)">;</span><span class=""><br>
</span><span class="" style="color:rgb(0,0,136)">import</span><span class=""> ch</span><span class="" style="color:rgb(102,102,0)">.</span><span class="">qos</span><span class="" style="color:rgb(102,102,0)">.</span><span class="">cal10n</span><span class="" style="color:rgb(102,102,0)">.</span><span class="" style="color:rgb(102,0,102)">BaseName</span><span class="" style="color:rgb(102,102,0)">;</span><span class=""><br>
<br></span><span class="" style="color:rgb(0,102,102)">@BaseName</span><span class="" style="color:rgb(102,102,0)">(</span><span class="" style="color:rgb(0,136,0)">"colors"</span><span class="" style="color:rgb(102,102,0)">)</span><span class=""><br>
</span><span class="" style="color:rgb(0,102,102)">@LocaleData</span><span class="" style="color:rgb(102,102,0)">(</span><span class=""> </span><span class="" style="color:rgb(102,102,0)">{</span><span class=""> </span><span class="" style="color:rgb(0,102,102)">@Locale</span><span class="" style="color:rgb(102,102,0)">(</span><span class="" style="color:rgb(0,136,0)">"en_UK"</span><span class="" style="color:rgb(102,102,0)">),</span><span class=""> </span><span class="" style="color:rgb(0,102,102)">@Locale</span><span class="" style="color:rgb(102,102,0)">(</span><span class="" style="color:rgb(0,136,0)">"fr"</span><span class="" style="color:rgb(102,102,0)">)</span><span class=""> </span><span class="" style="color:rgb(102,102,0)">})</span><span class=""><br>
</span><span class="" style="color:rgb(0,0,136)">public</span><span class=""> </span><span class="" style="color:rgb(0,0,136)">enum</span><span class=""> </span><span class="" style="color:rgb(102,0,102)">Colors</span><span class="">  </span><span class="" style="color:rgb(102,102,0)">{</span><span class=""><br>
  BLUE</span><span class="" style="color:rgb(102,102,0)">,</span><span class=""><br>  RED</span><span class="" style="color:rgb(102,102,0)">,</span><span class=""><br>  YELLOW</span><span class="" style="color:rgb(102,102,0)">;</span><span class=""><br>
</span><span class="" style="color:rgb(102,102,0)">}</span></pre></div><div style><br></div><div style>I've tried just putting 'colors_en_UK.properties' in the com.foo.somePackage directory, but that doesn't work because it looks for that file in <outputdir>/com/foo/somePackage and it isn't there.</div>
<div style><br></div><div style>I put my resources in a separate folder called 'resources'. I didn't have that on my javac sourcepath, but I can add that to handle the cal10n annotation processing. However, StandardLocation.CLASS_OUTPUT would need to changed to StandardLocation.SOURCE_PATH. I debugged it and re-assigned the result to use SOURCE_PATH and it behaves like I felt that it should...</div>
<div style><br></div><div style>Perhaps the CAL10NBundleFinderByProcessingFiler can search most/all of the StandardLocation.* places instead of just one?</div><div style><br></div><div style>Anyway, it is late and I didn't want to tear up my codebase to figure out how to make it work, so I'm asking where we should put these things and what names should they be given...<br>
</div><div style><br></div><div style>Thanks,</div><div style>Michael</div></div>