diff --git a/doxygen/images/gui.png b/doxygen/images/gui.png index 08ba81d..ac3d0ab 100644 Binary files a/doxygen/images/gui.png and b/doxygen/images/gui.png differ diff --git a/doxygen/usage.dox b/doxygen/usage.dox index 98d1a32..8e1cc5c 100644 --- a/doxygen/usage.dox +++ b/doxygen/usage.dox @@ -35,6 +35,6 @@ It is possible to export the layer configurations so they can be used later on. The cell selector on the left shows the GDS Libraries and Cells. The cells are marked green if all references inside the cell could be found. If not all references could be found, the cell is marked orange. This doens't show if child cells have missing childs. Only one level of the hierarchy is checked in order to make it easier to spot an errorneous cell. Cells with missing child cells are still renderable but `--` obviously `--` faulty. If a cell or any sub-cell contains a reference loop, the cell is marked red. In this case it can't be selected for rendering. -In the above image the cell is green; so everything is okay. - +In the above image one cell is green; so everything is okay. And the other one is red, which indicates a reference loop. This cell cannot be selected for rendering! */ + diff --git a/doxygen/versioning.dox b/doxygen/versioning.dox index 0a69308..0ba6d14 100644 --- a/doxygen/versioning.dox +++ b/doxygen/versioning.dox @@ -5,7 +5,7 @@ The version number of this application consists of a given version in the format of 'v1.0'. Where the first number indicates a major release and the second number indicates minor changes. -Versions, including release candidates and path-levels, are tagged in git. +Versions, including release candidates and patch-levels, are tagged in git. @subsection rc Release Candidates Release candidates are software versions that seem stable and functional to become a new version but testing is not fully finished. These versions are marked with an '-rcX', where X is the number of the release candidate. diff --git a/gds-render-gui.c b/gds-render-gui.c index 498862b..94fa07f 100644 --- a/gds-render-gui.c +++ b/gds-render-gui.c @@ -551,7 +551,7 @@ static void on_convert_clicked(gpointer button, gpointer user) g_signal_connect(render_engine, "async-finished", G_CALLBACK(async_rendering_finished_callback), self); - activity_bar_set_busy(self->activity_status_bar, "Rendering cell..."); + activity_bar_set_busy(self->activity_status_bar, _("Rendering cell...")); g_signal_connect(render_engine, "progress-changed", G_CALLBACK(async_rendering_status_update_callback), self); diff --git a/gds-utils/gds-parser.c b/gds-utils/gds-parser.c index 44e9942..9e607b0 100644 --- a/gds-utils/gds-parser.c +++ b/gds-utils/gds-parser.c @@ -40,6 +40,7 @@ #include #include #include +#include #include diff --git a/gds-utils/gds-tree-checker.c b/gds-utils/gds-tree-checker.c index 9c29f90..683ca64 100644 --- a/gds-utils/gds-tree-checker.c +++ b/gds-utils/gds-tree-checker.c @@ -34,7 +34,7 @@ */ #include - +#include #include int gds_tree_check_cell_references(struct gds_library *lib) @@ -54,7 +54,7 @@ int gds_tree_check_cell_references(struct gds_library *lib) /* Check if this list element is broken. This should never happen */ if (!cell) { - fprintf(stderr, "Broken cell list item found. Will continue.\n"); + fprintf(stderr, _("Broken cell list item found. Will continue.\n")); continue; } @@ -68,7 +68,7 @@ int gds_tree_check_cell_references(struct gds_library *lib) /* Check if broken. This should not happen */ if (!cell_inst) { - fprintf(stderr, "Broken cell list item found in cell %s. Will continue.\n", + fprintf(stderr, _("Broken cell list item found in cell %s. Will continue.\n"), cell->name); continue; } @@ -185,7 +185,7 @@ int gds_tree_check_reference_loops(struct gds_library *lib) */ if (res == 0) fprintf(stderr, - "Visited cell list should be empty. This is a bug. Please report this.\n"); + _("Visited cell list should be empty. This is a bug. Please report this.\n")); g_list_free(visited_cells); visited_cells = NULL; } diff --git a/geometric/bounding-box.c b/geometric/bounding-box.c index 8b6723f..0446c05 100644 --- a/geometric/bounding-box.c +++ b/geometric/bounding-box.c @@ -37,7 +37,7 @@ #define MAX(a, b) (((a) > (b)) ? (a) : (b)) /**< @brief Return bigger number */ #define ABS_DBL(a) ((a) < 0 ? -(a) : (a)) -void bounding_box_calculate_polygon(GList *vertices, conv_generic_to_vector_2d_t conv_func, union bounding_box *box) +void bounding_box_calculate_from_polygon(GList *vertices, conv_generic_to_vector_2d_t conv_func, union bounding_box *box) { double xmin = DBL_MAX, xmax = -DBL_MAX, ymin = DBL_MAX, ymax = -DBL_MAX; struct vector_2d temp_vec; @@ -68,7 +68,7 @@ void bounding_box_calculate_polygon(GList *vertices, conv_generic_to_vector_2d_t box->vectors.upper_right.y = ymax; } -void bounding_box_update_box(union bounding_box *destination, union bounding_box *update) +void bounding_box_update_with_box(union bounding_box *destination, union bounding_box *update) { if (!destination || !update) return; @@ -151,8 +151,6 @@ void bounding_box_update_with_path(GList *vertices, double thickness, GList *vertex_iterator; struct vector_2d pt; - /* printf("Warning! Function %s not yet implemented correctly!\n", __func__); */ - if (!vertices || !box) return; @@ -173,7 +171,7 @@ void bounding_box_update_with_path(GList *vertices, double thickness, } } -void bounding_box_update_point(union bounding_box *destination, conv_generic_to_vector_2d_t conv_func, void *pt) +void bounding_box_update_with_point(union bounding_box *destination, conv_generic_to_vector_2d_t conv_func, void *pt) { struct vector_2d point; @@ -224,7 +222,7 @@ void bounding_box_apply_transform(double scale, double rotation_deg, bool flip_a vector_2d_rotate(&input_points[i], rotation_deg * M_PI / 180.0); vector_2d_scale(&input_points[i], scale); - bounding_box_update_point(box, NULL, &input_points[i]); + bounding_box_update_with_point(box, NULL, &input_points[i]); } } diff --git a/geometric/cell-geometrics.c b/geometric/cell-geometrics.c index 7056e0f..bdddd19 100644 --- a/geometric/cell-geometrics.c +++ b/geometric/cell-geometrics.c @@ -53,7 +53,7 @@ static void update_box_with_gfx(union bounding_box *box, struct gds_graphics *gf case GRAPHIC_BOX: /* Expected fallthrough */ case GRAPHIC_POLYGON: - bounding_box_calculate_polygon(gfx->vertices, + bounding_box_calculate_from_polygon(gfx->vertices, (conv_generic_to_vector_2d_t)&convert_gds_point_to_2d_vector, ¤t_box); break; @@ -74,7 +74,7 @@ static void update_box_with_gfx(union bounding_box *box, struct gds_graphics *gf } /* Update box with results */ - bounding_box_update_box(box, ¤t_box); + bounding_box_update_with_box(box, ¤t_box); } void calculate_cell_bounding_box(union bounding_box *box, struct gds_cell *cell) @@ -113,7 +113,7 @@ void calculate_cell_bounding_box(union bounding_box *box, struct gds_cell *cell) temp_box.vectors.upper_right.y += sub_cell->origin.y; /* update the parent's box */ - bounding_box_update_box(box, &temp_box); + bounding_box_update_with_box(box, &temp_box); } } diff --git a/include/gds-render/geometric/bounding-box.h b/include/gds-render/geometric/bounding-box.h index 97d2108..f0ad149 100644 --- a/include/gds-render/geometric/bounding-box.h +++ b/include/gds-render/geometric/bounding-box.h @@ -35,15 +35,44 @@ #include #include +/** + * @brief Union describing a bounding box + * + * Two ways of accessing a bounding box are possible. + * + * Either, use the "named" vectors struct to specifically access the points + * @code + * lower_left = box.vectors.lower_left; + * upper right = box.vectors.upper_right; + * @endcode + * + * or use the iterable vector array: + * @code + * for (i = 0; i < 2; i++) + * box.vector_array[i] = points[i]; + * @endcode + */ union bounding_box { - /** Coordinate System is (y up | x right) */ + /** + * @brief Location vectors of upper right and lower left bounding box points + * @note Coordinate System is (y up | x right) + */ struct _vectors { + /** @brief Lower left point of the bounding box */ struct vector_2d lower_left; + /** @brief Upper right point of the bounding box */ struct vector_2d upper_right; } vectors; + /** + * @brief Array of vectors representing a bounding box + * @note This is more convenient for iterating + */ struct vector_2d vector_array[2]; }; +/* + * @brief Pointer to a function that takes any pointer and converts this object to a vector_2d struct + */ typedef void (*conv_generic_to_vector_2d_t)(void *, struct vector_2d *); /** @@ -52,14 +81,14 @@ typedef void (*conv_generic_to_vector_2d_t)(void *, struct vector_2d *); * @param conv_func Conversion function to convert vertices to vector_2d structs. * @param box Box to write to. This box is not updated! All previous data is discarded */ -void bounding_box_calculate_polygon(GList *vertices, conv_generic_to_vector_2d_t conv_func, union bounding_box *box); +void bounding_box_calculate_from_polygon(GList *vertices, conv_generic_to_vector_2d_t conv_func, union bounding_box *box); /** * @brief Update an exisitng bounding box with another one. * @param destination Target box to update * @param update Box to update the target with */ -void bounding_box_update_box(union bounding_box *destination, union bounding_box *update); +void bounding_box_update_with_box(union bounding_box *destination, union bounding_box *update); /** * @brief Prepare an empty bounding box. @@ -76,7 +105,7 @@ void bounding_box_prepare_empty(union bounding_box *box); * @param conv_func Conversion function to convert \p pt to a vector_2d. May be NULL * @param pt Point to update bounding box with */ -void bounding_box_update_point(union bounding_box *destination, conv_generic_to_vector_2d_t conv_func, void *pt); +void bounding_box_update_with_point(union bounding_box *destination, conv_generic_to_vector_2d_t conv_func, void *pt); /** * @brief Return all four corner points of a bounding box @@ -102,7 +131,7 @@ void bounding_box_get_all_points(struct vector_2d *points, union bounding_box *b * @param rotation_deg Rotation of bounding box around the origin in degrees (counterclockwise) * @param flip_at_x Flip the boundig box on the x axis before rotating. * @param box Bounding box the operations should be applied to. - * @note Keep in mind, that this bounding boxy is actually the bounding box of the rotated boundig box and not the object itself. + * @note Keep in mind, that this bounding box is actually the bounding box of the rotated boundig box and not the object itself. * It might be too big. */ void bounding_box_apply_transform(double scale, double rotation_deg, bool flip_at_x, union bounding_box *box); @@ -113,6 +142,9 @@ void bounding_box_apply_transform(double scale, double rotation_deg, bool flip_a * @param thickness Thisckness of the path * @param conv_func Conversion function for vertices to vector_2d structs * @param box Bounding box to write results in. + * @warning This function is not yet implemented correctly. Miter points of paths are not taken into account. + * If a path is the outmost object of your cell _and_ it is not parallel to one of the coordinate axes, + * the calculated bounding box size might be off. In other cases it should be reasonable close to the real bounding box. */ void bounding_box_update_with_path(GList *vertices, double thickness, conv_generic_to_vector_2d_t conv_func, union bounding_box *box); diff --git a/output-renderers/cairo-renderer.c b/output-renderers/cairo-renderer.c index 5703095..bcd2851 100644 --- a/output-renderers/cairo-renderer.c +++ b/output-renderers/cairo-renderer.c @@ -31,6 +31,7 @@ #include #include #include +#include #include #include @@ -267,19 +268,27 @@ static int cairo_renderer_render_cell_to_vector_file(GdsOutputRenderer *renderer //process_id = -1; if (process_id < 0) { /* This should not happen */ - fprintf(stderr, "Fatal error: Cairo Renderer: Could not spawn child process!"); + fprintf(stderr, _("Fatal error: Cairo Renderer: Could not spawn child process!")); exit(-2); } else if (process_id > 0) { /* Woohoo... Successfully dumped the shitty code to an unknowing victim */ goto ret_parent; } - /* Close stdin and (stdout and stderr may live on) */ + /* We are now in a separate process just for rendering the output image. + * You may print a log message to the activity bar of the gui by writing a line + * teminated with '\n' to comm_pipe[1]. This will be handled by the parent process. + * Directly calling the update function + * gds_output_renderer_update_async_progress() + * does not have any effect because this is a separate process. + */ + + /* + * Close stdin and (stdout and stderr may live on) + */ close(0); - //close(1); close(comm_pipe[0]); - layers = (struct cairo_layer *)calloc(MAX_LAYERS, sizeof(struct cairo_layer)); /* Clear layers */ @@ -317,7 +326,7 @@ static int cairo_renderer_render_cell_to_vector_file(GdsOutputRenderer *renderer linfo = (struct layer_info *)info_list->data; if (linfo->layer >= MAX_LAYERS) { - printf("Layer outside of Spec.\n"); + printf(_("Layer number too high / outside of spec.\n")); continue; } @@ -327,7 +336,7 @@ static int cairo_renderer_render_cell_to_vector_file(GdsOutputRenderer *renderer /* Print size */ cairo_recording_surface_ink_extents(layers[linfo->layer].rec, &rec_x0, &rec_y0, &rec_width, &rec_height); - dprintf(comm_pipe[1], "Size of layer %d%s%s%s: <%lf x %lf> @ (%lf | %lf)\n", + dprintf(comm_pipe[1], _("Size of layer %d%s%s%s: <%lf x %lf> @ (%lf | %lf)\n"), linfo->layer, (linfo->name && linfo->name[0] ? " (" : ""), (linfo->name && linfo->name[0] ? linfo->name : ""), @@ -362,10 +371,10 @@ static int cairo_renderer_render_cell_to_vector_file(GdsOutputRenderer *renderer for (info_list = layer_infos; info_list != NULL; info_list = g_list_next(info_list)) { linfo = (struct layer_info *)info_list->data; - dprintf(comm_pipe[1], "Exporting layer %d to file\n", linfo->layer); + dprintf(comm_pipe[1], _("Exporting layer %d to file\n"), linfo->layer); if (linfo->layer >= MAX_LAYERS) { - printf("Layer outside of Spec.\n"); + printf(_("Layer outside of spec.\n")); continue; } @@ -405,7 +414,7 @@ ret_clear_layers: } free(layers); - printf("Cairo export finished. It might still be buggy!\n"); + printf(_("Cairo export finished. It might still be buggy!\n")); /* Suspend child process */ exit(0); @@ -463,7 +472,7 @@ static int cairo_renderer_render_output(GdsOutputRenderer *renderer, else pdf_file = output_file; - gds_output_renderer_update_async_progress(renderer, "Rendering Cairo Output..."); + gds_output_renderer_update_async_progress(renderer, _("Rendering Cairo Output...")); ret = cairo_renderer_render_cell_to_vector_file(renderer, cell, layer_infos, pdf_file, svg_file, scale); if (settings) diff --git a/output-renderers/external-renderer.c b/output-renderers/external-renderer.c index 34d952f..4a7817b 100644 --- a/output-renderers/external-renderer.c +++ b/output-renderers/external-renderer.c @@ -31,6 +31,7 @@ #include #include #include +#include #include #include @@ -75,7 +76,7 @@ static int external_renderer_render_cell(struct gds_cell *toplevel_cell, GList * int forked_status; if (!so_path) { - fprintf(stderr, "Path to shared object not set!\n"); + fprintf(stderr, _("Path to shared object not set!\n")); return -3000; } @@ -86,7 +87,7 @@ static int external_renderer_render_cell(struct gds_cell *toplevel_cell, GList * /* Load shared object */ so_handle = dlopen(so_path, RTLD_LAZY); if (!so_handle) { - fprintf(stderr, "Could not load external library '%s'\nDetailed error is:\n%s\n", so_path, dlerror()); + fprintf(stderr, _("Could not load external library '%s'\nDetailed error is:\n%s\n"), so_path, dlerror()); return -2000; } @@ -95,7 +96,7 @@ static int external_renderer_render_cell(struct gds_cell *toplevel_cell, GList * dlsym(so_handle, xstr(EXTERNAL_LIBRARY_RENDER_FUNCTION)); error_msg = dlerror(); if (error_msg) { - fprintf(stderr, "Rendering function not found in library:\n%s\n", error_msg); + fprintf(stderr, _("Rendering function not found in library:\n%s\n"), error_msg); goto ret_close_so_handle; } @@ -103,7 +104,7 @@ static int external_renderer_render_cell(struct gds_cell *toplevel_cell, GList * so_init_func = (int (*)(const char *, const char *))dlsym(so_handle, xstr(EXTERNAL_LIBRARY_INIT_FUNCTION)); error_msg = dlerror(); if (error_msg) { - fprintf(stderr, "Rendering function not found in library:\n%s\n", error_msg); + fprintf(stderr, _("Rendering function not found in library:\n%s\n"), error_msg); goto ret_close_so_handle; } @@ -125,7 +126,7 @@ static int external_renderer_render_cell(struct gds_cell *toplevel_cell, GList * /* Execute */ - g_message("Calling external renderer."); + g_message(_("Calling external renderer.")); if (forking_req) fork_pid = fork(); @@ -150,7 +151,7 @@ end_forked: ret = WEXITSTATUS(forked_status); } - g_message("External renderer finished."); + g_message(_("External renderer finished.")); ret_close_so_handle: dlclose(so_handle); @@ -258,15 +259,15 @@ static void external_renderer_class_init(ExternalRendererClass *klass) /* Setup properties */ external_renderer_properties[PROP_SO_PATH] = - g_param_spec_string("shared-object-path", - "Shared object file path", - "Path to the shared object to search rendering function in.", + g_param_spec_string(N_("shared-object-path"), + N_("Shared object file path"), + N_("Path to the shared object to search rendering function in."), NULL, G_PARAM_READWRITE); external_renderer_properties[PROP_PARAM_STRING] = - g_param_spec_string("param-string", - "Shared object renderer parameter string", - "Command line arguments passed to the external shared object renderer", + g_param_spec_string(N_("param-string"), + N_("Shared object renderer parameter string"), + N_("Command line arguments passed to the external shared object renderer"), NULL, G_PARAM_READWRITE); g_object_class_install_properties(oclass, N_PROPERTIES, external_renderer_properties); @@ -285,8 +286,8 @@ ExternalRenderer *external_renderer_new() ExternalRenderer *external_renderer_new_with_so_and_param(const char *so_path, const char *param_string) { - return g_object_new(GDS_RENDER_TYPE_EXTERNAL_RENDERER, "shared-object-path", so_path, - "param-string", param_string,NULL); + return g_object_new(GDS_RENDER_TYPE_EXTERNAL_RENDERER, N_("shared-object-path"), so_path, + N_("param-string"), param_string, NULL); } /** @} */ diff --git a/output-renderers/gds-output-renderer.c b/output-renderers/gds-output-renderer.c index 4b1c8c5..04cc18a 100644 --- a/output-renderers/gds-output-renderer.c +++ b/output-renderers/gds-output-renderer.c @@ -28,6 +28,7 @@ */ #include +#include struct renderer_params { struct gds_cell *cell; @@ -70,7 +71,7 @@ static int gds_output_renderer_render_dummy(GdsOutputRenderer *renderer, (void)cell; (void)scale; - g_warning("Output renderer does not define a render_output function!"); + g_warning(_("Output renderer does not define a render_output function!")); return 0; } @@ -168,17 +169,17 @@ static void gds_output_renderer_class_init(GdsOutputRendererClass *klass) /* Setup properties */ gds_output_renderer_properties[PROP_OUTPUT_FILE] = - g_param_spec_string("output-file", "output file", "Output file for renderer", + g_param_spec_string(N_("output-file"), N_("output file"), N_("Output file for renderer"), NULL, G_PARAM_READWRITE); gds_output_renderer_properties[PROP_LAYER_SETTINGS] = - g_param_spec_object("layer-settings", "Layer Settings object", - "Object containing the layer rendering information", + g_param_spec_object(N_("layer-settings"), N_("Layer Settings object"), + N_("Object containing the layer rendering information"), GDS_RENDER_TYPE_LAYER_SETTINGS, G_PARAM_READWRITE); g_object_class_install_properties(oclass, N_PROPERTIES, gds_output_renderer_properties); /* Setup output signals */ gds_output_renderer_signals[ASYNC_FINISHED] = - g_signal_newv("async-finished", GDS_RENDER_TYPE_OUTPUT_RENDERER, + g_signal_newv(N_("async-finished"), GDS_RENDER_TYPE_OUTPUT_RENDERER, G_SIGNAL_RUN_LAST | G_SIGNAL_NO_RECURSE, NULL, NULL, @@ -188,7 +189,7 @@ static void gds_output_renderer_class_init(GdsOutputRendererClass *klass) 0, NULL); gds_output_renderer_signals[ASYNC_PROGRESS_CHANGED] = - g_signal_newv("progress-changed", GDS_RENDER_TYPE_OUTPUT_RENDERER, + g_signal_newv(N_("progress-changed"), GDS_RENDER_TYPE_OUTPUT_RENDERER, G_SIGNAL_RUN_LAST | G_SIGNAL_NO_RECURSE, NULL, NULL, @@ -223,8 +224,8 @@ GdsOutputRenderer *gds_output_renderer_new() GdsOutputRenderer *gds_output_renderer_new_with_props(const char *output_file, LayerSettings *layer_settings) { return GDS_RENDER_OUTPUT_RENDERER(g_object_new(GDS_RENDER_TYPE_OUTPUT_RENDERER, - "layer-settings", layer_settings, - "output-file", output_file, + N_("layer-settings"), layer_settings, + N_("output-file"), output_file, NULL)); } @@ -235,14 +236,14 @@ void gds_output_renderer_set_output_file(GdsOutputRenderer *renderer, const gcha /* Check if the filename is actually filled */ if (!file_name || !file_name[0]) return; - g_object_set(renderer, "output-file", file_name, NULL); + g_object_set(renderer, N_("output-file"), file_name, NULL); } const char *gds_output_renderer_get_output_file(GdsOutputRenderer *renderer) { const char *file = NULL; - g_object_get(renderer, "output-file", &file, NULL); + g_object_get(renderer, N_("output-file"), &file, NULL); return file; } @@ -257,7 +258,7 @@ LayerSettings *gds_output_renderer_get_and_ref_layer_settings(GdsOutputRenderer g_mutex_lock(&priv->settings_lock); /* This function seems to already reference the LayerSettings object */ - g_object_get(renderer, "layer-settings", &ret, NULL); + g_object_get(renderer, N_("layer-settings"), &ret, NULL); /* It is now safe to clear the lock */ g_mutex_unlock(&priv->settings_lock); @@ -269,7 +270,7 @@ void gds_output_renderer_set_layer_settings(GdsOutputRenderer *renderer, LayerSe { g_return_if_fail(GDS_RENDER_IS_LAYER_SETTINGS(settings)); - g_object_set(renderer, "layer-settings", settings, NULL); + g_object_set(renderer, N_("layer-settings"), settings, NULL); } int gds_output_renderer_render_output(GdsOutputRenderer *renderer, struct gds_cell *cell, double scale) @@ -279,28 +280,28 @@ int gds_output_renderer_render_output(GdsOutputRenderer *renderer, struct gds_ce GdsOutputRendererPrivate *priv = gds_output_renderer_get_instance_private(renderer); if (GDS_RENDER_IS_OUTPUT_RENDERER(renderer) == FALSE) { - g_error("Output Renderer not valid."); + g_error(_("Output Renderer not valid.")); return GDS_OUTPUT_RENDERER_GEN_ERR; } if (!priv->output_file || !priv->output_file[0]) { - g_error("No/invalid output file set."); + g_error(_("No/invalid output file set.")); return GDS_OUTPUT_RENDERER_GEN_ERR; } if (!priv->layer_settings) { - g_error("No layer specification supplied."); + g_error(_("No layer specification supplied.")); return GDS_OUTPUT_RENDERER_GEN_ERR; } if (!cell) { - g_error("Output renderer called without cell to render."); + g_error(_("Output renderer called without cell to render.")); return GDS_OUTPUT_RENDERER_PARAM_ERR; } klass = GDS_RENDER_OUTPUT_RENDERER_GET_CLASS(renderer); if (klass->render_output == NULL) { - g_critical("Output Renderer: Rendering function broken. This is a bug."); + g_critical(_("Output Renderer: Rendering function broken. This is a bug.")); return GDS_OUTPUT_RENDERER_GEN_ERR; } @@ -361,7 +362,7 @@ int gds_output_renderer_render_output_async(GdsOutputRenderer *renderer, struct priv = gds_output_renderer_get_instance_private(renderer); if (priv->task) { - g_warning("renderer already started asynchronously"); + g_warning(_("Renderer already started asynchronously")); return -2000; } diff --git a/output-renderers/latex-renderer.c b/output-renderers/latex-renderer.c index 6c676c8..b91823b 100644 --- a/output-renderers/latex-renderer.c +++ b/output-renderers/latex-renderer.c @@ -27,6 +27,8 @@ #include #include #include +#include + /** * @addtogroup LaTeX-Renderer * @{ @@ -248,7 +250,7 @@ static void render_cell(struct gds_cell *cell, GList *layer_infos, FILE *tex_fil struct gds_cell_instance *inst; status = g_string_new(NULL); - g_string_printf(status, "Generating cell %s", cell->name); + g_string_printf(status, _("Generating cell %s"), cell->name); gds_output_renderer_update_async_progress(renderer, status->str); g_string_free(status, TRUE); @@ -368,7 +370,7 @@ static int latex_renderer_render_output(GdsOutputRenderer *renderer, l_renderer->pdf_layers, l_renderer->tex_standalone, renderer); fclose(tex_file); } else { - g_error("Could not open LaTeX output file"); + g_error(_("Could not open LaTeX output file")); } if (settings) @@ -433,14 +435,14 @@ static void latex_renderer_class_init(LatexRendererClass *klass) latex_renderer_properties[PROP_STANDALONE] = g_param_spec_boolean("standalone", - "Standalone TeX file", - "Generate a standalone LaTeX file.", + N_("Standalone TeX file"), + N_("Generate a standalone LaTeX file."), FALSE, G_PARAM_READWRITE); latex_renderer_properties[PROP_PDF_LAYERS] = g_param_spec_boolean("pdf-layers", - "PDF OCR layers", - "Generate OCR layers", + N_("PDF OCR layers"), + N_("Generate OCR layers"), FALSE, G_PARAM_READWRITE); diff --git a/translations/generate_templates.sh b/translations/generate_templates.sh index cb3099c..3257c5f 100755 --- a/translations/generate_templates.sh +++ b/translations/generate_templates.sh @@ -12,8 +12,28 @@ cd "$DIR" files=`find ../ -name "*.c"` mkdir -p "pot" +# C Files + +pot="pot/gds-render.pot" + for file in $files; do - pot="pot/"$(echo "${file#*/}" | sed -e "s/\//_/g") - pot="${pot%.c}.pot" - xgettext --keyword=_ --language=C --add-comments --sort-output -o "$pot" "$file" + echo "Parsing C file $file" + # pot="pot/"$(echo "${file#*/}" | sed -e "s/\//_/g") + # pot="${pot%.c}.pot" + if [[ -f "$pot" ]]; then + xgettext --package-name="gds-render" --join-existing --keyword=_ --language=C --add-comments --sort-output -o "$pot" "$file" + else + xgettext --package-name="gds-render" --keyword=_ --language=C --add-comments --sort-output -o "$pot" "$file" + fi +done + +# Glade files +glade_files=`find ../resources/ -name "*.glade"` +for glade in $glade_files; do + echo "Parsing Glade file $glade" + if [[ -f "$pot" ]]; then + xgettext --package-name="gds-render" --join-existing --keyword=_ -L Glade --sort-output -o "$pot" "$glade" + else + xgettext --package-name="gds-render" --keyword=_ -L Glade --sort-output -o "$pot" "$glade" + fi done diff --git a/translations/pot/command-line.pot b/translations/pot/command-line.pot deleted file mode 100644 index 045ac8f..0000000 --- a/translations/pot/command-line.pot +++ /dev/null @@ -1,72 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-15 20:32+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE \n" -"Language: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=CHARSET\n" -"Content-Transfer-Encoding: 8bit\n" - -#: ../command-line.c:203 -#, c-format -msgid "%d reference loops found.\n" -msgstr "" - -#: ../command-line.c:207 -#, c-format -msgid "Cell is affected by reference loop. Abort!\n" -msgstr "" - -#: ../command-line.c:213 -#, c-format -msgid "" -"Cell was not checked. This should not happen. Please report this issue. Will " -"continue either way.\n" -msgstr "" - -#: ../command-line.c:200 -#, c-format -msgid "Checking library %s failed.\n" -msgstr "" - -#: ../command-line.c:193 -#, c-format -msgid "Couldn't find cell in first library!\n" -msgstr "" - -#: ../command-line.c:81 -#, c-format -msgid "Count of renderers %d does not match count of output file names %d\n" -msgstr "" - -#: ../command-line.c:184 -#, c-format -msgid "No library in library list. This should not happen.\n" -msgstr "" - -#: ../command-line.c:74 -#, c-format -msgid "Please specify renderers and file names\n" -msgstr "" - -#: ../command-line.c:104 -#, c-format -msgid "" -"Please specify shared object for external renderer. Will ignore this " -"renderer.\n" -msgstr "" - -#: ../command-line.c:158 -#, c-format -msgid "Probably missing argument. Check --help option\n" -msgstr "" diff --git a/translations/pot/gds-render-gui.pot b/translations/pot/gds-render-gui.pot deleted file mode 100644 index be00c00..0000000 --- a/translations/pot/gds-render-gui.pot +++ /dev/null @@ -1,50 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-15 20:32+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE \n" -"Language: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=CHARSET\n" -"Content-Transfer-Encoding: 8bit\n" - -#: ../gds-render-gui.c:275 -msgid "Acc. Date" -msgstr "" - -#: ../gds-render-gui.c:318 -msgid "Cancel" -msgstr "" - -#: ../gds-render-gui.c:268 -msgid "Cell" -msgstr "" - -#: ../gds-render-gui.c:326 -msgid "GDSII-Files" -msgstr "" - -#: ../gds-render-gui.c:265 -msgid "Library" -msgstr "" - -#: ../gds-render-gui.c:272 -msgid "Mod. Date" -msgstr "" - -#: ../gds-render-gui.c:319 -msgid "Open GDSII" -msgstr "" - -#: ../gds-render-gui.c:316 -msgid "Open GDSII File" -msgstr "" diff --git a/translations/pot/gds-render.pot b/translations/pot/gds-render.pot new file mode 100644 index 0000000..82c55a9 --- /dev/null +++ b/translations/pot/gds-render.pot @@ -0,0 +1,456 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the gds-render package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: gds-render\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-12-16 18:27+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../main.c:97 +#, c-format +msgid "" +"\n" +"\n" +"Full git commit: %s" +msgstr "" + +#: ../main.c:294 +msgid " FILE - Convert GDS file to graphic" +msgstr "" + +#: ../resources/about.glade:10 +msgid "!! Replaced during runtime !!" +msgstr "" + +#: ../command-line.c:205 +#, c-format +msgid "%d reference loops found.\n" +msgstr "" + +#: ../main.c:220 +msgid "About" +msgstr "" + +#: ../main.c:290 +msgid "Argument string passed to render lib" +msgstr "" + +#: ../resources/main.glade:225 +msgid "Automatically color layers" +msgstr "" + +#: ../resources/main.glade:255 +msgid "Automatically name layers" +msgstr "" + +#: ../gds-utils/gds-tree-checker.c:71 +#, c-format +msgid "Broken cell list item found in cell %s. Will continue.\n" +msgstr "" + +#: ../gds-utils/gds-tree-checker.c:57 +#, c-format +msgid "Broken cell list item found. Will continue.\n" +msgstr "" + +#: ../output-renderers/cairo-renderer.c:409 +#, c-format +msgid "Cairo export finished. It might still be buggy!\n" +msgstr "" + +#. Execute +#: ../output-renderers/external-renderer.c:120 +msgid "Calling external renderer." +msgstr "" + +#: ../gds-render-gui.c:286 ../widgets/conv-settings-dialog.c:291 +msgid "Cancel" +msgstr "" + +#: ../gds-render-gui.c:244 +msgid "Cell" +msgstr "" + +#: ../command-line.c:209 +#, c-format +msgid "Cell is affected by reference loop. Abort!\n" +msgstr "" + +#: ../main.c:284 +msgid "Cell to render" +msgstr "" + +#: ../command-line.c:215 +#, c-format +msgid "" +"Cell was not checked. This should not happen. Please report this issue. Will " +"continue either way.\n" +msgstr "" + +#: ../command-line.c:202 +#, c-format +msgid "Checking library %s failed.\n" +msgstr "" + +#: ../resources/dialog.glade:79 +msgid "Configure LaTeX as standalone document" +msgstr "" + +#: ../resources/main.glade:109 +msgid "Convert selected cell" +msgstr "" + +#: ../output-renderers/external-renderer.c:89 +#, c-format +msgid "" +"Could not load external library '%s'\n" +"Detailed error is:\n" +"%s\n" +msgstr "" + +#: ../output-renderers/latex-renderer.c:373 +msgid "Could not open LaTeX output file" +msgstr "" + +#: ../command-line.c:195 +#, c-format +msgid "Couldn't find cell in first library!\n" +msgstr "" + +#: ../command-line.c:81 +#, c-format +msgid "Count of renderers %d does not match count of output file names %d\n" +msgstr "" + +#: ../main.c:286 +msgid "Create PDF Layers (OCG)" +msgstr "" + +#: ../main.c:285 +msgid "Create standalone TeX" +msgstr "" + +#: ../main.c:280 +msgid "Divide output coordinates by " +msgstr "" + +#: ../resources/layer-widget.glade:62 +msgid "Export Layer" +msgstr "" + +#: ../output-renderers/cairo-renderer.c:366 +#, c-format +msgid "Exporting layer %d to file\n" +msgstr "" + +#: ../output-renderers/external-renderer.c:142 +msgid "External renderer finished." +msgstr "" + +#. This should not happen +#: ../output-renderers/cairo-renderer.c:271 +#, c-format +msgid "Fatal error: Cairo Renderer: Could not spawn child process!" +msgstr "" + +#: ../resources/main.glade:50 +msgid "GDS-Render" +msgstr "" + +#: ../gds-render-gui.c:294 +msgid "GDSII-Files" +msgstr "" + +#: ../resources/dialog.glade:18 +msgid "Generate LaTeX/TikZ output" +msgstr "" + +#: ../resources/dialog.glade:93 +msgid "Generate PDF Layers" +msgstr "" + +#: ../output-renderers/latex-renderer.c:253 +#, c-format +msgid "Generating cell %s" +msgstr "" + +#: ../resources/about.glade:12 +msgid "Git Repository" +msgstr "" + +#: ../widgets/conv-settings-dialog.c:246 +#, c-format +msgid "Height: %.3lf %sm" +msgstr "" + +#: ../main.c:321 +#, c-format +msgid "Ignored argument: %s" +msgstr "" + +#: ../output-renderers/external-renderer.c:106 +#, c-format +msgid "" +"Init function not found in library:\n" +"%s\n" +msgstr "" + +#: ../output-renderers/cairo-renderer.c:321 +#, c-format +msgid "Layer number too high / outside of spec.\n" +msgstr "" + +#: ../output-renderers/cairo-renderer.c:369 +#, c-format +msgid "Layer outside of spec.\n" +msgstr "" + +#: ../widgets/layer-element.c:102 +#, c-format +msgid "Layer: %d" +msgstr "" + +#: ../gds-render-gui.c:241 +msgid "Library" +msgstr "" + +#: ../resources/main.glade:68 +msgid "Load Mapping" +msgstr "" + +#: ../resources/main.glade:73 +msgid "Load the current layer configuration from CSV" +msgstr "" + +#: ../main.c:116 +#, c-format +msgid "Logo could not be displayed: %s\n" +msgstr "" + +#: ../output-renderers/gds-output-renderer.c:293 +msgid "No layer specification supplied." +msgstr "" + +#: ../command-line.c:186 +#, c-format +msgid "No library in library list. This should not happen.\n" +msgstr "" + +#: ../output-renderers/gds-output-renderer.c:288 +msgid "No/invalid output file set." +msgstr "" + +#: ../widgets/conv-settings-dialog.c:291 +msgid "OK" +msgstr "" + +#: ../resources/main.glade:58 +msgid "Open GDS2 Database" +msgstr "" + +#: ../gds-render-gui.c:287 +msgid "Open GDSII" +msgstr "" + +#: ../gds-render-gui.c:284 +msgid "Open GDSII File" +msgstr "" + +#: ../main.c:299 +#, c-format +msgid "Option parsing failed: %s\n" +msgstr "" + +#: ../widgets/conv-settings-dialog.c:255 +#, c-format +msgid "Output Height: %u px" +msgstr "" + +#: ../output-renderers/gds-output-renderer.c:283 +msgid "Output Renderer not valid." +msgstr "" + +#: ../output-renderers/gds-output-renderer.c:304 +msgid "Output Renderer: Rendering function broken. This is a bug." +msgstr "" + +#. Set the pixel sizes +#: ../widgets/conv-settings-dialog.c:252 +#, c-format +msgid "Output Width: %u px" +msgstr "" + +#: ../main.c:282 +msgid "Output file path. Can be used multiple times." +msgstr "" + +#: ../output-renderers/gds-output-renderer.c:298 +msgid "Output renderer called without cell to render." +msgstr "" + +#: ../output-renderers/gds-output-renderer.c:74 +msgid "Output renderer does not define a render_output function!" +msgstr "" + +#: ../main.c:283 +msgid "Path for Layer Mapping File" +msgstr "" + +#: ../main.c:288 +msgid "" +"Path to a custom shared object, that implements the necessary rendering " +"functions" +msgstr "" + +#: ../output-renderers/external-renderer.c:78 +#, c-format +msgid "Path to shared object not set!\n" +msgstr "" + +#: ../command-line.c:74 +#, c-format +msgid "Please specify renderers and file names\n" +msgstr "" + +#: ../command-line.c:104 +#, c-format +msgid "" +"Please specify shared object for external renderer. Will ignore this " +"renderer.\n" +msgstr "" + +#: ../main.c:277 +msgid "Print version" +msgstr "" + +#: ../command-line.c:160 +#, c-format +msgid "Probably missing argument. Check --help option\n" +msgstr "" + +#: ../main.c:219 +msgid "Quit" +msgstr "" + +#: ../widgets/activity-bar.c:104 +msgid "Ready" +msgstr "" + +#: ../resources/dialog.glade:33 +msgid "Render PDF using Cairographics" +msgstr "" + +#: ../resources/dialog.glade:48 +msgid "Render SVG using Cairographics (too buggy at the moment)" +msgstr "" + +#: ../widgets/conv-settings-dialog.c:293 +msgid "Renderer Settings" +msgstr "" + +#: ../output-renderers/gds-output-renderer.c:365 +msgid "Renderer already started asynchronously" +msgstr "" + +#: ../main.c:279 +msgid "Renderer to use. Can be used multiple times." +msgstr "" + +#: ../output-renderers/cairo-renderer.c:467 +msgid "Rendering Cairo Output..." +msgstr "" + +#: ../gds-render-gui.c:554 +msgid "Rendering cell..." +msgstr "" + +#: ../output-renderers/external-renderer.c:98 +#, c-format +msgid "" +"Rendering function not found in library:\n" +"%s\n" +msgstr "" + +#: ../resources/main.glade:86 +msgid "Save Mapping" +msgstr "" + +#: ../resources/main.glade:23 +msgid "Save the current layer configuration to CSV" +msgstr "" + +#: ../main.c:312 +#, c-format +msgid "Scale < 1 not allowed. Setting to 1\n" +msgstr "" + +#: ../resources/layer-widget.glade:51 +msgid "Select Layer Color and Opacity" +msgstr "" + +#: ../resources/main.glade:240 +msgid "Select all layers for export" +msgstr "" + +#: ../output-renderers/cairo-renderer.c:331 +#, c-format +msgid "Size of layer %d%s%s%s: <%lf x %lf> @ (%lf | %lf)\n" +msgstr "" + +#: ../resources/main.glade:195 +msgid "Sort layers ascending" +msgstr "" + +#: ../resources/main.glade:210 +msgid "Sort layers descending" +msgstr "" + +#: ../main.c:212 +#, c-format +msgid "" +"There is already an open instance. Will open second window in that " +"instance.\n" +msgstr "" + +#: ../main.c:244 +#, c-format +msgid "" +"This is gds-render, version: %s\n" +"\n" +"For a list of supported commands execute with --help option.\n" +msgstr "" + +#: ../gds-utils/gds-tree-checker.c:188 +#, c-format +msgid "Visited cell list should be empty. This is a bug. Please report this.\n" +msgstr "" + +#: ../widgets/conv-settings-dialog.c:244 +#, c-format +msgid "Width: %.3lf %sm" +msgstr "" + +#: ../widgets/activity-bar.c:110 +msgid "Working..." +msgstr "" + +#: ../main.c:96 +msgid "" +"gds-render is a free tool for rendering GDS2 layout files into vector " +"graphics." +msgstr "" + +#: ../resources/layer-widget.glade:37 +msgid "label" +msgstr "" diff --git a/translations/pot/main.pot b/translations/pot/main.pot deleted file mode 100644 index a7fa9b6..0000000 --- a/translations/pot/main.pot +++ /dev/null @@ -1,121 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-15 20:32+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE \n" -"Language: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=CHARSET\n" -"Content-Transfer-Encoding: 8bit\n" - -#: ../main.c:97 -#, c-format -msgid "" -"\n" -"\n" -"Full git commit: %s" -msgstr "" - -#: ../main.c:293 -msgid " FILE - Convert GDS file to graphic" -msgstr "" - -#: ../main.c:221 -msgid "About" -msgstr "" - -#: ../main.c:289 -msgid "Argument string passed to render lib" -msgstr "" - -#: ../main.c:283 -msgid "Cell to render" -msgstr "" - -#: ../main.c:285 -msgid "Create PDF Layers (OCG)" -msgstr "" - -#: ../main.c:284 -msgid "Create standalone TeX" -msgstr "" - -#: ../main.c:279 -msgid "Divide output coordinates by " -msgstr "" - -#: ../main.c:320 -#, c-format -msgid "Ignored argument: %s" -msgstr "" - -#: ../main.c:116 -#, c-format -msgid "Logo could not be displayed: %s\n" -msgstr "" - -#: ../main.c:298 -#, c-format -msgid "Option parsing failed: %s\n" -msgstr "" - -#: ../main.c:281 -msgid "Output file path. Can be used multiple times." -msgstr "" - -#: ../main.c:282 -msgid "Path for Layer Mapping File" -msgstr "" - -#: ../main.c:287 -msgid "" -"Path to a custom shared object, that implements the necessary rendering " -"functions" -msgstr "" - -#: ../main.c:276 -msgid "Print version" -msgstr "" - -#: ../main.c:220 -msgid "Quit" -msgstr "" - -#: ../main.c:278 -msgid "Renderer to use. Can be used multiple times." -msgstr "" - -#: ../main.c:311 -#, c-format -msgid "Scale < 1 not allowed. Setting to 1\n" -msgstr "" - -#: ../main.c:213 -#, c-format -msgid "" -"There is already an open instance. Will open second window in that " -"instance.\n" -msgstr "" - -#: ../main.c:245 -#, c-format -msgid "" -"This is gds-render, version: %s\n" -"\n" -"For a list of supported commands execute with --help option.\n" -msgstr "" - -#: ../main.c:96 -msgid "" -"gds-render is a free tool for rendering GDS2 layout files into vector " -"graphics." -msgstr "" diff --git a/translations/pot/po/de/.gitignore b/translations/pot/po/de/.gitignore deleted file mode 100644 index 4591c0f..0000000 --- a/translations/pot/po/de/.gitignore +++ /dev/null @@ -1 +0,0 @@ -*.po~ diff --git a/translations/pot/po/de/command-line.po b/translations/pot/po/de/command-line.po deleted file mode 100644 index d2270f6..0000000 --- a/translations/pot/po/de/command-line.po +++ /dev/null @@ -1,73 +0,0 @@ -# German translations for gds-render package. -# Copyright (C) 2019 THE gds-render's COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# Mario Hüttel , 2019. -# -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-10-22 23:02+0200\n" -"PO-Revision-Date: 2019-10-22 23:02+0200\n" -"Last-Translator: \n" -"Language-Team: German \n" -"Language: de\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#: ../command-line.c:203 -#, c-format -msgid "%d reference loops found.\n" -msgstr "%d Referenzschleifen gefunden.\n" - -#: ../command-line.c:207 -#, c-format -msgid "Cell is affected by reference loop. Abort!\n" -msgstr "Zelle von Referenzschleife betroffen. Abbruch!\n" - -#: ../command-line.c:213 -#, c-format -msgid "" -"Cell was not checked. This should not happen. Please report this issue. Will " -"continue either way.\n" -msgstr "Zelle wurde nicht überprüft. Das sollte nicht passieren. Bitte melden Sie dieses Fehlverhalten. Es wird " -"dennoch fortgefahren.\n" - -#: ../command-line.c:200 -#, c-format -msgid "Checking library %s failed.\n" -msgstr "Überprüfen der Bibliothek %s fehlgeschlagen.\n" - -#: ../command-line.c:193 -#, c-format -msgid "Couldn't find cell in first library!\n" -msgstr "Konnte Zelle nicht in der ersten Bibliothek finden!\n" - -#: ../command-line.c:81 -#, c-format -msgid "Count of renderers %d does not match count of output file names %d\n" -msgstr "Anzahl der Renderer %d entspricht nicht der Anzahl der angegebenen Ausgabepfade %s\n" - -#: ../command-line.c:184 -#, c-format -msgid "No library in library list. This should not happen.\n" -msgstr "Keine Bilbiothek in Bibliotheksliste vorhanden. Dies sollte nicht passieren.\n" - -#: ../command-line.c:74 -#, c-format -msgid "Please specify renderers and file names\n" -msgstr "Bitte geben Sie Renderer und Dateinamen an\n" - -#: ../command-line.c:104 -#, c-format -msgid "" -"Please specify shared object for external renderer. Will ignore this " -"renderer.\n" -msgstr "Bitte geben Sie ein 'shared object' für den externen Renderer an. Renderer wird ignoriert.\n" - -#: ../command-line.c:158 -#, c-format -msgid "Probably missing argument. Check --help option\n" -msgstr "Vermutlich fehlendes Argument. Siehe --help Option für Hilfe\n" diff --git a/translations/pot/po/de/gds-render-gui.po b/translations/pot/po/de/gds-render-gui.po deleted file mode 100644 index 78880de..0000000 --- a/translations/pot/po/de/gds-render-gui.po +++ /dev/null @@ -1,50 +0,0 @@ -# German translations for PACKAGE package. -# Copyright (C) 2019 THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# Mario Hüttel , 2019. -# -msgid "" -msgstr "" -"Project-Id-Version: gds-render VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-15 20:32+0100\n" -"PO-Revision-Date: 2019-10-18 23:10+0200\n" -"Last-Translator: \n" -"Language-Team: German \n" -"Language: de\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#: ../gds-render-gui.c:275 -msgid "Acc. Date" -msgstr "Zugr. Datum" - -#: ../gds-render-gui.c:318 -msgid "Cancel" -msgstr "Abbruch" - -#: ../gds-render-gui.c:268 -msgid "Cell" -msgstr "Zelle" - -#: ../gds-render-gui.c:326 -msgid "GDSII-Files" -msgstr "GDSII-Dateiem" - -#: ../gds-render-gui.c:265 -msgid "Library" -msgstr "Bibliothek" - -#: ../gds-render-gui.c:272 -msgid "Mod. Date" -msgstr "Mod. Datum" - -#: ../gds-render-gui.c:319 -msgid "Open GDSII" -msgstr "GDSII öffnen" - -#: ../gds-render-gui.c:316 -msgid "Open GDSII File" -msgstr "GDSII Datei öffnen" diff --git a/translations/pot/po/de/gds-render.po b/translations/pot/po/de/gds-render.po new file mode 100644 index 0000000..3c00727 --- /dev/null +++ b/translations/pot/po/de/gds-render.po @@ -0,0 +1,487 @@ +# German translations for gds-render package. +# Copyright (C) 2019 THE gds-render'S COPYRIGHT HOLDER +# This file is distributed under the same license as the gds-render package. +# マリオ , 2019. +# +msgid "" +msgstr "" +"Project-Id-Version: gds-render\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-12-16 18:27+0100\n" +"PO-Revision-Date: 2019-12-16 22:00+0100\n" +"Last-Translator: Mario Hüttel \n" +"Language-Team: German \n" +"Language: de\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Poedit 2.2.4\n" + +#: ../main.c:97 +#, c-format +msgid "" +"\n" +"\n" +"Full git commit: %s" +msgstr "" +"\n" +"\n" +"Vollständiger git-Commit: %s" + +#: ../main.c:294 +msgid " FILE - Convert GDS file to graphic" +msgstr " DATEI - Konvertiere GDS-Datei in Grafik" + +#: ../resources/about.glade:10 +msgid "!! Replaced during runtime !!" +msgstr "!! Ersetzt zur Laufzeit !!" + +#: ../command-line.c:205 +#, c-format +msgid "%d reference loops found.\n" +msgstr "%d Referenzschleifen gefunden.\n" + +#: ../main.c:220 +msgid "About" +msgstr "Info" + +#: ../main.c:290 +msgid "Argument string passed to render lib" +msgstr "An Render-Bibliothek übergebener Argument-String" + +#: ../resources/main.glade:225 +msgid "Automatically color layers" +msgstr "Färbe Layer automatisch" + +#: ../resources/main.glade:255 +msgid "Automatically name layers" +msgstr "Bename Layer automatisch" + +#: ../gds-utils/gds-tree-checker.c:71 +#, c-format +msgid "Broken cell list item found in cell %s. Will continue.\n" +msgstr "Defektes Listenelement in Zelle %s. Ignoriere.\n" + +#: ../gds-utils/gds-tree-checker.c:57 +#, c-format +msgid "Broken cell list item found. Will continue.\n" +msgstr "Defektes Zellenelement in Liste gefunden. Ignoriere.\n" + +#: ../output-renderers/cairo-renderer.c:409 +#, c-format +msgid "Cairo export finished. It might still be buggy!\n" +msgstr "Cairo-Export abgeschlossen. Möglicherweise fehlerhaft!\n" + +#. Execute +#: ../output-renderers/external-renderer.c:120 +msgid "Calling external renderer." +msgstr "Rufe externen Renderer auf." + +#: ../gds-render-gui.c:286 ../widgets/conv-settings-dialog.c:291 +msgid "Cancel" +msgstr "Abbruch" + +#: ../gds-render-gui.c:244 +msgid "Cell" +msgstr "Zelle" + +#: ../command-line.c:209 +#, c-format +msgid "Cell is affected by reference loop. Abort!\n" +msgstr "Zelle ist von referenzschleife betroffen. Abbruch!\n" + +#: ../main.c:284 +msgid "Cell to render" +msgstr "Zu rendernde Zelle" + +#: ../command-line.c:215 +#, c-format +msgid "" +"Cell was not checked. This should not happen. Please report this issue. Will " +"continue either way.\n" +msgstr "" +"Zelle wurde nicht überprüft. Das sollte nicht passieren. Bitte melden Sie " +"dieses Problem. Es wird dennoch fortgefahren.\n" + +#: ../command-line.c:202 +#, c-format +msgid "Checking library %s failed.\n" +msgstr "Überprüfung von Bibliothek %s fehlgeschlagen.\n" + +#: ../resources/dialog.glade:79 +msgid "Configure LaTeX as standalone document" +msgstr "Konfiguriere LaTeX als eigenständiges Dokument" + +#: ../resources/main.glade:109 +msgid "Convert selected cell" +msgstr "Konvertiere ausgewählte Zelle" + +#: ../output-renderers/external-renderer.c:89 +#, c-format +msgid "" +"Could not load external library '%s'\n" +"Detailed error is:\n" +"%s\n" +msgstr "" +"Externe Bibliothek '%s' konnte nicht geladen werden.\n" +"Detailierter Fehler:\n" +"%s\n" + +#: ../output-renderers/latex-renderer.c:373 +msgid "Could not open LaTeX output file" +msgstr "LaTeX-Ausgabedatei konnte nicht geöffnet werden" + +#: ../command-line.c:195 +#, c-format +msgid "Couldn't find cell in first library!\n" +msgstr "Zelle nicht in erster Bibliothek gefunden!\n" + +#: ../command-line.c:81 +#, c-format +msgid "Count of renderers %d does not match count of output file names %d\n" +msgstr "" +"Anzahl der Renderer %d stimmt nicht mit der Anzahl der angegebenen " +"Ausgabedateinamen %d überein\n" + +#: ../main.c:286 +msgid "Create PDF Layers (OCG)" +msgstr "Generiere PDF-Layer (OCG)" + +#: ../main.c:285 +msgid "Create standalone TeX" +msgstr "Generiere eingenständiges TeX" + +#: ../main.c:280 +msgid "Divide output coordinates by " +msgstr "Dividiere Ausgabekoordinaten durch " + +#: ../resources/layer-widget.glade:62 +msgid "Export Layer" +msgstr "Exportiere Layer" + +#: ../output-renderers/cairo-renderer.c:366 +#, c-format +msgid "Exporting layer %d to file\n" +msgstr "Exportiere Layer %d in Datei\n" + +#: ../output-renderers/external-renderer.c:142 +msgid "External renderer finished." +msgstr "Externer Renderer beendet." + +#. This should not happen +#: ../output-renderers/cairo-renderer.c:271 +#, c-format +msgid "Fatal error: Cairo Renderer: Could not spawn child process!" +msgstr "" +"Fataler Fehler: Cairo Renderer: Sub-Prozess konnte nicht gestartet werden!" + +#: ../resources/main.glade:50 +msgid "GDS-Render" +msgstr "GDS-Render" + +#: ../gds-render-gui.c:294 +msgid "GDSII-Files" +msgstr "GDSII-Dateien" + +#: ../resources/dialog.glade:18 +msgid "Generate LaTeX/TikZ output" +msgstr "Generiere LaTeX/TikZ Ausgabe" + +#: ../resources/dialog.glade:93 +msgid "Generate PDF Layers" +msgstr "Generiere PDF Layers" + +#: ../output-renderers/latex-renderer.c:253 +#, c-format +msgid "Generating cell %s" +msgstr "Generiere Zelle %s" + +#: ../resources/about.glade:12 +msgid "Git Repository" +msgstr "Git Repository" + +#: ../widgets/conv-settings-dialog.c:246 +#, c-format +msgid "Height: %.3lf %sm" +msgstr "Höhe: %.3lf %sm" + +#: ../main.c:321 +#, c-format +msgid "Ignored argument: %s" +msgstr "Ignoriertes Argument: %s" + +#: ../output-renderers/external-renderer.c:106 +#, c-format +msgid "" +"Init function not found in library:\n" +"%s\n" +msgstr "" +"Init-Funktion nicht in Bibliothek gefunden:\n" +"%s\n" + +#: ../output-renderers/cairo-renderer.c:321 +#, c-format +msgid "Layer number too high / outside of spec.\n" +msgstr "Layer-Nummer zu hoch / Außerhalb der Spezifikation.\n" + +#: ../output-renderers/cairo-renderer.c:369 +#, c-format +msgid "Layer outside of spec.\n" +msgstr "Layer außerhalb der Spezifikation\n" + +#: ../widgets/layer-element.c:102 +#, c-format +msgid "Layer: %d" +msgstr "Layer: %d" + +#: ../gds-render-gui.c:241 +msgid "Library" +msgstr "Bibliothek" + +#: ../resources/main.glade:68 +msgid "Load Mapping" +msgstr "Zuordnung laden" + +#: ../resources/main.glade:73 +msgid "Load the current layer configuration from CSV" +msgstr "Lade die aktuelle Layer-Zuordnung aus einer CSV-Datei" + +#: ../main.c:116 +#, c-format +msgid "Logo could not be displayed: %s\n" +msgstr "Logo konnte nicht angezeigt werden: %s\n" + +#: ../output-renderers/gds-output-renderer.c:293 +msgid "No layer specification supplied." +msgstr "Keine Layer-Spezifikation angegeben." + +#: ../command-line.c:186 +#, c-format +msgid "No library in library list. This should not happen.\n" +msgstr "Keine Bibliothek in Bibliotheksliste. Das sollte nicht passieren.\n" + +#: ../output-renderers/gds-output-renderer.c:288 +msgid "No/invalid output file set." +msgstr "Keine oder invalide Ausgabedatei angegeben." + +#: ../widgets/conv-settings-dialog.c:291 +msgid "OK" +msgstr "OK" + +#: ../resources/main.glade:58 +msgid "Open GDS2 Database" +msgstr "Öffne GDS2 Datenbank" + +#: ../gds-render-gui.c:287 +msgid "Open GDSII" +msgstr "Öffne GDSII" + +#: ../gds-render-gui.c:284 +msgid "Open GDSII File" +msgstr "Öffne GDSII-Datei" + +#: ../main.c:299 +#, c-format +msgid "Option parsing failed: %s\n" +msgstr "Optionsverarbeitung fehlgeschlagen: %s\n" + +#: ../widgets/conv-settings-dialog.c:255 +#, c-format +msgid "Output Height: %u px" +msgstr "Ausgabehöhe: %u px" + +#: ../output-renderers/gds-output-renderer.c:283 +msgid "Output Renderer not valid." +msgstr "Ausgaberenderer invalide." + +#: ../output-renderers/gds-output-renderer.c:304 +msgid "Output Renderer: Rendering function broken. This is a bug." +msgstr "" +"Ausgaberenderer: Render-Funktion defekt. Dies ist ein interner " +"Programmfehler." + +#. Set the pixel sizes +#: ../widgets/conv-settings-dialog.c:252 +#, c-format +msgid "Output Width: %u px" +msgstr "Ausgabebreite: %u px" + +#: ../main.c:282 +msgid "Output file path. Can be used multiple times." +msgstr "Ausgabepfad. Kann mehrfach angegeben werden." + +#: ../output-renderers/gds-output-renderer.c:298 +msgid "Output renderer called without cell to render." +msgstr "Ausgaberenderer ohne zu rendernde Zelle aufgerufen." + +#: ../output-renderers/gds-output-renderer.c:74 +msgid "Output renderer does not define a render_output function!" +msgstr "Ausgaberenderer definiert keine render_output Funktion!" + +#: ../main.c:283 +msgid "Path for Layer Mapping File" +msgstr "Pfad zur Lagenzuordnungsdatei" + +#: ../main.c:288 +msgid "" +"Path to a custom shared object, that implements the necessary rendering " +"functions" +msgstr "" +"Pfad zu einem benutzerdefiniertem Shared-Object, welches die notwendigen " +"Funktionen implementiert" + +#: ../output-renderers/external-renderer.c:78 +#, c-format +msgid "Path to shared object not set!\n" +msgstr "Kein Pfad zu einem Shared-Object gesetzt!\n" + +#: ../command-line.c:74 +#, c-format +msgid "Please specify renderers and file names\n" +msgstr "Bitte Renderer und Dateinamen angeben.\n" + +#: ../command-line.c:104 +#, c-format +msgid "" +"Please specify shared object for external renderer. Will ignore this " +"renderer.\n" +msgstr "" +"Bitte Shares-Object für externen Renderer angeben. Dieser Renderer wird " +"ignoriert.\n" + +#: ../main.c:277 +msgid "Print version" +msgstr "Zeige Versionsnummer" + +#: ../command-line.c:160 +#, c-format +msgid "Probably missing argument. Check --help option\n" +msgstr "Vermutlich ein fehlendes Argument. Bitte --help überprüfen\n" + +#: ../main.c:219 +msgid "Quit" +msgstr "Beenden" + +#: ../widgets/activity-bar.c:104 +msgid "Ready" +msgstr "Bereit" + +#: ../resources/dialog.glade:33 +msgid "Render PDF using Cairographics" +msgstr "Rendere PDF mit Cairographics" + +#: ../resources/dialog.glade:48 +msgid "Render SVG using Cairographics (too buggy at the moment)" +msgstr "Rendere SVG mit Cairographics (Experimentell)" + +#: ../widgets/conv-settings-dialog.c:293 +msgid "Renderer Settings" +msgstr "Renderer Einstellungen" + +#: ../output-renderers/gds-output-renderer.c:365 +msgid "Renderer already started asynchronously" +msgstr "Renderer wird bereits asynchron ausgeführt" + +#: ../main.c:279 +msgid "Renderer to use. Can be used multiple times." +msgstr "Zu nutzender Renderer. Kann mehrfach angegeben werden." + +#: ../output-renderers/cairo-renderer.c:467 +msgid "Rendering Cairo Output..." +msgstr "Rendere Cairo-Ausgabe..." + +#: ../gds-render-gui.c:554 +msgid "Rendering cell..." +msgstr "Renderere Zelle..." + +#: ../output-renderers/external-renderer.c:98 +#, c-format +msgid "" +"Rendering function not found in library:\n" +"%s\n" +msgstr "" +"Render Funktion nicht in Bibliothek gefunden:\n" +"%s\n" + +#: ../resources/main.glade:86 +msgid "Save Mapping" +msgstr "Zuordnung speichern" + +#: ../resources/main.glade:23 +msgid "Save the current layer configuration to CSV" +msgstr "Die aktuelle Lagenkonfiguration als CSV-Datei speichern" + +#: ../main.c:312 +#, c-format +msgid "Scale < 1 not allowed. Setting to 1\n" +msgstr "Skaliereung < 1 nicht erlaubt. Setze auf 1\n" + +#: ../resources/layer-widget.glade:51 +msgid "Select Layer Color and Opacity" +msgstr "Wähle Layer-Farbe und Transparenz" + +#: ../resources/main.glade:240 +msgid "Select all layers for export" +msgstr "Wähle alle Layer zum Exporieren" + +#: ../output-renderers/cairo-renderer.c:331 +#, c-format +msgid "Size of layer %d%s%s%s: <%lf x %lf> @ (%lf | %lf)\n" +msgstr "Größe von Layer %d%s%s%s: <%lf x %lf> @ (%lf | %lf)\n" + +#: ../resources/main.glade:195 +msgid "Sort layers ascending" +msgstr "Sortiere Layer aufsteigend" + +#: ../resources/main.glade:210 +msgid "Sort layers descending" +msgstr "Sortiere Layer absteigend" + +#: ../main.c:212 +#, c-format +msgid "" +"There is already an open instance. Will open second window in that " +"instance.\n" +msgstr "" +"Es ist bereits eine Instanz dieses Programms geöffnet. Es wird ein zweites " +"Fenster in jener Instanz geöffnet.\n" + +#: ../main.c:244 +#, c-format +msgid "" +"This is gds-render, version: %s\n" +"\n" +"For a list of supported commands execute with --help option.\n" +msgstr "" +"Dies ist gds-render, Version: %s\n" +"\n" +"Für eine Liste der unterstützten Kommandos mit der Option --help ausführen.\n" + +#: ../gds-utils/gds-tree-checker.c:188 +#, c-format +msgid "Visited cell list should be empty. This is a bug. Please report this.\n" +msgstr "" +"Liste markierter Zellen sollte leer sein. Dies ist ein Fehler. Bitte " +"melden.\n" + +#: ../widgets/conv-settings-dialog.c:244 +#, c-format +msgid "Width: %.3lf %sm" +msgstr "Breite: %.3lf %sm" + +#: ../widgets/activity-bar.c:110 +msgid "Working..." +msgstr "Arbeite..." + +#: ../main.c:96 +msgid "" +"gds-render is a free tool for rendering GDS2 layout files into vector " +"graphics." +msgstr "" +"gds-render ist ein freies Programm, um GDS2-Layouts in Vektorgrafiken zu " +"konvertieren." + +#: ../resources/layer-widget.glade:37 +msgid "label" +msgstr "label" diff --git a/translations/pot/po/de/main.po b/translations/pot/po/de/main.po deleted file mode 100644 index 7be4bed..0000000 --- a/translations/pot/po/de/main.po +++ /dev/null @@ -1,133 +0,0 @@ -# German translations for gds-render package. -# Copyright (C) 2019 THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the gds-render package. -# Mario Hüttel , 2019. -# -msgid "" -msgstr "" -"Project-Id-Version: gds-render VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-15 20:32+0100\n" -"PO-Revision-Date: 2019-10-18 20:49+0200\n" -"Last-Translator: \n" -"Language-Team: German \n" -"Language: de\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#: ../main.c:97 -#, c-format -msgid "" -"\n" -"\n" -"Full git commit: %s" -msgstr "" -"\n" -"\n" -"Vollständige git Commit-ID %s" - -#: ../main.c:293 -msgid " FILE - Convert GDS file to graphic" -msgstr "Datei -- Konvertiere GDS Datei zu Vektorgrafik" - -#: ../main.c:221 -msgid "About" -msgstr "Über" - -#: ../main.c:289 -msgid "Argument string passed to render lib" -msgstr "Argumente, die an externe Render-Bibliothek weitergegeben werden sollen" - -#: ../main.c:283 -msgid "Cell to render" -msgstr "Zu konvertierende Zelle" - -#: ../main.c:285 -msgid "Create PDF Layers (OCG)" -msgstr "Generiere PDF Layer (OCG)" - -#: ../main.c:284 -msgid "Create standalone TeX" -msgstr "Generiere alleinstehendes TeX" - -#: ../main.c:279 -msgid "Divide output coordinates by " -msgstr "Skaliere Ausgabekoordinaten um Faktor herab" - -#: ../main.c:320 -#, c-format -msgid "Ignored argument: %s" -msgstr "Ignoriertes Argument: %s" - -#: ../main.c:116 -#, c-format -msgid "Logo could not be displayed: %s\n" -msgstr "Logo konnte nicht angezeigt werden: %s\n" - -#: ../main.c:298 -#, c-format -msgid "Option parsing failed: %s\n" -msgstr "Übergabeparameterkonvertierung fehlgeschlagen: %s\n" - -#: ../main.c:281 -msgid "Output file path. Can be used multiple times." -msgstr "Ausgabedatei. Kann mehrfach angegeben werden." - -#: ../main.c:282 -msgid "Path for Layer Mapping File" -msgstr "Pfad zur \"Layer Mapping\"-Datei" - -#: ../main.c:287 -msgid "" -"Path to a custom shared object, that implements the necessary rendering " -"functions" -msgstr "" -"Pfad zu einer Programmbibliothek, die die notwendigen Renderingfunktionen bereitstellt" - -#: ../main.c:276 -msgid "Print version" -msgstr "Programmversion aufgeben" - -#: ../main.c:220 -msgid "Quit" -msgstr "Beenden" - -#: ../main.c:278 -msgid "Renderer to use. Can be used multiple times." -msgstr "Gewünschter Renderer. Kann mehrfach angegeben werden." - -#: ../main.c:311 -#, c-format -msgid "Scale < 1 not allowed. Setting to 1\n" -msgstr "Skalierung < 1 nicht erlaubt. Rückfallwert 1 benutzt.\n" - -#: ../main.c:213 -#, c-format -msgid "" -"There is already an open instance. Will open second window in that " -"instance.\n" -msgstr "" -"Es is bereits eine Instanz dieses Programms geöffnet. Ein weiteres Fenster " -"in dieser wird geöffnet.\n" - -#: ../main.c:245 -#, c-format -msgid "" -"This is gds-render, version: %s\n" -"\n" -"For a list of supported commands execute with --help option.\n" -msgstr "" -"gds-render, Version %s\n" -"\n" -"Um eine Liste der unterstützten Befehle zu erhalten, bitte mit der Option --" -"help ausführen.\n" - -#: ../main.c:96 -msgid "" -"gds-render is a free tool for rendering GDS2 layout files into vector " -"graphics." -msgstr "" -"gds-render is ein freies Werkzeug zum Wandeln von GDS2 Layouts in " -"Vektorgrafiken." diff --git a/translations/pot/po/de/widgets_activity-bar.po b/translations/pot/po/de/widgets_activity-bar.po deleted file mode 100644 index 3dca313..0000000 --- a/translations/pot/po/de/widgets_activity-bar.po +++ /dev/null @@ -1,26 +0,0 @@ -# German translations for gds-render package. -# Copyright (C) 2019 THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# Mario Hüttel , 2019. -# -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-10-25 20:27+0200\n" -"PO-Revision-Date: 2019-10-25 20:27+0200\n" -"Last-Translator: \n" -"Language-Team: German \n" -"Language: de\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#: ../widgets/activity-bar.c:105 -msgid "Ready" -msgstr "Bereit" - -#: ../widgets/activity-bar.c:111 -msgid "Working..." -msgstr "Berechnung aktiv..." diff --git a/translations/pot/widgets_activity-bar.pot b/translations/pot/widgets_activity-bar.pot deleted file mode 100644 index aed3280..0000000 --- a/translations/pot/widgets_activity-bar.pot +++ /dev/null @@ -1,26 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-15 20:32+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE \n" -"Language: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=CHARSET\n" -"Content-Transfer-Encoding: 8bit\n" - -#: ../widgets/activity-bar.c:105 -msgid "Ready" -msgstr "" - -#: ../widgets/activity-bar.c:111 -msgid "Working..." -msgstr "" diff --git a/widgets/conv-settings-dialog.c b/widgets/conv-settings-dialog.c index 48f5cdf..4656148 100644 --- a/widgets/conv-settings-dialog.c +++ b/widgets/conv-settings-dialog.c @@ -30,6 +30,7 @@ */ #include +#include struct _RendererSettingsDialog { GtkDialog parent; @@ -102,9 +103,9 @@ static void renderer_settings_dialog_class_init(RendererSettingsDialogClass *kla oclass->set_property = renderer_settings_dialog_set_property; oclass->get_property = renderer_settings_dialog_get_property; - properties[PROP_CELL_NAME] = g_param_spec_string("cell-name", - "cell-name", - "Cell name to be displayed in header bar", + properties[PROP_CELL_NAME] = g_param_spec_string(N_("cell-name"), + N_("cell-name"), + N_("Cell name to be displayed in header bar"), "", G_PARAM_READWRITE); g_object_class_install_properties(oclass, PROP_COUNT, properties); @@ -240,18 +241,18 @@ static void renderer_settings_dialog_update_labels(RendererSettingsDialog *self) width_engineering = convert_number_to_engineering(width_meters, &width_prefix); height_engineering = convert_number_to_engineering(height_meters, &height_prefix); - snprintf(default_buff, sizeof(default_buff), "Width: %.3lf %sm", width_engineering, width_prefix); + snprintf(default_buff, sizeof(default_buff), _("Width: %.3lf %sm"), width_engineering, width_prefix); gtk_label_set_text(self->x_label, default_buff); - snprintf(default_buff, sizeof(default_buff), "Height: %.3lf %sm", height_engineering, height_prefix); + snprintf(default_buff, sizeof(default_buff), _("Height: %.3lf %sm"), height_engineering, height_prefix); gtk_label_set_text(self->y_label, default_buff); scale = gtk_range_get_value(GTK_RANGE(self->scale)); /* Set the pixel sizes */ - snprintf(default_buff, sizeof(default_buff), "Output Width: %u px", + snprintf(default_buff, sizeof(default_buff), _("Output Width: %u px"), (unsigned int)((double)self->cell_width / scale)); gtk_label_set_text(self->x_output_label, default_buff); - snprintf(default_buff, sizeof(default_buff), "Output Height: %u px", + snprintf(default_buff, sizeof(default_buff), _("Output Height: %u px"), (unsigned int)((double)self->cell_height / scale)); gtk_label_set_text(self->y_output_label, default_buff); } @@ -287,9 +288,9 @@ static void renderer_settings_dialog_init(RendererSettingsDialog *self) self->x_output_label = GTK_LABEL(gtk_builder_get_object(builder, "x-output-label")); self->y_output_label = GTK_LABEL(gtk_builder_get_object(builder, "y-output-label")); - gtk_dialog_add_buttons(dialog, "Cancel", GTK_RESPONSE_CANCEL, "OK", GTK_RESPONSE_OK, NULL); + gtk_dialog_add_buttons(dialog, _("Cancel"), GTK_RESPONSE_CANCEL, _("OK"), GTK_RESPONSE_OK, NULL); gtk_container_add(GTK_CONTAINER(gtk_dialog_get_content_area(dialog)), box); - gtk_window_set_title(GTK_WINDOW(self), "Renderer Settings"); + gtk_window_set_title(GTK_WINDOW(self), _("Renderer Settings")); g_signal_connect(self->radio_latex, "toggled", G_CALLBACK(latex_render_callback), (gpointer)self); g_signal_connect(G_OBJECT(self->shape_drawing), diff --git a/widgets/layer-element.c b/widgets/layer-element.c index e01c4c3..0964411 100644 --- a/widgets/layer-element.c +++ b/widgets/layer-element.c @@ -37,6 +37,7 @@ */ #include +#include G_DEFINE_TYPE(LayerElement, layer_element, GTK_TYPE_LIST_BOX_ROW) @@ -98,7 +99,7 @@ void layer_element_set_layer(LayerElement *elem, int layer) GString *string; string = g_string_new_len(NULL, 100); - g_string_printf(string, "Layer: %d", layer); + g_string_printf(string, _("Layer: %d"), layer); gtk_label_set_text(elem->priv.layer, (const gchar *)string->str); elem->priv.layer_num = layer; g_string_free(string, TRUE);