حرف های شما 3 تا غلط داره و 1 درست:
غلط اول اینکه polish قبل از کامپایل تمام پیام ها که از این توابع استفاده کردن:
Locale.get(String key)
Locale.get(String key, String parameter)
رو از messege.txt به سورس انتقال می ده و اصلا message.txt در فایل نهایی وجود نداره رجوع کنید به:
http://www.j2mepolish.org/cms/leftsection/documentation/localization.html#definingtranslations
مگر اینکه از dynamic translation یا تابع Locale.get(String key, String[] parameter) استفاده کنید.
غلط دوم حتی اگر از dynamic translation یا متدی که گفتم استفاده کنید هیچ خللی در کار پچ ایجاد نمی شه(می تونید امتحان کنید.) چون در این صورت هم تابع drawString(String st,int x,int y, int anchor) صدا می شه و چیزی که پچ می شه این تابع هست و قبلش st رو shape می کنه و مهم نیست که st به چه شکلی و از چه resource اومده، مثلا در opera mini این st از سرور گرفته شده.
غلط سوم اینکه برنامه نویسان حرفه ای زیادی وجود دارن که این کار رو می کنن و اسمشم می ذارن postCompile که مثالش برای پچ کردن float برای MIDP1 و MasterCanvas در j2mepolish هست و بسیاری از Patch هایی که روی JDBC اومدن و احتمالا چیزهایی خیلی زیادی که من نمی دونم! برای اطلاعات بیشتر رجوع کنید به:
http://www.google.com/search?q=post+compile&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:en-US:official&client=firefox-a
علتش هم اینه که برنامه نویس رو از پیچیدگی های موجود در حالت های خاص رها می کنه و اصلا کار غیر معمولی نیست.
و حرف درست اینکه دوستان همه ایرانی هستند و احتمالا از این پچ استفاده می کنن.
البته به نظرم میاد که شما از j2mepolish استفاده زیادی کردید و اطلاعاتی که دادم به دردتون نمی خوره این ها رو گفتم تا اطلاعات بچه ها هم بالا بره و البته در تایید حرف شما این patch رو برای برنامه هایی که سورسش رو دارید پیشنهاد نمی کنم چون این patch برای هر بار drawString یک بار shaping رو انجام می ده ولی اگر شما سورس رو دارید لازمه shaping فقط یک بار انجام بشه. این کار در فورم باینری ممکن نبود.