diff --git a/src/add-ons/translators/bmp/BMPTranslator.rdef b/src/add-ons/translators/bmp/BMPTranslator.rdef new file mode 100644 index 0000000000..4affa3250a --- /dev/null +++ b/src/add-ons/translators/bmp/BMPTranslator.rdef @@ -0,0 +1,15 @@ +/* + * BMPTranslator.rdef + */ + +resource app_signature "application/x-vnd.Haiku-BMPTranslator"; + +resource app_version { + major = 1, + middle = 0, + minor = 0, + variety = 0, + internal = 0, + short_info = "1.0.0", + long_info = "Haiku BMPTranslator Add-Ons." +}; diff --git a/src/add-ons/translators/bmp/Jamfile b/src/add-ons/translators/bmp/Jamfile index a36a6b1eee..b487e0f9c1 100644 --- a/src/add-ons/translators/bmp/Jamfile +++ b/src/add-ons/translators/bmp/Jamfile @@ -4,13 +4,14 @@ SetSubDirSupportedPlatformsBeOSCompatible ; SubDirHdrs [ FDirName $(SUBDIR) $(DOTDOT) shared ] ; +AddResources BMPTranslator : BMPTranslator.rdef ; + Translator BMPTranslator : BMPMain.cpp BMPTranslator.cpp BMPView.cpp - - : be translation libtranslatorsutils.a $(HAIKU_LOCALE_LIBS) - $(TARGET_LIBSUPC++) + : be translation libtranslatorsutils.a $(TARGET_LIBSUPC++) + $(HAIKU_LOCALE_LIBS) : true ; diff --git a/src/add-ons/translators/exr/EXRTranslator.rdef b/src/add-ons/translators/exr/EXRTranslator.rdef new file mode 100644 index 0000000000..70bc24988f --- /dev/null +++ b/src/add-ons/translators/exr/EXRTranslator.rdef @@ -0,0 +1,15 @@ +/* + * EXRTranslator.rdef + */ + +resource app_signature "application/x-vnd.Haiku-EXRTranslator"; + +resource app_version { + major = 0, + middle = 1, + minor = 0, + variety = 0, + internal = 0, + short_info = "0.1.0", + long_info = "Haiku EXRTranslator Add-Ons." +}; diff --git a/src/add-ons/translators/exr/Jamfile b/src/add-ons/translators/exr/Jamfile index 5c6fcabf49..6143f81cff 100644 --- a/src/add-ons/translators/exr/Jamfile +++ b/src/add-ons/translators/exr/Jamfile @@ -7,6 +7,8 @@ SubDirSysHdrs [ FDirName $(SUBDIR) openexr imath ] ; SubDirHdrs [ FDirName $(SUBDIR) $(DOTDOT) shared ] ; +AddResources EXRTranslator : EXRTranslator.rdef ; + Translator EXRTranslator : main.cpp ConfigView.cpp diff --git a/src/add-ons/translators/gif/GIFLoad.cpp b/src/add-ons/translators/gif/GIFLoad.cpp index a70dae60fa..02a44f3e2d 100644 --- a/src/add-ons/translators/gif/GIFLoad.cpp +++ b/src/add-ons/translators/gif/GIFLoad.cpp @@ -19,6 +19,7 @@ #include #include #include +#include extern bool debug; @@ -40,7 +41,8 @@ GIFLoad::GIFLoad(BPositionIO *input, BPositionIO *output) } if (debug) - printf("GIFLoad::GIFLoad() - Image dimensions are %d x %d\n", fWidth, fHeight); + syslog(LOG_ERR, "GIFLoad::GIFLoad() - Image dimensions are %d x %d\n", + fWidth, fHeight); unsigned char c; if (fInput->Read(&c, 1) < 1) { @@ -51,11 +53,12 @@ GIFLoad::GIFLoad(BPositionIO *input, BPositionIO *output) if (c == 0x2c) { if ((!ReadGIFImageHeader()) || (!ReadGIFImageData())) { if (debug) - printf("GIFLoad::GIFLoad() - A fatal error occurred\n"); + syslog(LOG_ERR, "GIFLoad::GIFLoad() - A fatal error occurred\n"); fatalerror = true; } else { if (debug) - printf("GIFLoad::GIFLoad() - Found a single image and leaving\n"); + syslog(LOG_ERR, "GIFLoad::GIFLoad() - Found a single image and " + "leaving\n"); } free(fScanLine); fScanLine = NULL; @@ -99,7 +102,7 @@ GIFLoad::GIFLoad(BPositionIO *input, BPositionIO *output) } } if (debug) - printf("GIFLoad::GIFLoad() - Done\n"); + syslog(LOG_ERR, "GIFLoad::GIFLoad() - Done\n"); } @@ -117,7 +120,8 @@ GIFLoad::ReadGIFHeader() if (header[10] & GIF_LOCALCOLORMAP) { fPalette->size_in_bits = (header[10] & 0x07) + 1; if (debug) - printf("GIFLoad::ReadGIFHeader() - Found %d bit global palette\n", fPalette->size_in_bits); + syslog(LOG_ERR, "GIFLoad::ReadGIFHeader() - Found %d bit global palette\n", + fPalette->size_in_bits); int s = 1 << fPalette->size_in_bits; fPalette->size = s; @@ -131,8 +135,8 @@ GIFLoad::ReadGIFHeader() } else { // Install BeOS system palette in case local palette isn't present color_map *map = (color_map *)system_colors(); for (int x = 0; x < 256; x++) { - fPalette->SetColor(x, map->color_list[x].red, map->color_list[x].green, - map->color_list[x].blue); + fPalette->SetColor(x, map->color_list[x].red, + map->color_list[x].green, map->color_list[x].blue); } fPalette->size = 256; fPalette->size_in_bits = 8; @@ -169,7 +173,8 @@ GIFLoad::ReadGIFControlBlock() fPalette->usetransparent = true; fPalette->transparentindex = data[4]; if (debug) - printf("GIFLoad::ReadGIFControlBlock() - Transparency active, using palette index %d\n", data[4]); + syslog(LOG_ERR, "GIFLoad::ReadGIFControlBlock() - Transparency active, " + "using palette index %d\n", data[4]); } return true; } @@ -178,7 +183,7 @@ GIFLoad::ReadGIFControlBlock() bool GIFLoad::ReadGIFCommentBlock() { - if (debug) printf("GIFLoad::ReadGIFCommentBlock() - Found:\n"); + if (debug) syslog(LOG_ERR, "GIFLoad::ReadGIFCommentBlock() - Found:\n"); unsigned char length; char comment_data[256]; do { @@ -188,10 +193,10 @@ GIFLoad::ReadGIFCommentBlock() return false; comment_data[length] = 0x00; if (debug) - printf("%s", comment_data); + syslog(LOG_ERR, "%s", comment_data); } while (length != 0x00); if (debug) - printf("\n"); + syslog(LOG_ERR, "\n"); return true; } @@ -200,7 +205,7 @@ bool GIFLoad::ReadGIFUnknownBlock(unsigned char c) { if (debug) - printf("GIFLoad::ReadGIFUnknownBlock() - Found: %d\n", c); + syslog(LOG_ERR, "GIFLoad::ReadGIFUnknownBlock() - Found: %d\n", c); unsigned char length; do { if (fInput->Read(&length, 1) < 1) @@ -222,15 +227,17 @@ GIFLoad::ReadGIFImageHeader() int localHeight = data[6] + (data[7] << 8); if (fWidth != localWidth || fHeight != localHeight) { if (debug) - printf("GIFLoad::ReadGIFImageHeader() - Local dimensions do not match global, setting to %d x %d\n", - localWidth, localHeight); + syslog(LOG_ERR, "GIFLoad::ReadGIFImageHeader() - Local dimensions do not " + "match global, setting to %d x %d\n", localWidth, localHeight); fWidth = localWidth; fHeight = localHeight; } fScanLine = (uint32 *)malloc(fWidth * 4); if (fScanLine == NULL) { - if (debug) printf("GIFLoad::ReadGIFImageHeader() - Could not allocate scanline\n"); + if (debug) + syslog(LOG_ERR, "GIFLoad::ReadGIFImageHeader() - Could not allocate " + "scanline\n"); return false; } @@ -253,8 +260,8 @@ GIFLoad::ReadGIFImageHeader() int s = 1 << fPalette->size_in_bits; fPalette->size = s; if (debug) - printf("GIFLoad::ReadGIFImageHeader() - Found %d bit local palette\n", - fPalette->size_in_bits); + syslog(LOG_ERR, "GIFLoad::ReadGIFImageHeader() - Found %d bit local " + "palette\n", fPalette->size_in_bits); unsigned char lp[256 * 3]; if (fInput->Read(lp, s * 3) < s * 3) @@ -267,9 +274,10 @@ GIFLoad::ReadGIFImageHeader() fInterlaced = data[8] & GIF_INTERLACED; if (debug) { if (fInterlaced) - printf("GIFLoad::ReadGIFImageHeader() - Image is interlaced\n"); + syslog(LOG_ERR, "GIFLoad::ReadGIFImageHeader() - Image is interlaced\n"); else - printf("GIFLoad::ReadGIFImageHeader() - Image is not interlaced\n"); + syslog(LOG_ERR, "GIFLoad::ReadGIFImageHeader() - Image is not " + "interlaced\n"); } return true; } @@ -287,17 +295,19 @@ GIFLoad::ReadGIFImageData() return false; } else if (cs > fPalette->size_in_bits) { if (debug) - printf("GIFLoad::ReadGIFImageData() - Code_size should be %d, not %d, allowing it\n", fCodeSize, cs); + syslog(LOG_ERR, "GIFLoad::ReadGIFImageData() - Code_size should be %d, not " + "%d, allowing it\n", fCodeSize, cs); if (!InitFrame(cs)) return false; } else if (cs < fPalette->size_in_bits) { if (debug) - printf("GIFLoad::ReadGIFImageData() - Code_size should be %d, not %d\n", fCodeSize, cs); + syslog(LOG_ERR, "GIFLoad::ReadGIFImageData() - Code_size should be %d, not " + "%d\n", fCodeSize, cs); return false; } if (debug) - printf("GIFLoad::ReadGIFImageData() - Starting LZW\n"); + syslog(LOG_ERR, "GIFLoad::ReadGIFImageData() - Starting LZW\n"); while ((fNewCode = NextCode()) != -1 && fNewCode != fEndCode) { if (fNewCode == fClearCode) { @@ -308,7 +318,8 @@ GIFLoad::ReadGIFImageData() if (!OutputColor(fOldCode, 1)) goto bad_end; if (fNewCode == -1 || fNewCode == fEndCode) { if (debug) - printf("GIFLoad::ReadGIFImageData() - Premature fEndCode or error\n"); + syslog(LOG_ERR, "GIFLoad::ReadGIFImageData() - Premature fEndCode " + "or error\n"); goto bad_end; } continue; @@ -373,12 +384,12 @@ GIFLoad::ReadGIFImageData() if (fNewCode == -1) return false; if (debug) - printf("GIFLoad::ReadGIFImageData() - Done\n"); + syslog(LOG_ERR, "GIFLoad::ReadGIFImageData() - Done\n"); return true; bad_end: if (debug) - printf("GIFLoad::ReadGIFImageData() - Reached a bad end\n"); + syslog(LOG_ERR, "GIFLoad::ReadGIFImageData() - Reached a bad end\n"); MemblockDeleteAll(); return false; } @@ -391,7 +402,8 @@ GIFLoad::NextCode() if (fByteCount == 0) { if (fInput->Read(&fByteCount, 1) < 1) return -1; if (fByteCount == 0) return fEndCode; - if (fInput->Read(fByteBuffer + (255 - fByteCount), fByteCount) < fByteCount) return -1; + if (fInput->Read(fByteBuffer + (255 - fByteCount), + fByteCount) < fByteCount) return -1; } fBitBuffer |= (unsigned int)fByteBuffer[255 - fByteCount] << fBitCount; fByteCount--; diff --git a/src/add-ons/translators/gif/GIFSave.cpp b/src/add-ons/translators/gif/GIFSave.cpp index b8b6ea38a8..7627ecd244 100644 --- a/src/add-ons/translators/gif/GIFSave.cpp +++ b/src/add-ons/translators/gif/GIFSave.cpp @@ -18,6 +18,7 @@ #include "GIFSave.h" #include #include +#include const int gs_pass_starts_at[] = {0, 4, 2, 1, 0}; const int gs_increment_pass_by[] = {8, 8, 4, 2, 0}; @@ -38,7 +39,7 @@ GIFSave::GIFSave(BBitmap *bitmap, BPositionIO *output) { color_space cs = bitmap->ColorSpace(); if (cs != B_RGB32 && cs != B_RGBA32 && cs != B_RGB32_BIG && cs != B_RGBA32_BIG) { - if (debug) printf("GIFSave::GIFSave() - Unknown color space\n"); + if (debug) syslog(LOG_ERR, "GIFSave::GIFSave() - Unknown color space\n"); fatalerror = true; return; } @@ -56,10 +57,13 @@ GIFSave::GIFSave(BBitmap *bitmap, BPositionIO *output) width = bitmap->Bounds().IntegerWidth() + 1; height = bitmap->Bounds().IntegerHeight() + 1; - if (debug) printf("GIFSave::GIFSave() - Image dimensions are %d by %d\n", width, height); + if (debug) + syslog(LOG_ERR, "GIFSave::GIFSave() - Image dimensions are %d by %d\n", + width, height); if (prefs->usedithering) { - if (debug) printf("GIFSave::GIFSave() - Using dithering\n"); + if (debug) + syslog(LOG_ERR, "GIFSave::GIFSave() - Using dithering\n"); red_error = new int32[width + 2]; red_error = &red_error[1]; // Allow index of -1 too green_error = new int32[width + 2]; @@ -74,25 +78,27 @@ GIFSave::GIFSave(BBitmap *bitmap, BPositionIO *output) blue_error[x] = 0; } } else { - if (debug) printf("GIFSave::GIFSave() - Not using dithering\n"); + if (debug) + syslog(LOG_ERR, "GIFSave::GIFSave() - Not using dithering\n"); } if (debug) { - if (prefs->interlaced) printf("GIFSave::GIFSave() - Interlaced, "); - else printf("GIFSave::GIFSave() - Not interlaced, "); + if (prefs->interlaced) + syslog(LOG_ERR, "GIFSave::GIFSave() - Interlaced, "); + else syslog(LOG_ERR, "GIFSave::GIFSave() - Not interlaced, "); switch (prefs->palettemode) { case WEB_SAFE_PALETTE: - printf("web safe palette\n"); + syslog(LOG_ERR, "web safe palette\n"); break; case BEOS_SYSTEM_PALETTE: - printf("BeOS system palette\n"); + syslog(LOG_ERR, "BeOS system palette\n"); break; case GREYSCALE_PALETTE: - printf("greyscale palette\n"); + syslog(LOG_ERR, "greyscale palette\n"); break; case OPTIMAL_PALETTE: default: - printf("optimal palette\n"); + syslog(LOG_ERR, "optimal palette\n"); break; } } @@ -101,34 +107,36 @@ GIFSave::GIFSave(BBitmap *bitmap, BPositionIO *output) if (prefs->usetransparentauto) { palette->PrepareForAutoTransparency(); if (debug) - printf("GIFSave::GIFSave() - Using transparent index %d\n", palette->TransparentIndex()); + syslog(LOG_ERR, "GIFSave::GIFSave() - Using transparent index %d\n", + palette->TransparentIndex()); } else { palette->SetTransparentColor((uint8)prefs->transparentred, (uint8)prefs->transparentgreen, (uint8)prefs->transparentblue); if (debug) { - printf("GIFSave::GIFSave() - Found transparent color %d,%d,%d at index %d\n", - prefs->transparentred, prefs->transparentgreen, prefs->transparentblue, - palette->TransparentIndex()); + syslog(LOG_ERR, "GIFSave::GIFSave() - Found transparent color %d,%d,%d " + "at index %d\n", prefs->transparentred, + prefs->transparentgreen, prefs->transparentblue, + palette->TransparentIndex()); } } } else { if (debug) - printf("GIFSave::GIFSave() - Not using transparency\n"); + syslog(LOG_ERR, "GIFSave::GIFSave() - Not using transparency\n"); } this->output = output; this->bitmap = bitmap; WriteGIFHeader(); - if (debug) printf("GIFSave::GIFSave() - Wrote gif header\n"); + if (debug) syslog(LOG_ERR, "GIFSave::GIFSave() - Wrote gif header\n"); hash = new SFHash(1 << 16); WriteGIFControlBlock(); - if (debug) printf("GIFSave::GIFSave() - Wrote gif control block\n"); + if (debug) syslog(LOG_ERR, "GIFSave::GIFSave() - Wrote gif control block\n"); WriteGIFImageHeader(); - if (debug) printf("GIFSave::GIFSave() - Wrote gif image header\n"); + if (debug) syslog(LOG_ERR, "GIFSave::GIFSave() - Wrote gif image header\n"); WriteGIFImageData(); - if (debug) printf("GIFSave::GIFSave() - Wrote gif image data\n"); + if (debug) syslog(LOG_ERR, "GIFSave::GIFSave() - Wrote gif image data\n"); if (prefs->usedithering) { delete [] &red_error[-1]; diff --git a/src/add-ons/translators/gif/GIFTranslator.cpp b/src/add-ons/translators/gif/GIFTranslator.cpp index e4bb537bb6..420545ade4 100644 --- a/src/add-ons/translators/gif/GIFTranslator.cpp +++ b/src/add-ons/translators/gif/GIFTranslator.cpp @@ -18,20 +18,29 @@ #include "GIFView.h" #include "GIFSave.h" #include "GIFLoad.h" + + #include -#include +#include #include +#include +#include #include #include -#include + #include #include #include +#include #ifndef GIF_TYPE #define GIF_TYPE 'GIF ' #endif +#undef B_TRANSLATE_CONTEXT +#define B_TRANSLATE_CONTEXT "GIFTranslator" + + // This global will be externed in other files - set once here // for the entire translator bool debug = false; @@ -45,14 +54,18 @@ char translatorInfo[] = "GIF image translator v1.4"; int32 translatorVersion = 0x140; translation_format inputFormats[] = { - { GIF_TYPE, B_TRANSLATOR_BITMAP, 0.8, 0.8, "image/gif", "GIF image" }, - { B_TRANSLATOR_BITMAP, B_TRANSLATOR_BITMAP, 0.3, 0.3, "image/x-be-bitmap", "Be Bitmap Format (GIFTranslator)" }, + { GIF_TYPE, B_TRANSLATOR_BITMAP, 0.8, 0.8, "image/gif", + "GIF image" }, + { B_TRANSLATOR_BITMAP, B_TRANSLATOR_BITMAP, 0.3, 0.3, "image/x-be-bitmap", + "Be Bitmap Format (GIFTranslator)" }, { 0 } }; translation_format outputFormats[] = { - { GIF_TYPE, B_TRANSLATOR_BITMAP, 0.8, 0.8, "image/gif", "GIF image" }, - { B_TRANSLATOR_BITMAP, B_TRANSLATOR_BITMAP, 0.3, 0.3, "image/x-be-bitmap", "Be Bitmap Format (GIFTranslator)" }, + { GIF_TYPE, B_TRANSLATOR_BITMAP, 0.8, 0.8, "image/gif", + "GIF image" }, + { B_TRANSLATOR_BITMAP, B_TRANSLATOR_BITMAP, 0.3, 0.3, "image/x-be-bitmap", + "Be Bitmap Format (GIFTranslator)" }, { 0 } }; @@ -79,15 +92,18 @@ DetermineType(BPositionIO *source, bool *is_gif) if (source->Read(header, 6) != 6) return false; header[6] = 0x00; - if (strcmp((char *)header, "GIF87a") != 0 && strcmp((char *)header, "GIF89a") != 0) { + if (strcmp((char *)header, "GIF87a") != 0 && strcmp((char *)header, + "GIF89a") != 0) { *is_gif = false; - int32 magic = (header[0] << 24) + (header[1] << 16) + (header[2] << 8) + header[3]; + int32 magic = (header[0] << 24) + (header[1] << 16) + (header[2] << 8) + + header[3]; if (magic != B_TRANSLATOR_BITMAP) return false; source->Seek(5 * 4 - 2, SEEK_CUR); color_space cs; if (source->Read(&cs, 4) != 4) return false; cs = (color_space)B_BENDIAN_TO_HOST_INT32(cs); - if (cs != B_RGB32 && cs != B_RGBA32 && cs != B_RGB32_BIG && cs != B_RGBA32_BIG) return false; + if (cs != B_RGB32 && cs != B_RGBA32 && cs != B_RGB32_BIG && cs + != B_RGBA32_BIG) return false; } source->Seek(0, SEEK_SET); @@ -141,7 +157,8 @@ Identify(BPositionIO *inSource, const translation_format *inFormat, if ((debug_text != NULL) && (atoi(debug_text) != 0)) debug = true; if (outType == 0) outType = B_TRANSLATOR_BITMAP; - if (outType != GIF_TYPE && outType != B_TRANSLATOR_BITMAP) return B_NO_TRANSLATOR; + if (outType != GIF_TYPE && outType != B_TRANSLATOR_BITMAP) + return B_NO_TRANSLATOR; bool is_gif; if (!DetermineType(inSource, &is_gif)) return B_NO_TRANSLATOR; @@ -153,14 +170,14 @@ Identify(BPositionIO *inSource, const translation_format *inFormat, outInfo->type = GIF_TYPE; outInfo->quality = 0.8; outInfo->capability = 0.8; - strcpy(outInfo->name, "GIF image"); + strcpy(outInfo->name, B_TRANSLATE("GIF image")); strcpy(outInfo->MIME, "image/gif"); } else { outInfo->type = B_TRANSLATOR_BITMAP; outInfo->quality = 0.3; outInfo->capability = 0.3; - strcpy(outInfo->name, "Be Bitmap Format (GIFTranslator)"); + strcpy(outInfo->name, B_TRANSLATE("Be Bitmap Format (GIFTranslator)")); strcpy(outInfo->MIME, "image/x-be-bitmap"); } return B_OK; @@ -213,7 +230,7 @@ Translate(BPositionIO *inSource, const translator_info *inInfo, if (debug) { now = system_time() - now; - printf("Translate() - Translation took %Ld microseconds\n", now); + syslog(LOG_ERR, "Translate() - Translation took %Ld microseconds\n", now); } return B_OK; } @@ -223,7 +240,7 @@ GIFTranslator::GIFTranslator() : BApplication("application/x-vnd.Haiku-GIFTranslator") { BRect rect(100, 100, 339, 339); - gifwindow = new GIFWindow(rect, "GIF Settings"); + gifwindow = new GIFWindow(rect, B_TRANSLATE("GIF Settings")); gifwindow->Show(); } diff --git a/src/add-ons/translators/gif/GIFTranslator.rdef b/src/add-ons/translators/gif/GIFTranslator.rdef new file mode 100644 index 0000000000..6227ffeb97 --- /dev/null +++ b/src/add-ons/translators/gif/GIFTranslator.rdef @@ -0,0 +1,15 @@ +/* + * GIFTranslator.rdef + */ + +resource app_signature "application/x-vnd.Haiku-GIFTranslator"; + +resource app_version { + major = 1, + middle = 4, + minor = 0, + variety = 0, + internal = 0, + short_info = "1.4.0", + long_info = "Haiku GIFTranslator Add-Ons." +}; diff --git a/src/add-ons/translators/gif/GIFView.cpp b/src/add-ons/translators/gif/GIFView.cpp index 194cffec13..1e827f454d 100644 --- a/src/add-ons/translators/gif/GIFView.cpp +++ b/src/add-ons/translators/gif/GIFView.cpp @@ -19,6 +19,7 @@ #include #include +#include #include #include #include @@ -30,6 +31,10 @@ #include "GIFView.h" +#undef B_TRANSLATE_CONTEXT +#define B_TRANSLATE_CONTEXT "GIFView" + + extern int32 translatorVersion; extern char translatorName[]; @@ -43,25 +48,31 @@ GIFView::GIFView(const char *name) title->SetFont(be_bold_font); char version_string[100]; - sprintf(version_string, "v%d.%d.%d %s", (int)(translatorVersion >> 8), (int)((translatorVersion >> 4) & 0xf), - (int)(translatorVersion & 0xf), __DATE__); + sprintf(version_string, "v%d.%d.%d %s", (int)(translatorVersion >> 8), + (int)((translatorVersion >> 4) & 0xf), (int)(translatorVersion & 0xf), + __DATE__); BStringView *version = new BStringView("Version", version_string); const char *copyrightString = "©2003 Daniel Switkin, software@switkin.com"; BStringView *copyright = new BStringView("Copyright", copyrightString); // menu fields (Palette & Colors) - fWebSafeMI = new BMenuItem("Websafe", new BMessage(GV_WEB_SAFE), 0, 0); - fBeOSSystemMI = new BMenuItem("BeOS system", new BMessage(GV_BEOS_SYSTEM), 0, 0); - fGreyScaleMI = new BMenuItem("Greyscale", new BMessage(GV_GREYSCALE), 0, 0); - fOptimalMI = new BMenuItem("Optimal", new BMessage(GV_OPTIMAL), 0, 0); + fWebSafeMI = new BMenuItem(B_TRANSLATE("Websafe"), + new BMessage(GV_WEB_SAFE), 0, 0); + fBeOSSystemMI = new BMenuItem(B_TRANSLATE("BeOS system"), + new BMessage(GV_BEOS_SYSTEM), 0, 0); + fGreyScaleMI = new BMenuItem(B_TRANSLATE("Greyscale"), + new BMessage(GV_GREYSCALE), 0, 0); + fOptimalMI = new BMenuItem(B_TRANSLATE("Optimal"), + new BMessage(GV_OPTIMAL), 0, 0); fPaletteM = new BPopUpMenu("PalettePopUpMenu", true, true, B_ITEMS_IN_COLUMN); fPaletteM->AddItem(fWebSafeMI); fPaletteM->AddItem(fBeOSSystemMI); fPaletteM->AddItem(fGreyScaleMI); fPaletteM->AddItem(fOptimalMI); - fColorCountM = new BPopUpMenu("ColorCountPopUpMenu", true, true, B_ITEMS_IN_COLUMN); + fColorCountM = new BPopUpMenu("ColorCountPopUpMenu", true, true, + B_ITEMS_IN_COLUMN); int32 count = 2; for (int32 i = 0; i < 8; i++) { BMessage* message = new BMessage(GV_SET_COLOR_COUNT); @@ -74,25 +85,26 @@ GIFView::GIFView(const char *name) } fColorCount256MI = fColorCountMI[7]; - fPaletteMF = new BMenuField("Palette", fPaletteM, NULL); + fPaletteMF = new BMenuField(B_TRANSLATE("Palette"), fPaletteM, NULL); - fColorCountMF = new BMenuField("Colors", fColorCountM, NULL); + fColorCountMF = new BMenuField(B_TRANSLATE("Colors"), fColorCountM, NULL); // check boxes - fUseDitheringCB = new BCheckBox("Use dithering", + fUseDitheringCB = new BCheckBox(B_TRANSLATE("Use dithering"), new BMessage(GV_USE_DITHERING)); - fInterlacedCB = new BCheckBox("Write interlaced images", + fInterlacedCB = new BCheckBox(B_TRANSLATE("Write interlaced images"), new BMessage(GV_INTERLACED)); - fUseTransparentCB = new BCheckBox("Write transparent images", + fUseTransparentCB = new BCheckBox(B_TRANSLATE("Write transparent images"), new BMessage(GV_USE_TRANSPARENT)); // radio buttons - fUseTransparentAutoRB = new BRadioButton("Automatic (from alpha channel)", + fUseTransparentAutoRB = new BRadioButton( + B_TRANSLATE("Automatic (from alpha channel)"), new BMessage(GV_USE_TRANSPARENT_AUTO)); - fUseTransparentColorRB = new BRadioButton("Use RGB color", + fUseTransparentColorRB = new BRadioButton(B_TRANSLATE("Use RGB color"), new BMessage(GV_USE_TRANSPARENT_COLOR)); fTransparentRedTC = new BTextControl("", "0", new BMessage(GV_TRANSPARENT_RED)); diff --git a/src/add-ons/translators/gif/Jamfile b/src/add-ons/translators/gif/Jamfile index 0952f2862b..3515b1affa 100644 --- a/src/add-ons/translators/gif/Jamfile +++ b/src/add-ons/translators/gif/Jamfile @@ -2,6 +2,8 @@ SubDir HAIKU_TOP src add-ons translators gif ; SetSubDirSupportedPlatformsBeOSCompatible ; +AddResources GIFTranslator : GIFTranslator.rdef ; + Translator GIFTranslator : # Main Source GIFTranslator.cpp @@ -20,6 +22,14 @@ Translator GIFTranslator : : true ; +DoCatalogs GIFTranslator : + x-vnd.Haiku-GIFTranslator + : + GIFTranslator.cpp + GIFView.cpp +; + + Package haiku-translationkit-cvs : GIFTranslator : boot home config add-ons Translators ; diff --git a/src/add-ons/translators/hvif/HVIFTranslator.rdef b/src/add-ons/translators/hvif/HVIFTranslator.rdef new file mode 100644 index 0000000000..80395c3033 --- /dev/null +++ b/src/add-ons/translators/hvif/HVIFTranslator.rdef @@ -0,0 +1,15 @@ +/* + * HVIFTranslator.rdef + */ + +resource app_signature "application/x-vnd.Haiku-HVIFTranslator"; + +resource app_version { + major = 1, + middle = 0, + minor = 0, + variety = 0, + internal = 0, + short_info = "1.0.0", + long_info = "Haiku HVIFTranslator Add-Ons." +}; diff --git a/src/add-ons/translators/hvif/Jamfile b/src/add-ons/translators/hvif/Jamfile index e1f0706f13..20b6d78bf5 100644 --- a/src/add-ons/translators/hvif/Jamfile +++ b/src/add-ons/translators/hvif/Jamfile @@ -4,12 +4,13 @@ UseLibraryHeaders icon ; SubDirHdrs [ FDirName $(SUBDIR) $(DOTDOT) shared ] ; +AddResources HVIFTranslator : HVIFTranslator.rdef ; + Translator HVIFTranslator : HVIFMain.cpp HVIFTranslator.cpp HVIFView.cpp : be translation libtranslatorsutils.a $(TARGET_LIBSUPC++) -$(HAIKU_LOCALE_LIBS) $(HAIKU_LOCALE_LIBS) : true ; diff --git a/src/add-ons/translators/ico/ConfigView.cpp b/src/add-ons/translators/ico/ConfigView.cpp index d61c874fd4..8f93c4e5ef 100644 --- a/src/add-ons/translators/ico/ConfigView.cpp +++ b/src/add-ons/translators/ico/ConfigView.cpp @@ -71,7 +71,7 @@ ConfigView::ConfigView() AddChild(stringView); stringView = new BStringView("valid2", - B_TRANSLATE("pixel in either direction.")); + B_TRANSLATE("pixels in either direction.")); stringView->SetExplicitAlignment(leftAlignment); AddChild(stringView); diff --git a/src/add-ons/translators/ico/ICOTranslator.cpp b/src/add-ons/translators/ico/ICOTranslator.cpp index 61f0076993..50c937b3de 100644 --- a/src/add-ons/translators/ico/ICOTranslator.cpp +++ b/src/add-ons/translators/ico/ICOTranslator.cpp @@ -6,6 +6,7 @@ #include "ICOTranslator.h" +#include #include #include #include diff --git a/src/add-ons/translators/ico/ICOTranslator.rdef b/src/add-ons/translators/ico/ICOTranslator.rdef new file mode 100644 index 0000000000..48412976e9 --- /dev/null +++ b/src/add-ons/translators/ico/ICOTranslator.rdef @@ -0,0 +1,15 @@ +/* + * ICOTranslator.rdef + */ + +resource app_signature "application/x-vnd.Haiku-ICOTranslator"; + +resource app_version { + major = 1, + middle = 0, + minor = 0, + variety = 0, + internal = 0, + short_info = "1.0.0", + long_info = "Haiku ICOTranslator Add-Ons." +}; diff --git a/src/add-ons/translators/ico/Jamfile b/src/add-ons/translators/ico/Jamfile index ba36d8b9b1..383aa099bb 100644 --- a/src/add-ons/translators/ico/Jamfile +++ b/src/add-ons/translators/ico/Jamfile @@ -4,6 +4,8 @@ SetSubDirSupportedPlatformsBeOSCompatible ; SubDirHdrs [ FDirName $(SUBDIR) $(DOTDOT) shared ] ; +AddResources ICOTranslator : ICOTranslator.rdef ; + Translator ICOTranslator : # ICOTranslator classes main.cpp @@ -18,6 +20,7 @@ Translator ICOTranslator : DoCatalogs ICOTranslator : x-vnd.Haiku-ICOTranslator : + main.cpp ConfigView.cpp ICOTranslator.cpp ; diff --git a/src/add-ons/translators/ico/main.cpp b/src/add-ons/translators/ico/main.cpp index af1419a6b9..f633ce7480 100644 --- a/src/add-ons/translators/ico/main.cpp +++ b/src/add-ons/translators/ico/main.cpp @@ -11,13 +11,11 @@ #include "ICO.h" #include "TranslatorWindow.h" - #undef B_TRANSLATE_CONTEXT #define B_TRANSLATE_CONTEXT "main" - int -main(int /*argc*/, char **/*argv*/) +main(int /*argc*/, char ** /*argv*/) { BApplication app("application/x-vnd.Haiku-ICOTranslator"); diff --git a/src/add-ons/translators/jpeg/JPEGTranslator.cpp b/src/add-ons/translators/jpeg/JPEGTranslator.cpp index 70074ae4b5..730c4178ab 100644 --- a/src/add-ons/translators/jpeg/JPEGTranslator.cpp +++ b/src/add-ons/translators/jpeg/JPEGTranslator.cpp @@ -34,6 +34,8 @@ EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include "TranslatorWindow.h" #include "exif_parser.h" +#include + #include #include #include @@ -662,7 +664,9 @@ TranslatorAboutView::TranslatorAboutView(const char* name) BView(name, 0, new BGroupLayout(B_VERTICAL)) { BAlignment labelAlignment = BAlignment(B_ALIGN_LEFT, B_ALIGN_TOP); - BStringView* title = new BStringView("Title", sTranslatorName); + BString str1(sTranslatorName); + str1.ReplaceFirst("JPEG images", B_TRANSLATE("JPEG images")); + BStringView* title = new BStringView("Title", str1.String()); title->SetFont(be_bold_font); title->SetExplicitAlignment(labelAlignment); @@ -674,7 +678,17 @@ TranslatorAboutView::TranslatorAboutView(const char* name) version->SetExplicitAlignment(labelAlignment); BTextView* infoView = new BTextView("info"); - infoView->SetText(sTranslatorInfo); + BString str2(sTranslatorInfo); + str2.ReplaceFirst("Based on IJG library © 1994-2009, Thomas G. Lane, " + "Guido Vollbeding.\n", B_TRANSLATE("Based on IJG library © 1994-2009, " + "Thomas G. Lane, Guido Vollbeding.\n")); + str2.ReplaceFirst("with \"lossless\" encoding support patch by Ken " + "Murchison\n", B_TRANSLATE("with \"lossless\" encoding support patch " + "by Ken Murchison\n")); + str2.ReplaceFirst("With some colorspace conversion routines by Magnus " + "Hellman\n", B_TRANSLATE("With some colorspace conversion routines by " + "Magnus Hellman\n")); + infoView->SetText(str2.String()); infoView->SetViewColor(ui_color(B_PANEL_BACKGROUND_COLOR)); infoView->MakeEditable(false); @@ -695,9 +709,9 @@ TranslatorView::TranslatorView(const char* name, TranslatorSettings* settings) : BTabView(name) { - AddTab(new TranslatorWriteView("Write", settings->Acquire())); - AddTab(new TranslatorReadView("Read", settings->Acquire())); - AddTab(new TranslatorAboutView("About")); + AddTab(new TranslatorWriteView(B_TRANSLATE("Write"), settings->Acquire())); + AddTab(new TranslatorReadView(B_TRANSLATE("Read"), settings->Acquire())); + AddTab(new TranslatorAboutView(B_TRANSLATE("About"))); settings->Release(); @@ -788,8 +802,8 @@ JPEGTranslator::DerivedTranslate(BPositionIO* inSource, &longJumpBuffer); } } catch (...) { - fprintf(stderr, B_TRANSLATE("libjpeg encountered a critical error " - "(caught C++ exception).\n")); + syslog(LOG_ERR, "libjpeg encountered a critical error (caught C++ " + "exception).\n"); return B_ERROR; } @@ -942,8 +956,7 @@ JPEGTranslator::Compress(BPositionIO* in, BPositionIO* out, break; default: - fprintf(stderr, - B_TRANSLATE("Wrong type: Color space not implemented.\n")); + syslog(LOG_ERR, "Wrong type: Color space not implemented.\n"); return B_ERROR; } out_row_bytes = jpg_input_components * width; @@ -1097,8 +1110,7 @@ JPEGTranslator::Decompress(BPositionIO* in, BPositionIO* out, if (cinfo.out_color_space != JCS_RGB) { switch (cinfo.out_color_space) { case JCS_UNKNOWN: /* error/unspecified */ - fprintf(stderr, - B_TRANSLATE("From Type: Jpeg uses unknown color type\n")); + syslog(LOG_ERR, "From Type: Jpeg uses unknown color type\n"); break; case JCS_GRAYSCALE: /* monochrome */ // Check if user wants to read only as RGB32 or not @@ -1130,9 +1142,8 @@ JPEGTranslator::Decompress(BPositionIO* in, BPositionIO* out, converter = convert_from_CMYK_to_32; break; default: - fprintf(stderr, - B_TRANSLATE("From Type: Jpeg uses hmm... i don't know " - "really :(\n")); + syslog(LOG_ERR, + "From Type: Jpeg uses hmm... i don't know really :(\n"); break; } } @@ -1279,7 +1290,10 @@ JPEGTranslator::PopulateInfoFromFormat(translator_info* info, info->group = formats[i].group; info->quality = formats[i].quality; info->capability = formats[i].capability; - strcpy(info->name, formats[i].name); + BString str1(formats[i].name); + str1.ReplaceFirst("Be Bitmap Format (JPEGTranslator)", + B_TRANSLATE("Be Bitmap Format (JPEGTranslator)")); + strncpy(info->name, str1.String(), sizeof(info->name)); strcpy(info->MIME, formats[i].MIME); return B_OK; } diff --git a/src/add-ons/translators/jpeg/JPEGTranslator.h b/src/add-ons/translators/jpeg/JPEGTranslator.h index 742b6e96c7..6282622846 100644 --- a/src/add-ons/translators/jpeg/JPEGTranslator.h +++ b/src/add-ons/translators/jpeg/JPEGTranslator.h @@ -34,6 +34,7 @@ EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include #include +#include #include #include #include @@ -52,6 +53,9 @@ EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include "BaseTranslator.h" +#undef B_TRANSLATE_CONTEXT +#define B_TRANSLATE_CONTEXT "JPEGTranslator" + // Settings #define SETTINGS_FILE "JPEGTranslator" @@ -67,15 +71,15 @@ EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #define VIEW_MSG_SET_SHOWREADERRORBOX 'JSEB' // View labels -#define VIEW_LABEL_QUALITY "Output quality" -#define VIEW_LABEL_SMOOTHING "Output smoothing strength" -#define VIEW_LABEL_PROGRESSIVE "Use progressive compression" -#define VIEW_LABEL_OPTIMIZECOLORS "Prevent colors 'washing out'" -#define VIEW_LABEL_SMALLERFILE "Make file smaller (sligthtly worse quality)" -#define VIEW_LABEL_GRAY1ASRGB24 "Write black-and-white images as RGB24" -#define VIEW_LABEL_ALWAYSRGB32 "Read greyscale images as RGB32" -#define VIEW_LABEL_PHOTOSHOPCMYK "Use CMYK code with 0 for 100% ink coverage" -#define VIEW_LABEL_SHOWREADERRORBOX "Show warning messages" +#define VIEW_LABEL_QUALITY B_TRANSLATE_MARK("Output quality") +#define VIEW_LABEL_SMOOTHING B_TRANSLATE_MARK("Output smoothing strength") +#define VIEW_LABEL_PROGRESSIVE B_TRANSLATE_MARK("Use progressive compression") +#define VIEW_LABEL_OPTIMIZECOLORS B_TRANSLATE_MARK("Prevent colors 'washing out'") +#define VIEW_LABEL_SMALLERFILE B_TRANSLATE_MARK("Make file smaller (sligthtly worse quality)") +#define VIEW_LABEL_GRAY1ASRGB24 B_TRANSLATE_MARK("Write black-and-white images as RGB24") +#define VIEW_LABEL_ALWAYSRGB32 B_TRANSLATE_MARK("Read greyscale images as RGB32") +#define VIEW_LABEL_PHOTOSHOPCMYK B_TRANSLATE_MARK("Use CMYK code with 0 for 100% ink coverage") +#define VIEW_LABEL_SHOWREADERRORBOX B_TRANSLATE_MARK("Show warning messages") // strings for use in TranslatorSettings #define JPEG_SET_SMOOTHING "smoothing" diff --git a/src/add-ons/translators/jpeg/JPEGTranslator.rdef b/src/add-ons/translators/jpeg/JPEGTranslator.rdef new file mode 100644 index 0000000000..8915290522 --- /dev/null +++ b/src/add-ons/translators/jpeg/JPEGTranslator.rdef @@ -0,0 +1,15 @@ +/* + * JPEGTranslator.rdef + */ + +resource app_signature "application/x-vnd.Haiku-JPEGTranslator"; + +resource app_version { + major = 1, + middle = 2, + minor = 0, + variety = 0, + internal = 0, + short_info = "1.2.0", + long_info = "Haiku JPEGTranslator Add-Ons." +}; diff --git a/src/add-ons/translators/jpeg/Jamfile b/src/add-ons/translators/jpeg/Jamfile index c67fd58a73..cba4f7b9aa 100644 --- a/src/add-ons/translators/jpeg/Jamfile +++ b/src/add-ons/translators/jpeg/Jamfile @@ -10,6 +10,8 @@ SubDirHdrs [ FDirName $(SUBDIR) $(DOTDOT) shared ] ; UseLibraryHeaders jpeg ; +AddResources JPEGTranslator : JPEGTranslator.rdef ; + Translator JPEGTranslator : be_jdatadst.cpp be_jdatasrc.cpp @@ -24,6 +26,7 @@ Translator JPEGTranslator : DoCatalogs JPEGTranslator : x-vnd.Haiku-JPEGTranslator : + JPEGTranslator.h JPEGTranslator.cpp exif_parser.cpp be_jerror.cpp diff --git a/src/add-ons/translators/jpeg/exif_parser.cpp b/src/add-ons/translators/jpeg/exif_parser.cpp index 670494a074..3f5cb6277f 100644 --- a/src/add-ons/translators/jpeg/exif_parser.cpp +++ b/src/add-ons/translators/jpeg/exif_parser.cpp @@ -6,6 +6,7 @@ #include "exif_parser.h" +#include #include #include #include diff --git a/src/add-ons/translators/jpeg2000/JPEG2000Translator.cpp b/src/add-ons/translators/jpeg2000/JPEG2000Translator.cpp index 4191be2afa..417c9d75ab 100644 --- a/src/add-ons/translators/jpeg2000/JPEG2000Translator.cpp +++ b/src/add-ons/translators/jpeg2000/JPEG2000Translator.cpp @@ -35,6 +35,8 @@ EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include "jpc_cs.h" #include "TranslatorWindow.h" +#include + #include #include #include @@ -705,8 +707,9 @@ TranslatorAboutView::TranslatorAboutView(const char* name) BView(name, 0, new BGroupLayout(B_VERTICAL)) { BAlignment labelAlignment = BAlignment(B_ALIGN_LEFT, B_ALIGN_TOP); - BStringView* title = new BStringView("Title", sTranslatorName); - title->SetText(B_TRANSLATE_MARK("JPEG2000 images")); + BString str1(sTranslatorName); + str1.ReplaceFirst("JPEG2000 images", B_TRANSLATE("JPEG2000 images")); + BStringView* title = new BStringView("Title", str1.String()); title->SetFont(be_bold_font); title->SetExplicitAlignment(labelAlignment); @@ -1003,7 +1006,7 @@ JP2Translator::Compress(BPositionIO* in, BPositionIO* out) break; default: - fprintf(stderr, B_TRANSLATE("Unknown color space.\n")); + syslog(LOG_ERR, "Unknown color space.\n"); return B_ERROR; } @@ -1124,8 +1127,8 @@ JP2Translator::Decompress(BPositionIO* in, BPositionIO* out) out_color_space = B_RGBA32; converter = read_rgba32; } else { - fprintf(stderr, B_TRANSLATE("Other than RGB with 3 or 4 color " - "components not implemented.\n")); + syslog(LOG_ERR, "Other than RGB with 3 or 4 color " + "components not implemented.\n"); return Error(ins, image, NULL, 0, NULL, B_ERROR); } break; @@ -1141,13 +1144,12 @@ JP2Translator::Decompress(BPositionIO* in, BPositionIO* out) } break; case JAS_IMAGE_CS_YCBCR: - fprintf(stderr, B_TRANSLATE("Color space YCBCR not implemented " - "yet.\n")); + syslog(LOG_ERR, "Color space YCBCR not implemented yet.\n"); return Error(ins, image, NULL, 0, NULL, B_ERROR); break; case JAS_IMAGE_CS_UNKNOWN: default: - fprintf(stderr, B_TRANSLATE("Color space unknown. \n")); + syslog(LOG_ERR, "Color space unknown. \n"); return Error(ins, image, NULL, 0, NULL, B_ERROR); break; } @@ -1314,8 +1316,7 @@ main() { BApplication app("application/x-vnd.Haiku-JPEG2000Translator"); JP2Translator* translator = new JP2Translator(); - if (LaunchTranslatorWindow(translator, B_TRANSLATE("JPEG2000 images") - /*sTranslatorName*/) == B_OK) + if (LaunchTranslatorWindow(translator, sTranslatorName) == B_OK) app.Run(); return 0; diff --git a/src/add-ons/translators/jpeg2000/JPEG2000Translator.h b/src/add-ons/translators/jpeg2000/JPEG2000Translator.h index ea97a97a6d..d10c1d3df9 100644 --- a/src/add-ons/translators/jpeg2000/JPEG2000Translator.h +++ b/src/add-ons/translators/jpeg2000/JPEG2000Translator.h @@ -59,10 +59,10 @@ EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // Settings #define JP2_SETTINGS_FILE "JPEG2000Translator" -#define JP2_SET_QUALITY B_TRANSLATE_MARK("quality") -#define JP2_SET_GRAY1_AS_B_RGB24 B_TRANSLATE_MARK("24 from gray1") -#define JP2_SET_GRAY8_AS_B_RGB32 B_TRANSLATE_MARK("32 from gray8") -#define JP2_SET_JPC B_TRANSLATE_MARK("jpc") +#define JP2_SET_QUALITY "quality" +#define JP2_SET_GRAY1_AS_B_RGB24 "24 from gray1" +#define JP2_SET_GRAY8_AS_B_RGB32 "32 from gray8" +#define JP2_SET_JPC "jpc" // View messages #define VIEW_MSG_SET_QUALITY 'JSCQ' diff --git a/src/add-ons/translators/jpeg2000/JPEG2000Translator.rdef b/src/add-ons/translators/jpeg2000/JPEG2000Translator.rdef new file mode 100644 index 0000000000..285314515a --- /dev/null +++ b/src/add-ons/translators/jpeg2000/JPEG2000Translator.rdef @@ -0,0 +1,15 @@ +/* + * JPEG2000Translator.rdef + */ + +resource app_signature "application/x-vnd.Haiku-JPEG2000Translator"; + +resource app_version { + major = 1, + middle = 0, + minor = 0, + variety = 0, + internal = 0, + short_info = "1.0.0", + long_info = "Haiku JPEG2000Translator Add-Ons." +}; diff --git a/src/add-ons/translators/jpeg2000/Jamfile b/src/add-ons/translators/jpeg2000/Jamfile index 3f672febcb..cf8903cb40 100644 --- a/src/add-ons/translators/jpeg2000/Jamfile +++ b/src/add-ons/translators/jpeg2000/Jamfile @@ -6,7 +6,7 @@ SubDirSysHdrs [ FDirName $(SUBDIR) libjasper ] ; SubDirHdrs [ FDirName $(SUBDIR) $(DOTDOT) shared ] ; #for BaseTranslator.h and friends - + # Exclude unwanted formats CCFLAGS += -DEXCLUDE_MIF_SUPPORT -DEXCLUDE_PNM_SUPPORT @@ -62,6 +62,8 @@ local jasper_files = ObjectCcFlags [ FGristFiles $(jasper_files:S=$(SUFOBJ)) ] : -w ; +AddResources JPEG2000Translator : JPEG2000Translator.rdef ; + Translator JPEG2000Translator : # JPEG2000Translator diff --git a/src/add-ons/translators/pcx/Jamfile b/src/add-ons/translators/pcx/Jamfile index 12e37cd530..cca92bc415 100644 --- a/src/add-ons/translators/pcx/Jamfile +++ b/src/add-ons/translators/pcx/Jamfile @@ -4,6 +4,8 @@ SetSubDirSupportedPlatformsBeOSCompatible ; SubDirHdrs [ FDirName $(SUBDIR) $(DOTDOT) shared ] ; +AddResources PCXTranslator : PCXTranslator.rdef ; + Translator PCXTranslator : # PCXTranslator classes main.cpp diff --git a/src/add-ons/translators/pcx/PCXTranslator.rdef b/src/add-ons/translators/pcx/PCXTranslator.rdef new file mode 100644 index 0000000000..c27194af48 --- /dev/null +++ b/src/add-ons/translators/pcx/PCXTranslator.rdef @@ -0,0 +1,15 @@ +/* + * PCXTranslator.rdef + */ + +resource app_signature "application/x-vnd.Haiku-PCXTranslator"; + +resource app_version { + major = 0, + middle = 3, + minor = 0, + variety = 0, + internal = 0, + short_info = "0.3.0", + long_info = "Haiku PCXTranslator Add-Ons." +}; diff --git a/src/add-ons/translators/png/Jamfile b/src/add-ons/translators/png/Jamfile index f0eb31c530..77dec7353b 100644 --- a/src/add-ons/translators/png/Jamfile +++ b/src/add-ons/translators/png/Jamfile @@ -5,6 +5,8 @@ SetSubDirSupportedPlatformsBeOSCompatible ; UseLibraryHeaders png zlib ; SubDirHdrs [ FDirName $(SUBDIR) $(DOTDOT) shared ] ; +AddResources PNGTranslator : PNGTranslator.rdef ; + if $(HAIKU_GCC_VERSION[1]) = 2 { SubDirCcFlags -DPNG_NO_PEDANTIC_WARNINGS ; } diff --git a/src/add-ons/translators/png/PNGTranslator.rdef b/src/add-ons/translators/png/PNGTranslator.rdef new file mode 100644 index 0000000000..1ac987a2b3 --- /dev/null +++ b/src/add-ons/translators/png/PNGTranslator.rdef @@ -0,0 +1,15 @@ +/* + * PNGTranslator.rdef + */ + +resource app_signature "application/x-vnd.Haiku-PNGTranslator"; + +resource app_version { + major = 1, + middle = 0, + minor = 0, + variety = 0, + internal = 0, + short_info = "1.0.0", + long_info = "Haiku PNGTranslator Add-Ons." +}; diff --git a/src/add-ons/translators/ppm/Jamfile b/src/add-ons/translators/ppm/Jamfile index 3771f35a2d..313f5a8148 100644 --- a/src/add-ons/translators/ppm/Jamfile +++ b/src/add-ons/translators/ppm/Jamfile @@ -2,12 +2,21 @@ SubDir HAIKU_TOP src add-ons translators ppm ; SetSubDirSupportedPlatformsBeOSCompatible ; +AddResources PPMTranslator : PPMTranslator.rdef ; + Translator PPMTranslator : PPMMain.cpp PPMTranslator.cpp colorspace.cpp - : be translation $(TARGET_LIBSUPC++) + : be translation $(TARGET_LIBSUPC++) $(HAIKU_LOCALE_LIBS) : true ; +DoCatalogs PPMTranslator : + x-vnd.Haiku-PPMTranslator + : + PPMMain.cpp + PPMTranslator.cpp +; + Package haiku-translationkit-cvs : PPMTranslator : boot home config add-ons Translators ; diff --git a/src/add-ons/translators/ppm/PPMMain.cpp b/src/add-ons/translators/ppm/PPMMain.cpp index b88992ffbb..d0bc584b95 100644 --- a/src/add-ons/translators/ppm/PPMMain.cpp +++ b/src/add-ons/translators/ppm/PPMMain.cpp @@ -3,16 +3,21 @@ This file may be used under the terms of the Be Sample Code License. */ +#include +#include +#include +#include +#include #include #include #include -#include -#include -#include -#include + #include +#undef B_TRANSLATE_CONTEXT +#define B_TRANSLATE_CONTEXT "PPMMain" + BPoint get_window_origin(); void set_window_origin(BPoint pt); @@ -22,7 +27,7 @@ class PPMWindow : { public: PPMWindow(BRect area) : - BWindow(area, "PPM Settings", B_TITLED_WINDOW, + BWindow(area, B_TRANSLATE("PPM Settings"), B_TITLED_WINDOW, B_NOT_RESIZABLE | B_NOT_ZOOMABLE | B_AUTO_UPDATE_SIZE_LIMITS) { SetLayout(new BGroupLayout(B_HORIZONTAL)); @@ -43,7 +48,9 @@ main() BView * v = NULL; BRect r(0, 0, 1, 1); if (MakeConfig(NULL, &v, &r)) { - BAlert * err = new BAlert("Error", "Something is wrong with the PPMTranslator!", "OK"); + BAlert * err = new BAlert("Error", + B_TRANSLATE("Something is wrong with the PPMTranslator!"), + B_TRANSLATE("OK")); err->Go(); return 1; } diff --git a/src/add-ons/translators/ppm/PPMTranslator.cpp b/src/add-ons/translators/ppm/PPMTranslator.cpp index 46f405fc39..0b657c56e7 100644 --- a/src/add-ons/translators/ppm/PPMTranslator.cpp +++ b/src/add-ons/translators/ppm/PPMTranslator.cpp @@ -8,32 +8,36 @@ /* does not buffer data. We should wrap a buffering thing around */ /* the input or output when they are in ASCII mode. */ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include -#include +#include +#include +#include +#include #include #include #include +#include +#include +#include +#include +#include +#include +#include #include +#include +#include +#include #include #include #include #include +#include #include "colorspace.h" +#undef B_TRANSLATE_CONTEXT +#define B_TRANSLATE_CONTEXT "PPMTranslator" #if DEBUG #define dprintf(x) printf x @@ -43,10 +47,10 @@ #if !defined(_PR3_COMPATIBLE_) /* R4 headers? Else we need to define these constants. */ - #define B_CMY24 ((color_space)0xC001) /* C[7:0] M[7:0] Y[7:0] No gray removal done */ - #define B_CMY32 ((color_space)0xC002) /* C[7:0] M[7:0] Y[7:0] X[7:0] No gray removal done */ - #define B_CMYA32 ((color_space)0xE002) /* C[7:0] M[7:0] Y[7:0] A[7:0] No gray removal done */ - #define B_CMYK32 ((color_space)0xC003) /* C[7:0] M[7:0] Y[7:0] K[7:0] */ + #define B_CMY24 ((color_space)0xC001) /* C[7:0] M[7:0] Y[7:0] No gray removal done */ + #define B_CMY32 ((color_space)0xC002) /* C[7:0] M[7:0] Y[7:0] X[7:0] No gray removal done */ + #define B_CMYA32 ((color_space)0xE002) /* C[7:0] M[7:0] Y[7:0] A[7:0] No gray removal done */ + #define B_CMYK32 ((color_space)0xC003) /* C[7:0] M[7:0] Y[7:0] K[7:0] */ #endif #define PPM_TRANSLATOR_VERSION 0x100 @@ -59,7 +63,7 @@ int32 translatorVersion = PPM_TRANSLATOR_VERSION; // Minor: next 4 bits // Major: highest 24 bits -/* Be reserves all codes with non-lowecase letters in them. */ +/* Be reserves all codes with non-lowercase letters in them. */ /* Luckily, there is already a reserved code for PPM. If you */ /* make up your own for a new type, use lower-case letters. */ #define PPM_TYPE 'PPM ' @@ -150,7 +154,8 @@ public: continue; } if (sscanf(ptr, "%31[a-zA-Z_0-9] =", name) != 1) { - fprintf(stderr, "unknown PPMTranslator settings line: %s", line); + syslog(LOG_ERR, "unknown PPMTranslator " + "settings line: %s", line); } else { if (!strcmp(name, "color_space")) { @@ -158,8 +163,10 @@ public: ptr++; } ptr++; - if (sscanf(ptr, "%d", (int*)&g_settings.out_space) != 1) { - fprintf(stderr, "illegal color space in PPMTranslator settings: %s", ptr); + if (sscanf(ptr, "%d", + (int*)&g_settings.out_space) != 1) { + syslog(LOG_ERR, "illegal color space " + "in PPMTranslator settings: %s", ptr); } } else if (!strcmp(name, "window_pos")) { @@ -167,8 +174,11 @@ public: ptr++; } ptr++; - if (sscanf(ptr, "%f,%f", &g_settings.window_pos.x, &g_settings.window_pos.y) != 2) { - fprintf(stderr, "illegal window position in PPMTranslator settings: %s", ptr); + if (sscanf(ptr, "%f,%f", + &g_settings.window_pos.x, + &g_settings.window_pos.y) != 2) { + syslog(LOG_ERR, "illegal window position " + "in PPMTranslator settings: %s", ptr); } } else if (!strcmp(name, "write_ascii")) { @@ -178,14 +188,16 @@ public: ptr++; int ascii = g_settings.write_ascii; if (sscanf(ptr, "%d", &ascii) != 1) { - fprintf(stderr, "illegal write_ascii value in PPMTranslator settings: %s", ptr); + syslog(LOG_ERR, "illegal write_ascii value " + "in PPMTranslator settings: %s", ptr); } else { g_settings.write_ascii = ascii; } } else { - fprintf(stderr, "unknown PPMTranslator setting: %s", line); + syslog(LOG_ERR, + "unknown PPMTranslator setting: %s", line); } } } @@ -208,7 +220,8 @@ public: static_cast((translatorVersion >> 4) & 0xf), static_cast(translatorVersion & 0xf)); fprintf(f, "color_space = %d\n", g_settings.out_space); - fprintf(f, "window_pos = %g,%g\n", g_settings.window_pos.x, g_settings.window_pos.y); + fprintf(f, "window_pos = %g,%g\n", g_settings.window_pos.x, + g_settings.window_pos.y); fprintf(f, "write_ascii = %d\n", g_settings.write_ascii ? 1 : 0); fclose(f); } @@ -267,14 +280,14 @@ Identify( /* required */ outInfo->type = PPM_TYPE; outInfo->quality = 0.3; /* no alpha, etc */ outInfo->capability = 0.8; /* we're pretty good at PPM reading, though */ - strcpy(outInfo->name, "PPM image"); + strcpy(outInfo->name, B_TRANSLATE("PPM image")); strcpy(outInfo->MIME, "image/x-portable-pixmap"); } else { outInfo->type = B_TRANSLATOR_BITMAP; outInfo->quality = 0.4; /* B_TRANSLATOR_BITMAP can do alpha, at least */ outInfo->capability = 0.8; /* and we might not know many variations thereof */ - strcpy(outInfo->name, "Be Bitmap Format (PPMTranslator)"); + strcpy(outInfo->name, B_TRANSLATE("Be Bitmap Format (PPMTranslator)")); strcpy(outInfo->MIME, "image/x-be-bitmap"); /* this is the MIME type of B_TRANSLATOR_BITMAP */ } return B_OK; @@ -442,46 +455,66 @@ public: SetViewColor(ui_color(B_PANEL_BACKGROUND_COLOR)); SetLowColor(ViewColor()); - mTitle = new BStringView("title", "PPM Image Translator"); + mTitle = new BStringView("title", + B_TRANSLATE("PPM Image Translator")); mTitle->SetFont(be_bold_font); char detail[100]; int ver = static_cast(translatorVersion); - sprintf(detail, "Version %d.%d.%d %s", ver >> 8, ((ver >> 4) & 0xf), + sprintf(detail, B_TRANSLATE("Version %d.%d.%d %s"), ver >> 8, + ((ver >> 4) & 0xf), (ver & 0xf), __DATE__); mDetail = new BStringView("detail", detail); mBasedOn = new BStringView("basedOn", - "Based on PPMTranslator sample code"); + B_TRANSLATE("Based on PPMTranslator sample code")); mCopyright = new BStringView("copyright", - "Sample code copyright 1999, Be Incorporated"); + B_TRANSLATE("Sample code copyright 1999, Be Incorporated")); mMenu = new BPopUpMenu("Color Space"); - mMenu->AddItem(new BMenuItem("None", CSMessage(B_NO_COLOR_SPACE))); - mMenu->AddItem(new BMenuItem("RGB 8:8:8 32 bits", CSMessage(B_RGB32))); - mMenu->AddItem(new BMenuItem("RGBA 8:8:8:8 32 bits", CSMessage(B_RGBA32))); - mMenu->AddItem(new BMenuItem("RGB 5:5:5 16 bits", CSMessage(B_RGB15))); - mMenu->AddItem(new BMenuItem("RGBA 5:5:5:1 16 bits", CSMessage(B_RGBA15))); - mMenu->AddItem(new BMenuItem("RGB 5:6:5 16 bits", CSMessage(B_RGB16))); - mMenu->AddItem(new BMenuItem("System palette 8 bits", CSMessage(B_CMAP8))); + mMenu->AddItem(new BMenuItem(B_TRANSLATE("None"), + CSMessage(B_NO_COLOR_SPACE))); + mMenu->AddItem(new BMenuItem(B_TRANSLATE("RGB 8:8:8 32 bits"), + CSMessage(B_RGB32))); + mMenu->AddItem(new BMenuItem(B_TRANSLATE("RGBA 8:8:8:8 32 " + "bits"), CSMessage(B_RGBA32))); + mMenu->AddItem(new BMenuItem(B_TRANSLATE("RGB 5:5:5 16 bits"), + CSMessage(B_RGB15))); + mMenu->AddItem(new BMenuItem(B_TRANSLATE("RGBA 5:5:5:1 16 " + "bits"), CSMessage(B_RGBA15))); + mMenu->AddItem(new BMenuItem(B_TRANSLATE("RGB 5:6:5 16 bits"), + CSMessage(B_RGB16))); + mMenu->AddItem(new BMenuItem(B_TRANSLATE("System palette 8 " + "bits"), CSMessage(B_CMAP8))); mMenu->AddSeparatorItem(); - mMenu->AddItem(new BMenuItem("Grayscale 8 bits", CSMessage(B_GRAY8))); - mMenu->AddItem(new BMenuItem("Bitmap 1 bit", CSMessage(B_GRAY1))); - mMenu->AddItem(new BMenuItem("CMY 8:8:8 32 bits", CSMessage(B_CMY32))); - mMenu->AddItem(new BMenuItem("CMYA 8:8:8:8 32 bits", CSMessage(B_CMYA32))); - mMenu->AddItem(new BMenuItem("CMYK 8:8:8:8 32 bits", CSMessage(B_CMYK32))); + mMenu->AddItem(new BMenuItem(B_TRANSLATE("Grayscale 8 bits"), + CSMessage(B_GRAY8))); + mMenu->AddItem(new BMenuItem(B_TRANSLATE("Bitmap 1 bit"), + CSMessage(B_GRAY1))); + mMenu->AddItem(new BMenuItem(B_TRANSLATE("CMY 8:8:8 32 bits"), + CSMessage(B_CMY32))); + mMenu->AddItem(new BMenuItem(B_TRANSLATE("CMYA 8:8:8:8 32 " + "bits"), CSMessage(B_CMYA32))); + mMenu->AddItem(new BMenuItem(B_TRANSLATE("CMYK 8:8:8:8 32 " + "bits"), CSMessage(B_CMYK32))); mMenu->AddSeparatorItem(); - mMenu->AddItem(new BMenuItem("RGB 8:8:8 32 bits big-endian", CSMessage(B_RGB32_BIG))); - mMenu->AddItem(new BMenuItem("RGBA 8:8:8:8 32 bits big-endian", CSMessage(B_RGBA32_BIG))); - mMenu->AddItem(new BMenuItem("RGB 5:5:5 16 bits big-endian", CSMessage(B_RGB15_BIG))); - mMenu->AddItem(new BMenuItem("RGBA 5:5:5:1 16 bits big-endian", CSMessage(B_RGBA15_BIG))); - mMenu->AddItem(new BMenuItem("RGB 5:6:5 16 bits big-endian", CSMessage(B_RGB16))); - mField = new BMenuField("Input Color Space", mMenu, NULL); + mMenu->AddItem(new BMenuItem(B_TRANSLATE("RGB 8:8:8 32 bits " + "big-endian"), CSMessage(B_RGB32_BIG))); + mMenu->AddItem(new BMenuItem(B_TRANSLATE("RGBA 8:8:8:8 32 " + "bits big-endian"), CSMessage(B_RGBA32_BIG))); + mMenu->AddItem(new BMenuItem(B_TRANSLATE("RGB 5:5:5 16 bits " + "big-endian"), CSMessage(B_RGB15_BIG))); + mMenu->AddItem(new BMenuItem(B_TRANSLATE("RGBA 5:5:5:1 16 " + "bits big-endian"), CSMessage(B_RGBA15_BIG))); + mMenu->AddItem(new BMenuItem(B_TRANSLATE("RGB 5:6:5 16 bits " + "big-endian"), CSMessage(B_RGB16))); + mField = new BMenuField(B_TRANSLATE("Input Color Space"), + mMenu, NULL); mField->SetViewColor(ViewColor()); SelectColorSpace(g_settings.out_space); BMessage * msg = new BMessage(CHANGE_ASCII); - mAscii = new BCheckBox("Write ASCII", msg); + mAscii = new BCheckBox(B_TRANSLATE("Write ASCII"), msg); if (g_settings.write_ascii) mAscii->SetValue(1); mAscii->SetViewColor(ViewColor()); @@ -616,7 +649,8 @@ MakeConfig( /* optional */ BView * * outView, BRect * outExtent) { - PPMView * v = new PPMView("PPMTranslator Settings", B_WILL_DRAW); + PPMView * v = new PPMView(B_TRANSLATE("PPMTranslator Settings"), + B_WILL_DRAW); *outView = v; v->ResizeTo(v->ExplicitPreferredSize());; *outExtent = v->Bounds(); @@ -639,7 +673,7 @@ GetConfigMessage( /* optional */ #if defined(_PR3_COMPATIBLE_) const char * name = B_TRANSLATOR_EXT_BITMAP_COLOR_SPACE; #else - const char * name = "bits/space"; + const char * name = B_TRANSLATE_MARK("bits/space"); #endif g_settings_lock.Lock(); (void)ioExtension->RemoveName(name); diff --git a/src/add-ons/translators/ppm/PPMTranslator.rdef b/src/add-ons/translators/ppm/PPMTranslator.rdef new file mode 100644 index 0000000000..f33797a57a --- /dev/null +++ b/src/add-ons/translators/ppm/PPMTranslator.rdef @@ -0,0 +1,15 @@ +/* + * PPMTranslator.rdef + */ + +resource app_signature "application/x-vnd.Haiku-PPMTranslator"; + +resource app_version { + major = 1, + middle = 0, + minor = 0, + variety = 0, + internal = 0, + short_info = "1.0.0", + long_info = "Haiku PPMTranslator Add-Ons." +}; diff --git a/src/add-ons/translators/raw/ConfigView.cpp b/src/add-ons/translators/raw/ConfigView.cpp index e1428b4222..4044fa511d 100644 --- a/src/add-ons/translators/raw/ConfigView.cpp +++ b/src/add-ons/translators/raw/ConfigView.cpp @@ -8,25 +8,31 @@ #include "ConfigView.h" #include "RAWTranslator.h" -#include +#include #include #include #include +#include #include #include +#undef B_TRANSLATE_CONTEXT +#define B_TRANSLATE_CONTEXT "ConfigView" + +const char* kShortName2 = B_TRANSLATE_MARK("RAWTranslator Settings"); + ConfigView::ConfigView(uint32 flags) - : BView("RAWTranslator Settings", flags) + : BView(kShortName2, flags) { SetViewColor(ui_color(B_PANEL_BACKGROUND_COLOR)); - BStringView *fTitle = new BStringView("title", "RAW Images"); + BStringView *fTitle = new BStringView("title", B_TRANSLATE("RAW Images")); fTitle->SetFont(be_bold_font); char version[256]; - sprintf(version, "Version %d.%d.%d, %s", + sprintf(version, B_TRANSLATE("Version %d.%d.%d, %s"), int(B_TRANSLATION_MAJOR_VERSION(RAW_TRANSLATOR_VERSION)), int(B_TRANSLATION_MINOR_VERSION(RAW_TRANSLATOR_VERSION)), int(B_TRANSLATION_REVISION_VERSION(RAW_TRANSLATOR_VERSION)), @@ -37,7 +43,7 @@ ConfigView::ConfigView(uint32 flags) B_UTF8_COPYRIGHT "2007-2009 Haiku Inc."); BStringView *fCopyright2 = new BStringView("copyright2", - "Based on Dave Coffin's dcraw 8.63"); + B_TRANSLATE("Based on Dave Coffin's dcraw 8.63")); BStringView *fCopyright3 = new BStringView("copyright3", B_UTF8_COPYRIGHT "1997-2007 Dave Coffin"); diff --git a/src/add-ons/translators/raw/Jamfile b/src/add-ons/translators/raw/Jamfile index 5a2ca12890..d922c7842f 100644 --- a/src/add-ons/translators/raw/Jamfile +++ b/src/add-ons/translators/raw/Jamfile @@ -4,17 +4,28 @@ SetSubDirSupportedPlatformsBeOSCompatible ; SubDirHdrs [ FDirName $(SUBDIR) $(DOTDOT) shared ] ; +AddResources RAWTranslator : RAWTranslator.rdef ; + Translator RAWTranslator : # RawTranslator classes main.cpp RAWTranslator.cpp ConfigView.cpp RAW.cpp - : be translation libtranslatorsutils.a $(TARGET_LIBSUPC++) + : be locale translation libtranslatorsutils.a +$(TARGET_LIBSUPC++) $(HAIKU_LOCALE_LIBS) $(HAIKU_LOCALE_LIBS) : true ; +DoCatalogs RAWTranslator : + x-vnd.Haiku-RAWTranslator + : + RAWTranslator.cpp + ConfigView.cpp + main.cpp +; + Package haiku-translationkit-cvs : RAWTranslator : boot home config add-ons Translators diff --git a/src/add-ons/translators/raw/RAWTranslator.cpp b/src/add-ons/translators/raw/RAWTranslator.cpp index d5eeebb5c5..e9a030a60f 100644 --- a/src/add-ons/translators/raw/RAWTranslator.cpp +++ b/src/add-ons/translators/raw/RAWTranslator.cpp @@ -8,6 +8,7 @@ #include "ConfigView.h" #include "RAW.h" +#include #include #include #include @@ -16,6 +17,9 @@ #include #include +#undef B_TRANSLATE_CONTEXT +#define B_TRANSLATE_CONTEXT "RAWTranslator" + class FreeAllocation { public: @@ -45,6 +49,7 @@ const char* kDocumentIndex = "/documentIndex"; const char* kProgressMonitor = "/progressMonitor"; const char* kProgressMessage = "/progressMessage"; + // The input formats that this translator supports. static const translation_format sInputFormats[] = { { @@ -87,12 +92,15 @@ const uint32 kNumInputFormats = sizeof(sInputFormats) / sizeof(translation_forma const uint32 kNumOutputFormats = sizeof(sOutputFormats) / sizeof(translation_format); const uint32 kNumDefaultSettings = sizeof(sDefaultSettings) / sizeof(TranSetting); +const char* kShortName1 = B_TRANSLATE_MARK("RAW images"); +const char* kShortInfo1 = B_TRANSLATE_MARK("RAW image translator"); + // #pragma mark - RAWTranslator::RAWTranslator() - : BaseTranslator("RAW images", "RAW image translator", + : BaseTranslator(kShortName1, kShortInfo1, RAW_TRANSLATOR_VERSION, sInputFormats, kNumInputFormats, sOutputFormats, kNumOutputFormats, @@ -156,7 +164,9 @@ RAWTranslator::DerivedIdentify(BPositionIO *stream, info->group = B_TRANSLATOR_BITMAP; info->quality = RAW_IN_QUALITY; info->capability = RAW_IN_CAPABILITY; - snprintf(info->name, sizeof(info->name), "%s RAW image", meta.manufacturer); + snprintf(info->name, sizeof(info->name), + B_TRANSLATE_COMMENT("%s RAW image", "Parameter (%s) is the name of " + "the manufacturer (like \"Canon\")"), meta.manufacturer); strcpy(info->MIME, "image/x-vnd.photo-raw"); return B_OK; diff --git a/src/add-ons/translators/raw/RAWTranslator.h b/src/add-ons/translators/raw/RAWTranslator.h index bd95f52aba..1cc88ff7d8 100644 --- a/src/add-ons/translators/raw/RAWTranslator.h +++ b/src/add-ons/translators/raw/RAWTranslator.h @@ -8,14 +8,14 @@ #include "BaseTranslator.h" -#include -#include -#include -#include -#include +#include #include #include -#include +#include +#include +#include +#include +#include #define RAW_TRANSLATOR_VERSION B_TRANSLATION_MAKE_VERSION(0, 5, 0) diff --git a/src/add-ons/translators/raw/RAWTranslator.rdef b/src/add-ons/translators/raw/RAWTranslator.rdef new file mode 100644 index 0000000000..95948583be --- /dev/null +++ b/src/add-ons/translators/raw/RAWTranslator.rdef @@ -0,0 +1,15 @@ +/* + * RAWTranslator.rdef + */ + +resource app_signature "application/x-vnd.Haiku-RAWTranslator"; + +resource app_version { + major = 0, + middle = 5, + minor = 0, + variety = 0, + internal = 0, + short_info = "0.5.0", + long_info = "Haiku RAWTranslator Add-Ons." +}; diff --git a/src/add-ons/translators/raw/main.cpp b/src/add-ons/translators/raw/main.cpp index f6ed9aa336..e0b47704f2 100644 --- a/src/add-ons/translators/raw/main.cpp +++ b/src/add-ons/translators/raw/main.cpp @@ -9,6 +9,7 @@ #include "TranslatorWindow.h" #include +#include #define TEST_MODE 0 #define SHOW_MODE 1 @@ -24,6 +25,8 @@ #include #include +#undef B_TRANSLATE_CONTEXT +#define B_TRANSLATE_CONTEXT "RAWTranslator main" int main(int argc, char **argv) @@ -63,11 +66,10 @@ main(int argc, char **argv) printf("software: %s\n", meta.software); printf("flash used: %g\n", meta.flash_used); printf("ISO speed: %g\n", meta.iso_speed); - printf("shutter: "); if (meta.shutter >= 1) - printf("%g sec\n", meta.shutter); + printf("shutter: %g sec\n", meta.shutter); else - printf("1/%g sec\n", 1 / meta.shutter); + printf("shutter: 1/%g sec\n", 1 / meta.shutter); printf("aperture: %g\n", meta.aperture); printf("focal length: %g mm\n", meta.focal_length); printf("pixel aspect: %g\n", meta.pixel_aspect); @@ -116,8 +118,9 @@ main(int argc, char **argv) status = output.DetachBitmap(&bitmap); if (status == B_OK) { BWindow* window = new BWindow(BRect(0, 0, 1, 1), - "RAW", B_TITLED_WINDOW, B_ASYNCHRONOUS_CONTROLS - | B_NOT_RESIZABLE | B_AUTO_UPDATE_SIZE_LIMITS); + B_TRANSLATE("RAW"), B_TITLED_WINDOW, + B_ASYNCHRONOUS_CONTROLS | B_NOT_RESIZABLE | + B_AUTO_UPDATE_SIZE_LIMITS); BView* view = new BView(window->Bounds(), NULL, B_WILL_DRAW, B_FOLLOW_NONE); window->AddChild(view); @@ -140,7 +143,8 @@ main(int argc, char **argv) } #endif - status_t status = LaunchTranslatorWindow(new RAWTranslator, "RAW Settings"); + status_t status = LaunchTranslatorWindow(new RAWTranslator, + B_TRANSLATE("RAW Settings")); if (status != B_OK) return 1; diff --git a/src/add-ons/translators/rtf/ConfigView.cpp b/src/add-ons/translators/rtf/ConfigView.cpp index 205c05a929..a2bd034fe3 100644 --- a/src/add-ons/translators/rtf/ConfigView.cpp +++ b/src/add-ons/translators/rtf/ConfigView.cpp @@ -7,13 +7,17 @@ #include "ConfigView.h" #include "RTFTranslator.h" +#include #include #include +#undef B_TRANSLATE_CONTEXT +#define B_TRANSLATE_CONTEXT "ConfigView" + ConfigView::ConfigView(const BRect &frame, uint32 resize, uint32 flags) - : BView(frame, "RTF-Translator Settings", resize, flags) + : BView(frame, B_TRANSLATE("RTF-Translator Settings"), resize, flags) { SetViewColor(ui_color(B_PANEL_BACKGROUND_COLOR)); @@ -22,7 +26,8 @@ ConfigView::ConfigView(const BRect &frame, uint32 resize, uint32 flags) float height = fontHeight.descent + fontHeight.ascent + fontHeight.leading; BRect rect(10, 10, 200, 10 + height); - BStringView *stringView = new BStringView(rect, "title", "Rich Text Format (RTF) files"); + BStringView *stringView = new BStringView(rect, "title", + B_TRANSLATE("Rich Text Format (RTF) files")); stringView->SetFont(be_bold_font); stringView->ResizeToPreferred(); AddChild(stringView); @@ -31,11 +36,11 @@ ConfigView::ConfigView(const BRect &frame, uint32 resize, uint32 flags) rect.OffsetBy(0, height + 10); char version[256]; - snprintf(version, sizeof(version), "Version %d.%d.%d, %s", - int(B_TRANSLATION_MAJOR_VERSION(RTF_TRANSLATOR_VERSION)), - int(B_TRANSLATION_MINOR_VERSION(RTF_TRANSLATOR_VERSION)), - int(B_TRANSLATION_REVISION_VERSION(RTF_TRANSLATOR_VERSION)), - __DATE__); + snprintf(version, sizeof(version), B_TRANSLATE("Version %d.%d.%d, %s"), + static_cast(B_TRANSLATION_MAJOR_VERSION(RTF_TRANSLATOR_VERSION)), + static_cast(B_TRANSLATION_MINOR_VERSION(RTF_TRANSLATOR_VERSION)), + static_cast(B_TRANSLATION_REVISION_VERSION( + RTF_TRANSLATOR_VERSION)), __DATE__); stringView = new BStringView(rect, "version", version); stringView->ResizeToPreferred(); AddChild(stringView); @@ -47,7 +52,8 @@ ConfigView::ConfigView(const BRect &frame, uint32 resize, uint32 flags) height = fontHeight.descent + fontHeight.ascent + fontHeight.leading; rect.OffsetBy(0, height + 5); - stringView = new BStringView(rect, "Copyright", B_UTF8_COPYRIGHT "2004-2006 Haiku Inc."); + stringView = new BStringView(rect, + "Copyright", B_UTF8_COPYRIGHT "2004-2006 Haiku Inc."); stringView->ResizeToPreferred(); AddChild(stringView); diff --git a/src/add-ons/translators/rtf/Jamfile b/src/add-ons/translators/rtf/Jamfile index 481a1b97b1..9f93a38a5a 100644 --- a/src/add-ons/translators/rtf/Jamfile +++ b/src/add-ons/translators/rtf/Jamfile @@ -8,6 +8,8 @@ SubDirHdrs [ FDirName $(SUBDIR) $(DOTDOT) shared ] ; UsePrivateHeaders shared storage ; +AddResources RTF-Translator : RTFTranslator.rdef ; + Translator RTF-Translator : main.cpp ConfigView.cpp @@ -16,7 +18,16 @@ Translator RTF-Translator : RTF.cpp RTFTranslator.cpp - : be translation libtranslatorsutils.a $(TARGET_LIBSUPC++) + : be translation libtranslatorsutils.a $(TARGET_LIBSUPC++) +$(HAIKU_LOCALE_LIBS) $(HAIKU_LOCALE_LIBS) : true ; + +DoCatalogs RTF-Translator : + x-vnd.Haiku-RTFTranslator + : + main.cpp + RTFTranslator.cpp + ConfigView.cpp +; diff --git a/src/add-ons/translators/rtf/RTFTranslator.cpp b/src/add-ons/translators/rtf/RTFTranslator.cpp index 471c4df037..e209cc95ac 100644 --- a/src/add-ons/translators/rtf/RTFTranslator.cpp +++ b/src/add-ons/translators/rtf/RTFTranslator.cpp @@ -9,10 +9,13 @@ #include "RTF.h" #include "convert.h" +#include #include #include #include +#undef B_TRANSLATE_CONTEXT +#define B_TRANSLATE_CONTEXT "RTFTranslator" #define READ_BUFFER_SIZE 2048 #define DATA_BUFFER_SIZE 64 @@ -54,10 +57,11 @@ static const translation_format sOutputFormats[] = { RTFTranslator::RTFTranslator() { char info[256]; - sprintf(info, "Rich Text Format translator v%d.%d.%d %s", - int(B_TRANSLATION_MAJOR_VERSION(RTF_TRANSLATOR_VERSION)), - int(B_TRANSLATION_MINOR_VERSION(RTF_TRANSLATOR_VERSION)), - int(B_TRANSLATION_REVISION_VERSION(RTF_TRANSLATOR_VERSION)), + sprintf(info, B_TRANSLATE("Rich Text Format translator v%d.%d.%d %s"), + static_cast(B_TRANSLATION_MAJOR_VERSION(RTF_TRANSLATOR_VERSION)), + static_cast(B_TRANSLATION_MINOR_VERSION(RTF_TRANSLATOR_VERSION)), + static_cast(B_TRANSLATION_REVISION_VERSION( + RTF_TRANSLATOR_VERSION)), __DATE__); fInfo = strdup(info); @@ -73,14 +77,14 @@ RTFTranslator::~RTFTranslator() const char * RTFTranslator::TranslatorName() const { - return "RTF text files"; + return B_TRANSLATE("RTF text files"); } const char * RTFTranslator::TranslatorInfo() const { - return "Rich Text Format Translator"; + return B_TRANSLATE("Rich Text Format Translator"); } @@ -131,7 +135,7 @@ RTFTranslator::Identify(BPositionIO *stream, info->group = B_TRANSLATOR_TEXT; info->quality = RTF_IN_QUALITY; info->capability = RTF_IN_CAPABILITY; - strcpy(info->name, "RichTextFormat file"); + strcpy(info->name, B_TRANSLATE("RichTextFormat file")); strcpy(info->MIME, "text/rtf"); return B_OK; @@ -168,7 +172,8 @@ RTFTranslator::Translate(BPositionIO *source, status_t -RTFTranslator::MakeConfigurationView(BMessage *ioExtension, BView **_view, BRect *_extent) +RTFTranslator::MakeConfigurationView(BMessage *ioExtension, BView **_view, + BRect *_extent) { if (_view == NULL || _extent == NULL) return B_BAD_VALUE; diff --git a/src/add-ons/translators/rtf/RTFTranslator.rdef b/src/add-ons/translators/rtf/RTFTranslator.rdef new file mode 100644 index 0000000000..cb3883760d --- /dev/null +++ b/src/add-ons/translators/rtf/RTFTranslator.rdef @@ -0,0 +1,15 @@ +/* + * RTFTranslator.rdef + */ + +resource app_signature "application/x-vnd.Haiku-RTFTranslator"; + +resource app_version { + major = 0, + middle = 6, + minor = 0, + variety = 0, + internal = 0, + short_info = "0.6.0", + long_info = "Haiku RTFTranslator Add-Ons." +}; diff --git a/src/add-ons/translators/rtf/main.cpp b/src/add-ons/translators/rtf/main.cpp index 7e452c2d5d..29a571cb85 100644 --- a/src/add-ons/translators/rtf/main.cpp +++ b/src/add-ons/translators/rtf/main.cpp @@ -6,8 +6,10 @@ #include #include +#include #include +#include #include #include @@ -17,6 +19,9 @@ #include "RTF.h" #include "RTFTranslator.h" +#undef B_TRANSLATE_CONTEXT +#define B_TRANSLATE_CONTEXT "main" + int main(int argc, char** argv) @@ -30,8 +35,9 @@ main(int argc, char** argv) BFile input; status_t status = input.SetTo(argv[i], B_READ_ONLY); if (status != B_OK) { - fprintf(stderr, "Could not open file \"%s\": %s\n", argv[i], - strerror(status)); + syslog(LOG_ERR, + "RTFTranslator:Could not open file \"%s\": %s\n", + argv[i], strerror(status)); result = 1; continue; } @@ -41,8 +47,9 @@ main(int argc, char** argv) status = parser.Parse(header); if (status != B_OK) { - fprintf(stderr, "Could not convert file \"%s\": %s\n", argv[i], - strerror(status)); + syslog(LOG_ERR, + "RTFTranslator:Could not convert file \"%s\": %s\n", + argv[i], strerror(status)); result = 1; continue; } @@ -56,8 +63,8 @@ main(int argc, char** argv) BApplication app("application/x-vnd.Haiku-RTFTranslator"); status_t result; - result = LaunchTranslatorWindow(new RTFTranslator, "RTF Settings", - BRect(0, 0, 225, 175)); + result = LaunchTranslatorWindow(new RTFTranslator, + B_TRANSLATE("RTF Settings"), BRect(0, 0, 225, 175)); if (result != B_OK) return 1; diff --git a/src/add-ons/translators/sgi/Jamfile b/src/add-ons/translators/sgi/Jamfile index 9112c331c9..806223364b 100644 --- a/src/add-ons/translators/sgi/Jamfile +++ b/src/add-ons/translators/sgi/Jamfile @@ -4,17 +4,25 @@ SetSubDirSupportedPlatformsBeOSCompatible ; SubDirHdrs [ FDirName $(SUBDIR) $(DOTDOT) shared ] ; +AddResources SGITranslator : SGITranslator.rdef ; + Translator SGITranslator : SGIImage.cpp SGIMain.cpp SGITranslator.cpp SGIView.cpp - - : be translation libtranslatorsutils.a $(TARGET_LIBSUPC++) - $(HAIKU_LOCALE_LIBS) + : be translation libtranslatorsutils.a $(TARGET_LIBSUPC++) $(HAIKU_LOCALE_LIBS) : true ; +DoCatalogs SGITranslator : + x-vnd.Haiku-SGITranslator + : + SGIMain.cpp + SGITranslator.cpp + SGIView.cpp +; + Package haiku-translationkit-cvs : SGITranslator : boot home config add-ons Translators ; diff --git a/src/add-ons/translators/sgi/SGIMain.cpp b/src/add-ons/translators/sgi/SGIMain.cpp index 093e034782..4685d036b9 100644 --- a/src/add-ons/translators/sgi/SGIMain.cpp +++ b/src/add-ons/translators/sgi/SGIMain.cpp @@ -35,9 +35,13 @@ /*****************************************************************************/ #include +#include #include "SGITranslator.h" #include "TranslatorWindow.h" +#undef B_TRANSLATE_CONTEXT +#define B_TRANSLATE_CONTEXT "SGIMain" + // --------------------------------------------------------------- // main // @@ -57,7 +61,7 @@ main() BApplication app("application/x-vnd.Haiku-SGITranslator"); status_t result; result = LaunchTranslatorWindow(new SGITranslator, - "SGI Settings", BRect(0, 0, 225, 175)); + B_TRANSLATE("SGI Settings"), BRect(0, 0, 225, 175)); if (result == B_OK) { app.Run(); return 0; diff --git a/src/add-ons/translators/sgi/SGITranslator.cpp b/src/add-ons/translators/sgi/SGITranslator.cpp index 7d82541ce9..1e5c5e3da3 100644 --- a/src/add-ons/translators/sgi/SGITranslator.cpp +++ b/src/add-ons/translators/sgi/SGITranslator.cpp @@ -43,7 +43,9 @@ #include #include #include +#include +#include #include #include "SGIImage.h" @@ -52,6 +54,10 @@ using std::nothrow; +#undef B_TRANSLATE_CONTEXT +#define B_TRANSLATE_CONTEXT "SGITranslator" + + // The input formats that this translator supports. static const translation_format sInputFormats[] = { { @@ -152,7 +158,8 @@ make_nth_translator(int32 n, image_id you, uint32 flags, ...) // --------------------------------------------------------------- SGITranslator::SGITranslator() : - BaseTranslator("SGI images", "SGI image translator", + BaseTranslator(B_TRANSLATE("SGI images"), + B_TRANSLATE("SGI image translator"), SGI_TRANSLATOR_VERSION, sInputFormats, kNumInputFormats, sOutputFormats, kNumOutputFormats, @@ -196,7 +203,7 @@ identify_sgi_header(BPositionIO *inSource, translator_info *outInfo, uint32 outT outInfo->quality = SGI_IN_QUALITY; outInfo->capability = SGI_IN_CAPABILITY; strcpy(outInfo->MIME, "image/sgi"); - strcpy(outInfo->name, "SGI image"); + strcpy(outInfo->name, B_TRANSLATE("SGI image")); } } else { delete sgiImage; @@ -412,7 +419,8 @@ SGITranslator::translate_from_bits(BPositionIO *inSource, uint32 outType, for (uint32 z = 0; z < channelCount; z++) { ret = sgiImage->WriteRow(rows[z], y, z); if (ret < B_OK) { -printf("WriteRow() returned %s!\n", strerror(ret)); + syslog(LOG_ERR, + "WriteRow() returned %s!\n"), strerror(ret); break; } } @@ -498,10 +506,11 @@ SGITranslator::translate_from_sgi(BPositionIO *inSource, uint32 outType, sizeof(TranslatorBitmap), B_SWAP_HOST_TO_BENDIAN)) < B_OK) { return ret; } else - ret = outDestination->Write(&bitsHeader, sizeof(TranslatorBitmap)); + ret = outDestination->Write(&bitsHeader, + sizeof(TranslatorBitmap)); } -if (ret < B_OK) -printf("error writing bits header: %s\n", strerror(ret)); + if (ret < B_OK) + syslog(LOG_ERR, "error writing bits header: %s\n", strerror(ret)); if (ret >= B_OK && !bheaderonly) { // read one row at a time, // convert to the correct format @@ -738,5 +747,6 @@ SGITranslator::DerivedTranslate(BPositionIO *inSource, BView * SGITranslator::NewConfigView(TranslatorSettings *settings) { - return new SGIView("SGITranslator Settings", B_WILL_DRAW, settings); + return new SGIView(B_TRANSLATE("SGITranslator Settings"), B_WILL_DRAW, + settings); } diff --git a/src/add-ons/translators/sgi/SGITranslator.rdef b/src/add-ons/translators/sgi/SGITranslator.rdef new file mode 100644 index 0000000000..d44e7bbfa3 --- /dev/null +++ b/src/add-ons/translators/sgi/SGITranslator.rdef @@ -0,0 +1,15 @@ +/* + * SGITranslator.rdef + */ + +resource app_signature "application/x-vnd.Haiku-SGITranslator"; + +resource app_version { + major = 1, + middle = 0, + minor = 0, + variety = 0, + internal = 0, + short_info = "1.0.0", + long_info = "Haiku SGITranslator Add-Ons." +}; diff --git a/src/add-ons/translators/sgi/SGIView.cpp b/src/add-ons/translators/sgi/SGIView.cpp index 70a635dc06..61635dba52 100644 --- a/src/add-ons/translators/sgi/SGIView.cpp +++ b/src/add-ons/translators/sgi/SGIView.cpp @@ -33,6 +33,7 @@ #include #include +#include #include #include #include @@ -49,6 +50,9 @@ const char* author = "Stephan Aßmus, "; +#undef B_TRANSLATE_CONTEXT +#define B_TRANSLATE_CONTEXT "SGIView" + // add_menu_item void add_menu_item(BMenu* menu, @@ -83,11 +87,13 @@ SGIView::SGIView(const char* name, uint32 flags, TranslatorSettings* settings) { BPopUpMenu* menu = new BPopUpMenu("pick compression"); - uint32 currentCompression = fSettings->SetGetInt32(SGI_SETTING_COMPRESSION); + uint32 currentCompression = + fSettings->SetGetInt32(SGI_SETTING_COMPRESSION); // create the menu items with the various compression methods - add_menu_item(menu, SGI_COMP_NONE, "None", currentCompression); + add_menu_item(menu, SGI_COMP_NONE, B_TRANSLATE("None"), + currentCompression); // menu->AddSeparatorItem(); - add_menu_item(menu, SGI_COMP_RLE, "RLE", currentCompression); + add_menu_item(menu, SGI_COMP_RLE, B_TRANSLATE("RLE"), currentCompression); // DON'T turn this on, it's so slow that I didn't wait long enough // the one time I tested this. So I don't know if the code even works. @@ -97,27 +103,29 @@ SGIView::SGIView(const char* name, uint32 flags, TranslatorSettings* settings) // add_menu_item(menu, SGI_COMP_ARLE, "Agressive RLE", currentCompression); - fCompressionMF = new BMenuField("compression", "Use compression:", menu); + fCompressionMF = new BMenuField("compression", + B_TRANSLATE("Use compression:"), menu); BAlignment labelAlignment(B_ALIGN_LEFT, B_ALIGN_NO_VERTICAL); - BStringView* titleView = new BStringView("title", "SGI image translator"); + BStringView* titleView = new BStringView("title", + B_TRANSLATE("SGI image translator")); titleView->SetFont(be_bold_font); titleView->SetExplicitAlignment(labelAlignment); char detail[100]; - sprintf(detail, "Version %d.%d.%d %s", + sprintf(detail, B_TRANSLATE("Version %d.%d.%d %s"), static_cast(B_TRANSLATION_MAJOR_VERSION(SGI_TRANSLATOR_VERSION)), static_cast(B_TRANSLATION_MINOR_VERSION(SGI_TRANSLATOR_VERSION)), - static_cast(B_TRANSLATION_REVISION_VERSION(SGI_TRANSLATOR_VERSION)), - __DATE__); + static_cast(B_TRANSLATION_REVISION_VERSION( + SGI_TRANSLATOR_VERSION)), __DATE__); BStringView* detailView = new BStringView("details", detail); detailView->SetExplicitAlignment(labelAlignment); BTextView* infoView = new BTextView("info"); - infoView->SetText(BString("written by:\n") + infoView->SetText(BString(B_TRANSLATE("written by:\n")) .Append(author) - .Append("\n\nbased on GIMP SGI plugin v1.5:\n") + .Append(B_TRANSLATE("\n\nbased on GIMP SGI plugin v1.5:\n")) .Append(kSGICopyright).String()); infoView->SetExplicitAlignment(labelAlignment); infoView->SetWordWrap(false); diff --git a/src/add-ons/translators/stxt/Jamfile b/src/add-ons/translators/stxt/Jamfile index 65abd4fdc3..46d521d885 100644 --- a/src/add-ons/translators/stxt/Jamfile +++ b/src/add-ons/translators/stxt/Jamfile @@ -8,6 +8,8 @@ UseHeaders [ FDirName $(HAIKU_TOP) src servers registrar ] ; SubDirHdrs [ FDirName $(SUBDIR) $(DOTDOT) shared ] ; +AddResources STXTTranslator : STXTTranslator.rdef ; + Translator STXTTranslator : STXTMain.cpp STXTTranslator.cpp @@ -17,6 +19,14 @@ Translator STXTTranslator : : true ; +DoCatalogs STXTTranslator : + x-vnd.Haiku-STXTTranslator + : + STXTMain.cpp + STXTTranslator.cpp + STXTView.cpp +; + #Package haiku-translationkit-cvs : # STXTTranslator : # boot home config add-ons Translators ; diff --git a/src/add-ons/translators/stxt/STXTMain.cpp b/src/add-ons/translators/stxt/STXTMain.cpp index 0e3b4f2ac3..34b54cab10 100644 --- a/src/add-ons/translators/stxt/STXTMain.cpp +++ b/src/add-ons/translators/stxt/STXTMain.cpp @@ -33,9 +33,13 @@ /*****************************************************************************/ #include +#include #include "STXTTranslator.h" #include "TranslatorWindow.h" +#undef B_TRANSLATE_CONTEXT +#define B_TRANSLATE_CONTEXT "STXTMain" + // --------------------------------------------------------------- // main // @@ -55,7 +59,7 @@ main() BApplication app("application/x-vnd.Haiku-STXTTranslator"); status_t result; result = LaunchTranslatorWindow(new STXTTranslator, - "STXT Settings", BRect(0, 0, 225, 175)); + B_TRANSLATE("STXT Settings"), BRect(0, 0, 225, 175)); if (result == B_OK) { app.Run(); return 0; diff --git a/src/add-ons/translators/stxt/STXTTranslator.cpp b/src/add-ons/translators/stxt/STXTTranslator.cpp index 6a2eed01fc..8b5884b3ec 100644 --- a/src/add-ons/translators/stxt/STXTTranslator.cpp +++ b/src/add-ons/translators/stxt/STXTTranslator.cpp @@ -11,6 +11,7 @@ #include "STXTTranslator.h" #include "STXTView.h" +#include #include #include #include @@ -27,6 +28,8 @@ using namespace BPrivate; using namespace std; +#undef B_TRANSLATE_CONTEXT +#define B_TRANSLATE_CONTEXT "STXTTranslator" #define READ_BUFFER_SIZE 32768 #define DATA_BUFFER_SIZE 256 @@ -857,7 +860,7 @@ identify_stxt_header(const TranslatorStyledTextStreamHeader &header, outInfo->group = B_TRANSLATOR_TEXT; outInfo->quality = STXT_IN_QUALITY; outInfo->capability = STXT_IN_CAPABILITY; - strcpy(outInfo->name, "Be styled text file"); + strcpy(outInfo->name, B_TRANSLATE("Be styled text file")); strcpy(outInfo->MIME, "text/x-vnd.Be-stxt"); return B_OK; @@ -904,7 +907,8 @@ identify_text(uint8* data, int32 bytesRead, BPositionIO* source, if (type.GetLongDescription(description) == B_OK) strlcpy(outInfo->name, description, sizeof(outInfo->name)); else - strlcpy(outInfo->name, "Plain text file", sizeof(outInfo->name)); + strlcpy(outInfo->name, B_TRANSLATE("Plain text file"), + sizeof(outInfo->name)); //strlcpy(outInfo->MIME, type.Type(), sizeof(outInfo->MIME)); strcpy(outInfo->MIME, "text/plain"); @@ -1333,7 +1337,8 @@ translate_from_text(BPositionIO* source, const char* encoding, bool forceEncodin STXTTranslator::STXTTranslator() - : BaseTranslator("StyledEdit files", "StyledEdit files translator", + : BaseTranslator(B_TRANSLATE("StyledEdit files"), + B_TRANSLATE("StyledEdit files translator"), STXT_TRANSLATOR_VERSION, sInputFormats, kNumInputFormats, sOutputFormats, kNumOutputFormats, @@ -1455,7 +1460,8 @@ STXTTranslator::Translate(BPositionIO* source, const translator_info* info, BView * STXTTranslator::NewConfigView(TranslatorSettings *settings) { - return new STXTView(BRect(0, 0, 225, 175), "STXTTranslator Settings", + return new STXTView(BRect(0, 0, 225, 175), + B_TRANSLATE("STXTTranslator Settings"), B_FOLLOW_ALL, B_WILL_DRAW, settings); } diff --git a/src/add-ons/translators/stxt/STXTTranslator.rdef b/src/add-ons/translators/stxt/STXTTranslator.rdef new file mode 100644 index 0000000000..eb4d693567 --- /dev/null +++ b/src/add-ons/translators/stxt/STXTTranslator.rdef @@ -0,0 +1,15 @@ +/* + * STXTTranslator.rdef + */ + +resource app_signature "application/x-vnd.Haiku-STXTTranslator"; + +resource app_version { + major = 1, + middle = 0, + minor = 0, + variety = 0, + internal = 0, + short_info = "1.0.0", + long_info = "Haiku STXTTranslator Add-Ons." +}; diff --git a/src/add-ons/translators/tga/Jamfile b/src/add-ons/translators/tga/Jamfile index 20dc0aaeaa..2a5c312768 100644 --- a/src/add-ons/translators/tga/Jamfile +++ b/src/add-ons/translators/tga/Jamfile @@ -4,15 +4,24 @@ SetSubDirSupportedPlatformsBeOSCompatible ; SubDirHdrs [ FDirName $(SUBDIR) $(DOTDOT) shared ] ; +AddResources TGATranslator : TGATranslator.rdef ; + Translator TGATranslator : TGAMain.cpp TGATranslator.cpp TGAView.cpp - : be translation libtranslatorsutils.a $(TARGET_LIBSUPC++) - $(HAIKU_LOCALE_LIBS) + : be translation libtranslatorsutils.a $(TARGET_LIBSUPC++) $(HAIKU_LOCALE_LIBS) : true ; +DoCatalogs TGATranslator : + x-vnd.Haiku-TGATranslator + : + TGAMain.cpp + TGATranslator.cpp + TGAView.cpp +; + Package haiku-translationkit-cvs : TGATranslator : boot home config add-ons Translators ; diff --git a/src/add-ons/translators/tga/TGAMain.cpp b/src/add-ons/translators/tga/TGAMain.cpp index 910faa9f64..48da8ba270 100644 --- a/src/add-ons/translators/tga/TGAMain.cpp +++ b/src/add-ons/translators/tga/TGAMain.cpp @@ -28,9 +28,14 @@ /*****************************************************************************/ #include +#include + #include "TGATranslator.h" #include "TranslatorWindow.h" +#undef B_TRANSLATE_CONTEXT +#define B_TRANSLATE_CONTEXT "TGAMain" + // --------------------------------------------------------------- // main // @@ -49,7 +54,8 @@ main() { BApplication app("application/x-vnd.Haiku-TGATranslator"); status_t result; - result = LaunchTranslatorWindow(new TGATranslator, "TGA Settings"); + result = LaunchTranslatorWindow(new TGATranslator, + B_TRANSLATE("TGA Settings")); if (result == B_OK) { app.Run(); return 0; diff --git a/src/add-ons/translators/tga/TGATranslator.cpp b/src/add-ons/translators/tga/TGATranslator.cpp index 6be49f747a..31ebe87035 100644 --- a/src/add-ons/translators/tga/TGATranslator.cpp +++ b/src/add-ons/translators/tga/TGATranslator.cpp @@ -30,10 +30,16 @@ #include #include + +#include + #include "TGATranslator.h" #include "TGAView.h" #include "StreamBuffer.h" +#undef B_TRANSLATE_CONTEXT +#define B_TRANSLATE_CONTEXT "TGATranslator" + // The input formats that this translator supports. static const translation_format sInputFormats[] = { { @@ -136,7 +142,8 @@ make_nth_translator(int32 n, image_id you, uint32 flags, ...) // Returns: // --------------------------------------------------------------- TGATranslator::TGATranslator() - : BaseTranslator("TGA images", "TGA image translator", + : BaseTranslator(B_TRANSLATE("TGA images"), + B_TRANSLATE("TGA image translator"), TGA_TRANSLATOR_VERSION, sInputFormats, kNumInputFormats, sOutputFormats, kNumOutputFormats, @@ -385,29 +392,40 @@ identify_tga_header(BPositionIO *inSource, translator_info *outInfo, outInfo->group = B_TRANSLATOR_BITMAP; outInfo->quality = TGA_IN_QUALITY; outInfo->capability = TGA_IN_CAPABILITY; - sprintf(outInfo->name, "Targa image (%d bits", - imagespec.depth); switch (fileheader.imagetype) { case TGA_NOCOMP_COLORMAP: - strcat(outInfo->name, " colormap"); + snprintf(outInfo->name, sizeof(outInfo->name), + B_TRANSLATE("Targa image (%d bits colormap)"), + imagespec.depth); break; case TGA_NOCOMP_TRUECOLOR: - strcat(outInfo->name, " truecolor"); - break; - case TGA_NOCOMP_BW: - strcat(outInfo->name, " gray"); + snprintf(outInfo->name, sizeof(outInfo->name), + B_TRANSLATE("Targa image (%d bits truecolor)"), + imagespec.depth); break; case TGA_RLE_COLORMAP: - strcat(outInfo->name, " RLE colormap"); + snprintf(outInfo->name, sizeof(outInfo->name), + B_TRANSLATE("Targa image (%d bits RLE colormap)"), + imagespec.depth); break; case TGA_RLE_TRUECOLOR: - strcat(outInfo->name, " RLE truecolor"); + snprintf(outInfo->name, sizeof(outInfo->name), + B_TRANSLATE("Targa image (%d bits RLE truecolor)"), + imagespec.depth); break; case TGA_RLE_BW: - strcat(outInfo->name, " RLE gray"); + snprintf(outInfo->name, sizeof(outInfo->name), + B_TRANSLATE("Targa image (%d bits RLE gray)"), + imagespec.depth); break; + case TGA_NOCOMP_BW: + default: + snprintf(outInfo->name, sizeof(outInfo->name), + B_TRANSLATE("Targa image (%d bits gray)"), + imagespec.depth); + break; + } - strcat(outInfo->name, ")"); strcpy(outInfo->MIME, "image/x-targa"); } @@ -2196,6 +2214,7 @@ TGATranslator::DerivedTranslate(BPositionIO *inSource, BView * TGATranslator::NewConfigView(TranslatorSettings *settings) { - return new TGAView("TGATranslator Settings", B_WILL_DRAW, settings); + return new TGAView(B_TRANSLATE("TGATranslator Settings"), + B_WILL_DRAW, settings); } diff --git a/src/add-ons/translators/tga/TGATranslator.rdef b/src/add-ons/translators/tga/TGATranslator.rdef new file mode 100644 index 0000000000..881338a21e --- /dev/null +++ b/src/add-ons/translators/tga/TGATranslator.rdef @@ -0,0 +1,15 @@ +/* + * TGATranslator.rdef + */ + +resource app_signature "application/x-vnd.Haiku-TGATranslator"; + +resource app_version { + major = 1, + middle = 0, + minor = 0, + variety = 0, + internal = 0, + short_info = "1.0.0", + long_info = "Haiku TGATranslator Add-Ons." +}; diff --git a/src/add-ons/translators/tga/TGAView.cpp b/src/add-ons/translators/tga/TGAView.cpp index de7fbb3ea0..393ecdd946 100644 --- a/src/add-ons/translators/tga/TGAView.cpp +++ b/src/add-ons/translators/tga/TGAView.cpp @@ -29,6 +29,7 @@ // DEALINGS IN THE SOFTWARE. /*****************************************************************************/ +#include #include #include #include @@ -36,10 +37,12 @@ #include #include - #include "TGAView.h" #include "TGATranslator.h" +#undef B_TRANSLATE_CONTEXT +#define B_TRANSLATE_CONTEXT "TGAView" + TGAView::TGAView(const char *name, uint32 flags, TranslatorSettings *settings) : @@ -53,22 +56,22 @@ TGAView::TGAView(const char *name, uint32 flags, TranslatorSettings *settings) fTitle->SetFont(be_bold_font); char detail[100]; - sprintf(detail, "Version %d.%d.%d %s", + sprintf(detail, B_TRANSLATE("Version %d.%d.%d %s"), static_cast(B_TRANSLATION_MAJOR_VERSION(TGA_TRANSLATOR_VERSION)), static_cast(B_TRANSLATION_MINOR_VERSION(TGA_TRANSLATOR_VERSION)), - static_cast(B_TRANSLATION_REVISION_VERSION(TGA_TRANSLATOR_VERSION)), - __DATE__); + static_cast(B_TRANSLATION_REVISION_VERSION( + TGA_TRANSLATOR_VERSION)), __DATE__); fDetail = new BStringView("detail", detail); fWrittenBy = new BStringView("writtenby", - "Written by the Haiku Translation Kit Team"); + B_TRANSLATE("Written by the Haiku Translation Kit Team")); - fpchkIgnoreAlpha = new BCheckBox("Ignore TGA alpha channel", + fpchkIgnoreAlpha = new BCheckBox(B_TRANSLATE("Ignore TGA alpha channel"), new BMessage(CHANGE_IGNORE_ALPHA)); int32 val = (fSettings->SetGetBool(TGA_SETTING_IGNORE_ALPHA)) ? 1 : 0; fpchkIgnoreAlpha->SetValue(val); fpchkIgnoreAlpha->SetViewColor(ViewColor()); - fpchkRLE = new BCheckBox("Save with RLE Compression", + fpchkRLE = new BCheckBox(B_TRANSLATE("Save with RLE Compression"), new BMessage(CHANGE_RLE)); val = (fSettings->SetGetBool(TGA_SETTING_RLE)) ? 1 : 0; fpchkRLE->SetValue(val); diff --git a/src/add-ons/translators/tiff/Jamfile b/src/add-ons/translators/tiff/Jamfile index c4b9a95912..20dcc8a771 100644 --- a/src/add-ons/translators/tiff/Jamfile +++ b/src/add-ons/translators/tiff/Jamfile @@ -6,6 +6,8 @@ UseLibraryHeaders tiff zlib ; SubDirHdrs [ FDirName $(SUBDIR) $(DOTDOT) shared ] ; +AddResources TIFFTranslator : TIFFTranslator.rdef ; + Translator TIFFTranslator : # [ FGristFiles $(tiff_files:S=$(SUFOBJ)) ] diff --git a/src/add-ons/translators/tiff/TIFFTranslator.rdef b/src/add-ons/translators/tiff/TIFFTranslator.rdef new file mode 100644 index 0000000000..019aa4955f --- /dev/null +++ b/src/add-ons/translators/tiff/TIFFTranslator.rdef @@ -0,0 +1,15 @@ +/* + * TIFFTranslator.rdef + */ + +resource app_signature "application/x-vnd.Haiku-TIFFTranslator"; + +resource app_version { + major = 1, + middle = 0, + minor = 0, + variety = 0, + internal = 0, + short_info = "1.0.0", + long_info = "Haiku TIFFTranslator Add-Ons." +}; diff --git a/src/add-ons/translators/webp/Jamfile b/src/add-ons/translators/webp/Jamfile index cbb5850664..1ab0959dfe 100644 --- a/src/add-ons/translators/webp/Jamfile +++ b/src/add-ons/translators/webp/Jamfile @@ -5,6 +5,7 @@ SetSubDirSupportedPlatformsBeOSCompatible ; SubDirHdrs [ FDirName $(SUBDIR) $(DOTDOT) shared ] ; SubDirHdrs [ FDirName $(SUBDIR) webp ] ; +AddResources WebPTranslator : WebPTranslator.rdef ; Translator WebPTranslator : diff --git a/src/add-ons/translators/webp/WebPTranslator.rdef b/src/add-ons/translators/webp/WebPTranslator.rdef new file mode 100644 index 0000000000..62a79841ec --- /dev/null +++ b/src/add-ons/translators/webp/WebPTranslator.rdef @@ -0,0 +1,15 @@ +/* + * WebPTranslator.rdef + */ + +resource app_signature "application/x-vnd.Haiku-WebPTranslator"; + +resource app_version { + major = 0, + middle = 1, + minor = 0, + variety = 0, + internal = 0, + short_info = "0.1.0", + long_info = "Haiku WebPTranslator Add-Ons." +}; diff --git a/src/add-ons/translators/wonderbrush/Jamfile b/src/add-ons/translators/wonderbrush/Jamfile index 9f4ee83be6..1396e4e0ab 100644 --- a/src/add-ons/translators/wonderbrush/Jamfile +++ b/src/add-ons/translators/wonderbrush/Jamfile @@ -8,6 +8,8 @@ SEARCH_SOURCE += [ FDirName $(HAIKU_TOP) src add-ons translators wonderbrush sup UseLibraryHeaders zlib ; SubDirHdrs [ FDirName $(SUBDIR) $(DOTDOT) shared ] ; +AddResources WonderBrushTranslator : WonderBrushTranslator.rdef ; + Translator WonderBrushTranslator : Canvas.cpp Layer.cpp diff --git a/src/add-ons/translators/wonderbrush/WonderBrushTranslator.rdef b/src/add-ons/translators/wonderbrush/WonderBrushTranslator.rdef new file mode 100644 index 0000000000..e0b26e1754 --- /dev/null +++ b/src/add-ons/translators/wonderbrush/WonderBrushTranslator.rdef @@ -0,0 +1,15 @@ +/* + * WonderBrushTranslator.rdef + */ + +resource app_signature "application/x-vnd.Haiku-WonderBrushTranslator"; + +resource app_version { + major = 1, + middle = 0, + minor = 0, + variety = 0, + internal = 0, + short_info = "1.0.0", + long_info = "Haiku WonderBrushTranslator Add-Ons." +};