<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://www.wordfast.net/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Jamie</id>
		<title>Wordfast Wiki - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="https://www.wordfast.net/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Jamie"/>
		<link rel="alternate" type="text/html" href="https://www.wordfast.net/wiki/Special:Contributions/Jamie"/>
		<updated>2026-04-20T20:16:09Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>https://www.wordfast.net/w/index.php?title=Machine_Translation_in_Wordfast_Pro&amp;diff=5741</id>
		<title>Machine Translation in Wordfast Pro</title>
		<link rel="alternate" type="text/html" href="https://www.wordfast.net/w/index.php?title=Machine_Translation_in_Wordfast_Pro&amp;diff=5741"/>
				<updated>2022-03-02T19:02:46Z</updated>
		
		<summary type="html">&lt;p&gt;Jamie: Fixed a couple of typos, added some italics to options, added an image, added a couple of clarifications&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Wordfast Pro]] (WFP) can send source segments to third-party, cloud-based '''Machine Translation''' (MT) sources, receive suggested MT translations, and make them available to the translator or use them to [[Pre-Translation in Wordfast Pro|pre-translate]] documents. It can speed up translation work. WFP only connects to MT sources if you activate this feature in WFP ''Preferences''.&lt;br /&gt;
&lt;br /&gt;
To use Machine Translation in WFP, click the [[File:Sidebar_Preferences_Icon.png|20px]] '''''Preferences''''' icon on the sidebar, go to '''''Machine Translation''''' under '''''General Preferences''''', and enable the MT providers you prefer.&lt;br /&gt;
&lt;br /&gt;
'''WorldLingo''' is the only out-of-the-box free provider. You need to subscribe and obtain an API key to use the other ones (see links when you click on “Enable…”).&lt;br /&gt;
&lt;br /&gt;
The '''Microsoft Translator API''' is free for up to 2 million characters per month. Follow [https://docs.microsoft.com/en-us/azure/cognitive-services/translator/translator-how-to-signup these instructions] to get your own API key. '''IMPORTANT''': When creating your resource on Azure, make sure to choose “Central US” as your resource group region and “Global” as the resource region.&lt;br /&gt;
&lt;br /&gt;
To use '''DeepL''' in Wordfast Pro, you need a paid [https://www.deepl.com/pro-tool_integration.html DeepL plan]. Note that DeepL offers two kinds of API keys – one is for web applications and the other one is for CAT tools such as Wordfast. Please make sure you are using the right key. If you are not sure about this, please consult the DeepL team.&lt;br /&gt;
&lt;br /&gt;
Using ''Custom MT'' at the bottom of the options, you can also instruct Wordfast Pro to connect to MT sources that are not among the listed options. For example, you can [[Connecting_Wordfast_Pro_to_Modern_MT|connect to Modern MT]].&lt;br /&gt;
&lt;br /&gt;
Tick the option ''Allow all unedited segments in active document to be leveraged with MT'' to use MT when there is no TM match. Your primary MT result will be automatically leveraged in the target segment.&lt;br /&gt;
&lt;br /&gt;
[[File:2021-03-30_11-25-45.png|800px|WFP Preferences &amp;gt; Machine Translation]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''IMPORTANT''': Sometimes machine translated segments do not need to be edited, especially when they are very short. By default, Wordfast Pro will not commit unedited MT segments to your TM. If you want to commit these segments (recommended), make sure to update your [[New vs Current Project Preferences|new/current project preferences]] under the '''Translation Memory''' section. Tick the box next to ''Write 'unedited MT' to TM'' to commit these perfectly good segments.&lt;br /&gt;
&lt;br /&gt;
[[File:2022-02-24_13-10-34.png|800px|WFP Preferences &amp;gt; Translation Memory]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Wordfast Pro]]&lt;/div&gt;</summary>
		<author><name>Jamie</name></author>	</entry>

	<entry>
		<id>https://www.wordfast.net/w/index.php?title=File:Sidebar_Preferences_Icon.png&amp;diff=5740</id>
		<title>File:Sidebar Preferences Icon.png</title>
		<link rel="alternate" type="text/html" href="https://www.wordfast.net/w/index.php?title=File:Sidebar_Preferences_Icon.png&amp;diff=5740"/>
				<updated>2022-03-02T18:47:09Z</updated>
		
		<summary type="html">&lt;p&gt;Jamie: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jamie</name></author>	</entry>

	<entry>
		<id>https://www.wordfast.net/w/index.php?title=Working_with_Packages_(or_GLP_files)_in_Wordfast_Pro&amp;diff=5739</id>
		<title>Working with Packages (or GLP files) in Wordfast Pro</title>
		<link rel="alternate" type="text/html" href="https://www.wordfast.net/w/index.php?title=Working_with_Packages_(or_GLP_files)_in_Wordfast_Pro&amp;diff=5739"/>
				<updated>2022-02-28T22:52:37Z</updated>
		
		<summary type="html">&lt;p&gt;Jamie: Fixed a couple of typos, added some italics to options&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Wordfast Pro 5.x and above is much more advanced and project centric in terms of project management than its predecessor, Wordfast Pro 3.x. The newer version allows you to create a project, export it as a package – roughly equivalent to a zip file which contains source files, reference files, bilingual files, linguistic assets and project settings – and send it to someone else so they can recreate the project on their instance of Wordfast Pro to perform the task they have been assigned. A user may also want to export a project in order to work on it on a different computer (laptop vs desktop).&lt;br /&gt;
&lt;br /&gt;
== Exporting a project ==&lt;br /&gt;
&lt;br /&gt;
Once you have created a project, there are two ways to export it:&lt;br /&gt;
* From the '''Project List''' view: select the project, then click on the '''''Export Package''''' icon.&lt;br /&gt;
* From the '''Current Project''' view: under the '''Project Files''' tab, click on the '''''Export Package''''' icon.&lt;br /&gt;
&lt;br /&gt;
After clicking on the '''''Export Package''''' icon, you will see the following window:&lt;br /&gt;
&lt;br /&gt;
[[File:Export_package.png]]&lt;br /&gt;
&lt;br /&gt;
Under the ''Export'' section, you have two options: &lt;br /&gt;
# Export the entire project with all of the project’s resources and target languages into a single package. &lt;br /&gt;
# Export specific resources or separate packages if there is more than one target language. &lt;br /&gt;
&lt;br /&gt;
You can then give the package the same name as the project (if multiple target languages, each package will have the target language’s codes appended at the end) or a custom name.&lt;br /&gt;
&lt;br /&gt;
Finally, choose a location to save the package to. The saved package has the extension .''glp''.&lt;br /&gt;
&lt;br /&gt;
Typically, if you are a project manager, you would first export a package, then later import a package. The opposite is true for the translator or revisor: you would first import a package and later export it to send back the completed task.&lt;br /&gt;
&lt;br /&gt;
== Importing a package ==&lt;br /&gt;
&lt;br /&gt;
There are generally two scenarios when importing a package: &lt;br /&gt;
# You are '''translator''' receiving a package from a project manager for a translation or revision task. &lt;br /&gt;
# You are a '''project manager''' receiving a package from a translator and containing the completed translation or revision task.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Scenario 1 – I’m a '''translator''' ===&lt;br /&gt;
&lt;br /&gt;
From the '''Project List''' view, you can either drag and drop a .glp package into Wordfast Pro or click on the '''''Import Package''''' icon, then select the package.&lt;br /&gt;
&lt;br /&gt;
In the '''Import Package''' window, you will then see two options:&lt;br /&gt;
&lt;br /&gt;
[[File:Import package.png]]&lt;br /&gt;
&lt;br /&gt;
# ''Update an existing project''&lt;br /&gt;
# ''Create a new project''&lt;br /&gt;
&lt;br /&gt;
You need to choose the ''Create a new project'' option, then specify the name and location you want to create the project.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Scenario 2 – I’m a '''project manager''' ===&lt;br /&gt;
&lt;br /&gt;
Open the project you had previously created, then drag and drop the package you received from the translator into the open project or click on the '''''Import Package''''' icon. Wordfast will pre-select the option to update the existing project. You should choose ''Only update the project’s existing TXLF files'' unless a file needed to be added to the project by the translator after the project was already underway.&lt;br /&gt;
&lt;br /&gt;
Click on '''''Import''''' and you should see the ''Complete'' status bar move to 100% (if the translator marked all segments as ''translated'').&lt;br /&gt;
&lt;br /&gt;
== Tips &amp;amp; Tricks ==&lt;br /&gt;
# '''Unzipping a package''': as mentioned earlier, a .glp package is simply a zip file with a different extension. If you are having problems importing the package, try changing the extension from .glp to .zip and then unzipping it. Inside you will find all the resources you need to “recreate” the project manually on your end.&lt;br /&gt;
# '''File organization''': be careful when organizing your incoming and outgoing packages. There is nothing worse than sending the wrong package to someone, then checking out for the day or weekend! You will have one frustrated translator or project manager to deal with…&lt;br /&gt;
# '''Project templates''': if you need to deploy project settings enterprise-wide, the most tech savvy person on your team can create a template project with your server TM and glossary settings, then export as a package and send it to everyone on the team. Team members import the package and reuse the project as a template when creating new projects moving forward.&lt;/div&gt;</summary>
		<author><name>Jamie</name></author>	</entry>

	<entry>
		<id>https://www.wordfast.net/w/index.php?title=Useful_regular_expressions_(Regex)&amp;diff=5328</id>
		<title>Useful regular expressions (Regex)</title>
		<link rel="alternate" type="text/html" href="https://www.wordfast.net/w/index.php?title=Useful_regular_expressions_(Regex)&amp;diff=5328"/>
				<updated>2021-05-14T22:54:40Z</updated>
		
		<summary type="html">&lt;p&gt;Jamie: Reorganized page and added major section regarding numbers in a specific format&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A '''regular expression (regex or regexp)''' is a sequence of characters that define a search pattern.&amp;lt;ref&amp;gt;Check out [https://en.wikipedia.org/wiki/Regular_expression#Basic_concepts this article] for a more detailed explanation of the history of regular expressions and how they work.&amp;lt;/ref&amp;gt; They can be very helpful in the Editor View for both the filter bar (used to show/hide specific segments) and the Find/Replace dialog. Below are a few examples of useful regexes. In order to use them in [[Wordfast Pro]], make sure any available '''regex''' option is enabled accordingly.&lt;br /&gt;
&lt;br /&gt;
==Filter Bar: Showing/Hiding Certain Segments==&lt;br /&gt;
&lt;br /&gt;
===Hide number-only segments===&lt;br /&gt;
&lt;br /&gt;
Use the following regex in the segment filtering bar:&lt;br /&gt;
&lt;br /&gt;
 ^(([0-9][^\n]*[^0-9])|([^0-9][^\n]*[0-9])|([^0-9]?[^\n]*[^0-9]))$&lt;br /&gt;
&lt;br /&gt;
This regex will also hide numbers with punctuation (decimals, etc.)&lt;br /&gt;
&lt;br /&gt;
===Show only number-only segments===&lt;br /&gt;
&lt;br /&gt;
Use the following regex in the segment filtering bar:&lt;br /&gt;
&lt;br /&gt;
 ^(?:(?:-|–|(?:(?:\$|€|£)(?:\h)?))?(?:\d{1,3})(?:\h|,|\.|(?:(?:\h)?(?:%|\$|€|£)))?)+$&lt;br /&gt;
&lt;br /&gt;
If you have numbers like 8,675,309.00 that need to be replaced with 8.675.309,00, you can copy all sources to target with the filter applied, then apply a 3-step find and replace:&lt;br /&gt;
# Find '''.''' and replace with '''DUMMY'''&lt;br /&gt;
# Find ''',''' and replace with '''.'''&lt;br /&gt;
# Find '''DUMMY''' and replace with ''','''&lt;br /&gt;
&lt;br /&gt;
===Show only thousands, ten thousands or hundred thousands surrounded by parentheses===&lt;br /&gt;
&lt;br /&gt;
If you negative monetary figures in a financial report, they are generally surrounded by parentheses like this (1,234) or (10,123) or (100,123).&lt;br /&gt;
&lt;br /&gt;
Use the following regex in the segment filtering bar to filter out these segments when the divider is a non-breaking space:&lt;br /&gt;
 &lt;br /&gt;
 \(\d{1,3}∘\d{3}\)&lt;br /&gt;
&lt;br /&gt;
And this one if the divider is a comma:&lt;br /&gt;
&lt;br /&gt;
 \(\d{1,3},\d{3}\)&lt;br /&gt;
&lt;br /&gt;
With the filter in place, copy all sources, then find ∘ and replace with , or vice versa. (∘ represents a non-breaking space).&lt;br /&gt;
&lt;br /&gt;
===Show only segments containing ''numbers in a specific format''===&lt;br /&gt;
&lt;br /&gt;
Numbers that need to be converted to a different format can be found within any segment containing other text. Depending on the source number format you need to convert, use the corresponding regex from option A, B, or C in the table below to show only those segments for later conversion.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:black&amp;quot; | Option&lt;br /&gt;
! style=&amp;quot;color:black&amp;quot; | Thousands&lt;br /&gt;
! style=&amp;quot;color:black&amp;quot; | Decimal&lt;br /&gt;
! style=&amp;quot;color:black&amp;quot; | Example&lt;br /&gt;
! style=&amp;quot;color:black&amp;quot; | Regex&lt;br /&gt;
|-&lt;br /&gt;
|A&lt;br /&gt;
|Space&amp;lt;sup&amp;gt;*&amp;lt;/sup&amp;gt;&lt;br /&gt;
|Comma&lt;br /&gt;
| style=&amp;quot;font-weight: bold&amp;quot; |1&amp;lt;mark style=&amp;quot;background-color: brown; color:white; font-size: x-large&amp;quot;&amp;gt; &amp;lt;/mark&amp;gt;000&amp;lt;mark style=&amp;quot;background-color: brown; color:white; font-size: x-large&amp;quot;&amp;gt;,&amp;lt;/mark&amp;gt;00&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;(?:\d{1,3})(?:(?:(?:(?&amp;lt;!,\d{3})( |\u00A0|\u2009|\u202F)(?=\d{3}[^\d])))|(?:(?&amp;lt;!\.\d{3}),(?=\d(?!\d+(,\d|\.\d)))))&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|B&lt;br /&gt;
|Dot&lt;br /&gt;
|Comma&lt;br /&gt;
| style=&amp;quot;font-weight: bold&amp;quot; |1&amp;lt;mark style=&amp;quot;background-color: brown; color:white; font-size: x-large&amp;quot;&amp;gt;.&amp;lt;/mark&amp;gt;000&amp;lt;mark style=&amp;quot;background-color: brown; color:white; font-size: x-large&amp;quot;&amp;gt;,&amp;lt;/mark&amp;gt;00&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;(?:\d{1,3})(?:(?:(?&amp;lt;!,\d{3})\.(?=\d{3}[^\d]))|(?:(?&amp;lt;!\d( |\u00A0|\u2009|\u202F)\d{3}),(?! |\d{3}(,[^ ]|\.[^ ]))))&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|C&lt;br /&gt;
|Comma&lt;br /&gt;
|Dot&lt;br /&gt;
| style=&amp;quot;font-weight: bold&amp;quot; |1&amp;lt;mark style=&amp;quot;background-color: brown; color:white; font-size: x-large&amp;quot;&amp;gt;,&amp;lt;/mark&amp;gt;000&amp;lt;mark style=&amp;quot;background-color: brown; color:white; font-size: x-large&amp;quot;&amp;gt;.&amp;lt;/mark&amp;gt;00&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;(?:\d{1,3})(?:(?:(?&amp;lt;!([\d]( |\u00A0|\u2009|\u202F)|(\.))\d{3}),(?=\d{3}[^\d]))|(?:(?&amp;lt;!\d( |\u00A0|\u2009|\u202F)\d{3})\.(?!$| |\d{3}(,[^ ]|\.[^ ]))))&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;sup&amp;gt;&amp;amp;#42;&amp;lt;/sup&amp;gt; &amp;lt;span style=&amp;quot;font-size: smaller&amp;quot;&amp;gt;Includes no-break space (U+00A0), thin space (U+2009), and narrow no-break space (U+202F)&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Filter Bar: Combine with Find/Replace==&lt;br /&gt;
&lt;br /&gt;
===Replace ''numbers in a specific format''===&lt;br /&gt;
&lt;br /&gt;
If you want to convert numbers between the formats in the table above, locate which options you want to convert between in the table below and follow the respective steps.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:black&amp;quot; |(A) 1&amp;lt;mark style=&amp;quot;background-color: brown; color:white; font-size: x-large&amp;quot;&amp;gt; &amp;lt;/mark&amp;gt;000&amp;lt;mark style=&amp;quot;background-color: brown; color:white; font-size: x-large&amp;quot;&amp;gt;,&amp;lt;/mark&amp;gt;00&amp;lt;br /&amp;gt;&lt;br /&gt;
to&amp;lt;br /&amp;gt;&lt;br /&gt;
(C) 1&amp;lt;mark style=&amp;quot;background-color: brown; color:white; font-size: x-large&amp;quot;&amp;gt;,&amp;lt;/mark&amp;gt;000&amp;lt;mark style=&amp;quot;background-color: brown; color:white; font-size: x-large&amp;quot;&amp;gt;.&amp;lt;/mark&amp;gt;00&lt;br /&gt;
! style=&amp;quot;color:black&amp;quot; |(B) 1&amp;lt;mark style=&amp;quot;background-color: brown; color:white; font-size: x-large&amp;quot;&amp;gt;.&amp;lt;/mark&amp;gt;000&amp;lt;mark style=&amp;quot;background-color: brown; color:white; font-size: x-large&amp;quot;&amp;gt;,&amp;lt;/mark&amp;gt;00&amp;lt;br /&amp;gt;&lt;br /&gt;
to&amp;lt;br /&amp;gt;&lt;br /&gt;
(C) 1&amp;lt;mark style=&amp;quot;background-color: brown; color:white; font-size: x-large&amp;quot;&amp;gt;,&amp;lt;/mark&amp;gt;000&amp;lt;mark style=&amp;quot;background-color: brown; color:white; font-size: x-large&amp;quot;&amp;gt;.&amp;lt;/mark&amp;gt;00&lt;br /&gt;
! style=&amp;quot;color:black&amp;quot; |(C) 1&amp;lt;mark style=&amp;quot;background-color: brown; color:white; font-size: x-large&amp;quot;&amp;gt;,&amp;lt;/mark&amp;gt;000&amp;lt;mark style=&amp;quot;background-color: brown; color:white; font-size: x-large&amp;quot;&amp;gt;.&amp;lt;/mark&amp;gt;00&amp;lt;br /&amp;gt;&lt;br /&gt;
to&amp;lt;br /&amp;gt;&lt;br /&gt;
(A) 1&amp;lt;mark style=&amp;quot;background-color: brown; color:white; font-size: x-large&amp;quot;&amp;gt; &amp;lt;/mark&amp;gt;000&amp;lt;mark style=&amp;quot;background-color: brown; color:white; font-size: x-large&amp;quot;&amp;gt;,&amp;lt;/mark&amp;gt;00&lt;br /&gt;
! style=&amp;quot;color:black&amp;quot; |(C) 1&amp;lt;mark style=&amp;quot;background-color: brown; color:white; font-size: x-large&amp;quot;&amp;gt;,&amp;lt;/mark&amp;gt;000&amp;lt;mark style=&amp;quot;background-color: brown; color:white; font-size: x-large&amp;quot;&amp;gt;.&amp;lt;/mark&amp;gt;00&amp;lt;br /&amp;gt;&lt;br /&gt;
to&amp;lt;br /&amp;gt;&lt;br /&gt;
(B) 1&amp;lt;mark style=&amp;quot;background-color: brown; color:white; font-size: x-large&amp;quot;&amp;gt;.&amp;lt;/mark&amp;gt;000&amp;lt;mark style=&amp;quot;background-color: brown; color:white; font-size: x-large&amp;quot;&amp;gt;,&amp;lt;/mark&amp;gt;00&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
# Copy option '''(A)''' regex from table above&amp;lt;br /&amp;gt;&amp;lt;mark style=&amp;quot;background-color: LemonChiffon;&amp;quot;&amp;gt;NOTE&amp;lt;/mark&amp;gt;: Remaning steps are in WFP&lt;br /&gt;
# With a fresh file (target segments all empty) open in ''Editor View'', enable ''Regex'' option in segment filter bar&lt;br /&gt;
# Paste option '''(A)''' regex into filter field next to ''Regex'' option, press Enter&lt;br /&gt;
# After filter is applied, go to ''Translation'' tab and click ''Copy All Sources''&lt;br /&gt;
# Press Ctrl+H to show ''Find/Replace'' dialog&lt;br /&gt;
# Enable ''Use Regex'' and ''Search Target'' options, disable ''Search Source'' option&lt;br /&gt;
# Paste following expression into ''Find Next:'' field&lt;br /&gt;
#;&amp;lt;nowiki&amp;gt;(\d{1,3})(?: |\u00A0|\u2009|\u202F)(\d)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
# Paste following expression into the ''Replace with:'' field&lt;br /&gt;
#;&amp;lt;nowiki&amp;gt;$1DUMMY$2&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
# Click ''Replace All''&lt;br /&gt;
# Paste following expression into ''Find Next:'' field&lt;br /&gt;
#;&amp;lt;nowiki&amp;gt;(\d),(\d)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
# Paste following expression into ''Replace with:'' field&lt;br /&gt;
#;&amp;lt;nowiki&amp;gt;$1.$2&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
# Click ''Replace All''&lt;br /&gt;
# Paste following expression into ''Find Next:'' field&lt;br /&gt;
#;&amp;lt;nowiki&amp;gt;DUMMY(?=.*\d{3}\.)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
# Paste following comma into ''Replace with:'' field&lt;br /&gt;
#;&amp;lt;span style=&amp;quot;font-size: large&amp;quot;&amp;gt;,&amp;lt;/span&amp;gt;&lt;br /&gt;
# Click ''Replace All''&amp;lt;br /&amp;gt;&amp;lt;mark style=&amp;quot;background-color: LemonChiffon;&amp;quot;&amp;gt;NOTE&amp;lt;/mark&amp;gt;: Stop here unless source numbers had thousand''th'' place spaces; otherwise, also do 16–18.&lt;br /&gt;
# Paste following expression into ''Find Next:'' field&lt;br /&gt;
#;DUMMY&lt;br /&gt;
# Clear ''Replace with:'' field and leave empty&lt;br /&gt;
# Click ''Replace All''&lt;br /&gt;
| &lt;br /&gt;
# Copy option '''(B)''' regex from table above&amp;lt;br /&amp;gt;&amp;lt;mark style=&amp;quot;background-color: LemonChiffon;&amp;quot;&amp;gt;NOTE&amp;lt;/mark&amp;gt;: Remaning steps are in WFP&lt;br /&gt;
# With a fresh file (target segments all empty) open in ''Editor View'', enable ''Regex'' option in segment filter bar&lt;br /&gt;
# Paste option '''(B)''' regex into filter field next to ''Regex'' option, press Enter&lt;br /&gt;
# After filter is applied, go to ''Translation'' tab and click ''Copy All Sources''&lt;br /&gt;
# Press Ctrl+H to show ''Find/Replace'' dialog&lt;br /&gt;
# Enable ''Use Regex'' and ''Search Target'' options, disable ''Search Source'' option&lt;br /&gt;
# Paste following expression into ''Find Next:'' field&lt;br /&gt;
#;&amp;lt;nowiki&amp;gt;(\d{1,3})\.(\d)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
# Paste following expression into the ''Replace with:'' field&lt;br /&gt;
#;&amp;lt;nowiki&amp;gt;$1DUMMY$2&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
# Click ''Replace All''&lt;br /&gt;
# Paste following expression into ''Find Next:'' field&lt;br /&gt;
#;&amp;lt;nowiki&amp;gt;(\d),(\d)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
# Paste following expression into ''Replace with:'' field&lt;br /&gt;
#;&amp;lt;nowiki&amp;gt;$1.$2&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
# Click ''Replace All''&lt;br /&gt;
# Paste following expression into ''Find Next:'' field&lt;br /&gt;
#;DUMMY&lt;br /&gt;
# Paste following comma into ''Replace with:'' field&lt;br /&gt;
#;&amp;lt;span style=&amp;quot;font-size: large&amp;quot;&amp;gt;,&amp;lt;/span&amp;gt;&lt;br /&gt;
# Click ''Replace All''&lt;br /&gt;
|&lt;br /&gt;
# Copy option '''(C)''' regex from table above&amp;lt;br /&amp;gt;&amp;lt;mark style=&amp;quot;background-color: LemonChiffon;&amp;quot;&amp;gt;NOTE&amp;lt;/mark&amp;gt;: Remaning steps are in WFP&lt;br /&gt;
# With a fresh file (target segments all empty) open in ''Editor View'', enable ''Regex'' option in segment filter bar&lt;br /&gt;
# Paste option '''(C)''' regex into filter field next to ''Regex'' option, press Enter&lt;br /&gt;
# After filter is applied, go to ''Translation'' tab and click ''Copy All Sources''&lt;br /&gt;
# Press Ctrl+H to show ''Find/Replace'' dialog&lt;br /&gt;
# Enable ''Use Regex'' and ''Search Target'' options, disable ''Search Source'' option&lt;br /&gt;
# Paste following expression into ''Find Next:'' field&lt;br /&gt;
#;&amp;lt;nowiki&amp;gt;(\d{1,3}),(\d)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
# Paste following expression into the ''Replace with:'' field&lt;br /&gt;
#;&amp;lt;nowiki&amp;gt;$1DUMMY$2&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
# Click ''Replace All''&lt;br /&gt;
# Paste following expression into ''Find Next:'' field&lt;br /&gt;
#;&amp;lt;nowiki&amp;gt;(\d)\.(\d)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
# Paste following expression into ''Replace with:'' field&lt;br /&gt;
#;&amp;lt;nowiki&amp;gt;$1,$2&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
# Click ''Replace All''&lt;br /&gt;
# Paste following expression into ''Find Next:'' field&lt;br /&gt;
#;DUMMY&lt;br /&gt;
# Paste following highlighted ''narrow no-break space'' character into ''Replace with:'' field&lt;br /&gt;
#;&amp;lt;mark style=&amp;quot;background-color: brown; color:white; font-size: large&amp;quot;&amp;gt; &amp;lt;/mark&amp;gt;&lt;br /&gt;
# Click ''Replace All''&lt;br /&gt;
|&lt;br /&gt;
# Copy option '''(C)''' regex from table above&amp;lt;br /&amp;gt;&amp;lt;mark style=&amp;quot;background-color: LemonChiffon;&amp;quot;&amp;gt;NOTE&amp;lt;/mark&amp;gt;: Remaning steps are in WFP&lt;br /&gt;
# With a fresh file (target segments all empty) open in ''Editor View'', enable ''Regex'' option in segment filter bar&lt;br /&gt;
# Paste option '''(C)''' regex into filter field next to ''Regex'' option, press Enter&lt;br /&gt;
# After filter is applied, go to ''Translation'' tab and click ''Copy All Sources''&lt;br /&gt;
# Press Ctrl+H to show ''Find/Replace'' dialog&lt;br /&gt;
# Enable ''Use Regex'' and ''Search Target'' options, disable ''Search Source'' option&lt;br /&gt;
# Paste following expression into ''Find Next:'' field&lt;br /&gt;
#;&amp;lt;nowiki&amp;gt;(\d{1,3}),(\d)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
# Paste following expression into the ''Replace with:'' field&lt;br /&gt;
#;&amp;lt;nowiki&amp;gt;$1DUMMY$2&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
# Click ''Replace All''&lt;br /&gt;
# Paste following expression into ''Find Next:'' field&lt;br /&gt;
#;&amp;lt;nowiki&amp;gt;(\d)\.(\d)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
# Paste following expression into ''Replace with:'' field&lt;br /&gt;
#;&amp;lt;nowiki&amp;gt;$1,$2&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
# Click ''Replace All''&lt;br /&gt;
# Paste following expression into ''Find Next:'' field&lt;br /&gt;
#;DUMMY&lt;br /&gt;
# Paste following dot into ''Replace with:'' field&lt;br /&gt;
#;&amp;lt;span style=&amp;quot;font-size: large&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
# Click ''Replace All''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Find/Replace==&lt;br /&gt;
&lt;br /&gt;
===Find thousands separated by a non-breaking space and replace NBSP with a comma===&lt;br /&gt;
&lt;br /&gt;
Find:&lt;br /&gt;
&lt;br /&gt;
 (\d{1,3})∘(\d{3})&lt;br /&gt;
&lt;br /&gt;
Replace with:&lt;br /&gt;
&lt;br /&gt;
 $1,$2&lt;br /&gt;
&lt;br /&gt;
Make sure to search target segments only, test on a few segments before replacing all, and run this operation twice to account for numbers in the millions.&lt;br /&gt;
&lt;br /&gt;
===Invert currency symbols===&lt;br /&gt;
&lt;br /&gt;
Say you have a lot of monetary values like 103,50€ in your document and you want to globally find/replace with €103.50, how would you do this?&lt;br /&gt;
&lt;br /&gt;
Open the ''Find/Replace'' function and be sure to tick the '''Use Regex''' box.&lt;br /&gt;
&lt;br /&gt;
Type the following regex in the ''Find what'' field:&lt;br /&gt;
&lt;br /&gt;
 (^[^,]+?)(,)([^€]+?)(€)&lt;br /&gt;
&lt;br /&gt;
Type the following regex in the ''Replace with'' field:&lt;br /&gt;
&lt;br /&gt;
 \€$1\.$3&lt;br /&gt;
&lt;br /&gt;
'''NOTE''': This only works for values up to 999. Values in the thousands will need another regex operation to replace comma/space/decimal with comma/space/decimal.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
[[Category:Wordfast Pro]]&lt;/div&gt;</summary>
		<author><name>Jamie</name></author>	</entry>

	<entry>
		<id>https://www.wordfast.net/w/index.php?title=Building_a_Rules_File_for_Tagged_Text_Translation_in_Wordfast_Pro&amp;diff=4528</id>
		<title>Building a Rules File for Tagged Text Translation in Wordfast Pro</title>
		<link rel="alternate" type="text/html" href="https://www.wordfast.net/w/index.php?title=Building_a_Rules_File_for_Tagged_Text_Translation_in_Wordfast_Pro&amp;diff=4528"/>
				<updated>2019-02-08T01:22:57Z</updated>
		
		<summary type="html">&lt;p&gt;Jamie: Tagged text translation in Wordfast Pro: Learn the basics from creating a rules file (*.properties) to extracting specified translatable text into a WFP project.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The following instructions are for building a '''rules''' (*''.properties'') file for tagged text translation in [[Wordfast Pro 3|Wordfast Pro 3]] (WFP3) or [[Wordfast Pro 5|Wordfast Pro 5]] (WFP5). A rules file tells either Wordfast Pro (WFP) application where to look for translatable text in a tagged text file so it can extract the text as source segments.&lt;br /&gt;
&lt;br /&gt;
==Create a new rules (*''.properties'') file using a text editor==&lt;br /&gt;
&lt;br /&gt;
# Open a preferred text editor (e.g., Notepad in Windows)&lt;br /&gt;
# Add the following two extraction rules to a new blank text file:&lt;br /&gt;
#: ''paragraphPrefix.1=&lt;br /&gt;
#: ''paragraphSuffix.1=&lt;br /&gt;
# Name and save the text file to a simple location (e.g., the desktop), note that location for future reference, and close the file&lt;br /&gt;
# Go to that file's location now and change its file extension from ''.txt'' to ''.properties''&lt;br /&gt;
#: NOTE: If you don't see the file's ''.txt'' extension, go to [http://www.wikihow.com/Change-a-File-Extension this wikiHow tutorial] and follow ''Method 2'' or ''Method 3'' for Windows, or ''Method 4'' for Mac.&lt;br /&gt;
# Reopen the text file (now a rules, or .properties, file) in the preferred text editor in preparation for the next section below&lt;br /&gt;
#: NOTE: If the rules file is not recognized by the operating system, right-click the file, go to ''Open With'' and choose the preferred text editor.&lt;br /&gt;
&lt;br /&gt;
==Determine tag patterns for translatable text==&lt;br /&gt;
&lt;br /&gt;
# Open the desired source tagged text file in the preferred text editor&lt;br /&gt;
#: NOTE: If the source tagged text file is not recognized by the operating system, right-click the file, go to ''Open With'' and choose the preferred text editor.&lt;br /&gt;
# Within the opened source tagged text file, look for recurring tags (or other markup) at the beginning and ending of any translatable text and note these recurring tags/markup&lt;br /&gt;
#* EXAMPLE 1: Below, note that '''&amp;amp;lt;string&amp;amp;gt;''' opens translatable text and '''&amp;amp;lt;/string&amp;amp;gt;''' closes translatable text.&lt;br /&gt;
#:: '''&amp;amp;lt;string&amp;amp;gt;'''Text to translate'''&amp;amp;lt;/string&amp;amp;gt;'''&lt;br /&gt;
#:: '''&amp;amp;lt;string&amp;amp;gt;'''More text to translate'''&amp;amp;lt;/string&amp;amp;gt;'''&lt;br /&gt;
#:: '''&amp;amp;lt;string&amp;amp;gt;'''Final text to translate'''&amp;amp;lt;/string&amp;amp;gt;'''&lt;br /&gt;
#* EXAMPLE 2: Below, note that '''=·''' (equals symbol followed by a space) opens translatable text (everything before '''=·''' is not relevant) and '''¶''' (end of line) closes translatable text.&lt;br /&gt;
#:: String '''=·'''Text to translate¶&lt;br /&gt;
#:: String '''=·'''More text to translate¶&lt;br /&gt;
#:: String '''=·'''Final text to translate¶&lt;br /&gt;
#: NOTE: Both '''·''' (space formatting mark) and '''¶''' (end of line formatting mark) in all examples are used for visual convenience and will not necessarily be visible in your text editor.&lt;br /&gt;
#* EXAMPLE 3: Below, note that in some cases '''&amp;amp;lt;string&amp;amp;gt;''' opens translatable text and '''&amp;amp;lt;/string&amp;amp;gt;''' closes translatable text, and in other cases '''=·''' (equals symbol followed by a space) opens translatable text (everything before '''=·''' is not relevant) and '''¶''' (end of line) closes translatable text.&lt;br /&gt;
#:: '''&amp;amp;lt;string&amp;amp;gt;'''Text to translate'''&amp;amp;lt;/string&amp;amp;gt;'''&lt;br /&gt;
#:: String '''=·'''Text to translate¶&lt;br /&gt;
#:: '''&amp;amp;lt;string&amp;amp;gt;'''More text to translate'''&amp;amp;lt;/string&amp;amp;gt;'''&lt;br /&gt;
#:: String '''=·'''More text to translate¶&lt;br /&gt;
# Leave the source tagged text file open in the preferred text editor in preparation for the next section below&lt;br /&gt;
&lt;br /&gt;
==Add extraction rules to the new rules file==&lt;br /&gt;
&lt;br /&gt;
# Switch to the open rules file (re-open it if it is not still open) and add each set of opening/closing tags (or other markup) as a prefix-suffix extraction rule pair&lt;br /&gt;
#* Using EXAMPLE 1 from above, '''&amp;amp;lt;string&amp;amp;gt;''' is prefix 1 and '''&amp;amp;lt;/string&amp;amp;gt;''' is suffix 1&lt;br /&gt;
#:: ''paragraphPrefix.1='''&amp;amp;lt;string&amp;amp;gt;'''&lt;br /&gt;
#:: ''paragraphSuffix.1='''&amp;amp;lt;/string&amp;amp;gt;'''&lt;br /&gt;
#* Using EXAMPLE 2 from above, '''=·''' (equals symbol followed by a space) is prefix 1 and '''¶''' (end of line) is suffix 1.&lt;br /&gt;
#: NOTE: '''(?m)$''' must be used to represent '''¶''' (end of line) in extraction rules.&lt;br /&gt;
#:: ''paragraphPrefix.1='''=·'''&lt;br /&gt;
#:: ''paragraphSuffix.1='''(?m)$'''&lt;br /&gt;
#* Using EXAMPLE 3 from above, '''&amp;amp;lt;string&amp;amp;gt;''' is prefix 1 and '''&amp;amp;lt;/string&amp;amp;gt;''' is suffix 1, and '''=·''' (equals symbol followed by a space) is prefix 2 and '''¶''' (end of line) is suffix 2.&lt;br /&gt;
#: NOTE: '''(?m)$''' must be used to represent '''¶''' (end of line) in extraction rules.&lt;br /&gt;
#:: ''paragraphPrefix.1='''&amp;amp;lt;string&amp;amp;gt;'''&lt;br /&gt;
#:: ''paragraphSuffix.1='''&amp;amp;lt;/string&amp;amp;gt;'''&lt;br /&gt;
#:: ''paragraphPrefix.2='''=·'''&lt;br /&gt;
#:: ''paragraphSuffix.2='''(?m)$'''&lt;br /&gt;
#: NOTE: In the case above where multiple prefix/suffix extraction rule pairs are required, each additional pair must use next highest number (e.g., a third pair would be ''paragraphPrefix.'''3'''='' &amp;amp;#9474; ''paragraphSuffix.'''3'''=''), and rule pairs are processed in the order given.&lt;br /&gt;
#* OPTION: Some translatable text may include HTML tags within it. In this case, a prefix-suffix extraction rule pair can optionally include the extraction rule ''paragraphFormat.1=html-included'', which ensures HTML tags are converted to internal WFP tags and are thus not translatable nor included in word counts. If EXAMPLE 1 from directly above contained translatable text with HTML tags, the optional rule would be a third line added to the prefix-suffix pair and written as follows:&lt;br /&gt;
#:: ''paragraphPrefix.1=&amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
#:: ''paragraphSuffix.1=&amp;amp;lt;/string&amp;amp;gt;&lt;br /&gt;
#:: '''''paragraphFormat.1=html-included&lt;br /&gt;
# Save the updated rules file, leave it open in the preferred text editor, and proceed to either the WFP5 or WFP3 section below according to the tool in use&lt;br /&gt;
&lt;br /&gt;
==Add a file format filter to [[Wordfast Pro 5|Wordfast Pro 5]] and import source tagged text file==&lt;br /&gt;
&lt;br /&gt;
: NOTE: Skip this section and go to the next if you are using WFP3.&lt;br /&gt;
# Switch to the opened source tagged text file (re-open it if it is not still open) and determine its encoding&lt;br /&gt;
#* METHOD 1: Check the first line of the file for an XML declaration, which states the encoding (see below in bold). If there is no XML declaration, proceed to METHOD 2.&lt;br /&gt;
#:: ''&amp;amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;'''UTF-8'''&amp;quot;?&amp;amp;gt;&lt;br /&gt;
#* METHOD 2: Check the text editor for the encoding of the open file (refer to the text editor's documentation for help). See below for how to do this in Windows Notepad.&lt;br /&gt;
#:: Go to {{menu|File}} &amp;gt; {{menu|Save As}} and locate the {{menu|Encoding}} drop-down at the bottom of the {{menu|Save As}} dialog box. Once the encoding has been determined, cancel the {{menu|Save As}} dialog.&lt;br /&gt;
# Open [[Wordfast Pro 5|Wordfast Pro 5]]&lt;br /&gt;
# Choose {{menu|Create Project}} and set up the project as usual, but DO NOT add the source tagged text file yet or complete the wizard&lt;br /&gt;
# Still in the wizard, choose {{menu|Create Filter}}&lt;br /&gt;
# From the {{menu|Choose file format}} drop-down, select {{menu|Text based filter (*.xml)}}&lt;br /&gt;
# In the {{menu|Filter Name}} field, type a simple, appropriate name for the new filter&lt;br /&gt;
# From the {{menu|Encoding}} drop-down, select the one that matches what you noted in step 1 of this section&lt;br /&gt;
# From the {{menu|Target Encoding}} drop-down, select the same encoding as the source tagged text file&lt;br /&gt;
# Next to {{menu|Extraction Rules}}, choose the {{menu|Browse...}} button, then locate and open your rules (''.properties'') file&lt;br /&gt;
# In the {{menu|Extension}} field, type the source file extension (without preceding period) and click {{menu|OK}}&lt;br /&gt;
# Choose {{menu|Add File}}, locate the folder containing the source tagged text file, select it, and choose {{menu|Open}} (or simply drag and drop the source tagged text file into the files pane)&lt;br /&gt;
# In the {{menu|Type}} column, choose the drop-down next to the source tagged text file and select your new filter's name&lt;br /&gt;
# Select {{menu|Create Project}} to complete the wizard as usual&lt;br /&gt;
: NOTE: Skip the next section and go to the &amp;quot;Make any rules file adjustments/corrections&amp;quot; section after it if you are using WFP5.&lt;br /&gt;
&lt;br /&gt;
==Add a file format filter to [[Wordfast Pro 3|Wordfast Pro 3]] and import source tagged text file==&lt;br /&gt;
&lt;br /&gt;
: NOTE: Skip this section and go to the next if you are using WFP5.&lt;br /&gt;
# Switch to the opened source tagged text file (re-open it if it is not still open) and determine its encoding&lt;br /&gt;
#* METHOD 1: Check the first line of the file for an XML declaration, which states the encoding (see below in bold). If there is no XML declaration, proceed to METHOD 2.&lt;br /&gt;
#:: ''&amp;amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;'''UTF-8'''&amp;quot;?&amp;amp;gt;&lt;br /&gt;
#* METHOD 2: Check the text editor for the encoding of the open file (refer to the text editor's documentation for help). See below for how to do this in Windows Notepad.&lt;br /&gt;
#:: Go to {{menu|File}} &amp;gt; {{menu|Save As}} and locate the {{menu|Encoding}} drop-down at the bottom of the {{menu|Save As}} dialog box. Once the encoding has been determined, cancel the {{menu|Save As}} dialog.&lt;br /&gt;
# Open [[Wordfast Pro 3|Wordfast Pro 3]]&lt;br /&gt;
# Choose {{menu|Edit}} then {{menu|Preferences}}&lt;br /&gt;
# In the {{menu|Preferences}} list on the left, go to {{menu|Translations}} &amp;gt; {{menu|Filters}} &amp;gt; {{menu|Formats}}&lt;br /&gt;
# To the right of {{menu|Available Formats}}, choose {{menu|New}}&lt;br /&gt;
# In the {{menu|New Format}} dialog, scroll down and choose {{menu|Text Based Filter}}&lt;br /&gt;
# In the {{menu|Filter Name}} field, type a simple, appropriate name for the new filter&lt;br /&gt;
# From {{menu|Source Encoding}} drop-down, select the one that matches what you noted in step 1 of this section&lt;br /&gt;
# Select {{menu|Target Encoding}} option, then select the same encoding as the source tagged text file from the drop-down&lt;br /&gt;
# Next to {{menu|Conversion rules}}, choose the {{menu|...}} button, then locate and open your rules (''.properties'') file&lt;br /&gt;
# In the {{menu|Extension}} field, type *. followed by the source file extension (e.g., *.txt) and click {{menu|OK}}&lt;br /&gt;
# If necessary, create a project from {{menu|File}} &amp;gt; {{menu|Create Project}}&lt;br /&gt;
# With the appropriate project active, choose {{menu|File}} &amp;gt; {{menu|Open File}}, locate the folder containing the source tagged text file, select it, and choose {{menu|Open}} (or simply drag and drop the source tagged text file into WFP3's ''Editor Perspective'')&lt;br /&gt;
# In the {{menu|Choose Format}} dialog that appears, select your new filter's name and then {{menu|OK}}&lt;br /&gt;
&lt;br /&gt;
==Make any rules file adjustments/corrections==&lt;br /&gt;
&lt;br /&gt;
: NOTE: If WFP extracted translatable segments from the source tagged text file as expected, skip this section and proceed to translation. Otherwise, continue below.&lt;br /&gt;
# ISSUE: ''File opens in WFP, but unintended text is included or some translatable text is missing.''&lt;br /&gt;
#* SOLUTION: This usually means that the prefix-suffix extraction rule pair is too general (unintended text is included) or too specific (translatable text is missing). Start by reopening the rules file AND the source tagged text file in the preferred text editor. Switch to the imported source tagged text file already open in WFP, note a segment with unintended text or a location where translatable text is missing, then return to the source tagged text file in the preferred text editor and locate that item. Once located, it should help to determine how to adjust the rules file. After each rules file adjustment, start a new project with the source tagged text file and updated rules file to see if the adjustment fixed the issue.&lt;br /&gt;
#* EXAMPLE: In the three lines below, '''&amp;amp;lt;string&amp;amp;gt;''' generally starts translatable text and '''&amp;amp;lt;/string&amp;amp;gt;''' generally ends translatable text. However, the red text in the second and third lines is problematic.&lt;br /&gt;
## '''&amp;amp;lt;string&amp;amp;gt;'''Text to translate'''&amp;amp;lt;/string&amp;amp;gt;''' &amp;amp;#9474; EXTRACTION = ''Text to translate''&lt;br /&gt;
## '''&amp;amp;lt;string &amp;lt;span style=&amp;quot;color: red&amp;quot;&amp;gt;&amp;quot;length=4&amp;quot;&amp;lt;/span&amp;gt;&amp;amp;gt;'''More text to translate'''&amp;amp;lt;/string&amp;amp;gt;''' &amp;amp;#9474; EXTRACTION = ''(nothing)''&lt;br /&gt;
##* The opening tag variation in red prevents text extraction. A regular expression (regex) needs to be used to capture any variation of the opening tag, such as the highlighted part of the example below.&amp;lt;br/&amp;gt;''paragraphPrefix.1='''&amp;amp;lt;string&amp;lt;span style=&amp;quot;background-color: #e0ebeb; border: 1px solid #eaecf0; border-radius: 2px; padding: 1px 4px&amp;quot;&amp;gt;[^&amp;amp;gt;]*&amp;lt;/span&amp;gt;&amp;amp;gt;'''''&lt;br /&gt;
## '''&amp;amp;lt;string&amp;amp;gt;'''Final text to translate&amp;lt;span style=&amp;quot;color: red&amp;quot;&amp;gt;'''&amp;amp;lt;reserved&amp;amp;gt;'''DO NOT TRANSLATE'''&amp;amp;lt;/reserved&amp;amp;gt;&amp;lt;/span&amp;gt;&amp;amp;lt;/string&amp;amp;gt;''' &amp;amp;#9474; EXTRACTION = ''Final text to translate&amp;amp;lt;reserved&amp;amp;gt;DO NOT TRANSLATE&amp;amp;lt;/reserved&amp;amp;gt;''&lt;br /&gt;
##* The '''&amp;amp;lt;reserved&amp;amp;gt;''' tag pair and the untranslatable text they encase fall between the prefix-suffix '''&amp;amp;lt;string&amp;amp;gt;''' tag pair, so are included in the translatable text. To completely exclude the '''&amp;amp;lt;reserved&amp;amp;gt;''' tag pair and any text between them, add an '''externalTag.N=''' line after the prefix and suffix lines, add the '''&amp;amp;lt;reserved&amp;amp;gt;''' tag pair, and use a regex between them to capture the text (see number one below; regex is highlighted). To include this content for context but make it untranslatable as WFP tags, add an '''internalTag.N=''' line after the prefix and suffix lines, add the '''&amp;amp;lt;reserved&amp;amp;gt;''' tag pair, and use a regex between them to capture the text (see number two below; regex is highlighted).&lt;br /&gt;
##:#''paragraphPrefix.1=&amp;amp;lt;string&amp;amp;gt;''&amp;lt;br/&amp;gt;''paragraphSuffix.1=&amp;amp;lt;/string&amp;amp;gt;''&amp;lt;br/&amp;gt;'''''externalTag.1=&amp;lt;reserved&amp;gt;&amp;lt;span style=&amp;quot;background-color: #e0ebeb; border: 1px solid #eaecf0; border-radius: 2px; padding: 1px 4px&amp;quot;&amp;gt;.*?&amp;lt;/span&amp;gt;&amp;lt;/reserved&amp;gt;'''''&lt;br /&gt;
##:#''paragraphPrefix.1=&amp;amp;lt;string&amp;amp;gt;''&amp;lt;br/&amp;gt;''paragraphSuffix.1=&amp;amp;lt;/string&amp;amp;gt;''&amp;lt;br/&amp;gt;'''''internalTag.1=&amp;lt;reserved&amp;gt;&amp;lt;span style=&amp;quot;background-color: #e0ebeb; border: 1px solid #eaecf0; border-radius: 2px; padding: 1px 4px&amp;quot;&amp;gt;.*?&amp;lt;/span&amp;gt;&amp;lt;/reserved&amp;gt;'''''&lt;br /&gt;
# ISSUE: ''Source tagged text file does not open and an error message is displayed indicating there is no translatable text.&lt;br /&gt;
#* SOLUTION: This usually means there is an issue with the prefix or suffix text due to a typo, misspelling, or prefix/suffix choice.  Start by reopening the rules file AND the source tagged text file in the preferred text editor. Go to the rules file and check for typos or misspellings in the prefix and suffix text. Correct any issues that are found and save the rules file. If none are found, go to the source tagged text file in the preferred text editor and double-check that translatable text is indeed located between the prefix and suffix text that you specified in the rules file. Again, correct any issues that are found and save the rules file. After each rules file adjustment, start a new project with the source tagged text file and updated rules file to see if the adjustment fixed the issue. WFP3 NOTE: If the source tagged text file has an associated TXML file next to it, delete it before importing the source tagged text file again. Otherwise, WFP3 will simply reopen the previously created and problematic TXML instead of generating a new one from the updated rules file. &lt;br /&gt;
#* EXAMPLE: The two items below illustrate the issues described above if the sample source tagged text is &amp;lt;mark&amp;gt;'''&amp;amp;lt;oops&amp;amp;gt;&amp;amp;lt;/oops&amp;amp;gt;&amp;amp;lt;string&amp;amp;gt;'''Text to translate'''&amp;amp;lt;/string&amp;amp;gt;'''&amp;lt;/mark&amp;gt;.&lt;br /&gt;
## ''paragraphPrefix.1='''&amp;amp;lt;stri&amp;lt;span style=&amp;quot;color: red&amp;quot;&amp;gt;n&amp;amp;gt;&amp;lt;/span&amp;gt;'''''&amp;lt;br/&amp;gt;''paragraphSuffix.1='''&amp;amp;lt;/string&amp;amp;gt;'''''&lt;br /&gt;
##* The typo (i.e., the missing &amp;quot;g&amp;quot;) in the prefix prevents any translatable text from being extracted.&lt;br /&gt;
## ''paragraphPrefix.1='''&amp;amp;lt;&amp;lt;span style=&amp;quot;color: red&amp;quot;&amp;gt;oops&amp;lt;/span&amp;gt;&amp;amp;gt;'''''&amp;lt;br/&amp;gt;''paragraphSuffix.1='''&amp;amp;lt;/&amp;lt;span style=&amp;quot;color: red&amp;quot;&amp;gt;oops&amp;lt;/span&amp;gt;&amp;amp;gt;'''''&lt;br /&gt;
##* Mistakenly choosing the '''&amp;amp;lt;oops&amp;amp;gt;''' tag, which does not encase any translatable text in this example, prevents anything from being extracted. Switching it to the correct '''&amp;amp;lt;string&amp;amp;gt;''' tag fixes the issue.&lt;br /&gt;
# ISSUE: ''Source tagged text file does not open, or project creation action appears to do nothing. An error message may or may not be displayed.&lt;br /&gt;
#* SOLUTION: This usually means there is an issue with a regular expression (regex) in the rules file. Regexes can be used, for example, to specify variations in prefixes, suffixes, external tags, and/or internal tags, or to capture chunks of general text (see ISSUE 1's second and third EXAMPLE items above for instances of how this is implemented). Go to the rules file and check any regexes for typos, incorrect syntax, or incomplete sets/groups (e.g., items that require parentheses or square brackets). Correct any issues that are found and save the rules file. After each rules file adjustment, start a new project with the source tagged text file and updated rules file to see if the adjustment fixed the issue. WFP3 NOTE: If the source tagged text file has an associated TXML file next to it, delete it before importing the source tagged text file again. Otherwise, WFP3 will simply reopen the previously created and problematic TXML instead of generating a new one from the updated rules file.&lt;br /&gt;
#* EXAMPLE: The two items below illustrate the issues described above if the sample source tagged text is &amp;lt;mark&amp;gt;'''&amp;amp;lt;string &amp;quot;length=3&amp;quot;&amp;amp;gt;'''\&amp;quot;Text to\n translate\&amp;quot;'''&amp;amp;lt;/string&amp;amp;gt;'''&amp;lt;/mark&amp;gt;.&lt;br /&gt;
## ''paragraphPrefix.1='''&amp;amp;lt;string&amp;lt;span style=&amp;quot;background-color: #e0ebeb; border: 1px solid #eaecf0; border-radius: 2px; padding: 1px 4px&amp;quot;&amp;gt;[^&amp;lt;span style=&amp;quot;color: red&amp;quot;&amp;gt;&amp;amp;gt;*&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;amp;gt;'''''&lt;br /&gt;
##* The stated prefix above includes a regex (to capture any variation of the opening tag) whose exclude character set &amp;lt;span style=&amp;quot;background-color: #e0ebeb; border: 1px solid #eaecf0; border-radius: 2px; padding: 1px 4px&amp;quot;&amp;gt;'''[^]'''&amp;lt;/span&amp;gt; is missing its closing square bracket between the two red characters. The fix needed in order for WFP to understand the regex is then '''&amp;amp;lt;string;&amp;lt;span style=&amp;quot;background-color: #e0ebeb; border: 1px solid #eaecf0; border-radius: 2px; padding: 1px 4px&amp;quot;&amp;gt;[^&amp;amp;gt;&amp;lt;span style=&amp;quot;color: red&amp;quot;&amp;gt;]&amp;lt;/span&amp;gt;*&amp;lt;/span&amp;gt;&amp;amp;gt;'''''.&lt;br /&gt;
## ''internalTag.1='''&amp;lt;span style=&amp;quot;color: red&amp;quot;&amp;gt;\&amp;lt;/span&amp;gt;[^&amp;lt;span style=&amp;quot;color: red&amp;quot;&amp;gt;\&amp;lt;/span&amp;gt;s]'''''&lt;br /&gt;
##* The regex above is intended to locate within translatable text a literal backslash character followed by ''any'' single character that is NOT a white space (&amp;lt;span style=&amp;quot;background-color: #e0ebeb; border: 1px solid #eaecf0; border-radius: 2px; padding: 1px 4px&amp;quot;&amp;gt;'''[^]'''&amp;lt;/span&amp;gt; = any character NOT specified within the square brackets; &amp;lt;span style=&amp;quot;background-color: #e0ebeb; border: 1px solid #eaecf0; border-radius: 2px; padding: 1px 4px&amp;quot;&amp;gt;'''\s'''&amp;lt;/span&amp;gt; = any white space character, such as a space or tab). Anything the expression locates is then marked up as an untranslatable WFP tag, so '''\&amp;quot;''' from the sample source tagged text above would be marked up. However, regexes processed by Java, the programming language of WFP, must escape ''any'' backslashes by preceding them with a backslash. Thus, &amp;lt;span style=&amp;quot;background-color: #e0ebeb; border: 1px solid #eaecf0; border-radius: 2px; padding: 1px 4px&amp;quot;&amp;gt;'''[^&amp;lt;span style=&amp;quot;color: red&amp;quot;&amp;gt;\&amp;lt;/span&amp;gt;s]'''&amp;lt;/span&amp;gt; from ''internalTag.1='' above becomes &amp;lt;span style=&amp;quot;background-color: #e0ebeb; border: 1px solid #eaecf0; border-radius: 2px; padding: 1px 4px&amp;quot;&amp;gt;'''[^&amp;lt;span style=&amp;quot;color: red&amp;quot;&amp;gt;\\&amp;lt;/span&amp;gt;s]'''&amp;lt;/span&amp;gt; in a rules file. The second problem is that the engine that interprets regular expressions has its own requirement of escaping a literal backslash character by preceding it with a backslash, so the first &amp;lt;span style=&amp;quot;background-color: #e0ebeb; border: 1px solid #eaecf0; border-radius: 2px; padding: 1px 4px&amp;quot;&amp;gt;'''&amp;lt;span style=&amp;quot;color: red&amp;quot;&amp;gt;\&amp;lt;/span&amp;gt;'''&amp;lt;/span&amp;gt; from ''internalTag.1='' above becomes &amp;lt;span style=&amp;quot;background-color: #e0ebeb; border: 1px solid #eaecf0; border-radius: 2px; padding: 1px 4px&amp;quot;&amp;gt;'''&amp;lt;span style=&amp;quot;color: red&amp;quot;&amp;gt;\\&amp;lt;/span&amp;gt;'''&amp;lt;/span&amp;gt;. For Java to understand, both of those backslashes must be escaped with a backslash, thus yielding &amp;lt;span style=&amp;quot;background-color: #e0ebeb; border: 1px solid #eaecf0; border-radius: 2px; padding: 1px 4px&amp;quot;&amp;gt;'''&amp;lt;span style=&amp;quot;color: red&amp;quot;&amp;gt;\\\\&amp;lt;/span&amp;gt;'''&amp;lt;/span&amp;gt; in a rules file. The final fix for WFP to understand the entire regex is then &amp;lt;span style=&amp;quot;background-color: #e0ebeb; border: 1px solid #eaecf0; border-radius: 2px; padding: 1px 4px&amp;quot;&amp;gt;'''&amp;lt;span style=&amp;quot;color: red&amp;quot;&amp;gt;\\\\&amp;lt;/span&amp;gt;[^&amp;lt;span style=&amp;quot;color: red&amp;quot;&amp;gt;\\&amp;lt;/span&amp;gt;s]'''&amp;lt;/span&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Wordfast Pro 5]] [[Category:Wordfast Pro 3]]&lt;/div&gt;</summary>
		<author><name>Jamie</name></author>	</entry>

	<entry>
		<id>https://www.wordfast.net/w/index.php?title=Translating_WordPress_XLIFF_files_in_Wordfast_Pro&amp;diff=3344</id>
		<title>Translating WordPress XLIFF files in Wordfast Pro</title>
		<link rel="alternate" type="text/html" href="https://www.wordfast.net/w/index.php?title=Translating_WordPress_XLIFF_files_in_Wordfast_Pro&amp;diff=3344"/>
				<updated>2017-04-05T19:16:23Z</updated>
		
		<summary type="html">&lt;p&gt;Jamie: New article&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The following instructions are for those who want to translate '''Wordpress (WP) XLIFF''' files in [[Wordfast Pro 4|Wordfast Pro 4]]. This process is required because WP XLIFF files differ from standard XLIFF files.&lt;br /&gt;
&lt;br /&gt;
There are two steps to translate WP XLIFF files in [[Wordfast Pro 4|Wordfast Pro 4]]:&lt;br /&gt;
# Create a conversion rules (*''.properties'') file in a text editor&lt;br /&gt;
# Add a file format filter to [[Wordfast Pro 4|Wordfast Pro 4]]&lt;br /&gt;
&lt;br /&gt;
==Create a conversion rules (*''.properties'') file in a text editor==&lt;br /&gt;
&lt;br /&gt;
# Open your preferred text editor (e.g., Notepad in Windows)&lt;br /&gt;
# Add the following italicized text to a new blank text file:&lt;br /&gt;
#: ''paragraphPrefix.1=&amp;lt;target&amp;gt;&amp;lt;!\\[CDATA\\[&lt;br /&gt;
#: ''paragraphSuffix.1=\\]\\]&amp;gt;&amp;lt;/target&amp;gt;&lt;br /&gt;
#: ''paragraphFormat.1=html-included&lt;br /&gt;
#: ''converter.regexp.collapsetags=true&lt;br /&gt;
# Name and save the text file to a safe location and note the location&lt;br /&gt;
# Go to the file and change the extension from ''.txt'' to ''.properties''&lt;br /&gt;
#: NOTE: If you don't see the ''.txt'' extension, go to [http://www.wikihow.com/Change-a-File-Extension this wikiHow tutorial] for more information, but ignore its Method 1.&lt;br /&gt;
&lt;br /&gt;
==Add a file format filter to [[Wordfast Pro 4|Wordfast Pro 4]]==&lt;br /&gt;
&lt;br /&gt;
# Open your WP XLIFF source file with your preferred text editor, note the encoding in the XML header, then close the file and return to [[Wordfast Pro 4|Wordfast Pro 4]]&lt;br /&gt;
# Under {{menu|Create Project}}, select {{menu|Use the advanced project wizard}}&lt;br /&gt;
# In wizard step 3 of 6 {{menu|Add Source Files}}, select {{menu|Create Filter Type}}&lt;br /&gt;
# From the {{menu|Choose file format}} drop-down, select {{menu|Text based filter (*.xml)}}&lt;br /&gt;
# Type an appropriate name for the new filter in the {{menu|Filter Name}} field&lt;br /&gt;
# From the {{menu|Encoding}} drop-down, select the one that matches what you noted in step 1 of this section&lt;br /&gt;
# Click the {{menu|Browse}} button next to {{menu|Extraction Rules}}, then locate and open your ''.properties'' file&lt;br /&gt;
# Type ''xliff'' in the {{menu|Extension}} field and click {{menu|OK}}&lt;br /&gt;
# Choose {{menu|Add File}}, locate the folder containing the WP XLIFF file(s), select the file(s), and click {{menu|Open}}&lt;br /&gt;
# Next to the folder name under {{menu|Type}}, click the drop-down and select your new WP XLIFF filter's name (this will select it for all files in the list)&lt;br /&gt;
# Complete the project wizard as usual to finish&lt;br /&gt;
&lt;br /&gt;
[[Category:Wordfast Pro 4]]&lt;/div&gt;</summary>
		<author><name>Jamie</name></author>	</entry>

	</feed>