![]() ![]() Indeed, for the new string probably 'Colores' may be a better translation. As the string was already translated the old translation may not match the new meaning. Note that while the ID remained the same lazarusidestrconsts.dlgedcolor the string has changed from 'Syntax highlight' to 'Colors'. So it may take several passes to get all duplicates automatically translated by the tool.Ĭhanges in resource strings affect translations, for example if initially a resource string was defined like: The automatic detection of duplicates is not yet perfect, duplicate detection is made as items are added to the list and it may happen that some untranslated entries are read first. xx.po files the automatic tool does one additional check: if the duplicated entry was already translated, the new entry gets the old translation, so it appears like being translated automatically. Msgctxt "lazarusidestrconsts.dlgaddhiattrgroupgutter" Msgctxt "lazarusidestrconsts.dlfmousesimpleguttersect" The msgctxt keyword is used to add context to duplicated entries and the automatic update tool use the entry ID (the text next to "#: " prefix) as the context, for the previous example it would produce something like this: po files and they need to have some context attached to them. ![]() Duplicate entries are considered a normal eventuality on. Where the lines starting with "#: " are considered comments and the tools used to translate this entries see the repeated msgid "Gutter" lines like duplicated entries and produce errors or warnings on loading or saving. #: lazarusidestrconsts.dlgaddhiattrgroupgutter ![]() #: lazarusidestrconsts.dlfmousesimpleguttersect rst file for this resource strings would look similar to this in a. po files are not cluttered with obsolete entries and translators don't have to translate entries that are not used.ĭuplicate entries occur when for some reason the same text is used for different resource strings, a random example of this is the file lazarus/ide/lazarusidestrconst.pas for the 'Gutter' string:ĭlfMouseSimpleGutterSect = 'Gutter' dlgMouseOptNodeGutter = 'Gutter' dlgGutter = 'Gutter' dlgAddHiAttrGroupGutter = 'Gutter' Ī converted. Subsequently, all entries found in translated. lrt files and then applying the following features it finds and brings up to date any translated. The update process begins by collecting all existing entries found in base. lrt files (rstconv tool is then not necesary). po file using the information contained in. When this options are enabled, the IDE generates or updates the base. For packages go to Options > IDE integration. For projects go to the Project > Project Options. For example: create a sub directory language in the package / project directory. po path, this means a separate directory. The unit containing the resource strings must be added to the package or project.Note: For Brazilians/Portuguese: Lazarus IDE and LCL only have a Brazilian Portuguese translation and these files have 'pt_BR.po' extensions IDE options for automatic updates of. To achieve this, copy the unit1.po file to .po, .po, and whatever language you want to support and then the translators can edit their specific. For example the German translation of unit1.po would be .po. The LCL translation unit uses the common language codes (en=english, de=german, it=italian. These function may save you a lot of work and improve consistency.įor every language the. Virtaal has a translation memory containing source-target language pairs for items that you already translated once, and a translation suggestion function that shows already translated terms in various open source software packages. Some free tools: kbabel, po-auto-translator, poedit, virtaal. Every FPC installation provides the tool rstconv (windows: rstconv.exe). rst files, but with some more options, like a header providing fields for author, encoding, language and date. po files, which are simple text like the. There are many free graphical tools to edit. Please read both articles carefully in order to avoid duplicate stuff. If you think that something is really important move that stuff back. Note: This stuff was before in Translations_/_i18n_/_localizations_for_programs. 12 Control design with internationalization capability.10 Cross-platform method to determine system language.9 Compiling po files into the executable and change language while running.8 Where a Lazarus App looks for Language Files.7 Compiling po files into the executable.5 Translating Forms, Datamodules and Frames.4 IDE options for automatic updates of. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |