For now though I'm stumped because the only example given uses Buzz and from my experiments, the Google Translate (v2) api must behave quite differently to Buzz in the google-api-ruby-client.
I'd love to hear of Ruby command line and desktop applications using this: google-api-ruby-client for services other than Buzz and in particular the Translate api (I'm less interested in the existing Ruby gems using the translate service at this point).
This is to get server access to the google api and bypass all the oauth stuff. THE MOST IMPORTANT BIT was the :authorization param when constructing he client.... this ensures the api key is used when calling, in preference to oauth. Without it you will get 401 Unauthorized response status everytime.
More progress. I put a bug report for Google-API-Ruby-client for part of this problem. The short version is that for Translate (at least) the Google-API-Ruby-client fails under SSL::VERIFY_PEER and succeeds when SSL::VERIFY_NONE is used.
The root cause of the issue AttributeError: module 'google.cloud.translate_v2' has no attribute 'Client' was found within the environment itself. Creating a new, fresh, virtual environment and re-installing the dependencies solved the issue.
Save the script as 'Translate to English' or whatever
Now, right clicking on any highlighted text and selecting 'Translate to English' will open up a new Google Translate page with the highlighted text translated into English.
The quality of a product is completely dependent on the process of how it's built. Product development starts when a client specifies their requirements, and developing software requires the entire team to precisely define what that application is supposed to do.
Dealing with unknown or unclear requirements is one of the greatest challenges when it comes to managing a product. If the client is dissatisfied with the poor quality of the product or unmet expectations, this could force you to increase the cost of production to correct the product's deficiencies. This often a result of not properly understanding a client's requirements from the start.
It can be difficult to translate a client's "voice" into user requirements for a product they are seeking help with. It often starts with an interview with the client in which you discuss problems and seek solutions for them. Scheduling an informal, candid conversation is a good way to get some initial thoughts and ideas about their needs.
When clients provide their requirements, it's common for those requirements to lack a focus on technical specifications. In this case, the risk is that the client's expectations are not in sync with their own requirements.
Without complete knowledge of the process of product development and the architecture that goes into building it, clients often assume that complicated features will be trivial or forget to include key features entirely. You need to be sure that you are precise when having technical discussions with non-technical clients.
Lack of communication is really the biggest mistake that any business in any sector can make these days. Sometimes, poor development outcomes can be attributed to a failure of communication between a product manager and a client.
A product's requirements are based on understanding the difference between what is really required and what is a simple "nice to have." A client's ability to understand the difference between the two is not always reliable. It is important to explain these two types of requirements for the success of both the client and the product development team working on it.
A client's vision for a product may be beyond the scope of their budget or even the capabilities of existing technology. As a product manager, it is essential to flag pie-in-the-sky ideas early on and make sure that all the requirements of the product are deciphered into clear, achievable goals.
Sometimes, in an effort to win a client's business, development teams may rush the scoping process without conducting due diligence on the exact project the client is trying to build. This is rarely a worthwhile sacrifice, as disagreements over project scope will come back to spoil the relationship later on in the development cycle.
A product manager or a team of developers presented with this story may think that the user story consists of simply saving a list. However, this would be a misinterpretation because the user story is made up of many pieces. A developer is likely to miss the point that the client wants to email the story and not just save a list of items in the application.
The above format of multiple user stories is clear for any product manager or a developer to understand. They can now easily see that the client's requirement does not stop just at saving the list of items, but also that the app's user can reuse the saved list of items. With these user stories, they can work on extending the functionality to provide a complete set of features within the app.
We've established how important it is to have a clear set of product requirements. At the same time, it's important to understand that clients come from a wide range of background, so you may need to help them flesh out their product requirements properly.
Helping a client to specify exactly what they are looking for from their product should be the initial step of any product development process. There are some practices that you can follow to capture their product requirements.
Checklists are versatile in nature. Utilizing a checklist before a product's development process begins could eliminate complicated pipeline steps later on. It also enables the interaction of different teams and departments to sustain proper coordination and communication as well as with the client. Here are some of the most important things to keep in mind before the process itself gets initiated in order to capture the client's requirements.
Get in touch with us today to learn about the technologies we use, the process of building an app, our expertise in your industry, and what other clients have to say about development services with Crowdbotics.
To translate the day of the week to one of the languages we use, I builded my own logic with the multilingual component from the forge. I concatenated my translated value with a FormatDateTime and then returned the concatenated text to my screen. This was possible with the getTranslation() action.
Hmm, that's weird. And you're working on a widget client script?
Can you try using c.getMessage and see if that works? I usually do translation on server side, so if client side doesn't work you could just use data.prompt = gs.getMessage("messagekey"); since that should be available on the client side then as "c.data.prompt".
How can you get a client excited about a piece that doesn't fit their initial stylistic expectations? One way to avoid having to cajole and convince your clients about every individual piece is to present your ideas as a whole. Show how all of the individual components work together.
Design Manager, the project management and accounting software made specifically for interior designers, is a great tool for producing professional client documents. The program pulls the data used for documents directly from the profiles that the interior design users create to manage the project, which drastically reduces the opportunity for errors on manually created proposals, budgets, or invoices. Additionally, the Design Manager documents use images for all line items, so clients can see a picture of what they are formally agreeing to purchase, reinforcing a sense of confidence on their part and providing the opportunity to make last minute changes before the process moves any further.
Becoming a successful interior designer is all about balance. A designer who knows her brand can find a way to achieve her signature aesthetic while working with clients who have different styles and tastes, as long as she can find where the expectations are aligned and build on those commonalities, while communicating clearly, instilling confidence, and building enthusiasm along the way.
Read the Client Library Documentation for Cloud Translation APIto see other available methods on the client.
In a distributed deployment of locations connected via a site-to-site VPN, a network administrator may need to have address translation performed on traffic traversing the site-to-site VPN. A 1:1 subnet translation can be used in cases where multiple locations have the same subnet present, but both need to participate in the site-to-site VPN. Alternatively, administrators may need to conserve IP space for large deployments. For this, 1:M NAT can be used to translate entire subnets into a single IP address that is exported across the site-to-site VPN.
VPN subnet translation allows for a subnet that is allowed in the site-to-site VPN to be translated to a different, equally sized subnet. This option is ideal for deployments where the same subnet is used in multiple locations and each of those subnets need to have access to the site-to-site VPN.
When VPN subnet translation is configured, the MX will check the source IP address against a address translation table. When 192.168.128.44 attempts to send traffic to the web server across the VPN, the source IP address is evaluated to be contained within the local subnet of 192.168.128.0/24, which requires a translation to be performed. The MX will then map the client's IP to the equivalent IP in the translated subnet. When the example client's traffic egresses the site-to-site VPN, it will have an IP address of 10.15.30.44.
dd2b598166