Category Archives for "Internationalization"

Troubleshooting Weird-Looking Text


I just upgraded to DAP 4.x. The login page when clicked after successful login shows the message


Did you previously customize the dap/inc/language/english.php and save it as dap/inc/language/custom.php? (you have done this for internationalization, or for customizing DAP’s messages).

A) If you answered “NO”, then simply delete the file dap/inc/language/custom.php from your server.

B) If you answered “YES”, then then there are new messages in dap/inc/language/english.php that you need to copy over to dap/inc/language/custom.php


Strange Characters In Emails

If you or your members are noticing strange characters in emails – especially where there should normally be a single or double quote, then these are due to what are known as “Smart Quotes”.

These special characters always show up when you copy text from a WordPress blog (some themes use these characters) or a Microsoft Word document.

Single quote:



Double quote:

" (correct)

`` (incorrect)

The single quote that works correctly is located next to the “Enter” key.

The incorrect one is located next to the “1” number key.

So copy your email text to a text editor, like notepad. Then change all single quotes to be and all double-quotes to be in your emails. Then put them back into DAP, and then test.

The “strange characters” issue should then be resolved.

NOTE: In a future version, we will implement an enhancement in DAP so that DAP can handle this automatically, but for now, the above solution is your only option.


Internationalization & Custom Messages

Last Updated: March 9, 2015

The article below applies to both of the following groups…

A) Customizing DAP’s Default Messages

Those who wish to replace DAP’s default error and success messages (like … “Sorry, No User found with the email address…” when someone is trying to use the “Forgot Password” feature, or the message “Sorry, either you have entered an invalid username/password, or you may not have activated your account yet.” which is shown when someone uses the wrong email/password when logging in to your membership site – with English text of their own choice, and

B) Internationalization

Those who wish to replace those messages with text in a completely different non-English, international language (like Spanish, Danish, French, etc).

Non-English Content

All of your content is really going to be within WordPress, which is already international-friendly, and all of your regular site content – including your sales pages, squeeze pages, member content, etc – can all be presented in any language that WordPress already supports.

DAP is also international-friendly.

DAP really has only 4 member-facing pages: Login Form, “My Content“, “My Profile” and “My Affiliate Info (everything else is within WordPress).

And all of these member pages in DAP can be customized in any non-English language of your choice. We tested with many languages like Spanish, Dutch, French, and even Chinese! Others will/should work too as long the character set is UTF-8 based.

So we’re excited to be able to help you create membership sites in multiple languages.

Non-English Emails

And what’s really cool, is that with DAP, you can also send Autoresponder & Broadcast emails in your language.

This is a very powerful feature for those who are often restricted by 3rd-party email services in sending out non-english emails.

In fact, the last time we checked, even the big-boys like Aweber don’t let you do that!

Customizing Language Files

1) Language File Setup for PHP

Open the file…


and save the file as…


in the same folder.

Then you can change the english text within custom.php (last section that is not in caps – like “Sorry, no data found” in the example below) in your language, and upload it back to the same folder ( /dap/inc/content/language ) back on your site. For example…

define(“MSG_SORRY_NO_DATA_FOUND”,”Sorry, no data found.“);


define(“MSG_SORRY_NO_DATA_FOUND”,”Désolé, aucune donnée trouvée.“);

(That’s the French translation, according to Google – blame them if it’s not right 🙂

2) Language File Setup for JavaScript

DAP also allows you to customize the JavaScript alerts and messages that pop-up for client-side validations of form fields.

Open the file…


and save the file as…


…on your desktop. Then change the text inside this jscustom.js file and upload it back to /dap/inc/language/ folder on your web site.

That’s it!


Contents of english.php

//———- Added in v4.4 ———//
define(“AFFILIATE_INFO_PERFSUMM_SUBHEADING”,”Affiliate Performance Summary”); //used only in dap/index.php
define(“AFFILIATE_INFO_HEADING”,”Affiliate Details”); //used only in dap/index.php
define(“MSG_NO_COMM”,”Sorry, no commissions earned yet.”);
define(“USER_PROFILE_SUCCESS_MESSAGE_USER”,”SUCCESS! Your profile has been updated.”);
define(“MSG_ERROR_EMAILEXISTSVB”, “Sorry, this email id is already in use in our vBulletin Forum. Please try using a different email id.”);
define(“MSG_SUCCESS_USERUPDATE_NOVB”, “SUCCESS! Your profile has been updated, but could not register this username in our vBulletin Forum. Please contact the site admin for help.”);
define(“MSG_INVALID_PASS”,”Sorry, the password you have chosen contains special characters. Only Alphabets and Numbers allowed. Please go ‘back’ and choose a different password.”);
define(“USER_PROFILE_NEW_PASSWORD_LABEL_DAPUSERPROFILE”,”Password<br/>(only if changing)”);
//———- Added in v4.3 ———//
define(“USER_LINKS_COMINGSOON_TEXT”,”Coming Soon…”);
define(“USER_LINKS_COMINGSOON_PREFIX_TEXT”,”[In XXX day(s)]”); //do not change/remove the text “XXX”
define(“MSG_UNSUBSCRIBE”,”[In XXX days]”); //do not change/remove the text “XXX”
define(“MSG_MANDATORY”,”Sorry, all fields are mandatory. Please go ‘back’ and fill up the missing information.”);
define(“MSG_INVALID_EMAIL”,”Sorry, the email address you entered is invalid. Please go ‘back’ and enter a valid email address.”);
define(“MSG_INVALID_COUPON”,”Sorry, the coupon code you entered is invalid. Please go ‘back’ and enter a valid coupon code.”);
define(“MSG_INVALID_PRODUCT”,”Sorry, the product you are trying to sign up for is either invalid, or not authorized for free signup. Please email the web site owner and let them know about this error.”);
define(“MSG_MISSING_COUPON”,”Sorry, coupon code is a required field. Please go ‘back’ and enter a valid coupon code.”);
define(“MSG_PAYMENT_FAILED”,”Payment failed. Please contact the site admin. “);
define(“MSG_THANKYOU_SIGNUP”,”SUCCESS! Thank you for signing up. Please check your email for further details.”);
define(“SUCCESS_CREATION”,”SUCCESS! Your account has been successfully created! Please check your inbox for login information…”);
define(“NO_AUTH”,”Sorry, you are either not logged in, or not authorized to perform this operation.”);
define(“MSG_ALREADY_SIGNEDUP”,”It appears that you have already signed up for this. No further action is required at this time.”);

//———- Added 03/22/2011 ———//
define(“MSG_ALREADY_LOGGEDIN_1″,”You are already logged in.”);
define(“MSG_ALREADY_LOGGEDIN_2″,”Click here to continue…”);
define(“MSG_PLS_LOGIN”,”Sorry, you must log in before you can view this content.”);
define(“MSG_CLICK_HERE_TO_LOGIN”,”Click here to log in”);
define(“MSG_SORRY_EMAIL_NOT_FOUND”,”Sorry, No User found with the email address “);
define(“MSG_PASSWORD_SENT”,”Please check your email. Your Password has been sent to “);

//———- GENERAL TEXT ———//
define (“ACTIVATION_EMAIL_SUBJECT”, “%%FIRST_NAME%%, Welcome to %%SITE_NAME%% (Activation)”);
define (“AFF_PAYMENT_EMAIL_SUBJECT”, “%%FIRST_NAME%%, You’ve Got An Affiliate Payment”);
define (“FORGOT_PASSWORD_EMAIL_SUBJECT”, “Lost Password”);
define (“LOCKED_EMAIL_SUBJECT”, “Your account has been locked”);
define (“UNLOCKED_EMAIL_SUBJECT”, “Your account has been Unlocked”);
define (“INVALID_PASSWORD_MSG”,”Sorry, either you have entered an invalid username/password, or you may not have activated your account yet.”);
define(“SUCCESS_ACTIVATION”,”SUCCESS! Your account has been successfully activated! We have now sent you an email with your login details that you can use to log in below…”);

define(“MSG_SORRY_NO_DATA_FOUND”,”Sorry, no data found.”);
define(“COLNAME_AFFID_TEXT”,”Aff Id”);
define(“COLNAME_FIRSTNAME_TEXT”,”First Name”);
define(“COLNAME_LASTNAME_TEXT”,”Last Name”);
define(“COLNAME_AMTEARNED_TEXT”,”Amount Earned”);
define(“COLNAME_AMTPAID_TEXT”,”Amount Paid”);

//———- USER PROFILE TEXT ———//
define(“USER_PROFILE_HEADING_TEXT”,”Profile Information”);
define(“USER_PROFILE_PAYPAL_EMAIL_EXTRA_LABEL”,”For Affiliates Only”);
define(“USER_PROFILE_ADDRESS1_LABEL”,”Address 1″);
define(“USER_PROFILE_ADDRESS2_LABEL”,”Address 2″);
define(“USER_PROFILE_UNSUBSCRIBE_LABEL”,”You are currently receiving product and <br/>account related emails. Uncheck to stop<br/>receiving all emails (not recommended)”);
define(“USER_PROFILE_SUCCESS_MESSAGE”,”SUCCESS! User has been successfully updated.”);

define(“AFFILIATE_INFO_YOURAFFLINKHOME_LABEL”,”Your Affiliate Link – redirects to home page:”);
define(“AFFILIATE_INFO_AFFLINKSPECIFIC_LABEL”,”Affiliate Link To Specific Page:”);
define(“AFFILIATE_INFO_AFFLINKSPECIFIC_EXTRA_TEXT”,”To link to a specific page, just add the text &quot;&amp;p=&lt;insert_url_here&gt;&quot; to the end of your affiliate link, like this: (no &quot;http://&quot; in the 2nd link at the end – should start with &quot;www&quot;)”);

define(“USER_LINKS_YOUCURRENTLYHAVEACCESSTO_TEXT”,”You currently have access to “);
define(“USER_LINKS_PRODUCTS_TEXT”,” product(s).”);
define(“USER_LINKS_ACCESS_START_DATE_TEXT”,”Access Start Date”);
define(“USER_LINKS_ACCESS_END_DATE_TEXT”,”Access End Date”);
define(“USER_LINKS_NOLINKSFOUND_TEXT”,”No links found.”);


Contents Of jsenglish.php

//New entry MSG_EMAIL_INVALID added on 07/14/2011
var MSG_EMAIL_INVALID = “Sorry, email id must of a valid format, may not be blank or contain any special characters”;

var MSG_MISSING_INFO = “Please enter missing information…”;

var MSG_ENTER_EMAIL = “Please enter your email address before we can email you the password”;

var MSG_ENTER_PASSWORD = “Sorry, the password field may not be empty”;

var MSG_PASSWORDS_MISMATCH = “The two Passwords don’t match. Please try again…”;

var MSG_PASSWORD_INVALID = “Sorry, password contains invalid characters. Please choose from numbers and alphabets only.”;

var MSG_UPDATING_PROFILE = “Please wait… Updating User Profile …”;

var MSG_OPTOUT_WARNING = “WARNING: If you uncheck this box, you may not receive emails relevant to the product you have purchased. Are you sure you still want to Unsubscribe?”;

var MSG_NO_SPECIAL = “Sorry, no special characters allowed”;

Other links….

To customize the DAP Stand-alone Login form, click here.

To customize the DAP Login/Logout widget, click here.

To customize the DAP default Error Message with the ‘Lock’ image, click here.